@popgrids/ui 0.0.29 → 0.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/dist/banner-notification.cjs.map +1 -1
  2. package/dist/banner-notification.js.map +1 -1
  3. package/dist/button-link.cjs +10 -4
  4. package/dist/button-link.cjs.map +1 -1
  5. package/dist/button-link.d.cts +8 -4
  6. package/dist/button-link.d.ts +8 -4
  7. package/dist/button-link.js +10 -4
  8. package/dist/button-link.js.map +1 -1
  9. package/dist/button.cjs +45 -25
  10. package/dist/button.cjs.map +1 -1
  11. package/dist/button.d.cts +2 -2
  12. package/dist/button.d.ts +2 -2
  13. package/dist/button.js +45 -25
  14. package/dist/button.js.map +1 -1
  15. package/dist/checkbox.cjs +1 -1
  16. package/dist/checkbox.cjs.map +1 -1
  17. package/dist/checkbox.js +1 -1
  18. package/dist/checkbox.js.map +1 -1
  19. package/dist/content-block.cjs +4 -4
  20. package/dist/content-block.cjs.map +1 -1
  21. package/dist/content-block.js +5 -5
  22. package/dist/content-block.js.map +1 -1
  23. package/dist/default-header.cjs +59 -0
  24. package/dist/default-header.cjs.map +1 -0
  25. package/dist/default-header.d.cts +19 -0
  26. package/dist/default-header.d.ts +19 -0
  27. package/dist/default-header.js +57 -0
  28. package/dist/default-header.js.map +1 -0
  29. package/dist/dialog.cjs +62 -46
  30. package/dist/dialog.cjs.map +1 -1
  31. package/dist/dialog.js +62 -46
  32. package/dist/dialog.js.map +1 -1
  33. package/dist/dropdown-menu-B_GCzleM.d.cts +32 -0
  34. package/dist/dropdown-menu-B_GCzleM.d.ts +32 -0
  35. package/dist/dropdown-menu.cjs +17 -32
  36. package/dist/dropdown-menu.cjs.map +1 -1
  37. package/dist/dropdown-menu.d.cts +43 -29
  38. package/dist/dropdown-menu.d.ts +43 -29
  39. package/dist/dropdown-menu.js +17 -32
  40. package/dist/dropdown-menu.js.map +1 -1
  41. package/dist/footer.cjs +35 -155
  42. package/dist/footer.cjs.map +1 -1
  43. package/dist/footer.d.cts +7 -6
  44. package/dist/footer.d.ts +7 -6
  45. package/dist/footer.js +36 -156
  46. package/dist/footer.js.map +1 -1
  47. package/dist/index.cjs +676 -309
  48. package/dist/index.cjs.map +1 -1
  49. package/dist/index.d.cts +6 -1
  50. package/dist/index.d.ts +6 -1
  51. package/dist/index.js +667 -310
  52. package/dist/index.js.map +1 -1
  53. package/dist/input-group.cjs +182 -0
  54. package/dist/input-group.cjs.map +1 -0
  55. package/dist/input-group.d.cts +42 -0
  56. package/dist/input-group.d.ts +42 -0
  57. package/dist/input-group.js +175 -0
  58. package/dist/input-group.js.map +1 -0
  59. package/dist/input.cjs +3 -3
  60. package/dist/input.cjs.map +1 -1
  61. package/dist/input.js +3 -3
  62. package/dist/input.js.map +1 -1
  63. package/dist/label.cjs +1 -1
  64. package/dist/label.cjs.map +1 -1
  65. package/dist/label.js +1 -1
  66. package/dist/label.js.map +1 -1
  67. package/dist/loader.cjs +12 -15
  68. package/dist/loader.cjs.map +1 -1
  69. package/dist/loader.js +13 -16
  70. package/dist/loader.js.map +1 -1
  71. package/dist/logo.cjs +311 -0
  72. package/dist/logo.cjs.map +1 -0
  73. package/dist/logo.d.cts +39 -0
  74. package/dist/logo.d.ts +39 -0
  75. package/dist/logo.js +309 -0
  76. package/dist/logo.js.map +1 -0
  77. package/dist/metafile-cjs.json +1 -1
  78. package/dist/metafile-esm.json +1 -1
  79. package/dist/notification-badge.cjs.map +1 -1
  80. package/dist/notification-badge.js.map +1 -1
  81. package/dist/section-header.cjs +28 -45
  82. package/dist/section-header.cjs.map +1 -1
  83. package/dist/section-header.d.cts +1 -1
  84. package/dist/section-header.d.ts +1 -1
  85. package/dist/section-header.js +28 -45
  86. package/dist/section-header.js.map +1 -1
  87. package/dist/tag.cjs +6 -6
  88. package/dist/tag.cjs.map +1 -1
  89. package/dist/tag.js +6 -6
  90. package/dist/tag.js.map +1 -1
  91. package/dist/template-header.cjs +28 -0
  92. package/dist/template-header.cjs.map +1 -0
  93. package/dist/template-header.d.cts +13 -0
  94. package/dist/template-header.d.ts +13 -0
  95. package/dist/template-header.js +26 -0
  96. package/dist/template-header.js.map +1 -0
  97. package/dist/textarea.cjs +27 -0
  98. package/dist/textarea.cjs.map +1 -0
  99. package/dist/textarea.d.cts +10 -0
  100. package/dist/textarea.d.ts +10 -0
  101. package/dist/textarea.js +25 -0
  102. package/dist/textarea.js.map +1 -0
  103. package/dist/theme.css +229 -27
  104. package/dist/tooltip.cjs +5 -15
  105. package/dist/tooltip.cjs.map +1 -1
  106. package/dist/tooltip.d.cts +1 -1
  107. package/dist/tooltip.d.ts +1 -1
  108. package/dist/tooltip.js +5 -15
  109. package/dist/tooltip.js.map +1 -1
  110. package/package.json +63 -3
package/dist/button.js CHANGED
@@ -101,23 +101,20 @@ function Loader({
101
101
  ) }) })
102
102
  ]
103
103
  }
104
- ) : /* @__PURE__ */ jsx(Fragment, { children: Array.from({ length: dotCount }, (_, index) => {
104
+ ) : Array.from({ length: dotCount }, (_, index) => {
105
105
  const delaySeconds = index * 0.035;
106
- return (
107
- // biome-ignore lint/suspicious/noArrayIndexKey: Dots are static and ordered
108
- /* @__PURE__ */ jsx(
109
- "div",
110
- {
111
- className: "bg-grayscale-200 dark:bg-grayscale-700 animate-loader-wave absolute top-0 size-[3px] rounded-full motion-reduce:animate-none",
112
- style: {
113
- left: `${index}px`,
114
- animationDelay: `${delaySeconds}s`
115
- }
116
- },
117
- index
118
- )
106
+ return /* @__PURE__ */ jsx(
107
+ "div",
108
+ {
109
+ className: "absolute top-0 size-[3px] animate-loader-wave rounded-full bg-grayscale-200 motion-reduce:animate-none dark:bg-grayscale-700",
110
+ style: {
111
+ left: `${index}px`,
112
+ animationDelay: `${delaySeconds}s`
113
+ }
114
+ },
115
+ index
119
116
  );
120
- }) })
117
+ })
121
118
  }
122
119
  );
123
120
  }
@@ -143,7 +140,7 @@ var buttonVariants = cva(
143
140
  },
144
141
  theme: {
145
142
  base: "bg-foreground text-background",
146
- brand: "bg-primary-foreground text-primary",
143
+ brand: "bg-primary text-primary-foreground",
147
144
  error: ""
148
145
  },
149
146
  hasTrailing: {
@@ -152,7 +149,7 @@ var buttonVariants = cva(
152
149
  variant: {
153
150
  default: "hover:bg-background/90",
154
151
  outline: "backdrop-blur-lg ",
155
- primary: "bg-primary-foreground/0 backdrop-blur-lg text-primary",
152
+ primary: "bg-primary/0 backdrop-blur-lg text-primary-foreground",
156
153
  secondary: "bg-secondary-foreground/0 backdrop-blur-lg text-secondary",
157
154
  tertiary: "bg-background/0 backdrop-blur-lg [--foreground:var(--color-text-text-default)]"
158
155
  },
@@ -250,12 +247,12 @@ var buttonVariants = cva(
250
247
  variant: "primary",
251
248
  theme: "brand",
252
249
  outline: false,
253
- class: "bg-primary-foreground text-primary hover:bg-primary-foreground hover:text-primary active:bg-primary-foreground active:text-primary focus-visible:bg-primary-foreground focus-visible:text-primary"
250
+ class: "bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground active:bg-primary active:text-primary-foreground focus-visible:bg-primary focus-visible:text-primary-foreground"
254
251
  },
255
252
  {
256
253
  variant: "primary",
257
254
  theme: "error",
258
- class: "bg-destructive text-black"
255
+ class: "bg-destructive text-white"
259
256
  },
260
257
  {
261
258
  variant: "secondary",
@@ -362,21 +359,44 @@ function Button({
362
359
  outline,
363
360
  collapsed,
364
361
  pill,
365
- className,
366
362
  hasLeading: !!leading,
367
363
  theme,
368
364
  hasTrailing: !!trailing
369
365
  }),
370
- tintVariants({ variant, outline })
366
+ tintVariants({ variant, outline }),
367
+ className
371
368
  );
372
369
  const content = /* @__PURE__ */ jsxs(Fragment, { children: [
373
- loading && (loadingElement || /* @__PURE__ */ jsx(Loader, { className: "absolute inset-0 m-auto", variant: "spinner", theme: loaderVariants2({ theme, variant }) })),
374
- leading && /* @__PURE__ */ jsx("div", { className: cn("group-aria-busy/button:opacity-0 transition-opacity", { "opacity-0": loading }), children: leading }),
375
- children && /* @__PURE__ */ jsx("span", { className: cn("min-w-[18px] truncate relative transition-opacity", { "opacity-0": loading }), children }),
370
+ loading && (loadingElement || /* @__PURE__ */ jsx(
371
+ Loader,
372
+ {
373
+ className: "absolute inset-0 m-auto",
374
+ variant: "spinner",
375
+ theme: loaderVariants2({ theme, variant })
376
+ }
377
+ )),
378
+ leading && /* @__PURE__ */ jsx(
379
+ "div",
380
+ {
381
+ className: cn("transition-opacity group-aria-busy/button:opacity-0", {
382
+ "opacity-0": loading
383
+ }),
384
+ children: leading
385
+ }
386
+ ),
387
+ children && /* @__PURE__ */ jsx(
388
+ "span",
389
+ {
390
+ className: cn("relative min-w-[18px] truncate transition-opacity", {
391
+ "opacity-0": loading
392
+ }),
393
+ children
394
+ }
395
+ ),
376
396
  trailing && /* @__PURE__ */ jsx(
377
397
  "div",
378
398
  {
379
- className: cn("group-aria-busy/button:opacity-0 transition-opacity", {
399
+ className: cn("transition-opacity group-aria-busy/button:opacity-0", {
380
400
  "opacity-0": loading,
381
401
  "absolute top-1/2 right-0 translate-x-1/2 -translate-y-1/2": collapsed
382
402
  }),
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/utils.ts","../src/components/loader/loader.tsx","../src/components/button/button.tsx"],"names":["cva","loaderVariants","jsxs","Fragment","jsx","ButtonPrimitive"],"mappings":"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","file":"button.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","\"use client\";\n\nimport { cva } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { LoaderProps } from \"./types\";\n\nconst loaderVariants = cva(\"flex shrink-0 items-center justify-center\", {\n variants: {\n theme: {\n default: \"[--loader-foreground:var(--foreground)] [--loader-background:var(--foreground)]\",\n reversed: \"[--loader-foreground:var(--background)] [--loader-background:var(--foreground)]\",\n black:\n \"[--loader-foreground:var(--color-brand-midnight-900)] [--loader-background:var(--color-grayscale-300)]\",\n white:\n \"[--loader-foreground:var(--color-grayscale-300)] [--loader-background:var(--color-brand-midnight-900)]\",\n },\n variant: {\n spinner: \"size-5 motion-reduce:animate-none\",\n loader: \"relative flex h-[13px] w-[23px] motion-reduce:animate-none\",\n },\n },\n defaultVariants: {\n theme: \"default\",\n variant: \"spinner\",\n },\n});\n\nconst spinnerFgVariants = cva(\"\", {\n variants: {\n theme: {\n default: \"fill-foreground opacity-[0.06]\",\n reversed: \"fill-white opacity-10\",\n black: \"fill-black opacity-[0.04]\",\n white: \"fill-white opacity-[0.04]\",\n },\n },\n});\n\nconst spinnerBgVariants = cva(\"\", {\n variants: {\n theme: {\n default: \"fill-foreground\",\n reversed: \"fill-background\",\n black: \"fill-black opacity-[0.98]\",\n white: \"fill-white opacity-[0.98]\",\n },\n },\n});\n\nfunction Loader({\n theme = \"default\",\n variant = \"spinner\",\n className,\n style,\n ...props\n}: LoaderProps) {\n const dotCount = 21;\n\n return (\n <div\n data-slot=\"loader\"\n className={cn(\n loaderVariants({ theme, variant }),\n variant === \"spinner\" && \"animate-spin\",\n className,\n )}\n {...props}\n >\n {variant === \"spinner\" ? (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <title>Loading spinner</title>\n <g clipPath=\"url(#pop_loader_clip_path)\">\n <path\n className={spinnerFgVariants({ theme })}\n d=\"M20 10C20 15.5137 15.5137 20 10 20C4.48628 20 6.78126e-07 15.5137 4.37114e-07 10C1.96101e-07 4.48627 4.48627 3.50301e-07 10 1.09288e-07C15.5137 -1.31724e-07 20 4.48627 20 10ZM2.35294 10C2.35294 14.2196 5.78039 17.6471 10 17.6471C14.2196 17.6471 17.6471 14.2196 17.6471 10C17.6471 5.78039 14.2196 2.35294 10 2.35294C5.78039 2.35294 2.35294 5.78039 2.35294 10Z\"\n />\n <path\n className={spinnerBgVariants({ theme })}\n d=\"M20 10L17.6471 10C17.6471 5.78039 14.2196 2.35294 10 2.35294L10 7.10315e-07C15.5137 4.69302e-07 20 4.48627 20 10Z\"\n />\n </g>\n <defs>\n <clipPath id=\"pop_loader_clip_path\">\n <rect\n width=\"20\"\n height=\"20\"\n fill=\"white\"\n transform=\"translate(8.74228e-07 20) rotate(-90)\"\n />\n </clipPath>\n </defs>\n </svg>\n ) : (\n <>\n {Array.from({ length: dotCount }, (_, index) => {\n const delaySeconds = index * 0.035;\n return (\n // biome-ignore lint/suspicious/noArrayIndexKey: Dots are static and ordered\n <div\n key={index}\n className=\"bg-grayscale-200 dark:bg-grayscale-700 animate-loader-wave absolute top-0 size-[3px] rounded-full motion-reduce:animate-none\"\n style={{\n left: `${index}px`,\n animationDelay: `${delaySeconds}s`,\n }}\n />\n );\n })}\n </>\n )}\n </div>\n );\n}\n\nexport { Loader };\n","\"use client\";\n\nimport { Button as ButtonPrimitive } from \"@base-ui/react/button\";\nimport { cva } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\nimport { Loader, LoaderProps } from \"../loader\";\nimport { ButtonProps } from \"./types\";\n\nconst buttonVariants = cva(\n \"inline-flex relative items-center gap-1.5 whitespace-nowrap font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 text-foreground bg-background group/button outline-none focus-visible:border-ring-3 focus-visible:ring-ring/60 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n align: {\n left: \"justify-start\",\n center: \"justify-center\",\n right: \"justify-end\",\n },\n collapsed: {\n false: null,\n true: \"min-w-10 max-w-10 justify-center\",\n },\n outline: {\n false: null,\n true: \"\",\n },\n hasLeading: {\n false: null,\n },\n theme: {\n base: \"bg-foreground text-background\",\n brand: \"bg-primary-foreground text-primary\",\n error: \"\",\n },\n hasTrailing: {\n false: null,\n },\n variant: {\n default: \"hover:bg-background/90\",\n outline: \"backdrop-blur-lg \",\n primary: \"bg-primary-foreground/0 backdrop-blur-lg text-primary\",\n secondary: \"bg-secondary-foreground/0 backdrop-blur-lg text-secondary\",\n tertiary: \"bg-background/0 backdrop-blur-lg [--foreground:var(--color-text-text-default)]\",\n },\n pill: {\n false: \"rounded-xs\",\n true: \"rounded-full\",\n },\n size: {\n default: \"h-10 min-h-10 px-3 py-2 text-sm [&_svg:not([class*='size-'])]:size-[18px]\",\n lg: \"h-12 min-h-12 text-base [&_svg:not([class*='size-'])]:size-[20px]\",\n },\n },\n defaultVariants: {\n align: \"center\",\n outline: false,\n pill: false,\n size: \"default\",\n theme: \"brand\",\n variant: \"default\",\n },\n compoundVariants: [\n {\n pill: true,\n size: \"default\",\n class: \"min-w-10 min-h-10 px-4\",\n },\n {\n pill: true,\n collapsed: true,\n class: \"max-w-10\",\n },\n {\n pill: true,\n size: \"lg\",\n class: \"min-w-12 min-h-12 px-4\",\n },\n {\n pill: true,\n size: \"lg\",\n collapsed: true,\n class: \"max-w-[54px] max-h-12\",\n },\n {\n collapsed: false,\n size: \"default\",\n align: \"left\",\n pill: false,\n class: \"pr-3 pl-2\",\n },\n {\n align: \"center\",\n collapsed: false,\n size: \"default\",\n pill: false,\n class: \"px-3\",\n },\n {\n hasLeading: true,\n pill: false,\n align: \"left\",\n size: \"default\",\n class: \"pr-3 pl-2\",\n },\n {\n collapsed: false,\n size: \"default\",\n pill: true,\n class: \"px-4\",\n },\n {\n size: \"lg\",\n pill: true,\n collapsed: false,\n class: \"px-4\",\n },\n {\n variant: \"primary\",\n outline: false,\n theme: \"base\",\n class:\n \"bg-foreground text-background hover:ring-2 active:ring active:bg-background disabled:outline-none disabled:bg-black/0 disabled:text-black-alpha-600 focus-visible:ring-3 focus-visible:ring-ring focus-visible:outline-background focus-visible:bg-foreground focus-visible:text-background\",\n },\n {\n variant: \"primary\",\n outline: true,\n theme: \"base\",\n class:\n \"ring ring-foreground bg-background/0 text-foreground hover:ring-2 active:ring active:bg-background/1 disabled:outline-none disabled:bg-background/0 focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-background focus-visible:bg-background/1\",\n },\n {\n variant: \"primary\",\n outline: true,\n theme: \"brand\",\n class:\n \"ring ring-primary-foreground bg-background/0 text-primary-foreground hover:ring-2 active:ring active:bg-background/1 disabled:outline-none disabled:bg-background/0 focus-visible:ring focus-visible:ring-ring focus-visible:outline-background focus-visible:bg-background/1\",\n },\n {\n variant: \"primary\",\n theme: \"brand\",\n outline: false,\n class:\n \"bg-primary-foreground text-primary hover:bg-primary-foreground hover:text-primary active:bg-primary-foreground active:text-primary focus-visible:bg-primary-foreground focus-visible:text-primary\",\n },\n {\n variant: \"primary\",\n theme: \"error\",\n class: \"bg-destructive text-black\",\n },\n {\n variant: \"secondary\",\n outline: false,\n theme: \"base\",\n class: \"bg-background/0 text-foreground backdrop-blur-lg focus-visible:backdrop-blur-md\",\n },\n {\n variant: \"secondary\",\n outline: true,\n theme: \"base\",\n class:\n \"bg-background/0 text-foreground ring ring-foreground/0 hover:ring-foreground active:ring-foreground/0 disabled:ring-foreground/0 backdrop-blur-lg focus-visible:backdrop-blur-md\",\n },\n {\n variant: \"tertiary\",\n outline: false,\n theme: \"base\",\n class: \"bg-background/0 text-foreground backdrop-blur-lg focus-visible:backdrop-blur-md dark:text-white\",\n },\n {\n variant: \"tertiary\",\n theme: \"error\",\n class: \"bg-transparent backdrop-blur-lg text-error-600\",\n },\n ],\n },\n);\n\nconst tintVariants = cva(\n \"before:content-[''] before:absolute before:inset-0 before:transition-all before:rounded-[inherit] before:pointer-events-none\",\n {\n variants: {\n outline: {\n false: null,\n },\n variant: {\n default: \"\",\n outline: \"\",\n primary:\n \"before:bg-tint-700-reversed/0 hover:before:bg-tint-700-reversed active:before:bg-tint-700-reversed/0 disabled:before:bg-tint-900-default focus-visible:before:bg-tint-700-reversed/0\",\n secondary:\n \"before:bg-tint-900-default hover:before:bg-tint-800-default active:before:bg-tint-900-default disabled:before:bg-tint-900-default focus-visible:before:bg-tint-800-default\",\n tertiary:\n \"before:bg-tint-950-reversed hover:before:bg-tint-900-default active:before:bg-tint-950-reversed disabled:before:bg-tint-950-reversed focus-visible:before:bg-tint-950-reversed\",\n },\n },\n defaultVariants: {\n outline: false,\n variant: \"default\",\n },\n compoundVariants: [\n {\n outline: true,\n variant: \"primary\",\n class:\n \"before:bg-tint-950-reversed hover:before:bg-tint-950-reversed active:before:bg-tint-950-reversed disabled:before:bg-tint-900-default focus-visible:before:bg-tint-950-reversed\",\n },\n {\n outline: true,\n variant: \"secondary\",\n class:\n \"before:bg-tint-950-reversed hover:before:bg-tint-950-reversed active:before:bg-tint-950-reversed disabled:before:bg-tint-900-default focus-visible:before:bg-tint-950-reversed\",\n },\n ],\n },\n);\n\nconst loaderCompoundVariants: Array<{\n theme: \"base\" | \"brand\" | \"error\";\n variant: string;\n loaderTheme: LoaderProps[\"theme\"];\n}> = [\n { theme: \"base\", variant: \"default\", loaderTheme: \"reversed\" },\n { theme: \"base\", variant: \"primary\", loaderTheme: \"reversed\" },\n { theme: \"base\", variant: \"tertiary\", loaderTheme: \"black\" },\n { theme: \"base\", variant: \"outline\", loaderTheme: \"white\" },\n { theme: \"brand\", variant: \"secondary\", loaderTheme: \"default\" },\n { theme: \"brand\", variant: \"default\", loaderTheme: \"reversed\" },\n { theme: \"brand\", variant: \"primary\", loaderTheme: \"reversed\" },\n { theme: \"brand\", variant: \"tertiary\", loaderTheme: \"black\" },\n { theme: \"brand\", variant: \"outline\", loaderTheme: \"reversed\" },\n ];\n\nfunction loaderVariants({\n theme,\n variant,\n}: {\n theme: \"base\" | \"brand\" | \"error\";\n variant: string;\n}): LoaderProps[\"theme\"] {\n const match = loaderCompoundVariants.find((c) => c.theme === theme && c.variant === variant);\n return match?.loaderTheme ?? \"default\";\n}\n\nfunction Button({\n align = \"center\",\n children,\n className,\n collapsed = false,\n focusableWhenDisabled,\n leading,\n outline = false,\n pill = false,\n loading = false,\n loadingElement,\n nativeButton,\n render,\n size = \"default\",\n theme = \"brand\",\n trailing,\n variant = \"default\",\n href,\n ...props\n}: ButtonProps) {\n const sharedClassName = cn(\n buttonVariants({\n variant,\n size,\n align,\n outline,\n collapsed,\n pill,\n className,\n hasLeading: !!leading,\n theme,\n hasTrailing: !!trailing,\n }),\n tintVariants({ variant, outline }),\n );\n\n const content = (\n <>\n {loading && (loadingElement || <Loader className=\"absolute inset-0 m-auto\" variant=\"spinner\" theme={loaderVariants({ theme, variant })} />)}\n {leading && <div className={cn(\"group-aria-busy/button:opacity-0 transition-opacity\", { \"opacity-0\": loading })}>{leading}</div>}\n {children && (\n <span className={cn(\"min-w-[18px] truncate relative transition-opacity\", { \"opacity-0\": loading })}>\n {children}\n </span>\n )}\n {trailing && (\n <div\n className={cn(\"group-aria-busy/button:opacity-0 transition-opacity\", {\n \"opacity-0\": loading,\n \"absolute top-1/2 right-0 translate-x-1/2 -translate-y-1/2\": collapsed,\n })}\n >\n {trailing}\n </div>\n )}\n </>\n );\n\n if (href != null) {\n return (\n <a\n data-slot=\"button\"\n className={sharedClassName}\n href={href}\n {...(props as React.AnchorHTMLAttributes<HTMLAnchorElement>)}\n >\n {content}\n </a>\n );\n }\n\n const buttonProps = props as React.ComponentProps<typeof ButtonPrimitive>;\n\n return (\n <ButtonPrimitive\n data-slot=\"button\"\n className={sharedClassName}\n nativeButton={nativeButton}\n focusableWhenDisabled={focusableWhenDisabled}\n render={render}\n {...buttonProps}\n >\n {content}\n </ButtonPrimitive>\n );\n}\n\nexport { Button };\n"]}
1
+ {"version":3,"sources":["../src/lib/utils.ts","../src/components/loader/loader.tsx","../src/components/button/button.tsx"],"names":["cva","loaderVariants","jsxs","jsx","ButtonPrimitive"],"mappings":"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","file":"button.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","\"use client\";\n\nimport { cva } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { LoaderProps } from \"./types\";\n\nconst loaderVariants = cva(\"flex shrink-0 items-center justify-center\", {\n variants: {\n theme: {\n default: \"[--loader-foreground:var(--foreground)] [--loader-background:var(--foreground)]\",\n reversed: \"[--loader-foreground:var(--background)] [--loader-background:var(--foreground)]\",\n black:\n \"[--loader-foreground:var(--color-brand-midnight-900)] [--loader-background:var(--color-grayscale-300)]\",\n white:\n \"[--loader-foreground:var(--color-grayscale-300)] [--loader-background:var(--color-brand-midnight-900)]\",\n },\n variant: {\n spinner: \"size-5 motion-reduce:animate-none\",\n loader: \"relative flex h-[13px] w-[23px] motion-reduce:animate-none\",\n },\n },\n defaultVariants: {\n theme: \"default\",\n variant: \"spinner\",\n },\n});\n\nconst spinnerFgVariants = cva(\"\", {\n variants: {\n theme: {\n default: \"fill-foreground opacity-[0.06]\",\n reversed: \"fill-white opacity-10\",\n black: \"fill-black opacity-[0.04]\",\n white: \"fill-white opacity-[0.04]\",\n },\n },\n});\n\nconst spinnerBgVariants = cva(\"\", {\n variants: {\n theme: {\n default: \"fill-foreground\",\n reversed: \"fill-background\",\n black: \"fill-black opacity-[0.98]\",\n white: \"fill-white opacity-[0.98]\",\n },\n },\n});\n\nfunction Loader({\n theme = \"default\",\n variant = \"spinner\",\n className,\n style,\n ...props\n}: LoaderProps) {\n const dotCount = 21;\n\n return (\n <div\n data-slot=\"loader\"\n className={cn(\n loaderVariants({ theme, variant }),\n variant === \"spinner\" && \"animate-spin\",\n className,\n )}\n {...props}\n >\n {variant === \"spinner\" ? (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <title>Loading spinner</title>\n <g clipPath=\"url(#pop_loader_clip_path)\">\n <path\n className={spinnerFgVariants({ theme })}\n d=\"M20 10C20 15.5137 15.5137 20 10 20C4.48628 20 6.78126e-07 15.5137 4.37114e-07 10C1.96101e-07 4.48627 4.48627 3.50301e-07 10 1.09288e-07C15.5137 -1.31724e-07 20 4.48627 20 10ZM2.35294 10C2.35294 14.2196 5.78039 17.6471 10 17.6471C14.2196 17.6471 17.6471 14.2196 17.6471 10C17.6471 5.78039 14.2196 2.35294 10 2.35294C5.78039 2.35294 2.35294 5.78039 2.35294 10Z\"\n />\n <path\n className={spinnerBgVariants({ theme })}\n d=\"M20 10L17.6471 10C17.6471 5.78039 14.2196 2.35294 10 2.35294L10 7.10315e-07C15.5137 4.69302e-07 20 4.48627 20 10Z\"\n />\n </g>\n <defs>\n <clipPath id=\"pop_loader_clip_path\">\n <rect\n width=\"20\"\n height=\"20\"\n fill=\"white\"\n transform=\"translate(8.74228e-07 20) rotate(-90)\"\n />\n </clipPath>\n </defs>\n </svg>\n ) : (\n Array.from({ length: dotCount }, (_, index) => {\n const delaySeconds = index * 0.035;\n return (\n <div\n // biome-ignore lint/suspicious/noArrayIndexKey: static ordered list\n key={index}\n className=\"absolute top-0 size-[3px] animate-loader-wave rounded-full bg-grayscale-200 motion-reduce:animate-none dark:bg-grayscale-700\"\n style={{\n left: `${index}px`,\n animationDelay: `${delaySeconds}s`,\n }}\n />\n );\n })\n )}\n </div>\n );\n}\n\nexport { Loader };\n","\"use client\";\n\nimport { Button as ButtonPrimitive } from \"@base-ui/react/button\";\nimport { cva } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\nimport { Loader, type LoaderProps } from \"../loader\";\nimport type { ButtonProps } from \"./types\";\n\nconst buttonVariants = cva(\n \"inline-flex relative items-center gap-1.5 whitespace-nowrap font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 text-foreground bg-background group/button outline-none focus-visible:border-ring-3 focus-visible:ring-ring/60 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n align: {\n left: \"justify-start\",\n center: \"justify-center\",\n right: \"justify-end\",\n },\n collapsed: {\n false: null,\n true: \"min-w-10 max-w-10 justify-center\",\n },\n outline: {\n false: null,\n true: \"\",\n },\n hasLeading: {\n false: null,\n },\n theme: {\n base: \"bg-foreground text-background\",\n brand: \"bg-primary text-primary-foreground\",\n error: \"\",\n },\n hasTrailing: {\n false: null,\n },\n variant: {\n default: \"hover:bg-background/90\",\n outline: \"backdrop-blur-lg \",\n primary: \"bg-primary/0 backdrop-blur-lg text-primary-foreground\",\n secondary: \"bg-secondary-foreground/0 backdrop-blur-lg text-secondary\",\n tertiary: \"bg-background/0 backdrop-blur-lg [--foreground:var(--color-text-text-default)]\",\n },\n pill: {\n false: \"rounded-xs\",\n true: \"rounded-full\",\n },\n size: {\n default: \"h-10 min-h-10 px-3 py-2 text-sm [&_svg:not([class*='size-'])]:size-[18px]\",\n lg: \"h-12 min-h-12 text-base [&_svg:not([class*='size-'])]:size-[20px]\",\n },\n },\n defaultVariants: {\n align: \"center\",\n outline: false,\n pill: false,\n size: \"default\",\n theme: \"brand\",\n variant: \"default\",\n },\n compoundVariants: [\n {\n pill: true,\n size: \"default\",\n class: \"min-w-10 min-h-10 px-4\",\n },\n {\n pill: true,\n collapsed: true,\n class: \"max-w-10\",\n },\n {\n pill: true,\n size: \"lg\",\n class: \"min-w-12 min-h-12 px-4\",\n },\n {\n pill: true,\n size: \"lg\",\n collapsed: true,\n class: \"max-w-[54px] max-h-12\",\n },\n {\n collapsed: false,\n size: \"default\",\n align: \"left\",\n pill: false,\n class: \"pr-3 pl-2\",\n },\n {\n align: \"center\",\n collapsed: false,\n size: \"default\",\n pill: false,\n class: \"px-3\",\n },\n {\n hasLeading: true,\n pill: false,\n align: \"left\",\n size: \"default\",\n class: \"pr-3 pl-2\",\n },\n {\n collapsed: false,\n size: \"default\",\n pill: true,\n class: \"px-4\",\n },\n {\n size: \"lg\",\n pill: true,\n collapsed: false,\n class: \"px-4\",\n },\n {\n variant: \"primary\",\n outline: false,\n theme: \"base\",\n class:\n \"bg-foreground text-background hover:ring-2 active:ring active:bg-background disabled:outline-none disabled:bg-black/0 disabled:text-black-alpha-600 focus-visible:ring-3 focus-visible:ring-ring focus-visible:outline-background focus-visible:bg-foreground focus-visible:text-background\",\n },\n {\n variant: \"primary\",\n outline: true,\n theme: \"base\",\n class:\n \"ring ring-foreground bg-background/0 text-foreground hover:ring-2 active:ring active:bg-background/1 disabled:outline-none disabled:bg-background/0 focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-background focus-visible:bg-background/1\",\n },\n {\n variant: \"primary\",\n outline: true,\n theme: \"brand\",\n class:\n \"ring ring-primary-foreground bg-background/0 text-primary-foreground hover:ring-2 active:ring active:bg-background/1 disabled:outline-none disabled:bg-background/0 focus-visible:ring focus-visible:ring-ring focus-visible:outline-background focus-visible:bg-background/1\",\n },\n {\n variant: \"primary\",\n theme: \"brand\",\n outline: false,\n class:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground active:bg-primary active:text-primary-foreground focus-visible:bg-primary focus-visible:text-primary-foreground\",\n },\n {\n variant: \"primary\",\n theme: \"error\",\n class: \"bg-destructive text-white\",\n },\n {\n variant: \"secondary\",\n outline: false,\n theme: \"base\",\n class: \"bg-background/0 text-foreground backdrop-blur-lg focus-visible:backdrop-blur-md\",\n },\n {\n variant: \"secondary\",\n outline: true,\n theme: \"base\",\n class:\n \"bg-background/0 text-foreground ring ring-foreground/0 hover:ring-foreground active:ring-foreground/0 disabled:ring-foreground/0 backdrop-blur-lg focus-visible:backdrop-blur-md\",\n },\n {\n variant: \"tertiary\",\n outline: false,\n theme: \"base\",\n class:\n \"bg-background/0 text-foreground backdrop-blur-lg focus-visible:backdrop-blur-md dark:text-white\",\n },\n {\n variant: \"tertiary\",\n theme: \"error\",\n class: \"bg-transparent backdrop-blur-lg text-error-600\",\n },\n ],\n },\n);\n\nconst tintVariants = cva(\n \"before:content-[''] before:absolute before:inset-0 before:transition-all before:rounded-[inherit] before:pointer-events-none\",\n {\n variants: {\n outline: {\n false: null,\n },\n variant: {\n default: \"\",\n outline: \"\",\n primary:\n \"before:bg-tint-700-reversed/0 hover:before:bg-tint-700-reversed active:before:bg-tint-700-reversed/0 disabled:before:bg-tint-900-default focus-visible:before:bg-tint-700-reversed/0\",\n secondary:\n \"before:bg-tint-900-default hover:before:bg-tint-800-default active:before:bg-tint-900-default disabled:before:bg-tint-900-default focus-visible:before:bg-tint-800-default\",\n tertiary:\n \"before:bg-tint-950-reversed hover:before:bg-tint-900-default active:before:bg-tint-950-reversed disabled:before:bg-tint-950-reversed focus-visible:before:bg-tint-950-reversed\",\n },\n },\n defaultVariants: {\n outline: false,\n variant: \"default\",\n },\n compoundVariants: [\n {\n outline: true,\n variant: \"primary\",\n class:\n \"before:bg-tint-950-reversed hover:before:bg-tint-950-reversed active:before:bg-tint-950-reversed disabled:before:bg-tint-900-default focus-visible:before:bg-tint-950-reversed\",\n },\n {\n outline: true,\n variant: \"secondary\",\n class:\n \"before:bg-tint-950-reversed hover:before:bg-tint-950-reversed active:before:bg-tint-950-reversed disabled:before:bg-tint-900-default focus-visible:before:bg-tint-950-reversed\",\n },\n ],\n },\n);\n\nconst loaderCompoundVariants: Array<{\n theme: \"base\" | \"brand\" | \"error\";\n variant: string;\n loaderTheme: LoaderProps[\"theme\"];\n}> = [\n { theme: \"base\", variant: \"default\", loaderTheme: \"reversed\" },\n { theme: \"base\", variant: \"primary\", loaderTheme: \"reversed\" },\n { theme: \"base\", variant: \"tertiary\", loaderTheme: \"black\" },\n { theme: \"base\", variant: \"outline\", loaderTheme: \"white\" },\n { theme: \"brand\", variant: \"secondary\", loaderTheme: \"default\" },\n { theme: \"brand\", variant: \"default\", loaderTheme: \"reversed\" },\n { theme: \"brand\", variant: \"primary\", loaderTheme: \"reversed\" },\n { theme: \"brand\", variant: \"tertiary\", loaderTheme: \"black\" },\n { theme: \"brand\", variant: \"outline\", loaderTheme: \"reversed\" },\n];\n\nfunction loaderVariants({\n theme,\n variant,\n}: {\n theme: \"base\" | \"brand\" | \"error\";\n variant: string;\n}): LoaderProps[\"theme\"] {\n const match = loaderCompoundVariants.find((c) => c.theme === theme && c.variant === variant);\n return match?.loaderTheme ?? \"default\";\n}\n\nfunction Button({\n align = \"center\",\n children,\n className,\n collapsed = false,\n focusableWhenDisabled,\n leading,\n outline = false,\n pill = false,\n loading = false,\n loadingElement,\n nativeButton,\n render,\n size = \"default\",\n theme = \"brand\",\n trailing,\n variant = \"default\",\n href,\n ...props\n}: ButtonProps) {\n const sharedClassName = cn(\n buttonVariants({\n variant,\n size,\n align,\n outline,\n collapsed,\n pill,\n hasLeading: !!leading,\n theme,\n hasTrailing: !!trailing,\n }),\n tintVariants({ variant, outline }),\n className,\n );\n\n const content = (\n <>\n {loading &&\n (loadingElement || (\n <Loader\n className=\"absolute inset-0 m-auto\"\n variant=\"spinner\"\n theme={loaderVariants({ theme, variant })}\n />\n ))}\n {leading && (\n <div\n className={cn(\"transition-opacity group-aria-busy/button:opacity-0\", {\n \"opacity-0\": loading,\n })}\n >\n {leading}\n </div>\n )}\n {children && (\n <span\n className={cn(\"relative min-w-[18px] truncate transition-opacity\", {\n \"opacity-0\": loading,\n })}\n >\n {children}\n </span>\n )}\n {trailing && (\n <div\n className={cn(\"transition-opacity group-aria-busy/button:opacity-0\", {\n \"opacity-0\": loading,\n \"absolute top-1/2 right-0 translate-x-1/2 -translate-y-1/2\": collapsed,\n })}\n >\n {trailing}\n </div>\n )}\n </>\n );\n\n if (href != null) {\n return (\n <a\n data-slot=\"button\"\n className={sharedClassName}\n href={href}\n {...(props as React.AnchorHTMLAttributes<HTMLAnchorElement>)}\n >\n {content}\n </a>\n );\n }\n\n const buttonProps = props as React.ComponentProps<typeof ButtonPrimitive>;\n\n return (\n <ButtonPrimitive\n data-slot=\"button\"\n className={sharedClassName}\n nativeButton={nativeButton}\n focusableWhenDisabled={focusableWhenDisabled}\n render={render}\n {...buttonProps}\n >\n {content}\n </ButtonPrimitive>\n );\n}\n\nexport { Button };\n"]}
package/dist/checkbox.cjs CHANGED
@@ -16,7 +16,7 @@ function Checkbox({ className, ...props }) {
16
16
  {
17
17
  "data-slot": "checkbox",
18
18
  className: cn(
19
- "border-foreground dark:bg-input/30 dark:data-checked:bg-primary aria-invalid:aria-checked:border-primary aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border shadow-xs transition-shadow outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:ring-3 data-disabled:cursor-not-allowed data-disabled:opacity-50 aria-invalid:ring-3 data-checked:border-foreground data-checked:bg-foreground data-checked:text-background",
19
+ "peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-foreground shadow-xs outline-none transition-shadow after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 group-has-disabled/field:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary data-disabled:cursor-not-allowed data-checked:border-foreground data-checked:bg-foreground data-checked:text-background data-disabled:opacity-50 dark:bg-input/30 dark:data-checked:bg-primary dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
20
20
  className
21
21
  ),
22
22
  ...props,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/utils.ts","../src/components/checkbox/checkbox.tsx"],"names":["twMerge","clsx","jsx","CheckboxPrimitive","Check"],"mappings":";;;;;;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAOA,qBAAA,CAAQC,SAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACGA,SAAS,QAAA,CAAS,EAAE,SAAA,EAAW,GAAG,OAAM,EAAkB;AACxD,EAAA,uBACEC,cAAA;AAAA,IAACC,iBAAA,CAAkB,IAAA;AAAA,IAAlB;AAAA,MACC,WAAA,EAAU,UAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,0rBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAD,cAAA;AAAA,QAACC,iBAAA,CAAkB,SAAA;AAAA,QAAlB;AAAA,UACC,WAAA,EAAU,oBAAA;AAAA,UACV,SAAA,EAAU,yEAAA;AAAA,UAEV,yCAACC,WAAA,EAAA,EAAM;AAAA;AAAA;AACT;AAAA,GACF;AAEJ","file":"checkbox.cjs","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","\"use client\";\n\nimport { Checkbox as CheckboxPrimitive } from \"@base-ui/react/checkbox\";\nimport { Check } from \"@untitledui/icons\";\n\nimport { cn } from \"../../lib/utils\";\nimport { CheckboxProps } from \"./types\";\n\nfunction Checkbox({ className, ...props }: CheckboxProps) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"border-foreground dark:bg-input/30 dark:data-checked:bg-primary aria-invalid:aria-checked:border-primary aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border shadow-xs transition-shadow outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:ring-3 data-disabled:cursor-not-allowed data-disabled:opacity-50 aria-invalid:ring-3 data-checked:border-foreground data-checked:bg-foreground data-checked:text-background\",\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"grid place-content-center text-current transition-none [&>svg]:size-3.5\"\n >\n <Check />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n"]}
1
+ {"version":3,"sources":["../src/lib/utils.ts","../src/components/checkbox/checkbox.tsx"],"names":["twMerge","clsx","jsx","CheckboxPrimitive","Check"],"mappings":";;;;;;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAOA,qBAAA,CAAQC,SAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACGA,SAAS,QAAA,CAAS,EAAE,SAAA,EAAW,GAAG,OAAM,EAAkB;AACxD,EAAA,uBACEC,cAAA;AAAA,IAACC,iBAAA,CAAkB,IAAA;AAAA,IAAlB;AAAA,MACC,WAAA,EAAU,UAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,0rBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAD,cAAA;AAAA,QAACC,iBAAA,CAAkB,SAAA;AAAA,QAAlB;AAAA,UACC,WAAA,EAAU,oBAAA;AAAA,UACV,SAAA,EAAU,yEAAA;AAAA,UAEV,yCAACC,WAAA,EAAA,EAAM;AAAA;AAAA;AACT;AAAA,GACF;AAEJ","file":"checkbox.cjs","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","\"use client\";\n\nimport { Checkbox as CheckboxPrimitive } from \"@base-ui/react/checkbox\";\nimport { Check } from \"@untitledui/icons\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { CheckboxProps } from \"./types\";\n\nfunction Checkbox({ className, ...props }: CheckboxProps) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-foreground shadow-xs outline-none transition-shadow after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 group-has-disabled/field:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary data-disabled:cursor-not-allowed data-checked:border-foreground data-checked:bg-foreground data-checked:text-background data-disabled:opacity-50 dark:bg-input/30 dark:data-checked:bg-primary dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"grid place-content-center text-current transition-none [&>svg]:size-3.5\"\n >\n <Check />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n"]}
package/dist/checkbox.js CHANGED
@@ -14,7 +14,7 @@ function Checkbox({ className, ...props }) {
14
14
  {
15
15
  "data-slot": "checkbox",
16
16
  className: cn(
17
- "border-foreground dark:bg-input/30 dark:data-checked:bg-primary aria-invalid:aria-checked:border-primary aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border shadow-xs transition-shadow outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:ring-3 data-disabled:cursor-not-allowed data-disabled:opacity-50 aria-invalid:ring-3 data-checked:border-foreground data-checked:bg-foreground data-checked:text-background",
17
+ "peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-foreground shadow-xs outline-none transition-shadow after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 group-has-disabled/field:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary data-disabled:cursor-not-allowed data-checked:border-foreground data-checked:bg-foreground data-checked:text-background data-disabled:opacity-50 dark:bg-input/30 dark:data-checked:bg-primary dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
18
18
  className
19
19
  ),
20
20
  ...props,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/utils.ts","../src/components/checkbox/checkbox.tsx"],"names":["CheckboxPrimitive"],"mappings":";;;;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACGA,SAAS,QAAA,CAAS,EAAE,SAAA,EAAW,GAAG,OAAM,EAAkB;AACxD,EAAA,uBACE,GAAA;AAAA,IAACA,UAAA,CAAkB,IAAA;AAAA,IAAlB;AAAA,MACC,WAAA,EAAU,UAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,0rBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAACA,UAAA,CAAkB,SAAA;AAAA,QAAlB;AAAA,UACC,WAAA,EAAU,oBAAA;AAAA,UACV,SAAA,EAAU,yEAAA;AAAA,UAEV,8BAAC,KAAA,EAAA,EAAM;AAAA;AAAA;AACT;AAAA,GACF;AAEJ","file":"checkbox.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","\"use client\";\n\nimport { Checkbox as CheckboxPrimitive } from \"@base-ui/react/checkbox\";\nimport { Check } from \"@untitledui/icons\";\n\nimport { cn } from \"../../lib/utils\";\nimport { CheckboxProps } from \"./types\";\n\nfunction Checkbox({ className, ...props }: CheckboxProps) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"border-foreground dark:bg-input/30 dark:data-checked:bg-primary aria-invalid:aria-checked:border-primary aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border shadow-xs transition-shadow outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:ring-3 data-disabled:cursor-not-allowed data-disabled:opacity-50 aria-invalid:ring-3 data-checked:border-foreground data-checked:bg-foreground data-checked:text-background\",\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"grid place-content-center text-current transition-none [&>svg]:size-3.5\"\n >\n <Check />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n"]}
1
+ {"version":3,"sources":["../src/lib/utils.ts","../src/components/checkbox/checkbox.tsx"],"names":["CheckboxPrimitive"],"mappings":";;;;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACGA,SAAS,QAAA,CAAS,EAAE,SAAA,EAAW,GAAG,OAAM,EAAkB;AACxD,EAAA,uBACE,GAAA;AAAA,IAACA,UAAA,CAAkB,IAAA;AAAA,IAAlB;AAAA,MACC,WAAA,EAAU,UAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,0rBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAACA,UAAA,CAAkB,SAAA;AAAA,QAAlB;AAAA,UACC,WAAA,EAAU,oBAAA;AAAA,UACV,SAAA,EAAU,yEAAA;AAAA,UAEV,8BAAC,KAAA,EAAA,EAAM;AAAA;AAAA;AACT;AAAA,GACF;AAEJ","file":"checkbox.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","\"use client\";\n\nimport { Checkbox as CheckboxPrimitive } from \"@base-ui/react/checkbox\";\nimport { Check } from \"@untitledui/icons\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { CheckboxProps } from \"./types\";\n\nfunction Checkbox({ className, ...props }: CheckboxProps) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-foreground shadow-xs outline-none transition-shadow after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 group-has-disabled/field:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary data-disabled:cursor-not-allowed data-checked:border-foreground data-checked:bg-foreground data-checked:text-background data-disabled:opacity-50 dark:bg-input/30 dark:data-checked:bg-primary dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"grid place-content-center text-current transition-none [&>svg]:size-3.5\"\n >\n <Check />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n"]}
@@ -10,13 +10,13 @@ function cn(...inputs) {
10
10
  }
11
11
  function ContentBlock({ className, children, title, subhead, cta }) {
12
12
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex max-w-xl flex-col items-start gap-3 self-stretch", className), children: [
13
- (title || subhead || cta) && /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-10 items-start justify-between self-stretch", children: [
13
+ (title || subhead || cta) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-10 items-start justify-between self-stretch", children: [
14
14
  (title || subhead) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-10 shrink-0 grow basis-0 flex-col items-start justify-center", children: [
15
- title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-decor text-decor-xs self-stretch font-bold", children: title }),
16
- subhead && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-base font-semibold", children: subhead })
15
+ title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "self-stretch font-bold font-decor text-decor-xs", children: title }),
16
+ subhead && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold text-base", children: subhead })
17
17
  ] }),
18
18
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: cta })
19
- ] }) }),
19
+ ] }),
20
20
  children && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "prose prose-base max-w-(--width-xl) pb-3", children })
21
21
  ] });
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/utils.ts","../src/components/content-block/content-block.tsx"],"names":["twMerge","clsx","jsx","Fragment","jsxs"],"mappings":";;;;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAOA,qBAAA,CAAQC,SAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACDO,SAAS,aAAa,EAAE,SAAA,EAAW,UAAU,KAAA,EAAO,OAAA,EAAS,KAAI,EAAsB;AAC5F,EAAA,uCACG,KAAA,EAAA,EAAI,SAAA,EAAW,EAAA,CAAG,uDAAA,EAAyD,SAAS,CAAA,EACjF,QAAA,EAAA;AAAA,IAAA,CAAA,KAAA,IAAS,WAAW,GAAA,qBACpBC,cAAA,CAAAC,mBAAA,EAAA,EACE,QAAA,kBAAAC,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,wDAAA,EAEX,QAAA,EAAA;AAAA,MAAA,CAAA,KAAA,IAAS,OAAA,qBACTA,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yEAAA,EACZ,QAAA,EAAA;AAAA,QAAA,KAAA,oBACCF,cAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,iDAAA,EAAmD,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,QAExE,OAAA,oBAAWA,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,2BAA2B,QAAA,EAAA,OAAA,EAAQ;AAAA,OAAA,EAC9D,CAAA;AAAA,sBAGFA,cAAA,CAAC,SAAK,QAAA,EAAA,GAAA,EAAI;AAAA,KAAA,EACZ,CAAA,EACF,CAAA;AAAA,IAED,QAAA,oBAAYA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,4CAA4C,QAAA,EAAS;AAAA,GAAA,EACnF,CAAA;AAEJ","file":"content-block.cjs","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { cn } from \"../../lib/utils\";\n\nimport type { ContentBlockProps } from \"./types\";\n\nexport function ContentBlock({ className, children, title, subhead, cta }: ContentBlockProps) {\n return (\n <div className={cn(\"flex max-w-xl flex-col items-start gap-3 self-stretch\", className)}>\n {(title || subhead || cta) && (\n <>\n <div className=\"flex min-h-10 items-start justify-between self-stretch\">\n {/* Text Group */}\n {(title || subhead) && (\n <div className=\"flex min-h-10 shrink-0 grow basis-0 flex-col items-start justify-center\">\n {title && (\n <h2 className=\"font-decor text-decor-xs self-stretch font-bold\">{title}</h2>\n )}\n {subhead && <p className=\"text-base font-semibold\">{subhead}</p>}\n </div>\n )}\n {/* CTA */}\n <div>{cta}</div>\n </div>\n </>\n )}\n {children && <div className=\"prose prose-base max-w-(--width-xl) pb-3\">{children}</div>}\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/lib/utils.ts","../src/components/content-block/content-block.tsx"],"names":["twMerge","clsx","jsxs","jsx"],"mappings":";;;;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAOA,qBAAA,CAAQC,SAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACDO,SAAS,aAAa,EAAE,SAAA,EAAW,UAAU,KAAA,EAAO,OAAA,EAAS,KAAI,EAAsB;AAC5F,EAAA,uCACG,KAAA,EAAA,EAAI,SAAA,EAAW,EAAA,CAAG,uDAAA,EAAyD,SAAS,CAAA,EACjF,QAAA,EAAA;AAAA,IAAA,CAAA,KAAA,IAAS,OAAA,IAAW,GAAA,qBACpBC,eAAA,CAAC,KAAA,EAAA,EAAI,WAAU,wDAAA,EAEX,QAAA,EAAA;AAAA,MAAA,CAAA,KAAA,IAAS,OAAA,qBACTA,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yEAAA,EACZ,QAAA,EAAA;AAAA,QAAA,KAAA,oBACCC,cAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,iDAAA,EAAmD,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,QAExE,OAAA,oBAAWA,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,2BAA2B,QAAA,EAAA,OAAA,EAAQ;AAAA,OAAA,EAC9D,CAAA;AAAA,sBAGFA,cAAA,CAAC,SAAK,QAAA,EAAA,GAAA,EAAI;AAAA,KAAA,EACZ,CAAA;AAAA,IAED,QAAA,oBAAYA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,4CAA4C,QAAA,EAAS;AAAA,GAAA,EACnF,CAAA;AAEJ","file":"content-block.cjs","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { cn } from \"../../lib/utils\";\n\nimport type { ContentBlockProps } from \"./types\";\n\nexport function ContentBlock({ className, children, title, subhead, cta }: ContentBlockProps) {\n return (\n <div className={cn(\"flex max-w-xl flex-col items-start gap-3 self-stretch\", className)}>\n {(title || subhead || cta) && (\n <div className=\"flex min-h-10 items-start justify-between self-stretch\">\n {/* Text Group */}\n {(title || subhead) && (\n <div className=\"flex min-h-10 shrink-0 grow basis-0 flex-col items-start justify-center\">\n {title && (\n <h2 className=\"self-stretch font-bold font-decor text-decor-xs\">{title}</h2>\n )}\n {subhead && <p className=\"font-semibold text-base\">{subhead}</p>}\n </div>\n )}\n {/* CTA */}\n <div>{cta}</div>\n </div>\n )}\n {children && <div className=\"prose prose-base max-w-(--width-xl) pb-3\">{children}</div>}\n </div>\n );\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { clsx } from 'clsx';
2
2
  import { twMerge } from 'tailwind-merge';
3
- import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
4
 
5
5
  // src/lib/utils.ts
6
6
  function cn(...inputs) {
@@ -8,13 +8,13 @@ function cn(...inputs) {
8
8
  }
9
9
  function ContentBlock({ className, children, title, subhead, cta }) {
10
10
  return /* @__PURE__ */ jsxs("div", { className: cn("flex max-w-xl flex-col items-start gap-3 self-stretch", className), children: [
11
- (title || subhead || cta) && /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("div", { className: "flex min-h-10 items-start justify-between self-stretch", children: [
11
+ (title || subhead || cta) && /* @__PURE__ */ jsxs("div", { className: "flex min-h-10 items-start justify-between self-stretch", children: [
12
12
  (title || subhead) && /* @__PURE__ */ jsxs("div", { className: "flex min-h-10 shrink-0 grow basis-0 flex-col items-start justify-center", children: [
13
- title && /* @__PURE__ */ jsx("h2", { className: "font-decor text-decor-xs self-stretch font-bold", children: title }),
14
- subhead && /* @__PURE__ */ jsx("p", { className: "text-base font-semibold", children: subhead })
13
+ title && /* @__PURE__ */ jsx("h2", { className: "self-stretch font-bold font-decor text-decor-xs", children: title }),
14
+ subhead && /* @__PURE__ */ jsx("p", { className: "font-semibold text-base", children: subhead })
15
15
  ] }),
16
16
  /* @__PURE__ */ jsx("div", { children: cta })
17
- ] }) }),
17
+ ] }),
18
18
  children && /* @__PURE__ */ jsx("div", { className: "prose prose-base max-w-(--width-xl) pb-3", children })
19
19
  ] });
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/utils.ts","../src/components/content-block/content-block.tsx"],"names":[],"mappings":";;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACDO,SAAS,aAAa,EAAE,SAAA,EAAW,UAAU,KAAA,EAAO,OAAA,EAAS,KAAI,EAAsB;AAC5F,EAAA,4BACG,KAAA,EAAA,EAAI,SAAA,EAAW,EAAA,CAAG,uDAAA,EAAyD,SAAS,CAAA,EACjF,QAAA,EAAA;AAAA,IAAA,CAAA,KAAA,IAAS,WAAW,GAAA,qBACpB,GAAA,CAAA,QAAA,EAAA,EACE,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,wDAAA,EAEX,QAAA,EAAA;AAAA,MAAA,CAAA,KAAA,IAAS,OAAA,qBACT,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yEAAA,EACZ,QAAA,EAAA;AAAA,QAAA,KAAA,oBACC,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,iDAAA,EAAmD,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,QAExE,OAAA,oBAAW,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,2BAA2B,QAAA,EAAA,OAAA,EAAQ;AAAA,OAAA,EAC9D,CAAA;AAAA,sBAGF,GAAA,CAAC,SAAK,QAAA,EAAA,GAAA,EAAI;AAAA,KAAA,EACZ,CAAA,EACF,CAAA;AAAA,IAED,QAAA,oBAAY,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,4CAA4C,QAAA,EAAS;AAAA,GAAA,EACnF,CAAA;AAEJ","file":"content-block.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { cn } from \"../../lib/utils\";\n\nimport type { ContentBlockProps } from \"./types\";\n\nexport function ContentBlock({ className, children, title, subhead, cta }: ContentBlockProps) {\n return (\n <div className={cn(\"flex max-w-xl flex-col items-start gap-3 self-stretch\", className)}>\n {(title || subhead || cta) && (\n <>\n <div className=\"flex min-h-10 items-start justify-between self-stretch\">\n {/* Text Group */}\n {(title || subhead) && (\n <div className=\"flex min-h-10 shrink-0 grow basis-0 flex-col items-start justify-center\">\n {title && (\n <h2 className=\"font-decor text-decor-xs self-stretch font-bold\">{title}</h2>\n )}\n {subhead && <p className=\"text-base font-semibold\">{subhead}</p>}\n </div>\n )}\n {/* CTA */}\n <div>{cta}</div>\n </div>\n </>\n )}\n {children && <div className=\"prose prose-base max-w-(--width-xl) pb-3\">{children}</div>}\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/lib/utils.ts","../src/components/content-block/content-block.tsx"],"names":[],"mappings":";;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACDO,SAAS,aAAa,EAAE,SAAA,EAAW,UAAU,KAAA,EAAO,OAAA,EAAS,KAAI,EAAsB;AAC5F,EAAA,4BACG,KAAA,EAAA,EAAI,SAAA,EAAW,EAAA,CAAG,uDAAA,EAAyD,SAAS,CAAA,EACjF,QAAA,EAAA;AAAA,IAAA,CAAA,KAAA,IAAS,OAAA,IAAW,GAAA,qBACpB,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,wDAAA,EAEX,QAAA,EAAA;AAAA,MAAA,CAAA,KAAA,IAAS,OAAA,qBACT,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yEAAA,EACZ,QAAA,EAAA;AAAA,QAAA,KAAA,oBACC,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,iDAAA,EAAmD,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,QAExE,OAAA,oBAAW,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,2BAA2B,QAAA,EAAA,OAAA,EAAQ;AAAA,OAAA,EAC9D,CAAA;AAAA,sBAGF,GAAA,CAAC,SAAK,QAAA,EAAA,GAAA,EAAI;AAAA,KAAA,EACZ,CAAA;AAAA,IAED,QAAA,oBAAY,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,4CAA4C,QAAA,EAAS;AAAA,GAAA,EACnF,CAAA;AAEJ","file":"content-block.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { cn } from \"../../lib/utils\";\n\nimport type { ContentBlockProps } from \"./types\";\n\nexport function ContentBlock({ className, children, title, subhead, cta }: ContentBlockProps) {\n return (\n <div className={cn(\"flex max-w-xl flex-col items-start gap-3 self-stretch\", className)}>\n {(title || subhead || cta) && (\n <div className=\"flex min-h-10 items-start justify-between self-stretch\">\n {/* Text Group */}\n {(title || subhead) && (\n <div className=\"flex min-h-10 shrink-0 grow basis-0 flex-col items-start justify-center\">\n {title && (\n <h2 className=\"self-stretch font-bold font-decor text-decor-xs\">{title}</h2>\n )}\n {subhead && <p className=\"font-semibold text-base\">{subhead}</p>}\n </div>\n )}\n {/* CTA */}\n <div>{cta}</div>\n </div>\n )}\n {children && <div className=\"prose prose-base max-w-(--width-xl) pb-3\">{children}</div>}\n </div>\n );\n}\n"]}
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ var classVarianceAuthority = require('class-variance-authority');
4
+ var clsx = require('clsx');
5
+ var tailwindMerge = require('tailwind-merge');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ // src/components/default-header/default-header.tsx
9
+ function cn(...inputs) {
10
+ return tailwindMerge.twMerge(clsx.clsx(inputs));
11
+ }
12
+ var defaultHeaderVariants = classVarianceAuthority.cva(
13
+ "relative mx-auto flex w-full max-w-4xl flex-col items-center justify-center gap-4",
14
+ {
15
+ variants: {
16
+ hasImage: {
17
+ false: "px-4 pt-16 pb-6 lg:px-8 lg:pt-20 lg:pb-8",
18
+ true: "min-h-[384px] px-4 pt-16 pb-0 lg:min-h-[480px] lg:px-8 lg:pt-20 lg:pb-0"
19
+ }
20
+ },
21
+ defaultVariants: {
22
+ hasImage: false
23
+ }
24
+ }
25
+ );
26
+ function DefaultHeader({ className, cta, headline, image, subhead }) {
27
+ const hasImage = !!image;
28
+ return /* @__PURE__ */ jsxRuntime.jsxs(
29
+ "header",
30
+ {
31
+ "data-slot": "default-header",
32
+ className: cn(defaultHeaderVariants({ hasImage }), className),
33
+ children: [
34
+ hasImage && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pointer-events-none absolute inset-0 z-0 overflow-hidden", children: [
35
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 [&>img]:absolute [&>img]:inset-0 [&>img]:size-full [&>img]:object-cover [&>img]:object-center [&>picture>img]:size-full [&>picture>img]:object-cover [&>picture>img]:object-center [&>picture]:absolute [&>picture]:inset-0 [&>picture]:size-full", children: image }),
36
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-linear-to-b from-transparent to-black/30" })
37
+ ] }),
38
+ (headline != null || subhead != null) && /* @__PURE__ */ jsxRuntime.jsxs(
39
+ "div",
40
+ {
41
+ className: cn(
42
+ "relative z-10 mx-auto flex w-full max-w-xl flex-col items-start gap-4 self-stretch",
43
+ hasImage ? "text-white" : null
44
+ ),
45
+ children: [
46
+ headline != null && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "self-stretch text-center font-bold font-decor text-decor-md lg:text-decor-xl", children: headline }),
47
+ subhead != null && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-auto w-full max-w-xl text-center text-lg", children: subhead })
48
+ ]
49
+ }
50
+ ),
51
+ cta != null && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-10 mx-auto flex max-w-xl items-center justify-center gap-3 self-stretch py-1", children: cta })
52
+ ]
53
+ }
54
+ );
55
+ }
56
+
57
+ exports.DefaultHeader = DefaultHeader;
58
+ //# sourceMappingURL=default-header.cjs.map
59
+ //# sourceMappingURL=default-header.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/utils.ts","../src/components/default-header/default-header.tsx"],"names":["twMerge","clsx","cva","jsxs","jsx"],"mappings":";;;;;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAOA,qBAAA,CAAQC,SAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACAA,IAAM,qBAAA,GAAwBC,0BAAA;AAAA,EAC5B,mFAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,QAAA,EAAU;AAAA,QACR,KAAA,EAAO,0CAAA;AAAA,QACP,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,QAAA,EAAU;AAAA;AACZ;AAEJ,CAAA;AAEO,SAAS,cAAc,EAAE,SAAA,EAAW,KAAK,QAAA,EAAU,KAAA,EAAO,SAAQ,EAAuB;AAC9F,EAAA,MAAM,QAAA,GAAW,CAAC,CAAC,KAAA;AAEnB,EAAA,uBACEC,eAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,gBAAA;AAAA,MACV,WAAW,EAAA,CAAG,qBAAA,CAAsB,EAAE,QAAA,EAAU,GAAG,SAAS,CAAA;AAAA,MAE3D,QAAA,EAAA;AAAA,QAAA,QAAA,oBACCA,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,0DAAA,EACb,QAAA,EAAA;AAAA,0BAAAC,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,oQAAA,EACZ,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,0BACAA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,8DAAA,EAA+D;AAAA,SAAA,EAChF,CAAA;AAAA,QAAA,CAEA,QAAA,IAAY,IAAA,IAAQ,OAAA,IAAW,IAAA,qBAC/BD,eAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,EAAA;AAAA,cACT,oFAAA;AAAA,cACA,WAAW,YAAA,GAAe;AAAA,aAC5B;AAAA,YAEC,QAAA,EAAA;AAAA,cAAA,QAAA,IAAY,IAAA,oBACXC,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,gFACb,QAAA,EAAA,QAAA,EACH,CAAA;AAAA,cAED,WAAW,IAAA,oBACVA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,+CAA+C,QAAA,EAAA,OAAA,EAAQ;AAAA;AAAA;AAAA,SAE1E;AAAA,QAED,OAAO,IAAA,oBACNA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,2FACZ,QAAA,EAAA,GAAA,EACH;AAAA;AAAA;AAAA,GAEJ;AAEJ","file":"default-header.cjs","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { cva } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { DefaultHeaderProps } from \"./types\";\n\nconst defaultHeaderVariants = cva(\n \"relative mx-auto flex w-full max-w-4xl flex-col items-center justify-center gap-4\",\n {\n variants: {\n hasImage: {\n false: \"px-4 pt-16 pb-6 lg:px-8 lg:pt-20 lg:pb-8\",\n true: \"min-h-[384px] px-4 pt-16 pb-0 lg:min-h-[480px] lg:px-8 lg:pt-20 lg:pb-0\",\n },\n },\n defaultVariants: {\n hasImage: false,\n },\n },\n);\n\nexport function DefaultHeader({ className, cta, headline, image, subhead }: DefaultHeaderProps) {\n const hasImage = !!image;\n\n return (\n <header\n data-slot=\"default-header\"\n className={cn(defaultHeaderVariants({ hasImage }), className)}\n >\n {hasImage && (\n <div className=\"pointer-events-none absolute inset-0 z-0 overflow-hidden\">\n <div className=\"absolute inset-0 [&>img]:absolute [&>img]:inset-0 [&>img]:size-full [&>img]:object-cover [&>img]:object-center [&>picture>img]:size-full [&>picture>img]:object-cover [&>picture>img]:object-center [&>picture]:absolute [&>picture]:inset-0 [&>picture]:size-full\">\n {image}\n </div>\n <div className=\"absolute inset-0 bg-linear-to-b from-transparent to-black/30\" />\n </div>\n )}\n {(headline != null || subhead != null) && (\n <div\n className={cn(\n \"relative z-10 mx-auto flex w-full max-w-xl flex-col items-start gap-4 self-stretch\",\n hasImage ? \"text-white\" : null,\n )}\n >\n {headline != null && (\n <span className=\"self-stretch text-center font-bold font-decor text-decor-md lg:text-decor-xl\">\n {headline}\n </span>\n )}\n {subhead != null && (\n <div className=\"mx-auto w-full max-w-xl text-center text-lg\">{subhead}</div>\n )}\n </div>\n )}\n {cta != null && (\n <div className=\"relative z-10 mx-auto flex max-w-xl items-center justify-center gap-3 self-stretch py-1\">\n {cta}\n </div>\n )}\n </header>\n );\n}\n"]}
@@ -0,0 +1,19 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+
4
+ interface DefaultHeaderProps {
5
+ /** Call-to-action content rendered below headline and subhead */
6
+ cta?: React.ReactNode;
7
+ /** Primary headline text or node */
8
+ headline?: React.ReactNode;
9
+ /** Optional background image — when provided, header renders in overlay mode */
10
+ image?: React.ReactNode;
11
+ /** Secondary descriptive text beneath the headline */
12
+ subhead?: React.ReactNode;
13
+ /** className for consumer overrides */
14
+ className?: string;
15
+ }
16
+
17
+ declare function DefaultHeader({ className, cta, headline, image, subhead }: DefaultHeaderProps): react_jsx_runtime.JSX.Element;
18
+
19
+ export { DefaultHeader, type DefaultHeaderProps };
@@ -0,0 +1,19 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+
4
+ interface DefaultHeaderProps {
5
+ /** Call-to-action content rendered below headline and subhead */
6
+ cta?: React.ReactNode;
7
+ /** Primary headline text or node */
8
+ headline?: React.ReactNode;
9
+ /** Optional background image — when provided, header renders in overlay mode */
10
+ image?: React.ReactNode;
11
+ /** Secondary descriptive text beneath the headline */
12
+ subhead?: React.ReactNode;
13
+ /** className for consumer overrides */
14
+ className?: string;
15
+ }
16
+
17
+ declare function DefaultHeader({ className, cta, headline, image, subhead }: DefaultHeaderProps): react_jsx_runtime.JSX.Element;
18
+
19
+ export { DefaultHeader, type DefaultHeaderProps };
@@ -0,0 +1,57 @@
1
+ import { cva } from 'class-variance-authority';
2
+ import { clsx } from 'clsx';
3
+ import { twMerge } from 'tailwind-merge';
4
+ import { jsxs, jsx } from 'react/jsx-runtime';
5
+
6
+ // src/components/default-header/default-header.tsx
7
+ function cn(...inputs) {
8
+ return twMerge(clsx(inputs));
9
+ }
10
+ var defaultHeaderVariants = cva(
11
+ "relative mx-auto flex w-full max-w-4xl flex-col items-center justify-center gap-4",
12
+ {
13
+ variants: {
14
+ hasImage: {
15
+ false: "px-4 pt-16 pb-6 lg:px-8 lg:pt-20 lg:pb-8",
16
+ true: "min-h-[384px] px-4 pt-16 pb-0 lg:min-h-[480px] lg:px-8 lg:pt-20 lg:pb-0"
17
+ }
18
+ },
19
+ defaultVariants: {
20
+ hasImage: false
21
+ }
22
+ }
23
+ );
24
+ function DefaultHeader({ className, cta, headline, image, subhead }) {
25
+ const hasImage = !!image;
26
+ return /* @__PURE__ */ jsxs(
27
+ "header",
28
+ {
29
+ "data-slot": "default-header",
30
+ className: cn(defaultHeaderVariants({ hasImage }), className),
31
+ children: [
32
+ hasImage && /* @__PURE__ */ jsxs("div", { className: "pointer-events-none absolute inset-0 z-0 overflow-hidden", children: [
33
+ /* @__PURE__ */ jsx("div", { className: "absolute inset-0 [&>img]:absolute [&>img]:inset-0 [&>img]:size-full [&>img]:object-cover [&>img]:object-center [&>picture>img]:size-full [&>picture>img]:object-cover [&>picture>img]:object-center [&>picture]:absolute [&>picture]:inset-0 [&>picture]:size-full", children: image }),
34
+ /* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-linear-to-b from-transparent to-black/30" })
35
+ ] }),
36
+ (headline != null || subhead != null) && /* @__PURE__ */ jsxs(
37
+ "div",
38
+ {
39
+ className: cn(
40
+ "relative z-10 mx-auto flex w-full max-w-xl flex-col items-start gap-4 self-stretch",
41
+ hasImage ? "text-white" : null
42
+ ),
43
+ children: [
44
+ headline != null && /* @__PURE__ */ jsx("span", { className: "self-stretch text-center font-bold font-decor text-decor-md lg:text-decor-xl", children: headline }),
45
+ subhead != null && /* @__PURE__ */ jsx("div", { className: "mx-auto w-full max-w-xl text-center text-lg", children: subhead })
46
+ ]
47
+ }
48
+ ),
49
+ cta != null && /* @__PURE__ */ jsx("div", { className: "relative z-10 mx-auto flex max-w-xl items-center justify-center gap-3 self-stretch py-1", children: cta })
50
+ ]
51
+ }
52
+ );
53
+ }
54
+
55
+ export { DefaultHeader };
56
+ //# sourceMappingURL=default-header.js.map
57
+ //# sourceMappingURL=default-header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/utils.ts","../src/components/default-header/default-header.tsx"],"names":[],"mappings":";;;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACAA,IAAM,qBAAA,GAAwB,GAAA;AAAA,EAC5B,mFAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,QAAA,EAAU;AAAA,QACR,KAAA,EAAO,0CAAA;AAAA,QACP,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,QAAA,EAAU;AAAA;AACZ;AAEJ,CAAA;AAEO,SAAS,cAAc,EAAE,SAAA,EAAW,KAAK,QAAA,EAAU,KAAA,EAAO,SAAQ,EAAuB;AAC9F,EAAA,MAAM,QAAA,GAAW,CAAC,CAAC,KAAA;AAEnB,EAAA,uBACE,IAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,gBAAA;AAAA,MACV,WAAW,EAAA,CAAG,qBAAA,CAAsB,EAAE,QAAA,EAAU,GAAG,SAAS,CAAA;AAAA,MAE3D,QAAA,EAAA;AAAA,QAAA,QAAA,oBACC,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,0DAAA,EACb,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,oQAAA,EACZ,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,0BACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,8DAAA,EAA+D;AAAA,SAAA,EAChF,CAAA;AAAA,QAAA,CAEA,QAAA,IAAY,IAAA,IAAQ,OAAA,IAAW,IAAA,qBAC/B,IAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,EAAA;AAAA,cACT,oFAAA;AAAA,cACA,WAAW,YAAA,GAAe;AAAA,aAC5B;AAAA,YAEC,QAAA,EAAA;AAAA,cAAA,QAAA,IAAY,IAAA,oBACX,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,gFACb,QAAA,EAAA,QAAA,EACH,CAAA;AAAA,cAED,WAAW,IAAA,oBACV,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,+CAA+C,QAAA,EAAA,OAAA,EAAQ;AAAA;AAAA;AAAA,SAE1E;AAAA,QAED,OAAO,IAAA,oBACN,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,2FACZ,QAAA,EAAA,GAAA,EACH;AAAA;AAAA;AAAA,GAEJ;AAEJ","file":"default-header.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { cva } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { DefaultHeaderProps } from \"./types\";\n\nconst defaultHeaderVariants = cva(\n \"relative mx-auto flex w-full max-w-4xl flex-col items-center justify-center gap-4\",\n {\n variants: {\n hasImage: {\n false: \"px-4 pt-16 pb-6 lg:px-8 lg:pt-20 lg:pb-8\",\n true: \"min-h-[384px] px-4 pt-16 pb-0 lg:min-h-[480px] lg:px-8 lg:pt-20 lg:pb-0\",\n },\n },\n defaultVariants: {\n hasImage: false,\n },\n },\n);\n\nexport function DefaultHeader({ className, cta, headline, image, subhead }: DefaultHeaderProps) {\n const hasImage = !!image;\n\n return (\n <header\n data-slot=\"default-header\"\n className={cn(defaultHeaderVariants({ hasImage }), className)}\n >\n {hasImage && (\n <div className=\"pointer-events-none absolute inset-0 z-0 overflow-hidden\">\n <div className=\"absolute inset-0 [&>img]:absolute [&>img]:inset-0 [&>img]:size-full [&>img]:object-cover [&>img]:object-center [&>picture>img]:size-full [&>picture>img]:object-cover [&>picture>img]:object-center [&>picture]:absolute [&>picture]:inset-0 [&>picture]:size-full\">\n {image}\n </div>\n <div className=\"absolute inset-0 bg-linear-to-b from-transparent to-black/30\" />\n </div>\n )}\n {(headline != null || subhead != null) && (\n <div\n className={cn(\n \"relative z-10 mx-auto flex w-full max-w-xl flex-col items-start gap-4 self-stretch\",\n hasImage ? \"text-white\" : null,\n )}\n >\n {headline != null && (\n <span className=\"self-stretch text-center font-bold font-decor text-decor-md lg:text-decor-xl\">\n {headline}\n </span>\n )}\n {subhead != null && (\n <div className=\"mx-auto w-full max-w-xl text-center text-lg\">{subhead}</div>\n )}\n </div>\n )}\n {cta != null && (\n <div className=\"relative z-10 mx-auto flex max-w-xl items-center justify-center gap-3 self-stretch py-1\">\n {cta}\n </div>\n )}\n </header>\n );\n}\n"]}