@mhmo91/schmancy 0.8.3 → 0.8.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{animated-text-Bc3qyXjp.cjs → animated-text-B3DQRJBy.cjs} +2 -2
- package/dist/{animated-text-Bc3qyXjp.cjs.map → animated-text-B3DQRJBy.cjs.map} +1 -1
- package/dist/{animated-text-CNx6Pmlo.js → animated-text-BAj4-6hE.js} +3 -3
- package/dist/{animated-text-CNx6Pmlo.js.map → animated-text-BAj4-6hE.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-7mWxekxE.js → area.component-CP4DZ0d8.js} +3 -3
- package/dist/{area.component-7mWxekxE.js.map → area.component-CP4DZ0d8.js.map} +1 -1
- package/dist/{area.component-CS_gSutH.cjs → area.component-ChxSLt16.cjs} +2 -2
- package/dist/{area.component-CS_gSutH.cjs.map → area.component-ChxSLt16.cjs.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-y-IyzH4r.cjs → autocomplete-CAaVSg4g.cjs} +2 -2
- package/dist/{autocomplete-y-IyzH4r.cjs.map → autocomplete-CAaVSg4g.cjs.map} +1 -1
- package/dist/{autocomplete-Ci4jo3Ur.js → autocomplete-CGbACUYd.js} +4 -4
- package/dist/{autocomplete-Ci4jo3Ur.js.map → autocomplete-CGbACUYd.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-DBfJucB9.cjs → avatar-nWOZXEsW.cjs} +3 -3
- package/dist/avatar-nWOZXEsW.cjs.map +1 -0
- package/dist/{avatar-BdyuuIk7.js → avatar-rLCF6MSI.js} +58 -58
- package/dist/avatar-rLCF6MSI.js.map +1 -0
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-CowHieO2.js → boat-Ckt9v__d.js} +3 -3
- package/dist/{boat-CowHieO2.js.map → boat-Ckt9v__d.js.map} +1 -1
- package/dist/{boat-DkNUc1UO.cjs → boat-yNAZ2LLB.cjs} +2 -2
- package/dist/{boat-DkNUc1UO.cjs.map → boat-yNAZ2LLB.cjs.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/charts.cjs +1 -1
- package/dist/charts.js +1 -1
- package/dist/{checkbox-BvWcABPr.cjs → checkbox-BnAlpsJN.cjs} +2 -2
- package/dist/{checkbox-BvWcABPr.cjs.map → checkbox-BnAlpsJN.cjs.map} +1 -1
- package/dist/{checkbox-BY4Sn8F2.js → checkbox-D22yfGe3.js} +2 -2
- package/dist/{checkbox-BY4Sn8F2.js.map → checkbox-D22yfGe3.js.map} +1 -1
- 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-CYjmAxfs.js → code-preview-DPlQayFd.js} +2 -2
- package/dist/{code-preview-CYjmAxfs.js.map → code-preview-DPlQayFd.js.map} +1 -1
- package/dist/{code-preview-BIFIJigy.cjs → code-preview-jPnX60FF.cjs} +2 -2
- package/dist/{code-preview-BIFIJigy.cjs.map → code-preview-jPnX60FF.cjs.map} +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-BdIqI7LC.js → date-range-GFm5NG33.js} +4 -4
- package/dist/{date-range-BdIqI7LC.js.map → date-range-GFm5NG33.js.map} +1 -1
- package/dist/{date-range-inline-Df8u6Ecy.cjs → date-range-inline-CgX2o0FP.cjs} +2 -2
- package/dist/{date-range-inline-Df8u6Ecy.cjs.map → date-range-inline-CgX2o0FP.cjs.map} +1 -1
- package/dist/{date-range-inline-Cnhs9atd.js → date-range-inline-DTQLESAZ.js} +3 -3
- package/dist/{date-range-inline-Cnhs9atd.js.map → date-range-inline-DTQLESAZ.js.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/{date-range-B80Ummtv.cjs → date-range-ug3B9CFT.cjs} +2 -2
- package/dist/{date-range-B80Ummtv.cjs.map → date-range-ug3B9CFT.cjs.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-BWsVHQib.cjs → delay-CWtBL0VD.cjs} +2 -2
- package/dist/{delay-BWsVHQib.cjs.map → delay-CWtBL0VD.cjs.map} +1 -1
- package/dist/{delay-CCa9nN4A.js → delay-DEe1CmHc.js} +2 -2
- package/dist/{delay-CCa9nN4A.js.map → delay-DEe1CmHc.js.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-Bee5ya0L.js → details-D-LXW23W.js} +2 -2
- package/dist/{details-Bee5ya0L.js.map → details-D-LXW23W.js.map} +1 -1
- package/dist/{details-oaVHXU7U.cjs → details-DVke77dU.cjs} +2 -2
- package/dist/{details-oaVHXU7U.cjs.map → details-DVke77dU.cjs.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/{dialog.component-BriB-kFi.cjs → dialog.component-BM0D-hK9.cjs} +2 -2
- package/dist/{dialog.component-BriB-kFi.cjs.map → dialog.component-BM0D-hK9.cjs.map} +1 -1
- package/dist/{dialog.component-CMUoCC7O.js → dialog.component-a7FlKhGD.js} +3 -3
- package/dist/{dialog.component-CMUoCC7O.js.map → dialog.component-a7FlKhGD.js.map} +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-B7DBbYFI.js → divider-CzTpxOqt.js} +3 -3
- package/dist/{divider-B7DBbYFI.js.map → divider-CzTpxOqt.js.map} +1 -1
- package/dist/{divider-Dl4TToQZ.cjs → divider-D8KStUhN.cjs} +2 -2
- package/dist/{divider-Dl4TToQZ.cjs.map → divider-D8KStUhN.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-C2W7OttQ.cjs → dropdown-content-CngZN3vv.cjs} +2 -2
- package/dist/{dropdown-content-C2W7OttQ.cjs.map → dropdown-content-CngZN3vv.cjs.map} +1 -1
- package/dist/{dropdown-content-DzhOtilY.js → dropdown-content-DCn-g0-f.js} +3 -3
- package/dist/{dropdown-content-DzhOtilY.js.map → dropdown-content-DCn-g0-f.js.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-Bh5VC0rc.cjs → email-recipients-BhntMZMf.cjs} +2 -2
- package/dist/{email-recipients-Bh5VC0rc.cjs.map → email-recipients-BhntMZMf.cjs.map} +1 -1
- package/dist/{email-recipients-BWqZKo3m.js → email-recipients-BzjAKNJ0.js} +6 -6
- package/dist/{email-recipients-BWqZKo3m.js.map → email-recipients-BzjAKNJ0.js.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-53G-PJx7.js → flex-5dR48zie.js} +2 -2
- package/dist/{flex-53G-PJx7.js.map → flex-5dR48zie.js.map} +1 -1
- package/dist/{flex-DFSIy0t4.cjs → flex-oHl2EfYB.cjs} +2 -2
- package/dist/{flex-DFSIy0t4.cjs.map → flex-oHl2EfYB.cjs.map} +1 -1
- package/dist/{form-Zq7g2JS8.cjs → form-BlPiAPt7.cjs} +2 -2
- package/dist/{form-Zq7g2JS8.cjs.map → form-BlPiAPt7.cjs.map} +1 -1
- package/dist/{form-BtRK9bnp.js → form-BxVM6JTn.js} +2 -2
- package/dist/{form-BtRK9bnp.js.map → form-BxVM6JTn.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-2jSL7WF_.js → formField.mixin-BCGA7Ea3.js} +2 -2
- package/dist/{formField.mixin-2jSL7WF_.js.map → formField.mixin-BCGA7Ea3.js.map} +1 -1
- package/dist/{formField.mixin-DkN2ufR_.cjs → formField.mixin-BfJMifU9.cjs} +2 -2
- package/dist/{formField.mixin-DkN2ufR_.cjs.map → formField.mixin-BfJMifU9.cjs.map} +1 -1
- package/dist/{icon-pU_cfmpD.cjs → icon-DHEXr3c-.cjs} +2 -2
- package/dist/{icon-pU_cfmpD.cjs.map → icon-DHEXr3c-.cjs.map} +1 -1
- package/dist/{icon-B5qeYrDu.js → icon-DYpLoegR.js} +2 -2
- package/dist/{icon-B5qeYrDu.js.map → icon-DYpLoegR.js.map} +1 -1
- package/dist/{icon-button-HSYaQBNF.js → icon-button-CmZBLHWC.js} +3 -3
- package/dist/{icon-button-HSYaQBNF.js.map → icon-button-CmZBLHWC.js.map} +1 -1
- package/dist/{icon-button-BpmGFjaR.cjs → icon-button-IbSX8C98.cjs} +2 -2
- package/dist/{icon-button-BpmGFjaR.cjs.map → icon-button-IbSX8C98.cjs.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +56 -56
- package/dist/{input-8G9YY9qv.cjs → input-BByjYlgl.cjs} +2 -2
- package/dist/{input-8G9YY9qv.cjs.map → input-BByjYlgl.cjs.map} +1 -1
- package/dist/{input-BJMF5Fyk.js → input-D0cQ9DOY.js} +3 -3
- package/dist/{input-BJMF5Fyk.js.map → input-D0cQ9DOY.js.map} +1 -1
- package/dist/{input-chip-tbrw56ix.js → input-chip-B5ErXgCB.js} +2 -2
- package/dist/{input-chip-tbrw56ix.js.map → input-chip-B5ErXgCB.js.map} +1 -1
- package/dist/{input-chip-CocdqTzr.cjs → input-chip-DkWaTciP.cjs} +2 -2
- package/dist/{input-chip-CocdqTzr.cjs.map → input-chip-DkWaTciP.cjs.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/{json-DPnyOA3K.cjs → json-BZVe74np.cjs} +2 -2
- package/dist/{json-DPnyOA3K.cjs.map → json-BZVe74np.cjs.map} +1 -1
- package/dist/{json-CvcloKQv.js → json-PKewOWuJ.js} +3 -3
- package/dist/{json-CvcloKQv.js.map → json-PKewOWuJ.js.map} +1 -1
- package/dist/json.cjs +1 -1
- package/dist/json.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +2 -2
- package/dist/{lightbox-service-3mHqBKEh.cjs → lightbox-service-D-0JtxB1.cjs} +2 -2
- package/dist/lightbox-service-D-0JtxB1.cjs.map +1 -0
- package/dist/{lightbox-service-DxbYZAuv.js → lightbox-service-DZMnb1eU.js} +3 -3
- package/dist/lightbox-service-DZMnb1eU.js.map +1 -0
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/{list-JjR7WOrd.cjs → list-B_2m7l3g.cjs} +6 -6
- package/dist/list-B_2m7l3g.cjs.map +1 -0
- package/dist/{list-FWXmY-eQ.js → list-CW56LV-v.js} +13 -13
- package/dist/list-CW56LV-v.js.map +1 -0
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-BVBdv0GP.cjs → litElement.mixin-CrpeGpZ7.cjs} +2 -2
- package/dist/{litElement.mixin-BVBdv0GP.cjs.map → litElement.mixin-CrpeGpZ7.cjs.map} +1 -1
- package/dist/{litElement.mixin-Wcu4yIIs.js → litElement.mixin-DHZXtvYq.js} +2 -2
- package/dist/{litElement.mixin-Wcu4yIIs.js.map → litElement.mixin-DHZXtvYq.js.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-Br6xJFxG.js → map-2Hl60a0A.js} +6 -6
- package/dist/{map-Br6xJFxG.js.map → map-2Hl60a0A.js.map} +1 -1
- package/dist/{map-D9R3OCne.cjs → map-DyPS9G7M.cjs} +3 -3
- package/dist/{map-D9R3OCne.cjs.map → map-DyPS9G7M.cjs.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-DibPwAjJ.cjs → media-CS8HpKnK.cjs} +2 -2
- package/dist/{media-DibPwAjJ.cjs.map → media-CS8HpKnK.cjs.map} +1 -1
- package/dist/{media-BV_1DfcW.js → media-DtWbcRxL.js} +2 -2
- package/dist/{media-BV_1DfcW.js.map → media-DtWbcRxL.js.map} +1 -1
- package/dist/{menu-HKqlq99V.js → menu-Caju5-zd.js} +3 -3
- package/dist/{menu-HKqlq99V.js.map → menu-Caju5-zd.js.map} +1 -1
- package/dist/{menu-vNrV-Nuq.cjs → menu-rX5RPAI2.cjs} +2 -2
- package/dist/{menu-vNrV-Nuq.cjs.map → menu-rX5RPAI2.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins.cjs +1 -1
- package/dist/mixins.js +3 -3
- 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-DKXumnmt.js → navigation-rail-Ctketq5a.js} +32 -25
- package/dist/navigation-rail-Ctketq5a.js.map +1 -0
- package/dist/{navigation-rail-D1o3qDe_.cjs → navigation-rail-DC9_oSIM.cjs} +12 -12
- package/dist/navigation-rail-DC9_oSIM.cjs.map +1 -0
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-service-B5ljba4P.js → notification-service-CUlfXqmj.js} +3 -3
- package/dist/{notification-service-B5ljba4P.js.map → notification-service-CUlfXqmj.js.map} +1 -1
- package/dist/{notification-service-ICRT05L0.cjs → notification-service-DknbpqTt.cjs} +2 -2
- package/dist/{notification-service-ICRT05L0.cjs.map → notification-service-DknbpqTt.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-B9CpO1Ru.js → notify-DJSOWTxv.js} +2 -2
- package/dist/{notify-B9CpO1Ru.js.map → notify-DJSOWTxv.js.map} +1 -1
- package/dist/{notify-NX-dl60E.cjs → notify-DickIEHW.cjs} +2 -2
- package/dist/{notify-NX-dl60E.cjs.map → notify-DickIEHW.cjs.map} +1 -1
- package/dist/{option-B4JKMrLg.js → option-Bng41-rY.js} +2 -2
- package/dist/{option-B4JKMrLg.js.map → option-Bng41-rY.js.map} +1 -1
- package/dist/{option-epyXLWoY.cjs → option-DYT5Rkgy.cjs} +2 -2
- package/dist/{option-epyXLWoY.cjs.map → option-DYT5Rkgy.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{page-Bmi1QHtq.cjs → page-BLn9gtSd.cjs} +2 -2
- package/dist/{page-Bmi1QHtq.cjs.map → page-BLn9gtSd.cjs.map} +1 -1
- package/dist/{page-BpygEntU.js → page-D-ROcQDd.js} +4 -4
- package/dist/{page-BpygEntU.js.map → page-D-ROcQDd.js.map} +1 -1
- package/dist/page.cjs +1 -1
- package/dist/page.js +1 -1
- package/dist/{payment-card-form-3kAXDbXf.cjs → payment-card-form-5UtfWzoW.cjs} +2 -2
- package/dist/{payment-card-form-3kAXDbXf.cjs.map → payment-card-form-5UtfWzoW.cjs.map} +1 -1
- package/dist/{payment-card-form-BxkHuSls.js → payment-card-form-BJa4RgF2.js} +3 -3
- package/dist/{payment-card-form-BxkHuSls.js.map → payment-card-form-BJa4RgF2.js.map} +1 -1
- package/dist/{pills-C3fIvfn8.js → pills-BS5rZ6C3.js} +3 -3
- package/dist/{pills-C3fIvfn8.js.map → pills-BS5rZ6C3.js.map} +1 -1
- package/dist/{pills-MmHyBGQu.cjs → pills-Blf7IAeq.cjs} +2 -2
- package/dist/{pills-MmHyBGQu.cjs.map → pills-Blf7IAeq.cjs.map} +1 -1
- package/dist/{progress-qx8jtrOA.cjs → progress-DlhYniW_.cjs} +5 -5
- package/dist/progress-DlhYniW_.cjs.map +1 -0
- package/dist/{progress-0POmJs5o.js → progress-yTIX6EqC.js} +10 -13
- package/dist/progress-yTIX6EqC.js.map +1 -0
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{qr-scanner-DQq-WLyo.cjs → qr-scanner-DOs7uNS_.cjs} +2 -2
- package/dist/{qr-scanner-DQq-WLyo.cjs.map → qr-scanner-DOs7uNS_.cjs.map} +1 -1
- package/dist/{qr-scanner-jwOSrD0N.js → qr-scanner-DjZ8mgHV.js} +2 -2
- package/dist/{qr-scanner-jwOSrD0N.js.map → qr-scanner-DjZ8mgHV.js.map} +1 -1
- package/dist/qr-scanner.cjs +1 -1
- package/dist/qr-scanner.js +1 -1
- package/dist/{radio-button-DraEYR2R.cjs → radio-button-N_PrrxKB.cjs} +2 -2
- package/dist/{radio-button-DraEYR2R.cjs.map → radio-button-N_PrrxKB.cjs.map} +1 -1
- package/dist/{radio-button-B0EUK_wg.js → radio-button-me3SRHGu.js} +3 -3
- package/dist/{radio-button-B0EUK_wg.js.map → radio-button-me3SRHGu.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-C2StAA5K.js → schmancy-steps-container-J6P-NNNj.js} +2 -2
- package/dist/{schmancy-steps-container-C2StAA5K.js.map → schmancy-steps-container-J6P-NNNj.js.map} +1 -1
- package/dist/{schmancy-steps-container-B5aiqgMA.cjs → schmancy-steps-container-T57BKMzi.cjs} +2 -2
- package/dist/{schmancy-steps-container-B5aiqgMA.cjs.map → schmancy-steps-container-T57BKMzi.cjs.map} +1 -1
- package/dist/{scroll-Bu-vAg3d.js → scroll-C_gfUgjn.js} +2 -2
- package/dist/{scroll-Bu-vAg3d.js.map → scroll-C_gfUgjn.js.map} +1 -1
- package/dist/{scroll-BqT7bvhu.cjs → scroll-CecsowP7.cjs} +2 -2
- package/dist/{scroll-BqT7bvhu.cjs.map → scroll-CecsowP7.cjs.map} +1 -1
- package/dist/{select-i-uKur-W.js → select-BBA0gBHf.js} +3 -3
- package/dist/{select-i-uKur-W.js.map → select-BBA0gBHf.js.map} +1 -1
- package/dist/{select-HiEGJvOX.cjs → select-D9oCjv7N.cjs} +2 -2
- package/dist/{select-HiEGJvOX.cjs.map → select-D9oCjv7N.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-BbrRW0S5.cjs → sheet-0oUfBmXX.cjs} +2 -2
- package/dist/{sheet-BbrRW0S5.cjs.map → sheet-0oUfBmXX.cjs.map} +1 -1
- package/dist/{sheet-B1g7E4dQ.js → sheet-CNcDT3VP.js} +5 -5
- package/dist/{sheet-B1g7E4dQ.js.map → sheet-CNcDT3VP.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/{sheet.service-4etIM-p6.js → sheet.service-2MobB-9z.js} +2 -2
- package/dist/{sheet.service-4etIM-p6.js.map → sheet.service-2MobB-9z.js.map} +1 -1
- package/dist/{sheet.service-BiRZjCdN.cjs → sheet.service-su_7yDQ-.cjs} +2 -2
- package/dist/{sheet.service-BiRZjCdN.cjs.map → sheet.service-su_7yDQ-.cjs.map} +1 -1
- package/dist/{slider-VYnbIRH2.cjs → slider-CV-Ehp_5.cjs} +2 -2
- package/dist/{slider-VYnbIRH2.cjs.map → slider-CV-Ehp_5.cjs.map} +1 -1
- package/dist/{slider-8E3Wad0t.js → slider-CkE-iFUy.js} +3 -3
- package/dist/{slider-8E3Wad0t.js.map → slider-CkE-iFUy.js.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-DJgcI5wr.cjs → spinner-Bfn8KC-9.cjs} +2 -2
- package/dist/{spinner-DJgcI5wr.cjs.map → spinner-Bfn8KC-9.cjs.map} +1 -1
- package/dist/{spinner-CKm13CKN.js → spinner-DiMbWXp9.js} +2 -2
- package/dist/{spinner-CKm13CKN.js.map → spinner-DiMbWXp9.js.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{suggestion-chip-6njXvvHm.js → suggestion-chip-CEDqUNoS.js} +3 -3
- package/dist/{suggestion-chip-6njXvvHm.js.map → suggestion-chip-CEDqUNoS.js.map} +1 -1
- package/dist/{suggestion-chip-DdLfqk7o.cjs → suggestion-chip-HhsLtZXR.cjs} +2 -2
- package/dist/{suggestion-chip-DdLfqk7o.cjs.map → suggestion-chip-HhsLtZXR.cjs.map} +1 -1
- package/dist/{surface-DcqbWGub.cjs → surface-CW3H23Va.cjs} +2 -2
- package/dist/{surface-DcqbWGub.cjs.map → surface-CW3H23Va.cjs.map} +1 -1
- package/dist/{surface-BYU3l_Q2.js → surface-eBfnSwQS.js} +2 -2
- package/dist/{surface-BYU3l_Q2.js.map → surface-eBfnSwQS.js.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-C9fzDjjk.cjs → table-D0tiSL_u.cjs} +2 -2
- package/dist/{table-C9fzDjjk.cjs.map → table-D0tiSL_u.cjs.map} +1 -1
- package/dist/{table-Dq12ollZ.js → table-Dmo4TvTx.js} +2 -2
- package/dist/{table-Dq12ollZ.js.map → table-Dmo4TvTx.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-wnzlHtln.js → tabs-compatibility-Bit6y6en.js} +2 -2
- package/dist/{tabs-compatibility-wnzlHtln.js.map → tabs-compatibility-Bit6y6en.js.map} +1 -1
- package/dist/{tabs-compatibility-Dwtjfkcf.cjs → tabs-compatibility-Vq_2-ekz.cjs} +2 -2
- package/dist/{tabs-compatibility-Dwtjfkcf.cjs.map → tabs-compatibility-Vq_2-ekz.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/{tailwind.mixin-Ddt05Frc.js → tailwind.mixin-Bp_PR6yc.js} +2 -2
- package/dist/{tailwind.mixin-Ddt05Frc.js.map → tailwind.mixin-Bp_PR6yc.js.map} +1 -1
- package/dist/{tailwind.mixin-UijsBrYW.cjs → tailwind.mixin-Cp4PyXok.cjs} +2 -2
- package/dist/{tailwind.mixin-UijsBrYW.cjs.map → tailwind.mixin-Cp4PyXok.cjs.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-Vd3zayJZ.js → textarea-B1d1QCqT.js} +2 -2
- package/dist/{textarea-Vd3zayJZ.js.map → textarea-B1d1QCqT.js.map} +1 -1
- package/dist/{textarea-DGmsw1B_.cjs → textarea-DG8CHhZA.cjs} +2 -2
- package/dist/{textarea-DGmsw1B_.cjs.map → textarea-DG8CHhZA.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-DG_Xwg9H.cjs → theme-button-CPL6Eaqd.cjs} +2 -2
- package/dist/{theme-button-DG_Xwg9H.cjs.map → theme-button-CPL6Eaqd.cjs.map} +1 -1
- package/dist/{theme-button-rGpEW_xS.js → theme-button-CrLuMQNe.js} +2 -2
- package/dist/{theme-button-rGpEW_xS.js.map → theme-button-CrLuMQNe.js.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/{theme-controller-boat-pLzK5zxL.cjs → theme-controller-boat-CXbNJSI3.cjs} +2 -2
- package/dist/{theme-controller-boat-pLzK5zxL.cjs.map → theme-controller-boat-CXbNJSI3.cjs.map} +1 -1
- package/dist/{theme-controller-boat-B1fjcqJI.js → theme-controller-boat-CzSmjyKq.js} +3 -3
- package/dist/{theme-controller-boat-B1fjcqJI.js.map → theme-controller-boat-CzSmjyKq.js.map} +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-IQkwr6Oh.js → timezone-4vwX0BgA.js} +3 -3
- package/dist/{timezone-IQkwr6Oh.js.map → timezone-4vwX0BgA.js.map} +1 -1
- package/dist/{timezone-BhUaIAV7.cjs → timezone-BxvQcqe1.cjs} +2 -2
- package/dist/{timezone-BhUaIAV7.cjs.map → timezone-BxvQcqe1.cjs.map} +1 -1
- package/dist/{tooltip-CwaiZC8f.js → tooltip-CjdvBf4X.js} +2 -2
- package/dist/{tooltip-CwaiZC8f.js.map → tooltip-CjdvBf4X.js.map} +1 -1
- package/dist/{tooltip-iEvxKg8g.cjs → tooltip-ZtnGjoJd.cjs} +2 -2
- package/dist/{tooltip-iEvxKg8g.cjs.map → tooltip-ZtnGjoJd.cjs.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-D9EbEsxn.js → tree-CBEjV7jP.js} +2 -2
- package/dist/{tree-D9EbEsxn.js.map → tree-CBEjV7jP.js.map} +1 -1
- package/dist/{tree-Bclu6uvv.cjs → tree-DP5U00NA.cjs} +2 -2
- package/dist/{tree-Bclu6uvv.cjs.map → tree-DP5U00NA.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-Bscwd-36.cjs → typewriter-C6kFjLcX.cjs} +2 -2
- package/dist/{typewriter-Bscwd-36.cjs.map → typewriter-C6kFjLcX.cjs.map} +1 -1
- package/dist/{typewriter-BjDPgRlj.js → typewriter-Eo5qXoGC.js} +4 -4
- package/dist/{typewriter-BjDPgRlj.js.map → typewriter-Eo5qXoGC.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-CConBBFH.js → typography-C_1gdM2I.js} +2 -2
- package/dist/{typography-CConBBFH.js.map → typography-C_1gdM2I.js.map} +1 -1
- package/dist/{typography-DLGT3DGz.cjs → typography-DGyjlLCE.cjs} +2 -2
- package/dist/{typography-DLGT3DGz.cjs.map → typography-DGyjlLCE.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/navigation-rail/navigation-rail.d.ts +2 -0
- package/types/src/progress/progress.d.ts +1 -1
- package/dist/avatar-BdyuuIk7.js.map +0 -1
- package/dist/avatar-DBfJucB9.cjs.map +0 -1
- package/dist/lightbox-service-3mHqBKEh.cjs.map +0 -1
- package/dist/lightbox-service-DxbYZAuv.js.map +0 -1
- package/dist/list-FWXmY-eQ.js.map +0 -1
- package/dist/list-JjR7WOrd.cjs.map +0 -1
- package/dist/navigation-rail-D1o3qDe_.cjs.map +0 -1
- package/dist/navigation-rail-DKXumnmt.js.map +0 -1
- package/dist/progress-0POmJs5o.js.map +0 -1
- package/dist/progress-qx8jtrOA.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-B80Ummtv.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 { repeat } from 'lit/directives/repeat.js'\nimport { $dialog } from '../dialog/dialog-service'\nimport { DateRangePreset, PresetCategory } from './date-range-presets'\n\ninterface PresetGroup {\n\tname: string\n\tpresets: DateRangePreset[]\n}\n\n/**\n * Dialog content component for date range selection\n *\n * Redesigned with chip-based horizontal flow layout:\n * - Quick Select: Today, Yesterday, This Week, This Month\n * - Days: Last 7/14/30/60/90 Days\n * - Periods: Last Week, Last Month, Last Quarter, Last Year\n * - Year to Date: This Week, This Month, This Quarter, This Year, YTD\n * - Custom Range: Manual date inputs at the bottom\n *\n * @element schmancy-date-range-dialog\n */\n@customElement('schmancy-date-range-dialog')\nexport class SchmancyDateRangeDialog extends $LitElement() {\n\t@property({ type: String }) type: 'date' | 'datetime-local' = 'date'\n\t@property({ type: Object }) dateFrom: { label: string; value: string } = { label: 'From', value: '' }\n\t@property({ type: Object }) dateTo: { label: string; value: string } = { label: 'To', value: '' }\n\t@property({ type: String }) minDate?: string\n\t@property({ type: String }) maxDate?: string\n\t@property({ type: String }) activePreset: string | null = null\n\t@property({ type: Array }) presetCategories: PresetCategory[] = []\n\n\t/**\n\t * Reorganizes presets into the new grouped layout\n\t */\n\tprivate getPresetGroups(): PresetGroup[] {\n\t\tconst allPresets = this.presetCategories.flatMap(c => c.presets)\n\n\t\t// Quick Select: Today, Yesterday, This Week, This Month\n\t\tconst quickSelectLabels = ['Today', 'Yesterday', 'This Week', 'This Month']\n\t\tconst quickSelect = quickSelectLabels\n\t\t\t.map(label => allPresets.find(p => p.label === label))\n\t\t\t.filter((p): p is DateRangePreset => p !== undefined)\n\n\t\t// Days: Last 7/14/30/60/90 Days\n\t\tconst daysLabels = ['Last 7 Days', 'Last 14 Days', 'Last 30 Days', 'Last 60 Days', 'Last 90 Days']\n\t\tconst days = daysLabels\n\t\t\t.map(label => allPresets.find(p => p.label === label))\n\t\t\t.filter((p): p is DateRangePreset => p !== undefined)\n\n\t\t// Periods: Last Week, Last Month, Last Quarter, Last Year\n\t\tconst periodsLabels = ['Last Week', 'Last Month', 'Last Quarter', 'Last Year']\n\t\tconst periods = periodsLabels\n\t\t\t.map(label => allPresets.find(p => p.label === label))\n\t\t\t.filter((p): p is DateRangePreset => p !== undefined)\n\n\t\t// Year to Date: This Week, This Month, This Quarter, This Year, YTD\n\t\tconst ytdLabels = ['This Week', 'This Month', 'This Quarter', 'This Year', 'Year to Date']\n\t\tconst yearToDate = ytdLabels\n\t\t\t.map(label => allPresets.find(p => p.label === label))\n\t\t\t.filter((p): p is DateRangePreset => p !== undefined)\n\n\t\tconst groups: PresetGroup[] = []\n\n\t\tif (quickSelect.length > 0) {\n\t\t\tgroups.push({ name: 'Quick Select', presets: quickSelect })\n\t\t}\n\t\tif (days.length > 0) {\n\t\t\tgroups.push({ name: 'Days', presets: days })\n\t\t}\n\t\tif (periods.length > 0) {\n\t\t\tgroups.push({ name: 'Periods', presets: periods })\n\t\t}\n\t\tif (yearToDate.length > 0) {\n\t\t\tgroups.push({ name: 'Year to Date', presets: yearToDate })\n\t\t}\n\n\t\treturn groups\n\t}\n\n\tprivate handleFromDateChange(e: Event) {\n\t\tconst input = e.target as HTMLInputElement\n\t\tthis.dateFrom = { ...this.dateFrom, value: input.value }\n\n\t\t// If the new start date is after the current end date, adjust the end date\n\t\tif (this.dateTo.value && dayjs(this.dateFrom.value).isAfter(dayjs(this.dateTo.value))) {\n\t\t\tthis.dateTo = { ...this.dateTo, value: this.dateFrom.value }\n\t\t}\n\n\t\tthis.dispatchEvent(new CustomEvent('date-change', {\n\t\t\tdetail: { dateFrom: this.dateFrom.value, dateTo: this.dateTo.value },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t}\n\n\tprivate handleToDateChange(e: Event) {\n\t\tconst input = e.target as HTMLInputElement\n\t\tthis.dateTo = { ...this.dateTo, value: input.value }\n\n\t\tthis.dispatchEvent(new CustomEvent('date-change', {\n\t\t\tdetail: { dateFrom: this.dateFrom.value, dateTo: this.dateTo.value },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t}\n\n\tprivate handlePresetSelection(preset: DateRangePreset, e: Event) {\n\t\te.stopPropagation()\n\t\tthis.dispatchEvent(new CustomEvent('preset-select', {\n\t\t\tdetail: { preset },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t\t$dialog.dismiss()\n\t}\n\n\tprivate applyManualDateSelection(e: Event) {\n\t\te.stopPropagation()\n\t\t// Validate dates before applying\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst toDate = dayjs(this.dateTo.value)\n\n\t\tif (!fromDate.isValid() || !toDate.isValid()) {\n\t\t\tthis.dispatchEvent(new CustomEvent('announce', {\n\t\t\t\tdetail: { message: 'Invalid date format. Please check your input.' },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true\n\t\t\t}))\n\t\t\treturn\n\t\t}\n\n\t\tthis.dispatchEvent(new CustomEvent('apply-dates', {\n\t\t\tdetail: {\n\t\t\t\tdateFrom: this.dateFrom.value,\n\t\t\t\tdateTo: this.dateTo.value,\n\t\t\t\tswapIfNeeded: fromDate.isAfter(toDate)\n\t\t\t},\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\n\t\t$dialog.dismiss()\n\t}\n\n\trender() {\n\t\tconst presetGroups = this.getPresetGroups()\n\n\t\treturn html`\n\t\t\t<div class=\"w-full min-h-[400px] max-h-[80vh] flex flex-col p-4\">\n\t\t\t\t<!-- Preset Groups Section -->\n\t\t\t\t<div class=\"flex-1 overflow-y-auto overflow-x-hidden min-h-0 space-y-4\">\n\t\t\t\t\t${repeat(\n\t\t\t\t\t\tpresetGroups,\n\t\t\t\t\t\tgroup => group.name,\n\t\t\t\t\t\tgroup => html`\n\t\t\t\t\t\t\t<div class=\"space-y-2\">\n\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"md\" class=\"text-surface-onVariant\">\n\t\t\t\t\t\t\t\t\t${group.name}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<div class=\"flex flex-wrap gap-2\">\n\t\t\t\t\t\t\t\t\t${repeat(\n\t\t\t\t\t\t\t\t\t\tgroup.presets,\n\t\t\t\t\t\t\t\t\t\tpreset => preset.label,\n\t\t\t\t\t\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-filter-chip\n\t\t\t\t\t\t\t\t\t\t\t\t.value=${preset.label}\n\t\t\t\t\t\t\t\t\t\t\t\t.selected=${this.activePreset === preset.label}\n\t\t\t\t\t\t\t\t\t\t\t\t@click=${(e: Event) => this.handlePresetSelection(preset, e)}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"${preset.range.dateFrom} to ${preset.range.dateTo}\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t${preset.label}\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-filter-chip>\n\t\t\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Divider -->\n\t\t\t\t<schmancy-divider class=\"my-4\"></schmancy-divider>\n\n\t\t\t\t<!-- Custom Range Section -->\n\t\t\t\t<div class=\"space-y-2\">\n\t\t\t\t\t<div class=\"flex items-end gap-3 flex-wrap\">\n\t\t\t\t\t\t<div class=\"flex-1 min-w-[140px]\">\n\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t.type=\"${this.type}\"\n\t\t\t\t\t\t\t\t.label=\"${this.dateFrom.label || 'From'}\"\n\t\t\t\t\t\t\t\t.value=\"${this.dateFrom.value}\"\n\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.minDate)}\"\n\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t@change=\"${this.handleFromDateChange}\"\n\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"flex-1 min-w-[140px]\">\n\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t.type=\"${this.type}\"\n\t\t\t\t\t\t\t\t.label=\"${this.dateTo.label || 'To'}\"\n\t\t\t\t\t\t\t\t.value=\"${this.dateTo.value}\"\n\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.dateFrom.value)}\"\n\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t@change=\"${this.handleToDateChange}\"\n\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\tvariant=\"filled\"\n\t\t\t\t\t\t\t@click=\"${(e: Event) => this.applyManualDateSelection(e)}\"\n\t\t\t\t\t\t\t?disabled=\"${!this.dateFrom.value || !this.dateTo.value}\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tApply\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-date-range-dialog': SchmancyDateRangeDialog\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport dayjs from 'dayjs'\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear'\nimport { html, PropertyValues, render } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { debounceTime, fromEvent, takeUntil, timer } from 'rxjs'\nimport { $dialog } from '../dialog/dialog-service'\nimport { sheet } from '../sheet/sheet.service'\nimport { detectDateRangeType, formatDateRange } from './date-range-helpers'\nimport { DateRangePreset, generatePresetCategories, PresetCategory } from './date-range-presets'\nimport { validateInitialDateRange } from './date-utils'\nimport './date-range-dialog'\n\n// Add quarter plugin to dayjs\ndayjs.extend(quarterOfYear)\n\nexport type SchmancyDateRangeChangeEvent = CustomEvent<{\n\tdateFrom: string\n\tdateTo: string\n}>\n\n/**\n * A date range selector that supports presets and manual date input.\n *\n * @element schmancy-date-range\n * @fires change - Fired when the date range changes with dateFrom and dateTo values\n */\n@customElement('schmancy-date-range')\nexport class SchmancyDateRange extends $LitElement() {\n\t// Core properties\n\t@property({ type: String }) type: 'date' | 'datetime-local' = 'date'\n\t@property({ type: Object }) dateFrom: { label: string; value: string } = { label: 'From', value: '' }\n\t@property({ type: Object }) dateTo: { label: string; value: string } = { label: 'To', value: '' }\n\t@property({ type: String }) minDate?: string\n\t@property({ type: String }) maxDate?: string\n\n\t// Enhanced functionality\n\t@property({ type: Array }) customPresets: Array<{\n\t\tlabel: string\n\t\tdateFrom: string\n\t\tdateTo: string\n\t}> = []\n\t@property({ type: String }) format?: string\n\t@property({ type: Boolean }) disabled = false\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = 'Select date range'\n\t@property({ type: Boolean }) clearable = true\n\t@property() step?: 'day' | 'week' | 'month' | 'year' | number\n\n\t// Internal states\n\t@state() private isOpen = false\n\t@state() private selectedDateRange: string = ''\n\t@state() private activePreset: string | null = null\n\t@state() private announceMessage: string = ''\n\t@state() private isMobile = false\n\n\t// Default presets\n\tprivate presetRanges: DateRangePreset[] = []\n\n\t// Categorized presets\n\tprivate presetCategories: PresetCategory[] = []\n\n\t// Memoization cache\n\tprivate memoizedPresets = new Map<string, PresetCategory[]>()\n\n\tdisconnectedCallback(): void {\n\t\tsuper.disconnectedCallback()\n\t\t// Reset open state when element is moved/removed to prevent stale state\n\t\tthis.isOpen = false\n\t}\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\n\t\tthis.checkMobileView()\n\n\t\t// Validate initial date range\n\t\tconst dateFormat = this.getDateFormat() as 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\t\tconst validatedRange = validateInitialDateRange(this.dateFrom.value, this.dateTo.value, dateFormat)\n\n\t\tif (validatedRange.isValid) {\n\t\t\tthis.dateFrom.value = validatedRange.dateFrom!\n\t\t\tthis.dateTo.value = validatedRange.dateTo!\n\t\t\tthis.updateSelectedDateRange()\n\t\t} else {\n\t\t\tconst now = dayjs().format(dateFormat)\n\t\t\tthis.dateFrom.value = now\n\t\t\tthis.dateTo.value = now\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\n\t\t// Set up global event handlers using RxJS\n\t\tthis.setupEventHandlers()\n\t}\n\n\tprivate setupEventHandlers() {\n\t\t// Handle keyboard navigation\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(event => {\n\t\t\t\tthis.handleKeyboardNavigation(event)\n\t\t\t})\n\n\t\t// Handle window resize with debouncing\n\t\tfromEvent(window, 'resize')\n\t\t\t.pipe(\n\t\t\t\tdebounceTime(150),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.checkMobileView()\n\t\t\t})\n\t}\n\n\tupdated(changedProps: PropertyValues) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (\n\t\t\t(changedProps.has('dateFrom') || changedProps.has('dateTo')) &&\n\t\t\t(this.dateFrom?.value !== undefined || this.dateTo?.value !== undefined)\n\t\t) {\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\t}\n\n\tprivate initPresetRanges() {\n\t\tconst format = this.getDateFormat()\n\t\tconst cacheKey = `${this.type}-${format}-${JSON.stringify(this.customPresets)}`\n\t\t\n\t\t// Check memoization cache\n\t\tif (this.memoizedPresets.has(cacheKey)) {\n\t\t\tconst cached = this.memoizedPresets.get(cacheKey)!\n\t\t\tthis.presetCategories = cached\n\t\t\tthis.presetRanges = []\n\t\t\tcached.forEach(category => {\n\t\t\t\tthis.presetRanges.push(...category.presets)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\n\t\t// Generate preset categories\n\t\tthis.presetCategories = generatePresetCategories(format, this.type === 'datetime-local')\n\n\t\t// Flatten presets for other methods that expect a flat list\n\t\tthis.presetRanges = []\n\t\tthis.presetCategories.forEach(category => {\n\t\t\tthis.presetRanges.push(...category.presets)\n\t\t})\n\n\t\t// Add custom presets if provided\n\t\tif (this.customPresets && this.customPresets.length > 0) {\n\t\t\tconst customCategory: PresetCategory = {\n\t\t\t\tname: 'Custom',\n\t\t\t\tpresets: this.customPresets.map(preset => ({\n\t\t\t\t\tlabel: preset.label,\n\t\t\t\t\trange: {\n\t\t\t\t\t\tdateFrom: preset.dateFrom,\n\t\t\t\t\t\tdateTo: preset.dateTo,\n\t\t\t\t\t},\n\t\t\t\t\tstep: 'day' as const,\n\t\t\t\t})),\n\t\t\t}\n\n\t\t\tthis.presetCategories.push(customCategory)\n\t\t\tthis.presetRanges.push(...customCategory.presets)\n\t\t}\n\t\t\n\t\t// Cache the result\n\t\tthis.memoizedPresets.set(cacheKey, [...this.presetCategories])\n\t}\n\n\tprivate getDateFormat(): string {\n\t\treturn this.format || (this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\t}\n\n\t/**\n\t * Creates a concise display format for the selected date range\n\t */\n\tprivate updateSelectedDateRange() {\n\t\t// Find matching preset\n\t\tconst preset = this.presetRanges.find(\n\t\t\tp => p.range.dateFrom === this.dateFrom.value && p.range.dateTo === this.dateTo.value,\n\t\t)\n\n\t\tif (preset) {\n\t\t\t// If matches a preset, just use the preset name\n\t\t\tthis.selectedDateRange = preset.label\n\t\t\tthis.activePreset = preset.label\n\t\t\treturn\n\t\t}\n\n\t\t// If we didn't find a preset match, check if we should update the active preset\n\t\tthis.checkAndUpdateActivePreset(this.dateFrom.value, this.dateTo.value)\n\n\t\t// Custom date range - create concise format\n\t\tthis.activePreset = null\n\t\tthis.selectedDateRange = formatDateRange(this.dateFrom.value, this.dateTo.value, this.type, this.placeholder)\n\t}\n\n\tprivate setDateRange(dateFrom: string, dateTo: string) {\n\t\tthis.dateFrom.value = dateFrom\n\t\tthis.dateTo.value = dateTo\n\t\tthis.updateSelectedDateRange()\n\n\t\t// Announce change to screen readers\n\t\tthis.announceToScreenReader(`Date range updated: ${this.selectedDateRange}`)\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<{ dateFrom: string; dateTo: string }>('change', {\n\t\t\t\tdetail: { dateFrom, dateTo },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate toggleDropdown(e: MouseEvent) {\n\t\te.stopPropagation()\n\t\tif (this.disabled || this.step !== undefined) return\n\n\t\tif (this.isOpen) {\n\t\t\tthis.closeDropdown()\n\t\t} else {\n\t\t\tthis.openDropdown(e)\n\t\t}\n\t}\n\n\tprivate openDropdown(e?: MouseEvent) {\n\t\tif (this.disabled || this.step !== undefined) return\n\n\t\tthis.dispatchEvent(new CustomEvent('beforeopen', { bubbles: true, composed: true }))\n\t\tthis.isOpen = true\n\n\t\tconst dialogContent = html`\n\t\t\t<schmancy-date-range-dialog\n\t\t\t\t.type=\"${this.type}\"\n\t\t\t\t.dateFrom=\"${this.dateFrom}\"\n\t\t\t\t.dateTo=\"${this.dateTo}\"\n\t\t\t\t.minDate=\"${this.minDate}\"\n\t\t\t\t.maxDate=\"${this.maxDate}\"\n\t\t\t\t.activePreset=\"${this.activePreset}\"\n\t\t\t\t.presetCategories=\"${this.presetCategories}\"\n\t\t\t\t@preset-select=\"${(e: CustomEvent) => {\n\t\t\t\t\tthis.activePreset = e.detail.preset.label\n\t\t\t\t\tthis.setDateRange(e.detail.preset.range.dateFrom, e.detail.preset.range.dateTo)\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t}}\"\n\t\t\t\t@date-change=\"${() => this.updateSelectedDateRange()}\"\n\t\t\t\t@apply-dates=\"${(e: CustomEvent) => {\n\t\t\t\t\tconst { dateFrom, dateTo, swapIfNeeded } = e.detail\n\t\t\t\t\tif (swapIfNeeded) {\n\t\t\t\t\t\tthis.setDateRange(dateTo, dateFrom)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.setDateRange(dateFrom, dateTo)\n\t\t\t\t\t}\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t}}\"\n\t\t\t\t@announce=\"${(e: CustomEvent) => this.announceToScreenReader(e.detail.message)}\"\n\t\t\t></schmancy-date-range-dialog>\n\t\t`\n\n\t\tif (this.isMobile) {\n\t\t\tconst container = document.createElement('div')\n\t\t\trender(dialogContent, container)\n\t\t\tsheet.push({\n\t\t\t\tcomponent: container,\n\t\t\t\tuid: 'date-range-sheet',\n\t\t\t\tclose: () => { this.isOpen = false }\n\t\t\t})\n\t\t} else {\n\t\t\t$dialog.component(dialogContent, {\n\t\t\t\ttitle: 'Select Date Range',\n\t\t\t\thideActions: true,\n\t\t\t\tposition: e\n\t\t\t}).then(() => {\n\t\t\t\tthis.isOpen = false\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate closeDropdown() {\n\t\tif (this.isMobile) {\n\t\t\tsheet.dismiss('date-range-sheet')\n\t\t} else {\n\t\t\t$dialog.dismiss()\n\t\t}\n\t\tthis.isOpen = false\n\t}\n\n\t/**\n\t * Shifts the date range based on the step property\n\t */\n\tprivate shiftDateRange(direction: number, e: Event) {\n\t\te.stopPropagation()\n\n\t\tif (!this.dateFrom.value || !this.dateTo.value) return\n\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst toDate = dayjs(this.dateTo.value)\n\n\t\tif (!fromDate.isValid() || !toDate.isValid()) return\n\n\t\tconst format = this.getDateFormat()\n\t\tconst dir = direction > 0 ? 1 : -1\n\t\tconst daysDiff = toDate.diff(fromDate, 'day') + 1\n\n\t\t// Determine shift amount and unit\n\t\tlet amount: number\n\t\tlet unit: dayjs.ManipulateType\n\n\t\tif (this.step !== undefined) {\n\t\t\tif (typeof this.step === 'number') {\n\t\t\t\tamount = dir * this.step\n\t\t\t\tunit = 'day'\n\t\t\t} else if (this.step === 'day') {\n\t\t\t\tamount = dir * daysDiff\n\t\t\t\tunit = 'day'\n\t\t\t} else {\n\t\t\t\tamount = dir\n\t\t\t\tunit = this.step\n\t\t\t}\n\t\t} else {\n\t\t\t// Auto-detect based on date range\n\t\t\tconst rangeType = detectDateRangeType(fromDate, toDate)\n\t\t\tif (rangeType.isFullYear) {\n\t\t\t\tamount = dir\n\t\t\t\tunit = 'year'\n\t\t\t} else if (rangeType.isFullMonth) {\n\t\t\t\tamount = dir\n\t\t\t\tunit = 'month'\n\t\t\t} else if (rangeType.isFullWeek) {\n\t\t\t\tamount = dir\n\t\t\t\tunit = 'week'\n\t\t\t} else {\n\t\t\t\tamount = dir * daysDiff\n\t\t\t\tunit = 'day'\n\t\t\t}\n\t\t}\n\n\t\tconst newFromDate = fromDate.add(amount, unit)\n\t\tconst newToDate = toDate.add(amount, unit)\n\n\t\t// Validate against min/max dates\n\t\tif (this.minDate && newFromDate.isBefore(dayjs(this.minDate))) return\n\t\tif (this.maxDate && newToDate.isAfter(dayjs(this.maxDate))) return\n\n\t\t// Update the date range\n\t\tthis.setDateRange(newFromDate.format(format), newToDate.format(format))\n\t\tthis.checkAndUpdateActivePreset(newFromDate.format(format), newToDate.format(format))\n\t}\n\n\t/**\n\t * Handle keyboard navigation for accessibility\n\t */\n\tprivate handleKeyboardNavigation(event: KeyboardEvent) {\n\t\tconst key = event.key\n\t\t\n\t\t// Handle date navigation keys\n\t\tif (this.dateFrom.value && this.dateTo.value && !this.disabled) {\n\t\t\tswitch (key) {\n\t\t\t\tcase 'PageUp':\n\t\t\t\t\tif (event.target === this || this.contains(event.target as Node)) {\n\t\t\t\t\t\tthis.shiftDateRange(-1, event)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'PageDown':\n\t\t\t\t\tif (event.target === this || this.contains(event.target as Node)) {\n\t\t\t\t\t\tthis.shiftDateRange(1, event)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'Home':\n\t\t\t\t\tif (event.ctrlKey && (event.target === this || this.contains(event.target as Node))) {\n\t\t\t\t\t\t// Ctrl+Home: Jump to start of current month\n\t\t\t\t\t\tconst currentFrom = dayjs(this.dateFrom.value)\n\t\t\t\t\t\tconst currentTo = dayjs(this.dateTo.value)\n\t\t\t\t\t\tconst monthStart = currentFrom.startOf('month')\n\t\t\t\t\t\tconst daysDiff = currentTo.diff(currentFrom, 'day')\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.setDateRange(\n\t\t\t\t\t\t\tmonthStart.format(this.getDateFormat()),\n\t\t\t\t\t\t\tmonthStart.add(daysDiff, 'day').format(this.getDateFormat())\n\t\t\t\t\t\t)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'End':\n\t\t\t\t\tif (event.ctrlKey && (event.target === this || this.contains(event.target as Node))) {\n\t\t\t\t\t\t// Ctrl+End: Jump to end of current month\n\t\t\t\t\t\tconst currentFrom = dayjs(this.dateFrom.value)\n\t\t\t\t\t\tconst currentTo = dayjs(this.dateTo.value)\n\t\t\t\t\t\tconst daysDiff = currentTo.diff(currentFrom, 'day')\n\t\t\t\t\t\tconst monthEnd = currentTo.endOf('month')\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.setDateRange(\n\t\t\t\t\t\t\tmonthEnd.subtract(daysDiff, 'day').format(this.getDateFormat()),\n\t\t\t\t\t\t\tmonthEnd.format(this.getDateFormat())\n\t\t\t\t\t\t)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the current date range matches any predefined preset,\n\t * and updates the activePreset accordingly\n\t */\n\tprivate checkAndUpdateActivePreset(fromDate: string, toDate: string) {\n\t\t// Find a preset that matches the current date range\n\t\tconst matchingPreset = this.presetRanges.find(\n\t\t\tpreset => preset.range.dateFrom === fromDate && preset.range.dateTo === toDate,\n\t\t)\n\n\t\tif (matchingPreset) {\n\t\t\tthis.activePreset = matchingPreset.label\n\t\t} else {\n\t\t\tthis.activePreset = null\n\t\t}\n\t}\n\n\t/**\n\t * Check if view is mobile\n\t */\n\tprivate checkMobileView() {\n\t\tthis.isMobile = window.innerWidth < 768\n\t}\n\n\t/**\n\t * Check if we can navigate backward\n\t */\n\tprivate canNavigateBackward(): boolean {\n\t\tif (!this.dateFrom.value || !this.minDate) return true\n\t\t\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst minDate = dayjs(this.minDate)\n\t\t\n\t\t// If current start date is already at or before min date, can't go back\n\t\treturn fromDate.isAfter(minDate)\n\t}\n\n\t/**\n\t * Check if we can navigate forward\n\t */\n\tprivate canNavigateForward(): boolean {\n\t\tif (!this.dateTo.value || !this.maxDate) return true\n\t\t\n\t\tconst toDate = dayjs(this.dateTo.value)\n\t\tconst maxDate = dayjs(this.maxDate)\n\t\t\n\t\t// If current end date is already at or after max date, can't go forward\n\t\treturn toDate.isBefore(maxDate)\n\t}\n\n\t/**\n\t * Announce messages to screen readers\n\t */\n\tprivate announceToScreenReader(message: string) {\n\t\tthis.announceMessage = message\n\t\t// Clear the message after announcement\n\t\ttimer(100)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.announceMessage = ''\n\t\t\t})\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"relative ${this.disabled ? 'opacity-60 pointer-events-none' : ''}\">\n\t\t\t\t<!-- Screen reader announcements -->\n\t\t\t\t<div class=\"sr-only\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n\t\t\t\t\t${this.announceMessage}\n\t\t\t\t</div>\n\n\t\t\t\t<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: MouseEvent) => this.toggleDropdown(e)}\n\t\t\t\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t\t\t\tstyle=\"${this.step !== undefined ? 'cursor: default;' : ''}\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t${this.selectedDateRange || this.placeholder}\n\t\t\t\t\t\t</schmancy-button>\n\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-label=\"Next ${this.activePreset ? this.activePreset.toLowerCase() : 'date range'}\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(1, e)}\n\t\t\t\t\t\t\t?disabled=${this.disabled || !this.dateFrom.value || !this.dateTo.value || !this.canNavigateForward()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tarrow_right\n\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t</section>\n\t\t\t</div>\n\t\t`\n\t}\n}","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('ddd, MMM D, YYYY')}${fromTime}`\r\n\t}\r\n\r\n\t// Check if same month and year\r\n\tif (fromDate.isSame(toDate, 'month') && fromDate.isSame(toDate, 'year')) {\r\n\t\treturn `${fromDate.format('ddd MMM D')} - ${toDate.format('ddd D, YYYY')}${toTime}`\r\n\t}\r\n\r\n\t// Check if same year\r\n\tif (fromDate.isSame(toDate, 'year')) {\r\n\t\treturn `${fromDate.format('ddd MMM D')} - ${toDate.format('ddd MMM D, YYYY')}${toTime}`\r\n\t}\r\n\r\n\t// Different years\r\n\treturn `${fromDate.format('ddd MMM D, YYYY')}${fromTime} - ${toDate.format('ddd MMM D, YYYY')}${toTime}`\r\n}\r\n\r\n/**\r\n * Detect the type of date range (full month, full quarter, etc.)\r\n */\r\nexport interface DateRangeType {\r\n\tisFullMonth: boolean\r\n\tisFullQuarter: boolean\r\n\tisFullYear: boolean\r\n\tisFullWeek: boolean\r\n}\r\n\r\nexport function detectDateRangeType(fromDate: dayjs.Dayjs, toDate: dayjs.Dayjs): DateRangeType {\r\n\treturn {\r\n\t\tisFullMonth: fromDate.date() === 1 && toDate.isSame(fromDate.endOf('month'), 'day'),\r\n\t\tisFullQuarter: fromDate.isSame(fromDate.startOf('quarter'), 'day') && toDate.isSame(toDate.endOf('quarter'), 'day'),\r\n\t\tisFullYear: fromDate.isSame(fromDate.startOf('year'), 'day') && toDate.isSame(toDate.endOf('year'), 'day'),\r\n\t\tisFullWeek: fromDate.day() === 0 && toDate.day() === 6 && toDate.diff(fromDate, 'days') === 6,\r\n\t}\r\n}\r\n\r\n/**\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","getPresetGroups","allPresets","flatMap","presets","quickSelect","find","filter","periods","yearToDate","groups","push","input","target","dispatchEvent","CustomEvent","detail","bubbles","composed","preset","stopPropagation","$dialog","dismiss","fromDate","swapIfNeeded","message","render","presetGroups","html","repeat","group","handlePresetSelection","ifDefined","minDate","maxDate","handleFromDateChange","handleToDateChange","applyManualDateSelection","__decorateClass","property","Object","customElement","quarterOfYear","SchmancyDateRange","customPresets","disabled","required","placeholder","clearable","isOpen","selectedDateRange","announceMessage","isMobile","presetRanges","memoizedPresets","Map","disconnectedCallback","connectedCallback","initPresetRanges","checkMobileView","dateFormat","getDateFormat","validatedRange","updateSelectedDateRange","now","setupEventHandlers","fromEvent","document","pipe","takeUntil","disconnecting","subscribe","event","handleKeyboardNavigation","window","debounceTime","changedProps","updated","has","cacheKey","JSON","stringify","cached","category","includeTime","categories","customCategory","checkAndUpdateActivePreset","fromValue","toValue","fromTime","toTime","announceToScreenReader","closeDropdown","openDropdown","dialogContent","setDateRange","container","createElement","sheet","component","uid","close","title","hideActions","position","then","direction","dir","daysDiff","amount","unit","rangeType","isFullMonth","isFullQuarter","isFullYear","isFullWeek","day","newFromDate","newToDate","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]}
|
|
1
|
+
{"version":3,"file":"date-range-ug3B9CFT.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 { repeat } from 'lit/directives/repeat.js'\nimport { $dialog } from '../dialog/dialog-service'\nimport { DateRangePreset, PresetCategory } from './date-range-presets'\n\ninterface PresetGroup {\n\tname: string\n\tpresets: DateRangePreset[]\n}\n\n/**\n * Dialog content component for date range selection\n *\n * Redesigned with chip-based horizontal flow layout:\n * - Quick Select: Today, Yesterday, This Week, This Month\n * - Days: Last 7/14/30/60/90 Days\n * - Periods: Last Week, Last Month, Last Quarter, Last Year\n * - Year to Date: This Week, This Month, This Quarter, This Year, YTD\n * - Custom Range: Manual date inputs at the bottom\n *\n * @element schmancy-date-range-dialog\n */\n@customElement('schmancy-date-range-dialog')\nexport class SchmancyDateRangeDialog extends $LitElement() {\n\t@property({ type: String }) type: 'date' | 'datetime-local' = 'date'\n\t@property({ type: Object }) dateFrom: { label: string; value: string } = { label: 'From', value: '' }\n\t@property({ type: Object }) dateTo: { label: string; value: string } = { label: 'To', value: '' }\n\t@property({ type: String }) minDate?: string\n\t@property({ type: String }) maxDate?: string\n\t@property({ type: String }) activePreset: string | null = null\n\t@property({ type: Array }) presetCategories: PresetCategory[] = []\n\n\t/**\n\t * Reorganizes presets into the new grouped layout\n\t */\n\tprivate getPresetGroups(): PresetGroup[] {\n\t\tconst allPresets = this.presetCategories.flatMap(c => c.presets)\n\n\t\t// Quick Select: Today, Yesterday, This Week, This Month\n\t\tconst quickSelectLabels = ['Today', 'Yesterday', 'This Week', 'This Month']\n\t\tconst quickSelect = quickSelectLabels\n\t\t\t.map(label => allPresets.find(p => p.label === label))\n\t\t\t.filter((p): p is DateRangePreset => p !== undefined)\n\n\t\t// Days: Last 7/14/30/60/90 Days\n\t\tconst daysLabels = ['Last 7 Days', 'Last 14 Days', 'Last 30 Days', 'Last 60 Days', 'Last 90 Days']\n\t\tconst days = daysLabels\n\t\t\t.map(label => allPresets.find(p => p.label === label))\n\t\t\t.filter((p): p is DateRangePreset => p !== undefined)\n\n\t\t// Periods: Last Week, Last Month, Last Quarter, Last Year\n\t\tconst periodsLabels = ['Last Week', 'Last Month', 'Last Quarter', 'Last Year']\n\t\tconst periods = periodsLabels\n\t\t\t.map(label => allPresets.find(p => p.label === label))\n\t\t\t.filter((p): p is DateRangePreset => p !== undefined)\n\n\t\t// Year to Date: This Week, This Month, This Quarter, This Year, YTD\n\t\tconst ytdLabels = ['This Week', 'This Month', 'This Quarter', 'This Year', 'Year to Date']\n\t\tconst yearToDate = ytdLabels\n\t\t\t.map(label => allPresets.find(p => p.label === label))\n\t\t\t.filter((p): p is DateRangePreset => p !== undefined)\n\n\t\tconst groups: PresetGroup[] = []\n\n\t\tif (quickSelect.length > 0) {\n\t\t\tgroups.push({ name: 'Quick Select', presets: quickSelect })\n\t\t}\n\t\tif (days.length > 0) {\n\t\t\tgroups.push({ name: 'Days', presets: days })\n\t\t}\n\t\tif (periods.length > 0) {\n\t\t\tgroups.push({ name: 'Periods', presets: periods })\n\t\t}\n\t\tif (yearToDate.length > 0) {\n\t\t\tgroups.push({ name: 'Year to Date', presets: yearToDate })\n\t\t}\n\n\t\treturn groups\n\t}\n\n\tprivate handleFromDateChange(e: Event) {\n\t\tconst input = e.target as HTMLInputElement\n\t\tthis.dateFrom = { ...this.dateFrom, value: input.value }\n\n\t\t// If the new start date is after the current end date, adjust the end date\n\t\tif (this.dateTo.value && dayjs(this.dateFrom.value).isAfter(dayjs(this.dateTo.value))) {\n\t\t\tthis.dateTo = { ...this.dateTo, value: this.dateFrom.value }\n\t\t}\n\n\t\tthis.dispatchEvent(new CustomEvent('date-change', {\n\t\t\tdetail: { dateFrom: this.dateFrom.value, dateTo: this.dateTo.value },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t}\n\n\tprivate handleToDateChange(e: Event) {\n\t\tconst input = e.target as HTMLInputElement\n\t\tthis.dateTo = { ...this.dateTo, value: input.value }\n\n\t\tthis.dispatchEvent(new CustomEvent('date-change', {\n\t\t\tdetail: { dateFrom: this.dateFrom.value, dateTo: this.dateTo.value },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t}\n\n\tprivate handlePresetSelection(preset: DateRangePreset, e: Event) {\n\t\te.stopPropagation()\n\t\tthis.dispatchEvent(new CustomEvent('preset-select', {\n\t\t\tdetail: { preset },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\t\t$dialog.dismiss()\n\t}\n\n\tprivate applyManualDateSelection(e: Event) {\n\t\te.stopPropagation()\n\t\t// Validate dates before applying\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst toDate = dayjs(this.dateTo.value)\n\n\t\tif (!fromDate.isValid() || !toDate.isValid()) {\n\t\t\tthis.dispatchEvent(new CustomEvent('announce', {\n\t\t\t\tdetail: { message: 'Invalid date format. Please check your input.' },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true\n\t\t\t}))\n\t\t\treturn\n\t\t}\n\n\t\tthis.dispatchEvent(new CustomEvent('apply-dates', {\n\t\t\tdetail: {\n\t\t\t\tdateFrom: this.dateFrom.value,\n\t\t\t\tdateTo: this.dateTo.value,\n\t\t\t\tswapIfNeeded: fromDate.isAfter(toDate)\n\t\t\t},\n\t\t\tbubbles: true,\n\t\t\tcomposed: true\n\t\t}))\n\n\t\t$dialog.dismiss()\n\t}\n\n\trender() {\n\t\tconst presetGroups = this.getPresetGroups()\n\n\t\treturn html`\n\t\t\t<div class=\"w-full min-h-[400px] max-h-[80vh] flex flex-col p-4\">\n\t\t\t\t<!-- Preset Groups Section -->\n\t\t\t\t<div class=\"flex-1 overflow-y-auto overflow-x-hidden min-h-0 space-y-4\">\n\t\t\t\t\t${repeat(\n\t\t\t\t\t\tpresetGroups,\n\t\t\t\t\t\tgroup => group.name,\n\t\t\t\t\t\tgroup => html`\n\t\t\t\t\t\t\t<div class=\"space-y-2\">\n\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"md\" class=\"text-surface-onVariant\">\n\t\t\t\t\t\t\t\t\t${group.name}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<div class=\"flex flex-wrap gap-2\">\n\t\t\t\t\t\t\t\t\t${repeat(\n\t\t\t\t\t\t\t\t\t\tgroup.presets,\n\t\t\t\t\t\t\t\t\t\tpreset => preset.label,\n\t\t\t\t\t\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-filter-chip\n\t\t\t\t\t\t\t\t\t\t\t\t.value=${preset.label}\n\t\t\t\t\t\t\t\t\t\t\t\t.selected=${this.activePreset === preset.label}\n\t\t\t\t\t\t\t\t\t\t\t\t@click=${(e: Event) => this.handlePresetSelection(preset, e)}\n\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"${preset.range.dateFrom} to ${preset.range.dateTo}\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t${preset.label}\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-filter-chip>\n\t\t\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Divider -->\n\t\t\t\t<schmancy-divider class=\"my-4\"></schmancy-divider>\n\n\t\t\t\t<!-- Custom Range Section -->\n\t\t\t\t<div class=\"space-y-2\">\n\t\t\t\t\t<div class=\"flex items-end gap-3 flex-wrap\">\n\t\t\t\t\t\t<div class=\"flex-1 min-w-[140px]\">\n\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t.type=\"${this.type}\"\n\t\t\t\t\t\t\t\t.label=\"${this.dateFrom.label || 'From'}\"\n\t\t\t\t\t\t\t\t.value=\"${this.dateFrom.value}\"\n\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.minDate)}\"\n\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t@change=\"${this.handleFromDateChange}\"\n\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"flex-1 min-w-[140px]\">\n\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t.type=\"${this.type}\"\n\t\t\t\t\t\t\t\t.label=\"${this.dateTo.label || 'To'}\"\n\t\t\t\t\t\t\t\t.value=\"${this.dateTo.value}\"\n\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.dateFrom.value)}\"\n\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t@change=\"${this.handleToDateChange}\"\n\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\tvariant=\"filled\"\n\t\t\t\t\t\t\t@click=\"${(e: Event) => this.applyManualDateSelection(e)}\"\n\t\t\t\t\t\t\t?disabled=\"${!this.dateFrom.value || !this.dateTo.value}\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tApply\n\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-date-range-dialog': SchmancyDateRangeDialog\n\t}\n}\n","import { $LitElement } from '@mixins/index'\nimport dayjs from 'dayjs'\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear'\nimport { html, PropertyValues, render } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { debounceTime, fromEvent, takeUntil, timer } from 'rxjs'\nimport { $dialog } from '../dialog/dialog-service'\nimport { sheet } from '../sheet/sheet.service'\nimport { detectDateRangeType, formatDateRange } from './date-range-helpers'\nimport { DateRangePreset, generatePresetCategories, PresetCategory } from './date-range-presets'\nimport { validateInitialDateRange } from './date-utils'\nimport './date-range-dialog'\n\n// Add quarter plugin to dayjs\ndayjs.extend(quarterOfYear)\n\nexport type SchmancyDateRangeChangeEvent = CustomEvent<{\n\tdateFrom: string\n\tdateTo: string\n}>\n\n/**\n * A date range selector that supports presets and manual date input.\n *\n * @element schmancy-date-range\n * @fires change - Fired when the date range changes with dateFrom and dateTo values\n */\n@customElement('schmancy-date-range')\nexport class SchmancyDateRange extends $LitElement() {\n\t// Core properties\n\t@property({ type: String }) type: 'date' | 'datetime-local' = 'date'\n\t@property({ type: Object }) dateFrom: { label: string; value: string } = { label: 'From', value: '' }\n\t@property({ type: Object }) dateTo: { label: string; value: string } = { label: 'To', value: '' }\n\t@property({ type: String }) minDate?: string\n\t@property({ type: String }) maxDate?: string\n\n\t// Enhanced functionality\n\t@property({ type: Array }) customPresets: Array<{\n\t\tlabel: string\n\t\tdateFrom: string\n\t\tdateTo: string\n\t}> = []\n\t@property({ type: String }) format?: string\n\t@property({ type: Boolean }) disabled = false\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = 'Select date range'\n\t@property({ type: Boolean }) clearable = true\n\t@property() step?: 'day' | 'week' | 'month' | 'year' | number\n\n\t// Internal states\n\t@state() private isOpen = false\n\t@state() private selectedDateRange: string = ''\n\t@state() private activePreset: string | null = null\n\t@state() private announceMessage: string = ''\n\t@state() private isMobile = false\n\n\t// Default presets\n\tprivate presetRanges: DateRangePreset[] = []\n\n\t// Categorized presets\n\tprivate presetCategories: PresetCategory[] = []\n\n\t// Memoization cache\n\tprivate memoizedPresets = new Map<string, PresetCategory[]>()\n\n\tdisconnectedCallback(): void {\n\t\tsuper.disconnectedCallback()\n\t\t// Reset open state when element is moved/removed to prevent stale state\n\t\tthis.isOpen = false\n\t}\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\n\t\tthis.checkMobileView()\n\n\t\t// Validate initial date range\n\t\tconst dateFormat = this.getDateFormat() as 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\t\tconst validatedRange = validateInitialDateRange(this.dateFrom.value, this.dateTo.value, dateFormat)\n\n\t\tif (validatedRange.isValid) {\n\t\t\tthis.dateFrom.value = validatedRange.dateFrom!\n\t\t\tthis.dateTo.value = validatedRange.dateTo!\n\t\t\tthis.updateSelectedDateRange()\n\t\t} else {\n\t\t\tconst now = dayjs().format(dateFormat)\n\t\t\tthis.dateFrom.value = now\n\t\t\tthis.dateTo.value = now\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\n\t\t// Set up global event handlers using RxJS\n\t\tthis.setupEventHandlers()\n\t}\n\n\tprivate setupEventHandlers() {\n\t\t// Handle keyboard navigation\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(event => {\n\t\t\t\tthis.handleKeyboardNavigation(event)\n\t\t\t})\n\n\t\t// Handle window resize with debouncing\n\t\tfromEvent(window, 'resize')\n\t\t\t.pipe(\n\t\t\t\tdebounceTime(150),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.checkMobileView()\n\t\t\t})\n\t}\n\n\tupdated(changedProps: PropertyValues) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (\n\t\t\t(changedProps.has('dateFrom') || changedProps.has('dateTo')) &&\n\t\t\t(this.dateFrom?.value !== undefined || this.dateTo?.value !== undefined)\n\t\t) {\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\t}\n\n\tprivate initPresetRanges() {\n\t\tconst format = this.getDateFormat()\n\t\tconst cacheKey = `${this.type}-${format}-${JSON.stringify(this.customPresets)}`\n\t\t\n\t\t// Check memoization cache\n\t\tif (this.memoizedPresets.has(cacheKey)) {\n\t\t\tconst cached = this.memoizedPresets.get(cacheKey)!\n\t\t\tthis.presetCategories = cached\n\t\t\tthis.presetRanges = []\n\t\t\tcached.forEach(category => {\n\t\t\t\tthis.presetRanges.push(...category.presets)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\n\t\t// Generate preset categories\n\t\tthis.presetCategories = generatePresetCategories(format, this.type === 'datetime-local')\n\n\t\t// Flatten presets for other methods that expect a flat list\n\t\tthis.presetRanges = []\n\t\tthis.presetCategories.forEach(category => {\n\t\t\tthis.presetRanges.push(...category.presets)\n\t\t})\n\n\t\t// Add custom presets if provided\n\t\tif (this.customPresets && this.customPresets.length > 0) {\n\t\t\tconst customCategory: PresetCategory = {\n\t\t\t\tname: 'Custom',\n\t\t\t\tpresets: this.customPresets.map(preset => ({\n\t\t\t\t\tlabel: preset.label,\n\t\t\t\t\trange: {\n\t\t\t\t\t\tdateFrom: preset.dateFrom,\n\t\t\t\t\t\tdateTo: preset.dateTo,\n\t\t\t\t\t},\n\t\t\t\t\tstep: 'day' as const,\n\t\t\t\t})),\n\t\t\t}\n\n\t\t\tthis.presetCategories.push(customCategory)\n\t\t\tthis.presetRanges.push(...customCategory.presets)\n\t\t}\n\t\t\n\t\t// Cache the result\n\t\tthis.memoizedPresets.set(cacheKey, [...this.presetCategories])\n\t}\n\n\tprivate getDateFormat(): string {\n\t\treturn this.format || (this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\t}\n\n\t/**\n\t * Creates a concise display format for the selected date range\n\t */\n\tprivate updateSelectedDateRange() {\n\t\t// Find matching preset\n\t\tconst preset = this.presetRanges.find(\n\t\t\tp => p.range.dateFrom === this.dateFrom.value && p.range.dateTo === this.dateTo.value,\n\t\t)\n\n\t\tif (preset) {\n\t\t\t// If matches a preset, just use the preset name\n\t\t\tthis.selectedDateRange = preset.label\n\t\t\tthis.activePreset = preset.label\n\t\t\treturn\n\t\t}\n\n\t\t// If we didn't find a preset match, check if we should update the active preset\n\t\tthis.checkAndUpdateActivePreset(this.dateFrom.value, this.dateTo.value)\n\n\t\t// Custom date range - create concise format\n\t\tthis.activePreset = null\n\t\tthis.selectedDateRange = formatDateRange(this.dateFrom.value, this.dateTo.value, this.type, this.placeholder)\n\t}\n\n\tprivate setDateRange(dateFrom: string, dateTo: string) {\n\t\tthis.dateFrom.value = dateFrom\n\t\tthis.dateTo.value = dateTo\n\t\tthis.updateSelectedDateRange()\n\n\t\t// Announce change to screen readers\n\t\tthis.announceToScreenReader(`Date range updated: ${this.selectedDateRange}`)\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<{ dateFrom: string; dateTo: string }>('change', {\n\t\t\t\tdetail: { dateFrom, dateTo },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate toggleDropdown(e: MouseEvent) {\n\t\te.stopPropagation()\n\t\tif (this.disabled || this.step !== undefined) return\n\n\t\tif (this.isOpen) {\n\t\t\tthis.closeDropdown()\n\t\t} else {\n\t\t\tthis.openDropdown(e)\n\t\t}\n\t}\n\n\tprivate openDropdown(e?: MouseEvent) {\n\t\tif (this.disabled || this.step !== undefined) return\n\n\t\tthis.dispatchEvent(new CustomEvent('beforeopen', { bubbles: true, composed: true }))\n\t\tthis.isOpen = true\n\n\t\tconst dialogContent = html`\n\t\t\t<schmancy-date-range-dialog\n\t\t\t\t.type=\"${this.type}\"\n\t\t\t\t.dateFrom=\"${this.dateFrom}\"\n\t\t\t\t.dateTo=\"${this.dateTo}\"\n\t\t\t\t.minDate=\"${this.minDate}\"\n\t\t\t\t.maxDate=\"${this.maxDate}\"\n\t\t\t\t.activePreset=\"${this.activePreset}\"\n\t\t\t\t.presetCategories=\"${this.presetCategories}\"\n\t\t\t\t@preset-select=\"${(e: CustomEvent) => {\n\t\t\t\t\tthis.activePreset = e.detail.preset.label\n\t\t\t\t\tthis.setDateRange(e.detail.preset.range.dateFrom, e.detail.preset.range.dateTo)\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t}}\"\n\t\t\t\t@date-change=\"${() => this.updateSelectedDateRange()}\"\n\t\t\t\t@apply-dates=\"${(e: CustomEvent) => {\n\t\t\t\t\tconst { dateFrom, dateTo, swapIfNeeded } = e.detail\n\t\t\t\t\tif (swapIfNeeded) {\n\t\t\t\t\t\tthis.setDateRange(dateTo, dateFrom)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.setDateRange(dateFrom, dateTo)\n\t\t\t\t\t}\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t}}\"\n\t\t\t\t@announce=\"${(e: CustomEvent) => this.announceToScreenReader(e.detail.message)}\"\n\t\t\t></schmancy-date-range-dialog>\n\t\t`\n\n\t\tif (this.isMobile) {\n\t\t\tconst container = document.createElement('div')\n\t\t\trender(dialogContent, container)\n\t\t\tsheet.push({\n\t\t\t\tcomponent: container,\n\t\t\t\tuid: 'date-range-sheet',\n\t\t\t\tclose: () => { this.isOpen = false }\n\t\t\t})\n\t\t} else {\n\t\t\t$dialog.component(dialogContent, {\n\t\t\t\ttitle: 'Select Date Range',\n\t\t\t\thideActions: true,\n\t\t\t\tposition: e\n\t\t\t}).then(() => {\n\t\t\t\tthis.isOpen = false\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate closeDropdown() {\n\t\tif (this.isMobile) {\n\t\t\tsheet.dismiss('date-range-sheet')\n\t\t} else {\n\t\t\t$dialog.dismiss()\n\t\t}\n\t\tthis.isOpen = false\n\t}\n\n\t/**\n\t * Shifts the date range based on the step property\n\t */\n\tprivate shiftDateRange(direction: number, e: Event) {\n\t\te.stopPropagation()\n\n\t\tif (!this.dateFrom.value || !this.dateTo.value) return\n\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst toDate = dayjs(this.dateTo.value)\n\n\t\tif (!fromDate.isValid() || !toDate.isValid()) return\n\n\t\tconst format = this.getDateFormat()\n\t\tconst dir = direction > 0 ? 1 : -1\n\t\tconst daysDiff = toDate.diff(fromDate, 'day') + 1\n\n\t\t// Determine shift amount and unit\n\t\tlet amount: number\n\t\tlet unit: dayjs.ManipulateType\n\n\t\tif (this.step !== undefined) {\n\t\t\tif (typeof this.step === 'number') {\n\t\t\t\tamount = dir * this.step\n\t\t\t\tunit = 'day'\n\t\t\t} else if (this.step === 'day') {\n\t\t\t\tamount = dir * daysDiff\n\t\t\t\tunit = 'day'\n\t\t\t} else {\n\t\t\t\tamount = dir\n\t\t\t\tunit = this.step\n\t\t\t}\n\t\t} else {\n\t\t\t// Auto-detect based on date range\n\t\t\tconst rangeType = detectDateRangeType(fromDate, toDate)\n\t\t\tif (rangeType.isFullYear) {\n\t\t\t\tamount = dir\n\t\t\t\tunit = 'year'\n\t\t\t} else if (rangeType.isFullMonth) {\n\t\t\t\tamount = dir\n\t\t\t\tunit = 'month'\n\t\t\t} else if (rangeType.isFullWeek) {\n\t\t\t\tamount = dir\n\t\t\t\tunit = 'week'\n\t\t\t} else {\n\t\t\t\tamount = dir * daysDiff\n\t\t\t\tunit = 'day'\n\t\t\t}\n\t\t}\n\n\t\tconst newFromDate = fromDate.add(amount, unit)\n\t\tconst newToDate = toDate.add(amount, unit)\n\n\t\t// Validate against min/max dates\n\t\tif (this.minDate && newFromDate.isBefore(dayjs(this.minDate))) return\n\t\tif (this.maxDate && newToDate.isAfter(dayjs(this.maxDate))) return\n\n\t\t// Update the date range\n\t\tthis.setDateRange(newFromDate.format(format), newToDate.format(format))\n\t\tthis.checkAndUpdateActivePreset(newFromDate.format(format), newToDate.format(format))\n\t}\n\n\t/**\n\t * Handle keyboard navigation for accessibility\n\t */\n\tprivate handleKeyboardNavigation(event: KeyboardEvent) {\n\t\tconst key = event.key\n\t\t\n\t\t// Handle date navigation keys\n\t\tif (this.dateFrom.value && this.dateTo.value && !this.disabled) {\n\t\t\tswitch (key) {\n\t\t\t\tcase 'PageUp':\n\t\t\t\t\tif (event.target === this || this.contains(event.target as Node)) {\n\t\t\t\t\t\tthis.shiftDateRange(-1, event)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'PageDown':\n\t\t\t\t\tif (event.target === this || this.contains(event.target as Node)) {\n\t\t\t\t\t\tthis.shiftDateRange(1, event)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'Home':\n\t\t\t\t\tif (event.ctrlKey && (event.target === this || this.contains(event.target as Node))) {\n\t\t\t\t\t\t// Ctrl+Home: Jump to start of current month\n\t\t\t\t\t\tconst currentFrom = dayjs(this.dateFrom.value)\n\t\t\t\t\t\tconst currentTo = dayjs(this.dateTo.value)\n\t\t\t\t\t\tconst monthStart = currentFrom.startOf('month')\n\t\t\t\t\t\tconst daysDiff = currentTo.diff(currentFrom, 'day')\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.setDateRange(\n\t\t\t\t\t\t\tmonthStart.format(this.getDateFormat()),\n\t\t\t\t\t\t\tmonthStart.add(daysDiff, 'day').format(this.getDateFormat())\n\t\t\t\t\t\t)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'End':\n\t\t\t\t\tif (event.ctrlKey && (event.target === this || this.contains(event.target as Node))) {\n\t\t\t\t\t\t// Ctrl+End: Jump to end of current month\n\t\t\t\t\t\tconst currentFrom = dayjs(this.dateFrom.value)\n\t\t\t\t\t\tconst currentTo = dayjs(this.dateTo.value)\n\t\t\t\t\t\tconst daysDiff = currentTo.diff(currentFrom, 'day')\n\t\t\t\t\t\tconst monthEnd = currentTo.endOf('month')\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.setDateRange(\n\t\t\t\t\t\t\tmonthEnd.subtract(daysDiff, 'day').format(this.getDateFormat()),\n\t\t\t\t\t\t\tmonthEnd.format(this.getDateFormat())\n\t\t\t\t\t\t)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the current date range matches any predefined preset,\n\t * and updates the activePreset accordingly\n\t */\n\tprivate checkAndUpdateActivePreset(fromDate: string, toDate: string) {\n\t\t// Find a preset that matches the current date range\n\t\tconst matchingPreset = this.presetRanges.find(\n\t\t\tpreset => preset.range.dateFrom === fromDate && preset.range.dateTo === toDate,\n\t\t)\n\n\t\tif (matchingPreset) {\n\t\t\tthis.activePreset = matchingPreset.label\n\t\t} else {\n\t\t\tthis.activePreset = null\n\t\t}\n\t}\n\n\t/**\n\t * Check if view is mobile\n\t */\n\tprivate checkMobileView() {\n\t\tthis.isMobile = window.innerWidth < 768\n\t}\n\n\t/**\n\t * Check if we can navigate backward\n\t */\n\tprivate canNavigateBackward(): boolean {\n\t\tif (!this.dateFrom.value || !this.minDate) return true\n\t\t\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst minDate = dayjs(this.minDate)\n\t\t\n\t\t// If current start date is already at or before min date, can't go back\n\t\treturn fromDate.isAfter(minDate)\n\t}\n\n\t/**\n\t * Check if we can navigate forward\n\t */\n\tprivate canNavigateForward(): boolean {\n\t\tif (!this.dateTo.value || !this.maxDate) return true\n\t\t\n\t\tconst toDate = dayjs(this.dateTo.value)\n\t\tconst maxDate = dayjs(this.maxDate)\n\t\t\n\t\t// If current end date is already at or after max date, can't go forward\n\t\treturn toDate.isBefore(maxDate)\n\t}\n\n\t/**\n\t * Announce messages to screen readers\n\t */\n\tprivate announceToScreenReader(message: string) {\n\t\tthis.announceMessage = message\n\t\t// Clear the message after announcement\n\t\ttimer(100)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.announceMessage = ''\n\t\t\t})\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"relative ${this.disabled ? 'opacity-60 pointer-events-none' : ''}\">\n\t\t\t\t<!-- Screen reader announcements -->\n\t\t\t\t<div class=\"sr-only\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n\t\t\t\t\t${this.announceMessage}\n\t\t\t\t</div>\n\n\t\t\t\t<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: MouseEvent) => this.toggleDropdown(e)}\n\t\t\t\t\t\t\t?disabled=${this.disabled}\n\t\t\t\t\t\t\tstyle=\"${this.step !== undefined ? 'cursor: default;' : ''}\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t${this.selectedDateRange || this.placeholder}\n\t\t\t\t\t\t</schmancy-button>\n\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-label=\"Next ${this.activePreset ? this.activePreset.toLowerCase() : 'date range'}\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(1, e)}\n\t\t\t\t\t\t\t?disabled=${this.disabled || !this.dateFrom.value || !this.dateTo.value || !this.canNavigateForward()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tarrow_right\n\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t</section>\n\t\t\t</div>\n\t\t`\n\t}\n}","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('ddd, MMM D, YYYY')}${fromTime}`\r\n\t}\r\n\r\n\t// Check if same month and year\r\n\tif (fromDate.isSame(toDate, 'month') && fromDate.isSame(toDate, 'year')) {\r\n\t\treturn `${fromDate.format('ddd MMM D')} - ${toDate.format('ddd D, YYYY')}${toTime}`\r\n\t}\r\n\r\n\t// Check if same year\r\n\tif (fromDate.isSame(toDate, 'year')) {\r\n\t\treturn `${fromDate.format('ddd MMM D')} - ${toDate.format('ddd MMM D, YYYY')}${toTime}`\r\n\t}\r\n\r\n\t// Different years\r\n\treturn `${fromDate.format('ddd MMM D, YYYY')}${fromTime} - ${toDate.format('ddd MMM D, YYYY')}${toTime}`\r\n}\r\n\r\n/**\r\n * Detect the type of date range (full month, full quarter, etc.)\r\n */\r\nexport interface DateRangeType {\r\n\tisFullMonth: boolean\r\n\tisFullQuarter: boolean\r\n\tisFullYear: boolean\r\n\tisFullWeek: boolean\r\n}\r\n\r\nexport function detectDateRangeType(fromDate: dayjs.Dayjs, toDate: dayjs.Dayjs): DateRangeType {\r\n\treturn {\r\n\t\tisFullMonth: fromDate.date() === 1 && toDate.isSame(fromDate.endOf('month'), 'day'),\r\n\t\tisFullQuarter: fromDate.isSame(fromDate.startOf('quarter'), 'day') && toDate.isSame(toDate.endOf('quarter'), 'day'),\r\n\t\tisFullYear: fromDate.isSame(fromDate.startOf('year'), 'day') && toDate.isSame(toDate.endOf('year'), 'day'),\r\n\t\tisFullWeek: fromDate.day() === 0 && toDate.day() === 6 && toDate.diff(fromDate, 'days') === 6,\r\n\t}\r\n}\r\n\r\n/**\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","getPresetGroups","allPresets","flatMap","presets","quickSelect","find","filter","periods","yearToDate","groups","push","input","target","dispatchEvent","CustomEvent","detail","bubbles","composed","preset","stopPropagation","$dialog","dismiss","fromDate","swapIfNeeded","message","render","presetGroups","html","repeat","group","handlePresetSelection","ifDefined","minDate","maxDate","handleFromDateChange","handleToDateChange","applyManualDateSelection","__decorateClass","property","Object","customElement","quarterOfYear","SchmancyDateRange","customPresets","disabled","required","placeholder","clearable","isOpen","selectedDateRange","announceMessage","isMobile","presetRanges","memoizedPresets","Map","disconnectedCallback","connectedCallback","initPresetRanges","checkMobileView","dateFormat","getDateFormat","validatedRange","updateSelectedDateRange","now","setupEventHandlers","fromEvent","document","pipe","takeUntil","disconnecting","subscribe","event","handleKeyboardNavigation","window","debounceTime","changedProps","updated","has","cacheKey","JSON","stringify","cached","category","includeTime","categories","customCategory","checkAndUpdateActivePreset","fromValue","toValue","fromTime","toTime","announceToScreenReader","closeDropdown","openDropdown","dialogContent","setDateRange","container","createElement","sheet","component","uid","close","title","hideActions","position","then","direction","dir","daysDiff","amount","unit","rangeType","isFullMonth","isFullQuarter","isFullYear","isFullWeek","day","newFromDate","newToDate","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]}
|
package/dist/date-range.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./date-range-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./date-range-ug3B9CFT.cjs");Object.defineProperty(exports,"SchmancyDateRange",{enumerable:!0,get:()=>e.SchmancyDateRange}),exports.validateInitialDateRange=e.validateInitialDateRange;
|
|
2
2
|
//# sourceMappingURL=date-range.cjs.map
|
package/dist/date-range.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const N=require("lit/html.js"),m=require("lit/directive.js"),E=require("lit/async-directive.js"),k=require("./provide-BxZ2kn_p.cjs"),x=require("./consume-edta5ng5.cjs"),q=require("./litElement.mixin-
|
|
1
|
+
"use strict";const N=require("lit/html.js"),m=require("lit/directive.js"),E=require("lit/async-directive.js"),k=require("./provide-BxZ2kn_p.cjs"),x=require("./consume-edta5ng5.cjs"),q=require("./litElement.mixin-CrpeGpZ7.cjs"),v=require("lit"),c=require("lit/decorators.js"),P=require("lit/directives/cache.js"),j=require("rxjs"),K=require("rxjs/operators"),L=new WeakMap;let b=0;const y=new Map,S=new WeakSet,A=()=>new Promise(o=>requestAnimationFrame(o)),T=[{transform:"translateY(100%) scale(0)",opacity:0}],$=[{transform:"translateY(-100%) scale(0)",opacity:0}],M=[{opacity:0},{opacity:1}],C=(o,t)=>{const e=o-t;return e===0?void 0:e},w=(o,t)=>{const e=o/t;return e===1?void 0:e},f={left:(o,t)=>{const e=C(o,t);return{value:e,transform:e==null||isNaN(e)?void 0:`translateX(${e}px)`}},top:(o,t)=>{const e=C(o,t);return{value:e,transform:e==null||isNaN(e)?void 0:`translateY(${e}px)`}},width:(o,t)=>{let e;t===0&&(t=1,e={width:"1px"});const i=w(o,t);return{value:i,overrideFrom:e,transform:i==null||isNaN(i)?void 0:`scaleX(${i})`}},height:(o,t)=>{let e;t===0&&(t=1,e={height:"1px"});const i=w(o,t);return{value:i,overrideFrom:e,transform:i==null||isNaN(i)?void 0:`scaleY(${i})`}}},R={duration:333,easing:"ease-in-out"},B=["left","top","width","height","opacity","color","background"],D=new WeakMap;class I extends E.AsyncDirective{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===m.PartType.CHILD)throw Error("The `animate` directive must be used in attribute position.");this.createFinished()}createFinished(){this.resolveFinished?.(),this.finished=new Promise(t=>{this.l=t})}async resolveFinished(){this.l?.(),this.l=void 0}render(t){return N.nothing}getController(){return L.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(t,[e]){const i=this.u===void 0;return i&&(this.u=t.options?.host,this.u.addController(this),this.u.updateComplete.then(s=>this.t=!0),this.element=t.element,D.set(this.element,this)),this.optionsOrCallback=e,(i||typeof e!="function")&&this.m(e),this.render(e)}m(t){t=t??{};const e=this.getController();e!==void 0&&((t={...e.defaultOptions,...t}).keyframeOptions={...e.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??=B,this.options=t}p(){const t={},e=this.element.getBoundingClientRect(),i=getComputedStyle(this.element);return this.options.properties.forEach(s=>{const n=e[s]??(f[s]?void 0:i[s]),r=Number(n);t[s]=isNaN(r)?n+"":r}),t}v(){let t,e=!0;return this.options.guard&&(t=this.options.guard(),e=((i,s)=>{if(Array.isArray(i)){if(Array.isArray(s)&&s.length===i.length&&i.every((n,r)=>n===s[r]))return!1}else if(s===i)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&e&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){typeof this.optionsOrCallback=="function"&&this.m(this.optionsOrCallback()),this.v()&&(this.A=this.p(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let t;this.prepare(),await A;const e=this.P(),i=this.V(this.options.keyframeOptions,e),s=this.p();if(this.A!==void 0){const{from:n,to:r}=this.O(this.A,s,e);this.log("measured",[this.A,s,n,r]),t=this.calculateKeyframes(n,r)}else{const n=y.get(this.options.inId);if(n){y.delete(this.options.inId);const{from:r,to:h}=this.O(n,s,e);t=this.calculateKeyframes(r,h),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,b++,t.forEach(a=>a.zIndex=b)}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,i)}resetStyles(){this.j!==void 0&&(this.element.setAttribute("style",this.j??""),this.j=void 0)}commitStyles(){this.j=this.element.getAttribute("style"),this.webAnimation?.commitStyles(),this.webAnimation?.cancel()}reconnected(){}async disconnected(){if(!this.h||(this.options.id!==void 0&&y.set(this.options.id,this.A),this.options.out===void 0))return;if(this.prepare(),await A(),this.i?.isConnected){const e=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,e),this.options.stabilizeOut){const i=this.p();this.log("stabilizing out");const s=this.A.left-i.left,n=this.A.top-i.top;getComputedStyle(this.element).position!=="static"||s===0&&n===0||(this.element.style.position="relative"),s!==0&&(this.element.style.left=s+"px"),n!==0&&(this.element.style.top=n+"px")}}const t=this.V(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){this.options.onStart?.(this)}didFinish(t){t&&this.options.onComplete?.(this),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}P(){const t=[];for(let e=this.element.parentNode;e;e=e?.parentNode){const i=D.get(e);i&&!i.isDisabled()&&i&&t.push(i)}return t}get isHostRendered(){const t=S.has(this.u);return t||this.u.updateComplete.then(()=>{S.add(this.u)}),t}V(t,e=this.P()){const i={...R};return e.forEach(s=>Object.assign(i,s.options.keyframeOptions)),Object.assign(i,t),i}O(t,e,i){t={...t},e={...e};const s=i.map(h=>h.animatingProperties).filter(h=>h!==void 0);let n=1,r=1;return s.length>0&&(s.forEach(h=>{h.width&&(n/=h.width),h.height&&(r/=h.height)}),t.left!==void 0&&e.left!==void 0&&(t.left=n*t.left,e.left=n*e.left),t.top!==void 0&&e.top!==void 0&&(t.top=r*t.top,e.top=r*e.top)),{from:t,to:e}}calculateKeyframes(t,e,i=!1){const s={},n={};let r=!1;const h={};for(const a in e){const d=t[a],p=e[a];if(a in f){const F=f[a];if(d===void 0||p===void 0)continue;const u=F(d,p);u.transform!==void 0&&(h[a]=u.value,r=!0,s.transform=`${s.transform??""} ${u.transform}`,u.overrideFrom!==void 0&&Object.assign(s,u.overrideFrom))}else d!==p&&d!==void 0&&p!==void 0&&(r=!0,s[a]=d,n[a]=p)}return s.transformOrigin=n.transformOrigin=i?"center center":"top left",this.animatingProperties=h,r?[s,n]:void 0}async animate(t,e=this.options.keyframeOptions){this.start(),this.frames=t;let i=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log("modified frames",t)),t!==void 0)){this.log("animate",[t,e]),i=!0,this.webAnimation=this.element.animate(t,e);const s=this.getController();s?.add(this);try{await this.webAnimation.finished}catch{}s?.remove(this)}return this.didFinish(i),i}isAnimating(){return this.webAnimation?.playState==="running"||this.webAnimation?.pending}log(t,e){this.shouldLog&&this.isDisabled()}}const H=m.directive(I),U=["top","right","bottom","left"];class Y extends E.AsyncDirective{constructor(t){if(super(t),t.type!==m.PartType.ELEMENT)throw Error("The `position` directive must be used in attribute position.")}render(t,e){return N.nothing}update(t,[e,i]){return this.u===void 0&&(this.u=t.options?.host,this.u.addController(this)),this.C=t.element,this.N=e,this.S=i??["left","top","width","height"],this.render(e,i)}hostUpdated(){this.F()}F(){const t=typeof this.N=="function"?this.N():this.N?.value,e=t.offsetParent;if(t===void 0||!e)return;const i=t.getBoundingClientRect(),s=e.getBoundingClientRect();this.S?.forEach(n=>{const r=U.includes(n)?i[n]-s[n]:i[n];this.C.style[n]=r+"px"})}}function O(o){let t=2166136261;for(let e=0;e<o.length;e++)t^=o.charCodeAt(e),t=16777619*t>>>0;return t.toString(16)}m.directive(Y);var z=Object.defineProperty,V=Object.getOwnPropertyDescriptor,l=(o,t,e,i)=>{for(var s,n=i>1?void 0:i?V(t,e):t,r=o.length-1;r>=0;r--)(s=o[r])&&(n=(i?s(t,e,n):s(n))||n);return i&&n&&z(t,e,n),n};const g=k.n("delay-context");exports.SchmancyDelay=class extends q.$LitElement(){constructor(){super(...arguments),this.delay=0,this.motion="flyBelow",this.rendered=!1,this.parentDelay=0,this.effectiveDelay=0,this.once=!0,this.sessionKey=""}firstUpdated(){this.observeSlotChanges(),this.updateRenderState()}disconnectedCallback(){super.disconnectedCallback(),this.mutationObserver?.disconnect()}observeSlotChanges(){const o=this.shadowRoot?.querySelector("slot");o&&(this.mutationObserver=new MutationObserver(()=>{this.sessionKey=this.generateSessionKey()}),this.mutationObserver.observe(o,{childList:!0,subtree:!0}))}getTotalSiblingDelay(o){if(!(o&&o instanceof HTMLElement))return 0;let t=0,e=o.previousElementSibling;for(;e;)e instanceof exports.SchmancyDelay&&(t+=e.delay),e=e.previousElementSibling;return o.parentElement&&(t+=this.getTotalSiblingDelay(o.parentElement)),t}updateRenderState(){if(this.sessionKey=this.generateSessionKey(),this.once&&sessionStorage.getItem(this.sessionKey)==="true")return void(this.rendered=!0);const o=this.getTotalSiblingDelay(this);this.effectiveDelay=this.delay+this.parentDelay+o,j.timer(this.effectiveDelay).pipe(K.takeUntil(this.disconnecting)).subscribe(()=>{if(this.rendered=!0,this.once)try{sessionStorage.setItem(this.sessionKey,"true")}catch{}})}generateSessionKey(){const o=this.assignedElements.map(t=>t.outerHTML).join("");return this.once?O(o):""}get motionLit(){return this.motion==="flyBelow"?T:this.motion==="flyAbove"?$:M}render(){return P.cache(this.rendered?v.html`<div
|
|
2
2
|
${H({in:this.motionLit,keyframeOptions:{duration:300,easing:"ease-out"}})}
|
|
3
3
|
>
|
|
4
4
|
<slot></slot>
|
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
<slot></slot>
|
|
8
8
|
</section>
|
|
9
9
|
`)}},l([c.property({type:Number,reflect:!0})],exports.SchmancyDelay.prototype,"delay",2),l([c.property({type:String})],exports.SchmancyDelay.prototype,"motion",2),l([c.state()],exports.SchmancyDelay.prototype,"rendered",2),l([x.c({context:g,subscribe:!0})],exports.SchmancyDelay.prototype,"parentDelay",2),l([k.e({context:g})],exports.SchmancyDelay.prototype,"effectiveDelay",2),l([c.property({type:Boolean})],exports.SchmancyDelay.prototype,"once",2),l([c.queryAssignedElements({flatten:!0})],exports.SchmancyDelay.prototype,"assignedElements",2),exports.SchmancyDelay=l([c.customElement("schmancy-delay")],exports.SchmancyDelay),exports.delayContext=g,exports.hashContent=O;
|
|
10
|
-
//# sourceMappingURL=delay-
|
|
10
|
+
//# sourceMappingURL=delay-CWtBL0VD.cjs.map
|