@mhmo91/schmancy 0.10.23 → 0.10.25
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/dist/agent/{overlay.confirm-body-xfOh5Q28.js → overlay.confirm-body-DozUyDYx.js} +242 -242
- package/dist/agent/{overlay.confirm-body-xfOh5Q28.js.map → overlay.confirm-body-DozUyDYx.js.map} +1 -1
- package/dist/agent/schmancy.agent.js +5670 -2939
- package/dist/agent/schmancy.agent.js.map +1 -1
- package/dist/{area-Ddk7P5wD.js → area-1EG1LrkX.js} +1 -1
- package/dist/{area-Ddk7P5wD.js.map → area-1EG1LrkX.js.map} +1 -1
- package/dist/{area-Cbkt0NX4.cjs → area-DrVE5pXW.cjs} +1 -1
- package/dist/{area-Cbkt0NX4.cjs.map → area-DrVE5pXW.cjs.map} +1 -1
- package/dist/area.cjs +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-CfBFDSc3.cjs → autocomplete-6pdZxEab.cjs} +1 -1
- package/dist/{autocomplete-CfBFDSc3.cjs.map → autocomplete-6pdZxEab.cjs.map} +1 -1
- package/dist/{autocomplete-Ds3Q2cwR.js → autocomplete-nrIcCilw.js} +2 -2
- package/dist/{autocomplete-Ds3Q2cwR.js.map → autocomplete-nrIcCilw.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.cjs.map +1 -1
- package/dist/avatar.js +3 -3
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-BF5P6p_f.js → boat--fLgbDAE.js} +3 -3
- package/dist/{boat-BF5P6p_f.js.map → boat--fLgbDAE.js.map} +1 -1
- package/dist/{boat-BPN8HLzZ.cjs → boat-BIB-gPqy.cjs} +1 -1
- package/dist/{boat-BPN8HLzZ.cjs.map → boat-BIB-gPqy.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-C7ejPa-Q.cjs → busy-DVCIxBVf.cjs} +1 -1
- package/dist/{busy-C7ejPa-Q.cjs.map → busy-DVCIxBVf.cjs.map} +1 -1
- package/dist/{busy-BuACDJy6.js → busy-DshZcVZ4.js} +1 -1
- package/dist/{busy-BuACDJy6.js.map → busy-DshZcVZ4.js.map} +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/{button-C1IMGS6M.js → button-D9UJ7I6Z.js} +5 -5
- package/dist/{button-C1IMGS6M.js.map → button-D9UJ7I6Z.js.map} +1 -1
- package/dist/{button-CWNbPPq-.cjs → button-JrTMzwHY.cjs} +4 -4
- package/dist/{button-CWNbPPq-.cjs.map → button-JrTMzwHY.cjs.map} +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/{card-CgQwXO8L.js → card-BvCFuX3J.js} +2 -2
- package/dist/{card-CgQwXO8L.js.map → card-BvCFuX3J.js.map} +1 -1
- package/dist/{card-BIzaLuEg.cjs → card-CTotavhH.cjs} +1 -1
- package/dist/{card-BIzaLuEg.cjs.map → card-CTotavhH.cjs.map} +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-BAqE3sTx.cjs → checkbox-By4fFmjt.cjs} +1 -1
- package/dist/{checkbox-BAqE3sTx.cjs.map → checkbox-By4fFmjt.cjs.map} +1 -1
- package/dist/{checkbox-BNdg57Om.js → checkbox-GPsdCUbs.js} +1 -1
- package/dist/{checkbox-BNdg57Om.js.map → checkbox-GPsdCUbs.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-DnqLaOb1.js → chips-27umqnat.js} +4 -4
- package/dist/{chips-DnqLaOb1.js.map → chips-27umqnat.js.map} +1 -1
- package/dist/{chips-DS3y4Lbn.cjs → chips-BZf9sGA8.cjs} +1 -1
- package/dist/{chips-DS3y4Lbn.cjs.map → chips-BZf9sGA8.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/{cursor-glow-Cs2XLDB9.js → cursor-glow-Ah7VXSj7.js} +1 -1
- package/dist/{cursor-glow-Cs2XLDB9.js.map → cursor-glow-Ah7VXSj7.js.map} +1 -1
- package/dist/{cursor-glow-C8LgCxpI.cjs → cursor-glow-Bulq-38P.cjs} +1 -1
- package/dist/{cursor-glow-C8LgCxpI.cjs.map → cursor-glow-Bulq-38P.cjs.map} +1 -1
- package/dist/{date-range-VA1mi1N7.cjs → date-range-BJnLWCRF.cjs} +1 -1
- package/dist/{date-range-VA1mi1N7.cjs.map → date-range-BJnLWCRF.cjs.map} +1 -1
- package/dist/{date-range-inline-CAa0_4EI.cjs → date-range-inline-B6uKUliV.cjs} +1 -1
- package/dist/{date-range-inline-CAa0_4EI.cjs.map → date-range-inline-B6uKUliV.cjs.map} +1 -1
- package/dist/{date-range-inline-PeRt1iIF.js → date-range-inline-BNbbRfIA.js} +1 -1
- package/dist/{date-range-inline-PeRt1iIF.js.map → date-range-inline-BNbbRfIA.js.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/{date-range-CAqB-B0M.js → date-range-wDVHcr0u.js} +2 -2
- package/dist/{date-range-CAqB-B0M.js.map → date-range-wDVHcr0u.js.map} +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-BpFjVclg.js → details-Ckxpwacj.js} +4 -4
- package/dist/{details-BpFjVclg.js.map → details-Ckxpwacj.js.map} +1 -1
- package/dist/{details-BnXbDpt7.cjs → details-DNrWIes6.cjs} +1 -1
- package/dist/{details-BnXbDpt7.cjs.map → details-DNrWIes6.cjs.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/directives-BBMqe8x3.js +4082 -0
- package/dist/directives-BBMqe8x3.js.map +1 -0
- package/dist/directives-F15SJZUR.cjs +348 -0
- package/dist/directives-F15SJZUR.cjs.map +1 -0
- package/dist/directives.cjs +1 -99
- package/dist/directives.js +6 -1363
- package/dist/discovery.cjs +1 -1
- package/dist/discovery.js +2 -61
- package/dist/discovery.service-COmbHaoI.js +61 -0
- package/dist/discovery.service-COmbHaoI.js.map +1 -0
- package/dist/discovery.service-CVDXO9rH.cjs +1 -0
- package/dist/discovery.service-CVDXO9rH.cjs.map +1 -0
- package/dist/{divider-D8cBBkdG.js → divider-BzcZGo4S.js} +1 -1
- package/dist/{divider-D8cBBkdG.js.map → divider-BzcZGo4S.js.map} +1 -1
- package/dist/{divider-B84lt1A3.cjs → divider-Cde33ivs.cjs} +1 -1
- package/dist/{divider-B84lt1A3.cjs.map → divider-Cde33ivs.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 +1 -1
- package/dist/{expand-BJiKggfg.js → expand-DI144OzN.js} +3 -3
- package/dist/{expand-BJiKggfg.js.map → expand-DI144OzN.js.map} +1 -1
- package/dist/{expand-DK-O37-j.cjs → expand-Db4V0jj-.cjs} +1 -1
- package/dist/{expand-DK-O37-j.cjs.map → expand-Db4V0jj-.cjs.map} +1 -1
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/{float-RWR6Q1Hh.cjs → float--RScf9BZ.cjs} +1 -1
- package/dist/{float-RWR6Q1Hh.cjs.map → float--RScf9BZ.cjs.map} +1 -1
- package/dist/{float-B4FDN40h.js → float-DIyzy1c2.js} +1 -1
- package/dist/{float-B4FDN40h.js.map → float-DIyzy1c2.js.map} +1 -1
- package/dist/float.cjs +1 -1
- package/dist/float.js +1 -1
- package/dist/{form-ha3df3K7.cjs → form-DWNpOsIU.cjs} +1 -1
- package/dist/{form-ha3df3K7.cjs.map → form-DWNpOsIU.cjs.map} +1 -1
- package/dist/{form-B-Sm6u25.js → form-RtXH8UHQ.js} +8 -8
- package/dist/{form-B-Sm6u25.js.map → form-RtXH8UHQ.js.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +6 -6
- package/dist/handover/agent-runtime-followups.md +1 -1
- package/dist/handover/agent-runtime-v1.md +3 -3
- package/dist/{hashContent-dJrI-9sc.js.map → hashContent-Dgmzc32o.js.map} +1 -1
- package/dist/{hashContent-Ck6laKlk.cjs.map → hashContent-Dh1VzIAb.cjs.map} +1 -1
- package/dist/icons-DXanGDZ_.js +52 -0
- package/dist/icons-DXanGDZ_.js.map +1 -0
- package/dist/icons-bNxlWLlk.cjs +24 -0
- package/dist/icons-bNxlWLlk.cjs.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{iframe-BXe1TPx1.cjs → iframe-B1XWRaLC.cjs} +1 -1
- package/dist/{iframe-BXe1TPx1.cjs.map → iframe-B1XWRaLC.cjs.map} +1 -1
- package/dist/{iframe-CByrVlZy.js → iframe-BlHK0cjy.js} +1 -1
- package/dist/{iframe-CByrVlZy.js.map → iframe-BlHK0cjy.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 +60 -60
- package/dist/{input-BY9OCQWr.cjs → input-C-_XU9AX.cjs} +1 -1
- package/dist/{input-BY9OCQWr.cjs.map → input-C-_XU9AX.cjs.map} +1 -1
- package/dist/{input-Q0fm34Co.js → input-CiGa8Dkl.js} +1 -1
- package/dist/{input-Q0fm34Co.js.map → input-CiGa8Dkl.js.map} +1 -1
- package/dist/{input-chip-BwNf3GD0.cjs → input-chip-5aYnuRZ_.cjs} +1 -1
- package/dist/{input-chip-BwNf3GD0.cjs.map → input-chip-5aYnuRZ_.cjs.map} +1 -1
- package/dist/{input-chip-CytUirVS.js → input-chip-l--zCMGR.js} +1 -1
- package/dist/{input-chip-CytUirVS.js.map → input-chip-l--zCMGR.js.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/json.cjs +2 -2
- package/dist/json.cjs.map +1 -1
- package/dist/json.js +3 -3
- package/dist/json.js.map +1 -1
- package/dist/kbd.cjs +1 -1
- package/dist/kbd.js +1 -1
- package/dist/{layout-Dq2oeOTS.js → layout-DSAjo92m.js} +1 -1
- package/dist/{layout-Dq2oeOTS.js.map → layout-DSAjo92m.js.map} +1 -1
- package/dist/{layout-BbCIfIgo.cjs → layout-eXb9wjDh.cjs} +1 -1
- package/dist/{layout-BbCIfIgo.cjs.map → layout-eXb9wjDh.cjs.map} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +1 -1
- package/dist/{lightbox-p2E0oVR0.cjs → lightbox-CfRDkeeb.cjs} +2 -2
- package/dist/{lightbox-p2E0oVR0.cjs.map → lightbox-CfRDkeeb.cjs.map} +1 -1
- package/dist/{lightbox-Ckvn5YNF.js → lightbox-D9oiu1Nv.js} +2 -2
- package/dist/{lightbox-Ckvn5YNF.js.map → lightbox-D9oiu1Nv.js.map} +1 -1
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/{list-CsrPVvmm.js → list-BOlRka4v.js} +1 -1
- package/dist/{list-CsrPVvmm.js.map → list-BOlRka4v.js.map} +1 -1
- package/dist/{list-r57UFHu3.cjs → list-CDJi3_Ut.cjs} +1 -1
- package/dist/{list-r57UFHu3.cjs.map → list-CDJi3_Ut.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{magnetic-Bgh7aHHI.cjs → magnetic-D-ph029G.cjs} +1 -1
- package/dist/{magnetic-Bgh7aHHI.cjs.map → magnetic-D-ph029G.cjs.map} +1 -1
- package/dist/{magnetic-DxvoEz8_.js → magnetic-mHXl54Z8.js} +1 -1
- package/dist/{magnetic-DxvoEz8_.js.map → magnetic-mHXl54Z8.js.map} +1 -1
- package/dist/{menu-DBuZiPyW.cjs → menu-CJaDL2cd.cjs} +1 -1
- package/dist/{menu-DBuZiPyW.cjs.map → menu-CJaDL2cd.cjs.map} +1 -1
- package/dist/{menu-Csm6Fg88.js → menu-XyrLmCi_.js} +2 -2
- package/dist/{menu-Csm6Fg88.js.map → menu-XyrLmCi_.js.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins-CsYsIJOI.cjs +254 -0
- package/dist/mixins-CsYsIJOI.cjs.map +1 -0
- package/dist/mixins-DySzfmal.js +642 -0
- package/dist/mixins-DySzfmal.js.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 +5 -9
- package/dist/navigation-rail.cjs.map +1 -1
- package/dist/navigation-rail.js +5 -11
- package/dist/navigation-rail.js.map +1 -1
- package/dist/{notification-CgTBiAdf.js → notification-CHrEY4u8.js} +2 -2
- package/dist/{notification-CgTBiAdf.js.map → notification-CHrEY4u8.js.map} +1 -1
- package/dist/{notification-58tkVys8.cjs → notification-DKp4tjaB.cjs} +1 -1
- package/dist/{notification-58tkVys8.cjs.map → notification-DKp4tjaB.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-Bicf6xpI.js → option-Vpy4UQ-D.js} +1 -1
- package/dist/{option-Bicf6xpI.js.map → option-Vpy4UQ-D.js.map} +1 -1
- package/dist/{option-61YE3gub.cjs → option-nRk4MuXH.cjs} +1 -1
- package/dist/{option-61YE3gub.cjs.map → option-nRk4MuXH.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{overlay-CpvmytrQ.cjs → overlay-HNrWZ4sB.cjs} +1 -1
- package/dist/{overlay-CpvmytrQ.cjs.map → overlay-HNrWZ4sB.cjs.map} +1 -1
- package/dist/{overlay-CAI2FAp7.js → overlay-jlkcrt8F.js} +5 -5
- package/dist/{overlay-CAI2FAp7.js.map → overlay-jlkcrt8F.js.map} +1 -1
- package/dist/{overlay-stack-Dk0xETTy.cjs.map → overlay-stack-Bdr9lOqi.cjs.map} +1 -1
- package/dist/{overlay-stack-BR4iYivO.js.map → overlay-stack-D2rgxQLh.js.map} +1 -1
- package/dist/overlay.cjs +1 -1
- package/dist/{overlay.confirm-body-QD-5cj3_.cjs → overlay.confirm-body-B8dFI3cj.cjs} +1 -1
- package/dist/{overlay.confirm-body-QD-5cj3_.cjs.map → overlay.confirm-body-B8dFI3cj.cjs.map} +1 -1
- package/dist/{overlay.confirm-body-Cq25CkTw.js → overlay.confirm-body-CYShkjI6.js} +1 -1
- package/dist/{overlay.confirm-body-Cq25CkTw.js.map → overlay.confirm-body-CYShkjI6.js.map} +1 -1
- package/dist/overlay.js +3 -3
- package/dist/{overlay.service-BG0bqPwJ.cjs → overlay.service-BTPn7Uv7.cjs} +1 -1
- package/dist/{overlay.service-BG0bqPwJ.cjs.map → overlay.service-BTPn7Uv7.cjs.map} +1 -1
- package/dist/{overlay.service-Bpjrhaxh.js → overlay.service-BqhhxVJp.js} +2 -2
- package/dist/{overlay.service-Bpjrhaxh.js.map → overlay.service-BqhhxVJp.js.map} +1 -1
- package/dist/{progress-Zqx-S9NZ.js → progress-8Bn88GK_.js} +1 -1
- package/dist/{progress-Zqx-S9NZ.js.map → progress-8Bn88GK_.js.map} +1 -1
- package/dist/{progress-D8XZJVl5.cjs → progress-CAp_4jtq.cjs} +1 -1
- package/dist/{progress-D8XZJVl5.cjs.map → progress-CAp_4jtq.cjs.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{radio-group-bl8K4Gls.cjs → radio-group-CN44mAoc.cjs} +1 -1
- package/dist/{radio-group-bl8K4Gls.cjs.map → radio-group-CN44mAoc.cjs.map} +1 -1
- package/dist/{radio-group-D9MU1Mxz.js → radio-group-GNHA7qJR.js} +1 -1
- package/dist/{radio-group-D9MU1Mxz.js.map → radio-group-GNHA7qJR.js.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/{reduced-motion-D7LqTUMn.js.map → reduced-motion-D-L12p7G.js.map} +1 -1
- package/dist/{reduced-motion-Dzfp_w5x.cjs.map → reduced-motion-Ds-HjMzn.cjs.map} +1 -1
- package/dist/{rxjs-utils-BK8VMe3K.js.map → rxjs-utils-BXpvHN4-.js.map} +1 -1
- package/dist/{rxjs-utils-DhOKenkS.cjs.map → rxjs-utils-CaC-tdot.cjs.map} +1 -1
- package/dist/rxjs-utils.cjs +1 -1
- package/dist/rxjs-utils.js +1 -1
- package/dist/{select-CMwkl-D6.js → select-BnuXRHS4.js} +3 -3
- package/dist/{select-CMwkl-D6.js.map → select-BnuXRHS4.js.map} +1 -1
- package/dist/{select-COIfVtZl.cjs → select-DZNns5Pa.cjs} +2 -2
- package/dist/{select-COIfVtZl.cjs.map → select-DZNns5Pa.cjs.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/INDEX.md +2 -1
- package/dist/skills/SKILL.md +33 -23
- package/dist/skills/area.md +5 -4
- package/dist/skills/connectivity.md +1 -3
- package/dist/skills/directives.md +36 -0
- package/dist/skills/icons.md +95 -31
- package/dist/skills/layout.md +36 -53
- package/dist/skills/mixins.md +26 -5
- package/dist/skills/schmancy/INDEX.md +2 -1
- package/dist/skills/schmancy/SKILL.md +33 -23
- package/dist/skills/schmancy/area.md +5 -4
- package/dist/skills/schmancy/connectivity.md +1 -3
- package/dist/skills/schmancy/directives.md +36 -0
- package/dist/skills/schmancy/icons.md +95 -31
- package/dist/skills/schmancy/layout.md +36 -53
- package/dist/skills/schmancy/mixins.md +26 -5
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{splash-screen-xrMNpzkm.js → splash-screen-CUP_elaT.js} +1 -1
- package/dist/{splash-screen-xrMNpzkm.js.map → splash-screen-CUP_elaT.js.map} +1 -1
- package/dist/{splash-screen-2hxq8Sft.cjs → splash-screen-DeoPRrOu.cjs} +1 -1
- package/dist/{splash-screen-2hxq8Sft.cjs.map → splash-screen-DeoPRrOu.cjs.map} +1 -1
- package/dist/splash-screen.cjs +1 -1
- package/dist/splash-screen.js +1 -1
- package/dist/{src-B15R32Sp.js → src-B1VkLX3l.js} +159 -159
- package/dist/src-B1VkLX3l.js.map +1 -0
- package/dist/{src-BWQvtOOf.cjs → src-DQ4wr0qq.cjs} +13 -13
- package/dist/src-DQ4wr0qq.cjs.map +1 -0
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-BkQ44Wuo.cjs → surface-LkaZQXZn.cjs} +1 -1
- package/dist/{surface-BkQ44Wuo.cjs.map → surface-LkaZQXZn.cjs.map} +1 -1
- package/dist/{surface-3nnvlxeE.js → surface-hOvkrjGN.js} +1 -1
- package/dist/{surface-3nnvlxeE.js.map → surface-hOvkrjGN.js.map} +1 -1
- 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 +2 -2
- package/dist/table.cjs.map +1 -1
- package/dist/table.js +2 -2
- package/dist/table.js.map +1 -1
- package/dist/{tabs-CnLIe8nE.js → tabs-CfwIHhHo.js} +1 -1
- package/dist/{tabs-CnLIe8nE.js.map → tabs-CfwIHhHo.js.map} +1 -1
- package/dist/{tabs-Dql0rcqZ.cjs → tabs-bplzstz6.cjs} +1 -1
- package/dist/{tabs-Dql0rcqZ.cjs.map → tabs-bplzstz6.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-BAogS_Ff.js → textarea-C1A5xuw9.js} +1 -1
- package/dist/{textarea-BAogS_Ff.js.map → textarea-C1A5xuw9.js.map} +1 -1
- package/dist/{textarea-CGD6lAEe.cjs → textarea-hrDp5gQq.cjs} +1 -1
- package/dist/{textarea-CGD6lAEe.cjs.map → textarea-hrDp5gQq.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-CUK0HrS3.js → theme-BniFOMEo.js} +4 -4
- package/dist/{theme-CUK0HrS3.js.map → theme-BniFOMEo.js.map} +1 -1
- package/dist/{theme-DKrrQ-ic.cjs → theme-DmR6PKV8.cjs} +3 -3
- package/dist/{theme-DKrrQ-ic.cjs.map → theme-DmR6PKV8.cjs.map} +1 -1
- package/dist/{theme-button-Bb8qW2IH.js → theme-button--ruZIb0T.js} +1 -1
- package/dist/{theme-button-Bb8qW2IH.js.map → theme-button--ruZIb0T.js.map} +1 -1
- package/dist/{theme-button-CmTwFm3l.cjs → theme-button-a0LgZ7hQ.cjs} +1 -1
- package/dist/{theme-button-CmTwFm3l.cjs.map → theme-button-a0LgZ7hQ.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-D4NeufQA.cjs.map → theme.interface-B5xjEk74.cjs.map} +1 -1
- package/dist/{theme.interface-C2XNgsLB.js.map → theme.interface-DVEw3s8m.js.map} +1 -1
- package/dist/theme.js +4 -4
- package/dist/{theme.service-CSzNkqBB.js.map → theme.service-Bh08uOSJ.js.map} +1 -1
- package/dist/{theme.service-CnFUmUpc.cjs.map → theme.service-Y-e8b331.cjs.map} +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.js +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/dist/{utils-Cxg0Kfy5.js → utils-578eFTx4.js} +1 -1
- package/dist/{utils-Cxg0Kfy5.js.map → utils-578eFTx4.js.map} +1 -1
- package/dist/{utils-aCJYAGUr.cjs → utils-CVWUrECT.cjs} +1 -1
- package/dist/{utils-aCJYAGUr.cjs.map → utils-CVWUrECT.cjs.map} +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +2 -2
- package/dist/visually-hidden.cjs +1 -1
- package/dist/visually-hidden.js +1 -1
- package/dist/{window-DuDAQa6y.js → window-BT9JecWy.js} +5 -5
- package/dist/{window-DuDAQa6y.js.map → window-BT9JecWy.js.map} +1 -1
- package/dist/{window-BbWlaPZv.cjs → window-Bp7zWZpu.cjs} +1 -1
- package/dist/{window-BbWlaPZv.cjs.map → window-Bp7zWZpu.cjs.map} +1 -1
- package/dist/window.cjs +1 -1
- package/dist/window.js +1 -1
- package/package.json +1 -1
- package/skills/schmancy/INDEX.md +2 -1
- package/skills/schmancy/SKILL.md +33 -23
- package/skills/schmancy/area.md +5 -4
- package/skills/schmancy/connectivity.md +1 -3
- package/skills/schmancy/directives.md +36 -0
- package/skills/schmancy/icons.md +95 -31
- package/skills/schmancy/layout.md +36 -53
- package/skills/schmancy/mixins.md +26 -5
- package/src/badge/badge.ts +7 -11
- package/src/button/icon-button.ts +3 -4
- package/src/directives/ai-badge.ts +95 -0
- package/src/directives/art/art.directive.ts +228 -0
- package/src/directives/art/effects/error.ts +192 -0
- package/src/directives/art/effects/funkhaus.ts +121 -0
- package/src/directives/art/effects/howl.ts +203 -0
- package/src/directives/art/effects/samwa.ts +228 -0
- package/src/directives/art/effects/snow.ts +207 -0
- package/src/directives/art/effects/starfield.ts +107 -0
- package/src/directives/art/index.ts +2 -0
- package/src/directives/art/particle-pool.ts +40 -0
- package/src/directives/art/types.ts +129 -0
- package/src/directives/art/utils.ts +35 -0
- package/src/directives/battery.ts +1014 -0
- package/src/directives/beta.ts +44 -0
- package/src/directives/fill.ts +32 -60
- package/src/directives/fyi.ts +551 -0
- package/src/directives/hummingbird.ts +1712 -0
- package/src/directives/index.ts +9 -0
- package/src/directives/missed-punch.ts +407 -0
- package/src/directives/urgent.ts +660 -0
- package/src/directives/working-snake.ts +294 -0
- package/src/icons/icon.ts +53 -30
- package/src/json/json.ts +1 -1
- package/src/navigation-rail/navigation-rail-item.ts +7 -12
- package/src/navigation-rail/navigation-rail.ts +0 -2
- package/src/table/table.ts +2 -2
- package/src/theme/theme-audio-player.ts +1 -1
- package/types/mixins/SchmancyElement.d.ts +31 -0
- package/types/src/badge/badge.d.ts +1 -1
- package/types/src/directives/ai-badge.d.ts +15 -0
- package/types/src/directives/art/art.directive.d.ts +19 -0
- package/types/src/directives/art/effects/error.d.ts +7 -0
- package/types/src/directives/art/effects/funkhaus.d.ts +7 -0
- package/types/src/directives/art/effects/howl.d.ts +7 -0
- package/types/src/directives/art/effects/samwa.d.ts +7 -0
- package/types/src/directives/art/effects/snow.d.ts +7 -0
- package/types/src/directives/art/effects/starfield.d.ts +10 -0
- package/types/src/directives/art/index.d.ts +2 -0
- package/types/src/directives/art/particle-pool.d.ts +16 -0
- package/types/src/directives/art/types.d.ts +126 -0
- package/types/src/directives/art/utils.d.ts +5 -0
- package/types/src/directives/battery.d.ts +96 -0
- package/types/src/directives/beta.d.ts +33 -0
- package/types/src/directives/fill.d.ts +4 -11
- package/types/src/directives/fyi.d.ts +76 -0
- package/types/src/directives/hummingbird.d.ts +180 -0
- package/types/src/directives/index.d.ts +9 -0
- package/types/src/directives/missed-punch.d.ts +28 -0
- package/types/src/directives/urgent.d.ts +88 -0
- package/types/src/directives/working-snake.d.ts +46 -0
- package/types/src/icons/icon.d.ts +22 -0
- package/dist/directives.cjs.map +0 -1
- package/dist/directives.js.map +0 -1
- package/dist/discovery.cjs.map +0 -1
- package/dist/discovery.js.map +0 -1
- package/dist/icons-DJuXwn8D.js +0 -48
- package/dist/icons-DJuXwn8D.js.map +0 -1
- package/dist/icons-oNRUCAEY.cjs +0 -33
- package/dist/icons-oNRUCAEY.cjs.map +0 -1
- package/dist/mixins-DTCHPEd4.cjs +0 -254
- package/dist/mixins-DTCHPEd4.cjs.map +0 -1
- package/dist/mixins-pU53qf6R.js +0 -636
- package/dist/mixins-pU53qf6R.js.map +0 -1
- package/dist/skills/page.md +0 -84
- package/dist/skills/schmancy/page.md +0 -84
- package/dist/src-B15R32Sp.js.map +0 -1
- package/dist/src-BWQvtOOf.cjs.map +0 -1
- package/skills/schmancy/page.md +0 -84
- /package/dist/{hashContent-dJrI-9sc.js → hashContent-Dgmzc32o.js} +0 -0
- /package/dist/{hashContent-Ck6laKlk.cjs → hashContent-Dh1VzIAb.cjs} +0 -0
- /package/dist/{overlay-stack-Dk0xETTy.cjs → overlay-stack-Bdr9lOqi.cjs} +0 -0
- /package/dist/{overlay-stack-BR4iYivO.js → overlay-stack-D2rgxQLh.js} +0 -0
- /package/dist/{reduced-motion-D7LqTUMn.js → reduced-motion-D-L12p7G.js} +0 -0
- /package/dist/{reduced-motion-Dzfp_w5x.cjs → reduced-motion-Ds-HjMzn.cjs} +0 -0
- /package/dist/{rxjs-utils-BK8VMe3K.js → rxjs-utils-BXpvHN4-.js} +0 -0
- /package/dist/{rxjs-utils-DhOKenkS.cjs → rxjs-utils-CaC-tdot.cjs} +0 -0
- /package/dist/{theme.interface-D4NeufQA.cjs → theme.interface-B5xjEk74.cjs} +0 -0
- /package/dist/{theme.interface-C2XNgsLB.js → theme.interface-DVEw3s8m.js} +0 -0
- /package/dist/{theme.service-CSzNkqBB.js → theme.service-Bh08uOSJ.js} +0 -0
- /package/dist/{theme.service-CnFUmUpc.cjs → theme.service-Y-e8b331.cjs} +0 -0
|
@@ -1,44 +1,108 @@
|
|
|
1
1
|
# schmancy-icon
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Renders a Material Symbol as an inline SVG. Path data is supplied at build
|
|
4
|
+
time by the `schmancy-icons` Vite plugin — no font file, no network request,
|
|
5
|
+
works offline from first byte.
|
|
4
6
|
|
|
5
7
|
## Usage
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<schmancy-icon>home</schmancy-icon>
|
|
11
|
+
<schmancy-icon>delete</schmancy-icon>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Slot text IS the icon name (Material Symbols ligature name). No properties needed.
|
|
15
|
+
|
|
16
|
+
## Sizing
|
|
17
|
+
|
|
18
|
+
Size is set with Tailwind `text-*` on the host. Default is `24px` (`text-2xl`).
|
|
19
|
+
`width` and `height` track `font-size` via `1em`.
|
|
20
|
+
|
|
6
21
|
```html
|
|
7
|
-
<schmancy-icon>
|
|
22
|
+
<schmancy-icon class="text-base">close</schmancy-icon> <!-- 16px -->
|
|
23
|
+
<schmancy-icon class="text-xl">search</schmancy-icon> <!-- 20px -->
|
|
24
|
+
<schmancy-icon class="text-2xl">home</schmancy-icon> <!-- 24px (default) -->
|
|
25
|
+
<schmancy-icon class="text-4xl">check_circle</schmancy-icon> <!-- 36px -->
|
|
8
26
|
```
|
|
9
27
|
|
|
10
|
-
##
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
| xs | 16px | 20 | 32px buttons |
|
|
25
|
-
| sm | 20px | 20 | 40px buttons |
|
|
26
|
-
| md | 24px | 24 | Default (48px buttons) |
|
|
27
|
-
| lg | 32px | 40 | 56px buttons |
|
|
28
|
-
|
|
29
|
-
## Examples
|
|
28
|
+
## Color
|
|
29
|
+
|
|
30
|
+
Inherits `currentColor`. Override with Tailwind color utilities:
|
|
31
|
+
|
|
32
|
+
```html
|
|
33
|
+
<schmancy-icon class="text-primary-default">star</schmancy-icon>
|
|
34
|
+
<schmancy-icon class="opacity-50">info</schmancy-icon>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Fill variant (active states)
|
|
38
|
+
|
|
39
|
+
Append `-fill` to the icon name for the filled variant. No CSS animation —
|
|
40
|
+
a clean swap between outlined and filled symbols:
|
|
41
|
+
|
|
30
42
|
```html
|
|
31
|
-
<!--
|
|
32
|
-
<schmancy-icon
|
|
43
|
+
<!-- Static filled -->
|
|
44
|
+
<schmancy-icon>favorite-fill</schmancy-icon>
|
|
33
45
|
|
|
34
|
-
<!--
|
|
35
|
-
<schmancy-icon
|
|
46
|
+
<!-- Dynamic active state -->
|
|
47
|
+
<schmancy-icon>${active ? 'home-fill' : 'home'}</schmancy-icon>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
The plugin auto-includes `-fill` variants for every detected base icon.
|
|
51
|
+
|
|
52
|
+
## Vite plugin setup (web workspace)
|
|
53
|
+
|
|
54
|
+
The plugin scans all `.ts` source files at build start and injects
|
|
55
|
+
`window.__siIcons = { name: 'svgPathData', ... }` inline in `<head>`.
|
|
56
|
+
|
|
57
|
+
```typescript
|
|
58
|
+
// web/vite.config.ts
|
|
59
|
+
import { schmancyIcons } from './plugins/schmancy-icons.ts'
|
|
60
|
+
|
|
61
|
+
export default defineConfig({
|
|
62
|
+
plugins: [
|
|
63
|
+
schmancyIcons({
|
|
64
|
+
// Icon names used in runtime variables (not statically detectable).
|
|
65
|
+
// Type them as SchmancyIconName in consuming code.
|
|
66
|
+
additional: ['widgets', 'inventory_2', 'description'],
|
|
67
|
+
}),
|
|
68
|
+
],
|
|
69
|
+
})
|
|
70
|
+
```
|
|
36
71
|
|
|
37
|
-
|
|
38
|
-
<schmancy-icon size="48px" .weight=${300}>search</schmancy-icon>
|
|
72
|
+
### Adding icons for dynamic usage
|
|
39
73
|
|
|
40
|
-
|
|
41
|
-
|
|
74
|
+
Any icon name carried in a variable at runtime must be declared in `additional`.
|
|
75
|
+
TypeScript enforcement: the plugin generates `src/types/icon-name.d.ts` with
|
|
76
|
+
a `SchmancyIconName` union of every icon in the bundle. Type dynamic icon props
|
|
77
|
+
as `SchmancyIconName` to get compile-time coverage.
|
|
78
|
+
|
|
79
|
+
```typescript
|
|
80
|
+
import type { SchmancyIconName } from './types/icon-name'
|
|
81
|
+
|
|
82
|
+
@property({ type: String }) icon: SchmancyIconName = 'home'
|
|
42
83
|
```
|
|
43
84
|
|
|
44
|
-
|
|
85
|
+
## What was removed
|
|
86
|
+
|
|
87
|
+
The following properties are **gone** — the component has no public API beyond
|
|
88
|
+
slot text content:
|
|
89
|
+
|
|
90
|
+
| Removed | Replacement |
|
|
91
|
+
|---------|-------------|
|
|
92
|
+
| `size="lg"` | `class="text-4xl"` (Tailwind) |
|
|
93
|
+
| `fill`, `weight`, `grade`, `variant` | n/a — use `-fill` suffix for filled, rest unsupported |
|
|
94
|
+
| `icon="name"` prop | slot text: `<schmancy-icon>name</schmancy-icon>` |
|
|
95
|
+
| Google Fonts auto-load | n/a — self-contained inline SVG |
|
|
96
|
+
|
|
97
|
+
## How it works
|
|
98
|
+
|
|
99
|
+
1. Vite plugin walks `web/src/**/*.ts`, extracts icon names from
|
|
100
|
+
`<schmancy-icon>name</schmancy-icon>` and `icon="name"` patterns.
|
|
101
|
+
2. Reads `@material-symbols/svg-400/outlined/{name}.svg`, extracts the `d`
|
|
102
|
+
attribute from each `<path>`.
|
|
103
|
+
3. Injects `<script>window.__siIcons={...}</script>` before `</head>`.
|
|
104
|
+
4. `schmancy-icon.connectedCallback` reads `this.textContent`, looks up
|
|
105
|
+
`window.__siIcons[name]`, and renders `<svg><path d="..."/></svg>` inside
|
|
106
|
+
its shadow DOM.
|
|
107
|
+
|
|
108
|
+
No `<use>` references — those can't cross shadow DOM boundaries.
|
|
@@ -1,63 +1,46 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Layout Directives
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
```typescript
|
|
4
|
+
import { fill, overflowWithin } from '@mhmo91/schmancy/directives'
|
|
5
|
+
```
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
## `fill()` — viewport-anchor an element
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
```html
|
|
9
|
-
<schmancy-grid cols="1fr 2fr 1fr" gap="md" align="center">
|
|
10
|
-
<div>Left</div><div>Center</div><div>Right</div>
|
|
11
|
-
</schmancy-grid>
|
|
12
|
-
```
|
|
9
|
+
Measures against `visualViewport` and writes exact `height`/`width` in px. Cascade-independent — works even when parent custom elements default to `display: inline`. Tracks iOS keyboard, orientation change, and `theme.bottomOffset$`.
|
|
13
10
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
| `flow` | `'row' \| 'col' \| 'dense' \| 'row-dense' \| 'col-dense'` | `'row'` | Grid auto-flow |
|
|
17
|
-
| `align` | `'start' \| 'center' \| 'end' \| 'stretch' \| 'baseline'` | `'stretch'` | Item alignment |
|
|
18
|
-
| `justify` | `'start' \| 'center' \| 'end' \| 'stretch'` | `'stretch'` | Item justification |
|
|
19
|
-
| `content` | `'start' \| 'center' \| 'end' \| 'stretch' \| 'around' \| 'evenly' \| 'between'` | — | Align-content |
|
|
20
|
-
| `gap` | `'none' \| 'xs' \| 'sm' \| 'md' \| 'lg'` | `'none'` | Grid gap |
|
|
21
|
-
| `cols` | string | — | grid-template-columns (e.g. `"1fr 2fr"`) |
|
|
22
|
-
| `rows` | string | — | grid-template-rows |
|
|
23
|
-
| `rcols` | object | — | Responsive cols: `{ sm: '1fr', md: '1fr 1fr', lg: '1fr 2fr 1fr' }` |
|
|
24
|
-
| `wrap` | boolean | `false` | Grid auto-wrap |
|
|
25
|
-
|
|
26
|
-
## schmancy-flex
|
|
27
|
-
```html
|
|
28
|
-
<schmancy-flex flow="row" justify="between" align="center" gap="md">
|
|
29
|
-
<div>Logo</div><div>Nav</div>
|
|
30
|
-
</schmancy-flex>
|
|
31
|
-
```
|
|
11
|
+
Sets: `height: Npx`, `width: Npx`, `overflow: hidden`, `min-h/w: 0`, `box-sizing: border-box`, `padding-bottom` (safe area).
|
|
12
|
+
Does **not** set `display` or `grid-template-*` — use Tailwind classes on the same element.
|
|
32
13
|
|
|
33
|
-
|
|
34
|
-
|----------|------|---------|
|
|
35
|
-
| `flow` | `'row' \| 'row-reverse' \| 'col' \| 'col-reverse'` | `'col'` |
|
|
36
|
-
| `wrap` | `'wrap' \| 'nowrap' \| 'wrap-reverse'` | `'wrap'` |
|
|
37
|
-
| `align` | `'start' \| 'center' \| 'end' \| 'stretch' \| 'baseline'` | `'start'` |
|
|
38
|
-
| `justify` | `'start' \| 'center' \| 'end' \| 'stretch' \| 'between'` | `'start'` |
|
|
39
|
-
| `gap` | `'none' \| 'sm' \| 'md' \| 'lg'` | `'none'` |
|
|
40
|
-
|
|
41
|
-
## schmancy-scroll
|
|
42
|
-
```html
|
|
43
|
-
<schmancy-scroll hide direction="vertical" name="main">
|
|
44
|
-
<!-- long content -->
|
|
45
|
-
</schmancy-scroll>
|
|
46
|
-
```
|
|
14
|
+
## `overflowWithin()` — contained scroll region
|
|
47
15
|
|
|
48
|
-
|
|
49
|
-
|----------|------|---------|-------------|
|
|
50
|
-
| `hide` | boolean | `false` | Hide scrollbar in supported browsers |
|
|
51
|
-
| `direction` | `'vertical' \| 'horizontal' \| 'both'` | `'both'` | Scroll axes |
|
|
52
|
-
| `name` | string | — | Identifier for global scroll events |
|
|
53
|
-
| `debounce` | number | — | Debounce time in ms for scroll events |
|
|
16
|
+
Sets: `overflow: auto`, `overscroll-behavior: contain`, `scroll-behavior: smooth`, `min-h/w: 0`, `box-sizing: border-box`.
|
|
54
17
|
|
|
55
|
-
|
|
18
|
+
## Canonical shell
|
|
56
19
|
|
|
57
|
-
|
|
20
|
+
```typescript
|
|
21
|
+
// app-shell.view.ts
|
|
22
|
+
html`<schmancy-area ${fill()} name="root" .default=${...}>...</schmancy-area>`
|
|
23
|
+
|
|
24
|
+
// app-home.view.ts
|
|
25
|
+
html`
|
|
26
|
+
<my-shell class="grid grid-cols-[auto_1fr]" ${fill()}>
|
|
27
|
+
<app-rail></app-rail>
|
|
28
|
+
<div ${overflowWithin()} class="grid grid-rows-[auto_1fr] min-h-0">
|
|
29
|
+
<tree-picker></tree-picker>
|
|
30
|
+
<schmancy-area name="app" .default=${...}>...</schmancy-area>
|
|
31
|
+
</div>
|
|
32
|
+
</my-shell>
|
|
33
|
+
`
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
```css
|
|
37
|
+
/* styles.css */
|
|
38
|
+
html, body { margin: 0; padding: 0; overflow: hidden; }
|
|
39
|
+
```
|
|
58
40
|
|
|
59
|
-
|
|
41
|
+
## Rules
|
|
60
42
|
|
|
61
|
-
|
|
62
|
-
-
|
|
63
|
-
-
|
|
43
|
+
- One `fill()` per shell level. Inner levels get `min-h-0` grid cells.
|
|
44
|
+
- `overflowWithin()` goes on the element that should scroll, not on `:host`.
|
|
45
|
+
- Do not write `h-full`, `w-full`, or `:host { height: 100% }` anywhere. `schmancy-area`'s `::slotted` rule sizes mounted views.
|
|
46
|
+
- `<schmancy-page>` is removed — `fill()` replaces it.
|
|
@@ -8,11 +8,10 @@ factory — composing `LitElement` + Tailwind injection + `BaseElement`
|
|
|
8
8
|
## Usage
|
|
9
9
|
|
|
10
10
|
```typescript
|
|
11
|
-
import { SchmancyElement } from '@mhmo91/schmancy/mixins'
|
|
12
|
-
import { customElement } from 'lit/decorators.js'
|
|
11
|
+
import { SchmancyElement, schmancyElement } from '@mhmo91/schmancy/mixins'
|
|
13
12
|
import { css, html } from 'lit'
|
|
14
13
|
|
|
15
|
-
@
|
|
14
|
+
@schmancyElement('my-component')
|
|
16
15
|
class MyComponent extends SchmancyElement {
|
|
17
16
|
static styles = [css`
|
|
18
17
|
:host { display: block }
|
|
@@ -33,12 +32,34 @@ declare global {
|
|
|
33
32
|
No styles? Just drop `static styles`:
|
|
34
33
|
|
|
35
34
|
```typescript
|
|
36
|
-
@
|
|
35
|
+
@schmancyElement('my-component')
|
|
37
36
|
class MyComponent extends SchmancyElement {
|
|
38
37
|
render() { return html`<slot></slot>` }
|
|
39
38
|
}
|
|
40
39
|
```
|
|
41
40
|
|
|
41
|
+
### Why `@schmancyElement` instead of Lit's `@customElement`
|
|
42
|
+
|
|
43
|
+
`@schmancyElement` wraps the class's prototype methods with the active-host
|
|
44
|
+
tracker BEFORE calling `customElements.define`. Lit's `@customElement` only
|
|
45
|
+
calls `define` — the wrap then runs inside the `SchmancyElement` constructor,
|
|
46
|
+
which is too late: per the HTML spec, the browser captures lifecycle callback
|
|
47
|
+
references off the prototype at `define` time and invokes those cached
|
|
48
|
+
references for every connect / disconnect.
|
|
49
|
+
|
|
50
|
+
If you use plain `@customElement` and read state inside `connectedCallback`,
|
|
51
|
+
the active-host stack is empty, the read falls through to `document.activeElement`,
|
|
52
|
+
misses the enclosing `<schmancy-context>`, and silently resolves to the
|
|
53
|
+
module-scoped global instead of the isolated copy. The constructor-time wrap
|
|
54
|
+
still catches `render`, class methods, and inherited lifecycle methods on
|
|
55
|
+
ancestor prototypes (the browser's cached reference for those is the
|
|
56
|
+
ancestor's, which gets wrapped by an earlier sibling). But your subclass's
|
|
57
|
+
own `connectedCallback` / `disconnectedCallback` overrides fall through.
|
|
58
|
+
The symptom is silent: writes go to the wrong slot, reads return the wrong
|
|
59
|
+
value, and the form looks broken for no obvious reason.
|
|
60
|
+
|
|
61
|
+
`@schmancyElement` makes this impossible. Use it as the default.
|
|
62
|
+
|
|
42
63
|
Tailwind is injected automatically — your `static styles` only declares
|
|
43
64
|
component-local CSS.
|
|
44
65
|
|
|
@@ -99,7 +120,7 @@ Every SchmancyElement responds to `{its-tag}-where-are-you` events with
|
|
|
99
120
|
## Component skeleton
|
|
100
121
|
|
|
101
122
|
```typescript
|
|
102
|
-
@
|
|
123
|
+
@schmancyElement('my-component')
|
|
103
124
|
export class MyComponent extends SchmancyElement {
|
|
104
125
|
static styles = [css`:host { display: block }`]
|
|
105
126
|
|
package/dist/slider.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-CsYsIJOI.cjs`),t=require(`./active-host-jH3iloCR.cjs`);let n=require(`rxjs`),r=require(`rxjs/operators`),i=require(`lit/decorators.js`),a=require(`lit`),o=require(`lit/directives/cache.js`);var s=class extends e.c{constructor(...e){super(...e),this.type=`content`,this.src=``,this.alt=``,this.controls=!0,this.autoplay=!1,this.loop=!1,this.muted=!1,this.fit=`cover`}static{this.styles=[a.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
scroll-snap-align: center; /* If your slider uses scroll-snap */
|
package/dist/slider.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as e } from "./mixins-
|
|
1
|
+
import { c as e } from "./mixins-DySzfmal.js";
|
|
2
2
|
import { a as t } from "./active-host-BP0zy_Y9.js";
|
|
3
3
|
import { fromEvent as n, of as r, timer as i, zip as a } from "rxjs";
|
|
4
4
|
import { take as o, takeUntil as s, tap as c } from "rxjs/operators";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splash-screen-
|
|
1
|
+
{"version":3,"file":"splash-screen-CUP_elaT.js","names":[],"sources":["../src/splash-screen/splash-screen.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport { fromEvent, of, timer, zip } from 'rxjs'\nimport { take, takeUntil, tap } from 'rxjs/operators'\n\nexport type SchmancySplashScreenDoneEvent = CustomEvent<void>\n\n/**\n * Full-viewport splash overlay that dismisses once a minimum duration has\n * elapsed and (optionally) an external `ready` signal has fired. The splash\n * fades out while the underlying app content fades in.\n *\n * Bring-your-own visuals: the `splash` slot is empty by default so the\n * component pulls in no dependencies. Provide a logo, spinner, or\n * animation from the consumer side.\n *\n * @element schmancy-splash-screen\n * @slot splash - Content rendered on the splash layer (logo, spinner, etc.).\n * @slot - Default slot for the actual app content, revealed once dismissed.\n * @fires schmancy-splash-done - `CustomEvent<void>` when the splash dismisses.\n *\n * @example\n * ```html\n * <schmancy-splash-screen min-duration=\"1200\">\n * <my-logo slot=\"splash\"></my-logo>\n * <my-app></my-app>\n * </schmancy-splash-screen>\n * ```\n */\n@customElement('schmancy-splash-screen')\nexport default class SchmancySplashScreen extends SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t.splash-layer {\n\t\tposition: fixed;\n\t\tinset: 0;\n\t\tz-index: 50;\n\t\toverflow: hidden;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tbackground: var(\n\t\t\t--schmancy-splash-background,\n\t\t\tvar(--schmancy-sys-color-surface-containerLowest, #000)\n\t\t);\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-out;\n\t}\n\n\t.content-layer {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-in-out;\n\t}\n`]\n\n\t/**\n\t * Minimum duration (ms) the splash layer stays visible. Prevents a flash\n\t * when the app loads faster than expected.\n\t */\n\t@property({ type: Number, attribute: 'min-duration' }) minDuration = 1500\n\n\t/**\n\t * When true, the splash dismisses on the `minDuration` timer alone.\n\t * When false (default), it additionally waits for an external ready signal\n\t * (a `ready` event on this element, or a call to `this.ready()`).\n\t */\n\t@property({ type: Boolean }) auto = false\n\n\t/**\n\t * When true, the splash starts hidden. Use this for imperative control.\n\t */\n\t@property({ type: Boolean, attribute: 'initially-hidden' }) initiallyHidden = false\n\n\t@state() private _visible = true\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tif (this.initiallyHidden) {\n\t\t\tthis._visible = false\n\t\t\treturn\n\t\t}\n\n\t\tconst readySignal$ = this.auto ? of(null) : fromEvent<Event>(this, 'ready').pipe(take(1))\n\t\tconst minTimer$ = timer(this.minDuration)\n\n\t\tzip(readySignal$, minTimer$)\n\t\t\t.pipe(\n\t\t\t\ttake(1),\n\t\t\t\ttap(() => this._dismiss()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Imperative API: signal that the app is ready and dismiss the splash\n\t * after the minimum duration has elapsed.\n\t */\n\tpublic ready(): void {\n\t\tthis.dispatchEvent(new Event('ready'))\n\t}\n\n\t/**\n\t * Force the splash to show again (e.g. between route transitions).\n\t */\n\tpublic show(): void {\n\t\tthis._visible = true\n\t}\n\n\tprivate _dismiss(): void {\n\t\tthis._visible = false\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<void>('schmancy-splash-done', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"splash-layer\"\n\t\t\t\taria-hidden=${!this._visible}\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '1' : '0',\n\t\t\t\t\tpointerEvents: this._visible ? 'auto' : 'none',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot name=\"splash\"></slot>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass=\"content-layer\"\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '0' : '1',\n\t\t\t\t\tpointerEvents: this._visible ? 'none' : 'auto',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-splash-screen': SchmancySplashScreen\n\t}\n}\n"],"mappings":";;;;;;;AAgCe,IAAA,IAAA,cAAmC,EAAA;CAAA,YAAA,GAAA,GAAA;EAAA,MAAA,GAAA,EAAA,EAAA,KAAA,cAiCoB,MAAA,KAAA,OAAA,CAOjC,GAAA,KAAA,kBAAA,CAK0C,GAAA,KAAA,WAAA,CAElD;;CAAA;EAAA,KAAA,SA9CZ,CAAC,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDpB,oBAAA;EACC,MAAM,mBAAA,EAEF,KAAK,kBACR,KAAK,WAAA,CAAW,IAOjB,EAHqB,KAAK,OAAO,EAAG,KAAA,GAAQ,EAAiB,MAAM,QAAA,CAAS,KAAK,EAAK,EAAA,CAAA,EACpE,EAAM,KAAK,YAAA,CAAA,CAG3B,KACA,EAAK,EAAA,EACL,QAAU,KAAK,UAAA,CAAA,EACf,EAAU,KAAK,cAAA,CAAA,CAEf,WAAA;;CAOH,QAAA;EACC,KAAK,cAAc,IAAI,MAAM,QAAA,CAAA;;CAM9B,OAAA;EACC,KAAK,WAAA,CAAW;;CAGjB,WAAA;EACC,KAAK,WAAA,CAAW,GAChB,KAAK,cACJ,IAAI,YAAkB,wBAAwB;GAC7C,SAAA,CAAS;GACT,UAAA,CAAU;GAAA,CAAA,CAAA;;CAKb,SAAA;EACC,OAAO,CAAI;;;mBAGM,KAAK,SAAA;YACZ,EAAS;GAChB,SAAS,KAAK,WAAW,MAAM;GAC/B,eAAe,KAAK,WAAW,SAAS;GAAA,CAAA,CAAA;;;;;;YAOjC,EAAS;GAChB,SAAS,KAAK,WAAW,MAAM;GAC/B,eAAe,KAAK,WAAW,SAAS;GAAA,CAAA,CAAA;;;;;;;GA7E3C,EAAS;CAAE,MAAM;CAAQ,WAAW;CAAA,CAAA,CAAA,EAAiB,EAAA,WAAA,eAAA,KAAA,EAAA,EAAA,EAAA,CAOrD,EAAS,EAAE,MAAM,SAAA,CAAA,CAAA,EAAU,EAAA,WAAA,QAAA,KAAA,EAAA,EAAA,EAAA,CAK3B,EAAS;CAAE,MAAM;CAAS,WAAW;CAAA,CAAA,CAAA,EAAqB,EAAA,WAAA,mBAAA,KAAA,EAAA,EAAA,EAAA,CAE1D,GAAA,CAAA,EAAO,EAAA,WAAA,YAAA,KAAA,EAAA,EAAA,IAAA,EAAA,CAhDR,EAAc,yBAAA,CAAA,EAAyB,EAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-
|
|
1
|
+
require(`./chunk-CncqDLb2.cjs`);const e=require(`./mixins-CsYsIJOI.cjs`),t=require(`./active-host-jH3iloCR.cjs`);let n=require(`rxjs`),r=require(`rxjs/operators`),i=require(`lit/directives/style-map.js`),a=require(`lit/decorators.js`),o=require(`lit`);var s=class extends e.c{constructor(...e){super(...e),this.minDuration=1500,this.auto=!1,this.initiallyHidden=!1,this._visible=!0}static{this.styles=[o.css`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
position: relative;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splash-screen-
|
|
1
|
+
{"version":3,"file":"splash-screen-DeoPRrOu.cjs","names":[],"sources":["../src/splash-screen/splash-screen.ts"],"sourcesContent":["import { SchmancyElement } from '@mixins/index'\nimport { css, html } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { styleMap } from 'lit/directives/style-map.js'\nimport { fromEvent, of, timer, zip } from 'rxjs'\nimport { take, takeUntil, tap } from 'rxjs/operators'\n\nexport type SchmancySplashScreenDoneEvent = CustomEvent<void>\n\n/**\n * Full-viewport splash overlay that dismisses once a minimum duration has\n * elapsed and (optionally) an external `ready` signal has fired. The splash\n * fades out while the underlying app content fades in.\n *\n * Bring-your-own visuals: the `splash` slot is empty by default so the\n * component pulls in no dependencies. Provide a logo, spinner, or\n * animation from the consumer side.\n *\n * @element schmancy-splash-screen\n * @slot splash - Content rendered on the splash layer (logo, spinner, etc.).\n * @slot - Default slot for the actual app content, revealed once dismissed.\n * @fires schmancy-splash-done - `CustomEvent<void>` when the splash dismisses.\n *\n * @example\n * ```html\n * <schmancy-splash-screen min-duration=\"1200\">\n * <my-logo slot=\"splash\"></my-logo>\n * <my-app></my-app>\n * </schmancy-splash-screen>\n * ```\n */\n@customElement('schmancy-splash-screen')\nexport default class SchmancySplashScreen extends SchmancyElement {\n\tstatic styles = [css`\n\t:host {\n\t\tdisplay: block;\n\t\tposition: relative;\n\t}\n\n\t.splash-layer {\n\t\tposition: fixed;\n\t\tinset: 0;\n\t\tz-index: 50;\n\t\toverflow: hidden;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tbackground: var(\n\t\t\t--schmancy-splash-background,\n\t\t\tvar(--schmancy-sys-color-surface-containerLowest, #000)\n\t\t);\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-out;\n\t}\n\n\t.content-layer {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttransition: opacity var(--schmancy-splash-transition, 500ms) ease-in-out;\n\t}\n`]\n\n\t/**\n\t * Minimum duration (ms) the splash layer stays visible. Prevents a flash\n\t * when the app loads faster than expected.\n\t */\n\t@property({ type: Number, attribute: 'min-duration' }) minDuration = 1500\n\n\t/**\n\t * When true, the splash dismisses on the `minDuration` timer alone.\n\t * When false (default), it additionally waits for an external ready signal\n\t * (a `ready` event on this element, or a call to `this.ready()`).\n\t */\n\t@property({ type: Boolean }) auto = false\n\n\t/**\n\t * When true, the splash starts hidden. Use this for imperative control.\n\t */\n\t@property({ type: Boolean, attribute: 'initially-hidden' }) initiallyHidden = false\n\n\t@state() private _visible = true\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback()\n\n\t\tif (this.initiallyHidden) {\n\t\t\tthis._visible = false\n\t\t\treturn\n\t\t}\n\n\t\tconst readySignal$ = this.auto ? of(null) : fromEvent<Event>(this, 'ready').pipe(take(1))\n\t\tconst minTimer$ = timer(this.minDuration)\n\n\t\tzip(readySignal$, minTimer$)\n\t\t\t.pipe(\n\t\t\t\ttake(1),\n\t\t\t\ttap(() => this._dismiss()),\n\t\t\t\ttakeUntil(this.disconnecting),\n\t\t\t)\n\t\t\t.subscribe()\n\t}\n\n\t/**\n\t * Imperative API: signal that the app is ready and dismiss the splash\n\t * after the minimum duration has elapsed.\n\t */\n\tpublic ready(): void {\n\t\tthis.dispatchEvent(new Event('ready'))\n\t}\n\n\t/**\n\t * Force the splash to show again (e.g. between route transitions).\n\t */\n\tpublic show(): void {\n\t\tthis._visible = true\n\t}\n\n\tprivate _dismiss(): void {\n\t\tthis._visible = false\n\t\tthis.dispatchEvent(\n\t\t\tnew CustomEvent<void>('schmancy-splash-done', {\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t}),\n\t\t)\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=\"splash-layer\"\n\t\t\t\taria-hidden=${!this._visible}\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '1' : '0',\n\t\t\t\t\tpointerEvents: this._visible ? 'auto' : 'none',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot name=\"splash\"></slot>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclass=\"content-layer\"\n\t\t\t\tstyle=${styleMap({\n\t\t\t\t\topacity: this._visible ? '0' : '1',\n\t\t\t\t\tpointerEvents: this._visible ? 'none' : 'auto',\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t`\n\t}\n}\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'schmancy-splash-screen': SchmancySplashScreen\n\t}\n}\n"],"mappings":"4PAgCe,IAAA,EAAA,cAAmC,EAAA,CAAA,CAAA,YAAA,GAAA,EAAA,CAAA,MAAA,GAAA,EAAA,CAAA,KAAA,YAiCoB,KAAA,KAAA,KAAA,CAOjC,EAAA,KAAA,gBAAA,CAK0C,EAAA,KAAA,SAAA,CAElD,EAAA,OAAA,KAAA,OA9CZ,CAAC,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDpB,mBAAA,CACC,MAAM,mBAAA,CAEF,KAAK,gBACR,KAAK,SAAA,CAAW,GAOjB,EAAA,EAAA,KAHqB,KAAK,MAAA,EAAA,EAAA,IAAU,KAAA,EAAK,EAAA,EAAA,WAAoB,KAAM,QAAA,CAAS,MAAA,EAAA,EAAA,MAAU,EAAA,CAAA,EAAG,EAAA,EAAA,OACjE,KAAK,YAAA,CAAA,CAG3B,MAAA,EAAA,EAAA,MACK,EAAA,EAAE,EAAA,EAAA,SACG,KAAK,UAAA,CAAA,EAAW,EAAA,EAAA,WAChB,KAAK,cAAA,CAAA,CAEf,WAAA,CAOH,OAAA,CACC,KAAK,cAAc,IAAI,MAAM,QAAA,CAAA,CAM9B,MAAA,CACC,KAAK,SAAA,CAAW,EAGjB,UAAA,CACC,KAAK,SAAA,CAAW,EAChB,KAAK,cACJ,IAAI,YAAkB,uBAAwB,CAC7C,QAAA,CAAS,EACT,SAAA,CAAU,EAAA,CAAA,CAAA,CAKb,QAAA,CACC,MAAO,GAAA,IAAI;;;mBAGM,KAAK,SAAA;2BACH,CAChB,QAAS,KAAK,SAAW,IAAM,IAC/B,cAAe,KAAK,SAAW,OAAS,OAAA,CAAA,CAAA;;;;;;2BAOxB,CAChB,QAAS,KAAK,SAAW,IAAM,IAC/B,cAAe,KAAK,SAAW,OAAS,OAAA,CAAA,CAAA;;;;0BA7ElC,CAAE,KAAM,OAAQ,UAAW,eAAA,CAAA,CAAA,CAAiB,EAAA,UAAA,cAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAO5C,CAAE,KAAM,QAAA,CAAA,CAAA,CAAU,EAAA,UAAA,OAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,UAKlB,CAAE,KAAM,QAAS,UAAW,mBAAA,CAAA,CAAA,CAAqB,EAAA,UAAA,kBAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,QAAA,CAAA,CAEnD,EAAA,UAAA,WAAA,IAAA,GAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,eAhDM,yBAAA,CAAA,CAAyB,EAAA"}
|
package/dist/splash-screen.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./splash-screen-
|
|
1
|
+
require(`./splash-screen-DeoPRrOu.cjs`);
|
package/dist/splash-screen.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import "./splash-screen-
|
|
1
|
+
import "./splash-screen-CUP_elaT.js";
|