@codefast/ui 0.3.16-canary.2 → 0.3.16-canary.3

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 (223) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +1 -1
  3. package/dist/components/accordion.mjs +2 -2
  4. package/dist/components/alert-dialog.d.mts +1 -1
  5. package/dist/components/alert-dialog.mjs +4 -4
  6. package/dist/components/alert.d.mts +3 -13
  7. package/dist/components/alert.mjs +3 -23
  8. package/dist/components/badge.d.mts +3 -15
  9. package/dist/components/badge.mjs +2 -44
  10. package/dist/components/breadcrumb.mjs +1 -1
  11. package/dist/components/button-group.d.mts +3 -13
  12. package/dist/components/button-group.mjs +3 -24
  13. package/dist/components/button.d.mts +3 -25
  14. package/dist/components/button.mjs +2 -72
  15. package/dist/components/calendar.mjs +2 -1
  16. package/dist/components/carousel.d.mts +1 -2
  17. package/dist/components/chart.d.mts +2 -4
  18. package/dist/components/checkbox.mjs +2 -2
  19. package/dist/components/context-menu.mjs +2 -2
  20. package/dist/components/dialog.d.mts +1 -1
  21. package/dist/components/dialog.mjs +4 -4
  22. package/dist/components/drawer.d.mts +1 -1
  23. package/dist/components/drawer.mjs +2 -2
  24. package/dist/components/dropdown-menu.mjs +2 -2
  25. package/dist/components/empty.d.mts +3 -13
  26. package/dist/components/empty.mjs +3 -18
  27. package/dist/components/field.d.mts +3 -14
  28. package/dist/components/field.mjs +3 -32
  29. package/dist/components/form.d.mts +2 -4
  30. package/dist/components/hover-card.mjs +1 -1
  31. package/dist/components/input-group.d.mts +4 -31
  32. package/dist/components/input-group.mjs +3 -90
  33. package/dist/components/input-number.mjs +4 -4
  34. package/dist/components/input-otp.mjs +2 -2
  35. package/dist/components/input.mjs +1 -1
  36. package/dist/components/item.d.mts +4 -29
  37. package/dist/components/item.mjs +3 -56
  38. package/dist/components/menubar.mjs +2 -2
  39. package/dist/components/native-select.mjs +1 -1
  40. package/dist/components/navigation-menu.d.mts +1 -6
  41. package/dist/components/navigation-menu.mjs +8 -15
  42. package/dist/components/pagination.d.mts +1 -1
  43. package/dist/components/pagination.mjs +1 -1
  44. package/dist/components/popover.mjs +1 -1
  45. package/dist/components/progress-circle.d.mts +3 -47
  46. package/dist/components/progress-circle.mjs +2 -47
  47. package/dist/components/progress.mjs +1 -1
  48. package/dist/components/radio-group.mjs +1 -1
  49. package/dist/components/radio.mjs +1 -1
  50. package/dist/components/scroll-area.d.mts +3 -19
  51. package/dist/components/scroll-area.mjs +4 -61
  52. package/dist/components/select.d.mts +1 -1
  53. package/dist/components/select.mjs +3 -3
  54. package/dist/components/separator.d.mts +3 -18
  55. package/dist/components/separator.mjs +3 -23
  56. package/dist/components/sheet.d.mts +6 -18
  57. package/dist/components/sheet.mjs +6 -49
  58. package/dist/components/sidebar.d.mts +4 -19
  59. package/dist/components/sidebar.mjs +10 -46
  60. package/dist/components/skeleton.mjs +1 -1
  61. package/dist/components/slider.mjs +1 -1
  62. package/dist/components/spinner.mjs +1 -1
  63. package/dist/components/switch.mjs +2 -2
  64. package/dist/components/table.mjs +1 -1
  65. package/dist/components/tabs.mjs +1 -1
  66. package/dist/components/textarea.mjs +1 -1
  67. package/dist/components/toggle-group.d.mts +3 -2
  68. package/dist/components/toggle-group.mjs +1 -1
  69. package/dist/components/toggle.d.mts +2 -21
  70. package/dist/components/toggle.mjs +2 -39
  71. package/dist/components/tooltip.mjs +1 -1
  72. package/dist/index.d.mts +31 -16
  73. package/dist/index.mjs +30 -15
  74. package/dist/lib/utils.d.mts +1 -12
  75. package/dist/lib/utils.mjs +1 -9
  76. package/dist/primitives/checkbox-group.d.mts +1 -2
  77. package/dist/primitives/input-number.d.mts +1 -2
  78. package/dist/primitives/input.d.mts +1 -2
  79. package/dist/primitives/progress-circle.d.mts +1 -2
  80. package/dist/variants/alert.d.mts +18 -0
  81. package/dist/variants/alert.mjs +25 -0
  82. package/dist/variants/badge.d.mts +20 -0
  83. package/dist/variants/badge.mjs +46 -0
  84. package/dist/variants/button-group.d.mts +18 -0
  85. package/dist/variants/button-group.mjs +26 -0
  86. package/dist/variants/button.d.mts +30 -0
  87. package/dist/variants/button.mjs +76 -0
  88. package/dist/variants/empty.d.mts +18 -0
  89. package/dist/variants/empty.mjs +20 -0
  90. package/dist/variants/field.d.mts +19 -0
  91. package/dist/variants/field.mjs +34 -0
  92. package/dist/variants/input-group.d.mts +43 -0
  93. package/dist/variants/input-group.mjs +93 -0
  94. package/dist/variants/item.d.mts +37 -0
  95. package/dist/variants/item.mjs +60 -0
  96. package/dist/variants/navigation-menu.d.mts +13 -0
  97. package/dist/variants/navigation-menu.mjs +12 -0
  98. package/dist/variants/progress-circle.d.mts +52 -0
  99. package/dist/variants/progress-circle.mjs +49 -0
  100. package/dist/variants/scroll-area.d.mts +24 -0
  101. package/dist/variants/scroll-area.mjs +63 -0
  102. package/dist/variants/separator.d.mts +23 -0
  103. package/dist/variants/separator.mjs +25 -0
  104. package/dist/variants/sheet.d.mts +20 -0
  105. package/dist/variants/sheet.mjs +50 -0
  106. package/dist/variants/sidebar.d.mts +23 -0
  107. package/dist/variants/sidebar.mjs +42 -0
  108. package/dist/variants/toggle.d.mts +23 -0
  109. package/dist/variants/toggle.mjs +43 -0
  110. package/package.json +168 -20
  111. package/src/components/accordion.tsx +156 -0
  112. package/src/components/alert-dialog.tsx +314 -0
  113. package/src/components/alert.tsx +86 -0
  114. package/src/components/aspect-ratio.tsx +28 -0
  115. package/src/components/avatar.tsx +84 -0
  116. package/src/components/badge.tsx +38 -0
  117. package/src/components/breadcrumb.tsx +197 -0
  118. package/src/components/button-group.tsx +107 -0
  119. package/src/components/button.tsx +66 -0
  120. package/src/components/calendar.tsx +277 -0
  121. package/src/components/card.tsx +175 -0
  122. package/src/components/carousel.tsx +367 -0
  123. package/src/components/chart.tsx +587 -0
  124. package/src/components/checkbox-cards.tsx +92 -0
  125. package/src/components/checkbox-group.tsx +83 -0
  126. package/src/components/checkbox.tsx +65 -0
  127. package/src/components/collapsible.tsx +60 -0
  128. package/src/components/command.tsx +311 -0
  129. package/src/components/context-menu.tsx +489 -0
  130. package/src/components/dialog.tsx +295 -0
  131. package/src/components/drawer.tsx +271 -0
  132. package/src/components/dropdown-menu.tsx +498 -0
  133. package/src/components/empty.tsx +169 -0
  134. package/src/components/field.tsx +362 -0
  135. package/src/components/form.tsx +300 -0
  136. package/src/components/hover-card.tsx +116 -0
  137. package/src/components/input-group.tsx +224 -0
  138. package/src/components/input-number.tsx +161 -0
  139. package/src/components/input-otp.tsx +151 -0
  140. package/src/components/input-password.tsx +74 -0
  141. package/src/components/input-search.tsx +98 -0
  142. package/src/components/input.tsx +52 -0
  143. package/src/components/item.tsx +280 -0
  144. package/src/components/kbd.tsx +59 -0
  145. package/src/components/label.tsx +44 -0
  146. package/src/components/menubar.tsx +531 -0
  147. package/src/components/native-select.tsx +96 -0
  148. package/src/components/navigation-menu.tsx +295 -0
  149. package/src/components/pagination.tsx +204 -0
  150. package/src/components/popover.tsx +139 -0
  151. package/src/components/progress-circle.tsx +203 -0
  152. package/src/components/progress.tsx +54 -0
  153. package/src/components/radio-cards.tsx +85 -0
  154. package/src/components/radio-group.tsx +79 -0
  155. package/src/components/radio.tsx +61 -0
  156. package/src/components/resizable.tsx +99 -0
  157. package/src/components/scroll-area.tsx +115 -0
  158. package/src/components/select.tsx +319 -0
  159. package/src/components/separator.tsx +74 -0
  160. package/src/components/sheet.tsx +278 -0
  161. package/src/components/sidebar.tsx +1056 -0
  162. package/src/components/skeleton.tsx +37 -0
  163. package/src/components/slider.tsx +95 -0
  164. package/src/components/sonner.tsx +47 -0
  165. package/src/components/spinner.tsx +75 -0
  166. package/src/components/switch.tsx +66 -0
  167. package/src/components/table.tsx +200 -0
  168. package/src/components/tabs.tsx +128 -0
  169. package/src/components/textarea.tsx +49 -0
  170. package/src/components/toggle-group.tsx +141 -0
  171. package/src/components/toggle.tsx +39 -0
  172. package/src/components/tooltip.tsx +141 -0
  173. package/src/css/amber.css +59 -22
  174. package/src/css/blue.css +59 -22
  175. package/src/css/cyan.css +59 -22
  176. package/src/css/emerald.css +59 -22
  177. package/src/css/fuchsia.css +59 -22
  178. package/src/css/gray.css +59 -22
  179. package/src/css/green.css +59 -22
  180. package/src/css/indigo.css +59 -22
  181. package/src/css/lime.css +59 -22
  182. package/src/css/neutral.css +59 -22
  183. package/src/css/orange.css +59 -22
  184. package/src/css/pink.css +59 -22
  185. package/src/css/preset.css +32 -13
  186. package/src/css/purple.css +59 -22
  187. package/src/css/red.css +59 -22
  188. package/src/css/rose.css +59 -22
  189. package/src/css/sky.css +59 -22
  190. package/src/css/slate.css +59 -22
  191. package/src/css/stone.css +59 -22
  192. package/src/css/teal.css +59 -22
  193. package/src/css/violet.css +59 -22
  194. package/src/css/yellow.css +59 -22
  195. package/src/css/zinc.css +59 -22
  196. package/src/hooks/use-animated-value.ts +97 -0
  197. package/src/hooks/use-copy-to-clipboard.ts +63 -0
  198. package/src/hooks/use-is-mobile.ts +27 -0
  199. package/src/hooks/use-media-query.ts +71 -0
  200. package/src/hooks/use-mutation-observer.ts +54 -0
  201. package/src/hooks/use-pagination.ts +166 -0
  202. package/src/index.ts +720 -0
  203. package/src/lib/utils.ts +5 -0
  204. package/src/primitives/checkbox-group.tsx +360 -0
  205. package/src/primitives/input-number.tsx +1013 -0
  206. package/src/primitives/input.tsx +243 -0
  207. package/src/primitives/progress-circle.tsx +537 -0
  208. package/src/variants/alert.ts +45 -0
  209. package/src/variants/badge.ts +66 -0
  210. package/src/variants/button-group.ts +49 -0
  211. package/src/variants/button.ts +93 -0
  212. package/src/variants/empty.ts +43 -0
  213. package/src/variants/field.ts +50 -0
  214. package/src/variants/input-group.ts +132 -0
  215. package/src/variants/item.ts +90 -0
  216. package/src/variants/navigation-menu.ts +32 -0
  217. package/src/variants/progress-circle.ts +47 -0
  218. package/src/variants/scroll-area.ts +79 -0
  219. package/src/variants/separator.ts +41 -0
  220. package/src/variants/sheet.ts +70 -0
  221. package/src/variants/sidebar.ts +61 -0
  222. package/src/variants/toggle.ts +59 -0
  223. package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/clsx.d.mts +0 -6
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @codefast/ui
2
2
 
3
+ ## 0.3.16-canary.3
4
+
5
+ ### Patch Changes
6
+
7
+ - [`6f61b94`](https://github.com/codefastlabs/codefast/commit/6f61b9477d3a8af78084502aa7d8e39c8623b861) Thanks [@thevuong](https://github.com/thevuong)! - refactor(ui): extract component variants into separate files
8
+
9
+ - [`2a82188`](https://github.com/codefastlabs/codefast/commit/2a82188264c204b0b519b3324402ae962594d29b) Thanks [@thevuong](https://github.com/thevuong)! - feat(dev): enable source condition for zero-rebuild HMR in apps/docs
10
+
11
+ - [`9b94464`](https://github.com/codefastlabs/codefast/commit/9b94464be2247bd5ead32dc3d5c921ae3a52070c) Thanks [@thevuong](https://github.com/thevuong)! - Use minimum `>=` ranges in peerDependencies instead of `^` caret ranges.
12
+
13
+ - [`0701beb`](https://github.com/codefastlabs/codefast/commit/0701beb99330b5ff60f2523c71e4d7b10bfb41b1) Thanks [@thevuong](https://github.com/thevuong)! - Migrate reduced-motion handling to Tailwind `motion-reduce` utilities across UI components.
14
+
15
+ - [`bb82c44`](https://github.com/codefastlabs/codefast/commit/bb82c44ea5033de18a1d2403c0f3396f3aac0e39) Thanks [@thevuong](https://github.com/thevuong)! - Refine component motion with spring, snappy, and gentle easing tokens, shimmer skeleton loading, consistent theme token ordering, polished transitions on overlay and form controls, and subtler checkbox, radio, and switch press feedback.
16
+
17
+ - [`4d859cd`](https://github.com/codefastlabs/codefast/commit/4d859cda4c87407710ccf0a99b89c2a2d3676bf9) Thanks [@thevuong](https://github.com/thevuong)! - Support system dark mode via prefers-color-scheme, soften dialog and sheet overlays with backdrop blur, and polish bottom sheet layout for mobile safe areas.
18
+
19
+ - [`08bd9ad`](https://github.com/codefastlabs/codefast/commit/08bd9ad3900cba6af1ab30b25f9c7c8b39bb2063) Thanks [@thevuong](https://github.com/thevuong)! - refactor(ui): simplify `utils.ts` imports and cleanup
20
+
21
+ - Updated dependencies [[`2a82188`](https://github.com/codefastlabs/codefast/commit/2a82188264c204b0b519b3324402ae962594d29b)]:
22
+ - @codefast/tailwind-variants@0.3.16-canary.3
23
+
3
24
  ## 0.3.16-canary.2
4
25
 
5
26
  ### Patch Changes
package/README.md CHANGED
@@ -48,7 +48,7 @@ Accessible, typed React components built on Radix UI primitives and styled with
48
48
 
49
49
  ## Requirements
50
50
 
51
- - React `^19` and `react-dom` (peer; `@types/*` are optional peers)
51
+ - React `>=19.0.0` and `react-dom` (peer; `@types/*` are optional peers)
52
52
  - Tailwind CSS `4.x` at build time (only if you use one of the theme CSS imports)
53
53
  - TypeScript `>= 5.9` (recommended)
54
54
 
@@ -30,7 +30,7 @@ function AccordionItem({ className, ...props }) {
30
30
  function AccordionIcon({ asChild, className, ...props }) {
31
31
  return /* @__PURE__ */ jsx(asChild ? Slot : ChevronDownIcon, {
32
32
  "aria-hidden": true,
33
- className: cn("size-4 shrink-0 text-muted-foreground", "translate-y-0.5 transition-transform duration-200", className),
33
+ className: cn("size-4 shrink-0 text-muted-foreground", "translate-y-0.5 transition-transform duration-300 ease-spring", "motion-reduce:transition-none motion-reduce:duration-0", className),
34
34
  "data-slot": "accordion-icon",
35
35
  ...props
36
36
  });
@@ -55,7 +55,7 @@ function AccordionTrigger({ children, className, ...props }) {
55
55
  */
56
56
  function AccordionContent({ children, className, ...props }) {
57
57
  return /* @__PURE__ */ jsx(AccordionPrimitive.Content, {
58
- className: cn("overflow-hidden", "data-open:animate-collapsible-down", "data-closed:animate-collapsible-up"),
58
+ className: cn("overflow-hidden", "data-open:animate-collapsible-down data-open:ease-snappy", "data-closed:animate-collapsible-up data-closed:ease-snappy", "motion-reduce:animate-none motion-reduce:transition-none"),
59
59
  "data-slot": "accordion-content",
60
60
  ...props,
61
61
  children: /* @__PURE__ */ jsx("div", {
@@ -1,5 +1,5 @@
1
1
  import { VariantProps } from "../lib/utils.mjs";
2
- import { buttonVariants } from "./button.mjs";
2
+ import { buttonVariants } from "../variants/button.mjs";
3
3
  import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
4
4
  import { ComponentProps, JSX } from "react";
5
5
 
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/utils.mjs";
3
- import { buttonVariants } from "./button.mjs";
3
+ import { buttonVariants } from "../variants/button.mjs";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
6
6
  //#region src/components/alert-dialog.tsx
@@ -27,10 +27,10 @@ function AlertDialogTrigger({ ...props }) {
27
27
  */
28
28
  function AlertDialogContent({ children, className, classNames, ...props }) {
29
29
  return /* @__PURE__ */ jsxs(AlertDialogPrimitive.Portal, { children: [/* @__PURE__ */ jsx(AlertDialogPrimitive.Overlay, {
30
- className: cn("fixed inset-0 z-50", "bg-black/50", "ease-ui data-open:animate-in data-open:fade-in-0", "data-closed:animate-out data-closed:fade-out-0", classNames?.overlay),
30
+ className: cn("fixed inset-0 z-50", "bg-black/50", "ease-ui data-open:animate-in data-open:fade-in-0", "data-closed:animate-out data-closed:fade-out-0", "motion-reduce:animate-none motion-reduce:transition-none", classNames?.overlay),
31
31
  "data-slot": "alert-dialog-overlay"
32
32
  }), /* @__PURE__ */ jsx(AlertDialogPrimitive.Content, {
33
- className: cn("fixed inset-0 z-50 grid grid-rows-[1fr_auto_1fr] justify-items-center overflow-auto p-8", "sm:grid-rows-[1fr_auto_3fr] sm:p-4", "ease-ui data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95", "data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", classNames?.wrapper),
33
+ className: cn("fixed inset-0 z-50 grid grid-rows-[1fr_auto_1fr] justify-items-center overflow-auto p-8", "sm:grid-rows-[1fr_auto_3fr] sm:p-4", "ease-ui data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95", "data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", "motion-reduce:animate-none motion-reduce:transition-none", classNames?.wrapper),
34
34
  "data-slot": "alert-dialog-content-wrapper",
35
35
  ...props,
36
36
  children: /* @__PURE__ */ jsx("div", {
@@ -107,7 +107,7 @@ function AlertDialogAction({ className, size, variant, ...props }) {
107
107
  /**
108
108
  * @since 0.3.16-canary.0
109
109
  */
110
- function AlertDialogCancel({ className, size, variant = "outline", ...props }) {
110
+ function AlertDialogCancel({ className, size, variant, ...props }) {
111
111
  return /* @__PURE__ */ jsx(AlertDialogPrimitive.Cancel, {
112
112
  className: buttonVariants({
113
113
  className,
@@ -1,21 +1,11 @@
1
- import { VariantProps } from "../lib/utils.mjs";
2
- import * as _$_codefast_tailwind_variants0 from "@codefast/tailwind-variants";
1
+ import { AlertVariants } from "../variants/alert.mjs";
3
2
  import { ComponentProps, JSX } from "react";
4
3
 
5
4
  //#region src/components/alert.d.ts
6
5
  /**
7
6
  * @since 0.3.16-canary.0
8
7
  */
9
- declare const alertVariants: _$_codefast_tailwind_variants0.VariantResolver<{
10
- variant: {
11
- default: string;
12
- destructive: string[];
13
- };
14
- }, Record<string, never>>;
15
- /**
16
- * @since 0.3.16-canary.0
17
- */
18
- interface AlertProps extends ComponentProps<"div">, VariantProps<typeof alertVariants> {}
8
+ interface AlertProps extends ComponentProps<"div">, AlertVariants {}
19
9
  /**
20
10
  * @since 0.3.16-canary.0
21
11
  */
@@ -48,4 +38,4 @@ declare function AlertDescription({
48
38
  ...props
49
39
  }: AlertDescriptionProps): JSX.Element;
50
40
  //#endregion
51
- export { Alert, AlertDescription, type AlertDescriptionProps, type AlertProps, AlertTitle, type AlertTitleProps, alertVariants };
41
+ export { Alert, AlertDescription, type AlertDescriptionProps, type AlertProps, AlertTitle, type AlertTitleProps };
@@ -1,30 +1,10 @@
1
- import { cn, tv } from "../lib/utils.mjs";
1
+ import { cn } from "../lib/utils.mjs";
2
+ import { alertVariants } from "../variants/alert.mjs";
2
3
  import { jsx } from "react/jsx-runtime";
3
4
  //#region src/components/alert.tsx
4
5
  /**
5
6
  * @since 0.3.16-canary.0
6
7
  */
7
- const alertVariants = tv({
8
- base: [
9
- "relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 px-4 py-3",
10
- "rounded-xl border",
11
- "bg-card text-sm",
12
- "has-[>svg]:grid-cols-[--spacing(4)_1fr] has-[>svg]:gap-x-3",
13
- "[&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current"
14
- ],
15
- defaultVariants: { variant: "default" },
16
- variants: { variant: {
17
- default: "text-card-foreground",
18
- destructive: [
19
- "text-destructive",
20
- "*:data-[slot=alert-description]:text-destructive/90",
21
- "[&>svg]:text-current"
22
- ]
23
- } }
24
- });
25
- /**
26
- * @since 0.3.16-canary.0
27
- */
28
8
  function Alert({ className, variant, ...props }) {
29
9
  return /* @__PURE__ */ jsx("div", {
30
10
  className: alertVariants({
@@ -58,4 +38,4 @@ function AlertDescription({ className, ...props }) {
58
38
  });
59
39
  }
60
40
  //#endregion
61
- export { Alert, AlertDescription, AlertTitle, alertVariants };
41
+ export { Alert, AlertDescription, AlertTitle };
@@ -1,23 +1,11 @@
1
- import { VariantProps } from "../lib/utils.mjs";
2
- import * as _$_codefast_tailwind_variants0 from "@codefast/tailwind-variants";
1
+ import { BadgeVariants } from "../variants/badge.mjs";
3
2
  import { ComponentProps, JSX } from "react";
4
3
 
5
4
  //#region src/components/badge.d.ts
6
5
  /**
7
6
  * @since 0.3.16-canary.0
8
7
  */
9
- declare const badgeVariants: _$_codefast_tailwind_variants0.VariantResolver<{
10
- variant: {
11
- default: string[];
12
- destructive: string[];
13
- outline: string[];
14
- secondary: string[];
15
- };
16
- }, Record<string, never>>;
17
- /**
18
- * @since 0.3.16-canary.0
19
- */
20
- interface BadgeProps extends ComponentProps<"span">, VariantProps<typeof badgeVariants> {
8
+ interface BadgeProps extends ComponentProps<"span">, BadgeVariants {
21
9
  asChild?: boolean;
22
10
  }
23
11
  /**
@@ -30,4 +18,4 @@ declare function Badge({
30
18
  ...props
31
19
  }: BadgeProps): JSX.Element;
32
20
  //#endregion
33
- export { Badge, type BadgeProps, badgeVariants };
21
+ export { Badge, type BadgeProps };
@@ -1,53 +1,11 @@
1
1
  "use client";
2
- import { tv } from "../lib/utils.mjs";
2
+ import { badgeVariants } from "../variants/badge.mjs";
3
3
  import { Slot } from "@radix-ui/react-slot";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region src/components/badge.tsx
6
6
  /**
7
7
  * @since 0.3.16-canary.0
8
8
  */
9
- const badgeVariants = tv({
10
- base: [
11
- "inline-flex w-fit shrink-0 items-center justify-center gap-2 px-1.5 py-0.5",
12
- "rounded-md border outline-hidden",
13
- "text-xs font-medium whitespace-nowrap",
14
- "transition",
15
- "focus-visible:ring-3 focus-visible:ring-ring/50",
16
- "[&>svg]:size-3 [&>svg]:shrink-0"
17
- ],
18
- defaultVariants: { variant: "default" },
19
- variants: { variant: {
20
- default: [
21
- "border-transparent",
22
- "bg-primary text-primary-foreground",
23
- "focus-visible:ring-primary/20",
24
- "dark:focus-visible:ring-primary/40",
25
- "[a&]:hover:bg-primary/80"
26
- ],
27
- destructive: [
28
- "border-transparent",
29
- "bg-destructive text-white",
30
- "focus-visible:ring-destructive/20",
31
- "dark:bg-destructive/60",
32
- "dark:focus-visible:ring-destructive/40",
33
- "[a&]:hover:bg-destructive/90"
34
- ],
35
- outline: [
36
- "border-input",
37
- "bg-background",
38
- "focus-visible:border-ring",
39
- "[a&]:hover:border-ring/60 [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
40
- ],
41
- secondary: [
42
- "border-transparent",
43
- "bg-secondary text-secondary-foreground",
44
- "[a&]:hover:bg-secondary/80"
45
- ]
46
- } }
47
- });
48
- /**
49
- * @since 0.3.16-canary.0
50
- */
51
9
  function Badge({ asChild, className, variant, ...props }) {
52
10
  return /* @__PURE__ */ jsx(asChild ? Slot : "span", {
53
11
  className: badgeVariants({
@@ -59,4 +17,4 @@ function Badge({ asChild, className, variant, ...props }) {
59
17
  });
60
18
  }
61
19
  //#endregion
62
- export { Badge, badgeVariants };
20
+ export { Badge };
@@ -39,7 +39,7 @@ function BreadcrumbItem({ className, ...props }) {
39
39
  */
40
40
  function BreadcrumbLink({ asChild, className, ...props }) {
41
41
  return /* @__PURE__ */ jsx(asChild ? Slot : "a", {
42
- className: cn("transition-colors", "hover:text-foreground", className),
42
+ className: cn("transition-colors motion-reduce:transition-none", "hover:text-foreground", className),
43
43
  "data-slot": "breadcrumb-link",
44
44
  ...props
45
45
  });
@@ -1,22 +1,12 @@
1
- import { VariantProps } from "../lib/utils.mjs";
1
+ import { ButtonGroupVariants } from "../variants/button-group.mjs";
2
2
  import { Separator } from "./separator.mjs";
3
- import * as _$_codefast_tailwind_variants0 from "@codefast/tailwind-variants";
4
3
  import { ComponentProps, JSX } from "react";
5
4
 
6
5
  //#region src/components/button-group.d.ts
7
6
  /**
8
7
  * @since 0.3.16-canary.0
9
8
  */
10
- declare const buttonGroupVariants: _$_codefast_tailwind_variants0.VariantResolver<{
11
- orientation: {
12
- horizontal: string[];
13
- vertical: string[];
14
- };
15
- }, Record<string, never>>;
16
- /**
17
- * @since 0.3.16-canary.0
18
- */
19
- type ButtonGroupProps = ComponentProps<"div"> & VariantProps<typeof buttonGroupVariants>;
9
+ type ButtonGroupProps = ComponentProps<"div"> & ButtonGroupVariants;
20
10
  /**
21
11
  * @since 0.3.16-canary.0
22
12
  */
@@ -52,4 +42,4 @@ declare function ButtonGroupSeparator({
52
42
  ...props
53
43
  }: ButtonGroupSeparatorProps): JSX.Element;
54
44
  //#endregion
55
- export { ButtonGroup, type ButtonGroupProps, ButtonGroupSeparator, type ButtonGroupSeparatorProps, ButtonGroupText, type ButtonGroupTextProps, buttonGroupVariants };
45
+ export { ButtonGroup, type ButtonGroupProps, ButtonGroupSeparator, type ButtonGroupSeparatorProps, ButtonGroupText, type ButtonGroupTextProps };
@@ -1,5 +1,6 @@
1
1
  "use client";
2
- import { cn, tv } from "../lib/utils.mjs";
2
+ import { cn } from "../lib/utils.mjs";
3
+ import { buttonGroupVariants } from "../variants/button-group.mjs";
3
4
  import { Separator } from "./separator.mjs";
4
5
  import { Slot } from "@radix-ui/react-slot";
5
6
  import { jsx } from "react/jsx-runtime";
@@ -7,28 +8,6 @@ import { jsx } from "react/jsx-runtime";
7
8
  /**
8
9
  * @since 0.3.16-canary.0
9
10
  */
10
- const buttonGroupVariants = tv({
11
- base: [
12
- "flex w-fit items-stretch",
13
- "has-[>[data-slot=button-group]]:gap-2",
14
- "[&>*]:focus-visible:relative [&>*]:focus-visible:z-10",
15
- "has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-lg",
16
- "[&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit",
17
- "[&>input]:flex-1"
18
- ],
19
- defaultVariants: { orientation: "horizontal" },
20
- variants: { orientation: {
21
- horizontal: ["[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0", "[&>*:not(:last-child)]:rounded-r-none"],
22
- vertical: [
23
- "flex-col",
24
- "[&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0",
25
- "[&>*:not(:last-child)]:rounded-b-none"
26
- ]
27
- } }
28
- });
29
- /**
30
- * @since 0.3.16-canary.0
31
- */
32
11
  function ButtonGroup({ className, orientation, ...props }) {
33
12
  return /* @__PURE__ */ jsx("div", {
34
13
  className: buttonGroupVariants({
@@ -62,4 +41,4 @@ function ButtonGroupSeparator({ className, orientation = "vertical", ...props })
62
41
  });
63
42
  }
64
43
  //#endregion
65
- export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants };
44
+ export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText };
@@ -1,33 +1,11 @@
1
- import { VariantProps } from "../lib/utils.mjs";
2
- import * as _$_codefast_tailwind_variants0 from "@codefast/tailwind-variants";
1
+ import { ButtonVariants } from "../variants/button.mjs";
3
2
  import { ComponentProps, JSX } from "react";
4
3
 
5
4
  //#region src/components/button.d.ts
6
5
  /**
7
6
  * @since 0.3.16-canary.0
8
7
  */
9
- declare const buttonVariants: _$_codefast_tailwind_variants0.VariantResolver<{
10
- size: {
11
- "icon-sm": string;
12
- icon: string;
13
- "icon-lg": string;
14
- sm: string[];
15
- md: string[];
16
- lg: string[];
17
- };
18
- variant: {
19
- default: string[];
20
- destructive: string[];
21
- ghost: string[];
22
- link: string[];
23
- outline: string[];
24
- secondary: string[];
25
- };
26
- }, Record<string, never>>;
27
- /**
28
- * @since 0.3.16-canary.0
29
- */
30
- type ButtonProps = ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
8
+ type ButtonProps = ComponentProps<"button"> & ButtonVariants & {
31
9
  asChild?: boolean;
32
10
  type?: ComponentProps<"button">["type"];
33
11
  };
@@ -44,4 +22,4 @@ declare function Button({
44
22
  ...props
45
23
  }: ButtonProps): JSX.Element;
46
24
  //#endregion
47
- export { Button, type ButtonProps, buttonVariants };
25
+ export { Button, type ButtonProps };
@@ -1,80 +1,10 @@
1
- import { tv } from "../lib/utils.mjs";
1
+ import { buttonVariants } from "../variants/button.mjs";
2
2
  import { Slot } from "@radix-ui/react-slot";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  //#region src/components/button.tsx
5
5
  /**
6
6
  * @since 0.3.16-canary.0
7
7
  */
8
- const buttonVariants = tv({
9
- base: [
10
- "inline-flex shrink-0 items-center justify-center gap-2",
11
- "rounded-lg outline-hidden",
12
- "text-sm font-medium whitespace-nowrap",
13
- "transition select-none",
14
- "focus-visible:ring-3",
15
- "disabled:opacity-50",
16
- "[&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"
17
- ],
18
- defaultVariants: {
19
- size: "md",
20
- variant: "default"
21
- },
22
- variants: {
23
- size: {
24
- "icon-sm": "size-8",
25
- icon: "size-9",
26
- "icon-lg": "size-10",
27
- sm: ["h-8 px-3", "has-[>svg]:px-2.5"],
28
- md: ["h-9 px-4", "has-[>svg]:px-3"],
29
- lg: ["h-10 px-6", "has-[>svg]:px-4"]
30
- },
31
- variant: {
32
- default: [
33
- "bg-primary text-primary-foreground",
34
- "hover:not-disabled:bg-primary/80",
35
- "focus-visible:ring-primary/20",
36
- "dark:focus-visible:ring-primary/40"
37
- ],
38
- destructive: [
39
- "bg-destructive text-white",
40
- "hover:not-disabled:bg-destructive/90",
41
- "focus-visible:ring-destructive/20",
42
- "dark:bg-destructive/60",
43
- "dark:focus-visible:ring-destructive/40"
44
- ],
45
- ghost: [
46
- "hover:not-disabled:bg-secondary hover:not-disabled:text-secondary-foreground",
47
- "focus-visible:ring-ring/50",
48
- "dark:hover:not-disabled:bg-secondary/50"
49
- ],
50
- link: [
51
- "text-primary underline-offset-4",
52
- "hover:not-disabled:underline",
53
- "focus-visible:ring-ring/50"
54
- ],
55
- outline: [
56
- "border border-input shadow-xs",
57
- "hover:not-disabled:border-ring/60 hover:not-disabled:bg-secondary hover:not-disabled:text-secondary-foreground",
58
- "focus-visible:border-ring focus-visible:ring-ring/50",
59
- "aria-invalid:border-destructive",
60
- "focus-within:aria-invalid:ring-destructive/20",
61
- "hover:not-disabled:aria-invalid:border-destructive/60",
62
- "dark:bg-input/30",
63
- "dark:hover:not-disabled:bg-input/50",
64
- "dark:aria-invalid:border-destructive/70",
65
- "dark:focus-within:aria-invalid:ring-destructive/40"
66
- ],
67
- secondary: [
68
- "bg-secondary text-secondary-foreground",
69
- "hover:not-disabled:bg-secondary/80",
70
- "focus-visible:ring-ring/50"
71
- ]
72
- }
73
- }
74
- });
75
- /**
76
- * @since 0.3.16-canary.0
77
- */
78
8
  function Button({ asChild = false, children, className, size, type = "button", variant, ...props }) {
79
9
  const Comp = asChild ? Slot : "button";
80
10
  if (asChild) return /* @__PURE__ */ jsx(Comp, {
@@ -102,4 +32,4 @@ function Button({ asChild = false, children, className, size, type = "button", v
102
32
  });
103
33
  }
104
34
  //#endregion
105
- export { Button, buttonVariants };
35
+ export { Button };
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/utils.mjs";
3
- import { Button, buttonVariants } from "./button.mjs";
3
+ import { buttonVariants } from "../variants/button.mjs";
4
+ import { Button } from "./button.mjs";
4
5
  import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
5
6
  import { jsx } from "react/jsx-runtime";
6
7
  import { useEffect, useRef } from "react";
@@ -1,6 +1,5 @@
1
1
  import { Button } from "./button.mjs";
2
2
  import { ComponentProps, JSX } from "react";
3
- import * as _$_radix_ui_react_context0 from "@radix-ui/react-context";
4
3
  import { Scope } from "@radix-ui/react-context";
5
4
  import useEmblaCarousel, { UseEmblaCarouselType } from "embla-carousel-react";
6
5
 
@@ -8,7 +7,7 @@ import useEmblaCarousel, { UseEmblaCarouselType } from "embla-carousel-react";
8
7
  type ScopedProps<P> = P & {
9
8
  __scopeCarousel?: Scope;
10
9
  };
11
- declare const createCarouselScope: _$_radix_ui_react_context0.CreateScope;
10
+ declare const createCarouselScope: import("@radix-ui/react-context").CreateScope;
12
11
  /**
13
12
  * @since 0.3.16-canary.0
14
13
  */
@@ -1,6 +1,4 @@
1
- import * as _$react from "react";
2
1
  import { ComponentProps, ComponentType, JSX, ReactNode } from "react";
3
- import * as _$_radix_ui_react_context0 from "@radix-ui/react-context";
4
2
  import { Scope } from "@radix-ui/react-context";
5
3
  import * as RechartsPrimitive from "recharts";
6
4
  import { TooltipContentProps, TooltipProps } from "recharts";
@@ -29,7 +27,7 @@ type ChartConfig = Record<string, {
29
27
  type ScopedProps<P> = P & {
30
28
  __scopeChart?: Scope;
31
29
  };
32
- declare const createChartScope: _$_radix_ui_react_context0.CreateScope;
30
+ declare const createChartScope: import("@radix-ui/react-context").CreateScope;
33
31
  /**
34
32
  * @since 0.3.16-canary.0
35
33
  */
@@ -109,7 +107,7 @@ type ChartLegendProps = ComponentProps<typeof RechartsPrimitive.Legend>;
109
107
  /**
110
108
  * @since 0.3.16-canary.0
111
109
  */
112
- declare const ChartLegend: _$react.MemoExoticComponent<(outsideProps: RechartsPrimitive.LegendProps) => React.ReactPortal | null>;
110
+ declare const ChartLegend: typeof RechartsPrimitive.Legend;
113
111
  /**
114
112
  * @since 0.3.16-canary.0
115
113
  */
@@ -9,11 +9,11 @@ import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
9
9
  */
10
10
  function Checkbox({ className, ...props }) {
11
11
  return /* @__PURE__ */ jsx(CheckboxPrimitive.Root, {
12
- className: cn("peer flex size-4 shrink-0 items-center justify-center", "rounded-sm border border-input shadow-xs outline-hidden", "text-primary-foreground", "transition", "hover:not-disabled:not-aria-checked:border-ring/60", "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50", "disabled:opacity-50", "aria-checked:border-primary aria-checked:bg-primary", "aria-checked:focus-visible:ring-primary/20", "aria-invalid:border-destructive aria-invalid:ring-destructive/20", "hover:not-disabled:not-aria-checked:aria-invalid:border-destructive/60", "aria-checked:aria-invalid:bg-destructive", "dark:bg-input/30", "dark:aria-checked:focus-visible:ring-primary/40", "dark:aria-invalid:ring-destructive/40", className),
12
+ className: cn("peer flex size-4 shrink-0 items-center justify-center", "rounded-sm border border-input shadow-xs outline-hidden", "text-primary-foreground", "transition-[border-color,background-color,box-shadow] duration-150 ease-spring", "motion-reduce:transition-none motion-reduce:duration-0", "hover:not-disabled:not-aria-checked:border-ring/60", "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50", "disabled:opacity-50", "aria-checked:border-primary aria-checked:bg-primary", "aria-checked:focus-visible:ring-primary/20", "aria-invalid:border-destructive aria-invalid:ring-destructive/20", "hover:not-disabled:not-aria-checked:aria-invalid:border-destructive/60", "aria-checked:aria-invalid:bg-destructive", "dark:bg-input/30", "dark:aria-checked:focus-visible:ring-primary/40", "dark:aria-invalid:ring-destructive/40", className),
13
13
  "data-slot": "checkbox",
14
14
  ...props,
15
15
  children: /* @__PURE__ */ jsx(CheckboxPrimitive.Indicator, {
16
- className: cn("flex items-center justify-center text-current", "transition-none"),
16
+ className: cn("flex items-center justify-center text-current", "animate-in duration-150 ease-spring zoom-in-50", "motion-reduce:animate-none motion-reduce:transition-none motion-reduce:duration-0"),
17
17
  "data-slot": "checkbox-indicator",
18
18
  children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-3.5" })
19
19
  })
@@ -66,7 +66,7 @@ function ContextMenuSubTrigger({ children, className, inset, ...props }) {
66
66
  */
67
67
  function ContextMenuSubContent({ className, ...props }) {
68
68
  return /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(ContextMenuPrimitive.SubContent, {
69
- className: cn("z-50", "min-w-32 overflow-hidden p-1", "rounded-lg border", "bg-popover text-popover-foreground shadow-lg", "ease-ui data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95", "data-open:data-side-top:slide-in-from-bottom-2", "data-open:data-side-right:slide-in-from-left-2", "data-open:data-side-bottom:slide-in-from-top-2", "data-open:data-side-left:slide-in-from-right-2", "data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", "data-closed:data-side-top:slide-out-to-bottom-2", "data-closed:data-side-right:slide-out-to-left-2", "data-closed:data-side-bottom:slide-out-to-top-2", "data-closed:data-side-left:slide-out-to-right-2", "origin-(--radix-context-menu-content-transform-origin)", className),
69
+ className: cn("z-50", "min-w-32 overflow-hidden p-1", "rounded-lg border", "bg-popover text-popover-foreground shadow-lg", "ease-snappy data-open:animate-in data-open:duration-200 data-open:fade-in-0 data-open:zoom-in-95", "data-open:data-side-top:slide-in-from-bottom-2", "data-open:data-side-right:slide-in-from-left-2", "data-open:data-side-bottom:slide-in-from-top-2", "data-open:data-side-left:slide-in-from-right-2", "data-closed:animate-out data-closed:duration-150 data-closed:fade-out-0 data-closed:zoom-out-95", "data-closed:data-side-top:slide-out-to-bottom-2", "data-closed:data-side-right:slide-out-to-left-2", "data-closed:data-side-bottom:slide-out-to-top-2", "data-closed:data-side-left:slide-out-to-right-2", "motion-reduce:animate-none motion-reduce:transition-none motion-reduce:duration-0", "origin-(--radix-context-menu-content-transform-origin)", className),
70
70
  "data-slot": "context-menu-sub-content",
71
71
  ...props
72
72
  }) });
@@ -76,7 +76,7 @@ function ContextMenuSubContent({ className, ...props }) {
76
76
  */
77
77
  function ContextMenuContent({ className, ...props }) {
78
78
  return /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(ContextMenuPrimitive.Content, {
79
- className: cn("z-50", "max-h-(--radix-context-menu-content-available-height) min-w-32 overflow-x-hidden overflow-y-auto p-1", "rounded-lg border", "bg-popover text-popover-foreground shadow-lg", "ease-ui data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95", "data-open:data-side-top:slide-in-from-bottom-2", "data-open:data-side-right:slide-in-from-left-2", "data-open:data-side-bottom:slide-in-from-top-2", "data-open:data-side-left:slide-in-from-right-2", "origin-(--radix-context-menu-content-transform-origin)", className),
79
+ className: cn("z-50", "max-h-(--radix-context-menu-content-available-height) min-w-32 overflow-x-hidden overflow-y-auto p-1", "rounded-lg border", "bg-popover text-popover-foreground shadow-lg", "ease-snappy data-open:animate-in data-open:duration-200 data-open:fade-in-0 data-open:zoom-in-95", "data-open:data-side-top:slide-in-from-bottom-2", "data-open:data-side-right:slide-in-from-left-2", "data-open:data-side-bottom:slide-in-from-top-2", "data-open:data-side-left:slide-in-from-right-2", "motion-reduce:animate-none motion-reduce:transition-none motion-reduce:duration-0", "origin-(--radix-context-menu-content-transform-origin)", className),
80
80
  "data-slot": "context-menu-content",
81
81
  ...props
82
82
  }) });
@@ -1,5 +1,5 @@
1
1
  import { VariantProps } from "../lib/utils.mjs";
2
- import { buttonVariants } from "./button.mjs";
2
+ import { buttonVariants } from "../variants/button.mjs";
3
3
  import { ComponentProps, JSX } from "react";
4
4
  import * as DialogPrimitive from "@radix-ui/react-dialog";
5
5
 
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/utils.mjs";
3
- import { buttonVariants } from "./button.mjs";
3
+ import { buttonVariants } from "../variants/button.mjs";
4
4
  import { XIcon } from "lucide-react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  import * as DialogPrimitive from "@radix-ui/react-dialog";
@@ -28,10 +28,10 @@ function DialogTrigger({ ...props }) {
28
28
  */
29
29
  function DialogContent({ children, className, classNames, ...props }) {
30
30
  return /* @__PURE__ */ jsxs(DialogPrimitive.Portal, { children: [/* @__PURE__ */ jsx(DialogPrimitive.Overlay, {
31
- className: cn("fixed inset-0 z-50", "bg-black/50", "ease-ui data-open:animate-in data-open:fade-in-0", "data-closed:animate-out data-closed:fade-out-0", classNames?.overlay),
31
+ className: cn("fixed inset-0 z-50", "bg-black/40 backdrop-blur-sm", "ease-gentle data-open:animate-in data-open:duration-300 data-open:fade-in-0", "data-closed:animate-out data-closed:duration-200 data-closed:fade-out-0", "motion-reduce:animate-none motion-reduce:transition-none motion-reduce:duration-0", classNames?.overlay),
32
32
  "data-slot": "dialog-overlay"
33
33
  }), /* @__PURE__ */ jsx(DialogPrimitive.Content, {
34
- className: cn("fixed inset-0 z-50 grid grid-rows-[1fr_auto] justify-items-center overflow-auto", "sm:grid-rows-[1fr_auto_3fr] sm:p-4", "ease-ui data-open:animate-in", "max-sm:data-open:animation-duration-500 max-sm:data-open:slide-in-from-bottom", "sm:data-open:fade-in-0 sm:data-open:zoom-in-95", "data-closed:animate-out", "max-sm:data-closed:animation-duration-500 max-sm:data-closed:slide-out-to-bottom", "sm:data-closed:fade-out-0 sm:data-closed:zoom-out-95", classNames?.wrapper),
34
+ className: cn("fixed inset-0 z-50 grid grid-rows-[1fr_auto] justify-items-center overflow-auto", "sm:grid-rows-[1fr_auto_3fr] sm:p-4", "ease-gentle data-open:animate-in data-open:duration-300", "max-sm:data-open:animation-duration-380 max-sm:data-open:slide-in-from-bottom", "sm:data-open:fade-in-0 sm:data-open:zoom-in-95", "data-closed:animate-out data-closed:duration-200", "max-sm:data-closed:animation-duration-280 max-sm:data-closed:slide-out-to-bottom", "sm:data-closed:fade-out-0 sm:data-closed:zoom-out-95", "motion-reduce:animate-none motion-reduce:transition-none motion-reduce:duration-0", classNames?.wrapper),
35
35
  "data-slot": "dialog-content-wrapper",
36
36
  ...props,
37
37
  children: /* @__PURE__ */ jsxs("div", {
@@ -105,7 +105,7 @@ function DialogDescription({ className, ...props }) {
105
105
  /**
106
106
  * @since 0.3.16-canary.0
107
107
  */
108
- function DialogClose({ className, size, variant = "outline", ...props }) {
108
+ function DialogClose({ className, size, variant, ...props }) {
109
109
  return /* @__PURE__ */ jsx(DialogPrimitive.Close, {
110
110
  className: buttonVariants({
111
111
  className,
@@ -1,5 +1,5 @@
1
1
  import { VariantProps } from "../lib/utils.mjs";
2
- import { buttonVariants } from "./button.mjs";
2
+ import { buttonVariants } from "../variants/button.mjs";
3
3
  import { ComponentProps, JSX } from "react";
4
4
  import { Drawer as Drawer$1 } from "vaul";
5
5
 
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { cn } from "../lib/utils.mjs";
3
- import { buttonVariants } from "./button.mjs";
3
+ import { buttonVariants } from "../variants/button.mjs";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  import { Drawer as Drawer$1 } from "vaul";
6
6
  //#region src/components/drawer.tsx
@@ -90,7 +90,7 @@ function DrawerDescription({ className, ...props }) {
90
90
  /**
91
91
  * @since 0.3.16-canary.0
92
92
  */
93
- function DrawerClose({ className, size, variant = "outline", ...props }) {
93
+ function DrawerClose({ className, size, variant, ...props }) {
94
94
  return /* @__PURE__ */ jsx(Drawer$1.Close, {
95
95
  className: buttonVariants({
96
96
  className,