@codefast/ui 0.0.40 → 0.0.42

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 (387) hide show
  1. package/dist/{chunk-EVN2IB57.js → chunk-6EAQQBWG.js} +2 -2
  2. package/dist/chunk-6EAQQBWG.js.map +1 -0
  3. package/dist/{chunk-YR36SVVG.mjs → chunk-7HJV22OF.mjs} +1 -1
  4. package/dist/chunk-7HJV22OF.mjs.map +1 -0
  5. package/dist/{chunk-5WJB3UAO.js → chunk-CERSQE5J.js} +1 -1
  6. package/dist/chunk-CERSQE5J.js.map +1 -0
  7. package/dist/{chunk-UPZHCTQV.js → chunk-ELWITZPX.js} +2 -2
  8. package/dist/chunk-ELWITZPX.js.map +1 -0
  9. package/dist/{chunk-WLMYX3C7.mjs → chunk-GDMHMSJ2.mjs} +2 -2
  10. package/dist/chunk-GDMHMSJ2.mjs.map +1 -0
  11. package/dist/{chunk-UJJZZCAC.js → chunk-HQ4AUOQM.js} +1 -1
  12. package/dist/{chunk-UJJZZCAC.js.map → chunk-HQ4AUOQM.js.map} +1 -1
  13. package/dist/{chunk-HLXU3SQI.mjs → chunk-HWEFQSTC.mjs} +1 -1
  14. package/dist/chunk-HWEFQSTC.mjs.map +1 -0
  15. package/dist/{chunk-JTAXNFUM.mjs → chunk-HX5YKP4E.mjs} +2 -2
  16. package/dist/chunk-HX5YKP4E.mjs.map +1 -0
  17. package/dist/{chunk-PLX35IKX.mjs → chunk-I6QCJDIF.mjs} +1 -1
  18. package/dist/chunk-I6QCJDIF.mjs.map +1 -0
  19. package/dist/{chunk-466PAJCA.mjs → chunk-LEUB3C3L.mjs} +1 -1
  20. package/dist/chunk-LEUB3C3L.mjs.map +1 -0
  21. package/dist/{chunk-KJ77RPJ4.mjs → chunk-M5UKNISJ.mjs} +2 -2
  22. package/dist/chunk-M5UKNISJ.mjs.map +1 -0
  23. package/dist/{chunk-EYERINEJ.js → chunk-MZJL73RI.js} +1 -1
  24. package/dist/chunk-MZJL73RI.js.map +1 -0
  25. package/dist/{chunk-JCMRDCFT.js → chunk-NH6X3FON.js} +1 -1
  26. package/dist/{chunk-JCMRDCFT.js.map → chunk-NH6X3FON.js.map} +1 -1
  27. package/dist/{chunk-UDNWQQ3I.js → chunk-NSK74YTM.js} +2 -2
  28. package/dist/chunk-NSK74YTM.js.map +1 -0
  29. package/dist/{chunk-N6QGG4WS.mjs → chunk-P5AV3QU7.mjs} +2 -2
  30. package/dist/chunk-P5AV3QU7.mjs.map +1 -0
  31. package/dist/{chunk-GRQGCS7U.mjs → chunk-PWF46YXQ.mjs} +2 -2
  32. package/dist/chunk-PWF46YXQ.mjs.map +1 -0
  33. package/dist/{chunk-ZWGC5M4G.js → chunk-SCJ3W2VO.js} +2 -2
  34. package/dist/chunk-SCJ3W2VO.js.map +1 -0
  35. package/dist/{chunk-MSHUAEXI.js → chunk-SCPFGC2X.js} +2 -2
  36. package/dist/chunk-SCPFGC2X.js.map +1 -0
  37. package/dist/{chunk-JIHHUXA5.js → chunk-VXPAGNPJ.js} +2 -2
  38. package/dist/chunk-VXPAGNPJ.js.map +1 -0
  39. package/dist/{chunk-6B2PU2GG.mjs → chunk-WL65TBKJ.mjs} +2 -2
  40. package/dist/chunk-WL65TBKJ.mjs.map +1 -0
  41. package/dist/{chunk-4TJBMO2Y.mjs → chunk-WYYOCZNI.mjs} +2 -2
  42. package/dist/chunk-WYYOCZNI.mjs.map +1 -0
  43. package/dist/{chunk-FEE6PNWV.js → chunk-XM4Y2S5E.js} +2 -2
  44. package/dist/chunk-XM4Y2S5E.js.map +1 -0
  45. package/dist/{chunk-7PJR4WFR.mjs → chunk-ZEYIBYZP.mjs} +2 -2
  46. package/dist/chunk-ZEYIBYZP.mjs.map +1 -0
  47. package/dist/{chunk-AEWLL6A2.js → chunk-ZTEJNUH6.js} +2 -2
  48. package/dist/chunk-ZTEJNUH6.js.map +1 -0
  49. package/dist/lib/utils.js +1 -1
  50. package/dist/lib/utils.mjs +1 -1
  51. package/dist/plugin/animate.plugin.js +1 -1
  52. package/dist/plugin/animate.plugin.mjs +1 -1
  53. package/dist/plugin/base.plugin.js +1 -1
  54. package/dist/plugin/base.plugin.mjs +1 -1
  55. package/dist/plugin/perspective.plugin.js +1 -1
  56. package/dist/plugin/perspective.plugin.mjs +1 -1
  57. package/dist/react/accordion.js +1 -1
  58. package/dist/react/accordion.js.map +1 -1
  59. package/dist/react/accordion.mjs +1 -1
  60. package/dist/react/accordion.mjs.map +1 -1
  61. package/dist/react/alert-dialog.js +1 -1
  62. package/dist/react/alert-dialog.js.map +1 -1
  63. package/dist/react/alert-dialog.mjs +1 -1
  64. package/dist/react/alert-dialog.mjs.map +1 -1
  65. package/dist/react/alert.js +1 -1
  66. package/dist/react/alert.js.map +1 -1
  67. package/dist/react/alert.mjs +1 -1
  68. package/dist/react/alert.mjs.map +1 -1
  69. package/dist/react/aspect-ratio.js.map +1 -1
  70. package/dist/react/aspect-ratio.mjs.map +1 -1
  71. package/dist/react/avatar.js +1 -1
  72. package/dist/react/avatar.js.map +1 -1
  73. package/dist/react/avatar.mjs +1 -1
  74. package/dist/react/avatar.mjs.map +1 -1
  75. package/dist/react/badge.js +1 -1
  76. package/dist/react/badge.js.map +1 -1
  77. package/dist/react/badge.mjs +1 -1
  78. package/dist/react/badge.mjs.map +1 -1
  79. package/dist/react/blockquote.js.map +1 -1
  80. package/dist/react/blockquote.mjs.map +1 -1
  81. package/dist/react/box.d.mts +2 -2
  82. package/dist/react/box.d.ts +2 -2
  83. package/dist/react/box.js.map +1 -1
  84. package/dist/react/box.mjs.map +1 -1
  85. package/dist/react/breadcrumb.js +1 -1
  86. package/dist/react/breadcrumb.js.map +1 -1
  87. package/dist/react/breadcrumb.mjs +1 -1
  88. package/dist/react/breadcrumb.mjs.map +1 -1
  89. package/dist/react/button.js +1 -1
  90. package/dist/react/button.mjs +1 -1
  91. package/dist/react/calendar.js +1 -1
  92. package/dist/react/calendar.js.map +1 -1
  93. package/dist/react/calendar.mjs +1 -1
  94. package/dist/react/calendar.mjs.map +1 -1
  95. package/dist/react/card.js +1 -1
  96. package/dist/react/card.js.map +1 -1
  97. package/dist/react/card.mjs +1 -1
  98. package/dist/react/card.mjs.map +1 -1
  99. package/dist/react/carousel.d.mts +1 -1
  100. package/dist/react/carousel.d.ts +1 -1
  101. package/dist/react/carousel.js +1 -1
  102. package/dist/react/carousel.js.map +1 -1
  103. package/dist/react/carousel.mjs +1 -1
  104. package/dist/react/carousel.mjs.map +1 -1
  105. package/dist/react/checkbox-cards.js +1 -1
  106. package/dist/react/checkbox-cards.js.map +1 -1
  107. package/dist/react/checkbox-cards.mjs +1 -1
  108. package/dist/react/checkbox-cards.mjs.map +1 -1
  109. package/dist/react/checkbox-group.js +1 -1
  110. package/dist/react/checkbox-group.js.map +1 -1
  111. package/dist/react/checkbox-group.mjs +1 -1
  112. package/dist/react/checkbox-group.mjs.map +1 -1
  113. package/dist/react/checkbox-group.primitive.d.mts +8 -8
  114. package/dist/react/checkbox-group.primitive.d.ts +8 -8
  115. package/dist/react/checkbox-group.primitive.js +1 -1
  116. package/dist/react/checkbox-group.primitive.mjs +1 -1
  117. package/dist/react/checkbox.js +1 -1
  118. package/dist/react/checkbox.js.map +1 -1
  119. package/dist/react/checkbox.mjs +1 -1
  120. package/dist/react/checkbox.mjs.map +1 -1
  121. package/dist/react/code.js.map +1 -1
  122. package/dist/react/code.mjs.map +1 -1
  123. package/dist/react/collapsible.js +1 -1
  124. package/dist/react/collapsible.js.map +1 -1
  125. package/dist/react/collapsible.mjs +1 -1
  126. package/dist/react/collapsible.mjs.map +1 -1
  127. package/dist/react/command.js +1 -1
  128. package/dist/react/command.js.map +1 -1
  129. package/dist/react/command.mjs +1 -1
  130. package/dist/react/command.mjs.map +1 -1
  131. package/dist/react/container.js +1 -1
  132. package/dist/react/container.js.map +1 -1
  133. package/dist/react/container.mjs +1 -1
  134. package/dist/react/container.mjs.map +1 -1
  135. package/dist/react/context-menu.js +1 -1
  136. package/dist/react/context-menu.js.map +1 -1
  137. package/dist/react/context-menu.mjs +1 -1
  138. package/dist/react/context-menu.mjs.map +1 -1
  139. package/dist/react/data-table.d.mts +1 -1
  140. package/dist/react/data-table.d.ts +1 -1
  141. package/dist/react/data-table.js +1 -1
  142. package/dist/react/data-table.js.map +1 -1
  143. package/dist/react/data-table.mjs +1 -1
  144. package/dist/react/data-table.mjs.map +1 -1
  145. package/dist/react/dialog.js +1 -1
  146. package/dist/react/dialog.mjs +1 -1
  147. package/dist/react/drawer.js +1 -1
  148. package/dist/react/drawer.js.map +1 -1
  149. package/dist/react/drawer.mjs +1 -1
  150. package/dist/react/drawer.mjs.map +1 -1
  151. package/dist/react/dropdown-menu.js +1 -1
  152. package/dist/react/dropdown-menu.mjs +1 -1
  153. package/dist/react/em.js.map +1 -1
  154. package/dist/react/em.mjs.map +1 -1
  155. package/dist/react/form.js +1 -1
  156. package/dist/react/form.js.map +1 -1
  157. package/dist/react/form.mjs +1 -1
  158. package/dist/react/form.mjs.map +1 -1
  159. package/dist/react/heading.d.mts +1 -1
  160. package/dist/react/heading.d.ts +1 -1
  161. package/dist/react/heading.js.map +1 -1
  162. package/dist/react/heading.mjs.map +1 -1
  163. package/dist/react/hover-card.js +1 -1
  164. package/dist/react/hover-card.js.map +1 -1
  165. package/dist/react/hover-card.mjs +1 -1
  166. package/dist/react/hover-card.mjs.map +1 -1
  167. package/dist/react/input-otp.js +1 -1
  168. package/dist/react/input-otp.js.map +1 -1
  169. package/dist/react/input-otp.mjs +1 -1
  170. package/dist/react/input-otp.mjs.map +1 -1
  171. package/dist/react/input.js +1 -1
  172. package/dist/react/input.js.map +1 -1
  173. package/dist/react/input.mjs +1 -1
  174. package/dist/react/input.mjs.map +1 -1
  175. package/dist/react/kbd.js +1 -1
  176. package/dist/react/kbd.js.map +1 -1
  177. package/dist/react/kbd.mjs +1 -1
  178. package/dist/react/kbd.mjs.map +1 -1
  179. package/dist/react/label.js +1 -1
  180. package/dist/react/label.mjs +1 -1
  181. package/dist/react/menubar.js +1 -1
  182. package/dist/react/menubar.js.map +1 -1
  183. package/dist/react/menubar.mjs +1 -1
  184. package/dist/react/menubar.mjs.map +1 -1
  185. package/dist/react/navigation-menu.js +1 -1
  186. package/dist/react/navigation-menu.js.map +1 -1
  187. package/dist/react/navigation-menu.mjs +1 -1
  188. package/dist/react/navigation-menu.mjs.map +1 -1
  189. package/dist/react/pagination.d.mts +1 -1
  190. package/dist/react/pagination.d.ts +1 -1
  191. package/dist/react/pagination.js +1 -1
  192. package/dist/react/pagination.js.map +1 -1
  193. package/dist/react/pagination.mjs +1 -1
  194. package/dist/react/pagination.mjs.map +1 -1
  195. package/dist/react/popover.js +1 -1
  196. package/dist/react/popover.js.map +1 -1
  197. package/dist/react/popover.mjs +1 -1
  198. package/dist/react/popover.mjs.map +1 -1
  199. package/dist/react/pre.js.map +1 -1
  200. package/dist/react/pre.mjs.map +1 -1
  201. package/dist/react/progress.js +1 -1
  202. package/dist/react/progress.js.map +1 -1
  203. package/dist/react/progress.mjs +1 -1
  204. package/dist/react/progress.mjs.map +1 -1
  205. package/dist/react/quote.js.map +1 -1
  206. package/dist/react/quote.mjs.map +1 -1
  207. package/dist/react/radio-cards.js +1 -1
  208. package/dist/react/radio-cards.js.map +1 -1
  209. package/dist/react/radio-cards.mjs +1 -1
  210. package/dist/react/radio-cards.mjs.map +1 -1
  211. package/dist/react/radio-group.js +1 -1
  212. package/dist/react/radio-group.js.map +1 -1
  213. package/dist/react/radio-group.mjs +1 -1
  214. package/dist/react/radio-group.mjs.map +1 -1
  215. package/dist/react/radio.js +1 -1
  216. package/dist/react/radio.js.map +1 -1
  217. package/dist/react/radio.mjs +1 -1
  218. package/dist/react/radio.mjs.map +1 -1
  219. package/dist/react/resizable.js +1 -1
  220. package/dist/react/resizable.js.map +1 -1
  221. package/dist/react/resizable.mjs +1 -1
  222. package/dist/react/resizable.mjs.map +1 -1
  223. package/dist/react/scroll-area.js +1 -1
  224. package/dist/react/scroll-area.js.map +1 -1
  225. package/dist/react/scroll-area.mjs +1 -1
  226. package/dist/react/scroll-area.mjs.map +1 -1
  227. package/dist/react/section.js.map +1 -1
  228. package/dist/react/section.mjs.map +1 -1
  229. package/dist/react/select.js +1 -1
  230. package/dist/react/select.mjs +1 -1
  231. package/dist/react/separator.js +1 -1
  232. package/dist/react/separator.js.map +1 -1
  233. package/dist/react/separator.mjs +1 -1
  234. package/dist/react/separator.mjs.map +1 -1
  235. package/dist/react/sheet.js +1 -1
  236. package/dist/react/sheet.js.map +1 -1
  237. package/dist/react/sheet.mjs +1 -1
  238. package/dist/react/sheet.mjs.map +1 -1
  239. package/dist/react/skeleton.js +1 -1
  240. package/dist/react/skeleton.js.map +1 -1
  241. package/dist/react/skeleton.mjs +1 -1
  242. package/dist/react/skeleton.mjs.map +1 -1
  243. package/dist/react/slider.js +1 -1
  244. package/dist/react/slider.js.map +1 -1
  245. package/dist/react/slider.mjs +1 -1
  246. package/dist/react/slider.mjs.map +1 -1
  247. package/dist/react/sonner.js.map +1 -1
  248. package/dist/react/sonner.mjs.map +1 -1
  249. package/dist/react/spinner.js +1 -1
  250. package/dist/react/spinner.mjs +1 -1
  251. package/dist/react/strong.js.map +1 -1
  252. package/dist/react/strong.mjs.map +1 -1
  253. package/dist/react/switch.js +1 -1
  254. package/dist/react/switch.js.map +1 -1
  255. package/dist/react/switch.mjs +1 -1
  256. package/dist/react/switch.mjs.map +1 -1
  257. package/dist/react/table.js +1 -1
  258. package/dist/react/table.js.map +1 -1
  259. package/dist/react/table.mjs +1 -1
  260. package/dist/react/table.mjs.map +1 -1
  261. package/dist/react/tabs.js +1 -1
  262. package/dist/react/tabs.js.map +1 -1
  263. package/dist/react/tabs.mjs +1 -1
  264. package/dist/react/tabs.mjs.map +1 -1
  265. package/dist/react/text.d.mts +2 -2
  266. package/dist/react/text.d.ts +2 -2
  267. package/dist/react/text.js.map +1 -1
  268. package/dist/react/text.mjs.map +1 -1
  269. package/dist/react/textarea.js +1 -1
  270. package/dist/react/textarea.js.map +1 -1
  271. package/dist/react/textarea.mjs +1 -1
  272. package/dist/react/textarea.mjs.map +1 -1
  273. package/dist/react/toggle-group.js +1 -1
  274. package/dist/react/toggle-group.js.map +1 -1
  275. package/dist/react/toggle-group.mjs +1 -1
  276. package/dist/react/toggle-group.mjs.map +1 -1
  277. package/dist/react/toggle.js +1 -1
  278. package/dist/react/toggle.mjs +1 -1
  279. package/dist/react/tooltip.js +1 -1
  280. package/dist/react/tooltip.js.map +1 -1
  281. package/dist/react/tooltip.mjs +1 -1
  282. package/dist/react/tooltip.mjs.map +1 -1
  283. package/dist/styles.css +1 -1
  284. package/dist/styles.css.map +1 -1
  285. package/dist/tailwind.config.js +1 -1
  286. package/dist/tailwind.config.js.map +1 -1
  287. package/dist/tailwind.config.mjs +1 -1
  288. package/dist/tailwind.config.mjs.map +1 -1
  289. package/package.json +7 -7
  290. package/plugin/animate.plugin.ts +114 -111
  291. package/plugin/base.plugin.ts +10 -7
  292. package/plugin/perspective.plugin.ts +1 -1
  293. package/src/lib/utils.ts +2 -2
  294. package/src/react/accordion.tsx +65 -41
  295. package/src/react/alert-dialog.tsx +130 -62
  296. package/src/react/alert.tsx +50 -24
  297. package/src/react/aspect-ratio.tsx +6 -4
  298. package/src/react/avatar.tsx +47 -19
  299. package/src/react/badge.tsx +15 -10
  300. package/src/react/blockquote.tsx +11 -8
  301. package/src/react/box.tsx +11 -9
  302. package/src/react/breadcrumb.tsx +62 -29
  303. package/src/react/button.tsx +47 -31
  304. package/src/react/calendar.tsx +54 -37
  305. package/src/react/card.tsx +64 -30
  306. package/src/react/carousel.tsx +101 -43
  307. package/src/react/checkbox-cards.tsx +60 -33
  308. package/src/react/checkbox-group.primitive.tsx +93 -38
  309. package/src/react/checkbox-group.tsx +57 -34
  310. package/src/react/checkbox.tsx +24 -20
  311. package/src/react/code.tsx +9 -7
  312. package/src/react/collapsible.tsx +33 -23
  313. package/src/react/command.tsx +140 -75
  314. package/src/react/container.tsx +12 -8
  315. package/src/react/context-menu.tsx +228 -150
  316. package/src/react/data-table.tsx +51 -21
  317. package/src/react/dialog.tsx +95 -50
  318. package/src/react/drawer.tsx +96 -49
  319. package/src/react/dropdown-menu.tsx +199 -131
  320. package/src/react/em.tsx +9 -7
  321. package/src/react/form.tsx +96 -61
  322. package/src/react/heading.tsx +10 -8
  323. package/src/react/hover-card.tsx +42 -26
  324. package/src/react/input-otp.tsx +48 -37
  325. package/src/react/input.tsx +25 -15
  326. package/src/react/kbd.tsx +21 -19
  327. package/src/react/label.tsx +16 -14
  328. package/src/react/menubar.tsx +214 -135
  329. package/src/react/navigation-menu.tsx +153 -111
  330. package/src/react/pagination.tsx +59 -26
  331. package/src/react/popover.tsx +44 -29
  332. package/src/react/pre.tsx +9 -7
  333. package/src/react/progress.tsx +26 -19
  334. package/src/react/quote.tsx +9 -7
  335. package/src/react/radio-cards.tsx +32 -12
  336. package/src/react/radio-group.tsx +32 -12
  337. package/src/react/radio.tsx +24 -20
  338. package/src/react/resizable.tsx +13 -8
  339. package/src/react/scroll-area.tsx +56 -34
  340. package/src/react/section.tsx +9 -7
  341. package/src/react/select.tsx +167 -114
  342. package/src/react/separator.tsx +16 -7
  343. package/src/react/sheet.tsx +84 -34
  344. package/src/react/skeleton.tsx +8 -3
  345. package/src/react/slider.tsx +31 -24
  346. package/src/react/sonner.tsx +12 -10
  347. package/src/react/spinner.tsx +14 -9
  348. package/src/react/strong.tsx +9 -7
  349. package/src/react/switch.tsx +18 -16
  350. package/src/react/table.tsx +97 -52
  351. package/src/react/tabs.tsx +48 -38
  352. package/src/react/text.tsx +13 -10
  353. package/src/react/textarea.tsx +17 -15
  354. package/src/react/toggle-group.tsx +66 -23
  355. package/src/react/toggle.tsx +26 -18
  356. package/src/react/tooltip.tsx +43 -28
  357. package/tailwind.config.ts +62 -62
  358. package/dist/chunk-466PAJCA.mjs.map +0 -1
  359. package/dist/chunk-4TJBMO2Y.mjs.map +0 -1
  360. package/dist/chunk-5WJB3UAO.js.map +0 -1
  361. package/dist/chunk-6B2PU2GG.mjs.map +0 -1
  362. package/dist/chunk-7PJR4WFR.mjs.map +0 -1
  363. package/dist/chunk-AEWLL6A2.js.map +0 -1
  364. package/dist/chunk-EVN2IB57.js.map +0 -1
  365. package/dist/chunk-EYERINEJ.js.map +0 -1
  366. package/dist/chunk-FEE6PNWV.js.map +0 -1
  367. package/dist/chunk-GRQGCS7U.mjs.map +0 -1
  368. package/dist/chunk-HLXU3SQI.mjs.map +0 -1
  369. package/dist/chunk-JIHHUXA5.js.map +0 -1
  370. package/dist/chunk-JTAXNFUM.mjs.map +0 -1
  371. package/dist/chunk-KJ77RPJ4.mjs.map +0 -1
  372. package/dist/chunk-MSHUAEXI.js.map +0 -1
  373. package/dist/chunk-N6QGG4WS.mjs.map +0 -1
  374. package/dist/chunk-PLX35IKX.mjs.map +0 -1
  375. package/dist/chunk-UDNWQQ3I.js.map +0 -1
  376. package/dist/chunk-UPZHCTQV.js.map +0 -1
  377. package/dist/chunk-WLMYX3C7.mjs.map +0 -1
  378. package/dist/chunk-YR36SVVG.mjs.map +0 -1
  379. package/dist/chunk-ZWGC5M4G.js.map +0 -1
  380. package/dist/plugin/animate.plugin.d.mts +0 -9
  381. package/dist/plugin/animate.plugin.d.ts +0 -9
  382. package/dist/plugin/base.plugin.d.mts +0 -8
  383. package/dist/plugin/base.plugin.d.ts +0 -8
  384. package/dist/plugin/perspective.plugin.d.mts +0 -8
  385. package/dist/plugin/perspective.plugin.d.ts +0 -8
  386. package/dist/tailwind.config.d.mts +0 -5
  387. package/dist/tailwind.config.d.ts +0 -5
@@ -1,259 +1,262 @@
1
- import plugin from "tailwindcss/plugin";
2
- import { type Config } from "tailwindcss/types/config";
1
+ import plugin from 'tailwindcss/plugin';
2
+ import { type Config } from 'tailwindcss/types/config';
3
3
 
4
- type Theme = <TDefaultValue = Config["theme"]>(path?: string, defaultValue?: TDefaultValue) => TDefaultValue;
4
+ type Theme = <TDefaultValue = Config['theme']>(
5
+ path?: string,
6
+ defaultValue?: TDefaultValue,
7
+ ) => TDefaultValue;
5
8
 
6
9
  const animate = plugin(
7
10
  ({ addUtilities, matchUtilities, theme }) => {
8
11
  // Keyframes
9
12
  addUtilities({
10
- "@keyframes in": {
13
+ '@keyframes in': {
11
14
  from: {
12
- opacity: "var(--animate-in-opacity, 1)",
15
+ opacity: 'var(--animate-in-opacity, 1)',
13
16
  transform: [
14
- "translate3d(var(--animate-in-translate-x, 0), var(--animate-in-translate-y, 0), 0)",
15
- "scale3d(var(--animate-in-scale, 1), var(--animate-in-scale, 1), var(--animate-in-scale, 1))",
16
- "rotate(var(--animate-in-rotate, 0))",
17
- ].join(" "),
17
+ 'translate3d(var(--animate-in-translate-x, 0), var(--animate-in-translate-y, 0), 0)',
18
+ 'scale3d(var(--animate-in-scale, 1), var(--animate-in-scale, 1), var(--animate-in-scale, 1))',
19
+ 'rotate(var(--animate-in-rotate, 0))',
20
+ ].join(' '),
18
21
  },
19
22
  },
20
23
 
21
- "@keyframes out": {
24
+ '@keyframes out': {
22
25
  to: {
23
- opacity: "var(--animate-out-opacity, 1)",
26
+ opacity: 'var(--animate-out-opacity, 1)',
24
27
  transform: [
25
- "translate3d(var(--animate-out-translate-x, 0), var(--animate-out-translate-y, 0), 0)",
26
- "scale3d(var(--animate-out-scale, 1), var(--animate-out-scale, 1), var(--animate-out-scale, 1))",
27
- "rotate(var(--animate-out-rotate, 0))",
28
- ].join(" "),
28
+ 'translate3d(var(--animate-out-translate-x, 0), var(--animate-out-translate-y, 0), 0)',
29
+ 'scale3d(var(--animate-out-scale, 1), var(--animate-out-scale, 1), var(--animate-out-scale, 1))',
30
+ 'rotate(var(--animate-out-rotate, 0))',
31
+ ].join(' '),
29
32
  },
30
33
  },
31
34
 
32
- "@keyframes fade-in": {
35
+ '@keyframes fade-in': {
33
36
  from: {
34
- opacity: "var(--animate-in-opacity, 0)",
37
+ opacity: 'var(--animate-in-opacity, 0)',
35
38
  },
36
39
  },
37
40
 
38
- "@keyframes fade-out": {
41
+ '@keyframes fade-out': {
39
42
  to: {
40
- opacity: "var(--animate-out-opacity, 0)",
43
+ opacity: 'var(--animate-out-opacity, 0)',
41
44
  },
42
45
  },
43
46
 
44
- ".animate-in": {
45
- animationName: "in",
46
- animationDuration: theme("animationDuration.DEFAULT"),
47
- "--animate-in-opacity": "initial",
48
- "--animate-in-scale": "initial",
49
- "--animate-in-rotate": "initial",
50
- "--animate-in-translate-x": "initial",
51
- "--animate-in-translate-y": "initial",
47
+ '.animate-in': {
48
+ animationName: 'in',
49
+ animationDuration: theme('animationDuration.DEFAULT'),
50
+ '--animate-in-opacity': 'initial',
51
+ '--animate-in-scale': 'initial',
52
+ '--animate-in-rotate': 'initial',
53
+ '--animate-in-translate-x': 'initial',
54
+ '--animate-in-translate-y': 'initial',
52
55
  },
53
56
 
54
- ".animate-out": {
55
- animationName: "out",
56
- animationDuration: theme("animationDuration.DEFAULT"),
57
- "--animate-out-opacity": "initial",
58
- "--animate-out-scale": "initial",
59
- "--animate-out-rotate": "initial",
60
- "--animate-out-translate-x": "initial",
61
- "--animate-out-translate-y": "initial",
57
+ '.animate-out': {
58
+ animationName: 'out',
59
+ animationDuration: theme('animationDuration.DEFAULT'),
60
+ '--animate-out-opacity': 'initial',
61
+ '--animate-out-scale': 'initial',
62
+ '--animate-out-rotate': 'initial',
63
+ '--animate-out-translate-x': 'initial',
64
+ '--animate-out-translate-y': 'initial',
62
65
  },
63
66
 
64
- ".animate-fade-in": {
65
- animationName: "fade-in",
66
- animationDuration: theme("animationDuration.DEFAULT"),
67
- "--animate-in-opacity": "initial",
67
+ '.animate-fade-in': {
68
+ animationName: 'fade-in',
69
+ animationDuration: theme('animationDuration.DEFAULT'),
70
+ '--animate-in-opacity': 'initial',
68
71
  },
69
72
 
70
- ".animate-fade-out": {
71
- animationName: "fade-out",
72
- animationDuration: theme("animationDuration.DEFAULT"),
73
- "--animate-out-opacity": "initial",
73
+ '.animate-fade-out': {
74
+ animationName: 'fade-out',
75
+ animationDuration: theme('animationDuration.DEFAULT'),
76
+ '--animate-out-opacity': 'initial',
74
77
  },
75
78
  });
76
79
 
77
80
  // Play state
78
81
  addUtilities({
79
- ".animation-running": {
80
- animationPlayState: "running",
82
+ '.animation-running': {
83
+ animationPlayState: 'running',
81
84
  },
82
- ".animation-paused": {
83
- animationPlayState: "paused",
85
+ '.animation-paused': {
86
+ animationPlayState: 'paused',
84
87
  },
85
88
  });
86
89
 
87
90
  // Delay
88
91
  matchUtilities(
89
92
  {
90
- "animate-delay": (value) => ({
93
+ 'animate-delay': (value) => ({
91
94
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
92
95
  animationDelay: value,
93
96
  }),
94
97
  },
95
98
  {
96
- values: theme("animationDelay"),
99
+ values: theme('animationDelay'),
97
100
  },
98
101
  );
99
102
 
100
103
  // Direction
101
104
  matchUtilities(
102
105
  {
103
- "animate-direction": (value) => ({
106
+ 'animate-direction': (value) => ({
104
107
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
105
108
  animationDirection: value,
106
109
  }),
107
110
  },
108
111
  {
109
- values: theme("animationDirection"),
112
+ values: theme('animationDirection'),
110
113
  },
111
114
  );
112
115
 
113
116
  // Duration
114
117
  matchUtilities(
115
118
  {
116
- "animate-duration": (value) => ({
119
+ 'animate-duration': (value) => ({
117
120
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
118
121
  animationDuration: value,
119
122
  }),
120
123
  },
121
124
  {
122
- values: theme("animationDuration"),
125
+ values: theme('animationDuration'),
123
126
  },
124
127
  );
125
128
 
126
129
  // Fill mode
127
130
  matchUtilities(
128
131
  {
129
- "animate-fill-mode": (value) => ({
132
+ 'animate-fill-mode': (value) => ({
130
133
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
131
134
  animationFillMode: value,
132
135
  }),
133
136
  },
134
137
  {
135
- values: theme("animationFillMode"),
138
+ values: theme('animationFillMode'),
136
139
  },
137
140
  );
138
141
 
139
142
  // Opacity
140
143
  matchUtilities(
141
144
  {
142
- "fade-in": (value) => ({
145
+ 'fade-in': (value) => ({
143
146
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
144
- "--animate-in-opacity": value,
147
+ '--animate-in-opacity': value,
145
148
  }),
146
- "fade-out": (value) => ({
149
+ 'fade-out': (value) => ({
147
150
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
148
- "--animate-out-opacity": value,
151
+ '--animate-out-opacity': value,
149
152
  }),
150
153
  },
151
154
  {
152
- values: theme("animationOpacity"),
155
+ values: theme('animationOpacity'),
153
156
  },
154
157
  );
155
158
 
156
159
  // Repeat
157
160
  matchUtilities(
158
161
  {
159
- "animate-repeat": (value) => ({
162
+ 'animate-repeat': (value) => ({
160
163
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
161
164
  animationIterationCount: value,
162
165
  }),
163
166
  },
164
167
  {
165
- values: theme("animationRepeat"),
168
+ values: theme('animationRepeat'),
166
169
  },
167
170
  );
168
171
 
169
172
  // Rotate
170
173
  matchUtilities(
171
174
  {
172
- "spin-in": (value) => ({
175
+ 'spin-in': (value) => ({
173
176
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
174
- "--animate-in-rotate": value,
177
+ '--animate-in-rotate': value,
175
178
  }),
176
- "spin-out": (value) => ({
179
+ 'spin-out': (value) => ({
177
180
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
178
- "--animate-out-rotate": value,
181
+ '--animate-out-rotate': value,
179
182
  }),
180
183
  },
181
184
  {
182
- values: theme("animationRotate"),
185
+ values: theme('animationRotate'),
183
186
  },
184
187
  );
185
188
 
186
189
  // Scale - Zoom
187
190
  matchUtilities(
188
191
  {
189
- "zoom-in": (value) => ({
192
+ 'zoom-in': (value) => ({
190
193
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
191
- "--animate-in-scale": value,
194
+ '--animate-in-scale': value,
192
195
  }),
193
- "zoom-out": (value) => ({
196
+ 'zoom-out': (value) => ({
194
197
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
195
- "--animate-out-scale": value,
198
+ '--animate-out-scale': value,
196
199
  }),
197
200
  },
198
201
  {
199
- values: theme("animationScale"),
202
+ values: theme('animationScale'),
200
203
  },
201
204
  );
202
205
 
203
206
  // Timing function
204
207
  matchUtilities(
205
208
  {
206
- "animate-ease": (value) => ({
209
+ 'animate-ease': (value) => ({
207
210
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
208
211
  animationTimingFunction: value,
209
212
  }),
210
213
  },
211
214
  {
212
- values: theme("animationTimingFunction"),
215
+ values: theme('animationTimingFunction'),
213
216
  },
214
217
  );
215
218
 
216
219
  // Translate - Slide
217
220
  matchUtilities(
218
221
  {
219
- "slide-in-from-top": (value) => ({
220
- "--animate-in-translate-y": `-${value}`,
222
+ 'slide-in-from-top': (value) => ({
223
+ '--animate-in-translate-y': `-${value}`,
221
224
  }),
222
225
 
223
- "slide-in-from-bottom": (value) => ({
226
+ 'slide-in-from-bottom': (value) => ({
224
227
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
225
- "--animate-in-translate-y": value,
228
+ '--animate-in-translate-y': value,
226
229
  }),
227
230
 
228
- "slide-in-from-left": (value) => ({
229
- "--animate-in-translate-x": `-${value}`,
231
+ 'slide-in-from-left': (value) => ({
232
+ '--animate-in-translate-x': `-${value}`,
230
233
  }),
231
234
 
232
- "slide-in-from-right": (value) => ({
235
+ 'slide-in-from-right': (value) => ({
233
236
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
234
- "--animate-in-translate-x": value,
237
+ '--animate-in-translate-x': value,
235
238
  }),
236
239
 
237
- "slide-out-to-top": (value) => ({
238
- "--animate-out-translate-y": `-${value}`,
240
+ 'slide-out-to-top': (value) => ({
241
+ '--animate-out-translate-y': `-${value}`,
239
242
  }),
240
243
 
241
- "slide-out-to-bottom": (value) => ({
244
+ 'slide-out-to-bottom': (value) => ({
242
245
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
243
- "--animate-out-translate-y": value,
246
+ '--animate-out-translate-y': value,
244
247
  }),
245
248
 
246
- "slide-out-to-left": (value) => ({
247
- "--animate-out-translate-x": `-${value}`,
249
+ 'slide-out-to-left': (value) => ({
250
+ '--animate-out-translate-x': `-${value}`,
248
251
  }),
249
252
 
250
- "slide-out-to-right": (value) => ({
253
+ 'slide-out-to-right': (value) => ({
251
254
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe
252
- "--animate-out-translate-x": value,
255
+ '--animate-out-translate-x': value,
253
256
  }),
254
257
  },
255
258
  {
256
- values: theme("animationTranslate"),
259
+ values: theme('animationTranslate'),
257
260
  },
258
261
  );
259
262
  },
@@ -261,55 +264,55 @@ const animate = plugin(
261
264
  theme: {
262
265
  extend: {
263
266
  animationDelay: ({ theme }: { theme: Theme }) => ({
264
- ...theme("transitionDelay"),
267
+ ...theme('transitionDelay'),
265
268
  }),
266
269
 
267
270
  animationDirection: {
268
- normal: "normal",
269
- reverse: "reverse",
270
- alternate: "alternate",
271
- "alternate-reverse": "alternate-reverse",
271
+ normal: 'normal',
272
+ reverse: 'reverse',
273
+ alternate: 'alternate',
274
+ 'alternate-reverse': 'alternate-reverse',
272
275
  },
273
276
 
274
277
  animationDuration: ({ theme }: { theme: Theme }) => ({
275
- ...theme("transitionDuration"),
278
+ ...theme('transitionDuration'),
276
279
  }),
277
280
 
278
281
  animationFillMode: {
279
- none: "none",
280
- forwards: "forwards",
281
- backwards: "backwards",
282
- both: "both",
282
+ none: 'none',
283
+ forwards: 'forwards',
284
+ backwards: 'backwards',
285
+ both: 'both',
283
286
  },
284
287
 
285
288
  animationOpacity: ({ theme }: { theme: Theme }) => ({
286
289
  DEFAULT: 0,
287
- ...theme("opacity"),
290
+ ...theme('opacity'),
288
291
  }),
289
292
 
290
293
  animationRepeat: {
291
- 0: "0",
292
- 1: "1",
293
- infinite: "infinite",
294
+ 0: '0',
295
+ 1: '1',
296
+ infinite: 'infinite',
294
297
  },
295
298
 
296
299
  animationRotate: ({ theme }: { theme: Theme }) => ({
297
- DEFAULT: "30deg",
298
- ...theme("rotate"),
300
+ DEFAULT: '30deg',
301
+ ...theme('rotate'),
299
302
  }),
300
303
 
301
304
  animationScale: ({ theme }: { theme: Theme }) => ({
302
305
  DEFAULT: 0,
303
- ...theme("scale"),
306
+ ...theme('scale'),
304
307
  }),
305
308
 
306
309
  animationTimingFunction: ({ theme }: { theme: Theme }) => ({
307
- ...theme("transitionTimingFunction"),
310
+ ...theme('transitionTimingFunction'),
308
311
  }),
309
312
 
310
313
  animationTranslate: ({ theme }: { theme: Theme }) => ({
311
- DEFAULT: "100%",
312
- ...theme("translate"),
314
+ DEFAULT: '100%',
315
+ ...theme('translate'),
313
316
  }),
314
317
  },
315
318
  },
@@ -1,20 +1,23 @@
1
- import plugin from "tailwindcss/plugin";
1
+ import plugin from 'tailwindcss/plugin';
2
2
 
3
3
  const base = plugin(({ addBase }) => {
4
4
  addBase({
5
- ".dark": {
6
- "color-scheme": "dark",
5
+ '.dark': {
6
+ 'color-scheme': 'dark',
7
7
  },
8
8
  body: {
9
- "@apply bg-background text-foreground": "",
9
+ '@apply bg-background text-foreground': '',
10
10
  },
11
- ":focus-visible": {
12
- "@apply outline-ring": "",
11
+ ':focus-visible': {
12
+ '@apply outline-ring': '',
13
13
  },
14
14
  "button, [role='button'], input:where([type='button']), input:where([type='reset']), input:where([type='submit'])":
15
15
  {
16
- "@apply outline-transparent": "",
16
+ '@apply outline-transparent': '',
17
17
  },
18
+ a: {
19
+ '@apply text-primary': '',
20
+ },
18
21
  });
19
22
  });
20
23
 
@@ -1,4 +1,4 @@
1
- import plugin from "tailwindcss/plugin";
1
+ import plugin from 'tailwindcss/plugin';
2
2
 
3
3
  const perspective = plugin(({ matchUtilities }) => {
4
4
  matchUtilities({
package/src/lib/utils.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { twMerge } from "tailwind-merge";
2
- import { defineConfig } from "cva";
1
+ import { twMerge } from 'tailwind-merge';
2
+ import { defineConfig } from 'cva';
3
3
 
4
4
  export const {
5
5
  cva,
@@ -1,15 +1,17 @@
1
- "use client";
1
+ 'use client';
2
2
 
3
- import * as React from "react";
4
- import * as AccordionPrimitive from "@radix-ui/react-accordion";
5
- import { ChevronDownIcon } from "@radix-ui/react-icons";
6
- import { cn } from "../lib/utils";
3
+ import * as React from 'react';
4
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
5
+ import { ChevronDownIcon } from '@radix-ui/react-icons';
6
+ import { cn } from '../lib/utils';
7
7
 
8
8
  /* -----------------------------------------------------------------------------
9
9
  * Component: Accordion
10
10
  * -------------------------------------------------------------------------- */
11
11
 
12
- type AccordionProps = React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Root>;
12
+ type AccordionProps = React.ComponentPropsWithoutRef<
13
+ typeof AccordionPrimitive.Root
14
+ >;
13
15
  const Accordion = AccordionPrimitive.Root;
14
16
 
15
17
  /* -----------------------------------------------------------------------------
@@ -17,10 +19,19 @@ const Accordion = AccordionPrimitive.Root;
17
19
  * -------------------------------------------------------------------------- */
18
20
 
19
21
  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} />
22
+ type AccordionItemProps = React.ComponentPropsWithoutRef<
23
+ typeof AccordionPrimitive.Item
24
+ >;
25
+
26
+ const AccordionItem = React.forwardRef<
27
+ AccordionItemElement,
28
+ AccordionItemProps
29
+ >(({ className, ...props }, ref) => (
30
+ <AccordionPrimitive.Item
31
+ ref={ref}
32
+ className={cn('border-b', className)}
33
+ {...props}
34
+ />
24
35
  ));
25
36
 
26
37
  AccordionItem.displayName = AccordionPrimitive.Item.displayName;
@@ -29,23 +40,31 @@ AccordionItem.displayName = AccordionPrimitive.Item.displayName;
29
40
  * Component: AccordionTrigger
30
41
  * -------------------------------------------------------------------------- */
31
42
 
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
- ({ children, className, ...props }, ref) => (
37
- <AccordionPrimitive.Header className="flex">
38
- <AccordionPrimitive.Trigger
39
- ref={ref}
40
- className={cn("group flex flex-1 items-center justify-between py-4 text-sm font-medium", className)}
41
- {...props}
42
- >
43
- {children}
44
- <ChevronDownIcon className="text-muted-foreground size-4 shrink-0 transition group-data-[state=open]:rotate-180" />
45
- </AccordionPrimitive.Trigger>
46
- </AccordionPrimitive.Header>
47
- ),
48
- );
43
+ type AccordionTriggerElement = React.ElementRef<
44
+ typeof AccordionPrimitive.Trigger
45
+ >;
46
+ type AccordionTriggerProps = React.ComponentPropsWithoutRef<
47
+ typeof AccordionPrimitive.Trigger
48
+ >;
49
+
50
+ const AccordionTrigger = React.forwardRef<
51
+ AccordionTriggerElement,
52
+ AccordionTriggerProps
53
+ >(({ children, className, ...props }, ref) => (
54
+ <AccordionPrimitive.Header className="flex">
55
+ <AccordionPrimitive.Trigger
56
+ ref={ref}
57
+ className={cn(
58
+ 'group flex flex-1 items-center justify-between py-4 text-sm font-medium',
59
+ className,
60
+ )}
61
+ {...props}
62
+ >
63
+ {children}
64
+ <ChevronDownIcon className="text-muted-foreground size-4 shrink-0 transition group-data-[state=open]:rotate-180" />
65
+ </AccordionPrimitive.Trigger>
66
+ </AccordionPrimitive.Header>
67
+ ));
49
68
 
50
69
  AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
51
70
 
@@ -53,20 +72,25 @@ AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
53
72
  * Component: AccordionContent
54
73
  * -------------------------------------------------------------------------- */
55
74
 
56
- type AccordionContentElement = React.ElementRef<typeof AccordionPrimitive.Content>;
57
- type AccordionContentProps = React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>;
58
-
59
- const AccordionContent = React.forwardRef<AccordionContentElement, AccordionContentProps>(
60
- ({ children, className, ...props }, ref) => (
61
- <AccordionPrimitive.Content
62
- ref={ref}
63
- className="data-[state=open]:animate-collapsible-open data-[state=closed]:animate-collapsible-closed overflow-hidden text-sm"
64
- {...props}
65
- >
66
- <div className={cn("pb-4 pt-0", className)}>{children}</div>
67
- </AccordionPrimitive.Content>
68
- ),
69
- );
75
+ type AccordionContentElement = React.ElementRef<
76
+ typeof AccordionPrimitive.Content
77
+ >;
78
+ type AccordionContentProps = React.ComponentPropsWithoutRef<
79
+ typeof AccordionPrimitive.Content
80
+ >;
81
+
82
+ const AccordionContent = React.forwardRef<
83
+ AccordionContentElement,
84
+ AccordionContentProps
85
+ >(({ children, className, ...props }, ref) => (
86
+ <AccordionPrimitive.Content
87
+ ref={ref}
88
+ className="data-[state=open]:animate-collapsible-open data-[state=closed]:animate-collapsible-closed overflow-hidden text-sm"
89
+ {...props}
90
+ >
91
+ <div className={cn('pb-4 pt-0', className)}>{children}</div>
92
+ </AccordionPrimitive.Content>
93
+ ));
70
94
 
71
95
  AccordionContent.displayName = AccordionPrimitive.Content.displayName;
72
96