@mhmo91/schmancy 0.6.13 → 0.6.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai/navigation-bar.md +23 -7
- package/dist/ai/navigation-bar.md +23 -7
- package/dist/{animated-text-CUmecSA0.js → animated-text-CXkLixsn.js} +3 -3
- package/dist/{animated-text-CUmecSA0.js.map → animated-text-CXkLixsn.js.map} +1 -1
- package/dist/{animated-text-D4VX-d9R.cjs → animated-text-DwlmOCAu.cjs} +2 -2
- package/dist/{animated-text-D4VX-d9R.cjs.map → animated-text-DwlmOCAu.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-Dy_bNCum.cjs → area.component-DLKsm0cJ.cjs} +2 -2
- package/dist/{area.component-Dy_bNCum.cjs.map → area.component-DLKsm0cJ.cjs.map} +1 -1
- package/dist/{area.component-CY-wcftl.js → area.component-DbyIwSen.js} +3 -3
- package/dist/{area.component-CY-wcftl.js.map → area.component-DbyIwSen.js.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-BQTNgzWU.cjs → autocomplete-BtJueYNt.cjs} +2 -2
- package/dist/{autocomplete-BQTNgzWU.cjs.map → autocomplete-BtJueYNt.cjs.map} +1 -1
- package/dist/{autocomplete-BLmTfG1M.js → autocomplete-X2TcRii_.js} +4 -4
- package/dist/{autocomplete-BLmTfG1M.js.map → autocomplete-X2TcRii_.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-D8kuLXpu.cjs → avatar-8kT0fLuL.cjs} +3 -3
- package/dist/avatar-8kT0fLuL.cjs.map +1 -0
- package/dist/{avatar-CCwr3pAC.js → avatar-BK3a-7Ex.js} +52 -52
- package/dist/avatar-BK3a-7Ex.js.map +1 -0
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-C_tZIBSz.cjs → boat-DLniPpKM.cjs} +2 -2
- package/dist/{boat-C_tZIBSz.cjs.map → boat-DLniPpKM.cjs.map} +1 -1
- package/dist/{boat-DgUy8xs-.js → boat-DsG5xqRQ.js} +3 -3
- package/dist/{boat-DgUy8xs-.js.map → boat-DsG5xqRQ.js.map} +1 -1
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-DjaUfANf.cjs → checkbox-D4k9hOGr.cjs} +2 -2
- package/dist/{checkbox-DjaUfANf.cjs.map → checkbox-D4k9hOGr.cjs.map} +1 -1
- package/dist/{checkbox-D6ri_ioM.js → checkbox-DJfcWdHu.js} +2 -2
- package/dist/{checkbox-D6ri_ioM.js.map → checkbox-DJfcWdHu.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{code-preview-eQCRfE8d.js → code-preview-2QujfDM-.js} +2 -2
- package/dist/{code-preview-eQCRfE8d.js.map → code-preview-2QujfDM-.js.map} +1 -1
- package/dist/{code-preview-WyZg7w_7.cjs → code-preview-BCExTzlk.cjs} +2 -2
- package/dist/{code-preview-WyZg7w_7.cjs.map → code-preview-BCExTzlk.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-8-fGyR3Z.js → date-range-1jcMQxpT.js} +3 -3
- package/dist/{date-range-8-fGyR3Z.js.map → date-range-1jcMQxpT.js.map} +1 -1
- package/dist/{date-range-CmKmNOnp.cjs → date-range-CUOzti4w.cjs} +2 -2
- package/dist/{date-range-CmKmNOnp.cjs.map → date-range-CUOzti4w.cjs.map} +1 -1
- package/dist/{date-range-inline-DjC2j9SN.cjs → date-range-inline-CtP8EErp.cjs} +2 -2
- package/dist/{date-range-inline-DjC2j9SN.cjs.map → date-range-inline-CtP8EErp.cjs.map} +1 -1
- package/dist/{date-range-inline-BEPXeeXh.js → date-range-inline-TNQO_qOG.js} +3 -3
- package/dist/{date-range-inline-BEPXeeXh.js.map → date-range-inline-TNQO_qOG.js.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-BsFf3qCR.js → delay-BS6JZiTl.js} +2 -2
- package/dist/{delay-BsFf3qCR.js.map → delay-BS6JZiTl.js.map} +1 -1
- package/dist/{delay-UxAcUuZu.cjs → delay-SQQC8r0A.cjs} +2 -2
- package/dist/{delay-UxAcUuZu.cjs.map → delay-SQQC8r0A.cjs.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-2Mdm-CDN.js → details-8r7gRioQ.js} +2 -2
- package/dist/{details-2Mdm-CDN.js.map → details-8r7gRioQ.js.map} +1 -1
- package/dist/{details-BxeylMkN.cjs → details-DEvfK6Y_.cjs} +2 -2
- package/dist/{details-BxeylMkN.cjs.map → details-DEvfK6Y_.cjs.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-Ca4gzlOi.js → dialog-content-BLXnQPe_.js} +3 -3
- package/dist/{dialog-content-Ca4gzlOi.js.map → dialog-content-BLXnQPe_.js.map} +1 -1
- package/dist/{dialog-content-CN7O3ZVZ.cjs → dialog-content-eMPblRN-.cjs} +2 -2
- package/dist/{dialog-content-CN7O3ZVZ.cjs.map → dialog-content-eMPblRN-.cjs.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-CVwVe6Gj.cjs → divider-B5Lscbmv.cjs} +2 -2
- package/dist/{divider-CVwVe6Gj.cjs.map → divider-B5Lscbmv.cjs.map} +1 -1
- package/dist/{divider-BzILgs8q.js → divider-DVOP9fKz.js} +3 -3
- package/dist/{divider-BzILgs8q.js.map → divider-DVOP9fKz.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-DevuaHdH.js → dropdown-content-BYicwGyz.js} +3 -3
- package/dist/{dropdown-content-DevuaHdH.js.map → dropdown-content-BYicwGyz.js.map} +1 -1
- package/dist/{dropdown-content-CLMuMtcs.cjs → dropdown-content-Bw7XWcwi.cjs} +2 -2
- package/dist/{dropdown-content-CLMuMtcs.cjs.map → dropdown-content-Bw7XWcwi.cjs.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-M_Id-4uD.js → email-recipients-B1BIM0D8.js} +6 -6
- package/dist/{email-recipients-M_Id-4uD.js.map → email-recipients-B1BIM0D8.js.map} +1 -1
- package/dist/{email-recipients-BRSQsglN.cjs → email-recipients-gR5xX1BV.cjs} +2 -2
- package/dist/{email-recipients-BRSQsglN.cjs.map → email-recipients-gR5xX1BV.cjs.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-Bc217dkI.js → flex-DmDh3Xck.js} +2 -2
- package/dist/{flex-Bc217dkI.js.map → flex-DmDh3Xck.js.map} +1 -1
- package/dist/{flex-Bmct0fDD.cjs → flex-swmc0cUu.cjs} +2 -2
- package/dist/{flex-Bmct0fDD.cjs.map → flex-swmc0cUu.cjs.map} +1 -1
- package/dist/{form-De_aVOKV.js → form-AnAbcU3R.js} +2 -2
- package/dist/{form-De_aVOKV.js.map → form-AnAbcU3R.js.map} +1 -1
- package/dist/{form-BpVLzotp.cjs → form-j2b0DSLw.cjs} +2 -2
- package/dist/{form-BpVLzotp.cjs.map → form-j2b0DSLw.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-DZ3CBzQ7.js → formField.mixin-ClH5rpgp.js} +2 -2
- package/dist/{formField.mixin-DZ3CBzQ7.js.map → formField.mixin-ClH5rpgp.js.map} +1 -1
- package/dist/{formField.mixin-CPhGXtB-.cjs → formField.mixin-SDERSPsB.cjs} +2 -2
- package/dist/{formField.mixin-CPhGXtB-.cjs.map → formField.mixin-SDERSPsB.cjs.map} +1 -1
- package/dist/{icon-D05NBa8J.js → icon-BC3uU_kR.js} +2 -2
- package/dist/{icon-D05NBa8J.js.map → icon-BC3uU_kR.js.map} +1 -1
- package/dist/{icon-D9KDm0_c.cjs → icon-XSmJ_oNG.cjs} +2 -2
- package/dist/{icon-D9KDm0_c.cjs.map → icon-XSmJ_oNG.cjs.map} +1 -1
- package/dist/{icon-button-D-K64Mol.js → icon-button-3uyKYV7-.js} +3 -3
- package/dist/{icon-button-D-K64Mol.js.map → icon-button-3uyKYV7-.js.map} +1 -1
- package/dist/{icon-button-oBh0tLNe.cjs → icon-button-CMa6DB99.cjs} +2 -2
- package/dist/{icon-button-oBh0tLNe.cjs.map → icon-button-CMa6DB99.cjs.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +50 -50
- package/dist/{input-D7w4ndXi.cjs → input-B2YwvRXR.cjs} +2 -2
- package/dist/{input-D7w4ndXi.cjs.map → input-B2YwvRXR.cjs.map} +1 -1
- package/dist/{input-BVnJlKsv.js → input-Dexl-lrG.js} +3 -3
- package/dist/{input-BVnJlKsv.js.map → input-Dexl-lrG.js.map} +1 -1
- package/dist/{input-chip-BVmNlWuq.cjs → input-chip-DB3ZBcZn.cjs} +2 -2
- package/dist/{input-chip-BVmNlWuq.cjs.map → input-chip-DB3ZBcZn.cjs.map} +1 -1
- package/dist/{input-chip-CizoVJge.js → input-chip-_YszUd8z.js} +2 -2
- package/dist/{input-chip-CizoVJge.js.map → input-chip-_YszUd8z.js.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{list-D-dsHFWw.cjs → list-BR-JEmOj.cjs} +2 -2
- package/dist/{list-D-dsHFWw.cjs.map → list-BR-JEmOj.cjs.map} +1 -1
- package/dist/{list-BQ3UOtc2.js → list-CquiBoXQ.js} +2 -2
- package/dist/{list-BQ3UOtc2.js.map → list-CquiBoXQ.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-Cv7EISwD.js → litElement.mixin-BkJ5xSe0.js} +2 -2
- package/dist/{litElement.mixin-Cv7EISwD.js.map → litElement.mixin-BkJ5xSe0.js.map} +1 -1
- package/dist/{litElement.mixin-CJY2Cfqe.cjs → litElement.mixin-ByATw3mZ.cjs} +2 -2
- package/dist/{litElement.mixin-CJY2Cfqe.cjs.map → litElement.mixin-ByATw3mZ.cjs.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-p0Ds9nkV.cjs → map-BvR3poWa.cjs} +2 -2
- package/dist/{map-p0Ds9nkV.cjs.map → map-BvR3poWa.cjs.map} +1 -1
- package/dist/{map-1TRayP2G.js → map-nq-UJIG1.js} +2 -2
- package/dist/{map-1TRayP2G.js.map → map-nq-UJIG1.js.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-jZAzIaPe.js → media-B0G4a4dk.js} +2 -2
- package/dist/{media-jZAzIaPe.js.map → media-B0G4a4dk.js.map} +1 -1
- package/dist/{media-CyPm58zF.cjs → media-LEiWsBFD.cjs} +2 -2
- package/dist/{media-CyPm58zF.cjs.map → media-LEiWsBFD.cjs.map} +1 -1
- package/dist/{menu-Dura_BY4.js → menu-7cP5tC2B.js} +3 -3
- package/dist/{menu-Dura_BY4.js.map → menu-7cP5tC2B.js.map} +1 -1
- package/dist/{menu-LDhTIPWk.cjs → menu-BKq36UN8.cjs} +2 -2
- package/dist/{menu-LDhTIPWk.cjs.map → menu-BKq36UN8.cjs.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/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/{navigation-rail-D-BOM8gm.cjs → navigation-rail-BKxtEDx8.cjs} +2 -2
- package/dist/{navigation-rail-D-BOM8gm.cjs.map → navigation-rail-BKxtEDx8.cjs.map} +1 -1
- package/dist/{navigation-rail-Bu7lGEel.js → navigation-rail-D5987GsB.js} +3 -3
- package/dist/{navigation-rail-Bu7lGEel.js.map → navigation-rail-D5987GsB.js.map} +1 -1
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-service-CI3DgEy_.cjs → notification-service-BEUd4eSl.cjs} +2 -2
- package/dist/{notification-service-CI3DgEy_.cjs.map → notification-service-BEUd4eSl.cjs.map} +1 -1
- package/dist/{notification-service-CE15AIwh.js → notification-service-ChB6yIdF.js} +4 -4
- package/dist/{notification-service-CE15AIwh.js.map → notification-service-ChB6yIdF.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-B4IuXbge.cjs → notify-DVeG-xkY.cjs} +2 -2
- package/dist/{notify-B4IuXbge.cjs.map → notify-DVeG-xkY.cjs.map} +1 -1
- package/dist/{notify-ChLnWIbA.js → notify-DtV3hOAh.js} +2 -2
- package/dist/{notify-ChLnWIbA.js.map → notify-DtV3hOAh.js.map} +1 -1
- package/dist/{option-DRama3yg.js → option-B3ZuuS7d.js} +2 -2
- package/dist/{option-DRama3yg.js.map → option-B3ZuuS7d.js.map} +1 -1
- package/dist/{option-BanGLIfi.cjs → option-BnCqyZ1G.cjs} +2 -2
- package/dist/{option-BanGLIfi.cjs.map → option-BnCqyZ1G.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-QlR9k4BD.cjs → payment-card-form-BbIb4L73.cjs} +2 -2
- package/dist/{payment-card-form-QlR9k4BD.cjs.map → payment-card-form-BbIb4L73.cjs.map} +1 -1
- package/dist/{payment-card-form-v-KnKUZO.js → payment-card-form-DVdvTj4q.js} +3 -3
- package/dist/{payment-card-form-v-KnKUZO.js.map → payment-card-form-DVdvTj4q.js.map} +1 -1
- package/dist/{progress-UBKScNdh.js → progress-DJaKqm9N.js} +2 -2
- package/dist/{progress-UBKScNdh.js.map → progress-DJaKqm9N.js.map} +1 -1
- package/dist/{progress-CiDHs_md.cjs → progress-UpWHuWNo.cjs} +2 -2
- package/dist/{progress-CiDHs_md.cjs.map → progress-UpWHuWNo.cjs.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-DflI0Xw0.cjs → radio-button-BCFhfUmi.cjs} +2 -2
- package/dist/{radio-button-DflI0Xw0.cjs.map → radio-button-BCFhfUmi.cjs.map} +1 -1
- package/dist/{radio-button-CRr1UMdw.js → radio-button-De_M5gs5.js} +3 -3
- package/dist/{radio-button-CRr1UMdw.js.map → radio-button-De_M5gs5.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-cU2g6cMS.js → schmancy-steps-container-B78yjMzg.js} +2 -2
- package/dist/{schmancy-steps-container-cU2g6cMS.js.map → schmancy-steps-container-B78yjMzg.js.map} +1 -1
- package/dist/{schmancy-steps-container-CQqY3dOG.cjs → schmancy-steps-container-C3bMTFEN.cjs} +2 -2
- package/dist/{schmancy-steps-container-CQqY3dOG.cjs.map → schmancy-steps-container-C3bMTFEN.cjs.map} +1 -1
- package/dist/{select-CsYqzyKi.js → select-BniRmX8N.js} +3 -3
- package/dist/{select-CsYqzyKi.js.map → select-BniRmX8N.js.map} +1 -1
- package/dist/{select-CQbsbS_s.cjs → select-Dyi3H5Gi.cjs} +2 -2
- package/dist/{select-CQbsbS_s.cjs.map → select-Dyi3H5Gi.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-D74r4jeP.js → sheet-Bjt_7O9d.js} +5 -5
- package/dist/{sheet-D74r4jeP.js.map → sheet-Bjt_7O9d.js.map} +1 -1
- package/dist/{sheet-BH4evGq6.cjs → sheet-Boqpk0ZI.cjs} +2 -2
- package/dist/{sheet-BH4evGq6.cjs.map → sheet-Boqpk0ZI.cjs.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/{sheet.service-CdcwIejg.cjs → sheet.service-DerP3lOT.cjs} +2 -2
- package/dist/{sheet.service-CdcwIejg.cjs.map → sheet.service-DerP3lOT.cjs.map} +1 -1
- package/dist/{sheet.service-Bn-Ea0gS.js → sheet.service-v6ZcXxgt.js} +2 -2
- package/dist/{sheet.service-Bn-Ea0gS.js.map → sheet.service-v6ZcXxgt.js.map} +1 -1
- package/dist/{slider-DPggZXEs.js → slider-BRoxL04w.js} +3 -3
- package/dist/{slider-DPggZXEs.js.map → slider-BRoxL04w.js.map} +1 -1
- package/dist/{slider-CGKeX2gT.cjs → slider-DFqI8sV_.cjs} +2 -2
- package/dist/{slider-CGKeX2gT.cjs.map → slider-DFqI8sV_.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-8kd9IUxN.js → spinner-CTld58nR.js} +2 -2
- package/dist/{spinner-8kd9IUxN.js.map → spinner-CTld58nR.js.map} +1 -1
- package/dist/{spinner-nEBRJu36.cjs → spinner-DcSXDzOD.cjs} +2 -2
- package/dist/{spinner-nEBRJu36.cjs.map → spinner-DcSXDzOD.cjs.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{suggestion-chip-BqoNDMth.js → suggestion-chip-CLJFJgkY.js} +3 -3
- package/dist/{suggestion-chip-BqoNDMth.js.map → suggestion-chip-CLJFJgkY.js.map} +1 -1
- package/dist/{suggestion-chip-HRnLGmOl.cjs → suggestion-chip-Lby1Ejkz.cjs} +2 -2
- package/dist/{suggestion-chip-HRnLGmOl.cjs.map → suggestion-chip-Lby1Ejkz.cjs.map} +1 -1
- package/dist/{surface-CIbY6840.js → surface-C6OOSJCL.js} +2 -2
- package/dist/{surface-CIbY6840.js.map → surface-C6OOSJCL.js.map} +1 -1
- package/dist/{surface-4lHxccmh.cjs → surface-DDLedRWY.cjs} +2 -2
- package/dist/{surface-4lHxccmh.cjs.map → surface-DDLedRWY.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-BMMEyi9V.cjs → table-BUff-4Nd.cjs} +39 -41
- package/dist/{table-BMMEyi9V.cjs.map → table-BUff-4Nd.cjs.map} +1 -1
- package/dist/{table-BT0B3T1X.js → table-BWroz_LA.js} +76 -78
- package/dist/{table-BT0B3T1X.js.map → table-BWroz_LA.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-CdGLLPpX.js → tabs-compatibility-B2pilxIp.js} +2 -2
- package/dist/{tabs-compatibility-CdGLLPpX.js.map → tabs-compatibility-B2pilxIp.js.map} +1 -1
- package/dist/{tabs-compatibility-BifVBxsm.cjs → tabs-compatibility-BnutHPg5.cjs} +2 -2
- package/dist/{tabs-compatibility-BifVBxsm.cjs.map → tabs-compatibility-BnutHPg5.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-D9gOO2Zy.js +66 -0
- package/dist/{tailwind.mixin-Cb9Uc9-p.js.map → tailwind.mixin-D9gOO2Zy.js.map} +1 -1
- package/dist/tailwind.mixin-Dn3V28jr.cjs +2 -0
- package/dist/{tailwind.mixin-Wo-oNBIM.cjs.map → tailwind.mixin-Dn3V28jr.cjs.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-8WnHuPcI.cjs → textarea-BIWsJYHo.cjs} +2 -2
- package/dist/{textarea-8WnHuPcI.cjs.map → textarea-BIWsJYHo.cjs.map} +1 -1
- package/dist/{textarea-BbAE_Wts.js → textarea-HnoNbteD.js} +2 -2
- package/dist/{textarea-BbAE_Wts.js.map → textarea-HnoNbteD.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-DD6odcW3.cjs → theme-button-B47eE2NA.cjs} +2 -2
- package/dist/{theme-button-DD6odcW3.cjs.map → theme-button-B47eE2NA.cjs.map} +1 -1
- package/dist/{theme-button-CGfvi4Vf.js → theme-button-CQtvf5rQ.js} +2 -2
- package/dist/{theme-button-CGfvi4Vf.js.map → theme-button-CQtvf5rQ.js.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/{theme-controller-boat-BNrDduYM.js → theme-controller-boat-BMEhTj7b.js} +3 -3
- package/dist/{theme-controller-boat-BNrDduYM.js.map → theme-controller-boat-BMEhTj7b.js.map} +1 -1
- package/dist/{theme-controller-boat-BoQZXtXm.cjs → theme-controller-boat-DFeOAqvr.cjs} +2 -2
- package/dist/{theme-controller-boat-BoQZXtXm.cjs.map → theme-controller-boat-DFeOAqvr.cjs.map} +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-C9yeppAo.cjs → timezone-4RUcnYyR.cjs} +2 -2
- package/dist/{timezone-C9yeppAo.cjs.map → timezone-4RUcnYyR.cjs.map} +1 -1
- package/dist/{timezone--ZlhKaw9.js → timezone-W0NClemY.js} +3 -3
- package/dist/{timezone--ZlhKaw9.js.map → timezone-W0NClemY.js.map} +1 -1
- package/dist/{tooltip-UDXYtkrc.js → tooltip-BNaxRCyZ.js} +2 -2
- package/dist/{tooltip-UDXYtkrc.js.map → tooltip-BNaxRCyZ.js.map} +1 -1
- package/dist/{tooltip-DEAW7vHx.cjs → tooltip-CUJ21qgG.cjs} +2 -2
- package/dist/{tooltip-DEAW7vHx.cjs.map → tooltip-CUJ21qgG.cjs.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-x4n8_wjx.cjs → tree-Bt5grLhM.cjs} +2 -2
- package/dist/{tree-x4n8_wjx.cjs.map → tree-Bt5grLhM.cjs.map} +1 -1
- package/dist/{tree-uUYbbF3b.js → tree-YcyL10ct.js} +2 -2
- package/dist/{tree-uUYbbF3b.js.map → tree-YcyL10ct.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-CMrJs0Xu.cjs → typewriter-CePISW4C.cjs} +2 -2
- package/dist/{typewriter-CMrJs0Xu.cjs.map → typewriter-CePISW4C.cjs.map} +1 -1
- package/dist/{typewriter-Dy1DQ2Hc.js → typewriter-ZlQ0l08y.js} +4 -4
- package/dist/{typewriter-Dy1DQ2Hc.js.map → typewriter-ZlQ0l08y.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-D5P7HS-U.js → typography-CMrtj1dN.js} +2 -2
- package/dist/{typography-D5P7HS-U.js.map → typography-CMrtj1dN.js.map} +1 -1
- package/dist/{typography-DQd9Sd2x.cjs → typography-ooHH_FZc.cjs} +2 -2
- package/dist/{typography-DQd9Sd2x.cjs.map → typography-ooHH_FZc.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/types/src/navigation-bar/navigation-bar.d.ts +4 -4
- package/dist/avatar-CCwr3pAC.js.map +0 -1
- package/dist/avatar-D8kuLXpu.cjs.map +0 -1
- package/dist/tailwind.mixin-Cb9Uc9-p.js +0 -66
- package/dist/tailwind.mixin-Wo-oNBIM.cjs +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-inline-DjC2j9SN.cjs","sources":["../src/date-range-inline/date-range-inline.ts"],"sourcesContent":["import { html } from 'lit'\r\nimport { customElement, property, state } from 'lit/decorators.js'\r\nimport { SchmancyFormField } from '@mixins/index'\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'schmancy-date-range-inline': SchmancyDateRangeInline\r\n\t}\r\n}\r\n\r\nexport type SchmancyDateRangeInlineChangeEvent = CustomEvent<{\r\n\tdateFrom: string\r\n\tdateTo: string\r\n\tisValid: boolean\r\n}>\r\n\r\n/**\r\n * Smart inline date range picker that handles all the heavy lifting.\r\n * Auto-corrects invalid ranges, provides smart defaults, and validates dates.\r\n */\r\n@customElement('schmancy-date-range-inline')\r\nexport default class SchmancyDateRangeInline extends SchmancyFormField() {\r\n\t/**\r\n\t * Input type - 'date' or 'datetime-local'\r\n\t */\r\n\t@property({ type: String })\r\n\ttype: 'date' | 'datetime-local' = 'date'\r\n\r\n\t/**\r\n\t * From date configuration\r\n\t */\r\n\t@property({ type: Object })\r\n\tdateFrom: { label: string; value: string } = { label: 'From', value: '' }\r\n\r\n\t/**\r\n\t * To date configuration\r\n\t */\r\n\t@property({ type: Object })\r\n\tdateTo: { label: string; value: string } = { label: 'To', value: '' }\r\n\r\n\t/**\r\n\t * Minimum allowed date\r\n\t */\r\n\t@property({ type: String })\r\n\tminDate?: string\r\n\r\n\t/**\r\n\t * Maximum allowed date\r\n\t */\r\n\t@property({ type: String })\r\n\tmaxDate?: string\r\n\r\n\t/**\r\n\t * Compact mode for smaller UI\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tcompact = false\r\n\r\n\t/**\r\n\t * Auto-correct invalid date ranges\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tautoCorrect = true\r\n\r\n\t/**\r\n\t * Minimum gap between dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tminGap = 0\r\n\r\n\t/**\r\n\t * Maximum gap between dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tmaxGap?: number\r\n\r\n\t/**\r\n\t * Default gap when auto-setting dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tdefaultGap = 1\r\n\r\n\t/**\r\n\t * Whether to allow same date selection\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tallowSameDate = false\r\n\r\n\t/**\r\n\t * Internal validation state\r\n\t */\r\n\t@state()\r\n\tprivate validationState = {\r\n\t\tdateFromError: '',\r\n\t\tdateToError: '',\r\n\t\trangeError: ''\r\n\t}\r\n\r\n\tconnectedCallback() {\r\n\t\tsuper.connectedCallback()\r\n\t\t// Initialize with smart defaults if no values provided\r\n\t\tif (!this.dateFrom.value && !this.dateTo.value) {\r\n\t\t\tthis.setSmartDefaults()\r\n\t\t} else {\r\n\t\t\t// Validate initial values\r\n\t\t\tthis.validateAndCorrect()\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Set smart default dates based on context\r\n\t */\r\n\tprivate setSmartDefaults() {\r\n\t\tconst today = new Date()\r\n\t\tconst tomorrow = new Date(today)\r\n\t\ttomorrow.setDate(tomorrow.getDate() + this.defaultGap)\r\n\r\n\t\tconst format = this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD'\r\n\t\t\r\n\t\tthis.dateFrom = {\r\n\t\t\t...this.dateFrom,\r\n\t\t\tvalue: this.formatDate(today, format)\r\n\t\t}\r\n\t\t\r\n\t\tthis.dateTo = {\r\n\t\t\t...this.dateTo,\r\n\t\t\tvalue: this.formatDate(tomorrow, format)\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Format date to required string format\r\n\t */\r\n\tprivate formatDate(date: Date, format: string): string {\r\n\t\tconst year = date.getFullYear()\r\n\t\tconst month = String(date.getMonth() + 1).padStart(2, '0')\r\n\t\tconst day = String(date.getDate()).padStart(2, '0')\r\n\t\t\r\n\t\tif (format === 'YYYY-MM-DD') {\r\n\t\t\treturn `${year}-${month}-${day}`\r\n\t\t} else {\r\n\t\t\tconst hours = String(date.getHours()).padStart(2, '0')\r\n\t\t\tconst minutes = String(date.getMinutes()).padStart(2, '0')\r\n\t\t\treturn `${year}-${month}-${day}T${hours}:${minutes}`\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Parse date string to Date object\r\n\t */\r\n\tprivate parseDate(dateStr: string): Date | null {\r\n\t\tif (!dateStr) return null\r\n\t\tconst date = new Date(dateStr)\r\n\t\treturn isNaN(date.getTime()) ? null : date\r\n\t}\r\n\r\n\t/**\r\n\t * Calculate days between two dates\r\n\t */\r\n\tprivate getDaysBetween(date1: Date, date2: Date): number {\r\n\t\tconst msPerDay = 24 * 60 * 60 * 1000\r\n\t\treturn Math.floor((date2.getTime() - date1.getTime()) / msPerDay)\r\n\t}\r\n\r\n\t/**\r\n\t * Handle from date change with validation and auto-correction\r\n\t */\r\n\tprivate handleDateFromChange(e: Event) {\r\n\t\tconst input = e.target as HTMLInputElement\r\n\t\tconst newValue = input.value\r\n\r\n\t\t// Update the value\r\n\t\tthis.dateFrom = { ...this.dateFrom, value: newValue }\r\n\r\n\t\t// Clear previous errors\r\n\t\tthis.validationState = { ...this.validationState, dateFromError: '', rangeError: '' }\r\n\r\n\t\tif (!newValue) {\r\n\t\t\t// Allow empty for optional fields\r\n\t\t\tif (!this.required) {\r\n\t\t\t\tthis.emitChange()\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthis.validationState = { ...this.validationState, dateFromError: 'Start date is required' }\r\n\t\t\tthis.error = true\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Validate and potentially auto-correct\r\n\t\tthis.validateAndCorrect('from')\r\n\t}\r\n\r\n\t/**\r\n\t * Handle to date change with validation and auto-correction\r\n\t */\r\n\tprivate handleDateToChange(e: Event) {\r\n\t\tconst input = e.target as HTMLInputElement\r\n\t\tconst newValue = input.value\r\n\r\n\t\t// Update the value\r\n\t\tthis.dateTo = { ...this.dateTo, value: newValue }\r\n\r\n\t\t// Clear previous errors\r\n\t\tthis.validationState = { ...this.validationState, dateToError: '', rangeError: '' }\r\n\r\n\t\tif (!newValue) {\r\n\t\t\t// Allow empty for optional fields\r\n\t\t\tif (!this.required) {\r\n\t\t\t\tthis.emitChange()\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthis.validationState = { ...this.validationState, dateToError: 'End date is required' }\r\n\t\t\tthis.error = true\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Validate and potentially auto-correct\r\n\t\tthis.validateAndCorrect('to')\r\n\t}\r\n\r\n\t/**\r\n\t * Validate dates and auto-correct if enabled\r\n\t */\r\n\tprivate validateAndCorrect(changedField?: 'from' | 'to') {\r\n\t\tconst fromDate = this.parseDate(this.dateFrom.value)\r\n\t\tconst toDate = this.parseDate(this.dateTo.value)\r\n\r\n\t\t// Reset validation state\r\n\t\tlet hasError = false\r\n\t\tconst newValidationState = { dateFromError: '', dateToError: '', rangeError: '' }\r\n\r\n\t\t// Validate individual dates\r\n\t\tif (this.dateFrom.value && !fromDate) {\r\n\t\t\tnewValidationState.dateFromError = 'Invalid date format'\r\n\t\t\thasError = true\r\n\t\t}\r\n\r\n\t\tif (this.dateTo.value && !toDate) {\r\n\t\t\tnewValidationState.dateToError = 'Invalid date format'\r\n\t\t\thasError = true\r\n\t\t}\r\n\r\n\t\t// If both dates are valid, check range constraints\r\n\t\tif (fromDate && toDate) {\r\n\t\t\tconst daysBetween = this.getDaysBetween(fromDate, toDate)\r\n\r\n\t\t\t// Check if from date is after to date\r\n\t\t\tif (fromDate > toDate) {\r\n\t\t\t\tif (this.autoCorrect) {\r\n\t\t\t\t\t// Auto-correct based on which field changed\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\t// User changed from date, adjust to date\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.defaultGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (changedField === 'to') {\r\n\t\t\t\t\t\t// User changed to date, adjust from date\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.defaultGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// No specific field changed, swap them\r\n\t\t\t\t\t\tconst tempValue = this.dateFrom.value\r\n\t\t\t\t\t\tthis.dateFrom = { ...this.dateFrom, value: this.dateTo.value }\r\n\t\t\t\t\t\tthis.dateTo = { ...this.dateTo, value: tempValue }\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = 'End date must be after start date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check same date constraint\r\n\t\t\tif (!this.allowSameDate && daysBetween === 0) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct by adjusting the other date\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.defaultGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.defaultGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = 'Start and end dates cannot be the same'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check minimum gap\r\n\t\t\tif (this.minGap > 0 && daysBetween < this.minGap) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct to maintain minimum gap\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.minGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.minGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = `Minimum ${this.minGap} day${this.minGap > 1 ? 's' : ''} required between dates`\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check maximum gap\r\n\t\t\tif (this.maxGap !== undefined && daysBetween > this.maxGap) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct to maintain maximum gap\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.maxGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.maxGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = `Maximum ${this.maxGap} day${this.maxGap > 1 ? 's' : ''} allowed between dates`\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check against min/max date constraints\r\n\t\t\tif (this.minDate) {\r\n\t\t\t\tconst minDateObj = this.parseDate(this.minDate)\r\n\t\t\t\tif (minDateObj && fromDate < minDateObj) {\r\n\t\t\t\t\tnewValidationState.dateFromError = 'Date is before minimum allowed date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (this.maxDate) {\r\n\t\t\t\tconst maxDateObj = this.parseDate(this.maxDate)\r\n\t\t\t\tif (maxDateObj && toDate > maxDateObj) {\r\n\t\t\t\t\tnewValidationState.dateToError = 'Date is after maximum allowed date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Update validation state\r\n\t\tthis.validationState = newValidationState\r\n\t\tthis.error = hasError\r\n\r\n\t\t// Emit change event with validation status\r\n\t\tthis.emitChange()\r\n\t}\r\n\r\n\t/**\r\n\t * Get computed min date for the \"to\" field based on \"from\" value\r\n\t */\r\n\tprivate getComputedMinDateTo(): string | undefined {\r\n\t\tif (!this.dateFrom.value) return this.minDate\r\n\r\n\t\tconst fromDate = this.parseDate(this.dateFrom.value)\r\n\t\tif (!fromDate) return this.minDate\r\n\r\n\t\t// Calculate minimum date based on constraints\r\n\t\tconst minToDate = new Date(fromDate)\r\n\t\t\r\n\t\tif (!this.allowSameDate) {\r\n\t\t\tminToDate.setDate(minToDate.getDate() + 1)\r\n\t\t}\r\n\t\t\r\n\t\tif (this.minGap > 0) {\r\n\t\t\tminToDate.setDate(fromDate.getDate() + this.minGap)\r\n\t\t}\r\n\r\n\t\t// Compare with global minDate if set\r\n\t\tif (this.minDate) {\r\n\t\t\tconst globalMin = this.parseDate(this.minDate)\r\n\t\t\tif (globalMin && globalMin > minToDate) {\r\n\t\t\t\treturn this.minDate\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.formatDate(minToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t}\r\n\r\n\t/**\r\n\t * Get computed max date for the \"from\" field based on \"to\" value\r\n\t */\r\n\tprivate getComputedMaxDateFrom(): string | undefined {\r\n\t\tif (!this.dateTo.value) return this.maxDate\r\n\r\n\t\tconst toDate = this.parseDate(this.dateTo.value)\r\n\t\tif (!toDate) return this.maxDate\r\n\r\n\t\t// Calculate maximum date based on constraints\r\n\t\tconst maxFromDate = new Date(toDate)\r\n\t\t\r\n\t\tif (!this.allowSameDate) {\r\n\t\t\tmaxFromDate.setDate(maxFromDate.getDate() - 1)\r\n\t\t}\r\n\t\t\r\n\t\tif (this.minGap > 0) {\r\n\t\t\tmaxFromDate.setDate(toDate.getDate() - this.minGap)\r\n\t\t}\r\n\r\n\t\t// Compare with global maxDate if set\r\n\t\tif (this.maxDate) {\r\n\t\t\tconst globalMax = this.parseDate(this.maxDate)\r\n\t\t\tif (globalMax && globalMax < maxFromDate) {\r\n\t\t\t\treturn this.maxDate\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.formatDate(maxFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t}\r\n\r\n\temitChange() {\r\n\t\tconst isValid = !this.error && \r\n\t\t\t!!this.dateFrom.value && \r\n\t\t\t!!this.dateTo.value && \r\n\t\t\t!this.validationState.dateFromError && \r\n\t\t\t!this.validationState.dateToError && \r\n\t\t\t!this.validationState.rangeError\r\n\r\n\t\tthis.dispatchEvent(new CustomEvent<SchmancyDateRangeInlineChangeEvent['detail']>('change', {\r\n\t\t\tdetail: {\r\n\t\t\t\tdateFrom: this.dateFrom.value,\r\n\t\t\t\tdateTo: this.dateTo.value,\r\n\t\t\t\tisValid\r\n\t\t\t},\r\n\t\t\tbubbles: true,\r\n\t\t\tcomposed: true\r\n\t\t}))\r\n\t}\r\n\r\n\tprotected render() {\r\n\t\t// Determine which error to show on each input\r\n\t\tconst fromError = this.validationState.dateFromError || this.validationState.rangeError\r\n\t\tconst toError = this.validationState.dateToError || this.validationState.rangeError\r\n\r\n\t\treturn html`\r\n\t\t\t<div class=\"w-full\">\r\n\t\t\t\t<div class=\"flex items-start gap-2 w-full\">\r\n\t\t\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t\t\t<schmancy-input\r\n\t\t\t\t\t\t\t.type=${this.type}\r\n\t\t\t\t\t\t\t.label=${this.dateFrom.label}\r\n\t\t\t\t\t\t\t.value=${this.dateFrom.value}\r\n\t\t\t\t\t\t\t.min=${this.minDate}\r\n\t\t\t\t\t\t\t.max=${this.getComputedMaxDateFrom()}\r\n\t\t\t\t\t\t\t@change=${this.handleDateFromChange}\r\n\t\t\t\t\t\t\t.error=${!!fromError}\r\n\t\t\t\t\t\t\t.hint=${fromError || ''}\r\n\t\t\t\t\t\t\t.required=${this.required}\r\n\t\t\t\t\t\t\t.disabled=${this.disabled}\r\n\t\t\t\t\t\t\tsize=${this.compact ? 'sm' : 'md'}\r\n\t\t\t\t\t\t></schmancy-input>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"flex items-center justify-center ${this.compact ? 'pt-8' : 'pt-10'} px-1\">\r\n\t\t\t\t\t\t<schmancy-icon class=\"text-surface-onVariant opacity-50\">\r\n\t\t\t\t\t\t\tarrow_forward\r\n\t\t\t\t\t\t</schmancy-icon>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t\t\t<schmancy-input\r\n\t\t\t\t\t\t\t.type=${this.type}\r\n\t\t\t\t\t\t\t.label=${this.dateTo.label}\r\n\t\t\t\t\t\t\t.value=${this.dateTo.value}\r\n\t\t\t\t\t\t\t.min=${this.getComputedMinDateTo()}\r\n\t\t\t\t\t\t\t.max=${this.maxDate}\r\n\t\t\t\t\t\t\t@change=${this.handleDateToChange}\r\n\t\t\t\t\t\t\t.error=${!!toError}\r\n\t\t\t\t\t\t\t.hint=${toError || ''}\r\n\t\t\t\t\t\t\t.required=${this.required}\r\n\t\t\t\t\t\t\t.disabled=${this.disabled}\r\n\t\t\t\t\t\t\tsize=${this.compact ? 'sm' : 'md'}\r\n\t\t\t\t\t\t></schmancy-input>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t`\r\n\t}\r\n}"],"names":["SchmancyDateRangeInline","SchmancyFormField","constructor","super","arguments","this","type","dateFrom","label","value","dateTo","compact","autoCorrect","minGap","defaultGap","allowSameDate","validationState","dateFromError","dateToError","rangeError","connectedCallback","validateAndCorrect","setSmartDefaults","today","Date","tomorrow","setDate","getDate","format","formatDate","date","year","getFullYear","month","String","getMonth","padStart","day","getHours","getMinutes","dateStr","isNaN","getTime","date1","date2","Math","floor","e","newValue","target","required","error","emitChange","changedField","fromDate","parseDate","toDate","hasError","newValidationState","daysBetween","getDaysBetween","newToDate","newFromDate","tempValue","maxGap","minDate","minDateObj","maxDate","maxDateObj","getComputedMinDateTo","minToDate","globalMin","getComputedMaxDateFrom","maxFromDate","globalMax","isValid","dispatchEvent","CustomEvent","detail","bubbles","composed","render","fromError","toError","html","handleDateFromChange","disabled","handleDateToChange","__decorateClass","property","prototype","Object","Boolean","Number","state","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"date-range-inline-CtP8EErp.cjs","sources":["../src/date-range-inline/date-range-inline.ts"],"sourcesContent":["import { html } from 'lit'\r\nimport { customElement, property, state } from 'lit/decorators.js'\r\nimport { SchmancyFormField } from '@mixins/index'\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'schmancy-date-range-inline': SchmancyDateRangeInline\r\n\t}\r\n}\r\n\r\nexport type SchmancyDateRangeInlineChangeEvent = CustomEvent<{\r\n\tdateFrom: string\r\n\tdateTo: string\r\n\tisValid: boolean\r\n}>\r\n\r\n/**\r\n * Smart inline date range picker that handles all the heavy lifting.\r\n * Auto-corrects invalid ranges, provides smart defaults, and validates dates.\r\n */\r\n@customElement('schmancy-date-range-inline')\r\nexport default class SchmancyDateRangeInline extends SchmancyFormField() {\r\n\t/**\r\n\t * Input type - 'date' or 'datetime-local'\r\n\t */\r\n\t@property({ type: String })\r\n\ttype: 'date' | 'datetime-local' = 'date'\r\n\r\n\t/**\r\n\t * From date configuration\r\n\t */\r\n\t@property({ type: Object })\r\n\tdateFrom: { label: string; value: string } = { label: 'From', value: '' }\r\n\r\n\t/**\r\n\t * To date configuration\r\n\t */\r\n\t@property({ type: Object })\r\n\tdateTo: { label: string; value: string } = { label: 'To', value: '' }\r\n\r\n\t/**\r\n\t * Minimum allowed date\r\n\t */\r\n\t@property({ type: String })\r\n\tminDate?: string\r\n\r\n\t/**\r\n\t * Maximum allowed date\r\n\t */\r\n\t@property({ type: String })\r\n\tmaxDate?: string\r\n\r\n\t/**\r\n\t * Compact mode for smaller UI\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tcompact = false\r\n\r\n\t/**\r\n\t * Auto-correct invalid date ranges\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tautoCorrect = true\r\n\r\n\t/**\r\n\t * Minimum gap between dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tminGap = 0\r\n\r\n\t/**\r\n\t * Maximum gap between dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tmaxGap?: number\r\n\r\n\t/**\r\n\t * Default gap when auto-setting dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tdefaultGap = 1\r\n\r\n\t/**\r\n\t * Whether to allow same date selection\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tallowSameDate = false\r\n\r\n\t/**\r\n\t * Internal validation state\r\n\t */\r\n\t@state()\r\n\tprivate validationState = {\r\n\t\tdateFromError: '',\r\n\t\tdateToError: '',\r\n\t\trangeError: ''\r\n\t}\r\n\r\n\tconnectedCallback() {\r\n\t\tsuper.connectedCallback()\r\n\t\t// Initialize with smart defaults if no values provided\r\n\t\tif (!this.dateFrom.value && !this.dateTo.value) {\r\n\t\t\tthis.setSmartDefaults()\r\n\t\t} else {\r\n\t\t\t// Validate initial values\r\n\t\t\tthis.validateAndCorrect()\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Set smart default dates based on context\r\n\t */\r\n\tprivate setSmartDefaults() {\r\n\t\tconst today = new Date()\r\n\t\tconst tomorrow = new Date(today)\r\n\t\ttomorrow.setDate(tomorrow.getDate() + this.defaultGap)\r\n\r\n\t\tconst format = this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD'\r\n\t\t\r\n\t\tthis.dateFrom = {\r\n\t\t\t...this.dateFrom,\r\n\t\t\tvalue: this.formatDate(today, format)\r\n\t\t}\r\n\t\t\r\n\t\tthis.dateTo = {\r\n\t\t\t...this.dateTo,\r\n\t\t\tvalue: this.formatDate(tomorrow, format)\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Format date to required string format\r\n\t */\r\n\tprivate formatDate(date: Date, format: string): string {\r\n\t\tconst year = date.getFullYear()\r\n\t\tconst month = String(date.getMonth() + 1).padStart(2, '0')\r\n\t\tconst day = String(date.getDate()).padStart(2, '0')\r\n\t\t\r\n\t\tif (format === 'YYYY-MM-DD') {\r\n\t\t\treturn `${year}-${month}-${day}`\r\n\t\t} else {\r\n\t\t\tconst hours = String(date.getHours()).padStart(2, '0')\r\n\t\t\tconst minutes = String(date.getMinutes()).padStart(2, '0')\r\n\t\t\treturn `${year}-${month}-${day}T${hours}:${minutes}`\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Parse date string to Date object\r\n\t */\r\n\tprivate parseDate(dateStr: string): Date | null {\r\n\t\tif (!dateStr) return null\r\n\t\tconst date = new Date(dateStr)\r\n\t\treturn isNaN(date.getTime()) ? null : date\r\n\t}\r\n\r\n\t/**\r\n\t * Calculate days between two dates\r\n\t */\r\n\tprivate getDaysBetween(date1: Date, date2: Date): number {\r\n\t\tconst msPerDay = 24 * 60 * 60 * 1000\r\n\t\treturn Math.floor((date2.getTime() - date1.getTime()) / msPerDay)\r\n\t}\r\n\r\n\t/**\r\n\t * Handle from date change with validation and auto-correction\r\n\t */\r\n\tprivate handleDateFromChange(e: Event) {\r\n\t\tconst input = e.target as HTMLInputElement\r\n\t\tconst newValue = input.value\r\n\r\n\t\t// Update the value\r\n\t\tthis.dateFrom = { ...this.dateFrom, value: newValue }\r\n\r\n\t\t// Clear previous errors\r\n\t\tthis.validationState = { ...this.validationState, dateFromError: '', rangeError: '' }\r\n\r\n\t\tif (!newValue) {\r\n\t\t\t// Allow empty for optional fields\r\n\t\t\tif (!this.required) {\r\n\t\t\t\tthis.emitChange()\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthis.validationState = { ...this.validationState, dateFromError: 'Start date is required' }\r\n\t\t\tthis.error = true\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Validate and potentially auto-correct\r\n\t\tthis.validateAndCorrect('from')\r\n\t}\r\n\r\n\t/**\r\n\t * Handle to date change with validation and auto-correction\r\n\t */\r\n\tprivate handleDateToChange(e: Event) {\r\n\t\tconst input = e.target as HTMLInputElement\r\n\t\tconst newValue = input.value\r\n\r\n\t\t// Update the value\r\n\t\tthis.dateTo = { ...this.dateTo, value: newValue }\r\n\r\n\t\t// Clear previous errors\r\n\t\tthis.validationState = { ...this.validationState, dateToError: '', rangeError: '' }\r\n\r\n\t\tif (!newValue) {\r\n\t\t\t// Allow empty for optional fields\r\n\t\t\tif (!this.required) {\r\n\t\t\t\tthis.emitChange()\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthis.validationState = { ...this.validationState, dateToError: 'End date is required' }\r\n\t\t\tthis.error = true\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Validate and potentially auto-correct\r\n\t\tthis.validateAndCorrect('to')\r\n\t}\r\n\r\n\t/**\r\n\t * Validate dates and auto-correct if enabled\r\n\t */\r\n\tprivate validateAndCorrect(changedField?: 'from' | 'to') {\r\n\t\tconst fromDate = this.parseDate(this.dateFrom.value)\r\n\t\tconst toDate = this.parseDate(this.dateTo.value)\r\n\r\n\t\t// Reset validation state\r\n\t\tlet hasError = false\r\n\t\tconst newValidationState = { dateFromError: '', dateToError: '', rangeError: '' }\r\n\r\n\t\t// Validate individual dates\r\n\t\tif (this.dateFrom.value && !fromDate) {\r\n\t\t\tnewValidationState.dateFromError = 'Invalid date format'\r\n\t\t\thasError = true\r\n\t\t}\r\n\r\n\t\tif (this.dateTo.value && !toDate) {\r\n\t\t\tnewValidationState.dateToError = 'Invalid date format'\r\n\t\t\thasError = true\r\n\t\t}\r\n\r\n\t\t// If both dates are valid, check range constraints\r\n\t\tif (fromDate && toDate) {\r\n\t\t\tconst daysBetween = this.getDaysBetween(fromDate, toDate)\r\n\r\n\t\t\t// Check if from date is after to date\r\n\t\t\tif (fromDate > toDate) {\r\n\t\t\t\tif (this.autoCorrect) {\r\n\t\t\t\t\t// Auto-correct based on which field changed\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\t// User changed from date, adjust to date\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.defaultGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (changedField === 'to') {\r\n\t\t\t\t\t\t// User changed to date, adjust from date\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.defaultGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// No specific field changed, swap them\r\n\t\t\t\t\t\tconst tempValue = this.dateFrom.value\r\n\t\t\t\t\t\tthis.dateFrom = { ...this.dateFrom, value: this.dateTo.value }\r\n\t\t\t\t\t\tthis.dateTo = { ...this.dateTo, value: tempValue }\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = 'End date must be after start date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check same date constraint\r\n\t\t\tif (!this.allowSameDate && daysBetween === 0) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct by adjusting the other date\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.defaultGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.defaultGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = 'Start and end dates cannot be the same'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check minimum gap\r\n\t\t\tif (this.minGap > 0 && daysBetween < this.minGap) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct to maintain minimum gap\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.minGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.minGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = `Minimum ${this.minGap} day${this.minGap > 1 ? 's' : ''} required between dates`\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check maximum gap\r\n\t\t\tif (this.maxGap !== undefined && daysBetween > this.maxGap) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct to maintain maximum gap\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.maxGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.maxGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = `Maximum ${this.maxGap} day${this.maxGap > 1 ? 's' : ''} allowed between dates`\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check against min/max date constraints\r\n\t\t\tif (this.minDate) {\r\n\t\t\t\tconst minDateObj = this.parseDate(this.minDate)\r\n\t\t\t\tif (minDateObj && fromDate < minDateObj) {\r\n\t\t\t\t\tnewValidationState.dateFromError = 'Date is before minimum allowed date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (this.maxDate) {\r\n\t\t\t\tconst maxDateObj = this.parseDate(this.maxDate)\r\n\t\t\t\tif (maxDateObj && toDate > maxDateObj) {\r\n\t\t\t\t\tnewValidationState.dateToError = 'Date is after maximum allowed date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Update validation state\r\n\t\tthis.validationState = newValidationState\r\n\t\tthis.error = hasError\r\n\r\n\t\t// Emit change event with validation status\r\n\t\tthis.emitChange()\r\n\t}\r\n\r\n\t/**\r\n\t * Get computed min date for the \"to\" field based on \"from\" value\r\n\t */\r\n\tprivate getComputedMinDateTo(): string | undefined {\r\n\t\tif (!this.dateFrom.value) return this.minDate\r\n\r\n\t\tconst fromDate = this.parseDate(this.dateFrom.value)\r\n\t\tif (!fromDate) return this.minDate\r\n\r\n\t\t// Calculate minimum date based on constraints\r\n\t\tconst minToDate = new Date(fromDate)\r\n\t\t\r\n\t\tif (!this.allowSameDate) {\r\n\t\t\tminToDate.setDate(minToDate.getDate() + 1)\r\n\t\t}\r\n\t\t\r\n\t\tif (this.minGap > 0) {\r\n\t\t\tminToDate.setDate(fromDate.getDate() + this.minGap)\r\n\t\t}\r\n\r\n\t\t// Compare with global minDate if set\r\n\t\tif (this.minDate) {\r\n\t\t\tconst globalMin = this.parseDate(this.minDate)\r\n\t\t\tif (globalMin && globalMin > minToDate) {\r\n\t\t\t\treturn this.minDate\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.formatDate(minToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t}\r\n\r\n\t/**\r\n\t * Get computed max date for the \"from\" field based on \"to\" value\r\n\t */\r\n\tprivate getComputedMaxDateFrom(): string | undefined {\r\n\t\tif (!this.dateTo.value) return this.maxDate\r\n\r\n\t\tconst toDate = this.parseDate(this.dateTo.value)\r\n\t\tif (!toDate) return this.maxDate\r\n\r\n\t\t// Calculate maximum date based on constraints\r\n\t\tconst maxFromDate = new Date(toDate)\r\n\t\t\r\n\t\tif (!this.allowSameDate) {\r\n\t\t\tmaxFromDate.setDate(maxFromDate.getDate() - 1)\r\n\t\t}\r\n\t\t\r\n\t\tif (this.minGap > 0) {\r\n\t\t\tmaxFromDate.setDate(toDate.getDate() - this.minGap)\r\n\t\t}\r\n\r\n\t\t// Compare with global maxDate if set\r\n\t\tif (this.maxDate) {\r\n\t\t\tconst globalMax = this.parseDate(this.maxDate)\r\n\t\t\tif (globalMax && globalMax < maxFromDate) {\r\n\t\t\t\treturn this.maxDate\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.formatDate(maxFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t}\r\n\r\n\temitChange() {\r\n\t\tconst isValid = !this.error && \r\n\t\t\t!!this.dateFrom.value && \r\n\t\t\t!!this.dateTo.value && \r\n\t\t\t!this.validationState.dateFromError && \r\n\t\t\t!this.validationState.dateToError && \r\n\t\t\t!this.validationState.rangeError\r\n\r\n\t\tthis.dispatchEvent(new CustomEvent<SchmancyDateRangeInlineChangeEvent['detail']>('change', {\r\n\t\t\tdetail: {\r\n\t\t\t\tdateFrom: this.dateFrom.value,\r\n\t\t\t\tdateTo: this.dateTo.value,\r\n\t\t\t\tisValid\r\n\t\t\t},\r\n\t\t\tbubbles: true,\r\n\t\t\tcomposed: true\r\n\t\t}))\r\n\t}\r\n\r\n\tprotected render() {\r\n\t\t// Determine which error to show on each input\r\n\t\tconst fromError = this.validationState.dateFromError || this.validationState.rangeError\r\n\t\tconst toError = this.validationState.dateToError || this.validationState.rangeError\r\n\r\n\t\treturn html`\r\n\t\t\t<div class=\"w-full\">\r\n\t\t\t\t<div class=\"flex items-start gap-2 w-full\">\r\n\t\t\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t\t\t<schmancy-input\r\n\t\t\t\t\t\t\t.type=${this.type}\r\n\t\t\t\t\t\t\t.label=${this.dateFrom.label}\r\n\t\t\t\t\t\t\t.value=${this.dateFrom.value}\r\n\t\t\t\t\t\t\t.min=${this.minDate}\r\n\t\t\t\t\t\t\t.max=${this.getComputedMaxDateFrom()}\r\n\t\t\t\t\t\t\t@change=${this.handleDateFromChange}\r\n\t\t\t\t\t\t\t.error=${!!fromError}\r\n\t\t\t\t\t\t\t.hint=${fromError || ''}\r\n\t\t\t\t\t\t\t.required=${this.required}\r\n\t\t\t\t\t\t\t.disabled=${this.disabled}\r\n\t\t\t\t\t\t\tsize=${this.compact ? 'sm' : 'md'}\r\n\t\t\t\t\t\t></schmancy-input>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"flex items-center justify-center ${this.compact ? 'pt-8' : 'pt-10'} px-1\">\r\n\t\t\t\t\t\t<schmancy-icon class=\"text-surface-onVariant opacity-50\">\r\n\t\t\t\t\t\t\tarrow_forward\r\n\t\t\t\t\t\t</schmancy-icon>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t\t\t<schmancy-input\r\n\t\t\t\t\t\t\t.type=${this.type}\r\n\t\t\t\t\t\t\t.label=${this.dateTo.label}\r\n\t\t\t\t\t\t\t.value=${this.dateTo.value}\r\n\t\t\t\t\t\t\t.min=${this.getComputedMinDateTo()}\r\n\t\t\t\t\t\t\t.max=${this.maxDate}\r\n\t\t\t\t\t\t\t@change=${this.handleDateToChange}\r\n\t\t\t\t\t\t\t.error=${!!toError}\r\n\t\t\t\t\t\t\t.hint=${toError || ''}\r\n\t\t\t\t\t\t\t.required=${this.required}\r\n\t\t\t\t\t\t\t.disabled=${this.disabled}\r\n\t\t\t\t\t\t\tsize=${this.compact ? 'sm' : 'md'}\r\n\t\t\t\t\t\t></schmancy-input>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t`\r\n\t}\r\n}"],"names":["SchmancyDateRangeInline","SchmancyFormField","constructor","super","arguments","this","type","dateFrom","label","value","dateTo","compact","autoCorrect","minGap","defaultGap","allowSameDate","validationState","dateFromError","dateToError","rangeError","connectedCallback","validateAndCorrect","setSmartDefaults","today","Date","tomorrow","setDate","getDate","format","formatDate","date","year","getFullYear","month","String","getMonth","padStart","day","getHours","getMinutes","dateStr","isNaN","getTime","date1","date2","Math","floor","e","newValue","target","required","error","emitChange","changedField","fromDate","parseDate","toDate","hasError","newValidationState","daysBetween","getDaysBetween","newToDate","newFromDate","tempValue","maxGap","minDate","minDateObj","maxDate","maxDateObj","getComputedMinDateTo","minToDate","globalMin","getComputedMaxDateFrom","maxFromDate","globalMax","isValid","dispatchEvent","CustomEvent","detail","bubbles","composed","render","fromError","toError","html","handleDateFromChange","disabled","handleDateToChange","__decorateClass","property","prototype","Object","Boolean","Number","state","customElement"],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ import "rxjs";
|
|
|
4
4
|
import "rxjs/operators";
|
|
5
5
|
import "lit/directives/class-map.js";
|
|
6
6
|
import "lit/directives/style-map.js";
|
|
7
|
-
import { S as p } from "./formField.mixin-
|
|
8
|
-
import "./tailwind.mixin-
|
|
7
|
+
import { S as p } from "./formField.mixin-ClH5rpgp.js";
|
|
8
|
+
import "./tailwind.mixin-D9gOO2Zy.js";
|
|
9
9
|
var u = Object.defineProperty, c = Object.getOwnPropertyDescriptor, h = (a, t, i, r) => {
|
|
10
10
|
for (var s, d = r > 1 ? void 0 : r ? c(t, i) : t, e = a.length - 1; e >= 0; e--) (s = a[e]) && (d = (r ? s(t, i, d) : s(d)) || d);
|
|
11
11
|
return r && d && u(t, i, d), d;
|
|
@@ -194,4 +194,4 @@ h([n({ type: String })], o.prototype, "type", 2), h([n({ type: Object })], o.pro
|
|
|
194
194
|
export {
|
|
195
195
|
o as S
|
|
196
196
|
};
|
|
197
|
-
//# sourceMappingURL=date-range-inline-
|
|
197
|
+
//# sourceMappingURL=date-range-inline-TNQO_qOG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-inline-BEPXeeXh.js","sources":["../src/date-range-inline/date-range-inline.ts"],"sourcesContent":["import { html } from 'lit'\r\nimport { customElement, property, state } from 'lit/decorators.js'\r\nimport { SchmancyFormField } from '@mixins/index'\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'schmancy-date-range-inline': SchmancyDateRangeInline\r\n\t}\r\n}\r\n\r\nexport type SchmancyDateRangeInlineChangeEvent = CustomEvent<{\r\n\tdateFrom: string\r\n\tdateTo: string\r\n\tisValid: boolean\r\n}>\r\n\r\n/**\r\n * Smart inline date range picker that handles all the heavy lifting.\r\n * Auto-corrects invalid ranges, provides smart defaults, and validates dates.\r\n */\r\n@customElement('schmancy-date-range-inline')\r\nexport default class SchmancyDateRangeInline extends SchmancyFormField() {\r\n\t/**\r\n\t * Input type - 'date' or 'datetime-local'\r\n\t */\r\n\t@property({ type: String })\r\n\ttype: 'date' | 'datetime-local' = 'date'\r\n\r\n\t/**\r\n\t * From date configuration\r\n\t */\r\n\t@property({ type: Object })\r\n\tdateFrom: { label: string; value: string } = { label: 'From', value: '' }\r\n\r\n\t/**\r\n\t * To date configuration\r\n\t */\r\n\t@property({ type: Object })\r\n\tdateTo: { label: string; value: string } = { label: 'To', value: '' }\r\n\r\n\t/**\r\n\t * Minimum allowed date\r\n\t */\r\n\t@property({ type: String })\r\n\tminDate?: string\r\n\r\n\t/**\r\n\t * Maximum allowed date\r\n\t */\r\n\t@property({ type: String })\r\n\tmaxDate?: string\r\n\r\n\t/**\r\n\t * Compact mode for smaller UI\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tcompact = false\r\n\r\n\t/**\r\n\t * Auto-correct invalid date ranges\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tautoCorrect = true\r\n\r\n\t/**\r\n\t * Minimum gap between dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tminGap = 0\r\n\r\n\t/**\r\n\t * Maximum gap between dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tmaxGap?: number\r\n\r\n\t/**\r\n\t * Default gap when auto-setting dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tdefaultGap = 1\r\n\r\n\t/**\r\n\t * Whether to allow same date selection\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tallowSameDate = false\r\n\r\n\t/**\r\n\t * Internal validation state\r\n\t */\r\n\t@state()\r\n\tprivate validationState = {\r\n\t\tdateFromError: '',\r\n\t\tdateToError: '',\r\n\t\trangeError: ''\r\n\t}\r\n\r\n\tconnectedCallback() {\r\n\t\tsuper.connectedCallback()\r\n\t\t// Initialize with smart defaults if no values provided\r\n\t\tif (!this.dateFrom.value && !this.dateTo.value) {\r\n\t\t\tthis.setSmartDefaults()\r\n\t\t} else {\r\n\t\t\t// Validate initial values\r\n\t\t\tthis.validateAndCorrect()\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Set smart default dates based on context\r\n\t */\r\n\tprivate setSmartDefaults() {\r\n\t\tconst today = new Date()\r\n\t\tconst tomorrow = new Date(today)\r\n\t\ttomorrow.setDate(tomorrow.getDate() + this.defaultGap)\r\n\r\n\t\tconst format = this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD'\r\n\t\t\r\n\t\tthis.dateFrom = {\r\n\t\t\t...this.dateFrom,\r\n\t\t\tvalue: this.formatDate(today, format)\r\n\t\t}\r\n\t\t\r\n\t\tthis.dateTo = {\r\n\t\t\t...this.dateTo,\r\n\t\t\tvalue: this.formatDate(tomorrow, format)\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Format date to required string format\r\n\t */\r\n\tprivate formatDate(date: Date, format: string): string {\r\n\t\tconst year = date.getFullYear()\r\n\t\tconst month = String(date.getMonth() + 1).padStart(2, '0')\r\n\t\tconst day = String(date.getDate()).padStart(2, '0')\r\n\t\t\r\n\t\tif (format === 'YYYY-MM-DD') {\r\n\t\t\treturn `${year}-${month}-${day}`\r\n\t\t} else {\r\n\t\t\tconst hours = String(date.getHours()).padStart(2, '0')\r\n\t\t\tconst minutes = String(date.getMinutes()).padStart(2, '0')\r\n\t\t\treturn `${year}-${month}-${day}T${hours}:${minutes}`\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Parse date string to Date object\r\n\t */\r\n\tprivate parseDate(dateStr: string): Date | null {\r\n\t\tif (!dateStr) return null\r\n\t\tconst date = new Date(dateStr)\r\n\t\treturn isNaN(date.getTime()) ? null : date\r\n\t}\r\n\r\n\t/**\r\n\t * Calculate days between two dates\r\n\t */\r\n\tprivate getDaysBetween(date1: Date, date2: Date): number {\r\n\t\tconst msPerDay = 24 * 60 * 60 * 1000\r\n\t\treturn Math.floor((date2.getTime() - date1.getTime()) / msPerDay)\r\n\t}\r\n\r\n\t/**\r\n\t * Handle from date change with validation and auto-correction\r\n\t */\r\n\tprivate handleDateFromChange(e: Event) {\r\n\t\tconst input = e.target as HTMLInputElement\r\n\t\tconst newValue = input.value\r\n\r\n\t\t// Update the value\r\n\t\tthis.dateFrom = { ...this.dateFrom, value: newValue }\r\n\r\n\t\t// Clear previous errors\r\n\t\tthis.validationState = { ...this.validationState, dateFromError: '', rangeError: '' }\r\n\r\n\t\tif (!newValue) {\r\n\t\t\t// Allow empty for optional fields\r\n\t\t\tif (!this.required) {\r\n\t\t\t\tthis.emitChange()\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthis.validationState = { ...this.validationState, dateFromError: 'Start date is required' }\r\n\t\t\tthis.error = true\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Validate and potentially auto-correct\r\n\t\tthis.validateAndCorrect('from')\r\n\t}\r\n\r\n\t/**\r\n\t * Handle to date change with validation and auto-correction\r\n\t */\r\n\tprivate handleDateToChange(e: Event) {\r\n\t\tconst input = e.target as HTMLInputElement\r\n\t\tconst newValue = input.value\r\n\r\n\t\t// Update the value\r\n\t\tthis.dateTo = { ...this.dateTo, value: newValue }\r\n\r\n\t\t// Clear previous errors\r\n\t\tthis.validationState = { ...this.validationState, dateToError: '', rangeError: '' }\r\n\r\n\t\tif (!newValue) {\r\n\t\t\t// Allow empty for optional fields\r\n\t\t\tif (!this.required) {\r\n\t\t\t\tthis.emitChange()\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthis.validationState = { ...this.validationState, dateToError: 'End date is required' }\r\n\t\t\tthis.error = true\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Validate and potentially auto-correct\r\n\t\tthis.validateAndCorrect('to')\r\n\t}\r\n\r\n\t/**\r\n\t * Validate dates and auto-correct if enabled\r\n\t */\r\n\tprivate validateAndCorrect(changedField?: 'from' | 'to') {\r\n\t\tconst fromDate = this.parseDate(this.dateFrom.value)\r\n\t\tconst toDate = this.parseDate(this.dateTo.value)\r\n\r\n\t\t// Reset validation state\r\n\t\tlet hasError = false\r\n\t\tconst newValidationState = { dateFromError: '', dateToError: '', rangeError: '' }\r\n\r\n\t\t// Validate individual dates\r\n\t\tif (this.dateFrom.value && !fromDate) {\r\n\t\t\tnewValidationState.dateFromError = 'Invalid date format'\r\n\t\t\thasError = true\r\n\t\t}\r\n\r\n\t\tif (this.dateTo.value && !toDate) {\r\n\t\t\tnewValidationState.dateToError = 'Invalid date format'\r\n\t\t\thasError = true\r\n\t\t}\r\n\r\n\t\t// If both dates are valid, check range constraints\r\n\t\tif (fromDate && toDate) {\r\n\t\t\tconst daysBetween = this.getDaysBetween(fromDate, toDate)\r\n\r\n\t\t\t// Check if from date is after to date\r\n\t\t\tif (fromDate > toDate) {\r\n\t\t\t\tif (this.autoCorrect) {\r\n\t\t\t\t\t// Auto-correct based on which field changed\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\t// User changed from date, adjust to date\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.defaultGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (changedField === 'to') {\r\n\t\t\t\t\t\t// User changed to date, adjust from date\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.defaultGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// No specific field changed, swap them\r\n\t\t\t\t\t\tconst tempValue = this.dateFrom.value\r\n\t\t\t\t\t\tthis.dateFrom = { ...this.dateFrom, value: this.dateTo.value }\r\n\t\t\t\t\t\tthis.dateTo = { ...this.dateTo, value: tempValue }\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = 'End date must be after start date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check same date constraint\r\n\t\t\tif (!this.allowSameDate && daysBetween === 0) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct by adjusting the other date\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.defaultGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.defaultGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = 'Start and end dates cannot be the same'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check minimum gap\r\n\t\t\tif (this.minGap > 0 && daysBetween < this.minGap) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct to maintain minimum gap\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.minGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.minGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = `Minimum ${this.minGap} day${this.minGap > 1 ? 's' : ''} required between dates`\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check maximum gap\r\n\t\t\tif (this.maxGap !== undefined && daysBetween > this.maxGap) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct to maintain maximum gap\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.maxGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.maxGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = `Maximum ${this.maxGap} day${this.maxGap > 1 ? 's' : ''} allowed between dates`\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check against min/max date constraints\r\n\t\t\tif (this.minDate) {\r\n\t\t\t\tconst minDateObj = this.parseDate(this.minDate)\r\n\t\t\t\tif (minDateObj && fromDate < minDateObj) {\r\n\t\t\t\t\tnewValidationState.dateFromError = 'Date is before minimum allowed date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (this.maxDate) {\r\n\t\t\t\tconst maxDateObj = this.parseDate(this.maxDate)\r\n\t\t\t\tif (maxDateObj && toDate > maxDateObj) {\r\n\t\t\t\t\tnewValidationState.dateToError = 'Date is after maximum allowed date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Update validation state\r\n\t\tthis.validationState = newValidationState\r\n\t\tthis.error = hasError\r\n\r\n\t\t// Emit change event with validation status\r\n\t\tthis.emitChange()\r\n\t}\r\n\r\n\t/**\r\n\t * Get computed min date for the \"to\" field based on \"from\" value\r\n\t */\r\n\tprivate getComputedMinDateTo(): string | undefined {\r\n\t\tif (!this.dateFrom.value) return this.minDate\r\n\r\n\t\tconst fromDate = this.parseDate(this.dateFrom.value)\r\n\t\tif (!fromDate) return this.minDate\r\n\r\n\t\t// Calculate minimum date based on constraints\r\n\t\tconst minToDate = new Date(fromDate)\r\n\t\t\r\n\t\tif (!this.allowSameDate) {\r\n\t\t\tminToDate.setDate(minToDate.getDate() + 1)\r\n\t\t}\r\n\t\t\r\n\t\tif (this.minGap > 0) {\r\n\t\t\tminToDate.setDate(fromDate.getDate() + this.minGap)\r\n\t\t}\r\n\r\n\t\t// Compare with global minDate if set\r\n\t\tif (this.minDate) {\r\n\t\t\tconst globalMin = this.parseDate(this.minDate)\r\n\t\t\tif (globalMin && globalMin > minToDate) {\r\n\t\t\t\treturn this.minDate\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.formatDate(minToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t}\r\n\r\n\t/**\r\n\t * Get computed max date for the \"from\" field based on \"to\" value\r\n\t */\r\n\tprivate getComputedMaxDateFrom(): string | undefined {\r\n\t\tif (!this.dateTo.value) return this.maxDate\r\n\r\n\t\tconst toDate = this.parseDate(this.dateTo.value)\r\n\t\tif (!toDate) return this.maxDate\r\n\r\n\t\t// Calculate maximum date based on constraints\r\n\t\tconst maxFromDate = new Date(toDate)\r\n\t\t\r\n\t\tif (!this.allowSameDate) {\r\n\t\t\tmaxFromDate.setDate(maxFromDate.getDate() - 1)\r\n\t\t}\r\n\t\t\r\n\t\tif (this.minGap > 0) {\r\n\t\t\tmaxFromDate.setDate(toDate.getDate() - this.minGap)\r\n\t\t}\r\n\r\n\t\t// Compare with global maxDate if set\r\n\t\tif (this.maxDate) {\r\n\t\t\tconst globalMax = this.parseDate(this.maxDate)\r\n\t\t\tif (globalMax && globalMax < maxFromDate) {\r\n\t\t\t\treturn this.maxDate\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.formatDate(maxFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t}\r\n\r\n\temitChange() {\r\n\t\tconst isValid = !this.error && \r\n\t\t\t!!this.dateFrom.value && \r\n\t\t\t!!this.dateTo.value && \r\n\t\t\t!this.validationState.dateFromError && \r\n\t\t\t!this.validationState.dateToError && \r\n\t\t\t!this.validationState.rangeError\r\n\r\n\t\tthis.dispatchEvent(new CustomEvent<SchmancyDateRangeInlineChangeEvent['detail']>('change', {\r\n\t\t\tdetail: {\r\n\t\t\t\tdateFrom: this.dateFrom.value,\r\n\t\t\t\tdateTo: this.dateTo.value,\r\n\t\t\t\tisValid\r\n\t\t\t},\r\n\t\t\tbubbles: true,\r\n\t\t\tcomposed: true\r\n\t\t}))\r\n\t}\r\n\r\n\tprotected render() {\r\n\t\t// Determine which error to show on each input\r\n\t\tconst fromError = this.validationState.dateFromError || this.validationState.rangeError\r\n\t\tconst toError = this.validationState.dateToError || this.validationState.rangeError\r\n\r\n\t\treturn html`\r\n\t\t\t<div class=\"w-full\">\r\n\t\t\t\t<div class=\"flex items-start gap-2 w-full\">\r\n\t\t\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t\t\t<schmancy-input\r\n\t\t\t\t\t\t\t.type=${this.type}\r\n\t\t\t\t\t\t\t.label=${this.dateFrom.label}\r\n\t\t\t\t\t\t\t.value=${this.dateFrom.value}\r\n\t\t\t\t\t\t\t.min=${this.minDate}\r\n\t\t\t\t\t\t\t.max=${this.getComputedMaxDateFrom()}\r\n\t\t\t\t\t\t\t@change=${this.handleDateFromChange}\r\n\t\t\t\t\t\t\t.error=${!!fromError}\r\n\t\t\t\t\t\t\t.hint=${fromError || ''}\r\n\t\t\t\t\t\t\t.required=${this.required}\r\n\t\t\t\t\t\t\t.disabled=${this.disabled}\r\n\t\t\t\t\t\t\tsize=${this.compact ? 'sm' : 'md'}\r\n\t\t\t\t\t\t></schmancy-input>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"flex items-center justify-center ${this.compact ? 'pt-8' : 'pt-10'} px-1\">\r\n\t\t\t\t\t\t<schmancy-icon class=\"text-surface-onVariant opacity-50\">\r\n\t\t\t\t\t\t\tarrow_forward\r\n\t\t\t\t\t\t</schmancy-icon>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t\t\t<schmancy-input\r\n\t\t\t\t\t\t\t.type=${this.type}\r\n\t\t\t\t\t\t\t.label=${this.dateTo.label}\r\n\t\t\t\t\t\t\t.value=${this.dateTo.value}\r\n\t\t\t\t\t\t\t.min=${this.getComputedMinDateTo()}\r\n\t\t\t\t\t\t\t.max=${this.maxDate}\r\n\t\t\t\t\t\t\t@change=${this.handleDateToChange}\r\n\t\t\t\t\t\t\t.error=${!!toError}\r\n\t\t\t\t\t\t\t.hint=${toError || ''}\r\n\t\t\t\t\t\t\t.required=${this.required}\r\n\t\t\t\t\t\t\t.disabled=${this.disabled}\r\n\t\t\t\t\t\t\tsize=${this.compact ? 'sm' : 'md'}\r\n\t\t\t\t\t\t></schmancy-input>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t`\r\n\t}\r\n}"],"names":["SchmancyDateRangeInline","SchmancyFormField","constructor","super","arguments","this","type","dateFrom","label","value","dateTo","compact","autoCorrect","minGap","defaultGap","allowSameDate","validationState","dateFromError","dateToError","rangeError","connectedCallback","validateAndCorrect","setSmartDefaults","today","Date","tomorrow","setDate","getDate","format","formatDate","date","year","getFullYear","month","String","getMonth","padStart","day","getHours","getMinutes","dateStr","isNaN","getTime","date1","date2","Math","floor","e","newValue","target","required","error","emitChange","changedField","fromDate","parseDate","toDate","hasError","newValidationState","daysBetween","getDaysBetween","newToDate","newFromDate","tempValue","maxGap","minDate","minDateObj","maxDate","maxDateObj","getComputedMinDateTo","minToDate","globalMin","getComputedMaxDateFrom","maxFromDate","globalMax","isValid","dispatchEvent","CustomEvent","detail","bubbles","composed","render","fromError","toError","html","handleDateFromChange","disabled","handleDateToChange","__decorateClass","property","prototype","Object","Boolean","Number","state","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"date-range-inline-TNQO_qOG.js","sources":["../src/date-range-inline/date-range-inline.ts"],"sourcesContent":["import { html } from 'lit'\r\nimport { customElement, property, state } from 'lit/decorators.js'\r\nimport { SchmancyFormField } from '@mixins/index'\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'schmancy-date-range-inline': SchmancyDateRangeInline\r\n\t}\r\n}\r\n\r\nexport type SchmancyDateRangeInlineChangeEvent = CustomEvent<{\r\n\tdateFrom: string\r\n\tdateTo: string\r\n\tisValid: boolean\r\n}>\r\n\r\n/**\r\n * Smart inline date range picker that handles all the heavy lifting.\r\n * Auto-corrects invalid ranges, provides smart defaults, and validates dates.\r\n */\r\n@customElement('schmancy-date-range-inline')\r\nexport default class SchmancyDateRangeInline extends SchmancyFormField() {\r\n\t/**\r\n\t * Input type - 'date' or 'datetime-local'\r\n\t */\r\n\t@property({ type: String })\r\n\ttype: 'date' | 'datetime-local' = 'date'\r\n\r\n\t/**\r\n\t * From date configuration\r\n\t */\r\n\t@property({ type: Object })\r\n\tdateFrom: { label: string; value: string } = { label: 'From', value: '' }\r\n\r\n\t/**\r\n\t * To date configuration\r\n\t */\r\n\t@property({ type: Object })\r\n\tdateTo: { label: string; value: string } = { label: 'To', value: '' }\r\n\r\n\t/**\r\n\t * Minimum allowed date\r\n\t */\r\n\t@property({ type: String })\r\n\tminDate?: string\r\n\r\n\t/**\r\n\t * Maximum allowed date\r\n\t */\r\n\t@property({ type: String })\r\n\tmaxDate?: string\r\n\r\n\t/**\r\n\t * Compact mode for smaller UI\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tcompact = false\r\n\r\n\t/**\r\n\t * Auto-correct invalid date ranges\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tautoCorrect = true\r\n\r\n\t/**\r\n\t * Minimum gap between dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tminGap = 0\r\n\r\n\t/**\r\n\t * Maximum gap between dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tmaxGap?: number\r\n\r\n\t/**\r\n\t * Default gap when auto-setting dates (in days)\r\n\t */\r\n\t@property({ type: Number })\r\n\tdefaultGap = 1\r\n\r\n\t/**\r\n\t * Whether to allow same date selection\r\n\t */\r\n\t@property({ type: Boolean })\r\n\tallowSameDate = false\r\n\r\n\t/**\r\n\t * Internal validation state\r\n\t */\r\n\t@state()\r\n\tprivate validationState = {\r\n\t\tdateFromError: '',\r\n\t\tdateToError: '',\r\n\t\trangeError: ''\r\n\t}\r\n\r\n\tconnectedCallback() {\r\n\t\tsuper.connectedCallback()\r\n\t\t// Initialize with smart defaults if no values provided\r\n\t\tif (!this.dateFrom.value && !this.dateTo.value) {\r\n\t\t\tthis.setSmartDefaults()\r\n\t\t} else {\r\n\t\t\t// Validate initial values\r\n\t\t\tthis.validateAndCorrect()\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Set smart default dates based on context\r\n\t */\r\n\tprivate setSmartDefaults() {\r\n\t\tconst today = new Date()\r\n\t\tconst tomorrow = new Date(today)\r\n\t\ttomorrow.setDate(tomorrow.getDate() + this.defaultGap)\r\n\r\n\t\tconst format = this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD'\r\n\t\t\r\n\t\tthis.dateFrom = {\r\n\t\t\t...this.dateFrom,\r\n\t\t\tvalue: this.formatDate(today, format)\r\n\t\t}\r\n\t\t\r\n\t\tthis.dateTo = {\r\n\t\t\t...this.dateTo,\r\n\t\t\tvalue: this.formatDate(tomorrow, format)\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Format date to required string format\r\n\t */\r\n\tprivate formatDate(date: Date, format: string): string {\r\n\t\tconst year = date.getFullYear()\r\n\t\tconst month = String(date.getMonth() + 1).padStart(2, '0')\r\n\t\tconst day = String(date.getDate()).padStart(2, '0')\r\n\t\t\r\n\t\tif (format === 'YYYY-MM-DD') {\r\n\t\t\treturn `${year}-${month}-${day}`\r\n\t\t} else {\r\n\t\t\tconst hours = String(date.getHours()).padStart(2, '0')\r\n\t\t\tconst minutes = String(date.getMinutes()).padStart(2, '0')\r\n\t\t\treturn `${year}-${month}-${day}T${hours}:${minutes}`\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Parse date string to Date object\r\n\t */\r\n\tprivate parseDate(dateStr: string): Date | null {\r\n\t\tif (!dateStr) return null\r\n\t\tconst date = new Date(dateStr)\r\n\t\treturn isNaN(date.getTime()) ? null : date\r\n\t}\r\n\r\n\t/**\r\n\t * Calculate days between two dates\r\n\t */\r\n\tprivate getDaysBetween(date1: Date, date2: Date): number {\r\n\t\tconst msPerDay = 24 * 60 * 60 * 1000\r\n\t\treturn Math.floor((date2.getTime() - date1.getTime()) / msPerDay)\r\n\t}\r\n\r\n\t/**\r\n\t * Handle from date change with validation and auto-correction\r\n\t */\r\n\tprivate handleDateFromChange(e: Event) {\r\n\t\tconst input = e.target as HTMLInputElement\r\n\t\tconst newValue = input.value\r\n\r\n\t\t// Update the value\r\n\t\tthis.dateFrom = { ...this.dateFrom, value: newValue }\r\n\r\n\t\t// Clear previous errors\r\n\t\tthis.validationState = { ...this.validationState, dateFromError: '', rangeError: '' }\r\n\r\n\t\tif (!newValue) {\r\n\t\t\t// Allow empty for optional fields\r\n\t\t\tif (!this.required) {\r\n\t\t\t\tthis.emitChange()\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthis.validationState = { ...this.validationState, dateFromError: 'Start date is required' }\r\n\t\t\tthis.error = true\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Validate and potentially auto-correct\r\n\t\tthis.validateAndCorrect('from')\r\n\t}\r\n\r\n\t/**\r\n\t * Handle to date change with validation and auto-correction\r\n\t */\r\n\tprivate handleDateToChange(e: Event) {\r\n\t\tconst input = e.target as HTMLInputElement\r\n\t\tconst newValue = input.value\r\n\r\n\t\t// Update the value\r\n\t\tthis.dateTo = { ...this.dateTo, value: newValue }\r\n\r\n\t\t// Clear previous errors\r\n\t\tthis.validationState = { ...this.validationState, dateToError: '', rangeError: '' }\r\n\r\n\t\tif (!newValue) {\r\n\t\t\t// Allow empty for optional fields\r\n\t\t\tif (!this.required) {\r\n\t\t\t\tthis.emitChange()\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthis.validationState = { ...this.validationState, dateToError: 'End date is required' }\r\n\t\t\tthis.error = true\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Validate and potentially auto-correct\r\n\t\tthis.validateAndCorrect('to')\r\n\t}\r\n\r\n\t/**\r\n\t * Validate dates and auto-correct if enabled\r\n\t */\r\n\tprivate validateAndCorrect(changedField?: 'from' | 'to') {\r\n\t\tconst fromDate = this.parseDate(this.dateFrom.value)\r\n\t\tconst toDate = this.parseDate(this.dateTo.value)\r\n\r\n\t\t// Reset validation state\r\n\t\tlet hasError = false\r\n\t\tconst newValidationState = { dateFromError: '', dateToError: '', rangeError: '' }\r\n\r\n\t\t// Validate individual dates\r\n\t\tif (this.dateFrom.value && !fromDate) {\r\n\t\t\tnewValidationState.dateFromError = 'Invalid date format'\r\n\t\t\thasError = true\r\n\t\t}\r\n\r\n\t\tif (this.dateTo.value && !toDate) {\r\n\t\t\tnewValidationState.dateToError = 'Invalid date format'\r\n\t\t\thasError = true\r\n\t\t}\r\n\r\n\t\t// If both dates are valid, check range constraints\r\n\t\tif (fromDate && toDate) {\r\n\t\t\tconst daysBetween = this.getDaysBetween(fromDate, toDate)\r\n\r\n\t\t\t// Check if from date is after to date\r\n\t\t\tif (fromDate > toDate) {\r\n\t\t\t\tif (this.autoCorrect) {\r\n\t\t\t\t\t// Auto-correct based on which field changed\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\t// User changed from date, adjust to date\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.defaultGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (changedField === 'to') {\r\n\t\t\t\t\t\t// User changed to date, adjust from date\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.defaultGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// No specific field changed, swap them\r\n\t\t\t\t\t\tconst tempValue = this.dateFrom.value\r\n\t\t\t\t\t\tthis.dateFrom = { ...this.dateFrom, value: this.dateTo.value }\r\n\t\t\t\t\t\tthis.dateTo = { ...this.dateTo, value: tempValue }\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = 'End date must be after start date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check same date constraint\r\n\t\t\tif (!this.allowSameDate && daysBetween === 0) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct by adjusting the other date\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.defaultGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.defaultGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = 'Start and end dates cannot be the same'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check minimum gap\r\n\t\t\tif (this.minGap > 0 && daysBetween < this.minGap) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct to maintain minimum gap\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.minGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.minGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = `Minimum ${this.minGap} day${this.minGap > 1 ? 's' : ''} required between dates`\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check maximum gap\r\n\t\t\tif (this.maxGap !== undefined && daysBetween > this.maxGap) {\r\n\t\t\t\tif (this.autoCorrect && changedField) {\r\n\t\t\t\t\t// Auto-correct to maintain maximum gap\r\n\t\t\t\t\tif (changedField === 'from') {\r\n\t\t\t\t\t\tconst newToDate = new Date(fromDate)\r\n\t\t\t\t\t\tnewToDate.setDate(newToDate.getDate() + this.maxGap)\r\n\t\t\t\t\t\tthis.dateTo = {\r\n\t\t\t\t\t\t\t...this.dateTo,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst newFromDate = new Date(toDate)\r\n\t\t\t\t\t\tnewFromDate.setDate(newFromDate.getDate() - this.maxGap)\r\n\t\t\t\t\t\tthis.dateFrom = {\r\n\t\t\t\t\t\t\t...this.dateFrom,\r\n\t\t\t\t\t\t\tvalue: this.formatDate(newFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// Re-validate after correction\r\n\t\t\t\t\tthis.validateAndCorrect()\r\n\t\t\t\t\treturn\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewValidationState.rangeError = `Maximum ${this.maxGap} day${this.maxGap > 1 ? 's' : ''} allowed between dates`\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Check against min/max date constraints\r\n\t\t\tif (this.minDate) {\r\n\t\t\t\tconst minDateObj = this.parseDate(this.minDate)\r\n\t\t\t\tif (minDateObj && fromDate < minDateObj) {\r\n\t\t\t\t\tnewValidationState.dateFromError = 'Date is before minimum allowed date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (this.maxDate) {\r\n\t\t\t\tconst maxDateObj = this.parseDate(this.maxDate)\r\n\t\t\t\tif (maxDateObj && toDate > maxDateObj) {\r\n\t\t\t\t\tnewValidationState.dateToError = 'Date is after maximum allowed date'\r\n\t\t\t\t\thasError = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Update validation state\r\n\t\tthis.validationState = newValidationState\r\n\t\tthis.error = hasError\r\n\r\n\t\t// Emit change event with validation status\r\n\t\tthis.emitChange()\r\n\t}\r\n\r\n\t/**\r\n\t * Get computed min date for the \"to\" field based on \"from\" value\r\n\t */\r\n\tprivate getComputedMinDateTo(): string | undefined {\r\n\t\tif (!this.dateFrom.value) return this.minDate\r\n\r\n\t\tconst fromDate = this.parseDate(this.dateFrom.value)\r\n\t\tif (!fromDate) return this.minDate\r\n\r\n\t\t// Calculate minimum date based on constraints\r\n\t\tconst minToDate = new Date(fromDate)\r\n\t\t\r\n\t\tif (!this.allowSameDate) {\r\n\t\t\tminToDate.setDate(minToDate.getDate() + 1)\r\n\t\t}\r\n\t\t\r\n\t\tif (this.minGap > 0) {\r\n\t\t\tminToDate.setDate(fromDate.getDate() + this.minGap)\r\n\t\t}\r\n\r\n\t\t// Compare with global minDate if set\r\n\t\tif (this.minDate) {\r\n\t\t\tconst globalMin = this.parseDate(this.minDate)\r\n\t\t\tif (globalMin && globalMin > minToDate) {\r\n\t\t\t\treturn this.minDate\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.formatDate(minToDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t}\r\n\r\n\t/**\r\n\t * Get computed max date for the \"from\" field based on \"to\" value\r\n\t */\r\n\tprivate getComputedMaxDateFrom(): string | undefined {\r\n\t\tif (!this.dateTo.value) return this.maxDate\r\n\r\n\t\tconst toDate = this.parseDate(this.dateTo.value)\r\n\t\tif (!toDate) return this.maxDate\r\n\r\n\t\t// Calculate maximum date based on constraints\r\n\t\tconst maxFromDate = new Date(toDate)\r\n\t\t\r\n\t\tif (!this.allowSameDate) {\r\n\t\t\tmaxFromDate.setDate(maxFromDate.getDate() - 1)\r\n\t\t}\r\n\t\t\r\n\t\tif (this.minGap > 0) {\r\n\t\t\tmaxFromDate.setDate(toDate.getDate() - this.minGap)\r\n\t\t}\r\n\r\n\t\t// Compare with global maxDate if set\r\n\t\tif (this.maxDate) {\r\n\t\t\tconst globalMax = this.parseDate(this.maxDate)\r\n\t\t\tif (globalMax && globalMax < maxFromDate) {\r\n\t\t\t\treturn this.maxDate\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.formatDate(maxFromDate, this.type === 'datetime-local' ? 'YYYY-MM-DDTHH:mm' : 'YYYY-MM-DD')\r\n\t}\r\n\r\n\temitChange() {\r\n\t\tconst isValid = !this.error && \r\n\t\t\t!!this.dateFrom.value && \r\n\t\t\t!!this.dateTo.value && \r\n\t\t\t!this.validationState.dateFromError && \r\n\t\t\t!this.validationState.dateToError && \r\n\t\t\t!this.validationState.rangeError\r\n\r\n\t\tthis.dispatchEvent(new CustomEvent<SchmancyDateRangeInlineChangeEvent['detail']>('change', {\r\n\t\t\tdetail: {\r\n\t\t\t\tdateFrom: this.dateFrom.value,\r\n\t\t\t\tdateTo: this.dateTo.value,\r\n\t\t\t\tisValid\r\n\t\t\t},\r\n\t\t\tbubbles: true,\r\n\t\t\tcomposed: true\r\n\t\t}))\r\n\t}\r\n\r\n\tprotected render() {\r\n\t\t// Determine which error to show on each input\r\n\t\tconst fromError = this.validationState.dateFromError || this.validationState.rangeError\r\n\t\tconst toError = this.validationState.dateToError || this.validationState.rangeError\r\n\r\n\t\treturn html`\r\n\t\t\t<div class=\"w-full\">\r\n\t\t\t\t<div class=\"flex items-start gap-2 w-full\">\r\n\t\t\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t\t\t<schmancy-input\r\n\t\t\t\t\t\t\t.type=${this.type}\r\n\t\t\t\t\t\t\t.label=${this.dateFrom.label}\r\n\t\t\t\t\t\t\t.value=${this.dateFrom.value}\r\n\t\t\t\t\t\t\t.min=${this.minDate}\r\n\t\t\t\t\t\t\t.max=${this.getComputedMaxDateFrom()}\r\n\t\t\t\t\t\t\t@change=${this.handleDateFromChange}\r\n\t\t\t\t\t\t\t.error=${!!fromError}\r\n\t\t\t\t\t\t\t.hint=${fromError || ''}\r\n\t\t\t\t\t\t\t.required=${this.required}\r\n\t\t\t\t\t\t\t.disabled=${this.disabled}\r\n\t\t\t\t\t\t\tsize=${this.compact ? 'sm' : 'md'}\r\n\t\t\t\t\t\t></schmancy-input>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"flex items-center justify-center ${this.compact ? 'pt-8' : 'pt-10'} px-1\">\r\n\t\t\t\t\t\t<schmancy-icon class=\"text-surface-onVariant opacity-50\">\r\n\t\t\t\t\t\t\tarrow_forward\r\n\t\t\t\t\t\t</schmancy-icon>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t\t\t<schmancy-input\r\n\t\t\t\t\t\t\t.type=${this.type}\r\n\t\t\t\t\t\t\t.label=${this.dateTo.label}\r\n\t\t\t\t\t\t\t.value=${this.dateTo.value}\r\n\t\t\t\t\t\t\t.min=${this.getComputedMinDateTo()}\r\n\t\t\t\t\t\t\t.max=${this.maxDate}\r\n\t\t\t\t\t\t\t@change=${this.handleDateToChange}\r\n\t\t\t\t\t\t\t.error=${!!toError}\r\n\t\t\t\t\t\t\t.hint=${toError || ''}\r\n\t\t\t\t\t\t\t.required=${this.required}\r\n\t\t\t\t\t\t\t.disabled=${this.disabled}\r\n\t\t\t\t\t\t\tsize=${this.compact ? 'sm' : 'md'}\r\n\t\t\t\t\t\t></schmancy-input>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t`\r\n\t}\r\n}"],"names":["SchmancyDateRangeInline","SchmancyFormField","constructor","super","arguments","this","type","dateFrom","label","value","dateTo","compact","autoCorrect","minGap","defaultGap","allowSameDate","validationState","dateFromError","dateToError","rangeError","connectedCallback","validateAndCorrect","setSmartDefaults","today","Date","tomorrow","setDate","getDate","format","formatDate","date","year","getFullYear","month","String","getMonth","padStart","day","getHours","getMinutes","dateStr","isNaN","getTime","date1","date2","Math","floor","e","newValue","target","required","error","emitChange","changedField","fromDate","parseDate","toDate","hasError","newValidationState","daysBetween","getDaysBetween","newToDate","newFromDate","tempValue","maxGap","minDate","minDateObj","maxDate","maxDateObj","getComputedMinDateTo","minToDate","globalMin","getComputedMaxDateFrom","maxFromDate","globalMax","isValid","dispatchEvent","CustomEvent","detail","bubbles","composed","render","fromError","toError","html","handleDateFromChange","disabled","handleDateToChange","__decorateClass","property","prototype","Object","Boolean","Number","state","customElement"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./date-range-inline-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./date-range-inline-CtP8EErp.cjs");Object.defineProperty(exports,"SchmancyDateRangeInline",{enumerable:!0,get:()=>e.SchmancyDateRangeInline});
|
|
2
2
|
//# sourceMappingURL=date-range-inline.cjs.map
|
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-CUOzti4w.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-BkJ5xSe0.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-BS6JZiTl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delay-BsFf3qCR.js","sources":["../node_modules/@lit-labs/motion/animate-controller.js","../node_modules/@lit-labs/motion/animate.js","../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\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","getController","get","u","options","disabled","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","skipInitial","isHostRendered","prepare","O","to","log","calculateKeyframes","inId","delete","in","slice","zIndex","animate","resetStyles","P","setAttribute","getAttribute","webAnimation","commitStyles","cancel","reconnected","disconnected","id","out","insertBefore","stabilizeOut","position","style","remove","start","onStart","onComplete","animatingProperties","frames","push","has","add","Object","assign","map","filter","transformOrigin","onFrames","didFinish","playState","pending","hashContent","content","hash","charCodeAt","toString","ELEMENT","S","C","hostUpdated","$","offsetParent","includes","delayContext","createContext","SchmancyDelay","$LitElement","constructor","arguments","delay","motion","rendered","parentDelay","effectiveDelay","once","sessionKey","firstUpdated","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-BS6JZiTl.js","sources":["../node_modules/@lit-labs/motion/animate-controller.js","../node_modules/@lit-labs/motion/animate.js","../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\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","getController","get","u","options","disabled","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","skipInitial","isHostRendered","prepare","O","to","log","calculateKeyframes","inId","delete","in","slice","zIndex","animate","resetStyles","P","setAttribute","getAttribute","webAnimation","commitStyles","cancel","reconnected","disconnected","id","out","insertBefore","stabilizeOut","position","style","remove","start","onStart","onComplete","animatingProperties","frames","push","has","add","Object","assign","map","filter","transformOrigin","onFrames","didFinish","playState","pending","hashContent","content","hash","charCodeAt","toString","ELEMENT","S","C","hostUpdated","$","offsetParent","includes","delayContext","createContext","SchmancyDelay","$LitElement","constructor","arguments","delay","motion","rendered","parentDelay","effectiveDelay","once","sessionKey","firstUpdated","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,4 +1,4 @@
|
|
|
1
|
-
"use strict";const E=require("lit/html.js"),m=require("lit/directive.js"),N=require("lit/async-directive.js"),k=require("./provide-BxZ2kn_p.cjs"),x=require("./consume-edta5ng5.cjs"),q=require("./litElement.mixin-
|
|
1
|
+
"use strict";const E=require("lit/html.js"),m=require("lit/directive.js"),N=require("lit/async-directive.js"),k=require("./provide-BxZ2kn_p.cjs"),x=require("./consume-edta5ng5.cjs"),q=require("./litElement.mixin-ByATw3mZ.cjs"),v=require("lit"),c=require("lit/decorators.js"),P=require("lit/directives/cache.js"),K=require("rxjs"),$=require("rxjs/operators"),j=new WeakMap;let b=0;const y=new Map,S=new WeakSet,A=()=>new Promise(o=>requestAnimationFrame(o)),L=[{transform:"translateY(100%) scale(0)",opacity:0}],T=[{transform:"translateY(-100%) scale(0)",opacity:0}],M=[{opacity:0},{opacity:1}],C=(o,t)=>{const e=o-t;return e===0?void 0:e},w=(o,t)=>{const e=o/t;return e===1?void 0:e},f={left:(o,t)=>{const e=C(o,t);return{value:e,transform:e==null||isNaN(e)?void 0:`translateX(${e}px)`}},top:(o,t)=>{const e=C(o,t);return{value:e,transform:e==null||isNaN(e)?void 0:`translateY(${e}px)`}},width:(o,t)=>{let e;t===0&&(t=1,e={width:"1px"});const i=w(o,t);return{value:i,overrideFrom:e,transform:i==null||isNaN(i)?void 0:`scaleX(${i})`}},height:(o,t)=>{let e;t===0&&(t=1,e={height:"1px"});const i=w(o,t);return{value:i,overrideFrom:e,transform:i==null||isNaN(i)?void 0:`scaleY(${i})`}}},R={duration:333,easing:"ease-in-out"},B=["left","top","width","height","opacity","color","background"],D=new WeakMap;class I extends N.AsyncDirective{constructor(t){if(super(t),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,t.type===m.PartType.CHILD)throw Error("The `animate` directive must be used in attribute position.");this.createFinished()}createFinished(){this.resolveFinished?.(),this.finished=new Promise(t=>{this.l=t})}async resolveFinished(){this.l?.(),this.l=void 0}render(t){return E.nothing}getController(){return j.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(t,[e]){const i=this.u===void 0;return i&&(this.u=t.options?.host,this.u.addController(this),this.u.updateComplete.then(s=>this.t=!0),this.element=t.element,D.set(this.element,this)),this.optionsOrCallback=e,(i||typeof e!="function")&&this.p(e),this.render(e)}p(t){t=t??{};const e=this.getController();e!==void 0&&((t={...e.defaultOptions,...t}).keyframeOptions={...e.defaultOptions.keyframeOptions,...t.keyframeOptions}),t.properties??=B,this.options=t}m(){const t={},e=this.element.getBoundingClientRect(),i=getComputedStyle(this.element);return this.options.properties.forEach(s=>{const n=e[s]??(f[s]?void 0:i[s]),r=Number(n);t[s]=isNaN(r)?n+"":r}),t}v(){let t,e=!0;return this.options.guard&&(t=this.options.guard(),e=((i,s)=>{if(Array.isArray(i)){if(Array.isArray(s)&&s.length===i.length&&i.every((n,r)=>n===s[r]))return!1}else if(s===i)return!1;return!0})(t,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&e&&this.element.isConnected,this.h&&(this._=Array.isArray(t)?Array.from(t):t),this.h}hostUpdate(){typeof this.optionsOrCallback=="function"&&this.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 e=this.O(),i=this.j(this.options.keyframeOptions,e),s=this.m();if(this.A!==void 0){const{from:n,to:r}=this.N(this.A,s,e);this.log("measured",[this.A,s,n,r]),t=this.calculateKeyframes(n,r)}else{const n=y.get(this.options.inId);if(n){y.delete(this.options.inId);const{from:r,to:h}=this.N(n,s,e);t=this.calculateKeyframes(r,h),t=this.options.in?[{...this.options.in[0],...t[0]},...this.options.in.slice(1),t[1]]:t,b++,t.forEach(a=>a.zIndex=b)}else this.options.in&&(t=[...this.options.in,{}])}this.animate(t,i)}resetStyles(){this.P!==void 0&&(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||(this.options.id!==void 0&&y.set(this.options.id,this.A),this.options.out===void 0))return;if(this.prepare(),await A(),this.i?.isConnected){const e=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,e),this.options.stabilizeOut){const i=this.m();this.log("stabilizing out");const s=this.A.left-i.left,n=this.A.top-i.top;getComputedStyle(this.element).position!=="static"||s===0&&n===0||(this.element.style.position="relative"),s!==0&&(this.element.style.left=s+"px"),n!==0&&(this.element.style.top=n+"px")}}const t=this.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 e=this.element.parentNode;e;e=e?.parentNode){const i=D.get(e);i&&!i.isDisabled()&&i&&t.push(i)}return t}get isHostRendered(){const t=S.has(this.u);return t||this.u.updateComplete.then(()=>{S.add(this.u)}),t}j(t,e=this.O()){const i={...R};return e.forEach(s=>Object.assign(i,s.options.keyframeOptions)),Object.assign(i,t),i}N(t,e,i){t={...t},e={...e};const s=i.map(h=>h.animatingProperties).filter(h=>h!==void 0);let n=1,r=1;return s.length>0&&(s.forEach(h=>{h.width&&(n/=h.width),h.height&&(r/=h.height)}),t.left!==void 0&&e.left!==void 0&&(t.left=n*t.left,e.left=n*e.left),t.top!==void 0&&e.top!==void 0&&(t.top=r*t.top,e.top=r*e.top)),{from:t,to:e}}calculateKeyframes(t,e,i=!1){const s={},n={};let r=!1;const h={};for(const a in e){const d=t[a],p=e[a];if(a in f){const F=f[a];if(d===void 0||p===void 0)continue;const u=F(d,p);u.transform!==void 0&&(h[a]=u.value,r=!0,s.transform=`${s.transform??""} ${u.transform}`,u.overrideFrom!==void 0&&Object.assign(s,u.overrideFrom))}else d!==p&&d!==void 0&&p!==void 0&&(r=!0,s[a]=d,n[a]=p)}return s.transformOrigin=n.transformOrigin=i?"center center":"top left",this.animatingProperties=h,r?[s,n]:void 0}async animate(t,e=this.options.keyframeOptions){this.start(),this.frames=t;let i=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=t=this.options.onFrames(this),this.log("modified frames",t)),t!==void 0)){this.log("animate",[t,e]),i=!0,this.webAnimation=this.element.animate(t,e);const s=this.getController();s?.add(this);try{await this.webAnimation.finished}catch{}s?.remove(this)}return this.didFinish(i),i}isAnimating(){return this.webAnimation?.playState==="running"||this.webAnimation?.pending}log(t,e){this.shouldLog&&this.isDisabled()}}const H=m.directive(I),U=["top","right","bottom","left"];class Y extends N.AsyncDirective{constructor(t){if(super(t),t.type!==m.PartType.ELEMENT)throw Error("The `position` directive must be used in attribute position.")}render(t,e){return E.nothing}update(t,[e,i]){return this.u===void 0&&(this.u=t.options?.host,this.u.addController(this)),this.S=t.element,this.C=e,this.F=i??["left","top","width","height"],this.render(e,i)}hostUpdated(){this.$()}$(){const t=typeof this.C=="function"?this.C():this.C?.value,e=t.offsetParent;if(t===void 0||!e)return;const i=t.getBoundingClientRect(),s=e.getBoundingClientRect();this.F?.forEach(n=>{const r=U.includes(n)?i[n]-s[n]:i[n];this.S.style[n]=r+"px"})}}function O(o){let t=2166136261;for(let e=0;e<o.length;e++)t^=o.charCodeAt(e),t=16777619*t>>>0;return t.toString(16)}m.directive(Y);var z=Object.defineProperty,W=Object.getOwnPropertyDescriptor,l=(o,t,e,i)=>{for(var s,n=i>1?void 0:i?W(t,e):t,r=o.length-1;r>=0;r--)(s=o[r])&&(n=(i?s(t,e,n):s(n))||n);return i&&n&&z(t,e,n),n};const g=k.n("delay-context");exports.SchmancyDelay=class extends q.$LitElement(){constructor(){super(...arguments),this.delay=0,this.motion="flyBelow",this.rendered=!1,this.parentDelay=0,this.effectiveDelay=0,this.once=!0,this.sessionKey=""}firstUpdated(){this.observeSlotChanges(),this.updateRenderState()}disconnectedCallback(){super.disconnectedCallback(),this.mutationObserver?.disconnect()}observeSlotChanges(){const o=this.shadowRoot?.querySelector("slot");o&&(this.mutationObserver=new MutationObserver(()=>{this.sessionKey=this.generateSessionKey()}),this.mutationObserver.observe(o,{childList:!0,subtree:!0}))}getTotalSiblingDelay(o){if(!(o&&o instanceof HTMLElement))return 0;let t=0,e=o.previousElementSibling;for(;e;)e instanceof exports.SchmancyDelay&&(t+=e.delay),e=e.previousElementSibling;return o.parentElement&&(t+=this.getTotalSiblingDelay(o.parentElement)),t}updateRenderState(){if(this.sessionKey=this.generateSessionKey(),this.once&&sessionStorage.getItem(this.sessionKey)==="true")return void(this.rendered=!0);const o=this.getTotalSiblingDelay(this);this.effectiveDelay=this.delay+this.parentDelay+o,K.timer(this.effectiveDelay).pipe($.takeUntil(this.disconnecting)).subscribe(()=>{if(this.rendered=!0,this.once)try{sessionStorage.setItem(this.sessionKey,"true")}catch{}})}generateSessionKey(){const o=this.assignedElements.map(t=>t.outerHTML).join("");return this.once?O(o):""}get motionLit(){return this.motion==="flyBelow"?L:this.motion==="flyAbove"?T:M}render(){return P.cache(this.rendered?v.html`<div
|
|
2
2
|
${H({in:this.motionLit,keyframeOptions:{duration:300,easing:"ease-out"}})}
|
|
3
3
|
>
|
|
4
4
|
<slot></slot>
|
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
<slot></slot>
|
|
8
8
|
</section>
|
|
9
9
|
`)}},l([c.property({type:Number,reflect:!0})],exports.SchmancyDelay.prototype,"delay",2),l([c.property({type:String})],exports.SchmancyDelay.prototype,"motion",2),l([c.state()],exports.SchmancyDelay.prototype,"rendered",2),l([x.c({context:g,subscribe:!0})],exports.SchmancyDelay.prototype,"parentDelay",2),l([k.e({context:g})],exports.SchmancyDelay.prototype,"effectiveDelay",2),l([c.property({type:Boolean})],exports.SchmancyDelay.prototype,"once",2),l([c.queryAssignedElements({flatten:!0})],exports.SchmancyDelay.prototype,"assignedElements",2),exports.SchmancyDelay=l([c.customElement("schmancy-delay")],exports.SchmancyDelay),exports.delayContext=g,exports.hashContent=O;
|
|
10
|
-
//# sourceMappingURL=delay-
|
|
10
|
+
//# sourceMappingURL=delay-SQQC8r0A.cjs.map
|