@mhmo91/schmancy 0.9.27 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +987 -2259
- package/dist/active-host-0of-L858.cjs +1 -0
- package/dist/active-host-0of-L858.cjs.map +1 -0
- package/dist/active-host-D-a1X-nq.js +57 -0
- package/dist/active-host-D-a1X-nq.js.map +1 -0
- package/dist/agent/{flow-CvG1fLW5.js.map → flow-CaPi2G8y.js.map} +1 -1
- package/dist/agent/{rolldown-runtime-BIIoCavz.js → rolldown-runtime-DsMetpgY.js} +2 -9
- package/dist/agent/schmancy.agent.js +6465 -7794
- package/dist/agent/schmancy.agent.js.map +1 -1
- package/dist/agent/schmancy.manifest.json +262 -1462
- package/dist/agent/{vendor-highlight-Dow87ZL_.js → vendor-highlight-CHJZQQB7.js} +85 -90
- package/dist/agent/{vendor-highlight-Dow87ZL_.js.map → vendor-highlight-CHJZQQB7.js.map} +1 -1
- package/dist/agent/{vendor-jsqr-Bl4iAtKC.js → vendor-jsqr-r7GNh4P3.js} +1 -1
- package/dist/agent/{vendor-jsqr-Bl4iAtKC.js.map → vendor-jsqr-r7GNh4P3.js.map} +1 -1
- package/dist/agent/{vendor-material-color-DcL7ZPxx.js.map → vendor-material-color-Be96dpGE.js.map} +1 -1
- package/dist/{animation-hXFClrIn.js.map → animation-BK-8BwY8.js.map} +1 -1
- package/dist/{animation-CQRdLgzX.cjs.map → animation-CO_Csq84.cjs.map} +1 -1
- package/dist/{area-BGBCMC79.js → area-C_J4qxKO.js} +20 -15
- package/dist/area-C_J4qxKO.js.map +1 -0
- package/dist/area-ISC8Mdkh.cjs +12 -0
- package/dist/area-ISC8Mdkh.cjs.map +1 -0
- package/dist/area.cjs +1 -1
- package/dist/area.js +2 -2
- package/dist/{audio-Dvr-RBzE.cjs → audio-DZN8HsSS.cjs} +1 -1
- package/dist/{audio-Dvr-RBzE.cjs.map → audio-DZN8HsSS.cjs.map} +1 -1
- package/dist/{audio-ql6nvY0y.js → audio-Tmre4WyL.js} +1 -1
- package/dist/{audio-ql6nvY0y.js.map → audio-Tmre4WyL.js.map} +1 -1
- package/dist/audio.cjs +1 -1
- package/dist/audio.js +2 -2
- package/dist/autocomplete-BDF85W0J.cjs +115 -0
- package/dist/autocomplete-BDF85W0J.cjs.map +1 -0
- package/dist/{autocomplete-C2P0Soht.js → autocomplete-CM8VqW9S.js} +29 -26
- package/dist/autocomplete-CM8VqW9S.js.map +1 -0
- package/dist/autocomplete.cjs +1 -1
- package/dist/autocomplete.js +1 -1
- package/dist/avatar.cjs +7 -0
- package/dist/avatar.cjs.map +1 -0
- package/dist/avatar.js +87 -0
- package/dist/avatar.js.map +1 -0
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +1 -1
- package/dist/boat-CpXe-Qto.cjs +80 -0
- package/dist/boat-CpXe-Qto.cjs.map +1 -0
- package/dist/{boat-DXZ0k7oa.js → boat-DxYNK4xT.js} +43 -54
- package/dist/boat-DxYNK4xT.js.map +1 -0
- package/dist/boat.cjs +1 -1
- package/dist/boat.js +1 -1
- package/dist/breadcrumb.cjs +4 -4
- package/dist/breadcrumb.cjs.map +1 -1
- package/dist/breadcrumb.js +16 -11
- package/dist/breadcrumb.js.map +1 -1
- package/dist/{busy-iRjq6Nvd.js → busy-CP-gRfAP.js} +14 -9
- package/dist/busy-CP-gRfAP.js.map +1 -0
- package/dist/{busy-DGYhpTnO.cjs → busy-Dma4gtnz.cjs} +4 -4
- package/dist/busy-Dma4gtnz.cjs.map +1 -0
- package/dist/busy.cjs +1 -1
- package/dist/busy.js +1 -1
- package/dist/button.cjs +24 -24
- package/dist/button.cjs.map +1 -1
- package/dist/button.js +42 -37
- package/dist/button.js.map +1 -1
- package/dist/{card-wUTjx0EC.js → card-Bv--HeGO.js} +41 -30
- package/dist/card-Bv--HeGO.js.map +1 -0
- package/dist/{card-DjYnCckw.cjs → card-ClroODSK.cjs} +6 -6
- package/dist/card-ClroODSK.cjs.map +1 -0
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/charts.cjs +5 -5
- package/dist/charts.cjs.map +1 -1
- package/dist/charts.js +21 -16
- package/dist/charts.js.map +1 -1
- package/dist/{checkbox-VBSenxgb.js → checkbox-1gQOOcja.js} +86 -82
- package/dist/checkbox-1gQOOcja.js.map +1 -0
- package/dist/checkbox-DvTZXN1Y.cjs +39 -0
- package/dist/checkbox-DvTZXN1Y.cjs.map +1 -0
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-D6ptH5re.cjs → chips-Bw7FNDpX.cjs} +19 -19
- package/dist/chips-Bw7FNDpX.cjs.map +1 -0
- package/dist/{chips-BDS9lkPa.js → chips-wkfKzf_e.js} +146 -136
- package/dist/chips-wkfKzf_e.js.map +1 -0
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/{code-highlight-BzRmBZzz.cjs → code-highlight-CJzuds4c.cjs} +15 -15
- package/dist/code-highlight-CJzuds4c.cjs.map +1 -0
- package/dist/{code-highlight-Bi91XHJN.js → code-highlight-CcdCFMrn.js} +37 -40
- package/dist/code-highlight-CcdCFMrn.js.map +1 -0
- package/dist/code-highlight.cjs +1 -1
- package/dist/code-highlight.js +1 -1
- package/dist/connectivity.cjs +2 -2
- package/dist/connectivity.cjs.map +1 -1
- package/dist/connectivity.js +10 -7
- package/dist/connectivity.js.map +1 -1
- package/dist/content-drawer.cjs +1 -1
- package/dist/content-drawer.js +2 -2
- package/dist/context-Bdu1xt0W.js +3 -0
- package/dist/{context-BerzpUhI.js.map → context-Bdu1xt0W.js.map} +1 -1
- package/dist/context-daN5G6HS.cjs +1 -0
- package/dist/{context-C6dHUHhi.cjs.map → context-daN5G6HS.cjs.map} +1 -1
- package/dist/{cursor-glow-BydlDInj.js → cursor-glow-Ah7VXSj7.js} +1 -1
- package/dist/{cursor-glow-BydlDInj.js.map → cursor-glow-Ah7VXSj7.js.map} +1 -1
- package/dist/{cursor-glow-Duw9jHmh.cjs → cursor-glow-Bulq-38P.cjs} +1 -1
- package/dist/{cursor-glow-Duw9jHmh.cjs.map → cursor-glow-Bulq-38P.cjs.map} +1 -1
- package/dist/{date-range-ClTMg1AB.js → date-range-BDHz_Olm.js} +16 -17
- package/dist/date-range-BDHz_Olm.js.map +1 -0
- package/dist/date-range-BsPW60vp.cjs +131 -0
- package/dist/date-range-BsPW60vp.cjs.map +1 -0
- package/dist/{date-range-inline-CpKG6qt2.js → date-range-inline-1NmZE_Xr.js} +5 -5
- package/dist/{date-range-inline-CpKG6qt2.js.map → date-range-inline-1NmZE_Xr.js.map} +1 -1
- package/dist/date-range-inline-BsjNNGFR.cjs +43 -0
- package/dist/{date-range-inline-B9Dp2z6C.cjs.map → date-range-inline-BsjNNGFR.cjs.map} +1 -1
- package/dist/date-range-inline.cjs +1 -1
- package/dist/date-range-inline.js +1 -1
- package/dist/date-range.cjs +1 -1
- package/dist/date-range.js +1 -1
- package/dist/delay.cjs +9 -1
- package/dist/delay.cjs.map +1 -0
- package/dist/delay.js +77 -2
- package/dist/delay.js.map +1 -0
- package/dist/{details-CPjlqQD4.js → details-BEp2s2ca.js} +19 -18
- package/dist/details-BEp2s2ca.js.map +1 -0
- package/dist/{details-Cz9ok9si.cjs → details-BtUNqzn8.cjs} +9 -9
- package/dist/details-BtUNqzn8.cjs.map +1 -0
- package/dist/details.cjs +1 -1
- package/dist/details.js +1 -1
- package/dist/{dialog-service-DH-tjPuE.js → dialog-service-DI9PPy4H.js} +2 -2
- package/dist/dialog-service-DI9PPy4H.js.map +1 -0
- package/dist/{dialog-service-CzDO08Gy.cjs → dialog-service-DJd5L0f5.cjs} +1 -1
- package/dist/dialog-service-DJd5L0f5.cjs.map +1 -0
- package/dist/dialog.cjs +2 -2
- package/dist/dialog.cjs.map +1 -1
- package/dist/dialog.js +13 -14
- package/dist/dialog.js.map +1 -1
- package/dist/directives.cjs +2 -11
- package/dist/directives.cjs.map +1 -1
- package/dist/directives.js +141 -227
- package/dist/directives.js.map +1 -1
- package/dist/discovery.cjs +1 -1
- package/dist/discovery.cjs.map +1 -1
- package/dist/discovery.js +1 -1
- package/dist/discovery.js.map +1 -1
- package/dist/{divider-CILo3_vi.cjs → divider-CpNT11Iy.cjs} +3 -3
- package/dist/divider-CpNT11Iy.cjs.map +1 -0
- package/dist/{divider-ghgyw5CU.js → divider-VxpjZ8hk.js} +11 -9
- package/dist/divider-VxpjZ8hk.js.map +1 -0
- package/dist/divider.cjs +1 -1
- package/dist/divider.js +1 -1
- package/dist/dropdown.cjs +4 -4
- package/dist/dropdown.cjs.map +1 -1
- package/dist/dropdown.js +29 -28
- package/dist/dropdown.js.map +1 -1
- package/dist/expand-05azMpho.cjs +141 -0
- package/dist/expand-05azMpho.cjs.map +1 -0
- package/dist/{expand-CbjBr_Ds.js → expand-CRUl3-mN.js} +24 -20
- package/dist/expand-CRUl3-mN.js.map +1 -0
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/{extra-BZeZOMBI.cjs → extra-CyERULfm.cjs} +6 -6
- package/dist/extra-CyERULfm.cjs.map +1 -0
- package/dist/{extra-DK9MQtPJ.js → extra-aNV1fO6W.js} +19 -14
- package/dist/extra-aNV1fO6W.js.map +1 -0
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/float-DRET9mVZ.cjs +1 -0
- package/dist/{float-CuZ8LOgB.cjs.map → float-DRET9mVZ.cjs.map} +1 -1
- package/dist/{float-BfCvGeY9.js → float-N3qhNET_.js} +2 -2
- package/dist/{float-BfCvGeY9.js.map → float-N3qhNET_.js.map} +1 -1
- package/dist/float.cjs +1 -1
- package/dist/float.js +1 -1
- package/dist/{form-rCZqoAoK.js → form-BtwOBMZ9.js} +1 -1
- package/dist/form-BtwOBMZ9.js.map +1 -0
- package/dist/{form-wI58M85H.cjs → form-CSJp687X.cjs} +1 -1
- package/dist/form-CSJp687X.cjs.map +1 -0
- package/dist/form.cjs +1 -1
- package/dist/form.js +1 -1
- package/dist/handover/agent-runtime-followups.md +1 -1
- package/dist/handover/agent-runtime-v1.md +3 -3
- package/dist/handover/claude-design-brief.md +19 -54
- package/dist/handover/claude-design-setup.md +57 -0
- package/dist/{hashContent-B2IntJQf.js.map → hashContent-1ARKIsx9.js.map} +1 -1
- package/dist/{hashContent-CahnEuut.cjs.map → hashContent-Bp5S6T4U.cjs.map} +1 -1
- package/dist/{icons-Drq4kKy2.js → icons-BBJqwT_B.js} +27 -24
- package/dist/icons-BBJqwT_B.js.map +1 -0
- package/dist/icons-CNixJ6kL.cjs +52 -0
- package/dist/icons-CNixJ6kL.cjs.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{iframe-BmyHW8km.js → iframe-DoN_toqE.js} +17 -11
- package/dist/iframe-DoN_toqE.js.map +1 -0
- package/dist/iframe-g-4DjAD7.cjs +24 -0
- package/dist/iframe-g-4DjAD7.cjs.map +1 -0
- package/dist/iframe.cjs +1 -1
- package/dist/iframe.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +77 -77
- package/dist/{input-Bc3bVISm.js → input-ClnkMJgh.js} +30 -30
- package/dist/input-ClnkMJgh.js.map +1 -0
- package/dist/{input-BGNZlfL8.cjs → input-CwFslLcF.cjs} +14 -14
- package/dist/input-CwFslLcF.cjs.map +1 -0
- package/dist/{input-chip-DN-cwf11.cjs → input-chip-DMXRT7bK.cjs} +2 -2
- package/dist/input-chip-DMXRT7bK.cjs.map +1 -0
- package/dist/{input-chip-BQrjpjaQ.js → input-chip-DwSyFv1x.js} +7 -4
- package/dist/input-chip-DwSyFv1x.js.map +1 -0
- package/dist/input.cjs +1 -1
- package/dist/input.js +1 -1
- package/dist/json.cjs +1 -1
- package/dist/json.cjs.map +1 -1
- package/dist/json.js +7 -5
- package/dist/json.js.map +1 -1
- package/dist/kbd.cjs +2 -2
- package/dist/kbd.cjs.map +1 -1
- package/dist/kbd.js +9 -7
- package/dist/kbd.js.map +1 -1
- package/dist/{layout-fjM1DWlF.js → layout-BghHmee6.js} +1 -1
- package/dist/{layout-fjM1DWlF.js.map → layout-BghHmee6.js.map} +1 -1
- package/dist/{layout-CTfRXQoz.cjs → layout-VmxXuGGp.cjs} +1 -1
- package/dist/{layout-CTfRXQoz.cjs.map → layout-VmxXuGGp.cjs.map} +1 -1
- package/dist/layout.cjs +1 -1
- package/dist/layout.js +2 -3
- package/dist/{lazy-D6R5N5v4.js.map → lazy-B0ia54tT.js.map} +1 -1
- package/dist/{lazy-BDNnH_r7.cjs.map → lazy-Dq9mRRjT.cjs.map} +1 -1
- package/dist/{lightbox-CY52Z_ig.js → lightbox-IleIcq19.js} +13 -12
- package/dist/lightbox-IleIcq19.js.map +1 -0
- package/dist/lightbox-m5FLmYlv.cjs +202 -0
- package/dist/lightbox-m5FLmYlv.cjs.map +1 -0
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/{list-D7wUxu1C.js → list-BlXJlm16.js} +26 -21
- package/dist/list-BlXJlm16.js.map +1 -0
- package/dist/list-C-b9p1yi.cjs +40 -0
- package/dist/list-C-b9p1yi.cjs.map +1 -0
- package/dist/list.cjs +1 -1
- package/dist/list.js +1 -1
- package/dist/{magnetic-CVXEkYTA.cjs → magnetic-BH0TsofV.cjs} +1 -1
- package/dist/{magnetic-CVXEkYTA.cjs.map → magnetic-BH0TsofV.cjs.map} +1 -1
- package/dist/{magnetic-BhXebqF3.js → magnetic-BZGFxAWG.js} +2 -2
- package/dist/{magnetic-BhXebqF3.js.map → magnetic-BZGFxAWG.js.map} +1 -1
- package/dist/{mailbox-DLiBGJhY.cjs → mailbox-B0hZLpF1.cjs} +64 -66
- package/dist/mailbox-B0hZLpF1.cjs.map +1 -0
- package/dist/{mailbox--EN-JhjV.js → mailbox-DAmejcKa.js} +137 -126
- package/dist/mailbox-DAmejcKa.js.map +1 -0
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-B0S_q3ma.js → map-BoIu47qU.js} +11 -9
- package/dist/map-BoIu47qU.js.map +1 -0
- package/dist/map-CZ0816EI.cjs +80 -0
- package/dist/map-CZ0816EI.cjs.map +1 -0
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{menu-3edZGQ1x.cjs → menu-BFHBnp5M.cjs} +5 -5
- package/dist/menu-BFHBnp5M.cjs.map +1 -0
- package/dist/{menu-COeFpb6n.js → menu-BV9_8ys8.js} +15 -10
- package/dist/menu-BV9_8ys8.js.map +1 -0
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins-BIXF7xkF.cjs +298 -0
- package/dist/mixins-BIXF7xkF.cjs.map +1 -0
- package/dist/mixins-CL1krSOE.js +627 -0
- package/dist/mixins-CL1krSOE.js.map +1 -0
- package/dist/mixins.cjs +1 -1
- package/dist/mixins.js +2 -87
- package/dist/nav-drawer.cjs +1 -1
- package/dist/nav-drawer.js +2 -2
- package/dist/navigation-bar.cjs +1 -1
- package/dist/navigation-bar.js +1 -1
- package/dist/navigation-rail.cjs +3 -3
- package/dist/navigation-rail.cjs.map +1 -1
- package/dist/navigation-rail.js +15 -16
- package/dist/navigation-rail.js.map +1 -1
- package/dist/notification-CigTy3ia.cjs +23 -0
- package/dist/notification-CigTy3ia.cjs.map +1 -0
- package/dist/{notification-CC-TFN5v.js → notification-Dzm6zWxX.js} +40 -38
- package/dist/notification-Dzm6zWxX.js.map +1 -0
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/option-BfvzzkzM.cjs +43 -0
- package/dist/option-BfvzzkzM.cjs.map +1 -0
- package/dist/{option-BwAF4nAw.js → option-Dyb0Q45u.js} +9 -7
- package/dist/option-Dyb0Q45u.js.map +1 -0
- package/dist/option.cjs +1 -1
- package/dist/option.js +1 -1
- package/dist/{overlay-stack-7bs4ZNnh.cjs → overlay-stack-BprhAE9a.cjs} +1 -1
- package/dist/{overlay-stack-7bs4ZNnh.cjs.map → overlay-stack-BprhAE9a.cjs.map} +1 -1
- package/dist/{overlay-stack-DXPYHPhk.js → overlay-stack-CAQno0CK.js} +1 -1
- package/dist/{overlay-stack-DXPYHPhk.js.map → overlay-stack-CAQno0CK.js.map} +1 -1
- package/dist/overlay.cjs +43 -45
- package/dist/overlay.cjs.map +1 -1
- package/dist/overlay.js +684 -268
- package/dist/overlay.js.map +1 -1
- package/dist/page.cjs +3 -3
- package/dist/page.cjs.map +1 -1
- package/dist/page.js +15 -13
- package/dist/page.js.map +1 -1
- package/dist/payment-card-form-CQ6sLlrh.cjs +73 -0
- package/dist/{components-DkmEgyAc.cjs.map → payment-card-form-CQ6sLlrh.cjs.map} +1 -1
- package/dist/{components-DZgJWHdZ.js → payment-card-form-D9N2Q0wM.js} +21 -22
- package/dist/{components-DZgJWHdZ.js.map → payment-card-form-D9N2Q0wM.js.map} +1 -1
- package/dist/payment-card-form.cjs +1 -0
- package/dist/payment-card-form.js +2 -0
- package/dist/{progress-Yz6EMNSu.cjs → progress-Dyri7dc2.cjs} +3 -3
- package/dist/progress-Dyri7dc2.cjs.map +1 -0
- package/dist/{progress-Bk_Q1Shy.js → progress-LPwPfzBi.js} +16 -13
- package/dist/progress-LPwPfzBi.js.map +1 -0
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +1 -1
- package/dist/qr-scanner.cjs +5 -5
- package/dist/qr-scanner.cjs.map +1 -1
- package/dist/qr-scanner.js +14 -15
- package/dist/qr-scanner.js.map +1 -1
- package/dist/radio-group-DK-T6jGy.cjs +40 -0
- package/dist/radio-group-DK-T6jGy.cjs.map +1 -0
- package/dist/{radio-group-BcdcjLNC.js → radio-group-DqP886F-.js} +14 -12
- package/dist/radio-group-DqP886F-.js.map +1 -0
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/range.cjs +2 -2
- package/dist/range.cjs.map +1 -1
- package/dist/range.js +9 -7
- package/dist/range.js.map +1 -1
- package/dist/{reduced-motion-BZTLqAyl.js.map → reduced-motion-D-L12p7G.js.map} +1 -1
- package/dist/{reduced-motion-9RjNnhIg.cjs.map → reduced-motion-Ds-HjMzn.cjs.map} +1 -1
- package/dist/{rxjs-utils-DJbZRjp3.cjs.map → rxjs-utils-Csnks202.cjs.map} +1 -1
- package/dist/{rxjs-utils-CKTnEKUH.js.map → rxjs-utils-d-ivVN84.js.map} +1 -1
- package/dist/rxjs-utils.cjs +1 -1
- package/dist/rxjs-utils.js +1 -1
- package/dist/{scroll-DXQv0ejL.js → scroll-BD82ANjm.js} +9 -7
- package/dist/scroll-BD82ANjm.js.map +1 -0
- package/dist/scroll-yfNU0zNO.cjs +26 -0
- package/dist/scroll-yfNU0zNO.cjs.map +1 -0
- package/dist/search-BLCRsxIC.cjs +1 -0
- package/dist/{search-CwMav5QB.cjs.map → search-BLCRsxIC.cjs.map} +1 -1
- package/dist/{search-CvUZRLF1.js → search-BTz7-Rev.js} +1 -1
- package/dist/{search-CvUZRLF1.js.map → search-BTz7-Rev.js.map} +1 -1
- package/dist/{select-BV4lK2zy.cjs → select-BR3r3SZe.cjs} +6 -6
- package/dist/select-BR3r3SZe.cjs.map +1 -0
- package/dist/{select-DKyGWDsG.js → select-GONAphZI.js} +23 -20
- package/dist/select-GONAphZI.js.map +1 -0
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-C3TLKItO.js → sheet-C4sAGqTf.js} +22 -20
- package/dist/sheet-C4sAGqTf.js.map +1 -0
- package/dist/sheet-D9pZMrzs.cjs +35 -0
- package/dist/sheet-D9pZMrzs.cjs.map +1 -0
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/{sheet.service-Dlv20Zfc.js → sheet.service-B7h_-e-q.js} +3 -3
- package/dist/{sheet.service-Dlv20Zfc.js.map → sheet.service-B7h_-e-q.js.map} +1 -1
- package/dist/sheet.service-C1J0-i4d.cjs +1 -0
- package/dist/{sheet.service-RcDBwHmv.cjs.map → sheet.service-C1J0-i4d.cjs.map} +1 -1
- package/dist/skeleton.cjs +2 -2
- package/dist/skeleton.cjs.map +1 -1
- package/dist/skeleton.js +9 -7
- package/dist/skeleton.js.map +1 -1
- package/dist/skills/INDEX.md +1 -1
- package/dist/skills/SKILL.md +17 -5
- package/dist/skills/mixins.md +78 -20
- package/dist/skills/schmancy/INDEX.md +1 -1
- package/dist/skills/schmancy/SKILL.md +17 -5
- package/dist/skills/schmancy/mixins.md +78 -20
- package/dist/skills/schmancy/state.md +501 -0
- package/dist/skills/schmancy/theme.md +15 -0
- package/dist/skills/schmancy/timeline-tile.md +95 -0
- package/dist/skills/state.md +501 -0
- package/dist/skills/theme.md +15 -0
- package/dist/skills/timeline-tile.md +95 -0
- package/dist/slider.cjs +5 -5
- package/dist/slider.cjs.map +1 -1
- package/dist/slider.js +18 -13
- package/dist/slider.js.map +1 -1
- package/dist/{sound.service-DWZe6swU.js → sound.service-Ba_HNBLD.js} +3 -3
- package/dist/sound.service-Ba_HNBLD.js.map +1 -0
- package/dist/sound.service-CvdB2yUJ.cjs +1 -0
- package/dist/sound.service-CvdB2yUJ.cjs.map +1 -0
- package/dist/{splash-screen-DbI5RgBf.js → splash-screen-BGMZmQRT.js} +12 -9
- package/dist/splash-screen-BGMZmQRT.js.map +1 -0
- package/dist/splash-screen-DqULOTZ0.cjs +41 -0
- package/dist/splash-screen-DqULOTZ0.cjs.map +1 -0
- package/dist/splash-screen.cjs +1 -1
- package/dist/splash-screen.js +1 -1
- package/dist/{src-00DfxCJq.js → src-CHM4hrEr.js} +299 -351
- package/dist/src-CHM4hrEr.js.map +1 -0
- package/dist/src-DzFcGdcn.cjs +263 -0
- package/dist/src-DzFcGdcn.cjs.map +1 -0
- package/dist/state-BAW3C11I.cjs +1 -0
- package/dist/state-BAW3C11I.cjs.map +1 -0
- package/dist/state-ClRXrqDA.js +846 -0
- package/dist/state-ClRXrqDA.js.map +1 -0
- package/dist/state.cjs +1 -0
- package/dist/state.js +3 -0
- package/dist/steps.cjs +10 -10
- package/dist/steps.cjs.map +1 -1
- package/dist/steps.js +29 -24
- package/dist/steps.js.map +1 -1
- package/dist/surface-BHJgIDz9.js +24 -0
- package/dist/surface-BHJgIDz9.js.map +1 -0
- package/dist/surface-DW78bc8W.cjs +7 -0
- package/dist/surface-DW78bc8W.cjs.map +1 -0
- package/dist/surface.cjs +1 -1
- package/dist/surface.js +1 -1
- package/dist/switch.cjs +2 -2
- package/dist/switch.cjs.map +1 -1
- package/dist/switch.js +7 -5
- package/dist/switch.js.map +1 -1
- package/dist/table.cjs +72 -1
- package/dist/table.cjs.map +1 -0
- package/dist/table.js +174 -2
- package/dist/table.js.map +1 -0
- package/dist/{tabs-Ce55RbwF.js → tabs-BCRVyQU1.js} +22 -22
- package/dist/tabs-BCRVyQU1.js.map +1 -0
- package/dist/tabs-EIEhkEUb.cjs +31 -0
- package/dist/tabs-EIEhkEUb.cjs.map +1 -0
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +1 -1
- package/dist/teleport.cjs +1 -1
- package/dist/teleport.js +2 -2
- package/dist/{textarea-DjN1D9u0.js → textarea-DApOhSAL.js} +30 -28
- package/dist/textarea-DApOhSAL.js.map +1 -0
- package/dist/textarea-zxNlRLVm.cjs +39 -0
- package/dist/textarea-zxNlRLVm.cjs.map +1 -0
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-pbxlt72h.js → theme-BCUjQH6-.js} +45 -41
- package/dist/{theme-pbxlt72h.js.map → theme-BCUjQH6-.js.map} +1 -1
- package/dist/theme-Z43TLE61.cjs +181 -0
- package/dist/{theme-B-IJ2r7Q.cjs.map → theme-Z43TLE61.cjs.map} +1 -1
- package/dist/theme-button-Czsdp3o1.cjs +8 -0
- package/dist/theme-button-Czsdp3o1.cjs.map +1 -0
- package/dist/{theme-button-CEMeAUOL.js → theme-button-DdSbcivT.js} +3 -4
- package/dist/theme-button-DdSbcivT.js.map +1 -0
- package/dist/theme-button.cjs +1 -1
- package/dist/theme-button.js +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/{theme.events-NuihzD_p.js.map → theme.events-Cv7N4Toe.js.map} +1 -1
- package/dist/{theme.events-DakXxZeP.cjs.map → theme.events-DM4H5F2d.cjs.map} +1 -1
- package/dist/{theme.interface-DTwkuAKJ.cjs.map → theme.interface-D9l33b-M.cjs.map} +1 -1
- package/dist/{theme.interface-Buged9Cg.js.map → theme.interface-DnVNre4O.js.map} +1 -1
- package/dist/theme.js +5 -5
- package/dist/{theme.service-cOfPrtfe.js → theme.service-9clsqyee.js} +4 -4
- package/dist/theme.service-9clsqyee.js.map +1 -0
- package/dist/theme.service-CP71ojp6.cjs +1 -0
- package/dist/theme.service-CP71ojp6.cjs.map +1 -0
- package/dist/timeline.cjs +277 -0
- package/dist/timeline.cjs.map +1 -0
- package/dist/timeline.js +326 -0
- package/dist/timeline.js.map +1 -0
- package/dist/tree.cjs +2 -2
- package/dist/tree.cjs.map +1 -1
- package/dist/tree.js +15 -13
- package/dist/tree.js.map +1 -1
- package/dist/typewriter.cjs +10 -123
- package/dist/typewriter.cjs.map +1 -1
- package/dist/typewriter.js +90 -212
- package/dist/typewriter.js.map +1 -1
- package/dist/typography.cjs +3 -3
- package/dist/typography.cjs.map +1 -1
- package/dist/typography.js +18 -112
- package/dist/typography.js.map +1 -1
- package/dist/utils-Cr-YO4Np.cjs +1 -0
- package/dist/utils-Cr-YO4Np.cjs.map +1 -0
- package/dist/{utils-Bp2jhyZc.js → utils-hp-DnFf5.js} +16 -6
- package/dist/utils-hp-DnFf5.js.map +1 -0
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +4 -5
- package/dist/visually-hidden.cjs +2 -2
- package/dist/visually-hidden.cjs.map +1 -1
- package/dist/visually-hidden.js +7 -5
- package/dist/visually-hidden.js.map +1 -1
- package/dist/window-DTgKAQgz.cjs +59 -0
- package/dist/window-DTgKAQgz.cjs.map +1 -0
- package/dist/{window-CrjZdf7Y.js → window-moDKyGLZ.js} +28 -30
- package/dist/window-moDKyGLZ.js.map +1 -0
- package/dist/window.cjs +1 -1
- package/dist/window.js +1 -1
- package/package.json +14 -2
- package/plugins/vite-plugin-schmancy-auto-import.ts +143 -0
- package/plugins/vite-plugin-schmancy-manifest.ts +438 -0
- package/skills/schmancy/INDEX.md +1 -1
- package/skills/schmancy/SKILL.md +17 -5
- package/skills/schmancy/mixins.md +78 -20
- package/skills/schmancy/state.md +501 -0
- package/skills/schmancy/theme.md +15 -0
- package/skills/schmancy/timeline-tile.md +95 -0
- package/src/agent/agent-bundle.test.ts +0 -49
- package/src/agent/agent-entry.ts +4 -3
- package/src/agent/helpers.ts +1 -95
- package/src/agent/schmancy-skill.ts +2 -5
- package/src/agent/virtual-manifest.d.ts +1 -12
- package/src/area/area.component.ts +7 -19
- package/src/area/area.service.test.ts +4 -5
- package/src/area/area.service.ts +4 -3
- package/src/area/route.component.ts +17 -4
- package/src/area/utils.ts +3 -2
- package/src/audio/sound.service.ts +7 -11
- package/src/autocomplete/autocomplete.ts +18 -21
- package/src/{avatar.ts → avatar/avatar.ts} +2 -2
- package/src/avatar/index.ts +1 -0
- package/src/badge/badge.ts +4 -3
- package/src/boat/boat.ts +28 -36
- package/src/breadcrumb/breadcrumb.ts +11 -19
- package/src/busy/busy.ts +4 -3
- package/src/busy/spinner.ts +4 -3
- package/src/button/button.ts +6 -11
- package/src/button/icon-button.ts +8 -12
- package/src/card/actions.ts +4 -12
- package/src/card/card.ts +5 -23
- package/src/card/content.ts +4 -12
- package/src/card/media.ts +4 -9
- package/src/charts/area-chart.ts +7 -4
- package/src/charts/pills.ts +6 -4
- package/src/checkbox/checkbox.test.ts +2 -2
- package/src/checkbox/checkbox.ts +3 -9
- package/src/chips/assist-chip.ts +6 -14
- package/src/chips/chips.ts +7 -21
- package/src/chips/filter-chip.ts +4 -3
- package/src/chips/input-chip.ts +10 -9
- package/src/chips/suggestion-chip.ts +10 -12
- package/src/code-highlight/code-highlight.ts +28 -59
- package/src/code-highlight/code-preview.ts +11 -9
- package/src/connectivity/connectivity-status.ts +4 -3
- package/src/content-drawer/drawer.ts +5 -3
- package/src/content-drawer/main.ts +5 -3
- package/src/content-drawer/sheet.ts +6 -4
- package/src/date-range/date-range-dialog.ts +2 -2
- package/src/date-range/date-range.ts +3 -2
- package/src/delay/delay.ts +2 -2
- package/src/details/details.ts +4 -17
- package/src/dialog/dialog-service.ts +2 -0
- package/src/dialog/dialog.component.ts +9 -9
- package/src/directives/drag.ts +1 -9
- package/src/directives/index.ts +0 -1
- package/src/discovery/discovery.service.ts +1 -1
- package/src/divider/divider.ts +5 -14
- package/src/dropdown/dropdown-component.ts +5 -16
- package/src/dropdown/dropdown-content.ts +7 -14
- package/src/expand/expand-root.component.ts +5 -15
- package/src/expand/expand.component.ts +4 -17
- package/src/extra/countries/countries.ts +5 -13
- package/src/extra/timezone/timezone.ts +7 -12
- package/src/form/form.test.ts +2 -2
- package/src/form/form.ts +2 -9
- package/src/icons/icon.ts +4 -3
- package/src/iframe/iframe.ts +13 -4
- package/src/index.ts +3 -3
- package/src/input/input.ts +4 -11
- package/src/json/json.ts +4 -3
- package/src/kbd/kbd.ts +4 -3
- package/src/layout/index.ts +1 -5
- package/src/layout/scroll/scroll.ts +5 -8
- package/src/lightbox/flip-directive.ts +1 -1
- package/src/lightbox/lightbox.ts +5 -14
- package/src/list/list-item.ts +4 -13
- package/src/list/list.ts +12 -10
- package/src/mailbox/email-editor.ts +17 -11
- package/src/mailbox/email-layout-selector.ts +2 -2
- package/src/mailbox/email-recipients.ts +13 -8
- package/src/mailbox/email-template-picker.ts +6 -5
- package/src/mailbox/email-viewer.ts +5 -3
- package/src/mailbox/mailbox.ts +6 -5
- package/src/map/map.ts +8 -6
- package/src/menu/menu-item.ts +5 -16
- package/src/menu/menu.ts +27 -13
- package/src/nav-drawer/appbar.ts +4 -14
- package/src/nav-drawer/content.ts +5 -14
- package/src/nav-drawer/drawer.ts +5 -18
- package/src/nav-drawer/navbar.ts +3 -17
- package/src/navigation-bar/navigation-bar-item.ts +8 -6
- package/src/navigation-bar/navigation-bar.ts +19 -19
- package/src/navigation-rail/navigation-rail-item.ts +9 -5
- package/src/navigation-rail/navigation-rail.ts +10 -14
- package/src/notification/notification.ts +6 -3
- package/src/option/option.ts +4 -3
- package/src/overlay/overlay.animations.ts +196 -25
- package/src/overlay/overlay.component.ts +397 -190
- package/src/overlay/overlay.confirm-body.ts +21 -7
- package/src/overlay/overlay.gestures.ts +72 -36
- package/src/overlay/overlay.layout.ts +103 -1
- package/src/overlay/overlay.positioning.ts +301 -0
- package/src/overlay/overlay.service.ts +81 -3
- package/src/overlay/overlay.stack.ts +8 -4
- package/src/overlay/overlay.types.ts +83 -5
- package/src/page/page.ts +16 -11
- package/src/payment-card-form/index.ts +1 -0
- package/src/{components/form-elements → payment-card-form}/payment-card-form.ts +23 -23
- package/src/progress/progress.ts +5 -3
- package/src/qr-scanner/qr-scanner.ts +7 -30
- package/src/radio-group/radio-button.ts +3 -13
- package/src/radio-group/radio-group.ts +5 -22
- package/src/range/range.ts +4 -3
- package/src/rxjs-utils/waitForElements.ts +1 -1
- package/src/rxjs-utils/waitForElementsAll.ts +1 -1
- package/src/select/select.ts +10 -18
- package/src/sheet/hook.ts +1 -1
- package/src/sheet/sheet.ts +5 -20
- package/src/skeleton/skeleton.ts +4 -3
- package/src/slider/slide.ts +5 -3
- package/src/slider/slider.ts +5 -3
- package/src/splash-screen/splash-screen.ts +5 -3
- package/src/state/CLAUDE.md +161 -0
- package/src/state/MIGRATION.md +258 -0
- package/src/state/SCOPING.md +134 -0
- package/src/state/active-host.ts +156 -0
- package/src/state/index.ts +877 -0
- package/src/state/persist.ts +208 -0
- package/src/state/schmancy-context.ts +84 -0
- package/src/state/state.test-d.ts +227 -0
- package/src/state/state.test.ts +820 -0
- package/src/steps/schmancy-step.ts +5 -3
- package/src/steps/schmancy-steps-container.ts +5 -3
- package/src/surface/surface.ts +14 -9
- package/src/switch/switch.test.ts +2 -2
- package/src/switch/switch.ts +8 -10
- package/src/table/row.ts +7 -4
- package/src/table/table.ts +17 -14
- package/src/tabs/index.ts +0 -2
- package/src/tabs/tab.ts +2 -2
- package/src/tabs/tabs-group.ts +7 -4
- package/src/teleport/teleport.component.ts +5 -3
- package/src/textarea/textarea.ts +6 -12
- package/src/theme/theme-audio-player.ts +7 -5
- package/src/theme/theme-controller.ts +2 -2
- package/src/theme/theme.component.ts +22 -15
- package/src/theme/theme.service.ts +6 -7
- package/src/theme/theme.style.css +1 -0
- package/src/theme-button/theme-button.ts +2 -2
- package/src/timeline/index.ts +1 -0
- package/src/timeline/timeline-tile.ts +431 -0
- package/src/tree/tree.ts +4 -16
- package/src/typewriter/index.ts +1 -1
- package/src/typography/typography.ts +5 -98
- package/src/utils/intersection.ts +5 -1
- package/src/utils/overlay-stack.ts +1 -1
- package/src/utils/search.ts +2 -2
- package/src/visually-hidden/visually-hidden.ts +4 -3
- package/src/window/window-position.ts +3 -6
- package/src/window/window.ts +9 -7
- package/types/mixins/SchmancyElement.d.ts +49 -0
- package/types/mixins/formField.mixin.d.ts +4 -2
- package/types/mixins/index.d.ts +1 -0
- package/types/mixins/litElement.mixin.d.ts +11 -0
- package/types/src/agent/agent-entry.d.ts +1 -1
- package/types/src/agent/helpers.d.ts +0 -26
- package/types/src/agent/schmancy-skill.d.ts +3 -5
- package/types/src/area/area.component.d.ts +3 -17
- package/types/src/area/route.component.d.ts +14 -4
- package/types/src/autocomplete/autocomplete.d.ts +4 -15
- package/types/src/{avatar.d.ts → avatar/avatar.d.ts} +2 -3
- package/types/src/avatar/index.d.ts +1 -0
- package/types/src/badge/badge.d.ts +3 -3
- package/types/src/boat/boat.d.ts +3 -2
- package/types/src/breadcrumb/breadcrumb.d.ts +9 -19
- package/types/src/busy/busy.d.ts +3 -3
- package/types/src/busy/spinner.d.ts +3 -3
- package/types/src/button/button.d.ts +4 -10
- package/types/src/button/icon-button.d.ts +5 -11
- package/types/src/card/actions.d.ts +3 -12
- package/types/src/card/card.d.ts +4 -24
- package/types/src/card/content.d.ts +3 -12
- package/types/src/card/media.d.ts +3 -9
- package/types/src/charts/area-chart.d.ts +3 -3
- package/types/src/charts/pills.d.ts +3 -3
- package/types/src/checkbox/checkbox.d.ts +3 -10
- package/types/src/chips/assist-chip.d.ts +5 -15
- package/types/src/chips/chips.d.ts +3 -17
- package/types/src/chips/filter-chip.d.ts +3 -3
- package/types/src/chips/input-chip.d.ts +9 -10
- package/types/src/chips/suggestion-chip.d.ts +9 -13
- package/types/src/code-highlight/code-highlight.d.ts +4 -11
- package/types/src/code-highlight/code-preview.d.ts +3 -3
- package/types/src/connectivity/connectivity-status.d.ts +3 -3
- package/types/src/content-drawer/drawer.d.ts +4 -4
- package/types/src/content-drawer/main.d.ts +3 -3
- package/types/src/content-drawer/sheet.d.ts +4 -4
- package/types/src/date-range/date-range-dialog.d.ts +2 -3
- package/types/src/date-range/date-range.d.ts +2 -3
- package/types/src/delay/delay.d.ts +2 -3
- package/types/src/details/details.d.ts +3 -14
- package/types/src/dialog/dialog.component.d.ts +9 -9
- package/types/src/directives/drag.d.ts +1 -3
- package/types/src/directives/index.d.ts +0 -1
- package/types/src/divider/divider.d.ts +3 -14
- package/types/src/dropdown/dropdown-component.d.ts +4 -17
- package/types/src/dropdown/dropdown-content.d.ts +6 -14
- package/types/src/expand/expand-root.component.d.ts +4 -14
- package/types/src/expand/expand.component.d.ts +3 -17
- package/types/src/extra/countries/countries.d.ts +3 -13
- package/types/src/extra/timezone/timezone.d.ts +4 -11
- package/types/src/form/form.d.ts +2 -9
- package/types/src/icons/icon.d.ts +3 -3
- package/types/src/iframe/iframe.d.ts +5 -3
- package/types/src/index.d.ts +3 -3
- package/types/src/input/input.d.ts +4 -11
- package/types/src/json/json.d.ts +3 -3
- package/types/src/kbd/kbd.d.ts +3 -3
- package/types/src/layout/index.d.ts +0 -4
- package/types/src/layout/scroll/scroll.d.ts +4 -8
- package/types/src/lightbox/lightbox.d.ts +3 -14
- package/types/src/list/list-item.d.ts +3 -13
- package/types/src/list/list.d.ts +11 -10
- package/types/src/mailbox/email-editor.d.ts +3 -3
- package/types/src/mailbox/email-layout-selector.d.ts +2 -3
- package/types/src/mailbox/email-recipients.d.ts +7 -3
- package/types/src/mailbox/email-template-picker.d.ts +4 -4
- package/types/src/mailbox/email-viewer.d.ts +3 -3
- package/types/src/mailbox/mailbox.d.ts +4 -4
- package/types/src/map/map.d.ts +4 -3
- package/types/src/menu/menu-item.d.ts +3 -16
- package/types/src/menu/menu.d.ts +25 -13
- package/types/src/nav-drawer/appbar.d.ts +3 -14
- package/types/src/nav-drawer/content.d.ts +3 -14
- package/types/src/nav-drawer/drawer.d.ts +3 -18
- package/types/src/nav-drawer/navbar.d.ts +3 -18
- package/types/src/navigation-bar/navigation-bar-item.d.ts +7 -6
- package/types/src/navigation-bar/navigation-bar.d.ts +13 -7
- package/types/src/navigation-rail/navigation-rail-item.d.ts +9 -6
- package/types/src/navigation-rail/navigation-rail.d.ts +10 -15
- package/types/src/notification/notification.d.ts +3 -3
- package/types/src/option/option.d.ts +3 -3
- package/types/src/overlay/overlay.animations.d.ts +54 -5
- package/types/src/overlay/overlay.component.d.ts +39 -15
- package/types/src/overlay/overlay.confirm-body.d.ts +4 -4
- package/types/src/overlay/overlay.gestures.d.ts +26 -17
- package/types/src/overlay/overlay.layout.d.ts +27 -1
- package/types/src/overlay/overlay.positioning.d.ts +87 -0
- package/types/src/overlay/overlay.types.d.ts +59 -5
- package/types/src/page/page.d.ts +14 -11
- package/types/src/{components/form-elements → payment-card-form}/payment-card-form.d.ts +2 -3
- package/types/src/progress/progress.d.ts +3 -3
- package/types/src/qr-scanner/qr-scanner.d.ts +3 -3
- package/types/src/radio-group/radio-button.d.ts +3 -12
- package/types/src/radio-group/radio-group.d.ts +4 -20
- package/types/src/range/range.d.ts +3 -3
- package/types/src/rxjs-utils/waitForElements.d.ts +1 -1
- package/types/src/rxjs-utils/waitForElementsAll.d.ts +1 -1
- package/types/src/select/select.d.ts +4 -15
- package/types/src/sheet/sheet.d.ts +3 -20
- package/types/src/skeleton/skeleton.d.ts +3 -3
- package/types/src/slider/slide.d.ts +3 -2
- package/types/src/slider/slider.d.ts +3 -3
- package/types/src/splash-screen/splash-screen.d.ts +3 -3
- package/types/src/state/active-host.d.ts +18 -0
- package/types/src/state/index.d.ts +145 -0
- package/types/src/state/persist.d.ts +14 -0
- package/types/src/state/schmancy-context.d.ts +31 -0
- package/types/src/state/state.test-d.d.ts +131 -0
- package/types/src/state/state.test.d.ts +1 -0
- package/types/src/steps/schmancy-step.d.ts +3 -3
- package/types/src/steps/schmancy-steps-container.d.ts +3 -3
- package/types/src/surface/surface.d.ts +13 -5
- package/types/src/switch/switch.d.ts +7 -11
- package/types/src/table/row.d.ts +2 -3
- package/types/src/table/table.d.ts +4 -11
- package/types/src/tabs/index.d.ts +0 -2
- package/types/src/tabs/tab.d.ts +2 -3
- package/types/src/tabs/tabs-group.d.ts +3 -3
- package/types/src/teleport/teleport.component.d.ts +3 -3
- package/types/src/textarea/textarea.d.ts +5 -12
- package/types/src/theme/theme-audio-player.d.ts +3 -3
- package/types/src/theme/theme-controller.d.ts +2 -2
- package/types/src/theme/theme.component.d.ts +18 -13
- package/types/src/theme-button/theme-button.d.ts +2 -3
- package/types/src/timeline/index.d.ts +1 -0
- package/types/src/timeline/timeline-tile.d.ts +44 -0
- package/types/src/tree/tree.d.ts +3 -16
- package/types/src/typewriter/index.d.ts +1 -1
- package/types/src/typography/typography.d.ts +3 -36
- package/types/src/visually-hidden/visually-hidden.d.ts +3 -3
- package/types/src/window/window.d.ts +3 -3
- package/dist/agent/index.es-Dymj8REP.js +0 -489
- package/dist/agent/index.es-Dymj8REP.js.map +0 -1
- package/dist/area-BGBCMC79.js.map +0 -1
- package/dist/area-D7l9KR2N.cjs +0 -12
- package/dist/area-D7l9KR2N.cjs.map +0 -1
- package/dist/autocomplete-BPD5uraA.cjs +0 -115
- package/dist/autocomplete-BPD5uraA.cjs.map +0 -1
- package/dist/autocomplete-C2P0Soht.js.map +0 -1
- package/dist/boat-BkIO-0No.cjs +0 -80
- package/dist/boat-BkIO-0No.cjs.map +0 -1
- package/dist/boat-DXZ0k7oa.js.map +0 -1
- package/dist/busy-DGYhpTnO.cjs.map +0 -1
- package/dist/busy-iRjq6Nvd.js.map +0 -1
- package/dist/card-DjYnCckw.cjs.map +0 -1
- package/dist/card-wUTjx0EC.js.map +0 -1
- package/dist/checkbox-CiYEtw9F.cjs +0 -39
- package/dist/checkbox-CiYEtw9F.cjs.map +0 -1
- package/dist/checkbox-VBSenxgb.js.map +0 -1
- package/dist/chips-BDS9lkPa.js.map +0 -1
- package/dist/chips-D6ptH5re.cjs.map +0 -1
- package/dist/code-highlight-Bi91XHJN.js.map +0 -1
- package/dist/code-highlight-BzRmBZzz.cjs.map +0 -1
- package/dist/components-DkmEgyAc.cjs +0 -73
- package/dist/components.cjs +0 -1
- package/dist/components.js +0 -2
- package/dist/context-BerzpUhI.js +0 -3
- package/dist/context-C6dHUHhi.cjs +0 -1
- package/dist/date-range-BmFxTXiU.cjs +0 -131
- package/dist/date-range-BmFxTXiU.cjs.map +0 -1
- package/dist/date-range-ClTMg1AB.js.map +0 -1
- package/dist/date-range-inline-B9Dp2z6C.cjs +0 -43
- package/dist/delay-BHODnTg-.cjs +0 -9
- package/dist/delay-BHODnTg-.cjs.map +0 -1
- package/dist/delay-Dlk0A3he.js +0 -347
- package/dist/delay-Dlk0A3he.js.map +0 -1
- package/dist/details-CPjlqQD4.js.map +0 -1
- package/dist/details-Cz9ok9si.cjs.map +0 -1
- package/dist/dialog-service-CzDO08Gy.cjs.map +0 -1
- package/dist/dialog-service-DH-tjPuE.js.map +0 -1
- package/dist/divider-CILo3_vi.cjs.map +0 -1
- package/dist/divider-ghgyw5CU.js.map +0 -1
- package/dist/expand-CbjBr_Ds.js.map +0 -1
- package/dist/expand-r3OrSoDk.cjs +0 -141
- package/dist/expand-r3OrSoDk.cjs.map +0 -1
- package/dist/extra-BZeZOMBI.cjs.map +0 -1
- package/dist/extra-DK9MQtPJ.js.map +0 -1
- package/dist/float-CuZ8LOgB.cjs +0 -1
- package/dist/flow-BPDtbhLe.js +0 -386
- package/dist/flow-BPDtbhLe.js.map +0 -1
- package/dist/flow-Dn9AZktE.cjs +0 -1
- package/dist/flow-Dn9AZktE.cjs.map +0 -1
- package/dist/form-rCZqoAoK.js.map +0 -1
- package/dist/form-wI58M85H.cjs.map +0 -1
- package/dist/handover/agent-runtime-v2-loopback.md +0 -71
- package/dist/handover/claude-design-v2-paste.md +0 -42
- package/dist/icons-Drq4kKy2.js.map +0 -1
- package/dist/icons-DtdhaZdc.cjs +0 -52
- package/dist/icons-DtdhaZdc.cjs.map +0 -1
- package/dist/iframe-BkwwWIbQ.cjs +0 -24
- package/dist/iframe-BkwwWIbQ.cjs.map +0 -1
- package/dist/iframe-BmyHW8km.js.map +0 -1
- package/dist/index.es-BgmFX1JM.cjs +0 -1
- package/dist/index.es-BgmFX1JM.cjs.map +0 -1
- package/dist/index.es-CLyb_o3Y.js +0 -489
- package/dist/index.es-CLyb_o3Y.js.map +0 -1
- package/dist/input-BGNZlfL8.cjs.map +0 -1
- package/dist/input-Bc3bVISm.js.map +0 -1
- package/dist/input-chip-BQrjpjaQ.js.map +0 -1
- package/dist/input-chip-DN-cwf11.cjs.map +0 -1
- package/dist/intersection-BrXp4YTO.js +0 -12
- package/dist/intersection-BrXp4YTO.js.map +0 -1
- package/dist/intersection-DqBqnpgh.cjs +0 -1
- package/dist/intersection-DqBqnpgh.cjs.map +0 -1
- package/dist/layout-7eyMBmZk.cjs +0 -17
- package/dist/layout-7eyMBmZk.cjs.map +0 -1
- package/dist/layout-Ox6nJkzC.js +0 -268
- package/dist/layout-Ox6nJkzC.js.map +0 -1
- package/dist/lightbox-CY52Z_ig.js.map +0 -1
- package/dist/lightbox-H8Uq3AXy.cjs +0 -202
- package/dist/lightbox-H8Uq3AXy.cjs.map +0 -1
- package/dist/list-BGjVo6zb.cjs +0 -40
- package/dist/list-BGjVo6zb.cjs.map +0 -1
- package/dist/list-D7wUxu1C.js.map +0 -1
- package/dist/litElement.mixin-CszkJuNl.js +0 -12
- package/dist/litElement.mixin-CszkJuNl.js.map +0 -1
- package/dist/litElement.mixin-qh5-IIUq.cjs +0 -1
- package/dist/litElement.mixin-qh5-IIUq.cjs.map +0 -1
- package/dist/mailbox--EN-JhjV.js.map +0 -1
- package/dist/mailbox-DLiBGJhY.cjs.map +0 -1
- package/dist/map-B0S_q3ma.js.map +0 -1
- package/dist/map-EDQN0I6e.cjs +0 -80
- package/dist/map-EDQN0I6e.cjs.map +0 -1
- package/dist/menu-3edZGQ1x.cjs.map +0 -1
- package/dist/menu-COeFpb6n.js.map +0 -1
- package/dist/metric.cjs +0 -69
- package/dist/metric.cjs.map +0 -1
- package/dist/metric.js +0 -93
- package/dist/metric.js.map +0 -1
- package/dist/mixins.cjs.map +0 -1
- package/dist/mixins.js.map +0 -1
- package/dist/notification-CC-TFN5v.js.map +0 -1
- package/dist/notification-P4c-kFdH.cjs +0 -23
- package/dist/notification-P4c-kFdH.cjs.map +0 -1
- package/dist/option-BwAF4nAw.js.map +0 -1
- package/dist/option-Cu0ertuF.cjs +0 -43
- package/dist/option-Cu0ertuF.cjs.map +0 -1
- package/dist/progress-Bk_Q1Shy.js.map +0 -1
- package/dist/progress-Yz6EMNSu.cjs.map +0 -1
- package/dist/provide-CYgj58u_.cjs +0 -1
- package/dist/provide-CYgj58u_.cjs.map +0 -1
- package/dist/provide-ydIskwf2.js +0 -107
- package/dist/provide-ydIskwf2.js.map +0 -1
- package/dist/radio-group-BcdcjLNC.js.map +0 -1
- package/dist/radio-group-BpBz5tRA.cjs +0 -40
- package/dist/radio-group-BpBz5tRA.cjs.map +0 -1
- package/dist/scroll-DXQv0ejL.js.map +0 -1
- package/dist/scroll-DbZMTv0K.cjs +0 -26
- package/dist/scroll-DbZMTv0K.cjs.map +0 -1
- package/dist/search-CwMav5QB.cjs +0 -1
- package/dist/select-BV4lK2zy.cjs.map +0 -1
- package/dist/select-DKyGWDsG.js.map +0 -1
- package/dist/sheet-BAI_jH1t.cjs +0 -35
- package/dist/sheet-BAI_jH1t.cjs.map +0 -1
- package/dist/sheet-C3TLKItO.js.map +0 -1
- package/dist/sheet.service-RcDBwHmv.cjs +0 -1
- package/dist/skills/schmancy/store.md +0 -126
- package/dist/skills/store.md +0 -126
- package/dist/sound.service-BEN6Xjy_.cjs +0 -1
- package/dist/sound.service-BEN6Xjy_.cjs.map +0 -1
- package/dist/sound.service-DWZe6swU.js.map +0 -1
- package/dist/splash-screen-DbI5RgBf.js.map +0 -1
- package/dist/splash-screen-DoHRTHi8.cjs +0 -41
- package/dist/splash-screen-DoHRTHi8.cjs.map +0 -1
- package/dist/src-00DfxCJq.js.map +0 -1
- package/dist/src-C_JjQovE.cjs +0 -269
- package/dist/src-C_JjQovE.cjs.map +0 -1
- package/dist/store-CjFHCSDb.cjs +0 -1
- package/dist/store-CjFHCSDb.cjs.map +0 -1
- package/dist/store-CjzZDQt8.js +0 -1654
- package/dist/store-CjzZDQt8.js.map +0 -1
- package/dist/store.cjs +0 -1
- package/dist/store.js +0 -2
- package/dist/surface-D-GWBcsh.cjs +0 -7
- package/dist/surface-D-GWBcsh.cjs.map +0 -1
- package/dist/surface-D23JtxYP.js +0 -22
- package/dist/surface-D23JtxYP.js.map +0 -1
- package/dist/surface.mixin-DqMwoddO.js +0 -320
- package/dist/surface.mixin-DqMwoddO.js.map +0 -1
- package/dist/surface.mixin-DxOi-xo0.cjs +0 -297
- package/dist/surface.mixin-DxOi-xo0.cjs.map +0 -1
- package/dist/table-C7b73kdg.cjs +0 -63
- package/dist/table-C7b73kdg.cjs.map +0 -1
- package/dist/table-CTrhV9-k.js +0 -631
- package/dist/table-CTrhV9-k.js.map +0 -1
- package/dist/tabs-Ce55RbwF.js.map +0 -1
- package/dist/tabs-DAzB8O7w.cjs +0 -31
- package/dist/tabs-DAzB8O7w.cjs.map +0 -1
- package/dist/tailwind.mixin-DRI1oTYQ.cjs +0 -2
- package/dist/tailwind.mixin-DRI1oTYQ.cjs.map +0 -1
- package/dist/tailwind.mixin-mdQR3BEO.js +0 -219
- package/dist/tailwind.mixin-mdQR3BEO.js.map +0 -1
- package/dist/textarea-DjN1D9u0.js.map +0 -1
- package/dist/textarea-PuHxBvJA.cjs +0 -39
- package/dist/textarea-PuHxBvJA.cjs.map +0 -1
- package/dist/theme-B-IJ2r7Q.cjs +0 -181
- package/dist/theme-button-BSbYmS4p.cjs +0 -8
- package/dist/theme-button-BSbYmS4p.cjs.map +0 -1
- package/dist/theme-button-CEMeAUOL.js.map +0 -1
- package/dist/theme.service-DxJPUGlu.cjs +0 -1
- package/dist/theme.service-DxJPUGlu.cjs.map +0 -1
- package/dist/theme.service-cOfPrtfe.js.map +0 -1
- package/dist/tslib.es6-Cnt75pb6.cjs +0 -1
- package/dist/tslib.es6-Cnt75pb6.cjs.map +0 -1
- package/dist/tslib.es6-DMzzJKHV.js +0 -7
- package/dist/tslib.es6-DMzzJKHV.js.map +0 -1
- package/dist/utils-Bp2jhyZc.js.map +0 -1
- package/dist/utils-CBPQvxNW.cjs +0 -1
- package/dist/utils-CBPQvxNW.cjs.map +0 -1
- package/dist/window-CrjZdf7Y.js.map +0 -1
- package/dist/window-DTUARSrU.cjs +0 -59
- package/dist/window-DTUARSrU.cjs.map +0 -1
- package/skills/schmancy/store.md +0 -126
- package/src/components/form-elements/index.ts +0 -1
- package/src/components/index.ts +0 -1
- package/src/layout/flex/flex.scss +0 -4
- package/src/layout/flex/flex.ts +0 -74
- package/src/layout/flex/index.ts +0 -1
- package/src/layout/grid/.readme +0 -79
- package/src/layout/grid/grid.scss +0 -5
- package/src/layout/grid/grid.ts +0 -121
- package/src/layout/grid/index.ts +0 -1
- package/src/layout/layout.ts +0 -122
- package/src/layout/v2/flex.ts +0 -243
- package/src/layout/v2/index.ts +0 -1
- package/src/metric/index.ts +0 -1
- package/src/metric/metric.ts +0 -127
- package/src/store/context-array.ts +0 -358
- package/src/store/context-collection.ts +0 -218
- package/src/store/context-create.ts +0 -284
- package/src/store/context-object.ts +0 -298
- package/src/store/filter-directive.ts +0 -614
- package/src/store/index.ts +0 -10
- package/src/store/selector-hook.ts +0 -259
- package/src/store/selectors.ts +0 -289
- package/src/store/storage-manager.ts +0 -269
- package/src/store/store.class.ts +0 -239
- package/src/store/types.ts +0 -327
- package/src/tabs/tabs-compatibility.ts +0 -20
- package/src/typewriter/typewriter.ts +0 -410
- package/types/src/area/route.test.d.ts +0 -20
- package/types/src/button/button.test.d.ts +0 -1
- package/types/src/chips/chip.d.ts +0 -3
- package/types/src/components/index.d.ts +0 -1
- package/types/src/content-drawer/$sheet.d.ts +0 -14
- package/types/src/dialog/dailog.d.ts +0 -116
- package/types/src/dialog/dialog-content.d.ts +0 -17
- package/types/src/directives/guard.d.ts +0 -1
- package/types/src/directives/visibility.d.ts +0 -11
- package/types/src/form/form-v2.d.ts +0 -22
- package/types/src/input/input-v2.d.ts +0 -250
- package/types/src/layout/flex/flex.d.ts +0 -26
- package/types/src/layout/flex/index.d.ts +0 -1
- package/types/src/layout/grid/grid.d.ts +0 -39
- package/types/src/layout/grid/index.d.ts +0 -1
- package/types/src/layout/layout.d.ts +0 -59
- package/types/src/layout/v2/flex.d.ts +0 -65
- package/types/src/layout/v2/grid.d.ts +0 -51
- package/types/src/layout/v2/index.d.ts +0 -1
- package/types/src/lightbox/flip.directive.d.ts +0 -22
- package/types/src/metric/index.d.ts +0 -1
- package/types/src/metric/metric.d.ts +0 -39
- package/types/src/notification/outlet.d.ts +0 -10
- package/types/src/sheet/header.d.ts +0 -10
- package/types/src/store/context-array.d.ts +0 -83
- package/types/src/store/context-collection.d.ts +0 -74
- package/types/src/store/context-create.d.ts +0 -43
- package/types/src/store/context-object.d.ts +0 -46
- package/types/src/store/filter-directive.d.ts +0 -116
- package/types/src/store/immer-integration.d.ts +0 -54
- package/types/src/store/index.d.ts +0 -10
- package/types/src/store/selector-hook.d.ts +0 -46
- package/types/src/store/selectors.d.ts +0 -90
- package/types/src/store/storage-manager.d.ts +0 -48
- package/types/src/store/store.class.d.ts +0 -73
- package/types/src/store/types.d.ts +0 -241
- package/types/src/tabs/tabs-compatibility.d.ts +0 -13
- package/types/src/theme/theme.elevation.d.ts +0 -131
- package/types/src/theme/theme.motion.d.ts +0 -198
- package/types/src/theme/theme.shape.d.ts +0 -144
- package/types/src/theme/theme.state.d.ts +0 -546
- package/types/src/theme/theme.typography.d.ts +0 -74
- package/types/src/tooltip/tooltip.d.ts +0 -33
- package/types/src/typewriter/typewriter.d.ts +0 -94
- /package/dist/agent/{flow-CvG1fLW5.js → flow-CaPi2G8y.js} +0 -0
- /package/dist/agent/{vendor-material-color-DcL7ZPxx.js → vendor-material-color-Be96dpGE.js} +0 -0
- /package/dist/{animation-hXFClrIn.js → animation-BK-8BwY8.js} +0 -0
- /package/dist/{animation-CQRdLgzX.cjs → animation-CO_Csq84.cjs} +0 -0
- /package/dist/{decorate-D_utPUsC.js → decorate-23nYs4Le.js} +0 -0
- /package/dist/{decorate-F9CuyeHg.cjs → decorate-DpFmy0nm.cjs} +0 -0
- /package/dist/{hashContent-B2IntJQf.js → hashContent-1ARKIsx9.js} +0 -0
- /package/dist/{hashContent-CahnEuut.cjs → hashContent-Bp5S6T4U.cjs} +0 -0
- /package/dist/{lazy-D6R5N5v4.js → lazy-B0ia54tT.js} +0 -0
- /package/dist/{lazy-BDNnH_r7.cjs → lazy-Dq9mRRjT.cjs} +0 -0
- /package/dist/{reduced-motion-BZTLqAyl.js → reduced-motion-D-L12p7G.js} +0 -0
- /package/dist/{reduced-motion-9RjNnhIg.cjs → reduced-motion-Ds-HjMzn.cjs} +0 -0
- /package/dist/{rxjs-utils-DJbZRjp3.cjs → rxjs-utils-Csnks202.cjs} +0 -0
- /package/dist/{rxjs-utils-CKTnEKUH.js → rxjs-utils-d-ivVN84.js} +0 -0
- /package/dist/{theme.events-NuihzD_p.js → theme.events-Cv7N4Toe.js} +0 -0
- /package/dist/{theme.events-DakXxZeP.cjs → theme.events-DM4H5F2d.cjs} +0 -0
- /package/dist/{theme.interface-DTwkuAKJ.cjs → theme.interface-D9l33b-M.cjs} +0 -0
- /package/dist/{theme.interface-Buged9Cg.js → theme.interface-DnVNre4O.js} +0 -0
- /package/src/{directives/typewriter.ts → typewriter/typewriter.directive.ts} +0 -0
- /package/types/src/{components/form-elements → payment-card-form}/index.d.ts +0 -0
- /package/types/src/{directives/typewriter.d.ts → typewriter/typewriter.directive.d.ts} +0 -0
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
|
+
BehaviorSubject,
|
|
2
3
|
defer,
|
|
3
4
|
defaultIfEmpty,
|
|
4
5
|
distinctUntilChanged,
|
|
5
6
|
EMPTY,
|
|
7
|
+
filter,
|
|
6
8
|
firstValueFrom,
|
|
7
9
|
fromEvent,
|
|
8
10
|
map,
|
|
@@ -44,6 +46,72 @@ import type {
|
|
|
44
46
|
*/
|
|
45
47
|
export const openOverlays$: Observable<readonly OverlayEntry[]> = internalStack$
|
|
46
48
|
|
|
49
|
+
/* ======================================================================= *
|
|
50
|
+
* ambient event capture *
|
|
51
|
+
* ======================================================================= *
|
|
52
|
+
* Novel: callers do not need to pass `anchor: event` manually. The service
|
|
53
|
+
* listens to pointerdown / click / keydown at capture phase on the document
|
|
54
|
+
* and remembers the most-recent user gesture. When show() is invoked
|
|
55
|
+
* synchronously (or shortly after) in response to that gesture, the remembered
|
|
56
|
+
* event becomes the default anchor. This matches the "anchored is the novel
|
|
57
|
+
* default" principle without forcing callers to thread events through
|
|
58
|
+
* handlers.
|
|
59
|
+
*
|
|
60
|
+
* Staleness guard: an event older than AMBIENT_ANCHOR_MAX_AGE_MS is ignored.
|
|
61
|
+
* Timer-driven or async show() calls that don't originate from a user gesture
|
|
62
|
+
* fall through to centered / sheet layout.
|
|
63
|
+
*/
|
|
64
|
+
const AMBIENT_ANCHOR_MAX_AGE_MS = 750
|
|
65
|
+
|
|
66
|
+
interface AmbientAnchor {
|
|
67
|
+
event: MouseEvent
|
|
68
|
+
capturedAt: number
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* BehaviorSubject projected off three document-level event streams,
|
|
73
|
+
* merged as Observables per rxjs principle 3 (every async source
|
|
74
|
+
* lifted into fromEvent). Keydown activations synthesize a MouseEvent
|
|
75
|
+
* at the focused element's bounding rect so the anchor path can
|
|
76
|
+
* carry keyboard-triggered opens uniformly.
|
|
77
|
+
*
|
|
78
|
+
* The singleton subscribe has no explicit teardown — the module's
|
|
79
|
+
* lifetime IS the subscription's lifetime, which is the correct
|
|
80
|
+
* SUBSCRIPTION_IS_STATE shape for a document-level event sink.
|
|
81
|
+
*/
|
|
82
|
+
const ambientAnchor$ = new BehaviorSubject<AmbientAnchor | null>(null)
|
|
83
|
+
|
|
84
|
+
if (typeof document !== 'undefined') {
|
|
85
|
+
const pointerdown$ = fromEvent<PointerEvent>(document, 'pointerdown', { capture: true, passive: true }).pipe(
|
|
86
|
+
map((e): AmbientAnchor => ({ event: e, capturedAt: performance.now() })),
|
|
87
|
+
)
|
|
88
|
+
const click$ = fromEvent<MouseEvent>(document, 'click', { capture: true, passive: true }).pipe(
|
|
89
|
+
map((e): AmbientAnchor => ({ event: e, capturedAt: performance.now() })),
|
|
90
|
+
)
|
|
91
|
+
const keydown$ = fromEvent<KeyboardEvent>(document, 'keydown', { capture: true }).pipe(
|
|
92
|
+
filter((e) => e.target instanceof Element),
|
|
93
|
+
map((e): AmbientAnchor => {
|
|
94
|
+
const rect = (e.target as Element).getBoundingClientRect()
|
|
95
|
+
const synthetic = new MouseEvent('click', {
|
|
96
|
+
clientX: rect.left + rect.width / 2,
|
|
97
|
+
clientY: rect.top + rect.height / 2,
|
|
98
|
+
bubbles: true,
|
|
99
|
+
})
|
|
100
|
+
return { event: synthetic, capturedAt: performance.now() }
|
|
101
|
+
}),
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
merge(pointerdown$, click$, keydown$).subscribe((ambient) => ambientAnchor$.next(ambient))
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
function ambientAnchor(): MouseEvent | undefined {
|
|
108
|
+
const cur = ambientAnchor$.value
|
|
109
|
+
if (!cur) return undefined
|
|
110
|
+
if (performance.now() - cur.capturedAt > AMBIENT_ANCHOR_MAX_AGE_MS) return undefined
|
|
111
|
+
return cur.event
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
|
|
47
115
|
/* ======================================================================= *
|
|
48
116
|
* show *
|
|
49
117
|
* ======================================================================= */
|
|
@@ -72,6 +140,13 @@ export function show<T = void>(
|
|
|
72
140
|
options: ShowOptions = {},
|
|
73
141
|
): Observable<T | undefined> {
|
|
74
142
|
return defer(() => {
|
|
143
|
+
// Resolve anchor at subscribe time: caller's explicit anchor wins,
|
|
144
|
+
// otherwise the ambient gesture captured by ambientAnchor$ fills in.
|
|
145
|
+
const resolvedOptions: ShowOptions = {
|
|
146
|
+
...options,
|
|
147
|
+
anchor: options.anchor ?? ambientAnchor(),
|
|
148
|
+
}
|
|
149
|
+
|
|
75
150
|
return new Observable<T | undefined>((subscriber) => {
|
|
76
151
|
let el: SchmancyOverlay | null = null
|
|
77
152
|
let entry: OverlayEntry | null = null
|
|
@@ -88,14 +163,17 @@ export function show<T = void>(
|
|
|
88
163
|
await el.updateComplete
|
|
89
164
|
|
|
90
165
|
// Open it — mount content, resolve layout, animate in.
|
|
91
|
-
await el.open(content,
|
|
166
|
+
await el.open(content, resolvedOptions)
|
|
92
167
|
|
|
93
|
-
// Register with the stack (post-open so layout
|
|
168
|
+
// Register with the stack (post-open so layout, modal, tier are all
|
|
169
|
+
// resolved by the element).
|
|
94
170
|
const id = generateId()
|
|
95
171
|
entry = {
|
|
96
172
|
id,
|
|
97
173
|
element: el,
|
|
98
174
|
layout: el.layout,
|
|
175
|
+
modal: el.modal,
|
|
176
|
+
tier: el.tier,
|
|
99
177
|
}
|
|
100
178
|
pushEntry(entry)
|
|
101
179
|
|
|
@@ -105,7 +183,7 @@ export function show<T = void>(
|
|
|
105
183
|
}
|
|
106
184
|
|
|
107
185
|
// History integration — push a sentinel unless silent.
|
|
108
|
-
const strategy: THistoryStrategy =
|
|
186
|
+
const strategy: THistoryStrategy = resolvedOptions.historyStrategy ?? 'push'
|
|
109
187
|
if (strategy === 'push') {
|
|
110
188
|
history.pushState({ __schmancyOverlayId: id }, '', location.href)
|
|
111
189
|
historyPushed = true
|
|
@@ -55,12 +55,16 @@ export function topEntry(): OverlayEntry | undefined {
|
|
|
55
55
|
/* ---------------- scroll lock -------------------------------------------- */
|
|
56
56
|
|
|
57
57
|
/**
|
|
58
|
-
* Ref-counted body scroll lock
|
|
58
|
+
* Ref-counted body scroll lock. Active whenever ANY modal-tier overlay is
|
|
59
|
+
* in the stack. Popover-tier (Tier 1/2) overlays do NOT lock body scroll —
|
|
60
|
+
* a menu / share card / picker shouldn't freeze the page scroll behind it
|
|
61
|
+
* (that's platform UX convention).
|
|
62
|
+
*
|
|
59
63
|
* Subscription is idempotent — subscribing multiple times won't stack
|
|
60
64
|
* effects, because it's a distinctUntilChanged boolean projection.
|
|
61
65
|
*
|
|
62
|
-
* Inner overlay close does NOT release the lock while an outer is
|
|
63
|
-
* open (this was the pre-existing bug in sheet.service.ts).
|
|
66
|
+
* Inner overlay close does NOT release the lock while an outer modal is
|
|
67
|
+
* still open (this was the pre-existing bug in sheet.service.ts).
|
|
64
68
|
*/
|
|
65
69
|
let scrollLockActive = false
|
|
66
70
|
let previousOverflow = ''
|
|
@@ -68,7 +72,7 @@ let previousScrollbarGutter = ''
|
|
|
68
72
|
|
|
69
73
|
stack$$
|
|
70
74
|
.pipe(
|
|
71
|
-
map((s) => s.
|
|
75
|
+
map((s) => s.some((e) => e.modal)),
|
|
72
76
|
distinctUntilChanged(),
|
|
73
77
|
)
|
|
74
78
|
.subscribe((shouldLock) => {
|
|
@@ -13,16 +13,56 @@ import type { THistoryStrategy } from '../area/router.types'
|
|
|
13
13
|
*/
|
|
14
14
|
export type Content = ComponentType | TemplateResult
|
|
15
15
|
|
|
16
|
+
/**
|
|
17
|
+
* Virtual reference object — same contract Floating UI and CSS Anchor
|
|
18
|
+
* Positioning accept. A caller who needs to anchor off something that
|
|
19
|
+
* isn't a real element (e.g. a computed region, a scroll-clipped shape)
|
|
20
|
+
* passes one of these. Must expose `getBoundingClientRect()` returning
|
|
21
|
+
* a DOMRect-shaped value.
|
|
22
|
+
*/
|
|
23
|
+
export interface VirtualAnchor {
|
|
24
|
+
getBoundingClientRect(): DOMRect
|
|
25
|
+
}
|
|
26
|
+
|
|
16
27
|
/**
|
|
17
28
|
* Anchor hint for positioning. When provided, the layout engine tries to
|
|
18
|
-
* anchor the overlay near this point via
|
|
29
|
+
* anchor the overlay near this point via the Tier-1/2/3 positioning ladder
|
|
30
|
+
* (CSS Anchor Positioning → Popover API + Floating UI → Floating UI only).
|
|
19
31
|
* Falls back to centered / sheet if the anchored position can't fit.
|
|
20
32
|
*
|
|
21
|
-
*
|
|
22
|
-
* `
|
|
23
|
-
* `
|
|
33
|
+
* Forms accepted (typeof-discriminated at runtime):
|
|
34
|
+
* - `MouseEvent | TouchEvent` — pass the event that triggered the show (most idiomatic)
|
|
35
|
+
* - `HTMLElement` — anchor to the element's bounding box (menus, tooltips)
|
|
36
|
+
* - `DOMRect` — explicit rect (rare; useful when the anchoring surface is virtual)
|
|
37
|
+
* - `VirtualAnchor` — anything with `getBoundingClientRect()` (computed regions)
|
|
38
|
+
* - `{ x: number; y: number }` — explicit coordinates (last resort)
|
|
39
|
+
*/
|
|
40
|
+
export type Anchor =
|
|
41
|
+
| MouseEvent
|
|
42
|
+
| TouchEvent
|
|
43
|
+
| HTMLElement
|
|
44
|
+
| DOMRect
|
|
45
|
+
| VirtualAnchor
|
|
46
|
+
| { x: number; y: number }
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Floating UI `Placement` subset the overlay exposes as a preferred
|
|
50
|
+
* placement hint. The full set of 12 placements is supported internally;
|
|
51
|
+
* this narrower list covers the practical cases a caller would name.
|
|
24
52
|
*/
|
|
25
|
-
export type
|
|
53
|
+
export type OverlayPlacement =
|
|
54
|
+
| 'top'
|
|
55
|
+
| 'top-start'
|
|
56
|
+
| 'top-end'
|
|
57
|
+
| 'bottom'
|
|
58
|
+
| 'bottom-start'
|
|
59
|
+
| 'bottom-end'
|
|
60
|
+
| 'left'
|
|
61
|
+
| 'left-start'
|
|
62
|
+
| 'left-end'
|
|
63
|
+
| 'right'
|
|
64
|
+
| 'right-start'
|
|
65
|
+
| 'right-end'
|
|
26
66
|
|
|
27
67
|
/**
|
|
28
68
|
* How the overlay should behave. All optional; the system handles every
|
|
@@ -61,6 +101,24 @@ export interface ShowOptions {
|
|
|
61
101
|
* - `'replace'` — replace current entry; back skips the overlay.
|
|
62
102
|
* - `'silent'` — no history; for tooltips / transient / ephemeral UI. */
|
|
63
103
|
historyStrategy?: THistoryStrategy
|
|
104
|
+
|
|
105
|
+
/** Preferred placement for anchored layouts. The positioning engine
|
|
106
|
+
* (Floating UI `flip` middleware on Tier 2/3, CSS `position-try` on
|
|
107
|
+
* Tier 1) will fall back when the preferred side doesn't fit.
|
|
108
|
+
* Default is `'bottom-start'`. Ignored for centered / sheet layouts. */
|
|
109
|
+
preferredPlacement?: OverlayPlacement
|
|
110
|
+
|
|
111
|
+
/** Render a tail arrow pointing from the surface to the anchor.
|
|
112
|
+
* Default `false`. Only meaningful on anchored layouts. */
|
|
113
|
+
arrow?: boolean
|
|
114
|
+
|
|
115
|
+
/** For anchored layouts: auto-track the anchor element's bounding rect
|
|
116
|
+
* via `autoUpdate` (Floating UI tiers) or native `anchor-name` tracking
|
|
117
|
+
* (CSS Anchor Positioning tier). Default `true` when an element anchor
|
|
118
|
+
* is passed; `false` when a point / DOMRect / event anchor is passed
|
|
119
|
+
* (those are inherently one-shot).
|
|
120
|
+
*/
|
|
121
|
+
track?: boolean
|
|
64
122
|
}
|
|
65
123
|
|
|
66
124
|
/**
|
|
@@ -73,6 +131,19 @@ export interface ShowOptions {
|
|
|
73
131
|
*/
|
|
74
132
|
export type OverlayLayout = 'centered' | 'anchored' | 'sheet'
|
|
75
133
|
|
|
134
|
+
/**
|
|
135
|
+
* Positioning tier an anchored overlay is using.
|
|
136
|
+
* - `'css-anchor'` — Tier 1: Popover API + CSS Anchor Positioning (Chromium).
|
|
137
|
+
* Lives in native top-layer; the library's z-index stack
|
|
138
|
+
* does not manage it.
|
|
139
|
+
* - `'popover-fui'` — Tier 2: Popover API + Floating UI. Native top-layer;
|
|
140
|
+
* z-index stack also skipped.
|
|
141
|
+
* - `'fui-only'` — Tier 3: Floating UI only, manual backdrop + click-outside.
|
|
142
|
+
* Uses the library's z-index stack.
|
|
143
|
+
* - `'modal'` — centered / sheet layout; custom shell, library z-index.
|
|
144
|
+
*/
|
|
145
|
+
export type OverlayTier = 'css-anchor' | 'popover-fui' | 'fui-only' | 'modal'
|
|
146
|
+
|
|
76
147
|
/**
|
|
77
148
|
* Read-only snapshot of an active overlay. Emitted as part of the
|
|
78
149
|
* `openOverlays$` stream for stack introspection.
|
|
@@ -85,6 +156,13 @@ export interface OverlayEntry {
|
|
|
85
156
|
readonly element: HTMLElement
|
|
86
157
|
/** Current layout, chosen by the dispatch engine. */
|
|
87
158
|
readonly layout: OverlayLayout
|
|
159
|
+
/** Whether this overlay traps focus + inerts siblings. Centered / sheet
|
|
160
|
+
* default to modal; anchored defaults to non-modal (popover-like). */
|
|
161
|
+
readonly modal: boolean
|
|
162
|
+
/** Which positioning tier is in use. Scroll lock + sibling-inert only
|
|
163
|
+
* fire for `'modal'` and `'fui-only'` tiers — native top-layer tiers
|
|
164
|
+
* (`'popover-fui'`, `'css-anchor'`) handle stacking via the platform. */
|
|
165
|
+
readonly tier: OverlayTier
|
|
88
166
|
}
|
|
89
167
|
|
|
90
168
|
/**
|
package/src/page/page.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SchmancyElement } from '@mixins/index'
|
|
2
2
|
import { css, html } from 'lit'
|
|
3
3
|
import { customElement, property } from 'lit/decorators.js'
|
|
4
4
|
import '../layout/scroll/scroll'
|
|
@@ -8,20 +8,24 @@ import { theme } from '../theme/theme.service'
|
|
|
8
8
|
import { fromResizeObserver } from '../directives/layout'
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* Native mobile-like page container.
|
|
12
|
+
* Prevents double-tap zoom, pull-to-refresh, rubber-banding.
|
|
13
|
+
* Automatically fills remaining viewport height.
|
|
12
14
|
*
|
|
13
15
|
* @element schmancy-page
|
|
14
|
-
*
|
|
16
|
+
*
|
|
15
17
|
* @example
|
|
16
|
-
*
|
|
17
|
-
* <schmancy-
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
18
|
+
* html`
|
|
19
|
+
* <schmancy-page rows="1fr_2fr_auto">
|
|
20
|
+
* <header>App Bar</header>
|
|
21
|
+
* <main>Scrollable content</main>
|
|
22
|
+
* <footer>Navigation</footer>
|
|
23
|
+
* </schmancy-page>
|
|
24
|
+
* `
|
|
22
25
|
*/
|
|
23
26
|
@customElement('schmancy-page')
|
|
24
|
-
export class SchmancyPage extends
|
|
27
|
+
export class SchmancyPage extends SchmancyElement {
|
|
28
|
+
static styles = [css`
|
|
25
29
|
:host {
|
|
26
30
|
display: block;
|
|
27
31
|
box-sizing: border-box;
|
|
@@ -29,7 +33,8 @@ export class SchmancyPage extends $LitElement(css`
|
|
|
29
33
|
overscroll-behavior: none;
|
|
30
34
|
-webkit-tap-highlight-color: transparent;
|
|
31
35
|
}
|
|
32
|
-
`
|
|
36
|
+
`]
|
|
37
|
+
|
|
33
38
|
/** Custom grid-template-rows using underscores (e.g. "1fr_2fr_auto") */
|
|
34
39
|
@property({ type: String })
|
|
35
40
|
rows = 'auto_1fr_auto'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './payment-card-form'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SchmancyElement } from '@mixins/index'
|
|
2
2
|
import SchmancyForm from '@schmancy/form/form'
|
|
3
3
|
import { SchmancyInputChangeEvent } from '@schmancy/input'
|
|
4
4
|
import SchmancyInput from '@schmancy/input/input'
|
|
@@ -15,7 +15,7 @@ import { customElement, property, query, state } from 'lit/decorators.js'
|
|
|
15
15
|
* @slot - Default slot for any additional content
|
|
16
16
|
*/
|
|
17
17
|
@customElement('schmancy-payment-card-form')
|
|
18
|
-
export class SchmancyPaymentCardForm extends
|
|
18
|
+
export class SchmancyPaymentCardForm extends SchmancyElement {
|
|
19
19
|
/**
|
|
20
20
|
* The form data containing all payment card information
|
|
21
21
|
*/
|
|
@@ -69,7 +69,7 @@ export class SchmancyPaymentCardForm extends $LitElement() {
|
|
|
69
69
|
*/
|
|
70
70
|
firstUpdated(): void {
|
|
71
71
|
// Credit card number formatter with type detection
|
|
72
|
-
new Cleave(this.cardNumberInput, {
|
|
72
|
+
void new Cleave(this.cardNumberInput, {
|
|
73
73
|
creditCard: true,
|
|
74
74
|
creditCardStrictMode: true,
|
|
75
75
|
onCreditCardTypeChanged: type => {
|
|
@@ -95,7 +95,7 @@ export class SchmancyPaymentCardForm extends $LitElement() {
|
|
|
95
95
|
})
|
|
96
96
|
|
|
97
97
|
// Expiration date formatter (MM/YY)
|
|
98
|
-
new Cleave(this.expirationDateInput, {
|
|
98
|
+
void new Cleave(this.expirationDateInput, {
|
|
99
99
|
date: true,
|
|
100
100
|
datePattern: ['m', 'y'],
|
|
101
101
|
onValueChanged: e => {
|
|
@@ -130,7 +130,7 @@ export class SchmancyPaymentCardForm extends $LitElement() {
|
|
|
130
130
|
})
|
|
131
131
|
|
|
132
132
|
// CVV formatter (numeric only)
|
|
133
|
-
new Cleave(this.cvvInput, {
|
|
133
|
+
void new Cleave(this.cvvInput, {
|
|
134
134
|
blocks: [4], // Maximum size for AMEX
|
|
135
135
|
numericOnly: true,
|
|
136
136
|
onValueChanged: e => {
|
|
@@ -149,7 +149,7 @@ export class SchmancyPaymentCardForm extends $LitElement() {
|
|
|
149
149
|
})
|
|
150
150
|
|
|
151
151
|
// Card name formatter (uppercase)
|
|
152
|
-
new Cleave(this.cardNameInput, {
|
|
152
|
+
void new Cleave(this.cardNameInput, {
|
|
153
153
|
uppercase: true,
|
|
154
154
|
delimiter: ' ',
|
|
155
155
|
onValueChanged: e => {
|
|
@@ -209,7 +209,7 @@ export class SchmancyPaymentCardForm extends $LitElement() {
|
|
|
209
209
|
e.preventDefault()
|
|
210
210
|
}}
|
|
211
211
|
>
|
|
212
|
-
<
|
|
212
|
+
<div class="grid grid-flow-row auto-rows-max flex-1 gap-4 w-full">
|
|
213
213
|
<!-- Card Name Field -->
|
|
214
214
|
<schmancy-input
|
|
215
215
|
autocomplete="cc-name"
|
|
@@ -217,11 +217,11 @@ export class SchmancyPaymentCardForm extends $LitElement() {
|
|
|
217
217
|
.value=${this.cardName ?? ''}
|
|
218
218
|
.error=${!this.isCardNameValid}
|
|
219
219
|
type="text"
|
|
220
|
-
label
|
|
221
|
-
required
|
|
222
|
-
hint
|
|
220
|
+
.label=${'Name on card'}
|
|
221
|
+
.required=${true}
|
|
222
|
+
.hint=${!this.isCardNameValid
|
|
223
223
|
? 'Please enter the name as it appears on the card'
|
|
224
|
-
: 'Enter the name exactly as it appears on your card'}
|
|
224
|
+
: 'Enter the name exactly as it appears on your card'}
|
|
225
225
|
@change=${(e: SchmancyInputChangeEvent) => {
|
|
226
226
|
this.cardName = e.detail.value
|
|
227
227
|
this.value.cardName = e.detail.value
|
|
@@ -235,10 +235,10 @@ export class SchmancyPaymentCardForm extends $LitElement() {
|
|
|
235
235
|
autocomplete="cc-number"
|
|
236
236
|
id="cardNumber"
|
|
237
237
|
type="text"
|
|
238
|
-
label
|
|
238
|
+
.label=${'Card number'}
|
|
239
239
|
.error=${!this.isCardNumberValid}
|
|
240
|
-
required
|
|
241
|
-
hint
|
|
240
|
+
.required=${true}
|
|
241
|
+
.hint=${!this.isCardNumberValid ? 'Please enter a valid card number' : 'Your 16-digit card number'}
|
|
242
242
|
@change=${(e: SchmancyInputChangeEvent) => {
|
|
243
243
|
this.cardNumber = e.detail.value
|
|
244
244
|
this.value.cardNumber = e.detail.value
|
|
@@ -249,7 +249,7 @@ export class SchmancyPaymentCardForm extends $LitElement() {
|
|
|
249
249
|
</div>
|
|
250
250
|
|
|
251
251
|
<!-- Responsive grid for expiration date and CVV -->
|
|
252
|
-
<
|
|
252
|
+
<div class="grid grid-cols-[1fr_1fr] gap-4 w-full">
|
|
253
253
|
<schmancy-input
|
|
254
254
|
autocomplete="cc-exp"
|
|
255
255
|
id="expirationDate"
|
|
@@ -260,10 +260,10 @@ export class SchmancyPaymentCardForm extends $LitElement() {
|
|
|
260
260
|
}}
|
|
261
261
|
type="text"
|
|
262
262
|
.error=${!this.isExpirationDateValid}
|
|
263
|
-
label
|
|
263
|
+
.label=${'Expiration date'}
|
|
264
264
|
placeholder="MM/YY"
|
|
265
|
-
required
|
|
266
|
-
hint
|
|
265
|
+
.required=${true}
|
|
266
|
+
.hint=${!this.isExpirationDateValid ? 'Invalid expiration date' : 'MM/YY format'}
|
|
267
267
|
></schmancy-input>
|
|
268
268
|
|
|
269
269
|
<schmancy-input
|
|
@@ -274,21 +274,21 @@ export class SchmancyPaymentCardForm extends $LitElement() {
|
|
|
274
274
|
this.value.cvv = e.detail.value
|
|
275
275
|
this.emitChange()
|
|
276
276
|
}}
|
|
277
|
-
label
|
|
277
|
+
.label=${'CVV'}
|
|
278
278
|
.error=${!this.isCvvValid}
|
|
279
|
-
required
|
|
279
|
+
.required=${true}
|
|
280
280
|
type="text"
|
|
281
281
|
maxlength="${this.cardType === 'amex' ? '4' : '3'}"
|
|
282
282
|
minlength="${this.cardType === 'amex' ? '4' : '3'}"
|
|
283
|
-
hint
|
|
283
|
+
.hint=${!this.isCvvValid ? 'Invalid security code' : 'Security code on back of card'}
|
|
284
284
|
></schmancy-input>
|
|
285
|
-
</
|
|
285
|
+
</div>
|
|
286
286
|
|
|
287
287
|
<!-- Show card acceptability notice -->
|
|
288
288
|
<div class="text-sm text-secondary-onContainer mt-2">${this.renderSecurityNotice()}</div>
|
|
289
289
|
|
|
290
290
|
<slot></slot>
|
|
291
|
-
</
|
|
291
|
+
</div>
|
|
292
292
|
</schmancy-form>
|
|
293
293
|
`
|
|
294
294
|
}
|
package/src/progress/progress.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SchmancyElement } from '@mixins/index'
|
|
2
2
|
import { css, html } from 'lit'
|
|
3
3
|
import { customElement, property } from 'lit/decorators.js'
|
|
4
4
|
import { classMap } from 'lit/directives/class-map.js'
|
|
5
5
|
import { styleMap } from 'lit/directives/style-map.js'
|
|
6
6
|
|
|
7
7
|
@customElement('schmancy-progress')
|
|
8
|
-
export default class SchmancyProgress extends
|
|
8
|
+
export default class SchmancyProgress extends SchmancyElement {
|
|
9
|
+
static styles = [css`
|
|
9
10
|
:host {
|
|
10
11
|
display: block;
|
|
11
12
|
}
|
|
@@ -39,7 +40,8 @@ export default class SchmancyProgress extends $LitElement(css`
|
|
|
39
40
|
.indeterminate-animation {
|
|
40
41
|
animation: indeterminate 1.8s cubic-bezier(0.34, 1.2, 0.64, 1) infinite;
|
|
41
42
|
}
|
|
42
|
-
`
|
|
43
|
+
`]
|
|
44
|
+
|
|
43
45
|
@property({ type: Number, reflect: true })
|
|
44
46
|
value = 0
|
|
45
47
|
|
|
@@ -1,39 +1,27 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SchmancyElement } from '@mixins/index'
|
|
2
|
+
import jsQR from 'jsqr'
|
|
2
3
|
import { css, html } from 'lit'
|
|
3
4
|
import { customElement, property, state } from 'lit/decorators.js'
|
|
4
5
|
import { when } from 'lit/directives/when.js'
|
|
5
6
|
import { animationFrames, Subject, timer } from 'rxjs'
|
|
6
7
|
import { distinctUntilChanged, filter, map, takeUntil, throttleTime } from 'rxjs/operators'
|
|
7
8
|
|
|
8
|
-
// jsQR (~53 KB gzipped) is loaded lazily the first time a camera stream
|
|
9
|
-
// is attached — see ADR 0014. Until this resolves, scanFrame() returns
|
|
10
|
-
// null and no decode happens, so the animationFrames loop spins harmlessly.
|
|
11
|
-
type JsQR = typeof import('jsqr').default
|
|
12
|
-
let jsQRFn: JsQR | null = null
|
|
13
|
-
let jsQRPromise: Promise<JsQR> | null = null
|
|
14
|
-
function loadJsQR(): Promise<JsQR> {
|
|
15
|
-
if (jsQRPromise) return jsQRPromise
|
|
16
|
-
jsQRPromise = import('jsqr').then(m => {
|
|
17
|
-
jsQRFn = m.default
|
|
18
|
-
return m.default
|
|
19
|
-
})
|
|
20
|
-
return jsQRPromise
|
|
21
|
-
}
|
|
22
|
-
|
|
23
9
|
interface QRScanResult {
|
|
24
10
|
data: string
|
|
25
11
|
timestamp: number
|
|
26
12
|
}
|
|
27
13
|
|
|
28
14
|
@customElement('schmancy-qr-scanner')
|
|
29
|
-
export class SchmancyQRScanner extends
|
|
15
|
+
export class SchmancyQRScanner extends SchmancyElement {
|
|
16
|
+
static styles = [css`
|
|
30
17
|
:host {
|
|
31
18
|
display: block;
|
|
32
19
|
width: 100%;
|
|
33
20
|
height: 100%;
|
|
34
21
|
min-height: 300px;
|
|
35
22
|
}
|
|
36
|
-
`
|
|
23
|
+
`]
|
|
24
|
+
|
|
37
25
|
@property({ type: Boolean }) continuous = true
|
|
38
26
|
|
|
39
27
|
@state() private hasPermission = false
|
|
@@ -69,12 +57,6 @@ export class SchmancyQRScanner extends $LitElement(css`
|
|
|
69
57
|
if (this.videoElement) {
|
|
70
58
|
this.videoElement.srcObject = this.stream
|
|
71
59
|
await this.videoElement.play()
|
|
72
|
-
// Preload jsQR before starting the animationFrames loop so the
|
|
73
|
-
// first few frames have the decoder available. If the fetch
|
|
74
|
-
// hasn't finished by the time a frame fires, scanFrame() just
|
|
75
|
-
// returns null for that tick — no decode, no error.
|
|
76
|
-
await loadJsQR()
|
|
77
|
-
if (!this.isConnected) return
|
|
78
60
|
this.startScanning()
|
|
79
61
|
}
|
|
80
62
|
} catch (error) {
|
|
@@ -142,12 +124,7 @@ export class SchmancyQRScanner extends $LitElement(css`
|
|
|
142
124
|
ctx.drawImage(this.videoElement, 0, 0)
|
|
143
125
|
const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height)
|
|
144
126
|
|
|
145
|
-
|
|
146
|
-
// loadJsQR() before this path runs, so in practice jsQRFn is
|
|
147
|
-
// always set here. Keeping the guard for safety during racy
|
|
148
|
-
// disconnects.
|
|
149
|
-
if (!jsQRFn) return null
|
|
150
|
-
const code = jsQRFn(imageData.data, imageData.width, imageData.height)
|
|
127
|
+
const code = jsQR(imageData.data, imageData.width, imageData.height)
|
|
151
128
|
|
|
152
129
|
if (code && code.data) {
|
|
153
130
|
return {
|
|
@@ -1,21 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SchmancyElement } from '@mixins/index'
|
|
2
2
|
import { html } from 'lit'
|
|
3
3
|
import { customElement, property } from 'lit/decorators.js'
|
|
4
4
|
import { FormFieldMixin } from '../../mixins/formField.mixin'
|
|
5
5
|
import { fromEvent, takeUntil } from 'rxjs'
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* @element schmancy-radio-button
|
|
11
|
-
* @summary Low-level primitive. Use schmancy-radio-group and pass `.options` for the common path; only instantiate schmancy-radio-button directly when you need per-button custom rendering.
|
|
12
|
-
* @example
|
|
13
|
-
* <schmancy-radio-group name="plan">
|
|
14
|
-
* <schmancy-radio-button value="free">Free</schmancy-radio-button>
|
|
15
|
-
* <schmancy-radio-button value="pro" checked>Pro</schmancy-radio-button>
|
|
16
|
-
* </schmancy-radio-group>
|
|
17
|
-
* @platform radio change - Schmancy-skinned `<input type="radio">` semantics. Degrades to native radio if the tag never registers.
|
|
18
|
-
* @fires radio-button-click - Internal event consumed by the parent schmancy-radio-group; `detail.value` is the clicked button's value. Listen on schmancy-radio-group for the public `change` event instead of subscribing here.
|
|
8
|
+
* Radio button component for use within radio groups.
|
|
19
9
|
*
|
|
20
10
|
* @prop {string} name - Name attribute for grouping radio buttons
|
|
21
11
|
* @prop {string} value - Value of this radio button
|
|
@@ -23,7 +13,7 @@ import { fromEvent, takeUntil } from 'rxjs'
|
|
|
23
13
|
* @prop {boolean} disabled - Whether the radio button is disabled
|
|
24
14
|
*/
|
|
25
15
|
@customElement('schmancy-radio-button')
|
|
26
|
-
export class RadioButton extends FormFieldMixin(
|
|
16
|
+
export class RadioButton extends FormFieldMixin(SchmancyElement) {
|
|
27
17
|
@property({ type: String }) override value = ''
|
|
28
18
|
@property({ type: Boolean, reflect: true }) checked = false
|
|
29
19
|
@property({ type: Boolean }) override disabled = false
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { html } from 'lit'
|
|
1
|
+
import { html, unsafeCSS } from 'lit'
|
|
2
2
|
import { customElement, property } from 'lit/decorators.js'
|
|
3
3
|
import { Subject, fromEvent, takeUntil } from 'rxjs'
|
|
4
4
|
import style from './radio-group.scss?inline'
|
|
5
|
-
import {
|
|
5
|
+
import { SchmancyElement } from '@mixins/index'
|
|
6
6
|
import { when } from 'lit/directives/when.js'
|
|
7
7
|
import { FormFieldMixin } from '../../mixins/formField.mixin'
|
|
8
8
|
|
|
@@ -13,26 +13,9 @@ export type SchmancyRadioGroupOption = {
|
|
|
13
13
|
export type SchmancyRadioGroupChangeEvent = CustomEvent<{
|
|
14
14
|
value: string
|
|
15
15
|
}>
|
|
16
|
-
/**
|
|
17
|
-
* Radio-button group — single-select from a static list of mutually-exclusive options. Form-associated.
|
|
18
|
-
*
|
|
19
|
-
* @element schmancy-radio-group
|
|
20
|
-
* @summary Use for 2–5 mutually-exclusive options where all should stay visible ("Shipping: standard / express / overnight"). Prefer schmancy-select when the list grows.
|
|
21
|
-
* @example
|
|
22
|
-
* <schmancy-radio-group
|
|
23
|
-
* name="shipping"
|
|
24
|
-
* label="Shipping"
|
|
25
|
-
* .options=${[
|
|
26
|
-
* { label: 'Standard (5 days)', value: 'standard' },
|
|
27
|
-
* { label: 'Express (2 days)', value: 'express' },
|
|
28
|
-
* { label: 'Overnight', value: 'overnight' },
|
|
29
|
-
* ]}
|
|
30
|
-
* ></schmancy-radio-group>
|
|
31
|
-
* @platform radiogroup change - Renders schmancy-radio-button children. Degrades to a fieldset with native `<input type="radio" name="…">` siblings if the tag never registers.
|
|
32
|
-
* @fires change - `SchmancyRadioGroupChangeEvent` with the selected `value`.
|
|
33
|
-
*/
|
|
34
16
|
@customElement('schmancy-radio-group')
|
|
35
|
-
export class RadioGroup extends FormFieldMixin(
|
|
17
|
+
export class RadioGroup extends FormFieldMixin(SchmancyElement) {
|
|
18
|
+
static styles = [unsafeCSS(style)];
|
|
36
19
|
@property({ type: String }) override label = ''
|
|
37
20
|
@property({ type: String }) override name = ''
|
|
38
21
|
@property({ type: String }) override value = ''
|
|
@@ -81,7 +64,7 @@ export class RadioGroup extends FormFieldMixin(TailwindElement(style)) {
|
|
|
81
64
|
}
|
|
82
65
|
|
|
83
66
|
// For backwards compatibility with direct option setting
|
|
84
|
-
updated(changedProperties: Map<string,
|
|
67
|
+
updated(changedProperties: Map<string, unknown>) {
|
|
85
68
|
super.updated(changedProperties)
|
|
86
69
|
if (changedProperties.has('value')) {
|
|
87
70
|
this.updateChildRadioButtons()
|
package/src/range/range.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SchmancyElement } from '@mixins/index'
|
|
2
2
|
import { css, html } from 'lit'
|
|
3
3
|
import { customElement, property } from 'lit/decorators.js'
|
|
4
4
|
import { when } from 'lit/directives/when.js'
|
|
@@ -11,7 +11,8 @@ export type SchmancyRangeChangeEvent = CustomEvent<{ value: number }>
|
|
|
11
11
|
* @fires change - Fires on value change with { value: number }
|
|
12
12
|
*/
|
|
13
13
|
@customElement('schmancy-range')
|
|
14
|
-
export class SchmancyRange extends
|
|
14
|
+
export class SchmancyRange extends SchmancyElement {
|
|
15
|
+
static styles = [css`
|
|
15
16
|
input[type='range'] {
|
|
16
17
|
-webkit-appearance: none;
|
|
17
18
|
appearance: none;
|
|
@@ -53,7 +54,7 @@ export class SchmancyRange extends TailwindElement(css`
|
|
|
53
54
|
background: var(--color-primary, #6750a4);
|
|
54
55
|
cursor: pointer;
|
|
55
56
|
}
|
|
56
|
-
`
|
|
57
|
+
`];
|
|
57
58
|
@property({ type: Number }) min = 0
|
|
58
59
|
@property({ type: Number }) max = 1
|
|
59
60
|
@property({ type: Number }) step = 0.01
|