@mhmo91/schmancy 0.6.14 → 0.6.16
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/theme.md +119 -18
- package/dist/ai/theme.md +119 -18
- package/dist/{animated-text-CXkLixsn.js → animated-text-B8iGYrYI.js} +3 -3
- package/dist/{animated-text-CXkLixsn.js.map → animated-text-B8iGYrYI.js.map} +1 -1
- package/dist/{animated-text-DwlmOCAu.cjs → animated-text-Cp_4seiu.cjs} +2 -2
- package/dist/{animated-text-DwlmOCAu.cjs.map → animated-text-Cp_4seiu.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-DLKsm0cJ.cjs → area.component-CCwwAl-Y.cjs} +2 -2
- package/dist/{area.component-DLKsm0cJ.cjs.map → area.component-CCwwAl-Y.cjs.map} +1 -1
- package/dist/{area.component-DbyIwSen.js → area.component-DHYxBzb7.js} +3 -3
- package/dist/{area.component-DbyIwSen.js.map → area.component-DHYxBzb7.js.map} +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-BtJueYNt.cjs → autocomplete-pmX57mE7.cjs} +2 -2
- package/dist/{autocomplete-BtJueYNt.cjs.map → autocomplete-pmX57mE7.cjs.map} +1 -1
- package/dist/{autocomplete-X2TcRii_.js → autocomplete-yPq8zNOI.js} +4 -4
- package/dist/{autocomplete-X2TcRii_.js.map → autocomplete-yPq8zNOI.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/{avatar-8kT0fLuL.cjs → avatar-kPQ81LWq.cjs} +2 -2
- package/dist/{avatar-8kT0fLuL.cjs.map → avatar-kPQ81LWq.cjs.map} +1 -1
- package/dist/{avatar-BK3a-7Ex.js → avatar-kwfIZbBF.js} +51 -51
- package/dist/{avatar-BK3a-7Ex.js.map → avatar-kwfIZbBF.js.map} +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-DLniPpKM.cjs → boat-D-tWc7q3.cjs} +2 -2
- package/dist/{boat-DLniPpKM.cjs.map → boat-D-tWc7q3.cjs.map} +1 -1
- package/dist/{boat-DsG5xqRQ.js → boat-DdWgKGDm.js} +3 -3
- package/dist/{boat-DsG5xqRQ.js.map → boat-DdWgKGDm.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-DJfcWdHu.js → checkbox-C-EFwpvs.js} +2 -2
- package/dist/{checkbox-DJfcWdHu.js.map → checkbox-C-EFwpvs.js.map} +1 -1
- package/dist/{checkbox-D4k9hOGr.cjs → checkbox-sd72C6z5.cjs} +2 -2
- package/dist/{checkbox-D4k9hOGr.cjs.map → checkbox-sd72C6z5.cjs.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-2QujfDM-.js → code-preview-DU8t16Io.js} +2 -2
- package/dist/{code-preview-2QujfDM-.js.map → code-preview-DU8t16Io.js.map} +1 -1
- package/dist/{code-preview-BCExTzlk.cjs → code-preview-DWvUMJXJ.cjs} +2 -2
- package/dist/{code-preview-BCExTzlk.cjs.map → code-preview-DWvUMJXJ.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-1jcMQxpT.js → date-range-C6plrAKq.js} +3 -3
- package/dist/{date-range-1jcMQxpT.js.map → date-range-C6plrAKq.js.map} +1 -1
- package/dist/{date-range-CUOzti4w.cjs → date-range-GOzI_28R.cjs} +2 -2
- package/dist/{date-range-CUOzti4w.cjs.map → date-range-GOzI_28R.cjs.map} +1 -1
- package/dist/{date-range-inline-TNQO_qOG.js → date-range-inline-BzdUNxOn.js} +3 -3
- package/dist/{date-range-inline-TNQO_qOG.js.map → date-range-inline-BzdUNxOn.js.map} +1 -1
- package/dist/{date-range-inline-CtP8EErp.cjs → date-range-inline-CIq1qoPA.cjs} +2 -2
- package/dist/{date-range-inline-CtP8EErp.cjs.map → date-range-inline-CIq1qoPA.cjs.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-SQQC8r0A.cjs → delay-DoqqTMT9.cjs} +2 -2
- package/dist/{delay-SQQC8r0A.cjs.map → delay-DoqqTMT9.cjs.map} +1 -1
- package/dist/{delay-BS6JZiTl.js → delay-NrcUS15l.js} +2 -2
- package/dist/{delay-BS6JZiTl.js.map → delay-NrcUS15l.js.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-8r7gRioQ.js → details-BSkVxC5z.js} +2 -2
- package/dist/{details-8r7gRioQ.js.map → details-BSkVxC5z.js.map} +1 -1
- package/dist/{details-DEvfK6Y_.cjs → details-CE2aawZr.cjs} +2 -2
- package/dist/{details-DEvfK6Y_.cjs.map → details-CE2aawZr.cjs.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-content-BLXnQPe_.js → dialog-content-B6coEskF.js} +3 -3
- package/dist/{dialog-content-BLXnQPe_.js.map → dialog-content-B6coEskF.js.map} +1 -1
- package/dist/{dialog-content-eMPblRN-.cjs → dialog-content-CZANVFV4.cjs} +2 -2
- package/dist/{dialog-content-eMPblRN-.cjs.map → dialog-content-CZANVFV4.cjs.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.js +1 -1
- package/dist/{divider-B5Lscbmv.cjs → divider-BLRJorDu.cjs} +2 -2
- package/dist/{divider-B5Lscbmv.cjs.map → divider-BLRJorDu.cjs.map} +1 -1
- package/dist/{divider-DVOP9fKz.js → divider-DJZwg-YL.js} +3 -3
- package/dist/{divider-DVOP9fKz.js.map → divider-DJZwg-YL.js.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/{dropdown-content-BYicwGyz.js → dropdown-content-BsnFk-nJ.js} +3 -3
- package/dist/{dropdown-content-BYicwGyz.js.map → dropdown-content-BsnFk-nJ.js.map} +1 -1
- package/dist/{dropdown-content-Bw7XWcwi.cjs → dropdown-content-BxPsdPhI.cjs} +2 -2
- package/dist/{dropdown-content-Bw7XWcwi.cjs.map → dropdown-content-BxPsdPhI.cjs.map} +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +1 -1
- package/dist/{email-recipients-gR5xX1BV.cjs → email-recipients-2cYEfkH9.cjs} +2 -2
- package/dist/{email-recipients-gR5xX1BV.cjs.map → email-recipients-2cYEfkH9.cjs.map} +1 -1
- package/dist/{email-recipients-B1BIM0D8.js → email-recipients-BpeZJENf.js} +6 -6
- package/dist/{email-recipients-B1BIM0D8.js.map → email-recipients-BpeZJENf.js.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{flex-DmDh3Xck.js → flex-BbFqMmJg.js} +2 -2
- package/dist/{flex-DmDh3Xck.js.map → flex-BbFqMmJg.js.map} +1 -1
- package/dist/{flex-swmc0cUu.cjs → flex-Dq9FKhvn.cjs} +2 -2
- package/dist/{flex-swmc0cUu.cjs.map → flex-Dq9FKhvn.cjs.map} +1 -1
- package/dist/{form-j2b0DSLw.cjs → form-9Eka_fiN.cjs} +2 -2
- package/dist/{form-j2b0DSLw.cjs.map → form-9Eka_fiN.cjs.map} +1 -1
- package/dist/{form-AnAbcU3R.js → form-QA4ruG62.js} +2 -2
- package/dist/{form-AnAbcU3R.js.map → form-QA4ruG62.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{formField.mixin-SDERSPsB.cjs → formField.mixin-CYJF9Y62.cjs} +2 -2
- package/dist/{formField.mixin-SDERSPsB.cjs.map → formField.mixin-CYJF9Y62.cjs.map} +1 -1
- package/dist/{formField.mixin-ClH5rpgp.js → formField.mixin-CgiAzRuy.js} +2 -2
- package/dist/{formField.mixin-ClH5rpgp.js.map → formField.mixin-CgiAzRuy.js.map} +1 -1
- package/dist/{icon-XSmJ_oNG.cjs → icon-CfC-30so.cjs} +2 -2
- package/dist/{icon-XSmJ_oNG.cjs.map → icon-CfC-30so.cjs.map} +1 -1
- package/dist/{icon-BC3uU_kR.js → icon-DUB5k2gF.js} +2 -2
- package/dist/{icon-BC3uU_kR.js.map → icon-DUB5k2gF.js.map} +1 -1
- package/dist/{icon-button-CMa6DB99.cjs → icon-button-CD3zR7_w.cjs} +2 -2
- package/dist/{icon-button-CMa6DB99.cjs.map → icon-button-CD3zR7_w.cjs.map} +1 -1
- package/dist/{icon-button-3uyKYV7-.js → icon-button-CM5LpeUv.js} +3 -3
- package/dist/{icon-button-3uyKYV7-.js.map → icon-button-CM5LpeUv.js.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +50 -50
- package/dist/{input-B2YwvRXR.cjs → input-D1IQ2HAv.cjs} +2 -2
- package/dist/{input-B2YwvRXR.cjs.map → input-D1IQ2HAv.cjs.map} +1 -1
- package/dist/{input-Dexl-lrG.js → input-ZPc0PgSj.js} +3 -3
- package/dist/{input-Dexl-lrG.js.map → input-ZPc0PgSj.js.map} +1 -1
- package/dist/{input-chip-DB3ZBcZn.cjs → input-chip-Bt-qOSEB.cjs} +2 -2
- package/dist/{input-chip-DB3ZBcZn.cjs.map → input-chip-Bt-qOSEB.cjs.map} +1 -1
- package/dist/{input-chip-_YszUd8z.js → input-chip-DPmwgnLg.js} +2 -2
- package/dist/{input-chip-_YszUd8z.js.map → input-chip-DPmwgnLg.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-BR-JEmOj.cjs → list-BSbuXagR.cjs} +2 -2
- package/dist/{list-BR-JEmOj.cjs.map → list-BSbuXagR.cjs.map} +1 -1
- package/dist/{list-CquiBoXQ.js → list-CyeSi6on.js} +2 -2
- package/dist/{list-CquiBoXQ.js.map → list-CyeSi6on.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-ByATw3mZ.cjs → litElement.mixin-BfKE8dJc.cjs} +2 -2
- package/dist/{litElement.mixin-ByATw3mZ.cjs.map → litElement.mixin-BfKE8dJc.cjs.map} +1 -1
- package/dist/{litElement.mixin-BkJ5xSe0.js → litElement.mixin-DYomCqIu.js} +2 -2
- package/dist/{litElement.mixin-BkJ5xSe0.js.map → litElement.mixin-DYomCqIu.js.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-nq-UJIG1.js → map-B0RIANKu.js} +2 -2
- package/dist/{map-nq-UJIG1.js.map → map-B0RIANKu.js.map} +1 -1
- package/dist/{map-BvR3poWa.cjs → map-dviafjXB.cjs} +2 -2
- package/dist/{map-BvR3poWa.cjs.map → map-dviafjXB.cjs.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{media-LEiWsBFD.cjs → media-C7X1ikuw.cjs} +2 -2
- package/dist/{media-LEiWsBFD.cjs.map → media-C7X1ikuw.cjs.map} +1 -1
- package/dist/{media-B0G4a4dk.js → media-CWsGoRyl.js} +2 -2
- package/dist/{media-B0G4a4dk.js.map → media-CWsGoRyl.js.map} +1 -1
- package/dist/{menu-BKq36UN8.cjs → menu-BLqx4UO2.cjs} +2 -2
- package/dist/{menu-BKq36UN8.cjs.map → menu-BLqx4UO2.cjs.map} +1 -1
- package/dist/{menu-7cP5tC2B.js → menu-xrrIvGSW.js} +3 -3
- package/dist/{menu-7cP5tC2B.js.map → menu-xrrIvGSW.js.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/{navigation-rail-D5987GsB.js → navigation-rail-BG2bMjOl.js} +3 -3
- package/dist/{navigation-rail-D5987GsB.js.map → navigation-rail-BG2bMjOl.js.map} +1 -1
- package/dist/{navigation-rail-BKxtEDx8.cjs → navigation-rail-D_IprLlU.cjs} +2 -2
- package/dist/{navigation-rail-BKxtEDx8.cjs.map → navigation-rail-D_IprLlU.cjs.map} +1 -1
- package/dist/navigation-rail.cjs +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-service-BEUd4eSl.cjs → notification-service-CgloltK7.cjs} +2 -2
- package/dist/{notification-service-BEUd4eSl.cjs.map → notification-service-CgloltK7.cjs.map} +1 -1
- package/dist/{notification-service-ChB6yIdF.js → notification-service-DFQoqjNa.js} +4 -4
- package/dist/{notification-service-ChB6yIdF.js.map → notification-service-DFQoqjNa.js.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +2 -2
- package/dist/{notify-DtV3hOAh.js → notify-ByAaGcdh.js} +2 -2
- package/dist/{notify-DtV3hOAh.js.map → notify-ByAaGcdh.js.map} +1 -1
- package/dist/{notify-DVeG-xkY.cjs → notify-CKK9jYPV.cjs} +2 -2
- package/dist/{notify-DVeG-xkY.cjs.map → notify-CKK9jYPV.cjs.map} +1 -1
- package/dist/{option-B3ZuuS7d.js → option-BdAu99R9.js} +2 -2
- package/dist/{option-B3ZuuS7d.js.map → option-BdAu99R9.js.map} +1 -1
- package/dist/{option-BnCqyZ1G.cjs → option-D39HiGpX.cjs} +2 -2
- package/dist/{option-BnCqyZ1G.cjs.map → option-D39HiGpX.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{payment-card-form-BbIb4L73.cjs → payment-card-form-Bwlayv0c.cjs} +2 -2
- package/dist/{payment-card-form-BbIb4L73.cjs.map → payment-card-form-Bwlayv0c.cjs.map} +1 -1
- package/dist/{payment-card-form-DVdvTj4q.js → payment-card-form-Dzkw0Zxb.js} +3 -3
- package/dist/{payment-card-form-DVdvTj4q.js.map → payment-card-form-Dzkw0Zxb.js.map} +1 -1
- package/dist/{progress-DJaKqm9N.js → progress-B2OiyRFr.js} +2 -2
- package/dist/{progress-DJaKqm9N.js.map → progress-B2OiyRFr.js.map} +1 -1
- package/dist/{progress-UpWHuWNo.cjs → progress-xtDRWuk5.cjs} +2 -2
- package/dist/{progress-UpWHuWNo.cjs.map → progress-xtDRWuk5.cjs.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-button-BCFhfUmi.cjs → radio-button-CvbFaOTU.cjs} +2 -2
- package/dist/{radio-button-BCFhfUmi.cjs.map → radio-button-CvbFaOTU.cjs.map} +1 -1
- package/dist/{radio-button-De_M5gs5.js → radio-button-q537q2UW.js} +3 -3
- package/dist/{radio-button-De_M5gs5.js.map → radio-button-q537q2UW.js.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/{schmancy-steps-container-B78yjMzg.js → schmancy-steps-container-BXtHI-tR.js} +2 -2
- package/dist/{schmancy-steps-container-B78yjMzg.js.map → schmancy-steps-container-BXtHI-tR.js.map} +1 -1
- package/dist/{schmancy-steps-container-C3bMTFEN.cjs → schmancy-steps-container-Bhl3Bn6r.cjs} +2 -2
- package/dist/{schmancy-steps-container-C3bMTFEN.cjs.map → schmancy-steps-container-Bhl3Bn6r.cjs.map} +1 -1
- package/dist/{select-BniRmX8N.js → select-CCKHSCwG.js} +3 -3
- package/dist/{select-BniRmX8N.js.map → select-CCKHSCwG.js.map} +1 -1
- package/dist/{select-Dyi3H5Gi.cjs → select-CVIMXcxl.cjs} +2 -2
- package/dist/{select-Dyi3H5Gi.cjs.map → select-CVIMXcxl.cjs.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-Boqpk0ZI.cjs → sheet-B0UL6iVh.cjs} +2 -2
- package/dist/{sheet-Boqpk0ZI.cjs.map → sheet-B0UL6iVh.cjs.map} +1 -1
- package/dist/{sheet-Bjt_7O9d.js → sheet-BqvL8L7x.js} +5 -5
- package/dist/{sheet-Bjt_7O9d.js.map → sheet-BqvL8L7x.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/{sheet.service-DerP3lOT.cjs → sheet.service-ADoGq10G.cjs} +2 -2
- package/dist/{sheet.service-DerP3lOT.cjs.map → sheet.service-ADoGq10G.cjs.map} +1 -1
- package/dist/{sheet.service-v6ZcXxgt.js → sheet.service-C6493Pke.js} +2 -2
- package/dist/{sheet.service-v6ZcXxgt.js.map → sheet.service-C6493Pke.js.map} +1 -1
- package/dist/{slider-BRoxL04w.js → slider-Bc_6eyrO.js} +3 -3
- package/dist/{slider-BRoxL04w.js.map → slider-Bc_6eyrO.js.map} +1 -1
- package/dist/{slider-DFqI8sV_.cjs → slider-Cl84WZAd.cjs} +2 -2
- package/dist/{slider-DFqI8sV_.cjs.map → slider-Cl84WZAd.cjs.map} +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{spinner-DcSXDzOD.cjs → spinner-CQQSTCev.cjs} +2 -2
- package/dist/{spinner-DcSXDzOD.cjs.map → spinner-CQQSTCev.cjs.map} +1 -1
- package/dist/{spinner-CTld58nR.js → spinner-DZIA0ztk.js} +2 -2
- package/dist/{spinner-CTld58nR.js.map → spinner-DZIA0ztk.js.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{suggestion-chip-Lby1Ejkz.cjs → suggestion-chip-BzRaUcJI.cjs} +2 -2
- package/dist/{suggestion-chip-Lby1Ejkz.cjs.map → suggestion-chip-BzRaUcJI.cjs.map} +1 -1
- package/dist/{suggestion-chip-CLJFJgkY.js → suggestion-chip-C7umNn8S.js} +3 -3
- package/dist/{suggestion-chip-CLJFJgkY.js.map → suggestion-chip-C7umNn8S.js.map} +1 -1
- package/dist/{surface-C6OOSJCL.js → surface-CAHL8-r2.js} +2 -2
- package/dist/{surface-C6OOSJCL.js.map → surface-CAHL8-r2.js.map} +1 -1
- package/dist/{surface-DDLedRWY.cjs → surface-CE6siCtd.cjs} +2 -2
- package/dist/{surface-DDLedRWY.cjs.map → surface-CE6siCtd.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{table-BUff-4Nd.cjs → table-CE5zNYKo.cjs} +2 -2
- package/dist/{table-BUff-4Nd.cjs.map → table-CE5zNYKo.cjs.map} +1 -1
- package/dist/{table-BWroz_LA.js → table-CF6jit0u.js} +2 -2
- package/dist/{table-BWroz_LA.js.map → table-CF6jit0u.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-compatibility-BnutHPg5.cjs → tabs-compatibility-C2rKG59P.cjs} +2 -2
- package/dist/{tabs-compatibility-BnutHPg5.cjs.map → tabs-compatibility-C2rKG59P.cjs.map} +1 -1
- package/dist/{tabs-compatibility-B2pilxIp.js → tabs-compatibility-CEZTTGar.js} +2 -2
- package/dist/{tabs-compatibility-B2pilxIp.js.map → tabs-compatibility-CEZTTGar.js.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-I9Q1jeEr.cjs +2 -0
- package/dist/{tailwind.mixin-Dn3V28jr.cjs.map → tailwind.mixin-I9Q1jeEr.cjs.map} +1 -1
- package/dist/tailwind.mixin-N1MaFaUo.js +66 -0
- package/dist/{tailwind.mixin-D9gOO2Zy.js.map → tailwind.mixin-N1MaFaUo.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-HnoNbteD.js → textarea-BDivoZfH.js} +2 -2
- package/dist/{textarea-HnoNbteD.js.map → textarea-BDivoZfH.js.map} +1 -1
- package/dist/{textarea-BIWsJYHo.cjs → textarea-DsqzyNLB.cjs} +2 -2
- package/dist/{textarea-BIWsJYHo.cjs.map → textarea-DsqzyNLB.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-button-CQtvf5rQ.js → theme-button-Dd344f5C.js} +2 -2
- package/dist/{theme-button-CQtvf5rQ.js.map → theme-button-Dd344f5C.js.map} +1 -1
- package/dist/{theme-button-B47eE2NA.cjs → theme-button-i1gafNgr.cjs} +2 -2
- package/dist/{theme-button-B47eE2NA.cjs.map → theme-button-i1gafNgr.cjs.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/{theme-controller-boat-DFeOAqvr.cjs → theme-controller-boat-CpyUG712.cjs} +2 -2
- package/dist/{theme-controller-boat-DFeOAqvr.cjs.map → theme-controller-boat-CpyUG712.cjs.map} +1 -1
- package/dist/{theme-controller-boat-BMEhTj7b.js → theme-controller-boat-aZ_v5n-0.js} +4 -4
- package/dist/{theme-controller-boat-BMEhTj7b.js.map → theme-controller-boat-aZ_v5n-0.js.map} +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/theme.js +1 -1
- package/dist/{timezone-4RUcnYyR.cjs → timezone-T8C73VAV.cjs} +2 -2
- package/dist/{timezone-4RUcnYyR.cjs.map → timezone-T8C73VAV.cjs.map} +1 -1
- package/dist/{timezone-W0NClemY.js → timezone-aOO7z9Qo.js} +3 -3
- package/dist/{timezone-W0NClemY.js.map → timezone-aOO7z9Qo.js.map} +1 -1
- package/dist/{tooltip-CUJ21qgG.cjs → tooltip-CdhFhx_T.cjs} +2 -2
- package/dist/{tooltip-CUJ21qgG.cjs.map → tooltip-CdhFhx_T.cjs.map} +1 -1
- package/dist/{tooltip-BNaxRCyZ.js → tooltip-Dn_MGXjw.js} +2 -2
- package/dist/{tooltip-BNaxRCyZ.js.map → tooltip-Dn_MGXjw.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/{tree-Bt5grLhM.cjs → tree-BCKEHEwK.cjs} +2 -2
- package/dist/{tree-Bt5grLhM.cjs.map → tree-BCKEHEwK.cjs.map} +1 -1
- package/dist/{tree-YcyL10ct.js → tree-Dcob4BMm.js} +2 -2
- package/dist/{tree-YcyL10ct.js.map → tree-Dcob4BMm.js.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/{typewriter-CePISW4C.cjs → typewriter-BQuKztry.cjs} +2 -2
- package/dist/{typewriter-CePISW4C.cjs.map → typewriter-BQuKztry.cjs.map} +1 -1
- package/dist/{typewriter-ZlQ0l08y.js → typewriter-Cd-6RBof.js} +4 -4
- package/dist/{typewriter-ZlQ0l08y.js.map → typewriter-Cd-6RBof.js.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{typography-CMrtj1dN.js → typography-B8r6CRfv.js} +2 -2
- package/dist/{typography-CMrtj1dN.js.map → typography-B8r6CRfv.js.map} +1 -1
- package/dist/{typography-ooHH_FZc.cjs → typography-BYjA_BbW.cjs} +2 -2
- package/dist/{typography-ooHH_FZc.cjs.map → typography-BYjA_BbW.cjs.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/package.json +1 -1
- package/dist/tailwind.mixin-D9gOO2Zy.js +0 -66
- package/dist/tailwind.mixin-Dn3V28jr.cjs +0 -2
package/ai/theme.md
CHANGED
|
@@ -197,26 +197,30 @@ The theme service generates a COMPLETE M3 design system with hundreds of tokens:
|
|
|
197
197
|
|
|
198
198
|
### Extended Color System
|
|
199
199
|
|
|
200
|
-
Beyond primary/secondary/tertiary/error, the theme includes:
|
|
200
|
+
Beyond primary/secondary/tertiary/error, the theme includes complete semantic color palettes:
|
|
201
201
|
|
|
202
202
|
```typescript
|
|
203
|
-
//
|
|
204
|
-
theme.theme.success
|
|
205
|
-
theme.theme.
|
|
206
|
-
theme.theme.
|
|
207
|
-
theme.theme.
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
theme.theme.
|
|
211
|
-
theme.theme.
|
|
212
|
-
theme.theme.
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
theme.theme.
|
|
217
|
-
theme.theme.
|
|
203
|
+
// Success - Green palette for success states
|
|
204
|
+
theme.theme.sys.color.success.default // Success default (#006E1C base)
|
|
205
|
+
theme.theme.sys.color.success.on // Text on success backgrounds
|
|
206
|
+
theme.theme.sys.color.success.container // Success container backgrounds
|
|
207
|
+
theme.theme.sys.color.success.onContainer // Text on success containers
|
|
208
|
+
|
|
209
|
+
// Warning - Amber/Yellow palette for warning states
|
|
210
|
+
theme.theme.sys.color.warning.default // Warning default (#FFD600 base)
|
|
211
|
+
theme.theme.sys.color.warning.on // Text on warning backgrounds
|
|
212
|
+
theme.theme.sys.color.warning.container // Warning container backgrounds
|
|
213
|
+
theme.theme.sys.color.warning.onContainer // Text on warning containers
|
|
214
|
+
|
|
215
|
+
// Info - Blue palette for informational states
|
|
216
|
+
theme.theme.sys.color.info.default // Info default (#2979FF base)
|
|
217
|
+
theme.theme.sys.color.info.on // Text on info backgrounds
|
|
218
|
+
theme.theme.sys.color.info.container // Info container backgrounds
|
|
219
|
+
theme.theme.sys.color.info.onContainer // Text on info containers
|
|
218
220
|
```
|
|
219
221
|
|
|
222
|
+
**Note**: All color roles follow the same pattern: `default`, `on`, `container`, `onContainer`
|
|
223
|
+
|
|
220
224
|
### Surface System
|
|
221
225
|
|
|
222
226
|
Complete surface hierarchy with proper elevation:
|
|
@@ -576,6 +580,95 @@ export class ThemeChart extends $LitElement() {
|
|
|
576
580
|
}
|
|
577
581
|
```
|
|
578
582
|
|
|
583
|
+
## Tailwind Utility Classes
|
|
584
|
+
|
|
585
|
+
All theme colors are available as Tailwind utility classes with convenient aliases:
|
|
586
|
+
|
|
587
|
+
### Color Utility Aliases
|
|
588
|
+
|
|
589
|
+
Base color names (e.g., `bg-primary`, `text-error`) are **aliases** to their `-default` variants:
|
|
590
|
+
|
|
591
|
+
```html
|
|
592
|
+
<!-- These are IDENTICAL -->
|
|
593
|
+
<div class="bg-primary">Primary</div>
|
|
594
|
+
<div class="bg-primary-default">Primary</div>
|
|
595
|
+
|
|
596
|
+
<div class="text-error">Error</div>
|
|
597
|
+
<div class="text-error-default">Error</div>
|
|
598
|
+
|
|
599
|
+
<div class="bg-warning">Warning</div>
|
|
600
|
+
<div class="bg-warning-default">Warning</div>
|
|
601
|
+
|
|
602
|
+
<div class="border-success">Success</div>
|
|
603
|
+
<div class="border-success-default">Success</div>
|
|
604
|
+
```
|
|
605
|
+
|
|
606
|
+
### All Available Color Utilities
|
|
607
|
+
|
|
608
|
+
**Core Colors** (primary, secondary, tertiary):
|
|
609
|
+
```html
|
|
610
|
+
<!-- Background utilities -->
|
|
611
|
+
<div class="bg-primary">Primary</div>
|
|
612
|
+
<div class="bg-primary-default">Primary default (same as above)</div>
|
|
613
|
+
<div class="bg-primary-container">Primary container</div>
|
|
614
|
+
<div class="bg-on-primary">On primary</div>
|
|
615
|
+
<div class="bg-on-primary-container">On primary container</div>
|
|
616
|
+
|
|
617
|
+
<!-- Text utilities (same pattern) -->
|
|
618
|
+
<div class="text-secondary">Secondary text</div>
|
|
619
|
+
<div class="text-secondary-container">Secondary container text</div>
|
|
620
|
+
|
|
621
|
+
<!-- Border utilities (same pattern) -->
|
|
622
|
+
<div class="border-tertiary">Tertiary border</div>
|
|
623
|
+
```
|
|
624
|
+
|
|
625
|
+
**Semantic Colors** (error, warning, success, info):
|
|
626
|
+
```html
|
|
627
|
+
<!-- Error -->
|
|
628
|
+
<div class="bg-error">Error</div>
|
|
629
|
+
<div class="bg-error-container">Error container</div>
|
|
630
|
+
<div class="text-error">Error text</div>
|
|
631
|
+
<div class="text-on-error">On error text</div>
|
|
632
|
+
|
|
633
|
+
<!-- Warning -->
|
|
634
|
+
<div class="bg-warning">Warning</div>
|
|
635
|
+
<div class="bg-warning-container">Warning container</div>
|
|
636
|
+
<div class="text-warning">Warning text</div>
|
|
637
|
+
<div class="border-warning">Warning border</div>
|
|
638
|
+
|
|
639
|
+
<!-- Success -->
|
|
640
|
+
<div class="bg-success">Success</div>
|
|
641
|
+
<div class="bg-success-container">Success container</div>
|
|
642
|
+
|
|
643
|
+
<!-- Info -->
|
|
644
|
+
<div class="bg-info">Info</div>
|
|
645
|
+
<div class="bg-info-container">Info container</div>
|
|
646
|
+
```
|
|
647
|
+
|
|
648
|
+
**All utilities support standard Tailwind prefixes**:
|
|
649
|
+
- `bg-*` - Background colors
|
|
650
|
+
- `text-*` - Text colors
|
|
651
|
+
- `border-*` - Border colors
|
|
652
|
+
- `ring-*` - Ring colors
|
|
653
|
+
- `decoration-*` - Text decoration colors
|
|
654
|
+
- `divide-*` - Divider colors
|
|
655
|
+
- `outline-*` - Outline colors
|
|
656
|
+
- `fill-*` - SVG fill colors
|
|
657
|
+
- `stroke-*` - SVG stroke colors
|
|
658
|
+
|
|
659
|
+
### Pattern Summary
|
|
660
|
+
|
|
661
|
+
Every color role has **four variants**:
|
|
662
|
+
1. `{color}` or `{color}-default` - Main color (aliases)
|
|
663
|
+
2. `on-{color}` - Text/content on the color
|
|
664
|
+
3. `{color}-container` - Container/background variant
|
|
665
|
+
4. `on-{color}-container` - Text/content on container
|
|
666
|
+
|
|
667
|
+
Applied to all colors:
|
|
668
|
+
- **Core**: `primary`, `secondary`, `tertiary`
|
|
669
|
+
- **Semantic**: `error`, `warning`, `success`, `info`
|
|
670
|
+
- **Surfaces**: `surface`, `surface-dim`, `surface-bright`, `surface-container-*`
|
|
671
|
+
|
|
579
672
|
## Complete CSS Variable Reference
|
|
580
673
|
|
|
581
674
|
All tokens are available as CSS variables with `--schmancy-` prefix:
|
|
@@ -992,7 +1085,8 @@ theme.setColor('#6750A4') // Generates 100+ tokens
|
|
|
992
1085
|
## Summary
|
|
993
1086
|
|
|
994
1087
|
The theme service provides a complete Material Design 3 implementation with:
|
|
995
|
-
- 🎨 **Extended color system** with semantic colors
|
|
1088
|
+
- 🎨 **Extended color system** with semantic colors (error, warning, success, info)
|
|
1089
|
+
- 🎨 **Tailwind utilities** with convenient aliases (`bg-primary` = `bg-primary-default`)
|
|
996
1090
|
- 📐 **Complete surface hierarchy** for proper elevation
|
|
997
1091
|
- 🔤 **Full typography scale** across 5 categories
|
|
998
1092
|
- 🎬 **Sophisticated motion system** with easing and duration
|
|
@@ -1003,4 +1097,11 @@ The theme service provides a complete Material Design 3 implementation with:
|
|
|
1003
1097
|
- 🎯 **Ready-to-use controls** component
|
|
1004
1098
|
- ⚡ **Reactive observables** for all properties
|
|
1005
1099
|
|
|
1006
|
-
Use the theme service as your single source of truth for all design tokens and theming needs.
|
|
1100
|
+
Use the theme service as your single source of truth for all design tokens and theming needs.
|
|
1101
|
+
|
|
1102
|
+
### Quick Reference
|
|
1103
|
+
|
|
1104
|
+
**Colors**: primary, secondary, tertiary, error, warning, success, info
|
|
1105
|
+
**Each color has**: default, on, container, onContainer variants
|
|
1106
|
+
**Tailwind**: All colors work with bg-*, text-*, border-*, ring-* prefixes
|
|
1107
|
+
**Aliases**: Base names (e.g., `bg-error`) automatically resolve to `-default` variants
|
package/dist/ai/theme.md
CHANGED
|
@@ -197,26 +197,30 @@ The theme service generates a COMPLETE M3 design system with hundreds of tokens:
|
|
|
197
197
|
|
|
198
198
|
### Extended Color System
|
|
199
199
|
|
|
200
|
-
Beyond primary/secondary/tertiary/error, the theme includes:
|
|
200
|
+
Beyond primary/secondary/tertiary/error, the theme includes complete semantic color palettes:
|
|
201
201
|
|
|
202
202
|
```typescript
|
|
203
|
-
//
|
|
204
|
-
theme.theme.success
|
|
205
|
-
theme.theme.
|
|
206
|
-
theme.theme.
|
|
207
|
-
theme.theme.
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
theme.theme.
|
|
211
|
-
theme.theme.
|
|
212
|
-
theme.theme.
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
theme.theme.
|
|
217
|
-
theme.theme.
|
|
203
|
+
// Success - Green palette for success states
|
|
204
|
+
theme.theme.sys.color.success.default // Success default (#006E1C base)
|
|
205
|
+
theme.theme.sys.color.success.on // Text on success backgrounds
|
|
206
|
+
theme.theme.sys.color.success.container // Success container backgrounds
|
|
207
|
+
theme.theme.sys.color.success.onContainer // Text on success containers
|
|
208
|
+
|
|
209
|
+
// Warning - Amber/Yellow palette for warning states
|
|
210
|
+
theme.theme.sys.color.warning.default // Warning default (#FFD600 base)
|
|
211
|
+
theme.theme.sys.color.warning.on // Text on warning backgrounds
|
|
212
|
+
theme.theme.sys.color.warning.container // Warning container backgrounds
|
|
213
|
+
theme.theme.sys.color.warning.onContainer // Text on warning containers
|
|
214
|
+
|
|
215
|
+
// Info - Blue palette for informational states
|
|
216
|
+
theme.theme.sys.color.info.default // Info default (#2979FF base)
|
|
217
|
+
theme.theme.sys.color.info.on // Text on info backgrounds
|
|
218
|
+
theme.theme.sys.color.info.container // Info container backgrounds
|
|
219
|
+
theme.theme.sys.color.info.onContainer // Text on info containers
|
|
218
220
|
```
|
|
219
221
|
|
|
222
|
+
**Note**: All color roles follow the same pattern: `default`, `on`, `container`, `onContainer`
|
|
223
|
+
|
|
220
224
|
### Surface System
|
|
221
225
|
|
|
222
226
|
Complete surface hierarchy with proper elevation:
|
|
@@ -576,6 +580,95 @@ export class ThemeChart extends $LitElement() {
|
|
|
576
580
|
}
|
|
577
581
|
```
|
|
578
582
|
|
|
583
|
+
## Tailwind Utility Classes
|
|
584
|
+
|
|
585
|
+
All theme colors are available as Tailwind utility classes with convenient aliases:
|
|
586
|
+
|
|
587
|
+
### Color Utility Aliases
|
|
588
|
+
|
|
589
|
+
Base color names (e.g., `bg-primary`, `text-error`) are **aliases** to their `-default` variants:
|
|
590
|
+
|
|
591
|
+
```html
|
|
592
|
+
<!-- These are IDENTICAL -->
|
|
593
|
+
<div class="bg-primary">Primary</div>
|
|
594
|
+
<div class="bg-primary-default">Primary</div>
|
|
595
|
+
|
|
596
|
+
<div class="text-error">Error</div>
|
|
597
|
+
<div class="text-error-default">Error</div>
|
|
598
|
+
|
|
599
|
+
<div class="bg-warning">Warning</div>
|
|
600
|
+
<div class="bg-warning-default">Warning</div>
|
|
601
|
+
|
|
602
|
+
<div class="border-success">Success</div>
|
|
603
|
+
<div class="border-success-default">Success</div>
|
|
604
|
+
```
|
|
605
|
+
|
|
606
|
+
### All Available Color Utilities
|
|
607
|
+
|
|
608
|
+
**Core Colors** (primary, secondary, tertiary):
|
|
609
|
+
```html
|
|
610
|
+
<!-- Background utilities -->
|
|
611
|
+
<div class="bg-primary">Primary</div>
|
|
612
|
+
<div class="bg-primary-default">Primary default (same as above)</div>
|
|
613
|
+
<div class="bg-primary-container">Primary container</div>
|
|
614
|
+
<div class="bg-on-primary">On primary</div>
|
|
615
|
+
<div class="bg-on-primary-container">On primary container</div>
|
|
616
|
+
|
|
617
|
+
<!-- Text utilities (same pattern) -->
|
|
618
|
+
<div class="text-secondary">Secondary text</div>
|
|
619
|
+
<div class="text-secondary-container">Secondary container text</div>
|
|
620
|
+
|
|
621
|
+
<!-- Border utilities (same pattern) -->
|
|
622
|
+
<div class="border-tertiary">Tertiary border</div>
|
|
623
|
+
```
|
|
624
|
+
|
|
625
|
+
**Semantic Colors** (error, warning, success, info):
|
|
626
|
+
```html
|
|
627
|
+
<!-- Error -->
|
|
628
|
+
<div class="bg-error">Error</div>
|
|
629
|
+
<div class="bg-error-container">Error container</div>
|
|
630
|
+
<div class="text-error">Error text</div>
|
|
631
|
+
<div class="text-on-error">On error text</div>
|
|
632
|
+
|
|
633
|
+
<!-- Warning -->
|
|
634
|
+
<div class="bg-warning">Warning</div>
|
|
635
|
+
<div class="bg-warning-container">Warning container</div>
|
|
636
|
+
<div class="text-warning">Warning text</div>
|
|
637
|
+
<div class="border-warning">Warning border</div>
|
|
638
|
+
|
|
639
|
+
<!-- Success -->
|
|
640
|
+
<div class="bg-success">Success</div>
|
|
641
|
+
<div class="bg-success-container">Success container</div>
|
|
642
|
+
|
|
643
|
+
<!-- Info -->
|
|
644
|
+
<div class="bg-info">Info</div>
|
|
645
|
+
<div class="bg-info-container">Info container</div>
|
|
646
|
+
```
|
|
647
|
+
|
|
648
|
+
**All utilities support standard Tailwind prefixes**:
|
|
649
|
+
- `bg-*` - Background colors
|
|
650
|
+
- `text-*` - Text colors
|
|
651
|
+
- `border-*` - Border colors
|
|
652
|
+
- `ring-*` - Ring colors
|
|
653
|
+
- `decoration-*` - Text decoration colors
|
|
654
|
+
- `divide-*` - Divider colors
|
|
655
|
+
- `outline-*` - Outline colors
|
|
656
|
+
- `fill-*` - SVG fill colors
|
|
657
|
+
- `stroke-*` - SVG stroke colors
|
|
658
|
+
|
|
659
|
+
### Pattern Summary
|
|
660
|
+
|
|
661
|
+
Every color role has **four variants**:
|
|
662
|
+
1. `{color}` or `{color}-default` - Main color (aliases)
|
|
663
|
+
2. `on-{color}` - Text/content on the color
|
|
664
|
+
3. `{color}-container` - Container/background variant
|
|
665
|
+
4. `on-{color}-container` - Text/content on container
|
|
666
|
+
|
|
667
|
+
Applied to all colors:
|
|
668
|
+
- **Core**: `primary`, `secondary`, `tertiary`
|
|
669
|
+
- **Semantic**: `error`, `warning`, `success`, `info`
|
|
670
|
+
- **Surfaces**: `surface`, `surface-dim`, `surface-bright`, `surface-container-*`
|
|
671
|
+
|
|
579
672
|
## Complete CSS Variable Reference
|
|
580
673
|
|
|
581
674
|
All tokens are available as CSS variables with `--schmancy-` prefix:
|
|
@@ -992,7 +1085,8 @@ theme.setColor('#6750A4') // Generates 100+ tokens
|
|
|
992
1085
|
## Summary
|
|
993
1086
|
|
|
994
1087
|
The theme service provides a complete Material Design 3 implementation with:
|
|
995
|
-
- 🎨 **Extended color system** with semantic colors
|
|
1088
|
+
- 🎨 **Extended color system** with semantic colors (error, warning, success, info)
|
|
1089
|
+
- 🎨 **Tailwind utilities** with convenient aliases (`bg-primary` = `bg-primary-default`)
|
|
996
1090
|
- 📐 **Complete surface hierarchy** for proper elevation
|
|
997
1091
|
- 🔤 **Full typography scale** across 5 categories
|
|
998
1092
|
- 🎬 **Sophisticated motion system** with easing and duration
|
|
@@ -1003,4 +1097,11 @@ The theme service provides a complete Material Design 3 implementation with:
|
|
|
1003
1097
|
- 🎯 **Ready-to-use controls** component
|
|
1004
1098
|
- ⚡ **Reactive observables** for all properties
|
|
1005
1099
|
|
|
1006
|
-
Use the theme service as your single source of truth for all design tokens and theming needs.
|
|
1100
|
+
Use the theme service as your single source of truth for all design tokens and theming needs.
|
|
1101
|
+
|
|
1102
|
+
### Quick Reference
|
|
1103
|
+
|
|
1104
|
+
**Colors**: primary, secondary, tertiary, error, warning, success, info
|
|
1105
|
+
**Each color has**: default, on, container, onContainer variants
|
|
1106
|
+
**Tailwind**: All colors work with bg-*, text-*, border-*, ring-* prefixes
|
|
1107
|
+
**Aliases**: Base names (e.g., `bg-error`) automatically resolve to `-default` variants
|
|
@@ -3,8 +3,8 @@ import "rxjs/operators";
|
|
|
3
3
|
import "lit/directives/class-map.js";
|
|
4
4
|
import "lit/directives/style-map.js";
|
|
5
5
|
import { property as a, queryAssignedNodes as x, query as m, customElement as S } from "lit/decorators.js";
|
|
6
|
-
import "./tailwind.mixin-
|
|
7
|
-
import { $ as Z } from "./litElement.mixin-
|
|
6
|
+
import "./tailwind.mixin-N1MaFaUo.js";
|
|
7
|
+
import { $ as Z } from "./litElement.mixin-DYomCqIu.js";
|
|
8
8
|
import { css as v, html as A } from "lit";
|
|
9
9
|
var E = Object.defineProperty, O = Object.getOwnPropertyDescriptor, e = (r, s, n, i) => {
|
|
10
10
|
for (var l, o = i > 1 ? void 0 : i ? O(s, n) : s, p = r.length - 1; p >= 0; p--) (l = r[p]) && (o = (i ? l(s, n, o) : l(o)) || o);
|
|
@@ -73,4 +73,4 @@ let t = class extends Z(v`
|
|
|
73
73
|
}
|
|
74
74
|
};
|
|
75
75
|
e([a({ type: String })], t.prototype, "ease", 2), e([a({ type: Number })], t.prototype, "delay", 2), e([a({ type: Number })], t.prototype, "stagger", 2), e([a({ type: Number })], t.prototype, "duration", 2), e([a({ type: Array })], t.prototype, "scale", 2), e([a({ type: Array })], t.prototype, "opacity", 2), e([a({ type: Array })], t.prototype, "translateX", 2), e([a({ type: Array })], t.prototype, "translateY", 2), e([a({ type: Array })], t.prototype, "translateZ", 2), e([a({ type: Array })], t.prototype, "rotateZ", 2), e([a({ type: Boolean })], t.prototype, "resetOnScroll", 2), e([x()], t.prototype, "defaultSlot", 2), e([m(".letters")], t.prototype, "letters", 2), e([m(".ml7")], t.prototype, "ml7", 2), t = e([S("schmancy-animated-text")], t);
|
|
76
|
-
//# sourceMappingURL=animated-text-
|
|
76
|
+
//# sourceMappingURL=animated-text-B8iGYrYI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animated-text-CXkLixsn.js","sources":["../src/animated-text/animated-text.ts"],"sourcesContent":["// Removed: import { createTimeline, stagger } from '@packages/anime-beta-master'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedNodes } from 'lit/decorators.js'\nimport {\n\tconcat,\n\tdistinctUntilChanged,\n\tfilter,\n\tfromEvent,\n\tinterval,\n\tmap,\n\tstartWith,\n\ttake,\n\ttap,\n\tthrottleTime,\n} from 'rxjs'\n\n/**\n * @element schmancy-animated-text\n * Inspired by https://tobiasahlin.com/moving-letters/#1\n */\n@customElement('schmancy-animated-text')\nexport default class SchmancyAnimatedText extends $LitElement(css`\n\t:host {\n\t\tfont-family: inherit;\n\t\tdisplay: block;\n\t}\n\t.ml7 {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t}\n\t.ml7 .text-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t\toverflow: hidden;\n\t}\n\t.ml7 .letter {\n\t\ttransform-origin: 0 100%;\n\t\tdisplay: inline-block;\n\t\topacity: 0;\n\t}\n`) {\n\t@property({ type: String }) ease = 'outExpo' // not a built-in string for Web Animations\n\t@property({ type: Number }) delay = 0\n\t@property({ type: Number }) stagger = 50\n\t@property({ type: Number }) duration = 750\n\t@property({ type: Array }) scale = [0, 1]\n\t@property({ type: Array }) opacity = [0, 1]\n\t@property({ type: Array }) translateX = ['0.55em', '0em']\n\t@property({ type: Array }) translateY = ['1.1em', '0em']\n\t@property({ type: Array }) translateZ = [0, 0]\n\t@property({ type: Array }) rotateZ = [180, 0]\n\t@property({ type: Boolean }) resetOnScroll = true\n\n\t@queryAssignedNodes() defaultSlot!: HTMLElement[]\n\t@query('.letters') letters!: HTMLElement\n\t@query('.ml7') ml7!: HTMLElement\n\n\t// Function to check if an element is in the viewport\n\tisInViewport(element: HTMLElement) {\n\t\tconst rect = element.getBoundingClientRect()\n\t\treturn (\n\t\t\trect.top >= 0 &&\n\t\t\trect.left >= 0 &&\n\t\t\trect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n\t\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t\t)\n\t}\n\n\tasync firstUpdated() {\n\t\t// Split the text into <span class=\"letter\"> ... </span> elements\n\t\tthis.letters.innerHTML = this.defaultSlot[0].textContent!.replace(/\\S/g, `<span class=\"letter\">$&</span>`)\n\n\t\t// Observe viewport + initial readiness\n\t\tconcat(\n\t\t\t// 1) Wait until the element is rendered (width/height > 0)\n\t\t\tinterval(10).pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tfilter(() => {\n\t\t\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\t\t\treturn rect.width > 0 && rect.height > 0\n\t\t\t\t}),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) Then handle scroll events, throttled\n\t\t\tfromEvent(window, 'scroll').pipe(\n\t\t\t\tthrottleTime(0, undefined, {\n\t\t\t\t\tleading: true,\n\t\t\t\t\ttrailing: true,\n\t\t\t\t}),\n\t\t\t\tstartWith(true),\n\t\t\t\tmap(() => this.isInViewport(this)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(inViewport => {\n\t\t\t\t\t// If leaving viewport and `resetOnScroll` is true, reset letters to opacity 0\n\t\t\t\t\tif (!inViewport && this.resetOnScroll) {\n\t\t\t\t\t\tArray.from(this.letters.children).forEach((letter: HTMLElement) => {\n\t\t\t\t\t\t\tletter.style.opacity = '0'\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tfilter(isInViewport => isInViewport),\n\t\t\t\t// If resetOnScroll = false, animate only the first time inView. If true, repeat.\n\t\t\t\tthis.resetOnScroll ? tap() : take(1),\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\t// Animate letters with the native Web Animations API\n\t\t\t\t\t\tconst letters = this.shadowRoot!.querySelectorAll<HTMLElement>('.ml7 .letter')\n\n\t\t\t\t\t\tletters.forEach((letter, i) => {\n\t\t\t\t\t\t\t// Combine all transforms into one CSS transform string\n\t\t\t\t\t\t\t// From\n\t\t\t\t\t\t\tconst fromTransform = `\n translate3d(${this.translateX[0]}, ${this.translateY[0]}, ${this.translateZ[0]}px)\n rotateZ(${this.rotateZ[0]}deg)\n scale(${this.scale[0]})\n `\n\t\t\t\t\t\t\t// To\n\t\t\t\t\t\t\tconst toTransform = `\n translate3d(${this.translateX[1]}, ${this.translateY[1]}, ${this.translateZ[1]}px)\n rotateZ(${this.rotateZ[1]}deg)\n scale(${this.scale[1]})\n `\n\t\t\t\t\t\t\t// Approximate `outExpo` or pick a standard easing (like 'ease-out'):\n\t\t\t\t\t\t\t// outExpo often approximated by cubic-bezier(0.19, 1, 0.22, 1)\n\t\t\t\t\t\t\tconst easingMap: Record<string, string> = {\n\t\t\t\t\t\t\t\toutExpo: 'cubic-bezier(0.19, 1, 0.22, 1)',\n\t\t\t\t\t\t\t\t// add more if you want\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst keyframes: Keyframe[] = [\n\t\t\t\t\t\t\t\t{ transform: fromTransform, opacity: String(this.opacity[0]) },\n\t\t\t\t\t\t\t\t{ transform: toTransform, opacity: String(this.opacity[1]) },\n\t\t\t\t\t\t\t]\n\n\t\t\t\t\t\t\tletter.animate(keyframes, {\n\t\t\t\t\t\t\t\tduration: this.duration,\n\t\t\t\t\t\t\t\teasing: easingMap[this.ease] || 'ease-out',\n\t\t\t\t\t\t\t\tdelay: this.delay + i * this.stagger, // staggered start\n\t\t\t\t\t\t\t\tfill: 'forwards', // so the letters remain visible\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t).subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<span class=\"ml7\">\n\t\t\t\t<span class=\"text-wrapper\">\n\t\t\t\t\t<span class=\"letters\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-animated-text': SchmancyAnimatedText\n\t}\n}\n"],"names":["SchmancyAnimatedText","$LitElement","css","constructor","super","arguments","this","ease","delay","stagger","duration","scale","opacity","translateX","translateY","translateZ","rotateZ","resetOnScroll","element","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","firstUpdated","letters","innerHTML","defaultSlot","textContent","replace","concat","interval","pipe","startWith","filter","width","height","take","fromEvent","throttleTime","leading","trailing","map","isInViewport","distinctUntilChanged","tap","inViewport","Array","from","children","forEach","letter","style","next","shadowRoot","querySelectorAll","i","fromTransform","toTransform","keyframes","transform","String","animate","easing","outExpo","fill","subscribe","render","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"animated-text-B8iGYrYI.js","sources":["../src/animated-text/animated-text.ts"],"sourcesContent":["// Removed: import { createTimeline, stagger } from '@packages/anime-beta-master'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedNodes } from 'lit/decorators.js'\nimport {\n\tconcat,\n\tdistinctUntilChanged,\n\tfilter,\n\tfromEvent,\n\tinterval,\n\tmap,\n\tstartWith,\n\ttake,\n\ttap,\n\tthrottleTime,\n} from 'rxjs'\n\n/**\n * @element schmancy-animated-text\n * Inspired by https://tobiasahlin.com/moving-letters/#1\n */\n@customElement('schmancy-animated-text')\nexport default class SchmancyAnimatedText extends $LitElement(css`\n\t:host {\n\t\tfont-family: inherit;\n\t\tdisplay: block;\n\t}\n\t.ml7 {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t}\n\t.ml7 .text-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t\toverflow: hidden;\n\t}\n\t.ml7 .letter {\n\t\ttransform-origin: 0 100%;\n\t\tdisplay: inline-block;\n\t\topacity: 0;\n\t}\n`) {\n\t@property({ type: String }) ease = 'outExpo' // not a built-in string for Web Animations\n\t@property({ type: Number }) delay = 0\n\t@property({ type: Number }) stagger = 50\n\t@property({ type: Number }) duration = 750\n\t@property({ type: Array }) scale = [0, 1]\n\t@property({ type: Array }) opacity = [0, 1]\n\t@property({ type: Array }) translateX = ['0.55em', '0em']\n\t@property({ type: Array }) translateY = ['1.1em', '0em']\n\t@property({ type: Array }) translateZ = [0, 0]\n\t@property({ type: Array }) rotateZ = [180, 0]\n\t@property({ type: Boolean }) resetOnScroll = true\n\n\t@queryAssignedNodes() defaultSlot!: HTMLElement[]\n\t@query('.letters') letters!: HTMLElement\n\t@query('.ml7') ml7!: HTMLElement\n\n\t// Function to check if an element is in the viewport\n\tisInViewport(element: HTMLElement) {\n\t\tconst rect = element.getBoundingClientRect()\n\t\treturn (\n\t\t\trect.top >= 0 &&\n\t\t\trect.left >= 0 &&\n\t\t\trect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n\t\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t\t)\n\t}\n\n\tasync firstUpdated() {\n\t\t// Split the text into <span class=\"letter\"> ... </span> elements\n\t\tthis.letters.innerHTML = this.defaultSlot[0].textContent!.replace(/\\S/g, `<span class=\"letter\">$&</span>`)\n\n\t\t// Observe viewport + initial readiness\n\t\tconcat(\n\t\t\t// 1) Wait until the element is rendered (width/height > 0)\n\t\t\tinterval(10).pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tfilter(() => {\n\t\t\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\t\t\treturn rect.width > 0 && rect.height > 0\n\t\t\t\t}),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) Then handle scroll events, throttled\n\t\t\tfromEvent(window, 'scroll').pipe(\n\t\t\t\tthrottleTime(0, undefined, {\n\t\t\t\t\tleading: true,\n\t\t\t\t\ttrailing: true,\n\t\t\t\t}),\n\t\t\t\tstartWith(true),\n\t\t\t\tmap(() => this.isInViewport(this)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(inViewport => {\n\t\t\t\t\t// If leaving viewport and `resetOnScroll` is true, reset letters to opacity 0\n\t\t\t\t\tif (!inViewport && this.resetOnScroll) {\n\t\t\t\t\t\tArray.from(this.letters.children).forEach((letter: HTMLElement) => {\n\t\t\t\t\t\t\tletter.style.opacity = '0'\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tfilter(isInViewport => isInViewport),\n\t\t\t\t// If resetOnScroll = false, animate only the first time inView. If true, repeat.\n\t\t\t\tthis.resetOnScroll ? tap() : take(1),\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\t// Animate letters with the native Web Animations API\n\t\t\t\t\t\tconst letters = this.shadowRoot!.querySelectorAll<HTMLElement>('.ml7 .letter')\n\n\t\t\t\t\t\tletters.forEach((letter, i) => {\n\t\t\t\t\t\t\t// Combine all transforms into one CSS transform string\n\t\t\t\t\t\t\t// From\n\t\t\t\t\t\t\tconst fromTransform = `\n translate3d(${this.translateX[0]}, ${this.translateY[0]}, ${this.translateZ[0]}px)\n rotateZ(${this.rotateZ[0]}deg)\n scale(${this.scale[0]})\n `\n\t\t\t\t\t\t\t// To\n\t\t\t\t\t\t\tconst toTransform = `\n translate3d(${this.translateX[1]}, ${this.translateY[1]}, ${this.translateZ[1]}px)\n rotateZ(${this.rotateZ[1]}deg)\n scale(${this.scale[1]})\n `\n\t\t\t\t\t\t\t// Approximate `outExpo` or pick a standard easing (like 'ease-out'):\n\t\t\t\t\t\t\t// outExpo often approximated by cubic-bezier(0.19, 1, 0.22, 1)\n\t\t\t\t\t\t\tconst easingMap: Record<string, string> = {\n\t\t\t\t\t\t\t\toutExpo: 'cubic-bezier(0.19, 1, 0.22, 1)',\n\t\t\t\t\t\t\t\t// add more if you want\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst keyframes: Keyframe[] = [\n\t\t\t\t\t\t\t\t{ transform: fromTransform, opacity: String(this.opacity[0]) },\n\t\t\t\t\t\t\t\t{ transform: toTransform, opacity: String(this.opacity[1]) },\n\t\t\t\t\t\t\t]\n\n\t\t\t\t\t\t\tletter.animate(keyframes, {\n\t\t\t\t\t\t\t\tduration: this.duration,\n\t\t\t\t\t\t\t\teasing: easingMap[this.ease] || 'ease-out',\n\t\t\t\t\t\t\t\tdelay: this.delay + i * this.stagger, // staggered start\n\t\t\t\t\t\t\t\tfill: 'forwards', // so the letters remain visible\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t).subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<span class=\"ml7\">\n\t\t\t\t<span class=\"text-wrapper\">\n\t\t\t\t\t<span class=\"letters\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-animated-text': SchmancyAnimatedText\n\t}\n}\n"],"names":["SchmancyAnimatedText","$LitElement","css","constructor","super","arguments","this","ease","delay","stagger","duration","scale","opacity","translateX","translateY","translateZ","rotateZ","resetOnScroll","element","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","firstUpdated","letters","innerHTML","defaultSlot","textContent","replace","concat","interval","pipe","startWith","filter","width","height","take","fromEvent","throttleTime","leading","trailing","map","isInViewport","distinctUntilChanged","tap","inViewport","Array","from","children","forEach","letter","style","next","shadowRoot","querySelectorAll","i","fromTransform","toTransform","keyframes","transform","String","animate","easing","outExpo","fill","subscribe","render","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const e=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const r=require("lit/decorators.js");require("./tailwind.mixin-
|
|
1
|
+
"use strict";const e=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const r=require("lit/decorators.js");require("./tailwind.mixin-I9Q1jeEr.cjs");const h=require("./litElement.mixin-BfKE8dJc.cjs"),c=require("lit");var d=Object.defineProperty,u=Object.getOwnPropertyDescriptor,s=(i,a,p,n)=>{for(var l,o=n>1?void 0:n?u(a,p):a,y=i.length-1;y>=0;y--)(l=i[y])&&(o=(n?l(a,p,o):l(o))||o);return n&&o&&d(a,p,o),o};let t=class extends h.$LitElement(c.css`
|
|
2
2
|
:host {
|
|
3
3
|
font-family: inherit;
|
|
4
4
|
display: block;
|
|
@@ -34,4 +34,4 @@
|
|
|
34
34
|
</span>
|
|
35
35
|
</span>
|
|
36
36
|
`}};s([r.property({type:String})],t.prototype,"ease",2),s([r.property({type:Number})],t.prototype,"delay",2),s([r.property({type:Number})],t.prototype,"stagger",2),s([r.property({type:Number})],t.prototype,"duration",2),s([r.property({type:Array})],t.prototype,"scale",2),s([r.property({type:Array})],t.prototype,"opacity",2),s([r.property({type:Array})],t.prototype,"translateX",2),s([r.property({type:Array})],t.prototype,"translateY",2),s([r.property({type:Array})],t.prototype,"translateZ",2),s([r.property({type:Array})],t.prototype,"rotateZ",2),s([r.property({type:Boolean})],t.prototype,"resetOnScroll",2),s([r.queryAssignedNodes()],t.prototype,"defaultSlot",2),s([r.query(".letters")],t.prototype,"letters",2),s([r.query(".ml7")],t.prototype,"ml7",2),t=s([r.customElement("schmancy-animated-text")],t);
|
|
37
|
-
//# sourceMappingURL=animated-text-
|
|
37
|
+
//# sourceMappingURL=animated-text-Cp_4seiu.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animated-text-DwlmOCAu.cjs","sources":["../src/animated-text/animated-text.ts"],"sourcesContent":["// Removed: import { createTimeline, stagger } from '@packages/anime-beta-master'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedNodes } from 'lit/decorators.js'\nimport {\n\tconcat,\n\tdistinctUntilChanged,\n\tfilter,\n\tfromEvent,\n\tinterval,\n\tmap,\n\tstartWith,\n\ttake,\n\ttap,\n\tthrottleTime,\n} from 'rxjs'\n\n/**\n * @element schmancy-animated-text\n * Inspired by https://tobiasahlin.com/moving-letters/#1\n */\n@customElement('schmancy-animated-text')\nexport default class SchmancyAnimatedText extends $LitElement(css`\n\t:host {\n\t\tfont-family: inherit;\n\t\tdisplay: block;\n\t}\n\t.ml7 {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t}\n\t.ml7 .text-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t\toverflow: hidden;\n\t}\n\t.ml7 .letter {\n\t\ttransform-origin: 0 100%;\n\t\tdisplay: inline-block;\n\t\topacity: 0;\n\t}\n`) {\n\t@property({ type: String }) ease = 'outExpo' // not a built-in string for Web Animations\n\t@property({ type: Number }) delay = 0\n\t@property({ type: Number }) stagger = 50\n\t@property({ type: Number }) duration = 750\n\t@property({ type: Array }) scale = [0, 1]\n\t@property({ type: Array }) opacity = [0, 1]\n\t@property({ type: Array }) translateX = ['0.55em', '0em']\n\t@property({ type: Array }) translateY = ['1.1em', '0em']\n\t@property({ type: Array }) translateZ = [0, 0]\n\t@property({ type: Array }) rotateZ = [180, 0]\n\t@property({ type: Boolean }) resetOnScroll = true\n\n\t@queryAssignedNodes() defaultSlot!: HTMLElement[]\n\t@query('.letters') letters!: HTMLElement\n\t@query('.ml7') ml7!: HTMLElement\n\n\t// Function to check if an element is in the viewport\n\tisInViewport(element: HTMLElement) {\n\t\tconst rect = element.getBoundingClientRect()\n\t\treturn (\n\t\t\trect.top >= 0 &&\n\t\t\trect.left >= 0 &&\n\t\t\trect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n\t\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t\t)\n\t}\n\n\tasync firstUpdated() {\n\t\t// Split the text into <span class=\"letter\"> ... </span> elements\n\t\tthis.letters.innerHTML = this.defaultSlot[0].textContent!.replace(/\\S/g, `<span class=\"letter\">$&</span>`)\n\n\t\t// Observe viewport + initial readiness\n\t\tconcat(\n\t\t\t// 1) Wait until the element is rendered (width/height > 0)\n\t\t\tinterval(10).pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tfilter(() => {\n\t\t\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\t\t\treturn rect.width > 0 && rect.height > 0\n\t\t\t\t}),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) Then handle scroll events, throttled\n\t\t\tfromEvent(window, 'scroll').pipe(\n\t\t\t\tthrottleTime(0, undefined, {\n\t\t\t\t\tleading: true,\n\t\t\t\t\ttrailing: true,\n\t\t\t\t}),\n\t\t\t\tstartWith(true),\n\t\t\t\tmap(() => this.isInViewport(this)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(inViewport => {\n\t\t\t\t\t// If leaving viewport and `resetOnScroll` is true, reset letters to opacity 0\n\t\t\t\t\tif (!inViewport && this.resetOnScroll) {\n\t\t\t\t\t\tArray.from(this.letters.children).forEach((letter: HTMLElement) => {\n\t\t\t\t\t\t\tletter.style.opacity = '0'\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tfilter(isInViewport => isInViewport),\n\t\t\t\t// If resetOnScroll = false, animate only the first time inView. If true, repeat.\n\t\t\t\tthis.resetOnScroll ? tap() : take(1),\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\t// Animate letters with the native Web Animations API\n\t\t\t\t\t\tconst letters = this.shadowRoot!.querySelectorAll<HTMLElement>('.ml7 .letter')\n\n\t\t\t\t\t\tletters.forEach((letter, i) => {\n\t\t\t\t\t\t\t// Combine all transforms into one CSS transform string\n\t\t\t\t\t\t\t// From\n\t\t\t\t\t\t\tconst fromTransform = `\n translate3d(${this.translateX[0]}, ${this.translateY[0]}, ${this.translateZ[0]}px)\n rotateZ(${this.rotateZ[0]}deg)\n scale(${this.scale[0]})\n `\n\t\t\t\t\t\t\t// To\n\t\t\t\t\t\t\tconst toTransform = `\n translate3d(${this.translateX[1]}, ${this.translateY[1]}, ${this.translateZ[1]}px)\n rotateZ(${this.rotateZ[1]}deg)\n scale(${this.scale[1]})\n `\n\t\t\t\t\t\t\t// Approximate `outExpo` or pick a standard easing (like 'ease-out'):\n\t\t\t\t\t\t\t// outExpo often approximated by cubic-bezier(0.19, 1, 0.22, 1)\n\t\t\t\t\t\t\tconst easingMap: Record<string, string> = {\n\t\t\t\t\t\t\t\toutExpo: 'cubic-bezier(0.19, 1, 0.22, 1)',\n\t\t\t\t\t\t\t\t// add more if you want\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst keyframes: Keyframe[] = [\n\t\t\t\t\t\t\t\t{ transform: fromTransform, opacity: String(this.opacity[0]) },\n\t\t\t\t\t\t\t\t{ transform: toTransform, opacity: String(this.opacity[1]) },\n\t\t\t\t\t\t\t]\n\n\t\t\t\t\t\t\tletter.animate(keyframes, {\n\t\t\t\t\t\t\t\tduration: this.duration,\n\t\t\t\t\t\t\t\teasing: easingMap[this.ease] || 'ease-out',\n\t\t\t\t\t\t\t\tdelay: this.delay + i * this.stagger, // staggered start\n\t\t\t\t\t\t\t\tfill: 'forwards', // so the letters remain visible\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t).subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<span class=\"ml7\">\n\t\t\t\t<span class=\"text-wrapper\">\n\t\t\t\t\t<span class=\"letters\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-animated-text': SchmancyAnimatedText\n\t}\n}\n"],"names":["SchmancyAnimatedText","$LitElement","css","constructor","super","arguments","this","ease","delay","stagger","duration","scale","opacity","translateX","translateY","translateZ","rotateZ","resetOnScroll","element","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","firstUpdated","letters","innerHTML","defaultSlot","textContent","replace","concat","interval","pipe","startWith","filter","width","height","take","fromEvent","throttleTime","leading","trailing","map","isInViewport","distinctUntilChanged","tap","inViewport","Array","from","children","forEach","letter","style","next","shadowRoot","querySelectorAll","i","fromTransform","toTransform","keyframes","transform","String","animate","easing","outExpo","fill","subscribe","render","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"animated-text-Cp_4seiu.cjs","sources":["../src/animated-text/animated-text.ts"],"sourcesContent":["// Removed: import { createTimeline, stagger } from '@packages/anime-beta-master'\nimport { $LitElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, query, queryAssignedNodes } from 'lit/decorators.js'\nimport {\n\tconcat,\n\tdistinctUntilChanged,\n\tfilter,\n\tfromEvent,\n\tinterval,\n\tmap,\n\tstartWith,\n\ttake,\n\ttap,\n\tthrottleTime,\n} from 'rxjs'\n\n/**\n * @element schmancy-animated-text\n * Inspired by https://tobiasahlin.com/moving-letters/#1\n */\n@customElement('schmancy-animated-text')\nexport default class SchmancyAnimatedText extends $LitElement(css`\n\t:host {\n\t\tfont-family: inherit;\n\t\tdisplay: block;\n\t}\n\t.ml7 {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t}\n\t.ml7 .text-wrapper {\n\t\tposition: relative;\n\t\tdisplay: inline-block;\n\t\toverflow: hidden;\n\t}\n\t.ml7 .letter {\n\t\ttransform-origin: 0 100%;\n\t\tdisplay: inline-block;\n\t\topacity: 0;\n\t}\n`) {\n\t@property({ type: String }) ease = 'outExpo' // not a built-in string for Web Animations\n\t@property({ type: Number }) delay = 0\n\t@property({ type: Number }) stagger = 50\n\t@property({ type: Number }) duration = 750\n\t@property({ type: Array }) scale = [0, 1]\n\t@property({ type: Array }) opacity = [0, 1]\n\t@property({ type: Array }) translateX = ['0.55em', '0em']\n\t@property({ type: Array }) translateY = ['1.1em', '0em']\n\t@property({ type: Array }) translateZ = [0, 0]\n\t@property({ type: Array }) rotateZ = [180, 0]\n\t@property({ type: Boolean }) resetOnScroll = true\n\n\t@queryAssignedNodes() defaultSlot!: HTMLElement[]\n\t@query('.letters') letters!: HTMLElement\n\t@query('.ml7') ml7!: HTMLElement\n\n\t// Function to check if an element is in the viewport\n\tisInViewport(element: HTMLElement) {\n\t\tconst rect = element.getBoundingClientRect()\n\t\treturn (\n\t\t\trect.top >= 0 &&\n\t\t\trect.left >= 0 &&\n\t\t\trect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n\t\t\trect.right <= (window.innerWidth || document.documentElement.clientWidth)\n\t\t)\n\t}\n\n\tasync firstUpdated() {\n\t\t// Split the text into <span class=\"letter\"> ... </span> elements\n\t\tthis.letters.innerHTML = this.defaultSlot[0].textContent!.replace(/\\S/g, `<span class=\"letter\">$&</span>`)\n\n\t\t// Observe viewport + initial readiness\n\t\tconcat(\n\t\t\t// 1) Wait until the element is rendered (width/height > 0)\n\t\t\tinterval(10).pipe(\n\t\t\t\tstartWith(true),\n\t\t\t\tfilter(() => {\n\t\t\t\t\tconst rect = this.getBoundingClientRect()\n\t\t\t\t\treturn rect.width > 0 && rect.height > 0\n\t\t\t\t}),\n\t\t\t\ttake(1),\n\t\t\t),\n\t\t\t// 2) Then handle scroll events, throttled\n\t\t\tfromEvent(window, 'scroll').pipe(\n\t\t\t\tthrottleTime(0, undefined, {\n\t\t\t\t\tleading: true,\n\t\t\t\t\ttrailing: true,\n\t\t\t\t}),\n\t\t\t\tstartWith(true),\n\t\t\t\tmap(() => this.isInViewport(this)),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(inViewport => {\n\t\t\t\t\t// If leaving viewport and `resetOnScroll` is true, reset letters to opacity 0\n\t\t\t\t\tif (!inViewport && this.resetOnScroll) {\n\t\t\t\t\t\tArray.from(this.letters.children).forEach((letter: HTMLElement) => {\n\t\t\t\t\t\t\tletter.style.opacity = '0'\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tfilter(isInViewport => isInViewport),\n\t\t\t\t// If resetOnScroll = false, animate only the first time inView. If true, repeat.\n\t\t\t\tthis.resetOnScroll ? tap() : take(1),\n\t\t\t\ttap({\n\t\t\t\t\tnext: () => {\n\t\t\t\t\t\t// Animate letters with the native Web Animations API\n\t\t\t\t\t\tconst letters = this.shadowRoot!.querySelectorAll<HTMLElement>('.ml7 .letter')\n\n\t\t\t\t\t\tletters.forEach((letter, i) => {\n\t\t\t\t\t\t\t// Combine all transforms into one CSS transform string\n\t\t\t\t\t\t\t// From\n\t\t\t\t\t\t\tconst fromTransform = `\n translate3d(${this.translateX[0]}, ${this.translateY[0]}, ${this.translateZ[0]}px)\n rotateZ(${this.rotateZ[0]}deg)\n scale(${this.scale[0]})\n `\n\t\t\t\t\t\t\t// To\n\t\t\t\t\t\t\tconst toTransform = `\n translate3d(${this.translateX[1]}, ${this.translateY[1]}, ${this.translateZ[1]}px)\n rotateZ(${this.rotateZ[1]}deg)\n scale(${this.scale[1]})\n `\n\t\t\t\t\t\t\t// Approximate `outExpo` or pick a standard easing (like 'ease-out'):\n\t\t\t\t\t\t\t// outExpo often approximated by cubic-bezier(0.19, 1, 0.22, 1)\n\t\t\t\t\t\t\tconst easingMap: Record<string, string> = {\n\t\t\t\t\t\t\t\toutExpo: 'cubic-bezier(0.19, 1, 0.22, 1)',\n\t\t\t\t\t\t\t\t// add more if you want\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst keyframes: Keyframe[] = [\n\t\t\t\t\t\t\t\t{ transform: fromTransform, opacity: String(this.opacity[0]) },\n\t\t\t\t\t\t\t\t{ transform: toTransform, opacity: String(this.opacity[1]) },\n\t\t\t\t\t\t\t]\n\n\t\t\t\t\t\t\tletter.animate(keyframes, {\n\t\t\t\t\t\t\t\tduration: this.duration,\n\t\t\t\t\t\t\t\teasing: easingMap[this.ease] || 'ease-out',\n\t\t\t\t\t\t\t\tdelay: this.delay + i * this.stagger, // staggered start\n\t\t\t\t\t\t\t\tfill: 'forwards', // so the letters remain visible\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t).subscribe()\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<span class=\"ml7\">\n\t\t\t\t<span class=\"text-wrapper\">\n\t\t\t\t\t<span class=\"letters\">\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-animated-text': SchmancyAnimatedText\n\t}\n}\n"],"names":["SchmancyAnimatedText","$LitElement","css","constructor","super","arguments","this","ease","delay","stagger","duration","scale","opacity","translateX","translateY","translateZ","rotateZ","resetOnScroll","element","rect","getBoundingClientRect","top","left","bottom","window","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","firstUpdated","letters","innerHTML","defaultSlot","textContent","replace","concat","interval","pipe","startWith","filter","width","height","take","fromEvent","throttleTime","leading","trailing","map","isInViewport","distinctUntilChanged","tap","inViewport","Array","from","children","forEach","letter","style","next","shadowRoot","querySelectorAll","i","fromTransform","toTransform","keyframes","transform","String","animate","easing","outExpo","fill","subscribe","render","html","__decorateClass","property","type","prototype","Number","Boolean","queryAssignedNodes","query","customElement"],"mappings":"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"}
|
package/dist/animated-text.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";require("./animated-text-
|
|
1
|
+
"use strict";require("./animated-text-Cp_4seiu.cjs");
|
|
2
2
|
//# sourceMappingURL=animated-text.cjs.map
|
package/dist/animated-text.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "./animated-text-
|
|
1
|
+
import "./animated-text-B8iGYrYI.js";
|
|
2
2
|
//# sourceMappingURL=animated-text.js.map
|
package/dist/area.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./area.component-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./area.component-CCwwAl-Y.cjs"),e=require("./utils-C38P63L6.cjs");exports.FINDING_MORTIES=t.FINDING_MORTIES,exports.HERE_RICKY=t.HERE_RICKY,exports.HISTORY_STRATEGY=t.HISTORY_STRATEGY,Object.defineProperty(exports,"SchmancyArea",{enumerable:!0,get:()=>t.SchmancyArea}),Object.defineProperty(exports,"SchmancyRoute",{enumerable:!0,get:()=>t.SchmancyRoute}),exports.area=t.area,exports.routerHistory=t.routerHistory,exports.buildQueryString=e.buildQueryString,exports.compareActiveRoutes=e.compareActiveRoutes,exports.compareCustomElementConstructors=e.compareCustomElementConstructors,exports.compareRouteActions=e.compareRouteActions,exports.createRouteCacheKey=e.createRouteCacheKey,exports.debounce=e.debounce,exports.decodeData=e.decodeData,exports.decodeRouteState=e.decodeRouteState,exports.deepMerge=e.deepMerge,exports.encodeData=e.encodeData,exports.encodeRouteState=e.encodeRouteState,exports.extractQueryParams=e.extractQueryParams,exports.getTagName=e.getTagName,exports.isObject=e.isObject,exports.lazy=e.lazy,exports.normalizeTagName=e.normalizeTagName,exports.sanitizeRouteState=e.sanitizeRouteState;
|
|
2
2
|
//# sourceMappingURL=area.cjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const s=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const u=require("lit/decorators.js");require("./tailwind.mixin-
|
|
1
|
+
"use strict";const s=require("rxjs");require("rxjs/operators"),require("lit/directives/class-map.js"),require("lit/directives/style-map.js");const u=require("lit/decorators.js");require("./tailwind.mixin-I9Q1jeEr.cjs");const A=require("./litElement.mixin-BfKE8dJc.cjs"),b=require("lit"),R=new s.Subject,j="FINDING_MORTIES",C="HERE_RICKY",O=new WeakMap;class f{constructor(){this.prettyURL=!1,this.mode="HISTORY",this.request=new s.ReplaySubject(1),this.current=new Map,this.$current=new s.ReplaySubject(1),this.enableHistoryMode=!0,this.findingMortiesEvent=new CustomEvent(j),this.disposed=!1,this.isProcessingPopstate=!1,this.$current.next(this.current),this.$current.subscribe(t=>{this.disposed||t.forEach((e,r)=>{this.getOrCreateAreaSubject(r).next(e)})}),this.initializeFromBrowserState(),typeof window<"u"&&(this.unloadSubscription=s.fromEvent(window,"unload").subscribe(()=>{this.dispose()}))}get areaSubjects(){let t=O.get(this);return t||(t=new Map,O.set(this,t)),t}initializeFromBrowserState(){try{const t=history.state;t&&t.schmancyAreas&&(Object.entries(t.schmancyAreas).forEach(([e,r])=>{this.current.set(e,r)}),this.$current.next(this.current))}catch{}}getOrCreateAreaSubject(t){let e=this.areaSubjects.get(t);if(!e||e.closed){e=new s.ReplaySubject(1),this.areaSubjects.set(t,e);const r=this.current.get(t);r&&e.next({...r,state:r.state||{},params:r.params||{},props:r.props||{}})}return e}on(t,e=!1){if(!t)throw new Error("Area name is required");const r=this.getOrCreateAreaSubject(t).asObservable().pipe(s.distinctUntilChanged((i,n)=>i.component===n.component&&JSON.stringify(i.state)===JSON.stringify(n.state)&&JSON.stringify(i.params)===JSON.stringify(n.params)&&JSON.stringify(i.props)===JSON.stringify(n.props)),s.shareReplay(1));return e?r.pipe(s.skip(1)):r}all(t=!1){const e=this.$current.asObservable().pipe(s.shareReplay(1));return t?e.pipe(s.skip(1)):e}getState(t){if(!t)throw new Error("Area name is required");return this.on(t).pipe(s.map(e=>e.state),s.filter(e=>e!=null),s.distinctUntilChanged((e,r)=>JSON.stringify(e)===JSON.stringify(r)),s.map(e=>e),s.catchError(e=>s.EMPTY))}params(t){if(!t)throw new Error("Area name is required");return this.on(t).pipe(s.map(e=>e.params),s.filter(e=>e!=null),s.distinctUntilChanged((e,r)=>JSON.stringify(e)===JSON.stringify(r)),s.map(e=>e),s.catchError(e=>s.EMPTY))}param(t,e){if(!t||!e)throw new Error("Area name and key are required");return this.params(t).pipe(s.map(r=>r[e]),s.filter(r=>r!==void 0),s.distinctUntilChanged(),s.map(r=>r),s.catchError(r=>s.EMPTY))}props(t){if(!t)throw new Error("Area name is required");return this.on(t).pipe(s.map(e=>e.props),s.filter(e=>e!=null),s.distinctUntilChanged((e,r)=>JSON.stringify(e)===JSON.stringify(r)),s.map(e=>e),s.catchError(e=>s.EMPTY))}prop(t,e){if(!t||!e)throw new Error("Area name and key are required");return this.props(t).pipe(s.map(r=>r[e]),s.filter(r=>r!==void 0),s.distinctUntilChanged(),s.map(r=>r),s.catchError(r=>s.EMPTY))}find(){return s.zip([s.fromEvent(window,C).pipe(s.map(t=>t.detail),s.bufferTime(0)),s.of(1).pipe(s.tap(()=>window.dispatchEvent(this.findingMortiesEvent)))]).pipe(s.map(([t])=>t),s.timeout(1),s.catchError(()=>s.EMPTY))}push(t){if(!t.area)throw new Error("Area is required for route action");if(this.isProcessingPopstate)return;const e={...t,state:t.state||{},params:t.params||{},props:t.props||{},_source:"programmatic"};this.enableHistoryMode&&R.next(e),this.request.next(e),this.dispatchAreaEvent(e.area,e)}_updateFromBrowser(t){const e={...t,state:t.state||{},params:t.params||{},props:t.props||{},_source:"browser"};this.isProcessingPopstate=!0,this.request.next(e),this.isProcessingPopstate=!1}_updateBrowserHistory(t,e,r,i){if(this.enableHistoryMode)try{const n=history.state||{},o=n.schmancyAreas||{},h={component:e.component,area:e.area};e.state&&Object.keys(e.state).length>0&&(h.state=e.state),e.params&&Object.keys(e.params).length>0&&(h.params=e.params),e.props&&Object.keys(e.props).length>0&&(h.props=e.props),o[t]=h;const c={...n,schmancyAreas:o},l=this.createCleanURL(o,i);r==="replace"||r==="pop"?history.replaceState(c,"",l):r!=="push"&&r||history.pushState(c,"",l)}catch{}}createCleanURL(t,e){const r=location.pathname,i=r.split("/");let n="/";const o=i[i.length-1];o&&(o.includes("{")||o.includes("%7B"))?(i.pop(),n=i.join("/")||"/"):n=r,n==="/"||n.endsWith("/")||(n+="/");let h="";if(e!==!0){const c=new URLSearchParams(location.search);Array.isArray(e)&&e.forEach(l=>c.delete(l)),h=c.toString(),h=h?`?${h}`:""}if(this.prettyURL){const c=t.main;if(c){let l=n==="/"?`/${c.component}`:`${n}${c.component}`;const S=new URLSearchParams(h);c.params&&Object.entries(c.params).forEach(([d,E])=>{typeof E!="string"&&typeof E!="number"||S.set(d,String(E))});const p=S.toString();return l+(p?`?${p}`:"")}}try{const c={};if(Object.entries(t).forEach(([S,p])=>{const d={component:p.component};p.state&&Object.keys(p.state).length>0&&(d.state=p.state),p.params&&Object.keys(p.params).length>0&&(d.params=p.params),p.props&&Object.keys(p.props).length>0&&(d.props=p.props),c[S]=d}),Object.keys(c).length===0)return`${n==="/"?"":n.replace(/\/$/,"")}${h}`;const l=encodeURIComponent(JSON.stringify(c));return`${n==="/"?"":n.replace(/\/$/,"")}/${l}${h}`}catch{return location.pathname}}restoreFromBrowserState(t){try{if(t&&t.schmancyAreas)return t.schmancyAreas}catch{}return this.parseStateFromURL()}parseStateFromURL(){const t=location.pathname.split("/").pop();if(!t)return{};try{const e=decodeURIComponent(t),r=JSON.parse(e);if(typeof r=="object"&&r!==null)return r}catch{}return{}}dispatchAreaEvent(t,e){const r=new CustomEvent(`schmancy-area-${t}-changed`,{detail:{area:t,component:e.component,state:e.state,params:e.params,props:e.props,historyStrategy:e.historyStrategy},bubbles:!0,composed:!0});window.dispatchEvent(r)}pop(t){if(!t)throw new Error("Area name is required");const e=this.areaSubjects.get(t);if(e&&!e.closed&&e.next({component:null,state:{},area:t,params:{},props:{}}),this.request.next({area:t,component:null,state:{},params:{},props:{},historyStrategy:"silent",_source:"programmatic"}),this.current.delete(t),this.$current.next(this.current),this.enableHistoryMode)try{const r=history.state||{},i={...r.schmancyAreas||{}};delete i[t];const n={...r,schmancyAreas:i},o=this.createCleanURL(i);history.replaceState(n,"",o)}catch{}}clear(){if(this.areaSubjects.forEach(t=>t.complete()),this.areaSubjects.clear(),this.current.clear(),this.$current.next(this.current),this.enableHistoryMode){const t=this.createCleanURL({});history.replaceState({schmancyAreas:{}},"",t)}}dispose(){this.disposed||(this.disposed=!0,this.unloadSubscription&&(this.unloadSubscription.unsubscribe(),this.unloadSubscription=void 0),this.areaSubjects.forEach(t=>t.complete()),this.areaSubjects.clear(),this.request.complete(),this.$current.complete(),R.complete(),this.current.clear(),O.delete(this))}static getInstance(){return f.instance||(f.instance=new f),f.instance}get state(){try{const t=history.state;if(t&&t.schmancyAreas)return t.schmancyAreas}catch{}return this.parseStateFromURL()}hasArea(t){return this.current.has(t)}getActiveAreas(){return Array.from(this.current.keys())}getRoute(t){return this.current.get(t)}}const y=f.getInstance();var v=Object.defineProperty,$=Object.getOwnPropertyDescriptor,g=(a,t,e,r)=>{for(var i,n=r>1?void 0:r?$(t,e):t,o=a.length-1;o>=0;o--)(i=a[o])&&(n=(r?i(t,e,n):i(n))||n);return r&&n&&v(t,e,n),n};exports.SchmancyRoute=class extends A.$LitElement(b.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: none;
|
|
4
4
|
}
|
|
@@ -9,4 +9,4 @@
|
|
|
9
9
|
inset: 0;
|
|
10
10
|
}
|
|
11
11
|
`){firstUpdated(){if(!this.name)throw new Error("Area name is required");s.merge(y.request.pipe(s.filter(({area:a})=>a===this.name)),s.of(null).pipe(s.take(1),s.map(()=>{const a=location.pathname,t=a.split("/").pop()||"";if(t&&(t.includes("{")||t.includes("%7B")))try{const r=JSON.parse(decodeURIComponent(t));if(r[this.name])return{area:this.name,component:r[this.name].component,state:r[this.name].state||{},params:r[this.name].params||{},props:r[this.name].props||{},historyStrategy:m.replace}}catch{}const e=a.split("/").filter(Boolean).find(r=>this.routes?.some(i=>i.when===r));return e?{area:this.name,component:e,state:{},params:{},historyStrategy:m.silent}:this.default?{area:this.name,component:this.default,state:{},params:{},historyStrategy:m.silent}:null})),s.fromEvent(window,"popstate").pipe(s.map(()=>{if(history.state?.schmancyAreas?.[this.name]){const r=history.state.schmancyAreas[this.name];return{area:this.name,component:r.component,state:r.state||{},params:r.params||{},props:r.props||{},historyStrategy:m.pop}}const a=location.pathname,t=a.split("/").pop()||"";if(t&&(t.includes("{")||t.includes("%7B")))try{const r=JSON.parse(decodeURIComponent(t));if(r[this.name])return{area:this.name,component:r[this.name].component,state:r[this.name].state||{},params:r[this.name].params||{},props:r[this.name].props||{},historyStrategy:m.replace}}catch{}const e=a.split("/").filter(Boolean).find(r=>this.routes?.some(i=>i.when===r));return e?{area:this.name,component:e,state:{},params:{},historyStrategy:m.silent}:this.default?{area:this.name,component:this.default,state:{},params:{},historyStrategy:m.silent}:null}))).pipe(s.filter(a=>a!==null),s.map(a=>{let t,e=a.component;if(typeof e=="string"&&this.routes)t=this.routes.find(r=>r.when===e),t&&(e=t.component);else if(typeof e=="function"&&this.routes)t=this.routes.find(r=>r.component===e);else if(e instanceof HTMLElement&&this.routes){const r=e.tagName.toLowerCase();t=this.routes.find(i=>i.when===r)}return{...a,component:e,matchedRoute:t}}),s.switchMap(a=>a.matchedRoute?.guard?a.matchedRoute.guard.pipe(s.switchMap(t=>{if(t===!0)return s.of(a);const e=new CustomEvent("redirect",{detail:{blockedRoute:a.matchedRoute?.when||"unknown",area:this.name,params:a.params||{},state:a.state||{},redirectTarget:typeof t=="object"?t:void 0},bubbles:!0,composed:!0});return a.matchedRoute.dispatchEvent(e),s.EMPTY})):s.of(a)),s.switchMap(async a=>{let t=a.component;if(typeof t=="function"&&("preload"in t||"_promise"in t||"_module"in t))try{t=(await t()).default}catch{return{...a,component:null}}return{...a,component:t}}),s.map(a=>{let t="";const e=a.component;e&&e!==""?typeof e=="string"?t=e:e instanceof HTMLElement?t=e.tagName.toLowerCase():typeof e=="function"&&(t=e.name||"CustomElement"):t="null";const r=`${t}${JSON.stringify(a.params)}${JSON.stringify(a.state)}${JSON.stringify(a.props)}`;return{...a,key:r,tagName:t}}),s.distinctUntilChanged((a,t)=>a.key===t.key),s.map(a=>{let t=null;const e=a.component;if(e&&e!==""){if(typeof e=="string")try{t=document.createElement(e)}catch{}else if(e instanceof HTMLElement)t=e;else if(typeof e=="function")try{t=new e}catch{}}else t=null;return t&&(a.params&&Object.assign(t,a.params),a.props&&Object.assign(t,a.props),a.state&&(t.state=a.state)),{element:t,route:a}}),s.shareReplay(1),s.tap(({element:a,route:t})=>this.swapComponents(a,t)),s.catchError(a=>s.EMPTY),s.takeUntil(this.disconnecting)).subscribe()}swapComponents(a,t){const e=Array.from(this.children).find(i=>!(i instanceof exports.SchmancyRoute));if(!a)return void e?.remove();e?e.animate([{opacity:1},{opacity:0}],{duration:150,easing:"ease-out"}).onfinish=()=>{e.remove(),this.appendChild(a),a.animate([{opacity:0},{opacity:1}],{duration:150,easing:"ease-in"})}:(this.appendChild(a),a.animate([{opacity:0},{opacity:1}],{duration:100,easing:"ease-in"}));const r={component:a.tagName.toLowerCase(),state:t.state||{},area:this.name,params:t.params||{},props:t.props||{}};y.current.set(this.name,r),y.$current.next(y.current),y.enableHistoryMode&&y._updateBrowserHistory(this.name,r,t.historyStrategy||m.push,t.clearQueryParams)}disconnectedCallback(){super.disconnectedCallback()}render(){return b.html`<slot></slot>`}},w([u.property()],exports.SchmancyArea.prototype,"name",2),w([u.property()],exports.SchmancyArea.prototype,"default",2),w([u.queryAssignedElements({selector:"schmancy-route",flatten:!0})],exports.SchmancyArea.prototype,"routes",2),exports.SchmancyArea=w([u.customElement("schmancy-area")],exports.SchmancyArea),exports.FINDING_MORTIES=j,exports.HERE_RICKY=C,exports.HISTORY_STRATEGY=m,exports.area=y,exports.routerHistory=R;
|
|
12
|
-
//# sourceMappingURL=area.component-
|
|
12
|
+
//# sourceMappingURL=area.component-CCwwAl-Y.cjs.map
|