@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
@@ -0,0 +1,50 @@
1
+ "use client";
2
+
3
+ import * as React from "react";
4
+ import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
5
+ import { cn } from "./utils";
6
+
7
+ /* -----------------------------------------------------------------------------
8
+ * Component: RadioCards
9
+ * -------------------------------------------------------------------------- */
10
+
11
+ type RadioCardsElement = React.ElementRef<typeof RadioGroupPrimitive.Root>;
12
+ type RadioCardsProps = React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>;
13
+
14
+ const RadioCards = React.forwardRef<RadioCardsElement, RadioCardsProps>(({ className, ...props }, ref) => {
15
+ return <RadioGroupPrimitive.Root className={cn("grid gap-2", className)} {...props} ref={ref} />;
16
+ });
17
+
18
+ RadioCards.displayName = RadioGroupPrimitive.Root.displayName;
19
+
20
+ /* -----------------------------------------------------------------------------
21
+ * Component: RadioCardsItem
22
+ * -------------------------------------------------------------------------- */
23
+
24
+ type RadioCardsItemElement = React.ElementRef<typeof RadioGroupPrimitive.Item>;
25
+ type RadioCardsItemProps = React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>;
26
+
27
+ const RadioCardsItem = React.forwardRef<RadioCardsItemElement, RadioCardsItemProps>(({ className, ...props }, ref) => {
28
+ return (
29
+ <RadioGroupPrimitive.Item
30
+ ref={ref}
31
+ className={cn(
32
+ "border-compound/70 text-compound-foreground group peer flex cursor-default items-center justify-center rounded-md border p-4",
33
+ "hover:border-compound",
34
+ "aria-checked:border-primary",
35
+ "disabled:cursor-not-allowed disabled:opacity-50",
36
+ "focus-visible:bg-primary/10 focus-visible:ring-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
37
+ className,
38
+ )}
39
+ {...props}
40
+ />
41
+ );
42
+ });
43
+
44
+ RadioCardsItem.displayName = RadioGroupPrimitive.Item.displayName;
45
+
46
+ /* -----------------------------------------------------------------------------
47
+ * Exports
48
+ * -------------------------------------------------------------------------- */
49
+
50
+ export { RadioCards, RadioCardsItem, type RadioCardsProps, type RadioCardsItemProps };
@@ -8,33 +8,29 @@ import { cn } from "./utils";
8
8
  * Component: RadioGroup
9
9
  * -------------------------------------------------------------------------- */
10
10
 
11
- const RadioGroup = React.forwardRef<
12
- React.ElementRef<typeof RadioGroupPrimitive.Root>,
13
- RadioGroupPrimitive.RadioGroupProps
14
- >(({ className, ...props }, ref) => {
15
- return (
16
- <RadioGroupPrimitive.Root
17
- className={cn("grid gap-2", className)}
18
- {...props}
19
- ref={ref}
20
- />
21
- );
11
+ type RadioGroupElement = React.ElementRef<typeof RadioGroupPrimitive.Root>;
12
+ type RadioGroupProps = React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>;
13
+
14
+ const RadioGroup = React.forwardRef<RadioGroupElement, RadioGroupProps>(({ className, ...props }, ref) => {
15
+ return <RadioGroupPrimitive.Root className={cn("grid gap-2", className)} {...props} ref={ref} />;
22
16
  });
17
+
23
18
  RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
24
19
 
25
20
  /* -----------------------------------------------------------------------------
26
21
  * Component: RadioGroupItem
27
22
  * -------------------------------------------------------------------------- */
28
23
 
29
- const RadioGroupItem = React.forwardRef<
30
- React.ElementRef<typeof RadioGroupPrimitive.Item>,
31
- RadioGroupPrimitive.RadioGroupItemProps
32
- >(({ className, ...props }, ref) => {
24
+ type RadioGroupItemElement = React.ElementRef<typeof RadioGroupPrimitive.Item>;
25
+ type RadioGroupItemProps = React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>;
26
+
27
+ const RadioGroupItem = React.forwardRef<RadioGroupItemElement, RadioGroupItemProps>(({ className, ...props }, ref) => {
33
28
  return (
34
29
  <RadioGroupPrimitive.Item
35
30
  ref={ref}
36
31
  className={cn(
37
- "border-compound text-compound-foreground focus-visible:ring-offset-background focus-visible:ring-ring aria-checked:border-primary group aspect-square size-4 rounded-full border focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
32
+ "border-compound/70 hover:border-compound text-compound-foreground aria-checked:border-primary group peer aspect-square size-4 rounded-full border disabled:cursor-not-allowed disabled:opacity-50",
33
+ "focus-visible:ring-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
38
34
  className,
39
35
  )}
40
36
  {...props}
@@ -47,10 +43,11 @@ const RadioGroupItem = React.forwardRef<
47
43
  </RadioGroupPrimitive.Item>
48
44
  );
49
45
  });
46
+
50
47
  RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
51
48
 
52
49
  /* -----------------------------------------------------------------------------
53
50
  * Exports
54
51
  * -------------------------------------------------------------------------- */
55
52
 
56
- export { RadioGroup, RadioGroupItem };
53
+ export { RadioGroup, RadioGroupItem, type RadioGroupProps, type RadioGroupItemProps };
package/src/radio.tsx ADDED
@@ -0,0 +1,44 @@
1
+ "use client";
2
+
3
+ import * as React from "react";
4
+ import { composeEventHandlers } from "@radix-ui/primitive";
5
+ import { cn } from "./utils";
6
+
7
+ /* -----------------------------------------------------------------------------
8
+ * Component: Radio
9
+ * -------------------------------------------------------------------------- */
10
+
11
+ type RadioElement = HTMLInputElement;
12
+
13
+ interface RadioProps extends React.InputHTMLAttributes<HTMLInputElement> {
14
+ onValueChange?: (value: string) => void;
15
+ }
16
+
17
+ const Radio = React.forwardRef<RadioElement, RadioProps>(({ className, onValueChange, onChange, ...props }, ref) => {
18
+ return (
19
+ <input
20
+ ref={ref}
21
+ type="radio"
22
+ onChange={composeEventHandlers(onChange, (event) => onValueChange?.(event.currentTarget.value))}
23
+ className={cn(
24
+ "peer relative flex appearance-none items-center justify-center rounded-full",
25
+ "disabled:cursor-not-allowed disabled:opacity-50",
26
+ "before:border-compound/70 before:size-4 before:rounded-full before:border",
27
+ "hover:before:border-compound",
28
+ "checked:before:border-primary",
29
+ "checked:after:bg-primary checked:after:absolute checked:after:size-2.5 checked:after:rounded-full",
30
+ "focus-visible:ring-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
31
+ className,
32
+ )}
33
+ {...props}
34
+ />
35
+ );
36
+ });
37
+
38
+ Radio.displayName = "Radio";
39
+
40
+ /* -----------------------------------------------------------------------------
41
+ * Exports
42
+ * -------------------------------------------------------------------------- */
43
+
44
+ export { Radio };
package/src/resizable.tsx CHANGED
@@ -1,7 +1,8 @@
1
1
  "use client";
2
2
 
3
- import { DragHandleDots2Icon } from "@radix-ui/react-icons";
3
+ import * as React from "react";
4
4
  import * as ResizablePrimitive from "react-resizable-panels";
5
+ import { DragHandleDots2Icon } from "@radix-ui/react-icons";
5
6
  import { cn } from "./utils";
6
7
 
7
8
  /* -----------------------------------------------------------------------------
@@ -11,13 +12,10 @@ import { cn } from "./utils";
11
12
  function ResizablePanelGroup({
12
13
  className,
13
14
  ...props
14
- }: ResizablePrimitive.PanelGroupProps): React.JSX.Element {
15
+ }: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>): React.JSX.Element {
15
16
  return (
16
17
  <ResizablePrimitive.PanelGroup
17
- className={cn(
18
- "flex h-full w-full data-[panel-group-direction=vertical]:flex-col",
19
- className,
20
- )}
18
+ className={cn("flex h-full w-full", "data-[panel-group-direction=vertical]:flex-col", className)}
21
19
  {...props}
22
20
  />
23
21
  );
@@ -37,13 +35,14 @@ function ResizableHandle({
37
35
  withHandle,
38
36
  className,
39
37
  ...props
40
- }: ResizablePrimitive.PanelResizeHandleProps & {
38
+ }: React.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {
41
39
  withHandle?: boolean;
42
40
  }): React.JSX.Element {
43
41
  return (
44
42
  <ResizablePrimitive.PanelResizeHandle
45
43
  className={cn(
46
- "bg-border focus-visible:ring-ring focus-visible:ring-offset-background relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",
44
+ "bg-border relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",
45
+ "focus-visible:ring-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
47
46
  className,
48
47
  )}
49
48
  {...props}
@@ -8,53 +8,49 @@ import { cn } from "./utils";
8
8
  * Component: ScrollArea
9
9
  * -------------------------------------------------------------------------- */
10
10
 
11
- const ScrollArea = React.forwardRef<
12
- React.ElementRef<typeof ScrollAreaPrimitive.Root>,
13
- ScrollAreaPrimitive.ScrollAreaProps
14
- >(({ className, children, ...props }, ref) => (
15
- <ScrollAreaPrimitive.Root
16
- ref={ref}
17
- className={cn("relative overflow-hidden", className)}
18
- {...props}
19
- >
20
- <ScrollAreaPrimitive.Viewport className="size-full rounded-[inherit]">
21
- {children}
22
- </ScrollAreaPrimitive.Viewport>
23
- <ScrollBar orientation="vertical" />
24
- <ScrollBar orientation="horizontal" />
11
+ type ScrollAreaElement = React.ElementRef<typeof ScrollAreaPrimitive.Root>;
12
+ type ScrollAreaProps = React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>;
13
+
14
+ const ScrollArea = React.forwardRef<ScrollAreaElement, ScrollAreaProps>(({ className, children, ...props }, ref) => (
15
+ <ScrollAreaPrimitive.Root ref={ref} className={cn("relative overflow-hidden", className)} {...props}>
16
+ <ScrollAreaPrimitive.Viewport className="size-full rounded-[inherit]">{children}</ScrollAreaPrimitive.Viewport>
17
+ <ScrollAreaScrollbar orientation="vertical" />
18
+ <ScrollAreaScrollbar orientation="horizontal" />
25
19
  <ScrollAreaPrimitive.Corner />
26
20
  </ScrollAreaPrimitive.Root>
27
21
  ));
22
+
28
23
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
29
24
 
30
25
  /* -----------------------------------------------------------------------------
31
- * Component: ScrollBar
26
+ * Component: ScrollAreaScrollbar
32
27
  * -------------------------------------------------------------------------- */
33
28
 
34
- const ScrollBar = React.forwardRef<
35
- React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,
36
- ScrollAreaPrimitive.ScrollAreaScrollbarProps
37
- >(({ className, orientation = "vertical", ...props }, ref) => (
38
- <ScrollAreaPrimitive.ScrollAreaScrollbar
39
- ref={ref}
40
- orientation={orientation}
41
- className={cn(
42
- "flex touch-none select-none transition-colors",
43
- orientation === "vertical" &&
44
- "h-full w-2.5 border-l border-l-transparent p-px",
45
- orientation === "horizontal" &&
46
- "h-2.5 flex-col border-t border-t-transparent p-px",
47
- className,
48
- )}
49
- {...props}
50
- >
51
- <ScrollAreaPrimitive.ScrollAreaThumb className="bg-border relative flex-1 rounded-full" />
52
- </ScrollAreaPrimitive.ScrollAreaScrollbar>
53
- ));
54
- ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
29
+ type ScrollAreaScrollbarElement = React.ElementRef<typeof ScrollAreaPrimitive.Scrollbar>;
30
+ type ScrollAreaScrollbarProps = React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Scrollbar>;
31
+
32
+ const ScrollAreaScrollbar = React.forwardRef<ScrollAreaScrollbarElement, ScrollAreaScrollbarProps>(
33
+ ({ className, orientation = "vertical", ...props }, ref) => (
34
+ <ScrollAreaPrimitive.Scrollbar
35
+ ref={ref}
36
+ orientation={orientation}
37
+ className={cn(
38
+ "flex touch-none select-none transition-colors",
39
+ orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent p-px",
40
+ orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent p-px",
41
+ className,
42
+ )}
43
+ {...props}
44
+ >
45
+ <ScrollAreaPrimitive.ScrollAreaThumb className="bg-border relative flex-1 rounded-full" />
46
+ </ScrollAreaPrimitive.Scrollbar>
47
+ ),
48
+ );
49
+
50
+ ScrollAreaScrollbar.displayName = ScrollAreaPrimitive.Scrollbar.displayName;
55
51
 
56
52
  /* -----------------------------------------------------------------------------
57
53
  * Exports
58
54
  * -------------------------------------------------------------------------- */
59
55
 
60
- export { ScrollArea, ScrollBar };
56
+ export { ScrollArea, ScrollAreaScrollbar, type ScrollAreaProps, type ScrollAreaScrollbarProps };
package/src/section.tsx CHANGED
@@ -5,20 +5,22 @@ import { Slot } from "@radix-ui/react-slot";
5
5
  * Component: Section
6
6
  * -------------------------------------------------------------------------- */
7
7
 
8
- const Section = React.forwardRef<
9
- HTMLElement,
10
- React.HTMLAttributes<HTMLElement> & {
11
- asChild?: boolean;
12
- }
13
- >(({ asChild, ...props }, ref) => {
8
+ type SectionElement = HTMLElement;
9
+
10
+ interface SectionProps extends React.HTMLAttributes<HTMLElement> {
11
+ asChild?: boolean;
12
+ }
13
+
14
+ const Section = React.forwardRef<SectionElement, SectionProps>(({ asChild, ...props }, ref) => {
14
15
  const Comp = asChild ? Slot : "section";
15
16
 
16
17
  return <Comp ref={ref} {...props} />;
17
18
  });
19
+
18
20
  Section.displayName = "Section";
19
21
 
20
22
  /* -----------------------------------------------------------------------------
21
23
  * Exports
22
24
  * -------------------------------------------------------------------------- */
23
25
 
24
- export { Section };
26
+ export { Section, type SectionProps };
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,147 +9,153 @@ import { cn } from "./utils";
14
9
  * Component: Select
15
10
  * -------------------------------------------------------------------------- */
16
11
 
12
+ type SelectProps = React.ComponentProps<typeof SelectPrimitive.Root>;
17
13
  const Select = SelectPrimitive.Root;
18
14
 
19
15
  /* -----------------------------------------------------------------------------
20
16
  * Component: SelectGroup
21
17
  * -------------------------------------------------------------------------- */
22
18
 
19
+ type SelectGroupProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Group>;
23
20
  const SelectGroup = SelectPrimitive.Group;
24
21
 
25
22
  /* -----------------------------------------------------------------------------
26
23
  * Component: SelectValue
27
24
  * -------------------------------------------------------------------------- */
28
25
 
26
+ type SelectValueProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Value>;
29
27
  const SelectValue = SelectPrimitive.Value;
30
28
 
31
29
  /* -----------------------------------------------------------------------------
32
30
  * Component: SelectTrigger
33
31
  * -------------------------------------------------------------------------- */
34
32
 
35
- const SelectTrigger = React.forwardRef<
36
- React.ElementRef<typeof SelectPrimitive.Trigger>,
37
- SelectPrimitive.SelectTriggerProps
38
- >(({ className, children, ...props }, ref) => (
39
- <SelectPrimitive.Trigger
40
- ref={ref}
41
- className={cn(
42
- "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",
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
- ));
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
+
53
55
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
54
56
 
55
57
  /* -----------------------------------------------------------------------------
56
58
  * Component: SelectScrollUpButton
57
59
  * -------------------------------------------------------------------------- */
58
60
 
59
- const SelectScrollUpButton = React.forwardRef<
60
- React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,
61
- SelectPrimitive.SelectScrollUpButtonProps
62
- >(({ className, ...props }, ref) => (
63
- <SelectPrimitive.ScrollUpButton
64
- ref={ref}
65
- className={cn(
66
- "flex cursor-default items-center justify-center py-1",
67
- className,
68
- )}
69
- {...props}
70
- >
71
- <ChevronUpIcon />
72
- </SelectPrimitive.ScrollUpButton>
73
- ));
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
+
74
76
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
75
77
 
76
78
  /* -----------------------------------------------------------------------------
77
79
  * Component: SelectScrollDownButton
78
80
  * -------------------------------------------------------------------------- */
79
81
 
80
- const SelectScrollDownButton = React.forwardRef<
81
- React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,
82
- SelectPrimitive.SelectScrollDownButtonProps
83
- >(({ className, ...props }, ref) => (
84
- <SelectPrimitive.ScrollDownButton
85
- ref={ref}
86
- className={cn(
87
- "flex cursor-default items-center justify-center py-1",
88
- className,
89
- )}
90
- {...props}
91
- >
92
- <ChevronDownIcon />
93
- </SelectPrimitive.ScrollDownButton>
94
- ));
95
- SelectScrollDownButton.displayName =
96
- 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;
97
98
 
98
99
  /* -----------------------------------------------------------------------------
99
100
  * Component: SelectContent
100
101
  * -------------------------------------------------------------------------- */
101
102
 
102
- const SelectContent = React.forwardRef<
103
- React.ElementRef<typeof SelectPrimitive.Content>,
104
- SelectPrimitive.SelectContentProps
105
- >(({ className, children, position = "popper", ...props }, ref) => (
106
- <SelectPrimitive.Portal>
107
- <SelectPrimitive.Content
108
- ref={ref}
109
- className={cn(
110
- "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",
111
- position === "popper" &&
112
- "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
113
- className,
114
- )}
115
- position={position}
116
- {...props}
117
- >
118
- <SelectScrollUpButton />
119
- <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}
120
111
  className={cn(
121
- "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",
122
113
  position === "popper" &&
123
- "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,
124
116
  )}
117
+ position={position}
118
+ {...props}
125
119
  >
126
- {children}
127
- </SelectPrimitive.Viewport>
128
- <SelectScrollDownButton />
129
- </SelectPrimitive.Content>
130
- </SelectPrimitive.Portal>
131
- ));
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
+
132
136
  SelectContent.displayName = SelectPrimitive.Content.displayName;
133
137
 
134
138
  /* -----------------------------------------------------------------------------
135
139
  * Component: SelectLabel
136
140
  * -------------------------------------------------------------------------- */
137
141
 
138
- const SelectLabel = React.forwardRef<
139
- React.ElementRef<typeof SelectPrimitive.Label>,
140
- SelectPrimitive.SelectLabelProps
141
- >(({ className, ...props }, ref) => (
142
- <SelectPrimitive.Label
143
- ref={ref}
144
- className={cn("px-2 py-1.5 text-sm font-semibold", className)}
145
- {...props}
146
- />
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} />
147
147
  ));
148
+
148
149
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
149
150
 
150
151
  /* -----------------------------------------------------------------------------
151
152
  * Component: SelectItem
152
153
  * -------------------------------------------------------------------------- */
153
154
 
154
- const SelectItem = React.forwardRef<
155
- React.ElementRef<typeof SelectPrimitive.Item>,
156
- SelectPrimitive.SelectItemProps
157
- >(({ 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) => (
158
159
  <SelectPrimitive.Item
159
160
  ref={ref}
160
161
  className={cn(
@@ -171,22 +172,22 @@ const SelectItem = React.forwardRef<
171
172
  <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>
172
173
  </SelectPrimitive.Item>
173
174
  ));
175
+
174
176
  SelectItem.displayName = SelectPrimitive.Item.displayName;
175
177
 
176
178
  /* -----------------------------------------------------------------------------
177
179
  * Component: SelectSeparator
178
180
  * -------------------------------------------------------------------------- */
179
181
 
180
- const SelectSeparator = React.forwardRef<
181
- React.ElementRef<typeof SelectPrimitive.Separator>,
182
- SelectPrimitive.SelectSeparatorProps
183
- >(({ className, ...props }, ref) => (
184
- <SelectPrimitive.Separator
185
- ref={ref}
186
- className={cn("bg-muted -mx-1 my-1 h-px", className)}
187
- {...props}
188
- />
189
- ));
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
+
190
191
  SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
191
192
 
192
193
  /* -----------------------------------------------------------------------------
@@ -204,4 +205,14 @@ export {
204
205
  SelectSeparator,
205
206
  SelectScrollUpButton,
206
207
  SelectScrollDownButton,
208
+ type SelectProps,
209
+ type SelectGroupProps,
210
+ type SelectValueProps,
211
+ type SelectTriggerProps,
212
+ type SelectContentProps,
213
+ type SelectLabelProps,
214
+ type SelectItemProps,
215
+ type SelectSeparatorProps,
216
+ type SelectScrollUpButtonProps,
217
+ type SelectScrollDownButtonProps,
207
218
  };