@mhmo91/schmancy 0.10.37 → 0.10.39
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/custom-elements.json +39 -0
- package/dist/{SchmancyElement-CDT2q1lA.js → SchmancyElement-BNnyBOwk.js} +9 -7
- package/dist/{SchmancyElement-CDT2q1lA.js.map → SchmancyElement-BNnyBOwk.js.map} +1 -1
- package/dist/{SchmancyElement-BHfQg3Tj.cjs → SchmancyElement-C41uPa6l.cjs} +2 -2
- package/dist/{SchmancyElement-BHfQg3Tj.cjs.map → SchmancyElement-C41uPa6l.cjs.map} +1 -1
- package/dist/agent/schmancy.agent.js +2334 -2297
- package/dist/agent/schmancy.agent.js.map +1 -1
- package/dist/area-2FrTZI_T.cjs +21 -0
- package/dist/area-2FrTZI_T.cjs.map +1 -0
- package/dist/{area-KtULlxuA.js → area-KVDzhT4s.js} +4 -4
- package/dist/area-KVDzhT4s.js.map +1 -0
- package/dist/area.cjs +1 -1
- package/dist/area.js +2 -2
- package/dist/{audio-zIJVTo_V.js → audio-D3gnp15Y.js} +1 -1
- package/dist/{audio-zIJVTo_V.js.map → audio-D3gnp15Y.js.map} +1 -1
- package/dist/{audio-CUMAv9D_.cjs → audio-EaD0Ggfh.cjs} +1 -1
- package/dist/{audio-CUMAv9D_.cjs.map → audio-EaD0Ggfh.cjs.map} +1 -1
- package/dist/audio.cjs +1 -1
- package/dist/audio.js +2 -2
- package/dist/autocomplete-DMmxsvUe.cjs +115 -0
- package/dist/autocomplete-DMmxsvUe.cjs.map +1 -0
- package/dist/{autocomplete-DIScyo8Q.js → autocomplete-DWiEqlQf.js} +96 -96
- package/dist/autocomplete-DWiEqlQf.js.map +1 -0
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/avatar.cjs +1 -1
- package/dist/avatar.js +3 -3
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-OBZ77exO.cjs → boat-DsFJNfPH.cjs} +1 -1
- package/dist/{boat-OBZ77exO.cjs.map → boat-DsFJNfPH.cjs.map} +1 -1
- package/dist/{boat-BHPqSqJd.js → boat-fqodYt2n.js} +4 -4
- package/dist/{boat-BHPqSqJd.js.map → boat-fqodYt2n.js.map} +1 -1
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/breadcrumb.cjs +3 -3
- package/dist/breadcrumb.cjs.map +1 -1
- package/dist/breadcrumb.js +4 -4
- package/dist/breadcrumb.js.map +1 -1
- package/dist/{busy-BJNsKSCM.cjs → busy-Cj_PV7oC.cjs} +1 -1
- package/dist/{busy-BJNsKSCM.cjs.map → busy-Cj_PV7oC.cjs.map} +1 -1
- package/dist/{busy-Dut78y4L.js → busy-enYCTssB.js} +2 -2
- package/dist/{busy-Dut78y4L.js.map → busy-enYCTssB.js.map} +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button-B9RfBt-n.cjs +63 -0
- package/dist/button-B9RfBt-n.cjs.map +1 -0
- package/dist/{button-kcpPQavY.js → button-D6LJC-HC.js} +11 -9
- package/dist/button-D6LJC-HC.js.map +1 -0
- package/dist/button.cjs +7 -6
- package/dist/button.cjs.map +1 -1
- package/dist/button.js +18 -16
- package/dist/button.js.map +1 -1
- package/dist/{card-DxSKxCid.js → card-BHTz1GwB.js} +16 -16
- package/dist/card-BHTz1GwB.js.map +1 -0
- package/dist/{card-BLxPLqdQ.cjs → card-ThG_ZaQE.cjs} +3 -3
- package/dist/card-ThG_ZaQE.cjs.map +1 -0
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-BCLkhp5G.cjs → checkbox-C4zeib84.cjs} +2 -2
- package/dist/{checkbox-BCLkhp5G.cjs.map → checkbox-C4zeib84.cjs.map} +1 -1
- package/dist/{checkbox-B1wiM3Dv.js → checkbox-Ce0DlAdW.js} +6 -6
- package/dist/{checkbox-B1wiM3Dv.js.map → checkbox-Ce0DlAdW.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-vWmwqQed.js → chips-BoZSpSh_.js} +21 -19
- package/dist/chips-BoZSpSh_.js.map +1 -0
- package/dist/{chips-C9dS1WKn.cjs → chips-wfJ7YtWv.cjs} +4 -3
- package/dist/chips-wfJ7YtWv.cjs.map +1 -0
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/connectivity.cjs +1 -1
- package/dist/connectivity.js +3 -3
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/cursor-glow-Ah7VXSj7.js.map +1 -1
- package/dist/cursor-glow-Bulq-38P.cjs.map +1 -1
- package/dist/{date-range-BV6HuvLw.cjs → date-range-BHSzlwSL.cjs} +2 -2
- package/dist/date-range-BHSzlwSL.cjs.map +1 -0
- package/dist/{date-range-D3ge1b4c.js → date-range-DJrdpzev.js} +4 -4
- package/dist/date-range-DJrdpzev.js.map +1 -0
- package/dist/{date-range-inline-DpYgdLRv.cjs → date-range-inline-D0I6k84h.cjs} +1 -1
- package/dist/{date-range-inline-DpYgdLRv.cjs.map → date-range-inline-D0I6k84h.cjs.map} +1 -1
- package/dist/{date-range-inline-DuWQaWps.js → date-range-inline-DjRdMZ1z.js} +2 -2
- package/dist/{date-range-inline-DuWQaWps.js.map → date-range-inline-DjRdMZ1z.js.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +2 -2
- package/dist/{details-C-GZaq3j.js → details-CY49XVfp.js} +43 -35
- package/dist/details-CY49XVfp.js.map +1 -0
- package/dist/details-DQNj2oaU.cjs +164 -0
- package/dist/details-DQNj2oaU.cjs.map +1 -0
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{directives-D_l1E5H6.cjs → directives-Bb0S1DKZ.cjs} +3 -3
- package/dist/directives-Bb0S1DKZ.cjs.map +1 -0
- package/dist/{directives-DyS51FUh.js → directives-Bfm1lkoy.js} +6 -8
- package/dist/directives-Bfm1lkoy.js.map +1 -0
- package/dist/directives.cjs +1 -1
- package/dist/directives.js +2 -2
- package/dist/{divider-nQffE0AD.js → divider-BeyX_C0A.js} +2 -2
- package/dist/{divider-nQffE0AD.js.map → divider-BeyX_C0A.js.map} +1 -1
- package/dist/{divider-CBnAmHMZ.cjs → divider-Ck2C1sKl.cjs} +1 -1
- package/dist/{divider-CBnAmHMZ.cjs.map → divider-Ck2C1sKl.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +2 -2
- package/dist/{expand-DvTb-UPR.js → expand-BYsSEtp6.js} +53 -53
- package/dist/expand-BYsSEtp6.js.map +1 -0
- package/dist/expand-CUF163mg.cjs +141 -0
- package/dist/expand-CUF163mg.cjs.map +1 -0
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/fab.cjs +2 -1
- package/dist/fab.cjs.map +1 -1
- package/dist/fab.js +3 -2
- package/dist/fab.js.map +1 -1
- package/dist/{float-C-Ko0Le3.js → float-Cgllk_H9.js} +2 -2
- package/dist/{float-C-Ko0Le3.js.map → float-Cgllk_H9.js.map} +1 -1
- package/dist/{float-C17xgMT1.cjs → float-OvqX0nqG.cjs} +1 -1
- package/dist/{float-C17xgMT1.cjs.map → float-OvqX0nqG.cjs.map} +1 -1
- package/dist/float.cjs +1 -1
- package/dist/float.js +1 -1
- package/dist/form-4GKROq2P.cjs +27 -0
- package/dist/form-4GKROq2P.cjs.map +1 -0
- package/dist/{form-DA0hUu2h.js → form-DxaV_Ose.js} +39 -39
- package/dist/form-DxaV_Ose.js.map +1 -0
- package/dist/form.cjs +3 -3
- package/dist/form.cjs.map +1 -1
- package/dist/form.js +34 -34
- package/dist/form.js.map +1 -1
- package/dist/gravity-6pL6CfIr.cjs.map +1 -1
- package/dist/gravity-sVK3zGBF.js.map +1 -1
- package/dist/handover/agent-runtime-followups.md +1 -1
- package/dist/handover/agent-runtime-v1.md +3 -3
- package/dist/{icons-C6UfxmHZ.js → icons-CJ2mXcBi.js} +9 -9
- package/dist/icons-CJ2mXcBi.js.map +1 -0
- package/dist/icons-sZ-LybA9.cjs +24 -0
- package/dist/icons-sZ-LybA9.cjs.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{iframe-BTjZfYyh.js → iframe-DWvN5nGB.js} +11 -11
- package/dist/iframe-DWvN5nGB.js.map +1 -0
- package/dist/{iframe-wuYT2xFz.cjs → iframe-DpCv-QH2.cjs} +7 -7
- package/dist/iframe-DpCv-QH2.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 +35 -35
- package/dist/{input-B_4g2ulO.js → input-BCCHz6tB.js} +7 -7
- package/dist/input-BCCHz6tB.js.map +1 -0
- package/dist/{input-BrDiIT60.cjs → input-Z-3N5JMv.cjs} +2 -2
- package/dist/input-Z-3N5JMv.cjs.map +1 -0
- package/dist/{input-chip-BlWhOruv.js → input-chip-BOrcKH-H.js} +2 -2
- package/dist/{input-chip-BlWhOruv.js.map → input-chip-BOrcKH-H.js.map} +1 -1
- package/dist/{input-chip-B-XWh4aE.cjs → input-chip-ChAgRCXZ.cjs} +1 -1
- package/dist/{input-chip-B-XWh4aE.cjs.map → input-chip-ChAgRCXZ.cjs.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/json.cjs +1 -1
- package/dist/json.js +3 -3
- package/dist/kbd.cjs +1 -1
- package/dist/kbd.js +2 -2
- package/dist/{layout-Dxit9enO.js → layout-CFiG3lNT.js} +1 -1
- package/dist/{layout-Dxit9enO.js.map → layout-CFiG3lNT.js.map} +1 -1
- package/dist/{layout-BhyIcEVu.cjs → layout-DZ4dpLh9.cjs} +1 -1
- package/dist/{layout-BhyIcEVu.cjs.map → layout-DZ4dpLh9.cjs.map} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +2 -2
- package/dist/lazy-BaAiIUru.js +19 -0
- package/dist/lazy-BaAiIUru.js.map +1 -0
- package/dist/lazy-C-7a4FAe.cjs +1 -0
- package/dist/lazy-C-7a4FAe.cjs.map +1 -0
- package/dist/{lightbox-D85XAAuC.js → lightbox-B7Y4Nij_.js} +2 -2
- package/dist/lightbox-B7Y4Nij_.js.map +1 -0
- package/dist/{lightbox-CVBogswK.cjs → lightbox-Dpwsn8Qr.cjs} +1 -1
- package/dist/lightbox-Dpwsn8Qr.cjs.map +1 -0
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/{list-nVjLskgx.cjs → list-BhM-6dAi.cjs} +1 -1
- package/dist/{list-nVjLskgx.cjs.map → list-BhM-6dAi.cjs.map} +1 -1
- package/dist/{list-DOF_yVn5.js → list-C5WVoIfJ.js} +2 -2
- package/dist/{list-DOF_yVn5.js.map → list-C5WVoIfJ.js.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/magnetic-DKtc4umC.cjs.map +1 -1
- package/dist/magnetic-DaOOv5Dz.js.map +1 -1
- package/dist/{menu-QrAK5Uu9.js → menu-Dvi_tQgH.js} +3 -3
- package/dist/{menu-QrAK5Uu9.js.map → menu-Dvi_tQgH.js.map} +1 -1
- package/dist/{menu-DqmNjLgY.cjs → menu-GZARYp6I.cjs} +1 -1
- package/dist/{menu-DqmNjLgY.cjs.map → menu-GZARYp6I.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/{mixins-De1zjyhy.js → mixins-DGBI7YPO.js} +11 -11
- package/dist/mixins-DGBI7YPO.js.map +1 -0
- package/dist/{mixins-DxHpyMHA.cjs → mixins-fIpzhVMd.cjs} +1 -1
- package/dist/mixins-fIpzhVMd.cjs.map +1 -0
- package/dist/mixins.cjs +1 -1
- package/dist/mixins.js +2 -2
- 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 +11 -10
- package/dist/navigation-rail.js.map +1 -1
- package/dist/notification-B6yDL91t.cjs +24 -0
- package/dist/notification-B6yDL91t.cjs.map +1 -0
- package/dist/{notification-BtAK7NK8.js → notification-BB9OBRCr.js} +22 -22
- package/dist/notification-BB9OBRCr.js.map +1 -0
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-DHwA0miA.js → option-B21ImL0k.js} +2 -2
- package/dist/{option-DHwA0miA.js.map → option-B21ImL0k.js.map} +1 -1
- package/dist/{option-DnSPa8ro.cjs → option-CJQM5I9q.cjs} +1 -1
- package/dist/{option-DnSPa8ro.cjs.map → option-CJQM5I9q.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{overlay-Del1sBEB.js → overlay-DwJWVyk2.js} +75 -67
- package/dist/overlay-DwJWVyk2.js.map +1 -0
- package/dist/overlay-N0trD-4u.cjs +58 -0
- package/dist/overlay-N0trD-4u.cjs.map +1 -0
- package/dist/overlay.cjs +1 -1
- package/dist/{overlay.confirm-body-BV9umTAl.cjs → overlay.confirm-body-CtXIi421.cjs} +3 -3
- package/dist/overlay.confirm-body-CtXIi421.cjs.map +1 -0
- package/dist/{overlay.confirm-body-DSONXUzl.js → overlay.confirm-body-DwzKhXxM.js} +10 -10
- package/dist/overlay.confirm-body-DwzKhXxM.js.map +1 -0
- package/dist/overlay.js +4 -4
- package/dist/{overlay.service-BTp5Oq7f.js → overlay.service-BDLi0p5M.js} +4 -4
- package/dist/{overlay.service-BTp5Oq7f.js.map → overlay.service-BDLi0p5M.js.map} +1 -1
- package/dist/overlay.service-Dbu5uP9E.cjs +1 -0
- package/dist/{overlay.service-XLlrsSdA.cjs.map → overlay.service-Dbu5uP9E.cjs.map} +1 -1
- package/dist/{progress-DUbTL9g9.cjs → progress-B-Qg44XY.cjs} +1 -1
- package/dist/{progress-DUbTL9g9.cjs.map → progress-B-Qg44XY.cjs.map} +1 -1
- package/dist/{progress-DYA83CFU.js → progress-CUSS1sNz.js} +2 -2
- package/dist/{progress-DYA83CFU.js.map → progress-CUSS1sNz.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-group-DxX0iJBo.js → radio-group-AHLvrN8O.js} +7 -7
- package/dist/radio-group-AHLvrN8O.js.map +1 -0
- package/dist/{radio-group-B-ORNtvR.cjs → radio-group-BEtvCSS1.cjs} +2 -2
- package/dist/radio-group-BEtvCSS1.cjs.map +1 -0
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/range.cjs +1 -1
- package/dist/range.js +2 -2
- package/dist/select-BWpV2iv-.cjs +56 -0
- package/dist/select-BWpV2iv-.cjs.map +1 -0
- package/dist/{select-C7gkA-ab.js → select-Cawz88lG.js} +46 -46
- package/dist/select-Cawz88lG.js.map +1 -0
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/skeleton.cjs +1 -1
- package/dist/skeleton.js +2 -2
- package/dist/skills/SKILL.md +9 -0
- package/dist/skills/overlay.md +14 -7
- package/dist/skills/schmancy/SKILL.md +9 -0
- package/dist/skills/schmancy/overlay.md +14 -7
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +2 -2
- package/dist/{sound.service-O0232os6.js → sound.service-CK-5zob-.js} +4 -3
- package/dist/sound.service-CK-5zob-.js.map +1 -0
- package/dist/{sound.service-C7FDY_yD.cjs → sound.service-D2GGaBXc.cjs} +1 -1
- package/dist/sound.service-D2GGaBXc.cjs.map +1 -0
- package/dist/{splash-screen-jfE47xl0.js → splash-screen-BUEtjHXC.js} +13 -13
- package/dist/splash-screen-BUEtjHXC.js.map +1 -0
- package/dist/{splash-screen-DIS4odDr.cjs → splash-screen-DqPuipox.cjs} +6 -6
- package/dist/splash-screen-DqPuipox.cjs.map +1 -0
- package/dist/splash-screen.cjs +1 -1
- package/dist/splash-screen.js +1 -1
- package/dist/{src-BP3h-9d9.js → src-8VJ7eluk.js} +46 -45
- package/dist/src-8VJ7eluk.js.map +1 -0
- package/dist/{src-Um_pzb-U.cjs → src-GJA8uSAS.cjs} +7 -6
- package/dist/src-GJA8uSAS.cjs.map +1 -0
- package/dist/{state-Bj0M9a6T.cjs → state-BxDNox-2.cjs} +1 -1
- package/dist/{state-Bj0M9a6T.cjs.map → state-BxDNox-2.cjs.map} +1 -1
- package/dist/{state-DscWQpoM.js → state-CnZCDMT0.js} +9 -9
- package/dist/{state-DscWQpoM.js.map → state-CnZCDMT0.js.map} +1 -1
- package/dist/state.cjs +1 -1
- package/dist/state.js +2 -2
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +2 -2
- package/dist/{surface-B4Wn4SOO.js → surface-BMdG3dKQ.js} +2 -2
- package/dist/{surface-B4Wn4SOO.js.map → surface-BMdG3dKQ.js.map} +1 -1
- package/dist/{surface-DRq6cVW6.cjs → surface-CWwYD_z2.cjs} +1 -1
- package/dist/{surface-DRq6cVW6.cjs.map → surface-CWwYD_z2.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/switch.cjs +4 -4
- package/dist/switch.cjs.map +1 -1
- package/dist/switch.js +11 -11
- package/dist/switch.js.map +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +2 -2
- package/dist/{tabs-CnQPo-XS.js → tabs-CDQYDc6v.js} +2 -2
- package/dist/{tabs-CnQPo-XS.js.map → tabs-CDQYDc6v.js.map} +1 -1
- package/dist/{tabs-Ca_fbHPW.cjs → tabs-CbD9E1gd.cjs} +1 -1
- package/dist/{tabs-Ca_fbHPW.cjs.map → tabs-CbD9E1gd.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/textarea-Brgi-vD2.cjs +43 -0
- package/dist/textarea-Brgi-vD2.cjs.map +1 -0
- package/dist/{textarea-BvqENhTW.js → textarea-MPyrMi-S.js} +4 -4
- package/dist/textarea-MPyrMi-S.js.map +1 -0
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-BSwJ2YZo.cjs → theme-BMbXoqi0.cjs} +1 -1
- package/dist/{theme-BSwJ2YZo.cjs.map → theme-BMbXoqi0.cjs.map} +1 -1
- package/dist/{theme-BV0EzHQ1.js → theme-DZu-xmVp.js} +5 -5
- package/dist/{theme-BV0EzHQ1.js.map → theme-DZu-xmVp.js.map} +1 -1
- package/dist/{theme-button-C6fpUzPM.cjs → theme-button-B0OLb-43.cjs} +1 -1
- package/dist/{theme-button-C6fpUzPM.cjs.map → theme-button-B0OLb-43.cjs.map} +1 -1
- package/dist/{theme-button-O_xNCgI7.js → theme-button-D_qGvEYs.js} +2 -2
- package/dist/{theme-button-O_xNCgI7.js.map → theme-button-D_qGvEYs.js.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/theme.js +3 -3
- package/dist/{theme.service-DwLhhOmP.js → theme.service-7VkM-hVf.js} +15 -11
- package/dist/theme.service-7VkM-hVf.js.map +1 -0
- package/dist/theme.service-B15FdjOS.cjs +1 -0
- package/dist/theme.service-B15FdjOS.cjs.map +1 -0
- package/dist/tree.cjs +4 -4
- package/dist/tree.cjs.map +1 -1
- package/dist/tree.js +8 -8
- package/dist/tree.js.map +1 -1
- package/dist/{typography-opFYuUYS.cjs → typography-D4Fo1UGh.cjs} +3 -3
- package/dist/{typography-opFYuUYS.cjs.map → typography-D4Fo1UGh.cjs.map} +1 -1
- package/dist/{typography-Dtdooaic.js → typography-SZhjb_4R.js} +9 -9
- package/dist/{typography-Dtdooaic.js.map → typography-SZhjb_4R.js.map} +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/dist/visually-hidden.cjs +1 -1
- package/dist/visually-hidden.js +2 -2
- package/dist/{window-ConcHirJ.js → window-BDVyrBnk.js} +101 -100
- package/dist/window-BDVyrBnk.js.map +1 -0
- package/dist/window-BbBYjm7R.cjs +59 -0
- package/dist/window-BbBYjm7R.cjs.map +1 -0
- package/dist/window.cjs +1 -1
- package/dist/window.js +1 -1
- package/package.json +1 -1
- package/skills/schmancy/SKILL.md +9 -0
- package/skills/schmancy/overlay.md +14 -7
- package/src/area/area.component.ts +1 -1
- package/src/area/area.service.test.ts +2 -2
- package/src/area/area.service.ts +1 -1
- package/src/area/lazy.ts +87 -83
- package/src/audio/sound.service.ts +3 -3
- package/src/badge/badge.ts +1 -0
- package/src/breadcrumb/breadcrumb.ts +2 -2
- package/src/button/button.ts +12 -11
- package/src/button/icon-button.ts +19 -18
- package/src/card/card.ts +16 -16
- package/src/content-drawer/drawer.ts +6 -6
- package/src/details/details.ts +55 -55
- package/src/directives/ai-badge.ts +2 -1
- package/src/directives/animate-text.ts +2 -1
- package/src/directives/art/art.directive.ts +2 -1
- package/src/directives/battery.ts +2 -1
- package/src/directives/confirm-click.ts +5 -3
- package/src/directives/cursor-glow.ts +2 -1
- package/src/directives/cycle-text.ts +2 -1
- package/src/directives/depth-of-field.ts +2 -1
- package/src/directives/drag.ts +4 -2
- package/src/directives/fyi.ts +2 -1
- package/src/directives/gravity.ts +2 -1
- package/src/directives/hummingbird.ts +2 -1
- package/src/directives/intersect.ts +3 -2
- package/src/directives/liquid.ts +2 -1
- package/src/directives/living-border.ts +2 -1
- package/src/directives/long-press.ts +2 -1
- package/src/directives/magnetic.ts +2 -1
- package/src/directives/missed-punch.ts +2 -1
- package/src/directives/nebula.ts +6 -5
- package/src/directives/overflow-within.ts +2 -1
- package/src/directives/reveal.ts +2 -1
- package/src/directives/urgent.ts +2 -1
- package/src/directives/working-snake.ts +2 -1
- package/src/expand/expand-root.component.ts +27 -27
- package/src/expand/expand.component.ts +48 -48
- package/src/fab/fab.ts +1 -0
- package/src/form/fields/autocomplete/autocomplete.ts +154 -154
- package/src/form/fields/checkbox/checkbox.ts +4 -4
- package/src/form/fields/chips/chips.ts +2 -2
- package/src/form/fields/chips/filter-chip.ts +16 -15
- package/src/form/fields/date-range/date-range.ts +2 -2
- package/src/form/fields/input/input.ts +12 -12
- package/src/form/fields/radio-group/radio-button.ts +2 -2
- package/src/form/fields/radio-group/radio-group.ts +3 -3
- package/src/form/fields/select/select.ts +56 -56
- package/src/form/fields/switch/switch.ts +10 -10
- package/src/form/fields/textarea/textarea.ts +2 -2
- package/src/form/form-summary.ts +33 -33
- package/src/form/form.ts +45 -45
- package/src/icons/icon.ts +10 -8
- package/src/iframe/iframe.ts +11 -11
- package/src/lightbox/flip-directive.ts +2 -1
- package/src/lightbox/lightbox.directive.ts +2 -1
- package/src/nav-drawer/navbar.ts +3 -3
- package/src/navigation-rail/navigation-rail.ts +10 -10
- package/src/notification/notification.ts +22 -22
- package/src/overlay/overlay.component.ts +106 -83
- package/src/overlay/overlay.confirm-body.ts +4 -4
- package/src/overlay/overlay.service.ts +3 -3
- package/src/overlay/overlay.types.ts +4 -2
- package/src/splash-screen/splash-screen.ts +11 -11
- package/src/state/index.ts +12 -12
- package/src/state/schmancy-context.ts +9 -9
- package/src/teleport/teleport.component.ts +2 -2
- package/src/theme/theme.service.ts +17 -17
- package/src/tree/tree.ts +7 -7
- package/src/typography/typography.ts +7 -7
- package/src/window/window-manager.ts +20 -20
- package/src/window/window.ts +100 -100
- package/types/mixins/SchmancyElement.d.ts +3 -2
- package/types/mixins/formField.mixin.d.ts +1 -1
- package/types/src/area/area.service.d.ts +1 -1
- package/types/src/area/lazy.d.ts +0 -6
- package/types/src/audio/sound.service.d.ts +1 -2
- package/types/src/breadcrumb/breadcrumb.d.ts +1 -1
- package/types/src/button/button.d.ts +3 -3
- package/types/src/button/icon-button.d.ts +6 -7
- package/types/src/card/card.d.ts +5 -5
- package/types/src/content-drawer/drawer.d.ts +1 -1
- package/types/src/details/details.d.ts +2 -21
- package/types/src/directives/ai-badge.d.ts +2 -2
- package/types/src/directives/animate-text.d.ts +2 -2
- package/types/src/directives/art/art.directive.d.ts +2 -2
- package/types/src/directives/battery.d.ts +2 -2
- package/types/src/directives/confirm-click.d.ts +2 -2
- package/types/src/directives/cursor-glow.d.ts +2 -2
- package/types/src/directives/cycle-text.d.ts +2 -2
- package/types/src/directives/depth-of-field.d.ts +2 -2
- package/types/src/directives/drag.d.ts +4 -4
- package/types/src/directives/fyi.d.ts +2 -2
- package/types/src/directives/gravity.d.ts +2 -2
- package/types/src/directives/hummingbird.d.ts +2 -2
- package/types/src/directives/intersect.d.ts +2 -2
- package/types/src/directives/liquid.d.ts +2 -2
- package/types/src/directives/living-border.d.ts +2 -2
- package/types/src/directives/long-press.d.ts +2 -2
- package/types/src/directives/magnetic.d.ts +2 -2
- package/types/src/directives/missed-punch.d.ts +2 -2
- package/types/src/directives/nebula.d.ts +2 -2
- package/types/src/directives/overflow-within.d.ts +2 -2
- package/types/src/directives/reveal.d.ts +2 -2
- package/types/src/directives/urgent.d.ts +2 -2
- package/types/src/directives/working-snake.d.ts +2 -2
- package/types/src/expand/expand-root.component.d.ts +8 -8
- package/types/src/expand/expand.component.d.ts +11 -11
- package/types/src/form/fields/autocomplete/autocomplete.d.ts +29 -29
- package/types/src/form/fields/checkbox/checkbox.d.ts +1 -1
- package/types/src/form/fields/chips/chips.d.ts +1 -1
- package/types/src/form/fields/chips/filter-chip.d.ts +1 -2
- package/types/src/form/fields/input/input.d.ts +3 -3
- package/types/src/form/fields/radio-group/radio-button.d.ts +1 -1
- package/types/src/form/fields/radio-group/radio-group.d.ts +1 -1
- package/types/src/form/fields/select/select.d.ts +8 -8
- package/types/src/form/fields/switch/switch.d.ts +3 -3
- package/types/src/form/fields/textarea/textarea.d.ts +1 -1
- package/types/src/form/form-summary.d.ts +7 -7
- package/types/src/form/form.d.ts +11 -11
- package/types/src/icons/icon.d.ts +2 -2
- package/types/src/iframe/iframe.d.ts +3 -3
- package/types/src/lightbox/flip-directive.d.ts +2 -2
- package/types/src/lightbox/lightbox.directive.d.ts +2 -2
- package/types/src/nav-drawer/navbar.d.ts +1 -1
- package/types/src/navigation-rail/navigation-rail.d.ts +2 -2
- package/types/src/notification/notification.d.ts +8 -8
- package/types/src/overlay/overlay.component.d.ts +16 -16
- package/types/src/overlay/overlay.confirm-body.d.ts +1 -1
- package/types/src/overlay/overlay.types.d.ts +4 -2
- package/types/src/splash-screen/splash-screen.d.ts +2 -2
- package/types/src/state/index.d.ts +1 -1
- package/types/src/state/schmancy-context.d.ts +3 -3
- package/types/src/teleport/teleport.component.d.ts +1 -1
- package/types/src/theme/theme.service.d.ts +1 -4
- package/types/src/tree/tree.d.ts +3 -3
- package/types/src/typography/typography.d.ts +1 -1
- package/types/src/window/window-manager.d.ts +2 -2
- package/types/src/window/window.d.ts +20 -20
- package/dist/area-KtULlxuA.js.map +0 -1
- package/dist/area-fdKhYB6T.cjs +0 -21
- package/dist/area-fdKhYB6T.cjs.map +0 -1
- package/dist/autocomplete-DEZk6wBD.cjs +0 -115
- package/dist/autocomplete-DEZk6wBD.cjs.map +0 -1
- package/dist/autocomplete-DIScyo8Q.js.map +0 -1
- package/dist/button-DzlHLjWO.cjs +0 -62
- package/dist/button-DzlHLjWO.cjs.map +0 -1
- package/dist/button-kcpPQavY.js.map +0 -1
- package/dist/card-BLxPLqdQ.cjs.map +0 -1
- package/dist/card-DxSKxCid.js.map +0 -1
- package/dist/chips-C9dS1WKn.cjs.map +0 -1
- package/dist/chips-vWmwqQed.js.map +0 -1
- package/dist/date-range-BV6HuvLw.cjs.map +0 -1
- package/dist/date-range-D3ge1b4c.js.map +0 -1
- package/dist/details-C-GZaq3j.js.map +0 -1
- package/dist/details-Dp5rLIWk.cjs +0 -164
- package/dist/details-Dp5rLIWk.cjs.map +0 -1
- package/dist/directives-D_l1E5H6.cjs.map +0 -1
- package/dist/directives-DyS51FUh.js.map +0 -1
- package/dist/expand-DvTb-UPR.js.map +0 -1
- package/dist/expand-mlP_3XWz.cjs +0 -141
- package/dist/expand-mlP_3XWz.cjs.map +0 -1
- package/dist/form-CwPHcQYB.cjs +0 -27
- package/dist/form-CwPHcQYB.cjs.map +0 -1
- package/dist/form-DA0hUu2h.js.map +0 -1
- package/dist/icons-C6UfxmHZ.js.map +0 -1
- package/dist/icons-CW3-oMSb.cjs +0 -24
- package/dist/icons-CW3-oMSb.cjs.map +0 -1
- package/dist/iframe-BTjZfYyh.js.map +0 -1
- package/dist/iframe-wuYT2xFz.cjs.map +0 -1
- package/dist/input-B_4g2ulO.js.map +0 -1
- package/dist/input-BrDiIT60.cjs.map +0 -1
- package/dist/lazy-CayEFyC3.cjs +0 -1
- package/dist/lazy-CayEFyC3.cjs.map +0 -1
- package/dist/lazy-D-bO2r4m.js +0 -13
- package/dist/lazy-D-bO2r4m.js.map +0 -1
- package/dist/lightbox-CVBogswK.cjs.map +0 -1
- package/dist/lightbox-D85XAAuC.js.map +0 -1
- package/dist/mixins-De1zjyhy.js.map +0 -1
- package/dist/mixins-DxHpyMHA.cjs.map +0 -1
- package/dist/notification-BtAK7NK8.js.map +0 -1
- package/dist/notification-DYzbUb5C.cjs +0 -24
- package/dist/notification-DYzbUb5C.cjs.map +0 -1
- package/dist/overlay-BVkqZmoS.cjs +0 -58
- package/dist/overlay-BVkqZmoS.cjs.map +0 -1
- package/dist/overlay-Del1sBEB.js.map +0 -1
- package/dist/overlay.confirm-body-BV9umTAl.cjs.map +0 -1
- package/dist/overlay.confirm-body-DSONXUzl.js.map +0 -1
- package/dist/overlay.service-XLlrsSdA.cjs +0 -1
- package/dist/radio-group-B-ORNtvR.cjs.map +0 -1
- package/dist/radio-group-DxX0iJBo.js.map +0 -1
- package/dist/select-B9uj_u-s.cjs +0 -56
- package/dist/select-B9uj_u-s.cjs.map +0 -1
- package/dist/select-C7gkA-ab.js.map +0 -1
- package/dist/sound.service-C7FDY_yD.cjs.map +0 -1
- package/dist/sound.service-O0232os6.js.map +0 -1
- package/dist/splash-screen-DIS4odDr.cjs.map +0 -1
- package/dist/splash-screen-jfE47xl0.js.map +0 -1
- package/dist/src-BP3h-9d9.js.map +0 -1
- package/dist/src-Um_pzb-U.cjs.map +0 -1
- package/dist/textarea-BvqENhTW.js.map +0 -1
- package/dist/textarea-qr7oL8oU.cjs +0 -43
- package/dist/textarea-qr7oL8oU.cjs.map +0 -1
- package/dist/theme.service-DwLhhOmP.js.map +0 -1
- package/dist/theme.service-kn9MC025.cjs +0 -1
- package/dist/theme.service-kn9MC025.cjs.map +0 -1
- package/dist/window-BSAemI9J.cjs +0 -59
- package/dist/window-BSAemI9J.cjs.map +0 -1
- package/dist/window-ConcHirJ.js.map +0 -1
package/src/area/lazy.ts
CHANGED
|
@@ -1,83 +1,87 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lazy loading for Schmancy Area components
|
|
3
|
-
* Similar to React.lazy() but adapted for Web Components
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
// Type definition for custom element constructors
|
|
7
|
-
type CustomElementConstructor = typeof HTMLElement
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* LazyComponent interface with preload capability
|
|
11
|
-
*/
|
|
12
|
-
export interface LazyComponent<T extends CustomElementConstructor = CustomElementConstructor> {
|
|
13
|
-
(): Promise<{ default: T }>
|
|
14
|
-
preload(): Promise<void>
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
.
|
|
63
|
-
//
|
|
64
|
-
lazyComponent
|
|
65
|
-
|
|
66
|
-
})
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Lazy loading for Schmancy Area components
|
|
3
|
+
* Similar to React.lazy() but adapted for Web Components
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// Type definition for custom element constructors
|
|
7
|
+
type CustomElementConstructor = typeof HTMLElement
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* LazyComponent interface with preload capability
|
|
11
|
+
*/
|
|
12
|
+
export interface LazyComponent<T extends CustomElementConstructor = CustomElementConstructor> {
|
|
13
|
+
(): Promise<{ default: T }>
|
|
14
|
+
preload(): Promise<void>
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// Per-component load cache. Kept off the public LazyComponent surface so the
|
|
18
|
+
// interface stays a clean callable + preload() contract.
|
|
19
|
+
const promiseCache = new WeakMap<object, Promise<{ default: CustomElementConstructor }>>()
|
|
20
|
+
const moduleCache = new WeakMap<object, { default: CustomElementConstructor }>()
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Create a lazy-loaded component that will be imported on demand
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const LazyProfile = lazy(() => import('./profile'))
|
|
28
|
+
*
|
|
29
|
+
* // Use with area.push
|
|
30
|
+
* area.push({
|
|
31
|
+
* component: LazyProfile,
|
|
32
|
+
* area: 'main'
|
|
33
|
+
* })
|
|
34
|
+
*
|
|
35
|
+
* // Preload on hover
|
|
36
|
+
* element.addEventListener('mouseenter', () => LazyProfile.preload())
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* @param loader - Dynamic import function that returns a module with default export
|
|
40
|
+
* @returns LazyComponent function compatible with area.push()
|
|
41
|
+
*/
|
|
42
|
+
export function lazy<T extends CustomElementConstructor>(
|
|
43
|
+
loader: () => Promise<{ default: T }>
|
|
44
|
+
): LazyComponent<T> {
|
|
45
|
+
|
|
46
|
+
// Create the lazy component function
|
|
47
|
+
const lazyComponent = function(): Promise<{ default: T }> {
|
|
48
|
+
// Return cached promise if already loading/loaded
|
|
49
|
+
const cachedPromise = promiseCache.get(lazyComponent)
|
|
50
|
+
if (cachedPromise) {
|
|
51
|
+
return cachedPromise as Promise<{ default: T }>
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Return cached module if already loaded
|
|
55
|
+
const cachedModule = moduleCache.get(lazyComponent)
|
|
56
|
+
if (cachedModule) {
|
|
57
|
+
return Promise.resolve(cachedModule as { default: T })
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Start loading and cache the promise
|
|
61
|
+
const promise = loader()
|
|
62
|
+
.then(module => {
|
|
63
|
+
// Cache the loaded module
|
|
64
|
+
moduleCache.set(lazyComponent, module)
|
|
65
|
+
return module
|
|
66
|
+
})
|
|
67
|
+
.catch(error => {
|
|
68
|
+
// Clear promise on error to allow retry
|
|
69
|
+
promiseCache.delete(lazyComponent)
|
|
70
|
+
throw error
|
|
71
|
+
})
|
|
72
|
+
promiseCache.set(lazyComponent, promise)
|
|
73
|
+
|
|
74
|
+
return promise
|
|
75
|
+
} as LazyComponent<T>
|
|
76
|
+
|
|
77
|
+
// Add preload method for manual preloading
|
|
78
|
+
lazyComponent.preload = async function(): Promise<void> {
|
|
79
|
+
try {
|
|
80
|
+
await lazyComponent()
|
|
81
|
+
} catch (error) {
|
|
82
|
+
console.error('Failed to preload component:', error)
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return lazyComponent
|
|
87
|
+
}
|
|
@@ -735,8 +735,8 @@ class SoundService {
|
|
|
735
735
|
)
|
|
736
736
|
|
|
737
737
|
/** BehaviorSubject for current theme name (for debugging/display) */
|
|
738
|
-
|
|
739
|
-
public readonly themeName$ = this
|
|
738
|
+
readonly #themeName$ = new BehaviorSubject<string>('default')
|
|
739
|
+
public readonly themeName$ = this.#themeName$.asObservable()
|
|
740
740
|
|
|
741
741
|
// Getters for synchronous access
|
|
742
742
|
get theme(): SoundTheme | null {
|
|
@@ -758,7 +758,7 @@ class SoundService {
|
|
|
758
758
|
private constructor() {
|
|
759
759
|
// Subscribe to theme changes to update theme name
|
|
760
760
|
this.theme$.subscribe(theme => {
|
|
761
|
-
this
|
|
761
|
+
this.#themeName$.next(theme?.name ?? 'default')
|
|
762
762
|
})
|
|
763
763
|
}
|
|
764
764
|
|
package/src/badge/badge.ts
CHANGED
|
@@ -45,12 +45,12 @@ export class SchmancyBreadcrumb extends SchmancyElement {
|
|
|
45
45
|
// separator is visually present without affecting the accessible name.
|
|
46
46
|
return html`
|
|
47
47
|
<nav role="navigation">
|
|
48
|
-
<slot @slotchange=${() => this.
|
|
48
|
+
<slot @slotchange=${() => this.insertSeparators()}></slot>
|
|
49
49
|
</nav>
|
|
50
50
|
`
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
private
|
|
53
|
+
private insertSeparators() {
|
|
54
54
|
const slot = this.shadowRoot?.querySelector('slot') as HTMLSlotElement | null
|
|
55
55
|
if (!slot) return
|
|
56
56
|
const items = slot.assignedElements({ flatten: true })
|
package/src/button/button.ts
CHANGED
|
@@ -27,6 +27,7 @@ export type ButtonColor = 'primary' | 'secondary' | 'success' | 'error' | 'warni
|
|
|
27
27
|
export class SchmancyButton extends SchmancyElement {
|
|
28
28
|
static styles = [css`:host{
|
|
29
29
|
display: inline-flex;
|
|
30
|
+
flex-shrink: 0;
|
|
30
31
|
overflow: hidden;
|
|
31
32
|
position: relative;
|
|
32
33
|
touch-action: manipulation;
|
|
@@ -71,7 +72,7 @@ export class SchmancyButton extends SchmancyElement {
|
|
|
71
72
|
* while a submit is in flight. Stays focusable; disabled buttons drop from
|
|
72
73
|
* the tab order and are unreachable to AT (WCAG 2.2 AA).
|
|
73
74
|
*/
|
|
74
|
-
private
|
|
75
|
+
private formBusyObserver?: MutationObserver
|
|
75
76
|
|
|
76
77
|
constructor() {
|
|
77
78
|
super()
|
|
@@ -128,20 +129,20 @@ export class SchmancyButton extends SchmancyElement {
|
|
|
128
129
|
}
|
|
129
130
|
}
|
|
130
131
|
sync()
|
|
131
|
-
this.
|
|
132
|
-
this.
|
|
132
|
+
this.formBusyObserver = new MutationObserver(sync)
|
|
133
|
+
this.formBusyObserver.observe(form, { attributes: true, attributeFilter: ['aria-busy'] })
|
|
133
134
|
}
|
|
134
135
|
|
|
135
136
|
override disconnectedCallback(): void {
|
|
136
|
-
this.
|
|
137
|
-
this.
|
|
137
|
+
this.formBusyObserver?.disconnect()
|
|
138
|
+
this.formBusyObserver = undefined
|
|
138
139
|
super.disconnectedCallback()
|
|
139
140
|
}
|
|
140
141
|
|
|
141
142
|
@query('[part="base"]', true)
|
|
142
143
|
private nativeElement!: HTMLElement
|
|
143
144
|
|
|
144
|
-
|
|
145
|
+
#ariaLabel!: string
|
|
145
146
|
|
|
146
147
|
/**
|
|
147
148
|
* The variant of the button.
|
|
@@ -208,8 +209,8 @@ export class SchmancyButton extends SchmancyElement {
|
|
|
208
209
|
public disabled = false
|
|
209
210
|
|
|
210
211
|
public override set ariaLabel(value: string) {
|
|
211
|
-
const oldVal = this
|
|
212
|
-
this
|
|
212
|
+
const oldVal = this.#ariaLabel
|
|
213
|
+
this.#ariaLabel = value
|
|
213
214
|
|
|
214
215
|
if (this.hasAttribute('aria-label')) {
|
|
215
216
|
this.removeAttribute('aria-label')
|
|
@@ -219,7 +220,7 @@ export class SchmancyButton extends SchmancyElement {
|
|
|
219
220
|
|
|
220
221
|
@property({ attribute: 'aria-label' })
|
|
221
222
|
public override get ariaLabel() {
|
|
222
|
-
return this
|
|
223
|
+
return this.#ariaLabel
|
|
223
224
|
}
|
|
224
225
|
|
|
225
226
|
@queryAssignedElements({
|
|
@@ -293,7 +294,7 @@ export class SchmancyButton extends SchmancyElement {
|
|
|
293
294
|
}
|
|
294
295
|
|
|
295
296
|
// Prevent default behavior when the component is disabled.
|
|
296
|
-
private
|
|
297
|
+
private preventDefault(event: Event) {
|
|
297
298
|
event.preventDefault()
|
|
298
299
|
event.stopPropagation()
|
|
299
300
|
}
|
|
@@ -429,7 +430,7 @@ export class SchmancyButton extends SchmancyElement {
|
|
|
429
430
|
class="${this.classMap(classes)}"
|
|
430
431
|
tabindex=${this.disabled ? '-1' : '0'}
|
|
431
432
|
aria-disabled=${this.disabled}
|
|
432
|
-
@click=${this.disabled ? this.
|
|
433
|
+
@click=${this.disabled ? this.preventDefault : undefined}
|
|
433
434
|
>
|
|
434
435
|
${when(!this.disabled, () => html`<div class="${this.classMap(stateLayerClasses)}"></div>`)}
|
|
435
436
|
<slot name="prefix"></slot>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SchmancyElement } from '@mixins/index'
|
|
2
|
-
import { css, html, LitElement
|
|
2
|
+
import { css, html, LitElement } from 'lit'
|
|
3
3
|
import { customElement, property, query, state } from 'lit/decorators.js'
|
|
4
4
|
import { ifDefined } from 'lit/directives/if-defined.js'
|
|
5
5
|
import { when } from 'lit/directives/when.js'
|
|
@@ -17,6 +17,7 @@ export class SchmnacyIconButton extends SchmancyElement {
|
|
|
17
17
|
static styles = [css`
|
|
18
18
|
:host {
|
|
19
19
|
display: inline-flex;
|
|
20
|
+
flex-shrink: 0;
|
|
20
21
|
border-radius: 9999px;
|
|
21
22
|
transition:
|
|
22
23
|
box-shadow 300ms cubic-bezier(0.34, 1.56, 0.64, 1),
|
|
@@ -50,7 +51,7 @@ export class SchmnacyIconButton extends SchmancyElement {
|
|
|
50
51
|
@query('[part="base"]', true)
|
|
51
52
|
private nativeElement!: HTMLElement
|
|
52
53
|
|
|
53
|
-
|
|
54
|
+
#ariaLabel!: string
|
|
54
55
|
|
|
55
56
|
/**
|
|
56
57
|
* The size of the icon.
|
|
@@ -123,31 +124,31 @@ export class SchmnacyIconButton extends SchmancyElement {
|
|
|
123
124
|
// no slotchange ever fires), or a nested <schmancy-icon> element.
|
|
124
125
|
// `textContent` flattens through all three.
|
|
125
126
|
@state()
|
|
126
|
-
private
|
|
127
|
+
private capturedIcon?: string
|
|
127
128
|
|
|
128
|
-
private
|
|
129
|
+
private observer?: MutationObserver
|
|
129
130
|
|
|
130
131
|
connectedCallback(): void {
|
|
131
132
|
super.connectedCallback()
|
|
132
|
-
this.
|
|
133
|
-
this.
|
|
134
|
-
this.
|
|
133
|
+
this.captureIcon()
|
|
134
|
+
this.observer = new MutationObserver(() => this.captureIcon())
|
|
135
|
+
this.observer.observe(this, { childList: true, characterData: true, subtree: true })
|
|
135
136
|
}
|
|
136
137
|
|
|
137
138
|
disconnectedCallback(): void {
|
|
138
139
|
super.disconnectedCallback()
|
|
139
|
-
this.
|
|
140
|
+
this.observer?.disconnect()
|
|
140
141
|
}
|
|
141
142
|
|
|
142
|
-
private
|
|
143
|
+
private captureIcon(): void {
|
|
143
144
|
if (this.icon || this.text) return
|
|
144
|
-
this.
|
|
145
|
+
this.capturedIcon = this.textContent?.trim() || undefined
|
|
145
146
|
}
|
|
146
147
|
|
|
147
148
|
// Manage aria-label manually so that we can always use our internal property.
|
|
148
149
|
public override set ariaLabel(value: string) {
|
|
149
|
-
const oldVal = this
|
|
150
|
-
this
|
|
150
|
+
const oldVal = this.#ariaLabel
|
|
151
|
+
this.#ariaLabel = value
|
|
151
152
|
|
|
152
153
|
if (this.hasAttribute('aria-label')) {
|
|
153
154
|
this.removeAttribute('aria-label')
|
|
@@ -157,7 +158,7 @@ export class SchmnacyIconButton extends SchmancyElement {
|
|
|
157
158
|
|
|
158
159
|
@property({ attribute: 'aria-label' })
|
|
159
160
|
public override get ariaLabel() {
|
|
160
|
-
return this
|
|
161
|
+
return this.#ariaLabel
|
|
161
162
|
}
|
|
162
163
|
|
|
163
164
|
/** Sets focus in the button. */
|
|
@@ -175,12 +176,12 @@ export class SchmnacyIconButton extends SchmancyElement {
|
|
|
175
176
|
}
|
|
176
177
|
|
|
177
178
|
// Prevent default behavior when the component is disabled.
|
|
178
|
-
private
|
|
179
|
+
private preventDefault(event: Event) {
|
|
179
180
|
event.preventDefault()
|
|
180
181
|
event.stopPropagation()
|
|
181
182
|
}
|
|
182
183
|
|
|
183
|
-
protected firstUpdated(
|
|
184
|
+
protected firstUpdated(): void {
|
|
184
185
|
// Add any first-update logic here if needed.
|
|
185
186
|
}
|
|
186
187
|
|
|
@@ -236,14 +237,14 @@ export class SchmnacyIconButton extends SchmancyElement {
|
|
|
236
237
|
class="${this.classMap(classes)}"
|
|
237
238
|
tabindex=${this.disabled ? '-1' : '0'}
|
|
238
239
|
aria-disabled=${this.disabled}
|
|
239
|
-
@click=${this.disabled ? this.
|
|
240
|
+
@click=${this.disabled ? this.preventDefault : undefined}
|
|
240
241
|
>
|
|
241
242
|
${when(!this.disabled, () => html`<div class="absolute inset-0 ${this.classMap(stateLayerClasses)}"></div>`)}
|
|
242
243
|
${this.text
|
|
243
244
|
? html`<slot></slot>`
|
|
244
245
|
: html`
|
|
245
246
|
<slot style="display:none"></slot>
|
|
246
|
-
<schmancy-icon class=${iconSizeClass}>${this.icon || this.
|
|
247
|
+
<schmancy-icon class=${iconSizeClass}>${this.icon || this.capturedIcon}</schmancy-icon>
|
|
247
248
|
`
|
|
248
249
|
}
|
|
249
250
|
</a>
|
|
@@ -266,7 +267,7 @@ export class SchmnacyIconButton extends SchmancyElement {
|
|
|
266
267
|
? html`<slot></slot>`
|
|
267
268
|
: html`
|
|
268
269
|
<slot style="display:none"></slot>
|
|
269
|
-
<schmancy-icon class=${iconSizeClass}>${this.icon || this.
|
|
270
|
+
<schmancy-icon class=${iconSizeClass}>${this.icon || this.capturedIcon}</schmancy-icon>
|
|
270
271
|
`
|
|
271
272
|
}
|
|
272
273
|
</button>
|
package/src/card/card.ts
CHANGED
|
@@ -156,18 +156,18 @@ export default class SchmancyCard extends SchmancyElement {
|
|
|
156
156
|
|
|
157
157
|
connectedCallback() {
|
|
158
158
|
super.connectedCallback()
|
|
159
|
-
this.
|
|
159
|
+
this.updateAriaAttributes()
|
|
160
160
|
}
|
|
161
161
|
|
|
162
162
|
updated(changedProperties: Map<string, unknown>) {
|
|
163
163
|
super.updated(changedProperties)
|
|
164
164
|
if (changedProperties.has('interactive') || changedProperties.has('disabled')) {
|
|
165
|
-
this.
|
|
165
|
+
this.updateAriaAttributes()
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
// Consolidate ARIA attribute updates
|
|
170
|
-
private
|
|
170
|
+
private updateAriaAttributes() {
|
|
171
171
|
const isInteractive = this.interactive && !this.disabled
|
|
172
172
|
|
|
173
173
|
if (isInteractive) {
|
|
@@ -184,7 +184,7 @@ export default class SchmancyCard extends SchmancyElement {
|
|
|
184
184
|
}
|
|
185
185
|
|
|
186
186
|
// Shared ripple creation logic
|
|
187
|
-
private
|
|
187
|
+
private addRipple(x: number, y: number) {
|
|
188
188
|
const id = this.nextRippleId++
|
|
189
189
|
this.ripples = [...this.ripples, { x, y, id }]
|
|
190
190
|
|
|
@@ -195,7 +195,7 @@ export default class SchmancyCard extends SchmancyElement {
|
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
// Shared navigation logic
|
|
198
|
-
private
|
|
198
|
+
private navigate() {
|
|
199
199
|
if (!this.href) return
|
|
200
200
|
|
|
201
201
|
if (this.target === '_blank') {
|
|
@@ -206,9 +206,9 @@ export default class SchmancyCard extends SchmancyElement {
|
|
|
206
206
|
}
|
|
207
207
|
|
|
208
208
|
// Combined action trigger (ripple + navigate + event)
|
|
209
|
-
private
|
|
210
|
-
this.
|
|
211
|
-
this.
|
|
209
|
+
private triggerAction(x: number, y: number) {
|
|
210
|
+
this.addRipple(x, y)
|
|
211
|
+
this.navigate()
|
|
212
212
|
|
|
213
213
|
this.dispatchEvent(
|
|
214
214
|
new CustomEvent('schmancy-click', {
|
|
@@ -223,7 +223,7 @@ export default class SchmancyCard extends SchmancyElement {
|
|
|
223
223
|
if (this.disabled || !this.interactive) return
|
|
224
224
|
|
|
225
225
|
const rect = this.getBoundingClientRect()
|
|
226
|
-
this.
|
|
226
|
+
this.triggerAction(e.clientX - rect.left, e.clientY - rect.top)
|
|
227
227
|
}
|
|
228
228
|
|
|
229
229
|
private handleKeyDown = (e: KeyboardEvent) => {
|
|
@@ -231,22 +231,22 @@ export default class SchmancyCard extends SchmancyElement {
|
|
|
231
231
|
|
|
232
232
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
233
233
|
e.preventDefault()
|
|
234
|
-
this.
|
|
234
|
+
this.setPressed(true)
|
|
235
235
|
|
|
236
236
|
// Simulate click at center
|
|
237
237
|
const rect = this.getBoundingClientRect()
|
|
238
|
-
this.
|
|
238
|
+
this.triggerAction(rect.width / 2, rect.height / 2)
|
|
239
239
|
}
|
|
240
240
|
}
|
|
241
241
|
|
|
242
242
|
private handleKeyUp = (e: KeyboardEvent) => {
|
|
243
243
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
244
|
-
this.
|
|
244
|
+
this.setPressed(false)
|
|
245
245
|
}
|
|
246
246
|
}
|
|
247
247
|
|
|
248
248
|
// Consolidate pressed state management
|
|
249
|
-
private
|
|
249
|
+
private setPressed(pressed: boolean) {
|
|
250
250
|
this.pressed = pressed
|
|
251
251
|
if (pressed) {
|
|
252
252
|
this.setAttribute('pressed', '')
|
|
@@ -257,11 +257,11 @@ export default class SchmancyCard extends SchmancyElement {
|
|
|
257
257
|
|
|
258
258
|
private handleMouseDown = () => {
|
|
259
259
|
if (this.disabled || !this.interactive) return
|
|
260
|
-
this.
|
|
260
|
+
this.setPressed(true)
|
|
261
261
|
}
|
|
262
262
|
|
|
263
|
-
private handleMouseUp = () => this.
|
|
264
|
-
private handleMouseLeave = () => this.
|
|
263
|
+
private handleMouseUp = () => this.setPressed(false)
|
|
264
|
+
private handleMouseLeave = () => this.setPressed(false)
|
|
265
265
|
|
|
266
266
|
protected render() {
|
|
267
267
|
const isInteractive = this.interactive && !this.disabled
|
|
@@ -139,7 +139,7 @@ export class SchmancyContentDrawer extends SchmancyElement {
|
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
private
|
|
142
|
+
private overlaySubscription: Subscription | null = null
|
|
143
143
|
|
|
144
144
|
private handleRender(detail: TRenderCustomEvent['detail']) {
|
|
145
145
|
if (this.mode === 'push') {
|
|
@@ -155,16 +155,16 @@ export class SchmancyContentDrawer extends SchmancyElement {
|
|
|
155
155
|
// `show()` mounts the same component as a modal overlay; subscription
|
|
156
156
|
// = lifecycle, so dropping the previous one closes any prior modal
|
|
157
157
|
// before opening the next.
|
|
158
|
-
this.
|
|
159
|
-
this.
|
|
158
|
+
this.overlaySubscription?.unsubscribe()
|
|
159
|
+
this.overlaySubscription = show(detail.component, { props: detail.props })
|
|
160
160
|
.pipe(takeUntil(this.disconnecting))
|
|
161
|
-
.subscribe({ complete: () => { this.
|
|
161
|
+
.subscribe({ complete: () => { this.overlaySubscription = null } })
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
164
|
|
|
165
165
|
private dismissOverlay() {
|
|
166
|
-
this.
|
|
167
|
-
this.
|
|
166
|
+
this.overlaySubscription?.unsubscribe()
|
|
167
|
+
this.overlaySubscription = null
|
|
168
168
|
}
|
|
169
169
|
|
|
170
170
|
getOffsetTop(element: HTMLElement | null) {
|