@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/select.tsx CHANGED
@@ -1,12 +1,7 @@
1
1
  "use client";
2
2
 
3
3
  import * as React from "react";
4
- import {
5
- CaretSortIcon,
6
- CheckIcon,
7
- ChevronDownIcon,
8
- ChevronUpIcon,
9
- } from "@radix-ui/react-icons";
4
+ import { CaretSortIcon, CheckIcon, ChevronDownIcon, ChevronUpIcon } from "@radix-ui/react-icons";
10
5
  import * as SelectPrimitive from "@radix-ui/react-select";
11
6
  import { cn } from "./utils";
12
7
 
@@ -14,156 +9,153 @@ import { cn } from "./utils";
14
9
  * Component: Select
15
10
  * -------------------------------------------------------------------------- */
16
11
 
17
- type SelectProps = SelectPrimitive.SelectProps;
12
+ type SelectProps = React.ComponentProps<typeof SelectPrimitive.Root>;
18
13
  const Select = SelectPrimitive.Root;
19
14
 
20
15
  /* -----------------------------------------------------------------------------
21
16
  * Component: SelectGroup
22
17
  * -------------------------------------------------------------------------- */
23
18
 
24
- type SelectGroupProps = SelectPrimitive.SelectGroupProps;
19
+ type SelectGroupProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Group>;
25
20
  const SelectGroup = SelectPrimitive.Group;
26
21
 
27
22
  /* -----------------------------------------------------------------------------
28
23
  * Component: SelectValue
29
24
  * -------------------------------------------------------------------------- */
30
25
 
31
- type SelectValueProps = SelectPrimitive.SelectValueProps;
26
+ type SelectValueProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Value>;
32
27
  const SelectValue = SelectPrimitive.Value;
33
28
 
34
29
  /* -----------------------------------------------------------------------------
35
30
  * Component: SelectTrigger
36
31
  * -------------------------------------------------------------------------- */
37
32
 
38
- type SelectTriggerProps = SelectPrimitive.SelectTriggerProps;
39
- const SelectTrigger = React.forwardRef<
40
- React.ElementRef<typeof SelectPrimitive.Trigger>,
41
- SelectTriggerProps
42
- >(({ className, children, ...props }, ref) => (
43
- <SelectPrimitive.Trigger
44
- ref={ref}
45
- className={cn(
46
- "border-input placeholder:text-muted-foreground focus:ring-offset-background focus:ring-ring flex h-10 w-full items-center justify-between whitespace-nowrap rounded-md border bg-transparent px-3 text-sm shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
47
- className,
48
- )}
49
- {...props}
50
- >
51
- {children}
52
- <SelectPrimitive.Icon asChild>
53
- <CaretSortIcon className="size-4 opacity-50" />
54
- </SelectPrimitive.Icon>
55
- </SelectPrimitive.Trigger>
56
- ));
33
+ type SelectTriggerElement = React.ElementRef<typeof SelectPrimitive.Trigger>;
34
+ type SelectTriggerProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>;
35
+
36
+ const SelectTrigger = React.forwardRef<SelectTriggerElement, SelectTriggerProps>(
37
+ ({ className, children, ...props }, ref) => (
38
+ <SelectPrimitive.Trigger
39
+ ref={ref}
40
+ className={cn(
41
+ "border-input placeholder:text-muted-foreground flex h-10 w-full items-center justify-between whitespace-nowrap rounded-md border bg-transparent px-3 text-sm shadow-sm disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
42
+ "focus-visible:ring-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
43
+ className,
44
+ )}
45
+ {...props}
46
+ >
47
+ {children}
48
+ <SelectPrimitive.Icon asChild>
49
+ <CaretSortIcon className="size-4 opacity-50" />
50
+ </SelectPrimitive.Icon>
51
+ </SelectPrimitive.Trigger>
52
+ ),
53
+ );
54
+
57
55
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
58
56
 
59
57
  /* -----------------------------------------------------------------------------
60
58
  * Component: SelectScrollUpButton
61
59
  * -------------------------------------------------------------------------- */
62
60
 
63
- type SelectScrollUpButtonProps = SelectPrimitive.SelectScrollUpButtonProps;
64
- const SelectScrollUpButton = React.forwardRef<
65
- React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,
66
- SelectScrollUpButtonProps
67
- >(({ className, ...props }, ref) => (
68
- <SelectPrimitive.ScrollUpButton
69
- ref={ref}
70
- className={cn(
71
- "flex cursor-default items-center justify-center py-1",
72
- className,
73
- )}
74
- {...props}
75
- >
76
- <ChevronUpIcon />
77
- </SelectPrimitive.ScrollUpButton>
78
- ));
61
+ type SelectScrollUpButtonElement = React.ElementRef<typeof SelectPrimitive.ScrollUpButton>;
62
+ type SelectScrollUpButtonProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>;
63
+
64
+ const SelectScrollUpButton = React.forwardRef<SelectScrollUpButtonElement, SelectScrollUpButtonProps>(
65
+ ({ className, ...props }, ref) => (
66
+ <SelectPrimitive.ScrollUpButton
67
+ ref={ref}
68
+ className={cn("flex cursor-default items-center justify-center py-1", className)}
69
+ {...props}
70
+ >
71
+ <ChevronUpIcon />
72
+ </SelectPrimitive.ScrollUpButton>
73
+ ),
74
+ );
75
+
79
76
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
80
77
 
81
78
  /* -----------------------------------------------------------------------------
82
79
  * Component: SelectScrollDownButton
83
80
  * -------------------------------------------------------------------------- */
84
81
 
85
- type SelectScrollDownButtonProps = SelectPrimitive.SelectScrollDownButtonProps;
86
- const SelectScrollDownButton = React.forwardRef<
87
- React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,
88
- SelectScrollDownButtonProps
89
- >(({ className, ...props }, ref) => (
90
- <SelectPrimitive.ScrollDownButton
91
- ref={ref}
92
- className={cn(
93
- "flex cursor-default items-center justify-center py-1",
94
- className,
95
- )}
96
- {...props}
97
- >
98
- <ChevronDownIcon />
99
- </SelectPrimitive.ScrollDownButton>
100
- ));
101
- SelectScrollDownButton.displayName =
102
- SelectPrimitive.ScrollDownButton.displayName;
82
+ type SelectScrollDownButtonElement = React.ElementRef<typeof SelectPrimitive.ScrollDownButton>;
83
+ type SelectScrollDownButtonProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>;
84
+
85
+ const SelectScrollDownButton = React.forwardRef<SelectScrollDownButtonElement, SelectScrollDownButtonProps>(
86
+ ({ className, ...props }, ref) => (
87
+ <SelectPrimitive.ScrollDownButton
88
+ ref={ref}
89
+ className={cn("flex cursor-default items-center justify-center py-1", className)}
90
+ {...props}
91
+ >
92
+ <ChevronDownIcon />
93
+ </SelectPrimitive.ScrollDownButton>
94
+ ),
95
+ );
96
+
97
+ SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
103
98
 
104
99
  /* -----------------------------------------------------------------------------
105
100
  * Component: SelectContent
106
101
  * -------------------------------------------------------------------------- */
107
102
 
108
- type SelectContentProps = SelectPrimitive.SelectContentProps;
109
- const SelectContent = React.forwardRef<
110
- React.ElementRef<typeof SelectPrimitive.Content>,
111
- SelectContentProps
112
- >(({ className, children, position = "popper", ...props }, ref) => (
113
- <SelectPrimitive.Portal>
114
- <SelectPrimitive.Content
115
- ref={ref}
116
- className={cn(
117
- "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md",
118
- position === "popper" &&
119
- "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
120
- className,
121
- )}
122
- position={position}
123
- {...props}
124
- >
125
- <SelectScrollUpButton />
126
- <SelectPrimitive.Viewport
103
+ type SelectContentElement = React.ElementRef<typeof SelectPrimitive.Content>;
104
+ type SelectContentProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>;
105
+
106
+ const SelectContent = React.forwardRef<SelectContentElement, SelectContentProps>(
107
+ ({ className, children, position = "popper", ...props }, ref) => (
108
+ <SelectPrimitive.Portal>
109
+ <SelectPrimitive.Content
110
+ ref={ref}
127
111
  className={cn(
128
- "p-1",
112
+ "bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=open]:data-[side=bottom]:slide-in-from-top-2 data-[state=open]:data-[side=left]:slide-in-from-right-2 data-[state=open]:data-[side=right]:slide-in-from-left-2 data-[state=open]:data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md",
129
113
  position === "popper" &&
130
- "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]",
114
+ "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
115
+ className,
131
116
  )}
117
+ position={position}
118
+ {...props}
132
119
  >
133
- {children}
134
- </SelectPrimitive.Viewport>
135
- <SelectScrollDownButton />
136
- </SelectPrimitive.Content>
137
- </SelectPrimitive.Portal>
138
- ));
120
+ <SelectScrollUpButton />
121
+ <SelectPrimitive.Viewport
122
+ className={cn(
123
+ "p-1",
124
+ position === "popper" &&
125
+ "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]",
126
+ )}
127
+ >
128
+ {children}
129
+ </SelectPrimitive.Viewport>
130
+ <SelectScrollDownButton />
131
+ </SelectPrimitive.Content>
132
+ </SelectPrimitive.Portal>
133
+ ),
134
+ );
135
+
139
136
  SelectContent.displayName = SelectPrimitive.Content.displayName;
140
137
 
141
138
  /* -----------------------------------------------------------------------------
142
139
  * Component: SelectLabel
143
140
  * -------------------------------------------------------------------------- */
144
141
 
145
- type SelectLabelProps = SelectPrimitive.SelectLabelProps;
146
- const SelectLabel = React.forwardRef<
147
- React.ElementRef<typeof SelectPrimitive.Label>,
148
- SelectLabelProps
149
- >(({ className, ...props }, ref) => (
150
- <SelectPrimitive.Label
151
- ref={ref}
152
- className={cn("px-2 py-1.5 text-sm font-semibold", className)}
153
- {...props}
154
- />
142
+ type SelectLabelElement = React.ElementRef<typeof SelectPrimitive.Label>;
143
+ type SelectLabelProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>;
144
+
145
+ const SelectLabel = React.forwardRef<SelectLabelElement, SelectLabelProps>(({ className, ...props }, ref) => (
146
+ <SelectPrimitive.Label ref={ref} className={cn("px-2 py-1.5 text-sm font-semibold", className)} {...props} />
155
147
  ));
148
+
156
149
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
157
150
 
158
151
  /* -----------------------------------------------------------------------------
159
152
  * Component: SelectItem
160
153
  * -------------------------------------------------------------------------- */
161
154
 
162
- type SelectItemProps = SelectPrimitive.SelectItemProps;
163
- const SelectItem = React.forwardRef<
164
- React.ElementRef<typeof SelectPrimitive.Item>,
165
- SelectItemProps
166
- >(({ className, children, ...props }, ref) => (
155
+ type SelectItemElement = React.ElementRef<typeof SelectPrimitive.Item>;
156
+ type SelectItemProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>;
157
+
158
+ const SelectItem = React.forwardRef<SelectItemElement, SelectItemProps>(({ className, children, ...props }, ref) => (
167
159
  <SelectPrimitive.Item
168
160
  ref={ref}
169
161
  className={cn(
@@ -180,23 +172,22 @@ const SelectItem = React.forwardRef<
180
172
  <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>
181
173
  </SelectPrimitive.Item>
182
174
  ));
175
+
183
176
  SelectItem.displayName = SelectPrimitive.Item.displayName;
184
177
 
185
178
  /* -----------------------------------------------------------------------------
186
179
  * Component: SelectSeparator
187
180
  * -------------------------------------------------------------------------- */
188
181
 
189
- type SelectSeparatorProps = SelectPrimitive.SelectSeparatorProps;
190
- const SelectSeparator = React.forwardRef<
191
- React.ElementRef<typeof SelectPrimitive.Separator>,
192
- SelectSeparatorProps
193
- >(({ className, ...props }, ref) => (
194
- <SelectPrimitive.Separator
195
- ref={ref}
196
- className={cn("bg-muted -mx-1 my-1 h-px", className)}
197
- {...props}
198
- />
199
- ));
182
+ type SelectSeparatorElement = React.ElementRef<typeof SelectPrimitive.Separator>;
183
+ type SelectSeparatorProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>;
184
+
185
+ const SelectSeparator = React.forwardRef<SelectSeparatorElement, SelectSeparatorProps>(
186
+ ({ className, ...props }, ref) => (
187
+ <SelectPrimitive.Separator ref={ref} className={cn("bg-muted -mx-1 my-1 h-px", className)} {...props} />
188
+ ),
189
+ );
190
+
200
191
  SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
201
192
 
202
193
  /* -----------------------------------------------------------------------------
package/src/separator.tsx CHANGED
@@ -8,28 +8,21 @@ import { cn } from "./utils";
8
8
  * Component: Separator
9
9
  * -------------------------------------------------------------------------- */
10
10
 
11
- type SeparatorProps = SeparatorPrimitive.SeparatorProps;
12
- const Separator = React.forwardRef<
13
- React.ElementRef<typeof SeparatorPrimitive.Root>,
14
- SeparatorProps
15
- >(
16
- (
17
- { className, orientation = "horizontal", decorative = true, ...props },
18
- ref,
19
- ) => (
11
+ type SeparatorElement = React.ElementRef<typeof SeparatorPrimitive.Root>;
12
+ type SeparatorProps = React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>;
13
+
14
+ const Separator = React.forwardRef<SeparatorElement, SeparatorProps>(
15
+ ({ className, orientation = "horizontal", decorative = true, ...props }, ref) => (
20
16
  <SeparatorPrimitive.Root
21
17
  ref={ref}
22
18
  decorative={decorative}
23
19
  orientation={orientation}
24
- className={cn(
25
- "bg-border shrink-0",
26
- orientation === "horizontal" ? "h-px w-full" : "h-full w-px",
27
- className,
28
- )}
20
+ className={cn("bg-border shrink-0", orientation === "horizontal" ? "h-px w-full" : "h-full w-px", className)}
29
21
  {...props}
30
22
  />
31
23
  ),
32
24
  );
25
+
33
26
  Separator.displayName = SeparatorPrimitive.Root.displayName;
34
27
 
35
28
  /* -----------------------------------------------------------------------------
package/src/sheet.tsx CHANGED
@@ -33,55 +33,54 @@ type SheetVariantsProps = VariantProps<typeof sheetVariants>;
33
33
  * Component: Sheet
34
34
  * -------------------------------------------------------------------------- */
35
35
 
36
- type SheetProps = SheetPrimitive.DialogProps;
36
+ type SheetProps = React.ComponentProps<typeof SheetPrimitive.Root>;
37
37
  const Sheet = SheetPrimitive.Root;
38
38
 
39
39
  /* -----------------------------------------------------------------------------
40
40
  * Component: SheetTrigger
41
41
  * -------------------------------------------------------------------------- */
42
42
 
43
- type SheetTriggerProps = SheetPrimitive.DialogTriggerProps;
43
+ type SheetTriggerProps = React.ComponentPropsWithoutRef<typeof SheetPrimitive.Trigger>;
44
44
  const SheetTrigger = SheetPrimitive.Trigger;
45
45
 
46
46
  /* -----------------------------------------------------------------------------
47
47
  * Component: SheetClose
48
48
  * -------------------------------------------------------------------------- */
49
49
 
50
- type SheetCloseProps = SheetPrimitive.DialogCloseProps;
50
+ type SheetCloseProps = React.ComponentPropsWithoutRef<typeof SheetPrimitive.Close>;
51
51
  const SheetClose = SheetPrimitive.Close;
52
52
 
53
53
  /* -----------------------------------------------------------------------------
54
54
  * Component: SheetContent
55
55
  * -------------------------------------------------------------------------- */
56
56
 
57
- type SheetContentProps = SheetPrimitive.DialogContentProps & SheetVariantsProps;
58
- const SheetContent = React.forwardRef<
59
- React.ElementRef<typeof SheetPrimitive.Content>,
60
- SheetContentProps
61
- >(({ side = "right", className, children, ...props }, ref) => (
62
- <SheetPrimitive.Portal>
63
- <SheetPrimitive.Overlay
64
- className={cn(
65
- "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80",
66
- )}
67
- />
68
- <SheetPrimitive.Content
69
- ref={ref}
70
- className={cn(sheetVariants({ side }), className)}
71
- {...props}
72
- >
73
- {children}
74
- <SheetPrimitive.Close
57
+ type SheetContentElement = React.ElementRef<typeof SheetPrimitive.Content>;
58
+ type SheetContentProps = React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content> & SheetVariantsProps;
59
+
60
+ const SheetContent = React.forwardRef<SheetContentElement, SheetContentProps>(
61
+ ({ side = "right", className, children, ...props }, ref) => (
62
+ <SheetPrimitive.Portal>
63
+ <SheetPrimitive.Overlay
75
64
  className={cn(
76
- "focus:ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:pointer-events-none",
65
+ "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80",
77
66
  )}
78
- >
79
- <Cross2Icon className="size-4" />
80
- <span className="sr-only">Close</span>
81
- </SheetPrimitive.Close>
82
- </SheetPrimitive.Content>
83
- </SheetPrimitive.Portal>
84
- ));
67
+ />
68
+ <SheetPrimitive.Content ref={ref} className={cn(sheetVariants({ side }), className)} {...props}>
69
+ {children}
70
+ <SheetPrimitive.Close
71
+ className={cn(
72
+ "data-[state=open]:bg-secondary absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 disabled:pointer-events-none",
73
+ "focus-visible:ring-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
74
+ )}
75
+ >
76
+ <Cross2Icon className="size-4" />
77
+ <span className="sr-only">Close</span>
78
+ </SheetPrimitive.Close>
79
+ </SheetPrimitive.Content>
80
+ </SheetPrimitive.Portal>
81
+ ),
82
+ );
83
+
85
84
  SheetContent.displayName = SheetPrimitive.Content.displayName;
86
85
 
87
86
  /* -----------------------------------------------------------------------------
@@ -89,19 +88,9 @@ SheetContent.displayName = SheetPrimitive.Content.displayName;
89
88
  * -------------------------------------------------------------------------- */
90
89
 
91
90
  type SheetHeaderProps = React.HTMLAttributes<HTMLDivElement>;
92
- function SheetHeader({
93
- className,
94
- ...props
95
- }: SheetHeaderProps): React.JSX.Element {
96
- return (
97
- <div
98
- className={cn(
99
- "flex flex-col space-y-2 text-center sm:text-left",
100
- className,
101
- )}
102
- {...props}
103
- />
104
- );
91
+
92
+ function SheetHeader({ className, ...props }: SheetHeaderProps): React.JSX.Element {
93
+ return <div className={cn("flex flex-col space-y-2 text-center sm:text-left", className)} {...props} />;
105
94
  }
106
95
 
107
96
  /* -----------------------------------------------------------------------------
@@ -109,54 +98,39 @@ function SheetHeader({
109
98
  * -------------------------------------------------------------------------- */
110
99
 
111
100
  type SheetFooterProps = React.HTMLAttributes<HTMLDivElement>;
112
- function SheetFooter({
113
- className,
114
- ...props
115
- }: SheetFooterProps): React.JSX.Element {
116
- return (
117
- <div
118
- className={cn(
119
- "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
120
- className,
121
- )}
122
- {...props}
123
- />
124
- );
101
+
102
+ function SheetFooter({ className, ...props }: SheetFooterProps): React.JSX.Element {
103
+ return <div className={cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className)} {...props} />;
125
104
  }
105
+
126
106
  SheetFooter.displayName = "SheetFooter";
127
107
 
128
108
  /* -----------------------------------------------------------------------------
129
109
  * Component: SheetTitle
130
110
  * -------------------------------------------------------------------------- */
131
111
 
132
- type SheetTitleProps = SheetPrimitive.DialogTitleProps;
133
- const SheetTitle = React.forwardRef<
134
- React.ElementRef<typeof SheetPrimitive.Title>,
135
- SheetTitleProps
136
- >(({ className, ...props }, ref) => (
137
- <SheetPrimitive.Title
138
- ref={ref}
139
- className={cn("text-foreground text-lg font-semibold", className)}
140
- {...props}
141
- />
112
+ type SheetTitleElement = React.ElementRef<typeof SheetPrimitive.Title>;
113
+ type SheetTitleProps = React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>;
114
+
115
+ const SheetTitle = React.forwardRef<SheetTitleElement, SheetTitleProps>(({ className, ...props }, ref) => (
116
+ <SheetPrimitive.Title ref={ref} className={cn("text-foreground text-lg font-semibold", className)} {...props} />
142
117
  ));
118
+
143
119
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
144
120
 
145
121
  /* -----------------------------------------------------------------------------
146
122
  * Component: SheetDescription
147
123
  * -------------------------------------------------------------------------- */
148
124
 
149
- type SheetDescriptionProps = SheetPrimitive.DialogDescriptionProps;
150
- const SheetDescription = React.forwardRef<
151
- React.ElementRef<typeof SheetPrimitive.Description>,
152
- SheetDescriptionProps
153
- >(({ className, ...props }, ref) => (
154
- <SheetPrimitive.Description
155
- ref={ref}
156
- className={cn("text-muted-foreground text-sm", className)}
157
- {...props}
158
- />
159
- ));
125
+ type SheetDescriptionElement = React.ElementRef<typeof SheetPrimitive.Description>;
126
+ type SheetDescriptionProps = React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>;
127
+
128
+ const SheetDescription = React.forwardRef<SheetDescriptionElement, SheetDescriptionProps>(
129
+ ({ className, ...props }, ref) => (
130
+ <SheetPrimitive.Description ref={ref} className={cn("text-muted-foreground text-sm", className)} {...props} />
131
+ ),
132
+ );
133
+
160
134
  SheetDescription.displayName = SheetPrimitive.Description.displayName;
161
135
 
162
136
  /* -----------------------------------------------------------------------------
package/src/skeleton.tsx CHANGED
@@ -6,13 +6,9 @@ import { cn } from "./utils";
6
6
  * -------------------------------------------------------------------------- */
7
7
 
8
8
  type SkeletonProps = React.HTMLAttributes<HTMLDivElement>;
9
+
9
10
  function Skeleton({ className, ...props }: SkeletonProps): React.JSX.Element {
10
- return (
11
- <div
12
- className={cn("bg-primary/10 animate-pulse rounded-md", className)}
13
- {...props}
14
- />
15
- );
11
+ return <div className={cn("bg-primary/10 animate-pulse rounded-md", className)} {...props} />;
16
12
  }
17
13
 
18
14
  /* -----------------------------------------------------------------------------
package/src/slider.tsx CHANGED
@@ -8,25 +8,27 @@ import { cn } from "./utils";
8
8
  * Component: Slider
9
9
  * -------------------------------------------------------------------------- */
10
10
 
11
- type SliderProps = SliderPrimitive.SliderProps;
12
- const Slider = React.forwardRef<
13
- React.ElementRef<typeof SliderPrimitive.Root>,
14
- SliderProps
15
- >(({ className, ...props }, ref) => (
11
+ type SliderElement = React.ElementRef<typeof SliderPrimitive.Root>;
12
+ type SliderProps = React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>;
13
+
14
+ const Slider = React.forwardRef<SliderElement, SliderProps>(({ className, ...props }, ref) => (
16
15
  <SliderPrimitive.Root
17
16
  ref={ref}
18
- className={cn(
19
- "relative flex w-full touch-none select-none items-center",
20
- className,
21
- )}
17
+ className={cn("relative flex w-full touch-none select-none items-center", className)}
22
18
  {...props}
23
19
  >
24
20
  <SliderPrimitive.Track className="bg-primary/20 relative h-1.5 w-full grow overflow-hidden rounded-full">
25
21
  <SliderPrimitive.Range className="bg-primary absolute h-full" />
26
22
  </SliderPrimitive.Track>
27
- <SliderPrimitive.Thumb className="border-primary/50 bg-background focus-visible:ring-ring focus-visible:ring-offset-background block size-4 rounded-full border shadow transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50" />
23
+ <SliderPrimitive.Thumb
24
+ className={cn(
25
+ "border-primary/50 bg-background block size-4 rounded-full border shadow transition-colors disabled:pointer-events-none disabled:opacity-50",
26
+ "focus-visible:ring-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
27
+ )}
28
+ />
28
29
  </SliderPrimitive.Root>
29
30
  ));
31
+
30
32
  Slider.displayName = SliderPrimitive.Root.displayName;
31
33
 
32
34
  /* -----------------------------------------------------------------------------
package/src/sonner.tsx CHANGED
@@ -3,7 +3,6 @@
3
3
  import * as React from "react";
4
4
  import { useTheme } from "next-themes";
5
5
  import { toast, Toaster as Sonner } from "sonner";
6
- import { cn } from "./utils";
7
6
 
8
7
  /* -----------------------------------------------------------------------------
9
8
  * Component: Sonner
@@ -21,14 +20,11 @@ function Toaster({ ...props }: ToasterProps): React.JSX.Element {
21
20
  className="toaster group"
22
21
  toastOptions={{
23
22
  classNames: {
24
- toast: cn(
23
+ toast:
25
24
  "group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",
26
- ),
27
25
  description: "group-[.toast]:text-muted-foreground",
28
- actionButton:
29
- "group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",
30
- cancelButton:
31
- "group-[.toast]:bg-muted group-[.toast]:text-muted-foreground",
26
+ actionButton: "group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",
27
+ cancelButton: "group-[.toast]:bg-muted group-[.toast]:text-muted-foreground",
32
28
  },
33
29
  }}
34
30
  {...props}