@mhmo91/schmancy 0.9.28 → 0.10.2
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 +1005 -2215
- package/dist/active-host-CcIa2tmW.cjs +1 -0
- package/dist/active-host-CcIa2tmW.cjs.map +1 -0
- package/dist/active-host-CvNYoprt.js +57 -0
- package/dist/active-host-CvNYoprt.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 +12678 -7791
- package/dist/agent/schmancy.agent.js.map +1 -1
- package/dist/agent/schmancy.manifest.json +265 -1453
- 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-DHVANBbr.js} +20 -15
- package/dist/area-DHVANBbr.js.map +1 -0
- package/dist/area-ZupIezvU.cjs +12 -0
- package/dist/area-ZupIezvU.cjs.map +1 -0
- package/dist/area.cjs +1 -1
- package/dist/area.js +2 -2
- package/dist/{audio-Dvr-RBzE.cjs → audio-CluX8Qpq.cjs} +1 -1
- package/dist/{audio-Dvr-RBzE.cjs.map → audio-CluX8Qpq.cjs.map} +1 -1
- package/dist/{audio-ql6nvY0y.js → audio-DcXphulJ.js} +1 -1
- package/dist/{audio-ql6nvY0y.js.map → audio-DcXphulJ.js.map} +1 -1
- package/dist/audio.cjs +1 -1
- package/dist/audio.js +2 -2
- package/dist/autocomplete-Bn525CTp.cjs +115 -0
- package/dist/autocomplete-Bn525CTp.cjs.map +1 -0
- package/dist/{autocomplete-C2P0Soht.js → autocomplete-pHvsyfbH.js} +29 -26
- package/dist/autocomplete-pHvsyfbH.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-IyEtsNI4.cjs +80 -0
- package/dist/boat-IyEtsNI4.cjs.map +1 -0
- package/dist/{boat-DXZ0k7oa.js → boat-_Yv3M6YM.js} +43 -54
- package/dist/boat-_Yv3M6YM.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-DGYhpTnO.cjs → busy-CjM39APN.cjs} +4 -4
- package/dist/busy-CjM39APN.cjs.map +1 -0
- package/dist/{busy-iRjq6Nvd.js → busy-Ck2IXJ4r.js} +14 -9
- package/dist/busy-Ck2IXJ4r.js.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-DjYnCckw.cjs → card-DIxDuuth.cjs} +6 -6
- package/dist/card-DIxDuuth.cjs.map +1 -0
- package/dist/{card-wUTjx0EC.js → card-DUWZmMHc.js} +41 -30
- package/dist/card-DUWZmMHc.js.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-CGdFXuWQ.cjs +39 -0
- package/dist/checkbox-CGdFXuWQ.cjs.map +1 -0
- package/dist/{checkbox-VBSenxgb.js → checkbox-DPS1mWG-.js} +86 -82
- package/dist/checkbox-DPS1mWG-.js.map +1 -0
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/{chips-BDS9lkPa.js → chips-BnnXQSA-.js} +146 -136
- package/dist/chips-BnnXQSA-.js.map +1 -0
- package/dist/{chips-D6ptH5re.cjs → chips-UoFbwmlG.cjs} +19 -19
- package/dist/chips-UoFbwmlG.cjs.map +1 -0
- package/dist/chips.cjs +1 -1
- package/dist/chips.js +2 -2
- package/dist/{code-highlight-BzRmBZzz.cjs → code-highlight-CMilN0B8.cjs} +15 -15
- package/dist/code-highlight-CMilN0B8.cjs.map +1 -0
- package/dist/{code-highlight-Bi91XHJN.js → code-highlight-kFUJ1Eet.js} +37 -40
- package/dist/code-highlight-kFUJ1Eet.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-BIyrzTRZ.cjs +131 -0
- package/dist/date-range-BIyrzTRZ.cjs.map +1 -0
- package/dist/{date-range-ClTMg1AB.js → date-range-DOstCIg8.js} +16 -17
- package/dist/date-range-DOstCIg8.js.map +1 -0
- package/dist/date-range-inline-4P7zqeVe.cjs +43 -0
- package/dist/{date-range-inline-B9Dp2z6C.cjs.map → date-range-inline-4P7zqeVe.cjs.map} +1 -1
- package/dist/{date-range-inline-CpKG6qt2.js → date-range-inline-BVycTWLb.js} +5 -5
- package/dist/{date-range-inline-CpKG6qt2.js.map → date-range-inline-BVycTWLb.js.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-Cz9ok9si.cjs → details-BJBbZOO6.cjs} +9 -9
- package/dist/details-BJBbZOO6.cjs.map +1 -0
- package/dist/{details-CPjlqQD4.js → details-DPc5GxPa.js} +19 -18
- package/dist/details-DPc5GxPa.js.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-ghgyw5CU.js → divider-BvJsmSPH.js} +11 -9
- package/dist/divider-BvJsmSPH.js.map +1 -0
- package/dist/{divider-CILo3_vi.cjs → divider-DPT3XnG5.cjs} +3 -3
- package/dist/divider-DPT3XnG5.cjs.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-CbjBr_Ds.js → expand-BMzocdtj.js} +24 -20
- package/dist/expand-BMzocdtj.js.map +1 -0
- package/dist/expand-CTqBWVXo.cjs +141 -0
- package/dist/expand-CTqBWVXo.cjs.map +1 -0
- package/dist/expand.cjs +1 -1
- package/dist/expand.js +1 -1
- package/dist/{extra-DK9MQtPJ.js → extra-BeHlUhzv.js} +19 -14
- package/dist/extra-BeHlUhzv.js.map +1 -0
- package/dist/{extra-BZeZOMBI.cjs → extra-h_cuxRII.cjs} +6 -6
- package/dist/extra-h_cuxRII.cjs.map +1 -0
- package/dist/extra.cjs +1 -1
- package/dist/extra.js +1 -1
- package/dist/{float-BfCvGeY9.js → float-CTc1xxqH.js} +2 -2
- package/dist/{float-BfCvGeY9.js.map → float-CTc1xxqH.js.map} +1 -1
- package/dist/float-CwVBs11k.cjs +1 -0
- package/dist/{float-CuZ8LOgB.cjs.map → float-CwVBs11k.cjs.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-BbCVrcas.js} +27 -24
- package/dist/icons-BbCVrcas.js.map +1 -0
- package/dist/icons-qEQW4pjM.cjs +52 -0
- package/dist/icons-qEQW4pjM.cjs.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.js +1 -1
- package/dist/{iframe-BmyHW8km.js → iframe-BJfDIEJf.js} +17 -11
- package/dist/iframe-BJfDIEJf.js.map +1 -0
- package/dist/iframe-D6HTruav.cjs +24 -0
- package/dist/iframe-D6HTruav.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-LTK3cctF.js} +34 -34
- package/dist/input-LTK3cctF.js.map +1 -0
- package/dist/input-U26axtcs.cjs +51 -0
- package/dist/input-U26axtcs.cjs.map +1 -0
- package/dist/{input-chip-DN-cwf11.cjs → input-chip-CADXt0X5.cjs} +2 -2
- package/dist/input-chip-CADXt0X5.cjs.map +1 -0
- package/dist/{input-chip-BQrjpjaQ.js → input-chip-Ch-aCs3c.js} +7 -4
- package/dist/input-chip-Ch-aCs3c.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-C4xmnU4n.js} +1 -1
- package/dist/{layout-fjM1DWlF.js.map → layout-C4xmnU4n.js.map} +1 -1
- package/dist/{layout-CTfRXQoz.cjs → layout-Dmh6fxh0.cjs} +1 -1
- package/dist/{layout-CTfRXQoz.cjs.map → layout-Dmh6fxh0.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-DbYUSfVl.cjs +202 -0
- package/dist/lightbox-DbYUSfVl.cjs.map +1 -0
- package/dist/{lightbox-CY52Z_ig.js → lightbox-DqG2z3Cn.js} +13 -12
- package/dist/lightbox-DqG2z3Cn.js.map +1 -0
- package/dist/lightbox.cjs +1 -1
- package/dist/lightbox.js +1 -1
- package/dist/list-CLX4sSAw.cjs +40 -0
- package/dist/list-CLX4sSAw.cjs.map +1 -0
- package/dist/{list-D7wUxu1C.js → list-D6-_E5ZD.js} +26 -21
- package/dist/list-D6-_E5ZD.js.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-Ct6iYe-4.cjs} +64 -66
- package/dist/mailbox-Ct6iYe-4.cjs.map +1 -0
- package/dist/{mailbox--EN-JhjV.js → mailbox-DsPII8HR.js} +137 -126
- package/dist/mailbox-DsPII8HR.js.map +1 -0
- package/dist/mailbox.cjs +1 -1
- package/dist/mailbox.js +1 -1
- package/dist/{map-B0S_q3ma.js → map-Dhy3ta9v.js} +11 -9
- package/dist/map-Dhy3ta9v.js.map +1 -0
- package/dist/map-WXeVkx2K.cjs +80 -0
- package/dist/map-WXeVkx2K.cjs.map +1 -0
- package/dist/map.cjs +1 -1
- package/dist/map.js +1 -1
- package/dist/{menu-COeFpb6n.js → menu-Bhd3EapX.js} +15 -10
- package/dist/menu-Bhd3EapX.js.map +1 -0
- package/dist/{menu-3edZGQ1x.cjs → menu-Cg2aaDjs.cjs} +5 -5
- package/dist/menu-Cg2aaDjs.cjs.map +1 -0
- package/dist/menu.cjs +1 -1
- package/dist/menu.js +1 -1
- package/dist/mixins-CcIWET41.js +627 -0
- package/dist/mixins-CcIWET41.js.map +1 -0
- package/dist/mixins-De3xfjrm.cjs +298 -0
- package/dist/mixins-De3xfjrm.cjs.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-CC-TFN5v.js → notification-CVLqQ8c_.js} +40 -38
- package/dist/notification-CVLqQ8c_.js.map +1 -0
- package/dist/notification-D_PQjBSf.cjs +23 -0
- package/dist/notification-D_PQjBSf.cjs.map +1 -0
- package/dist/notification.cjs +1 -1
- package/dist/notification.js +1 -1
- package/dist/option-DDU_goh1.cjs +43 -0
- package/dist/option-DDU_goh1.cjs.map +1 -0
- package/dist/{option-BwAF4nAw.js → option-rm4HebVs.js} +9 -7
- package/dist/option-rm4HebVs.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/{components-DZgJWHdZ.js → payment-card-form-C0dHYZIv.js} +21 -22
- package/dist/{components-DZgJWHdZ.js.map → payment-card-form-C0dHYZIv.js.map} +1 -1
- package/dist/payment-card-form-DNvmZxs4.cjs +73 -0
- package/dist/{components-DkmEgyAc.cjs.map → payment-card-form-DNvmZxs4.cjs.map} +1 -1
- package/dist/payment-card-form.cjs +1 -0
- package/dist/payment-card-form.js +2 -0
- package/dist/{progress-Bk_Q1Shy.js → progress-BRerM5Bn.js} +16 -13
- package/dist/progress-BRerM5Bn.js.map +1 -0
- package/dist/{progress-Yz6EMNSu.cjs → progress-U3LQkpM2.cjs} +3 -3
- package/dist/progress-U3LQkpM2.cjs.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-BcdcjLNC.js → radio-group-BZ2WoOXJ.js} +14 -12
- package/dist/radio-group-BZ2WoOXJ.js.map +1 -0
- package/dist/radio-group-D7mm-yvJ.cjs +40 -0
- package/dist/radio-group-D7mm-yvJ.cjs.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-DJTjNIT_.cjs +26 -0
- package/dist/scroll-DJTjNIT_.cjs.map +1 -0
- package/dist/{scroll-DXQv0ejL.js → scroll-qL-HkMdP.js} +9 -7
- package/dist/scroll-qL-HkMdP.js.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-BvA7v-gL.cjs} +6 -6
- package/dist/select-BvA7v-gL.cjs.map +1 -0
- package/dist/{select-DKyGWDsG.js → select-CnPXUeSf.js} +23 -20
- package/dist/select-CnPXUeSf.js.map +1 -0
- package/dist/select.cjs +1 -1
- package/dist/select.js +1 -1
- package/dist/{sheet-C3TLKItO.js → sheet-BRL07BB4.js} +22 -20
- package/dist/sheet-BRL07BB4.js.map +1 -0
- package/dist/sheet-BYQJAHQn.cjs +35 -0
- package/dist/sheet-BYQJAHQn.cjs.map +1 -0
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.js +2 -2
- package/dist/sheet.service-B25bsrYG.cjs +1 -0
- package/dist/{sheet.service-RcDBwHmv.cjs.map → sheet.service-B25bsrYG.cjs.map} +1 -1
- package/dist/{sheet.service-Dlv20Zfc.js → sheet.service-SPQ8oLCi.js} +3 -3
- package/dist/{sheet.service-Dlv20Zfc.js.map → sheet.service-SPQ8oLCi.js.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-BGs6m0Cm.cjs +1 -0
- package/dist/sound.service-BGs6m0Cm.cjs.map +1 -0
- package/dist/{sound.service-DWZe6swU.js → sound.service-kKfsN0m-.js} +3 -3
- package/dist/sound.service-kKfsN0m-.js.map +1 -0
- package/dist/splash-screen-BDt4PInk.cjs +41 -0
- package/dist/splash-screen-BDt4PInk.cjs.map +1 -0
- package/dist/{splash-screen-DbI5RgBf.js → splash-screen-C8JCqX5L.js} +12 -9
- package/dist/splash-screen-C8JCqX5L.js.map +1 -0
- package/dist/splash-screen.cjs +1 -1
- package/dist/splash-screen.js +1 -1
- package/dist/src-CpRNClhg.cjs +263 -0
- package/dist/src-CpRNClhg.cjs.map +1 -0
- package/dist/{src-00DfxCJq.js → src-CqdnWGgr.js} +299 -351
- package/dist/src-CqdnWGgr.js.map +1 -0
- package/dist/state-BusMG6sM.js +868 -0
- package/dist/state-BusMG6sM.js.map +1 -0
- package/dist/state-DNdCPITt.cjs +1 -0
- package/dist/state-DNdCPITt.cjs.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-C8jQy8Ym.js +24 -0
- package/dist/surface-C8jQy8Ym.js.map +1 -0
- package/dist/surface-Du2Y4vXd.cjs +7 -0
- package/dist/surface-Du2Y4vXd.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-0RfeCa00.cjs +31 -0
- package/dist/tabs-0RfeCa00.cjs.map +1 -0
- package/dist/{tabs-Ce55RbwF.js → tabs-Cyahh9Q6.js} +22 -22
- package/dist/tabs-Cyahh9Q6.js.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-CXCcTVnf.js} +30 -28
- package/dist/textarea-CXCcTVnf.js.map +1 -0
- package/dist/textarea-jqRrLxmo.cjs +39 -0
- package/dist/textarea-jqRrLxmo.cjs.map +1 -0
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +1 -1
- package/dist/{theme-pbxlt72h.js → theme-2KZW2Rfs.js} +45 -41
- package/dist/{theme-pbxlt72h.js.map → theme-2KZW2Rfs.js.map} +1 -1
- package/dist/theme-Hjz9sCN-.cjs +181 -0
- package/dist/{theme-B-IJ2r7Q.cjs.map → theme-Hjz9sCN-.cjs.map} +1 -1
- package/dist/{theme-button-CEMeAUOL.js → theme-button-9uF1eoHz.js} +3 -4
- package/dist/theme-button-9uF1eoHz.js.map +1 -0
- package/dist/theme-button-C7QIbke1.cjs +8 -0
- package/dist/theme-button-C7QIbke1.cjs.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-BrUbGoeQ.cjs +1 -0
- package/dist/theme.service-BrUbGoeQ.cjs.map +1 -0
- package/dist/{theme.service-cOfPrtfe.js → theme.service-CmbOGMA8.js} +4 -4
- package/dist/theme.service-CmbOGMA8.js.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-CrjZdf7Y.js → window-C7yY9yp5.js} +28 -30
- package/dist/window-C7yY9yp5.js.map +1 -0
- package/dist/window-DtUOWiAj.cjs +59 -0
- package/dist/window-DtUOWiAj.cjs.map +1 -0
- package/dist/window.cjs +1 -1
- package/dist/window.js +1 -1
- package/package.json +15 -4
- 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 +71 -54
- package/src/agent/agent-entry.ts +5 -21
- package/src/agent/helpers.ts +159 -0
- package/src/agent/schmancy-skill.ts +71 -0
- 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/emotional-sounds.ts +0 -2
- package/src/audio/sound.service.ts +7 -13
- 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 +6 -13
- 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-service.ts +0 -2
- package/src/notification/notification.ts +6 -3
- package/src/option/option.ts +4 -3
- package/src/overlay/overlay.animations.ts +183 -37
- 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 -10
- 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 +190 -0
- package/src/state/index.ts +877 -0
- package/src/state/persist.ts +208 -0
- package/src/state/schmancy-context.ts +130 -0
- package/src/state/state.test-d.ts +227 -0
- package/src/state/state.test.ts +868 -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 +2 -19
- package/types/src/agent/helpers.d.ts +0 -27
- 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/audio/emotional-sounds.d.ts +0 -1
- package/types/src/audio/sound.service.d.ts +1 -1
- 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-service.d.ts +0 -1
- 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 -6
- 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.stack.d.ts +0 -2
- 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 +23 -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 +32 -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 +0 -51
- 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/agent/index.d.ts +0 -1
- 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
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
// Storage adapters for the state() module. Lifted from the v1
|
|
2
|
+
// store/storage-manager.ts and tightened — same four backends
|
|
3
|
+
// (memory / local / session / indexeddb), same Map/Set JSON tunnel,
|
|
4
|
+
// gives the state() factory a uniform async interface to load + save.
|
|
5
|
+
//
|
|
6
|
+
// The microtask write-debouncer lives in state.ts (the consumer of
|
|
7
|
+
// this module) — adapters here are plain load/save/clear.
|
|
8
|
+
|
|
9
|
+
export type StorageBackend = 'memory' | 'local' | 'session' | 'indexeddb'
|
|
10
|
+
|
|
11
|
+
export interface StorageAdapter<T> {
|
|
12
|
+
load(): Promise<T | null>
|
|
13
|
+
save(value: T): Promise<void>
|
|
14
|
+
clear(): Promise<void>
|
|
15
|
+
close?(): Promise<void>
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export class StateStorageError<T = unknown> extends Error {
|
|
19
|
+
readonly cause?: T
|
|
20
|
+
readonly context?: Record<string, unknown>
|
|
21
|
+
readonly timestamp: Date
|
|
22
|
+
constructor(message: string, cause?: T, context?: Record<string, unknown>) {
|
|
23
|
+
super(message)
|
|
24
|
+
this.name = 'StateStorageError'
|
|
25
|
+
this.cause = cause
|
|
26
|
+
this.context = context
|
|
27
|
+
this.timestamp = new Date()
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
// JSON tunnel for Map/Set values stored in string-backed storage.
|
|
33
|
+
// IDB stores native objects so doesn't need this — only used by local/session.
|
|
34
|
+
|
|
35
|
+
const MAP_TAG = '__schmancy_state_Map'
|
|
36
|
+
const SET_TAG = '__schmancy_state_Set'
|
|
37
|
+
|
|
38
|
+
interface TaggedMap {
|
|
39
|
+
$kind: typeof MAP_TAG
|
|
40
|
+
entries: Array<[unknown, unknown]>
|
|
41
|
+
}
|
|
42
|
+
interface TaggedSet {
|
|
43
|
+
$kind: typeof SET_TAG
|
|
44
|
+
values: unknown[]
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function replacer(_key: string, value: unknown): unknown {
|
|
48
|
+
if (value instanceof Map) {
|
|
49
|
+
return { $kind: MAP_TAG, entries: Array.from(value.entries()) } satisfies TaggedMap
|
|
50
|
+
}
|
|
51
|
+
if (value instanceof Set) {
|
|
52
|
+
return { $kind: SET_TAG, values: Array.from(value.values()) } satisfies TaggedSet
|
|
53
|
+
}
|
|
54
|
+
return value
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function reviver(_key: string, value: unknown): unknown {
|
|
58
|
+
if (value && typeof value === 'object' && '$kind' in value) {
|
|
59
|
+
const tagged = value as { $kind: unknown; entries?: unknown; values?: unknown }
|
|
60
|
+
const kind = tagged.$kind
|
|
61
|
+
if (kind === MAP_TAG) {
|
|
62
|
+
if (!Array.isArray(tagged.entries)) return value
|
|
63
|
+
const ok = tagged.entries.every(e => Array.isArray(e) && e.length === 2)
|
|
64
|
+
if (!ok) return value
|
|
65
|
+
return new Map(tagged.entries as Iterable<readonly [unknown, unknown]>)
|
|
66
|
+
}
|
|
67
|
+
if (kind === SET_TAG) {
|
|
68
|
+
if (!Array.isArray(tagged.values)) return value
|
|
69
|
+
return new Set(tagged.values)
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return value
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// ---------------------------------------------------------------------------
|
|
76
|
+
|
|
77
|
+
class MemoryAdapter<T> implements StorageAdapter<T> {
|
|
78
|
+
#data: T | null = null
|
|
79
|
+
async load(): Promise<T | null> {
|
|
80
|
+
return this.#data
|
|
81
|
+
}
|
|
82
|
+
async save(value: T): Promise<void> {
|
|
83
|
+
this.#data = value
|
|
84
|
+
}
|
|
85
|
+
async clear(): Promise<void> {
|
|
86
|
+
this.#data = null
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
class WebStorageAdapter<T> implements StorageAdapter<T> {
|
|
91
|
+
constructor(
|
|
92
|
+
private readonly storage: Storage,
|
|
93
|
+
private readonly key: string,
|
|
94
|
+
private readonly label: string,
|
|
95
|
+
) {}
|
|
96
|
+
async load(): Promise<T | null> {
|
|
97
|
+
try {
|
|
98
|
+
const raw = this.storage.getItem(this.key)
|
|
99
|
+
return raw ? (JSON.parse(raw, reviver) as T) : null
|
|
100
|
+
} catch (err) {
|
|
101
|
+
console.error(`[state] ${this.label} load failed (${this.key}):`, err)
|
|
102
|
+
return null
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
async save(value: T): Promise<void> {
|
|
106
|
+
try {
|
|
107
|
+
this.storage.setItem(this.key, JSON.stringify(value, replacer))
|
|
108
|
+
} catch (err) {
|
|
109
|
+
throw new StateStorageError(
|
|
110
|
+
`[state] ${this.label} save failed (${this.key})`,
|
|
111
|
+
err,
|
|
112
|
+
)
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
async clear(): Promise<void> {
|
|
116
|
+
this.storage.removeItem(this.key)
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
class IndexedDBAdapter<T> implements StorageAdapter<T> {
|
|
121
|
+
private static readonly DB_NAME = 'SchmancyState'
|
|
122
|
+
private static readonly STORE_NAME = 'states'
|
|
123
|
+
private static readonly DB_VERSION = 1
|
|
124
|
+
|
|
125
|
+
#db: IDBDatabase | null = null
|
|
126
|
+
#opening: Promise<IDBDatabase> | null = null
|
|
127
|
+
|
|
128
|
+
constructor(private readonly key: string) {}
|
|
129
|
+
|
|
130
|
+
private openDB(): Promise<IDBDatabase> {
|
|
131
|
+
if (this.#db) return Promise.resolve(this.#db)
|
|
132
|
+
if (this.#opening) return this.#opening
|
|
133
|
+
this.#opening = new Promise<IDBDatabase>((resolve, reject) => {
|
|
134
|
+
const req = indexedDB.open(IndexedDBAdapter.DB_NAME, IndexedDBAdapter.DB_VERSION)
|
|
135
|
+
req.onupgradeneeded = () => {
|
|
136
|
+
const db = req.result
|
|
137
|
+
if (!db.objectStoreNames.contains(IndexedDBAdapter.STORE_NAME)) {
|
|
138
|
+
db.createObjectStore(IndexedDBAdapter.STORE_NAME)
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
req.addEventListener('success', () => {
|
|
142
|
+
this.#db = req.result
|
|
143
|
+
resolve(req.result)
|
|
144
|
+
}, { once: true })
|
|
145
|
+
req.addEventListener('error', () => reject(req.error), { once: true })
|
|
146
|
+
})
|
|
147
|
+
return this.#opening
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
async load(): Promise<T | null> {
|
|
151
|
+
try {
|
|
152
|
+
const db = await this.openDB()
|
|
153
|
+
return await new Promise<T | null>((resolve, reject) => {
|
|
154
|
+
const tx = db.transaction(IndexedDBAdapter.STORE_NAME, 'readonly')
|
|
155
|
+
const req = tx.objectStore(IndexedDBAdapter.STORE_NAME).get(this.key)
|
|
156
|
+
req.addEventListener('success', () => resolve((req.result ?? null) as T | null), { once: true })
|
|
157
|
+
req.addEventListener('error', () => reject(req.error), { once: true })
|
|
158
|
+
})
|
|
159
|
+
} catch (err) {
|
|
160
|
+
console.error(`[state] IDB load failed (${this.key}):`, err)
|
|
161
|
+
return null
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
async save(value: T): Promise<void> {
|
|
166
|
+
const db = await this.openDB()
|
|
167
|
+
return new Promise<void>((resolve, reject) => {
|
|
168
|
+
const tx = db.transaction(IndexedDBAdapter.STORE_NAME, 'readwrite')
|
|
169
|
+
const req = tx.objectStore(IndexedDBAdapter.STORE_NAME).put(value, this.key)
|
|
170
|
+
req.addEventListener('success', () => resolve(), { once: true })
|
|
171
|
+
req.addEventListener('error', () => reject(
|
|
172
|
+
new StateStorageError(`[state] IDB save failed (${this.key})`, req.error),
|
|
173
|
+
), { once: true })
|
|
174
|
+
})
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
async clear(): Promise<void> {
|
|
178
|
+
const db = await this.openDB()
|
|
179
|
+
return new Promise<void>((resolve, reject) => {
|
|
180
|
+
const tx = db.transaction(IndexedDBAdapter.STORE_NAME, 'readwrite')
|
|
181
|
+
const req = tx.objectStore(IndexedDBAdapter.STORE_NAME).delete(this.key)
|
|
182
|
+
req.addEventListener('success', () => resolve(), { once: true })
|
|
183
|
+
req.addEventListener('error', () => reject(req.error), { once: true })
|
|
184
|
+
})
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
async close(): Promise<void> {
|
|
188
|
+
if (this.#db) {
|
|
189
|
+
this.#db.close()
|
|
190
|
+
this.#db = null
|
|
191
|
+
}
|
|
192
|
+
this.#opening = null
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
export function createAdapter<T>(backend: StorageBackend, key: string): StorageAdapter<T> {
|
|
197
|
+
switch (backend) {
|
|
198
|
+
case 'local':
|
|
199
|
+
return new WebStorageAdapter<T>(localStorage, key, 'localStorage')
|
|
200
|
+
case 'session':
|
|
201
|
+
return new WebStorageAdapter<T>(sessionStorage, key, 'sessionStorage')
|
|
202
|
+
case 'indexeddb':
|
|
203
|
+
return new IndexedDBAdapter<T>(key)
|
|
204
|
+
case 'memory':
|
|
205
|
+
default:
|
|
206
|
+
return new MemoryAdapter<T>()
|
|
207
|
+
}
|
|
208
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
// `<schmancy-context provides={[cart, …]}>` — declarative state isolation.
|
|
2
|
+
//
|
|
3
|
+
// Mounts one isolated copy of each provided state under the element. Reads
|
|
4
|
+
// and writes from descendants resolve to the isolated copy via the
|
|
5
|
+
// `@lit/context` request protocol; descendants outside any `<schmancy-context>`
|
|
6
|
+
// continue to read/write the module-scoped global. The isolated copy is
|
|
7
|
+
// initialised with a snapshot of `tmpl.value` at mount time so the subtree
|
|
8
|
+
// starts from "current global state, then diverges."
|
|
9
|
+
//
|
|
10
|
+
// Lifetime: each isolated copy lives exactly as long as this element is
|
|
11
|
+
// connected. `disconnectedCallback` destroys all isolated copies; their
|
|
12
|
+
// pending writes flush, their adapters close.
|
|
13
|
+
|
|
14
|
+
import { LitElement, html } from 'lit'
|
|
15
|
+
import { property } from 'lit/decorators.js'
|
|
16
|
+
import { ContextProvider, createContext, type Context } from '@lit/context'
|
|
17
|
+
import { _publishEventHost, stateContextKey } from './active-host'
|
|
18
|
+
|
|
19
|
+
// Curated set of DOM event types that descendants are likely to bind state-
|
|
20
|
+
// mutating handlers to. The capture-phase listener publishes `this` as the
|
|
21
|
+
// active event-host before the event reaches the target; descendants whose
|
|
22
|
+
// inline handlers (or any code reached during the synchronous chain) call a
|
|
23
|
+
// state mutator can resolve back to the isolated copy this context provides.
|
|
24
|
+
const EVENT_TYPES = [
|
|
25
|
+
'click',
|
|
26
|
+
'dblclick',
|
|
27
|
+
'submit',
|
|
28
|
+
'change',
|
|
29
|
+
'input',
|
|
30
|
+
'keydown',
|
|
31
|
+
'keyup',
|
|
32
|
+
'keypress',
|
|
33
|
+
'pointerdown',
|
|
34
|
+
'pointerup',
|
|
35
|
+
'mousedown',
|
|
36
|
+
'mouseup',
|
|
37
|
+
'focus',
|
|
38
|
+
'blur',
|
|
39
|
+
'paste',
|
|
40
|
+
'drop',
|
|
41
|
+
] as const
|
|
42
|
+
|
|
43
|
+
/** Duck-typed view of what the `state()` factory hands out, restricted to the
|
|
44
|
+
* bits `<schmancy-context>` needs. Kept internal — consumers see the full
|
|
45
|
+
* `State<>` type and never refer to this. */
|
|
46
|
+
export interface StateTemplate {
|
|
47
|
+
readonly namespace: string
|
|
48
|
+
readonly value: unknown
|
|
49
|
+
/** Internal hook the factory adds to every state instance. Builds a fresh
|
|
50
|
+
* per-context copy seeded with the current value, sharing nothing with the
|
|
51
|
+
* global instance. The returned object exposes `destroy()` so the context
|
|
52
|
+
* element can flush + close on disconnect. */
|
|
53
|
+
_isolatedInstance(): { destroy(): void } & Record<string | symbol, unknown>
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export class SchmancyContext extends LitElement {
|
|
57
|
+
/** States to isolate under this subtree. Pass the same instances you import
|
|
58
|
+
* at module scope (e.g. `provides={[cart, menu]}`). Outside this element
|
|
59
|
+
* they continue to behave as module-scoped globals; descendants of this
|
|
60
|
+
* element see a per-element isolated copy. */
|
|
61
|
+
@property({ attribute: false }) provides: readonly StateTemplate[] = []
|
|
62
|
+
|
|
63
|
+
// Per-mount records. Keep both the provider (so we can release it on
|
|
64
|
+
// disconnect) and the isolated instance (so we can destroy it).
|
|
65
|
+
private _scoped: Array<{
|
|
66
|
+
isolated: { destroy(): void }
|
|
67
|
+
provider: ContextProvider<Context<unknown, unknown>>
|
|
68
|
+
}> = []
|
|
69
|
+
|
|
70
|
+
private _publishEventTargetAsHost = (e: Event): void => {
|
|
71
|
+
// Publish the deepest event target (across shadow boundaries) rather
|
|
72
|
+
// than `this`. The downstream `ContextRequestEvent` will be dispatched
|
|
73
|
+
// from this host and must bubble up through `<schmancy-context>` to
|
|
74
|
+
// reach our `ContextProvider`. `@lit/context` skips self-registration
|
|
75
|
+
// (`consumerHost === this.host` ⇒ no-op), so dispatching from
|
|
76
|
+
// schmancy-context itself would silently fall back to the global.
|
|
77
|
+
const path = e.composedPath()
|
|
78
|
+
for (const node of path) {
|
|
79
|
+
if (node instanceof HTMLElement) {
|
|
80
|
+
_publishEventHost(node)
|
|
81
|
+
return
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
override connectedCallback(): void {
|
|
87
|
+
super.connectedCallback()
|
|
88
|
+
for (const tmpl of this.provides) {
|
|
89
|
+
const isolated = tmpl._isolatedInstance()
|
|
90
|
+
const ctx = createContext<unknown>(stateContextKey(tmpl.namespace))
|
|
91
|
+
// ContextProvider auto-wires via the host's ReactiveControllerHost
|
|
92
|
+
// interface (LitElement satisfies it). It listens for
|
|
93
|
+
// `context-request` events and responds with `isolated` for any
|
|
94
|
+
// requester whose `event.context === ctx`.
|
|
95
|
+
const provider = new ContextProvider(this, { context: ctx, initialValue: isolated })
|
|
96
|
+
this._scoped.push({ isolated, provider })
|
|
97
|
+
}
|
|
98
|
+
for (const type of EVENT_TYPES) {
|
|
99
|
+
this.addEventListener(type, this._publishEventTargetAsHost, { capture: true })
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
override disconnectedCallback(): void {
|
|
104
|
+
for (const type of EVENT_TYPES) {
|
|
105
|
+
this.removeEventListener(type, this._publishEventTargetAsHost, { capture: true })
|
|
106
|
+
}
|
|
107
|
+
for (const entry of this._scoped) {
|
|
108
|
+
entry.isolated.destroy()
|
|
109
|
+
}
|
|
110
|
+
this._scoped = []
|
|
111
|
+
super.disconnectedCallback()
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
override render() {
|
|
115
|
+
return html`<slot></slot>`
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// Imperative define so a second load (source + dist) is a no-op rather than
|
|
120
|
+
// a throw — the registry is process-global; whichever class wins serves the
|
|
121
|
+
// element identity for the page.
|
|
122
|
+
if (!customElements.get('schmancy-context')) {
|
|
123
|
+
customElements.define('schmancy-context', SchmancyContext)
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
declare global {
|
|
127
|
+
interface HTMLElementTagNameMap {
|
|
128
|
+
'schmancy-context': SchmancyContext
|
|
129
|
+
}
|
|
130
|
+
}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
// Type-level tests for the public state() surface.
|
|
2
|
+
//
|
|
3
|
+
// All assertions are compile-time. Each call-site probe is wrapped in
|
|
4
|
+
// a function that's never invoked at runtime — types are extracted via
|
|
5
|
+
// `ReturnType`, so importing this file doesn't claim any namespace.
|
|
6
|
+
//
|
|
7
|
+
// Negative-case strategy: the schmancy pre-edit hook bans the TS
|
|
8
|
+
// directive that asserts "this line should fail to typecheck"
|
|
9
|
+
// (NO_TYPE_ESCAPES rule). Negative cases are expressed as pure
|
|
10
|
+
// type-level predicates over the public surface — never as call
|
|
11
|
+
// sites we expect to fail.
|
|
12
|
+
//
|
|
13
|
+
// Note: schmancy's main tsconfig has `strict: false`, which makes
|
|
14
|
+
// the `Kind<T>` nullable check fragile at the type level (every
|
|
15
|
+
// type is implicitly nullable). The runtime test suite covers the
|
|
16
|
+
// nullable-union dispatch directly; this file focuses on assertions
|
|
17
|
+
// that hold under both strict and non-strict tsconfigs.
|
|
18
|
+
|
|
19
|
+
import type {
|
|
20
|
+
AssertNovel,
|
|
21
|
+
FeatureNamespace,
|
|
22
|
+
IsAsync,
|
|
23
|
+
Kind,
|
|
24
|
+
ObjectAPI,
|
|
25
|
+
State,
|
|
26
|
+
} from './index'
|
|
27
|
+
import { state } from './index'
|
|
28
|
+
|
|
29
|
+
// --- Equality / assignability primitives ---------------------------------
|
|
30
|
+
type Equal<X, Y> =
|
|
31
|
+
(<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2 ? true : false
|
|
32
|
+
type Expect<T extends true> = T
|
|
33
|
+
type Assignable<A, B> = A extends B ? true : false
|
|
34
|
+
|
|
35
|
+
// --- Sample shapes -------------------------------------------------------
|
|
36
|
+
interface CartItem {
|
|
37
|
+
id: string
|
|
38
|
+
name: string
|
|
39
|
+
price: number
|
|
40
|
+
quantity: number
|
|
41
|
+
}
|
|
42
|
+
interface CartState {
|
|
43
|
+
items: CartItem[]
|
|
44
|
+
total: number
|
|
45
|
+
}
|
|
46
|
+
interface PamDoc {
|
|
47
|
+
id: string
|
|
48
|
+
amount: number
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// =========================================================================
|
|
52
|
+
// Probes — never called. Wrapped in functions so the state() factory
|
|
53
|
+
// runs only at the type level (no namespace registration at import).
|
|
54
|
+
// =========================================================================
|
|
55
|
+
function form1Probe() {
|
|
56
|
+
const initial: CartState = { items: [], total: 0 }
|
|
57
|
+
return state('test-d/cart-form-1').session(initial)
|
|
58
|
+
}
|
|
59
|
+
function form2Probe() {
|
|
60
|
+
return state<CartState>('test-d/cart-form-2').session({ items: [], total: 0 })
|
|
61
|
+
}
|
|
62
|
+
function mapProbe() {
|
|
63
|
+
return state<Map<string, PamDoc>>('test-d/map-shape').idb(new Map())
|
|
64
|
+
}
|
|
65
|
+
function setProbe() {
|
|
66
|
+
return state<Set<string>>('test-d/set-shape').memory(new Set())
|
|
67
|
+
}
|
|
68
|
+
function arrayProbe() {
|
|
69
|
+
return state<number[]>('test-d/items').memory([])
|
|
70
|
+
}
|
|
71
|
+
function flagProbe() {
|
|
72
|
+
return state<boolean>('test-d/footer').memory(false)
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
type Form1 = ReturnType<typeof form1Probe>
|
|
76
|
+
type Form2 = ReturnType<typeof form2Probe>
|
|
77
|
+
type Docs = ReturnType<typeof mapProbe>
|
|
78
|
+
type Sel = ReturnType<typeof setProbe>
|
|
79
|
+
type Items = ReturnType<typeof arrayProbe>
|
|
80
|
+
type Flag = ReturnType<typeof flagProbe>
|
|
81
|
+
|
|
82
|
+
// =========================================================================
|
|
83
|
+
// Kind<T> classifier — Map / Set / Array / primitive checks. (Nullable
|
|
84
|
+
// classification is non-strict-tsconfig-fragile; covered by runtime tests.)
|
|
85
|
+
// =========================================================================
|
|
86
|
+
type _kObject = Expect<Equal<Kind<CartState>, 'object'>>
|
|
87
|
+
type _kMap = Expect<Equal<Kind<Map<string, PamDoc>>, 'map'>>
|
|
88
|
+
type _kSet = Expect<Equal<Kind<Set<string>>, 'set'>>
|
|
89
|
+
type _kArrayReadonly = Expect<Equal<Kind<readonly string[]>, 'array'>>
|
|
90
|
+
type _kArrayMutable = Expect<Equal<Kind<string[]>, 'array'>>
|
|
91
|
+
type _kBoolean = Expect<Equal<Kind<boolean>, 'primitive'>>
|
|
92
|
+
type _kNumber = Expect<Equal<Kind<number>, 'primitive'>>
|
|
93
|
+
type _kString = Expect<Equal<Kind<string>, 'primitive'>>
|
|
94
|
+
|
|
95
|
+
// IsAsync<S> drives the AsyncDisposable lifecycle for indexeddb only.
|
|
96
|
+
type _idbAsync = Expect<Equal<IsAsync<'indexeddb'>, true>>
|
|
97
|
+
type _memSync = Expect<Equal<IsAsync<'memory'>, false>>
|
|
98
|
+
type _sesSync = Expect<Equal<IsAsync<'session'>, false>>
|
|
99
|
+
type _locSync = Expect<Equal<IsAsync<'local'>, false>>
|
|
100
|
+
|
|
101
|
+
// =========================================================================
|
|
102
|
+
// Form (1) — typed-const inference (no type arg).
|
|
103
|
+
// =========================================================================
|
|
104
|
+
type _f1Value = Expect<Equal<Form1['value'], CartState>>
|
|
105
|
+
type _f1SetArg0 = Expect<Equal<Parameters<Form1['set']>[0], Partial<CartState>>>
|
|
106
|
+
type _f1SetArg1 = Expect<Equal<Parameters<Form1['set']>[1], boolean | undefined>>
|
|
107
|
+
type _f1Replace = Expect<Equal<Parameters<Form1['replace']>, [CartState]>>
|
|
108
|
+
|
|
109
|
+
// =========================================================================
|
|
110
|
+
// Form (2) — explicit type arg.
|
|
111
|
+
// =========================================================================
|
|
112
|
+
type _f2SetArg0 = Expect<Equal<Parameters<Form2['set']>[0], Partial<CartState>>>
|
|
113
|
+
type _f2SetArg1 = Expect<Equal<Parameters<Form2['set']>[1], boolean | undefined>>
|
|
114
|
+
type _f2Replace = Expect<Equal<Parameters<Form2['replace']>, [CartState]>>
|
|
115
|
+
type _f2DeleteKeys = Expect<Equal<Parameters<Form2['delete']>[0], keyof CartState>>
|
|
116
|
+
type _f2HasUpdate = Expect<Assignable<Form2, { update: ObjectAPI<CartState>['update'] }>>
|
|
117
|
+
type _f2Value = Expect<Equal<Form2['value'], CartState>>
|
|
118
|
+
type _f2Sync = Expect<Assignable<Form2, Disposable>>
|
|
119
|
+
|
|
120
|
+
// =========================================================================
|
|
121
|
+
// Map<string, Doc> with idb backend → MapAPI + AsyncDisposable.
|
|
122
|
+
// =========================================================================
|
|
123
|
+
type _docsSetShape = Expect<Equal<Parameters<Docs['set']>, [string, PamDoc]>>
|
|
124
|
+
type _docsDeleteShape = Expect<Equal<Parameters<Docs['delete']>, [string]>>
|
|
125
|
+
type _docsHasClear = Expect<Equal<Parameters<Docs['clear']>, []>>
|
|
126
|
+
type _docsValue = Expect<Equal<Docs['value'], Map<string, PamDoc>>>
|
|
127
|
+
type _docsAsync = Expect<Assignable<Docs, AsyncDisposable>>
|
|
128
|
+
type _docsSync = Expect<Assignable<Docs, Disposable>>
|
|
129
|
+
|
|
130
|
+
// =========================================================================
|
|
131
|
+
// Set<string> in memory → SetAPI.
|
|
132
|
+
// =========================================================================
|
|
133
|
+
type _selAdd = Expect<Equal<Parameters<Sel['add']>, [string]>>
|
|
134
|
+
type _selToggle = Expect<Equal<Parameters<Sel['toggle']>, [string]>>
|
|
135
|
+
type _selDelete = Expect<Equal<Parameters<Sel['delete']>, [string]>>
|
|
136
|
+
type _selDeleteReturns = Expect<Equal<ReturnType<Sel['delete']>, boolean>>
|
|
137
|
+
type _selValue = Expect<Equal<Sel['value'], Set<string>>>
|
|
138
|
+
type _selSync = Expect<Assignable<Sel, Disposable>>
|
|
139
|
+
|
|
140
|
+
// =========================================================================
|
|
141
|
+
// Mutable arrays → ArrayAPI.
|
|
142
|
+
// =========================================================================
|
|
143
|
+
type _itemsPush = Expect<Equal<Parameters<Items['push']>, number[]>>
|
|
144
|
+
type _itemsHasUpdate = Expect<Equal<'update' extends keyof Items ? true : false, true>>
|
|
145
|
+
type _itemsHasClear = Expect<Equal<'clear' extends keyof Items ? true : false, true>>
|
|
146
|
+
|
|
147
|
+
// =========================================================================
|
|
148
|
+
// Primitive boolean → ScalarAPI (no update / no delete).
|
|
149
|
+
// =========================================================================
|
|
150
|
+
type _flagSet = Expect<Equal<Parameters<Flag['set']>, [boolean]>>
|
|
151
|
+
type _flagNoUpdate = Expect<Equal<'update' extends keyof Flag ? true : false, false>>
|
|
152
|
+
type _flagNoDelete = Expect<Equal<'delete' extends keyof Flag ? true : false, false>>
|
|
153
|
+
|
|
154
|
+
// =========================================================================
|
|
155
|
+
// FeatureNamespace pure type-level checks (no call sites).
|
|
156
|
+
// =========================================================================
|
|
157
|
+
type _slashlessRejected = Expect<Equal<'cart' extends FeatureNamespace ? true : false, false>>
|
|
158
|
+
type _slashedAccepted = Expect<Equal<'a/b' extends FeatureNamespace ? true : false, true>>
|
|
159
|
+
type _twoSlashesAccepted = Expect<Equal<'a/b/c' extends FeatureNamespace ? true : false, true>>
|
|
160
|
+
|
|
161
|
+
// =========================================================================
|
|
162
|
+
// AssertNovel returns 'fresh' for unregistered names.
|
|
163
|
+
// =========================================================================
|
|
164
|
+
type _assertNovelOnFresh = Expect<Equal<AssertNovel<'test-d/fresh'>, 'test-d/fresh'>>
|
|
165
|
+
|
|
166
|
+
// =========================================================================
|
|
167
|
+
// State<NS, T, S> alias smoke — verifies the conditional structure resolves.
|
|
168
|
+
// =========================================================================
|
|
169
|
+
type _syncMemoryState = Expect<
|
|
170
|
+
Assignable<State<'test-d/x', CartState, 'memory'>, { value: CartState }>
|
|
171
|
+
>
|
|
172
|
+
type _asyncIdbState = Expect<Assignable<State<'test-d/x', CartState, 'indexeddb'>, AsyncDisposable>>
|
|
173
|
+
|
|
174
|
+
// =========================================================================
|
|
175
|
+
// Collect every assertion into one exported tuple. TS still checks each
|
|
176
|
+
// entry; the export consumes the unused locals so noUnusedLocals stops
|
|
177
|
+
// flagging them.
|
|
178
|
+
// =========================================================================
|
|
179
|
+
export type _SchmancyStateTypeSpec = [
|
|
180
|
+
_kObject,
|
|
181
|
+
_kMap,
|
|
182
|
+
_kSet,
|
|
183
|
+
_kArrayReadonly,
|
|
184
|
+
_kArrayMutable,
|
|
185
|
+
_kBoolean,
|
|
186
|
+
_kNumber,
|
|
187
|
+
_kString,
|
|
188
|
+
_idbAsync,
|
|
189
|
+
_memSync,
|
|
190
|
+
_sesSync,
|
|
191
|
+
_locSync,
|
|
192
|
+
_f1Value,
|
|
193
|
+
_f1SetArg0,
|
|
194
|
+
_f1SetArg1,
|
|
195
|
+
_f1Replace,
|
|
196
|
+
_f2SetArg0,
|
|
197
|
+
_f2SetArg1,
|
|
198
|
+
_f2Replace,
|
|
199
|
+
_f2DeleteKeys,
|
|
200
|
+
_f2HasUpdate,
|
|
201
|
+
_f2Value,
|
|
202
|
+
_f2Sync,
|
|
203
|
+
_docsSetShape,
|
|
204
|
+
_docsDeleteShape,
|
|
205
|
+
_docsHasClear,
|
|
206
|
+
_docsValue,
|
|
207
|
+
_docsAsync,
|
|
208
|
+
_docsSync,
|
|
209
|
+
_selAdd,
|
|
210
|
+
_selToggle,
|
|
211
|
+
_selDelete,
|
|
212
|
+
_selDeleteReturns,
|
|
213
|
+
_selValue,
|
|
214
|
+
_selSync,
|
|
215
|
+
_itemsPush,
|
|
216
|
+
_itemsHasUpdate,
|
|
217
|
+
_itemsHasClear,
|
|
218
|
+
_flagSet,
|
|
219
|
+
_flagNoUpdate,
|
|
220
|
+
_flagNoDelete,
|
|
221
|
+
_slashlessRejected,
|
|
222
|
+
_slashedAccepted,
|
|
223
|
+
_twoSlashesAccepted,
|
|
224
|
+
_assertNovelOnFresh,
|
|
225
|
+
_syncMemoryState,
|
|
226
|
+
_asyncIdbState,
|
|
227
|
+
]
|