@mhmo91/schmancy 0.9.4 → 0.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +13 -0
- package/README.md +14 -4
- package/custom-elements.json +493 -718
- package/dist/.claude-plugin/plugin.json +13 -0
- package/dist/animation-Bcwh107v.cjs.map +1 -0
- package/dist/animation-CXKSuUoE.js.map +1 -0
- package/dist/area-BARjKpE9.js +590 -0
- package/dist/area-BARjKpE9.js.map +1 -0
- package/dist/area-D9b9dHQr.cjs +12 -0
- package/dist/area-D9b9dHQr.cjs.map +1 -0
- package/dist/area.cjs +1 -1
- package/dist/area.js +1 -1
- package/dist/audio-C7TzWI8M.js +335 -0
- package/dist/audio-C7TzWI8M.js.map +1 -0
- package/dist/audio-DUVz7Ars.cjs +1 -0
- package/dist/audio-DUVz7Ars.cjs.map +1 -0
- package/dist/audio.cjs +1 -1
- package/dist/audio.js +2 -2
- package/dist/autocomplete-AI2CCJmK.cjs +115 -0
- package/dist/autocomplete-AI2CCJmK.cjs.map +1 -0
- package/dist/autocomplete-DOimwVMP.js +404 -0
- package/dist/autocomplete-DOimwVMP.js.map +1 -0
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/boat-Bk4u-LzT.cjs +80 -0
- package/dist/boat-Bk4u-LzT.cjs.map +1 -0
- package/dist/boat-DrghVeWK.js +347 -0
- package/dist/boat-DrghVeWK.js.map +1 -0
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/breadcrumb.cjs +34 -0
- package/dist/breadcrumb.cjs.map +1 -0
- package/dist/breadcrumb.js +73 -0
- package/dist/breadcrumb.js.map +1 -0
- package/dist/busy-BmFfwyz_.js +168 -0
- package/dist/busy-BmFfwyz_.js.map +1 -0
- package/dist/busy-c_q_F8O0.cjs +134 -0
- package/dist/busy-c_q_F8O0.cjs.map +1 -0
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +4 -4
- package/dist/button.cjs.map +1 -1
- package/dist/button.js +25 -6
- package/dist/button.js.map +1 -1
- package/dist/card-BADJHUMA.js +285 -0
- package/dist/card-BADJHUMA.js.map +1 -0
- package/dist/card-C_E944_Z.cjs +177 -0
- package/dist/card-C_E944_Z.cjs.map +1 -0
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/charts.cjs +3 -3
- package/dist/charts.cjs.map +1 -1
- package/dist/charts.js +2 -2
- package/dist/checkbox-D7rvCrGk.js +629 -0
- package/dist/checkbox-D7rvCrGk.js.map +1 -0
- package/dist/checkbox-ZqDoCagB.cjs +39 -0
- package/dist/checkbox-ZqDoCagB.cjs.map +1 -0
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/chips-Cux635Qs.cjs +253 -0
- package/dist/chips-Cux635Qs.cjs.map +1 -0
- package/dist/chips-vdzIsesI.js +655 -0
- package/dist/chips-vdzIsesI.js.map +1 -0
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/code-highlight-C9lKek2p.cjs +190 -0
- package/dist/code-highlight-C9lKek2p.cjs.map +1 -0
- package/dist/code-highlight-D6yruol6.js +291 -0
- package/dist/code-highlight-D6yruol6.js.map +1 -0
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/components-ByRyEzz5.cjs +73 -0
- package/dist/components-ByRyEzz5.cjs.map +1 -0
- package/dist/components-DSvPKR9Q.js +730 -0
- package/dist/components-DSvPKR9Q.js.map +1 -0
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/connectivity.cjs +7 -7
- package/dist/connectivity.cjs.map +1 -1
- package/dist/connectivity.js +5 -4
- package/dist/connectivity.js.map +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/cursor-glow-82y5h3E4.cjs +1 -0
- package/dist/cursor-glow-82y5h3E4.cjs.map +1 -0
- package/dist/cursor-glow-C2YRrB8Z.js +46 -0
- package/dist/cursor-glow-C2YRrB8Z.js.map +1 -0
- package/dist/date-range-DJsavigf.cjs +131 -0
- package/dist/date-range-DJsavigf.cjs.map +1 -0
- package/dist/date-range-inline-B87TDYI6.js +267 -0
- package/dist/date-range-inline-B87TDYI6.js.map +1 -0
- package/dist/date-range-inline-De-M0VmL.cjs +43 -0
- package/dist/date-range-inline-De-M0VmL.cjs.map +1 -0
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range-tEX2Jx2j.js +946 -0
- package/dist/date-range-tEX2Jx2j.js.map +1 -0
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/delay-BvVdfhAR.cjs +9 -0
- package/dist/delay-BvVdfhAR.cjs.map +1 -0
- package/dist/delay-CZw37zps.js +347 -0
- package/dist/delay-CZw37zps.js.map +1 -0
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/details-Bhz8_whd.cjs +168 -0
- package/dist/details-Bhz8_whd.cjs.map +1 -0
- package/dist/details-D7VTnLOh.js +294 -0
- package/dist/details-D7VTnLOh.js.map +1 -0
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/dialog-service-ClFrOWf4.js +193 -0
- package/dist/dialog-service-ClFrOWf4.js.map +1 -0
- package/dist/dialog-service-DcuAavp2.cjs +1 -0
- package/dist/dialog-service-DcuAavp2.cjs.map +1 -0
- package/dist/dialog.cjs +18 -11
- package/dist/dialog.cjs.map +1 -1
- package/dist/dialog.js +66 -43
- package/dist/dialog.js.map +1 -1
- package/dist/directives.cjs +1 -1
- package/dist/directives.js +5 -5
- package/dist/divider-S0bHwCCS.cjs +57 -0
- package/dist/divider-S0bHwCCS.cjs.map +1 -0
- package/dist/divider-zS232JDr.js +87 -0
- package/dist/divider-zS232JDr.js.map +1 -0
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/dropdown.cjs +4 -4
- package/dist/dropdown.cjs.map +1 -1
- package/dist/dropdown.js +8 -7
- package/dist/dropdown.js.map +1 -1
- package/dist/expand-BXt9SqAF.js +337 -0
- package/dist/expand-BXt9SqAF.js.map +1 -0
- package/dist/expand-Dr7TFXpl.cjs +141 -0
- package/dist/expand-Dr7TFXpl.cjs.map +1 -0
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/extra-BmZTXAp0.cjs +31 -0
- package/dist/extra-BmZTXAp0.cjs.map +1 -0
- package/dist/extra-COYhsOyZ.js +3435 -0
- package/dist/extra-COYhsOyZ.js.map +1 -0
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/float-CSRW-Rrd.cjs +1 -0
- package/dist/float-CSRW-Rrd.cjs.map +1 -0
- package/dist/float-DCXafWh6.js +5 -0
- package/dist/float-DCXafWh6.js.map +1 -0
- package/dist/float.cjs +1 -1
- package/dist/float.js +1 -1
- package/dist/flow-CqgDEIqK.js.map +1 -0
- package/dist/flow-DSu4PLt1.cjs.map +1 -0
- package/dist/form-CAY9GSCd.cjs +1 -0
- package/dist/form-CAY9GSCd.cjs.map +1 -0
- package/dist/form-D2cJ58TB.js +68 -0
- package/dist/form-D2cJ58TB.js.map +1 -0
- package/dist/form.cjs +1 -1
- package/dist/form.js +2 -1
- package/dist/hashContent-kKvXKFa9.cjs.map +1 -0
- package/dist/hashContent-nD2uWwi2.js.map +1 -0
- package/dist/icons-BbaI9Zf-.js +162 -0
- package/dist/icons-BbaI9Zf-.js.map +1 -0
- package/dist/icons-DPUeLS_Y.cjs +52 -0
- package/dist/icons-DPUeLS_Y.cjs.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/iframe-CEDOvkql.js +45 -0
- package/dist/iframe-CEDOvkql.js.map +1 -0
- package/dist/iframe-Ct50FYXq.cjs +24 -0
- package/dist/iframe-Ct50FYXq.cjs.map +1 -0
- package/dist/iframe.cjs +1 -1
- package/dist/iframe.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +65 -59
- package/dist/input-DMjpf6V8.cjs +51 -0
- package/dist/input-DMjpf6V8.cjs.map +1 -0
- package/dist/input-Ri72dn5t.js +364 -0
- package/dist/input-Ri72dn5t.js.map +1 -0
- package/dist/input-chip-BhjGVpc3.cjs +146 -0
- package/dist/input-chip-BhjGVpc3.cjs.map +1 -0
- package/dist/input-chip-CI4__N8w.js +305 -0
- package/dist/input-chip-CI4__N8w.js.map +1 -0
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/intersection-D1v1UCVv.cjs.map +1 -0
- package/dist/intersection-LfEsy29T.js.map +1 -0
- package/dist/json.cjs +3 -3
- package/dist/json.cjs.map +1 -1
- package/dist/json.js +5 -4
- package/dist/json.js.map +1 -1
- package/dist/kbd.cjs +28 -0
- package/dist/kbd.cjs.map +1 -0
- package/dist/kbd.js +45 -0
- package/dist/kbd.js.map +1 -0
- package/dist/layout-BE2ld1IY.js +94 -0
- package/dist/layout-BE2ld1IY.js.map +1 -0
- package/dist/layout-D7xOqMkJ.cjs +17 -0
- package/dist/layout-D7xOqMkJ.cjs.map +1 -0
- package/dist/layout-PZCF3kwl.cjs +1 -0
- package/dist/layout-PZCF3kwl.cjs.map +1 -0
- package/dist/layout-uAQpJN31.js +268 -0
- package/dist/layout-uAQpJN31.js.map +1 -0
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +2 -2
- package/dist/lightbox-C0OEHns9.js +679 -0
- package/dist/lightbox-C0OEHns9.js.map +1 -0
- package/dist/lightbox-cXRnvHMN.cjs +202 -0
- package/dist/lightbox-cXRnvHMN.cjs.map +1 -0
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/list-CmJ5h35b.cjs +40 -0
- package/dist/list-CmJ5h35b.cjs.map +1 -0
- package/dist/list-d1mHar5p.js +106 -0
- package/dist/list-d1mHar5p.js.map +1 -0
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/litElement.mixin-Bj2q1yPw.cjs +1 -0
- package/dist/litElement.mixin-Bj2q1yPw.cjs.map +1 -0
- package/dist/litElement.mixin-CncaUoxz.js +12 -0
- package/dist/litElement.mixin-CncaUoxz.js.map +1 -0
- package/dist/magnetic-Dj52WplI.js +47 -0
- package/dist/magnetic-Dj52WplI.js.map +1 -0
- package/dist/magnetic-aBBnj_vk.cjs +1 -0
- package/dist/magnetic-aBBnj_vk.cjs.map +1 -0
- package/dist/mailbox-BmChskZc.cjs +1142 -0
- package/dist/mailbox-BmChskZc.cjs.map +1 -0
- package/dist/mailbox-C4-E93be.js +1585 -0
- package/dist/mailbox-C4-E93be.js.map +1 -0
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/map-DHyYLhvy.js +206 -0
- package/dist/map-DHyYLhvy.js.map +1 -0
- package/dist/map-DYEvlNl0.cjs +80 -0
- package/dist/map-DYEvlNl0.cjs.map +1 -0
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/menu-BlPTI6H9.cjs +23 -0
- package/dist/menu-BlPTI6H9.cjs.map +1 -0
- package/dist/menu-DFDBADp4.js +51 -0
- package/dist/menu-DFDBADp4.js.map +1 -0
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins.cjs +1 -1
- package/dist/mixins.cjs.map +1 -1
- package/dist/mixins.js +43 -15
- package/dist/mixins.js.map +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.cjs +3 -3
- package/dist/navigation-rail.cjs.map +1 -1
- package/dist/navigation-rail.js +2 -2
- package/dist/notification-DGpv8g2H.js +304 -0
- package/dist/notification-DGpv8g2H.js.map +1 -0
- package/dist/notification-DKVWYhqs.cjs +23 -0
- package/dist/notification-DKVWYhqs.cjs.map +1 -0
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/option-BD2eh458.js +98 -0
- package/dist/option-BD2eh458.js.map +1 -0
- package/dist/option-LtSDy2xf.cjs +43 -0
- package/dist/option-LtSDy2xf.cjs.map +1 -0
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/overlay-stack-CEYGD9T1.cjs.map +1 -0
- package/dist/overlay-stack-Ca4EK2Mu.js.map +1 -0
- package/dist/page.cjs +2 -2
- package/dist/page.cjs.map +1 -1
- package/dist/page.js +5 -5
- package/dist/progress-B5ChDPbB.cjs +51 -0
- package/dist/progress-B5ChDPbB.cjs.map +1 -0
- package/dist/progress-CE1Pk2hi.js +128 -0
- package/dist/progress-CE1Pk2hi.js.map +1 -0
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/provide-BZ9lq_Be.cjs +1 -0
- package/dist/provide-BZ9lq_Be.cjs.map +1 -0
- package/dist/provide-jn1Fj1vv.js +107 -0
- package/dist/provide-jn1Fj1vv.js.map +1 -0
- package/dist/qr-scanner.cjs +2 -2
- package/dist/qr-scanner.cjs.map +1 -1
- package/dist/qr-scanner.js +2 -2
- package/dist/radio-group-Cd9pZ2MR.cjs +40 -0
- package/dist/radio-group-Cd9pZ2MR.cjs.map +1 -0
- package/dist/radio-group-CyRHgIF3.js +106 -0
- package/dist/radio-group-CyRHgIF3.js.map +1 -0
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/range.cjs +4 -4
- package/dist/range.cjs.map +1 -1
- package/dist/range.js +4 -3
- package/dist/range.js.map +1 -1
- package/dist/reduced-motion-B83yZbcO.js.map +1 -0
- package/dist/reduced-motion-DR32yKEO.cjs.map +1 -0
- package/dist/rxjs-utils-Bldch1RO.js.map +1 -0
- package/dist/rxjs-utils-hAgKC7vk.cjs.map +1 -0
- package/dist/rxjs-utils.cjs +1 -1
- package/dist/rxjs-utils.js +1 -1
- package/dist/scroll-C_iNOi7E.cjs +26 -0
- package/dist/scroll-C_iNOi7E.cjs.map +1 -0
- package/dist/scroll-DoliwpRu.js +113 -0
- package/dist/scroll-DoliwpRu.js.map +1 -0
- package/dist/search-BlGJ6uJv.js.map +1 -0
- package/dist/search-C8eAOzBm.cjs.map +1 -0
- package/dist/select-CWWuZ2iJ.cjs +56 -0
- package/dist/select-CWWuZ2iJ.cjs.map +1 -0
- package/dist/select-_vHPXi30.js +305 -0
- package/dist/select-_vHPXi30.js.map +1 -0
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/sheet-i1KtxGIj.js +168 -0
- package/dist/sheet-i1KtxGIj.js.map +1 -0
- package/dist/sheet-r0oEYIdi.cjs +35 -0
- package/dist/sheet-r0oEYIdi.cjs.map +1 -0
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/sheet.service-Cr13Oo6G.cjs +1 -0
- package/dist/sheet.service-Cr13Oo6G.cjs.map +1 -0
- package/dist/sheet.service-DUO5_kmI.js +86 -0
- package/dist/sheet.service-DUO5_kmI.js.map +1 -0
- package/dist/skeleton.cjs +33 -0
- package/dist/skeleton.cjs.map +1 -0
- package/dist/skeleton.js +58 -0
- package/dist/skeleton.js.map +1 -0
- package/dist/skills/INDEX.md +73 -0
- package/dist/skills/SKILL.md +120 -0
- package/dist/skills/breadcrumb.md +53 -0
- package/dist/skills/kbd.md +40 -0
- package/dist/skills/schmancy/INDEX.md +73 -0
- package/dist/skills/schmancy/SKILL.md +120 -0
- package/dist/skills/schmancy/breadcrumb.md +53 -0
- package/dist/skills/schmancy/kbd.md +40 -0
- package/dist/skills/schmancy/skeleton.md +40 -0
- package/dist/skills/schmancy/splash-screen.md +60 -0
- package/dist/skills/schmancy/switch.md +58 -0
- package/dist/skills/schmancy/tooltip.md +38 -0
- package/dist/skills/schmancy/visually-hidden.md +41 -0
- package/dist/skills/skeleton.md +40 -0
- package/dist/skills/splash-screen.md +60 -0
- package/dist/skills/switch.md +58 -0
- package/dist/skills/tooltip.md +38 -0
- package/dist/skills/visually-hidden.md +41 -0
- package/dist/slider.cjs +3 -3
- package/dist/slider.cjs.map +1 -1
- package/dist/slider.js +2 -2
- package/dist/sound.service-BjSoGjmT.cjs +1 -0
- package/dist/sound.service-BjSoGjmT.cjs.map +1 -0
- package/dist/sound.service-cdkw3Wkv.js +2353 -0
- package/dist/sound.service-cdkw3Wkv.js.map +1 -0
- package/dist/splash-screen-CquyPP1C.cjs +41 -0
- package/dist/splash-screen-CquyPP1C.cjs.map +1 -0
- package/dist/splash-screen-CvucPkpD.js +83 -0
- package/dist/splash-screen-CvucPkpD.js.map +1 -0
- package/dist/splash-screen.cjs +1 -0
- package/dist/splash-screen.js +1 -0
- package/dist/src-Bemk2C2P.cjs +269 -0
- package/dist/src-Bemk2C2P.cjs.map +1 -0
- package/dist/src-f5a3W9Mj.js +1251 -0
- package/dist/src-f5a3W9Mj.js.map +1 -0
- package/dist/steps.cjs +10 -10
- package/dist/steps.cjs.map +1 -1
- package/dist/steps.js +10 -9
- package/dist/steps.js.map +1 -1
- package/dist/store-Bmj6rvZY.js.map +1 -0
- package/dist/store-CO4nJyGj.cjs.map +1 -0
- package/dist/store.cjs +1 -1
- package/dist/store.js +1 -1
- package/dist/surface-CDufon40.cjs +7 -0
- package/dist/surface-CDufon40.cjs.map +1 -0
- package/dist/surface-CkEYJCae.js +22 -0
- package/dist/surface-CkEYJCae.js.map +1 -0
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/surface.mixin-CSKqQH-0.cjs +297 -0
- package/dist/surface.mixin-CSKqQH-0.cjs.map +1 -0
- package/dist/surface.mixin-DqMwoddO.js +320 -0
- package/dist/surface.mixin-DqMwoddO.js.map +1 -0
- package/dist/switch.cjs +69 -0
- package/dist/switch.cjs.map +1 -0
- package/dist/switch.js +132 -0
- package/dist/switch.js.map +1 -0
- package/dist/table-DWc1mkpj.cjs +63 -0
- package/dist/table-DWc1mkpj.cjs.map +1 -0
- package/dist/table-P6VGG7NK.js +631 -0
- package/dist/table-P6VGG7NK.js.map +1 -0
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/tabs-CjGjGrqY.js +126 -0
- package/dist/tabs-CjGjGrqY.js.map +1 -0
- package/dist/tabs-DGJEKuhC.cjs +31 -0
- package/dist/tabs-DGJEKuhC.cjs.map +1 -0
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-Cpa-VnnX.cjs +2 -0
- package/dist/tailwind.mixin-Cpa-VnnX.cjs.map +1 -0
- package/dist/tailwind.mixin-DufHBjmb.js +219 -0
- package/dist/tailwind.mixin-DufHBjmb.js.map +1 -0
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/textarea-DZT_Ofp5.js +209 -0
- package/dist/textarea-DZT_Ofp5.js.map +1 -0
- package/dist/textarea-jmTOXrzl.cjs +39 -0
- package/dist/textarea-jmTOXrzl.cjs.map +1 -0
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/theme-CCKqaksQ.cjs +181 -0
- package/dist/theme-CCKqaksQ.cjs.map +1 -0
- package/dist/theme-CEc32pAv.js +4122 -0
- package/dist/theme-CEc32pAv.js.map +1 -0
- package/dist/theme-button-BsJcv-Zv.cjs +8 -0
- package/dist/theme-button-BsJcv-Zv.cjs.map +1 -0
- package/dist/theme-button-dOiAvdKU.js +20 -0
- package/dist/theme-button-dOiAvdKU.js.map +1 -0
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/theme.events-Bw3mYjUA.js.map +1 -0
- package/dist/theme.events-EznKK2Y0.cjs.map +1 -0
- package/dist/theme.interface-CM26m9te.cjs.map +1 -0
- package/dist/theme.interface-FAUIgbIq.js.map +1 -0
- package/dist/theme.js +5 -5
- package/dist/theme.service-ETiKUwVy.cjs +1 -0
- package/dist/theme.service-ETiKUwVy.cjs.map +1 -0
- package/dist/theme.service-_qP5WvB9.js +108 -0
- package/dist/theme.service-_qP5WvB9.js.map +1 -0
- package/dist/tooltip.cjs +1 -6
- package/dist/tooltip.cjs.map +1 -1
- package/dist/tooltip.js +51 -135
- package/dist/tooltip.js.map +1 -1
- package/dist/tree.cjs +14 -5
- package/dist/tree.cjs.map +1 -1
- package/dist/tree.js +28 -6
- package/dist/tree.js.map +1 -1
- package/dist/tslib.es6-Bd-92OW3.cjs +1 -0
- package/dist/tslib.es6-Bd-92OW3.cjs.map +1 -0
- package/dist/tslib.es6-CI1onEZb.js +7 -0
- package/dist/tslib.es6-CI1onEZb.js.map +1 -0
- package/dist/typewriter-ByIL2Mh-.cjs +123 -0
- package/dist/typewriter-ByIL2Mh-.cjs.map +1 -0
- package/dist/typewriter-vOQ3bDLb.js +701 -0
- package/dist/typewriter-vOQ3bDLb.js.map +1 -0
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/typography.cjs +4 -4
- package/dist/typography.cjs.map +1 -1
- package/dist/typography.js +10 -9
- package/dist/typography.js.map +1 -1
- package/dist/utils-Cq0m3LYo.js +259 -0
- package/dist/utils-Cq0m3LYo.js.map +1 -0
- package/dist/utils-D2kE-6zc.cjs +1 -0
- package/dist/utils-D2kE-6zc.cjs.map +1 -0
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +5 -5
- package/dist/visually-hidden.cjs +13 -0
- package/dist/visually-hidden.cjs.map +1 -0
- package/dist/visually-hidden.js +24 -0
- package/dist/visually-hidden.js.map +1 -0
- package/dist/window-BS7ZQjgH.cjs +59 -0
- package/dist/window-BS7ZQjgH.cjs.map +1 -0
- package/dist/window-WnAihpsA.js +548 -0
- package/dist/window-WnAihpsA.js.map +1 -0
- package/dist/window.cjs +1 -1
- package/dist/window.js +1 -1
- package/mixins/formField.mixin.ts +96 -69
- package/mixins/tailwind.css +11 -0
- package/package.json +19 -28
- package/skills/schmancy/INDEX.md +73 -0
- package/skills/schmancy/SKILL.md +120 -0
- package/skills/schmancy/animation.md +64 -0
- package/skills/schmancy/area.md +141 -0
- package/skills/schmancy/audio.md +69 -0
- package/skills/schmancy/autocomplete.md +53 -0
- package/skills/schmancy/avatar.md +47 -0
- package/skills/schmancy/badge.md +41 -0
- package/skills/schmancy/boat.md +47 -0
- package/skills/schmancy/breadcrumb.md +53 -0
- package/skills/schmancy/busy.md +36 -0
- package/skills/schmancy/button.md +59 -0
- package/skills/schmancy/card.md +53 -0
- package/skills/schmancy/charts.md +93 -0
- package/skills/schmancy/checkbox.md +36 -0
- package/skills/schmancy/chips.md +87 -0
- package/skills/schmancy/code-highlight.md +47 -0
- package/skills/schmancy/connectivity.md +36 -0
- package/skills/schmancy/content-drawer.md +65 -0
- package/skills/schmancy/date-range-inline.md +44 -0
- package/skills/schmancy/date-range.md +50 -0
- package/skills/schmancy/delay.md +50 -0
- package/skills/schmancy/details.md +66 -0
- package/skills/schmancy/dialog.md +69 -0
- package/skills/schmancy/directives.md +298 -0
- package/skills/schmancy/discovery.md +67 -0
- package/skills/schmancy/divider.md +31 -0
- package/skills/schmancy/dropdown.md +47 -0
- package/skills/schmancy/expand.md +63 -0
- package/skills/schmancy/extra.md +59 -0
- package/skills/schmancy/float.md +14 -0
- package/skills/schmancy/form.md +49 -0
- package/skills/schmancy/icons.md +44 -0
- package/skills/schmancy/iframe.md +44 -0
- package/skills/schmancy/input.md +56 -0
- package/skills/schmancy/json.md +33 -0
- package/skills/schmancy/kbd.md +40 -0
- package/skills/schmancy/layout.md +63 -0
- package/skills/schmancy/lightbox.md +36 -0
- package/skills/schmancy/list.md +67 -0
- package/skills/schmancy/mailbox.md +102 -0
- package/skills/schmancy/map.md +55 -0
- package/skills/schmancy/menu.md +39 -0
- package/skills/schmancy/mixins.md +99 -0
- package/skills/schmancy/nav-drawer.md +52 -0
- package/skills/schmancy/navigation-bar.md +48 -0
- package/skills/schmancy/navigation-rail.md +62 -0
- package/skills/schmancy/notification.md +60 -0
- package/skills/schmancy/option.md +43 -0
- package/skills/schmancy/page.md +42 -0
- package/skills/schmancy/progress.md +30 -0
- package/skills/schmancy/qr-scanner.md +51 -0
- package/skills/schmancy/radio-group.md +50 -0
- package/skills/schmancy/range.md +47 -0
- package/skills/schmancy/rxjs-utils.md +60 -0
- package/skills/schmancy/select.md +49 -0
- package/skills/schmancy/sheet.md +76 -0
- package/skills/schmancy/skeleton.md +40 -0
- package/skills/schmancy/slider.md +43 -0
- package/skills/schmancy/splash-screen.md +60 -0
- package/skills/schmancy/steps.md +53 -0
- package/skills/schmancy/store.md +126 -0
- package/skills/schmancy/surface.md +86 -0
- package/skills/schmancy/switch.md +58 -0
- package/skills/schmancy/table.md +60 -0
- package/skills/schmancy/tabs.md +49 -0
- package/skills/schmancy/teleport.md +55 -0
- package/skills/schmancy/textarea.md +48 -0
- package/skills/schmancy/theme-button.md +26 -0
- package/skills/schmancy/theme.md +58 -0
- package/skills/schmancy/tooltip.md +38 -0
- package/skills/schmancy/tree.md +53 -0
- package/skills/schmancy/typewriter.md +46 -0
- package/skills/schmancy/typography.md +53 -0
- package/skills/schmancy/utils.md +95 -0
- package/skills/schmancy/visually-hidden.md +41 -0
- package/skills/schmancy/window.md +67 -0
- package/src/audio/emotional-sounds.ts +2 -4
- package/src/autocomplete/autocomplete.ts +52 -2
- package/src/breadcrumb/breadcrumb.ts +109 -0
- package/src/breadcrumb/index.ts +1 -0
- package/src/button/button.ts +40 -0
- package/src/button/icon-button.ts +2 -1
- package/src/checkbox/checkbox.test.ts +113 -0
- package/src/checkbox/checkbox.ts +41 -1
- package/src/chips/filter-chip.ts +15 -0
- package/src/chips/input-chip.ts +7 -0
- package/src/date-range/date-range-helpers.ts +0 -71
- package/src/dialog/dialog-base.mixin.ts +11 -0
- package/src/dialog/dialog.component.ts +28 -8
- package/src/dropdown/dropdown-content.ts +3 -1
- package/src/form/form.test.ts +137 -0
- package/src/form/form.ts +142 -158
- package/src/form/index.ts +2 -2
- package/src/icons/icon.ts +1 -0
- package/src/index.ts +6 -0
- package/src/kbd/index.ts +1 -0
- package/src/kbd/kbd.ts +59 -0
- package/src/skeleton/index.ts +1 -0
- package/src/skeleton/skeleton.ts +78 -0
- package/src/splash-screen/index.ts +1 -0
- package/src/splash-screen/splash-screen.ts +154 -0
- package/src/switch/index.ts +1 -0
- package/src/switch/switch.test.ts +93 -0
- package/src/switch/switch.ts +180 -0
- package/src/test-utils/a11y.ts +35 -0
- package/src/textarea/textarea.ts +32 -2
- package/src/tooltip/index.ts +1 -2
- package/src/tree/tree.ts +27 -2
- package/src/visually-hidden/index.ts +1 -0
- package/src/visually-hidden/visually-hidden.ts +39 -0
- package/src/window/window-position.ts +1 -74
- package/types/mixins/formField.mixin.d.ts +15 -8
- package/types/src/audio/emotional-sounds.d.ts +0 -2
- package/types/src/autocomplete/autocomplete.d.ts +7 -0
- package/types/src/breadcrumb/breadcrumb.d.ts +38 -0
- package/types/src/breadcrumb/index.d.ts +1 -0
- package/types/src/button/button.d.ts +7 -0
- package/types/src/button/icon-button.d.ts +2 -1
- package/types/src/checkbox/checkbox.d.ts +6 -0
- package/types/src/checkbox/checkbox.test.d.ts +1 -0
- package/types/src/chips/filter-chip.d.ts +3 -0
- package/types/src/chips/input-chip.d.ts +1 -0
- package/types/src/date-range/date-range-helpers.d.ts +0 -12
- package/types/src/dialog/dialog.component.d.ts +6 -0
- package/types/src/dropdown/dropdown-content.d.ts +3 -1
- package/types/src/form/form-v2.d.ts +12 -63
- package/types/src/form/form.d.ts +58 -40
- package/types/src/form/form.test.d.ts +4 -0
- package/types/src/form/index.d.ts +1 -1
- package/types/src/icons/icon.d.ts +1 -0
- package/types/src/index.d.ts +6 -0
- package/types/src/kbd/index.d.ts +1 -0
- package/types/src/kbd/kbd.d.ts +25 -0
- package/types/src/skeleton/index.d.ts +1 -0
- package/types/src/skeleton/skeleton.d.ts +27 -0
- package/types/src/splash-screen/index.d.ts +1 -0
- package/types/src/splash-screen/splash-screen.d.ts +60 -0
- package/types/src/switch/index.d.ts +1 -0
- package/types/src/switch/switch.d.ts +54 -0
- package/types/src/switch/switch.test.d.ts +1 -0
- package/types/src/test-utils/a11y.d.ts +11 -0
- package/types/src/textarea/textarea.d.ts +5 -1
- package/types/src/tooltip/index.d.ts +0 -1
- package/types/src/tree/tree.d.ts +5 -0
- package/types/src/visually-hidden/index.d.ts +1 -0
- package/types/src/visually-hidden/visually-hidden.d.ts +21 -0
- package/types/src/window/window-position.d.ts +1 -35
- package/ai/INDEX.md +0 -72
- package/ai/tooltip.md +0 -38
- package/dist/ai/INDEX.md +0 -72
- package/dist/ai/tooltip.md +0 -38
- package/dist/animation-BK-8BwY8.js.map +0 -1
- package/dist/animation-CO_Csq84.cjs.map +0 -1
- package/dist/area-CRoGqD_u.js +0 -590
- package/dist/area-CRoGqD_u.js.map +0 -1
- package/dist/area-JPykB7A9.cjs +0 -12
- package/dist/area-JPykB7A9.cjs.map +0 -1
- package/dist/audio-DtYYgzYD.cjs +0 -1
- package/dist/audio-DtYYgzYD.cjs.map +0 -1
- package/dist/audio-kz8UgPTO.js +0 -335
- package/dist/audio-kz8UgPTO.js.map +0 -1
- package/dist/autocomplete-5rVhbieU.cjs +0 -111
- package/dist/autocomplete-5rVhbieU.cjs.map +0 -1
- package/dist/autocomplete-BllPQwr8.js +0 -378
- package/dist/autocomplete-BllPQwr8.js.map +0 -1
- package/dist/boat-BDTQ-du9.js +0 -347
- package/dist/boat-BDTQ-du9.js.map +0 -1
- package/dist/boat-DYEAZ8Qj.cjs +0 -80
- package/dist/boat-DYEAZ8Qj.cjs.map +0 -1
- package/dist/busy-ChDAeaKF.js +0 -167
- package/dist/busy-ChDAeaKF.js.map +0 -1
- package/dist/busy-Dj7Xn0Z0.cjs +0 -134
- package/dist/busy-Dj7Xn0Z0.cjs.map +0 -1
- package/dist/card-BvPWVEJX.cjs +0 -177
- package/dist/card-BvPWVEJX.cjs.map +0 -1
- package/dist/card-DZFPRPqs.js +0 -284
- package/dist/card-DZFPRPqs.js.map +0 -1
- package/dist/checkbox-BC_37rsG.cjs +0 -39
- package/dist/checkbox-BC_37rsG.cjs.map +0 -1
- package/dist/checkbox-GSSjqo6w.js +0 -610
- package/dist/checkbox-GSSjqo6w.js.map +0 -1
- package/dist/chips-B19XS8Xc.cjs +0 -253
- package/dist/chips-B19XS8Xc.cjs.map +0 -1
- package/dist/chips-B9oAEfE_.js +0 -645
- package/dist/chips-B9oAEfE_.js.map +0 -1
- package/dist/code-highlight-DCk5lJY-.js +0 -290
- package/dist/code-highlight-DCk5lJY-.js.map +0 -1
- package/dist/code-highlight-fSLrlgOb.cjs +0 -190
- package/dist/code-highlight-fSLrlgOb.cjs.map +0 -1
- package/dist/components-COsM6sJZ.js +0 -730
- package/dist/components-COsM6sJZ.js.map +0 -1
- package/dist/components-CyD6a7gQ.cjs +0 -73
- package/dist/components-CyD6a7gQ.cjs.map +0 -1
- package/dist/cursor-glow-Ah7VXSj7.js +0 -46
- package/dist/cursor-glow-Ah7VXSj7.js.map +0 -1
- package/dist/cursor-glow-DtSy_PJd.cjs +0 -1
- package/dist/cursor-glow-DtSy_PJd.cjs.map +0 -1
- package/dist/date-range-Sfyco9-n.js +0 -946
- package/dist/date-range-Sfyco9-n.js.map +0 -1
- package/dist/date-range-ZAaQB22I.cjs +0 -131
- package/dist/date-range-ZAaQB22I.cjs.map +0 -1
- package/dist/date-range-inline-Bl8qbiQF.js +0 -267
- package/dist/date-range-inline-Bl8qbiQF.js.map +0 -1
- package/dist/date-range-inline-m7nLjOMI.cjs +0 -43
- package/dist/date-range-inline-m7nLjOMI.cjs.map +0 -1
- package/dist/delay-7boauN6N.cjs +0 -9
- package/dist/delay-7boauN6N.cjs.map +0 -1
- package/dist/delay-CgX6m0HN.js +0 -346
- package/dist/delay-CgX6m0HN.js.map +0 -1
- package/dist/details-BHnk8l4q.cjs +0 -168
- package/dist/details-BHnk8l4q.cjs.map +0 -1
- package/dist/details-BPkUg8Cq.js +0 -293
- package/dist/details-BPkUg8Cq.js.map +0 -1
- package/dist/dialog-service-NZEvyEK-.js +0 -193
- package/dist/dialog-service-NZEvyEK-.js.map +0 -1
- package/dist/dialog-service-VnW4gkmE.cjs +0 -1
- package/dist/dialog-service-VnW4gkmE.cjs.map +0 -1
- package/dist/divider-CW9a7MMj.js +0 -87
- package/dist/divider-CW9a7MMj.js.map +0 -1
- package/dist/divider-_khrhrZo.cjs +0 -57
- package/dist/divider-_khrhrZo.cjs.map +0 -1
- package/dist/expand-Cp7-PH8b.cjs +0 -141
- package/dist/expand-Cp7-PH8b.cjs.map +0 -1
- package/dist/expand-iQ7EOMP7.js +0 -336
- package/dist/expand-iQ7EOMP7.js.map +0 -1
- package/dist/extra-IKAiJJhv.cjs +0 -31
- package/dist/extra-IKAiJJhv.cjs.map +0 -1
- package/dist/extra-wEpvEFbK.js +0 -3435
- package/dist/extra-wEpvEFbK.js.map +0 -1
- package/dist/float-BQ_urmMs.js +0 -5
- package/dist/float-BQ_urmMs.js.map +0 -1
- package/dist/float-D5rNC82i.cjs +0 -1
- package/dist/float-D5rNC82i.cjs.map +0 -1
- package/dist/flow-Bbwn6dRN.cjs.map +0 -1
- package/dist/flow-CUj0fDT_.js.map +0 -1
- package/dist/form-BqN1AGFj.cjs +0 -1
- package/dist/form-BqN1AGFj.cjs.map +0 -1
- package/dist/form-CajC5HnO.js +0 -270
- package/dist/form-CajC5HnO.js.map +0 -1
- package/dist/hashContent-DYM21p6t.js.map +0 -1
- package/dist/hashContent-DaeGmY-p.cjs.map +0 -1
- package/dist/icons-B57_93VV.cjs +0 -52
- package/dist/icons-B57_93VV.cjs.map +0 -1
- package/dist/icons-BDqiGXrO.js +0 -161
- package/dist/icons-BDqiGXrO.js.map +0 -1
- package/dist/iframe-DNHL3GIk.cjs +0 -24
- package/dist/iframe-DNHL3GIk.cjs.map +0 -1
- package/dist/iframe-WnWPIrBG.js +0 -44
- package/dist/iframe-WnWPIrBG.js.map +0 -1
- package/dist/input-BiSrTcrR.cjs +0 -51
- package/dist/input-BiSrTcrR.cjs.map +0 -1
- package/dist/input-VaXHFrRn.js +0 -364
- package/dist/input-VaXHFrRn.js.map +0 -1
- package/dist/input-chip-Dy-AiP55.cjs +0 -146
- package/dist/input-chip-Dy-AiP55.cjs.map +0 -1
- package/dist/input-chip-QejNcRnS.js +0 -301
- package/dist/input-chip-QejNcRnS.js.map +0 -1
- package/dist/intersection-BPLpqYEd.js.map +0 -1
- package/dist/intersection-CZpaIHeT.cjs.map +0 -1
- package/dist/layout-4C-6_cre.cjs +0 -1
- package/dist/layout-4C-6_cre.cjs.map +0 -1
- package/dist/layout-CnsXeCAy.js +0 -267
- package/dist/layout-CnsXeCAy.js.map +0 -1
- package/dist/layout-DNYG3phx.cjs +0 -17
- package/dist/layout-DNYG3phx.cjs.map +0 -1
- package/dist/layout-yxSlLybo.js +0 -94
- package/dist/layout-yxSlLybo.js.map +0 -1
- package/dist/lightbox-BrI1Z31s.js +0 -678
- package/dist/lightbox-BrI1Z31s.js.map +0 -1
- package/dist/lightbox-CmACf0t5.cjs +0 -202
- package/dist/lightbox-CmACf0t5.cjs.map +0 -1
- package/dist/list-Cm-jjXxM.js +0 -105
- package/dist/list-Cm-jjXxM.js.map +0 -1
- package/dist/list-swIL9VDv.cjs +0 -40
- package/dist/list-swIL9VDv.cjs.map +0 -1
- package/dist/litElement.mixin-3llHwB-8.cjs +0 -1
- package/dist/litElement.mixin-3llHwB-8.cjs.map +0 -1
- package/dist/litElement.mixin-6jJYHCrZ.js +0 -12
- package/dist/litElement.mixin-6jJYHCrZ.js.map +0 -1
- package/dist/magnetic-BZGFxAWG.js +0 -47
- package/dist/magnetic-BZGFxAWG.js.map +0 -1
- package/dist/magnetic-Dux4QwO4.cjs +0 -1
- package/dist/magnetic-Dux4QwO4.cjs.map +0 -1
- package/dist/mailbox-BuvsVaAQ.js +0 -1584
- package/dist/mailbox-BuvsVaAQ.js.map +0 -1
- package/dist/mailbox-D6LkQcN5.cjs +0 -1142
- package/dist/mailbox-D6LkQcN5.cjs.map +0 -1
- package/dist/map-CQiKAxC3.js +0 -205
- package/dist/map-CQiKAxC3.js.map +0 -1
- package/dist/map-D5NN4VET.cjs +0 -80
- package/dist/map-D5NN4VET.cjs.map +0 -1
- package/dist/menu-C1x04YZw.js +0 -51
- package/dist/menu-C1x04YZw.js.map +0 -1
- package/dist/menu-CkgMO9K5.cjs +0 -23
- package/dist/menu-CkgMO9K5.cjs.map +0 -1
- package/dist/notification-BnBgxjF-.js +0 -304
- package/dist/notification-BnBgxjF-.js.map +0 -1
- package/dist/notification-CZFEhWxc.cjs +0 -23
- package/dist/notification-CZFEhWxc.cjs.map +0 -1
- package/dist/option-BrxCVwSx.cjs +0 -43
- package/dist/option-BrxCVwSx.cjs.map +0 -1
- package/dist/option-DBO8xZwd.js +0 -97
- package/dist/option-DBO8xZwd.js.map +0 -1
- package/dist/overlay-stack-DQey9Qph.cjs.map +0 -1
- package/dist/overlay-stack-DT1SdaGW.js.map +0 -1
- package/dist/progress-Db2e4_Zd.cjs +0 -51
- package/dist/progress-Db2e4_Zd.cjs.map +0 -1
- package/dist/progress-DeiHxXo7.js +0 -128
- package/dist/progress-DeiHxXo7.js.map +0 -1
- package/dist/provide-C1aQhxYo.js +0 -107
- package/dist/provide-C1aQhxYo.js.map +0 -1
- package/dist/provide-DHnhQtCH.cjs +0 -1
- package/dist/provide-DHnhQtCH.cjs.map +0 -1
- package/dist/radio-group-Cspwd-Vw.cjs +0 -40
- package/dist/radio-group-Cspwd-Vw.cjs.map +0 -1
- package/dist/radio-group-zSO0AkJf.js +0 -105
- package/dist/radio-group-zSO0AkJf.js.map +0 -1
- package/dist/reduced-motion-D-L12p7G.js.map +0 -1
- package/dist/reduced-motion-Ds05GPyz.cjs.map +0 -1
- package/dist/rxjs-utils-BSjmI9-Q.js.map +0 -1
- package/dist/rxjs-utils-DCsfzeap.cjs.map +0 -1
- package/dist/scroll-QMCmbbDv.cjs +0 -26
- package/dist/scroll-QMCmbbDv.cjs.map +0 -1
- package/dist/scroll-cBDzye64.js +0 -112
- package/dist/scroll-cBDzye64.js.map +0 -1
- package/dist/search-C4dFHYbX.js.map +0 -1
- package/dist/search-Ds8tt7Et.cjs.map +0 -1
- package/dist/select-Ct37l3lg.cjs +0 -56
- package/dist/select-Ct37l3lg.cjs.map +0 -1
- package/dist/select-c6HbWvKP.js +0 -305
- package/dist/select-c6HbWvKP.js.map +0 -1
- package/dist/sheet-BMXcUiIm.js +0 -168
- package/dist/sheet-BMXcUiIm.js.map +0 -1
- package/dist/sheet-CQec-bCV.cjs +0 -35
- package/dist/sheet-CQec-bCV.cjs.map +0 -1
- package/dist/sheet.service-BcPV3Du4.js +0 -86
- package/dist/sheet.service-BcPV3Du4.js.map +0 -1
- package/dist/sheet.service-Dumvr1HT.cjs +0 -1
- package/dist/sheet.service-Dumvr1HT.cjs.map +0 -1
- package/dist/sound.service-Bu3EQLv2.cjs +0 -1
- package/dist/sound.service-Bu3EQLv2.cjs.map +0 -1
- package/dist/sound.service-m3BrSfuH.js +0 -2353
- package/dist/sound.service-m3BrSfuH.js.map +0 -1
- package/dist/src-BLngW2bl.js +0 -1244
- package/dist/src-BLngW2bl.js.map +0 -1
- package/dist/src-BtQVyqMy.cjs +0 -269
- package/dist/src-BtQVyqMy.cjs.map +0 -1
- package/dist/store-CorvD3bT.cjs.map +0 -1
- package/dist/store-DYqDLAvT.js.map +0 -1
- package/dist/surface-BjKZoJxK.cjs +0 -7
- package/dist/surface-BjKZoJxK.cjs.map +0 -1
- package/dist/surface-pK8hME5c.js +0 -21
- package/dist/surface-pK8hME5c.js.map +0 -1
- package/dist/surface.mixin-C5sDI1-_.cjs +0 -297
- package/dist/surface.mixin-C5sDI1-_.cjs.map +0 -1
- package/dist/surface.mixin-CBNRpJum.js +0 -320
- package/dist/surface.mixin-CBNRpJum.js.map +0 -1
- package/dist/table-BXIHX9h4.js +0 -631
- package/dist/table-BXIHX9h4.js.map +0 -1
- package/dist/table-CiqgZzSd.cjs +0 -63
- package/dist/table-CiqgZzSd.cjs.map +0 -1
- package/dist/tabs-CKa-W4qA.cjs +0 -31
- package/dist/tabs-CKa-W4qA.cjs.map +0 -1
- package/dist/tabs-nbV5eblZ.js +0 -125
- package/dist/tabs-nbV5eblZ.js.map +0 -1
- package/dist/tailwind.mixin-BCJOOX1_.js +0 -225
- package/dist/tailwind.mixin-BCJOOX1_.js.map +0 -1
- package/dist/tailwind.mixin-BF1Huas7.cjs +0 -2
- package/dist/tailwind.mixin-BF1Huas7.cjs.map +0 -1
- package/dist/textarea-Cp1ZE60O.cjs +0 -35
- package/dist/textarea-Cp1ZE60O.cjs.map +0 -1
- package/dist/textarea-D7q8exMg.js +0 -195
- package/dist/textarea-D7q8exMg.js.map +0 -1
- package/dist/theme-Da4SPq9X.cjs +0 -181
- package/dist/theme-Da4SPq9X.cjs.map +0 -1
- package/dist/theme-_VPV6Bxh.js +0 -4121
- package/dist/theme-_VPV6Bxh.js.map +0 -1
- package/dist/theme-button--sX8A-m1.js +0 -19
- package/dist/theme-button--sX8A-m1.js.map +0 -1
- package/dist/theme-button-Ci8VQ7KW.cjs +0 -8
- package/dist/theme-button-Ci8VQ7KW.cjs.map +0 -1
- package/dist/theme.events-Cv7N4Toe.js.map +0 -1
- package/dist/theme.events-DM4H5F2d.cjs.map +0 -1
- package/dist/theme.interface-CXloMUCw.js.map +0 -1
- package/dist/theme.interface-Da23QAYb.cjs.map +0 -1
- package/dist/theme.service-C_tjlqgy.cjs +0 -1
- package/dist/theme.service-C_tjlqgy.cjs.map +0 -1
- package/dist/theme.service-D9lEas89.js +0 -108
- package/dist/theme.service-D9lEas89.js.map +0 -1
- package/dist/tslib.es6-D7BIeDVB.cjs.map +0 -1
- package/dist/tslib.es6-ErZEp3OO.js.map +0 -1
- package/dist/typewriter-B2TnHPjw.cjs +0 -123
- package/dist/typewriter-B2TnHPjw.cjs.map +0 -1
- package/dist/typewriter-BrZNa8T-.js +0 -700
- package/dist/typewriter-BrZNa8T-.js.map +0 -1
- package/dist/utils-BcaKtQuA.cjs +0 -1
- package/dist/utils-BcaKtQuA.cjs.map +0 -1
- package/dist/utils-CoU7M2YS.js +0 -259
- package/dist/utils-CoU7M2YS.js.map +0 -1
- package/dist/window-CM1ycigo.js +0 -548
- package/dist/window-CM1ycigo.js.map +0 -1
- package/dist/window-Uii13x_r.cjs +0 -59
- package/dist/window-Uii13x_r.cjs.map +0 -1
- package/src/form/form-v2.ts +0 -268
- package/src/layout/v2/grid.ts +0 -93
- package/src/notification/outlet.ts +0 -16
- package/src/store/immer-integration.ts +0 -99
- package/src/tooltip/tooltip.ts +0 -216
- /package/dist/{animation-CO_Csq84.cjs → animation-Bcwh107v.cjs} +0 -0
- /package/dist/{animation-BK-8BwY8.js → animation-CXKSuUoE.js} +0 -0
- /package/dist/{tslib.es6-ErZEp3OO.js → decorate-D_utPUsC.js} +0 -0
- /package/dist/{tslib.es6-D7BIeDVB.cjs → decorate-F9CuyeHg.cjs} +0 -0
- /package/dist/{flow-CUj0fDT_.js → flow-CqgDEIqK.js} +0 -0
- /package/dist/{flow-Bbwn6dRN.cjs → flow-DSu4PLt1.cjs} +0 -0
- /package/dist/{hashContent-DaeGmY-p.cjs → hashContent-kKvXKFa9.cjs} +0 -0
- /package/dist/{hashContent-DYM21p6t.js → hashContent-nD2uWwi2.js} +0 -0
- /package/dist/{intersection-CZpaIHeT.cjs → intersection-D1v1UCVv.cjs} +0 -0
- /package/dist/{intersection-BPLpqYEd.js → intersection-LfEsy29T.js} +0 -0
- /package/dist/{overlay-stack-DQey9Qph.cjs → overlay-stack-CEYGD9T1.cjs} +0 -0
- /package/dist/{overlay-stack-DT1SdaGW.js → overlay-stack-Ca4EK2Mu.js} +0 -0
- /package/dist/{reduced-motion-D-L12p7G.js → reduced-motion-B83yZbcO.js} +0 -0
- /package/dist/{reduced-motion-Ds05GPyz.cjs → reduced-motion-DR32yKEO.cjs} +0 -0
- /package/dist/{rxjs-utils-BSjmI9-Q.js → rxjs-utils-Bldch1RO.js} +0 -0
- /package/dist/{rxjs-utils-DCsfzeap.cjs → rxjs-utils-hAgKC7vk.cjs} +0 -0
- /package/dist/{search-C4dFHYbX.js → search-BlGJ6uJv.js} +0 -0
- /package/dist/{search-Ds8tt7Et.cjs → search-C8eAOzBm.cjs} +0 -0
- /package/{ai → dist/skills}/animation.md +0 -0
- /package/{ai → dist/skills}/area.md +0 -0
- /package/{ai → dist/skills}/audio.md +0 -0
- /package/{ai → dist/skills}/autocomplete.md +0 -0
- /package/{ai → dist/skills}/avatar.md +0 -0
- /package/{ai → dist/skills}/badge.md +0 -0
- /package/{ai → dist/skills}/boat.md +0 -0
- /package/{ai → dist/skills}/busy.md +0 -0
- /package/{ai → dist/skills}/button.md +0 -0
- /package/{ai → dist/skills}/card.md +0 -0
- /package/{ai → dist/skills}/charts.md +0 -0
- /package/{ai → dist/skills}/checkbox.md +0 -0
- /package/{ai → dist/skills}/chips.md +0 -0
- /package/{ai → dist/skills}/code-highlight.md +0 -0
- /package/{ai → dist/skills}/connectivity.md +0 -0
- /package/{ai → dist/skills}/content-drawer.md +0 -0
- /package/{ai → dist/skills}/date-range-inline.md +0 -0
- /package/{ai → dist/skills}/date-range.md +0 -0
- /package/{ai → dist/skills}/delay.md +0 -0
- /package/{ai → dist/skills}/details.md +0 -0
- /package/{ai → dist/skills}/dialog.md +0 -0
- /package/{ai → dist/skills}/directives.md +0 -0
- /package/{ai → dist/skills}/discovery.md +0 -0
- /package/{ai → dist/skills}/divider.md +0 -0
- /package/{ai → dist/skills}/dropdown.md +0 -0
- /package/{ai → dist/skills}/expand.md +0 -0
- /package/{ai → dist/skills}/extra.md +0 -0
- /package/{ai → dist/skills}/float.md +0 -0
- /package/{ai → dist/skills}/form.md +0 -0
- /package/{ai → dist/skills}/icons.md +0 -0
- /package/{ai → dist/skills}/iframe.md +0 -0
- /package/{ai → dist/skills}/input.md +0 -0
- /package/{ai → dist/skills}/json.md +0 -0
- /package/{ai → dist/skills}/layout.md +0 -0
- /package/{ai → dist/skills}/lightbox.md +0 -0
- /package/{ai → dist/skills}/list.md +0 -0
- /package/{ai → dist/skills}/mailbox.md +0 -0
- /package/{ai → dist/skills}/map.md +0 -0
- /package/{ai → dist/skills}/menu.md +0 -0
- /package/{ai → dist/skills}/mixins.md +0 -0
- /package/{ai → dist/skills}/nav-drawer.md +0 -0
- /package/{ai → dist/skills}/navigation-bar.md +0 -0
- /package/{ai → dist/skills}/navigation-rail.md +0 -0
- /package/{ai → dist/skills}/notification.md +0 -0
- /package/{ai → dist/skills}/option.md +0 -0
- /package/{ai → dist/skills}/page.md +0 -0
- /package/{ai → dist/skills}/progress.md +0 -0
- /package/{ai → dist/skills}/qr-scanner.md +0 -0
- /package/{ai → dist/skills}/radio-group.md +0 -0
- /package/{ai → dist/skills}/range.md +0 -0
- /package/{ai → dist/skills}/rxjs-utils.md +0 -0
- /package/dist/{ai → skills/schmancy}/animation.md +0 -0
- /package/dist/{ai → skills/schmancy}/area.md +0 -0
- /package/dist/{ai → skills/schmancy}/audio.md +0 -0
- /package/dist/{ai → skills/schmancy}/autocomplete.md +0 -0
- /package/dist/{ai → skills/schmancy}/avatar.md +0 -0
- /package/dist/{ai → skills/schmancy}/badge.md +0 -0
- /package/dist/{ai → skills/schmancy}/boat.md +0 -0
- /package/dist/{ai → skills/schmancy}/busy.md +0 -0
- /package/dist/{ai → skills/schmancy}/button.md +0 -0
- /package/dist/{ai → skills/schmancy}/card.md +0 -0
- /package/dist/{ai → skills/schmancy}/charts.md +0 -0
- /package/dist/{ai → skills/schmancy}/checkbox.md +0 -0
- /package/dist/{ai → skills/schmancy}/chips.md +0 -0
- /package/dist/{ai → skills/schmancy}/code-highlight.md +0 -0
- /package/dist/{ai → skills/schmancy}/connectivity.md +0 -0
- /package/dist/{ai → skills/schmancy}/content-drawer.md +0 -0
- /package/dist/{ai → skills/schmancy}/date-range-inline.md +0 -0
- /package/dist/{ai → skills/schmancy}/date-range.md +0 -0
- /package/dist/{ai → skills/schmancy}/delay.md +0 -0
- /package/dist/{ai → skills/schmancy}/details.md +0 -0
- /package/dist/{ai → skills/schmancy}/dialog.md +0 -0
- /package/dist/{ai → skills/schmancy}/directives.md +0 -0
- /package/dist/{ai → skills/schmancy}/discovery.md +0 -0
- /package/dist/{ai → skills/schmancy}/divider.md +0 -0
- /package/dist/{ai → skills/schmancy}/dropdown.md +0 -0
- /package/dist/{ai → skills/schmancy}/expand.md +0 -0
- /package/dist/{ai → skills/schmancy}/extra.md +0 -0
- /package/dist/{ai → skills/schmancy}/float.md +0 -0
- /package/dist/{ai → skills/schmancy}/form.md +0 -0
- /package/dist/{ai → skills/schmancy}/icons.md +0 -0
- /package/dist/{ai → skills/schmancy}/iframe.md +0 -0
- /package/dist/{ai → skills/schmancy}/input.md +0 -0
- /package/dist/{ai → skills/schmancy}/json.md +0 -0
- /package/dist/{ai → skills/schmancy}/layout.md +0 -0
- /package/dist/{ai → skills/schmancy}/lightbox.md +0 -0
- /package/dist/{ai → skills/schmancy}/list.md +0 -0
- /package/dist/{ai → skills/schmancy}/mailbox.md +0 -0
- /package/dist/{ai → skills/schmancy}/map.md +0 -0
- /package/dist/{ai → skills/schmancy}/menu.md +0 -0
- /package/dist/{ai → skills/schmancy}/mixins.md +0 -0
- /package/dist/{ai → skills/schmancy}/nav-drawer.md +0 -0
- /package/dist/{ai → skills/schmancy}/navigation-bar.md +0 -0
- /package/dist/{ai → skills/schmancy}/navigation-rail.md +0 -0
- /package/dist/{ai → skills/schmancy}/notification.md +0 -0
- /package/dist/{ai → skills/schmancy}/option.md +0 -0
- /package/dist/{ai → skills/schmancy}/page.md +0 -0
- /package/dist/{ai → skills/schmancy}/progress.md +0 -0
- /package/dist/{ai → skills/schmancy}/qr-scanner.md +0 -0
- /package/dist/{ai → skills/schmancy}/radio-group.md +0 -0
- /package/dist/{ai → skills/schmancy}/range.md +0 -0
- /package/dist/{ai → skills/schmancy}/rxjs-utils.md +0 -0
- /package/{ai → dist/skills/schmancy}/select.md +0 -0
- /package/{ai → dist/skills/schmancy}/sheet.md +0 -0
- /package/{ai → dist/skills/schmancy}/slider.md +0 -0
- /package/{ai → dist/skills/schmancy}/steps.md +0 -0
- /package/{ai → dist/skills/schmancy}/store.md +0 -0
- /package/{ai → dist/skills/schmancy}/surface.md +0 -0
- /package/{ai → dist/skills/schmancy}/table.md +0 -0
- /package/{ai → dist/skills/schmancy}/tabs.md +0 -0
- /package/{ai → dist/skills/schmancy}/teleport.md +0 -0
- /package/{ai → dist/skills/schmancy}/textarea.md +0 -0
- /package/{ai → dist/skills/schmancy}/theme-button.md +0 -0
- /package/{ai → dist/skills/schmancy}/theme.md +0 -0
- /package/{ai → dist/skills/schmancy}/tree.md +0 -0
- /package/{ai → dist/skills/schmancy}/typewriter.md +0 -0
- /package/{ai → dist/skills/schmancy}/typography.md +0 -0
- /package/{ai → dist/skills/schmancy}/utils.md +0 -0
- /package/{ai → dist/skills/schmancy}/window.md +0 -0
- /package/dist/{ai → skills}/select.md +0 -0
- /package/dist/{ai → skills}/sheet.md +0 -0
- /package/dist/{ai → skills}/slider.md +0 -0
- /package/dist/{ai → skills}/steps.md +0 -0
- /package/dist/{ai → skills}/store.md +0 -0
- /package/dist/{ai → skills}/surface.md +0 -0
- /package/dist/{ai → skills}/table.md +0 -0
- /package/dist/{ai → skills}/tabs.md +0 -0
- /package/dist/{ai → skills}/teleport.md +0 -0
- /package/dist/{ai → skills}/textarea.md +0 -0
- /package/dist/{ai → skills}/theme-button.md +0 -0
- /package/dist/{ai → skills}/theme.md +0 -0
- /package/dist/{ai → skills}/tree.md +0 -0
- /package/dist/{ai → skills}/typewriter.md +0 -0
- /package/dist/{ai → skills}/typography.md +0 -0
- /package/dist/{ai → skills}/utils.md +0 -0
- /package/dist/{ai → skills}/window.md +0 -0
- /package/dist/{store-DYqDLAvT.js → store-Bmj6rvZY.js} +0 -0
- /package/dist/{store-CorvD3bT.cjs → store-CO4nJyGj.cjs} +0 -0
- /package/dist/{theme.events-Cv7N4Toe.js → theme.events-Bw3mYjUA.js} +0 -0
- /package/dist/{theme.events-DM4H5F2d.cjs → theme.events-EznKK2Y0.cjs} +0 -0
- /package/dist/{theme.interface-Da23QAYb.cjs → theme.interface-CM26m9te.cjs} +0 -0
- /package/dist/{theme.interface-CXloMUCw.js → theme.interface-FAUIgbIq.js} +0 -0
|
@@ -1,267 +0,0 @@
|
|
|
1
|
-
import { i as e } from "./tailwind.mixin-BCJOOX1_.js";
|
|
2
|
-
import { SchmancyFormField as t } from "./mixins.js";
|
|
3
|
-
import { customElement as n, property as r, state as i } from "lit/decorators.js";
|
|
4
|
-
import { html as a } from "lit";
|
|
5
|
-
var o = class extends t() {
|
|
6
|
-
constructor(...e) {
|
|
7
|
-
super(...e), this.type = "date", this.dateFrom = {
|
|
8
|
-
label: "From",
|
|
9
|
-
value: ""
|
|
10
|
-
}, this.dateTo = {
|
|
11
|
-
label: "To",
|
|
12
|
-
value: ""
|
|
13
|
-
}, this.compact = !1, this.autoCorrect = !0, this.minGap = 0, this.defaultGap = 1, this.allowSameDate = !1, this.validationState = {
|
|
14
|
-
dateFromError: "",
|
|
15
|
-
dateToError: "",
|
|
16
|
-
rangeError: ""
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
connectedCallback() {
|
|
20
|
-
super.connectedCallback(), this.dateFrom.value || this.dateTo.value ? this.validateAndCorrect() : this.setSmartDefaults();
|
|
21
|
-
}
|
|
22
|
-
setSmartDefaults() {
|
|
23
|
-
let e = /* @__PURE__ */ new Date(), t = new Date(e);
|
|
24
|
-
t.setDate(t.getDate() + this.defaultGap);
|
|
25
|
-
let n = this.type === "datetime-local" ? "YYYY-MM-DDTHH:mm" : "YYYY-MM-DD";
|
|
26
|
-
this.dateFrom = {
|
|
27
|
-
...this.dateFrom,
|
|
28
|
-
value: this.formatDate(e, n)
|
|
29
|
-
}, this.dateTo = {
|
|
30
|
-
...this.dateTo,
|
|
31
|
-
value: this.formatDate(t, n)
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
formatDate(e, t) {
|
|
35
|
-
let n = e.getFullYear(), r = String(e.getMonth() + 1).padStart(2, "0"), i = String(e.getDate()).padStart(2, "0");
|
|
36
|
-
return t === "YYYY-MM-DD" ? `${n}-${r}-${i}` : `${n}-${r}-${i}T${String(e.getHours()).padStart(2, "0")}:${String(e.getMinutes()).padStart(2, "0")}`;
|
|
37
|
-
}
|
|
38
|
-
parseDate(e) {
|
|
39
|
-
if (!e) return null;
|
|
40
|
-
let t = new Date(e);
|
|
41
|
-
return isNaN(t.getTime()) ? null : t;
|
|
42
|
-
}
|
|
43
|
-
getDaysBetween(e, t) {
|
|
44
|
-
return Math.floor((t.getTime() - e.getTime()) / 864e5);
|
|
45
|
-
}
|
|
46
|
-
handleDateFromChange(e) {
|
|
47
|
-
let t = e.target.value;
|
|
48
|
-
if (this.dateFrom = {
|
|
49
|
-
...this.dateFrom,
|
|
50
|
-
value: t
|
|
51
|
-
}, this.validationState = {
|
|
52
|
-
...this.validationState,
|
|
53
|
-
dateFromError: "",
|
|
54
|
-
rangeError: ""
|
|
55
|
-
}, !t) return this.required ? (this.validationState = {
|
|
56
|
-
...this.validationState,
|
|
57
|
-
dateFromError: "Start date is required"
|
|
58
|
-
}, void (this.error = !0)) : void this.emitChange();
|
|
59
|
-
this.validateAndCorrect("from");
|
|
60
|
-
}
|
|
61
|
-
handleDateToChange(e) {
|
|
62
|
-
let t = e.target.value;
|
|
63
|
-
if (this.dateTo = {
|
|
64
|
-
...this.dateTo,
|
|
65
|
-
value: t
|
|
66
|
-
}, this.validationState = {
|
|
67
|
-
...this.validationState,
|
|
68
|
-
dateToError: "",
|
|
69
|
-
rangeError: ""
|
|
70
|
-
}, !t) return this.required ? (this.validationState = {
|
|
71
|
-
...this.validationState,
|
|
72
|
-
dateToError: "End date is required"
|
|
73
|
-
}, void (this.error = !0)) : void this.emitChange();
|
|
74
|
-
this.validateAndCorrect("to");
|
|
75
|
-
}
|
|
76
|
-
validateAndCorrect(e) {
|
|
77
|
-
let t = this.parseDate(this.dateFrom.value), n = this.parseDate(this.dateTo.value), r = !1, i = {
|
|
78
|
-
dateFromError: "",
|
|
79
|
-
dateToError: "",
|
|
80
|
-
rangeError: ""
|
|
81
|
-
};
|
|
82
|
-
if (this.dateFrom.value && !t && (i.dateFromError = "Invalid date format", r = !0), this.dateTo.value && !n && (i.dateToError = "Invalid date format", r = !0), t && n) {
|
|
83
|
-
let a = this.getDaysBetween(t, n);
|
|
84
|
-
if (t > n) {
|
|
85
|
-
if (this.autoCorrect) {
|
|
86
|
-
if (e === "from") {
|
|
87
|
-
let e = new Date(t);
|
|
88
|
-
e.setDate(e.getDate() + this.defaultGap), this.dateTo = {
|
|
89
|
-
...this.dateTo,
|
|
90
|
-
value: this.formatDate(e, this.type === "datetime-local" ? "YYYY-MM-DDTHH:mm" : "YYYY-MM-DD")
|
|
91
|
-
};
|
|
92
|
-
} else if (e === "to") {
|
|
93
|
-
let e = new Date(n);
|
|
94
|
-
e.setDate(e.getDate() - this.defaultGap), this.dateFrom = {
|
|
95
|
-
...this.dateFrom,
|
|
96
|
-
value: this.formatDate(e, this.type === "datetime-local" ? "YYYY-MM-DDTHH:mm" : "YYYY-MM-DD")
|
|
97
|
-
};
|
|
98
|
-
} else {
|
|
99
|
-
let e = this.dateFrom.value;
|
|
100
|
-
this.dateFrom = {
|
|
101
|
-
...this.dateFrom,
|
|
102
|
-
value: this.dateTo.value
|
|
103
|
-
}, this.dateTo = {
|
|
104
|
-
...this.dateTo,
|
|
105
|
-
value: e
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
this.validateAndCorrect();
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
i.rangeError = "End date must be after start date", r = !0;
|
|
112
|
-
}
|
|
113
|
-
if (!this.allowSameDate && a === 0) {
|
|
114
|
-
if (this.autoCorrect && e) {
|
|
115
|
-
if (e === "from") {
|
|
116
|
-
let e = new Date(t);
|
|
117
|
-
e.setDate(e.getDate() + this.defaultGap), this.dateTo = {
|
|
118
|
-
...this.dateTo,
|
|
119
|
-
value: this.formatDate(e, this.type === "datetime-local" ? "YYYY-MM-DDTHH:mm" : "YYYY-MM-DD")
|
|
120
|
-
};
|
|
121
|
-
} else {
|
|
122
|
-
let e = new Date(n);
|
|
123
|
-
e.setDate(e.getDate() - this.defaultGap), this.dateFrom = {
|
|
124
|
-
...this.dateFrom,
|
|
125
|
-
value: this.formatDate(e, this.type === "datetime-local" ? "YYYY-MM-DDTHH:mm" : "YYYY-MM-DD")
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
this.validateAndCorrect();
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
i.rangeError = "Start and end dates cannot be the same", r = !0;
|
|
132
|
-
}
|
|
133
|
-
if (this.minGap > 0 && a < this.minGap) {
|
|
134
|
-
if (this.autoCorrect && e) {
|
|
135
|
-
if (e === "from") {
|
|
136
|
-
let e = new Date(t);
|
|
137
|
-
e.setDate(e.getDate() + this.minGap), this.dateTo = {
|
|
138
|
-
...this.dateTo,
|
|
139
|
-
value: this.formatDate(e, this.type === "datetime-local" ? "YYYY-MM-DDTHH:mm" : "YYYY-MM-DD")
|
|
140
|
-
};
|
|
141
|
-
} else {
|
|
142
|
-
let e = new Date(n);
|
|
143
|
-
e.setDate(e.getDate() - this.minGap), this.dateFrom = {
|
|
144
|
-
...this.dateFrom,
|
|
145
|
-
value: this.formatDate(e, this.type === "datetime-local" ? "YYYY-MM-DDTHH:mm" : "YYYY-MM-DD")
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
this.validateAndCorrect();
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
i.rangeError = `Minimum ${this.minGap} day${this.minGap > 1 ? "s" : ""} required between dates`, r = !0;
|
|
152
|
-
}
|
|
153
|
-
if (this.maxGap !== void 0 && a > this.maxGap) {
|
|
154
|
-
if (this.autoCorrect && e) {
|
|
155
|
-
if (e === "from") {
|
|
156
|
-
let e = new Date(t);
|
|
157
|
-
e.setDate(e.getDate() + this.maxGap), this.dateTo = {
|
|
158
|
-
...this.dateTo,
|
|
159
|
-
value: this.formatDate(e, this.type === "datetime-local" ? "YYYY-MM-DDTHH:mm" : "YYYY-MM-DD")
|
|
160
|
-
};
|
|
161
|
-
} else {
|
|
162
|
-
let e = new Date(n);
|
|
163
|
-
e.setDate(e.getDate() - this.maxGap), this.dateFrom = {
|
|
164
|
-
...this.dateFrom,
|
|
165
|
-
value: this.formatDate(e, this.type === "datetime-local" ? "YYYY-MM-DDTHH:mm" : "YYYY-MM-DD")
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
this.validateAndCorrect();
|
|
169
|
-
return;
|
|
170
|
-
}
|
|
171
|
-
i.rangeError = `Maximum ${this.maxGap} day${this.maxGap > 1 ? "s" : ""} allowed between dates`, r = !0;
|
|
172
|
-
}
|
|
173
|
-
if (this.minDate) {
|
|
174
|
-
let e = this.parseDate(this.minDate);
|
|
175
|
-
e && t < e && (i.dateFromError = "Date is before minimum allowed date", r = !0);
|
|
176
|
-
}
|
|
177
|
-
if (this.maxDate) {
|
|
178
|
-
let e = this.parseDate(this.maxDate);
|
|
179
|
-
e && n > e && (i.dateToError = "Date is after maximum allowed date", r = !0);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
this.validationState = i, this.error = r, this.emitChange();
|
|
183
|
-
}
|
|
184
|
-
getComputedMinDateTo() {
|
|
185
|
-
if (!this.dateFrom.value) return this.minDate;
|
|
186
|
-
let e = this.parseDate(this.dateFrom.value);
|
|
187
|
-
if (!e) return this.minDate;
|
|
188
|
-
let t = new Date(e);
|
|
189
|
-
if (this.allowSameDate || t.setDate(t.getDate() + 1), this.minGap > 0 && t.setDate(e.getDate() + this.minGap), this.minDate) {
|
|
190
|
-
let e = this.parseDate(this.minDate);
|
|
191
|
-
if (e && e > t) return this.minDate;
|
|
192
|
-
}
|
|
193
|
-
return this.formatDate(t, this.type === "datetime-local" ? "YYYY-MM-DDTHH:mm" : "YYYY-MM-DD");
|
|
194
|
-
}
|
|
195
|
-
getComputedMaxDateFrom() {
|
|
196
|
-
if (!this.dateTo.value) return this.maxDate;
|
|
197
|
-
let e = this.parseDate(this.dateTo.value);
|
|
198
|
-
if (!e) return this.maxDate;
|
|
199
|
-
let t = new Date(e);
|
|
200
|
-
if (this.allowSameDate || t.setDate(t.getDate() - 1), this.minGap > 0 && t.setDate(e.getDate() - this.minGap), this.maxDate) {
|
|
201
|
-
let e = this.parseDate(this.maxDate);
|
|
202
|
-
if (e && e < t) return this.maxDate;
|
|
203
|
-
}
|
|
204
|
-
return this.formatDate(t, this.type === "datetime-local" ? "YYYY-MM-DDTHH:mm" : "YYYY-MM-DD");
|
|
205
|
-
}
|
|
206
|
-
emitChange() {
|
|
207
|
-
let e = !(this.error || !this.dateFrom.value || !this.dateTo.value || this.validationState.dateFromError || this.validationState.dateToError || this.validationState.rangeError);
|
|
208
|
-
this.dispatchEvent(new CustomEvent("change", {
|
|
209
|
-
detail: {
|
|
210
|
-
dateFrom: this.dateFrom.value,
|
|
211
|
-
dateTo: this.dateTo.value,
|
|
212
|
-
isValid: e
|
|
213
|
-
},
|
|
214
|
-
bubbles: !0,
|
|
215
|
-
composed: !0
|
|
216
|
-
}));
|
|
217
|
-
}
|
|
218
|
-
render() {
|
|
219
|
-
let e = this.validationState.dateFromError || this.validationState.rangeError, t = this.validationState.dateToError || this.validationState.rangeError;
|
|
220
|
-
return a`
|
|
221
|
-
<div class="w-full">
|
|
222
|
-
<div class="flex items-start gap-2 w-full">
|
|
223
|
-
<div class="flex-1">
|
|
224
|
-
<schmancy-input
|
|
225
|
-
.type=${this.type}
|
|
226
|
-
.label=${this.dateFrom.label}
|
|
227
|
-
.value=${this.dateFrom.value}
|
|
228
|
-
.min=${this.minDate}
|
|
229
|
-
.max=${this.getComputedMaxDateFrom()}
|
|
230
|
-
@change=${this.handleDateFromChange}
|
|
231
|
-
.error=${!!e}
|
|
232
|
-
.hint=${e || ""}
|
|
233
|
-
.required=${this.required}
|
|
234
|
-
.disabled=${this.disabled}
|
|
235
|
-
size=${this.compact ? "sm" : "md"}
|
|
236
|
-
></schmancy-input>
|
|
237
|
-
</div>
|
|
238
|
-
|
|
239
|
-
<div class="flex items-center justify-center ${this.compact ? "pt-8" : "pt-10"} px-1">
|
|
240
|
-
<schmancy-icon class="text-surface-onVariant opacity-50">
|
|
241
|
-
arrow_forward
|
|
242
|
-
</schmancy-icon>
|
|
243
|
-
</div>
|
|
244
|
-
|
|
245
|
-
<div class="flex-1">
|
|
246
|
-
<schmancy-input
|
|
247
|
-
.type=${this.type}
|
|
248
|
-
.label=${this.dateTo.label}
|
|
249
|
-
.value=${this.dateTo.value}
|
|
250
|
-
.min=${this.getComputedMinDateTo()}
|
|
251
|
-
.max=${this.maxDate}
|
|
252
|
-
@change=${this.handleDateToChange}
|
|
253
|
-
.error=${!!t}
|
|
254
|
-
.hint=${t || ""}
|
|
255
|
-
.required=${this.required}
|
|
256
|
-
.disabled=${this.disabled}
|
|
257
|
-
size=${this.compact ? "sm" : "md"}
|
|
258
|
-
></schmancy-input>
|
|
259
|
-
</div>
|
|
260
|
-
</div>
|
|
261
|
-
</div>
|
|
262
|
-
`;
|
|
263
|
-
}
|
|
264
|
-
};
|
|
265
|
-
e([r({ type: String })], o.prototype, "type", void 0), e([r({ type: Object })], o.prototype, "dateFrom", void 0), e([r({ type: Object })], o.prototype, "dateTo", void 0), e([r({ type: String })], o.prototype, "minDate", void 0), e([r({ type: String })], o.prototype, "maxDate", void 0), e([r({ type: Boolean })], o.prototype, "compact", void 0), e([r({ type: Boolean })], o.prototype, "autoCorrect", void 0), e([r({ type: Number })], o.prototype, "minGap", void 0), e([r({ type: Number })], o.prototype, "maxGap", void 0), e([r({ type: Number })], o.prototype, "defaultGap", void 0), e([r({ type: Boolean })], o.prototype, "allowSameDate", void 0), e([i()], o.prototype, "validationState", void 0);
|
|
266
|
-
var s = o = e([n("schmancy-date-range-inline")], o);
|
|
267
|
-
export { s as t };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-inline-Bl8qbiQF.js","names":[],"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}"],"mappings":"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"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-BF1Huas7.cjs`),t=require(`./mixins.cjs`);let n=require(`lit/decorators.js`),r=require(`lit`);var i=class extends t.SchmancyFormField(){constructor(...e){super(...e),this.type=`date`,this.dateFrom={label:`From`,value:``},this.dateTo={label:`To`,value:``},this.compact=!1,this.autoCorrect=!0,this.minGap=0,this.defaultGap=1,this.allowSameDate=!1,this.validationState={dateFromError:``,dateToError:``,rangeError:``}}connectedCallback(){super.connectedCallback(),this.dateFrom.value||this.dateTo.value?this.validateAndCorrect():this.setSmartDefaults()}setSmartDefaults(){let e=new Date,t=new Date(e);t.setDate(t.getDate()+this.defaultGap);let n=this.type===`datetime-local`?`YYYY-MM-DDTHH:mm`:`YYYY-MM-DD`;this.dateFrom={...this.dateFrom,value:this.formatDate(e,n)},this.dateTo={...this.dateTo,value:this.formatDate(t,n)}}formatDate(e,t){let n=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,`0`),i=String(e.getDate()).padStart(2,`0`);return t===`YYYY-MM-DD`?`${n}-${r}-${i}`:`${n}-${r}-${i}T${String(e.getHours()).padStart(2,`0`)}:${String(e.getMinutes()).padStart(2,`0`)}`}parseDate(e){if(!e)return null;let t=new Date(e);return isNaN(t.getTime())?null:t}getDaysBetween(e,t){return Math.floor((t.getTime()-e.getTime())/864e5)}handleDateFromChange(e){let t=e.target.value;if(this.dateFrom={...this.dateFrom,value:t},this.validationState={...this.validationState,dateFromError:``,rangeError:``},!t)return this.required?(this.validationState={...this.validationState,dateFromError:`Start date is required`},void(this.error=!0)):void this.emitChange();this.validateAndCorrect(`from`)}handleDateToChange(e){let t=e.target.value;if(this.dateTo={...this.dateTo,value:t},this.validationState={...this.validationState,dateToError:``,rangeError:``},!t)return this.required?(this.validationState={...this.validationState,dateToError:`End date is required`},void(this.error=!0)):void this.emitChange();this.validateAndCorrect(`to`)}validateAndCorrect(e){let t=this.parseDate(this.dateFrom.value),n=this.parseDate(this.dateTo.value),r=!1,i={dateFromError:``,dateToError:``,rangeError:``};if(this.dateFrom.value&&!t&&(i.dateFromError=`Invalid date format`,r=!0),this.dateTo.value&&!n&&(i.dateToError=`Invalid date format`,r=!0),t&&n){let a=this.getDaysBetween(t,n);if(t>n){if(this.autoCorrect){if(e===`from`){let e=new Date(t);e.setDate(e.getDate()+this.defaultGap),this.dateTo={...this.dateTo,value:this.formatDate(e,this.type===`datetime-local`?`YYYY-MM-DDTHH:mm`:`YYYY-MM-DD`)}}else if(e===`to`){let e=new Date(n);e.setDate(e.getDate()-this.defaultGap),this.dateFrom={...this.dateFrom,value:this.formatDate(e,this.type===`datetime-local`?`YYYY-MM-DDTHH:mm`:`YYYY-MM-DD`)}}else{let e=this.dateFrom.value;this.dateFrom={...this.dateFrom,value:this.dateTo.value},this.dateTo={...this.dateTo,value:e}}this.validateAndCorrect();return}i.rangeError=`End date must be after start date`,r=!0}if(!this.allowSameDate&&a===0){if(this.autoCorrect&&e){if(e===`from`){let e=new Date(t);e.setDate(e.getDate()+this.defaultGap),this.dateTo={...this.dateTo,value:this.formatDate(e,this.type===`datetime-local`?`YYYY-MM-DDTHH:mm`:`YYYY-MM-DD`)}}else{let e=new Date(n);e.setDate(e.getDate()-this.defaultGap),this.dateFrom={...this.dateFrom,value:this.formatDate(e,this.type===`datetime-local`?`YYYY-MM-DDTHH:mm`:`YYYY-MM-DD`)}}this.validateAndCorrect();return}i.rangeError=`Start and end dates cannot be the same`,r=!0}if(this.minGap>0&&a<this.minGap){if(this.autoCorrect&&e){if(e===`from`){let e=new Date(t);e.setDate(e.getDate()+this.minGap),this.dateTo={...this.dateTo,value:this.formatDate(e,this.type===`datetime-local`?`YYYY-MM-DDTHH:mm`:`YYYY-MM-DD`)}}else{let e=new Date(n);e.setDate(e.getDate()-this.minGap),this.dateFrom={...this.dateFrom,value:this.formatDate(e,this.type===`datetime-local`?`YYYY-MM-DDTHH:mm`:`YYYY-MM-DD`)}}this.validateAndCorrect();return}i.rangeError=`Minimum ${this.minGap} day${this.minGap>1?`s`:``} required between dates`,r=!0}if(this.maxGap!==void 0&&a>this.maxGap){if(this.autoCorrect&&e){if(e===`from`){let e=new Date(t);e.setDate(e.getDate()+this.maxGap),this.dateTo={...this.dateTo,value:this.formatDate(e,this.type===`datetime-local`?`YYYY-MM-DDTHH:mm`:`YYYY-MM-DD`)}}else{let e=new Date(n);e.setDate(e.getDate()-this.maxGap),this.dateFrom={...this.dateFrom,value:this.formatDate(e,this.type===`datetime-local`?`YYYY-MM-DDTHH:mm`:`YYYY-MM-DD`)}}this.validateAndCorrect();return}i.rangeError=`Maximum ${this.maxGap} day${this.maxGap>1?`s`:``} allowed between dates`,r=!0}if(this.minDate){let e=this.parseDate(this.minDate);e&&t<e&&(i.dateFromError=`Date is before minimum allowed date`,r=!0)}if(this.maxDate){let e=this.parseDate(this.maxDate);e&&n>e&&(i.dateToError=`Date is after maximum allowed date`,r=!0)}}this.validationState=i,this.error=r,this.emitChange()}getComputedMinDateTo(){if(!this.dateFrom.value)return this.minDate;let e=this.parseDate(this.dateFrom.value);if(!e)return this.minDate;let t=new Date(e);if(this.allowSameDate||t.setDate(t.getDate()+1),this.minGap>0&&t.setDate(e.getDate()+this.minGap),this.minDate){let e=this.parseDate(this.minDate);if(e&&e>t)return this.minDate}return this.formatDate(t,this.type===`datetime-local`?`YYYY-MM-DDTHH:mm`:`YYYY-MM-DD`)}getComputedMaxDateFrom(){if(!this.dateTo.value)return this.maxDate;let e=this.parseDate(this.dateTo.value);if(!e)return this.maxDate;let t=new Date(e);if(this.allowSameDate||t.setDate(t.getDate()-1),this.minGap>0&&t.setDate(e.getDate()-this.minGap),this.maxDate){let e=this.parseDate(this.maxDate);if(e&&e<t)return this.maxDate}return this.formatDate(t,this.type===`datetime-local`?`YYYY-MM-DDTHH:mm`:`YYYY-MM-DD`)}emitChange(){let e=!(this.error||!this.dateFrom.value||!this.dateTo.value||this.validationState.dateFromError||this.validationState.dateToError||this.validationState.rangeError);this.dispatchEvent(new CustomEvent(`change`,{detail:{dateFrom:this.dateFrom.value,dateTo:this.dateTo.value,isValid:e},bubbles:!0,composed:!0}))}render(){let e=this.validationState.dateFromError||this.validationState.rangeError,t=this.validationState.dateToError||this.validationState.rangeError;return r.html`
|
|
2
|
-
<div class="w-full">
|
|
3
|
-
<div class="flex items-start gap-2 w-full">
|
|
4
|
-
<div class="flex-1">
|
|
5
|
-
<schmancy-input
|
|
6
|
-
.type=${this.type}
|
|
7
|
-
.label=${this.dateFrom.label}
|
|
8
|
-
.value=${this.dateFrom.value}
|
|
9
|
-
.min=${this.minDate}
|
|
10
|
-
.max=${this.getComputedMaxDateFrom()}
|
|
11
|
-
@change=${this.handleDateFromChange}
|
|
12
|
-
.error=${!!e}
|
|
13
|
-
.hint=${e||``}
|
|
14
|
-
.required=${this.required}
|
|
15
|
-
.disabled=${this.disabled}
|
|
16
|
-
size=${this.compact?`sm`:`md`}
|
|
17
|
-
></schmancy-input>
|
|
18
|
-
</div>
|
|
19
|
-
|
|
20
|
-
<div class="flex items-center justify-center ${this.compact?`pt-8`:`pt-10`} px-1">
|
|
21
|
-
<schmancy-icon class="text-surface-onVariant opacity-50">
|
|
22
|
-
arrow_forward
|
|
23
|
-
</schmancy-icon>
|
|
24
|
-
</div>
|
|
25
|
-
|
|
26
|
-
<div class="flex-1">
|
|
27
|
-
<schmancy-input
|
|
28
|
-
.type=${this.type}
|
|
29
|
-
.label=${this.dateTo.label}
|
|
30
|
-
.value=${this.dateTo.value}
|
|
31
|
-
.min=${this.getComputedMinDateTo()}
|
|
32
|
-
.max=${this.maxDate}
|
|
33
|
-
@change=${this.handleDateToChange}
|
|
34
|
-
.error=${!!t}
|
|
35
|
-
.hint=${t||``}
|
|
36
|
-
.required=${this.required}
|
|
37
|
-
.disabled=${this.disabled}
|
|
38
|
-
size=${this.compact?`sm`:`md`}
|
|
39
|
-
></schmancy-input>
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
</div>
|
|
43
|
-
`}};e.i([(0,n.property)({type:String})],i.prototype,`type`,void 0),e.i([(0,n.property)({type:Object})],i.prototype,`dateFrom`,void 0),e.i([(0,n.property)({type:Object})],i.prototype,`dateTo`,void 0),e.i([(0,n.property)({type:String})],i.prototype,`minDate`,void 0),e.i([(0,n.property)({type:String})],i.prototype,`maxDate`,void 0),e.i([(0,n.property)({type:Boolean})],i.prototype,`compact`,void 0),e.i([(0,n.property)({type:Boolean})],i.prototype,`autoCorrect`,void 0),e.i([(0,n.property)({type:Number})],i.prototype,`minGap`,void 0),e.i([(0,n.property)({type:Number})],i.prototype,`maxGap`,void 0),e.i([(0,n.property)({type:Number})],i.prototype,`defaultGap`,void 0),e.i([(0,n.property)({type:Boolean})],i.prototype,`allowSameDate`,void 0),e.i([(0,n.state)()],i.prototype,`validationState`,void 0);var a=i=e.i([(0,n.customElement)(`schmancy-date-range-inline`)],i);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-inline-m7nLjOMI.cjs","names":[],"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}"],"mappings":"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"}
|
package/dist/delay-7boauN6N.cjs
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-BF1Huas7.cjs`),t=require(`./provide-DHnhQtCH.cjs`),n=require(`./litElement.mixin-3llHwB-8.cjs`),r=require(`./hashContent-DaeGmY-p.cjs`);let i=require(`rxjs`),a=require(`rxjs/operators`),o=require(`lit/decorators.js`),s=require(`lit`),c=require(`lit/async-directive.js`),l=require(`lit/directive.js`),u=require(`lit/html.js`),d=require(`lit/directives/cache.js`);var f,p=new WeakMap,m=0,h=new Map,g=new WeakSet,_=()=>new Promise(e=>requestAnimationFrame(e)),v=[{transform:`translateY(100%) scale(0)`,opacity:0}],y=[{transform:`translateY(-100%) scale(0)`,opacity:0}],b=[{opacity:0},{opacity:1}],x=(e,t)=>{let n=e-t;return n===0?void 0:n},S=(e,t)=>{let n=e/t;return n===1?void 0:n},C={left:(e,t)=>{let n=x(e,t);return{value:n,transform:n==null||isNaN(n)?void 0:`translateX(${n}px)`}},top:(e,t)=>{let n=x(e,t);return{value:n,transform:n==null||isNaN(n)?void 0:`translateY(${n}px)`}},width:(e,t)=>{let n;t===0&&(t=1,n={width:`1px`});let r=S(e,t);return{value:r,overrideFrom:n,transform:r==null||isNaN(r)?void 0:`scaleX(${r})`}},height:(e,t)=>{let n;t===0&&(t=1,n={height:`1px`});let r=S(e,t);return{value:r,overrideFrom:n,transform:r==null||isNaN(r)?void 0:`scaleY(${r})`}}},w={duration:333,easing:`ease-in-out`},T=[`left`,`top`,`width`,`height`,`opacity`,`color`,`background`],E=new WeakMap,D=class extends c.AsyncDirective{constructor(e){if(super(e),this.t=!1,this.i=null,this.o=null,this.h=!0,this.shouldLog=!1,e.type===l.PartType.CHILD)throw Error("The `animate` directive must be used in attribute position.");this.createFinished()}createFinished(){this.resolveFinished?.(),this.finished=new Promise(e=>{this.l=e})}async resolveFinished(){this.l?.(),this.l=void 0}render(e){return u.nothing}getController(){return p.get(this.u)}isDisabled(){return this.options.disabled||this.getController()?.disabled}update(e,[t]){let n=this.u===void 0;return n&&(this.u=e.options?.host,this.u.addController(this),this.u.updateComplete.then(e=>this.t=!0),this.element=e.element,E.set(this.element,this)),this.optionsOrCallback=t,(n||typeof t!=`function`)&&this.m(t),this.render(t)}m(e){e??={};let t=this.getController();t!==void 0&&((e={...t.defaultOptions,...e}).keyframeOptions={...t.defaultOptions.keyframeOptions,...e.keyframeOptions}),e.properties??=T,this.options=e}p(){let e={},t=this.element.getBoundingClientRect(),n=getComputedStyle(this.element);return this.options.properties.forEach(r=>{let i=t[r]??(C[r]?void 0:n[r]),a=Number(i);e[r]=isNaN(a)?i+``:a}),e}v(){let e,t=!0;return this.options.guard&&(e=this.options.guard(),t=((e,t)=>{if(Array.isArray(e)){if(Array.isArray(t)&&t.length===e.length&&e.every((e,n)=>e===t[n]))return!1}else if(t===e)return!1;return!0})(e,this._)),this.h=this.t&&!this.isDisabled()&&!this.isAnimating()&&t&&this.element.isConnected,this.h&&(this._=Array.isArray(e)?Array.from(e):e),this.h}hostUpdate(){typeof this.optionsOrCallback==`function`&&this.m(this.optionsOrCallback()),this.v()&&(this.A=this.p(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let e;this.prepare(),await _;let t=this.P(),n=this.V(this.options.keyframeOptions,t),r=this.p();if(this.A!==void 0){let{from:n,to:i}=this.O(this.A,r,t);this.log(`measured`,[this.A,r,n,i]),e=this.calculateKeyframes(n,i)}else{let n=h.get(this.options.inId);if(n){h.delete(this.options.inId);let{from:i,to:a}=this.O(n,r,t);e=this.calculateKeyframes(i,a),e=this.options.in?[{...this.options.in[0],...e[0]},...this.options.in.slice(1),e[1]]:e,m++,e.forEach(e=>e.zIndex=m)}else this.options.in&&(e=[...this.options.in,{}])}this.animate(e,n)}resetStyles(){this.j!==void 0&&(this.element.setAttribute(`style`,this.j??``),this.j=void 0)}commitStyles(){this.j=this.element.getAttribute(`style`),this.webAnimation?.commitStyles(),this.webAnimation?.cancel()}reconnected(){}async disconnected(){if(!this.h||(this.options.id!==void 0&&h.set(this.options.id,this.A),this.options.out===void 0))return;if(this.prepare(),await _(),this.i?.isConnected){let e=this.o&&this.o.parentNode===this.i?this.o:null;if(this.i.insertBefore(this.element,e),this.options.stabilizeOut){let e=this.p();this.log(`stabilizing out`);let t=this.A.left-e.left,n=this.A.top-e.top;getComputedStyle(this.element).position!==`static`||t===0&&n===0||(this.element.style.position=`relative`),t!==0&&(this.element.style.left=t+`px`),n!==0&&(this.element.style.top=n+`px`)}}let e=this.V(this.options.keyframeOptions);await this.animate(this.options.out,e),this.element.remove()}prepare(){this.createFinished()}start(){this.options.onStart?.(this)}didFinish(e){e&&this.options.onComplete?.(this),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}P(){let e=[];for(let t=this.element.parentNode;t;t=t?.parentNode){let n=E.get(t);n&&!n.isDisabled()&&n&&e.push(n)}return e}get isHostRendered(){let e=g.has(this.u);return e||this.u.updateComplete.then(()=>{g.add(this.u)}),e}V(e,t=this.P()){let n={...w};return t.forEach(e=>Object.assign(n,e.options.keyframeOptions)),Object.assign(n,e),n}O(e,t,n){e={...e},t={...t};let r=n.map(e=>e.animatingProperties).filter(e=>e!==void 0),i=1,a=1;return r.length>0&&(r.forEach(e=>{e.width&&(i/=e.width),e.height&&(a/=e.height)}),e.left!==void 0&&t.left!==void 0&&(e.left=i*e.left,t.left=i*t.left),e.top!==void 0&&t.top!==void 0&&(e.top=a*e.top,t.top=a*t.top)),{from:e,to:t}}calculateKeyframes(e,t,n=!1){let r={},i={},a=!1,o={};for(let n in t){let s=e[n],c=t[n];if(n in C){let e=C[n];if(s===void 0||c===void 0)continue;let t=e(s,c);t.transform!==void 0&&(o[n]=t.value,a=!0,r.transform=`${r.transform??``} ${t.transform}`,t.overrideFrom!==void 0&&Object.assign(r,t.overrideFrom))}else s!==c&&s!==void 0&&c!==void 0&&(a=!0,r[n]=s,i[n]=c)}return r.transformOrigin=i.transformOrigin=n?`center center`:`top left`,this.animatingProperties=o,a?[r,i]:void 0}async animate(e,t=this.options.keyframeOptions){this.start(),this.frames=e;let n=!1;if(!this.isAnimating()&&!this.isDisabled()&&(this.options.onFrames&&(this.frames=e=this.options.onFrames(this),this.log(`modified frames`,e)),e!==void 0)){this.log(`animate`,[e,t]),n=!0,this.webAnimation=this.element.animate(e,t);let r=this.getController();r?.add(this);try{await this.webAnimation.finished}catch{}r?.remove(this)}return this.didFinish(n),n}isAnimating(){return this.webAnimation?.playState===`running`||this.webAnimation?.pending}log(e,t){this.shouldLog&&this.isDisabled()}},O=(0,l.directive)(D),k=[`top`,`right`,`bottom`,`left`],A=class extends c.AsyncDirective{constructor(e){if(super(e),e.type!==l.PartType.ELEMENT)throw Error("The `position` directive must be used in attribute position.")}render(e,t){return u.nothing}update(e,[t,n]){return this.u===void 0&&(this.u=e.options?.host,this.u.addController(this)),this.C=e.element,this.N=t,this.S=n??[`left`,`top`,`width`,`height`],this.render(t,n)}hostUpdated(){this.F()}F(){let e=typeof this.N==`function`?this.N():this.N?.value,t=e.offsetParent;if(e===void 0||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();this.S?.forEach(e=>{let t=k.includes(e)?n[e]-r[e]:n[e];this.C.style[e]=t+`px`})}},j=((0,l.directive)(A),e.s(`delay-context`)),M=f=class extends n.t(){constructor(...e){super(...e),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(){let e=this.shadowRoot?.querySelector(`slot`);e&&(this.mutationObserver=new MutationObserver(()=>{this.sessionKey=this.generateSessionKey()}),this.mutationObserver.observe(e,{childList:!0,subtree:!0}))}getTotalSiblingDelay(e){if(!(e&&e instanceof HTMLElement))return 0;let t=0,n=e.previousElementSibling;for(;n;)n instanceof f&&(t+=n.delay),n=n.previousElementSibling;return e.parentElement&&(t+=this.getTotalSiblingDelay(e.parentElement)),t}updateRenderState(){if(this.sessionKey=this.generateSessionKey(),this.once&&sessionStorage.getItem(this.sessionKey)===`true`)return void(this.rendered=!0);let e=this.getTotalSiblingDelay(this);this.effectiveDelay=this.delay+this.parentDelay+e,(0,i.timer)(this.effectiveDelay).pipe((0,a.takeUntil)(this.disconnecting)).subscribe(()=>{if(this.rendered=!0,this.once)try{sessionStorage.setItem(this.sessionKey,`true`)}catch{}})}generateSessionKey(){let e=this.assignedElements.map(e=>e.outerHTML).join(``);return this.once?r.t(e):``}get motionLit(){return this.motion===`flyBelow`?v:this.motion===`flyAbove`?y:b}render(){return(0,d.cache)(this.rendered?s.html`<div
|
|
2
|
-
${O({in:this.motionLit,keyframeOptions:{duration:300,easing:`ease-out`}})}
|
|
3
|
-
>
|
|
4
|
-
<slot></slot>
|
|
5
|
-
</div>`:s.html`
|
|
6
|
-
<section style="display: none;">
|
|
7
|
-
<slot></slot>
|
|
8
|
-
</section>
|
|
9
|
-
`)}};e.i([(0,o.property)({type:Number,reflect:!0})],M.prototype,`delay`,void 0),e.i([(0,o.property)({type:String})],M.prototype,`motion`,void 0),e.i([(0,o.state)()],M.prototype,`rendered`,void 0),e.i([e.o({context:j,subscribe:!0})],M.prototype,`parentDelay`,void 0),e.i([t.t({context:j})],M.prototype,`effectiveDelay`,void 0),e.i([(0,o.property)({type:Boolean})],M.prototype,`once`,void 0),e.i([(0,o.queryAssignedElements)({flatten:!0})],M.prototype,`assignedElements`,void 0),M=f=e.i([(0,o.customElement)(`schmancy-delay`)],M),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return M}});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"delay-7boauN6N.cjs","names":["i","o","s","t"],"sources":["../node_modules/@lit-labs/motion/animate-controller.js","../node_modules/@lit-labs/motion/animate.js","../node_modules/@lit-labs/motion/position.js","../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.m(i),this.render(i)}m(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}p(){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.m(this.optionsOrCallback()),this.v()&&(this.A=this.p(),this.i=this.i??this.element.parentNode,this.o=this.element.nextSibling)}async hostUpdated(){if(!this.h||!this.element.isConnected||this.options.skipInitial&&!this.isHostRendered)return;let t;this.prepare(),await a;const i=this.P(),s=this.V(this.options.keyframeOptions,i),e=this.p();if(void 0!==this.A){const{from:s,to:h}=this.O(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.O(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.j&&(this.element.setAttribute(\"style\",this.j??\"\"),this.j=void 0)}commitStyles(){this.j=this.element.getAttribute(\"style\"),this.webAnimation?.commitStyles(),this.webAnimation?.cancel()}reconnected(){}async disconnected(){if(!this.h)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.p();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.V(this.options.keyframeOptions);await this.animate(this.options.out,t),this.element.remove()}prepare(){this.createFinished()}start(){this.options.onStart?.(this)}didFinish(t){t&&this.options.onComplete?.(this),this.A=void 0,this.animatingProperties=void 0,this.frames=void 0,this.resolveFinished()}P(){const t=[];for(let 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}V(t,i=this.P()){const s={...A};return i.forEach(t=>Object.assign(s,t.options.keyframeOptions)),Object.assign(s,t),s}O(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.C=t.element,this.N=i,this.S=s??[\"left\",\"top\",\"width\",\"height\"],this.render(i,s)}hostUpdated(){this.F()}F(){const t=\"function\"==typeof this.N?this.N():this.N?.value,i=t.offsetParent;if(void 0===t||!i)return;const s=t.getBoundingClientRect(),o=i.getBoundingClientRect();this.S?.forEach(t=>{const i=r.includes(t)?s[t]-o[t]:s[t];this.C.style[t]=i+\"px\"})}}const h=i(e);export{e as Position,h as position};\n//# sourceMappingURL=position.js.map\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"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
|