@codefast/ui 0.0.8 → 0.0.10

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 (459) hide show
  1. package/dist/accordion.d.mts +8 -4
  2. package/dist/accordion.d.ts +8 -4
  3. package/dist/accordion.js +42 -32
  4. package/dist/accordion.js.map +1 -1
  5. package/dist/accordion.mjs +42 -32
  6. package/dist/accordion.mjs.map +1 -1
  7. package/dist/alert-dialog.d.mts +17 -8
  8. package/dist/alert-dialog.d.ts +17 -8
  9. package/dist/alert-dialog.js +47 -75
  10. package/dist/alert-dialog.js.map +1 -1
  11. package/dist/alert-dialog.mjs +47 -75
  12. package/dist/alert-dialog.mjs.map +1 -1
  13. package/dist/alert.d.mts +10 -5
  14. package/dist/alert.d.ts +10 -5
  15. package/dist/alert.js +5 -26
  16. package/dist/alert.js.map +1 -1
  17. package/dist/alert.mjs +5 -26
  18. package/dist/alert.mjs.map +1 -1
  19. package/dist/aspect-ratio.d.mts +2 -1
  20. package/dist/aspect-ratio.d.ts +2 -1
  21. package/dist/aspect-ratio.js.map +1 -1
  22. package/dist/aspect-ratio.mjs.map +1 -1
  23. package/dist/avatar.d.mts +7 -4
  24. package/dist/avatar.d.ts +7 -4
  25. package/dist/avatar.js +3 -16
  26. package/dist/avatar.js.map +1 -1
  27. package/dist/avatar.mjs +3 -16
  28. package/dist/avatar.mjs.map +1 -1
  29. package/dist/badge.d.mts +5 -2
  30. package/dist/badge.d.ts +5 -2
  31. package/dist/badge.js +1 -5
  32. package/dist/badge.js.map +1 -1
  33. package/dist/badge.mjs +1 -5
  34. package/dist/badge.mjs.map +1 -1
  35. package/dist/blockquote.d.mts +5 -4
  36. package/dist/blockquote.d.ts +5 -4
  37. package/dist/blockquote.js.map +1 -1
  38. package/dist/blockquote.mjs.map +1 -1
  39. package/dist/box.d.mts +1 -1
  40. package/dist/box.d.ts +1 -1
  41. package/dist/box.js +4 -6
  42. package/dist/box.js.map +1 -1
  43. package/dist/box.mjs +4 -6
  44. package/dist/box.mjs.map +1 -1
  45. package/dist/breadcrumb.d.mts +18 -11
  46. package/dist/breadcrumb.d.ts +18 -11
  47. package/dist/breadcrumb.js +12 -39
  48. package/dist/breadcrumb.js.map +1 -1
  49. package/dist/breadcrumb.mjs +12 -39
  50. package/dist/breadcrumb.mjs.map +1 -1
  51. package/dist/button.d.mts +4 -2
  52. package/dist/button.d.ts +4 -2
  53. package/dist/button.js +3 -2
  54. package/dist/button.mjs +2 -1
  55. package/dist/calendar.d.mts +3 -2
  56. package/dist/calendar.d.ts +3 -2
  57. package/dist/calendar.js +7 -19
  58. package/dist/calendar.js.map +1 -1
  59. package/dist/calendar.mjs +6 -18
  60. package/dist/calendar.mjs.map +1 -1
  61. package/dist/card.d.mts +13 -7
  62. package/dist/card.d.ts +13 -7
  63. package/dist/card.js +7 -44
  64. package/dist/card.js.map +1 -1
  65. package/dist/card.mjs +7 -44
  66. package/dist/card.mjs.map +1 -1
  67. package/dist/carousel.d.mts +13 -8
  68. package/dist/carousel.d.ts +13 -8
  69. package/dist/carousel.js +104 -104
  70. package/dist/carousel.js.map +1 -1
  71. package/dist/carousel.mjs +104 -104
  72. package/dist/carousel.mjs.map +1 -1
  73. package/dist/checkbox-cards.d.mts +15 -0
  74. package/dist/checkbox-cards.d.ts +15 -0
  75. package/dist/checkbox-cards.js +56 -0
  76. package/dist/checkbox-cards.js.map +1 -0
  77. package/dist/checkbox-cards.mjs +56 -0
  78. package/dist/checkbox-cards.mjs.map +1 -0
  79. package/dist/checkbox-group.d.mts +13 -0
  80. package/dist/checkbox-group.d.ts +13 -0
  81. package/dist/checkbox-group.js +44 -0
  82. package/dist/checkbox-group.js.map +1 -0
  83. package/dist/checkbox-group.mjs +44 -0
  84. package/dist/checkbox-group.mjs.map +1 -0
  85. package/dist/checkbox-group.primitive.d.mts +38 -0
  86. package/dist/checkbox-group.primitive.d.ts +38 -0
  87. package/dist/checkbox-group.primitive.js +19 -0
  88. package/dist/checkbox-group.primitive.js.map +1 -0
  89. package/dist/checkbox-group.primitive.mjs +19 -0
  90. package/dist/checkbox-group.primitive.mjs.map +1 -0
  91. package/dist/checkbox.d.mts +3 -2
  92. package/dist/checkbox.d.ts +3 -2
  93. package/dist/checkbox.js +5 -1
  94. package/dist/checkbox.js.map +1 -1
  95. package/dist/checkbox.mjs +5 -1
  96. package/dist/checkbox.mjs.map +1 -1
  97. package/dist/chunk-3ZZ3SRTJ.js +148 -0
  98. package/dist/chunk-3ZZ3SRTJ.js.map +1 -0
  99. package/dist/chunk-5UHPKXF4.mjs +60 -0
  100. package/dist/chunk-5UHPKXF4.mjs.map +1 -0
  101. package/dist/chunk-EWS3N4OZ.mjs +148 -0
  102. package/dist/chunk-EWS3N4OZ.mjs.map +1 -0
  103. package/dist/{chunk-PTD4AMHI.mjs → chunk-FGI3JA75.mjs} +1 -1
  104. package/dist/chunk-FGI3JA75.mjs.map +1 -0
  105. package/dist/{chunk-RTKEO347.js → chunk-IVYGBU4G.js} +1 -1
  106. package/dist/chunk-IVYGBU4G.js.map +1 -0
  107. package/dist/chunk-IXEJO7ZP.js +86 -0
  108. package/dist/chunk-IXEJO7ZP.js.map +1 -0
  109. package/dist/chunk-J6COVJTP.js +60 -0
  110. package/dist/chunk-J6COVJTP.js.map +1 -0
  111. package/dist/chunk-JULVZPCS.mjs +120 -0
  112. package/dist/chunk-JULVZPCS.mjs.map +1 -0
  113. package/dist/chunk-LNSEYAPJ.js +121 -0
  114. package/dist/chunk-LNSEYAPJ.js.map +1 -0
  115. package/dist/chunk-MOJNV3XZ.js +120 -0
  116. package/dist/chunk-MOJNV3XZ.js.map +1 -0
  117. package/dist/{chunk-U2WDUCW3.js → chunk-NEP3JDVQ.js} +31 -6
  118. package/dist/chunk-NEP3JDVQ.js.map +1 -0
  119. package/dist/chunk-OK63Q6EJ.mjs +121 -0
  120. package/dist/chunk-OK63Q6EJ.mjs.map +1 -0
  121. package/dist/{chunk-5GHZ6EXI.js → chunk-ORAVN37L.js} +6 -10
  122. package/dist/chunk-ORAVN37L.js.map +1 -0
  123. package/dist/{chunk-T52N6ZBP.mjs → chunk-XCBBSHAK.mjs} +6 -10
  124. package/dist/chunk-XCBBSHAK.mjs.map +1 -0
  125. package/dist/chunk-XCKLBP2V.mjs +86 -0
  126. package/dist/chunk-XCKLBP2V.mjs.map +1 -0
  127. package/dist/chunk-XHZUPL2U.mjs +81 -0
  128. package/dist/chunk-XHZUPL2U.mjs.map +1 -0
  129. package/dist/code.d.mts +5 -4
  130. package/dist/code.d.ts +5 -4
  131. package/dist/code.js.map +1 -1
  132. package/dist/code.mjs.map +1 -1
  133. package/dist/collapsible.d.mts +4 -1
  134. package/dist/collapsible.d.ts +4 -1
  135. package/dist/collapsible.js.map +1 -1
  136. package/dist/collapsible.mjs.map +1 -1
  137. package/dist/command.d.mts +24 -12
  138. package/dist/command.d.ts +24 -12
  139. package/dist/command.js +9 -40
  140. package/dist/command.js.map +1 -1
  141. package/dist/command.mjs +9 -40
  142. package/dist/command.mjs.map +1 -1
  143. package/dist/container.d.mts +5 -4
  144. package/dist/container.d.ts +5 -4
  145. package/dist/container.js.map +1 -1
  146. package/dist/container.mjs.map +1 -1
  147. package/dist/context-menu.d.mts +31 -16
  148. package/dist/context-menu.d.ts +31 -16
  149. package/dist/context-menu.js +108 -124
  150. package/dist/context-menu.js.map +1 -1
  151. package/dist/context-menu.mjs +109 -125
  152. package/dist/context-menu.mjs.map +1 -1
  153. package/dist/data-table.d.mts +10 -7
  154. package/dist/data-table.d.ts +10 -7
  155. package/dist/data-table.js +131 -149
  156. package/dist/data-table.js.map +1 -1
  157. package/dist/data-table.mjs +120 -138
  158. package/dist/data-table.mjs.map +1 -1
  159. package/dist/dialog.d.mts +14 -6
  160. package/dist/dialog.d.ts +14 -6
  161. package/dist/dialog.js +2 -2
  162. package/dist/dialog.mjs +1 -1
  163. package/dist/drawer.d.mts +12 -4
  164. package/dist/drawer.d.ts +12 -4
  165. package/dist/drawer.js +30 -63
  166. package/dist/drawer.js.map +1 -1
  167. package/dist/drawer.mjs +30 -63
  168. package/dist/drawer.mjs.map +1 -1
  169. package/dist/dropdown-menu.d.mts +29 -15
  170. package/dist/dropdown-menu.d.ts +29 -15
  171. package/dist/dropdown-menu.js +2 -2
  172. package/dist/dropdown-menu.mjs +1 -1
  173. package/dist/em.d.mts +5 -4
  174. package/dist/em.d.ts +5 -4
  175. package/dist/em.js.map +1 -1
  176. package/dist/em.mjs.map +1 -1
  177. package/dist/form.d.mts +14 -6
  178. package/dist/form.d.ts +14 -6
  179. package/dist/form.js +13 -40
  180. package/dist/form.js.map +1 -1
  181. package/dist/form.mjs +13 -40
  182. package/dist/form.mjs.map +1 -1
  183. package/dist/heading.d.mts +6 -5
  184. package/dist/heading.d.ts +6 -5
  185. package/dist/heading.js.map +1 -1
  186. package/dist/heading.mjs.map +1 -1
  187. package/dist/hover-card.d.mts +5 -2
  188. package/dist/hover-card.d.ts +5 -2
  189. package/dist/hover-card.js +15 -13
  190. package/dist/hover-card.js.map +1 -1
  191. package/dist/hover-card.mjs +15 -13
  192. package/dist/hover-card.mjs.map +1 -1
  193. package/dist/input-otp.d.mts +12 -32
  194. package/dist/input-otp.d.ts +12 -32
  195. package/dist/input-otp.js +16 -13
  196. package/dist/input-otp.js.map +1 -1
  197. package/dist/input-otp.mjs +15 -12
  198. package/dist/input-otp.mjs.map +1 -1
  199. package/dist/input.d.mts +6 -3
  200. package/dist/input.d.ts +6 -3
  201. package/dist/input.js +8 -10
  202. package/dist/input.js.map +1 -1
  203. package/dist/input.mjs +8 -10
  204. package/dist/input.mjs.map +1 -1
  205. package/dist/kbd.d.mts +5 -4
  206. package/dist/kbd.d.ts +5 -4
  207. package/dist/kbd.js.map +1 -1
  208. package/dist/kbd.mjs.map +1 -1
  209. package/dist/label.d.mts +3 -2
  210. package/dist/label.d.ts +3 -2
  211. package/dist/label.js +2 -2
  212. package/dist/label.mjs +1 -1
  213. package/dist/menubar.d.mts +32 -17
  214. package/dist/menubar.d.ts +32 -17
  215. package/dist/menubar.js +73 -93
  216. package/dist/menubar.js.map +1 -1
  217. package/dist/menubar.mjs +74 -94
  218. package/dist/menubar.mjs.map +1 -1
  219. package/dist/navigation-menu.d.mts +16 -8
  220. package/dist/navigation-menu.d.ts +16 -8
  221. package/dist/navigation-menu.js +89 -93
  222. package/dist/navigation-menu.js.map +1 -1
  223. package/dist/navigation-menu.mjs +89 -93
  224. package/dist/navigation-menu.mjs.map +1 -1
  225. package/dist/pagination.d.mts +13 -7
  226. package/dist/pagination.d.ts +13 -7
  227. package/dist/pagination.js +18 -55
  228. package/dist/pagination.js.map +1 -1
  229. package/dist/pagination.mjs +18 -55
  230. package/dist/pagination.mjs.map +1 -1
  231. package/dist/popover.d.mts +8 -3
  232. package/dist/popover.d.ts +8 -3
  233. package/dist/popover.js +16 -21
  234. package/dist/popover.js.map +1 -1
  235. package/dist/popover.mjs +16 -21
  236. package/dist/popover.mjs.map +1 -1
  237. package/dist/pre.d.mts +5 -4
  238. package/dist/pre.d.ts +5 -4
  239. package/dist/pre.js.map +1 -1
  240. package/dist/pre.mjs.map +1 -1
  241. package/dist/progress.d.mts +3 -2
  242. package/dist/progress.d.ts +3 -2
  243. package/dist/progress.js +2 -5
  244. package/dist/progress.js.map +1 -1
  245. package/dist/progress.mjs +2 -5
  246. package/dist/progress.mjs.map +1 -1
  247. package/dist/quote.d.mts +5 -4
  248. package/dist/quote.d.ts +5 -4
  249. package/dist/quote.js.map +1 -1
  250. package/dist/quote.mjs.map +1 -1
  251. package/dist/radio-cards.d.mts +9 -0
  252. package/dist/radio-cards.d.ts +9 -0
  253. package/dist/radio-cards.js +36 -0
  254. package/dist/radio-cards.js.map +1 -0
  255. package/dist/radio-cards.mjs +36 -0
  256. package/dist/radio-cards.mjs.map +1 -0
  257. package/dist/radio-group.d.mts +5 -3
  258. package/dist/radio-group.d.ts +5 -3
  259. package/dist/radio-group.js +3 -9
  260. package/dist/radio-group.js.map +1 -1
  261. package/dist/radio-group.mjs +3 -9
  262. package/dist/radio-group.mjs.map +1 -1
  263. package/dist/radio.d.mts +8 -0
  264. package/dist/radio.d.ts +8 -0
  265. package/dist/radio.js +35 -0
  266. package/dist/radio.js.map +1 -0
  267. package/dist/radio.mjs +35 -0
  268. package/dist/radio.mjs.map +1 -0
  269. package/dist/resizable.d.mts +6 -6
  270. package/dist/resizable.d.ts +6 -6
  271. package/dist/resizable.js +4 -6
  272. package/dist/resizable.js.map +1 -1
  273. package/dist/resizable.mjs +4 -6
  274. package/dist/resizable.mjs.map +1 -1
  275. package/dist/scroll-area.d.mts +5 -3
  276. package/dist/scroll-area.d.ts +5 -3
  277. package/dist/scroll-area.js +25 -31
  278. package/dist/scroll-area.js.map +1 -1
  279. package/dist/scroll-area.mjs +25 -31
  280. package/dist/scroll-area.mjs.map +1 -1
  281. package/dist/section.d.mts +5 -4
  282. package/dist/section.d.ts +5 -4
  283. package/dist/section.js.map +1 -1
  284. package/dist/section.mjs.map +1 -1
  285. package/dist/select.d.mts +18 -8
  286. package/dist/select.d.ts +18 -8
  287. package/dist/select.js +2 -2
  288. package/dist/select.mjs +1 -1
  289. package/dist/separator.d.mts +3 -2
  290. package/dist/separator.d.ts +3 -2
  291. package/dist/separator.js +1 -5
  292. package/dist/separator.js.map +1 -1
  293. package/dist/separator.mjs +1 -5
  294. package/dist/separator.mjs.map +1 -1
  295. package/dist/sheet.d.mts +20 -10
  296. package/dist/sheet.d.ts +20 -10
  297. package/dist/sheet.js +35 -76
  298. package/dist/sheet.js.map +1 -1
  299. package/dist/sheet.mjs +35 -76
  300. package/dist/sheet.mjs.map +1 -1
  301. package/dist/skeleton.d.mts +3 -2
  302. package/dist/skeleton.d.ts +3 -2
  303. package/dist/skeleton.js +2 -11
  304. package/dist/skeleton.js.map +1 -1
  305. package/dist/skeleton.mjs +2 -11
  306. package/dist/skeleton.mjs.map +1 -1
  307. package/dist/slider.d.mts +3 -2
  308. package/dist/slider.d.ts +3 -2
  309. package/dist/slider.js +10 -5
  310. package/dist/slider.js.map +1 -1
  311. package/dist/slider.mjs +10 -5
  312. package/dist/slider.mjs.map +1 -1
  313. package/dist/sonner.d.mts +1 -1
  314. package/dist/sonner.d.ts +1 -1
  315. package/dist/sonner.js +1 -6
  316. package/dist/sonner.js.map +1 -1
  317. package/dist/sonner.mjs +1 -6
  318. package/dist/sonner.mjs.map +1 -1
  319. package/dist/spinner.d.mts +8 -0
  320. package/dist/spinner.d.ts +8 -0
  321. package/dist/spinner.js +8 -0
  322. package/dist/spinner.js.map +1 -0
  323. package/dist/spinner.mjs +8 -0
  324. package/dist/spinner.mjs.map +1 -0
  325. package/dist/strong.d.mts +5 -4
  326. package/dist/strong.d.ts +5 -4
  327. package/dist/strong.js.map +1 -1
  328. package/dist/strong.mjs.map +1 -1
  329. package/dist/styles.css +1 -1
  330. package/dist/styles.css.map +1 -1
  331. package/dist/switch.d.mts +3 -2
  332. package/dist/switch.d.ts +3 -2
  333. package/dist/switch.js +2 -1
  334. package/dist/switch.js.map +1 -1
  335. package/dist/switch.mjs +2 -1
  336. package/dist/switch.mjs.map +1 -1
  337. package/dist/table.d.mts +17 -9
  338. package/dist/table.d.ts +17 -9
  339. package/dist/table.js +6 -47
  340. package/dist/table.js.map +1 -1
  341. package/dist/table.mjs +6 -47
  342. package/dist/table.mjs.map +1 -1
  343. package/dist/tabs.d.mts +8 -4
  344. package/dist/tabs.d.ts +8 -4
  345. package/dist/tabs.js +4 -2
  346. package/dist/tabs.js.map +1 -1
  347. package/dist/tabs.mjs +4 -2
  348. package/dist/tabs.mjs.map +1 -1
  349. package/dist/text.d.mts +1 -1
  350. package/dist/text.d.ts +1 -1
  351. package/dist/text.js +4 -6
  352. package/dist/text.js.map +1 -1
  353. package/dist/text.mjs +4 -6
  354. package/dist/text.mjs.map +1 -1
  355. package/dist/textarea.d.mts +3 -2
  356. package/dist/textarea.d.ts +3 -2
  357. package/dist/textarea.js +2 -1
  358. package/dist/textarea.js.map +1 -1
  359. package/dist/textarea.mjs +2 -1
  360. package/dist/textarea.mjs.map +1 -1
  361. package/dist/toggle-group.d.mts +5 -3
  362. package/dist/toggle-group.d.ts +5 -3
  363. package/dist/toggle-group.js +41 -34
  364. package/dist/toggle-group.js.map +1 -1
  365. package/dist/toggle-group.mjs +40 -33
  366. package/dist/toggle-group.mjs.map +1 -1
  367. package/dist/toggle.d.mts +3 -2
  368. package/dist/toggle.d.ts +3 -2
  369. package/dist/toggle.js +2 -2
  370. package/dist/toggle.mjs +1 -1
  371. package/dist/tooltip.d.mts +8 -3
  372. package/dist/tooltip.d.ts +8 -3
  373. package/dist/tooltip.js +15 -20
  374. package/dist/tooltip.js.map +1 -1
  375. package/dist/tooltip.mjs +15 -20
  376. package/dist/tooltip.mjs.map +1 -1
  377. package/package.json +40 -9
  378. package/src/accordion.tsx +63 -40
  379. package/src/alert-dialog.tsx +84 -84
  380. package/src/alert.tsx +25 -32
  381. package/src/aspect-ratio.tsx +3 -1
  382. package/src/avatar.tsx +19 -26
  383. package/src/badge.tsx +8 -9
  384. package/src/blockquote.tsx +9 -7
  385. package/src/box.tsx +8 -7
  386. package/src/breadcrumb.tsx +55 -54
  387. package/src/button.tsx +44 -15
  388. package/src/calendar.tsx +8 -23
  389. package/src/card.tsx +44 -53
  390. package/src/carousel.tsx +152 -134
  391. package/src/checkbox-cards.tsx +68 -0
  392. package/src/checkbox-group.primitive.tsx +199 -0
  393. package/src/checkbox-group.tsx +57 -0
  394. package/src/checkbox.tsx +11 -6
  395. package/src/code.tsx +9 -5
  396. package/src/collapsible.tsx +12 -1
  397. package/src/command.tsx +65 -65
  398. package/src/container.tsx +9 -7
  399. package/src/context-menu.tsx +184 -160
  400. package/src/data-table.tsx +43 -48
  401. package/src/dialog.tsx +68 -71
  402. package/src/drawer.tsx +59 -67
  403. package/src/dropdown-menu.tsx +164 -139
  404. package/src/em.tsx +9 -5
  405. package/src/form.tsx +61 -69
  406. package/src/heading.tsx +10 -8
  407. package/src/hover-card.tsx +30 -18
  408. package/src/input-otp.tsx +40 -26
  409. package/src/input.tsx +16 -15
  410. package/src/kbd.tsx +9 -5
  411. package/src/label.tsx +6 -5
  412. package/src/menubar.tsx +154 -139
  413. package/src/navigation-menu.tsx +118 -102
  414. package/src/pagination.tsx +39 -49
  415. package/src/popover.tsx +41 -27
  416. package/src/pre.tsx +9 -5
  417. package/src/progress.tsx +8 -10
  418. package/src/quote.tsx +9 -5
  419. package/src/radio-cards.tsx +50 -0
  420. package/src/radio-group.tsx +14 -17
  421. package/src/radio.tsx +44 -0
  422. package/src/resizable.tsx +7 -8
  423. package/src/scroll-area.tsx +33 -37
  424. package/src/section.tsx +9 -7
  425. package/src/select.tsx +116 -105
  426. package/src/separator.tsx +8 -14
  427. package/src/sheet.tsx +62 -70
  428. package/src/skeleton.tsx +5 -11
  429. package/src/slider.tsx +13 -10
  430. package/src/sonner.tsx +4 -8
  431. package/src/spinner.tsx +75 -0
  432. package/src/strong.tsx +9 -5
  433. package/src/switch.tsx +8 -6
  434. package/src/table.tsx +54 -64
  435. package/src/tabs.tsx +30 -15
  436. package/src/text.tsx +9 -9
  437. package/src/textarea.tsx +8 -6
  438. package/src/toggle-group.tsx +59 -48
  439. package/src/toggle.tsx +12 -13
  440. package/src/tooltip.tsx +33 -25
  441. package/dist/chunk-2D7SRYKN.js +0 -135
  442. package/dist/chunk-2D7SRYKN.js.map +0 -1
  443. package/dist/chunk-5GHZ6EXI.js.map +0 -1
  444. package/dist/chunk-EDVCMWDT.mjs +0 -158
  445. package/dist/chunk-EDVCMWDT.mjs.map +0 -1
  446. package/dist/chunk-EIHWTXQ4.mjs +0 -112
  447. package/dist/chunk-EIHWTXQ4.mjs.map +0 -1
  448. package/dist/chunk-ESWGFN3R.mjs +0 -135
  449. package/dist/chunk-ESWGFN3R.mjs.map +0 -1
  450. package/dist/chunk-KW5FJ62U.mjs +0 -56
  451. package/dist/chunk-KW5FJ62U.mjs.map +0 -1
  452. package/dist/chunk-LDYBRDAY.js +0 -112
  453. package/dist/chunk-LDYBRDAY.js.map +0 -1
  454. package/dist/chunk-OCLLX7EY.js +0 -158
  455. package/dist/chunk-OCLLX7EY.js.map +0 -1
  456. package/dist/chunk-PTD4AMHI.mjs.map +0 -1
  457. package/dist/chunk-RTKEO347.js.map +0 -1
  458. package/dist/chunk-T52N6ZBP.mjs.map +0 -1
  459. package/dist/chunk-U2WDUCW3.js.map +0 -1
package/src/form.tsx CHANGED
@@ -14,19 +14,7 @@ import { cn } from "./utils";
14
14
  import { Label } from "./label";
15
15
 
16
16
  /* -----------------------------------------------------------------------------
17
- * Context: FormItemContext
18
- * -------------------------------------------------------------------------- */
19
-
20
- interface FormItemContextValue {
21
- id: string;
22
- }
23
-
24
- const FormItemContext = React.createContext<FormItemContextValue>(
25
- {} as FormItemContextValue,
26
- );
27
-
28
- /* -----------------------------------------------------------------------------
29
- * Context: FormFieldContext
17
+ * Context: Form
30
18
  * -------------------------------------------------------------------------- */
31
19
 
32
20
  interface FormFieldContextValue<
@@ -36,9 +24,13 @@ interface FormFieldContextValue<
36
24
  name: TName;
37
25
  }
38
26
 
39
- const FormFieldContext = React.createContext<FormFieldContextValue>(
40
- {} as FormFieldContextValue,
41
- );
27
+ interface FormItemContextValue {
28
+ id: string;
29
+ }
30
+
31
+ const FormFieldContext = React.createContext<FormFieldContextValue | null>(null);
32
+
33
+ const FormItemContext = React.createContext<FormItemContextValue | null>(null);
42
34
 
43
35
  const useFormField = (): {
44
36
  invalid: boolean;
@@ -56,12 +48,12 @@ const useFormField = (): {
56
48
  const itemContext = React.useContext(FormItemContext);
57
49
  const { getFieldState, formState } = useFormContext();
58
50
 
59
- const fieldState = getFieldState(fieldContext.name, formState);
60
-
61
- if (!fieldContext) {
51
+ if (!fieldContext || !itemContext) {
62
52
  throw new Error("useFormField should be used within <FormField>");
63
53
  }
64
54
 
55
+ const fieldState = getFieldState(fieldContext.name, formState);
56
+
65
57
  const { id } = itemContext;
66
58
 
67
59
  return {
@@ -78,16 +70,22 @@ const useFormField = (): {
78
70
  * Component: Form
79
71
  * -------------------------------------------------------------------------- */
80
72
 
73
+ type FormProps = React.ComponentProps<typeof FormProvider>;
81
74
  const Form = FormProvider;
82
75
 
83
76
  /* -----------------------------------------------------------------------------
84
77
  * Component: FormField
85
78
  * -------------------------------------------------------------------------- */
86
79
 
80
+ type FormFieldProps<
81
+ TFieldValues extends FieldValues = FieldValues,
82
+ TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,
83
+ > = ControllerProps<TFieldValues, TName>;
84
+
87
85
  function FormField<
88
86
  TFieldValues extends FieldValues = FieldValues,
89
87
  TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,
90
- >({ ...props }: ControllerProps<TFieldValues, TName>): React.JSX.Element {
88
+ >({ ...props }: FormFieldProps<TFieldValues, TName>): React.JSX.Element {
91
89
  return (
92
90
  <FormFieldContext.Provider value={{ name: props.name }}>
93
91
  <Controller {...props} />
@@ -99,10 +97,10 @@ function FormField<
99
97
  * Component: FormItem
100
98
  * -------------------------------------------------------------------------- */
101
99
 
102
- const FormItem = React.forwardRef<
103
- HTMLDivElement,
104
- React.HTMLAttributes<HTMLDivElement>
105
- >(({ className, ...props }, ref) => {
100
+ type FormItemElement = HTMLDivElement;
101
+ type FormItemProps = React.HTMLAttributes<HTMLDivElement>;
102
+
103
+ const FormItem = React.forwardRef<FormItemElement, FormItemProps>(({ className, ...props }, ref) => {
106
104
  const id = React.useId();
107
105
 
108
106
  return (
@@ -111,83 +109,74 @@ const FormItem = React.forwardRef<
111
109
  </FormItemContext.Provider>
112
110
  );
113
111
  });
112
+
114
113
  FormItem.displayName = "FormItem";
115
114
 
116
115
  /* -----------------------------------------------------------------------------
117
116
  * Component: FormLabel
118
117
  * -------------------------------------------------------------------------- */
119
118
 
120
- const FormLabel = React.forwardRef<
121
- React.ElementRef<typeof LabelPrimitive.Root>,
122
- React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>
123
- >(({ className, ...props }, ref) => {
119
+ type FormFieldElement = React.ElementRef<typeof LabelPrimitive.Root>;
120
+ type FormLabelProps = React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>;
121
+
122
+ const FormLabel = React.forwardRef<FormFieldElement, FormLabelProps>(({ className, ...props }, ref) => {
124
123
  const { error, formItemId } = useFormField();
125
124
 
126
- return (
127
- <Label
128
- ref={ref}
129
- className={cn(error && "text-destructive", className)}
130
- htmlFor={formItemId}
131
- {...props}
132
- />
133
- );
125
+ return <Label ref={ref} className={cn(error && "text-destructive", className)} htmlFor={formItemId} {...props} />;
134
126
  });
127
+
135
128
  FormLabel.displayName = "FormLabel";
136
129
 
137
130
  /* -----------------------------------------------------------------------------
138
131
  * Component: FormControl
139
132
  * -------------------------------------------------------------------------- */
140
133
 
141
- const FormControl = React.forwardRef<
142
- React.ElementRef<typeof Slot>,
143
- React.ComponentPropsWithoutRef<typeof Slot>
144
- >(({ ...props }, ref) => {
145
- const { error, formItemId, formDescriptionId, formMessageId } =
146
- useFormField();
134
+ type FormControlElement = React.ElementRef<typeof Slot>;
135
+ type FormControlProps = React.ComponentPropsWithoutRef<typeof Slot>;
136
+
137
+ const FormControl = React.forwardRef<FormControlElement, FormControlProps>(({ ...props }, ref) => {
138
+ const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
147
139
 
148
140
  return (
149
141
  <Slot
150
142
  ref={ref}
151
143
  id={formItemId}
152
- aria-describedby={
153
- !error ? formDescriptionId : `${formDescriptionId} ${formMessageId}`
154
- }
144
+ aria-describedby={!error ? formDescriptionId : `${formDescriptionId} ${formMessageId}`}
155
145
  aria-invalid={Boolean(error)}
156
146
  {...props}
157
147
  />
158
148
  );
159
149
  });
150
+
160
151
  FormControl.displayName = "FormControl";
161
152
 
162
153
  /* -----------------------------------------------------------------------------
163
154
  * Component: FormDescription
164
155
  * -------------------------------------------------------------------------- */
165
156
 
166
- const FormDescription = React.forwardRef<
167
- HTMLParagraphElement,
168
- React.HTMLAttributes<HTMLParagraphElement>
169
- >(({ className, ...props }, ref) => {
170
- const { formDescriptionId } = useFormField();
157
+ type FormDescriptionElement = HTMLParagraphElement;
158
+ type FormDescriptionProps = React.HTMLAttributes<HTMLParagraphElement>;
159
+
160
+ const FormDescription = React.forwardRef<FormDescriptionElement, FormDescriptionProps>(
161
+ ({ className, ...props }, ref) => {
162
+ const { formDescriptionId } = useFormField();
163
+
164
+ return (
165
+ <p ref={ref} id={formDescriptionId} className={cn("text-muted-foreground text-[0.8rem]", className)} {...props} />
166
+ );
167
+ },
168
+ );
171
169
 
172
- return (
173
- <p
174
- ref={ref}
175
- id={formDescriptionId}
176
- className={cn("text-muted-foreground text-[0.8rem]", className)}
177
- {...props}
178
- />
179
- );
180
- });
181
170
  FormDescription.displayName = "FormDescription";
182
171
 
183
172
  /* -----------------------------------------------------------------------------
184
173
  * Component: FormMessage
185
174
  * -------------------------------------------------------------------------- */
186
175
 
187
- const FormMessage = React.forwardRef<
188
- HTMLParagraphElement,
189
- React.HTMLAttributes<HTMLParagraphElement>
190
- >(({ className, children, ...props }, ref) => {
176
+ type FormMessageElement = HTMLParagraphElement;
177
+ type FormMessageProps = React.HTMLAttributes<HTMLParagraphElement>;
178
+
179
+ const FormMessage = React.forwardRef<FormMessageElement, FormMessageProps>(({ className, children, ...props }, ref) => {
191
180
  const { error, formMessageId } = useFormField();
192
181
  const body = error ? String(error.message) : children;
193
182
 
@@ -196,16 +185,12 @@ const FormMessage = React.forwardRef<
196
185
  }
197
186
 
198
187
  return (
199
- <p
200
- ref={ref}
201
- id={formMessageId}
202
- className={cn("text-destructive text-[0.8rem] font-medium", className)}
203
- {...props}
204
- >
188
+ <p ref={ref} id={formMessageId} className={cn("text-destructive text-[0.8rem] font-medium", className)} {...props}>
205
189
  {body}
206
190
  </p>
207
191
  );
208
192
  });
193
+
209
194
  FormMessage.displayName = "FormMessage";
210
195
 
211
196
  /* -----------------------------------------------------------------------------
@@ -221,4 +206,11 @@ export {
221
206
  FormDescription,
222
207
  FormMessage,
223
208
  FormField,
209
+ type FormProps,
210
+ type FormItemProps,
211
+ type FormLabelProps,
212
+ type FormControlProps,
213
+ type FormDescriptionProps,
214
+ type FormMessageProps,
215
+ type FormFieldProps,
224
216
  };
package/src/heading.tsx CHANGED
@@ -5,21 +5,23 @@ import { Slot } from "@radix-ui/react-slot";
5
5
  * Component: Heading
6
6
  * -------------------------------------------------------------------------- */
7
7
 
8
- const Heading = React.forwardRef<
9
- HTMLHeadingElement,
10
- React.HTMLAttributes<HTMLHeadingElement> & {
11
- as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
12
- asChild?: boolean;
13
- }
14
- >(({ asChild, as: Tag = "h1", ...props }, ref) => {
8
+ type HeadingElement = HTMLHeadingElement;
9
+
10
+ interface HeadingProps extends React.HTMLAttributes<HTMLHeadingElement> {
11
+ as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
12
+ asChild?: boolean;
13
+ }
14
+
15
+ const Heading = React.forwardRef<HeadingElement, HeadingProps>(({ asChild, as: Tag = "h1", ...props }, ref) => {
15
16
  const Com = asChild ? Slot : Tag;
16
17
 
17
18
  return <Com ref={ref} {...props} />;
18
19
  });
20
+
19
21
  Heading.displayName = "Heading";
20
22
 
21
23
  /* -----------------------------------------------------------------------------
22
24
  * Exports
23
25
  * -------------------------------------------------------------------------- */
24
26
 
25
- export { Heading };
27
+ export { Heading, type HeadingProps };
@@ -8,39 +8,51 @@ import { cn } from "./utils";
8
8
  * Component: HoverCard
9
9
  * -------------------------------------------------------------------------- */
10
10
 
11
+ type HoverCardProps = React.ComponentProps<typeof HoverCardPrimitive.Root>;
11
12
  const HoverCard = HoverCardPrimitive.Root;
12
13
 
13
14
  /* -----------------------------------------------------------------------------
14
15
  * Component: HoverCardTrigger
15
16
  * -------------------------------------------------------------------------- */
16
17
 
18
+ type HoverCardTriggerProps = React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Trigger>;
17
19
  const HoverCardTrigger = HoverCardPrimitive.Trigger;
18
20
 
19
21
  /* -----------------------------------------------------------------------------
20
22
  * Component: HoverCardContent
21
23
  * -------------------------------------------------------------------------- */
22
24
 
23
- const HoverCardContent = React.forwardRef<
24
- React.ElementRef<typeof HoverCardPrimitive.Content>,
25
- HoverCardPrimitive.HoverCardContentProps
26
- >(({ className, align = "center", sideOffset = 4, ...props }, ref) => (
27
- <HoverCardPrimitive.Portal>
28
- <HoverCardPrimitive.Content
29
- ref={ref}
30
- align={align}
31
- sideOffset={sideOffset}
32
- className={cn(
33
- "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 z-50 min-w-[8rem] rounded-md border p-4 shadow-md focus:outline-none",
34
- className,
35
- )}
36
- {...props}
37
- />
38
- </HoverCardPrimitive.Portal>
39
- ));
25
+ type HoverCardContentElement = React.ElementRef<typeof HoverCardPrimitive.Content>;
26
+ type HoverCardContentProps = React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>;
27
+
28
+ const HoverCardContent = React.forwardRef<HoverCardContentElement, HoverCardContentProps>(
29
+ ({ className, align = "center", sideOffset = 4, ...props }, ref) => (
30
+ <HoverCardPrimitive.Portal>
31
+ <HoverCardPrimitive.Content
32
+ ref={ref}
33
+ align={align}
34
+ sideOffset={sideOffset}
35
+ className={cn(
36
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 z-50 min-w-[8rem] rounded-md border p-4 shadow-md focus:outline-none",
37
+ className,
38
+ )}
39
+ {...props}
40
+ />
41
+ </HoverCardPrimitive.Portal>
42
+ ),
43
+ );
44
+
40
45
  HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
41
46
 
42
47
  /* -----------------------------------------------------------------------------
43
48
  * Exports
44
49
  * -------------------------------------------------------------------------- */
45
50
 
46
- export { HoverCard, HoverCardTrigger, HoverCardContent };
51
+ export {
52
+ HoverCard,
53
+ HoverCardTrigger,
54
+ HoverCardContent,
55
+ type HoverCardProps,
56
+ type HoverCardTriggerProps,
57
+ type HoverCardContentProps,
58
+ };
package/src/input-otp.tsx CHANGED
@@ -5,6 +5,8 @@ import { DotFilledIcon } from "@radix-ui/react-icons";
5
5
  import {
6
6
  OTPInput,
7
7
  OTPInputContext,
8
+ REGEXP_ONLY_CHARS,
9
+ REGEXP_ONLY_DIGITS,
8
10
  REGEXP_ONLY_DIGITS_AND_CHARS,
9
11
  } from "input-otp";
10
12
  import { cn } from "./utils";
@@ -13,42 +15,46 @@ import { cn } from "./utils";
13
15
  * Component: InputOtp
14
16
  * -------------------------------------------------------------------------- */
15
17
 
16
- const InputOTP = React.forwardRef<
17
- React.ElementRef<typeof OTPInput>,
18
- React.ComponentPropsWithoutRef<typeof OTPInput>
19
- >(({ className, containerClassName, ...props }, ref) => (
20
- <OTPInput
21
- ref={ref}
22
- containerClassName={cn(
23
- "flex items-center gap-2 has-[:disabled]:opacity-50",
24
- containerClassName,
25
- )}
26
- className={cn("disabled:cursor-not-allowed", className)}
27
- {...props}
28
- />
29
- ));
18
+ type InputOTPElement = React.ElementRef<typeof OTPInput>;
19
+ type InputOTPProps = React.ComponentPropsWithoutRef<typeof OTPInput>;
20
+
21
+ const InputOTP = React.forwardRef<InputOTPElement, InputOTPProps>(
22
+ ({ className, containerClassName, ...props }, ref) => (
23
+ <OTPInput
24
+ ref={ref}
25
+ containerClassName={cn("flex items-center gap-2 has-[:disabled]:opacity-50", containerClassName)}
26
+ className={cn("disabled:cursor-not-allowed", className)}
27
+ {...props}
28
+ />
29
+ ),
30
+ );
31
+
30
32
  InputOTP.displayName = "InputOTP";
31
33
 
32
34
  /* -----------------------------------------------------------------------------
33
35
  * Component: InputOTPGroup
34
36
  * -------------------------------------------------------------------------- */
35
37
 
36
- const InputOTPGroup = React.forwardRef<
37
- HTMLDivElement,
38
- React.HTMLAttributes<HTMLDivElement>
39
- >(({ className, ...props }, ref) => (
38
+ type InputOTPGroupElement = HTMLDivElement;
39
+ type InputOTPGroupProps = React.HTMLAttributes<HTMLDivElement>;
40
+
41
+ const InputOTPGroup = React.forwardRef<InputOTPGroupElement, InputOTPGroupProps>(({ className, ...props }, ref) => (
40
42
  <div ref={ref} className={cn("flex items-center", className)} {...props} />
41
43
  ));
44
+
42
45
  InputOTPGroup.displayName = "InputOTPGroup";
43
46
 
44
47
  /* -----------------------------------------------------------------------------
45
48
  * Component: InputOTPSlot
46
49
  * -------------------------------------------------------------------------- */
47
50
 
48
- const InputOTPSlot = React.forwardRef<
49
- HTMLDivElement,
50
- React.HTMLAttributes<HTMLDivElement> & { index: number }
51
- >(({ index, className, ...props }, ref) => {
51
+ type InputOTPSlotElement = HTMLDivElement;
52
+
53
+ interface InputOTPSlotProps extends React.HTMLAttributes<HTMLDivElement> {
54
+ index: number;
55
+ }
56
+
57
+ const InputOTPSlot = React.forwardRef<InputOTPSlotElement, InputOTPSlotProps>(({ index, className, ...props }, ref) => {
52
58
  const inputOTPContext = React.useContext(OTPInputContext);
53
59
  const slot = inputOTPContext.slots[index];
54
60
 
@@ -71,20 +77,22 @@ const InputOTPSlot = React.forwardRef<
71
77
  </div>
72
78
  );
73
79
  });
80
+
74
81
  InputOTPSlot.displayName = "InputOTPSlot";
75
82
 
76
83
  /* -----------------------------------------------------------------------------
77
84
  * Component: InputOTPSeparator
78
85
  * -------------------------------------------------------------------------- */
79
86
 
80
- const InputOTPSeparator = React.forwardRef<
81
- HTMLDivElement,
82
- React.HTMLAttributes<HTMLDivElement>
83
- >(({ ...props }, ref) => (
87
+ type InputOTPSeparatorElement = HTMLDivElement;
88
+ type InputOTPSeparatorProps = React.HTMLAttributes<HTMLDivElement>;
89
+
90
+ const InputOTPSeparator = React.forwardRef<InputOTPSeparatorElement, InputOTPSeparatorProps>(({ ...props }, ref) => (
84
91
  <div ref={ref} role="separator" {...props}>
85
92
  <DotFilledIcon />
86
93
  </div>
87
94
  ));
95
+
88
96
  InputOTPSeparator.displayName = "InputOTPSeparator";
89
97
 
90
98
  /* -----------------------------------------------------------------------------
@@ -96,5 +104,11 @@ export {
96
104
  InputOTPGroup,
97
105
  InputOTPSlot,
98
106
  InputOTPSeparator,
107
+ type InputOTPProps,
108
+ type InputOTPGroupProps,
109
+ type InputOTPSlotProps,
110
+ type InputOTPSeparatorProps,
99
111
  REGEXP_ONLY_DIGITS_AND_CHARS,
112
+ REGEXP_ONLY_CHARS,
113
+ REGEXP_ONLY_DIGITS,
100
114
  };
package/src/input.tsx CHANGED
@@ -7,7 +7,13 @@ import { cva } from "./utils";
7
7
  * -------------------------------------------------------------------------- */
8
8
 
9
9
  const inputVariants = cva({
10
- base: "border-input focus-visible:ring-ring focus-visible:ring-offset-background placeholder:text-muted-foreground flex w-full rounded-md border bg-transparent px-3 py-2 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
10
+ base: [
11
+ "border-input flex w-full rounded-md border bg-transparent px-3 py-2 text-sm shadow-sm transition-colors",
12
+ "file:border-0 file:bg-transparent file:text-sm file:font-medium",
13
+ "disabled:cursor-not-allowed disabled:opacity-50",
14
+ "placeholder:text-muted-foreground",
15
+ "focus-visible:ring-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
16
+ ],
11
17
  variants: {
12
18
  inputSize: {
13
19
  default: "h-10",
@@ -21,28 +27,23 @@ const inputVariants = cva({
21
27
  },
22
28
  });
23
29
 
30
+ type InputVariantsProps = VariantProps<typeof inputVariants>;
31
+
24
32
  /* -----------------------------------------------------------------------------
25
33
  * Component: Input
26
34
  * -------------------------------------------------------------------------- */
27
35
 
28
- const Input = React.forwardRef<
29
- HTMLInputElement,
30
- Omit<React.InputHTMLAttributes<HTMLInputElement>, "size"> &
31
- VariantProps<typeof inputVariants>
32
- >(({ className, inputSize, ...props }, ref) => {
33
- return (
34
- <input
35
- type="text"
36
- className={inputVariants({ className, inputSize })}
37
- ref={ref}
38
- {...props}
39
- />
40
- );
36
+ type InputElement = HTMLInputElement;
37
+ type InputProps = React.InputHTMLAttributes<HTMLInputElement> & InputVariantsProps;
38
+
39
+ const Input = React.forwardRef<InputElement, InputProps>(({ className, inputSize, ...props }, ref) => {
40
+ return <input type="text" className={inputVariants({ className, inputSize })} ref={ref} {...props} />;
41
41
  });
42
+
42
43
  Input.displayName = "Input";
43
44
 
44
45
  /* -----------------------------------------------------------------------------
45
46
  * Exports
46
47
  * -------------------------------------------------------------------------- */
47
48
 
48
- export { Input };
49
+ export { Input, type InputProps };
package/src/kbd.tsx CHANGED
@@ -6,10 +6,13 @@ import { cn } from "./utils";
6
6
  * Component: Kbd
7
7
  * -------------------------------------------------------------------------- */
8
8
 
9
- const Kbd = React.forwardRef<
10
- HTMLElement,
11
- React.HTMLAttributes<HTMLElement> & { asChild?: boolean }
12
- >(({ asChild, className, ...props }, ref) => {
9
+ type KbdElement = HTMLElement;
10
+
11
+ interface KbdProps extends React.HTMLAttributes<HTMLElement> {
12
+ asChild?: boolean;
13
+ }
14
+
15
+ const Kbd = React.forwardRef<KbdElement, KbdProps>(({ asChild, className, ...props }, ref) => {
13
16
  const Comp = asChild ? Slot : "kbd";
14
17
 
15
18
  return (
@@ -23,10 +26,11 @@ const Kbd = React.forwardRef<
23
26
  />
24
27
  );
25
28
  });
29
+
26
30
  Kbd.displayName = "Kbd";
27
31
 
28
32
  /* -----------------------------------------------------------------------------
29
33
  * Exports
30
34
  * -------------------------------------------------------------------------- */
31
35
 
32
- export { Kbd };
36
+ export { Kbd, type KbdProps };
package/src/label.tsx CHANGED
@@ -7,10 +7,10 @@ import { cn } from "./utils";
7
7
  * Component: Label
8
8
  * -------------------------------------------------------------------------- */
9
9
 
10
- const Label = React.forwardRef<
11
- React.ElementRef<typeof LabelPrimitive.Root>,
12
- LabelPrimitive.LabelProps
13
- >(({ className, ...props }, ref) => (
10
+ type LabelElement = React.ElementRef<typeof LabelPrimitive.Root>;
11
+ type LabelProps = React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>;
12
+
13
+ const Label = React.forwardRef<LabelElement, LabelProps>(({ className, ...props }, ref) => (
14
14
  <LabelPrimitive.Root
15
15
  ref={ref}
16
16
  className={cn(
@@ -20,10 +20,11 @@ const Label = React.forwardRef<
20
20
  {...props}
21
21
  />
22
22
  ));
23
+
23
24
  Label.displayName = LabelPrimitive.Root.displayName;
24
25
 
25
26
  /* -----------------------------------------------------------------------------
26
27
  * Exports
27
28
  * -------------------------------------------------------------------------- */
28
29
 
29
- export { Label };
30
+ export { Label, type LabelProps };