@codefast/ui 0.3.13-canary.3 → 0.3.13

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 (367) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/components/accordion.d.mts +37 -0
  3. package/dist/components/accordion.mjs +53 -0
  4. package/dist/components/alert-dialog.d.mts +74 -0
  5. package/dist/components/alert-dialog.mjs +92 -0
  6. package/dist/components/alert.d.mts +30 -0
  7. package/dist/components/alert.mjs +49 -0
  8. package/dist/components/aspect-ratio.d.mts +10 -0
  9. package/dist/components/aspect-ratio.mjs +12 -0
  10. package/dist/components/avatar.d.mts +21 -0
  11. package/dist/components/avatar.mjs +28 -0
  12. package/dist/components/badge.d.mts +24 -0
  13. package/dist/components/badge.mjs +56 -0
  14. package/dist/components/breadcrumb.d.mts +44 -0
  15. package/dist/components/breadcrumb.mjs +67 -0
  16. package/dist/components/button-group.d.mts +34 -0
  17. package/dist/components/button-group.mjs +53 -0
  18. package/dist/components/button.d.mts +38 -0
  19. package/dist/components/button.mjs +99 -0
  20. package/dist/components/calendar.d.mts +27 -0
  21. package/dist/components/calendar.mjs +114 -0
  22. package/dist/components/card.d.mts +41 -0
  23. package/dist/components/card.mjs +55 -0
  24. package/dist/components/carousel.d.mts +68 -0
  25. package/dist/components/carousel.mjs +135 -0
  26. package/dist/components/chart.d.mts +93 -0
  27. package/dist/components/chart.mjs +189 -0
  28. package/dist/components/checkbox-cards.d.mts +17 -0
  29. package/dist/components/checkbox-cards.mjs +30 -0
  30. package/dist/components/checkbox-group.d.mts +16 -0
  31. package/dist/components/checkbox-group.mjs +27 -0
  32. package/dist/components/checkbox.d.mts +11 -0
  33. package/dist/components/checkbox.mjs +20 -0
  34. package/dist/components/collapsible.d.mts +18 -0
  35. package/dist/components/collapsible.mjs +24 -0
  36. package/dist/components/command.d.mts +57 -0
  37. package/dist/components/command.mjs +92 -0
  38. package/dist/components/context-menu.d.mts +91 -0
  39. package/dist/components/context-menu.mjs +122 -0
  40. package/dist/components/dialog.d.mts +65 -0
  41. package/dist/components/dialog.mjs +93 -0
  42. package/dist/components/drawer.d.mts +65 -0
  43. package/dist/components/drawer.mjs +78 -0
  44. package/dist/components/dropdown-menu.d.mts +92 -0
  45. package/dist/components/dropdown-menu.mjs +129 -0
  46. package/dist/components/empty.d.mts +44 -0
  47. package/dist/components/empty.mjs +64 -0
  48. package/dist/components/field.d.mts +79 -0
  49. package/dist/components/field.mjs +132 -0
  50. package/dist/components/form.d.mts +48 -0
  51. package/dist/components/form.mjs +92 -0
  52. package/dist/components/hover-card.d.mts +26 -0
  53. package/dist/components/hover-card.mjs +35 -0
  54. package/dist/components/input-group.d.mts +61 -0
  55. package/dist/components/input-group.mjs +142 -0
  56. package/dist/components/input-number.d.mts +28 -0
  57. package/dist/components/input-number.mjs +61 -0
  58. package/dist/components/input-otp.d.mts +29 -0
  59. package/dist/components/input-otp.mjs +48 -0
  60. package/dist/components/input-password.d.mts +13 -0
  61. package/dist/components/input-password.mjs +38 -0
  62. package/dist/components/input-search.d.mts +20 -0
  63. package/dist/components/input-search.mjs +50 -0
  64. package/dist/components/input.d.mts +11 -0
  65. package/dist/components/input.mjs +14 -0
  66. package/dist/components/item.d.mts +82 -0
  67. package/dist/components/item.mjs +137 -0
  68. package/dist/components/kbd.d.mts +15 -0
  69. package/dist/components/kbd.mjs +19 -0
  70. package/dist/components/label.d.mts +11 -0
  71. package/dist/components/label.mjs +14 -0
  72. package/dist/components/menubar.d.mts +100 -0
  73. package/dist/components/menubar.mjs +133 -0
  74. package/dist/components/native-select.d.mts +19 -0
  75. package/dist/components/native-select.mjs +34 -0
  76. package/dist/components/navigation-menu.d.mts +44 -0
  77. package/dist/components/navigation-menu.mjs +79 -0
  78. package/dist/components/pagination.d.mts +46 -0
  79. package/dist/components/pagination.mjs +71 -0
  80. package/dist/components/popover.d.mts +30 -0
  81. package/dist/components/popover.mjs +41 -0
  82. package/dist/components/progress-circle.d.mts +124 -0
  83. package/dist/components/progress-circle.mjs +120 -0
  84. package/dist/components/progress.d.mts +12 -0
  85. package/dist/components/progress.mjs +19 -0
  86. package/dist/components/{radio-cards.d.ts → radio-cards.d.mts} +10 -5
  87. package/dist/components/radio-cards.mjs +29 -0
  88. package/dist/components/radio-group.d.mts +16 -0
  89. package/dist/components/radio-group.mjs +25 -0
  90. package/dist/components/radio.d.mts +14 -0
  91. package/dist/components/radio.mjs +16 -0
  92. package/dist/components/resizable.d.mts +23 -0
  93. package/dist/components/resizable.mjs +32 -0
  94. package/dist/components/scroll-area.d.mts +40 -0
  95. package/dist/components/scroll-area.mjs +101 -0
  96. package/dist/components/select.d.mts +62 -0
  97. package/dist/components/select.mjs +101 -0
  98. package/dist/components/separator.d.mts +32 -0
  99. package/dist/components/separator.mjs +45 -0
  100. package/dist/components/sheet.d.mts +75 -0
  101. package/dist/components/sheet.mjs +134 -0
  102. package/dist/components/sidebar.d.mts +195 -0
  103. package/dist/components/sidebar.mjs +375 -0
  104. package/dist/components/skeleton.d.mts +10 -0
  105. package/dist/components/skeleton.mjs +12 -0
  106. package/dist/components/slider.d.mts +15 -0
  107. package/dist/components/slider.mjs +40 -0
  108. package/dist/components/sonner.d.mts +10 -0
  109. package/dist/components/sonner.mjs +21 -0
  110. package/dist/components/spinner.d.mts +14 -0
  111. package/dist/components/spinner.mjs +40 -0
  112. package/dist/components/switch.d.mts +11 -0
  113. package/dist/components/switch.mjs +18 -0
  114. package/dist/components/table.d.mts +45 -0
  115. package/dist/components/table.mjs +65 -0
  116. package/dist/components/tabs.d.mts +26 -0
  117. package/dist/components/tabs.mjs +35 -0
  118. package/dist/components/textarea.d.mts +10 -0
  119. package/dist/components/textarea.mjs +12 -0
  120. package/dist/components/toggle-group.d.mts +30 -0
  121. package/dist/components/toggle-group.mjs +53 -0
  122. package/dist/components/toggle.d.mts +28 -0
  123. package/dist/components/toggle.mjs +53 -0
  124. package/dist/components/tooltip.d.mts +30 -0
  125. package/dist/components/tooltip.mjs +42 -0
  126. package/dist/hooks/{use-animated-value.d.ts → use-animated-value.d.mts} +4 -2
  127. package/dist/hooks/use-animated-value.mjs +62 -0
  128. package/dist/hooks/{use-copy-to-clipboard.d.ts → use-copy-to-clipboard.d.mts} +11 -6
  129. package/dist/hooks/use-copy-to-clipboard.mjs +43 -0
  130. package/dist/hooks/{use-is-mobile.d.ts → use-is-mobile.d.mts} +4 -2
  131. package/dist/hooks/use-is-mobile.mjs +26 -0
  132. package/dist/hooks/{use-media-query.d.ts → use-media-query.d.mts} +4 -2
  133. package/dist/hooks/use-media-query.mjs +50 -0
  134. package/dist/hooks/{use-mutation-observer.d.ts → use-mutation-observer.d.mts} +6 -3
  135. package/dist/hooks/use-mutation-observer.mjs +41 -0
  136. package/dist/hooks/use-pagination.d.mts +44 -0
  137. package/dist/hooks/use-pagination.mjs +107 -0
  138. package/dist/index.d.mts +69 -0
  139. package/dist/index.mjs +69 -0
  140. package/dist/lib/utils.d.mts +13 -0
  141. package/dist/lib/utils.mjs +10 -0
  142. package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/clsx.d.mts +6 -0
  143. package/dist/primitives/checkbox-group.d.mts +144 -0
  144. package/dist/primitives/checkbox-group.mjs +126 -0
  145. package/dist/primitives/input-number.d.mts +73 -0
  146. package/dist/primitives/input-number.mjs +514 -0
  147. package/dist/primitives/input.d.mts +72 -0
  148. package/dist/primitives/input.mjs +75 -0
  149. package/dist/primitives/progress-circle.d.mts +146 -0
  150. package/dist/primitives/progress-circle.mjs +178 -0
  151. package/package.json +164 -170
  152. package/dist/components/accordion.d.ts +0 -19
  153. package/dist/components/accordion.d.ts.map +0 -1
  154. package/dist/components/accordion.js +0 -26
  155. package/dist/components/alert-dialog.d.ts +0 -39
  156. package/dist/components/alert-dialog.d.ts.map +0 -1
  157. package/dist/components/alert-dialog.js +0 -39
  158. package/dist/components/alert.d.ts +0 -19
  159. package/dist/components/alert.d.ts.map +0 -1
  160. package/dist/components/alert.js +0 -41
  161. package/dist/components/aspect-ratio.d.ts +0 -7
  162. package/dist/components/aspect-ratio.d.ts.map +0 -1
  163. package/dist/components/aspect-ratio.js +0 -10
  164. package/dist/components/avatar.d.ts +0 -11
  165. package/dist/components/avatar.d.ts.map +0 -1
  166. package/dist/components/avatar.js +0 -17
  167. package/dist/components/badge.d.ts +0 -18
  168. package/dist/components/badge.d.ts.map +0 -1
  169. package/dist/components/badge.js +0 -59
  170. package/dist/components/breadcrumb.d.ts +0 -22
  171. package/dist/components/breadcrumb.d.ts.map +0 -1
  172. package/dist/components/breadcrumb.js +0 -31
  173. package/dist/components/button-group.d.ts +0 -20
  174. package/dist/components/button-group.d.ts.map +0 -1
  175. package/dist/components/button-group.js +0 -48
  176. package/dist/components/button.d.ts +0 -29
  177. package/dist/components/button.d.ts.map +0 -1
  178. package/dist/components/button.js +0 -92
  179. package/dist/components/calendar.d.ts +0 -13
  180. package/dist/components/calendar.d.ts.map +0 -1
  181. package/dist/components/calendar.js +0 -104
  182. package/dist/components/card.d.ts +0 -18
  183. package/dist/components/card.d.ts.map +0 -1
  184. package/dist/components/card.js +0 -27
  185. package/dist/components/carousel.d.ts +0 -38
  186. package/dist/components/carousel.d.ts.map +0 -1
  187. package/dist/components/carousel.js +0 -103
  188. package/dist/components/chart.d.ts +0 -58
  189. package/dist/components/chart.d.ts.map +0 -1
  190. package/dist/components/chart.js +0 -198
  191. package/dist/components/checkbox-cards.d.ts +0 -11
  192. package/dist/components/checkbox-cards.d.ts.map +0 -1
  193. package/dist/components/checkbox-cards.js +0 -16
  194. package/dist/components/checkbox-group.d.ts +0 -9
  195. package/dist/components/checkbox-group.d.ts.map +0 -1
  196. package/dist/components/checkbox-group.js +0 -15
  197. package/dist/components/checkbox.d.ts +0 -7
  198. package/dist/components/checkbox.d.ts.map +0 -1
  199. package/dist/components/checkbox.js +0 -12
  200. package/dist/components/collapsible.d.ts +0 -11
  201. package/dist/components/collapsible.d.ts.map +0 -1
  202. package/dist/components/collapsible.js +0 -16
  203. package/dist/components/command.d.ts +0 -26
  204. package/dist/components/command.d.ts.map +0 -1
  205. package/dist/components/command.js +0 -41
  206. package/dist/components/context-menu.d.ts +0 -42
  207. package/dist/components/context-menu.d.ts.map +0 -1
  208. package/dist/components/context-menu.js +0 -54
  209. package/dist/components/dialog.d.ts +0 -35
  210. package/dist/components/dialog.d.ts.map +0 -1
  211. package/dist/components/dialog.js +0 -41
  212. package/dist/components/drawer.d.ts +0 -34
  213. package/dist/components/drawer.d.ts.map +0 -1
  214. package/dist/components/drawer.js +0 -36
  215. package/dist/components/dropdown-menu.d.ts +0 -42
  216. package/dist/components/dropdown-menu.d.ts.map +0 -1
  217. package/dist/components/dropdown-menu.js +0 -54
  218. package/dist/components/empty.d.ts +0 -23
  219. package/dist/components/empty.d.ts.map +0 -1
  220. package/dist/components/empty.js +0 -47
  221. package/dist/components/field.d.ts +0 -42
  222. package/dist/components/field.d.ts.map +0 -1
  223. package/dist/components/field.js +0 -85
  224. package/dist/components/form.d.ts +0 -27
  225. package/dist/components/form.d.ts.map +0 -1
  226. package/dist/components/form.js +0 -76
  227. package/dist/components/hover-card.d.ts +0 -13
  228. package/dist/components/hover-card.d.ts.map +0 -1
  229. package/dist/components/hover-card.js +0 -20
  230. package/dist/components/input-group.d.ts +0 -37
  231. package/dist/components/input-group.d.ts.map +0 -1
  232. package/dist/components/input-group.js +0 -127
  233. package/dist/components/input-number.d.ts +0 -8
  234. package/dist/components/input-number.d.ts.map +0 -1
  235. package/dist/components/input-number.js +0 -20
  236. package/dist/components/input-otp.d.ts +0 -16
  237. package/dist/components/input-otp.d.ts.map +0 -1
  238. package/dist/components/input-otp.js +0 -25
  239. package/dist/components/input-password.d.ts +0 -7
  240. package/dist/components/input-password.d.ts.map +0 -1
  241. package/dist/components/input-password.js +0 -17
  242. package/dist/components/input-search.d.ts +0 -11
  243. package/dist/components/input-search.d.ts.map +0 -1
  244. package/dist/components/input-search.js +0 -22
  245. package/dist/components/input.d.ts +0 -6
  246. package/dist/components/input.d.ts.map +0 -1
  247. package/dist/components/input.js +0 -10
  248. package/dist/components/item.d.ts +0 -46
  249. package/dist/components/item.d.ts.map +0 -1
  250. package/dist/components/item.js +0 -94
  251. package/dist/components/kbd.d.ts +0 -8
  252. package/dist/components/kbd.d.ts.map +0 -1
  253. package/dist/components/kbd.js +0 -12
  254. package/dist/components/label.d.ts +0 -7
  255. package/dist/components/label.d.ts.map +0 -1
  256. package/dist/components/label.js +0 -11
  257. package/dist/components/menubar.d.ts +0 -44
  258. package/dist/components/menubar.d.ts.map +0 -1
  259. package/dist/components/menubar.js +0 -57
  260. package/dist/components/native-select.d.ts +0 -10
  261. package/dist/components/native-select.d.ts.map +0 -1
  262. package/dist/components/native-select.js +0 -16
  263. package/dist/components/navigation-menu.d.ts +0 -21
  264. package/dist/components/navigation-menu.d.ts.map +0 -1
  265. package/dist/components/navigation-menu.js +0 -43
  266. package/dist/components/pagination.d.ts +0 -26
  267. package/dist/components/pagination.d.ts.map +0 -1
  268. package/dist/components/pagination.js +0 -29
  269. package/dist/components/popover.d.ts +0 -15
  270. package/dist/components/popover.d.ts.map +0 -1
  271. package/dist/components/popover.js +0 -23
  272. package/dist/components/progress-circle.d.ts +0 -107
  273. package/dist/components/progress-circle.d.ts.map +0 -1
  274. package/dist/components/progress-circle.js +0 -83
  275. package/dist/components/progress.d.ts +0 -7
  276. package/dist/components/progress.d.ts.map +0 -1
  277. package/dist/components/progress.js +0 -13
  278. package/dist/components/radio-cards.d.ts.map +0 -1
  279. package/dist/components/radio-cards.js +0 -15
  280. package/dist/components/radio-group.d.ts +0 -9
  281. package/dist/components/radio-group.d.ts.map +0 -1
  282. package/dist/components/radio-group.js +0 -14
  283. package/dist/components/radio.d.ts +0 -8
  284. package/dist/components/radio.d.ts.map +0 -1
  285. package/dist/components/radio.js +0 -11
  286. package/dist/components/resizable.d.ts +0 -13
  287. package/dist/components/resizable.d.ts.map +0 -1
  288. package/dist/components/resizable.js +0 -18
  289. package/dist/components/scroll-area.d.ts +0 -28
  290. package/dist/components/scroll-area.d.ts.map +0 -1
  291. package/dist/components/scroll-area.js +0 -77
  292. package/dist/components/select.d.ts +0 -29
  293. package/dist/components/select.d.ts.map +0 -1
  294. package/dist/components/select.js +0 -49
  295. package/dist/components/separator.d.ts +0 -23
  296. package/dist/components/separator.d.ts.map +0 -1
  297. package/dist/components/separator.js +0 -36
  298. package/dist/components/sheet.d.ts +0 -43
  299. package/dist/components/sheet.d.ts.map +0 -1
  300. package/dist/components/sheet.js +0 -90
  301. package/dist/components/sidebar.d.ts +0 -102
  302. package/dist/components/sidebar.d.ts.map +0 -1
  303. package/dist/components/sidebar.js +0 -241
  304. package/dist/components/skeleton.d.ts +0 -6
  305. package/dist/components/skeleton.d.ts.map +0 -1
  306. package/dist/components/skeleton.js +0 -9
  307. package/dist/components/slider.d.ts +0 -7
  308. package/dist/components/slider.d.ts.map +0 -1
  309. package/dist/components/slider.js +0 -18
  310. package/dist/components/sonner.d.ts +0 -8
  311. package/dist/components/sonner.d.ts.map +0 -1
  312. package/dist/components/sonner.js +0 -18
  313. package/dist/components/spinner.d.ts +0 -8
  314. package/dist/components/spinner.d.ts.map +0 -1
  315. package/dist/components/spinner.js +0 -27
  316. package/dist/components/switch.d.ts +0 -7
  317. package/dist/components/switch.d.ts.map +0 -1
  318. package/dist/components/switch.js +0 -11
  319. package/dist/components/table.d.ts +0 -20
  320. package/dist/components/table.d.ts.map +0 -1
  321. package/dist/components/table.js +0 -30
  322. package/dist/components/tabs.d.ts +0 -13
  323. package/dist/components/tabs.d.ts.map +0 -1
  324. package/dist/components/tabs.js +0 -20
  325. package/dist/components/textarea.d.ts +0 -6
  326. package/dist/components/textarea.d.ts.map +0 -1
  327. package/dist/components/textarea.js +0 -9
  328. package/dist/components/toggle-group.d.ts +0 -16
  329. package/dist/components/toggle-group.d.ts.map +0 -1
  330. package/dist/components/toggle-group.js +0 -35
  331. package/dist/components/toggle.d.ts +0 -21
  332. package/dist/components/toggle.d.ts.map +0 -1
  333. package/dist/components/toggle.js +0 -49
  334. package/dist/components/tooltip.d.ts +0 -15
  335. package/dist/components/tooltip.d.ts.map +0 -1
  336. package/dist/components/tooltip.js +0 -23
  337. package/dist/hooks/use-animated-value.d.ts.map +0 -1
  338. package/dist/hooks/use-animated-value.js +0 -71
  339. package/dist/hooks/use-copy-to-clipboard.d.ts.map +0 -1
  340. package/dist/hooks/use-copy-to-clipboard.js +0 -46
  341. package/dist/hooks/use-is-mobile.d.ts.map +0 -1
  342. package/dist/hooks/use-is-mobile.js +0 -23
  343. package/dist/hooks/use-media-query.d.ts.map +0 -1
  344. package/dist/hooks/use-media-query.js +0 -53
  345. package/dist/hooks/use-mutation-observer.d.ts.map +0 -1
  346. package/dist/hooks/use-mutation-observer.js +0 -40
  347. package/dist/hooks/use-pagination.d.ts +0 -37
  348. package/dist/hooks/use-pagination.d.ts.map +0 -1
  349. package/dist/hooks/use-pagination.js +0 -107
  350. package/dist/index.d.ts +0 -131
  351. package/dist/index.d.ts.map +0 -1
  352. package/dist/index.js +0 -68
  353. package/dist/lib/utils.d.ts +0 -10
  354. package/dist/lib/utils.d.ts.map +0 -1
  355. package/dist/lib/utils.js +0 -10
  356. package/dist/primitives/checkbox-group.d.ts +0 -123
  357. package/dist/primitives/checkbox-group.d.ts.map +0 -1
  358. package/dist/primitives/checkbox-group.js +0 -112
  359. package/dist/primitives/input-number.d.ts +0 -63
  360. package/dist/primitives/input-number.d.ts.map +0 -1
  361. package/dist/primitives/input-number.js +0 -458
  362. package/dist/primitives/input.d.ts +0 -67
  363. package/dist/primitives/input.d.ts.map +0 -1
  364. package/dist/primitives/input.js +0 -76
  365. package/dist/primitives/progress-circle.d.ts +0 -116
  366. package/dist/primitives/progress-circle.d.ts.map +0 -1
  367. package/dist/primitives/progress-circle.js +0 -163
@@ -0,0 +1,61 @@
1
+ import { VariantProps } from "../lib/utils.mjs";
2
+ import { ButtonProps } from "./button.mjs";
3
+ import { InputProps } from "./input.mjs";
4
+ import { TextareaProps } from "./textarea.mjs";
5
+ import * as _$_codefast_tailwind_variants0 from "@codefast/tailwind-variants";
6
+ import { ComponentProps, JSX } from "react";
7
+
8
+ //#region src/components/input-group.d.ts
9
+ declare const inputGroupVariants: _$_codefast_tailwind_variants0.VariantFunctionType<_$_codefast_tailwind_variants0.ConfigurationSchema, Record<string, never>>;
10
+ declare const inputGroupAddonVariants: _$_codefast_tailwind_variants0.VariantFunctionType<{
11
+ align: {
12
+ "block-end": string[];
13
+ "block-start": string[];
14
+ "inline-end": string[];
15
+ "inline-start": string[];
16
+ };
17
+ }, Record<string, never>>;
18
+ declare const inputGroupButtonVariants: _$_codefast_tailwind_variants0.VariantFunctionType<{
19
+ size: {
20
+ "icon-sm": string[];
21
+ "icon-xs": string[];
22
+ sm: string[];
23
+ xs: string[];
24
+ };
25
+ }, Record<string, never>>;
26
+ type InputGroupProps = ComponentProps<"div">;
27
+ declare function InputGroup({
28
+ className,
29
+ ...props
30
+ }: InputGroupProps): JSX.Element;
31
+ type InputGroupAddonProps = ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>;
32
+ declare function InputGroupAddon({
33
+ align,
34
+ className,
35
+ ...props
36
+ }: InputGroupAddonProps): JSX.Element;
37
+ type InputGroupButtonProps = Omit<ButtonProps, "size"> & VariantProps<typeof inputGroupButtonVariants>;
38
+ declare function InputGroupButton({
39
+ className,
40
+ size,
41
+ type,
42
+ variant,
43
+ ...props
44
+ }: InputGroupButtonProps): JSX.Element;
45
+ type InputGroupTextProps = ComponentProps<"span">;
46
+ declare function InputGroupText({
47
+ className,
48
+ ...props
49
+ }: InputGroupTextProps): JSX.Element;
50
+ type InputGroupInputProps = InputProps;
51
+ declare function InputGroupInput({
52
+ className,
53
+ ...props
54
+ }: InputGroupInputProps): JSX.Element;
55
+ type InputGroupTextareaProps = TextareaProps;
56
+ declare function InputGroupTextarea({
57
+ className,
58
+ ...props
59
+ }: InputGroupTextareaProps): JSX.Element;
60
+ //#endregion
61
+ export { InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, type InputGroupButtonProps, InputGroupInput, type InputGroupInputProps, type InputGroupProps, InputGroupText, type InputGroupTextProps, InputGroupTextarea, type InputGroupTextareaProps, inputGroupAddonVariants, inputGroupButtonVariants, inputGroupVariants };
@@ -0,0 +1,142 @@
1
+ "use client";
2
+ import { cn, tv } from "../lib/utils.mjs";
3
+ import { Button } from "./button.mjs";
4
+ import { Input } from "./input.mjs";
5
+ import { Textarea } from "./textarea.mjs";
6
+ import { jsx } from "react/jsx-runtime";
7
+ //#region src/components/input-group.tsx
8
+ const inputGroupVariants = tv({ base: [
9
+ "group/input-group relative flex h-9 w-full min-w-0 items-center",
10
+ "rounded-lg border border-input shadow-xs outline-none",
11
+ "transition-[color,box-shadow]",
12
+ "dark:bg-input/30",
13
+ "has-[>textarea]:h-auto",
14
+ "has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col",
15
+ "has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col",
16
+ "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",
17
+ "has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-destructive/20",
18
+ "dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40",
19
+ "has-[>[data-align=block-end]]:[&>[data-slot=input-group-control]]:pt-3",
20
+ "has-[>[data-align=block-start]]:[&>[data-slot=input-group-control]]:pb-3",
21
+ "has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:pr-2",
22
+ "has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:pl-2"
23
+ ] });
24
+ const inputGroupAddonVariants = tv({
25
+ base: [
26
+ "flex h-auto items-center justify-center gap-2 py-1.5",
27
+ "text-sm font-medium text-muted-foreground",
28
+ "cursor-text select-none",
29
+ "group-data-disabled/input-group:opacity-50",
30
+ "[&>kbd]:rounded-[calc(var(--radius)-5px)]",
31
+ "[&>svg:not([class*='size-'])]:size-4"
32
+ ],
33
+ defaultVariants: { align: "inline-start" },
34
+ variants: { align: {
35
+ "block-end": [
36
+ "order-last w-full justify-start px-3 pb-3",
37
+ "group-has-[>input]/input-group:pb-2.5",
38
+ "[.border-t]:pt-3"
39
+ ],
40
+ "block-start": [
41
+ "order-first w-full justify-start px-3 pt-3",
42
+ "group-has-[>input]/input-group:pt-2.5",
43
+ "[.border-b]:pb-3"
44
+ ],
45
+ "inline-end": [
46
+ "order-last",
47
+ "pr-3",
48
+ "has-[>button]:mr-[-0.45rem]",
49
+ "has-[>kbd]:mr-[-0.35rem]"
50
+ ],
51
+ "inline-start": [
52
+ "order-first",
53
+ "pl-3",
54
+ "has-[>button]:ml-[-0.45rem]",
55
+ "has-[>kbd]:ml-[-0.35rem]"
56
+ ]
57
+ } }
58
+ });
59
+ const inputGroupButtonVariants = tv({
60
+ base: [
61
+ "flex items-center gap-2",
62
+ "shadow-none",
63
+ "text-sm",
64
+ "[&>svg:not([class*='size-'])]:size-4"
65
+ ],
66
+ defaultVariants: { size: "xs" },
67
+ variants: { size: {
68
+ "icon-sm": ["size-8 p-0", "has-[>svg]:p-0"],
69
+ "icon-xs": [
70
+ "size-6 p-0",
71
+ "rounded-[calc(var(--radius)-5px)]",
72
+ "has-[>svg]:p-0"
73
+ ],
74
+ sm: [
75
+ "h-8 gap-1.5 px-2.5",
76
+ "rounded-md",
77
+ "has-[>svg]:px-2.5"
78
+ ],
79
+ xs: [
80
+ "h-6 gap-1 px-2",
81
+ "rounded-[calc(var(--radius)-5px)]",
82
+ "has-[>svg]:px-2",
83
+ "[&>svg]:size-3.5"
84
+ ]
85
+ } }
86
+ });
87
+ function InputGroup({ className, ...props }) {
88
+ return /* @__PURE__ */ jsx("div", {
89
+ className: inputGroupVariants({ className }),
90
+ "data-slot": "input-group",
91
+ role: "group",
92
+ ...props
93
+ });
94
+ }
95
+ function InputGroupAddon({ align = "inline-start", className, ...props }) {
96
+ return /* @__PURE__ */ jsx("div", {
97
+ className: cn(inputGroupAddonVariants({ align }), className),
98
+ "data-align": align,
99
+ "data-slot": "input-group-addon",
100
+ role: "group",
101
+ onPointerDown: (event) => {
102
+ if (event.target.closest("button")) return;
103
+ event.preventDefault();
104
+ const control = event.currentTarget.parentElement?.querySelector("input, textarea");
105
+ if (control instanceof HTMLElement) control.focus();
106
+ },
107
+ ...props
108
+ });
109
+ }
110
+ function InputGroupButton({ className, size = "xs", type = "button", variant = "ghost", ...props }) {
111
+ return /* @__PURE__ */ jsx(Button, {
112
+ className: cn(inputGroupButtonVariants({ size }), className),
113
+ "data-size": size,
114
+ "data-slot": "input-group-button",
115
+ type,
116
+ variant,
117
+ ...props
118
+ });
119
+ }
120
+ function InputGroupText({ className, ...props }) {
121
+ return /* @__PURE__ */ jsx("span", {
122
+ className: cn("flex items-center gap-2 text-sm text-muted-foreground", "[&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4", className),
123
+ "data-slot": "input-group-text",
124
+ ...props
125
+ });
126
+ }
127
+ function InputGroupInput({ className, ...props }) {
128
+ return /* @__PURE__ */ jsx(Input, {
129
+ className: cn("flex-1", "px-3 py-1", "rounded-none border-0", "bg-transparent shadow-none", "focus-visible:ring-0", "dark:bg-transparent", className),
130
+ "data-slot": "input-group-control",
131
+ ...props
132
+ });
133
+ }
134
+ function InputGroupTextarea({ className, ...props }) {
135
+ return /* @__PURE__ */ jsx(Textarea, {
136
+ className: cn("flex-1", "py-3", "rounded-none border-0", "bg-transparent shadow-none", "resize-none", "focus-visible:ring-0", "dark:bg-transparent", className),
137
+ "data-slot": "input-group-control",
138
+ ...props
139
+ });
140
+ }
141
+ //#endregion
142
+ export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, inputGroupAddonVariants, inputGroupButtonVariants, inputGroupVariants };
@@ -0,0 +1,28 @@
1
+ import { Field as InputNumberField, InputNumber as InputNumber$1 } from "../primitives/input-number.mjs";
2
+ import { ComponentProps, JSX } from "react";
3
+
4
+ //#region src/components/input-number.d.ts
5
+ interface InputNumberProps extends ComponentProps<typeof InputNumberField>, ComponentProps<typeof InputNumber$1> {}
6
+ declare function InputNumber({
7
+ ariaDecrementLabel,
8
+ ariaIncrementLabel,
9
+ className,
10
+ defaultValue,
11
+ disabled,
12
+ formatOptions,
13
+ id,
14
+ loaderPosition,
15
+ loading,
16
+ max,
17
+ min,
18
+ onChange,
19
+ prefix,
20
+ readOnly,
21
+ spinner,
22
+ step,
23
+ suffix,
24
+ value,
25
+ ...props
26
+ }: InputNumberProps): JSX.Element;
27
+ //#endregion
28
+ export { InputNumber, type InputNumberProps };
@@ -0,0 +1,61 @@
1
+ "use client";
2
+ import { cn } from "../lib/utils.mjs";
3
+ import { buttonVariants } from "./button.mjs";
4
+ import { Spinner } from "./spinner.mjs";
5
+ import { DecrementButton as InputNumberDecrementButton, Field as InputNumberField, IncrementButton as InputNumberIncrementButton, InputNumber as InputNumber$1 } from "../primitives/input-number.mjs";
6
+ import { ChevronDownIcon, ChevronUpIcon } from "lucide-react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ //#region src/components/input-number.tsx
9
+ function InputNumber({ ariaDecrementLabel, ariaIncrementLabel, className, defaultValue, disabled, formatOptions, id, loaderPosition, loading, max, min, onChange, prefix, readOnly, spinner, step, suffix, value, ...props }) {
10
+ return /* @__PURE__ */ jsxs(InputNumber$1, {
11
+ ariaDecrementLabel,
12
+ ariaIncrementLabel,
13
+ className: cn("group peer flex h-9 w-full grow items-center gap-3 px-3 pr-0", "rounded-lg border border-input", "text-base", "transition", "not-has-disabled:shadow-xs", "focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50", "hover:not-has-disabled:not-focus-within:border-ring/60", "focus-within:has-aria-invalid:ring-destructive/20", "hover:not-has-disabled:not-focus-within:has-aria-invalid:border-destructive/60", "md:text-sm", "dark:bg-input/30", "dark:focus-within:has-aria-invalid:ring-destructive/40", "has-disabled:opacity-50", "has-aria-invalid:border-destructive", "[&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", "[&>svg]:text-muted-foreground", className),
14
+ "data-slot": "input-number",
15
+ defaultValue,
16
+ disabled,
17
+ formatOptions,
18
+ id,
19
+ loaderPosition,
20
+ loading,
21
+ max,
22
+ min,
23
+ prefix,
24
+ readOnly,
25
+ spinner: spinner ?? /* @__PURE__ */ jsx(Spinner, {}, "spinner"),
26
+ step,
27
+ suffix,
28
+ value,
29
+ onChange,
30
+ children: [/* @__PURE__ */ jsx(InputNumberField, {
31
+ autoCapitalize: "none",
32
+ autoComplete: "off",
33
+ autoCorrect: "off",
34
+ className: cn("h-9 w-full min-w-0 px-3 py-1", "rounded-md border border-input", "bg-transparent shadow-xs outline-none", "text-base", "transition-[color,box-shadow]", "selection:bg-primary selection:text-primary-foreground", "file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground", "placeholder:text-muted-foreground", "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50", "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50", "aria-invalid:border-destructive aria-invalid:ring-destructive/20", "md:text-sm", "dark:bg-input/30", "dark:aria-invalid:ring-destructive/40"),
35
+ spellCheck: "false",
36
+ ...props
37
+ }), /* @__PURE__ */ jsxs("div", {
38
+ className: cn("order-last ml-auto grid h-full shrink-0", "divide-y divide-input border-l border-l-input", "transition", "group-hover:not-group-focus-within:not-has-disabled:border-l-border-ring/60 group-hover:not-group-focus-within:not-has-disabled:divide-border-ring/60", "group-focus-within:divide-ring group-focus-within:border-l-ring", "group-has-aria-invalid:divide-destructive group-has-aria-invalid:border-l-destructive", "group-hover:group-has-aria-invalid:not-group-focus-within:not-has-disabled:divide-destructive/60 group-hover:group-has-aria-invalid:not-group-focus-within:not-has-disabled:border-l-destructive/60", "*:[button]:focus-visible:bg-ring/50 *:[button]:focus-visible:ring-0", "group-has-aria-invalid:*:[button]:focus-visible:bg-destructive/20", "dark:group-has-aria-invalid:*:[button]:focus-visible:bg-destructive/40"),
39
+ "data-slot": "input-number-buttons",
40
+ children: [/* @__PURE__ */ jsx(InputNumberIncrementButton, {
41
+ "aria-label": "Increment",
42
+ className: buttonVariants({
43
+ className: "text-muted-foreground h-auto rounded-none rounded-tr-[calc(var(--radius-lg)-1px)]",
44
+ variant: "ghost"
45
+ }),
46
+ "data-slot": "input-number-increment-button",
47
+ children: /* @__PURE__ */ jsx(ChevronUpIcon, {})
48
+ }), /* @__PURE__ */ jsx(InputNumberDecrementButton, {
49
+ "aria-label": "Decrement",
50
+ className: buttonVariants({
51
+ className: "text-muted-foreground h-auto rounded-none rounded-br-[calc(var(--radius-lg)-1px)]",
52
+ variant: "ghost"
53
+ }),
54
+ "data-slot": "input-number-decrement-button",
55
+ children: /* @__PURE__ */ jsx(ChevronDownIcon, {})
56
+ })]
57
+ })]
58
+ });
59
+ }
60
+ //#endregion
61
+ export { InputNumber };
@@ -0,0 +1,29 @@
1
+ import { ComponentProps, JSX } from "react";
2
+ import { OTPInput, REGEXP_ONLY_CHARS, REGEXP_ONLY_DIGITS, REGEXP_ONLY_DIGITS_AND_CHARS } from "input-otp";
3
+
4
+ //#region src/components/input-otp.d.ts
5
+ type InputOTPProps = ComponentProps<typeof OTPInput>;
6
+ declare function InputOTP({
7
+ className,
8
+ containerClassName,
9
+ ...props
10
+ }: InputOTPProps): JSX.Element;
11
+ type InputOTPGroupProps = ComponentProps<"div">;
12
+ declare function InputOTPGroup({
13
+ className,
14
+ ...props
15
+ }: InputOTPGroupProps): JSX.Element;
16
+ interface InputOTPSlotProps extends ComponentProps<"div"> {
17
+ index: number;
18
+ }
19
+ declare function InputOTPSlot({
20
+ className,
21
+ index,
22
+ ...props
23
+ }: InputOTPSlotProps): JSX.Element;
24
+ type InputOTPSeparatorProps = ComponentProps<"div">;
25
+ declare function InputOTPSeparator({
26
+ ...props
27
+ }: InputOTPSeparatorProps): JSX.Element;
28
+ //#endregion
29
+ export { InputOTP, InputOTPGroup, type InputOTPGroupProps, type InputOTPProps, InputOTPSeparator, type InputOTPSeparatorProps, InputOTPSlot, type InputOTPSlotProps, REGEXP_ONLY_CHARS, REGEXP_ONLY_DIGITS, REGEXP_ONLY_DIGITS_AND_CHARS };
@@ -0,0 +1,48 @@
1
+ "use client";
2
+ import { cn } from "../lib/utils.mjs";
3
+ import { MinusIcon } from "lucide-react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { use } from "react";
6
+ import { OTPInput, OTPInputContext, REGEXP_ONLY_CHARS, REGEXP_ONLY_DIGITS, REGEXP_ONLY_DIGITS_AND_CHARS } from "input-otp";
7
+ //#region src/components/input-otp.tsx
8
+ function InputOTP({ className, containerClassName, ...props }) {
9
+ return /* @__PURE__ */ jsx(OTPInput, {
10
+ "aria-label": "One-time password",
11
+ className: cn(className),
12
+ containerClassName: cn("flex items-center gap-2", "has-disabled:opacity-50", containerClassName),
13
+ "data-slot": "input-otp",
14
+ ...props
15
+ });
16
+ }
17
+ function InputOTPGroup({ className, ...props }) {
18
+ return /* @__PURE__ */ jsx("div", {
19
+ className: cn("flex items-center -space-x-px", className),
20
+ "data-slot": "input-otp-group",
21
+ role: "group",
22
+ ...props
23
+ });
24
+ }
25
+ function InputOTPSlot({ className, index, ...props }) {
26
+ const slot = use(OTPInputContext).slots[index];
27
+ if (slot === void 0) throw new Error(`InputOTPSlot: no slot at index ${index}`);
28
+ const { char, hasFakeCaret, isActive } = slot;
29
+ return /* @__PURE__ */ jsxs("div", {
30
+ className: cn("relative flex size-9 items-center justify-center", "border border-input outline-hidden", "text-sm", "transition-all", "not-has-disabled:shadow-xs", "first:rounded-l-lg", "last:rounded-r-lg", "aria-invalid:border-destructive", "dark:bg-input/30", "data-active:z-10 data-active:border-ring data-active:ring-3 data-active:ring-ring/50", "data-active:aria-invalid:border-destructive data-active:aria-invalid:ring-destructive/20", "dark:data-active:aria-invalid:ring-destructive/40", className),
31
+ "data-active": isActive,
32
+ "data-slot": "input-otp-slot",
33
+ ...props,
34
+ children: [char, hasFakeCaret ? /* @__PURE__ */ jsx("div", {
35
+ className: cn("absolute inset-0 flex items-center justify-center", "pointer-events-none"),
36
+ children: /* @__PURE__ */ jsx("div", { className: cn("h-4 w-px", "bg-foreground", "animate-caret-blink", "animation-duration-1000") })
37
+ }) : null]
38
+ });
39
+ }
40
+ function InputOTPSeparator({ ...props }) {
41
+ return /* @__PURE__ */ jsx("div", {
42
+ "data-slot": "input-otp-separator",
43
+ ...props,
44
+ children: /* @__PURE__ */ jsx(MinusIcon, {})
45
+ });
46
+ }
47
+ //#endregion
48
+ export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, REGEXP_ONLY_CHARS, REGEXP_ONLY_DIGITS, REGEXP_ONLY_DIGITS_AND_CHARS };
@@ -0,0 +1,13 @@
1
+ import { InputGroupInput } from "./input-group.mjs";
2
+ import { ComponentProps, JSX } from "react";
3
+
4
+ //#region src/components/input-password.d.ts
5
+ type InputPasswordProps = Omit<ComponentProps<typeof InputGroupInput>, "type">;
6
+ declare function InputPassword({
7
+ className,
8
+ disabled,
9
+ readOnly,
10
+ ...props
11
+ }: InputPasswordProps): JSX.Element;
12
+ //#endregion
13
+ export { InputPassword, type InputPasswordProps };
@@ -0,0 +1,38 @@
1
+ "use client";
2
+ import { cn } from "../lib/utils.mjs";
3
+ import { InputGroup, InputGroupButton, InputGroupInput } from "./input-group.mjs";
4
+ import { EyeIcon, EyeOffIcon } from "lucide-react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { useCallback, useState } from "react";
7
+ //#region src/components/input-password.tsx
8
+ function InputPassword({ className, disabled, readOnly, ...props }) {
9
+ const [type, setType] = useState("password");
10
+ const togglePasswordVisibility = useCallback(() => {
11
+ setType((previous) => previous === "password" ? "text" : "password");
12
+ }, []);
13
+ return /* @__PURE__ */ jsxs(InputGroup, {
14
+ className,
15
+ "data-disabled": disabled ? "true" : void 0,
16
+ "data-slot": "input-password",
17
+ children: [/* @__PURE__ */ jsx(InputGroupInput, {
18
+ autoCapitalize: "none",
19
+ "data-slot": "input-password-item",
20
+ disabled,
21
+ readOnly,
22
+ type,
23
+ ...props
24
+ }), /* @__PURE__ */ jsx(InputGroupButton, {
25
+ "aria-label": type === "password" ? "Show password" : "Hide password",
26
+ className: cn("rounded-full", "focus-visible:ring-0", "focus-visible:not-disabled:bg-input"),
27
+ "data-slot": "input-password-toggle",
28
+ disabled,
29
+ size: "icon-sm",
30
+ type: "button",
31
+ variant: "ghost",
32
+ onClick: togglePasswordVisibility,
33
+ children: type === "password" ? /* @__PURE__ */ jsx(EyeOffIcon, {}) : /* @__PURE__ */ jsx(EyeIcon, {})
34
+ })]
35
+ });
36
+ }
37
+ //#endregion
38
+ export { InputPassword };
@@ -0,0 +1,20 @@
1
+ import { InputGroupInput } from "./input-group.mjs";
2
+ import { ComponentProps, JSX } from "react";
3
+
4
+ //#region src/components/input-search.d.ts
5
+ interface InputSearchProps extends Omit<ComponentProps<typeof InputGroupInput>, "defaultValue" | "onChange" | "type" | "value"> {
6
+ defaultValue?: string;
7
+ onChange?: (value?: string) => void;
8
+ value?: string;
9
+ }
10
+ declare function InputSearch({
11
+ className,
12
+ defaultValue,
13
+ disabled,
14
+ onChange,
15
+ readOnly,
16
+ value: valueProperty,
17
+ ...props
18
+ }: InputSearchProps): JSX.Element;
19
+ //#endregion
20
+ export { InputSearch, type InputSearchProps };
@@ -0,0 +1,50 @@
1
+ "use client";
2
+ import { cn } from "../lib/utils.mjs";
3
+ import { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from "./input-group.mjs";
4
+ import { SearchIcon, XIcon } from "lucide-react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { useControllableState } from "@radix-ui/react-use-controllable-state";
7
+ //#region src/components/input-search.tsx
8
+ function InputSearch({ className, defaultValue, disabled, onChange, readOnly, value: valueProperty, ...props }) {
9
+ const [value, setValue] = useControllableState({
10
+ defaultProp: defaultValue,
11
+ onChange,
12
+ prop: valueProperty
13
+ });
14
+ return /* @__PURE__ */ jsxs(InputGroup, {
15
+ className,
16
+ "data-disabled": disabled ? "true" : void 0,
17
+ "data-slot": "input-search",
18
+ children: [
19
+ /* @__PURE__ */ jsx(InputGroupAddon, {
20
+ align: "inline-start",
21
+ children: /* @__PURE__ */ jsx(SearchIcon, {})
22
+ }),
23
+ /* @__PURE__ */ jsx(InputGroupInput, {
24
+ "data-slot": "input-search-item",
25
+ disabled,
26
+ readOnly,
27
+ type: "search",
28
+ value: value ?? "",
29
+ onChange: (event) => {
30
+ setValue(event.target.value);
31
+ },
32
+ ...props
33
+ }),
34
+ value ? /* @__PURE__ */ jsx(InputGroupButton, {
35
+ "aria-label": "Clear search",
36
+ className: cn("rounded-full", "focus-visible:ring-0", "focus-visible:not-disabled:bg-input"),
37
+ "data-slot": "input-search-clear",
38
+ disabled: disabled ?? readOnly,
39
+ size: "icon-sm",
40
+ variant: "ghost",
41
+ onClick: () => {
42
+ setValue("");
43
+ },
44
+ children: /* @__PURE__ */ jsx(XIcon, {})
45
+ }) : null
46
+ ]
47
+ });
48
+ }
49
+ //#endregion
50
+ export { InputSearch };
@@ -0,0 +1,11 @@
1
+ import { ComponentProps, JSX } from "react";
2
+
3
+ //#region src/components/input.d.ts
4
+ type InputProps = ComponentProps<"input">;
5
+ declare function Input({
6
+ className,
7
+ type,
8
+ ...props
9
+ }: InputProps): JSX.Element;
10
+ //#endregion
11
+ export { Input, type InputProps };
@@ -0,0 +1,14 @@
1
+ "use client";
2
+ import { cn } from "../lib/utils.mjs";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/components/input.tsx
5
+ function Input({ className, type, ...props }) {
6
+ return /* @__PURE__ */ jsx("input", {
7
+ className: cn("h-9 w-full min-w-0 px-3 py-1", "rounded-lg border border-input", "bg-transparent shadow-xs outline-none", "text-base", "transition-[color,box-shadow]", "selection:bg-primary selection:text-primary-foreground", "file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground", "placeholder:text-muted-foreground", "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50", "md:text-sm", "dark:bg-input/30", "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50", "aria-invalid:border-destructive aria-invalid:ring-destructive/20", "dark:aria-invalid:ring-destructive/40", className),
8
+ "data-slot": "input",
9
+ type,
10
+ ...props
11
+ });
12
+ }
13
+ //#endregion
14
+ export { Input };
@@ -0,0 +1,82 @@
1
+ import { VariantProps } from "../lib/utils.mjs";
2
+ import { Separator } from "./separator.mjs";
3
+ import * as _$_codefast_tailwind_variants0 from "@codefast/tailwind-variants";
4
+ import { ComponentProps, JSX } from "react";
5
+
6
+ //#region src/components/item.d.ts
7
+ declare const itemVariants: _$_codefast_tailwind_variants0.VariantFunctionType<{
8
+ size: {
9
+ default: string[];
10
+ sm: string[];
11
+ };
12
+ variant: {
13
+ default: string;
14
+ muted: string;
15
+ outline: string;
16
+ };
17
+ }, Record<string, never>>;
18
+ declare const itemMediaVariants: _$_codefast_tailwind_variants0.VariantFunctionType<{
19
+ variant: {
20
+ default: string;
21
+ icon: string[];
22
+ image: string[];
23
+ };
24
+ }, Record<string, never>>;
25
+ type ItemGroupProps = ComponentProps<"div">;
26
+ declare function ItemGroup({
27
+ className,
28
+ ...props
29
+ }: ItemGroupProps): JSX.Element;
30
+ type ItemSeparatorProps = ComponentProps<typeof Separator>;
31
+ declare function ItemSeparator({
32
+ className,
33
+ ...props
34
+ }: ItemSeparatorProps): JSX.Element;
35
+ type ItemProps = ComponentProps<"div"> & VariantProps<typeof itemVariants> & {
36
+ asChild?: boolean;
37
+ };
38
+ declare function Item({
39
+ asChild,
40
+ className,
41
+ size,
42
+ variant,
43
+ ...props
44
+ }: ItemProps): JSX.Element;
45
+ type ItemMediaProps = ComponentProps<"div"> & VariantProps<typeof itemMediaVariants>;
46
+ declare function ItemMedia({
47
+ className,
48
+ variant,
49
+ ...props
50
+ }: ItemMediaProps): JSX.Element;
51
+ type ItemContentProps = ComponentProps<"div">;
52
+ declare function ItemContent({
53
+ className,
54
+ ...props
55
+ }: ItemContentProps): JSX.Element;
56
+ type ItemTitleProps = ComponentProps<"div">;
57
+ declare function ItemTitle({
58
+ className,
59
+ ...props
60
+ }: ItemTitleProps): JSX.Element;
61
+ type ItemDescriptionProps = ComponentProps<"p">;
62
+ declare function ItemDescription({
63
+ className,
64
+ ...props
65
+ }: ItemDescriptionProps): JSX.Element;
66
+ type ItemActionsProps = ComponentProps<"div">;
67
+ declare function ItemActions({
68
+ className,
69
+ ...props
70
+ }: ItemActionsProps): JSX.Element;
71
+ type ItemHeaderProps = ComponentProps<"div">;
72
+ declare function ItemHeader({
73
+ className,
74
+ ...props
75
+ }: ItemHeaderProps): JSX.Element;
76
+ type ItemFooterProps = ComponentProps<"div">;
77
+ declare function ItemFooter({
78
+ className,
79
+ ...props
80
+ }: ItemFooterProps): JSX.Element;
81
+ //#endregion
82
+ export { Item, ItemActions, type ItemActionsProps, ItemContent, type ItemContentProps, ItemDescription, type ItemDescriptionProps, ItemFooter, type ItemFooterProps, ItemGroup, type ItemGroupProps, ItemHeader, type ItemHeaderProps, ItemMedia, type ItemMediaProps, type ItemProps, ItemSeparator, type ItemSeparatorProps, ItemTitle, type ItemTitleProps, itemMediaVariants, itemVariants };