MCPcopy Create free account
hub / github.com/api-platform/website / Button

Function Button

pwa/components/common/Button.tsx:18–95  ·  view source on GitHub ↗
({
  children,
  className,
  empty,
  disabled,
  href,
  color = "default",
  size = "large",
  external = false,
  darkMode = true,
  ariaLabel = "",
  ...props
}: ButtonProps)

Source from the content-addressed store, hash-verified

16}
17
18export default function Button({
19 children,
20 className,
21 empty,
22 disabled,
23 href,
24 color = "default",
25 size = "large",
26 external = false,
27 darkMode = true,
28 ariaLabel = "",
29 ...props
30}: ButtonProps) {
31 let sizeClassName;
32 let colorClassName;
33
34 switch (size) {
35 case "small":
36 sizeClassName = "text-sm px-3 py-0.5";
37 break;
38 case "medium":
39 sizeClassName = "text-base px-3 py-1";
40 break;
41 case "extralarge":
42 sizeClassName = "py-2 px-6 text-lg";
43 break;
44 default:
45 sizeClassName = "py-1 px-5 text-lg";
46 }
47
48 switch (color) {
49 case "default":
50 if (empty) colorClassName = "text-blue bg-transparent border-blue";
51 else colorClassName = "bg-blue border-blue text-white";
52 break;
53 case "pink":
54 if (empty) colorClassName = "text-pink bg-transparent border-pink";
55 else colorClassName = "bg-pink border-pink text-white";
56 break;
57 case "white":
58 if (empty)
59 colorClassName = classNames(
60 "text-white bg-transparent border-white",
61 darkMode && "dark:text-blue-black dark:border-blue-black"
62 );
63 else
64 colorClassName = classNames(
65 "bg-white border-white text-blue",
66 darkMode && "dark:bg-blue-black dark:border-blue-black"
67 );
68 break;
69 }
70
71 const allClassNames = classNames(
72 "font-title rounded-3xl border-2 inline-flex items-center justify-center font-semibold uppercase transition-all hover:brightness-125 hover:scale-105",
73 colorClassName,
74 sizeClassName,
75 disabled ? "opacity-0.5" : "cursor-pointer",

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected