@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/directives/reveal.ts
CHANGED
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
* Uses Blackbird spring physics for natural, organic motion.
|
|
5
5
|
* Element stays in DOM to prevent layout shift.
|
|
6
6
|
*
|
|
7
|
+
* When fully revealed, no directive-imposed max-height or overflow:hidden
|
|
8
|
+
* is left on the element — it lays out at its natural full height.
|
|
9
|
+
*
|
|
7
10
|
* Usage:
|
|
8
11
|
* ```ts
|
|
9
12
|
* // Basic - uses 'smooth' preset
|
|
@@ -12,7 +15,7 @@
|
|
|
12
15
|
* // With preset - 'snappy' for quick interactions
|
|
13
16
|
* html`<div ${reveal(this.isVisible, { preset: 'snappy' })}>Content</div>`
|
|
14
17
|
*
|
|
15
|
-
* //
|
|
18
|
+
* // Opt-in scroll cap (explicit maxHeight — keeps overflow:auto, does NOT clip)
|
|
16
19
|
* html`<div ${reveal(this.items.length > 1, { maxHeight: '200px' })}>Content</div>`
|
|
17
20
|
*
|
|
18
21
|
* // Bouncy for playful UI
|
|
@@ -28,131 +31,203 @@
|
|
|
28
31
|
* @see packages/schmancy/src/utils/animation.ts for Blackbird system
|
|
29
32
|
*/
|
|
30
33
|
|
|
31
|
-
import { noChange } from 'lit'
|
|
32
|
-
import { AsyncDirective, directive } from 'lit/async-directive.js'
|
|
33
|
-
import type
|
|
34
|
-
import {
|
|
34
|
+
import { noChange } from 'lit';
|
|
35
|
+
import { AsyncDirective, directive } from 'lit/async-directive.js';
|
|
36
|
+
import { type ElementPart, type PartInfo, PartType } from 'lit/directive.js';
|
|
37
|
+
import { fromEvent, Subject } from 'rxjs';
|
|
38
|
+
import { filter, take, takeUntil } from 'rxjs/operators';
|
|
35
39
|
import {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
} from '../utils/animation'
|
|
43
|
-
import { reducedMotion$ } from './reduced-motion'
|
|
40
|
+
type AnimationPreset,
|
|
41
|
+
getEasing,
|
|
42
|
+
SPRING_BOUNCY,
|
|
43
|
+
SPRING_GENTLE,
|
|
44
|
+
SPRING_SMOOTH,
|
|
45
|
+
SPRING_SNAPPY,
|
|
46
|
+
} from '../utils/animation';
|
|
47
|
+
import { reducedMotion$ } from './reduced-motion';
|
|
44
48
|
|
|
45
|
-
export type RevealPreset = 'smooth' | 'snappy' | 'bouncy' | 'gentle'
|
|
49
|
+
export type RevealPreset = 'smooth' | 'snappy' | 'bouncy' | 'gentle';
|
|
46
50
|
|
|
47
51
|
export interface RevealOptions {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
/** Animation preset (default: 'smooth') */
|
|
53
|
+
preset?: RevealPreset;
|
|
54
|
+
/**
|
|
55
|
+
* Explicit scroll cap (opt-in). When set the element is constrained to
|
|
56
|
+
* this height with overflow:auto — content scrolls rather than clips.
|
|
57
|
+
* When omitted (the default) the element is fully unconstrained after
|
|
58
|
+
* opening: no max-height, no overflow:hidden left on it.
|
|
59
|
+
*/
|
|
60
|
+
maxHeight?: string;
|
|
61
|
+
/** Custom duration override in ms (uses preset duration if not specified) */
|
|
62
|
+
duration?: number;
|
|
63
|
+
/** Custom easing override (uses preset easing if not specified) */
|
|
64
|
+
easing?: string;
|
|
56
65
|
}
|
|
57
66
|
|
|
58
67
|
const PRESETS: Record<RevealPreset, AnimationPreset> = {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
68
|
+
smooth: SPRING_SMOOTH,
|
|
69
|
+
snappy: SPRING_SNAPPY,
|
|
70
|
+
bouncy: SPRING_BOUNCY,
|
|
71
|
+
gentle: SPRING_GENTLE,
|
|
72
|
+
};
|
|
64
73
|
|
|
65
74
|
class RevealDirective extends AsyncDirective {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
75
|
+
private initialized = false;
|
|
76
|
+
/** Fires on disconnect to tear down the transitionend subscription. */
|
|
77
|
+
private teardown$ = new Subject<void>();
|
|
78
|
+
/** True if this is the very first update call — used to detect always-true initial mount. */
|
|
79
|
+
private firstUpdate = true;
|
|
80
|
+
|
|
81
|
+
constructor(partInfo: PartInfo) {
|
|
82
|
+
super(partInfo);
|
|
83
|
+
if (partInfo.type !== PartType.ELEMENT) {
|
|
84
|
+
throw new Error('reveal() can only be used on elements');
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
render(show?: boolean, options?: RevealOptions) {
|
|
89
|
+
void show; void options;
|
|
90
|
+
return noChange;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
override update(
|
|
94
|
+
part: ElementPart,
|
|
95
|
+
[show = false, options = {}]: [boolean | undefined, RevealOptions?],
|
|
96
|
+
) {
|
|
97
|
+
const element = part.element as HTMLElement;
|
|
98
|
+
|
|
99
|
+
const { preset = 'smooth', maxHeight, duration, easing } = options;
|
|
100
|
+
const explicitCap = maxHeight !== undefined;
|
|
101
|
+
|
|
102
|
+
const presetConfig = PRESETS[preset];
|
|
103
|
+
const actualDuration = duration ?? presetConfig.duration;
|
|
104
|
+
const actualEasing = easing ?? getEasing(presetConfig);
|
|
105
|
+
const reducedMotion = reducedMotion$.value;
|
|
106
|
+
|
|
107
|
+
const isFirstUpdate = this.firstUpdate;
|
|
108
|
+
this.firstUpdate = false;
|
|
109
|
+
|
|
110
|
+
if (!this.initialized) {
|
|
111
|
+
this.initialized = true;
|
|
112
|
+
|
|
113
|
+
if (reducedMotion) {
|
|
114
|
+
element.style.transition = 'none';
|
|
115
|
+
} else {
|
|
116
|
+
element.style.transition = [
|
|
117
|
+
`max-height ${actualDuration}ms ${actualEasing}`,
|
|
118
|
+
`opacity ${actualDuration}ms ${actualEasing}`,
|
|
119
|
+
`transform ${actualDuration}ms ${actualEasing}`,
|
|
120
|
+
`padding ${actualDuration}ms ${actualEasing}`,
|
|
121
|
+
`margin ${actualDuration}ms ${actualEasing}`,
|
|
122
|
+
].join(', ');
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if (show) {
|
|
127
|
+
if (isFirstUpdate) {
|
|
128
|
+
// Always-true initial mount: do not impose max-height animation.
|
|
129
|
+
// Apply opacity/transform entrance only (visible immediately for
|
|
130
|
+
// reduced-motion; fades in via the transition for normal motion).
|
|
131
|
+
if (explicitCap) {
|
|
132
|
+
element.style.maxHeight = maxHeight;
|
|
133
|
+
element.style.overflow = 'auto';
|
|
134
|
+
} else {
|
|
135
|
+
element.style.maxHeight = '';
|
|
136
|
+
element.style.overflow = '';
|
|
137
|
+
}
|
|
138
|
+
element.style.opacity = '1';
|
|
139
|
+
element.style.transform = 'translateY(0) scale(1)';
|
|
140
|
+
} else {
|
|
141
|
+
// Toggle case: false→true. Animate from 0 to natural height,
|
|
142
|
+
// then release the clamp so content is fully unconstrained.
|
|
143
|
+
if (reducedMotion) {
|
|
144
|
+
if (explicitCap) {
|
|
145
|
+
element.style.maxHeight = maxHeight;
|
|
146
|
+
element.style.overflow = 'auto';
|
|
147
|
+
} else {
|
|
148
|
+
element.style.maxHeight = '';
|
|
149
|
+
element.style.overflow = '';
|
|
150
|
+
}
|
|
151
|
+
element.style.opacity = '1';
|
|
152
|
+
element.style.transform = 'translateY(0) scale(1)';
|
|
153
|
+
} else {
|
|
154
|
+
// Force a concrete start value so CSS can animate from it.
|
|
155
|
+
element.style.overflow = 'hidden';
|
|
156
|
+
element.style.maxHeight = '0';
|
|
157
|
+
void element.offsetHeight; // force reflow
|
|
158
|
+
|
|
159
|
+
const targetHeight = explicitCap ? maxHeight : `${element.scrollHeight}px`;
|
|
160
|
+
element.style.maxHeight = targetHeight;
|
|
161
|
+
element.style.opacity = '1';
|
|
162
|
+
element.style.transform = 'translateY(0) scale(1)';
|
|
163
|
+
|
|
164
|
+
if (!explicitCap) {
|
|
165
|
+
// Once the open animation settles, release the clamp entirely.
|
|
166
|
+
fromEvent<TransitionEvent>(element, 'transitionend')
|
|
167
|
+
.pipe(
|
|
168
|
+
filter((e) => e.propertyName === 'max-height' && e.target === element),
|
|
169
|
+
take(1),
|
|
170
|
+
takeUntil(this.teardown$),
|
|
171
|
+
)
|
|
172
|
+
.subscribe(() => {
|
|
173
|
+
element.style.maxHeight = '';
|
|
174
|
+
element.style.overflow = '';
|
|
175
|
+
});
|
|
176
|
+
} else {
|
|
177
|
+
fromEvent<TransitionEvent>(element, 'transitionend')
|
|
178
|
+
.pipe(
|
|
179
|
+
filter((e) => e.propertyName === 'max-height' && e.target === element),
|
|
180
|
+
take(1),
|
|
181
|
+
takeUntil(this.teardown$),
|
|
182
|
+
)
|
|
183
|
+
.subscribe(() => {
|
|
184
|
+
element.style.overflow = 'auto';
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
element.style.pointerEvents = '';
|
|
191
|
+
element.style.paddingTop = '';
|
|
192
|
+
element.style.paddingBottom = '';
|
|
193
|
+
element.style.marginTop = '';
|
|
194
|
+
element.style.marginBottom = '';
|
|
195
|
+
element.removeAttribute('aria-hidden');
|
|
196
|
+
element.removeAttribute('inert');
|
|
197
|
+
} else {
|
|
198
|
+
// Collapse: animate to height 0. Re-measure from natural height if
|
|
199
|
+
// the clamp was previously released (max-height is '' or 'none').
|
|
200
|
+
if (element.style.maxHeight === '' || element.style.maxHeight === 'none') {
|
|
201
|
+
element.style.overflow = 'hidden';
|
|
202
|
+
element.style.maxHeight = `${element.scrollHeight}px`;
|
|
203
|
+
void element.offsetHeight; // force reflow so CSS sees the start value
|
|
204
|
+
} else {
|
|
205
|
+
element.style.overflow = 'hidden';
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
element.style.maxHeight = '0';
|
|
209
|
+
element.style.opacity = '0';
|
|
210
|
+
element.style.transform = 'translateY(-8px) scale(0.98)';
|
|
211
|
+
element.style.pointerEvents = 'none';
|
|
212
|
+
element.style.paddingTop = '0';
|
|
213
|
+
element.style.paddingBottom = '0';
|
|
214
|
+
element.style.marginTop = '0';
|
|
215
|
+
element.style.marginBottom = '0';
|
|
216
|
+
element.setAttribute('aria-hidden', 'true');
|
|
217
|
+
element.setAttribute('inert', '');
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
return noChange;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
override disconnected(): void {
|
|
224
|
+
this.teardown$.next();
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
override reconnected(): void {
|
|
228
|
+
// Re-subscribe is handled on the next update() call via the new subscription
|
|
229
|
+
// created in the show branch. Nothing to wire up here explicitly.
|
|
230
|
+
}
|
|
156
231
|
}
|
|
157
232
|
|
|
158
|
-
export const reveal = directive(RevealDirective)
|
|
233
|
+
export const reveal = directive(RevealDirective);
|
package/src/directives/urgent.ts
CHANGED
|
@@ -386,7 +386,8 @@ class UrgentDirective extends AsyncDirective {
|
|
|
386
386
|
private state: DirectiveState | null = null
|
|
387
387
|
private coordinator = UrgentCoordinator.getInstance()
|
|
388
388
|
|
|
389
|
-
render(
|
|
389
|
+
render(activeOrOptions?: boolean | UrgentOptions, color?: UrgentColor, shake?: boolean) {
|
|
390
|
+
void activeOrOptions; void color; void shake
|
|
390
391
|
return noChange
|
|
391
392
|
}
|
|
392
393
|
|
|
@@ -51,19 +51,19 @@ export class SchmancyExpandRoot extends SurfaceMixin(SchmancyElement) {
|
|
|
51
51
|
@state() isOpen = false
|
|
52
52
|
private summaryRect: DOMRect | null = null
|
|
53
53
|
|
|
54
|
-
private
|
|
55
|
-
private
|
|
56
|
-
private
|
|
57
|
-
private
|
|
58
|
-
private
|
|
59
|
-
private
|
|
54
|
+
private panelRef = createRef<HTMLElement>()
|
|
55
|
+
private backdropRef = createRef<HTMLDivElement>()
|
|
56
|
+
private btnRef = createRef<HTMLButtonElement>()
|
|
57
|
+
private owner: (Element & { close?: () => void }) | null = null
|
|
58
|
+
private hideIndicator = false
|
|
59
|
+
private backdrop = true
|
|
60
60
|
|
|
61
61
|
/** Called by schmancy-expand before nodes are moved */
|
|
62
62
|
prepare(rect: DOMRect, owner: Element, hideIndicator = false, backdrop = true) {
|
|
63
63
|
this.summaryRect = rect
|
|
64
|
-
this.
|
|
65
|
-
this.
|
|
66
|
-
this.
|
|
64
|
+
this.owner = owner as Element & { close?: () => void }
|
|
65
|
+
this.hideIndicator = hideIndicator
|
|
66
|
+
this.backdrop = backdrop
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
/** Called by schmancy-expand after nodes are moved in */
|
|
@@ -71,7 +71,7 @@ export class SchmancyExpandRoot extends SurfaceMixin(SchmancyElement) {
|
|
|
71
71
|
this.isOpen = true
|
|
72
72
|
await this.updateComplete
|
|
73
73
|
|
|
74
|
-
const panel = this.
|
|
74
|
+
const panel = this.panelRef.value
|
|
75
75
|
if (!panel) return
|
|
76
76
|
|
|
77
77
|
const src = this.summaryRect!
|
|
@@ -126,18 +126,18 @@ export class SchmancyExpandRoot extends SurfaceMixin(SchmancyElement) {
|
|
|
126
126
|
})
|
|
127
127
|
|
|
128
128
|
// 5. Animate the mask open — content revealed, not stretched
|
|
129
|
-
this.
|
|
129
|
+
this.animateOpen(insetTop, insetRight, insetBottom, insetLeft, finalTop)
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
/** Animate close, return Promise resolving when done */
|
|
133
133
|
async triggerClose(targetRect: DOMRect): Promise<void> {
|
|
134
|
-
await this.
|
|
134
|
+
await this.animateClose(targetRect)
|
|
135
135
|
this.isOpen = false
|
|
136
136
|
this.summaryRect = null
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
-
private
|
|
140
|
-
const panel = this.
|
|
139
|
+
private animateOpen(insetTop: number, insetRight: number, insetBottom: number, insetLeft: number, finalTop: number) {
|
|
140
|
+
const panel = this.panelRef.value
|
|
141
141
|
if (!panel) return
|
|
142
142
|
|
|
143
143
|
if (reducedMotion$.value) {
|
|
@@ -145,7 +145,7 @@ export class SchmancyExpandRoot extends SurfaceMixin(SchmancyElement) {
|
|
|
145
145
|
return
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
const backdrop = this.
|
|
148
|
+
const backdrop = this.backdropRef.value
|
|
149
149
|
if (backdrop) {
|
|
150
150
|
backdrop.animate([{ opacity: 0 }, { opacity: 1 }], {
|
|
151
151
|
duration: SPRING_SMOOTH.duration,
|
|
@@ -182,7 +182,7 @@ export class SchmancyExpandRoot extends SurfaceMixin(SchmancyElement) {
|
|
|
182
182
|
return
|
|
183
183
|
})
|
|
184
184
|
|
|
185
|
-
const btn = this.
|
|
185
|
+
const btn = this.btnRef.value
|
|
186
186
|
if (btn) {
|
|
187
187
|
btn.animate([{ transform: 'rotate(0deg)' }, { transform: 'rotate(180deg)' }], {
|
|
188
188
|
duration: SPRING_SMOOTH.duration,
|
|
@@ -192,8 +192,8 @@ export class SchmancyExpandRoot extends SurfaceMixin(SchmancyElement) {
|
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
194
|
|
|
195
|
-
private
|
|
196
|
-
const panel = this.
|
|
195
|
+
private animateClose(targetRect: DOMRect): Promise<void> {
|
|
196
|
+
const panel = this.panelRef.value
|
|
197
197
|
if (!panel) return Promise.resolve()
|
|
198
198
|
if (reducedMotion$.value) return Promise.resolve()
|
|
199
199
|
|
|
@@ -217,7 +217,7 @@ export class SchmancyExpandRoot extends SurfaceMixin(SchmancyElement) {
|
|
|
217
217
|
|
|
218
218
|
const anim = panel.animate(closeKeyframes, { duration: closeDuration, easing: closeEasing, fill: 'forwards' })
|
|
219
219
|
|
|
220
|
-
const backdrop = this.
|
|
220
|
+
const backdrop = this.backdropRef.value
|
|
221
221
|
if (backdrop) {
|
|
222
222
|
backdrop.animate([{ opacity: 1 }, { opacity: 0 }], {
|
|
223
223
|
duration: closeDuration,
|
|
@@ -226,7 +226,7 @@ export class SchmancyExpandRoot extends SurfaceMixin(SchmancyElement) {
|
|
|
226
226
|
})
|
|
227
227
|
}
|
|
228
228
|
|
|
229
|
-
const btn = this.
|
|
229
|
+
const btn = this.btnRef.value
|
|
230
230
|
if (btn) {
|
|
231
231
|
btn.animate([{ transform: 'rotate(180deg)' }, { transform: 'rotate(0deg)' }], {
|
|
232
232
|
duration: closeDuration,
|
|
@@ -242,25 +242,25 @@ export class SchmancyExpandRoot extends SurfaceMixin(SchmancyElement) {
|
|
|
242
242
|
if (!this.isOpen) return nothing
|
|
243
243
|
|
|
244
244
|
return html`
|
|
245
|
-
${this.
|
|
245
|
+
${this.backdrop ? html`
|
|
246
246
|
<div
|
|
247
|
-
${ref(this.
|
|
247
|
+
${ref(this.backdropRef)}
|
|
248
248
|
class="fixed inset-0 z-9998 backdrop-blur-sm backdrop-saturate-150 backdrop-brightness-105 bg-black/[0.07] will-change-[opacity]"
|
|
249
|
-
@click=${() => this.
|
|
249
|
+
@click=${() => this.owner?.close?.()}
|
|
250
250
|
></div>
|
|
251
251
|
` : nothing}
|
|
252
252
|
<schmancy-surface
|
|
253
|
-
${ref(this.
|
|
253
|
+
${ref(this.panelRef)}
|
|
254
254
|
class="portal-panel"
|
|
255
255
|
type=${this.type}
|
|
256
256
|
style="overflow-y: auto;"
|
|
257
257
|
>
|
|
258
|
-
${!this.
|
|
258
|
+
${!this.hideIndicator ? html`
|
|
259
259
|
<button
|
|
260
|
-
${ref(this.
|
|
260
|
+
${ref(this.btnRef)}
|
|
261
261
|
class="minimize-btn"
|
|
262
262
|
aria-label="Minimize"
|
|
263
|
-
@click=${() => this.
|
|
263
|
+
@click=${() => this.owner?.close?.()}
|
|
264
264
|
>
|
|
265
265
|
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" aria-hidden="true">
|
|
266
266
|
<path d="M19 9L12 16L5 9" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|