@mhmo91/schmancy 0.10.36 → 0.10.38
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 +54 -31
- package/dist/SchmancyElement-BNnyBOwk.js +286 -0
- package/dist/{SchmancyElement-C3CpdNsi.js.map → SchmancyElement-BNnyBOwk.js.map} +1 -1
- package/dist/SchmancyElement-C41uPa6l.cjs +2 -0
- package/dist/{SchmancyElement-BBzRWB1w.cjs.map → SchmancyElement-C41uPa6l.cjs.map} +1 -1
- package/dist/agent/schmancy.agent.js +2432 -2361
- package/dist/agent/schmancy.agent.js.map +1 -1
- package/dist/agent/schmancy.manifest.json +4 -22
- package/dist/area-2FrTZI_T.cjs +21 -0
- package/dist/area-2FrTZI_T.cjs.map +1 -0
- package/dist/{area-BA96mwFY.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-D52h1jAT.js → audio-D3gnp15Y.js} +1 -1
- package/dist/{audio-D52h1jAT.js.map → audio-D3gnp15Y.js.map} +1 -1
- package/dist/{audio-B_jT9Xr7.cjs → audio-EaD0Ggfh.cjs} +1 -1
- package/dist/{audio-B_jT9Xr7.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-CI4QJXAN.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-_N1x5U_3.js → boat-DmyG7y1V.js} +4 -4
- package/dist/{boat-_N1x5U_3.js.map → boat-DmyG7y1V.js.map} +1 -1
- package/dist/{boat-I4B1UNMc.cjs → boat-dB1_qLm0.cjs} +1 -1
- package/dist/{boat-I4B1UNMc.cjs.map → boat-dB1_qLm0.cjs.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-BIUonyPk.cjs → busy-Cj_PV7oC.cjs} +1 -1
- package/dist/{busy-BIUonyPk.cjs.map → busy-Cj_PV7oC.cjs.map} +1 -1
- package/dist/{busy-CCB3qKnh.js → busy-enYCTssB.js} +2 -2
- package/dist/{busy-CCB3qKnh.js.map → busy-enYCTssB.js.map} +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/{button-C89bPnHt.js → button-BQSOVnHn.js} +10 -9
- package/dist/button-BQSOVnHn.js.map +1 -0
- package/dist/button-WRmXlNyw.cjs +62 -0
- package/dist/button-WRmXlNyw.cjs.map +1 -0
- package/dist/button.cjs +6 -6
- package/dist/button.cjs.map +1 -1
- package/dist/button.js +17 -16
- package/dist/button.js.map +1 -1
- package/dist/{card-CFsCgJKZ.js → card-BHTz1GwB.js} +16 -16
- package/dist/card-BHTz1GwB.js.map +1 -0
- package/dist/{card-BO93_oxQ.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-CFUBUFtW.cjs → checkbox-C4zeib84.cjs} +2 -2
- package/dist/{checkbox-CFUBUFtW.cjs.map → checkbox-C4zeib84.cjs.map} +1 -1
- package/dist/{checkbox-Bh7q0djq.js → checkbox-Ce0DlAdW.js} +6 -6
- package/dist/{checkbox-Bh7q0djq.js.map → checkbox-Ce0DlAdW.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-BfzpsyV1.cjs → chips-B1jui8Pe.cjs} +3 -3
- package/dist/chips-B1jui8Pe.cjs.map +1 -0
- package/dist/{chips-6YaoRmeG.js → chips-DAy6v93f.js} +20 -19
- package/dist/chips-DAy6v93f.js.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-N-A249O9.cjs → date-range-BUaPgbTZ.cjs} +2 -2
- package/dist/date-range-BUaPgbTZ.cjs.map +1 -0
- package/dist/{date-range-CEo_Kjqw.js → date-range-NTpoA1in.js} +4 -4
- package/dist/date-range-NTpoA1in.js.map +1 -0
- package/dist/{date-range-inline-DFopysWF.cjs → date-range-inline-D0I6k84h.cjs} +1 -1
- package/dist/{date-range-inline-DFopysWF.cjs.map → date-range-inline-D0I6k84h.cjs.map} +1 -1
- package/dist/{date-range-inline-BwialV9j.js → date-range-inline-DjRdMZ1z.js} +2 -2
- package/dist/{date-range-inline-BwialV9j.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-GtpfI2hA.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-CvYGSW_a.cjs → directives-Bb0S1DKZ.cjs} +4 -4
- package/dist/directives-Bb0S1DKZ.cjs.map +1 -0
- package/dist/{directives-C2dXgpCY.js → directives-Bfm1lkoy.js} +30 -23
- package/dist/directives-Bfm1lkoy.js.map +1 -0
- package/dist/directives.cjs +1 -1
- package/dist/directives.js +2 -2
- package/dist/{divider-D0pGX2VB.js → divider-BeyX_C0A.js} +2 -2
- package/dist/{divider-D0pGX2VB.js.map → divider-BeyX_C0A.js.map} +1 -1
- package/dist/{divider-rNsWCvMi.cjs → divider-Ck2C1sKl.cjs} +1 -1
- package/dist/{divider-rNsWCvMi.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-FcKAzJta.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 +1 -1
- package/dist/fab.js +2 -2
- package/dist/{float-CQ1WEp3M.js → float-Cgllk_H9.js} +2 -2
- package/dist/{float-CQ1WEp3M.js.map → float-Cgllk_H9.js.map} +1 -1
- package/dist/{float-CDjgxWyy.cjs → float-OvqX0nqG.cjs} +1 -1
- package/dist/{float-CDjgxWyy.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-H24puioV.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-DBxfN91B.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-BDVElN8z.js → iframe-DWvN5nGB.js} +11 -11
- package/dist/iframe-DWvN5nGB.js.map +1 -0
- package/dist/{iframe-CG-z9qev.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 +37 -37
- package/dist/{input-Bt_o4sYo.js → input-BCCHz6tB.js} +7 -7
- package/dist/input-BCCHz6tB.js.map +1 -0
- package/dist/{input-B14Nn6xD.cjs → input-Z-3N5JMv.cjs} +2 -2
- package/dist/input-Z-3N5JMv.cjs.map +1 -0
- package/dist/{input-chip-DEqO0DXc.js → input-chip-BOrcKH-H.js} +2 -2
- package/dist/{input-chip-DEqO0DXc.js.map → input-chip-BOrcKH-H.js.map} +1 -1
- package/dist/{input-chip-ugYu9Fn9.cjs → input-chip-ChAgRCXZ.cjs} +1 -1
- package/dist/{input-chip-ugYu9Fn9.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-BJ_43VrH.js → layout-CFiG3lNT.js} +1 -1
- package/dist/{layout-BJ_43VrH.js.map → layout-CFiG3lNT.js.map} +1 -1
- package/dist/{layout-DF9ZaQ-b.cjs → layout-DZ4dpLh9.cjs} +1 -1
- package/dist/{layout-DF9ZaQ-b.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-ZmuoBBFT.js → lightbox-B7Y4Nij_.js} +2 -2
- package/dist/lightbox-B7Y4Nij_.js.map +1 -0
- package/dist/{lightbox-B47Zoqv-.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-CaSWrlG2.cjs → list-BhM-6dAi.cjs} +1 -1
- package/dist/{list-CaSWrlG2.cjs.map → list-BhM-6dAi.cjs.map} +1 -1
- package/dist/{list-C47xzld_.js → list-C5WVoIfJ.js} +2 -2
- package/dist/{list-C47xzld_.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-8RObM6Ie.js → menu-CBAAJoHu.js} +3 -3
- package/dist/{menu-8RObM6Ie.js.map → menu-CBAAJoHu.js.map} +1 -1
- package/dist/{menu-Jpsy85SX.cjs → menu-DFQjJk3H.cjs} +1 -1
- package/dist/{menu-Jpsy85SX.cjs.map → menu-DFQjJk3H.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/{mixins-DTzfFVyv.js → mixins-DGBI7YPO.js} +11 -11
- package/dist/mixins-DGBI7YPO.js.map +1 -0
- package/dist/{mixins-DPdzC9ZH.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-Ccktcj9H.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-CkMxwBqU.js → option-B21ImL0k.js} +2 -2
- package/dist/{option-CkMxwBqU.js.map → option-B21ImL0k.js.map} +1 -1
- package/dist/{option-0aNiVB3Q.cjs → option-CJQM5I9q.cjs} +1 -1
- package/dist/{option-0aNiVB3Q.cjs.map → option-CJQM5I9q.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{overlay-H3Wt_dgQ.js → overlay-CWsihJ-E.js} +75 -67
- package/dist/overlay-CWsihJ-E.js.map +1 -0
- package/dist/overlay-DkIX9Ig3.cjs +58 -0
- package/dist/overlay-DkIX9Ig3.cjs.map +1 -0
- package/dist/overlay.cjs +1 -1
- package/dist/{overlay.confirm-body-Dxn_wNm3.js → overlay.confirm-body-CPqqPNks.js} +10 -10
- package/dist/overlay.confirm-body-CPqqPNks.js.map +1 -0
- package/dist/{overlay.confirm-body-CR9xaqOE.cjs → overlay.confirm-body-DwTfiNlV.cjs} +3 -3
- package/dist/overlay.confirm-body-DwTfiNlV.cjs.map +1 -0
- package/dist/overlay.js +4 -4
- package/dist/overlay.service-DU1nqh6A.cjs +1 -0
- package/dist/{overlay.service-DEj3rfRr.cjs.map → overlay.service-DU1nqh6A.cjs.map} +1 -1
- package/dist/{overlay.service-C46kOtUi.js → overlay.service-KTgBxjFb.js} +4 -4
- package/dist/{overlay.service-C46kOtUi.js.map → overlay.service-KTgBxjFb.js.map} +1 -1
- package/dist/{progress-zs18GR6C.cjs → progress-B-Qg44XY.cjs} +1 -1
- package/dist/{progress-zs18GR6C.cjs.map → progress-B-Qg44XY.cjs.map} +1 -1
- package/dist/{progress-BK7gSq8j.js → progress-CUSS1sNz.js} +2 -2
- package/dist/{progress-BK7gSq8j.js.map → progress-CUSS1sNz.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-group-1HCpzRUB.js → radio-group-AHLvrN8O.js} +7 -7
- package/dist/radio-group-AHLvrN8O.js.map +1 -0
- package/dist/{radio-group-DbYlyPc-.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-CEyhNtZ2.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 +17 -11
- package/dist/skills/overlay.md +14 -7
- package/dist/skills/schmancy/SKILL.md +17 -11
- package/dist/skills/schmancy/overlay.md +14 -7
- package/dist/skills/schmancy/steps.md +68 -34
- package/dist/skills/steps.md +68 -34
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +2 -2
- package/dist/{sound.service-DO4SmUUT.js → sound.service-CK-5zob-.js} +4 -3
- package/dist/sound.service-CK-5zob-.js.map +1 -0
- package/dist/{sound.service-G_8GV_6L.cjs → sound.service-D2GGaBXc.cjs} +1 -1
- package/dist/sound.service-D2GGaBXc.cjs.map +1 -0
- package/dist/{splash-screen-B1mM4_xz.js → splash-screen-BUEtjHXC.js} +13 -13
- package/dist/splash-screen-BUEtjHXC.js.map +1 -0
- package/dist/{splash-screen-cbz4bxjB.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-tncsWsTY.js → src-CIqAj3Eh.js} +45 -45
- package/dist/src-CIqAj3Eh.js.map +1 -0
- package/dist/{src-czeiuT1m.cjs → src-CYqBQTyt.cjs} +6 -6
- package/dist/src-CYqBQTyt.cjs.map +1 -0
- package/dist/{state-Cx0aoL5e.cjs → state-BxDNox-2.cjs} +1 -1
- package/dist/{state-Cx0aoL5e.cjs.map → state-BxDNox-2.cjs.map} +1 -1
- package/dist/{state-DJDp3N7J.js → state-CnZCDMT0.js} +9 -9
- package/dist/{state-DJDp3N7J.js.map → state-CnZCDMT0.js.map} +1 -1
- package/dist/state.cjs +1 -1
- package/dist/state.js +2 -2
- package/dist/steps.cjs +35 -19
- package/dist/steps.cjs.map +1 -1
- package/dist/steps.js +96 -73
- package/dist/steps.js.map +1 -1
- package/dist/{surface-CYBl8_a3.js → surface-BMdG3dKQ.js} +2 -2
- package/dist/{surface-CYBl8_a3.js.map → surface-BMdG3dKQ.js.map} +1 -1
- package/dist/{surface-C3cxTcJD.cjs → surface-CWwYD_z2.cjs} +1 -1
- package/dist/{surface-C3cxTcJD.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-DHy93Q3N.js → tabs-CDQYDc6v.js} +2 -2
- package/dist/{tabs-DHy93Q3N.js.map → tabs-CDQYDc6v.js.map} +1 -1
- package/dist/{tabs-ORQ_Zd43.cjs → tabs-CbD9E1gd.cjs} +1 -1
- package/dist/{tabs-ORQ_Zd43.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-DHIMt-ly.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-CJpjkqHr.cjs → theme-BMbXoqi0.cjs} +1 -1
- package/dist/{theme-CJpjkqHr.cjs.map → theme-BMbXoqi0.cjs.map} +1 -1
- package/dist/{theme-CgI9PRco.js → theme-DZu-xmVp.js} +5 -5
- package/dist/{theme-CgI9PRco.js.map → theme-DZu-xmVp.js.map} +1 -1
- package/dist/{theme-button--FuBkuVr.cjs → theme-button-B0OLb-43.cjs} +1 -1
- package/dist/{theme-button--FuBkuVr.cjs.map → theme-button-B0OLb-43.cjs.map} +1 -1
- package/dist/{theme-button-D-FXb3oO.js → theme-button-D_qGvEYs.js} +2 -2
- package/dist/{theme-button-D-FXb3oO.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-BfTK1Wtl.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-CxA3sx9B.cjs → typography-D4Fo1UGh.cjs} +3 -3
- package/dist/{typography-CxA3sx9B.cjs.map → typography-D4Fo1UGh.cjs.map} +1 -1
- package/dist/{typography-BEGLfHwz.js → typography-SZhjb_4R.js} +9 -9
- package/dist/{typography-BEGLfHwz.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-B_n4P9az.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 +17 -11
- package/skills/schmancy/overlay.md +14 -7
- package/skills/schmancy/steps.md +68 -34
- 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/breadcrumb/breadcrumb.ts +2 -2
- package/src/button/button.ts +11 -11
- package/src/button/icon-button.ts +18 -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 +193 -118
- 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/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 +15 -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/steps/index.ts +1 -1
- package/src/steps/schmancy-step.ts +91 -65
- package/src/steps/{schmancy-steps-container.ts → schmancy-steps.ts} +18 -38
- package/src/steps/steps.context.ts +5 -4
- package/src/steps/steps.test.ts +120 -0
- 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 +17 -7
- 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/steps/index.d.ts +1 -1
- package/types/src/steps/schmancy-step.d.ts +8 -23
- package/types/src/steps/{schmancy-steps-container.d.ts → schmancy-steps.d.ts} +8 -9
- package/types/src/steps/steps.context.d.ts +2 -1
- package/types/src/steps/steps.test.d.ts +2 -0
- 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/SchmancyElement-BBzRWB1w.cjs +0 -2
- package/dist/SchmancyElement-C3CpdNsi.js +0 -284
- package/dist/area-BA96mwFY.js.map +0 -1
- package/dist/area-DtyQDdOF.cjs +0 -21
- package/dist/area-DtyQDdOF.cjs.map +0 -1
- package/dist/autocomplete-Bts5Jwwr.cjs +0 -115
- package/dist/autocomplete-Bts5Jwwr.cjs.map +0 -1
- package/dist/autocomplete-CI4QJXAN.js.map +0 -1
- package/dist/button-C89bPnHt.js.map +0 -1
- package/dist/button-CkwQH-g3.cjs +0 -62
- package/dist/button-CkwQH-g3.cjs.map +0 -1
- package/dist/card-BO93_oxQ.cjs.map +0 -1
- package/dist/card-CFsCgJKZ.js.map +0 -1
- package/dist/chips-6YaoRmeG.js.map +0 -1
- package/dist/chips-BfzpsyV1.cjs.map +0 -1
- package/dist/date-range-CEo_Kjqw.js.map +0 -1
- package/dist/date-range-N-A249O9.cjs.map +0 -1
- package/dist/details-BLRPV8sY.cjs +0 -164
- package/dist/details-BLRPV8sY.cjs.map +0 -1
- package/dist/details-GtpfI2hA.js.map +0 -1
- package/dist/directives-C2dXgpCY.js.map +0 -1
- package/dist/directives-CvYGSW_a.cjs.map +0 -1
- package/dist/expand-FcKAzJta.js.map +0 -1
- package/dist/expand-tffQHGbZ.cjs +0 -141
- package/dist/expand-tffQHGbZ.cjs.map +0 -1
- package/dist/form-H24puioV.js.map +0 -1
- package/dist/form-VYhbbir3.cjs +0 -27
- package/dist/form-VYhbbir3.cjs.map +0 -1
- package/dist/icons-B_a1HStW.cjs +0 -24
- package/dist/icons-B_a1HStW.cjs.map +0 -1
- package/dist/icons-DBxfN91B.js.map +0 -1
- package/dist/iframe-BDVElN8z.js.map +0 -1
- package/dist/iframe-CG-z9qev.cjs.map +0 -1
- package/dist/input-B14Nn6xD.cjs.map +0 -1
- package/dist/input-Bt_o4sYo.js.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-B47Zoqv-.cjs.map +0 -1
- package/dist/lightbox-ZmuoBBFT.js.map +0 -1
- package/dist/mixins-DPdzC9ZH.cjs.map +0 -1
- package/dist/mixins-DTzfFVyv.js.map +0 -1
- package/dist/notification-Ccktcj9H.js.map +0 -1
- package/dist/notification-DSkB-sn0.cjs +0 -24
- package/dist/notification-DSkB-sn0.cjs.map +0 -1
- package/dist/overlay-BS-ta-zq.cjs +0 -58
- package/dist/overlay-BS-ta-zq.cjs.map +0 -1
- package/dist/overlay-H3Wt_dgQ.js.map +0 -1
- package/dist/overlay.confirm-body-CR9xaqOE.cjs.map +0 -1
- package/dist/overlay.confirm-body-Dxn_wNm3.js.map +0 -1
- package/dist/overlay.service-DEj3rfRr.cjs +0 -1
- package/dist/radio-group-1HCpzRUB.js.map +0 -1
- package/dist/radio-group-DbYlyPc-.cjs.map +0 -1
- package/dist/select-B-SSmUDe.cjs +0 -56
- package/dist/select-B-SSmUDe.cjs.map +0 -1
- package/dist/select-CEyhNtZ2.js.map +0 -1
- package/dist/sound.service-DO4SmUUT.js.map +0 -1
- package/dist/sound.service-G_8GV_6L.cjs.map +0 -1
- package/dist/splash-screen-B1mM4_xz.js.map +0 -1
- package/dist/splash-screen-cbz4bxjB.cjs.map +0 -1
- package/dist/src-czeiuT1m.cjs.map +0 -1
- package/dist/src-tncsWsTY.js.map +0 -1
- package/dist/textarea-CEUaDURR.cjs +0 -43
- package/dist/textarea-CEUaDURR.cjs.map +0 -1
- package/dist/textarea-DHIMt-ly.js.map +0 -1
- package/dist/theme.service-BfTK1Wtl.js.map +0 -1
- package/dist/theme.service-Dg7LO0Qz.cjs +0 -1
- package/dist/theme.service-Dg7LO0Qz.cjs.map +0 -1
- package/dist/window-B_n4P9az.js.map +0 -1
- package/dist/window-Vl1u1-EG.cjs +0 -59
- package/dist/window-Vl1u1-EG.cjs.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
|
|
|
@@ -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
|
@@ -71,7 +71,7 @@ export class SchmancyButton extends SchmancyElement {
|
|
|
71
71
|
* while a submit is in flight. Stays focusable; disabled buttons drop from
|
|
72
72
|
* the tab order and are unreachable to AT (WCAG 2.2 AA).
|
|
73
73
|
*/
|
|
74
|
-
private
|
|
74
|
+
private formBusyObserver?: MutationObserver
|
|
75
75
|
|
|
76
76
|
constructor() {
|
|
77
77
|
super()
|
|
@@ -128,20 +128,20 @@ export class SchmancyButton extends SchmancyElement {
|
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
sync()
|
|
131
|
-
this.
|
|
132
|
-
this.
|
|
131
|
+
this.formBusyObserver = new MutationObserver(sync)
|
|
132
|
+
this.formBusyObserver.observe(form, { attributes: true, attributeFilter: ['aria-busy'] })
|
|
133
133
|
}
|
|
134
134
|
|
|
135
135
|
override disconnectedCallback(): void {
|
|
136
|
-
this.
|
|
137
|
-
this.
|
|
136
|
+
this.formBusyObserver?.disconnect()
|
|
137
|
+
this.formBusyObserver = undefined
|
|
138
138
|
super.disconnectedCallback()
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
@query('[part="base"]', true)
|
|
142
142
|
private nativeElement!: HTMLElement
|
|
143
143
|
|
|
144
|
-
|
|
144
|
+
#ariaLabel!: string
|
|
145
145
|
|
|
146
146
|
/**
|
|
147
147
|
* The variant of the button.
|
|
@@ -208,8 +208,8 @@ export class SchmancyButton extends SchmancyElement {
|
|
|
208
208
|
public disabled = false
|
|
209
209
|
|
|
210
210
|
public override set ariaLabel(value: string) {
|
|
211
|
-
const oldVal = this
|
|
212
|
-
this
|
|
211
|
+
const oldVal = this.#ariaLabel
|
|
212
|
+
this.#ariaLabel = value
|
|
213
213
|
|
|
214
214
|
if (this.hasAttribute('aria-label')) {
|
|
215
215
|
this.removeAttribute('aria-label')
|
|
@@ -219,7 +219,7 @@ export class SchmancyButton extends SchmancyElement {
|
|
|
219
219
|
|
|
220
220
|
@property({ attribute: 'aria-label' })
|
|
221
221
|
public override get ariaLabel() {
|
|
222
|
-
return this
|
|
222
|
+
return this.#ariaLabel
|
|
223
223
|
}
|
|
224
224
|
|
|
225
225
|
@queryAssignedElements({
|
|
@@ -293,7 +293,7 @@ export class SchmancyButton extends SchmancyElement {
|
|
|
293
293
|
}
|
|
294
294
|
|
|
295
295
|
// Prevent default behavior when the component is disabled.
|
|
296
|
-
private
|
|
296
|
+
private preventDefault(event: Event) {
|
|
297
297
|
event.preventDefault()
|
|
298
298
|
event.stopPropagation()
|
|
299
299
|
}
|
|
@@ -429,7 +429,7 @@ export class SchmancyButton extends SchmancyElement {
|
|
|
429
429
|
class="${this.classMap(classes)}"
|
|
430
430
|
tabindex=${this.disabled ? '-1' : '0'}
|
|
431
431
|
aria-disabled=${this.disabled}
|
|
432
|
-
@click=${this.disabled ? this.
|
|
432
|
+
@click=${this.disabled ? this.preventDefault : undefined}
|
|
433
433
|
>
|
|
434
434
|
${when(!this.disabled, () => html`<div class="${this.classMap(stateLayerClasses)}"></div>`)}
|
|
435
435
|
<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'
|
|
@@ -50,7 +50,7 @@ export class SchmnacyIconButton extends SchmancyElement {
|
|
|
50
50
|
@query('[part="base"]', true)
|
|
51
51
|
private nativeElement!: HTMLElement
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
#ariaLabel!: string
|
|
54
54
|
|
|
55
55
|
/**
|
|
56
56
|
* The size of the icon.
|
|
@@ -123,31 +123,31 @@ export class SchmnacyIconButton extends SchmancyElement {
|
|
|
123
123
|
// no slotchange ever fires), or a nested <schmancy-icon> element.
|
|
124
124
|
// `textContent` flattens through all three.
|
|
125
125
|
@state()
|
|
126
|
-
private
|
|
126
|
+
private capturedIcon?: string
|
|
127
127
|
|
|
128
|
-
private
|
|
128
|
+
private observer?: MutationObserver
|
|
129
129
|
|
|
130
130
|
connectedCallback(): void {
|
|
131
131
|
super.connectedCallback()
|
|
132
|
-
this.
|
|
133
|
-
this.
|
|
134
|
-
this.
|
|
132
|
+
this.captureIcon()
|
|
133
|
+
this.observer = new MutationObserver(() => this.captureIcon())
|
|
134
|
+
this.observer.observe(this, { childList: true, characterData: true, subtree: true })
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
disconnectedCallback(): void {
|
|
138
138
|
super.disconnectedCallback()
|
|
139
|
-
this.
|
|
139
|
+
this.observer?.disconnect()
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
private
|
|
142
|
+
private captureIcon(): void {
|
|
143
143
|
if (this.icon || this.text) return
|
|
144
|
-
this.
|
|
144
|
+
this.capturedIcon = this.textContent?.trim() || undefined
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
// Manage aria-label manually so that we can always use our internal property.
|
|
148
148
|
public override set ariaLabel(value: string) {
|
|
149
|
-
const oldVal = this
|
|
150
|
-
this
|
|
149
|
+
const oldVal = this.#ariaLabel
|
|
150
|
+
this.#ariaLabel = value
|
|
151
151
|
|
|
152
152
|
if (this.hasAttribute('aria-label')) {
|
|
153
153
|
this.removeAttribute('aria-label')
|
|
@@ -157,7 +157,7 @@ export class SchmnacyIconButton extends SchmancyElement {
|
|
|
157
157
|
|
|
158
158
|
@property({ attribute: 'aria-label' })
|
|
159
159
|
public override get ariaLabel() {
|
|
160
|
-
return this
|
|
160
|
+
return this.#ariaLabel
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
/** Sets focus in the button. */
|
|
@@ -175,12 +175,12 @@ export class SchmnacyIconButton extends SchmancyElement {
|
|
|
175
175
|
}
|
|
176
176
|
|
|
177
177
|
// Prevent default behavior when the component is disabled.
|
|
178
|
-
private
|
|
178
|
+
private preventDefault(event: Event) {
|
|
179
179
|
event.preventDefault()
|
|
180
180
|
event.stopPropagation()
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
-
protected firstUpdated(
|
|
183
|
+
protected firstUpdated(): void {
|
|
184
184
|
// Add any first-update logic here if needed.
|
|
185
185
|
}
|
|
186
186
|
|
|
@@ -236,14 +236,14 @@ export class SchmnacyIconButton extends SchmancyElement {
|
|
|
236
236
|
class="${this.classMap(classes)}"
|
|
237
237
|
tabindex=${this.disabled ? '-1' : '0'}
|
|
238
238
|
aria-disabled=${this.disabled}
|
|
239
|
-
@click=${this.disabled ? this.
|
|
239
|
+
@click=${this.disabled ? this.preventDefault : undefined}
|
|
240
240
|
>
|
|
241
241
|
${when(!this.disabled, () => html`<div class="absolute inset-0 ${this.classMap(stateLayerClasses)}"></div>`)}
|
|
242
242
|
${this.text
|
|
243
243
|
? html`<slot></slot>`
|
|
244
244
|
: html`
|
|
245
245
|
<slot style="display:none"></slot>
|
|
246
|
-
<schmancy-icon class=${iconSizeClass}>${this.icon || this.
|
|
246
|
+
<schmancy-icon class=${iconSizeClass}>${this.icon || this.capturedIcon}</schmancy-icon>
|
|
247
247
|
`
|
|
248
248
|
}
|
|
249
249
|
</a>
|
|
@@ -266,7 +266,7 @@ export class SchmnacyIconButton extends SchmancyElement {
|
|
|
266
266
|
? html`<slot></slot>`
|
|
267
267
|
: html`
|
|
268
268
|
<slot style="display:none"></slot>
|
|
269
|
-
<schmancy-icon class=${iconSizeClass}>${this.icon || this.
|
|
269
|
+
<schmancy-icon class=${iconSizeClass}>${this.icon || this.capturedIcon}</schmancy-icon>
|
|
270
270
|
`
|
|
271
271
|
}
|
|
272
272
|
</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) {
|