@codefast/ui 0.0.9 → 0.0.11

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 (434) hide show
  1. package/dist/accordion.d.mts +7 -7
  2. package/dist/accordion.d.ts +7 -7
  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 +12 -12
  8. package/dist/alert-dialog.d.ts +12 -12
  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.js +5 -30
  14. package/dist/alert.js.map +1 -1
  15. package/dist/alert.mjs +5 -30
  16. package/dist/alert.mjs.map +1 -1
  17. package/dist/aspect-ratio.d.mts +1 -1
  18. package/dist/aspect-ratio.d.ts +1 -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 +6 -6
  22. package/dist/avatar.d.ts +6 -6
  23. package/dist/avatar.js +3 -16
  24. package/dist/avatar.js.map +1 -1
  25. package/dist/avatar.mjs +3 -16
  26. package/dist/avatar.mjs.map +1 -1
  27. package/dist/badge.js +1 -5
  28. package/dist/badge.js.map +1 -1
  29. package/dist/badge.mjs +1 -5
  30. package/dist/badge.mjs.map +1 -1
  31. package/dist/blockquote.js +4 -6
  32. package/dist/blockquote.js.map +1 -1
  33. package/dist/blockquote.mjs +4 -6
  34. package/dist/blockquote.mjs.map +1 -1
  35. package/dist/box.js +4 -6
  36. package/dist/box.js.map +1 -1
  37. package/dist/box.mjs +4 -6
  38. package/dist/box.mjs.map +1 -1
  39. package/dist/breadcrumb.js +30 -67
  40. package/dist/breadcrumb.js.map +1 -1
  41. package/dist/breadcrumb.mjs +30 -67
  42. package/dist/breadcrumb.mjs.map +1 -1
  43. package/dist/button.d.mts +1 -0
  44. package/dist/button.d.ts +1 -0
  45. package/dist/button.js +3 -2
  46. package/dist/button.mjs +2 -1
  47. package/dist/calendar.js +7 -19
  48. package/dist/calendar.js.map +1 -1
  49. package/dist/calendar.mjs +6 -18
  50. package/dist/calendar.mjs.map +1 -1
  51. package/dist/card.js +8 -55
  52. package/dist/card.js.map +1 -1
  53. package/dist/card.mjs +8 -55
  54. package/dist/card.mjs.map +1 -1
  55. package/dist/carousel.js +58 -64
  56. package/dist/carousel.js.map +1 -1
  57. package/dist/carousel.mjs +57 -63
  58. package/dist/carousel.mjs.map +1 -1
  59. package/dist/checkbox-cards.d.mts +15 -0
  60. package/dist/checkbox-cards.d.ts +15 -0
  61. package/dist/checkbox-cards.js +56 -0
  62. package/dist/checkbox-cards.js.map +1 -0
  63. package/dist/checkbox-cards.mjs +56 -0
  64. package/dist/checkbox-cards.mjs.map +1 -0
  65. package/dist/checkbox-group.d.mts +13 -0
  66. package/dist/checkbox-group.d.ts +13 -0
  67. package/dist/checkbox-group.js +44 -0
  68. package/dist/checkbox-group.js.map +1 -0
  69. package/dist/checkbox-group.mjs +44 -0
  70. package/dist/checkbox-group.mjs.map +1 -0
  71. package/dist/checkbox-group.primitive.d.mts +38 -0
  72. package/dist/checkbox-group.primitive.d.ts +38 -0
  73. package/dist/checkbox-group.primitive.js +19 -0
  74. package/dist/checkbox-group.primitive.js.map +1 -0
  75. package/dist/checkbox-group.primitive.mjs +19 -0
  76. package/dist/checkbox-group.primitive.mjs.map +1 -0
  77. package/dist/checkbox.d.mts +2 -2
  78. package/dist/checkbox.d.ts +2 -2
  79. package/dist/checkbox.js +5 -1
  80. package/dist/checkbox.js.map +1 -1
  81. package/dist/checkbox.mjs +5 -1
  82. package/dist/checkbox.mjs.map +1 -1
  83. package/dist/chunk-3ZZ3SRTJ.js +148 -0
  84. package/dist/chunk-3ZZ3SRTJ.js.map +1 -0
  85. package/dist/{chunk-MJDKD2K4.mjs → chunk-6J6VPUBP.mjs} +9 -10
  86. package/dist/chunk-6J6VPUBP.mjs.map +1 -0
  87. package/dist/{chunk-PKB2G726.js → chunk-7S4DOWLB.js} +9 -10
  88. package/dist/chunk-7S4DOWLB.js.map +1 -0
  89. package/dist/{chunk-JOJW7BBY.js → chunk-BWCO2ZQQ.js} +29 -8
  90. package/dist/chunk-BWCO2ZQQ.js.map +1 -0
  91. package/dist/chunk-EWS3N4OZ.mjs +148 -0
  92. package/dist/chunk-EWS3N4OZ.mjs.map +1 -0
  93. package/dist/{chunk-PIU627A3.mjs → chunk-FGI3JA75.mjs} +1 -1
  94. package/dist/chunk-FGI3JA75.mjs.map +1 -0
  95. package/dist/{chunk-GRKABVK4.js → chunk-IVYGBU4G.js} +1 -1
  96. package/dist/chunk-IVYGBU4G.js.map +1 -0
  97. package/dist/chunk-IXEJO7ZP.js +86 -0
  98. package/dist/chunk-IXEJO7ZP.js.map +1 -0
  99. package/dist/chunk-JULVZPCS.mjs +120 -0
  100. package/dist/chunk-JULVZPCS.mjs.map +1 -0
  101. package/dist/chunk-LNSEYAPJ.js +121 -0
  102. package/dist/chunk-LNSEYAPJ.js.map +1 -0
  103. package/dist/chunk-MDSPK3M6.js +54 -0
  104. package/dist/chunk-MDSPK3M6.js.map +1 -0
  105. package/dist/chunk-MOJNV3XZ.js +120 -0
  106. package/dist/chunk-MOJNV3XZ.js.map +1 -0
  107. package/dist/chunk-OK63Q6EJ.mjs +121 -0
  108. package/dist/chunk-OK63Q6EJ.mjs.map +1 -0
  109. package/dist/chunk-V2254PQL.mjs +54 -0
  110. package/dist/chunk-V2254PQL.mjs.map +1 -0
  111. package/dist/chunk-WFXEFJRB.mjs +77 -0
  112. package/dist/chunk-WFXEFJRB.mjs.map +1 -0
  113. package/dist/chunk-XCKLBP2V.mjs +86 -0
  114. package/dist/chunk-XCKLBP2V.mjs.map +1 -0
  115. package/dist/code.js +4 -6
  116. package/dist/code.js.map +1 -1
  117. package/dist/code.mjs +4 -6
  118. package/dist/code.mjs.map +1 -1
  119. package/dist/collapsible.d.mts +3 -3
  120. package/dist/collapsible.d.ts +3 -3
  121. package/dist/collapsible.js.map +1 -1
  122. package/dist/collapsible.mjs.map +1 -1
  123. package/dist/command.d.mts +11 -10
  124. package/dist/command.d.ts +11 -10
  125. package/dist/command.js +10 -44
  126. package/dist/command.js.map +1 -1
  127. package/dist/command.mjs +10 -44
  128. package/dist/command.mjs.map +1 -1
  129. package/dist/container.js +4 -6
  130. package/dist/container.js.map +1 -1
  131. package/dist/container.mjs +4 -6
  132. package/dist/container.mjs.map +1 -1
  133. package/dist/context-menu.d.mts +18 -18
  134. package/dist/context-menu.d.ts +18 -18
  135. package/dist/context-menu.js +108 -124
  136. package/dist/context-menu.js.map +1 -1
  137. package/dist/context-menu.mjs +109 -125
  138. package/dist/context-menu.mjs.map +1 -1
  139. package/dist/data-table.d.mts +1 -1
  140. package/dist/data-table.d.ts +1 -1
  141. package/dist/data-table.js +131 -149
  142. package/dist/data-table.js.map +1 -1
  143. package/dist/data-table.mjs +120 -138
  144. package/dist/data-table.mjs.map +1 -1
  145. package/dist/dialog.d.mts +9 -9
  146. package/dist/dialog.d.ts +9 -9
  147. package/dist/dialog.js +2 -2
  148. package/dist/dialog.mjs +1 -1
  149. package/dist/drawer.d.mts +2 -2
  150. package/dist/drawer.d.ts +2 -2
  151. package/dist/drawer.js +30 -63
  152. package/dist/drawer.js.map +1 -1
  153. package/dist/drawer.mjs +30 -63
  154. package/dist/drawer.mjs.map +1 -1
  155. package/dist/dropdown-menu.d.mts +16 -16
  156. package/dist/dropdown-menu.d.ts +16 -16
  157. package/dist/dropdown-menu.js +2 -2
  158. package/dist/dropdown-menu.mjs +1 -1
  159. package/dist/em.js +4 -6
  160. package/dist/em.js.map +1 -1
  161. package/dist/em.mjs +4 -6
  162. package/dist/em.mjs.map +1 -1
  163. package/dist/form.js +23 -54
  164. package/dist/form.js.map +1 -1
  165. package/dist/form.mjs +23 -54
  166. package/dist/form.mjs.map +1 -1
  167. package/dist/heading.js +4 -6
  168. package/dist/heading.js.map +1 -1
  169. package/dist/heading.mjs +4 -6
  170. package/dist/heading.mjs.map +1 -1
  171. package/dist/hover-card.d.mts +4 -4
  172. package/dist/hover-card.d.ts +4 -4
  173. package/dist/hover-card.js +15 -13
  174. package/dist/hover-card.js.map +1 -1
  175. package/dist/hover-card.mjs +15 -13
  176. package/dist/hover-card.mjs.map +1 -1
  177. package/dist/input-otp.js +32 -37
  178. package/dist/input-otp.js.map +1 -1
  179. package/dist/input-otp.mjs +32 -37
  180. package/dist/input-otp.mjs.map +1 -1
  181. package/dist/input.js +10 -14
  182. package/dist/input.js.map +1 -1
  183. package/dist/input.mjs +10 -14
  184. package/dist/input.mjs.map +1 -1
  185. package/dist/kbd.js +14 -16
  186. package/dist/kbd.js.map +1 -1
  187. package/dist/kbd.mjs +14 -16
  188. package/dist/kbd.mjs.map +1 -1
  189. package/dist/label.d.mts +2 -2
  190. package/dist/label.d.ts +2 -2
  191. package/dist/label.js +2 -2
  192. package/dist/label.mjs +1 -1
  193. package/dist/menubar.d.mts +21 -21
  194. package/dist/menubar.d.ts +21 -21
  195. package/dist/menubar.js +73 -93
  196. package/dist/menubar.js.map +1 -1
  197. package/dist/menubar.mjs +74 -94
  198. package/dist/menubar.mjs.map +1 -1
  199. package/dist/navigation-menu.d.mts +16 -16
  200. package/dist/navigation-menu.d.ts +16 -16
  201. package/dist/navigation-menu.js +89 -93
  202. package/dist/navigation-menu.js.map +1 -1
  203. package/dist/navigation-menu.mjs +89 -93
  204. package/dist/navigation-menu.mjs.map +1 -1
  205. package/dist/pagination.js +19 -58
  206. package/dist/pagination.js.map +1 -1
  207. package/dist/pagination.mjs +19 -58
  208. package/dist/pagination.mjs.map +1 -1
  209. package/dist/popover.d.mts +7 -7
  210. package/dist/popover.d.ts +7 -7
  211. package/dist/popover.js +16 -21
  212. package/dist/popover.js.map +1 -1
  213. package/dist/popover.mjs +16 -21
  214. package/dist/popover.mjs.map +1 -1
  215. package/dist/pre.js +4 -6
  216. package/dist/pre.js.map +1 -1
  217. package/dist/pre.mjs +4 -6
  218. package/dist/pre.mjs.map +1 -1
  219. package/dist/progress.d.mts +2 -2
  220. package/dist/progress.d.ts +2 -2
  221. package/dist/progress.js +1 -4
  222. package/dist/progress.js.map +1 -1
  223. package/dist/progress.mjs +1 -4
  224. package/dist/progress.mjs.map +1 -1
  225. package/dist/quote.js +4 -6
  226. package/dist/quote.js.map +1 -1
  227. package/dist/quote.mjs +4 -6
  228. package/dist/quote.mjs.map +1 -1
  229. package/dist/radio-cards.d.mts +9 -0
  230. package/dist/radio-cards.d.ts +9 -0
  231. package/dist/radio-cards.js +36 -0
  232. package/dist/radio-cards.js.map +1 -0
  233. package/dist/radio-cards.mjs +36 -0
  234. package/dist/radio-cards.mjs.map +1 -0
  235. package/dist/radio-group.d.mts +4 -4
  236. package/dist/radio-group.d.ts +4 -4
  237. package/dist/radio-group.js +3 -9
  238. package/dist/radio-group.js.map +1 -1
  239. package/dist/radio-group.mjs +3 -9
  240. package/dist/radio-group.mjs.map +1 -1
  241. package/dist/radio.d.mts +8 -0
  242. package/dist/radio.d.ts +8 -0
  243. package/dist/radio.js +35 -0
  244. package/dist/radio.js.map +1 -0
  245. package/dist/radio.mjs +35 -0
  246. package/dist/radio.mjs.map +1 -0
  247. package/dist/resizable.d.mts +2 -2
  248. package/dist/resizable.d.ts +2 -2
  249. package/dist/resizable.js +3 -5
  250. package/dist/resizable.js.map +1 -1
  251. package/dist/resizable.mjs +3 -5
  252. package/dist/resizable.mjs.map +1 -1
  253. package/dist/scroll-area.d.mts +4 -4
  254. package/dist/scroll-area.d.ts +4 -4
  255. package/dist/scroll-area.js +23 -29
  256. package/dist/scroll-area.js.map +1 -1
  257. package/dist/scroll-area.mjs +23 -29
  258. package/dist/scroll-area.mjs.map +1 -1
  259. package/dist/section.js +4 -6
  260. package/dist/section.js.map +1 -1
  261. package/dist/section.mjs +4 -6
  262. package/dist/section.mjs.map +1 -1
  263. package/dist/segmented.d.mts +22 -0
  264. package/dist/segmented.d.ts +22 -0
  265. package/dist/segmented.js +126 -0
  266. package/dist/segmented.js.map +1 -0
  267. package/dist/segmented.mjs +126 -0
  268. package/dist/segmented.mjs.map +1 -0
  269. package/dist/select.d.mts +17 -17
  270. package/dist/select.d.ts +17 -17
  271. package/dist/select.js +2 -2
  272. package/dist/select.mjs +1 -1
  273. package/dist/separator.d.mts +2 -2
  274. package/dist/separator.d.ts +2 -2
  275. package/dist/separator.js +1 -5
  276. package/dist/separator.js.map +1 -1
  277. package/dist/separator.mjs +1 -5
  278. package/dist/separator.mjs.map +1 -1
  279. package/dist/sheet.d.mts +9 -9
  280. package/dist/sheet.d.ts +9 -9
  281. package/dist/sheet.js +35 -76
  282. package/dist/sheet.js.map +1 -1
  283. package/dist/sheet.mjs +35 -76
  284. package/dist/sheet.mjs.map +1 -1
  285. package/dist/skeleton.js +1 -7
  286. package/dist/skeleton.js.map +1 -1
  287. package/dist/skeleton.mjs +1 -7
  288. package/dist/skeleton.mjs.map +1 -1
  289. package/dist/slider.d.mts +2 -2
  290. package/dist/slider.d.ts +2 -2
  291. package/dist/slider.js +10 -5
  292. package/dist/slider.js.map +1 -1
  293. package/dist/slider.mjs +10 -5
  294. package/dist/slider.mjs.map +1 -1
  295. package/dist/sonner.js +1 -6
  296. package/dist/sonner.js.map +1 -1
  297. package/dist/sonner.mjs +1 -6
  298. package/dist/sonner.mjs.map +1 -1
  299. package/dist/spinner.d.mts +8 -0
  300. package/dist/spinner.d.ts +8 -0
  301. package/dist/spinner.js +8 -0
  302. package/dist/spinner.js.map +1 -0
  303. package/dist/spinner.mjs +8 -0
  304. package/dist/spinner.mjs.map +1 -0
  305. package/dist/strong.js +4 -6
  306. package/dist/strong.js.map +1 -1
  307. package/dist/strong.mjs +4 -6
  308. package/dist/strong.mjs.map +1 -1
  309. package/dist/styles.css +1 -1
  310. package/dist/styles.css.map +1 -1
  311. package/dist/switch.d.mts +2 -2
  312. package/dist/switch.d.ts +2 -2
  313. package/dist/switch.js +2 -1
  314. package/dist/switch.js.map +1 -1
  315. package/dist/switch.mjs +2 -1
  316. package/dist/switch.mjs.map +1 -1
  317. package/dist/table.js +22 -80
  318. package/dist/table.js.map +1 -1
  319. package/dist/table.mjs +22 -80
  320. package/dist/table.mjs.map +1 -1
  321. package/dist/tabs.d.mts +7 -7
  322. package/dist/tabs.d.ts +7 -7
  323. package/dist/tabs.js +4 -2
  324. package/dist/tabs.js.map +1 -1
  325. package/dist/tabs.mjs +4 -2
  326. package/dist/tabs.mjs.map +1 -1
  327. package/dist/text.js +4 -6
  328. package/dist/text.js.map +1 -1
  329. package/dist/text.mjs +4 -6
  330. package/dist/text.mjs.map +1 -1
  331. package/dist/textarea.js +14 -15
  332. package/dist/textarea.js.map +1 -1
  333. package/dist/textarea.mjs +14 -15
  334. package/dist/textarea.mjs.map +1 -1
  335. package/dist/toggle-group.d.mts +2 -2
  336. package/dist/toggle-group.d.ts +2 -2
  337. package/dist/toggle-group.js +41 -34
  338. package/dist/toggle-group.js.map +1 -1
  339. package/dist/toggle-group.mjs +40 -33
  340. package/dist/toggle-group.mjs.map +1 -1
  341. package/dist/toggle.d.mts +2 -2
  342. package/dist/toggle.d.ts +2 -2
  343. package/dist/toggle.js +2 -2
  344. package/dist/toggle.mjs +1 -1
  345. package/dist/tooltip.d.mts +7 -7
  346. package/dist/tooltip.d.ts +7 -7
  347. package/dist/tooltip.js +15 -20
  348. package/dist/tooltip.js.map +1 -1
  349. package/dist/tooltip.mjs +15 -20
  350. package/dist/tooltip.mjs.map +1 -1
  351. package/package.json +43 -6
  352. package/src/accordion.tsx +53 -43
  353. package/src/alert-dialog.tsx +73 -92
  354. package/src/alert.tsx +24 -41
  355. package/src/aspect-ratio.tsx +2 -1
  356. package/src/avatar.tsx +19 -36
  357. package/src/badge.tsx +3 -7
  358. package/src/blockquote.tsx +9 -8
  359. package/src/box.tsx +7 -6
  360. package/src/breadcrumb.tsx +54 -63
  361. package/src/button.tsx +42 -16
  362. package/src/calendar.tsx +6 -22
  363. package/src/card.tsx +40 -56
  364. package/src/carousel.tsx +95 -81
  365. package/src/checkbox-cards.tsx +68 -0
  366. package/src/checkbox-group.primitive.tsx +199 -0
  367. package/src/checkbox-group.tsx +57 -0
  368. package/src/checkbox.tsx +10 -6
  369. package/src/code.tsx +8 -6
  370. package/src/collapsible.tsx +4 -3
  371. package/src/command.tsx +53 -90
  372. package/src/container.tsx +8 -6
  373. package/src/context-menu.tsx +163 -175
  374. package/src/data-table.tsx +26 -43
  375. package/src/dialog.tsx +58 -77
  376. package/src/drawer.tsx +48 -78
  377. package/src/dropdown-menu.tsx +143 -154
  378. package/src/em.tsx +8 -6
  379. package/src/form.tsx +61 -86
  380. package/src/heading.tsx +8 -6
  381. package/src/hover-card.tsx +22 -20
  382. package/src/input-otp.tsx +50 -48
  383. package/src/input.tsx +14 -15
  384. package/src/kbd.tsx +18 -16
  385. package/src/label.tsx +5 -5
  386. package/src/menubar.tsx +133 -149
  387. package/src/navigation-menu.tsx +110 -114
  388. package/src/pagination.tsx +26 -48
  389. package/src/popover.tsx +29 -31
  390. package/src/pre.tsx +8 -6
  391. package/src/progress.tsx +6 -9
  392. package/src/quote.tsx +8 -6
  393. package/src/radio-cards.tsx +50 -0
  394. package/src/radio-group.tsx +14 -24
  395. package/src/radio.tsx +44 -0
  396. package/src/resizable.tsx +5 -7
  397. package/src/scroll-area.tsx +29 -40
  398. package/src/section.tsx +8 -6
  399. package/src/segmented.tsx +176 -0
  400. package/src/select.tsx +106 -115
  401. package/src/separator.tsx +7 -14
  402. package/src/sheet.tsx +50 -76
  403. package/src/skeleton.tsx +2 -6
  404. package/src/slider.tsx +12 -10
  405. package/src/sonner.tsx +3 -7
  406. package/src/spinner.tsx +71 -0
  407. package/src/strong.tsx +8 -6
  408. package/src/switch.tsx +7 -6
  409. package/src/table.tsx +60 -82
  410. package/src/tabs.tsx +20 -18
  411. package/src/text.tsx +8 -8
  412. package/src/textarea.tsx +16 -14
  413. package/src/toggle-group.tsx +59 -58
  414. package/src/toggle.tsx +14 -13
  415. package/src/tooltip.tsx +28 -30
  416. package/dist/chunk-3BDLWZ3W.js +0 -158
  417. package/dist/chunk-3BDLWZ3W.js.map +0 -1
  418. package/dist/chunk-43YGVOCO.js +0 -135
  419. package/dist/chunk-43YGVOCO.js.map +0 -1
  420. package/dist/chunk-AJLEALVP.mjs +0 -112
  421. package/dist/chunk-AJLEALVP.mjs.map +0 -1
  422. package/dist/chunk-D6NQEMTJ.js +0 -112
  423. package/dist/chunk-D6NQEMTJ.js.map +0 -1
  424. package/dist/chunk-FATZHRHR.mjs +0 -56
  425. package/dist/chunk-FATZHRHR.mjs.map +0 -1
  426. package/dist/chunk-GRKABVK4.js.map +0 -1
  427. package/dist/chunk-JOJW7BBY.js.map +0 -1
  428. package/dist/chunk-KV4VL2ZF.mjs +0 -135
  429. package/dist/chunk-KV4VL2ZF.mjs.map +0 -1
  430. package/dist/chunk-MJDKD2K4.mjs.map +0 -1
  431. package/dist/chunk-NCEN3XBK.mjs +0 -158
  432. package/dist/chunk-NCEN3XBK.mjs.map +0 -1
  433. package/dist/chunk-PIU627A3.mjs.map +0 -1
  434. package/dist/chunk-PKB2G726.js.map +0 -1
package/src/heading.tsx CHANGED
@@ -5,17 +5,19 @@ import { Slot } from "@radix-ui/react-slot";
5
5
  * Component: Heading
6
6
  * -------------------------------------------------------------------------- */
7
7
 
8
+ type HeadingElement = HTMLHeadingElement;
9
+
8
10
  interface HeadingProps extends React.HTMLAttributes<HTMLHeadingElement> {
9
11
  as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
10
12
  asChild?: boolean;
11
13
  }
12
- const Heading = React.forwardRef<HTMLHeadingElement, HeadingProps>(
13
- ({ asChild, as: Tag = "h1", ...props }, ref) => {
14
- const Com = asChild ? Slot : Tag;
15
14
 
16
- return <Com ref={ref} {...props} />;
17
- },
18
- );
15
+ const Heading = React.forwardRef<HeadingElement, HeadingProps>(({ asChild, as: Tag = "h1", ...props }, ref) => {
16
+ const Component = asChild ? Slot : Tag;
17
+
18
+ return <Component ref={ref} {...props} />;
19
+ });
20
+
19
21
  Heading.displayName = "Heading";
20
22
 
21
23
  /* -----------------------------------------------------------------------------
@@ -8,38 +8,40 @@ import { cn } from "./utils";
8
8
  * Component: HoverCard
9
9
  * -------------------------------------------------------------------------- */
10
10
 
11
- type HoverCardProps = HoverCardPrimitive.HoverCardProps;
11
+ type HoverCardProps = React.ComponentProps<typeof HoverCardPrimitive.Root>;
12
12
  const HoverCard = HoverCardPrimitive.Root;
13
13
 
14
14
  /* -----------------------------------------------------------------------------
15
15
  * Component: HoverCardTrigger
16
16
  * -------------------------------------------------------------------------- */
17
17
 
18
- type HoverCardTriggerProps = HoverCardPrimitive.HoverCardTriggerProps;
18
+ type HoverCardTriggerProps = React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Trigger>;
19
19
  const HoverCardTrigger = HoverCardPrimitive.Trigger;
20
20
 
21
21
  /* -----------------------------------------------------------------------------
22
22
  * Component: HoverCardContent
23
23
  * -------------------------------------------------------------------------- */
24
24
 
25
- type HoverCardContentProps = HoverCardPrimitive.HoverCardContentProps;
26
- const HoverCardContent = React.forwardRef<
27
- React.ElementRef<typeof HoverCardPrimitive.Content>,
28
- 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
- ));
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
+
43
45
  HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
44
46
 
45
47
  /* -----------------------------------------------------------------------------
package/src/input-otp.tsx CHANGED
@@ -15,82 +15,84 @@ import { cn } from "./utils";
15
15
  * Component: InputOtp
16
16
  * -------------------------------------------------------------------------- */
17
17
 
18
+ type InputOTPElement = React.ElementRef<typeof OTPInput>;
18
19
  type InputOTPProps = React.ComponentPropsWithoutRef<typeof OTPInput>;
19
- const InputOTP = React.forwardRef<
20
- React.ElementRef<typeof OTPInput>,
21
- InputOTPProps
22
- >(({ className, containerClassName, ...props }, ref) => (
23
- <OTPInput
24
- ref={ref}
25
- containerClassName={cn(
26
- "flex items-center gap-2 has-[:disabled]:opacity-50",
27
- containerClassName,
28
- )}
29
- className={cn("disabled:cursor-not-allowed", className)}
30
- {...props}
31
- />
32
- ));
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
+
33
32
  InputOTP.displayName = "InputOTP";
34
33
 
35
34
  /* -----------------------------------------------------------------------------
36
35
  * Component: InputOTPGroup
37
36
  * -------------------------------------------------------------------------- */
38
37
 
38
+ type InputOTPGroupElement = HTMLDivElement;
39
39
  type InputOTPGroupProps = React.HTMLAttributes<HTMLDivElement>;
40
- const InputOTPGroup = React.forwardRef<HTMLDivElement, InputOTPGroupProps>(
41
- ({ className, ...props }, ref) => (
42
- <div ref={ref} className={cn("flex items-center", className)} {...props} />
43
- ),
44
- );
40
+
41
+ const InputOTPGroup = React.forwardRef<InputOTPGroupElement, InputOTPGroupProps>(({ className, ...props }, ref) => (
42
+ <div ref={ref} className={cn("flex items-center", className)} {...props} />
43
+ ));
44
+
45
45
  InputOTPGroup.displayName = "InputOTPGroup";
46
46
 
47
47
  /* -----------------------------------------------------------------------------
48
48
  * Component: InputOTPSlot
49
49
  * -------------------------------------------------------------------------- */
50
50
 
51
+ type InputOTPSlotElement = HTMLDivElement;
52
+
51
53
  interface InputOTPSlotProps extends React.HTMLAttributes<HTMLDivElement> {
52
54
  index: number;
53
55
  }
54
- const InputOTPSlot = React.forwardRef<HTMLDivElement, InputOTPSlotProps>(
55
- ({ index, className, ...props }, ref) => {
56
- const inputOTPContext = React.useContext(OTPInputContext);
57
- const slot = inputOTPContext.slots[index];
58
-
59
- return (
60
- <div
61
- ref={ref}
62
- className={cn(
63
- "border-input relative flex size-10 items-center justify-center border-y border-r text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md",
64
- slot?.isActive && "ring-ring z-10 ring-2",
65
- className,
66
- )}
67
- {...props}
68
- >
69
- {slot?.char}
70
- {slot?.hasFakeCaret ? (
71
- <div className="pointer-events-none absolute inset-0 flex items-center justify-center">
72
- <div className="animate-caret-blink bg-foreground h-4 w-px duration-1000" />
73
- </div>
74
- ) : null}
75
- </div>
76
- );
77
- },
78
- );
56
+
57
+ const InputOTPSlot = React.forwardRef<InputOTPSlotElement, InputOTPSlotProps>(({ index, className, ...props }, ref) => {
58
+ const inputOTPContext = React.useContext(OTPInputContext);
59
+ const slot = inputOTPContext.slots[index];
60
+
61
+ return (
62
+ <div
63
+ ref={ref}
64
+ className={cn(
65
+ "border-input relative flex size-10 items-center justify-center border-y border-r text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md",
66
+ slot?.isActive && "ring-ring z-10 ring-2",
67
+ className,
68
+ )}
69
+ {...props}
70
+ >
71
+ {slot?.char}
72
+ {slot?.hasFakeCaret ? (
73
+ <div className="pointer-events-none absolute inset-0 flex items-center justify-center">
74
+ <div className="animate-caret-blink bg-foreground h-4 w-px duration-1000" />
75
+ </div>
76
+ ) : null}
77
+ </div>
78
+ );
79
+ });
80
+
79
81
  InputOTPSlot.displayName = "InputOTPSlot";
80
82
 
81
83
  /* -----------------------------------------------------------------------------
82
84
  * Component: InputOTPSeparator
83
85
  * -------------------------------------------------------------------------- */
84
86
 
87
+ type InputOTPSeparatorElement = HTMLDivElement;
85
88
  type InputOTPSeparatorProps = React.HTMLAttributes<HTMLDivElement>;
86
- const InputOTPSeparator = React.forwardRef<
87
- HTMLDivElement,
88
- InputOTPSeparatorProps
89
- >(({ ...props }, ref) => (
89
+
90
+ const InputOTPSeparator = React.forwardRef<InputOTPSeparatorElement, InputOTPSeparatorProps>(({ ...props }, ref) => (
90
91
  <div ref={ref} role="separator" {...props}>
91
92
  <DotFilledIcon />
92
93
  </div>
93
94
  ));
95
+
94
96
  InputOTPSeparator.displayName = "InputOTPSeparator";
95
97
 
96
98
  /* -----------------------------------------------------------------------------
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",
@@ -27,20 +33,13 @@ type InputVariantsProps = VariantProps<typeof inputVariants>;
27
33
  * Component: Input
28
34
  * -------------------------------------------------------------------------- */
29
35
 
30
- type InputProps = React.InputHTMLAttributes<HTMLInputElement> &
31
- InputVariantsProps;
32
- const Input = React.forwardRef<HTMLInputElement, InputProps>(
33
- ({ className, inputSize, ...props }, ref) => {
34
- return (
35
- <input
36
- type="text"
37
- className={inputVariants({ className, inputSize })}
38
- ref={ref}
39
- {...props}
40
- />
41
- );
42
- },
43
- );
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
+ });
42
+
44
43
  Input.displayName = "Input";
45
44
 
46
45
  /* -----------------------------------------------------------------------------
package/src/kbd.tsx CHANGED
@@ -6,25 +6,27 @@ import { cn } from "./utils";
6
6
  * Component: Kbd
7
7
  * -------------------------------------------------------------------------- */
8
8
 
9
+ type KbdElement = HTMLElement;
10
+
9
11
  interface KbdProps extends React.HTMLAttributes<HTMLElement> {
10
12
  asChild?: boolean;
11
13
  }
12
- const Kbd = React.forwardRef<HTMLElement, KbdProps>(
13
- ({ asChild, className, ...props }, ref) => {
14
- const Comp = asChild ? Slot : "kbd";
15
-
16
- return (
17
- <Comp
18
- ref={ref}
19
- className={cn(
20
- "bg-muted text-muted-foreground inline-flex h-5 select-none items-center gap-1 rounded border px-1.5 font-mono text-xs font-medium",
21
- className,
22
- )}
23
- {...props}
24
- />
25
- );
26
- },
27
- );
14
+
15
+ const Kbd = React.forwardRef<KbdElement, KbdProps>(({ asChild, className, ...props }, ref) => {
16
+ const Component = asChild ? Slot : "kbd";
17
+
18
+ return (
19
+ <Component
20
+ ref={ref}
21
+ className={cn(
22
+ "bg-muted text-muted-foreground inline-flex h-5 select-none items-center gap-1 rounded border px-1.5 font-mono text-xs font-medium",
23
+ className,
24
+ )}
25
+ {...props}
26
+ />
27
+ );
28
+ });
29
+
28
30
  Kbd.displayName = "Kbd";
29
31
 
30
32
  /* -----------------------------------------------------------------------------
package/src/label.tsx CHANGED
@@ -7,11 +7,10 @@ import { cn } from "./utils";
7
7
  * Component: Label
8
8
  * -------------------------------------------------------------------------- */
9
9
 
10
- type LabelProps = LabelPrimitive.LabelProps;
11
- const Label = React.forwardRef<
12
- React.ElementRef<typeof LabelPrimitive.Root>,
13
- LabelProps
14
- >(({ 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) => (
15
14
  <LabelPrimitive.Root
16
15
  ref={ref}
17
16
  className={cn(
@@ -21,6 +20,7 @@ const Label = React.forwardRef<
21
20
  {...props}
22
21
  />
23
22
  ));
23
+
24
24
  Label.displayName = LabelPrimitive.Root.displayName;
25
25
 
26
26
  /* -----------------------------------------------------------------------------