@mhmo91/schmancy 0.10.25 → 0.10.27
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 +9 -18
- package/dist/agent/overlay.confirm-body-BZoUgkdK.js +4574 -0
- package/dist/agent/overlay.confirm-body-BZoUgkdK.js.map +1 -0
- package/dist/agent/schmancy.agent.js +3183 -4976
- package/dist/agent/schmancy.agent.js.map +1 -1
- package/dist/agent/schmancy.manifest.json +68 -24
- package/dist/{area-DrVE5pXW.cjs → area-BSVOYQDA.cjs} +1 -1
- package/dist/{area-DrVE5pXW.cjs.map → area-BSVOYQDA.cjs.map} +1 -1
- package/dist/{area-1EG1LrkX.js → area-C_Yvjmad.js} +1 -1
- package/dist/{area-1EG1LrkX.js.map → area-C_Yvjmad.js.map} +1 -1
- package/dist/area.cjs +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-6pdZxEab.cjs → autocomplete-B50VXUzw.cjs} +1 -1
- package/dist/{autocomplete-6pdZxEab.cjs.map → autocomplete-B50VXUzw.cjs.map} +1 -1
- package/dist/{autocomplete-nrIcCilw.js → autocomplete-C6I1mfOT.js} +2 -2
- package/dist/{autocomplete-nrIcCilw.js.map → autocomplete-C6I1mfOT.js.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/avatar.cjs +2 -2
- package/dist/avatar.js +3 -3
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat--fLgbDAE.js → boat-C94QZ4Zt.js} +27 -21
- package/dist/boat-C94QZ4Zt.js.map +1 -0
- package/dist/boat-DVQBNkk5.cjs +85 -0
- package/dist/boat-DVQBNkk5.cjs.map +1 -0
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/breadcrumb.cjs +1 -1
- package/dist/breadcrumb.js +1 -1
- package/dist/{busy-DshZcVZ4.js → busy--bNb42rM.js} +1 -1
- package/dist/{busy-DshZcVZ4.js.map → busy--bNb42rM.js.map} +1 -1
- package/dist/{busy-DVCIxBVf.cjs → busy-DuxFvEkY.cjs} +1 -1
- package/dist/{busy-DVCIxBVf.cjs.map → busy-DuxFvEkY.cjs.map} +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/{button-D9UJ7I6Z.js → button-B7b9L_h5.js} +26 -187
- package/dist/button-B7b9L_h5.js.map +1 -0
- package/dist/{button-JrTMzwHY.cjs → button-DAFZ5A4O.cjs} +2 -60
- package/dist/button-DAFZ5A4O.cjs.map +1 -0
- package/dist/button.cjs +59 -1
- package/dist/button.cjs.map +1 -0
- package/dist/button.js +170 -2
- package/dist/button.js.map +1 -0
- package/dist/{card-CTotavhH.cjs → card-DZPd24Sn.cjs} +1 -1
- package/dist/{card-CTotavhH.cjs.map → card-DZPd24Sn.cjs.map} +1 -1
- package/dist/{card-BvCFuX3J.js → card-ixzxOW-Q.js} +1 -1
- package/dist/{card-BvCFuX3J.js.map → card-ixzxOW-Q.js.map} +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-By4fFmjt.cjs → checkbox-Bi_Fm2mf.cjs} +1 -1
- package/dist/{checkbox-By4fFmjt.cjs.map → checkbox-Bi_Fm2mf.cjs.map} +1 -1
- package/dist/{checkbox-GPsdCUbs.js → checkbox-DdGpepTh.js} +1 -1
- package/dist/{checkbox-GPsdCUbs.js.map → checkbox-DdGpepTh.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-27umqnat.js → chips-DLTynyVB.js} +3 -3
- package/dist/{chips-27umqnat.js.map → chips-DLTynyVB.js.map} +1 -1
- package/dist/{chips-BZf9sGA8.cjs → chips-DWQMZErr.cjs} +1 -1
- package/dist/{chips-BZf9sGA8.cjs.map → chips-DWQMZErr.cjs.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/connectivity.cjs +1 -1
- package/dist/connectivity.js +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/{date-range-BJnLWCRF.cjs → date-range-BgGQyxOC.cjs} +1 -1
- package/dist/{date-range-BJnLWCRF.cjs.map → date-range-BgGQyxOC.cjs.map} +1 -1
- package/dist/{date-range-wDVHcr0u.js → date-range-CT6ckjmV.js} +2 -2
- package/dist/{date-range-wDVHcr0u.js.map → date-range-CT6ckjmV.js.map} +1 -1
- package/dist/{date-range-inline-BNbbRfIA.js → date-range-inline-Ho3CENTh.js} +1 -1
- package/dist/{date-range-inline-BNbbRfIA.js.map → date-range-inline-Ho3CENTh.js.map} +1 -1
- package/dist/{date-range-inline-B6uKUliV.cjs → date-range-inline-nPWIs-3C.cjs} +1 -1
- package/dist/{date-range-inline-B6uKUliV.cjs.map → date-range-inline-nPWIs-3C.cjs.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-DNrWIes6.cjs → details-BnRWMZdt.cjs} +1 -1
- package/dist/{details-DNrWIes6.cjs.map → details-BnRWMZdt.cjs.map} +1 -1
- package/dist/{details-Ckxpwacj.js → details-CcMTvYo7.js} +2 -2
- package/dist/{details-Ckxpwacj.js.map → details-CcMTvYo7.js.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{directives-F15SJZUR.cjs → directives-BkSqmLBV.cjs} +22 -20
- package/dist/directives-BkSqmLBV.cjs.map +1 -0
- package/dist/{directives-BBMqe8x3.js → directives-DgPbz0lQ.js} +142 -198
- package/dist/directives-DgPbz0lQ.js.map +1 -0
- package/dist/directives.cjs +1 -1
- package/dist/directives.js +7 -6
- package/dist/discovery.cjs +1 -1
- package/dist/discovery.js +1 -1
- package/dist/{discovery.service-CVDXO9rH.cjs.map → discovery.service-CIa3Eeuk.cjs.map} +1 -1
- package/dist/{discovery.service-COmbHaoI.js.map → discovery.service-DZFxtRwW.js.map} +1 -1
- package/dist/{divider-Cde33ivs.cjs → divider-C6yJSL1c.cjs} +1 -1
- package/dist/{divider-Cde33ivs.cjs.map → divider-C6yJSL1c.cjs.map} +1 -1
- package/dist/{divider-BzcZGo4S.js → divider-CZCj0ioH.js} +1 -1
- package/dist/{divider-BzcZGo4S.js.map → divider-CZCj0ioH.js.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 +1 -1
- package/dist/{expand-DI144OzN.js → expand-Cc6ogXsR.js} +2 -2
- package/dist/{expand-DI144OzN.js.map → expand-Cc6ogXsR.js.map} +1 -1
- package/dist/{expand-Db4V0jj-.cjs → expand-D4EhwOYh.cjs} +1 -1
- package/dist/{expand-Db4V0jj-.cjs.map → expand-D4EhwOYh.cjs.map} +1 -1
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/{float--RScf9BZ.cjs → float-B8EPc_OG.cjs} +1 -1
- package/dist/{float--RScf9BZ.cjs.map → float-B8EPc_OG.cjs.map} +1 -1
- package/dist/{float-DIyzy1c2.js → float-BvI3HTtB.js} +1 -1
- package/dist/{float-DIyzy1c2.js.map → float-BvI3HTtB.js.map} +1 -1
- package/dist/float.cjs +1 -1
- package/dist/float.js +1 -1
- package/dist/form-C4eFgFwF.cjs +42 -0
- package/dist/{form-DWNpOsIU.cjs.map → form-C4eFgFwF.cjs.map} +1 -1
- package/dist/{form-RtXH8UHQ.js → form-CGe9rVox.js} +8 -8
- package/dist/{form-RtXH8UHQ.js.map → form-CGe9rVox.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +6 -6
- package/dist/gravity-6pL6CfIr.cjs +1 -0
- package/dist/gravity-6pL6CfIr.cjs.map +1 -0
- package/dist/gravity-sVK3zGBF.js +46 -0
- package/dist/gravity-sVK3zGBF.js.map +1 -0
- package/dist/handover/agent-runtime-followups.md +1 -1
- package/dist/handover/agent-runtime-v1.md +3 -3
- package/dist/{hashContent-Dgmzc32o.js.map → hashContent-BqU6v1Xr.js.map} +1 -1
- package/dist/{hashContent-Dh1VzIAb.cjs.map → hashContent-iRZJJWtE.cjs.map} +1 -1
- package/dist/{icons-DXanGDZ_.js → icon-B1eZr2ZL.js} +1 -1
- package/dist/icon-B1eZr2ZL.js.map +1 -0
- package/dist/{icons-bNxlWLlk.cjs → icon-CgIXAvKI.cjs} +1 -1
- package/dist/{icons-DXanGDZ_.js.map → icon-CgIXAvKI.cjs.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{iframe-B1XWRaLC.cjs → iframe-BO3BpRLH.cjs} +1 -1
- package/dist/{iframe-B1XWRaLC.cjs.map → iframe-BO3BpRLH.cjs.map} +1 -1
- package/dist/{iframe-BlHK0cjy.js → iframe-CmpAZc61.js} +1 -1
- package/dist/{iframe-BlHK0cjy.js.map → iframe-CmpAZc61.js.map} +1 -1
- package/dist/iframe.cjs +1 -1
- package/dist/iframe.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +49 -47
- package/dist/{input-C-_XU9AX.cjs → input-5YL2oUBr.cjs} +1 -1
- package/dist/{input-C-_XU9AX.cjs.map → input-5YL2oUBr.cjs.map} +1 -1
- package/dist/{input-CiGa8Dkl.js → input-_Hft9vov.js} +1 -1
- package/dist/{input-CiGa8Dkl.js.map → input-_Hft9vov.js.map} +1 -1
- package/dist/{input-chip-l--zCMGR.js → input-chip-BNTojQT6.js} +1 -1
- package/dist/{input-chip-l--zCMGR.js.map → input-chip-BNTojQT6.js.map} +1 -1
- package/dist/{input-chip-5aYnuRZ_.cjs → input-chip-DKMNpcED.cjs} +1 -1
- package/dist/{input-chip-5aYnuRZ_.cjs.map → input-chip-DKMNpcED.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 +2 -2
- package/dist/kbd.cjs +1 -1
- package/dist/kbd.js +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{lightbox-D9oiu1Nv.js → lightbox-CKlYcnHV.js} +1 -1
- package/dist/{lightbox-D9oiu1Nv.js.map → lightbox-CKlYcnHV.js.map} +1 -1
- package/dist/{lightbox-CfRDkeeb.cjs → lightbox-t4dvb8_A.cjs} +1 -1
- package/dist/{lightbox-CfRDkeeb.cjs.map → lightbox-t4dvb8_A.cjs.map} +1 -1
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/{list-CDJi3_Ut.cjs → list-21mWtDKg.cjs} +4 -4
- package/dist/list-21mWtDKg.cjs.map +1 -0
- package/dist/{list-BOlRka4v.js → list-B6QhxgRJ.js} +4 -7
- package/dist/list-B6QhxgRJ.js.map +1 -0
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{magnetic-mHXl54Z8.js.map → magnetic-B2VKNfDu.js.map} +1 -1
- package/dist/{magnetic-D-ph029G.cjs.map → magnetic-MQ3HMHJi.cjs.map} +1 -1
- package/dist/{menu-XyrLmCi_.js → menu-CjOgPSOG.js} +2 -2
- package/dist/{menu-XyrLmCi_.js.map → menu-CjOgPSOG.js.map} +1 -1
- package/dist/{menu-CJaDL2cd.cjs → menu-Cu5G4vcR.cjs} +1 -1
- package/dist/{menu-CJaDL2cd.cjs.map → menu-Cu5G4vcR.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins-8dT5j6CS.js +627 -0
- package/dist/mixins-8dT5j6CS.js.map +1 -0
- package/dist/mixins-BF3Vj8_c.cjs +242 -0
- package/dist/mixins-BF3Vj8_c.cjs.map +1 -0
- package/dist/mixins.cjs +1 -1
- package/dist/mixins.js +1 -1
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +1 -1
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/navigation-rail.cjs +7 -5
- package/dist/navigation-rail.cjs.map +1 -1
- package/dist/navigation-rail.js +52 -38
- package/dist/navigation-rail.js.map +1 -1
- package/dist/notification-CDKBKh63.js +243 -0
- package/dist/notification-CDKBKh63.js.map +1 -0
- package/dist/notification-CcNoBFEJ.cjs +24 -0
- package/dist/notification-CcNoBFEJ.cjs.map +1 -0
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-Vpy4UQ-D.js → option-BWfmDJvm.js} +1 -1
- package/dist/{option-Vpy4UQ-D.js.map → option-BWfmDJvm.js.map} +1 -1
- package/dist/{option-nRk4MuXH.cjs → option-DejeqOad.cjs} +1 -1
- package/dist/{option-nRk4MuXH.cjs.map → option-DejeqOad.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{overlay-jlkcrt8F.js → overlay-D3c_NY18.js} +214 -265
- package/dist/overlay-D3c_NY18.js.map +1 -0
- package/dist/overlay-Dv2utO4C.cjs +43 -0
- package/dist/overlay-Dv2utO4C.cjs.map +1 -0
- package/dist/overlay.cjs +1 -1
- package/dist/overlay.confirm-body-B2ntyquG.cjs +79 -0
- package/dist/overlay.confirm-body-B2ntyquG.cjs.map +1 -0
- package/dist/overlay.confirm-body-B_v0ivkn.js +159 -0
- package/dist/overlay.confirm-body-B_v0ivkn.js.map +1 -0
- package/dist/overlay.js +3 -3
- package/dist/overlay.service-B3FjXCqc.js +143 -0
- package/dist/overlay.service-B3FjXCqc.js.map +1 -0
- package/dist/overlay.service-BkSeqXIv.cjs +1 -0
- package/dist/overlay.service-BkSeqXIv.cjs.map +1 -0
- package/dist/{progress-CAp_4jtq.cjs → progress-6_rb3Ah9.cjs} +1 -1
- package/dist/{progress-CAp_4jtq.cjs.map → progress-6_rb3Ah9.cjs.map} +1 -1
- package/dist/{progress-8Bn88GK_.js → progress-CFcmO0wv.js} +1 -1
- package/dist/{progress-8Bn88GK_.js.map → progress-CFcmO0wv.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-group-GNHA7qJR.js → radio-group-Bd8y9QpX.js} +1 -1
- package/dist/{radio-group-GNHA7qJR.js.map → radio-group-Bd8y9QpX.js.map} +1 -1
- package/dist/{radio-group-CN44mAoc.cjs → radio-group-_WZg8EKM.cjs} +1 -1
- package/dist/{radio-group-CN44mAoc.cjs.map → radio-group-_WZg8EKM.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/range.cjs +1 -1
- package/dist/range.js +1 -1
- package/dist/{rxjs-utils-CaC-tdot.cjs.map → rxjs-utils-Csnks202.cjs.map} +1 -1
- package/dist/{rxjs-utils-BXpvHN4-.js.map → rxjs-utils-d-ivVN84.js.map} +1 -1
- package/dist/rxjs-utils.cjs +1 -1
- package/dist/rxjs-utils.js +1 -1
- package/dist/{select-DZNns5Pa.cjs → select-BaioT3yY.cjs} +2 -2
- package/dist/{select-DZNns5Pa.cjs.map → select-BaioT3yY.cjs.map} +1 -1
- package/dist/{select-BnuXRHS4.js → select-Czpl1ztD.js} +3 -3
- package/dist/{select-BnuXRHS4.js.map → select-Czpl1ztD.js.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/skeleton.cjs +1 -1
- package/dist/skeleton.js +1 -1
- package/dist/skills/SKILL.md +1 -1
- package/dist/skills/list.md +0 -1
- package/dist/skills/schmancy/SKILL.md +1 -1
- package/dist/skills/schmancy/list.md +0 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{splash-screen-DeoPRrOu.cjs → splash-screen-3FtgdVy3.cjs} +1 -1
- package/dist/{splash-screen-DeoPRrOu.cjs.map → splash-screen-3FtgdVy3.cjs.map} +1 -1
- package/dist/{splash-screen-CUP_elaT.js → splash-screen-YtTVkJg8.js} +1 -1
- package/dist/{splash-screen-CUP_elaT.js.map → splash-screen-YtTVkJg8.js.map} +1 -1
- package/dist/splash-screen.cjs +1 -1
- package/dist/splash-screen.js +1 -1
- package/dist/{src-DQ4wr0qq.cjs → src-0LIdvAX6.cjs} +8 -8
- package/dist/{src-DQ4wr0qq.cjs.map → src-0LIdvAX6.cjs.map} +1 -1
- package/dist/{src-B1VkLX3l.js → src-BJHws7IS.js} +37 -37
- package/dist/{src-B1VkLX3l.js.map → src-BJHws7IS.js.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-LkaZQXZn.cjs → surface-BNvxLEDN.cjs} +1 -1
- package/dist/surface-BNvxLEDN.cjs.map +1 -0
- package/dist/{surface-hOvkrjGN.js → surface-CVxyQPln.js} +1 -1
- package/dist/surface-CVxyQPln.js.map +1 -0
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/switch.cjs +1 -1
- package/dist/switch.js +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-CfwIHhHo.js → tabs-CnPXvZuZ.js} +1 -1
- package/dist/{tabs-CfwIHhHo.js.map → tabs-CnPXvZuZ.js.map} +1 -1
- package/dist/{tabs-bplzstz6.cjs → tabs-DTU7748z.cjs} +1 -1
- package/dist/{tabs-bplzstz6.cjs.map → tabs-DTU7748z.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-hrDp5gQq.cjs → textarea-Bqth6Q8P.cjs} +1 -1
- package/dist/{textarea-hrDp5gQq.cjs.map → textarea-Bqth6Q8P.cjs.map} +1 -1
- package/dist/{textarea-C1A5xuw9.js → textarea-mQPsppmd.js} +1 -1
- package/dist/{textarea-C1A5xuw9.js.map → textarea-mQPsppmd.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-BniFOMEo.js → theme-BJqpv4cG.js} +2 -2
- package/dist/{theme-BniFOMEo.js.map → theme-BJqpv4cG.js.map} +1 -1
- package/dist/{theme-DmR6PKV8.cjs → theme-D4HGKt7N.cjs} +1 -1
- package/dist/{theme-DmR6PKV8.cjs.map → theme-D4HGKt7N.cjs.map} +1 -1
- package/dist/{theme-button--ruZIb0T.js → theme-button-Jap7G_IH.js} +1 -1
- package/dist/{theme-button--ruZIb0T.js.map → theme-button-Jap7G_IH.js.map} +1 -1
- package/dist/{theme-button-a0LgZ7hQ.cjs → theme-button-LP-Dgr17.cjs} +1 -1
- package/dist/{theme-button-a0LgZ7hQ.cjs.map → theme-button-LP-Dgr17.cjs.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.interface-B5xjEk74.cjs.map → theme.interface-CSt7JUBD.cjs.map} +1 -1
- package/dist/{theme.interface-DVEw3s8m.js.map → theme.interface-odQEpZZH.js.map} +1 -1
- package/dist/theme.js +3 -3
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/typography-BJMm6b0b.js +358 -0
- package/dist/typography-BJMm6b0b.js.map +1 -0
- package/dist/typography-Bc4MmSal.cjs +282 -0
- package/dist/typography-Bc4MmSal.cjs.map +1 -0
- package/dist/typography.cjs +1 -282
- package/dist/typography.js +2 -358
- package/dist/{utils-CVWUrECT.cjs.map → utils-DTa3QHxk.cjs.map} +1 -1
- package/dist/{utils-578eFTx4.js.map → utils-H8wNknWC.js.map} +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +1 -1
- package/dist/visually-hidden.cjs +1 -1
- package/dist/visually-hidden.js +1 -1
- package/dist/{window-Bp7zWZpu.cjs → window-CNu_WnsY.cjs} +1 -1
- package/dist/{window-Bp7zWZpu.cjs.map → window-CNu_WnsY.cjs.map} +1 -1
- package/dist/{window-BT9JecWy.js → window-DZTjkE24.js} +1 -1
- package/dist/{window-BT9JecWy.js.map → window-DZTjkE24.js.map} +1 -1
- package/dist/window.cjs +1 -1
- package/dist/window.js +1 -1
- package/package.json +1 -1
- package/skills/schmancy/SKILL.md +1 -1
- package/skills/schmancy/list.md +0 -1
- package/src/boat/boat.ts +33 -23
- package/src/directives/nebula.ts +64 -61
- package/src/list/list.ts +1 -12
- package/src/navigation-rail/navigation-rail.ts +558 -490
- package/src/notification/notification-service.ts +81 -263
- package/src/notification/notification.scss +93 -50
- package/src/notification/notification.ts +32 -69
- package/src/overlay/overlay.component.ts +99 -158
- package/src/overlay/overlay.confirm-body.ts +106 -61
- package/src/overlay/overlay.service.ts +81 -108
- package/src/surface/surface.styles.ts +0 -17
- package/src/surface/surface.ts +5 -7
- package/types/mixins/surface.mixin.d.ts +0 -3
- package/types/src/directives/nebula.d.ts +1 -1
- package/types/src/list/list.d.ts +0 -9
- package/types/src/navigation-rail/navigation-rail.d.ts +21 -1
- package/types/src/notification/notification-service.d.ts +3 -86
- package/types/src/notification/notification.d.ts +1 -1
- package/types/src/overlay/overlay.component.d.ts +1 -2
- package/types/src/overlay/overlay.confirm-body.d.ts +8 -4
- package/types/src/surface/surface.d.ts +5 -6
- package/types/src/surface/surface.styles.d.ts +0 -4
- package/dist/agent/overlay.confirm-body-DozUyDYx.js +0 -2859
- package/dist/agent/overlay.confirm-body-DozUyDYx.js.map +0 -1
- package/dist/boat--fLgbDAE.js.map +0 -1
- package/dist/boat-BIB-gPqy.cjs +0 -80
- package/dist/boat-BIB-gPqy.cjs.map +0 -1
- package/dist/button-D9UJ7I6Z.js.map +0 -1
- package/dist/button-JrTMzwHY.cjs.map +0 -1
- package/dist/directives-BBMqe8x3.js.map +0 -1
- package/dist/directives-F15SJZUR.cjs.map +0 -1
- package/dist/form-DWNpOsIU.cjs +0 -42
- package/dist/icons-bNxlWLlk.cjs.map +0 -1
- package/dist/list-BOlRka4v.js.map +0 -1
- package/dist/list-CDJi3_Ut.cjs.map +0 -1
- package/dist/mixins-CsYsIJOI.cjs +0 -254
- package/dist/mixins-CsYsIJOI.cjs.map +0 -1
- package/dist/mixins-DySzfmal.js +0 -642
- package/dist/mixins-DySzfmal.js.map +0 -1
- package/dist/notification-CHrEY4u8.js +0 -306
- package/dist/notification-CHrEY4u8.js.map +0 -1
- package/dist/notification-DKp4tjaB.cjs +0 -23
- package/dist/notification-DKp4tjaB.cjs.map +0 -1
- package/dist/overlay-HNrWZ4sB.cjs +0 -81
- package/dist/overlay-HNrWZ4sB.cjs.map +0 -1
- package/dist/overlay-jlkcrt8F.js.map +0 -1
- package/dist/overlay.confirm-body-B8dFI3cj.cjs +0 -45
- package/dist/overlay.confirm-body-B8dFI3cj.cjs.map +0 -1
- package/dist/overlay.confirm-body-CYShkjI6.js +0 -100
- package/dist/overlay.confirm-body-CYShkjI6.js.map +0 -1
- package/dist/overlay.service-BTPn7Uv7.cjs +0 -1
- package/dist/overlay.service-BTPn7Uv7.cjs.map +0 -1
- package/dist/overlay.service-BqhhxVJp.js +0 -146
- package/dist/overlay.service-BqhhxVJp.js.map +0 -1
- package/dist/surface-LkaZQXZn.cjs.map +0 -1
- package/dist/surface-hOvkrjGN.js.map +0 -1
- package/dist/typography.cjs.map +0 -1
- package/dist/typography.js.map +0 -1
- /package/dist/{discovery.service-CVDXO9rH.cjs → discovery.service-CIa3Eeuk.cjs} +0 -0
- /package/dist/{discovery.service-COmbHaoI.js → discovery.service-DZFxtRwW.js} +0 -0
- /package/dist/{hashContent-Dgmzc32o.js → hashContent-BqU6v1Xr.js} +0 -0
- /package/dist/{hashContent-Dh1VzIAb.cjs → hashContent-iRZJJWtE.cjs} +0 -0
- /package/dist/{magnetic-mHXl54Z8.js → magnetic-B2VKNfDu.js} +0 -0
- /package/dist/{magnetic-D-ph029G.cjs → magnetic-MQ3HMHJi.cjs} +0 -0
- /package/dist/{rxjs-utils-CaC-tdot.cjs → rxjs-utils-Csnks202.cjs} +0 -0
- /package/dist/{rxjs-utils-BXpvHN4-.js → rxjs-utils-d-ivVN84.js} +0 -0
- /package/dist/{theme.interface-B5xjEk74.cjs → theme.interface-CSt7JUBD.cjs} +0 -0
- /package/dist/{theme.interface-DVEw3s8m.js → theme.interface-odQEpZZH.js} +0 -0
- /package/dist/{utils-CVWUrECT.cjs → utils-DTa3QHxk.cjs} +0 -0
- /package/dist/{utils-578eFTx4.js → utils-H8wNknWC.js} +0 -0
package/src/boat/boat.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { SPRING_SMOOTH, SPRING_SNAPPY } from '../utils/animation.js'
|
|
|
10
10
|
import { reducedMotion$ } from '../directives/reduced-motion'
|
|
11
11
|
import { theme } from '../theme/theme.service.js'
|
|
12
12
|
|
|
13
|
-
const FAB_HEIGHT =
|
|
13
|
+
const FAB_HEIGHT = 36
|
|
14
14
|
const DRAG_THRESHOLD = 5
|
|
15
15
|
const POSITION_STORAGE_KEY_PREFIX = 'schmancy-boat-'
|
|
16
16
|
|
|
@@ -89,12 +89,12 @@ export default class SchmancyBoat extends SchmancyElement {
|
|
|
89
89
|
|
|
90
90
|
private get closedClipPath(): string {
|
|
91
91
|
return this.isBottomCorner
|
|
92
|
-
? `inset(calc(100% - ${FAB_HEIGHT}px) 0px 0px 0px round
|
|
93
|
-
: `inset(0px 0px calc(100% - ${FAB_HEIGHT}px) 0px round
|
|
92
|
+
? `inset(calc(100% - ${FAB_HEIGHT}px) 0px 0px 0px round 10px)`
|
|
93
|
+
: `inset(0px 0px calc(100% - ${FAB_HEIGHT}px) 0px round 10px)`
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
private get openClipPath(): string {
|
|
97
|
-
return 'inset(0px 0px 0px 0px round
|
|
97
|
+
return 'inset(0px 0px 0px 0px round 4px)'
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
private get elevation(): 0 | 1 | 2 | 3 | 4 | 5 {
|
|
@@ -415,7 +415,7 @@ export default class SchmancyBoat extends SchmancyElement {
|
|
|
415
415
|
container.style.overflow = 'hidden'
|
|
416
416
|
|
|
417
417
|
const openKeyframes: Keyframe[] = [
|
|
418
|
-
{ clipPath: this.closedClipPath, opacity: 0.
|
|
418
|
+
{ clipPath: this.closedClipPath, opacity: 0.85 },
|
|
419
419
|
{ clipPath: this.openClipPath, opacity: 1 },
|
|
420
420
|
]
|
|
421
421
|
const anim = container.animate(openKeyframes, {
|
|
@@ -459,7 +459,7 @@ export default class SchmancyBoat extends SchmancyElement {
|
|
|
459
459
|
|
|
460
460
|
const closeKeyframes: Keyframe[] = [
|
|
461
461
|
{ clipPath: this.openClipPath, opacity: 1 },
|
|
462
|
-
{ clipPath: this.closedClipPath, opacity: 0.
|
|
462
|
+
{ clipPath: this.closedClipPath, opacity: 0.85 },
|
|
463
463
|
]
|
|
464
464
|
const anim = container.animate(closeKeyframes, {
|
|
465
465
|
duration: Math.round(SPRING_SNAPPY.duration * 0.9),
|
|
@@ -527,10 +527,13 @@ export default class SchmancyBoat extends SchmancyElement {
|
|
|
527
527
|
'flex-col-reverse': !isBottom,
|
|
528
528
|
'will-change-[clip-path]': true,
|
|
529
529
|
'z-1000': true,
|
|
530
|
-
|
|
531
|
-
'rounded
|
|
530
|
+
// open: 4px radius (instrument-sharp); closed: 10px (status-bar pill)
|
|
531
|
+
'rounded': this.open,
|
|
532
|
+
'rounded-lg': !this.open,
|
|
532
533
|
'overflow-hidden': true,
|
|
533
|
-
|
|
534
|
+
// micro-scale + reduced opacity signals lift during drag
|
|
535
|
+
'opacity-85': this.isDragging,
|
|
536
|
+
'scale-95': this.isDragging,
|
|
534
537
|
})
|
|
535
538
|
|
|
536
539
|
const containerStyles = styleMap({
|
|
@@ -584,32 +587,39 @@ export default class SchmancyBoat extends SchmancyElement {
|
|
|
584
587
|
</schmancy-surface>
|
|
585
588
|
</section>
|
|
586
589
|
|
|
587
|
-
<!-- Gradient separator between header and content — only when open -->
|
|
588
|
-
${when(
|
|
589
|
-
this.open,
|
|
590
|
-
() =>
|
|
591
|
-
html`<div
|
|
592
|
-
class="h-px shrink-0 bg-linear-to-r from-transparent via-primary-default/30 to-transparent"
|
|
593
|
-
></div>`,
|
|
594
|
-
)}
|
|
595
|
-
|
|
596
590
|
<!-- Header / FAB section — always interactive, always visible -->
|
|
597
591
|
<section
|
|
598
|
-
class="shrink-0 bg-surface-containerLowest"
|
|
592
|
+
class="shrink-0 bg-surface-containerLowest relative"
|
|
599
593
|
style=${styleMap({ 'pointer-events': 'auto', height: `${FAB_HEIGHT}px` })}
|
|
600
594
|
>
|
|
595
|
+
<!-- 1px top inner highlight — reads as a lit edge when open, instrument-panel HUD accent -->
|
|
596
|
+
${when(
|
|
597
|
+
this.open,
|
|
598
|
+
() => html`<div
|
|
599
|
+
class="absolute inset-x-0 top-0 h-px bg-linear-to-r from-transparent via-primary-default/40 to-transparent pointer-events-none"
|
|
600
|
+
></div>`,
|
|
601
|
+
)}
|
|
601
602
|
<div
|
|
602
603
|
${ref(this._headerRef)}
|
|
603
604
|
class=${headerClasses}
|
|
604
605
|
title="Drag to move"
|
|
605
606
|
aria-label="Drag to reposition panel"
|
|
606
607
|
>
|
|
608
|
+
<!-- Grip indicator: only visible when collapsed, signals "this is a handle" -->
|
|
609
|
+
${when(
|
|
610
|
+
!this.open,
|
|
611
|
+
() => html`<div
|
|
612
|
+
class="absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 w-6 h-0.5 rounded-full bg-on-surface/20 pointer-events-none"
|
|
613
|
+
style="z-index:0"
|
|
614
|
+
></div>`,
|
|
615
|
+
)}
|
|
616
|
+
|
|
607
617
|
<!-- Summary slot rendered once — avoids DOM teardown on toggle -->
|
|
608
|
-
<div class="flex-1 min-w-0">
|
|
618
|
+
<div class="flex-1 min-w-0 relative" style="z-index:1">
|
|
609
619
|
<slot name="summary"></slot>
|
|
610
620
|
</div>
|
|
611
621
|
|
|
612
|
-
<!-- Toggle button:
|
|
622
|
+
<!-- Toggle button: chevron up/down matches open/close direction per corner -->
|
|
613
623
|
${when(
|
|
614
624
|
this.open,
|
|
615
625
|
() => html`
|
|
@@ -622,7 +632,7 @@ export default class SchmancyBoat extends SchmancyElement {
|
|
|
622
632
|
}}
|
|
623
633
|
title="Collapse"
|
|
624
634
|
>
|
|
625
|
-
|
|
635
|
+
${isBottom ? 'expand_more' : 'expand_less'}
|
|
626
636
|
</schmancy-icon-button>
|
|
627
637
|
`,
|
|
628
638
|
() => html`
|
|
@@ -635,7 +645,7 @@ export default class SchmancyBoat extends SchmancyElement {
|
|
|
635
645
|
}}
|
|
636
646
|
title="Expand"
|
|
637
647
|
>
|
|
638
|
-
|
|
648
|
+
${isBottom ? 'expand_less' : 'expand_more'}
|
|
639
649
|
</schmancy-icon-button>
|
|
640
650
|
`,
|
|
641
651
|
)}
|
package/src/directives/nebula.ts
CHANGED
|
@@ -32,13 +32,13 @@
|
|
|
32
32
|
* ```
|
|
33
33
|
*/
|
|
34
34
|
|
|
35
|
+
import type { ElementPart } from 'lit'
|
|
35
36
|
import { noChange } from 'lit'
|
|
36
37
|
import { AsyncDirective, directive } from 'lit/async-directive.js'
|
|
37
|
-
import type
|
|
38
|
-
import {
|
|
38
|
+
import { EMPTY, type Subscription, from, fromEvent, timer } from 'rxjs'
|
|
39
|
+
import { catchError, take, tap } from 'rxjs/operators'
|
|
40
|
+
import { SPRING_GENTLE, SPRING_SMOOTH, getEasing } from '../utils/animation'
|
|
39
41
|
import { reducedMotion$ } from './reduced-motion'
|
|
40
|
-
import { Subscription, timer, fromEvent, from, EMPTY } from 'rxjs'
|
|
41
|
-
import { take, tap, catchError } from 'rxjs/operators'
|
|
42
42
|
|
|
43
43
|
export interface NebulaOptions {
|
|
44
44
|
/** Whether the nebula is active/visible. Default: true (auto-shows, auto-hides after autoHideDuration) */
|
|
@@ -94,7 +94,7 @@ const DEFAULTS: Required<NebulaOptions> = {
|
|
|
94
94
|
idleBreathe: true,
|
|
95
95
|
temperature: 0,
|
|
96
96
|
chromaticAberration: 1,
|
|
97
|
-
particleCount:
|
|
97
|
+
particleCount: 8,
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
// =============================================================================
|
|
@@ -139,10 +139,11 @@ function injectGlobalStyles(): void {
|
|
|
139
139
|
75% { transform: translate3d(calc(var(--nebula-aberration, 3px) * -1.8), 0, 0); }
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
/* Iridescent core -
|
|
142
|
+
/* Iridescent core - compositor-only rotation. filter is static (baked inline) to avoid
|
|
143
|
+
per-frame raster cost of animated blur/hue-rotate under mix-blend-mode: screen. */
|
|
143
144
|
@keyframes nebula-iridescent {
|
|
144
|
-
0% {
|
|
145
|
-
100% {
|
|
145
|
+
0% { transform: translateZ(0) rotate(0deg); }
|
|
146
|
+
100% { transform: translateZ(0) rotate(360deg); }
|
|
146
147
|
}
|
|
147
148
|
|
|
148
149
|
/* Bioluminescent tendrils - organic breathing */
|
|
@@ -161,17 +162,17 @@ function injectGlobalStyles(): void {
|
|
|
161
162
|
85% { opacity: 0.6; }
|
|
162
163
|
}
|
|
163
164
|
|
|
164
|
-
/* Idle breathing -
|
|
165
|
+
/* Idle breathing - compositor-only pulse when dimmed.
|
|
166
|
+
filter: blur is intentionally static (baked on layers) — animating it here
|
|
167
|
+
would keep re-rasterizing the dimmed overlay forever for no visual gain. */
|
|
165
168
|
@keyframes nebula-idle-breathe {
|
|
166
169
|
0%, 100% {
|
|
167
170
|
opacity: var(--nebula-idle-opacity, 0.08);
|
|
168
|
-
|
|
169
|
-
transform: scale(1);
|
|
171
|
+
transform: scale(1) translateZ(0);
|
|
170
172
|
}
|
|
171
173
|
50% {
|
|
172
174
|
opacity: calc(var(--nebula-idle-opacity, 0.08) * 1.4);
|
|
173
|
-
|
|
174
|
-
transform: scale(1.005);
|
|
175
|
+
transform: scale(1.005) translateZ(0);
|
|
175
176
|
}
|
|
176
177
|
}
|
|
177
178
|
|
|
@@ -185,7 +186,8 @@ function injectGlobalStyles(): void {
|
|
|
185
186
|
isolation: isolate;
|
|
186
187
|
}
|
|
187
188
|
|
|
188
|
-
.nebula-overlay.paused .nebula-layer
|
|
189
|
+
.nebula-overlay.paused .nebula-layer,
|
|
190
|
+
.nebula-overlay.dimmed .nebula-layer {
|
|
189
191
|
animation-play-state: paused !important;
|
|
190
192
|
}
|
|
191
193
|
|
|
@@ -216,6 +218,7 @@ interface State {
|
|
|
216
218
|
originalContain: string
|
|
217
219
|
isDimmed: boolean
|
|
218
220
|
autoHideSub: Subscription | null
|
|
221
|
+
fadeFinishedSub: Subscription | null
|
|
219
222
|
options: Required<NebulaOptions>
|
|
220
223
|
reducedMotion: boolean
|
|
221
224
|
isVisible: boolean
|
|
@@ -352,6 +355,8 @@ class NebulaDirective extends AsyncDirective {
|
|
|
352
355
|
if (this.state?.overlay && this.state.isDimmed) {
|
|
353
356
|
this.state.isDimmed = false
|
|
354
357
|
this.state.options = opts
|
|
358
|
+
this.state.fadeFinishedSub?.unsubscribe()
|
|
359
|
+
this.state.fadeFinishedSub = null
|
|
355
360
|
this.awakenOverlay(opts, reducedMotion)
|
|
356
361
|
this.scheduleAutoHide(opts)
|
|
357
362
|
return
|
|
@@ -372,28 +377,26 @@ class NebulaDirective extends AsyncDirective {
|
|
|
372
377
|
if (!this.state?.overlay) return
|
|
373
378
|
|
|
374
379
|
const overlay = this.state.overlay
|
|
375
|
-
const awakenDuration = reducedMotion ? 0 : opts.fadeInDuration * 0.6
|
|
376
|
-
const easing = reducedMotion ? 'linear' : getEasing(SPRING_SMOOTH)
|
|
377
|
-
|
|
378
|
-
// Update CSS custom properties
|
|
379
380
|
overlay.style.setProperty('--nebula-intensity', String(opts.intensity))
|
|
380
381
|
|
|
381
382
|
overlay.animate(
|
|
382
383
|
[
|
|
383
|
-
{ opacity: opts.idleOpacity, transform: 'scale(0.98)
|
|
384
|
-
{ opacity: opts.intensity * 0.7, transform: 'scale(1.01)
|
|
385
|
-
{ opacity: opts.intensity, transform: 'scale(1)
|
|
384
|
+
{ opacity: opts.idleOpacity, transform: 'scale(0.98) translateZ(0)' },
|
|
385
|
+
{ opacity: opts.intensity * 0.7, transform: 'scale(1.01) translateZ(0)' },
|
|
386
|
+
{ opacity: opts.intensity, transform: 'scale(1) translateZ(0)' },
|
|
386
387
|
] as Keyframe[],
|
|
387
388
|
{
|
|
388
|
-
duration:
|
|
389
|
-
easing,
|
|
389
|
+
duration: reducedMotion ? 0 : opts.fadeInDuration * 0.6,
|
|
390
|
+
easing: reducedMotion ? 'linear' : getEasing(SPRING_SMOOTH),
|
|
390
391
|
fill: 'forwards',
|
|
391
392
|
},
|
|
392
393
|
)
|
|
393
394
|
|
|
394
|
-
//
|
|
395
|
-
|
|
395
|
+
// Clear the dimmed gate + any container-level idle-breathe animation hide() installed,
|
|
396
|
+
// then resume the per-layer CSS animations.
|
|
397
|
+
overlay.classList.remove('paused', 'dimmed')
|
|
396
398
|
overlay.classList.add('running')
|
|
399
|
+
overlay.style.animation = ''
|
|
397
400
|
}
|
|
398
401
|
|
|
399
402
|
private createOverlay(element: HTMLElement, opts: Required<NebulaOptions>, reducedMotion: boolean): void {
|
|
@@ -568,7 +571,11 @@ class NebulaDirective extends AsyncDirective {
|
|
|
568
571
|
transparent 100%)`,
|
|
569
572
|
mixBlendMode: 'screen',
|
|
570
573
|
transform: 'translateZ(0)',
|
|
571
|
-
|
|
574
|
+
transformOrigin: '50% 50%',
|
|
575
|
+
// Static filter — animating hue-rotate + blur every frame is a GPU pig
|
|
576
|
+
// under mix-blend-mode: screen. Compositor-only rotation gets the iridescent
|
|
577
|
+
// shimmer "for free" by sliding the gradient across the blend stack.
|
|
578
|
+
filter: `blur(${12 * opts.blur}px) saturate(1.6)`,
|
|
572
579
|
animation: `nebula-iridescent ${28000 / opts.speed}ms linear infinite`,
|
|
573
580
|
})
|
|
574
581
|
overlay.appendChild(iridescentLayer)
|
|
@@ -635,13 +642,14 @@ class NebulaDirective extends AsyncDirective {
|
|
|
635
642
|
const fadeInDuration = reducedMotion ? 0 : opts.fadeInDuration
|
|
636
643
|
const entranceEasing = reducedMotion ? 'linear' : getEasing(SPRING_SMOOTH)
|
|
637
644
|
|
|
645
|
+
// Compositor-only entrance — opacity + transform reach the same "rising into focus"
|
|
646
|
+
// feel without animating `filter: blur`, which re-rasterizes the full filtered
|
|
647
|
+
// region every frame under mix-blend-mode: screen.
|
|
638
648
|
overlay.animate(
|
|
639
649
|
[
|
|
640
|
-
{ opacity: 0, transform: 'scale(0.85)
|
|
641
|
-
{ opacity: opts.intensity * 0.
|
|
642
|
-
{ opacity: opts.intensity
|
|
643
|
-
{ opacity: opts.intensity * 0.85, transform: 'scale(1.005)', filter: `blur(${1 * opts.blur}px) saturate(1.05)` },
|
|
644
|
-
{ opacity: opts.intensity, transform: 'scale(1)', filter: 'blur(0px) saturate(1)' },
|
|
650
|
+
{ opacity: 0, transform: 'scale(0.85) translateZ(0)' },
|
|
651
|
+
{ opacity: opts.intensity * 0.4, transform: 'scale(0.97) translateZ(0)' },
|
|
652
|
+
{ opacity: opts.intensity, transform: 'scale(1) translateZ(0)' },
|
|
645
653
|
] as Keyframe[],
|
|
646
654
|
{
|
|
647
655
|
duration: fadeInDuration,
|
|
@@ -658,6 +666,7 @@ class NebulaDirective extends AsyncDirective {
|
|
|
658
666
|
originalContain,
|
|
659
667
|
isDimmed: false,
|
|
660
668
|
autoHideSub: null,
|
|
669
|
+
fadeFinishedSub: null,
|
|
661
670
|
options: opts,
|
|
662
671
|
reducedMotion,
|
|
663
672
|
isVisible: document.visibilityState === 'visible',
|
|
@@ -695,53 +704,46 @@ class NebulaDirective extends AsyncDirective {
|
|
|
695
704
|
const overlay = this.state.overlay
|
|
696
705
|
const currentOpts = this.state.options
|
|
697
706
|
const reducedMotion = this.state.reducedMotion
|
|
698
|
-
|
|
699
|
-
const
|
|
700
|
-
const exitEasing = reducedMotion ? 'linear' : getEasing(SPRING_GENTLE)
|
|
707
|
+
const duration = reducedMotion ? 0 : opts.fadeOutDuration
|
|
708
|
+
const easing = reducedMotion ? 'linear' : getEasing(SPRING_GENTLE)
|
|
701
709
|
|
|
702
710
|
// Full hide (idleOpacity = 0)
|
|
703
711
|
if (opts.idleOpacity <= 0) {
|
|
704
712
|
overlay.animate(
|
|
705
713
|
[
|
|
706
|
-
{ opacity: currentOpts.intensity, transform: 'scale(1)
|
|
707
|
-
{ opacity: currentOpts.intensity * 0.4, transform: 'scale(0.95)
|
|
708
|
-
{ opacity: 0, transform: 'scale(0.9)
|
|
714
|
+
{ opacity: currentOpts.intensity, transform: 'scale(1) translateZ(0)' },
|
|
715
|
+
{ opacity: currentOpts.intensity * 0.4, transform: 'scale(0.95) translateZ(0)' },
|
|
716
|
+
{ opacity: 0, transform: 'scale(0.9) translateZ(0)' },
|
|
709
717
|
] as Keyframe[],
|
|
710
|
-
{
|
|
711
|
-
duration: fadeOutDuration,
|
|
712
|
-
easing: exitEasing,
|
|
713
|
-
fill: 'forwards',
|
|
714
|
-
},
|
|
718
|
+
{ duration, easing, fill: 'forwards' },
|
|
715
719
|
)
|
|
716
720
|
return
|
|
717
721
|
}
|
|
718
722
|
|
|
719
|
-
// Fade to idle with CSS animation for breathing
|
|
720
723
|
const fadeDown = overlay.animate(
|
|
721
724
|
[
|
|
722
|
-
{ opacity: currentOpts.intensity, transform: 'scale(1)
|
|
723
|
-
{ opacity: currentOpts.intensity * 0.5, transform: 'scale(0.99)
|
|
724
|
-
{ opacity: opts.idleOpacity, transform: 'scale(1)
|
|
725
|
+
{ opacity: currentOpts.intensity, transform: 'scale(1) translateZ(0)' },
|
|
726
|
+
{ opacity: currentOpts.intensity * 0.5, transform: 'scale(0.99) translateZ(0)' },
|
|
727
|
+
{ opacity: opts.idleOpacity, transform: 'scale(1) translateZ(0)' },
|
|
725
728
|
] as Keyframe[],
|
|
726
|
-
{
|
|
727
|
-
duration: fadeOutDuration,
|
|
728
|
-
easing: exitEasing,
|
|
729
|
-
fill: 'forwards',
|
|
730
|
-
},
|
|
729
|
+
{ duration, easing, fill: 'forwards' },
|
|
731
730
|
)
|
|
732
731
|
|
|
733
|
-
//
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
732
|
+
// After fade-down, gate per-layer animations off via the `dimmed` class — without
|
|
733
|
+
// this, chromatic/iridescent/tendril/particle keyframes keep burning GPU under
|
|
734
|
+
// mix-blend-mode: screen forever even though the stack is visually idle.
|
|
735
|
+
this.state.fadeFinishedSub?.unsubscribe()
|
|
736
|
+
this.state.fadeFinishedSub = from(fadeDown.finished).pipe(
|
|
737
|
+
take(1),
|
|
738
|
+
tap(() => {
|
|
739
|
+
if (!this.state?.overlay) return
|
|
740
|
+
this.state.overlay.classList.add('dimmed')
|
|
741
|
+
if (opts.idleBreathe && !reducedMotion) {
|
|
741
742
|
this.state.overlay.style.animation = `nebula-idle-breathe ${12000 / currentOpts.speed}ms ${BREATHING_EASING} infinite`
|
|
742
743
|
}
|
|
743
|
-
})
|
|
744
|
-
|
|
744
|
+
}),
|
|
745
|
+
catchError(() => EMPTY),
|
|
746
|
+
).subscribe()
|
|
745
747
|
}
|
|
746
748
|
|
|
747
749
|
private cleanup(): void {
|
|
@@ -750,6 +752,7 @@ class NebulaDirective extends AsyncDirective {
|
|
|
750
752
|
this.coordinator.unregister(this, this.state.element)
|
|
751
753
|
|
|
752
754
|
this.state.autoHideSub?.unsubscribe()
|
|
755
|
+
this.state.fadeFinishedSub?.unsubscribe()
|
|
753
756
|
|
|
754
757
|
this.state.overlay?.remove()
|
|
755
758
|
this.state.element.style.position = this.state.originalPosition
|
package/src/list/list.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { provide } from '@lit/context'
|
|
2
2
|
import { SchmancyElement } from '@mixins/index'
|
|
3
|
-
import { SchmancySurfaceFill } from '@schmancy/surface'
|
|
4
3
|
import { TSurfaceColor } from '@schmancy/types/surface'
|
|
5
4
|
import { css, html } from 'lit'
|
|
6
5
|
import { customElement, property } from 'lit/decorators.js'
|
|
@@ -42,16 +41,6 @@ export class List extends SchmancyElement {
|
|
|
42
41
|
@property()
|
|
43
42
|
surface: TSurfaceColor
|
|
44
43
|
|
|
45
|
-
/**
|
|
46
|
-
* Determines the fill style of the underlying surface.
|
|
47
|
-
*
|
|
48
|
-
* @attr fill
|
|
49
|
-
* @type {SchmancySurfaceFill}
|
|
50
|
-
* @default 'auto'
|
|
51
|
-
*/
|
|
52
|
-
@property({ type: String, reflect: true })
|
|
53
|
-
fill: SchmancySurfaceFill = 'auto'
|
|
54
|
-
|
|
55
44
|
/**
|
|
56
45
|
* Defines the elevation level of the surface.
|
|
57
46
|
*
|
|
@@ -72,7 +61,7 @@ export class List extends SchmancyElement {
|
|
|
72
61
|
*/
|
|
73
62
|
render() {
|
|
74
63
|
return html`
|
|
75
|
-
<schmancy-surface .elevation=${this.elevation}
|
|
64
|
+
<schmancy-surface .elevation=${this.elevation} type=${this.surface}>
|
|
76
65
|
<ul>
|
|
77
66
|
<slot></slot>
|
|
78
67
|
</ul>
|