@mhmo91/schmancy 0.4.7 → 0.4.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{animated-text-C14QnAsk.js → animated-text-BqZjMyzb.js} +3 -3
- package/dist/{animated-text-C14QnAsk.js.map → animated-text-BqZjMyzb.js.map} +1 -1
- package/dist/{animated-text-D-kAHVL-.cjs → animated-text-CgY-L1nI.cjs} +2 -2
- package/dist/{animated-text-D-kAHVL-.cjs.map → animated-text-CgY-L1nI.cjs.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-DD3k-3yp.js → area.component-B7U96CpD.js} +3 -3
- package/dist/{area.component-DD3k-3yp.js.map → area.component-B7U96CpD.js.map} +1 -1
- package/dist/{area.component-kvnRfth-.cjs → area.component-Zbs-bAJV.cjs} +2 -2
- package/dist/{area.component-kvnRfth-.cjs.map → area.component-Zbs-bAJV.cjs.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-DgrPHogj.js → autocomplete-DIUsdT73.js} +3 -3
- package/dist/{autocomplete-DgrPHogj.js.map → autocomplete-DIUsdT73.js.map} +1 -1
- package/dist/{autocomplete-Dez1_LQ_.cjs → autocomplete-qK00SJRP.cjs} +2 -2
- package/dist/{autocomplete-Dez1_LQ_.cjs.map → autocomplete-qK00SJRP.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-DHkt5Sl6.cjs → avatar-BK-Ikpdw.cjs} +2 -2
- package/dist/{avatar-DHkt5Sl6.cjs.map → avatar-BK-Ikpdw.cjs.map} +1 -1
- package/dist/{avatar-D2CwIkLP.js → avatar-Bp0t8NU5.js} +45 -45
- package/dist/{avatar-D2CwIkLP.js.map → avatar-Bp0t8NU5.js.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-QojjCx3K.js → boat-By-PBLw8.js} +2 -2
- package/dist/{boat-QojjCx3K.js.map → boat-By-PBLw8.js.map} +1 -1
- package/dist/{boat-Opr-JDiz.cjs → boat-DUU675NX.cjs} +2 -2
- package/dist/{boat-Opr-JDiz.cjs.map → boat-DUU675NX.cjs.map} +1 -1
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-ktMxUfeF.js → checkbox-_WevqQDR.js} +2 -2
- package/dist/{checkbox-ktMxUfeF.js.map → checkbox-_WevqQDR.js.map} +1 -1
- package/dist/{checkbox-D02qLg64.cjs → checkbox-f7BewP4u.cjs} +2 -2
- package/dist/{checkbox-D02qLg64.cjs.map → checkbox-f7BewP4u.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-nR84ClxC.cjs → chips-D1QElds4.cjs} +2 -2
- package/dist/{chips-nR84ClxC.cjs.map → chips-D1QElds4.cjs.map} +1 -1
- package/dist/{chips-xakYpmLk.js → chips-DiDm29N_.js} +3 -3
- package/dist/{chips-xakYpmLk.js.map → chips-DiDm29N_.js.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +1 -1
- package/dist/{circular-progress-DITkB69y.js → circular-progress-BAlic8HY.js} +3 -3
- package/dist/{circular-progress-DITkB69y.js.map → circular-progress-BAlic8HY.js.map} +1 -1
- package/dist/{circular-progress-C1VxqINu.cjs → circular-progress-CfPyDLX6.cjs} +2 -2
- package/dist/{circular-progress-C1VxqINu.cjs.map → circular-progress-CfPyDLX6.cjs.map} +1 -1
- package/dist/circular-progress.cjs +1 -1
- package/dist/circular-progress.js +1 -1
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{code-preview-ct_lICzT.js → code-preview-BiVj9uxF.js} +2 -2
- package/dist/{code-preview-ct_lICzT.js.map → code-preview-BiVj9uxF.js.map} +1 -1
- package/dist/{code-preview-AaDZ25jE.cjs → code-preview-DtvCblTa.cjs} +2 -2
- package/dist/{code-preview-AaDZ25jE.cjs.map → code-preview-DtvCblTa.cjs.map} +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-BsCL8hQs.js → date-range-BLs8_7pI.js} +4 -4
- package/dist/{date-range-BsCL8hQs.js.map → date-range-BLs8_7pI.js.map} +1 -1
- package/dist/{date-range-DE62Ps16.cjs → date-range-Ch_Ir3s1.cjs} +2 -2
- package/dist/{date-range-DE62Ps16.cjs.map → date-range-Ch_Ir3s1.cjs.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-Dvg8k4NQ.js → delay-BdXEKapp.js} +2 -2
- package/dist/{delay-Dvg8k4NQ.js.map → delay-BdXEKapp.js.map} +1 -1
- package/dist/{delay-CBu7O627.cjs → delay-KEyQxDNp.cjs} +2 -2
- package/dist/{delay-CBu7O627.cjs.map → delay-KEyQxDNp.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{dialog-content-BUtwJ3HL.js → dialog-content-D3sFNuVs.js} +72 -91
- package/dist/dialog-content-D3sFNuVs.js.map +1 -0
- package/dist/{dialog-content-SX6qtxGj.cjs → dialog-content-D5YTttrK.cjs} +12 -29
- package/dist/dialog-content-D5YTttrK.cjs.map +1 -0
- package/dist/{dialog-service-BgqAlT7T.cjs → dialog-service-BZZK8N6A.cjs} +2 -2
- package/dist/dialog-service-BZZK8N6A.cjs.map +1 -0
- package/dist/dialog-service-DFMlRcXf.js +128 -0
- package/dist/dialog-service-DFMlRcXf.js.map +1 -0
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +2 -2
- package/dist/{divider-BBr_f7I9.cjs → divider-CDz3pUAy.cjs} +2 -2
- package/dist/{divider-BBr_f7I9.cjs.map → divider-CDz3pUAy.cjs.map} +1 -1
- package/dist/{divider-DexSqAwi.js → divider-CNXiMvWd.js} +3 -3
- package/dist/{divider-DexSqAwi.js.map → divider-CNXiMvWd.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-CBhrkLS9.js → dropdown-content-CVz6zPSO.js} +3 -3
- package/dist/{dropdown-content-CBhrkLS9.js.map → dropdown-content-CVz6zPSO.js.map} +1 -1
- package/dist/{dropdown-content-q5TJhsvd.cjs → dropdown-content-jlq_cqLS.cjs} +2 -2
- package/dist/{dropdown-content-q5TJhsvd.cjs.map → dropdown-content-jlq_cqLS.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-DcCOzqAb.cjs → flex-DFatBgot.cjs} +2 -2
- package/dist/{flex-DcCOzqAb.cjs.map → flex-DFatBgot.cjs.map} +1 -1
- package/dist/{flex-eb13QDmS.js → flex-TjhbDSMX.js} +2 -2
- package/dist/{flex-eb13QDmS.js.map → flex-TjhbDSMX.js.map} +1 -1
- package/dist/{form-BkVMKRp7.cjs → form-ClDdYqke.cjs} +2 -2
- package/dist/{form-BkVMKRp7.cjs.map → form-ClDdYqke.cjs.map} +1 -1
- package/dist/{form-DYqGyUi5.js → form-D-auKn-K.js} +2 -2
- package/dist/{form-DYqGyUi5.js.map → form-D-auKn-K.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{icon-BfoeUvkX.js → icon-BfY2ZJUE.js} +2 -2
- package/dist/{icon-BfoeUvkX.js.map → icon-BfY2ZJUE.js.map} +1 -1
- package/dist/{icon-aeFENeVj.cjs → icon-D2xGQiZb.cjs} +2 -2
- package/dist/{icon-aeFENeVj.cjs.map → icon-D2xGQiZb.cjs.map} +1 -1
- package/dist/{icon-button-A1NFKFmq.cjs → icon-button-BUkdhu_-.cjs} +2 -2
- package/dist/{icon-button-A1NFKFmq.cjs.map → icon-button-BUkdhu_-.cjs.map} +1 -1
- package/dist/{icon-button-C10pky9Q.js → icon-button-yKwaljg0.js} +3 -3
- package/dist/{icon-button-C10pky9Q.js.map → icon-button-yKwaljg0.js.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 +43 -43
- package/dist/{input-DcDi_noA.js → input-B3GMd-FZ.js} +2 -2
- package/dist/{input-DcDi_noA.js.map → input-B3GMd-FZ.js.map} +1 -1
- package/dist/{input-q8VOTI3J.cjs → input-By2O_8YL.cjs} +2 -2
- package/dist/{input-q8VOTI3J.cjs.map → input-By2O_8YL.cjs.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{list-YOtl6JRk.cjs → list-BO9C13wk.cjs} +2 -2
- package/dist/{list-YOtl6JRk.cjs.map → list-BO9C13wk.cjs.map} +1 -1
- package/dist/{list-BvW5Mhsb.js → list-CHZKII-L.js} +2 -2
- package/dist/{list-BvW5Mhsb.js.map → list-CHZKII-L.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-DJxjDwEr.js → litElement.mixin-5RC72TVS.js} +2 -2
- package/dist/{litElement.mixin-DJxjDwEr.js.map → litElement.mixin-5RC72TVS.js.map} +1 -1
- package/dist/{litElement.mixin-Do6OsQmn.cjs → litElement.mixin-CUibxXWX.cjs} +2 -2
- package/dist/{litElement.mixin-Do6OsQmn.cjs.map → litElement.mixin-CUibxXWX.cjs.map} +1 -1
- package/dist/{media-DchXWby1.js → media-4arP4Xi0.js} +2 -2
- package/dist/{media-DchXWby1.js.map → media-4arP4Xi0.js.map} +1 -1
- package/dist/{media-CxRMY7ct.cjs → media-v2LZA3zQ.cjs} +2 -2
- package/dist/{media-CxRMY7ct.cjs.map → media-v2LZA3zQ.cjs.map} +1 -1
- package/dist/{menu-D0Wv-94q.cjs → menu-C-ZpBMON.cjs} +2 -2
- package/dist/{menu-D0Wv-94q.cjs.map → menu-C-ZpBMON.cjs.map} +1 -1
- package/dist/{menu-DC81HpzC.js → menu-DvcxRQrY.js} +3 -3
- package/dist/{menu-DC81HpzC.js.map → menu-DvcxRQrY.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-fl9rTVO5.cjs → notification-service-BXTqvkWg.cjs} +2 -2
- package/dist/{notification-service-fl9rTVO5.cjs.map → notification-service-BXTqvkWg.cjs.map} +1 -1
- package/dist/{notification-service-DiZinzWu.js → notification-service-CcapAF2G.js} +3 -3
- package/dist/{notification-service-DiZinzWu.js.map → notification-service-CcapAF2G.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-BQ0PXMOa.cjs → option-Cj3xNzQG.cjs} +2 -2
- package/dist/{option-BQ0PXMOa.cjs.map → option-Cj3xNzQG.cjs.map} +1 -1
- package/dist/{option-BBcO5Pj5.js → option-xSW3D1j5.js} +2 -2
- package/dist/{option-BBcO5Pj5.js.map → option-xSW3D1j5.js.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-BTpnbZFg.js → payment-card-form-B-W0YXS5.js} +3 -3
- package/dist/{payment-card-form-BTpnbZFg.js.map → payment-card-form-B-W0YXS5.js.map} +1 -1
- package/dist/{payment-card-form-DbEZ8Js1.cjs → payment-card-form-CdNQkQa5.cjs} +2 -2
- package/dist/{payment-card-form-DbEZ8Js1.cjs.map → payment-card-form-CdNQkQa5.cjs.map} +1 -1
- package/dist/{radio-button-DE08d0Yl.js → radio-button-CNrcOMLm.js} +2 -2
- package/dist/{radio-button-DE08d0Yl.js.map → radio-button-CNrcOMLm.js.map} +1 -1
- package/dist/{radio-button-BkYPf2-q.cjs → radio-button-WeQklCIj.cjs} +2 -2
- package/dist/{radio-button-BkYPf2-q.cjs.map → radio-button-WeQklCIj.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-D6L7dAbO.js → schmancy-steps-container-DTR_ppqJ.js} +2 -2
- package/dist/{schmancy-steps-container-D6L7dAbO.js.map → schmancy-steps-container-DTR_ppqJ.js.map} +1 -1
- package/dist/{schmancy-steps-container-tKeAaFIY.cjs → schmancy-steps-container-kh5hz8Q8.cjs} +2 -2
- package/dist/{schmancy-steps-container-tKeAaFIY.cjs.map → schmancy-steps-container-kh5hz8Q8.cjs.map} +1 -1
- package/dist/{select-Dqr73662.js → select-BeStY5QU.js} +3 -3
- package/dist/{select-Dqr73662.js.map → select-BeStY5QU.js.map} +1 -1
- package/dist/{select-5yP3bof1.cjs → select-D6OdooZd.cjs} +2 -2
- package/dist/{select-5yP3bof1.cjs.map → select-D6OdooZd.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-BcN4mBoD.cjs → sheet-BHdCyBYA.cjs} +2 -2
- package/dist/{sheet-BcN4mBoD.cjs.map → sheet-BHdCyBYA.cjs.map} +1 -1
- package/dist/{sheet-x6OfY0Se.js → sheet-DurXVAka.js} +4 -4
- package/dist/{sheet-x6OfY0Se.js.map → sheet-DurXVAka.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/{slider-ecFkp13d.js → slider-CcOPTwfV.js} +3 -3
- package/dist/{slider-ecFkp13d.js.map → slider-CcOPTwfV.js.map} +1 -1
- package/dist/{slider-BxT70Fsi.cjs → slider-eKHfEAqk.cjs} +2 -2
- package/dist/{slider-BxT70Fsi.cjs.map → slider-eKHfEAqk.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-BNAzXVjG.cjs → spinner-0BTyqnFH.cjs} +2 -2
- package/dist/{spinner-BNAzXVjG.cjs.map → spinner-0BTyqnFH.cjs.map} +1 -1
- package/dist/{spinner-WpaBY1JF.js → spinner-BcaOyZIW.js} +3 -3
- package/dist/{spinner-WpaBY1JF.js.map → spinner-BcaOyZIW.js.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-BWZ0Kqca.cjs → surface-DhTA5nKg.cjs} +2 -2
- package/dist/{surface-BWZ0Kqca.cjs.map → surface-DhTA5nKg.cjs.map} +1 -1
- package/dist/{surface-BA0AdJVV.js → surface-XqJoAcEI.js} +2 -2
- package/dist/{surface-BA0AdJVV.js.map → surface-XqJoAcEI.js.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-IXyFmT0L.cjs → table-DPfOXBUJ.cjs} +2 -2
- package/dist/{table-IXyFmT0L.cjs.map → table-DPfOXBUJ.cjs.map} +1 -1
- package/dist/{table-BLnwnQsA.js → table-Dy5Fqu4G.js} +2 -2
- package/dist/{table-BLnwnQsA.js.map → table-Dy5Fqu4G.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-DTWvzrPU.js → tabs-compatibility-BqSkFV08.js} +2 -2
- package/dist/{tabs-compatibility-DTWvzrPU.js.map → tabs-compatibility-BqSkFV08.js.map} +1 -1
- package/dist/{tabs-compatibility-D4J5od5-.cjs → tabs-compatibility-TPaYG7ev.cjs} +2 -2
- package/dist/{tabs-compatibility-D4J5od5-.cjs.map → tabs-compatibility-TPaYG7ev.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-C6mrbvH3.cjs +2 -0
- package/dist/{tailwind.mixin-BvJKKv72.cjs.map → tailwind.mixin-C6mrbvH3.cjs.map} +1 -1
- package/dist/tailwind.mixin-DpiTmETl.js +43 -0
- package/dist/{tailwind.mixin-DauVaFKt.js.map → tailwind.mixin-DpiTmETl.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-DH6PuHVg.js → textarea-Ba8gRDPS.js} +2 -2
- package/dist/{textarea-DH6PuHVg.js.map → textarea-Ba8gRDPS.js.map} +1 -1
- package/dist/{textarea-Dl8avXEo.cjs → textarea-Dy7B8B0d.cjs} +2 -2
- package/dist/{textarea-Dl8avXEo.cjs.map → textarea-Dy7B8B0d.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-rjXu-3em.cjs → theme-button-Bnm7IL1u.cjs} +2 -2
- package/dist/{theme-button-rjXu-3em.cjs.map → theme-button-Bnm7IL1u.cjs.map} +1 -1
- package/dist/{theme-button--p6t7qcD.js → theme-button-COwSZ83Y.js} +2 -2
- package/dist/{theme-button--p6t7qcD.js.map → theme-button-COwSZ83Y.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-D2KSl93u.js → theme.component-BV_e_mXY.js} +2 -2
- package/dist/{theme.component-D2KSl93u.js.map → theme.component-BV_e_mXY.js.map} +1 -1
- package/dist/{theme.component-CIsakuvd.cjs → theme.component-UBy29B7c.cjs} +2 -2
- package/dist/{theme.component-CIsakuvd.cjs.map → theme.component-UBy29B7c.cjs.map} +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-BW4gugCz.cjs → timezone-DBxPtZan.cjs} +2 -2
- package/dist/{timezone-BW4gugCz.cjs.map → timezone-DBxPtZan.cjs.map} +1 -1
- package/dist/{timezone-CXXh8orD.js → timezone-DEhkif2j.js} +3 -3
- package/dist/{timezone-CXXh8orD.js.map → timezone-DEhkif2j.js.map} +1 -1
- package/dist/{tooltip-DUEo4iG2.cjs → tooltip-CTBMN8M6.cjs} +2 -2
- package/dist/{tooltip-DUEo4iG2.cjs.map → tooltip-CTBMN8M6.cjs.map} +1 -1
- package/dist/{tooltip-rWGtsCcJ.js → tooltip-D0coQKih.js} +2 -2
- package/dist/{tooltip-rWGtsCcJ.js.map → tooltip-D0coQKih.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-CSCSIz67.cjs → tree-Co4Ithrh.cjs} +2 -2
- package/dist/{tree-CSCSIz67.cjs.map → tree-Co4Ithrh.cjs.map} +1 -1
- package/dist/{tree-C1H2E_rA.js → tree-Zy0XMFKh.js} +2 -2
- package/dist/{tree-C1H2E_rA.js.map → tree-Zy0XMFKh.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-DtvMI0TT.js → typewriter-C0InniFB.js} +4 -4
- package/dist/{typewriter-DtvMI0TT.js.map → typewriter-C0InniFB.js.map} +1 -1
- package/dist/{typewriter-BuQA40J-.cjs → typewriter-soteXIt4.cjs} +2 -2
- package/dist/{typewriter-BuQA40J-.cjs.map → typewriter-soteXIt4.cjs.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-DjwFfw1O.cjs → typography-Bw9baiV3.cjs} +2 -2
- package/dist/{typography-DjwFfw1O.cjs.map → typography-Bw9baiV3.cjs.map} +1 -1
- package/dist/{typography-DT9N3Jtf.js → typography-CeTZ2VqE.js} +2 -2
- package/dist/{typography-DT9N3Jtf.js.map → typography-CeTZ2VqE.js.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/dist/dialog-content-BUtwJ3HL.js.map +0 -1
- package/dist/dialog-content-SX6qtxGj.cjs.map +0 -1
- package/dist/dialog-service-BgqAlT7T.cjs.map +0 -1
- package/dist/dialog-service-CnjZCTMj.js +0 -127
- package/dist/dialog-service-CnjZCTMj.js.map +0 -1
- package/dist/tailwind.mixin-BvJKKv72.cjs +0 -2
- package/dist/tailwind.mixin-DauVaFKt.js +0 -43
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-DE62Ps16.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-presets.ts","../src/date-range/date-range-helpers.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 dayjs from 'dayjs'\r\n\r\nexport type PresetUnit = dayjs.OpUnitType | 'quarter'\r\n\r\nexport interface DateRangePreset {\r\n\tlabel: string\r\n\trange: { dateFrom: string; dateTo: string }\r\n\tstep: PresetUnit\r\n}\r\n\r\nexport interface PresetCategory {\r\n\tname: string\r\n\tpresets: DateRangePreset[]\r\n}\r\n\r\n/**\r\n * Generate date range presets for different time periods\r\n */\r\nexport function generatePresetCategories(format: string, includeTime: boolean = false): PresetCategory[] {\r\n\tconst categories: PresetCategory[] = []\r\n\r\n\t// Hours category (only for datetime-local)\r\n\tif (includeTime) {\r\n\t\tcategories.push({\r\n\t\t\tname: 'Hours',\r\n\t\t\tpresets: [\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: 'Last 24 Hours',\r\n\t\t\t\t\trange: {\r\n\t\t\t\t\t\tdateFrom: dayjs().subtract(24, 'hours').format(format),\r\n\t\t\t\t\t\tdateTo: dayjs().format(format),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tstep: 'hour',\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: 'Last 12 Hours',\r\n\t\t\t\t\trange: {\r\n\t\t\t\t\t\tdateFrom: dayjs().subtract(12, 'hours').format(format),\r\n\t\t\t\t\t\tdateTo: dayjs().format(format),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tstep: 'hour',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t})\r\n\t}\r\n\r\n\t// Days category\r\n\tcategories.push({\r\n\t\tname: 'Days',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Today',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('day').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'day',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Yesterday',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'days').startOf('day').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'days').endOf('day').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'day',\r\n\t\t\t},\r\n\t\t\t...generateLastNDaysPresets([7, 14, 30, 60, 90], format),\r\n\t\t],\r\n\t})\r\n\r\n\t// Weeks category\r\n\tcategories.push({\r\n\t\tname: 'Weeks',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This Week',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('week').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('week').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'week',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last Week',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'weeks').startOf('week').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'weeks').endOf('week').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'week',\r\n\t\t\t},\r\n\t\t\t...generateLastNWeeksPresets([2, 4], format),\r\n\t\t],\r\n\t})\r\n\r\n\t// Months category\r\n\tcategories.push({\r\n\t\tname: 'Months',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This Month',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('month').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('month').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'month',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last Month',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'month').startOf('month').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'month').endOf('month').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'month',\r\n\t\t\t},\r\n\t\t\t...generateLastNMonthsPresets([3, 6], format),\r\n\t\t],\r\n\t})\r\n\r\n\t// Quarters category\r\n\tcategories.push({\r\n\t\tname: 'Quarters',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This Quarter',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('quarter').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('quarter').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'quarter',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last Quarter',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'quarter').startOf('quarter').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'quarter').endOf('quarter').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'quarter',\r\n\t\t\t},\r\n\t\t\t...generateLastNQuartersPresets([2, 4], format),\r\n\t\t],\r\n\t})\r\n\r\n\t// Years category\r\n\tcategories.push({\r\n\t\tname: 'Years',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This Year',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('year').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('year').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'year',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last Year',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'year').startOf('year').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'year').endOf('year').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'year',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Year to Date',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('year').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'day',\r\n\t\t\t},\r\n\t\t],\r\n\t})\r\n\r\n\treturn categories\r\n}\r\n\r\n// Helper functions to generate preset arrays\r\nfunction generateLastNDaysPresets(days: number[], format: string): DateRangePreset[] {\r\n\treturn days.map(n => ({\r\n\t\tlabel: `Last ${n} Days`,\r\n\t\trange: {\r\n\t\t\tdateFrom: dayjs().subtract(n - 1, 'days').startOf('day').format(format),\r\n\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t},\r\n\t\tstep: 'day' as PresetUnit,\r\n\t}))\r\n}\r\n\r\nfunction generateLastNWeeksPresets(weeks: number[], format: string): DateRangePreset[] {\r\n\treturn weeks.map(n => ({\r\n\t\tlabel: `Last ${n} Weeks`,\r\n\t\trange: {\r\n\t\t\tdateFrom: dayjs().subtract(n, 'weeks').startOf('week').format(format),\r\n\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t},\r\n\t\tstep: 'week' as PresetUnit,\r\n\t}))\r\n}\r\n\r\nfunction generateLastNMonthsPresets(months: number[], format: string): DateRangePreset[] {\r\n\treturn months.map(n => ({\r\n\t\tlabel: `Last ${n} Months`,\r\n\t\trange: {\r\n\t\t\tdateFrom: dayjs().subtract(n, 'months').startOf('month').format(format),\r\n\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t},\r\n\t\tstep: 'month' as PresetUnit,\r\n\t}))\r\n}\r\n\r\nfunction generateLastNQuartersPresets(quarters: number[], format: string): DateRangePreset[] {\r\n\treturn quarters.map(n => ({\r\n\t\tlabel: `Last ${n} Quarters`,\r\n\t\trange: {\r\n\t\t\tdateFrom: dayjs().subtract(n, 'quarters').startOf('quarter').format(format),\r\n\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t},\r\n\t\tstep: 'quarter' as PresetUnit,\r\n\t}))\r\n}","import dayjs from 'dayjs'\r\nimport { PresetUnit } from './date-range-presets'\r\n\r\n/**\r\n * Format a date range into a human-readable string\r\n */\r\nexport function formatDateRange(\r\n\tfromValue: string,\r\n\ttoValue: string,\r\n\ttype: 'date' | 'datetime-local',\r\n\tplaceholder: string\r\n): string {\r\n\tif (!fromValue || !toValue) {\r\n\t\treturn placeholder\r\n\t}\r\n\r\n\tconst fromDate = dayjs(fromValue)\r\n\tconst toDate = dayjs(toValue)\r\n\r\n\tif (!fromDate.isValid() || !toDate.isValid()) {\r\n\t\treturn placeholder\r\n\t}\r\n\r\n\t// Format times if needed (for datetime-local)\r\n\tconst fromTime = type === 'datetime-local' ? fromDate.format(' h:mm A') : ''\r\n\tconst toTime = type === 'datetime-local' ? toDate.format(' h:mm A') : ''\r\n\r\n\t// Check if same day\r\n\tif (fromDate.isSame(toDate, 'day')) {\r\n\t\treturn `${fromDate.format('MMM D, YYYY')}${fromTime}`\r\n\t}\r\n\r\n\t// Check if same month and year\r\n\tif (fromDate.isSame(toDate, 'month') && fromDate.isSame(toDate, 'year')) {\r\n\t\treturn `${fromDate.format('MMM D')}-${toDate.format('D, YYYY')}${toTime}`\r\n\t}\r\n\r\n\t// Check if same year\r\n\tif (fromDate.isSame(toDate, 'year')) {\r\n\t\treturn `${fromDate.format('MMM D')} - ${toDate.format('MMM D, YYYY')}${toTime}`\r\n\t}\r\n\r\n\t// Different years\r\n\treturn `${fromDate.format('MMM D, YYYY')}${fromTime} - ${toDate.format('MMM D, YYYY')}${toTime}`\r\n}\r\n\r\n/**\r\n * Detect the type of date range (full month, full quarter, etc.)\r\n */\r\nexport interface DateRangeType {\r\n\tisFullMonth: boolean\r\n\tisFullQuarter: boolean\r\n\tisFullYear: boolean\r\n\tisFullWeek: boolean\r\n}\r\n\r\nexport function detectDateRangeType(fromDate: dayjs.Dayjs, toDate: dayjs.Dayjs): DateRangeType {\r\n\treturn {\r\n\t\tisFullMonth: fromDate.date() === 1 && toDate.isSame(fromDate.endOf('month'), 'day'),\r\n\t\tisFullQuarter: fromDate.isSame(fromDate.startOf('quarter'), 'day') && toDate.isSame(toDate.endOf('quarter'), 'day'),\r\n\t\tisFullYear: fromDate.isSame(fromDate.startOf('year'), 'day') && toDate.isSame(toDate.endOf('year'), 'day'),\r\n\t\tisFullWeek: fromDate.day() === 0 && toDate.day() === 6 && toDate.diff(fromDate, 'days') === 6,\r\n\t}\r\n}\r\n\r\n/**\r\n * Calculate the appropriate shift unit and amount for a date range\r\n */\r\nexport function calculateShiftParams(\r\n\tfromDate: dayjs.Dayjs,\r\n\ttoDate: dayjs.Dayjs,\r\n\tactivePresetStep?: PresetUnit\r\n): { unit: PresetUnit; amount: number } {\r\n\tif (activePresetStep) {\r\n\t\treturn { unit: activePresetStep, amount: 1 }\r\n\t}\r\n\r\n\tconst rangeDurationInDays = toDate.diff(fromDate, 'day')\r\n\r\n\t// For very long ranges, use years\r\n\tif (rangeDurationInDays >= 360) {\r\n\t\treturn { unit: 'year', amount: Math.round(rangeDurationInDays / 365) }\r\n\t}\r\n\t// For long ranges, use quarters\r\n\telse if (rangeDurationInDays >= 90) {\r\n\t\treturn { unit: 'quarter', amount: Math.round(rangeDurationInDays / 90) }\r\n\t}\r\n\t// For medium-long ranges, use months\r\n\telse if (rangeDurationInDays >= 30) {\r\n\t\treturn { unit: 'month', amount: Math.round(rangeDurationInDays / 30) }\r\n\t}\r\n\t// For medium ranges, use weeks\r\n\telse if (rangeDurationInDays >= 7) {\r\n\t\treturn { unit: 'week', amount: Math.round(rangeDurationInDays / 7) }\r\n\t}\r\n\t// For shorter ranges, use days\r\n\telse {\r\n\t\treturn { unit: 'day', amount: rangeDurationInDays + 1 }\r\n\t}\r\n}\r\n\r\n/**\r\n * Helper method to safely add/subtract quarter values\r\n */\r\nexport function adjustQuarter(date: dayjs.Dayjs, amount: number, direction: 1 | -1): dayjs.Dayjs {\r\n\t// Get current quarter (1-4)\r\n\tconst currentQuarter = date.quarter()\r\n\r\n\t// Calculate new quarter\r\n\tlet newQuarter = currentQuarter + direction * amount\r\n\tlet yearAdjustment = 0\r\n\r\n\t// Handle year boundaries\r\n\twhile (newQuarter > 4) {\r\n\t\tnewQuarter -= 4\r\n\t\tyearAdjustment += 1\r\n\t}\r\n\r\n\twhile (newQuarter < 1) {\r\n\t\tnewQuarter += 4\r\n\t\tyearAdjustment -= 1\r\n\t}\r\n\r\n\t// Adjust year if needed\r\n\tconst adjustedDate = date.add(yearAdjustment, 'year')\r\n\r\n\t// Set to the start of the new quarter\r\n\tconst newDate = adjustedDate.month((newQuarter - 1) * 3)\r\n\r\n\t// Maintain the same day of month if possible\r\n\tconst daysInMonth = newDate.daysInMonth()\r\n\tconst targetDay = Math.min(date.date(), daysInMonth)\r\n\r\n\treturn newDate.date(targetDay)\r\n}","import { $LitElement } from '@mixins/index'\nimport dayjs from 'dayjs'\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear'\nimport { html, PropertyValues, TemplateResult } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { debounceTime, fromEvent, takeUntil, timer } from 'rxjs'\nimport { $dialog } from '../dialog/dialog-service'\nimport { validateInitialDateRange } from './date-utils'\nimport { DateRangePreset, PresetCategory, generatePresetCategories } from './date-range-presets'\nimport { formatDateRange, detectDateRangeType, calculateShiftParams, adjustQuarter } from './date-range-helpers'\n\n// Add quarter plugin to dayjs\ndayjs.extend(quarterOfYear)\n\nexport type SchmancyDateRangeChangeEvent = CustomEvent<{\n\tdateFrom: string\n\tdateTo: string\n}>\n\n/**\n * A date range selector that supports presets and manual date input.\n *\n * @element schmancy-date-range\n * @fires change - Fired when the date range changes with dateFrom and dateTo values\n */\n@customElement('schmancy-date-range')\nexport class SchmancyDateRange extends $LitElement() {\n\t// Core properties\n\t@property({ type: String }) type: 'date' | 'datetime-local' = 'date'\n\t@property({ type: Object }) dateFrom: { label: string; value: string } = { label: 'From', value: '' }\n\t@property({ type: Object }) dateTo: { label: string; value: string } = { label: 'To', value: '' }\n\t@property({ type: String }) minDate?: string\n\t@property({ type: String }) maxDate?: string\n\n\t// Enhanced functionality\n\t@property({ type: Array }) customPresets: Array<{\n\t\tlabel: string\n\t\tdateFrom: string\n\t\tdateTo: string\n\t}> = []\n\t@property({ type: String }) format?: string\n\t@property({ type: Boolean }) disabled = false\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = 'Select date range'\n\t@property({ type: Boolean }) clearable = true\n\n\t// Internal states\n\t@state() private isOpen = false\n\t@state() private selectedDateRange: string = ''\n\t@state() private activePreset: string | null = null\n\t@state() private announceMessage: string = ''\n\t@state() private isMobile = false\n\n\t// Default presets\n\tprivate presetRanges: DateRangePreset[] = []\n\n\t// Categorized presets\n\tprivate presetCategories: PresetCategory[] = []\n\n\t// Memoization cache\n\tprivate memoizedPresets = new Map<string, PresetCategory[]>()\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\n\t\tthis.checkMobileView()\n\n\t\t// Validate initial date range\n\t\tconst dateFormat = this.getDateFormat() as 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\t\tconst validatedRange = validateInitialDateRange(this.dateFrom.value, this.dateTo.value, dateFormat)\n\n\t\tif (validatedRange.isValid) {\n\t\t\tthis.dateFrom.value = validatedRange.dateFrom!\n\t\t\tthis.dateTo.value = validatedRange.dateTo!\n\t\t\tthis.updateSelectedDateRange()\n\t\t} else {\n\t\t\tconst now = dayjs().format(dateFormat)\n\t\t\tthis.dateFrom.value = now\n\t\t\tthis.dateTo.value = now\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\n\t\t// Set up global event handlers using RxJS\n\t\tthis.setupEventHandlers()\n\t}\n\n\tprivate setupEventHandlers() {\n\t\t// Handle keyboard navigation\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(event => {\n\t\t\t\tthis.handleKeyboardNavigation(event)\n\t\t\t})\n\n\t\t// Handle window resize with debouncing\n\t\tfromEvent(window, 'resize')\n\t\t\t.pipe(\n\t\t\t\tdebounceTime(150),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.checkMobileView()\n\t\t\t})\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tsuper.disconnectedCallback()\n\t}\n\n\tupdated(changedProps: PropertyValues) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (\n\t\t\t(changedProps.has('dateFrom') || changedProps.has('dateTo')) &&\n\t\t\t(this.dateFrom?.value !== undefined || this.dateTo?.value !== undefined)\n\t\t) {\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\t}\n\n\tprivate initPresetRanges() {\n\t\tconst format = this.getDateFormat()\n\t\tconst cacheKey = `${this.type}-${format}-${JSON.stringify(this.customPresets)}`\n\t\t\n\t\t// Check memoization cache\n\t\tif (this.memoizedPresets.has(cacheKey)) {\n\t\t\tconst cached = this.memoizedPresets.get(cacheKey)!\n\t\t\tthis.presetCategories = cached\n\t\t\tthis.presetRanges = []\n\t\t\tcached.forEach(category => {\n\t\t\t\tthis.presetRanges.push(...category.presets)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\n\t\t// Generate preset categories\n\t\tthis.presetCategories = generatePresetCategories(format, this.type === 'datetime-local')\n\n\t\t// Flatten presets for other methods that expect a flat list\n\t\tthis.presetRanges = []\n\t\tthis.presetCategories.forEach(category => {\n\t\t\tthis.presetRanges.push(...category.presets)\n\t\t})\n\n\t\t// Add custom presets if provided\n\t\tif (this.customPresets && this.customPresets.length > 0) {\n\t\t\tconst customCategory: PresetCategory = {\n\t\t\t\tname: 'Custom',\n\t\t\t\tpresets: this.customPresets.map(preset => ({\n\t\t\t\t\tlabel: preset.label,\n\t\t\t\t\trange: {\n\t\t\t\t\t\tdateFrom: preset.dateFrom,\n\t\t\t\t\t\tdateTo: preset.dateTo,\n\t\t\t\t\t},\n\t\t\t\t\tstep: 'day' as const,\n\t\t\t\t})),\n\t\t\t}\n\n\t\t\tthis.presetCategories.push(customCategory)\n\t\t\tthis.presetRanges.push(...customCategory.presets)\n\t\t}\n\t\t\n\t\t// Cache the result\n\t\tthis.memoizedPresets.set(cacheKey, [...this.presetCategories])\n\t}\n\n\tprivate getDateFormat(): string {\n\t\treturn this.format || (this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\t}\n\n\t/**\n\t * Creates a concise display format for the selected date range\n\t */\n\tprivate updateSelectedDateRange() {\n\t\t// Find matching preset\n\t\tconst preset = this.presetRanges.find(\n\t\t\tp => p.range.dateFrom === this.dateFrom.value && p.range.dateTo === this.dateTo.value,\n\t\t)\n\n\t\tif (preset) {\n\t\t\t// If matches a preset, just use the preset name\n\t\t\tthis.selectedDateRange = preset.label\n\t\t\tthis.activePreset = preset.label\n\t\t\treturn\n\t\t}\n\n\t\t// If we didn't find a preset match, check if we should update the active preset\n\t\tthis.checkAndUpdateActivePreset(this.dateFrom.value, this.dateTo.value)\n\n\t\t// Custom date range - create concise format\n\t\tthis.activePreset = null\n\t\tthis.selectedDateRange = formatDateRange(this.dateFrom.value, this.dateTo.value, this.type, this.placeholder)\n\t}\n\n\tprivate setDateRange(dateFrom: string, dateTo: string) {\n\t\tthis.dateFrom.value = dateFrom\n\t\tthis.dateTo.value = dateTo\n\t\tthis.updateSelectedDateRange()\n\n\t\t// Announce change to screen readers\n\t\tthis.announceToScreenReader(`Date range updated: ${this.selectedDateRange}`)\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<{ dateFrom: string; dateTo: string }>('change', {\n\t\t\t\tdetail: { dateFrom, dateTo },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate handlePresetSelection(preset: DateRangePreset, e: Event) {\n\t\te.stopPropagation()\n\t\tthis.activePreset = preset.label\n\t\tthis.setDateRange(preset.range.dateFrom, preset.range.dateTo)\n\t\t$dialog.dismiss()\n\t}\n\n\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\t\n\t\tthis.isOpen = true\n\t\t\n\t\t// Create dialog content\n\t\tconst dialogContent = this.createDialogContent()\n\t\t\n\t\t// Use the dialog service - it will automatically find the nearest schmancy-theme\n\t\t$dialog.component(dialogContent, {\n\t\t\ttitle: 'Select Date Range',\n\t\t\twidth: this.isMobile ? '100vw' : '800px',\n\t\t\thideActions: true\n\t\t}).then(() => {\n\t\t\tthis.isOpen = false\n\t\t})\n\t}\n\n\tprivate closeDropdown() {\n\t\t$dialog.dismiss()\n\t\tthis.isOpen = false\n\t}\n\n\n\t/**\n\t * Shifts the date range based on its type (preset or custom)\n\t */\n\tprivate shiftDateRange(direction: number, e: Event) {\n\t\te.stopPropagation()\n\n\t\tif (!this.dateFrom.value || !this.dateTo.value) return\n\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst toDate = dayjs(this.dateTo.value)\n\n\t\tif (!fromDate.isValid() || !toDate.isValid()) return\n\n\t\tconst format = this.getDateFormat()\n\t\tconst dir = direction > 0 ? 1 : -1\n\n\t\t// Get active preset and calculate shift parameters\n\t\tconst activePreset = this.presetRanges.find(p => p.label === this.activePreset)\n\t\tconst { unit, amount } = calculateShiftParams(fromDate, toDate, activePreset?.step)\n\n\t\t// Detect date range type\n\t\tconst rangeType = detectDateRangeType(fromDate, toDate)\n\n\t\tlet newFromDate: dayjs.Dayjs\n\t\tlet newToDate: dayjs.Dayjs\n\n\t\t// Handle shifting based on unit\n\t\tif (unit === 'quarter') {\n\t\t\tnewFromDate = adjustQuarter(fromDate, amount, dir)\n\t\t\tnewToDate = adjustQuarter(toDate, amount, dir)\n\t\t\t\n\t\t\tif (rangeType.isFullQuarter) {\n\t\t\t\tnewFromDate = newFromDate.startOf('quarter')\n\t\t\t\tnewToDate = newFromDate.endOf('quarter')\n\t\t\t}\n\t\t} else if (unit === 'hour') {\n\t\t\tconst rangeDurationInHours = toDate.diff(fromDate, 'hour')\n\t\t\tnewFromDate = dir > 0 ? fromDate.add(rangeDurationInHours, 'hour') : fromDate.subtract(rangeDurationInHours, 'hour')\n\t\t\tnewToDate = dir > 0 ? toDate.add(rangeDurationInHours, 'hour') : toDate.subtract(rangeDurationInHours, 'hour')\n\t\t} else {\n\t\t\t// Handle all other units (day, week, month, year)\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, unit as dayjs.ManipulateType)\n\t\t\t\tnewToDate = toDate.add(amount, unit as dayjs.ManipulateType)\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, unit as dayjs.ManipulateType)\n\t\t\t\tnewToDate = toDate.subtract(amount, unit as dayjs.ManipulateType)\n\t\t\t}\n\n\t\t\t// Preserve full period ranges\n\t\t\tif (unit === 'year' && rangeType.isFullYear) {\n\t\t\t\tnewFromDate = newFromDate.startOf('year')\n\t\t\t\tnewToDate = newFromDate.endOf('year')\n\t\t\t} else if (unit === 'month' && rangeType.isFullMonth) {\n\t\t\t\tnewFromDate = newFromDate.startOf('month')\n\t\t\t\tnewToDate = newFromDate.endOf('month')\n\t\t\t} else if (unit === 'week' && rangeType.isFullWeek) {\n\t\t\t\tnewFromDate = newFromDate.startOf('week')\n\t\t\t\tnewToDate = newFromDate.endOf('week')\n\t\t\t}\n\t\t}\n\n\t\t// Update the date range\n\t\tthis.setDateRange(newFromDate.format(format), newToDate.format(format))\n\t\tthis.checkAndUpdateActivePreset(newFromDate.format(format), newToDate.format(format))\n\t}\n\n\t/**\n\t * Handle keyboard navigation for accessibility\n\t */\n\tprivate handleKeyboardNavigation(event: KeyboardEvent) {\n\t\tconst key = event.key\n\t\t\n\t\t// Handle date navigation keys\n\t\tif (this.dateFrom.value && this.dateTo.value && !this.disabled) {\n\t\t\tswitch (key) {\n\t\t\t\tcase 'PageUp':\n\t\t\t\t\tif (event.target === this || this.contains(event.target as Node)) {\n\t\t\t\t\t\tthis.shiftDateRange(-1, event)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'PageDown':\n\t\t\t\t\tif (event.target === this || this.contains(event.target as Node)) {\n\t\t\t\t\t\tthis.shiftDateRange(1, event)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'Home':\n\t\t\t\t\tif (event.ctrlKey && (event.target === this || this.contains(event.target as Node))) {\n\t\t\t\t\t\t// Ctrl+Home: Jump to start of current month\n\t\t\t\t\t\tconst currentFrom = dayjs(this.dateFrom.value)\n\t\t\t\t\t\tconst currentTo = dayjs(this.dateTo.value)\n\t\t\t\t\t\tconst monthStart = currentFrom.startOf('month')\n\t\t\t\t\t\tconst daysDiff = currentTo.diff(currentFrom, 'day')\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.setDateRange(\n\t\t\t\t\t\t\tmonthStart.format(this.getDateFormat()),\n\t\t\t\t\t\t\tmonthStart.add(daysDiff, 'day').format(this.getDateFormat())\n\t\t\t\t\t\t)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'End':\n\t\t\t\t\tif (event.ctrlKey && (event.target === this || this.contains(event.target as Node))) {\n\t\t\t\t\t\t// Ctrl+End: Jump to end of current month\n\t\t\t\t\t\tconst currentFrom = dayjs(this.dateFrom.value)\n\t\t\t\t\t\tconst currentTo = dayjs(this.dateTo.value)\n\t\t\t\t\t\tconst daysDiff = currentTo.diff(currentFrom, 'day')\n\t\t\t\t\t\tconst monthEnd = currentTo.endOf('month')\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.setDateRange(\n\t\t\t\t\t\t\tmonthEnd.subtract(daysDiff, 'day').format(this.getDateFormat()),\n\t\t\t\t\t\t\tmonthEnd.format(this.getDateFormat())\n\t\t\t\t\t\t)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the current date range matches any predefined preset,\n\t * and updates the activePreset accordingly\n\t */\n\tprivate checkAndUpdateActivePreset(fromDate: string, toDate: string) {\n\t\t// Find a preset that matches the current date range\n\t\tconst matchingPreset = this.presetRanges.find(\n\t\t\tpreset => preset.range.dateFrom === fromDate && preset.range.dateTo === toDate,\n\t\t)\n\n\t\tif (matchingPreset) {\n\t\t\tthis.activePreset = matchingPreset.label\n\t\t} else {\n\t\t\tthis.activePreset = null\n\t\t}\n\t}\n\n\tprivate applyManualDateSelection(e: Event) {\n\t\te.stopPropagation()\n\t\t// Validate dates before applying\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst toDate = dayjs(this.dateTo.value)\n\n\t\tif (!fromDate.isValid() || !toDate.isValid()) {\n\t\t\tthis.announceToScreenReader('Invalid date format. Please check your input.')\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\t$dialog.dismiss()\n\t}\n\n\t/**\n\t * Check if view is mobile\n\t */\n\tprivate checkMobileView() {\n\t\tthis.isMobile = window.innerWidth < 768\n\t}\n\n\n\n\tprivate handleFromDateChange(e: Event) {\n\t\tconst input = e.target as HTMLInputElement\n\t\tthis.dateFrom.value = input.value\n\t\tthis.updateSelectedDateRange()\n\t}\n\n\tprivate handleToDateChange(e: Event) {\n\t\tconst input = e.target as HTMLInputElement\n\t\tthis.dateTo.value = input.value\n\t\tthis.updateSelectedDateRange()\n\t}\n\n\t/**\n\t * Create dialog content\n\t */\n\tprivate createDialogContent(): TemplateResult {\n\t\treturn html`\n\t\t\t<div class=\"w-full min-h-[400px] max-h-[80vh] flex flex-col p-4\">\n\t\t\t\t<!-- Custom Range Section with Inline Calendars -->\n\t\t\t\t<schmancy-surface type=\"container\" class=\"rounded-xl p-4 mb-6\">\n\t\t\t\t\t<div class=\"flex flex-col gap-4\">\n\t\t\t\t\t\t<div class=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n\t\t\t\t\t\t\t<!-- From Date Calendar -->\n\t\t\t\t\t\t\t<div class=\"flex flex-col gap-2\">\n\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"md\" class=\"text-surface-onVariant\">\n\t\t\t\t\t\t\t\t\t${this.dateFrom.label || 'From'}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\t\t.value=\"${this.dateFrom.value}\"\n\t\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.minDate)}\"\n\t\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t\t@change=\"${this.handleFromDateChange.bind(this)}\"\n\t\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<!-- To Date Calendar -->\n\t\t\t\t\t\t\t<div class=\"flex flex-col gap-2\">\n\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"md\" class=\"text-surface-onVariant\">\n\t\t\t\t\t\t\t\t\t${this.dateTo.label || 'To'}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\t\t.value=\"${this.dateTo.value}\"\n\t\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.dateFrom.value)}\"\n\t\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t\t@change=\"${this.handleToDateChange.bind(this)}\"\n\t\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<!-- Apply Button - Now at the bottom for logical flow -->\n\t\t\t\t\t\t<div class=\"flex justify-end mt-2\">\n\t\t\t\t\t\t\t<schmancy-button \n\t\t\t\t\t\t\t\tvariant=\"filled\" \n\t\t\t\t\t\t\t\t@click=\"${(e: Event) => this.applyManualDateSelection(e)}\"\n\t\t\t\t\t\t\t\t?disabled=\"${!this.dateFrom.value || !this.dateTo.value}\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tApply\n\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</schmancy-surface>\n\n\t\t\t\t<!-- Presets Section -->\n\t\t\t\t<div class=\"flex-1 overflow-y-auto overflow-x-hidden min-h-0\">\n\t\t\t\t\t<div class=\"grid grid-cols-2 md:grid-cols-5 gap-6\">\n\t\t\t\t\t\t${this.presetCategories.map(\n\t\t\t\t\t\t\tcategory => html`\n\t\t\t\t\t\t\t\t<div class=\"space-y-3\">\n\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"title\" token=\"md\" class=\"text-surface-onVariant font-medium\">\n\t\t\t\t\t\t\t\t\t\t${category.name}\n\t\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t\t<div class=\"space-y-1\">\n\t\t\t\t\t\t\t\t\t\t${category.presets.map(\n\t\t\t\t\t\t\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"${this.activePreset === preset.label ? 'filled' : 'text'}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"w-full justify-start text-left\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${(e: Event) => this.handlePresetSelection(preset, e)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\taria-pressed=\"${this.activePreset === preset.label}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\taria-label=\"${preset.label}: ${preset.range.dateFrom} to ${preset.range.dateTo}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"${preset.range.dateFrom} to ${preset.range.dateTo}\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"truncate\">${preset.label}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n\n\t/**\n\t * Announce messages to screen readers\n\t */\n\tprivate announceToScreenReader(message: string) {\n\t\tthis.announceMessage = message\n\t\t// Clear the message after announcement\n\t\ttimer(100)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.announceMessage = ''\n\t\t\t})\n\t}\n\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"relative ${this.disabled ? 'opacity-60 pointer-events-none' : ''}\">\n\t\t\t\t<!-- Screen reader announcements -->\n\t\t\t\t<div class=\"sr-only\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n\t\t\t\t\t${this.announceMessage}\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Trigger using the preferred schmancy-grid pattern -->\n\t\t\t\t<section @click=${(event: Event) => event.stopPropagation()} class=\"flex\" >\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-label=\"Previous ${this.activePreset ? this.activePreset.toLowerCase() : 'date range'}\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(-1, e)}\n\t\t\t\t\t\t\t?disabled=${this.disabled || !this.dateFrom.value || !this.dateTo.value}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tarrow_left\n\t\t\t\t\t\t</schmancy-icon-button>\n\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\tclass=\"w-max\"\n\t\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\t\t\t\taria-expanded=${this.isOpen}\n\t\t\t\t\t\t\taria-label=\"Select date range. Current: ${this.selectedDateRange || 'No date selected'}\"\n\t\t\t\t\t\t\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=\"Next ${this.activePreset ? this.activePreset.toLowerCase() : 'date range'}\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(1, e)}\n\t\t\t\t\t\t\t?disabled=${this.disabled || !this.dateFrom.value || !this.dateTo.value}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tarrow_right\n\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t</section>\n\t\t\t</div>\n\t\t`\n\t}\n}"],"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","validateInitialDateRange","dateFrom","dateTo","formattedDateFrom","formattedDateTo","generateLastNDaysPresets","days","map","label","range","step","generateLastNWeeksPresets","weeks","generateLastNMonthsPresets","generateLastNQuartersPresets","quarters","adjustQuarter","amount","direction","newQuarter","yearAdjustment","newDate","targetDay","quarterOfYear","SchmancyDateRange","$LitElement","super","type","value","customPresets","disabled","required","placeholder","clearable","isOpen","selectedDateRange","activePreset","announceMessage","isMobile","presetRanges","presetCategories","memoizedPresets","Map","connectedCallback","initPresetRanges","checkMobileView","dateFormat","getDateFormat","validatedRange","updateSelectedDateRange","now","setupEventHandlers","fromEvent","document","pipe","takeUntil","disconnecting","subscribe","event","handleKeyboardNavigation","window","debounceTime","disconnectedCallback","changedProps","updated","has","cacheKey","JSON","stringify","cached","category","push","presets","includeTime","categories","customCategory","preset","find","checkAndUpdateActivePreset","fromValue","toValue","fromDate","fromTime","toTime","announceToScreenReader","dispatchEvent","CustomEvent","detail","bubbles","composed","stopPropagation","setDateRange","$dialog","dismiss","closeDropdown","openDropdown","dialogContent","createDialogContent","component","title","width","hideActions","then","dir","unit","activePresetStep","rangeDurationInDays","rangeType","isFullMonth","isFullQuarter","isFullYear","isFullWeek","day","newFromDate","newToDate","rangeDurationInHours","key","target","contains","shiftDateRange","preventDefault","ctrlKey","currentFrom","currentTo","monthStart","daysDiff","monthEnd","matchingPreset","innerWidth","input","html","ifDefined","minDate","maxDate","handleFromDateChange","handleToDateChange","applyManualDateSelection","handlePresetSelection","message","timer","render","toggleDropdown","__decorateClass","property","Object","Boolean","state","customElement"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"date-range-Ch_Ir3s1.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-presets.ts","../src/date-range/date-range-helpers.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 dayjs from 'dayjs'\r\n\r\nexport type PresetUnit = dayjs.OpUnitType | 'quarter'\r\n\r\nexport interface DateRangePreset {\r\n\tlabel: string\r\n\trange: { dateFrom: string; dateTo: string }\r\n\tstep: PresetUnit\r\n}\r\n\r\nexport interface PresetCategory {\r\n\tname: string\r\n\tpresets: DateRangePreset[]\r\n}\r\n\r\n/**\r\n * Generate date range presets for different time periods\r\n */\r\nexport function generatePresetCategories(format: string, includeTime: boolean = false): PresetCategory[] {\r\n\tconst categories: PresetCategory[] = []\r\n\r\n\t// Hours category (only for datetime-local)\r\n\tif (includeTime) {\r\n\t\tcategories.push({\r\n\t\t\tname: 'Hours',\r\n\t\t\tpresets: [\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: 'Last 24 Hours',\r\n\t\t\t\t\trange: {\r\n\t\t\t\t\t\tdateFrom: dayjs().subtract(24, 'hours').format(format),\r\n\t\t\t\t\t\tdateTo: dayjs().format(format),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tstep: 'hour',\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tlabel: 'Last 12 Hours',\r\n\t\t\t\t\trange: {\r\n\t\t\t\t\t\tdateFrom: dayjs().subtract(12, 'hours').format(format),\r\n\t\t\t\t\t\tdateTo: dayjs().format(format),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tstep: 'hour',\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t})\r\n\t}\r\n\r\n\t// Days category\r\n\tcategories.push({\r\n\t\tname: 'Days',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Today',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('day').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'day',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Yesterday',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'days').startOf('day').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'days').endOf('day').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'day',\r\n\t\t\t},\r\n\t\t\t...generateLastNDaysPresets([7, 14, 30, 60, 90], format),\r\n\t\t],\r\n\t})\r\n\r\n\t// Weeks category\r\n\tcategories.push({\r\n\t\tname: 'Weeks',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This Week',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('week').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('week').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'week',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last Week',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'weeks').startOf('week').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'weeks').endOf('week').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'week',\r\n\t\t\t},\r\n\t\t\t...generateLastNWeeksPresets([2, 4], format),\r\n\t\t],\r\n\t})\r\n\r\n\t// Months category\r\n\tcategories.push({\r\n\t\tname: 'Months',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This Month',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('month').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('month').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'month',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last Month',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'month').startOf('month').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'month').endOf('month').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'month',\r\n\t\t\t},\r\n\t\t\t...generateLastNMonthsPresets([3, 6], format),\r\n\t\t],\r\n\t})\r\n\r\n\t// Quarters category\r\n\tcategories.push({\r\n\t\tname: 'Quarters',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This Quarter',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('quarter').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('quarter').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'quarter',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last Quarter',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'quarter').startOf('quarter').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'quarter').endOf('quarter').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'quarter',\r\n\t\t\t},\r\n\t\t\t...generateLastNQuartersPresets([2, 4], format),\r\n\t\t],\r\n\t})\r\n\r\n\t// Years category\r\n\tcategories.push({\r\n\t\tname: 'Years',\r\n\t\tpresets: [\r\n\t\t\t{\r\n\t\t\t\tlabel: 'This Year',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('year').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('year').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'year',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Last Year',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().subtract(1, 'year').startOf('year').format(format),\r\n\t\t\t\t\tdateTo: dayjs().subtract(1, 'year').endOf('year').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'year',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: 'Year to Date',\r\n\t\t\t\trange: {\r\n\t\t\t\t\tdateFrom: dayjs().startOf('year').format(format),\r\n\t\t\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t\t\t},\r\n\t\t\t\tstep: 'day',\r\n\t\t\t},\r\n\t\t],\r\n\t})\r\n\r\n\treturn categories\r\n}\r\n\r\n// Helper functions to generate preset arrays\r\nfunction generateLastNDaysPresets(days: number[], format: string): DateRangePreset[] {\r\n\treturn days.map(n => ({\r\n\t\tlabel: `Last ${n} Days`,\r\n\t\trange: {\r\n\t\t\tdateFrom: dayjs().subtract(n - 1, 'days').startOf('day').format(format),\r\n\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t},\r\n\t\tstep: 'day' as PresetUnit,\r\n\t}))\r\n}\r\n\r\nfunction generateLastNWeeksPresets(weeks: number[], format: string): DateRangePreset[] {\r\n\treturn weeks.map(n => ({\r\n\t\tlabel: `Last ${n} Weeks`,\r\n\t\trange: {\r\n\t\t\tdateFrom: dayjs().subtract(n, 'weeks').startOf('week').format(format),\r\n\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t},\r\n\t\tstep: 'week' as PresetUnit,\r\n\t}))\r\n}\r\n\r\nfunction generateLastNMonthsPresets(months: number[], format: string): DateRangePreset[] {\r\n\treturn months.map(n => ({\r\n\t\tlabel: `Last ${n} Months`,\r\n\t\trange: {\r\n\t\t\tdateFrom: dayjs().subtract(n, 'months').startOf('month').format(format),\r\n\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t},\r\n\t\tstep: 'month' as PresetUnit,\r\n\t}))\r\n}\r\n\r\nfunction generateLastNQuartersPresets(quarters: number[], format: string): DateRangePreset[] {\r\n\treturn quarters.map(n => ({\r\n\t\tlabel: `Last ${n} Quarters`,\r\n\t\trange: {\r\n\t\t\tdateFrom: dayjs().subtract(n, 'quarters').startOf('quarter').format(format),\r\n\t\t\tdateTo: dayjs().endOf('day').format(format),\r\n\t\t},\r\n\t\tstep: 'quarter' as PresetUnit,\r\n\t}))\r\n}","import dayjs from 'dayjs'\r\nimport { PresetUnit } from './date-range-presets'\r\n\r\n/**\r\n * Format a date range into a human-readable string\r\n */\r\nexport function formatDateRange(\r\n\tfromValue: string,\r\n\ttoValue: string,\r\n\ttype: 'date' | 'datetime-local',\r\n\tplaceholder: string\r\n): string {\r\n\tif (!fromValue || !toValue) {\r\n\t\treturn placeholder\r\n\t}\r\n\r\n\tconst fromDate = dayjs(fromValue)\r\n\tconst toDate = dayjs(toValue)\r\n\r\n\tif (!fromDate.isValid() || !toDate.isValid()) {\r\n\t\treturn placeholder\r\n\t}\r\n\r\n\t// Format times if needed (for datetime-local)\r\n\tconst fromTime = type === 'datetime-local' ? fromDate.format(' h:mm A') : ''\r\n\tconst toTime = type === 'datetime-local' ? toDate.format(' h:mm A') : ''\r\n\r\n\t// Check if same day\r\n\tif (fromDate.isSame(toDate, 'day')) {\r\n\t\treturn `${fromDate.format('MMM D, YYYY')}${fromTime}`\r\n\t}\r\n\r\n\t// Check if same month and year\r\n\tif (fromDate.isSame(toDate, 'month') && fromDate.isSame(toDate, 'year')) {\r\n\t\treturn `${fromDate.format('MMM D')}-${toDate.format('D, YYYY')}${toTime}`\r\n\t}\r\n\r\n\t// Check if same year\r\n\tif (fromDate.isSame(toDate, 'year')) {\r\n\t\treturn `${fromDate.format('MMM D')} - ${toDate.format('MMM D, YYYY')}${toTime}`\r\n\t}\r\n\r\n\t// Different years\r\n\treturn `${fromDate.format('MMM D, YYYY')}${fromTime} - ${toDate.format('MMM D, YYYY')}${toTime}`\r\n}\r\n\r\n/**\r\n * Detect the type of date range (full month, full quarter, etc.)\r\n */\r\nexport interface DateRangeType {\r\n\tisFullMonth: boolean\r\n\tisFullQuarter: boolean\r\n\tisFullYear: boolean\r\n\tisFullWeek: boolean\r\n}\r\n\r\nexport function detectDateRangeType(fromDate: dayjs.Dayjs, toDate: dayjs.Dayjs): DateRangeType {\r\n\treturn {\r\n\t\tisFullMonth: fromDate.date() === 1 && toDate.isSame(fromDate.endOf('month'), 'day'),\r\n\t\tisFullQuarter: fromDate.isSame(fromDate.startOf('quarter'), 'day') && toDate.isSame(toDate.endOf('quarter'), 'day'),\r\n\t\tisFullYear: fromDate.isSame(fromDate.startOf('year'), 'day') && toDate.isSame(toDate.endOf('year'), 'day'),\r\n\t\tisFullWeek: fromDate.day() === 0 && toDate.day() === 6 && toDate.diff(fromDate, 'days') === 6,\r\n\t}\r\n}\r\n\r\n/**\r\n * Calculate the appropriate shift unit and amount for a date range\r\n */\r\nexport function calculateShiftParams(\r\n\tfromDate: dayjs.Dayjs,\r\n\ttoDate: dayjs.Dayjs,\r\n\tactivePresetStep?: PresetUnit\r\n): { unit: PresetUnit; amount: number } {\r\n\tif (activePresetStep) {\r\n\t\treturn { unit: activePresetStep, amount: 1 }\r\n\t}\r\n\r\n\tconst rangeDurationInDays = toDate.diff(fromDate, 'day')\r\n\r\n\t// For very long ranges, use years\r\n\tif (rangeDurationInDays >= 360) {\r\n\t\treturn { unit: 'year', amount: Math.round(rangeDurationInDays / 365) }\r\n\t}\r\n\t// For long ranges, use quarters\r\n\telse if (rangeDurationInDays >= 90) {\r\n\t\treturn { unit: 'quarter', amount: Math.round(rangeDurationInDays / 90) }\r\n\t}\r\n\t// For medium-long ranges, use months\r\n\telse if (rangeDurationInDays >= 30) {\r\n\t\treturn { unit: 'month', amount: Math.round(rangeDurationInDays / 30) }\r\n\t}\r\n\t// For medium ranges, use weeks\r\n\telse if (rangeDurationInDays >= 7) {\r\n\t\treturn { unit: 'week', amount: Math.round(rangeDurationInDays / 7) }\r\n\t}\r\n\t// For shorter ranges, use days\r\n\telse {\r\n\t\treturn { unit: 'day', amount: rangeDurationInDays + 1 }\r\n\t}\r\n}\r\n\r\n/**\r\n * Helper method to safely add/subtract quarter values\r\n */\r\nexport function adjustQuarter(date: dayjs.Dayjs, amount: number, direction: 1 | -1): dayjs.Dayjs {\r\n\t// Get current quarter (1-4)\r\n\tconst currentQuarter = date.quarter()\r\n\r\n\t// Calculate new quarter\r\n\tlet newQuarter = currentQuarter + direction * amount\r\n\tlet yearAdjustment = 0\r\n\r\n\t// Handle year boundaries\r\n\twhile (newQuarter > 4) {\r\n\t\tnewQuarter -= 4\r\n\t\tyearAdjustment += 1\r\n\t}\r\n\r\n\twhile (newQuarter < 1) {\r\n\t\tnewQuarter += 4\r\n\t\tyearAdjustment -= 1\r\n\t}\r\n\r\n\t// Adjust year if needed\r\n\tconst adjustedDate = date.add(yearAdjustment, 'year')\r\n\r\n\t// Set to the start of the new quarter\r\n\tconst newDate = adjustedDate.month((newQuarter - 1) * 3)\r\n\r\n\t// Maintain the same day of month if possible\r\n\tconst daysInMonth = newDate.daysInMonth()\r\n\tconst targetDay = Math.min(date.date(), daysInMonth)\r\n\r\n\treturn newDate.date(targetDay)\r\n}","import { $LitElement } from '@mixins/index'\nimport dayjs from 'dayjs'\nimport quarterOfYear from 'dayjs/plugin/quarterOfYear'\nimport { html, PropertyValues, TemplateResult } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { debounceTime, fromEvent, takeUntil, timer } from 'rxjs'\nimport { $dialog } from '../dialog/dialog-service'\nimport { validateInitialDateRange } from './date-utils'\nimport { DateRangePreset, PresetCategory, generatePresetCategories } from './date-range-presets'\nimport { formatDateRange, detectDateRangeType, calculateShiftParams, adjustQuarter } from './date-range-helpers'\n\n// Add quarter plugin to dayjs\ndayjs.extend(quarterOfYear)\n\nexport type SchmancyDateRangeChangeEvent = CustomEvent<{\n\tdateFrom: string\n\tdateTo: string\n}>\n\n/**\n * A date range selector that supports presets and manual date input.\n *\n * @element schmancy-date-range\n * @fires change - Fired when the date range changes with dateFrom and dateTo values\n */\n@customElement('schmancy-date-range')\nexport class SchmancyDateRange extends $LitElement() {\n\t// Core properties\n\t@property({ type: String }) type: 'date' | 'datetime-local' = 'date'\n\t@property({ type: Object }) dateFrom: { label: string; value: string } = { label: 'From', value: '' }\n\t@property({ type: Object }) dateTo: { label: string; value: string } = { label: 'To', value: '' }\n\t@property({ type: String }) minDate?: string\n\t@property({ type: String }) maxDate?: string\n\n\t// Enhanced functionality\n\t@property({ type: Array }) customPresets: Array<{\n\t\tlabel: string\n\t\tdateFrom: string\n\t\tdateTo: string\n\t}> = []\n\t@property({ type: String }) format?: string\n\t@property({ type: Boolean }) disabled = false\n\t@property({ type: Boolean }) required = false\n\t@property({ type: String }) placeholder = 'Select date range'\n\t@property({ type: Boolean }) clearable = true\n\n\t// Internal states\n\t@state() private isOpen = false\n\t@state() private selectedDateRange: string = ''\n\t@state() private activePreset: string | null = null\n\t@state() private announceMessage: string = ''\n\t@state() private isMobile = false\n\n\t// Default presets\n\tprivate presetRanges: DateRangePreset[] = []\n\n\t// Categorized presets\n\tprivate presetCategories: PresetCategory[] = []\n\n\t// Memoization cache\n\tprivate memoizedPresets = new Map<string, PresetCategory[]>()\n\n\tconnectedCallback(): void {\n\t\tsuper.connectedCallback()\n\t\tthis.initPresetRanges()\n\t\tthis.checkMobileView()\n\n\t\t// Validate initial date range\n\t\tconst dateFormat = this.getDateFormat() as 'YYYY-MM-DD' | 'YYYY-MM-DDTHH:mm'\n\t\tconst validatedRange = validateInitialDateRange(this.dateFrom.value, this.dateTo.value, dateFormat)\n\n\t\tif (validatedRange.isValid) {\n\t\t\tthis.dateFrom.value = validatedRange.dateFrom!\n\t\t\tthis.dateTo.value = validatedRange.dateTo!\n\t\t\tthis.updateSelectedDateRange()\n\t\t} else {\n\t\t\tconst now = dayjs().format(dateFormat)\n\t\t\tthis.dateFrom.value = now\n\t\t\tthis.dateTo.value = now\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\n\t\t// Set up global event handlers using RxJS\n\t\tthis.setupEventHandlers()\n\t}\n\n\tprivate setupEventHandlers() {\n\t\t// Handle keyboard navigation\n\t\tfromEvent<KeyboardEvent>(document, 'keydown')\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(event => {\n\t\t\t\tthis.handleKeyboardNavigation(event)\n\t\t\t})\n\n\t\t// Handle window resize with debouncing\n\t\tfromEvent(window, 'resize')\n\t\t\t.pipe(\n\t\t\t\tdebounceTime(150),\n\t\t\t\ttakeUntil(this.disconnecting)\n\t\t\t)\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.checkMobileView()\n\t\t\t})\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tsuper.disconnectedCallback()\n\t}\n\n\tupdated(changedProps: PropertyValues) {\n\t\tsuper.updated(changedProps)\n\n\t\tif (\n\t\t\t(changedProps.has('dateFrom') || changedProps.has('dateTo')) &&\n\t\t\t(this.dateFrom?.value !== undefined || this.dateTo?.value !== undefined)\n\t\t) {\n\t\t\tthis.updateSelectedDateRange()\n\t\t}\n\t}\n\n\tprivate initPresetRanges() {\n\t\tconst format = this.getDateFormat()\n\t\tconst cacheKey = `${this.type}-${format}-${JSON.stringify(this.customPresets)}`\n\t\t\n\t\t// Check memoization cache\n\t\tif (this.memoizedPresets.has(cacheKey)) {\n\t\t\tconst cached = this.memoizedPresets.get(cacheKey)!\n\t\t\tthis.presetCategories = cached\n\t\t\tthis.presetRanges = []\n\t\t\tcached.forEach(category => {\n\t\t\t\tthis.presetRanges.push(...category.presets)\n\t\t\t})\n\t\t\treturn\n\t\t}\n\n\t\t// Generate preset categories\n\t\tthis.presetCategories = generatePresetCategories(format, this.type === 'datetime-local')\n\n\t\t// Flatten presets for other methods that expect a flat list\n\t\tthis.presetRanges = []\n\t\tthis.presetCategories.forEach(category => {\n\t\t\tthis.presetRanges.push(...category.presets)\n\t\t})\n\n\t\t// Add custom presets if provided\n\t\tif (this.customPresets && this.customPresets.length > 0) {\n\t\t\tconst customCategory: PresetCategory = {\n\t\t\t\tname: 'Custom',\n\t\t\t\tpresets: this.customPresets.map(preset => ({\n\t\t\t\t\tlabel: preset.label,\n\t\t\t\t\trange: {\n\t\t\t\t\t\tdateFrom: preset.dateFrom,\n\t\t\t\t\t\tdateTo: preset.dateTo,\n\t\t\t\t\t},\n\t\t\t\t\tstep: 'day' as const,\n\t\t\t\t})),\n\t\t\t}\n\n\t\t\tthis.presetCategories.push(customCategory)\n\t\t\tthis.presetRanges.push(...customCategory.presets)\n\t\t}\n\t\t\n\t\t// Cache the result\n\t\tthis.memoizedPresets.set(cacheKey, [...this.presetCategories])\n\t}\n\n\tprivate getDateFormat(): string {\n\t\treturn this.format || (this.type === 'date' ? 'YYYY-MM-DD' : 'YYYY-MM-DDTHH:mm')\n\t}\n\n\t/**\n\t * Creates a concise display format for the selected date range\n\t */\n\tprivate updateSelectedDateRange() {\n\t\t// Find matching preset\n\t\tconst preset = this.presetRanges.find(\n\t\t\tp => p.range.dateFrom === this.dateFrom.value && p.range.dateTo === this.dateTo.value,\n\t\t)\n\n\t\tif (preset) {\n\t\t\t// If matches a preset, just use the preset name\n\t\t\tthis.selectedDateRange = preset.label\n\t\t\tthis.activePreset = preset.label\n\t\t\treturn\n\t\t}\n\n\t\t// If we didn't find a preset match, check if we should update the active preset\n\t\tthis.checkAndUpdateActivePreset(this.dateFrom.value, this.dateTo.value)\n\n\t\t// Custom date range - create concise format\n\t\tthis.activePreset = null\n\t\tthis.selectedDateRange = formatDateRange(this.dateFrom.value, this.dateTo.value, this.type, this.placeholder)\n\t}\n\n\tprivate setDateRange(dateFrom: string, dateTo: string) {\n\t\tthis.dateFrom.value = dateFrom\n\t\tthis.dateTo.value = dateTo\n\t\tthis.updateSelectedDateRange()\n\n\t\t// Announce change to screen readers\n\t\tthis.announceToScreenReader(`Date range updated: ${this.selectedDateRange}`)\n\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<{ dateFrom: string; dateTo: string }>('change', {\n\t\t\t\tdetail: { dateFrom, dateTo },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\tprivate handlePresetSelection(preset: DateRangePreset, e: Event) {\n\t\te.stopPropagation()\n\t\tthis.activePreset = preset.label\n\t\tthis.setDateRange(preset.range.dateFrom, preset.range.dateTo)\n\t\t$dialog.dismiss()\n\t}\n\n\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\t\n\t\tthis.isOpen = true\n\t\t\n\t\t// Create dialog content\n\t\tconst dialogContent = this.createDialogContent()\n\t\t\n\t\t// Use the dialog service - it will automatically find the nearest schmancy-theme\n\t\t$dialog.component(dialogContent, {\n\t\t\ttitle: 'Select Date Range',\n\t\t\twidth: this.isMobile ? '100vw' : '800px',\n\t\t\thideActions: true\n\t\t}).then(() => {\n\t\t\tthis.isOpen = false\n\t\t})\n\t}\n\n\tprivate closeDropdown() {\n\t\t$dialog.dismiss()\n\t\tthis.isOpen = false\n\t}\n\n\n\t/**\n\t * Shifts the date range based on its type (preset or custom)\n\t */\n\tprivate shiftDateRange(direction: number, e: Event) {\n\t\te.stopPropagation()\n\n\t\tif (!this.dateFrom.value || !this.dateTo.value) return\n\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst toDate = dayjs(this.dateTo.value)\n\n\t\tif (!fromDate.isValid() || !toDate.isValid()) return\n\n\t\tconst format = this.getDateFormat()\n\t\tconst dir = direction > 0 ? 1 : -1\n\n\t\t// Get active preset and calculate shift parameters\n\t\tconst activePreset = this.presetRanges.find(p => p.label === this.activePreset)\n\t\tconst { unit, amount } = calculateShiftParams(fromDate, toDate, activePreset?.step)\n\n\t\t// Detect date range type\n\t\tconst rangeType = detectDateRangeType(fromDate, toDate)\n\n\t\tlet newFromDate: dayjs.Dayjs\n\t\tlet newToDate: dayjs.Dayjs\n\n\t\t// Handle shifting based on unit\n\t\tif (unit === 'quarter') {\n\t\t\tnewFromDate = adjustQuarter(fromDate, amount, dir)\n\t\t\tnewToDate = adjustQuarter(toDate, amount, dir)\n\t\t\t\n\t\t\tif (rangeType.isFullQuarter) {\n\t\t\t\tnewFromDate = newFromDate.startOf('quarter')\n\t\t\t\tnewToDate = newFromDate.endOf('quarter')\n\t\t\t}\n\t\t} else if (unit === 'hour') {\n\t\t\tconst rangeDurationInHours = toDate.diff(fromDate, 'hour')\n\t\t\tnewFromDate = dir > 0 ? fromDate.add(rangeDurationInHours, 'hour') : fromDate.subtract(rangeDurationInHours, 'hour')\n\t\t\tnewToDate = dir > 0 ? toDate.add(rangeDurationInHours, 'hour') : toDate.subtract(rangeDurationInHours, 'hour')\n\t\t} else {\n\t\t\t// Handle all other units (day, week, month, year)\n\t\t\tif (dir > 0) {\n\t\t\t\tnewFromDate = fromDate.add(amount, unit as dayjs.ManipulateType)\n\t\t\t\tnewToDate = toDate.add(amount, unit as dayjs.ManipulateType)\n\t\t\t} else {\n\t\t\t\tnewFromDate = fromDate.subtract(amount, unit as dayjs.ManipulateType)\n\t\t\t\tnewToDate = toDate.subtract(amount, unit as dayjs.ManipulateType)\n\t\t\t}\n\n\t\t\t// Preserve full period ranges\n\t\t\tif (unit === 'year' && rangeType.isFullYear) {\n\t\t\t\tnewFromDate = newFromDate.startOf('year')\n\t\t\t\tnewToDate = newFromDate.endOf('year')\n\t\t\t} else if (unit === 'month' && rangeType.isFullMonth) {\n\t\t\t\tnewFromDate = newFromDate.startOf('month')\n\t\t\t\tnewToDate = newFromDate.endOf('month')\n\t\t\t} else if (unit === 'week' && rangeType.isFullWeek) {\n\t\t\t\tnewFromDate = newFromDate.startOf('week')\n\t\t\t\tnewToDate = newFromDate.endOf('week')\n\t\t\t}\n\t\t}\n\n\t\t// Update the date range\n\t\tthis.setDateRange(newFromDate.format(format), newToDate.format(format))\n\t\tthis.checkAndUpdateActivePreset(newFromDate.format(format), newToDate.format(format))\n\t}\n\n\t/**\n\t * Handle keyboard navigation for accessibility\n\t */\n\tprivate handleKeyboardNavigation(event: KeyboardEvent) {\n\t\tconst key = event.key\n\t\t\n\t\t// Handle date navigation keys\n\t\tif (this.dateFrom.value && this.dateTo.value && !this.disabled) {\n\t\t\tswitch (key) {\n\t\t\t\tcase 'PageUp':\n\t\t\t\t\tif (event.target === this || this.contains(event.target as Node)) {\n\t\t\t\t\t\tthis.shiftDateRange(-1, event)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'PageDown':\n\t\t\t\t\tif (event.target === this || this.contains(event.target as Node)) {\n\t\t\t\t\t\tthis.shiftDateRange(1, event)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'Home':\n\t\t\t\t\tif (event.ctrlKey && (event.target === this || this.contains(event.target as Node))) {\n\t\t\t\t\t\t// Ctrl+Home: Jump to start of current month\n\t\t\t\t\t\tconst currentFrom = dayjs(this.dateFrom.value)\n\t\t\t\t\t\tconst currentTo = dayjs(this.dateTo.value)\n\t\t\t\t\t\tconst monthStart = currentFrom.startOf('month')\n\t\t\t\t\t\tconst daysDiff = currentTo.diff(currentFrom, 'day')\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.setDateRange(\n\t\t\t\t\t\t\tmonthStart.format(this.getDateFormat()),\n\t\t\t\t\t\t\tmonthStart.add(daysDiff, 'day').format(this.getDateFormat())\n\t\t\t\t\t\t)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t\tcase 'End':\n\t\t\t\t\tif (event.ctrlKey && (event.target === this || this.contains(event.target as Node))) {\n\t\t\t\t\t\t// Ctrl+End: Jump to end of current month\n\t\t\t\t\t\tconst currentFrom = dayjs(this.dateFrom.value)\n\t\t\t\t\t\tconst currentTo = dayjs(this.dateTo.value)\n\t\t\t\t\t\tconst daysDiff = currentTo.diff(currentFrom, 'day')\n\t\t\t\t\t\tconst monthEnd = currentTo.endOf('month')\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.setDateRange(\n\t\t\t\t\t\t\tmonthEnd.subtract(daysDiff, 'day').format(this.getDateFormat()),\n\t\t\t\t\t\t\tmonthEnd.format(this.getDateFormat())\n\t\t\t\t\t\t)\n\t\t\t\t\t\tevent.preventDefault()\n\t\t\t\t\t}\n\t\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the current date range matches any predefined preset,\n\t * and updates the activePreset accordingly\n\t */\n\tprivate checkAndUpdateActivePreset(fromDate: string, toDate: string) {\n\t\t// Find a preset that matches the current date range\n\t\tconst matchingPreset = this.presetRanges.find(\n\t\t\tpreset => preset.range.dateFrom === fromDate && preset.range.dateTo === toDate,\n\t\t)\n\n\t\tif (matchingPreset) {\n\t\t\tthis.activePreset = matchingPreset.label\n\t\t} else {\n\t\t\tthis.activePreset = null\n\t\t}\n\t}\n\n\tprivate applyManualDateSelection(e: Event) {\n\t\te.stopPropagation()\n\t\t// Validate dates before applying\n\t\tconst fromDate = dayjs(this.dateFrom.value)\n\t\tconst toDate = dayjs(this.dateTo.value)\n\n\t\tif (!fromDate.isValid() || !toDate.isValid()) {\n\t\t\tthis.announceToScreenReader('Invalid date format. Please check your input.')\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\t$dialog.dismiss()\n\t}\n\n\t/**\n\t * Check if view is mobile\n\t */\n\tprivate checkMobileView() {\n\t\tthis.isMobile = window.innerWidth < 768\n\t}\n\n\n\n\tprivate handleFromDateChange(e: Event) {\n\t\tconst input = e.target as HTMLInputElement\n\t\tthis.dateFrom.value = input.value\n\t\tthis.updateSelectedDateRange()\n\t}\n\n\tprivate handleToDateChange(e: Event) {\n\t\tconst input = e.target as HTMLInputElement\n\t\tthis.dateTo.value = input.value\n\t\tthis.updateSelectedDateRange()\n\t}\n\n\t/**\n\t * Create dialog content\n\t */\n\tprivate createDialogContent(): TemplateResult {\n\t\treturn html`\n\t\t\t<div class=\"w-full min-h-[400px] max-h-[80vh] flex flex-col p-4\">\n\t\t\t\t<!-- Custom Range Section with Inline Calendars -->\n\t\t\t\t<schmancy-surface type=\"container\" class=\"rounded-xl p-4 mb-6\">\n\t\t\t\t\t<div class=\"flex flex-col gap-4\">\n\t\t\t\t\t\t<div class=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n\t\t\t\t\t\t\t<!-- From Date Calendar -->\n\t\t\t\t\t\t\t<div class=\"flex flex-col gap-2\">\n\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"md\" class=\"text-surface-onVariant\">\n\t\t\t\t\t\t\t\t\t${this.dateFrom.label || 'From'}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\t\t.value=\"${this.dateFrom.value}\"\n\t\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.minDate)}\"\n\t\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t\t@change=\"${this.handleFromDateChange.bind(this)}\"\n\t\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<!-- To Date Calendar -->\n\t\t\t\t\t\t\t<div class=\"flex flex-col gap-2\">\n\t\t\t\t\t\t\t\t<schmancy-typography type=\"label\" token=\"md\" class=\"text-surface-onVariant\">\n\t\t\t\t\t\t\t\t\t${this.dateTo.label || 'To'}\n\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t<schmancy-input\n\t\t\t\t\t\t\t\t\ttype=\"${this.type}\"\n\t\t\t\t\t\t\t\t\t.value=\"${this.dateTo.value}\"\n\t\t\t\t\t\t\t\t\tmin=\"${ifDefined(this.dateFrom.value)}\"\n\t\t\t\t\t\t\t\t\tmax=\"${ifDefined(this.maxDate)}\"\n\t\t\t\t\t\t\t\t\t@change=\"${this.handleToDateChange.bind(this)}\"\n\t\t\t\t\t\t\t\t></schmancy-input>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<!-- Apply Button - Now at the bottom for logical flow -->\n\t\t\t\t\t\t<div class=\"flex justify-end mt-2\">\n\t\t\t\t\t\t\t<schmancy-button \n\t\t\t\t\t\t\t\tvariant=\"filled\" \n\t\t\t\t\t\t\t\t@click=\"${(e: Event) => this.applyManualDateSelection(e)}\"\n\t\t\t\t\t\t\t\t?disabled=\"${!this.dateFrom.value || !this.dateTo.value}\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tApply\n\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</schmancy-surface>\n\n\t\t\t\t<!-- Presets Section -->\n\t\t\t\t<div class=\"flex-1 overflow-y-auto overflow-x-hidden min-h-0\">\n\t\t\t\t\t<div class=\"grid grid-cols-2 md:grid-cols-5 gap-6\">\n\t\t\t\t\t\t${this.presetCategories.map(\n\t\t\t\t\t\t\tcategory => html`\n\t\t\t\t\t\t\t\t<div class=\"space-y-3\">\n\t\t\t\t\t\t\t\t\t<schmancy-typography type=\"title\" token=\"md\" class=\"text-surface-onVariant font-medium\">\n\t\t\t\t\t\t\t\t\t\t${category.name}\n\t\t\t\t\t\t\t\t\t</schmancy-typography>\n\t\t\t\t\t\t\t\t\t<div class=\"space-y-1\">\n\t\t\t\t\t\t\t\t\t\t${category.presets.map(\n\t\t\t\t\t\t\t\t\t\t\tpreset => html`\n\t\t\t\t\t\t\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"${this.activePreset === preset.label ? 'filled' : 'text'}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"w-full justify-start text-left\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"${(e: Event) => this.handlePresetSelection(preset, e)}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\taria-pressed=\"${this.activePreset === preset.label}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\taria-label=\"${preset.label}: ${preset.range.dateFrom} to ${preset.range.dateTo}\"\n\t\t\t\t\t\t\t\t\t\t\t\t\ttitle=\"${preset.range.dateFrom} to ${preset.range.dateTo}\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"truncate\">${preset.label}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</schmancy-button>\n\t\t\t\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`\n\t}\n\n\t/**\n\t * Announce messages to screen readers\n\t */\n\tprivate announceToScreenReader(message: string) {\n\t\tthis.announceMessage = message\n\t\t// Clear the message after announcement\n\t\ttimer(100)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.announceMessage = ''\n\t\t\t})\n\t}\n\n\n\trender() {\n\t\treturn html`\n\t\t\t<div class=\"relative ${this.disabled ? 'opacity-60 pointer-events-none' : ''}\">\n\t\t\t\t<!-- Screen reader announcements -->\n\t\t\t\t<div class=\"sr-only\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n\t\t\t\t\t${this.announceMessage}\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Trigger using the preferred schmancy-grid pattern -->\n\t\t\t\t<section @click=${(event: Event) => event.stopPropagation()} class=\"flex\" >\n\t\t\t\t\t\t<schmancy-icon-button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-label=\"Previous ${this.activePreset ? this.activePreset.toLowerCase() : 'date range'}\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(-1, e)}\n\t\t\t\t\t\t\t?disabled=${this.disabled || !this.dateFrom.value || !this.dateTo.value}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tarrow_left\n\t\t\t\t\t\t</schmancy-icon-button>\n\n\t\t\t\t\t\t<schmancy-button\n\t\t\t\t\t\t\tclass=\"w-max\"\n\t\t\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-haspopup=\"menu\"\n\t\t\t\t\t\t\taria-expanded=${this.isOpen}\n\t\t\t\t\t\t\taria-label=\"Select date range. Current: ${this.selectedDateRange || 'No date selected'}\"\n\t\t\t\t\t\t\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=\"Next ${this.activePreset ? this.activePreset.toLowerCase() : 'date range'}\"\n\t\t\t\t\t\t\t@click=${(e: Event) => this.shiftDateRange(1, e)}\n\t\t\t\t\t\t\t?disabled=${this.disabled || !this.dateFrom.value || !this.dateTo.value}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tarrow_right\n\t\t\t\t\t\t</schmancy-icon-button>\n\t\t\t\t</section>\n\t\t\t</div>\n\t\t`\n\t}\n}"],"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","validateInitialDateRange","dateFrom","dateTo","formattedDateFrom","formattedDateTo","generateLastNDaysPresets","days","map","label","range","step","generateLastNWeeksPresets","weeks","generateLastNMonthsPresets","generateLastNQuartersPresets","quarters","adjustQuarter","amount","direction","newQuarter","yearAdjustment","newDate","targetDay","quarterOfYear","SchmancyDateRange","$LitElement","super","type","value","customPresets","disabled","required","placeholder","clearable","isOpen","selectedDateRange","activePreset","announceMessage","isMobile","presetRanges","presetCategories","memoizedPresets","Map","connectedCallback","initPresetRanges","checkMobileView","dateFormat","getDateFormat","validatedRange","updateSelectedDateRange","now","setupEventHandlers","fromEvent","document","pipe","takeUntil","disconnecting","subscribe","event","handleKeyboardNavigation","window","debounceTime","disconnectedCallback","changedProps","updated","has","cacheKey","JSON","stringify","cached","category","push","presets","includeTime","categories","customCategory","preset","find","checkAndUpdateActivePreset","fromValue","toValue","fromDate","fromTime","toTime","announceToScreenReader","dispatchEvent","CustomEvent","detail","bubbles","composed","stopPropagation","setDateRange","$dialog","dismiss","closeDropdown","openDropdown","dialogContent","createDialogContent","component","title","width","hideActions","then","dir","unit","activePresetStep","rangeDurationInDays","rangeType","isFullMonth","isFullQuarter","isFullYear","isFullWeek","day","newFromDate","newToDate","rangeDurationInHours","key","target","contains","shiftDateRange","preventDefault","ctrlKey","currentFrom","currentTo","monthStart","daysDiff","monthEnd","matchingPreset","innerWidth","input","html","ifDefined","minDate","maxDate","handleFromDateChange","handleToDateChange","applyManualDateSelection","handlePresetSelection","message","timer","render","toggleDropdown","__decorateClass","property","Object","Boolean","state","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-Ch_Ir3s1.cjs");Object.defineProperty(exports,"SchmancyDateRange",{enumerable:!0,get:()=>e.SchmancyDateRange}),exports.validateInitialDateRange=e.validateInitialDateRange;
|
|
2
2
|
//# sourceMappingURL=date-range.cjs.map
|
package/dist/date-range.js
CHANGED
|
@@ -3,7 +3,7 @@ import { directive as N, PartType as k } from "lit/directive.js";
|
|
|
3
3
|
import { AsyncDirective as E } from "lit/async-directive.js";
|
|
4
4
|
import { n as F, e as x } from "./provide-tcktw8xB.js";
|
|
5
5
|
import { c as P } from "./consume-5D1qfVWM.js";
|
|
6
|
-
import { $ as K } from "./litElement.mixin-
|
|
6
|
+
import { $ as K } from "./litElement.mixin-5RC72TVS.js";
|
|
7
7
|
import { html as y } from "lit";
|
|
8
8
|
import { property as m, state as $, queryAssignedElements as j, customElement as T } from "lit/decorators.js";
|
|
9
9
|
import { cache as L } from "lit/directives/cache.js";
|
|
@@ -285,4 +285,4 @@ export {
|
|
|
285
285
|
O as d,
|
|
286
286
|
X as h
|
|
287
287
|
};
|
|
288
|
-
//# sourceMappingURL=delay-
|
|
288
|
+
//# sourceMappingURL=delay-BdXEKapp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delay-Dvg8k4NQ.js","sources":["../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/animate-controller.js","../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/animate.js","../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/position.js","../src/utils/hashContent.ts","../src/delay/delay.ts"],"sourcesContent":["const i=new WeakMap;class t{constructor(t,s){this.startPaused=!1,this.disabled=!1,this.clients=new Set,this.pendingComplete=!1,this.host=t,this.defaultOptions=s.defaultOptions||{},this.startPaused=!!s.startPaused,this.disabled=!!s.disabled,this.onComplete=s.onComplete,i.set(this.host,this)}async add(i){this.clients.add(i),this.startPaused&&i.webAnimation?.pause(),this.pendingComplete=!0,await i.finished,this.pendingComplete&&!this.isAnimating&&(this.pendingComplete=!1,this.onComplete?.())}remove(i){this.clients.delete(i)}pause(){this.clients.forEach((i=>i.webAnimation?.pause()))}play(){this.clients.forEach((i=>i.webAnimation?.play()))}cancel(){this.clients.forEach((i=>i.webAnimation?.cancel())),this.clients.clear()}finish(){this.clients.forEach((i=>i.webAnimation?.finish())),this.clients.clear()}togglePlay(){this.isPlaying?this.pause():this.play()}get isAnimating(){return this.clients.size>0}get isPlaying(){return Array.from(this.clients).some((i=>\"running\"===i.webAnimation?.playState))}async finished(){await Promise.all(Array.from(this.clients).map((i=>i.finished)))}}export{t as AnimateController,i as controllerMap};\n//# sourceMappingURL=animate-controller.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as e}from\"lit/async-directive.js\";import{controllerMap as h}from\"./animate-controller.js\";export{AnimateController}from\"./animate-controller.js\";let o=0;const r=new Map,n=new WeakSet,a=()=>new Promise((t=>requestAnimationFrame(t))),c=[{transform:\"translateY(100%) scale(0)\",opacity:0}],l=[{transform:\"translateY(-100%) scale(0)\",opacity:0}],d=[{transform:\"translateX(-100%) scale(0)\",opacity:0}],u=[{transform:\"translateX(100%) scale(0)\",opacity:0}],m=[{}],f=[{opacity:0}],p=f,v=[{opacity:0},{opacity:1}],y=[{opacity:0},{opacity:.25,offset:.75},{opacity:1}],g=(t,i)=>{const s=t-i;return 0===s?void 0:s},w=(t,i)=>{const s=t/i;return 1===s?void 0:s},N={left:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateX(${s}px)`}},top:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateY(${s}px)`}},width:(t,i)=>{let s;0===i&&(i=1,s={width:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleX(${e})`}},height:(t,i)=>{let s;0===i&&(i=1,s={height:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleY(${e})`}}},A={duration:333,easing:\"ease-in-out\"},b=[\"left\",\"top\",\"width\",\"height\",\"opacity\",\"color\",\"background\"],j=new WeakMap;class x extends e{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===s.CHILD)throw Error(\"The `animate` directive must be used in attribute position.\");this.createFinished()}createFinished(){this.resolveFinished?.(),this.finished=new Promise((t=>{this.l=t}))}async resolveFinished(){this.l?.(),this.l=void 0}render(i){return t}getController(){return h.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(t,[i]){const s=void 0===this.u;return s&&(this.u=t.options?.host,this.u.addController(this),this.u.updateComplete.then((t=>this.t=!0)),this.element=t.element,j.set(this.element,this)),this.optionsOrCallback=i,(s||\"function\"!=typeof i)&&this.p(i),this.render(i)}p(t){t=t??{};const i=this.getController();void 0!==i&&((t={...i.defaultOptions,...t}).keyframeOptions={...i.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??=b,this.options=t}m(){const t={},i=this.element.getBoundingClientRect(),s=getComputedStyle(this.element);return this.options.properties.forEach((e=>{const h=i[e]??(N[e]?void 0:s[e]),o=Number(h);t[e]=isNaN(o)?h+\"\":o})),t}v(){let t,i=!0;return this.options.guard&&(t=this.options.guard(),i=((t,i)=>{if(Array.isArray(t)){if(Array.isArray(i)&&i.length===t.length&&t.every(((t,s)=>t===i[s])))return!1}else if(i===t)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&i&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){\"function\"==typeof this.optionsOrCallback&&this.p(this.optionsOrCallback()),this.v()&&(this.A=this.m(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let t;this.prepare(),await a;const i=this.O(),s=this.j(this.options.keyframeOptions,i),e=this.m();if(void 0!==this.A){const{from:s,to:h}=this.N(this.A,e,i);this.log(\"measured\",[this.A,e,s,h]),t=this.calculateKeyframes(s,h)}else{const s=r.get(this.options.inId);if(s){r.delete(this.options.inId);const{from:h,to:n}=this.N(s,e,i);t=this.calculateKeyframes(h,n),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,o++,t.forEach((t=>t.zIndex=o))}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,s)}resetStyles(){void 0!==this.P&&(this.element.setAttribute(\"style\",this.P??\"\"),this.P=void 0)}commitStyles(){this.P=this.element.getAttribute(\"style\"),this.webAnimation?.commitStyles(),this.webAnimation?.cancel()}reconnected(){}async disconnected(){if(!this.h)return;if(void 0!==this.options.id&&r.set(this.options.id,this.A),void 0===this.options.out)return;if(this.prepare(),await a(),this.i?.isConnected){const t=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,t),this.options.stabilizeOut){const t=this.m();this.log(\"stabilizing out\");const i=this.A.left-t.left,s=this.A.top-t.top;!(\"static\"===getComputedStyle(this.element).position)||0===i&&0===s||(this.element.style.position=\"relative\"),0!==i&&(this.element.style.left=i+\"px\"),0!==s&&(this.element.style.top=s+\"px\")}}const t=this.j(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){this.options.onStart?.(this)}didFinish(t){t&&this.options.onComplete?.(this),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}O(){const t=[];for(let i=this.element.parentNode;i;i=i?.parentNode){const s=j.get(i);s&&!s.isDisabled()&&s&&t.push(s)}return t}get isHostRendered(){const t=n.has(this.u);return t||this.u.updateComplete.then((()=>{n.add(this.u)})),t}j(t,i=this.O()){const s={...A};return i.forEach((t=>Object.assign(s,t.options.keyframeOptions))),Object.assign(s,t),s}N(t,i,s){t={...t},i={...i};const e=s.map((t=>t.animatingProperties)).filter((t=>void 0!==t));let h=1,o=1;return e.length>0&&(e.forEach((t=>{t.width&&(h/=t.width),t.height&&(o/=t.height)})),void 0!==t.left&&void 0!==i.left&&(t.left=h*t.left,i.left=h*i.left),void 0!==t.top&&void 0!==i.top&&(t.top=o*t.top,i.top=o*i.top)),{from:t,to:i}}calculateKeyframes(t,i,s=!1){const e={},h={};let o=!1;const r={};for(const s in i){const n=t[s],a=i[s];if(s in N){const t=N[s];if(void 0===n||void 0===a)continue;const i=t(n,a);void 0!==i.transform&&(r[s]=i.value,o=!0,e.transform=`${e.transform??\"\"} ${i.transform}`,void 0!==i.overrideFrom&&Object.assign(e,i.overrideFrom))}else n!==a&&void 0!==n&&void 0!==a&&(o=!0,e[s]=n,h[s]=a)}return e.transformOrigin=h.transformOrigin=s?\"center center\":\"top left\",this.animatingProperties=r,o?[e,h]:void 0}async animate(t,i=this.options.keyframeOptions){this.start(),this.frames=t;let s=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log(\"modified frames\",t)),void 0!==t)){this.log(\"animate\",[t,i]),s=!0,this.webAnimation=this.element.animate(t,i);const e=this.getController();e?.add(this);try{await this.webAnimation.finished}catch(t){}e?.remove(this)}return this.didFinish(s),s}isAnimating(){return\"running\"===this.webAnimation?.playState||this.webAnimation?.pending}log(t,i){this.shouldLog&&!this.isDisabled()&&console.log(t,this.options.id,i)}}const F=i(x);export{x as Animate,F as animate,a as animationFrame,b as defaultCssProperties,A as defaultKeyframeOptions,p as fade,v as fadeIn,y as fadeInSlow,f as fadeOut,l as flyAbove,c as flyBelow,d as flyLeft,u as flyRight,m as none,N as transformProps};\n//# sourceMappingURL=animate.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as o}from\"lit/async-directive.js\";const r=[\"top\",\"right\",\"bottom\",\"left\"];class e extends o{constructor(t){if(super(t),t.type!==s.ELEMENT)throw Error(\"The `position` directive must be used in attribute position.\")}render(i,s){return t}update(t,[i,s]){return void 0===this.u&&(this.u=t.options?.host,this.u.addController(this)),this.S=t.element,this.C=i,this.F=s??[\"left\",\"top\",\"width\",\"height\"],this.render(i,s)}hostUpdated(){this.$()}$(){const t=\"function\"==typeof this.C?this.C():this.C?.value,i=t.offsetParent;if(void 0===t||!i)return;const s=t.getBoundingClientRect(),o=i.getBoundingClientRect();this.F?.forEach((t=>{const i=r.includes(t)?s[t]-o[t]:s[t];this.S.style[t]=i+\"px\"}))}}const h=i(e);export{e as Position,h as position};\n//# sourceMappingURL=position.js.map\n","export default function (content: string): string {\n\tconst fnvOffsetBasis = 0x811c9dc5\n\tconst fnvPrime = 0x01000193\n\tlet hash = fnvOffsetBasis\n\n\tfor (let i = 0; i < content.length; i++) {\n\t\thash ^= content.charCodeAt(i)\n\t\thash = (hash * fnvPrime) >>> 0 // Ensure unsigned 32-bit integer\n\t}\n\n\treturn hash.toString(16) // Convert to hexadecimal string for compactness\n}\n","import { animate, fadeIn, flyAbove, flyBelow } from '@lit-labs/motion'\nimport { consume, createContext, provide } from '@lit/context'\nimport { $LitElement } from '@mixins/litElement.mixin'\nimport hashContent from '@schmancy/utils/hashContent'\nimport { html } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\nimport { timer } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\nexport const delayContext = createContext<number>('delay-context')\n\n@customElement('schmancy-delay')\nexport class SchmancyDelay extends $LitElement() {\n\t@property({ type: Number, reflect: true }) delay = 0 // Delay in milliseconds\n\t@property({ type: String }) motion = 'flyBelow' // Motion type (default: flyBelow)\n\t@state() private rendered = false // Tracks if the content is rendered\n\t@consume({ context: delayContext, subscribe: true }) parentDelay = 0 // Consumes the parent's delay value\n\t@provide({ context: delayContext }) effectiveDelay = 0 // Provides the effective delay to children\n\n\t@property({ type: Boolean }) once? = true // Only render once per session\n\n\tprivate sessionKey = '' // Unique session key\n\tprivate mutationObserver?: MutationObserver\n\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tassignedElements: HTMLElement[]\n\tfirstUpdated() {\n\t\tthis.observeSlotChanges()\n\t\tthis.updateRenderState()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.mutationObserver?.disconnect() // Clean up the observer\n\t}\n\n\tprivate observeSlotChanges() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tif (!slot) return\n\n\t\tthis.mutationObserver = new MutationObserver(() => {\n\t\t\t// Update session key when children change\n\t\t\tthis.sessionKey = this.generateSessionKey()\n\t\t})\n\n\t\tthis.mutationObserver.observe(slot, { childList: true, subtree: true })\n\t}\n\n\tprivate getTotalSiblingDelay(element: HTMLElement | null): number {\n\t\tif (!element || !(element instanceof HTMLElement)) return 0\n\n\t\tlet totalDelay = 0\n\t\tlet sibling = element.previousElementSibling // Start with the previous sibling\n\n\t\twhile (sibling) {\n\t\t\t// Check if the sibling is a `schmancy-delay` and add its delay\n\t\t\tif (sibling instanceof SchmancyDelay) {\n\t\t\t\ttotalDelay += sibling.delay\n\t\t\t}\n\t\t\t// Move to the previous sibling\n\t\t\tsibling = sibling.previousElementSibling\n\t\t}\n\n\t\t// Traverse up the tree and repeat for the parent node\n\t\tif (element.parentElement) {\n\t\t\ttotalDelay += this.getTotalSiblingDelay(element.parentElement)\n\t\t}\n\n\t\treturn totalDelay\n\t}\n\n\tprivate updateRenderState() {\n\t\tthis.sessionKey = this.generateSessionKey()\n\n\t\tif (this.once && sessionStorage.getItem(this.sessionKey) === 'true') {\n\t\t\t// Skip delay and render immediately if once is set and already rendered\n\t\t\tthis.rendered = true\n\t\t\treturn\n\t\t}\n\n\t\t// Calculate the effective delay (parent + self + all preceding siblings)\n\t\tconst siblingDelay = this.getTotalSiblingDelay(this)\n\t\tthis.effectiveDelay = this.delay + this.parentDelay + siblingDelay\n\n\t\t// Start the delay timer\n\t\ttimer(this.effectiveDelay)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.rendered = true // Render content after delay\n\t\t\t\tif (this.once) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsessionStorage.setItem(this.sessionKey, 'true')\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Error saving to session storage:', error)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tprivate generateSessionKey(): string {\n\t\tconst slotContent = this.assignedElements.map(el => el.outerHTML).join('')\n\t\tconsole.log(slotContent)\n\t\treturn this.once ? hashContent(slotContent) : ''\n\t}\n\n\tprivate get motionLit(): any {\n\t\treturn this.motion === 'flyBelow' ? flyBelow : this.motion === 'flyAbove' ? flyAbove : fadeIn\n\t}\n\n\trender() {\n\t\treturn cache(\n\t\t\tthis.rendered\n\t\t\t\t? html`<div\n\t\t\t\t\t\t${animate({\n\t\t\t\t\t\t\tin: this.motionLit, // Use the provided motion type\n\t\t\t\t\t\t\tkeyframeOptions: { duration: 300, easing: 'ease-out' },\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>`\n\t\t\t\t: html`\n\t\t\t\t\t\t<section style=\"display: none;\">\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t</section>\n\t\t\t\t\t`,\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-delay': SchmancyDelay\n\t}\n}\n"],"names":["i","WeakMap","o","r","Map","n","WeakSet","a","Promise","t","requestAnimationFrame","c","transform","opacity","l","v","g","s","w","N","left","value","isNaN","top","width","e","overrideFrom","height","A","duration","easing","b","j","F","super","this","h","shouldLog","type","CHILD","Error","createFinished","resolveFinished","finished","get","u","options","disabled","getController","host","addController","updateComplete","then","element","set","optionsOrCallback","p","render","defaultOptions","keyframeOptions","properties","m","getBoundingClientRect","getComputedStyle","forEach","Number","guard","Array","isArray","length","every","_","isDisabled","isAnimating","isConnected","from","hostUpdate","parentNode","nextSibling","hostUpdated","skipInitial","isHostRendered","prepare","O","to","log","calculateKeyframes","inId","delete","in","slice","zIndex","animate","resetStyles","P","setAttribute","commitStyles","getAttribute","webAnimation","cancel","id","out","insertBefore","stabilizeOut","position","style","remove","onStart","onComplete","animatingProperties","frames","push","has","add","Object","assign","map","filter","transformOrigin","start","onFrames","didFinish","playState","pending","hashContent","content","hash","charCodeAt","toString","ELEMENT","S","C","$","offsetParent","includes","delayContext","createContext","SchmancyDelay","$LitElement","arguments","delay","motion","rendered","parentDelay","effectiveDelay","once","sessionKey","observeSlotChanges","updateRenderState","disconnectedCallback","mutationObserver","disconnect","slot","shadowRoot","querySelector","MutationObserver","generateSessionKey","observe","childList","subtree","HTMLElement","totalDelay","sibling","previousElementSibling","parentElement","getTotalSiblingDelay","sessionStorage","getItem","siblingDelay","timer","pipe","takeUntil","disconnecting","subscribe","setItem","error","slotContent","assignedElements","el","outerHTML","join","flyBelow","flyAbove","fadeIn","cache","html","motionLit","__decorateClass","property","reflect","prototype","String","state","consume","context","provide","Boolean","queryAssignedElements","flatten","customElement"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
1
|
+
{"version":3,"file":"delay-BdXEKapp.js","sources":["../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/animate-controller.js","../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/animate.js","../../../../.yarn/berry/cache/@lit-labs-motion-npm-1.0.8-49c4e9bf47-10c0.zip/node_modules/@lit-labs/motion/position.js","../src/utils/hashContent.ts","../src/delay/delay.ts"],"sourcesContent":["const i=new WeakMap;class t{constructor(t,s){this.startPaused=!1,this.disabled=!1,this.clients=new Set,this.pendingComplete=!1,this.host=t,this.defaultOptions=s.defaultOptions||{},this.startPaused=!!s.startPaused,this.disabled=!!s.disabled,this.onComplete=s.onComplete,i.set(this.host,this)}async add(i){this.clients.add(i),this.startPaused&&i.webAnimation?.pause(),this.pendingComplete=!0,await i.finished,this.pendingComplete&&!this.isAnimating&&(this.pendingComplete=!1,this.onComplete?.())}remove(i){this.clients.delete(i)}pause(){this.clients.forEach((i=>i.webAnimation?.pause()))}play(){this.clients.forEach((i=>i.webAnimation?.play()))}cancel(){this.clients.forEach((i=>i.webAnimation?.cancel())),this.clients.clear()}finish(){this.clients.forEach((i=>i.webAnimation?.finish())),this.clients.clear()}togglePlay(){this.isPlaying?this.pause():this.play()}get isAnimating(){return this.clients.size>0}get isPlaying(){return Array.from(this.clients).some((i=>\"running\"===i.webAnimation?.playState))}async finished(){await Promise.all(Array.from(this.clients).map((i=>i.finished)))}}export{t as AnimateController,i as controllerMap};\n//# sourceMappingURL=animate-controller.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as e}from\"lit/async-directive.js\";import{controllerMap as h}from\"./animate-controller.js\";export{AnimateController}from\"./animate-controller.js\";let o=0;const r=new Map,n=new WeakSet,a=()=>new Promise((t=>requestAnimationFrame(t))),c=[{transform:\"translateY(100%) scale(0)\",opacity:0}],l=[{transform:\"translateY(-100%) scale(0)\",opacity:0}],d=[{transform:\"translateX(-100%) scale(0)\",opacity:0}],u=[{transform:\"translateX(100%) scale(0)\",opacity:0}],m=[{}],f=[{opacity:0}],p=f,v=[{opacity:0},{opacity:1}],y=[{opacity:0},{opacity:.25,offset:.75},{opacity:1}],g=(t,i)=>{const s=t-i;return 0===s?void 0:s},w=(t,i)=>{const s=t/i;return 1===s?void 0:s},N={left:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateX(${s}px)`}},top:(t,i)=>{const s=g(t,i);return{value:s,transform:null==s||isNaN(s)?void 0:`translateY(${s}px)`}},width:(t,i)=>{let s;0===i&&(i=1,s={width:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleX(${e})`}},height:(t,i)=>{let s;0===i&&(i=1,s={height:\"1px\"});const e=w(t,i);return{value:e,overrideFrom:s,transform:null==e||isNaN(e)?void 0:`scaleY(${e})`}}},A={duration:333,easing:\"ease-in-out\"},b=[\"left\",\"top\",\"width\",\"height\",\"opacity\",\"color\",\"background\"],j=new WeakMap;class x extends e{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===s.CHILD)throw Error(\"The `animate` directive must be used in attribute position.\");this.createFinished()}createFinished(){this.resolveFinished?.(),this.finished=new Promise((t=>{this.l=t}))}async resolveFinished(){this.l?.(),this.l=void 0}render(i){return t}getController(){return h.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(t,[i]){const s=void 0===this.u;return s&&(this.u=t.options?.host,this.u.addController(this),this.u.updateComplete.then((t=>this.t=!0)),this.element=t.element,j.set(this.element,this)),this.optionsOrCallback=i,(s||\"function\"!=typeof i)&&this.p(i),this.render(i)}p(t){t=t??{};const i=this.getController();void 0!==i&&((t={...i.defaultOptions,...t}).keyframeOptions={...i.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??=b,this.options=t}m(){const t={},i=this.element.getBoundingClientRect(),s=getComputedStyle(this.element);return this.options.properties.forEach((e=>{const h=i[e]??(N[e]?void 0:s[e]),o=Number(h);t[e]=isNaN(o)?h+\"\":o})),t}v(){let t,i=!0;return this.options.guard&&(t=this.options.guard(),i=((t,i)=>{if(Array.isArray(t)){if(Array.isArray(i)&&i.length===t.length&&t.every(((t,s)=>t===i[s])))return!1}else if(i===t)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&i&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){\"function\"==typeof this.optionsOrCallback&&this.p(this.optionsOrCallback()),this.v()&&(this.A=this.m(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let t;this.prepare(),await a;const i=this.O(),s=this.j(this.options.keyframeOptions,i),e=this.m();if(void 0!==this.A){const{from:s,to:h}=this.N(this.A,e,i);this.log(\"measured\",[this.A,e,s,h]),t=this.calculateKeyframes(s,h)}else{const s=r.get(this.options.inId);if(s){r.delete(this.options.inId);const{from:h,to:n}=this.N(s,e,i);t=this.calculateKeyframes(h,n),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,o++,t.forEach((t=>t.zIndex=o))}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,s)}resetStyles(){void 0!==this.P&&(this.element.setAttribute(\"style\",this.P??\"\"),this.P=void 0)}commitStyles(){this.P=this.element.getAttribute(\"style\"),this.webAnimation?.commitStyles(),this.webAnimation?.cancel()}reconnected(){}async disconnected(){if(!this.h)return;if(void 0!==this.options.id&&r.set(this.options.id,this.A),void 0===this.options.out)return;if(this.prepare(),await a(),this.i?.isConnected){const t=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,t),this.options.stabilizeOut){const t=this.m();this.log(\"stabilizing out\");const i=this.A.left-t.left,s=this.A.top-t.top;!(\"static\"===getComputedStyle(this.element).position)||0===i&&0===s||(this.element.style.position=\"relative\"),0!==i&&(this.element.style.left=i+\"px\"),0!==s&&(this.element.style.top=s+\"px\")}}const t=this.j(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){this.options.onStart?.(this)}didFinish(t){t&&this.options.onComplete?.(this),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}O(){const t=[];for(let i=this.element.parentNode;i;i=i?.parentNode){const s=j.get(i);s&&!s.isDisabled()&&s&&t.push(s)}return t}get isHostRendered(){const t=n.has(this.u);return t||this.u.updateComplete.then((()=>{n.add(this.u)})),t}j(t,i=this.O()){const s={...A};return i.forEach((t=>Object.assign(s,t.options.keyframeOptions))),Object.assign(s,t),s}N(t,i,s){t={...t},i={...i};const e=s.map((t=>t.animatingProperties)).filter((t=>void 0!==t));let h=1,o=1;return e.length>0&&(e.forEach((t=>{t.width&&(h/=t.width),t.height&&(o/=t.height)})),void 0!==t.left&&void 0!==i.left&&(t.left=h*t.left,i.left=h*i.left),void 0!==t.top&&void 0!==i.top&&(t.top=o*t.top,i.top=o*i.top)),{from:t,to:i}}calculateKeyframes(t,i,s=!1){const e={},h={};let o=!1;const r={};for(const s in i){const n=t[s],a=i[s];if(s in N){const t=N[s];if(void 0===n||void 0===a)continue;const i=t(n,a);void 0!==i.transform&&(r[s]=i.value,o=!0,e.transform=`${e.transform??\"\"} ${i.transform}`,void 0!==i.overrideFrom&&Object.assign(e,i.overrideFrom))}else n!==a&&void 0!==n&&void 0!==a&&(o=!0,e[s]=n,h[s]=a)}return e.transformOrigin=h.transformOrigin=s?\"center center\":\"top left\",this.animatingProperties=r,o?[e,h]:void 0}async animate(t,i=this.options.keyframeOptions){this.start(),this.frames=t;let s=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log(\"modified frames\",t)),void 0!==t)){this.log(\"animate\",[t,i]),s=!0,this.webAnimation=this.element.animate(t,i);const e=this.getController();e?.add(this);try{await this.webAnimation.finished}catch(t){}e?.remove(this)}return this.didFinish(s),s}isAnimating(){return\"running\"===this.webAnimation?.playState||this.webAnimation?.pending}log(t,i){this.shouldLog&&!this.isDisabled()&&console.log(t,this.options.id,i)}}const F=i(x);export{x as Animate,F as animate,a as animationFrame,b as defaultCssProperties,A as defaultKeyframeOptions,p as fade,v as fadeIn,y as fadeInSlow,f as fadeOut,l as flyAbove,c as flyBelow,d as flyLeft,u as flyRight,m as none,N as transformProps};\n//# sourceMappingURL=animate.js.map\n","import{nothing as t}from\"lit/html.js\";import{directive as i,PartType as s}from\"lit/directive.js\";import{AsyncDirective as o}from\"lit/async-directive.js\";const r=[\"top\",\"right\",\"bottom\",\"left\"];class e extends o{constructor(t){if(super(t),t.type!==s.ELEMENT)throw Error(\"The `position` directive must be used in attribute position.\")}render(i,s){return t}update(t,[i,s]){return void 0===this.u&&(this.u=t.options?.host,this.u.addController(this)),this.S=t.element,this.C=i,this.F=s??[\"left\",\"top\",\"width\",\"height\"],this.render(i,s)}hostUpdated(){this.$()}$(){const t=\"function\"==typeof this.C?this.C():this.C?.value,i=t.offsetParent;if(void 0===t||!i)return;const s=t.getBoundingClientRect(),o=i.getBoundingClientRect();this.F?.forEach((t=>{const i=r.includes(t)?s[t]-o[t]:s[t];this.S.style[t]=i+\"px\"}))}}const h=i(e);export{e as Position,h as position};\n//# sourceMappingURL=position.js.map\n","export default function (content: string): string {\n\tconst fnvOffsetBasis = 0x811c9dc5\n\tconst fnvPrime = 0x01000193\n\tlet hash = fnvOffsetBasis\n\n\tfor (let i = 0; i < content.length; i++) {\n\t\thash ^= content.charCodeAt(i)\n\t\thash = (hash * fnvPrime) >>> 0 // Ensure unsigned 32-bit integer\n\t}\n\n\treturn hash.toString(16) // Convert to hexadecimal string for compactness\n}\n","import { animate, fadeIn, flyAbove, flyBelow } from '@lit-labs/motion'\nimport { consume, createContext, provide } from '@lit/context'\nimport { $LitElement } from '@mixins/litElement.mixin'\nimport hashContent from '@schmancy/utils/hashContent'\nimport { html } from 'lit'\nimport { customElement, property, queryAssignedElements, state } from 'lit/decorators.js'\nimport { cache } from 'lit/directives/cache.js'\nimport { timer } from 'rxjs'\nimport { takeUntil } from 'rxjs/operators'\n\nexport const delayContext = createContext<number>('delay-context')\n\n@customElement('schmancy-delay')\nexport class SchmancyDelay extends $LitElement() {\n\t@property({ type: Number, reflect: true }) delay = 0 // Delay in milliseconds\n\t@property({ type: String }) motion = 'flyBelow' // Motion type (default: flyBelow)\n\t@state() private rendered = false // Tracks if the content is rendered\n\t@consume({ context: delayContext, subscribe: true }) parentDelay = 0 // Consumes the parent's delay value\n\t@provide({ context: delayContext }) effectiveDelay = 0 // Provides the effective delay to children\n\n\t@property({ type: Boolean }) once? = true // Only render once per session\n\n\tprivate sessionKey = '' // Unique session key\n\tprivate mutationObserver?: MutationObserver\n\n\t@queryAssignedElements({\n\t\tflatten: true,\n\t})\n\tassignedElements: HTMLElement[]\n\tfirstUpdated() {\n\t\tthis.observeSlotChanges()\n\t\tthis.updateRenderState()\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis.mutationObserver?.disconnect() // Clean up the observer\n\t}\n\n\tprivate observeSlotChanges() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot')\n\t\tif (!slot) return\n\n\t\tthis.mutationObserver = new MutationObserver(() => {\n\t\t\t// Update session key when children change\n\t\t\tthis.sessionKey = this.generateSessionKey()\n\t\t})\n\n\t\tthis.mutationObserver.observe(slot, { childList: true, subtree: true })\n\t}\n\n\tprivate getTotalSiblingDelay(element: HTMLElement | null): number {\n\t\tif (!element || !(element instanceof HTMLElement)) return 0\n\n\t\tlet totalDelay = 0\n\t\tlet sibling = element.previousElementSibling // Start with the previous sibling\n\n\t\twhile (sibling) {\n\t\t\t// Check if the sibling is a `schmancy-delay` and add its delay\n\t\t\tif (sibling instanceof SchmancyDelay) {\n\t\t\t\ttotalDelay += sibling.delay\n\t\t\t}\n\t\t\t// Move to the previous sibling\n\t\t\tsibling = sibling.previousElementSibling\n\t\t}\n\n\t\t// Traverse up the tree and repeat for the parent node\n\t\tif (element.parentElement) {\n\t\t\ttotalDelay += this.getTotalSiblingDelay(element.parentElement)\n\t\t}\n\n\t\treturn totalDelay\n\t}\n\n\tprivate updateRenderState() {\n\t\tthis.sessionKey = this.generateSessionKey()\n\n\t\tif (this.once && sessionStorage.getItem(this.sessionKey) === 'true') {\n\t\t\t// Skip delay and render immediately if once is set and already rendered\n\t\t\tthis.rendered = true\n\t\t\treturn\n\t\t}\n\n\t\t// Calculate the effective delay (parent + self + all preceding siblings)\n\t\tconst siblingDelay = this.getTotalSiblingDelay(this)\n\t\tthis.effectiveDelay = this.delay + this.parentDelay + siblingDelay\n\n\t\t// Start the delay timer\n\t\ttimer(this.effectiveDelay)\n\t\t\t.pipe(takeUntil(this.disconnecting))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis.rendered = true // Render content after delay\n\t\t\t\tif (this.once) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsessionStorage.setItem(this.sessionKey, 'true')\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('Error saving to session storage:', error)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t}\n\n\tprivate generateSessionKey(): string {\n\t\tconst slotContent = this.assignedElements.map(el => el.outerHTML).join('')\n\t\tconsole.log(slotContent)\n\t\treturn this.once ? hashContent(slotContent) : ''\n\t}\n\n\tprivate get motionLit(): any {\n\t\treturn this.motion === 'flyBelow' ? flyBelow : this.motion === 'flyAbove' ? flyAbove : fadeIn\n\t}\n\n\trender() {\n\t\treturn cache(\n\t\t\tthis.rendered\n\t\t\t\t? html`<div\n\t\t\t\t\t\t${animate({\n\t\t\t\t\t\t\tin: this.motionLit, // Use the provided motion type\n\t\t\t\t\t\t\tkeyframeOptions: { duration: 300, easing: 'ease-out' },\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</div>`\n\t\t\t\t: html`\n\t\t\t\t\t\t<section style=\"display: none;\">\n\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t</section>\n\t\t\t\t\t`,\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-delay': SchmancyDelay\n\t}\n}\n"],"names":["i","WeakMap","o","r","Map","n","WeakSet","a","Promise","t","requestAnimationFrame","c","transform","opacity","l","v","g","s","w","N","left","value","isNaN","top","width","e","overrideFrom","height","A","duration","easing","b","j","F","super","this","h","shouldLog","type","CHILD","Error","createFinished","resolveFinished","finished","get","u","options","disabled","getController","host","addController","updateComplete","then","element","set","optionsOrCallback","p","render","defaultOptions","keyframeOptions","properties","m","getBoundingClientRect","getComputedStyle","forEach","Number","guard","Array","isArray","length","every","_","isDisabled","isAnimating","isConnected","from","hostUpdate","parentNode","nextSibling","hostUpdated","skipInitial","isHostRendered","prepare","O","to","log","calculateKeyframes","inId","delete","in","slice","zIndex","animate","resetStyles","P","setAttribute","commitStyles","getAttribute","webAnimation","cancel","id","out","insertBefore","stabilizeOut","position","style","remove","onStart","onComplete","animatingProperties","frames","push","has","add","Object","assign","map","filter","transformOrigin","start","onFrames","didFinish","playState","pending","hashContent","content","hash","charCodeAt","toString","ELEMENT","S","C","$","offsetParent","includes","delayContext","createContext","SchmancyDelay","$LitElement","arguments","delay","motion","rendered","parentDelay","effectiveDelay","once","sessionKey","observeSlotChanges","updateRenderState","disconnectedCallback","mutationObserver","disconnect","slot","shadowRoot","querySelector","MutationObserver","generateSessionKey","observe","childList","subtree","HTMLElement","totalDelay","sibling","previousElementSibling","parentElement","getTotalSiblingDelay","sessionStorage","getItem","siblingDelay","timer","pipe","takeUntil","disconnecting","subscribe","setItem","error","slotContent","assignedElements","el","outerHTML","join","flyBelow","flyAbove","fadeIn","cache","html","motionLit","__decorateClass","property","reflect","prototype","String","state","consume","context","provide","Boolean","queryAssignedElements","flatten","customElement"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|