@mhmo91/schmancy 0.9.8 → 0.9.10
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/dist/{area-BO1pgdqV.cjs → area-BafkBc1f.cjs} +1 -1
- package/dist/{area-BO1pgdqV.cjs.map → area-BafkBc1f.cjs.map} +1 -1
- package/dist/{area-B7dO3iQk.js → area-D03HRn1L.js} +1 -1
- package/dist/{area-B7dO3iQk.js.map → area-D03HRn1L.js.map} +1 -1
- package/dist/area.cjs +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-C5zoEBRG.cjs → autocomplete-BeLg4A3T.cjs} +1 -1
- package/dist/{autocomplete-C5zoEBRG.cjs.map → autocomplete-BeLg4A3T.cjs.map} +1 -1
- package/dist/{autocomplete-DDi9TXif.js → autocomplete-BotVnTfP.js} +2 -2
- package/dist/{autocomplete-DDi9TXif.js.map → autocomplete-BotVnTfP.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-C79wzYg9.cjs → boat-4hSLFsGy.cjs} +1 -1
- package/dist/{boat-C79wzYg9.cjs.map → boat-4hSLFsGy.cjs.map} +1 -1
- package/dist/{boat-i8DrhLYx.js → boat-C1wGdoaF.js} +1 -1
- package/dist/{boat-i8DrhLYx.js.map → boat-C1wGdoaF.js.map} +1 -1
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/breadcrumb.cjs +1 -1
- package/dist/breadcrumb.js +1 -1
- package/dist/{busy-M-hbbgXX.cjs → busy-C0qP0TiL.cjs} +1 -1
- package/dist/{busy-M-hbbgXX.cjs.map → busy-C0qP0TiL.cjs.map} +1 -1
- package/dist/{busy--fpj3der.js → busy-D74-XaFn.js} +1 -1
- package/dist/{busy--fpj3der.js.map → busy-D74-XaFn.js.map} +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/{card-fR0jl5bl.js → card-C8Ns2mRo.js} +1 -1
- package/dist/{card-fR0jl5bl.js.map → card-C8Ns2mRo.js.map} +1 -1
- package/dist/{card-CU_ua_iC.cjs → card-DUq_MsxC.cjs} +1 -1
- package/dist/{card-CU_ua_iC.cjs.map → card-DUq_MsxC.cjs.map} +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/charts.cjs +1 -1
- package/dist/charts.js +1 -1
- package/dist/{checkbox-DhGwxLUA.js → checkbox-D18r6c0V.js} +1 -1
- package/dist/{checkbox-DhGwxLUA.js.map → checkbox-D18r6c0V.js.map} +1 -1
- package/dist/{checkbox-B_1r4sSi.cjs → checkbox-qPH_5Viu.cjs} +1 -1
- package/dist/{checkbox-B_1r4sSi.cjs.map → checkbox-qPH_5Viu.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-6oL8s3aa.js → chips-0rKPqQt8.js} +3 -3
- package/dist/{chips-6oL8s3aa.js.map → chips-0rKPqQt8.js.map} +1 -1
- package/dist/{chips-CPwBTyPc.cjs → chips-BI_kt5BS.cjs} +1 -1
- package/dist/{chips-CPwBTyPc.cjs.map → chips-BI_kt5BS.cjs.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/{code-highlight-boHQWw3m.js → code-highlight-ClzG4FL4.js} +1 -1
- package/dist/{code-highlight-boHQWw3m.js.map → code-highlight-ClzG4FL4.js.map} +1 -1
- package/dist/{code-highlight-q_CYpZwM.cjs → code-highlight-DGInmDAW.cjs} +1 -1
- package/dist/{code-highlight-q_CYpZwM.cjs.map → code-highlight-DGInmDAW.cjs.map} +1 -1
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{components-DctF7iZf.cjs → components-7hOtFi_q.cjs} +1 -1
- package/dist/{components-DctF7iZf.cjs.map → components-7hOtFi_q.cjs.map} +1 -1
- package/dist/{components-CP0GAP1f.js → components-RbvrLE3U.js} +1 -1
- package/dist/{components-CP0GAP1f.js.map → components-RbvrLE3U.js.map} +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/connectivity.cjs +1 -1
- package/dist/connectivity.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-7tEEsDtV.cjs → date-range-B0kW9np7.cjs} +1 -1
- package/dist/{date-range-7tEEsDtV.cjs.map → date-range-B0kW9np7.cjs.map} +1 -1
- package/dist/{date-range-BNs88xLm.js → date-range-CfIIPIA_.js} +2 -2
- package/dist/{date-range-BNs88xLm.js.map → date-range-CfIIPIA_.js.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-COZ8rqRd.js → delay-CPoyWZuQ.js} +3 -3
- package/dist/{delay-COZ8rqRd.js.map → delay-CPoyWZuQ.js.map} +1 -1
- package/dist/{delay-CLJt5qW-.cjs → delay-k_HiVnhP.cjs} +2 -2
- package/dist/{delay-CLJt5qW-.cjs.map → delay-k_HiVnhP.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-DkFwn_vQ.js → details-BU5kx0Jh.js} +1 -1
- package/dist/{details-DkFwn_vQ.js.map → details-BU5kx0Jh.js.map} +1 -1
- package/dist/{details-BPV8itUf.cjs → details-CQIbCUY0.cjs} +1 -1
- package/dist/{details-BPV8itUf.cjs.map → details-CQIbCUY0.cjs.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-DIrCxVmp.js → divider-D9borfuG.js} +1 -1
- package/dist/{divider-DIrCxVmp.js.map → divider-D9borfuG.js.map} +1 -1
- package/dist/{divider-CvPXQI-l.cjs → divider-IX9sp29l.cjs} +1 -1
- package/dist/{divider-CvPXQI-l.cjs.map → divider-IX9sp29l.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +2 -2
- package/dist/{expand-Bi1crOOq.js → expand-Dw9tbuFG.js} +2 -2
- package/dist/{expand-Bi1crOOq.js.map → expand-Dw9tbuFG.js.map} +1 -1
- package/dist/{expand-BRRNL58x.cjs → expand-dIrDcH9Y.cjs} +1 -1
- package/dist/{expand-BRRNL58x.cjs.map → expand-dIrDcH9Y.cjs.map} +1 -1
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/{extra-CKwEMtT6.cjs → extra-BFpPepJn.cjs} +1 -1
- package/dist/{extra-CKwEMtT6.cjs.map → extra-BFpPepJn.cjs.map} +1 -1
- package/dist/{extra-Ds5LPr-k.js → extra-D3sZLtFY.js} +1 -1
- package/dist/{extra-Ds5LPr-k.js.map → extra-D3sZLtFY.js.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{float-ByMCGgya.js → float-BKd4pilD.js} +1 -1
- package/dist/{float-ByMCGgya.js.map → float-BKd4pilD.js.map} +1 -1
- package/dist/{float-DJ3lbO3d.cjs → float-CJ3SuEcG.cjs} +1 -1
- package/dist/{float-DJ3lbO3d.cjs.map → float-CJ3SuEcG.cjs.map} +1 -1
- package/dist/float.cjs +1 -1
- package/dist/float.js +1 -1
- package/dist/{icons-MgnlVoKr.cjs → icons-1AkKNd7O.cjs} +1 -1
- package/dist/{icons-MgnlVoKr.cjs.map → icons-1AkKNd7O.cjs.map} +1 -1
- package/dist/{icons-ChMKOSdK.js → icons-DqIVrIIK.js} +1 -1
- package/dist/{icons-ChMKOSdK.js.map → icons-DqIVrIIK.js.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{iframe-C3mPpxWx.cjs → iframe-CtDetaw3.cjs} +1 -1
- package/dist/{iframe-C3mPpxWx.cjs.map → iframe-CtDetaw3.cjs.map} +1 -1
- package/dist/{iframe-DdOaufbd.js → iframe-D4R1Rq7G.js} +1 -1
- package/dist/{iframe-DdOaufbd.js.map → iframe-D4R1Rq7G.js.map} +1 -1
- package/dist/iframe.cjs +1 -1
- package/dist/iframe.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +31 -31
- package/dist/{input-chip-DKfmywnj.js → input-chip-B4uw64rQ.js} +1 -1
- package/dist/{input-chip-DKfmywnj.js.map → input-chip-B4uw64rQ.js.map} +1 -1
- package/dist/{input-chip-Cof2Ui_y.cjs → input-chip-DY9IEbQj.cjs} +1 -1
- package/dist/{input-chip-Cof2Ui_y.cjs.map → input-chip-DY9IEbQj.cjs.map} +1 -1
- package/dist/json.cjs +1 -1
- package/dist/json.js +2 -2
- package/dist/kbd.cjs +1 -1
- package/dist/kbd.js +1 -1
- package/dist/{layout-DYa9sgiB.cjs → layout-B1gXjlIO.cjs} +1 -1
- package/dist/{layout-DYa9sgiB.cjs.map → layout-B1gXjlIO.cjs.map} +1 -1
- package/dist/{layout-ChgTE8pM.js → layout-Dh0qW7XU.js} +2 -2
- package/dist/{layout-ChgTE8pM.js.map → layout-Dh0qW7XU.js.map} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +2 -2
- package/dist/{lightbox-D3qrClhy.js → lightbox-BM_Bpk_l.js} +2 -2
- package/dist/{lightbox-D3qrClhy.js.map → lightbox-BM_Bpk_l.js.map} +1 -1
- package/dist/{lightbox-C4EsSbSe.cjs → lightbox-BUuGltX9.cjs} +2 -2
- package/dist/{lightbox-C4EsSbSe.cjs.map → lightbox-BUuGltX9.cjs.map} +1 -1
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/{list-BIZgIR4b.cjs → list-C1GMiAi_.cjs} +2 -2
- package/dist/{list-BIZgIR4b.cjs.map → list-C1GMiAi_.cjs.map} +1 -1
- package/dist/{list-D3Qn7ipV.js → list-DrF_av2K.js} +2 -2
- package/dist/{list-D3Qn7ipV.js.map → list-DrF_av2K.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-8Ow4xwZs.js → litElement.mixin-D6ZHgGZv.js} +1 -1
- package/dist/{litElement.mixin-8Ow4xwZs.js.map → litElement.mixin-D6ZHgGZv.js.map} +1 -1
- package/dist/litElement.mixin-De5SG5z7.cjs +1 -0
- package/dist/{litElement.mixin-DE2UvM55.cjs.map → litElement.mixin-De5SG5z7.cjs.map} +1 -1
- package/dist/{mailbox-Bw9UiZST.js → mailbox-BjB502y9.js} +4 -4
- package/dist/{mailbox-Bw9UiZST.js.map → mailbox-BjB502y9.js.map} +1 -1
- package/dist/{mailbox-B1YmDL3b.cjs → mailbox-D0iXsqyx.cjs} +1 -1
- package/dist/{mailbox-B1YmDL3b.cjs.map → mailbox-D0iXsqyx.cjs.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-rMQpUHI6.js → map-BZTxFRVH.js} +1 -1
- package/dist/{map-rMQpUHI6.js.map → map-BZTxFRVH.js.map} +1 -1
- package/dist/{map-nnA6w4z7.cjs → map-uRYJeifl.cjs} +1 -1
- package/dist/{map-nnA6w4z7.cjs.map → map-uRYJeifl.cjs.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{menu-cAVmaxrl.js → menu-BamT46lt.js} +1 -1
- package/dist/{menu-cAVmaxrl.js.map → menu-BamT46lt.js.map} +1 -1
- package/dist/{menu-Br1KFAad.cjs → menu-CXFa_bk4.cjs} +1 -1
- package/dist/{menu-Br1KFAad.cjs.map → menu-CXFa_bk4.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins.cjs +1 -1
- package/dist/mixins.cjs.map +1 -1
- package/dist/mixins.js +18 -18
- package/dist/mixins.js.map +1 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-BLpGe-wh.js → notification-COgjQodt.js} +2 -2
- package/dist/{notification-BLpGe-wh.js.map → notification-COgjQodt.js.map} +1 -1
- package/dist/{notification-BkheXqRD.cjs → notification-Xid-o7gi.cjs} +1 -1
- package/dist/{notification-BkheXqRD.cjs.map → notification-Xid-o7gi.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-BZFwr2I3.cjs → option-CNWUeHW3.cjs} +1 -1
- package/dist/{option-BZFwr2I3.cjs.map → option-CNWUeHW3.cjs.map} +1 -1
- package/dist/{option-CK1PZE3k.js → option-DdYe_l1A.js} +1 -1
- package/dist/{option-CK1PZE3k.js.map → option-DdYe_l1A.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/page.cjs +1 -1
- package/dist/page.js +2 -2
- package/dist/{progress-157sda_G.cjs → progress-Bw-VD6wH.cjs} +1 -1
- package/dist/{progress-157sda_G.cjs.map → progress-Bw-VD6wH.cjs.map} +1 -1
- package/dist/{progress-BSK1MBi6.js → progress-OQvbUkDs.js} +1 -1
- package/dist/{progress-BSK1MBi6.js.map → progress-OQvbUkDs.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{provide-BX1YYYHU.js → provide-C4L6R1lo.js} +1 -1
- package/dist/{provide-BX1YYYHU.js.map → provide-C4L6R1lo.js.map} +1 -1
- package/dist/{provide-NUGEUOHp.cjs → provide-Dsoh3FdP.cjs} +1 -1
- package/dist/{provide-NUGEUOHp.cjs.map → provide-Dsoh3FdP.cjs.map} +1 -1
- package/dist/qr-scanner.cjs +1 -1
- package/dist/qr-scanner.js +1 -1
- package/dist/{radio-group-DIuyW_zT.cjs → radio-group-D5t8f2Ob.cjs} +1 -1
- package/dist/{radio-group-DIuyW_zT.cjs.map → radio-group-D5t8f2Ob.cjs.map} +1 -1
- package/dist/{radio-group-9VA-wY8o.js → radio-group-DI1JXW5r.js} +1 -1
- package/dist/{radio-group-9VA-wY8o.js.map → radio-group-DI1JXW5r.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/range.cjs +1 -1
- package/dist/range.js +1 -1
- package/dist/{scroll-av3Fhnz1.cjs → scroll-BG5qMncw.cjs} +1 -1
- package/dist/{scroll-av3Fhnz1.cjs.map → scroll-BG5qMncw.cjs.map} +1 -1
- package/dist/{scroll-BgIiwCLp.js → scroll-Dym-6yPI.js} +1 -1
- package/dist/{scroll-BgIiwCLp.js.map → scroll-Dym-6yPI.js.map} +1 -1
- package/dist/{select-zUX2du9q.cjs → select-B1nN5Ac4.cjs} +1 -1
- package/dist/{select-zUX2du9q.cjs.map → select-B1nN5Ac4.cjs.map} +1 -1
- package/dist/{select-CWsa-TPR.js → select-C3L3imJM.js} +1 -1
- package/dist/{select-CWsa-TPR.js.map → select-C3L3imJM.js.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-d74jGRIZ.js → sheet-BS9WlMaj.js} +3 -3
- package/dist/{sheet-d74jGRIZ.js.map → sheet-BS9WlMaj.js.map} +1 -1
- package/dist/{sheet-BPIUTIWk.cjs → sheet-BZRMpyXt.cjs} +1 -1
- package/dist/{sheet-BPIUTIWk.cjs.map → sheet-BZRMpyXt.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/{sheet.service-BV04hex5.js → sheet.service-DQWkiYEe.js} +1 -1
- package/dist/{sheet.service-BV04hex5.js.map → sheet.service-DQWkiYEe.js.map} +1 -1
- package/dist/{sheet.service-B9o9wHcT.cjs → sheet.service-l9jTUaot.cjs} +1 -1
- package/dist/{sheet.service-B9o9wHcT.cjs.map → sheet.service-l9jTUaot.cjs.map} +1 -1
- package/dist/skeleton.cjs +1 -1
- package/dist/skeleton.js +1 -1
- package/dist/skills/INDEX.md +1 -1
- package/dist/skills/SKILL.md +1 -1
- package/dist/skills/schmancy/INDEX.md +1 -1
- package/dist/skills/schmancy/SKILL.md +1 -1
- package/dist/skills/schmancy/surface.md +14 -0
- package/dist/skills/schmancy/theme.md +83 -5
- package/dist/skills/surface.md +14 -0
- package/dist/skills/theme.md +83 -5
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{splash-screen-DWEuDl82.cjs → splash-screen-DuFJ0gbD.cjs} +1 -1
- package/dist/{splash-screen-DWEuDl82.cjs.map → splash-screen-DuFJ0gbD.cjs.map} +1 -1
- package/dist/{splash-screen-pL-0E3Qf.js → splash-screen-M-v_jiLs.js} +1 -1
- package/dist/{splash-screen-pL-0E3Qf.js.map → splash-screen-M-v_jiLs.js.map} +1 -1
- package/dist/splash-screen.cjs +1 -1
- package/dist/splash-screen.js +1 -1
- package/dist/{src-BOQLhS_P.cjs → src-Ba-S6DFW.cjs} +6 -6
- package/dist/{src-BOQLhS_P.cjs.map → src-Ba-S6DFW.cjs.map} +1 -1
- package/dist/{src-D23NBj1v.js → src-CbR3znbw.js} +40 -40
- package/dist/{src-D23NBj1v.js.map → src-CbR3znbw.js.map} +1 -1
- package/dist/steps.cjs +2 -2
- package/dist/steps.js +3 -3
- package/dist/{surface-C_5i3jWp.cjs → surface-PECoCLgx.cjs} +1 -1
- package/dist/{surface-C_5i3jWp.cjs.map → surface-PECoCLgx.cjs.map} +1 -1
- package/dist/{surface-DBAbNfJd.js → surface-kM2aYH4g.js} +2 -2
- package/dist/{surface-DBAbNfJd.js.map → surface-kM2aYH4g.js.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/switch.cjs +1 -1
- package/dist/switch.js +1 -1
- package/dist/{table-CRZe8D5I.cjs → table-CENjXiu-.cjs} +1 -1
- package/dist/{table-CRZe8D5I.cjs.map → table-CENjXiu-.cjs.map} +1 -1
- package/dist/{table-pcTVURal.js → table-DrMgc8Aw.js} +1 -1
- package/dist/{table-pcTVURal.js.map → table-DrMgc8Aw.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-DajjPImp.js → tabs-BvFiM0y-.js} +2 -2
- package/dist/{tabs-DajjPImp.js.map → tabs-BvFiM0y-.js.map} +1 -1
- package/dist/{tabs-vgQHudFo.cjs → tabs-CRA9FMNl.cjs} +1 -1
- package/dist/{tabs-vgQHudFo.cjs.map → tabs-CRA9FMNl.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-Bug3G6K6.cjs +2 -0
- package/dist/{tailwind.mixin-B9BI55A6.cjs.map → tailwind.mixin-Bug3G6K6.cjs.map} +1 -1
- package/dist/tailwind.mixin-ywtUNG2c.js +219 -0
- package/dist/{tailwind.mixin-CZ3HjYZA.js.map → tailwind.mixin-ywtUNG2c.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-DTw-PvJx.cjs → textarea-CfwGEIvf.cjs} +1 -1
- package/dist/{textarea-DTw-PvJx.cjs.map → textarea-CfwGEIvf.cjs.map} +1 -1
- package/dist/{textarea-CkqzzIHS.js → textarea-DD5gxIsG.js} +1 -1
- package/dist/{textarea-CkqzzIHS.js.map → textarea-DD5gxIsG.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-BnOBTUu_.cjs → theme-BiM_CUpn.cjs} +2 -2
- package/dist/{theme-BnOBTUu_.cjs.map → theme-BiM_CUpn.cjs.map} +1 -1
- package/dist/{theme-DO3BzTr2.js → theme-DNJmVFXF.js} +3 -3
- package/dist/{theme-DO3BzTr2.js.map → theme-DNJmVFXF.js.map} +1 -1
- package/dist/{theme-button-DYP56JjA.js → theme-button-19T3SFrv.js} +1 -1
- package/dist/{theme-button-DYP56JjA.js.map → theme-button-19T3SFrv.js.map} +1 -1
- package/dist/{theme-button-CnC3Ed_i.cjs → theme-button-BwJs6N4k.cjs} +1 -1
- package/dist/{theme-button-CnC3Ed_i.cjs.map → theme-button-BwJs6N4k.cjs.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/theme.js +2 -2
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-Bh1kC8iS.cjs → typewriter-BH7nsW7R.cjs} +2 -2
- package/dist/{typewriter-Bh1kC8iS.cjs.map → typewriter-BH7nsW7R.cjs.map} +1 -1
- package/dist/{typewriter-BfMcG1Ij.js → typewriter-Z-8bbwOh.js} +3 -3
- package/dist/{typewriter-BfMcG1Ij.js.map → typewriter-Z-8bbwOh.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/dist/visually-hidden.cjs +1 -1
- package/dist/visually-hidden.js +1 -1
- package/dist/{window-CDauTHQp.js → window-Du_ougyw.js} +1 -1
- package/dist/{window-CDauTHQp.js.map → window-Du_ougyw.js.map} +1 -1
- package/dist/{window-CXyGM5J0.cjs → window-NDXXyj5v.cjs} +1 -1
- package/dist/{window-CXyGM5J0.cjs.map → window-NDXXyj5v.cjs.map} +1 -1
- package/dist/window.cjs +1 -1
- package/dist/window.js +1 -1
- package/package.json +2 -4
- package/skills/schmancy/INDEX.md +1 -1
- package/skills/schmancy/SKILL.md +1 -1
- package/skills/schmancy/surface.md +14 -0
- package/skills/schmancy/theme.md +83 -5
- package/types/mixins/tailwind.mixin.d.ts +0 -15
- package/dist/litElement.mixin-DE2UvM55.cjs +0 -1
- package/dist/tailwind.mixin-B9BI55A6.cjs +0 -2
- package/dist/tailwind.mixin-CZ3HjYZA.js +0 -238
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-BNs88xLm.js","names":[],"sources":["../node_modules/dayjs/dayjs.min.js","../node_modules/dayjs/plugin/quarterOfYear.js","../src/date-range/date-range-helpers.ts","../src/date-range/date-range-presets.ts","../src/date-range/date-utils.ts","../src/date-range/date-range-dialog.ts","../src/date-range/date-range.ts"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(t,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_quarterOfYear=n()}(this,(function(){\"use strict\";var t=\"month\",n=\"quarter\";return function(e,i){var r=i.prototype;r.quarter=function(t){return this.$utils().u(t)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(t-1))};var s=r.add;r.add=function(e,i){return e=Number(e),this.$utils().p(i)===n?this.add(3*e,t):s.bind(this)(e,i)};var u=r.startOf;r.startOf=function(e,i){var r=this.$utils(),s=!!r.u(i)||i;if(r.p(e)===n){var o=this.quarter()-1;return s?this.month(3*o).startOf(t).startOf(\"day\"):this.month(3*o+2).endOf(t).endOf(\"day\")}return u.bind(this)(e,i)}}}));","import dayjs from 'dayjs'\r\n\r\n/**\r\n * Format a date range into a human-readable string\r\n */\r\nexport function formatDateRange(\r\n\tfromValue: string,\r\n\ttoValue: string,\r\n\ttype: 'date' | 'datetime-local',\r\n\tplaceholder: string\r\n): string {\r\n\tif (!fromValue || !toValue) {\r\n\t\treturn placeholder\r\n\t}\r\n\r\n\tconst fromDate = dayjs(fromValue)\r\n\tconst toDate = dayjs(toValue)\r\n\r\n\tif (!fromDate.isValid() || !toDate.isValid()) {\r\n\t\treturn placeholder\r\n\t}\r\n\r\n\t// Format times if needed (for datetime-local)\r\n\tconst fromTime = type === 'datetime-local' ? fromDate.format(' h:mm A') : ''\r\n\tconst toTime = type === 'datetime-local' ? toDate.format(' h:mm A') : ''\r\n\r\n\t// Check if same day\r\n\tif (fromDate.isSame(toDate, 'day')) {\r\n\t\treturn `${fromDate.format('ddd, MMM D, YYYY')}${fromTime}`\r\n\t}\r\n\r\n\t// Check if same month and year\r\n\tif (fromDate.isSame(toDate, 'month') && fromDate.isSame(toDate, 'year')) {\r\n\t\treturn `${fromDate.format('ddd MMM D')} - ${toDate.format('ddd D, YYYY')}${toTime}`\r\n\t}\r\n\r\n\t// Check if same year\r\n\tif (fromDate.isSame(toDate, 'year')) {\r\n\t\treturn `${fromDate.format('ddd MMM D')} - ${toDate.format('ddd MMM D, YYYY')}${toTime}`\r\n\t}\r\n\r\n\t// Different years\r\n\treturn `${fromDate.format('ddd MMM D, YYYY')}${fromTime} - ${toDate.format('ddd MMM D, YYYY')}${toTime}`\r\n}\r\n\r\n/**\r\n * Detect the type of date range (full month, full quarter, etc.)\r\n */\r\nexport interface DateRangeType {\r\n\tisFullMonth: boolean\r\n\tisFullQuarter: boolean\r\n\tisFullYear: boolean\r\n\tisFullWeek: boolean\r\n}\r\n\r\nexport function detectDateRangeType(fromDate: dayjs.Dayjs, toDate: dayjs.Dayjs): DateRangeType {\r\n\treturn {\r\n\t\tisFullMonth: fromDate.date() === 1 && toDate.isSame(fromDate.endOf('month'), 'day'),\r\n\t\tisFullQuarter: fromDate.isSame(fromDate.startOf('quarter'), 'day') && toDate.isSame(toDate.endOf('quarter'), 'day'),\r\n\t\tisFullYear: fromDate.isSame(fromDate.startOf('year'), 'day') && toDate.isSame(toDate.endOf('year'), 'day'),\r\n\t\tisFullWeek: fromDate.day() === 0 && toDate.day() === 6 && toDate.diff(fromDate, 'days') === 6,\r\n\t}\r\n}\r\n\r\n","import dayjs from 'dayjs'\r\n\r\nexport type PresetUnit = dayjs.OpUnitType | 'quarter'\r\n\r\nexport interface DateRangePreset {\r\n\tlabel: string\r\n\trange: { dateFrom: string; dateTo: string }\r\n\tstep: PresetUnit\r\n}\r\n\r\nexport interface PresetCategory {\r\n\tname: string\r\n\tpresets: DateRangePreset[]\r\n}\r\n\r\n/**\r\n * Generate date range presets for different time periods\r\n */\r\nexport function generatePresetCategories(format: string, includeTime: boolean = false): PresetCategory[] {\r\n\tconst categories: PresetCategory[] = []\r\n\r\n\t// Hours category (only for datetime-local)\r\n\tif (includeTime) {\r\n\t\tcategories.push({\r\n\t\t\tname: 'Hours',\r\n\t\t\tpresets: [\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: 'Last 24 Hours',\r\n\t\t\t\t\trange: {\r\n\t\t\t\t\t\tdateFrom: dayjs().subtract(24, 'hours').format(format),\r\n\t\t\t\t\t\tdateTo: dayjs().format(format),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tstep: 'hour',\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: 'Last 12 Hours',\r\n\t\t\t\t\trange: {\r\n\t\t\t\t\t\tdateFrom: dayjs().subtract(12, 'hours').format(format),\r\n\t\t\t\t\t\tdateTo: dayjs().format(format),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tstep: 'hour',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t})\r\n\t}\r\n\r\n\t// Days category\r\n\tcategories.push({\r\n\t\tname: 'Days',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Today',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('day').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'day',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Yesterday',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'days').startOf('day').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'days').endOf('day').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'day',\r\n\t\t\t},\r\n\t\t\t...generateLastNDaysPresets([7, 14, 30, 60, 90], format),\r\n\t\t],\r\n\t})\r\n\r\n\t// Weeks category\r\n\tcategories.push({\r\n\t\tname: 'Weeks',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This Week',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('week').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('week').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'week',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last Week',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'weeks').startOf('week').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'weeks').endOf('week').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'week',\r\n\t\t\t},\r\n\t\t\t...generateLastNWeeksPresets([2, 4], format),\r\n\t\t],\r\n\t})\r\n\r\n\t// Months category\r\n\tcategories.push({\r\n\t\tname: 'Months',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This Month',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('month').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('month').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'month',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last Month',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'month').startOf('month').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'month').endOf('month').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'month',\r\n\t\t\t},\r\n\t\t\t...generateLastNMonthsPresets([3, 6], format),\r\n\t\t],\r\n\t})\r\n\r\n\t// Quarters category\r\n\tcategories.push({\r\n\t\tname: 'Quarters',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This Quarter',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('quarter').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('quarter').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'quarter',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last Quarter',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'quarter').startOf('quarter').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'quarter').endOf('quarter').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'quarter',\r\n\t\t\t},\r\n\t\t\t...generateLastNQuartersPresets([2, 4], format),\r\n\t\t],\r\n\t})\r\n\r\n\t// Years category\r\n\tcategories.push({\r\n\t\tname: 'Years',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This Year',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('year').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('year').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'year',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last Year',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'year').startOf('year').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'year').endOf('year').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'year',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Year to Date',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('year').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'day',\r\n\t\t\t},\r\n\t\t],\r\n\t})\r\n\r\n\treturn categories\r\n}\r\n\r\n// Helper functions to generate preset arrays\r\nfunction generateLastNDaysPresets(days: number[], format: string): DateRangePreset[] {\r\n\treturn days.map(n => ({\r\n\t\tlabel: `Last ${n} Days`,\r\n\t\trange: {\r\n\t\t\tdateFrom: dayjs().subtract(n - 1, 'days').startOf('day').format(format),\r\n\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t},\r\n\t\tstep: 'day' as PresetUnit,\r\n\t}))\r\n}\r\n\r\nfunction generateLastNWeeksPresets(weeks: number[], format: string): DateRangePreset[] {\r\n\treturn weeks.map(n => ({\r\n\t\tlabel: `Last ${n} Weeks`,\r\n\t\trange: {\r\n\t\t\tdateFrom: dayjs().subtract(n, 'weeks').startOf('week').format(format),\r\n\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t},\r\n\t\tstep: 'week' as PresetUnit,\r\n\t}))\r\n}\r\n\r\nfunction generateLastNMonthsPresets(months: number[], format: string): DateRangePreset[] {\r\n\treturn months.map(n => ({\r\n\t\tlabel: `Last ${n} Months`,\r\n\t\trange: {\r\n\t\t\tdateFrom: dayjs().subtract(n, 'months').startOf('month').format(format),\r\n\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t},\r\n\t\tstep: 'month' as PresetUnit,\r\n\t}))\r\n}\r\n\r\nfunction generateLastNQuartersPresets(quarters: number[], format: string): DateRangePreset[] {\r\n\treturn quarters.map(n => ({\r\n\t\tlabel: `Last ${n} Quarters`,\r\n\t\trange: {\r\n\t\t\tdateFrom: dayjs().subtract(n, 'quarters').startOf('quarter').format(format),\r\n\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t},\r\n\t\tstep: 'quarter' as PresetUnit,\r\n\t}))\r\n}","import dayjs from 'dayjs'\n\ntype DateFormat = 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\n/**\n * Ensures that a date string conforms to a specific format.\n * If the date is already in the correct format, it returns the original string.\n * If the date is in a different format, it attempts to convert it to the specified format.\n * If the date is invalid or cannot be converted, it returns null.\n *\n * @param dateString The date string to validate and format.\n * @param expectedFormat The expected date format (e.g., 'YYYY-MM-DD', 'YYYY-MM-DDTHH:mm').\n * @returns The formatted date string, or null if the date is invalid.\n */\nfunction enforceDateFormat(dateString: string | undefined, expectedFormat: DateFormat): string | null {\n\tif (!dateString) {\n\t\treturn null // Or handle the undefined case differently if needed\n\t}\n\n\tconst parsedDate = dayjs(dateString)\n\n\tif (!parsedDate.isValid()) {\n\t\treturn null // Date is invalid\n\t}\n\n\treturn parsedDate.format(expectedFormat)\n}\n\n/**\n * Validates if the initial date range values are in the expected format.\n *\n * @param dateFrom The dateFrom value to validate.\n * @param dateTo The dateTo value to validate.\n * @param expectedFormat The expected date format.\n * @returns An object indicating whether each date is valid, and the formatted date or null if invalid.\n */\nfunction validateInitialDateRange(\n\tdateFrom: string | undefined,\n\tdateTo: string | undefined,\n\texpectedFormat: DateFormat,\n): {\n\tdateFrom: string | null\n\tdateTo: string | null\n\tisValid: boolean\n} {\n\tconst formattedDateFrom = enforceDateFormat(dateFrom, expectedFormat)\n\tconst formattedDateTo = enforceDateFormat(dateTo, expectedFormat)\n\n\tconst isValid = formattedDateFrom !== null && formattedDateTo !== null\n\n\treturn {\n\t\tdateFrom: formattedDateFrom,\n\t\tdateTo: formattedDateTo,\n\t\tisValid,\n\t}\n}\n\nexport { validateInitialDateRange }\n","import { $LitElement } from '@mixins/index'\nimport dayjs from 'dayjs'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { $dialog } from '../dialog/dialog-service'\nimport { DateRangePreset, PresetCategory } from './date-range-presets'\n\ninterface PresetGroup {\n\tname: string\n\tpresets: DateRangePreset[]\n}\n\n/**\n * Dialog content component for date range selection\n *\n * Redesigned with chip-based horizontal flow layout:\n * - Quick Select: Today, Yesterday, This Week, This Month\n * - Days: Last 7/14/30/60/90 Days\n * - Periods: Last Week, Last Month, Last Quarter, Last Year\n * - Year to Date: This Week, This Month, This Quarter, This Year, YTD\n * - Custom Range: Manual date inputs at the bottom\n *\n * @element schmancy-date-range-dialog\n */\n@customElement('schmancy-date-range-dialog')\nexport class SchmancyDateRangeDialog extends $LitElement() {\n\t@property({ type: String }) type: 'date' | 'datetime-local' = 'date'\n\t@property({ type: Object }) dateFrom: { label: string; value: string } = { label: 'From', value: '' }\n\t@property({ type: Object }) dateTo: { label: string; value: string } = { label: 'To', value: '' }\n\t@property({ type: String }) minDate?: string\n\t@property({ type: String }) maxDate?: string\n\t@property({ type: String }) activePreset: string | null = null\n\t@property({ type: Array }) presetCategories: PresetCategory[] = []\n\n\t/**\n\t * Reorganizes presets into the new grouped layout\n\t */\n\tprivate getPresetGroups(): PresetGroup[] {\n\t\tconst allPresets = this.presetCategories.flatMap(c => c.presets)\n\n\t\t// Quick Select: Today, Yesterday, This Week, This Month\n\t\tconst quickSelectLabels = ['Today', 'Yesterday', 'This Week', 'This Month']\n\t\tconst quickSelect = quickSelectLabels\n\t\t\t.map(label => allPresets.find(p => p.label === label))\n\t\t\t.filter((p): p is DateRangePreset => p !== undefined)\n\n\t\t// Days: Last 7/14/30/60/90 Days\n\t\tconst daysLabels = ['Last 7 Days', 'Last 14 Days', 'Last 30 Days', 'Last 60 Days', 'Last 90 Days']\n\t\tconst days = daysLabels\n\t\t\t.map(label => allPresets.find(p => p.label === label))\n\t\t\t.filter((p): p is DateRangePreset => p !== undefined)\n\n\t\t// Periods: Last Week, Last Month, Last Quarter, Last Year\n\t\tconst periodsLabels = ['Last Week', 'Last Month', 'Last Quarter', 'Last Year']\n\t\tconst periods = periodsLabels\n\t\t\t.map(label => allPresets.find(p => p.label === label))\n\t\t\t.filter((p): p is DateRangePreset => p !== undefined)\n\n\t\t// Year to Date: This Week, This Month, This Quarter, This Year, YTD\n\t\tconst ytdLabels = ['This Week', 'This Month', 'This Quarter', 'This Year', 'Year to Date']\n\t\tconst yearToDate = ytdLabels\n\t\t\t.map(label => allPresets.find(p => p.label === label))\n\t\t\t.filter((p): p is DateRangePreset => p !== undefined)\n\n\t\tconst groups: PresetGroup[] = []\n\n\t\tif (quickSelect.length > 0) {\n\t\t\tgroups.push({ name: 'Quick Select', presets: quickSelect })\n\t\t}\n\t\tif (days.length > 0) {\n\t\t\tgroups.push({ name: 'Days', presets: days })\n\t\t}\n\t\tif (periods.length > 0) {\n\t\t\tgroups.push({ name: 'Periods', presets: periods })\n\t\t}\n\t\tif (yearToDate.length > 0) {\n\t\t\tgroups.push({ name: 'Year to Date', presets: yearToDate })\n\t\t}\n\n\t\treturn groups\n\t}\n\n\tprivate handleFromDateChange(e: Event) {\n\t\tconst input = e.target as HTMLInputElement\n\t\tthis.dateFrom = { ...this.dateFrom, value: input.value }\n\n\t\t// If the new start date is after the current end date, adjust the end date\n\t\tif (this.dateTo.value && dayjs(this.dateFrom.value).isAfter(dayjs(this.dateTo.value))) {\n\t\t\tthis.dateTo = { ...this.dateTo, value: this.dateFrom.value }\n\t\t}\n\n\t\tthis.dispatchEvent(new CustomEvent('date-change', {\n\t\t\tdetail: { dateFrom: this.dateFrom.value, dateTo: this.dateTo.value },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t}\n\n\tprivate handleToDateChange(e: Event) {\n\t\tconst input = e.target as HTMLInputElement\n\t\tthis.dateTo = { ...this.dateTo, value: input.value }\n\n\t\tthis.dispatchEvent(new CustomEvent('date-change', {\n\t\t\tdetail: { dateFrom: this.dateFrom.value, dateTo: this.dateTo.value },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t}\n\n\tprivate handlePresetSelection(preset: DateRangePreset, e: Event) {\n\t\te.stopPropagation()\n\t\tthis.dispatchEvent(new CustomEvent('preset-select', {\n\t\t\tdetail: { preset },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t\t$dialog.dismiss()\n\t}\n\n\tprivate applyManualDateSelection(e: Event) {\n\t\te.stopPropagation()\n\t\t// Validate dates before applying\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst toDate = dayjs(this.dateTo.value)\n\n\t\tif (!fromDate.isValid() || !toDate.isValid()) {\n\t\t\tthis.dispatchEvent(new CustomEvent('announce', {\n\t\t\t\tdetail: { message: 'Invalid date format. Please check your input.' },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true\n\t\t\t}))\n\t\t\treturn\n\t\t}\n\n\t\tthis.dispatchEvent(new CustomEvent('apply-dates', {\n\t\t\tdetail: {\n\t\t\t\tdateFrom: this.dateFrom.value,\n\t\t\t\tdateTo: this.dateTo.value,\n\t\t\t\tswapIfNeeded: fromDate.isAfter(toDate)\n\t\t\t},\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\n\t\t$dialog.dismiss()\n\t}\n\n\trender() {\n\t\tconst presetGroups = this.getPresetGroups()\n\n\t\treturn html`\n\t\t\t<div class=\"w-full min-h-[400px] max-h-[80vh] flex flex-col p-4\">\n\t\t\t\t<!-- Preset Groups Section -->\n\t\t\t\t<div class=\"flex-1 overflow-y-auto overflow-x-hidden min-h-0 space-y-4\">\n\t\t\t\t\t${repeat(\n\t\t\t\t\t\tpresetGroups,\n\t\t\t\t\t\tgroup => group.name,\n\t\t\t\t\t\tgroup => html`\n\t\t\t\t\t\t\t<div class=\"space-y-2\">\n\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"md\" class=\"text-surface-onVariant\">\n\t\t\t\t\t\t\t\t\t${group.name}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<div class=\"flex flex-wrap gap-2\">\n\t\t\t\t\t\t\t\t\t${repeat(\n\t\t\t\t\t\t\t\t\t\tgroup.presets,\n\t\t\t\t\t\t\t\t\t\tpreset => preset.label,\n\t\t\t\t\t\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-filter-chip\n\t\t\t\t\t\t\t\t\t\t\t\t.value=${preset.label}\n\t\t\t\t\t\t\t\t\t\t\t\t.selected=${this.activePreset === preset.label}\n\t\t\t\t\t\t\t\t\t\t\t\t@click=${(e: Event) => this.handlePresetSelection(preset, e)}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"${preset.range.dateFrom} to ${preset.range.dateTo}\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t${preset.label}\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-filter-chip>\n\t\t\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Divider -->\n\t\t\t\t<schmancy-divider class=\"my-4\"></schmancy-divider>\n\n\t\t\t\t<!-- Custom Range Section -->\n\t\t\t\t<div class=\"space-y-2\">\n\t\t\t\t\t<div class=\"flex items-end gap-3 flex-wrap\">\n\t\t\t\t\t\t<div class=\"flex-1 min-w-[140px]\">\n\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t.type=\"${this.type}\"\n\t\t\t\t\t\t\t\t.label=\"${this.dateFrom.label || 'From'}\"\n\t\t\t\t\t\t\t\t.value=\"${this.dateFrom.value}\"\n\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.minDate)}\"\n\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t@change=\"${this.handleFromDateChange}\"\n\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"flex-1 min-w-[140px]\">\n\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t.type=\"${this.type}\"\n\t\t\t\t\t\t\t\t.label=\"${this.dateTo.label || 'To'}\"\n\t\t\t\t\t\t\t\t.value=\"${this.dateTo.value}\"\n\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.dateFrom.value)}\"\n\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t@change=\"${this.handleToDateChange}\"\n\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\tvariant=\"filled\"\n\t\t\t\t\t\t\t@click=\"${(e: Event) => this.applyManualDateSelection(e)}\"\n\t\t\t\t\t\t\t?disabled=\"${!this.dateFrom.value || !this.dateTo.value}\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tApply\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-date-range-dialog': SchmancyDateRangeDialog\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport dayjs from 'dayjs'\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear'\nimport { html, PropertyValues, render } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { debounceTime, fromEvent, takeUntil, timer } from 'rxjs'\nimport { $dialog } from '../dialog/dialog-service'\nimport { sheet } from '../sheet/sheet.service'\nimport { detectDateRangeType, formatDateRange } from './date-range-helpers'\nimport { DateRangePreset, generatePresetCategories, PresetCategory } from './date-range-presets'\nimport { validateInitialDateRange } from './date-utils'\nimport './date-range-dialog'\n\n// Add quarter plugin to dayjs\ndayjs.extend(quarterOfYear)\n\nexport type SchmancyDateRangeChangeEvent = CustomEvent<{\n\tdateFrom: string\n\tdateTo: string\n}>\n\n/**\n * A date range selector that supports presets and manual date input.\n *\n * @element schmancy-date-range\n * @fires change - Fired when the date range changes with dateFrom and dateTo values\n */\n@customElement('schmancy-date-range')\nexport class SchmancyDateRange extends $LitElement() {\n\t// Core properties\n\t@property({ type: String }) type: 'date' | 'datetime-local' = 'date'\n\t@property({ type: Object }) dateFrom: { label: string; value: string } = { label: 'From', value: '' }\n\t@property({ type: Object }) dateTo: { label: string; value: string } = { label: 'To', value: '' }\n\t@property({ type: String }) minDate?: string\n\t@property({ type: String }) maxDate?: string\n\n\t// Enhanced functionality\n\t@property({ type: Array }) customPresets: Array<{\n\t\tlabel: string\n\t\tdateFrom: string\n\t\tdateTo: string\n\t}> = []\n\t@property({ type: String }) format?: string\n\t@property({ type: Boolean }) disabled = false\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = 'Select date range'\n\t@property({ type: Boolean }) clearable = true\n\t@property() step?: 'day' | 'week' | 'month' | 'year' | number\n\t/** When true, collapses to just an icon button on mobile screens */\n\t@property({ type: Boolean }) collapse = false\n\n\t// Internal states\n\t@state() private isOpen = false\n\t@state() private selectedDateRange: string = ''\n\t@state() private activePreset: string | null = null\n\t@state() private announceMessage: string = ''\n\t@state() private isMobile = false\n\n\t// Default presets\n\tprivate presetRanges: DateRangePreset[] = []\n\n\t// Categorized presets\n\tprivate presetCategories: PresetCategory[] = []\n\n\t// Memoization cache\n\tprivate memoizedPresets = new Map<string, PresetCategory[]>()\n\n\tdisconnectedCallback(): void {\n\t\tsuper.disconnectedCallback()\n\t\t// Reset open state when element is moved/removed to prevent stale state\n\t\tthis.isOpen = false\n\t}\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\n\t\tthis.checkMobileView()\n\n\t\t// Validate initial date range\n\t\tconst dateFormat = this.getDateFormat() as 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\t\tconst validatedRange = validateInitialDateRange(this.dateFrom.value, this.dateTo.value, dateFormat)\n\n\t\tif (validatedRange.isValid) {\n\t\t\tthis.dateFrom.value = validatedRange.dateFrom!\n\t\t\tthis.dateTo.value = validatedRange.dateTo!\n\t\t\tthis.updateSelectedDateRange()\n\t\t} else {\n\t\t\tconst now = dayjs().format(dateFormat)\n\t\t\tthis.dateFrom.value = now\n\t\t\tthis.dateTo.value = now\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\n\t\t// Set up global event handlers using RxJS\n\t\tthis.setupEventHandlers()\n\t}\n\n\tprivate setupEventHandlers() {\n\t\t// Handle keyboard navigation\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(event => {\n\t\t\t\tthis.handleKeyboardNavigation(event)\n\t\t\t})\n\n\t\t// Handle window resize with debouncing\n\t\tfromEvent(window, 'resize')\n\t\t\t.pipe(\n\t\t\t\tdebounceTime(150),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.checkMobileView()\n\t\t\t})\n\t}\n\n\tupdated(changedProps: PropertyValues) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (\n\t\t\t(changedProps.has('dateFrom') || changedProps.has('dateTo')) &&\n\t\t\t(this.dateFrom?.value !== undefined || this.dateTo?.value !== undefined)\n\t\t) {\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\t}\n\n\tprivate initPresetRanges() {\n\t\tconst format = this.getDateFormat()\n\t\tconst cacheKey = `${this.type}-${format}-${JSON.stringify(this.customPresets)}`\n\t\t\n\t\t// Check memoization cache\n\t\tif (this.memoizedPresets.has(cacheKey)) {\n\t\t\tconst cached = this.memoizedPresets.get(cacheKey)!\n\t\t\tthis.presetCategories = cached\n\t\t\tthis.presetRanges = []\n\t\t\tcached.forEach(category => {\n\t\t\t\tthis.presetRanges.push(...category.presets)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\n\t\t// Generate preset categories\n\t\tthis.presetCategories = generatePresetCategories(format, this.type === 'datetime-local')\n\n\t\t// Flatten presets for other methods that expect a flat list\n\t\tthis.presetRanges = []\n\t\tthis.presetCategories.forEach(category => {\n\t\t\tthis.presetRanges.push(...category.presets)\n\t\t})\n\n\t\t// Add custom presets if provided\n\t\tif (this.customPresets && this.customPresets.length > 0) {\n\t\t\tconst customCategory: PresetCategory = {\n\t\t\t\tname: 'Custom',\n\t\t\t\tpresets: this.customPresets.map(preset => ({\n\t\t\t\t\tlabel: preset.label,\n\t\t\t\t\trange: {\n\t\t\t\t\t\tdateFrom: preset.dateFrom,\n\t\t\t\t\t\tdateTo: preset.dateTo,\n\t\t\t\t\t},\n\t\t\t\t\tstep: 'day' as const,\n\t\t\t\t})),\n\t\t\t}\n\n\t\t\tthis.presetCategories.push(customCategory)\n\t\t\tthis.presetRanges.push(...customCategory.presets)\n\t\t}\n\t\t\n\t\t// Cache the result\n\t\tthis.memoizedPresets.set(cacheKey, [...this.presetCategories])\n\t}\n\n\tprivate getDateFormat(): string {\n\t\treturn this.format || (this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\t}\n\n\t/**\n\t * Creates a concise display format for the selected date range\n\t */\n\tprivate updateSelectedDateRange() {\n\t\t// Find matching preset\n\t\tconst preset = this.presetRanges.find(\n\t\t\tp => p.range.dateFrom === this.dateFrom.value && p.range.dateTo === this.dateTo.value,\n\t\t)\n\n\t\tif (preset) {\n\t\t\t// If matches a preset, just use the preset name\n\t\t\tthis.selectedDateRange = preset.label\n\t\t\tthis.activePreset = preset.label\n\t\t\treturn\n\t\t}\n\n\t\t// If we didn't find a preset match, check if we should update the active preset\n\t\tthis.checkAndUpdateActivePreset(this.dateFrom.value, this.dateTo.value)\n\n\t\t// Custom date range - create concise format\n\t\tthis.activePreset = null\n\t\tthis.selectedDateRange = formatDateRange(this.dateFrom.value, this.dateTo.value, this.type, this.placeholder)\n\t}\n\n\tprivate setDateRange(dateFrom: string, dateTo: string) {\n\t\tthis.dateFrom.value = dateFrom\n\t\tthis.dateTo.value = dateTo\n\t\tthis.updateSelectedDateRange()\n\n\t\t// Announce change to screen readers\n\t\tthis.announceToScreenReader(`Date range updated: ${this.selectedDateRange}`)\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<{ dateFrom: string; dateTo: string }>('change', {\n\t\t\t\tdetail: { dateFrom, dateTo },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate toggleDropdown(e: MouseEvent) {\n\t\te.stopPropagation()\n\t\tif (this.disabled || this.step !== undefined) return\n\n\t\tif (this.isOpen) {\n\t\t\tthis.closeDropdown()\n\t\t} else {\n\t\t\tthis.openDropdown(e)\n\t\t}\n\t}\n\n\tprivate openDropdown(e?: MouseEvent) {\n\t\tif (this.disabled || this.step !== undefined) return\n\n\t\tthis.dispatchEvent(new CustomEvent('beforeopen', { bubbles: true, composed: true }))\n\t\tthis.isOpen = true\n\n\t\tconst dialogContent = html`\n\t\t\t<schmancy-date-range-dialog\n\t\t\t\t.type=\"${this.type}\"\n\t\t\t\t.dateFrom=\"${this.dateFrom}\"\n\t\t\t\t.dateTo=\"${this.dateTo}\"\n\t\t\t\t.minDate=\"${this.minDate}\"\n\t\t\t\t.maxDate=\"${this.maxDate}\"\n\t\t\t\t.activePreset=\"${this.activePreset}\"\n\t\t\t\t.presetCategories=\"${this.presetCategories}\"\n\t\t\t\t@preset-select=\"${(e: CustomEvent) => {\n\t\t\t\t\tthis.activePreset = e.detail.preset.label\n\t\t\t\t\tthis.setDateRange(e.detail.preset.range.dateFrom, e.detail.preset.range.dateTo)\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t}}\"\n\t\t\t\t@date-change=\"${() => this.updateSelectedDateRange()}\"\n\t\t\t\t@apply-dates=\"${(e: CustomEvent) => {\n\t\t\t\t\tconst { dateFrom, dateTo, swapIfNeeded } = e.detail\n\t\t\t\t\tif (swapIfNeeded) {\n\t\t\t\t\t\tthis.setDateRange(dateTo, dateFrom)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.setDateRange(dateFrom, dateTo)\n\t\t\t\t\t}\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t}}\"\n\t\t\t\t@announce=\"${(e: CustomEvent) => this.announceToScreenReader(e.detail.message)}\"\n\t\t\t></schmancy-date-range-dialog>\n\t\t`\n\n\t\tif (this.isMobile) {\n\t\t\tconst container = document.createElement('div')\n\t\t\trender(dialogContent, container)\n\t\t\tsheet.push({\n\t\t\t\tcomponent: container,\n\t\t\t\tuid: 'date-range-sheet',\n\t\t\t\tclose: () => { this.isOpen = false }\n\t\t\t})\n\t\t} else {\n\t\t\t$dialog.component(dialogContent, {\n\t\t\t\ttitle: 'Select Date Range',\n\t\t\t\thideActions: true,\n\t\t\t\tposition: e\n\t\t\t}).then(() => {\n\t\t\t\tthis.isOpen = false\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate closeDropdown() {\n\t\tif (this.isMobile) {\n\t\t\tsheet.dismiss('date-range-sheet')\n\t\t} else {\n\t\t\t$dialog.dismiss()\n\t\t}\n\t\tthis.isOpen = false\n\t}\n\n\t/**\n\t * Shifts the date range based on the step property\n\t */\n\tprivate shiftDateRange(direction: number, e: Event) {\n\t\te.stopPropagation()\n\n\t\tif (!this.dateFrom.value || !this.dateTo.value) return\n\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst toDate = dayjs(this.dateTo.value)\n\n\t\tif (!fromDate.isValid() || !toDate.isValid()) return\n\n\t\tconst format = this.getDateFormat()\n\t\tconst dir = direction > 0 ? 1 : -1\n\t\tconst daysDiff = toDate.diff(fromDate, 'day') + 1\n\n\t\t// Determine shift amount and unit\n\t\tlet amount: number\n\t\tlet unit: dayjs.ManipulateType\n\n\t\tif (this.step !== undefined) {\n\t\t\tif (typeof this.step === 'number') {\n\t\t\t\tamount = dir * this.step\n\t\t\t\tunit = 'day'\n\t\t\t} else if (this.step === 'day') {\n\t\t\t\tamount = dir * daysDiff\n\t\t\t\tunit = 'day'\n\t\t\t} else {\n\t\t\t\tamount = dir\n\t\t\t\tunit = this.step\n\t\t\t}\n\t\t} else {\n\t\t\t// Auto-detect based on date range\n\t\t\tconst rangeType = detectDateRangeType(fromDate, toDate)\n\t\t\tif (rangeType.isFullYear) {\n\t\t\t\tamount = dir\n\t\t\t\tunit = 'year'\n\t\t\t} else if (rangeType.isFullMonth) {\n\t\t\t\tamount = dir\n\t\t\t\tunit = 'month'\n\t\t\t} else if (rangeType.isFullWeek) {\n\t\t\t\tamount = dir\n\t\t\t\tunit = 'week'\n\t\t\t} else {\n\t\t\t\tamount = dir * daysDiff\n\t\t\t\tunit = 'day'\n\t\t\t}\n\t\t}\n\n\t\tconst newFromDate = fromDate.add(amount, unit)\n\t\tconst newToDate = toDate.add(amount, unit)\n\n\t\t// Validate against min/max dates\n\t\tif (this.minDate && newFromDate.isBefore(dayjs(this.minDate))) return\n\t\tif (this.maxDate && newToDate.isAfter(dayjs(this.maxDate))) return\n\n\t\t// Update the date range\n\t\tthis.setDateRange(newFromDate.format(format), newToDate.format(format))\n\t\tthis.checkAndUpdateActivePreset(newFromDate.format(format), newToDate.format(format))\n\t}\n\n\t/**\n\t * Handle keyboard navigation for accessibility\n\t */\n\tprivate handleKeyboardNavigation(event: KeyboardEvent) {\n\t\tconst key = event.key\n\t\t\n\t\t// Handle date navigation keys\n\t\tif (this.dateFrom.value && this.dateTo.value && !this.disabled) {\n\t\t\tswitch (key) {\n\t\t\t\tcase 'PageUp':\n\t\t\t\t\tif (event.target === this || this.contains(event.target as Node)) {\n\t\t\t\t\t\tthis.shiftDateRange(-1, event)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'PageDown':\n\t\t\t\t\tif (event.target === this || this.contains(event.target as Node)) {\n\t\t\t\t\t\tthis.shiftDateRange(1, event)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'Home':\n\t\t\t\t\tif (event.ctrlKey && (event.target === this || this.contains(event.target as Node))) {\n\t\t\t\t\t\t// Ctrl+Home: Jump to start of current month\n\t\t\t\t\t\tconst currentFrom = dayjs(this.dateFrom.value)\n\t\t\t\t\t\tconst currentTo = dayjs(this.dateTo.value)\n\t\t\t\t\t\tconst monthStart = currentFrom.startOf('month')\n\t\t\t\t\t\tconst daysDiff = currentTo.diff(currentFrom, 'day')\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.setDateRange(\n\t\t\t\t\t\t\tmonthStart.format(this.getDateFormat()),\n\t\t\t\t\t\t\tmonthStart.add(daysDiff, 'day').format(this.getDateFormat())\n\t\t\t\t\t\t)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'End':\n\t\t\t\t\tif (event.ctrlKey && (event.target === this || this.contains(event.target as Node))) {\n\t\t\t\t\t\t// Ctrl+End: Jump to end of current month\n\t\t\t\t\t\tconst currentFrom = dayjs(this.dateFrom.value)\n\t\t\t\t\t\tconst currentTo = dayjs(this.dateTo.value)\n\t\t\t\t\t\tconst daysDiff = currentTo.diff(currentFrom, 'day')\n\t\t\t\t\t\tconst monthEnd = currentTo.endOf('month')\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.setDateRange(\n\t\t\t\t\t\t\tmonthEnd.subtract(daysDiff, 'day').format(this.getDateFormat()),\n\t\t\t\t\t\t\tmonthEnd.format(this.getDateFormat())\n\t\t\t\t\t\t)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the current date range matches any predefined preset,\n\t * and updates the activePreset accordingly\n\t */\n\tprivate checkAndUpdateActivePreset(fromDate: string, toDate: string) {\n\t\t// Find a preset that matches the current date range\n\t\tconst matchingPreset = this.presetRanges.find(\n\t\t\tpreset => preset.range.dateFrom === fromDate && preset.range.dateTo === toDate,\n\t\t)\n\n\t\tif (matchingPreset) {\n\t\t\tthis.activePreset = matchingPreset.label\n\t\t} else {\n\t\t\tthis.activePreset = null\n\t\t}\n\t}\n\n\t/**\n\t * Check if view is mobile\n\t */\n\tprivate checkMobileView() {\n\t\tthis.isMobile = window.innerWidth < 768\n\t}\n\n\t/**\n\t * Check if we can navigate backward\n\t */\n\tprivate canNavigateBackward(): boolean {\n\t\tif (!this.dateFrom.value || !this.minDate) return true\n\t\t\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst minDate = dayjs(this.minDate)\n\t\t\n\t\t// If current start date is already at or before min date, can't go back\n\t\treturn fromDate.isAfter(minDate)\n\t}\n\n\t/**\n\t * Check if we can navigate forward\n\t */\n\tprivate canNavigateForward(): boolean {\n\t\tif (!this.dateTo.value || !this.maxDate) return true\n\t\t\n\t\tconst toDate = dayjs(this.dateTo.value)\n\t\tconst maxDate = dayjs(this.maxDate)\n\t\t\n\t\t// If current end date is already at or after max date, can't go forward\n\t\treturn toDate.isBefore(maxDate)\n\t}\n\n\t/**\n\t * Announce messages to screen readers\n\t */\n\tprivate announceToScreenReader(message: string) {\n\t\tthis.announceMessage = message\n\t\t// Clear the message after announcement\n\t\ttimer(100)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.announceMessage = ''\n\t\t\t})\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"relative ${this.disabled ? 'opacity-60 pointer-events-none' : ''}\">\n\t\t\t\t<!-- Screen reader announcements -->\n\t\t\t\t<div class=\"sr-only\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n\t\t\t\t\t${this.announceMessage}\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Collapsed: icon-only on mobile when collapse=true -->\n\t\t\t\t<schmancy-icon-button\n\t\t\t\t\tclass=\"${this.collapse ? 'lg:hidden' : 'hidden'}\"\n\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\taria-label=\"Select date range. Current: ${this.selectedDateRange || 'No date selected'}\"\n\t\t\t\t\t@click=${(e: MouseEvent) => this.toggleDropdown(e)}\n\t\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t>\n\t\t\t\t\tdate_range\n\t\t\t\t</schmancy-icon-button>\n\n\t\t\t\t<!-- Full UI: always visible when collapse=false, or lg+ when collapse=true -->\n\t\t\t\t<section @click=${(event: Event) => event.stopPropagation()} class=\"${this.collapse ? 'hidden lg:flex' : 'flex'}\">\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-label=\"Previous ${this.activePreset ? this.activePreset.toLowerCase() : 'date range'}\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(-1, e)}\n\t\t\t\t\t\t\t?disabled=${this.disabled || !this.dateFrom.value || !this.dateTo.value || !this.canNavigateBackward()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tarrow_left\n\t\t\t\t\t\t</schmancy-icon-button>\n\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\tclass=\"w-max\"\n\t\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\t\t\t\taria-expanded=${this.isOpen}\n\t\t\t\t\t\t\taria-label=\"Select date range. Current: ${this.selectedDateRange || 'No date selected'}\"\n\t\t\t\t\t\t\taria-readonly=\"${this.step !== undefined}\"\n\t\t\t\t\t\t\t@click=${(e: MouseEvent) => this.toggleDropdown(e)}\n\t\t\t\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t\t\t\tstyle=\"${this.step !== undefined ? 'cursor: default;' : ''}\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t${this.selectedDateRange || this.placeholder}\n\t\t\t\t\t\t</schmancy-button>\n\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-label=\"Next ${this.activePreset ? this.activePreset.toLowerCase() : 'date range'}\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(1, e)}\n\t\t\t\t\t\t\t?disabled=${this.disabled || !this.dateFrom.value || !this.dateTo.value || !this.canNavigateForward()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tarrow_right\n\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t</section>\n\t\t\t</div>\n\t\t`\n\t}\n}"],"x_google_ignoreList":[0,1],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"date-range-CfIIPIA_.js","names":[],"sources":["../node_modules/dayjs/dayjs.min.js","../node_modules/dayjs/plugin/quarterOfYear.js","../src/date-range/date-range-helpers.ts","../src/date-range/date-range-presets.ts","../src/date-range/date-utils.ts","../src/date-range/date-range-dialog.ts","../src/date-range/date-range.ts"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(t,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_quarterOfYear=n()}(this,(function(){\"use strict\";var t=\"month\",n=\"quarter\";return function(e,i){var r=i.prototype;r.quarter=function(t){return this.$utils().u(t)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(t-1))};var s=r.add;r.add=function(e,i){return e=Number(e),this.$utils().p(i)===n?this.add(3*e,t):s.bind(this)(e,i)};var u=r.startOf;r.startOf=function(e,i){var r=this.$utils(),s=!!r.u(i)||i;if(r.p(e)===n){var o=this.quarter()-1;return s?this.month(3*o).startOf(t).startOf(\"day\"):this.month(3*o+2).endOf(t).endOf(\"day\")}return u.bind(this)(e,i)}}}));","import dayjs from 'dayjs'\r\n\r\n/**\r\n * Format a date range into a human-readable string\r\n */\r\nexport function formatDateRange(\r\n\tfromValue: string,\r\n\ttoValue: string,\r\n\ttype: 'date' | 'datetime-local',\r\n\tplaceholder: string\r\n): string {\r\n\tif (!fromValue || !toValue) {\r\n\t\treturn placeholder\r\n\t}\r\n\r\n\tconst fromDate = dayjs(fromValue)\r\n\tconst toDate = dayjs(toValue)\r\n\r\n\tif (!fromDate.isValid() || !toDate.isValid()) {\r\n\t\treturn placeholder\r\n\t}\r\n\r\n\t// Format times if needed (for datetime-local)\r\n\tconst fromTime = type === 'datetime-local' ? fromDate.format(' h:mm A') : ''\r\n\tconst toTime = type === 'datetime-local' ? toDate.format(' h:mm A') : ''\r\n\r\n\t// Check if same day\r\n\tif (fromDate.isSame(toDate, 'day')) {\r\n\t\treturn `${fromDate.format('ddd, MMM D, YYYY')}${fromTime}`\r\n\t}\r\n\r\n\t// Check if same month and year\r\n\tif (fromDate.isSame(toDate, 'month') && fromDate.isSame(toDate, 'year')) {\r\n\t\treturn `${fromDate.format('ddd MMM D')} - ${toDate.format('ddd D, YYYY')}${toTime}`\r\n\t}\r\n\r\n\t// Check if same year\r\n\tif (fromDate.isSame(toDate, 'year')) {\r\n\t\treturn `${fromDate.format('ddd MMM D')} - ${toDate.format('ddd MMM D, YYYY')}${toTime}`\r\n\t}\r\n\r\n\t// Different years\r\n\treturn `${fromDate.format('ddd MMM D, YYYY')}${fromTime} - ${toDate.format('ddd MMM D, YYYY')}${toTime}`\r\n}\r\n\r\n/**\r\n * Detect the type of date range (full month, full quarter, etc.)\r\n */\r\nexport interface DateRangeType {\r\n\tisFullMonth: boolean\r\n\tisFullQuarter: boolean\r\n\tisFullYear: boolean\r\n\tisFullWeek: boolean\r\n}\r\n\r\nexport function detectDateRangeType(fromDate: dayjs.Dayjs, toDate: dayjs.Dayjs): DateRangeType {\r\n\treturn {\r\n\t\tisFullMonth: fromDate.date() === 1 && toDate.isSame(fromDate.endOf('month'), 'day'),\r\n\t\tisFullQuarter: fromDate.isSame(fromDate.startOf('quarter'), 'day') && toDate.isSame(toDate.endOf('quarter'), 'day'),\r\n\t\tisFullYear: fromDate.isSame(fromDate.startOf('year'), 'day') && toDate.isSame(toDate.endOf('year'), 'day'),\r\n\t\tisFullWeek: fromDate.day() === 0 && toDate.day() === 6 && toDate.diff(fromDate, 'days') === 6,\r\n\t}\r\n}\r\n\r\n","import dayjs from 'dayjs'\r\n\r\nexport type PresetUnit = dayjs.OpUnitType | 'quarter'\r\n\r\nexport interface DateRangePreset {\r\n\tlabel: string\r\n\trange: { dateFrom: string; dateTo: string }\r\n\tstep: PresetUnit\r\n}\r\n\r\nexport interface PresetCategory {\r\n\tname: string\r\n\tpresets: DateRangePreset[]\r\n}\r\n\r\n/**\r\n * Generate date range presets for different time periods\r\n */\r\nexport function generatePresetCategories(format: string, includeTime: boolean = false): PresetCategory[] {\r\n\tconst categories: PresetCategory[] = []\r\n\r\n\t// Hours category (only for datetime-local)\r\n\tif (includeTime) {\r\n\t\tcategories.push({\r\n\t\t\tname: 'Hours',\r\n\t\t\tpresets: [\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: 'Last 24 Hours',\r\n\t\t\t\t\trange: {\r\n\t\t\t\t\t\tdateFrom: dayjs().subtract(24, 'hours').format(format),\r\n\t\t\t\t\t\tdateTo: dayjs().format(format),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tstep: 'hour',\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: 'Last 12 Hours',\r\n\t\t\t\t\trange: {\r\n\t\t\t\t\t\tdateFrom: dayjs().subtract(12, 'hours').format(format),\r\n\t\t\t\t\t\tdateTo: dayjs().format(format),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tstep: 'hour',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t})\r\n\t}\r\n\r\n\t// Days category\r\n\tcategories.push({\r\n\t\tname: 'Days',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Today',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('day').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'day',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Yesterday',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'days').startOf('day').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'days').endOf('day').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'day',\r\n\t\t\t},\r\n\t\t\t...generateLastNDaysPresets([7, 14, 30, 60, 90], format),\r\n\t\t],\r\n\t})\r\n\r\n\t// Weeks category\r\n\tcategories.push({\r\n\t\tname: 'Weeks',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This Week',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('week').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('week').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'week',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last Week',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'weeks').startOf('week').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'weeks').endOf('week').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'week',\r\n\t\t\t},\r\n\t\t\t...generateLastNWeeksPresets([2, 4], format),\r\n\t\t],\r\n\t})\r\n\r\n\t// Months category\r\n\tcategories.push({\r\n\t\tname: 'Months',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This Month',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('month').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('month').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'month',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last Month',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'month').startOf('month').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'month').endOf('month').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'month',\r\n\t\t\t},\r\n\t\t\t...generateLastNMonthsPresets([3, 6], format),\r\n\t\t],\r\n\t})\r\n\r\n\t// Quarters category\r\n\tcategories.push({\r\n\t\tname: 'Quarters',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This Quarter',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('quarter').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('quarter').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'quarter',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last Quarter',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'quarter').startOf('quarter').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'quarter').endOf('quarter').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'quarter',\r\n\t\t\t},\r\n\t\t\t...generateLastNQuartersPresets([2, 4], format),\r\n\t\t],\r\n\t})\r\n\r\n\t// Years category\r\n\tcategories.push({\r\n\t\tname: 'Years',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This Year',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('year').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('year').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'year',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last Year',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'year').startOf('year').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'year').endOf('year').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'year',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Year to Date',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('year').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'day',\r\n\t\t\t},\r\n\t\t],\r\n\t})\r\n\r\n\treturn categories\r\n}\r\n\r\n// Helper functions to generate preset arrays\r\nfunction generateLastNDaysPresets(days: number[], format: string): DateRangePreset[] {\r\n\treturn days.map(n => ({\r\n\t\tlabel: `Last ${n} Days`,\r\n\t\trange: {\r\n\t\t\tdateFrom: dayjs().subtract(n - 1, 'days').startOf('day').format(format),\r\n\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t},\r\n\t\tstep: 'day' as PresetUnit,\r\n\t}))\r\n}\r\n\r\nfunction generateLastNWeeksPresets(weeks: number[], format: string): DateRangePreset[] {\r\n\treturn weeks.map(n => ({\r\n\t\tlabel: `Last ${n} Weeks`,\r\n\t\trange: {\r\n\t\t\tdateFrom: dayjs().subtract(n, 'weeks').startOf('week').format(format),\r\n\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t},\r\n\t\tstep: 'week' as PresetUnit,\r\n\t}))\r\n}\r\n\r\nfunction generateLastNMonthsPresets(months: number[], format: string): DateRangePreset[] {\r\n\treturn months.map(n => ({\r\n\t\tlabel: `Last ${n} Months`,\r\n\t\trange: {\r\n\t\t\tdateFrom: dayjs().subtract(n, 'months').startOf('month').format(format),\r\n\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t},\r\n\t\tstep: 'month' as PresetUnit,\r\n\t}))\r\n}\r\n\r\nfunction generateLastNQuartersPresets(quarters: number[], format: string): DateRangePreset[] {\r\n\treturn quarters.map(n => ({\r\n\t\tlabel: `Last ${n} Quarters`,\r\n\t\trange: {\r\n\t\t\tdateFrom: dayjs().subtract(n, 'quarters').startOf('quarter').format(format),\r\n\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t},\r\n\t\tstep: 'quarter' as PresetUnit,\r\n\t}))\r\n}","import dayjs from 'dayjs'\n\ntype DateFormat = 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\n/**\n * Ensures that a date string conforms to a specific format.\n * If the date is already in the correct format, it returns the original string.\n * If the date is in a different format, it attempts to convert it to the specified format.\n * If the date is invalid or cannot be converted, it returns null.\n *\n * @param dateString The date string to validate and format.\n * @param expectedFormat The expected date format (e.g., 'YYYY-MM-DD', 'YYYY-MM-DDTHH:mm').\n * @returns The formatted date string, or null if the date is invalid.\n */\nfunction enforceDateFormat(dateString: string | undefined, expectedFormat: DateFormat): string | null {\n\tif (!dateString) {\n\t\treturn null // Or handle the undefined case differently if needed\n\t}\n\n\tconst parsedDate = dayjs(dateString)\n\n\tif (!parsedDate.isValid()) {\n\t\treturn null // Date is invalid\n\t}\n\n\treturn parsedDate.format(expectedFormat)\n}\n\n/**\n * Validates if the initial date range values are in the expected format.\n *\n * @param dateFrom The dateFrom value to validate.\n * @param dateTo The dateTo value to validate.\n * @param expectedFormat The expected date format.\n * @returns An object indicating whether each date is valid, and the formatted date or null if invalid.\n */\nfunction validateInitialDateRange(\n\tdateFrom: string | undefined,\n\tdateTo: string | undefined,\n\texpectedFormat: DateFormat,\n): {\n\tdateFrom: string | null\n\tdateTo: string | null\n\tisValid: boolean\n} {\n\tconst formattedDateFrom = enforceDateFormat(dateFrom, expectedFormat)\n\tconst formattedDateTo = enforceDateFormat(dateTo, expectedFormat)\n\n\tconst isValid = formattedDateFrom !== null && formattedDateTo !== null\n\n\treturn {\n\t\tdateFrom: formattedDateFrom,\n\t\tdateTo: formattedDateTo,\n\t\tisValid,\n\t}\n}\n\nexport { validateInitialDateRange }\n","import { $LitElement } from '@mixins/index'\nimport dayjs from 'dayjs'\nimport { html } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { $dialog } from '../dialog/dialog-service'\nimport { DateRangePreset, PresetCategory } from './date-range-presets'\n\ninterface PresetGroup {\n\tname: string\n\tpresets: DateRangePreset[]\n}\n\n/**\n * Dialog content component for date range selection\n *\n * Redesigned with chip-based horizontal flow layout:\n * - Quick Select: Today, Yesterday, This Week, This Month\n * - Days: Last 7/14/30/60/90 Days\n * - Periods: Last Week, Last Month, Last Quarter, Last Year\n * - Year to Date: This Week, This Month, This Quarter, This Year, YTD\n * - Custom Range: Manual date inputs at the bottom\n *\n * @element schmancy-date-range-dialog\n */\n@customElement('schmancy-date-range-dialog')\nexport class SchmancyDateRangeDialog extends $LitElement() {\n\t@property({ type: String }) type: 'date' | 'datetime-local' = 'date'\n\t@property({ type: Object }) dateFrom: { label: string; value: string } = { label: 'From', value: '' }\n\t@property({ type: Object }) dateTo: { label: string; value: string } = { label: 'To', value: '' }\n\t@property({ type: String }) minDate?: string\n\t@property({ type: String }) maxDate?: string\n\t@property({ type: String }) activePreset: string | null = null\n\t@property({ type: Array }) presetCategories: PresetCategory[] = []\n\n\t/**\n\t * Reorganizes presets into the new grouped layout\n\t */\n\tprivate getPresetGroups(): PresetGroup[] {\n\t\tconst allPresets = this.presetCategories.flatMap(c => c.presets)\n\n\t\t// Quick Select: Today, Yesterday, This Week, This Month\n\t\tconst quickSelectLabels = ['Today', 'Yesterday', 'This Week', 'This Month']\n\t\tconst quickSelect = quickSelectLabels\n\t\t\t.map(label => allPresets.find(p => p.label === label))\n\t\t\t.filter((p): p is DateRangePreset => p !== undefined)\n\n\t\t// Days: Last 7/14/30/60/90 Days\n\t\tconst daysLabels = ['Last 7 Days', 'Last 14 Days', 'Last 30 Days', 'Last 60 Days', 'Last 90 Days']\n\t\tconst days = daysLabels\n\t\t\t.map(label => allPresets.find(p => p.label === label))\n\t\t\t.filter((p): p is DateRangePreset => p !== undefined)\n\n\t\t// Periods: Last Week, Last Month, Last Quarter, Last Year\n\t\tconst periodsLabels = ['Last Week', 'Last Month', 'Last Quarter', 'Last Year']\n\t\tconst periods = periodsLabels\n\t\t\t.map(label => allPresets.find(p => p.label === label))\n\t\t\t.filter((p): p is DateRangePreset => p !== undefined)\n\n\t\t// Year to Date: This Week, This Month, This Quarter, This Year, YTD\n\t\tconst ytdLabels = ['This Week', 'This Month', 'This Quarter', 'This Year', 'Year to Date']\n\t\tconst yearToDate = ytdLabels\n\t\t\t.map(label => allPresets.find(p => p.label === label))\n\t\t\t.filter((p): p is DateRangePreset => p !== undefined)\n\n\t\tconst groups: PresetGroup[] = []\n\n\t\tif (quickSelect.length > 0) {\n\t\t\tgroups.push({ name: 'Quick Select', presets: quickSelect })\n\t\t}\n\t\tif (days.length > 0) {\n\t\t\tgroups.push({ name: 'Days', presets: days })\n\t\t}\n\t\tif (periods.length > 0) {\n\t\t\tgroups.push({ name: 'Periods', presets: periods })\n\t\t}\n\t\tif (yearToDate.length > 0) {\n\t\t\tgroups.push({ name: 'Year to Date', presets: yearToDate })\n\t\t}\n\n\t\treturn groups\n\t}\n\n\tprivate handleFromDateChange(e: Event) {\n\t\tconst input = e.target as HTMLInputElement\n\t\tthis.dateFrom = { ...this.dateFrom, value: input.value }\n\n\t\t// If the new start date is after the current end date, adjust the end date\n\t\tif (this.dateTo.value && dayjs(this.dateFrom.value).isAfter(dayjs(this.dateTo.value))) {\n\t\t\tthis.dateTo = { ...this.dateTo, value: this.dateFrom.value }\n\t\t}\n\n\t\tthis.dispatchEvent(new CustomEvent('date-change', {\n\t\t\tdetail: { dateFrom: this.dateFrom.value, dateTo: this.dateTo.value },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t}\n\n\tprivate handleToDateChange(e: Event) {\n\t\tconst input = e.target as HTMLInputElement\n\t\tthis.dateTo = { ...this.dateTo, value: input.value }\n\n\t\tthis.dispatchEvent(new CustomEvent('date-change', {\n\t\t\tdetail: { dateFrom: this.dateFrom.value, dateTo: this.dateTo.value },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t}\n\n\tprivate handlePresetSelection(preset: DateRangePreset, e: Event) {\n\t\te.stopPropagation()\n\t\tthis.dispatchEvent(new CustomEvent('preset-select', {\n\t\t\tdetail: { preset },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t\t$dialog.dismiss()\n\t}\n\n\tprivate applyManualDateSelection(e: Event) {\n\t\te.stopPropagation()\n\t\t// Validate dates before applying\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst toDate = dayjs(this.dateTo.value)\n\n\t\tif (!fromDate.isValid() || !toDate.isValid()) {\n\t\t\tthis.dispatchEvent(new CustomEvent('announce', {\n\t\t\t\tdetail: { message: 'Invalid date format. Please check your input.' },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true\n\t\t\t}))\n\t\t\treturn\n\t\t}\n\n\t\tthis.dispatchEvent(new CustomEvent('apply-dates', {\n\t\t\tdetail: {\n\t\t\t\tdateFrom: this.dateFrom.value,\n\t\t\t\tdateTo: this.dateTo.value,\n\t\t\t\tswapIfNeeded: fromDate.isAfter(toDate)\n\t\t\t},\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\n\t\t$dialog.dismiss()\n\t}\n\n\trender() {\n\t\tconst presetGroups = this.getPresetGroups()\n\n\t\treturn html`\n\t\t\t<div class=\"w-full min-h-[400px] max-h-[80vh] flex flex-col p-4\">\n\t\t\t\t<!-- Preset Groups Section -->\n\t\t\t\t<div class=\"flex-1 overflow-y-auto overflow-x-hidden min-h-0 space-y-4\">\n\t\t\t\t\t${repeat(\n\t\t\t\t\t\tpresetGroups,\n\t\t\t\t\t\tgroup => group.name,\n\t\t\t\t\t\tgroup => html`\n\t\t\t\t\t\t\t<div class=\"space-y-2\">\n\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"md\" class=\"text-surface-onVariant\">\n\t\t\t\t\t\t\t\t\t${group.name}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<div class=\"flex flex-wrap gap-2\">\n\t\t\t\t\t\t\t\t\t${repeat(\n\t\t\t\t\t\t\t\t\t\tgroup.presets,\n\t\t\t\t\t\t\t\t\t\tpreset => preset.label,\n\t\t\t\t\t\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-filter-chip\n\t\t\t\t\t\t\t\t\t\t\t\t.value=${preset.label}\n\t\t\t\t\t\t\t\t\t\t\t\t.selected=${this.activePreset === preset.label}\n\t\t\t\t\t\t\t\t\t\t\t\t@click=${(e: Event) => this.handlePresetSelection(preset, e)}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"${preset.range.dateFrom} to ${preset.range.dateTo}\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t${preset.label}\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-filter-chip>\n\t\t\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Divider -->\n\t\t\t\t<schmancy-divider class=\"my-4\"></schmancy-divider>\n\n\t\t\t\t<!-- Custom Range Section -->\n\t\t\t\t<div class=\"space-y-2\">\n\t\t\t\t\t<div class=\"flex items-end gap-3 flex-wrap\">\n\t\t\t\t\t\t<div class=\"flex-1 min-w-[140px]\">\n\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t.type=\"${this.type}\"\n\t\t\t\t\t\t\t\t.label=\"${this.dateFrom.label || 'From'}\"\n\t\t\t\t\t\t\t\t.value=\"${this.dateFrom.value}\"\n\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.minDate)}\"\n\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t@change=\"${this.handleFromDateChange}\"\n\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"flex-1 min-w-[140px]\">\n\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t.type=\"${this.type}\"\n\t\t\t\t\t\t\t\t.label=\"${this.dateTo.label || 'To'}\"\n\t\t\t\t\t\t\t\t.value=\"${this.dateTo.value}\"\n\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.dateFrom.value)}\"\n\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t@change=\"${this.handleToDateChange}\"\n\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\tvariant=\"filled\"\n\t\t\t\t\t\t\t@click=\"${(e: Event) => this.applyManualDateSelection(e)}\"\n\t\t\t\t\t\t\t?disabled=\"${!this.dateFrom.value || !this.dateTo.value}\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tApply\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-date-range-dialog': SchmancyDateRangeDialog\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport dayjs from 'dayjs'\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear'\nimport { html, PropertyValues, render } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { debounceTime, fromEvent, takeUntil, timer } from 'rxjs'\nimport { $dialog } from '../dialog/dialog-service'\nimport { sheet } from '../sheet/sheet.service'\nimport { detectDateRangeType, formatDateRange } from './date-range-helpers'\nimport { DateRangePreset, generatePresetCategories, PresetCategory } from './date-range-presets'\nimport { validateInitialDateRange } from './date-utils'\nimport './date-range-dialog'\n\n// Add quarter plugin to dayjs\ndayjs.extend(quarterOfYear)\n\nexport type SchmancyDateRangeChangeEvent = CustomEvent<{\n\tdateFrom: string\n\tdateTo: string\n}>\n\n/**\n * A date range selector that supports presets and manual date input.\n *\n * @element schmancy-date-range\n * @fires change - Fired when the date range changes with dateFrom and dateTo values\n */\n@customElement('schmancy-date-range')\nexport class SchmancyDateRange extends $LitElement() {\n\t// Core properties\n\t@property({ type: String }) type: 'date' | 'datetime-local' = 'date'\n\t@property({ type: Object }) dateFrom: { label: string; value: string } = { label: 'From', value: '' }\n\t@property({ type: Object }) dateTo: { label: string; value: string } = { label: 'To', value: '' }\n\t@property({ type: String }) minDate?: string\n\t@property({ type: String }) maxDate?: string\n\n\t// Enhanced functionality\n\t@property({ type: Array }) customPresets: Array<{\n\t\tlabel: string\n\t\tdateFrom: string\n\t\tdateTo: string\n\t}> = []\n\t@property({ type: String }) format?: string\n\t@property({ type: Boolean }) disabled = false\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = 'Select date range'\n\t@property({ type: Boolean }) clearable = true\n\t@property() step?: 'day' | 'week' | 'month' | 'year' | number\n\t/** When true, collapses to just an icon button on mobile screens */\n\t@property({ type: Boolean }) collapse = false\n\n\t// Internal states\n\t@state() private isOpen = false\n\t@state() private selectedDateRange: string = ''\n\t@state() private activePreset: string | null = null\n\t@state() private announceMessage: string = ''\n\t@state() private isMobile = false\n\n\t// Default presets\n\tprivate presetRanges: DateRangePreset[] = []\n\n\t// Categorized presets\n\tprivate presetCategories: PresetCategory[] = []\n\n\t// Memoization cache\n\tprivate memoizedPresets = new Map<string, PresetCategory[]>()\n\n\tdisconnectedCallback(): void {\n\t\tsuper.disconnectedCallback()\n\t\t// Reset open state when element is moved/removed to prevent stale state\n\t\tthis.isOpen = false\n\t}\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\n\t\tthis.checkMobileView()\n\n\t\t// Validate initial date range\n\t\tconst dateFormat = this.getDateFormat() as 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\t\tconst validatedRange = validateInitialDateRange(this.dateFrom.value, this.dateTo.value, dateFormat)\n\n\t\tif (validatedRange.isValid) {\n\t\t\tthis.dateFrom.value = validatedRange.dateFrom!\n\t\t\tthis.dateTo.value = validatedRange.dateTo!\n\t\t\tthis.updateSelectedDateRange()\n\t\t} else {\n\t\t\tconst now = dayjs().format(dateFormat)\n\t\t\tthis.dateFrom.value = now\n\t\t\tthis.dateTo.value = now\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\n\t\t// Set up global event handlers using RxJS\n\t\tthis.setupEventHandlers()\n\t}\n\n\tprivate setupEventHandlers() {\n\t\t// Handle keyboard navigation\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(event => {\n\t\t\t\tthis.handleKeyboardNavigation(event)\n\t\t\t})\n\n\t\t// Handle window resize with debouncing\n\t\tfromEvent(window, 'resize')\n\t\t\t.pipe(\n\t\t\t\tdebounceTime(150),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.checkMobileView()\n\t\t\t})\n\t}\n\n\tupdated(changedProps: PropertyValues) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (\n\t\t\t(changedProps.has('dateFrom') || changedProps.has('dateTo')) &&\n\t\t\t(this.dateFrom?.value !== undefined || this.dateTo?.value !== undefined)\n\t\t) {\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\t}\n\n\tprivate initPresetRanges() {\n\t\tconst format = this.getDateFormat()\n\t\tconst cacheKey = `${this.type}-${format}-${JSON.stringify(this.customPresets)}`\n\t\t\n\t\t// Check memoization cache\n\t\tif (this.memoizedPresets.has(cacheKey)) {\n\t\t\tconst cached = this.memoizedPresets.get(cacheKey)!\n\t\t\tthis.presetCategories = cached\n\t\t\tthis.presetRanges = []\n\t\t\tcached.forEach(category => {\n\t\t\t\tthis.presetRanges.push(...category.presets)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\n\t\t// Generate preset categories\n\t\tthis.presetCategories = generatePresetCategories(format, this.type === 'datetime-local')\n\n\t\t// Flatten presets for other methods that expect a flat list\n\t\tthis.presetRanges = []\n\t\tthis.presetCategories.forEach(category => {\n\t\t\tthis.presetRanges.push(...category.presets)\n\t\t})\n\n\t\t// Add custom presets if provided\n\t\tif (this.customPresets && this.customPresets.length > 0) {\n\t\t\tconst customCategory: PresetCategory = {\n\t\t\t\tname: 'Custom',\n\t\t\t\tpresets: this.customPresets.map(preset => ({\n\t\t\t\t\tlabel: preset.label,\n\t\t\t\t\trange: {\n\t\t\t\t\t\tdateFrom: preset.dateFrom,\n\t\t\t\t\t\tdateTo: preset.dateTo,\n\t\t\t\t\t},\n\t\t\t\t\tstep: 'day' as const,\n\t\t\t\t})),\n\t\t\t}\n\n\t\t\tthis.presetCategories.push(customCategory)\n\t\t\tthis.presetRanges.push(...customCategory.presets)\n\t\t}\n\t\t\n\t\t// Cache the result\n\t\tthis.memoizedPresets.set(cacheKey, [...this.presetCategories])\n\t}\n\n\tprivate getDateFormat(): string {\n\t\treturn this.format || (this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\t}\n\n\t/**\n\t * Creates a concise display format for the selected date range\n\t */\n\tprivate updateSelectedDateRange() {\n\t\t// Find matching preset\n\t\tconst preset = this.presetRanges.find(\n\t\t\tp => p.range.dateFrom === this.dateFrom.value && p.range.dateTo === this.dateTo.value,\n\t\t)\n\n\t\tif (preset) {\n\t\t\t// If matches a preset, just use the preset name\n\t\t\tthis.selectedDateRange = preset.label\n\t\t\tthis.activePreset = preset.label\n\t\t\treturn\n\t\t}\n\n\t\t// If we didn't find a preset match, check if we should update the active preset\n\t\tthis.checkAndUpdateActivePreset(this.dateFrom.value, this.dateTo.value)\n\n\t\t// Custom date range - create concise format\n\t\tthis.activePreset = null\n\t\tthis.selectedDateRange = formatDateRange(this.dateFrom.value, this.dateTo.value, this.type, this.placeholder)\n\t}\n\n\tprivate setDateRange(dateFrom: string, dateTo: string) {\n\t\tthis.dateFrom.value = dateFrom\n\t\tthis.dateTo.value = dateTo\n\t\tthis.updateSelectedDateRange()\n\n\t\t// Announce change to screen readers\n\t\tthis.announceToScreenReader(`Date range updated: ${this.selectedDateRange}`)\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<{ dateFrom: string; dateTo: string }>('change', {\n\t\t\t\tdetail: { dateFrom, dateTo },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate toggleDropdown(e: MouseEvent) {\n\t\te.stopPropagation()\n\t\tif (this.disabled || this.step !== undefined) return\n\n\t\tif (this.isOpen) {\n\t\t\tthis.closeDropdown()\n\t\t} else {\n\t\t\tthis.openDropdown(e)\n\t\t}\n\t}\n\n\tprivate openDropdown(e?: MouseEvent) {\n\t\tif (this.disabled || this.step !== undefined) return\n\n\t\tthis.dispatchEvent(new CustomEvent('beforeopen', { bubbles: true, composed: true }))\n\t\tthis.isOpen = true\n\n\t\tconst dialogContent = html`\n\t\t\t<schmancy-date-range-dialog\n\t\t\t\t.type=\"${this.type}\"\n\t\t\t\t.dateFrom=\"${this.dateFrom}\"\n\t\t\t\t.dateTo=\"${this.dateTo}\"\n\t\t\t\t.minDate=\"${this.minDate}\"\n\t\t\t\t.maxDate=\"${this.maxDate}\"\n\t\t\t\t.activePreset=\"${this.activePreset}\"\n\t\t\t\t.presetCategories=\"${this.presetCategories}\"\n\t\t\t\t@preset-select=\"${(e: CustomEvent) => {\n\t\t\t\t\tthis.activePreset = e.detail.preset.label\n\t\t\t\t\tthis.setDateRange(e.detail.preset.range.dateFrom, e.detail.preset.range.dateTo)\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t}}\"\n\t\t\t\t@date-change=\"${() => this.updateSelectedDateRange()}\"\n\t\t\t\t@apply-dates=\"${(e: CustomEvent) => {\n\t\t\t\t\tconst { dateFrom, dateTo, swapIfNeeded } = e.detail\n\t\t\t\t\tif (swapIfNeeded) {\n\t\t\t\t\t\tthis.setDateRange(dateTo, dateFrom)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.setDateRange(dateFrom, dateTo)\n\t\t\t\t\t}\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t}}\"\n\t\t\t\t@announce=\"${(e: CustomEvent) => this.announceToScreenReader(e.detail.message)}\"\n\t\t\t></schmancy-date-range-dialog>\n\t\t`\n\n\t\tif (this.isMobile) {\n\t\t\tconst container = document.createElement('div')\n\t\t\trender(dialogContent, container)\n\t\t\tsheet.push({\n\t\t\t\tcomponent: container,\n\t\t\t\tuid: 'date-range-sheet',\n\t\t\t\tclose: () => { this.isOpen = false }\n\t\t\t})\n\t\t} else {\n\t\t\t$dialog.component(dialogContent, {\n\t\t\t\ttitle: 'Select Date Range',\n\t\t\t\thideActions: true,\n\t\t\t\tposition: e\n\t\t\t}).then(() => {\n\t\t\t\tthis.isOpen = false\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate closeDropdown() {\n\t\tif (this.isMobile) {\n\t\t\tsheet.dismiss('date-range-sheet')\n\t\t} else {\n\t\t\t$dialog.dismiss()\n\t\t}\n\t\tthis.isOpen = false\n\t}\n\n\t/**\n\t * Shifts the date range based on the step property\n\t */\n\tprivate shiftDateRange(direction: number, e: Event) {\n\t\te.stopPropagation()\n\n\t\tif (!this.dateFrom.value || !this.dateTo.value) return\n\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst toDate = dayjs(this.dateTo.value)\n\n\t\tif (!fromDate.isValid() || !toDate.isValid()) return\n\n\t\tconst format = this.getDateFormat()\n\t\tconst dir = direction > 0 ? 1 : -1\n\t\tconst daysDiff = toDate.diff(fromDate, 'day') + 1\n\n\t\t// Determine shift amount and unit\n\t\tlet amount: number\n\t\tlet unit: dayjs.ManipulateType\n\n\t\tif (this.step !== undefined) {\n\t\t\tif (typeof this.step === 'number') {\n\t\t\t\tamount = dir * this.step\n\t\t\t\tunit = 'day'\n\t\t\t} else if (this.step === 'day') {\n\t\t\t\tamount = dir * daysDiff\n\t\t\t\tunit = 'day'\n\t\t\t} else {\n\t\t\t\tamount = dir\n\t\t\t\tunit = this.step\n\t\t\t}\n\t\t} else {\n\t\t\t// Auto-detect based on date range\n\t\t\tconst rangeType = detectDateRangeType(fromDate, toDate)\n\t\t\tif (rangeType.isFullYear) {\n\t\t\t\tamount = dir\n\t\t\t\tunit = 'year'\n\t\t\t} else if (rangeType.isFullMonth) {\n\t\t\t\tamount = dir\n\t\t\t\tunit = 'month'\n\t\t\t} else if (rangeType.isFullWeek) {\n\t\t\t\tamount = dir\n\t\t\t\tunit = 'week'\n\t\t\t} else {\n\t\t\t\tamount = dir * daysDiff\n\t\t\t\tunit = 'day'\n\t\t\t}\n\t\t}\n\n\t\tconst newFromDate = fromDate.add(amount, unit)\n\t\tconst newToDate = toDate.add(amount, unit)\n\n\t\t// Validate against min/max dates\n\t\tif (this.minDate && newFromDate.isBefore(dayjs(this.minDate))) return\n\t\tif (this.maxDate && newToDate.isAfter(dayjs(this.maxDate))) return\n\n\t\t// Update the date range\n\t\tthis.setDateRange(newFromDate.format(format), newToDate.format(format))\n\t\tthis.checkAndUpdateActivePreset(newFromDate.format(format), newToDate.format(format))\n\t}\n\n\t/**\n\t * Handle keyboard navigation for accessibility\n\t */\n\tprivate handleKeyboardNavigation(event: KeyboardEvent) {\n\t\tconst key = event.key\n\t\t\n\t\t// Handle date navigation keys\n\t\tif (this.dateFrom.value && this.dateTo.value && !this.disabled) {\n\t\t\tswitch (key) {\n\t\t\t\tcase 'PageUp':\n\t\t\t\t\tif (event.target === this || this.contains(event.target as Node)) {\n\t\t\t\t\t\tthis.shiftDateRange(-1, event)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'PageDown':\n\t\t\t\t\tif (event.target === this || this.contains(event.target as Node)) {\n\t\t\t\t\t\tthis.shiftDateRange(1, event)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'Home':\n\t\t\t\t\tif (event.ctrlKey && (event.target === this || this.contains(event.target as Node))) {\n\t\t\t\t\t\t// Ctrl+Home: Jump to start of current month\n\t\t\t\t\t\tconst currentFrom = dayjs(this.dateFrom.value)\n\t\t\t\t\t\tconst currentTo = dayjs(this.dateTo.value)\n\t\t\t\t\t\tconst monthStart = currentFrom.startOf('month')\n\t\t\t\t\t\tconst daysDiff = currentTo.diff(currentFrom, 'day')\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.setDateRange(\n\t\t\t\t\t\t\tmonthStart.format(this.getDateFormat()),\n\t\t\t\t\t\t\tmonthStart.add(daysDiff, 'day').format(this.getDateFormat())\n\t\t\t\t\t\t)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'End':\n\t\t\t\t\tif (event.ctrlKey && (event.target === this || this.contains(event.target as Node))) {\n\t\t\t\t\t\t// Ctrl+End: Jump to end of current month\n\t\t\t\t\t\tconst currentFrom = dayjs(this.dateFrom.value)\n\t\t\t\t\t\tconst currentTo = dayjs(this.dateTo.value)\n\t\t\t\t\t\tconst daysDiff = currentTo.diff(currentFrom, 'day')\n\t\t\t\t\t\tconst monthEnd = currentTo.endOf('month')\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.setDateRange(\n\t\t\t\t\t\t\tmonthEnd.subtract(daysDiff, 'day').format(this.getDateFormat()),\n\t\t\t\t\t\t\tmonthEnd.format(this.getDateFormat())\n\t\t\t\t\t\t)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the current date range matches any predefined preset,\n\t * and updates the activePreset accordingly\n\t */\n\tprivate checkAndUpdateActivePreset(fromDate: string, toDate: string) {\n\t\t// Find a preset that matches the current date range\n\t\tconst matchingPreset = this.presetRanges.find(\n\t\t\tpreset => preset.range.dateFrom === fromDate && preset.range.dateTo === toDate,\n\t\t)\n\n\t\tif (matchingPreset) {\n\t\t\tthis.activePreset = matchingPreset.label\n\t\t} else {\n\t\t\tthis.activePreset = null\n\t\t}\n\t}\n\n\t/**\n\t * Check if view is mobile\n\t */\n\tprivate checkMobileView() {\n\t\tthis.isMobile = window.innerWidth < 768\n\t}\n\n\t/**\n\t * Check if we can navigate backward\n\t */\n\tprivate canNavigateBackward(): boolean {\n\t\tif (!this.dateFrom.value || !this.minDate) return true\n\t\t\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst minDate = dayjs(this.minDate)\n\t\t\n\t\t// If current start date is already at or before min date, can't go back\n\t\treturn fromDate.isAfter(minDate)\n\t}\n\n\t/**\n\t * Check if we can navigate forward\n\t */\n\tprivate canNavigateForward(): boolean {\n\t\tif (!this.dateTo.value || !this.maxDate) return true\n\t\t\n\t\tconst toDate = dayjs(this.dateTo.value)\n\t\tconst maxDate = dayjs(this.maxDate)\n\t\t\n\t\t// If current end date is already at or after max date, can't go forward\n\t\treturn toDate.isBefore(maxDate)\n\t}\n\n\t/**\n\t * Announce messages to screen readers\n\t */\n\tprivate announceToScreenReader(message: string) {\n\t\tthis.announceMessage = message\n\t\t// Clear the message after announcement\n\t\ttimer(100)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.announceMessage = ''\n\t\t\t})\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"relative ${this.disabled ? 'opacity-60 pointer-events-none' : ''}\">\n\t\t\t\t<!-- Screen reader announcements -->\n\t\t\t\t<div class=\"sr-only\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n\t\t\t\t\t${this.announceMessage}\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Collapsed: icon-only on mobile when collapse=true -->\n\t\t\t\t<schmancy-icon-button\n\t\t\t\t\tclass=\"${this.collapse ? 'lg:hidden' : 'hidden'}\"\n\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\taria-label=\"Select date range. Current: ${this.selectedDateRange || 'No date selected'}\"\n\t\t\t\t\t@click=${(e: MouseEvent) => this.toggleDropdown(e)}\n\t\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t>\n\t\t\t\t\tdate_range\n\t\t\t\t</schmancy-icon-button>\n\n\t\t\t\t<!-- Full UI: always visible when collapse=false, or lg+ when collapse=true -->\n\t\t\t\t<section @click=${(event: Event) => event.stopPropagation()} class=\"${this.collapse ? 'hidden lg:flex' : 'flex'}\">\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-label=\"Previous ${this.activePreset ? this.activePreset.toLowerCase() : 'date range'}\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(-1, e)}\n\t\t\t\t\t\t\t?disabled=${this.disabled || !this.dateFrom.value || !this.dateTo.value || !this.canNavigateBackward()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tarrow_left\n\t\t\t\t\t\t</schmancy-icon-button>\n\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\tclass=\"w-max\"\n\t\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\t\t\t\taria-expanded=${this.isOpen}\n\t\t\t\t\t\t\taria-label=\"Select date range. Current: ${this.selectedDateRange || 'No date selected'}\"\n\t\t\t\t\t\t\taria-readonly=\"${this.step !== undefined}\"\n\t\t\t\t\t\t\t@click=${(e: MouseEvent) => this.toggleDropdown(e)}\n\t\t\t\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t\t\t\tstyle=\"${this.step !== undefined ? 'cursor: default;' : ''}\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t${this.selectedDateRange || this.placeholder}\n\t\t\t\t\t\t</schmancy-button>\n\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-label=\"Next ${this.activePreset ? this.activePreset.toLowerCase() : 'date range'}\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(1, e)}\n\t\t\t\t\t\t\t?disabled=${this.disabled || !this.dateFrom.value || !this.dateTo.value || !this.canNavigateForward()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tarrow_right\n\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t</section>\n\t\t\t</div>\n\t\t`\n\t}\n}"],"x_google_ignoreList":[0,1],"mappings":"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"}
|
package/dist/date-range.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./date-range-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./date-range-B0kW9np7.cjs`);Object.defineProperty(exports,`SchmancyDateRange`,{enumerable:!0,get:function(){return e.t}}),exports.validateInitialDateRange=e.n;
|
package/dist/date-range.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./date-range-
|
|
1
|
+
import { n as e, t } from "./date-range-CfIIPIA_.js";
|
|
2
2
|
export { t as SchmancyDateRange, e as validateInitialDateRange };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as n } from "./provide-
|
|
1
|
+
import { a as e, o as t } from "./tailwind.mixin-ywtUNG2c.js";
|
|
2
|
+
import { t as n } from "./provide-C4L6R1lo.js";
|
|
3
3
|
import { t as r } from "./decorate-D_utPUsC.js";
|
|
4
|
-
import { t as i } from "./litElement.mixin-
|
|
4
|
+
import { t as i } from "./litElement.mixin-D6ZHgGZv.js";
|
|
5
5
|
import { t as a } from "./hashContent-nD2uWwi2.js";
|
|
6
6
|
import { timer as o } from "rxjs";
|
|
7
7
|
import { takeUntil as s } from "rxjs/operators";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delay-COZ8rqRd.js","names":["o","s","t","i"],"sources":["../node_modules/@lit-labs/motion/animate-controller.js","../node_modules/@lit-labs/motion/animate.js","../node_modules/@lit-labs/motion/position.js","../src/delay/delay.ts"],"sourcesContent":["const i=new WeakMap;class t{constructor(t,s){this.startPaused=!1,this.disabled=!1,this.clients=new Set,this.pendingComplete=!1,this.host=t,this.defaultOptions=s.defaultOptions||{},this.startPaused=!!s.startPaused,this.disabled=!!s.disabled,this.onComplete=s.onComplete,i.set(this.host,this)}async add(i){this.clients.add(i),this.startPaused&&i.webAnimation?.pause(),this.pendingComplete=!0,await i.finished,this.pendingComplete&&!this.isAnimating&&(this.pendingComplete=!1,this.onComplete?.())}remove(i){this.clients.delete(i)}pause(){this.clients.forEach(i=>i.webAnimation?.pause())}play(){this.clients.forEach(i=>i.webAnimation?.play())}cancel(){this.clients.forEach(i=>i.webAnimation?.cancel()),this.clients.clear()}finish(){this.clients.forEach(i=>i.webAnimation?.finish()),this.clients.clear()}togglePlay(){this.isPlaying?this.pause():this.play()}get isAnimating(){return this.clients.size>0}get isPlaying(){return Array.from(this.clients).some(i=>\"running\"===i.webAnimation?.playState)}async finished(){await Promise.all(Array.from(this.clients).map(i=>i.finished))}}export{t as AnimateController,i as controllerMap};\n//# sourceMappingURL=animate-controller.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as e}from\"lit/async-directive.js\";import{controllerMap as h}from\"./animate-controller.js\";export{AnimateController}from\"./animate-controller.js\";let o=0;const r=new Map,n=new WeakSet,a=()=>new Promise(t=>requestAnimationFrame(t)),c=[{transform:\"translateY(100%) scale(0)\",opacity:0}],l=[{transform:\"translateY(-100%) scale(0)\",opacity:0}],d=[{transform:\"translateX(-100%) scale(0)\",opacity:0}],u=[{transform:\"translateX(100%) scale(0)\",opacity:0}],m=[{}],f=[{opacity:0}],p=f,v=[{opacity:0},{opacity:1}],y=[{opacity:0},{opacity:.25,offset:.75},{opacity:1}],g=(t,i)=>{const s=t-i;return 0===s?void 0:s},w=(t,i)=>{const s=t/i;return 1===s?void 0:s},N={left:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateX(${s}px)`}},top:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateY(${s}px)`}},width:(t,i)=>{let s;0===i&&(i=1,s={width:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleX(${e})`}},height:(t,i)=>{let s;0===i&&(i=1,s={height:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleY(${e})`}}},A={duration:333,easing:\"ease-in-out\"},b=[\"left\",\"top\",\"width\",\"height\",\"opacity\",\"color\",\"background\"],j=new WeakMap;class x extends e{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===s.CHILD)throw Error(\"The `animate` directive must be used in attribute position.\");this.createFinished()}createFinished(){this.resolveFinished?.(),this.finished=new Promise(t=>{this.l=t})}async resolveFinished(){this.l?.(),this.l=void 0}render(i){return t}getController(){return h.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(t,[i]){const s=void 0===this.u;return s&&(this.u=t.options?.host,this.u.addController(this),this.u.updateComplete.then(t=>this.t=!0),this.element=t.element,j.set(this.element,this)),this.optionsOrCallback=i,(s||\"function\"!=typeof i)&&this.m(i),this.render(i)}m(t){t=t??{};const i=this.getController();void 0!==i&&((t={...i.defaultOptions,...t}).keyframeOptions={...i.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??=b,this.options=t}p(){const t={},i=this.element.getBoundingClientRect(),s=getComputedStyle(this.element);return this.options.properties.forEach(e=>{const h=i[e]??(N[e]?void 0:s[e]),o=Number(h);t[e]=isNaN(o)?h+\"\":o}),t}v(){let t,i=!0;return this.options.guard&&(t=this.options.guard(),i=((t,i)=>{if(Array.isArray(t)){if(Array.isArray(i)&&i.length===t.length&&t.every((t,s)=>t===i[s]))return!1}else if(i===t)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&i&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){\"function\"==typeof this.optionsOrCallback&&this.m(this.optionsOrCallback()),this.v()&&(this.A=this.p(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let t;this.prepare(),await a;const i=this.P(),s=this.V(this.options.keyframeOptions,i),e=this.p();if(void 0!==this.A){const{from:s,to:h}=this.O(this.A,e,i);this.log(\"measured\",[this.A,e,s,h]),t=this.calculateKeyframes(s,h)}else{const s=r.get(this.options.inId);if(s){r.delete(this.options.inId);const{from:h,to:n}=this.O(s,e,i);t=this.calculateKeyframes(h,n),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,o++,t.forEach(t=>t.zIndex=o)}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,s)}resetStyles(){void 0!==this.j&&(this.element.setAttribute(\"style\",this.j??\"\"),this.j=void 0)}commitStyles(){this.j=this.element.getAttribute(\"style\"),this.webAnimation?.commitStyles(),this.webAnimation?.cancel()}reconnected(){}async disconnected(){if(!this.h)return;if(void 0!==this.options.id&&r.set(this.options.id,this.A),void 0===this.options.out)return;if(this.prepare(),await a(),this.i?.isConnected){const t=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,t),this.options.stabilizeOut){const t=this.p();this.log(\"stabilizing out\");const i=this.A.left-t.left,s=this.A.top-t.top;!(\"static\"===getComputedStyle(this.element).position)||0===i&&0===s||(this.element.style.position=\"relative\"),0!==i&&(this.element.style.left=i+\"px\"),0!==s&&(this.element.style.top=s+\"px\")}}const t=this.V(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){this.options.onStart?.(this)}didFinish(t){t&&this.options.onComplete?.(this),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}P(){const t=[];for(let i=this.element.parentNode;i;i=i?.parentNode){const s=j.get(i);s&&!s.isDisabled()&&s&&t.push(s)}return t}get isHostRendered(){const t=n.has(this.u);return t||this.u.updateComplete.then(()=>{n.add(this.u)}),t}V(t,i=this.P()){const s={...A};return i.forEach(t=>Object.assign(s,t.options.keyframeOptions)),Object.assign(s,t),s}O(t,i,s){t={...t},i={...i};const e=s.map(t=>t.animatingProperties).filter(t=>void 0!==t);let h=1,o=1;return e.length>0&&(e.forEach(t=>{t.width&&(h/=t.width),t.height&&(o/=t.height)}),void 0!==t.left&&void 0!==i.left&&(t.left=h*t.left,i.left=h*i.left),void 0!==t.top&&void 0!==i.top&&(t.top=o*t.top,i.top=o*i.top)),{from:t,to:i}}calculateKeyframes(t,i,s=!1){const e={},h={};let o=!1;const r={};for(const s in i){const n=t[s],a=i[s];if(s in N){const t=N[s];if(void 0===n||void 0===a)continue;const i=t(n,a);void 0!==i.transform&&(r[s]=i.value,o=!0,e.transform=`${e.transform??\"\"} ${i.transform}`,void 0!==i.overrideFrom&&Object.assign(e,i.overrideFrom))}else n!==a&&void 0!==n&&void 0!==a&&(o=!0,e[s]=n,h[s]=a)}return e.transformOrigin=h.transformOrigin=s?\"center center\":\"top left\",this.animatingProperties=r,o?[e,h]:void 0}async animate(t,i=this.options.keyframeOptions){this.start(),this.frames=t;let s=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log(\"modified frames\",t)),void 0!==t)){this.log(\"animate\",[t,i]),s=!0,this.webAnimation=this.element.animate(t,i);const e=this.getController();e?.add(this);try{await this.webAnimation.finished}catch(t){}e?.remove(this)}return this.didFinish(s),s}isAnimating(){return\"running\"===this.webAnimation?.playState||this.webAnimation?.pending}log(t,i){this.shouldLog&&!this.isDisabled()&&console.log(t,this.options.id,i)}}const F=i(x);export{x as Animate,F as animate,a as animationFrame,b as defaultCssProperties,A as defaultKeyframeOptions,p as fade,v as fadeIn,y as fadeInSlow,f as fadeOut,l as flyAbove,c as flyBelow,d as flyLeft,u as flyRight,m as none,N as transformProps};\n//# sourceMappingURL=animate.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as o}from\"lit/async-directive.js\";const r=[\"top\",\"right\",\"bottom\",\"left\"];class e extends o{constructor(t){if(super(t),t.type!==s.ELEMENT)throw Error(\"The `position` directive must be used in attribute position.\")}render(i,s){return t}update(t,[i,s]){return void 0===this.u&&(this.u=t.options?.host,this.u.addController(this)),this.C=t.element,this.N=i,this.S=s??[\"left\",\"top\",\"width\",\"height\"],this.render(i,s)}hostUpdated(){this.F()}F(){const t=\"function\"==typeof this.N?this.N():this.N?.value,i=t.offsetParent;if(void 0===t||!i)return;const s=t.getBoundingClientRect(),o=i.getBoundingClientRect();this.S?.forEach(t=>{const i=r.includes(t)?s[t]-o[t]:s[t];this.C.style[t]=i+\"px\"})}}const h=i(e);export{e as Position,h as position};\n//# sourceMappingURL=position.js.map\n","import { animate, fadeIn, flyAbove, flyBelow } from '@lit-labs/motion'\nimport { consume, createContext, provide } from '@lit/context'\nimport { $LitElement } from '@mixins/litElement.mixin'\nimport hashContent from '@schmancy/utils/hashContent'\nimport { html } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\nimport { timer } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\nexport const delayContext = createContext<number>('delay-context')\n\n@customElement('schmancy-delay')\nexport class SchmancyDelay extends $LitElement() {\n\t@property({ type: Number, reflect: true }) delay = 0 // Delay in milliseconds\n\t@property({ type: String }) motion = 'flyBelow' // Motion type (default: flyBelow)\n\t@state() private rendered = false // Tracks if the content is rendered\n\t@consume({ context: delayContext, subscribe: true }) parentDelay = 0 // Consumes the parent's delay value\n\t@provide({ context: delayContext }) effectiveDelay = 0 // Provides the effective delay to children\n\n\t@property({ type: Boolean }) once? = true // Only render once per session\n\n\tprivate sessionKey = '' // Unique session key\n\tprivate mutationObserver?: MutationObserver\n\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tassignedElements: HTMLElement[]\n\tfirstUpdated() {\n\t\tthis.observeSlotChanges()\n\t\tthis.updateRenderState()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.mutationObserver?.disconnect() // Clean up the observer\n\t}\n\n\tprivate observeSlotChanges() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tif (!slot) return\n\n\t\tthis.mutationObserver = new MutationObserver(() => {\n\t\t\t// Update session key when children change\n\t\t\tthis.sessionKey = this.generateSessionKey()\n\t\t})\n\n\t\tthis.mutationObserver.observe(slot, { childList: true, subtree: true })\n\t}\n\n\tprivate getTotalSiblingDelay(element: HTMLElement | null): number {\n\t\tif (!element || !(element instanceof HTMLElement)) return 0\n\n\t\tlet totalDelay = 0\n\t\tlet sibling = element.previousElementSibling // Start with the previous sibling\n\n\t\twhile (sibling) {\n\t\t\t// Check if the sibling is a `schmancy-delay` and add its delay\n\t\t\tif (sibling instanceof SchmancyDelay) {\n\t\t\t\ttotalDelay += sibling.delay\n\t\t\t}\n\t\t\t// Move to the previous sibling\n\t\t\tsibling = sibling.previousElementSibling\n\t\t}\n\n\t\t// Traverse up the tree and repeat for the parent node\n\t\tif (element.parentElement) {\n\t\t\ttotalDelay += this.getTotalSiblingDelay(element.parentElement)\n\t\t}\n\n\t\treturn totalDelay\n\t}\n\n\tprivate updateRenderState() {\n\t\tthis.sessionKey = this.generateSessionKey()\n\n\t\tif (this.once && sessionStorage.getItem(this.sessionKey) === 'true') {\n\t\t\t// Skip delay and render immediately if once is set and already rendered\n\t\t\tthis.rendered = true\n\t\t\treturn\n\t\t}\n\n\t\t// Calculate the effective delay (parent + self + all preceding siblings)\n\t\tconst siblingDelay = this.getTotalSiblingDelay(this)\n\t\tthis.effectiveDelay = this.delay + this.parentDelay + siblingDelay\n\n\t\t// Start the delay timer\n\t\ttimer(this.effectiveDelay)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.rendered = true // Render content after delay\n\t\t\t\tif (this.once) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsessionStorage.setItem(this.sessionKey, 'true')\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Error saving to session storage:', error)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tprivate generateSessionKey(): string {\n\t\tconst slotContent = this.assignedElements.map(el => el.outerHTML).join('')\n\t\treturn this.once ? hashContent(slotContent) : ''\n\t}\n\n\tprivate get motionLit(): any {\n\t\treturn this.motion === 'flyBelow' ? flyBelow : this.motion === 'flyAbove' ? flyAbove : fadeIn\n\t}\n\n\trender() {\n\t\treturn cache(\n\t\t\tthis.rendered\n\t\t\t\t? html`<div\n\t\t\t\t\t\t${animate({\n\t\t\t\t\t\t\tin: this.motionLit, // Use the provided motion type\n\t\t\t\t\t\t\tkeyframeOptions: { duration: 300, easing: 'ease-out' },\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>`\n\t\t\t\t: html`\n\t\t\t\t\t\t<section style=\"display: none;\">\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t</section>\n\t\t\t\t\t`,\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-delay': SchmancyDelay\n\t}\n}\n"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delay-CPoyWZuQ.js","names":["o","s","t","i"],"sources":["../node_modules/@lit-labs/motion/animate-controller.js","../node_modules/@lit-labs/motion/animate.js","../node_modules/@lit-labs/motion/position.js","../src/delay/delay.ts"],"sourcesContent":["const i=new WeakMap;class t{constructor(t,s){this.startPaused=!1,this.disabled=!1,this.clients=new Set,this.pendingComplete=!1,this.host=t,this.defaultOptions=s.defaultOptions||{},this.startPaused=!!s.startPaused,this.disabled=!!s.disabled,this.onComplete=s.onComplete,i.set(this.host,this)}async add(i){this.clients.add(i),this.startPaused&&i.webAnimation?.pause(),this.pendingComplete=!0,await i.finished,this.pendingComplete&&!this.isAnimating&&(this.pendingComplete=!1,this.onComplete?.())}remove(i){this.clients.delete(i)}pause(){this.clients.forEach(i=>i.webAnimation?.pause())}play(){this.clients.forEach(i=>i.webAnimation?.play())}cancel(){this.clients.forEach(i=>i.webAnimation?.cancel()),this.clients.clear()}finish(){this.clients.forEach(i=>i.webAnimation?.finish()),this.clients.clear()}togglePlay(){this.isPlaying?this.pause():this.play()}get isAnimating(){return this.clients.size>0}get isPlaying(){return Array.from(this.clients).some(i=>\"running\"===i.webAnimation?.playState)}async finished(){await Promise.all(Array.from(this.clients).map(i=>i.finished))}}export{t as AnimateController,i as controllerMap};\n//# sourceMappingURL=animate-controller.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as e}from\"lit/async-directive.js\";import{controllerMap as h}from\"./animate-controller.js\";export{AnimateController}from\"./animate-controller.js\";let o=0;const r=new Map,n=new WeakSet,a=()=>new Promise(t=>requestAnimationFrame(t)),c=[{transform:\"translateY(100%) scale(0)\",opacity:0}],l=[{transform:\"translateY(-100%) scale(0)\",opacity:0}],d=[{transform:\"translateX(-100%) scale(0)\",opacity:0}],u=[{transform:\"translateX(100%) scale(0)\",opacity:0}],m=[{}],f=[{opacity:0}],p=f,v=[{opacity:0},{opacity:1}],y=[{opacity:0},{opacity:.25,offset:.75},{opacity:1}],g=(t,i)=>{const s=t-i;return 0===s?void 0:s},w=(t,i)=>{const s=t/i;return 1===s?void 0:s},N={left:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateX(${s}px)`}},top:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateY(${s}px)`}},width:(t,i)=>{let s;0===i&&(i=1,s={width:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleX(${e})`}},height:(t,i)=>{let s;0===i&&(i=1,s={height:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleY(${e})`}}},A={duration:333,easing:\"ease-in-out\"},b=[\"left\",\"top\",\"width\",\"height\",\"opacity\",\"color\",\"background\"],j=new WeakMap;class x extends e{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===s.CHILD)throw Error(\"The `animate` directive must be used in attribute position.\");this.createFinished()}createFinished(){this.resolveFinished?.(),this.finished=new Promise(t=>{this.l=t})}async resolveFinished(){this.l?.(),this.l=void 0}render(i){return t}getController(){return h.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(t,[i]){const s=void 0===this.u;return s&&(this.u=t.options?.host,this.u.addController(this),this.u.updateComplete.then(t=>this.t=!0),this.element=t.element,j.set(this.element,this)),this.optionsOrCallback=i,(s||\"function\"!=typeof i)&&this.m(i),this.render(i)}m(t){t=t??{};const i=this.getController();void 0!==i&&((t={...i.defaultOptions,...t}).keyframeOptions={...i.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??=b,this.options=t}p(){const t={},i=this.element.getBoundingClientRect(),s=getComputedStyle(this.element);return this.options.properties.forEach(e=>{const h=i[e]??(N[e]?void 0:s[e]),o=Number(h);t[e]=isNaN(o)?h+\"\":o}),t}v(){let t,i=!0;return this.options.guard&&(t=this.options.guard(),i=((t,i)=>{if(Array.isArray(t)){if(Array.isArray(i)&&i.length===t.length&&t.every((t,s)=>t===i[s]))return!1}else if(i===t)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&i&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){\"function\"==typeof this.optionsOrCallback&&this.m(this.optionsOrCallback()),this.v()&&(this.A=this.p(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let t;this.prepare(),await a;const i=this.P(),s=this.V(this.options.keyframeOptions,i),e=this.p();if(void 0!==this.A){const{from:s,to:h}=this.O(this.A,e,i);this.log(\"measured\",[this.A,e,s,h]),t=this.calculateKeyframes(s,h)}else{const s=r.get(this.options.inId);if(s){r.delete(this.options.inId);const{from:h,to:n}=this.O(s,e,i);t=this.calculateKeyframes(h,n),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,o++,t.forEach(t=>t.zIndex=o)}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,s)}resetStyles(){void 0!==this.j&&(this.element.setAttribute(\"style\",this.j??\"\"),this.j=void 0)}commitStyles(){this.j=this.element.getAttribute(\"style\"),this.webAnimation?.commitStyles(),this.webAnimation?.cancel()}reconnected(){}async disconnected(){if(!this.h)return;if(void 0!==this.options.id&&r.set(this.options.id,this.A),void 0===this.options.out)return;if(this.prepare(),await a(),this.i?.isConnected){const t=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,t),this.options.stabilizeOut){const t=this.p();this.log(\"stabilizing out\");const i=this.A.left-t.left,s=this.A.top-t.top;!(\"static\"===getComputedStyle(this.element).position)||0===i&&0===s||(this.element.style.position=\"relative\"),0!==i&&(this.element.style.left=i+\"px\"),0!==s&&(this.element.style.top=s+\"px\")}}const t=this.V(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){this.options.onStart?.(this)}didFinish(t){t&&this.options.onComplete?.(this),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}P(){const t=[];for(let i=this.element.parentNode;i;i=i?.parentNode){const s=j.get(i);s&&!s.isDisabled()&&s&&t.push(s)}return t}get isHostRendered(){const t=n.has(this.u);return t||this.u.updateComplete.then(()=>{n.add(this.u)}),t}V(t,i=this.P()){const s={...A};return i.forEach(t=>Object.assign(s,t.options.keyframeOptions)),Object.assign(s,t),s}O(t,i,s){t={...t},i={...i};const e=s.map(t=>t.animatingProperties).filter(t=>void 0!==t);let h=1,o=1;return e.length>0&&(e.forEach(t=>{t.width&&(h/=t.width),t.height&&(o/=t.height)}),void 0!==t.left&&void 0!==i.left&&(t.left=h*t.left,i.left=h*i.left),void 0!==t.top&&void 0!==i.top&&(t.top=o*t.top,i.top=o*i.top)),{from:t,to:i}}calculateKeyframes(t,i,s=!1){const e={},h={};let o=!1;const r={};for(const s in i){const n=t[s],a=i[s];if(s in N){const t=N[s];if(void 0===n||void 0===a)continue;const i=t(n,a);void 0!==i.transform&&(r[s]=i.value,o=!0,e.transform=`${e.transform??\"\"} ${i.transform}`,void 0!==i.overrideFrom&&Object.assign(e,i.overrideFrom))}else n!==a&&void 0!==n&&void 0!==a&&(o=!0,e[s]=n,h[s]=a)}return e.transformOrigin=h.transformOrigin=s?\"center center\":\"top left\",this.animatingProperties=r,o?[e,h]:void 0}async animate(t,i=this.options.keyframeOptions){this.start(),this.frames=t;let s=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log(\"modified frames\",t)),void 0!==t)){this.log(\"animate\",[t,i]),s=!0,this.webAnimation=this.element.animate(t,i);const e=this.getController();e?.add(this);try{await this.webAnimation.finished}catch(t){}e?.remove(this)}return this.didFinish(s),s}isAnimating(){return\"running\"===this.webAnimation?.playState||this.webAnimation?.pending}log(t,i){this.shouldLog&&!this.isDisabled()&&console.log(t,this.options.id,i)}}const F=i(x);export{x as Animate,F as animate,a as animationFrame,b as defaultCssProperties,A as defaultKeyframeOptions,p as fade,v as fadeIn,y as fadeInSlow,f as fadeOut,l as flyAbove,c as flyBelow,d as flyLeft,u as flyRight,m as none,N as transformProps};\n//# sourceMappingURL=animate.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as o}from\"lit/async-directive.js\";const r=[\"top\",\"right\",\"bottom\",\"left\"];class e extends o{constructor(t){if(super(t),t.type!==s.ELEMENT)throw Error(\"The `position` directive must be used in attribute position.\")}render(i,s){return t}update(t,[i,s]){return void 0===this.u&&(this.u=t.options?.host,this.u.addController(this)),this.C=t.element,this.N=i,this.S=s??[\"left\",\"top\",\"width\",\"height\"],this.render(i,s)}hostUpdated(){this.F()}F(){const t=\"function\"==typeof this.N?this.N():this.N?.value,i=t.offsetParent;if(void 0===t||!i)return;const s=t.getBoundingClientRect(),o=i.getBoundingClientRect();this.S?.forEach(t=>{const i=r.includes(t)?s[t]-o[t]:s[t];this.C.style[t]=i+\"px\"})}}const h=i(e);export{e as Position,h as position};\n//# sourceMappingURL=position.js.map\n","import { animate, fadeIn, flyAbove, flyBelow } from '@lit-labs/motion'\nimport { consume, createContext, provide } from '@lit/context'\nimport { $LitElement } from '@mixins/litElement.mixin'\nimport hashContent from '@schmancy/utils/hashContent'\nimport { html } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\nimport { timer } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\nexport const delayContext = createContext<number>('delay-context')\n\n@customElement('schmancy-delay')\nexport class SchmancyDelay extends $LitElement() {\n\t@property({ type: Number, reflect: true }) delay = 0 // Delay in milliseconds\n\t@property({ type: String }) motion = 'flyBelow' // Motion type (default: flyBelow)\n\t@state() private rendered = false // Tracks if the content is rendered\n\t@consume({ context: delayContext, subscribe: true }) parentDelay = 0 // Consumes the parent's delay value\n\t@provide({ context: delayContext }) effectiveDelay = 0 // Provides the effective delay to children\n\n\t@property({ type: Boolean }) once? = true // Only render once per session\n\n\tprivate sessionKey = '' // Unique session key\n\tprivate mutationObserver?: MutationObserver\n\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tassignedElements: HTMLElement[]\n\tfirstUpdated() {\n\t\tthis.observeSlotChanges()\n\t\tthis.updateRenderState()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.mutationObserver?.disconnect() // Clean up the observer\n\t}\n\n\tprivate observeSlotChanges() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tif (!slot) return\n\n\t\tthis.mutationObserver = new MutationObserver(() => {\n\t\t\t// Update session key when children change\n\t\t\tthis.sessionKey = this.generateSessionKey()\n\t\t})\n\n\t\tthis.mutationObserver.observe(slot, { childList: true, subtree: true })\n\t}\n\n\tprivate getTotalSiblingDelay(element: HTMLElement | null): number {\n\t\tif (!element || !(element instanceof HTMLElement)) return 0\n\n\t\tlet totalDelay = 0\n\t\tlet sibling = element.previousElementSibling // Start with the previous sibling\n\n\t\twhile (sibling) {\n\t\t\t// Check if the sibling is a `schmancy-delay` and add its delay\n\t\t\tif (sibling instanceof SchmancyDelay) {\n\t\t\t\ttotalDelay += sibling.delay\n\t\t\t}\n\t\t\t// Move to the previous sibling\n\t\t\tsibling = sibling.previousElementSibling\n\t\t}\n\n\t\t// Traverse up the tree and repeat for the parent node\n\t\tif (element.parentElement) {\n\t\t\ttotalDelay += this.getTotalSiblingDelay(element.parentElement)\n\t\t}\n\n\t\treturn totalDelay\n\t}\n\n\tprivate updateRenderState() {\n\t\tthis.sessionKey = this.generateSessionKey()\n\n\t\tif (this.once && sessionStorage.getItem(this.sessionKey) === 'true') {\n\t\t\t// Skip delay and render immediately if once is set and already rendered\n\t\t\tthis.rendered = true\n\t\t\treturn\n\t\t}\n\n\t\t// Calculate the effective delay (parent + self + all preceding siblings)\n\t\tconst siblingDelay = this.getTotalSiblingDelay(this)\n\t\tthis.effectiveDelay = this.delay + this.parentDelay + siblingDelay\n\n\t\t// Start the delay timer\n\t\ttimer(this.effectiveDelay)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.rendered = true // Render content after delay\n\t\t\t\tif (this.once) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsessionStorage.setItem(this.sessionKey, 'true')\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Error saving to session storage:', error)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tprivate generateSessionKey(): string {\n\t\tconst slotContent = this.assignedElements.map(el => el.outerHTML).join('')\n\t\treturn this.once ? hashContent(slotContent) : ''\n\t}\n\n\tprivate get motionLit(): any {\n\t\treturn this.motion === 'flyBelow' ? flyBelow : this.motion === 'flyAbove' ? flyAbove : fadeIn\n\t}\n\n\trender() {\n\t\treturn cache(\n\t\t\tthis.rendered\n\t\t\t\t? html`<div\n\t\t\t\t\t\t${animate({\n\t\t\t\t\t\t\tin: this.motionLit, // Use the provided motion type\n\t\t\t\t\t\t\tkeyframeOptions: { duration: 300, easing: 'ease-out' },\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>`\n\t\t\t\t: html`\n\t\t\t\t\t\t<section style=\"display: none;\">\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t</section>\n\t\t\t\t\t`,\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-delay': SchmancyDelay\n\t}\n}\n"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-
|
|
1
|
+
require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-Bug3G6K6.cjs`),t=require(`./provide-Dsoh3FdP.cjs`),n=require(`./decorate-F9CuyeHg.cjs`),r=require(`./litElement.mixin-De5SG5z7.cjs`),i=require(`./hashContent-kKvXKFa9.cjs`);let a=require(`rxjs`),o=require(`rxjs/operators`),s=require(`lit/decorators.js`),c=require(`lit`),l=require(`lit/async-directive.js`),u=require(`lit/directive.js`),d=require(`lit/html.js`),f=require(`lit/directives/cache.js`);var p,m=new WeakMap,h=0,g=new Map,_=new WeakSet,v=()=>new Promise(e=>requestAnimationFrame(e)),y=[{transform:`translateY(100%) scale(0)`,opacity:0}],b=[{transform:`translateY(-100%) scale(0)`,opacity:0}],x=[{opacity:0},{opacity:1}],S=(e,t)=>{let n=e-t;return n===0?void 0:n},C=(e,t)=>{let n=e/t;return n===1?void 0:n},w={left:(e,t)=>{let n=S(e,t);return{value:n,transform:n==null||isNaN(n)?void 0:`translateX(${n}px)`}},top:(e,t)=>{let n=S(e,t);return{value:n,transform:n==null||isNaN(n)?void 0:`translateY(${n}px)`}},width:(e,t)=>{let n;t===0&&(t=1,n={width:`1px`});let r=C(e,t);return{value:r,overrideFrom:n,transform:r==null||isNaN(r)?void 0:`scaleX(${r})`}},height:(e,t)=>{let n;t===0&&(t=1,n={height:`1px`});let r=C(e,t);return{value:r,overrideFrom:n,transform:r==null||isNaN(r)?void 0:`scaleY(${r})`}}},T={duration:333,easing:`ease-in-out`},E=[`left`,`top`,`width`,`height`,`opacity`,`color`,`background`],D=new WeakMap,O=class extends l.AsyncDirective{constructor(e){if(super(e),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,e.type===u.PartType.CHILD)throw Error("The `animate` directive must be used in attribute position.");this.createFinished()}createFinished(){this.resolveFinished?.(),this.finished=new Promise(e=>{this.l=e})}async resolveFinished(){this.l?.(),this.l=void 0}render(e){return d.nothing}getController(){return m.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(e,[t]){let n=this.u===void 0;return n&&(this.u=e.options?.host,this.u.addController(this),this.u.updateComplete.then(e=>this.t=!0),this.element=e.element,D.set(this.element,this)),this.optionsOrCallback=t,(n||typeof t!=`function`)&&this.m(t),this.render(t)}m(e){e??={};let t=this.getController();t!==void 0&&((e={...t.defaultOptions,...e}).keyframeOptions={...t.defaultOptions.keyframeOptions,...e.keyframeOptions}),e.properties??=E,this.options=e}p(){let e={},t=this.element.getBoundingClientRect(),n=getComputedStyle(this.element);return this.options.properties.forEach(r=>{let i=t[r]??(w[r]?void 0:n[r]),a=Number(i);e[r]=isNaN(a)?i+``:a}),e}v(){let e,t=!0;return this.options.guard&&(e=this.options.guard(),t=((e,t)=>{if(Array.isArray(e)){if(Array.isArray(t)&&t.length===e.length&&e.every((e,n)=>e===t[n]))return!1}else if(t===e)return!1;return!0})(e,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&t&&this.element.isConnected,this.h&&(this._=Array.isArray(e)?Array.from(e):e),this.h}hostUpdate(){typeof this.optionsOrCallback==`function`&&this.m(this.optionsOrCallback()),this.v()&&(this.A=this.p(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let e;this.prepare(),await v;let t=this.P(),n=this.V(this.options.keyframeOptions,t),r=this.p();if(this.A!==void 0){let{from:n,to:i}=this.O(this.A,r,t);this.log(`measured`,[this.A,r,n,i]),e=this.calculateKeyframes(n,i)}else{let n=g.get(this.options.inId);if(n){g.delete(this.options.inId);let{from:i,to:a}=this.O(n,r,t);e=this.calculateKeyframes(i,a),e=this.options.in?[{...this.options.in[0],...e[0]},...this.options.in.slice(1),e[1]]:e,h++,e.forEach(e=>e.zIndex=h)}else this.options.in&&(e=[...this.options.in,{}])}this.animate(e,n)}resetStyles(){this.j!==void 0&&(this.element.setAttribute(`style`,this.j??``),this.j=void 0)}commitStyles(){this.j=this.element.getAttribute(`style`),this.webAnimation?.commitStyles(),this.webAnimation?.cancel()}reconnected(){}async disconnected(){if(!this.h||(this.options.id!==void 0&&g.set(this.options.id,this.A),this.options.out===void 0))return;if(this.prepare(),await v(),this.i?.isConnected){let e=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,e),this.options.stabilizeOut){let e=this.p();this.log(`stabilizing out`);let t=this.A.left-e.left,n=this.A.top-e.top;getComputedStyle(this.element).position!==`static`||t===0&&n===0||(this.element.style.position=`relative`),t!==0&&(this.element.style.left=t+`px`),n!==0&&(this.element.style.top=n+`px`)}}let e=this.V(this.options.keyframeOptions);await this.animate(this.options.out,e),this.element.remove()}prepare(){this.createFinished()}start(){this.options.onStart?.(this)}didFinish(e){e&&this.options.onComplete?.(this),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}P(){let e=[];for(let t=this.element.parentNode;t;t=t?.parentNode){let n=D.get(t);n&&!n.isDisabled()&&n&&e.push(n)}return e}get isHostRendered(){let e=_.has(this.u);return e||this.u.updateComplete.then(()=>{_.add(this.u)}),e}V(e,t=this.P()){let n={...T};return t.forEach(e=>Object.assign(n,e.options.keyframeOptions)),Object.assign(n,e),n}O(e,t,n){e={...e},t={...t};let r=n.map(e=>e.animatingProperties).filter(e=>e!==void 0),i=1,a=1;return r.length>0&&(r.forEach(e=>{e.width&&(i/=e.width),e.height&&(a/=e.height)}),e.left!==void 0&&t.left!==void 0&&(e.left=i*e.left,t.left=i*t.left),e.top!==void 0&&t.top!==void 0&&(e.top=a*e.top,t.top=a*t.top)),{from:e,to:t}}calculateKeyframes(e,t,n=!1){let r={},i={},a=!1,o={};for(let n in t){let s=e[n],c=t[n];if(n in w){let e=w[n];if(s===void 0||c===void 0)continue;let t=e(s,c);t.transform!==void 0&&(o[n]=t.value,a=!0,r.transform=`${r.transform??``} ${t.transform}`,t.overrideFrom!==void 0&&Object.assign(r,t.overrideFrom))}else s!==c&&s!==void 0&&c!==void 0&&(a=!0,r[n]=s,i[n]=c)}return r.transformOrigin=i.transformOrigin=n?`center center`:`top left`,this.animatingProperties=o,a?[r,i]:void 0}async animate(e,t=this.options.keyframeOptions){this.start(),this.frames=e;let n=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=e=this.options.onFrames(this),this.log(`modified frames`,e)),e!==void 0)){this.log(`animate`,[e,t]),n=!0,this.webAnimation=this.element.animate(e,t);let r=this.getController();r?.add(this);try{await this.webAnimation.finished}catch{}r?.remove(this)}return this.didFinish(n),n}isAnimating(){return this.webAnimation?.playState===`running`||this.webAnimation?.pending}log(e,t){this.shouldLog&&this.isDisabled()}},k=(0,u.directive)(O),A=[`top`,`right`,`bottom`,`left`],j=class extends l.AsyncDirective{constructor(e){if(super(e),e.type!==u.PartType.ELEMENT)throw Error("The `position` directive must be used in attribute position.")}render(e,t){return d.nothing}update(e,[t,n]){return this.u===void 0&&(this.u=e.options?.host,this.u.addController(this)),this.C=e.element,this.N=t,this.S=n??[`left`,`top`,`width`,`height`],this.render(t,n)}hostUpdated(){this.F()}F(){let e=typeof this.N==`function`?this.N():this.N?.value,t=e.offsetParent;if(e===void 0||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();this.S?.forEach(e=>{let t=A.includes(e)?n[e]-r[e]:n[e];this.C.style[e]=t+`px`})}},M=((0,u.directive)(j),e.o(`delay-context`)),N=p=class extends r.t(){constructor(...e){super(...e),this.delay=0,this.motion=`flyBelow`,this.rendered=!1,this.parentDelay=0,this.effectiveDelay=0,this.once=!0,this.sessionKey=``}firstUpdated(){this.observeSlotChanges(),this.updateRenderState()}disconnectedCallback(){super.disconnectedCallback(),this.mutationObserver?.disconnect()}observeSlotChanges(){let e=this.shadowRoot?.querySelector(`slot`);e&&(this.mutationObserver=new MutationObserver(()=>{this.sessionKey=this.generateSessionKey()}),this.mutationObserver.observe(e,{childList:!0,subtree:!0}))}getTotalSiblingDelay(e){if(!(e&&e instanceof HTMLElement))return 0;let t=0,n=e.previousElementSibling;for(;n;)n instanceof p&&(t+=n.delay),n=n.previousElementSibling;return e.parentElement&&(t+=this.getTotalSiblingDelay(e.parentElement)),t}updateRenderState(){if(this.sessionKey=this.generateSessionKey(),this.once&&sessionStorage.getItem(this.sessionKey)===`true`)return void(this.rendered=!0);let e=this.getTotalSiblingDelay(this);this.effectiveDelay=this.delay+this.parentDelay+e,(0,a.timer)(this.effectiveDelay).pipe((0,o.takeUntil)(this.disconnecting)).subscribe(()=>{if(this.rendered=!0,this.once)try{sessionStorage.setItem(this.sessionKey,`true`)}catch{}})}generateSessionKey(){let e=this.assignedElements.map(e=>e.outerHTML).join(``);return this.once?i.t(e):``}get motionLit(){return this.motion===`flyBelow`?y:this.motion===`flyAbove`?b:x}render(){return(0,f.cache)(this.rendered?c.html`<div
|
|
2
2
|
${k({in:this.motionLit,keyframeOptions:{duration:300,easing:`ease-out`}})}
|
|
3
3
|
>
|
|
4
4
|
<slot></slot>
|
|
@@ -6,4 +6,4 @@ require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-B9BI55A6.cjs`)
|
|
|
6
6
|
<section style="display: none;">
|
|
7
7
|
<slot></slot>
|
|
8
8
|
</section>
|
|
9
|
-
`)}};n.t([(0,s.property)({type:Number,reflect:!0})],N.prototype,`delay`,void 0),n.t([(0,s.property)({type:String})],N.prototype,`motion`,void 0),n.t([(0,s.state)()],N.prototype,`rendered`,void 0),n.t([e.
|
|
9
|
+
`)}};n.t([(0,s.property)({type:Number,reflect:!0})],N.prototype,`delay`,void 0),n.t([(0,s.property)({type:String})],N.prototype,`motion`,void 0),n.t([(0,s.state)()],N.prototype,`rendered`,void 0),n.t([e.a({context:M,subscribe:!0})],N.prototype,`parentDelay`,void 0),n.t([t.t({context:M})],N.prototype,`effectiveDelay`,void 0),n.t([(0,s.property)({type:Boolean})],N.prototype,`once`,void 0),n.t([(0,s.queryAssignedElements)({flatten:!0})],N.prototype,`assignedElements`,void 0),N=p=n.t([(0,s.customElement)(`schmancy-delay`)],N),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return N}});
|