@codefast/ui 0.2.38 → 0.2.40
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.
- package/CHANGELOG.md +48 -0
- package/dist/{chunk-45XT7WPV.cjs → chunk-2BQKAZIK.cjs} +2 -2
- package/dist/{chunk-45XT7WPV.cjs.map → chunk-2BQKAZIK.cjs.map} +1 -1
- package/dist/{chunk-Q24HBDJY.cjs → chunk-2HRC7KM5.cjs} +2 -2
- package/dist/{chunk-Q24HBDJY.cjs.map → chunk-2HRC7KM5.cjs.map} +1 -1
- package/dist/{chunk-3Z67RHJ3.js → chunk-2ONIOLJQ.js} +2 -2
- package/dist/{chunk-64QR6CGF.js → chunk-3AEEOFHT.js} +2 -2
- package/dist/chunk-3AEEOFHT.js.map +1 -0
- package/dist/{chunk-U7UJHUBW.js → chunk-3NUSPFUR.js} +2 -2
- package/dist/{chunk-KZTYZ4SE.js → chunk-3QNA5W7W.js} +2 -2
- package/dist/{chunk-S7RX6JQY.js → chunk-43LREVQW.js} +2 -2
- package/dist/chunk-4C3B26NE.js +2 -0
- package/dist/chunk-4C3B26NE.js.map +1 -0
- package/dist/{chunk-3E3ZQIUX.js → chunk-4ENRIR3P.js} +2 -2
- package/dist/{chunk-KOVXL4P6.cjs → chunk-4H4ZNNN4.cjs} +2 -2
- package/dist/{chunk-KOVXL4P6.cjs.map → chunk-4H4ZNNN4.cjs.map} +1 -1
- package/dist/{chunk-SRP463XH.cjs → chunk-4KX73AQJ.cjs} +2 -2
- package/dist/{chunk-SRP463XH.cjs.map → chunk-4KX73AQJ.cjs.map} +1 -1
- package/dist/{chunk-SMJEDCFP.cjs → chunk-4QBKNZJK.cjs} +1 -1
- package/dist/chunk-4QBKNZJK.cjs.map +1 -0
- package/dist/chunk-5J5PZ5RW.cjs +2 -0
- package/dist/{chunk-NJZ3TDB6.cjs.map → chunk-5J5PZ5RW.cjs.map} +1 -1
- package/dist/{chunk-NOJBMCCJ.cjs → chunk-5JTBH2HB.cjs} +2 -2
- package/dist/chunk-5JTBH2HB.cjs.map +1 -0
- package/dist/{chunk-EMPC5HNU.cjs → chunk-5W5EYATS.cjs} +2 -2
- package/dist/{chunk-EMPC5HNU.cjs.map → chunk-5W5EYATS.cjs.map} +1 -1
- package/dist/{chunk-Q2PAHIDW.js → chunk-5ZGCITOG.js} +2 -2
- package/dist/{chunk-2HEVHJKK.cjs → chunk-62KSISJB.cjs} +2 -2
- package/dist/{chunk-2HEVHJKK.cjs.map → chunk-62KSISJB.cjs.map} +1 -1
- package/dist/{chunk-YCCLSFED.js → chunk-6S537DLU.js} +2 -2
- package/dist/{chunk-FF7RJQ5V.js → chunk-6SXDMOC6.js} +2 -2
- package/dist/{chunk-P7IDB2YN.js → chunk-6VLIWII3.js} +2 -2
- package/dist/{chunk-MKBJXYE2.cjs → chunk-73ZVOEYN.cjs} +2 -2
- package/dist/{chunk-MKBJXYE2.cjs.map → chunk-73ZVOEYN.cjs.map} +1 -1
- package/dist/{chunk-HPWHFFV6.cjs → chunk-75QPTJUO.cjs} +2 -2
- package/dist/chunk-75QPTJUO.cjs.map +1 -0
- package/dist/{chunk-3H3UNZUP.cjs → chunk-77MMVARO.cjs} +2 -2
- package/dist/{chunk-3H3UNZUP.cjs.map → chunk-77MMVARO.cjs.map} +1 -1
- package/dist/{chunk-IK76PHGB.cjs → chunk-7EG2MKOP.cjs} +2 -2
- package/dist/{chunk-IK76PHGB.cjs.map → chunk-7EG2MKOP.cjs.map} +1 -1
- package/dist/{chunk-W7IUS6U5.cjs → chunk-7H66BMH4.cjs} +2 -2
- package/dist/{chunk-W7IUS6U5.cjs.map → chunk-7H66BMH4.cjs.map} +1 -1
- package/dist/{chunk-PRQOBYFW.js → chunk-7ZBO62H2.js} +2 -2
- package/dist/{chunk-GPPLLR2C.cjs → chunk-ALK54X5M.cjs} +2 -2
- package/dist/{chunk-GPPLLR2C.cjs.map → chunk-ALK54X5M.cjs.map} +1 -1
- package/dist/chunk-AOEBEZCM.cjs +2 -0
- package/dist/chunk-AOEBEZCM.cjs.map +1 -0
- package/dist/{chunk-YX4V3LJU.cjs → chunk-BM46YHNI.cjs} +2 -2
- package/dist/{chunk-YX4V3LJU.cjs.map → chunk-BM46YHNI.cjs.map} +1 -1
- package/dist/{chunk-MKTUHVAW.js → chunk-BSU5RNRG.js} +2 -2
- package/dist/{chunk-QGFB3EOD.js → chunk-BYHI4274.js} +2 -2
- package/dist/{chunk-HODP3L6K.js → chunk-CB2YNTH2.js} +2 -2
- package/dist/{chunk-J6744AYH.js → chunk-CXVL5MZT.js} +2 -2
- package/dist/{chunk-NHKDM4JU.cjs → chunk-D5C2LKXA.cjs} +2 -2
- package/dist/{chunk-NHKDM4JU.cjs.map → chunk-D5C2LKXA.cjs.map} +1 -1
- package/dist/chunk-DX7ZENLD.js +2 -0
- package/dist/chunk-DX7ZENLD.js.map +1 -0
- package/dist/{chunk-UOBUAOYY.js → chunk-E3GP3ZDU.js} +2 -2
- package/dist/{chunk-RBIJMA3G.js → chunk-EBODIPD3.js} +2 -2
- package/dist/{chunk-HI5KN7UL.js → chunk-ETZEGAE4.js} +2 -2
- package/dist/chunk-FJ4SSSQI.cjs +3 -0
- package/dist/chunk-FJ4SSSQI.cjs.map +1 -0
- package/dist/{chunk-MCQAUDRK.js → chunk-FXESF4F3.js} +2 -2
- package/dist/chunk-FYKXZB7Y.js +3 -0
- package/dist/chunk-FYKXZB7Y.js.map +1 -0
- package/dist/{chunk-HFJKDL4E.cjs → chunk-G5SJUAN7.cjs} +2 -2
- package/dist/{chunk-HFJKDL4E.cjs.map → chunk-G5SJUAN7.cjs.map} +1 -1
- package/dist/{chunk-CKTJRT3X.js → chunk-GHZJL33D.js} +2 -2
- package/dist/{chunk-3XOJLY6Y.js → chunk-H5KHKTXM.js} +2 -2
- package/dist/{chunk-GBDXWKYX.cjs → chunk-HJKUWJAQ.cjs} +2 -2
- package/dist/{chunk-GBDXWKYX.cjs.map → chunk-HJKUWJAQ.cjs.map} +1 -1
- package/dist/{chunk-MCGDQEI6.js → chunk-HRARWB2V.js} +2 -2
- package/dist/{chunk-5U6B5LAO.js → chunk-HZF7PYFL.js} +2 -2
- package/dist/chunk-I3R7CYAL.js +2 -0
- package/dist/chunk-I3R7CYAL.js.map +1 -0
- package/dist/{chunk-UAS5UKTZ.cjs → chunk-IY35R752.cjs} +2 -2
- package/dist/{chunk-UAS5UKTZ.cjs.map → chunk-IY35R752.cjs.map} +1 -1
- package/dist/{chunk-ASEUIM44.cjs → chunk-IYUJ5OKV.cjs} +2 -2
- package/dist/{chunk-ASEUIM44.cjs.map → chunk-IYUJ5OKV.cjs.map} +1 -1
- package/dist/{chunk-RNLUQH6E.cjs → chunk-J3VCCLJE.cjs} +2 -2
- package/dist/{chunk-RNLUQH6E.cjs.map → chunk-J3VCCLJE.cjs.map} +1 -1
- package/dist/{chunk-K4Y4Y2YP.cjs → chunk-JD762OCB.cjs} +2 -2
- package/dist/{chunk-K4Y4Y2YP.cjs.map → chunk-JD762OCB.cjs.map} +1 -1
- package/dist/{chunk-FPZHSVY3.js → chunk-JO7EANFR.js} +2 -2
- package/dist/{chunk-ZIIE5XVL.js → chunk-K63CIBXO.js} +2 -2
- package/dist/{chunk-PQPCVOZX.cjs → chunk-KFKATGAI.cjs} +2 -2
- package/dist/{chunk-PQPCVOZX.cjs.map → chunk-KFKATGAI.cjs.map} +1 -1
- package/dist/{chunk-7CCZJ647.cjs → chunk-KHTUADLQ.cjs} +2 -2
- package/dist/{chunk-7CCZJ647.cjs.map → chunk-KHTUADLQ.cjs.map} +1 -1
- package/dist/{chunk-K73VMNRR.js → chunk-KNCCX2RR.js} +2 -2
- package/dist/{chunk-OKUFCFYT.js → chunk-KWNBGPPE.js} +1 -1
- package/dist/chunk-KWNBGPPE.js.map +1 -0
- package/dist/{chunk-VSTEK27Z.cjs → chunk-KY6BYWI2.cjs} +2 -2
- package/dist/{chunk-VSTEK27Z.cjs.map → chunk-KY6BYWI2.cjs.map} +1 -1
- package/dist/{chunk-WBNOGWR4.js → chunk-KZBQGSMG.js} +2 -2
- package/dist/{chunk-3X3FY776.js → chunk-LBTP74TP.js} +2 -2
- package/dist/{chunk-OP6TXGBC.js → chunk-LCW5IZ6X.js} +2 -2
- package/dist/chunk-LJTE4MA2.cjs +2 -0
- package/dist/chunk-LJTE4MA2.cjs.map +1 -0
- package/dist/{chunk-UQCCSFW6.js → chunk-LQXNGCYD.js} +2 -2
- package/dist/{chunk-7KXMJMOL.js → chunk-M2CSPS4G.js} +2 -2
- package/dist/{chunk-PZIWZBH2.js → chunk-MOTXNJBG.js} +2 -2
- package/dist/chunk-MUU4UWRP.js +2 -0
- package/dist/{chunk-BH3PX3OD.js.map → chunk-MUU4UWRP.js.map} +1 -1
- package/dist/{chunk-OT65LUKH.cjs → chunk-NIGVA42Q.cjs} +2 -2
- package/dist/{chunk-OT65LUKH.cjs.map → chunk-NIGVA42Q.cjs.map} +1 -1
- package/dist/{chunk-JW6C57Y5.cjs → chunk-O2AV7D77.cjs} +2 -2
- package/dist/{chunk-JW6C57Y5.cjs.map → chunk-O2AV7D77.cjs.map} +1 -1
- package/dist/{chunk-SSNF4WDW.js → chunk-OPZLDNA6.js} +2 -2
- package/dist/{chunk-CT4OIAD4.cjs → chunk-OVKRBTSG.cjs} +2 -2
- package/dist/{chunk-CT4OIAD4.cjs.map → chunk-OVKRBTSG.cjs.map} +1 -1
- package/dist/{chunk-3KHRUHYT.cjs → chunk-OWHTDN3B.cjs} +2 -2
- package/dist/{chunk-3KHRUHYT.cjs.map → chunk-OWHTDN3B.cjs.map} +1 -1
- package/dist/{chunk-XXUOW3ID.cjs → chunk-PAZGMXP5.cjs} +2 -2
- package/dist/{chunk-XXUOW3ID.cjs.map → chunk-PAZGMXP5.cjs.map} +1 -1
- package/dist/{chunk-X5CR4RIL.cjs → chunk-PL6HV27V.cjs} +2 -2
- package/dist/{chunk-X5CR4RIL.cjs.map → chunk-PL6HV27V.cjs.map} +1 -1
- package/dist/{chunk-BROQJJQQ.cjs → chunk-QSRWMDFU.cjs} +2 -2
- package/dist/{chunk-BROQJJQQ.cjs.map → chunk-QSRWMDFU.cjs.map} +1 -1
- package/dist/{chunk-HD2FCRL3.cjs → chunk-QU3TG2M3.cjs} +2 -2
- package/dist/{chunk-HD2FCRL3.cjs.map → chunk-QU3TG2M3.cjs.map} +1 -1
- package/dist/{chunk-GDOXPS6I.cjs → chunk-RDYII63G.cjs} +2 -2
- package/dist/{chunk-GDOXPS6I.cjs.map → chunk-RDYII63G.cjs.map} +1 -1
- package/dist/{chunk-POJOZ7HM.cjs → chunk-RGTR4W4L.cjs} +2 -2
- package/dist/{chunk-POJOZ7HM.cjs.map → chunk-RGTR4W4L.cjs.map} +1 -1
- package/dist/{chunk-OSBDYGS3.cjs → chunk-RIYYTPW4.cjs} +2 -2
- package/dist/{chunk-OSBDYGS3.cjs.map → chunk-RIYYTPW4.cjs.map} +1 -1
- package/dist/{chunk-YLVYJ4QQ.js → chunk-RJCUZWSQ.js} +2 -2
- package/dist/{chunk-UYWVE5DL.cjs → chunk-RPR4QRQK.cjs} +2 -2
- package/dist/{chunk-UYWVE5DL.cjs.map → chunk-RPR4QRQK.cjs.map} +1 -1
- package/dist/{chunk-QHTSSIGW.cjs → chunk-S32LYY3O.cjs} +2 -2
- package/dist/{chunk-QHTSSIGW.cjs.map → chunk-S32LYY3O.cjs.map} +1 -1
- package/dist/{chunk-D6Q6LYOK.js → chunk-S4YRB53E.js} +2 -2
- package/dist/{chunk-7TYGHN3F.js → chunk-S6SBFTOK.js} +2 -2
- package/dist/{chunk-BZPP4CU7.cjs → chunk-SDAQL72I.cjs} +2 -2
- package/dist/{chunk-BZPP4CU7.cjs.map → chunk-SDAQL72I.cjs.map} +1 -1
- package/dist/chunk-SDQKG5LX.js +2 -0
- package/dist/{chunk-LEHRUJ2L.js.map → chunk-SDQKG5LX.js.map} +1 -1
- package/dist/{chunk-BWJ6X4FP.js → chunk-SNR6C2TD.js} +2 -2
- package/dist/{chunk-MCMCMOW6.cjs → chunk-THIOYFBD.cjs} +2 -2
- package/dist/{chunk-MCMCMOW6.cjs.map → chunk-THIOYFBD.cjs.map} +1 -1
- package/dist/{chunk-JJW4VWZS.cjs → chunk-UGLIJJJD.cjs} +2 -2
- package/dist/chunk-UGLIJJJD.cjs.map +1 -0
- package/dist/{chunk-GSIKFVMY.js → chunk-UTP25IOS.js} +2 -2
- package/dist/{chunk-FR7P352M.js → chunk-UU6JKB54.js} +2 -2
- package/dist/chunk-UWO435VO.cjs +2 -0
- package/dist/{chunk-BGHCFQCV.cjs.map → chunk-UWO435VO.cjs.map} +1 -1
- package/dist/{chunk-GIPFEUMD.js → chunk-VCQXS2LO.js} +2 -2
- package/dist/{chunk-VR6XYLVU.js → chunk-VGNEJZTI.js} +2 -2
- package/dist/{chunk-US2PK6G5.cjs → chunk-VXLQ4MHB.cjs} +2 -2
- package/dist/{chunk-US2PK6G5.cjs.map → chunk-VXLQ4MHB.cjs.map} +1 -1
- package/dist/{chunk-OBHL2EPC.cjs → chunk-W4M2CMNL.cjs} +2 -2
- package/dist/{chunk-OBHL2EPC.cjs.map → chunk-W4M2CMNL.cjs.map} +1 -1
- package/dist/{chunk-AAAIMKE6.cjs → chunk-WCB6FMMN.cjs} +2 -2
- package/dist/{chunk-AAAIMKE6.cjs.map → chunk-WCB6FMMN.cjs.map} +1 -1
- package/dist/{chunk-P6OP3EXT.cjs → chunk-WNJFKING.cjs} +2 -2
- package/dist/{chunk-P6OP3EXT.cjs.map → chunk-WNJFKING.cjs.map} +1 -1
- package/dist/{chunk-IDELSFHC.cjs → chunk-XMUIAC76.cjs} +2 -2
- package/dist/{chunk-IDELSFHC.cjs.map → chunk-XMUIAC76.cjs.map} +1 -1
- package/dist/{chunk-E3QLJTUQ.js → chunk-YWBLBKF6.js} +2 -2
- package/dist/chunk-YWBLBKF6.js.map +1 -0
- package/dist/{chunk-Y3I5EBH6.js → chunk-YYWPQ4QR.js} +2 -2
- package/dist/{chunk-CWDAAKQY.js → chunk-Z3CRHOTP.js} +2 -2
- package/dist/{chunk-ZQRHXFQO.js → chunk-ZD5ZM7S7.js} +2 -2
- package/dist/{chunk-B74UCONC.js → chunk-ZG6U2QZG.js} +2 -2
- package/dist/{chunk-B74UCONC.js.map → chunk-ZG6U2QZG.js.map} +1 -1
- package/dist/{chunk-SLXE24VS.cjs → chunk-ZK3HUPSZ.cjs} +2 -2
- package/dist/{chunk-SLXE24VS.cjs.map → chunk-ZK3HUPSZ.cjs.map} +1 -1
- package/dist/{chunk-4SZM4OZX.cjs → chunk-ZKB3PMFS.cjs} +2 -2
- package/dist/{chunk-4SZM4OZX.cjs.map → chunk-ZKB3PMFS.cjs.map} +1 -1
- package/dist/{chunk-TUAQU25Y.cjs → chunk-ZOMNWNKC.cjs} +2 -2
- package/dist/{chunk-TUAQU25Y.cjs.map → chunk-ZOMNWNKC.cjs.map} +1 -1
- package/dist/{chunk-YNN7KJQN.js → chunk-ZZLPOTQ2.js} +2 -2
- package/dist/components/accordion.cjs +1 -1
- package/dist/components/accordion.js +1 -1
- package/dist/components/alert-dialog.cjs +1 -1
- package/dist/components/alert-dialog.js +1 -1
- package/dist/components/alert.cjs +1 -1
- package/dist/components/alert.js +1 -1
- package/dist/components/avatar.cjs +1 -1
- package/dist/components/avatar.js +1 -1
- package/dist/components/breadcrumb.cjs +1 -1
- package/dist/components/breadcrumb.js +1 -1
- package/dist/components/button.cjs +1 -1
- package/dist/components/button.js +1 -1
- package/dist/components/calendar.cjs +1 -1
- package/dist/components/calendar.js +1 -1
- package/dist/components/card.cjs +1 -1
- package/dist/components/card.js +1 -1
- package/dist/components/carousel.cjs +1 -1
- package/dist/components/carousel.js +1 -1
- package/dist/components/chart.cjs +1 -1
- package/dist/components/chart.js +1 -1
- package/dist/components/checkbox-cards.cjs +1 -1
- package/dist/components/checkbox-cards.js +1 -1
- package/dist/components/checkbox-group.cjs +1 -1
- package/dist/components/checkbox-group.js +1 -1
- package/dist/components/checkbox.cjs +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/command.cjs +1 -1
- package/dist/components/command.js +1 -1
- package/dist/components/container.cjs +1 -1
- package/dist/components/container.js +1 -1
- package/dist/components/context-menu.cjs +1 -1
- package/dist/components/context-menu.js +1 -1
- package/dist/components/data-table.cjs +1 -1
- package/dist/components/data-table.js +1 -1
- package/dist/components/dialog.cjs +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/drawer.cjs +1 -1
- package/dist/components/drawer.js +1 -1
- package/dist/components/dropdown-menu.cjs +1 -1
- package/dist/components/dropdown-menu.js +1 -1
- package/dist/components/form.cjs +1 -1
- package/dist/components/form.d.cts +1 -1
- package/dist/components/form.d.ts +1 -1
- package/dist/components/form.js +1 -1
- package/dist/components/hover-card.cjs +1 -1
- package/dist/components/hover-card.js +1 -1
- package/dist/components/input-number.cjs +1 -1
- package/dist/components/input-number.d.cts +1 -2
- package/dist/components/input-number.d.ts +1 -2
- package/dist/components/input-number.js +1 -1
- package/dist/components/input-otp.cjs +1 -1
- package/dist/components/input-otp.js +1 -1
- package/dist/components/input-password.cjs +1 -1
- package/dist/components/input-password.d.cts +1 -2
- package/dist/components/input-password.d.ts +1 -2
- package/dist/components/input-password.js +1 -1
- package/dist/components/input-search.cjs +1 -1
- package/dist/components/input-search.d.cts +1 -2
- package/dist/components/input-search.d.ts +1 -2
- package/dist/components/input-search.js +1 -1
- package/dist/components/input.cjs +1 -1
- package/dist/components/input.d.cts +10 -11
- package/dist/components/input.d.ts +10 -11
- package/dist/components/input.js +1 -1
- package/dist/components/kbd.cjs +1 -1
- package/dist/components/kbd.js +1 -1
- package/dist/components/label.cjs +1 -1
- package/dist/components/label.js +1 -1
- package/dist/components/menubar.cjs +1 -1
- package/dist/components/menubar.js +1 -1
- package/dist/components/navigation-menu.cjs +1 -1
- package/dist/components/navigation-menu.js +1 -1
- package/dist/components/pagination.cjs +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/popover.cjs +1 -1
- package/dist/components/popover.js +1 -1
- package/dist/components/progress.cjs +1 -1
- package/dist/components/progress.js +1 -1
- package/dist/components/radio-cards.cjs +1 -1
- package/dist/components/radio-cards.js +1 -1
- package/dist/components/radio-group.cjs +1 -1
- package/dist/components/radio-group.js +1 -1
- package/dist/components/radio.cjs +1 -1
- package/dist/components/radio.js +1 -1
- package/dist/components/resizable.cjs +1 -1
- package/dist/components/resizable.js +1 -1
- package/dist/components/scroll-area.cjs +1 -1
- package/dist/components/scroll-area.js +1 -1
- package/dist/components/select.cjs +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/separator.cjs +1 -1
- package/dist/components/separator.js +1 -1
- package/dist/components/sheet.cjs +1 -1
- package/dist/components/sheet.js +1 -1
- package/dist/components/sidebar.cjs +1 -1
- package/dist/components/sidebar.d.cts +2 -3
- package/dist/components/sidebar.d.ts +2 -3
- package/dist/components/sidebar.js +1 -1
- package/dist/components/skeleton.cjs +1 -1
- package/dist/components/skeleton.js +1 -1
- package/dist/components/slider.cjs +1 -1
- package/dist/components/slider.js +1 -1
- package/dist/components/spinner.cjs +1 -1
- package/dist/components/spinner.js +1 -1
- package/dist/components/switch.cjs +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/table.cjs +1 -1
- package/dist/components/table.js +1 -1
- package/dist/components/tabs.cjs +1 -1
- package/dist/components/tabs.js +1 -1
- package/dist/components/textarea.cjs +1 -1
- package/dist/components/textarea.js +1 -1
- package/dist/components/toggle-group.cjs +1 -1
- package/dist/components/toggle-group.js +1 -1
- package/dist/components/tooltip.cjs +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +1 -1
- package/dist/lib/logger.cjs +1 -1
- package/dist/lib/logger.d.cts +52 -0
- package/dist/lib/logger.d.ts +52 -0
- package/dist/lib/logger.js +1 -1
- package/dist/lib/utils.cjs +1 -1
- package/dist/lib/utils.d.cts +5 -1
- package/dist/lib/utils.d.ts +5 -1
- package/dist/lib/utils.js +1 -1
- package/package.json +29 -17
- package/dist/chunk-2AZ4MW4T.js +0 -3
- package/dist/chunk-2AZ4MW4T.js.map +0 -1
- package/dist/chunk-64QR6CGF.js.map +0 -1
- package/dist/chunk-74METGII.cjs +0 -3
- package/dist/chunk-74METGII.cjs.map +0 -1
- package/dist/chunk-BGHCFQCV.cjs +0 -2
- package/dist/chunk-BH3PX3OD.js +0 -2
- package/dist/chunk-BUUK5B4I.js +0 -2
- package/dist/chunk-BUUK5B4I.js.map +0 -1
- package/dist/chunk-E3QLJTUQ.js.map +0 -1
- package/dist/chunk-HPWHFFV6.cjs.map +0 -1
- package/dist/chunk-JJW4VWZS.cjs.map +0 -1
- package/dist/chunk-KNWGFYQN.js +0 -2
- package/dist/chunk-KNWGFYQN.js.map +0 -1
- package/dist/chunk-LEHRUJ2L.js +0 -2
- package/dist/chunk-NJZ3TDB6.cjs +0 -2
- package/dist/chunk-NOJBMCCJ.cjs.map +0 -1
- package/dist/chunk-OKUFCFYT.js.map +0 -1
- package/dist/chunk-P5KMECT7.cjs +0 -2
- package/dist/chunk-P5KMECT7.cjs.map +0 -1
- package/dist/chunk-SMJEDCFP.cjs.map +0 -1
- package/dist/chunk-W22VAO5F.js +0 -2
- package/dist/chunk-W22VAO5F.js.map +0 -1
- package/dist/chunk-XRB4CGMN.cjs +0 -2
- package/dist/chunk-XRB4CGMN.cjs.map +0 -1
- /package/dist/{chunk-3Z67RHJ3.js.map → chunk-2ONIOLJQ.js.map} +0 -0
- /package/dist/{chunk-U7UJHUBW.js.map → chunk-3NUSPFUR.js.map} +0 -0
- /package/dist/{chunk-KZTYZ4SE.js.map → chunk-3QNA5W7W.js.map} +0 -0
- /package/dist/{chunk-S7RX6JQY.js.map → chunk-43LREVQW.js.map} +0 -0
- /package/dist/{chunk-3E3ZQIUX.js.map → chunk-4ENRIR3P.js.map} +0 -0
- /package/dist/{chunk-Q2PAHIDW.js.map → chunk-5ZGCITOG.js.map} +0 -0
- /package/dist/{chunk-YCCLSFED.js.map → chunk-6S537DLU.js.map} +0 -0
- /package/dist/{chunk-FF7RJQ5V.js.map → chunk-6SXDMOC6.js.map} +0 -0
- /package/dist/{chunk-P7IDB2YN.js.map → chunk-6VLIWII3.js.map} +0 -0
- /package/dist/{chunk-PRQOBYFW.js.map → chunk-7ZBO62H2.js.map} +0 -0
- /package/dist/{chunk-MKTUHVAW.js.map → chunk-BSU5RNRG.js.map} +0 -0
- /package/dist/{chunk-QGFB3EOD.js.map → chunk-BYHI4274.js.map} +0 -0
- /package/dist/{chunk-HODP3L6K.js.map → chunk-CB2YNTH2.js.map} +0 -0
- /package/dist/{chunk-J6744AYH.js.map → chunk-CXVL5MZT.js.map} +0 -0
- /package/dist/{chunk-UOBUAOYY.js.map → chunk-E3GP3ZDU.js.map} +0 -0
- /package/dist/{chunk-RBIJMA3G.js.map → chunk-EBODIPD3.js.map} +0 -0
- /package/dist/{chunk-HI5KN7UL.js.map → chunk-ETZEGAE4.js.map} +0 -0
- /package/dist/{chunk-MCQAUDRK.js.map → chunk-FXESF4F3.js.map} +0 -0
- /package/dist/{chunk-CKTJRT3X.js.map → chunk-GHZJL33D.js.map} +0 -0
- /package/dist/{chunk-3XOJLY6Y.js.map → chunk-H5KHKTXM.js.map} +0 -0
- /package/dist/{chunk-MCGDQEI6.js.map → chunk-HRARWB2V.js.map} +0 -0
- /package/dist/{chunk-5U6B5LAO.js.map → chunk-HZF7PYFL.js.map} +0 -0
- /package/dist/{chunk-FPZHSVY3.js.map → chunk-JO7EANFR.js.map} +0 -0
- /package/dist/{chunk-ZIIE5XVL.js.map → chunk-K63CIBXO.js.map} +0 -0
- /package/dist/{chunk-K73VMNRR.js.map → chunk-KNCCX2RR.js.map} +0 -0
- /package/dist/{chunk-WBNOGWR4.js.map → chunk-KZBQGSMG.js.map} +0 -0
- /package/dist/{chunk-3X3FY776.js.map → chunk-LBTP74TP.js.map} +0 -0
- /package/dist/{chunk-OP6TXGBC.js.map → chunk-LCW5IZ6X.js.map} +0 -0
- /package/dist/{chunk-UQCCSFW6.js.map → chunk-LQXNGCYD.js.map} +0 -0
- /package/dist/{chunk-7KXMJMOL.js.map → chunk-M2CSPS4G.js.map} +0 -0
- /package/dist/{chunk-PZIWZBH2.js.map → chunk-MOTXNJBG.js.map} +0 -0
- /package/dist/{chunk-SSNF4WDW.js.map → chunk-OPZLDNA6.js.map} +0 -0
- /package/dist/{chunk-YLVYJ4QQ.js.map → chunk-RJCUZWSQ.js.map} +0 -0
- /package/dist/{chunk-D6Q6LYOK.js.map → chunk-S4YRB53E.js.map} +0 -0
- /package/dist/{chunk-7TYGHN3F.js.map → chunk-S6SBFTOK.js.map} +0 -0
- /package/dist/{chunk-BWJ6X4FP.js.map → chunk-SNR6C2TD.js.map} +0 -0
- /package/dist/{chunk-GSIKFVMY.js.map → chunk-UTP25IOS.js.map} +0 -0
- /package/dist/{chunk-FR7P352M.js.map → chunk-UU6JKB54.js.map} +0 -0
- /package/dist/{chunk-GIPFEUMD.js.map → chunk-VCQXS2LO.js.map} +0 -0
- /package/dist/{chunk-VR6XYLVU.js.map → chunk-VGNEJZTI.js.map} +0 -0
- /package/dist/{chunk-Y3I5EBH6.js.map → chunk-YYWPQ4QR.js.map} +0 -0
- /package/dist/{chunk-CWDAAKQY.js.map → chunk-Z3CRHOTP.js.map} +0 -0
- /package/dist/{chunk-ZQRHXFQO.js.map → chunk-ZD5ZM7S7.js.map} +0 -0
- /package/dist/{chunk-YNN7KJQN.js.map → chunk-ZZLPOTQ2.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-7H66BMH4.cjs","../src/components/dialog.tsx"],"names":["Dialog","props","jsx","DialogTrigger","DialogContent","children","className","classNames","jsxs","cn","buttonVariants","XIcon","DialogHeader","DialogBody","DialogFooter","DialogTitle","DialogDescription","DialogClose","size","variant"],"mappings":"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","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-7H66BMH4.cjs","sourcesContent":[null,"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',\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 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 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"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a}from"./chunk-M2CSPS4G.js";import{a as o}from"./chunk-KWNBGPPE.js";import*as r from"@radix-ui/react-radio-group";import{jsx as e,jsxs as s}from"react/jsx-runtime";function m(i){return e(r.Root,{"data-slot":"radio-cards",...i})}function p({className:i,children:t,...d}){return s(a,{className:"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","data-slot":"radio-card",children:[e(r.Item,{className:o("border-input text-primary-foreground shadow-xs outline-hidden focus-visible:not-aria-checked: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 items-center justify-center rounded-full border transition",i),"data-slot":"radio-card-item",...d,children:e(r.Indicator,{className:"bg-background size-1 rounded-full","data-slot":"radio-card-indicator"})}),t]})}export{m as a,p as b};
|
|
2
|
+
//# sourceMappingURL=chunk-7ZBO62H2.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk4QBKNZJKcjs = require('./chunk-4QBKNZJK.cjs');var _jsxruntime = require('react/jsx-runtime');function n({className:i,...r}){return _jsxruntime.jsx.call(void 0, "textarea",{className:_chunk4QBKNZJKcjs.a.call(void 0, "border-input hover:not-disabled:not-focus-visible:border-ring/60 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3 placeholder:text-muted-foreground shadow-xs outline-hidden aria-invalid:border-destructive hover:not-disabled:not-focus-within:aria-invalid:border-destructive/60 focus-within:aria-invalid:ring-destructive/20 dark:focus-within:aria-invalid:ring-destructive/40 dark:bg-input/30 flex min-h-16 w-full grow rounded-lg border px-3 py-2 text-base transition disabled:opacity-50 md:text-sm",i),"data-slot":"textarea",...r})}exports.a = n;
|
|
2
|
+
//# sourceMappingURL=chunk-ALK54X5M.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-ALK54X5M.cjs","../src/components/textarea.tsx"],"names":["Textarea","className","props","jsx","cn"],"mappings":"AAAA,iIAAwC,+CCUpC,SAFKA,CAAAA,CAAS,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAA4C,CAClF,OACEC,6BAAAA,UAAC,CAAA,CACC,SAAA,CAAWC,iCAAAA,0gBACT,CACAH,CACF,CAAA,CACA,WAAA,CAAU,UAAA,CACT,GAAGC,CAAAA,CACN,CAEJ,CAAA,cAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-ALK54X5M.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Textarea\n * -------------------------------------------------------------------------- */\n\nfunction Textarea({ className, ...props }: ComponentProps<'textarea'>): JSX.Element {\n return (\n <textarea\n className={cn(\n 'border-input hover:not-disabled:not-focus-visible:border-ring/60 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3 placeholder:text-muted-foreground shadow-xs outline-hidden aria-invalid:border-destructive hover:not-disabled:not-focus-within:aria-invalid:border-destructive/60 focus-within:aria-invalid:ring-destructive/20 dark:focus-within:aria-invalid:ring-destructive/40 dark:bg-input/30 flex min-h-16 w-full grow rounded-lg border px-3 py-2 text-base transition disabled:opacity-50 md:text-sm',\n className,\n )}\n data-slot=\"textarea\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Textarea };\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } 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; }"use client";var _chunkXMUIAC76cjs = require('./chunk-XMUIAC76.cjs');var _chunk4KX73AQJcjs = require('./chunk-4KX73AQJ.cjs');var _chunk77MMVAROcjs = require('./chunk-77MMVARO.cjs');var _chunkPL6HV27Vcjs = require('./chunk-PL6HV27V.cjs');var _chunkRGTR4W4Lcjs = require('./chunk-RGTR4W4L.cjs');var _chunkRIYYTPW4cjs = require('./chunk-RIYYTPW4.cjs');var _chunk4QBKNZJKcjs = require('./chunk-4QBKNZJK.cjs');var _hooks = require('@codefast/hooks');var _reactcontext = require('@radix-ui/react-context');var _reactslot = require('@radix-ui/react-slot');var _lucidereact = require('lucide-react');var _react = require('react');var _tailwindvariants = require('tailwind-variants');var _jsxruntime = require('react/jsx-runtime');var G="sidebar_state",L=60*60*24*7,$="16rem",U="18rem",W="3.0625rem",j="b",q="SidebarProvider",[F,h]=_reactcontext.createContext.call(void 0, q);function ge({defaultOpen:t=!0,open:e,onOpenChange:n,className:r,style:i,children:d,...p}){let l=_hooks.useIsMobile.call(void 0, ),[m,u]=_react.useState.call(void 0, !1),[g,z]=_react.useState.call(void 0, t),v=_nullishCoalesce(e, () => (g)),S=_react.useCallback.call(void 0, s=>{let b=typeof s=="function"?s(v):s;n?n(b):z(b),document.cookie=`${G}=${b}; path=/; max-age=${L}`},[n,v]),x=_react.useCallback.call(void 0, ()=>{l?u(s=>!s):S(s=>!s)},[l,S,u]);return _react.useEffect.call(void 0, ()=>{let s=b=>{b.key===j&&(b.metaKey||b.ctrlKey)&&(b.preventDefault(),x())};return window.addEventListener("keydown",s),()=>{window.removeEventListener("keydown",s)}},[x]),_jsxruntime.jsx.call(void 0, F,{isMobile:l,open:v,openMobile:m,setOpen:S,setOpenMobile:u,state:v?"expanded":"collapsed",toggleSidebar:x,children:_jsxruntime.jsx.call(void 0, _chunkXMUIAC76cjs.a,{delayDuration:0,children:_jsxruntime.jsx.call(void 0, "div",{className:_chunk4QBKNZJKcjs.a.call(void 0, "group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",r),"data-slot":"sidebar-wrapper",style:{"--sidebar-width":$,"--sidebar-width-icon":W,...i},...p,children:d})})})}var Y="Sidebar";function ve({side:t="left",variant:e="sidebar",collapsible:n="offcanvas",className:r,children:i,...d}){let{isMobile:p,state:l,openMobile:m,setOpenMobile:u}=h(Y);return n==="none"?_jsxruntime.jsx.call(void 0, "div",{className:_chunk4QBKNZJKcjs.a.call(void 0, "bg-sidebar text-sidebar-foreground w-(--sidebar-width) flex h-full flex-col",r),"data-slot":"sidebar",...d,children:i}):p?_jsxruntime.jsx.call(void 0, _chunk77MMVAROcjs.a,{open:m,onOpenChange:u,...d,children:_jsxruntime.jsxs.call(void 0, _chunk77MMVAROcjs.c,{className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden","data-mobile":"true","data-sidebar":"sidebar","data-slot":"sidebar",side:t,style:{"--sidebar-width":U},children:[_jsxruntime.jsxs.call(void 0, _chunk77MMVAROcjs.d,{className:"sr-only",children:[_jsxruntime.jsx.call(void 0, _chunk77MMVAROcjs.g,{children:"Sidebar"}),_jsxruntime.jsx.call(void 0, _chunk77MMVAROcjs.h,{children:"Displays the mobile sidebar."})]}),_jsxruntime.jsx.call(void 0, "div",{className:"flex h-full w-full flex-col",children:i})]})}):_jsxruntime.jsxs.call(void 0, "div",{className:_chunk4QBKNZJKcjs.a.call(void 0, "text-sidebar-foreground group peer hidden md:block",r),"data-collapsible":l==="collapsed"?n:"","data-side":t,"data-slot":"sidebar","data-state":l,"data-variant":e,children:[_jsxruntime.jsx.call(void 0, "div",{className:_chunk4QBKNZJKcjs.a.call(void 0, "w-(--sidebar-width) relative bg-transparent transition-[width] duration-200 ease-linear group-data-[collapsible=offcanvas]:w-0 group-data-[side=right]:rotate-180",e==="floating"||e==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)"),"data-slot":"sidebar-gap"}),_jsxruntime.jsx.call(void 0, "div",{className:_chunk4QBKNZJKcjs.a.call(void 0, "w-(--sidebar-width) fixed inset-y-0 z-10 hidden h-svh transition-[left,right,width] duration-200 ease-linear md:flex",t==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",e==="floating"||e==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",r),"data-slot":"sidebar-container",...d,children:_jsxruntime.jsx.call(void 0, "div",{className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm","data-sidebar":"sidebar","data-slot":"sidebar-inner",children:i})})]})}var Q="SidebarTrigger";function he({className:t,onClick:e,...n}){let{toggleSidebar:r}=h(Q);return _jsxruntime.jsxs.call(void 0, _chunkRIYYTPW4cjs.b,{className:_chunk4QBKNZJKcjs.a.call(void 0, "size-7",t),"data-sidebar":"trigger","data-slot":"sidebar-trigger",size:"icon",variant:"ghost",onClick:i=>{_optionalChain([e, 'optionalCall', _2 => _2(i)]),r()},...n,children:[_jsxruntime.jsx.call(void 0, _lucidereact.PanelLeftIcon,{}),_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Toggle Sidebar"})]})}var Z="SidebarRail";function Se({className:t,...e}){let{toggleSidebar:n}=h(Z);return _jsxruntime.jsx.call(void 0, "button",{className:_chunk4QBKNZJKcjs.a.call(void 0, "hover:after:bg-sidebar-border in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize hover:group-data-[collapsible=offcanvas]:bg-sidebar absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] group-data-[side=left]:-right-4 group-data-[side=right]:left-0 group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full sm:flex [[data-side=left][data-collapsible=offcanvas]_&]:-right-2 [[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-collapsible=offcanvas]_&]:-left-2 [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",t),"data-sidebar":"rail","data-slot":"sidebar-rail",title:"Toggle Sidebar",type:"button",onClick:n,...e})}function xe({className:t,...e}){return _jsxruntime.jsx.call(void 0, "main",{className:_chunk4QBKNZJKcjs.a.call(void 0, "bg-background relative flex w-full min-w-0 flex-1 flex-col md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm",t),"data-slot":"sidebar-inset",...e})}function we({className:t,...e}){return _jsxruntime.jsx.call(void 0, _chunkRGTR4W4Lcjs.b,{className:_chunk4QBKNZJKcjs.a.call(void 0, "bg-background h-8 w-full shadow-none",t),"data-sidebar":"input","data-slot":"sidebar-input",...e})}function Ce({className:t,...e}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunk4QBKNZJKcjs.a.call(void 0, "flex flex-col gap-2 p-2",t),"data-sidebar":"header","data-slot":"sidebar-header",...e})}function Ee({className:t,...e}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunk4QBKNZJKcjs.a.call(void 0, "flex flex-col gap-2 p-2",t),"data-sidebar":"footer","data-slot":"sidebar-footer",...e})}function ye({className:t,...e}){return _jsxruntime.jsx.call(void 0, _chunk4KX73AQJcjs.a,{className:_chunk4QBKNZJKcjs.a.call(void 0, "bg-sidebar-border mx-2 w-auto",t),"data-sidebar":"separator","data-slot":"sidebar-separator",...e})}function Ne({className:t,...e}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunk4QBKNZJKcjs.a.call(void 0, "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",t),"data-sidebar":"content","data-slot":"sidebar-content",...e})}function Me({className:t,...e}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunk4QBKNZJKcjs.a.call(void 0, "relative flex w-full min-w-0 flex-col p-2",t),"data-sidebar":"group","data-slot":"sidebar-group",...e})}function Pe({className:t,asChild:e=!1,...n}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"div",{className:_chunk4QBKNZJKcjs.a.call(void 0, "text-sidebar-foreground/70 ring-sidebar-ring outline-hidden focus-visible:ring-3 flex h-8 shrink-0 items-center truncate rounded-md px-2 text-xs font-medium transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 [&>svg]:size-4 [&>svg]:shrink-0",t),"data-sidebar":"group-label","data-slot":"sidebar-group-label",...n})}function _e({className:t,asChild:e=!1,...n}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"button",{className:_chunk4QBKNZJKcjs.a.call(void 0, "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground outline-hidden focus-visible:ring-3 absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0",t),"data-sidebar":"group-action","data-slot":"sidebar-group-action",...n})}function Ie({className:t,...e}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunk4QBKNZJKcjs.a.call(void 0, "w-full text-sm",t),"data-sidebar":"group-content","data-slot":"sidebar-group-content",...e})}function Ae({className:t,...e}){return _jsxruntime.jsx.call(void 0, "ul",{className:_chunk4QBKNZJKcjs.a.call(void 0, "flex w-full min-w-0 flex-col gap-1",t),"data-sidebar":"menu","data-slot":"sidebar-menu",...e})}function ke({className:t,...e}){return _jsxruntime.jsx.call(void 0, "li",{className:_chunk4QBKNZJKcjs.a.call(void 0, "group/menu-item relative",t),"data-sidebar":"menu-item","data-slot":"sidebar-menu-item",...e})}var ee=_tailwindvariants.tv.call(void 0, {base:"peer/menu-button outline-hidden ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground group-has-data-[sidebar=menu-action]/menu-item:pr-8 data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-3 flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm transition-[width,height,padding] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{sm:"h-7 text-xs",md:"h-8 text-sm",lg:"group-data-[collapsible=icon]:p-0! h-12 text-sm"}},defaultVariants:{variant:"default",size:"md"}}),te="SidebarMenuButton";function Xe({asChild:t=!1,isActive:e=!1,variant:n="default",size:r="md",tooltip:i,className:d,...p}){let l=t?_reactslot.Slot:"button",{isMobile:m,state:u}=h(te),g=_jsxruntime.jsx.call(void 0, l,{className:_chunk4QBKNZJKcjs.a.call(void 0, ee({variant:n,size:r}),d),"data-active":e,"data-sidebar":"menu-button","data-size":r,"data-slot":"sidebar-menu-button",...p});return i?(typeof i=="string"&&(i={children:i}),_jsxruntime.jsxs.call(void 0, _chunkXMUIAC76cjs.b,{children:[_jsxruntime.jsx.call(void 0, _chunkXMUIAC76cjs.c,{asChild:!0,children:g}),_jsxruntime.jsx.call(void 0, _chunkXMUIAC76cjs.d,{align:"center",hidden:u!=="collapsed"||m,side:"right",...i})]})):g}function De({className:t,asChild:e=!1,showOnHover:n=!1,...r}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"button",{className:_chunk4QBKNZJKcjs.a.call(void 0, "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground outline-hidden focus-visible:ring-3 absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0",n&&"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",t),"data-sidebar":"menu-action","data-slot":"sidebar-menu-action",...r})}function Je({className:t,...e}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunk4QBKNZJKcjs.a.call(void 0, "text-sidebar-foreground peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1",t),"data-sidebar":"menu-badge","data-slot":"sidebar-menu-badge",...e})}function Te({className:t,showIcon:e=!1,...n}){let r=_react.useMemo.call(void 0, ()=>`${Math.floor(Math.random()*40)+50}%`,[]);return _jsxruntime.jsxs.call(void 0, "div",{className:_chunk4QBKNZJKcjs.a.call(void 0, "flex h-8 items-center gap-2 rounded-md px-2",t),"data-sidebar":"menu-skeleton","data-slot":"sidebar-menu-skeleton",...n,children:[e?_jsxruntime.jsx.call(void 0, _chunkPL6HV27Vcjs.a,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}):null,_jsxruntime.jsx.call(void 0, _chunkPL6HV27Vcjs.a,{className:"max-w-(--skeleton-width) h-4 flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":r}})]})}function ze({className:t,...e}){return _jsxruntime.jsx.call(void 0, "ul",{className:_chunk4QBKNZJKcjs.a.call(void 0, "border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5 group-data-[collapsible=icon]:hidden",t),"data-sidebar":"menu-sub","data-slot":"sidebar-menu-sub",...e})}function Be({className:t,...e}){return _jsxruntime.jsx.call(void 0, "li",{className:_chunk4QBKNZJKcjs.a.call(void 0, "group/menu-sub-item relative",t),"data-sidebar":"menu-sub-item","data-slot":"sidebar-menu-sub-item",...e})}function Oe({asChild:t=!1,size:e="md",isActive:n=!1,className:r,...i}){return _jsxruntime.jsx.call(void 0, t?_reactslot.Slot:"a",{className:_chunk4QBKNZJKcjs.a.call(void 0, "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground outline-hidden focus-visible:ring-3 data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",e==="sm"&&"text-xs",e==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",r),"data-active":n,"data-sidebar":"menu-sub-button","data-size":e,"data-slot":"sidebar-menu-sub-button",...i})}exports.a = h; exports.b = ge; exports.c = ve; exports.d = he; exports.e = Se; exports.f = xe; exports.g = we; exports.h = Ce; exports.i = Ee; exports.j = ye; exports.k = Ne; exports.l = Me; exports.m = Pe; exports.n = _e; exports.o = Ie; exports.p = Ae; exports.q = ke; exports.r = Xe; exports.s = De; exports.t = Je; exports.u = Te; exports.v = ze; exports.w = Be; exports.x = Oe;
|
|
2
|
+
//# sourceMappingURL=chunk-AOEBEZCM.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-AOEBEZCM.cjs","../src/components/sidebar.tsx"],"names":["SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_KEYBOARD_SHORTCUT","SidebarProvider","defaultOpen","setOpenProp","className","children","isMobile","useIsMobile","openMobile","setOpenMobile","useState","isOpen","setIsOpen","open","openProp","setOpen","useCallback","value","openState"],"mappings":"AAAA,6rBAAY,CAAC,wDAA6D,wDAAyC,wDAAqE,wDAAyC,wDAAyC,wDAAyC,wDCK1S,wCACA,uDACA,iDACA,2CACA,8BACA,qDAmHD,+CAzGoB,IAAA,CAAA,CAAA,eACkB,CACxCA,CAAAA,CAAgB,EAAA,CAAA,EAAA,CAAA,EAChBC,CAAAA,CAAuB,CAAA,CAAA,CAAA,OACF,CAAA,CAAA,CAAA,OAAA,CAAA,CACrBC,CAAAA,WAgBwB,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,iBAQ9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,yCAASC,CAAAA,CAAgB,CACvB,SAAA,EAAA,CAAAC,CAAAA,WAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAcC,YACdC,CAAAA,CACA,CAAA,SACA,CAAA,CAAA,CAAA,KAAAC,CACA,CAAA,CAAA,QAMA,CAAMC,CAAAA,CAAWC,GAAY,CACvB,CAACC,CAAAA,CAAYC,IAAiBC,CAAS,CAAA,gCAAK,CAI5C,CAACC,CAAAA,CAAQC,CAAS,CAAA,CAAIF,CAAAA,6BAASR,CAAW,CAC1CW,CAAAA,CAAOC,CAAAA,CAAAA,CAAYH,CAAAA,CACnBI,CAAAA,6BAAUC,CACbC,CAAAA,CAAAA,CAAmD,kBAClD,CAAA,SAAA,GAAMC,CAAAA,CAAY,CAAA,gCAAA,CAAA,EAAA,CAAOD,IAAU,CAAA,CAAA,OAAA,CAAaA,EAAMJ,UAG/B,CAAA,CAErBD,CAAAA,CAAUM,CAAS,CAAA,CAIrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,QAA+B,CAAA,MAAa,CAAA,CAAA,EAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-AOEBEZCM.cjs","sourcesContent":[null,"'use client';\n\nimport type { ComponentProps, CSSProperties, Dispatch, JSX, SetStateAction } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { useIsMobile } from '@codefast/hooks';\nimport { createContext } from '@radix-ui/react-context';\nimport { Slot } from '@radix-ui/react-slot';\nimport { PanelLeftIcon } from 'lucide-react';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { tv } from 'tailwind-variants';\n\nimport { Button } from '@/components/button';\nimport { Input } from '@/components/input';\nimport { Separator } from '@/components/separator';\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from '@/components/sheet';\nimport { Skeleton } from '@/components/skeleton';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/tooltip';\nimport { cn } from '@/lib/utils';\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar_state';\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3.0625rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\n\ninterface SidebarContextValue {\n isMobile: boolean;\n open: boolean;\n openMobile: boolean;\n setOpen: (open: boolean) => void;\n setOpenMobile: Dispatch<SetStateAction<boolean>>;\n state: 'collapsed' | 'expanded';\n toggleSidebar: () => void;\n}\n\n/* -----------------------------------------------------------------------------\n * Context: SidebarProvider\n * -------------------------------------------------------------------------- */\n\nconst SIDEBAR_PROVIDER_NAME = 'SidebarProvider';\n\nconst [SidebarContextProvider, useSidebar] = createContext<SidebarContextValue>(SIDEBAR_PROVIDER_NAME);\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarProvider\n * -------------------------------------------------------------------------- */\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: ComponentProps<'div'> & {\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n open?: boolean;\n}): JSX.Element {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [isOpen, setIsOpen] = useState(defaultOpen);\n const open = openProp ?? isOpen;\n const setOpen = useCallback(\n (value: ((value: boolean) => boolean) | boolean) => {\n const openState = typeof value === 'function' ? value(open) : value;\n\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n setIsOpen(openState);\n }\n\n // eslint-disable-next-line unicorn/no-document-cookie -- This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open],\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = useCallback(() => {\n if (isMobile) {\n setOpenMobile((currentValue) => !currentValue);\n } else {\n setOpen((currentValue) => !currentValue);\n }\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n useEffect(() => {\n const handleKeyDown: (event: KeyboardEvent) => void = (event: KeyboardEvent) => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n\n return () => {\n window.removeEventListener('keydown', handleKeyDown);\n };\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? 'expanded' : 'collapsed';\n\n return (\n <SidebarContextProvider\n isMobile={isMobile}\n open={open}\n openMobile={openMobile}\n setOpen={setOpen}\n setOpenMobile={setOpenMobile}\n state={state}\n toggleSidebar={toggleSidebar}\n >\n <TooltipProvider delayDuration={0}>\n <div\n className={cn('group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full', className)}\n data-slot=\"sidebar-wrapper\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as CSSProperties\n }\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContextProvider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: Sidebar\n * -------------------------------------------------------------------------- */\n\nconst SIDEBAR_NAME = 'Sidebar';\n\nfunction Sidebar({\n side = 'left',\n variant = 'sidebar',\n collapsible = 'offcanvas',\n className,\n children,\n ...props\n}: ComponentProps<'div'> & {\n collapsible?: 'icon' | 'none' | 'offcanvas';\n side?: 'left' | 'right';\n variant?: 'floating' | 'inset' | 'sidebar';\n}): JSX.Element {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar(SIDEBAR_NAME);\n\n if (collapsible === 'none') {\n return (\n <div\n className={cn('bg-sidebar text-sidebar-foreground w-(--sidebar-width) flex h-full flex-col', className)}\n data-slot=\"sidebar\"\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n data-mobile=\"true\"\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n side={side}\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as CSSProperties\n }\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className={cn('text-sidebar-foreground group peer hidden md:block', className)}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-side={side}\n data-slot=\"sidebar\"\n data-state={state}\n data-variant={variant}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n className={cn(\n 'w-(--sidebar-width) relative bg-transparent transition-[width] duration-200 ease-linear group-data-[collapsible=offcanvas]:w-0 group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',\n )}\n data-slot=\"sidebar-gap\"\n />\n <div\n className={cn(\n 'w-(--sidebar-width) fixed inset-y-0 z-10 hidden h-svh transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n // Adjust the padding for floating and inset variants.\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n className,\n )}\n data-slot=\"sidebar-container\"\n {...props}\n >\n <div\n className=\"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm\"\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarTrigger\n * -------------------------------------------------------------------------- */\n\nconst SIDEBAR_TRIGGER_NAME = 'SidebarTrigger';\n\nfunction SidebarTrigger({ className, onClick, ...props }: ComponentProps<typeof Button>): JSX.Element {\n const { toggleSidebar } = useSidebar(SIDEBAR_TRIGGER_NAME);\n\n return (\n <Button\n className={cn('size-7', className)}\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n size=\"icon\"\n variant=\"ghost\"\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarRail\n * -------------------------------------------------------------------------- */\n\nconst SIDEBAR_RAIL_NAME = 'SidebarRail';\n\nfunction SidebarRail({ className, ...props }: ComponentProps<'button'>): JSX.Element {\n const { toggleSidebar } = useSidebar(SIDEBAR_RAIL_NAME);\n\n return (\n <button\n className={cn(\n 'hover:after:bg-sidebar-border in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize hover:group-data-[collapsible=offcanvas]:bg-sidebar absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] group-data-[side=left]:-right-4 group-data-[side=right]:left-0 group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full sm:flex [[data-side=left][data-collapsible=offcanvas]_&]:-right-2 [[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-collapsible=offcanvas]_&]:-left-2 [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n className,\n )}\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n title=\"Toggle Sidebar\"\n type=\"button\"\n onClick={toggleSidebar}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarInset\n * -------------------------------------------------------------------------- */\n\nfunction SidebarInset({ className, ...props }: ComponentProps<'main'>): JSX.Element {\n return (\n <main\n className={cn(\n 'bg-background relative flex w-full min-w-0 flex-1 flex-col md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm',\n className,\n )}\n data-slot=\"sidebar-inset\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarInput\n * -------------------------------------------------------------------------- */\n\nfunction SidebarInput({ className, ...props }: ComponentProps<typeof Input>): JSX.Element {\n return (\n <Input\n className={cn('bg-background h-8 w-full shadow-none', className)}\n data-sidebar=\"input\"\n data-slot=\"sidebar-input\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarHeader\n * -------------------------------------------------------------------------- */\n\nfunction SidebarHeader({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <div\n className={cn('flex flex-col gap-2 p-2', className)}\n data-sidebar=\"header\"\n data-slot=\"sidebar-header\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarFooter\n * -------------------------------------------------------------------------- */\n\nfunction SidebarFooter({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <div\n className={cn('flex flex-col gap-2 p-2', className)}\n data-sidebar=\"footer\"\n data-slot=\"sidebar-footer\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarSeparator\n * -------------------------------------------------------------------------- */\n\nfunction SidebarSeparator({ className, ...props }: ComponentProps<typeof Separator>): JSX.Element {\n return (\n <Separator\n className={cn('bg-sidebar-border mx-2 w-auto', className)}\n data-sidebar=\"separator\"\n data-slot=\"sidebar-separator\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarContent\n * -------------------------------------------------------------------------- */\n\nfunction SidebarContent({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <div\n className={cn(\n 'flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n className,\n )}\n data-sidebar=\"content\"\n data-slot=\"sidebar-content\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroup\n * -------------------------------------------------------------------------- */\n\nfunction SidebarGroup({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <div\n className={cn('relative flex w-full min-w-0 flex-col p-2', className)}\n data-sidebar=\"group\"\n data-slot=\"sidebar-group\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupLabel\n * -------------------------------------------------------------------------- */\n\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: ComponentProps<'div'> & {\n asChild?: boolean;\n}): JSX.Element {\n const Component = asChild ? Slot : 'div';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground/70 ring-sidebar-ring outline-hidden focus-visible:ring-3 flex h-8 shrink-0 items-center truncate rounded-md px-2 text-xs font-medium transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 [&>svg]:size-4 [&>svg]:shrink-0',\n className,\n )}\n data-sidebar=\"group-label\"\n data-slot=\"sidebar-group-label\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupAction\n * -------------------------------------------------------------------------- */\n\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: ComponentProps<'button'> & {\n asChild?: boolean;\n}): JSX.Element {\n const Component = asChild ? Slot : 'button';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground outline-hidden focus-visible:ring-3 absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0',\n className,\n )}\n data-sidebar=\"group-action\"\n data-slot=\"sidebar-group-action\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupContent\n * -------------------------------------------------------------------------- */\n\nfunction SidebarGroupContent({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <div\n className={cn('w-full text-sm', className)}\n data-sidebar=\"group-content\"\n data-slot=\"sidebar-group-content\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenu\n * -------------------------------------------------------------------------- */\n\nfunction SidebarMenu({ className, ...props }: ComponentProps<'ul'>): JSX.Element {\n return (\n <ul\n className={cn('flex w-full min-w-0 flex-col gap-1', className)}\n data-sidebar=\"menu\"\n data-slot=\"sidebar-menu\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuItem\n * -------------------------------------------------------------------------- */\n\nfunction SidebarMenuItem({ className, ...props }: ComponentProps<'li'>): JSX.Element {\n return (\n <li\n className={cn('group/menu-item relative', className)}\n data-sidebar=\"menu-item\"\n data-slot=\"sidebar-menu-item\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Variant: SidebarMenuButton\n * -------------------------------------------------------------------------- */\n\nconst sidebarMenuButtonVariants = tv({\n base: 'peer/menu-button outline-hidden ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground group-has-data-[sidebar=menu-action]/menu-item:pr-8 data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-3 flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm transition-[width,height,padding] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n sm: 'h-7 text-xs',\n md: 'h-8 text-sm',\n lg: 'group-data-[collapsible=icon]:p-0! h-12 text-sm',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n});\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuButton\n * -------------------------------------------------------------------------- */\n\nconst SIDEBAR_MENU_BUTTON_NAME = 'SidebarMenuButton';\n\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'md',\n tooltip,\n className,\n ...props\n}: ComponentProps<'button'> &\n VariantProps<typeof sidebarMenuButtonVariants> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: ComponentProps<typeof TooltipContent> | string;\n }): JSX.Element {\n const Component = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar(SIDEBAR_MENU_BUTTON_NAME);\n\n const button = (\n <Component\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n data-active={isActive}\n data-sidebar=\"menu-button\"\n data-size={size}\n data-slot=\"sidebar-menu-button\"\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === 'string') {\n // eslint-disable-next-line no-param-reassign -- convert it to an object with default properties\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent align=\"center\" hidden={state !== 'collapsed' || isMobile} side=\"right\" {...tooltip} />\n </Tooltip>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuAction\n * -------------------------------------------------------------------------- */\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: ComponentProps<'button'> & {\n asChild?: boolean;\n showOnHover?: boolean;\n}): JSX.Element {\n const Component = asChild ? Slot : 'button';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground outline-hidden focus-visible:ring-3 absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0',\n showOnHover &&\n 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0',\n className,\n )}\n data-sidebar=\"menu-action\"\n data-slot=\"sidebar-menu-action\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuBadge\n * -------------------------------------------------------------------------- */\n\nfunction SidebarMenuBadge({ className, ...props }: ComponentProps<'div'>): JSX.Element {\n return (\n <div\n className={cn(\n 'text-sidebar-foreground peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1',\n className,\n )}\n data-sidebar=\"menu-badge\"\n data-slot=\"sidebar-menu-badge\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSkeleton\n * -------------------------------------------------------------------------- */\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: ComponentProps<'div'> & {\n showIcon?: boolean;\n}): JSX.Element {\n // Random width between 50 to 90%.\n const width = useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)}\n data-sidebar=\"menu-skeleton\"\n data-slot=\"sidebar-menu-skeleton\"\n {...props}\n >\n {showIcon ? <Skeleton className=\"size-4 rounded-md\" data-sidebar=\"menu-skeleton-icon\" /> : null}\n <Skeleton\n className=\"max-w-(--skeleton-width) h-4 flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n '--skeleton-width': width,\n } as CSSProperties\n }\n />\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSub\n * -------------------------------------------------------------------------- */\n\nfunction SidebarMenuSub({ className, ...props }: ComponentProps<'ul'>): JSX.Element {\n return (\n <ul\n className={cn(\n 'border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5 group-data-[collapsible=icon]:hidden',\n className,\n )}\n data-sidebar=\"menu-sub\"\n data-slot=\"sidebar-menu-sub\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSubItem\n * -------------------------------------------------------------------------- */\n\nfunction SidebarMenuSubItem({ className, ...props }: ComponentProps<'li'>): JSX.Element {\n return (\n <li\n className={cn('group/menu-sub-item relative', className)}\n data-sidebar=\"menu-sub-item\"\n data-slot=\"sidebar-menu-sub-item\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSubButton\n * -------------------------------------------------------------------------- */\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = 'md',\n isActive = false,\n className,\n ...props\n}: ComponentProps<'a'> & {\n asChild?: boolean;\n isActive?: boolean;\n size?: 'md' | 'sm';\n}): JSX.Element {\n const Component = asChild ? Slot : 'a';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground outline-hidden focus-visible:ring-3 data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n data-active={isActive}\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-slot=\"sidebar-menu-sub-button\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk4QBKNZJKcjs = require('./chunk-4QBKNZJK.cjs');var _tailwindvariants = require('tailwind-variants');var _jsxruntime = require('react/jsx-runtime');var o=_tailwindvariants.tv.call(void 0, {base:"bg-card relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-xl 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",variants:{variant:{default:"text-card-foreground",destructive:"text-destructive *:data-[slot=alert-description]:text-destructive/90 [&>svg]:text-current"}},defaultVariants:{variant:"default"}});function d({className:t,variant:r,...e}){return _jsxruntime.jsx.call(void 0, "div",{className:o({className:t,variant:r}),"data-slot":"alert",role:"alert",...e})}function p({children:t,className:r,...e}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunk4QBKNZJKcjs.a.call(void 0, "col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",r),"data-slot":"alert-title",...e,children:t})}function m({className:t,...r}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunk4QBKNZJKcjs.a.call(void 0, "text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",t),"data-slot":"alert-description",...r})}exports.a = d; exports.b = p; exports.c = m;
|
|
2
|
+
//# sourceMappingURL=chunk-BM46YHNI.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-BM46YHNI.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-BM46YHNI.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-xl 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,2 +1,2 @@
|
|
|
1
|
-
import{a as o}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as o}from"./chunk-KWNBGPPE.js";import*as a from"@radix-ui/react-separator";import{tv as p}from"tailwind-variants";import{jsx as i}from"react/jsx-runtime";var m=p({base:"bg-border relative flex shrink-0 items-center",variants:{align:{center:"justify-center",end:"justify-end",start:"justify-start"},orientation:{horizontal:"h-px w-full",vertical:"h-full w-px flex-col"}},defaultVariants:{align:"center",orientation:"horizontal"}});function c({align:t,className:r,decorative:n=!0,orientation:e,...s}){return i(a.Root,{className:m({align:t,className:r,orientation:e}),"data-slot":"separator",decorative:n,orientation:e,...s})}function u({className:t,...r}){return i("div",{className:o("bg-background text-muted-foreground absolute mx-2 px-2 text-sm",t),"data-slot":"separator-item",...r})}export{c as a,u as b};
|
|
2
|
+
//# sourceMappingURL=chunk-BSU5RNRG.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{a as r}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use client";import{a as r}from"./chunk-KWNBGPPE.js";import{GripVerticalIcon as n}from"lucide-react";import*as e from"react-resizable-panels";import{jsx as i}from"react/jsx-runtime";function p({className:a,...t}){return i(e.PanelGroup,{className:r("flex size-full data-[panel-group-direction=vertical]:flex-col",a),"data-slot":"resizable-panel-group",...t})}function c({...a}){return i(e.Panel,{"data-slot":"resizable-panel",...a})}function d({className:a,withHandle:t,...l}){return i(e.PanelResizeHandle,{className:r("bg-border focus-visible:bg-ring focus-visible:ring-ring/50 focus-visible:ring-3 outline-hidden relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",a),"data-slot":"resizable-handle",...l,children:t?i("div",{className:"bg-border z-10 flex h-4 w-3 items-center justify-center rounded-sm border",children:i(n,{className:"size-2.5"})}):null})}export{p as a,c as b,d as c};
|
|
2
|
+
//# sourceMappingURL=chunk-BYHI4274.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as o}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as o}from"./chunk-KWNBGPPE.js";import{jsx as n}from"react/jsx-runtime";function p({className:e,...t}){return n("div",{className:o("bg-muted animate-pulse rounded-lg",e),"data-slot":"skeleton",...t})}export{p as a};
|
|
2
|
+
//# sourceMappingURL=chunk-CB2YNTH2.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as r}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as r}from"./chunk-KWNBGPPE.js";import*as i from"@radix-ui/react-checkbox";import{CheckIcon as a}from"lucide-react";import{jsx as e}from"react/jsx-runtime";function d({className:o,...t}){return e(i.Root,{className:r("border-input text-primary-foreground shadow-xs outline-hidden hover:not-disabled:not-aria-checked:border-ring/60 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-3 aria-checked:focus-visible:ring-primary/20 dark:aria-checked:focus-visible:ring-primary/40 aria-checked:border-primary aria-checked:aria-invalid:bg-destructive aria-checked:bg-primary aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 hover:not-disabled:not-aria-checked:aria-invalid:border-destructive/60 dark:bg-input/30 peer flex size-4 shrink-0 items-center justify-center rounded-sm border transition disabled:opacity-50",o),"data-slot":"checkbox",...t,children:e(i.Indicator,{className:"flex items-center justify-center text-current transition-none","data-slot":"checkbox-indicator",children:e(a,{className:"size-3.5"})})})}export{d as a};
|
|
2
|
+
//# sourceMappingURL=chunk-CXVL5MZT.js.map
|
|
@@ -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; } }var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
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 _chunk4QBKNZJKcjs = require('./chunk-4QBKNZJK.cjs');var _reactslider = require('@radix-ui/react-slider'); var i = _interopRequireWildcard(_reactslider);var _react = require('react');var _jsxruntime = require('react/jsx-runtime');function p({className:n,defaultValue:r,value:t,min:e=0,max:a=100,...d}){let s=_react.useMemo.call(void 0, ()=>Array.isArray(t)?t:Array.isArray(r)?r:[e,a],[t,r,e,a]);return _jsxruntime.jsxs.call(void 0, i.Root,{className:_chunk4QBKNZJKcjs.a.call(void 0, "data-disabled:opacity-50 relative flex w-full touch-none select-none items-center data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",n),"data-slot":"slider",defaultValue:r,max:a,min:e,value:t,...d,children:[_jsxruntime.jsx.call(void 0, i.Track,{className:"bg-input relative w-full grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1 data-[orientation=vertical]:h-full data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-1","data-slot":"slider-track",children:_jsxruntime.jsx.call(void 0, i.Range,{className:"bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full","data-slot":"slider-range"})}),Array.from({length:s.length},(u,m)=>_jsxruntime.jsx.call(void 0, i.Thumb,{"aria-label":"Volume",className:_chunk4QBKNZJKcjs.a.call(void 0, "border-primary bg-primary after:bg-background active:not-data-disabled:after:size-1 focus-visible:ring-primary/20 dark:focus-visible:ring-primary/40 outline-hidden flex size-4 items-center justify-center rounded-full border-2 shadow-sm after:size-full after:rounded-full after:transition-[width,height] focus-visible:ring-4"),"data-slot":"slider-thumb"},m))]})}exports.a = p;
|
|
2
|
+
//# sourceMappingURL=chunk-D5C2LKXA.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-D5C2LKXA.cjs","../src/components/slider.tsx"],"names":["Slider","className","defaultValue","value","min","max","props","_values","useMemo","jsxs","cn","jsx","_","index"],"mappings":"AAAA,mZAAwC,oGCAP,8BACsB,+CAyBnD,SAjBKA,CAAAA,CAAO,CACd,SAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,GAAA,CAAAC,CAAAA,CAAM,CAAA,CACN,GAAA,CAAAC,CAAAA,CAAM,GAAA,CACN,GAAGC,CACL,CAAA,CAA6D,CAC3D,IAAMC,CAAAA,CAAUC,4BAAAA,CAAQ,CAAA,EAClB,KAAA,CAAM,OAAA,CAAQL,CAAK,CAAA,CACdA,CAAAA,CAGF,KAAA,CAAM,OAAA,CAAQD,CAAY,CAAA,CAAIA,CAAAA,CAAe,CAACE,CAAAA,CAAKC,CAAG,CAAA,CAC5D,CAACF,CAAAA,CAAOD,CAAAA,CAAcE,CAAAA,CAAKC,CAAG,CAAC,CAAA,CAElC,OACEI,8BAAAA,CAAiB,CAAA,IAAA,CAAhB,CACC,SAAA,CAAWC,iCAAAA,mOACT,CACAT,CACF,CAAA,CACA,WAAA,CAAU,QAAA,CACV,YAAA,CAAcC,CAAAA,CACd,GAAA,CAAKG,CAAAA,CACL,GAAA,CAAKD,CAAAA,CACL,KAAA,CAAOD,CAAAA,CACN,GAAGG,CAAAA,CAEJ,QAAA,CAAA,CAAAK,6BAAAA,CAAiB,CAAA,KAAA,CAAhB,CACC,SAAA,CAAU,sMAAA,CACV,WAAA,CAAU,cAAA,CAEV,QAAA,CAAAA,6BAAAA,CAAiB,CAAA,KAAA,CAAhB,CACC,SAAA,CAAU,6FAAA,CACV,WAAA,CAAU,cAAA,CACZ,CAAA,CACF,CAAA,CACC,KAAA,CAAM,IAAA,CAAK,CAAE,MAAA,CAAQJ,CAAAA,CAAQ,MAAO,CAAA,CAAG,CAACK,CAAAA,CAAGC,CAAAA,CAAAA,EAC1CF,6BAAAA,CAAiB,CAAA,KAAA,CAAhB,CAEC,YAAA,CAAW,QAAA,CACX,SAAA,CAAWD,iCAAAA,qUAEX,CAAA,CACA,WAAA,CAAU,cAAA,CAAA,CALLG,CAMP,CACD,CAAA,CAAA,CACH,CAEJ,CAAA,cAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-D5C2LKXA.cjs","sourcesContent":[null,"import * as SliderPrimitive from '@radix-ui/react-slider';\nimport { type ComponentProps, type JSX, useMemo } from 'react';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Slider\n * -------------------------------------------------------------------------- */\n\nfunction Slider({\n className,\n defaultValue,\n value,\n min = 0,\n max = 100,\n ...props\n}: ComponentProps<typeof SliderPrimitive.Root>): JSX.Element {\n const _values = useMemo(() => {\n if (Array.isArray(value)) {\n return value;\n }\n\n return Array.isArray(defaultValue) ? defaultValue : [min, max];\n }, [value, defaultValue, min, max]);\n\n return (\n <SliderPrimitive.Root\n className={cn(\n 'data-disabled:opacity-50 relative flex w-full touch-none select-none items-center data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col',\n className,\n )}\n data-slot=\"slider\"\n defaultValue={defaultValue}\n max={max}\n min={min}\n value={value}\n {...props}\n >\n <SliderPrimitive.Track\n className=\"bg-input relative w-full grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1 data-[orientation=vertical]:h-full data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-1\"\n data-slot=\"slider-track\"\n >\n <SliderPrimitive.Range\n className=\"bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full\"\n data-slot=\"slider-range\"\n />\n </SliderPrimitive.Track>\n {Array.from({ length: _values.length }, (_, index) => (\n <SliderPrimitive.Thumb\n key={index}\n aria-label=\"Volume\"\n className={cn(\n 'border-primary bg-primary after:bg-background active:not-data-disabled:after:size-1 focus-visible:ring-primary/20 dark:focus-visible:ring-primary/40 outline-hidden flex size-4 items-center justify-center rounded-full border-2 shadow-sm after:size-full after:rounded-full after:transition-[width,height] focus-visible:ring-4',\n )}\n data-slot=\"slider-thumb\"\n />\n ))}\n </SliderPrimitive.Root>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Slider };\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{a as l}from"./chunk-M2CSPS4G.js";import{a as d}from"./chunk-KWNBGPPE.js";import{createContextScope as f}from"@radix-ui/react-context";import{Slot as u}from"@radix-ui/react-slot";import{useId as P}from"react";import{Controller as x,FormProvider as I,useFormContext as S,useFormState as g}from"react-hook-form";import{jsx as n}from"react/jsx-runtime";var A=I,c="FormField",[p,D]=f(c),[C,M]=p(c);function a(o,t){let{id:e}=b(o,t),{name:r}=M(o,t),{getFieldState:m}=S(),i=g({name:r}),s=m(r,i);return{id:e,name:r,formDescriptionId:`form-item-description-${e}`,formItemId:`form-item-${e}`,formMessageId:`form-item-message-${e}`,...s}}function O(o){let{__scopeFormField:t,...e}=o;return n(C,{name:e.name,scope:t,children:n(x,{...e})})}var E="FormItem",[V,b]=p(E);function J({__scopeFormField:o,className:t,...e}){let r=P();return n(V,{id:r,scope:o,children:n("div",{className:d("grid gap-2",t),"data-slot":"form-item",...e})})}var N="FormLabel";function X({__scopeFormField:o,...t}){let{formItemId:e,error:r}=a(N,o);return n(l,{"data-invalid":r?!0:void 0,"data-slot":"form-label",htmlFor:e,...t})}var T="FormControl";function $({__scopeFormField:o,...t}){let{formDescriptionId:e,formItemId:r,formMessageId:m,error:i}=a(T,o);return n(u,{"aria-describedby":i?`${e} ${m}`:e,"aria-invalid":!!i,"data-slot":"form-control",id:r,...t})}function B({__scopeFormField:o,className:t,...e}){let{formDescriptionId:r}=a(F,o);return n("p",{className:d("text-muted-foreground text-xs",t),"data-slot":"form-description",id:r,...e})}var F="FormMessage";function k({__scopeFormField:o,children:t,className:e,...r}){let{formMessageId:m,error:i}=a(F,o),s=i?.message?String(i.message):t;return s?n("p",{className:d("text-xs",i?.message?"text-destructive font-medium":"text-muted-foreground",e),"data-slot":"form-message",id:m,...r,children:s}):null}export{A as a,D as b,O as c,J as d,X as e,$ as f,B as g,k as h};
|
|
2
|
+
//# sourceMappingURL=chunk-DX7ZENLD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/form.tsx"],"names":["createContextScope","Slot","useId","Controller","FormProvider","useFormContext","useFormState","jsx","Form","FORM_FIELD_NAME","createFormFieldContext","createFormFieldScope","FormFieldContextProvider","useFormFieldContext","useFormItem","consumerName","scope","id","useFormItemContext","name","getFieldState","formState","fieldState","FormField","formFieldProps","__scopeFormField","props","FORM_ITEM_NAME","FormItemContextProvider","FormItem","className","cn","FORM_LABEL_NAME","FormLabel","formItemId","error","Label","FORM_CONTROL_NAME","FormControl","formDescriptionId","formMessageId","FormDescription","FORM_MESSAGE_NAME","FormMessage","children","body"],"mappings":"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","sourcesContent":["'use client';\n\nimport type { Scope } from '@radix-ui/react-context';\nimport type * as LabelPrimitive from '@radix-ui/react-label';\nimport type { ComponentProps, JSX, ReactNode } from 'react';\nimport type { ControllerProps, FieldError, FieldPath, FieldValues } from 'react-hook-form';\n\nimport { createContextScope } from '@radix-ui/react-context';\nimport { Slot } from '@radix-ui/react-slot';\nimport { useId } from 'react';\nimport { Controller, FormProvider, useFormContext, useFormState } from 'react-hook-form';\n\nimport { Label } from '@/components/label';\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Form\n * -------------------------------------------------------------------------- */\n\nconst Form = FormProvider;\n\n/* -----------------------------------------------------------------------------\n * Context: FormField\n * -------------------------------------------------------------------------- */\n\nconst FORM_FIELD_NAME = 'FormField';\n\ntype ScopedProps<P> = P & { __scopeFormField?: Scope };\n\nconst [createFormFieldContext, createFormFieldScope] = createContextScope(FORM_FIELD_NAME);\n\ninterface FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> {\n name: TName;\n}\n\nconst [FormFieldContextProvider, useFormFieldContext] = createFormFieldContext<FormFieldContextValue>(FORM_FIELD_NAME);\n\nfunction useFormItem(\n consumerName: string,\n scope: Scope,\n): {\n formDescriptionId: string;\n formItemId: string;\n formMessageId: string;\n id: string;\n invalid: boolean;\n isDirty: boolean;\n isTouched: boolean;\n isValidating: boolean;\n name: string;\n error?: FieldError;\n} {\n const { id } = useFormItemContext(consumerName, scope);\n const { name } = useFormFieldContext(consumerName, scope);\n const { getFieldState } = useFormContext();\n const formState = useFormState({ name });\n const fieldState = getFieldState(name, formState);\n\n return {\n id,\n name,\n formDescriptionId: `form-item-description-${id}`,\n formItemId: `form-item-${id}`,\n formMessageId: `form-item-message-${id}`,\n ...fieldState,\n };\n}\n\n/* -----------------------------------------------------------------------------\n * Component: FormField\n * -------------------------------------------------------------------------- */\n\nfunction FormField<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>(formFieldProps: ScopedProps<ControllerProps<TFieldValues, TName>>): JSX.Element {\n const { __scopeFormField, ...props } = formFieldProps;\n\n return (\n <FormFieldContextProvider name={props.name} scope={__scopeFormField}>\n <Controller {...props} />\n </FormFieldContextProvider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Context: FormItem\n * -------------------------------------------------------------------------- */\n\nconst FORM_ITEM_NAME = 'FormItem';\n\ninterface FormItemContextValue {\n id: string;\n}\n\nconst [FormItemContextProvider, useFormItemContext] = createFormFieldContext<FormItemContextValue>(FORM_ITEM_NAME);\n\n/* -----------------------------------------------------------------------------\n * Component: FormItem\n * -------------------------------------------------------------------------- */\n\nfunction FormItem({ __scopeFormField, className, ...props }: ScopedProps<ComponentProps<'div'>>): JSX.Element {\n const id = useId();\n\n return (\n <FormItemContextProvider id={id} scope={__scopeFormField}>\n <div className={cn('grid gap-2', className)} data-slot=\"form-item\" {...props} />\n </FormItemContextProvider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: FormLabel\n * -------------------------------------------------------------------------- */\n\nconst FORM_LABEL_NAME = 'FormLabel';\n\nfunction FormLabel({\n __scopeFormField,\n ...props\n}: ScopedProps<ComponentProps<typeof LabelPrimitive.Root>>): JSX.Element {\n const { formItemId, error } = useFormItem(FORM_LABEL_NAME, __scopeFormField);\n\n return <Label data-invalid={error ? true : undefined} data-slot=\"form-label\" htmlFor={formItemId} {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: FormControl\n * -------------------------------------------------------------------------- */\n\nconst FORM_CONTROL_NAME = 'FormControl';\n\nfunction FormControl({ __scopeFormField, ...props }: ScopedProps<ComponentProps<typeof Slot>>): JSX.Element {\n const { formDescriptionId, formItemId, formMessageId, error } = useFormItem(FORM_CONTROL_NAME, __scopeFormField);\n\n return (\n <Slot\n aria-describedby={error ? `${formDescriptionId} ${formMessageId}` : formDescriptionId}\n aria-invalid={Boolean(error)}\n data-slot=\"form-control\"\n id={formItemId}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: FormDescription\n * -------------------------------------------------------------------------- */\n\nfunction FormDescription({ __scopeFormField, className, ...props }: ScopedProps<ComponentProps<'p'>>): JSX.Element {\n const { formDescriptionId } = useFormItem(FORM_MESSAGE_NAME, __scopeFormField);\n\n return (\n <p\n className={cn('text-muted-foreground text-xs', className)}\n data-slot=\"form-description\"\n id={formDescriptionId}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: FormMessage\n * -------------------------------------------------------------------------- */\n\nconst FORM_MESSAGE_NAME = 'FormMessage';\n\nfunction FormMessage({ __scopeFormField, children, className, ...props }: ScopedProps<ComponentProps<'p'>>): ReactNode {\n const { formMessageId, error } = useFormItem(FORM_MESSAGE_NAME, __scopeFormField);\n const body = error?.message ? String(error.message) : children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n className={cn('text-xs', error?.message ? 'text-destructive font-medium' : 'text-muted-foreground', className)}\n data-slot=\"form-message\"\n id={formMessageId}\n {...props}\n >\n {body}\n </p>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { createFormFieldScope, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage };\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{a as s}from"./chunk-VR5WW6X6.js";import{a as n}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use client";import{a as s}from"./chunk-VR5WW6X6.js";import{a as n}from"./chunk-KWNBGPPE.js";import{createContextScope as G}from"@radix-ui/react-context";import*as p from"@radix-ui/react-toggle-group";import{createToggleGroupScope as l}from"@radix-ui/react-toggle-group";import{jsx as m,jsxs as x}from"react/jsx-runtime";var c="ToggleGroup",[P]=G(c,[l]),u=l(),[T,v]=P(c);function C({__scopeToggleGroup:o,children:i,className:g,size:e,variant:t,...a}){let r=u(o);return m(T,{scope:o,size:e,variant:t,children:m(p.Root,{className:n("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 x(p.Item,{className:s({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]})}export{C as a,I as b};
|
|
2
|
+
//# sourceMappingURL=chunk-E3GP3ZDU.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as r}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as r}from"./chunk-4ENRIR3P.js";import{a as i}from"./chunk-KWNBGPPE.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 h=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 data-[state=closed]:slide-out-to-bottom inset-x-0 bottom-0 max-h-[80vh] border-t",left:"data-[state=open]:slide-in-from-left data-[state=closed]:slide-out-to-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",right:"data-[state=open]:slide-in-from-right data-[state=closed]:slide-out-to-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",top:"data-[state=open]:slide-in-from-top data-[state=closed]:slide-out-to-top 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",n?.overlay),"data-slot":"sheet-overlay"}),l(e.Content,{className:h({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 y({className:t,...o}){return a("main",{className:i("px-6 py-2",t),"data-slot":"sheet-body",...o})}function C({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 b({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,y as e,C as f,b as g,N as h,X as i};
|
|
2
|
+
//# sourceMappingURL=chunk-EBODIPD3.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as o}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as o}from"./chunk-KWNBGPPE.js";import*as i from"@radix-ui/react-radio-group";import{jsx as a}from"react/jsx-runtime";function d({className:r,...e}){return a(i.Root,{className:o("grid gap-2",r),"data-slot":"radio-group",...e})}function n({className:r,...e}){return a(i.Item,{className:o("border-input shadow-xs outline-hidden hover:not-disabled:not-aria-checked:border-ring/60 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 aria-checked:aria-invalid:bg-destructive aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 hover:not-disabled:not-aria-checked:aria-invalid:border-destructive/60 dark:bg-input/30 peer inline-flex size-4 shrink-0 items-center justify-center rounded-full border transition disabled:opacity-50",r),"data-slot":"radio-group-item",...e,children:a(i.Indicator,{className:"bg-background size-1 rounded-full","data-slot":"radio-group-indicator"})})}export{d as a,n as b};
|
|
2
|
+
//# sourceMappingURL=chunk-ETZEGAE4.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);var i={error:_chalk2.default.bgHex("#ef4444").hex("#450a0a").bold,info:_chalk2.default.bgHex("#06b6d4").hex("#083344").bold,log:_chalk2.default.bgHex("#ffffff").hex("#020617").bold,success:_chalk2.default.bgHex("#22c55e").hex("#052e16").bold,warn:_chalk2.default.bgHex("#eab308").hex("#422006").bold,debug:_chalk2.default.bgHex("#a855f7").hex("#38017a").bold,trace:_chalk2.default.bgHex("#14b8a6").hex("#064e3b").bold,fatal:_chalk2.default.bgHex("#b91c1c").hex("#450a0a").bold},d={error:_chalk2.default.hex("#ef4444"),info:_chalk2.default.hex("#06b6d4"),log:_chalk2.default.hex("#ffffff"),success:_chalk2.default.hex("#22c55e"),warn:_chalk2.default.hex("#eab308"),debug:_chalk2.default.hex("#a855f7"),trace:_chalk2.default.hex("#14b8a6"),fatal:_chalk2.default.hex("#b91c1c")};function u(o){if(o instanceof Error)return[_chalk2.default.italic(o.message),o.stack||"[No Stack]"].join(`
|
|
2
|
+
`);try{return JSON.stringify(o,null,2)}catch (e2){return"[Circular or Invalid Object]"}}function r(o,c,...s){let a=i[o](` ${o.toUpperCase()} `),g=c?_chalk2.default.magenta(` ${c} `):"",l=s.map(t=>d[o](typeof t=="string"?t:u(t))).join(" ");return[a,g,l].filter(Boolean).join(" ")}function f(o=null){return{error:(...n)=>{console.error(r("error",o,...n))},info:(...n)=>{console.info(r("info",o,...n))},log:(...n)=>{console.log(r("log",o,...n))},success:(...n)=>{console.log(r("success",o,...n))},warn:(...n)=>{console.warn(r("warn",o,...n))},debug:(...n)=>{console.debug(r("debug",o,...n))},trace:(...n)=>{console.trace(r("trace",o,...n))},fatal:(...n)=>{console.error(r("fatal",o,...n))}}}var L=f(),w= exports.b =o=>f(o);exports.a = L; exports.b = w;
|
|
3
|
+
//# sourceMappingURL=chunk-FJ4SSSQI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/logger.ts"],"names":["levels","chalk","messages","safeStringify","obj","formatLog","level","tag","args","levelPart","tagPart","messagePart","arg","createLogger","logger","loggerWithTag"],"mappings":"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","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-FJ4SSSQI.cjs","sourcesContent":["import type { ChalkInstance } from 'chalk';\n\nimport chalk from 'chalk';\n\n/**\n * Defines the supported log levels for the logger.\n * - `debug`: Used for low-level debug messages.\n * - `error`: Used for error messages.\n * - `info`: Used for informational messages.\n * - `log`: Used for general log messages.\n * - `success`: Used for success messages.\n * - `warn`: Used for warning messages.\n * - `trace`: Used for tracing operations or in-depth debugging.\n * - `fatal`: Used for high-priority, critical error messages.\n */\ntype LogLevel = 'debug' | 'error' | 'fatal' | 'info' | 'log' | 'success' | 'trace' | 'warn';\n\n/**\n * Type definition for a log method used in a logger.\n * - Accepts a variable number of arguments.\n * - Each argument can be of any type.\n */\ntype LogMethod = (...args: unknown[]) => void;\n\n/**\n * Interface representing a logger with various log levels.\n */\ninterface Logger {\n /**\n * Logs a debug message.\n * @param args - One or more arguments to log as a debug message.\n */\n debug: LogMethod;\n\n /**\n * Logs an error message.\n * @param args - One or more arguments to log as an error.\n */\n error: LogMethod;\n\n /**\n * Logs a fatal error message.\n * @param args - One or more arguments to log as a critical error.\n */\n fatal: LogMethod;\n\n /**\n * Logs an informational message.\n * @param args - One or more arguments to log as information.\n */\n info: LogMethod;\n\n /**\n * Logs a general message.\n * @param args - One or more arguments to log as a standard message.\n */\n log: LogMethod;\n\n /**\n * Logs a success message.\n * @param args - One or more arguments to log as a success.\n */\n success: LogMethod;\n\n /**\n * Logs a trace message.\n * @param args - One or more arguments to log as a trace message.\n */\n trace: LogMethod;\n\n /**\n * Logs a warning message.\n * @param args - One or more arguments to log as a warning.\n */\n warn: LogMethod;\n}\n\n/**\n * A record mapping log levels to their respective ChalkInstance for\n * styled formatting in logs.\n */\nconst levels: Record<LogLevel, ChalkInstance> = {\n error: chalk.bgHex('#ef4444').hex('#450a0a').bold, // Red background for errors\n info: chalk.bgHex('#06b6d4').hex('#083344').bold, // Blue background for info\n log: chalk.bgHex('#ffffff').hex('#020617').bold, // White background for logs\n success: chalk.bgHex('#22c55e').hex('#052e16').bold, // Green background for success\n warn: chalk.bgHex('#eab308').hex('#422006').bold, // Yellow background for warnings\n debug: chalk.bgHex('#a855f7').hex('#38017a').bold, // Purple background for debugging\n trace: chalk.bgHex('#14b8a6').hex('#064e3b').bold, // Teal background for traces\n fatal: chalk.bgHex('#b91c1c').hex('#450a0a').bold, // Dark red background for fatal errors\n};\n\n/**\n * A record mapping log levels to their plain text ChalkInstance for\n * message body formatting.\n */\nconst messages: Record<LogLevel, ChalkInstance> = {\n error: chalk.hex('#ef4444'), // Red text\n info: chalk.hex('#06b6d4'), // Blue text\n log: chalk.hex('#ffffff'), // White text\n success: chalk.hex('#22c55e'), // Green text\n warn: chalk.hex('#eab308'), // Yellow text\n debug: chalk.hex('#a855f7'), // Purple text\n trace: chalk.hex('#14b8a6'), // Teal text\n fatal: chalk.hex('#b91c1c'), // Dark red text\n};\n\n/**\n * Safely converts a given object into a JSON string representation.\n * If the object contains circular references or can't be stringified,\n * it returns a fallback string.\n *\n * @param obj - The object to be stringified.\n * @returns A JSON string representation of the object, or a fallback string\n * indicating the presence of circular references or invalid structure.\n */\nfunction safeStringify(obj: unknown): string {\n if (obj instanceof Error) {\n return [chalk.italic(obj.message), obj.stack || '[No Stack]'].join('\\n');\n }\n\n try {\n return JSON.stringify(obj, null, 2);\n } catch {\n return '[Circular or Invalid Object]';\n }\n}\n\n/**\n * Formats the log message with color-coded levels, optional tags, and the main\n * message.\n *\n * Components of the formatted message:\n * 1. Level: Displays the log level (for example, INFO, SUCCESS) in a styled format.\n * 2. Tag: Optionally includes a tag (for example, module name) for better context.\n * 3. Message: The actual log content.\n *\n * @param level - Log level (for example, 'info', 'error').\n * @param tag - Optional context tag.\n * @param args - Log message parts.\n * @returns Formatted log string for output.\n */\nfunction formatLog(level: LogLevel, tag: null | string, ...args: unknown[]): string {\n /** Styled representation of the log level. */\n const levelPart = levels[level](` ${level.toUpperCase()} `);\n\n /** Optional tag for contextual identification in the log message. */\n const tagPart = tag ? chalk.magenta(` ${tag} `) : '';\n\n /** Combines all arguments into a single styled message string. */\n const messagePart = args.map((arg) => messages[level](typeof arg === 'string' ? arg : safeStringify(arg))).join(' ');\n\n return [levelPart, tagPart, messagePart].filter(Boolean).join(' ');\n}\n\n/**\n * Creates a logger instance with optional tag support.\n * The optional tag is useful for distinguishing logs from different modules or contexts.\n *\n * @param tag - A string used as a tag in the log messages or null if no tag is desired.\n * @returns An object containing methods for logging messages at various levels.\n */\nfunction createLogger(tag: null | string = null): Logger {\n /**\n * Logs an error message.\n */\n const error = (...args: unknown[]): void => {\n console.error(formatLog('error', tag, ...args));\n };\n\n /**\n * Logs an informational message.\n */\n const info = (...args: unknown[]): void => {\n console.info(formatLog('info', tag, ...args));\n };\n\n /**\n * Logs a general log message.\n */\n const log = (...args: unknown[]): void => {\n console.log(formatLog('log', tag, ...args));\n };\n\n /**\n * Logs a success message.\n */\n const success = (...args: unknown[]): void => {\n console.log(formatLog('success', tag, ...args));\n };\n\n /**\n * Logs a warning message.\n */\n const warn = (...args: unknown[]): void => {\n console.warn(formatLog('warn', tag, ...args));\n };\n\n /**\n * Logs a debug message.\n */\n const debug = (...args: unknown[]): void => {\n console.debug(formatLog('debug', tag, ...args));\n };\n\n /**\n * Logs a trace message for detailed contextual information.\n */\n const trace = (...args: unknown[]): void => {\n console.trace(formatLog('trace', tag, ...args));\n };\n\n /**\n * Logs a fatal error message, typically for critical errors.\n */\n const fatal = (...args: unknown[]): void => {\n console.error(formatLog('fatal', tag, ...args));\n };\n\n return {\n error,\n info,\n log,\n success,\n warn,\n debug,\n trace,\n fatal,\n };\n}\n\n/**\n * The default logger instance, which does not use a specific tag.\n */\nexport const logger: Logger = createLogger();\n\n/**\n * Factory function to create a logger instance with a specific tag.\n *\n * @param tag - The tag to be included in all log messages.\n * @returns A logger instance configured with the provided tag.\n */\nexport const loggerWithTag = (tag: string): Logger => createLogger(tag);\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as s}from"./chunk-4ENRIR3P.js";import{a as o}from"./chunk-KWNBGPPE.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-FXESF4F3.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import e from"chalk";var i={error:e.bgHex("#ef4444").hex("#450a0a").bold,info:e.bgHex("#06b6d4").hex("#083344").bold,log:e.bgHex("#ffffff").hex("#020617").bold,success:e.bgHex("#22c55e").hex("#052e16").bold,warn:e.bgHex("#eab308").hex("#422006").bold,debug:e.bgHex("#a855f7").hex("#38017a").bold,trace:e.bgHex("#14b8a6").hex("#064e3b").bold,fatal:e.bgHex("#b91c1c").hex("#450a0a").bold},d={error:e.hex("#ef4444"),info:e.hex("#06b6d4"),log:e.hex("#ffffff"),success:e.hex("#22c55e"),warn:e.hex("#eab308"),debug:e.hex("#a855f7"),trace:e.hex("#14b8a6"),fatal:e.hex("#b91c1c")};function u(o){if(o instanceof Error)return[e.italic(o.message),o.stack||"[No Stack]"].join(`
|
|
2
|
+
`);try{return JSON.stringify(o,null,2)}catch{return"[Circular or Invalid Object]"}}function r(o,c,...s){let a=i[o](` ${o.toUpperCase()} `),g=c?e.magenta(` ${c} `):"",l=s.map(t=>d[o](typeof t=="string"?t:u(t))).join(" ");return[a,g,l].filter(Boolean).join(" ")}function f(o=null){return{error:(...n)=>{console.error(r("error",o,...n))},info:(...n)=>{console.info(r("info",o,...n))},log:(...n)=>{console.log(r("log",o,...n))},success:(...n)=>{console.log(r("success",o,...n))},warn:(...n)=>{console.warn(r("warn",o,...n))},debug:(...n)=>{console.debug(r("debug",o,...n))},trace:(...n)=>{console.trace(r("trace",o,...n))},fatal:(...n)=>{console.error(r("fatal",o,...n))}}}var L=f(),w=o=>f(o);export{L as a,w as b};
|
|
3
|
+
//# sourceMappingURL=chunk-FYKXZB7Y.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/logger.ts"],"names":["chalk","levels","messages","safeStringify","obj","formatLog","level","tag","args","levelPart","tagPart","messagePart","arg","createLogger","logger","loggerWithTag"],"mappings":"AAEA,OAAOA,MAAW,QA+ElB,IAAMC,EAA0C,CAC9C,MAAOD,EAAM,MAAM,SAAS,EAAE,IAAI,SAAS,EAAE,KAC7C,KAAMA,EAAM,MAAM,SAAS,EAAE,IAAI,SAAS,EAAE,KAC5C,IAAKA,EAAM,MAAM,SAAS,EAAE,IAAI,SAAS,EAAE,KAC3C,QAASA,EAAM,MAAM,SAAS,EAAE,IAAI,SAAS,EAAE,KAC/C,KAAMA,EAAM,MAAM,SAAS,EAAE,IAAI,SAAS,EAAE,KAC5C,MAAOA,EAAM,MAAM,SAAS,EAAE,IAAI,SAAS,EAAE,KAC7C,MAAOA,EAAM,MAAM,SAAS,EAAE,IAAI,SAAS,EAAE,KAC7C,MAAOA,EAAM,MAAM,SAAS,EAAE,IAAI,SAAS,EAAE,IAC/C,EAMME,EAA4C,CAChD,MAAOF,EAAM,IAAI,SAAS,EAC1B,KAAMA,EAAM,IAAI,SAAS,EACzB,IAAKA,EAAM,IAAI,SAAS,EACxB,QAASA,EAAM,IAAI,SAAS,EAC5B,KAAMA,EAAM,IAAI,SAAS,EACzB,MAAOA,EAAM,IAAI,SAAS,EAC1B,MAAOA,EAAM,IAAI,SAAS,EAC1B,MAAOA,EAAM,IAAI,SAAS,CAC5B,EAWA,SAASG,EAAcC,EAAsB,CAC3C,GAAIA,aAAe,MACjB,MAAO,CAACJ,EAAM,OAAOI,EAAI,OAAO,EAAGA,EAAI,OAAS,YAAY,EAAE,KAAK;AAAA,CAAI,EAGzE,GAAI,CACF,OAAO,KAAK,UAAUA,EAAK,KAAM,CAAC,CACpC,MAAQ,CACN,MAAO,8BACT,CACF,CAgBA,SAASC,EAAUC,EAAiBC,KAAuBC,EAAyB,CAElF,IAAMC,EAAYR,EAAOK,CAAK,EAAE,IAAIA,EAAM,YAAY,CAAC,GAAG,EAGpDI,EAAUH,EAAMP,EAAM,QAAQ,IAAIO,CAAG,GAAG,EAAI,GAG5CI,EAAcH,EAAK,IAAKI,GAAQV,EAASI,CAAK,EAAE,OAAOM,GAAQ,SAAWA,EAAMT,EAAcS,CAAG,CAAC,CAAC,EAAE,KAAK,GAAG,EAEnH,MAAO,CAACH,EAAWC,EAASC,CAAW,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,CACnE,CASA,SAASE,EAAaN,EAAqB,KAAc,CAyDvD,MAAO,CACL,MAtDY,IAAIC,IAA0B,CAC1C,QAAQ,MAAMH,EAAU,QAASE,EAAK,GAAGC,CAAI,CAAC,CAChD,EAqDE,KAhDW,IAAIA,IAA0B,CACzC,QAAQ,KAAKH,EAAU,OAAQE,EAAK,GAAGC,CAAI,CAAC,CAC9C,EA+CE,IA1CU,IAAIA,IAA0B,CACxC,QAAQ,IAAIH,EAAU,MAAOE,EAAK,GAAGC,CAAI,CAAC,CAC5C,EAyCE,QApCc,IAAIA,IAA0B,CAC5C,QAAQ,IAAIH,EAAU,UAAWE,EAAK,GAAGC,CAAI,CAAC,CAChD,EAmCE,KA9BW,IAAIA,IAA0B,CACzC,QAAQ,KAAKH,EAAU,OAAQE,EAAK,GAAGC,CAAI,CAAC,CAC9C,EA6BE,MAxBY,IAAIA,IAA0B,CAC1C,QAAQ,MAAMH,EAAU,QAASE,EAAK,GAAGC,CAAI,CAAC,CAChD,EAuBE,MAlBY,IAAIA,IAA0B,CAC1C,QAAQ,MAAMH,EAAU,QAASE,EAAK,GAAGC,CAAI,CAAC,CAChD,EAiBE,MAZY,IAAIA,IAA0B,CAC1C,QAAQ,MAAMH,EAAU,QAASE,EAAK,GAAGC,CAAI,CAAC,CAChD,CAWA,CACF,CAKO,IAAMM,EAAiBD,EAAa,EAQ9BE,EAAiBR,GAAwBM,EAAaN,CAAG","sourcesContent":["import type { ChalkInstance } from 'chalk';\n\nimport chalk from 'chalk';\n\n/**\n * Defines the supported log levels for the logger.\n * - `debug`: Used for low-level debug messages.\n * - `error`: Used for error messages.\n * - `info`: Used for informational messages.\n * - `log`: Used for general log messages.\n * - `success`: Used for success messages.\n * - `warn`: Used for warning messages.\n * - `trace`: Used for tracing operations or in-depth debugging.\n * - `fatal`: Used for high-priority, critical error messages.\n */\ntype LogLevel = 'debug' | 'error' | 'fatal' | 'info' | 'log' | 'success' | 'trace' | 'warn';\n\n/**\n * Type definition for a log method used in a logger.\n * - Accepts a variable number of arguments.\n * - Each argument can be of any type.\n */\ntype LogMethod = (...args: unknown[]) => void;\n\n/**\n * Interface representing a logger with various log levels.\n */\ninterface Logger {\n /**\n * Logs a debug message.\n * @param args - One or more arguments to log as a debug message.\n */\n debug: LogMethod;\n\n /**\n * Logs an error message.\n * @param args - One or more arguments to log as an error.\n */\n error: LogMethod;\n\n /**\n * Logs a fatal error message.\n * @param args - One or more arguments to log as a critical error.\n */\n fatal: LogMethod;\n\n /**\n * Logs an informational message.\n * @param args - One or more arguments to log as information.\n */\n info: LogMethod;\n\n /**\n * Logs a general message.\n * @param args - One or more arguments to log as a standard message.\n */\n log: LogMethod;\n\n /**\n * Logs a success message.\n * @param args - One or more arguments to log as a success.\n */\n success: LogMethod;\n\n /**\n * Logs a trace message.\n * @param args - One or more arguments to log as a trace message.\n */\n trace: LogMethod;\n\n /**\n * Logs a warning message.\n * @param args - One or more arguments to log as a warning.\n */\n warn: LogMethod;\n}\n\n/**\n * A record mapping log levels to their respective ChalkInstance for\n * styled formatting in logs.\n */\nconst levels: Record<LogLevel, ChalkInstance> = {\n error: chalk.bgHex('#ef4444').hex('#450a0a').bold, // Red background for errors\n info: chalk.bgHex('#06b6d4').hex('#083344').bold, // Blue background for info\n log: chalk.bgHex('#ffffff').hex('#020617').bold, // White background for logs\n success: chalk.bgHex('#22c55e').hex('#052e16').bold, // Green background for success\n warn: chalk.bgHex('#eab308').hex('#422006').bold, // Yellow background for warnings\n debug: chalk.bgHex('#a855f7').hex('#38017a').bold, // Purple background for debugging\n trace: chalk.bgHex('#14b8a6').hex('#064e3b').bold, // Teal background for traces\n fatal: chalk.bgHex('#b91c1c').hex('#450a0a').bold, // Dark red background for fatal errors\n};\n\n/**\n * A record mapping log levels to their plain text ChalkInstance for\n * message body formatting.\n */\nconst messages: Record<LogLevel, ChalkInstance> = {\n error: chalk.hex('#ef4444'), // Red text\n info: chalk.hex('#06b6d4'), // Blue text\n log: chalk.hex('#ffffff'), // White text\n success: chalk.hex('#22c55e'), // Green text\n warn: chalk.hex('#eab308'), // Yellow text\n debug: chalk.hex('#a855f7'), // Purple text\n trace: chalk.hex('#14b8a6'), // Teal text\n fatal: chalk.hex('#b91c1c'), // Dark red text\n};\n\n/**\n * Safely converts a given object into a JSON string representation.\n * If the object contains circular references or can't be stringified,\n * it returns a fallback string.\n *\n * @param obj - The object to be stringified.\n * @returns A JSON string representation of the object, or a fallback string\n * indicating the presence of circular references or invalid structure.\n */\nfunction safeStringify(obj: unknown): string {\n if (obj instanceof Error) {\n return [chalk.italic(obj.message), obj.stack || '[No Stack]'].join('\\n');\n }\n\n try {\n return JSON.stringify(obj, null, 2);\n } catch {\n return '[Circular or Invalid Object]';\n }\n}\n\n/**\n * Formats the log message with color-coded levels, optional tags, and the main\n * message.\n *\n * Components of the formatted message:\n * 1. Level: Displays the log level (for example, INFO, SUCCESS) in a styled format.\n * 2. Tag: Optionally includes a tag (for example, module name) for better context.\n * 3. Message: The actual log content.\n *\n * @param level - Log level (for example, 'info', 'error').\n * @param tag - Optional context tag.\n * @param args - Log message parts.\n * @returns Formatted log string for output.\n */\nfunction formatLog(level: LogLevel, tag: null | string, ...args: unknown[]): string {\n /** Styled representation of the log level. */\n const levelPart = levels[level](` ${level.toUpperCase()} `);\n\n /** Optional tag for contextual identification in the log message. */\n const tagPart = tag ? chalk.magenta(` ${tag} `) : '';\n\n /** Combines all arguments into a single styled message string. */\n const messagePart = args.map((arg) => messages[level](typeof arg === 'string' ? arg : safeStringify(arg))).join(' ');\n\n return [levelPart, tagPart, messagePart].filter(Boolean).join(' ');\n}\n\n/**\n * Creates a logger instance with optional tag support.\n * The optional tag is useful for distinguishing logs from different modules or contexts.\n *\n * @param tag - A string used as a tag in the log messages or null if no tag is desired.\n * @returns An object containing methods for logging messages at various levels.\n */\nfunction createLogger(tag: null | string = null): Logger {\n /**\n * Logs an error message.\n */\n const error = (...args: unknown[]): void => {\n console.error(formatLog('error', tag, ...args));\n };\n\n /**\n * Logs an informational message.\n */\n const info = (...args: unknown[]): void => {\n console.info(formatLog('info', tag, ...args));\n };\n\n /**\n * Logs a general log message.\n */\n const log = (...args: unknown[]): void => {\n console.log(formatLog('log', tag, ...args));\n };\n\n /**\n * Logs a success message.\n */\n const success = (...args: unknown[]): void => {\n console.log(formatLog('success', tag, ...args));\n };\n\n /**\n * Logs a warning message.\n */\n const warn = (...args: unknown[]): void => {\n console.warn(formatLog('warn', tag, ...args));\n };\n\n /**\n * Logs a debug message.\n */\n const debug = (...args: unknown[]): void => {\n console.debug(formatLog('debug', tag, ...args));\n };\n\n /**\n * Logs a trace message for detailed contextual information.\n */\n const trace = (...args: unknown[]): void => {\n console.trace(formatLog('trace', tag, ...args));\n };\n\n /**\n * Logs a fatal error message, typically for critical errors.\n */\n const fatal = (...args: unknown[]): void => {\n console.error(formatLog('fatal', tag, ...args));\n };\n\n return {\n error,\n info,\n log,\n success,\n warn,\n debug,\n trace,\n fatal,\n };\n}\n\n/**\n * The default logger instance, which does not use a specific tag.\n */\nexport const logger: Logger = createLogger();\n\n/**\n * Factory function to create a logger instance with a specific tag.\n *\n * @param tag - The tag to be included in all log messages.\n * @returns A logger instance configured with the provided tag.\n */\nexport const loggerWithTag = (tag: string): Logger => createLogger(tag);\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk4QBKNZJKcjs = require('./chunk-4QBKNZJK.cjs');var _reactslot = require('@radix-ui/react-slot');var _jsxruntime = require('react/jsx-runtime');function l({asChild:e,className:t,...n}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"kbd",{className:_chunk4QBKNZJKcjs.a.call(void 0, "bg-muted text-muted-foreground inline-flex h-5 select-none items-center gap-1 rounded-sm border px-1.5 font-mono text-xs font-medium",t),"data-slot":"kbd",...n})}exports.a = l;
|
|
2
|
+
//# sourceMappingURL=chunk-G5SJUAN7.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-G5SJUAN7.cjs","../src/components/kbd.tsx"],"names":["Kbd","asChild","className","props","jsx","Slot","cn"],"mappings":"AAAA,iIAAwC,iDCEnB,+CAkBjB,SAVKA,CAAAA,CAAI,CACX,OAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAEgB,CAGd,OACEC,6BAAAA,CAHgBH,CAAUI,eAAAA,CAAO,KAAA,CAGhC,CACC,SAAA,CAAWC,iCAAAA,sIACT,CACAJ,CACF,CAAA,CACA,WAAA,CAAU,KAAA,CACT,GAAGC,CAAAA,CACN,CAEJ,CAAA,cAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-G5SJUAN7.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: Kbd\n * -------------------------------------------------------------------------- */\n\nfunction Kbd({\n asChild,\n className,\n ...props\n}: ComponentProps<'kbd'> & {\n asChild?: boolean;\n}): JSX.Element {\n const Component = asChild ? Slot : 'kbd';\n\n return (\n <Component\n className={cn(\n 'bg-muted text-muted-foreground inline-flex h-5 select-none items-center gap-1 rounded-sm border px-1.5 font-mono text-xs font-medium',\n className,\n )}\n data-slot=\"kbd\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Kbd };\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as r}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as r}from"./chunk-KWNBGPPE.js";import*as a from"@radix-ui/react-avatar";import{jsx as o}from"react/jsx-runtime";function l({className:t,...e}){return o(a.Root,{className:r("relative flex size-8 shrink-0 overflow-hidden rounded-full",t),"data-slot":"avatar",...e})}function m({className:t,...e}){return o(a.Image,{className:r("aspect-square size-full",t),"data-slot":"avatar-image",...e})}function n({className:t,...e}){return o(a.Fallback,{className:r("bg-muted flex size-full items-center justify-center rounded-full",t),"data-slot":"avatar-fallback",...e})}export{l as a,m as b,n as c};
|
|
2
|
+
//# sourceMappingURL=chunk-GHZJL33D.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{a as d,c as r,g as i,h as p}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use client";import{a as d,c as r,g as i,h as p}from"./chunk-JO7EANFR.js";import{a as n}from"./chunk-KWNBGPPE.js";import{VisuallyHidden as s}from"@radix-ui/react-visually-hidden";import{Command as m}from"cmdk";import{SearchIcon as l}from"lucide-react";import{jsx as t,jsxs as a}from"react/jsx-runtime";function c({className:o,...e}){return t(m,{className:n("bg-popover text-popover-foreground outline-hidden flex flex-col overflow-hidden rounded-[inherit]",o),"data-slot":"command",...e})}function h({children:o,...e}){return t(d,{"data-slot":"command-dialog",...e,children:a(r,{className:"rounded-t-lg sm:rounded-lg","data-slot":"command-dialog-content",children:[a(s,{children:[t(i,{children:"Search command"}),t(p,{children:"Use the search bar to find and select the desired command."})]}),t(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:o})]})})}function y({className:o,...e}){return a("div",{className:"flex items-center gap-2 border-b px-3","cmdk-input-wrapper":"","data-slot":"command-input-wrapper",children:[t(l,{className:"size-4 shrink-0 opacity-50"}),t(m.Input,{className:n("placeholder:text-muted-foreground outline-hidden flex h-10 w-full text-base disabled:opacity-50 md:text-sm",o),"data-slot":"command-input",...e})]})}function v({className:o,...e}){return t(m.List,{className:n("max-h-75 overflow-y-auto overflow-x-hidden",o),"data-slot":"command-list",...e})}function P({className:o,...e}){return t(m.Empty,{className:n("py-6 text-center text-sm",o),"data-slot":"command-empty",...e})}function S({className:o,...e}){return t(m.Group,{className: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",o),"data-slot":"command-group",...e})}function k({className:o,...e}){return t(m.Separator,{className:n("bg-border -mx-1 h-px",o),"data-slot":"command-separator",...e})}function _({className:o,...e}){return t(m.Item,{className: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",o),"data-slot":"command-item",...e})}function E({className:o,...e}){return t(m.Loading,{className:n("flex justify-center p-2",o),"data-slot":"command-loading",...e})}function N({className:o,...e}){return t("span",{className:n("text-muted-foreground ml-auto text-xs tracking-widest",o),"data-slot":"command-shortcut",...e})}export{c as a,h as b,y as c,v as d,P as e,S as f,k as g,_ as h,E as i,N as j};
|
|
2
|
+
//# sourceMappingURL=chunk-H5KHKTXM.js.map
|