@egose/shadcn-theme 0.0.56 → 0.0.57
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/{chunk-FHSYSVS6.mjs → chunk-3EG2FEBB.mjs} +2 -2
- package/chunk-3EG2FEBB.mjs.map +1 -0
- package/{chunk-QDVJN4S3.mjs → chunk-3JEPUE5U.mjs} +2 -2
- package/chunk-3JEPUE5U.mjs.map +1 -0
- package/{chunk-4NMFJSJN.mjs → chunk-3MBQAHIV.mjs} +3 -3
- package/chunk-3MBQAHIV.mjs.map +1 -0
- package/{chunk-GI222XFX.js → chunk-3N6XHFX5.js} +8 -8
- package/chunk-3N6XHFX5.js.map +1 -0
- package/{chunk-ARQYTBBZ.mjs → chunk-3NTWG7HE.mjs} +4 -4
- package/chunk-3NTWG7HE.mjs.map +1 -0
- package/{chunk-4UZN52P7.mjs → chunk-3YYGE3VK.mjs} +2 -2
- package/chunk-3YYGE3VK.mjs.map +1 -0
- package/{chunk-MYO4WRNB.js → chunk-47W55SLI.js} +41 -41
- package/chunk-47W55SLI.js.map +1 -0
- package/{chunk-ZVBMRCE7.mjs → chunk-4R3RFMUA.mjs} +2 -2
- package/chunk-4R3RFMUA.mjs.map +1 -0
- package/{chunk-RSQ25E6Y.js → chunk-4R6IG6RY.js} +8 -8
- package/{chunk-RSQ25E6Y.js.map → chunk-4R6IG6RY.js.map} +1 -1
- package/{chunk-U3KAN7IM.js → chunk-4WSPRI6W.js} +8 -8
- package/chunk-4WSPRI6W.js.map +1 -0
- package/chunk-5BZZ2POS.js +90 -0
- package/chunk-5BZZ2POS.js.map +1 -0
- package/{chunk-F5XCCSBC.mjs → chunk-5FGLRP7F.mjs} +2 -2
- package/chunk-5FGLRP7F.mjs.map +1 -0
- package/{chunk-Z3VXGHCE.mjs → chunk-5OBKA7BC.mjs} +2 -2
- package/chunk-5OBKA7BC.mjs.map +1 -0
- package/{chunk-LE44LDOD.js → chunk-5SD2LAPD.js} +4 -4
- package/chunk-5SD2LAPD.js.map +1 -0
- package/{chunk-NK4XTZ5W.js → chunk-5YCF5QHQ.js} +3 -3
- package/chunk-5YCF5QHQ.js.map +1 -0
- package/{chunk-4XC6EXHZ.mjs → chunk-7CZZZXYP.mjs} +3 -3
- package/chunk-7CZZZXYP.mjs.map +1 -0
- package/{chunk-6N4WCMTE.js → chunk-7SJRI4U2.js} +2 -2
- package/chunk-7SJRI4U2.js.map +1 -0
- package/{chunk-A34GFF2E.js → chunk-7VXTDRET.js} +3 -3
- package/chunk-7VXTDRET.js.map +1 -0
- package/{chunk-NRHWGE26.mjs → chunk-A2MIZ2VR.mjs} +2 -2
- package/chunk-A2MIZ2VR.mjs.map +1 -0
- package/{chunk-LUIXCCN2.js → chunk-AL3RZ3FV.js} +3 -3
- package/{chunk-LUIXCCN2.js.map → chunk-AL3RZ3FV.js.map} +1 -1
- package/{chunk-FQQGM55E.js → chunk-AMABAT5T.js} +5 -5
- package/{chunk-FQQGM55E.js.map → chunk-AMABAT5T.js.map} +1 -1
- package/{chunk-EZZ2YCUU.js → chunk-BWGMEQWK.js} +5 -5
- package/chunk-BWGMEQWK.js.map +1 -0
- package/{chunk-YAPKDLRQ.mjs → chunk-CJWH2Z74.mjs} +2 -2
- package/chunk-CJWH2Z74.mjs.map +1 -0
- package/{chunk-37EH7QCX.mjs → chunk-CRMSEPRI.mjs} +2 -2
- package/chunk-CRMSEPRI.mjs.map +1 -0
- package/{chunk-YWWFTM23.js → chunk-D3TFBFUF.js} +5 -5
- package/chunk-D3TFBFUF.js.map +1 -0
- package/{chunk-JW7N7IR5.mjs → chunk-DAMOXG2O.mjs} +2 -2
- package/chunk-DAMOXG2O.mjs.map +1 -0
- package/{chunk-R7L4TN3C.mjs → chunk-DUDH3MCS.mjs} +2 -2
- package/chunk-DUDH3MCS.mjs.map +1 -0
- package/{chunk-73VYAPJR.js → chunk-DWKZ4CLC.js} +9 -9
- package/{chunk-PS7WGOZH.mjs.map → chunk-DWKZ4CLC.js.map} +1 -1
- package/{chunk-R4SF7CSA.mjs → chunk-DYCHNDBD.mjs} +4 -4
- package/chunk-DYCHNDBD.mjs.map +1 -0
- package/{chunk-LXILG667.mjs → chunk-DZYGP2N5.mjs} +4 -4
- package/chunk-DZYGP2N5.mjs.map +1 -0
- package/{chunk-M6C2FCM4.mjs → chunk-E2XRCWJR.mjs} +2 -2
- package/chunk-E2XRCWJR.mjs.map +1 -0
- package/{chunk-4FD63HEQ.js → chunk-EA4VCT6D.js} +9 -9
- package/chunk-EA4VCT6D.js.map +1 -0
- package/{chunk-LSKO74NV.js → chunk-EQXR5O7I.js} +3 -3
- package/chunk-EQXR5O7I.js.map +1 -0
- package/{chunk-2R34M7KI.mjs → chunk-EUN4GDKY.mjs} +2 -2
- package/chunk-EUN4GDKY.mjs.map +1 -0
- package/{chunk-OAAHNESN.mjs → chunk-FZJD242Q.mjs} +2 -2
- package/chunk-FZJD242Q.mjs.map +1 -0
- package/{chunk-PCR4GC74.js → chunk-G3BLPRHD.js} +11 -8
- package/chunk-G3BLPRHD.js.map +1 -0
- package/{chunk-TUFO3JJE.js → chunk-GJTP65HN.js} +3 -3
- package/{chunk-TUFO3JJE.js.map → chunk-GJTP65HN.js.map} +1 -1
- package/{chunk-NVBZVKIT.js → chunk-GMS5YDRZ.js} +7 -7
- package/{chunk-NVBZVKIT.js.map → chunk-GMS5YDRZ.js.map} +1 -1
- package/{chunk-RMDDLEPA.js → chunk-GS3J3SZ6.js} +3 -3
- package/{chunk-JW7N7IR5.mjs.map → chunk-GS3J3SZ6.js.map} +1 -1
- package/{chunk-REZO5TYB.mjs → chunk-HOXCVLLZ.mjs} +2 -2
- package/chunk-HOXCVLLZ.mjs.map +1 -0
- package/{chunk-O2ZEUVTY.js → chunk-I6VK7V52.js} +3 -3
- package/chunk-I6VK7V52.js.map +1 -0
- package/{chunk-CE4PBEIL.js → chunk-JWKM3SCQ.js} +10 -10
- package/chunk-JWKM3SCQ.js.map +1 -0
- package/{chunk-LQETWWSU.js → chunk-KFWAMOVZ.js} +2 -2
- package/chunk-KFWAMOVZ.js.map +1 -0
- package/{chunk-V4BQYO2M.mjs → chunk-KH4J42Q6.mjs} +2 -2
- package/chunk-KH4J42Q6.mjs.map +1 -0
- package/{chunk-OXTCSLHP.mjs → chunk-LQGPZAFC.mjs} +2 -2
- package/chunk-LQGPZAFC.mjs.map +1 -0
- package/{chunk-EJQJ3BCF.mjs → chunk-LUHSKITP.mjs} +6 -3
- package/chunk-LUHSKITP.mjs.map +1 -0
- package/{chunk-NTYWTGYX.mjs → chunk-MA4JO45Z.mjs} +4 -4
- package/chunk-MA4JO45Z.mjs.map +1 -0
- package/{chunk-QGXFFTPH.js → chunk-MBLSRGZ2.js} +4 -4
- package/chunk-MBLSRGZ2.js.map +1 -0
- package/{chunk-FMYITAWN.mjs → chunk-MFJGIGWT.mjs} +3 -3
- package/chunk-MFJGIGWT.mjs.map +1 -0
- package/{chunk-3BCL4OKX.mjs → chunk-MH2NPJBV.mjs} +37 -5
- package/chunk-MH2NPJBV.mjs.map +1 -0
- package/{chunk-TMC4JKD5.mjs → chunk-MZI4KLJI.mjs} +2 -2
- package/chunk-MZI4KLJI.mjs.map +1 -0
- package/{chunk-I64GW5SA.js → chunk-NIKJHOAI.js} +11 -11
- package/chunk-NIKJHOAI.js.map +1 -0
- package/{chunk-JWENANTO.mjs → chunk-NZHD5YZR.mjs} +2 -2
- package/chunk-NZHD5YZR.mjs.map +1 -0
- package/{chunk-DGYAXPSD.js → chunk-ODQJMPB6.js} +7 -7
- package/{chunk-DGYAXPSD.js.map → chunk-ODQJMPB6.js.map} +1 -1
- package/{chunk-2QMNPBOE.mjs → chunk-PDC3VSBR.mjs} +2 -2
- package/chunk-PDC3VSBR.mjs.map +1 -0
- package/{chunk-DTJ43DCW.mjs → chunk-QOEYYBTN.mjs} +6 -6
- package/chunk-QOEYYBTN.mjs.map +1 -0
- package/{chunk-DYUS5722.js → chunk-QX2O73EX.js} +13 -13
- package/{chunk-DYUS5722.js.map → chunk-QX2O73EX.js.map} +1 -1
- package/{chunk-XJ7GBFHV.js → chunk-QXM5SPL7.js} +6 -6
- package/{chunk-XJ7GBFHV.js.map → chunk-QXM5SPL7.js.map} +1 -1
- package/{chunk-JHUXWZVG.js → chunk-RCFYOQW3.js} +10 -10
- package/chunk-RCFYOQW3.js.map +1 -0
- package/{chunk-O7E6RNCD.mjs → chunk-RPY3K7KJ.mjs} +9 -9
- package/chunk-RPY3K7KJ.mjs.map +1 -0
- package/{chunk-E4SSD5P4.js → chunk-SN6A3NMR.js} +8 -8
- package/chunk-SN6A3NMR.js.map +1 -0
- package/{chunk-ACE5WNTU.mjs → chunk-SNRIGFVN.mjs} +8 -8
- package/chunk-SNRIGFVN.mjs.map +1 -0
- package/{chunk-AT6DBL5I.mjs → chunk-SVOYV633.mjs} +2 -2
- package/chunk-SVOYV633.mjs.map +1 -0
- package/{chunk-DSGXBKNS.js → chunk-TGB4GPS3.js} +8 -8
- package/chunk-TGB4GPS3.js.map +1 -0
- package/{chunk-ZJAFK7BR.mjs → chunk-TVJGKFMZ.mjs} +2 -2
- package/chunk-TVJGKFMZ.mjs.map +1 -0
- package/{chunk-YWILOKX4.mjs → chunk-VY32PQ6N.mjs} +3 -3
- package/chunk-VY32PQ6N.mjs.map +1 -0
- package/{chunk-CPGH6LBC.mjs → chunk-WE4IYC5U.mjs} +4 -4
- package/chunk-WE4IYC5U.mjs.map +1 -0
- package/{chunk-IC3ASFKZ.js → chunk-WS7VXL5F.js} +3 -3
- package/{chunk-IC3ASFKZ.js.map → chunk-WS7VXL5F.js.map} +1 -1
- package/{chunk-DMATER3M.mjs → chunk-WX6CB76L.mjs} +4 -4
- package/{chunk-PS7WGOZH.mjs → chunk-X75FMMME.mjs} +3 -3
- package/chunk-X75FMMME.mjs.map +1 -0
- package/{chunk-NI2SIUXO.js → chunk-XBXONBSD.js} +11 -11
- package/{chunk-IAJ2ZBSJ.mjs.map → chunk-XBXONBSD.js.map} +1 -1
- package/{chunk-V7M2UXTR.js → chunk-XEM6TC6M.js} +3 -3
- package/{chunk-V7M2UXTR.js.map → chunk-XEM6TC6M.js.map} +1 -1
- package/{chunk-ZOF6UW3D.js → chunk-YFATYRLC.js} +9 -9
- package/{chunk-ZOF6UW3D.js.map → chunk-YFATYRLC.js.map} +1 -1
- package/{chunk-54PLQ33F.mjs → chunk-YI3OGSQO.mjs} +8 -8
- package/chunk-YI3OGSQO.mjs.map +1 -0
- package/{chunk-W2N2NIVE.js → chunk-YLRHSC44.js} +3 -3
- package/chunk-YLRHSC44.js.map +1 -0
- package/{chunk-SCM23WSM.js → chunk-YPSTG2Q5.js} +5 -5
- package/chunk-YPSTG2Q5.js.map +1 -0
- package/{chunk-RY3M2GTK.js → chunk-ZFXJY65N.js} +14 -14
- package/{chunk-RY3M2GTK.js.map → chunk-ZFXJY65N.js.map} +1 -1
- package/{chunk-5HD5BGK7.js → chunk-ZHMIO6GX.js} +14 -14
- package/{chunk-5HD5BGK7.js.map → chunk-ZHMIO6GX.js.map} +1 -1
- package/{chunk-3T2PPKR3.js → chunk-ZP6XFQ45.js} +3 -3
- package/chunk-ZP6XFQ45.js.map +1 -0
- package/{chunk-IAJ2ZBSJ.mjs → chunk-ZUHAZXLZ.mjs} +2 -2
- package/chunk-ZUHAZXLZ.mjs.map +1 -0
- package/components/form/checkbox.js +5 -5
- package/components/form/checkbox.mjs +4 -4
- package/components/form/date-picker.js +9 -9
- package/components/form/date-picker.mjs +8 -8
- package/components/form/date-range-picker.js +13 -13
- package/components/form/date-range-picker.js.map +1 -1
- package/components/form/date-range-picker.mjs +9 -9
- package/components/form/date-range-picker.mjs.map +1 -1
- package/components/form/error.js +3 -3
- package/components/form/error.mjs +2 -2
- package/components/form/hook-checkbox.js +9 -9
- package/components/form/hook-checkbox.js.map +1 -1
- package/components/form/hook-checkbox.mjs +7 -7
- package/components/form/hook-checkbox.mjs.map +1 -1
- package/components/form/hook-date-picker.js +12 -12
- package/components/form/hook-date-picker.js.map +1 -1
- package/components/form/hook-date-picker.mjs +11 -11
- package/components/form/hook-date-picker.mjs.map +1 -1
- package/components/form/hook-native-select.js +8 -8
- package/components/form/hook-native-select.js.map +1 -1
- package/components/form/hook-native-select.mjs +4 -4
- package/components/form/hook-native-select.mjs.map +1 -1
- package/components/form/hook-searchable-select.js +12 -12
- package/components/form/hook-searchable-select.js.map +1 -1
- package/components/form/hook-searchable-select.mjs +9 -9
- package/components/form/hook-searchable-select.mjs.map +1 -1
- package/components/form/hook-select.js +8 -8
- package/components/form/hook-select.js.map +1 -1
- package/components/form/hook-select.mjs +5 -5
- package/components/form/hook-select.mjs.map +1 -1
- package/components/form/hook-text-input.js +9 -9
- package/components/form/hook-text-input.js.map +1 -1
- package/components/form/hook-text-input.mjs +5 -5
- package/components/form/hook-text-input.mjs.map +1 -1
- package/components/form/hook-textarea.js +9 -9
- package/components/form/hook-textarea.js.map +1 -1
- package/components/form/hook-textarea.mjs +5 -5
- package/components/form/hook-textarea.mjs.map +1 -1
- package/components/form/hook-time-input.js +10 -11
- package/components/form/hook-time-input.js.map +1 -1
- package/components/form/hook-time-input.mjs +6 -7
- package/components/form/hook-time-input.mjs.map +1 -1
- package/components/form/native-select.js +4 -4
- package/components/form/native-select.mjs +3 -3
- package/components/form/searchable-select.js +9 -9
- package/components/form/searchable-select.mjs +8 -8
- package/components/form/select.js +5 -5
- package/components/form/select.mjs +4 -4
- package/components/form/text-input.js +5 -5
- package/components/form/text-input.mjs +4 -4
- package/components/form/textarea.js +5 -5
- package/components/form/textarea.mjs +4 -4
- package/components/form/time-input.js +6 -7
- package/components/form/time-input.js.map +1 -1
- package/components/form/time-input.mjs +5 -6
- package/components/ui/accordion.js +4 -4
- package/components/ui/accordion.js.map +1 -1
- package/components/ui/accordion.mjs +1 -1
- package/components/ui/accordion.mjs.map +1 -1
- package/components/ui/alert-dialog.js +11 -11
- package/components/ui/alert-dialog.js.map +1 -1
- package/components/ui/alert-dialog.mjs +3 -3
- package/components/ui/alert-dialog.mjs.map +1 -1
- package/components/ui/alert.d.mts +2 -6
- package/components/ui/alert.d.ts +2 -6
- package/components/ui/alert.js +3 -3
- package/components/ui/alert.mjs +2 -2
- package/components/ui/avatar.js +3 -3
- package/components/ui/avatar.mjs +2 -2
- package/components/ui/badge.d.mts +2 -7
- package/components/ui/badge.d.ts +2 -7
- package/components/ui/badge.js +3 -3
- package/components/ui/badge.mjs +2 -2
- package/components/ui/basic-alert.d.mts +0 -1
- package/components/ui/basic-alert.d.ts +0 -1
- package/components/ui/basic-alert.js +3 -3
- package/components/ui/basic-alert.mjs +2 -2
- package/components/ui/breadcrumb.js +3 -3
- package/components/ui/breadcrumb.mjs +2 -2
- package/components/ui/button.d.mts +2 -8
- package/components/ui/button.d.ts +2 -8
- package/components/ui/button.js +4 -4
- package/components/ui/button.mjs +3 -3
- package/components/ui/calendar.js +5 -5
- package/components/ui/calendar.mjs +4 -4
- package/components/ui/card.js +7 -7
- package/components/ui/card.js.map +1 -1
- package/components/ui/card.mjs +1 -1
- package/components/ui/card.mjs.map +1 -1
- package/components/ui/carousel.d.mts +2 -3
- package/components/ui/carousel.d.ts +2 -3
- package/components/ui/carousel.js +10 -10
- package/components/ui/carousel.js.map +1 -1
- package/components/ui/carousel.mjs +3 -3
- package/components/ui/carousel.mjs.map +1 -1
- package/components/ui/checkbox.js +3 -3
- package/components/ui/checkbox.mjs +2 -2
- package/components/ui/command.js +4 -4
- package/components/ui/command.mjs +3 -3
- package/components/ui/context-menu.js +10 -10
- package/components/ui/context-menu.js.map +1 -1
- package/components/ui/context-menu.mjs +1 -1
- package/components/ui/context-menu.mjs.map +1 -1
- package/components/ui/copy-button.js +6 -6
- package/components/ui/copy-button.js.map +1 -1
- package/components/ui/copy-button.mjs +2 -2
- package/components/ui/copy-button.mjs.map +1 -1
- package/components/ui/dialog.js +3 -3
- package/components/ui/dialog.mjs +2 -2
- package/components/ui/drawer.js +7 -7
- package/components/ui/drawer.js.map +1 -1
- package/components/ui/drawer.mjs +1 -1
- package/components/ui/drawer.mjs.map +1 -1
- package/components/ui/dropdown-menu.js +3 -3
- package/components/ui/dropdown-menu.mjs +2 -2
- package/components/ui/extension/file-input.js +5 -5
- package/components/ui/extension/file-input.mjs +4 -4
- package/components/ui/extension/multi-select.js +15 -15
- package/components/ui/extension/multi-select.js.map +1 -1
- package/components/ui/extension/multi-select.mjs +4 -4
- package/components/ui/extension/multi-select.mjs.map +1 -1
- package/components/ui/form.js +6 -6
- package/components/ui/form.js.map +1 -1
- package/components/ui/form.mjs +2 -2
- package/components/ui/form.mjs.map +1 -1
- package/components/ui/hover-card.js +2 -2
- package/components/ui/hover-card.js.map +1 -1
- package/components/ui/hover-card.mjs +1 -1
- package/components/ui/hover-card.mjs.map +1 -1
- package/components/ui/input-otp.js +5 -5
- package/components/ui/input-otp.js.map +1 -1
- package/components/ui/input-otp.mjs +1 -1
- package/components/ui/input-otp.mjs.map +1 -1
- package/components/ui/input.js +3 -3
- package/components/ui/input.mjs +2 -2
- package/components/ui/label.d.mts +2 -3
- package/components/ui/label.d.ts +2 -3
- package/components/ui/label.js +3 -3
- package/components/ui/label.mjs +2 -2
- package/components/ui/menubar.js +12 -12
- package/components/ui/menubar.js.map +1 -1
- package/components/ui/menubar.mjs +1 -1
- package/components/ui/menubar.mjs.map +1 -1
- package/components/ui/navigation-menu.d.mts +1 -2
- package/components/ui/navigation-menu.d.ts +1 -2
- package/components/ui/navigation-menu.js +8 -8
- package/components/ui/navigation-menu.js.map +1 -1
- package/components/ui/navigation-menu.mjs +1 -1
- package/components/ui/navigation-menu.mjs.map +1 -1
- package/components/ui/pagination.d.mts +0 -1
- package/components/ui/pagination.d.ts +0 -1
- package/components/ui/pagination.js +11 -11
- package/components/ui/pagination.js.map +1 -1
- package/components/ui/pagination.mjs +3 -3
- package/components/ui/pagination.mjs.map +1 -1
- package/components/ui/popover.js +3 -3
- package/components/ui/popover.mjs +2 -2
- package/components/ui/progress.js +2 -2
- package/components/ui/progress.js.map +1 -1
- package/components/ui/progress.mjs +1 -1
- package/components/ui/progress.mjs.map +1 -1
- package/components/ui/radio-group.js +3 -3
- package/components/ui/radio-group.js.map +1 -1
- package/components/ui/radio-group.mjs +1 -1
- package/components/ui/radio-group.mjs.map +1 -1
- package/components/ui/resizable.d.mts +1 -1
- package/components/ui/resizable.d.ts +1 -1
- package/components/ui/resizable.js +3 -3
- package/components/ui/resizable.js.map +1 -1
- package/components/ui/resizable.mjs +1 -1
- package/components/ui/resizable.mjs.map +1 -1
- package/components/ui/scroll-area.js +3 -3
- package/components/ui/scroll-area.js.map +1 -1
- package/components/ui/scroll-area.mjs +1 -1
- package/components/ui/scroll-area.mjs.map +1 -1
- package/components/ui/select.js +3 -3
- package/components/ui/select.mjs +2 -2
- package/components/ui/separator.js +3 -3
- package/components/ui/separator.mjs +2 -2
- package/components/ui/sheet.d.mts +2 -5
- package/components/ui/sheet.d.ts +2 -5
- package/components/ui/sheet.js +3 -3
- package/components/ui/sheet.mjs +2 -2
- package/components/ui/sidebar.d.mts +2 -6
- package/components/ui/sidebar.d.ts +2 -6
- package/components/ui/sidebar.js +10 -10
- package/components/ui/sidebar.mjs +9 -9
- package/components/ui/skeleton.js +3 -3
- package/components/ui/skeleton.mjs +2 -2
- package/components/ui/slider.js +2 -2
- package/components/ui/slider.js.map +1 -1
- package/components/ui/slider.mjs +1 -1
- package/components/ui/slider.mjs.map +1 -1
- package/components/ui/spinner.d.mts +2 -7
- package/components/ui/spinner.d.ts +2 -7
- package/components/ui/spinner.js +3 -3
- package/components/ui/spinner.mjs +2 -2
- package/components/ui/switch.js +3 -3
- package/components/ui/switch.js.map +1 -1
- package/components/ui/switch.mjs +1 -1
- package/components/ui/switch.mjs.map +1 -1
- package/components/ui/table.js +9 -9
- package/components/ui/table.js.map +1 -1
- package/components/ui/table.mjs +1 -1
- package/components/ui/table.mjs.map +1 -1
- package/components/ui/tabs.js +4 -4
- package/components/ui/tabs.js.map +1 -1
- package/components/ui/tabs.mjs +1 -1
- package/components/ui/tabs.mjs.map +1 -1
- package/components/ui/textarea.js +3 -3
- package/components/ui/textarea.mjs +2 -2
- package/components/ui/toast.d.mts +1 -4
- package/components/ui/toast.d.ts +1 -4
- package/components/ui/toast.js +3 -3
- package/components/ui/toast.mjs +2 -2
- package/components/ui/toaster.js +5 -5
- package/components/ui/toaster.mjs +2 -2
- package/components/ui/toggle-group.d.mts +3 -10
- package/components/ui/toggle-group.d.ts +3 -10
- package/components/ui/toggle-group.js +5 -5
- package/components/ui/toggle-group.js.map +1 -1
- package/components/ui/toggle-group.mjs +2 -2
- package/components/ui/toggle-group.mjs.map +1 -1
- package/components/ui/toggle.d.mts +2 -9
- package/components/ui/toggle.d.ts +2 -9
- package/components/ui/toggle.js +3 -3
- package/components/ui/toggle.mjs +2 -2
- package/components/ui/tooltip.js +3 -3
- package/components/ui/tooltip.mjs +2 -2
- package/hooks/use-toast.d.mts +0 -1
- package/hooks/use-toast.d.ts +0 -1
- package/layouts/sidebar1/app-sidebar.d.mts +0 -1
- package/layouts/sidebar1/app-sidebar.d.ts +0 -1
- package/layouts/sidebar1/app-sidebar.js +16 -16
- package/layouts/sidebar1/app-sidebar.mjs +15 -15
- package/layouts/sidebar1/context-switcher.js +12 -12
- package/layouts/sidebar1/context-switcher.mjs +11 -11
- package/layouts/sidebar1/index.d.mts +0 -1
- package/layouts/sidebar1/index.d.ts +0 -1
- package/layouts/sidebar1/index.js +19 -19
- package/layouts/sidebar1/index.js.map +1 -1
- package/layouts/sidebar1/index.mjs +17 -17
- package/layouts/sidebar1/nav-menus.d.mts +2 -0
- package/layouts/sidebar1/nav-menus.d.ts +2 -0
- package/layouts/sidebar1/nav-menus.js +11 -11
- package/layouts/sidebar1/nav-menus.mjs +10 -10
- package/layouts/sidebar1/nav-user.js +13 -13
- package/layouts/sidebar1/nav-user.mjs +12 -12
- package/layouts/simple/index.js +17 -17
- package/layouts/simple/index.js.map +1 -1
- package/layouts/simple/index.mjs +4 -4
- package/layouts/simple/index.mjs.map +1 -1
- package/layouts/simple/mobile-menu.js +3 -3
- package/layouts/simple/mobile-menu.mjs +2 -2
- package/layouts/simple/user-menu.js +4 -4
- package/layouts/simple/user-menu.mjs +3 -3
- package/package.json +5 -5
- package/chunk-2QMNPBOE.mjs.map +0 -1
- package/chunk-2R34M7KI.mjs.map +0 -1
- package/chunk-37EH7QCX.mjs.map +0 -1
- package/chunk-3BCL4OKX.mjs.map +0 -1
- package/chunk-3T2PPKR3.js.map +0 -1
- package/chunk-4FD63HEQ.js.map +0 -1
- package/chunk-4NMFJSJN.mjs.map +0 -1
- package/chunk-4UZN52P7.mjs.map +0 -1
- package/chunk-4XC6EXHZ.mjs.map +0 -1
- package/chunk-4YSHGGKX.js +0 -58
- package/chunk-4YSHGGKX.js.map +0 -1
- package/chunk-54PLQ33F.mjs.map +0 -1
- package/chunk-6KUUJF3I.js +0 -42
- package/chunk-6KUUJF3I.js.map +0 -1
- package/chunk-6N4WCMTE.js.map +0 -1
- package/chunk-73VYAPJR.js.map +0 -1
- package/chunk-A34GFF2E.js.map +0 -1
- package/chunk-ACE5WNTU.mjs.map +0 -1
- package/chunk-ARQYTBBZ.mjs.map +0 -1
- package/chunk-AT6DBL5I.mjs.map +0 -1
- package/chunk-CE4PBEIL.js.map +0 -1
- package/chunk-CPGH6LBC.mjs.map +0 -1
- package/chunk-CTYAFVU5.mjs +0 -41
- package/chunk-CTYAFVU5.mjs.map +0 -1
- package/chunk-DSGXBKNS.js.map +0 -1
- package/chunk-DTJ43DCW.mjs.map +0 -1
- package/chunk-E4SSD5P4.js.map +0 -1
- package/chunk-EJQJ3BCF.mjs.map +0 -1
- package/chunk-EZZ2YCUU.js.map +0 -1
- package/chunk-F5XCCSBC.mjs.map +0 -1
- package/chunk-FHSYSVS6.mjs.map +0 -1
- package/chunk-FMYITAWN.mjs.map +0 -1
- package/chunk-GI222XFX.js.map +0 -1
- package/chunk-I64GW5SA.js.map +0 -1
- package/chunk-JHUXWZVG.js.map +0 -1
- package/chunk-JWENANTO.mjs.map +0 -1
- package/chunk-LE44LDOD.js.map +0 -1
- package/chunk-LQETWWSU.js.map +0 -1
- package/chunk-LSKO74NV.js.map +0 -1
- package/chunk-LXILG667.mjs.map +0 -1
- package/chunk-M6C2FCM4.mjs.map +0 -1
- package/chunk-MYO4WRNB.js.map +0 -1
- package/chunk-NI2SIUXO.js.map +0 -1
- package/chunk-NK4XTZ5W.js.map +0 -1
- package/chunk-NRHWGE26.mjs.map +0 -1
- package/chunk-NTYWTGYX.mjs.map +0 -1
- package/chunk-O2ZEUVTY.js.map +0 -1
- package/chunk-O7E6RNCD.mjs.map +0 -1
- package/chunk-OAAHNESN.mjs.map +0 -1
- package/chunk-OXTCSLHP.mjs.map +0 -1
- package/chunk-PCR4GC74.js.map +0 -1
- package/chunk-QDVJN4S3.mjs.map +0 -1
- package/chunk-QGXFFTPH.js.map +0 -1
- package/chunk-R4SF7CSA.mjs.map +0 -1
- package/chunk-R7L4TN3C.mjs.map +0 -1
- package/chunk-REZO5TYB.mjs.map +0 -1
- package/chunk-RMDDLEPA.js.map +0 -1
- package/chunk-SCM23WSM.js.map +0 -1
- package/chunk-TMC4JKD5.mjs.map +0 -1
- package/chunk-U3KAN7IM.js.map +0 -1
- package/chunk-V4BQYO2M.mjs.map +0 -1
- package/chunk-W2N2NIVE.js.map +0 -1
- package/chunk-YAPKDLRQ.mjs.map +0 -1
- package/chunk-YWILOKX4.mjs.map +0 -1
- package/chunk-YWWFTM23.js.map +0 -1
- package/chunk-Z3VXGHCE.mjs.map +0 -1
- package/chunk-ZJAFK7BR.mjs.map +0 -1
- package/chunk-ZVBMRCE7.mjs.map +0 -1
- package/lib/date.d.mts +0 -4
- package/lib/date.d.ts +0 -4
- package/lib/date.js +0 -12
- package/lib/date.js.map +0 -1
- package/lib/date.mjs +0 -11
- package/lib/date.mjs.map +0 -1
- package/lib/number.d.mts +0 -7
- package/lib/number.d.ts +0 -7
- package/lib/number.js +0 -14
- package/lib/number.js.map +0 -1
- package/lib/number.mjs +0 -13
- package/lib/number.mjs.map +0 -1
- package/lib/utils.d.mts +0 -5
- package/lib/utils.d.ts +0 -5
- package/lib/utils.js +0 -10
- package/lib/utils.js.map +0 -1
- package/lib/utils.mjs +0 -9
- package/lib/utils.mjs.map +0 -1
- /package/{chunk-DMATER3M.mjs.map → chunk-WX6CB76L.mjs.map} +0 -0
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
NavUser
|
|
4
|
-
} from "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
6
|
-
import "../../chunk-
|
|
7
|
-
import "../../chunk-
|
|
8
|
-
import "../../chunk-
|
|
9
|
-
import "../../chunk-
|
|
10
|
-
import "../../chunk-
|
|
11
|
-
import "../../chunk-
|
|
12
|
-
import "../../chunk-
|
|
4
|
+
} from "../../chunk-WX6CB76L.mjs";
|
|
5
|
+
import "../../chunk-YI3OGSQO.mjs";
|
|
6
|
+
import "../../chunk-KH4J42Q6.mjs";
|
|
7
|
+
import "../../chunk-TVJGKFMZ.mjs";
|
|
8
|
+
import "../../chunk-FZJD242Q.mjs";
|
|
9
|
+
import "../../chunk-ZUHAZXLZ.mjs";
|
|
10
|
+
import "../../chunk-DUDH3MCS.mjs";
|
|
11
|
+
import "../../chunk-3JEPUE5U.mjs";
|
|
12
|
+
import "../../chunk-HOXCVLLZ.mjs";
|
|
13
13
|
import "../../chunk-77MASFCZ.mjs";
|
|
14
|
-
import "../../chunk-
|
|
15
|
-
import "../../chunk-
|
|
16
|
-
import "../../chunk-
|
|
14
|
+
import "../../chunk-3MBQAHIV.mjs";
|
|
15
|
+
import "../../chunk-A2MIZ2VR.mjs";
|
|
16
|
+
import "../../chunk-5FGLRP7F.mjs";
|
|
17
17
|
import "../../chunk-YOSPWY5K.mjs";
|
|
18
18
|
export {
|
|
19
19
|
NavUser
|
package/layouts/simple/index.js
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkMBLSRGZ2js = require('../../chunk-MBLSRGZ2.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
9
|
-
require('../../chunk-
|
|
8
|
+
var _chunkYFATYRLCjs = require('../../chunk-YFATYRLC.js');
|
|
9
|
+
require('../../chunk-XBXONBSD.js');
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _chunk7SJRI4U2js = require('../../chunk-7SJRI4U2.js');
|
|
13
13
|
require('../../chunk-2NMEKWO5.js');
|
|
14
14
|
|
|
15
15
|
// layouts/simple/index.tsx
|
|
@@ -38,7 +38,7 @@ function SimpleLayout(props) {
|
|
|
38
38
|
return /* @__PURE__ */ _react2.default.createElement("div", { className: "flex flex-col min-h-screen" }, /* @__PURE__ */ _react2.default.createElement(
|
|
39
39
|
"header",
|
|
40
40
|
{
|
|
41
|
-
className:
|
|
41
|
+
className: _chunk7SJRI4U2js.cn.call(void 0,
|
|
42
42
|
"px-4 py-2 flex items-center justify-between bg-gray-100 border-b border-gray-300",
|
|
43
43
|
(_e = classNames == null ? void 0 : classNames.header) == null ? void 0 : _e.wrapper
|
|
44
44
|
)
|
|
@@ -50,7 +50,7 @@ function SimpleLayout(props) {
|
|
|
50
50
|
onClick: () => {
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
), logo && /* @__PURE__ */ _react2.default.createElement("div", { className:
|
|
53
|
+
), logo && /* @__PURE__ */ _react2.default.createElement("div", { className: _chunk7SJRI4U2js.cn.call(void 0, "_logo") }, /* @__PURE__ */ _react2.default.createElement(LinkComponent, { to: (_f = logo.link) != null ? _f : "/", href: (_g = logo.link) != null ? _g : "/" }, /* @__PURE__ */ _react2.default.createElement("img", { src: logo.src, alt: "Logo", className: _chunk7SJRI4U2js.cn.call(void 0, "h-10", (_h = classNames == null ? void 0 : classNames.header) == null ? void 0 : _h.logo) }))), /* @__PURE__ */ _react2.default.createElement("nav", { className: _chunk7SJRI4U2js.cn.call(void 0, "flex space-x-4 items-center", (_j = (_i = classNames == null ? void 0 : classNames.header) == null ? void 0 : _i.left) == null ? void 0 : _j.nav) }, leftMenus.map(
|
|
54
54
|
(item) => {
|
|
55
55
|
var _a2, _b2, _c2, _d2;
|
|
56
56
|
return item.link ? /* @__PURE__ */ _react2.default.createElement(
|
|
@@ -59,7 +59,7 @@ function SimpleLayout(props) {
|
|
|
59
59
|
key: item.label,
|
|
60
60
|
to: item.link,
|
|
61
61
|
href: item.link,
|
|
62
|
-
className:
|
|
62
|
+
className: _chunk7SJRI4U2js.cn.call(void 0,
|
|
63
63
|
"text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline",
|
|
64
64
|
(_b2 = (_a2 = classNames == null ? void 0 : classNames.header) == null ? void 0 : _a2.left) == null ? void 0 : _b2.link,
|
|
65
65
|
item.className,
|
|
@@ -72,7 +72,7 @@ function SimpleLayout(props) {
|
|
|
72
72
|
{
|
|
73
73
|
key: item.label,
|
|
74
74
|
onClick: item.action,
|
|
75
|
-
className:
|
|
75
|
+
className: _chunk7SJRI4U2js.cn.call(void 0,
|
|
76
76
|
"text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline",
|
|
77
77
|
(_d2 = (_c2 = classNames == null ? void 0 : classNames.header) == null ? void 0 : _c2.left) == null ? void 0 : _d2.link,
|
|
78
78
|
item.className,
|
|
@@ -83,7 +83,7 @@ function SimpleLayout(props) {
|
|
|
83
83
|
);
|
|
84
84
|
}
|
|
85
85
|
))),
|
|
86
|
-
/* @__PURE__ */ _react2.default.createElement("nav", { className:
|
|
86
|
+
/* @__PURE__ */ _react2.default.createElement("nav", { className: _chunk7SJRI4U2js.cn.call(void 0, "hidden md:flex space-x-4 items-center", (_l = (_k = classNames == null ? void 0 : classNames.header) == null ? void 0 : _k.right) == null ? void 0 : _l.nav) }, rightMenus.map(
|
|
87
87
|
(item) => {
|
|
88
88
|
var _a2, _b2, _c2, _d2;
|
|
89
89
|
return item.link ? /* @__PURE__ */ _react2.default.createElement(
|
|
@@ -92,7 +92,7 @@ function SimpleLayout(props) {
|
|
|
92
92
|
key: item.label,
|
|
93
93
|
to: item.link,
|
|
94
94
|
href: item.link,
|
|
95
|
-
className:
|
|
95
|
+
className: _chunk7SJRI4U2js.cn.call(void 0,
|
|
96
96
|
"text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline",
|
|
97
97
|
(_b2 = (_a2 = classNames == null ? void 0 : classNames.header) == null ? void 0 : _a2.right) == null ? void 0 : _b2.link,
|
|
98
98
|
item.className
|
|
@@ -104,7 +104,7 @@ function SimpleLayout(props) {
|
|
|
104
104
|
{
|
|
105
105
|
key: item.label,
|
|
106
106
|
onClick: item.action,
|
|
107
|
-
className:
|
|
107
|
+
className: _chunk7SJRI4U2js.cn.call(void 0,
|
|
108
108
|
"text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline",
|
|
109
109
|
(_d2 = (_c2 = classNames == null ? void 0 : classNames.header) == null ? void 0 : _c2.right) == null ? void 0 : _d2.link,
|
|
110
110
|
item.className
|
|
@@ -113,17 +113,17 @@ function SimpleLayout(props) {
|
|
|
113
113
|
item.label
|
|
114
114
|
);
|
|
115
115
|
}
|
|
116
|
-
), userMenuSections.length > 0 && /* @__PURE__ */ _react2.default.createElement(
|
|
116
|
+
), userMenuSections.length > 0 && /* @__PURE__ */ _react2.default.createElement(_chunkYFATYRLCjs.UserMenus, { sections: userMenuSections, trigger: user == null ? void 0 : user.trigger, aslink })),
|
|
117
117
|
/* @__PURE__ */ _react2.default.createElement("button", { onClick: toggleMobileMenu, className: "md:hidden p-2 text-gray-700 hover:text-primary cursor-pointer" }, /* @__PURE__ */ _react2.default.createElement(_lucidereact.Menu, { className: "" }))
|
|
118
|
-
), isMobile && mobileMenuOpen && /* @__PURE__ */ _react2.default.createElement("div", { className: "w-full" }, /* @__PURE__ */ _react2.default.createElement(
|
|
118
|
+
), isMobile && mobileMenuOpen && /* @__PURE__ */ _react2.default.createElement("div", { className: "w-full" }, /* @__PURE__ */ _react2.default.createElement(_chunkMBLSRGZ2js.MobileMenu, { sections: userMenuSections, aslink, onClick: toggleMobileMenu })), /* @__PURE__ */ _react2.default.createElement("main", { className: _chunk7SJRI4U2js.cn.call(void 0, "p-4 flex flex-col flex-1", classNames == null ? void 0 : classNames.content) }, !loading && /* @__PURE__ */ _react2.default.createElement("div", { className: "flex items-center justify-center h-full" }, children), /* @__PURE__ */ _react2.default.createElement("div", { className: _chunk7SJRI4U2js.cn.call(void 0, "flex-1", (_m = classNames == null ? void 0 : classNames.content) == null ? void 0 : _m.bottom) })), footer && /* @__PURE__ */ _react2.default.createElement(
|
|
119
119
|
"footer",
|
|
120
120
|
{
|
|
121
|
-
className:
|
|
121
|
+
className: _chunk7SJRI4U2js.cn.call(void 0,
|
|
122
122
|
"px-4 py-4 bg-gray-100 border-t border-gray-300 text-sm text-gray-600",
|
|
123
123
|
(_n = classNames == null ? void 0 : classNames.footer) == null ? void 0 : _n.wrapper
|
|
124
124
|
)
|
|
125
125
|
},
|
|
126
|
-
/* @__PURE__ */ _react2.default.createElement("nav", { className:
|
|
126
|
+
/* @__PURE__ */ _react2.default.createElement("nav", { className: _chunk7SJRI4U2js.cn.call(void 0, "flex flex-wrap justify-center space-x-4", (_o = classNames == null ? void 0 : classNames.footer) == null ? void 0 : _o.nav) }, footerMenus.map(
|
|
127
127
|
(item) => {
|
|
128
128
|
var _a2, _b2;
|
|
129
129
|
return item.link ? /* @__PURE__ */ _react2.default.createElement(
|
|
@@ -132,7 +132,7 @@ function SimpleLayout(props) {
|
|
|
132
132
|
key: item.label,
|
|
133
133
|
to: item.link,
|
|
134
134
|
href: item.link,
|
|
135
|
-
className:
|
|
135
|
+
className: _chunk7SJRI4U2js.cn.call(void 0,
|
|
136
136
|
"text-secondary hover:text-primary cursor-pointer no-underline",
|
|
137
137
|
(_a2 = classNames == null ? void 0 : classNames.footer) == null ? void 0 : _a2.link,
|
|
138
138
|
item.className
|
|
@@ -144,7 +144,7 @@ function SimpleLayout(props) {
|
|
|
144
144
|
{
|
|
145
145
|
key: item.label,
|
|
146
146
|
onClick: item.action,
|
|
147
|
-
className:
|
|
147
|
+
className: _chunk7SJRI4U2js.cn.call(void 0,
|
|
148
148
|
"text-secondary hover:text-primary cursor-pointer no-underline",
|
|
149
149
|
(_b2 = classNames == null ? void 0 : classNames.footer) == null ? void 0 : _b2.link,
|
|
150
150
|
item.className
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/layouts/simple/index.js","../../../layouts/simple/index.tsx"],"names":["_a","_b","_c","_d"],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/layouts/simple/index.js","sourcesContent":[null,"\"use client\";\nimport React, { useState, useMemo, useEffect } from 'react';\nimport { Menu } from 'lucide-react';\nimport { cn } from '../../lib/utils';\nimport { UserMenus } from './user-menu';\nimport { MobileMenu } from './mobile-menu';\nimport type { MenuItem, UserMenuSection } from './types';\n\ninterface LayoutProps {\n logo?: {\n src?: string;\n link?: string;\n };\n user?: {\n menuSections: UserMenuSection[];\n trigger?: React.ReactNode;\n };\n left?: {\n menus: MenuItem[];\n };\n right?: {\n menus: MenuItem[];\n };\n sidebar?: {\n title: string;\n content: React.ReactNode;\n };\n footer?: {\n menus: MenuItem[];\n content?: string;\n };\n classNames?: {\n header?: {\n wrapper: string;\n logo?: string;\n left?: {\n nav?: string;\n link?: string;\n };\n right?: {\n nav?: string;\n link?: string;\n };\n };\n content?: {\n wrapper?: string;\n bottom?: string;\n };\n footer?: {\n wrapper?: string;\n nav?: string;\n link?: string;\n };\n };\n loading?: boolean;\n children?: React.ReactNode;\n aslink: React.ElementType;\n}\n\nexport default function SimpleLayout(props: LayoutProps) {\n const { logo, user, left, right, sidebar, footer, classNames, loading, children, aslink } = props;\n\n const [mobileMenuOpen, setMobileMenuOpen] = useState(false);\n const [isMobile, setIsMobile] = useState(false);\n\n const LinkComponent = aslink ?? 'button';\n\n useEffect(() => {\n const handleResize = () => {\n setIsMobile(window.innerWidth < 768);\n };\n handleResize();\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n const toggleMobileMenu = () => setMobileMenuOpen(!mobileMenuOpen);\n\n const leftMenus = left?.menus ?? [];\n const rightMenus = right?.menus ?? [];\n const topMenus = [...leftMenus, ...rightMenus];\n const userMenuSections = user?.menuSections ?? [];\n const footerMenus = footer?.menus ?? [];\n\n return (\n <div className=\"flex flex-col min-h-screen\">\n {/* Header */}\n <header\n className={cn(\n 'px-4 py-2 flex items-center justify-between bg-gray-100 border-b border-gray-300',\n classNames?.header?.wrapper,\n )}\n >\n <div className=\"flex items-center space-x-4\">\n {sidebar && (\n <button\n className=\"bg-transparent border-gray-400 hover:border-gray-500\"\n onClick={() => {\n /* open sidebar */\n }}\n >\n {/* icon */}\n </button>\n )}\n {logo && (\n <div className={cn('_logo')}>\n <LinkComponent to={logo.link ?? '/'} href={logo.link ?? '/'}>\n <img src={logo.src} alt=\"Logo\" className={cn('h-10', classNames?.header?.logo)} />\n </LinkComponent>\n </div>\n )}\n\n {/* Left Menus */}\n <nav className={cn('flex space-x-4 items-center', classNames?.header?.left?.nav)}>\n {leftMenus.map((item) =>\n item.link ? (\n <LinkComponent\n key={item.label}\n to={item.link}\n href={item.link}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.left?.link,\n item.className,\n item.title || !isMobile ? 'inline-block' : 'hidden',\n )}\n >\n {item.label}\n </LinkComponent>\n ) : (\n <button\n key={item.label}\n onClick={item.action}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.left?.link,\n item.className,\n item.title || !isMobile ? 'inline-block' : 'hidden',\n )}\n >\n {item.label}\n </button>\n ),\n )}\n </nav>\n </div>\n\n {/* Right menus */}\n <nav className={cn('hidden md:flex space-x-4 items-center', classNames?.header?.right?.nav)}>\n {rightMenus.map((item) =>\n item.link ? (\n <LinkComponent\n key={item.label}\n to={item.link}\n href={item.link}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.right?.link,\n item.className,\n )}\n >\n {item.label}\n </LinkComponent>\n ) : (\n <button\n key={item.label}\n onClick={item.action}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.right?.link,\n item.className,\n )}\n >\n {item.label}\n </button>\n ),\n )}\n {userMenuSections.length > 0 && (\n <UserMenus sections={userMenuSections} trigger={user?.trigger} aslink={aslink} />\n )}\n </nav>\n\n {/* Mobile menu button */}\n <button onClick={toggleMobileMenu} className=\"md:hidden p-2 text-gray-700 hover:text-primary cursor-pointer\">\n <Menu className=\"\" />\n </button>\n </header>\n\n {/* Mobile menu */}\n {isMobile && mobileMenuOpen && (\n <div className=\"w-full\">\n <MobileMenu sections={userMenuSections} aslink={aslink} onClick={toggleMobileMenu} />\n </div>\n )}\n\n {/* Main content */}\n <main className={cn('p-4 flex flex-col flex-1', classNames?.content)}>\n {!loading && <div className=\"flex items-center justify-center h-full\">{children}</div>}\n <div className={cn('flex-1', classNames?.content?.bottom)}></div>\n </main>\n\n {/* Footer */}\n {footer && (\n <footer\n className={cn(\n 'px-4 py-4 bg-gray-100 border-t border-gray-300 text-sm text-gray-600',\n classNames?.footer?.wrapper,\n )}\n >\n <nav className={cn('flex flex-wrap justify-center space-x-4', classNames?.footer?.nav)}>\n {footerMenus.map((item) =>\n item.link ? (\n <LinkComponent\n key={item.label}\n to={item.link}\n href={item.link}\n className={cn(\n 'text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.footer?.link,\n item.className,\n )}\n >\n {item.label}\n </LinkComponent>\n ) : (\n <button\n key={item.label}\n onClick={item.action}\n className={cn(\n 'text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.footer?.link,\n item.className,\n )}\n >\n {item.label}\n </button>\n ),\n )}\n </nav>\n <div className=\"mt-2 text-center\">{footer?.content}</div>\n </footer>\n )}\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/layouts/simple/index.js","../../../layouts/simple/index.tsx"],"names":["_a","_b","_c","_d"],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/layouts/simple/index.js","sourcesContent":[null,"\"use client\";\nimport React, { useState, useMemo, useEffect } from 'react';\nimport { Menu } from 'lucide-react';\nimport { cn } from '../../utils/ui';\nimport { UserMenus } from './user-menu';\nimport { MobileMenu } from './mobile-menu';\nimport type { MenuItem, UserMenuSection } from './types';\n\ninterface LayoutProps {\n logo?: {\n src?: string;\n link?: string;\n };\n user?: {\n menuSections: UserMenuSection[];\n trigger?: React.ReactNode;\n };\n left?: {\n menus: MenuItem[];\n };\n right?: {\n menus: MenuItem[];\n };\n sidebar?: {\n title: string;\n content: React.ReactNode;\n };\n footer?: {\n menus: MenuItem[];\n content?: string;\n };\n classNames?: {\n header?: {\n wrapper: string;\n logo?: string;\n left?: {\n nav?: string;\n link?: string;\n };\n right?: {\n nav?: string;\n link?: string;\n };\n };\n content?: {\n wrapper?: string;\n bottom?: string;\n };\n footer?: {\n wrapper?: string;\n nav?: string;\n link?: string;\n };\n };\n loading?: boolean;\n children?: React.ReactNode;\n aslink: React.ElementType;\n}\n\nexport default function SimpleLayout(props: LayoutProps) {\n const { logo, user, left, right, sidebar, footer, classNames, loading, children, aslink } = props;\n\n const [mobileMenuOpen, setMobileMenuOpen] = useState(false);\n const [isMobile, setIsMobile] = useState(false);\n\n const LinkComponent = aslink ?? 'button';\n\n useEffect(() => {\n const handleResize = () => {\n setIsMobile(window.innerWidth < 768);\n };\n handleResize();\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n const toggleMobileMenu = () => setMobileMenuOpen(!mobileMenuOpen);\n\n const leftMenus = left?.menus ?? [];\n const rightMenus = right?.menus ?? [];\n const topMenus = [...leftMenus, ...rightMenus];\n const userMenuSections = user?.menuSections ?? [];\n const footerMenus = footer?.menus ?? [];\n\n return (\n <div className=\"flex flex-col min-h-screen\">\n {/* Header */}\n <header\n className={cn(\n 'px-4 py-2 flex items-center justify-between bg-gray-100 border-b border-gray-300',\n classNames?.header?.wrapper,\n )}\n >\n <div className=\"flex items-center space-x-4\">\n {sidebar && (\n <button\n className=\"bg-transparent border-gray-400 hover:border-gray-500\"\n onClick={() => {\n /* open sidebar */\n }}\n >\n {/* icon */}\n </button>\n )}\n {logo && (\n <div className={cn('_logo')}>\n <LinkComponent to={logo.link ?? '/'} href={logo.link ?? '/'}>\n <img src={logo.src} alt=\"Logo\" className={cn('h-10', classNames?.header?.logo)} />\n </LinkComponent>\n </div>\n )}\n\n {/* Left Menus */}\n <nav className={cn('flex space-x-4 items-center', classNames?.header?.left?.nav)}>\n {leftMenus.map((item) =>\n item.link ? (\n <LinkComponent\n key={item.label}\n to={item.link}\n href={item.link}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.left?.link,\n item.className,\n item.title || !isMobile ? 'inline-block' : 'hidden',\n )}\n >\n {item.label}\n </LinkComponent>\n ) : (\n <button\n key={item.label}\n onClick={item.action}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.left?.link,\n item.className,\n item.title || !isMobile ? 'inline-block' : 'hidden',\n )}\n >\n {item.label}\n </button>\n ),\n )}\n </nav>\n </div>\n\n {/* Right menus */}\n <nav className={cn('hidden md:flex space-x-4 items-center', classNames?.header?.right?.nav)}>\n {rightMenus.map((item) =>\n item.link ? (\n <LinkComponent\n key={item.label}\n to={item.link}\n href={item.link}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.right?.link,\n item.className,\n )}\n >\n {item.label}\n </LinkComponent>\n ) : (\n <button\n key={item.label}\n onClick={item.action}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.right?.link,\n item.className,\n )}\n >\n {item.label}\n </button>\n ),\n )}\n {userMenuSections.length > 0 && (\n <UserMenus sections={userMenuSections} trigger={user?.trigger} aslink={aslink} />\n )}\n </nav>\n\n {/* Mobile menu button */}\n <button onClick={toggleMobileMenu} className=\"md:hidden p-2 text-gray-700 hover:text-primary cursor-pointer\">\n <Menu className=\"\" />\n </button>\n </header>\n\n {/* Mobile menu */}\n {isMobile && mobileMenuOpen && (\n <div className=\"w-full\">\n <MobileMenu sections={userMenuSections} aslink={aslink} onClick={toggleMobileMenu} />\n </div>\n )}\n\n {/* Main content */}\n <main className={cn('p-4 flex flex-col flex-1', classNames?.content)}>\n {!loading && <div className=\"flex items-center justify-center h-full\">{children}</div>}\n <div className={cn('flex-1', classNames?.content?.bottom)}></div>\n </main>\n\n {/* Footer */}\n {footer && (\n <footer\n className={cn(\n 'px-4 py-4 bg-gray-100 border-t border-gray-300 text-sm text-gray-600',\n classNames?.footer?.wrapper,\n )}\n >\n <nav className={cn('flex flex-wrap justify-center space-x-4', classNames?.footer?.nav)}>\n {footerMenus.map((item) =>\n item.link ? (\n <LinkComponent\n key={item.label}\n to={item.link}\n href={item.link}\n className={cn(\n 'text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.footer?.link,\n item.className,\n )}\n >\n {item.label}\n </LinkComponent>\n ) : (\n <button\n key={item.label}\n onClick={item.action}\n className={cn(\n 'text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.footer?.link,\n item.className,\n )}\n >\n {item.label}\n </button>\n ),\n )}\n </nav>\n <div className=\"mt-2 text-center\">{footer?.content}</div>\n </footer>\n )}\n </div>\n );\n}\n"]}
|
package/layouts/simple/index.mjs
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
MobileMenu
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-LQGPZAFC.mjs";
|
|
5
5
|
import {
|
|
6
6
|
UserMenus
|
|
7
|
-
} from "../../chunk-
|
|
8
|
-
import "../../chunk-
|
|
7
|
+
} from "../../chunk-VY32PQ6N.mjs";
|
|
8
|
+
import "../../chunk-ZUHAZXLZ.mjs";
|
|
9
9
|
import {
|
|
10
10
|
cn
|
|
11
|
-
} from "../../chunk-
|
|
11
|
+
} from "../../chunk-5FGLRP7F.mjs";
|
|
12
12
|
import "../../chunk-YOSPWY5K.mjs";
|
|
13
13
|
|
|
14
14
|
// layouts/simple/index.tsx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../layouts/simple/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { useState, useMemo, useEffect } from 'react';\nimport { Menu } from 'lucide-react';\nimport { cn } from '../../lib/utils';\nimport { UserMenus } from './user-menu';\nimport { MobileMenu } from './mobile-menu';\nimport type { MenuItem, UserMenuSection } from './types';\n\ninterface LayoutProps {\n logo?: {\n src?: string;\n link?: string;\n };\n user?: {\n menuSections: UserMenuSection[];\n trigger?: React.ReactNode;\n };\n left?: {\n menus: MenuItem[];\n };\n right?: {\n menus: MenuItem[];\n };\n sidebar?: {\n title: string;\n content: React.ReactNode;\n };\n footer?: {\n menus: MenuItem[];\n content?: string;\n };\n classNames?: {\n header?: {\n wrapper: string;\n logo?: string;\n left?: {\n nav?: string;\n link?: string;\n };\n right?: {\n nav?: string;\n link?: string;\n };\n };\n content?: {\n wrapper?: string;\n bottom?: string;\n };\n footer?: {\n wrapper?: string;\n nav?: string;\n link?: string;\n };\n };\n loading?: boolean;\n children?: React.ReactNode;\n aslink: React.ElementType;\n}\n\nexport default function SimpleLayout(props: LayoutProps) {\n const { logo, user, left, right, sidebar, footer, classNames, loading, children, aslink } = props;\n\n const [mobileMenuOpen, setMobileMenuOpen] = useState(false);\n const [isMobile, setIsMobile] = useState(false);\n\n const LinkComponent = aslink ?? 'button';\n\n useEffect(() => {\n const handleResize = () => {\n setIsMobile(window.innerWidth < 768);\n };\n handleResize();\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n const toggleMobileMenu = () => setMobileMenuOpen(!mobileMenuOpen);\n\n const leftMenus = left?.menus ?? [];\n const rightMenus = right?.menus ?? [];\n const topMenus = [...leftMenus, ...rightMenus];\n const userMenuSections = user?.menuSections ?? [];\n const footerMenus = footer?.menus ?? [];\n\n return (\n <div className=\"flex flex-col min-h-screen\">\n {/* Header */}\n <header\n className={cn(\n 'px-4 py-2 flex items-center justify-between bg-gray-100 border-b border-gray-300',\n classNames?.header?.wrapper,\n )}\n >\n <div className=\"flex items-center space-x-4\">\n {sidebar && (\n <button\n className=\"bg-transparent border-gray-400 hover:border-gray-500\"\n onClick={() => {\n /* open sidebar */\n }}\n >\n {/* icon */}\n </button>\n )}\n {logo && (\n <div className={cn('_logo')}>\n <LinkComponent to={logo.link ?? '/'} href={logo.link ?? '/'}>\n <img src={logo.src} alt=\"Logo\" className={cn('h-10', classNames?.header?.logo)} />\n </LinkComponent>\n </div>\n )}\n\n {/* Left Menus */}\n <nav className={cn('flex space-x-4 items-center', classNames?.header?.left?.nav)}>\n {leftMenus.map((item) =>\n item.link ? (\n <LinkComponent\n key={item.label}\n to={item.link}\n href={item.link}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.left?.link,\n item.className,\n item.title || !isMobile ? 'inline-block' : 'hidden',\n )}\n >\n {item.label}\n </LinkComponent>\n ) : (\n <button\n key={item.label}\n onClick={item.action}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.left?.link,\n item.className,\n item.title || !isMobile ? 'inline-block' : 'hidden',\n )}\n >\n {item.label}\n </button>\n ),\n )}\n </nav>\n </div>\n\n {/* Right menus */}\n <nav className={cn('hidden md:flex space-x-4 items-center', classNames?.header?.right?.nav)}>\n {rightMenus.map((item) =>\n item.link ? (\n <LinkComponent\n key={item.label}\n to={item.link}\n href={item.link}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.right?.link,\n item.className,\n )}\n >\n {item.label}\n </LinkComponent>\n ) : (\n <button\n key={item.label}\n onClick={item.action}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.right?.link,\n item.className,\n )}\n >\n {item.label}\n </button>\n ),\n )}\n {userMenuSections.length > 0 && (\n <UserMenus sections={userMenuSections} trigger={user?.trigger} aslink={aslink} />\n )}\n </nav>\n\n {/* Mobile menu button */}\n <button onClick={toggleMobileMenu} className=\"md:hidden p-2 text-gray-700 hover:text-primary cursor-pointer\">\n <Menu className=\"\" />\n </button>\n </header>\n\n {/* Mobile menu */}\n {isMobile && mobileMenuOpen && (\n <div className=\"w-full\">\n <MobileMenu sections={userMenuSections} aslink={aslink} onClick={toggleMobileMenu} />\n </div>\n )}\n\n {/* Main content */}\n <main className={cn('p-4 flex flex-col flex-1', classNames?.content)}>\n {!loading && <div className=\"flex items-center justify-center h-full\">{children}</div>}\n <div className={cn('flex-1', classNames?.content?.bottom)}></div>\n </main>\n\n {/* Footer */}\n {footer && (\n <footer\n className={cn(\n 'px-4 py-4 bg-gray-100 border-t border-gray-300 text-sm text-gray-600',\n classNames?.footer?.wrapper,\n )}\n >\n <nav className={cn('flex flex-wrap justify-center space-x-4', classNames?.footer?.nav)}>\n {footerMenus.map((item) =>\n item.link ? (\n <LinkComponent\n key={item.label}\n to={item.link}\n href={item.link}\n className={cn(\n 'text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.footer?.link,\n item.className,\n )}\n >\n {item.label}\n </LinkComponent>\n ) : (\n <button\n key={item.label}\n onClick={item.action}\n className={cn(\n 'text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.footer?.link,\n item.className,\n )}\n >\n {item.label}\n </button>\n ),\n )}\n </nav>\n <div className=\"mt-2 text-center\">{footer?.content}</div>\n </footer>\n )}\n </div>\n );\n}\n"],"mappings":"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","names":["_a","_b","_c","_d"]}
|
|
1
|
+
{"version":3,"sources":["../../../layouts/simple/index.tsx"],"sourcesContent":["\"use client\";\nimport React, { useState, useMemo, useEffect } from 'react';\nimport { Menu } from 'lucide-react';\nimport { cn } from '../../utils/ui';\nimport { UserMenus } from './user-menu';\nimport { MobileMenu } from './mobile-menu';\nimport type { MenuItem, UserMenuSection } from './types';\n\ninterface LayoutProps {\n logo?: {\n src?: string;\n link?: string;\n };\n user?: {\n menuSections: UserMenuSection[];\n trigger?: React.ReactNode;\n };\n left?: {\n menus: MenuItem[];\n };\n right?: {\n menus: MenuItem[];\n };\n sidebar?: {\n title: string;\n content: React.ReactNode;\n };\n footer?: {\n menus: MenuItem[];\n content?: string;\n };\n classNames?: {\n header?: {\n wrapper: string;\n logo?: string;\n left?: {\n nav?: string;\n link?: string;\n };\n right?: {\n nav?: string;\n link?: string;\n };\n };\n content?: {\n wrapper?: string;\n bottom?: string;\n };\n footer?: {\n wrapper?: string;\n nav?: string;\n link?: string;\n };\n };\n loading?: boolean;\n children?: React.ReactNode;\n aslink: React.ElementType;\n}\n\nexport default function SimpleLayout(props: LayoutProps) {\n const { logo, user, left, right, sidebar, footer, classNames, loading, children, aslink } = props;\n\n const [mobileMenuOpen, setMobileMenuOpen] = useState(false);\n const [isMobile, setIsMobile] = useState(false);\n\n const LinkComponent = aslink ?? 'button';\n\n useEffect(() => {\n const handleResize = () => {\n setIsMobile(window.innerWidth < 768);\n };\n handleResize();\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n const toggleMobileMenu = () => setMobileMenuOpen(!mobileMenuOpen);\n\n const leftMenus = left?.menus ?? [];\n const rightMenus = right?.menus ?? [];\n const topMenus = [...leftMenus, ...rightMenus];\n const userMenuSections = user?.menuSections ?? [];\n const footerMenus = footer?.menus ?? [];\n\n return (\n <div className=\"flex flex-col min-h-screen\">\n {/* Header */}\n <header\n className={cn(\n 'px-4 py-2 flex items-center justify-between bg-gray-100 border-b border-gray-300',\n classNames?.header?.wrapper,\n )}\n >\n <div className=\"flex items-center space-x-4\">\n {sidebar && (\n <button\n className=\"bg-transparent border-gray-400 hover:border-gray-500\"\n onClick={() => {\n /* open sidebar */\n }}\n >\n {/* icon */}\n </button>\n )}\n {logo && (\n <div className={cn('_logo')}>\n <LinkComponent to={logo.link ?? '/'} href={logo.link ?? '/'}>\n <img src={logo.src} alt=\"Logo\" className={cn('h-10', classNames?.header?.logo)} />\n </LinkComponent>\n </div>\n )}\n\n {/* Left Menus */}\n <nav className={cn('flex space-x-4 items-center', classNames?.header?.left?.nav)}>\n {leftMenus.map((item) =>\n item.link ? (\n <LinkComponent\n key={item.label}\n to={item.link}\n href={item.link}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.left?.link,\n item.className,\n item.title || !isMobile ? 'inline-block' : 'hidden',\n )}\n >\n {item.label}\n </LinkComponent>\n ) : (\n <button\n key={item.label}\n onClick={item.action}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.left?.link,\n item.className,\n item.title || !isMobile ? 'inline-block' : 'hidden',\n )}\n >\n {item.label}\n </button>\n ),\n )}\n </nav>\n </div>\n\n {/* Right menus */}\n <nav className={cn('hidden md:flex space-x-4 items-center', classNames?.header?.right?.nav)}>\n {rightMenus.map((item) =>\n item.link ? (\n <LinkComponent\n key={item.label}\n to={item.link}\n href={item.link}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.right?.link,\n item.className,\n )}\n >\n {item.label}\n </LinkComponent>\n ) : (\n <button\n key={item.label}\n onClick={item.action}\n className={cn(\n 'text-left text-secondary visited:text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.header?.right?.link,\n item.className,\n )}\n >\n {item.label}\n </button>\n ),\n )}\n {userMenuSections.length > 0 && (\n <UserMenus sections={userMenuSections} trigger={user?.trigger} aslink={aslink} />\n )}\n </nav>\n\n {/* Mobile menu button */}\n <button onClick={toggleMobileMenu} className=\"md:hidden p-2 text-gray-700 hover:text-primary cursor-pointer\">\n <Menu className=\"\" />\n </button>\n </header>\n\n {/* Mobile menu */}\n {isMobile && mobileMenuOpen && (\n <div className=\"w-full\">\n <MobileMenu sections={userMenuSections} aslink={aslink} onClick={toggleMobileMenu} />\n </div>\n )}\n\n {/* Main content */}\n <main className={cn('p-4 flex flex-col flex-1', classNames?.content)}>\n {!loading && <div className=\"flex items-center justify-center h-full\">{children}</div>}\n <div className={cn('flex-1', classNames?.content?.bottom)}></div>\n </main>\n\n {/* Footer */}\n {footer && (\n <footer\n className={cn(\n 'px-4 py-4 bg-gray-100 border-t border-gray-300 text-sm text-gray-600',\n classNames?.footer?.wrapper,\n )}\n >\n <nav className={cn('flex flex-wrap justify-center space-x-4', classNames?.footer?.nav)}>\n {footerMenus.map((item) =>\n item.link ? (\n <LinkComponent\n key={item.label}\n to={item.link}\n href={item.link}\n className={cn(\n 'text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.footer?.link,\n item.className,\n )}\n >\n {item.label}\n </LinkComponent>\n ) : (\n <button\n key={item.label}\n onClick={item.action}\n className={cn(\n 'text-secondary hover:text-primary cursor-pointer no-underline',\n classNames?.footer?.link,\n item.className,\n )}\n >\n {item.label}\n </button>\n ),\n )}\n </nav>\n <div className=\"mt-2 text-center\">{footer?.content}</div>\n </footer>\n )}\n </div>\n );\n}\n"],"mappings":"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","names":["_a","_b","_c","_d"]}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
require('../../chunk-
|
|
5
|
+
var _chunkMBLSRGZ2js = require('../../chunk-MBLSRGZ2.js');
|
|
6
|
+
require('../../chunk-7SJRI4U2.js');
|
|
7
7
|
require('../../chunk-2NMEKWO5.js');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
exports.MobileMenu =
|
|
10
|
+
exports.MobileMenu = _chunkMBLSRGZ2js.MobileMenu;
|
|
11
11
|
//# sourceMappingURL=mobile-menu.js.map
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
require('../../chunk-
|
|
7
|
-
require('../../chunk-
|
|
5
|
+
var _chunkYFATYRLCjs = require('../../chunk-YFATYRLC.js');
|
|
6
|
+
require('../../chunk-XBXONBSD.js');
|
|
7
|
+
require('../../chunk-7SJRI4U2.js');
|
|
8
8
|
require('../../chunk-2NMEKWO5.js');
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
exports.UserMenus =
|
|
11
|
+
exports.UserMenus = _chunkYFATYRLCjs.UserMenus;
|
|
12
12
|
//# sourceMappingURL=user-menu.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
UserMenus
|
|
4
|
-
} from "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
6
|
-
import "../../chunk-
|
|
4
|
+
} from "../../chunk-VY32PQ6N.mjs";
|
|
5
|
+
import "../../chunk-ZUHAZXLZ.mjs";
|
|
6
|
+
import "../../chunk-5FGLRP7F.mjs";
|
|
7
7
|
import "../../chunk-YOSPWY5K.mjs";
|
|
8
8
|
export {
|
|
9
9
|
UserMenus
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.0.
|
|
2
|
+
"version": "0.0.57",
|
|
3
3
|
"description": "shadcn UI theme",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
@@ -36,21 +36,21 @@
|
|
|
36
36
|
"@radix-ui/react-toggle": "^1.1.2",
|
|
37
37
|
"@radix-ui/react-toggle-group": "^1.1.2",
|
|
38
38
|
"@radix-ui/react-tooltip": "^1.1.8",
|
|
39
|
-
"@tabler/icons-react": "^3.
|
|
39
|
+
"@tabler/icons-react": "^3.37.1",
|
|
40
40
|
"class-variance-authority": "^0.7.1",
|
|
41
41
|
"clsx": "^2.1.1",
|
|
42
42
|
"cmdk": "1.1.1",
|
|
43
43
|
"date-fns": "^4.1.0",
|
|
44
44
|
"embla-carousel-react": "^8.5.2",
|
|
45
45
|
"input-otp": "^1.4.2",
|
|
46
|
-
"lodash-es": "^4.17.
|
|
46
|
+
"lodash-es": "^4.17.23",
|
|
47
47
|
"lucide-react": "^0.555.0",
|
|
48
48
|
"next-themes": "^0.4.4",
|
|
49
49
|
"react-day-picker": "9.11.1",
|
|
50
50
|
"react-resizable-panels": "^3.0.0",
|
|
51
|
-
"tailwind-merge": "^3.0
|
|
51
|
+
"tailwind-merge": "^3.5.0",
|
|
52
52
|
"vaul": "^1.1.2",
|
|
53
|
-
"zod": "^4.
|
|
53
|
+
"zod": "^4.3.6"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
56
|
"react": "^18.3.1 || ^19.0.0",
|
package/chunk-2QMNPBOE.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../components/ui/checkbox.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport { Check } from 'lucide-react';\n\nimport { cn } from '../../lib/utils';\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n 'peer h-4 w-4 shrink-0 rounded-sm border border-secondary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-secondary data-[state=checked]:text-secondary-foreground',\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator className={cn('flex items-center justify-center text-current')}>\n <Check className=\"h-4 w-4\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n));\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n"],"mappings":";;;;;;;;;AACA,YAAY,WAAW;AACvB,YAAY,uBAAuB;AACnC,SAAS,aAAa;AAItB,IAAM,WAAiB,iBAGrB,CAAC,IAAyB,QAAK;AAA9B,eAAE,YAVL,IAUG,IAAgB,kBAAhB,IAAgB,CAAd;AACH;AAAA,IAAmB;AAAA,IAAlB;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI;AAAA,IAEJ,oCAAmB,6BAAlB,EAA4B,WAAW,GAAG,+CAA+C,KACxF,oCAAC,SAAM,WAAU,WAAU,CAC7B;AAAA,EACF;AAAA,CACD;AACD,SAAS,cAAgC,uBAAK;","names":[]}
|
package/chunk-2R34M7KI.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../components/ui/textarea.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\n\nimport { cn } from '../../lib/utils';\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, React.ComponentProps<'textarea'>>(\n ({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n 'flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nTextarea.displayName = 'Textarea';\n\nexport { Textarea };\n"],"mappings":";;;;;;;;;AACA,YAAY,WAAW;AAIvB,IAAM,WAAiB;AAAA,EACrB,CAAC,IAAyB,QAAQ;AAAjC,iBAAE,YANL,IAMG,IAAgB,kBAAhB,IAAgB,CAAd;AACD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,SACI;AAAA,IACN;AAAA,EAEJ;AACF;AACA,SAAS,cAAc;","names":[]}
|
package/chunk-37EH7QCX.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../components/ui/select.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport * as SelectPrimitive from '@radix-ui/react-select';\nimport { Check, ChevronDown, ChevronUp } from 'lucide-react';\n\nimport { cn } from '../../lib/utils';\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n 'flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-white px-3 py-2 text-sm shadow-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1',\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronUp className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronDown className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = 'popper', ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n 'relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n position === 'popper' &&\n 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' &&\n 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]',\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label ref={ref} className={cn('px-2 py-1.5 text-sm font-semibold', className)} {...props} />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-secondary focus:text-secondary-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-muted', className)} {...props} />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n};\n"],"mappings":"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","names":[]}
|
package/chunk-3BCL4OKX.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../lib/number.ts"],"sourcesContent":["\"use client\";\nexport function convertToHours(value: string): string;\nexport function convertToHours(value: string, asNumber: true): number;\nexport function convertToHours(value: string, asNumber: false): string;\nexport function convertToHours(value: string, asNumber: boolean = false): string | number {\n let result: number;\n\n if (!value) {\n result = 0;\n }\n // Check if the input is a valid number without any suffix (e.g., \"1.5\")\n else if (!isNaN(Number(value))) {\n result = parseFloat(value);\n } else if (value.toLowerCase().endsWith('h')) {\n // Check if it ends with 'h' or 'H' (hours)\n result = parseFloat(value.slice(0, -1));\n } else if (value.toLowerCase().endsWith('m')) {\n // Check if it ends with 'm' or 'M' (minutes)\n const minutes = parseFloat(value.slice(0, -1));\n result = minutes / 60; // Convert minutes to hours\n } else if (value.toLowerCase().endsWith('s')) {\n // Check if it ends with 's' or 'S' (seconds)\n const seconds = parseFloat(value.slice(0, -1));\n result = seconds / 3600; // Convert seconds to hours\n } else {\n // For any other format, return 0\n result = 0;\n }\n\n // Return the result either as a number or string based on the 'asNumber' option\n return asNumber ? result : String(Number(result.toFixed(17))); // Convert to number to remove trailing zeros\n}\n\nexport function convertFromHours(value: string): string {\n const hours = parseFloat(value);\n\n if (isNaN(hours) || hours === 0) {\n return '0';\n }\n\n if (hours >= 1) {\n return `${hours}h`;\n }\n\n const minutes = hours * 60;\n if (minutes >= 1) {\n return `${Math.round(minutes)}m`;\n }\n\n const seconds = hours * 3600;\n return `${Math.round(seconds)}s`;\n}\n\nexport function convertToWholeFromHours(value: string): string {\n const hours = parseFloat(value);\n\n if (isNaN(hours) || hours === 0) {\n return '0';\n }\n\n // Convert to minutes if the value represents a whole number of minutes\n const minutes = hours * 60;\n if (Math.abs(minutes - Math.round(minutes)) < 1e-10) {\n return `${Math.round(minutes)}m`;\n }\n\n // Convert to seconds if the value represents a whole number of seconds\n const seconds = hours * 3600;\n if (Math.abs(seconds - Math.round(seconds)) < 1e-10) {\n return `${Math.round(seconds)}s`;\n }\n\n // Otherwise, return the value with the 'h' suffix for hours\n return `${hours}h`;\n}\n"],"mappings":";AAIO,SAAS,eAAe,OAAe,WAAoB,OAAwB;AACxF,MAAI;AAEJ,MAAI,CAAC,OAAO;AACV,aAAS;AAAA,EACX,WAES,CAAC,MAAM,OAAO,KAAK,CAAC,GAAG;AAC9B,aAAS,WAAW,KAAK;AAAA,EAC3B,WAAW,MAAM,YAAY,EAAE,SAAS,GAAG,GAAG;AAE5C,aAAS,WAAW,MAAM,MAAM,GAAG,EAAE,CAAC;AAAA,EACxC,WAAW,MAAM,YAAY,EAAE,SAAS,GAAG,GAAG;AAE5C,UAAM,UAAU,WAAW,MAAM,MAAM,GAAG,EAAE,CAAC;AAC7C,aAAS,UAAU;AAAA,EACrB,WAAW,MAAM,YAAY,EAAE,SAAS,GAAG,GAAG;AAE5C,UAAM,UAAU,WAAW,MAAM,MAAM,GAAG,EAAE,CAAC;AAC7C,aAAS,UAAU;AAAA,EACrB,OAAO;AAEL,aAAS;AAAA,EACX;AAGA,SAAO,WAAW,SAAS,OAAO,OAAO,OAAO,QAAQ,EAAE,CAAC,CAAC;AAC9D;AAEO,SAAS,iBAAiB,OAAuB;AACtD,QAAM,QAAQ,WAAW,KAAK;AAE9B,MAAI,MAAM,KAAK,KAAK,UAAU,GAAG;AAC/B,WAAO;AAAA,EACT;AAEA,MAAI,SAAS,GAAG;AACd,WAAO,GAAG,KAAK;AAAA,EACjB;AAEA,QAAM,UAAU,QAAQ;AACxB,MAAI,WAAW,GAAG;AAChB,WAAO,GAAG,KAAK,MAAM,OAAO,CAAC;AAAA,EAC/B;AAEA,QAAM,UAAU,QAAQ;AACxB,SAAO,GAAG,KAAK,MAAM,OAAO,CAAC;AAC/B;AAEO,SAAS,wBAAwB,OAAuB;AAC7D,QAAM,QAAQ,WAAW,KAAK;AAE9B,MAAI,MAAM,KAAK,KAAK,UAAU,GAAG;AAC/B,WAAO;AAAA,EACT;AAGA,QAAM,UAAU,QAAQ;AACxB,MAAI,KAAK,IAAI,UAAU,KAAK,MAAM,OAAO,CAAC,IAAI,OAAO;AACnD,WAAO,GAAG,KAAK,MAAM,OAAO,CAAC;AAAA,EAC/B;AAGA,QAAM,UAAU,QAAQ;AACxB,MAAI,KAAK,IAAI,UAAU,KAAK,MAAM,OAAO,CAAC,IAAI,OAAO;AACnD,WAAO,GAAG,KAAK,MAAM,OAAO,CAAC;AAAA,EAC/B;AAGA,SAAO,GAAG,KAAK;AACjB;","names":[]}
|
package/chunk-3T2PPKR3.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-3T2PPKR3.js","../components/ui/textarea.tsx"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACF,sDAA4B;AAC5B;AACA;ACPA,2EAAuB;AAIvB,IAAM,SAAA,EAAiB,KAAA,CAAA,UAAA;AAAA,EACrB,CAAC,EAAA,EAAyB,GAAA,EAAA,GAAQ;AAAjC,IAAA,IAAA,GAAA,EAAA,EAAA,EAAE,EAAA,UANL,EAAA,EAMG,EAAA,EAAgB,MAAA,EAAA,wCAAA,EAAhB,EAAgB,CAAd,WAAA,CAAA,CAAA;AACD,IAAA,uBACE,KAAA,CAAA,aAAA;AAAA,MAAC,UAAA;AAAA,MAAA,6CAAA;AAAA,QACC,SAAA,EAAW,iCAAA;AAAA,UACT,2QAAA;AAAA,UACA;AAAA,QACF,CAAA;AAAA,QACA;AAAA,MAAA,CAAA,EACI,KAAA;AAAA,IACN,CAAA;AAAA,EAEJ;AACF,CAAA;AACA,QAAA,CAAS,YAAA,EAAc,UAAA;ADOvB;AACA;AACE;AACF,4BAAC","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-3T2PPKR3.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\n\nimport { cn } from '../../lib/utils';\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, React.ComponentProps<'textarea'>>(\n ({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n 'flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nTextarea.displayName = 'Textarea';\n\nexport { Textarea };\n"]}
|
package/chunk-4FD63HEQ.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-4FD63HEQ.js","../layouts/sidebar1/app-sidebar.tsx"],"names":["_a"],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACF,sDAA4B;AAC5B;AACA;ACvBA,2EAAuB;AAoBhB,SAAS,UAAA,CAAW,EAAA,EAKxB;AALwB,EAAA,IACtB,MAAA,EAAA,wCAAA,EADsB,EACtB,CAAA,CAAA,CAAA;AAtBL,EAAA,IAAA,EAAA;AA2BE,EAAA,MAAkCA,IAAAA,EAAA,KAAA,EAA1B,EAAA,IAAA,EAAM,OA3BhB,EAAA,EA2BoCA,GAAAA,EAAT,KAAA,EAAA,wCAAA,GAASA,EAAT,CAAjB,MAAA,EAAM,QAAA,CAAA,CAAA;AAEd,EAAA,uBACE,KAAA,CAAA,aAAA,CAAC,wBAAA,EAAA,6CAAA,EAAQ,WAAA,EAAY,OAAA,CAAA,EAAW,IAAA,CAAA,kBAC9B,KAAA,CAAA,aAAA,CAAC,8BAAA,EAAA,IAAA,kBACC,KAAA,CAAA,aAAA,CAAC,gCAAA,EAAA,EAAgB,KAAA,EAAO,IAAA,CAAK,SAAA,CAAU,CACzC,CAAA,kBAEA,KAAA,CAAA,aAAA,CAAC,+BAAA,EAAA,IAAA,kBACC,KAAA,CAAA,aAAA,CAAC,yBAAA,EAAA,EAAS,KAAA,EAAO,IAAA,CAAK,KAAA,EAAO,OAAA,CAAgB,CAC/C,CAAA,kBAEA,KAAA,CAAA,aAAA,CAAC,8BAAA,EAAA,IAAA,EACE,IAAA,CAAK,KAAA,kBACJ,KAAA,CAAA,aAAA,CAAC,wBAAA,EAAA,EAAQ,IAAA,EAAM,IAAA,CAAK,IAAA,EAAM,KAAA,EAAO,IAAA,CAAK,SAAA,EAAW,MAAA,EAAgB,QAAA,EAAA,CAAU,GAAA,EAAA,IAAA,CAAK,MAAA,EAAA,GAAL,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAAa,OAAA,CAAQ,EAAA,kBAEhG,KAAA,CAAA,aAAA;AAAA,IAAC,uBAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAQ,SAAA;AAAA,MACR,OAAA,EAAS,CAAA,EAAA,GAAM;AA7C3B,QAAA,IAAAA,GAAAA;AA8Cc,QAAA,GAAA,CAAA,CAAIA,IAAAA,EAAA,IAAA,CAAK,MAAA,EAAA,GAAL,KAAA,EAAA,KAAA,EAAA,EAAAA,GAAAA,CAAa,KAAA,EAAO;AACtB,UAAA,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,CAAA;AAAA,QACpB;AAAA,MACF;AAAA,IAAA,CAAA;AAAA,IACD;AAAA,EAED,CAEJ,CAAA,kBAEA,KAAA,CAAA,aAAA,CAAC,4BAAA,EAAA,IAAY,CACf,CAAA;AAEJ;ADfA;AACA;AACE;AACF,gCAAC","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-4FD63HEQ.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport { NavMenus } from './nav-menus';\nimport { NavUser, INavUser, INavUserMenuItem } from './nav-user';\nimport { ContextSwitcher, INavContext } from './context-switcher';\nimport { INavMenu } from './nav-menus';\nimport { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarRail } from '../../components/ui/sidebar';\nimport { Button } from '../../components/ui/button';\nimport { cn } from '../../lib/utils';\n\nexport interface ISidebarData {\n user?: INavUser;\n contexts: INavContext[];\n menus: INavMenu[];\n userMenus: INavUserMenuItem[];\n events?: {\n login?: () => void;\n logout?: (user: INavUser) => void;\n };\n}\n\nexport function AppSidebar({\n ...props\n}: React.ComponentProps<typeof Sidebar> & {\n data: ISidebarData;\n aslink: React.ElementType;\n}) {\n const { data, aslink, ...rest } = props;\n\n return (\n <Sidebar collapsible=\"icon\" {...rest}>\n <SidebarHeader>\n <ContextSwitcher items={data.contexts} />\n </SidebarHeader>\n\n <SidebarContent>\n <NavMenus menus={data.menus} aslink={aslink} />\n </SidebarContent>\n\n <SidebarFooter>\n {data.user ? (\n <NavUser user={data.user} menus={data.userMenus} aslink={aslink} onLogout={data.events?.logout} />\n ) : (\n <Button\n variant=\"primary\"\n onClick={() => {\n if (data.events?.login) {\n data.events.login();\n }\n }}\n >\n Sign in\n </Button>\n )}\n </SidebarFooter>\n\n <SidebarRail />\n </Sidebar>\n );\n}\n"]}
|
package/chunk-4NMFJSJN.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../components/ui/button.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\nimport { Spinner } from './spinner';\n\nconst buttonVariants = cva(\n [\n 'cursor-pointer',\n 'active:translate-y-[0.5px]',\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n 'focus-visible:outline-none',\n 'focus-visible:ring-1',\n 'focus-visible:ring-ring',\n 'font-medium',\n 'gap-2',\n 'inline-flex',\n 'items-center',\n 'justify-center',\n 'rounded-sm',\n 'text-sm',\n 'transform',\n 'transition',\n 'transition-colors',\n 'whitespace-nowrap',\n '[&_svg]:pointer-events-none',\n '[&_svg]:shrink-0',\n '[&_svg]:size-4',\n ],\n {\n variants: {\n variant: {\n primary: 'border border-primary bg-primary text-primary-foreground shadow-sm hover:bg-primary/90',\n secondary: 'border border-secondary bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/90',\n success: 'border border-success bg-success text-success-foreground shadow-sm hover:bg-success/90',\n warning: 'border border-warning bg-warning text-warning-foreground shadow-sm hover:bg-warning/90',\n danger: 'border border-danger bg-danger text-danger-foreground shadow-sm hover:bg-danger/90',\n info: 'border border-info bg-info text-info-foreground shadow-sm hover:bg-info/90',\n light: 'border border-light bg-light text-light-foreground shadow-sm hover:bg-light/90',\n dark: 'border border-dark bg-dark text-dark-foreground shadow-sm hover:bg-dark/90',\n accent: 'border border-accent bg-accent text-accent-foreground shadow-sm hover:bg-accent/90',\n destructive:\n 'border border-destructive bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90',\n muted: 'border border-muted bg-muted text-muted-foreground shadow-sm hover:bg-muted/90',\n link: 'text-primary underline-offset-4 hover:underline',\n ghost: 'hover:bg-light hover:text-light-foreground',\n },\n size: {\n xs: 'h-7 rounded-xs px-2 text-xs',\n sm: 'h-8 rounded-sm px-3',\n default: 'h-9 px-4 py-2',\n lg: 'h-10 rounded-sm px-7 text-base',\n icon: 'h-9 w-9',\n 'compact-xs': 'h-6 px-2 py-1 text-xs',\n 'compact-sm': 'h-7 px-2 py-1',\n 'compact-default': 'h-8 px-2 py-1',\n 'compact-lg': 'h-9 px-2 py-1 text-base',\n 'compact-icon': 'h-8 w-8',\n },\n appearance: {\n solid: '',\n outline: 'bg-white border',\n 'outline-filled': 'bg-white border',\n },\n loading: {\n true: 'pointer-events-none',\n false: null,\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'default',\n appearance: 'solid',\n loading: false,\n },\n },\n);\n\n// Type safety for variant and size\nexport type VariantType = NonNullable<VariantProps<typeof buttonVariants>['variant']>;\nexport type SizeType = NonNullable<VariantProps<typeof buttonVariants>['size']>;\nexport type VariantStyleType = NonNullable<VariantProps<typeof buttonVariants>['appearance']>;\n\nexport interface ButtonProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'size'>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n}\n\nfunction getOutlineClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'border-primary text-primary shadow-sm hover:bg-primary/10',\n secondary: 'border-secondary text-secondary shadow-sm hover:bg-secondary/10',\n success: 'border-success text-success shadow-sm hover:bg-success/10',\n warning: 'border-warning text-warning shadow-sm hover:bg-warning/10',\n danger: 'border-danger text-danger shadow-sm hover:bg-danger/10',\n info: 'border-info text-info shadow-sm hover:bg-info/10',\n light: 'border-light text-light-foreground shadow-sm hover:bg-light/10',\n dark: 'border-dark text-dark shadow-sm hover:bg-dark/10',\n accent: 'border-accent text-accent shadow-sm hover:bg-accent/10',\n destructive: 'border-destructive text-destructive shadow-sm hover:bg-destructive/10',\n muted: 'border-muted text-muted-foreground shadow-sm hover:bg-muted/10',\n link: 'text-primary',\n ghost: 'text-light-foreground',\n };\n return colors[variant];\n}\n\nfunction getOutlineFilledClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'hover:bg-primary hover:text-primary-foreground',\n secondary: 'hover:bg-secondary hover:text-secondary-foreground',\n success: 'hover:bg-success hover:text-success-foreground',\n warning: 'hover:bg-warning hover:text-warning-foreground',\n danger: 'hover:bg-danger hover:text-danger-foreground',\n info: 'hover:bg-info hover:text-info-foreground',\n light: 'hover:bg-light hover:text-light-foreground',\n dark: 'hover:bg-dark hover:text-dark-foreground',\n accent: 'hover:bg-accent hover:text-accent-foreground',\n destructive: 'hover:bg-destructive hover:text-destructive-foreground',\n muted: 'hover:bg-muted hover:text-muted-foreground',\n link: 'hover:underline',\n ghost: 'hover:bg-light',\n };\n return colors[variant];\n}\n\nfunction getSpinnerClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'bg-primary text-primary-foreground',\n secondary: 'bg-secondary text-secondary-foreground',\n success: 'bg-success text-success-foreground',\n warning: 'bg-warning text-warning-foreground',\n danger: 'bg-danger text-danger-foreground',\n info: 'bg-info text-info-foreground',\n light: 'bg-light text-light-foreground',\n dark: 'bg-dark text-dark-foreground',\n accent: 'bg-accent text-accent-foreground',\n destructive: 'bg-destructive text-destructive-foreground',\n muted: 'bg-muted text-muted-foreground',\n link: 'text-primary',\n ghost: 'text-light-foreground',\n };\n return colors[variant];\n}\n\nfunction getOutlineSpinnerClasses(variant: VariantType) {\n const colors: Record<VariantType, string> = {\n primary: 'text-primary',\n secondary: 'text-secondary',\n success: 'text-success',\n warning: 'text-warning',\n danger: 'text-danger',\n info: 'text-info',\n light: 'text-light',\n dark: 'text-dark',\n accent: 'text-accent',\n destructive: 'text-destructive',\n muted: 'text-muted-foreground',\n link: 'text-primary',\n ghost: 'text-light-foreground',\n };\n return colors[variant];\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n { className, variant, size, appearance, loading, icon, iconPosition = 'left', asChild = false, children, ...props },\n ref,\n ) => {\n const Comp = asChild ? Slot : 'button';\n\n const outlineClasses =\n appearance === 'outline' || appearance === 'outline-filled' ? [getOutlineClasses(variant as VariantType)] : [];\n\n if (appearance === 'outline-filled') {\n outlineClasses.push(getOutlineFilledClasses(variant as VariantType));\n }\n\n const spinnerClasses =\n appearance === 'outline' || appearance === 'outline-filled'\n ? getOutlineSpinnerClasses(variant as VariantType)\n : getSpinnerClasses(variant as VariantType);\n\n return (\n <Comp\n type=\"button\"\n className={cn(buttonVariants({ variant, size, appearance, loading, className }), outlineClasses)}\n ref={ref}\n aria-busy={loading || undefined}\n disabled={loading || props.disabled}\n {...props}\n >\n {loading ? (\n <div className=\"relative inline-flex items-center justify-center w-full\">\n <span className=\"invisible\">{children}</span>\n <span className=\"absolute inset-0 flex items-center justify-center\">\n <Spinner size=\"medium\" className={cn(spinnerClasses, 'animate-spin')} />\n </span>\n </div>\n ) : (\n <div className=\"flex items-center gap-1\">\n {icon && iconPosition === 'left' && <span className=\"flex-shrink-0\">{icon}</span>}\n {children}\n {icon && iconPosition === 'right' && <span className=\"flex-shrink-0\">{icon}</span>}\n </div>\n )}\n </Comp>\n );\n },\n);\n\nButton.displayName = 'Button';\n\nexport { Button, buttonVariants };\n"],"mappings":"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","names":[]}
|
package/chunk-4UZN52P7.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../components/form/error.tsx"],"sourcesContent":["\"use client\";\nimport React from 'react';\nimport _get from 'lodash-es/get';\nimport _startCase from 'lodash-es/startCase';\nimport { useFormContext } from 'react-hook-form';\nimport { cn } from '../../lib/utils';\n\nexport function FormError({\n field,\n className = '',\n message = '',\n}: {\n field: string;\n className?: string;\n message?: string;\n}) {\n const {\n formState: { errors },\n } = useFormContext();\n\n const fieldError = _get(errors, field);\n if (!fieldError) return null;\n return <div className={cn('text-sm text-danger mb-2', className)}>{message || String(fieldError.message)}</div>;\n}\n"],"mappings":";;;;;AACA,OAAO,WAAW;AAClB,OAAO,UAAU;AAEjB,SAAS,sBAAsB;AAGxB,SAAS,UAAU;AAAA,EACxB;AAAA,EACA,YAAY;AAAA,EACZ,UAAU;AACZ,GAIG;AACD,QAAM;AAAA,IACJ,WAAW,EAAE,OAAO;AAAA,EACtB,IAAI,eAAe;AAEnB,QAAM,aAAa,KAAK,QAAQ,KAAK;AACrC,MAAI,CAAC,WAAY,QAAO;AACxB,SAAO,oCAAC,SAAI,WAAW,GAAG,4BAA4B,SAAS,KAAI,WAAW,OAAO,WAAW,OAAO,CAAE;AAC3G;","names":[]}
|
package/chunk-4XC6EXHZ.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../components/ui/command.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport { type DialogProps } from '@radix-ui/react-dialog';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport { Search } from 'lucide-react';\n\nimport { cn } from '../../lib/utils';\nimport { Dialog, DialogContent } from './dialog';\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n 'flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground',\n className,\n )}\n {...props}\n />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\nconst CommandDialog = ({ children, ...props }: DialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0\">\n <Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n};\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n <div className=\"flex items-center border-b px-3\" cmdk-input-wrapper=\"\">\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n 'flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n />\n </div>\n));\n\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn('max-h-[300px] overflow-y-auto overflow-x-hidden', className)}\n {...props}\n />\n));\n\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => <CommandPrimitive.Empty ref={ref} className=\"py-6 text-center text-sm\" {...props} />);\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n 'overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground',\n className,\n )}\n {...props}\n />\n));\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator ref={ref} className={cn('-mx-1 h-px bg-border', className)} {...props} />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n className,\n )}\n {...props}\n />\n));\n\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return <span className={cn('ml-auto text-xs tracking-widest text-muted-foreground', className)} {...props} />;\n};\nCommandShortcut.displayName = 'CommandShortcut';\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n};\n"],"mappings":";;;;;;;;;;;;;AACA,YAAY,WAAW;AAEvB,SAAS,WAAW,wBAAwB;AAC5C,SAAS,cAAc;AAKvB,IAAM,UAAgB,iBAGpB,CAAC,IAAyB,QAAK;AAA9B,eAAE,YAZL,IAYG,IAAgB,kBAAhB,IAAgB,CAAd;AACH;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI;AAAA,EACN;AAAA,CACD;AACD,QAAQ,cAAc,iBAAiB;AAEvC,IAAM,gBAAgB,CAAC,OAAwC;AAAxC,eAAE,WAxBzB,IAwBuB,IAAe,kBAAf,IAAe,CAAb;AACvB,SACE,oCAAC,2BAAW,QACV,oCAAC,iBAAc,WAAU,yBACvB,oCAAC,WAAQ,WAAU,iXAChB,QACH,CACF,CACF;AAEJ;AAEA,IAAM,eAAqB,iBAGzB,CAAC,IAAyB,QAAK;AAA9B,eAAE,YAvCL,IAuCG,IAAgB,kBAAhB,IAAgB,CAAd;AACH,6CAAC,SAAI,WAAU,mCAAkC,sBAAmB,MAClE,oCAAC,UAAO,WAAU,oCAAmC,GACrD;AAAA,IAAC,iBAAiB;AAAA,IAAjB;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI;AAAA,EACN,CACF;AAAA,CACD;AAED,aAAa,cAAc,iBAAiB,MAAM;AAElD,IAAM,cAAoB,iBAGxB,CAAC,IAAyB,QAAK;AAA9B,eAAE,YA1DL,IA0DG,IAAgB,kBAAhB,IAAgB,CAAd;AACH;AAAA,IAAC,iBAAiB;AAAA,IAAjB;AAAA,MACC;AAAA,MACA,WAAW,GAAG,mDAAmD,SAAS;AAAA,OACtE;AAAA,EACN;AAAA,CACD;AAED,YAAY,cAAc,iBAAiB,KAAK;AAEhD,IAAM,eAAqB,iBAGzB,CAAC,OAAO,QAAQ,oCAAC,iBAAiB,OAAjB,iBAAuB,KAAU,WAAU,8BAA+B,MAAO,CAAE;AAEtG,aAAa,cAAc,iBAAiB,MAAM;AAElD,IAAM,eAAqB,iBAGzB,CAAC,IAAyB,QAAK;AAA9B,eAAE,YA9EL,IA8EG,IAAgB,kBAAhB,IAAgB,CAAd;AACH;AAAA,IAAC,iBAAiB;AAAA,IAAjB;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI;AAAA,EACN;AAAA,CACD;AAED,aAAa,cAAc,iBAAiB,MAAM;AAElD,IAAM,mBAAyB,iBAG7B,CAAC,IAAyB,QAAK;AAA9B,eAAE,YA9FL,IA8FG,IAAgB,kBAAhB,IAAgB,CAAd;AACH,6CAAC,iBAAiB,WAAjB,iBAA2B,KAAU,WAAW,GAAG,wBAAwB,SAAS,KAAO,MAAO;AAAA,CACpG;AACD,iBAAiB,cAAc,iBAAiB,UAAU;AAE1D,IAAM,cAAoB,iBAGxB,CAAC,IAAyB,QAAK;AAA9B,eAAE,YAtGL,IAsGG,IAAgB,kBAAhB,IAAgB,CAAd;AACH;AAAA,IAAC,iBAAiB;AAAA,IAAjB;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI;AAAA,EACN;AAAA,CACD;AAED,YAAY,cAAc,iBAAiB,KAAK;AAEhD,IAAM,kBAAkB,CAAC,OAAmE;AAAnE,eAAE,YAnH3B,IAmHyB,IAAgB,kBAAhB,IAAgB,CAAd;AACzB,SAAO,oCAAC,yBAAK,WAAW,GAAG,yDAAyD,SAAS,KAAO,MAAO;AAC7G;AACA,gBAAgB,cAAc;","names":[]}
|
package/chunk-4YSHGGKX.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// lib/number.ts
|
|
3
|
-
function convertToHours(value, asNumber = false) {
|
|
4
|
-
let result;
|
|
5
|
-
if (!value) {
|
|
6
|
-
result = 0;
|
|
7
|
-
} else if (!isNaN(Number(value))) {
|
|
8
|
-
result = parseFloat(value);
|
|
9
|
-
} else if (value.toLowerCase().endsWith("h")) {
|
|
10
|
-
result = parseFloat(value.slice(0, -1));
|
|
11
|
-
} else if (value.toLowerCase().endsWith("m")) {
|
|
12
|
-
const minutes = parseFloat(value.slice(0, -1));
|
|
13
|
-
result = minutes / 60;
|
|
14
|
-
} else if (value.toLowerCase().endsWith("s")) {
|
|
15
|
-
const seconds = parseFloat(value.slice(0, -1));
|
|
16
|
-
result = seconds / 3600;
|
|
17
|
-
} else {
|
|
18
|
-
result = 0;
|
|
19
|
-
}
|
|
20
|
-
return asNumber ? result : String(Number(result.toFixed(17)));
|
|
21
|
-
}
|
|
22
|
-
function convertFromHours(value) {
|
|
23
|
-
const hours = parseFloat(value);
|
|
24
|
-
if (isNaN(hours) || hours === 0) {
|
|
25
|
-
return "0";
|
|
26
|
-
}
|
|
27
|
-
if (hours >= 1) {
|
|
28
|
-
return `${hours}h`;
|
|
29
|
-
}
|
|
30
|
-
const minutes = hours * 60;
|
|
31
|
-
if (minutes >= 1) {
|
|
32
|
-
return `${Math.round(minutes)}m`;
|
|
33
|
-
}
|
|
34
|
-
const seconds = hours * 3600;
|
|
35
|
-
return `${Math.round(seconds)}s`;
|
|
36
|
-
}
|
|
37
|
-
function convertToWholeFromHours(value) {
|
|
38
|
-
const hours = parseFloat(value);
|
|
39
|
-
if (isNaN(hours) || hours === 0) {
|
|
40
|
-
return "0";
|
|
41
|
-
}
|
|
42
|
-
const minutes = hours * 60;
|
|
43
|
-
if (Math.abs(minutes - Math.round(minutes)) < 1e-10) {
|
|
44
|
-
return `${Math.round(minutes)}m`;
|
|
45
|
-
}
|
|
46
|
-
const seconds = hours * 3600;
|
|
47
|
-
if (Math.abs(seconds - Math.round(seconds)) < 1e-10) {
|
|
48
|
-
return `${Math.round(seconds)}s`;
|
|
49
|
-
}
|
|
50
|
-
return `${hours}h`;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
exports.convertToHours = convertToHours; exports.convertFromHours = convertFromHours; exports.convertToWholeFromHours = convertToWholeFromHours;
|
|
58
|
-
//# sourceMappingURL=chunk-4YSHGGKX.js.map
|
package/chunk-4YSHGGKX.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-4YSHGGKX.js","../lib/number.ts"],"names":[],"mappings":"AAAA;ACIO,SAAS,cAAA,CAAe,KAAA,EAAe,SAAA,EAAoB,KAAA,EAAwB;AACxF,EAAA,IAAI,MAAA;AAEJ,EAAA,GAAA,CAAI,CAAC,KAAA,EAAO;AACV,IAAA,OAAA,EAAS,CAAA;AAAA,EACX,EAAA,KAAA,GAAA,CAES,CAAC,KAAA,CAAM,MAAA,CAAO,KAAK,CAAC,CAAA,EAAG;AAC9B,IAAA,OAAA,EAAS,UAAA,CAAW,KAAK,CAAA;AAAA,EAC3B,EAAA,KAAA,GAAA,CAAW,KAAA,CAAM,WAAA,CAAY,CAAA,CAAE,QAAA,CAAS,GAAG,CAAA,EAAG;AAE5C,IAAA,OAAA,EAAS,UAAA,CAAW,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,CAAA,CAAE,CAAC,CAAA;AAAA,EACxC,EAAA,KAAA,GAAA,CAAW,KAAA,CAAM,WAAA,CAAY,CAAA,CAAE,QAAA,CAAS,GAAG,CAAA,EAAG;AAE5C,IAAA,MAAM,QAAA,EAAU,UAAA,CAAW,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,CAAA,CAAE,CAAC,CAAA;AAC7C,IAAA,OAAA,EAAS,QAAA,EAAU,EAAA;AAAA,EACrB,EAAA,KAAA,GAAA,CAAW,KAAA,CAAM,WAAA,CAAY,CAAA,CAAE,QAAA,CAAS,GAAG,CAAA,EAAG;AAE5C,IAAA,MAAM,QAAA,EAAU,UAAA,CAAW,KAAA,CAAM,KAAA,CAAM,CAAA,EAAG,CAAA,CAAE,CAAC,CAAA;AAC7C,IAAA,OAAA,EAAS,QAAA,EAAU,IAAA;AAAA,EACrB,EAAA,KAAO;AAEL,IAAA,OAAA,EAAS,CAAA;AAAA,EACX;AAGA,EAAA,OAAO,SAAA,EAAW,OAAA,EAAS,MAAA,CAAO,MAAA,CAAO,MAAA,CAAO,OAAA,CAAQ,EAAE,CAAC,CAAC,CAAA;AAC9D;AAEO,SAAS,gBAAA,CAAiB,KAAA,EAAuB;AACtD,EAAA,MAAM,MAAA,EAAQ,UAAA,CAAW,KAAK,CAAA;AAE9B,EAAA,GAAA,CAAI,KAAA,CAAM,KAAK,EAAA,GAAK,MAAA,IAAU,CAAA,EAAG;AAC/B,IAAA,OAAO,GAAA;AAAA,EACT;AAEA,EAAA,GAAA,CAAI,MAAA,GAAS,CAAA,EAAG;AACd,IAAA,OAAO,CAAA,EAAA;AACT,EAAA;AAEM,EAAA;AACF,EAAA;AACK,IAAA;AACT,EAAA;AAEM,EAAA;AACI,EAAA;AACZ;AAEgB;AACR,EAAA;AAEI,EAAA;AACD,IAAA;AACT,EAAA;AAGM,EAAA;AACG,EAAA;AACA,IAAA;AACT,EAAA;AAGM,EAAA;AACG,EAAA;AACA,IAAA;AACT,EAAA;AAGU,EAAA;AACZ;ADxBY;AACA;AACA;AACA;AACA;AACA","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-4YSHGGKX.js","sourcesContent":[null,"\"use client\";\nexport function convertToHours(value: string): string;\nexport function convertToHours(value: string, asNumber: true): number;\nexport function convertToHours(value: string, asNumber: false): string;\nexport function convertToHours(value: string, asNumber: boolean = false): string | number {\n let result: number;\n\n if (!value) {\n result = 0;\n }\n // Check if the input is a valid number without any suffix (e.g., \"1.5\")\n else if (!isNaN(Number(value))) {\n result = parseFloat(value);\n } else if (value.toLowerCase().endsWith('h')) {\n // Check if it ends with 'h' or 'H' (hours)\n result = parseFloat(value.slice(0, -1));\n } else if (value.toLowerCase().endsWith('m')) {\n // Check if it ends with 'm' or 'M' (minutes)\n const minutes = parseFloat(value.slice(0, -1));\n result = minutes / 60; // Convert minutes to hours\n } else if (value.toLowerCase().endsWith('s')) {\n // Check if it ends with 's' or 'S' (seconds)\n const seconds = parseFloat(value.slice(0, -1));\n result = seconds / 3600; // Convert seconds to hours\n } else {\n // For any other format, return 0\n result = 0;\n }\n\n // Return the result either as a number or string based on the 'asNumber' option\n return asNumber ? result : String(Number(result.toFixed(17))); // Convert to number to remove trailing zeros\n}\n\nexport function convertFromHours(value: string): string {\n const hours = parseFloat(value);\n\n if (isNaN(hours) || hours === 0) {\n return '0';\n }\n\n if (hours >= 1) {\n return `${hours}h`;\n }\n\n const minutes = hours * 60;\n if (minutes >= 1) {\n return `${Math.round(minutes)}m`;\n }\n\n const seconds = hours * 3600;\n return `${Math.round(seconds)}s`;\n}\n\nexport function convertToWholeFromHours(value: string): string {\n const hours = parseFloat(value);\n\n if (isNaN(hours) || hours === 0) {\n return '0';\n }\n\n // Convert to minutes if the value represents a whole number of minutes\n const minutes = hours * 60;\n if (Math.abs(minutes - Math.round(minutes)) < 1e-10) {\n return `${Math.round(minutes)}m`;\n }\n\n // Convert to seconds if the value represents a whole number of seconds\n const seconds = hours * 3600;\n if (Math.abs(seconds - Math.round(seconds)) < 1e-10) {\n return `${Math.round(seconds)}s`;\n }\n\n // Otherwise, return the value with the 'h' suffix for hours\n return `${hours}h`;\n}\n"]}
|