@mhmo91/schmancy 0.6.18 → 0.7.1
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/ai/menu.md +117 -186
- package/dist/ai/menu.md +117 -186
- package/dist/{animated-text-CgKXZOvy.cjs → animated-text-B8pXfnjg.cjs} +2 -2
- package/dist/{animated-text-CgKXZOvy.cjs.map → animated-text-B8pXfnjg.cjs.map} +1 -1
- package/dist/{animated-text-Df3UZBT2.js → animated-text-C7RzcmyV.js} +3 -3
- package/dist/{animated-text-Df3UZBT2.js.map → animated-text-C7RzcmyV.js.map} +1 -1
- package/dist/animated-text.cjs +1 -1
- package/dist/animated-text.js +1 -1
- package/dist/area.cjs +1 -1
- package/dist/{area.component-DXQff5kK.js → area.component-DfGcGjsN.js} +3 -3
- package/dist/{area.component-DXQff5kK.js.map → area.component-DfGcGjsN.js.map} +1 -1
- package/dist/{area.component-_AwKbrLf.cjs → area.component-TRIJcSoQ.cjs} +2 -2
- package/dist/{area.component-_AwKbrLf.cjs.map → area.component-TRIJcSoQ.cjs.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-DLzc6eqO.js → autocomplete-Bhv2JOnL.js} +4 -4
- package/dist/autocomplete-Bhv2JOnL.js.map +1 -0
- package/dist/{autocomplete-DEzGDw9s.cjs → autocomplete-Dio0lk_E.cjs} +2 -2
- package/dist/autocomplete-Dio0lk_E.cjs.map +1 -0
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-RIbulvWL.js → avatar-BCLeThlA.js} +51 -51
- package/dist/{avatar-RIbulvWL.js.map → avatar-BCLeThlA.js.map} +1 -1
- package/dist/{avatar-Wu763qgL.cjs → avatar-DecX7RJw.cjs} +2 -2
- package/dist/{avatar-Wu763qgL.cjs.map → avatar-DecX7RJw.cjs.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-VzOnSD8z.cjs → boat-B3IhIJhy.cjs} +2 -2
- package/dist/{boat-VzOnSD8z.cjs.map → boat-B3IhIJhy.cjs.map} +1 -1
- package/dist/{boat-CWADeoFv.js → boat-DrAkyCAd.js} +3 -3
- package/dist/{boat-CWADeoFv.js.map → boat-DrAkyCAd.js.map} +1 -1
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +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.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-ZryxdmZz.js → checkbox-BKT1cZnv.js} +2 -2
- package/dist/checkbox-BKT1cZnv.js.map +1 -0
- package/dist/{checkbox-DClxbWbU.cjs → checkbox-C4CHTajr.cjs} +2 -2
- package/dist/checkbox-C4CHTajr.cjs.map +1 -0
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{code-preview-BoYqlMxl.cjs → code-preview-CEbRCvUd.cjs} +2 -2
- package/dist/code-preview-CEbRCvUd.cjs.map +1 -0
- package/dist/{code-preview-Bn2K5K9h.js → code-preview-DzMETSJv.js} +2 -2
- package/dist/code-preview-DzMETSJv.js.map +1 -0
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/consume-5D1qfVWM.js.map +1 -1
- package/dist/consume-edta5ng5.cjs.map +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/context-create-CA907mdD.cjs.map +1 -1
- package/dist/context-create-DCiujzV2.js.map +1 -1
- package/dist/{date-range-CCQsqKSy.js → date-range-B-5LtvhH.js} +3 -3
- package/dist/date-range-B-5LtvhH.js.map +1 -0
- package/dist/{date-range-B-rPnyst.cjs → date-range-B1PGOR7h.cjs} +2 -2
- package/dist/date-range-B1PGOR7h.cjs.map +1 -0
- package/dist/{date-range-inline-DO0Ps_QS.js → date-range-inline-D90CpK7z.js} +3 -3
- package/dist/{date-range-inline-DO0Ps_QS.js.map → date-range-inline-D90CpK7z.js.map} +1 -1
- package/dist/{date-range-inline-NACS06ev.cjs → date-range-inline-DLV7jB_x.cjs} +2 -2
- package/dist/{date-range-inline-NACS06ev.cjs.map → date-range-inline-DLV7jB_x.cjs.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-BaltOHAs.js → delay-D5RAR00M.js} +2 -2
- package/dist/delay-D5RAR00M.js.map +1 -0
- package/dist/{delay-DzqfMSBJ.cjs → delay-UAjkp-21.cjs} +2 -2
- package/dist/delay-UAjkp-21.cjs.map +1 -0
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-Bic4ZKNZ.js → details-CiuixU2H.js} +2 -2
- package/dist/{details-Bic4ZKNZ.js.map → details-CiuixU2H.js.map} +1 -1
- package/dist/{details-DPSpg2dL.cjs → details-RHTdNCLS.cjs} +2 -2
- package/dist/{details-DPSpg2dL.cjs.map → details-RHTdNCLS.cjs.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-CR4l1Yts.cjs → dialog-content-BF1xiYWw.cjs} +2 -2
- package/dist/{dialog-content-CR4l1Yts.cjs.map → dialog-content-BF1xiYWw.cjs.map} +1 -1
- package/dist/{dialog-content-CwsV3nWG.js → dialog-content-dtIrTHLU.js} +3 -3
- package/dist/{dialog-content-CwsV3nWG.js.map → dialog-content-dtIrTHLU.js.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-ChXDN5-E.js → divider-DcEB9uHV.js} +3 -3
- package/dist/{divider-ChXDN5-E.js.map → divider-DcEB9uHV.js.map} +1 -1
- package/dist/{divider-CpiE9MZW.cjs → divider-ZhcWRyc2.cjs} +2 -2
- package/dist/{divider-CpiE9MZW.cjs.map → divider-ZhcWRyc2.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-BmA6vuhB.js → dropdown-content-BoUnfAyz.js} +3 -3
- package/dist/{dropdown-content-BmA6vuhB.js.map → dropdown-content-BoUnfAyz.js.map} +1 -1
- package/dist/{dropdown-content-8I1uIUoF.cjs → dropdown-content-klaWLDI-.cjs} +2 -2
- package/dist/{dropdown-content-8I1uIUoF.cjs.map → dropdown-content-klaWLDI-.cjs.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-Cl_-UNWo.cjs → email-recipients-DA2HLG8K.cjs} +2 -2
- package/dist/{email-recipients-Cl_-UNWo.cjs.map → email-recipients-DA2HLG8K.cjs.map} +1 -1
- package/dist/{email-recipients-Ew87bYRp.js → email-recipients-yN1Jcu9X.js} +6 -6
- package/dist/{email-recipients-Ew87bYRp.js.map → email-recipients-yN1Jcu9X.js.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-DsHnuUb7.cjs → flex-CYCtLC7W.cjs} +2 -2
- package/dist/{flex-DsHnuUb7.cjs.map → flex-CYCtLC7W.cjs.map} +1 -1
- package/dist/{flex-CW7oSqU1.js → flex-C_fGjgWC.js} +2 -2
- package/dist/{flex-CW7oSqU1.js.map → flex-C_fGjgWC.js.map} +1 -1
- package/dist/flow-D0e7hGXO.cjs.map +1 -1
- package/dist/flow-DXYqC9OA.js.map +1 -1
- package/dist/{form-DZ9l7TjO.cjs → form-CYBgxvdH.cjs} +2 -2
- package/dist/{form-DZ9l7TjO.cjs.map → form-CYBgxvdH.cjs.map} +1 -1
- package/dist/{form-C5d6gWUg.js → form-Dn3XWE7d.js} +2 -2
- package/dist/{form-C5d6gWUg.js.map → form-Dn3XWE7d.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-BW4RaqbT.cjs → formField.mixin-D_gQgJXC.cjs} +2 -2
- package/dist/{formField.mixin-BW4RaqbT.cjs.map → formField.mixin-D_gQgJXC.cjs.map} +1 -1
- package/dist/{formField.mixin-DpD9oPMR.js → formField.mixin-Ds2S1kRc.js} +2 -2
- package/dist/{formField.mixin-DpD9oPMR.js.map → formField.mixin-Ds2S1kRc.js.map} +1 -1
- package/dist/{icon-BATnNWHh.js → icon-Bw8hqRtQ.js} +2 -2
- package/dist/{icon-BATnNWHh.js.map → icon-Bw8hqRtQ.js.map} +1 -1
- package/dist/{icon-CV5KKSMK.cjs → icon-DYGsNRVu.cjs} +2 -2
- package/dist/{icon-CV5KKSMK.cjs.map → icon-DYGsNRVu.cjs.map} +1 -1
- package/dist/{icon-button-CST9ztNW.cjs → icon-button-BfjcTNKq.cjs} +3 -3
- package/dist/icon-button-BfjcTNKq.cjs.map +1 -0
- package/dist/{icon-button-BlyzaNtE.js → icon-button-Cu-RShdY.js} +7 -7
- package/dist/icon-button-Cu-RShdY.js.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index-CCi1otmh.cjs.map +1 -1
- package/dist/index-CW6PhEkx.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +50 -50
- package/dist/{input-RPj2xLz4.cjs → input-D-YRT2vo.cjs} +2 -2
- package/dist/input-D-YRT2vo.cjs.map +1 -0
- package/dist/{input-BJvZX3nK.js → input-UlrGLoXt.js} +3 -3
- package/dist/input-UlrGLoXt.js.map +1 -0
- package/dist/{input-chip-CyvaAJiR.js → input-chip-BwEuJAV5.js} +2 -2
- package/dist/{input-chip-CyvaAJiR.js.map → input-chip-BwEuJAV5.js.map} +1 -1
- package/dist/{input-chip-CGilKpgN.cjs → input-chip-pho9bYvS.cjs} +2 -2
- package/dist/{input-chip-CGilKpgN.cjs.map → input-chip-pho9bYvS.cjs.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{list-Dqwbw_0L.js → list-B4x432bs.js} +2 -2
- package/dist/{list-Dqwbw_0L.js.map → list-B4x432bs.js.map} +1 -1
- package/dist/{list-Dphnkgjm.cjs → list-CyCR5ywg.cjs} +2 -2
- package/dist/{list-Dphnkgjm.cjs.map → list-CyCR5ywg.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-BbwZRaPp.js → litElement.mixin-BPe38Tqd.js} +2 -2
- package/dist/{litElement.mixin-BbwZRaPp.js.map → litElement.mixin-BPe38Tqd.js.map} +1 -1
- package/dist/{litElement.mixin-1i17ImwN.cjs → litElement.mixin-DXaT0TQx.cjs} +2 -2
- package/dist/{litElement.mixin-1i17ImwN.cjs.map → litElement.mixin-DXaT0TQx.cjs.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-DEjWWl14.cjs → map-C2fG3es8.cjs} +2 -2
- package/dist/{map-DEjWWl14.cjs.map → map-C2fG3es8.cjs.map} +1 -1
- package/dist/{map-BHfXl4eZ.js → map-CNoi0TZi.js} +2 -2
- package/dist/{map-BHfXl4eZ.js.map → map-CNoi0TZi.js.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-CFqac3i-.js → media-D_ne5TmT.js} +2 -2
- package/dist/{media-CFqac3i-.js.map → media-D_ne5TmT.js.map} +1 -1
- package/dist/{media-wEB2juTQ.cjs → media-dMr54ISj.cjs} +2 -2
- package/dist/{media-wEB2juTQ.cjs.map → media-dMr54ISj.cjs.map} +1 -1
- package/dist/menu-BdWhwHXc.js +89 -0
- package/dist/menu-BdWhwHXc.js.map +1 -0
- package/dist/menu-BsX4Mjjn.cjs +23 -0
- package/dist/menu-BsX4Mjjn.cjs.map +1 -0
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins.cjs +2 -0
- package/dist/mixins.cjs.map +1 -0
- package/dist/mixins.js +12 -0
- package/dist/mixins.js.map +1 -0
- 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-Cdklj_Vy.js → navigation-rail-DM2NQY_2.js} +3 -3
- package/dist/{navigation-rail-Cdklj_Vy.js.map → navigation-rail-DM2NQY_2.js.map} +1 -1
- package/dist/{navigation-rail-eNmqnFXJ.cjs → navigation-rail-DfFgV2PX.cjs} +2 -2
- package/dist/{navigation-rail-eNmqnFXJ.cjs.map → navigation-rail-DfFgV2PX.cjs.map} +1 -1
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-service-jityv87S.cjs → notification-service-Cm_0BsnA.cjs} +2 -2
- package/dist/{notification-service-jityv87S.cjs.map → notification-service-Cm_0BsnA.cjs.map} +1 -1
- package/dist/{notification-service-CqxmKVJX.js → notification-service-DDfyKN2r.js} +4 -4
- package/dist/{notification-service-CqxmKVJX.js.map → notification-service-DDfyKN2r.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-C8EM_JmR.js → notify-BGHQRbsD.js} +2 -2
- package/dist/{notify-C8EM_JmR.js.map → notify-BGHQRbsD.js.map} +1 -1
- package/dist/{notify-CxqHlCZF.cjs → notify-DMoBBADS.cjs} +2 -2
- package/dist/{notify-CxqHlCZF.cjs.map → notify-DMoBBADS.cjs.map} +1 -1
- package/dist/{option-COJIldwK.js → option-EBGoYClu.js} +2 -2
- package/dist/{option-COJIldwK.js.map → option-EBGoYClu.js.map} +1 -1
- package/dist/{option-CBQoRZ86.cjs → option-MaqD_vGw.cjs} +2 -2
- package/dist/{option-CBQoRZ86.cjs.map → option-MaqD_vGw.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-BzDuKScU.cjs → payment-card-form-DZmaLaVl.cjs} +2 -2
- package/dist/payment-card-form-DZmaLaVl.cjs.map +1 -0
- package/dist/{payment-card-form-CHMYeZs2.js → payment-card-form-p_Wj1NRm.js} +3 -3
- package/dist/payment-card-form-p_Wj1NRm.js.map +1 -0
- package/dist/{progress-nOhWloHs.cjs → progress-BqIOFoJX.cjs} +2 -2
- package/dist/{progress-nOhWloHs.cjs.map → progress-BqIOFoJX.cjs.map} +1 -1
- package/dist/{progress-CtNg2SPw.js → progress-DC88fksT.js} +2 -2
- package/dist/{progress-CtNg2SPw.js.map → progress-DC88fksT.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/provide-BxZ2kn_p.cjs.map +1 -1
- package/dist/provide-tcktw8xB.js.map +1 -1
- package/dist/{radio-button-DttgXEeY.cjs → radio-button-BfpkkEgE.cjs} +2 -2
- package/dist/radio-button-BfpkkEgE.cjs.map +1 -0
- package/dist/{radio-button-DggshTfa.js → radio-button-DQA5Kswx.js} +3 -3
- package/dist/radio-button-DQA5Kswx.js.map +1 -0
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-DhtHaKgX.js → schmancy-steps-container-Br5qKWIs.js} +2 -2
- package/dist/{schmancy-steps-container-DhtHaKgX.js.map → schmancy-steps-container-Br5qKWIs.js.map} +1 -1
- package/dist/{schmancy-steps-container-hIBLjMgI.cjs → schmancy-steps-container-Cr2B9C-w.cjs} +2 -2
- package/dist/{schmancy-steps-container-hIBLjMgI.cjs.map → schmancy-steps-container-Cr2B9C-w.cjs.map} +1 -1
- package/dist/{select-BqyRn0cF.js → select-B_DaDLhe.js} +3 -3
- package/dist/select-B_DaDLhe.js.map +1 -0
- package/dist/{select-xZKW8cHu.cjs → select-DwaiJBG2.cjs} +2 -2
- package/dist/select-DwaiJBG2.cjs.map +1 -0
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-DE8jIQUk.js → sheet-5c6WR3vS.js} +5 -5
- package/dist/{sheet-DE8jIQUk.js.map → sheet-5c6WR3vS.js.map} +1 -1
- package/dist/{sheet-C6Liqa_3.cjs → sheet-BrK8_X4J.cjs} +2 -2
- package/dist/{sheet-C6Liqa_3.cjs.map → sheet-BrK8_X4J.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/{sheet.service-NAV5vSsM.cjs → sheet.service-BkKHvgFa.cjs} +2 -2
- package/dist/{sheet.service-NAV5vSsM.cjs.map → sheet.service-BkKHvgFa.cjs.map} +1 -1
- package/dist/{sheet.service-1jZMJbNp.js → sheet.service-EPEmcCpX.js} +2 -2
- package/dist/{sheet.service-1jZMJbNp.js.map → sheet.service-EPEmcCpX.js.map} +1 -1
- package/dist/{slider-BvbkpEef.js → slider-CiNvtgZJ.js} +3 -3
- package/dist/{slider-BvbkpEef.js.map → slider-CiNvtgZJ.js.map} +1 -1
- package/dist/{slider-lEoCLK-7.cjs → slider-DW9URxIY.cjs} +2 -2
- package/dist/{slider-lEoCLK-7.cjs.map → slider-DW9URxIY.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-CQxy0lF3.cjs → spinner-9JRrKdub.cjs} +2 -2
- package/dist/{spinner-CQxy0lF3.cjs.map → spinner-9JRrKdub.cjs.map} +1 -1
- package/dist/{spinner-DdG6BEOr.js → spinner-D8stZ8uP.js} +2 -2
- package/dist/{spinner-DdG6BEOr.js.map → spinner-D8stZ8uP.js.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{suggestion-chip-BRz15zwU.js → suggestion-chip-CXPMf7Je.js} +3 -3
- package/dist/{suggestion-chip-BRz15zwU.js.map → suggestion-chip-CXPMf7Je.js.map} +1 -1
- package/dist/{suggestion-chip-DK4xFJvZ.cjs → suggestion-chip-inBIBMff.cjs} +2 -2
- package/dist/{suggestion-chip-DK4xFJvZ.cjs.map → suggestion-chip-inBIBMff.cjs.map} +1 -1
- package/dist/{surface-C3vER2uq.js → surface-BcZEnDON.js} +2 -2
- package/dist/{surface-C3vER2uq.js.map → surface-BcZEnDON.js.map} +1 -1
- package/dist/{surface-Bt1FetPM.cjs → surface-BsrV4kzE.cjs} +2 -2
- package/dist/{surface-Bt1FetPM.cjs.map → surface-BsrV4kzE.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-DhheYeQ8.js → table-B5CHKp8S.js} +2 -2
- package/dist/table-B5CHKp8S.js.map +1 -0
- package/dist/{table-DYay68qu.cjs → table-CzejyN5W.cjs} +2 -2
- package/dist/table-CzejyN5W.cjs.map +1 -0
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-C-gQwADa.js → tabs-compatibility-8NddfF1x.js} +2 -2
- package/dist/{tabs-compatibility-C-gQwADa.js.map → tabs-compatibility-8NddfF1x.js.map} +1 -1
- package/dist/{tabs-compatibility-Dz5YaB06.cjs → tabs-compatibility-UitZoxcs.cjs} +2 -2
- package/dist/{tabs-compatibility-Dz5YaB06.cjs.map → tabs-compatibility-UitZoxcs.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-2PdnHg0B.cjs +2 -0
- package/dist/{tailwind.mixin-Ge3p8F8Z.cjs.map → tailwind.mixin-2PdnHg0B.cjs.map} +1 -1
- package/dist/tailwind.mixin-BgdEBNZM.js +67 -0
- package/dist/{tailwind.mixin-BTS7jBB1.js.map → tailwind.mixin-BgdEBNZM.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-DmoZM65K.js → textarea-2oVdZPXR.js} +2 -2
- package/dist/textarea-2oVdZPXR.js.map +1 -0
- package/dist/{textarea-Dn1lmlIx.cjs → textarea-D24UakyK.cjs} +2 -2
- package/dist/textarea-D24UakyK.cjs.map +1 -0
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-CtF2dxRy.cjs → theme-button-D0Xi4WHC.cjs} +2 -2
- package/dist/{theme-button-CtF2dxRy.cjs.map → theme-button-D0Xi4WHC.cjs.map} +1 -1
- package/dist/{theme-button-BkoRO_Ko.js → theme-button-D4BhpOj6.js} +2 -2
- package/dist/{theme-button-BkoRO_Ko.js.map → theme-button-D4BhpOj6.js.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/{theme-controller-boat-DDsW4EOJ.js → theme-controller-boat-C8AnrOkJ.js} +4 -4
- package/dist/theme-controller-boat-C8AnrOkJ.js.map +1 -0
- package/dist/{theme-controller-boat-CBQlbHHc.cjs → theme-controller-boat-r74J3tyl.cjs} +2 -2
- package/dist/theme-controller-boat-r74J3tyl.cjs.map +1 -0
- package/dist/theme.cjs +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-DM_3vLZj.cjs → timezone-BbGoZoJM.cjs} +2 -2
- package/dist/{timezone-DM_3vLZj.cjs.map → timezone-BbGoZoJM.cjs.map} +1 -1
- package/dist/{timezone-C-V8qJE3.js → timezone-D4wUA6zL.js} +3 -3
- package/dist/{timezone-C-V8qJE3.js.map → timezone-D4wUA6zL.js.map} +1 -1
- package/dist/{tooltip-Cw5mfhRj.js → tooltip-BL92Hwwe.js} +2 -2
- package/dist/{tooltip-Cw5mfhRj.js.map → tooltip-BL92Hwwe.js.map} +1 -1
- package/dist/{tooltip-DntsYOsj.cjs → tooltip-DxdU3Drr.cjs} +2 -2
- package/dist/{tooltip-DntsYOsj.cjs.map → tooltip-DxdU3Drr.cjs.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-C3487udC.cjs → tree-BuGpk0as.cjs} +2 -2
- package/dist/{tree-C3487udC.cjs.map → tree-BuGpk0as.cjs.map} +1 -1
- package/dist/{tree-DimUJjcj.js → tree-cZIPOana.js} +2 -2
- package/dist/{tree-DimUJjcj.js.map → tree-cZIPOana.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/tslib.es6-DgOcxv4s.cjs.map +1 -1
- package/dist/tslib.es6-ujVQHAQ4.js.map +1 -1
- package/dist/{typewriter-B7nBcBU9.js → typewriter-DT0f_Fla.js} +4 -4
- package/dist/typewriter-DT0f_Fla.js.map +1 -0
- package/dist/{typewriter-CHcRZUee.cjs → typewriter-Dc7MHBRy.cjs} +2 -2
- package/dist/typewriter-Dc7MHBRy.cjs.map +1 -0
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-CRVUouR2.cjs → typography-BBCRpsA_.cjs} +2 -2
- package/dist/{typography-CRVUouR2.cjs.map → typography-BBCRpsA_.cjs.map} +1 -1
- package/dist/{typography-DnZjZEIe.js → typography-DayYVIRD.js} +2 -2
- package/dist/{typography-DnZjZEIe.js.map → typography-DayYVIRD.js.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +4 -10
- package/types/src/autocomplete/autocomplete.d.ts +11 -0
- package/types/src/extra/timezone/timezone.d.ts +8 -0
- package/types/src/input/input.d.ts +1 -0
- package/types/src/menu/menu.d.ts +5 -6
- package/types/src/radio-group/radio-button.d.ts +8 -0
- package/types/src/select/select.d.ts +11 -0
- package/types/src/textarea/textarea.d.ts +12 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Display-Bold.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Display-Light.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Display-Medium.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Display-Regular.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Display-Thin.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Display-UBold.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Display-ULight.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-Bold-Italic.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-Bold.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-Book-Italic.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-Book.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-Light.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-Medium-Italic.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-Medium.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-Regular.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-Thin-Italic.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-Thin.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-ULight-Italic.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Pro-Text-ULight.woff +0 -0
- package/dist/GT-Eesti/GT-Eesti-Text-Regular.woff2 +0 -0
- package/dist/_headers +0 -3
- package/dist/autocomplete-DEzGDw9s.cjs.map +0 -1
- package/dist/autocomplete-DLzc6eqO.js.map +0 -1
- package/dist/checkbox-DClxbWbU.cjs.map +0 -1
- package/dist/checkbox-ZryxdmZz.js.map +0 -1
- package/dist/code-preview-Bn2K5K9h.js.map +0 -1
- package/dist/code-preview-BoYqlMxl.cjs.map +0 -1
- package/dist/date-range-B-rPnyst.cjs.map +0 -1
- package/dist/date-range-CCQsqKSy.js.map +0 -1
- package/dist/delay-BaltOHAs.js.map +0 -1
- package/dist/delay-DzqfMSBJ.cjs.map +0 -1
- package/dist/icon-button-BlyzaNtE.js.map +0 -1
- package/dist/icon-button-CST9ztNW.cjs.map +0 -1
- package/dist/input-BJvZX3nK.js.map +0 -1
- package/dist/input-RPj2xLz4.cjs.map +0 -1
- package/dist/logo-dark.png +0 -0
- package/dist/menu-BlR27aWR.js +0 -100
- package/dist/menu-BlR27aWR.js.map +0 -1
- package/dist/menu-DYWTnN4u.cjs +0 -36
- package/dist/menu-DYWTnN4u.cjs.map +0 -1
- package/dist/mixins/baseElement.ts +0 -73
- package/dist/mixins/constructor.ts +0 -3
- package/dist/mixins/discovery.service.ts +0 -60
- package/dist/mixins/formField.mixin.ts +0 -223
- package/dist/mixins/index.ts +0 -5
- package/dist/mixins/litElement.mixin.ts +0 -15
- package/dist/mixins/scss.d.ts +0 -21
- package/dist/mixins/tailwind.css +0 -201
- package/dist/mixins/tailwind.mixin.ts +0 -30
- package/dist/netlify.toml +0 -366
- package/dist/payment-card-form-BzDuKScU.cjs.map +0 -1
- package/dist/payment-card-form-CHMYeZs2.js.map +0 -1
- package/dist/radio-button-DggshTfa.js.map +0 -1
- package/dist/radio-button-DttgXEeY.cjs.map +0 -1
- package/dist/select-BqyRn0cF.js.map +0 -1
- package/dist/select-xZKW8cHu.cjs.map +0 -1
- package/dist/table-DYay68qu.cjs.map +0 -1
- package/dist/table-DhheYeQ8.js.map +0 -1
- package/dist/tailwind.mixin-BTS7jBB1.js +0 -66
- package/dist/tailwind.mixin-Ge3p8F8Z.cjs +0 -2
- package/dist/textarea-DmoZM65K.js.map +0 -1
- package/dist/textarea-Dn1lmlIx.cjs.map +0 -1
- package/dist/theme-controller-boat-CBQlbHHc.cjs.map +0 -1
- package/dist/theme-controller-boat-DDsW4EOJ.js.map +0 -1
- package/dist/typewriter-B7nBcBU9.js.map +0 -1
- package/dist/typewriter-CHcRZUee.cjs.map +0 -1
- package/readme.md +0 -307
|
@@ -3,8 +3,8 @@ import "rxjs/operators";
|
|
|
3
3
|
import "lit/directives/class-map.js";
|
|
4
4
|
import "lit/directives/style-map.js";
|
|
5
5
|
import { property as T, customElement as ut, state as j } from "lit/decorators.js";
|
|
6
|
-
import "./tailwind.mixin-
|
|
7
|
-
import { $ as ct } from "./litElement.mixin-
|
|
6
|
+
import "./tailwind.mixin-BgdEBNZM.js";
|
|
7
|
+
import { $ as ct } from "./litElement.mixin-BPe38Tqd.js";
|
|
8
8
|
import { g as ht } from "./_commonjsHelpers-Dw9sPFZy.js";
|
|
9
9
|
import { html as W } from "lit";
|
|
10
10
|
import { $ as J } from "./dialog-service-CyQzm5qE.js";
|
|
@@ -661,4 +661,4 @@ export {
|
|
|
661
661
|
D as S,
|
|
662
662
|
Ft as v
|
|
663
663
|
};
|
|
664
|
-
//# sourceMappingURL=date-range-
|
|
664
|
+
//# sourceMappingURL=date-range-B-5LtvhH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-range-B-5LtvhH.js","sources":["../../../node_modules/dayjs/dayjs.min.js","../../../node_modules/dayjs/plugin/quarterOfYear.js","../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","../src/date-range/date-range-helpers.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\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 { $dialog } from '../dialog/dialog-service'\nimport { DateRangePreset, PresetCategory } from './date-range-presets'\n\n/**\n * Dialog content component for date range selection\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\tprivate handleFromDateChange(e: Event) {\n\t\tconst input = e.target as HTMLInputElement\n\t\tthis.dateFrom = { ...this.dateFrom, value: input.value }\n\t\t\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\t\t\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\t\t\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\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<!-- Custom Range Section with Inline Calendars -->\n\t\t\t\t<schmancy-surface type=\"container\" class=\"rounded-xl p-4 mb-6\">\n\t\t\t\t\t<div class=\"flex flex-col gap-4\">\n\t\t\t\t\t\t<div class=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n\t\t\t\t\t\t\t<!-- From Date Calendar -->\n\t\t\t\t\t\t\t<div class=\"flex flex-col gap-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${this.dateFrom.label || 'From'}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\t\t.value=\"${this.dateFrom.value}\"\n\t\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.minDate)}\"\n\t\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t\t@change=\"${this.handleFromDateChange}\"\n\t\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<!-- To Date Calendar -->\n\t\t\t\t\t\t\t<div class=\"flex flex-col gap-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${this.dateTo.label || 'To'}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\t\t.value=\"${this.dateTo.value}\"\n\t\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.dateFrom.value)}\"\n\t\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t\t@change=\"${this.handleToDateChange}\"\n\t\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<!-- Apply Button - Now at the bottom for logical flow -->\n\t\t\t\t\t\t<div class=\"flex justify-end mt-2\">\n\t\t\t\t\t\t\t<schmancy-button \n\t\t\t\t\t\t\t\tvariant=\"filled\" \n\t\t\t\t\t\t\t\t@click=\"${(e: Event) => this.applyManualDateSelection(e)}\"\n\t\t\t\t\t\t\t\t?disabled=\"${!this.dateFrom.value || !this.dateTo.value}\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tApply\n\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</schmancy-surface>\n\n\t\t\t\t<!-- Presets Section -->\n\t\t\t\t<div class=\"flex-1 overflow-y-auto overflow-x-hidden min-h-0\">\n\t\t\t\t\t<div class=\"grid grid-cols-2 md:grid-cols-5 gap-6\">\n\t\t\t\t\t\t${this.presetCategories.map(\n\t\t\t\t\t\t\tcategory => html`\n\t\t\t\t\t\t\t\t<div class=\"space-y-3\">\n\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"title\" token=\"md\" class=\"text-surface-onVariant font-medium\">\n\t\t\t\t\t\t\t\t\t\t${category.name}\n\t\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t\t<div class=\"space-y-1\">\n\t\t\t\t\t\t\t\t\t\t${category.presets.map(\n\t\t\t\t\t\t\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"${this.activePreset === preset.label ? 'filled' : 'text'}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"w-full justify-start text-left\"\n\t\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\t\taria-pressed=\"${this.activePreset === preset.label}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\taria-label=\"${preset.label}: ${preset.range.dateFrom} to ${preset.range.dateTo}\"\n\t\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\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"truncate\">${preset.label}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}","import { $LitElement } from '@mixins/index'\nimport dayjs from 'dayjs'\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear'\nimport { html, PropertyValues } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { debounceTime, fromEvent, takeUntil, timer } from 'rxjs'\nimport { $dialog } from '../dialog/dialog-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\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\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\tdisconnectedCallback(): void {\n\t\tsuper.disconnectedCallback()\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\n\n\n\tprivate toggleDropdown(e: Event) {\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()\n\t\t}\n\t}\n\n\tprivate openDropdown() {\n\t\tif (this.disabled || this.step !== undefined) return\n\t\t\n\t\tthis.isOpen = true\n\t\t\n\t\t// Create dialog with the new component\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}}\"\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}}\"\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\t\t\n\t\t// Use the dialog service - it will automatically find the nearest schmancy-theme\n\t\t$dialog.component(dialogContent, {\n\t\t\ttitle: 'Select Date Range',\n\t\t\twidth: this.isMobile ? '100vw' : '800px',\n\t\t\thideActions: true\n\t\t}).then(() => {\n\t\t\tthis.isOpen = false\n\t\t})\n\t}\n\n\tprivate closeDropdown() {\n\t\t$dialog.dismiss()\n\t\tthis.isOpen = false\n\t}\n\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\n\t\tlet newFromDate: dayjs.Dayjs\n\t\tlet newToDate: dayjs.Dayjs\n\n\t\t// If step is explicitly provided, use it\n\t\tif (this.step !== undefined) {\n\t\t\tif (typeof this.step === 'number') {\n\t\t\t\t// Numeric step means shift by that many days\n\t\t\t\tnewFromDate = dir > 0 ? fromDate.add(this.step, 'day') : fromDate.subtract(this.step, 'day')\n\t\t\t\tnewToDate = dir > 0 ? toDate.add(this.step, 'day') : toDate.subtract(this.step, 'day')\n\t\t\t} else {\n\t\t\t\t// String step means shift by the specified unit\n\t\t\t\tswitch (this.step) {\n\t\t\t\t\tcase 'day': {\n\t\t\t\t\t\tconst daysDiff = toDate.diff(fromDate, 'day') + 1\n\t\t\t\t\t\tnewFromDate = dir > 0 ? fromDate.add(daysDiff, 'day') : fromDate.subtract(daysDiff, 'day')\n\t\t\t\t\t\tnewToDate = dir > 0 ? toDate.add(daysDiff, 'day') : toDate.subtract(daysDiff, 'day')\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase 'week': {\n\t\t\t\t\t\tnewFromDate = dir > 0 ? fromDate.add(1, 'week') : fromDate.subtract(1, 'week')\n\t\t\t\t\t\tnewToDate = dir > 0 ? toDate.add(1, 'week') : toDate.subtract(1, 'week')\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase 'month': {\n\t\t\t\t\t\tnewFromDate = dir > 0 ? fromDate.add(1, 'month') : fromDate.subtract(1, 'month')\n\t\t\t\t\t\tnewToDate = dir > 0 ? toDate.add(1, 'month') : toDate.subtract(1, 'month')\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase 'year': {\n\t\t\t\t\t\tnewFromDate = dir > 0 ? fromDate.add(1, 'year') : fromDate.subtract(1, 'year')\n\t\t\t\t\t\tnewToDate = dir > 0 ? toDate.add(1, 'year') : toDate.subtract(1, 'year')\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Auto-detect the appropriate step based on the date range\n\t\t\tconst rangeType = detectDateRangeType(fromDate, toDate)\n\t\t\tconst daysDiff = toDate.diff(fromDate, 'day') + 1\n\n\t\t\tif (rangeType.isFullYear) {\n\t\t\t\t// Full year range - shift by year\n\t\t\t\tnewFromDate = dir > 0 ? fromDate.add(1, 'year') : fromDate.subtract(1, 'year')\n\t\t\t\tnewToDate = dir > 0 ? toDate.add(1, 'year') : toDate.subtract(1, 'year')\n\t\t\t} else if (rangeType.isFullMonth) {\n\t\t\t\t// Full month range - shift by month\n\t\t\t\tnewFromDate = dir > 0 ? fromDate.add(1, 'month') : fromDate.subtract(1, 'month')\n\t\t\t\tnewToDate = dir > 0 ? toDate.add(1, 'month') : toDate.subtract(1, 'month')\n\t\t\t} else if (rangeType.isFullWeek) {\n\t\t\t\t// Full week range - shift by week\n\t\t\t\tnewFromDate = dir > 0 ? fromDate.add(1, 'week') : fromDate.subtract(1, 'week')\n\t\t\t\tnewToDate = dir > 0 ? toDate.add(1, 'week') : toDate.subtract(1, 'week')\n\t\t\t} else if (daysDiff === 1) {\n\t\t\t\t// Single day - shift by 1 day\n\t\t\t\tnewFromDate = dir > 0 ? fromDate.add(1, 'day') : fromDate.subtract(1, 'day')\n\t\t\t\tnewToDate = dir > 0 ? toDate.add(1, 'day') : toDate.subtract(1, 'day')\n\t\t\t} else {\n\t\t\t\t// Custom range - shift by the range duration\n\t\t\t\tnewFromDate = dir > 0 ? fromDate.add(daysDiff, 'day') : fromDate.subtract(daysDiff, 'day')\n\t\t\t\tnewToDate = dir > 0 ? toDate.add(daysDiff, 'day') : toDate.subtract(daysDiff, 'day')\n\t\t\t}\n\t\t}\n\n\t\t// Validate against min/max dates\n\t\tif (this.minDate) {\n\t\t\tconst minDate = dayjs(this.minDate)\n\t\t\tif (newFromDate.isBefore(minDate)) {\n\t\t\t\treturn // Don't shift if it would go before min date\n\t\t\t}\n\t\t}\n\n\t\tif (this.maxDate) {\n\t\t\tconst maxDate = dayjs(this.maxDate)\n\t\t\tif (newToDate.isAfter(maxDate)) {\n\t\t\t\treturn // Don't shift if it would go after max date\n\t\t\t}\n\t\t}\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\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\n\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\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<!-- Trigger using the preferred schmancy-grid pattern -->\n\t\t\t\t<section @click=${(event: Event) => event.stopPropagation()} class=\"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: Event) => 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}","import dayjs from 'dayjs'\r\nimport { PresetUnit } from './date-range-presets'\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('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('MMM D')}-${toDate.format('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('MMM D')} - ${toDate.format('MMM D, YYYY')}${toTime}`\r\n\t}\r\n\r\n\t// Different years\r\n\treturn `${fromDate.format('MMM D, YYYY')}${fromTime} - ${toDate.format('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/**\r\n * Calculate the appropriate shift unit and amount for a date range\r\n */\r\nexport function calculateShiftParams(\r\n\tfromDate: dayjs.Dayjs,\r\n\ttoDate: dayjs.Dayjs,\r\n\tactivePresetStep?: PresetUnit\r\n): { unit: PresetUnit; amount: number } {\r\n\tif (activePresetStep) {\r\n\t\treturn { unit: activePresetStep, amount: 1 }\r\n\t}\r\n\r\n\tconst rangeDurationInDays = toDate.diff(fromDate, 'day')\r\n\r\n\t// For very long ranges, use years\r\n\tif (rangeDurationInDays >= 360) {\r\n\t\treturn { unit: 'year', amount: Math.round(rangeDurationInDays / 365) }\r\n\t}\r\n\t// For long ranges, use quarters\r\n\telse if (rangeDurationInDays >= 90) {\r\n\t\treturn { unit: 'quarter', amount: Math.round(rangeDurationInDays / 90) }\r\n\t}\r\n\t// For medium-long ranges, use months\r\n\telse if (rangeDurationInDays >= 30) {\r\n\t\treturn { unit: 'month', amount: Math.round(rangeDurationInDays / 30) }\r\n\t}\r\n\t// For medium ranges, use weeks\r\n\telse if (rangeDurationInDays >= 7) {\r\n\t\treturn { unit: 'week', amount: Math.round(rangeDurationInDays / 7) }\r\n\t}\r\n\t// For shorter ranges, use days\r\n\telse {\r\n\t\treturn { unit: 'day', amount: rangeDurationInDays + 1 }\r\n\t}\r\n}\r\n\r\n/**\r\n * Helper method to safely add/subtract quarter values\r\n */\r\nexport function adjustQuarter(date: dayjs.Dayjs, amount: number, direction: 1 | -1): dayjs.Dayjs {\r\n\t// Get current quarter (1-4)\r\n\tconst currentQuarter = date.quarter()\r\n\r\n\t// Calculate new quarter\r\n\tlet newQuarter = currentQuarter + direction * amount\r\n\tlet yearAdjustment = 0\r\n\r\n\t// Handle year boundaries\r\n\twhile (newQuarter > 4) {\r\n\t\tnewQuarter -= 4\r\n\t\tyearAdjustment += 1\r\n\t}\r\n\r\n\twhile (newQuarter < 1) {\r\n\t\tnewQuarter += 4\r\n\t\tyearAdjustment -= 1\r\n\t}\r\n\r\n\t// Adjust year if needed\r\n\tconst adjustedDate = date.add(yearAdjustment, 'year')\r\n\r\n\t// Set to the start of the new quarter\r\n\tconst newDate = adjustedDate.month((newQuarter - 1) * 3)\r\n\r\n\t// Maintain the same day of month if possible\r\n\tconst daysInMonth = newDate.daysInMonth()\r\n\tconst targetDay = Math.min(date.date(), daysInMonth)\r\n\r\n\treturn newDate.date(targetDay)\r\n}"],"names":["t","e","n","r","i","s","u","a","o","c","f","h","d","l","$","y","M","name","weekdays","split","months","ordinal","m","String","length","Array","join","v","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","w","D","ms","Q","toLowerCase","replace","g","S","_","O","args","arguments","b","locale","$L","utc","$u","x","$x","$offset","this","parse","prototype","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","toString","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","format","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","k","forEach","extend","$i","isDayjs","en","Ls","quarter","bind","generateLastNDaysPresets","days","map","label","range","dateFrom","dayjs","dateTo","step","generateLastNWeeksPresets","weeks","generateLastNMonthsPresets","generateLastNQuartersPresets","quarters","enforceDateFormat","dateString","expectedFormat","parsedDate","validateInitialDateRange","formattedDateFrom","formattedDateTo","SchmancyDateRangeDialog","$LitElement","constructor","super","type","value","activePreset","presetCategories","input","target","dispatchEvent","CustomEvent","detail","bubbles","composed","preset","stopPropagation","$dialog","dismiss","fromDate","swapIfNeeded","message","render","html","ifDefined","minDate","maxDate","handleFromDateChange","handleToDateChange","applyManualDateSelection","category","presets","handlePresetSelection","__decorateClass","property","Object","customElement","quarterOfYear","SchmancyDateRange","customPresets","disabled","required","placeholder","clearable","isOpen","selectedDateRange","announceMessage","isMobile","presetRanges","memoizedPresets","Map","connectedCallback","initPresetRanges","checkMobileView","dateFormat","getDateFormat","validatedRange","updateSelectedDateRange","now","setupEventHandlers","fromEvent","document","pipe","takeUntil","disconnecting","subscribe","event","handleKeyboardNavigation","window","debounceTime","disconnectedCallback","changedProps","updated","has","cacheKey","JSON","stringify","cached","push","includeTime","categories","customCategory","find","checkAndUpdateActivePreset","fromValue","toValue","fromTime","toTime","announceToScreenReader","closeDropdown","openDropdown","dialogContent","setDateRange","component","title","width","hideActions","then","direction","dir","newFromDate","newToDate","daysDiff","rangeType","isFullMonth","isFullQuarter","isFullYear","isFullWeek","day","key","contains","shiftDateRange","preventDefault","ctrlKey","currentFrom","currentTo","monthStart","monthEnd","matchingPreset","innerWidth","timer","canNavigateBackward","toggleDropdown","canNavigateForward","Boolean","state"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const A=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const v=require("lit/decorators.js");require("./tailwind.mixin-Ge3p8F8Z.cjs");const oe=require("./litElement.mixin-1i17ImwN.cjs"),de=require("./_commonjsHelpers-k2hpEU-q.cjs"),j=require("lit"),Q=require("./dialog-service-Bdaxn2t0.cjs"),B=require("lit/directives/if-defined.js");var te,ae={exports:{}},me=(te||(te=1,ae.exports=function(){var t=1e3,a=6e4,e=36e5,i="millisecond",l="second",r="minute",u="hour",f="day",b="week",D="month",R="quarter",S="year",L="date",G="Invalid Date",ce=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,ue=/\[([^\]]+)]|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,he={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(h){var o=["th","st","nd","rd"],s=h%100;return"["+h+(o[(s-20)%10]||o[s]||o[0])+"]"}},J=function(h,o,s){var c=String(h);return!c||c.length>=o?h:""+Array(o+1-c.length).join(s)+h},le={s:J,z:function(h){var o=-h.utcOffset(),s=Math.abs(o),c=Math.floor(s/60),n=s%60;return(o<=0?"+":"-")+J(c,2,"0")+":"+J(n,2,"0")},m:function h(o,s){if(o.date()<s.date())return-h(s,o);var c=12*(s.year()-o.year())+(s.month()-o.month()),n=o.clone().add(c,D),m=s-n<0,p=o.clone().add(c+(m?-1:1),D);return+(-(c+(s-n)/(m?n-p:p-n))||0)},a:function(h){return h<0?Math.ceil(h)||0:Math.floor(h)},p:function(h){return{M:D,y:S,w:b,d:f,D:L,h:u,m:r,s:l,ms:i,Q:R}[h]||String(h||"").toLowerCase().replace(/s$/,"")},u:function(h){return h===void 0}},H="en",C={};C[H]=he;var X="$isDayjsObject",K=function(h){return h instanceof U||!(!h||!h[X])},W=function h(o,s,c){var n;if(!o)return H;if(typeof o=="string"){var m=o.toLowerCase();C[m]&&(n=m),s&&(C[m]=s,n=m);var p=o.split("-");if(!n&&p.length>1)return h(p[0])}else{var g=o.name;C[g]=o,n=g}return!c&&n&&(H=n),n||!c&&H},T=function(h,o){if(K(h))return h.clone();var s=typeof o=="object"?o:{};return s.date=h,s.args=arguments,new U(s)},y=le;y.l=W,y.i=K,y.w=function(h,o){return T(h,{locale:o.$L,utc:o.$u,x:o.$x,$offset:o.$offset})};var U=function(){function h(s){this.$L=W(s.locale,null,!0),this.parse(s),this.$x=this.$x||s.x||{},this[X]=!0}var o=h.prototype;return o.parse=function(s){this.$d=function(c){var n=c.date,m=c.utc;if(n===null)return new Date(NaN);if(y.u(n))return new Date;if(n instanceof Date)return new Date(n);if(typeof n=="string"&&!/Z$/i.test(n)){var p=n.match(ce);if(p){var g=p[2]-1||0,$=(p[7]||"0").substring(0,3);return m?new Date(Date.UTC(p[1],g,p[3]||1,p[4]||0,p[5]||0,p[6]||0,$)):new Date(p[1],g,p[3]||1,p[4]||0,p[5]||0,p[6]||0,$)}}return new Date(n)}(s),this.init()},o.init=function(){var s=this.$d;this.$y=s.getFullYear(),this.$M=s.getMonth(),this.$D=s.getDate(),this.$W=s.getDay(),this.$H=s.getHours(),this.$m=s.getMinutes(),this.$s=s.getSeconds(),this.$ms=s.getMilliseconds()},o.$utils=function(){return y},o.isValid=function(){return this.$d.toString()!==G},o.isSame=function(s,c){var n=T(s);return this.startOf(c)<=n&&n<=this.endOf(c)},o.isAfter=function(s,c){return T(s)<this.startOf(c)},o.isBefore=function(s,c){return this.endOf(c)<T(s)},o.$g=function(s,c,n){return y.u(s)?this[c]:this.set(n,s)},o.unix=function(){return Math.floor(this.valueOf()/1e3)},o.valueOf=function(){return this.$d.getTime()},o.startOf=function(s,c){var n=this,m=!!y.u(c)||c,p=y.p(s),g=function(E,O){var Y=y.w(n.$u?Date.UTC(n.$y,O,E):new Date(n.$y,O,E),n);return m?Y:Y.endOf(f)},$=function(E,O){return y.w(n.toDate()[E].apply(n.toDate("s"),(m?[0,0,0,0]:[23,59,59,999]).slice(O)),n)},F=this.$W,M=this.$M,k=this.$D,_="set"+(this.$u?"UTC":"");switch(p){case S:return m?g(1,0):g(31,11);case D:return m?g(1,M):g(0,M+1);case b:var q=this.$locale().weekStart||0,N=(F<q?F+7:F)-q;return g(m?k-N:k+(6-N),M);case f:case L:return $(_+"Hours",0);case u:return $(_+"Minutes",1);case r:return $(_+"Seconds",2);case l:return $(_+"Milliseconds",3);default:return this.clone()}},o.endOf=function(s){return this.startOf(s,!1)},o.$set=function(s,c){var n,m=y.p(s),p="set"+(this.$u?"UTC":""),g=(n={},n[f]=p+"Date",n[L]=p+"Date",n[D]=p+"Month",n[S]=p+"FullYear",n[u]=p+"Hours",n[r]=p+"Minutes",n[l]=p+"Seconds",n[i]=p+"Milliseconds",n)[m],$=m===f?this.$D+(c-this.$W):c;if(m===D||m===S){var F=this.clone().set(L,1);F.$d[g]($),F.init(),this.$d=F.set(L,Math.min(this.$D,F.daysInMonth())).$d}else g&&this.$d[g]($);return this.init(),this},o.set=function(s,c){return this.clone().$set(s,c)},o.get=function(s){return this[y.p(s)]()},o.add=function(s,c){var n,m=this;s=Number(s);var p=y.p(c),g=function(M){var k=T(m);return y.w(k.date(k.date()+Math.round(M*s)),m)};if(p===D)return this.set(D,this.$M+s);if(p===S)return this.set(S,this.$y+s);if(p===f)return g(1);if(p===b)return g(7);var $=(n={},n[r]=a,n[u]=e,n[l]=t,n)[p]||1,F=this.$d.getTime()+s*$;return y.w(F,this)},o.subtract=function(s,c){return this.add(-1*s,c)},o.format=function(s){var c=this,n=this.$locale();if(!this.isValid())return n.invalidDate||G;var m=s||"YYYY-MM-DDTHH:mm:ssZ",p=y.z(this),g=this.$H,$=this.$m,F=this.$M,M=n.weekdays,k=n.months,_=n.meridiem,q=function(O,Y,V,I){return O&&(O[Y]||O(c,m))||V[Y].slice(0,I)},N=function(O){return y.s(g%12||12,O,"0")},E=_||function(O,Y,V){var I=O<12?"AM":"PM";return V?I.toLowerCase():I};return m.replace(ue,function(O,Y){return Y||function(V){switch(V){case"YY":return String(c.$y).slice(-2);case"YYYY":return y.s(c.$y,4,"0");case"M":return F+1;case"MM":return y.s(F+1,2,"0");case"MMM":return q(n.monthsShort,F,k,3);case"MMMM":return q(k,F);case"D":return c.$D;case"DD":return y.s(c.$D,2,"0");case"d":return String(c.$W);case"dd":return q(n.weekdaysMin,c.$W,M,2);case"ddd":return q(n.weekdaysShort,c.$W,M,3);case"dddd":return M[c.$W];case"H":return String(g);case"HH":return y.s(g,2,"0");case"h":return N(1);case"hh":return N(2);case"a":return E(g,$,!0);case"A":return E(g,$,!1);case"m":return String($);case"mm":return y.s($,2,"0");case"s":return String(c.$s);case"ss":return y.s(c.$s,2,"0");case"SSS":return y.s(c.$ms,3,"0");case"Z":return p}return null}(O)||p.replace(":","")})},o.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},o.diff=function(s,c,n){var m,p=this,g=y.p(c),$=T(s),F=($.utcOffset()-this.utcOffset())*a,M=this-$,k=function(){return y.m(p,$)};switch(g){case S:m=k()/12;break;case D:m=k();break;case R:m=k()/3;break;case b:m=(M-F)/6048e5;break;case f:m=(M-F)/864e5;break;case u:m=M/e;break;case r:m=M/a;break;case l:m=M/t;break;default:m=M}return n?m:y.a(m)},o.daysInMonth=function(){return this.endOf(D).$D},o.$locale=function(){return C[this.$L]},o.locale=function(s,c){if(!s)return this.$L;var n=this.clone(),m=W(s,c,!0);return m&&(n.$L=m),n},o.clone=function(){return y.w(this.$d,this)},o.toDate=function(){return new Date(this.valueOf())},o.toJSON=function(){return this.isValid()?this.toISOString():null},o.toISOString=function(){return this.$d.toISOString()},o.toString=function(){return this.$d.toUTCString()},h}(),ee=U.prototype;return T.prototype=ee,[["$ms",i],["$s",l],["$m",r],["$H",u],["$W",f],["$M",D],["$y",S],["$D",L]].forEach(function(h){ee[h[1]]=function(o){return this.$g(o,h[0],h[1])}}),T.extend=function(h,o){return h.$i||(h(o,U,T),h.$i=!0),T},T.locale=W,T.isDayjs=K,T.unix=function(h){return T(1e3*h)},T.en=C[H],T.Ls=C,T.p={},T}()),ae.exports);const d=de.getDefaultExportFromCjs(me);var se,re={exports:{}},z,Z,pe=se?re.exports:(se=1,re.exports=(z="month",Z="quarter",function(t,a){var e=a.prototype;e.quarter=function(r){return this.$utils().u(r)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(r-1))};var i=e.add;e.add=function(r,u){return r=Number(r),this.$utils().p(u)===Z?this.add(3*r,z):i.bind(this)(r,u)};var l=e.startOf;e.startOf=function(r,u){var f=this.$utils(),b=!!f.u(u)||u;if(f.p(r)===Z){var D=this.quarter()-1;return b?this.month(3*D).startOf(z).startOf("day"):this.month(3*D+2).endOf(z).endOf("day")}return l.bind(this)(r,u)}}));const fe=de.getDefaultExportFromCjs(pe);function ye(t,a){return t.map(e=>({label:`Last ${e} Days`,range:{dateFrom:d().subtract(e-1,"days").startOf("day").format(a),dateTo:d().endOf("day").format(a)},step:"day"}))}function ge(t,a){return t.map(e=>({label:`Last ${e} Weeks`,range:{dateFrom:d().subtract(e,"weeks").startOf("week").format(a),dateTo:d().endOf("day").format(a)},step:"week"}))}function ve(t,a){return t.map(e=>({label:`Last ${e} Months`,range:{dateFrom:d().subtract(e,"months").startOf("month").format(a),dateTo:d().endOf("day").format(a)},step:"month"}))}function be(t,a){return t.map(e=>({label:`Last ${e} Quarters`,range:{dateFrom:d().subtract(e,"quarters").startOf("quarter").format(a),dateTo:d().endOf("day").format(a)},step:"quarter"}))}function ne(t,a){if(!t)return null;const e=d(t);return e.isValid()?e.format(a):null}function ie(t,a,e){const i=ne(t,e),l=ne(a,e);return{dateFrom:i,dateTo:l,isValid:i!==null&&l!==null}}var $e=Object.defineProperty,De=Object.getOwnPropertyDescriptor,P=(t,a,e,i)=>{for(var l,r=i>1?void 0:i?De(a,e):a,u=t.length-1;u>=0;u--)(l=t[u])&&(r=(i?l(a,e,r):l(r))||r);return i&&r&&$e(a,e,r),r};let x=class extends oe.$LitElement(){constructor(){super(...arguments),this.type="date",this.dateFrom={label:"From",value:""},this.dateTo={label:"To",value:""},this.activePreset=null,this.presetCategories=[]}handleFromDateChange(t){const a=t.target;this.dateFrom={...this.dateFrom,value:a.value},this.dateTo.value&&d(this.dateFrom.value).isAfter(d(this.dateTo.value))&&(this.dateTo={...this.dateTo,value:this.dateFrom.value}),this.dispatchEvent(new CustomEvent("date-change",{detail:{dateFrom:this.dateFrom.value,dateTo:this.dateTo.value},bubbles:!0,composed:!0}))}handleToDateChange(t){const a=t.target;this.dateTo={...this.dateTo,value:a.value},this.dispatchEvent(new CustomEvent("date-change",{detail:{dateFrom:this.dateFrom.value,dateTo:this.dateTo.value},bubbles:!0,composed:!0}))}handlePresetSelection(t,a){a.stopPropagation(),this.dispatchEvent(new CustomEvent("preset-select",{detail:{preset:t},bubbles:!0,composed:!0})),Q.$dialog.dismiss()}applyManualDateSelection(t){t.stopPropagation();const a=d(this.dateFrom.value),e=d(this.dateTo.value);a.isValid()&&e.isValid()?(this.dispatchEvent(new CustomEvent("apply-dates",{detail:{dateFrom:this.dateFrom.value,dateTo:this.dateTo.value,swapIfNeeded:a.isAfter(e)},bubbles:!0,composed:!0})),Q.$dialog.dismiss()):this.dispatchEvent(new CustomEvent("announce",{detail:{message:"Invalid date format. Please check your input."},bubbles:!0,composed:!0}))}render(){return j.html`
|
|
1
|
+
"use strict";const A=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const v=require("lit/decorators.js");require("./tailwind.mixin-2PdnHg0B.cjs");const oe=require("./litElement.mixin-DXaT0TQx.cjs"),de=require("./_commonjsHelpers-k2hpEU-q.cjs"),j=require("lit"),Q=require("./dialog-service-Bdaxn2t0.cjs"),B=require("lit/directives/if-defined.js");var te,ae={exports:{}},me=(te||(te=1,ae.exports=function(){var t=1e3,a=6e4,e=36e5,i="millisecond",l="second",r="minute",u="hour",f="day",b="week",D="month",R="quarter",S="year",L="date",G="Invalid Date",ce=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,ue=/\[([^\]]+)]|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,he={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(h){var o=["th","st","nd","rd"],s=h%100;return"["+h+(o[(s-20)%10]||o[s]||o[0])+"]"}},J=function(h,o,s){var c=String(h);return!c||c.length>=o?h:""+Array(o+1-c.length).join(s)+h},le={s:J,z:function(h){var o=-h.utcOffset(),s=Math.abs(o),c=Math.floor(s/60),n=s%60;return(o<=0?"+":"-")+J(c,2,"0")+":"+J(n,2,"0")},m:function h(o,s){if(o.date()<s.date())return-h(s,o);var c=12*(s.year()-o.year())+(s.month()-o.month()),n=o.clone().add(c,D),m=s-n<0,p=o.clone().add(c+(m?-1:1),D);return+(-(c+(s-n)/(m?n-p:p-n))||0)},a:function(h){return h<0?Math.ceil(h)||0:Math.floor(h)},p:function(h){return{M:D,y:S,w:b,d:f,D:L,h:u,m:r,s:l,ms:i,Q:R}[h]||String(h||"").toLowerCase().replace(/s$/,"")},u:function(h){return h===void 0}},H="en",C={};C[H]=he;var X="$isDayjsObject",K=function(h){return h instanceof U||!(!h||!h[X])},W=function h(o,s,c){var n;if(!o)return H;if(typeof o=="string"){var m=o.toLowerCase();C[m]&&(n=m),s&&(C[m]=s,n=m);var p=o.split("-");if(!n&&p.length>1)return h(p[0])}else{var g=o.name;C[g]=o,n=g}return!c&&n&&(H=n),n||!c&&H},T=function(h,o){if(K(h))return h.clone();var s=typeof o=="object"?o:{};return s.date=h,s.args=arguments,new U(s)},y=le;y.l=W,y.i=K,y.w=function(h,o){return T(h,{locale:o.$L,utc:o.$u,x:o.$x,$offset:o.$offset})};var U=function(){function h(s){this.$L=W(s.locale,null,!0),this.parse(s),this.$x=this.$x||s.x||{},this[X]=!0}var o=h.prototype;return o.parse=function(s){this.$d=function(c){var n=c.date,m=c.utc;if(n===null)return new Date(NaN);if(y.u(n))return new Date;if(n instanceof Date)return new Date(n);if(typeof n=="string"&&!/Z$/i.test(n)){var p=n.match(ce);if(p){var g=p[2]-1||0,$=(p[7]||"0").substring(0,3);return m?new Date(Date.UTC(p[1],g,p[3]||1,p[4]||0,p[5]||0,p[6]||0,$)):new Date(p[1],g,p[3]||1,p[4]||0,p[5]||0,p[6]||0,$)}}return new Date(n)}(s),this.init()},o.init=function(){var s=this.$d;this.$y=s.getFullYear(),this.$M=s.getMonth(),this.$D=s.getDate(),this.$W=s.getDay(),this.$H=s.getHours(),this.$m=s.getMinutes(),this.$s=s.getSeconds(),this.$ms=s.getMilliseconds()},o.$utils=function(){return y},o.isValid=function(){return this.$d.toString()!==G},o.isSame=function(s,c){var n=T(s);return this.startOf(c)<=n&&n<=this.endOf(c)},o.isAfter=function(s,c){return T(s)<this.startOf(c)},o.isBefore=function(s,c){return this.endOf(c)<T(s)},o.$g=function(s,c,n){return y.u(s)?this[c]:this.set(n,s)},o.unix=function(){return Math.floor(this.valueOf()/1e3)},o.valueOf=function(){return this.$d.getTime()},o.startOf=function(s,c){var n=this,m=!!y.u(c)||c,p=y.p(s),g=function(E,O){var Y=y.w(n.$u?Date.UTC(n.$y,O,E):new Date(n.$y,O,E),n);return m?Y:Y.endOf(f)},$=function(E,O){return y.w(n.toDate()[E].apply(n.toDate("s"),(m?[0,0,0,0]:[23,59,59,999]).slice(O)),n)},F=this.$W,M=this.$M,k=this.$D,_="set"+(this.$u?"UTC":"");switch(p){case S:return m?g(1,0):g(31,11);case D:return m?g(1,M):g(0,M+1);case b:var q=this.$locale().weekStart||0,N=(F<q?F+7:F)-q;return g(m?k-N:k+(6-N),M);case f:case L:return $(_+"Hours",0);case u:return $(_+"Minutes",1);case r:return $(_+"Seconds",2);case l:return $(_+"Milliseconds",3);default:return this.clone()}},o.endOf=function(s){return this.startOf(s,!1)},o.$set=function(s,c){var n,m=y.p(s),p="set"+(this.$u?"UTC":""),g=(n={},n[f]=p+"Date",n[L]=p+"Date",n[D]=p+"Month",n[S]=p+"FullYear",n[u]=p+"Hours",n[r]=p+"Minutes",n[l]=p+"Seconds",n[i]=p+"Milliseconds",n)[m],$=m===f?this.$D+(c-this.$W):c;if(m===D||m===S){var F=this.clone().set(L,1);F.$d[g]($),F.init(),this.$d=F.set(L,Math.min(this.$D,F.daysInMonth())).$d}else g&&this.$d[g]($);return this.init(),this},o.set=function(s,c){return this.clone().$set(s,c)},o.get=function(s){return this[y.p(s)]()},o.add=function(s,c){var n,m=this;s=Number(s);var p=y.p(c),g=function(M){var k=T(m);return y.w(k.date(k.date()+Math.round(M*s)),m)};if(p===D)return this.set(D,this.$M+s);if(p===S)return this.set(S,this.$y+s);if(p===f)return g(1);if(p===b)return g(7);var $=(n={},n[r]=a,n[u]=e,n[l]=t,n)[p]||1,F=this.$d.getTime()+s*$;return y.w(F,this)},o.subtract=function(s,c){return this.add(-1*s,c)},o.format=function(s){var c=this,n=this.$locale();if(!this.isValid())return n.invalidDate||G;var m=s||"YYYY-MM-DDTHH:mm:ssZ",p=y.z(this),g=this.$H,$=this.$m,F=this.$M,M=n.weekdays,k=n.months,_=n.meridiem,q=function(O,Y,V,I){return O&&(O[Y]||O(c,m))||V[Y].slice(0,I)},N=function(O){return y.s(g%12||12,O,"0")},E=_||function(O,Y,V){var I=O<12?"AM":"PM";return V?I.toLowerCase():I};return m.replace(ue,function(O,Y){return Y||function(V){switch(V){case"YY":return String(c.$y).slice(-2);case"YYYY":return y.s(c.$y,4,"0");case"M":return F+1;case"MM":return y.s(F+1,2,"0");case"MMM":return q(n.monthsShort,F,k,3);case"MMMM":return q(k,F);case"D":return c.$D;case"DD":return y.s(c.$D,2,"0");case"d":return String(c.$W);case"dd":return q(n.weekdaysMin,c.$W,M,2);case"ddd":return q(n.weekdaysShort,c.$W,M,3);case"dddd":return M[c.$W];case"H":return String(g);case"HH":return y.s(g,2,"0");case"h":return N(1);case"hh":return N(2);case"a":return E(g,$,!0);case"A":return E(g,$,!1);case"m":return String($);case"mm":return y.s($,2,"0");case"s":return String(c.$s);case"ss":return y.s(c.$s,2,"0");case"SSS":return y.s(c.$ms,3,"0");case"Z":return p}return null}(O)||p.replace(":","")})},o.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},o.diff=function(s,c,n){var m,p=this,g=y.p(c),$=T(s),F=($.utcOffset()-this.utcOffset())*a,M=this-$,k=function(){return y.m(p,$)};switch(g){case S:m=k()/12;break;case D:m=k();break;case R:m=k()/3;break;case b:m=(M-F)/6048e5;break;case f:m=(M-F)/864e5;break;case u:m=M/e;break;case r:m=M/a;break;case l:m=M/t;break;default:m=M}return n?m:y.a(m)},o.daysInMonth=function(){return this.endOf(D).$D},o.$locale=function(){return C[this.$L]},o.locale=function(s,c){if(!s)return this.$L;var n=this.clone(),m=W(s,c,!0);return m&&(n.$L=m),n},o.clone=function(){return y.w(this.$d,this)},o.toDate=function(){return new Date(this.valueOf())},o.toJSON=function(){return this.isValid()?this.toISOString():null},o.toISOString=function(){return this.$d.toISOString()},o.toString=function(){return this.$d.toUTCString()},h}(),ee=U.prototype;return T.prototype=ee,[["$ms",i],["$s",l],["$m",r],["$H",u],["$W",f],["$M",D],["$y",S],["$D",L]].forEach(function(h){ee[h[1]]=function(o){return this.$g(o,h[0],h[1])}}),T.extend=function(h,o){return h.$i||(h(o,U,T),h.$i=!0),T},T.locale=W,T.isDayjs=K,T.unix=function(h){return T(1e3*h)},T.en=C[H],T.Ls=C,T.p={},T}()),ae.exports);const d=de.getDefaultExportFromCjs(me);var se,re={exports:{}},z,Z,pe=se?re.exports:(se=1,re.exports=(z="month",Z="quarter",function(t,a){var e=a.prototype;e.quarter=function(r){return this.$utils().u(r)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(r-1))};var i=e.add;e.add=function(r,u){return r=Number(r),this.$utils().p(u)===Z?this.add(3*r,z):i.bind(this)(r,u)};var l=e.startOf;e.startOf=function(r,u){var f=this.$utils(),b=!!f.u(u)||u;if(f.p(r)===Z){var D=this.quarter()-1;return b?this.month(3*D).startOf(z).startOf("day"):this.month(3*D+2).endOf(z).endOf("day")}return l.bind(this)(r,u)}}));const fe=de.getDefaultExportFromCjs(pe);function ye(t,a){return t.map(e=>({label:`Last ${e} Days`,range:{dateFrom:d().subtract(e-1,"days").startOf("day").format(a),dateTo:d().endOf("day").format(a)},step:"day"}))}function ge(t,a){return t.map(e=>({label:`Last ${e} Weeks`,range:{dateFrom:d().subtract(e,"weeks").startOf("week").format(a),dateTo:d().endOf("day").format(a)},step:"week"}))}function ve(t,a){return t.map(e=>({label:`Last ${e} Months`,range:{dateFrom:d().subtract(e,"months").startOf("month").format(a),dateTo:d().endOf("day").format(a)},step:"month"}))}function be(t,a){return t.map(e=>({label:`Last ${e} Quarters`,range:{dateFrom:d().subtract(e,"quarters").startOf("quarter").format(a),dateTo:d().endOf("day").format(a)},step:"quarter"}))}function ne(t,a){if(!t)return null;const e=d(t);return e.isValid()?e.format(a):null}function ie(t,a,e){const i=ne(t,e),l=ne(a,e);return{dateFrom:i,dateTo:l,isValid:i!==null&&l!==null}}var $e=Object.defineProperty,De=Object.getOwnPropertyDescriptor,P=(t,a,e,i)=>{for(var l,r=i>1?void 0:i?De(a,e):a,u=t.length-1;u>=0;u--)(l=t[u])&&(r=(i?l(a,e,r):l(r))||r);return i&&r&&$e(a,e,r),r};let x=class extends oe.$LitElement(){constructor(){super(...arguments),this.type="date",this.dateFrom={label:"From",value:""},this.dateTo={label:"To",value:""},this.activePreset=null,this.presetCategories=[]}handleFromDateChange(t){const a=t.target;this.dateFrom={...this.dateFrom,value:a.value},this.dateTo.value&&d(this.dateFrom.value).isAfter(d(this.dateTo.value))&&(this.dateTo={...this.dateTo,value:this.dateFrom.value}),this.dispatchEvent(new CustomEvent("date-change",{detail:{dateFrom:this.dateFrom.value,dateTo:this.dateTo.value},bubbles:!0,composed:!0}))}handleToDateChange(t){const a=t.target;this.dateTo={...this.dateTo,value:a.value},this.dispatchEvent(new CustomEvent("date-change",{detail:{dateFrom:this.dateFrom.value,dateTo:this.dateTo.value},bubbles:!0,composed:!0}))}handlePresetSelection(t,a){a.stopPropagation(),this.dispatchEvent(new CustomEvent("preset-select",{detail:{preset:t},bubbles:!0,composed:!0})),Q.$dialog.dismiss()}applyManualDateSelection(t){t.stopPropagation();const a=d(this.dateFrom.value),e=d(this.dateTo.value);a.isValid()&&e.isValid()?(this.dispatchEvent(new CustomEvent("apply-dates",{detail:{dateFrom:this.dateFrom.value,dateTo:this.dateTo.value,swapIfNeeded:a.isAfter(e)},bubbles:!0,composed:!0})),Q.$dialog.dismiss()):this.dispatchEvent(new CustomEvent("announce",{detail:{message:"Invalid date format. Please check your input."},bubbles:!0,composed:!0}))}render(){return j.html`
|
|
2
2
|
<div class="w-full min-h-[400px] max-h-[80vh] flex flex-col p-4">
|
|
3
3
|
<!-- Custom Range Section with Inline Calendars -->
|
|
4
4
|
<schmancy-surface type="container" class="rounded-xl p-4 mb-6">
|
|
@@ -131,4 +131,4 @@
|
|
|
131
131
|
</section>
|
|
132
132
|
</div>
|
|
133
133
|
`}},w([v.property({type:String})],exports.SchmancyDateRange.prototype,"type",2),w([v.property({type:Object})],exports.SchmancyDateRange.prototype,"dateFrom",2),w([v.property({type:Object})],exports.SchmancyDateRange.prototype,"dateTo",2),w([v.property({type:String})],exports.SchmancyDateRange.prototype,"minDate",2),w([v.property({type:String})],exports.SchmancyDateRange.prototype,"maxDate",2),w([v.property({type:Array})],exports.SchmancyDateRange.prototype,"customPresets",2),w([v.property({type:String})],exports.SchmancyDateRange.prototype,"format",2),w([v.property({type:Boolean})],exports.SchmancyDateRange.prototype,"disabled",2),w([v.property({type:Boolean})],exports.SchmancyDateRange.prototype,"required",2),w([v.property({type:String})],exports.SchmancyDateRange.prototype,"placeholder",2),w([v.property({type:Boolean})],exports.SchmancyDateRange.prototype,"clearable",2),w([v.property()],exports.SchmancyDateRange.prototype,"step",2),w([v.state()],exports.SchmancyDateRange.prototype,"isOpen",2),w([v.state()],exports.SchmancyDateRange.prototype,"selectedDateRange",2),w([v.state()],exports.SchmancyDateRange.prototype,"activePreset",2),w([v.state()],exports.SchmancyDateRange.prototype,"announceMessage",2),w([v.state()],exports.SchmancyDateRange.prototype,"isMobile",2),exports.SchmancyDateRange=w([v.customElement("schmancy-date-range")],exports.SchmancyDateRange),exports.validateInitialDateRange=ie;
|
|
134
|
-
//# sourceMappingURL=date-range-
|
|
134
|
+
//# sourceMappingURL=date-range-B1PGOR7h.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-range-B1PGOR7h.cjs","sources":["../../../node_modules/dayjs/dayjs.min.js","../../../node_modules/dayjs/plugin/quarterOfYear.js","../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","../src/date-range/date-range-helpers.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\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 { $dialog } from '../dialog/dialog-service'\nimport { DateRangePreset, PresetCategory } from './date-range-presets'\n\n/**\n * Dialog content component for date range selection\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\tprivate handleFromDateChange(e: Event) {\n\t\tconst input = e.target as HTMLInputElement\n\t\tthis.dateFrom = { ...this.dateFrom, value: input.value }\n\t\t\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\t\t\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\t\t\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\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<!-- Custom Range Section with Inline Calendars -->\n\t\t\t\t<schmancy-surface type=\"container\" class=\"rounded-xl p-4 mb-6\">\n\t\t\t\t\t<div class=\"flex flex-col gap-4\">\n\t\t\t\t\t\t<div class=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n\t\t\t\t\t\t\t<!-- From Date Calendar -->\n\t\t\t\t\t\t\t<div class=\"flex flex-col gap-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${this.dateFrom.label || 'From'}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\t\t.value=\"${this.dateFrom.value}\"\n\t\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.minDate)}\"\n\t\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t\t@change=\"${this.handleFromDateChange}\"\n\t\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<!-- To Date Calendar -->\n\t\t\t\t\t\t\t<div class=\"flex flex-col gap-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${this.dateTo.label || 'To'}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\t\t.value=\"${this.dateTo.value}\"\n\t\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.dateFrom.value)}\"\n\t\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t\t@change=\"${this.handleToDateChange}\"\n\t\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<!-- Apply Button - Now at the bottom for logical flow -->\n\t\t\t\t\t\t<div class=\"flex justify-end mt-2\">\n\t\t\t\t\t\t\t<schmancy-button \n\t\t\t\t\t\t\t\tvariant=\"filled\" \n\t\t\t\t\t\t\t\t@click=\"${(e: Event) => this.applyManualDateSelection(e)}\"\n\t\t\t\t\t\t\t\t?disabled=\"${!this.dateFrom.value || !this.dateTo.value}\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tApply\n\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</schmancy-surface>\n\n\t\t\t\t<!-- Presets Section -->\n\t\t\t\t<div class=\"flex-1 overflow-y-auto overflow-x-hidden min-h-0\">\n\t\t\t\t\t<div class=\"grid grid-cols-2 md:grid-cols-5 gap-6\">\n\t\t\t\t\t\t${this.presetCategories.map(\n\t\t\t\t\t\t\tcategory => html`\n\t\t\t\t\t\t\t\t<div class=\"space-y-3\">\n\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"title\" token=\"md\" class=\"text-surface-onVariant font-medium\">\n\t\t\t\t\t\t\t\t\t\t${category.name}\n\t\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t\t<div class=\"space-y-1\">\n\t\t\t\t\t\t\t\t\t\t${category.presets.map(\n\t\t\t\t\t\t\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"${this.activePreset === preset.label ? 'filled' : 'text'}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"w-full justify-start text-left\"\n\t\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\t\taria-pressed=\"${this.activePreset === preset.label}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\taria-label=\"${preset.label}: ${preset.range.dateFrom} to ${preset.range.dateTo}\"\n\t\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\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"truncate\">${preset.label}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}","import { $LitElement } from '@mixins/index'\nimport dayjs from 'dayjs'\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear'\nimport { html, PropertyValues } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { debounceTime, fromEvent, takeUntil, timer } from 'rxjs'\nimport { $dialog } from '../dialog/dialog-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\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\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\tdisconnectedCallback(): void {\n\t\tsuper.disconnectedCallback()\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\n\n\n\tprivate toggleDropdown(e: Event) {\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()\n\t\t}\n\t}\n\n\tprivate openDropdown() {\n\t\tif (this.disabled || this.step !== undefined) return\n\t\t\n\t\tthis.isOpen = true\n\t\t\n\t\t// Create dialog with the new component\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}}\"\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}}\"\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\t\t\n\t\t// Use the dialog service - it will automatically find the nearest schmancy-theme\n\t\t$dialog.component(dialogContent, {\n\t\t\ttitle: 'Select Date Range',\n\t\t\twidth: this.isMobile ? '100vw' : '800px',\n\t\t\thideActions: true\n\t\t}).then(() => {\n\t\t\tthis.isOpen = false\n\t\t})\n\t}\n\n\tprivate closeDropdown() {\n\t\t$dialog.dismiss()\n\t\tthis.isOpen = false\n\t}\n\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\n\t\tlet newFromDate: dayjs.Dayjs\n\t\tlet newToDate: dayjs.Dayjs\n\n\t\t// If step is explicitly provided, use it\n\t\tif (this.step !== undefined) {\n\t\t\tif (typeof this.step === 'number') {\n\t\t\t\t// Numeric step means shift by that many days\n\t\t\t\tnewFromDate = dir > 0 ? fromDate.add(this.step, 'day') : fromDate.subtract(this.step, 'day')\n\t\t\t\tnewToDate = dir > 0 ? toDate.add(this.step, 'day') : toDate.subtract(this.step, 'day')\n\t\t\t} else {\n\t\t\t\t// String step means shift by the specified unit\n\t\t\t\tswitch (this.step) {\n\t\t\t\t\tcase 'day': {\n\t\t\t\t\t\tconst daysDiff = toDate.diff(fromDate, 'day') + 1\n\t\t\t\t\t\tnewFromDate = dir > 0 ? fromDate.add(daysDiff, 'day') : fromDate.subtract(daysDiff, 'day')\n\t\t\t\t\t\tnewToDate = dir > 0 ? toDate.add(daysDiff, 'day') : toDate.subtract(daysDiff, 'day')\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase 'week': {\n\t\t\t\t\t\tnewFromDate = dir > 0 ? fromDate.add(1, 'week') : fromDate.subtract(1, 'week')\n\t\t\t\t\t\tnewToDate = dir > 0 ? toDate.add(1, 'week') : toDate.subtract(1, 'week')\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase 'month': {\n\t\t\t\t\t\tnewFromDate = dir > 0 ? fromDate.add(1, 'month') : fromDate.subtract(1, 'month')\n\t\t\t\t\t\tnewToDate = dir > 0 ? toDate.add(1, 'month') : toDate.subtract(1, 'month')\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tcase 'year': {\n\t\t\t\t\t\tnewFromDate = dir > 0 ? fromDate.add(1, 'year') : fromDate.subtract(1, 'year')\n\t\t\t\t\t\tnewToDate = dir > 0 ? toDate.add(1, 'year') : toDate.subtract(1, 'year')\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Auto-detect the appropriate step based on the date range\n\t\t\tconst rangeType = detectDateRangeType(fromDate, toDate)\n\t\t\tconst daysDiff = toDate.diff(fromDate, 'day') + 1\n\n\t\t\tif (rangeType.isFullYear) {\n\t\t\t\t// Full year range - shift by year\n\t\t\t\tnewFromDate = dir > 0 ? fromDate.add(1, 'year') : fromDate.subtract(1, 'year')\n\t\t\t\tnewToDate = dir > 0 ? toDate.add(1, 'year') : toDate.subtract(1, 'year')\n\t\t\t} else if (rangeType.isFullMonth) {\n\t\t\t\t// Full month range - shift by month\n\t\t\t\tnewFromDate = dir > 0 ? fromDate.add(1, 'month') : fromDate.subtract(1, 'month')\n\t\t\t\tnewToDate = dir > 0 ? toDate.add(1, 'month') : toDate.subtract(1, 'month')\n\t\t\t} else if (rangeType.isFullWeek) {\n\t\t\t\t// Full week range - shift by week\n\t\t\t\tnewFromDate = dir > 0 ? fromDate.add(1, 'week') : fromDate.subtract(1, 'week')\n\t\t\t\tnewToDate = dir > 0 ? toDate.add(1, 'week') : toDate.subtract(1, 'week')\n\t\t\t} else if (daysDiff === 1) {\n\t\t\t\t// Single day - shift by 1 day\n\t\t\t\tnewFromDate = dir > 0 ? fromDate.add(1, 'day') : fromDate.subtract(1, 'day')\n\t\t\t\tnewToDate = dir > 0 ? toDate.add(1, 'day') : toDate.subtract(1, 'day')\n\t\t\t} else {\n\t\t\t\t// Custom range - shift by the range duration\n\t\t\t\tnewFromDate = dir > 0 ? fromDate.add(daysDiff, 'day') : fromDate.subtract(daysDiff, 'day')\n\t\t\t\tnewToDate = dir > 0 ? toDate.add(daysDiff, 'day') : toDate.subtract(daysDiff, 'day')\n\t\t\t}\n\t\t}\n\n\t\t// Validate against min/max dates\n\t\tif (this.minDate) {\n\t\t\tconst minDate = dayjs(this.minDate)\n\t\t\tif (newFromDate.isBefore(minDate)) {\n\t\t\t\treturn // Don't shift if it would go before min date\n\t\t\t}\n\t\t}\n\n\t\tif (this.maxDate) {\n\t\t\tconst maxDate = dayjs(this.maxDate)\n\t\t\tif (newToDate.isAfter(maxDate)) {\n\t\t\t\treturn // Don't shift if it would go after max date\n\t\t\t}\n\t\t}\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\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\n\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\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<!-- Trigger using the preferred schmancy-grid pattern -->\n\t\t\t\t<section @click=${(event: Event) => event.stopPropagation()} class=\"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: Event) => 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}","import dayjs from 'dayjs'\r\nimport { PresetUnit } from './date-range-presets'\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('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('MMM D')}-${toDate.format('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('MMM D')} - ${toDate.format('MMM D, YYYY')}${toTime}`\r\n\t}\r\n\r\n\t// Different years\r\n\treturn `${fromDate.format('MMM D, YYYY')}${fromTime} - ${toDate.format('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/**\r\n * Calculate the appropriate shift unit and amount for a date range\r\n */\r\nexport function calculateShiftParams(\r\n\tfromDate: dayjs.Dayjs,\r\n\ttoDate: dayjs.Dayjs,\r\n\tactivePresetStep?: PresetUnit\r\n): { unit: PresetUnit; amount: number } {\r\n\tif (activePresetStep) {\r\n\t\treturn { unit: activePresetStep, amount: 1 }\r\n\t}\r\n\r\n\tconst rangeDurationInDays = toDate.diff(fromDate, 'day')\r\n\r\n\t// For very long ranges, use years\r\n\tif (rangeDurationInDays >= 360) {\r\n\t\treturn { unit: 'year', amount: Math.round(rangeDurationInDays / 365) }\r\n\t}\r\n\t// For long ranges, use quarters\r\n\telse if (rangeDurationInDays >= 90) {\r\n\t\treturn { unit: 'quarter', amount: Math.round(rangeDurationInDays / 90) }\r\n\t}\r\n\t// For medium-long ranges, use months\r\n\telse if (rangeDurationInDays >= 30) {\r\n\t\treturn { unit: 'month', amount: Math.round(rangeDurationInDays / 30) }\r\n\t}\r\n\t// For medium ranges, use weeks\r\n\telse if (rangeDurationInDays >= 7) {\r\n\t\treturn { unit: 'week', amount: Math.round(rangeDurationInDays / 7) }\r\n\t}\r\n\t// For shorter ranges, use days\r\n\telse {\r\n\t\treturn { unit: 'day', amount: rangeDurationInDays + 1 }\r\n\t}\r\n}\r\n\r\n/**\r\n * Helper method to safely add/subtract quarter values\r\n */\r\nexport function adjustQuarter(date: dayjs.Dayjs, amount: number, direction: 1 | -1): dayjs.Dayjs {\r\n\t// Get current quarter (1-4)\r\n\tconst currentQuarter = date.quarter()\r\n\r\n\t// Calculate new quarter\r\n\tlet newQuarter = currentQuarter + direction * amount\r\n\tlet yearAdjustment = 0\r\n\r\n\t// Handle year boundaries\r\n\twhile (newQuarter > 4) {\r\n\t\tnewQuarter -= 4\r\n\t\tyearAdjustment += 1\r\n\t}\r\n\r\n\twhile (newQuarter < 1) {\r\n\t\tnewQuarter += 4\r\n\t\tyearAdjustment -= 1\r\n\t}\r\n\r\n\t// Adjust year if needed\r\n\tconst adjustedDate = date.add(yearAdjustment, 'year')\r\n\r\n\t// Set to the start of the new quarter\r\n\tconst newDate = adjustedDate.month((newQuarter - 1) * 3)\r\n\r\n\t// Maintain the same day of month if possible\r\n\tconst daysInMonth = newDate.daysInMonth()\r\n\tconst targetDay = Math.min(date.date(), daysInMonth)\r\n\r\n\treturn newDate.date(targetDay)\r\n}"],"names":["t","e","n","r","i","s","u","a","o","c","f","h","d","l","$","y","M","name","weekdays","split","months","ordinal","m","String","length","Array","join","v","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","w","D","ms","Q","toLowerCase","replace","g","S","_","O","args","arguments","b","locale","$L","utc","$u","x","$x","$offset","this","parse","prototype","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","toString","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","format","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","k","forEach","extend","$i","isDayjs","en","Ls","quarter","bind","generateLastNDaysPresets","days","map","label","range","dateFrom","dayjs","dateTo","step","generateLastNWeeksPresets","weeks","generateLastNMonthsPresets","generateLastNQuartersPresets","quarters","enforceDateFormat","dateString","expectedFormat","parsedDate","validateInitialDateRange","formattedDateFrom","formattedDateTo","SchmancyDateRangeDialog","$LitElement","constructor","super","type","value","activePreset","presetCategories","input","target","dispatchEvent","CustomEvent","detail","bubbles","composed","preset","stopPropagation","$dialog","dismiss","fromDate","swapIfNeeded","message","render","html","ifDefined","minDate","maxDate","handleFromDateChange","handleToDateChange","applyManualDateSelection","category","presets","handlePresetSelection","__decorateClass","property","Object","customElement","quarterOfYear","SchmancyDateRange","customPresets","disabled","required","placeholder","clearable","isOpen","selectedDateRange","announceMessage","isMobile","presetRanges","memoizedPresets","Map","connectedCallback","initPresetRanges","checkMobileView","dateFormat","getDateFormat","validatedRange","updateSelectedDateRange","now","setupEventHandlers","fromEvent","document","pipe","takeUntil","disconnecting","subscribe","event","handleKeyboardNavigation","window","debounceTime","disconnectedCallback","changedProps","updated","has","cacheKey","JSON","stringify","cached","push","includeTime","categories","customCategory","find","checkAndUpdateActivePreset","fromValue","toValue","fromTime","toTime","announceToScreenReader","closeDropdown","openDropdown","dialogContent","setDateRange","component","title","width","hideActions","then","direction","dir","newFromDate","newToDate","daysDiff","rangeType","isFullMonth","isFullQuarter","isFullYear","isFullWeek","day","key","contains","shiftDateRange","preventDefault","ctrlKey","currentFrom","currentTo","monthStart","monthEnd","matchingPreset","innerWidth","canNavigateBackward","canNavigateForward","timer","toggleDropdown","Boolean","state"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -4,8 +4,8 @@ import "rxjs";
|
|
|
4
4
|
import "rxjs/operators";
|
|
5
5
|
import "lit/directives/class-map.js";
|
|
6
6
|
import "lit/directives/style-map.js";
|
|
7
|
-
import { S as p } from "./formField.mixin-
|
|
8
|
-
import "./tailwind.mixin-
|
|
7
|
+
import { S as p } from "./formField.mixin-Ds2S1kRc.js";
|
|
8
|
+
import "./tailwind.mixin-BgdEBNZM.js";
|
|
9
9
|
var u = Object.defineProperty, c = Object.getOwnPropertyDescriptor, h = (a, t, i, r) => {
|
|
10
10
|
for (var s, d = r > 1 ? void 0 : r ? c(t, i) : t, e = a.length - 1; e >= 0; e--) (s = a[e]) && (d = (r ? s(t, i, d) : s(d)) || d);
|
|
11
11
|
return r && d && u(t, i, d), d;
|
|
@@ -194,4 +194,4 @@ h([n({ type: String })], o.prototype, "type", 2), h([n({ type: Object })], o.pro
|
|
|
194
194
|
export {
|
|
195
195
|
o as S
|
|
196
196
|
};
|
|
197
|
-
//# sourceMappingURL=date-range-inline-
|
|
197
|
+
//# sourceMappingURL=date-range-inline-D90CpK7z.js.map
|