@mhmo91/schmancy 0.10.24 → 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-CvdVfCnN.js → overlay.confirm-body-DozUyDYx.js} +242 -242
- package/dist/agent/{overlay.confirm-body-CvdVfCnN.js.map → overlay.confirm-body-DozUyDYx.js.map} +1 -1
- package/dist/agent/schmancy.agent.js +5658 -2927
- package/dist/agent/schmancy.agent.js.map +1 -1
- package/dist/{area-A_oUP4P1.js → area-1EG1LrkX.js} +1 -1
- package/dist/{area-A_oUP4P1.js.map → area-1EG1LrkX.js.map} +1 -1
- package/dist/{area-BuqdaUpQ.cjs → area-DrVE5pXW.cjs} +1 -1
- package/dist/{area-BuqdaUpQ.cjs.map → area-DrVE5pXW.cjs.map} +1 -1
- package/dist/area.cjs +1 -1
- package/dist/area.js +1 -1
- package/dist/{autocomplete-Cy46gJxK.cjs → autocomplete-6pdZxEab.cjs} +1 -1
- package/dist/{autocomplete-Cy46gJxK.cjs.map → autocomplete-6pdZxEab.cjs.map} +1 -1
- package/dist/{autocomplete-BoCWO26L.js → autocomplete-nrIcCilw.js} +2 -2
- package/dist/{autocomplete-BoCWO26L.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-B0h5fuAA.js → boat--fLgbDAE.js} +3 -3
- package/dist/{boat-B0h5fuAA.js.map → boat--fLgbDAE.js.map} +1 -1
- package/dist/{boat-RRtBhD3x.cjs → boat-BIB-gPqy.cjs} +1 -1
- package/dist/{boat-RRtBhD3x.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-Bn6Pioo8.cjs → busy-DVCIxBVf.cjs} +1 -1
- package/dist/{busy-Bn6Pioo8.cjs.map → busy-DVCIxBVf.cjs.map} +1 -1
- package/dist/{busy-DObY7lfu.js → busy-DshZcVZ4.js} +1 -1
- package/dist/{busy-DObY7lfu.js.map → busy-DshZcVZ4.js.map} +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/{button-DEi3M2nV.js → button-D9UJ7I6Z.js} +2 -2
- package/dist/{button-DEi3M2nV.js.map → button-D9UJ7I6Z.js.map} +1 -1
- package/dist/{button-XfdPzfZQ.cjs → button-JrTMzwHY.cjs} +1 -1
- package/dist/{button-XfdPzfZQ.cjs.map → button-JrTMzwHY.cjs.map} +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.js +1 -1
- package/dist/{card-jzUQK0EQ.js → card-BvCFuX3J.js} +2 -2
- package/dist/{card-jzUQK0EQ.js.map → card-BvCFuX3J.js.map} +1 -1
- package/dist/{card-BjUgRzFh.cjs → card-CTotavhH.cjs} +1 -1
- package/dist/{card-BjUgRzFh.cjs.map → card-CTotavhH.cjs.map} +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/{checkbox-rskgUBxQ.cjs → checkbox-By4fFmjt.cjs} +1 -1
- package/dist/{checkbox-rskgUBxQ.cjs.map → checkbox-By4fFmjt.cjs.map} +1 -1
- package/dist/{checkbox-CfCm1vGN.js → checkbox-GPsdCUbs.js} +1 -1
- package/dist/{checkbox-CfCm1vGN.js.map → checkbox-GPsdCUbs.js.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-Dfim_tQv.js → chips-27umqnat.js} +4 -4
- package/dist/{chips-Dfim_tQv.js.map → chips-27umqnat.js.map} +1 -1
- package/dist/{chips-BiNZKu0J.cjs → chips-BZf9sGA8.cjs} +1 -1
- package/dist/{chips-BiNZKu0J.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-em7OwhlK.cjs → date-range-BJnLWCRF.cjs} +1 -1
- package/dist/{date-range-em7OwhlK.cjs.map → date-range-BJnLWCRF.cjs.map} +1 -1
- package/dist/{date-range-inline-DYeqoBIO.cjs → date-range-inline-B6uKUliV.cjs} +1 -1
- package/dist/{date-range-inline-DYeqoBIO.cjs.map → date-range-inline-B6uKUliV.cjs.map} +1 -1
- package/dist/{date-range-inline-BfUL8_vX.js → date-range-inline-BNbbRfIA.js} +1 -1
- package/dist/{date-range-inline-BfUL8_vX.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-B8zoj6Cj.js → date-range-wDVHcr0u.js} +2 -2
- package/dist/{date-range-B8zoj6Cj.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-D246xN83.js → details-Ckxpwacj.js} +4 -4
- package/dist/{details-D246xN83.js.map → details-Ckxpwacj.js.map} +1 -1
- package/dist/{details-CNM1tuma.cjs → details-DNrWIes6.cjs} +1 -1
- package/dist/{details-CNM1tuma.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-CbIp1je9.js → divider-BzcZGo4S.js} +1 -1
- package/dist/{divider-CbIp1je9.js.map → divider-BzcZGo4S.js.map} +1 -1
- package/dist/{divider-DaKsGNW-.cjs → divider-Cde33ivs.cjs} +1 -1
- package/dist/{divider-DaKsGNW-.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-DRkiO4vw.js → expand-DI144OzN.js} +3 -3
- package/dist/{expand-DRkiO4vw.js.map → expand-DI144OzN.js.map} +1 -1
- package/dist/{expand-CQDm3BF3.cjs → expand-Db4V0jj-.cjs} +1 -1
- package/dist/{expand-CQDm3BF3.cjs.map → expand-Db4V0jj-.cjs.map} +1 -1
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/{float-5O26zNRh.cjs → float--RScf9BZ.cjs} +1 -1
- package/dist/{float-5O26zNRh.cjs.map → float--RScf9BZ.cjs.map} +1 -1
- package/dist/{float-CZtu8FnO.js → float-DIyzy1c2.js} +1 -1
- package/dist/{float-CZtu8FnO.js.map → float-DIyzy1c2.js.map} +1 -1
- package/dist/float.cjs +1 -1
- package/dist/float.js +1 -1
- package/dist/{form-B90CMeqs.cjs → form-DWNpOsIU.cjs} +1 -1
- package/dist/{form-B90CMeqs.cjs.map → form-DWNpOsIU.cjs.map} +1 -1
- package/dist/{form-CE6Gwz4r.js → form-RtXH8UHQ.js} +8 -8
- package/dist/{form-CE6Gwz4r.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-D98csbEo.cjs → iframe-B1XWRaLC.cjs} +1 -1
- package/dist/{iframe-D98csbEo.cjs.map → iframe-B1XWRaLC.cjs.map} +1 -1
- package/dist/{iframe-C3PMj1MD.js → iframe-BlHK0cjy.js} +1 -1
- package/dist/{iframe-C3PMj1MD.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-_y92Pzon.cjs → input-C-_XU9AX.cjs} +1 -1
- package/dist/{input-_y92Pzon.cjs.map → input-C-_XU9AX.cjs.map} +1 -1
- package/dist/{input-CCOkeeVM.js → input-CiGa8Dkl.js} +1 -1
- package/dist/{input-CCOkeeVM.js.map → input-CiGa8Dkl.js.map} +1 -1
- package/dist/{input-chip-CR66MWml.cjs → input-chip-5aYnuRZ_.cjs} +1 -1
- package/dist/{input-chip-CR66MWml.cjs.map → input-chip-5aYnuRZ_.cjs.map} +1 -1
- package/dist/{input-chip-Bzwr5-XL.js → input-chip-l--zCMGR.js} +1 -1
- package/dist/{input-chip-Bzwr5-XL.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 +1 -1
- package/dist/json.js +2 -2
- 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-Bk3ovcVu.cjs → lightbox-CfRDkeeb.cjs} +2 -2
- package/dist/{lightbox-Bk3ovcVu.cjs.map → lightbox-CfRDkeeb.cjs.map} +1 -1
- package/dist/{lightbox-Dl--fEbP.js → lightbox-D9oiu1Nv.js} +2 -2
- package/dist/{lightbox-Dl--fEbP.js.map → lightbox-D9oiu1Nv.js.map} +1 -1
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/{list-B3WI_Nfs.js → list-BOlRka4v.js} +1 -1
- package/dist/{list-B3WI_Nfs.js.map → list-BOlRka4v.js.map} +1 -1
- package/dist/{list-DWngbP2X.cjs → list-CDJi3_Ut.cjs} +1 -1
- package/dist/{list-DWngbP2X.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-CdYjxJqm.cjs → menu-CJaDL2cd.cjs} +1 -1
- package/dist/{menu-CdYjxJqm.cjs.map → menu-CJaDL2cd.cjs.map} +1 -1
- package/dist/{menu-IDhVp6zm.js → menu-XyrLmCi_.js} +2 -2
- package/dist/{menu-IDhVp6zm.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-CllYkvlR.js → notification-CHrEY4u8.js} +2 -2
- package/dist/{notification-CllYkvlR.js.map → notification-CHrEY4u8.js.map} +1 -1
- package/dist/{notification-B3wVUC8l.cjs → notification-DKp4tjaB.cjs} +1 -1
- package/dist/{notification-B3wVUC8l.cjs.map → notification-DKp4tjaB.cjs.map} +1 -1
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-CPOL0nHL.js → option-Vpy4UQ-D.js} +1 -1
- package/dist/{option-CPOL0nHL.js.map → option-Vpy4UQ-D.js.map} +1 -1
- package/dist/{option-cRsdshy8.cjs → option-nRk4MuXH.cjs} +1 -1
- package/dist/{option-cRsdshy8.cjs.map → option-nRk4MuXH.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{overlay-BnTvnNDc.cjs → overlay-HNrWZ4sB.cjs} +1 -1
- package/dist/{overlay-BnTvnNDc.cjs.map → overlay-HNrWZ4sB.cjs.map} +1 -1
- package/dist/{overlay-DJ-vlwtR.js → overlay-jlkcrt8F.js} +5 -5
- package/dist/{overlay-DJ-vlwtR.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-CQ-FwySO.cjs → overlay.confirm-body-B8dFI3cj.cjs} +1 -1
- package/dist/{overlay.confirm-body-CQ-FwySO.cjs.map → overlay.confirm-body-B8dFI3cj.cjs.map} +1 -1
- package/dist/{overlay.confirm-body-DEb9xw5N.js → overlay.confirm-body-CYShkjI6.js} +1 -1
- package/dist/{overlay.confirm-body-DEb9xw5N.js.map → overlay.confirm-body-CYShkjI6.js.map} +1 -1
- package/dist/overlay.js +3 -3
- package/dist/{overlay.service-CKBCIP2f.cjs → overlay.service-BTPn7Uv7.cjs} +1 -1
- package/dist/{overlay.service-CKBCIP2f.cjs.map → overlay.service-BTPn7Uv7.cjs.map} +1 -1
- package/dist/{overlay.service-XM1YHkTk.js → overlay.service-BqhhxVJp.js} +2 -2
- package/dist/{overlay.service-XM1YHkTk.js.map → overlay.service-BqhhxVJp.js.map} +1 -1
- package/dist/{progress-CnMPp-9a.js → progress-8Bn88GK_.js} +1 -1
- package/dist/{progress-CnMPp-9a.js.map → progress-8Bn88GK_.js.map} +1 -1
- package/dist/{progress-CcfLfHOE.cjs → progress-CAp_4jtq.cjs} +1 -1
- package/dist/{progress-CcfLfHOE.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-D97hflrE.cjs → radio-group-CN44mAoc.cjs} +1 -1
- package/dist/{radio-group-D97hflrE.cjs.map → radio-group-CN44mAoc.cjs.map} +1 -1
- package/dist/{radio-group-BUJgfQFi.js → radio-group-GNHA7qJR.js} +1 -1
- package/dist/{radio-group-BUJgfQFi.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-BWEh5nRM.js → select-BnuXRHS4.js} +3 -3
- package/dist/{select-BWEh5nRM.js.map → select-BnuXRHS4.js.map} +1 -1
- package/dist/{select-Cv5Oev6d.cjs → select-DZNns5Pa.cjs} +2 -2
- package/dist/{select-Cv5Oev6d.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-B6w7X2z9.js → splash-screen-CUP_elaT.js} +1 -1
- package/dist/{splash-screen-B6w7X2z9.js.map → splash-screen-CUP_elaT.js.map} +1 -1
- package/dist/{splash-screen-DFtxtO2D.cjs → splash-screen-DeoPRrOu.cjs} +1 -1
- package/dist/{splash-screen-DFtxtO2D.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-D_NK-vMA.js → src-B1VkLX3l.js} +153 -153
- package/dist/{src-D_NK-vMA.js.map → src-B1VkLX3l.js.map} +1 -1
- package/dist/{src-Asw6A018.cjs → src-DQ4wr0qq.cjs} +13 -13
- package/dist/{src-Asw6A018.cjs.map → src-DQ4wr0qq.cjs.map} +1 -1
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +1 -1
- package/dist/{surface-B94ka2LY.cjs → surface-LkaZQXZn.cjs} +1 -1
- package/dist/{surface-B94ka2LY.cjs.map → surface-LkaZQXZn.cjs.map} +1 -1
- package/dist/{surface-ctBcRGSZ.js → surface-hOvkrjGN.js} +1 -1
- package/dist/{surface-ctBcRGSZ.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 +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-CrMx5z_y.js → tabs-CfwIHhHo.js} +1 -1
- package/dist/{tabs-CrMx5z_y.js.map → tabs-CfwIHhHo.js.map} +1 -1
- package/dist/{tabs-B7kaZIom.cjs → tabs-bplzstz6.cjs} +1 -1
- package/dist/{tabs-B7kaZIom.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-DeHFl80i.js → textarea-C1A5xuw9.js} +1 -1
- package/dist/{textarea-DeHFl80i.js.map → textarea-C1A5xuw9.js.map} +1 -1
- package/dist/{textarea-D1crj8JD.cjs → textarea-hrDp5gQq.cjs} +1 -1
- package/dist/{textarea-D1crj8JD.cjs.map → textarea-hrDp5gQq.cjs.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-C7Yo33nh.js → theme-BniFOMEo.js} +3 -3
- package/dist/{theme-C7Yo33nh.js.map → theme-BniFOMEo.js.map} +1 -1
- package/dist/{theme-wE2N7Yu9.cjs → theme-DmR6PKV8.cjs} +2 -2
- package/dist/{theme-wE2N7Yu9.cjs.map → theme-DmR6PKV8.cjs.map} +1 -1
- package/dist/{theme-button-Cpc_hs2O.js → theme-button--ruZIb0T.js} +1 -1
- package/dist/{theme-button-Cpc_hs2O.js.map → theme-button--ruZIb0T.js.map} +1 -1
- package/dist/{theme-button-CXSM5We4.cjs → theme-button-a0LgZ7hQ.cjs} +1 -1
- package/dist/{theme-button-CXSM5We4.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-JtkeHoxS.js → window-BT9JecWy.js} +5 -5
- package/dist/{window-JtkeHoxS.js.map → window-BT9JecWy.js.map} +1 -1
- package/dist/{window-Ck_zS4bb.cjs → window-Bp7zWZpu.cjs} +1 -1
- package/dist/{window-Ck_zS4bb.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/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/navigation-rail/navigation-rail-item.ts +7 -12
- package/src/navigation-rail/navigation-rail.ts +0 -2
- package/types/mixins/SchmancyElement.d.ts +31 -0
- 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-B7ppo07M.cjs +0 -33
- package/dist/icons-B7ppo07M.cjs.map +0 -1
- package/dist/icons-CGhozJ5v.js +0 -48
- package/dist/icons-CGhozJ5v.js.map +0 -1
- package/dist/mixins-BPUR4Kc4.cjs +0 -254
- package/dist/mixins-BPUR4Kc4.cjs.map +0 -1
- package/dist/mixins-C42OILRS.js +0 -636
- package/dist/mixins-C42OILRS.js.map +0 -1
- package/dist/skills/page.md +0 -84
- package/dist/skills/schmancy/page.md +0 -84
- 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
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Art Directive Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the art directive animation system.
|
|
5
|
+
*/
|
|
6
|
+
import type { ParticlePool } from './particle-pool';
|
|
7
|
+
export type ArtEffect = 'funkhaus' | 'samwa' | 'howl' | 'error' | 'snow' | 'starfield';
|
|
8
|
+
export interface ArtOptions {
|
|
9
|
+
name: ArtEffect;
|
|
10
|
+
color: string;
|
|
11
|
+
/** Animation intensity: 0 = none, 0.5 = subtle, 1 = full (default: 1) */
|
|
12
|
+
intensity?: number;
|
|
13
|
+
/** Animation speed multiplier: 0.5 = half speed, 1 = normal, 2 = double (default: 1) */
|
|
14
|
+
speed?: number;
|
|
15
|
+
}
|
|
16
|
+
export interface Particle<T extends SVGElement = SVGElement> {
|
|
17
|
+
element: T;
|
|
18
|
+
x: number;
|
|
19
|
+
y: number;
|
|
20
|
+
vx: number;
|
|
21
|
+
vy: number;
|
|
22
|
+
life: number;
|
|
23
|
+
rotation?: number;
|
|
24
|
+
scale?: number;
|
|
25
|
+
phase?: number;
|
|
26
|
+
}
|
|
27
|
+
/** Extended physics particle used by samwa + snow effects. */
|
|
28
|
+
export interface FallingParticle {
|
|
29
|
+
element: SVGPathElement;
|
|
30
|
+
x: number;
|
|
31
|
+
y: number;
|
|
32
|
+
vx: number;
|
|
33
|
+
vy: number;
|
|
34
|
+
life: number;
|
|
35
|
+
rotation: number;
|
|
36
|
+
phase: number;
|
|
37
|
+
sizeIndex: number;
|
|
38
|
+
depthIndex: number;
|
|
39
|
+
tumbleDirection: number;
|
|
40
|
+
flutterAmplitude: number;
|
|
41
|
+
flutterFrequency: number;
|
|
42
|
+
spawnTime: number;
|
|
43
|
+
}
|
|
44
|
+
export interface ArtState {
|
|
45
|
+
effect: ArtEffect;
|
|
46
|
+
color: string;
|
|
47
|
+
intensity: number;
|
|
48
|
+
speed: number;
|
|
49
|
+
element: HTMLElement;
|
|
50
|
+
overlayElement?: HTMLElement;
|
|
51
|
+
animationId?: number;
|
|
52
|
+
isVisible: boolean;
|
|
53
|
+
observer?: IntersectionObserver;
|
|
54
|
+
funkhaus?: {
|
|
55
|
+
panes: Array<{
|
|
56
|
+
element: SVGRectElement;
|
|
57
|
+
diagonalIndex: number;
|
|
58
|
+
}>;
|
|
59
|
+
maxDiagonal: number;
|
|
60
|
+
startTime: number;
|
|
61
|
+
};
|
|
62
|
+
samwa?: {
|
|
63
|
+
leafPool: ParticlePool<SVGPathElement>;
|
|
64
|
+
fallingLeaves: FallingParticle[];
|
|
65
|
+
windStrength: number;
|
|
66
|
+
windDirection: number;
|
|
67
|
+
lastWindTime: number;
|
|
68
|
+
lastLeafSpawn: number;
|
|
69
|
+
startTime: number;
|
|
70
|
+
};
|
|
71
|
+
howl?: {
|
|
72
|
+
gears: Array<{
|
|
73
|
+
element: SVGElement;
|
|
74
|
+
speed: number;
|
|
75
|
+
}>;
|
|
76
|
+
sparkles: Array<{
|
|
77
|
+
element: SVGPathElement;
|
|
78
|
+
baseX: number;
|
|
79
|
+
baseY: number;
|
|
80
|
+
phase: number;
|
|
81
|
+
speed: number;
|
|
82
|
+
}>;
|
|
83
|
+
steamPool: ParticlePool<SVGCircleElement>;
|
|
84
|
+
steamParticles: Particle<SVGCircleElement>[];
|
|
85
|
+
wisps: SVGPathElement[];
|
|
86
|
+
crystals: Array<{
|
|
87
|
+
element: SVGPolygonElement;
|
|
88
|
+
baseX: number;
|
|
89
|
+
baseY: number;
|
|
90
|
+
phase: number;
|
|
91
|
+
rotSpeed: number;
|
|
92
|
+
}>;
|
|
93
|
+
lastSteamSpawn: number;
|
|
94
|
+
startTime: number;
|
|
95
|
+
};
|
|
96
|
+
error?: {
|
|
97
|
+
edges: SVGRectElement[];
|
|
98
|
+
staticParticles: Array<{
|
|
99
|
+
element: SVGCircleElement;
|
|
100
|
+
edge: number;
|
|
101
|
+
}>;
|
|
102
|
+
boltPool: ParticlePool<SVGPathElement>;
|
|
103
|
+
lightningBolts: Particle<SVGPathElement>[];
|
|
104
|
+
lastLightningSpawn: number;
|
|
105
|
+
startTime: number;
|
|
106
|
+
};
|
|
107
|
+
snow?: {
|
|
108
|
+
snowflakePool: ParticlePool<SVGPathElement>;
|
|
109
|
+
fallingSnowflakes: FallingParticle[];
|
|
110
|
+
windStrength: number;
|
|
111
|
+
windDirection: number;
|
|
112
|
+
windPhase: number;
|
|
113
|
+
lastWindGust: number;
|
|
114
|
+
lastSpawn: number;
|
|
115
|
+
startTime: number;
|
|
116
|
+
};
|
|
117
|
+
starfield?: {
|
|
118
|
+
groups: Array<{
|
|
119
|
+
element: HTMLDivElement;
|
|
120
|
+
appearDelay: number;
|
|
121
|
+
twinkleDuration: number;
|
|
122
|
+
twinkleDelay: number;
|
|
123
|
+
}>;
|
|
124
|
+
startTime: number;
|
|
125
|
+
};
|
|
126
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Futuristic Battery Fill Directive
|
|
3
|
+
*
|
|
4
|
+
* A next-gen energy indicator with holographic effects, scan lines, and sci-fi aesthetics.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* html`<div ${futureCell({ percent: 75, variant: 'cyber' })}>POWER CORE</div>`
|
|
9
|
+
* html`<div ${futureCell({ percent: 50, variant: 'hologram' })}>ENERGY CELL</div>`
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
import { AsyncDirective } from 'lit/async-directive.js';
|
|
13
|
+
import type { ElementPart } from 'lit';
|
|
14
|
+
export type FutureCellVariant = 'cyber' | 'hologram' | 'plasma' | 'quantum' | 'matrix' | 'neon' | 'success' | 'warning' | 'danger';
|
|
15
|
+
export interface FutureCellOptions {
|
|
16
|
+
/** Fill percentage (0-100+) */
|
|
17
|
+
percent: number;
|
|
18
|
+
/** Visual variant */
|
|
19
|
+
variant?: FutureCellVariant;
|
|
20
|
+
/** Auto-select variant based on inventory status (≥80% = success/green, 50-79% = warning/yellow, <50% = danger/red) */
|
|
21
|
+
autoVariant?: boolean;
|
|
22
|
+
/** Custom accent color */
|
|
23
|
+
accentColor?: string;
|
|
24
|
+
/** Show digital readout */
|
|
25
|
+
showReadout?: boolean;
|
|
26
|
+
/** Show scan lines */
|
|
27
|
+
showScanLines?: boolean;
|
|
28
|
+
/** Show particles */
|
|
29
|
+
showParticles?: boolean;
|
|
30
|
+
/** Show hexagonal grid */
|
|
31
|
+
showGrid?: boolean;
|
|
32
|
+
/** Show glitch effects */
|
|
33
|
+
showGlitch?: boolean;
|
|
34
|
+
/** Intensity of effects (0-1) */
|
|
35
|
+
intensity?: number;
|
|
36
|
+
/** Animation speed multiplier */
|
|
37
|
+
speed?: number;
|
|
38
|
+
/** Enable critical state animations (when low or overfill) */
|
|
39
|
+
criticalEffects?: boolean;
|
|
40
|
+
/** Glass container effect */
|
|
41
|
+
glassEffect?: boolean;
|
|
42
|
+
/** Animation duration for fill transitions (ms) */
|
|
43
|
+
duration?: number;
|
|
44
|
+
}
|
|
45
|
+
declare class FutureCellDirective extends AsyncDirective {
|
|
46
|
+
private element;
|
|
47
|
+
private container;
|
|
48
|
+
private fillElement;
|
|
49
|
+
private energyWave;
|
|
50
|
+
private scanLine;
|
|
51
|
+
private particlesCanvas;
|
|
52
|
+
private particlesCtx;
|
|
53
|
+
private hexGrid;
|
|
54
|
+
private readout;
|
|
55
|
+
private dataStreams;
|
|
56
|
+
private glitchLayer;
|
|
57
|
+
private styleElement;
|
|
58
|
+
private options;
|
|
59
|
+
private variant;
|
|
60
|
+
private currentVariantName;
|
|
61
|
+
private particles;
|
|
62
|
+
private animationFrame;
|
|
63
|
+
private lastTime;
|
|
64
|
+
private currentPercent;
|
|
65
|
+
private originalStyles;
|
|
66
|
+
private resizeObserver;
|
|
67
|
+
/** Effective speed scales with fill %: low fill = calm, high fill = vivid */
|
|
68
|
+
private getEffectiveSpeed;
|
|
69
|
+
render(_options: FutureCellOptions): symbol;
|
|
70
|
+
update(part: ElementPart, [options]: [FutureCellOptions]): symbol;
|
|
71
|
+
private storeOriginalStyles;
|
|
72
|
+
private setupElement;
|
|
73
|
+
private createStructure;
|
|
74
|
+
private createFill;
|
|
75
|
+
private createEnergyWave;
|
|
76
|
+
private createHexGrid;
|
|
77
|
+
private createHexPattern;
|
|
78
|
+
private createScanLines;
|
|
79
|
+
private createParticles;
|
|
80
|
+
private resizeCanvas;
|
|
81
|
+
private setupResizeObserver;
|
|
82
|
+
private initParticles;
|
|
83
|
+
private spawnParticle;
|
|
84
|
+
private createDataStreams;
|
|
85
|
+
private createGlitchLayer;
|
|
86
|
+
private createReadout;
|
|
87
|
+
private updateColors;
|
|
88
|
+
private startAnimation;
|
|
89
|
+
private animate;
|
|
90
|
+
private updateParticles;
|
|
91
|
+
private hexToRGBA;
|
|
92
|
+
private updateFill;
|
|
93
|
+
disconnected(): void;
|
|
94
|
+
}
|
|
95
|
+
export declare const futureCell: (_options: FutureCellOptions) => import("lit-html/directive").DirectiveResult<typeof FutureCellDirective>;
|
|
96
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Beta directive — gates content behind a configurable predicate.
|
|
3
|
+
*
|
|
4
|
+
* The consumer app registers a predicate (e.g. "user belongs to internal org")
|
|
5
|
+
* via `setBetaPredicate(...)`. Until then, `isBeta()` returns `false` and the
|
|
6
|
+
* directive renders the fallback.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { beta, setBetaPredicate } from '@mhmo91/schmancy'
|
|
11
|
+
*
|
|
12
|
+
* // App boot — wire the predicate
|
|
13
|
+
* setBetaPredicate(() => currentUser.email.endsWith('@example.com'))
|
|
14
|
+
*
|
|
15
|
+
* // Templates — renders nothing for non-beta users
|
|
16
|
+
* ${beta(html`<my-beta-feature></my-beta-feature>`)}
|
|
17
|
+
*
|
|
18
|
+
* // With fallback
|
|
19
|
+
* ${beta(html`<beta-ui></beta-ui>`, html`<coming-soon></coming-soon>`)}
|
|
20
|
+
*
|
|
21
|
+
* // Imperative check
|
|
22
|
+
* if (isBeta()) { ... }
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
import { nothing, type TemplateResult } from 'lit';
|
|
26
|
+
type Content = TemplateResult | typeof nothing | string | unknown;
|
|
27
|
+
/** Register a predicate that decides whether the current user has beta access. */
|
|
28
|
+
export declare function setBetaPredicate(fn: () => boolean): void;
|
|
29
|
+
/** Returns true if the current user has beta access. */
|
|
30
|
+
export declare function isBeta(): boolean;
|
|
31
|
+
/** Render content only for beta users, otherwise render fallback (default: nothing). */
|
|
32
|
+
export declare function beta(content: Content, fallback?: Content): Content;
|
|
33
|
+
export {};
|
|
@@ -10,18 +10,12 @@ import { ElementPart } from 'lit/directive.js';
|
|
|
10
10
|
* the box; inner scroll containers (apply `overflowWithin()` on the
|
|
11
11
|
* appropriate cell) handle scrolling.
|
|
12
12
|
*
|
|
13
|
-
* Layout is the consumer's responsibility — apply Tailwind classes
|
|
14
|
-
* (`grid grid-cols-[auto_1fr] grid-rows-[1fr]`, `flex`, etc.) on the same
|
|
15
|
-
* element to express the layout. The directive provides the definite-pixel
|
|
16
|
-
* box; the consumer decides how it's divided.
|
|
17
|
-
*
|
|
18
|
-
* Cascade-independent — measurement is taken in viewport coordinates
|
|
19
|
-
* rather than computed from CSS, so the directive works regardless of
|
|
20
|
-
* what the element's ancestors declare.
|
|
21
|
-
*
|
|
22
13
|
* Reactive sources: window/visualViewport resize + scroll, orientation
|
|
23
14
|
* change, iOS keyboard focus-out, parent/element ResizeObserver, theme
|
|
24
|
-
* fullscreen toggle, theme bottom offset
|
|
15
|
+
* fullscreen toggle, theme bottom offset. Updates are frame-aligned via
|
|
16
|
+
* `auditTime(0, animationFrameScheduler)` — the latest emission of any
|
|
17
|
+
* source applies once per paint, so the box tracks continuous resize
|
|
18
|
+
* drags without missing the final state.
|
|
25
19
|
*
|
|
26
20
|
* @example sidebar + main
|
|
27
21
|
* <app-shell
|
|
@@ -35,7 +29,6 @@ import { ElementPart } from 'lit/directive.js';
|
|
|
35
29
|
declare class Fill extends AsyncDirective {
|
|
36
30
|
private element;
|
|
37
31
|
private disconnecting$;
|
|
38
|
-
private apply;
|
|
39
32
|
private subscribe;
|
|
40
33
|
render(): void;
|
|
41
34
|
update(part: ElementPart): void;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FYI Directive — cute animated emoji indicators.
|
|
3
|
+
*
|
|
4
|
+
* Shows adorable emoji indicators with timing control, position options, and
|
|
5
|
+
* animation styles. Perfect for subtle hints, onboarding nudges, or playful UI
|
|
6
|
+
* feedback.
|
|
7
|
+
*
|
|
8
|
+
* **Overlay-aware**: Waits for sheets/dialogs to close before showing.
|
|
9
|
+
* **Requires emoji**: Without an emoji, this directive has no visible effect.
|
|
10
|
+
* For shimmer effects, use `nebula()` (header) or `<schmancy-fancy>` (cards).
|
|
11
|
+
*
|
|
12
|
+
* ## Cleanup pattern (Lit AsyncDirective)
|
|
13
|
+
*
|
|
14
|
+
* - `disconnected()`: releases all resources when the directive leaves use.
|
|
15
|
+
* - `reconnected()`: restores working state when the directive returns to use.
|
|
16
|
+
* - `isConnected`: checked before subscribing to prevent memory leaks.
|
|
17
|
+
*
|
|
18
|
+
* @see https://lit.dev/docs/templates/custom-directives/#async-directives
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* // Basic emoji hint
|
|
23
|
+
* html`<button ${fyi('☝️')}>Select folder</button>`
|
|
24
|
+
*
|
|
25
|
+
* // Emoji with position
|
|
26
|
+
* html`<button ${fyi({ emoji: '☝️', position: 'bottom' })}>Select folder</button>`
|
|
27
|
+
*
|
|
28
|
+
* // Full options
|
|
29
|
+
* html`<button ${fyi({
|
|
30
|
+
* emoji: '🎉',
|
|
31
|
+
* position: 'bottom',
|
|
32
|
+
* showAfter: 500,
|
|
33
|
+
* hideAfter: 3000,
|
|
34
|
+
* animation: 'bounce',
|
|
35
|
+
* })}>Celebrate!</button>`
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
import { AsyncDirective } from 'lit/async-directive.js';
|
|
39
|
+
import type { ElementPart } from 'lit';
|
|
40
|
+
export type FyiPosition = 'auto' | 'top' | 'bottom' | 'left' | 'right';
|
|
41
|
+
export type FyiAnimation = 'point' | 'bounce' | 'pulse' | 'none';
|
|
42
|
+
export interface FyiOptions {
|
|
43
|
+
/** The emoji to display (omit for shimmer-only mode) */
|
|
44
|
+
emoji?: string;
|
|
45
|
+
/** Where to position the indicator (default: 'auto') */
|
|
46
|
+
position?: FyiPosition;
|
|
47
|
+
/** Delay in ms before showing (default: 0) */
|
|
48
|
+
showAfter?: number;
|
|
49
|
+
/** Duration in ms before auto-hiding (omit to stay visible) */
|
|
50
|
+
hideAfter?: number;
|
|
51
|
+
/** Animation type (default: 'point') */
|
|
52
|
+
animation?: FyiAnimation;
|
|
53
|
+
/** Duration of one shimmer cycle in ms (default: 3000) */
|
|
54
|
+
shimmerDuration?: number;
|
|
55
|
+
}
|
|
56
|
+
declare class FyiDirective extends AsyncDirective {
|
|
57
|
+
private state;
|
|
58
|
+
private destroy$;
|
|
59
|
+
private subscriptions;
|
|
60
|
+
render(_options?: FyiOptions): symbol;
|
|
61
|
+
update(part: ElementPart, [options]: [FyiOptions?]): symbol;
|
|
62
|
+
private scheduleShow;
|
|
63
|
+
private waitForOverlaysClear;
|
|
64
|
+
private show;
|
|
65
|
+
private applyAnimation;
|
|
66
|
+
private getPointingKeyframes;
|
|
67
|
+
private scheduleHide;
|
|
68
|
+
private hide;
|
|
69
|
+
private restoreStyles;
|
|
70
|
+
private getPositionTransform;
|
|
71
|
+
private cleanup;
|
|
72
|
+
disconnected(): void;
|
|
73
|
+
reconnected(): void;
|
|
74
|
+
}
|
|
75
|
+
export declare const fyi: (_options?: FyiOptions) => import("lit-html/directive").DirectiveResult<typeof FyiDirective>;
|
|
76
|
+
export {};
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hummingbird Directive - Realistic hummingbird flight animation
|
|
3
|
+
*
|
|
4
|
+
* PERFORMANCE OPTIMIZATIONS:
|
|
5
|
+
* 1. Use CSS transforms only (GPU-accelerated, no layout/paint)
|
|
6
|
+
* 2. will-change hints for compositor optimization
|
|
7
|
+
* 3. Single RAF loop, no nested animations
|
|
8
|
+
* 4. Minimize DOM operations
|
|
9
|
+
* 5. Pre-calculate values where possible
|
|
10
|
+
* 6. Use CSS animations for constant motion (wing blur)
|
|
11
|
+
*
|
|
12
|
+
* Based on scientific research:
|
|
13
|
+
* - Wing beat ~43Hz (PMC3311889)
|
|
14
|
+
* - Forward speed 13 m/s / 30mph (Britannica)
|
|
15
|
+
* - Figure-8 hover pattern (Royal Society)
|
|
16
|
+
*
|
|
17
|
+
* ANIMATION STATES (State Machine):
|
|
18
|
+
* - idle: waiting for delay
|
|
19
|
+
* - flying: moving between waypoints
|
|
20
|
+
* - hovering: figure-8 pattern at waypoint
|
|
21
|
+
* - spiraling: approaching black hole
|
|
22
|
+
* - absorbed: being sucked into black hole
|
|
23
|
+
* - done: cleanup complete
|
|
24
|
+
*/
|
|
25
|
+
import { AsyncDirective } from 'lit/async-directive.js';
|
|
26
|
+
import type { ElementPart } from 'lit';
|
|
27
|
+
/**
|
|
28
|
+
* Element reference for waypoints/target:
|
|
29
|
+
* - CSS selector (e.g., '#app-card-melanie', '.my-class') - event-based discovery
|
|
30
|
+
* - Component tag name (e.g., 'schmancy-fancy') - event-based discovery
|
|
31
|
+
* - HTMLElement reference directly
|
|
32
|
+
*/
|
|
33
|
+
type ElementRef = string | HTMLElement;
|
|
34
|
+
/** Waypoint with optional duration control */
|
|
35
|
+
interface Waypoint {
|
|
36
|
+
ref: ElementRef;
|
|
37
|
+
duration?: number;
|
|
38
|
+
}
|
|
39
|
+
interface HummingbirdOptions {
|
|
40
|
+
/** Waypoints the bird visits in sequence */
|
|
41
|
+
waypoints?: (ElementRef | Waypoint)[];
|
|
42
|
+
/** Where the bird returns home (triggers black hole effect). If omitted, bird fades out after last waypoint. */
|
|
43
|
+
home?: ElementRef;
|
|
44
|
+
/** Delay before starting flight (ms) */
|
|
45
|
+
delay?: number;
|
|
46
|
+
/** Whether the hummingbird should be playing. When false, cleans up and pauses. Defaults to true. */
|
|
47
|
+
playing?: boolean;
|
|
48
|
+
/** Show animated connection lines between visited waypoints. Defaults to false. */
|
|
49
|
+
showConnections?: boolean;
|
|
50
|
+
}
|
|
51
|
+
declare class HummingbirdDirective extends AsyncDirective {
|
|
52
|
+
private state$;
|
|
53
|
+
private destroyed$;
|
|
54
|
+
private visible$;
|
|
55
|
+
private bird;
|
|
56
|
+
private blackHole;
|
|
57
|
+
private particles;
|
|
58
|
+
private trailCanvas;
|
|
59
|
+
private trailCtx;
|
|
60
|
+
private lastTrailPos;
|
|
61
|
+
private rafId;
|
|
62
|
+
private context;
|
|
63
|
+
private element;
|
|
64
|
+
private options;
|
|
65
|
+
private hasHome;
|
|
66
|
+
/**
|
|
67
|
+
* Convert viewport coordinates to host-relative coordinates.
|
|
68
|
+
* getBoundingClientRect() returns viewport coords; we subtract the host's rect.
|
|
69
|
+
*/
|
|
70
|
+
private toHostRelative;
|
|
71
|
+
render(_options?: boolean | HummingbirdOptions): symbol;
|
|
72
|
+
update(part: ElementPart, [options]: [boolean | HummingbirdOptions | undefined]): symbol;
|
|
73
|
+
private initStateMachine;
|
|
74
|
+
private handleStateTransition;
|
|
75
|
+
private createBird;
|
|
76
|
+
/** Current bird color — empty until `discoverInitialColor()` resolves a theme color. */
|
|
77
|
+
private currentColor;
|
|
78
|
+
/**
|
|
79
|
+
* Discover initial theme color from nearest schmancy-theme.
|
|
80
|
+
* Dispatches event FROM the host element so it bubbles up to nearest theme.
|
|
81
|
+
*/
|
|
82
|
+
private discoverInitialColor;
|
|
83
|
+
/**
|
|
84
|
+
* Discover and update bird color based on current destination's theme.
|
|
85
|
+
* Dispatches event FROM the destination element so it bubbles to its nearest theme.
|
|
86
|
+
*/
|
|
87
|
+
private updateBirdColor;
|
|
88
|
+
/**
|
|
89
|
+
* Discover all waypoint elements and return their positions with element references.
|
|
90
|
+
* Supports both simple ElementRef and Waypoint objects with duration.
|
|
91
|
+
* Uses RxJS forkJoin for parallel discovery.
|
|
92
|
+
*/
|
|
93
|
+
private discoverWaypoints;
|
|
94
|
+
/**
|
|
95
|
+
* Discover a single element by reference using event-based discovery.
|
|
96
|
+
* - HTMLElement: return directly
|
|
97
|
+
* - String (CSS selector or component tag): use discover() service
|
|
98
|
+
*/
|
|
99
|
+
private discoverElement;
|
|
100
|
+
/**
|
|
101
|
+
* Get position from an element reference (includes element for theme discovery).
|
|
102
|
+
* Target uses center position (for black hole effect).
|
|
103
|
+
*/
|
|
104
|
+
private getPosition;
|
|
105
|
+
/**
|
|
106
|
+
* Update all destination positions from their stored element references.
|
|
107
|
+
* Called on window resize/scroll to keep positions accurate.
|
|
108
|
+
*/
|
|
109
|
+
private updateDestinationPositions;
|
|
110
|
+
private startAnimationLoop;
|
|
111
|
+
private tickFlying;
|
|
112
|
+
/** Active shimmer overlay for current waypoint */
|
|
113
|
+
private shimmerOverlay;
|
|
114
|
+
private shimmerAnimation;
|
|
115
|
+
/** Active pulse rings for current waypoint */
|
|
116
|
+
private pulseRings;
|
|
117
|
+
private tickHovering;
|
|
118
|
+
/**
|
|
119
|
+
* Check if an element is sufficiently visible (opacity > 0.5 and not hidden)
|
|
120
|
+
* Uses 0.5 threshold to wait for CSS transitions to be halfway done
|
|
121
|
+
*/
|
|
122
|
+
private isElementVisible;
|
|
123
|
+
/** Check if element is within the viewport bounds (with padding so bird doesn't fly to edges) */
|
|
124
|
+
private isInViewport;
|
|
125
|
+
/**
|
|
126
|
+
* Show shimmer effect on an element (similar to fyi directive)
|
|
127
|
+
*/
|
|
128
|
+
private showShimmer;
|
|
129
|
+
/**
|
|
130
|
+
* Hide and cleanup shimmer effect
|
|
131
|
+
*/
|
|
132
|
+
private hideShimmer;
|
|
133
|
+
/**
|
|
134
|
+
* Fade out bird gracefully (when no home defined)
|
|
135
|
+
*/
|
|
136
|
+
private fadeOutBird;
|
|
137
|
+
/**
|
|
138
|
+
* Fade out bird and all visual elements gracefully before cleanup (when playing becomes false)
|
|
139
|
+
*/
|
|
140
|
+
private fadeOutAndCleanup;
|
|
141
|
+
/**
|
|
142
|
+
* Show expanding pulse rings at position (like ripple/wave effect)
|
|
143
|
+
*/
|
|
144
|
+
private showPulseRings;
|
|
145
|
+
private tickSpiraling;
|
|
146
|
+
/** Store home element for distortion effect */
|
|
147
|
+
private homeElement;
|
|
148
|
+
/**
|
|
149
|
+
* Start gravitational shake/wobble effect on the home element during absorption
|
|
150
|
+
*/
|
|
151
|
+
private startHostDistortion;
|
|
152
|
+
private tickAbsorbed;
|
|
153
|
+
/** Additional visual elements for enhanced blackhole */
|
|
154
|
+
private accretionDisks;
|
|
155
|
+
private lensingRing;
|
|
156
|
+
private eventHorizon;
|
|
157
|
+
private createBlackHole;
|
|
158
|
+
private addParticles;
|
|
159
|
+
private collapseBlackHole;
|
|
160
|
+
/**
|
|
161
|
+
* Create the canvas for real-time trail rendering
|
|
162
|
+
*/
|
|
163
|
+
private ensureTrailCanvas;
|
|
164
|
+
/**
|
|
165
|
+
* Draw trail segment from last position to current position
|
|
166
|
+
*/
|
|
167
|
+
private drawTrail;
|
|
168
|
+
/**
|
|
169
|
+
* Reset trail position (called when starting new flight segment)
|
|
170
|
+
*/
|
|
171
|
+
private resetTrail;
|
|
172
|
+
/**
|
|
173
|
+
* Fade out the entire trail canvas
|
|
174
|
+
*/
|
|
175
|
+
private fadeTrail;
|
|
176
|
+
private cleanup;
|
|
177
|
+
disconnected(): void;
|
|
178
|
+
}
|
|
179
|
+
export declare const hummingbird: (_options?: boolean | HummingbirdOptions) => import("lit-html/directive").DirectiveResult<typeof HummingbirdDirective>;
|
|
180
|
+
export {};
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export * from './animate-text';
|
|
2
|
+
export * from './ai-badge';
|
|
3
|
+
export * from './art';
|
|
4
|
+
export * from './battery';
|
|
5
|
+
export * from './beta';
|
|
2
6
|
export * from './color';
|
|
3
7
|
export * from './confirm-click';
|
|
4
8
|
export * from './cursor-glow';
|
|
@@ -6,15 +10,20 @@ export * from './cycle-text';
|
|
|
6
10
|
export * from './depth-of-field';
|
|
7
11
|
export * from './drag';
|
|
8
12
|
export * from './fill';
|
|
13
|
+
export * from './fyi';
|
|
9
14
|
export * from './gravity';
|
|
15
|
+
export * from './hummingbird';
|
|
10
16
|
export * from './intersect';
|
|
11
17
|
export * from './layout';
|
|
12
18
|
export * from './liquid';
|
|
13
19
|
export * from './living-border';
|
|
14
20
|
export * from './long-press';
|
|
15
21
|
export * from './magnetic';
|
|
22
|
+
export * from './missed-punch';
|
|
16
23
|
export * from './nebula';
|
|
17
24
|
export * from './reduced-motion';
|
|
18
25
|
export * from './reveal';
|
|
19
26
|
export * from './ripple';
|
|
20
27
|
export * from './overflow-within';
|
|
28
|
+
export * from './urgent';
|
|
29
|
+
export * from './working-snake';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Missed Punch directive — shattering glass effect for incomplete attendance.
|
|
3
|
+
*
|
|
4
|
+
* Renders an animated shattering/fragmenting overlay when an employee has only
|
|
5
|
+
* one punch on a past date, indicating they forgot to punch out.
|
|
6
|
+
*
|
|
7
|
+
* Visual: glass shards/fragments flying outward with a crack pattern.
|
|
8
|
+
*/
|
|
9
|
+
import type { ElementPart } from 'lit';
|
|
10
|
+
import { AsyncDirective } from 'lit/async-directive.js';
|
|
11
|
+
export interface MissedPunchOptions {
|
|
12
|
+
active: boolean;
|
|
13
|
+
color?: string;
|
|
14
|
+
width?: number;
|
|
15
|
+
}
|
|
16
|
+
declare class MissedPunchDirective extends AsyncDirective {
|
|
17
|
+
private state;
|
|
18
|
+
render(_options: MissedPunchOptions): symbol;
|
|
19
|
+
update(part: ElementPart, [options]: [MissedPunchOptions]): symbol;
|
|
20
|
+
private createOverlay;
|
|
21
|
+
private generateShardPoints;
|
|
22
|
+
private setupVisibilityObserver;
|
|
23
|
+
private startAnimation;
|
|
24
|
+
private cleanup;
|
|
25
|
+
disconnected(): void;
|
|
26
|
+
}
|
|
27
|
+
export declare const missedPunch: (_options: MissedPunchOptions) => import("lit-html/directive").DirectiveResult<typeof MissedPunchDirective>;
|
|
28
|
+
export {};
|