@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delay-CZw37zps.js","names":["o","s","t","i"],"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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"}
|
package/dist/delay.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./delay-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./delay-BvVdfhAR.cjs`);Object.defineProperty(exports,`SchmancyDelay`,{enumerable:!0,get:function(){return e.t}}),exports.delayContext=e.n;
|
package/dist/delay.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./delay-
|
|
1
|
+
import { n as e, t } from "./delay-CZw37zps.js";
|
|
2
2
|
export { t as SchmancyDelay, e as delayContext };
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
require(`./chunk-BCfY8kxB.cjs`);const e=require(`./tailwind.mixin-Cpa-VnnX.cjs`),t=require(`./decorate-F9CuyeHg.cjs`),n=require(`./surface.mixin-CSKqQH-0.cjs`);require(`./mixins.cjs`);const r=require(`./animation-Bcwh107v.cjs`),i=require(`./reduced-motion-DR32yKEO.cjs`),a=require(`./cursor-glow-82y5h3E4.cjs`),o=require(`./magnetic-aBBnj_vk.cjs`);let s=require(`rxjs`),c=require(`rxjs/operators`),l=require(`lit/decorators.js`),u=require(`lit`),d=require(`lit/directives/ref.js`);var f=class extends n.t(e.t(u.css`
|
|
2
|
+
:host {
|
|
3
|
+
display: block;
|
|
4
|
+
transition: box-shadow 400ms cubic-bezier(0.34, 1.2, 0.64, 1);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
:host([overlay]) {
|
|
8
|
+
position: relative;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
:host([open]) {
|
|
12
|
+
box-shadow:
|
|
13
|
+
0 2px 12px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent),
|
|
14
|
+
0 8px 32px -8px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 8%, transparent);
|
|
15
|
+
z-index: 10;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
details {
|
|
19
|
+
background: inherit;
|
|
20
|
+
color: inherit;
|
|
21
|
+
border-radius: inherit;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
summary::-webkit-details-marker {
|
|
25
|
+
display: none;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
summary {
|
|
29
|
+
list-style: none;
|
|
30
|
+
color: inherit;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/*
|
|
34
|
+
* Blackbird 2.1 — CSS-driven collapse/expand
|
|
35
|
+
*
|
|
36
|
+
* Single animation system: CSS grid transition handles height,
|
|
37
|
+
* coordinated opacity fade for buttery smooth feel.
|
|
38
|
+
* No competing Web Animations API on content.
|
|
39
|
+
*/
|
|
40
|
+
|
|
41
|
+
.content-wrapper {
|
|
42
|
+
display: grid;
|
|
43
|
+
grid-template-rows: 0fr;
|
|
44
|
+
overflow: hidden;
|
|
45
|
+
opacity: 0;
|
|
46
|
+
transition:
|
|
47
|
+
grid-template-rows 400ms cubic-bezier(0.34, 1.2, 0.64, 1),
|
|
48
|
+
opacity 250ms ease;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* Spring easing when linear() is supported */
|
|
52
|
+
@supports (animation-timing-function: linear(0, 1)) {
|
|
53
|
+
.content-wrapper {
|
|
54
|
+
transition:
|
|
55
|
+
grid-template-rows 400ms linear(
|
|
56
|
+
0, 0.006, 0.025 2.8%, 0.101 6.1%, 0.539 18.9%, 0.721 25.3%, 0.849 31.5%,
|
|
57
|
+
0.937 38.1%, 0.968 41.8%, 0.991 45.7%, 1.006 50%, 1.015 54.8%,
|
|
58
|
+
1.017 63.3%, 1.001
|
|
59
|
+
),
|
|
60
|
+
opacity 250ms ease;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.content-wrapper[data-open='true'] {
|
|
65
|
+
grid-template-rows: 1fr;
|
|
66
|
+
opacity: 1;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.content-inner {
|
|
70
|
+
min-height: 0;
|
|
71
|
+
overflow: hidden;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/*
|
|
75
|
+
* Progressive Enhancement: ::details-content (Chrome 131+)
|
|
76
|
+
*
|
|
77
|
+
* When both ::details-content AND interpolate-size are supported,
|
|
78
|
+
* the browser handles height animation natively — including animated
|
|
79
|
+
* close via transition-behavior: allow-discrete on content-visibility.
|
|
80
|
+
* The grid wrapper becomes transparent (display: contents).
|
|
81
|
+
*/
|
|
82
|
+
@supports selector(::details-content) and (interpolate-size: allow-keywords) {
|
|
83
|
+
:host {
|
|
84
|
+
interpolate-size: allow-keywords;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.content-wrapper {
|
|
88
|
+
display: contents;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
details::details-content {
|
|
92
|
+
block-size: 0;
|
|
93
|
+
overflow-y: clip;
|
|
94
|
+
opacity: 0;
|
|
95
|
+
transition:
|
|
96
|
+
block-size 400ms cubic-bezier(0.34, 1.2, 0.64, 1),
|
|
97
|
+
opacity 250ms ease,
|
|
98
|
+
content-visibility 400ms;
|
|
99
|
+
transition-behavior: allow-discrete;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
details[open]::details-content {
|
|
103
|
+
block-size: auto;
|
|
104
|
+
opacity: 1;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
@media (prefers-reduced-motion: reduce) {
|
|
109
|
+
.content-wrapper {
|
|
110
|
+
transition: none;
|
|
111
|
+
}
|
|
112
|
+
details::details-content {
|
|
113
|
+
transition: none;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
`)){static{this.shadowRootOptions={...u.LitElement.shadowRootOptions,mode:`open`,delegatesFocus:!0}}get open(){return this._open$.value}set open(e){this._open$.value!==e&&this._open$.next(e)}constructor(){super(),this.summary=``,this.indicatorPlacement=`end`,this.hideIndicator=!1,this.indicatorRotate=90,this.locked=!1,this.overlay=!1,this.summaryPadding=`p-3`,this.contentPadding=`p-3`,this._open$=new s.BehaviorSubject(!1),this._indicatorRef=(0,d.createRef)(),this._contentRef=(0,d.createRef)(),this._indicatorIsOpen=!1,this._closing=!1,this._nativeAnim=typeof CSS<`u`&&!!CSS.supports?.(`selector(::details-content)`)&&!!CSS.supports?.(`interpolate-size`,`allow-keywords`),this._hasOpened=!1,this.type=`solid`,this.rounded=`all`}connectedCallback(){super.connectedCallback(),this._open$.pipe((0,c.distinctUntilChanged)(),(0,c.tap)(e=>{e&&!this._hasOpened&&(this._hasOpened=!0),this._animateIndicator(e),this._updateIndicatorSlot()}),(0,c.takeUntil)(this.disconnecting)).subscribe(()=>this.requestUpdate())}disconnectedCallback(){super.disconnectedCallback(),this._closeSub?.unsubscribe()}render(){let e=this._open$.value,t=this.classMap({"w-full rounded-xl transition-shadow duration-200 ease-out":!0,"overflow-hidden":!this.overlay,"overflow-visible relative":this.overlay}),n=this.classMap({[this.summaryPadding]:!0,"select-none relative flex items-center gap-2 rounded-xl":!0,"transition-colors duration-150":!0,"ring-1 ring-inset ring-transparent":!0,"hover:bg-surface-on/5 active:bg-surface-on/8 hover:ring-outline-variant/40":!this.locked,"focus-visible:ring-2 focus-visible:ring-primary-default/50 focus-visible:ring-offset-1":!this.locked,"cursor-pointer group":!this.locked,"cursor-default":this.locked,"flex-row":this.indicatorPlacement===`start`,"flex-row-reverse":this.indicatorPlacement===`end`}),r=this.classMap({[this.contentPadding]:!0,"text-sm":!0,"absolute inset-x-0 bg-surface-lowest/55 backdrop-blur-[16px] shadow-2xl rounded-b-xl z-20 border border-surface-on/10":this.overlay});return u.html`
|
|
117
|
+
<details ?open=${e} @toggle=${this._handleToggle} class=${t}>
|
|
118
|
+
<summary ${this.locked?``:o.t({strength:2,radius:50})} ${this.locked?``:a.t({radius:250,intensity:.08})} class=${n} tabindex=${this.locked?-1:0} @click=${this._handleSummaryClick}>
|
|
119
|
+
${this.hideIndicator?``:u.html`
|
|
120
|
+
<span
|
|
121
|
+
${(0,d.ref)(this._indicatorRef)}
|
|
122
|
+
class="flex items-center justify-center w-5 h-5 rounded-full shrink-0 opacity-70 group-hover:opacity-100"
|
|
123
|
+
>
|
|
124
|
+
<slot name="indicator" @slotchange=${this._handleIndicatorSlotChange}>
|
|
125
|
+
<svg
|
|
126
|
+
width="20"
|
|
127
|
+
height="20"
|
|
128
|
+
viewBox="0 0 24 24"
|
|
129
|
+
fill="none"
|
|
130
|
+
class="w-5 h-5"
|
|
131
|
+
aria-hidden="true"
|
|
132
|
+
>
|
|
133
|
+
<path
|
|
134
|
+
d="M9 6L15 12L9 18"
|
|
135
|
+
stroke="currentColor"
|
|
136
|
+
stroke-width="2"
|
|
137
|
+
stroke-linecap="round"
|
|
138
|
+
stroke-linejoin="round"
|
|
139
|
+
/>
|
|
140
|
+
</svg>
|
|
141
|
+
</slot>
|
|
142
|
+
</span>
|
|
143
|
+
`}
|
|
144
|
+
|
|
145
|
+
<span class="flex-1 min-w-0">
|
|
146
|
+
<slot name="summary">${this.summary}</slot>
|
|
147
|
+
</span>
|
|
148
|
+
|
|
149
|
+
<slot name="actions"></slot>
|
|
150
|
+
</summary>
|
|
151
|
+
|
|
152
|
+
<div
|
|
153
|
+
${(0,d.ref)(this._contentRef)}
|
|
154
|
+
class="content-wrapper"
|
|
155
|
+
data-open=${e&&!this._closing}
|
|
156
|
+
aria-hidden=${e?`false`:`true`}
|
|
157
|
+
>
|
|
158
|
+
<div class="content-inner">
|
|
159
|
+
${this._hasOpened?u.html`
|
|
160
|
+
<div class=${r}>
|
|
161
|
+
<slot></slot>
|
|
162
|
+
<slot name="details"></slot>
|
|
163
|
+
</div>
|
|
164
|
+
`:u.nothing}
|
|
165
|
+
</div>
|
|
166
|
+
</div>
|
|
167
|
+
</details>
|
|
168
|
+
`}_handleSummaryClick(e){e.target.closest(`[slot="actions"]`)||this.locked||this._closing?e.preventDefault():this._nativeAnim||this._open$.value&&(e.preventDefault(),this._startClose())}_handleToggle(e){e.stopPropagation();let t=this.shadowRoot?.querySelector(`details`);if(e.target!==t)return;let n=t.open;this._nativeAnim?this._open$.value!==n&&(this.open=n,this.dispatchScopedEvent(`toggle`,{open:n})):n&&this._open$.value!==n&&(this.open=n,this.dispatchScopedEvent(`toggle`,{open:n}))}_startClose(){this._closing=!0,this._closeSub?.unsubscribe(),this._contentRef.value?.setAttribute(`data-open`,`false`),this._animateIndicator(!1);let e=this._contentRef.value;e&&(this._closeSub=(0,s.fromEvent)(e,`transitionend`).pipe((0,c.filter)(e=>e.propertyName===`grid-template-rows`),(0,c.take)(1),(0,c.tap)(()=>{this._closing=!1,this.open=!1,this.dispatchScopedEvent(`toggle`,{open:!1})}),(0,c.takeUntil)(this.disconnecting)).subscribe())}_handleIndicatorSlotChange(e){e.target.assignedElements().forEach(e=>{e.setAttribute(`data-open`,String(this._open$.value))})}_updateIndicatorSlot(){let e=this.shadowRoot?.querySelector(`slot[name="indicator"]`);e&&e.assignedElements().forEach(e=>{e.setAttribute(`data-open`,String(this._open$.value))})}_animateIndicator(e){if(this._indicatorIsOpen===e)return;this._indicatorIsOpen=e;let t=this._indicatorRef.value;t&&!i.t.value&&(this._currentAnimation?.cancel(),this._currentAnimation=t.animate([{transform:`rotate(${e?`0deg`:`${this.indicatorRotate}deg`})`},{transform:`rotate(${e?`${this.indicatorRotate}deg`:`0deg`})`}],{duration:r.f.duration,easing:r.f.easingFallback,fill:`forwards`}))}};t.t([(0,l.property)()],f.prototype,`summary`,void 0),t.t([(0,l.property)({type:Boolean,reflect:!0})],f.prototype,`open`,null),t.t([(0,l.property)({attribute:`indicator-placement`,reflect:!0})],f.prototype,`indicatorPlacement`,void 0),t.t([(0,l.property)({type:Boolean,attribute:`hide-indicator`})],f.prototype,`hideIndicator`,void 0),t.t([(0,l.property)({type:Number,attribute:`indicator-rotate`})],f.prototype,`indicatorRotate`,void 0),t.t([(0,l.property)({type:Boolean,reflect:!0})],f.prototype,`locked`,void 0),t.t([(0,l.property)({type:Boolean,reflect:!0})],f.prototype,`overlay`,void 0),t.t([(0,l.property)({attribute:`summary-padding`})],f.prototype,`summaryPadding`,void 0),t.t([(0,l.property)({attribute:`content-padding`})],f.prototype,`contentPadding`,void 0),t.t([(0,l.state)()],f.prototype,`_hasOpened`,void 0);var p=f=t.t([(0,l.customElement)(`schmancy-details`)],f);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return p}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"details-Bhz8_whd.cjs","names":[],"sources":["../src/details/details.ts"],"sourcesContent":["import { TailwindElement, SurfaceMixin } from '@mixins/index'\nimport { css, html, LitElement, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { cursorGlow } from '../directives/cursor-glow'\nimport { magnetic } from '../directives/magnetic'\nimport { createRef, ref, Ref } from 'lit/directives/ref.js'\nimport { BehaviorSubject, fromEvent, Subscription } from 'rxjs'\nimport { distinctUntilChanged, filter, take, takeUntil, tap } from 'rxjs/operators'\nimport { SPRING_SNAPPY } from '../utils/animation.js'\nimport { reducedMotion$ } from '../directives/reduced-motion'\n\n@customElement('schmancy-details')\nexport default class SchmancyDetails extends SurfaceMixin(\n\tTailwindElement(css`\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t\ttransition: box-shadow 400ms cubic-bezier(0.34, 1.2, 0.64, 1);\n\t\t}\n\n\t\t:host([overlay]) {\n\t\t\tposition: relative;\n\t\t}\n\n\t\t:host([open]) {\n\t\t\tbox-shadow:\n\t\t\t\t0 2px 12px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent),\n\t\t\t\t0 8px 32px -8px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 8%, transparent);\n\t\t\tz-index: 10;\n\t\t}\n\n\t\tdetails {\n\t\t\tbackground: inherit;\n\t\t\tcolor: inherit;\n\t\t\tborder-radius: inherit;\n\t\t}\n\n\t\tsummary::-webkit-details-marker {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\tsummary {\n\t\t\tlist-style: none;\n\t\t\tcolor: inherit;\n\t\t}\n\n\t\t/*\n\t\t * Blackbird 2.1 — CSS-driven collapse/expand\n\t\t *\n\t\t * Single animation system: CSS grid transition handles height,\n\t\t * coordinated opacity fade for buttery smooth feel.\n\t\t * No competing Web Animations API on content.\n\t\t */\n\n\t\t.content-wrapper {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-rows: 0fr;\n\t\t\toverflow: hidden;\n\t\t\topacity: 0;\n\t\t\ttransition:\n\t\t\t\tgrid-template-rows 400ms cubic-bezier(0.34, 1.2, 0.64, 1),\n\t\t\t\topacity 250ms ease;\n\t\t}\n\n\t\t/* Spring easing when linear() is supported */\n\t\t@supports (animation-timing-function: linear(0, 1)) {\n\t\t\t.content-wrapper {\n\t\t\t\ttransition:\n\t\t\t\t\tgrid-template-rows 400ms linear(\n\t\t\t\t\t\t0, 0.006, 0.025 2.8%, 0.101 6.1%, 0.539 18.9%, 0.721 25.3%, 0.849 31.5%,\n\t\t\t\t\t\t0.937 38.1%, 0.968 41.8%, 0.991 45.7%, 1.006 50%, 1.015 54.8%,\n\t\t\t\t\t\t1.017 63.3%, 1.001\n\t\t\t\t\t),\n\t\t\t\t\topacity 250ms ease;\n\t\t\t}\n\t\t}\n\n\t\t.content-wrapper[data-open='true'] {\n\t\t\tgrid-template-rows: 1fr;\n\t\t\topacity: 1;\n\t\t}\n\n\t\t.content-inner {\n\t\t\tmin-height: 0;\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t/*\n\t\t * Progressive Enhancement: ::details-content (Chrome 131+)\n\t\t *\n\t\t * When both ::details-content AND interpolate-size are supported,\n\t\t * the browser handles height animation natively — including animated\n\t\t * close via transition-behavior: allow-discrete on content-visibility.\n\t\t * The grid wrapper becomes transparent (display: contents).\n\t\t */\n\t\t@supports selector(::details-content) and (interpolate-size: allow-keywords) {\n\t\t\t:host {\n\t\t\t\tinterpolate-size: allow-keywords;\n\t\t\t}\n\n\t\t\t.content-wrapper {\n\t\t\t\tdisplay: contents;\n\t\t\t}\n\n\t\t\tdetails::details-content {\n\t\t\t\tblock-size: 0;\n\t\t\t\toverflow-y: clip;\n\t\t\t\topacity: 0;\n\t\t\t\ttransition:\n\t\t\t\t\tblock-size 400ms cubic-bezier(0.34, 1.2, 0.64, 1),\n\t\t\t\t\topacity 250ms ease,\n\t\t\t\t\tcontent-visibility 400ms;\n\t\t\t\ttransition-behavior: allow-discrete;\n\t\t\t}\n\n\t\t\tdetails[open]::details-content {\n\t\t\t\tblock-size: auto;\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t.content-wrapper {\n\t\t\t\ttransition: none;\n\t\t\t}\n\t\t\tdetails::details-content {\n\t\t\t\ttransition: none;\n\t\t\t}\n\t\t}\n\t`),\n) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open' as const,\n\t\tdelegatesFocus: true,\n\t}\n\n\t@property() summary = ''\n\n\t@property({ type: Boolean, reflect: true })\n\tget open() {\n\t\treturn this._open$.value\n\t}\n\tset open(value: boolean) {\n\t\tif (this._open$.value !== value) {\n\t\t\tthis._open$.next(value)\n\t\t}\n\t}\n\n\t@property({ attribute: 'indicator-placement', reflect: true })\n\tindicatorPlacement: 'start' | 'end' = 'end'\n\n\t@property({ type: Boolean, attribute: 'hide-indicator' })\n\thideIndicator = false\n\n\t@property({ type: Number, attribute: 'indicator-rotate' })\n\tindicatorRotate: number = 90\n\n\t@property({ type: Boolean, reflect: true })\n\tlocked = false\n\n\t@property({ type: Boolean, reflect: true })\n\toverlay = false\n\n\t@property({ attribute: 'summary-padding' })\n\tsummaryPadding = 'p-3'\n\n\t@property({ attribute: 'content-padding' })\n\tcontentPadding = 'p-3'\n\n\tprivate _open$ = new BehaviorSubject<boolean>(false)\n\tprivate _indicatorRef: Ref<HTMLElement> = createRef()\n\tprivate _contentRef: Ref<HTMLDivElement> = createRef()\n\tprivate _currentAnimation?: Animation\n\tprivate _indicatorIsOpen = false\n\tprivate _closing = false\n\tprivate _closeSub?: Subscription\n\n\t/** True when browser handles close animation natively via ::details-content */\n\tprivate _nativeAnim =\n\t\ttypeof CSS !== 'undefined' &&\n\t\t!!CSS.supports?.('selector(::details-content)') &&\n\t\t!!CSS.supports?.('interpolate-size', 'allow-keywords')\n\n\t/**\n\t * Lazy rendering: tracks if content has ever been opened.\n\t * Once true, content stays rendered (even when closed) for smooth animations.\n\t */\n\t@state() private _hasOpened = false\n\n\tconstructor() {\n\t\tsuper()\n\t\tthis.type = 'solid'\n\t\tthis.rounded = 'all'\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tthis._open$\n\t\t\t.pipe(\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(isOpen => {\n\t\t\t\t\tif (isOpen && !this._hasOpened) {\n\t\t\t\t\t\tthis._hasOpened = true\n\t\t\t\t\t}\n\t\t\t\t\tthis._animateIndicator(isOpen)\n\t\t\t\t\tthis._updateIndicatorSlot()\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => this.requestUpdate())\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis._closeSub?.unsubscribe()\n\t}\n\n\trender() {\n\t\tconst isOpen = this._open$.value\n\n\t\tconst detailsClasses = this.classMap({\n\t\t\t'w-full rounded-xl transition-shadow duration-200 ease-out': true,\n\t\t\t'overflow-hidden': !this.overlay,\n\t\t\t'overflow-visible relative': this.overlay,\n\t\t})\n\n\t\tconst summaryClasses = this.classMap({\n\t\t\t[this.summaryPadding]: true,\n\t\t\t'select-none relative flex items-center gap-2 rounded-xl': true,\n\t\t\t'transition-colors duration-150': true,\n\t\t\t'ring-1 ring-inset ring-transparent': true,\n\t\t\t'hover:bg-surface-on/5 active:bg-surface-on/8 hover:ring-outline-variant/40': !this.locked,\n\t\t\t'focus-visible:ring-2 focus-visible:ring-primary-default/50 focus-visible:ring-offset-1': !this.locked,\n\t\t\t'cursor-pointer group': !this.locked,\n\t\t\t'cursor-default': this.locked,\n\t\t\t'flex-row': this.indicatorPlacement === 'start',\n\t\t\t'flex-row-reverse': this.indicatorPlacement === 'end',\n\t\t})\n\n\t\tconst contentClasses = this.classMap({\n\t\t\t[this.contentPadding]: true,\n\t\t\t'text-sm': true,\n\t\t\t'absolute inset-x-0 bg-surface-lowest/55 backdrop-blur-[16px] shadow-2xl rounded-b-xl z-20 border border-surface-on/10':\n\t\t\t\tthis.overlay,\n\t\t})\n\n\t\treturn html`\n\t\t\t<details ?open=${isOpen} @toggle=${this._handleToggle} class=${detailsClasses}>\n\t\t\t\t<summary ${this.locked ? '' : magnetic({ strength: 2, radius: 50 })} ${this.locked ? '' : cursorGlow({ radius: 250, intensity: 0.08 })} class=${summaryClasses} tabindex=${this.locked ? -1 : 0} @click=${this._handleSummaryClick}>\n\t\t\t\t\t${!this.hideIndicator\n\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t${ref(this._indicatorRef)}\n\t\t\t\t\t\t\t\t\tclass=\"flex items-center justify-center w-5 h-5 rounded-full shrink-0 opacity-70 group-hover:opacity-100\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<slot name=\"indicator\" @slotchange=${this._handleIndicatorSlotChange}>\n\t\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\tclass=\"w-5 h-5\"\n\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\td=\"M9 6L15 12L9 18\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t`\n\t\t\t\t\t\t: ''}\n\n\t\t\t\t\t<span class=\"flex-1 min-w-0\">\n\t\t\t\t\t\t<slot name=\"summary\">${this.summary}</slot>\n\t\t\t\t\t</span>\n\n\t\t\t\t\t<slot name=\"actions\"></slot>\n\t\t\t\t</summary>\n\n\t\t\t\t<div\n\t\t\t\t\t${ref(this._contentRef)}\n\t\t\t\t\tclass=\"content-wrapper\"\n\t\t\t\t\tdata-open=${isOpen && !this._closing}\n\t\t\t\t\taria-hidden=${isOpen ? 'false' : 'true'}\n\t\t\t\t>\n\t\t\t\t\t<div class=\"content-inner\">\n\t\t\t\t\t\t${this._hasOpened\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<div class=${contentClasses}>\n\t\t\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t\t\t\t<slot name=\"details\"></slot>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t: nothing}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</details>\n\t\t`\n\t}\n\n\tprivate _handleSummaryClick(e: MouseEvent) {\n\t\tif ((e.target as HTMLElement).closest('[slot=\"actions\"]')) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\t\tif (this.locked) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\t\tif (this._closing) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\n\t\t// Native animated path (Chromium 131+): browser handles everything via CSS\n\t\tif (this._nativeAnim) return\n\n\t\t// Fallback: manually animate close via CSS transition, then close native details\n\t\tif (this._open$.value) {\n\t\t\te.preventDefault()\n\t\t\tthis._startClose()\n\t\t}\n\t\t// If closed, let native open happen (handled by _handleToggle)\n\t}\n\n\tprivate _handleToggle(e: Event) {\n\t\te.stopPropagation()\n\n\t\tconst ownDetails = this.shadowRoot?.querySelector('details')\n\t\tif (e.target !== ownDetails) return\n\n\t\tconst newState = ownDetails.open\n\n\t\tif (this._nativeAnim) {\n\t\t\t// Native path: handle both open and close\n\t\t\tif (this._open$.value !== newState) {\n\t\t\t\tthis.open = newState\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: newState })\n\t\t\t}\n\t\t} else {\n\t\t\t// Fallback path: only handle OPEN (close is driven by _startClose)\n\t\t\tif (newState && this._open$.value !== newState) {\n\t\t\t\tthis.open = newState\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: newState })\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Fallback close: trigger CSS grid+opacity transition, then close native <details>.\n\t * The CSS transition (400ms) handles the visual collapse — no WAAPI needed.\n\t */\n\tprivate _startClose() {\n\t\tthis._closing = true\n\t\tthis._closeSub?.unsubscribe()\n\n\t\t// Immediately collapse the grid wrapper via DOM attribute\n\t\tthis._contentRef.value?.setAttribute('data-open', 'false')\n\n\t\t// Animate indicator immediately\n\t\tthis._animateIndicator(false)\n\n\t\t// After CSS transition completes, close native details and update state\n\t\tconst wrapper = this._contentRef.value\n\t\tif (!wrapper) return\n\n\t\tthis._closeSub = fromEvent<TransitionEvent>(wrapper, 'transitionend').pipe(\n\t\t\tfilter(e => e.propertyName === 'grid-template-rows'),\n\t\t\ttake(1),\n\t\t\ttap(() => {\n\t\t\t\tthis._closing = false\n\t\t\t\tthis.open = false\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: false })\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting),\n\t\t).subscribe()\n\t}\n\n\tprivate _handleIndicatorSlotChange(e: Event) {\n\t\tconst slot = e.target as HTMLSlotElement\n\t\tslot.assignedElements().forEach(el => {\n\t\t\tel.setAttribute('data-open', String(this._open$.value))\n\t\t})\n\t}\n\n\tprivate _updateIndicatorSlot() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot[name=\"indicator\"]') as HTMLSlotElement | null\n\t\tif (slot) {\n\t\t\tslot.assignedElements().forEach(el => {\n\t\t\t\tel.setAttribute('data-open', String(this._open$.value))\n\t\t\t})\n\t\t}\n\t}\n\n\t/** Idempotent indicator rotation — skips if already at target state */\n\tprivate _animateIndicator(isOpen: boolean) {\n\t\tif (this._indicatorIsOpen === isOpen) return\n\t\tthis._indicatorIsOpen = isOpen\n\n\t\tconst indicator = this._indicatorRef.value\n\t\tif (!indicator || reducedMotion$.value) return\n\n\t\tthis._currentAnimation?.cancel()\n\n\t\tthis._currentAnimation = indicator.animate(\n\t\t\t[\n\t\t\t\t{ transform: `rotate(${isOpen ? '0deg' : `${this.indicatorRotate}deg`})` },\n\t\t\t\t{ transform: `rotate(${isOpen ? `${this.indicatorRotate}deg` : '0deg'})` },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: SPRING_SNAPPY.duration,\n\t\t\t\teasing: SPRING_SNAPPY.easingFallback,\n\t\t\t\tfill: 'forwards',\n\t\t\t},\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-details': SchmancyDetails\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
import { t as e } from "./tailwind.mixin-DufHBjmb.js";
|
|
2
|
+
import { t } from "./decorate-D_utPUsC.js";
|
|
3
|
+
import { t as n } from "./surface.mixin-DqMwoddO.js";
|
|
4
|
+
import "./mixins.js";
|
|
5
|
+
import { f as r } from "./animation-CXKSuUoE.js";
|
|
6
|
+
import { t as i } from "./reduced-motion-B83yZbcO.js";
|
|
7
|
+
import { t as a } from "./cursor-glow-C2YRrB8Z.js";
|
|
8
|
+
import { t as o } from "./magnetic-Dj52WplI.js";
|
|
9
|
+
import { BehaviorSubject as s, fromEvent as c } from "rxjs";
|
|
10
|
+
import { distinctUntilChanged as l, filter as u, take as d, takeUntil as f, tap as p } from "rxjs/operators";
|
|
11
|
+
import { customElement as m, property as h, state as g } from "lit/decorators.js";
|
|
12
|
+
import { LitElement as _, css as v, html as y, nothing as b } from "lit";
|
|
13
|
+
import { createRef as x, ref as S } from "lit/directives/ref.js";
|
|
14
|
+
var C = class extends n(e(v`
|
|
15
|
+
:host {
|
|
16
|
+
display: block;
|
|
17
|
+
transition: box-shadow 400ms cubic-bezier(0.34, 1.2, 0.64, 1);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
:host([overlay]) {
|
|
21
|
+
position: relative;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
:host([open]) {
|
|
25
|
+
box-shadow:
|
|
26
|
+
0 2px 12px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent),
|
|
27
|
+
0 8px 32px -8px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 8%, transparent);
|
|
28
|
+
z-index: 10;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
details {
|
|
32
|
+
background: inherit;
|
|
33
|
+
color: inherit;
|
|
34
|
+
border-radius: inherit;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
summary::-webkit-details-marker {
|
|
38
|
+
display: none;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
summary {
|
|
42
|
+
list-style: none;
|
|
43
|
+
color: inherit;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/*
|
|
47
|
+
* Blackbird 2.1 — CSS-driven collapse/expand
|
|
48
|
+
*
|
|
49
|
+
* Single animation system: CSS grid transition handles height,
|
|
50
|
+
* coordinated opacity fade for buttery smooth feel.
|
|
51
|
+
* No competing Web Animations API on content.
|
|
52
|
+
*/
|
|
53
|
+
|
|
54
|
+
.content-wrapper {
|
|
55
|
+
display: grid;
|
|
56
|
+
grid-template-rows: 0fr;
|
|
57
|
+
overflow: hidden;
|
|
58
|
+
opacity: 0;
|
|
59
|
+
transition:
|
|
60
|
+
grid-template-rows 400ms cubic-bezier(0.34, 1.2, 0.64, 1),
|
|
61
|
+
opacity 250ms ease;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/* Spring easing when linear() is supported */
|
|
65
|
+
@supports (animation-timing-function: linear(0, 1)) {
|
|
66
|
+
.content-wrapper {
|
|
67
|
+
transition:
|
|
68
|
+
grid-template-rows 400ms linear(
|
|
69
|
+
0, 0.006, 0.025 2.8%, 0.101 6.1%, 0.539 18.9%, 0.721 25.3%, 0.849 31.5%,
|
|
70
|
+
0.937 38.1%, 0.968 41.8%, 0.991 45.7%, 1.006 50%, 1.015 54.8%,
|
|
71
|
+
1.017 63.3%, 1.001
|
|
72
|
+
),
|
|
73
|
+
opacity 250ms ease;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.content-wrapper[data-open='true'] {
|
|
78
|
+
grid-template-rows: 1fr;
|
|
79
|
+
opacity: 1;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.content-inner {
|
|
83
|
+
min-height: 0;
|
|
84
|
+
overflow: hidden;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/*
|
|
88
|
+
* Progressive Enhancement: ::details-content (Chrome 131+)
|
|
89
|
+
*
|
|
90
|
+
* When both ::details-content AND interpolate-size are supported,
|
|
91
|
+
* the browser handles height animation natively — including animated
|
|
92
|
+
* close via transition-behavior: allow-discrete on content-visibility.
|
|
93
|
+
* The grid wrapper becomes transparent (display: contents).
|
|
94
|
+
*/
|
|
95
|
+
@supports selector(::details-content) and (interpolate-size: allow-keywords) {
|
|
96
|
+
:host {
|
|
97
|
+
interpolate-size: allow-keywords;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.content-wrapper {
|
|
101
|
+
display: contents;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
details::details-content {
|
|
105
|
+
block-size: 0;
|
|
106
|
+
overflow-y: clip;
|
|
107
|
+
opacity: 0;
|
|
108
|
+
transition:
|
|
109
|
+
block-size 400ms cubic-bezier(0.34, 1.2, 0.64, 1),
|
|
110
|
+
opacity 250ms ease,
|
|
111
|
+
content-visibility 400ms;
|
|
112
|
+
transition-behavior: allow-discrete;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
details[open]::details-content {
|
|
116
|
+
block-size: auto;
|
|
117
|
+
opacity: 1;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
@media (prefers-reduced-motion: reduce) {
|
|
122
|
+
.content-wrapper {
|
|
123
|
+
transition: none;
|
|
124
|
+
}
|
|
125
|
+
details::details-content {
|
|
126
|
+
transition: none;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
`)) {
|
|
130
|
+
static {
|
|
131
|
+
this.shadowRootOptions = {
|
|
132
|
+
..._.shadowRootOptions,
|
|
133
|
+
mode: "open",
|
|
134
|
+
delegatesFocus: !0
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
get open() {
|
|
138
|
+
return this._open$.value;
|
|
139
|
+
}
|
|
140
|
+
set open(e) {
|
|
141
|
+
this._open$.value !== e && this._open$.next(e);
|
|
142
|
+
}
|
|
143
|
+
constructor() {
|
|
144
|
+
super(), this.summary = "", this.indicatorPlacement = "end", this.hideIndicator = !1, this.indicatorRotate = 90, this.locked = !1, this.overlay = !1, this.summaryPadding = "p-3", this.contentPadding = "p-3", this._open$ = new s(!1), this._indicatorRef = x(), this._contentRef = x(), this._indicatorIsOpen = !1, this._closing = !1, this._nativeAnim = typeof CSS < "u" && !!CSS.supports?.("selector(::details-content)") && !!CSS.supports?.("interpolate-size", "allow-keywords"), this._hasOpened = !1, this.type = "solid", this.rounded = "all";
|
|
145
|
+
}
|
|
146
|
+
connectedCallback() {
|
|
147
|
+
super.connectedCallback(), this._open$.pipe(l(), p((e) => {
|
|
148
|
+
e && !this._hasOpened && (this._hasOpened = !0), this._animateIndicator(e), this._updateIndicatorSlot();
|
|
149
|
+
}), f(this.disconnecting)).subscribe(() => this.requestUpdate());
|
|
150
|
+
}
|
|
151
|
+
disconnectedCallback() {
|
|
152
|
+
super.disconnectedCallback(), this._closeSub?.unsubscribe();
|
|
153
|
+
}
|
|
154
|
+
render() {
|
|
155
|
+
let e = this._open$.value, t = this.classMap({
|
|
156
|
+
"w-full rounded-xl transition-shadow duration-200 ease-out": !0,
|
|
157
|
+
"overflow-hidden": !this.overlay,
|
|
158
|
+
"overflow-visible relative": this.overlay
|
|
159
|
+
}), n = this.classMap({
|
|
160
|
+
[this.summaryPadding]: !0,
|
|
161
|
+
"select-none relative flex items-center gap-2 rounded-xl": !0,
|
|
162
|
+
"transition-colors duration-150": !0,
|
|
163
|
+
"ring-1 ring-inset ring-transparent": !0,
|
|
164
|
+
"hover:bg-surface-on/5 active:bg-surface-on/8 hover:ring-outline-variant/40": !this.locked,
|
|
165
|
+
"focus-visible:ring-2 focus-visible:ring-primary-default/50 focus-visible:ring-offset-1": !this.locked,
|
|
166
|
+
"cursor-pointer group": !this.locked,
|
|
167
|
+
"cursor-default": this.locked,
|
|
168
|
+
"flex-row": this.indicatorPlacement === "start",
|
|
169
|
+
"flex-row-reverse": this.indicatorPlacement === "end"
|
|
170
|
+
}), r = this.classMap({
|
|
171
|
+
[this.contentPadding]: !0,
|
|
172
|
+
"text-sm": !0,
|
|
173
|
+
"absolute inset-x-0 bg-surface-lowest/55 backdrop-blur-[16px] shadow-2xl rounded-b-xl z-20 border border-surface-on/10": this.overlay
|
|
174
|
+
});
|
|
175
|
+
return y`
|
|
176
|
+
<details ?open=${e} @toggle=${this._handleToggle} class=${t}>
|
|
177
|
+
<summary ${this.locked ? "" : o({
|
|
178
|
+
strength: 2,
|
|
179
|
+
radius: 50
|
|
180
|
+
})} ${this.locked ? "" : a({
|
|
181
|
+
radius: 250,
|
|
182
|
+
intensity: .08
|
|
183
|
+
})} class=${n} tabindex=${this.locked ? -1 : 0} @click=${this._handleSummaryClick}>
|
|
184
|
+
${this.hideIndicator ? "" : y`
|
|
185
|
+
<span
|
|
186
|
+
${S(this._indicatorRef)}
|
|
187
|
+
class="flex items-center justify-center w-5 h-5 rounded-full shrink-0 opacity-70 group-hover:opacity-100"
|
|
188
|
+
>
|
|
189
|
+
<slot name="indicator" @slotchange=${this._handleIndicatorSlotChange}>
|
|
190
|
+
<svg
|
|
191
|
+
width="20"
|
|
192
|
+
height="20"
|
|
193
|
+
viewBox="0 0 24 24"
|
|
194
|
+
fill="none"
|
|
195
|
+
class="w-5 h-5"
|
|
196
|
+
aria-hidden="true"
|
|
197
|
+
>
|
|
198
|
+
<path
|
|
199
|
+
d="M9 6L15 12L9 18"
|
|
200
|
+
stroke="currentColor"
|
|
201
|
+
stroke-width="2"
|
|
202
|
+
stroke-linecap="round"
|
|
203
|
+
stroke-linejoin="round"
|
|
204
|
+
/>
|
|
205
|
+
</svg>
|
|
206
|
+
</slot>
|
|
207
|
+
</span>
|
|
208
|
+
`}
|
|
209
|
+
|
|
210
|
+
<span class="flex-1 min-w-0">
|
|
211
|
+
<slot name="summary">${this.summary}</slot>
|
|
212
|
+
</span>
|
|
213
|
+
|
|
214
|
+
<slot name="actions"></slot>
|
|
215
|
+
</summary>
|
|
216
|
+
|
|
217
|
+
<div
|
|
218
|
+
${S(this._contentRef)}
|
|
219
|
+
class="content-wrapper"
|
|
220
|
+
data-open=${e && !this._closing}
|
|
221
|
+
aria-hidden=${e ? "false" : "true"}
|
|
222
|
+
>
|
|
223
|
+
<div class="content-inner">
|
|
224
|
+
${this._hasOpened ? y`
|
|
225
|
+
<div class=${r}>
|
|
226
|
+
<slot></slot>
|
|
227
|
+
<slot name="details"></slot>
|
|
228
|
+
</div>
|
|
229
|
+
` : b}
|
|
230
|
+
</div>
|
|
231
|
+
</div>
|
|
232
|
+
</details>
|
|
233
|
+
`;
|
|
234
|
+
}
|
|
235
|
+
_handleSummaryClick(e) {
|
|
236
|
+
e.target.closest("[slot=\"actions\"]") || this.locked || this._closing ? e.preventDefault() : this._nativeAnim || this._open$.value && (e.preventDefault(), this._startClose());
|
|
237
|
+
}
|
|
238
|
+
_handleToggle(e) {
|
|
239
|
+
e.stopPropagation();
|
|
240
|
+
let t = this.shadowRoot?.querySelector("details");
|
|
241
|
+
if (e.target !== t) return;
|
|
242
|
+
let n = t.open;
|
|
243
|
+
this._nativeAnim ? this._open$.value !== n && (this.open = n, this.dispatchScopedEvent("toggle", { open: n })) : n && this._open$.value !== n && (this.open = n, this.dispatchScopedEvent("toggle", { open: n }));
|
|
244
|
+
}
|
|
245
|
+
_startClose() {
|
|
246
|
+
this._closing = !0, this._closeSub?.unsubscribe(), this._contentRef.value?.setAttribute("data-open", "false"), this._animateIndicator(!1);
|
|
247
|
+
let e = this._contentRef.value;
|
|
248
|
+
e && (this._closeSub = c(e, "transitionend").pipe(u((e) => e.propertyName === "grid-template-rows"), d(1), p(() => {
|
|
249
|
+
this._closing = !1, this.open = !1, this.dispatchScopedEvent("toggle", { open: !1 });
|
|
250
|
+
}), f(this.disconnecting)).subscribe());
|
|
251
|
+
}
|
|
252
|
+
_handleIndicatorSlotChange(e) {
|
|
253
|
+
e.target.assignedElements().forEach((e) => {
|
|
254
|
+
e.setAttribute("data-open", String(this._open$.value));
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
_updateIndicatorSlot() {
|
|
258
|
+
let e = this.shadowRoot?.querySelector("slot[name=\"indicator\"]");
|
|
259
|
+
e && e.assignedElements().forEach((e) => {
|
|
260
|
+
e.setAttribute("data-open", String(this._open$.value));
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
_animateIndicator(e) {
|
|
264
|
+
if (this._indicatorIsOpen === e) return;
|
|
265
|
+
this._indicatorIsOpen = e;
|
|
266
|
+
let t = this._indicatorRef.value;
|
|
267
|
+
t && !i.value && (this._currentAnimation?.cancel(), this._currentAnimation = t.animate([{ transform: `rotate(${e ? "0deg" : `${this.indicatorRotate}deg`})` }, { transform: `rotate(${e ? `${this.indicatorRotate}deg` : "0deg"})` }], {
|
|
268
|
+
duration: r.duration,
|
|
269
|
+
easing: r.easingFallback,
|
|
270
|
+
fill: "forwards"
|
|
271
|
+
}));
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
t([h()], C.prototype, "summary", void 0), t([h({
|
|
275
|
+
type: Boolean,
|
|
276
|
+
reflect: !0
|
|
277
|
+
})], C.prototype, "open", null), t([h({
|
|
278
|
+
attribute: "indicator-placement",
|
|
279
|
+
reflect: !0
|
|
280
|
+
})], C.prototype, "indicatorPlacement", void 0), t([h({
|
|
281
|
+
type: Boolean,
|
|
282
|
+
attribute: "hide-indicator"
|
|
283
|
+
})], C.prototype, "hideIndicator", void 0), t([h({
|
|
284
|
+
type: Number,
|
|
285
|
+
attribute: "indicator-rotate"
|
|
286
|
+
})], C.prototype, "indicatorRotate", void 0), t([h({
|
|
287
|
+
type: Boolean,
|
|
288
|
+
reflect: !0
|
|
289
|
+
})], C.prototype, "locked", void 0), t([h({
|
|
290
|
+
type: Boolean,
|
|
291
|
+
reflect: !0
|
|
292
|
+
})], C.prototype, "overlay", void 0), t([h({ attribute: "summary-padding" })], C.prototype, "summaryPadding", void 0), t([h({ attribute: "content-padding" })], C.prototype, "contentPadding", void 0), t([g()], C.prototype, "_hasOpened", void 0);
|
|
293
|
+
var w = C = t([m("schmancy-details")], C);
|
|
294
|
+
export { w as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"details-D7VTnLOh.js","names":[],"sources":["../src/details/details.ts"],"sourcesContent":["import { TailwindElement, SurfaceMixin } from '@mixins/index'\nimport { css, html, LitElement, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { cursorGlow } from '../directives/cursor-glow'\nimport { magnetic } from '../directives/magnetic'\nimport { createRef, ref, Ref } from 'lit/directives/ref.js'\nimport { BehaviorSubject, fromEvent, Subscription } from 'rxjs'\nimport { distinctUntilChanged, filter, take, takeUntil, tap } from 'rxjs/operators'\nimport { SPRING_SNAPPY } from '../utils/animation.js'\nimport { reducedMotion$ } from '../directives/reduced-motion'\n\n@customElement('schmancy-details')\nexport default class SchmancyDetails extends SurfaceMixin(\n\tTailwindElement(css`\n\t\t:host {\n\t\t\tdisplay: block;\n\t\t\ttransition: box-shadow 400ms cubic-bezier(0.34, 1.2, 0.64, 1);\n\t\t}\n\n\t\t:host([overlay]) {\n\t\t\tposition: relative;\n\t\t}\n\n\t\t:host([open]) {\n\t\t\tbox-shadow:\n\t\t\t\t0 2px 12px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 15%, transparent),\n\t\t\t\t0 8px 32px -8px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 8%, transparent);\n\t\t\tz-index: 10;\n\t\t}\n\n\t\tdetails {\n\t\t\tbackground: inherit;\n\t\t\tcolor: inherit;\n\t\t\tborder-radius: inherit;\n\t\t}\n\n\t\tsummary::-webkit-details-marker {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\tsummary {\n\t\t\tlist-style: none;\n\t\t\tcolor: inherit;\n\t\t}\n\n\t\t/*\n\t\t * Blackbird 2.1 — CSS-driven collapse/expand\n\t\t *\n\t\t * Single animation system: CSS grid transition handles height,\n\t\t * coordinated opacity fade for buttery smooth feel.\n\t\t * No competing Web Animations API on content.\n\t\t */\n\n\t\t.content-wrapper {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-rows: 0fr;\n\t\t\toverflow: hidden;\n\t\t\topacity: 0;\n\t\t\ttransition:\n\t\t\t\tgrid-template-rows 400ms cubic-bezier(0.34, 1.2, 0.64, 1),\n\t\t\t\topacity 250ms ease;\n\t\t}\n\n\t\t/* Spring easing when linear() is supported */\n\t\t@supports (animation-timing-function: linear(0, 1)) {\n\t\t\t.content-wrapper {\n\t\t\t\ttransition:\n\t\t\t\t\tgrid-template-rows 400ms linear(\n\t\t\t\t\t\t0, 0.006, 0.025 2.8%, 0.101 6.1%, 0.539 18.9%, 0.721 25.3%, 0.849 31.5%,\n\t\t\t\t\t\t0.937 38.1%, 0.968 41.8%, 0.991 45.7%, 1.006 50%, 1.015 54.8%,\n\t\t\t\t\t\t1.017 63.3%, 1.001\n\t\t\t\t\t),\n\t\t\t\t\topacity 250ms ease;\n\t\t\t}\n\t\t}\n\n\t\t.content-wrapper[data-open='true'] {\n\t\t\tgrid-template-rows: 1fr;\n\t\t\topacity: 1;\n\t\t}\n\n\t\t.content-inner {\n\t\t\tmin-height: 0;\n\t\t\toverflow: hidden;\n\t\t}\n\n\t\t/*\n\t\t * Progressive Enhancement: ::details-content (Chrome 131+)\n\t\t *\n\t\t * When both ::details-content AND interpolate-size are supported,\n\t\t * the browser handles height animation natively — including animated\n\t\t * close via transition-behavior: allow-discrete on content-visibility.\n\t\t * The grid wrapper becomes transparent (display: contents).\n\t\t */\n\t\t@supports selector(::details-content) and (interpolate-size: allow-keywords) {\n\t\t\t:host {\n\t\t\t\tinterpolate-size: allow-keywords;\n\t\t\t}\n\n\t\t\t.content-wrapper {\n\t\t\t\tdisplay: contents;\n\t\t\t}\n\n\t\t\tdetails::details-content {\n\t\t\t\tblock-size: 0;\n\t\t\t\toverflow-y: clip;\n\t\t\t\topacity: 0;\n\t\t\t\ttransition:\n\t\t\t\t\tblock-size 400ms cubic-bezier(0.34, 1.2, 0.64, 1),\n\t\t\t\t\topacity 250ms ease,\n\t\t\t\t\tcontent-visibility 400ms;\n\t\t\t\ttransition-behavior: allow-discrete;\n\t\t\t}\n\n\t\t\tdetails[open]::details-content {\n\t\t\t\tblock-size: auto;\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t.content-wrapper {\n\t\t\t\ttransition: none;\n\t\t\t}\n\t\t\tdetails::details-content {\n\t\t\t\ttransition: none;\n\t\t\t}\n\t\t}\n\t`),\n) {\n\tprotected static shadowRootOptions = {\n\t\t...LitElement.shadowRootOptions,\n\t\tmode: 'open' as const,\n\t\tdelegatesFocus: true,\n\t}\n\n\t@property() summary = ''\n\n\t@property({ type: Boolean, reflect: true })\n\tget open() {\n\t\treturn this._open$.value\n\t}\n\tset open(value: boolean) {\n\t\tif (this._open$.value !== value) {\n\t\t\tthis._open$.next(value)\n\t\t}\n\t}\n\n\t@property({ attribute: 'indicator-placement', reflect: true })\n\tindicatorPlacement: 'start' | 'end' = 'end'\n\n\t@property({ type: Boolean, attribute: 'hide-indicator' })\n\thideIndicator = false\n\n\t@property({ type: Number, attribute: 'indicator-rotate' })\n\tindicatorRotate: number = 90\n\n\t@property({ type: Boolean, reflect: true })\n\tlocked = false\n\n\t@property({ type: Boolean, reflect: true })\n\toverlay = false\n\n\t@property({ attribute: 'summary-padding' })\n\tsummaryPadding = 'p-3'\n\n\t@property({ attribute: 'content-padding' })\n\tcontentPadding = 'p-3'\n\n\tprivate _open$ = new BehaviorSubject<boolean>(false)\n\tprivate _indicatorRef: Ref<HTMLElement> = createRef()\n\tprivate _contentRef: Ref<HTMLDivElement> = createRef()\n\tprivate _currentAnimation?: Animation\n\tprivate _indicatorIsOpen = false\n\tprivate _closing = false\n\tprivate _closeSub?: Subscription\n\n\t/** True when browser handles close animation natively via ::details-content */\n\tprivate _nativeAnim =\n\t\ttypeof CSS !== 'undefined' &&\n\t\t!!CSS.supports?.('selector(::details-content)') &&\n\t\t!!CSS.supports?.('interpolate-size', 'allow-keywords')\n\n\t/**\n\t * Lazy rendering: tracks if content has ever been opened.\n\t * Once true, content stays rendered (even when closed) for smooth animations.\n\t */\n\t@state() private _hasOpened = false\n\n\tconstructor() {\n\t\tsuper()\n\t\tthis.type = 'solid'\n\t\tthis.rounded = 'all'\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tthis._open$\n\t\t\t.pipe(\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t\ttap(isOpen => {\n\t\t\t\t\tif (isOpen && !this._hasOpened) {\n\t\t\t\t\t\tthis._hasOpened = true\n\t\t\t\t\t}\n\t\t\t\t\tthis._animateIndicator(isOpen)\n\t\t\t\t\tthis._updateIndicatorSlot()\n\t\t\t\t}),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe(() => this.requestUpdate())\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback()\n\t\tthis._closeSub?.unsubscribe()\n\t}\n\n\trender() {\n\t\tconst isOpen = this._open$.value\n\n\t\tconst detailsClasses = this.classMap({\n\t\t\t'w-full rounded-xl transition-shadow duration-200 ease-out': true,\n\t\t\t'overflow-hidden': !this.overlay,\n\t\t\t'overflow-visible relative': this.overlay,\n\t\t})\n\n\t\tconst summaryClasses = this.classMap({\n\t\t\t[this.summaryPadding]: true,\n\t\t\t'select-none relative flex items-center gap-2 rounded-xl': true,\n\t\t\t'transition-colors duration-150': true,\n\t\t\t'ring-1 ring-inset ring-transparent': true,\n\t\t\t'hover:bg-surface-on/5 active:bg-surface-on/8 hover:ring-outline-variant/40': !this.locked,\n\t\t\t'focus-visible:ring-2 focus-visible:ring-primary-default/50 focus-visible:ring-offset-1': !this.locked,\n\t\t\t'cursor-pointer group': !this.locked,\n\t\t\t'cursor-default': this.locked,\n\t\t\t'flex-row': this.indicatorPlacement === 'start',\n\t\t\t'flex-row-reverse': this.indicatorPlacement === 'end',\n\t\t})\n\n\t\tconst contentClasses = this.classMap({\n\t\t\t[this.contentPadding]: true,\n\t\t\t'text-sm': true,\n\t\t\t'absolute inset-x-0 bg-surface-lowest/55 backdrop-blur-[16px] shadow-2xl rounded-b-xl z-20 border border-surface-on/10':\n\t\t\t\tthis.overlay,\n\t\t})\n\n\t\treturn html`\n\t\t\t<details ?open=${isOpen} @toggle=${this._handleToggle} class=${detailsClasses}>\n\t\t\t\t<summary ${this.locked ? '' : magnetic({ strength: 2, radius: 50 })} ${this.locked ? '' : cursorGlow({ radius: 250, intensity: 0.08 })} class=${summaryClasses} tabindex=${this.locked ? -1 : 0} @click=${this._handleSummaryClick}>\n\t\t\t\t\t${!this.hideIndicator\n\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t${ref(this._indicatorRef)}\n\t\t\t\t\t\t\t\t\tclass=\"flex items-center justify-center w-5 h-5 rounded-full shrink-0 opacity-70 group-hover:opacity-100\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<slot name=\"indicator\" @slotchange=${this._handleIndicatorSlotChange}>\n\t\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\t\t\t\tclass=\"w-5 h-5\"\n\t\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\td=\"M9 6L15 12L9 18\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t`\n\t\t\t\t\t\t: ''}\n\n\t\t\t\t\t<span class=\"flex-1 min-w-0\">\n\t\t\t\t\t\t<slot name=\"summary\">${this.summary}</slot>\n\t\t\t\t\t</span>\n\n\t\t\t\t\t<slot name=\"actions\"></slot>\n\t\t\t\t</summary>\n\n\t\t\t\t<div\n\t\t\t\t\t${ref(this._contentRef)}\n\t\t\t\t\tclass=\"content-wrapper\"\n\t\t\t\t\tdata-open=${isOpen && !this._closing}\n\t\t\t\t\taria-hidden=${isOpen ? 'false' : 'true'}\n\t\t\t\t>\n\t\t\t\t\t<div class=\"content-inner\">\n\t\t\t\t\t\t${this._hasOpened\n\t\t\t\t\t\t\t? html`\n\t\t\t\t\t\t\t\t\t<div class=${contentClasses}>\n\t\t\t\t\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t\t\t\t\t\t<slot name=\"details\"></slot>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t`\n\t\t\t\t\t\t\t: nothing}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</details>\n\t\t`\n\t}\n\n\tprivate _handleSummaryClick(e: MouseEvent) {\n\t\tif ((e.target as HTMLElement).closest('[slot=\"actions\"]')) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\t\tif (this.locked) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\t\tif (this._closing) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\n\t\t// Native animated path (Chromium 131+): browser handles everything via CSS\n\t\tif (this._nativeAnim) return\n\n\t\t// Fallback: manually animate close via CSS transition, then close native details\n\t\tif (this._open$.value) {\n\t\t\te.preventDefault()\n\t\t\tthis._startClose()\n\t\t}\n\t\t// If closed, let native open happen (handled by _handleToggle)\n\t}\n\n\tprivate _handleToggle(e: Event) {\n\t\te.stopPropagation()\n\n\t\tconst ownDetails = this.shadowRoot?.querySelector('details')\n\t\tif (e.target !== ownDetails) return\n\n\t\tconst newState = ownDetails.open\n\n\t\tif (this._nativeAnim) {\n\t\t\t// Native path: handle both open and close\n\t\t\tif (this._open$.value !== newState) {\n\t\t\t\tthis.open = newState\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: newState })\n\t\t\t}\n\t\t} else {\n\t\t\t// Fallback path: only handle OPEN (close is driven by _startClose)\n\t\t\tif (newState && this._open$.value !== newState) {\n\t\t\t\tthis.open = newState\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: newState })\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Fallback close: trigger CSS grid+opacity transition, then close native <details>.\n\t * The CSS transition (400ms) handles the visual collapse — no WAAPI needed.\n\t */\n\tprivate _startClose() {\n\t\tthis._closing = true\n\t\tthis._closeSub?.unsubscribe()\n\n\t\t// Immediately collapse the grid wrapper via DOM attribute\n\t\tthis._contentRef.value?.setAttribute('data-open', 'false')\n\n\t\t// Animate indicator immediately\n\t\tthis._animateIndicator(false)\n\n\t\t// After CSS transition completes, close native details and update state\n\t\tconst wrapper = this._contentRef.value\n\t\tif (!wrapper) return\n\n\t\tthis._closeSub = fromEvent<TransitionEvent>(wrapper, 'transitionend').pipe(\n\t\t\tfilter(e => e.propertyName === 'grid-template-rows'),\n\t\t\ttake(1),\n\t\t\ttap(() => {\n\t\t\t\tthis._closing = false\n\t\t\t\tthis.open = false\n\t\t\t\tthis.dispatchScopedEvent('toggle', { open: false })\n\t\t\t}),\n\t\t\ttakeUntil(this.disconnecting),\n\t\t).subscribe()\n\t}\n\n\tprivate _handleIndicatorSlotChange(e: Event) {\n\t\tconst slot = e.target as HTMLSlotElement\n\t\tslot.assignedElements().forEach(el => {\n\t\t\tel.setAttribute('data-open', String(this._open$.value))\n\t\t})\n\t}\n\n\tprivate _updateIndicatorSlot() {\n\t\tconst slot = this.shadowRoot?.querySelector('slot[name=\"indicator\"]') as HTMLSlotElement | null\n\t\tif (slot) {\n\t\t\tslot.assignedElements().forEach(el => {\n\t\t\t\tel.setAttribute('data-open', String(this._open$.value))\n\t\t\t})\n\t\t}\n\t}\n\n\t/** Idempotent indicator rotation — skips if already at target state */\n\tprivate _animateIndicator(isOpen: boolean) {\n\t\tif (this._indicatorIsOpen === isOpen) return\n\t\tthis._indicatorIsOpen = isOpen\n\n\t\tconst indicator = this._indicatorRef.value\n\t\tif (!indicator || reducedMotion$.value) return\n\n\t\tthis._currentAnimation?.cancel()\n\n\t\tthis._currentAnimation = indicator.animate(\n\t\t\t[\n\t\t\t\t{ transform: `rotate(${isOpen ? '0deg' : `${this.indicatorRotate}deg`})` },\n\t\t\t\t{ transform: `rotate(${isOpen ? `${this.indicatorRotate}deg` : '0deg'})` },\n\t\t\t],\n\t\t\t{\n\t\t\t\tduration: SPRING_SNAPPY.duration,\n\t\t\t\teasing: SPRING_SNAPPY.easingFallback,\n\t\t\t\tfill: 'forwards',\n\t\t\t},\n\t\t)\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-details': SchmancyDetails\n\t}\n}\n"],"mappings":"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"}
|
package/dist/details.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./details-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./details-Bhz8_whd.cjs`);exports.SchmancyDetails=e.t;
|
package/dist/details.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "./details-
|
|
1
|
+
import { t as e } from "./details-D7VTnLOh.js";
|
|
2
2
|
export { e as SchmancyDetails };
|