@codefast/ui 0.2.28 → 0.2.30

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 (473) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/README.md +69 -54
  3. package/dist/chunk-25YVEZ64.cjs.map +1 -1
  4. package/dist/chunk-2EVCRJID.cjs +2 -0
  5. package/dist/chunk-2EVCRJID.cjs.map +1 -0
  6. package/dist/chunk-2HEVHJKK.cjs +2 -0
  7. package/dist/chunk-2HEVHJKK.cjs.map +1 -0
  8. package/dist/chunk-2MN3L273.cjs.map +1 -1
  9. package/dist/chunk-2NGMMHVD.cjs.map +1 -1
  10. package/dist/chunk-3JCHUM2E.cjs.map +1 -1
  11. package/dist/chunk-3X3FY776.js +2 -0
  12. package/dist/chunk-3X3FY776.js.map +1 -0
  13. package/dist/chunk-3XKK56VS.cjs +2 -0
  14. package/dist/chunk-3XKK56VS.cjs.map +1 -0
  15. package/dist/chunk-3YNM2FAF.cjs.map +1 -1
  16. package/dist/{chunk-B5BJYHUS.cjs → chunk-45XT7WPV.cjs} +2 -2
  17. package/dist/chunk-45XT7WPV.cjs.map +1 -0
  18. package/dist/chunk-4TENCCRT.js +2 -0
  19. package/dist/chunk-4TENCCRT.js.map +1 -0
  20. package/dist/chunk-5GIH633S.js +2 -0
  21. package/dist/chunk-5GIH633S.js.map +1 -0
  22. package/dist/{chunk-ADROVJOH.cjs → chunk-5M632OZ3.cjs} +2 -2
  23. package/dist/chunk-5M632OZ3.cjs.map +1 -0
  24. package/dist/chunk-5NGAG7ZW.cjs +2 -0
  25. package/dist/chunk-5NGAG7ZW.cjs.map +1 -0
  26. package/dist/chunk-5U6B5LAO.js +2 -0
  27. package/dist/chunk-5U6B5LAO.js.map +1 -0
  28. package/dist/chunk-62H6UZHH.js +2 -0
  29. package/dist/chunk-62H6UZHH.js.map +1 -0
  30. package/dist/chunk-6Y3TATEU.cjs +2 -0
  31. package/dist/chunk-6Y3TATEU.cjs.map +1 -0
  32. package/dist/chunk-6Z2OPAPQ.cjs +2 -0
  33. package/dist/chunk-6Z2OPAPQ.cjs.map +1 -0
  34. package/dist/chunk-74METGII.cjs.map +1 -1
  35. package/dist/chunk-7CCZJ647.cjs +2 -0
  36. package/dist/chunk-7CCZJ647.cjs.map +1 -0
  37. package/dist/chunk-AAAIMKE6.cjs.map +1 -1
  38. package/dist/chunk-ASEUIM44.cjs +2 -0
  39. package/dist/chunk-ASEUIM44.cjs.map +1 -0
  40. package/dist/{chunk-4XOBLPFF.cjs → chunk-AZFVCNWH.cjs} +2 -2
  41. package/dist/chunk-AZFVCNWH.cjs.map +1 -0
  42. package/dist/chunk-B74UCONC.js +2 -0
  43. package/dist/chunk-B74UCONC.js.map +1 -0
  44. package/dist/chunk-BTEH3T5W.cjs.map +1 -1
  45. package/dist/chunk-BZPP4CU7.cjs.map +1 -1
  46. package/dist/chunk-CEK2UYDP.cjs.map +1 -1
  47. package/dist/chunk-CKTJRT3X.js +2 -0
  48. package/dist/chunk-CKTJRT3X.js.map +1 -0
  49. package/dist/chunk-CT4OIAD4.cjs +2 -0
  50. package/dist/chunk-CT4OIAD4.cjs.map +1 -0
  51. package/dist/{chunk-PCGTCRE3.cjs → chunk-DD4HTA6V.cjs} +2 -2
  52. package/dist/chunk-DD4HTA6V.cjs.map +1 -0
  53. package/dist/chunk-E627ZOLH.cjs.map +1 -1
  54. package/dist/chunk-EMPC5HNU.cjs +2 -0
  55. package/dist/chunk-EMPC5HNU.cjs.map +1 -0
  56. package/dist/chunk-GDO6H6FE.cjs +2 -0
  57. package/dist/chunk-GDO6H6FE.cjs.map +1 -0
  58. package/dist/{chunk-TNCTCXNX.cjs → chunk-GDOXPS6I.cjs} +2 -2
  59. package/dist/chunk-GDOXPS6I.cjs.map +1 -0
  60. package/dist/chunk-GGIVV535.cjs +2 -0
  61. package/dist/chunk-GGIVV535.cjs.map +1 -0
  62. package/dist/chunk-GPPLLR2C.cjs +2 -0
  63. package/dist/chunk-GPPLLR2C.cjs.map +1 -0
  64. package/dist/{chunk-N3H4YJ37.js → chunk-GSIKFVMY.js} +2 -2
  65. package/dist/chunk-GSIKFVMY.js.map +1 -0
  66. package/dist/{chunk-52I7IB6A.cjs → chunk-GXYHZRFH.cjs} +2 -2
  67. package/dist/chunk-GXYHZRFH.cjs.map +1 -0
  68. package/dist/{chunk-7C3Y44JU.cjs → chunk-HD2FCRL3.cjs} +2 -2
  69. package/dist/chunk-HD2FCRL3.cjs.map +1 -0
  70. package/dist/{chunk-5W2322HZ.js → chunk-HEK7QLFR.js} +2 -2
  71. package/dist/{chunk-5W2322HZ.js.map → chunk-HEK7QLFR.js.map} +1 -1
  72. package/dist/chunk-HF2JXACR.js +2 -0
  73. package/dist/{chunk-HHIQNJ5N.js.map → chunk-HF2JXACR.js.map} +1 -1
  74. package/dist/chunk-HFJKDL4E.cjs.map +1 -1
  75. package/dist/chunk-HFQ4PJLQ.js +2 -0
  76. package/dist/{chunk-JUUAOOMY.js.map → chunk-HFQ4PJLQ.js.map} +1 -1
  77. package/dist/chunk-HI5KN7UL.js +2 -0
  78. package/dist/{chunk-TL65MYMM.js.map → chunk-HI5KN7UL.js.map} +1 -1
  79. package/dist/{chunk-KEF7DXMW.cjs → chunk-HSMBTYPE.cjs} +2 -2
  80. package/dist/chunk-HSMBTYPE.cjs.map +1 -0
  81. package/dist/{chunk-SQA7LMGC.js → chunk-HVGYQUXR.js} +2 -2
  82. package/dist/chunk-IDELSFHC.cjs.map +1 -1
  83. package/dist/chunk-IK76PHGB.cjs.map +1 -1
  84. package/dist/chunk-J6744AYH.js +2 -0
  85. package/dist/chunk-J6744AYH.js.map +1 -0
  86. package/dist/chunk-J7FLM6VE.cjs.map +1 -1
  87. package/dist/{chunk-2DPGKKQC.js → chunk-JFVNFELS.js} +2 -2
  88. package/dist/{chunk-2DPGKKQC.js.map → chunk-JFVNFELS.js.map} +1 -1
  89. package/dist/chunk-JIF3ESOX.cjs +2 -0
  90. package/dist/chunk-JIF3ESOX.cjs.map +1 -0
  91. package/dist/chunk-JM2VJEQF.cjs +2 -0
  92. package/dist/chunk-JM2VJEQF.cjs.map +1 -0
  93. package/dist/chunk-JW6C57Y5.cjs.map +1 -1
  94. package/dist/{chunk-XBNM23BB.cjs → chunk-K3WFUR2W.cjs} +2 -2
  95. package/dist/chunk-K3WFUR2W.cjs.map +1 -0
  96. package/dist/{chunk-5ODCB7HZ.js → chunk-KE6SQA2Z.js} +2 -2
  97. package/dist/chunk-KEF3RCSW.cjs.map +1 -1
  98. package/dist/chunk-KFORL4OH.js +2 -0
  99. package/dist/chunk-KFORL4OH.js.map +1 -0
  100. package/dist/{chunk-7ZWX7JFJ.cjs → chunk-KOVXL4P6.cjs} +2 -2
  101. package/dist/chunk-KOVXL4P6.cjs.map +1 -0
  102. package/dist/chunk-LOMEOK37.cjs.map +1 -1
  103. package/dist/chunk-MCGDQEI6.js +2 -0
  104. package/dist/{chunk-YB2EVI6G.js.map → chunk-MCGDQEI6.js.map} +1 -1
  105. package/dist/chunk-MCMCMOW6.cjs.map +1 -1
  106. package/dist/chunk-MRIHA5JJ.js +2 -0
  107. package/dist/chunk-MRIHA5JJ.js.map +1 -0
  108. package/dist/chunk-NF7IJIGR.js +2 -0
  109. package/dist/chunk-NF7IJIGR.js.map +1 -0
  110. package/dist/chunk-NOJBMCCJ.cjs.map +1 -1
  111. package/dist/chunk-NUJF2BA2.cjs +2 -0
  112. package/dist/chunk-NUJF2BA2.cjs.map +1 -0
  113. package/dist/chunk-OX5BQP42.js +2 -0
  114. package/dist/{chunk-V7G3PA7F.js.map → chunk-OX5BQP42.js.map} +1 -1
  115. package/dist/chunk-P7IDB2YN.js +2 -0
  116. package/dist/chunk-P7IDB2YN.js.map +1 -0
  117. package/dist/{chunk-ZNL4TJ2H.cjs → chunk-PCH5RP2Y.cjs} +2 -2
  118. package/dist/chunk-PCH5RP2Y.cjs.map +1 -0
  119. package/dist/chunk-PJWKQZHJ.cjs.map +1 -1
  120. package/dist/{chunk-KUFTXWNU.cjs → chunk-POJOZ7HM.cjs} +2 -2
  121. package/dist/chunk-POJOZ7HM.cjs.map +1 -0
  122. package/dist/chunk-PRQOBYFW.js +2 -0
  123. package/dist/chunk-PRQOBYFW.js.map +1 -0
  124. package/dist/chunk-PWZWNYMT.cjs.map +1 -1
  125. package/dist/{chunk-2HTTNQSW.js → chunk-PZIWZBH2.js} +2 -2
  126. package/dist/chunk-PZIWZBH2.js.map +1 -0
  127. package/dist/chunk-Q24HBDJY.cjs +2 -0
  128. package/dist/chunk-Q24HBDJY.cjs.map +1 -0
  129. package/dist/chunk-Q2PAHIDW.js +2 -0
  130. package/dist/{chunk-7RXXPL7F.js.map → chunk-Q2PAHIDW.js.map} +1 -1
  131. package/dist/chunk-QGFB3EOD.js +2 -0
  132. package/dist/{chunk-ODBPUCNK.js.map → chunk-QGFB3EOD.js.map} +1 -1
  133. package/dist/{chunk-E5EKFP76.js → chunk-QL645745.js} +2 -2
  134. package/dist/chunk-QL645745.js.map +1 -0
  135. package/dist/chunk-QQHIPYWF.cjs.map +1 -1
  136. package/dist/{chunk-YJ6K6TZB.js → chunk-RKNDEVL3.js} +2 -2
  137. package/dist/{chunk-YJ6K6TZB.js.map → chunk-RKNDEVL3.js.map} +1 -1
  138. package/dist/{chunk-ODNT7DBL.cjs → chunk-RNLUQH6E.cjs} +2 -2
  139. package/dist/chunk-RNLUQH6E.cjs.map +1 -0
  140. package/dist/chunk-SLXE24VS.cjs.map +1 -1
  141. package/dist/chunk-SMJEDCFP.cjs.map +1 -1
  142. package/dist/chunk-SRP463XH.cjs.map +1 -1
  143. package/dist/chunk-TKFPSQNE.js +2 -0
  144. package/dist/chunk-TKFPSQNE.js.map +1 -0
  145. package/dist/chunk-TNP6NVCR.cjs +2 -0
  146. package/dist/chunk-TNP6NVCR.cjs.map +1 -0
  147. package/dist/chunk-TRPIIBAS.cjs.map +1 -1
  148. package/dist/chunk-TT7ESDY6.cjs +2 -0
  149. package/dist/chunk-TT7ESDY6.cjs.map +1 -0
  150. package/dist/{chunk-P27WU6GG.cjs → chunk-TUAQU25Y.cjs} +2 -2
  151. package/dist/chunk-TUAQU25Y.cjs.map +1 -0
  152. package/dist/chunk-UAS5UKTZ.cjs +2 -0
  153. package/dist/chunk-UAS5UKTZ.cjs.map +1 -0
  154. package/dist/chunk-UCRTI76K.js +2 -0
  155. package/dist/chunk-UCRTI76K.js.map +1 -0
  156. package/dist/{chunk-BV2GNRRU.js → chunk-UOBUAOYY.js} +2 -2
  157. package/dist/chunk-UQCCSFW6.js +2 -0
  158. package/dist/chunk-UQCCSFW6.js.map +1 -0
  159. package/dist/{chunk-JHRUIDPG.cjs → chunk-UYWVE5DL.cjs} +2 -2
  160. package/dist/chunk-UYWVE5DL.cjs.map +1 -0
  161. package/dist/chunk-VR5WW6X6.js +2 -0
  162. package/dist/chunk-VR5WW6X6.js.map +1 -0
  163. package/dist/chunk-WJ52PDQT.js +2 -0
  164. package/dist/chunk-WJ52PDQT.js.map +1 -0
  165. package/dist/chunk-WOGISN3L.cjs.map +1 -1
  166. package/dist/chunk-X5CR4RIL.cjs.map +1 -1
  167. package/dist/chunk-XO4K654G.cjs.map +1 -1
  168. package/dist/{chunk-QLXOB6D3.js → chunk-XTJ46ZVA.js} +2 -2
  169. package/dist/{chunk-QLXOB6D3.js.map → chunk-XTJ46ZVA.js.map} +1 -1
  170. package/dist/chunk-XXUOW3ID.cjs.map +1 -1
  171. package/dist/{chunk-ZDBY7EZH.js → chunk-YF2ZZY4W.js} +2 -2
  172. package/dist/chunk-ZA36F2BJ.cjs +2 -0
  173. package/dist/chunk-ZA36F2BJ.cjs.map +1 -0
  174. package/dist/{chunk-EGZHN6BU.cjs → chunk-ZESL6WID.cjs} +2 -2
  175. package/dist/chunk-ZESL6WID.cjs.map +1 -0
  176. package/dist/chunk-ZFCLI44C.js +2 -0
  177. package/dist/chunk-ZFCLI44C.js.map +1 -0
  178. package/dist/{chunk-P5NRPAX3.js → chunk-ZIIE5XVL.js} +2 -2
  179. package/dist/{chunk-P5NRPAX3.js.map → chunk-ZIIE5XVL.js.map} +1 -1
  180. package/dist/{chunk-SORSJ252.cjs → chunk-ZNSIVYMA.cjs} +2 -2
  181. package/dist/chunk-ZNSIVYMA.cjs.map +1 -0
  182. package/dist/chunk-ZO2D5OMQ.js +2 -0
  183. package/dist/{chunk-3ZDCQJMF.js.map → chunk-ZO2D5OMQ.js.map} +1 -1
  184. package/dist/chunk-ZVPN2HIY.cjs +2 -0
  185. package/dist/chunk-ZVPN2HIY.cjs.map +1 -0
  186. package/dist/components/accordion.cjs +1 -1
  187. package/dist/components/accordion.cjs.map +1 -1
  188. package/dist/components/accordion.js +1 -1
  189. package/dist/components/alert-dialog.cjs +1 -1
  190. package/dist/components/alert-dialog.cjs.map +1 -1
  191. package/dist/components/alert-dialog.d.cts +7 -1
  192. package/dist/components/alert-dialog.d.ts +7 -1
  193. package/dist/components/alert-dialog.js +1 -1
  194. package/dist/components/alert.cjs.map +1 -1
  195. package/dist/components/aspect-ratio.cjs.map +1 -1
  196. package/dist/components/avatar.cjs +1 -1
  197. package/dist/components/avatar.cjs.map +1 -1
  198. package/dist/components/avatar.js +1 -1
  199. package/dist/components/badge.cjs +1 -1
  200. package/dist/components/badge.cjs.map +1 -1
  201. package/dist/components/badge.d.cts +2 -2
  202. package/dist/components/badge.d.ts +2 -2
  203. package/dist/components/badge.js +1 -1
  204. package/dist/components/blockquote.cjs.map +1 -1
  205. package/dist/components/box.cjs.map +1 -1
  206. package/dist/components/breadcrumb.cjs.map +1 -1
  207. package/dist/components/button.cjs +1 -1
  208. package/dist/components/button.cjs.map +1 -1
  209. package/dist/components/button.d.cts +2 -2
  210. package/dist/components/button.d.ts +2 -2
  211. package/dist/components/button.js +1 -1
  212. package/dist/components/calendar.cjs +1 -1
  213. package/dist/components/calendar.cjs.map +1 -1
  214. package/dist/components/calendar.js +1 -1
  215. package/dist/components/card.cjs.map +1 -1
  216. package/dist/components/carousel.cjs +1 -1
  217. package/dist/components/carousel.cjs.map +1 -1
  218. package/dist/components/carousel.js +1 -1
  219. package/dist/components/chart.cjs +1 -1
  220. package/dist/components/chart.cjs.map +1 -1
  221. package/dist/components/chart.js +1 -1
  222. package/dist/components/checkbox-cards.cjs +1 -1
  223. package/dist/components/checkbox-cards.cjs.map +1 -1
  224. package/dist/components/checkbox-cards.js +1 -1
  225. package/dist/components/checkbox-group.cjs +1 -1
  226. package/dist/components/checkbox-group.cjs.map +1 -1
  227. package/dist/components/checkbox-group.js +1 -1
  228. package/dist/components/checkbox.cjs +1 -1
  229. package/dist/components/checkbox.cjs.map +1 -1
  230. package/dist/components/checkbox.js +1 -1
  231. package/dist/components/code.cjs.map +1 -1
  232. package/dist/components/collapsible.cjs.map +1 -1
  233. package/dist/components/command.cjs +1 -1
  234. package/dist/components/command.cjs.map +1 -1
  235. package/dist/components/command.js +1 -1
  236. package/dist/components/container.cjs.map +1 -1
  237. package/dist/components/context-menu.cjs +1 -1
  238. package/dist/components/context-menu.cjs.map +1 -1
  239. package/dist/components/context-menu.js +1 -1
  240. package/dist/components/data-table.cjs +1 -1
  241. package/dist/components/data-table.cjs.map +1 -1
  242. package/dist/components/data-table.js +1 -1
  243. package/dist/components/dialog.cjs +1 -1
  244. package/dist/components/dialog.cjs.map +1 -1
  245. package/dist/components/dialog.d.cts +8 -1
  246. package/dist/components/dialog.d.ts +8 -1
  247. package/dist/components/dialog.js +1 -1
  248. package/dist/components/drawer.cjs +1 -1
  249. package/dist/components/drawer.cjs.map +1 -1
  250. package/dist/components/drawer.d.cts +7 -1
  251. package/dist/components/drawer.d.ts +7 -1
  252. package/dist/components/drawer.js +1 -1
  253. package/dist/components/dropdown-menu.cjs +1 -1
  254. package/dist/components/dropdown-menu.cjs.map +1 -1
  255. package/dist/components/dropdown-menu.js +1 -1
  256. package/dist/components/em.cjs.map +1 -1
  257. package/dist/components/form.cjs.map +1 -1
  258. package/dist/components/heading.cjs.map +1 -1
  259. package/dist/components/hover-card.cjs.map +1 -1
  260. package/dist/components/inline.cjs.map +1 -1
  261. package/dist/components/input-date.cjs.map +1 -1
  262. package/dist/components/input-number.cjs +1 -1
  263. package/dist/components/input-number.cjs.map +1 -1
  264. package/dist/components/input-number.js +1 -1
  265. package/dist/components/input-otp.cjs +1 -1
  266. package/dist/components/input-otp.cjs.map +1 -1
  267. package/dist/components/input-otp.js +1 -1
  268. package/dist/components/input-password.cjs +1 -1
  269. package/dist/components/input-password.cjs.map +1 -1
  270. package/dist/components/input-password.js +1 -1
  271. package/dist/components/input-search.cjs +1 -1
  272. package/dist/components/input-search.cjs.map +1 -1
  273. package/dist/components/input-search.js +1 -1
  274. package/dist/components/input-time.cjs.map +1 -1
  275. package/dist/components/input.cjs +1 -1
  276. package/dist/components/input.cjs.map +1 -1
  277. package/dist/components/input.js +1 -1
  278. package/dist/components/kbd.cjs.map +1 -1
  279. package/dist/components/label.cjs.map +1 -1
  280. package/dist/components/menubar.cjs +1 -1
  281. package/dist/components/menubar.cjs.map +1 -1
  282. package/dist/components/menubar.js +1 -1
  283. package/dist/components/navigation-menu.cjs +1 -1
  284. package/dist/components/navigation-menu.cjs.map +1 -1
  285. package/dist/components/navigation-menu.d.cts +3 -1
  286. package/dist/components/navigation-menu.d.ts +3 -1
  287. package/dist/components/navigation-menu.js +1 -1
  288. package/dist/components/pagination.cjs +1 -1
  289. package/dist/components/pagination.cjs.map +1 -1
  290. package/dist/components/pagination.js +1 -1
  291. package/dist/components/popover.cjs.map +1 -1
  292. package/dist/components/pre.cjs.map +1 -1
  293. package/dist/components/progress.cjs.map +1 -1
  294. package/dist/components/quote.cjs.map +1 -1
  295. package/dist/components/radio-cards.cjs +1 -1
  296. package/dist/components/radio-cards.cjs.map +1 -1
  297. package/dist/components/radio-cards.js +1 -1
  298. package/dist/components/radio-group.cjs +1 -1
  299. package/dist/components/radio-group.cjs.map +1 -1
  300. package/dist/components/radio-group.js +1 -1
  301. package/dist/components/radio.cjs +1 -1
  302. package/dist/components/radio.cjs.map +1 -1
  303. package/dist/components/radio.js +1 -1
  304. package/dist/components/resizable.cjs +1 -1
  305. package/dist/components/resizable.cjs.map +1 -1
  306. package/dist/components/resizable.js +1 -1
  307. package/dist/components/scroll-area.cjs +1 -1
  308. package/dist/components/scroll-area.cjs.map +1 -1
  309. package/dist/components/scroll-area.js +1 -1
  310. package/dist/components/section.cjs.map +1 -1
  311. package/dist/components/select.cjs +1 -1
  312. package/dist/components/select.cjs.map +1 -1
  313. package/dist/components/select.js +1 -1
  314. package/dist/components/separator.cjs.map +1 -1
  315. package/dist/components/sheet.cjs +1 -1
  316. package/dist/components/sheet.cjs.map +1 -1
  317. package/dist/components/sheet.d.cts +7 -1
  318. package/dist/components/sheet.d.ts +7 -1
  319. package/dist/components/sheet.js +1 -1
  320. package/dist/components/sidebar.cjs +1 -1
  321. package/dist/components/sidebar.cjs.map +1 -1
  322. package/dist/components/sidebar.js +1 -1
  323. package/dist/components/skeleton.cjs.map +1 -1
  324. package/dist/components/slider.cjs +1 -1
  325. package/dist/components/slider.cjs.map +1 -1
  326. package/dist/components/slider.js +1 -1
  327. package/dist/components/sonner.cjs.map +1 -1
  328. package/dist/components/spinner.cjs.map +1 -1
  329. package/dist/components/strong.cjs.map +1 -1
  330. package/dist/components/switch.cjs +1 -1
  331. package/dist/components/switch.cjs.map +1 -1
  332. package/dist/components/switch.js +1 -1
  333. package/dist/components/table.cjs.map +1 -1
  334. package/dist/components/tabs.cjs +1 -1
  335. package/dist/components/tabs.cjs.map +1 -1
  336. package/dist/components/tabs.js +1 -1
  337. package/dist/components/text.cjs.map +1 -1
  338. package/dist/components/textarea.cjs +1 -1
  339. package/dist/components/textarea.cjs.map +1 -1
  340. package/dist/components/textarea.js +1 -1
  341. package/dist/components/toggle-group.cjs +1 -1
  342. package/dist/components/toggle-group.cjs.map +1 -1
  343. package/dist/components/toggle-group.js +1 -1
  344. package/dist/components/toggle.cjs +1 -1
  345. package/dist/components/toggle.cjs.map +1 -1
  346. package/dist/components/toggle.d.cts +2 -2
  347. package/dist/components/toggle.d.ts +2 -2
  348. package/dist/components/toggle.js +1 -1
  349. package/dist/components/tooltip.cjs.map +1 -1
  350. package/dist/index.cjs +1 -1
  351. package/dist/index.cjs.map +1 -1
  352. package/dist/index.css +1 -1
  353. package/dist/index.css.map +1 -1
  354. package/dist/index.d.cts +1 -1
  355. package/dist/index.d.ts +1 -1
  356. package/dist/index.js +1 -1
  357. package/dist/lib/logger.cjs.map +1 -1
  358. package/dist/lib/utils.cjs.map +1 -1
  359. package/package.json +9 -8
  360. package/dist/chunk-2HTTNQSW.js.map +0 -1
  361. package/dist/chunk-3S7JMM6G.js +0 -2
  362. package/dist/chunk-3S7JMM6G.js.map +0 -1
  363. package/dist/chunk-3W2OPECD.cjs +0 -2
  364. package/dist/chunk-3W2OPECD.cjs.map +0 -1
  365. package/dist/chunk-3ZDCQJMF.js +0 -2
  366. package/dist/chunk-4LP5RS4E.cjs +0 -2
  367. package/dist/chunk-4LP5RS4E.cjs.map +0 -1
  368. package/dist/chunk-4UAVAHLJ.js +0 -2
  369. package/dist/chunk-4UAVAHLJ.js.map +0 -1
  370. package/dist/chunk-4XOBLPFF.cjs.map +0 -1
  371. package/dist/chunk-52I7IB6A.cjs.map +0 -1
  372. package/dist/chunk-54NBPI24.js +0 -2
  373. package/dist/chunk-54NBPI24.js.map +0 -1
  374. package/dist/chunk-5D3AL3AD.js +0 -2
  375. package/dist/chunk-5D3AL3AD.js.map +0 -1
  376. package/dist/chunk-5OBKU5VN.cjs +0 -2
  377. package/dist/chunk-5OBKU5VN.cjs.map +0 -1
  378. package/dist/chunk-5QRNBM3F.cjs +0 -2
  379. package/dist/chunk-5QRNBM3F.cjs.map +0 -1
  380. package/dist/chunk-7C3Y44JU.cjs.map +0 -1
  381. package/dist/chunk-7RXXPL7F.js +0 -2
  382. package/dist/chunk-7ZWX7JFJ.cjs.map +0 -1
  383. package/dist/chunk-ADROVJOH.cjs.map +0 -1
  384. package/dist/chunk-ALAGRDG2.js +0 -2
  385. package/dist/chunk-ALAGRDG2.js.map +0 -1
  386. package/dist/chunk-B5BJYHUS.cjs.map +0 -1
  387. package/dist/chunk-BTYPQRMH.js +0 -2
  388. package/dist/chunk-BTYPQRMH.js.map +0 -1
  389. package/dist/chunk-CCWAWHXL.js +0 -2
  390. package/dist/chunk-CCWAWHXL.js.map +0 -1
  391. package/dist/chunk-CRADBTW7.cjs +0 -2
  392. package/dist/chunk-CRADBTW7.cjs.map +0 -1
  393. package/dist/chunk-DQKBPH2Q.cjs +0 -2
  394. package/dist/chunk-DQKBPH2Q.cjs.map +0 -1
  395. package/dist/chunk-E5EKFP76.js.map +0 -1
  396. package/dist/chunk-EGZHN6BU.cjs.map +0 -1
  397. package/dist/chunk-EUTIIJII.js +0 -2
  398. package/dist/chunk-EUTIIJII.js.map +0 -1
  399. package/dist/chunk-FLXWANVR.cjs +0 -2
  400. package/dist/chunk-FLXWANVR.cjs.map +0 -1
  401. package/dist/chunk-GE7SZH54.js +0 -2
  402. package/dist/chunk-GE7SZH54.js.map +0 -1
  403. package/dist/chunk-GWW4VPCF.js +0 -2
  404. package/dist/chunk-GWW4VPCF.js.map +0 -1
  405. package/dist/chunk-H4YGUYHB.cjs +0 -2
  406. package/dist/chunk-H4YGUYHB.cjs.map +0 -1
  407. package/dist/chunk-HHIQNJ5N.js +0 -2
  408. package/dist/chunk-HWVW5NCX.js +0 -2
  409. package/dist/chunk-HWVW5NCX.js.map +0 -1
  410. package/dist/chunk-IS4CMZ72.cjs +0 -2
  411. package/dist/chunk-IS4CMZ72.cjs.map +0 -1
  412. package/dist/chunk-IVH3SA7C.cjs +0 -2
  413. package/dist/chunk-IVH3SA7C.cjs.map +0 -1
  414. package/dist/chunk-IX243UNX.js +0 -2
  415. package/dist/chunk-IX243UNX.js.map +0 -1
  416. package/dist/chunk-IXQW5ZSZ.cjs +0 -2
  417. package/dist/chunk-IXQW5ZSZ.cjs.map +0 -1
  418. package/dist/chunk-JHRUIDPG.cjs.map +0 -1
  419. package/dist/chunk-JUUAOOMY.js +0 -2
  420. package/dist/chunk-K5EXM35Y.cjs +0 -2
  421. package/dist/chunk-K5EXM35Y.cjs.map +0 -1
  422. package/dist/chunk-K7NF7W76.js +0 -2
  423. package/dist/chunk-K7NF7W76.js.map +0 -1
  424. package/dist/chunk-KEF7DXMW.cjs.map +0 -1
  425. package/dist/chunk-KUFTXWNU.cjs.map +0 -1
  426. package/dist/chunk-L3A4O6YH.cjs +0 -2
  427. package/dist/chunk-L3A4O6YH.cjs.map +0 -1
  428. package/dist/chunk-L53SSTZH.cjs +0 -2
  429. package/dist/chunk-L53SSTZH.cjs.map +0 -1
  430. package/dist/chunk-M3FJLRC5.cjs +0 -2
  431. package/dist/chunk-M3FJLRC5.cjs.map +0 -1
  432. package/dist/chunk-N3H4YJ37.js.map +0 -1
  433. package/dist/chunk-ODBPUCNK.js +0 -2
  434. package/dist/chunk-ODNT7DBL.cjs.map +0 -1
  435. package/dist/chunk-P27WU6GG.cjs.map +0 -1
  436. package/dist/chunk-PCGTCRE3.cjs.map +0 -1
  437. package/dist/chunk-PMR7SBOR.js +0 -2
  438. package/dist/chunk-PMR7SBOR.js.map +0 -1
  439. package/dist/chunk-PN25GXE4.js +0 -2
  440. package/dist/chunk-PN25GXE4.js.map +0 -1
  441. package/dist/chunk-QGBRZ5YR.cjs +0 -2
  442. package/dist/chunk-QGBRZ5YR.cjs.map +0 -1
  443. package/dist/chunk-QGMA2QFT.cjs +0 -2
  444. package/dist/chunk-QGMA2QFT.cjs.map +0 -1
  445. package/dist/chunk-QPPQCG4J.js +0 -2
  446. package/dist/chunk-QPPQCG4J.js.map +0 -1
  447. package/dist/chunk-RO2CHJ3W.cjs +0 -2
  448. package/dist/chunk-RO2CHJ3W.cjs.map +0 -1
  449. package/dist/chunk-RV4MAQYF.js +0 -2
  450. package/dist/chunk-RV4MAQYF.js.map +0 -1
  451. package/dist/chunk-S5QE6QZI.cjs +0 -2
  452. package/dist/chunk-S5QE6QZI.cjs.map +0 -1
  453. package/dist/chunk-SORSJ252.cjs.map +0 -1
  454. package/dist/chunk-TL65MYMM.js +0 -2
  455. package/dist/chunk-TL75YNSL.cjs +0 -2
  456. package/dist/chunk-TL75YNSL.cjs.map +0 -1
  457. package/dist/chunk-TNCTCXNX.cjs.map +0 -1
  458. package/dist/chunk-V7G3PA7F.js +0 -2
  459. package/dist/chunk-WT2H2EGG.js +0 -2
  460. package/dist/chunk-WT2H2EGG.js.map +0 -1
  461. package/dist/chunk-XBNM23BB.cjs.map +0 -1
  462. package/dist/chunk-YB2EVI6G.js +0 -2
  463. package/dist/chunk-YXS6GABG.js +0 -2
  464. package/dist/chunk-YXS6GABG.js.map +0 -1
  465. package/dist/chunk-ZNJCLG2C.cjs +0 -2
  466. package/dist/chunk-ZNJCLG2C.cjs.map +0 -1
  467. package/dist/chunk-ZNL4TJ2H.cjs.map +0 -1
  468. package/dist/chunk-ZTTPMLDF.cjs +0 -2
  469. package/dist/chunk-ZTTPMLDF.cjs.map +0 -1
  470. /package/dist/{chunk-SQA7LMGC.js.map → chunk-HVGYQUXR.js.map} +0 -0
  471. /package/dist/{chunk-5ODCB7HZ.js.map → chunk-KE6SQA2Z.js.map} +0 -0
  472. /package/dist/{chunk-BV2GNRRU.js.map → chunk-UOBUAOYY.js.map} +0 -0
  473. /package/dist/{chunk-ZDBY7EZH.js.map → chunk-YF2ZZY4W.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/collapsible.tsx"],"names":["Collapsible","props","jsx","CollapsibleTrigger","CollapsibleContent"],"mappings":"AAEA,8cAAsC,+CAO7B,SADAA,CAAAA,CAAY,CAAE,GAAGC,CAAM,CAAA,CAAkE,CAChG,OAAOC,6BAAAA,CAAsB,CAAA,IAAA,CAArB,CAA0B,WAAA,CAAU,aAAA,CAAe,GAAGD,CAAAA,CAAO,CACvE,CAMA,SAASE,CAAAA,CAAmB,CAAE,GAAGF,CAAM,CAAA,CAAgF,CACrH,OAAOC,6BAAAA,CAAsB,CAAA,kBAAA,CAArB,CAAwC,WAAA,CAAU,qBAAA,CAAuB,GAAGD,CAAAA,CAAO,CAC7F,CAMA,SAASG,CAAAA,CAAmB,CAAE,GAAGH,CAAM,CAAA,CAAgF,CACrH,OAAOC,6BAAAA,CAAsB,CAAA,kBAAA,CAArB,CAAwC,WAAA,CAAU,qBAAA,CAAuB,GAAGD,CAAAA,CAAO,CAC7F,CAAA,4CAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-J7FLM6VE.cjs","sourcesContent":["import type { ComponentProps, JSX } from 'react';\n\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\n\n/* -----------------------------------------------------------------------------\n * Component: Collapsible\n * -------------------------------------------------------------------------- */\n\nfunction Collapsible({ ...props }: ComponentProps<typeof CollapsiblePrimitive.Root>): JSX.Element {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CollapsibleTrigger\n * -------------------------------------------------------------------------- */\n\nfunction CollapsibleTrigger({ ...props }: ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>): JSX.Element {\n return <CollapsiblePrimitive.CollapsibleTrigger data-slot=\"collapsible-trigger\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CollapsibleContent\n * -------------------------------------------------------------------------- */\n\nfunction CollapsibleContent({ ...props }: ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>): JSX.Element {\n return <CollapsiblePrimitive.CollapsibleContent data-slot=\"collapsible-content\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Collapsible, CollapsibleContent, CollapsibleTrigger };\n"]}
1
+ {"version":3,"sources":["../src/components/collapsible.tsx"],"names":["Collapsible","props","jsx","CollapsibleTrigger","CollapsibleContent"],"mappings":"AAEA,8cAAsC,+CAO7B,SADAA,CAAAA,CAAY,CAAE,GAAGC,CAAM,CAAA,CAAkE,CAChG,OAAOC,6BAAAA,CAAsB,CAAA,IAAA,CAArB,CAA0B,WAAA,CAAU,aAAA,CAAe,GAAGD,CAAAA,CAAO,CACvE,CAMA,SAASE,CAAAA,CAAmB,CAAE,GAAGF,CAAM,CAAA,CAAgF,CACrH,OAAOC,6BAAAA,CAAsB,CAAA,kBAAA,CAArB,CAAwC,WAAA,CAAU,qBAAA,CAAuB,GAAGD,CAAAA,CAAO,CAC7F,CAMA,SAASG,CAAAA,CAAmB,CAAE,GAAGH,CAAM,CAAA,CAAgF,CACrH,OAAOC,6BAAAA,CAAsB,CAAA,kBAAA,CAArB,CAAwC,WAAA,CAAU,qBAAA,CAAuB,GAAGD,CAAAA,CAAO,CAC7F,CAAA,4CAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-J7FLM6VE.cjs","sourcesContent":["import type { ComponentProps, JSX } from 'react';\n\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\n\n/* -----------------------------------------------------------------------------\n * Component: Collapsible\n * -------------------------------------------------------------------------- */\n\nfunction Collapsible({ ...props }: ComponentProps<typeof CollapsiblePrimitive.Root>): JSX.Element {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CollapsibleTrigger\n * -------------------------------------------------------------------------- */\n\nfunction CollapsibleTrigger({ ...props }: ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>): JSX.Element {\n return <CollapsiblePrimitive.CollapsibleTrigger data-slot=\"collapsible-trigger\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CollapsibleContent\n * -------------------------------------------------------------------------- */\n\nfunction CollapsibleContent({ ...props }: ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>): JSX.Element {\n return <CollapsiblePrimitive.CollapsibleContent data-slot=\"collapsible-content\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Collapsible, CollapsibleContent, CollapsibleTrigger };\n"]}
@@ -1,4 +1,4 @@
1
- "use client";import{a as l}from"./chunk-OKUFCFYT.js";import{createContext as I,useContext as j,useId as K,useMemo as S}from"react";import*as p from"recharts";import{Fragment as H,jsx as s,jsxs as h}from"react/jsx-runtime";var N={dark:".dark",light:""},_=I(null);function w(){let e=j(_);if(!e)throw new Error("useChart must be used within a <ChartContainer />");return e}function J({id:e,children:t,className:n,config:o,...c}){let a=K(),i=`chart-${e||a}`;return s(_.Provider,{value:{config:o},children:h("div",{className:l("[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-surface]:outline-hidden flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-sector[stroke='#fff']]:stroke-transparent",n),"data-chart":i,"data-slot":"chart",...c,children:[s($,{config:o,id:i}),s(p.ResponsiveContainer,{children:t})]})})}function $({id:e,config:t}){let n=S(()=>M(e,t),[e,t]);return s("style",{dangerouslySetInnerHTML:{__html:n}})}var X=p.Tooltip;function q({active:e,className:t,color:n,formatter:o,hideIndicator:c=!1,hideLabel:a=!1,indicator:i="dot",label:d,labelClassName:u,labelFormatter:v,labelKey:b,nameKey:L,payload:f}){let{config:C}=w(),P=S(()=>{if(a||!f?.length)return null;let[r]=f,y=`${b||r.dataKey||r.name||"value"}`,x=k(C,r,y),g=!b&&typeof d=="string"?C[d]?.label||d:x?.label;return v?s("div",{className:l("font-medium",u),children:v(g,f)}):g?s("div",{className:l("font-medium",u),children:g}):null},[C,a,d,u,v,b,f]);if(!e||!f?.length)return null;let m=f.length===1&&i!=="dot";return h("div",{className:l("bg-background grid min-w-32 items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl",t),children:[m?null:P,s("div",{className:"grid gap-1.5",children:f.map((r,y)=>{let x=`${L||r.name||r.dataKey||"value"}`,g=k(C,r,x),R=n||r.payload.fill||r.color;return s("div",{className:l("[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5",i==="dot"&&"items-center"),children:o&&r.value!==void 0&&r.name?o(r.value,r.name,r,y,r.payload):h(H,{children:[g?.icon?s(g.icon,{}):!c&&s("div",{className:l("border-(--color-border) bg-(--color-bg) rounded-xs shrink-0",{"h-2.5 w-2.5":i==="dot","my-0.5":m&&i==="dashed","w-0 border border-dashed bg-transparent":i==="dashed","w-1":i==="line"}),style:{"--color-bg":R,"--color-border":R}}),h("div",{className:l("flex flex-1 justify-between leading-none",m?"items-end":"items-center"),children:[h("div",{className:"grid gap-1.5",children:[m?P:null,s("span",{className:"text-muted-foreground",children:g?.label||r.name})]}),r.value?s("span",{className:"text-foreground font-mono font-medium tabular-nums",children:r.value.toLocaleString()}):null]})]})},r.dataKey)})})]})}var A=p.Legend;function D({className:e,hideIcon:t=!1,nameKey:n,payload:o,verticalAlign:c="bottom"}){let{config:a}=w();return o?.length?s("div",{className:l("flex items-center justify-center gap-4",c==="top"?"pb-3":"pt-3",e),children:o.map(i=>{let d="value";n?d=n:i.dataKey&&(d=String(i.dataKey));let u=k(a,i,d);return h("div",{className:l("[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:size-3"),children:[u?.icon&&!t?s(u.icon,{}):s("div",{className:"size-2 shrink-0 rounded-md",style:{backgroundColor:i.color}}),u?.label]},String(i.value))})}):null}function k(e,t,n){if(!T(t))return;let o="payload"in t&&T(t.payload)?t.payload:void 0,c=E(t,o,n);return c in e?e[c]:e[n]}function T(e){return typeof e=="object"&&e!==null}function E(e,t,n){return n in e&&typeof e[n]=="string"?e[n]:t&&n in t&&typeof t[n]=="string"?t[n]:n}function O(e,t,n){let o=[];o.push(`${N[e]} [data-chart=${t}] {`);for(let[c,a]of n){let i=a?.theme?.[e]||a?.color;i&&o.push(` --color-${c}: ${i};`)}return o.push("}"),o.join(`
1
+ "use client";import{a as l}from"./chunk-OKUFCFYT.js";import{createContext as I,useContext as j,useId as K,useMemo as S}from"react";import*as p from"recharts";import{Fragment as z,jsx as s,jsxs as h}from"react/jsx-runtime";var N={dark:".dark",light:""},_=I(null);function w(){let e=j(_);if(!e)throw new Error("useChart must be used within a <ChartContainer />");return e}function J({id:e,children:t,className:n,config:o,...c}){let a=K(),i=`chart-${e||a}`;return s(_.Provider,{value:{config:o},children:h("div",{className:l("[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-surface]:outline-hidden flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-sector[stroke='#fff']]:stroke-transparent",n),"data-chart":i,"data-slot":"chart",...c,children:[s($,{config:o,id:i}),s(p.ResponsiveContainer,{children:t})]})})}function $({id:e,config:t}){let n=S(()=>M(e,t),[e,t]);return s("style",{dangerouslySetInnerHTML:{__html:n}})}var X=p.Tooltip;function q({active:e,className:t,color:n,formatter:o,hideIndicator:c=!1,hideLabel:a=!1,indicator:i="dot",label:d,labelClassName:u,labelFormatter:v,labelKey:b,nameKey:L,payload:f}){let{config:C}=w(),P=S(()=>{if(a||!f?.length)return null;let[r]=f,y=`${b||r.dataKey||r.name||"value"}`,x=k(C,r,y),g=!b&&typeof d=="string"?C[d]?.label||d:x?.label;return v?s("div",{className:l("font-medium",u),children:v(g,f)}):g?s("div",{className:l("font-medium",u),children:g}):null},[C,a,d,u,v,b,f]);if(!e||!f?.length)return null;let m=f.length===1&&i!=="dot";return h("div",{className:l("bg-background grid min-w-32 items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl",t),children:[m?null:P,s("div",{className:"grid gap-1.5",children:f.map((r,y)=>{let x=`${L||r.name||r.dataKey||"value"}`,g=k(C,r,x),R=n||r.payload.fill||r.color;return s("div",{className:l("[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:size-2.5",i==="dot"&&"items-center"),children:o&&r.value!==void 0&&r.name?o(r.value,r.name,r,y,r.payload):h(z,{children:[g?.icon?s(g.icon,{}):!c&&s("div",{className:l("border-(--color-border) bg-(--color-bg) rounded-xs shrink-0",{"h-2.5 w-2.5":i==="dot","my-0.5":m&&i==="dashed","w-0 border border-dashed bg-transparent":i==="dashed","w-1":i==="line"}),style:{"--color-bg":R,"--color-border":R}}),h("div",{className:l("flex flex-1 justify-between leading-none",m?"items-end":"items-center"),children:[h("div",{className:"grid gap-1.5",children:[m?P:null,s("span",{className:"text-muted-foreground",children:g?.label||r.name})]}),r.value?s("span",{className:"text-foreground font-mono font-medium tabular-nums",children:r.value.toLocaleString()}):null]})]})},r.dataKey)})})]})}var A=p.Legend;function D({className:e,hideIcon:t=!1,nameKey:n,payload:o,verticalAlign:c="bottom"}){let{config:a}=w();return o?.length?s("div",{className:l("flex items-center justify-center gap-4",c==="top"?"pb-3":"pt-3",e),children:o.map(i=>{let d="value";n?d=n:i.dataKey&&(d=String(i.dataKey));let u=k(a,i,d);return h("div",{className:l("[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:size-3"),children:[u?.icon&&!t?s(u.icon,{}):s("div",{className:"size-2 shrink-0 rounded-md",style:{backgroundColor:i.color}}),u?.label]},String(i.value))})}):null}function k(e,t,n){if(!T(t))return;let o="payload"in t&&T(t.payload)?t.payload:void 0,c=E(t,o,n);return c in e?e[c]:e[n]}function T(e){return typeof e=="object"&&e!==null}function E(e,t,n){return n in e&&typeof e[n]=="string"?e[n]:t&&n in t&&typeof t[n]=="string"?t[n]:n}function O(e,t,n){let o=[];o.push(`${N[e]} [data-chart=${t}] {`);for(let[c,a]of n){let i=a?.theme?.[e]||a?.color;i&&o.push(` --color-${c}: ${i};`)}return o.push("}"),o.join(`
2
2
  `)}function M(e,t){let n=Object.entries(t).filter(([c,a])=>a?.theme||a?.color),o=[];for(let c of Object.keys(N)){let a=O(c,e,n);o.push(a)}return o.join(`
3
3
  `)}export{J as a,$ as b,X as c,q as d,A as e,D as f};
4
- //# sourceMappingURL=chunk-2DPGKKQC.js.map
4
+ //# sourceMappingURL=chunk-JFVNFELS.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/chart.tsx"],"names":["createContext","useContext","useId","useMemo","RechartsPrimitive","Fragment","jsx","jsxs","THEMES","ChartContext","useChart","context","ChartContainer","id","children","className","config","props","uniqueId","chartId","cn","ChartStyle","cssString","generateCSS","ChartTooltip","ChartTooltipContent","active","color","formatter","hideIndicator","hideLabel","indicator","label","labelClassName","labelFormatter","labelKey","nameKey","payload","tooltipLabel","item","key","itemConfig","getPayloadConfigFromPayload","value","nestLabel","index","indicatorColor","ChartLegend","ChartLegendContent","hideIcon","verticalAlign","isValidObject","nestedPayload","configLabelKey","getConfigLabelKey","obj","generateThemeCSS","theme","configEntries","rules","themeOrColorConfig","_","allRules","themeCSS"],"mappings":"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","sourcesContent":["'use client';\n\nimport type { ComponentProps, ComponentType, CSSProperties, JSX, ReactNode } from 'react';\nimport type { NameType, Payload, ValueType } from 'recharts/types/component/DefaultTooltipContent';\n\nimport { createContext, useContext, useId, useMemo } from 'react';\nimport * as RechartsPrimitive from 'recharts';\n\nimport { cn } from '@/lib/utils';\n\nconst THEMES = {\n dark: '.dark',\n light: '',\n} as const;\n\ntype Theme = keyof typeof THEMES;\n\ninterface IconLabelConfig {\n icon?: ComponentType;\n label?: ReactNode;\n}\n\ninterface ColorConfig {\n color?: string;\n theme?: never;\n}\n\ninterface ThemeConfig {\n theme: Record<Theme, string>;\n color?: never;\n}\n\ntype ChartConfigItem = (ColorConfig | ThemeConfig) & IconLabelConfig;\n\ntype ChartConfig = Record<string, ChartConfigItem | undefined>;\n\ninterface ChartContextProps {\n config: ChartConfig;\n}\n\nconst ChartContext = createContext<ChartContextProps | null>(null);\n\nfunction useChart(): ChartContextProps {\n const context = useContext(ChartContext);\n\n if (!context) {\n throw new Error('useChart must be used within a <ChartContainer />');\n }\n\n return context;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: Chart\n * -------------------------------------------------------------------------- */\n\nfunction ChartContainer({\n id,\n children,\n className,\n config,\n ...props\n}: ComponentProps<'div'> & {\n children: ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>['children'];\n config: ChartConfig;\n}): JSX.Element {\n const uniqueId = useId();\n const chartId = `chart-${id || uniqueId}`;\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n className={cn(\n \"[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-surface]:outline-hidden flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-sector[stroke='#fff']]:stroke-transparent\",\n className,\n )}\n data-chart={chartId}\n data-slot=\"chart\"\n {...props}\n >\n <ChartStyle config={config} id={chartId} />\n <RechartsPrimitive.ResponsiveContainer>{children}</RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ChartStyle\n * -------------------------------------------------------------------------- */\n\nfunction ChartStyle({ id, config }: { config: ChartConfig; id: string }): ReactNode {\n const cssString = useMemo(() => generateCSS(id, config), [id, config]);\n\n return <style dangerouslySetInnerHTML={{ __html: cssString }} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ChartTooltip\n * -------------------------------------------------------------------------- */\n\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\n/* -----------------------------------------------------------------------------\n * Component: ChartTooltipContent\n * -------------------------------------------------------------------------- */\n\nfunction ChartTooltipContent({\n active,\n className,\n color,\n formatter,\n hideIndicator = false,\n hideLabel = false,\n indicator = 'dot',\n label,\n labelClassName,\n labelFormatter,\n labelKey,\n nameKey,\n payload,\n}: ComponentProps<typeof RechartsPrimitive.Tooltip> &\n Omit<ComponentProps<'div'>, 'content'> & {\n hideIndicator?: boolean;\n hideLabel?: boolean;\n indicator?: 'dashed' | 'dot' | 'line';\n labelKey?: string;\n nameKey?: string;\n }): ReactNode {\n const { config } = useChart();\n\n const tooltipLabel = useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null;\n }\n\n const [item] = payload;\n\n const key = `${labelKey || item.dataKey || item.name || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const value = !labelKey && typeof label === 'string' ? config[label]?.label || label : itemConfig?.label;\n\n if (labelFormatter) {\n return <div className={cn('font-medium', labelClassName)}>{labelFormatter(value, payload)}</div>;\n }\n\n if (!value) {\n return null;\n }\n\n return <div className={cn('font-medium', labelClassName)}>{value}</div>;\n }, [config, hideLabel, label, labelClassName, labelFormatter, labelKey, payload]);\n\n if (!active || !payload?.length) {\n return null;\n }\n\n const nestLabel = payload.length === 1 && indicator !== 'dot';\n\n return (\n <div\n className={cn(\n 'bg-background grid min-w-32 items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl',\n className,\n )}\n >\n {nestLabel ? null : tooltipLabel}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const indicatorColor = color || (item.payload as { fill?: string }).fill || item.color;\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n '[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5',\n indicator === 'dot' && 'items-center',\n )}\n >\n {formatter && item.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload as Payload<ValueType, NameType>[])\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn('border-(--color-border) bg-(--color-bg) rounded-xs shrink-0', {\n 'h-2.5 w-2.5': indicator === 'dot',\n 'my-0.5': nestLabel && indicator === 'dashed',\n 'w-0 border border-dashed bg-transparent': indicator === 'dashed',\n 'w-1': indicator === 'line',\n })}\n style={\n {\n '--color-bg': indicatorColor,\n '--color-border': indicatorColor,\n } as CSSProperties\n }\n />\n )\n )}\n <div\n className={cn('flex flex-1 justify-between leading-none', nestLabel ? 'items-end' : 'items-center')}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">{itemConfig?.label || item.name}</span>\n </div>\n {item.value ? (\n <span className=\"text-foreground font-mono font-medium tabular-nums\">\n {item.value.toLocaleString()}\n </span>\n ) : null}\n </div>\n </>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ChartLegend\n * -------------------------------------------------------------------------- */\n\nconst ChartLegend = RechartsPrimitive.Legend;\n\n/* -----------------------------------------------------------------------------\n * Component: ChartLegendContent\n * -------------------------------------------------------------------------- */\n\nfunction ChartLegendContent({\n className,\n hideIcon = false,\n nameKey,\n payload,\n verticalAlign = 'bottom',\n}: ComponentProps<'div'> &\n Pick<RechartsPrimitive.LegendProps, 'payload' | 'verticalAlign'> & {\n hideIcon?: boolean;\n nameKey?: string;\n }): ReactNode {\n const { config } = useChart();\n\n if (!payload?.length) {\n return null;\n }\n\n return (\n <div className={cn('flex items-center justify-center gap-4', verticalAlign === 'top' ? 'pb-3' : 'pt-3', className)}>\n {payload.map((item) => {\n let key = 'value';\n\n if (nameKey) {\n key = nameKey;\n } else if (item.dataKey) {\n key = String(item.dataKey);\n }\n\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n return (\n <div\n key={String(item.value)}\n className={cn('[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:size-3')}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"size-2 shrink-0 rounded-md\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n );\n })}\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Helpers\n * -------------------------------------------------------------------------- */\n\n/**\n * Extracts and returns the appropriate configuration object from\n * the payload based on the specified key.\n *\n * @param config - The chart configuration object that contains various\n * settings.\n * @param payload - The payload object that might contain nested payload data.\n * @param key - The key used to retrieve the specific configuration from the\n * chart config.\n * @returns Returns a configuration object with optional properties `icon`,\n * `label`, `color` or `theme`, or `undefined` if the payload is invalid or\n * no configuration is found for the provided key.\n */\nfunction getPayloadConfigFromPayload(config: ChartConfig, payload: unknown, key: string): ChartConfigItem | undefined {\n if (!isValidObject(payload)) {\n return undefined;\n }\n\n const nestedPayload = 'payload' in payload && isValidObject(payload.payload) ? payload.payload : undefined;\n\n const configLabelKey = getConfigLabelKey(payload, nestedPayload, key);\n\n return configLabelKey in config ? config[configLabelKey] : config[key];\n}\n\n/**\n * Checks if the provided value is a valid object.\n *\n * @param obj - The value to check.\n * @returns - Returns true if the value is an object and not null, false\n * otherwise.\n */\nfunction isValidObject(obj: unknown): obj is Record<string, unknown> {\n return typeof obj === 'object' && obj !== null;\n}\n\n/**\n * Retrieves the configuration label key from either the payload or\n * nestedPayload. If the key exists in the payload and is a string, the\n * corresponding value is returned. Otherwise, if the key exists in the\n * nestedPayload and is a string, its value is returned. If the key is not\n * found as a string in either object, the key itself is returned.\n *\n * @param payload - The primary payload containing key-value pairs.\n * @param nestedPayload - An optional nested payload containing additional\n * key-value pairs.\n * @param key - The key to search for within the payload and nestedPayload.\n *\n * @returns The string value associated with the key if found; otherwise, the\n * key itself.\n */\nfunction getConfigLabelKey(\n payload: Record<string, unknown>,\n nestedPayload: Record<string, unknown> | undefined,\n key: string,\n): string {\n if (key in payload && typeof payload[key] === 'string') {\n return payload[key];\n }\n\n if (nestedPayload && key in nestedPayload && typeof nestedPayload[key] === 'string') {\n return nestedPayload[key];\n }\n\n return key;\n}\n\n/**\n * Generates CSS for a specified theme and chart configuration.\n *\n * @param theme - The theme to be used (for example, 'light', 'dark').\n * @param id - The unique identifier of the chart.\n * @param configEntries - A list of configuration entries, each containing a\n * key and a chart configuration.\n * @returns The generated CSS as a string.\n */\nfunction generateThemeCSS(theme: Theme, id: string, configEntries: [string, ChartConfig[string]][]): string {\n const rules: string[] = [];\n\n rules.push(`${THEMES[theme]} [data-chart=${id}] {`);\n\n for (const [key, itemConfig] of configEntries) {\n const color = itemConfig?.theme?.[theme] || itemConfig?.color;\n\n if (color) {\n rules.push(` --color-${key}: ${color};`);\n }\n }\n\n rules.push('}');\n\n return rules.join('\\n');\n}\n\n/**\n * Generates CSS styles for a chart based on the provided configuration and\n * themes.\n *\n * @param id - The unique identifier for the chart element.\n * @param config - Configuration object for the chart. This includes theme and\n * color settings.\n * @returns A string containing the generated CSS rules.\n */\nfunction generateCSS(id: string, config: ChartConfig): string {\n const themeOrColorConfig = Object.entries(config).filter(([_, itemConfig]) => itemConfig?.theme || itemConfig?.color);\n\n const allRules: string[] = [];\n\n for (const theme of Object.keys(THEMES)) {\n const themeCSS = generateThemeCSS(theme as Theme, id, themeOrColorConfig);\n\n allRules.push(themeCSS);\n }\n\n return allRules.join('\\n');\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type { ChartConfig };\nexport { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent };\n"]}
1
+ {"version":3,"sources":["../src/components/chart.tsx"],"names":["createContext","useContext","useId","useMemo","RechartsPrimitive","Fragment","jsx","jsxs","THEMES","ChartContext","useChart","context","ChartContainer","id","children","className","config","props","uniqueId","chartId","cn","ChartStyle","cssString","generateCSS","ChartTooltip","ChartTooltipContent","active","color","formatter","hideIndicator","hideLabel","indicator","label","labelClassName","labelFormatter","labelKey","nameKey","payload","tooltipLabel","item","key","itemConfig","getPayloadConfigFromPayload","value","nestLabel","index","indicatorColor","ChartLegend","ChartLegendContent","hideIcon","verticalAlign","isValidObject","nestedPayload","configLabelKey","getConfigLabelKey","obj","generateThemeCSS","theme","configEntries","rules","themeOrColorConfig","_","allRules","themeCSS"],"mappings":"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","sourcesContent":["'use client';\n\nimport type { ComponentProps, ComponentType, CSSProperties, JSX, ReactNode } from 'react';\nimport type { NameType, Payload, ValueType } from 'recharts/types/component/DefaultTooltipContent';\n\nimport { createContext, useContext, useId, useMemo } from 'react';\nimport * as RechartsPrimitive from 'recharts';\n\nimport { cn } from '@/lib/utils';\n\nconst THEMES = {\n dark: '.dark',\n light: '',\n} as const;\n\ntype Theme = keyof typeof THEMES;\n\ninterface IconLabelConfig {\n icon?: ComponentType;\n label?: ReactNode;\n}\n\ninterface ColorConfig {\n color?: string;\n theme?: never;\n}\n\ninterface ThemeConfig {\n theme: Record<Theme, string>;\n color?: never;\n}\n\ntype ChartConfigItem = (ColorConfig | ThemeConfig) & IconLabelConfig;\n\ntype ChartConfig = Record<string, ChartConfigItem | undefined>;\n\ninterface ChartContextProps {\n config: ChartConfig;\n}\n\nconst ChartContext = createContext<ChartContextProps | null>(null);\n\nfunction useChart(): ChartContextProps {\n const context = useContext(ChartContext);\n\n if (!context) {\n throw new Error('useChart must be used within a <ChartContainer />');\n }\n\n return context;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: Chart\n * -------------------------------------------------------------------------- */\n\nfunction ChartContainer({\n id,\n children,\n className,\n config,\n ...props\n}: ComponentProps<'div'> & {\n children: ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>['children'];\n config: ChartConfig;\n}): JSX.Element {\n const uniqueId = useId();\n const chartId = `chart-${id || uniqueId}`;\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n className={cn(\n \"[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-surface]:outline-hidden flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-sector[stroke='#fff']]:stroke-transparent\",\n className,\n )}\n data-chart={chartId}\n data-slot=\"chart\"\n {...props}\n >\n <ChartStyle config={config} id={chartId} />\n <RechartsPrimitive.ResponsiveContainer>{children}</RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ChartStyle\n * -------------------------------------------------------------------------- */\n\nfunction ChartStyle({ id, config }: { config: ChartConfig; id: string }): ReactNode {\n const cssString = useMemo(() => generateCSS(id, config), [id, config]);\n\n return <style dangerouslySetInnerHTML={{ __html: cssString }} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ChartTooltip\n * -------------------------------------------------------------------------- */\n\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\n/* -----------------------------------------------------------------------------\n * Component: ChartTooltipContent\n * -------------------------------------------------------------------------- */\n\nfunction ChartTooltipContent({\n active,\n className,\n color,\n formatter,\n hideIndicator = false,\n hideLabel = false,\n indicator = 'dot',\n label,\n labelClassName,\n labelFormatter,\n labelKey,\n nameKey,\n payload,\n}: ComponentProps<typeof RechartsPrimitive.Tooltip> &\n Omit<ComponentProps<'div'>, 'content'> & {\n hideIndicator?: boolean;\n hideLabel?: boolean;\n indicator?: 'dashed' | 'dot' | 'line';\n labelKey?: string;\n nameKey?: string;\n }): ReactNode {\n const { config } = useChart();\n\n const tooltipLabel = useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null;\n }\n\n const [item] = payload;\n\n const key = `${labelKey || item.dataKey || item.name || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const value = !labelKey && typeof label === 'string' ? config[label]?.label || label : itemConfig?.label;\n\n if (labelFormatter) {\n return <div className={cn('font-medium', labelClassName)}>{labelFormatter(value, payload)}</div>;\n }\n\n if (!value) {\n return null;\n }\n\n return <div className={cn('font-medium', labelClassName)}>{value}</div>;\n }, [config, hideLabel, label, labelClassName, labelFormatter, labelKey, payload]);\n\n if (!active || !payload?.length) {\n return null;\n }\n\n const nestLabel = payload.length === 1 && indicator !== 'dot';\n\n return (\n <div\n className={cn(\n 'bg-background grid min-w-32 items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl',\n className,\n )}\n >\n {nestLabel ? null : tooltipLabel}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const indicatorColor = color || (item.payload as { fill?: string }).fill || item.color;\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n '[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:size-2.5',\n indicator === 'dot' && 'items-center',\n )}\n >\n {formatter && item.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload as Payload<ValueType, NameType>[])\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn('border-(--color-border) bg-(--color-bg) rounded-xs shrink-0', {\n 'h-2.5 w-2.5': indicator === 'dot',\n 'my-0.5': nestLabel && indicator === 'dashed',\n 'w-0 border border-dashed bg-transparent': indicator === 'dashed',\n 'w-1': indicator === 'line',\n })}\n style={\n {\n '--color-bg': indicatorColor,\n '--color-border': indicatorColor,\n } as CSSProperties\n }\n />\n )\n )}\n <div\n className={cn('flex flex-1 justify-between leading-none', nestLabel ? 'items-end' : 'items-center')}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">{itemConfig?.label || item.name}</span>\n </div>\n {item.value ? (\n <span className=\"text-foreground font-mono font-medium tabular-nums\">\n {item.value.toLocaleString()}\n </span>\n ) : null}\n </div>\n </>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ChartLegend\n * -------------------------------------------------------------------------- */\n\nconst ChartLegend = RechartsPrimitive.Legend;\n\n/* -----------------------------------------------------------------------------\n * Component: ChartLegendContent\n * -------------------------------------------------------------------------- */\n\nfunction ChartLegendContent({\n className,\n hideIcon = false,\n nameKey,\n payload,\n verticalAlign = 'bottom',\n}: ComponentProps<'div'> &\n Pick<RechartsPrimitive.LegendProps, 'payload' | 'verticalAlign'> & {\n hideIcon?: boolean;\n nameKey?: string;\n }): ReactNode {\n const { config } = useChart();\n\n if (!payload?.length) {\n return null;\n }\n\n return (\n <div className={cn('flex items-center justify-center gap-4', verticalAlign === 'top' ? 'pb-3' : 'pt-3', className)}>\n {payload.map((item) => {\n let key = 'value';\n\n if (nameKey) {\n key = nameKey;\n } else if (item.dataKey) {\n key = String(item.dataKey);\n }\n\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n return (\n <div\n key={String(item.value)}\n className={cn('[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:size-3')}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"size-2 shrink-0 rounded-md\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n );\n })}\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Helpers\n * -------------------------------------------------------------------------- */\n\n/**\n * Extracts and returns the appropriate configuration object from\n * the payload based on the specified key.\n *\n * @param config - The chart configuration object that contains various\n * settings.\n * @param payload - The payload object that might contain nested payload data.\n * @param key - The key used to retrieve the specific configuration from the\n * chart config.\n * @returns Returns a configuration object with optional properties `icon`,\n * `label`, `color` or `theme`, or `undefined` if the payload is invalid or\n * no configuration is found for the provided key.\n */\nfunction getPayloadConfigFromPayload(config: ChartConfig, payload: unknown, key: string): ChartConfigItem | undefined {\n if (!isValidObject(payload)) {\n return undefined;\n }\n\n const nestedPayload = 'payload' in payload && isValidObject(payload.payload) ? payload.payload : undefined;\n\n const configLabelKey = getConfigLabelKey(payload, nestedPayload, key);\n\n return configLabelKey in config ? config[configLabelKey] : config[key];\n}\n\n/**\n * Checks if the provided value is a valid object.\n *\n * @param obj - The value to check.\n * @returns - Returns true if the value is an object and not null, false\n * otherwise.\n */\nfunction isValidObject(obj: unknown): obj is Record<string, unknown> {\n return typeof obj === 'object' && obj !== null;\n}\n\n/**\n * Retrieves the configuration label key from either the payload or\n * nestedPayload. If the key exists in the payload and is a string, the\n * corresponding value is returned. Otherwise, if the key exists in the\n * nestedPayload and is a string, its value is returned. If the key is not\n * found as a string in either object, the key itself is returned.\n *\n * @param payload - The primary payload containing key-value pairs.\n * @param nestedPayload - An optional nested payload containing additional\n * key-value pairs.\n * @param key - The key to search for within the payload and nestedPayload.\n *\n * @returns The string value associated with the key if found; otherwise, the\n * key itself.\n */\nfunction getConfigLabelKey(\n payload: Record<string, unknown>,\n nestedPayload: Record<string, unknown> | undefined,\n key: string,\n): string {\n if (key in payload && typeof payload[key] === 'string') {\n return payload[key];\n }\n\n if (nestedPayload && key in nestedPayload && typeof nestedPayload[key] === 'string') {\n return nestedPayload[key];\n }\n\n return key;\n}\n\n/**\n * Generates CSS for a specified theme and chart configuration.\n *\n * @param theme - The theme to be used (for example, 'light', 'dark').\n * @param id - The unique identifier of the chart.\n * @param configEntries - A list of configuration entries, each containing a\n * key and a chart configuration.\n * @returns The generated CSS as a string.\n */\nfunction generateThemeCSS(theme: Theme, id: string, configEntries: [string, ChartConfig[string]][]): string {\n const rules: string[] = [];\n\n rules.push(`${THEMES[theme]} [data-chart=${id}] {`);\n\n for (const [key, itemConfig] of configEntries) {\n const color = itemConfig?.theme?.[theme] || itemConfig?.color;\n\n if (color) {\n rules.push(` --color-${key}: ${color};`);\n }\n }\n\n rules.push('}');\n\n return rules.join('\\n');\n}\n\n/**\n * Generates CSS styles for a chart based on the provided configuration and\n * themes.\n *\n * @param id - The unique identifier for the chart element.\n * @param config - Configuration object for the chart. This includes theme and\n * color settings.\n * @returns A string containing the generated CSS rules.\n */\nfunction generateCSS(id: string, config: ChartConfig): string {\n const themeOrColorConfig = Object.entries(config).filter(([_, itemConfig]) => itemConfig?.theme || itemConfig?.color);\n\n const allRules: string[] = [];\n\n for (const theme of Object.keys(THEMES)) {\n const themeCSS = generateThemeCSS(theme as Theme, id, themeOrColorConfig);\n\n allRules.push(themeCSS);\n }\n\n return allRules.join('\\n');\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type { ChartConfig };\nexport { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent };\n"]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }var _chunkPOJOZ7HMcjs = require('./chunk-POJOZ7HM.cjs');var _chunkTNP6NVCRcjs = require('./chunk-TNP6NVCR.cjs');var _chunkXXUOW3IDcjs = require('./chunk-XXUOW3ID.cjs');var _chunkSMJEDCFPcjs = require('./chunk-SMJEDCFP.cjs');var _inputnumber = require('@codefast-ui/input-number'); var t = _interopRequireWildcard(_inputnumber);var _lucidereact = require('lucide-react');var _jsxruntime = require('react/jsx-runtime');var{input:B,root:k}=_chunkPOJOZ7HMcjs.a.call(void 0, );function R({id:u,ariaDecrementLabel:s,ariaIncrementLabel:d,className:m,defaultValue:p,disabled:l,formatOptions:b,loaderPosition:c,loading:v,max:f,min:g,onChange:h,prefix:I,readOnly:N,spinner:P,step:C,suffix:w,value:x,...y}){return _jsxruntime.jsxs.call(void 0, t.Root,{ariaDecrementLabel:s,ariaIncrementLabel:d,className:k({className:["group pr-0",m]}),"data-slot":"input-number",defaultValue:p,disabled:l,formatOptions:b,id:u,loaderPosition:c,loading:v,max:f,min:g,prefix:I,readOnly:N,spinner:P||_jsxruntime.jsx.call(void 0, _chunkXXUOW3IDcjs.a,{}),step:C,suffix:w,value:x,onChange:h,children:[_jsxruntime.jsx.call(void 0, t.Item,{autoCapitalize:"none",autoComplete:"off",autoCorrect:"off",className:B(),spellCheck:"false",...y}),_jsxruntime.jsxs.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "divide-input border-l-input group-hover:not-group-focus-within:not-has-disabled:border-l-border-ring/60 group-hover:not-group-focus-within:not-has-disabled:divide-border-ring/60 group-focus-within:border-l-ring group-focus-within:divide-ring group-has-aria-invalid:border-l-destructive group-has-aria-invalid:divide-destructive group-hover:group-has-aria-invalid:not-group-focus-within:not-has-disabled:border-l-destructive/60 group-hover:group-has-aria-invalid:not-group-focus-within:not-has-disabled:divide-destructive/60 order-last ml-auto grid h-full shrink-0 divide-y border-l transition","*:[button]:focus-visible:ring-0 *:[button]:focus-visible:bg-ring/50 group-has-aria-invalid:*:[button]:focus-visible:bg-destructive/20 dark:group-has-aria-invalid:*:[button]:focus-visible:bg-destructive/40"),"data-slot":"input-number-buttons",children:[_jsxruntime.jsx.call(void 0, t.IncrementButton,{"aria-label":"Increment",className:_chunkTNP6NVCRcjs.a.call(void 0, {className:"text-muted-foreground h-auto rounded-none rounded-tr-[calc(var(--radius-lg)-1px)]",variant:"ghost"}),"data-slot":"input-number-increment-button",children:_jsxruntime.jsx.call(void 0, _lucidereact.ChevronUpIcon,{})}),_jsxruntime.jsx.call(void 0, t.DecrementButton,{"aria-label":"Decrement",className:_chunkTNP6NVCRcjs.a.call(void 0, {className:"text-muted-foreground h-auto rounded-none rounded-br-[calc(var(--radius-lg)-1px)]",variant:"ghost"}),"data-slot":"input-number-decrement-button",children:_jsxruntime.jsx.call(void 0, _lucidereact.ChevronDownIcon,{})})]})]})}var z=R;exports.a = R; exports.b = z;
2
+ //# sourceMappingURL=chunk-JIF3ESOX.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-JIF3ESOX.cjs","../src/components/input-number.tsx"],"names":["input","root","inputVariants","InputNumber","id","ariaDecrementLabel","ariaIncrementLabel","className","defaultValue","disabled","formatOptions","loaderPosition","loading","max","min","onChange","prefix","readOnly","spinner","step","suffix","value","props","jsxs","jsx","Spinner","cn","buttonVariants","ChevronUpIcon","ChevronDownIcon","NumberInput"],"mappings":"AAAA,mZAAwC,wDAAyC,wDAAyC,wDAAyC,uGCG7H,2CACS,+CAoDrB,GA7CpB,CAAE,KAAA,CAAAA,CAAAA,CAAO,IAAA,CAAAC,CAAK,CAAA,CAAIC,iCAAAA,CAAc,CAMtC,SAASC,CAAAA,CAAY,CACnB,EAAA,CAAAC,CAAAA,CACA,kBAAA,CAAAC,CAAAA,CACA,kBAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,aAAA,CAAAC,CAAAA,CACA,cAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,GAAA,CAAAC,CAAAA,CACA,GAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAEmD,CACjD,OACEC,8BAAAA,CAAsB,CAAA,IAAA,CAArB,CACC,kBAAA,CAAoBlB,CAAAA,CACpB,kBAAA,CAAoBC,CAAAA,CACpB,SAAA,CAAWL,CAAAA,CAAK,CAAE,SAAA,CAAW,CAAC,YAAA,CAAcM,CAAS,CAAE,CAAC,CAAA,CACxD,WAAA,CAAU,cAAA,CACV,YAAA,CAAcC,CAAAA,CACd,QAAA,CAAUC,CAAAA,CACV,aAAA,CAAeC,CAAAA,CACf,EAAA,CAAIN,CAAAA,CACJ,cAAA,CAAgBO,CAAAA,CAChB,OAAA,CAASC,CAAAA,CACT,GAAA,CAAKC,CAAAA,CACL,GAAA,CAAKC,CAAAA,CACL,MAAA,CAAQE,CAAAA,CACR,QAAA,CAAUC,CAAAA,CACV,OAAA,CAASC,CAAAA,EAAWM,6BAAAA,mBAACC,CAAA,CAAA,CAAQ,CAAA,CAC7B,IAAA,CAAMN,CAAAA,CACN,MAAA,CAAQC,CAAAA,CACR,KAAA,CAAOC,CAAAA,CACP,QAAA,CAAUN,CAAAA,CAEV,QAAA,CAAA,CAAAS,6BAAAA,CAAsB,CAAA,IAAA,CAArB,CACC,cAAA,CAAe,MAAA,CACf,YAAA,CAAa,KAAA,CACb,WAAA,CAAY,KAAA,CACZ,SAAA,CAAWxB,CAAAA,CAAM,CAAA,CACjB,UAAA,CAAW,OAAA,CACV,GAAGsB,CAAAA,CACN,CAAA,CACAC,8BAAAA,KAAC,CAAA,CACC,SAAA,CAAWG,iCAAAA,klBACT,CACA,8MACF,CAAA,CACA,WAAA,CAAU,sBAAA,CAEV,QAAA,CAAA,CAAAF,6BAAAA,CAAsB,CAAA,eAAA,CAArB,CACC,YAAA,CAAW,WAAA,CACX,SAAA,CAAWG,iCAAAA,CACT,SAAA,CAAW,mFAAA,CACX,OAAA,CAAS,OACX,CAAC,CAAA,CACD,WAAA,CAAU,+BAAA,CAEV,QAAA,CAAAH,6BAAAA,0BAACI,CAAA,CAAA,CAAc,CAAA,CACjB,CAAA,CACAJ,6BAAAA,CAAsB,CAAA,eAAA,CAArB,CACC,YAAA,CAAW,WAAA,CACX,SAAA,CAAWG,iCAAAA,CACT,SAAA,CAAW,mFAAA,CACX,OAAA,CAAS,OACX,CAAC,CAAA,CACD,WAAA,CAAU,+BAAA,CAEV,QAAA,CAAAH,6BAAAA,4BAACK,CAAA,CAAA,CAAgB,CAAA,CACnB,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAEJ,CAWA,IAAMC,CAAAA,CAAc3B,CAAAA,CAAAA,6BAAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-JIF3ESOX.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport * as InputNumberPrimitive from '@codefast-ui/input-number';\nimport { ChevronDownIcon, ChevronUpIcon } from 'lucide-react';\n\nimport { buttonVariants } from '@/components/button';\nimport { inputVariants } from '@/components/input';\nimport { Spinner } from '@/components/spinner';\nimport { cn } from '@/lib/utils';\n\nconst { input, root } = inputVariants();\n\n/* -----------------------------------------------------------------------------\n * Component: InputNumber\n * -------------------------------------------------------------------------- */\n\nfunction InputNumber({\n id,\n ariaDecrementLabel,\n ariaIncrementLabel,\n className,\n defaultValue,\n disabled,\n formatOptions,\n loaderPosition,\n loading,\n max,\n min,\n onChange,\n prefix,\n readOnly,\n spinner,\n step,\n suffix,\n value,\n ...props\n}: ComponentProps<typeof InputNumberPrimitive.Item> &\n ComponentProps<typeof InputNumberPrimitive.Root> &\n VariantProps<typeof inputVariants>): JSX.Element {\n return (\n <InputNumberPrimitive.Root\n ariaDecrementLabel={ariaDecrementLabel}\n ariaIncrementLabel={ariaIncrementLabel}\n className={root({ className: ['group pr-0', className] })}\n data-slot=\"input-number\"\n defaultValue={defaultValue}\n disabled={disabled}\n formatOptions={formatOptions}\n id={id}\n loaderPosition={loaderPosition}\n loading={loading}\n max={max}\n min={min}\n prefix={prefix}\n readOnly={readOnly}\n spinner={spinner || <Spinner />}\n step={step}\n suffix={suffix}\n value={value}\n onChange={onChange}\n >\n <InputNumberPrimitive.Item\n autoCapitalize=\"none\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n className={input()}\n spellCheck=\"false\"\n {...props}\n />\n <div\n className={cn(\n 'divide-input border-l-input group-hover:not-group-focus-within:not-has-disabled:border-l-border-ring/60 group-hover:not-group-focus-within:not-has-disabled:divide-border-ring/60 group-focus-within:border-l-ring group-focus-within:divide-ring group-has-aria-invalid:border-l-destructive group-has-aria-invalid:divide-destructive group-hover:group-has-aria-invalid:not-group-focus-within:not-has-disabled:border-l-destructive/60 group-hover:group-has-aria-invalid:not-group-focus-within:not-has-disabled:divide-destructive/60 order-last ml-auto grid h-full shrink-0 divide-y border-l transition',\n '*:[button]:focus-visible:ring-0 *:[button]:focus-visible:bg-ring/50 group-has-aria-invalid:*:[button]:focus-visible:bg-destructive/20 dark:group-has-aria-invalid:*:[button]:focus-visible:bg-destructive/40',\n )}\n data-slot=\"input-number-buttons\"\n >\n <InputNumberPrimitive.IncrementButton\n aria-label=\"Increment\"\n className={buttonVariants({\n className: 'text-muted-foreground h-auto rounded-none rounded-tr-[calc(var(--radius-lg)-1px)]',\n variant: 'ghost',\n })}\n data-slot=\"input-number-increment-button\"\n >\n <ChevronUpIcon />\n </InputNumberPrimitive.IncrementButton>\n <InputNumberPrimitive.DecrementButton\n aria-label=\"Decrement\"\n className={buttonVariants({\n className: 'text-muted-foreground h-auto rounded-none rounded-br-[calc(var(--radius-lg)-1px)]',\n variant: 'ghost',\n })}\n data-slot=\"input-number-decrement-button\"\n >\n <ChevronDownIcon />\n </InputNumberPrimitive.DecrementButton>\n </div>\n </InputNumberPrimitive.Root>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Deprecated\n * -------------------------------------------------------------------------- */\n\n/**\n * @deprecated\n * This component is an alias of the Input component.\n * Please use the Input component instead to ensure consistency.\n */\nconst NumberInput = InputNumber;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { InputNumber, NumberInput };\n"]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkTNP6NVCRcjs = require('./chunk-TNP6NVCR.cjs');var _chunkSMJEDCFPcjs = require('./chunk-SMJEDCFP.cjs');var _reactdialog = require('@radix-ui/react-dialog'); var e = _interopRequireWildcard(_reactdialog);var _lucidereact = require('lucide-react');var _tailwindvariants = require('tailwind-variants');var _jsxruntime = require('react/jsx-runtime');var f=_tailwindvariants.tv.call(void 0, {base:"bg-background animation-ease-in-out data-[state=open]:animate-in data-[state=open]:animation-duration-500 data-[state=closed]:animate-out data-[state=closed]:animation-duration-500 fixed z-50 flex flex-col overflow-auto shadow-lg",variants:{side:{bottom:"data-[state=open]:slide-in-from-bottom-full data-[state=closed]:slide-out-to-bottom-full inset-x-0 bottom-0 max-h-[80vh] border-t",left:"data-[state=open]:slide-in-from-left-full data-[state=closed]:slide-out-to-left-full inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",right:"data-[state=open]:slide-in-from-right-full data-[state=closed]:slide-out-to-right-full inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",top:"data-[state=open]:slide-in-from-top-full data-[state=closed]:slide-out-to-top-full inset-x-0 top-0 max-h-[80vh] border-b"}},defaultVariants:{side:"right"}});function S({children:t,...o}){return _jsxruntime.jsx.call(void 0, e.Root,{"data-slot":"sheet",...o,children:t})}function P({...t}){return _jsxruntime.jsx.call(void 0, e.Trigger,{"data-slot":"sheet-trigger",...t})}function g({children:t,className:o,classNames:n,side:s="right",...m}){return _jsxruntime.jsxs.call(void 0, e.Portal,{children:[_jsxruntime.jsx.call(void 0, e.Overlay,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-popover-overlay data-[state=open]:animate-fade-in data-[state=open]:animation-duration-500 data-[state=closed]:animate-fade-out data-[state=closed]:animation-duration-500 fixed inset-0 z-50 backdrop-blur-sm",_optionalChain([n, 'optionalAccess', _ => _.overlay])),"data-slot":"sheet-overlay"}),_jsxruntime.jsxs.call(void 0, e.Content,{className:f({className:[_optionalChain([n, 'optionalAccess', _2 => _2.content]),o],side:s}),"data-slot":"sheet-content",...m,children:[t,_jsxruntime.jsxs.call(void 0, e.Close,{className:_chunkTNP6NVCRcjs.a.call(void 0, {className:["absolute right-4 top-4 size-7",_optionalChain([n, 'optionalAccess', _3 => _3.close])],size:"icon",variant:"ghost"}),"data-slot":"sheet-close",children:[_jsxruntime.jsx.call(void 0, _lucidereact.XIcon,{className:"size-4"}),_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Close"})]})]})]})}function x({className:t,...o}){return _jsxruntime.jsx.call(void 0, "header",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex shrink-0 flex-col gap-1.5 px-6 pb-4 pt-6 text-center sm:text-left",t),"data-slot":"sheet-header",...o})}function b({className:t,...o}){return _jsxruntime.jsx.call(void 0, "main",{className:_chunkSMJEDCFPcjs.a.call(void 0, "px-6 py-2",t),"data-slot":"sheet-body",...o})}function y({className:t,...o}){return _jsxruntime.jsx.call(void 0, "footer",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex shrink-0 flex-col-reverse gap-2 px-6 pb-6 pt-4 sm:flex-row sm:justify-end",t),"data-slot":"sheet-footer",...o})}function C({className:t,...o}){return _jsxruntime.jsx.call(void 0, e.Title,{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-foreground text-lg font-semibold",t),"data-slot":"sheet-title",...o})}function N({className:t,...o}){return _jsxruntime.jsx.call(void 0, e.Description,{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-muted-foreground text-sm",t),"data-slot":"sheet-description",...o})}function X({className:t,size:o,variant:n="outline",...s}){return _jsxruntime.jsx.call(void 0, e.Close,{className:_chunkTNP6NVCRcjs.a.call(void 0, {className:t,size:o,variant:n}),"data-slot":"sheet-close",...s})}exports.a = S; exports.b = P; exports.c = g; exports.d = x; exports.e = b; exports.f = y; exports.g = C; exports.h = N; exports.i = X;
2
+ //# sourceMappingURL=chunk-JM2VJEQF.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-JM2VJEQF.cjs","../src/components/sheet.tsx"],"names":["sheetContentVariants","tv","Sheet","children","props","jsx","SheetTrigger","SheetContent","className","classNames","side","jsxs","cn","buttonVariants","XIcon","SheetHeader","SheetBody","SheetFooter","SheetTitle","SheetDescription","SheetClose","size","variant"],"mappings":"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","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-JM2VJEQF.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport * as SheetPrimitive from '@radix-ui/react-dialog';\nimport { XIcon } from 'lucide-react';\nimport { tv } from 'tailwind-variants';\n\nimport { buttonVariants } from '@/components/button';\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Variant: SheetContent\n * -------------------------------------------------------------------------- */\n\nconst sheetContentVariants = tv({\n base: 'bg-background animation-ease-in-out data-[state=open]:animate-in data-[state=open]:animation-duration-500 data-[state=closed]:animate-out data-[state=closed]:animation-duration-500 fixed z-50 flex flex-col overflow-auto shadow-lg',\n variants: {\n side: {\n bottom:\n 'data-[state=open]:slide-in-from-bottom-full data-[state=closed]:slide-out-to-bottom-full inset-x-0 bottom-0 max-h-[80vh] border-t',\n left: 'data-[state=open]:slide-in-from-left-full data-[state=closed]:slide-out-to-left-full inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm',\n right:\n 'data-[state=open]:slide-in-from-right-full data-[state=closed]:slide-out-to-right-full inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm',\n top: 'data-[state=open]:slide-in-from-top-full data-[state=closed]:slide-out-to-top-full inset-x-0 top-0 max-h-[80vh] border-b',\n },\n },\n defaultVariants: {\n side: 'right',\n },\n});\n\n/* -----------------------------------------------------------------------------\n * Component: Sheet\n * -------------------------------------------------------------------------- */\n\nfunction Sheet({ children, ...props }: ComponentProps<typeof SheetPrimitive.Root>): JSX.Element {\n return (\n <SheetPrimitive.Root data-slot=\"sheet\" {...props}>\n {children}\n </SheetPrimitive.Root>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetTrigger\n * -------------------------------------------------------------------------- */\n\nfunction SheetTrigger({ ...props }: ComponentProps<typeof SheetPrimitive.Trigger>): JSX.Element {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetContent\n * -------------------------------------------------------------------------- */\n\nfunction SheetContent({\n children,\n className,\n classNames,\n side = 'right',\n ...props\n}: ComponentProps<typeof SheetPrimitive.Content> &\n VariantProps<typeof sheetContentVariants> & {\n classNames?: {\n close?: string;\n content?: string;\n overlay?: string;\n };\n }): JSX.Element {\n return (\n <SheetPrimitive.Portal>\n <SheetPrimitive.Overlay\n className={cn(\n 'bg-popover-overlay data-[state=open]:animate-fade-in data-[state=open]:animation-duration-500 data-[state=closed]:animate-fade-out data-[state=closed]:animation-duration-500 fixed inset-0 z-50 backdrop-blur-sm',\n classNames?.overlay,\n )}\n data-slot=\"sheet-overlay\"\n />\n <SheetPrimitive.Content\n className={sheetContentVariants({ className: [classNames?.content, className], side })}\n data-slot=\"sheet-content\"\n {...props}\n >\n {children}\n <SheetPrimitive.Close\n className={buttonVariants({\n className: ['absolute right-4 top-4 size-7', classNames?.close],\n size: 'icon',\n variant: 'ghost',\n })}\n data-slot=\"sheet-close\"\n >\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPrimitive.Portal>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetHeader\n * -------------------------------------------------------------------------- */\n\nfunction SheetHeader({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <header\n className={cn('flex shrink-0 flex-col gap-1.5 px-6 pb-4 pt-6 text-center sm:text-left', className)}\n data-slot=\"sheet-header\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetBody\n * -------------------------------------------------------------------------- */\n\nfunction SheetBody({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return <main className={cn('px-6 py-2', className)} data-slot=\"sheet-body\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetFooter\n * -------------------------------------------------------------------------- */\n\nfunction SheetFooter({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <footer\n className={cn('flex shrink-0 flex-col-reverse gap-2 px-6 pb-6 pt-4 sm:flex-row sm:justify-end', className)}\n data-slot=\"sheet-footer\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetTitle\n * -------------------------------------------------------------------------- */\n\nfunction SheetTitle({ className, ...props }: ComponentProps<typeof SheetPrimitive.Title>): JSX.Element {\n return (\n <SheetPrimitive.Title\n className={cn('text-foreground text-lg font-semibold', className)}\n data-slot=\"sheet-title\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetDescription\n * -------------------------------------------------------------------------- */\n\nfunction SheetDescription({ className, ...props }: ComponentProps<typeof SheetPrimitive.Description>): JSX.Element {\n return (\n <SheetPrimitive.Description\n className={cn('text-muted-foreground text-sm', className)}\n data-slot=\"sheet-description\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetClose\n * -------------------------------------------------------------------------- */\n\nfunction SheetClose({\n className,\n size,\n variant = 'outline',\n ...props\n}: ComponentProps<typeof SheetPrimitive.Close> & {\n size?: VariantProps<typeof buttonVariants>['size'];\n variant?: VariantProps<typeof buttonVariants>['variant'];\n}): JSX.Element {\n return (\n <SheetPrimitive.Close className={buttonVariants({ className, size, variant })} data-slot=\"sheet-close\" {...props} />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Sheet,\n SheetBody,\n SheetClose,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetTitle,\n SheetTrigger,\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-JW6C57Y5.cjs","../src/components/progress.tsx"],"names":["Progress","className","value","props","jsx","cn"],"mappings":"AAAA,ufAAwC,0GCEL,+CAe7B,SAPGA,CAAAA,CAAS,CAAE,SAAA,CAAAC,CAAAA,CAAW,KAAA,CAAAC,CAAAA,CAAO,GAAGC,CAAM,CAAA,CAA+D,CAC5G,OACEC,6BAAAA,CAAmB,CAAA,IAAA,CAAlB,CACC,SAAA,CAAWC,iCAAAA,gEAAG,CAAkEJ,CAAS,CAAA,CACzF,WAAA,CAAU,UAAA,CACT,GAAGE,CAAAA,CAEJ,QAAA,CAAAC,6BAAAA,CAAmB,CAAA,SAAA,CAAlB,CACC,SAAA,CAAU,4CAAA,CACV,WAAA,CAAU,oBAAA,CACV,KAAA,CAAO,CACL,SAAA,CAAW,CAAA,YAAA,EAAe,MAAA,CAAO,GAAA,CAAA,kBAAOF,CAAAA,SAAS,GAAA,CAAE,CAAC,CAAA,EAAA,CACtD,CAAA,CACF,CAAA,CACF,CAEJ,CAAA,cAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-JW6C57Y5.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport * as ProgressPrimitive from '@radix-ui/react-progress';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Progress\n * -------------------------------------------------------------------------- */\n\nfunction Progress({ className, value, ...props }: ComponentProps<typeof ProgressPrimitive.Root>): JSX.Element {\n return (\n <ProgressPrimitive.Root\n className={cn('bg-primary/20 relative h-2 w-full overflow-hidden rounded-full', className)}\n data-slot=\"progress\"\n {...props}\n >\n <ProgressPrimitive.Indicator\n className=\"bg-primary size-full flex-1 transition-all\"\n data-slot=\"progress-indicator\"\n style={{\n transform: `translateX(-${String(100 - (value ?? 0))}%)`,\n }}\n />\n </ProgressPrimitive.Root>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Progress };\n"]}
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-JW6C57Y5.cjs","../src/components/progress.tsx"],"names":["Progress","className","value","props","jsx","cn"],"mappings":"AAAA,ufAAwC,0GCEL,+CAe7B,SAPGA,CAAAA,CAAS,CAAE,SAAA,CAAAC,CAAAA,CAAW,KAAA,CAAAC,CAAAA,CAAO,GAAGC,CAAM,CAAA,CAA+D,CAC5G,OACEC,6BAAAA,CAAmB,CAAA,IAAA,CAAlB,CACC,SAAA,CAAWC,iCAAAA,gEAAG,CAAkEJ,CAAS,CAAA,CACzF,WAAA,CAAU,UAAA,CACT,GAAGE,CAAAA,CAEJ,QAAA,CAAAC,6BAAAA,CAAmB,CAAA,SAAA,CAAlB,CACC,SAAA,CAAU,4CAAA,CACV,WAAA,CAAU,oBAAA,CACV,KAAA,CAAO,CACL,SAAA,CAAW,CAAA,YAAA,EAAe,MAAA,CAAO,GAAA,CAAA,kBAAOF,CAAAA,SAAS,GAAA,CAAE,CAAC,CAAA,EAAA,CACtD,CAAA,CACF,CAAA,CACF,CAEJ,CAAA,cAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-JW6C57Y5.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport * as ProgressPrimitive from '@radix-ui/react-progress';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Progress\n * -------------------------------------------------------------------------- */\n\nfunction Progress({ className, value, ...props }: ComponentProps<typeof ProgressPrimitive.Root>): JSX.Element {\n return (\n <ProgressPrimitive.Root\n className={cn('bg-primary/20 relative h-2 w-full overflow-hidden rounded-full', className)}\n data-slot=\"progress\"\n {...props}\n >\n <ProgressPrimitive.Indicator\n className=\"bg-primary size-full flex-1 transition-all\"\n data-slot=\"progress-indicator\"\n style={{\n transform: `translateX(-${String(100 - (value ?? 0))}%)`,\n }}\n />\n </ProgressPrimitive.Root>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Progress };\n"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";var _chunk3W2OPECDcjs = require('./chunk-3W2OPECD.cjs');var _chunkSMJEDCFPcjs = require('./chunk-SMJEDCFP.cjs');var _reactvisuallyhidden = require('@radix-ui/react-visually-hidden');var _cmdk = require('cmdk');var _lucidereact = require('lucide-react');var _jsxruntime = require('react/jsx-runtime');function c({className:e,...o}){return _jsxruntime.jsx.call(void 0, _cmdk.Command,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-popover text-popover-foreground outline-hidden flex flex-col overflow-hidden rounded-[inherit]",e),"data-slot":"command",...o})}function h({children:e,...o}){return _jsxruntime.jsx.call(void 0, _chunk3W2OPECDcjs.a,{"data-slot":"command-dialog",...o,children:_jsxruntime.jsxs.call(void 0, _chunk3W2OPECDcjs.c,{className:"rounded-t-lg sm:rounded-lg","data-slot":"command-dialog-content",children:[_jsxruntime.jsxs.call(void 0, _reactvisuallyhidden.VisuallyHidden,{children:[_jsxruntime.jsx.call(void 0, _chunk3W2OPECDcjs.g,{children:"Search command"}),_jsxruntime.jsx.call(void 0, _chunk3W2OPECDcjs.h,{children:"Use the search bar to find and select the desired command."})]}),_jsxruntime.jsx.call(void 0, c,{className:"[&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input]]:h-12",children:e})]})})}function y({className:e,...o}){return _jsxruntime.jsxs.call(void 0, "div",{className:"flex items-center gap-2 border-b px-3","cmdk-input-wrapper":"","data-slot":"command-input-wrapper",children:[_jsxruntime.jsx.call(void 0, _lucidereact.SearchIcon,{className:"size-4 shrink-0 opacity-50"}),_jsxruntime.jsx.call(void 0, _cmdk.Command.Input,{className:_chunkSMJEDCFPcjs.a.call(void 0, "placeholder:text-muted-foreground outline-hidden flex h-10 w-full text-base disabled:opacity-50 md:text-sm",e),"data-slot":"command-input",...o})]})}function v({className:e,...o}){return _jsxruntime.jsx.call(void 0, _cmdk.Command.List,{className:_chunkSMJEDCFPcjs.a.call(void 0, "max-h-75 overflow-y-auto overflow-x-hidden",e),"data-slot":"command-list",...o})}function P({className:e,...o}){return _jsxruntime.jsx.call(void 0, _cmdk.Command.Empty,{className:_chunkSMJEDCFPcjs.a.call(void 0, "py-6 text-center text-sm",e),"data-slot":"command-empty",...o})}function S({className:e,...o}){return _jsxruntime.jsx.call(void 0, _cmdk.Command.Group,{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),"data-slot":"command-group",...o})}function k({className:e,...o}){return _jsxruntime.jsx.call(void 0, _cmdk.Command.Separator,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-border -mx-1 h-px",e),"data-slot":"command-separator",...o})}function _({className:e,...o}){return _jsxruntime.jsx.call(void 0, _cmdk.Command.Item,{className:_chunkSMJEDCFPcjs.a.call(void 0, "aria-selected:bg-accent aria-selected:text-accent-foreground outline-hidden group/command-item [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default select-none items-center gap-x-2 rounded-sm px-2 py-1.5 text-sm aria-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0",e),"data-slot":"command-item",...o})}function E({className:e,...o}){return _jsxruntime.jsx.call(void 0, _cmdk.Command.Loading,{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex justify-center p-2",e),"data-slot":"command-loading",...o})}function N({className:e,...o}){return _jsxruntime.jsx.call(void 0, "span",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-muted-foreground ml-auto text-xs tracking-widest group-aria-selected/command-item:text-current",e),"data-slot":"command-shortcut",...o})}exports.a = c; exports.b = h; exports.c = y; exports.d = v; exports.e = P; exports.f = S; exports.g = k; exports.h = _; exports.i = E; exports.j = N;
2
- //# sourceMappingURL=chunk-XBNM23BB.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";var _chunk5NGAG7ZWcjs = require('./chunk-5NGAG7ZW.cjs');var _chunkSMJEDCFPcjs = require('./chunk-SMJEDCFP.cjs');var _reactvisuallyhidden = require('@radix-ui/react-visually-hidden');var _cmdk = require('cmdk');var _lucidereact = require('lucide-react');var _jsxruntime = require('react/jsx-runtime');function c({className:e,...o}){return _jsxruntime.jsx.call(void 0, _cmdk.Command,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-popover text-popover-foreground outline-hidden flex flex-col overflow-hidden rounded-[inherit]",e),"data-slot":"command",...o})}function h({children:e,...o}){return _jsxruntime.jsx.call(void 0, _chunk5NGAG7ZWcjs.a,{"data-slot":"command-dialog",...o,children:_jsxruntime.jsxs.call(void 0, _chunk5NGAG7ZWcjs.c,{className:"rounded-t-lg sm:rounded-lg","data-slot":"command-dialog-content",children:[_jsxruntime.jsxs.call(void 0, _reactvisuallyhidden.VisuallyHidden,{children:[_jsxruntime.jsx.call(void 0, _chunk5NGAG7ZWcjs.g,{children:"Search command"}),_jsxruntime.jsx.call(void 0, _chunk5NGAG7ZWcjs.h,{children:"Use the search bar to find and select the desired command."})]}),_jsxruntime.jsx.call(void 0, c,{className:"[&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input]]:h-12",children:e})]})})}function y({className:e,...o}){return _jsxruntime.jsxs.call(void 0, "div",{className:"flex items-center gap-2 border-b px-3","cmdk-input-wrapper":"","data-slot":"command-input-wrapper",children:[_jsxruntime.jsx.call(void 0, _lucidereact.SearchIcon,{className:"size-4 shrink-0 opacity-50"}),_jsxruntime.jsx.call(void 0, _cmdk.Command.Input,{className:_chunkSMJEDCFPcjs.a.call(void 0, "placeholder:text-muted-foreground outline-hidden flex h-10 w-full text-base disabled:opacity-50 md:text-sm",e),"data-slot":"command-input",...o})]})}function v({className:e,...o}){return _jsxruntime.jsx.call(void 0, _cmdk.Command.List,{className:_chunkSMJEDCFPcjs.a.call(void 0, "max-h-75 overflow-y-auto overflow-x-hidden",e),"data-slot":"command-list",...o})}function P({className:e,...o}){return _jsxruntime.jsx.call(void 0, _cmdk.Command.Empty,{className:_chunkSMJEDCFPcjs.a.call(void 0, "py-6 text-center text-sm",e),"data-slot":"command-empty",...o})}function S({className:e,...o}){return _jsxruntime.jsx.call(void 0, _cmdk.Command.Group,{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),"data-slot":"command-group",...o})}function k({className:e,...o}){return _jsxruntime.jsx.call(void 0, _cmdk.Command.Separator,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-border -mx-1 h-px",e),"data-slot":"command-separator",...o})}function _({className:e,...o}){return _jsxruntime.jsx.call(void 0, _cmdk.Command.Item,{className:_chunkSMJEDCFPcjs.a.call(void 0, "aria-selected:bg-accent aria-selected:text-accent-foreground outline-hidden group/command-item [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default select-none items-center gap-x-2 rounded-sm px-2 py-1.5 text-sm aria-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0",e),"data-slot":"command-item",...o})}function E({className:e,...o}){return _jsxruntime.jsx.call(void 0, _cmdk.Command.Loading,{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex justify-center p-2",e),"data-slot":"command-loading",...o})}function N({className:e,...o}){return _jsxruntime.jsx.call(void 0, "span",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-muted-foreground ml-auto text-xs tracking-widest group-aria-selected/command-item:text-current",e),"data-slot":"command-shortcut",...o})}exports.a = c; exports.b = h; exports.c = y; exports.d = v; exports.e = P; exports.f = S; exports.g = k; exports.h = _; exports.i = E; exports.j = N;
2
+ //# sourceMappingURL=chunk-K3WFUR2W.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-K3WFUR2W.cjs","../src/components/command.tsx"],"names":["className","CommandPrimitive","cn","props","CommandDialog","children","Dialog","DialogContent","VisuallyHidden","jsx","DialogTitle","CommandInput","SearchIcon","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","CommandLoading","CommandShortcut"],"mappings":"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","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-K3WFUR2W.cjs","sourcesContent":[null,"'use client';\n\nimport type { ComponentProps, JSX } from 'react';\n\nimport { VisuallyHidden } from '@radix-ui/react-visually-hidden';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport { SearchIcon } from 'lucide-react';\n\nimport { Dialog, DialogContent, DialogDescription, DialogTitle } from '@/components/dialog';\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Command\n * -------------------------------------------------------------------------- */\n\nfunction Command({ className, ...props }: ComponentProps<typeof CommandPrimitive>): JSX.Element {\n return (\n <CommandPrimitive\n className={cn(\n 'bg-popover text-popover-foreground outline-hidden flex flex-col overflow-hidden rounded-[inherit]',\n className,\n )}\n data-slot=\"command\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CommandDialog\n * -------------------------------------------------------------------------- */\n\nfunction CommandDialog({ children, ...props }: ComponentProps<typeof Dialog>): JSX.Element {\n return (\n <Dialog data-slot=\"command-dialog\" {...props}>\n <DialogContent className=\"rounded-t-lg sm:rounded-lg\" data-slot=\"command-dialog-content\">\n <VisuallyHidden>\n <DialogTitle>Search command</DialogTitle>\n <DialogDescription>Use the search bar to find and select the desired command.</DialogDescription>\n </VisuallyHidden>\n <Command className=\"[&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input]]:h-12\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CommandInput\n * -------------------------------------------------------------------------- */\n\nfunction CommandInput({ className, ...props }: ComponentProps<typeof CommandPrimitive.Input>): JSX.Element {\n return (\n <div className=\"flex items-center gap-2 border-b px-3\" cmdk-input-wrapper=\"\" data-slot=\"command-input-wrapper\">\n <SearchIcon className=\"size-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n className={cn(\n 'placeholder:text-muted-foreground outline-hidden flex h-10 w-full text-base disabled:opacity-50 md:text-sm',\n className,\n )}\n data-slot=\"command-input\"\n {...props}\n />\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CommandList\n * -------------------------------------------------------------------------- */\n\nfunction CommandList({ className, ...props }: ComponentProps<typeof CommandPrimitive.List>): JSX.Element {\n return (\n <CommandPrimitive.List\n className={cn('max-h-75 overflow-y-auto overflow-x-hidden', className)}\n data-slot=\"command-list\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CommandEmpty\n * -------------------------------------------------------------------------- */\n\nfunction CommandEmpty({ className, ...props }: ComponentProps<typeof CommandPrimitive.Empty>): JSX.Element {\n return (\n <CommandPrimitive.Empty\n className={cn('py-6 text-center text-sm', className)}\n data-slot=\"command-empty\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CommandGroup\n * -------------------------------------------------------------------------- */\n\nfunction CommandGroup({ className, ...props }: ComponentProps<typeof CommandPrimitive.Group>): JSX.Element {\n return (\n <CommandPrimitive.Group\n className={cn(\n 'text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium',\n className,\n )}\n data-slot=\"command-group\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CommandSeparator\n * -------------------------------------------------------------------------- */\n\nfunction CommandSeparator({ className, ...props }: ComponentProps<typeof CommandPrimitive.Separator>): JSX.Element {\n return (\n <CommandPrimitive.Separator\n className={cn('bg-border -mx-1 h-px', className)}\n data-slot=\"command-separator\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CommandItem\n * -------------------------------------------------------------------------- */\n\nfunction CommandItem({ className, ...props }: ComponentProps<typeof CommandPrimitive.Item>): JSX.Element {\n return (\n <CommandPrimitive.Item\n className={cn(\n \"aria-selected:bg-accent aria-selected:text-accent-foreground outline-hidden group/command-item [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default select-none items-center gap-x-2 rounded-sm px-2 py-1.5 text-sm aria-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0\",\n className,\n )}\n data-slot=\"command-item\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CommandLoading\n * -------------------------------------------------------------------------- */\n\nfunction CommandLoading({ className, ...props }: ComponentProps<typeof CommandPrimitive.Loading>): JSX.Element {\n return (\n <CommandPrimitive.Loading\n className={cn('flex justify-center p-2', className)}\n data-slot=\"command-loading\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CommandShortcut\n * -------------------------------------------------------------------------- */\n\nfunction CommandShortcut({ className, ...props }: ComponentProps<'span'>): JSX.Element {\n return (\n <span\n className={cn(\n 'text-muted-foreground ml-auto text-xs tracking-widest group-aria-selected/command-item:text-current',\n className,\n )}\n data-slot=\"command-shortcut\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandLoading,\n CommandSeparator,\n CommandShortcut,\n};\n"]}
@@ -1,2 +1,2 @@
1
- import{a as s}from"./chunk-54NBPI24.js";import{a as o}from"./chunk-OKUFCFYT.js";import{ChevronLeftIcon as m,ChevronRightIcon as c,EllipsisIcon as u}from"lucide-react";import{jsx as a,jsxs as i}from"react/jsx-runtime";function d({className:n,...t}){return a("nav",{"aria-label":"pagination",className:o("mx-auto flex w-full justify-center",n),"data-slot":"pagination",role:"navigation",...t})}function v({className:n,...t}){return a("ul",{className:o("flex flex-row items-center gap-1",n),"data-slot":"pagination-content",...t})}function C(n){return a("li",{"data-slot":"pagination-item",...n})}function r({children:n,className:t,isActive:e,size:p="icon",...l}){return a("a",{"aria-current":e?"page":void 0,className:s({className:t,size:p,variant:e?"outline":"ghost"}),"data-slot":"pagination-link",...l,children:n})}function b({...n}){return i(r,{"aria-label":"Go to previous page","data-slot":"pagination-previous",size:"md",...n,children:[a(m,{className:"size-4"}),a("span",{children:"Previous"})]})}function x({...n}){return i(r,{"aria-label":"Go to next page","data-slot":"pagination-next",size:"md",...n,children:[a("span",{children:"Next"}),a(c,{})]})}function E({className:n,...t}){return i("span",{"aria-hidden":!0,className:o("flex size-10 items-center justify-center",n),"data-slot":"pagination-ellipsis",...t,children:[a(u,{className:"size-4"}),a("span",{className:"sr-only",children:"More pages"})]})}export{d as a,v as b,C as c,r as d,b as e,x as f,E as g};
2
- //# sourceMappingURL=chunk-5ODCB7HZ.js.map
1
+ import{a as s}from"./chunk-ZFCLI44C.js";import{a as o}from"./chunk-OKUFCFYT.js";import{ChevronLeftIcon as m,ChevronRightIcon as c,EllipsisIcon as u}from"lucide-react";import{jsx as a,jsxs as i}from"react/jsx-runtime";function d({className:n,...t}){return a("nav",{"aria-label":"pagination",className:o("mx-auto flex w-full justify-center",n),"data-slot":"pagination",role:"navigation",...t})}function v({className:n,...t}){return a("ul",{className:o("flex flex-row items-center gap-1",n),"data-slot":"pagination-content",...t})}function C(n){return a("li",{"data-slot":"pagination-item",...n})}function r({children:n,className:t,isActive:e,size:p="icon",...l}){return a("a",{"aria-current":e?"page":void 0,className:s({className:t,size:p,variant:e?"outline":"ghost"}),"data-slot":"pagination-link",...l,children:n})}function b({...n}){return i(r,{"aria-label":"Go to previous page","data-slot":"pagination-previous",size:"md",...n,children:[a(m,{className:"size-4"}),a("span",{children:"Previous"})]})}function x({...n}){return i(r,{"aria-label":"Go to next page","data-slot":"pagination-next",size:"md",...n,children:[a("span",{children:"Next"}),a(c,{})]})}function E({className:n,...t}){return i("span",{"aria-hidden":!0,className:o("flex size-10 items-center justify-center",n),"data-slot":"pagination-ellipsis",...t,children:[a(u,{className:"size-4"}),a("span",{className:"sr-only",children:"More pages"})]})}export{d as a,v as b,C as c,r as d,b as e,x as f,E as g};
2
+ //# sourceMappingURL=chunk-KE6SQA2Z.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/box.tsx"],"names":["Box","asChild","props","jsx","Slot"],"mappings":"AAEA,0HAAqB,+CAcZ,SARAA,CAAAA,CAAI,CACX,OAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAEgB,CAGd,OAAOC,6BAAAA,CAFWF,CAAUG,eAAAA,CAAO,KAAA,CAE3B,CAAU,WAAA,CAAU,KAAA,CAAO,GAAGF,CAAAA,CAAO,CAC/C,CAAA,cAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-KEF3RCSW.cjs","sourcesContent":["import type { ComponentProps, JSX } from 'react';\n\nimport { Slot } from '@radix-ui/react-slot';\n\n/* -----------------------------------------------------------------------------\n * Component: Box\n * -------------------------------------------------------------------------- */\n\nfunction Box({\n asChild,\n ...props\n}: ComponentProps<'div'> & {\n asChild?: boolean;\n}): JSX.Element {\n const Component = asChild ? Slot : 'div';\n\n return <Component data-slot=\"box\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Box };\n"]}
1
+ {"version":3,"sources":["../src/components/box.tsx"],"names":["Box","asChild","props","jsx","Slot"],"mappings":"AAEA,0HAAqB,+CAcZ,SARAA,CAAAA,CAAI,CACX,OAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAEgB,CAGd,OAAOC,6BAAAA,CAFWF,CAAUG,eAAAA,CAAO,KAAA,CAE3B,CAAU,WAAA,CAAU,KAAA,CAAO,GAAGF,CAAAA,CAAO,CAC/C,CAAA,cAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-KEF3RCSW.cjs","sourcesContent":["import type { ComponentProps, JSX } from 'react';\n\nimport { Slot } from '@radix-ui/react-slot';\n\n/* -----------------------------------------------------------------------------\n * Component: Box\n * -------------------------------------------------------------------------- */\n\nfunction Box({\n asChild,\n ...props\n}: ComponentProps<'div'> & {\n asChild?: boolean;\n}): JSX.Element {\n const Component = asChild ? Slot : 'div';\n\n return <Component data-slot=\"box\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Box };\n"]}
@@ -0,0 +1,2 @@
1
+ import{a as r}from"./chunk-ZFCLI44C.js";import{a as i}from"./chunk-OKUFCFYT.js";import*as e from"@radix-ui/react-dialog";import{XIcon as d}from"lucide-react";import{tv as p}from"tailwind-variants";import{jsx as a,jsxs as l}from"react/jsx-runtime";var f=p({base:"bg-background animation-ease-in-out data-[state=open]:animate-in data-[state=open]:animation-duration-500 data-[state=closed]:animate-out data-[state=closed]:animation-duration-500 fixed z-50 flex flex-col overflow-auto shadow-lg",variants:{side:{bottom:"data-[state=open]:slide-in-from-bottom-full data-[state=closed]:slide-out-to-bottom-full inset-x-0 bottom-0 max-h-[80vh] border-t",left:"data-[state=open]:slide-in-from-left-full data-[state=closed]:slide-out-to-left-full inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",right:"data-[state=open]:slide-in-from-right-full data-[state=closed]:slide-out-to-right-full inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",top:"data-[state=open]:slide-in-from-top-full data-[state=closed]:slide-out-to-top-full inset-x-0 top-0 max-h-[80vh] border-b"}},defaultVariants:{side:"right"}});function S({children:t,...o}){return a(e.Root,{"data-slot":"sheet",...o,children:t})}function P({...t}){return a(e.Trigger,{"data-slot":"sheet-trigger",...t})}function g({children:t,className:o,classNames:n,side:s="right",...m}){return l(e.Portal,{children:[a(e.Overlay,{className:i("bg-popover-overlay data-[state=open]:animate-fade-in data-[state=open]:animation-duration-500 data-[state=closed]:animate-fade-out data-[state=closed]:animation-duration-500 fixed inset-0 z-50 backdrop-blur-sm",n?.overlay),"data-slot":"sheet-overlay"}),l(e.Content,{className:f({className:[n?.content,o],side:s}),"data-slot":"sheet-content",...m,children:[t,l(e.Close,{className:r({className:["absolute right-4 top-4 size-7",n?.close],size:"icon",variant:"ghost"}),"data-slot":"sheet-close",children:[a(d,{className:"size-4"}),a("span",{className:"sr-only",children:"Close"})]})]})]})}function x({className:t,...o}){return a("header",{className:i("flex shrink-0 flex-col gap-1.5 px-6 pb-4 pt-6 text-center sm:text-left",t),"data-slot":"sheet-header",...o})}function b({className:t,...o}){return a("main",{className:i("px-6 py-2",t),"data-slot":"sheet-body",...o})}function y({className:t,...o}){return a("footer",{className:i("flex shrink-0 flex-col-reverse gap-2 px-6 pb-6 pt-4 sm:flex-row sm:justify-end",t),"data-slot":"sheet-footer",...o})}function C({className:t,...o}){return a(e.Title,{className:i("text-foreground text-lg font-semibold",t),"data-slot":"sheet-title",...o})}function N({className:t,...o}){return a(e.Description,{className:i("text-muted-foreground text-sm",t),"data-slot":"sheet-description",...o})}function X({className:t,size:o,variant:n="outline",...s}){return a(e.Close,{className:r({className:t,size:o,variant:n}),"data-slot":"sheet-close",...s})}export{S as a,P as b,g as c,x as d,b as e,y as f,C as g,N as h,X as i};
2
+ //# sourceMappingURL=chunk-KFORL4OH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/sheet.tsx"],"names":["SheetPrimitive","XIcon","tv","jsx","jsxs","sheetContentVariants","Sheet","children","props","SheetTrigger","SheetContent","className","classNames","side","cn","buttonVariants","SheetHeader","SheetBody","SheetFooter","SheetTitle","SheetDescription","SheetClose","size","variant"],"mappings":"gFAGA,UAAYA,MAAoB,yBAChC,OAAS,SAAAC,MAAa,eACtB,OAAS,MAAAC,MAAU,oBAgCf,cAAAC,EA+CI,QAAAC,MA/CJ,oBAvBJ,IAAMC,EAAuBH,EAAG,CAC9B,KAAM,wOACN,SAAU,CACR,KAAM,CACJ,OACE,oIACF,KAAM,0IACN,MACE,6IACF,IAAK,0HACP,CACF,EACA,gBAAiB,CACf,KAAM,OACR,CACF,CAAC,EAMD,SAASI,EAAM,CAAE,SAAAC,EAAU,GAAGC,CAAM,EAA4D,CAC9F,OACEL,EAAgB,OAAf,CAAoB,YAAU,QAAS,GAAGK,EACxC,SAAAD,EACH,CAEJ,CAMA,SAASE,EAAa,CAAE,GAAGD,CAAM,EAA+D,CAC9F,OAAOL,EAAgB,UAAf,CAAuB,YAAU,gBAAiB,GAAGK,EAAO,CACtE,CAMA,SAASE,EAAa,CACpB,SAAAH,EACA,UAAAI,EACA,WAAAC,EACA,KAAAC,EAAO,QACP,GAAGL,CACL,EAOkB,CAChB,OACEJ,EAAgB,SAAf,CACC,UAAAD,EAAgB,UAAf,CACC,UAAWW,EACT,oNACAF,GAAY,OACd,EACA,YAAU,gBACZ,EACAR,EAAgB,UAAf,CACC,UAAWC,EAAqB,CAAE,UAAW,CAACO,GAAY,QAASD,CAAS,EAAG,KAAAE,CAAK,CAAC,EACrF,YAAU,gBACT,GAAGL,EAEH,UAAAD,EACDH,EAAgB,QAAf,CACC,UAAWW,EAAe,CACxB,UAAW,CAAC,gCAAiCH,GAAY,KAAK,EAC9D,KAAM,OACN,QAAS,OACX,CAAC,EACD,YAAU,cAEV,UAAAT,EAACF,EAAA,CAAM,UAAU,SAAS,EAC1BE,EAAC,QAAK,UAAU,UAAU,iBAAK,GACjC,GACF,GACF,CAEJ,CAMA,SAASa,EAAY,CAAE,UAAAL,EAAW,GAAGH,CAAM,EAAuC,CAChF,OACEL,EAAC,UACC,UAAWW,EAAG,yEAA0EH,CAAS,EACjG,YAAU,eACT,GAAGH,EACN,CAEJ,CAMA,SAASS,EAAU,CAAE,UAAAN,EAAW,GAAGH,CAAM,EAAuC,CAC9E,OAAOL,EAAC,QAAK,UAAWW,EAAG,YAAaH,CAAS,EAAG,YAAU,aAAc,GAAGH,EAAO,CACxF,CAMA,SAASU,EAAY,CAAE,UAAAP,EAAW,GAAGH,CAAM,EAAuC,CAChF,OACEL,EAAC,UACC,UAAWW,EAAG,iFAAkFH,CAAS,EACzG,YAAU,eACT,GAAGH,EACN,CAEJ,CAMA,SAASW,EAAW,CAAE,UAAAR,EAAW,GAAGH,CAAM,EAA6D,CACrG,OACEL,EAAgB,QAAf,CACC,UAAWW,EAAG,wCAAyCH,CAAS,EAChE,YAAU,cACT,GAAGH,EACN,CAEJ,CAMA,SAASY,EAAiB,CAAE,UAAAT,EAAW,GAAGH,CAAM,EAAmE,CACjH,OACEL,EAAgB,cAAf,CACC,UAAWW,EAAG,gCAAiCH,CAAS,EACxD,YAAU,oBACT,GAAGH,EACN,CAEJ,CAMA,SAASa,EAAW,CAClB,UAAAV,EACA,KAAAW,EACA,QAAAC,EAAU,UACV,GAAGf,CACL,EAGgB,CACd,OACEL,EAAgB,QAAf,CAAqB,UAAWY,EAAe,CAAE,UAAAJ,EAAW,KAAAW,EAAM,QAAAC,CAAQ,CAAC,EAAG,YAAU,cAAe,GAAGf,EAAO,CAEtH","sourcesContent":["import type { ComponentProps, JSX } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport * as SheetPrimitive from '@radix-ui/react-dialog';\nimport { XIcon } from 'lucide-react';\nimport { tv } from 'tailwind-variants';\n\nimport { buttonVariants } from '@/components/button';\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Variant: SheetContent\n * -------------------------------------------------------------------------- */\n\nconst sheetContentVariants = tv({\n base: 'bg-background animation-ease-in-out data-[state=open]:animate-in data-[state=open]:animation-duration-500 data-[state=closed]:animate-out data-[state=closed]:animation-duration-500 fixed z-50 flex flex-col overflow-auto shadow-lg',\n variants: {\n side: {\n bottom:\n 'data-[state=open]:slide-in-from-bottom-full data-[state=closed]:slide-out-to-bottom-full inset-x-0 bottom-0 max-h-[80vh] border-t',\n left: 'data-[state=open]:slide-in-from-left-full data-[state=closed]:slide-out-to-left-full inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm',\n right:\n 'data-[state=open]:slide-in-from-right-full data-[state=closed]:slide-out-to-right-full inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm',\n top: 'data-[state=open]:slide-in-from-top-full data-[state=closed]:slide-out-to-top-full inset-x-0 top-0 max-h-[80vh] border-b',\n },\n },\n defaultVariants: {\n side: 'right',\n },\n});\n\n/* -----------------------------------------------------------------------------\n * Component: Sheet\n * -------------------------------------------------------------------------- */\n\nfunction Sheet({ children, ...props }: ComponentProps<typeof SheetPrimitive.Root>): JSX.Element {\n return (\n <SheetPrimitive.Root data-slot=\"sheet\" {...props}>\n {children}\n </SheetPrimitive.Root>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetTrigger\n * -------------------------------------------------------------------------- */\n\nfunction SheetTrigger({ ...props }: ComponentProps<typeof SheetPrimitive.Trigger>): JSX.Element {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetContent\n * -------------------------------------------------------------------------- */\n\nfunction SheetContent({\n children,\n className,\n classNames,\n side = 'right',\n ...props\n}: ComponentProps<typeof SheetPrimitive.Content> &\n VariantProps<typeof sheetContentVariants> & {\n classNames?: {\n close?: string;\n content?: string;\n overlay?: string;\n };\n }): JSX.Element {\n return (\n <SheetPrimitive.Portal>\n <SheetPrimitive.Overlay\n className={cn(\n 'bg-popover-overlay data-[state=open]:animate-fade-in data-[state=open]:animation-duration-500 data-[state=closed]:animate-fade-out data-[state=closed]:animation-duration-500 fixed inset-0 z-50 backdrop-blur-sm',\n classNames?.overlay,\n )}\n data-slot=\"sheet-overlay\"\n />\n <SheetPrimitive.Content\n className={sheetContentVariants({ className: [classNames?.content, className], side })}\n data-slot=\"sheet-content\"\n {...props}\n >\n {children}\n <SheetPrimitive.Close\n className={buttonVariants({\n className: ['absolute right-4 top-4 size-7', classNames?.close],\n size: 'icon',\n variant: 'ghost',\n })}\n data-slot=\"sheet-close\"\n >\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPrimitive.Portal>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetHeader\n * -------------------------------------------------------------------------- */\n\nfunction SheetHeader({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <header\n className={cn('flex shrink-0 flex-col gap-1.5 px-6 pb-4 pt-6 text-center sm:text-left', className)}\n data-slot=\"sheet-header\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetBody\n * -------------------------------------------------------------------------- */\n\nfunction SheetBody({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return <main className={cn('px-6 py-2', className)} data-slot=\"sheet-body\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetFooter\n * -------------------------------------------------------------------------- */\n\nfunction SheetFooter({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <footer\n className={cn('flex shrink-0 flex-col-reverse gap-2 px-6 pb-6 pt-4 sm:flex-row sm:justify-end', className)}\n data-slot=\"sheet-footer\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetTitle\n * -------------------------------------------------------------------------- */\n\nfunction SheetTitle({ className, ...props }: ComponentProps<typeof SheetPrimitive.Title>): JSX.Element {\n return (\n <SheetPrimitive.Title\n className={cn('text-foreground text-lg font-semibold', className)}\n data-slot=\"sheet-title\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetDescription\n * -------------------------------------------------------------------------- */\n\nfunction SheetDescription({ className, ...props }: ComponentProps<typeof SheetPrimitive.Description>): JSX.Element {\n return (\n <SheetPrimitive.Description\n className={cn('text-muted-foreground text-sm', className)}\n data-slot=\"sheet-description\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SheetClose\n * -------------------------------------------------------------------------- */\n\nfunction SheetClose({\n className,\n size,\n variant = 'outline',\n ...props\n}: ComponentProps<typeof SheetPrimitive.Close> & {\n size?: VariantProps<typeof buttonVariants>['size'];\n variant?: VariantProps<typeof buttonVariants>['variant'];\n}): JSX.Element {\n return (\n <SheetPrimitive.Close className={buttonVariants({ className, size, variant })} data-slot=\"sheet-close\" {...props} />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Sheet,\n SheetBody,\n SheetClose,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetTitle,\n SheetTrigger,\n};\n"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";var _chunkL53SSTZHcjs = require('./chunk-L53SSTZH.cjs');var _chunkSMJEDCFPcjs = require('./chunk-SMJEDCFP.cjs');var _reactcontext = require('@radix-ui/react-context');var _reacttogglegroup = require('@radix-ui/react-toggle-group'); var p = _interopRequireWildcard(_reacttogglegroup);var _jsxruntime = require('react/jsx-runtime');var c="ToggleGroup",[P]=_reactcontext.createContextScope.call(void 0, c,[_reacttogglegroup.createToggleGroupScope]),u=_reacttogglegroup.createToggleGroupScope.call(void 0, ),[T,v]=P(c);function C({__scopeToggleGroup:o,children:i,className:g,size:e,variant:t,...a}){let r=u(o);return _jsxruntime.jsx.call(void 0, T,{scope:o,size:e,variant:t,children:_jsxruntime.jsx.call(void 0, p.Root,{className:_chunkSMJEDCFPcjs.a.call(void 0, "group/toggle-group flex w-fit items-center -space-x-px rounded-md",g),"data-size":e,"data-slot":"toggle-group","data-variant":t,...r,...a,children:i})})}var S="ToggleGroupItem";function I({__scopeToggleGroup:o,children:i,className:g,prefix:e,suffix:t,...a}){let{variant:r,size:d}=v(S,o),f=u(o);return _jsxruntime.jsxs.call(void 0, p.Item,{className:_chunkL53SSTZHcjs.a.call(void 0, {className:["min-w-0 flex-1 shrink-0 rounded-none shadow-none first:rounded-l-md last:rounded-r-md focus:z-10 focus-visible:z-10",g],size:d,variant:r}),"data-slot":"toggle-group-item","data-variant":r,...f,...a,children:[e,i,t]})}exports.a = C; exports.b = I;
2
- //# sourceMappingURL=chunk-7ZWX7JFJ.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";var _chunk3XKK56VScjs = require('./chunk-3XKK56VS.cjs');var _chunkSMJEDCFPcjs = require('./chunk-SMJEDCFP.cjs');var _reactcontext = require('@radix-ui/react-context');var _reacttogglegroup = require('@radix-ui/react-toggle-group'); var p = _interopRequireWildcard(_reacttogglegroup);var _jsxruntime = require('react/jsx-runtime');var c="ToggleGroup",[P]=_reactcontext.createContextScope.call(void 0, c,[_reacttogglegroup.createToggleGroupScope]),u=_reacttogglegroup.createToggleGroupScope.call(void 0, ),[T,v]=P(c);function C({__scopeToggleGroup:o,children:i,className:g,size:e,variant:t,...a}){let r=u(o);return _jsxruntime.jsx.call(void 0, T,{scope:o,size:e,variant:t,children:_jsxruntime.jsx.call(void 0, p.Root,{className:_chunkSMJEDCFPcjs.a.call(void 0, "group/toggle-group flex w-fit items-center -space-x-px rounded-md",g),"data-size":e,"data-slot":"toggle-group","data-variant":t,...r,...a,children:i})})}var S="ToggleGroupItem";function I({__scopeToggleGroup:o,children:i,className:g,prefix:e,suffix:t,...a}){let{variant:r,size:d}=v(S,o),f=u(o);return _jsxruntime.jsxs.call(void 0, p.Item,{className:_chunk3XKK56VScjs.a.call(void 0, {className:["min-w-0 flex-1 shrink-0 rounded-none shadow-none first:rounded-l-md last:rounded-r-md focus:z-10 focus-visible:z-10",g],size:d,variant:r}),"data-slot":"toggle-group-item","data-variant":r,...f,...a,children:[e,i,t]})}exports.a = C; exports.b = I;
2
+ //# sourceMappingURL=chunk-KOVXL4P6.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-KOVXL4P6.cjs","../src/components/toggle-group.tsx"],"names":["ToggleGroupPrimitive","useToggleGroupScope","createToggleGroupScope","ToggleGroupProvider","useToggleGroupContext","createToggleGroupContext","TOGGLE_GROUP_NAME","ToggleGroup","children","className","props","toggleGroupScope","jsx","size","cn","variant","TOGGLE_GROUP_ITEM_NAME","__scopeToggleGroup","jsxs","toggleVariants","prefix"],"mappings":"AAAA,uWAAY,CAAC,wDAAwC,wDCM5C,uDACGA,oHACH,+CASiB,IAAA,CAAA,CAAA,aAIuE,CAE3FC,CAAAA,CAAsBC,CAAAA,CAAuB,8CAAA,CAE5CC,CAAAA,CAAqBC,wCAAqB,CAAA,CAC/CC,CAAAA,CAA8DC,CAAiB,sDAAA,CAMjF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASC,CAAAA,CAAY,CACnB,CAAA,SAAA,CAAA,CAAA,CAAA,kBACAC,CACA,CAAA,CAAA,QAAAC,CAAAA,CACA,CAAA,SACA,CAAA,CAAA,CAAA,IACA,CAAA,CAAA,CAAGC,OAEH,CAAMC,CAAAA,CAAmBV,GAAsC,CAAA,CAE/D,CAAA,CAAA,IAAA,CACEW,CAAAA,CAACT,CAAAA,CAAA,CAAoB,CAAA,OAA2B,6BAAA,CAAA,CAAA,CAAMU,KAAM,CAAA,CAAA,CAAA,IAC1D,CAAA,CAAA,CAAA,OAAAD,CAAsB,CAAA,CAAA,QACpB,CAAA,6BAAA,CAAA,CAAA,IAAWE,CAAG,CAAA,SAAA,CAAA,iCAAA,mEACd,CAAA,CAAA,CAAWD,CAAAA,WACX,CAAA,CAAU,CAAA,WAAA,CAAA,cACV,CAAA,cAIC,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,GACH,CAAA,CACF,QAQ2B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,iBAG7B,CAAA,SAAA,CAAA,CAAA,CAAA,kBACAL,CACA,CAAA,CAAA,QAAAC,CAAAA,CACA,CAAA,SACA,CAAA,CAAA,CAAA,MACA,CAAA,CAAGC,CACL,MAMQ,CAAE,CAAA,CAAA,GAAA,CAAA,CAAA,CAAAK,CAAAA,GAAS,CAAA,OAA+BC,CAAAA,CAAwBC,CAAkB,IACjEhB,CAAAA,CAAoBgB,CAAkB,CAAA,CAE/D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACEC,CAAAA,CAAsB,CAAA,CAAA,CAAA,CAAA,OACpB,8BAAA,CAAA,CAAA,IAAWC,CAAe,CACxB,SAAA,CAAW,iCACT,CAAA,SAAA,CAAA,CAAA,qHAIF,CAAA,CAAA,CAAA,CAAA,IACD,CAAA,CACD,CAAA,OAAA,CAAA,CAAA,CAAA,CAAU,CAAA,WAAA,CAAA,mBACV,CAAA,cAIC,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,GAAAC,CACAZ,CAAAA,QAIP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,6BAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-KOVXL4P6.cjs","sourcesContent":[null,"'use client';\n\nimport type { Scope } from '@radix-ui/react-context';\nimport type { ComponentProps, JSX, ReactNode } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { createContextScope } from '@radix-ui/react-context';\nimport * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';\nimport { createToggleGroupScope } from '@radix-ui/react-toggle-group';\n\nimport { toggleVariants } from '@/components/toggle';\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Context: ToggleGroup\n * -------------------------------------------------------------------------- */\n\nconst TOGGLE_GROUP_NAME = 'ToggleGroup';\n\ntype ScopedProps<P> = P & { __scopeToggleGroup?: Scope };\n\nconst [createToggleGroupContext] = createContextScope(TOGGLE_GROUP_NAME, [createToggleGroupScope]);\n\nconst useToggleGroupScope = createToggleGroupScope();\n\nconst [ToggleGroupProvider, useToggleGroupContext] =\n createToggleGroupContext<VariantProps<typeof toggleVariants>>(TOGGLE_GROUP_NAME);\n\n/* -----------------------------------------------------------------------------\n * Component: ToggleGroup\n * -------------------------------------------------------------------------- */\n\nfunction ToggleGroup({\n __scopeToggleGroup,\n children,\n className,\n size,\n variant,\n ...props\n}: ScopedProps<ComponentProps<typeof ToggleGroupPrimitive.Root> & VariantProps<typeof toggleVariants>>): JSX.Element {\n const toggleGroupScope = useToggleGroupScope(__scopeToggleGroup);\n\n return (\n <ToggleGroupProvider scope={__scopeToggleGroup} size={size} variant={variant}>\n <ToggleGroupPrimitive.Root\n className={cn('group/toggle-group flex w-fit items-center -space-x-px rounded-md', className)}\n data-size={size}\n data-slot=\"toggle-group\"\n data-variant={variant}\n {...toggleGroupScope}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Root>\n </ToggleGroupProvider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ToggleGroupItem\n * -------------------------------------------------------------------------- */\n\nconst TOGGLE_GROUP_ITEM_NAME = 'ToggleGroupItem';\n\nfunction ToggleGroupItem({\n __scopeToggleGroup,\n children,\n className,\n prefix,\n suffix,\n ...props\n}: ScopedProps<\n Omit<ComponentProps<typeof ToggleGroupPrimitive.Item>, 'prefix'> & {\n prefix?: ReactNode;\n suffix?: ReactNode;\n }\n>): JSX.Element {\n const { variant, size } = useToggleGroupContext(TOGGLE_GROUP_ITEM_NAME, __scopeToggleGroup);\n const toggleGroupScope = useToggleGroupScope(__scopeToggleGroup);\n\n return (\n <ToggleGroupPrimitive.Item\n className={toggleVariants({\n className: [\n 'min-w-0 flex-1 shrink-0 rounded-none shadow-none first:rounded-l-md last:rounded-r-md focus:z-10 focus-visible:z-10',\n className,\n ],\n size,\n variant,\n })}\n data-slot=\"toggle-group-item\"\n data-variant={variant}\n {...toggleGroupScope}\n {...props}\n >\n {prefix}\n {children}\n {suffix}\n </ToggleGroupPrimitive.Item>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { ToggleGroup, ToggleGroupItem };\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-LOMEOK37.cjs","../src/components/alert.tsx"],"names":["alertVariants","tv","Alert","className","variant","props","jsx","AlertTitle","children","cn","AlertDescription"],"mappings":"AAAA,iIAAmC,qDCGhB,+CA8BV,IAtBHA,CAAAA,CAAgBC,kCAAAA,CACpB,IAAA,CAAM,iOAAA,CACN,QAAA,CAAU,CACR,OAAA,CAAS,CACP,OAAA,CAAS,sBAAA,CACT,WAAA,CAAa,2FACf,CACF,CAAA,CACA,eAAA,CAAiB,CACf,OAAA,CAAS,SACX,CACF,CAAC,CAAA,CAMD,SAASC,CAAAA,CAAM,CACb,SAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAA4E,CAC1E,OAAOC,6BAAAA,KAAC,CAAA,CAAI,SAAA,CAAWN,CAAAA,CAAc,CAAE,SAAA,CAAAG,CAAAA,CAAW,OAAA,CAAAC,CAAQ,CAAC,CAAA,CAAG,WAAA,CAAU,OAAA,CAAQ,IAAA,CAAK,OAAA,CAAS,GAAGC,CAAAA,CAAO,CAC1G,CAMA,SAASE,CAAAA,CAAW,CAAE,QAAA,CAAAC,CAAAA,CAAU,SAAA,CAAAL,CAAAA,CAAW,GAAGE,CAAM,CAAA,CAAuC,CACzF,OACEC,6BAAAA,KAAC,CAAA,CACC,SAAA,CAAWG,iCAAAA,6DAAG,CAA+DN,CAAS,CAAA,CACtF,WAAA,CAAU,aAAA,CACT,GAAGE,CAAAA,CAEH,QAAA,CAAAG,CAAAA,CACH,CAEJ,CAMA,SAASE,CAAAA,CAAiB,CAAE,SAAA,CAAAP,CAAAA,CAAW,GAAGE,CAAM,CAAA,CAAuC,CACrF,OACEC,6BAAAA,KAAC,CAAA,CACC,SAAA,CAAWG,iCAAAA,gGACT,CACAN,CACF,CAAA,CACA,WAAA,CAAU,mBAAA,CACT,GAAGE,CAAAA,CACN,CAEJ,CAAA,4CAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-LOMEOK37.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { tv } from 'tailwind-variants';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Variant: Alert\n * -------------------------------------------------------------------------- */\n\nconst alertVariants = tv({\n base: 'bg-card relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[--spacing(4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current',\n variants: {\n variant: {\n default: 'text-card-foreground',\n destructive: 'text-destructive *:data-[slot=alert-description]:text-destructive/90 [&>svg]:text-current',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\n/* -----------------------------------------------------------------------------\n * Component: Alert\n * -------------------------------------------------------------------------- */\n\nfunction Alert({\n className,\n variant,\n ...props\n}: ComponentProps<'div'> & VariantProps<typeof alertVariants>): JSX.Element {\n return <div className={alertVariants({ className, variant })} data-slot=\"alert\" role=\"alert\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: AlertTitle\n * -------------------------------------------------------------------------- */\n\nfunction AlertTitle({ children, className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <div\n className={cn('col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight', className)}\n data-slot=\"alert-title\"\n {...props}\n >\n {children}\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: AlertDescription\n * -------------------------------------------------------------------------- */\n\nfunction AlertDescription({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <div\n className={cn(\n 'text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed',\n className,\n )}\n data-slot=\"alert-description\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Alert, AlertDescription, AlertTitle };\n"]}
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-LOMEOK37.cjs","../src/components/alert.tsx"],"names":["alertVariants","tv","Alert","className","variant","props","jsx","AlertTitle","children","cn","AlertDescription"],"mappings":"AAAA,iIAAmC,qDCGhB,+CA8BV,IAtBHA,CAAAA,CAAgBC,kCAAAA,CACpB,IAAA,CAAM,iOAAA,CACN,QAAA,CAAU,CACR,OAAA,CAAS,CACP,OAAA,CAAS,sBAAA,CACT,WAAA,CAAa,2FACf,CACF,CAAA,CACA,eAAA,CAAiB,CACf,OAAA,CAAS,SACX,CACF,CAAC,CAAA,CAMD,SAASC,CAAAA,CAAM,CACb,SAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAA4E,CAC1E,OAAOC,6BAAAA,KAAC,CAAA,CAAI,SAAA,CAAWN,CAAAA,CAAc,CAAE,SAAA,CAAAG,CAAAA,CAAW,OAAA,CAAAC,CAAQ,CAAC,CAAA,CAAG,WAAA,CAAU,OAAA,CAAQ,IAAA,CAAK,OAAA,CAAS,GAAGC,CAAAA,CAAO,CAC1G,CAMA,SAASE,CAAAA,CAAW,CAAE,QAAA,CAAAC,CAAAA,CAAU,SAAA,CAAAL,CAAAA,CAAW,GAAGE,CAAM,CAAA,CAAuC,CACzF,OACEC,6BAAAA,KAAC,CAAA,CACC,SAAA,CAAWG,iCAAAA,6DAAG,CAA+DN,CAAS,CAAA,CACtF,WAAA,CAAU,aAAA,CACT,GAAGE,CAAAA,CAEH,QAAA,CAAAG,CAAAA,CACH,CAEJ,CAMA,SAASE,CAAAA,CAAiB,CAAE,SAAA,CAAAP,CAAAA,CAAW,GAAGE,CAAM,CAAA,CAAuC,CACrF,OACEC,6BAAAA,KAAC,CAAA,CACC,SAAA,CAAWG,iCAAAA,gGACT,CACAN,CACF,CAAA,CACA,WAAA,CAAU,mBAAA,CACT,GAAGE,CAAAA,CACN,CAEJ,CAAA,4CAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-LOMEOK37.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { tv } from 'tailwind-variants';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Variant: Alert\n * -------------------------------------------------------------------------- */\n\nconst alertVariants = tv({\n base: 'bg-card relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[--spacing(4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current',\n variants: {\n variant: {\n default: 'text-card-foreground',\n destructive: 'text-destructive *:data-[slot=alert-description]:text-destructive/90 [&>svg]:text-current',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\n/* -----------------------------------------------------------------------------\n * Component: Alert\n * -------------------------------------------------------------------------- */\n\nfunction Alert({\n className,\n variant,\n ...props\n}: ComponentProps<'div'> & VariantProps<typeof alertVariants>): JSX.Element {\n return <div className={alertVariants({ className, variant })} data-slot=\"alert\" role=\"alert\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: AlertTitle\n * -------------------------------------------------------------------------- */\n\nfunction AlertTitle({ children, className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <div\n className={cn('col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight', className)}\n data-slot=\"alert-title\"\n {...props}\n >\n {children}\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: AlertDescription\n * -------------------------------------------------------------------------- */\n\nfunction AlertDescription({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <div\n className={cn(\n 'text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed',\n className,\n )}\n data-slot=\"alert-description\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Alert, AlertDescription, AlertTitle };\n"]}
@@ -0,0 +1,2 @@
1
+ import{a}from"./chunk-7KXMJMOL.js";import{a as i}from"./chunk-OKUFCFYT.js";import*as r from"@codefast-ui/checkbox-group";import{CheckIcon as d}from"lucide-react";import{jsx as e,jsxs as n}from"react/jsx-runtime";function h(o){return e(r.Root,{"data-slot":"checkbox-cards",...o})}function k({checkboxClassName:o,children:t,className:c,...s}){return n(a,{className:i("border-input hover:not-has-disabled:not-has-aria-checked:bg-secondary has-aria-checked:bg-primary/10 has-aria-checked:border-primary has-focus-visible:border-ring has-disabled:opacity-50 flex items-start gap-3 rounded-lg border p-3 transition",c),"data-slot":"checkbox-card",children:[e(r.Item,{className:i("border-input text-primary-foreground shadow-xs outline-hidden focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3 focus-visible:aria-checked:ring-primary/20 dark:focus-visible:aria-checked:ring-primary/40 aria-checked:border-primary aria-checked:bg-primary dark:bg-input/30 peer flex size-4 shrink-0 rounded-sm border transition",o),"data-slot":"checkbox-card-item",...s,children:e(r.CheckboxGroupIndicator,{"data-slot":"checkbox-card-indicator",children:e(d,{className:"size-3.5"})})}),t]})}export{h as a,k as b};
2
+ //# sourceMappingURL=chunk-MCGDQEI6.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/checkbox-cards.tsx"],"names":["CheckboxGroupPrimitive","CheckIcon","jsx","jsxs","CheckboxCards","props","CheckboxCardsItem","checkboxClassName","children","className","Label","cn"],"mappings":"2EAEA,UAAYA,MAA4B,8BACxC,OAAS,aAAAC,MAAiB,eAUjB,cAAAC,EAgBL,QAAAC,MAhBK,oBADT,SAASC,EAAcC,EAAwE,CAC7F,OAAOH,EAAwB,OAAvB,CAA4B,YAAU,iBAAkB,GAAGG,EAAO,CAC5E,CAMA,SAASC,EAAkB,CACzB,kBAAAC,EACA,SAAAC,EACA,UAAAC,EACA,GAAGJ,CACL,EAEgB,CACd,OACEF,EAACO,EAAA,CACC,UAAWC,EACT,oPACAF,CACF,EACA,YAAU,gBAEV,UAAAP,EAAwB,OAAvB,CACC,UAAWS,EACT,6VACAJ,CACF,EACA,YAAU,qBACT,GAAGF,EAEJ,SAAAH,EAAwB,yBAAvB,CAA8C,YAAU,0BACvD,SAAAA,EAACD,EAAA,CAAU,UAAU,WAAW,EAClC,EACF,EACCO,GACH,CAEJ","sourcesContent":["import type { ComponentProps, JSX } from 'react';\n\nimport * as CheckboxGroupPrimitive from '@codefast-ui/checkbox-group';\nimport { CheckIcon } from 'lucide-react';\n\nimport { Label } from '@/components/label';\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: CheckboxCards\n * -------------------------------------------------------------------------- */\n\nfunction CheckboxCards(props: ComponentProps<typeof CheckboxGroupPrimitive.Root>): JSX.Element {\n return <CheckboxGroupPrimitive.Root data-slot=\"checkbox-cards\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CheckboxCardsItem\n * -------------------------------------------------------------------------- */\n\nfunction CheckboxCardsItem({\n checkboxClassName,\n children,\n className,\n ...props\n}: ComponentProps<typeof CheckboxGroupPrimitive.Item> & {\n checkboxClassName?: string;\n}): JSX.Element {\n return (\n <Label\n className={cn(\n 'hover:not-has-disabled:bg-secondary has-aria-checked:bg-primary/10 has-aria-checked:border-primary has-focus-visible:border-ring has-disabled:opacity-50 border-input group/checkbox-card flex items-start gap-3 rounded-lg border p-3 transition',\n className,\n )}\n data-slot=\"checkbox-card\"\n >\n <CheckboxGroupPrimitive.Item\n className={cn(\n 'border-input text-primary-foreground group-hover/checkbox-card:not-disabled:not-aria-checked:border-ring/60 aria-checked:border-primary aria-checked:bg-primary outline-hidden aria-checked:focus-visible:ring-primary/20 focus-visible:border-ring focus-visible:ring-ring/20 focus-visible:ring-3 peer flex size-4 shrink-0 rounded-sm border transition',\n checkboxClassName,\n )}\n data-slot=\"checkbox-card-item\"\n {...props}\n >\n <CheckboxGroupPrimitive.CheckboxGroupIndicator data-slot=\"checkbox-card-indicator\">\n <CheckIcon className=\"size-3.5\" />\n </CheckboxGroupPrimitive.CheckboxGroupIndicator>\n </CheckboxGroupPrimitive.Item>\n {children}\n </Label>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { CheckboxCards, CheckboxCardsItem };\n"]}
1
+ {"version":3,"sources":["../src/components/checkbox-cards.tsx"],"names":["CheckboxGroupPrimitive","CheckIcon","jsx","jsxs","CheckboxCards","props","CheckboxCardsItem","checkboxClassName","children","className","Label","cn"],"mappings":"2EAEA,UAAYA,MAA4B,8BACxC,OAAS,aAAAC,MAAiB,eAUjB,cAAAC,EAgBL,QAAAC,MAhBK,oBADT,SAASC,EAAcC,EAAwE,CAC7F,OAAOH,EAAwB,OAAvB,CAA4B,YAAU,iBAAkB,GAAGG,EAAO,CAC5E,CAMA,SAASC,EAAkB,CACzB,kBAAAC,EACA,SAAAC,EACA,UAAAC,EACA,GAAGJ,CACL,EAEgB,CACd,OACEF,EAACO,EAAA,CACC,UAAWC,EACT,qPACAF,CACF,EACA,YAAU,gBAEV,UAAAP,EAAwB,OAAvB,CACC,UAAWS,EACT,iWACAJ,CACF,EACA,YAAU,qBACT,GAAGF,EAEJ,SAAAH,EAAwB,yBAAvB,CAA8C,YAAU,0BACvD,SAAAA,EAACD,EAAA,CAAU,UAAU,WAAW,EAClC,EACF,EACCO,GACH,CAEJ","sourcesContent":["import type { ComponentProps, JSX } from 'react';\n\nimport * as CheckboxGroupPrimitive from '@codefast-ui/checkbox-group';\nimport { CheckIcon } from 'lucide-react';\n\nimport { Label } from '@/components/label';\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: CheckboxCards\n * -------------------------------------------------------------------------- */\n\nfunction CheckboxCards(props: ComponentProps<typeof CheckboxGroupPrimitive.Root>): JSX.Element {\n return <CheckboxGroupPrimitive.Root data-slot=\"checkbox-cards\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CheckboxCardsItem\n * -------------------------------------------------------------------------- */\n\nfunction CheckboxCardsItem({\n checkboxClassName,\n children,\n className,\n ...props\n}: ComponentProps<typeof CheckboxGroupPrimitive.Item> & {\n checkboxClassName?: string;\n}): JSX.Element {\n return (\n <Label\n className={cn(\n 'border-input hover:not-has-disabled:not-has-aria-checked:bg-secondary has-aria-checked:bg-primary/10 has-aria-checked:border-primary has-focus-visible:border-ring has-disabled:opacity-50 flex items-start gap-3 rounded-lg border p-3 transition',\n className,\n )}\n data-slot=\"checkbox-card\"\n >\n <CheckboxGroupPrimitive.Item\n className={cn(\n 'border-input text-primary-foreground shadow-xs outline-hidden focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3 focus-visible:aria-checked:ring-primary/20 dark:focus-visible:aria-checked:ring-primary/40 aria-checked:border-primary aria-checked:bg-primary dark:bg-input/30 peer flex size-4 shrink-0 rounded-sm border transition',\n checkboxClassName,\n )}\n data-slot=\"checkbox-card-item\"\n {...props}\n >\n <CheckboxGroupPrimitive.CheckboxGroupIndicator data-slot=\"checkbox-card-indicator\">\n <CheckIcon className=\"size-3.5\" />\n </CheckboxGroupPrimitive.CheckboxGroupIndicator>\n </CheckboxGroupPrimitive.Item>\n {children}\n </Label>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { CheckboxCards, CheckboxCardsItem };\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-MCMCMOW6.cjs","../src/components/container.tsx"],"names":["Container","asChild","className","props","jsx","Slot","cn"],"mappings":"AAAA,iIAAwC,iDCEnB,+CAiBZ,SATAA,CAAAA,CAAU,CACjB,OAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAEgB,CAGd,OAAOC,6BAAAA,CAFWH,CAAUI,eAAAA,CAAO,KAAA,CAE3B,CAAU,SAAA,CAAWC,iCAAAA,WAAG,CAAaJ,CAAS,CAAA,CAAG,WAAA,CAAU,WAAA,CAAa,GAAGC,CAAAA,CAAO,CAC5F,CAAA,cAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-MCMCMOW6.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport { Slot } from '@radix-ui/react-slot';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Container\n * -------------------------------------------------------------------------- */\n\nfunction Container({\n asChild,\n className,\n ...props\n}: ComponentProps<'div'> & {\n asChild?: boolean;\n}): JSX.Element {\n const Component = asChild ? Slot : 'div';\n\n return <Component className={cn('container', className)} data-slot=\"container\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Container };\n"]}
1
+ {"version":3,"sources":["/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-MCMCMOW6.cjs","../src/components/container.tsx"],"names":["Container","asChild","className","props","jsx","Slot","cn"],"mappings":"AAAA,iIAAwC,iDCEnB,+CAiBZ,SATAA,CAAAA,CAAU,CACjB,OAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAEgB,CAGd,OAAOC,6BAAAA,CAFWH,CAAUI,eAAAA,CAAO,KAAA,CAE3B,CAAU,SAAA,CAAWC,iCAAAA,WAAG,CAAaJ,CAAS,CAAA,CAAG,WAAA,CAAU,WAAA,CAAa,GAAGC,CAAAA,CAAO,CAC5F,CAAA,cAAA","file":"/Users/vuongphan/Projects/codefastlabs/codefast/packages/ui/dist/chunk-MCMCMOW6.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport { Slot } from '@radix-ui/react-slot';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Container\n * -------------------------------------------------------------------------- */\n\nfunction Container({\n asChild,\n className,\n ...props\n}: ComponentProps<'div'> & {\n asChild?: boolean;\n}): JSX.Element {\n const Component = asChild ? Slot : 'div';\n\n return <Component className={cn('container', className)} data-slot=\"container\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Container };\n"]}
@@ -0,0 +1,2 @@
1
+ import{a as l}from"./chunk-ZFCLI44C.js";import{a as i}from"./chunk-OKUFCFYT.js";import*as o from"@radix-ui/react-dialog";import{XIcon as m}from"lucide-react";import{jsx as a,jsxs as s}from"react/jsx-runtime";function f({...t}){return a(o.Root,{"data-slot":"dialog",...t})}function c({...t}){return a(o.Trigger,{"data-slot":"dialog-trigger",...t})}function u({children:t,className:e,classNames:r,...n}){return s(o.Portal,{children:[a(o.Overlay,{className:i("bg-popover-overlay data-[state=open]:animate-fade-in data-[state=closed]:animate-fade-out fixed inset-0 z-50 backdrop-blur-sm",r?.overlay),"data-slot":"dialog-overlay"}),a(o.Content,{className:i("data-[state=open]:animate-in max-sm:data-[state=open]:animation-duration-500 max-sm:data-[state=open]:slide-in-from-bottom-full sm:data-[state=open]:fade-in-0 sm:data-[state=open]:zoom-in-95 data-[state=closed]:animate-out max-sm:data-[state=closed]:animation-duration-500 max-sm:data-[state=closed]:slide-out-to-bottom-full sm:data-[state=closed]:fade-out-0 sm:data-[state=closed]:zoom-out-95 fixed inset-0 z-50 grid grid-rows-[1fr_auto] justify-items-center overflow-auto sm:grid-rows-[1fr_auto_3fr] sm:p-4",r?.wrapper),"data-slot":"dialog-content-wrapper",...n,children:s("div",{className:i("bg-popover text-popover-foreground relative row-start-2 flex w-full flex-col rounded-t-2xl border shadow-lg sm:max-w-lg sm:rounded-2xl",r?.content,e),"data-slot":"dialog-content",children:[t,s(o.Close,{className:l({className:["absolute right-2.5 top-2.5 size-7",r?.close],size:"icon",variant:"ghost"}),"data-slot":"dialog-close",children:[a(m,{className:"size-4"}),a("span",{className:"sr-only",children:"Close"})]})]})})]})}function v({className:t,...e}){return a("header",{className:i("flex shrink-0 flex-col gap-1.5 px-6 pb-2 pt-6 text-center sm:text-left",t),"data-slot":"dialog-header",...e})}function P({className:t,...e}){return a("main",{className:i("overflow-auto px-6 py-2",t),"data-slot":"dialog-body",...e})}function D({className:t,...e}){return a("footer",{className:i("flex shrink-0 flex-col-reverse gap-2 px-6 pb-6 pt-2 sm:flex-row sm:justify-end",t),"data-slot":"dialog-footer",...e})}function x({className:t,...e}){return a(o.Title,{className:i("text-lg font-semibold leading-none tracking-tight",t),"data-slot":"dialog-title",...e})}function y({className:t,...e}){return a(o.Description,{className:i("text-muted-foreground text-sm",t),"data-slot":"dialog-description",...e})}function C({className:t,size:e,variant:r="outline",...n}){return a(o.Close,{className:l({className:t,size:e,variant:r}),"data-slot":"dialog-close",...n})}export{f as a,c as b,u as c,v as d,P as e,D as f,x as g,y as h,C as i};
2
+ //# sourceMappingURL=chunk-MRIHA5JJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/dialog.tsx"],"names":["DialogPrimitive","XIcon","jsx","jsxs","Dialog","props","DialogTrigger","DialogContent","children","className","classNames","cn","buttonVariants","DialogHeader","DialogBody","DialogFooter","DialogTitle","DialogDescription","DialogClose","size","variant"],"mappings":"gFAGA,UAAYA,MAAqB,yBACjC,OAAS,SAAAC,MAAa,eAUb,cAAAC,EAsDC,QAAAC,MAtDD,oBADT,SAASC,EAAO,CAAE,GAAGC,CAAM,EAA6D,CACtF,OAAOH,EAAiB,OAAhB,CAAqB,YAAU,SAAU,GAAGG,EAAO,CAC7D,CAMA,SAASC,EAAc,CAAE,GAAGD,CAAM,EAAgE,CAChG,OAAOH,EAAiB,UAAhB,CAAwB,YAAU,iBAAkB,GAAGG,EAAO,CACxE,CAMA,SAASE,EAAc,CACrB,SAAAC,EACA,UAAAC,EACA,WAAAC,EACA,GAAGL,CACL,EAOgB,CACd,OACEF,EAAiB,SAAhB,CACC,UAAAD,EAAiB,UAAhB,CACC,UAAWS,EACT,gIACAD,GAAY,OACd,EACA,YAAU,iBACZ,EACAR,EAAiB,UAAhB,CACC,UAAWS,EACT,+fACAD,GAAY,OACd,EACA,YAAU,yBACT,GAAGL,EAEJ,SAAAF,EAAC,OACC,UAAWQ,EACT,yIACAD,GAAY,QACZD,CACF,EACA,YAAU,iBAET,UAAAD,EACDL,EAAiB,QAAhB,CACC,UAAWS,EAAe,CACxB,UAAW,CAAC,oCAAqCF,GAAY,KAAK,EAClE,KAAM,OACN,QAAS,OACX,CAAC,EACD,YAAU,eAEV,UAAAR,EAACD,EAAA,CAAM,UAAU,SAAS,EAC1BC,EAAC,QAAK,UAAU,UAAU,iBAAK,GACjC,GACF,EACF,GACF,CAEJ,CAMA,SAASW,EAAa,CAAE,UAAAJ,EAAW,GAAGJ,CAAM,EAAuC,CACjF,OACEH,EAAC,UACC,UAAWS,EAAG,yEAA0EF,CAAS,EACjG,YAAU,gBACT,GAAGJ,EACN,CAEJ,CAMA,SAASS,EAAW,CAAE,UAAAL,EAAW,GAAGJ,CAAM,EAAuC,CAC/E,OAAOH,EAAC,QAAK,UAAWS,EAAG,0BAA2BF,CAAS,EAAG,YAAU,cAAe,GAAGJ,EAAO,CACvG,CAMA,SAASU,EAAa,CAAE,UAAAN,EAAW,GAAGJ,CAAM,EAAuC,CACjF,OACEH,EAAC,UACC,UAAWS,EAAG,iFAAkFF,CAAS,EACzG,YAAU,gBACT,GAAGJ,EACN,CAEJ,CAMA,SAASW,EAAY,CAAE,UAAAP,EAAW,GAAGJ,CAAM,EAA8D,CACvG,OACEH,EAAiB,QAAhB,CACC,UAAWS,EAAG,oDAAqDF,CAAS,EAC5E,YAAU,eACT,GAAGJ,EACN,CAEJ,CAMA,SAASY,EAAkB,CAAE,UAAAR,EAAW,GAAGJ,CAAM,EAAoE,CACnH,OACEH,EAAiB,cAAhB,CACC,UAAWS,EAAG,gCAAiCF,CAAS,EACxD,YAAU,qBACT,GAAGJ,EACN,CAEJ,CAMA,SAASa,EAAY,CACnB,UAAAT,EACA,KAAAU,EACA,QAAAC,EAAU,UACV,GAAGf,CACL,EAGgB,CACd,OACEH,EAAiB,QAAhB,CACC,UAAWU,EAAe,CAAE,UAAAH,EAAW,KAAAU,EAAM,QAAAC,CAAQ,CAAC,EACtD,YAAU,eACT,GAAGf,EACN,CAEJ","sourcesContent":["import type { ComponentProps, JSX } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { XIcon } from 'lucide-react';\n\nimport { buttonVariants } from '@/components/button';\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Dialog\n * -------------------------------------------------------------------------- */\n\nfunction Dialog({ ...props }: ComponentProps<typeof DialogPrimitive.Root>): JSX.Element {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DialogTrigger\n * -------------------------------------------------------------------------- */\n\nfunction DialogTrigger({ ...props }: ComponentProps<typeof DialogPrimitive.Trigger>): JSX.Element {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DialogContent\n * -------------------------------------------------------------------------- */\n\nfunction DialogContent({\n children,\n className,\n classNames,\n ...props\n}: ComponentProps<typeof DialogPrimitive.Content> & {\n classNames?: {\n close?: string;\n content?: string;\n overlay?: string;\n wrapper?: string;\n };\n}): JSX.Element {\n return (\n <DialogPrimitive.Portal>\n <DialogPrimitive.Overlay\n className={cn(\n 'bg-popover-overlay data-[state=open]:animate-fade-in data-[state=closed]:animate-fade-out fixed inset-0 z-50 backdrop-blur-sm',\n classNames?.overlay,\n )}\n data-slot=\"dialog-overlay\"\n />\n <DialogPrimitive.Content\n className={cn(\n 'data-[state=open]:animate-in max-sm:data-[state=open]:animation-duration-500 max-sm:data-[state=open]:slide-in-from-bottom-full sm:data-[state=open]:fade-in-0 sm:data-[state=open]:zoom-in-95 data-[state=closed]:animate-out max-sm:data-[state=closed]:animation-duration-500 max-sm:data-[state=closed]:slide-out-to-bottom-full sm:data-[state=closed]:fade-out-0 sm:data-[state=closed]:zoom-out-95 fixed inset-0 z-50 grid grid-rows-[1fr_auto] justify-items-center overflow-auto sm:grid-rows-[1fr_auto_3fr] sm:p-4',\n classNames?.wrapper,\n )}\n data-slot=\"dialog-content-wrapper\"\n {...props}\n >\n <div\n className={cn(\n 'bg-popover text-popover-foreground relative row-start-2 flex w-full flex-col rounded-t-2xl border shadow-lg sm:max-w-lg sm:rounded-2xl',\n classNames?.content,\n className,\n )}\n data-slot=\"dialog-content\"\n >\n {children}\n <DialogPrimitive.Close\n className={buttonVariants({\n className: ['absolute right-2.5 top-2.5 size-7', classNames?.close],\n size: 'icon',\n variant: 'ghost',\n })}\n data-slot=\"dialog-close\"\n >\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </div>\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DialogHeader\n * -------------------------------------------------------------------------- */\n\nfunction DialogHeader({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <header\n className={cn('flex shrink-0 flex-col gap-1.5 px-6 pb-2 pt-6 text-center sm:text-left', className)}\n data-slot=\"dialog-header\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DialogBody\n * -------------------------------------------------------------------------- */\n\nfunction DialogBody({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return <main className={cn('overflow-auto px-6 py-2', className)} data-slot=\"dialog-body\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DialogFooter\n * -------------------------------------------------------------------------- */\n\nfunction DialogFooter({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <footer\n className={cn('flex shrink-0 flex-col-reverse gap-2 px-6 pb-6 pt-2 sm:flex-row sm:justify-end', className)}\n data-slot=\"dialog-footer\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DialogTitle\n * -------------------------------------------------------------------------- */\n\nfunction DialogTitle({ className, ...props }: ComponentProps<typeof DialogPrimitive.Title>): JSX.Element {\n return (\n <DialogPrimitive.Title\n className={cn('text-lg font-semibold leading-none tracking-tight', className)}\n data-slot=\"dialog-title\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DialogDescription\n * -------------------------------------------------------------------------- */\n\nfunction DialogDescription({ className, ...props }: ComponentProps<typeof DialogPrimitive.Description>): JSX.Element {\n return (\n <DialogPrimitive.Description\n className={cn('text-muted-foreground text-sm', className)}\n data-slot=\"dialog-description\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DialogClose\n * -------------------------------------------------------------------------- */\n\nfunction DialogClose({\n className,\n size,\n variant = 'outline',\n ...props\n}: Omit<ComponentProps<typeof DialogPrimitive.Close>, 'ref'> & {\n size?: VariantProps<typeof buttonVariants>['size'];\n variant?: VariantProps<typeof buttonVariants>['variant'];\n}): JSX.Element {\n return (\n <DialogPrimitive.Close\n className={buttonVariants({ className, size, variant })}\n data-slot=\"dialog-close\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Dialog,\n DialogBody,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import{a as u}from"./chunk-ZFCLI44C.js";import{a as o}from"./chunk-OKUFCFYT.js";import*as t from"@radix-ui/react-navigation-menu";import{ChevronDownIcon as v}from"lucide-react";import{tv as m}from"tailwind-variants";import{jsx as i,jsxs as r}from"react/jsx-runtime";function w({children:e,className:a,viewport:n=!0,...s}){return r(t.Root,{className:o("group/navigation-menu relative flex max-w-max flex-1 items-center justify-center",a),"data-slot":"navigation-menu","data-viewport":n,...s,children:[e,n?i(g,{}):null]})}function M({children:e,className:a,...n}){return r(t.List,{className:o("flex flex-1 list-none items-center justify-center gap-1",a),"data-slot":"navigation-menu-list",...n,children:[e,i(p,{className:"invisible"})]})}function P({className:e,...a}){return i(t.Item,{className:o("group-data-[viewport=false]/navigation-menu:relative",e),"data-slot":"navigation-menu-item",...a})}var d=m({base:u({className:"data-[state=open]:bg-secondary/50 data-[state=open]:text-secondary-foreground group/navigation-menu-trigger focus-visible:bg-secondary dark:hover:not-disabled:bg-secondary",variant:"ghost"})});function x({children:e,className:a,...n}){return r(t.Trigger,{className:d({className:a}),"data-slot":"navigation-menu-trigger",...n,children:[e,i(v,{"aria-hidden":"true",className:"relative top-px ml-1 size-3 transition duration-300 group-data-[state=open]/navigation-menu-trigger:rotate-180"})]})}function h({className:e,...a}){return i(t.Content,{className:o("data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in-0 data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out-0 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 left-0 top-0 w-full group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-2 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-lg group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:p-1 group-data-[viewport=true]/navigation-menu:p-2 group-data-[viewport=false]/navigation-menu:shadow md:absolute md:w-auto",e),"data-slot":"navigation-menu-content",...a})}function b({className:e,...a}){return i(t.Link,{className:o("data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:[&_svg:not([class*='text-'])]:text-destructive/80 [&_svg:not([class*='text-'])]:text-muted-foreground outline-hidden flex flex-col gap-1 rounded-sm p-2 text-sm transition [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0",e),"data-slot":"navigation-menu-link",...a})}function g({className:e,...a}){return i("div",{className:"perspective-distant absolute left-0 top-full z-30 flex justify-center",children:i(t.Viewport,{className:o("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-90 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 relative mt-2 min-h-[calc(var(--radix-navigation-menu-viewport-height)+2px)] w-full origin-[top_center] overflow-hidden rounded-lg border shadow-lg transition-[width,height] sm:min-w-[calc(var(--radix-navigation-menu-viewport-width)+2px)]",e),"data-slot":"navigation-menu-viewport",...a})})}function p({className:e,...a}){return i(t.Indicator,{className:o("data-[state=visible]:animate-fade-in data-[state=hidden]:animate-fade-out top-full z-10 flex h-2 items-center justify-center overflow-hidden",e),"data-slot":"navigation-menu-indicator",...a,children:i("div",{className:"bg-popover text-popover-foreground rounded-tl-xs relative top-[60%] size-2.5 rotate-45"})})}export{w as a,M as b,P as c,d,x as e,h as f,b as g};
2
+ //# sourceMappingURL=chunk-NF7IJIGR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/navigation-menu.tsx"],"names":["NavigationMenuPrimitive","ChevronDownIcon","tv","jsx","jsxs","NavigationMenu","children","className","viewport","props","cn","NavigationMenuViewport","NavigationMenuList","NavigationMenuIndicator","NavigationMenuItem","navigationMenuTriggerStyle","buttonVariants","NavigationMenuTrigger","NavigationMenuContent","NavigationMenuLink"],"mappings":"gFAEA,UAAYA,MAA6B,kCACzC,OAAS,mBAAAC,MAAuB,eAChC,OAAS,MAAAC,MAAU,oBAkBf,OAOc,OAAAC,EAPd,QAAAC,MAAA,oBATJ,SAASC,EAAe,CACtB,SAAAC,EACA,UAAAC,EACA,SAAAC,EAAW,GACX,GAAGC,CACL,EAEgB,CACd,OACEL,EAAyB,OAAxB,CACC,UAAWM,EAAG,mFAAoFH,CAAS,EAC3G,YAAU,kBACV,gBAAeC,EACd,GAAGC,EAEH,UAAAH,EACAE,EAAWL,EAACQ,EAAA,EAAuB,EAAK,MAC3C,CAEJ,CAMA,SAASC,EAAmB,CAC1B,SAAAN,EACA,UAAAC,EACA,GAAGE,CACL,EAAqE,CACnE,OACEL,EAAyB,OAAxB,CACC,UAAWM,EAAG,0DAA2DH,CAAS,EAClF,YAAU,uBACT,GAAGE,EAEH,UAAAH,EACDH,EAACU,EAAA,CAAwB,UAAU,YAAY,GACjD,CAEJ,CAMA,SAASC,EAAmB,CAAE,UAAAP,EAAW,GAAGE,CAAM,EAAqE,CACrH,OACEN,EAAyB,OAAxB,CACC,UAAWO,EAAG,uDAAwDH,CAAS,EAC/E,YAAU,uBACT,GAAGE,EACN,CAEJ,CAMA,IAAMM,EAA6Bb,EAAG,CACpC,KAAMc,EAAe,CACnB,UACE,8KACF,QAAS,OACX,CAAC,CACH,CAAC,EAMD,SAASC,EAAsB,CAC7B,SAAAX,EACA,UAAAC,EACA,GAAGE,CACL,EAAwE,CACtE,OACEL,EAAyB,UAAxB,CACC,UAAWW,EAA2B,CAAE,UAAAR,CAAU,CAAC,EACnD,YAAU,0BACT,GAAGE,EAEH,UAAAH,EACDH,EAACF,EAAA,CACC,cAAY,OACZ,UAAU,iHACZ,GACF,CAEJ,CAMA,SAASiB,EAAsB,CAC7B,UAAAX,EACA,GAAGE,CACL,EAAwE,CACtE,OACEN,EAAyB,UAAxB,CACC,UAAWO,EACT,kzCACAH,CACF,EACA,YAAU,0BACT,GAAGE,EACN,CAEJ,CAMA,SAASU,EAAmB,CAAE,UAAAZ,EAAW,GAAGE,CAAM,EAAqE,CACrH,OACEN,EAAyB,OAAxB,CACC,UAAWO,EACT,weACAH,CACF,EACA,YAAU,uBACT,GAAGE,EACN,CAEJ,CAMA,SAASE,EAAuB,CAC9B,UAAAJ,EACA,GAAGE,CACL,EAAyE,CACvE,OACEN,EAAC,OAAI,UAAU,wEACb,SAAAA,EAAyB,WAAxB,CACC,UAAWO,EACT,ycACAH,CACF,EACA,YAAU,2BACT,GAAGE,EACN,EACF,CAEJ,CAMA,SAASI,EAAwB,CAC/B,UAAAN,EACA,GAAGE,CACL,EAA0E,CACxE,OACEN,EAAyB,YAAxB,CACC,UAAWO,EACT,+IACAH,CACF,EACA,YAAU,4BACT,GAAGE,EAEJ,SAAAN,EAAC,OAAI,UAAU,yFAAyF,EAC1G,CAEJ","sourcesContent":["import type { ComponentProps, JSX } from 'react';\n\nimport * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';\nimport { ChevronDownIcon } from 'lucide-react';\nimport { tv } from 'tailwind-variants';\n\nimport { buttonVariants } from '@/components/button';\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: NavigationMenu\n * -------------------------------------------------------------------------- */\n\nfunction NavigationMenu({\n children,\n className,\n viewport = true,\n ...props\n}: ComponentProps<typeof NavigationMenuPrimitive.Root> & {\n viewport?: boolean;\n}): JSX.Element {\n return (\n <NavigationMenuPrimitive.Root\n className={cn('group/navigation-menu relative flex max-w-max flex-1 items-center justify-center', className)}\n data-slot=\"navigation-menu\"\n data-viewport={viewport}\n {...props}\n >\n {children}\n {viewport ? <NavigationMenuViewport /> : null}\n </NavigationMenuPrimitive.Root>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: NavigationMenuList\n * -------------------------------------------------------------------------- */\n\nfunction NavigationMenuList({\n children,\n className,\n ...props\n}: ComponentProps<typeof NavigationMenuPrimitive.List>): JSX.Element {\n return (\n <NavigationMenuPrimitive.List\n className={cn('flex flex-1 list-none items-center justify-center gap-1', className)}\n data-slot=\"navigation-menu-list\"\n {...props}\n >\n {children}\n <NavigationMenuIndicator className=\"invisible\" />\n </NavigationMenuPrimitive.List>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: NavigationMenuItem\n * -------------------------------------------------------------------------- */\n\nfunction NavigationMenuItem({ className, ...props }: ComponentProps<typeof NavigationMenuPrimitive.Item>): JSX.Element {\n return (\n <NavigationMenuPrimitive.Item\n className={cn('group-data-[viewport=false]/navigation-menu:relative', className)}\n data-slot=\"navigation-menu-item\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Style: NavigationMenuTrigger\n * -------------------------------------------------------------------------- */\n\nconst navigationMenuTriggerStyle = tv({\n base: buttonVariants({\n className:\n 'data-[state=open]:bg-secondary/50 data-[state=open]:text-secondary-foreground group/navigation-menu-trigger focus-visible:bg-secondary dark:hover:not-disabled:bg-secondary',\n variant: 'ghost',\n }),\n});\n\n/* -----------------------------------------------------------------------------\n * Component: NavigationMenuTrigger\n * -------------------------------------------------------------------------- */\n\nfunction NavigationMenuTrigger({\n children,\n className,\n ...props\n}: ComponentProps<typeof NavigationMenuPrimitive.Trigger>): JSX.Element {\n return (\n <NavigationMenuPrimitive.Trigger\n className={navigationMenuTriggerStyle({ className })}\n data-slot=\"navigation-menu-trigger\"\n {...props}\n >\n {children}\n <ChevronDownIcon\n aria-hidden=\"true\"\n className=\"relative top-px ml-1 size-3 transition duration-300 group-data-[state=open]/navigation-menu-trigger:rotate-180\"\n />\n </NavigationMenuPrimitive.Trigger>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: NavigationMenuContent\n * -------------------------------------------------------------------------- */\n\nfunction NavigationMenuContent({\n className,\n ...props\n}: ComponentProps<typeof NavigationMenuPrimitive.Content>): JSX.Element {\n return (\n <NavigationMenuPrimitive.Content\n className={cn(\n 'data-[motion^=from-]:animate-in data-[motion^=from-]:fade-in-0 data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion^=to-]:animate-out data-[motion^=to-]:fade-out-0 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 left-0 top-0 w-full group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-2 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-lg group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:p-1 group-data-[viewport=true]/navigation-menu:p-2 group-data-[viewport=false]/navigation-menu:shadow md:absolute md:w-auto',\n className,\n )}\n data-slot=\"navigation-menu-content\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: NavigationMenuLink\n * -------------------------------------------------------------------------- */\n\nfunction NavigationMenuLink({ className, ...props }: ComponentProps<typeof NavigationMenuPrimitive.Link>): JSX.Element {\n return (\n <NavigationMenuPrimitive.Link\n className={cn(\n \"data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:[&_svg:not([class*='text-'])]:text-destructive/80 [&_svg:not([class*='text-'])]:text-muted-foreground outline-hidden flex flex-col gap-1 rounded-sm p-2 text-sm transition [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0\",\n className,\n )}\n data-slot=\"navigation-menu-link\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: NavigationMenuViewport\n * -------------------------------------------------------------------------- */\n\nfunction NavigationMenuViewport({\n className,\n ...props\n}: ComponentProps<typeof NavigationMenuPrimitive.Viewport>): JSX.Element {\n return (\n <div className=\"perspective-distant absolute left-0 top-full z-30 flex justify-center\">\n <NavigationMenuPrimitive.Viewport\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-90 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 relative mt-2 min-h-[calc(var(--radix-navigation-menu-viewport-height)+2px)] w-full origin-[top_center] overflow-hidden rounded-lg border shadow-lg transition-[width,height] sm:min-w-[calc(var(--radix-navigation-menu-viewport-width)+2px)]',\n className,\n )}\n data-slot=\"navigation-menu-viewport\"\n {...props}\n />\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: NavigationMenuIndicator\n * -------------------------------------------------------------------------- */\n\nfunction NavigationMenuIndicator({\n className,\n ...props\n}: ComponentProps<typeof NavigationMenuPrimitive.Indicator>): JSX.Element {\n return (\n <NavigationMenuPrimitive.Indicator\n className={cn(\n 'data-[state=visible]:animate-fade-in data-[state=hidden]:animate-fade-out top-full z-10 flex h-2 items-center justify-center overflow-hidden',\n className,\n )}\n data-slot=\"navigation-menu-indicator\"\n {...props}\n >\n <div className=\"bg-popover text-popover-foreground rounded-tl-xs relative top-[60%] size-2.5 rotate-45\" />\n </NavigationMenuPrimitive.Indicator>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n NavigationMenu,\n NavigationMenuContent,\n NavigationMenuItem,\n NavigationMenuLink,\n NavigationMenuList,\n NavigationMenuTrigger,\n navigationMenuTriggerStyle,\n};\n"]}