@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,38 +1,58 @@
1
- "use client";
1
+ 'use client';
2
2
 
3
- import * as React from "react";
4
- import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
5
- import { createToggleGroupScope } from "@radix-ui/react-toggle-group";
6
- import { createContextScope, type Scope } from "@radix-ui/react-context";
7
- import { cn } from "../lib/utils";
8
- import { toggleVariants, type ToggleVariantsProps } from "./toggle";
3
+ import * as React from 'react';
4
+ import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
5
+ import { createToggleGroupScope } from '@radix-ui/react-toggle-group';
6
+ import { createContextScope, type Scope } from '@radix-ui/react-context';
7
+ import { cn } from '../lib/utils';
8
+ import { toggleVariants, type ToggleVariantsProps } from './toggle';
9
9
 
10
10
  /* -----------------------------------------------------------------------------
11
11
  * Component: ToggleGroup
12
12
  * -------------------------------------------------------------------------- */
13
13
 
14
- const TOGGLE_GROUP_NAME = "ToggleGroup";
14
+ const TOGGLE_GROUP_NAME = 'ToggleGroup';
15
15
 
16
16
  type ScopedProps<P> = P & { __scopeToggleGroup?: Scope };
17
17
 
18
- const [createToggleGroupContext] = createContextScope(TOGGLE_GROUP_NAME, [createToggleGroupScope]);
18
+ const [createToggleGroupContext] = createContextScope(TOGGLE_GROUP_NAME, [
19
+ createToggleGroupScope,
20
+ ]);
19
21
 
20
22
  const useToggleGroupScope = createToggleGroupScope();
21
23
 
22
- const [ToggleGroupProvider, useToggleGroupContext] = createToggleGroupContext<ToggleVariantsProps>(TOGGLE_GROUP_NAME);
24
+ const [ToggleGroupProvider, useToggleGroupContext] =
25
+ createToggleGroupContext<ToggleVariantsProps>(TOGGLE_GROUP_NAME);
23
26
 
24
27
  type ToggleGroupElement = React.ElementRef<typeof ToggleGroupPrimitive.Root>;
25
- type ToggleGroupProps = React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root> & ToggleVariantsProps;
28
+ type ToggleGroupProps = React.ComponentPropsWithoutRef<
29
+ typeof ToggleGroupPrimitive.Root
30
+ > &
31
+ ToggleVariantsProps;
26
32
 
27
33
  const ToggleGroup = React.forwardRef<ToggleGroupElement, ToggleGroupProps>(
28
- ({ __scopeToggleGroup, children, className, variant, size, ...props }: ScopedProps<ToggleGroupProps>, ref) => {
34
+ (
35
+ {
36
+ __scopeToggleGroup,
37
+ children,
38
+ className,
39
+ variant,
40
+ size,
41
+ ...props
42
+ }: ScopedProps<ToggleGroupProps>,
43
+ ref,
44
+ ) => {
29
45
  const toggleGroupScope = useToggleGroupScope(__scopeToggleGroup);
30
46
 
31
47
  return (
32
- <ToggleGroupProvider scope={__scopeToggleGroup} size={size} variant={variant}>
48
+ <ToggleGroupProvider
49
+ scope={__scopeToggleGroup}
50
+ size={size}
51
+ variant={variant}
52
+ >
33
53
  <ToggleGroupPrimitive.Root
34
54
  ref={ref}
35
- className={cn("flex items-center justify-center gap-1", className)}
55
+ className={cn('flex items-center justify-center gap-1', className)}
36
56
  {...toggleGroupScope}
37
57
  {...props}
38
58
  >
@@ -49,14 +69,32 @@ ToggleGroup.displayName = TOGGLE_GROUP_NAME;
49
69
  * Component: ToggleGroupItem
50
70
  * -------------------------------------------------------------------------- */
51
71
 
52
- const TOGGLE_GROUP_ITEM_NAME = "ToggleGroupItem";
53
-
54
- type ToggleGroupItemElement = React.ElementRef<typeof ToggleGroupPrimitive.Item>;
55
- type ToggleGroupItemProps = React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item>;
56
-
57
- const ToggleGroupItem = React.forwardRef<ToggleGroupItemElement, ToggleGroupItemProps>(
58
- ({ __scopeToggleGroup, children, className, ...props }: ScopedProps<ToggleGroupItemProps>, ref) => {
59
- const context = useToggleGroupContext(TOGGLE_GROUP_ITEM_NAME, __scopeToggleGroup);
72
+ const TOGGLE_GROUP_ITEM_NAME = 'ToggleGroupItem';
73
+
74
+ type ToggleGroupItemElement = React.ElementRef<
75
+ typeof ToggleGroupPrimitive.Item
76
+ >;
77
+ type ToggleGroupItemProps = React.ComponentPropsWithoutRef<
78
+ typeof ToggleGroupPrimitive.Item
79
+ >;
80
+
81
+ const ToggleGroupItem = React.forwardRef<
82
+ ToggleGroupItemElement,
83
+ ToggleGroupItemProps
84
+ >(
85
+ (
86
+ {
87
+ __scopeToggleGroup,
88
+ children,
89
+ className,
90
+ ...props
91
+ }: ScopedProps<ToggleGroupItemProps>,
92
+ ref,
93
+ ) => {
94
+ const context = useToggleGroupContext(
95
+ TOGGLE_GROUP_ITEM_NAME,
96
+ __scopeToggleGroup,
97
+ );
60
98
  const toggleGroupScope = useToggleGroupScope(__scopeToggleGroup);
61
99
 
62
100
  return (
@@ -78,4 +116,9 @@ ToggleGroupItem.displayName = TOGGLE_GROUP_ITEM_NAME;
78
116
  * Exports
79
117
  * -------------------------------------------------------------------------- */
80
118
 
81
- export { ToggleGroup, ToggleGroupItem, type ToggleGroupProps, type ToggleGroupItemProps };
119
+ export {
120
+ ToggleGroup,
121
+ ToggleGroupItem,
122
+ type ToggleGroupProps,
123
+ type ToggleGroupItemProps,
124
+ };
@@ -1,30 +1,31 @@
1
- "use client";
1
+ 'use client';
2
2
 
3
- import * as React from "react";
4
- import * as TogglePrimitive from "@radix-ui/react-toggle";
5
- import { type VariantProps } from "cva";
6
- import { cva } from "../lib/utils";
3
+ import * as React from 'react';
4
+ import * as TogglePrimitive from '@radix-ui/react-toggle';
5
+ import { type VariantProps } from 'cva';
6
+ import { cva } from '../lib/utils';
7
7
 
8
8
  /* -----------------------------------------------------------------------------
9
9
  * Variant: Toggle
10
10
  * -------------------------------------------------------------------------- */
11
11
 
12
12
  const toggleVariants = cva({
13
- base: "hover:bg-muted hover:text-muted-foreground data-[state=on]:bg-accent data-[state=on]:text-accent-foreground inline-flex items-center justify-center rounded-md text-sm font-medium transition focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:pointer-events-none disabled:opacity-50",
13
+ base: 'hover:bg-muted hover:text-muted-foreground data-[state=on]:bg-accent data-[state=on]:text-accent-foreground inline-flex items-center justify-center rounded-md text-sm font-medium transition focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:pointer-events-none disabled:opacity-50',
14
14
  variants: {
15
15
  variant: {
16
- default: "bg-transparent",
17
- outline: "border-input hover:bg-accent hover:text-accent-foreground border bg-transparent shadow-sm",
16
+ default: 'bg-transparent',
17
+ outline:
18
+ 'border-input hover:bg-accent hover:text-accent-foreground border bg-transparent shadow-sm',
18
19
  },
19
20
  size: {
20
- default: "h-10 px-3",
21
- sm: "h-9 px-2.5",
22
- lg: "h-11 px-5",
21
+ default: 'h-10 px-3',
22
+ sm: 'h-9 px-2.5',
23
+ lg: 'h-11 px-5',
23
24
  },
24
25
  },
25
26
  defaultVariants: {
26
- variant: "default",
27
- size: "default",
27
+ variant: 'default',
28
+ size: 'default',
28
29
  },
29
30
  });
30
31
 
@@ -35,11 +36,18 @@ type ToggleVariantsProps = VariantProps<typeof toggleVariants>;
35
36
  * -------------------------------------------------------------------------- */
36
37
 
37
38
  type ToggleElement = React.ElementRef<typeof TogglePrimitive.Root>;
38
- type ToggleProps = React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root> & ToggleVariantsProps;
39
-
40
- const Toggle = React.forwardRef<ToggleElement, ToggleProps>(({ className, variant, size, ...props }, ref) => (
41
- <TogglePrimitive.Root ref={ref} className={toggleVariants({ variant, size, className })} {...props} />
42
- ));
39
+ type ToggleProps = React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root> &
40
+ ToggleVariantsProps;
41
+
42
+ const Toggle = React.forwardRef<ToggleElement, ToggleProps>(
43
+ ({ className, variant, size, ...props }, ref) => (
44
+ <TogglePrimitive.Root
45
+ ref={ref}
46
+ className={toggleVariants({ variant, size, className })}
47
+ {...props}
48
+ />
49
+ ),
50
+ );
43
51
 
44
52
  Toggle.displayName = TogglePrimitive.Root.displayName;
45
53
 
@@ -1,14 +1,16 @@
1
- "use client";
1
+ 'use client';
2
2
 
3
- import * as React from "react";
4
- import * as TooltipPrimitive from "@radix-ui/react-tooltip";
5
- import { cn } from "../lib/utils";
3
+ import * as React from 'react';
4
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
5
+ import { cn } from '../lib/utils';
6
6
 
7
7
  /* -----------------------------------------------------------------------------
8
8
  * Component: TooltipProvider
9
9
  * -------------------------------------------------------------------------- */
10
10
 
11
- type TooltipProviderProps = React.ComponentProps<typeof TooltipPrimitive.Provider>;
11
+ type TooltipProviderProps = React.ComponentProps<
12
+ typeof TooltipPrimitive.Provider
13
+ >;
12
14
  const TooltipProvider = TooltipPrimitive.Provider;
13
15
 
14
16
  /* -----------------------------------------------------------------------------
@@ -22,7 +24,9 @@ const Tooltip = TooltipPrimitive.Root;
22
24
  * Component: TooltipTrigger
23
25
  * -------------------------------------------------------------------------- */
24
26
 
25
- type TooltipTriggerProps = React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Trigger>;
27
+ type TooltipTriggerProps = React.ComponentPropsWithoutRef<
28
+ typeof TooltipPrimitive.Trigger
29
+ >;
26
30
  const TooltipTrigger = TooltipPrimitive.Trigger;
27
31
 
28
32
  /* -----------------------------------------------------------------------------
@@ -30,23 +34,26 @@ const TooltipTrigger = TooltipPrimitive.Trigger;
30
34
  * -------------------------------------------------------------------------- */
31
35
 
32
36
  type TooltipContentElement = React.ElementRef<typeof TooltipPrimitive.Content>;
33
- type TooltipContentProps = React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>;
34
-
35
- const TooltipContent = React.forwardRef<TooltipContentElement, TooltipContentProps>(
36
- ({ className, sideOffset = 6, ...props }, ref) => (
37
- <TooltipPrimitive.Portal>
38
- <TooltipPrimitive.Content
39
- ref={ref}
40
- sideOffset={sideOffset}
41
- className={cn(
42
- "bg-primary text-primary-foreground data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in data-[state=delayed-open]:zoom-in-95 data-[state=delayed-open]:data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:data-[side=right]:slide-in-from-left-2 data-[state=delayed-open]:data-[side=bottom]:slide-in-from-top-2 data-[state=delayed-open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 rounded-md px-3 py-1.5 text-xs",
43
- className,
44
- )}
45
- {...props}
46
- />
47
- </TooltipPrimitive.Portal>
48
- ),
49
- );
37
+ type TooltipContentProps = React.ComponentPropsWithoutRef<
38
+ typeof TooltipPrimitive.Content
39
+ >;
40
+
41
+ const TooltipContent = React.forwardRef<
42
+ TooltipContentElement,
43
+ TooltipContentProps
44
+ >(({ className, sideOffset = 6, ...props }, ref) => (
45
+ <TooltipPrimitive.Portal>
46
+ <TooltipPrimitive.Content
47
+ ref={ref}
48
+ sideOffset={sideOffset}
49
+ className={cn(
50
+ 'bg-primary text-primary-foreground data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in data-[state=delayed-open]:zoom-in-95 data-[state=delayed-open]:data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:data-[side=right]:slide-in-from-left-2 data-[state=delayed-open]:data-[side=bottom]:slide-in-from-top-2 data-[state=delayed-open]:data-[side=left]:slide-in-from-right-2 data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:zoom-out-95 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 z-50 rounded-md px-3 py-1.5 text-xs',
51
+ className,
52
+ )}
53
+ {...props}
54
+ />
55
+ </TooltipPrimitive.Portal>
56
+ ));
50
57
 
51
58
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
52
59
 
@@ -55,11 +62,19 @@ TooltipContent.displayName = TooltipPrimitive.Content.displayName;
55
62
  * -------------------------------------------------------------------------- */
56
63
 
57
64
  type TooltipArrowElement = React.ElementRef<typeof TooltipPrimitive.Arrow>;
58
- type TooltipArrowProps = React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Arrow>;
59
-
60
- const TooltipArrow = React.forwardRef<TooltipArrowElement, TooltipArrowProps>(({ className, ...props }, ref) => (
61
- <TooltipPrimitive.Arrow ref={ref} className={cn("fill-primary", className)} {...props} />
62
- ));
65
+ type TooltipArrowProps = React.ComponentPropsWithoutRef<
66
+ typeof TooltipPrimitive.Arrow
67
+ >;
68
+
69
+ const TooltipArrow = React.forwardRef<TooltipArrowElement, TooltipArrowProps>(
70
+ ({ className, ...props }, ref) => (
71
+ <TooltipPrimitive.Arrow
72
+ ref={ref}
73
+ className={cn('fill-primary', className)}
74
+ {...props}
75
+ />
76
+ ),
77
+ );
63
78
 
64
79
  TooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;
65
80
 
@@ -1,124 +1,124 @@
1
- import type { Config } from "tailwindcss";
2
- import { fontFamily } from "tailwindcss/defaultTheme";
3
- import animate from "./plugin/animate.plugin";
4
- import perspective from "./plugin/perspective.plugin";
5
- import base from "./plugin/base.plugin";
1
+ import type { Config } from 'tailwindcss';
2
+ import { fontFamily } from 'tailwindcss/defaultTheme';
3
+ import animate from './plugin/animate.plugin';
4
+ import perspective from './plugin/perspective.plugin';
5
+ import base from './plugin/base.plugin';
6
6
 
7
7
  const config: Config = {
8
- content: ["./src/**/*.{js,ts,jsx,tsx,mdx}"],
9
- darkMode: ["class"],
8
+ content: ['./src/**/*.{js,ts,jsx,tsx,mdx}'],
9
+ darkMode: ['class'],
10
10
  plugins: [animate, perspective, base],
11
11
  theme: {
12
12
  extend: {
13
13
  animation: {
14
- "collapsible-open": "collapsible-open 200ms ease",
15
- "collapsible-closed": "collapsible-closed 200ms ease",
16
- "caret-blink": "caret-blink 1000ms ease infinite",
14
+ 'collapsible-open': 'collapsible-open 200ms ease',
15
+ 'collapsible-closed': 'collapsible-closed 200ms ease',
16
+ 'caret-blink': 'caret-blink 1000ms ease infinite',
17
17
  },
18
18
  borderColor: {
19
- DEFAULT: "hsl(var(--border))",
19
+ DEFAULT: 'hsl(var(--border))',
20
20
  },
21
21
  borderRadius: {
22
- sm: "calc(var(--radius, 0.25rem) - 0.125px)", // 2px
23
- DEFAULT: "var(--radius, 0.25rem)", // 4px
24
- md: "calc(var(--radius, 0.25rem) + 0.125rem)", // 6px
25
- lg: "calc(var(--radius, 0.25rem) + 0.25rem)", // 8px
26
- xl: "calc(var(--radius, 0.25rem) + 0.5rem)", // 12px
27
- "2xl": "calc(var(--radius, 0.25rem) + 0.75rem)", // 16px
28
- "3xl": "calc(var(--radius, 0.25rem) + 1.25rem)", // 24px
22
+ sm: 'calc(var(--radius, 0.25rem) - 0.125px)', // 2px
23
+ DEFAULT: 'var(--radius, 0.25rem)', // 4px
24
+ md: 'calc(var(--radius, 0.25rem) + 0.125rem)', // 6px
25
+ lg: 'calc(var(--radius, 0.25rem) + 0.25rem)', // 8px
26
+ xl: 'calc(var(--radius, 0.25rem) + 0.5rem)', // 12px
27
+ '2xl': 'calc(var(--radius, 0.25rem) + 0.75rem)', // 16px
28
+ '3xl': 'calc(var(--radius, 0.25rem) + 1.25rem)', // 24px
29
29
  },
30
30
  colors: {
31
31
  accent: {
32
- DEFAULT: "hsl(var(--accent))",
33
- foreground: "hsl(var(--accent-foreground))",
32
+ DEFAULT: 'hsl(var(--accent))',
33
+ foreground: 'hsl(var(--accent-foreground))',
34
34
  },
35
- background: "hsl(var(--background))",
36
- border: "hsl(var(--border))",
35
+ background: 'hsl(var(--background))',
36
+ border: 'hsl(var(--border))',
37
37
  card: {
38
- DEFAULT: "hsl(var(--card))",
39
- foreground: "hsl(var(--card-foreground))",
38
+ DEFAULT: 'hsl(var(--card))',
39
+ foreground: 'hsl(var(--card-foreground))',
40
40
  },
41
- compound: "hsl(var(--compound))",
41
+ compound: 'hsl(var(--compound))',
42
42
  destructive: {
43
- DEFAULT: "hsl(var(--destructive))",
44
- foreground: "hsl(var(--destructive-foreground))",
43
+ DEFAULT: 'hsl(var(--destructive))',
44
+ foreground: 'hsl(var(--destructive-foreground))',
45
45
  },
46
- foreground: "hsl(var(--foreground))",
46
+ foreground: 'hsl(var(--foreground))',
47
47
  info: {
48
- DEFAULT: "hsl(var(--info))",
49
- foreground: "hsl(var(--info-foreground))",
48
+ DEFAULT: 'hsl(var(--info))',
49
+ foreground: 'hsl(var(--info-foreground))',
50
50
  },
51
- input: "hsl(var(--input))",
51
+ input: 'hsl(var(--input))',
52
52
  muted: {
53
- DEFAULT: "hsl(var(--muted))",
54
- foreground: "hsl(var(--muted-foreground))",
53
+ DEFAULT: 'hsl(var(--muted))',
54
+ foreground: 'hsl(var(--muted-foreground))',
55
55
  },
56
56
  popover: {
57
- DEFAULT: "hsl(var(--popover))",
58
- foreground: "hsl(var(--popover-foreground))",
57
+ DEFAULT: 'hsl(var(--popover))',
58
+ foreground: 'hsl(var(--popover-foreground))',
59
59
  },
60
60
  primary: {
61
- DEFAULT: "hsl(var(--primary))",
62
- foreground: "hsl(var(--primary-foreground))",
61
+ DEFAULT: 'hsl(var(--primary))',
62
+ foreground: 'hsl(var(--primary-foreground))',
63
63
  },
64
- ring: "hsl(var(--ring))",
64
+ ring: 'hsl(var(--ring))',
65
65
  secondary: {
66
- DEFAULT: "hsl(var(--secondary))",
67
- foreground: "hsl(var(--secondary-foreground))",
66
+ DEFAULT: 'hsl(var(--secondary))',
67
+ foreground: 'hsl(var(--secondary-foreground))',
68
68
  },
69
69
  success: {
70
- DEFAULT: "hsl(var(--success))",
71
- foreground: "hsl(var(--success-foreground))",
70
+ DEFAULT: 'hsl(var(--success))',
71
+ foreground: 'hsl(var(--success-foreground))',
72
72
  },
73
73
  warning: {
74
- DEFAULT: "hsl(var(--warning))",
75
- foreground: "hsl(var(--warning-foreground))",
74
+ DEFAULT: 'hsl(var(--warning))',
75
+ foreground: 'hsl(var(--warning-foreground))',
76
76
  },
77
77
  },
78
78
  fontFamily: {
79
- sans: `var(--font-sans, ${fontFamily.sans.join(", ")})`,
79
+ sans: `var(--font-sans, ${fontFamily.sans.join(', ')})`,
80
80
  },
81
81
  keyframes: {
82
- "collapsible-open": {
82
+ 'collapsible-open': {
83
83
  from: {
84
- height: "0",
84
+ height: '0',
85
85
  },
86
86
  to: {
87
- height: "var(--radix-collapsible-content-height)",
87
+ height: 'var(--radix-collapsible-content-height)',
88
88
  },
89
89
  },
90
- "collapsible-closed": {
90
+ 'collapsible-closed': {
91
91
  from: {
92
- height: "var(--radix-collapsible-content-height)",
92
+ height: 'var(--radix-collapsible-content-height)',
93
93
  },
94
94
  to: {
95
- height: "0",
95
+ height: '0',
96
96
  },
97
97
  },
98
- "caret-blink": {
99
- "0%,70%,100%": {
100
- opacity: "1",
98
+ 'caret-blink': {
99
+ '0%,70%,100%': {
100
+ opacity: '1',
101
101
  },
102
- "20%,50%": {
103
- opacity: "0",
102
+ '20%,50%': {
103
+ opacity: '0',
104
104
  },
105
105
  },
106
106
  },
107
107
  outlineColor: {
108
- DEFAULT: "hsl(var(--ring))",
108
+ DEFAULT: 'hsl(var(--ring))',
109
109
  },
110
110
  ringColor: {
111
- DEFAULT: "hsl(var(--ring))",
111
+ DEFAULT: 'hsl(var(--ring))',
112
112
  },
113
113
  ringOffsetColor: {
114
- DEFAULT: "hsl(var(--background))",
114
+ DEFAULT: 'hsl(var(--background))',
115
115
  },
116
116
  spacing: {
117
- 0.75: "0.1875rem", // 3px
118
- 18: "4.5rem", // 72px
117
+ 0.75: '0.1875rem', // 3px
118
+ 18: '4.5rem', // 72px
119
119
  },
120
120
  transitionDuration: {
121
- 250: "250ms",
121
+ 250: '250ms',
122
122
  },
123
123
  },
124
124
  },
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/lib/utils.ts"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\nimport { defineConfig } from \"cva\";\n\nexport const {\n cva,\n cx: cn,\n compose,\n} = defineConfig({\n hooks: {\n onComplete: (className) => twMerge(className),\n },\n});\n"],"mappings":"AAAA,OAAS,WAAAA,MAAe,iBACxB,OAAS,gBAAAC,MAAoB,MAEtB,GAAM,CACX,IAAAC,EACA,GAAIC,EACJ,QAAAC,CACF,EAAIH,EAAa,CACf,MAAO,CACL,WAAaI,GAAcL,EAAQK,CAAS,CAC9C,CACF,CAAC","names":["twMerge","defineConfig","cva","cn","compose","className"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../plugin/base.plugin.ts"],"sourcesContent":["import plugin from \"tailwindcss/plugin\";\n\nconst base = plugin(({ addBase }) => {\n addBase({\n \".dark\": {\n \"color-scheme\": \"dark\",\n },\n body: {\n \"@apply bg-background text-foreground\": \"\",\n },\n \":focus-visible\": {\n \"@apply outline-ring\": \"\",\n },\n \"button, [role='button'], input:where([type='button']), input:where([type='reset']), input:where([type='submit'])\":\n {\n \"@apply outline-transparent\": \"\",\n },\n });\n});\n\nexport default base;\n"],"mappings":"AAAA,OAAOA,MAAY,qBAEnB,IAAMC,EAAOD,EAAO,CAAC,CAAE,QAAAE,CAAQ,IAAM,CACnCA,EAAQ,CACN,QAAS,CACP,eAAgB,MAClB,EACA,KAAM,CACJ,uCAAwC,EAC1C,EACA,iBAAkB,CAChB,sBAAuB,EACzB,EACA,mHACE,CACE,6BAA8B,EAChC,CACJ,CAAC,CACH,CAAC,EAEMC,EAAQF","names":["plugin","base","addBase","base_plugin_default"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../plugin/animate.plugin.ts"],"names":["plugin","animate","addUtilities","matchUtilities","theme","value","animate_plugin_default"],"mappings":"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","sourcesContent":["import plugin from \"tailwindcss/plugin\";\nimport { type Config } from \"tailwindcss/types/config\";\n\ntype Theme = <TDefaultValue = Config[\"theme\"]>(path?: string, defaultValue?: TDefaultValue) => TDefaultValue;\n\nconst animate = plugin(\n ({ addUtilities, matchUtilities, theme }) => {\n // Keyframes\n addUtilities({\n \"@keyframes in\": {\n from: {\n opacity: \"var(--animate-in-opacity, 1)\",\n transform: [\n \"translate3d(var(--animate-in-translate-x, 0), var(--animate-in-translate-y, 0), 0)\",\n \"scale3d(var(--animate-in-scale, 1), var(--animate-in-scale, 1), var(--animate-in-scale, 1))\",\n \"rotate(var(--animate-in-rotate, 0))\",\n ].join(\" \"),\n },\n },\n\n \"@keyframes out\": {\n to: {\n opacity: \"var(--animate-out-opacity, 1)\",\n transform: [\n \"translate3d(var(--animate-out-translate-x, 0), var(--animate-out-translate-y, 0), 0)\",\n \"scale3d(var(--animate-out-scale, 1), var(--animate-out-scale, 1), var(--animate-out-scale, 1))\",\n \"rotate(var(--animate-out-rotate, 0))\",\n ].join(\" \"),\n },\n },\n\n \"@keyframes fade-in\": {\n from: {\n opacity: \"var(--animate-in-opacity, 0)\",\n },\n },\n\n \"@keyframes fade-out\": {\n to: {\n opacity: \"var(--animate-out-opacity, 0)\",\n },\n },\n\n \".animate-in\": {\n animationName: \"in\",\n animationDuration: theme(\"animationDuration.DEFAULT\"),\n \"--animate-in-opacity\": \"initial\",\n \"--animate-in-scale\": \"initial\",\n \"--animate-in-rotate\": \"initial\",\n \"--animate-in-translate-x\": \"initial\",\n \"--animate-in-translate-y\": \"initial\",\n },\n\n \".animate-out\": {\n animationName: \"out\",\n animationDuration: theme(\"animationDuration.DEFAULT\"),\n \"--animate-out-opacity\": \"initial\",\n \"--animate-out-scale\": \"initial\",\n \"--animate-out-rotate\": \"initial\",\n \"--animate-out-translate-x\": \"initial\",\n \"--animate-out-translate-y\": \"initial\",\n },\n\n \".animate-fade-in\": {\n animationName: \"fade-in\",\n animationDuration: theme(\"animationDuration.DEFAULT\"),\n \"--animate-in-opacity\": \"initial\",\n },\n\n \".animate-fade-out\": {\n animationName: \"fade-out\",\n animationDuration: theme(\"animationDuration.DEFAULT\"),\n \"--animate-out-opacity\": \"initial\",\n },\n });\n\n // Play state\n addUtilities({\n \".animation-running\": {\n animationPlayState: \"running\",\n },\n \".animation-paused\": {\n animationPlayState: \"paused\",\n },\n });\n\n // Delay\n matchUtilities(\n {\n \"animate-delay\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n animationDelay: value,\n }),\n },\n {\n values: theme(\"animationDelay\"),\n },\n );\n\n // Direction\n matchUtilities(\n {\n \"animate-direction\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n animationDirection: value,\n }),\n },\n {\n values: theme(\"animationDirection\"),\n },\n );\n\n // Duration\n matchUtilities(\n {\n \"animate-duration\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n animationDuration: value,\n }),\n },\n {\n values: theme(\"animationDuration\"),\n },\n );\n\n // Fill mode\n matchUtilities(\n {\n \"animate-fill-mode\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n animationFillMode: value,\n }),\n },\n {\n values: theme(\"animationFillMode\"),\n },\n );\n\n // Opacity\n matchUtilities(\n {\n \"fade-in\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-in-opacity\": value,\n }),\n \"fade-out\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-out-opacity\": value,\n }),\n },\n {\n values: theme(\"animationOpacity\"),\n },\n );\n\n // Repeat\n matchUtilities(\n {\n \"animate-repeat\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n animationIterationCount: value,\n }),\n },\n {\n values: theme(\"animationRepeat\"),\n },\n );\n\n // Rotate\n matchUtilities(\n {\n \"spin-in\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-in-rotate\": value,\n }),\n \"spin-out\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-out-rotate\": value,\n }),\n },\n {\n values: theme(\"animationRotate\"),\n },\n );\n\n // Scale - Zoom\n matchUtilities(\n {\n \"zoom-in\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-in-scale\": value,\n }),\n \"zoom-out\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-out-scale\": value,\n }),\n },\n {\n values: theme(\"animationScale\"),\n },\n );\n\n // Timing function\n matchUtilities(\n {\n \"animate-ease\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n animationTimingFunction: value,\n }),\n },\n {\n values: theme(\"animationTimingFunction\"),\n },\n );\n\n // Translate - Slide\n matchUtilities(\n {\n \"slide-in-from-top\": (value) => ({\n \"--animate-in-translate-y\": `-${value}`,\n }),\n\n \"slide-in-from-bottom\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-in-translate-y\": value,\n }),\n\n \"slide-in-from-left\": (value) => ({\n \"--animate-in-translate-x\": `-${value}`,\n }),\n\n \"slide-in-from-right\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-in-translate-x\": value,\n }),\n\n \"slide-out-to-top\": (value) => ({\n \"--animate-out-translate-y\": `-${value}`,\n }),\n\n \"slide-out-to-bottom\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-out-translate-y\": value,\n }),\n\n \"slide-out-to-left\": (value) => ({\n \"--animate-out-translate-x\": `-${value}`,\n }),\n\n \"slide-out-to-right\": (value) => ({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- safe\n \"--animate-out-translate-x\": value,\n }),\n },\n {\n values: theme(\"animationTranslate\"),\n },\n );\n },\n {\n theme: {\n extend: {\n animationDelay: ({ theme }: { theme: Theme }) => ({\n ...theme(\"transitionDelay\"),\n }),\n\n animationDirection: {\n normal: \"normal\",\n reverse: \"reverse\",\n alternate: \"alternate\",\n \"alternate-reverse\": \"alternate-reverse\",\n },\n\n animationDuration: ({ theme }: { theme: Theme }) => ({\n ...theme(\"transitionDuration\"),\n }),\n\n animationFillMode: {\n none: \"none\",\n forwards: \"forwards\",\n backwards: \"backwards\",\n both: \"both\",\n },\n\n animationOpacity: ({ theme }: { theme: Theme }) => ({\n DEFAULT: 0,\n ...theme(\"opacity\"),\n }),\n\n animationRepeat: {\n 0: \"0\",\n 1: \"1\",\n infinite: \"infinite\",\n },\n\n animationRotate: ({ theme }: { theme: Theme }) => ({\n DEFAULT: \"30deg\",\n ...theme(\"rotate\"),\n }),\n\n animationScale: ({ theme }: { theme: Theme }) => ({\n DEFAULT: 0,\n ...theme(\"scale\"),\n }),\n\n animationTimingFunction: ({ theme }: { theme: Theme }) => ({\n ...theme(\"transitionTimingFunction\"),\n }),\n\n animationTranslate: ({ theme }: { theme: Theme }) => ({\n DEFAULT: \"100%\",\n ...theme(\"translate\"),\n }),\n },\n },\n },\n);\n\nexport default animate;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/react/select.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { CaretSortIcon, CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"@radix-ui/react-icons\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { cn } from \"../lib/utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: Select\n * -------------------------------------------------------------------------- */\n\ntype SelectProps = React.ComponentProps<typeof SelectPrimitive.Root>;\nconst Select = SelectPrimitive.Root;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectGroup\n * -------------------------------------------------------------------------- */\n\ntype SelectGroupProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Group>;\nconst SelectGroup = SelectPrimitive.Group;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectValue\n * -------------------------------------------------------------------------- */\n\ntype SelectValueProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Value>;\nconst SelectValue = SelectPrimitive.Value;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectTrigger\n * -------------------------------------------------------------------------- */\n\ntype SelectTriggerElement = React.ElementRef<typeof SelectPrimitive.Trigger>;\ntype SelectTriggerProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>;\n\nconst SelectTrigger = React.forwardRef<SelectTriggerElement, SelectTriggerProps>(\n ({ children, className, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"border-input placeholder:text-muted-foreground flex h-10 w-full items-center justify-between gap-2 whitespace-nowrap rounded-md border bg-transparent px-3 text-sm shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 [&>span]:truncate\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <CaretSortIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n ),\n);\n\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectScrollUpButton\n * -------------------------------------------------------------------------- */\n\ntype SelectScrollUpButtonElement = React.ElementRef<typeof SelectPrimitive.ScrollUpButton>;\ntype SelectScrollUpButtonProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>;\n\nconst SelectScrollUpButton = React.forwardRef<SelectScrollUpButtonElement, SelectScrollUpButtonProps>(\n ({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n {...props}\n >\n <ChevronUpIcon />\n </SelectPrimitive.ScrollUpButton>\n ),\n);\n\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectScrollDownButton\n * -------------------------------------------------------------------------- */\n\ntype SelectScrollDownButtonElement = React.ElementRef<typeof SelectPrimitive.ScrollDownButton>;\ntype SelectScrollDownButtonProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>;\n\nconst SelectScrollDownButton = React.forwardRef<SelectScrollDownButtonElement, SelectScrollDownButtonProps>(\n ({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\"flex cursor-default items-center justify-center py-1\", className)}\n {...props}\n >\n <ChevronDownIcon />\n </SelectPrimitive.ScrollDownButton>\n ),\n);\n\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectContent\n * -------------------------------------------------------------------------- */\n\ntype SelectContentElement = React.ElementRef<typeof SelectPrimitive.Content>;\ntype SelectContentProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>;\n\nconst SelectContent = React.forwardRef<SelectContentElement, SelectContentProps>(\n ({ children, className, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=open]:fade-in 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-32 overflow-hidden rounded-md border shadow-md\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n ),\n);\n\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectLabel\n * -------------------------------------------------------------------------- */\n\ntype SelectLabelElement = React.ElementRef<typeof SelectPrimitive.Label>;\ntype SelectLabelProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>;\n\nconst SelectLabel = React.forwardRef<SelectLabelElement, SelectLabelProps>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label ref={ref} className={cn(\"px-2 py-1.5 text-sm font-semibold\", className)} {...props} />\n));\n\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectItem\n * -------------------------------------------------------------------------- */\n\ntype SelectItemElement = React.ElementRef<typeof SelectPrimitive.Item>;\ntype SelectItemProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>;\n\nconst SelectItem = React.forwardRef<SelectItemElement, SelectItemProps>(({ children, className, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm focus:outline-none aria-disabled:pointer-events-none aria-disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\n\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectSeparator\n * -------------------------------------------------------------------------- */\n\ntype SelectSeparatorElement = React.ElementRef<typeof SelectPrimitive.Separator>;\ntype SelectSeparatorProps = React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>;\n\nconst SelectSeparator = React.forwardRef<SelectSeparatorElement, SelectSeparatorProps>(\n ({ className, ...props }, ref) => (\n <SelectPrimitive.Separator ref={ref} className={cn(\"bg-muted -mx-1 my-1 h-px\", className)} {...props} />\n ),\n);\n\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n type SelectProps,\n type SelectGroupProps,\n type SelectValueProps,\n type SelectTriggerProps,\n type SelectContentProps,\n type SelectLabelProps,\n type SelectItemProps,\n type SelectSeparatorProps,\n type SelectScrollUpButtonProps,\n type SelectScrollDownButtonProps,\n};\n"],"mappings":"yCAEA,UAAYA,MAAW,QACvB,OAAS,iBAAAC,EAAe,aAAAC,EAAW,mBAAAC,EAAiB,iBAAAC,MAAqB,wBACzE,UAAYC,MAAqB,yBAiC7B,OAUI,OAAAC,EAVJ,QAAAC,MAAA,oBAzBJ,IAAMC,EAAyB,OAOzBC,EAA8B,QAO9BC,EAA8B,QAS9BC,EAAsB,aAC1B,CAAC,CAAE,SAAAC,EAAU,UAAAC,EAAW,GAAGC,CAAM,EAAGC,IAClCR,EAAiB,UAAhB,CACC,IAAKQ,EACL,UAAWC,EACT,oVACAH,CACF,EACC,GAAGC,EAEH,UAAAF,EACDN,EAAiB,OAAhB,CAAqB,QAAO,GAC3B,SAAAA,EAACW,EAAA,CAAc,UAAU,oBAAoB,EAC/C,GACF,CAEJ,EAEAN,EAAc,YAA8B,UAAQ,YASpD,IAAMO,EAA6B,aACjC,CAAC,CAAE,UAAAL,EAAW,GAAGC,CAAM,EAAGC,IACxBT,EAAiB,iBAAhB,CACC,IAAKS,EACL,UAAWC,EAAG,uDAAwDH,CAAS,EAC9E,GAAGC,EAEJ,SAAAR,EAACa,EAAA,EAAc,EACjB,CAEJ,EAEAD,EAAqB,YAA8B,iBAAe,YASlE,IAAME,EAA+B,aACnC,CAAC,CAAE,UAAAP,EAAW,GAAGC,CAAM,EAAGC,IACxBT,EAAiB,mBAAhB,CACC,IAAKS,EACL,UAAWC,EAAG,uDAAwDH,CAAS,EAC9E,GAAGC,EAEJ,SAAAR,EAACe,EAAA,EAAgB,EACnB,CAEJ,EAEAD,EAAuB,YAA8B,mBAAiB,YAStE,IAAME,EAAsB,aAC1B,CAAC,CAAE,SAAAV,EAAU,UAAAC,EAAW,SAAAU,EAAW,SAAU,GAAGT,CAAM,EAAGC,IACvDT,EAAiB,SAAhB,CACC,SAAAC,EAAiB,UAAhB,CACC,IAAKQ,EACL,UAAWC,EACT,8uBACAO,IAAa,UACX,kIACFV,CACF,EACA,SAAUU,EACT,GAAGT,EAEJ,UAAAR,EAACY,EAAA,EAAqB,EACtBZ,EAAiB,WAAhB,CACC,UAAWU,EACT,MACAO,IAAa,UACX,yFACJ,EAEC,SAAAX,EACH,EACAN,EAACc,EAAA,EAAuB,GAC1B,EACF,CAEJ,EAEAE,EAAc,YAA8B,UAAQ,YASpD,IAAME,EAAoB,aAAiD,CAAC,CAAE,UAAAX,EAAW,GAAGC,CAAM,EAAGC,IACnGT,EAAiB,QAAhB,CAAsB,IAAKS,EAAK,UAAWC,EAAG,oCAAqCH,CAAS,EAAI,GAAGC,EAAO,CAC5G,EAEDU,EAAY,YAA8B,QAAM,YAShD,IAAMC,EAAmB,aAA+C,CAAC,CAAE,SAAAb,EAAU,UAAAC,EAAW,GAAGC,CAAM,EAAGC,IAC1GR,EAAiB,OAAhB,CACC,IAAKQ,EACL,UAAWC,EACT,8NACAH,CACF,EACC,GAAGC,EAEJ,UAAAR,EAAC,QAAK,UAAU,6DACd,SAAAA,EAAiB,gBAAhB,CACC,SAAAA,EAACoB,EAAA,CAAU,UAAU,SAAS,EAChC,EACF,EACApB,EAAiB,WAAhB,CAA0B,SAAAM,EAAS,GACtC,CACD,EAEDa,EAAW,YAA8B,OAAK,YAS9C,IAAME,EAAwB,aAC5B,CAAC,CAAE,UAAAd,EAAW,GAAGC,CAAM,EAAGC,IACxBT,EAAiB,YAAhB,CAA0B,IAAKS,EAAK,UAAWC,EAAG,2BAA4BH,CAAS,EAAI,GAAGC,EAAO,CAE1G,EAEAa,EAAgB,YAA8B,YAAU","names":["React","CaretSortIcon","CheckIcon","ChevronDownIcon","ChevronUpIcon","SelectPrimitive","jsx","jsxs","Select","SelectGroup","SelectValue","SelectTrigger","children","className","props","ref","cn","CaretSortIcon","SelectScrollUpButton","ChevronUpIcon","SelectScrollDownButton","ChevronDownIcon","SelectContent","position","SelectLabel","SelectItem","CheckIcon","SelectSeparator"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/react/button.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Fragment } from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { type VariantProps } from \"cva\";\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { cva } from \"../lib/utils\";\nimport { Spinner } from \"./spinner\";\n\n/* -----------------------------------------------------------------------------\n * Variant: Button\n * -------------------------------------------------------------------------- */\n\nconst buttonVariants = cva({\n base: \"inline-flex select-none items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90 shadow\",\n destructive: \"bg-destructive text-destructive-foreground hover:bg-destructive/90 shadow-sm\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n outline: \"border-input bg-background hover:bg-accent hover:text-accent-foreground border shadow-sm\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80 shadow-sm\",\n },\n size: {\n default: \"h-10 px-4\",\n xs: \"h-8 px-2\",\n sm: \"h-9 px-3\",\n lg: \"h-11 px-8\",\n icon: \"size-10\",\n \"icon-xs\": \"size-8\",\n \"icon-sm\": \"size-9\",\n \"icon-lg\": \"size-11\",\n },\n loading: {\n true: \"relative\",\n },\n },\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n loading: false,\n },\n});\n\ntype ButtonVariantsProps = VariantProps<typeof buttonVariants>;\n\n/* -----------------------------------------------------------------------------\n * Component: Button\n * -------------------------------------------------------------------------- */\n\ntype ButtonElement = HTMLButtonElement;\n\ninterface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, ButtonVariantsProps {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<ButtonElement, ButtonProps>(\n ({ children, className, variant, size, loading = false, asChild = false, ...props }, ref) => {\n const Component = asChild ? Slot : \"button\";\n const ComponentLoading = asChild ? \"span\" : Fragment;\n const disabled = loading || props.disabled;\n\n return (\n <Component\n ref={ref}\n type={asChild ? undefined : \"button\"}\n className={buttonVariants({ variant, size, loading, className })}\n {...props}\n disabled={disabled}\n >\n {loading ? (\n <ComponentLoading>\n <span aria-hidden className=\"invisible contents\">\n {children}\n </span>\n <VisuallyHidden>{children}</VisuallyHidden>\n <span className=\"absolute inset-0 flex items-center justify-center\">\n <Spinner />\n </span>\n </ComponentLoading>\n ) : (\n children\n )}\n </Component>\n );\n },\n);\n\nButton.displayName = \"Button\";\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Button, buttonVariants, type ButtonProps, type ButtonVariantsProps };\n"],"mappings":"6EAAA,UAAYA,MAAW,QACvB,OAAS,YAAAC,MAAgB,QACzB,OAAS,QAAAC,MAAY,uBAErB,OAAS,kBAAAC,MAAsB,kCAmErB,OACE,OAAAC,EADF,QAAAC,MAAA,oBA3DV,IAAMC,EAAiBC,EAAI,CACzB,KAAM,sPACN,SAAU,CACR,QAAS,CACP,QAAS,gEACT,YAAa,+EACb,MAAO,+CACP,KAAM,kDACN,QAAS,2FACT,UAAW,wEACb,EACA,KAAM,CACJ,QAAS,YACT,GAAI,WACJ,GAAI,WACJ,GAAI,YACJ,KAAM,UACN,UAAW,SACX,UAAW,SACX,UAAW,SACb,EACA,QAAS,CACP,KAAM,UACR,CACF,EACA,gBAAiB,CACf,KAAM,UACN,QAAS,UACT,QAAS,EACX,CACF,CAAC,EAcKC,EAAe,aACnB,CAAC,CAAE,SAAAC,EAAU,UAAAC,EAAW,QAAAC,EAAS,KAAAC,EAAM,QAAAC,EAAU,GAAO,QAAAC,EAAU,GAAO,GAAGC,CAAM,EAAGC,IAAQ,CAC3F,IAAMC,EAAYH,EAAUI,EAAO,SAC7BC,EAAmBL,EAAU,OAASM,EACtCC,EAAWR,GAAWE,EAAM,SAElC,OACEX,EAACa,EAAA,CACC,IAAKD,EACL,KAAMF,EAAU,OAAY,SAC5B,UAAWR,EAAe,CAAE,QAAAK,EAAS,KAAAC,EAAM,QAAAC,EAAS,UAAAH,CAAU,CAAC,EAC9D,GAAGK,EACJ,SAAUM,EAET,SAAAR,EACCR,EAACc,EAAA,CACC,UAAAf,EAAC,QAAK,cAAW,GAAC,UAAU,qBACzB,SAAAK,EACH,EACAL,EAACkB,EAAA,CAAgB,SAAAb,EAAS,EAC1BL,EAAC,QAAK,UAAU,oDACd,SAAAA,EAACmB,EAAA,EAAQ,EACX,GACF,EAEAd,EAEJ,CAEJ,CACF,EAEAD,EAAO,YAAc","names":["React","Fragment","Slot","VisuallyHidden","jsx","jsxs","buttonVariants","cva","Button","children","className","variant","size","loading","asChild","props","ref","Component","Slot","ComponentLoading","Fragment","disabled","VisuallyHidden","Spinner"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/react/spinner.tsx"],"names":["React","VisuallyHidden","jsx","jsxs","spinnerCount","Spinner","children","className","loading","props","ref","spinner","cn","_","i"],"mappings":"wCAAA,UAAYA,MAAW,QACvB,OAAS,kBAAAC,MAAsB,kCA4BrB,cAAAC,EAqBJ,QAAAC,MArBI,oBArBV,IAAMC,EAAe,EAQfC,EAAgB,aACpB,CAAC,CAAE,SAAAC,EAAU,UAAAC,EAAW,QAAAC,EAAU,GAAM,GAAGC,CAAM,EAAGC,IAAQ,CAC1D,GAAI,CAACF,EACH,OAAOF,EAGT,IAAMK,EACJT,EAAC,QACC,IAAKQ,EACL,UAAWE,EAAG,8DAA+DL,CAAS,EACrF,GAAGE,EAEH,eAAM,KAAK,CAAE,OAAQL,CAAa,EAAG,CAACS,EAAGC,IACxCZ,EAAC,QAEC,UAAU,kSACV,MACE,CACE,MAAO,IAAI,IAAME,GAAc,SAAS,CAAC,IACzC,kBAAmB,MAAMA,EAAeU,GAAK,KAAK,SAAS,CAAC,KAC5D,mBAAoB,IAAK,IAAMV,EAAgBU,GAAG,SAAS,CAAC,MAC5D,qBAAsB,IAAIV,EAAe,KAAK,SAAS,CAAC,IAC1D,GARGU,CAUP,CACD,EACH,EAGF,OAAIR,IAAa,OACRK,EAIPR,EAAC,QAAK,UAAU,WACd,UAAAD,EAAC,QAAK,cAAW,GAAC,UAAU,qBACzB,SAAAI,EACH,EACAJ,EAACD,EAAA,CAAgB,SAAAK,EAAS,EAC1BJ,EAAC,QAAK,UAAU,oDAAqD,SAAAS,EAAQ,GAC/E,CAEJ,CACF,EAEAN,EAAQ,YAAc","sourcesContent":["import * as React from \"react\";\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { cn } from \"../lib/utils\";\n\n/* -----------------------------------------------------------------------------\n * Component: Spinner\n * -------------------------------------------------------------------------- */\n\nconst spinnerCount = 8;\n\ntype SpinnerElement = HTMLSpanElement;\n\ninterface SpinnerProps extends React.HTMLAttributes<HTMLSpanElement> {\n loading?: boolean;\n}\n\nconst Spinner = React.forwardRef<SpinnerElement, SpinnerProps>(\n ({ children, className, loading = true, ...props }, ref) => {\n if (!loading) {\n return children;\n }\n\n const spinner = (\n <span\n ref={ref}\n className={cn(\"relative flex size-4 items-center justify-center opacity-60\", className)}\n {...props}\n >\n {Array.from({ length: spinnerCount }, (_, i) => (\n <span\n key={i}\n className=\"before:fade-out-25 before:animate-out before:animate-repeat-infinite before:animate-delay-[var(--spinner-delay)] before:animate-duration-[var(--spinner-duration)] absolute h-full rotate-[var(--spinner-rotate)] before:block before:h-1/3 before:w-full before:rounded-full before:bg-current\"\n style={\n {\n width: `${(100 / spinnerCount).toString()}%`,\n \"--spinner-delay\": `-${((spinnerCount - i) * 100).toString()}ms`,\n \"--spinner-rotate\": `${((360 / spinnerCount) * i).toString()}deg`,\n \"--spinner-duration\": `${(spinnerCount * 100).toString()}ms`,\n } as React.CSSProperties\n }\n />\n ))}\n </span>\n );\n\n if (children === undefined) {\n return spinner;\n }\n\n return (\n <span className=\"relative\">\n <span aria-hidden className=\"invisible contents\">\n {children}\n </span>\n <VisuallyHidden>{children}</VisuallyHidden>\n <span className=\"absolute inset-0 flex items-center justify-center\">{spinner}</span>\n </span>\n );\n },\n);\n\nSpinner.displayName = \"Spinner\";\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Spinner, type SpinnerProps };\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/react/button.tsx"],"names":["React","Fragment","Slot","VisuallyHidden","jsx","jsxs","buttonVariants","cva","Button","children","className","variant","size","loading","asChild","props","ref","Component","ComponentLoading","disabled","Spinner"],"mappings":"2EAAA,UAAYA,MAAW,QACvB,OAAS,YAAAC,MAAgB,QACzB,OAAS,QAAAC,MAAY,uBAErB,OAAS,kBAAAC,MAAsB,kCAmErB,OACE,OAAAC,EADF,QAAAC,MAAA,oBA3DV,IAAMC,EAAiBC,EAAI,CACzB,KAAM,sPACN,SAAU,CACR,QAAS,CACP,QAAS,gEACT,YAAa,+EACb,MAAO,+CACP,KAAM,kDACN,QAAS,2FACT,UAAW,wEACb,EACA,KAAM,CACJ,QAAS,YACT,GAAI,WACJ,GAAI,WACJ,GAAI,YACJ,KAAM,UACN,UAAW,SACX,UAAW,SACX,UAAW,SACb,EACA,QAAS,CACP,KAAM,UACR,CACF,EACA,gBAAiB,CACf,KAAM,UACN,QAAS,UACT,QAAS,EACX,CACF,CAAC,EAcKC,EAAe,aACnB,CAAC,CAAE,SAAAC,EAAU,UAAAC,EAAW,QAAAC,EAAS,KAAAC,EAAM,QAAAC,EAAU,GAAO,QAAAC,EAAU,GAAO,GAAGC,CAAM,EAAGC,IAAQ,CAC3F,IAAMC,EAAYH,EAAUZ,EAAO,SAC7BgB,EAAmBJ,EAAU,OAASb,EACtCkB,EAAWN,GAAWE,EAAM,SAElC,OACEX,EAACa,EAAA,CACC,IAAKD,EACL,KAAMF,EAAU,OAAY,SAC5B,UAAWR,EAAe,CAAE,QAAAK,EAAS,KAAAC,EAAM,QAAAC,EAAS,UAAAH,CAAU,CAAC,EAC9D,GAAGK,EACJ,SAAUI,EAET,SAAAN,EACCR,EAACa,EAAA,CACC,UAAAd,EAAC,QAAK,cAAW,GAAC,UAAU,qBACzB,SAAAK,EACH,EACAL,EAACD,EAAA,CAAgB,SAAAM,EAAS,EAC1BL,EAAC,QAAK,UAAU,oDACd,SAAAA,EAACgB,EAAA,EAAQ,EACX,GACF,EAEAX,EAEJ,CAEJ,CACF,EAEAD,EAAO,YAAc","sourcesContent":["import * as React from \"react\";\nimport { Fragment } from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { type VariantProps } from \"cva\";\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { cva } from \"../lib/utils\";\nimport { Spinner } from \"./spinner\";\n\n/* -----------------------------------------------------------------------------\n * Variant: Button\n * -------------------------------------------------------------------------- */\n\nconst buttonVariants = cva({\n base: \"inline-flex select-none items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90 shadow\",\n destructive: \"bg-destructive text-destructive-foreground hover:bg-destructive/90 shadow-sm\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n outline: \"border-input bg-background hover:bg-accent hover:text-accent-foreground border shadow-sm\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80 shadow-sm\",\n },\n size: {\n default: \"h-10 px-4\",\n xs: \"h-8 px-2\",\n sm: \"h-9 px-3\",\n lg: \"h-11 px-8\",\n icon: \"size-10\",\n \"icon-xs\": \"size-8\",\n \"icon-sm\": \"size-9\",\n \"icon-lg\": \"size-11\",\n },\n loading: {\n true: \"relative\",\n },\n },\n defaultVariants: {\n size: \"default\",\n variant: \"default\",\n loading: false,\n },\n});\n\ntype ButtonVariantsProps = VariantProps<typeof buttonVariants>;\n\n/* -----------------------------------------------------------------------------\n * Component: Button\n * -------------------------------------------------------------------------- */\n\ntype ButtonElement = HTMLButtonElement;\n\ninterface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, ButtonVariantsProps {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<ButtonElement, ButtonProps>(\n ({ children, className, variant, size, loading = false, asChild = false, ...props }, ref) => {\n const Component = asChild ? Slot : \"button\";\n const ComponentLoading = asChild ? \"span\" : Fragment;\n const disabled = loading || props.disabled;\n\n return (\n <Component\n ref={ref}\n type={asChild ? undefined : \"button\"}\n className={buttonVariants({ variant, size, loading, className })}\n {...props}\n disabled={disabled}\n >\n {loading ? (\n <ComponentLoading>\n <span aria-hidden className=\"invisible contents\">\n {children}\n </span>\n <VisuallyHidden>{children}</VisuallyHidden>\n <span className=\"absolute inset-0 flex items-center justify-center\">\n <Spinner />\n </span>\n </ComponentLoading>\n ) : (\n children\n )}\n </Component>\n );\n },\n);\n\nButton.displayName = \"Button\";\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Button, buttonVariants, type ButtonProps, type ButtonVariantsProps };\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/react/checkbox-group.primitive.tsx"],"names":["React","CheckboxPrimitive","createCheckboxScope","createContextScope","RovingFocusGroup","createRovingFocusGroupScope","useControllableState","useDirection","Primitive","jsx","CHECKBOX_GROUP_NAME","createCheckboxGroupContext","createCheckboxGroupScope","useRovingFocusGroupScope","useCheckboxScope","CheckboxGroupProvider","useCheckboxGroupContext","CheckboxGroup","__scopeCheckboxGroup","name","defaultValue","valueProp","required","disabled","orientation","dir","loop","onValueChange","props","ref","rovingFocusGroupScope","direction","value","setValue","handleItemCheck","itemValue","prevValue","handleItemUncheck","val","ITEM_NAME","CheckboxGroupItem","context","isDisabled","checkboxScope","checked","checkedState","INDICATOR_NAME","CheckboxGroupIndicator","Root","Item","Indicator"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { createCheckboxScope } from \"@radix-ui/react-checkbox\";\nimport { createContextScope, type Scope } from \"@radix-ui/react-context\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\n\n/* -------------------------------------------------------------------------------------------------\n * Component: CheckboxGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst CHECKBOX_GROUP_NAME = \"CheckboxGroup\";\n\ntype ScopedProps<P> = P & { __scopeCheckboxGroup?: Scope };\n\nconst [createCheckboxGroupContext, createCheckboxGroupScope] = createContextScope(CHECKBOX_GROUP_NAME, [\n createRovingFocusGroupScope,\n createCheckboxScope,\n]);\n\nconst useRovingFocusGroupScope = createRovingFocusGroupScope();\nconst useCheckboxScope = createCheckboxScope();\n\ninterface CheckboxGroupContextValue {\n name?: string;\n required: boolean;\n disabled: boolean;\n value?: string[];\n onItemCheck: (value: string) => void;\n onItemUncheck: (value: string) => void;\n}\n\nconst [CheckboxGroupProvider, useCheckboxGroupContext] =\n createCheckboxGroupContext<CheckboxGroupContextValue>(CHECKBOX_GROUP_NAME);\n\ntype CheckboxGroupElement = React.ElementRef<typeof Primitive.div>;\n\ninterface CheckboxGroupProps extends React.ComponentPropsWithoutRef<typeof Primitive.div> {\n name?: CheckboxGroupContextValue[\"name\"];\n required?: React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>[\"required\"];\n disabled?: React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>[\"disabled\"];\n dir?: RovingFocusGroup.RovingFocusGroupProps[\"dir\"];\n orientation?: RovingFocusGroup.RovingFocusGroupProps[\"orientation\"];\n loop?: RovingFocusGroup.RovingFocusGroupProps[\"loop\"];\n defaultValue?: string[];\n value?: CheckboxGroupContextValue[\"value\"];\n onValueChange?: (value: string[]) => void;\n}\n\nconst CheckboxGroup = React.forwardRef<CheckboxGroupElement, CheckboxGroupProps>(\n (\n {\n __scopeCheckboxGroup,\n name,\n defaultValue,\n value: valueProp,\n required = false,\n disabled = false,\n orientation,\n dir,\n loop = true,\n onValueChange,\n ...props\n }: ScopedProps<CheckboxGroupProps>,\n ref,\n ) => {\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeCheckboxGroup);\n const direction = useDirection(dir);\n const [value = [], setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n const handleItemCheck = React.useCallback(\n (itemValue: string) => {\n setValue((prevValue = []) => [...prevValue, itemValue]);\n },\n [setValue],\n );\n\n const handleItemUncheck = React.useCallback(\n (itemValue: string) => {\n setValue((prevValue = []) => prevValue.filter((val) => val !== itemValue));\n },\n [setValue],\n );\n\n return (\n <CheckboxGroupProvider\n scope={__scopeCheckboxGroup}\n name={name}\n required={required}\n disabled={disabled}\n value={value}\n onItemCheck={handleItemCheck}\n onItemUncheck={handleItemUncheck}\n >\n <RovingFocusGroup.Root asChild {...rovingFocusGroupScope} orientation={orientation} dir={direction} loop={loop}>\n {/* eslint-disable-next-line react/jsx-pascal-case -- radix-ui */}\n <Primitive.div ref={ref} role=\"group\" data-disabled={disabled ? \"\" : undefined} dir={direction} {...props} />\n </RovingFocusGroup.Root>\n </CheckboxGroupProvider>\n );\n },\n);\n\nCheckboxGroup.displayName = CHECKBOX_GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * Component: CheckboxGroupItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = `${CHECKBOX_GROUP_NAME}Item`;\n\ntype CheckboxGroupItemElement = React.ElementRef<typeof CheckboxPrimitive.Root>;\n\ninterface CheckboxGroupItemProps\n extends Omit<\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>,\n \"checked\" | \"defaultChecked\" | \"onCheckedChange\" | \"name\"\n > {\n value: string;\n}\n\nconst CheckboxGroupItem = React.forwardRef<CheckboxGroupItemElement, CheckboxGroupItemProps>(\n ({ __scopeCheckboxGroup, disabled, ...props }: ScopedProps<CheckboxGroupItemProps>, ref) => {\n const context = useCheckboxGroupContext(ITEM_NAME, __scopeCheckboxGroup);\n const isDisabled = context.disabled || disabled;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeCheckboxGroup);\n const checkboxScope = useCheckboxScope(__scopeCheckboxGroup);\n const checked = context.value?.includes(props.value);\n\n return (\n <RovingFocusGroup.Item asChild {...rovingFocusGroupScope} focusable={!isDisabled} active={checked}>\n <CheckboxPrimitive.Root\n ref={ref}\n name={context.name}\n disabled={isDisabled}\n required={context.required}\n checked={checked}\n {...checkboxScope}\n {...props}\n onCheckedChange={(checkedState) => {\n if (checkedState) {\n context.onItemCheck(props.value);\n } else {\n context.onItemUncheck(props.value);\n }\n }}\n />\n </RovingFocusGroup.Item>\n );\n },\n);\n\nCheckboxGroupItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * Component: CheckboxGroupIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = `${CHECKBOX_GROUP_NAME}Indicator`;\n\ntype CheckboxGroupIndicatorElement = React.ElementRef<typeof CheckboxPrimitive.Indicator>;\ntype CheckboxGroupIndicatorProps = React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Indicator>;\n\nconst CheckboxGroupIndicator = React.forwardRef<CheckboxGroupIndicatorElement, CheckboxGroupIndicatorProps>(\n ({ __scopeCheckboxGroup, ...props }: ScopedProps<CheckboxGroupIndicatorProps>, ref) => {\n const checkboxScope = useCheckboxScope(__scopeCheckboxGroup);\n return <CheckboxPrimitive.Indicator ref={ref} {...checkboxScope} {...props} />;\n },\n);\n\nCheckboxGroupIndicator.displayName = INDICATOR_NAME;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nconst Root = CheckboxGroup;\nconst Item = CheckboxGroupItem;\nconst Indicator = CheckboxGroupIndicator;\n\nexport {\n createCheckboxGroupScope,\n CheckboxGroup,\n CheckboxGroupItem,\n CheckboxGroupIndicator,\n Root,\n Item,\n Indicator,\n type CheckboxGroupProps,\n type CheckboxGroupItemProps,\n type CheckboxGroupIndicatorProps,\n};\n"]}