@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/accordion.tsx CHANGED
@@ -9,68 +9,78 @@ import { cn } from "./utils";
9
9
  * Component: Accordion
10
10
  * -------------------------------------------------------------------------- */
11
11
 
12
- type AccordionProps = React.ComponentProps<typeof AccordionPrimitive.Root>;
12
+ type AccordionProps = React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Root>;
13
13
  const Accordion = AccordionPrimitive.Root;
14
14
 
15
15
  /* -----------------------------------------------------------------------------
16
16
  * Component: AccordionItem
17
17
  * -------------------------------------------------------------------------- */
18
18
 
19
- type AccordionItemProps = AccordionPrimitive.AccordionItemProps;
20
- const AccordionItem = React.forwardRef<
21
- React.ElementRef<typeof AccordionPrimitive.Item>,
22
- AccordionItemProps
23
- >(({ className, ...props }, ref) => (
24
- <AccordionPrimitive.Item
25
- ref={ref}
26
- className={cn("border-b", className)}
27
- {...props}
28
- />
19
+ type AccordionItemElement = React.ElementRef<typeof AccordionPrimitive.Item>;
20
+ type AccordionItemProps = React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>;
21
+
22
+ const AccordionItem = React.forwardRef<AccordionItemElement, AccordionItemProps>(({ className, ...props }, ref) => (
23
+ <AccordionPrimitive.Item ref={ref} className={cn("border-b", className)} {...props} />
29
24
  ));
25
+
30
26
  AccordionItem.displayName = AccordionPrimitive.Item.displayName;
31
27
 
32
28
  /* -----------------------------------------------------------------------------
33
29
  * Component: AccordionTrigger
34
30
  * -------------------------------------------------------------------------- */
35
31
 
36
- type AccordionTriggerProps = AccordionPrimitive.AccordionTriggerProps;
37
- const AccordionTrigger = React.forwardRef<
38
- React.ElementRef<typeof AccordionPrimitive.Trigger>,
39
- AccordionTriggerProps
40
- >(({ className, children, ...props }, ref) => (
41
- <AccordionPrimitive.Header className="flex">
42
- <AccordionPrimitive.Trigger
43
- ref={ref}
44
- className={cn(
45
- "flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
46
- className,
47
- )}
48
- {...props}
49
- >
50
- {children}
51
- <ChevronDownIcon className="text-muted-foreground size-4 shrink-0 transition-transform duration-200" />
52
- </AccordionPrimitive.Trigger>
53
- </AccordionPrimitive.Header>
54
- ));
32
+ type AccordionTriggerElement = React.ElementRef<typeof AccordionPrimitive.Trigger>;
33
+ type AccordionTriggerProps = React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>;
34
+
35
+ const AccordionTrigger = React.forwardRef<AccordionTriggerElement, AccordionTriggerProps>(
36
+ ({ className, children, ...props }, ref) => (
37
+ <AccordionPrimitive.Header className="flex">
38
+ <AccordionPrimitive.Trigger
39
+ ref={ref}
40
+ className={cn(
41
+ "group flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all",
42
+ "hover:underline",
43
+ className,
44
+ )}
45
+ {...props}
46
+ >
47
+ {children}
48
+ <ChevronDownIcon
49
+ className={cn(
50
+ "text-muted-foreground size-4 shrink-0 transition-transform duration-200",
51
+ "group-data-[state=open]:rotate-180",
52
+ )}
53
+ />
54
+ </AccordionPrimitive.Trigger>
55
+ </AccordionPrimitive.Header>
56
+ ),
57
+ );
58
+
55
59
  AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
56
60
 
57
61
  /* -----------------------------------------------------------------------------
58
62
  * Component: AccordionContent
59
63
  * -------------------------------------------------------------------------- */
60
64
 
61
- type AccordionContentProps = AccordionPrimitive.AccordionContentProps;
62
- const AccordionContent = React.forwardRef<
63
- React.ElementRef<typeof AccordionPrimitive.Content>,
64
- AccordionContentProps
65
- >(({ className, children, ...props }, ref) => (
66
- <AccordionPrimitive.Content
67
- ref={ref}
68
- className="data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm"
69
- {...props}
70
- >
71
- <div className={cn("pb-4 pt-0", className)}>{children}</div>
72
- </AccordionPrimitive.Content>
73
- ));
65
+ type AccordionContentElement = React.ElementRef<typeof AccordionPrimitive.Content>;
66
+ type AccordionContentProps = React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>;
67
+
68
+ const AccordionContent = React.forwardRef<AccordionContentElement, AccordionContentProps>(
69
+ ({ className, children, ...props }, ref) => (
70
+ <AccordionPrimitive.Content
71
+ ref={ref}
72
+ className={cn(
73
+ "overflow-hidden text-sm",
74
+ "data-[state=open]:animate-accordion-down",
75
+ "data-[state=closed]:animate-accordion-up",
76
+ )}
77
+ {...props}
78
+ >
79
+ <div className={cn("pb-4 pt-0", className)}>{children}</div>
80
+ </AccordionPrimitive.Content>
81
+ ),
82
+ );
83
+
74
84
  AccordionContent.displayName = AccordionPrimitive.Content.displayName;
75
85
 
76
86
  /* -----------------------------------------------------------------------------
@@ -9,37 +9,49 @@ import { cn } from "./utils";
9
9
  * Component: AlertDialog
10
10
  * -------------------------------------------------------------------------- */
11
11
 
12
- type AlertDialogProps = AlertDialogPrimitive.AlertDialogProps;
12
+ type AlertDialogProps = React.ComponentProps<typeof AlertDialogPrimitive.Root>;
13
13
  const AlertDialog = AlertDialogPrimitive.Root;
14
14
 
15
15
  /* -----------------------------------------------------------------------------
16
16
  * Component: AlertDialogTrigger
17
17
  * -------------------------------------------------------------------------- */
18
18
 
19
- type AlertDialogTriggerProps = AlertDialogPrimitive.AlertDialogTriggerProps;
19
+ type AlertDialogTriggerProps = React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Trigger>;
20
20
  const AlertDialogTrigger = AlertDialogPrimitive.Trigger;
21
21
 
22
22
  /* -----------------------------------------------------------------------------
23
23
  * Component: AlertDialogContent
24
24
  * -------------------------------------------------------------------------- */
25
25
 
26
- type AlertDialogContentProps = AlertDialogPrimitive.AlertDialogContentProps;
27
- const AlertDialogContent = React.forwardRef<
28
- React.ElementRef<typeof AlertDialogPrimitive.Content>,
29
- AlertDialogContentProps
30
- >(({ className, ...props }, ref) => (
31
- <AlertDialogPrimitive.Portal>
32
- <AlertDialogPrimitive.Overlay className="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" />
33
- <AlertDialogPrimitive.Content
34
- ref={ref}
35
- className={cn(
36
- "bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-1/3 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-1/3 fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border p-6 shadow-lg duration-200 focus:outline-none sm:rounded-lg",
37
- className,
38
- )}
39
- {...props}
40
- />
41
- </AlertDialogPrimitive.Portal>
42
- ));
26
+ type AlertDialogContentElement = React.ElementRef<typeof AlertDialogPrimitive.Content>;
27
+ type AlertDialogContentProps = React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>;
28
+
29
+ const AlertDialogContent = React.forwardRef<AlertDialogContentElement, AlertDialogContentProps>(
30
+ ({ className, ...props }, ref) => (
31
+ <AlertDialogPrimitive.Portal>
32
+ <AlertDialogPrimitive.Overlay
33
+ className={cn(
34
+ "fixed inset-0 z-50 bg-black/80",
35
+ "data-[state=open]:animate-in data-[state=open]:fade-in-0",
36
+ "data-[state=closed]:animate-out data-[state=closed]:fade-out-0",
37
+ )}
38
+ />
39
+ <AlertDialogPrimitive.Content
40
+ ref={ref}
41
+ className={cn(
42
+ "bg-background fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border p-6 shadow-lg duration-200",
43
+ "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-1/3",
44
+ "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-1/3",
45
+ "focus:outline-none",
46
+ "sm:rounded-lg",
47
+ className,
48
+ )}
49
+ {...props}
50
+ />
51
+ </AlertDialogPrimitive.Portal>
52
+ ),
53
+ );
54
+
43
55
  AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
44
56
 
45
57
  /* -----------------------------------------------------------------------------
@@ -47,19 +59,9 @@ AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
47
59
  * -------------------------------------------------------------------------- */
48
60
 
49
61
  type AlertDialogHeaderProps = React.HTMLAttributes<HTMLDivElement>;
50
- function AlertDialogHeader({
51
- className,
52
- ...props
53
- }: AlertDialogHeaderProps): React.JSX.Element {
54
- return (
55
- <div
56
- className={cn(
57
- "flex flex-col space-y-2 text-center sm:text-left",
58
- className,
59
- )}
60
- {...props}
61
- />
62
- );
62
+
63
+ function AlertDialogHeader({ className, ...props }: AlertDialogHeaderProps): React.JSX.Element {
64
+ return <div className={cn("flex flex-col space-y-2 text-center", "sm:text-left", className)} {...props} />;
63
65
  }
64
66
 
65
67
  /* -----------------------------------------------------------------------------
@@ -67,89 +69,68 @@ function AlertDialogHeader({
67
69
  * -------------------------------------------------------------------------- */
68
70
 
69
71
  type AlertDialogFooterProps = React.HTMLAttributes<HTMLDivElement>;
70
- function AlertDialogFooter({
71
- className,
72
- ...props
73
- }: AlertDialogFooterProps): React.JSX.Element {
74
- return (
75
- <div
76
- className={cn(
77
- "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
78
- className,
79
- )}
80
- {...props}
81
- />
82
- );
72
+
73
+ function AlertDialogFooter({ className, ...props }: AlertDialogFooterProps): React.JSX.Element {
74
+ return <div className={cn("flex flex-col-reverse gap-2", "sm:flex-row sm:justify-end", className)} {...props} />;
83
75
  }
84
76
 
85
77
  /* -----------------------------------------------------------------------------
86
78
  * Component: AlertDialogTitle
87
79
  * -------------------------------------------------------------------------- */
88
80
 
89
- type AlertDialogTitleProps = AlertDialogPrimitive.AlertDialogTitleProps;
90
- const AlertDialogTitle = React.forwardRef<
91
- React.ElementRef<typeof AlertDialogPrimitive.Title>,
92
- AlertDialogTitleProps
93
- >(({ className, ...props }, ref) => (
94
- <AlertDialogPrimitive.Title
95
- ref={ref}
96
- className={cn("text-lg font-semibold", className)}
97
- {...props}
98
- />
99
- ));
81
+ type AlertDialogTitleElement = React.ElementRef<typeof AlertDialogPrimitive.Title>;
82
+ type AlertDialogTitleProps = React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>;
83
+
84
+ const AlertDialogTitle = React.forwardRef<AlertDialogTitleElement, AlertDialogTitleProps>(
85
+ ({ className, ...props }, ref) => (
86
+ <AlertDialogPrimitive.Title ref={ref} className={cn("text-lg font-semibold", className)} {...props} />
87
+ ),
88
+ );
89
+
100
90
  AlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName;
101
91
 
102
92
  /* -----------------------------------------------------------------------------
103
93
  * Component: AlertDialogDescription
104
94
  * -------------------------------------------------------------------------- */
105
95
 
106
- type AlertDialogDescriptionProps =
107
- AlertDialogPrimitive.AlertDialogDescriptionProps;
108
- const AlertDialogDescription = React.forwardRef<
109
- React.ElementRef<typeof AlertDialogPrimitive.Description>,
110
- AlertDialogDescriptionProps
111
- >(({ className, ...props }, ref) => (
112
- <AlertDialogPrimitive.Description
113
- ref={ref}
114
- className={cn("text-muted-foreground text-sm", className)}
115
- {...props}
116
- />
117
- ));
118
- AlertDialogDescription.displayName =
119
- AlertDialogPrimitive.Description.displayName;
96
+ type AlertDialogDescriptionElement = React.ElementRef<typeof AlertDialogPrimitive.Description>;
97
+ type AlertDialogDescriptionProps = React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>;
98
+
99
+ const AlertDialogDescription = React.forwardRef<AlertDialogDescriptionElement, AlertDialogDescriptionProps>(
100
+ ({ className, ...props }, ref) => (
101
+ <AlertDialogPrimitive.Description ref={ref} className={cn("text-muted-foreground text-sm", className)} {...props} />
102
+ ),
103
+ );
104
+
105
+ AlertDialogDescription.displayName = AlertDialogPrimitive.Description.displayName;
120
106
 
121
107
  /* -----------------------------------------------------------------------------
122
108
  * Component: AlertDialogAction
123
109
  * -------------------------------------------------------------------------- */
124
110
 
125
- type AlertDialogActionProps = AlertDialogPrimitive.AlertDialogActionProps;
126
- const AlertDialogAction = React.forwardRef<
127
- React.ElementRef<typeof AlertDialogPrimitive.Action>,
128
- AlertDialogActionProps
129
- >(({ className, ...props }, ref) => (
130
- <AlertDialogPrimitive.Action
131
- ref={ref}
132
- className={buttonVariants({ className })}
133
- {...props}
134
- />
135
- ));
111
+ type AlertDialogActionElement = React.ElementRef<typeof AlertDialogPrimitive.Action>;
112
+ type AlertDialogActionProps = React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action>;
113
+
114
+ const AlertDialogAction = React.forwardRef<AlertDialogActionElement, AlertDialogActionProps>(
115
+ ({ className, ...props }, ref) => (
116
+ <AlertDialogPrimitive.Action ref={ref} className={buttonVariants({ className })} {...props} />
117
+ ),
118
+ );
119
+
136
120
  AlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName;
137
121
 
138
122
  /* -----------------------------------------------------------------------------
139
123
  * Component: AlertDialogCancel
140
124
  * -------------------------------------------------------------------------- */
141
125
 
142
- type AlertDialogCancelProps = AlertDialogPrimitive.AlertDialogCancelProps;
143
- const AlertDialogCancel = React.forwardRef<
144
- React.ElementRef<typeof AlertDialogPrimitive.Cancel>,
145
- AlertDialogCancelProps
146
- >(({ className, ...props }, ref) => (
147
- <AlertDialogPrimitive.Cancel
148
- ref={ref}
149
- className={buttonVariants({ variant: "outline", className })}
150
- {...props}
151
- />
152
- ));
126
+ type AlertDialogCancelElement = React.ElementRef<typeof AlertDialogPrimitive.Cancel>;
127
+ type AlertDialogCancelProps = React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel>;
128
+
129
+ const AlertDialogCancel = React.forwardRef<AlertDialogCancelElement, AlertDialogCancelProps>(
130
+ ({ className, ...props }, ref) => (
131
+ <AlertDialogPrimitive.Cancel ref={ref} className={buttonVariants({ variant: "outline", className })} {...props} />
132
+ ),
133
+ );
153
134
  AlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName;
154
135
 
155
136
  /* -----------------------------------------------------------------------------
package/src/alert.tsx CHANGED
@@ -11,8 +11,7 @@ const alertVariants = cva({
11
11
  variants: {
12
12
  variant: {
13
13
  default: "bg-background text-foreground [&>svg]:text-foreground",
14
- destructive:
15
- "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive",
14
+ destructive: "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive",
16
15
  },
17
16
  },
18
17
  defaultVariants: {
@@ -26,63 +25,47 @@ type AlertVariantsProps = VariantProps<typeof alertVariants>;
26
25
  * Component: Alert
27
26
  * -------------------------------------------------------------------------- */
28
27
 
28
+ type AlertElement = HTMLDivElement;
29
29
  type AlertProps = React.HTMLAttributes<HTMLDivElement> & AlertVariantsProps;
30
- const Alert = React.forwardRef<HTMLDivElement, AlertProps>(
31
- ({ className, variant, ...props }, ref) => (
32
- <div
33
- ref={ref}
34
- role="alert"
35
- className={alertVariants({ variant, className })}
36
- {...props}
37
- />
38
- ),
39
- );
30
+
31
+ const Alert = React.forwardRef<AlertElement, AlertProps>(({ className, variant, ...props }, ref) => (
32
+ <div ref={ref} role="alert" className={alertVariants({ variant, className })} {...props} />
33
+ ));
34
+
40
35
  Alert.displayName = "Alert";
41
36
 
42
37
  /* -----------------------------------------------------------------------------
43
38
  * Component: AlertTitle
44
39
  * -------------------------------------------------------------------------- */
45
40
 
41
+ type AlertTitleElement = HTMLHeadingElement;
46
42
  type AlertTitleProps = React.HTMLAttributes<HTMLHeadingElement>;
47
- const AlertTitle = React.forwardRef<HTMLHeadingElement, AlertTitleProps>(
48
- ({ className, children, ...props }, ref) => (
49
- <h5
50
- ref={ref}
51
- className={cn("mb-1 font-medium leading-none tracking-tight", className)}
52
- {...props}
53
- >
54
- {children}
55
- </h5>
56
- ),
57
- );
43
+
44
+ const AlertTitle = React.forwardRef<AlertTitleElement, AlertTitleProps>(({ className, children, ...props }, ref) => (
45
+ <h5 ref={ref} className={cn("mb-1 font-medium leading-none tracking-tight", className)} {...props}>
46
+ {children}
47
+ </h5>
48
+ ));
49
+
58
50
  AlertTitle.displayName = "AlertTitle";
59
51
 
60
52
  /* -----------------------------------------------------------------------------
61
53
  * Component: AlertDescription
62
54
  * -------------------------------------------------------------------------- */
63
55
 
56
+ type AlertDescriptionElement = HTMLDivElement;
64
57
  type AlertDescriptionProps = React.HTMLAttributes<HTMLDivElement>;
65
- const AlertDescription = React.forwardRef<
66
- HTMLDivElement,
67
- AlertDescriptionProps
68
- >(({ className, ...props }, ref) => (
69
- <div
70
- ref={ref}
71
- className={cn("text-sm [&_p]:leading-relaxed", className)}
72
- {...props}
73
- />
74
- ));
58
+
59
+ const AlertDescription = React.forwardRef<AlertDescriptionElement, AlertDescriptionProps>(
60
+ ({ className, ...props }, ref) => (
61
+ <div ref={ref} className={cn("text-sm [&_p]:leading-relaxed", className)} {...props} />
62
+ ),
63
+ );
64
+
75
65
  AlertDescription.displayName = "AlertDescription";
76
66
 
77
67
  /* -----------------------------------------------------------------------------
78
68
  * Exports
79
69
  * -------------------------------------------------------------------------- */
80
70
 
81
- export {
82
- Alert,
83
- AlertTitle,
84
- AlertDescription,
85
- type AlertProps,
86
- type AlertTitleProps,
87
- type AlertDescriptionProps,
88
- };
71
+ export { Alert, AlertTitle, AlertDescription, type AlertProps, type AlertTitleProps, type AlertDescriptionProps };
@@ -1,12 +1,13 @@
1
1
  "use client";
2
2
 
3
+ import type * as React from "react";
3
4
  import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
4
5
 
5
6
  /* -----------------------------------------------------------------------------
6
7
  * Component: AspectRatio
7
8
  * -------------------------------------------------------------------------- */
8
9
 
9
- type AspectRatioProps = AspectRatioPrimitive.AspectRatioProps;
10
+ type AspectRatioProps = React.ComponentPropsWithoutRef<typeof AspectRatioPrimitive.Root>;
10
11
  const AspectRatio = AspectRatioPrimitive.Root;
11
12
 
12
13
  /* -----------------------------------------------------------------------------
package/src/avatar.tsx CHANGED
@@ -8,68 +8,51 @@ import { cn } from "./utils";
8
8
  * Component: Avatar
9
9
  * -------------------------------------------------------------------------- */
10
10
 
11
- type AvatarProps = AvatarPrimitive.AvatarProps;
12
- const Avatar = React.forwardRef<
13
- React.ElementRef<typeof AvatarPrimitive.Root>,
14
- AvatarPrimitive.AvatarProps
15
- >(({ className, ...props }, ref) => (
11
+ type AvatarElement = React.ElementRef<typeof AvatarPrimitive.Root>;
12
+ type AvatarProps = React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>;
13
+
14
+ const Avatar = React.forwardRef<AvatarElement, AvatarProps>(({ className, ...props }, ref) => (
16
15
  <AvatarPrimitive.Root
17
16
  ref={ref}
18
- className={cn(
19
- "relative flex size-10 shrink-0 overflow-hidden rounded-full",
20
- className,
21
- )}
17
+ className={cn("relative flex size-10 shrink-0 overflow-hidden rounded-full", className)}
22
18
  {...props}
23
19
  />
24
20
  ));
21
+
25
22
  Avatar.displayName = AvatarPrimitive.Root.displayName;
26
23
 
27
24
  /* -----------------------------------------------------------------------------
28
25
  * Component: AvatarImage
29
26
  * -------------------------------------------------------------------------- */
30
27
 
31
- type AvatarImageProps = AvatarPrimitive.AvatarImageProps;
32
- const AvatarImage = React.forwardRef<
33
- React.ElementRef<typeof AvatarPrimitive.Image>,
34
- AvatarImageProps
35
- >(({ className, ...props }, ref) => (
36
- <AvatarPrimitive.Image
37
- ref={ref}
38
- className={cn("aspect-square h-full w-full", className)}
39
- {...props}
40
- />
28
+ type AvatarImageElement = React.ElementRef<typeof AvatarPrimitive.Image>;
29
+ type AvatarImageProps = React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>;
30
+
31
+ const AvatarImage = React.forwardRef<AvatarImageElement, AvatarImageProps>(({ className, ...props }, ref) => (
32
+ <AvatarPrimitive.Image ref={ref} className={cn("aspect-square size-full", className)} {...props} />
41
33
  ));
34
+
42
35
  AvatarImage.displayName = AvatarPrimitive.Image.displayName;
43
36
 
44
37
  /* -----------------------------------------------------------------------------
45
38
  * Component: AvatarFallback
46
39
  * -------------------------------------------------------------------------- */
47
40
 
48
- type AvatarFallbackProps = AvatarPrimitive.AvatarFallbackProps;
49
- const AvatarFallback = React.forwardRef<
50
- React.ElementRef<typeof AvatarPrimitive.Fallback>,
51
- AvatarFallbackProps
52
- >(({ className, ...props }, ref) => (
41
+ type AvatarFallbackElement = React.ElementRef<typeof AvatarPrimitive.Fallback>;
42
+ type AvatarFallbackProps = React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>;
43
+
44
+ const AvatarFallback = React.forwardRef<AvatarFallbackElement, AvatarFallbackProps>(({ className, ...props }, ref) => (
53
45
  <AvatarPrimitive.Fallback
54
46
  ref={ref}
55
- className={cn(
56
- "bg-muted flex h-full w-full items-center justify-center rounded-full",
57
- className,
58
- )}
47
+ className={cn("bg-muted flex size-full items-center justify-center rounded-full", className)}
59
48
  {...props}
60
49
  />
61
50
  ));
51
+
62
52
  AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
63
53
 
64
54
  /* -----------------------------------------------------------------------------
65
55
  * Exports
66
56
  * -------------------------------------------------------------------------- */
67
57
 
68
- export {
69
- Avatar,
70
- AvatarImage,
71
- AvatarFallback,
72
- type AvatarProps,
73
- type AvatarImageProps,
74
- type AvatarFallbackProps,
75
- };
58
+ export { Avatar, AvatarImage, AvatarFallback, type AvatarProps, type AvatarImageProps, type AvatarFallbackProps };
package/src/badge.tsx CHANGED
@@ -12,8 +12,7 @@ const badgeVariants = cva({
12
12
  variant: {
13
13
  default: "bg-primary text-primary-foreground border-transparent shadow",
14
14
  secondary: "bg-secondary text-secondary-foreground border-transparent",
15
- destructive:
16
- "bg-destructive text-destructive-foreground border-transparent shadow",
15
+ destructive: "bg-destructive text-destructive-foreground border-transparent shadow",
17
16
  outline: "text-foreground",
18
17
  },
19
18
  },
@@ -29,11 +28,8 @@ type BadgeVariantsProps = VariantProps<typeof badgeVariants>;
29
28
  * -------------------------------------------------------------------------- */
30
29
 
31
30
  type BadgeProps = React.HTMLAttributes<HTMLDivElement> & BadgeVariantsProps;
32
- function Badge({
33
- className,
34
- variant,
35
- ...props
36
- }: BadgeProps): React.JSX.Element {
31
+
32
+ function Badge({ className, variant, ...props }: BadgeProps): React.JSX.Element {
37
33
  return <div className={badgeVariants({ variant, className })} {...props} />;
38
34
  }
39
35
 
@@ -5,17 +5,18 @@ import { Slot } from "@radix-ui/react-slot";
5
5
  * Component: Blockquote
6
6
  * -------------------------------------------------------------------------- */
7
7
 
8
- interface BlockquoteProps
9
- extends React.BlockquoteHTMLAttributes<HTMLQuoteElement> {
8
+ type BlockquoteElement = HTMLQuoteElement;
9
+
10
+ interface BlockquoteProps extends React.BlockquoteHTMLAttributes<HTMLQuoteElement> {
10
11
  asChild?: boolean;
11
12
  }
12
- const Blockquote = React.forwardRef<HTMLQuoteElement, BlockquoteProps>(
13
- ({ asChild, ...props }, ref) => {
14
- const Comp = asChild ? Slot : "blockquote";
15
13
 
16
- return <Comp ref={ref} {...props} />;
17
- },
18
- );
14
+ const Blockquote = React.forwardRef<BlockquoteElement, BlockquoteProps>(({ asChild, ...props }, ref) => {
15
+ const Component = asChild ? Slot : "blockquote";
16
+
17
+ return <Component ref={ref} {...props} />;
18
+ });
19
+
19
20
  Blockquote.displayName = "Blockquote";
20
21
 
21
22
  /* -----------------------------------------------------------------------------
package/src/box.tsx CHANGED
@@ -5,6 +5,8 @@ import { Slot } from "@radix-ui/react-slot";
5
5
  * Component: Box
6
6
  * -------------------------------------------------------------------------- */
7
7
 
8
+ type BoxElement = HTMLDivElement;
9
+
8
10
  interface BoxDivProps extends React.HTMLAttributes<HTMLDivElement> {
9
11
  as?: "div";
10
12
  }
@@ -17,13 +19,12 @@ type BoxProps = (BoxDivProps | BoxSpanProps) & {
17
19
  asChild?: boolean;
18
20
  };
19
21
 
20
- const Box = React.forwardRef<HTMLDivElement, BoxProps>(
21
- ({ as: Tag = "div", asChild, ...props }, ref) => {
22
- const Comp = asChild ? Slot : Tag;
22
+ const Box = React.forwardRef<BoxElement, BoxProps>(({ as: Tag = "div", asChild, ...props }, ref) => {
23
+ const Component = asChild ? Slot : Tag;
24
+
25
+ return <Component ref={ref} {...props} />;
26
+ });
23
27
 
24
- return <Comp ref={ref} {...props} />;
25
- },
26
- );
27
28
  Box.displayName = "Box";
28
29
 
29
30
  /* -----------------------------------------------------------------------------