@mhmo91/schmancy 0.2.195 → 0.2.196
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai/animated-text.md +114 -0
- package/ai/card.md +162 -131
- package/ai/circular-progress.md +91 -0
- package/ai/date-range.md +142 -0
- package/ai/delay.md +158 -0
- package/ai/divider.md +153 -0
- package/ai/index.md +42 -3
- package/ai/nav-drawer.md +206 -0
- package/ai/option.md +173 -0
- package/ai/slider.md +227 -0
- package/ai/steps.md +231 -0
- package/ai/surface.md +139 -200
- package/ai/teleport.md +196 -0
- package/ai/theme-button.md +173 -0
- package/ai/theme.md +241 -0
- package/ai/typewriter.md +217 -0
- package/dist/ai/animated-text.md +114 -0
- package/dist/ai/card.md +162 -131
- package/dist/ai/circular-progress.md +91 -0
- package/dist/ai/date-range.md +142 -0
- package/dist/ai/delay.md +158 -0
- package/dist/ai/divider.md +153 -0
- package/dist/ai/index.md +42 -3
- package/dist/ai/nav-drawer.md +206 -0
- package/dist/ai/option.md +173 -0
- package/dist/ai/slider.md +227 -0
- package/dist/ai/steps.md +231 -0
- package/dist/ai/surface.md +139 -200
- package/dist/ai/teleport.md +196 -0
- package/dist/ai/theme-button.md +173 -0
- package/dist/ai/theme.md +241 -0
- package/dist/ai/typewriter.md +217 -0
- package/dist/{animated-text-Bu9wh3wv.cjs → animated-text-DnX2TopW.cjs} +2 -2
- package/dist/{animated-text-Bu9wh3wv.cjs.map → animated-text-DnX2TopW.cjs.map} +1 -1
- package/dist/{animated-text-Ci7M0QTx.js → animated-text-jv1yAwLh.js} +3 -3
- package/dist/{animated-text-Ci7M0QTx.js.map → animated-text-jv1yAwLh.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-eJJ_wryh.js → area.component-DMD20wqd.js} +3 -3
- package/dist/{area.component-eJJ_wryh.js.map → area.component-DMD20wqd.js.map} +1 -1
- package/dist/{area.component-Cg9dqZJ5.cjs → area.component-Vs2WGXgk.cjs} +2 -2
- package/dist/{area.component-Cg9dqZJ5.cjs.map → area.component-Vs2WGXgk.cjs.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-BH7nQbid.cjs → autocomplete-BrAxEJJq.cjs} +2 -2
- package/dist/{autocomplete-BH7nQbid.cjs.map → autocomplete-BrAxEJJq.cjs.map} +1 -1
- package/dist/{autocomplete-D9n1MeKT.js → autocomplete-OS61ngsy.js} +3 -3
- package/dist/{autocomplete-D9n1MeKT.js.map → autocomplete-OS61ngsy.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-Bg-rdjAe.cjs → avatar-CEdv8DJY.cjs} +2 -2
- package/dist/{avatar-Bg-rdjAe.cjs.map → avatar-CEdv8DJY.cjs.map} +1 -1
- package/dist/{avatar-B4lSs4z5.js → avatar-CUHTDenQ.js} +41 -41
- package/dist/{avatar-B4lSs4z5.js.map → avatar-CUHTDenQ.js.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-y37-tGrk.js → checkbox-CVXRiSWP.js} +2 -2
- package/dist/{checkbox-y37-tGrk.js.map → checkbox-CVXRiSWP.js.map} +1 -1
- package/dist/{checkbox-CgL23smr.cjs → checkbox-Chd-COYm.cjs} +2 -2
- package/dist/{checkbox-CgL23smr.cjs.map → checkbox-Chd-COYm.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-CKST7ug-.cjs → chips-Bx9gSvN1.cjs} +2 -2
- package/dist/{chips-CKST7ug-.cjs.map → chips-Bx9gSvN1.cjs.map} +1 -1
- package/dist/{chips-Ndwt1V4b.js → chips-Dx_erk55.js} +3 -3
- package/dist/{chips-Ndwt1V4b.js.map → chips-Dx_erk55.js.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +1 -1
- package/dist/{circular-progress-vokDGjmG.js → circular-progress-BQnGvbss.js} +3 -3
- package/dist/{circular-progress-vokDGjmG.js.map → circular-progress-BQnGvbss.js.map} +1 -1
- package/dist/{circular-progress-BDmc1zlm.cjs → circular-progress-CNBah5dz.cjs} +2 -2
- package/dist/{circular-progress-BDmc1zlm.cjs.map → circular-progress-CNBah5dz.cjs.map} +1 -1
- package/dist/circular-progress.cjs +1 -1
- package/dist/circular-progress.js +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-DfZz3ifP.cjs → date-range-Cq0diVSY.cjs} +4 -3
- package/dist/{date-range-DfZz3ifP.cjs.map → date-range-Cq0diVSY.cjs.map} +1 -1
- package/dist/{date-range-CpDVPn_v.js → date-range-wxdt6Ha0.js} +5 -4
- package/dist/date-range-wxdt6Ha0.js.map +1 -0
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-ASLyLkQL.cjs → delay-BzkhDhs0.cjs} +2 -2
- package/dist/{delay-ASLyLkQL.cjs.map → delay-BzkhDhs0.cjs.map} +1 -1
- package/dist/{delay-CG5SRrzF.js → delay-Ds5suSsc.js} +2 -2
- package/dist/{delay-CG5SRrzF.js.map → delay-Ds5suSsc.js.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{dialog-content-D88EcY6L.cjs → dialog-content-CJY69qfC.cjs} +2 -2
- package/dist/{dialog-content-D88EcY6L.cjs.map → dialog-content-CJY69qfC.cjs.map} +1 -1
- package/dist/{dialog-content-BoPviBAt.js → dialog-content-DFJnYzff.js} +3 -3
- package/dist/{dialog-content-BoPviBAt.js.map → dialog-content-DFJnYzff.js.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-N7GWgK6o.js → divider-C3w1_-N1.js} +3 -3
- package/dist/{divider-N7GWgK6o.js.map → divider-C3w1_-N1.js.map} +1 -1
- package/dist/{divider-C38JDYss.cjs → divider-CFzbCFsr.cjs} +2 -2
- package/dist/{divider-C38JDYss.cjs.map → divider-CFzbCFsr.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-DmO_yIVb.js → dropdown-content-BGFYBXcx.js} +3 -3
- package/dist/{dropdown-content-DmO_yIVb.js.map → dropdown-content-BGFYBXcx.js.map} +1 -1
- package/dist/{dropdown-content-rH8awIRA.cjs → dropdown-content-PaMOJphI.cjs} +2 -2
- package/dist/{dropdown-content-rH8awIRA.cjs.map → dropdown-content-PaMOJphI.cjs.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-CXYfL6bE.js → flex-Cy4Stl_1.js} +2 -2
- package/dist/{flex-CXYfL6bE.js.map → flex-Cy4Stl_1.js.map} +1 -1
- package/dist/{flex-wYuewqrr.cjs → flex-DP5O5644.cjs} +2 -2
- package/dist/{flex-wYuewqrr.cjs.map → flex-DP5O5644.cjs.map} +1 -1
- package/dist/{form-q3JZjWez.js → form-BQamcLFL.js} +2 -2
- package/dist/{form-q3JZjWez.js.map → form-BQamcLFL.js.map} +1 -1
- package/dist/{form-CNWWdhT_.cjs → form-CG3kns69.cjs} +2 -2
- package/dist/{form-CNWWdhT_.cjs.map → form-CG3kns69.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{icon-pLQWXzo8.js → icon-Cd4p9jRB.js} +3 -3
- package/dist/{icon-pLQWXzo8.js.map → icon-Cd4p9jRB.js.map} +1 -1
- package/dist/{icon-QnmfHtfT.cjs → icon-CilwMTXB.cjs} +2 -2
- package/dist/{icon-QnmfHtfT.cjs.map → icon-CilwMTXB.cjs.map} +1 -1
- package/dist/{icon-button-DOTB_28y.js → icon-button-By17is4V.js} +3 -3
- package/dist/{icon-button-DOTB_28y.js.map → icon-button-By17is4V.js.map} +1 -1
- package/dist/{icon-button-oAOX71_s.cjs → icon-button-C4Hf63hY.cjs} +2 -2
- package/dist/{icon-button-oAOX71_s.cjs.map → icon-button-C4Hf63hY.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 +39 -39
- package/dist/{input-CCniOtAr.cjs → input-BIi0rS2t.cjs} +2 -2
- package/dist/{input-CCniOtAr.cjs.map → input-BIi0rS2t.cjs.map} +1 -1
- package/dist/{input-DeJitVSV.js → input-C8OAokVe.js} +2 -2
- package/dist/{input-DeJitVSV.js.map → input-C8OAokVe.js.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{list-Ca79GGNH.js → list-BC3OE3Pu.js} +2 -2
- package/dist/{list-Ca79GGNH.js.map → list-BC3OE3Pu.js.map} +1 -1
- package/dist/{list-Ad-24MHW.cjs → list-jFsCubuy.cjs} +2 -2
- package/dist/{list-Ad-24MHW.cjs.map → list-jFsCubuy.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-BoUiP2tU.js → litElement.mixin-C6PzcPXd.js} +2 -2
- package/dist/{litElement.mixin-BoUiP2tU.js.map → litElement.mixin-C6PzcPXd.js.map} +1 -1
- package/dist/{litElement.mixin-qOTYSaNG.cjs → litElement.mixin-Cypiq-N-.cjs} +2 -2
- package/dist/{litElement.mixin-qOTYSaNG.cjs.map → litElement.mixin-Cypiq-N-.cjs.map} +1 -1
- package/dist/{menu-6Wum4ysc.cjs → menu-CDjqdEd6.cjs} +2 -2
- package/dist/{menu-6Wum4ysc.cjs.map → menu-CDjqdEd6.cjs.map} +1 -1
- package/dist/{menu-Dd_X9oET.js → menu-n_Doj-bW.js} +3 -3
- package/dist/{menu-Dd_X9oET.js.map → menu-n_Doj-bW.js.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/{notification-service-CrNyAbmv.cjs → notification-service--VLqOJJg.cjs} +2 -2
- package/dist/{notification-service-CrNyAbmv.cjs.map → notification-service--VLqOJJg.cjs.map} +1 -1
- package/dist/{notification-service-C-9IqObm.js → notification-service-DHIhgWQr.js} +3 -3
- package/dist/{notification-service-C-9IqObm.js.map → notification-service-DHIhgWQr.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-BbBbwrJq.cjs → option-B359EBiZ.cjs} +2 -2
- package/dist/{option-BbBbwrJq.cjs.map → option-B359EBiZ.cjs.map} +1 -1
- package/dist/{option-DVSXUJ96.js → option-oyyjCwnL.js} +2 -2
- package/dist/{option-DVSXUJ96.js.map → option-oyyjCwnL.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-R5wNWHAv.cjs → payment-card-form-B-ZAsSED.cjs} +2 -2
- package/dist/{payment-card-form-R5wNWHAv.cjs.map → payment-card-form-B-ZAsSED.cjs.map} +1 -1
- package/dist/{payment-card-form-CTjgVoJK.js → payment-card-form-BSueaw97.js} +3 -3
- package/dist/{payment-card-form-CTjgVoJK.js.map → payment-card-form-BSueaw97.js.map} +1 -1
- package/dist/{radio-button-BDAW1Euc.js → radio-button-84TD7rpH.js} +2 -2
- package/dist/{radio-button-BDAW1Euc.js.map → radio-button-84TD7rpH.js.map} +1 -1
- package/dist/{radio-button-Cg1JobXT.cjs → radio-button-BO6mIWCi.cjs} +2 -2
- package/dist/{radio-button-Cg1JobXT.cjs.map → radio-button-BO6mIWCi.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-BAPIxl4s.cjs → schmancy-steps-container-Cfq8OsWt.cjs} +2 -2
- package/dist/{schmancy-steps-container-BAPIxl4s.cjs.map → schmancy-steps-container-Cfq8OsWt.cjs.map} +1 -1
- package/dist/{schmancy-steps-container--d7VK-QR.js → schmancy-steps-container-Lo4d27n3.js} +2 -2
- package/dist/{schmancy-steps-container--d7VK-QR.js.map → schmancy-steps-container-Lo4d27n3.js.map} +1 -1
- package/dist/{select-DfbOOZtm.js → select-B-zgP_v6.js} +3 -3
- package/dist/{select-DfbOOZtm.js.map → select-B-zgP_v6.js.map} +1 -1
- package/dist/{select-CnjO7DLl.cjs → select-DhEVsWh6.cjs} +2 -2
- package/dist/{select-CnjO7DLl.cjs.map → select-DhEVsWh6.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-Ds0Fp0lM.cjs → sheet-BEWq40cN.cjs} +2 -2
- package/dist/{sheet-Ds0Fp0lM.cjs.map → sheet-BEWq40cN.cjs.map} +1 -1
- package/dist/{sheet-DhbKM9gJ.js → sheet-DDY4pbD4.js} +3 -3
- package/dist/{sheet-DhbKM9gJ.js.map → sheet-DDY4pbD4.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +1 -1
- package/dist/{slider-Ba3AEh2W.js → slider--irxEv_B.js} +3 -3
- package/dist/{slider-Ba3AEh2W.js.map → slider--irxEv_B.js.map} +1 -1
- package/dist/{slider-CSOzhUhA.cjs → slider-De-H5fe8.cjs} +2 -2
- package/dist/{slider-CSOzhUhA.cjs.map → slider-De-H5fe8.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-BgeQqlFU.js → spinner-Bl9n09Z5.js} +3 -3
- package/dist/{spinner-BgeQqlFU.js.map → spinner-Bl9n09Z5.js.map} +1 -1
- package/dist/{spinner-llMfjiIc.cjs → spinner-DNz1IjmL.cjs} +2 -2
- package/dist/{spinner-llMfjiIc.cjs.map → spinner-DNz1IjmL.cjs.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-CT2g8fDM.cjs → surface-BAEUiWcq.cjs} +2 -2
- package/dist/{surface-CT2g8fDM.cjs.map → surface-BAEUiWcq.cjs.map} +1 -1
- package/dist/{surface-UcsAmLj5.js → surface-h9dLHMTm.js} +2 -2
- package/dist/{surface-UcsAmLj5.js.map → surface-h9dLHMTm.js.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-DuUlrDCu.js → table-CxazXBjI.js} +2 -2
- package/dist/{table-DuUlrDCu.js.map → table-CxazXBjI.js.map} +1 -1
- package/dist/{table-CSBhQ-pa.cjs → table-Dn07ykGG.cjs} +2 -2
- package/dist/{table-CSBhQ-pa.cjs.map → table-Dn07ykGG.cjs.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-BVFHArgV.js → tabs-compatibility-B8I0vg7Y.js} +2 -2
- package/dist/{tabs-compatibility-BVFHArgV.js.map → tabs-compatibility-B8I0vg7Y.js.map} +1 -1
- package/dist/{tabs-compatibility-Bt3coGzN.cjs → tabs-compatibility-BrTxeSS-.cjs} +2 -2
- package/dist/{tabs-compatibility-Bt3coGzN.cjs.map → tabs-compatibility-BrTxeSS-.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-Du4i6vQR.js +43 -0
- package/dist/{tailwind.mixin-C71e_LC1.js.map → tailwind.mixin-Du4i6vQR.js.map} +1 -1
- package/dist/tailwind.mixin-qyIcoDLk.cjs +2 -0
- package/dist/{tailwind.mixin-CFCJhe5p.cjs.map → tailwind.mixin-qyIcoDLk.cjs.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-B8eIpYa-.js → textarea-DibCLxC2.js} +2 -2
- package/dist/{textarea-B8eIpYa-.js.map → textarea-DibCLxC2.js.map} +1 -1
- package/dist/{textarea-CtCk_1Fq.cjs → textarea-pMec4Wpg.cjs} +2 -2
- package/dist/{textarea-CtCk_1Fq.cjs.map → textarea-pMec4Wpg.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-DQe5uOxU.cjs → theme-button-CG1w_waw.cjs} +2 -2
- package/dist/{theme-button-DQe5uOxU.cjs.map → theme-button-CG1w_waw.cjs.map} +1 -1
- package/dist/{theme-button-TEzhKUy6.js → theme-button-irLEczd5.js} +2 -2
- package/dist/{theme-button-TEzhKUy6.js.map → theme-button-irLEczd5.js.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{theme.component-DiTpToTC.js → theme.component-CMM8Xws2.js} +2 -2
- package/dist/{theme.component-DiTpToTC.js.map → theme.component-CMM8Xws2.js.map} +1 -1
- package/dist/{theme.component-Be6M74nN.cjs → theme.component-CpRuySmd.cjs} +2 -2
- package/dist/{theme.component-Be6M74nN.cjs.map → theme.component-CpRuySmd.cjs.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-CBSuTrU2.js → timezone-DIrmlnD6.js} +3 -3
- package/dist/{timezone-CBSuTrU2.js.map → timezone-DIrmlnD6.js.map} +1 -1
- package/dist/{timezone-C1aR24i0.cjs → timezone-n5GflDRe.cjs} +2 -2
- package/dist/{timezone-C1aR24i0.cjs.map → timezone-n5GflDRe.cjs.map} +1 -1
- package/dist/{tooltip-DYcXTtFy.cjs → tooltip-0vIcVm5-.cjs} +2 -2
- package/dist/{tooltip-DYcXTtFy.cjs.map → tooltip-0vIcVm5-.cjs.map} +1 -1
- package/dist/{tooltip-DYQW9R3I.js → tooltip-N_B-vsDa.js} +2 -2
- package/dist/{tooltip-DYQW9R3I.js.map → tooltip-N_B-vsDa.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-nsSIkdNT.js → tree-2Hf2X0Hv.js} +2 -2
- package/dist/{tree-nsSIkdNT.js.map → tree-2Hf2X0Hv.js.map} +1 -1
- package/dist/{tree-D-rTjnPs.cjs → tree-Q8AMxJxP.cjs} +2 -2
- package/dist/{tree-D-rTjnPs.cjs.map → tree-Q8AMxJxP.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-Cj0R-RDa.cjs → typewriter-CsL-NfYC.cjs} +2 -2
- package/dist/{typewriter-Cj0R-RDa.cjs.map → typewriter-CsL-NfYC.cjs.map} +1 -1
- package/dist/{typewriter-DrYb6_FB.js → typewriter-bqbNKczJ.js} +4 -4
- package/dist/{typewriter-DrYb6_FB.js.map → typewriter-bqbNKczJ.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-DMj2H_lZ.js → typography-CbrvouLo.js} +2 -2
- package/dist/{typography-DMj2H_lZ.js.map → typography-CbrvouLo.js.map} +1 -1
- package/dist/{typography-B0Kj2XoC.cjs → typography-Hlts-hzc.cjs} +2 -2
- package/dist/{typography-B0Kj2XoC.cjs.map → typography-Hlts-hzc.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/dist/date-range-CpDVPn_v.js.map +0 -1
- package/dist/tailwind.mixin-C71e_LC1.js +0 -43
- package/dist/tailwind.mixin-CFCJhe5p.cjs +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-DfZz3ifP.cjs","sources":["../../../../.yarn/berry/cache/dayjs-npm-1.11.13-d478bb9479-10c0.zip/node_modules/dayjs/dayjs.min.js","../../../../.yarn/berry/cache/dayjs-npm-1.11.13-d478bb9479-10c0.zip/node_modules/dayjs/plugin/quarterOfYear.js","../src/date-range/date-utils.ts","../src/date-range/date-range.ts"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(t,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_quarterOfYear=n()}(this,(function(){\"use strict\";var t=\"month\",n=\"quarter\";return function(e,i){var r=i.prototype;r.quarter=function(t){return this.$utils().u(t)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(t-1))};var s=r.add;r.add=function(e,i){return e=Number(e),this.$utils().p(i)===n?this.add(3*e,t):s.bind(this)(e,i)};var u=r.startOf;r.startOf=function(e,i){var r=this.$utils(),s=!!r.u(i)||i;if(r.p(e)===n){var o=this.quarter()-1;return s?this.month(3*o).startOf(t).startOf(\"day\"):this.month(3*o+2).endOf(t).endOf(\"day\")}return u.bind(this)(e,i)}}}));","import dayjs from 'dayjs'\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 { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport dayjs from 'dayjs'\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear'\nimport { html, PropertyValues } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { fromEvent, takeUntil } from 'rxjs'\nimport { validateInitialDateRange } from './date-utils'\n\n// Add quarter plugin to dayjs\ndayjs.extend(quarterOfYear)\n\nexport type SchmancyDateRangeChangeEvent = CustomEvent<{\n\tdateFrom: string\n\tdateTo: string\n}>\n\n// Custom type to include 'quarter' as a valid unit\ntype ExtendedTimeUnit = dayjs.OpUnitType | 'quarter'\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\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\n\t// Default presets\n\tprivate presetRanges: Array<{\n\t\tlabel: string\n\t\trange: { dateFrom: string; dateTo: string }\n\t\tstep: ExtendedTimeUnit\n\t}> = []\n\n\t// Categorized presets\n\tprivate presetCategories: Array<{\n\t\tname: string\n\t\tpresets: Array<{\n\t\t\tlabel: string\n\t\t\trange: { dateFrom: string; dateTo: string }\n\t\t\tstep: ExtendedTimeUnit\n\t\t}>\n\t}> = []\n\n\t// DOM references\n\t@query('.trigger-container') private triggerRef!: HTMLElement\n\t@query('.dropdown') private dropdownRef!: HTMLElement\n\n\t// Positioning cleanup\n\tprivate cleanupPositioner?: () => void\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\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// Close dropdown when clicking outside\n\t\tfromEvent<MouseEvent>(document, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(event => {\n\t\t\t\tif (\n\t\t\t\t\tthis.isOpen &&\n\t\t\t\t\tevent.target instanceof Node &&\n\t\t\t\t\t!this.contains(event.target) &&\n\t\t\t\t\t(!this.dropdownRef || !this.dropdownRef.contains(event.target as Node))\n\t\t\t\t) {\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t}\n\t\t\t})\n\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\tif (!this.isOpen) return\n\n\t\t\t\tif (event.key === 'Escape') {\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tsuper.disconnectedCallback()\n\t\tthis.cleanupPositioner?.()\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\n\t\tif (changedProps.has('isOpen')) {\n\t\t\tif (this.isOpen) {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tthis.setupDropdownPosition()\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tthis.cleanupPositioner?.()\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate setupDropdownPosition() {\n\t\tif (!this.triggerRef || !this.dropdownRef) return\n\n\t\tthis.cleanupPositioner = autoUpdate(this.triggerRef, this.dropdownRef, () => {\n\t\t\tcomputePosition(this.triggerRef, this.dropdownRef, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: [offset(8), flip(), shift({ padding: 16 })],\n\t\t\t}).then(({ x, y }) => {\n\t\t\t\tObject.assign(this.dropdownRef.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate initPresetRanges() {\n\t\tconst format = this.getDateFormat()\n\n\t\t// Define categories with their presets\n\t\tthis.presetCategories = [\n\t\t\t{\n\t\t\t\tname: 'Days',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Today',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Yesterday',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'days').startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'days').endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 7 Days',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(6, 'days').startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 30 Days',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(29, 'days').startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 90 Days',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(89, 'days').startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Weeks',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'This Week',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('week').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('week').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'week',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last Week',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'weeks').startOf('week').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'weeks').endOf('week').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'week',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Months',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'This Month',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('month').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('month').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'month',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last Month',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'month').startOf('month').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'month').endOf('month').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'month',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Quarters',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'This Quarter',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('quarter').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('quarter').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'quarter',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last Quarter',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'quarter').startOf('quarter').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'quarter').endOf('quarter').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'quarter',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Years',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'This Year',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('year').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('year').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'year',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last Year',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'year').startOf('year').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'year').endOf('year').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'year',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Year to Date',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('year').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t]\n\n\t\t// For datetime-local type, add time-specific presets\n\t\tif (this.type === 'datetime-local') {\n\t\t\tthis.presetCategories.unshift({\n\t\t\t\tname: 'Hours',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 24 Hours',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(24, 'hours').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'hour',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 12 Hours',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(12, 'hours').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'hour',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t})\n\t\t}\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 = {\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 ExtendedTimeUnit,\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}\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\n\t\tif (!this.dateFrom.value || !this.dateTo.value) {\n\t\t\tthis.selectedDateRange = this.placeholder\n\t\t\treturn\n\t\t}\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()) {\n\t\t\tthis.selectedDateRange = this.placeholder\n\t\t\treturn\n\t\t}\n\n\t\t// Format times if needed (for datetime-local)\n\t\tconst fromTime = this.type === 'datetime-local' ? fromDate.format(' h:mm A') : ''\n\t\tconst toTime = this.type === 'datetime-local' ? toDate.format(' h:mm A') : ''\n\n\t\t// Check if same day\n\t\tif (fromDate.isSame(toDate, 'day')) {\n\t\t\tthis.selectedDateRange = `${fromDate.format('MMM D, YYYY')}${fromTime}`\n\t\t\treturn\n\t\t}\n\n\t\t// Check if same month and year\n\t\tif (fromDate.isSame(toDate, 'month') && fromDate.isSame(toDate, 'year')) {\n\t\t\tthis.selectedDateRange = `${fromDate.format('MMM D')}-${toDate.format('D, YYYY')}${toTime}`\n\t\t\treturn\n\t\t}\n\n\t\t// Check if same year\n\t\tif (fromDate.isSame(toDate, 'year')) {\n\t\t\tthis.selectedDateRange = `${fromDate.format('MMM D')} - ${toDate.format('MMM D, YYYY')}${toTime}`\n\t\t\treturn\n\t\t}\n\n\t\t// Different years\n\t\tthis.selectedDateRange = `${fromDate.format('MMM D, YYYY')}${fromTime} - ${toDate.format('MMM D, YYYY')}${toTime}`\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\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 handlePresetSelection(preset: { label: string; range: { dateFrom: string; dateTo: string } }, e: Event) {\n\t\te.stopPropagation()\n\t\tthis.activePreset = preset.label\n\t\tthis.setDateRange(preset.range.dateFrom, preset.range.dateTo)\n\t\tthis.closeDropdown()\n\t}\n\n\tprivate handleClearSelection(e: Event) {\n\t\te.stopPropagation()\n\t\tconst emptyDate = ''\n\t\tthis.setDateRange(emptyDate, emptyDate)\n\t\tthis.activePreset = null\n\t\tthis.selectedDateRange = this.placeholder\n\t}\n\n\tprivate toggleDropdown(e: Event) {\n\t\te.stopPropagation()\n\t\tif (this.disabled) return\n\n\t\tif (this.isOpen) {\n\t\t\tthis.closeDropdown()\n\t\t} else {\n\t\t\tthis.openDropdown()\n\t\t}\n\t}\n\n\tprivate openDropdown() {\n\t\tif (this.disabled) return\n\t\tthis.isOpen = true\n\t}\n\n\tprivate closeDropdown() {\n\t\tthis.isOpen = false\n\t}\n\n\t/**\n\t * Helper method to safely add/subtract quarter values\n\t */\n\tprivate adjustQuarter(date: dayjs.Dayjs, amount: number, direction: 1 | -1): dayjs.Dayjs {\n\t\t// Get current quarter (1-4)\n\t\tconst currentQuarter = date.quarter()\n\n\t\t// Calculate new quarter\n\t\tlet newQuarter = currentQuarter + direction * amount\n\t\tlet yearAdjustment = 0\n\n\t\t// Handle year boundaries\n\t\twhile (newQuarter > 4) {\n\t\t\tnewQuarter -= 4\n\t\t\tyearAdjustment += 1\n\t\t}\n\n\t\twhile (newQuarter < 1) {\n\t\t\tnewQuarter += 4\n\t\t\tyearAdjustment -= 1\n\t\t}\n\n\t\t// Adjust year if needed\n\t\tconst adjustedDate = date.add(yearAdjustment, 'year')\n\n\t\t// Set to the start of the new quarter\n\t\tconst newDate = adjustedDate.month((newQuarter - 1) * 3)\n\n\t\t// Maintain the same day of month if possible\n\t\tconst daysInMonth = newDate.daysInMonth()\n\t\tconst targetDay = Math.min(date.date(), daysInMonth)\n\n\t\treturn newDate.date(targetDay)\n\t}\n\n\t/**\n\t * Shifts the date range based on its type (preset or custom)\n\t * Enhanced to properly handle various time units and preserve date patterns\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\n\t\t// Convert direction to a type that our helper methods can use\n\t\tconst dir = direction > 0 ? 1 : -1\n\n\t\tlet newFromDate: dayjs.Dayjs\n\t\tlet newToDate: dayjs.Dayjs\n\n\t\t// For preset ranges, use their specific step unit\n\t\tconst activePreset = this.presetRanges.find(p => p.label === this.activePreset)\n\n\t\t// Detect if the date range represents full time periods\n\t\tconst isFullMonth = fromDate.date() === 1 && toDate.isSame(fromDate.endOf('month'), 'day')\n\t\tconst isFullQuarter =\n\t\t\tfromDate.isSame(fromDate.startOf('quarter'), 'day') && toDate.isSame(toDate.endOf('quarter'), 'day')\n\t\tconst isFullYear = fromDate.isSame(fromDate.startOf('year'), 'day') && toDate.isSame(toDate.endOf('year'), 'day')\n\t\tconst isFullWeek = fromDate.day() === 0 && toDate.day() === 6 && toDate.diff(fromDate, 'days') === 6\n\n\t\t// Determine shift unit and amount\n\t\tlet unit: ExtendedTimeUnit = 'day'\n\t\tlet amount = 1\n\n\t\tif (activePreset) {\n\t\t\t// Use the preset's specific unit (day, week, month, quarter, year)\n\t\t\tunit = activePreset.step\n\t\t\tamount = 1 // For presets, we shift by one unit\n\t\t} else {\n\t\t\t// For custom ranges, calculate the appropriate step size\n\t\t\tconst rangeDurationInDays = toDate.diff(fromDate, 'day')\n\n\t\t\t// For very long ranges, use years\n\t\t\tif (rangeDurationInDays >= 360) {\n\t\t\t\tunit = 'year'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 365)\n\t\t\t}\n\t\t\t// For long ranges, use quarters\n\t\t\telse if (rangeDurationInDays >= 90) {\n\t\t\t\tunit = 'quarter'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 90)\n\t\t\t}\n\t\t\t// For medium-long ranges, use months\n\t\t\telse if (rangeDurationInDays >= 30) {\n\t\t\t\tunit = 'month'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 30)\n\t\t\t}\n\t\t\t// For medium ranges, use weeks\n\t\t\telse if (rangeDurationInDays >= 7) {\n\t\t\t\tunit = 'week'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 7)\n\t\t\t}\n\t\t\t// For shorter ranges, use days\n\t\t\telse {\n\t\t\t\tunit = 'day'\n\t\t\t\tamount = rangeDurationInDays + 1 // Include both start and end days\n\t\t\t}\n\t\t}\n\n\t\t// Handle special case for quarters\n\t\tif (unit === 'quarter') {\n\t\t\tif (isFullQuarter) {\n\t\t\t\t// Full quarter logic\n\t\t\t\tif (dir > 0) {\n\t\t\t\t\tnewFromDate = this.adjustQuarter(fromDate, amount, 1).startOf('quarter')\n\t\t\t\t\tnewToDate = newFromDate.endOf('quarter')\n\t\t\t\t} else {\n\t\t\t\t\tnewFromDate = this.adjustQuarter(fromDate, amount, -1).startOf('quarter')\n\t\t\t\t\tnewToDate = newFromDate.endOf('quarter')\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Partial quarter logic - maintain day pattern\n\t\t\t\tif (dir > 0) {\n\t\t\t\t\tnewFromDate = this.adjustQuarter(fromDate, amount, 1)\n\t\t\t\t\tnewToDate = this.adjustQuarter(toDate, amount, 1)\n\t\t\t\t} else {\n\t\t\t\t\tnewFromDate = this.adjustQuarter(fromDate, amount, -1)\n\t\t\t\t\tnewToDate = this.adjustQuarter(toDate, amount, -1)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// For hour-based units (used in datetime-local type)\n\t\telse if (unit === 'hour') {\n\t\t\tconst rangeDurationInHours = toDate.diff(fromDate, 'hour')\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(rangeDurationInHours, 'hour')\n\t\t\t\tnewToDate = toDate.add(rangeDurationInHours, 'hour')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(rangeDurationInHours, 'hour')\n\t\t\t\tnewToDate = toDate.subtract(rangeDurationInHours, 'hour')\n\t\t\t}\n\t\t}\n\t\t// For year-based shifting\n\t\telse if (unit === 'year' && isFullYear) {\n\t\t\t// For full year ranges\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'year').startOf('year')\n\t\t\t\tnewToDate = newFromDate.endOf('year')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'year').startOf('year')\n\t\t\t\tnewToDate = newFromDate.endOf('year')\n\t\t\t}\n\t\t} else if (unit === 'year') {\n\t\t\t// For year unit but not full year range\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'year')\n\t\t\t\tnewToDate = toDate.add(amount, 'year')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'year')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'year')\n\t\t\t}\n\t\t}\n\t\t// For month-based shifting\n\t\telse if (unit === 'month' && isFullMonth) {\n\t\t\t// For full month ranges\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'month').startOf('month')\n\t\t\t\tnewToDate = newFromDate.endOf('month')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'month').startOf('month')\n\t\t\t\tnewToDate = newFromDate.endOf('month')\n\t\t\t}\n\t\t} else if (unit === 'month') {\n\t\t\t// For month unit but not a full month range\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'month')\n\t\t\t\tnewToDate = toDate.add(amount, 'month')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'month')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'month')\n\t\t\t}\n\t\t}\n\t\t// For week-based shifting\n\t\telse if (unit === 'week' && isFullWeek) {\n\t\t\t// For full week ranges\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'week').startOf('week')\n\t\t\t\tnewToDate = newFromDate.endOf('week')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'week').startOf('week')\n\t\t\t\tnewToDate = newFromDate.endOf('week')\n\t\t\t}\n\t\t} else if (unit === 'week') {\n\t\t\t// For week unit but not full week range\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'week')\n\t\t\t\tnewToDate = toDate.add(amount, 'week')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'week')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'week')\n\t\t\t}\n\t\t}\n\t\t// For day-based shifting (default)\n\t\telse {\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'day')\n\t\t\t\tnewToDate = toDate.add(amount, 'day')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'day')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'day')\n\t\t\t}\n\t\t}\n\n\t\t// Format the new dates and update the range\n\t\tconst newFromDateStr = newFromDate.format(format)\n\t\tconst newToDateStr = newToDate.format(format)\n\n\t\t// Set new date range\n\t\tthis.setDateRange(newFromDateStr, newToDateStr)\n\n\t\t// Check if the new date range matches a preset, and update activePreset if needed\n\t\tthis.checkAndUpdateActivePreset(newFromDateStr, newToDateStr)\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\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\treturn\n\t\t}\n\n\t\t// Ensure from date is before to date\n\t\tif (fromDate.isAfter(toDate)) {\n\t\t\tthis.setDateRange(toDate.format(this.getDateFormat()), fromDate.format(this.getDateFormat()))\n\t\t} else {\n\t\t\tthis.setDateRange(this.dateFrom.value, this.dateTo.value)\n\t\t}\n\n\t\tthis.closeDropdown()\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<!-- Trigger using the preferred schmancy-grid pattern -->\n\t\t\t\t<div class=\"trigger-container\">\n\t\t\t\t\t<schmancy-grid @click=${(event: Event) => event.stopPropagation()} align=\"center\" cols=\"auto 1fr auto\">\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=\"Shift date range backward\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(-1, e)}\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\t@click=${(e: Event) => this.toggleDropdown(e)}\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=\"Shift date range forward\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(1, e)}\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\t</schmancy-grid>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Dropdown -->\n\t\t\t\t${this.isOpen\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<schmancy-surface\n\t\t\t\t\t\t\t\tclass=\"dropdown absolute z-50 mt-1 min-w-64 max-w-96\"\n\t\t\t\t\t\t\t\trounded=\"all\"\n\t\t\t\t\t\t\t\televation=\"3\"\n\t\t\t\t\t\t\t\ttype=\"containerHigh\"\n\t\t\t\t\t\t\t\t@click=\"${(e: Event) => e.stopPropagation()}\"\n\t\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\t\taria-label=\"Date range picker\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<!-- Presets view with categories -->\n\t\t\t\t\t\t\t\t<div class=\"p-4\">\n\t\t\t\t\t\t\t\t\t<div class=\"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4 max-h-96 overflow-y-auto\">\n\t\t\t\t\t\t\t\t\t\t${this.presetCategories.map(\n\t\t\t\t\t\t\t\t\t\t\tcategory => html`\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex flex-col\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\" class=\"mb-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${category.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-grid gap=\"xs\" class=\"mb-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${category.presets.map(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"${this.activePreset === preset.label ? 'filled tonal' : 'text'}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth=\"full\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"text-left justify-start\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${(e: Event) => this.handlePresetSelection(preset, e)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"body\" token=\"md\"> ${preset.label} </schmancy-typography>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-grid>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t<!-- Manual date inputs -->\n\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\" class=\"mb-2\"> Custom Range </schmancy-typography>\n\t\t\t\t\t\t\t\t\t<schmancy-grid gap=\"md\" cols=\"1fr 1fr\" class=\"mb-4\">\n\t\t\t\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"${this.dateFrom.label || 'From'}\"\n\t\t\t\t\t\t\t\t\t\t\t.value=\"${this.dateFrom.value}\"\n\t\t\t\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.minDate)}\"\n\t\t\t\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t\t\t\t@change=\"${(e: CustomEvent) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\tthis.dateFrom.value = e.detail.value\n\t\t\t\t\t\t\t\t\t\t\t\tthis.updateSelectedDateRange()\n\t\t\t\t\t\t\t\t\t\t\t}}\"\n\t\t\t\t\t\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"${this.dateTo.label || 'To'}\"\n\t\t\t\t\t\t\t\t\t\t\t.value=\"${this.dateTo.value}\"\n\t\t\t\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.dateFrom.value)}\"\n\t\t\t\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t\t\t\t@change=\"${(e: CustomEvent) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\tthis.dateTo.value = e.detail.value\n\t\t\t\t\t\t\t\t\t\t\t\tthis.updateSelectedDateRange()\n\t\t\t\t\t\t\t\t\t\t\t}}\"\n\t\t\t\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t\t\t\t</schmancy-grid>\n\n\t\t\t\t\t\t\t\t\t<!-- Action buttons -->\n\t\t\t\t\t\t\t\t\t<div class=\"flex justify-between\">\n\t\t\t\t\t\t\t\t\t\t${this.clearable\n\t\t\t\t\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-button variant=\"text\" @click=\"${(e: Event) => this.handleClearSelection(e)}\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t\t\t\t\t: html`<div></div>`}\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"flex space-x-2\">\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${(e: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t\t\t\t\t\t\t\t\t}}\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-button variant=\"filled\" @click=\"${(e: Event) => this.applyManualDateSelection(e)}\">\n\t\t\t\t\t\t\t\t\t\t\t\tApply\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</schmancy-surface>\n\t\t\t\t\t\t`\n\t\t\t\t\t: ''}\n\t\t\t</div>\n\t\t`\n\t}\n}\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","enforceDateFormat","dateString","expectedFormat","parsedDate","dayjs","quarterOfYear","SchmancyDateRange","$LitElement","constructor","super","type","dateFrom","label","value","dateTo","customPresets","disabled","required","placeholder","clearable","isOpen","selectedDateRange","activePreset","presetRanges","presetCategories","connectedCallback","initPresetRanges","dateFormat","getDateFormat","validatedRange","formattedDateFrom","formattedDateTo","updateSelectedDateRange","now","setupEventHandlers","fromEvent","document","pipe","takeUntil","disconnecting","subscribe","event","target","Node","contains","dropdownRef","closeDropdown","key","preventDefault","disconnectedCallback","cleanupPositioner","changedProps","updated","has","requestAnimationFrame","setupDropdownPosition","triggerRef","autoUpdate","computePosition","placement","middleware","offset","flip","shift","padding","then","Object","assign","style","left","top","presets","range","step","unshift","category","push","customCategory","map","preset","find","checkAndUpdateActivePreset","fromDate","fromTime","toTime","dispatchEvent","CustomEvent","detail","bubbles","composed","stopPropagation","setDateRange","openDropdown","amount","direction","newQuarter","yearAdjustment","newDate","targetDay","dir","newFromDate","newToDate","isFullMonth","isFullQuarter","isFullYear","isFullWeek","day","unit","rangeDurationInDays","adjustQuarter","rangeDurationInHours","newFromDateStr","newToDateStr","matchingPreset","render","html","shiftDateRange","toggleDropdown","handlePresetSelection","ifDefined","minDate","maxDate","handleClearSelection","applyManualDateSelection","__decorateClass","property","Boolean","state","query","customElement"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"date-range-Cq0diVSY.cjs","sources":["../../../../.yarn/berry/cache/dayjs-npm-1.11.13-d478bb9479-10c0.zip/node_modules/dayjs/dayjs.min.js","../../../../.yarn/berry/cache/dayjs-npm-1.11.13-d478bb9479-10c0.zip/node_modules/dayjs/plugin/quarterOfYear.js","../src/date-range/date-utils.ts","../src/date-range/date-range.ts"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(t,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_quarterOfYear=n()}(this,(function(){\"use strict\";var t=\"month\",n=\"quarter\";return function(e,i){var r=i.prototype;r.quarter=function(t){return this.$utils().u(t)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(t-1))};var s=r.add;r.add=function(e,i){return e=Number(e),this.$utils().p(i)===n?this.add(3*e,t):s.bind(this)(e,i)};var u=r.startOf;r.startOf=function(e,i){var r=this.$utils(),s=!!r.u(i)||i;if(r.p(e)===n){var o=this.quarter()-1;return s?this.month(3*o).startOf(t).startOf(\"day\"):this.month(3*o+2).endOf(t).endOf(\"day\")}return u.bind(this)(e,i)}}}));","import dayjs from 'dayjs'\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 { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport dayjs from 'dayjs'\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear'\nimport { html, PropertyValues } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { fromEvent, takeUntil } from 'rxjs'\nimport { validateInitialDateRange } from './date-utils'\n\n// Add quarter plugin to dayjs\ndayjs.extend(quarterOfYear)\n\nexport type SchmancyDateRangeChangeEvent = CustomEvent<{\n\tdateFrom: string\n\tdateTo: string\n}>\n\n// Custom type to include 'quarter' as a valid unit\ntype ExtendedTimeUnit = dayjs.OpUnitType | 'quarter'\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\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\n\t// Default presets\n\tprivate presetRanges: Array<{\n\t\tlabel: string\n\t\trange: { dateFrom: string; dateTo: string }\n\t\tstep: ExtendedTimeUnit\n\t}> = []\n\n\t// Categorized presets\n\tprivate presetCategories: Array<{\n\t\tname: string\n\t\tpresets: Array<{\n\t\t\tlabel: string\n\t\t\trange: { dateFrom: string; dateTo: string }\n\t\t\tstep: ExtendedTimeUnit\n\t\t}>\n\t}> = []\n\n\t// DOM references\n\t@query('.trigger-container') private triggerRef!: HTMLElement\n\t@query('.dropdown') private dropdownRef!: HTMLElement\n\n\t// Positioning cleanup\n\tprivate cleanupPositioner?: () => void\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\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// Close dropdown when clicking outside\n\t\tfromEvent<MouseEvent>(document, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(event => {\n\t\t\t\tif (\n\t\t\t\t\tthis.isOpen &&\n\t\t\t\t\tevent.target instanceof Node &&\n\t\t\t\t\t!this.contains(event.target) &&\n\t\t\t\t\t(!this.dropdownRef || !this.dropdownRef.contains(event.target as Node))\n\t\t\t\t) {\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t}\n\t\t\t})\n\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\tif (!this.isOpen) return\n\n\t\t\t\tif (event.key === 'Escape') {\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tsuper.disconnectedCallback()\n\t\tthis.cleanupPositioner?.()\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\n\t\tif (changedProps.has('isOpen')) {\n\t\t\tif (this.isOpen) {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tthis.setupDropdownPosition()\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tthis.cleanupPositioner?.()\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate setupDropdownPosition() {\n\t\tif (!this.triggerRef || !this.dropdownRef) return\n\n\t\tthis.cleanupPositioner = autoUpdate(this.triggerRef, this.dropdownRef, () => {\n\t\t\tcomputePosition(this.triggerRef, this.dropdownRef, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: [offset(8), flip(), shift({ padding: 16 })],\n\t\t\t}).then(({ x, y }) => {\n\t\t\t\tObject.assign(this.dropdownRef.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate initPresetRanges() {\n\t\tconst format = this.getDateFormat()\n\n\t\t// Define categories with their presets\n\t\tthis.presetCategories = [\n\t\t\t{\n\t\t\t\tname: 'Days',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Today',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Yesterday',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'days').startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'days').endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 7 Days',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(6, 'days').startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 30 Days',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(29, 'days').startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 90 Days',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(89, 'days').startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Weeks',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'This Week',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('week').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('week').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'week',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last Week',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'weeks').startOf('week').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'weeks').endOf('week').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'week',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Months',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'This Month',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('month').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('month').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'month',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last Month',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'month').startOf('month').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'month').endOf('month').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'month',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Quarters',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'This Quarter',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('quarter').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('quarter').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'quarter',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last Quarter',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'quarter').startOf('quarter').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'quarter').endOf('quarter').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'quarter',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Years',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'This Year',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('year').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('year').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'year',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last Year',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'year').startOf('year').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'year').endOf('year').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'year',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Year to Date',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('year').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t]\n\n\t\t// For datetime-local type, add time-specific presets\n\t\tif (this.type === 'datetime-local') {\n\t\t\tthis.presetCategories.unshift({\n\t\t\t\tname: 'Hours',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 24 Hours',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(24, 'hours').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'hour',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 12 Hours',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(12, 'hours').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'hour',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t})\n\t\t}\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 = {\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 ExtendedTimeUnit,\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}\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\n\t\tif (!this.dateFrom.value || !this.dateTo.value) {\n\t\t\tthis.selectedDateRange = this.placeholder\n\t\t\treturn\n\t\t}\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()) {\n\t\t\tthis.selectedDateRange = this.placeholder\n\t\t\treturn\n\t\t}\n\n\t\t// Format times if needed (for datetime-local)\n\t\tconst fromTime = this.type === 'datetime-local' ? fromDate.format(' h:mm A') : ''\n\t\tconst toTime = this.type === 'datetime-local' ? toDate.format(' h:mm A') : ''\n\n\t\t// Check if same day\n\t\tif (fromDate.isSame(toDate, 'day')) {\n\t\t\tthis.selectedDateRange = `${fromDate.format('MMM D, YYYY')}${fromTime}`\n\t\t\treturn\n\t\t}\n\n\t\t// Check if same month and year\n\t\tif (fromDate.isSame(toDate, 'month') && fromDate.isSame(toDate, 'year')) {\n\t\t\tthis.selectedDateRange = `${fromDate.format('MMM D')}-${toDate.format('D, YYYY')}${toTime}`\n\t\t\treturn\n\t\t}\n\n\t\t// Check if same year\n\t\tif (fromDate.isSame(toDate, 'year')) {\n\t\t\tthis.selectedDateRange = `${fromDate.format('MMM D')} - ${toDate.format('MMM D, YYYY')}${toTime}`\n\t\t\treturn\n\t\t}\n\n\t\t// Different years\n\t\tthis.selectedDateRange = `${fromDate.format('MMM D, YYYY')}${fromTime} - ${toDate.format('MMM D, YYYY')}${toTime}`\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\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 handlePresetSelection(preset: { label: string; range: { dateFrom: string; dateTo: string } }, e: Event) {\n\t\te.stopPropagation()\n\t\tthis.activePreset = preset.label\n\t\tthis.setDateRange(preset.range.dateFrom, preset.range.dateTo)\n\t\tthis.closeDropdown()\n\t}\n\n\tprivate handleClearSelection(e: Event) {\n\t\te.stopPropagation()\n\t\tconst emptyDate = ''\n\t\tthis.setDateRange(emptyDate, emptyDate)\n\t\tthis.activePreset = null\n\t\tthis.selectedDateRange = this.placeholder\n\t}\n\n\tprivate toggleDropdown(e: Event) {\n\t\te.stopPropagation()\n\t\tif (this.disabled) return\n\n\t\tif (this.isOpen) {\n\t\t\tthis.closeDropdown()\n\t\t} else {\n\t\t\tthis.openDropdown()\n\t\t}\n\t}\n\n\tprivate openDropdown() {\n\t\tif (this.disabled) return\n\t\tthis.isOpen = true\n\t}\n\n\tprivate closeDropdown() {\n\t\tthis.isOpen = false\n\t}\n\n\t/**\n\t * Helper method to safely add/subtract quarter values\n\t */\n\tprivate adjustQuarter(date: dayjs.Dayjs, amount: number, direction: 1 | -1): dayjs.Dayjs {\n\t\t// Get current quarter (1-4)\n\t\tconst currentQuarter = date.quarter()\n\n\t\t// Calculate new quarter\n\t\tlet newQuarter = currentQuarter + direction * amount\n\t\tlet yearAdjustment = 0\n\n\t\t// Handle year boundaries\n\t\twhile (newQuarter > 4) {\n\t\t\tnewQuarter -= 4\n\t\t\tyearAdjustment += 1\n\t\t}\n\n\t\twhile (newQuarter < 1) {\n\t\t\tnewQuarter += 4\n\t\t\tyearAdjustment -= 1\n\t\t}\n\n\t\t// Adjust year if needed\n\t\tconst adjustedDate = date.add(yearAdjustment, 'year')\n\n\t\t// Set to the start of the new quarter\n\t\tconst newDate = adjustedDate.month((newQuarter - 1) * 3)\n\n\t\t// Maintain the same day of month if possible\n\t\tconst daysInMonth = newDate.daysInMonth()\n\t\tconst targetDay = Math.min(date.date(), daysInMonth)\n\n\t\treturn newDate.date(targetDay)\n\t}\n\n\t/**\n\t * Shifts the date range based on its type (preset or custom)\n\t * Enhanced to properly handle various time units and preserve date patterns\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\n\t\t// Convert direction to a type that our helper methods can use\n\t\tconst dir = direction > 0 ? 1 : -1\n\n\t\tlet newFromDate: dayjs.Dayjs\n\t\tlet newToDate: dayjs.Dayjs\n\n\t\t// For preset ranges, use their specific step unit\n\t\tconst activePreset = this.presetRanges.find(p => p.label === this.activePreset)\n\n\t\t// Detect if the date range represents full time periods\n\t\tconst isFullMonth = fromDate.date() === 1 && toDate.isSame(fromDate.endOf('month'), 'day')\n\t\tconst isFullQuarter =\n\t\t\tfromDate.isSame(fromDate.startOf('quarter'), 'day') && toDate.isSame(toDate.endOf('quarter'), 'day')\n\t\tconst isFullYear = fromDate.isSame(fromDate.startOf('year'), 'day') && toDate.isSame(toDate.endOf('year'), 'day')\n\t\tconst isFullWeek = fromDate.day() === 0 && toDate.day() === 6 && toDate.diff(fromDate, 'days') === 6\n\n\t\t// Determine shift unit and amount\n\t\tlet unit: ExtendedTimeUnit = 'day'\n\t\tlet amount = 1\n\n\t\tif (activePreset) {\n\t\t\t// Use the preset's specific unit (day, week, month, quarter, year)\n\t\t\tunit = activePreset.step\n\t\t\tamount = 1 // For presets, we shift by one unit\n\t\t} else {\n\t\t\t// For custom ranges, calculate the appropriate step size\n\t\t\tconst rangeDurationInDays = toDate.diff(fromDate, 'day')\n\n\t\t\t// For very long ranges, use years\n\t\t\tif (rangeDurationInDays >= 360) {\n\t\t\t\tunit = 'year'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 365)\n\t\t\t}\n\t\t\t// For long ranges, use quarters\n\t\t\telse if (rangeDurationInDays >= 90) {\n\t\t\t\tunit = 'quarter'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 90)\n\t\t\t}\n\t\t\t// For medium-long ranges, use months\n\t\t\telse if (rangeDurationInDays >= 30) {\n\t\t\t\tunit = 'month'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 30)\n\t\t\t}\n\t\t\t// For medium ranges, use weeks\n\t\t\telse if (rangeDurationInDays >= 7) {\n\t\t\t\tunit = 'week'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 7)\n\t\t\t}\n\t\t\t// For shorter ranges, use days\n\t\t\telse {\n\t\t\t\tunit = 'day'\n\t\t\t\tamount = rangeDurationInDays + 1 // Include both start and end days\n\t\t\t}\n\t\t}\n\n\t\t// Handle special case for quarters\n\t\tif (unit === 'quarter') {\n\t\t\tif (isFullQuarter) {\n\t\t\t\t// Full quarter logic\n\t\t\t\tif (dir > 0) {\n\t\t\t\t\tnewFromDate = this.adjustQuarter(fromDate, amount, 1).startOf('quarter')\n\t\t\t\t\tnewToDate = newFromDate.endOf('quarter')\n\t\t\t\t} else {\n\t\t\t\t\tnewFromDate = this.adjustQuarter(fromDate, amount, -1).startOf('quarter')\n\t\t\t\t\tnewToDate = newFromDate.endOf('quarter')\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Partial quarter logic - maintain day pattern\n\t\t\t\tif (dir > 0) {\n\t\t\t\t\tnewFromDate = this.adjustQuarter(fromDate, amount, 1)\n\t\t\t\t\tnewToDate = this.adjustQuarter(toDate, amount, 1)\n\t\t\t\t} else {\n\t\t\t\t\tnewFromDate = this.adjustQuarter(fromDate, amount, -1)\n\t\t\t\t\tnewToDate = this.adjustQuarter(toDate, amount, -1)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// For hour-based units (used in datetime-local type)\n\t\telse if (unit === 'hour') {\n\t\t\tconst rangeDurationInHours = toDate.diff(fromDate, 'hour')\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(rangeDurationInHours, 'hour')\n\t\t\t\tnewToDate = toDate.add(rangeDurationInHours, 'hour')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(rangeDurationInHours, 'hour')\n\t\t\t\tnewToDate = toDate.subtract(rangeDurationInHours, 'hour')\n\t\t\t}\n\t\t}\n\t\t// For year-based shifting\n\t\telse if (unit === 'year' && isFullYear) {\n\t\t\t// For full year ranges\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'year').startOf('year')\n\t\t\t\tnewToDate = newFromDate.endOf('year')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'year').startOf('year')\n\t\t\t\tnewToDate = newFromDate.endOf('year')\n\t\t\t}\n\t\t} else if (unit === 'year') {\n\t\t\t// For year unit but not full year range\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'year')\n\t\t\t\tnewToDate = toDate.add(amount, 'year')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'year')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'year')\n\t\t\t}\n\t\t}\n\t\t// For month-based shifting\n\t\telse if (unit === 'month' && isFullMonth) {\n\t\t\t// For full month ranges\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'month').startOf('month')\n\t\t\t\tnewToDate = newFromDate.endOf('month')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'month').startOf('month')\n\t\t\t\tnewToDate = newFromDate.endOf('month')\n\t\t\t}\n\t\t} else if (unit === 'month') {\n\t\t\t// For month unit but not a full month range\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'month')\n\t\t\t\tnewToDate = toDate.add(amount, 'month')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'month')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'month')\n\t\t\t}\n\t\t}\n\t\t// For week-based shifting\n\t\telse if (unit === 'week' && isFullWeek) {\n\t\t\t// For full week ranges\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'week').startOf('week')\n\t\t\t\tnewToDate = newFromDate.endOf('week')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'week').startOf('week')\n\t\t\t\tnewToDate = newFromDate.endOf('week')\n\t\t\t}\n\t\t} else if (unit === 'week') {\n\t\t\t// For week unit but not full week range\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'week')\n\t\t\t\tnewToDate = toDate.add(amount, 'week')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'week')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'week')\n\t\t\t}\n\t\t}\n\t\t// For day-based shifting (default)\n\t\telse {\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'day')\n\t\t\t\tnewToDate = toDate.add(amount, 'day')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'day')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'day')\n\t\t\t}\n\t\t}\n\n\t\t// Format the new dates and update the range\n\t\tconst newFromDateStr = newFromDate.format(format)\n\t\tconst newToDateStr = newToDate.format(format)\n\n\t\t// Set new date range\n\t\tthis.setDateRange(newFromDateStr, newToDateStr)\n\n\t\t// Check if the new date range matches a preset, and update activePreset if needed\n\t\tthis.checkAndUpdateActivePreset(newFromDateStr, newToDateStr)\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\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\treturn\n\t\t}\n\n\t\t// Ensure from date is before to date\n\t\tif (fromDate.isAfter(toDate)) {\n\t\t\tthis.setDateRange(toDate.format(this.getDateFormat()), fromDate.format(this.getDateFormat()))\n\t\t} else {\n\t\t\tthis.setDateRange(this.dateFrom.value, this.dateTo.value)\n\t\t}\n\n\t\tthis.closeDropdown()\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<!-- Trigger using the preferred schmancy-grid pattern -->\n\t\t\t\t<div class=\"trigger-container\">\n\t\t\t\t\t<schmancy-grid @click=${(event: Event) => event.stopPropagation()} align=\"center\" cols=\"auto 1fr auto\">\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=\"Shift date range backward\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(-1, e)}\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\t@click=${(e: Event) => this.toggleDropdown(e)}\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=\"Shift date range forward\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(1, e)}\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\t</schmancy-grid>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Dropdown -->\n\t\t\t\t${this.isOpen\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<schmancy-surface\n\t\t\t\t\t\t\t\tclass=\"z-50 mt-1 min-w-64 max-w-96\"\n\t\t\t\t\t\t\t\trounded=\"all\"\n\t\t\t\t\t\t\t\televation=\"3\"\n\t\t\t\t\t\t\t\ttype=\"containerHigh\"\n\t\t\t\t\t\t\t\t@click=\"${(e: Event) => e.stopPropagation()}\"\n\t\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\t\taria-label=\"Date range picker\"\n\t\t\t\t\t\t\t\tfill=\"all\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<!-- Presets view with categories -->\n\t\t\t\t\t\t\t\t<div class=\"p-4\">\n\t\t\t\t\t\t\t\t\t<div class=\"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4 max-h-96 overflow-y-auto\">\n\t\t\t\t\t\t\t\t\t\t${this.presetCategories.map(\n\t\t\t\t\t\t\t\t\t\t\tcategory => html`\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex flex-col\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\" class=\"mb-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${category.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-grid gap=\"xs\" class=\"mb-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${category.presets.map(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"${this.activePreset === preset.label ? 'filled tonal' : 'text'}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth=\"full\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"text-left justify-start\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${(e: Event) => this.handlePresetSelection(preset, e)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"body\" token=\"md\"> ${preset.label} </schmancy-typography>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-grid>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t<!-- Manual date inputs -->\n\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\" class=\"mb-2\"> Custom Range </schmancy-typography>\n\t\t\t\t\t\t\t\t\t<schmancy-grid gap=\"md\" cols=\"1fr 1fr\" class=\"mb-4\">\n\t\t\t\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"${this.dateFrom.label || 'From'}\"\n\t\t\t\t\t\t\t\t\t\t\t.value=\"${this.dateFrom.value}\"\n\t\t\t\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.minDate)}\"\n\t\t\t\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t\t\t\t@change=\"${(e: CustomEvent) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\tthis.dateFrom.value = e.detail.value\n\t\t\t\t\t\t\t\t\t\t\t\tthis.updateSelectedDateRange()\n\t\t\t\t\t\t\t\t\t\t\t}}\"\n\t\t\t\t\t\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"${this.dateTo.label || 'To'}\"\n\t\t\t\t\t\t\t\t\t\t\t.value=\"${this.dateTo.value}\"\n\t\t\t\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.dateFrom.value)}\"\n\t\t\t\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t\t\t\t@change=\"${(e: CustomEvent) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\tthis.dateTo.value = e.detail.value\n\t\t\t\t\t\t\t\t\t\t\t\tthis.updateSelectedDateRange()\n\t\t\t\t\t\t\t\t\t\t\t}}\"\n\t\t\t\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t\t\t\t</schmancy-grid>\n\n\t\t\t\t\t\t\t\t\t<!-- Action buttons -->\n\t\t\t\t\t\t\t\t\t<div class=\"flex justify-between\">\n\t\t\t\t\t\t\t\t\t\t${this.clearable\n\t\t\t\t\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-button variant=\"text\" @click=\"${(e: Event) => this.handleClearSelection(e)}\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t\t\t\t\t: html`<div></div>`}\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"flex space-x-2\">\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${(e: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t\t\t\t\t\t\t\t\t}}\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-button variant=\"filled\" @click=\"${(e: Event) => this.applyManualDateSelection(e)}\">\n\t\t\t\t\t\t\t\t\t\t\t\tApply\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</schmancy-surface>\n\t\t\t\t\t\t`\n\t\t\t\t\t: ''}\n\t\t\t</div>\n\t\t`\n\t}\n}\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","enforceDateFormat","dateString","expectedFormat","parsedDate","dayjs","quarterOfYear","SchmancyDateRange","$LitElement","constructor","super","type","dateFrom","label","value","dateTo","customPresets","disabled","required","placeholder","clearable","isOpen","selectedDateRange","activePreset","presetRanges","presetCategories","connectedCallback","initPresetRanges","dateFormat","getDateFormat","validatedRange","formattedDateFrom","formattedDateTo","updateSelectedDateRange","now","setupEventHandlers","fromEvent","document","pipe","takeUntil","disconnecting","subscribe","event","target","Node","contains","dropdownRef","closeDropdown","key","preventDefault","disconnectedCallback","cleanupPositioner","changedProps","updated","has","requestAnimationFrame","setupDropdownPosition","triggerRef","autoUpdate","computePosition","placement","middleware","offset","flip","shift","padding","then","Object","assign","style","left","top","presets","range","step","unshift","category","push","customCategory","map","preset","find","checkAndUpdateActivePreset","fromDate","fromTime","toTime","dispatchEvent","CustomEvent","detail","bubbles","composed","stopPropagation","setDateRange","openDropdown","amount","direction","newQuarter","yearAdjustment","newDate","targetDay","dir","newFromDate","newToDate","isFullMonth","isFullQuarter","isFullYear","isFullWeek","day","unit","rangeDurationInDays","adjustQuarter","rangeDurationInHours","newFromDateStr","newToDateStr","matchingPreset","render","html","shiftDateRange","toggleDropdown","handlePresetSelection","ifDefined","minDate","maxDate","handleClearSelection","applyManualDateSelection","__decorateClass","property","Boolean","state","query","customElement"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -2,8 +2,8 @@ import { autoUpdate as lt, computePosition as ft, offset as pt, flip as mt, shif
|
|
|
2
2
|
import { fromEvent as at, takeUntil as rt } from "rxjs";
|
|
3
3
|
import "lit/directives/class-map.js";
|
|
4
4
|
import "lit/directives/style-map.js";
|
|
5
|
-
import { $ as gt } from "./litElement.mixin-
|
|
6
|
-
import "./tailwind.mixin-
|
|
5
|
+
import { $ as gt } from "./litElement.mixin-C6PzcPXd.js";
|
|
6
|
+
import "./tailwind.mixin-Du4i6vQR.js";
|
|
7
7
|
import { html as L } from "lit";
|
|
8
8
|
import { property as Y, state as K, query as st, customElement as vt } from "lit/decorators.js";
|
|
9
9
|
import { ifDefined as J } from "lit/directives/if-defined.js";
|
|
@@ -467,13 +467,14 @@ let w = class extends gt() {
|
|
|
467
467
|
<!-- Dropdown -->
|
|
468
468
|
${this.isOpen ? L`
|
|
469
469
|
<schmancy-surface
|
|
470
|
-
class="
|
|
470
|
+
class="z-50 mt-1 min-w-64 max-w-96"
|
|
471
471
|
rounded="all"
|
|
472
472
|
elevation="3"
|
|
473
473
|
type="containerHigh"
|
|
474
474
|
@click="${(t) => t.stopPropagation()}"
|
|
475
475
|
role="dialog"
|
|
476
476
|
aria-label="Date range picker"
|
|
477
|
+
fill="all"
|
|
477
478
|
>
|
|
478
479
|
<!-- Presets view with categories -->
|
|
479
480
|
<div class="p-4">
|
|
@@ -559,4 +560,4 @@ S([Y({ type: String })], w.prototype, "type", 2), S([Y({ type: Object })], w.pro
|
|
|
559
560
|
export {
|
|
560
561
|
w as S
|
|
561
562
|
};
|
|
562
|
-
//# sourceMappingURL=date-range-
|
|
563
|
+
//# sourceMappingURL=date-range-wxdt6Ha0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-range-wxdt6Ha0.js","sources":["../../../../.yarn/berry/cache/dayjs-npm-1.11.13-d478bb9479-10c0.zip/node_modules/dayjs/dayjs.min.js","../../../../.yarn/berry/cache/dayjs-npm-1.11.13-d478bb9479-10c0.zip/node_modules/dayjs/plugin/quarterOfYear.js","../src/date-range/date-utils.ts","../src/date-range/date-range.ts"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(t,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_quarterOfYear=n()}(this,(function(){\"use strict\";var t=\"month\",n=\"quarter\";return function(e,i){var r=i.prototype;r.quarter=function(t){return this.$utils().u(t)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(t-1))};var s=r.add;r.add=function(e,i){return e=Number(e),this.$utils().p(i)===n?this.add(3*e,t):s.bind(this)(e,i)};var u=r.startOf;r.startOf=function(e,i){var r=this.$utils(),s=!!r.u(i)||i;if(r.p(e)===n){var o=this.quarter()-1;return s?this.month(3*o).startOf(t).startOf(\"day\"):this.month(3*o+2).endOf(t).endOf(\"day\")}return u.bind(this)(e,i)}}}));","import dayjs from 'dayjs'\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 { autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom'\nimport { $LitElement } from '@mixins/index'\nimport dayjs from 'dayjs'\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear'\nimport { html, PropertyValues } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { fromEvent, takeUntil } from 'rxjs'\nimport { validateInitialDateRange } from './date-utils'\n\n// Add quarter plugin to dayjs\ndayjs.extend(quarterOfYear)\n\nexport type SchmancyDateRangeChangeEvent = CustomEvent<{\n\tdateFrom: string\n\tdateTo: string\n}>\n\n// Custom type to include 'quarter' as a valid unit\ntype ExtendedTimeUnit = dayjs.OpUnitType | 'quarter'\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\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\n\t// Default presets\n\tprivate presetRanges: Array<{\n\t\tlabel: string\n\t\trange: { dateFrom: string; dateTo: string }\n\t\tstep: ExtendedTimeUnit\n\t}> = []\n\n\t// Categorized presets\n\tprivate presetCategories: Array<{\n\t\tname: string\n\t\tpresets: Array<{\n\t\t\tlabel: string\n\t\t\trange: { dateFrom: string; dateTo: string }\n\t\t\tstep: ExtendedTimeUnit\n\t\t}>\n\t}> = []\n\n\t// DOM references\n\t@query('.trigger-container') private triggerRef!: HTMLElement\n\t@query('.dropdown') private dropdownRef!: HTMLElement\n\n\t// Positioning cleanup\n\tprivate cleanupPositioner?: () => void\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\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// Close dropdown when clicking outside\n\t\tfromEvent<MouseEvent>(document, 'click')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(event => {\n\t\t\t\tif (\n\t\t\t\t\tthis.isOpen &&\n\t\t\t\t\tevent.target instanceof Node &&\n\t\t\t\t\t!this.contains(event.target) &&\n\t\t\t\t\t(!this.dropdownRef || !this.dropdownRef.contains(event.target as Node))\n\t\t\t\t) {\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t}\n\t\t\t})\n\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\tif (!this.isOpen) return\n\n\t\t\t\tif (event.key === 'Escape') {\n\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tsuper.disconnectedCallback()\n\t\tthis.cleanupPositioner?.()\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\n\t\tif (changedProps.has('isOpen')) {\n\t\t\tif (this.isOpen) {\n\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\tthis.setupDropdownPosition()\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tthis.cleanupPositioner?.()\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate setupDropdownPosition() {\n\t\tif (!this.triggerRef || !this.dropdownRef) return\n\n\t\tthis.cleanupPositioner = autoUpdate(this.triggerRef, this.dropdownRef, () => {\n\t\t\tcomputePosition(this.triggerRef, this.dropdownRef, {\n\t\t\t\tplacement: 'bottom-start',\n\t\t\t\tmiddleware: [offset(8), flip(), shift({ padding: 16 })],\n\t\t\t}).then(({ x, y }) => {\n\t\t\t\tObject.assign(this.dropdownRef.style, {\n\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t})\n\t\t\t})\n\t\t})\n\t}\n\n\tprivate initPresetRanges() {\n\t\tconst format = this.getDateFormat()\n\n\t\t// Define categories with their presets\n\t\tthis.presetCategories = [\n\t\t\t{\n\t\t\t\tname: 'Days',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Today',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Yesterday',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'days').startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'days').endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 7 Days',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(6, 'days').startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 30 Days',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(29, 'days').startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 90 Days',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(89, 'days').startOf('day').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Weeks',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'This Week',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('week').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('week').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'week',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last Week',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'weeks').startOf('week').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'weeks').endOf('week').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'week',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Months',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'This Month',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('month').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('month').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'month',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last Month',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'month').startOf('month').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'month').endOf('month').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'month',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Quarters',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'This Quarter',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('quarter').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('quarter').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'quarter',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last Quarter',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'quarter').startOf('quarter').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'quarter').endOf('quarter').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'quarter',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Years',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'This Year',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('year').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('year').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'year',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last Year',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(1, 'year').startOf('year').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().subtract(1, 'year').endOf('year').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'year',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Year to Date',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().startOf('year').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'day',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t]\n\n\t\t// For datetime-local type, add time-specific presets\n\t\tif (this.type === 'datetime-local') {\n\t\t\tthis.presetCategories.unshift({\n\t\t\t\tname: 'Hours',\n\t\t\t\tpresets: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 24 Hours',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(24, 'hours').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'hour',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: 'Last 12 Hours',\n\t\t\t\t\t\trange: {\n\t\t\t\t\t\t\tdateFrom: dayjs().subtract(12, 'hours').format(format),\n\t\t\t\t\t\t\tdateTo: dayjs().format(format),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstep: 'hour',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t})\n\t\t}\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 = {\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 ExtendedTimeUnit,\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}\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\n\t\tif (!this.dateFrom.value || !this.dateTo.value) {\n\t\t\tthis.selectedDateRange = this.placeholder\n\t\t\treturn\n\t\t}\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()) {\n\t\t\tthis.selectedDateRange = this.placeholder\n\t\t\treturn\n\t\t}\n\n\t\t// Format times if needed (for datetime-local)\n\t\tconst fromTime = this.type === 'datetime-local' ? fromDate.format(' h:mm A') : ''\n\t\tconst toTime = this.type === 'datetime-local' ? toDate.format(' h:mm A') : ''\n\n\t\t// Check if same day\n\t\tif (fromDate.isSame(toDate, 'day')) {\n\t\t\tthis.selectedDateRange = `${fromDate.format('MMM D, YYYY')}${fromTime}`\n\t\t\treturn\n\t\t}\n\n\t\t// Check if same month and year\n\t\tif (fromDate.isSame(toDate, 'month') && fromDate.isSame(toDate, 'year')) {\n\t\t\tthis.selectedDateRange = `${fromDate.format('MMM D')}-${toDate.format('D, YYYY')}${toTime}`\n\t\t\treturn\n\t\t}\n\n\t\t// Check if same year\n\t\tif (fromDate.isSame(toDate, 'year')) {\n\t\t\tthis.selectedDateRange = `${fromDate.format('MMM D')} - ${toDate.format('MMM D, YYYY')}${toTime}`\n\t\t\treturn\n\t\t}\n\n\t\t// Different years\n\t\tthis.selectedDateRange = `${fromDate.format('MMM D, YYYY')}${fromTime} - ${toDate.format('MMM D, YYYY')}${toTime}`\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\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 handlePresetSelection(preset: { label: string; range: { dateFrom: string; dateTo: string } }, e: Event) {\n\t\te.stopPropagation()\n\t\tthis.activePreset = preset.label\n\t\tthis.setDateRange(preset.range.dateFrom, preset.range.dateTo)\n\t\tthis.closeDropdown()\n\t}\n\n\tprivate handleClearSelection(e: Event) {\n\t\te.stopPropagation()\n\t\tconst emptyDate = ''\n\t\tthis.setDateRange(emptyDate, emptyDate)\n\t\tthis.activePreset = null\n\t\tthis.selectedDateRange = this.placeholder\n\t}\n\n\tprivate toggleDropdown(e: Event) {\n\t\te.stopPropagation()\n\t\tif (this.disabled) return\n\n\t\tif (this.isOpen) {\n\t\t\tthis.closeDropdown()\n\t\t} else {\n\t\t\tthis.openDropdown()\n\t\t}\n\t}\n\n\tprivate openDropdown() {\n\t\tif (this.disabled) return\n\t\tthis.isOpen = true\n\t}\n\n\tprivate closeDropdown() {\n\t\tthis.isOpen = false\n\t}\n\n\t/**\n\t * Helper method to safely add/subtract quarter values\n\t */\n\tprivate adjustQuarter(date: dayjs.Dayjs, amount: number, direction: 1 | -1): dayjs.Dayjs {\n\t\t// Get current quarter (1-4)\n\t\tconst currentQuarter = date.quarter()\n\n\t\t// Calculate new quarter\n\t\tlet newQuarter = currentQuarter + direction * amount\n\t\tlet yearAdjustment = 0\n\n\t\t// Handle year boundaries\n\t\twhile (newQuarter > 4) {\n\t\t\tnewQuarter -= 4\n\t\t\tyearAdjustment += 1\n\t\t}\n\n\t\twhile (newQuarter < 1) {\n\t\t\tnewQuarter += 4\n\t\t\tyearAdjustment -= 1\n\t\t}\n\n\t\t// Adjust year if needed\n\t\tconst adjustedDate = date.add(yearAdjustment, 'year')\n\n\t\t// Set to the start of the new quarter\n\t\tconst newDate = adjustedDate.month((newQuarter - 1) * 3)\n\n\t\t// Maintain the same day of month if possible\n\t\tconst daysInMonth = newDate.daysInMonth()\n\t\tconst targetDay = Math.min(date.date(), daysInMonth)\n\n\t\treturn newDate.date(targetDay)\n\t}\n\n\t/**\n\t * Shifts the date range based on its type (preset or custom)\n\t * Enhanced to properly handle various time units and preserve date patterns\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\n\t\t// Convert direction to a type that our helper methods can use\n\t\tconst dir = direction > 0 ? 1 : -1\n\n\t\tlet newFromDate: dayjs.Dayjs\n\t\tlet newToDate: dayjs.Dayjs\n\n\t\t// For preset ranges, use their specific step unit\n\t\tconst activePreset = this.presetRanges.find(p => p.label === this.activePreset)\n\n\t\t// Detect if the date range represents full time periods\n\t\tconst isFullMonth = fromDate.date() === 1 && toDate.isSame(fromDate.endOf('month'), 'day')\n\t\tconst isFullQuarter =\n\t\t\tfromDate.isSame(fromDate.startOf('quarter'), 'day') && toDate.isSame(toDate.endOf('quarter'), 'day')\n\t\tconst isFullYear = fromDate.isSame(fromDate.startOf('year'), 'day') && toDate.isSame(toDate.endOf('year'), 'day')\n\t\tconst isFullWeek = fromDate.day() === 0 && toDate.day() === 6 && toDate.diff(fromDate, 'days') === 6\n\n\t\t// Determine shift unit and amount\n\t\tlet unit: ExtendedTimeUnit = 'day'\n\t\tlet amount = 1\n\n\t\tif (activePreset) {\n\t\t\t// Use the preset's specific unit (day, week, month, quarter, year)\n\t\t\tunit = activePreset.step\n\t\t\tamount = 1 // For presets, we shift by one unit\n\t\t} else {\n\t\t\t// For custom ranges, calculate the appropriate step size\n\t\t\tconst rangeDurationInDays = toDate.diff(fromDate, 'day')\n\n\t\t\t// For very long ranges, use years\n\t\t\tif (rangeDurationInDays >= 360) {\n\t\t\t\tunit = 'year'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 365)\n\t\t\t}\n\t\t\t// For long ranges, use quarters\n\t\t\telse if (rangeDurationInDays >= 90) {\n\t\t\t\tunit = 'quarter'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 90)\n\t\t\t}\n\t\t\t// For medium-long ranges, use months\n\t\t\telse if (rangeDurationInDays >= 30) {\n\t\t\t\tunit = 'month'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 30)\n\t\t\t}\n\t\t\t// For medium ranges, use weeks\n\t\t\telse if (rangeDurationInDays >= 7) {\n\t\t\t\tunit = 'week'\n\t\t\t\tamount = Math.round(rangeDurationInDays / 7)\n\t\t\t}\n\t\t\t// For shorter ranges, use days\n\t\t\telse {\n\t\t\t\tunit = 'day'\n\t\t\t\tamount = rangeDurationInDays + 1 // Include both start and end days\n\t\t\t}\n\t\t}\n\n\t\t// Handle special case for quarters\n\t\tif (unit === 'quarter') {\n\t\t\tif (isFullQuarter) {\n\t\t\t\t// Full quarter logic\n\t\t\t\tif (dir > 0) {\n\t\t\t\t\tnewFromDate = this.adjustQuarter(fromDate, amount, 1).startOf('quarter')\n\t\t\t\t\tnewToDate = newFromDate.endOf('quarter')\n\t\t\t\t} else {\n\t\t\t\t\tnewFromDate = this.adjustQuarter(fromDate, amount, -1).startOf('quarter')\n\t\t\t\t\tnewToDate = newFromDate.endOf('quarter')\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Partial quarter logic - maintain day pattern\n\t\t\t\tif (dir > 0) {\n\t\t\t\t\tnewFromDate = this.adjustQuarter(fromDate, amount, 1)\n\t\t\t\t\tnewToDate = this.adjustQuarter(toDate, amount, 1)\n\t\t\t\t} else {\n\t\t\t\t\tnewFromDate = this.adjustQuarter(fromDate, amount, -1)\n\t\t\t\t\tnewToDate = this.adjustQuarter(toDate, amount, -1)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// For hour-based units (used in datetime-local type)\n\t\telse if (unit === 'hour') {\n\t\t\tconst rangeDurationInHours = toDate.diff(fromDate, 'hour')\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(rangeDurationInHours, 'hour')\n\t\t\t\tnewToDate = toDate.add(rangeDurationInHours, 'hour')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(rangeDurationInHours, 'hour')\n\t\t\t\tnewToDate = toDate.subtract(rangeDurationInHours, 'hour')\n\t\t\t}\n\t\t}\n\t\t// For year-based shifting\n\t\telse if (unit === 'year' && isFullYear) {\n\t\t\t// For full year ranges\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'year').startOf('year')\n\t\t\t\tnewToDate = newFromDate.endOf('year')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'year').startOf('year')\n\t\t\t\tnewToDate = newFromDate.endOf('year')\n\t\t\t}\n\t\t} else if (unit === 'year') {\n\t\t\t// For year unit but not full year range\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'year')\n\t\t\t\tnewToDate = toDate.add(amount, 'year')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'year')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'year')\n\t\t\t}\n\t\t}\n\t\t// For month-based shifting\n\t\telse if (unit === 'month' && isFullMonth) {\n\t\t\t// For full month ranges\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'month').startOf('month')\n\t\t\t\tnewToDate = newFromDate.endOf('month')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'month').startOf('month')\n\t\t\t\tnewToDate = newFromDate.endOf('month')\n\t\t\t}\n\t\t} else if (unit === 'month') {\n\t\t\t// For month unit but not a full month range\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'month')\n\t\t\t\tnewToDate = toDate.add(amount, 'month')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'month')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'month')\n\t\t\t}\n\t\t}\n\t\t// For week-based shifting\n\t\telse if (unit === 'week' && isFullWeek) {\n\t\t\t// For full week ranges\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'week').startOf('week')\n\t\t\t\tnewToDate = newFromDate.endOf('week')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'week').startOf('week')\n\t\t\t\tnewToDate = newFromDate.endOf('week')\n\t\t\t}\n\t\t} else if (unit === 'week') {\n\t\t\t// For week unit but not full week range\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'week')\n\t\t\t\tnewToDate = toDate.add(amount, 'week')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'week')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'week')\n\t\t\t}\n\t\t}\n\t\t// For day-based shifting (default)\n\t\telse {\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, 'day')\n\t\t\t\tnewToDate = toDate.add(amount, 'day')\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, 'day')\n\t\t\t\tnewToDate = toDate.subtract(amount, 'day')\n\t\t\t}\n\t\t}\n\n\t\t// Format the new dates and update the range\n\t\tconst newFromDateStr = newFromDate.format(format)\n\t\tconst newToDateStr = newToDate.format(format)\n\n\t\t// Set new date range\n\t\tthis.setDateRange(newFromDateStr, newToDateStr)\n\n\t\t// Check if the new date range matches a preset, and update activePreset if needed\n\t\tthis.checkAndUpdateActivePreset(newFromDateStr, newToDateStr)\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\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\treturn\n\t\t}\n\n\t\t// Ensure from date is before to date\n\t\tif (fromDate.isAfter(toDate)) {\n\t\t\tthis.setDateRange(toDate.format(this.getDateFormat()), fromDate.format(this.getDateFormat()))\n\t\t} else {\n\t\t\tthis.setDateRange(this.dateFrom.value, this.dateTo.value)\n\t\t}\n\n\t\tthis.closeDropdown()\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<!-- Trigger using the preferred schmancy-grid pattern -->\n\t\t\t\t<div class=\"trigger-container\">\n\t\t\t\t\t<schmancy-grid @click=${(event: Event) => event.stopPropagation()} align=\"center\" cols=\"auto 1fr auto\">\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=\"Shift date range backward\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(-1, e)}\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\t@click=${(e: Event) => this.toggleDropdown(e)}\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=\"Shift date range forward\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(1, e)}\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\t</schmancy-grid>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Dropdown -->\n\t\t\t\t${this.isOpen\n\t\t\t\t\t? html`\n\t\t\t\t\t\t\t<schmancy-surface\n\t\t\t\t\t\t\t\tclass=\"z-50 mt-1 min-w-64 max-w-96\"\n\t\t\t\t\t\t\t\trounded=\"all\"\n\t\t\t\t\t\t\t\televation=\"3\"\n\t\t\t\t\t\t\t\ttype=\"containerHigh\"\n\t\t\t\t\t\t\t\t@click=\"${(e: Event) => e.stopPropagation()}\"\n\t\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\t\taria-label=\"Date range picker\"\n\t\t\t\t\t\t\t\tfill=\"all\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<!-- Presets view with categories -->\n\t\t\t\t\t\t\t\t<div class=\"p-4\">\n\t\t\t\t\t\t\t\t\t<div class=\"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4 max-h-96 overflow-y-auto\">\n\t\t\t\t\t\t\t\t\t\t${this.presetCategories.map(\n\t\t\t\t\t\t\t\t\t\t\tcategory => html`\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex flex-col\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\" class=\"mb-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${category.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-grid gap=\"xs\" class=\"mb-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${category.presets.map(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"${this.activePreset === preset.label ? 'filled tonal' : 'text'}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth=\"full\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"text-left justify-start\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${(e: Event) => this.handlePresetSelection(preset, e)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"body\" token=\"md\"> ${preset.label} </schmancy-typography>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-grid>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t<!-- Manual date inputs -->\n\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"lg\" class=\"mb-2\"> Custom Range </schmancy-typography>\n\t\t\t\t\t\t\t\t\t<schmancy-grid gap=\"md\" cols=\"1fr 1fr\" class=\"mb-4\">\n\t\t\t\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"${this.dateFrom.label || 'From'}\"\n\t\t\t\t\t\t\t\t\t\t\t.value=\"${this.dateFrom.value}\"\n\t\t\t\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.minDate)}\"\n\t\t\t\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t\t\t\t@change=\"${(e: CustomEvent) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\tthis.dateFrom.value = e.detail.value\n\t\t\t\t\t\t\t\t\t\t\t\tthis.updateSelectedDateRange()\n\t\t\t\t\t\t\t\t\t\t\t}}\"\n\t\t\t\t\t\t\t\t\t\t></schmancy-input>\n\n\t\t\t\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"${this.dateTo.label || 'To'}\"\n\t\t\t\t\t\t\t\t\t\t\t.value=\"${this.dateTo.value}\"\n\t\t\t\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.dateFrom.value)}\"\n\t\t\t\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t\t\t\t@change=\"${(e: CustomEvent) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\tthis.dateTo.value = e.detail.value\n\t\t\t\t\t\t\t\t\t\t\t\tthis.updateSelectedDateRange()\n\t\t\t\t\t\t\t\t\t\t\t}}\"\n\t\t\t\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t\t\t\t</schmancy-grid>\n\n\t\t\t\t\t\t\t\t\t<!-- Action buttons -->\n\t\t\t\t\t\t\t\t\t<div class=\"flex justify-between\">\n\t\t\t\t\t\t\t\t\t\t${this.clearable\n\t\t\t\t\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-button variant=\"text\" @click=\"${(e: Event) => this.handleClearSelection(e)}\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tClear\n\t\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t\t\t\t\t: html`<div></div>`}\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"flex space-x-2\">\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${(e: Event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.closeDropdown()\n\t\t\t\t\t\t\t\t\t\t\t\t}}\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\tCancel\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\n\t\t\t\t\t\t\t\t\t\t\t<schmancy-button variant=\"filled\" @click=\"${(e: Event) => this.applyManualDateSelection(e)}\">\n\t\t\t\t\t\t\t\t\t\t\t\tApply\n\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</schmancy-surface>\n\t\t\t\t\t\t`\n\t\t\t\t\t: ''}\n\t\t\t</div>\n\t\t`\n\t}\n}\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","enforceDateFormat","dateString","expectedFormat","parsedDate","dayjs","quarterOfYear","SchmancyDateRange","$LitElement","super","type","dateFrom","label","value","dateTo","customPresets","disabled","required","placeholder","clearable","isOpen","selectedDateRange","activePreset","presetRanges","presetCategories","connectedCallback","initPresetRanges","dateFormat","getDateFormat","validatedRange","formattedDateFrom","formattedDateTo","updateSelectedDateRange","now","setupEventHandlers","fromEvent","document","pipe","takeUntil","disconnecting","subscribe","event","target","Node","contains","dropdownRef","closeDropdown","key","preventDefault","disconnectedCallback","cleanupPositioner","changedProps","updated","has","requestAnimationFrame","setupDropdownPosition","triggerRef","autoUpdate","computePosition","placement","middleware","offset","flip","shift","padding","then","Object","assign","style","left","top","presets","range","step","unshift","category","push","customCategory","map","preset","find","checkAndUpdateActivePreset","fromDate","fromTime","toTime","dispatchEvent","CustomEvent","detail","bubbles","composed","stopPropagation","setDateRange","openDropdown","amount","direction","newQuarter","yearAdjustment","newDate","targetDay","dir","newFromDate","newToDate","isFullMonth","isFullQuarter","isFullYear","isFullWeek","day","unit","rangeDurationInDays","adjustQuarter","rangeDurationInHours","newFromDateStr","newToDateStr","matchingPreset","html","shiftDateRange","toggleDropdown","handlePresetSelection","ifDefined","minDate","maxDate","handleClearSelection","applyManualDateSelection","__decorateClass","property","Boolean","state","query","customElement"],"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-Cq0diVSY.cjs");Object.defineProperty(exports,"SchmancyDateRange",{enumerable:!0,get:()=>e.SchmancyDateRange});
|
|
2
2
|
//# sourceMappingURL=date-range.cjs.map
|
package/dist/date-range.js
CHANGED