@mhmo91/schmancy 0.10.26 → 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 +3113 -4893
- package/dist/agent/schmancy.agent.js.map +1 -1
- package/dist/agent/schmancy.manifest.json +68 -24
- package/dist/{area-DkvO_oiO.cjs → area-BSVOYQDA.cjs} +1 -1
- package/dist/{area-DkvO_oiO.cjs.map → area-BSVOYQDA.cjs.map} +1 -1
- package/dist/{area-fC1_kvAW.js → area-C_Yvjmad.js} +1 -1
- package/dist/{area-fC1_kvAW.js.map → area-C_Yvjmad.js.map} +1 -1
- package/dist/area.cjs +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-Aa2IstyX.cjs → autocomplete-B50VXUzw.cjs} +1 -1
- package/dist/{autocomplete-Aa2IstyX.cjs.map → autocomplete-B50VXUzw.cjs.map} +1 -1
- package/dist/{autocomplete-Hb-C11a3.js → autocomplete-C6I1mfOT.js} +2 -2
- package/dist/{autocomplete-Hb-C11a3.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-BW6aRcdY.js → boat-C94QZ4Zt.js} +1 -1
- package/dist/{boat-BW6aRcdY.js.map → boat-C94QZ4Zt.js.map} +1 -1
- package/dist/{boat-BEq-AHmL.cjs → boat-DVQBNkk5.cjs} +1 -1
- package/dist/{boat-BEq-AHmL.cjs.map → boat-DVQBNkk5.cjs.map} +1 -1
- 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-D-ucQFSB.js → busy--bNb42rM.js} +1 -1
- package/dist/{busy-D-ucQFSB.js.map → busy--bNb42rM.js.map} +1 -1
- package/dist/{busy-CKpIblIO.cjs → busy-DuxFvEkY.cjs} +1 -1
- package/dist/{busy-CKpIblIO.cjs.map → busy-DuxFvEkY.cjs.map} +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/{button-BU-X0a0S.js → button-B7b9L_h5.js} +26 -187
- package/dist/button-B7b9L_h5.js.map +1 -0
- package/dist/{button-HzLpB3NP.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-CcrUlgd3.cjs → card-DZPd24Sn.cjs} +1 -1
- package/dist/{card-CcrUlgd3.cjs.map → card-DZPd24Sn.cjs.map} +1 -1
- package/dist/{card-ueXBeJ6q.js → card-ixzxOW-Q.js} +1 -1
- package/dist/{card-ueXBeJ6q.js.map → card-ixzxOW-Q.js.map} +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-qsp-I5C6.cjs → checkbox-Bi_Fm2mf.cjs} +1 -1
- package/dist/{checkbox-qsp-I5C6.cjs.map → checkbox-Bi_Fm2mf.cjs.map} +1 -1
- package/dist/{checkbox-CW1kk4Tu.js → checkbox-DdGpepTh.js} +1 -1
- package/dist/{checkbox-CW1kk4Tu.js.map → checkbox-DdGpepTh.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-C_F6-gfe.js → chips-DLTynyVB.js} +3 -3
- package/dist/{chips-C_F6-gfe.js.map → chips-DLTynyVB.js.map} +1 -1
- package/dist/{chips-Dluk6RV4.cjs → chips-DWQMZErr.cjs} +1 -1
- package/dist/{chips-Dluk6RV4.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-BFOqXAI2.cjs → date-range-BgGQyxOC.cjs} +1 -1
- package/dist/{date-range-BFOqXAI2.cjs.map → date-range-BgGQyxOC.cjs.map} +1 -1
- package/dist/{date-range-ASZ8h_Il.js → date-range-CT6ckjmV.js} +2 -2
- package/dist/{date-range-ASZ8h_Il.js.map → date-range-CT6ckjmV.js.map} +1 -1
- package/dist/{date-range-inline-DHrgolLn.js → date-range-inline-Ho3CENTh.js} +1 -1
- package/dist/{date-range-inline-DHrgolLn.js.map → date-range-inline-Ho3CENTh.js.map} +1 -1
- package/dist/{date-range-inline-BNmNOpL0.cjs → date-range-inline-nPWIs-3C.cjs} +1 -1
- package/dist/{date-range-inline-BNmNOpL0.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-Bx9c4XQR.cjs → details-BnRWMZdt.cjs} +1 -1
- package/dist/{details-Bx9c4XQR.cjs.map → details-BnRWMZdt.cjs.map} +1 -1
- package/dist/{details-B9RgRw6c.js → details-CcMTvYo7.js} +2 -2
- package/dist/{details-B9RgRw6c.js.map → details-CcMTvYo7.js.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{directives-Dq0zi2KR.cjs → directives-BkSqmLBV.cjs} +11 -11
- package/dist/directives-BkSqmLBV.cjs.map +1 -0
- package/dist/{directives-sWKTEJDb.js → directives-DgPbz0lQ.js} +116 -153
- 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-DH0BvTOv.cjs → divider-C6yJSL1c.cjs} +1 -1
- package/dist/{divider-DH0BvTOv.cjs.map → divider-C6yJSL1c.cjs.map} +1 -1
- package/dist/{divider-C7BtzDcK.js → divider-CZCj0ioH.js} +1 -1
- package/dist/{divider-C7BtzDcK.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-DcMx9dHY.js → expand-Cc6ogXsR.js} +2 -2
- package/dist/{expand-DcMx9dHY.js.map → expand-Cc6ogXsR.js.map} +1 -1
- package/dist/{expand-CPMF44eL.cjs → expand-D4EhwOYh.cjs} +1 -1
- package/dist/{expand-CPMF44eL.cjs.map → expand-D4EhwOYh.cjs.map} +1 -1
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/{float-CgBN4H3g.cjs → float-B8EPc_OG.cjs} +1 -1
- package/dist/{float-CgBN4H3g.cjs.map → float-B8EPc_OG.cjs.map} +1 -1
- package/dist/{float-DkUw5TN4.js → float-BvI3HTtB.js} +1 -1
- package/dist/{float-DkUw5TN4.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-DxApnyVx.cjs.map → form-C4eFgFwF.cjs.map} +1 -1
- package/dist/{form-kSgJf_h4.js → form-CGe9rVox.js} +8 -8
- package/dist/{form-kSgJf_h4.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-DsfpmrVO.js → icon-B1eZr2ZL.js} +1 -1
- package/dist/icon-B1eZr2ZL.js.map +1 -0
- package/dist/{icons-3F1nQAn_.cjs → icon-CgIXAvKI.cjs} +1 -1
- package/dist/{icons-DsfpmrVO.js.map → icon-CgIXAvKI.cjs.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{iframe-sTXBw6zB.cjs → iframe-BO3BpRLH.cjs} +1 -1
- package/dist/{iframe-sTXBw6zB.cjs.map → iframe-BO3BpRLH.cjs.map} +1 -1
- package/dist/{iframe-KrV4Cak-.js → iframe-CmpAZc61.js} +1 -1
- package/dist/{iframe-KrV4Cak-.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-DMoggdSN.cjs → input-5YL2oUBr.cjs} +1 -1
- package/dist/{input-DMoggdSN.cjs.map → input-5YL2oUBr.cjs.map} +1 -1
- package/dist/{input-zj3eaZM_.js → input-_Hft9vov.js} +1 -1
- package/dist/{input-zj3eaZM_.js.map → input-_Hft9vov.js.map} +1 -1
- package/dist/{input-chip-DHbfUatc.js → input-chip-BNTojQT6.js} +1 -1
- package/dist/{input-chip-DHbfUatc.js.map → input-chip-BNTojQT6.js.map} +1 -1
- package/dist/{input-chip-B1iNQW2m.cjs → input-chip-DKMNpcED.cjs} +1 -1
- package/dist/{input-chip-B1iNQW2m.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-CAcXlJlv.js → lightbox-CKlYcnHV.js} +1 -1
- package/dist/{lightbox-CAcXlJlv.js.map → lightbox-CKlYcnHV.js.map} +1 -1
- package/dist/{lightbox-86F2RgXy.cjs → lightbox-t4dvb8_A.cjs} +1 -1
- package/dist/{lightbox-86F2RgXy.cjs.map → lightbox-t4dvb8_A.cjs.map} +1 -1
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/{list-CUbI0RM6.cjs → list-21mWtDKg.cjs} +4 -4
- package/dist/list-21mWtDKg.cjs.map +1 -0
- package/dist/{list-BIjJ6T1c.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-CtFcvxgU.js → menu-CjOgPSOG.js} +2 -2
- package/dist/{menu-CtFcvxgU.js.map → menu-CjOgPSOG.js.map} +1 -1
- package/dist/{menu-DGMrjR_a.cjs → menu-Cu5G4vcR.cjs} +1 -1
- package/dist/{menu-DGMrjR_a.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-C3UyYQi_.js → option-BWfmDJvm.js} +1 -1
- package/dist/{option-C3UyYQi_.js.map → option-BWfmDJvm.js.map} +1 -1
- package/dist/{option-DJ3R-2Wn.cjs → option-DejeqOad.cjs} +1 -1
- package/dist/{option-DJ3R-2Wn.cjs.map → option-DejeqOad.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{overlay-D1hFkcFA.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-CY-UbvOB.cjs → progress-6_rb3Ah9.cjs} +1 -1
- package/dist/{progress-CY-UbvOB.cjs.map → progress-6_rb3Ah9.cjs.map} +1 -1
- package/dist/{progress-YjdEWDI5.js → progress-CFcmO0wv.js} +1 -1
- package/dist/{progress-YjdEWDI5.js.map → progress-CFcmO0wv.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-group-aKXKHqUp.js → radio-group-Bd8y9QpX.js} +1 -1
- package/dist/{radio-group-aKXKHqUp.js.map → radio-group-Bd8y9QpX.js.map} +1 -1
- package/dist/{radio-group--UamzqAm.cjs → radio-group-_WZg8EKM.cjs} +1 -1
- package/dist/{radio-group--UamzqAm.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-CIquL8LY.cjs → select-BaioT3yY.cjs} +2 -2
- package/dist/{select-CIquL8LY.cjs.map → select-BaioT3yY.cjs.map} +1 -1
- package/dist/{select-B0Qk4PfT.js → select-Czpl1ztD.js} +3 -3
- package/dist/{select-B0Qk4PfT.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-rg56AXCf.cjs → splash-screen-3FtgdVy3.cjs} +1 -1
- package/dist/{splash-screen-rg56AXCf.cjs.map → splash-screen-3FtgdVy3.cjs.map} +1 -1
- package/dist/{splash-screen-CP_Idse2.js → splash-screen-YtTVkJg8.js} +1 -1
- package/dist/{splash-screen-CP_Idse2.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-BAaNnqwc.cjs → src-0LIdvAX6.cjs} +8 -8
- package/dist/{src-BAaNnqwc.cjs.map → src-0LIdvAX6.cjs.map} +1 -1
- package/dist/{src-Do0IGupa.js → src-BJHws7IS.js} +37 -37
- package/dist/{src-Do0IGupa.js.map → src-BJHws7IS.js.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-B7a2O5-9.cjs → surface-BNvxLEDN.cjs} +1 -1
- package/dist/surface-BNvxLEDN.cjs.map +1 -0
- package/dist/{surface-DGewe6IV.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-g2aM43TH.js → tabs-CnPXvZuZ.js} +1 -1
- package/dist/{tabs-g2aM43TH.js.map → tabs-CnPXvZuZ.js.map} +1 -1
- package/dist/{tabs-n4dO5fo1.cjs → tabs-DTU7748z.cjs} +1 -1
- package/dist/{tabs-n4dO5fo1.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-DDx_7AfQ.cjs → textarea-Bqth6Q8P.cjs} +1 -1
- package/dist/{textarea-DDx_7AfQ.cjs.map → textarea-Bqth6Q8P.cjs.map} +1 -1
- package/dist/{textarea-D5hw4jsP.js → textarea-mQPsppmd.js} +1 -1
- package/dist/{textarea-D5hw4jsP.js.map → textarea-mQPsppmd.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-BMYkheaA.js → theme-BJqpv4cG.js} +2 -2
- package/dist/{theme-BMYkheaA.js.map → theme-BJqpv4cG.js.map} +1 -1
- package/dist/{theme-BdZAj0CO.cjs → theme-D4HGKt7N.cjs} +1 -1
- package/dist/{theme-BdZAj0CO.cjs.map → theme-D4HGKt7N.cjs.map} +1 -1
- package/dist/{theme-button-DdI6kxY3.js → theme-button-Jap7G_IH.js} +1 -1
- package/dist/{theme-button-DdI6kxY3.js.map → theme-button-Jap7G_IH.js.map} +1 -1
- package/dist/{theme-button-R2f_kLEl.cjs → theme-button-LP-Dgr17.cjs} +1 -1
- package/dist/{theme-button-R2f_kLEl.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-LOGPpN8K.cjs → window-CNu_WnsY.cjs} +1 -1
- package/dist/{window-LOGPpN8K.cjs.map → window-CNu_WnsY.cjs.map} +1 -1
- package/dist/{window-MQxhTodp.js → window-DZTjkE24.js} +1 -1
- package/dist/{window-MQxhTodp.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/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/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-DJrL6tio.js +0 -2859
- package/dist/agent/overlay.confirm-body-DJrL6tio.js.map +0 -1
- package/dist/button-BU-X0a0S.js.map +0 -1
- package/dist/button-HzLpB3NP.cjs.map +0 -1
- package/dist/directives-Dq0zi2KR.cjs.map +0 -1
- package/dist/directives-sWKTEJDb.js.map +0 -1
- package/dist/form-DxApnyVx.cjs +0 -42
- package/dist/icons-3F1nQAn_.cjs.map +0 -1
- package/dist/list-BIjJ6T1c.js.map +0 -1
- package/dist/list-CUbI0RM6.cjs.map +0 -1
- package/dist/mixins-CKbQ6BJo.js +0 -642
- package/dist/mixins-CKbQ6BJo.js.map +0 -1
- package/dist/mixins-DSy-enUd.cjs +0 -254
- package/dist/mixins-DSy-enUd.cjs.map +0 -1
- package/dist/notification-BqyMYtP7.js +0 -306
- package/dist/notification-BqyMYtP7.js.map +0 -1
- package/dist/notification-D5eOdsMT.cjs +0 -23
- package/dist/notification-D5eOdsMT.cjs.map +0 -1
- package/dist/overlay-D1hFkcFA.js.map +0 -1
- package/dist/overlay-D7nQaT5U.cjs +0 -81
- package/dist/overlay-D7nQaT5U.cjs.map +0 -1
- package/dist/overlay.confirm-body-B4eCDLmU.js +0 -100
- package/dist/overlay.confirm-body-B4eCDLmU.js.map +0 -1
- package/dist/overlay.confirm-body-P18SmJL2.cjs +0 -45
- package/dist/overlay.confirm-body-P18SmJL2.cjs.map +0 -1
- package/dist/overlay.service-02ZLZ8Ib.js +0 -146
- package/dist/overlay.service-02ZLZ8Ib.js.map +0 -1
- package/dist/overlay.service-m-8omCA-.cjs +0 -1
- package/dist/overlay.service-m-8omCA-.cjs.map +0 -1
- package/dist/surface-B7a2O5-9.cjs.map +0 -1
- package/dist/surface-DGewe6IV.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
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { fromEvent } from 'rxjs'
|
|
1
2
|
import { $sounds, type Feeling } from '../audio'
|
|
2
3
|
import SchmancyNotification, { NotificationType } from './notification'
|
|
3
4
|
|
|
@@ -19,230 +20,62 @@ const typeToFeeling: Record<NotificationType, Feeling> = {
|
|
|
19
20
|
error: 'disappointed',
|
|
20
21
|
}
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
const typeDurations: Record<NotificationType, number> = {
|
|
24
|
+
success: 1500,
|
|
25
|
+
info: 2000,
|
|
26
|
+
warning: 2500,
|
|
27
|
+
error: 2500,
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
$sounds.setVolume(0.1)
|
|
24
31
|
|
|
25
|
-
//
|
|
32
|
+
// Track last mouse position via RxJS
|
|
33
|
+
let lastClickPosition = { x: window.innerWidth - 100, y: 50 }
|
|
26
34
|
if (typeof window !== 'undefined') {
|
|
27
|
-
window.
|
|
28
|
-
|
|
29
|
-
(e: MouseEvent) => {
|
|
35
|
+
fromEvent<MouseEvent>(window, 'mousedown', { capture: true, passive: true } as AddEventListenerOptions).subscribe(
|
|
36
|
+
e => {
|
|
30
37
|
lastClickPosition = { x: e.clientX, y: e.clientY }
|
|
31
38
|
},
|
|
32
|
-
{ capture: true, passive: true },
|
|
33
39
|
)
|
|
34
40
|
}
|
|
35
41
|
|
|
36
|
-
// Track current notification element
|
|
37
42
|
let currentNotification: SchmancyNotification | null = null
|
|
43
|
+
const notificationStack: string[] = []
|
|
38
44
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
*/
|
|
43
|
-
export class NotificationService {
|
|
44
|
-
private static instance: NotificationService
|
|
45
|
-
private notificationStack: string[] = []
|
|
46
|
-
private audioVolume = 0.1
|
|
47
|
-
|
|
48
|
-
// Default notification options
|
|
49
|
-
private static DEFAULT_OPTIONS: Partial<NotificationOptions> = {
|
|
50
|
-
duration: 1000, // 1 seconds - long enough to be readable
|
|
51
|
-
closable: true,
|
|
52
|
-
playSound: true,
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// Type-specific default durations (in milliseconds)
|
|
56
|
-
private static TYPE_DURATIONS: Record<NotificationType, number> = {
|
|
57
|
-
success: 1500, // 1.5 seconds - quick confirmation
|
|
58
|
-
info: 2000, // 2 seconds - informational
|
|
59
|
-
warning: 2500, // 2.5 seconds - needs attention
|
|
60
|
-
error: 2500, // 2.5 seconds - important
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// Private constructor for singleton pattern
|
|
64
|
-
private constructor() {
|
|
65
|
-
$sounds.setVolume(this.audioVolume)
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Get the singleton instance
|
|
70
|
-
*/
|
|
71
|
-
public static getInstance(): NotificationService {
|
|
72
|
-
if (!NotificationService.instance) {
|
|
73
|
-
NotificationService.instance = new NotificationService()
|
|
74
|
-
}
|
|
75
|
-
return NotificationService.instance
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Show a notification
|
|
80
|
-
* @returns The ID of the created notification
|
|
81
|
-
*/
|
|
82
|
-
public notify(options: NotificationOptions): string {
|
|
83
|
-
// Apply default options
|
|
84
|
-
const completeOptions = {
|
|
85
|
-
...NotificationService.DEFAULT_OPTIONS,
|
|
86
|
-
...options,
|
|
87
|
-
// Override with duraton from options if provided, otherwise use default
|
|
88
|
-
duration: options.duration ?? NotificationService.DEFAULT_OPTIONS.duration,
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
const id = completeOptions.id || `notification-${Date.now()}-${Math.floor(Math.random() * 10000)}`
|
|
92
|
-
|
|
93
|
-
// Add to stack for tracking
|
|
94
|
-
this.notificationStack.push(id)
|
|
95
|
-
|
|
96
|
-
// Remove existing notification if any (only 1 at a time)
|
|
97
|
-
if (currentNotification) {
|
|
98
|
-
currentNotification.remove()
|
|
99
|
-
currentNotification = null
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
// Create the notification element directly
|
|
103
|
-
const notification = document.createElement('sch-notification') as SchmancyNotification
|
|
104
|
-
notification.id = id
|
|
105
|
-
notification.title = completeOptions.title || ''
|
|
106
|
-
notification.message = completeOptions.message
|
|
107
|
-
notification.type = completeOptions.type || 'info'
|
|
108
|
-
notification.duration = completeOptions.duration ?? 1000
|
|
109
|
-
notification.closable = completeOptions.closable !== false
|
|
110
|
-
notification.playSound = false // We handle sound here
|
|
111
|
-
notification.showProgress = completeOptions.showProgress || false
|
|
112
|
-
notification.startPosition = { ...lastClickPosition }
|
|
113
|
-
|
|
114
|
-
// Play sound if enabled
|
|
115
|
-
if (completeOptions.playSound !== false) {
|
|
116
|
-
$sounds.play(typeToFeeling[notification.type])
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
// Listen for close event
|
|
120
|
-
notification.addEventListener('close', () => {
|
|
121
|
-
const index = this.notificationStack.indexOf(id)
|
|
122
|
-
if (index > -1) {
|
|
123
|
-
this.notificationStack.splice(index, 1)
|
|
124
|
-
}
|
|
125
|
-
notification.remove()
|
|
126
|
-
if (currentNotification === notification) {
|
|
127
|
-
currentNotification = null
|
|
128
|
-
}
|
|
129
|
-
})
|
|
130
|
-
|
|
131
|
-
// Append to body
|
|
132
|
-
document.body.appendChild(notification)
|
|
133
|
-
currentNotification = notification
|
|
134
|
-
|
|
135
|
-
return id
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* Dismiss a notification
|
|
140
|
-
* @param id Optional notification ID. If not provided, dismisses the most recent notification
|
|
141
|
-
*/
|
|
142
|
-
public dismiss(id?: string): void {
|
|
143
|
-
let targetId: string | undefined
|
|
144
|
-
|
|
145
|
-
if (id) {
|
|
146
|
-
// Remove specific notification from stack
|
|
147
|
-
const index = this.notificationStack.indexOf(id)
|
|
148
|
-
if (index > -1) {
|
|
149
|
-
this.notificationStack.splice(index, 1)
|
|
150
|
-
targetId = id
|
|
151
|
-
}
|
|
152
|
-
} else {
|
|
153
|
-
// Remove most recent notification (last in stack)
|
|
154
|
-
targetId = this.notificationStack.pop()
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
if (targetId && currentNotification && currentNotification.id === targetId) {
|
|
158
|
-
currentNotification.close()
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Update a notification's content
|
|
164
|
-
*/
|
|
165
|
-
public update(id: string, options: Partial<NotificationOptions>): void {
|
|
166
|
-
if (currentNotification && currentNotification.id === id) {
|
|
167
|
-
if (options.title !== undefined) currentNotification.title = options.title
|
|
168
|
-
if (options.message !== undefined) currentNotification.message = options.message
|
|
169
|
-
if (options.type !== undefined) currentNotification.type = options.type
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* Show an info notification
|
|
175
|
-
*/
|
|
176
|
-
public info(message?: string, options: Partial<Omit<NotificationOptions, 'message' | 'type'>> = {}): string {
|
|
177
|
-
return this.notify({
|
|
178
|
-
message: message ?? '',
|
|
179
|
-
type: 'info',
|
|
180
|
-
duration: message ? (options.duration ?? NotificationService.TYPE_DURATIONS.info) : 1,
|
|
181
|
-
...options,
|
|
182
|
-
})
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
/**
|
|
186
|
-
* Show a success notification
|
|
187
|
-
*/
|
|
188
|
-
public success(message?: string, options: Partial<Omit<NotificationOptions, 'message' | 'type'>> = {}): string {
|
|
189
|
-
return this.notify({
|
|
190
|
-
message: message ?? '',
|
|
191
|
-
type: 'success',
|
|
192
|
-
duration: message ? (options.duration ?? NotificationService.TYPE_DURATIONS.success) : 1,
|
|
193
|
-
...options,
|
|
194
|
-
})
|
|
195
|
-
}
|
|
45
|
+
function show(options: NotificationOptions): string {
|
|
46
|
+
const id = options.id ?? `notification-${Date.now()}-${Math.floor(Math.random() * 10000)}`
|
|
47
|
+
notificationStack.push(id)
|
|
196
48
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
public warning(message?: string, options: Partial<Omit<NotificationOptions, 'message' | 'type'>> = {}): string {
|
|
201
|
-
return this.notify({
|
|
202
|
-
message: message ?? '',
|
|
203
|
-
type: 'warning',
|
|
204
|
-
duration: message ? (options.duration ?? NotificationService.TYPE_DURATIONS.warning) : 1,
|
|
205
|
-
...options,
|
|
206
|
-
})
|
|
49
|
+
if (currentNotification) {
|
|
50
|
+
currentNotification.remove()
|
|
51
|
+
currentNotification = null
|
|
207
52
|
}
|
|
208
53
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
54
|
+
const notification = document.createElement('sch-notification') as SchmancyNotification
|
|
55
|
+
notification.id = id
|
|
56
|
+
notification.title = options.title ?? ''
|
|
57
|
+
notification.message = options.message
|
|
58
|
+
notification.type = options.type ?? 'info'
|
|
59
|
+
notification.duration = options.duration ?? 1000
|
|
60
|
+
notification.closable = options.closable !== false
|
|
61
|
+
notification.playSound = false
|
|
62
|
+
notification.showProgress = options.showProgress ?? false
|
|
63
|
+
notification.startPosition = { ...lastClickPosition }
|
|
64
|
+
|
|
65
|
+
if (options.playSound !== false) {
|
|
66
|
+
$sounds.play(typeToFeeling[notification.type])
|
|
219
67
|
}
|
|
220
68
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
options: Partial<Omit<NotificationOptions, 'message' | 'duration'>> = {},
|
|
228
|
-
): string {
|
|
229
|
-
return this.notify({
|
|
230
|
-
message,
|
|
231
|
-
duration,
|
|
232
|
-
...options,
|
|
233
|
-
})
|
|
234
|
-
}
|
|
69
|
+
fromEvent(notification, 'close').subscribe(() => {
|
|
70
|
+
const index = notificationStack.indexOf(id)
|
|
71
|
+
if (index > -1) notificationStack.splice(index, 1)
|
|
72
|
+
notification.remove()
|
|
73
|
+
if (currentNotification === notification) currentNotification = null
|
|
74
|
+
})
|
|
235
75
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
public persistent(message: string, options: Partial<Omit<NotificationOptions, 'message' | 'duration'>> = {}): string {
|
|
240
|
-
return this.notify({
|
|
241
|
-
message,
|
|
242
|
-
duration: 0, // Zero duration means no auto-close
|
|
243
|
-
...options,
|
|
244
|
-
})
|
|
245
|
-
}
|
|
76
|
+
document.body.appendChild(notification)
|
|
77
|
+
currentNotification = notification
|
|
78
|
+
return id
|
|
246
79
|
}
|
|
247
80
|
|
|
248
81
|
/**
|
|
@@ -259,74 +92,59 @@ export class NotificationService {
|
|
|
259
92
|
* @method warning(message, options?) - Amber warning toast.
|
|
260
93
|
*/
|
|
261
94
|
export const $notify = {
|
|
262
|
-
|
|
263
|
-
* Show a notification
|
|
264
|
-
*/
|
|
265
|
-
show: (options: NotificationOptions): string => {
|
|
266
|
-
return NotificationService.getInstance().notify(options)
|
|
267
|
-
},
|
|
95
|
+
show,
|
|
268
96
|
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
97
|
+
info: (message?: string, options: Partial<Omit<NotificationOptions, 'message' | 'type'>> = {}): string =>
|
|
98
|
+
show({
|
|
99
|
+
message: message ?? '',
|
|
100
|
+
type: 'info',
|
|
101
|
+
duration: message ? (options.duration ?? typeDurations.info) : 1,
|
|
102
|
+
...options,
|
|
103
|
+
}),
|
|
275
104
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
105
|
+
success: (message?: string, options: Partial<Omit<NotificationOptions, 'message' | 'type'>> = {}): string =>
|
|
106
|
+
show({
|
|
107
|
+
message: message ?? '',
|
|
108
|
+
type: 'success',
|
|
109
|
+
duration: message ? (options.duration ?? typeDurations.success) : 1,
|
|
110
|
+
...options,
|
|
111
|
+
}),
|
|
282
112
|
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
113
|
+
warning: (message?: string, options: Partial<Omit<NotificationOptions, 'message' | 'type'>> = {}): string =>
|
|
114
|
+
show({
|
|
115
|
+
message: message ?? '',
|
|
116
|
+
type: 'warning',
|
|
117
|
+
duration: message ? (options.duration ?? typeDurations.warning) : 1,
|
|
118
|
+
...options,
|
|
119
|
+
}),
|
|
289
120
|
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
121
|
+
error: (message?: string, options: Partial<Omit<NotificationOptions, 'message' | 'type'>> = {}): string =>
|
|
122
|
+
show({
|
|
123
|
+
message: message ?? '',
|
|
124
|
+
type: 'error',
|
|
125
|
+
duration: message ? (options.duration ?? typeDurations.error) : 1,
|
|
126
|
+
...options,
|
|
127
|
+
}),
|
|
296
128
|
|
|
297
|
-
/**
|
|
298
|
-
* Show a notification with a custom duration
|
|
299
|
-
* @param message The notification message
|
|
300
|
-
* @param duration Duration in milliseconds before auto-dismissing (0 for no auto-dismiss)
|
|
301
|
-
* @param options Additional notification options
|
|
302
|
-
*/
|
|
303
129
|
customDuration: (
|
|
304
130
|
message: string,
|
|
305
131
|
duration: number,
|
|
306
132
|
options: Partial<Omit<NotificationOptions, 'message' | 'duration'>> = {},
|
|
307
|
-
): string => {
|
|
308
|
-
return NotificationService.getInstance().customDuration(message, duration, options)
|
|
309
|
-
},
|
|
133
|
+
): string => show({ message, duration, ...options }),
|
|
310
134
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
*/
|
|
314
|
-
persistent: (message: string, options: Partial<Omit<NotificationOptions, 'message' | 'duration'>> = {}): string => {
|
|
315
|
-
return NotificationService.getInstance().persistent(message, options)
|
|
316
|
-
},
|
|
135
|
+
persistent: (message: string, options: Partial<Omit<NotificationOptions, 'message' | 'duration'>> = {}): string =>
|
|
136
|
+
show({ message, duration: 0, ...options }),
|
|
317
137
|
|
|
318
|
-
/**
|
|
319
|
-
* Dismiss a notification
|
|
320
|
-
* @param id Optional notification ID. If not provided, dismisses the most recent notification (queue-like behavior)
|
|
321
|
-
*/
|
|
322
138
|
dismiss: (id?: string): void => {
|
|
323
|
-
|
|
139
|
+
const targetId = id ? (notificationStack.splice(notificationStack.indexOf(id), 1)[0]) : notificationStack.pop()
|
|
140
|
+
if (targetId && currentNotification?.id === targetId) currentNotification.close()
|
|
324
141
|
},
|
|
325
142
|
|
|
326
|
-
/**
|
|
327
|
-
* Update a notification's content
|
|
328
|
-
*/
|
|
329
143
|
update: (id: string, options: Partial<NotificationOptions>): void => {
|
|
330
|
-
|
|
144
|
+
if (currentNotification?.id !== id) return
|
|
145
|
+
if (options.title !== undefined) currentNotification.title = options.title
|
|
146
|
+
if (options.message !== undefined) currentNotification.message = options.message
|
|
147
|
+
if (options.type !== undefined) currentNotification.type = options.type
|
|
331
148
|
},
|
|
332
149
|
}
|
|
150
|
+
|
|
@@ -5,112 +5,155 @@
|
|
|
5
5
|
.notification {
|
|
6
6
|
position: relative;
|
|
7
7
|
display: flex;
|
|
8
|
-
align-items:
|
|
9
|
-
|
|
10
|
-
padding: 12px;
|
|
11
|
-
padding-right: 32px;
|
|
12
|
-
background: var(--schmancy-sys-color-surface-container);
|
|
13
|
-
border-radius: var(--schmancy-sys-shape-corner-extraLarge, 16px);
|
|
14
|
-
color: var(--schmancy-sys-color-surface-on);
|
|
15
|
-
max-width: 320px;
|
|
8
|
+
align-items: stretch;
|
|
9
|
+
max-width: 360px;
|
|
16
10
|
overflow: hidden;
|
|
17
11
|
|
|
18
|
-
/*
|
|
12
|
+
/* Asymmetric radius: 4px left, 14px right */
|
|
13
|
+
border-radius: 4px 14px 14px 4px;
|
|
14
|
+
outline: 1px solid color-mix(in srgb, var(--schmancy-sys-color-outline-variant) 50%, transparent);
|
|
15
|
+
|
|
16
|
+
background: linear-gradient(
|
|
17
|
+
180deg,
|
|
18
|
+
color-mix(in srgb, var(--schmancy-sys-color-surface-container) 100%, transparent),
|
|
19
|
+
color-mix(in srgb, var(--schmancy-sys-color-surface-containerHigh) 100%, transparent)
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
color: var(--schmancy-sys-color-surface-on);
|
|
23
|
+
|
|
24
|
+
/* Type-colored luminous glow — tightened */
|
|
19
25
|
--notification-glow-color: var(--schmancy-sys-color-primary-default);
|
|
20
|
-
box-shadow:
|
|
26
|
+
box-shadow:
|
|
27
|
+
0 6px 28px -10px color-mix(in srgb, var(--notification-glow-color) 22%, transparent),
|
|
28
|
+
0 1px 0 0 color-mix(in srgb, var(--schmancy-sys-color-outline-variant) 30%, transparent);
|
|
21
29
|
|
|
22
30
|
transition:
|
|
23
31
|
box-shadow 300ms ease,
|
|
24
32
|
transform 300ms cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
25
33
|
|
|
26
|
-
&.info {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
&.info {
|
|
35
|
+
--notification-glow-color: var(--schmancy-sys-color-primary-default);
|
|
36
|
+
--notification-accent: var(--schmancy-sys-color-primary-default);
|
|
37
|
+
}
|
|
38
|
+
&.success {
|
|
39
|
+
--notification-glow-color: var(--schmancy-sys-color-success-default);
|
|
40
|
+
--notification-accent: var(--schmancy-sys-color-success-default);
|
|
41
|
+
}
|
|
42
|
+
&.warning {
|
|
43
|
+
--notification-glow-color: var(--schmancy-sys-color-tertiary-default);
|
|
44
|
+
--notification-accent: var(--schmancy-sys-color-tertiary-default);
|
|
45
|
+
}
|
|
46
|
+
&.error {
|
|
47
|
+
--notification-glow-color: var(--schmancy-sys-color-error-default);
|
|
48
|
+
--notification-accent: var(--schmancy-sys-color-error-default);
|
|
49
|
+
}
|
|
30
50
|
|
|
31
51
|
&.hovered {
|
|
32
|
-
box-shadow:
|
|
52
|
+
box-shadow:
|
|
53
|
+
0 10px 36px -8px color-mix(in srgb, var(--notification-glow-color) 34%, transparent),
|
|
54
|
+
0 1px 0 0 color-mix(in srgb, var(--schmancy-sys-color-outline-variant) 30%, transparent);
|
|
33
55
|
transform: translateY(-2px);
|
|
56
|
+
|
|
57
|
+
.accent-rail {
|
|
58
|
+
width: 4px;
|
|
59
|
+
}
|
|
34
60
|
}
|
|
35
61
|
|
|
36
62
|
@media (prefers-reduced-motion: reduce) {
|
|
37
63
|
transition: box-shadow 200ms ease;
|
|
38
|
-
|
|
64
|
+
|
|
65
|
+
&.hovered {
|
|
66
|
+
transform: none;
|
|
67
|
+
}
|
|
39
68
|
}
|
|
40
69
|
}
|
|
41
70
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
line-height: 1;
|
|
71
|
+
/* Vertical accent rail — left edge */
|
|
72
|
+
.accent-rail {
|
|
45
73
|
flex-shrink: 0;
|
|
46
|
-
|
|
74
|
+
width: 3px;
|
|
75
|
+
background: var(--notification-accent, var(--schmancy-sys-color-primary-default));
|
|
76
|
+
border-radius: 4px 0 0 4px;
|
|
77
|
+
transition: width 200ms ease;
|
|
78
|
+
align-self: stretch;
|
|
47
79
|
}
|
|
48
80
|
|
|
81
|
+
/* Card body */
|
|
49
82
|
.content {
|
|
50
83
|
flex: 1;
|
|
51
84
|
min-width: 0;
|
|
85
|
+
padding: 14px 36px 14px 18px;
|
|
52
86
|
}
|
|
53
87
|
|
|
88
|
+
/* Monospace uppercase type tag */
|
|
89
|
+
.type-tag {
|
|
90
|
+
display: block;
|
|
91
|
+
font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace;
|
|
92
|
+
font-size: 10px;
|
|
93
|
+
letter-spacing: 0.14em;
|
|
94
|
+
text-transform: uppercase;
|
|
95
|
+
opacity: 0.7;
|
|
96
|
+
color: var(--notification-accent, var(--schmancy-sys-color-primary-default));
|
|
97
|
+
margin-bottom: 4px;
|
|
98
|
+
line-height: 1;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/* Serif display title */
|
|
54
102
|
.title {
|
|
103
|
+
font-family: ui-serif, Georgia, Cambria, 'Times New Roman', serif;
|
|
55
104
|
font-weight: 500;
|
|
56
|
-
font-size:
|
|
57
|
-
line-height: 1.
|
|
58
|
-
margin-bottom:
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
.info & {
|
|
62
|
-
color: var(--schmancy-sys-color-primary-default);
|
|
63
|
-
}
|
|
64
|
-
.success & {
|
|
65
|
-
color: var(--schmancy-sys-color-success-default);
|
|
66
|
-
}
|
|
67
|
-
.warning & {
|
|
68
|
-
color: var(--schmancy-sys-color-tertiary-default);
|
|
69
|
-
}
|
|
70
|
-
.error & {
|
|
71
|
-
color: var(--schmancy-sys-color-error-default);
|
|
72
|
-
}
|
|
105
|
+
font-size: 15px;
|
|
106
|
+
line-height: 1.3;
|
|
107
|
+
margin-bottom: 3px;
|
|
108
|
+
color: var(--schmancy-sys-color-surface-on);
|
|
73
109
|
}
|
|
74
110
|
|
|
111
|
+
/* Body message */
|
|
75
112
|
.message {
|
|
113
|
+
font-family: ui-sans-serif, system-ui, -apple-system, sans-serif;
|
|
76
114
|
font-size: 13px;
|
|
77
|
-
line-height: 1.
|
|
78
|
-
opacity: 0.
|
|
79
|
-
letter-spacing: 0.01em;
|
|
115
|
+
line-height: 1.45;
|
|
116
|
+
opacity: 0.72;
|
|
80
117
|
}
|
|
81
118
|
|
|
119
|
+
/* Close button — 28×28 hit target, × glyph */
|
|
82
120
|
.close {
|
|
83
121
|
position: absolute;
|
|
84
|
-
top:
|
|
122
|
+
top: 6px;
|
|
85
123
|
right: 6px;
|
|
124
|
+
width: 28px;
|
|
125
|
+
height: 28px;
|
|
126
|
+
display: flex;
|
|
127
|
+
align-items: center;
|
|
128
|
+
justify-content: center;
|
|
86
129
|
background: none;
|
|
87
130
|
border: none;
|
|
88
|
-
font-size:
|
|
89
|
-
font-weight:
|
|
131
|
+
font-size: 18px;
|
|
132
|
+
font-weight: 400;
|
|
90
133
|
color: var(--schmancy-sys-color-surface-onVariant);
|
|
91
134
|
cursor: pointer;
|
|
92
|
-
padding:
|
|
135
|
+
padding: 0;
|
|
93
136
|
line-height: 1;
|
|
94
137
|
opacity: 0.4;
|
|
95
|
-
border-radius:
|
|
138
|
+
border-radius: 50%;
|
|
96
139
|
transition: opacity 200ms ease;
|
|
97
140
|
|
|
98
141
|
&:hover {
|
|
99
|
-
opacity: 0.
|
|
142
|
+
opacity: 0.85;
|
|
100
143
|
}
|
|
101
144
|
|
|
102
145
|
&:focus-visible {
|
|
103
146
|
outline: none;
|
|
104
147
|
opacity: 1;
|
|
105
|
-
box-shadow:
|
|
106
|
-
0 0 0 2px var(--schmancy-sys-color-primary-default),
|
|
107
|
-
0 0 8px -2px color-mix(in srgb, var(--schmancy-sys-color-primary-default) 25%, transparent);
|
|
148
|
+
box-shadow: 0 0 0 2px var(--notification-accent, var(--schmancy-sys-color-primary-default));
|
|
108
149
|
}
|
|
109
150
|
}
|
|
110
151
|
|
|
152
|
+
/* Progress hairline — top edge */
|
|
111
153
|
.progress {
|
|
112
154
|
position: absolute;
|
|
113
|
-
|
|
155
|
+
top: 0;
|
|
156
|
+
bottom: auto;
|
|
114
157
|
left: 0;
|
|
115
158
|
right: 0;
|
|
116
159
|
}
|