@codefast/ui 0.3.16-canary.2 → 0.4.0-canary.4

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 (289) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/README.md +28 -17
  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 +14 -14
  8. package/dist/components/alert.mjs +17 -28
  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.d.mts +3 -15
  14. package/dist/components/badge.mjs +6 -48
  15. package/dist/components/breadcrumb.d.mts +1 -0
  16. package/dist/components/breadcrumb.mjs +11 -10
  17. package/dist/components/button-group.d.mts +3 -13
  18. package/dist/components/button-group.mjs +9 -31
  19. package/dist/components/button.d.mts +3 -26
  20. package/dist/components/button.mjs +9 -79
  21. package/dist/components/calendar.d.mts +6 -2
  22. package/dist/components/calendar.mjs +41 -44
  23. package/dist/components/card.d.mts +4 -2
  24. package/dist/components/card.mjs +9 -9
  25. package/dist/components/carousel.d.mts +16 -5
  26. package/dist/components/carousel.mjs +24 -11
  27. package/dist/components/chart.d.mts +9 -6
  28. package/dist/components/chart.mjs +21 -15
  29. package/dist/components/checkbox-cards.mjs +4 -4
  30. package/dist/components/checkbox-group.mjs +3 -4
  31. package/dist/components/checkbox.d.mts +2 -2
  32. package/dist/components/checkbox.mjs +6 -7
  33. package/dist/components/collapsible.d.mts +4 -4
  34. package/dist/components/collapsible.mjs +4 -5
  35. package/dist/components/command.d.mts +11 -1
  36. package/dist/components/command.mjs +35 -32
  37. package/dist/components/context-menu.d.mts +22 -15
  38. package/dist/components/context-menu.mjs +44 -39
  39. package/dist/components/dialog.d.mts +19 -23
  40. package/dist/components/dialog.mjs +48 -47
  41. package/dist/components/direction.d.mts +24 -0
  42. package/dist/components/direction.mjs +18 -0
  43. package/dist/components/drawer.d.mts +3 -21
  44. package/dist/components/drawer.mjs +19 -27
  45. package/dist/components/dropdown-menu.d.mts +22 -15
  46. package/dist/components/dropdown-menu.mjs +41 -37
  47. package/dist/components/empty.d.mts +3 -13
  48. package/dist/components/empty.mjs +8 -23
  49. package/dist/components/field.d.mts +3 -14
  50. package/dist/components/field.mjs +14 -44
  51. package/dist/components/form.d.mts +7 -10
  52. package/dist/components/form.mjs +6 -7
  53. package/dist/components/hover-card.d.mts +5 -5
  54. package/dist/components/hover-card.mjs +14 -12
  55. package/dist/components/input-group.d.mts +4 -31
  56. package/dist/components/input-group.mjs +14 -96
  57. package/dist/components/input-number.d.mts +3 -1
  58. package/dist/components/input-number.mjs +50 -28
  59. package/dist/components/input-otp.mjs +9 -7
  60. package/dist/components/input-password.mjs +1 -4
  61. package/dist/components/input-search.mjs +3 -5
  62. package/dist/components/input.mjs +1 -2
  63. package/dist/components/item.d.mts +4 -29
  64. package/dist/components/item.mjs +12 -65
  65. package/dist/components/kbd.mjs +1 -1
  66. package/dist/components/label.d.mts +2 -2
  67. package/dist/components/label.mjs +3 -4
  68. package/dist/components/menubar.d.mts +22 -16
  69. package/dist/components/menubar.mjs +54 -47
  70. package/dist/components/native-select.d.mts +5 -1
  71. package/dist/components/native-select.mjs +9 -6
  72. package/dist/components/navigation-menu.d.mts +30 -13
  73. package/dist/components/navigation-menu.mjs +35 -32
  74. package/dist/components/pagination.d.mts +7 -1
  75. package/dist/components/pagination.mjs +27 -12
  76. package/dist/components/popover.d.mts +40 -7
  77. package/dist/components/popover.mjs +46 -14
  78. package/dist/components/progress-circle.d.mts +3 -47
  79. package/dist/components/progress-circle.mjs +2 -48
  80. package/dist/components/progress.d.mts +2 -2
  81. package/dist/components/progress.mjs +5 -6
  82. package/dist/components/radio-cards.d.mts +3 -3
  83. package/dist/components/radio-cards.mjs +11 -11
  84. package/dist/components/radio-group.d.mts +3 -3
  85. package/dist/components/radio-group.mjs +9 -9
  86. package/dist/components/radio.mjs +2 -3
  87. package/dist/components/resizable.mjs +3 -8
  88. package/dist/components/scroll-area.d.mts +8 -24
  89. package/dist/components/scroll-area.mjs +16 -70
  90. package/dist/components/select.d.mts +14 -14
  91. package/dist/components/select.mjs +47 -47
  92. package/dist/components/separator.d.mts +4 -19
  93. package/dist/components/separator.mjs +6 -27
  94. package/dist/components/sheet.d.mts +18 -31
  95. package/dist/components/sheet.mjs +46 -87
  96. package/dist/components/sidebar.d.mts +3 -19
  97. package/dist/components/sidebar.mjs +48 -84
  98. package/dist/components/skeleton.mjs +1 -1
  99. package/dist/components/slider.d.mts +2 -2
  100. package/dist/components/slider.mjs +9 -11
  101. package/dist/components/sonner.mjs +11 -3
  102. package/dist/components/spinner.mjs +6 -7
  103. package/dist/components/switch.d.mts +5 -2
  104. package/dist/components/switch.mjs +7 -7
  105. package/dist/components/table.mjs +10 -10
  106. package/dist/components/tabs.d.mts +8 -5
  107. package/dist/components/tabs.mjs +18 -12
  108. package/dist/components/textarea.mjs +1 -1
  109. package/dist/components/toggle-group.d.mts +11 -7
  110. package/dist/components/toggle-group.mjs +20 -21
  111. package/dist/components/toggle.d.mts +4 -24
  112. package/dist/components/toggle.mjs +6 -45
  113. package/dist/components/tooltip.d.mts +7 -6
  114. package/dist/components/tooltip.mjs +19 -17
  115. package/dist/hooks/use-animated-value.mjs +0 -1
  116. package/dist/hooks/use-copy-to-clipboard.mjs +0 -1
  117. package/dist/hooks/use-is-mobile.mjs +0 -1
  118. package/dist/hooks/use-media-query.mjs +0 -1
  119. package/dist/hooks/use-mutation-observer.mjs +0 -1
  120. package/dist/hooks/use-pagination.mjs +0 -1
  121. package/dist/index.d.mts +38 -21
  122. package/dist/index.mjs +40 -23
  123. package/dist/lib/utils.d.mts +1 -12
  124. package/dist/lib/utils.mjs +1 -9
  125. package/dist/primitives/checkbox-group.d.mts +9 -11
  126. package/dist/primitives/checkbox-group.mjs +14 -19
  127. package/dist/primitives/input-number.d.mts +3 -4
  128. package/dist/primitives/input-number.mjs +3 -5
  129. package/dist/primitives/input.d.mts +4 -5
  130. package/dist/primitives/input.mjs +2 -3
  131. package/dist/primitives/progress-circle.d.mts +3 -4
  132. package/dist/primitives/progress-circle.mjs +2 -3
  133. package/dist/variants/alert.d.mts +18 -0
  134. package/dist/variants/alert.mjs +15 -0
  135. package/dist/variants/badge.d.mts +22 -0
  136. package/dist/variants/badge.mjs +19 -0
  137. package/dist/variants/button-group.d.mts +18 -0
  138. package/dist/variants/button-group.mjs +15 -0
  139. package/dist/variants/button.d.mts +32 -0
  140. package/dist/variants/button.mjs +34 -0
  141. package/dist/variants/empty.d.mts +18 -0
  142. package/dist/variants/empty.mjs +15 -0
  143. package/dist/variants/field.d.mts +19 -0
  144. package/dist/variants/field.mjs +16 -0
  145. package/dist/variants/input-group.d.mts +43 -0
  146. package/dist/variants/input-group.mjs +34 -0
  147. package/dist/variants/input-number.d.mts +45 -0
  148. package/dist/variants/input-number.mjs +40 -0
  149. package/dist/variants/item.d.mts +38 -0
  150. package/dist/variants/item.mjs +38 -0
  151. package/dist/variants/navigation-menu.d.mts +13 -0
  152. package/dist/variants/navigation-menu.mjs +8 -0
  153. package/dist/variants/progress-circle.d.mts +52 -0
  154. package/dist/variants/progress-circle.mjs +45 -0
  155. package/dist/variants/scroll-area.d.mts +24 -0
  156. package/dist/variants/scroll-area.mjs +58 -0
  157. package/dist/variants/separator.d.mts +23 -0
  158. package/dist/variants/separator.mjs +25 -0
  159. package/dist/variants/sheet.d.mts +20 -0
  160. package/dist/variants/sheet.mjs +17 -0
  161. package/dist/variants/sidebar.d.mts +23 -0
  162. package/dist/variants/sidebar.mjs +25 -0
  163. package/dist/variants/tabs.d.mts +18 -0
  164. package/dist/variants/tabs.mjs +15 -0
  165. package/dist/variants/toggle.d.mts +23 -0
  166. package/dist/variants/toggle.mjs +25 -0
  167. package/package.json +186 -55
  168. package/src/components/accordion.tsx +114 -0
  169. package/src/components/alert-dialog.tsx +298 -0
  170. package/src/components/alert.tsx +94 -0
  171. package/src/components/aspect-ratio.tsx +25 -0
  172. package/src/components/avatar.tsx +171 -0
  173. package/src/components/badge.tsx +35 -0
  174. package/src/components/breadcrumb.tsx +191 -0
  175. package/src/components/button-group.tsx +97 -0
  176. package/src/components/button.tsx +55 -0
  177. package/src/components/calendar.tsx +222 -0
  178. package/src/components/card.tsx +169 -0
  179. package/src/components/carousel.tsx +349 -0
  180. package/src/components/chart.tsx +536 -0
  181. package/src/components/checkbox-cards.tsx +72 -0
  182. package/src/components/checkbox-group.tsx +60 -0
  183. package/src/components/checkbox.tsx +44 -0
  184. package/src/components/collapsible.tsx +57 -0
  185. package/src/components/command.tsx +298 -0
  186. package/src/components/context-menu.tsx +410 -0
  187. package/src/components/dialog.tsx +243 -0
  188. package/src/components/direction.tsx +32 -0
  189. package/src/components/drawer.tsx +209 -0
  190. package/src/components/dropdown-menu.tsx +419 -0
  191. package/src/components/empty.tsx +155 -0
  192. package/src/components/field.tsx +329 -0
  193. package/src/components/form.tsx +258 -0
  194. package/src/components/hover-card.tsx +93 -0
  195. package/src/components/input-group.tsx +185 -0
  196. package/src/components/input-number.tsx +141 -0
  197. package/src/components/input-otp.tsx +132 -0
  198. package/src/components/input-password.tsx +50 -0
  199. package/src/components/input-search.tsx +81 -0
  200. package/src/components/input.tsx +36 -0
  201. package/src/components/item.tsx +266 -0
  202. package/src/components/kbd.tsx +47 -0
  203. package/src/components/label.tsx +36 -0
  204. package/src/components/menubar.tsx +440 -0
  205. package/src/components/native-select.tsx +87 -0
  206. package/src/components/navigation-menu.tsx +235 -0
  207. package/src/components/pagination.tsx +198 -0
  208. package/src/components/popover.tsx +170 -0
  209. package/src/components/progress-circle.tsx +185 -0
  210. package/src/components/progress.tsx +41 -0
  211. package/src/components/radio-cards.tsx +66 -0
  212. package/src/components/radio-group.tsx +59 -0
  213. package/src/components/radio.tsx +40 -0
  214. package/src/components/resizable.tsx +78 -0
  215. package/src/components/scroll-area.tsx +95 -0
  216. package/src/components/select.tsx +296 -0
  217. package/src/components/separator.tsx +60 -0
  218. package/src/components/sheet.tsx +241 -0
  219. package/src/components/sidebar.tsx +926 -0
  220. package/src/components/skeleton.tsx +35 -0
  221. package/src/components/slider.tsx +66 -0
  222. package/src/components/sonner.tsx +57 -0
  223. package/src/components/spinner.tsx +66 -0
  224. package/src/components/switch.tsx +44 -0
  225. package/src/components/table.tsx +183 -0
  226. package/src/components/tabs.tsx +110 -0
  227. package/src/components/textarea.tsx +35 -0
  228. package/src/components/toggle-group.tsx +137 -0
  229. package/src/components/toggle.tsx +30 -0
  230. package/src/components/tooltip.tsx +115 -0
  231. package/src/css/foundation/base.css +50 -0
  232. package/src/css/foundation/motion.css +36 -0
  233. package/src/css/foundation/source.css +3 -0
  234. package/src/css/foundation/tokens.css +71 -0
  235. package/src/css/foundation/variants.css +113 -0
  236. package/src/css/preset.css +5 -195
  237. package/src/css/style.css +1 -1
  238. package/src/css/{amber.css → themes/amber.css} +59 -22
  239. package/src/css/{blue.css → themes/blue.css} +59 -22
  240. package/src/css/{cyan.css → themes/cyan.css} +59 -22
  241. package/src/css/{emerald.css → themes/emerald.css} +59 -22
  242. package/src/css/{fuchsia.css → themes/fuchsia.css} +59 -22
  243. package/src/css/{gray.css → themes/gray.css} +59 -22
  244. package/src/css/{green.css → themes/green.css} +59 -22
  245. package/src/css/{indigo.css → themes/indigo.css} +59 -22
  246. package/src/css/{lime.css → themes/lime.css} +59 -22
  247. package/src/css/{neutral.css → themes/neutral.css} +59 -22
  248. package/src/css/{orange.css → themes/orange.css} +59 -22
  249. package/src/css/{pink.css → themes/pink.css} +59 -22
  250. package/src/css/{purple.css → themes/purple.css} +59 -22
  251. package/src/css/{red.css → themes/red.css} +59 -22
  252. package/src/css/{rose.css → themes/rose.css} +59 -22
  253. package/src/css/{sky.css → themes/sky.css} +59 -22
  254. package/src/css/{slate.css → themes/slate.css} +59 -22
  255. package/src/css/{stone.css → themes/stone.css} +59 -22
  256. package/src/css/{teal.css → themes/teal.css} +59 -22
  257. package/src/css/{violet.css → themes/violet.css} +59 -22
  258. package/src/css/{yellow.css → themes/yellow.css} +59 -22
  259. package/src/css/{zinc.css → themes/zinc.css} +59 -22
  260. package/src/hooks/use-animated-value.ts +91 -0
  261. package/src/hooks/use-copy-to-clipboard.ts +58 -0
  262. package/src/hooks/use-is-mobile.ts +25 -0
  263. package/src/hooks/use-media-query.ts +69 -0
  264. package/src/hooks/use-mutation-observer.ts +51 -0
  265. package/src/hooks/use-pagination.ts +164 -0
  266. package/src/index.ts +679 -0
  267. package/src/lib/utils.ts +5 -0
  268. package/src/primitives/checkbox-group.tsx +346 -0
  269. package/src/primitives/input-number.tsx +967 -0
  270. package/src/primitives/input.tsx +227 -0
  271. package/src/primitives/progress-circle.tsx +507 -0
  272. package/src/variants/alert.ts +34 -0
  273. package/src/variants/badge.ts +39 -0
  274. package/src/variants/button-group.ts +36 -0
  275. package/src/variants/button.ts +56 -0
  276. package/src/variants/empty.ts +34 -0
  277. package/src/variants/field.ts +37 -0
  278. package/src/variants/input-group.ts +80 -0
  279. package/src/variants/input-number.ts +65 -0
  280. package/src/variants/item.ts +68 -0
  281. package/src/variants/navigation-menu.ts +25 -0
  282. package/src/variants/progress-circle.ts +46 -0
  283. package/src/variants/scroll-area.ts +73 -0
  284. package/src/variants/separator.ts +40 -0
  285. package/src/variants/sheet.ts +37 -0
  286. package/src/variants/sidebar.ts +41 -0
  287. package/src/variants/tabs.ts +34 -0
  288. package/src/variants/toggle.ts +40 -0
  289. package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/clsx.d.mts +0 -6
@@ -1,46 +1,16 @@
1
- "use client";
2
- import { cn, tv } from "../lib/utils.mjs";
1
+ import { cn } from "../lib/utils.mjs";
3
2
  import { Separator } from "./separator.mjs";
4
3
  import { Label } from "./label.mjs";
4
+ import { fieldVariants } from "../variants/field.mjs";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  import { useMemo } from "react";
7
7
  //#region src/components/field.tsx
8
8
  /**
9
9
  * @since 0.3.16-canary.0
10
10
  */
11
- const fieldVariants = tv({
12
- base: ["group/field flex w-full gap-3", "data-[invalid=true]:text-destructive"],
13
- defaultVariants: { orientation: "vertical" },
14
- variants: { orientation: {
15
- horizontal: [
16
- "flex-row items-center",
17
- "has-[>[data-slot=field-content]]:items-start",
18
- "[&>[data-slot=field-label]]:flex-auto",
19
- "has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
20
- ],
21
- responsive: [
22
- "flex-col",
23
- "@md/field-group:flex-row @md/field-group:items-center",
24
- "@md/field-group:has-[>[data-slot=field-content]]:items-start",
25
- "[&>*]:w-full",
26
- "@md/field-group:[&>*]:w-auto",
27
- "[&>.sr-only]:w-auto",
28
- "@md/field-group:[&>[data-slot=field-label]]:flex-auto",
29
- "@md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
30
- ],
31
- vertical: [
32
- "flex-col",
33
- "[&>*]:w-full",
34
- "[&>.sr-only]:w-auto"
35
- ]
36
- } }
37
- });
38
- /**
39
- * @since 0.3.16-canary.0
40
- */
41
11
  function FieldSet({ className, ...props }) {
42
12
  return /* @__PURE__ */ jsx("fieldset", {
43
- 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),
44
14
  "data-slot": "field-set",
45
15
  ...props
46
16
  });
@@ -50,7 +20,7 @@ function FieldSet({ className, ...props }) {
50
20
  */
51
21
  function FieldLegend({ className, variant = "legend", ...props }) {
52
22
  return /* @__PURE__ */ jsx("legend", {
53
- 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),
54
24
  "data-slot": "field-legend",
55
25
  "data-variant": variant,
56
26
  ...props
@@ -61,7 +31,7 @@ function FieldLegend({ className, variant = "legend", ...props }) {
61
31
  */
62
32
  function FieldGroup({ className, ...props }) {
63
33
  return /* @__PURE__ */ jsx("div", {
64
- 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),
65
35
  "data-slot": "field-group",
66
36
  ...props
67
37
  });
@@ -86,7 +56,7 @@ function Field({ className, orientation = "vertical", ...props }) {
86
56
  */
87
57
  function FieldContent({ className, ...props }) {
88
58
  return /* @__PURE__ */ jsx("div", {
89
- 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),
90
60
  "data-slot": "field-content",
91
61
  ...props
92
62
  });
@@ -96,7 +66,7 @@ function FieldContent({ className, ...props }) {
96
66
  */
97
67
  function FieldLabel({ className, ...props }) {
98
68
  return /* @__PURE__ */ jsx(Label, {
99
- 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),
100
70
  "data-slot": "field-label",
101
71
  ...props
102
72
  });
@@ -106,7 +76,7 @@ function FieldLabel({ className, ...props }) {
106
76
  */
107
77
  function FieldTitle({ className, ...props }) {
108
78
  return /* @__PURE__ */ jsx("div", {
109
- 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),
110
80
  "data-slot": "field-label",
111
81
  ...props
112
82
  });
@@ -116,7 +86,7 @@ function FieldTitle({ className, ...props }) {
116
86
  */
117
87
  function FieldDescription({ className, ...props }) {
118
88
  return /* @__PURE__ */ jsx("p", {
119
- 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-left 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),
120
90
  "data-slot": "field-description",
121
91
  ...props
122
92
  });
@@ -127,12 +97,12 @@ function FieldDescription({ className, ...props }) {
127
97
  function FieldSeparator({ children, className, ...props }) {
128
98
  const hasContent = Boolean(children);
129
99
  return /* @__PURE__ */ jsxs("div", {
130
- 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),
131
101
  "data-content": hasContent,
132
102
  "data-slot": "field-separator",
133
103
  ...props,
134
- children: [/* @__PURE__ */ jsx(Separator, { className: cn("absolute", "inset-0 top-1/2") }), hasContent ? /* @__PURE__ */ jsx("span", {
135
- 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",
136
106
  "data-slot": "field-separator-content",
137
107
  children
138
108
  }) : null]
@@ -147,7 +117,7 @@ function FieldError({ children, className, errors, ...props }) {
147
117
  const uniqueErrors = [...new Map(errors.map((error) => [error?.message, error])).values()];
148
118
  if (uniqueErrors.length === 1) return uniqueErrors[0]?.message ?? null;
149
119
  return /* @__PURE__ */ jsx("ul", {
150
- className: cn("flex flex-col gap-1", "ml-4", "list-disc"),
120
+ className: "ml-4 flex list-disc flex-col gap-1",
151
121
  children: uniqueErrors.map((error) => error?.message ? /* @__PURE__ */ jsx("li", { children: error.message }, error.message) : null)
152
122
  });
153
123
  }, [errors]);
@@ -162,4 +132,4 @@ function FieldError({ children, className, errors, ...props }) {
162
132
  });
163
133
  }
164
134
  //#endregion
165
- export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, fieldVariants };
135
+ export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle };
@@ -1,9 +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 * as _$_radix_ui_react_context0 from "@radix-ui/react-context";
4
- import { Scope } from "@radix-ui/react-context";
5
- import * as LabelPrimitive from "@radix-ui/react-label";
6
- import * as _$react_hook_form0 from "react-hook-form";
3
+ import { Context } from "radix-ui/internal";
7
4
  import { ControllerProps, FieldPath, FieldValues, FormProvider } from "react-hook-form";
8
5
 
9
6
  //#region src/components/form.d.ts
@@ -14,11 +11,11 @@ type FormProps = ComponentProps<typeof FormProvider>;
14
11
  /**
15
12
  * @since 0.3.16-canary.0
16
13
  */
17
- declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: _$react_hook_form0.FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React.JSX.Element;
14
+ declare const Form: typeof FormProvider;
18
15
  type ScopedProps<P> = P & {
19
- __scopeFormField?: Scope;
16
+ __scopeFormField?: Context.Scope;
20
17
  };
21
- declare const createFormFieldScope: _$_radix_ui_react_context0.CreateScope;
18
+ declare const createFormFieldScope: Context.CreateScope;
22
19
  /**
23
20
  * @since 0.3.16-canary.0
24
21
  */
@@ -42,7 +39,7 @@ declare function FormItem({
42
39
  /**
43
40
  * @since 0.3.16-canary.0
44
41
  */
45
- type FormLabelProps = ComponentProps<typeof LabelPrimitive.Root>;
42
+ type FormLabelProps = ComponentProps<typeof Label.Root>;
46
43
  /**
47
44
  * @since 0.3.16-canary.0
48
45
  */
@@ -53,7 +50,7 @@ declare function FormLabel({
53
50
  /**
54
51
  * @since 0.3.16-canary.0
55
52
  */
56
- type FormControlProps = ComponentProps<typeof Slot>;
53
+ type FormControlProps = ComponentProps<typeof Slot.Root>;
57
54
  /**
58
55
  * @since 0.3.16-canary.0
59
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-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-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,37 +1,10 @@
1
- import { VariantProps } from "../lib/utils.mjs";
2
1
  import { ButtonProps } from "./button.mjs";
3
2
  import { InputProps } from "./input.mjs";
4
3
  import { TextareaProps } from "./textarea.mjs";
5
- import * as _$_codefast_tailwind_variants0 from "@codefast/tailwind-variants";
4
+ import { InputGroupAddonVariants, InputGroupButtonVariants } from "../variants/input-group.mjs";
6
5
  import { ComponentProps, JSX } from "react";
7
6
 
8
7
  //#region src/components/input-group.d.ts
9
- /**
10
- * @since 0.3.16-canary.0
11
- */
12
- declare const inputGroupVariants: _$_codefast_tailwind_variants0.VariantResolver<_$_codefast_tailwind_variants0.VariantSchema, Record<string, never>>;
13
- /**
14
- * @since 0.3.16-canary.0
15
- */
16
- declare const inputGroupAddonVariants: _$_codefast_tailwind_variants0.VariantResolver<{
17
- align: {
18
- "block-end": string[];
19
- "block-start": string[];
20
- "inline-end": string[];
21
- "inline-start": string[];
22
- };
23
- }, Record<string, never>>;
24
- /**
25
- * @since 0.3.16-canary.0
26
- */
27
- declare const inputGroupButtonVariants: _$_codefast_tailwind_variants0.VariantResolver<{
28
- size: {
29
- "icon-sm": string[];
30
- "icon-xs": string[];
31
- sm: string[];
32
- xs: string[];
33
- };
34
- }, Record<string, never>>;
35
8
  /**
36
9
  * @since 0.3.16-canary.0
37
10
  */
@@ -46,7 +19,7 @@ declare function InputGroup({
46
19
  /**
47
20
  * @since 0.3.16-canary.0
48
21
  */
49
- type InputGroupAddonProps = ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>;
22
+ type InputGroupAddonProps = ComponentProps<"div"> & InputGroupAddonVariants;
50
23
  /**
51
24
  * @since 0.3.16-canary.0
52
25
  */
@@ -58,7 +31,7 @@ declare function InputGroupAddon({
58
31
  /**
59
32
  * @since 0.3.16-canary.0
60
33
  */
61
- type InputGroupButtonProps = Omit<ButtonProps, "size"> & VariantProps<typeof inputGroupButtonVariants>;
34
+ type InputGroupButtonProps = Omit<ButtonProps, "size"> & InputGroupButtonVariants;
62
35
  /**
63
36
  * @since 0.3.16-canary.0
64
37
  */
@@ -103,4 +76,4 @@ declare function InputGroupTextarea({
103
76
  ...props
104
77
  }: InputGroupTextareaProps): JSX.Element;
105
78
  //#endregion
106
- export { InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, type InputGroupButtonProps, InputGroupInput, type InputGroupInputProps, type InputGroupProps, InputGroupText, type InputGroupTextProps, InputGroupTextarea, type InputGroupTextareaProps, inputGroupAddonVariants, inputGroupButtonVariants, inputGroupVariants };
79
+ export { InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, type InputGroupButtonProps, InputGroupInput, type InputGroupInputProps, type InputGroupProps, InputGroupText, type InputGroupTextProps, InputGroupTextarea, type InputGroupTextareaProps };
@@ -1,101 +1,13 @@
1
- "use client";
2
- import { cn, tv } from "../lib/utils.mjs";
1
+ import { cn } from "../lib/utils.mjs";
3
2
  import { Button } from "./button.mjs";
4
3
  import { Input } from "./input.mjs";
5
4
  import { Textarea } from "./textarea.mjs";
5
+ import { inputGroupAddonVariants, inputGroupButtonVariants, inputGroupVariants } from "../variants/input-group.mjs";
6
6
  import { jsx } from "react/jsx-runtime";
7
7
  //#region src/components/input-group.tsx
8
8
  /**
9
9
  * @since 0.3.16-canary.0
10
10
  */
11
- const inputGroupVariants = tv({ base: [
12
- "group/input-group relative flex h-9 w-full min-w-0 items-center",
13
- "rounded-lg border border-input shadow-xs outline-none",
14
- "transition-[color,box-shadow]",
15
- "dark:bg-input/30",
16
- "has-[>textarea]:h-auto",
17
- "has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col",
18
- "has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col",
19
- "has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50",
20
- "has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-destructive/20",
21
- "dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40",
22
- "has-[>[data-align=block-end]]:[&>[data-slot=input-group-control]]:pt-3",
23
- "has-[>[data-align=block-start]]:[&>[data-slot=input-group-control]]:pb-3",
24
- "has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:pr-2",
25
- "has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:pl-2"
26
- ] });
27
- /**
28
- * @since 0.3.16-canary.0
29
- */
30
- const inputGroupAddonVariants = tv({
31
- base: [
32
- "flex h-auto items-center justify-center gap-2 py-1.5",
33
- "text-sm font-medium text-muted-foreground",
34
- "cursor-text select-none",
35
- "group-data-disabled/input-group:opacity-50",
36
- "[&>kbd]:rounded-[calc(var(--radius)-5px)]",
37
- "[&>svg:not([class*='size-'])]:size-4"
38
- ],
39
- defaultVariants: { align: "inline-start" },
40
- variants: { align: {
41
- "block-end": [
42
- "order-last w-full justify-start px-3 pb-3",
43
- "group-has-[>input]/input-group:pb-2.5",
44
- "[.border-t]:pt-3"
45
- ],
46
- "block-start": [
47
- "order-first w-full justify-start px-3 pt-3",
48
- "group-has-[>input]/input-group:pt-2.5",
49
- "[.border-b]:pb-3"
50
- ],
51
- "inline-end": [
52
- "order-last",
53
- "pr-3",
54
- "has-[>button]:mr-[-0.45rem]",
55
- "has-[>kbd]:mr-[-0.35rem]"
56
- ],
57
- "inline-start": [
58
- "order-first",
59
- "pl-3",
60
- "has-[>button]:ml-[-0.45rem]",
61
- "has-[>kbd]:ml-[-0.35rem]"
62
- ]
63
- } }
64
- });
65
- /**
66
- * @since 0.3.16-canary.0
67
- */
68
- const inputGroupButtonVariants = tv({
69
- base: [
70
- "flex items-center gap-2",
71
- "shadow-none",
72
- "text-sm",
73
- "[&>svg:not([class*='size-'])]:size-4"
74
- ],
75
- defaultVariants: { size: "xs" },
76
- variants: { size: {
77
- "icon-sm": ["size-8 p-0", "has-[>svg]:p-0"],
78
- "icon-xs": [
79
- "size-6 p-0",
80
- "rounded-[calc(var(--radius)-5px)]",
81
- "has-[>svg]:p-0"
82
- ],
83
- sm: [
84
- "h-8 gap-1.5 px-2.5",
85
- "rounded-md",
86
- "has-[>svg]:px-2.5"
87
- ],
88
- xs: [
89
- "h-6 gap-1 px-2",
90
- "rounded-[calc(var(--radius)-5px)]",
91
- "has-[>svg]:px-2",
92
- "[&>svg]:size-3.5"
93
- ]
94
- } }
95
- });
96
- /**
97
- * @since 0.3.16-canary.0
98
- */
99
11
  function InputGroup({ className, ...props }) {
100
12
  return /* @__PURE__ */ jsx("div", {
101
13
  className: inputGroupVariants({ className }),
@@ -109,7 +21,10 @@ function InputGroup({ className, ...props }) {
109
21
  */
110
22
  function InputGroupAddon({ align = "inline-start", className, ...props }) {
111
23
  return /* @__PURE__ */ jsx("div", {
112
- className: cn(inputGroupAddonVariants({ align }), className),
24
+ className: inputGroupAddonVariants({
25
+ align,
26
+ className
27
+ }),
113
28
  "data-align": align,
114
29
  "data-slot": "input-group-addon",
115
30
  role: "group",
@@ -127,7 +42,10 @@ function InputGroupAddon({ align = "inline-start", className, ...props }) {
127
42
  */
128
43
  function InputGroupButton({ className, size = "xs", type = "button", variant = "ghost", ...props }) {
129
44
  return /* @__PURE__ */ jsx(Button, {
130
- className: cn(inputGroupButtonVariants({ size }), className),
45
+ className: inputGroupButtonVariants({
46
+ size,
47
+ className
48
+ }),
131
49
  "data-size": size,
132
50
  "data-slot": "input-group-button",
133
51
  type,
@@ -140,7 +58,7 @@ function InputGroupButton({ className, size = "xs", type = "button", variant = "
140
58
  */
141
59
  function InputGroupText({ className, ...props }) {
142
60
  return /* @__PURE__ */ jsx("span", {
143
- 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),
144
62
  "data-slot": "input-group-text",
145
63
  ...props
146
64
  });
@@ -150,7 +68,7 @@ function InputGroupText({ className, ...props }) {
150
68
  */
151
69
  function InputGroupInput({ className, ...props }) {
152
70
  return /* @__PURE__ */ jsx(Input, {
153
- 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),
154
72
  "data-slot": "input-group-control",
155
73
  ...props
156
74
  });
@@ -160,10 +78,10 @@ function InputGroupInput({ className, ...props }) {
160
78
  */
161
79
  function InputGroupTextarea({ className, ...props }) {
162
80
  return /* @__PURE__ */ jsx(Textarea, {
163
- 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),
164
82
  "data-slot": "input-group-control",
165
83
  ...props
166
84
  });
167
85
  }
168
86
  //#endregion
169
- export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, inputGroupAddonVariants, inputGroupButtonVariants, inputGroupVariants };
87
+ export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea };
@@ -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