@codefast/ui 0.0.8 → 0.0.9

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 (377) hide show
  1. package/dist/accordion.d.mts +5 -1
  2. package/dist/accordion.d.ts +5 -1
  3. package/dist/accordion.js.map +1 -1
  4. package/dist/accordion.mjs.map +1 -1
  5. package/dist/alert-dialog.d.mts +12 -3
  6. package/dist/alert-dialog.d.ts +12 -3
  7. package/dist/alert-dialog.js +3 -3
  8. package/dist/alert-dialog.js.map +1 -1
  9. package/dist/alert-dialog.mjs +1 -1
  10. package/dist/alert-dialog.mjs.map +1 -1
  11. package/dist/alert.d.mts +10 -5
  12. package/dist/alert.d.ts +10 -5
  13. package/dist/alert.js +22 -18
  14. package/dist/alert.js.map +1 -1
  15. package/dist/alert.mjs +22 -18
  16. package/dist/alert.mjs.map +1 -1
  17. package/dist/aspect-ratio.d.mts +2 -1
  18. package/dist/aspect-ratio.d.ts +2 -1
  19. package/dist/aspect-ratio.js.map +1 -1
  20. package/dist/aspect-ratio.mjs.map +1 -1
  21. package/dist/avatar.d.mts +4 -1
  22. package/dist/avatar.d.ts +4 -1
  23. package/dist/avatar.js.map +1 -1
  24. package/dist/avatar.mjs.map +1 -1
  25. package/dist/badge.d.mts +5 -2
  26. package/dist/badge.d.ts +5 -2
  27. package/dist/badge.js.map +1 -1
  28. package/dist/badge.mjs.map +1 -1
  29. package/dist/blockquote.d.mts +5 -4
  30. package/dist/blockquote.d.ts +5 -4
  31. package/dist/blockquote.js +6 -4
  32. package/dist/blockquote.js.map +1 -1
  33. package/dist/blockquote.mjs +6 -4
  34. package/dist/blockquote.mjs.map +1 -1
  35. package/dist/box.d.mts +1 -1
  36. package/dist/box.d.ts +1 -1
  37. package/dist/box.js.map +1 -1
  38. package/dist/box.mjs.map +1 -1
  39. package/dist/breadcrumb.d.mts +18 -11
  40. package/dist/breadcrumb.d.ts +18 -11
  41. package/dist/breadcrumb.js +49 -39
  42. package/dist/breadcrumb.js.map +1 -1
  43. package/dist/breadcrumb.mjs +49 -39
  44. package/dist/breadcrumb.mjs.map +1 -1
  45. package/dist/button.d.mts +3 -2
  46. package/dist/button.d.ts +3 -2
  47. package/dist/button.js +2 -2
  48. package/dist/button.mjs +1 -1
  49. package/dist/calendar.d.mts +3 -2
  50. package/dist/calendar.d.ts +3 -2
  51. package/dist/calendar.js +3 -3
  52. package/dist/calendar.js.map +1 -1
  53. package/dist/calendar.mjs +1 -1
  54. package/dist/calendar.mjs.map +1 -1
  55. package/dist/card.d.mts +13 -7
  56. package/dist/card.d.ts +13 -7
  57. package/dist/card.js +47 -37
  58. package/dist/card.js.map +1 -1
  59. package/dist/card.mjs +47 -37
  60. package/dist/card.mjs.map +1 -1
  61. package/dist/carousel.d.mts +13 -8
  62. package/dist/carousel.d.ts +13 -8
  63. package/dist/carousel.js +63 -57
  64. package/dist/carousel.js.map +1 -1
  65. package/dist/carousel.mjs +62 -56
  66. package/dist/carousel.mjs.map +1 -1
  67. package/dist/checkbox.d.mts +2 -1
  68. package/dist/checkbox.d.ts +2 -1
  69. package/dist/checkbox.js.map +1 -1
  70. package/dist/checkbox.mjs.map +1 -1
  71. package/dist/{chunk-OCLLX7EY.js → chunk-3BDLWZ3W.js} +1 -1
  72. package/dist/chunk-3BDLWZ3W.js.map +1 -0
  73. package/dist/{chunk-2D7SRYKN.js → chunk-43YGVOCO.js} +1 -1
  74. package/dist/chunk-43YGVOCO.js.map +1 -0
  75. package/dist/{chunk-EIHWTXQ4.mjs → chunk-AJLEALVP.mjs} +1 -1
  76. package/dist/chunk-AJLEALVP.mjs.map +1 -0
  77. package/dist/{chunk-LDYBRDAY.js → chunk-D6NQEMTJ.js} +1 -1
  78. package/dist/chunk-D6NQEMTJ.js.map +1 -0
  79. package/dist/{chunk-KW5FJ62U.mjs → chunk-FATZHRHR.mjs} +1 -1
  80. package/dist/chunk-FATZHRHR.mjs.map +1 -0
  81. package/dist/{chunk-RTKEO347.js → chunk-GRKABVK4.js} +1 -1
  82. package/dist/chunk-GRKABVK4.js.map +1 -0
  83. package/dist/{chunk-U2WDUCW3.js → chunk-JOJW7BBY.js} +1 -1
  84. package/dist/{chunk-U2WDUCW3.js.map → chunk-JOJW7BBY.js.map} +1 -1
  85. package/dist/{chunk-ESWGFN3R.mjs → chunk-KV4VL2ZF.mjs} +1 -1
  86. package/dist/chunk-KV4VL2ZF.mjs.map +1 -0
  87. package/dist/{chunk-T52N6ZBP.mjs → chunk-MJDKD2K4.mjs} +1 -1
  88. package/dist/{chunk-T52N6ZBP.mjs.map → chunk-MJDKD2K4.mjs.map} +1 -1
  89. package/dist/{chunk-EDVCMWDT.mjs → chunk-NCEN3XBK.mjs} +1 -1
  90. package/dist/chunk-NCEN3XBK.mjs.map +1 -0
  91. package/dist/{chunk-PTD4AMHI.mjs → chunk-PIU627A3.mjs} +1 -1
  92. package/dist/chunk-PIU627A3.mjs.map +1 -0
  93. package/dist/{chunk-5GHZ6EXI.js → chunk-PKB2G726.js} +1 -1
  94. package/dist/{chunk-5GHZ6EXI.js.map → chunk-PKB2G726.js.map} +1 -1
  95. package/dist/code.d.mts +5 -4
  96. package/dist/code.d.ts +5 -4
  97. package/dist/code.js +6 -4
  98. package/dist/code.js.map +1 -1
  99. package/dist/code.mjs +6 -4
  100. package/dist/code.mjs.map +1 -1
  101. package/dist/collapsible.d.mts +4 -1
  102. package/dist/collapsible.d.ts +4 -1
  103. package/dist/collapsible.js.map +1 -1
  104. package/dist/collapsible.mjs.map +1 -1
  105. package/dist/command.d.mts +14 -3
  106. package/dist/command.d.ts +14 -3
  107. package/dist/command.js +6 -3
  108. package/dist/command.js.map +1 -1
  109. package/dist/command.mjs +5 -2
  110. package/dist/command.mjs.map +1 -1
  111. package/dist/container.d.mts +5 -4
  112. package/dist/container.d.ts +5 -4
  113. package/dist/container.js +6 -4
  114. package/dist/container.js.map +1 -1
  115. package/dist/container.mjs +6 -4
  116. package/dist/container.mjs.map +1 -1
  117. package/dist/context-menu.d.mts +26 -11
  118. package/dist/context-menu.d.ts +26 -11
  119. package/dist/context-menu.js.map +1 -1
  120. package/dist/context-menu.mjs.map +1 -1
  121. package/dist/data-table.d.mts +10 -7
  122. package/dist/data-table.d.ts +10 -7
  123. package/dist/data-table.js +25 -25
  124. package/dist/data-table.js.map +1 -1
  125. package/dist/data-table.mjs +3 -3
  126. package/dist/data-table.mjs.map +1 -1
  127. package/dist/dialog.d.mts +11 -3
  128. package/dist/dialog.d.ts +11 -3
  129. package/dist/dialog.js +2 -2
  130. package/dist/dialog.mjs +1 -1
  131. package/dist/drawer.d.mts +12 -4
  132. package/dist/drawer.d.ts +12 -4
  133. package/dist/drawer.js.map +1 -1
  134. package/dist/drawer.mjs.map +1 -1
  135. package/dist/dropdown-menu.d.mts +25 -11
  136. package/dist/dropdown-menu.d.ts +25 -11
  137. package/dist/dropdown-menu.js +2 -2
  138. package/dist/dropdown-menu.mjs +1 -1
  139. package/dist/em.d.mts +5 -4
  140. package/dist/em.d.ts +5 -4
  141. package/dist/em.js +6 -4
  142. package/dist/em.js.map +1 -1
  143. package/dist/em.mjs +6 -4
  144. package/dist/em.mjs.map +1 -1
  145. package/dist/form.d.mts +14 -6
  146. package/dist/form.d.ts +14 -6
  147. package/dist/form.js +26 -22
  148. package/dist/form.js.map +1 -1
  149. package/dist/form.mjs +25 -21
  150. package/dist/form.mjs.map +1 -1
  151. package/dist/heading.d.mts +6 -5
  152. package/dist/heading.d.ts +6 -5
  153. package/dist/heading.js +6 -4
  154. package/dist/heading.js.map +1 -1
  155. package/dist/heading.mjs +6 -4
  156. package/dist/heading.mjs.map +1 -1
  157. package/dist/hover-card.d.mts +4 -1
  158. package/dist/hover-card.d.ts +4 -1
  159. package/dist/hover-card.js.map +1 -1
  160. package/dist/hover-card.mjs.map +1 -1
  161. package/dist/input-otp.d.mts +12 -32
  162. package/dist/input-otp.d.ts +12 -32
  163. package/dist/input-otp.js +30 -22
  164. package/dist/input-otp.js.map +1 -1
  165. package/dist/input-otp.mjs +29 -21
  166. package/dist/input-otp.mjs.map +1 -1
  167. package/dist/input.d.mts +6 -3
  168. package/dist/input.d.ts +6 -3
  169. package/dist/input.js +13 -11
  170. package/dist/input.js.map +1 -1
  171. package/dist/input.mjs +13 -11
  172. package/dist/input.mjs.map +1 -1
  173. package/dist/kbd.d.mts +5 -4
  174. package/dist/kbd.d.ts +5 -4
  175. package/dist/kbd.js +16 -14
  176. package/dist/kbd.js.map +1 -1
  177. package/dist/kbd.mjs +16 -14
  178. package/dist/kbd.mjs.map +1 -1
  179. package/dist/label.d.mts +2 -1
  180. package/dist/label.d.ts +2 -1
  181. package/dist/label.js +2 -2
  182. package/dist/label.mjs +1 -1
  183. package/dist/menubar.d.mts +27 -12
  184. package/dist/menubar.d.ts +27 -12
  185. package/dist/menubar.js.map +1 -1
  186. package/dist/menubar.mjs.map +1 -1
  187. package/dist/navigation-menu.d.mts +9 -1
  188. package/dist/navigation-menu.d.ts +9 -1
  189. package/dist/navigation-menu.js.map +1 -1
  190. package/dist/navigation-menu.mjs.map +1 -1
  191. package/dist/pagination.d.mts +13 -7
  192. package/dist/pagination.d.ts +13 -7
  193. package/dist/pagination.js +5 -3
  194. package/dist/pagination.js.map +1 -1
  195. package/dist/pagination.mjs +4 -2
  196. package/dist/pagination.mjs.map +1 -1
  197. package/dist/popover.d.mts +6 -1
  198. package/dist/popover.d.ts +6 -1
  199. package/dist/popover.js.map +1 -1
  200. package/dist/popover.mjs.map +1 -1
  201. package/dist/pre.d.mts +5 -4
  202. package/dist/pre.d.ts +5 -4
  203. package/dist/pre.js +6 -4
  204. package/dist/pre.js.map +1 -1
  205. package/dist/pre.mjs +6 -4
  206. package/dist/pre.mjs.map +1 -1
  207. package/dist/progress.d.mts +2 -1
  208. package/dist/progress.d.ts +2 -1
  209. package/dist/progress.js +1 -1
  210. package/dist/progress.js.map +1 -1
  211. package/dist/progress.mjs +1 -1
  212. package/dist/progress.mjs.map +1 -1
  213. package/dist/quote.d.mts +5 -4
  214. package/dist/quote.d.ts +5 -4
  215. package/dist/quote.js +6 -4
  216. package/dist/quote.js.map +1 -1
  217. package/dist/quote.mjs +6 -4
  218. package/dist/quote.mjs.map +1 -1
  219. package/dist/radio-group.d.mts +3 -1
  220. package/dist/radio-group.d.ts +3 -1
  221. package/dist/radio-group.js.map +1 -1
  222. package/dist/radio-group.mjs.map +1 -1
  223. package/dist/resizable.d.mts +4 -4
  224. package/dist/resizable.d.ts +4 -4
  225. package/dist/resizable.js +1 -1
  226. package/dist/resizable.js.map +1 -1
  227. package/dist/resizable.mjs +1 -1
  228. package/dist/resizable.mjs.map +1 -1
  229. package/dist/scroll-area.d.mts +4 -2
  230. package/dist/scroll-area.d.ts +4 -2
  231. package/dist/scroll-area.js +6 -6
  232. package/dist/scroll-area.js.map +1 -1
  233. package/dist/scroll-area.mjs +6 -6
  234. package/dist/scroll-area.mjs.map +1 -1
  235. package/dist/section.d.mts +5 -4
  236. package/dist/section.d.ts +5 -4
  237. package/dist/section.js +6 -4
  238. package/dist/section.js.map +1 -1
  239. package/dist/section.mjs +6 -4
  240. package/dist/section.mjs.map +1 -1
  241. package/dist/select.d.mts +11 -1
  242. package/dist/select.d.ts +11 -1
  243. package/dist/select.js +2 -2
  244. package/dist/select.mjs +1 -1
  245. package/dist/separator.d.mts +2 -1
  246. package/dist/separator.d.ts +2 -1
  247. package/dist/separator.js.map +1 -1
  248. package/dist/separator.mjs.map +1 -1
  249. package/dist/sheet.d.mts +18 -8
  250. package/dist/sheet.d.ts +18 -8
  251. package/dist/sheet.js.map +1 -1
  252. package/dist/sheet.mjs.map +1 -1
  253. package/dist/skeleton.d.mts +3 -2
  254. package/dist/skeleton.d.ts +3 -2
  255. package/dist/skeleton.js +1 -4
  256. package/dist/skeleton.js.map +1 -1
  257. package/dist/skeleton.mjs +1 -4
  258. package/dist/skeleton.mjs.map +1 -1
  259. package/dist/slider.d.mts +2 -1
  260. package/dist/slider.d.ts +2 -1
  261. package/dist/slider.js.map +1 -1
  262. package/dist/slider.mjs.map +1 -1
  263. package/dist/sonner.d.mts +1 -1
  264. package/dist/sonner.d.ts +1 -1
  265. package/dist/sonner.js.map +1 -1
  266. package/dist/sonner.mjs.map +1 -1
  267. package/dist/strong.d.mts +5 -4
  268. package/dist/strong.d.ts +5 -4
  269. package/dist/strong.js +6 -4
  270. package/dist/strong.js.map +1 -1
  271. package/dist/strong.mjs +6 -4
  272. package/dist/strong.mjs.map +1 -1
  273. package/dist/switch.d.mts +2 -1
  274. package/dist/switch.d.ts +2 -1
  275. package/dist/switch.js.map +1 -1
  276. package/dist/switch.mjs.map +1 -1
  277. package/dist/table.d.mts +17 -9
  278. package/dist/table.d.ts +17 -9
  279. package/dist/table.js +75 -58
  280. package/dist/table.js.map +1 -1
  281. package/dist/table.mjs +75 -58
  282. package/dist/table.mjs.map +1 -1
  283. package/dist/tabs.d.mts +5 -1
  284. package/dist/tabs.d.ts +5 -1
  285. package/dist/tabs.js.map +1 -1
  286. package/dist/tabs.mjs.map +1 -1
  287. package/dist/text.d.mts +1 -1
  288. package/dist/text.d.ts +1 -1
  289. package/dist/text.js.map +1 -1
  290. package/dist/text.mjs.map +1 -1
  291. package/dist/textarea.d.mts +3 -2
  292. package/dist/textarea.d.ts +3 -2
  293. package/dist/textarea.js +15 -13
  294. package/dist/textarea.js.map +1 -1
  295. package/dist/textarea.mjs +15 -13
  296. package/dist/textarea.mjs.map +1 -1
  297. package/dist/toggle-group.d.mts +4 -2
  298. package/dist/toggle-group.d.ts +4 -2
  299. package/dist/toggle-group.js +2 -2
  300. package/dist/toggle-group.js.map +1 -1
  301. package/dist/toggle-group.mjs +1 -1
  302. package/dist/toggle-group.mjs.map +1 -1
  303. package/dist/toggle.d.mts +2 -1
  304. package/dist/toggle.d.ts +2 -1
  305. package/dist/toggle.js +2 -2
  306. package/dist/toggle.mjs +1 -1
  307. package/dist/tooltip.d.mts +6 -1
  308. package/dist/tooltip.d.ts +6 -1
  309. package/dist/tooltip.js.map +1 -1
  310. package/dist/tooltip.mjs.map +1 -1
  311. package/package.json +6 -6
  312. package/src/accordion.tsx +17 -4
  313. package/src/alert-dialog.tsx +26 -7
  314. package/src/alert.tsx +35 -25
  315. package/src/aspect-ratio.tsx +2 -1
  316. package/src/avatar.tsx +13 -3
  317. package/src/badge.tsx +6 -3
  318. package/src/blockquote.tsx +11 -10
  319. package/src/box.tsx +1 -1
  320. package/src/breadcrumb.tsx +70 -60
  321. package/src/button.tsx +4 -2
  322. package/src/calendar.tsx +3 -2
  323. package/src/card.tsx +59 -52
  324. package/src/carousel.tsx +76 -72
  325. package/src/checkbox.tsx +3 -2
  326. package/src/code.tsx +10 -8
  327. package/src/collapsible.tsx +11 -1
  328. package/src/command.tsx +47 -10
  329. package/src/container.tsx +10 -10
  330. package/src/context-menu.tsx +52 -16
  331. package/src/data-table.tsx +23 -11
  332. package/src/dialog.tsx +21 -5
  333. package/src/drawer.tsx +28 -6
  334. package/src/dropdown-menu.tsx +51 -15
  335. package/src/em.tsx +10 -8
  336. package/src/form.tsx +55 -38
  337. package/src/heading.tsx +11 -11
  338. package/src/hover-card.tsx +12 -2
  339. package/src/input-otp.tsx +45 -33
  340. package/src/input.tsx +17 -15
  341. package/src/kbd.tsx +19 -17
  342. package/src/label.tsx +3 -2
  343. package/src/menubar.tsx +48 -17
  344. package/src/navigation-menu.tsx +25 -5
  345. package/src/pagination.tsx +21 -9
  346. package/src/popover.tsx +18 -2
  347. package/src/pre.tsx +10 -8
  348. package/src/progress.tsx +4 -3
  349. package/src/quote.tsx +10 -8
  350. package/src/radio-group.tsx +10 -3
  351. package/src/resizable.tsx +2 -1
  352. package/src/scroll-area.tsx +18 -11
  353. package/src/section.tsx +10 -10
  354. package/src/select.tsx +27 -7
  355. package/src/separator.tsx +3 -2
  356. package/src/sheet.tsx +23 -5
  357. package/src/skeleton.tsx +3 -5
  358. package/src/slider.tsx +3 -2
  359. package/src/sonner.tsx +1 -1
  360. package/src/strong.tsx +10 -8
  361. package/src/switch.tsx +3 -2
  362. package/src/table.tsx +90 -78
  363. package/src/tabs.tsx +17 -4
  364. package/src/text.tsx +1 -1
  365. package/src/textarea.tsx +16 -16
  366. package/src/toggle-group.tsx +14 -4
  367. package/src/toggle.tsx +3 -2
  368. package/src/tooltip.tsx +12 -2
  369. package/dist/chunk-2D7SRYKN.js.map +0 -1
  370. package/dist/chunk-EDVCMWDT.mjs.map +0 -1
  371. package/dist/chunk-EIHWTXQ4.mjs.map +0 -1
  372. package/dist/chunk-ESWGFN3R.mjs.map +0 -1
  373. package/dist/chunk-KW5FJ62U.mjs.map +0 -1
  374. package/dist/chunk-LDYBRDAY.js.map +0 -1
  375. package/dist/chunk-OCLLX7EY.js.map +0 -1
  376. package/dist/chunk-PTD4AMHI.mjs.map +0 -1
  377. package/dist/chunk-RTKEO347.js.map +0 -1
package/src/select.tsx CHANGED
@@ -14,27 +14,31 @@ import { cn } from "./utils";
14
14
  * Component: Select
15
15
  * -------------------------------------------------------------------------- */
16
16
 
17
+ type SelectProps = SelectPrimitive.SelectProps;
17
18
  const Select = SelectPrimitive.Root;
18
19
 
19
20
  /* -----------------------------------------------------------------------------
20
21
  * Component: SelectGroup
21
22
  * -------------------------------------------------------------------------- */
22
23
 
24
+ type SelectGroupProps = SelectPrimitive.SelectGroupProps;
23
25
  const SelectGroup = SelectPrimitive.Group;
24
26
 
25
27
  /* -----------------------------------------------------------------------------
26
28
  * Component: SelectValue
27
29
  * -------------------------------------------------------------------------- */
28
30
 
31
+ type SelectValueProps = SelectPrimitive.SelectValueProps;
29
32
  const SelectValue = SelectPrimitive.Value;
30
33
 
31
34
  /* -----------------------------------------------------------------------------
32
35
  * Component: SelectTrigger
33
36
  * -------------------------------------------------------------------------- */
34
37
 
38
+ type SelectTriggerProps = SelectPrimitive.SelectTriggerProps;
35
39
  const SelectTrigger = React.forwardRef<
36
40
  React.ElementRef<typeof SelectPrimitive.Trigger>,
37
- SelectPrimitive.SelectTriggerProps
41
+ SelectTriggerProps
38
42
  >(({ className, children, ...props }, ref) => (
39
43
  <SelectPrimitive.Trigger
40
44
  ref={ref}
@@ -56,9 +60,10 @@ SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
56
60
  * Component: SelectScrollUpButton
57
61
  * -------------------------------------------------------------------------- */
58
62
 
63
+ type SelectScrollUpButtonProps = SelectPrimitive.SelectScrollUpButtonProps;
59
64
  const SelectScrollUpButton = React.forwardRef<
60
65
  React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,
61
- SelectPrimitive.SelectScrollUpButtonProps
66
+ SelectScrollUpButtonProps
62
67
  >(({ className, ...props }, ref) => (
63
68
  <SelectPrimitive.ScrollUpButton
64
69
  ref={ref}
@@ -77,9 +82,10 @@ SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
77
82
  * Component: SelectScrollDownButton
78
83
  * -------------------------------------------------------------------------- */
79
84
 
85
+ type SelectScrollDownButtonProps = SelectPrimitive.SelectScrollDownButtonProps;
80
86
  const SelectScrollDownButton = React.forwardRef<
81
87
  React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,
82
- SelectPrimitive.SelectScrollDownButtonProps
88
+ SelectScrollDownButtonProps
83
89
  >(({ className, ...props }, ref) => (
84
90
  <SelectPrimitive.ScrollDownButton
85
91
  ref={ref}
@@ -99,9 +105,10 @@ SelectScrollDownButton.displayName =
99
105
  * Component: SelectContent
100
106
  * -------------------------------------------------------------------------- */
101
107
 
108
+ type SelectContentProps = SelectPrimitive.SelectContentProps;
102
109
  const SelectContent = React.forwardRef<
103
110
  React.ElementRef<typeof SelectPrimitive.Content>,
104
- SelectPrimitive.SelectContentProps
111
+ SelectContentProps
105
112
  >(({ className, children, position = "popper", ...props }, ref) => (
106
113
  <SelectPrimitive.Portal>
107
114
  <SelectPrimitive.Content
@@ -135,9 +142,10 @@ SelectContent.displayName = SelectPrimitive.Content.displayName;
135
142
  * Component: SelectLabel
136
143
  * -------------------------------------------------------------------------- */
137
144
 
145
+ type SelectLabelProps = SelectPrimitive.SelectLabelProps;
138
146
  const SelectLabel = React.forwardRef<
139
147
  React.ElementRef<typeof SelectPrimitive.Label>,
140
- SelectPrimitive.SelectLabelProps
148
+ SelectLabelProps
141
149
  >(({ className, ...props }, ref) => (
142
150
  <SelectPrimitive.Label
143
151
  ref={ref}
@@ -151,9 +159,10 @@ SelectLabel.displayName = SelectPrimitive.Label.displayName;
151
159
  * Component: SelectItem
152
160
  * -------------------------------------------------------------------------- */
153
161
 
162
+ type SelectItemProps = SelectPrimitive.SelectItemProps;
154
163
  const SelectItem = React.forwardRef<
155
164
  React.ElementRef<typeof SelectPrimitive.Item>,
156
- SelectPrimitive.SelectItemProps
165
+ SelectItemProps
157
166
  >(({ className, children, ...props }, ref) => (
158
167
  <SelectPrimitive.Item
159
168
  ref={ref}
@@ -177,9 +186,10 @@ SelectItem.displayName = SelectPrimitive.Item.displayName;
177
186
  * Component: SelectSeparator
178
187
  * -------------------------------------------------------------------------- */
179
188
 
189
+ type SelectSeparatorProps = SelectPrimitive.SelectSeparatorProps;
180
190
  const SelectSeparator = React.forwardRef<
181
191
  React.ElementRef<typeof SelectPrimitive.Separator>,
182
- SelectPrimitive.SelectSeparatorProps
192
+ SelectSeparatorProps
183
193
  >(({ className, ...props }, ref) => (
184
194
  <SelectPrimitive.Separator
185
195
  ref={ref}
@@ -204,4 +214,14 @@ export {
204
214
  SelectSeparator,
205
215
  SelectScrollUpButton,
206
216
  SelectScrollDownButton,
217
+ type SelectProps,
218
+ type SelectGroupProps,
219
+ type SelectValueProps,
220
+ type SelectTriggerProps,
221
+ type SelectContentProps,
222
+ type SelectLabelProps,
223
+ type SelectItemProps,
224
+ type SelectSeparatorProps,
225
+ type SelectScrollUpButtonProps,
226
+ type SelectScrollDownButtonProps,
207
227
  };
package/src/separator.tsx CHANGED
@@ -8,9 +8,10 @@ import { cn } from "./utils";
8
8
  * Component: Separator
9
9
  * -------------------------------------------------------------------------- */
10
10
 
11
+ type SeparatorProps = SeparatorPrimitive.SeparatorProps;
11
12
  const Separator = React.forwardRef<
12
13
  React.ElementRef<typeof SeparatorPrimitive.Root>,
13
- SeparatorPrimitive.SeparatorProps
14
+ SeparatorProps
14
15
  >(
15
16
  (
16
17
  { className, orientation = "horizontal", decorative = true, ...props },
@@ -35,4 +36,4 @@ Separator.displayName = SeparatorPrimitive.Root.displayName;
35
36
  * Exports
36
37
  * -------------------------------------------------------------------------- */
37
38
 
38
- export { Separator };
39
+ export { Separator, type SeparatorProps };
package/src/sheet.tsx CHANGED
@@ -27,31 +27,37 @@ const sheetVariants = cva({
27
27
  },
28
28
  });
29
29
 
30
+ type SheetVariantsProps = VariantProps<typeof sheetVariants>;
31
+
30
32
  /* -----------------------------------------------------------------------------
31
33
  * Component: Sheet
32
34
  * -------------------------------------------------------------------------- */
33
35
 
36
+ type SheetProps = SheetPrimitive.DialogProps;
34
37
  const Sheet = SheetPrimitive.Root;
35
38
 
36
39
  /* -----------------------------------------------------------------------------
37
40
  * Component: SheetTrigger
38
41
  * -------------------------------------------------------------------------- */
39
42
 
43
+ type SheetTriggerProps = SheetPrimitive.DialogTriggerProps;
40
44
  const SheetTrigger = SheetPrimitive.Trigger;
41
45
 
42
46
  /* -----------------------------------------------------------------------------
43
47
  * Component: SheetClose
44
48
  * -------------------------------------------------------------------------- */
45
49
 
50
+ type SheetCloseProps = SheetPrimitive.DialogCloseProps;
46
51
  const SheetClose = SheetPrimitive.Close;
47
52
 
48
53
  /* -----------------------------------------------------------------------------
49
54
  * Component: SheetContent
50
55
  * -------------------------------------------------------------------------- */
51
56
 
57
+ type SheetContentProps = SheetPrimitive.DialogContentProps & SheetVariantsProps;
52
58
  const SheetContent = React.forwardRef<
53
59
  React.ElementRef<typeof SheetPrimitive.Content>,
54
- SheetPrimitive.DialogContentProps & VariantProps<typeof sheetVariants>
60
+ SheetContentProps
55
61
  >(({ side = "right", className, children, ...props }, ref) => (
56
62
  <SheetPrimitive.Portal>
57
63
  <SheetPrimitive.Overlay
@@ -82,10 +88,11 @@ SheetContent.displayName = SheetPrimitive.Content.displayName;
82
88
  * Component: SheetHeader
83
89
  * -------------------------------------------------------------------------- */
84
90
 
91
+ type SheetHeaderProps = React.HTMLAttributes<HTMLDivElement>;
85
92
  function SheetHeader({
86
93
  className,
87
94
  ...props
88
- }: React.HTMLAttributes<HTMLDivElement>): React.JSX.Element {
95
+ }: SheetHeaderProps): React.JSX.Element {
89
96
  return (
90
97
  <div
91
98
  className={cn(
@@ -101,10 +108,11 @@ function SheetHeader({
101
108
  * Component: SheetFooter
102
109
  * -------------------------------------------------------------------------- */
103
110
 
111
+ type SheetFooterProps = React.HTMLAttributes<HTMLDivElement>;
104
112
  function SheetFooter({
105
113
  className,
106
114
  ...props
107
- }: React.HTMLAttributes<HTMLDivElement>): React.JSX.Element {
115
+ }: SheetFooterProps): React.JSX.Element {
108
116
  return (
109
117
  <div
110
118
  className={cn(
@@ -121,9 +129,10 @@ SheetFooter.displayName = "SheetFooter";
121
129
  * Component: SheetTitle
122
130
  * -------------------------------------------------------------------------- */
123
131
 
132
+ type SheetTitleProps = SheetPrimitive.DialogTitleProps;
124
133
  const SheetTitle = React.forwardRef<
125
134
  React.ElementRef<typeof SheetPrimitive.Title>,
126
- SheetPrimitive.DialogTitleProps
135
+ SheetTitleProps
127
136
  >(({ className, ...props }, ref) => (
128
137
  <SheetPrimitive.Title
129
138
  ref={ref}
@@ -137,9 +146,10 @@ SheetTitle.displayName = SheetPrimitive.Title.displayName;
137
146
  * Component: SheetDescription
138
147
  * -------------------------------------------------------------------------- */
139
148
 
149
+ type SheetDescriptionProps = SheetPrimitive.DialogDescriptionProps;
140
150
  const SheetDescription = React.forwardRef<
141
151
  React.ElementRef<typeof SheetPrimitive.Description>,
142
- SheetPrimitive.DialogDescriptionProps
152
+ SheetDescriptionProps
143
153
  >(({ className, ...props }, ref) => (
144
154
  <SheetPrimitive.Description
145
155
  ref={ref}
@@ -162,4 +172,12 @@ export {
162
172
  SheetFooter,
163
173
  SheetTitle,
164
174
  SheetDescription,
175
+ type SheetProps,
176
+ type SheetTriggerProps,
177
+ type SheetCloseProps,
178
+ type SheetContentProps,
179
+ type SheetHeaderProps,
180
+ type SheetFooterProps,
181
+ type SheetTitleProps,
182
+ type SheetDescriptionProps,
165
183
  };
package/src/skeleton.tsx CHANGED
@@ -5,10 +5,8 @@ import { cn } from "./utils";
5
5
  * Component: Skeleton
6
6
  * -------------------------------------------------------------------------- */
7
7
 
8
- function Skeleton({
9
- className,
10
- ...props
11
- }: React.HTMLAttributes<HTMLDivElement>): React.JSX.Element {
8
+ type SkeletonProps = React.HTMLAttributes<HTMLDivElement>;
9
+ function Skeleton({ className, ...props }: SkeletonProps): React.JSX.Element {
12
10
  return (
13
11
  <div
14
12
  className={cn("bg-primary/10 animate-pulse rounded-md", className)}
@@ -21,4 +19,4 @@ function Skeleton({
21
19
  * Exports
22
20
  * -------------------------------------------------------------------------- */
23
21
 
24
- export { Skeleton };
22
+ export { Skeleton, type SkeletonProps };
package/src/slider.tsx CHANGED
@@ -8,9 +8,10 @@ import { cn } from "./utils";
8
8
  * Component: Slider
9
9
  * -------------------------------------------------------------------------- */
10
10
 
11
+ type SliderProps = SliderPrimitive.SliderProps;
11
12
  const Slider = React.forwardRef<
12
13
  React.ElementRef<typeof SliderPrimitive.Root>,
13
- SliderPrimitive.SliderProps
14
+ SliderProps
14
15
  >(({ className, ...props }, ref) => (
15
16
  <SliderPrimitive.Root
16
17
  ref={ref}
@@ -32,4 +33,4 @@ Slider.displayName = SliderPrimitive.Root.displayName;
32
33
  * Exports
33
34
  * -------------------------------------------------------------------------- */
34
35
 
35
- export { Slider };
36
+ export { Slider, type SliderProps };
package/src/sonner.tsx CHANGED
@@ -40,4 +40,4 @@ function Toaster({ ...props }: ToasterProps): React.JSX.Element {
40
40
  * Exports
41
41
  * -------------------------------------------------------------------------- */
42
42
 
43
- export { Toaster, toast };
43
+ export { Toaster, toast, type ToasterProps };
package/src/strong.tsx CHANGED
@@ -5,18 +5,20 @@ import { Slot } from "@radix-ui/react-slot";
5
5
  * Component: Strong
6
6
  * -------------------------------------------------------------------------- */
7
7
 
8
- const Strong = React.forwardRef<
9
- HTMLElement,
10
- React.HTMLAttributes<HTMLElement> & { asChild?: boolean }
11
- >(({ asChild, ...props }, ref) => {
12
- const Comp = asChild ? Slot : "strong";
8
+ interface StrongProps extends React.HTMLAttributes<HTMLElement> {
9
+ asChild?: boolean;
10
+ }
11
+ const Strong = React.forwardRef<HTMLElement, StrongProps>(
12
+ ({ asChild, ...props }, ref) => {
13
+ const Comp = asChild ? Slot : "strong";
13
14
 
14
- return <Comp ref={ref} {...props} />;
15
- });
15
+ return <Comp ref={ref} {...props} />;
16
+ },
17
+ );
16
18
  Strong.displayName = "Strong";
17
19
 
18
20
  /* -----------------------------------------------------------------------------
19
21
  * Exports
20
22
  * -------------------------------------------------------------------------- */
21
23
 
22
- export { Strong };
24
+ export { Strong, type StrongProps };
package/src/switch.tsx CHANGED
@@ -8,9 +8,10 @@ import { cn } from "./utils";
8
8
  * Component: Switch
9
9
  * -------------------------------------------------------------------------- */
10
10
 
11
+ type SwitchProps = SwitchPrimitives.SwitchProps;
11
12
  const Switch = React.forwardRef<
12
13
  React.ElementRef<typeof SwitchPrimitives.Root>,
13
- SwitchPrimitives.SwitchProps
14
+ SwitchProps
14
15
  >(({ className, ...props }, ref) => (
15
16
  <SwitchPrimitives.Root
16
17
  className={cn(
@@ -29,4 +30,4 @@ Switch.displayName = SwitchPrimitives.Root.displayName;
29
30
  * Exports
30
31
  * -------------------------------------------------------------------------- */
31
32
 
32
- export { Switch };
33
+ export { Switch, type SwitchProps };
package/src/table.tsx CHANGED
@@ -5,128 +5,132 @@ import { cn } from "./utils";
5
5
  * Component: Table
6
6
  * -------------------------------------------------------------------------- */
7
7
 
8
- const Table = React.forwardRef<
9
- HTMLTableElement,
10
- React.HTMLAttributes<HTMLTableElement>
11
- >(({ className, ...props }, ref) => (
12
- <div className="relative w-full overflow-auto">
13
- <table
14
- ref={ref}
15
- className={cn("w-full caption-bottom text-sm", className)}
16
- {...props}
17
- />
18
- </div>
19
- ));
8
+ type TableProps = React.HTMLAttributes<HTMLTableElement>;
9
+ const Table = React.forwardRef<HTMLTableElement, TableProps>(
10
+ ({ className, ...props }, ref) => (
11
+ <div className="relative w-full overflow-auto">
12
+ <table
13
+ ref={ref}
14
+ className={cn("w-full caption-bottom text-sm", className)}
15
+ {...props}
16
+ />
17
+ </div>
18
+ ),
19
+ );
20
20
  Table.displayName = "Table";
21
21
 
22
22
  /* -----------------------------------------------------------------------------
23
23
  * Component: TableHeader
24
24
  * -------------------------------------------------------------------------- */
25
25
 
26
- const TableHeader = React.forwardRef<
27
- HTMLTableSectionElement,
28
- React.HTMLAttributes<HTMLTableSectionElement>
29
- >(({ className, ...props }, ref) => (
30
- <thead ref={ref} className={cn("[&_tr]:border-b", className)} {...props} />
31
- ));
26
+ type TableHeaderProps = React.HTMLAttributes<HTMLTableSectionElement>;
27
+ const TableHeader = React.forwardRef<HTMLTableSectionElement, TableHeaderProps>(
28
+ ({ className, ...props }, ref) => (
29
+ <thead ref={ref} className={cn("[&_tr]:border-b", className)} {...props} />
30
+ ),
31
+ );
32
32
  TableHeader.displayName = "TableHeader";
33
33
 
34
34
  /* -----------------------------------------------------------------------------
35
35
  * Component: TableBody
36
36
  * -------------------------------------------------------------------------- */
37
37
 
38
- const TableBody = React.forwardRef<
39
- HTMLTableSectionElement,
40
- React.HTMLAttributes<HTMLTableSectionElement>
41
- >(({ className, ...props }, ref) => (
42
- <tbody
43
- ref={ref}
44
- className={cn("[&_tr:last-child]:border-0", className)}
45
- {...props}
46
- />
47
- ));
38
+ type TableBodyProps = React.HTMLAttributes<HTMLTableSectionElement>;
39
+ const TableBody = React.forwardRef<HTMLTableSectionElement, TableBodyProps>(
40
+ ({ className, ...props }, ref) => (
41
+ <tbody
42
+ ref={ref}
43
+ className={cn("[&_tr:last-child]:border-0", className)}
44
+ {...props}
45
+ />
46
+ ),
47
+ );
48
48
  TableBody.displayName = "TableBody";
49
49
 
50
50
  /* -----------------------------------------------------------------------------
51
51
  * Component: TableFooter
52
52
  * -------------------------------------------------------------------------- */
53
53
 
54
- const TableFooter = React.forwardRef<
55
- HTMLTableSectionElement,
56
- React.HTMLAttributes<HTMLTableSectionElement>
57
- >(({ className, ...props }, ref) => (
58
- <tfoot
59
- ref={ref}
60
- className={cn(
61
- "bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",
62
- className,
63
- )}
64
- {...props}
65
- />
66
- ));
54
+ type TableFooterProps = React.HTMLAttributes<HTMLTableSectionElement>;
55
+ const TableFooter = React.forwardRef<HTMLTableSectionElement, TableFooterProps>(
56
+ ({ className, ...props }, ref) => (
57
+ <tfoot
58
+ ref={ref}
59
+ className={cn(
60
+ "bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",
61
+ className,
62
+ )}
63
+ {...props}
64
+ />
65
+ ),
66
+ );
67
67
  TableFooter.displayName = "TableFooter";
68
68
 
69
69
  /* -----------------------------------------------------------------------------
70
70
  * Component: TableRow
71
71
  * -------------------------------------------------------------------------- */
72
72
 
73
- const TableRow = React.forwardRef<
74
- HTMLTableRowElement,
75
- React.HTMLAttributes<HTMLTableRowElement>
76
- >(({ className, ...props }, ref) => (
77
- <tr
78
- ref={ref}
79
- className={cn(
80
- "hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",
81
- className,
82
- )}
83
- {...props}
84
- />
85
- ));
73
+ type TableRowProps = React.HTMLAttributes<HTMLTableRowElement>;
74
+ const TableRow = React.forwardRef<HTMLTableRowElement, TableRowProps>(
75
+ ({ className, ...props }, ref) => (
76
+ <tr
77
+ ref={ref}
78
+ className={cn(
79
+ "hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",
80
+ className,
81
+ )}
82
+ {...props}
83
+ />
84
+ ),
85
+ );
86
86
  TableRow.displayName = "TableRow";
87
87
 
88
88
  /* -----------------------------------------------------------------------------
89
89
  * Component: TableHead
90
90
  * -------------------------------------------------------------------------- */
91
91
 
92
- const TableHead = React.forwardRef<
93
- HTMLTableCellElement,
94
- React.ThHTMLAttributes<HTMLTableCellElement>
95
- >(({ className, ...props }, ref) => (
96
- <th
97
- ref={ref}
98
- className={cn(
99
- "text-muted-foreground h-12 px-4 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0",
100
- className,
101
- )}
102
- {...props}
103
- />
104
- ));
92
+ type TableHeadProps = React.ThHTMLAttributes<HTMLTableCellElement>;
93
+ const TableHead = React.forwardRef<HTMLTableCellElement, TableHeadProps>(
94
+ ({ className, ...props }, ref) => (
95
+ <th
96
+ ref={ref}
97
+ className={cn(
98
+ "text-muted-foreground h-12 px-4 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0",
99
+ className,
100
+ )}
101
+ {...props}
102
+ />
103
+ ),
104
+ );
105
105
  TableHead.displayName = "TableHead";
106
106
 
107
107
  /* -----------------------------------------------------------------------------
108
108
  * Component: TableCell
109
109
  * -------------------------------------------------------------------------- */
110
110
 
111
- const TableCell = React.forwardRef<
112
- HTMLTableCellElement,
113
- React.TdHTMLAttributes<HTMLTableCellElement>
114
- >(({ className, ...props }, ref) => (
115
- <td
116
- ref={ref}
117
- className={cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className)}
118
- {...props}
119
- />
120
- ));
111
+ type TableCellProps = React.TdHTMLAttributes<HTMLTableCellElement>;
112
+ const TableCell = React.forwardRef<HTMLTableCellElement, TableCellProps>(
113
+ ({ className, ...props }, ref) => (
114
+ <td
115
+ ref={ref}
116
+ className={cn(
117
+ "p-4 align-middle [&:has([role=checkbox])]:pr-0",
118
+ className,
119
+ )}
120
+ {...props}
121
+ />
122
+ ),
123
+ );
121
124
  TableCell.displayName = "TableCell";
122
125
 
123
126
  /* -----------------------------------------------------------------------------
124
127
  * Component: TableCaption
125
128
  * -------------------------------------------------------------------------- */
126
129
 
130
+ type TableCaptionProps = React.HTMLAttributes<HTMLTableCaptionElement>;
127
131
  const TableCaption = React.forwardRef<
128
132
  HTMLTableCaptionElement,
129
- React.HTMLAttributes<HTMLTableCaptionElement>
133
+ TableCaptionProps
130
134
  >(({ className, ...props }, ref) => (
131
135
  <caption
132
136
  ref={ref}
@@ -149,4 +153,12 @@ export {
149
153
  TableRow,
150
154
  TableCell,
151
155
  TableCaption,
156
+ type TableProps,
157
+ type TableHeaderProps,
158
+ type TableBodyProps,
159
+ type TableFooterProps,
160
+ type TableHeadProps,
161
+ type TableRowProps,
162
+ type TableCellProps,
163
+ type TableCaptionProps,
152
164
  };
package/src/tabs.tsx CHANGED
@@ -8,15 +8,17 @@ import { cn } from "./utils";
8
8
  * Component: Tabs
9
9
  * -------------------------------------------------------------------------- */
10
10
 
11
+ type TabsProps = TabsPrimitive.TabsProps;
11
12
  const Tabs = TabsPrimitive.Root;
12
13
 
13
14
  /* -----------------------------------------------------------------------------
14
15
  * Component: TabsList
15
16
  * -------------------------------------------------------------------------- */
16
17
 
18
+ type TabsListProps = TabsPrimitive.TabsListProps;
17
19
  const TabsList = React.forwardRef<
18
20
  React.ElementRef<typeof TabsPrimitive.List>,
19
- TabsPrimitive.TabsListProps
21
+ TabsListProps
20
22
  >(({ className, ...props }, ref) => (
21
23
  <TabsPrimitive.List
22
24
  ref={ref}
@@ -33,9 +35,10 @@ TabsList.displayName = TabsPrimitive.List.displayName;
33
35
  * Component: TabsTrigger
34
36
  * -------------------------------------------------------------------------- */
35
37
 
38
+ type TabsTriggerProps = TabsPrimitive.TabsTriggerProps;
36
39
  const TabsTrigger = React.forwardRef<
37
40
  React.ElementRef<typeof TabsPrimitive.Trigger>,
38
- TabsPrimitive.TabsTriggerProps
41
+ TabsTriggerProps
39
42
  >(({ className, ...props }, ref) => (
40
43
  <TabsPrimitive.Trigger
41
44
  ref={ref}
@@ -52,9 +55,10 @@ TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
52
55
  * Component: TabsContent
53
56
  * -------------------------------------------------------------------------- */
54
57
 
58
+ type TabsContentProps = TabsPrimitive.TabsContentProps;
55
59
  const TabsContent = React.forwardRef<
56
60
  React.ElementRef<typeof TabsPrimitive.Content>,
57
- TabsPrimitive.TabsContentProps
61
+ TabsContentProps
58
62
  >(({ className, ...props }, ref) => (
59
63
  <TabsPrimitive.Content
60
64
  ref={ref}
@@ -71,4 +75,13 @@ TabsContent.displayName = TabsPrimitive.Content.displayName;
71
75
  * Exports
72
76
  * -------------------------------------------------------------------------- */
73
77
 
74
- export { Tabs, TabsList, TabsTrigger, TabsContent };
78
+ export {
79
+ Tabs,
80
+ TabsList,
81
+ TabsTrigger,
82
+ TabsContent,
83
+ type TabsProps,
84
+ type TabsListProps,
85
+ type TabsTriggerProps,
86
+ type TabsContentProps,
87
+ };
package/src/text.tsx CHANGED
@@ -31,4 +31,4 @@ Text.displayName = "Text";
31
31
  * Exports
32
32
  * -------------------------------------------------------------------------- */
33
33
 
34
- export { Text };
34
+ export { Text, type TextProps };
package/src/textarea.tsx CHANGED
@@ -5,25 +5,25 @@ import { cn } from "./utils";
5
5
  * Component: Textarea
6
6
  * -------------------------------------------------------------------------- */
7
7
 
8
- const Textarea = React.forwardRef<
9
- HTMLTextAreaElement,
10
- React.TextareaHTMLAttributes<HTMLTextAreaElement>
11
- >(({ className, ...props }, ref) => {
12
- return (
13
- <textarea
14
- className={cn(
15
- "border-input placeholder:text-muted-foreground focus-visible:ring-ring focus-visible:ring-offset-background flex min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
16
- className,
17
- )}
18
- ref={ref}
19
- {...props}
20
- />
21
- );
22
- });
8
+ type TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement>;
9
+ const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(
10
+ ({ className, ...props }, ref) => {
11
+ return (
12
+ <textarea
13
+ className={cn(
14
+ "border-input placeholder:text-muted-foreground focus-visible:ring-ring focus-visible:ring-offset-background flex min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
15
+ className,
16
+ )}
17
+ ref={ref}
18
+ {...props}
19
+ />
20
+ );
21
+ },
22
+ );
23
23
  Textarea.displayName = "Textarea";
24
24
 
25
25
  /* -----------------------------------------------------------------------------
26
26
  * Exports
27
27
  * -------------------------------------------------------------------------- */
28
28
 
29
- export { Textarea };
29
+ export { Textarea, type TextareaProps };