@codefast/ui 0.3.16-canary.3 → 0.4.0-canary.5

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 (281) hide show
  1. package/CHANGELOG.md +112 -0
  2. package/README.md +27 -16
  3. package/dist/components/accordion.d.mts +7 -22
  4. package/dist/components/accordion.mjs +26 -29
  5. package/dist/components/alert-dialog.d.mts +27 -26
  6. package/dist/components/alert-dialog.mjs +53 -45
  7. package/dist/components/alert.d.mts +12 -2
  8. package/dist/components/alert.mjs +15 -6
  9. package/dist/components/aspect-ratio.d.mts +2 -2
  10. package/dist/components/aspect-ratio.mjs +2 -3
  11. package/dist/components/avatar.d.mts +41 -5
  12. package/dist/components/avatar.mjs +40 -10
  13. package/dist/components/badge.mjs +4 -4
  14. package/dist/components/breadcrumb.d.mts +1 -0
  15. package/dist/components/breadcrumb.mjs +11 -10
  16. package/dist/components/button-group.d.mts +1 -1
  17. package/dist/components/button-group.mjs +6 -7
  18. package/dist/components/button.d.mts +0 -1
  19. package/dist/components/button.mjs +7 -7
  20. package/dist/components/calendar.d.mts +6 -2
  21. package/dist/components/calendar.mjs +39 -43
  22. package/dist/components/card.d.mts +4 -2
  23. package/dist/components/card.mjs +9 -9
  24. package/dist/components/carousel.d.mts +16 -4
  25. package/dist/components/carousel.mjs +25 -12
  26. package/dist/components/chart.d.mts +8 -3
  27. package/dist/components/chart.mjs +21 -15
  28. package/dist/components/checkbox-cards.mjs +6 -6
  29. package/dist/components/checkbox-group.mjs +6 -7
  30. package/dist/components/checkbox.d.mts +2 -2
  31. package/dist/components/checkbox.mjs +8 -9
  32. package/dist/components/collapsible.d.mts +4 -4
  33. package/dist/components/collapsible.mjs +4 -5
  34. package/dist/components/command.d.mts +11 -1
  35. package/dist/components/command.mjs +35 -32
  36. package/dist/components/context-menu.d.mts +22 -15
  37. package/dist/components/context-menu.mjs +44 -39
  38. package/dist/components/dialog.d.mts +19 -23
  39. package/dist/components/dialog.mjs +48 -47
  40. package/dist/components/direction.d.mts +24 -0
  41. package/dist/components/direction.mjs +18 -0
  42. package/dist/components/drawer.d.mts +2 -20
  43. package/dist/components/drawer.mjs +17 -25
  44. package/dist/components/dropdown-menu.d.mts +22 -15
  45. package/dist/components/dropdown-menu.mjs +41 -37
  46. package/dist/components/empty.mjs +5 -5
  47. package/dist/components/field.d.mts +1 -1
  48. package/dist/components/field.mjs +11 -12
  49. package/dist/components/form.d.mts +6 -7
  50. package/dist/components/form.mjs +6 -7
  51. package/dist/components/hover-card.d.mts +5 -5
  52. package/dist/components/hover-card.mjs +14 -12
  53. package/dist/components/input-group.d.mts +1 -1
  54. package/dist/components/input-group.mjs +12 -7
  55. package/dist/components/input-number.d.mts +3 -1
  56. package/dist/components/input-number.mjs +49 -27
  57. package/dist/components/input-otp.mjs +9 -7
  58. package/dist/components/input-password.mjs +1 -4
  59. package/dist/components/input-search.mjs +3 -5
  60. package/dist/components/input.mjs +1 -2
  61. package/dist/components/item.mjs +9 -9
  62. package/dist/components/kbd.mjs +1 -1
  63. package/dist/components/label.d.mts +2 -2
  64. package/dist/components/label.mjs +3 -4
  65. package/dist/components/menubar.d.mts +22 -16
  66. package/dist/components/menubar.mjs +54 -47
  67. package/dist/components/native-select.d.mts +5 -1
  68. package/dist/components/native-select.mjs +9 -6
  69. package/dist/components/navigation-menu.d.mts +30 -8
  70. package/dist/components/navigation-menu.mjs +33 -23
  71. package/dist/components/pagination.d.mts +6 -0
  72. package/dist/components/pagination.mjs +26 -11
  73. package/dist/components/popover.d.mts +40 -7
  74. package/dist/components/popover.mjs +46 -14
  75. package/dist/components/progress-circle.d.mts +1 -1
  76. package/dist/components/progress-circle.mjs +1 -2
  77. package/dist/components/progress.d.mts +2 -2
  78. package/dist/components/progress.mjs +5 -6
  79. package/dist/components/radio-cards.d.mts +3 -3
  80. package/dist/components/radio-cards.mjs +11 -11
  81. package/dist/components/radio-group.d.mts +3 -3
  82. package/dist/components/radio-group.mjs +9 -9
  83. package/dist/components/radio.mjs +2 -3
  84. package/dist/components/resizable.mjs +3 -8
  85. package/dist/components/scroll-area.d.mts +5 -5
  86. package/dist/components/scroll-area.mjs +13 -10
  87. package/dist/components/select.d.mts +14 -14
  88. package/dist/components/select.mjs +47 -47
  89. package/dist/components/separator.d.mts +2 -2
  90. package/dist/components/separator.mjs +3 -4
  91. package/dist/components/sheet.d.mts +13 -14
  92. package/dist/components/sheet.mjs +41 -39
  93. package/dist/components/sidebar.d.mts +2 -3
  94. package/dist/components/sidebar.mjs +46 -46
  95. package/dist/components/skeleton.mjs +1 -1
  96. package/dist/components/slider.d.mts +2 -2
  97. package/dist/components/slider.mjs +9 -11
  98. package/dist/components/sonner.mjs +11 -3
  99. package/dist/components/spinner.mjs +6 -7
  100. package/dist/components/switch.d.mts +5 -2
  101. package/dist/components/switch.mjs +7 -7
  102. package/dist/components/table.mjs +10 -10
  103. package/dist/components/tabs.d.mts +8 -5
  104. package/dist/components/tabs.mjs +18 -12
  105. package/dist/components/textarea.mjs +1 -1
  106. package/dist/components/toggle-group.d.mts +9 -6
  107. package/dist/components/toggle-group.mjs +19 -20
  108. package/dist/components/toggle.d.mts +2 -3
  109. package/dist/components/toggle.mjs +4 -6
  110. package/dist/components/tooltip.d.mts +7 -6
  111. package/dist/components/tooltip.mjs +19 -17
  112. package/dist/hooks/use-animated-value.mjs +0 -1
  113. package/dist/hooks/use-copy-to-clipboard.mjs +0 -1
  114. package/dist/hooks/use-is-mobile.mjs +0 -1
  115. package/dist/hooks/use-media-query.mjs +0 -1
  116. package/dist/hooks/use-mutation-observer.mjs +0 -1
  117. package/dist/hooks/use-pagination.mjs +0 -1
  118. package/dist/index.d.mts +15 -13
  119. package/dist/index.mjs +18 -16
  120. package/dist/primitives/checkbox-group.d.mts +9 -10
  121. package/dist/primitives/checkbox-group.mjs +14 -19
  122. package/dist/primitives/input-number.d.mts +3 -3
  123. package/dist/primitives/input-number.mjs +3 -5
  124. package/dist/primitives/input.d.mts +4 -4
  125. package/dist/primitives/input.mjs +2 -3
  126. package/dist/primitives/progress-circle.d.mts +3 -3
  127. package/dist/primitives/progress-circle.mjs +2 -3
  128. package/dist/variants/alert.d.mts +1 -1
  129. package/dist/variants/alert.mjs +3 -13
  130. package/dist/variants/badge.d.mts +6 -4
  131. package/dist/variants/badge.mjs +7 -34
  132. package/dist/variants/button-group.d.mts +2 -2
  133. package/dist/variants/button-group.mjs +3 -14
  134. package/dist/variants/button.d.mts +12 -10
  135. package/dist/variants/button.mjs +15 -57
  136. package/dist/variants/empty.d.mts +1 -1
  137. package/dist/variants/empty.mjs +2 -7
  138. package/dist/variants/field.d.mts +3 -3
  139. package/dist/variants/field.mjs +4 -22
  140. package/dist/variants/input-group.d.mts +9 -9
  141. package/dist/variants/input-group.mjs +11 -70
  142. package/dist/variants/input-number.d.mts +45 -0
  143. package/dist/variants/input-number.mjs +40 -0
  144. package/dist/variants/item.d.mts +5 -4
  145. package/dist/variants/item.mjs +9 -31
  146. package/dist/variants/navigation-menu.d.mts +1 -1
  147. package/dist/variants/navigation-menu.mjs +1 -5
  148. package/dist/variants/progress-circle.d.mts +1 -1
  149. package/dist/variants/progress-circle.mjs +1 -5
  150. package/dist/variants/scroll-area.d.mts +2 -2
  151. package/dist/variants/scroll-area.mjs +3 -8
  152. package/dist/variants/separator.mjs +6 -6
  153. package/dist/variants/sheet.d.mts +4 -4
  154. package/dist/variants/sheet.mjs +5 -38
  155. package/dist/variants/sidebar.d.mts +4 -4
  156. package/dist/variants/sidebar.mjs +6 -23
  157. package/dist/variants/tabs.d.mts +18 -0
  158. package/dist/variants/tabs.mjs +15 -0
  159. package/dist/variants/toggle.d.mts +4 -4
  160. package/dist/variants/toggle.mjs +9 -27
  161. package/package.json +27 -44
  162. package/src/components/accordion.tsx +26 -68
  163. package/src/components/alert-dialog.tsx +70 -86
  164. package/src/components/alert.tsx +27 -19
  165. package/src/components/aspect-ratio.tsx +1 -4
  166. package/src/components/avatar.tsx +99 -12
  167. package/src/components/badge.tsx +5 -8
  168. package/src/components/breadcrumb.tsx +18 -24
  169. package/src/components/button-group.tsx +10 -20
  170. package/src/components/button.tsx +8 -19
  171. package/src/components/calendar.tsx +77 -132
  172. package/src/components/card.tsx +16 -22
  173. package/src/components/carousel.tsx +40 -58
  174. package/src/components/chart.tsx +41 -92
  175. package/src/components/checkbox-cards.tsx +11 -30
  176. package/src/components/checkbox-group.tsx +6 -28
  177. package/src/components/checkbox.tsx +6 -26
  178. package/src/components/collapsible.tsx +1 -4
  179. package/src/components/command.tsx +52 -65
  180. package/src/components/context-menu.tsx +46 -125
  181. package/src/components/dialog.tsx +49 -101
  182. package/src/components/direction.tsx +32 -0
  183. package/src/components/drawer.tsx +17 -79
  184. package/src/components/dropdown-menu.tsx +39 -118
  185. package/src/components/empty.tsx +6 -20
  186. package/src/components/field.tsx +19 -52
  187. package/src/components/form.tsx +19 -61
  188. package/src/components/hover-card.tsx +4 -27
  189. package/src/components/input-group.tsx +13 -52
  190. package/src/components/input-number.tsx +55 -75
  191. package/src/components/input-otp.tsx +19 -38
  192. package/src/components/input-password.tsx +5 -29
  193. package/src/components/input-search.tsx +6 -23
  194. package/src/components/input.tsx +1 -17
  195. package/src/components/item.tsx +17 -31
  196. package/src/components/kbd.tsx +2 -14
  197. package/src/components/label.tsx +2 -10
  198. package/src/components/menubar.tsx +34 -125
  199. package/src/components/native-select.tsx +21 -30
  200. package/src/components/navigation-menu.tsx +34 -94
  201. package/src/components/pagination.tsx +28 -34
  202. package/src/components/popover.tsx +66 -35
  203. package/src/components/progress-circle.tsx +7 -25
  204. package/src/components/progress.tsx +3 -16
  205. package/src/components/radio-cards.tsx +8 -27
  206. package/src/components/radio-group.tsx +7 -27
  207. package/src/components/radio.tsx +3 -24
  208. package/src/components/resizable.tsx +5 -26
  209. package/src/components/scroll-area.tsx +12 -32
  210. package/src/components/select.tsx +37 -60
  211. package/src/components/separator.tsx +4 -18
  212. package/src/components/sheet.tsx +37 -74
  213. package/src/components/sidebar.tsx +47 -177
  214. package/src/components/skeleton.tsx +1 -3
  215. package/src/components/slider.tsx +7 -36
  216. package/src/components/sonner.tsx +16 -6
  217. package/src/components/spinner.tsx +6 -15
  218. package/src/components/switch.tsx +8 -30
  219. package/src/components/table.tsx +18 -35
  220. package/src/components/tabs.tsx +16 -34
  221. package/src/components/textarea.tsx +1 -15
  222. package/src/components/toggle-group.tsx +34 -38
  223. package/src/components/toggle.tsx +4 -13
  224. package/src/components/tooltip.tsx +11 -37
  225. package/src/css/foundation/base.css +74 -0
  226. package/src/css/foundation/motion.css +69 -0
  227. package/src/css/foundation/source.css +10 -0
  228. package/src/css/foundation/tokens.css +107 -0
  229. package/src/css/foundation/variants.css +121 -0
  230. package/src/css/preset.css +13 -214
  231. package/src/css/style.css +9 -1
  232. package/src/css/{amber.css → themes/amber.css} +29 -0
  233. package/src/css/{blue.css → themes/blue.css} +29 -0
  234. package/src/css/{cyan.css → themes/cyan.css} +29 -0
  235. package/src/css/{emerald.css → themes/emerald.css} +29 -0
  236. package/src/css/{fuchsia.css → themes/fuchsia.css} +29 -0
  237. package/src/css/{gray.css → themes/gray.css} +29 -0
  238. package/src/css/{green.css → themes/green.css} +29 -0
  239. package/src/css/{indigo.css → themes/indigo.css} +29 -0
  240. package/src/css/{lime.css → themes/lime.css} +29 -0
  241. package/src/css/{neutral.css → themes/neutral.css} +29 -0
  242. package/src/css/{orange.css → themes/orange.css} +29 -0
  243. package/src/css/{pink.css → themes/pink.css} +29 -0
  244. package/src/css/{purple.css → themes/purple.css} +29 -0
  245. package/src/css/{red.css → themes/red.css} +29 -0
  246. package/src/css/{rose.css → themes/rose.css} +29 -0
  247. package/src/css/{sky.css → themes/sky.css} +29 -0
  248. package/src/css/{slate.css → themes/slate.css} +29 -0
  249. package/src/css/{stone.css → themes/stone.css} +29 -0
  250. package/src/css/{teal.css → themes/teal.css} +29 -0
  251. package/src/css/{violet.css → themes/violet.css} +29 -0
  252. package/src/css/{yellow.css → themes/yellow.css} +29 -0
  253. package/src/css/{zinc.css → themes/zinc.css} +29 -0
  254. package/src/hooks/use-animated-value.ts +1 -7
  255. package/src/hooks/use-copy-to-clipboard.ts +1 -6
  256. package/src/hooks/use-is-mobile.ts +0 -2
  257. package/src/hooks/use-media-query.ts +0 -2
  258. package/src/hooks/use-mutation-observer.ts +0 -3
  259. package/src/hooks/use-pagination.ts +0 -2
  260. package/src/index.ts +39 -80
  261. package/src/primitives/checkbox-group.tsx +25 -39
  262. package/src/primitives/input-number.tsx +17 -63
  263. package/src/primitives/input.tsx +8 -24
  264. package/src/primitives/progress-circle.tsx +13 -43
  265. package/src/variants/alert.ts +3 -14
  266. package/src/variants/badge.ts +8 -35
  267. package/src/variants/button-group.ts +5 -18
  268. package/src/variants/button.ts +21 -58
  269. package/src/variants/empty.ts +2 -11
  270. package/src/variants/field.ts +6 -19
  271. package/src/variants/input-group.ts +12 -64
  272. package/src/variants/input-number.ts +65 -0
  273. package/src/variants/item.ts +10 -32
  274. package/src/variants/navigation-menu.ts +1 -8
  275. package/src/variants/progress-circle.ts +1 -2
  276. package/src/variants/scroll-area.ts +3 -9
  277. package/src/variants/separator.ts +6 -7
  278. package/src/variants/sheet.ts +6 -39
  279. package/src/variants/sidebar.ts +7 -27
  280. package/src/variants/tabs.ts +34 -0
  281. package/src/variants/toggle.ts +9 -28
@@ -1,14 +1,13 @@
1
- "use client";
2
1
  import { cn } from "../lib/utils.mjs";
3
- import { CheckIcon, ChevronRightIcon, DotIcon } from "lucide-react";
2
+ import { CheckIcon, ChevronRightIcon } from "lucide-react";
3
+ import { DropdownMenu as DropdownMenu$1 } from "radix-ui";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
- import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
6
5
  //#region src/components/dropdown-menu.tsx
7
6
  /**
8
7
  * @since 0.3.16-canary.0
9
8
  */
10
9
  function DropdownMenu({ ...props }) {
11
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Root, {
10
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Root, {
12
11
  "data-slot": "dropdown-menu",
13
12
  ...props
14
13
  });
@@ -17,7 +16,7 @@ function DropdownMenu({ ...props }) {
17
16
  * @since 0.3.16-canary.0
18
17
  */
19
18
  function DropdownMenuTrigger({ ...props }) {
20
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Trigger, {
19
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Trigger, {
21
20
  "data-slot": "dropdown-menu-trigger",
22
21
  ...props
23
22
  });
@@ -26,7 +25,7 @@ function DropdownMenuTrigger({ ...props }) {
26
25
  * @since 0.3.16-canary.0
27
26
  */
28
27
  function DropdownMenuGroup({ ...props }) {
29
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Group, {
28
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Group, {
30
29
  "data-slot": "dropdown-menu-group",
31
30
  ...props
32
31
  });
@@ -35,7 +34,7 @@ function DropdownMenuGroup({ ...props }) {
35
34
  * @since 0.3.16-canary.0
36
35
  */
37
36
  function DropdownMenuSub({ ...props }) {
38
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Sub, {
37
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Sub, {
39
38
  "data-slot": "dropdown-menu-sub",
40
39
  ...props
41
40
  });
@@ -44,7 +43,7 @@ function DropdownMenuSub({ ...props }) {
44
43
  * @since 0.3.16-canary.0
45
44
  */
46
45
  function DropdownMenuRadioGroup({ ...props }) {
47
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.RadioGroup, {
46
+ return /* @__PURE__ */ jsx(DropdownMenu$1.RadioGroup, {
48
47
  "data-slot": "dropdown-menu-radio-group",
49
48
  ...props
50
49
  });
@@ -53,22 +52,22 @@ function DropdownMenuRadioGroup({ ...props }) {
53
52
  * @since 0.3.16-canary.0
54
53
  */
55
54
  function DropdownMenuSubTrigger({ children, className, inset, ...props }) {
56
- return /* @__PURE__ */ jsxs(DropdownMenuPrimitive.SubTrigger, {
57
- className: cn("flex items-center gap-x-2", "px-2 py-1.5", "rounded-sm outline-hidden", "text-sm", "cursor-default select-none", "focus:bg-accent focus:text-accent-foreground", "data-inset:pl-8", "data-open:bg-accent data-open:text-accent-foreground", className),
55
+ return /* @__PURE__ */ jsxs(DropdownMenu$1.SubTrigger, {
56
+ className: cn("flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:ps-8 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
58
57
  "data-inset": inset,
59
58
  "data-slot": "dropdown-menu-sub-trigger",
60
59
  ...props,
61
- children: [children, /* @__PURE__ */ jsx(ChevronRightIcon, { className: cn("size-4", "ml-auto") })]
60
+ children: [children, /* @__PURE__ */ jsx(ChevronRightIcon, { className: "ms-auto rtl:rotate-180" })]
62
61
  });
63
62
  }
64
63
  /**
65
64
  * @since 0.3.16-canary.0
66
65
  */
67
66
  function DropdownMenuSubContent({ className, ...props }) {
68
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, {
67
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Portal, {
69
68
  "data-slot": "dropdown-menu-portal",
70
- children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.SubContent, {
71
- 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-dropdown-menu-content-transform-origin)", className),
69
+ children: /* @__PURE__ */ jsx(DropdownMenu$1.SubContent, {
70
+ className: cn("z-50 min-w-24 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-foreground/10 ease-snappy data-open:animate-in data-open:animation-duration-menu-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:ease-exit data-closed:animation-duration-menu-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", className),
72
71
  "data-slot": "dropdown-menu-sub-content",
73
72
  ...props
74
73
  })
@@ -77,11 +76,12 @@ function DropdownMenuSubContent({ className, ...props }) {
77
76
  /**
78
77
  * @since 0.3.16-canary.0
79
78
  */
80
- function DropdownMenuContent({ className, sideOffset = 4, ...props }) {
81
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Portal, {
79
+ function DropdownMenuContent({ align = "start", className, sideOffset = 4, ...props }) {
80
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Portal, {
82
81
  "data-slot": "dropdown-menu-portal",
83
- children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.Content, {
84
- className: cn("z-50", "max-h-(--radix-dropdown-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", "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-dropdown-menu-content-transform-origin)", className),
82
+ children: /* @__PURE__ */ jsx(DropdownMenu$1.Content, {
83
+ align,
84
+ className: cn("z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 ease-snappy data-open:animate-in data-open:animation-duration-menu-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:ease-exit data-closed:animation-duration-menu-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", className),
85
85
  "data-slot": "dropdown-menu-content",
86
86
  sideOffset,
87
87
  ...props
@@ -91,9 +91,9 @@ function DropdownMenuContent({ className, sideOffset = 4, ...props }) {
91
91
  /**
92
92
  * @since 0.3.16-canary.0
93
93
  */
94
- function DropdownMenuItem({ className, inset, variant, ...props }) {
95
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Item, {
96
- className: cn("group/dropdown-menu-item relative flex items-center gap-x-2", "px-2 py-1.5", "rounded-sm outline-hidden", "text-sm", "cursor-default select-none", "focus:bg-accent focus:text-accent-foreground", "aria-disabled:opacity-50", "data-inset:pl-8", "data-[variant=destructive]:text-destructive", "data-[variant=destructive]:focus:bg-destructive/10", "dark:data-[variant=destructive]:focus:bg-destructive/20", "data-[variant=destructive]:[&_svg:not([class*='text-'])]:text-destructive/80", "[&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", "[&_svg:not([class*='text-'])]:text-muted-foreground", className),
94
+ function DropdownMenuItem({ className, inset, variant = "default", ...props }) {
95
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Item, {
96
+ className: cn("group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:ps-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive", className),
97
97
  "data-inset": inset,
98
98
  "data-slot": "dropdown-menu-item",
99
99
  "data-variant": variant,
@@ -103,29 +103,33 @@ function DropdownMenuItem({ className, inset, variant, ...props }) {
103
103
  /**
104
104
  * @since 0.3.16-canary.0
105
105
  */
106
- function DropdownMenuCheckboxItem({ checked, children, className, ...props }) {
107
- return /* @__PURE__ */ jsxs(DropdownMenuPrimitive.CheckboxItem, {
106
+ function DropdownMenuCheckboxItem({ checked, children, className, inset, ...props }) {
107
+ return /* @__PURE__ */ jsxs(DropdownMenu$1.CheckboxItem, {
108
108
  checked,
109
- className: cn("group/dropdown-menu-item relative flex items-center gap-x-2", "py-1.5 pr-2 pl-8", "rounded-sm outline-hidden", "text-sm", "cursor-default select-none", "focus:bg-accent focus:text-accent-foreground", "aria-disabled:opacity-50", "[&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
109
+ className: cn("relative flex cursor-default items-center gap-2 rounded-sm py-1.5 ps-2 pe-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
110
+ "data-inset": inset,
110
111
  "data-slot": "dropdown-menu-checkbox-item",
111
112
  ...props,
112
113
  children: [/* @__PURE__ */ jsx("span", {
113
- className: cn("absolute flex items-center justify-center", "left-2"),
114
- children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-4" }) })
114
+ className: "pointer-events-none absolute end-2 flex items-center justify-center",
115
+ "data-slot": "dropdown-menu-checkbox-item-indicator",
116
+ children: /* @__PURE__ */ jsx(DropdownMenu$1.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
115
117
  }), children]
116
118
  });
117
119
  }
118
120
  /**
119
121
  * @since 0.3.16-canary.0
120
122
  */
121
- function DropdownMenuRadioItem({ children, className, ...props }) {
122
- return /* @__PURE__ */ jsxs(DropdownMenuPrimitive.RadioItem, {
123
- className: cn("group/dropdown-menu-item relative flex items-center gap-x-2", "py-1.5 pr-2 pl-8", "rounded-sm outline-hidden", "text-sm", "cursor-default select-none", "focus:bg-accent focus:text-accent-foreground", "aria-disabled:opacity-50", "[&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
123
+ function DropdownMenuRadioItem({ children, className, inset, ...props }) {
124
+ return /* @__PURE__ */ jsxs(DropdownMenu$1.RadioItem, {
125
+ className: cn("relative flex cursor-default items-center gap-2 rounded-sm py-1.5 ps-2 pe-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
126
+ "data-inset": inset,
124
127
  "data-slot": "dropdown-menu-radio-item",
125
128
  ...props,
126
129
  children: [/* @__PURE__ */ jsx("span", {
127
- className: cn("absolute flex items-center justify-center", "left-2"),
128
- children: /* @__PURE__ */ jsx(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(DotIcon, { className: cn("size-4", "fill-current") }) })
130
+ className: "pointer-events-none absolute end-2 flex items-center justify-center",
131
+ "data-slot": "dropdown-menu-radio-item-indicator",
132
+ children: /* @__PURE__ */ jsx(DropdownMenu$1.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, {}) })
129
133
  }), children]
130
134
  });
131
135
  }
@@ -133,8 +137,8 @@ function DropdownMenuRadioItem({ children, className, ...props }) {
133
137
  * @since 0.3.16-canary.0
134
138
  */
135
139
  function DropdownMenuLabel({ className, inset, ...props }) {
136
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Label, {
137
- className: cn("flex items-center gap-x-2", "px-2 py-1.5", "text-sm font-semibold", "data-inset:pl-8", className),
140
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Label, {
141
+ className: cn("px-2 py-1.5 text-xs font-medium text-muted-foreground data-inset:ps-8", className),
138
142
  "data-inset": inset,
139
143
  "data-slot": "dropdown-menu-label",
140
144
  ...props
@@ -144,8 +148,8 @@ function DropdownMenuLabel({ className, inset, ...props }) {
144
148
  * @since 0.3.16-canary.0
145
149
  */
146
150
  function DropdownMenuSeparator({ className, ...props }) {
147
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Separator, {
148
- className: cn("mx-2 my-1 h-px", "bg-border", className),
151
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Separator, {
152
+ className: cn("-mx-1 my-1 h-px bg-border", className),
149
153
  "data-slot": "dropdown-menu-separator",
150
154
  ...props
151
155
  });
@@ -155,7 +159,7 @@ function DropdownMenuSeparator({ className, ...props }) {
155
159
  */
156
160
  function DropdownMenuShortcut({ className, ...props }) {
157
161
  return /* @__PURE__ */ jsx("span", {
158
- className: cn("ml-auto", "text-xs tracking-widest text-muted-foreground", "group-data-[variant=destructive]/dropdown-menu-item:text-destructive/80", className),
162
+ className: cn("ms-auto text-xs tracking-widest text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground", className),
159
163
  "data-slot": "dropdown-menu-shortcut",
160
164
  ...props
161
165
  });
@@ -164,7 +168,7 @@ function DropdownMenuShortcut({ className, ...props }) {
164
168
  * @since 0.3.16-canary.0
165
169
  */
166
170
  function DropdownMenuArrow({ className, ...props }) {
167
- return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Arrow, {
171
+ return /* @__PURE__ */ jsx(DropdownMenu$1.Arrow, {
168
172
  className: cn("fill-popover", className),
169
173
  "data-slot": "dropdown-menu-arrow",
170
174
  ...props
@@ -7,7 +7,7 @@ import { jsx } from "react/jsx-runtime";
7
7
  */
8
8
  function Empty({ className, ...props }) {
9
9
  return /* @__PURE__ */ jsx("div", {
10
- className: cn("flex min-w-0 flex-1 flex-col items-center justify-center gap-6 p-6", "rounded-xl border-dashed", "text-center text-balance", "md:p-12", className),
10
+ className: cn("flex w-full min-w-0 flex-1 flex-col items-center justify-center gap-4 rounded-lg border-dashed p-12 text-center text-balance", className),
11
11
  "data-slot": "empty",
12
12
  ...props
13
13
  });
@@ -17,7 +17,7 @@ function Empty({ className, ...props }) {
17
17
  */
18
18
  function EmptyHeader({ className, ...props }) {
19
19
  return /* @__PURE__ */ jsx("div", {
20
- className: cn("flex max-w-sm flex-col items-center gap-2", "text-center", className),
20
+ className: cn("flex max-w-sm flex-col items-center gap-2", className),
21
21
  "data-slot": "empty-header",
22
22
  ...props
23
23
  });
@@ -41,7 +41,7 @@ function EmptyMedia({ className, variant = "default", ...props }) {
41
41
  */
42
42
  function EmptyTitle({ className, ...props }) {
43
43
  return /* @__PURE__ */ jsx("div", {
44
- className: cn("text-lg font-medium tracking-tight", className),
44
+ className: cn("font-heading text-lg font-medium tracking-tight", className),
45
45
  "data-slot": "empty-title",
46
46
  ...props
47
47
  });
@@ -51,7 +51,7 @@ function EmptyTitle({ className, ...props }) {
51
51
  */
52
52
  function EmptyDescription({ className, ...props }) {
53
53
  return /* @__PURE__ */ jsx("p", {
54
- className: cn("text-sm/relaxed text-muted-foreground", "[&>a]:underline [&>a]:underline-offset-4", "[&>a:hover]:text-primary", className),
54
+ className: cn("text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", className),
55
55
  "data-slot": "empty-description",
56
56
  ...props
57
57
  });
@@ -61,7 +61,7 @@ function EmptyDescription({ className, ...props }) {
61
61
  */
62
62
  function EmptyContent({ className, ...props }) {
63
63
  return /* @__PURE__ */ jsx("div", {
64
- className: cn("flex w-full max-w-sm min-w-0 flex-col items-center gap-4", "text-sm text-balance", className),
64
+ className: cn("flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm text-balance", className),
65
65
  "data-slot": "empty-content",
66
66
  ...props
67
67
  });
@@ -1,5 +1,5 @@
1
- import { FieldVariants } from "../variants/field.mjs";
2
1
  import { Label } from "./label.mjs";
2
+ import { FieldVariants } from "../variants/field.mjs";
3
3
  import { ComponentProps, JSX } from "react";
4
4
 
5
5
  //#region src/components/field.d.ts
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  import { cn } from "../lib/utils.mjs";
3
2
  import { Separator } from "./separator.mjs";
4
3
  import { Label } from "./label.mjs";
@@ -11,7 +10,7 @@ import { useMemo } from "react";
11
10
  */
12
11
  function FieldSet({ className, ...props }) {
13
12
  return /* @__PURE__ */ jsx("fieldset", {
14
- className: cn("flex flex-col gap-6", "has-[>[data-slot=checkbox-group]]:gap-3", "has-[>[data-slot=radio-group]]:gap-3", className),
13
+ className: cn("flex flex-col gap-6 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3", className),
15
14
  "data-slot": "field-set",
16
15
  ...props
17
16
  });
@@ -21,7 +20,7 @@ function FieldSet({ className, ...props }) {
21
20
  */
22
21
  function FieldLegend({ className, variant = "legend", ...props }) {
23
22
  return /* @__PURE__ */ jsx("legend", {
24
- className: cn("mb-3", "text-base font-medium", "data-[variant=label]:text-sm", className),
23
+ className: cn("mb-3 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base", className),
25
24
  "data-slot": "field-legend",
26
25
  "data-variant": variant,
27
26
  ...props
@@ -32,7 +31,7 @@ function FieldLegend({ className, variant = "legend", ...props }) {
32
31
  */
33
32
  function FieldGroup({ className, ...props }) {
34
33
  return /* @__PURE__ */ jsx("div", {
35
- className: cn("group/field-group @container/field-group flex w-full flex-col gap-7", "data-[slot=checkbox-group]:gap-3", "[&>[data-slot=field-group]]:gap-4", className),
34
+ className: cn("group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4", className),
36
35
  "data-slot": "field-group",
37
36
  ...props
38
37
  });
@@ -57,7 +56,7 @@ function Field({ className, orientation = "vertical", ...props }) {
57
56
  */
58
57
  function FieldContent({ className, ...props }) {
59
58
  return /* @__PURE__ */ jsx("div", {
60
- className: cn("group/field-content flex flex-1 flex-col gap-1.5", "leading-snug", className),
59
+ className: cn("group/field-content flex flex-1 flex-col gap-1 leading-snug", className),
61
60
  "data-slot": "field-content",
62
61
  ...props
63
62
  });
@@ -67,7 +66,7 @@ function FieldContent({ className, ...props }) {
67
66
  */
68
67
  function FieldLabel({ className, ...props }) {
69
68
  return /* @__PURE__ */ jsx(Label, {
70
- className: cn("group/field-label peer/field-label flex w-fit gap-2 leading-snug", "group-data-disabled/field:opacity-50", "has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border", "has-data-checked:border-primary has-data-checked:bg-primary/5", "dark:has-data-checked:bg-primary/10", "[&>*]:data-[slot=field]:p-4", className),
69
+ className: cn("group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-disabled/field:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border *:data-[slot=field]:p-3 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10", "has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col", className),
71
70
  "data-slot": "field-label",
72
71
  ...props
73
72
  });
@@ -77,7 +76,7 @@ function FieldLabel({ className, ...props }) {
77
76
  */
78
77
  function FieldTitle({ className, ...props }) {
79
78
  return /* @__PURE__ */ jsx("div", {
80
- className: cn("flex w-fit items-center gap-2 text-sm leading-snug font-medium", "group-data-disabled/field:opacity-50", className),
79
+ className: cn("flex w-fit items-center gap-2 text-sm font-medium group-data-disabled/field:opacity-50", className),
81
80
  "data-slot": "field-label",
82
81
  ...props
83
82
  });
@@ -87,7 +86,7 @@ function FieldTitle({ className, ...props }) {
87
86
  */
88
87
  function FieldDescription({ className, ...props }) {
89
88
  return /* @__PURE__ */ jsx("p", {
90
- className: cn("text-sm leading-normal font-normal text-muted-foreground", "group-has-data-[orientation=horizontal]/field:text-balance", "last:mt-0", "nth-last-2:-mt-1", "[&>a]:underline [&>a]:underline-offset-4", "[&>a:hover]:text-primary", "[[data-variant=legend]+&]:-mt-1.5", className),
89
+ className: cn("text-start text-sm leading-normal font-normal text-muted-foreground group-has-data-horizontal/field:text-balance [[data-variant=legend]+&]:-mt-1.5", "last:mt-0 nth-last-2:-mt-1", "[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", className),
91
90
  "data-slot": "field-description",
92
91
  ...props
93
92
  });
@@ -98,12 +97,12 @@ function FieldDescription({ className, ...props }) {
98
97
  function FieldSeparator({ children, className, ...props }) {
99
98
  const hasContent = Boolean(children);
100
99
  return /* @__PURE__ */ jsxs("div", {
101
- className: cn("relative", "-my-2 h-5 text-sm", "group-data-[variant=outline]/field-group:-mb-2", className),
100
+ className: cn("relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2", className),
102
101
  "data-content": hasContent,
103
102
  "data-slot": "field-separator",
104
103
  ...props,
105
- children: [/* @__PURE__ */ jsx(Separator, { className: cn("absolute", "inset-0 top-1/2") }), hasContent ? /* @__PURE__ */ jsx("span", {
106
- className: cn("relative block", "mx-auto w-fit px-2", "bg-background text-muted-foreground"),
104
+ children: [/* @__PURE__ */ jsx(Separator, { className: "absolute inset-0 top-1/2" }), hasContent ? /* @__PURE__ */ jsx("span", {
105
+ className: "relative mx-auto block w-fit bg-background px-2 text-muted-foreground",
107
106
  "data-slot": "field-separator-content",
108
107
  children
109
108
  }) : null]
@@ -118,7 +117,7 @@ function FieldError({ children, className, errors, ...props }) {
118
117
  const uniqueErrors = [...new Map(errors.map((error) => [error?.message, error])).values()];
119
118
  if (uniqueErrors.length === 1) return uniqueErrors[0]?.message ?? null;
120
119
  return /* @__PURE__ */ jsx("ul", {
121
- className: cn("flex flex-col gap-1", "ml-4", "list-disc"),
120
+ className: "ms-4 flex list-disc flex-col gap-1",
122
121
  children: uniqueErrors.map((error) => error?.message ? /* @__PURE__ */ jsx("li", { children: error.message }, error.message) : null)
123
122
  });
124
123
  }, [errors]);
@@ -1,7 +1,6 @@
1
- import { Slot } from "@radix-ui/react-slot";
1
+ import { Label, Slot } from "radix-ui";
2
2
  import { ComponentProps, JSX, ReactNode } from "react";
3
- import { Scope } from "@radix-ui/react-context";
4
- import * as LabelPrimitive from "@radix-ui/react-label";
3
+ import { Context } from "radix-ui/internal";
5
4
  import { ControllerProps, FieldPath, FieldValues, FormProvider } from "react-hook-form";
6
5
 
7
6
  //#region src/components/form.d.ts
@@ -14,9 +13,9 @@ type FormProps = ComponentProps<typeof FormProvider>;
14
13
  */
15
14
  declare const Form: typeof FormProvider;
16
15
  type ScopedProps<P> = P & {
17
- __scopeFormField?: Scope;
16
+ __scopeFormField?: Context.Scope;
18
17
  };
19
- declare const createFormFieldScope: import("@radix-ui/react-context").CreateScope;
18
+ declare const createFormFieldScope: Context.CreateScope;
20
19
  /**
21
20
  * @since 0.3.16-canary.0
22
21
  */
@@ -40,7 +39,7 @@ declare function FormItem({
40
39
  /**
41
40
  * @since 0.3.16-canary.0
42
41
  */
43
- type FormLabelProps = ComponentProps<typeof LabelPrimitive.Root>;
42
+ type FormLabelProps = ComponentProps<typeof Label.Root>;
44
43
  /**
45
44
  * @since 0.3.16-canary.0
46
45
  */
@@ -51,7 +50,7 @@ declare function FormLabel({
51
50
  /**
52
51
  * @since 0.3.16-canary.0
53
52
  */
54
- type FormControlProps = ComponentProps<typeof Slot>;
53
+ type FormControlProps = ComponentProps<typeof Slot.Root>;
55
54
  /**
56
55
  * @since 0.3.16-canary.0
57
56
  */
@@ -1,10 +1,9 @@
1
- "use client";
2
1
  import { cn } from "../lib/utils.mjs";
3
- import { Label } from "./label.mjs";
4
- import { Slot } from "@radix-ui/react-slot";
2
+ import { Label as Label$1 } from "./label.mjs";
3
+ import { Slot } from "radix-ui";
5
4
  import { jsx } from "react/jsx-runtime";
6
5
  import { useId } from "react";
7
- import { createContextScope } from "@radix-ui/react-context";
6
+ import { Context } from "radix-ui/internal";
8
7
  import { Controller, FormProvider, useFormContext, useFormState } from "react-hook-form";
9
8
  //#region src/components/form.tsx
10
9
  /**
@@ -12,7 +11,7 @@ import { Controller, FormProvider, useFormContext, useFormState } from "react-ho
12
11
  */
13
12
  const Form = FormProvider;
14
13
  const FORM_FIELD_NAME = "FormField";
15
- const [createFormFieldContext, createFormFieldScope] = createContextScope(FORM_FIELD_NAME);
14
+ const [createFormFieldContext, createFormFieldScope] = Context.createContextScope(FORM_FIELD_NAME);
16
15
  const [FormFieldContextProvider, useFormFieldContext] = createFormFieldContext(FORM_FIELD_NAME);
17
16
  function useFormItem(consumerName, scope) {
18
17
  const { id } = useFormItemContext(consumerName, scope);
@@ -60,7 +59,7 @@ const FORM_LABEL_NAME = "FormLabel";
60
59
  */
61
60
  function FormLabel({ __scopeFormField, ...props }) {
62
61
  const { error, formItemId } = useFormItem(FORM_LABEL_NAME, __scopeFormField);
63
- return /* @__PURE__ */ jsx(Label, {
62
+ return /* @__PURE__ */ jsx(Label$1, {
64
63
  "data-invalid": error ? true : void 0,
65
64
  "data-slot": "form-label",
66
65
  htmlFor: formItemId,
@@ -73,7 +72,7 @@ const FORM_CONTROL_NAME = "FormControl";
73
72
  */
74
73
  function FormControl({ __scopeFormField, ...props }) {
75
74
  const { error, formDescriptionId, formItemId, formMessageId } = useFormItem(FORM_CONTROL_NAME, __scopeFormField);
76
- return /* @__PURE__ */ jsx(Slot, {
75
+ return /* @__PURE__ */ jsx(Slot.Root, {
77
76
  "aria-describedby": error ? `${formDescriptionId} ${formMessageId}` : formDescriptionId,
78
77
  "aria-invalid": Boolean(error),
79
78
  "data-slot": "form-control",
@@ -1,11 +1,11 @@
1
+ import { HoverCard as HoverCard$1 } from "radix-ui";
1
2
  import { ComponentProps, JSX } from "react";
2
- import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
3
3
 
4
4
  //#region src/components/hover-card.d.ts
5
5
  /**
6
6
  * @since 0.3.16-canary.0
7
7
  */
8
- type HoverCardProps = ComponentProps<typeof HoverCardPrimitive.Root>;
8
+ type HoverCardProps = ComponentProps<typeof HoverCard$1.Root>;
9
9
  /**
10
10
  * @since 0.3.16-canary.0
11
11
  */
@@ -15,7 +15,7 @@ declare function HoverCard({
15
15
  /**
16
16
  * @since 0.3.16-canary.0
17
17
  */
18
- type HoverCardTriggerProps = ComponentProps<typeof HoverCardPrimitive.Trigger>;
18
+ type HoverCardTriggerProps = ComponentProps<typeof HoverCard$1.Trigger>;
19
19
  /**
20
20
  * @since 0.3.16-canary.0
21
21
  */
@@ -25,7 +25,7 @@ declare function HoverCardTrigger({
25
25
  /**
26
26
  * @since 0.3.16-canary.0
27
27
  */
28
- type HoverCardContentProps = ComponentProps<typeof HoverCardPrimitive.Content>;
28
+ type HoverCardContentProps = ComponentProps<typeof HoverCard$1.Content>;
29
29
  /**
30
30
  * @since 0.3.16-canary.0
31
31
  */
@@ -38,7 +38,7 @@ declare function HoverCardContent({
38
38
  /**
39
39
  * @since 0.3.16-canary.0
40
40
  */
41
- type HoverCardArrowProps = ComponentProps<typeof HoverCardPrimitive.Arrow>;
41
+ type HoverCardArrowProps = ComponentProps<typeof HoverCard$1.Arrow>;
42
42
  /**
43
43
  * @since 0.3.16-canary.0
44
44
  */
@@ -1,13 +1,12 @@
1
- "use client";
2
1
  import { cn } from "../lib/utils.mjs";
2
+ import { HoverCard as HoverCard$1 } from "radix-ui";
3
3
  import { jsx } from "react/jsx-runtime";
4
- import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
5
4
  //#region src/components/hover-card.tsx
6
5
  /**
7
6
  * @since 0.3.16-canary.0
8
7
  */
9
8
  function HoverCard({ ...props }) {
10
- return /* @__PURE__ */ jsx(HoverCardPrimitive.Root, {
9
+ return /* @__PURE__ */ jsx(HoverCard$1.Root, {
11
10
  "data-slot": "hover-card",
12
11
  ...props
13
12
  });
@@ -16,7 +15,7 @@ function HoverCard({ ...props }) {
16
15
  * @since 0.3.16-canary.0
17
16
  */
18
17
  function HoverCardTrigger({ ...props }) {
19
- return /* @__PURE__ */ jsx(HoverCardPrimitive.Trigger, {
18
+ return /* @__PURE__ */ jsx(HoverCard$1.Trigger, {
20
19
  "data-slot": "hover-card-trigger",
21
20
  ...props
22
21
  });
@@ -25,19 +24,22 @@ function HoverCardTrigger({ ...props }) {
25
24
  * @since 0.3.16-canary.0
26
25
  */
27
26
  function HoverCardContent({ align = "center", className, sideOffset = 4, ...props }) {
28
- return /* @__PURE__ */ jsx(HoverCardPrimitive.Portal, { children: /* @__PURE__ */ jsx(HoverCardPrimitive.Content, {
29
- align,
30
- className: cn("z-50", "min-w-32 p-4", "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-hover-card-content-transform-origin)", className),
31
- "data-slot": "hover-card-content",
32
- sideOffset,
33
- ...props
34
- }) });
27
+ return /* @__PURE__ */ jsx(HoverCard$1.Portal, {
28
+ "data-slot": "hover-card-portal",
29
+ children: /* @__PURE__ */ jsx(HoverCard$1.Content, {
30
+ align,
31
+ className: cn("z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-lg bg-popover p-4 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden ease-snappy data-open:animate-in data-open:animation-duration-popup-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:ease-exit data-closed:animation-duration-popup-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", className),
32
+ "data-slot": "hover-card-content",
33
+ sideOffset,
34
+ ...props
35
+ })
36
+ });
35
37
  }
36
38
  /**
37
39
  * @since 0.3.16-canary.0
38
40
  */
39
41
  function HoverCardArrow({ className, ...props }) {
40
- return /* @__PURE__ */ jsx(HoverCardPrimitive.Arrow, {
42
+ return /* @__PURE__ */ jsx(HoverCard$1.Arrow, {
41
43
  className: cn("fill-popover", className),
42
44
  "data-slot": "hover-card-arrow",
43
45
  ...props
@@ -1,7 +1,7 @@
1
1
  import { ButtonProps } from "./button.mjs";
2
- import { InputGroupAddonVariants, InputGroupButtonVariants } from "../variants/input-group.mjs";
3
2
  import { InputProps } from "./input.mjs";
4
3
  import { TextareaProps } from "./textarea.mjs";
4
+ import { InputGroupAddonVariants, InputGroupButtonVariants } from "../variants/input-group.mjs";
5
5
  import { ComponentProps, JSX } from "react";
6
6
 
7
7
  //#region src/components/input-group.d.ts
@@ -1,9 +1,8 @@
1
- "use client";
2
1
  import { cn } from "../lib/utils.mjs";
3
2
  import { Button } from "./button.mjs";
4
3
  import { Input } from "./input.mjs";
5
- import { inputGroupAddonVariants, inputGroupButtonVariants, inputGroupVariants } from "../variants/input-group.mjs";
6
4
  import { Textarea } from "./textarea.mjs";
5
+ import { inputGroupAddonVariants, inputGroupButtonVariants, inputGroupVariants } from "../variants/input-group.mjs";
7
6
  import { jsx } from "react/jsx-runtime";
8
7
  //#region src/components/input-group.tsx
9
8
  /**
@@ -22,7 +21,10 @@ function InputGroup({ className, ...props }) {
22
21
  */
23
22
  function InputGroupAddon({ align = "inline-start", className, ...props }) {
24
23
  return /* @__PURE__ */ jsx("div", {
25
- className: cn(inputGroupAddonVariants({ align }), className),
24
+ className: inputGroupAddonVariants({
25
+ align,
26
+ className
27
+ }),
26
28
  "data-align": align,
27
29
  "data-slot": "input-group-addon",
28
30
  role: "group",
@@ -40,7 +42,10 @@ function InputGroupAddon({ align = "inline-start", className, ...props }) {
40
42
  */
41
43
  function InputGroupButton({ className, size = "xs", type = "button", variant = "ghost", ...props }) {
42
44
  return /* @__PURE__ */ jsx(Button, {
43
- className: cn(inputGroupButtonVariants({ size }), className),
45
+ className: inputGroupButtonVariants({
46
+ size,
47
+ className
48
+ }),
44
49
  "data-size": size,
45
50
  "data-slot": "input-group-button",
46
51
  type,
@@ -53,7 +58,7 @@ function InputGroupButton({ className, size = "xs", type = "button", variant = "
53
58
  */
54
59
  function InputGroupText({ className, ...props }) {
55
60
  return /* @__PURE__ */ jsx("span", {
56
- className: cn("flex items-center gap-2 text-sm text-muted-foreground", "[&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4", className),
61
+ className: cn("flex items-center gap-2 text-sm text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4", className),
57
62
  "data-slot": "input-group-text",
58
63
  ...props
59
64
  });
@@ -63,7 +68,7 @@ function InputGroupText({ className, ...props }) {
63
68
  */
64
69
  function InputGroupInput({ className, ...props }) {
65
70
  return /* @__PURE__ */ jsx(Input, {
66
- className: cn("flex-1", "px-3 py-1", "rounded-none border-0", "bg-transparent shadow-none", "focus-visible:ring-0", "dark:bg-transparent", className),
71
+ className: cn("flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent", className),
67
72
  "data-slot": "input-group-control",
68
73
  ...props
69
74
  });
@@ -73,7 +78,7 @@ function InputGroupInput({ className, ...props }) {
73
78
  */
74
79
  function InputGroupTextarea({ className, ...props }) {
75
80
  return /* @__PURE__ */ jsx(Textarea, {
76
- className: cn("flex-1", "py-3", "rounded-none border-0", "bg-transparent shadow-none", "resize-none", "focus-visible:ring-0", "dark:bg-transparent", className),
81
+ className: cn("flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent", className),
77
82
  "data-slot": "input-group-control",
78
83
  ...props
79
84
  });
@@ -1,11 +1,12 @@
1
1
  import { Field as InputNumberField, InputNumber as InputNumber$1 } from "../primitives/input-number.mjs";
2
+ import { InputNumberVariants } from "../variants/input-number.mjs";
2
3
  import { ComponentProps, JSX } from "react";
3
4
 
4
5
  //#region src/components/input-number.d.ts
5
6
  /**
6
7
  * @since 0.3.16-canary.0
7
8
  */
8
- interface InputNumberProps extends ComponentProps<typeof InputNumberField>, ComponentProps<typeof InputNumber$1> {}
9
+ interface InputNumberProps extends ComponentProps<typeof InputNumberField>, ComponentProps<typeof InputNumber$1>, InputNumberVariants {}
9
10
  /**
10
11
  * @since 0.3.16-canary.0
11
12
  */
@@ -28,6 +29,7 @@ declare function InputNumber({
28
29
  step,
29
30
  suffix,
30
31
  value,
32
+ variant,
31
33
  ...props
32
34
  }: InputNumberProps): JSX.Element;
33
35
  //#endregion