@codefast/ui 0.2.22 → 0.2.23
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 +13 -0
- package/dist/{chunk-CWVNPFGZ.js → chunk-2AZ4MW4T.js} +1 -1
- package/dist/chunk-2AZ4MW4T.js.map +1 -0
- package/dist/{chunk-XSTVNTLV.js → chunk-2HOSDLC4.js} +2 -2
- package/dist/{chunk-XSTVNTLV.js.map → chunk-2HOSDLC4.js.map} +1 -1
- package/dist/{chunk-4VEUMBAT.cjs → chunk-2L2HVEIN.cjs} +2 -2
- package/dist/chunk-2L2HVEIN.cjs.map +1 -0
- package/dist/chunk-2YU62UV7.js +2 -0
- package/dist/chunk-2YU62UV7.js.map +1 -0
- package/dist/chunk-36TQLSGO.js +2 -0
- package/dist/chunk-36TQLSGO.js.map +1 -0
- package/dist/chunk-3IBICJA2.js +2 -0
- package/dist/{chunk-AEHJUTB6.js.map → chunk-3IBICJA2.js.map} +1 -1
- package/dist/chunk-56DZBH54.js +2 -0
- package/dist/chunk-56DZBH54.js.map +1 -0
- package/dist/{chunk-2HQFST3N.cjs → chunk-5E2J7DPU.cjs} +2 -2
- package/dist/chunk-5E2J7DPU.cjs.map +1 -0
- package/dist/chunk-5JTCBEIB.js +2 -0
- package/dist/chunk-5JTCBEIB.js.map +1 -0
- package/dist/chunk-5R3KLICJ.js +2 -0
- package/dist/chunk-5R3KLICJ.js.map +1 -0
- package/dist/chunk-5RCJ2CA5.js +2 -0
- package/dist/chunk-5RCJ2CA5.js.map +1 -0
- package/dist/{chunk-OK2YNCDD.cjs → chunk-5W4F5LEY.cjs} +2 -2
- package/dist/chunk-5W4F5LEY.cjs.map +1 -0
- package/dist/{chunk-3LGRR4TI.cjs → chunk-6OYF6KIQ.cjs} +2 -2
- package/dist/{chunk-3LGRR4TI.cjs.map → chunk-6OYF6KIQ.cjs.map} +1 -1
- package/dist/{chunk-QU4VM5VF.js → chunk-6SGFVBG5.js} +2 -2
- package/dist/{chunk-PGKNHNSZ.cjs → chunk-74METGII.cjs} +1 -1
- package/dist/chunk-74METGII.cjs.map +1 -0
- package/dist/{chunk-T6ATICRQ.js → chunk-7C3GHNUL.js} +2 -2
- package/dist/{chunk-T6ATICRQ.js.map → chunk-7C3GHNUL.js.map} +1 -1
- package/dist/{chunk-QYZMBJFY.js → chunk-AC4NC5OP.js} +2 -2
- package/dist/chunk-AC4NC5OP.js.map +1 -0
- package/dist/chunk-AH4DF7LA.cjs +2 -0
- package/dist/{chunk-2T5ATHNG.cjs.map → chunk-AH4DF7LA.cjs.map} +1 -1
- package/dist/chunk-AHV24XXG.js +2 -0
- package/dist/{chunk-DV2WTX6F.js.map → chunk-AHV24XXG.js.map} +1 -1
- package/dist/chunk-BRDK6TUD.js +2 -0
- package/dist/{chunk-ZSMC6CLH.js.map → chunk-BRDK6TUD.js.map} +1 -1
- package/dist/chunk-CPXZI54X.cjs +2 -0
- package/dist/chunk-CPXZI54X.cjs.map +1 -0
- package/dist/{chunk-BQMMZOW2.cjs → chunk-DASAFOYJ.cjs} +2 -2
- package/dist/chunk-DASAFOYJ.cjs.map +1 -0
- package/dist/chunk-DF5E3FGQ.js +2 -0
- package/dist/chunk-DF5E3FGQ.js.map +1 -0
- package/dist/{chunk-6EKIIH2A.js → chunk-DGWKCJXU.js} +1 -1
- package/dist/chunk-DGWKCJXU.js.map +1 -0
- package/dist/{chunk-CMGARCLB.cjs → chunk-DN22IF3R.cjs} +2 -2
- package/dist/{chunk-CMGARCLB.cjs.map → chunk-DN22IF3R.cjs.map} +1 -1
- package/dist/chunk-DOVVSNGI.js +2 -0
- package/dist/chunk-DOVVSNGI.js.map +1 -0
- package/dist/{chunk-MOV4RJ6N.js → chunk-ELW7VMAT.js} +2 -2
- package/dist/{chunk-KH5HNZFJ.cjs → chunk-EPZA4DFY.cjs} +2 -2
- package/dist/{chunk-KH5HNZFJ.cjs.map → chunk-EPZA4DFY.cjs.map} +1 -1
- package/dist/chunk-EXR6BMAW.cjs +2 -0
- package/dist/chunk-EXR6BMAW.cjs.map +1 -0
- package/dist/chunk-F3G3HO4U.js +2 -0
- package/dist/chunk-F3G3HO4U.js.map +1 -0
- package/dist/chunk-F7CO7P2X.cjs +2 -0
- package/dist/chunk-F7CO7P2X.cjs.map +1 -0
- package/dist/chunk-FKCCIFVX.cjs +2 -0
- package/dist/chunk-FKCCIFVX.cjs.map +1 -0
- package/dist/{chunk-2OAFUKSI.js → chunk-FOEXS673.js} +1 -1
- package/dist/{chunk-2OAFUKSI.js.map → chunk-FOEXS673.js.map} +1 -1
- package/dist/{chunk-YP7XMWG3.cjs → chunk-FPNPXEQ5.cjs} +2 -2
- package/dist/chunk-FPNPXEQ5.cjs.map +1 -0
- package/dist/chunk-FTJBXJJT.cjs +2 -0
- package/dist/chunk-FTJBXJJT.cjs.map +1 -0
- package/dist/chunk-FUY5BCRG.cjs +2 -0
- package/dist/chunk-FUY5BCRG.cjs.map +1 -0
- package/dist/chunk-GHBCDBSI.cjs +2 -0
- package/dist/chunk-GHBCDBSI.cjs.map +1 -0
- package/dist/chunk-GKSJINOA.js +2 -0
- package/dist/chunk-GKSJINOA.js.map +1 -0
- package/dist/chunk-GQBROHMX.js +2 -0
- package/dist/chunk-GQBROHMX.js.map +1 -0
- package/dist/{chunk-UKULSFKO.js → chunk-GQFMACBI.js} +2 -2
- package/dist/{chunk-UKULSFKO.js.map → chunk-GQFMACBI.js.map} +1 -1
- package/dist/chunk-GSTVEJ2B.js +2 -0
- package/dist/{chunk-QQCKQCXV.js.map → chunk-GSTVEJ2B.js.map} +1 -1
- package/dist/{chunk-NUTKI7MN.cjs → chunk-H3RTNMRE.cjs} +1 -1
- package/dist/chunk-H3RTNMRE.cjs.map +1 -0
- package/dist/{chunk-EQKKLJNJ.js → chunk-HQNFEX24.js} +1 -1
- package/dist/chunk-HQNFEX24.js.map +1 -0
- package/dist/chunk-HTT35LDP.cjs +2 -0
- package/dist/chunk-HTT35LDP.cjs.map +1 -0
- package/dist/chunk-I7AC332J.js +2 -0
- package/dist/chunk-I7AC332J.js.map +1 -0
- package/dist/chunk-IPVYUKID.cjs +2 -0
- package/dist/{chunk-K3VON6TU.cjs.map → chunk-IPVYUKID.cjs.map} +1 -1
- package/dist/{chunk-5AP5SOMK.cjs → chunk-JGFDKJEO.cjs} +2 -2
- package/dist/chunk-JGFDKJEO.cjs.map +1 -0
- package/dist/{chunk-K23WCISZ.js → chunk-K6AMR7HB.js} +1 -1
- package/dist/chunk-K6AMR7HB.js.map +1 -0
- package/dist/{chunk-FA7EBRYX.cjs → chunk-KFKDTLSE.cjs} +2 -2
- package/dist/{chunk-FA7EBRYX.cjs.map → chunk-KFKDTLSE.cjs.map} +1 -1
- package/dist/chunk-KPBYWGCA.js +2 -0
- package/dist/chunk-KPBYWGCA.js.map +1 -0
- package/dist/{chunk-WH2BSQGH.js → chunk-KUZZFJ27.js} +2 -2
- package/dist/chunk-KUZZFJ27.js.map +1 -0
- package/dist/chunk-L5EJ25IW.cjs +2 -0
- package/dist/chunk-L5EJ25IW.cjs.map +1 -0
- package/dist/chunk-L66JVA2T.cjs +2 -0
- package/dist/chunk-L66JVA2T.cjs.map +1 -0
- package/dist/chunk-LBR5P32R.cjs +2 -0
- package/dist/chunk-LBR5P32R.cjs.map +1 -0
- package/dist/{chunk-WNNUATHQ.cjs → chunk-LCBT7M2G.cjs} +1 -1
- package/dist/chunk-LCBT7M2G.cjs.map +1 -0
- package/dist/chunk-LGRBC237.cjs +2 -0
- package/dist/chunk-LGRBC237.cjs.map +1 -0
- package/dist/chunk-LL6U4F5L.cjs +2 -0
- package/dist/chunk-LL6U4F5L.cjs.map +1 -0
- package/dist/chunk-LYC4EOET.js +2 -0
- package/dist/chunk-LYC4EOET.js.map +1 -0
- package/dist/chunk-MSMFJJJK.js +2 -0
- package/dist/{chunk-ELGMNSNZ.js.map → chunk-MSMFJJJK.js.map} +1 -1
- package/dist/chunk-NCTOUF4A.js +2 -0
- package/dist/chunk-NCTOUF4A.js.map +1 -0
- package/dist/{chunk-QLHV4Y57.js → chunk-NW3SJJ6F.js} +1 -1
- package/dist/chunk-NW3SJJ6F.js.map +1 -0
- package/dist/chunk-NZQFRV3L.js +2 -0
- package/dist/chunk-NZQFRV3L.js.map +1 -0
- package/dist/chunk-OMGYMSUC.cjs +2 -0
- package/dist/chunk-OMGYMSUC.cjs.map +1 -0
- package/dist/chunk-OPFM64WD.js +2 -0
- package/dist/chunk-OPFM64WD.js.map +1 -0
- package/dist/chunk-P22LSKVX.cjs +2 -0
- package/dist/chunk-P22LSKVX.cjs.map +1 -0
- package/dist/chunk-PRRPNTUI.js +2 -0
- package/dist/chunk-PRRPNTUI.js.map +1 -0
- package/dist/{chunk-XCPSEB55.cjs → chunk-PSMKNPRZ.cjs} +2 -2
- package/dist/chunk-PSMKNPRZ.cjs.map +1 -0
- package/dist/chunk-PSPEP5YX.cjs +2 -0
- package/dist/chunk-PSPEP5YX.cjs.map +1 -0
- package/dist/chunk-PUZM4GY5.js +2 -0
- package/dist/chunk-PUZM4GY5.js.map +1 -0
- package/dist/{chunk-HJPUT7OQ.js → chunk-PWYE6IXW.js} +1 -1
- package/dist/chunk-PWYE6IXW.js.map +1 -0
- package/dist/chunk-Q42ORKLQ.js +2 -0
- package/dist/chunk-Q42ORKLQ.js.map +1 -0
- package/dist/{chunk-NLWL4Y2E.cjs → chunk-QGZBS6HG.cjs} +1 -1
- package/dist/chunk-QGZBS6HG.cjs.map +1 -0
- package/dist/{chunk-WPHGIH4B.cjs → chunk-QJ4H3B5E.cjs} +2 -2
- package/dist/{chunk-WPHGIH4B.cjs.map → chunk-QJ4H3B5E.cjs.map} +1 -1
- package/dist/{chunk-ISDNKWFY.js → chunk-QW4LAXTT.js} +1 -1
- package/dist/chunk-QW4LAXTT.js.map +1 -0
- package/dist/{chunk-IRGIHT6Q.cjs → chunk-ROUDG6I5.cjs} +1 -1
- package/dist/{chunk-IRGIHT6Q.cjs.map → chunk-ROUDG6I5.cjs.map} +1 -1
- package/dist/{chunk-TTWAO7YU.cjs → chunk-S5BO3QAZ.cjs} +2 -2
- package/dist/{chunk-TTWAO7YU.cjs.map → chunk-S5BO3QAZ.cjs.map} +1 -1
- package/dist/{chunk-A5RWHIED.cjs → chunk-SAKEXTVW.cjs} +2 -2
- package/dist/{chunk-A5RWHIED.cjs.map → chunk-SAKEXTVW.cjs.map} +1 -1
- package/dist/{chunk-4OYK75XH.cjs → chunk-SLERFKD5.cjs} +2 -2
- package/dist/chunk-SLERFKD5.cjs.map +1 -0
- package/dist/chunk-SSQYBXI5.js +2 -0
- package/dist/chunk-SSQYBXI5.js.map +1 -0
- package/dist/{chunk-23EVLBKY.js → chunk-SV5GCOQH.js} +2 -2
- package/dist/chunk-SV5GCOQH.js.map +1 -0
- package/dist/{chunk-DZFTFPGA.cjs → chunk-TB5KON56.cjs} +1 -1
- package/dist/chunk-TB5KON56.cjs.map +1 -0
- package/dist/{chunk-WUDXQ77W.cjs → chunk-TKY35TYR.cjs} +2 -2
- package/dist/{chunk-WUDXQ77W.cjs.map → chunk-TKY35TYR.cjs.map} +1 -1
- package/dist/chunk-TQOYB7RE.js +2 -0
- package/dist/chunk-TQOYB7RE.js.map +1 -0
- package/dist/{chunk-RX4LFU6W.cjs → chunk-TRE4LNFF.cjs} +2 -2
- package/dist/{chunk-RX4LFU6W.cjs.map → chunk-TRE4LNFF.cjs.map} +1 -1
- package/dist/chunk-UMQYGDKC.js +2 -0
- package/dist/{chunk-SFR34SQ2.js.map → chunk-UMQYGDKC.js.map} +1 -1
- package/dist/{chunk-PS4ZPIDS.cjs → chunk-UQQOY6LC.cjs} +1 -1
- package/dist/chunk-UQQOY6LC.cjs.map +1 -0
- package/dist/{chunk-SSZKZXFM.js → chunk-UVQOZN2C.js} +2 -2
- package/dist/chunk-UVQOZN2C.js.map +1 -0
- package/dist/chunk-VGH6WZ27.cjs +2 -0
- package/dist/chunk-VGH6WZ27.cjs.map +1 -0
- package/dist/{chunk-QB5NCYE4.cjs → chunk-VJVQDA2U.cjs} +2 -2
- package/dist/{chunk-QB5NCYE4.cjs.map → chunk-VJVQDA2U.cjs.map} +1 -1
- package/dist/{chunk-FJUGGAT4.cjs → chunk-VKEABMKB.cjs} +1 -1
- package/dist/chunk-VKEABMKB.cjs.map +1 -0
- package/dist/{chunk-Z4APHFUJ.cjs → chunk-W37H7BDD.cjs} +2 -2
- package/dist/{chunk-Z4APHFUJ.cjs.map → chunk-W37H7BDD.cjs.map} +1 -1
- package/dist/chunk-W4K2HV3N.js +2 -0
- package/dist/{chunk-ARHU67E3.js.map → chunk-W4K2HV3N.js.map} +1 -1
- package/dist/chunk-W54IWHIP.cjs +2 -0
- package/dist/chunk-W54IWHIP.cjs.map +1 -0
- package/dist/{chunk-YZHSPX6Y.cjs → chunk-WLSDH632.cjs} +1 -1
- package/dist/chunk-WLSDH632.cjs.map +1 -0
- package/dist/{chunk-FMJH72MR.js → chunk-WORVCHTL.js} +2 -2
- package/dist/chunk-XD3TYBKN.cjs +2 -0
- package/dist/chunk-XD3TYBKN.cjs.map +1 -0
- package/dist/{chunk-GLQEDQFR.cjs → chunk-XRPTNXUT.cjs} +2 -2
- package/dist/{chunk-GLQEDQFR.cjs.map → chunk-XRPTNXUT.cjs.map} +1 -1
- package/dist/{chunk-MSABUPTO.cjs → chunk-XS5HZGLK.cjs} +2 -2
- package/dist/{chunk-MSABUPTO.cjs.map → chunk-XS5HZGLK.cjs.map} +1 -1
- package/dist/{chunk-F54E45OA.js → chunk-YNPLLYMG.js} +2 -2
- package/dist/chunk-YNPLLYMG.js.map +1 -0
- package/dist/{chunk-FUVB7GYS.js → chunk-YOKFNKGO.js} +2 -2
- package/dist/{chunk-D2MSNZGZ.js → chunk-ZURHQEH5.js} +1 -1
- package/dist/chunk-ZURHQEH5.js.map +1 -0
- package/dist/{chunk-YM5ZQJMZ.js → chunk-ZVWGYKHD.js} +2 -2
- package/dist/chunk-ZVWGYKHD.js.map +1 -0
- 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/badge.cjs +1 -1
- package/dist/components/badge.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.d.cts +1 -1
- package/dist/components/calendar.d.ts +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.d.cts +1 -1
- package/dist/components/checkbox-cards.d.ts +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/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 +4 -2
- package/dist/components/form.d.ts +4 -2
- 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.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.js +1 -1
- package/dist/components/input-search.cjs +1 -1
- package/dist/components/input-search.js +1 -1
- package/dist/components/input.cjs +1 -1
- package/dist/components/input.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/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/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 -2
- package/dist/components/sidebar.d.ts +2 -2
- package/dist/components/sidebar.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/toggle.cjs +1 -1
- package/dist/components/toggle.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.cjs.map +1 -1
- package/dist/index.css +2 -0
- package/dist/index.css.map +1 -0
- package/dist/index.js +1 -1
- package/dist/lib/logger.cjs +1 -1
- package/dist/lib/logger.js +1 -1
- package/dist/variants/button.variants.cjs +1 -1
- package/dist/variants/button.variants.js +1 -1
- package/dist/variants/input.variants.cjs +1 -1
- package/dist/variants/input.variants.js +1 -1
- package/dist/variants/toggle.variants.cjs +1 -1
- package/dist/variants/toggle.variants.js +1 -1
- package/package.json +13 -23
- package/dist/chunk-23EVLBKY.js.map +0 -1
- package/dist/chunk-2HQFST3N.cjs.map +0 -1
- package/dist/chunk-2T5ATHNG.cjs +0 -2
- package/dist/chunk-3PQYLBF5.cjs +0 -2
- package/dist/chunk-3PQYLBF5.cjs.map +0 -1
- package/dist/chunk-3R4JJFSA.js +0 -2
- package/dist/chunk-3R4JJFSA.js.map +0 -1
- package/dist/chunk-4OYK75XH.cjs.map +0 -1
- package/dist/chunk-4VEUMBAT.cjs.map +0 -1
- package/dist/chunk-5AP5SOMK.cjs.map +0 -1
- package/dist/chunk-5WX3E22K.cjs +0 -2
- package/dist/chunk-5WX3E22K.cjs.map +0 -1
- package/dist/chunk-6EKIIH2A.js.map +0 -1
- package/dist/chunk-6SAOAD7N.js +0 -2
- package/dist/chunk-6SAOAD7N.js.map +0 -1
- package/dist/chunk-7AO2GOMC.cjs +0 -2
- package/dist/chunk-7AO2GOMC.cjs.map +0 -1
- package/dist/chunk-7X325ZDU.js +0 -2
- package/dist/chunk-7X325ZDU.js.map +0 -1
- package/dist/chunk-AEHJUTB6.js +0 -2
- package/dist/chunk-AGY7ZINL.js +0 -2
- package/dist/chunk-AGY7ZINL.js.map +0 -1
- package/dist/chunk-ARHU67E3.js +0 -2
- package/dist/chunk-ASWVOLVY.js +0 -2
- package/dist/chunk-ASWVOLVY.js.map +0 -1
- package/dist/chunk-BQMMZOW2.cjs.map +0 -1
- package/dist/chunk-C57DD4MH.cjs +0 -2
- package/dist/chunk-C57DD4MH.cjs.map +0 -1
- package/dist/chunk-CWVNPFGZ.js.map +0 -1
- package/dist/chunk-D2MSNZGZ.js.map +0 -1
- package/dist/chunk-D3CKUFYQ.cjs +0 -2
- package/dist/chunk-D3CKUFYQ.cjs.map +0 -1
- package/dist/chunk-DMDORTLF.js +0 -2
- package/dist/chunk-DMDORTLF.js.map +0 -1
- package/dist/chunk-DPD3MYJA.js +0 -2
- package/dist/chunk-DPD3MYJA.js.map +0 -1
- package/dist/chunk-DV2WTX6F.js +0 -2
- package/dist/chunk-DZFTFPGA.cjs.map +0 -1
- package/dist/chunk-E65CC5MR.cjs +0 -2
- package/dist/chunk-E65CC5MR.cjs.map +0 -1
- package/dist/chunk-EJIFLQRM.cjs +0 -2
- package/dist/chunk-EJIFLQRM.cjs.map +0 -1
- package/dist/chunk-ELGMNSNZ.js +0 -2
- package/dist/chunk-EQKKLJNJ.js.map +0 -1
- package/dist/chunk-F54E45OA.js.map +0 -1
- package/dist/chunk-FIYSKOEZ.cjs +0 -2
- package/dist/chunk-FIYSKOEZ.cjs.map +0 -1
- package/dist/chunk-FJUGGAT4.cjs.map +0 -1
- package/dist/chunk-HJPUT7OQ.js.map +0 -1
- package/dist/chunk-HTUQ65FG.js +0 -2
- package/dist/chunk-HTUQ65FG.js.map +0 -1
- package/dist/chunk-IGVEMKZX.js +0 -2
- package/dist/chunk-IGVEMKZX.js.map +0 -1
- package/dist/chunk-IPQ7USJI.js +0 -2
- package/dist/chunk-IPQ7USJI.js.map +0 -1
- package/dist/chunk-ISDNKWFY.js.map +0 -1
- package/dist/chunk-IW5SUYQ6.cjs +0 -2
- package/dist/chunk-IW5SUYQ6.cjs.map +0 -1
- package/dist/chunk-JRMDTSBT.cjs +0 -2
- package/dist/chunk-JRMDTSBT.cjs.map +0 -1
- package/dist/chunk-JWJ2UTIR.cjs +0 -2
- package/dist/chunk-JWJ2UTIR.cjs.map +0 -1
- package/dist/chunk-K23WCISZ.js.map +0 -1
- package/dist/chunk-K3VON6TU.cjs +0 -2
- package/dist/chunk-KJ52RDFA.js +0 -2
- package/dist/chunk-KJ52RDFA.js.map +0 -1
- package/dist/chunk-LTVOTU54.cjs +0 -2
- package/dist/chunk-LTVOTU54.cjs.map +0 -1
- package/dist/chunk-MTR3VABR.cjs +0 -2
- package/dist/chunk-MTR3VABR.cjs.map +0 -1
- package/dist/chunk-NLWL4Y2E.cjs.map +0 -1
- package/dist/chunk-NUTKI7MN.cjs.map +0 -1
- package/dist/chunk-NXC3EONN.js +0 -2
- package/dist/chunk-NXC3EONN.js.map +0 -1
- package/dist/chunk-O6Q7TNNG.js +0 -2
- package/dist/chunk-O6Q7TNNG.js.map +0 -1
- package/dist/chunk-OAB4NWE2.js +0 -2
- package/dist/chunk-OAB4NWE2.js.map +0 -1
- package/dist/chunk-OK2YNCDD.cjs.map +0 -1
- package/dist/chunk-OZBTMTRM.js +0 -2
- package/dist/chunk-OZBTMTRM.js.map +0 -1
- package/dist/chunk-PGD5STRH.cjs +0 -2
- package/dist/chunk-PGD5STRH.cjs.map +0 -1
- package/dist/chunk-PGKNHNSZ.cjs.map +0 -1
- package/dist/chunk-PS4ZPIDS.cjs.map +0 -1
- package/dist/chunk-QLHV4Y57.js.map +0 -1
- package/dist/chunk-QQCKQCXV.js +0 -2
- package/dist/chunk-QYZMBJFY.js.map +0 -1
- package/dist/chunk-SFR34SQ2.js +0 -2
- package/dist/chunk-SPCGL26X.js +0 -2
- package/dist/chunk-SPCGL26X.js.map +0 -1
- package/dist/chunk-SSZKZXFM.js.map +0 -1
- package/dist/chunk-TR7XTVTB.cjs +0 -2
- package/dist/chunk-TR7XTVTB.cjs.map +0 -1
- package/dist/chunk-UDGC4CDE.js +0 -2
- package/dist/chunk-UDGC4CDE.js.map +0 -1
- package/dist/chunk-ULZZJB4X.js +0 -2
- package/dist/chunk-ULZZJB4X.js.map +0 -1
- package/dist/chunk-W3Y5Q4KW.cjs +0 -2
- package/dist/chunk-W3Y5Q4KW.cjs.map +0 -1
- package/dist/chunk-WH2BSQGH.js.map +0 -1
- package/dist/chunk-WNNUATHQ.cjs.map +0 -1
- package/dist/chunk-WRLVHZJ4.js +0 -2
- package/dist/chunk-WRLVHZJ4.js.map +0 -1
- package/dist/chunk-XCPSEB55.cjs.map +0 -1
- package/dist/chunk-YA5ZRFA7.cjs +0 -2
- package/dist/chunk-YA5ZRFA7.cjs.map +0 -1
- package/dist/chunk-YJA5B6SE.cjs +0 -2
- package/dist/chunk-YJA5B6SE.cjs.map +0 -1
- package/dist/chunk-YJH4ARV4.js +0 -2
- package/dist/chunk-YJH4ARV4.js.map +0 -1
- package/dist/chunk-YJVH2ALW.js +0 -2
- package/dist/chunk-YJVH2ALW.js.map +0 -1
- package/dist/chunk-YM5ZQJMZ.js.map +0 -1
- package/dist/chunk-YP7XMWG3.cjs.map +0 -1
- package/dist/chunk-YZHSPX6Y.cjs.map +0 -1
- package/dist/chunk-ZIVKN2AV.js +0 -2
- package/dist/chunk-ZIVKN2AV.js.map +0 -1
- package/dist/chunk-ZSMC6CLH.js +0 -2
- package/dist/chunk-ZZ7IIDWN.cjs +0 -2
- package/dist/chunk-ZZ7IIDWN.cjs.map +0 -1
- package/dist/styles.css +0 -2
- package/dist/styles.css.map +0 -1
- package/dist/tailwindcss/animate.cjs +0 -2
- package/dist/tailwindcss/animate.cjs.map +0 -1
- package/dist/tailwindcss/animate.d.cts +0 -5
- package/dist/tailwindcss/animate.d.ts +0 -5
- package/dist/tailwindcss/animate.js +0 -2
- package/dist/tailwindcss/animate.js.map +0 -1
- /package/dist/{chunk-QU4VM5VF.js.map → chunk-6SGFVBG5.js.map} +0 -0
- /package/dist/{chunk-MOV4RJ6N.js.map → chunk-ELW7VMAT.js.map} +0 -0
- /package/dist/{chunk-FMJH72MR.js.map → chunk-WORVCHTL.js.map} +0 -0
- /package/dist/{chunk-FUVB7GYS.js.map → chunk-YOKFNKGO.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-NZQFRV3L.js";export{a as buttonVariants};
|
|
2
2
|
//# sourceMappingURL=button.variants.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkF7CO7P2Xcjs = require('../chunk-F7CO7P2X.cjs');exports.inputVariants = _chunkF7CO7P2Xcjs.a;
|
|
2
2
|
//# sourceMappingURL=input.variants.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-I7AC332J.js";export{a as inputVariants};
|
|
2
2
|
//# sourceMappingURL=input.variants.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkLGRBC237cjs = require('../chunk-LGRBC237.cjs');exports.toggleVariants = _chunkLGRBC237cjs.a;
|
|
2
2
|
//# sourceMappingURL=toggle.variants.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-DOVVSNGI.js";export{a as toggleVariants};
|
|
2
2
|
//# sourceMappingURL=toggle.variants.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codefast/ui",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.23",
|
|
4
4
|
"bugs": {
|
|
5
5
|
"url": "https://github.com/codefastlabs/codefast/issues"
|
|
6
6
|
},
|
|
@@ -24,17 +24,7 @@
|
|
|
24
24
|
"default": "./dist/index.cjs"
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
|
-
"./
|
|
28
|
-
"import": {
|
|
29
|
-
"types": "./dist/tailwindcss/animate.d.ts",
|
|
30
|
-
"default": "./dist/tailwindcss/animate.js"
|
|
31
|
-
},
|
|
32
|
-
"require": {
|
|
33
|
-
"types": "./dist/tailwindcss/animate.d.cts",
|
|
34
|
-
"default": "./dist/tailwindcss/animate.cjs"
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
"./styles.css": "./dist/styles.css"
|
|
27
|
+
"./styles.css": "./dist/index.css"
|
|
38
28
|
},
|
|
39
29
|
"main": "./dist/index.cjs",
|
|
40
30
|
"module": "./dist/index.js",
|
|
@@ -84,27 +74,27 @@
|
|
|
84
74
|
"js-cookie": "^3.0.5",
|
|
85
75
|
"lucide-react": "^0.475.0",
|
|
86
76
|
"react-resizable-panels": "^2.1.7",
|
|
87
|
-
"sonner": "^
|
|
77
|
+
"sonner": "^2.0.1",
|
|
88
78
|
"tailwind-merge": "^3.0.1",
|
|
89
79
|
"tailwind-variants": "^0.3.1",
|
|
90
80
|
"vaul": "^1.1.2",
|
|
91
|
-
"@codefast-ui/checkbox-group": "0.2.
|
|
92
|
-
"@codefast-ui/day-picker": "0.2.
|
|
93
|
-
"@codefast-ui/input": "0.2.
|
|
94
|
-
"@codefast-ui/number-input": "0.2.
|
|
95
|
-
"@codefast/hooks": "0.2.
|
|
81
|
+
"@codefast-ui/checkbox-group": "0.2.23",
|
|
82
|
+
"@codefast-ui/day-picker": "0.2.23",
|
|
83
|
+
"@codefast-ui/input": "0.2.23",
|
|
84
|
+
"@codefast-ui/number-input": "0.2.23",
|
|
85
|
+
"@codefast/hooks": "0.2.23"
|
|
96
86
|
},
|
|
97
87
|
"devDependencies": {
|
|
98
|
-
"@tailwindcss/postcss": "4.0.
|
|
88
|
+
"@tailwindcss/postcss": "4.0.7",
|
|
99
89
|
"@types/js-cookie": "^3.0.6",
|
|
100
90
|
"@types/node": "^22.13.4",
|
|
101
91
|
"eslint": "^9.20.1",
|
|
102
|
-
"postcss": "^8.5.
|
|
103
|
-
"tailwindcss": "^4.0.
|
|
92
|
+
"postcss": "^8.5.3",
|
|
93
|
+
"tailwindcss": "^4.0.7",
|
|
104
94
|
"tsup": "^8.3.6",
|
|
105
95
|
"typescript": "^5.7.3",
|
|
106
|
-
"@codefast/eslint-config": "0.2.
|
|
107
|
-
"@codefast/typescript-config": "0.2.
|
|
96
|
+
"@codefast/eslint-config": "0.2.23",
|
|
97
|
+
"@codefast/typescript-config": "0.2.23"
|
|
108
98
|
},
|
|
109
99
|
"peerDependencies": {
|
|
110
100
|
"@tanstack/react-table": ">=8",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/carousel.tsx"],"names":["createContextScope","useEmblaCarousel","ArrowLeftIcon","ArrowRightIcon","useCallback","useEffect","useState","jsx","CAROUSEL_NAME","createCarouselContext","createCarouselScope","CarouselProvider","useCarouselContext","Carousel","__scopeCarousel","children","className","opts","orientation","plugins","setApi","props","carouselRef","api","canScrollPrev","setCanScrollPrev","canScrollNext","setCanScrollNext","onSelect","carouselApi","scrollPrev","scrollNext","handleKeyDown","event","cn","CAROUSEL_CONTENT_NAME","CarouselContent","classNames","CAROUSEL_ITEM_NAME","CarouselItem","CAROUSEL_PREVIOUS_NAME","CarouselPrevious","icon","size","variant","Button","CAROUSEL_NEXT_NAME","CarouselNext"],"mappings":"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","sourcesContent":["'use client';\n\nimport type { Scope } from '@radix-ui/react-context';\nimport type { ComponentProps, JSX, KeyboardEvent } from 'react';\n\nimport { createContextScope } from '@radix-ui/react-context';\nimport useEmblaCarousel, { type UseEmblaCarouselType } from 'embla-carousel-react';\nimport { ArrowLeftIcon, ArrowRightIcon } from 'lucide-react';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport type { ButtonProps } from '@/components/button';\n\nimport { Button } from '@/components/button';\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Carousel\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_NAME = 'Carousel';\n\ntype ScopedProps<P> = P & { __scopeCarousel?: Scope };\n\nconst [createCarouselContext, createCarouselScope] = createContextScope(CAROUSEL_NAME);\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ninterface BaseCarouselProps {\n opts?: CarouselOptions;\n orientation?: 'horizontal' | 'vertical';\n plugins?: CarouselPlugin;\n setApi?: (api: CarouselApi) => void;\n}\n\ntype CarouselContextValue = BaseCarouselProps & {\n api: ReturnType<typeof useEmblaCarousel>[1];\n canScrollNext: boolean;\n canScrollPrev: boolean;\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n scrollNext: () => void;\n scrollPrev: () => void;\n};\n\nconst [CarouselProvider, useCarouselContext] =\n createCarouselContext<CarouselContextValue>(CAROUSEL_NAME);\n\ntype CarouselProps = BaseCarouselProps & ComponentProps<'div'>;\n\nfunction Carousel({\n __scopeCarousel,\n children,\n className,\n opts,\n orientation,\n plugins,\n setApi,\n ...props\n}: ScopedProps<CarouselProps>): JSX.Element {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === 'vertical' ? 'y' : 'x',\n },\n plugins,\n );\n\n const [canScrollPrev, setCanScrollPrev] = useState(false);\n const [canScrollNext, setCanScrollNext] = useState(false);\n\n const onSelect = useCallback((carouselApi: CarouselApi) => {\n if (!carouselApi) {\n return;\n }\n\n setCanScrollPrev(carouselApi.canScrollPrev());\n setCanScrollNext(carouselApi.canScrollNext());\n }, []);\n\n const scrollPrev = useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === 'ArrowRight') {\n event.preventDefault();\n scrollNext();\n }\n },\n [scrollPrev, scrollNext],\n );\n\n useEffect(() => {\n if (!api || !setApi) {\n return;\n }\n\n setApi(api);\n }, [api, setApi]);\n\n useEffect(() => {\n if (!api) {\n return;\n }\n\n onSelect(api);\n api.on('reInit', onSelect);\n api.on('select', onSelect);\n\n return () => {\n api.off('select', onSelect);\n };\n }, [api, onSelect]);\n\n return (\n <CarouselProvider\n api={api}\n canScrollNext={canScrollNext}\n canScrollPrev={canScrollPrev}\n carouselRef={carouselRef}\n opts={opts}\n orientation={orientation ?? (opts?.axis === 'y' ? 'vertical' : 'horizontal')}\n scope={__scopeCarousel}\n scrollNext={scrollNext}\n scrollPrev={scrollPrev}\n >\n <div\n aria-roledescription=\"carousel\"\n className={cn('relative', className)}\n role=\"region\"\n onKeyDownCapture={handleKeyDown}\n {...props}\n >\n {children}\n </div>\n </CarouselProvider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselContent\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_CONTENT_NAME = 'CarouselContent';\n\ninterface CarouselContentProps extends ComponentProps<'div'> {\n classNames?: {\n content?: string;\n wrapper?: string;\n };\n}\n\nfunction CarouselContent({\n __scopeCarousel,\n className,\n classNames,\n ...props\n}: ScopedProps<CarouselContentProps>): JSX.Element {\n const { carouselRef, orientation } = useCarouselContext(CAROUSEL_CONTENT_NAME, __scopeCarousel);\n\n return (\n <div ref={carouselRef} className={cn('overflow-hidden', classNames?.wrapper)}>\n <div\n className={cn(\n 'flex',\n orientation === 'horizontal' ? '-ml-4' : '-mt-4 flex-col',\n classNames?.content,\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselItem\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_ITEM_NAME = 'CarouselItem';\n\ntype CarouselItemProps = ComponentProps<'div'>;\n\nfunction CarouselItem({\n __scopeCarousel,\n className,\n ...props\n}: ScopedProps<CarouselItemProps>): JSX.Element {\n const { orientation } = useCarouselContext(CAROUSEL_ITEM_NAME, __scopeCarousel);\n\n return (\n <div\n aria-roledescription=\"slide\"\n className={cn(\n 'min-w-0 shrink-0 grow-0 basis-full',\n orientation === 'horizontal' ? 'pl-4' : 'pt-4',\n className,\n )}\n role=\"group\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselPrevious\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_PREVIOUS_NAME = 'CarouselPrevious';\n\ntype CarouselPreviousProps = ButtonProps;\n\nfunction CarouselPrevious({\n __scopeCarousel,\n className,\n icon = true,\n size = 'sm',\n variant = 'outline',\n ...props\n}: ScopedProps<CarouselPreviousProps>): JSX.Element {\n const { canScrollPrev, orientation, scrollPrev } = useCarouselContext(\n CAROUSEL_PREVIOUS_NAME,\n __scopeCarousel,\n );\n\n return (\n <Button\n className={cn(\n 'absolute',\n orientation === 'horizontal'\n ? '-left-12 top-1/2 -translate-y-1/2'\n : '-top-12 left-1/2 -translate-x-1/2 rotate-90',\n className,\n )}\n disabled={!canScrollPrev}\n icon={icon}\n prefix={<ArrowLeftIcon />}\n size={size}\n variant={variant}\n onClick={scrollPrev}\n {...props}\n >\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CarouselNext\n * -------------------------------------------------------------------------- */\n\nconst CAROUSEL_NEXT_NAME = 'CarouselNext';\n\ntype CarouselNextProps = ButtonProps;\n\nfunction CarouselNext({\n __scopeCarousel,\n className,\n icon = true,\n size = 'sm',\n variant = 'outline',\n ...props\n}: ScopedProps<CarouselNextProps>): JSX.Element {\n const { canScrollNext, orientation, scrollNext } = useCarouselContext(\n CAROUSEL_NEXT_NAME,\n __scopeCarousel,\n );\n\n return (\n <Button\n className={cn(\n 'absolute',\n orientation === 'horizontal'\n ? '-right-12 top-1/2 -translate-y-1/2'\n : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',\n className,\n )}\n disabled={!canScrollNext}\n icon={icon}\n prefix={<ArrowRightIcon />}\n size={size}\n variant={variant}\n onClick={scrollNext}\n {...props}\n >\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type {\n CarouselApi,\n CarouselContentProps,\n CarouselItemProps,\n CarouselNextProps,\n CarouselPreviousProps,\n CarouselProps,\n};\nexport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n createCarouselScope,\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-2HQFST3N.cjs","../src/components/radio.tsx"],"names":["className","onChange","cn","event","props"],"mappings":"AAAA,ylBAAY,CAAC,wDCIJ,gDAcL,+CAFa,SAAAA,CAAAA,CAAW,CAAA,SAAAC,CAAU,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,aACpC,CAAA,CAAA,CAAA,GACG,CAAA,CAAA,CAAA,CAAA,OACC,6BAAA,OAAWC,CACT,CAAA,SAAA,CAAA,iCAAA,sBACA,CAAA,+GACA,CAAA,sBACA,CAAA,2CACA,CAAA,wFACA,CAAA,sBACA,CAAA,4EACA,CAAA,kDAGG,CAAA,CAAA,CAAA,CACL,IAAA,CAAA,OAA+BD,CAAWE,QACxBA,CAAM,6CAAA,CAAA,CAAA,CAAA,kBAAA,CAAA,wBAAA,CAAA,CAAA,CAAA,aAEpBC,CACN,KAEJ,GAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,cAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-2HQFST3N.cjs","sourcesContent":[null,"'use client';\n\nimport type { ComponentProps, JSX } from 'react';\n\nimport { composeEventHandlers } from '@radix-ui/primitive';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Radio\n * -------------------------------------------------------------------------- */\n\ninterface RadioProps extends Omit<ComponentProps<'input'>, 'type'> {\n onValueChange?: (value: string) => void;\n}\n\nfunction Radio({ className, onChange, onValueChange, ...props }: RadioProps): JSX.Element {\n return (\n <input\n className={cn(\n 'peer appearance-none',\n 'border-input shadow-xs inline-flex size-4 shrink-0 items-center justify-center rounded-full border transition',\n 'hover:border-primary',\n 'checked:border-primary checked:bg-primary',\n 'after:bg-background after:size-full after:rounded-full after:transition-[width,height]',\n 'checked:after:size-1',\n 'focus-visible:ring-ring/40 focus-visible:ring-3 focus-visible:outline-none',\n 'disabled:pointer-events-none disabled:opacity-50',\n className,\n )}\n type=\"radio\"\n onChange={composeEventHandlers(onChange, (event) =>\n onValueChange?.(event.currentTarget.value),\n )}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { Radio };\n"]}
|
package/dist/chunk-2T5ATHNG.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
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 _chunkSMJEDCFPcjs = require('./chunk-SMJEDCFP.cjs');var _reacttooltip = require('@radix-ui/react-tooltip'); var o = _interopRequireWildcard(_reacttooltip);var _jsxruntime = require('react/jsx-runtime');var d=o.Provider,s= exports.b =o.Root,l= exports.c =o.Trigger;function n({className:t,sideOffset:e=6,...p}){return _jsxruntime.jsx.call(void 0, o.Portal,{children:_jsxruntime.jsx.call(void 0, o.Content,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-popover text-popover-foreground","z-50 rounded-md border px-3 py-1.5 text-xs","data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in data-[state=delayed-open]:zoom-in-95","data-[state=delayed-open]:data-[side=top]:slide-in-from-bottom-2","data-[state=delayed-open]:data-[side=right]:slide-in-from-left-2","data-[state=delayed-open]:data-[side=bottom]:slide-in-from-top-2","data-[state=delayed-open]:data-[side=left]:slide-in-from-right-2","data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:zoom-out-95","data-[state=closed]:data-[side=top]:slide-out-to-bottom-2","data-[state=closed]:data-[side=right]:slide-out-to-left-2","data-[state=closed]:data-[side=bottom]:slide-out-to-top-2","data-[state=closed]:data-[side=left]:slide-out-to-right-2",t),sideOffset:e,...p})})}function m({className:t,...e}){return _jsxruntime.jsx.call(void 0, o.Arrow,{className:_chunkSMJEDCFPcjs.a.call(void 0, "fill-popover",t),...e})}exports.a = d; exports.b = s; exports.c = l; exports.d = n; exports.e = m;
|
|
2
|
-
//# sourceMappingURL=chunk-2T5ATHNG.cjs.map
|
package/dist/chunk-3PQYLBF5.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
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 _chunkSMJEDCFPcjs = require('./chunk-SMJEDCFP.cjs');var _reactdropdownmenu = require('@radix-ui/react-dropdown-menu'); var o = _interopRequireWildcard(_reactdropdownmenu);var _lucidereact = require('lucide-react');var _jsxruntime = require('react/jsx-runtime');var l=o.Root,w= exports.b =o.Trigger,P= exports.c =o.Group,D= exports.d =o.Sub,M= exports.e =o.RadioGroup;function f({children:e,className:t,inset:r,...i}){return _jsxruntime.jsxs.call(void 0, o.SubTrigger,{className:_chunkSMJEDCFPcjs.a.call(void 0, "gap-x-2 px-3 py-1.5","flex cursor-pointer select-none items-center rounded-sm text-sm","focus:bg-accent focus:text-accent-foreground focus:outline-none","data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",r&&"pl-8",t),...i,children:[e,_jsxruntime.jsx.call(void 0, _lucidereact.ChevronRightIcon,{className:"ml-auto size-4"})]})}function b({className:e,...t}){return _jsxruntime.jsx.call(void 0, o.Portal,{children:_jsxruntime.jsx.call(void 0, o.SubContent,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-popover text-popover-foreground z-50 min-w-32 rounded-md border p-1 shadow-md","data-[state=open]:animate-in data-[state=open]:fade-in data-[state=open]:zoom-in-95","data-[state=open]:data-[side=top]:slide-in-from-bottom-2","data-[state=open]:data-[side=right]:slide-in-from-left-2","data-[state=open]:data-[side=bottom]:slide-in-from-top-2","data-[state=open]:data-[side=left]:slide-in-from-right-2","data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:zoom-out-95","data-[state=closed]:data-[side=top]:slide-out-to-bottom-2","data-[state=closed]:data-[side=right]:slide-out-to-left-2","data-[state=closed]:data-[side=bottom]:slide-out-to-top-2","data-[state=closed]:data-[side=left]:slide-out-to-right-2",e),...t})})}function g({className:e,sideOffset:t=6,...r}){return _jsxruntime.jsx.call(void 0, o.Portal,{children:_jsxruntime.jsx.call(void 0, o.Content,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-popover text-popover-foreground z-50 min-w-32 rounded-md border p-1 shadow-md","data-[state=open]:animate-in data-[state=open]:fade-in data-[state=open]:zoom-in-95","data-[state=open]:data-[side=top]:slide-in-from-bottom-2","data-[state=open]:data-[side=right]:slide-in-from-left-2","data-[state=open]:data-[side=bottom]:slide-in-from-top-2","data-[state=open]:data-[side=left]:slide-in-from-right-2","data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:zoom-out-95","data-[state=closed]:data-[side=top]:slide-out-to-bottom-2","data-[state=closed]:data-[side=right]:slide-out-to-left-2","data-[state=closed]:data-[side=bottom]:slide-out-to-top-2","data-[state=closed]:data-[side=left]:slide-out-to-right-2",e),sideOffset:t,...r})})}function v({className:e,inset:t,...r}){return _jsxruntime.jsx.call(void 0, o.Item,{className:_chunkSMJEDCFPcjs.a.call(void 0, "gap-x-2 px-3 py-1.5","relative flex cursor-pointer select-none items-center rounded-sm text-sm","focus:bg-accent focus:text-accent-foreground focus:outline-none","aria-disabled:pointer-events-none aria-disabled:opacity-50",t&&"pl-8",e),...r})}function x({checked:e,children:t,className:r,...i}){return _jsxruntime.jsxs.call(void 0, o.CheckboxItem,{checked:e,className:_chunkSMJEDCFPcjs.a.call(void 0, "gap-x-2 px-3 py-1.5","pl-8","relative flex cursor-pointer select-none items-center rounded-sm text-sm","focus:bg-accent focus:text-accent-foreground focus:outline-none","aria-disabled:pointer-events-none aria-disabled:opacity-50",r),...i,children:[_jsxruntime.jsx.call(void 0, "span",{className:"absolute left-2 flex size-3.5 items-center justify-center",children:_jsxruntime.jsx.call(void 0, o.ItemIndicator,{children:_jsxruntime.jsx.call(void 0, _lucidereact.CheckIcon,{className:"size-4"})})}),t]})}function S({children:e,className:t,...r}){return _jsxruntime.jsxs.call(void 0, o.RadioItem,{className:_chunkSMJEDCFPcjs.a.call(void 0, "gap-x-2 px-3 py-1.5","pl-8","relative flex cursor-pointer select-none items-center rounded-sm text-sm","focus:bg-accent focus:text-accent-foreground focus:outline-none","aria-disabled:pointer-events-none aria-disabled:opacity-50",t),...r,children:[_jsxruntime.jsx.call(void 0, "span",{className:"absolute left-2 flex size-3.5 items-center justify-center",children:_jsxruntime.jsx.call(void 0, o.ItemIndicator,{children:_jsxruntime.jsx.call(void 0, _lucidereact.DotIcon,{className:"size-4 fill-current"})})}),e]})}function y({className:e,inset:t,...r}){return _jsxruntime.jsx.call(void 0, o.Label,{className:_chunkSMJEDCFPcjs.a.call(void 0, "gap-x-2 px-3 py-1.5","flex items-center text-sm font-semibold",t&&"pl-8",e),...r})}function C({className:e,...t}){return _jsxruntime.jsx.call(void 0, o.Separator,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-muted mx-2 my-1 h-px",e),...t})}function I({className:e,...t}){return _jsxruntime.jsx.call(void 0, "span",{className:_chunkSMJEDCFPcjs.a.call(void 0, "ml-auto text-xs tracking-widest opacity-60",e),...t})}function h({className:e,...t}){return _jsxruntime.jsx.call(void 0, o.Arrow,{className:_chunkSMJEDCFPcjs.a.call(void 0, "fill-popover",e),...t})}exports.a = l; exports.b = w; exports.c = P; exports.d = D; exports.e = M; exports.f = f; exports.g = b; exports.h = g; exports.i = v; exports.j = x; exports.k = S; exports.l = y; exports.m = C; exports.n = I; exports.o = h;
|
|
2
|
-
//# sourceMappingURL=chunk-3PQYLBF5.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-3PQYLBF5.cjs","../src/components/dropdown-menu.tsx"],"names":["DropdownMenu","DropdownMenuTrigger","DropdownMenuGroup","DropdownMenuSub","DropdownMenuRadioGroup","DropdownMenuSubTrigger","children","className","inset","props","jsxs","cn","jsx","ChevronRightIcon","DropdownMenuSubContent","DropdownMenuContent","sideOffset","DropdownMenuItem","DropdownMenuCheckboxItem","checked","CheckIcon","DropdownMenuRadioItem","DotIcon","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut","DropdownMenuArrow"],"mappings":"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","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-3PQYLBF5.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { CheckIcon, ChevronRightIcon, DotIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenu\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuProps = ComponentProps<typeof DropdownMenuPrimitive.Root>;\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuTrigger\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuTriggerProps = ComponentProps<typeof DropdownMenuPrimitive.Trigger>;\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuGroup\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuGroupProps = ComponentProps<typeof DropdownMenuPrimitive.Group>;\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuSub\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuSubProps = ComponentProps<typeof DropdownMenuPrimitive.Sub>;\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuSubTrigger\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuRadioGroupProps = ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>;\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuSubTrigger\n * -------------------------------------------------------------------------- */\n\ninterface DropdownMenuSubTriggerProps\n extends ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> {\n inset?: boolean;\n}\n\nfunction DropdownMenuSubTrigger({\n children,\n className,\n inset,\n ...props\n}: DropdownMenuSubTriggerProps): JSX.Element {\n return (\n <DropdownMenuPrimitive.SubTrigger\n className={cn(\n 'gap-x-2 px-3 py-1.5',\n 'flex cursor-pointer select-none items-center rounded-sm text-sm',\n 'focus:bg-accent focus:text-accent-foreground focus:outline-none',\n 'data-[state=open]:bg-accent data-[state=open]:text-accent-foreground',\n inset && 'pl-8',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuSubContent\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuSubContentProps = DropdownMenuPrimitive.DropdownMenuSubContentProps;\n\nfunction DropdownMenuSubContent({ className, ...props }: DropdownMenuSubContentProps): JSX.Element {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.SubContent\n className={cn(\n 'bg-popover text-popover-foreground z-50 min-w-32 rounded-md border p-1 shadow-md',\n 'data-[state=open]:animate-in data-[state=open]:fade-in data-[state=open]:zoom-in-95',\n 'data-[state=open]:data-[side=top]:slide-in-from-bottom-2',\n 'data-[state=open]:data-[side=right]:slide-in-from-left-2',\n 'data-[state=open]:data-[side=bottom]:slide-in-from-top-2',\n 'data-[state=open]:data-[side=left]:slide-in-from-right-2',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:zoom-out-95',\n 'data-[state=closed]:data-[side=top]:slide-out-to-bottom-2',\n 'data-[state=closed]:data-[side=right]:slide-out-to-left-2',\n 'data-[state=closed]:data-[side=bottom]:slide-out-to-top-2',\n 'data-[state=closed]:data-[side=left]:slide-out-to-right-2',\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuContent\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuContentProps = ComponentProps<typeof DropdownMenuPrimitive.Content>;\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 6,\n ...props\n}: DropdownMenuContentProps): JSX.Element {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n className={cn(\n 'bg-popover text-popover-foreground z-50 min-w-32 rounded-md border p-1 shadow-md',\n 'data-[state=open]:animate-in data-[state=open]:fade-in data-[state=open]:zoom-in-95',\n 'data-[state=open]:data-[side=top]:slide-in-from-bottom-2',\n 'data-[state=open]:data-[side=right]:slide-in-from-left-2',\n 'data-[state=open]:data-[side=bottom]:slide-in-from-top-2',\n 'data-[state=open]:data-[side=left]:slide-in-from-right-2',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:zoom-out-95',\n 'data-[state=closed]:data-[side=top]:slide-out-to-bottom-2',\n 'data-[state=closed]:data-[side=right]:slide-out-to-left-2',\n 'data-[state=closed]:data-[side=bottom]:slide-out-to-top-2',\n 'data-[state=closed]:data-[side=left]:slide-out-to-right-2',\n className,\n )}\n sideOffset={sideOffset}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuItem\n * -------------------------------------------------------------------------- */\n\ninterface DropdownMenuItemProps extends ComponentProps<typeof DropdownMenuPrimitive.Item> {\n inset?: boolean;\n}\n\nfunction DropdownMenuItem({ className, inset, ...props }: DropdownMenuItemProps): JSX.Element {\n return (\n <DropdownMenuPrimitive.Item\n className={cn(\n 'gap-x-2 px-3 py-1.5',\n 'relative flex cursor-pointer select-none items-center rounded-sm text-sm',\n 'focus:bg-accent focus:text-accent-foreground focus:outline-none',\n 'aria-disabled:pointer-events-none aria-disabled:opacity-50',\n inset && 'pl-8',\n className,\n )}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuCheckboxItem\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuCheckboxItemProps = ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>;\n\nfunction DropdownMenuCheckboxItem({\n checked,\n children,\n className,\n ...props\n}: DropdownMenuCheckboxItemProps): JSX.Element {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n checked={checked}\n className={cn(\n 'gap-x-2 px-3 py-1.5',\n 'pl-8',\n 'relative flex cursor-pointer select-none items-center rounded-sm text-sm',\n 'focus:bg-accent focus:text-accent-foreground focus:outline-none',\n 'aria-disabled:pointer-events-none aria-disabled:opacity-50',\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuRadioItem\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuRadioItemProps = ComponentProps<typeof DropdownMenuPrimitive.RadioItem>;\n\nfunction DropdownMenuRadioItem({\n children,\n className,\n ...props\n}: DropdownMenuRadioItemProps): JSX.Element {\n return (\n <DropdownMenuPrimitive.RadioItem\n className={cn(\n 'gap-x-2 px-3 py-1.5',\n 'pl-8',\n 'relative flex cursor-pointer select-none items-center rounded-sm text-sm',\n 'focus:bg-accent focus:text-accent-foreground focus:outline-none',\n 'aria-disabled:pointer-events-none aria-disabled:opacity-50',\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <DotIcon className=\"size-4 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuLabel\n * -------------------------------------------------------------------------- */\n\ninterface DropdownMenuLabelProps extends ComponentProps<typeof DropdownMenuPrimitive.Label> {\n inset?: boolean;\n}\n\nfunction DropdownMenuLabel({ className, inset, ...props }: DropdownMenuLabelProps): JSX.Element {\n return (\n <DropdownMenuPrimitive.Label\n className={cn(\n 'gap-x-2 px-3 py-1.5',\n 'flex items-center text-sm font-semibold',\n inset && 'pl-8',\n className,\n )}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuSeparator\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuSeparatorProps = ComponentProps<typeof DropdownMenuPrimitive.Separator>;\n\nfunction DropdownMenuSeparator({ className, ...props }: DropdownMenuSeparatorProps): JSX.Element {\n return (\n <DropdownMenuPrimitive.Separator\n className={cn('bg-muted mx-2 my-1 h-px', className)}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuShortcut\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuShortcutProps = ComponentProps<'span'>;\n\nfunction DropdownMenuShortcut({ className, ...props }: DropdownMenuShortcutProps): JSX.Element {\n return (\n <span className={cn('ml-auto text-xs tracking-widest opacity-60', className)} {...props} />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DropdownMenuArrow\n * -------------------------------------------------------------------------- */\n\ntype DropdownMenuArrowProps = DropdownMenuPrimitive.DropdownMenuArrowProps;\n\nfunction DropdownMenuArrow({ className, ...props }: DropdownMenuArrowProps): JSX.Element {\n return <DropdownMenuPrimitive.Arrow className={cn('fill-popover', className)} {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type {\n DropdownMenuArrowProps,\n DropdownMenuCheckboxItemProps,\n DropdownMenuContentProps,\n DropdownMenuGroupProps,\n DropdownMenuItemProps,\n DropdownMenuLabelProps,\n DropdownMenuProps,\n DropdownMenuRadioGroupProps,\n DropdownMenuRadioItemProps,\n DropdownMenuSeparatorProps,\n DropdownMenuShortcutProps,\n DropdownMenuSubContentProps,\n DropdownMenuSubProps,\n DropdownMenuSubTriggerProps,\n DropdownMenuTriggerProps,\n};\nexport {\n DropdownMenu,\n DropdownMenuArrow,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n"]}
|
package/dist/chunk-3R4JJFSA.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client";import{a as B,b as X,c as J,d as T}from"./chunk-ELGMNSNZ.js";import{a as I,c as N,g as _,h as k}from"./chunk-YJVH2ALW.js";import{a as P}from"./chunk-46UZJXKE.js";import{a as E}from"./chunk-6EKIIH2A.js";import{a as M}from"./chunk-FMJH72MR.js";import{a as y}from"./chunk-QU4VM5VF.js";import{a as o}from"./chunk-OKUFCFYT.js";import{useMediaQuery as R}from"@codefast/hooks";import{Slot as g}from"@radix-ui/react-slot";import{VisuallyHidden as H}from"@radix-ui/react-visually-hidden";import K from"js-cookie";import{PanelLeftIcon as L}from"lucide-react";import{createContext as V,useCallback as z,useContext as F,useEffect as W,useMemo as O,useState as A}from"react";import{tv as j}from"tailwind-variants";import{jsx as a,jsxs as c}from"react/jsx-runtime";var q="sidebar:state",$=7,Q="16rem",U="18rem",Y="3rem",Z="b",ee=768,D=V(null);function x(){let e=F(D);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}function ge({children:e,className:t,defaultOpen:n=!0,onOpenChange:r,open:i,style:l,...f}){let p=R(`(max-width: ${ee-1}px)`),[u,d]=A(!1),[S,w]=A(n),m=i??S,v=z(s=>{let b=typeof s=="function"?s(m):s;r?r(b):w(b),K.set(q,String(b),{expires:$,path:"/"})},[r,m]),h=z(()=>{p?d(s=>!s):v(s=>!s)},[p,v,d]);W(()=>{let s=b=>{b.key===Z&&(b.metaKey||b.ctrlKey)&&(b.preventDefault(),h())};return window.addEventListener("keydown",s),()=>{window.removeEventListener("keydown",s)}},[h]);let C=m?"expanded":"collapsed",G=O(()=>({isMobile:p,open:m,openMobile:u,setOpen:v,setOpenMobile:d,state:C,toggleSidebar:h}),[C,m,v,p,u,d,h]);return a(D.Provider,{value:G,children:a(B,{delayDuration:0,children:a("div",{className:o("group/sidebar-wrapper has-[[data-variant=inset]]:bg-sidebar flex min-h-svh w-full",t),style:{"--sidebar-width":Q,"--sidebar-width-icon":Y,...l},...f,children:e})})})}function Se({children:e,className:t,collapsible:n="offcanvas",side:r="left",variant:i="sidebar",...l}){let{isMobile:f,openMobile:p,setOpenMobile:u,state:d}=x();return n==="none"?a("div",{className:o("bg-sidebar text-sidebar-foreground w-(--sidebar-width) flex h-full flex-col",t),...l,children:e}):f?a(I,{open:p,onOpenChange:u,...l,children:c(N,{className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden","data-mobile":"true","data-sidebar":"sidebar",side:r,style:{"--sidebar-width":U},children:[c(H,{children:[a(_,{children:"Sidebar"}),a(k,{children:"Press escape to close the sidebar"})]}),a("div",{className:"flex h-full w-full flex-col",children:e})]})}):c("div",{className:"text-sidebar-foreground group peer hidden md:block","data-collapsible":d==="collapsed"?n:"","data-side":r,"data-state":d,"data-variant":i,children:[a("div",{className:o("w-(--sidebar-width) relative h-svh bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",i==="floating"||i==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),a("div",{className:o("w-(--sidebar-width) fixed inset-y-0 z-10 hidden h-svh transition-[left,right,width] duration-200 ease-linear md:flex",r==="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)]",i==="floating"||i==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",t),...l,children:a("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","data-sidebar":"sidebar",children:e})})]})}function ve({className:e,onClick:t,...n}){let{toggleSidebar:r}=x();return c(y,{icon:!0,className:o("",e),"data-sidebar":"trigger",size:"xxs",variant:"ghost",onClick:i=>{t?.(i),r()},...n,children:[a(L,{}),a("span",{className:"sr-only",children:"Toggle Sidebar"})]})}function he({className:e,...t}){let{toggleSidebar:n}=x();return a("button",{"aria-label":"Toggle Sidebar",className:o("hover:after:bg-sidebar-border 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-0.5 group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:hover:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),"data-sidebar":"rail",tabIndex:-1,title:"Toggle Sidebar",type:"button",onClick:n,...t})}function xe({className:e,...t}){return a("main",{className:o("bg-background relative flex min-h-svh flex-1 flex-col","peer-data-[variant=inset]:min-h-[calc(100svh-var(--spacing-4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",e),...t})}function Pe({className:e,...t}){return a(M,{className:o("bg-background focus-visible:ring-sidebar-ring focus-visible:ring-3 h-8 w-full shadow-none",e),"data-sidebar":"input",...t})}function we({className:e,...t}){return a("div",{className:o("flex flex-col gap-2 p-2",e),"data-sidebar":"header",...t})}function Ce({className:e,...t}){return a("div",{className:o("flex flex-col gap-2 p-2",e),"data-sidebar":"footer",...t})}function ye({className:e,...t}){return a(E,{className:o("bg-sidebar-border mx-2 w-auto",e),"data-sidebar":"separator",...t})}function Me({className:e,...t}){return a("div",{className:o("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),"data-sidebar":"content",...t})}function Ee({className:e,...t}){return a("div",{className:o("relative flex w-full min-w-0 flex-col p-2",e),"data-sidebar":"group",...t})}function Ie({asChild:e=!1,className:t,...n}){return a(e?g:"div",{className:o("text-sidebar-foreground/70 ring-sidebar-ring focus-visible:ring-3 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-none transition-[margin,opa] duration-200 ease-linear [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",t),"data-sidebar":"group-label",...n})}function Ne({asChild:e=!1,className:t,...n}){return a(e?g:"button",{className:o("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-3 absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",t),"data-sidebar":"group-action",...n})}function _e({className:e,...t}){return a("div",{className:o("w-full text-sm",e),"data-sidebar":"group-content",...t})}function ke({className:e,...t}){return a("ul",{className:o("flex w-full min-w-0 flex-col gap-1",e),"data-sidebar":"menu",...t})}function Be({className:e,...t}){return a("li",{className:o("group/menu-item relative",e),"data-sidebar":"menu-item",...t})}var te=j({base:"peer/menu-button ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground 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 focus-visible:ring-3 flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none transition-[width,height,padding] disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",defaultVariants:{size:"default",variant:"default"},variants:{size:{default:"h-8 text-sm",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0",sm:"h-7 text-xs"},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(--color-sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--color-sidebar-accent))]"}}});function Xe({asChild:e=!1,className:t,isActive:n=!1,size:r="default",tooltip:i,variant:l="default",...f}){let p=e?g:"button",{isMobile:u,state:d}=x(),S=a(p,{className:o(te({size:r,variant:l}),t),"data-active":n,"data-sidebar":"menu-button","data-size":r,...f});return i?c(X,{children:[a(J,{asChild:!0,children:S}),a(T,{align:"center",hidden:d!=="collapsed"||u,side:"right",...typeof i=="string"?{children:i}:i})]}):S}function Je({asChild:e=!1,className:t,showOnHover:n=!1,...r}){return a(e?g:"button",{className:o("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground focus-visible:ring-3 absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",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",...r})}function Te({className:e,...t}){return a("div",{className:o("text-sidebar-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","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",e),"data-sidebar":"menu-badge",...t})}function ze({className:e,showIcon:t=!1,...n}){let r=O(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return c("div",{className:o("flex h-8 items-center gap-2 rounded-md px-2",e),"data-sidebar":"menu-skeleton",...n,children:[t?a(P,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}):null,a(P,{className:"max-w-(--skeleton-width) h-4 flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":r}})]})}function Ae({className:e,...t}){return a("ul",{className:o("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",e),"data-sidebar":"menu-sub",...t})}function Oe({...e}){return a("li",{...e})}function De({asChild:e=!1,className:t,isActive:n,size:r="md",...i}){return a(e?g:"a",{className:o("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 focus-visible:ring-3 flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-none 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","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",r==="sm"&&"text-xs",r==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",t),"data-active":n,"data-sidebar":"menu-sub-button","data-size":r,...i})}export{x as a,ge as b,Se as c,ve as d,he as e,xe as f,Pe as g,we as h,Ce as i,ye as j,Me as k,Ee as l,Ie as m,Ne as n,_e as o,ke as p,Be as q,Xe as r,Je as s,Te as t,ze as u,Ae as v,Oe as w,De as x};
|
|
2
|
-
//# sourceMappingURL=chunk-3R4JJFSA.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/sidebar.tsx"],"names":["useMediaQuery","Slot","VisuallyHidden","Cookies","PanelLeftIcon","createContext","useCallback","useContext","useEffect","useMemo","useState","tv","jsx","jsxs","SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SIDEBAR_MOBILE_BREAKPOINT","SidebarContext","useSidebar","context","SidebarProvider","children","className","defaultOpen","setOpenProp","openProp","style","props","isMobile","openMobile","setOpenMobile","isOpen","setIsOpen","open","setOpen","value","openState","toggleSidebar","currentValue","handleKeyDown","event","state","contextValue","TooltipProvider","cn","Sidebar","collapsible","side","variant","Sheet","SheetContent","SheetTitle","SheetDescription","SidebarTrigger","onClick","Button","SidebarRail","SidebarInset","SidebarInput","Input","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","SidebarMenuButton","isActive","size","tooltip","Component","button","Tooltip","TooltipTrigger","TooltipContent","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","Skeleton","SidebarMenuSub","SidebarMenuSubItem","SidebarMenuSubButton"],"mappings":"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","sourcesContent":["'use client';\n\nimport type { ComponentProps, CSSProperties, JSX } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { useMediaQuery } from '@codefast/hooks';\nimport { Slot } from '@radix-ui/react-slot';\nimport { VisuallyHidden } from '@radix-ui/react-visually-hidden';\nimport Cookies from 'js-cookie';\nimport { PanelLeftIcon } from 'lucide-react';\nimport { createContext, useCallback, useContext, 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, 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 = 7; // 1 week in days.\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\nconst SIDEBAR_MOBILE_BREAKPOINT = 768;\n\ninterface SidebarContext {\n isMobile: boolean;\n open: boolean;\n openMobile: boolean;\n setOpen: (open: boolean) => void;\n setOpenMobile: (open: boolean) => void;\n state: 'collapsed' | 'expanded';\n toggleSidebar: () => void;\n}\n\nconst SidebarContext = createContext<null | SidebarContext>(null);\n\nfunction useSidebar(): SidebarContext {\n const context = useContext(SidebarContext);\n\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n\n return context;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarProvider\n * -------------------------------------------------------------------------- */\n\ninterface SidebarProviderProps extends ComponentProps<'div'> {\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n open?: boolean;\n}\n\nfunction SidebarProvider({\n children,\n className,\n defaultOpen = true,\n onOpenChange: setOpenProp,\n open: openProp,\n style,\n ...props\n}: SidebarProviderProps): JSX.Element {\n const isMobile = useMediaQuery(`(max-width: ${SIDEBAR_MOBILE_BREAKPOINT - 1}px)`);\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 // This sets the cookie to keep the sidebar state.\n Cookies.set(SIDEBAR_COOKIE_NAME, String(openState), {\n expires: SIDEBAR_COOKIE_MAX_AGE,\n path: '/',\n });\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 => {\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 const contextValue = useMemo<SidebarContext>(\n () => ({\n isMobile,\n open,\n openMobile,\n setOpen,\n setOpenMobile,\n state,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n className={cn(\n 'group/sidebar-wrapper has-[[data-variant=inset]]:bg-sidebar flex min-h-svh w-full',\n className,\n )}\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 </SidebarContext.Provider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: Sidebar\n * -------------------------------------------------------------------------- */\n\ninterface SidebarProps extends ComponentProps<'div'> {\n collapsible?: 'icon' | 'none' | 'offcanvas';\n side?: 'left' | 'right';\n variant?: 'floating' | 'inset' | 'sidebar';\n}\n\nfunction Sidebar({\n children,\n className,\n collapsible = 'offcanvas',\n side = 'left',\n variant = 'sidebar',\n ...props\n}: SidebarProps): JSX.Element {\n const { isMobile, openMobile, setOpenMobile, state } = useSidebar();\n\n if (collapsible === 'none') {\n return (\n <div\n className={cn(\n 'bg-sidebar text-sidebar-foreground w-(--sidebar-width) flex h-full flex-col',\n className,\n )}\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 side={side}\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as CSSProperties\n }\n >\n <VisuallyHidden>\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Press escape to close the sidebar</SheetDescription>\n </VisuallyHidden>\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=\"text-sidebar-foreground group peer hidden md:block\"\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-side={side}\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 h-svh bg-transparent transition-[width] duration-200 ease-linear',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',\n )}\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)_+_theme(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 {...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\"\n data-sidebar=\"sidebar\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarTrigger\n * -------------------------------------------------------------------------- */\n\ntype SidebarTriggerProps = ComponentProps<typeof Button>;\n\nfunction SidebarTrigger({ className, onClick, ...props }: SidebarTriggerProps): JSX.Element {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n icon\n className={cn('', className)}\n data-sidebar=\"trigger\"\n size=\"xxs\"\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\ntype SidebarRailProps = ComponentProps<'button'>;\n\nfunction SidebarRail({ className, ...props }: SidebarRailProps): JSX.Element {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n aria-label=\"Toggle Sidebar\"\n className={cn(\n 'hover:after:bg-sidebar-border 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-0.5 group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex',\n '[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize',\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n 'group-data-[collapsible=offcanvas]:hover:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className,\n )}\n data-sidebar=\"rail\"\n tabIndex={-1}\n title=\"Toggle Sidebar\"\n type=\"button\"\n onClick={toggleSidebar}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarInset\n * -------------------------------------------------------------------------- */\n\ntype SidebarInsetProps = ComponentProps<'main'>;\n\nfunction SidebarInset({ className, ...props }: SidebarInsetProps): JSX.Element {\n return (\n <main\n className={cn(\n 'bg-background relative flex min-h-svh flex-1 flex-col',\n 'peer-data-[variant=inset]:min-h-[calc(100svh-var(--spacing-4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow',\n className,\n )}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarInput\n * -------------------------------------------------------------------------- */\n\ntype SidebarInputProps = ComponentProps<typeof Input>;\n\nfunction SidebarInput({ className, ...props }: SidebarInputProps): JSX.Element {\n return (\n <Input\n className={cn(\n 'bg-background focus-visible:ring-sidebar-ring focus-visible:ring-3 h-8 w-full shadow-none',\n className,\n )}\n data-sidebar=\"input\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarHeader\n * -------------------------------------------------------------------------- */\n\ntype SidebarHeaderProps = ComponentProps<'div'>;\n\nfunction SidebarHeader({ className, ...props }: SidebarHeaderProps): JSX.Element {\n return (\n <div className={cn('flex flex-col gap-2 p-2', className)} data-sidebar=\"header\" {...props} />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarFooter\n * -------------------------------------------------------------------------- */\n\ntype SidebarFooterProps = ComponentProps<'div'>;\n\nfunction SidebarFooter({ className, ...props }: SidebarFooterProps): JSX.Element {\n return (\n <div className={cn('flex flex-col gap-2 p-2', className)} data-sidebar=\"footer\" {...props} />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarSeparator\n * -------------------------------------------------------------------------- */\n\ntype SidebarSeparatorProps = ComponentProps<typeof Separator>;\n\nfunction SidebarSeparator({ className, ...props }: SidebarSeparatorProps): JSX.Element {\n return (\n <Separator\n className={cn('bg-sidebar-border mx-2 w-auto', className)}\n data-sidebar=\"separator\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarContent\n * -------------------------------------------------------------------------- */\n\ntype SidebarContentProps = ComponentProps<'div'>;\n\nfunction SidebarContent({ className, ...props }: SidebarContentProps): 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 {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroup\n * -------------------------------------------------------------------------- */\n\ntype SidebarGroupProps = ComponentProps<'div'>;\n\nfunction SidebarGroup({ className, ...props }: SidebarGroupProps): 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 {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupLabel\n * -------------------------------------------------------------------------- */\n\ninterface SidebarGroupLabelProps extends ComponentProps<'div'> {\n asChild?: boolean;\n}\n\nfunction SidebarGroupLabel({\n asChild = false,\n className,\n ...props\n}: SidebarGroupLabelProps): JSX.Element {\n const Component = asChild ? Slot : 'div';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground/70 ring-sidebar-ring focus-visible:ring-3 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-none transition-[margin,opa] duration-200 ease-linear [&>svg]:size-4 [&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n className,\n )}\n data-sidebar=\"group-label\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupAction\n * -------------------------------------------------------------------------- */\n\ninterface SidebarGroupActionProps extends ComponentProps<'button'> {\n asChild?: boolean;\n}\n\nfunction SidebarGroupAction({\n asChild = false,\n className,\n ...props\n}: SidebarGroupActionProps): 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 focus-visible:ring-3 absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform [&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 after:md:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n data-sidebar=\"group-action\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupContent\n * -------------------------------------------------------------------------- */\n\ntype SidebarGroupContentProps = ComponentProps<'div'>;\n\nfunction SidebarGroupContent({ className, ...props }: SidebarGroupContentProps): JSX.Element {\n return (\n <div className={cn('w-full text-sm', className)} data-sidebar=\"group-content\" {...props} />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenu\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuProps = ComponentProps<'ul'>;\n\nfunction SidebarMenu({ className, ...props }: SidebarMenuProps): 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 {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuItem\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuItemProps = ComponentProps<'li'>;\n\nfunction SidebarMenuItem({ className, ...props }: SidebarMenuItemProps): JSX.Element {\n return (\n <li className={cn('group/menu-item relative', className)} data-sidebar=\"menu-item\" {...props} />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuButton\n * -------------------------------------------------------------------------- */\n\nconst sidebarMenuButtonVariants = tv({\n base: 'peer/menu-button ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground 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 focus-visible:ring-3 flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none transition-[width,height,padding] disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n defaultVariants: {\n size: 'default',\n variant: 'default',\n },\n variants: {\n size: {\n default: 'h-8 text-sm',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:!p-0',\n sm: 'h-7 text-xs',\n },\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(--color-sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--color-sidebar-accent))]',\n },\n },\n});\n\ninterface SidebarMenuButtonProps\n extends ComponentProps<'button'>,\n VariantProps<typeof sidebarMenuButtonVariants> {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: ComponentProps<typeof TooltipContent> | string;\n}\n\nfunction SidebarMenuButton({\n asChild = false,\n className,\n isActive = false,\n size = 'default',\n tooltip,\n variant = 'default',\n ...props\n}: SidebarMenuButtonProps): JSX.Element {\n const Component = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Component\n className={cn(sidebarMenuButtonVariants({ size, variant }), className)}\n data-active={isActive}\n data-sidebar=\"menu-button\"\n data-size={size}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n const tooltipProps =\n typeof tooltip === 'string'\n ? {\n children: tooltip,\n }\n : tooltip;\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n align=\"center\"\n hidden={state !== 'collapsed' || isMobile}\n side=\"right\"\n {...tooltipProps}\n />\n </Tooltip>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuAction\n * -------------------------------------------------------------------------- */\n\ninterface SidebarMenuActionProps extends ComponentProps<'button'> {\n asChild?: boolean;\n showOnHover?: boolean;\n}\n\nfunction SidebarMenuAction({\n asChild = false,\n className,\n showOnHover = false,\n ...props\n}: SidebarMenuActionProps): 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 focus-visible:ring-3 absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform [&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 after:md:hidden',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\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 {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuBadge\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuBadgeProps = ComponentProps<'div'>;\n\nfunction SidebarMenuBadge({ className, ...props }: SidebarMenuBadgeProps): JSX.Element {\n return (\n <div\n className={cn(\n 'text-sidebar-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',\n 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n data-sidebar=\"menu-badge\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSkeleton\n * -------------------------------------------------------------------------- */\n\ninterface SidebarMenuSkeletonProps extends ComponentProps<'div'> {\n showIcon?: boolean;\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: SidebarMenuSkeletonProps): 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 {...props}\n >\n {showIcon ? (\n <Skeleton className=\"size-4 rounded-md\" data-sidebar=\"menu-skeleton-icon\" />\n ) : 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\ntype SidebarMenuSubProps = ComponentProps<'ul'>;\n\nfunction SidebarMenuSub({ className, ...props }: SidebarMenuSubProps): 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',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n data-sidebar=\"menu-sub\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSubItem\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuSubItemProps = ComponentProps<'li'>;\n\nfunction SidebarMenuSubItem({ ...props }: SidebarMenuSubItemProps): JSX.Element {\n return <li {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSubButton\n * -------------------------------------------------------------------------- */\n\ninterface SidebarMenuSubButtonProps extends ComponentProps<'a'> {\n asChild?: boolean;\n isActive?: boolean;\n size?: 'md' | 'sm';\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n className,\n isActive,\n size = 'md',\n ...props\n}: SidebarMenuSubButtonProps): 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 focus-visible:ring-3 flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-none 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 'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground',\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 {...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 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-4OYK75XH.cjs","../src/components/toggle-group.tsx"],"names":["ToggleGroupPrimitive","useToggleGroupScope","createToggleGroupScope","ToggleGroupProvider","useToggleGroupContext","createToggleGroupContext","TOGGLE_GROUP_NAME","ToggleGroup","children","className","size","props","toggleGroupScope","jsx","__scopeToggleGroup","cn","context","TOGGLE_GROUP_ITEM_NAME","jsxs","toggleVariants","prefix"],"mappings":"AAAA,uWAAY,CAAC,wDAAmC,wDCKvC,uDACGA,oHACH,+CAWiB,IAAA,CAAA,CAAA,aAIuE,CAE3FC,CAAAA,CAAsBC,CAAAA,CAAuB,8CAAA,CAE5CC,CAAAA,CAAqBC,wCAAqB,CAAA,CAC/CC,CAAAA,CAA8CC,CAAiB,sDAAA,CAIjE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAASC,CAAAA,CAAY,CACnB,CAAA,SAAA,CAAA,CAAA,CAAA,kBACAC,CACA,CAAA,CAAA,QAAAC,CAAAA,CACA,CAAA,SACA,CAAA,CAAAC,CAAAA,IACA,CAAA,CAAA,CAAA,IACA,CAAA,CAAA,CAAGC,OAEH,CAAMC,CAAAA,CAAmBX,GAAsC,CAAA,CAE/D,CAAA,CAAA,IAAA,CACEY,CAAAA,CAACV,CAAAA,CAAA,CAAoB,CAAA,OAAY,6BAAA,CAAA,CAAA,CAAOW,IAAoB,CAAA,CAAA,CAAMJ,KAAM,CAAA,CAAA,CAAA,IACtE,CAAA,CAAA,CAAA,OAAAG,CAAsB,CAAA,CAAA,QACpB,CAAA,6BAAA,CAAA,CAAA,IAAWE,CAAG,CAAA,SAAA,CAAA,iCAAA,0CAEVJ,CAEH,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,GACH,CAAA,CACF,QAQ2B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,iBAS7B,CAAA,SAAA,CAAA,CAAA,CAAA,kBACAH,CACA,CAAA,CAAA,QAAAC,CAAAA,CACA,CAAA,SACA,CAAA,CAAA,CAAA,MACA,CAAA,CAAGE,CACL,MACE,CAAMK,CAAAA,CAAUZ,GAAsBa,CAAwBH,CAAkB,CAAA,CAC1EF,IAAuCE,CAAkB,CAAA,CAE/D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACEI,CAAAA,CAAsB,CAAA,CAAA,CAAA,CAAA,OACpB,8BAAA,CAAA,CAAA,IAAWC,CAAe,CAAE,SAAY,CAAA,iCAAA,CAAA,GAAU,CAAC,CAAA,SAE/CR,CAAAA,CAEH,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,GAAAS,CACA,CAAA,QAAOZ,CAAa,CAAA,CAAA,CAAA,OAAWK,CAAC,EAAA,QAAK,CAAA,6BAAA,MAAU,CAAA,CAAA,SAAY,CAAA,UAAS,CAAUL,QAIrF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,6BAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-4OYK75XH.cjs","sourcesContent":[null,"'use client';\n\nimport type { Scope } from '@radix-ui/react-context';\nimport type { ComponentProps, JSX, ReactNode } from 'react';\n\nimport { createContextScope } from '@radix-ui/react-context';\nimport * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';\nimport { createToggleGroupScope } from '@radix-ui/react-toggle-group';\n\nimport type { ToggleVariantsProps } from '@/variants/toggle.variants';\n\nimport { cn } from '@/lib/utils';\nimport { toggleVariants } from '@/variants/toggle.variants';\n\n/* -----------------------------------------------------------------------------\n * Component: ToggleGroup\n * -------------------------------------------------------------------------- */\n\nconst TOGGLE_GROUP_NAME = 'ToggleGroup';\n\ntype ScopedProps<P> = P & { __scopeToggleGroup?: Scope };\n\nconst [createToggleGroupContext] = createContextScope(TOGGLE_GROUP_NAME, [createToggleGroupScope]);\n\nconst useToggleGroupScope = createToggleGroupScope();\n\nconst [ToggleGroupProvider, useToggleGroupContext] =\n createToggleGroupContext<ToggleVariantsProps>(TOGGLE_GROUP_NAME);\n\ntype ToggleGroupProps = ComponentProps<typeof ToggleGroupPrimitive.Root> & ToggleVariantsProps;\n\nfunction ToggleGroup({\n __scopeToggleGroup,\n children,\n className,\n icon,\n size,\n variant,\n ...props\n}: ScopedProps<ToggleGroupProps>): JSX.Element {\n const toggleGroupScope = useToggleGroupScope(__scopeToggleGroup);\n\n return (\n <ToggleGroupProvider icon={icon} scope={__scopeToggleGroup} size={size} variant={variant}>\n <ToggleGroupPrimitive.Root\n className={cn('flex items-center justify-center gap-1.5', className)}\n {...toggleGroupScope}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Root>\n </ToggleGroupProvider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ToggleGroupItem\n * -------------------------------------------------------------------------- */\n\nconst TOGGLE_GROUP_ITEM_NAME = 'ToggleGroupItem';\n\ninterface ToggleGroupItemProps\n extends Omit<ComponentProps<typeof ToggleGroupPrimitive.Item>, 'prefix'> {\n prefix?: ReactNode;\n suffix?: ReactNode;\n}\n\nfunction ToggleGroupItem({\n __scopeToggleGroup,\n children,\n className,\n prefix,\n suffix,\n ...props\n}: ScopedProps<ToggleGroupItemProps>): JSX.Element {\n const context = useToggleGroupContext(TOGGLE_GROUP_ITEM_NAME, __scopeToggleGroup);\n const toggleGroupScope = useToggleGroupScope(__scopeToggleGroup);\n\n return (\n <ToggleGroupPrimitive.Item\n className={toggleVariants({ ...context, className })}\n {...toggleGroupScope}\n {...props}\n >\n {prefix}\n {typeof children === 'string' ? <span className=\"truncate\">{children}</span> : children}\n {suffix}\n </ToggleGroupPrimitive.Item>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type { ToggleGroupItemProps, ToggleGroupProps };\nexport { ToggleGroup, ToggleGroupItem };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-4VEUMBAT.cjs","../src/components/toggle.tsx"],"names":["Toggle","children","className","icon","prefix","size","suffix","variant","props","jsxs","toggleVariants","jsx"],"mappings":"AAAA,mZAAwC,oGCEP,+CA4B7B,SAXKA,CAAAA,CAAO,CACd,QAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAA6B,CAC3B,OACEC,8BAAAA,CAAiB,CAAA,IAAA,CAAhB,CAAqB,SAAA,CAAWC,iCAAAA,CAAiB,SAAA,CAAAR,CAAAA,CAAW,IAAA,CAAAC,CAAAA,CAAM,IAAA,CAAAE,CAAAA,CAAM,OAAA,CAAAE,CAAQ,CAAC,CAAA,CAAI,GAAGC,CAAAA,CACtF,QAAA,CAAA,CAAAJ,CAAAA,CACA,OAAOH,CAAAA,EAAa,QAAA,CAAWU,6BAAAA,MAAC,CAAA,CAAK,SAAA,CAAU,UAAA,CAAY,QAAA,CAAAV,CAAAA,CAAS,CAAA,CAAUA,CAAAA,CAC9EK,CAAAA,CAAAA,CACH,CAEJ,CAAA,cAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-4VEUMBAT.cjs","sourcesContent":[null,"import type { ComponentProps, JSX, ReactNode } from 'react';\n\nimport * as TogglePrimitive from '@radix-ui/react-toggle';\n\nimport type { ToggleVariantsProps } from '@/variants/toggle.variants';\n\nimport { toggleVariants } from '@/variants/toggle.variants';\n\n/* -----------------------------------------------------------------------------\n * Component: Toggle\n * -------------------------------------------------------------------------- */\n\ninterface ToggleProps\n extends Omit<ComponentProps<typeof TogglePrimitive.Root>, 'prefix'>,\n ToggleVariantsProps {\n prefix?: ReactNode;\n suffix?: ReactNode;\n}\n\nfunction Toggle({\n children,\n className,\n icon,\n prefix,\n size,\n suffix,\n variant,\n ...props\n}: ToggleProps): JSX.Element {\n return (\n <TogglePrimitive.Root className={toggleVariants({ className, icon, size, variant })} {...props}>\n {prefix}\n {typeof children === 'string' ? <span className=\"truncate\">{children}</span> : children}\n {suffix}\n </TogglePrimitive.Root>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type { ToggleProps };\nexport { Toggle };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-5AP5SOMK.cjs","../src/components/popover.tsx"],"names":["Popover","PopoverTrigger","PopoverAnchor","PopoverContent","align","className","sideOffset","props","jsx","cn","PopoverArrow"],"mappings":"AAAA,mZAAwC,uGCEN,+CAuC5B,IA9BAA,CAAAA,CAA2B,CAAA,CAAA,IAAA,CAO3BC,CAAAA,aAAkC,CAAA,CAAA,OAAA,CAOlCC,CAAAA,aAAiC,CAAA,CAAA,MAAA,CAQvC,SAASC,CAAAA,CAAe,CACtB,KAAA,CAAAC,CAAAA,CAAQ,QAAA,CACR,SAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CAAa,CAAA,CACb,GAAGC,CACL,CAAA,CAAqC,CACnC,OACEC,6BAAAA,CAAkB,CAAA,MAAA,CAAjB,CACC,QAAA,CAAAA,6BAAAA,CAAkB,CAAA,OAAA,CAAjB,CACC,KAAA,CAAOJ,CAAAA,CACP,SAAA,CAAWK,iCAAAA,kFACT,CACA,qFAAA,CACA,0DAAA,CACA,0DAAA,CACA,0DAAA,CACA,0DAAA,CACA,8FAAA,CACA,2DAAA,CACA,2DAAA,CACA,2DAAA,CACA,2DAAA,CACAJ,CACF,CAAA,CACA,UAAA,CAAYC,CAAAA,CACX,GAAGC,CAAAA,CACN,CAAA,CACF,CAEJ,CAQA,SAASG,CAAAA,CAAa,CAAE,SAAA,CAAAL,CAAAA,CAAW,GAAGE,CAAM,CAAA,CAAmC,CAC7E,OAAOC,6BAAAA,CAAkB,CAAA,KAAA,CAAjB,CAAuB,SAAA,CAAWC,iCAAAA,cAAG,CAAgBJ,CAAS,CAAA,CAAI,GAAGE,CAAAA,CAAO,CACtF,CAAA,0EAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-5AP5SOMK.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport * as PopoverPrimitive from '@radix-ui/react-popover';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Popover\n * -------------------------------------------------------------------------- */\n\ntype PopoverProps = ComponentProps<typeof PopoverPrimitive.Root>;\nconst Popover = PopoverPrimitive.Root;\n\n/* -----------------------------------------------------------------------------\n * Component: PopoverTrigger\n * -------------------------------------------------------------------------- */\n\ntype PopoverTriggerProps = ComponentProps<typeof PopoverPrimitive.Trigger>;\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\n/* -----------------------------------------------------------------------------\n * Component: PopoverAnchor\n * -------------------------------------------------------------------------- */\n\ntype PopoverAnchorProps = ComponentProps<typeof PopoverPrimitive.Anchor>;\nconst PopoverAnchor = PopoverPrimitive.Anchor;\n\n/* -----------------------------------------------------------------------------\n * Component: PopoverContent\n * -------------------------------------------------------------------------- */\n\ntype PopoverContentProps = ComponentProps<typeof PopoverPrimitive.Content>;\n\nfunction PopoverContent({\n align = 'center',\n className,\n sideOffset = 6,\n ...props\n}: PopoverContentProps): JSX.Element {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n align={align}\n className={cn(\n 'bg-popover text-popover-foreground z-50 min-w-32 rounded-md border p-4 shadow-md',\n 'data-[state=open]:animate-in data-[state=open]:fade-in data-[state=open]:zoom-in-95',\n 'data-[state=open]:data-[side=top]:slide-in-from-bottom-2',\n 'data-[state=open]:data-[side=right]:slide-in-from-left-2',\n 'data-[state=open]:data-[side=bottom]:slide-in-from-top-2',\n 'data-[state=open]:data-[side=left]:slide-in-from-right-2',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:zoom-out-95',\n 'data-[state=closed]:data-[side=top]:slide-out-to-bottom-2',\n 'data-[state=closed]:data-[side=left]:slide-out-to-right-2',\n 'data-[state=closed]:data-[side=bottom]:slide-out-to-top-2',\n 'data-[state=closed]:data-[side=right]:slide-out-to-left-2',\n className,\n )}\n sideOffset={sideOffset}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PopoverArrow\n * -------------------------------------------------------------------------- */\n\ntype PopoverArrowProps = ComponentProps<typeof PopoverPrimitive.Arrow>;\n\nfunction PopoverArrow({ className, ...props }: PopoverArrowProps): JSX.Element {\n return <PopoverPrimitive.Arrow className={cn('fill-popover', className)} {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type {\n PopoverAnchorProps,\n PopoverArrowProps,\n PopoverContentProps,\n PopoverProps,\n PopoverTriggerProps,\n};\nexport { Popover, PopoverAnchor, PopoverArrow, PopoverContent, PopoverTrigger };\n"]}
|
package/dist/chunk-5WX3E22K.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _tailwindvariants = require('tailwind-variants');var a=_tailwindvariants.tv.call(void 0, {base:["inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-md px-4 text-sm font-medium transition","[&>svg]:shrink-0","focus-visible:outline-none","focus-visible:ring-ring/40 focus-visible:ring-3","disabled:pointer-events-none disabled:opacity-50"],compoundVariants:[{className:"w-7",icon:!0,size:"xxs"},{className:"w-8",icon:!0,size:"xs"},{className:"w-9",icon:!0,size:"sm"},{className:"w-10",icon:!0,size:"md"},{className:"w-11",icon:!0,size:"lg"},{className:"w-12",icon:!0,size:"xl"},{className:"[&>svg]:size-3",size:"xxs"},{className:"[&>svg]:size-3.5",size:"xs"}],defaultVariants:{icon:!1,size:"md",variant:"default"},variants:{icon:{false:"",true:"px-0"},size:{lg:"h-11 [&>svg]:size-5",md:"h-10 [&>svg]:size-4",sm:"h-9 [&>svg]:size-4",xl:"h-12 [&>svg]:size-5",xs:"h-8 [&>svg]:size-3.5",xxs:"h-7 [&>svg]:size-3"},variant:{default:["data-[state=on]:bg-primary data-[state=on]:text-primary-foreground data-[state=on]:shadow-sm","hover:bg-primary/80 hover:text-primary-foreground"],destructive:["data-[state=on]:bg-destructive data-[state=on]:text-destructive-foreground data-[state=on]:shadow-sm","hover:bg-destructive/80 hover:text-destructive-foreground"],ghost:["data-[state=on]:bg-accent data-[state=on]:text-accent-foreground","hover:bg-accent/80 hover:text-accent-foreground"],info:["data-[state=on]:bg-info data-[state=on]:text-info-foreground data-[state=on]:shadow-sm","hover:bg-info/80 hover:text-info-foreground"],outline:["data-[state=on]:bg-accent data-[state=on]:text-accent-foreground","hover:bg-accent/80 hover:text-accent-foreground","bg-background border-input border shadow-sm"],secondary:["data-[state=on]:bg-secondary data-[state=on]:text-secondary-foreground data-[state=on]:shadow-sm","hover:bg-secondary/80 hover:text-secondary-foreground"],success:["data-[state=on]:bg-success data-[state=on]:text-success-foreground data-[state=on]:shadow-sm","hover:bg-success/80 hover:text-success-foreground"],warning:["data-[state=on]:bg-warning data-[state=on]:text-warning-foreground data-[state=on]:shadow-sm","hover:bg-warning/80 hover:text-warning-foreground"]}}});exports.a = a;
|
|
2
|
-
//# sourceMappingURL=chunk-5WX3E22K.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/variants/toggle.variants.ts"],"names":["toggleVariants","tv"],"mappings":"AAEA,8HAAmB,IAEbA,CAAAA,CAAiBC,kCAAAA,CACrB,IAAA,CAAM,CACJ,qIAAA,CACA,kBAAA,CACA,4BAAA,CACA,iDAAA,CACA,kDACF,CAAA,CACA,gBAAA,CAAkB,CAEhB,CAAE,SAAA,CAAW,KAAA,CAAO,IAAA,CAAM,CAAA,CAAA,CAAM,IAAA,CAAM,KAAM,CAAA,CAC5C,CAAE,SAAA,CAAW,KAAA,CAAO,IAAA,CAAM,CAAA,CAAA,CAAM,IAAA,CAAM,IAAK,CAAA,CAC3C,CAAE,SAAA,CAAW,KAAA,CAAO,IAAA,CAAM,CAAA,CAAA,CAAM,IAAA,CAAM,IAAK,CAAA,CAC3C,CAAE,SAAA,CAAW,MAAA,CAAQ,IAAA,CAAM,CAAA,CAAA,CAAM,IAAA,CAAM,IAAK,CAAA,CAC5C,CAAE,SAAA,CAAW,MAAA,CAAQ,IAAA,CAAM,CAAA,CAAA,CAAM,IAAA,CAAM,IAAK,CAAA,CAC5C,CAAE,SAAA,CAAW,MAAA,CAAQ,IAAA,CAAM,CAAA,CAAA,CAAM,IAAA,CAAM,IAAK,CAAA,CAE5C,CAAE,SAAA,CAAW,gBAAA,CAAkB,IAAA,CAAM,KAAM,CAAA,CAC3C,CAAE,SAAA,CAAW,kBAAA,CAAoB,IAAA,CAAM,IAAK,CAC9C,CAAA,CACA,eAAA,CAAiB,CACf,IAAA,CAAM,CAAA,CAAA,CACN,IAAA,CAAM,IAAA,CACN,OAAA,CAAS,SACX,CAAA,CACA,QAAA,CAAU,CACR,IAAA,CAAM,CAAE,KAAA,CAAO,EAAA,CAAI,IAAA,CAAM,MAAO,CAAA,CAChC,IAAA,CAAM,CACJ,EAAA,CAAI,qBAAA,CACJ,EAAA,CAAI,qBAAA,CACJ,EAAA,CAAI,oBAAA,CACJ,EAAA,CAAI,qBAAA,CACJ,EAAA,CAAI,sBAAA,CACJ,GAAA,CAAK,oBACP,CAAA,CACA,OAAA,CAAS,CACP,OAAA,CAAS,CACP,8FAAA,CACA,mDACF,CAAA,CACA,WAAA,CAAa,CACX,sGAAA,CACA,2DACF,CAAA,CACA,KAAA,CAAO,CACL,kEAAA,CACA,iDACF,CAAA,CACA,IAAA,CAAM,CACJ,wFAAA,CACA,6CACF,CAAA,CACA,OAAA,CAAS,CACP,kEAAA,CACA,iDAAA,CACA,6CACF,CAAA,CACA,SAAA,CAAW,CACT,kGAAA,CACA,uDACF,CAAA,CACA,OAAA,CAAS,CACP,8FAAA,CACA,mDACF,CAAA,CACA,OAAA,CAAS,CACP,8FAAA,CACA,mDACF,CACF,CACF,CACF,CAAC,CAAA,CAAA,cAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-5WX3E22K.cjs","sourcesContent":["import type { VariantProps } from 'tailwind-variants';\n\nimport { tv } from 'tailwind-variants';\n\nconst toggleVariants = tv({\n base: [\n 'inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-md px-4 text-sm font-medium transition',\n '[&>svg]:shrink-0',\n 'focus-visible:outline-none',\n 'focus-visible:ring-ring/40 focus-visible:ring-3',\n 'disabled:pointer-events-none disabled:opacity-50',\n ],\n compoundVariants: [\n // --\n { className: 'w-7', icon: true, size: 'xxs' },\n { className: 'w-8', icon: true, size: 'xs' },\n { className: 'w-9', icon: true, size: 'sm' },\n { className: 'w-10', icon: true, size: 'md' },\n { className: 'w-11', icon: true, size: 'lg' },\n { className: 'w-12', icon: true, size: 'xl' },\n // --\n { className: '[&>svg]:size-3', size: 'xxs' },\n { className: '[&>svg]:size-3.5', size: 'xs' },\n ],\n defaultVariants: {\n icon: false,\n size: 'md',\n variant: 'default',\n },\n variants: {\n icon: { false: '', true: 'px-0' },\n size: {\n lg: 'h-11 [&>svg]:size-5', // 44px\n md: 'h-10 [&>svg]:size-4', // 40px\n sm: 'h-9 [&>svg]:size-4', // 36px\n xl: 'h-12 [&>svg]:size-5', // 48px\n xs: 'h-8 [&>svg]:size-3.5', // 32px\n xxs: 'h-7 [&>svg]:size-3', // 28px\n },\n variant: {\n default: [\n 'data-[state=on]:bg-primary data-[state=on]:text-primary-foreground data-[state=on]:shadow-sm',\n 'hover:bg-primary/80 hover:text-primary-foreground',\n ],\n destructive: [\n 'data-[state=on]:bg-destructive data-[state=on]:text-destructive-foreground data-[state=on]:shadow-sm',\n 'hover:bg-destructive/80 hover:text-destructive-foreground',\n ],\n ghost: [\n 'data-[state=on]:bg-accent data-[state=on]:text-accent-foreground',\n 'hover:bg-accent/80 hover:text-accent-foreground',\n ],\n info: [\n 'data-[state=on]:bg-info data-[state=on]:text-info-foreground data-[state=on]:shadow-sm',\n 'hover:bg-info/80 hover:text-info-foreground',\n ],\n outline: [\n 'data-[state=on]:bg-accent data-[state=on]:text-accent-foreground',\n 'hover:bg-accent/80 hover:text-accent-foreground',\n 'bg-background border-input border shadow-sm',\n ],\n secondary: [\n 'data-[state=on]:bg-secondary data-[state=on]:text-secondary-foreground data-[state=on]:shadow-sm',\n 'hover:bg-secondary/80 hover:text-secondary-foreground',\n ],\n success: [\n 'data-[state=on]:bg-success data-[state=on]:text-success-foreground data-[state=on]:shadow-sm',\n 'hover:bg-success/80 hover:text-success-foreground',\n ],\n warning: [\n 'data-[state=on]:bg-warning data-[state=on]:text-warning-foreground data-[state=on]:shadow-sm',\n 'hover:bg-warning/80 hover:text-warning-foreground',\n ],\n },\n },\n});\n\ntype ToggleVariantsProps = VariantProps<typeof toggleVariants>;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type { ToggleVariantsProps };\nexport { toggleVariants };\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/separator.tsx"],"names":["SeparatorPrimitive","tv","jsx","separatorVariants","Separator","align","className","decorative","orientation","props","SeparatorItem","cn"],"mappings":"mCAGA,UAAYA,MAAwB,4BACpC,OAAS,MAAAC,MAAU,oBA6Cf,cAAAC,MAAA,oBArCJ,IAAMC,EAAoBF,EAAG,CAC3B,KAAM,+CACN,gBAAiB,CACf,MAAO,SACP,YAAa,YACf,EACA,SAAU,CACR,MAAO,CACL,OAAQ,iBACR,IAAK,cACL,MAAO,eACT,EACA,YAAa,CACX,WAAY,cACZ,SAAU,sBACZ,CACF,CACF,CAAC,EAYD,SAASG,EAAU,CACjB,MAAAC,EACA,UAAAC,EACA,WAAAC,EAAa,GACb,YAAAC,EACA,GAAGC,CACL,EAAgC,CAC9B,OACEP,EAAoB,OAAnB,CACC,UAAWC,EAAkB,CAAE,MAAAE,EAAO,UAAAC,EAAW,YAAAE,CAAY,CAAC,EAC9D,WAAYD,EACZ,YAAaC,EACZ,GAAGC,EACN,CAEJ,CAQA,SAASC,EAAc,CAAE,UAAAJ,EAAW,GAAGG,CAAM,EAAoC,CAC/E,OACEP,EAAC,OACC,UAAWS,EAAG,iEAAkEL,CAAS,EACxF,GAAGG,EACN,CAEJ","sourcesContent":["import type { ComponentProps, JSX } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport * as SeparatorPrimitive from '@radix-ui/react-separator';\nimport { tv } from 'tailwind-variants';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Variant: Separator\n * -------------------------------------------------------------------------- */\n\nconst separatorVariants = tv({\n base: 'bg-muted relative flex shrink-0 items-center',\n defaultVariants: {\n align: 'center',\n orientation: 'horizontal',\n },\n variants: {\n align: {\n center: 'justify-center',\n end: 'justify-end',\n start: 'justify-start',\n },\n orientation: {\n horizontal: 'h-px w-full',\n vertical: 'h-full w-px flex-col',\n },\n },\n});\n\ntype SeparatorVariantsProps = VariantProps<typeof separatorVariants>;\n\n/* -----------------------------------------------------------------------------\n * Component: Separator\n * -------------------------------------------------------------------------- */\n\ninterface SeparatorProps\n extends ComponentProps<typeof SeparatorPrimitive.Root>,\n Omit<SeparatorVariantsProps, 'orientation'> {}\n\nfunction Separator({\n align,\n className,\n decorative = true,\n orientation,\n ...props\n}: SeparatorProps): JSX.Element {\n return (\n <SeparatorPrimitive.Root\n className={separatorVariants({ align, className, orientation })}\n decorative={decorative}\n orientation={orientation}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SeparatorItem\n * -------------------------------------------------------------------------- */\n\ntype SeparatorItemProps = ComponentProps<'div'>;\n\nfunction SeparatorItem({ className, ...props }: SeparatorItemProps): JSX.Element {\n return (\n <div\n className={cn('bg-background text-muted-foreground absolute mx-2 px-2 text-sm', className)}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type { SeparatorProps };\nexport { Separator, SeparatorItem };\n"]}
|
package/dist/chunk-6SAOAD7N.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a}from"./chunk-OKUFCFYT.js";import{VisuallyHidden as f}from"@radix-ui/react-visually-hidden";import{jsx as n,jsxs as l}from"react/jsx-runtime";var e=8;function c({children:r,className:i,loading:s=!0,...p}){if(!s)return r;let o=n("span",{className:a("relative flex size-4 items-center justify-center opacity-60",i),...p,children:Array.from({length:e},(u,t)=>n("span",{className:"before:fade-out-25 before:animate-out before:animation-repeat-infinite before:animation-delay-(--spinner-delay) before:animation-duration-(--spinner-duration) rotate-(--spinner-rotate) absolute h-full before:block before:h-1/3 before:w-full before:rounded-full before:bg-current",style:{"--spinner-delay":`-${((e-t)*100).toString()}ms`,"--spinner-duration":`${(e*100).toString()}ms`,"--spinner-rotate":`${(360/e*t).toString()}deg`,width:`${(100/e).toString()}%`}},t))});return r===void 0?o:l("span",{className:"relative",children:[n("span",{"aria-hidden":!0,className:"invisible contents",children:r}),n(f,{children:r}),n("span",{className:"absolute inset-0 flex items-center justify-center",children:o})]})}export{c as a};
|
|
2
|
-
//# sourceMappingURL=chunk-6SAOAD7N.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/spinner.tsx"],"names":["VisuallyHidden","jsx","jsxs","spinnerCount","Spinner","children","className","loading","props","spinner","cn","_","i"],"mappings":"mCAEA,OAAS,kBAAAA,MAAsB,kCAyBvB,cAAAC,EAqBJ,QAAAC,MArBI,oBAjBR,IAAMC,EAAe,EAMrB,SAASC,EAAQ,CAAE,SAAAC,EAAU,UAAAC,EAAW,QAAAC,EAAU,GAAM,GAAGC,CAAM,EAA4B,CAC3F,GAAI,CAACD,EACH,OAAOF,EAGT,IAAMI,EACJR,EAAC,QACC,UAAWS,EAAG,8DAA+DJ,CAAS,EACrF,GAAGE,EAEH,eAAM,KAAK,CAAE,OAAQL,CAAa,EAAG,CAACQ,EAAGC,IACxCX,EAAC,QAEC,UAAU,yRACV,MACE,CACE,kBAAmB,MAAME,EAAeS,GAAK,KAAK,SAAS,CAAC,KAC5D,qBAAsB,IAAIT,EAAe,KAAK,SAAS,CAAC,KACxD,mBAAoB,IAAK,IAAMA,EAAgBS,GAAG,SAAS,CAAC,MAC5D,MAAO,IAAI,IAAMT,GAAc,SAAS,CAAC,GAC3C,GARGS,CAUP,CACD,EACH,EAGF,OAAIP,IAAa,OACRI,EAIPP,EAAC,QAAK,UAAU,WACd,UAAAD,EAAC,QAAK,cAAW,GAAC,UAAU,qBACzB,SAAAI,EACH,EACAJ,EAACD,EAAA,CAAgB,SAAAK,EAAS,EAC1BJ,EAAC,QAAK,UAAU,oDAAqD,SAAAQ,EAAQ,GAC/E,CAEJ","sourcesContent":["import type { ComponentProps, CSSProperties, ReactNode } from 'react';\n\nimport { VisuallyHidden } from '@radix-ui/react-visually-hidden';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: Spinner\n * -------------------------------------------------------------------------- */\n\nconst spinnerCount = 8;\n\ninterface SpinnerProps extends ComponentProps<'span'> {\n loading?: boolean;\n}\n\nfunction Spinner({ children, className, loading = true, ...props }: SpinnerProps): ReactNode {\n if (!loading) {\n return children;\n }\n\n const spinner = (\n <span\n className={cn('relative flex size-4 items-center justify-center opacity-60', className)}\n {...props}\n >\n {Array.from({ length: spinnerCount }, (_, i) => (\n <span\n key={i}\n className=\"before:fade-out-25 before:animate-out before:animation-repeat-infinite before:animation-delay-(--spinner-delay) before:animation-duration-(--spinner-duration) rotate-(--spinner-rotate) absolute h-full before:block before:h-1/3 before:w-full before:rounded-full before:bg-current\"\n style={\n {\n '--spinner-delay': `-${((spinnerCount - i) * 100).toString()}ms`,\n '--spinner-duration': `${(spinnerCount * 100).toString()}ms`,\n '--spinner-rotate': `${((360 / spinnerCount) * i).toString()}deg`,\n width: `${(100 / spinnerCount).toString()}%`,\n } as CSSProperties\n }\n />\n ))}\n </span>\n );\n\n if (children === undefined) {\n return spinner;\n }\n\n return (\n <span className=\"relative\">\n <span aria-hidden className=\"invisible contents\">\n {children}\n </span>\n <VisuallyHidden>{children}</VisuallyHidden>\n <span className=\"absolute inset-0 flex items-center justify-center\">{spinner}</span>\n </span>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type { SpinnerProps };\nexport { Spinner };\n"]}
|
package/dist/chunk-7AO2GOMC.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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 _chunk2T5ATHNGcjs = require('./chunk-2T5ATHNG.cjs');var _chunkMTR3VABRcjs = require('./chunk-MTR3VABR.cjs');var _chunkAK26BZ5Acjs = require('./chunk-AK26BZ5A.cjs');var _chunkYZHSPX6Ycjs = require('./chunk-YZHSPX6Y.cjs');var _chunkMSABUPTOcjs = require('./chunk-MSABUPTO.cjs');var _chunkA5RWHIEDcjs = require('./chunk-A5RWHIED.cjs');var _chunkSMJEDCFPcjs = require('./chunk-SMJEDCFP.cjs');var _hooks = require('@codefast/hooks');var _reactslot = require('@radix-ui/react-slot');var _reactvisuallyhidden = require('@radix-ui/react-visually-hidden');var _jscookie = require('js-cookie'); var _jscookie2 = _interopRequireDefault(_jscookie);var _lucidereact = require('lucide-react');var _react = require('react');var _tailwindvariants = require('tailwind-variants');var _jsxruntime = require('react/jsx-runtime');var q="sidebar:state",$=7,Q="16rem",U="18rem",Y="3rem",Z="b",ee=768,D=_react.createContext.call(void 0, null);function x(){let e=_react.useContext.call(void 0, D);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}function ge({children:e,className:t,defaultOpen:n=!0,onOpenChange:r,open:i,style:l,...f}){let p=_hooks.useMediaQuery.call(void 0, `(max-width: ${ee-1}px)`),[u,d]=_react.useState.call(void 0, !1),[S,w]=_react.useState.call(void 0, n),m=_nullishCoalesce(i, () => (S)),v=_react.useCallback.call(void 0, s=>{let b=typeof s=="function"?s(m):s;r?r(b):w(b),_jscookie2.default.set(q,String(b),{expires:$,path:"/"})},[r,m]),h=_react.useCallback.call(void 0, ()=>{p?d(s=>!s):v(s=>!s)},[p,v,d]);_react.useEffect.call(void 0, ()=>{let s=b=>{b.key===Z&&(b.metaKey||b.ctrlKey)&&(b.preventDefault(),h())};return window.addEventListener("keydown",s),()=>{window.removeEventListener("keydown",s)}},[h]);let C=m?"expanded":"collapsed",G=_react.useMemo.call(void 0, ()=>({isMobile:p,open:m,openMobile:u,setOpen:v,setOpenMobile:d,state:C,toggleSidebar:h}),[C,m,v,p,u,d,h]);return _jsxruntime.jsx.call(void 0, D.Provider,{value:G,children:_jsxruntime.jsx.call(void 0, _chunk2T5ATHNGcjs.a,{delayDuration:0,children:_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "group/sidebar-wrapper has-[[data-variant=inset]]:bg-sidebar flex min-h-svh w-full",t),style:{"--sidebar-width":Q,"--sidebar-width-icon":Y,...l},...f,children:e})})})}function Se({children:e,className:t,collapsible:n="offcanvas",side:r="left",variant:i="sidebar",...l}){let{isMobile:f,openMobile:p,setOpenMobile:u,state:d}=x();return n==="none"?_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-sidebar text-sidebar-foreground w-(--sidebar-width) flex h-full flex-col",t),...l,children:e}):f?_jsxruntime.jsx.call(void 0, _chunkMTR3VABRcjs.a,{open:p,onOpenChange:u,...l,children:_jsxruntime.jsxs.call(void 0, _chunkMTR3VABRcjs.c,{className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden","data-mobile":"true","data-sidebar":"sidebar",side:r,style:{"--sidebar-width":U},children:[_jsxruntime.jsxs.call(void 0, _reactvisuallyhidden.VisuallyHidden,{children:[_jsxruntime.jsx.call(void 0, _chunkMTR3VABRcjs.g,{children:"Sidebar"}),_jsxruntime.jsx.call(void 0, _chunkMTR3VABRcjs.h,{children:"Press escape to close the sidebar"})]}),_jsxruntime.jsx.call(void 0, "div",{className:"flex h-full w-full flex-col",children:e})]})}):_jsxruntime.jsxs.call(void 0, "div",{className:"text-sidebar-foreground group peer hidden md:block","data-collapsible":d==="collapsed"?n:"","data-side":r,"data-state":d,"data-variant":i,children:[_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "w-(--sidebar-width) relative h-svh bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",i==="floating"||i==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.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",r==="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)]",i==="floating"||i==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",t),...l,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","data-sidebar":"sidebar",children:e})})]})}function ve({className:e,onClick:t,...n}){let{toggleSidebar:r}=x();return _jsxruntime.jsxs.call(void 0, _chunkA5RWHIEDcjs.a,{icon:!0,className:_chunkSMJEDCFPcjs.a.call(void 0, "",e),"data-sidebar":"trigger",size:"xxs",variant:"ghost",onClick:i=>{_optionalChain([t, '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"})]})}function he({className:e,...t}){let{toggleSidebar:n}=x();return _jsxruntime.jsx.call(void 0, "button",{"aria-label":"Toggle Sidebar",className:_chunkSMJEDCFPcjs.a.call(void 0, "hover:after:bg-sidebar-border 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-0.5 group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:hover:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),"data-sidebar":"rail",tabIndex:-1,title:"Toggle Sidebar",type:"button",onClick:n,...t})}function xe({className:e,...t}){return _jsxruntime.jsx.call(void 0, "main",{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-background relative flex min-h-svh flex-1 flex-col","peer-data-[variant=inset]:min-h-[calc(100svh-var(--spacing-4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",e),...t})}function Pe({className:e,...t}){return _jsxruntime.jsx.call(void 0, _chunkMSABUPTOcjs.a,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-background focus-visible:ring-sidebar-ring focus-visible:ring-3 h-8 w-full shadow-none",e),"data-sidebar":"input",...t})}function we({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex flex-col gap-2 p-2",e),"data-sidebar":"header",...t})}function Ce({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex flex-col gap-2 p-2",e),"data-sidebar":"footer",...t})}function ye({className:e,...t}){return _jsxruntime.jsx.call(void 0, _chunkYZHSPX6Ycjs.a,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-sidebar-border mx-2 w-auto",e),"data-sidebar":"separator",...t})}function Me({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),"data-sidebar":"content",...t})}function Ee({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "relative flex w-full min-w-0 flex-col p-2",e),"data-sidebar":"group",...t})}function Ie({asChild:e=!1,className:t,...n}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground/70 ring-sidebar-ring focus-visible:ring-3 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-none transition-[margin,opa] duration-200 ease-linear [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",t),"data-sidebar":"group-label",...n})}function Ne({asChild:e=!1,className:t,...n}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"button",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-3 absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",t),"data-sidebar":"group-action",...n})}function _e({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "w-full text-sm",e),"data-sidebar":"group-content",...t})}function ke({className:e,...t}){return _jsxruntime.jsx.call(void 0, "ul",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex w-full min-w-0 flex-col gap-1",e),"data-sidebar":"menu",...t})}function Be({className:e,...t}){return _jsxruntime.jsx.call(void 0, "li",{className:_chunkSMJEDCFPcjs.a.call(void 0, "group/menu-item relative",e),"data-sidebar":"menu-item",...t})}var te=_tailwindvariants.tv.call(void 0, {base:"peer/menu-button ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground 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 focus-visible:ring-3 flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none transition-[width,height,padding] disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",defaultVariants:{size:"default",variant:"default"},variants:{size:{default:"h-8 text-sm",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0",sm:"h-7 text-xs"},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(--color-sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--color-sidebar-accent))]"}}});function Xe({asChild:e=!1,className:t,isActive:n=!1,size:r="default",tooltip:i,variant:l="default",...f}){let p=e?_reactslot.Slot:"button",{isMobile:u,state:d}=x(),S=_jsxruntime.jsx.call(void 0, p,{className:_chunkSMJEDCFPcjs.a.call(void 0, te({size:r,variant:l}),t),"data-active":n,"data-sidebar":"menu-button","data-size":r,...f});return i?_jsxruntime.jsxs.call(void 0, _chunk2T5ATHNGcjs.b,{children:[_jsxruntime.jsx.call(void 0, _chunk2T5ATHNGcjs.c,{asChild:!0,children:S}),_jsxruntime.jsx.call(void 0, _chunk2T5ATHNGcjs.d,{align:"center",hidden:d!=="collapsed"||u,side:"right",...typeof i=="string"?{children:i}:i})]}):S}function Je({asChild:e=!1,className:t,showOnHover:n=!1,...r}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"button",{className:_chunkSMJEDCFPcjs.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 focus-visible:ring-3 absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",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",...r})}function Te({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-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","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",e),"data-sidebar":"menu-badge",...t})}function ze({className:e,showIcon:t=!1,...n}){let r=_react.useMemo.call(void 0, ()=>`${Math.floor(Math.random()*40)+50}%`,[]);return _jsxruntime.jsxs.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex h-8 items-center gap-2 rounded-md px-2",e),"data-sidebar":"menu-skeleton",...n,children:[t?_jsxruntime.jsx.call(void 0, _chunkAK26BZ5Acjs.a,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}):null,_jsxruntime.jsx.call(void 0, _chunkAK26BZ5Acjs.a,{className:"max-w-(--skeleton-width) h-4 flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":r}})]})}function Ae({className:e,...t}){return _jsxruntime.jsx.call(void 0, "ul",{className:_chunkSMJEDCFPcjs.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",e),"data-sidebar":"menu-sub",...t})}function Oe({...e}){return _jsxruntime.jsx.call(void 0, "li",{...e})}function De({asChild:e=!1,className:t,isActive:n,size:r="md",...i}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"a",{className:_chunkSMJEDCFPcjs.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 focus-visible:ring-3 flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-none 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","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",r==="sm"&&"text-xs",r==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",t),"data-active":n,"data-sidebar":"menu-sub-button","data-size":r,...i})}exports.a = x; exports.b = ge; exports.c = Se; exports.d = ve; exports.e = he; exports.f = xe; exports.g = Pe; exports.h = we; exports.i = Ce; exports.j = ye; exports.k = Me; exports.l = Ee; exports.m = Ie; exports.n = Ne; exports.o = _e; exports.p = ke; exports.q = Be; exports.r = Xe; exports.s = Je; exports.t = Te; exports.u = ze; exports.v = Ae; exports.w = Oe; exports.x = De;
|
|
2
|
-
//# sourceMappingURL=chunk-7AO2GOMC.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-7AO2GOMC.cjs","../src/components/sidebar.tsx"],"names":["Cookies","SIDEBAR_WIDTH_MOBILE","SIDEBAR_MOBILE_BREAKPOINT","SidebarContext","createContext","useSidebar","SidebarProvider","children","className","defaultOpen","setOpenProp","style","props","isMobile","useMediaQuery","openMobile","useState","isOpen","setIsOpen","open","openProp","setOpen","useCallback","value","openState","SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","setOpenMobile","currentValue","useEffect","handleKeyDown","event","SIDEBAR_KEYBOARD_SHORTCUT","state","contextValue","toggleSidebar","jsx","TooltipProvider","cn","Sidebar","collapsible","SheetContent","jsxs","VisuallyHidden","SheetTitle","side","variant","SidebarTrigger","Button","onClick","PanelLeftIcon","SidebarRail","SidebarInset","SidebarInput","Input","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Slot","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","SidebarMenuButton","isActive","Component","button","size","Tooltip","TooltipTrigger","tooltip","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","useMemo"],"mappings":"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","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-7AO2GOMC.cjs","sourcesContent":[null,"'use client';\n\nimport type { ComponentProps, CSSProperties, JSX } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { useMediaQuery } from '@codefast/hooks';\nimport { Slot } from '@radix-ui/react-slot';\nimport { VisuallyHidden } from '@radix-ui/react-visually-hidden';\nimport Cookies from 'js-cookie';\nimport { PanelLeftIcon } from 'lucide-react';\nimport { createContext, useCallback, useContext, 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, 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 = 7; // 1 week in days.\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\nconst SIDEBAR_MOBILE_BREAKPOINT = 768;\n\ninterface SidebarContext {\n isMobile: boolean;\n open: boolean;\n openMobile: boolean;\n setOpen: (open: boolean) => void;\n setOpenMobile: (open: boolean) => void;\n state: 'collapsed' | 'expanded';\n toggleSidebar: () => void;\n}\n\nconst SidebarContext = createContext<null | SidebarContext>(null);\n\nfunction useSidebar(): SidebarContext {\n const context = useContext(SidebarContext);\n\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n\n return context;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarProvider\n * -------------------------------------------------------------------------- */\n\ninterface SidebarProviderProps extends ComponentProps<'div'> {\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n open?: boolean;\n}\n\nfunction SidebarProvider({\n children,\n className,\n defaultOpen = true,\n onOpenChange: setOpenProp,\n open: openProp,\n style,\n ...props\n}: SidebarProviderProps): JSX.Element {\n const isMobile = useMediaQuery(`(max-width: ${SIDEBAR_MOBILE_BREAKPOINT - 1}px)`);\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 // This sets the cookie to keep the sidebar state.\n Cookies.set(SIDEBAR_COOKIE_NAME, String(openState), {\n expires: SIDEBAR_COOKIE_MAX_AGE,\n path: '/',\n });\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 => {\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 const contextValue = useMemo<SidebarContext>(\n () => ({\n isMobile,\n open,\n openMobile,\n setOpen,\n setOpenMobile,\n state,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n className={cn(\n 'group/sidebar-wrapper has-[[data-variant=inset]]:bg-sidebar flex min-h-svh w-full',\n className,\n )}\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 </SidebarContext.Provider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: Sidebar\n * -------------------------------------------------------------------------- */\n\ninterface SidebarProps extends ComponentProps<'div'> {\n collapsible?: 'icon' | 'none' | 'offcanvas';\n side?: 'left' | 'right';\n variant?: 'floating' | 'inset' | 'sidebar';\n}\n\nfunction Sidebar({\n children,\n className,\n collapsible = 'offcanvas',\n side = 'left',\n variant = 'sidebar',\n ...props\n}: SidebarProps): JSX.Element {\n const { isMobile, openMobile, setOpenMobile, state } = useSidebar();\n\n if (collapsible === 'none') {\n return (\n <div\n className={cn(\n 'bg-sidebar text-sidebar-foreground w-(--sidebar-width) flex h-full flex-col',\n className,\n )}\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 side={side}\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as CSSProperties\n }\n >\n <VisuallyHidden>\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Press escape to close the sidebar</SheetDescription>\n </VisuallyHidden>\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=\"text-sidebar-foreground group peer hidden md:block\"\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-side={side}\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 h-svh bg-transparent transition-[width] duration-200 ease-linear',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',\n )}\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)_+_theme(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 {...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\"\n data-sidebar=\"sidebar\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarTrigger\n * -------------------------------------------------------------------------- */\n\ntype SidebarTriggerProps = ComponentProps<typeof Button>;\n\nfunction SidebarTrigger({ className, onClick, ...props }: SidebarTriggerProps): JSX.Element {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n icon\n className={cn('', className)}\n data-sidebar=\"trigger\"\n size=\"xxs\"\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\ntype SidebarRailProps = ComponentProps<'button'>;\n\nfunction SidebarRail({ className, ...props }: SidebarRailProps): JSX.Element {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n aria-label=\"Toggle Sidebar\"\n className={cn(\n 'hover:after:bg-sidebar-border 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-0.5 group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex',\n '[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize',\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n 'group-data-[collapsible=offcanvas]:hover:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className,\n )}\n data-sidebar=\"rail\"\n tabIndex={-1}\n title=\"Toggle Sidebar\"\n type=\"button\"\n onClick={toggleSidebar}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarInset\n * -------------------------------------------------------------------------- */\n\ntype SidebarInsetProps = ComponentProps<'main'>;\n\nfunction SidebarInset({ className, ...props }: SidebarInsetProps): JSX.Element {\n return (\n <main\n className={cn(\n 'bg-background relative flex min-h-svh flex-1 flex-col',\n 'peer-data-[variant=inset]:min-h-[calc(100svh-var(--spacing-4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow',\n className,\n )}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarInput\n * -------------------------------------------------------------------------- */\n\ntype SidebarInputProps = ComponentProps<typeof Input>;\n\nfunction SidebarInput({ className, ...props }: SidebarInputProps): JSX.Element {\n return (\n <Input\n className={cn(\n 'bg-background focus-visible:ring-sidebar-ring focus-visible:ring-3 h-8 w-full shadow-none',\n className,\n )}\n data-sidebar=\"input\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarHeader\n * -------------------------------------------------------------------------- */\n\ntype SidebarHeaderProps = ComponentProps<'div'>;\n\nfunction SidebarHeader({ className, ...props }: SidebarHeaderProps): JSX.Element {\n return (\n <div className={cn('flex flex-col gap-2 p-2', className)} data-sidebar=\"header\" {...props} />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarFooter\n * -------------------------------------------------------------------------- */\n\ntype SidebarFooterProps = ComponentProps<'div'>;\n\nfunction SidebarFooter({ className, ...props }: SidebarFooterProps): JSX.Element {\n return (\n <div className={cn('flex flex-col gap-2 p-2', className)} data-sidebar=\"footer\" {...props} />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarSeparator\n * -------------------------------------------------------------------------- */\n\ntype SidebarSeparatorProps = ComponentProps<typeof Separator>;\n\nfunction SidebarSeparator({ className, ...props }: SidebarSeparatorProps): JSX.Element {\n return (\n <Separator\n className={cn('bg-sidebar-border mx-2 w-auto', className)}\n data-sidebar=\"separator\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarContent\n * -------------------------------------------------------------------------- */\n\ntype SidebarContentProps = ComponentProps<'div'>;\n\nfunction SidebarContent({ className, ...props }: SidebarContentProps): 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 {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroup\n * -------------------------------------------------------------------------- */\n\ntype SidebarGroupProps = ComponentProps<'div'>;\n\nfunction SidebarGroup({ className, ...props }: SidebarGroupProps): 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 {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupLabel\n * -------------------------------------------------------------------------- */\n\ninterface SidebarGroupLabelProps extends ComponentProps<'div'> {\n asChild?: boolean;\n}\n\nfunction SidebarGroupLabel({\n asChild = false,\n className,\n ...props\n}: SidebarGroupLabelProps): JSX.Element {\n const Component = asChild ? Slot : 'div';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground/70 ring-sidebar-ring focus-visible:ring-3 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-none transition-[margin,opa] duration-200 ease-linear [&>svg]:size-4 [&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n className,\n )}\n data-sidebar=\"group-label\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupAction\n * -------------------------------------------------------------------------- */\n\ninterface SidebarGroupActionProps extends ComponentProps<'button'> {\n asChild?: boolean;\n}\n\nfunction SidebarGroupAction({\n asChild = false,\n className,\n ...props\n}: SidebarGroupActionProps): 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 focus-visible:ring-3 absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform [&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 after:md:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n data-sidebar=\"group-action\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupContent\n * -------------------------------------------------------------------------- */\n\ntype SidebarGroupContentProps = ComponentProps<'div'>;\n\nfunction SidebarGroupContent({ className, ...props }: SidebarGroupContentProps): JSX.Element {\n return (\n <div className={cn('w-full text-sm', className)} data-sidebar=\"group-content\" {...props} />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenu\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuProps = ComponentProps<'ul'>;\n\nfunction SidebarMenu({ className, ...props }: SidebarMenuProps): 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 {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuItem\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuItemProps = ComponentProps<'li'>;\n\nfunction SidebarMenuItem({ className, ...props }: SidebarMenuItemProps): JSX.Element {\n return (\n <li className={cn('group/menu-item relative', className)} data-sidebar=\"menu-item\" {...props} />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuButton\n * -------------------------------------------------------------------------- */\n\nconst sidebarMenuButtonVariants = tv({\n base: 'peer/menu-button ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground 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 focus-visible:ring-3 flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none transition-[width,height,padding] disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n defaultVariants: {\n size: 'default',\n variant: 'default',\n },\n variants: {\n size: {\n default: 'h-8 text-sm',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:!p-0',\n sm: 'h-7 text-xs',\n },\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(--color-sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--color-sidebar-accent))]',\n },\n },\n});\n\ninterface SidebarMenuButtonProps\n extends ComponentProps<'button'>,\n VariantProps<typeof sidebarMenuButtonVariants> {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: ComponentProps<typeof TooltipContent> | string;\n}\n\nfunction SidebarMenuButton({\n asChild = false,\n className,\n isActive = false,\n size = 'default',\n tooltip,\n variant = 'default',\n ...props\n}: SidebarMenuButtonProps): JSX.Element {\n const Component = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Component\n className={cn(sidebarMenuButtonVariants({ size, variant }), className)}\n data-active={isActive}\n data-sidebar=\"menu-button\"\n data-size={size}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n const tooltipProps =\n typeof tooltip === 'string'\n ? {\n children: tooltip,\n }\n : tooltip;\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n align=\"center\"\n hidden={state !== 'collapsed' || isMobile}\n side=\"right\"\n {...tooltipProps}\n />\n </Tooltip>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuAction\n * -------------------------------------------------------------------------- */\n\ninterface SidebarMenuActionProps extends ComponentProps<'button'> {\n asChild?: boolean;\n showOnHover?: boolean;\n}\n\nfunction SidebarMenuAction({\n asChild = false,\n className,\n showOnHover = false,\n ...props\n}: SidebarMenuActionProps): 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 focus-visible:ring-3 absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform [&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 after:md:hidden',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\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 {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuBadge\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuBadgeProps = ComponentProps<'div'>;\n\nfunction SidebarMenuBadge({ className, ...props }: SidebarMenuBadgeProps): JSX.Element {\n return (\n <div\n className={cn(\n 'text-sidebar-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',\n 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n data-sidebar=\"menu-badge\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSkeleton\n * -------------------------------------------------------------------------- */\n\ninterface SidebarMenuSkeletonProps extends ComponentProps<'div'> {\n showIcon?: boolean;\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: SidebarMenuSkeletonProps): 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 {...props}\n >\n {showIcon ? (\n <Skeleton className=\"size-4 rounded-md\" data-sidebar=\"menu-skeleton-icon\" />\n ) : 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\ntype SidebarMenuSubProps = ComponentProps<'ul'>;\n\nfunction SidebarMenuSub({ className, ...props }: SidebarMenuSubProps): 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',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n data-sidebar=\"menu-sub\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSubItem\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuSubItemProps = ComponentProps<'li'>;\n\nfunction SidebarMenuSubItem({ ...props }: SidebarMenuSubItemProps): JSX.Element {\n return <li {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSubButton\n * -------------------------------------------------------------------------- */\n\ninterface SidebarMenuSubButtonProps extends ComponentProps<'a'> {\n asChild?: boolean;\n isActive?: boolean;\n size?: 'md' | 'sm';\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n className,\n isActive,\n size = 'md',\n ...props\n}: SidebarMenuSubButtonProps): 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 focus-visible:ring-3 flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-none 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 'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground',\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 {...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"]}
|