@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
package/dist/flow-BPDtbhLe.js
DELETED
|
@@ -1,386 +0,0 @@
|
|
|
1
|
-
var e = class {
|
|
2
|
-
constructor(e) {
|
|
3
|
-
this._map = /* @__PURE__ */ new Map(), this._roundAverageSize = !1, this.totalSize = 0, !0 === e?.roundAverageSize && (this._roundAverageSize = !0);
|
|
4
|
-
}
|
|
5
|
-
set(e, t) {
|
|
6
|
-
let n = this._map.get(e) || 0;
|
|
7
|
-
this._map.set(e, t), this.totalSize += t - n;
|
|
8
|
-
}
|
|
9
|
-
get averageSize() {
|
|
10
|
-
if (this._map.size > 0) {
|
|
11
|
-
let e = this.totalSize / this._map.size;
|
|
12
|
-
return this._roundAverageSize ? Math.round(e) : e;
|
|
13
|
-
}
|
|
14
|
-
return 0;
|
|
15
|
-
}
|
|
16
|
-
getSize(e) {
|
|
17
|
-
return this._map.get(e);
|
|
18
|
-
}
|
|
19
|
-
clear() {
|
|
20
|
-
this._map.clear(), this.totalSize = 0;
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
function t(e) {
|
|
24
|
-
return e === "horizontal" ? "width" : "height";
|
|
25
|
-
}
|
|
26
|
-
var n = class {
|
|
27
|
-
_getDefaultConfig() {
|
|
28
|
-
return { direction: "vertical" };
|
|
29
|
-
}
|
|
30
|
-
constructor(e, t) {
|
|
31
|
-
this._latestCoords = {
|
|
32
|
-
left: 0,
|
|
33
|
-
top: 0
|
|
34
|
-
}, this._direction = null, this._viewportSize = {
|
|
35
|
-
width: 0,
|
|
36
|
-
height: 0
|
|
37
|
-
}, this.totalScrollSize = {
|
|
38
|
-
width: 0,
|
|
39
|
-
height: 0
|
|
40
|
-
}, this.offsetWithinScroller = {
|
|
41
|
-
left: 0,
|
|
42
|
-
top: 0
|
|
43
|
-
}, this._pendingReflow = !1, this._pendingLayoutUpdate = !1, this._pin = null, this._firstVisible = 0, this._lastVisible = 0, this._physicalMin = 0, this._physicalMax = 0, this._first = -1, this._last = -1, this._sizeDim = "height", this._secondarySizeDim = "width", this._positionDim = "top", this._secondaryPositionDim = "left", this._scrollPosition = 0, this._scrollError = 0, this._items = [], this._scrollSize = 1, this._overhang = 1e3, this._hostSink = e, Promise.resolve().then(() => this.config = t || this._getDefaultConfig());
|
|
44
|
-
}
|
|
45
|
-
set config(e) {
|
|
46
|
-
Object.assign(this, Object.assign({}, this._getDefaultConfig(), e));
|
|
47
|
-
}
|
|
48
|
-
get config() {
|
|
49
|
-
return { direction: this.direction };
|
|
50
|
-
}
|
|
51
|
-
get items() {
|
|
52
|
-
return this._items;
|
|
53
|
-
}
|
|
54
|
-
set items(e) {
|
|
55
|
-
this._setItems(e);
|
|
56
|
-
}
|
|
57
|
-
_setItems(e) {
|
|
58
|
-
e !== this._items && (this._items = e, this._scheduleReflow());
|
|
59
|
-
}
|
|
60
|
-
get direction() {
|
|
61
|
-
return this._direction;
|
|
62
|
-
}
|
|
63
|
-
set direction(e) {
|
|
64
|
-
(e = e === "horizontal" ? e : "vertical") !== this._direction && (this._direction = e, this._sizeDim = e === "horizontal" ? "width" : "height", this._secondarySizeDim = e === "horizontal" ? "height" : "width", this._positionDim = e === "horizontal" ? "left" : "top", this._secondaryPositionDim = e === "horizontal" ? "top" : "left", this._triggerReflow());
|
|
65
|
-
}
|
|
66
|
-
get viewportSize() {
|
|
67
|
-
return this._viewportSize;
|
|
68
|
-
}
|
|
69
|
-
set viewportSize(e) {
|
|
70
|
-
let { _viewDim1: t, _viewDim2: n } = this;
|
|
71
|
-
Object.assign(this._viewportSize, e), n === this._viewDim2 ? t !== this._viewDim1 && this._checkThresholds() : this._scheduleLayoutUpdate();
|
|
72
|
-
}
|
|
73
|
-
get viewportScroll() {
|
|
74
|
-
return this._latestCoords;
|
|
75
|
-
}
|
|
76
|
-
set viewportScroll(e) {
|
|
77
|
-
Object.assign(this._latestCoords, e);
|
|
78
|
-
let t = this._scrollPosition;
|
|
79
|
-
this._scrollPosition = this._latestCoords[this._positionDim], Math.abs(t - this._scrollPosition) >= 1 && this._checkThresholds();
|
|
80
|
-
}
|
|
81
|
-
reflowIfNeeded(e = !1) {
|
|
82
|
-
(e || this._pendingReflow) && (this._pendingReflow = !1, this._reflow());
|
|
83
|
-
}
|
|
84
|
-
set pin(e) {
|
|
85
|
-
this._pin = e, this._triggerReflow();
|
|
86
|
-
}
|
|
87
|
-
get pin() {
|
|
88
|
-
if (this._pin !== null) {
|
|
89
|
-
let { index: e, block: t } = this._pin;
|
|
90
|
-
return {
|
|
91
|
-
index: Math.max(0, Math.min(e, this.items.length - 1)),
|
|
92
|
-
block: t
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
return null;
|
|
96
|
-
}
|
|
97
|
-
_clampScrollPosition(e) {
|
|
98
|
-
return Math.max(-this.offsetWithinScroller[this._positionDim], Math.min(e, this.totalScrollSize[t(this.direction)] - this._viewDim1));
|
|
99
|
-
}
|
|
100
|
-
unpin() {
|
|
101
|
-
this._pin !== null && (this._sendUnpinnedMessage(), this._pin = null);
|
|
102
|
-
}
|
|
103
|
-
_updateLayout() {}
|
|
104
|
-
get _viewDim1() {
|
|
105
|
-
return this._viewportSize[this._sizeDim];
|
|
106
|
-
}
|
|
107
|
-
get _viewDim2() {
|
|
108
|
-
return this._viewportSize[this._secondarySizeDim];
|
|
109
|
-
}
|
|
110
|
-
_scheduleReflow() {
|
|
111
|
-
this._pendingReflow = !0;
|
|
112
|
-
}
|
|
113
|
-
_scheduleLayoutUpdate() {
|
|
114
|
-
this._pendingLayoutUpdate = !0, this._scheduleReflow();
|
|
115
|
-
}
|
|
116
|
-
_triggerReflow() {
|
|
117
|
-
this._scheduleLayoutUpdate(), Promise.resolve().then(() => this.reflowIfNeeded());
|
|
118
|
-
}
|
|
119
|
-
_reflow() {
|
|
120
|
-
this._pendingLayoutUpdate &&= (this._updateLayout(), !1), this._updateScrollSize(), this._setPositionFromPin(), this._getActiveItems(), this._updateVisibleIndices(), this._sendStateChangedMessage();
|
|
121
|
-
}
|
|
122
|
-
_setPositionFromPin() {
|
|
123
|
-
if (this.pin !== null) {
|
|
124
|
-
let e = this._scrollPosition, { index: t, block: n } = this.pin;
|
|
125
|
-
this._scrollPosition = this._calculateScrollIntoViewPosition({
|
|
126
|
-
index: t,
|
|
127
|
-
block: n || "start"
|
|
128
|
-
}) - this.offsetWithinScroller[this._positionDim], this._scrollError = e - this._scrollPosition;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
_calculateScrollIntoViewPosition(e) {
|
|
132
|
-
let { block: t } = e, n = Math.min(this.items.length, Math.max(0, e.index)), r = this._getItemPosition(n)[this._positionDim], i = r;
|
|
133
|
-
if (t !== "start") {
|
|
134
|
-
let e = this._getItemSize(n)[this._sizeDim];
|
|
135
|
-
if (t === "center") i = r - .5 * this._viewDim1 + .5 * e;
|
|
136
|
-
else {
|
|
137
|
-
let n = r - this._viewDim1 + e;
|
|
138
|
-
if (t === "end") i = n;
|
|
139
|
-
else {
|
|
140
|
-
let e = this._scrollPosition;
|
|
141
|
-
i = Math.abs(e - r) < Math.abs(e - n) ? r : n;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
return i += this.offsetWithinScroller[this._positionDim], this._clampScrollPosition(i);
|
|
146
|
-
}
|
|
147
|
-
getScrollIntoViewCoordinates(e) {
|
|
148
|
-
return { [this._positionDim]: this._calculateScrollIntoViewPosition(e) };
|
|
149
|
-
}
|
|
150
|
-
_sendUnpinnedMessage() {
|
|
151
|
-
this._hostSink({ type: "unpinned" });
|
|
152
|
-
}
|
|
153
|
-
_sendVisibilityChangedMessage() {
|
|
154
|
-
this._hostSink({
|
|
155
|
-
type: "visibilityChanged",
|
|
156
|
-
firstVisible: this._firstVisible,
|
|
157
|
-
lastVisible: this._lastVisible
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
_sendStateChangedMessage() {
|
|
161
|
-
let e = /* @__PURE__ */ new Map();
|
|
162
|
-
if (this._first !== -1 && this._last !== -1) for (let t = this._first; t <= this._last; t++) e.set(t, this._getItemPosition(t));
|
|
163
|
-
let t = {
|
|
164
|
-
type: "stateChanged",
|
|
165
|
-
scrollSize: {
|
|
166
|
-
[this._sizeDim]: this._scrollSize,
|
|
167
|
-
[this._secondarySizeDim]: null
|
|
168
|
-
},
|
|
169
|
-
range: {
|
|
170
|
-
first: this._first,
|
|
171
|
-
last: this._last,
|
|
172
|
-
firstVisible: this._firstVisible,
|
|
173
|
-
lastVisible: this._lastVisible
|
|
174
|
-
},
|
|
175
|
-
childPositions: e
|
|
176
|
-
};
|
|
177
|
-
this._scrollError &&= (t.scrollError = {
|
|
178
|
-
[this._positionDim]: this._scrollError,
|
|
179
|
-
[this._secondaryPositionDim]: 0
|
|
180
|
-
}, 0), this._hostSink(t);
|
|
181
|
-
}
|
|
182
|
-
get _num() {
|
|
183
|
-
return this._first === -1 || this._last === -1 ? 0 : this._last - this._first + 1;
|
|
184
|
-
}
|
|
185
|
-
_checkThresholds() {
|
|
186
|
-
if (this._viewDim1 === 0 && this._num > 0 || this._pin !== null) this._scheduleReflow();
|
|
187
|
-
else {
|
|
188
|
-
let e = Math.max(0, this._scrollPosition - this._overhang), t = Math.min(this._scrollSize, this._scrollPosition + this._viewDim1 + this._overhang);
|
|
189
|
-
this._physicalMin > e || this._physicalMax < t ? this._scheduleReflow() : this._updateVisibleIndices({ emit: !0 });
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
_updateVisibleIndices(e) {
|
|
193
|
-
if (this._first === -1 || this._last === -1) return;
|
|
194
|
-
let t = this._first;
|
|
195
|
-
for (; t < this._last && Math.round(this._getItemPosition(t)[this._positionDim] + this._getItemSize(t)[this._sizeDim]) <= Math.round(this._scrollPosition);) t++;
|
|
196
|
-
let n = this._last;
|
|
197
|
-
for (; n > this._first && Math.round(this._getItemPosition(n)[this._positionDim]) >= Math.round(this._scrollPosition + this._viewDim1);) n--;
|
|
198
|
-
t === this._firstVisible && n === this._lastVisible || (this._firstVisible = t, this._lastVisible = n, e && e.emit && this._sendVisibilityChangedMessage());
|
|
199
|
-
}
|
|
200
|
-
};
|
|
201
|
-
function r(e) {
|
|
202
|
-
return e === "horizontal" ? "marginLeft" : "marginTop";
|
|
203
|
-
}
|
|
204
|
-
function i(e) {
|
|
205
|
-
return e === "horizontal" ? "marginRight" : "marginBottom";
|
|
206
|
-
}
|
|
207
|
-
function a(e) {
|
|
208
|
-
return e === "horizontal" ? "xOffset" : "yOffset";
|
|
209
|
-
}
|
|
210
|
-
function o(e, t) {
|
|
211
|
-
let n = [e, t].sort();
|
|
212
|
-
return n[1] <= 0 ? Math.min(...n) : n[0] >= 0 ? Math.max(...n) : n[0] + n[1];
|
|
213
|
-
}
|
|
214
|
-
var s = class {
|
|
215
|
-
constructor() {
|
|
216
|
-
this._childSizeCache = new e(), this._marginSizeCache = new e(), this._metricsCache = /* @__PURE__ */ new Map();
|
|
217
|
-
}
|
|
218
|
-
update(e, n) {
|
|
219
|
-
let a = /* @__PURE__ */ new Set();
|
|
220
|
-
Object.keys(e).forEach((r) => {
|
|
221
|
-
let i = Number(r);
|
|
222
|
-
this._metricsCache.set(i, e[i]), this._childSizeCache.set(i, e[i][t(n)]), a.add(i), a.add(i + 1);
|
|
223
|
-
});
|
|
224
|
-
for (let e of a) {
|
|
225
|
-
let t = this._metricsCache.get(e)?.[r(n)] || 0, a = this._metricsCache.get(e - 1)?.[i(n)] || 0;
|
|
226
|
-
this._marginSizeCache.set(e, o(t, a));
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
get averageChildSize() {
|
|
230
|
-
return this._childSizeCache.averageSize;
|
|
231
|
-
}
|
|
232
|
-
get totalChildSize() {
|
|
233
|
-
return this._childSizeCache.totalSize;
|
|
234
|
-
}
|
|
235
|
-
get averageMarginSize() {
|
|
236
|
-
return this._marginSizeCache.averageSize;
|
|
237
|
-
}
|
|
238
|
-
get totalMarginSize() {
|
|
239
|
-
return this._marginSizeCache.totalSize;
|
|
240
|
-
}
|
|
241
|
-
getLeadingMarginValue(e, t) {
|
|
242
|
-
return this._metricsCache.get(e)?.[r(t)] || 0;
|
|
243
|
-
}
|
|
244
|
-
getChildSize(e) {
|
|
245
|
-
return this._childSizeCache.getSize(e);
|
|
246
|
-
}
|
|
247
|
-
getMarginSize(e) {
|
|
248
|
-
return this._marginSizeCache.getSize(e);
|
|
249
|
-
}
|
|
250
|
-
clear() {
|
|
251
|
-
this._childSizeCache.clear(), this._marginSizeCache.clear(), this._metricsCache.clear();
|
|
252
|
-
}
|
|
253
|
-
}, c = class extends n {
|
|
254
|
-
constructor() {
|
|
255
|
-
super(...arguments), this._itemSize = {
|
|
256
|
-
width: 100,
|
|
257
|
-
height: 100
|
|
258
|
-
}, this._physicalItems = /* @__PURE__ */ new Map(), this._newPhysicalItems = /* @__PURE__ */ new Map(), this._metricsCache = new s(), this._anchorIdx = null, this._anchorPos = null, this._stable = !0, this._measureChildren = !0, this._estimate = !0;
|
|
259
|
-
}
|
|
260
|
-
get measureChildren() {
|
|
261
|
-
return this._measureChildren;
|
|
262
|
-
}
|
|
263
|
-
updateItemSizes(e) {
|
|
264
|
-
this._metricsCache.update(e, this.direction), this._scheduleReflow();
|
|
265
|
-
}
|
|
266
|
-
_getPhysicalItem(e) {
|
|
267
|
-
return this._newPhysicalItems.get(e) ?? this._physicalItems.get(e);
|
|
268
|
-
}
|
|
269
|
-
_getSize(e) {
|
|
270
|
-
return this._getPhysicalItem(e) && this._metricsCache.getChildSize(e);
|
|
271
|
-
}
|
|
272
|
-
_getAverageSize() {
|
|
273
|
-
return this._metricsCache.averageChildSize || this._itemSize[this._sizeDim];
|
|
274
|
-
}
|
|
275
|
-
_estimatePosition(e) {
|
|
276
|
-
let t = this._metricsCache;
|
|
277
|
-
if (this._first === -1 || this._last === -1) return t.averageMarginSize + e * (t.averageMarginSize + this._getAverageSize());
|
|
278
|
-
if (e < this._first) {
|
|
279
|
-
let n = this._first - e;
|
|
280
|
-
return this._getPhysicalItem(this._first).pos - (t.getMarginSize(this._first - 1) || t.averageMarginSize) - (n * t.averageChildSize + (n - 1) * t.averageMarginSize);
|
|
281
|
-
}
|
|
282
|
-
{
|
|
283
|
-
let n = e - this._last;
|
|
284
|
-
return this._getPhysicalItem(this._last).pos + (t.getChildSize(this._last) || t.averageChildSize) + (t.getMarginSize(this._last) || t.averageMarginSize) + n * (t.averageChildSize + t.averageMarginSize);
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
_getPosition(e) {
|
|
288
|
-
let t = this._getPhysicalItem(e), { averageMarginSize: n } = this._metricsCache;
|
|
289
|
-
return e === 0 ? this._metricsCache.getMarginSize(0) ?? n : t ? t.pos : this._estimatePosition(e);
|
|
290
|
-
}
|
|
291
|
-
_calculateAnchor(e, t) {
|
|
292
|
-
return e <= 0 ? 0 : t > this._scrollSize - this._viewDim1 ? this.items.length - 1 : Math.max(0, Math.min(this.items.length - 1, Math.floor((e + t) / 2 / this._delta)));
|
|
293
|
-
}
|
|
294
|
-
_getAnchor(e, t) {
|
|
295
|
-
if (this._physicalItems.size === 0 || this._first < 0 || this._last < 0) return this._calculateAnchor(e, t);
|
|
296
|
-
let n = this._getPhysicalItem(this._first), r = this._getPhysicalItem(this._last), i = n.pos;
|
|
297
|
-
if (r.pos + this._metricsCache.getChildSize(this._last) < e || i > t) return this._calculateAnchor(e, t);
|
|
298
|
-
let a = this._firstVisible - 1, o = -Infinity;
|
|
299
|
-
for (; o < e;) o = this._getPhysicalItem(++a).pos + this._metricsCache.getChildSize(a);
|
|
300
|
-
return a;
|
|
301
|
-
}
|
|
302
|
-
_getActiveItems() {
|
|
303
|
-
this._viewDim1 === 0 || this.items.length === 0 ? this._clearItems() : this._getItems();
|
|
304
|
-
}
|
|
305
|
-
_clearItems() {
|
|
306
|
-
this._first = -1, this._last = -1, this._physicalMin = 0, this._physicalMax = 0;
|
|
307
|
-
let e = this._newPhysicalItems;
|
|
308
|
-
this._newPhysicalItems = this._physicalItems, this._newPhysicalItems.clear(), this._physicalItems = e, this._stable = !0;
|
|
309
|
-
}
|
|
310
|
-
_getItems() {
|
|
311
|
-
let e = this._newPhysicalItems, t, n;
|
|
312
|
-
if (this._stable = !0, this.pin !== null) {
|
|
313
|
-
let { index: e } = this.pin;
|
|
314
|
-
this._anchorIdx = e, this._anchorPos = this._getPosition(e);
|
|
315
|
-
}
|
|
316
|
-
if (t = this._scrollPosition - this._overhang, n = this._scrollPosition + this._viewDim1 + this._overhang, n < 0 || t > this._scrollSize) return void this._clearItems();
|
|
317
|
-
this._anchorIdx !== null && this._anchorPos !== null || (this._anchorIdx = this._getAnchor(t, n), this._anchorPos = this._getPosition(this._anchorIdx));
|
|
318
|
-
let r = this._getSize(this._anchorIdx);
|
|
319
|
-
r === void 0 && (this._stable = !1, r = this._getAverageSize());
|
|
320
|
-
let i = this._metricsCache.getMarginSize(this._anchorIdx) ?? this._metricsCache.averageMarginSize, a = this._metricsCache.getMarginSize(this._anchorIdx + 1) ?? this._metricsCache.averageMarginSize;
|
|
321
|
-
this._anchorIdx === 0 && (this._anchorPos = i), this._anchorIdx === this.items.length - 1 && (this._anchorPos = this._scrollSize - a - r);
|
|
322
|
-
let o = 0;
|
|
323
|
-
for (this._anchorPos + r + a < t && (o = t - (this._anchorPos + r + a)), this._anchorPos - i > n && (o = n - (this._anchorPos - i)), o && (this._scrollPosition -= o, t -= o, n -= o, this._scrollError += o), e.set(this._anchorIdx, {
|
|
324
|
-
pos: this._anchorPos,
|
|
325
|
-
size: r
|
|
326
|
-
}), this._first = this._last = this._anchorIdx, this._physicalMin = this._anchorPos - i, this._physicalMax = this._anchorPos + r + a; this._physicalMin > t && this._first > 0;) {
|
|
327
|
-
let t = this._getSize(--this._first);
|
|
328
|
-
t === void 0 && (this._stable = !1, t = this._getAverageSize());
|
|
329
|
-
let n = this._metricsCache.getMarginSize(this._first);
|
|
330
|
-
n === void 0 && (this._stable = !1, n = this._metricsCache.averageMarginSize), this._physicalMin -= t;
|
|
331
|
-
let r = this._physicalMin;
|
|
332
|
-
if (e.set(this._first, {
|
|
333
|
-
pos: r,
|
|
334
|
-
size: t
|
|
335
|
-
}), this._physicalMin -= n, !1 === this._stable && !1 === this._estimate) break;
|
|
336
|
-
}
|
|
337
|
-
for (; this._physicalMax < n && this._last < this.items.length - 1;) {
|
|
338
|
-
let t = this._getSize(++this._last);
|
|
339
|
-
t === void 0 && (this._stable = !1, t = this._getAverageSize());
|
|
340
|
-
let n = this._metricsCache.getMarginSize(this._last);
|
|
341
|
-
n === void 0 && (this._stable = !1, n = this._metricsCache.averageMarginSize);
|
|
342
|
-
let r = this._physicalMax;
|
|
343
|
-
if (e.set(this._last, {
|
|
344
|
-
pos: r,
|
|
345
|
-
size: t
|
|
346
|
-
}), this._physicalMax += t + n, !this._stable && !this._estimate) break;
|
|
347
|
-
}
|
|
348
|
-
let s = this._calculateError();
|
|
349
|
-
s && (this._physicalMin -= s, this._physicalMax -= s, this._anchorPos -= s, this._scrollPosition -= s, e.forEach((e) => e.pos -= s), this._scrollError += s), this._stable && (this._newPhysicalItems = this._physicalItems, this._newPhysicalItems.clear(), this._physicalItems = e);
|
|
350
|
-
}
|
|
351
|
-
_calculateError() {
|
|
352
|
-
return this._first === 0 ? this._physicalMin : this._physicalMin <= 0 ? this._physicalMin - this._first * this._delta : this._last === this.items.length - 1 ? this._physicalMax - this._scrollSize : this._physicalMax >= this._scrollSize ? this._physicalMax - this._scrollSize + (this.items.length - 1 - this._last) * this._delta : 0;
|
|
353
|
-
}
|
|
354
|
-
_reflow() {
|
|
355
|
-
let { _first: e, _last: t } = this;
|
|
356
|
-
super._reflow(), (this._first === -1 && this._last == -1 || this._first === e && this._last === t) && this._resetReflowState();
|
|
357
|
-
}
|
|
358
|
-
_resetReflowState() {
|
|
359
|
-
this._anchorIdx = null, this._anchorPos = null, this._stable = !0;
|
|
360
|
-
}
|
|
361
|
-
_updateScrollSize() {
|
|
362
|
-
let { averageMarginSize: e } = this._metricsCache;
|
|
363
|
-
this._scrollSize = Math.max(1, this.items.length * (e + this._getAverageSize()) + e);
|
|
364
|
-
}
|
|
365
|
-
get _delta() {
|
|
366
|
-
let { averageMarginSize: e } = this._metricsCache;
|
|
367
|
-
return this._getAverageSize() + e;
|
|
368
|
-
}
|
|
369
|
-
_getItemPosition(e) {
|
|
370
|
-
return {
|
|
371
|
-
[this._positionDim]: this._getPosition(e),
|
|
372
|
-
[this._secondaryPositionDim]: 0,
|
|
373
|
-
[a(this.direction)]: -(this._metricsCache.getLeadingMarginValue(e, this.direction) ?? this._metricsCache.averageMarginSize)
|
|
374
|
-
};
|
|
375
|
-
}
|
|
376
|
-
_getItemSize(e) {
|
|
377
|
-
return {
|
|
378
|
-
[this._sizeDim]: this._getSize(e) || this._getAverageSize(),
|
|
379
|
-
[this._secondarySizeDim]: this._itemSize[this._secondarySizeDim]
|
|
380
|
-
};
|
|
381
|
-
}
|
|
382
|
-
_viewDim2Changed() {
|
|
383
|
-
this._metricsCache.clear(), this._scheduleReflow();
|
|
384
|
-
}
|
|
385
|
-
};
|
|
386
|
-
export { c as FlowLayout };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flow-BPDtbhLe.js","names":[],"sources":["../node_modules/@lit-labs/virtualizer/layouts/shared/SizeCache.js","../node_modules/@lit-labs/virtualizer/layouts/shared/BaseLayout.js","../node_modules/@lit-labs/virtualizer/layouts/flow.js"],"sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nexport class SizeCache {\n constructor(config) {\n this._map = new Map();\n this._roundAverageSize = false;\n this.totalSize = 0;\n if (config?.roundAverageSize === true) {\n this._roundAverageSize = true;\n }\n }\n set(index, value) {\n const prev = this._map.get(index) || 0;\n this._map.set(index, value);\n this.totalSize += value - prev;\n }\n get averageSize() {\n if (this._map.size > 0) {\n const average = this.totalSize / this._map.size;\n return this._roundAverageSize ? Math.round(average) : average;\n }\n return 0;\n }\n getSize(index) {\n return this._map.get(index);\n }\n clear() {\n this._map.clear();\n this.totalSize = 0;\n }\n}\n//# sourceMappingURL=SizeCache.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nexport function dim1(direction) {\n return direction === 'horizontal' ? 'width' : 'height';\n}\nexport function dim2(direction) {\n return direction === 'horizontal' ? 'height' : 'width';\n}\nexport function pos1(direction) {\n return direction === 'horizontal' ? 'left' : 'top';\n}\nexport function pos2(direction) {\n return direction === 'horizontal' ? 'top' : 'left';\n}\nexport class BaseLayout {\n _getDefaultConfig() {\n return {\n direction: 'vertical',\n };\n }\n constructor(hostSink, config) {\n /**\n * The last set viewport scroll position.\n */\n this._latestCoords = { left: 0, top: 0 };\n /**\n * Scrolling direction.\n */\n this._direction = null;\n /**\n * Dimensions of the viewport.\n */\n this._viewportSize = { width: 0, height: 0 };\n this.totalScrollSize = { width: 0, height: 0 };\n this.offsetWithinScroller = { left: 0, top: 0 };\n /**\n * Flag for debouncing asynchronous reflow requests.\n */\n this._pendingReflow = false;\n this._pendingLayoutUpdate = false;\n this._pin = null;\n /**\n * The index of the first item intersecting the viewport.\n */\n this._firstVisible = 0;\n /**\n * The index of the last item intersecting the viewport.\n */\n this._lastVisible = 0;\n /**\n * Pixel offset in the scroll direction of the first child.\n */\n this._physicalMin = 0;\n /**\n * Pixel offset in the scroll direction of the last child.\n */\n this._physicalMax = 0;\n /**\n * Index of the first child.\n */\n this._first = -1;\n /**\n * Index of the last child.\n */\n this._last = -1;\n /**\n * Length in the scrolling direction.\n */\n this._sizeDim = 'height';\n /**\n * Length in the non-scrolling direction.\n */\n this._secondarySizeDim = 'width';\n /**\n * Position in the scrolling direction.\n */\n this._positionDim = 'top';\n /**\n * Position in the non-scrolling direction.\n */\n this._secondaryPositionDim = 'left';\n /**\n * Current scroll offset in pixels.\n */\n this._scrollPosition = 0;\n /**\n * Difference between current scroll offset and scroll offset calculated due\n * to a reflow.\n */\n this._scrollError = 0;\n /**\n * Total number of items that could possibly be displayed. Used to help\n * calculate the scroll size.\n */\n this._items = [];\n /**\n * The total (estimated) length of all items in the scrolling direction.\n */\n this._scrollSize = 1;\n /**\n * Number of pixels beyond the viewport to still include\n * in the active range of items.\n */\n // TODO (graynorton): Probably want to make this something we calculate based\n // on viewport size, item size, other factors, possibly still with a dial of some kind\n this._overhang = 1000;\n this._hostSink = hostSink;\n // Delay setting config so that subclasses do setup work first\n Promise.resolve().then(() => (this.config = config || this._getDefaultConfig()));\n }\n set config(config) {\n Object.assign(this, Object.assign({}, this._getDefaultConfig(), config));\n }\n get config() {\n return {\n direction: this.direction,\n };\n }\n /**\n * Maximum index of children + 1, to help estimate total height of the scroll\n * space.\n */\n get items() {\n return this._items;\n }\n set items(items) {\n this._setItems(items);\n }\n _setItems(items) {\n if (items !== this._items) {\n this._items = items;\n this._scheduleReflow();\n }\n }\n /**\n * Primary scrolling direction.\n */\n get direction() {\n return this._direction;\n }\n set direction(dir) {\n // Force it to be either horizontal or vertical.\n dir = dir === 'horizontal' ? dir : 'vertical';\n if (dir !== this._direction) {\n this._direction = dir;\n this._sizeDim = dir === 'horizontal' ? 'width' : 'height';\n this._secondarySizeDim = dir === 'horizontal' ? 'height' : 'width';\n this._positionDim = dir === 'horizontal' ? 'left' : 'top';\n this._secondaryPositionDim = dir === 'horizontal' ? 'top' : 'left';\n this._triggerReflow();\n }\n }\n /**\n * Height and width of the viewport.\n */\n get viewportSize() {\n return this._viewportSize;\n }\n set viewportSize(dims) {\n const { _viewDim1, _viewDim2 } = this;\n Object.assign(this._viewportSize, dims);\n if (_viewDim2 !== this._viewDim2) {\n // this._viewDim2Changed();\n this._scheduleLayoutUpdate();\n }\n else if (_viewDim1 !== this._viewDim1) {\n this._checkThresholds();\n }\n }\n /**\n * Scroll offset of the viewport.\n */\n get viewportScroll() {\n return this._latestCoords;\n }\n set viewportScroll(coords) {\n Object.assign(this._latestCoords, coords);\n const oldPos = this._scrollPosition;\n this._scrollPosition = this._latestCoords[this._positionDim];\n const change = Math.abs(oldPos - this._scrollPosition);\n if (change >= 1) {\n this._checkThresholds();\n }\n }\n /**\n * Perform a reflow if one has been scheduled.\n */\n reflowIfNeeded(force = false) {\n if (force || this._pendingReflow) {\n this._pendingReflow = false;\n this._reflow();\n }\n }\n set pin(options) {\n this._pin = options;\n this._triggerReflow();\n }\n get pin() {\n if (this._pin !== null) {\n const { index, block } = this._pin;\n return {\n index: Math.max(0, Math.min(index, this.items.length - 1)),\n block,\n };\n }\n return null;\n }\n _clampScrollPosition(val) {\n return Math.max(-this.offsetWithinScroller[this._positionDim], Math.min(val, this.totalScrollSize[dim1(this.direction)] - this._viewDim1));\n }\n unpin() {\n if (this._pin !== null) {\n this._sendUnpinnedMessage();\n this._pin = null;\n }\n }\n _updateLayout() {\n // Override\n }\n // protected _viewDim2Changed(): void {\n // this._scheduleLayoutUpdate();\n // }\n /**\n * The height or width of the viewport, whichever corresponds to the scrolling direction.\n */\n get _viewDim1() {\n return this._viewportSize[this._sizeDim];\n }\n /**\n * The height or width of the viewport, whichever does NOT correspond to the scrolling direction.\n */\n get _viewDim2() {\n return this._viewportSize[this._secondarySizeDim];\n }\n _scheduleReflow() {\n this._pendingReflow = true;\n }\n _scheduleLayoutUpdate() {\n this._pendingLayoutUpdate = true;\n this._scheduleReflow();\n }\n // For triggering a reflow based on incoming changes to\n // the layout config.\n _triggerReflow() {\n this._scheduleLayoutUpdate();\n // TODO graynorton@: reflowIfNeeded() isn't really supposed\n // to be called internally. Address in larger cleanup\n // of virtualizer / layout interaction pattern.\n // this.reflowIfNeeded(true);\n Promise.resolve().then(() => this.reflowIfNeeded());\n }\n _reflow() {\n if (this._pendingLayoutUpdate) {\n this._updateLayout();\n this._pendingLayoutUpdate = false;\n }\n this._updateScrollSize();\n this._setPositionFromPin();\n this._getActiveItems();\n this._updateVisibleIndices();\n this._sendStateChangedMessage();\n }\n /**\n * If we are supposed to be pinned to a particular\n * item or set of coordinates, we set `_scrollPosition`\n * accordingly and adjust `_scrollError` as needed\n * so that the virtualizer can keep the scroll\n * position in the DOM in sync\n */\n _setPositionFromPin() {\n if (this.pin !== null) {\n const lastScrollPosition = this._scrollPosition;\n const { index, block } = this.pin;\n this._scrollPosition =\n this._calculateScrollIntoViewPosition({\n index,\n block: block || 'start',\n }) - this.offsetWithinScroller[this._positionDim];\n this._scrollError = lastScrollPosition - this._scrollPosition;\n }\n }\n /**\n * Calculate the coordinates to scroll to, given\n * a request to scroll to the element at a specific\n * index.\n *\n * Supports the same positioning options (`start`,\n * `center`, `end`, `nearest`) as the standard\n * `Element.scrollIntoView()` method, but currently\n * only considers the provided value in the `block`\n * dimension, since we don't yet have any layouts\n * that support virtualization in two dimensions.\n */\n _calculateScrollIntoViewPosition(options) {\n const { block } = options;\n const index = Math.min(this.items.length, Math.max(0, options.index));\n const itemStartPosition = this._getItemPosition(index)[this._positionDim];\n let scrollPosition = itemStartPosition;\n if (block !== 'start') {\n const itemSize = this._getItemSize(index)[this._sizeDim];\n if (block === 'center') {\n scrollPosition =\n itemStartPosition - 0.5 * this._viewDim1 + 0.5 * itemSize;\n }\n else {\n const itemEndPosition = itemStartPosition - this._viewDim1 + itemSize;\n if (block === 'end') {\n scrollPosition = itemEndPosition;\n }\n else {\n // block === 'nearest'\n const currentScrollPosition = this._scrollPosition;\n scrollPosition =\n Math.abs(currentScrollPosition - itemStartPosition) <\n Math.abs(currentScrollPosition - itemEndPosition)\n ? itemStartPosition\n : itemEndPosition;\n }\n }\n }\n scrollPosition += this.offsetWithinScroller[this._positionDim];\n return this._clampScrollPosition(scrollPosition);\n }\n getScrollIntoViewCoordinates(options) {\n return {\n [this._positionDim]: this._calculateScrollIntoViewPosition(options),\n };\n }\n _sendUnpinnedMessage() {\n this._hostSink({\n type: 'unpinned',\n });\n }\n _sendVisibilityChangedMessage() {\n this._hostSink({\n type: 'visibilityChanged',\n firstVisible: this._firstVisible,\n lastVisible: this._lastVisible,\n });\n }\n _sendStateChangedMessage() {\n const childPositions = new Map();\n if (this._first !== -1 && this._last !== -1) {\n for (let idx = this._first; idx <= this._last; idx++) {\n childPositions.set(idx, this._getItemPosition(idx));\n }\n }\n const message = {\n type: 'stateChanged',\n scrollSize: {\n [this._sizeDim]: this._scrollSize,\n [this._secondarySizeDim]: null,\n },\n range: {\n first: this._first,\n last: this._last,\n firstVisible: this._firstVisible,\n lastVisible: this._lastVisible,\n },\n childPositions,\n };\n if (this._scrollError) {\n message.scrollError = {\n [this._positionDim]: this._scrollError,\n [this._secondaryPositionDim]: 0,\n };\n this._scrollError = 0;\n }\n this._hostSink(message);\n }\n /**\n * Number of items to display.\n */\n get _num() {\n if (this._first === -1 || this._last === -1) {\n return 0;\n }\n return this._last - this._first + 1;\n }\n _checkThresholds() {\n if ((this._viewDim1 === 0 && this._num > 0) || this._pin !== null) {\n this._scheduleReflow();\n }\n else {\n const min = Math.max(0, this._scrollPosition - this._overhang);\n const max = Math.min(this._scrollSize, this._scrollPosition + this._viewDim1 + this._overhang);\n if (this._physicalMin > min || this._physicalMax < max) {\n this._scheduleReflow();\n }\n else {\n this._updateVisibleIndices({ emit: true });\n }\n }\n }\n /**\n * Find the indices of the first and last items to intersect the viewport.\n * Emit a visibleindiceschange event when either index changes.\n */\n _updateVisibleIndices(options) {\n if (this._first === -1 || this._last === -1)\n return;\n let firstVisible = this._first;\n while (firstVisible < this._last &&\n Math.round(this._getItemPosition(firstVisible)[this._positionDim] +\n this._getItemSize(firstVisible)[this._sizeDim]) <= Math.round(this._scrollPosition)) {\n firstVisible++;\n }\n let lastVisible = this._last;\n while (lastVisible > this._first &&\n Math.round(this._getItemPosition(lastVisible)[this._positionDim]) >=\n Math.round(this._scrollPosition + this._viewDim1)) {\n lastVisible--;\n }\n if (firstVisible !== this._firstVisible ||\n lastVisible !== this._lastVisible) {\n this._firstVisible = firstVisible;\n this._lastVisible = lastVisible;\n if (options && options.emit) {\n this._sendVisibilityChangedMessage();\n }\n }\n }\n}\n//# sourceMappingURL=BaseLayout.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { SizeCache } from './shared/SizeCache.js';\nimport { BaseLayout, dim1 } from './shared/BaseLayout.js';\nexport const flow = (config) => Object.assign({\n type: FlowLayout,\n}, config);\nfunction leadingMargin(direction) {\n return direction === 'horizontal' ? 'marginLeft' : 'marginTop';\n}\nfunction trailingMargin(direction) {\n return direction === 'horizontal' ? 'marginRight' : 'marginBottom';\n}\nfunction offset(direction) {\n return direction === 'horizontal' ? 'xOffset' : 'yOffset';\n}\nfunction collapseMargins(a, b) {\n const m = [a, b].sort();\n return m[1] <= 0 ? Math.min(...m) : m[0] >= 0 ? Math.max(...m) : m[0] + m[1];\n}\nclass MetricsCache {\n constructor() {\n this._childSizeCache = new SizeCache();\n this._marginSizeCache = new SizeCache();\n this._metricsCache = new Map();\n }\n update(metrics, direction) {\n const marginsToUpdate = new Set();\n Object.keys(metrics).forEach((key) => {\n const k = Number(key);\n this._metricsCache.set(k, metrics[k]);\n this._childSizeCache.set(k, metrics[k][dim1(direction)]);\n marginsToUpdate.add(k);\n marginsToUpdate.add(k + 1);\n });\n for (const k of marginsToUpdate) {\n const a = this._metricsCache.get(k)?.[leadingMargin(direction)] || 0;\n const b = this._metricsCache.get(k - 1)?.[trailingMargin(direction)] || 0;\n this._marginSizeCache.set(k, collapseMargins(a, b));\n }\n }\n get averageChildSize() {\n return this._childSizeCache.averageSize;\n }\n get totalChildSize() {\n return this._childSizeCache.totalSize;\n }\n get averageMarginSize() {\n return this._marginSizeCache.averageSize;\n }\n get totalMarginSize() {\n return this._marginSizeCache.totalSize;\n }\n getLeadingMarginValue(index, direction) {\n return this._metricsCache.get(index)?.[leadingMargin(direction)] || 0;\n }\n getChildSize(index) {\n return this._childSizeCache.getSize(index);\n }\n getMarginSize(index) {\n return this._marginSizeCache.getSize(index);\n }\n clear() {\n this._childSizeCache.clear();\n this._marginSizeCache.clear();\n this._metricsCache.clear();\n }\n}\nexport class FlowLayout extends BaseLayout {\n constructor() {\n super(...arguments);\n /**\n * Initial estimate of item size\n */\n this._itemSize = { width: 100, height: 100 };\n /**\n * Indices of children mapped to their (position and length) in the scrolling\n * direction. Used to keep track of children that are in range.\n */\n this._physicalItems = new Map();\n /**\n * Used in tandem with _physicalItems to track children in range across\n * reflows.\n */\n this._newPhysicalItems = new Map();\n /**\n * Width and height of children by their index.\n */\n this._metricsCache = new MetricsCache();\n /**\n * anchorIdx is the anchor around which we reflow. It is designed to allow\n * jumping to any point of the scroll size. We choose it once and stick with\n * it until stable. _first and _last are deduced around it.\n */\n this._anchorIdx = null;\n /**\n * Position in the scrolling direction of the anchor child.\n */\n this._anchorPos = null;\n /**\n * Whether all children in range were in range during the previous reflow.\n */\n this._stable = true;\n this._measureChildren = true;\n this._estimate = true;\n }\n // protected _defaultConfig: BaseLayoutConfig = Object.assign({}, super._defaultConfig, {\n // })\n // constructor(config: Layout1dConfig) {\n // super(config);\n // }\n get measureChildren() {\n return this._measureChildren;\n }\n /**\n * Determine the average size of all children represented in the sizes\n * argument.\n */\n updateItemSizes(sizes) {\n this._metricsCache.update(sizes, this.direction);\n // if (this._nMeasured) {\n // this._updateItemSize();\n this._scheduleReflow();\n // }\n }\n /**\n * Set the average item size based on the total length and number of children\n * in range.\n */\n // _updateItemSize() {\n // // Keep integer values.\n // this._itemSize[this._sizeDim] = this._metricsCache.averageChildSize;\n // }\n _getPhysicalItem(idx) {\n return this._newPhysicalItems.get(idx) ?? this._physicalItems.get(idx);\n }\n _getSize(idx) {\n const item = this._getPhysicalItem(idx);\n return item && this._metricsCache.getChildSize(idx);\n }\n _getAverageSize() {\n return this._metricsCache.averageChildSize || this._itemSize[this._sizeDim];\n }\n _estimatePosition(idx) {\n const c = this._metricsCache;\n if (this._first === -1 || this._last === -1) {\n return (c.averageMarginSize +\n idx * (c.averageMarginSize + this._getAverageSize()));\n }\n else {\n if (idx < this._first) {\n const delta = this._first - idx;\n const refItem = this._getPhysicalItem(this._first);\n return (refItem.pos -\n (c.getMarginSize(this._first - 1) || c.averageMarginSize) -\n (delta * c.averageChildSize + (delta - 1) * c.averageMarginSize));\n }\n else {\n const delta = idx - this._last;\n const refItem = this._getPhysicalItem(this._last);\n return (refItem.pos +\n (c.getChildSize(this._last) || c.averageChildSize) +\n (c.getMarginSize(this._last) || c.averageMarginSize) +\n delta * (c.averageChildSize + c.averageMarginSize));\n }\n }\n }\n /**\n * Returns the position in the scrolling direction of the item at idx.\n * Estimates it if the item at idx is not in the DOM.\n */\n _getPosition(idx) {\n const item = this._getPhysicalItem(idx);\n const { averageMarginSize } = this._metricsCache;\n return idx === 0\n ? this._metricsCache.getMarginSize(0) ?? averageMarginSize\n : item\n ? item.pos\n : this._estimatePosition(idx);\n }\n _calculateAnchor(lower, upper) {\n if (lower <= 0) {\n return 0;\n }\n if (upper > this._scrollSize - this._viewDim1) {\n return this.items.length - 1;\n }\n return Math.max(0, Math.min(this.items.length - 1, Math.floor((lower + upper) / 2 / this._delta)));\n }\n _getAnchor(lower, upper) {\n if (this._physicalItems.size === 0) {\n return this._calculateAnchor(lower, upper);\n }\n if (this._first < 0) {\n return this._calculateAnchor(lower, upper);\n }\n if (this._last < 0) {\n return this._calculateAnchor(lower, upper);\n }\n const firstItem = this._getPhysicalItem(this._first), lastItem = this._getPhysicalItem(this._last), firstMin = firstItem.pos, lastMin = lastItem.pos, lastMax = lastMin + this._metricsCache.getChildSize(this._last);\n if (lastMax < lower) {\n // Window is entirely past physical items, calculate new anchor\n return this._calculateAnchor(lower, upper);\n }\n if (firstMin > upper) {\n // Window is entirely before physical items, calculate new anchor\n return this._calculateAnchor(lower, upper);\n }\n // Window contains a physical item\n // Find one, starting with the one that was previously first visible\n let candidateIdx = this._firstVisible - 1;\n let cMax = -Infinity;\n while (cMax < lower) {\n const candidate = this._getPhysicalItem(++candidateIdx);\n cMax = candidate.pos + this._metricsCache.getChildSize(candidateIdx);\n }\n return candidateIdx;\n }\n /**\n * Updates _first and _last based on items that should be in the current\n * viewed range.\n */\n _getActiveItems() {\n if (this._viewDim1 === 0 || this.items.length === 0) {\n this._clearItems();\n }\n else {\n this._getItems();\n }\n }\n /**\n * Sets the range to empty.\n */\n _clearItems() {\n this._first = -1;\n this._last = -1;\n this._physicalMin = 0;\n this._physicalMax = 0;\n const items = this._newPhysicalItems;\n this._newPhysicalItems = this._physicalItems;\n this._newPhysicalItems.clear();\n this._physicalItems = items;\n this._stable = true;\n }\n /*\n * Updates _first and _last based on items that should be in the given range.\n */\n _getItems() {\n const items = this._newPhysicalItems;\n this._stable = true;\n let lower, upper;\n // The anchorIdx is the anchor around which we reflow. It is designed to\n // allow jumping to any point of the scroll size. We choose it once and\n // stick with it until stable. first and last are deduced around it.\n // If we have a pinned item, we anchor on it\n if (this.pin !== null) {\n const { index } = this.pin;\n this._anchorIdx = index;\n this._anchorPos = this._getPosition(index);\n }\n // Determine the lower and upper bounds of the region to be\n // rendered, relative to the viewport\n lower = this._scrollPosition - this._overhang; //leadingOverhang;\n upper = this._scrollPosition + this._viewDim1 + this._overhang; // trailingOverhang;\n if (upper < 0 || lower > this._scrollSize) {\n this._clearItems();\n return;\n }\n // If we are scrolling to a specific index or if we are doing another\n // pass to stabilize a previously started reflow, we will already\n // have an anchor. If not, establish an anchor now.\n if (this._anchorIdx === null || this._anchorPos === null) {\n this._anchorIdx = this._getAnchor(lower, upper);\n this._anchorPos = this._getPosition(this._anchorIdx);\n }\n let anchorSize = this._getSize(this._anchorIdx);\n if (anchorSize === undefined) {\n this._stable = false;\n anchorSize = this._getAverageSize();\n }\n const anchorLeadingMargin = this._metricsCache.getMarginSize(this._anchorIdx) ??\n this._metricsCache.averageMarginSize;\n const anchorTrailingMargin = this._metricsCache.getMarginSize(this._anchorIdx + 1) ??\n this._metricsCache.averageMarginSize;\n if (this._anchorIdx === 0) {\n this._anchorPos = anchorLeadingMargin;\n }\n if (this._anchorIdx === this.items.length - 1) {\n this._anchorPos = this._scrollSize - anchorTrailingMargin - anchorSize;\n }\n // Anchor might be outside bounds, so prefer correcting the error and keep\n // that anchorIdx.\n let anchorErr = 0;\n if (this._anchorPos + anchorSize + anchorTrailingMargin < lower) {\n anchorErr = lower - (this._anchorPos + anchorSize + anchorTrailingMargin);\n }\n if (this._anchorPos - anchorLeadingMargin > upper) {\n anchorErr = upper - (this._anchorPos - anchorLeadingMargin);\n }\n if (anchorErr) {\n this._scrollPosition -= anchorErr;\n lower -= anchorErr;\n upper -= anchorErr;\n this._scrollError += anchorErr;\n }\n items.set(this._anchorIdx, { pos: this._anchorPos, size: anchorSize });\n this._first = this._last = this._anchorIdx;\n this._physicalMin = this._anchorPos - anchorLeadingMargin;\n this._physicalMax = this._anchorPos + anchorSize + anchorTrailingMargin;\n while (this._physicalMin > lower && this._first > 0) {\n let size = this._getSize(--this._first);\n if (size === undefined) {\n this._stable = false;\n size = this._getAverageSize();\n }\n let margin = this._metricsCache.getMarginSize(this._first);\n if (margin === undefined) {\n this._stable = false;\n margin = this._metricsCache.averageMarginSize;\n }\n this._physicalMin -= size;\n const pos = this._physicalMin;\n items.set(this._first, { pos, size });\n this._physicalMin -= margin;\n if (this._stable === false && this._estimate === false) {\n break;\n }\n }\n while (this._physicalMax < upper && this._last < this.items.length - 1) {\n let size = this._getSize(++this._last);\n if (size === undefined) {\n this._stable = false;\n size = this._getAverageSize();\n }\n let margin = this._metricsCache.getMarginSize(this._last);\n if (margin === undefined) {\n this._stable = false;\n margin = this._metricsCache.averageMarginSize;\n }\n const pos = this._physicalMax;\n items.set(this._last, { pos, size });\n this._physicalMax += size + margin;\n if (!this._stable && !this._estimate) {\n break;\n }\n }\n // This handles the cases where we were relying on estimated sizes.\n const extentErr = this._calculateError();\n if (extentErr) {\n this._physicalMin -= extentErr;\n this._physicalMax -= extentErr;\n this._anchorPos -= extentErr;\n this._scrollPosition -= extentErr;\n items.forEach((item) => (item.pos -= extentErr));\n this._scrollError += extentErr;\n }\n if (this._stable) {\n this._newPhysicalItems = this._physicalItems;\n this._newPhysicalItems.clear();\n this._physicalItems = items;\n }\n }\n _calculateError() {\n if (this._first === 0) {\n return this._physicalMin;\n }\n else if (this._physicalMin <= 0) {\n return this._physicalMin - this._first * this._delta;\n }\n else if (this._last === this.items.length - 1) {\n return this._physicalMax - this._scrollSize;\n }\n else if (this._physicalMax >= this._scrollSize) {\n return (this._physicalMax -\n this._scrollSize +\n (this.items.length - 1 - this._last) * this._delta);\n }\n return 0;\n }\n _reflow() {\n const { _first, _last } = this;\n super._reflow();\n if ((this._first === -1 && this._last == -1) ||\n (this._first === _first && this._last === _last)) {\n this._resetReflowState();\n }\n }\n _resetReflowState() {\n this._anchorIdx = null;\n this._anchorPos = null;\n this._stable = true;\n }\n _updateScrollSize() {\n const { averageMarginSize } = this._metricsCache;\n this._scrollSize = Math.max(1, this.items.length * (averageMarginSize + this._getAverageSize()) +\n averageMarginSize);\n }\n /**\n * Returns the average size (precise or estimated) of an item in the scrolling direction,\n * including any surrounding space.\n */\n get _delta() {\n const { averageMarginSize } = this._metricsCache;\n return this._getAverageSize() + averageMarginSize;\n }\n /**\n * Returns the top and left positioning of the item at idx.\n */\n _getItemPosition(idx) {\n return {\n [this._positionDim]: this._getPosition(idx),\n [this._secondaryPositionDim]: 0,\n [offset(this.direction)]: -(this._metricsCache.getLeadingMarginValue(idx, this.direction) ??\n this._metricsCache.averageMarginSize),\n };\n }\n /**\n * Returns the height and width of the item at idx.\n */\n _getItemSize(idx) {\n return {\n [this._sizeDim]: this._getSize(idx) || this._getAverageSize(),\n [this._secondarySizeDim]: this._itemSize[this._secondarySizeDim],\n };\n }\n _viewDim2Changed() {\n this._metricsCache.clear();\n this._scheduleReflow();\n }\n}\n//# sourceMappingURL=flow.js.map"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
|
package/dist/flow-Dn9AZktE.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=class{constructor(e){this._map=new Map,this._roundAverageSize=!1,this.totalSize=0,!0===e?.roundAverageSize&&(this._roundAverageSize=!0)}set(e,t){let n=this._map.get(e)||0;this._map.set(e,t),this.totalSize+=t-n}get averageSize(){if(this._map.size>0){let e=this.totalSize/this._map.size;return this._roundAverageSize?Math.round(e):e}return 0}getSize(e){return this._map.get(e)}clear(){this._map.clear(),this.totalSize=0}};function t(e){return e===`horizontal`?`width`:`height`}var n=class{_getDefaultConfig(){return{direction:`vertical`}}constructor(e,t){this._latestCoords={left:0,top:0},this._direction=null,this._viewportSize={width:0,height:0},this.totalScrollSize={width:0,height:0},this.offsetWithinScroller={left:0,top:0},this._pendingReflow=!1,this._pendingLayoutUpdate=!1,this._pin=null,this._firstVisible=0,this._lastVisible=0,this._physicalMin=0,this._physicalMax=0,this._first=-1,this._last=-1,this._sizeDim=`height`,this._secondarySizeDim=`width`,this._positionDim=`top`,this._secondaryPositionDim=`left`,this._scrollPosition=0,this._scrollError=0,this._items=[],this._scrollSize=1,this._overhang=1e3,this._hostSink=e,Promise.resolve().then(()=>this.config=t||this._getDefaultConfig())}set config(e){Object.assign(this,Object.assign({},this._getDefaultConfig(),e))}get config(){return{direction:this.direction}}get items(){return this._items}set items(e){this._setItems(e)}_setItems(e){e!==this._items&&(this._items=e,this._scheduleReflow())}get direction(){return this._direction}set direction(e){(e=e===`horizontal`?e:`vertical`)!==this._direction&&(this._direction=e,this._sizeDim=e===`horizontal`?`width`:`height`,this._secondarySizeDim=e===`horizontal`?`height`:`width`,this._positionDim=e===`horizontal`?`left`:`top`,this._secondaryPositionDim=e===`horizontal`?`top`:`left`,this._triggerReflow())}get viewportSize(){return this._viewportSize}set viewportSize(e){let{_viewDim1:t,_viewDim2:n}=this;Object.assign(this._viewportSize,e),n===this._viewDim2?t!==this._viewDim1&&this._checkThresholds():this._scheduleLayoutUpdate()}get viewportScroll(){return this._latestCoords}set viewportScroll(e){Object.assign(this._latestCoords,e);let t=this._scrollPosition;this._scrollPosition=this._latestCoords[this._positionDim],Math.abs(t-this._scrollPosition)>=1&&this._checkThresholds()}reflowIfNeeded(e=!1){(e||this._pendingReflow)&&(this._pendingReflow=!1,this._reflow())}set pin(e){this._pin=e,this._triggerReflow()}get pin(){if(this._pin!==null){let{index:e,block:t}=this._pin;return{index:Math.max(0,Math.min(e,this.items.length-1)),block:t}}return null}_clampScrollPosition(e){return Math.max(-this.offsetWithinScroller[this._positionDim],Math.min(e,this.totalScrollSize[t(this.direction)]-this._viewDim1))}unpin(){this._pin!==null&&(this._sendUnpinnedMessage(),this._pin=null)}_updateLayout(){}get _viewDim1(){return this._viewportSize[this._sizeDim]}get _viewDim2(){return this._viewportSize[this._secondarySizeDim]}_scheduleReflow(){this._pendingReflow=!0}_scheduleLayoutUpdate(){this._pendingLayoutUpdate=!0,this._scheduleReflow()}_triggerReflow(){this._scheduleLayoutUpdate(),Promise.resolve().then(()=>this.reflowIfNeeded())}_reflow(){this._pendingLayoutUpdate&&=(this._updateLayout(),!1),this._updateScrollSize(),this._setPositionFromPin(),this._getActiveItems(),this._updateVisibleIndices(),this._sendStateChangedMessage()}_setPositionFromPin(){if(this.pin!==null){let e=this._scrollPosition,{index:t,block:n}=this.pin;this._scrollPosition=this._calculateScrollIntoViewPosition({index:t,block:n||`start`})-this.offsetWithinScroller[this._positionDim],this._scrollError=e-this._scrollPosition}}_calculateScrollIntoViewPosition(e){let{block:t}=e,n=Math.min(this.items.length,Math.max(0,e.index)),r=this._getItemPosition(n)[this._positionDim],i=r;if(t!==`start`){let e=this._getItemSize(n)[this._sizeDim];if(t===`center`)i=r-.5*this._viewDim1+.5*e;else{let n=r-this._viewDim1+e;if(t===`end`)i=n;else{let e=this._scrollPosition;i=Math.abs(e-r)<Math.abs(e-n)?r:n}}}return i+=this.offsetWithinScroller[this._positionDim],this._clampScrollPosition(i)}getScrollIntoViewCoordinates(e){return{[this._positionDim]:this._calculateScrollIntoViewPosition(e)}}_sendUnpinnedMessage(){this._hostSink({type:`unpinned`})}_sendVisibilityChangedMessage(){this._hostSink({type:`visibilityChanged`,firstVisible:this._firstVisible,lastVisible:this._lastVisible})}_sendStateChangedMessage(){let e=new Map;if(this._first!==-1&&this._last!==-1)for(let t=this._first;t<=this._last;t++)e.set(t,this._getItemPosition(t));let t={type:`stateChanged`,scrollSize:{[this._sizeDim]:this._scrollSize,[this._secondarySizeDim]:null},range:{first:this._first,last:this._last,firstVisible:this._firstVisible,lastVisible:this._lastVisible},childPositions:e};this._scrollError&&=(t.scrollError={[this._positionDim]:this._scrollError,[this._secondaryPositionDim]:0},0),this._hostSink(t)}get _num(){return this._first===-1||this._last===-1?0:this._last-this._first+1}_checkThresholds(){if(this._viewDim1===0&&this._num>0||this._pin!==null)this._scheduleReflow();else{let e=Math.max(0,this._scrollPosition-this._overhang),t=Math.min(this._scrollSize,this._scrollPosition+this._viewDim1+this._overhang);this._physicalMin>e||this._physicalMax<t?this._scheduleReflow():this._updateVisibleIndices({emit:!0})}}_updateVisibleIndices(e){if(this._first===-1||this._last===-1)return;let t=this._first;for(;t<this._last&&Math.round(this._getItemPosition(t)[this._positionDim]+this._getItemSize(t)[this._sizeDim])<=Math.round(this._scrollPosition);)t++;let n=this._last;for(;n>this._first&&Math.round(this._getItemPosition(n)[this._positionDim])>=Math.round(this._scrollPosition+this._viewDim1);)n--;t===this._firstVisible&&n===this._lastVisible||(this._firstVisible=t,this._lastVisible=n,e&&e.emit&&this._sendVisibilityChangedMessage())}};function r(e){return e===`horizontal`?`marginLeft`:`marginTop`}function i(e){return e===`horizontal`?`marginRight`:`marginBottom`}function a(e){return e===`horizontal`?`xOffset`:`yOffset`}function o(e,t){let n=[e,t].sort();return n[1]<=0?Math.min(...n):n[0]>=0?Math.max(...n):n[0]+n[1]}var s=class{constructor(){this._childSizeCache=new e,this._marginSizeCache=new e,this._metricsCache=new Map}update(e,n){let a=new Set;Object.keys(e).forEach(r=>{let i=Number(r);this._metricsCache.set(i,e[i]),this._childSizeCache.set(i,e[i][t(n)]),a.add(i),a.add(i+1)});for(let e of a){let t=this._metricsCache.get(e)?.[r(n)]||0,a=this._metricsCache.get(e-1)?.[i(n)]||0;this._marginSizeCache.set(e,o(t,a))}}get averageChildSize(){return this._childSizeCache.averageSize}get totalChildSize(){return this._childSizeCache.totalSize}get averageMarginSize(){return this._marginSizeCache.averageSize}get totalMarginSize(){return this._marginSizeCache.totalSize}getLeadingMarginValue(e,t){return this._metricsCache.get(e)?.[r(t)]||0}getChildSize(e){return this._childSizeCache.getSize(e)}getMarginSize(e){return this._marginSizeCache.getSize(e)}clear(){this._childSizeCache.clear(),this._marginSizeCache.clear(),this._metricsCache.clear()}};exports.FlowLayout=class extends n{constructor(){super(...arguments),this._itemSize={width:100,height:100},this._physicalItems=new Map,this._newPhysicalItems=new Map,this._metricsCache=new s,this._anchorIdx=null,this._anchorPos=null,this._stable=!0,this._measureChildren=!0,this._estimate=!0}get measureChildren(){return this._measureChildren}updateItemSizes(e){this._metricsCache.update(e,this.direction),this._scheduleReflow()}_getPhysicalItem(e){return this._newPhysicalItems.get(e)??this._physicalItems.get(e)}_getSize(e){return this._getPhysicalItem(e)&&this._metricsCache.getChildSize(e)}_getAverageSize(){return this._metricsCache.averageChildSize||this._itemSize[this._sizeDim]}_estimatePosition(e){let t=this._metricsCache;if(this._first===-1||this._last===-1)return t.averageMarginSize+e*(t.averageMarginSize+this._getAverageSize());if(e<this._first){let n=this._first-e;return this._getPhysicalItem(this._first).pos-(t.getMarginSize(this._first-1)||t.averageMarginSize)-(n*t.averageChildSize+(n-1)*t.averageMarginSize)}{let n=e-this._last;return this._getPhysicalItem(this._last).pos+(t.getChildSize(this._last)||t.averageChildSize)+(t.getMarginSize(this._last)||t.averageMarginSize)+n*(t.averageChildSize+t.averageMarginSize)}}_getPosition(e){let t=this._getPhysicalItem(e),{averageMarginSize:n}=this._metricsCache;return e===0?this._metricsCache.getMarginSize(0)??n:t?t.pos:this._estimatePosition(e)}_calculateAnchor(e,t){return e<=0?0:t>this._scrollSize-this._viewDim1?this.items.length-1:Math.max(0,Math.min(this.items.length-1,Math.floor((e+t)/2/this._delta)))}_getAnchor(e,t){if(this._physicalItems.size===0||this._first<0||this._last<0)return this._calculateAnchor(e,t);let n=this._getPhysicalItem(this._first),r=this._getPhysicalItem(this._last),i=n.pos;if(r.pos+this._metricsCache.getChildSize(this._last)<e||i>t)return this._calculateAnchor(e,t);let a=this._firstVisible-1,o=-1/0;for(;o<e;)o=this._getPhysicalItem(++a).pos+this._metricsCache.getChildSize(a);return a}_getActiveItems(){this._viewDim1===0||this.items.length===0?this._clearItems():this._getItems()}_clearItems(){this._first=-1,this._last=-1,this._physicalMin=0,this._physicalMax=0;let e=this._newPhysicalItems;this._newPhysicalItems=this._physicalItems,this._newPhysicalItems.clear(),this._physicalItems=e,this._stable=!0}_getItems(){let e=this._newPhysicalItems,t,n;if(this._stable=!0,this.pin!==null){let{index:e}=this.pin;this._anchorIdx=e,this._anchorPos=this._getPosition(e)}if(t=this._scrollPosition-this._overhang,n=this._scrollPosition+this._viewDim1+this._overhang,n<0||t>this._scrollSize)return void this._clearItems();this._anchorIdx!==null&&this._anchorPos!==null||(this._anchorIdx=this._getAnchor(t,n),this._anchorPos=this._getPosition(this._anchorIdx));let r=this._getSize(this._anchorIdx);r===void 0&&(this._stable=!1,r=this._getAverageSize());let i=this._metricsCache.getMarginSize(this._anchorIdx)??this._metricsCache.averageMarginSize,a=this._metricsCache.getMarginSize(this._anchorIdx+1)??this._metricsCache.averageMarginSize;this._anchorIdx===0&&(this._anchorPos=i),this._anchorIdx===this.items.length-1&&(this._anchorPos=this._scrollSize-a-r);let o=0;for(this._anchorPos+r+a<t&&(o=t-(this._anchorPos+r+a)),this._anchorPos-i>n&&(o=n-(this._anchorPos-i)),o&&(this._scrollPosition-=o,t-=o,n-=o,this._scrollError+=o),e.set(this._anchorIdx,{pos:this._anchorPos,size:r}),this._first=this._last=this._anchorIdx,this._physicalMin=this._anchorPos-i,this._physicalMax=this._anchorPos+r+a;this._physicalMin>t&&this._first>0;){let t=this._getSize(--this._first);t===void 0&&(this._stable=!1,t=this._getAverageSize());let n=this._metricsCache.getMarginSize(this._first);n===void 0&&(this._stable=!1,n=this._metricsCache.averageMarginSize),this._physicalMin-=t;let r=this._physicalMin;if(e.set(this._first,{pos:r,size:t}),this._physicalMin-=n,!1===this._stable&&!1===this._estimate)break}for(;this._physicalMax<n&&this._last<this.items.length-1;){let t=this._getSize(++this._last);t===void 0&&(this._stable=!1,t=this._getAverageSize());let n=this._metricsCache.getMarginSize(this._last);n===void 0&&(this._stable=!1,n=this._metricsCache.averageMarginSize);let r=this._physicalMax;if(e.set(this._last,{pos:r,size:t}),this._physicalMax+=t+n,!this._stable&&!this._estimate)break}let s=this._calculateError();s&&(this._physicalMin-=s,this._physicalMax-=s,this._anchorPos-=s,this._scrollPosition-=s,e.forEach(e=>e.pos-=s),this._scrollError+=s),this._stable&&(this._newPhysicalItems=this._physicalItems,this._newPhysicalItems.clear(),this._physicalItems=e)}_calculateError(){return this._first===0?this._physicalMin:this._physicalMin<=0?this._physicalMin-this._first*this._delta:this._last===this.items.length-1?this._physicalMax-this._scrollSize:this._physicalMax>=this._scrollSize?this._physicalMax-this._scrollSize+(this.items.length-1-this._last)*this._delta:0}_reflow(){let{_first:e,_last:t}=this;super._reflow(),(this._first===-1&&this._last==-1||this._first===e&&this._last===t)&&this._resetReflowState()}_resetReflowState(){this._anchorIdx=null,this._anchorPos=null,this._stable=!0}_updateScrollSize(){let{averageMarginSize:e}=this._metricsCache;this._scrollSize=Math.max(1,this.items.length*(e+this._getAverageSize())+e)}get _delta(){let{averageMarginSize:e}=this._metricsCache;return this._getAverageSize()+e}_getItemPosition(e){return{[this._positionDim]:this._getPosition(e),[this._secondaryPositionDim]:0,[a(this.direction)]:-(this._metricsCache.getLeadingMarginValue(e,this.direction)??this._metricsCache.averageMarginSize)}}_getItemSize(e){return{[this._sizeDim]:this._getSize(e)||this._getAverageSize(),[this._secondarySizeDim]:this._itemSize[this._secondarySizeDim]}}_viewDim2Changed(){this._metricsCache.clear(),this._scheduleReflow()}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"flow-Dn9AZktE.cjs","names":[],"sources":["../node_modules/@lit-labs/virtualizer/layouts/shared/SizeCache.js","../node_modules/@lit-labs/virtualizer/layouts/shared/BaseLayout.js","../node_modules/@lit-labs/virtualizer/layouts/flow.js"],"sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nexport class SizeCache {\n constructor(config) {\n this._map = new Map();\n this._roundAverageSize = false;\n this.totalSize = 0;\n if (config?.roundAverageSize === true) {\n this._roundAverageSize = true;\n }\n }\n set(index, value) {\n const prev = this._map.get(index) || 0;\n this._map.set(index, value);\n this.totalSize += value - prev;\n }\n get averageSize() {\n if (this._map.size > 0) {\n const average = this.totalSize / this._map.size;\n return this._roundAverageSize ? Math.round(average) : average;\n }\n return 0;\n }\n getSize(index) {\n return this._map.get(index);\n }\n clear() {\n this._map.clear();\n this.totalSize = 0;\n }\n}\n//# sourceMappingURL=SizeCache.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nexport function dim1(direction) {\n return direction === 'horizontal' ? 'width' : 'height';\n}\nexport function dim2(direction) {\n return direction === 'horizontal' ? 'height' : 'width';\n}\nexport function pos1(direction) {\n return direction === 'horizontal' ? 'left' : 'top';\n}\nexport function pos2(direction) {\n return direction === 'horizontal' ? 'top' : 'left';\n}\nexport class BaseLayout {\n _getDefaultConfig() {\n return {\n direction: 'vertical',\n };\n }\n constructor(hostSink, config) {\n /**\n * The last set viewport scroll position.\n */\n this._latestCoords = { left: 0, top: 0 };\n /**\n * Scrolling direction.\n */\n this._direction = null;\n /**\n * Dimensions of the viewport.\n */\n this._viewportSize = { width: 0, height: 0 };\n this.totalScrollSize = { width: 0, height: 0 };\n this.offsetWithinScroller = { left: 0, top: 0 };\n /**\n * Flag for debouncing asynchronous reflow requests.\n */\n this._pendingReflow = false;\n this._pendingLayoutUpdate = false;\n this._pin = null;\n /**\n * The index of the first item intersecting the viewport.\n */\n this._firstVisible = 0;\n /**\n * The index of the last item intersecting the viewport.\n */\n this._lastVisible = 0;\n /**\n * Pixel offset in the scroll direction of the first child.\n */\n this._physicalMin = 0;\n /**\n * Pixel offset in the scroll direction of the last child.\n */\n this._physicalMax = 0;\n /**\n * Index of the first child.\n */\n this._first = -1;\n /**\n * Index of the last child.\n */\n this._last = -1;\n /**\n * Length in the scrolling direction.\n */\n this._sizeDim = 'height';\n /**\n * Length in the non-scrolling direction.\n */\n this._secondarySizeDim = 'width';\n /**\n * Position in the scrolling direction.\n */\n this._positionDim = 'top';\n /**\n * Position in the non-scrolling direction.\n */\n this._secondaryPositionDim = 'left';\n /**\n * Current scroll offset in pixels.\n */\n this._scrollPosition = 0;\n /**\n * Difference between current scroll offset and scroll offset calculated due\n * to a reflow.\n */\n this._scrollError = 0;\n /**\n * Total number of items that could possibly be displayed. Used to help\n * calculate the scroll size.\n */\n this._items = [];\n /**\n * The total (estimated) length of all items in the scrolling direction.\n */\n this._scrollSize = 1;\n /**\n * Number of pixels beyond the viewport to still include\n * in the active range of items.\n */\n // TODO (graynorton): Probably want to make this something we calculate based\n // on viewport size, item size, other factors, possibly still with a dial of some kind\n this._overhang = 1000;\n this._hostSink = hostSink;\n // Delay setting config so that subclasses do setup work first\n Promise.resolve().then(() => (this.config = config || this._getDefaultConfig()));\n }\n set config(config) {\n Object.assign(this, Object.assign({}, this._getDefaultConfig(), config));\n }\n get config() {\n return {\n direction: this.direction,\n };\n }\n /**\n * Maximum index of children + 1, to help estimate total height of the scroll\n * space.\n */\n get items() {\n return this._items;\n }\n set items(items) {\n this._setItems(items);\n }\n _setItems(items) {\n if (items !== this._items) {\n this._items = items;\n this._scheduleReflow();\n }\n }\n /**\n * Primary scrolling direction.\n */\n get direction() {\n return this._direction;\n }\n set direction(dir) {\n // Force it to be either horizontal or vertical.\n dir = dir === 'horizontal' ? dir : 'vertical';\n if (dir !== this._direction) {\n this._direction = dir;\n this._sizeDim = dir === 'horizontal' ? 'width' : 'height';\n this._secondarySizeDim = dir === 'horizontal' ? 'height' : 'width';\n this._positionDim = dir === 'horizontal' ? 'left' : 'top';\n this._secondaryPositionDim = dir === 'horizontal' ? 'top' : 'left';\n this._triggerReflow();\n }\n }\n /**\n * Height and width of the viewport.\n */\n get viewportSize() {\n return this._viewportSize;\n }\n set viewportSize(dims) {\n const { _viewDim1, _viewDim2 } = this;\n Object.assign(this._viewportSize, dims);\n if (_viewDim2 !== this._viewDim2) {\n // this._viewDim2Changed();\n this._scheduleLayoutUpdate();\n }\n else if (_viewDim1 !== this._viewDim1) {\n this._checkThresholds();\n }\n }\n /**\n * Scroll offset of the viewport.\n */\n get viewportScroll() {\n return this._latestCoords;\n }\n set viewportScroll(coords) {\n Object.assign(this._latestCoords, coords);\n const oldPos = this._scrollPosition;\n this._scrollPosition = this._latestCoords[this._positionDim];\n const change = Math.abs(oldPos - this._scrollPosition);\n if (change >= 1) {\n this._checkThresholds();\n }\n }\n /**\n * Perform a reflow if one has been scheduled.\n */\n reflowIfNeeded(force = false) {\n if (force || this._pendingReflow) {\n this._pendingReflow = false;\n this._reflow();\n }\n }\n set pin(options) {\n this._pin = options;\n this._triggerReflow();\n }\n get pin() {\n if (this._pin !== null) {\n const { index, block } = this._pin;\n return {\n index: Math.max(0, Math.min(index, this.items.length - 1)),\n block,\n };\n }\n return null;\n }\n _clampScrollPosition(val) {\n return Math.max(-this.offsetWithinScroller[this._positionDim], Math.min(val, this.totalScrollSize[dim1(this.direction)] - this._viewDim1));\n }\n unpin() {\n if (this._pin !== null) {\n this._sendUnpinnedMessage();\n this._pin = null;\n }\n }\n _updateLayout() {\n // Override\n }\n // protected _viewDim2Changed(): void {\n // this._scheduleLayoutUpdate();\n // }\n /**\n * The height or width of the viewport, whichever corresponds to the scrolling direction.\n */\n get _viewDim1() {\n return this._viewportSize[this._sizeDim];\n }\n /**\n * The height or width of the viewport, whichever does NOT correspond to the scrolling direction.\n */\n get _viewDim2() {\n return this._viewportSize[this._secondarySizeDim];\n }\n _scheduleReflow() {\n this._pendingReflow = true;\n }\n _scheduleLayoutUpdate() {\n this._pendingLayoutUpdate = true;\n this._scheduleReflow();\n }\n // For triggering a reflow based on incoming changes to\n // the layout config.\n _triggerReflow() {\n this._scheduleLayoutUpdate();\n // TODO graynorton@: reflowIfNeeded() isn't really supposed\n // to be called internally. Address in larger cleanup\n // of virtualizer / layout interaction pattern.\n // this.reflowIfNeeded(true);\n Promise.resolve().then(() => this.reflowIfNeeded());\n }\n _reflow() {\n if (this._pendingLayoutUpdate) {\n this._updateLayout();\n this._pendingLayoutUpdate = false;\n }\n this._updateScrollSize();\n this._setPositionFromPin();\n this._getActiveItems();\n this._updateVisibleIndices();\n this._sendStateChangedMessage();\n }\n /**\n * If we are supposed to be pinned to a particular\n * item or set of coordinates, we set `_scrollPosition`\n * accordingly and adjust `_scrollError` as needed\n * so that the virtualizer can keep the scroll\n * position in the DOM in sync\n */\n _setPositionFromPin() {\n if (this.pin !== null) {\n const lastScrollPosition = this._scrollPosition;\n const { index, block } = this.pin;\n this._scrollPosition =\n this._calculateScrollIntoViewPosition({\n index,\n block: block || 'start',\n }) - this.offsetWithinScroller[this._positionDim];\n this._scrollError = lastScrollPosition - this._scrollPosition;\n }\n }\n /**\n * Calculate the coordinates to scroll to, given\n * a request to scroll to the element at a specific\n * index.\n *\n * Supports the same positioning options (`start`,\n * `center`, `end`, `nearest`) as the standard\n * `Element.scrollIntoView()` method, but currently\n * only considers the provided value in the `block`\n * dimension, since we don't yet have any layouts\n * that support virtualization in two dimensions.\n */\n _calculateScrollIntoViewPosition(options) {\n const { block } = options;\n const index = Math.min(this.items.length, Math.max(0, options.index));\n const itemStartPosition = this._getItemPosition(index)[this._positionDim];\n let scrollPosition = itemStartPosition;\n if (block !== 'start') {\n const itemSize = this._getItemSize(index)[this._sizeDim];\n if (block === 'center') {\n scrollPosition =\n itemStartPosition - 0.5 * this._viewDim1 + 0.5 * itemSize;\n }\n else {\n const itemEndPosition = itemStartPosition - this._viewDim1 + itemSize;\n if (block === 'end') {\n scrollPosition = itemEndPosition;\n }\n else {\n // block === 'nearest'\n const currentScrollPosition = this._scrollPosition;\n scrollPosition =\n Math.abs(currentScrollPosition - itemStartPosition) <\n Math.abs(currentScrollPosition - itemEndPosition)\n ? itemStartPosition\n : itemEndPosition;\n }\n }\n }\n scrollPosition += this.offsetWithinScroller[this._positionDim];\n return this._clampScrollPosition(scrollPosition);\n }\n getScrollIntoViewCoordinates(options) {\n return {\n [this._positionDim]: this._calculateScrollIntoViewPosition(options),\n };\n }\n _sendUnpinnedMessage() {\n this._hostSink({\n type: 'unpinned',\n });\n }\n _sendVisibilityChangedMessage() {\n this._hostSink({\n type: 'visibilityChanged',\n firstVisible: this._firstVisible,\n lastVisible: this._lastVisible,\n });\n }\n _sendStateChangedMessage() {\n const childPositions = new Map();\n if (this._first !== -1 && this._last !== -1) {\n for (let idx = this._first; idx <= this._last; idx++) {\n childPositions.set(idx, this._getItemPosition(idx));\n }\n }\n const message = {\n type: 'stateChanged',\n scrollSize: {\n [this._sizeDim]: this._scrollSize,\n [this._secondarySizeDim]: null,\n },\n range: {\n first: this._first,\n last: this._last,\n firstVisible: this._firstVisible,\n lastVisible: this._lastVisible,\n },\n childPositions,\n };\n if (this._scrollError) {\n message.scrollError = {\n [this._positionDim]: this._scrollError,\n [this._secondaryPositionDim]: 0,\n };\n this._scrollError = 0;\n }\n this._hostSink(message);\n }\n /**\n * Number of items to display.\n */\n get _num() {\n if (this._first === -1 || this._last === -1) {\n return 0;\n }\n return this._last - this._first + 1;\n }\n _checkThresholds() {\n if ((this._viewDim1 === 0 && this._num > 0) || this._pin !== null) {\n this._scheduleReflow();\n }\n else {\n const min = Math.max(0, this._scrollPosition - this._overhang);\n const max = Math.min(this._scrollSize, this._scrollPosition + this._viewDim1 + this._overhang);\n if (this._physicalMin > min || this._physicalMax < max) {\n this._scheduleReflow();\n }\n else {\n this._updateVisibleIndices({ emit: true });\n }\n }\n }\n /**\n * Find the indices of the first and last items to intersect the viewport.\n * Emit a visibleindiceschange event when either index changes.\n */\n _updateVisibleIndices(options) {\n if (this._first === -1 || this._last === -1)\n return;\n let firstVisible = this._first;\n while (firstVisible < this._last &&\n Math.round(this._getItemPosition(firstVisible)[this._positionDim] +\n this._getItemSize(firstVisible)[this._sizeDim]) <= Math.round(this._scrollPosition)) {\n firstVisible++;\n }\n let lastVisible = this._last;\n while (lastVisible > this._first &&\n Math.round(this._getItemPosition(lastVisible)[this._positionDim]) >=\n Math.round(this._scrollPosition + this._viewDim1)) {\n lastVisible--;\n }\n if (firstVisible !== this._firstVisible ||\n lastVisible !== this._lastVisible) {\n this._firstVisible = firstVisible;\n this._lastVisible = lastVisible;\n if (options && options.emit) {\n this._sendVisibilityChangedMessage();\n }\n }\n }\n}\n//# sourceMappingURL=BaseLayout.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { SizeCache } from './shared/SizeCache.js';\nimport { BaseLayout, dim1 } from './shared/BaseLayout.js';\nexport const flow = (config) => Object.assign({\n type: FlowLayout,\n}, config);\nfunction leadingMargin(direction) {\n return direction === 'horizontal' ? 'marginLeft' : 'marginTop';\n}\nfunction trailingMargin(direction) {\n return direction === 'horizontal' ? 'marginRight' : 'marginBottom';\n}\nfunction offset(direction) {\n return direction === 'horizontal' ? 'xOffset' : 'yOffset';\n}\nfunction collapseMargins(a, b) {\n const m = [a, b].sort();\n return m[1] <= 0 ? Math.min(...m) : m[0] >= 0 ? Math.max(...m) : m[0] + m[1];\n}\nclass MetricsCache {\n constructor() {\n this._childSizeCache = new SizeCache();\n this._marginSizeCache = new SizeCache();\n this._metricsCache = new Map();\n }\n update(metrics, direction) {\n const marginsToUpdate = new Set();\n Object.keys(metrics).forEach((key) => {\n const k = Number(key);\n this._metricsCache.set(k, metrics[k]);\n this._childSizeCache.set(k, metrics[k][dim1(direction)]);\n marginsToUpdate.add(k);\n marginsToUpdate.add(k + 1);\n });\n for (const k of marginsToUpdate) {\n const a = this._metricsCache.get(k)?.[leadingMargin(direction)] || 0;\n const b = this._metricsCache.get(k - 1)?.[trailingMargin(direction)] || 0;\n this._marginSizeCache.set(k, collapseMargins(a, b));\n }\n }\n get averageChildSize() {\n return this._childSizeCache.averageSize;\n }\n get totalChildSize() {\n return this._childSizeCache.totalSize;\n }\n get averageMarginSize() {\n return this._marginSizeCache.averageSize;\n }\n get totalMarginSize() {\n return this._marginSizeCache.totalSize;\n }\n getLeadingMarginValue(index, direction) {\n return this._metricsCache.get(index)?.[leadingMargin(direction)] || 0;\n }\n getChildSize(index) {\n return this._childSizeCache.getSize(index);\n }\n getMarginSize(index) {\n return this._marginSizeCache.getSize(index);\n }\n clear() {\n this._childSizeCache.clear();\n this._marginSizeCache.clear();\n this._metricsCache.clear();\n }\n}\nexport class FlowLayout extends BaseLayout {\n constructor() {\n super(...arguments);\n /**\n * Initial estimate of item size\n */\n this._itemSize = { width: 100, height: 100 };\n /**\n * Indices of children mapped to their (position and length) in the scrolling\n * direction. Used to keep track of children that are in range.\n */\n this._physicalItems = new Map();\n /**\n * Used in tandem with _physicalItems to track children in range across\n * reflows.\n */\n this._newPhysicalItems = new Map();\n /**\n * Width and height of children by their index.\n */\n this._metricsCache = new MetricsCache();\n /**\n * anchorIdx is the anchor around which we reflow. It is designed to allow\n * jumping to any point of the scroll size. We choose it once and stick with\n * it until stable. _first and _last are deduced around it.\n */\n this._anchorIdx = null;\n /**\n * Position in the scrolling direction of the anchor child.\n */\n this._anchorPos = null;\n /**\n * Whether all children in range were in range during the previous reflow.\n */\n this._stable = true;\n this._measureChildren = true;\n this._estimate = true;\n }\n // protected _defaultConfig: BaseLayoutConfig = Object.assign({}, super._defaultConfig, {\n // })\n // constructor(config: Layout1dConfig) {\n // super(config);\n // }\n get measureChildren() {\n return this._measureChildren;\n }\n /**\n * Determine the average size of all children represented in the sizes\n * argument.\n */\n updateItemSizes(sizes) {\n this._metricsCache.update(sizes, this.direction);\n // if (this._nMeasured) {\n // this._updateItemSize();\n this._scheduleReflow();\n // }\n }\n /**\n * Set the average item size based on the total length and number of children\n * in range.\n */\n // _updateItemSize() {\n // // Keep integer values.\n // this._itemSize[this._sizeDim] = this._metricsCache.averageChildSize;\n // }\n _getPhysicalItem(idx) {\n return this._newPhysicalItems.get(idx) ?? this._physicalItems.get(idx);\n }\n _getSize(idx) {\n const item = this._getPhysicalItem(idx);\n return item && this._metricsCache.getChildSize(idx);\n }\n _getAverageSize() {\n return this._metricsCache.averageChildSize || this._itemSize[this._sizeDim];\n }\n _estimatePosition(idx) {\n const c = this._metricsCache;\n if (this._first === -1 || this._last === -1) {\n return (c.averageMarginSize +\n idx * (c.averageMarginSize + this._getAverageSize()));\n }\n else {\n if (idx < this._first) {\n const delta = this._first - idx;\n const refItem = this._getPhysicalItem(this._first);\n return (refItem.pos -\n (c.getMarginSize(this._first - 1) || c.averageMarginSize) -\n (delta * c.averageChildSize + (delta - 1) * c.averageMarginSize));\n }\n else {\n const delta = idx - this._last;\n const refItem = this._getPhysicalItem(this._last);\n return (refItem.pos +\n (c.getChildSize(this._last) || c.averageChildSize) +\n (c.getMarginSize(this._last) || c.averageMarginSize) +\n delta * (c.averageChildSize + c.averageMarginSize));\n }\n }\n }\n /**\n * Returns the position in the scrolling direction of the item at idx.\n * Estimates it if the item at idx is not in the DOM.\n */\n _getPosition(idx) {\n const item = this._getPhysicalItem(idx);\n const { averageMarginSize } = this._metricsCache;\n return idx === 0\n ? this._metricsCache.getMarginSize(0) ?? averageMarginSize\n : item\n ? item.pos\n : this._estimatePosition(idx);\n }\n _calculateAnchor(lower, upper) {\n if (lower <= 0) {\n return 0;\n }\n if (upper > this._scrollSize - this._viewDim1) {\n return this.items.length - 1;\n }\n return Math.max(0, Math.min(this.items.length - 1, Math.floor((lower + upper) / 2 / this._delta)));\n }\n _getAnchor(lower, upper) {\n if (this._physicalItems.size === 0) {\n return this._calculateAnchor(lower, upper);\n }\n if (this._first < 0) {\n return this._calculateAnchor(lower, upper);\n }\n if (this._last < 0) {\n return this._calculateAnchor(lower, upper);\n }\n const firstItem = this._getPhysicalItem(this._first), lastItem = this._getPhysicalItem(this._last), firstMin = firstItem.pos, lastMin = lastItem.pos, lastMax = lastMin + this._metricsCache.getChildSize(this._last);\n if (lastMax < lower) {\n // Window is entirely past physical items, calculate new anchor\n return this._calculateAnchor(lower, upper);\n }\n if (firstMin > upper) {\n // Window is entirely before physical items, calculate new anchor\n return this._calculateAnchor(lower, upper);\n }\n // Window contains a physical item\n // Find one, starting with the one that was previously first visible\n let candidateIdx = this._firstVisible - 1;\n let cMax = -Infinity;\n while (cMax < lower) {\n const candidate = this._getPhysicalItem(++candidateIdx);\n cMax = candidate.pos + this._metricsCache.getChildSize(candidateIdx);\n }\n return candidateIdx;\n }\n /**\n * Updates _first and _last based on items that should be in the current\n * viewed range.\n */\n _getActiveItems() {\n if (this._viewDim1 === 0 || this.items.length === 0) {\n this._clearItems();\n }\n else {\n this._getItems();\n }\n }\n /**\n * Sets the range to empty.\n */\n _clearItems() {\n this._first = -1;\n this._last = -1;\n this._physicalMin = 0;\n this._physicalMax = 0;\n const items = this._newPhysicalItems;\n this._newPhysicalItems = this._physicalItems;\n this._newPhysicalItems.clear();\n this._physicalItems = items;\n this._stable = true;\n }\n /*\n * Updates _first and _last based on items that should be in the given range.\n */\n _getItems() {\n const items = this._newPhysicalItems;\n this._stable = true;\n let lower, upper;\n // The anchorIdx is the anchor around which we reflow. It is designed to\n // allow jumping to any point of the scroll size. We choose it once and\n // stick with it until stable. first and last are deduced around it.\n // If we have a pinned item, we anchor on it\n if (this.pin !== null) {\n const { index } = this.pin;\n this._anchorIdx = index;\n this._anchorPos = this._getPosition(index);\n }\n // Determine the lower and upper bounds of the region to be\n // rendered, relative to the viewport\n lower = this._scrollPosition - this._overhang; //leadingOverhang;\n upper = this._scrollPosition + this._viewDim1 + this._overhang; // trailingOverhang;\n if (upper < 0 || lower > this._scrollSize) {\n this._clearItems();\n return;\n }\n // If we are scrolling to a specific index or if we are doing another\n // pass to stabilize a previously started reflow, we will already\n // have an anchor. If not, establish an anchor now.\n if (this._anchorIdx === null || this._anchorPos === null) {\n this._anchorIdx = this._getAnchor(lower, upper);\n this._anchorPos = this._getPosition(this._anchorIdx);\n }\n let anchorSize = this._getSize(this._anchorIdx);\n if (anchorSize === undefined) {\n this._stable = false;\n anchorSize = this._getAverageSize();\n }\n const anchorLeadingMargin = this._metricsCache.getMarginSize(this._anchorIdx) ??\n this._metricsCache.averageMarginSize;\n const anchorTrailingMargin = this._metricsCache.getMarginSize(this._anchorIdx + 1) ??\n this._metricsCache.averageMarginSize;\n if (this._anchorIdx === 0) {\n this._anchorPos = anchorLeadingMargin;\n }\n if (this._anchorIdx === this.items.length - 1) {\n this._anchorPos = this._scrollSize - anchorTrailingMargin - anchorSize;\n }\n // Anchor might be outside bounds, so prefer correcting the error and keep\n // that anchorIdx.\n let anchorErr = 0;\n if (this._anchorPos + anchorSize + anchorTrailingMargin < lower) {\n anchorErr = lower - (this._anchorPos + anchorSize + anchorTrailingMargin);\n }\n if (this._anchorPos - anchorLeadingMargin > upper) {\n anchorErr = upper - (this._anchorPos - anchorLeadingMargin);\n }\n if (anchorErr) {\n this._scrollPosition -= anchorErr;\n lower -= anchorErr;\n upper -= anchorErr;\n this._scrollError += anchorErr;\n }\n items.set(this._anchorIdx, { pos: this._anchorPos, size: anchorSize });\n this._first = this._last = this._anchorIdx;\n this._physicalMin = this._anchorPos - anchorLeadingMargin;\n this._physicalMax = this._anchorPos + anchorSize + anchorTrailingMargin;\n while (this._physicalMin > lower && this._first > 0) {\n let size = this._getSize(--this._first);\n if (size === undefined) {\n this._stable = false;\n size = this._getAverageSize();\n }\n let margin = this._metricsCache.getMarginSize(this._first);\n if (margin === undefined) {\n this._stable = false;\n margin = this._metricsCache.averageMarginSize;\n }\n this._physicalMin -= size;\n const pos = this._physicalMin;\n items.set(this._first, { pos, size });\n this._physicalMin -= margin;\n if (this._stable === false && this._estimate === false) {\n break;\n }\n }\n while (this._physicalMax < upper && this._last < this.items.length - 1) {\n let size = this._getSize(++this._last);\n if (size === undefined) {\n this._stable = false;\n size = this._getAverageSize();\n }\n let margin = this._metricsCache.getMarginSize(this._last);\n if (margin === undefined) {\n this._stable = false;\n margin = this._metricsCache.averageMarginSize;\n }\n const pos = this._physicalMax;\n items.set(this._last, { pos, size });\n this._physicalMax += size + margin;\n if (!this._stable && !this._estimate) {\n break;\n }\n }\n // This handles the cases where we were relying on estimated sizes.\n const extentErr = this._calculateError();\n if (extentErr) {\n this._physicalMin -= extentErr;\n this._physicalMax -= extentErr;\n this._anchorPos -= extentErr;\n this._scrollPosition -= extentErr;\n items.forEach((item) => (item.pos -= extentErr));\n this._scrollError += extentErr;\n }\n if (this._stable) {\n this._newPhysicalItems = this._physicalItems;\n this._newPhysicalItems.clear();\n this._physicalItems = items;\n }\n }\n _calculateError() {\n if (this._first === 0) {\n return this._physicalMin;\n }\n else if (this._physicalMin <= 0) {\n return this._physicalMin - this._first * this._delta;\n }\n else if (this._last === this.items.length - 1) {\n return this._physicalMax - this._scrollSize;\n }\n else if (this._physicalMax >= this._scrollSize) {\n return (this._physicalMax -\n this._scrollSize +\n (this.items.length - 1 - this._last) * this._delta);\n }\n return 0;\n }\n _reflow() {\n const { _first, _last } = this;\n super._reflow();\n if ((this._first === -1 && this._last == -1) ||\n (this._first === _first && this._last === _last)) {\n this._resetReflowState();\n }\n }\n _resetReflowState() {\n this._anchorIdx = null;\n this._anchorPos = null;\n this._stable = true;\n }\n _updateScrollSize() {\n const { averageMarginSize } = this._metricsCache;\n this._scrollSize = Math.max(1, this.items.length * (averageMarginSize + this._getAverageSize()) +\n averageMarginSize);\n }\n /**\n * Returns the average size (precise or estimated) of an item in the scrolling direction,\n * including any surrounding space.\n */\n get _delta() {\n const { averageMarginSize } = this._metricsCache;\n return this._getAverageSize() + averageMarginSize;\n }\n /**\n * Returns the top and left positioning of the item at idx.\n */\n _getItemPosition(idx) {\n return {\n [this._positionDim]: this._getPosition(idx),\n [this._secondaryPositionDim]: 0,\n [offset(this.direction)]: -(this._metricsCache.getLeadingMarginValue(idx, this.direction) ??\n this._metricsCache.averageMarginSize),\n };\n }\n /**\n * Returns the height and width of the item at idx.\n */\n _getItemSize(idx) {\n return {\n [this._sizeDim]: this._getSize(idx) || this._getAverageSize(),\n [this._secondarySizeDim]: this._itemSize[this._secondarySizeDim],\n };\n }\n _viewDim2Changed() {\n this._metricsCache.clear();\n this._scheduleReflow();\n }\n}\n//# sourceMappingURL=flow.js.map"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
|