@mhmo91/schmancy 0.9.12 → 0.9.14
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/README.md +34 -0
- package/custom-elements.json +236 -0
- package/dist/agent/flow-CaPi2G8y.js.map +1 -0
- package/dist/agent/schmancy.agent.js +36474 -0
- package/dist/agent/schmancy.agent.js.map +1 -0
- package/dist/agent/schmancy.manifest.json +7027 -0
- package/dist/agent/vendor-highlight-CHJZQQB7.js +2178 -0
- package/dist/agent/vendor-highlight-CHJZQQB7.js.map +1 -0
- package/dist/agent/vendor-jsqr-r7GNh4P3.js +10212 -0
- package/dist/agent/vendor-jsqr-r7GNh4P3.js.map +1 -0
- package/dist/agent/vendor-material-color-Be96dpGE.js +3309 -0
- package/dist/agent/vendor-material-color-Be96dpGE.js.map +1 -0
- package/dist/{animation-Bcwh107v.cjs.map → animation-CQRdLgzX.cjs.map} +1 -1
- package/dist/{animation-CXKSuUoE.js.map → animation-hXFClrIn.js.map} +1 -1
- package/dist/{area-CBjmKtN-.cjs → area-DBjAhgjP.cjs} +2 -2
- package/dist/area-DBjAhgjP.cjs.map +1 -0
- package/dist/{area-CjX0Ckh9.js → area-Dr4I9R2p.js} +23 -35
- package/dist/area-Dr4I9R2p.js.map +1 -0
- package/dist/area.cjs +1 -1
- package/dist/area.js +3 -2
- package/dist/{audio-DUVz7Ars.cjs → audio-Dvr-RBzE.cjs} +1 -1
- package/dist/{audio-DUVz7Ars.cjs.map → audio-Dvr-RBzE.cjs.map} +1 -1
- package/dist/{audio-C7TzWI8M.js → audio-ql6nvY0y.js} +1 -1
- package/dist/{audio-C7TzWI8M.js.map → audio-ql6nvY0y.js.map} +1 -1
- package/dist/audio.cjs +1 -1
- package/dist/audio.js +2 -2
- package/dist/{autocomplete-ppoaK_GD.js → autocomplete-CgWUCUU-.js} +3 -3
- package/dist/{autocomplete-ppoaK_GD.js.map → autocomplete-CgWUCUU-.js.map} +1 -1
- package/dist/{autocomplete-WQxz4VGO.cjs → autocomplete-EM0jE7X2.cjs} +1 -1
- package/dist/{autocomplete-WQxz4VGO.cjs.map → autocomplete-EM0jE7X2.cjs.map} +1 -1
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/{boat-C-T9RDiG.cjs → boat-BjYJI1HS.cjs} +1 -1
- package/dist/{boat-C-T9RDiG.cjs.map → boat-BjYJI1HS.cjs.map} +1 -1
- package/dist/{boat-C4JnoakD.js → boat-Dw8TmOzN.js} +4 -4
- package/dist/{boat-C4JnoakD.js.map → boat-Dw8TmOzN.js.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-BMRUS_Ns.cjs → busy-BmiumJpB.cjs} +1 -1
- package/dist/{busy-BMRUS_Ns.cjs.map → busy-BmiumJpB.cjs.map} +1 -1
- package/dist/{busy-DuV4A5PX.js → busy-D2hP3fOy.js} +1 -1
- package/dist/{busy-DuV4A5PX.js.map → busy-D2hP3fOy.js.map} +1 -1
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.cjs.map +1 -1
- package/dist/button.js +4 -4
- package/dist/button.js.map +1 -1
- package/dist/{card-DBjGfCxi.cjs → card-BslSqOsf.cjs} +1 -1
- package/dist/{card-DBjGfCxi.cjs.map → card-BslSqOsf.cjs.map} +1 -1
- package/dist/{card-DzXRouJC.js → card-CEdgK9nb.js} +2 -2
- package/dist/{card-DzXRouJC.js.map → card-CEdgK9nb.js.map} +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/charts.cjs +1 -1
- package/dist/charts.js +1 -1
- package/dist/{checkbox-BwuhSBDG.js → checkbox-Br84TiCs.js} +2 -2
- package/dist/{checkbox-BwuhSBDG.js.map → checkbox-Br84TiCs.js.map} +1 -1
- package/dist/{checkbox-BibOr-sJ.cjs → checkbox-DtcFMgZL.cjs} +1 -1
- package/dist/{checkbox-BibOr-sJ.cjs.map → checkbox-DtcFMgZL.cjs.map} +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-DiB2BfTQ.js → chips-BNYOweGm.js} +5 -5
- package/dist/{chips-DiB2BfTQ.js.map → chips-BNYOweGm.js.map} +1 -1
- package/dist/{chips-D5QvIKt6.cjs → chips-DoCu5YQb.cjs} +1 -1
- package/dist/{chips-D5QvIKt6.cjs.map → chips-DoCu5YQb.cjs.map} +1 -1
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/chunk-BM5alsTp.js +18 -0
- package/dist/chunk-CncqDLb2.cjs +1 -0
- package/dist/{code-highlight-B5_zONzv.js → code-highlight-BgExKEto.js} +1 -1
- package/dist/{code-highlight-B5_zONzv.js.map → code-highlight-BgExKEto.js.map} +1 -1
- package/dist/{code-highlight-Q2x2hrWg.cjs → code-highlight-zSYcSfCz.cjs} +1 -1
- package/dist/{code-highlight-Q2x2hrWg.cjs.map → code-highlight-zSYcSfCz.cjs.map} +1 -1
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/{components-CjLqW8Jp.js → components-DjKNS9R_.js} +1 -1
- package/dist/{components-CjLqW8Jp.js.map → components-DjKNS9R_.js.map} +1 -1
- package/dist/{components-jfFxyq6z.cjs → components-TJT8-tva.cjs} +1 -1
- package/dist/{components-jfFxyq6z.cjs.map → components-TJT8-tva.cjs.map} +1 -1
- package/dist/components.cjs +1 -1
- package/dist/components.js +1 -1
- package/dist/connectivity.cjs +1 -1
- package/dist/connectivity.js +2 -2
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +1 -1
- package/dist/context-CAYQh-mx.cjs +1 -0
- package/dist/{context-BRtGc7PP.cjs.map → context-CAYQh-mx.cjs.map} +1 -1
- package/dist/context-D8Q66KPe.js +3 -0
- package/dist/{context-DgD3c6q-.js.map → context-D8Q66KPe.js.map} +1 -1
- package/dist/{cursor-glow-C2YRrB8Z.js → cursor-glow-BydlDInj.js} +1 -1
- package/dist/{cursor-glow-C2YRrB8Z.js.map → cursor-glow-BydlDInj.js.map} +1 -1
- package/dist/{cursor-glow-82y5h3E4.cjs → cursor-glow-Duw9jHmh.cjs} +1 -1
- package/dist/{cursor-glow-82y5h3E4.cjs.map → cursor-glow-Duw9jHmh.cjs.map} +1 -1
- package/dist/{date-range-DF5ROfrb.cjs → date-range-CIWYm3eS.cjs} +1 -1
- package/dist/{date-range-DF5ROfrb.cjs.map → date-range-CIWYm3eS.cjs.map} +1 -1
- package/dist/{date-range-inline-LLC3Y0mi.cjs → date-range-inline-B9Dp2z6C.cjs} +1 -1
- package/dist/{date-range-inline-LLC3Y0mi.cjs.map → date-range-inline-B9Dp2z6C.cjs.map} +1 -1
- package/dist/{date-range-inline-B_g1YXu3.js.map → date-range-inline-CpKG6qt2.js.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/{date-range-Dcy8GSov.js → date-range-sGkC0KF3.js} +4 -4
- package/dist/{date-range-Dcy8GSov.js.map → date-range-sGkC0KF3.js.map} +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/{delay-aQRihOO4.cjs → delay-Bu4WMQlV.cjs} +1 -1
- package/dist/{delay-aQRihOO4.cjs.map → delay-Bu4WMQlV.cjs.map} +1 -1
- package/dist/{delay-B7TvigGw.js → delay-DwX65fSc.js} +4 -4
- package/dist/{delay-B7TvigGw.js.map → delay-DwX65fSc.js.map} +1 -1
- package/dist/delay.cjs +1 -1
- package/dist/delay.js +1 -1
- package/dist/{details-Cs8yStsJ.cjs → details-B8p62xmR.cjs} +1 -1
- package/dist/{details-Cs8yStsJ.cjs.map → details-B8p62xmR.cjs.map} +1 -1
- package/dist/{details-DfYDNHuv.js → details-CCW52lzz.js} +5 -5
- package/dist/{details-DfYDNHuv.js.map → details-CCW52lzz.js.map} +1 -1
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-service-DXLGSshF.cjs → dialog-service-CzDO08Gy.cjs} +1 -1
- package/dist/{dialog-service-DXLGSshF.cjs.map → dialog-service-CzDO08Gy.cjs.map} +1 -1
- package/dist/{dialog-service-CCFGpU7a.js → dialog-service-DH-tjPuE.js} +2 -2
- package/dist/{dialog-service-CCFGpU7a.js.map → dialog-service-DH-tjPuE.js.map} +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.cjs.map +1 -1
- package/dist/dialog.js +5 -5
- package/dist/directives.cjs +1 -1
- package/dist/directives.cjs.map +1 -1
- package/dist/directives.js +5 -5
- package/dist/directives.js.map +1 -1
- package/dist/discovery.cjs +1 -1
- package/dist/{divider-DE9pcMw3.js → divider-CbEWg3G_.js} +1 -1
- package/dist/{divider-DE9pcMw3.js.map → divider-CbEWg3G_.js.map} +1 -1
- package/dist/{divider-DY4ocl-Z.cjs → divider-JyyFw_3J.cjs} +1 -1
- package/dist/{divider-DY4ocl-Z.cjs.map → divider-JyyFw_3J.cjs.map} +1 -1
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/dropdown.cjs +1 -1
- package/dist/dropdown.js +2 -2
- package/dist/{expand-Cuu9u0j5.cjs → expand-BmwIPNjq.cjs} +1 -1
- package/dist/{expand-Cuu9u0j5.cjs.map → expand-BmwIPNjq.cjs.map} +1 -1
- package/dist/{expand-Cwis2Y6U.js → expand-bFa_qVDT.js} +4 -4
- package/dist/{expand-Cwis2Y6U.js.map → expand-bFa_qVDT.js.map} +1 -1
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/{extra-DRIgrdHx.cjs → extra-BUgyMgjl.cjs} +1 -1
- package/dist/{extra-DRIgrdHx.cjs.map → extra-BUgyMgjl.cjs.map} +1 -1
- package/dist/{extra-DoxLBpZ-.js → extra-HwbaUnCD.js} +1 -1
- package/dist/{extra-DoxLBpZ-.js.map → extra-HwbaUnCD.js.map} +1 -1
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/float-BQwhfibw.cjs +1 -0
- package/dist/{float-I4wePTk7.cjs.map → float-BQwhfibw.cjs.map} +1 -1
- package/dist/{float-2aPqW2lz.js → float-D5ezUurt.js} +1 -1
- package/dist/{float-2aPqW2lz.js.map → float-D5ezUurt.js.map} +1 -1
- package/dist/float.cjs +1 -1
- package/dist/float.js +1 -1
- package/dist/flow-BGkHnOnd.js +386 -0
- package/dist/{flow-BPDtbhLe.js.map → flow-BGkHnOnd.js.map} +1 -1
- package/dist/{flow-Dn9AZktE.cjs.map → flow-ClAJ6Qby.cjs.map} +1 -1
- package/dist/{form-C1qS9uvS.js.map → form-rCZqoAoK.js.map} +1 -1
- package/dist/{form-CzD0JLxM.cjs → form-wI58M85H.cjs} +1 -1
- package/dist/{form-CzD0JLxM.cjs.map → form-wI58M85H.cjs.map} +1 -1
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/{hashContent-BUqULUiZ.js.map → hashContent-B2IntJQf.js.map} +1 -1
- package/dist/{hashContent-CI39BY-_.cjs.map → hashContent-CahnEuut.cjs.map} +1 -1
- package/dist/{icons-UOqapID2.cjs → icons-B6V3nZ4-.cjs} +1 -1
- package/dist/{icons-UOqapID2.cjs.map → icons-B6V3nZ4-.cjs.map} +1 -1
- package/dist/{icons-DDQBxhDC.js → icons-C5-DIjet.js} +2 -2
- package/dist/{icons-DDQBxhDC.js.map → icons-C5-DIjet.js.map} +1 -1
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{iframe-CMTUyiz1.js → iframe-BXBsuLwt.js} +1 -1
- package/dist/{iframe-CMTUyiz1.js.map → iframe-BXBsuLwt.js.map} +1 -1
- package/dist/{iframe-FZCULDVM.cjs → iframe-C7sHg7RC.cjs} +1 -1
- package/dist/{iframe-FZCULDVM.cjs.map → iframe-C7sHg7RC.cjs.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 +53 -52
- package/dist/{input-DIuyi3Gm.cjs → input-BGNZlfL8.cjs} +1 -1
- package/dist/{input-DIuyi3Gm.cjs.map → input-BGNZlfL8.cjs.map} +1 -1
- package/dist/{input-HzweUBSn.js → input-Bc3bVISm.js} +1 -1
- package/dist/{input-HzweUBSn.js.map → input-Bc3bVISm.js.map} +1 -1
- package/dist/{input-chip-Bt2Lzi-2.js → input-chip-CiG61y-N.js} +1 -1
- package/dist/{input-chip-Bt2Lzi-2.js.map → input-chip-CiG61y-N.js.map} +1 -1
- package/dist/{input-chip-nghCxe9L.cjs → input-chip-p24lkYtY.cjs} +1 -1
- package/dist/{input-chip-nghCxe9L.cjs.map → input-chip-p24lkYtY.cjs.map} +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/{intersection-C0JuW_7U.js.map → intersection-BrXp4YTO.js.map} +1 -1
- package/dist/{intersection-MvbRovUz.cjs → intersection-DqBqnpgh.cjs} +1 -1
- package/dist/{intersection-MvbRovUz.cjs.map → intersection-DqBqnpgh.cjs.map} +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-DHt4hK1n.cjs → layout-B0_IXfov.cjs} +1 -1
- package/dist/{layout-DHt4hK1n.cjs.map → layout-B0_IXfov.cjs.map} +1 -1
- package/dist/{layout-PZCF3kwl.cjs → layout-CTfRXQoz.cjs} +1 -1
- package/dist/{layout-PZCF3kwl.cjs.map → layout-CTfRXQoz.cjs.map} +1 -1
- package/dist/{layout-BUq6VVj0.js → layout-Cqghi_rx.js} +2 -2
- package/dist/{layout-BUq6VVj0.js.map → layout-Cqghi_rx.js.map} +1 -1
- package/dist/{layout-BE2ld1IY.js → layout-fjM1DWlF.js} +1 -1
- package/dist/{layout-BE2ld1IY.js.map → layout-fjM1DWlF.js.map} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +2 -2
- package/dist/lazy-BDNnH_r7.cjs +1 -0
- package/dist/lazy-BDNnH_r7.cjs.map +1 -0
- package/dist/lazy-D6R5N5v4.js +13 -0
- package/dist/lazy-D6R5N5v4.js.map +1 -0
- package/dist/{lightbox-CbAbyhzE.cjs → lightbox-BWKTzA03.cjs} +1 -1
- package/dist/{lightbox-CbAbyhzE.cjs.map → lightbox-BWKTzA03.cjs.map} +1 -1
- package/dist/{lightbox-p_uYC9Hy.js → lightbox-CnCTvqSu.js} +3 -3
- package/dist/{lightbox-p_uYC9Hy.js.map → lightbox-CnCTvqSu.js.map} +1 -1
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/{list-DG1shv4_.js → list-BpjKUOzM.js} +2 -2
- package/dist/{list-DG1shv4_.js.map → list-BpjKUOzM.js.map} +1 -1
- package/dist/{list-pvbKwpnz.cjs → list-CMWHu6cV.cjs} +1 -1
- package/dist/{list-pvbKwpnz.cjs.map → list-CMWHu6cV.cjs.map} +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{litElement.mixin-BLb2kIHg.js → litElement.mixin-BnNYZ24e.js} +1 -1
- package/dist/{litElement.mixin-BLb2kIHg.js.map → litElement.mixin-BnNYZ24e.js.map} +1 -1
- package/dist/{litElement.mixin-Bx9Avv0M.cjs → litElement.mixin-CtQOmwq6.cjs} +1 -1
- package/dist/{litElement.mixin-Bx9Avv0M.cjs.map → litElement.mixin-CtQOmwq6.cjs.map} +1 -1
- package/dist/{magnetic-Dj52WplI.js → magnetic-BhXebqF3.js} +2 -2
- package/dist/{magnetic-Dj52WplI.js.map → magnetic-BhXebqF3.js.map} +1 -1
- package/dist/{magnetic-aBBnj_vk.cjs → magnetic-CVXEkYTA.cjs} +1 -1
- package/dist/{magnetic-aBBnj_vk.cjs.map → magnetic-CVXEkYTA.cjs.map} +1 -1
- package/dist/{mailbox-BCRplIro.js → mailbox-CHIpxS3W.js} +5 -5
- package/dist/{mailbox-BCRplIro.js.map → mailbox-CHIpxS3W.js.map} +1 -1
- package/dist/{mailbox-CZevIxwZ.cjs → mailbox-Tg1CROVz.cjs} +1 -1
- package/dist/{mailbox-CZevIxwZ.cjs.map → mailbox-Tg1CROVz.cjs.map} +1 -1
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-BUcxWqBH.js → map-YY1Q4FWO.js} +1 -1
- package/dist/{map-BUcxWqBH.js.map → map-YY1Q4FWO.js.map} +1 -1
- package/dist/{map-C6kDkAju.cjs → map-Z_dsu-dv.cjs} +1 -1
- package/dist/{map-C6kDkAju.cjs.map → map-Z_dsu-dv.cjs.map} +1 -1
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{menu-BleltblR.js → menu-BIBUgS1T.js} +2 -2
- package/dist/{menu-BleltblR.js.map → menu-BIBUgS1T.js.map} +1 -1
- package/dist/{menu-DhmDz_js.cjs → menu-DS8Iz4fJ.cjs} +1 -1
- package/dist/{menu-DhmDz_js.cjs.map → menu-DS8Iz4fJ.cjs.map} +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- 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 +1 -1
- package/dist/navigation-rail.js +1 -1
- package/dist/{notification-DvrozLTu.js → notification-ChAvNXf3.js} +3 -3
- package/dist/notification-ChAvNXf3.js.map +1 -0
- package/dist/{notification-BT84PlwC.cjs → notification-DPUkuifB.cjs} +1 -1
- package/dist/notification-DPUkuifB.cjs.map +1 -0
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/{option-EEYkHd44.js → option-Ci7C8xxh.js} +1 -1
- package/dist/{option-EEYkHd44.js.map → option-Ci7C8xxh.js.map} +1 -1
- package/dist/{option-y5FY8sz-.cjs → option-OIp0joyN.cjs} +1 -1
- package/dist/{option-y5FY8sz-.cjs.map → option-OIp0joyN.cjs.map} +1 -1
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{overlay-stack-J_eJCUTX.cjs.map → overlay-stack-7bs4ZNnh.cjs.map} +1 -1
- package/dist/{overlay-stack-BJt_r6aZ.js.map → overlay-stack-DXPYHPhk.js.map} +1 -1
- package/dist/overlay.cjs +130 -0
- package/dist/overlay.cjs.map +1 -0
- package/dist/overlay.js +570 -0
- package/dist/overlay.js.map +1 -0
- package/dist/page.cjs +1 -1
- package/dist/page.cjs.map +1 -1
- package/dist/page.js +4 -4
- package/dist/{progress-B1if5cWu.cjs → progress-32Cad1NX.cjs} +1 -1
- package/dist/{progress-B1if5cWu.cjs.map → progress-32Cad1NX.cjs.map} +1 -1
- package/dist/{progress-B8nfhvrc.js → progress-DGkwPgDX.js} +1 -1
- package/dist/{progress-B8nfhvrc.js.map → progress-DGkwPgDX.js.map} +1 -1
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/{provide-BEMtticm.js → provide-BuzyBLGj.js} +1 -1
- package/dist/{provide-BEMtticm.js.map → provide-BuzyBLGj.js.map} +1 -1
- package/dist/{provide-BbFbvIEk.cjs → provide-MvHcXKzT.cjs} +1 -1
- package/dist/{provide-BbFbvIEk.cjs.map → provide-MvHcXKzT.cjs.map} +1 -1
- package/dist/qr-scanner.cjs +1 -1
- package/dist/qr-scanner.js +1 -1
- package/dist/{radio-group-DKXbC-jL.js → radio-group-B72sYGnS.js} +1 -1
- package/dist/{radio-group-DKXbC-jL.js.map → radio-group-B72sYGnS.js.map} +1 -1
- package/dist/{radio-group-DafTK0PB.cjs → radio-group-B7DuNxUq.cjs} +1 -1
- package/dist/{radio-group-DafTK0PB.cjs.map → radio-group-B7DuNxUq.cjs.map} +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/range.cjs +1 -1
- package/dist/range.js +1 -1
- package/dist/{reduced-motion-DR32yKEO.cjs → reduced-motion-9RjNnhIg.cjs} +1 -1
- package/dist/{reduced-motion-DR32yKEO.cjs.map → reduced-motion-9RjNnhIg.cjs.map} +1 -1
- package/dist/{reduced-motion-B83yZbcO.js.map → reduced-motion-BZTLqAyl.js.map} +1 -1
- package/dist/{rxjs-utils-CN9fv8Xq.js → rxjs-utils-CKTnEKUH.js} +1 -1
- package/dist/{rxjs-utils-CN9fv8Xq.js.map → rxjs-utils-CKTnEKUH.js.map} +1 -1
- package/dist/{rxjs-utils-Vn6DCKgL.cjs → rxjs-utils-DJbZRjp3.cjs} +1 -1
- package/dist/{rxjs-utils-Vn6DCKgL.cjs.map → rxjs-utils-DJbZRjp3.cjs.map} +1 -1
- package/dist/rxjs-utils.cjs +1 -1
- package/dist/rxjs-utils.js +1 -1
- package/dist/{scroll-pdsp_9bT.js → scroll-CdmXRXh2.js} +1 -1
- package/dist/{scroll-pdsp_9bT.js.map → scroll-CdmXRXh2.js.map} +1 -1
- package/dist/{scroll-C6Hub5gG.cjs → scroll-V1rAZ9fK.cjs} +1 -1
- package/dist/{scroll-C6Hub5gG.cjs.map → scroll-V1rAZ9fK.cjs.map} +1 -1
- package/dist/{search-BlGJ6uJv.js.map → search-CvUZRLF1.js.map} +1 -1
- package/dist/{search-C8eAOzBm.cjs.map → search-CwMav5QB.cjs.map} +1 -1
- package/dist/{select-Zg9UqtCA.cjs → select-DFxoBgEf.cjs} +1 -1
- package/dist/{select-Zg9UqtCA.cjs.map → select-DFxoBgEf.cjs.map} +1 -1
- package/dist/{select-_Qkleofb.js → select-wFDKDLQI.js} +2 -2
- package/dist/{select-_Qkleofb.js.map → select-wFDKDLQI.js.map} +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-7LWVKgW9.cjs → sheet-DdlZhnDG.cjs} +2 -2
- package/dist/{sheet-7LWVKgW9.cjs.map → sheet-DdlZhnDG.cjs.map} +1 -1
- package/dist/{sheet-N9TET_t_.js → sheet-LFVo5iN4.js} +4 -4
- package/dist/{sheet-N9TET_t_.js.map → sheet-LFVo5iN4.js.map} +1 -1
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/{sheet.service-P2CkJW86.cjs → sheet.service-BfNDB0K0.cjs} +1 -1
- package/dist/{sheet.service-P2CkJW86.cjs.map → sheet.service-BfNDB0K0.cjs.map} +1 -1
- package/dist/{sheet.service-DCe4FOkQ.js → sheet.service-DQE7-_wq.js} +3 -3
- package/dist/{sheet.service-DCe4FOkQ.js.map → sheet.service-DQE7-_wq.js.map} +1 -1
- package/dist/skeleton.cjs +1 -1
- package/dist/skeleton.js +1 -1
- package/dist/skills/INDEX.md +1 -1
- package/dist/skills/overlay.md +200 -0
- package/dist/skills/schmancy/INDEX.md +1 -1
- package/dist/skills/schmancy/overlay.md +200 -0
- package/dist/slider.cjs +1 -1
- package/dist/slider.js +1 -1
- package/dist/{sound.service-BjSoGjmT.cjs → sound.service-BEN6Xjy_.cjs} +1 -1
- package/dist/{sound.service-BjSoGjmT.cjs.map → sound.service-BEN6Xjy_.cjs.map} +1 -1
- package/dist/{sound.service-cdkw3Wkv.js → sound.service-DWZe6swU.js} +1 -1
- package/dist/{sound.service-cdkw3Wkv.js.map → sound.service-DWZe6swU.js.map} +1 -1
- package/dist/{splash-screen-BUKRc46i.cjs → splash-screen-C9HqX2nR.cjs} +1 -1
- package/dist/{splash-screen-BUKRc46i.cjs.map → splash-screen-C9HqX2nR.cjs.map} +1 -1
- package/dist/{splash-screen-B5Sgz7eG.js → splash-screen-COg3Z6n8.js} +1 -1
- package/dist/{splash-screen-B5Sgz7eG.js.map → splash-screen-COg3Z6n8.js.map} +1 -1
- package/dist/splash-screen.cjs +1 -1
- package/dist/splash-screen.js +1 -1
- package/dist/{src-59eVZMmI.js → src-C7niWYur.js} +51 -51
- package/dist/src-C7niWYur.js.map +1 -0
- package/dist/{src-r2bV-AFk.cjs → src-I4M33WK2.cjs} +3 -3
- package/dist/src-I4M33WK2.cjs.map +1 -0
- package/dist/steps.cjs +1 -1
- package/dist/steps.js +3 -3
- package/dist/{store-CO4nJyGj.cjs → store-CjFHCSDb.cjs} +1 -1
- package/dist/{store-CO4nJyGj.cjs.map → store-CjFHCSDb.cjs.map} +1 -1
- package/dist/{store-Bmj6rvZY.js.map → store-CjzZDQt8.js.map} +1 -1
- package/dist/store.cjs +1 -1
- package/dist/store.js +1 -1
- package/dist/{surface-BL6YlaS3.js → surface-0XM4DBaT.js} +2 -2
- package/dist/{surface-BL6YlaS3.js.map → surface-0XM4DBaT.js.map} +1 -1
- package/dist/{surface-B-y5Zzmz.cjs → surface-B6DA01kL.cjs} +1 -1
- package/dist/{surface-B-y5Zzmz.cjs.map → surface-B6DA01kL.cjs.map} +1 -1
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/{surface.mixin-CSKqQH-0.cjs → surface.mixin-DxOi-xo0.cjs} +1 -1
- package/dist/{surface.mixin-CSKqQH-0.cjs.map → surface.mixin-DxOi-xo0.cjs.map} +1 -1
- package/dist/switch.cjs +1 -1
- package/dist/switch.js +1 -1
- package/dist/{table-CzcIcVFc.cjs → table-B-DsOqzT.cjs} +2 -2
- package/dist/{table-CzcIcVFc.cjs.map → table-B-DsOqzT.cjs.map} +1 -1
- package/dist/{table-B0-Pi4G5.js → table-hBEZRxM_.js} +3 -3
- package/dist/{table-B0-Pi4G5.js.map → table-hBEZRxM_.js.map} +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.js +1 -1
- package/dist/{tabs-D-VbZiFu.js → tabs-C7r4TqcX.js} +2 -2
- package/dist/{tabs-D-VbZiFu.js.map → tabs-C7r4TqcX.js.map} +1 -1
- package/dist/{tabs-CzC8kJyY.cjs → tabs-DZaLZUBy.cjs} +1 -1
- package/dist/{tabs-CzC8kJyY.cjs.map → tabs-DZaLZUBy.cjs.map} +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/tailwind.mixin-Bh58QnlW.cjs +2 -0
- package/dist/{tailwind.mixin-ZzkXQTFA.cjs.map → tailwind.mixin-Bh58QnlW.cjs.map} +1 -1
- package/dist/tailwind.mixin-H5Pn7vSJ.js +219 -0
- package/dist/{tailwind.mixin-BCz3GEpw.js.map → tailwind.mixin-H5Pn7vSJ.js.map} +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +1 -1
- package/dist/{textarea-CgB6XptL.cjs → textarea-B2544vx9.cjs} +1 -1
- package/dist/{textarea-CgB6XptL.cjs.map → textarea-B2544vx9.cjs.map} +1 -1
- package/dist/{textarea-ZopeteYQ.js → textarea-CS-KdSLz.js} +1 -1
- package/dist/{textarea-ZopeteYQ.js.map → textarea-CS-KdSLz.js.map} +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-C7As-iVa.js → theme-Cq_c9IO3.js} +7 -7
- package/dist/{theme-C7As-iVa.js.map → theme-Cq_c9IO3.js.map} +1 -1
- package/dist/{theme-D9bRCDs9.cjs → theme-DU5yXaV-.cjs} +1 -1
- package/dist/{theme-D9bRCDs9.cjs.map → theme-DU5yXaV-.cjs.map} +1 -1
- package/dist/{theme-button-D2nMfwSr.cjs → theme-button-CPujUbgV.cjs} +1 -1
- package/dist/{theme-button-D2nMfwSr.cjs.map → theme-button-CPujUbgV.cjs.map} +1 -1
- package/dist/{theme-button-BDXtIhZC.js → theme-button-OJl2ma0u.js} +1 -1
- package/dist/{theme-button-BDXtIhZC.js.map → theme-button-OJl2ma0u.js.map} +1 -1
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{theme.events-EznKK2Y0.cjs.map → theme.events-DakXxZeP.cjs.map} +1 -1
- package/dist/{theme.events-Bw3mYjUA.js.map → theme.events-NuihzD_p.js.map} +1 -1
- package/dist/{theme.interface-Cyqv5XWY.js.map → theme.interface-Buged9Cg.js.map} +1 -1
- package/dist/{theme.interface-CCE3L1ql.cjs.map → theme.interface-DTwkuAKJ.cjs.map} +1 -1
- package/dist/theme.js +5 -5
- package/dist/{theme.service-ETiKUwVy.cjs → theme.service-DxJPUGlu.cjs} +1 -1
- package/dist/{theme.service-ETiKUwVy.cjs.map → theme.service-DxJPUGlu.cjs.map} +1 -1
- package/dist/{theme.service-_qP5WvB9.js → theme.service-cOfPrtfe.js} +2 -2
- package/dist/{theme.service-_qP5WvB9.js.map → theme.service-cOfPrtfe.js.map} +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tree.cjs +1 -1
- package/dist/tree.cjs.map +1 -1
- package/dist/tree.js +1 -1
- package/dist/{tslib.es6-PMITL0Z3.cjs.map → tslib.es6-Cnt75pb6.cjs.map} +1 -1
- package/dist/{tslib.es6-vJQZBGJO.js.map → tslib.es6-DMzzJKHV.js.map} +1 -1
- package/dist/{typewriter-DaTkMEHc.js → typewriter-DyN7xa0n.js} +5 -5
- package/dist/{typewriter-DaTkMEHc.js.map → typewriter-DyN7xa0n.js.map} +1 -1
- package/dist/{typewriter-BjuFsiR3.cjs → typewriter-LK0S4NEr.cjs} +1 -1
- package/dist/{typewriter-BjuFsiR3.cjs.map → typewriter-LK0S4NEr.cjs.map} +1 -1
- package/dist/typewriter.cjs +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.js +1 -1
- package/dist/{utils-C8PD8So2.cjs → utils-2qrmPb78.cjs} +1 -1
- package/dist/{utils-C8PD8So2.cjs.map → utils-2qrmPb78.cjs.map} +1 -1
- package/dist/{utils-DVuCPDfw.js → utils-xBXLvebz.js} +3 -3
- package/dist/{utils-DVuCPDfw.js.map → utils-xBXLvebz.js.map} +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +5 -5
- package/dist/visually-hidden.cjs +1 -1
- package/dist/visually-hidden.js +1 -1
- package/dist/{window-DPSIGCUq.js → window-BWecg8Ih.js} +6 -6
- package/dist/{window-DPSIGCUq.js.map → window-BWecg8Ih.js.map} +1 -1
- package/dist/{window-DAWRoXo1.cjs → window-Cjv2GqSN.cjs} +1 -1
- package/dist/{window-DAWRoXo1.cjs.map → window-Cjv2GqSN.cjs.map} +1 -1
- package/dist/window.cjs +1 -1
- package/dist/window.js +1 -1
- package/package.json +15 -3
- package/skills/schmancy/INDEX.md +1 -1
- package/skills/schmancy/overlay.md +200 -0
- package/src/agent/agent-bundle.test.ts +92 -0
- package/src/agent/agent-entry.ts +17 -0
- package/src/agent/helpers.ts +161 -0
- package/src/agent/index.ts +1 -0
- package/src/agent/schmancy-skill.ts +71 -0
- package/src/agent/virtual-manifest.d.ts +10 -0
- package/src/area/area.service.ts +11 -0
- package/src/content-drawer/drawer.service.ts +9 -0
- package/src/dialog/dialog-service.ts +11 -1
- package/src/notification/notification-service.ts +11 -1
- package/src/overlay/index.ts +15 -0
- package/src/overlay/overlay.animations.ts +137 -0
- package/src/overlay/overlay.component.ts +452 -0
- package/src/overlay/overlay.confirm-body.ts +149 -0
- package/src/overlay/overlay.gestures.ts +131 -0
- package/src/overlay/overlay.layout.ts +76 -0
- package/src/overlay/overlay.service.ts +299 -0
- package/src/overlay/overlay.stack.ts +171 -0
- package/src/overlay/overlay.types.ts +146 -0
- package/src/sheet/sheet.service.ts +10 -0
- package/src/theme/theme.service.ts +11 -1
- package/types/src/agent/agent-bundle.test.d.ts +1 -0
- package/types/src/agent/agent-entry.d.ts +4 -0
- package/types/src/agent/helpers.d.ts +87 -0
- package/types/src/agent/index.d.ts +1 -0
- package/types/src/agent/schmancy-skill.d.ts +33 -0
- package/types/src/area/area.service.d.ts +11 -0
- package/types/src/content-drawer/drawer.service.d.ts +9 -0
- package/types/src/dialog/dialog-service.d.ts +11 -1
- package/types/src/notification/notification-service.d.ts +11 -1
- package/types/src/overlay/index.d.ts +5 -0
- package/types/src/overlay/overlay.animations.d.ts +26 -0
- package/types/src/overlay/overlay.component.d.ts +48 -0
- package/types/src/overlay/overlay.confirm-body.d.ts +42 -0
- package/types/src/overlay/overlay.gestures.d.ts +39 -0
- package/types/src/overlay/overlay.layout.d.ts +48 -0
- package/types/src/overlay/overlay.service.d.ts +62 -0
- package/types/src/overlay/overlay.stack.d.ts +25 -0
- package/types/src/overlay/overlay.types.d.ts +122 -0
- package/types/src/sheet/sheet.service.d.ts +9 -0
- package/types/src/theme/theme.service.d.ts +11 -0
- package/dist/area-CBjmKtN-.cjs.map +0 -1
- package/dist/area-CjX0Ckh9.js.map +0 -1
- package/dist/chunk-BCfY8kxB.cjs +0 -1
- package/dist/context-BRtGc7PP.cjs +0 -1
- package/dist/context-DgD3c6q-.js +0 -3
- package/dist/float-I4wePTk7.cjs +0 -1
- package/dist/notification-BT84PlwC.cjs.map +0 -1
- package/dist/notification-DvrozLTu.js.map +0 -1
- package/dist/src-59eVZMmI.js.map +0 -1
- package/dist/src-r2bV-AFk.cjs.map +0 -1
- package/dist/tailwind.mixin-BCz3GEpw.js +0 -219
- package/dist/tailwind.mixin-ZzkXQTFA.cjs +0 -2
- /package/dist/{flow-BPDtbhLe.js → agent/flow-CaPi2G8y.js} +0 -0
- /package/dist/{chunk-C_1VqBVD.js → agent/rolldown-runtime-DsMetpgY.js} +0 -0
- /package/dist/{animation-Bcwh107v.cjs → animation-CQRdLgzX.cjs} +0 -0
- /package/dist/{animation-CXKSuUoE.js → animation-hXFClrIn.js} +0 -0
- /package/dist/{date-range-inline-B_g1YXu3.js → date-range-inline-CpKG6qt2.js} +0 -0
- /package/dist/{flow-Dn9AZktE.cjs → flow-ClAJ6Qby.cjs} +0 -0
- /package/dist/{form-C1qS9uvS.js → form-rCZqoAoK.js} +0 -0
- /package/dist/{hashContent-BUqULUiZ.js → hashContent-B2IntJQf.js} +0 -0
- /package/dist/{hashContent-CI39BY-_.cjs → hashContent-CahnEuut.cjs} +0 -0
- /package/dist/{intersection-C0JuW_7U.js → intersection-BrXp4YTO.js} +0 -0
- /package/dist/{overlay-stack-J_eJCUTX.cjs → overlay-stack-7bs4ZNnh.cjs} +0 -0
- /package/dist/{overlay-stack-BJt_r6aZ.js → overlay-stack-DXPYHPhk.js} +0 -0
- /package/dist/{reduced-motion-B83yZbcO.js → reduced-motion-BZTLqAyl.js} +0 -0
- /package/dist/{search-BlGJ6uJv.js → search-CvUZRLF1.js} +0 -0
- /package/dist/{search-C8eAOzBm.cjs → search-CwMav5QB.cjs} +0 -0
- /package/dist/{store-Bmj6rvZY.js → store-CjzZDQt8.js} +0 -0
- /package/dist/{theme.events-EznKK2Y0.cjs → theme.events-DakXxZeP.cjs} +0 -0
- /package/dist/{theme.events-Bw3mYjUA.js → theme.events-NuihzD_p.js} +0 -0
- /package/dist/{theme.interface-Cyqv5XWY.js → theme.interface-Buged9Cg.js} +0 -0
- /package/dist/{theme.interface-CCE3L1ql.cjs → theme.interface-DTwkuAKJ.cjs} +0 -0
- /package/dist/{tslib.es6-PMITL0Z3.cjs → tslib.es6-Cnt75pb6.cjs} +0 -0
- /package/dist/{tslib.es6-vJQZBGJO.js → tslib.es6-DMzzJKHV.js} +0 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import manifest from 'virtual:schmancy-manifest'
|
|
2
|
+
|
|
3
|
+
export type Manifest = typeof manifest
|
|
4
|
+
|
|
5
|
+
export type ElementEntry = {
|
|
6
|
+
kind: 'class'
|
|
7
|
+
name: string
|
|
8
|
+
tagName?: string
|
|
9
|
+
description?: string
|
|
10
|
+
summary?: string
|
|
11
|
+
attributes?: Array<{
|
|
12
|
+
name: string
|
|
13
|
+
description?: string
|
|
14
|
+
type?: { text?: string }
|
|
15
|
+
default?: string
|
|
16
|
+
values?: string[]
|
|
17
|
+
}>
|
|
18
|
+
events?: Array<{ name: string; description?: string; type?: { text?: string } }>
|
|
19
|
+
slots?: Array<{ name: string; description?: string }>
|
|
20
|
+
cssProperties?: Array<{ name: string; description?: string }>
|
|
21
|
+
cssParts?: Array<{ name: string; description?: string }>
|
|
22
|
+
whenToUse?: string
|
|
23
|
+
platformPrimitive?: { tag: string; mode?: string; note?: string }
|
|
24
|
+
contexts?: { provides?: string[]; consumes?: string[] }
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export type ServiceEntry = {
|
|
28
|
+
kind: 'variable'
|
|
29
|
+
name: string
|
|
30
|
+
description?: string
|
|
31
|
+
summary?: string
|
|
32
|
+
service: true
|
|
33
|
+
methods?: Array<{ signature: string; summary?: string }>
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
type Declaration = ElementEntry | ServiceEntry | { kind: string; name: string; [key: string]: unknown }
|
|
37
|
+
|
|
38
|
+
function allDeclarations(): Declaration[] {
|
|
39
|
+
const out: Declaration[] = []
|
|
40
|
+
for (const mod of manifest.modules ?? []) {
|
|
41
|
+
const decls = (mod as unknown as { declarations?: Declaration[] }).declarations ?? []
|
|
42
|
+
for (const decl of decls) out.push(decl)
|
|
43
|
+
}
|
|
44
|
+
return out
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function elements(): ElementEntry[] {
|
|
48
|
+
return allDeclarations().filter(
|
|
49
|
+
(d): d is ElementEntry => d.kind === 'class' && typeof (d as ElementEntry).tagName === 'string',
|
|
50
|
+
)
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function services(): ServiceEntry[] {
|
|
54
|
+
return allDeclarations().filter((d): d is ServiceEntry => d.kind === 'variable' && (d as ServiceEntry).service === true)
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function help(tag?: string): unknown {
|
|
58
|
+
if (!tag) {
|
|
59
|
+
return {
|
|
60
|
+
elements: elements().map(e => ({ tag: e.tagName, summary: e.summary ?? e.description })),
|
|
61
|
+
services: services().map(s => ({ name: s.name, summary: s.summary ?? s.description })),
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const el = elements().find(e => e.tagName === tag)
|
|
65
|
+
if (el) return el
|
|
66
|
+
const svc = services().find(s => s.name === tag)
|
|
67
|
+
if (svc) return svc
|
|
68
|
+
return null
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export function tokens(): string[] {
|
|
72
|
+
return (manifest as { tokens?: string[] }).tokens ?? []
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export function platformPrimitive(tag: string): ElementEntry['platformPrimitive'] | null {
|
|
76
|
+
return elements().find(e => e.tagName === tag)?.platformPrimitive ?? null
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export function registeredTags(): string[] {
|
|
80
|
+
return elements()
|
|
81
|
+
.map(e => e.tagName!)
|
|
82
|
+
.filter(tag => typeof customElements.get(tag) !== 'undefined')
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export function a11yAudit(): Array<{
|
|
86
|
+
tag: string
|
|
87
|
+
role: string | null
|
|
88
|
+
ariaLabel: string | null
|
|
89
|
+
hasShadowRoot: boolean
|
|
90
|
+
formAssociated: boolean
|
|
91
|
+
}> {
|
|
92
|
+
const tags = new Set(elements().map(e => e.tagName!))
|
|
93
|
+
const report: Array<{
|
|
94
|
+
tag: string
|
|
95
|
+
role: string | null
|
|
96
|
+
ariaLabel: string | null
|
|
97
|
+
hasShadowRoot: boolean
|
|
98
|
+
formAssociated: boolean
|
|
99
|
+
}> = []
|
|
100
|
+
const all = document.querySelectorAll('*')
|
|
101
|
+
for (const node of Array.from(all)) {
|
|
102
|
+
const tag = node.tagName.toLowerCase()
|
|
103
|
+
if (!tags.has(tag)) continue
|
|
104
|
+
const ctor = customElements.get(tag) as (CustomElementConstructor & { formAssociated?: boolean }) | undefined
|
|
105
|
+
report.push({
|
|
106
|
+
tag,
|
|
107
|
+
role: node.getAttribute('role'),
|
|
108
|
+
ariaLabel: node.getAttribute('aria-label'),
|
|
109
|
+
hasShadowRoot: Boolean((node as Element & { shadowRoot?: ShadowRoot | null }).shadowRoot),
|
|
110
|
+
formAssociated: Boolean(ctor?.formAssociated),
|
|
111
|
+
})
|
|
112
|
+
}
|
|
113
|
+
return report
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export type Capabilities = {
|
|
117
|
+
popover: boolean
|
|
118
|
+
declarativeShadowDom: boolean
|
|
119
|
+
scopedRegistries: boolean
|
|
120
|
+
trustedTypes: boolean
|
|
121
|
+
cssRegisteredProperties: boolean
|
|
122
|
+
elementInternalsAria: boolean
|
|
123
|
+
formAssociated: boolean
|
|
124
|
+
adoptedStyleSheets: boolean
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Runtime feature probe. Tells an agent which platform capabilities the
|
|
129
|
+
* current sandbox exposes, so it can adapt without assuming the sandbox CSP
|
|
130
|
+
* or browser version. Every check is feature-detect, not UA-sniff.
|
|
131
|
+
*/
|
|
132
|
+
export function capabilities(): Capabilities {
|
|
133
|
+
const anyTemplate = typeof HTMLTemplateElement !== 'undefined' ? HTMLTemplateElement.prototype : null
|
|
134
|
+
const anyElInternals = typeof ElementInternals !== 'undefined' ? ElementInternals.prototype : null
|
|
135
|
+
return {
|
|
136
|
+
popover: typeof HTMLElement !== 'undefined' && 'popover' in HTMLElement.prototype,
|
|
137
|
+
declarativeShadowDom: Boolean(anyTemplate && 'shadowRootMode' in anyTemplate),
|
|
138
|
+
scopedRegistries: (() => {
|
|
139
|
+
try {
|
|
140
|
+
// Native scoped registries require a constructible CustomElementRegistry.
|
|
141
|
+
// Pre-Safari-26/Chrome-146, the constructor throws Illegal constructor.
|
|
142
|
+
new (window as { CustomElementRegistry?: new () => unknown }).CustomElementRegistry!()
|
|
143
|
+
return true
|
|
144
|
+
} catch {
|
|
145
|
+
return false
|
|
146
|
+
}
|
|
147
|
+
})(),
|
|
148
|
+
trustedTypes: typeof (globalThis as { trustedTypes?: unknown }).trustedTypes !== 'undefined',
|
|
149
|
+
cssRegisteredProperties: typeof (window as { CSS?: { registerProperty?: unknown } }).CSS?.registerProperty === 'function',
|
|
150
|
+
elementInternalsAria: Boolean(anyElInternals && 'role' in anyElInternals),
|
|
151
|
+
formAssociated: typeof ElementInternals !== 'undefined',
|
|
152
|
+
adoptedStyleSheets: typeof Document !== 'undefined' && 'adoptedStyleSheets' in Document.prototype,
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export function manifestUrl(): string {
|
|
157
|
+
const blob = new Blob([JSON.stringify(manifest)], { type: 'application/json' })
|
|
158
|
+
return URL.createObjectURL(blob)
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export { manifest }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './schmancy-skill'
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { $LitElement } from '../../mixins/index'
|
|
2
|
+
import { html } from 'lit'
|
|
3
|
+
import { customElement } from 'lit/decorators.js'
|
|
4
|
+
import {
|
|
5
|
+
a11yAudit,
|
|
6
|
+
capabilities,
|
|
7
|
+
help,
|
|
8
|
+
manifest,
|
|
9
|
+
manifestUrl,
|
|
10
|
+
platformPrimitive,
|
|
11
|
+
registeredTags,
|
|
12
|
+
tokens,
|
|
13
|
+
} from './helpers'
|
|
14
|
+
|
|
15
|
+
declare global {
|
|
16
|
+
interface Window {
|
|
17
|
+
schmancy?: {
|
|
18
|
+
manifest: typeof manifest
|
|
19
|
+
manifestUrl: string
|
|
20
|
+
help: typeof help
|
|
21
|
+
tokens: typeof tokens
|
|
22
|
+
platformPrimitive: typeof platformPrimitive
|
|
23
|
+
registeredTags: typeof registeredTags
|
|
24
|
+
a11yAudit: typeof a11yAudit
|
|
25
|
+
capabilities: typeof capabilities
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
let installedUrl: string | null = null
|
|
31
|
+
|
|
32
|
+
function install() {
|
|
33
|
+
if (typeof window === 'undefined') return
|
|
34
|
+
if (installedUrl) return
|
|
35
|
+
installedUrl = manifestUrl()
|
|
36
|
+
window.schmancy = {
|
|
37
|
+
manifest,
|
|
38
|
+
manifestUrl: installedUrl,
|
|
39
|
+
help,
|
|
40
|
+
tokens,
|
|
41
|
+
platformPrimitive,
|
|
42
|
+
registeredTags,
|
|
43
|
+
a11yAudit,
|
|
44
|
+
capabilities,
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Self-describing runtime helper. Drop `<schmancy-skill></schmancy-skill>`
|
|
50
|
+
* once on a page and `window.schmancy.help('schmancy-button')` returns the
|
|
51
|
+
* machine-readable entry for any tag. Renders nothing.
|
|
52
|
+
*
|
|
53
|
+
* @element schmancy-skill
|
|
54
|
+
*/
|
|
55
|
+
@customElement('schmancy-skill')
|
|
56
|
+
export class SchmancySkill extends $LitElement() {
|
|
57
|
+
connectedCallback() {
|
|
58
|
+
super.connectedCallback()
|
|
59
|
+
install()
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
render() {
|
|
63
|
+
return html``
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
declare global {
|
|
68
|
+
interface HTMLElementTagNameMap {
|
|
69
|
+
'schmancy-skill': SchmancySkill
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
declare module 'virtual:schmancy-manifest' {
|
|
2
|
+
type ManifestModule = { kind: 'javascript-module'; path: string; declarations: Array<Record<string, unknown>> }
|
|
3
|
+
const manifest: {
|
|
4
|
+
schemaVersion: '1.0.0'
|
|
5
|
+
readme?: string
|
|
6
|
+
modules: ManifestModule[]
|
|
7
|
+
tokens: string[]
|
|
8
|
+
}
|
|
9
|
+
export default manifest
|
|
10
|
+
}
|
package/src/area/area.service.ts
CHANGED
|
@@ -744,5 +744,16 @@ class AreaService implements AreaSubscription {
|
|
|
744
744
|
}
|
|
745
745
|
}
|
|
746
746
|
|
|
747
|
+
/**
|
|
748
|
+
* Area router singleton. Drives named `<schmancy-area>` outlets in the DOM
|
|
749
|
+
* — imperative push / pop, URL-synced, state-restoring. Pair with
|
|
750
|
+
* `lazy(() => import('./view'))` for code-split routes.
|
|
751
|
+
*
|
|
752
|
+
* @service
|
|
753
|
+
* @summary Imperative outlet-based router for `<schmancy-area>` elements.
|
|
754
|
+
* @method push({ area, component, params?, state? }) - Navigate an area to a component.
|
|
755
|
+
* @method pop(areaName) - Pop the top entry off an area's stack.
|
|
756
|
+
* @method current$(areaName) - Observable of the active route state for an area.
|
|
757
|
+
*/
|
|
747
758
|
export const area = AreaService.getInstance()
|
|
748
759
|
export default area
|
|
@@ -145,4 +145,13 @@ class DrawerService {
|
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
+
/**
|
|
149
|
+
* Content-drawer service. Mounts any element inside the right-hand content
|
|
150
|
+
* drawer of a `<schmancy-content-drawer>` layout.
|
|
151
|
+
*
|
|
152
|
+
* @service
|
|
153
|
+
* @summary Imperative content-drawer (right-side navigation panel).
|
|
154
|
+
* @method render({ component, ...options }) - Mount an element in the drawer.
|
|
155
|
+
* @method close() - Close the drawer.
|
|
156
|
+
*/
|
|
148
157
|
export const schmancyContentDrawer = new DrawerService()
|
|
@@ -444,7 +444,17 @@ export class DialogService {
|
|
|
444
444
|
const service = DialogService.getInstance()
|
|
445
445
|
|
|
446
446
|
/**
|
|
447
|
-
* Global dialog utility
|
|
447
|
+
* Global dialog utility. Imperative modal API — open any element as a dialog,
|
|
448
|
+
* or use the built-in `confirm` / `ask` / `danger` prompts. Returns Promises
|
|
449
|
+
* that resolve when the user picks an action.
|
|
450
|
+
*
|
|
451
|
+
* @service
|
|
452
|
+
* @summary Imperative modal dialogs and built-in confirm/ask/danger prompts.
|
|
453
|
+
* @method confirm(options: DialogOptions) - Built-in confirm prompt. Returns Promise<boolean>.
|
|
454
|
+
* @method ask(message, event?) - One-line yes/no prompt anchored to the triggering event.
|
|
455
|
+
* @method danger(options) - Destructive-action confirm styled with the error palette.
|
|
456
|
+
* @method component(element, options?) - Open any element as a modal.
|
|
457
|
+
* @method dismiss(id?) - Dismiss a dialog by id, or the topmost dialog.
|
|
448
458
|
*/
|
|
449
459
|
export const $dialog = {
|
|
450
460
|
confirm: (options: DialogOptions): Promise<boolean> => {
|
|
@@ -246,7 +246,17 @@ export class NotificationService {
|
|
|
246
246
|
}
|
|
247
247
|
|
|
248
248
|
/**
|
|
249
|
-
* Global notification utility -
|
|
249
|
+
* Global notification (toast) utility. Fire-and-forget API for success,
|
|
250
|
+
* error, info, and warning toasts, plus a low-level `show` for custom
|
|
251
|
+
* notifications.
|
|
252
|
+
*
|
|
253
|
+
* @service
|
|
254
|
+
* @summary Toast notifications — success, error, info, warning.
|
|
255
|
+
* @method show(options: NotificationOptions) - Low-level; show any NotificationOptions.
|
|
256
|
+
* @method success(message, options?) - Green success toast.
|
|
257
|
+
* @method error(message, options?) - Red error toast.
|
|
258
|
+
* @method info(message, options?) - Blue informational toast.
|
|
259
|
+
* @method warning(message, options?) - Amber warning toast.
|
|
250
260
|
*/
|
|
251
261
|
export const $notify = {
|
|
252
262
|
/**
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export * from './overlay.component'
|
|
2
|
+
export * from './overlay.confirm-body'
|
|
3
|
+
export * from './overlay.service'
|
|
4
|
+
export type {
|
|
5
|
+
Anchor,
|
|
6
|
+
CloseReason,
|
|
7
|
+
Content,
|
|
8
|
+
OverlayConfirmOptions,
|
|
9
|
+
OverlayEntry,
|
|
10
|
+
OverlayLayout,
|
|
11
|
+
OverlayPromptOptions,
|
|
12
|
+
ShowFn,
|
|
13
|
+
ShowOptions,
|
|
14
|
+
} from './overlay.types'
|
|
15
|
+
export { lazy } from '../area/lazy'
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DURATION_BACKDROP,
|
|
3
|
+
DURATION_EXIT,
|
|
4
|
+
EASE_IN,
|
|
5
|
+
EASE_OUT,
|
|
6
|
+
prefersReducedMotion,
|
|
7
|
+
SPRING_GENTLE,
|
|
8
|
+
SPRING_SNAPPY,
|
|
9
|
+
} from '../utils/animation'
|
|
10
|
+
import type { OverlayLayout } from './overlay.types'
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* WAAPI keyframes + options per layout + direction.
|
|
14
|
+
*
|
|
15
|
+
* One animation vocabulary — no per-element bespoke keyframes. Aligns
|
|
16
|
+
* with the `animation` skill (spring physics presets). Honors
|
|
17
|
+
* `prefers-reduced-motion` by collapsing transforms to opacity-only.
|
|
18
|
+
*
|
|
19
|
+
* Returns `null` when reduced-motion is active and only opacity change
|
|
20
|
+
* is needed — the caller sets style directly.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Shape matches both DOM `AnimationEffectTiming` and
|
|
25
|
+
* `KeyframeAnimationOptions` so it passes structural checks in both
|
|
26
|
+
* older and newer `lib.dom.d.ts` vintages.
|
|
27
|
+
*/
|
|
28
|
+
export interface AnimationSpec {
|
|
29
|
+
keyframes: Keyframe[]
|
|
30
|
+
options: {
|
|
31
|
+
duration: number
|
|
32
|
+
easing: string
|
|
33
|
+
fill?: FillMode
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export function backdropAnimation(direction: 'in' | 'out'): AnimationSpec {
|
|
38
|
+
return direction === 'in'
|
|
39
|
+
? {
|
|
40
|
+
keyframes: [{ opacity: 0 }, { opacity: 1 }],
|
|
41
|
+
options: { duration: DURATION_BACKDROP, easing: EASE_OUT, fill: 'forwards' },
|
|
42
|
+
}
|
|
43
|
+
: {
|
|
44
|
+
keyframes: [{ opacity: 1 }, { opacity: 0 }],
|
|
45
|
+
options: { duration: DURATION_BACKDROP, easing: EASE_OUT, fill: 'forwards' },
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function surfaceAnimation(layout: OverlayLayout, direction: 'in' | 'out'): AnimationSpec {
|
|
50
|
+
const reduced = prefersReducedMotion()
|
|
51
|
+
|
|
52
|
+
if (reduced) {
|
|
53
|
+
// Opacity-only; explicit reset to { opacity: 1, transform: none } on `in`
|
|
54
|
+
// so any leftover transform from a prior `out` doesn't persist.
|
|
55
|
+
return direction === 'in'
|
|
56
|
+
? {
|
|
57
|
+
keyframes: [
|
|
58
|
+
{ opacity: 0, transform: 'none' },
|
|
59
|
+
{ opacity: 1, transform: 'none' },
|
|
60
|
+
],
|
|
61
|
+
options: { duration: 1, easing: 'linear', fill: 'forwards' },
|
|
62
|
+
}
|
|
63
|
+
: {
|
|
64
|
+
keyframes: [
|
|
65
|
+
{ opacity: 1, transform: 'none' },
|
|
66
|
+
{ opacity: 0, transform: 'none' },
|
|
67
|
+
],
|
|
68
|
+
options: { duration: 1, easing: 'linear', fill: 'forwards' },
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
switch (layout) {
|
|
73
|
+
case 'centered':
|
|
74
|
+
return direction === 'in'
|
|
75
|
+
? {
|
|
76
|
+
keyframes: [
|
|
77
|
+
{ opacity: 0, transform: 'scale(0.92) translateY(16px)' },
|
|
78
|
+
{ opacity: 1, transform: 'scale(1) translateY(0)' },
|
|
79
|
+
],
|
|
80
|
+
options: {
|
|
81
|
+
duration: SPRING_SNAPPY.duration,
|
|
82
|
+
easing: SPRING_SNAPPY.easingFallback,
|
|
83
|
+
fill: 'forwards',
|
|
84
|
+
},
|
|
85
|
+
}
|
|
86
|
+
: {
|
|
87
|
+
keyframes: [
|
|
88
|
+
{ opacity: 1, transform: 'scale(1) translateY(0)' },
|
|
89
|
+
{ opacity: 0, transform: 'scale(0.96) translateY(8px)' },
|
|
90
|
+
],
|
|
91
|
+
options: { duration: DURATION_EXIT, easing: EASE_IN, fill: 'forwards' },
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
case 'sheet':
|
|
95
|
+
return direction === 'in'
|
|
96
|
+
? {
|
|
97
|
+
keyframes: [
|
|
98
|
+
{ opacity: 0, transform: 'translateY(100%)' },
|
|
99
|
+
{ opacity: 1, transform: 'translateY(0)' },
|
|
100
|
+
],
|
|
101
|
+
options: {
|
|
102
|
+
duration: SPRING_GENTLE.duration,
|
|
103
|
+
easing: SPRING_GENTLE.easingFallback,
|
|
104
|
+
fill: 'forwards',
|
|
105
|
+
},
|
|
106
|
+
}
|
|
107
|
+
: {
|
|
108
|
+
keyframes: [
|
|
109
|
+
{ opacity: 1, transform: 'translateY(0)' },
|
|
110
|
+
{ opacity: 0, transform: 'translateY(100%)' },
|
|
111
|
+
],
|
|
112
|
+
options: {
|
|
113
|
+
duration: DURATION_EXIT,
|
|
114
|
+
easing: EASE_IN,
|
|
115
|
+
fill: 'forwards',
|
|
116
|
+
},
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
case 'anchored':
|
|
120
|
+
// No transform — CSS Anchor Positioning / Floating UI owns position.
|
|
121
|
+
// Scale-from-origin via transform-origin would be nicer but conflicts
|
|
122
|
+
// with popover top-layer + position. Keep opacity-only for safety.
|
|
123
|
+
return direction === 'in'
|
|
124
|
+
? {
|
|
125
|
+
keyframes: [{ opacity: 0 }, { opacity: 1 }],
|
|
126
|
+
options: {
|
|
127
|
+
duration: SPRING_SNAPPY.duration,
|
|
128
|
+
easing: SPRING_SNAPPY.easingFallback,
|
|
129
|
+
fill: 'forwards',
|
|
130
|
+
},
|
|
131
|
+
}
|
|
132
|
+
: {
|
|
133
|
+
keyframes: [{ opacity: 1 }, { opacity: 0 }],
|
|
134
|
+
options: { duration: DURATION_EXIT, easing: EASE_IN, fill: 'forwards' },
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|