@aquera/nile-elements 1.9.4 → 1.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -0
- package/dist/index-5fef1a0d.esm.js +1 -0
- package/dist/index-8f38fae3.cjs.js +2 -0
- package/dist/index-8f38fae3.cjs.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1527 -804
- package/dist/nile-chip/nile-chip.css.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.css.cjs.js.map +1 -1
- package/dist/nile-chip/nile-chip.css.esm.js +8 -1
- package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
- package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
- package/dist/nile-code-editor/nile-code-editor.esm.js +3 -3
- package/dist/nile-combobox/index.cjs.js +1 -1
- package/dist/nile-combobox/index.esm.js +1 -1
- package/dist/nile-combobox/nile-combobox.cjs.js +1 -1
- package/dist/nile-combobox/nile-combobox.esm.js +1 -1
- package/dist/nile-command-menu/index.cjs.js +2 -0
- package/dist/nile-command-menu/index.cjs.js.map +1 -0
- package/dist/nile-command-menu/index.esm.js +1 -0
- package/dist/nile-command-menu/nile-command-menu.cjs.js +2 -0
- package/dist/nile-command-menu/nile-command-menu.cjs.js.map +1 -0
- package/dist/nile-command-menu/nile-command-menu.css.cjs.js +2 -0
- package/dist/nile-command-menu/nile-command-menu.css.cjs.js.map +1 -0
- package/dist/nile-command-menu/nile-command-menu.css.esm.js +182 -0
- package/dist/nile-command-menu/nile-command-menu.esm.js +97 -0
- package/dist/nile-command-menu-group/index.cjs.js +2 -0
- package/dist/nile-command-menu-group/index.cjs.js.map +1 -0
- package/dist/nile-command-menu-group/index.esm.js +1 -0
- package/dist/nile-command-menu-group/nile-command-menu-group.cjs.js +2 -0
- package/dist/nile-command-menu-group/nile-command-menu-group.cjs.js.map +1 -0
- package/dist/nile-command-menu-group/nile-command-menu-group.css.cjs.js +2 -0
- package/dist/nile-command-menu-group/nile-command-menu-group.css.cjs.js.map +1 -0
- package/dist/nile-command-menu-group/nile-command-menu-group.css.esm.js +33 -0
- package/dist/nile-command-menu-group/nile-command-menu-group.esm.js +11 -0
- package/dist/nile-command-menu-item/index.cjs.js +2 -0
- package/dist/nile-command-menu-item/index.cjs.js.map +1 -0
- package/dist/nile-command-menu-item/index.esm.js +1 -0
- package/dist/nile-command-menu-item/nile-command-menu-item.cjs.js +2 -0
- package/dist/nile-command-menu-item/nile-command-menu-item.cjs.js.map +1 -0
- package/dist/nile-command-menu-item/nile-command-menu-item.css.cjs.js +2 -0
- package/dist/nile-command-menu-item/nile-command-menu-item.css.cjs.js.map +1 -0
- package/dist/nile-command-menu-item/nile-command-menu-item.css.esm.js +115 -0
- package/dist/nile-command-menu-item/nile-command-menu-item.esm.js +21 -0
- package/dist/nile-detail/index.cjs.js +1 -1
- package/dist/nile-detail/index.esm.js +1 -1
- package/dist/nile-detail/nile-detail.cjs.js +1 -1
- package/dist/nile-detail/nile-detail.esm.js +1 -1
- package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
- package/dist/nile-dialog/nile-dialog.esm.js +1 -1
- package/dist/nile-dot-stepper/index.cjs.js +2 -0
- package/dist/nile-dot-stepper/index.cjs.js.map +1 -0
- package/dist/nile-dot-stepper/index.esm.js +1 -0
- package/dist/nile-dot-stepper/nile-dot-stepper.cjs.js +2 -0
- package/dist/nile-dot-stepper/nile-dot-stepper.cjs.js.map +1 -0
- package/dist/nile-dot-stepper/nile-dot-stepper.css.cjs.js +2 -0
- package/dist/nile-dot-stepper/nile-dot-stepper.css.cjs.js.map +1 -0
- package/dist/nile-dot-stepper/nile-dot-stepper.css.esm.js +77 -0
- package/dist/nile-dot-stepper/nile-dot-stepper.esm.js +24 -0
- package/dist/nile-hero/nile-hero.cjs.js +1 -1
- package/dist/nile-hero/nile-hero.cjs.js.map +1 -1
- package/dist/nile-hero/nile-hero.css.cjs.js +1 -1
- package/dist/nile-hero/nile-hero.css.cjs.js.map +1 -1
- package/dist/nile-hero/nile-hero.css.esm.js +14 -14
- package/dist/nile-hero/nile-hero.esm.js +1 -1
- package/dist/nile-hero-header/nile-hero-header.cjs.js +1 -1
- package/dist/nile-hero-header/nile-hero-header.cjs.js.map +1 -1
- package/dist/nile-hero-header/nile-hero-header.css.cjs.js +1 -1
- package/dist/nile-hero-header/nile-hero-header.css.cjs.js.map +1 -1
- package/dist/nile-hero-header/nile-hero-header.css.esm.js +11 -11
- package/dist/nile-hero-header/nile-hero-header.esm.js +3 -3
- package/dist/nile-rich-text-editor/index.cjs.js +1 -1
- package/dist/nile-rich-text-editor/index.esm.js +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js.map +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +70 -0
- package/dist/nile-rich-text-editor/nile-rich-text-editor.esm.js +1 -1
- package/dist/nile-rich-text-editor/nile-rte-image.cjs.js +3 -0
- package/dist/nile-rich-text-editor/nile-rte-image.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rte-image.esm.js +96 -0
- package/dist/nile-section-message/nile-section-message.css.cjs.js +1 -1
- package/dist/nile-section-message/nile-section-message.css.cjs.js.map +1 -1
- package/dist/nile-section-message/nile-section-message.css.esm.js +7 -8
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.js +4 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/nile-chip/nile-chip.css.js +8 -1
- package/dist/src/nile-chip/nile-chip.css.js.map +1 -1
- package/dist/src/nile-code-editor/nile-code-editor.js +3 -3
- package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
- package/dist/src/nile-command-menu/index.d.ts +1 -0
- package/dist/src/nile-command-menu/index.js +2 -0
- package/dist/src/nile-command-menu/index.js.map +1 -0
- package/dist/src/nile-command-menu/nile-command-menu.css.d.ts +12 -0
- package/dist/src/nile-command-menu/nile-command-menu.css.js +194 -0
- package/dist/src/nile-command-menu/nile-command-menu.css.js.map +1 -0
- package/dist/src/nile-command-menu/nile-command-menu.d.ts +137 -0
- package/dist/src/nile-command-menu/nile-command-menu.js +557 -0
- package/dist/src/nile-command-menu/nile-command-menu.js.map +1 -0
- package/dist/src/nile-command-menu/nile-command-menu.test.d.ts +3 -0
- package/dist/src/nile-command-menu/nile-command-menu.test.js +268 -0
- package/dist/src/nile-command-menu/nile-command-menu.test.js.map +1 -0
- package/dist/src/nile-command-menu-group/index.d.ts +1 -0
- package/dist/src/nile-command-menu-group/index.js +2 -0
- package/dist/src/nile-command-menu-group/index.js.map +1 -0
- package/dist/src/nile-command-menu-group/nile-command-menu-group.css.d.ts +12 -0
- package/dist/src/nile-command-menu-group/nile-command-menu-group.css.js +45 -0
- package/dist/src/nile-command-menu-group/nile-command-menu-group.css.js.map +1 -0
- package/dist/src/nile-command-menu-group/nile-command-menu-group.d.ts +38 -0
- package/dist/src/nile-command-menu-group/nile-command-menu-group.js +68 -0
- package/dist/src/nile-command-menu-group/nile-command-menu-group.js.map +1 -0
- package/dist/src/nile-command-menu-group/nile-command-menu-group.test.d.ts +2 -0
- package/dist/src/nile-command-menu-group/nile-command-menu-group.test.js +22 -0
- package/dist/src/nile-command-menu-group/nile-command-menu-group.test.js.map +1 -0
- package/dist/src/nile-command-menu-item/index.d.ts +1 -0
- package/dist/src/nile-command-menu-item/index.js +2 -0
- package/dist/src/nile-command-menu-item/index.js.map +1 -0
- package/dist/src/nile-command-menu-item/nile-command-menu-item.css.d.ts +12 -0
- package/dist/src/nile-command-menu-item/nile-command-menu-item.css.js +127 -0
- package/dist/src/nile-command-menu-item/nile-command-menu-item.css.js.map +1 -0
- package/dist/src/nile-command-menu-item/nile-command-menu-item.d.ts +73 -0
- package/dist/src/nile-command-menu-item/nile-command-menu-item.js +174 -0
- package/dist/src/nile-command-menu-item/nile-command-menu-item.js.map +1 -0
- package/dist/src/nile-command-menu-item/nile-command-menu-item.test.d.ts +1 -0
- package/dist/src/nile-command-menu-item/nile-command-menu-item.test.js +35 -0
- package/dist/src/nile-command-menu-item/nile-command-menu-item.test.js.map +1 -0
- package/dist/src/nile-dialog/nile-dialog.js +1 -1
- package/dist/src/nile-dialog/nile-dialog.js.map +1 -1
- package/dist/src/nile-dot-stepper/index.d.ts +1 -0
- package/dist/src/nile-dot-stepper/index.js +2 -0
- package/dist/src/nile-dot-stepper/index.js.map +1 -0
- package/dist/src/nile-dot-stepper/nile-dot-stepper.css.d.ts +12 -0
- package/dist/src/nile-dot-stepper/nile-dot-stepper.css.js +89 -0
- package/dist/src/nile-dot-stepper/nile-dot-stepper.css.js.map +1 -0
- package/dist/src/nile-dot-stepper/nile-dot-stepper.d.ts +48 -0
- package/dist/src/nile-dot-stepper/nile-dot-stepper.js +153 -0
- package/dist/src/nile-dot-stepper/nile-dot-stepper.js.map +1 -0
- package/dist/src/nile-dot-stepper/nile-dot-stepper.test.d.ts +1 -0
- package/dist/src/nile-dot-stepper/nile-dot-stepper.test.js +319 -0
- package/dist/src/nile-dot-stepper/nile-dot-stepper.test.js.map +1 -0
- package/dist/src/nile-hero/nile-hero.css.js +12 -12
- package/dist/src/nile-hero/nile-hero.css.js.map +1 -1
- package/dist/src/nile-hero/nile-hero.js +1 -1
- package/dist/src/nile-hero/nile-hero.js.map +1 -1
- package/dist/src/nile-hero-header/nile-hero-header.css.js +9 -9
- package/dist/src/nile-hero-header/nile-hero-header.css.js.map +1 -1
- package/dist/src/nile-hero-header/nile-hero-header.js +1 -1
- package/dist/src/nile-hero-header/nile-hero-header.js.map +1 -1
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +70 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -1
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.d.ts +3 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js +81 -3
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js.map +1 -1
- package/dist/src/nile-rich-text-editor/nile-rte-image.d.ts +87 -0
- package/dist/src/nile-rich-text-editor/nile-rte-image.js +1073 -0
- package/dist/src/nile-rich-text-editor/nile-rte-image.js.map +1 -0
- package/dist/src/nile-section-message/nile-section-message.css.js +7 -8
- package/dist/src/nile-section-message/nile-section-message.css.js.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/src/index.ts +4 -0
- package/src/nile-chip/nile-chip.css.ts +8 -1
- package/src/nile-code-editor/nile-code-editor.ts +3 -3
- package/src/nile-command-menu/index.ts +1 -0
- package/src/nile-command-menu/nile-command-menu.css.ts +196 -0
- package/src/nile-command-menu/nile-command-menu.test.ts +289 -0
- package/src/nile-command-menu/nile-command-menu.ts +601 -0
- package/src/nile-command-menu-group/index.ts +1 -0
- package/src/nile-command-menu-group/nile-command-menu-group.css.ts +47 -0
- package/src/nile-command-menu-group/nile-command-menu-group.test.ts +23 -0
- package/src/nile-command-menu-group/nile-command-menu-group.ts +72 -0
- package/src/nile-command-menu-item/index.ts +1 -0
- package/src/nile-command-menu-item/nile-command-menu-item.css.ts +129 -0
- package/src/nile-command-menu-item/nile-command-menu-item.test.ts +36 -0
- package/src/nile-command-menu-item/nile-command-menu-item.ts +172 -0
- package/src/nile-dialog/nile-dialog.ts +1 -1
- package/src/nile-dot-stepper/index.ts +1 -0
- package/src/nile-dot-stepper/nile-dot-stepper.css.ts +90 -0
- package/src/nile-dot-stepper/nile-dot-stepper.test.ts +493 -0
- package/src/nile-dot-stepper/nile-dot-stepper.ts +159 -0
- package/src/nile-hero/nile-hero.css.ts +12 -12
- package/src/nile-hero/nile-hero.ts +1 -1
- package/src/nile-hero-header/nile-hero-header.css.ts +9 -9
- package/src/nile-hero-header/nile-hero-header.ts +1 -1
- package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +70 -0
- package/src/nile-rich-text-editor/nile-rich-text-editor.ts +89 -3
- package/src/nile-rich-text-editor/nile-rte-image.ts +1132 -0
- package/src/nile-section-message/nile-section-message.css.ts +7 -8
- package/stories/dot-stepper.stories.ts +67 -0
- package/vscode-html-custom-data.json +220 -1
- package/dist/index-c0b5232c.cjs.js +0 -2
- package/dist/index-c0b5232c.cjs.js.map +0 -1
- package/dist/index-e43a18eb.esm.js +0 -1
package/README.md
CHANGED
|
@@ -78,6 +78,19 @@ To run a local development server that serves the basic demo located in `demo/in
|
|
|
78
78
|
## Release Notes
|
|
79
79
|
|
|
80
80
|
In this section, you can find the updates for each release of `nile-elements`. It's a good practice to maintain detailed release notes to help users and developers understand what changes have been made from one version to another and how these changes might affect their projects.
|
|
81
|
+
|
|
82
|
+
#### Version 1.9.6 (July 9, 2026)
|
|
83
|
+
- Nile Chip: Resolved the height issues caused because of the nile-input (UIF-1296)
|
|
84
|
+
- Nile Code Editor: Made the ng-icon method as fill (UIF-1294)
|
|
85
|
+
- Nile Hero: Migrated to nextgen and made the icon method as fill (UIF-1295)
|
|
86
|
+
- Nile Rich Text Editor - Added image functionality (UIF-1293)
|
|
87
|
+
|
|
88
|
+
#### Version 1.9.5 (July 6, 2026)
|
|
89
|
+
- Nile Command Menu: Added New Component (UIF-1285)
|
|
90
|
+
- Nile Dot Stepper: Added New Component (UIF-1286)
|
|
91
|
+
- Nile Dialog: Fixed Cross Button Color in NxtGen (UIF-1287)
|
|
92
|
+
- Nile Section Message: Info Button Not Visible in NxtGen (UIF-1287)
|
|
93
|
+
|
|
81
94
|
#### Version 1.9.4 (June 26, 2026)
|
|
82
95
|
- Nile Option Group: Aligned the group header with its options in the NxtGen theme and fixed font-weight and font-size (UIF-1278)
|
|
83
96
|
- Nile Input: Fixed the medium input height in the NxtGen theme(UIF-1278)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function t(t,s,i){let h,n=i.initialDeps??[],e=!0;function r(){const r=t();return r.length!==n.length||r.some(((t,s)=>n[s]!==t))?(n=r,h=s(...r),!(null==i?void 0:i.onChange)||e&&i.skipInitialOnChange||i.onChange(h),e=!1,h):h}return r.updateDeps=t=>{n=t},r}function s(t,s){if(void 0===t)throw new Error("Unexpected undefined"+(s?`: ${s}`:""));return t}const i=(t,s,i)=>{let h;return function(...n){t.clearTimeout(h),h=t.setTimeout((()=>s.apply(this,n)),i)}};let h;const n=()=>{if(void 0!==h)return h;if("undefined"==typeof navigator)return h=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return h=!0;const t=navigator.maxTouchPoints;return h="MacIntel"===navigator.platform&&void 0!==t&&t>0},e=t=>{const{offsetWidth:s,offsetHeight:i}=t;return{width:s,height:i}},r=t=>t,l=t=>{const s=Math.max(t.startIndex-t.overscan,0),i=Math.min(t.endIndex+t.overscan,t.count-1)-s+1,h=new Array(i);for(let t=0;t<i;t++)h[t]=s+t;return h},o=(t,s)=>{const i=t.scrollElement;if(!i)return;const h=t.targetWindow;if(!h)return;const n=t=>{const{width:i,height:h}=t;s({width:Math.round(i),height:Math.round(h)})};if(n(e(i)),!h.ResizeObserver)return()=>{};const r=new h.ResizeObserver((s=>{const h=()=>{const t=s[0];if(null==t?void 0:t.borderBoxSize){const s=t.borderBoxSize[0];if(s)return void n({width:s.inlineSize,height:s.blockSize})}n(e(i))};t.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(h):h()}));return r.observe(i,{box:"border-box"}),()=>{r.unobserve(i)}},u={passive:!0},a="undefined"==typeof window||"onscrollend"in window,c=(t,s)=>((t,s,h)=>{const n=t.scrollElement;if(!n)return;const e=t.targetWindow;if(!e)return;const r=t.options.useScrollendEvent&&a;let l=0;const o=r?null:i(e,(()=>s(l,!1)),t.options.isScrollingResetDelay),c=t=>()=>{l=h(n),null==o||o(),s(l,t)},d=c(!0),f=c(!1);return n.addEventListener("scroll",d,u),r&&n.addEventListener("scrollend",f,u),()=>{n.removeEventListener("scroll",d),r&&n.removeEventListener("scrollend",f)}})(t,s,(s=>{const{horizontal:i,isRtl:h}=t.options;return i?s.scrollLeft*(h?-1:1):s.scrollTop})),d=(t,s,i)=>{if(i.options.useCachedMeasurements){const s=i.indexFromElement(t),h=i.options.getItemKey(s);return i.itemSizeCache.get(h)??i.options.estimateSize(s)}if(null==s?void 0:s.borderBoxSize){const t=s.borderBoxSize[0];if(t){return Math.round(t[i.options.horizontal?"inlineSize":"blockSize"])}}if(!s){const s=i.indexFromElement(t),h=i.options.getItemKey(s),n=i.itemSizeCache.get(h);if(void 0!==n)return n}return t[i.options.horizontal?"offsetWidth":"offsetHeight"]},f=(t,{adjustments:s=0,behavior:i},h)=>{var n,e;null==(e=null==(n=h.scrollElement)?void 0:n.scrollTo)||e.call(n,{[h.options.horizontal?"left":"top"]:t+s,behavior:i})};class v{constructor(i){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var t,s,i;return(null==(i=null==(s=null==(t=this.targetWindow)?void 0:t.performance)?void 0:s.now)?void 0:i.call(s))??Date.now()},this.observer=(()=>{let t=null;const s=()=>t||(this.targetWindow&&this.targetWindow.ResizeObserver?t=new this.targetWindow.ResizeObserver((t=>{t.forEach((t=>{const s=()=>{const s=t.target,i=this.indexFromElement(s);if(s.isConnected)this.shouldMeasureDuringScroll(i)&&this.resizeItem(i,this.options.measureElement(s,t,this));else{this.observer.unobserve(s);for(const[t,i]of this.elementsCache)if(i===s){this.elementsCache.delete(t);break}}};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(s):s()}))})):null);return{disconnect:()=>{var i;null==(i=s())||i.disconnect(),t=null},observe:t=>{var i;return null==(i=s())?void 0:i.observe(t,{box:"border-box"})},unobserve:t=>{var i;return null==(i=s())?void 0:i.unobserve(t)}}})(),this.range=null,this.setOptions=t=>{var s,i;const h={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:r,rangeExtractor:l,onChange:()=>{},measureElement:d,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(const s in t){const i=t[s];void 0!==i&&(h[s]=i)}const n=this.options;let e=null,o=null,u=!1;if(void 0!==n&&n.enabled&&h.enabled&&"end"===h.anchorTo&&null!==this.scrollElement){const t=n.count,r=h.count,l=this.getMeasurements(),a=t>0?(null==(s=l[0])?void 0:s.key)??n.getItemKey(0):null,c=t>0?(null==(i=l[t-1])?void 0:i.key)??n.getItemKey(t-1):null;if(r!==t||t>0&&r>0&&(h.getItemKey(0)!==a||h.getItemKey(r-1)!==c)){u=!0;const s=t>0?this.getVirtualItemForOffset(this.getScrollOffset())??l[0]:null;s&&(e=[s.key,this.getScrollOffset()-s.start]);const i=!0===h.followOnAppend?"auto":h.followOnAppend||null;i&&r>t&&this.isAtEnd(n.scrollEndThreshold)&&(0===t||h.getItemKey(r-1)!==c)&&(o=i)}}this.options=h,u&&(this.pendingMin=0,this.itemSizeCacheVersion++);let a=!1,c=0;if(e&&null!==this.scrollOffset){const[t,s]=e,i=this.getMeasurements(),{count:h,getItemKey:n}=this.options;let r=0;for(;r<h&&n(r)!==t;)r++;if(r<h){const t=i[r];if(t){const i=t.start+s;i!==this.scrollOffset&&(c=i-this.scrollOffset,this.scrollOffset=i,a=!0)}}}(a||o)&&(this.pendingScrollAnchor=[a?e[0]:null,a?e[1]:0,o,c])},this.notify=t=>{var s,i;null==(i=(s=this.options).onChange)||i.call(s,this,t)},this.maybeNotify=t((()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null])),(t=>{this.notify(t)}),{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach((t=>t())),this.unsubs=[],this.observer.disconnect(),null!=this.rafId&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t;const s=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==s){if(this.cleanup(),!s)return void this.maybeNotify();if(this.scrollElement=s,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=(null==(t=this.scrollElement)?void 0:t.window)??null,this.elementsCache.forEach((t=>{this.observer.observe(t)})),this.unsubs.push(this.options.observeElementRect(this,(t=>{this.scrollRect=t,this.maybeNotify()}))),this.unsubs.push(this.options.observeElementOffset(this,((t,s)=>{if(s&&null===this._intendedScrollOffset&&t===this.scrollOffset)return;null!==this._intendedScrollOffset&&Math.abs(t-this._intendedScrollOffset)<1.5&&(t=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;const i=this.getScrollOffset();this.scrollDirection=s?i===t?this.scrollDirection:i<t?"forward":"backward":null,this.scrollOffset=t,this.isScrolling=s,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()}))),"addEventListener"in this.scrollElement){const t=this.scrollElement,s=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,null!==this._iosTouchEndTimerId&&null!=this.targetWindow&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},i=()=>{this._iosTouching=!1,n()&&null!=this.targetWindow&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout((()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()}),150))};t.addEventListener("touchstart",s,u),t.addEventListener("touchend",i,u),this.unsubs.push((()=>{t.removeEventListener("touchstart",s),t.removeEventListener("touchend",i),null!==this._iosTouchEndTimerId&&null!=this.targetWindow&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)}))}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}const i=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,i&&this.scrollElement&&this.options.enabled){const[t,s,h,e]=i;null===t||h||(n()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?0!==e&&(this._iosDeferredAdjustment+=e):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),h&&this.scrollToEnd({behavior:h})}},this._flushIosDeferredIfReady=()=>{if(0===this._iosDeferredAdjustment)return;if(this.isScrolling)return;if(this._iosTouching)return;if(this._iosJustTouchEnded)return;const t=this.getScrollOffset(),s=this.getMaxScrollOffset();if(t<0||t>s)return;const i=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(t,{adjustments:this.scrollAdjustments+=i,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??("function"==typeof this.options.initialOffset?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(t,s)=>{const i=new Map,h=new Map;for(let n=s-1;n>=0;n--){const s=t[n];if(i.has(s.lane))continue;const e=h.get(s.lane);if(null==e||s.end>e.end?h.set(s.lane,s):s.end<e.end&&i.set(s.lane,!0),i.size===this.options.lanes)break}return h.size===this.options.lanes?Array.from(h.values()).sort(((t,s)=>t.end===s.end?t.index-s.index:t.end-s.end))[0]:void 0},this.getMeasurementOptions=t((()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode]),((t,s,i,h,n,e,r)=>(void 0!==this.prevLanes&&this.prevLanes!==e&&(this.lanesChangedFlag=!0),this.prevLanes=e,this.pendingMin=null,{count:t,paddingStart:s,scrollMargin:i,getItemKey:h,enabled:n,lanes:e,laneAssignmentMode:r})),{key:!1}),this.getMeasurements=t((()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion]),(({count:t,paddingStart:s,scrollMargin:i,getItemKey:h,enabled:n,lanes:e,laneAssignmentMode:r},l)=>{const o=this.itemSizeCache;if(!n)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(const s of this.laneAssignments.keys())s>=t&&this.laneAssignments.delete(s);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),0!==this.measurementsCache.length||this.lanesSettling||(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach((t=>{this.itemSizeCache.set(t.key,t.size)})));const u=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1),1===e){const n=this.options.gap,e=2*t;let r,l=this._flatMeasurements;if(!l||l.length<e){const t=new Float64Array(e);l&&u>0&&t.set(l.subarray(0,2*u)),l=t,this._flatMeasurements=l}if(0===u)r=s+i;else{const t=u-1;r=l[2*t]+l[2*t+1]+n}for(let s=u;s<t;s++){const t=h(s),i=o.get(t),e="number"==typeof i?i:this.options.estimateSize(s);l[2*s]=r,l[2*s+1]=e,r+=e+n}const a=function(t,s,i){const h=new Array(t);return new Proxy(h,{get(h,n,e){if("string"==typeof n){const e=n.charCodeAt(0);if(e>=48&&e<=57){const e=+n;if(Number.isInteger(e)&&e>=0&&e<t){let t=h[e];if(!t){const n=s[2*e];t=h[e]={index:e,key:i(e),start:n,size:s[2*e+1],end:n+s[2*e+1],lane:0}}return t}}if("length"===n)return t}return Reflect.get(h,n,e)}})}(t,l,h);return this.measurementsCache=a,a}const a=this.measurementsCache.slice(0,u),c=new Array(e).fill(void 0);for(let t=0;t<u;t++){const s=a[t];s&&(c[s.lane]=t)}for(let n=u;n<t;n++){const t=h(n),e=this.laneAssignments.get(n);let l,u;const d="estimate"===r||o.has(t);if(void 0!==e&&this.options.lanes>1){l=e;const t=c[l],h=void 0!==t?a[t]:void 0;u=h?h.end+this.options.gap:s+i}else{const t=1===this.options.lanes?a[n-1]:this.getFurthestMeasurement(a,n);u=t?t.end+this.options.gap:s+i,l=t?t.lane:n%this.options.lanes,this.options.lanes>1&&d&&this.laneAssignments.set(n,l)}const f=o.get(t),v="number"==typeof f?f:this.options.estimateSize(n),b=u+v;a[n]={index:n,start:u,size:v,end:b,key:t,lane:l},c[l]=n}return this.measurementsCache=a,a}),{key:!1,debug:()=>this.options.debug}),this.calculateRange=t((()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes]),((t,s,i,h)=>0===t.length||0===s?(this.range=null,null):(this.range=function(t,s,i,h,n){const e=t.length-1;if(t.length<=h)return{startIndex:0,endIndex:e};if(1===h&&null!==n){const t=function(t,s,i){let h=0;for(;h<=s;){const n=(h+s)/2|0,e=t[2*n];if(e<i)h=n+1;else{if(!(e>i))return n;s=n-1}}return h>0?h-1:0}(n,e,i);let h=t;const r=i+s;for(;h<e&&n[2*h]+n[2*h+1]<r;)h++;return{startIndex:t,endIndex:h}}const r=s=>t[s].start;let l=b(0,e,r,i),o=l;if(1===h)for(;o<e&&t[o].end<i+s;)o++;else if(h>1){const n=Array(h).fill(0);for(;o<e&&n.some((t=>t<i+s));){const s=t[o];n[s.lane]=s.end,o++}const r=Array(h).fill(i+s);for(;l>=0&&r.some((t=>t>=i));){const s=t[l];r[s.lane]=s.start,l--}l=Math.max(0,l-l%h),o=Math.min(e,o+(h-1-o%h))}return{startIndex:l,endIndex:o}}(t,s,i,h,1===h&&null!=this._flatMeasurements?this._flatMeasurements:null),this.range)),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=t((()=>{let t=null,s=null;const i=this.calculateRange();return i&&(t=i.startIndex,s=i.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,s]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,s]}),((t,s,i,h,n)=>null===h||null===n?[]:t({startIndex:h,endIndex:n,overscan:s,count:i})),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=t=>{const s=this.options.indexAttribute,i=t.getAttribute(s);return i?parseInt(i,10):(console.warn(`Missing attribute name '${s}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=t=>{var s;if(!this.scrollState||"smooth"!==this.scrollState.behavior)return!0;const i=this.scrollState.index??(null==(s=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))?void 0:s.index);if(void 0!==i&&this.range){const s=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),h=Math.max(0,i-s),n=Math.min(this.options.count-1,i+s);return t>=h&&t<=n}return!0},this.measureElement=t=>{if(!t)return void this.elementsCache.forEach(((t,s)=>{t.isConnected||(this.observer.unobserve(t),this.elementsCache.delete(s))}));const s=this.indexFromElement(t),i=this.options.getItemKey(s),h=this.elementsCache.get(i);h!==t&&(h&&this.observer.unobserve(h),this.observer.observe(t),this.elementsCache.set(i,t)),this.isScrolling&&!this.scrollState||!this.shouldMeasureDuringScroll(s)||this.resizeItem(s,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,s)=>{var i,h;if(t<0||t>=this.options.count)return;let n,e,r;const l=this._flatMeasurements;if(1===this.options.lanes&&null!==l)r=this.options.getItemKey(t),e=l[2*t],n=l[2*t+1];else{const s=this.measurementsCache[t];if(!s)return;r=s.key,e=s.start,n=s.size}const o=s-(this.itemSizeCache.get(r)??n);if(0!==o){const l="end"===this.options.anchorTo&&"smooth"!==(null==(i=this.scrollState)?void 0:i.behavior)&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,u=l?this.getTotalSize():0,a="smooth"!==(null==(h=this.scrollState)?void 0:h.behavior)&&(void 0!==this.shouldAdjustScrollPositionOnItemSizeChange?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[t]??{index:t,key:r,start:e,size:n,end:e+n,lane:0},o,this):e<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(r)||"backward"!==this.scrollDirection));(null===this.pendingMin||t<this.pendingMin)&&(this.pendingMin=t),this.itemSizeCache.set(r,s),this.itemSizeCacheVersion++,l?this.applyScrollAdjustment(this.getTotalSize()-u):a&&this.applyScrollAdjustment(o),this.notify(!1)}},this.getVirtualItems=t((()=>[this.getVirtualIndexes(),this.getMeasurements()]),((t,s)=>{const i=[];for(let h=0,n=t.length;h<n;h++){const n=s[t[h]];i.push(n)}return i}),{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=t=>{const i=this.getMeasurements();if(0===i.length)return;const h=this._flatMeasurements,n=1===this.options.lanes&&null!=h,e=b(0,i.length-1,n?t=>h[2*t]:t=>s(i[t]).start,t);return s(i[e])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{const t=this.scrollElement.document.documentElement;return this.options.horizontal?t.scrollWidth-this.scrollElement.innerWidth:t.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(t=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=t,this.getOffsetForAlignment=(t,s,i=0)=>{if(!this.scrollElement)return 0;const h=this.getSize(),n=this.getScrollOffset();"auto"===s&&(s=t>=n+h?"end":"start"),"center"===s?t+=(i-h)/2:"end"===s&&(t-=h);const e=this.getMaxScrollOffset();return Math.max(Math.min(e,t),0)},this.getOffsetForIndex=(t,s="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));const i=this.getSize(),h=this.getScrollOffset(),n=this.measurementsCache[t];if(!n)return;if("auto"===s)if(n.end>=h+i-this.options.scrollPaddingEnd)s="end";else{if(!(n.start<=h+this.options.scrollPaddingStart))return[h,s];s="start"}if("end"===s&&t===this.options.count-1)return[this.getMaxScrollOffset(),s];const e="end"===s?n.end+this.options.scrollPaddingEnd:n.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(e,s,n.size),s]},this.scrollToOffset=(t,{align:s="start",behavior:i="auto"}={})=>{const h=this.getOffsetForAlignment(t,s),n=this.now();this.scrollState={index:null,align:s,behavior:i,startedAt:n,lastTargetOffset:h,stableFrames:0},this._scrollToOffset(h,{adjustments:void 0,behavior:i}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:s="auto",behavior:i="auto"}={})=>{t=Math.max(0,Math.min(t,this.options.count-1));const h=this.getOffsetForIndex(t,s);if(!h)return;const[n,e]=h,r=this.now();this.scrollState={index:t,align:e,behavior:i,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:i}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:s="auto"}={})=>{const i=this.getScrollOffset()+t,h=this.now();this.scrollState={index:null,align:"start",behavior:s,startedAt:h,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:t="auto"}={})=>{this.options.count>0?this.scrollToIndex(this.options.count-1,{align:"end",behavior:t}):this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:t})},this.getTotalSize=()=>{var t;const s=this.getMeasurements();let i;if(0===s.length)i=this.options.paddingStart;else if(1===this.options.lanes){const h=s.length-1,n=this._flatMeasurements;i=null!=n?n[2*h]+n[2*h+1]:(null==(t=s[h])?void 0:t.end)??0}else{const t=Array(this.options.lanes).fill(null);let h=s.length-1;for(;h>=0&&t.some((t=>null===t));){const i=s[h];null===t[i.lane]&&(t[i.lane]=i.end),h--}i=Math.max(...t.filter((t=>null!==t)))}return Math.max(i-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{const t=[];if(0===this.itemSizeCache.size)return t;const s=this.getMeasurements();for(const i of s)i&&this.itemSizeCache.has(i.key)&&t.push({index:i.index,key:i.key,start:i.start,size:i.size,end:i.end,lane:i.lane});return t},this._scrollToOffset=(t,{adjustments:s,behavior:i})=>{this._intendedScrollOffset=t+(s??0),this.options.scrollToFn(t,{behavior:i,adjustments:s},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(i)}applyScrollAdjustment(t,s){0!==t&&(n()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=t:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=t,behavior:s}),null!==this.scrollOffset&&(this.scrollOffset+=this.scrollAdjustments,this.scrollAdjustments=0)))}scheduleScrollReconcile(){this.targetWindow?null==this.rafId&&(this.rafId=this.targetWindow.requestAnimationFrame((()=>{this.rafId=null,this.reconcileScroll()}))):this.scrollState=null}reconcileScroll(){if(!this.scrollState)return;if(!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3)return void(this.scrollState=null);const t=null!=this.scrollState.index?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,s=t?t[0]:this.scrollState.lastTargetOffset,i=s!==this.scrollState.lastTargetOffset;if(!i&&(h=s,n=this.getScrollOffset(),Math.abs(h-n)<1.01)){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1)return this.getScrollOffset()!==s&&this._scrollToOffset(s,{adjustments:void 0,behavior:"auto"}),void(this.scrollState=null)}else if(this.scrollState.stableFrames=0,i){const t=this.getSize()||600,i=Math.abs(s-this.getScrollOffset()),h="smooth"===this.scrollState.behavior&&i>t;this.scrollState.lastTargetOffset=s,h||(this.scrollState.behavior="auto"),this._scrollToOffset(s,{adjustments:void 0,behavior:h?"smooth":"auto"})}var h,n;this.scheduleScrollReconcile()}}const b=(t,s,i,h)=>{for(;t<=s;){const n=(t+s)/2|0,e=i(n);if(e<h)t=n+1;else{if(!(e>h))return n;s=n-1}}return t>0?t-1:0};class g{constructor(t,s){this.cleanup=()=>{};const i={...s,onChange:(t,i)=>{var h;this.host.updateComplete.then((()=>this.host.requestUpdate())),null==(h=s.onChange)||h.call(s,t,i)}};this.virtualizer=new v(i),(this.host=t).addController(this)}getVirtualizer(){return this.virtualizer}hostConnected(){this.cleanup=this.virtualizer._didMount()}hostUpdated(){this.virtualizer._willUpdate()}hostDisconnected(){this.cleanup()}}class m extends g{constructor(t,s){super(t,{observeElementRect:o,observeElementOffset:c,scrollToFn:f,...s})}}export{m as V};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register([],function(_export,_context){"use strict";var i,h,n,e,r,l,o,u,a,c,d,f,v,b,g,m;function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable;})),t.push.apply(t,o);}return t;}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));});}return e;}function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1;}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r;}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return;}finally{if(o)throw n;}}return a;}}function _arrayWithHoles(r){if(Array.isArray(r))return r;}function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n14=0,F=function F(){};return{s:F,n:function n(){return _n14>=r.length?{done:!0}:{done:!1,value:r[_n14++]};},e:function e(r){throw r;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var o,a=!0,u=!1;return{s:function s(){t=t.call(r);},n:function n(){var r=t.next();return a=r.done,r;},e:function e(r){u=!0,o=r;},f:function f(){try{a||null==t["return"]||t["return"]();}finally{if(u)throw o;}}};}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r);}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r);}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function t(t,s,i){var _i$initialDeps;var h,n=(_i$initialDeps=i.initialDeps)!==null&&_i$initialDeps!==void 0?_i$initialDeps:[],e=!0;function r(){var r=t();return r.length!==n.length||r.some(function(t,s){return n[s]!==t;})?(n=r,h=s.apply(void 0,_toConsumableArray(r)),!(null==i?void 0:i.onChange)||e&&i.skipInitialOnChange||i.onChange(h),e=!1,h):h;}return r.updateDeps=function(t){n=t;},r;}function s(t,s){if(void 0===t)throw new Error("Unexpected undefined"+(s?": ".concat(s):""));return t;}return{setters:[],execute:function execute(){i=function i(t,s,_i){var h;return function(){var _this=this;for(var _len=arguments.length,n=new Array(_len),_key=0;_key<_len;_key++){n[_key]=arguments[_key];}t.clearTimeout(h),h=t.setTimeout(function(){return s.apply(_this,n);},_i);};};n=function n(){if(void 0!==h)return h;if("undefined"==typeof navigator)return h=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return h=!0;var t=navigator.maxTouchPoints;return h="MacIntel"===navigator.platform&&void 0!==t&&t>0;},e=function e(t){var s=t.offsetWidth,i=t.offsetHeight;return{width:s,height:i};},r=function r(t){return t;},l=function l(t){var s=Math.max(t.startIndex-t.overscan,0),i=Math.min(t.endIndex+t.overscan,t.count-1)-s+1,h=new Array(i);for(var _t=0;_t<i;_t++)h[_t]=s+_t;return h;},o=function o(t,s){var i=t.scrollElement;if(!i)return;var h=t.targetWindow;if(!h)return;var n=function n(t){var i=t.width,h=t.height;s({width:Math.round(i),height:Math.round(h)});};if(n(e(i)),!h.ResizeObserver)return function(){};var r=new h.ResizeObserver(function(s){var h=function h(){var t=s[0];if(null==t?void 0:t.borderBoxSize){var _s=t.borderBoxSize[0];if(_s)return void n({width:_s.inlineSize,height:_s.blockSize});}n(e(i));};t.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(h):h();});return r.observe(i,{box:"border-box"}),function(){r.unobserve(i);};},u={passive:!0},a="undefined"==typeof window||"onscrollend"in window,c=function c(t,s){return function(t,s,h){var n=t.scrollElement;if(!n)return;var e=t.targetWindow;if(!e)return;var r=t.options.useScrollendEvent&&a;var l=0;var o=r?null:i(e,function(){return s(l,!1);},t.options.isScrollingResetDelay),c=function c(t){return function(){l=h(n),null==o||o(),s(l,t);};},d=c(!0),f=c(!1);return n.addEventListener("scroll",d,u),r&&n.addEventListener("scrollend",f,u),function(){n.removeEventListener("scroll",d),r&&n.removeEventListener("scrollend",f);};}(t,s,function(s){var _t$options=t.options,i=_t$options.horizontal,h=_t$options.isRtl;return i?s.scrollLeft*(h?-1:1):s.scrollTop;});},d=function d(t,s,i){if(i.options.useCachedMeasurements){var _i$itemSizeCache$get;var _s2=i.indexFromElement(t),_h=i.options.getItemKey(_s2);return(_i$itemSizeCache$get=i.itemSizeCache.get(_h))!==null&&_i$itemSizeCache$get!==void 0?_i$itemSizeCache$get:i.options.estimateSize(_s2);}if(null==s?void 0:s.borderBoxSize){var _t2=s.borderBoxSize[0];if(_t2){return Math.round(_t2[i.options.horizontal?"inlineSize":"blockSize"]);}}if(!s){var _s3=i.indexFromElement(t),_h2=i.options.getItemKey(_s3),_n=i.itemSizeCache.get(_h2);if(void 0!==_n)return _n;}return t[i.options.horizontal?"offsetWidth":"offsetHeight"];},f=function f(t,_ref,h){var _ref$adjustments=_ref.adjustments,s=_ref$adjustments===void 0?0:_ref$adjustments,i=_ref.behavior;var n,e;null==(e=null==(n=h.scrollElement)?void 0:n.scrollTo)||e.call(n,_defineProperty(_defineProperty({},h.options.horizontal?"left":"top",t+s),"behavior",i));};v=/*#__PURE__*/function(){function v(i){var _this2=this;_classCallCheck(this,v);this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map(),this.itemSizeCacheVersion=0,this.laneAssignments=new Map(),this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map(),this.now=function(){var _ref2;var t,s,i;return(_ref2=null==(i=null==(s=null==(t=_this2.targetWindow)?void 0:t.performance)?void 0:s.now)?void 0:i.call(s))!==null&&_ref2!==void 0?_ref2:Date.now();},this.observer=function(){var t=null;var s=function s(){return t||(_this2.targetWindow&&_this2.targetWindow.ResizeObserver?t=new _this2.targetWindow.ResizeObserver(function(t){t.forEach(function(t){var s=function s(){var s=t.target,i=_this2.indexFromElement(s);if(s.isConnected)_this2.shouldMeasureDuringScroll(i)&&_this2.resizeItem(i,_this2.options.measureElement(s,t,_this2));else{_this2.observer.unobserve(s);var _iterator=_createForOfIteratorHelper(_this2.elementsCache),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _step$value=_slicedToArray(_step.value,2),_t3=_step$value[0],_i2=_step$value[1];if(_i2===s){_this2.elementsCache["delete"](_t3);break;}}}catch(err){_iterator.e(err);}finally{_iterator.f();}}};_this2.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(s):s();});}):null);};return{disconnect:function disconnect(){var i;null==(i=s())||i.disconnect(),t=null;},observe:function observe(t){var i;return null==(i=s())?void 0:i.observe(t,{box:"border-box"});},unobserve:function unobserve(t){var i;return null==(i=s())?void 0:i.unobserve(t);}};}(),this.range=null,this.setOptions=function(t){var s,i;var h={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:r,rangeExtractor:l,onChange:function onChange(){},measureElement:d,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(var _s4 in t){var _i3=t[_s4];void 0!==_i3&&(h[_s4]=_i3);}var n=_this2.options;var e=null,o=null,u=!1;if(void 0!==n&&n.enabled&&h.enabled&&"end"===h.anchorTo&&null!==_this2.scrollElement){var _ref3,_ref4;var _t4=n.count,_r=h.count,_l=_this2.getMeasurements(),_a=_t4>0?(_ref3=null==(s=_l[0])?void 0:s.key)!==null&&_ref3!==void 0?_ref3:n.getItemKey(0):null,_c=_t4>0?(_ref4=null==(i=_l[_t4-1])?void 0:i.key)!==null&&_ref4!==void 0?_ref4:n.getItemKey(_t4-1):null;if(_r!==_t4||_t4>0&&_r>0&&(h.getItemKey(0)!==_a||h.getItemKey(_r-1)!==_c)){var _this2$getVirtualItem;u=!0;var _s5=_t4>0?(_this2$getVirtualItem=_this2.getVirtualItemForOffset(_this2.getScrollOffset()))!==null&&_this2$getVirtualItem!==void 0?_this2$getVirtualItem:_l[0]:null;_s5&&(e=[_s5.key,_this2.getScrollOffset()-_s5.start]);var _i4=!0===h.followOnAppend?"auto":h.followOnAppend||null;_i4&&_r>_t4&&_this2.isAtEnd(n.scrollEndThreshold)&&(0===_t4||h.getItemKey(_r-1)!==_c)&&(o=_i4);}}_this2.options=h,u&&(_this2.pendingMin=0,_this2.itemSizeCacheVersion++);var a=!1,c=0;if(e&&null!==_this2.scrollOffset){var _e=e,_e2=_slicedToArray(_e,2),_t5=_e2[0],_s6=_e2[1],_i5=_this2.getMeasurements(),_this2$options=_this2.options,_h3=_this2$options.count,_n2=_this2$options.getItemKey;var _r2=0;for(;_r2<_h3&&_n2(_r2)!==_t5;)_r2++;if(_r2<_h3){var _t6=_i5[_r2];if(_t6){var _i6=_t6.start+_s6;_i6!==_this2.scrollOffset&&(c=_i6-_this2.scrollOffset,_this2.scrollOffset=_i6,a=!0);}}}(a||o)&&(_this2.pendingScrollAnchor=[a?e[0]:null,a?e[1]:0,o,c]);},this.notify=function(t){var s,i;null==(i=(s=_this2.options).onChange)||i.call(s,_this2,t);},this.maybeNotify=t(function(){return _this2.calculateRange(),[_this2.isScrolling,_this2.range?_this2.range.startIndex:null,_this2.range?_this2.range.endIndex:null];},function(t){_this2.notify(t);},{key:!1,debug:function debug(){return _this2.options.debug;},initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=function(){_this2.unsubs.filter(Boolean).forEach(function(t){return t();}),_this2.unsubs=[],_this2.observer.disconnect(),null!=_this2.rafId&&_this2.targetWindow&&(_this2.targetWindow.cancelAnimationFrame(_this2.rafId),_this2.rafId=null),_this2.scrollState=null,_this2.scrollElement=null,_this2.targetWindow=null;},this._didMount=function(){return function(){_this2.cleanup();};},this._willUpdate=function(){var t;var s=_this2.options.enabled?_this2.options.getScrollElement():null;if(_this2.scrollElement!==s){var _ref5;if(_this2.cleanup(),!s)return void _this2.maybeNotify();if(_this2.scrollElement=s,_this2.scrollElement&&"ownerDocument"in _this2.scrollElement?_this2.targetWindow=_this2.scrollElement.ownerDocument.defaultView:_this2.targetWindow=(_ref5=null==(t=_this2.scrollElement)?void 0:t.window)!==null&&_ref5!==void 0?_ref5:null,_this2.elementsCache.forEach(function(t){_this2.observer.observe(t);}),_this2.unsubs.push(_this2.options.observeElementRect(_this2,function(t){_this2.scrollRect=t,_this2.maybeNotify();})),_this2.unsubs.push(_this2.options.observeElementOffset(_this2,function(t,s){if(s&&null===_this2._intendedScrollOffset&&t===_this2.scrollOffset)return;null!==_this2._intendedScrollOffset&&Math.abs(t-_this2._intendedScrollOffset)<1.5&&(t=_this2._intendedScrollOffset),_this2._intendedScrollOffset=null,_this2.scrollAdjustments=0;var i=_this2.getScrollOffset();_this2.scrollDirection=s?i===t?_this2.scrollDirection:i<t?"forward":"backward":null,_this2.scrollOffset=t,_this2.isScrolling=s,_this2._flushIosDeferredIfReady(),_this2.scrollState&&_this2.scheduleScrollReconcile(),_this2.maybeNotify();})),"addEventListener"in _this2.scrollElement){var _t7=_this2.scrollElement,_s7=function _s7(){_this2._iosTouching=!0,_this2._iosJustTouchEnded=!1,null!==_this2._iosTouchEndTimerId&&null!=_this2.targetWindow&&(_this2.targetWindow.clearTimeout(_this2._iosTouchEndTimerId),_this2._iosTouchEndTimerId=null);},_i7=function _i7(){_this2._iosTouching=!1,n()&&null!=_this2.targetWindow&&(_this2._iosJustTouchEnded=!0,_this2._iosTouchEndTimerId=_this2.targetWindow.setTimeout(function(){_this2._iosJustTouchEnded=!1,_this2._iosTouchEndTimerId=null,_this2._flushIosDeferredIfReady();},150));};_t7.addEventListener("touchstart",_s7,u),_t7.addEventListener("touchend",_i7,u),_this2.unsubs.push(function(){_t7.removeEventListener("touchstart",_s7),_t7.removeEventListener("touchend",_i7),null!==_this2._iosTouchEndTimerId&&null!=_this2.targetWindow&&(_this2.targetWindow.clearTimeout(_this2._iosTouchEndTimerId),_this2._iosTouchEndTimerId=null);});}_this2._scrollToOffset(_this2.getScrollOffset(),{adjustments:void 0,behavior:void 0});}var i=_this2.pendingScrollAnchor;if(_this2.pendingScrollAnchor=null,i&&_this2.scrollElement&&_this2.options.enabled){var _i8=_slicedToArray(i,4),_t8=_i8[0],_s8=_i8[1],_h4=_i8[2],_e3=_i8[3];null===_t8||_h4||(n()&&(_this2.isScrolling||_this2._iosTouching||_this2._iosJustTouchEnded)?0!==_e3&&(_this2._iosDeferredAdjustment+=_e3):_this2._scrollToOffset(_this2.getScrollOffset(),{adjustments:void 0,behavior:void 0})),_h4&&_this2.scrollToEnd({behavior:_h4});}},this._flushIosDeferredIfReady=function(){if(0===_this2._iosDeferredAdjustment)return;if(_this2.isScrolling)return;if(_this2._iosTouching)return;if(_this2._iosJustTouchEnded)return;var t=_this2.getScrollOffset(),s=_this2.getMaxScrollOffset();if(t<0||t>s)return;var i=_this2._iosDeferredAdjustment;_this2._iosDeferredAdjustment=0,_this2._scrollToOffset(t,{adjustments:_this2.scrollAdjustments+=i,behavior:void 0});},this.rafId=null,this.getSize=function(){var _this2$scrollRect;return _this2.options.enabled?(_this2.scrollRect=(_this2$scrollRect=_this2.scrollRect)!==null&&_this2$scrollRect!==void 0?_this2$scrollRect:_this2.options.initialRect,_this2.scrollRect[_this2.options.horizontal?"width":"height"]):(_this2.scrollRect=null,0);},this.getScrollOffset=function(){var _this2$scrollOffset;return _this2.options.enabled?(_this2.scrollOffset=(_this2$scrollOffset=_this2.scrollOffset)!==null&&_this2$scrollOffset!==void 0?_this2$scrollOffset:"function"==typeof _this2.options.initialOffset?_this2.options.initialOffset():_this2.options.initialOffset,_this2.scrollOffset):(_this2.scrollOffset=null,0);},this.getFurthestMeasurement=function(t,s){var i=new Map(),h=new Map();for(var _n3=s-1;_n3>=0;_n3--){var _s9=t[_n3];if(i.has(_s9.lane))continue;var _e4=h.get(_s9.lane);if(null==_e4||_s9.end>_e4.end?h.set(_s9.lane,_s9):_s9.end<_e4.end&&i.set(_s9.lane,!0),i.size===_this2.options.lanes)break;}return h.size===_this2.options.lanes?Array.from(h.values()).sort(function(t,s){return t.end===s.end?t.index-s.index:t.end-s.end;})[0]:void 0;},this.getMeasurementOptions=t(function(){return[_this2.options.count,_this2.options.paddingStart,_this2.options.scrollMargin,_this2.options.getItemKey,_this2.options.enabled,_this2.options.lanes,_this2.options.laneAssignmentMode];},function(t,s,i,h,n,e,r){return void 0!==_this2.prevLanes&&_this2.prevLanes!==e&&(_this2.lanesChangedFlag=!0),_this2.prevLanes=e,_this2.pendingMin=null,{count:t,paddingStart:s,scrollMargin:i,getItemKey:h,enabled:n,lanes:e,laneAssignmentMode:r};},{key:!1}),this.getMeasurements=t(function(){return[_this2.getMeasurementOptions(),_this2.itemSizeCacheVersion];},function(_ref6,l){var _this2$pendingMin;var t=_ref6.count,s=_ref6.paddingStart,i=_ref6.scrollMargin,h=_ref6.getItemKey,n=_ref6.enabled,e=_ref6.lanes,r=_ref6.laneAssignmentMode;var o=_this2.itemSizeCache;if(!n)return _this2.measurementsCache=[],_this2.itemSizeCache.clear(),_this2.laneAssignments.clear(),[];if(_this2.laneAssignments.size>t){var _iterator2=_createForOfIteratorHelper(_this2.laneAssignments.keys()),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var _s10=_step2.value;_s10>=t&&_this2.laneAssignments["delete"](_s10);}}catch(err){_iterator2.e(err);}finally{_iterator2.f();}}_this2.lanesChangedFlag&&(_this2.lanesChangedFlag=!1,_this2.lanesSettling=!0,_this2.measurementsCache=[],_this2.itemSizeCache.clear(),_this2.laneAssignments.clear(),_this2.pendingMin=null),0!==_this2.measurementsCache.length||_this2.lanesSettling||(_this2.measurementsCache=_this2.options.initialMeasurementsCache,_this2.measurementsCache.forEach(function(t){_this2.itemSizeCache.set(t.key,t.size);}));var u=_this2.lanesSettling?0:(_this2$pendingMin=_this2.pendingMin)!==null&&_this2$pendingMin!==void 0?_this2$pendingMin:0;if(_this2.pendingMin=null,_this2.lanesSettling&&_this2.measurementsCache.length===t&&(_this2.lanesSettling=!1),1===e){var _n4=_this2.options.gap,_e5=2*t;var _r3,_l2=_this2._flatMeasurements;if(!_l2||_l2.length<_e5){var _t9=new Float64Array(_e5);_l2&&u>0&&_t9.set(_l2.subarray(0,2*u)),_l2=_t9,_this2._flatMeasurements=_l2;}if(0===u)_r3=s+i;else{var _t10=u-1;_r3=_l2[2*_t10]+_l2[2*_t10+1]+_n4;}for(var _s11=u;_s11<t;_s11++){var _t11=h(_s11),_i9=o.get(_t11),_e6="number"==typeof _i9?_i9:_this2.options.estimateSize(_s11);_l2[2*_s11]=_r3,_l2[2*_s11+1]=_e6,_r3+=_e6+_n4;}var _a2=function(t,s,i){var h=new Array(t);return new Proxy(h,{get:function get(h,n,e){if("string"==typeof n){var _e7=n.charCodeAt(0);if(_e7>=48&&_e7<=57){var _e8=+n;if(Number.isInteger(_e8)&&_e8>=0&&_e8<t){var _t12=h[_e8];if(!_t12){var _n5=s[2*_e8];_t12=h[_e8]={index:_e8,key:i(_e8),start:_n5,size:s[2*_e8+1],end:_n5+s[2*_e8+1],lane:0};}return _t12;}}if("length"===n)return t;}return Reflect.get(h,n,e);}});}(t,_l2,h);return _this2.measurementsCache=_a2,_a2;}var a=_this2.measurementsCache.slice(0,u),c=new Array(e).fill(void 0);for(var _t13=0;_t13<u;_t13++){var _s12=a[_t13];_s12&&(c[_s12.lane]=_t13);}for(var _n6=u;_n6<t;_n6++){var _t14=h(_n6),_e9=_this2.laneAssignments.get(_n6);var _l3=void 0,_u=void 0;var _d="estimate"===r||o.has(_t14);if(void 0!==_e9&&_this2.options.lanes>1){_l3=_e9;var _t15=c[_l3],_h5=void 0!==_t15?a[_t15]:void 0;_u=_h5?_h5.end+_this2.options.gap:s+i;}else{var _t16=1===_this2.options.lanes?a[_n6-1]:_this2.getFurthestMeasurement(a,_n6);_u=_t16?_t16.end+_this2.options.gap:s+i,_l3=_t16?_t16.lane:_n6%_this2.options.lanes,_this2.options.lanes>1&&_d&&_this2.laneAssignments.set(_n6,_l3);}var _f=o.get(_t14),_v="number"==typeof _f?_f:_this2.options.estimateSize(_n6),_b=_u+_v;a[_n6]={index:_n6,start:_u,size:_v,end:_b,key:_t14,lane:_l3},c[_l3]=_n6;}return _this2.measurementsCache=a,a;},{key:!1,debug:function debug(){return _this2.options.debug;}}),this.calculateRange=t(function(){return[_this2.getMeasurements(),_this2.getSize(),_this2.getScrollOffset(),_this2.options.lanes];},function(t,s,i,h){return 0===t.length||0===s?(_this2.range=null,null):(_this2.range=function(t,s,i,h,n){var e=t.length-1;if(t.length<=h)return{startIndex:0,endIndex:e};if(1===h&&null!==n){var _t17=function(t,s,i){var h=0;for(;h<=s;){var _n7=(h+s)/2|0,_e10=t[2*_n7];if(_e10<i)h=_n7+1;else{if(!(_e10>i))return _n7;s=_n7-1;}}return h>0?h-1:0;}(n,e,i);var _h6=_t17;var _r4=i+s;for(;_h6<e&&n[2*_h6]+n[2*_h6+1]<_r4;)_h6++;return{startIndex:_t17,endIndex:_h6};}var r=function r(s){return t[s].start;};var l=b(0,e,r,i),o=l;if(1===h)for(;o<e&&t[o].end<i+s;)o++;else if(h>1){var _n8=Array(h).fill(0);for(;o<e&&_n8.some(function(t){return t<i+s;});){var _s13=t[o];_n8[_s13.lane]=_s13.end,o++;}var _r5=Array(h).fill(i+s);for(;l>=0&&_r5.some(function(t){return t>=i;});){var _s14=t[l];_r5[_s14.lane]=_s14.start,l--;}l=Math.max(0,l-l%h),o=Math.min(e,o+(h-1-o%h));}return{startIndex:l,endIndex:o};}(t,s,i,h,1===h&&null!=_this2._flatMeasurements?_this2._flatMeasurements:null),_this2.range);},{key:!1,debug:function debug(){return _this2.options.debug;}}),this.getVirtualIndexes=t(function(){var t=null,s=null;var i=_this2.calculateRange();return i&&(t=i.startIndex,s=i.endIndex),_this2.maybeNotify.updateDeps([_this2.isScrolling,t,s]),[_this2.options.rangeExtractor,_this2.options.overscan,_this2.options.count,t,s];},function(t,s,i,h,n){return null===h||null===n?[]:t({startIndex:h,endIndex:n,overscan:s,count:i});},{key:!1,debug:function debug(){return _this2.options.debug;}}),this.indexFromElement=function(t){var s=_this2.options.indexAttribute,i=t.getAttribute(s);return i?parseInt(i,10):(console.warn("Missing attribute name '".concat(s,"={index}' on measured element.")),-1);},this.shouldMeasureDuringScroll=function(t){var _this2$scrollState$in;var s;if(!_this2.scrollState||"smooth"!==_this2.scrollState.behavior)return!0;var i=(_this2$scrollState$in=_this2.scrollState.index)!==null&&_this2$scrollState$in!==void 0?_this2$scrollState$in:null==(s=_this2.getVirtualItemForOffset(_this2.scrollState.lastTargetOffset))?void 0:s.index;if(void 0!==i&&_this2.range){var _s15=Math.max(_this2.options.overscan,Math.ceil((_this2.range.endIndex-_this2.range.startIndex)/2)),_h7=Math.max(0,i-_s15),_n9=Math.min(_this2.options.count-1,i+_s15);return t>=_h7&&t<=_n9;}return!0;},this.measureElement=function(t){if(!t)return void _this2.elementsCache.forEach(function(t,s){t.isConnected||(_this2.observer.unobserve(t),_this2.elementsCache["delete"](s));});var s=_this2.indexFromElement(t),i=_this2.options.getItemKey(s),h=_this2.elementsCache.get(i);h!==t&&(h&&_this2.observer.unobserve(h),_this2.observer.observe(t),_this2.elementsCache.set(i,t)),_this2.isScrolling&&!_this2.scrollState||!_this2.shouldMeasureDuringScroll(s)||_this2.resizeItem(s,_this2.options.measureElement(t,void 0,_this2));},this.resizeItem=function(t,s){var _this2$itemSizeCache$;var i,h;if(t<0||t>=_this2.options.count)return;var n,e,r;var l=_this2._flatMeasurements;if(1===_this2.options.lanes&&null!==l)r=_this2.options.getItemKey(t),e=l[2*t],n=l[2*t+1];else{var _s16=_this2.measurementsCache[t];if(!_s16)return;r=_s16.key,e=_s16.start,n=_s16.size;}var o=s-((_this2$itemSizeCache$=_this2.itemSizeCache.get(r))!==null&&_this2$itemSizeCache$!==void 0?_this2$itemSizeCache$:n);if(0!==o){var _this2$measurementsCa;var _l4="end"===_this2.options.anchorTo&&"smooth"!==(null==(i=_this2.scrollState)?void 0:i.behavior)&&_this2.getVirtualDistanceFromEnd()<=_this2.options.scrollEndThreshold,_u2=_l4?_this2.getTotalSize():0,_a3="smooth"!==(null==(h=_this2.scrollState)?void 0:h.behavior)&&(void 0!==_this2.shouldAdjustScrollPositionOnItemSizeChange?_this2.shouldAdjustScrollPositionOnItemSizeChange((_this2$measurementsCa=_this2.measurementsCache[t])!==null&&_this2$measurementsCa!==void 0?_this2$measurementsCa:{index:t,key:r,start:e,size:n,end:e+n,lane:0},o,_this2):e<_this2.getScrollOffset()+_this2.scrollAdjustments&&(!_this2.itemSizeCache.has(r)||"backward"!==_this2.scrollDirection));(null===_this2.pendingMin||t<_this2.pendingMin)&&(_this2.pendingMin=t),_this2.itemSizeCache.set(r,s),_this2.itemSizeCacheVersion++,_l4?_this2.applyScrollAdjustment(_this2.getTotalSize()-_u2):_a3&&_this2.applyScrollAdjustment(o),_this2.notify(!1);}},this.getVirtualItems=t(function(){return[_this2.getVirtualIndexes(),_this2.getMeasurements()];},function(t,s){var i=[];for(var _h8=0,_n10=t.length;_h8<_n10;_h8++){var _n11=s[t[_h8]];i.push(_n11);}return i;},{key:!1,debug:function debug(){return _this2.options.debug;}}),this.getVirtualItemForOffset=function(t){var i=_this2.getMeasurements();if(0===i.length)return;var h=_this2._flatMeasurements,n=1===_this2.options.lanes&&null!=h,e=b(0,i.length-1,n?function(t){return h[2*t];}:function(t){return s(i[t]).start;},t);return s(i[e]);},this.getMaxScrollOffset=function(){if(!_this2.scrollElement)return 0;if("scrollHeight"in _this2.scrollElement)return _this2.options.horizontal?_this2.scrollElement.scrollWidth-_this2.scrollElement.clientWidth:_this2.scrollElement.scrollHeight-_this2.scrollElement.clientHeight;{var _t18=_this2.scrollElement.document.documentElement;return _this2.options.horizontal?_t18.scrollWidth-_this2.scrollElement.innerWidth:_t18.scrollHeight-_this2.scrollElement.innerHeight;}},this.getVirtualDistanceFromEnd=function(){return Math.max(_this2.getTotalSize()-_this2.getSize()-_this2.getScrollOffset(),0);},this.getDistanceFromEnd=function(){return Math.max(_this2.getMaxScrollOffset()-_this2.getScrollOffset(),0);},this.isAtEnd=function(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:_this2.options.scrollEndThreshold;return _this2.getDistanceFromEnd()<=t;},this.getOffsetForAlignment=function(t,s){var i=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;if(!_this2.scrollElement)return 0;var h=_this2.getSize(),n=_this2.getScrollOffset();"auto"===s&&(s=t>=n+h?"end":"start"),"center"===s?t+=(i-h)/2:"end"===s&&(t-=h);var e=_this2.getMaxScrollOffset();return Math.max(Math.min(e,t),0);},this.getOffsetForIndex=function(t){var s=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"auto";t=Math.max(0,Math.min(t,_this2.options.count-1));var i=_this2.getSize(),h=_this2.getScrollOffset(),n=_this2.measurementsCache[t];if(!n)return;if("auto"===s)if(n.end>=h+i-_this2.options.scrollPaddingEnd)s="end";else{if(!(n.start<=h+_this2.options.scrollPaddingStart))return[h,s];s="start";}if("end"===s&&t===_this2.options.count-1)return[_this2.getMaxScrollOffset(),s];var e="end"===s?n.end+_this2.options.scrollPaddingEnd:n.start-_this2.options.scrollPaddingStart;return[_this2.getOffsetForAlignment(e,s,n.size),s];},this.scrollToOffset=function(t){var _ref7=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref7$align=_ref7.align,s=_ref7$align===void 0?"start":_ref7$align,_ref7$behavior=_ref7.behavior,i=_ref7$behavior===void 0?"auto":_ref7$behavior;var h=_this2.getOffsetForAlignment(t,s),n=_this2.now();_this2.scrollState={index:null,align:s,behavior:i,startedAt:n,lastTargetOffset:h,stableFrames:0},_this2._scrollToOffset(h,{adjustments:void 0,behavior:i}),_this2.scheduleScrollReconcile();},this.scrollToIndex=function(t){var _ref8=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref8$align=_ref8.align,s=_ref8$align===void 0?"auto":_ref8$align,_ref8$behavior=_ref8.behavior,i=_ref8$behavior===void 0?"auto":_ref8$behavior;t=Math.max(0,Math.min(t,_this2.options.count-1));var h=_this2.getOffsetForIndex(t,s);if(!h)return;var _h9=_slicedToArray(h,2),n=_h9[0],e=_h9[1],r=_this2.now();_this2.scrollState={index:t,align:e,behavior:i,startedAt:r,lastTargetOffset:n,stableFrames:0},_this2._scrollToOffset(n,{adjustments:void 0,behavior:i}),_this2.scheduleScrollReconcile();},this.scrollBy=function(t){var _ref9=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref9$behavior=_ref9.behavior,s=_ref9$behavior===void 0?"auto":_ref9$behavior;var i=_this2.getScrollOffset()+t,h=_this2.now();_this2.scrollState={index:null,align:"start",behavior:s,startedAt:h,lastTargetOffset:i,stableFrames:0},_this2._scrollToOffset(i,{adjustments:void 0,behavior:s}),_this2.scheduleScrollReconcile();},this.scrollToEnd=function(){var _ref10=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},_ref10$behavior=_ref10.behavior,t=_ref10$behavior===void 0?"auto":_ref10$behavior;_this2.options.count>0?_this2.scrollToIndex(_this2.options.count-1,{align:"end",behavior:t}):_this2.scrollToOffset(Math.max(_this2.getTotalSize()-_this2.getSize(),0),{behavior:t});},this.getTotalSize=function(){var t;var s=_this2.getMeasurements();var i;if(0===s.length)i=_this2.options.paddingStart;else if(1===_this2.options.lanes){var _ref11;var _h10=s.length-1,_n12=_this2._flatMeasurements;i=null!=_n12?_n12[2*_h10]+_n12[2*_h10+1]:(_ref11=null==(t=s[_h10])?void 0:t.end)!==null&&_ref11!==void 0?_ref11:0;}else{var _t19=Array(_this2.options.lanes).fill(null);var _h11=s.length-1;for(;_h11>=0&&_t19.some(function(t){return null===t;});){var _i10=s[_h11];null===_t19[_i10.lane]&&(_t19[_i10.lane]=_i10.end),_h11--;}i=Math.max.apply(Math,_toConsumableArray(_t19.filter(function(t){return null!==t;})));}return Math.max(i-_this2.options.scrollMargin+_this2.options.paddingEnd,0);},this.takeSnapshot=function(){var t=[];if(0===_this2.itemSizeCache.size)return t;var s=_this2.getMeasurements();var _iterator3=_createForOfIteratorHelper(s),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var _i11=_step3.value;_i11&&_this2.itemSizeCache.has(_i11.key)&&t.push({index:_i11.index,key:_i11.key,start:_i11.start,size:_i11.size,end:_i11.end,lane:_i11.lane});}}catch(err){_iterator3.e(err);}finally{_iterator3.f();}return t;},this._scrollToOffset=function(t,_ref12){var s=_ref12.adjustments,i=_ref12.behavior;_this2._intendedScrollOffset=t+(s!==null&&s!==void 0?s:0),_this2.options.scrollToFn(t,{behavior:i,adjustments:s},_this2);},this.measure=function(){_this2.pendingMin=null,_this2.itemSizeCache.clear(),_this2.laneAssignments.clear(),_this2.itemSizeCacheVersion++,_this2.notify(!1);},this.setOptions(i);}return _createClass(v,[{key:"applyScrollAdjustment",value:function applyScrollAdjustment(t,s){0!==t&&(n()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=t:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=t,behavior:s}),null!==this.scrollOffset&&(this.scrollOffset+=this.scrollAdjustments,this.scrollAdjustments=0)));}},{key:"scheduleScrollReconcile",value:function scheduleScrollReconcile(){var _this3=this;this.targetWindow?null==this.rafId&&(this.rafId=this.targetWindow.requestAnimationFrame(function(){_this3.rafId=null,_this3.reconcileScroll();})):this.scrollState=null;}},{key:"reconcileScroll",value:function reconcileScroll(){if(!this.scrollState)return;if(!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3)return void(this.scrollState=null);var t=null!=this.scrollState.index?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,s=t?t[0]:this.scrollState.lastTargetOffset,i=s!==this.scrollState.lastTargetOffset;if(!i&&(h=s,n=this.getScrollOffset(),Math.abs(h-n)<1.01)){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1)return this.getScrollOffset()!==s&&this._scrollToOffset(s,{adjustments:void 0,behavior:"auto"}),void(this.scrollState=null);}else if(this.scrollState.stableFrames=0,i){var _t20=this.getSize()||600,_i12=Math.abs(s-this.getScrollOffset()),_h12="smooth"===this.scrollState.behavior&&_i12>_t20;this.scrollState.lastTargetOffset=s,_h12||(this.scrollState.behavior="auto"),this._scrollToOffset(s,{adjustments:void 0,behavior:_h12?"smooth":"auto"});}var h,n;this.scheduleScrollReconcile();}}]);}();b=function b(t,s,i,h){for(;t<=s;){var _n13=(t+s)/2|0,_e11=i(_n13);if(_e11<h)t=_n13+1;else{if(!(_e11>h))return _n13;s=_n13-1;}}return t>0?t-1:0;};g=/*#__PURE__*/function(){function g(t,s){var _this4=this;_classCallCheck(this,g);this.cleanup=function(){};var i=_objectSpread(_objectSpread({},s),{},{onChange:function onChange(t,i){var h;_this4.host.updateComplete.then(function(){return _this4.host.requestUpdate();}),null==(h=s.onChange)||h.call(s,t,i);}});this.virtualizer=new v(i),(this.host=t).addController(this);}return _createClass(g,[{key:"getVirtualizer",value:function getVirtualizer(){return this.virtualizer;}},{key:"hostConnected",value:function hostConnected(){this.cleanup=this.virtualizer._didMount();}},{key:"hostUpdated",value:function hostUpdated(){this.virtualizer._willUpdate();}},{key:"hostDisconnected",value:function hostDisconnected(){this.cleanup();}}]);}();_export("V",m=/*#__PURE__*/function(_g){function m(t,s){_classCallCheck(this,m);return _callSuper(this,m,[t,_objectSpread({observeElementRect:o,observeElementOffset:c,scrollToFn:f},s)]);}_inherits(m,_g);return _createClass(m);}(g));}};});
|
|
2
|
+
//# sourceMappingURL=index-8f38fae3.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-8f38fae3.cjs.js","sources":["../../../node_modules/@tanstack/virtual-core/dist/esm/utils.js","../../../node_modules/@tanstack/virtual-core/dist/esm/index.js","../../../node_modules/@tanstack/virtual-core/dist/esm/lazy-measurements.js","../../../node_modules/@tanstack/lit-virtual/dist/esm/index.js"],"sourcesContent":["function memo(getDeps, fn, opts) {\n let deps = opts.initialDeps ?? [];\n let result;\n let isInitial = true;\n function memoizedFunction() {\n var _a;\n const debugEnabled = process.env.NODE_ENV !== \"production\" && !!opts.key && !!((_a = opts.debug) == null ? void 0 : _a.call(opts));\n let depTime = 0;\n if (debugEnabled) depTime = Date.now();\n const newDeps = getDeps();\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n if (!depsChanged) {\n return result;\n }\n deps = newDeps;\n let resultTime = 0;\n if (debugEnabled) resultTime = Date.now();\n result = fn(...newDeps);\n if (debugEnabled) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n const pad = (str, num) => {\n str = String(str);\n while (str.length < num) {\n str = \" \" + str;\n }\n return str;\n };\n console.info(\n `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,\n `\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(\n 0,\n Math.min(120 - 120 * resultFpsPercentage, 120)\n )}deg 100% 31%);`,\n opts == null ? void 0 : opts.key\n );\n }\n if ((opts == null ? void 0 : opts.onChange) && !(isInitial && opts.skipInitialOnChange)) {\n opts.onChange(result);\n }\n isInitial = false;\n return result;\n }\n memoizedFunction.updateDeps = (newDeps) => {\n deps = newDeps;\n };\n return memoizedFunction;\n}\nfunction notUndefined(value, msg) {\n if (value === void 0) {\n throw new Error(`Unexpected undefined${msg ? `: ${msg}` : \"\"}`);\n } else {\n return value;\n }\n}\nconst approxEqual = (a, b) => Math.abs(a - b) < 1.01;\nconst debounce = (targetWindow, fn, ms) => {\n let timeoutId;\n return function(...args) {\n targetWindow.clearTimeout(timeoutId);\n timeoutId = targetWindow.setTimeout(() => fn.apply(this, args), ms);\n };\n};\nexport {\n approxEqual,\n debounce,\n memo,\n notUndefined\n};\n//# sourceMappingURL=utils.js.map\n","import { createLazyMeasurementsView } from \"./lazy-measurements.js\";\nimport { memo, notUndefined, approxEqual, debounce } from \"./utils.js\";\nlet _isIOSResult;\nconst isIOSWebKit = () => {\n if (_isIOSResult !== void 0) return _isIOSResult;\n if (typeof navigator === \"undefined\") return _isIOSResult = false;\n if (/iP(hone|od|ad)/.test(navigator.userAgent)) return _isIOSResult = true;\n const mtp = navigator.maxTouchPoints;\n return _isIOSResult = navigator.platform === \"MacIntel\" && mtp !== void 0 && mtp > 0;\n};\nconst _resetIOSDetectionForTests = () => {\n _isIOSResult = void 0;\n};\nconst getRect = (element) => {\n const { offsetWidth, offsetHeight } = element;\n return { width: offsetWidth, height: offsetHeight };\n};\nconst defaultKeyExtractor = (index) => index;\nconst defaultRangeExtractor = (range) => {\n const start = Math.max(range.startIndex - range.overscan, 0);\n const end = Math.min(range.endIndex + range.overscan, range.count - 1);\n const len = end - start + 1;\n const arr = new Array(len);\n for (let i = 0; i < len; i++) {\n arr[i] = start + i;\n }\n return arr;\n};\nconst observeElementRect = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n const handler = (rect) => {\n const { width, height } = rect;\n cb({ width: Math.round(width), height: Math.round(height) });\n };\n handler(getRect(element));\n if (!targetWindow.ResizeObserver) {\n return () => {\n };\n }\n const observer = new targetWindow.ResizeObserver((entries) => {\n const run = () => {\n const entry = entries[0];\n if (entry == null ? void 0 : entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n if (box) {\n handler({ width: box.inlineSize, height: box.blockSize });\n return;\n }\n }\n handler(getRect(element));\n };\n instance.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();\n });\n observer.observe(element, { box: \"border-box\" });\n return () => {\n observer.unobserve(element);\n };\n};\nconst addEventListenerOptions = {\n passive: true\n};\nconst observeWindowRect = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const handler = () => {\n cb({ width: element.innerWidth, height: element.innerHeight });\n };\n handler();\n element.addEventListener(\"resize\", handler, addEventListenerOptions);\n return () => {\n element.removeEventListener(\"resize\", handler);\n };\n};\nconst supportsScrollend = typeof window == \"undefined\" ? true : \"onscrollend\" in window;\nconst observeOffset = (instance, cb, readOffset) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n const registerScrollendEvent = instance.options.useScrollendEvent && supportsScrollend;\n let offset = 0;\n const fallback = registerScrollendEvent ? null : debounce(\n targetWindow,\n () => cb(offset, false),\n instance.options.isScrollingResetDelay\n );\n const createHandler = (isScrolling) => () => {\n offset = readOffset(element);\n fallback == null ? void 0 : fallback();\n cb(offset, isScrolling);\n };\n const handler = createHandler(true);\n const endHandler = createHandler(false);\n element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n if (registerScrollendEvent) {\n element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n }\n return () => {\n element.removeEventListener(\"scroll\", handler);\n if (registerScrollendEvent) {\n element.removeEventListener(\"scrollend\", endHandler);\n }\n };\n};\nconst observeElementOffset = (instance, cb) => observeOffset(instance, cb, (el) => {\n const { horizontal, isRtl } = instance.options;\n return horizontal ? el.scrollLeft * (isRtl && -1 || 1) : el.scrollTop;\n});\nconst observeWindowOffset = (instance, cb) => observeOffset(\n instance,\n cb,\n (win) => instance.options.horizontal ? win.scrollX : win.scrollY\n);\nconst measureElement = (element, entry, instance) => {\n if (instance.options.useCachedMeasurements) {\n const index = instance.indexFromElement(element);\n const key = instance.options.getItemKey(index);\n return instance.itemSizeCache.get(key) ?? instance.options.estimateSize(index);\n }\n if (entry == null ? void 0 : entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n if (box) {\n const size = Math.round(\n box[instance.options.horizontal ? \"inlineSize\" : \"blockSize\"]\n );\n return size;\n }\n }\n if (!entry) {\n const index = instance.indexFromElement(element);\n const key = instance.options.getItemKey(index);\n const cachedSize = instance.itemSizeCache.get(key);\n if (cachedSize !== void 0) {\n return cachedSize;\n }\n }\n return element[instance.options.horizontal ? \"offsetWidth\" : \"offsetHeight\"];\n};\nconst scrollWithAdjustments = (offset, {\n adjustments = 0,\n behavior\n}, instance) => {\n var _a, _b;\n (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n [instance.options.horizontal ? \"left\" : \"top\"]: offset + adjustments,\n behavior\n });\n};\nconst windowScroll = scrollWithAdjustments;\nconst elementScroll = scrollWithAdjustments;\nclass Virtualizer {\n constructor(opts) {\n this.unsubs = [];\n this.scrollElement = null;\n this.targetWindow = null;\n this.isScrolling = false;\n this.scrollState = null;\n this.measurementsCache = [];\n this._flatMeasurements = null;\n this.itemSizeCache = /* @__PURE__ */ new Map();\n this.itemSizeCacheVersion = 0;\n this.laneAssignments = /* @__PURE__ */ new Map();\n this.pendingMin = null;\n this.prevLanes = void 0;\n this.lanesChangedFlag = false;\n this.lanesSettling = false;\n this.pendingScrollAnchor = null;\n this.scrollRect = null;\n this.scrollOffset = null;\n this.scrollDirection = null;\n this.scrollAdjustments = 0;\n this._iosDeferredAdjustment = 0;\n this._iosTouching = false;\n this._iosJustTouchEnded = false;\n this._iosTouchEndTimerId = null;\n this._intendedScrollOffset = null;\n this.elementsCache = /* @__PURE__ */ new Map();\n this.now = () => {\n var _a, _b, _c;\n return ((_c = (_b = (_a = this.targetWindow) == null ? void 0 : _a.performance) == null ? void 0 : _b.now) == null ? void 0 : _c.call(_b)) ?? Date.now();\n };\n this.observer = /* @__PURE__ */ (() => {\n let _ro = null;\n const get = () => {\n if (_ro) {\n return _ro;\n }\n if (!this.targetWindow || !this.targetWindow.ResizeObserver) {\n return null;\n }\n return _ro = new this.targetWindow.ResizeObserver((entries) => {\n entries.forEach((entry) => {\n const run = () => {\n const node = entry.target;\n const index = this.indexFromElement(node);\n if (!node.isConnected) {\n this.observer.unobserve(node);\n for (const [cacheKey, cachedNode] of this.elementsCache) {\n if (cachedNode === node) {\n this.elementsCache.delete(cacheKey);\n break;\n }\n }\n return;\n }\n if (this.shouldMeasureDuringScroll(index)) {\n this.resizeItem(\n index,\n this.options.measureElement(node, entry, this)\n );\n }\n };\n this.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();\n });\n });\n };\n return {\n disconnect: () => {\n var _a;\n (_a = get()) == null ? void 0 : _a.disconnect();\n _ro = null;\n },\n observe: (target) => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.observe(target, { box: \"border-box\" });\n },\n unobserve: (target) => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.unobserve(target);\n }\n };\n })();\n this.range = null;\n this.setOptions = (opts2) => {\n var _a, _b;\n const merged = {\n debug: false,\n initialOffset: 0,\n overscan: 1,\n paddingStart: 0,\n paddingEnd: 0,\n scrollPaddingStart: 0,\n scrollPaddingEnd: 0,\n horizontal: false,\n getItemKey: defaultKeyExtractor,\n rangeExtractor: defaultRangeExtractor,\n onChange: () => {\n },\n measureElement,\n initialRect: { width: 0, height: 0 },\n scrollMargin: 0,\n gap: 0,\n indexAttribute: \"data-index\",\n initialMeasurementsCache: [],\n lanes: 1,\n anchorTo: \"start\",\n followOnAppend: false,\n scrollEndThreshold: 1,\n isScrollingResetDelay: 150,\n enabled: true,\n isRtl: false,\n useScrollendEvent: false,\n useAnimationFrameWithResizeObserver: false,\n laneAssignmentMode: \"estimate\",\n useCachedMeasurements: false\n };\n for (const key in opts2) {\n const v = opts2[key];\n if (v !== void 0) merged[key] = v;\n }\n const prevOptions = this.options;\n let anchor = null;\n let followOnAppend = null;\n let edgeKeysChanged = false;\n if (prevOptions !== void 0 && prevOptions.enabled && merged.enabled && merged.anchorTo === \"end\" && this.scrollElement !== null) {\n const prevCount = prevOptions.count;\n const nextCount = merged.count;\n const measurements = this.getMeasurements();\n const prevFirstKey = prevCount > 0 ? ((_a = measurements[0]) == null ? void 0 : _a.key) ?? prevOptions.getItemKey(0) : null;\n const prevLastKey = prevCount > 0 ? ((_b = measurements[prevCount - 1]) == null ? void 0 : _b.key) ?? prevOptions.getItemKey(prevCount - 1) : null;\n const didCountChange = nextCount !== prevCount;\n const didEdgeKeysChange = didCountChange || prevCount > 0 && nextCount > 0 && (merged.getItemKey(0) !== prevFirstKey || merged.getItemKey(nextCount - 1) !== prevLastKey);\n if (didEdgeKeysChange) {\n edgeKeysChanged = true;\n const item = prevCount > 0 ? this.getVirtualItemForOffset(this.getScrollOffset()) ?? measurements[0] : null;\n if (item) {\n anchor = [item.key, this.getScrollOffset() - item.start];\n }\n const behavior = merged.followOnAppend === true ? \"auto\" : merged.followOnAppend || null;\n if (behavior && nextCount > prevCount && this.isAtEnd(prevOptions.scrollEndThreshold) && (prevCount === 0 || merged.getItemKey(nextCount - 1) !== prevLastKey)) {\n followOnAppend = behavior;\n }\n }\n }\n this.options = merged;\n if (edgeKeysChanged) {\n this.pendingMin = 0;\n this.itemSizeCacheVersion++;\n }\n let anchorResolved = false;\n let anchorDelta = 0;\n if (anchor && this.scrollOffset !== null) {\n const [anchorKey, anchorOffset] = anchor;\n const newMeasurements = this.getMeasurements();\n const { count, getItemKey } = this.options;\n let idx = 0;\n while (idx < count && getItemKey(idx) !== anchorKey) {\n idx++;\n }\n if (idx < count) {\n const anchorItem = newMeasurements[idx];\n if (anchorItem) {\n const newOffset = anchorItem.start + anchorOffset;\n if (newOffset !== this.scrollOffset) {\n anchorDelta = newOffset - this.scrollOffset;\n this.scrollOffset = newOffset;\n anchorResolved = true;\n }\n }\n }\n }\n if (anchorResolved || followOnAppend) {\n this.pendingScrollAnchor = [\n anchorResolved ? anchor[0] : null,\n anchorResolved ? anchor[1] : 0,\n followOnAppend,\n anchorDelta\n ];\n }\n };\n this.notify = (sync) => {\n var _a, _b;\n (_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, sync);\n };\n this.maybeNotify = memo(\n () => {\n this.calculateRange();\n return [\n this.isScrolling,\n this.range ? this.range.startIndex : null,\n this.range ? this.range.endIndex : null\n ];\n },\n (isScrolling) => {\n this.notify(isScrolling);\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"maybeNotify\",\n debug: () => this.options.debug,\n initialDeps: [\n this.isScrolling,\n this.range ? this.range.startIndex : null,\n this.range ? this.range.endIndex : null\n ]\n }\n );\n this.cleanup = () => {\n this.unsubs.filter(Boolean).forEach((d) => d());\n this.unsubs = [];\n this.observer.disconnect();\n if (this.rafId != null && this.targetWindow) {\n this.targetWindow.cancelAnimationFrame(this.rafId);\n this.rafId = null;\n }\n this.scrollState = null;\n this.scrollElement = null;\n this.targetWindow = null;\n };\n this._didMount = () => {\n return () => {\n this.cleanup();\n };\n };\n this._willUpdate = () => {\n var _a;\n const scrollElement = this.options.enabled ? this.options.getScrollElement() : null;\n if (this.scrollElement !== scrollElement) {\n this.cleanup();\n if (!scrollElement) {\n this.maybeNotify();\n return;\n }\n this.scrollElement = scrollElement;\n if (this.scrollElement && \"ownerDocument\" in this.scrollElement) {\n this.targetWindow = this.scrollElement.ownerDocument.defaultView;\n } else {\n this.targetWindow = ((_a = this.scrollElement) == null ? void 0 : _a.window) ?? null;\n }\n this.elementsCache.forEach((cached) => {\n this.observer.observe(cached);\n });\n this.unsubs.push(\n this.options.observeElementRect(this, (rect) => {\n this.scrollRect = rect;\n this.maybeNotify();\n })\n );\n this.unsubs.push(\n this.options.observeElementOffset(this, (offset, isScrolling) => {\n if (isScrolling && this._intendedScrollOffset === null && offset === this.scrollOffset) {\n return;\n }\n if (this._intendedScrollOffset !== null && Math.abs(offset - this._intendedScrollOffset) < 1.5) {\n offset = this._intendedScrollOffset;\n }\n this._intendedScrollOffset = null;\n this.scrollAdjustments = 0;\n const prevOffset = this.getScrollOffset();\n this.scrollDirection = isScrolling ? prevOffset === offset ? this.scrollDirection : prevOffset < offset ? \"forward\" : \"backward\" : null;\n this.scrollOffset = offset;\n this.isScrolling = isScrolling;\n this._flushIosDeferredIfReady();\n if (this.scrollState) {\n this.scheduleScrollReconcile();\n }\n this.maybeNotify();\n })\n );\n if (\"addEventListener\" in this.scrollElement) {\n const scrollEl = this.scrollElement;\n const onTouchStart = () => {\n this._iosTouching = true;\n this._iosJustTouchEnded = false;\n if (this._iosTouchEndTimerId !== null && this.targetWindow != null) {\n this.targetWindow.clearTimeout(this._iosTouchEndTimerId);\n this._iosTouchEndTimerId = null;\n }\n };\n const onTouchEnd = () => {\n this._iosTouching = false;\n if (!isIOSWebKit() || this.targetWindow == null) {\n return;\n }\n this._iosJustTouchEnded = true;\n this._iosTouchEndTimerId = this.targetWindow.setTimeout(() => {\n this._iosJustTouchEnded = false;\n this._iosTouchEndTimerId = null;\n this._flushIosDeferredIfReady();\n }, 150);\n };\n scrollEl.addEventListener(\n \"touchstart\",\n onTouchStart,\n addEventListenerOptions\n );\n scrollEl.addEventListener(\n \"touchend\",\n onTouchEnd,\n addEventListenerOptions\n );\n this.unsubs.push(() => {\n scrollEl.removeEventListener(\"touchstart\", onTouchStart);\n scrollEl.removeEventListener(\"touchend\", onTouchEnd);\n if (this._iosTouchEndTimerId !== null && this.targetWindow != null) {\n this.targetWindow.clearTimeout(this._iosTouchEndTimerId);\n this._iosTouchEndTimerId = null;\n }\n });\n }\n this._scrollToOffset(this.getScrollOffset(), {\n adjustments: void 0,\n behavior: void 0\n });\n }\n const anchor = this.pendingScrollAnchor;\n this.pendingScrollAnchor = null;\n if (anchor && this.scrollElement && this.options.enabled) {\n const [key, _offset, followOnAppend, anchorDelta] = anchor;\n if (key !== null && !followOnAppend) {\n if (isIOSWebKit() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded)) {\n if (anchorDelta !== 0) {\n this._iosDeferredAdjustment += anchorDelta;\n }\n } else {\n this._scrollToOffset(this.getScrollOffset(), {\n adjustments: void 0,\n behavior: void 0\n });\n }\n }\n if (followOnAppend) {\n this.scrollToEnd({ behavior: followOnAppend });\n }\n }\n };\n this._flushIosDeferredIfReady = () => {\n if (this._iosDeferredAdjustment === 0) return;\n if (this.isScrolling) return;\n if (this._iosTouching) return;\n if (this._iosJustTouchEnded) return;\n const cur = this.getScrollOffset();\n const max = this.getMaxScrollOffset();\n if (cur < 0 || cur > max) return;\n const delta = this._iosDeferredAdjustment;\n this._iosDeferredAdjustment = 0;\n this._scrollToOffset(cur, {\n adjustments: this.scrollAdjustments += delta,\n behavior: void 0\n });\n };\n this.rafId = null;\n this.getSize = () => {\n if (!this.options.enabled) {\n this.scrollRect = null;\n return 0;\n }\n this.scrollRect = this.scrollRect ?? this.options.initialRect;\n return this.scrollRect[this.options.horizontal ? \"width\" : \"height\"];\n };\n this.getScrollOffset = () => {\n if (!this.options.enabled) {\n this.scrollOffset = null;\n return 0;\n }\n this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset === \"function\" ? this.options.initialOffset() : this.options.initialOffset);\n return this.scrollOffset;\n };\n this.getFurthestMeasurement = (measurements, index) => {\n const furthestMeasurementsFound = /* @__PURE__ */ new Map();\n const furthestMeasurements = /* @__PURE__ */ new Map();\n for (let m = index - 1; m >= 0; m--) {\n const measurement = measurements[m];\n if (furthestMeasurementsFound.has(measurement.lane)) {\n continue;\n }\n const previousFurthestMeasurement = furthestMeasurements.get(\n measurement.lane\n );\n if (previousFurthestMeasurement == null || measurement.end > previousFurthestMeasurement.end) {\n furthestMeasurements.set(measurement.lane, measurement);\n } else if (measurement.end < previousFurthestMeasurement.end) {\n furthestMeasurementsFound.set(measurement.lane, true);\n }\n if (furthestMeasurementsFound.size === this.options.lanes) {\n break;\n }\n }\n return furthestMeasurements.size === this.options.lanes ? Array.from(furthestMeasurements.values()).sort((a, b) => {\n if (a.end === b.end) {\n return a.index - b.index;\n }\n return a.end - b.end;\n })[0] : void 0;\n };\n this.getMeasurementOptions = memo(\n () => [\n this.options.count,\n this.options.paddingStart,\n this.options.scrollMargin,\n this.options.getItemKey,\n this.options.enabled,\n this.options.lanes,\n this.options.laneAssignmentMode\n ],\n (count, paddingStart, scrollMargin, getItemKey, enabled, lanes, laneAssignmentMode) => {\n const lanesChanged = this.prevLanes !== void 0 && this.prevLanes !== lanes;\n if (lanesChanged) {\n this.lanesChangedFlag = true;\n }\n this.prevLanes = lanes;\n this.pendingMin = null;\n return {\n count,\n paddingStart,\n scrollMargin,\n getItemKey,\n enabled,\n lanes,\n laneAssignmentMode\n };\n },\n {\n key: false\n }\n );\n this.getMeasurements = memo(\n () => [this.getMeasurementOptions(), this.itemSizeCacheVersion],\n ({\n count,\n paddingStart,\n scrollMargin,\n getItemKey,\n enabled,\n lanes,\n laneAssignmentMode\n }, _itemSizeCacheVersion) => {\n const itemSizeCache = this.itemSizeCache;\n if (!enabled) {\n this.measurementsCache = [];\n this.itemSizeCache.clear();\n this.laneAssignments.clear();\n return [];\n }\n if (this.laneAssignments.size > count) {\n for (const index of this.laneAssignments.keys()) {\n if (index >= count) {\n this.laneAssignments.delete(index);\n }\n }\n }\n if (this.lanesChangedFlag) {\n this.lanesChangedFlag = false;\n this.lanesSettling = true;\n this.measurementsCache = [];\n this.itemSizeCache.clear();\n this.laneAssignments.clear();\n this.pendingMin = null;\n }\n if (this.measurementsCache.length === 0 && !this.lanesSettling) {\n this.measurementsCache = this.options.initialMeasurementsCache;\n this.measurementsCache.forEach((item) => {\n this.itemSizeCache.set(item.key, item.size);\n });\n }\n const min = this.lanesSettling ? 0 : this.pendingMin ?? 0;\n this.pendingMin = null;\n if (this.lanesSettling && this.measurementsCache.length === count) {\n this.lanesSettling = false;\n }\n if (lanes === 1) {\n const gap = this.options.gap;\n const need = count * 2;\n let flat = this._flatMeasurements;\n if (!flat || flat.length < need) {\n const next = new Float64Array(need);\n if (flat && min > 0) next.set(flat.subarray(0, min * 2));\n flat = next;\n this._flatMeasurements = flat;\n }\n let runningStart;\n if (min === 0) {\n runningStart = paddingStart + scrollMargin;\n } else {\n const prevIdx = min - 1;\n runningStart = flat[prevIdx * 2] + flat[prevIdx * 2 + 1] + gap;\n }\n for (let i = min; i < count; i++) {\n const key = getItemKey(i);\n const measuredSize = itemSizeCache.get(key);\n const size = typeof measuredSize === \"number\" ? measuredSize : this.options.estimateSize(i);\n flat[i * 2] = runningStart;\n flat[i * 2 + 1] = size;\n runningStart += size + gap;\n }\n const view = createLazyMeasurementsView(count, flat, getItemKey);\n this.measurementsCache = view;\n return view;\n }\n const measurements = this.measurementsCache.slice(0, min);\n const laneLastIndex = new Array(lanes).fill(\n void 0\n );\n for (let m = 0; m < min; m++) {\n const item = measurements[m];\n if (item) {\n laneLastIndex[item.lane] = m;\n }\n }\n for (let i = min; i < count; i++) {\n const key = getItemKey(i);\n const cachedLane = this.laneAssignments.get(i);\n let lane;\n let start;\n const shouldCacheLane = laneAssignmentMode === \"estimate\" || itemSizeCache.has(key);\n if (cachedLane !== void 0 && this.options.lanes > 1) {\n lane = cachedLane;\n const prevIndex = laneLastIndex[lane];\n const prevInLane = prevIndex !== void 0 ? measurements[prevIndex] : void 0;\n start = prevInLane ? prevInLane.end + this.options.gap : paddingStart + scrollMargin;\n } else {\n const furthestMeasurement = this.options.lanes === 1 ? measurements[i - 1] : this.getFurthestMeasurement(measurements, i);\n start = furthestMeasurement ? furthestMeasurement.end + this.options.gap : paddingStart + scrollMargin;\n lane = furthestMeasurement ? furthestMeasurement.lane : i % this.options.lanes;\n if (this.options.lanes > 1 && shouldCacheLane) {\n this.laneAssignments.set(i, lane);\n }\n }\n const measuredSize = itemSizeCache.get(key);\n const size = typeof measuredSize === \"number\" ? measuredSize : this.options.estimateSize(i);\n const end = start + size;\n measurements[i] = {\n index: i,\n start,\n size,\n end,\n key,\n lane\n };\n laneLastIndex[lane] = i;\n }\n this.measurementsCache = measurements;\n return measurements;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getMeasurements\",\n debug: () => this.options.debug\n }\n );\n this.calculateRange = memo(\n () => [\n this.getMeasurements(),\n this.getSize(),\n this.getScrollOffset(),\n this.options.lanes\n ],\n (measurements, outerSize, scrollOffset, lanes) => {\n if (measurements.length === 0 || outerSize === 0) {\n this.range = null;\n return null;\n }\n this.range = calculateRangeImpl(\n measurements,\n outerSize,\n scrollOffset,\n lanes,\n // Pass the typed array so binary search + forward-walk can read\n // start/end directly from Float64Array, skipping the Proxy traps.\n lanes === 1 && this._flatMeasurements != null ? this._flatMeasurements : null\n );\n return this.range;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"calculateRange\",\n debug: () => this.options.debug\n }\n );\n this.getVirtualIndexes = memo(\n () => {\n let startIndex = null;\n let endIndex = null;\n const range = this.calculateRange();\n if (range) {\n startIndex = range.startIndex;\n endIndex = range.endIndex;\n }\n this.maybeNotify.updateDeps([this.isScrolling, startIndex, endIndex]);\n return [\n this.options.rangeExtractor,\n this.options.overscan,\n this.options.count,\n startIndex,\n endIndex\n ];\n },\n (rangeExtractor, overscan, count, startIndex, endIndex) => {\n return startIndex === null || endIndex === null ? [] : rangeExtractor({\n startIndex,\n endIndex,\n overscan,\n count\n });\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getVirtualIndexes\",\n debug: () => this.options.debug\n }\n );\n this.indexFromElement = (node) => {\n const attributeName = this.options.indexAttribute;\n const indexStr = node.getAttribute(attributeName);\n if (!indexStr) {\n console.warn(\n `Missing attribute name '${attributeName}={index}' on measured element.`\n );\n return -1;\n }\n return parseInt(indexStr, 10);\n };\n this.shouldMeasureDuringScroll = (index) => {\n var _a;\n if (!this.scrollState || this.scrollState.behavior !== \"smooth\") {\n return true;\n }\n const scrollIndex = this.scrollState.index ?? ((_a = this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)) == null ? void 0 : _a.index);\n if (scrollIndex !== void 0 && this.range) {\n const bufferSize = Math.max(\n this.options.overscan,\n Math.ceil((this.range.endIndex - this.range.startIndex) / 2)\n );\n const minIndex = Math.max(0, scrollIndex - bufferSize);\n const maxIndex = Math.min(\n this.options.count - 1,\n scrollIndex + bufferSize\n );\n return index >= minIndex && index <= maxIndex;\n }\n return true;\n };\n this.measureElement = (node) => {\n if (!node) {\n this.elementsCache.forEach((cached, key2) => {\n if (!cached.isConnected) {\n this.observer.unobserve(cached);\n this.elementsCache.delete(key2);\n }\n });\n return;\n }\n const index = this.indexFromElement(node);\n const key = this.options.getItemKey(index);\n const prevNode = this.elementsCache.get(key);\n if (prevNode !== node) {\n if (prevNode) {\n this.observer.unobserve(prevNode);\n }\n this.observer.observe(node);\n this.elementsCache.set(key, node);\n }\n if ((!this.isScrolling || this.scrollState) && this.shouldMeasureDuringScroll(index)) {\n this.resizeItem(index, this.options.measureElement(node, void 0, this));\n }\n };\n this.resizeItem = (index, size) => {\n var _a, _b;\n if (index < 0 || index >= this.options.count) return;\n let cachedSize;\n let itemStart;\n let key;\n const flat = this._flatMeasurements;\n if (this.options.lanes === 1 && flat !== null) {\n key = this.options.getItemKey(index);\n itemStart = flat[index * 2];\n cachedSize = flat[index * 2 + 1];\n } else {\n const item = this.measurementsCache[index];\n if (!item) return;\n key = item.key;\n itemStart = item.start;\n cachedSize = item.size;\n }\n const itemSize = this.itemSizeCache.get(key) ?? cachedSize;\n const delta = size - itemSize;\n if (delta !== 0) {\n const wasAtEnd = this.options.anchorTo === \"end\" && ((_a = this.scrollState) == null ? void 0 : _a.behavior) !== \"smooth\" && this.getVirtualDistanceFromEnd() <= this.options.scrollEndThreshold;\n const prevTotalSize = wasAtEnd ? this.getTotalSize() : 0;\n const shouldAdjustScroll = ((_b = this.scrollState) == null ? void 0 : _b.behavior) !== \"smooth\" && (this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(\n // The callback expects a VirtualItem; build one lazily only\n // when the consumer actually supplied a custom predicate.\n this.measurementsCache[index] ?? {\n index,\n key,\n start: itemStart,\n size: cachedSize,\n end: itemStart + cachedSize,\n lane: 0\n },\n delta,\n this\n ) : (\n // Default: adjust when the resize is an above-viewport item.\n // First measurement (!has(key)): always adjust — the item\n // has never been sized, so the estimate→actual delta must\n // be compensated regardless of scroll direction.\n // Re-measurement (has(key)): skip during backward scroll\n // to avoid the \"items jump while scrolling up\" cascade.\n itemStart < this.getScrollOffset() + this.scrollAdjustments && (!this.itemSizeCache.has(key) || this.scrollDirection !== \"backward\")\n ));\n if (this.pendingMin === null || index < this.pendingMin) {\n this.pendingMin = index;\n }\n this.itemSizeCache.set(key, size);\n this.itemSizeCacheVersion++;\n if (wasAtEnd) {\n this.applyScrollAdjustment(this.getTotalSize() - prevTotalSize);\n } else if (shouldAdjustScroll) {\n this.applyScrollAdjustment(delta);\n }\n this.notify(false);\n }\n };\n this.getVirtualItems = memo(\n () => [this.getVirtualIndexes(), this.getMeasurements()],\n (indexes, measurements) => {\n const virtualItems = [];\n for (let k = 0, len = indexes.length; k < len; k++) {\n const i = indexes[k];\n const measurement = measurements[i];\n virtualItems.push(measurement);\n }\n return virtualItems;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getVirtualItems\",\n debug: () => this.options.debug\n }\n );\n this.getVirtualItemForOffset = (offset) => {\n const measurements = this.getMeasurements();\n if (measurements.length === 0) {\n return void 0;\n }\n const flat = this._flatMeasurements;\n const useFlat = this.options.lanes === 1 && flat != null;\n const idx = findNearestBinarySearch(\n 0,\n measurements.length - 1,\n useFlat ? (i) => flat[i * 2] : (i) => notUndefined(measurements[i]).start,\n offset\n );\n return notUndefined(measurements[idx]);\n };\n this.getMaxScrollOffset = () => {\n if (!this.scrollElement) return 0;\n if (\"scrollHeight\" in this.scrollElement) {\n return this.options.horizontal ? this.scrollElement.scrollWidth - this.scrollElement.clientWidth : this.scrollElement.scrollHeight - this.scrollElement.clientHeight;\n } else {\n const doc = this.scrollElement.document.documentElement;\n return this.options.horizontal ? doc.scrollWidth - this.scrollElement.innerWidth : doc.scrollHeight - this.scrollElement.innerHeight;\n }\n };\n this.getVirtualDistanceFromEnd = () => {\n return Math.max(\n this.getTotalSize() - this.getSize() - this.getScrollOffset(),\n 0\n );\n };\n this.getDistanceFromEnd = () => {\n return Math.max(this.getMaxScrollOffset() - this.getScrollOffset(), 0);\n };\n this.isAtEnd = (threshold = this.options.scrollEndThreshold) => {\n return this.getDistanceFromEnd() <= threshold;\n };\n this.getOffsetForAlignment = (toOffset, align, itemSize = 0) => {\n if (!this.scrollElement) return 0;\n const size = this.getSize();\n const scrollOffset = this.getScrollOffset();\n if (align === \"auto\") {\n align = toOffset >= scrollOffset + size ? \"end\" : \"start\";\n }\n if (align === \"center\") {\n toOffset += (itemSize - size) / 2;\n } else if (align === \"end\") {\n toOffset -= size;\n }\n const maxOffset = this.getMaxScrollOffset();\n return Math.max(Math.min(maxOffset, toOffset), 0);\n };\n this.getOffsetForIndex = (index, align = \"auto\") => {\n index = Math.max(0, Math.min(index, this.options.count - 1));\n const size = this.getSize();\n const scrollOffset = this.getScrollOffset();\n const item = this.measurementsCache[index];\n if (!item) return;\n if (align === \"auto\") {\n if (item.end >= scrollOffset + size - this.options.scrollPaddingEnd) {\n align = \"end\";\n } else if (item.start <= scrollOffset + this.options.scrollPaddingStart) {\n align = \"start\";\n } else {\n return [scrollOffset, align];\n }\n }\n if (align === \"end\" && index === this.options.count - 1) {\n return [this.getMaxScrollOffset(), align];\n }\n const toOffset = align === \"end\" ? item.end + this.options.scrollPaddingEnd : item.start - this.options.scrollPaddingStart;\n return [\n this.getOffsetForAlignment(toOffset, align, item.size),\n align\n ];\n };\n this.scrollToOffset = (toOffset, { align = \"start\", behavior = \"auto\" } = {}) => {\n const offset = this.getOffsetForAlignment(toOffset, align);\n const now = this.now();\n this.scrollState = {\n index: null,\n align,\n behavior,\n startedAt: now,\n lastTargetOffset: offset,\n stableFrames: 0\n };\n this._scrollToOffset(offset, { adjustments: void 0, behavior });\n this.scheduleScrollReconcile();\n };\n this.scrollToIndex = (index, {\n align: initialAlign = \"auto\",\n behavior = \"auto\"\n } = {}) => {\n index = Math.max(0, Math.min(index, this.options.count - 1));\n const offsetInfo = this.getOffsetForIndex(index, initialAlign);\n if (!offsetInfo) {\n return;\n }\n const [offset, align] = offsetInfo;\n const now = this.now();\n this.scrollState = {\n index,\n align,\n behavior,\n startedAt: now,\n lastTargetOffset: offset,\n stableFrames: 0\n };\n this._scrollToOffset(offset, { adjustments: void 0, behavior });\n this.scheduleScrollReconcile();\n };\n this.scrollBy = (delta, { behavior = \"auto\" } = {}) => {\n const offset = this.getScrollOffset() + delta;\n const now = this.now();\n this.scrollState = {\n index: null,\n align: \"start\",\n behavior,\n startedAt: now,\n lastTargetOffset: offset,\n stableFrames: 0\n };\n this._scrollToOffset(offset, { adjustments: void 0, behavior });\n this.scheduleScrollReconcile();\n };\n this.scrollToEnd = ({ behavior = \"auto\" } = {}) => {\n if (this.options.count > 0) {\n this.scrollToIndex(this.options.count - 1, {\n align: \"end\",\n behavior\n });\n return;\n }\n this.scrollToOffset(Math.max(this.getTotalSize() - this.getSize(), 0), {\n behavior\n });\n };\n this.getTotalSize = () => {\n var _a;\n const measurements = this.getMeasurements();\n let end;\n if (measurements.length === 0) {\n end = this.options.paddingStart;\n } else if (this.options.lanes === 1) {\n const lastIdx = measurements.length - 1;\n const flat = this._flatMeasurements;\n if (flat != null) {\n end = flat[lastIdx * 2] + flat[lastIdx * 2 + 1];\n } else {\n end = ((_a = measurements[lastIdx]) == null ? void 0 : _a.end) ?? 0;\n }\n } else {\n const endByLane = Array(this.options.lanes).fill(null);\n let endIndex = measurements.length - 1;\n while (endIndex >= 0 && endByLane.some((val) => val === null)) {\n const item = measurements[endIndex];\n if (endByLane[item.lane] === null) {\n endByLane[item.lane] = item.end;\n }\n endIndex--;\n }\n end = Math.max(...endByLane.filter((val) => val !== null));\n }\n return Math.max(\n end - this.options.scrollMargin + this.options.paddingEnd,\n 0\n );\n };\n this.takeSnapshot = () => {\n const snapshot = [];\n if (this.itemSizeCache.size === 0) return snapshot;\n const m = this.getMeasurements();\n for (const item of m) {\n if (item && this.itemSizeCache.has(item.key)) {\n snapshot.push({\n index: item.index,\n key: item.key,\n start: item.start,\n size: item.size,\n end: item.end,\n lane: item.lane\n });\n }\n }\n return snapshot;\n };\n this._scrollToOffset = (offset, {\n adjustments,\n behavior\n }) => {\n this._intendedScrollOffset = offset + (adjustments ?? 0);\n this.options.scrollToFn(offset, { behavior, adjustments }, this);\n };\n this.measure = () => {\n this.pendingMin = null;\n this.itemSizeCache.clear();\n this.laneAssignments.clear();\n this.itemSizeCacheVersion++;\n this.notify(false);\n };\n this.setOptions(opts);\n }\n applyScrollAdjustment(delta, behavior) {\n if (delta === 0) return;\n if (process.env.NODE_ENV !== \"production\" && this.options.debug) {\n console.info(\"correction\", delta);\n }\n if (isIOSWebKit() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded)) {\n this._iosDeferredAdjustment += delta;\n } else {\n this._scrollToOffset(this.getScrollOffset(), {\n adjustments: this.scrollAdjustments += delta,\n behavior\n });\n if (this.scrollOffset !== null) {\n this.scrollOffset += this.scrollAdjustments;\n this.scrollAdjustments = 0;\n }\n }\n }\n scheduleScrollReconcile() {\n if (!this.targetWindow) {\n this.scrollState = null;\n return;\n }\n if (this.rafId != null) return;\n this.rafId = this.targetWindow.requestAnimationFrame(() => {\n this.rafId = null;\n this.reconcileScroll();\n });\n }\n reconcileScroll() {\n if (!this.scrollState) return;\n const el = this.scrollElement;\n if (!el) return;\n const MAX_RECONCILE_MS = 5e3;\n if (this.now() - this.scrollState.startedAt > MAX_RECONCILE_MS) {\n this.scrollState = null;\n return;\n }\n const offsetInfo = this.scrollState.index != null ? this.getOffsetForIndex(this.scrollState.index, this.scrollState.align) : void 0;\n const targetOffset = offsetInfo ? offsetInfo[0] : this.scrollState.lastTargetOffset;\n const STABLE_FRAMES = 1;\n const targetChanged = targetOffset !== this.scrollState.lastTargetOffset;\n if (!targetChanged && approxEqual(targetOffset, this.getScrollOffset())) {\n this.scrollState.stableFrames++;\n if (this.scrollState.stableFrames >= STABLE_FRAMES) {\n if (this.getScrollOffset() !== targetOffset) {\n this._scrollToOffset(targetOffset, {\n adjustments: void 0,\n behavior: \"auto\"\n });\n }\n this.scrollState = null;\n return;\n }\n } else {\n this.scrollState.stableFrames = 0;\n if (targetChanged) {\n const viewport = this.getSize() || 600;\n const distance = Math.abs(targetOffset - this.getScrollOffset());\n const keepSmooth = this.scrollState.behavior === \"smooth\" && distance > viewport;\n this.scrollState.lastTargetOffset = targetOffset;\n if (!keepSmooth) {\n this.scrollState.behavior = \"auto\";\n }\n this._scrollToOffset(targetOffset, {\n adjustments: void 0,\n behavior: keepSmooth ? \"smooth\" : \"auto\"\n });\n }\n }\n this.scheduleScrollReconcile();\n }\n}\nconst findNearestBinarySearch = (low, high, getCurrentValue, value) => {\n while (low <= high) {\n const middle = (low + high) / 2 | 0;\n const currentValue = getCurrentValue(middle);\n if (currentValue < value) {\n low = middle + 1;\n } else if (currentValue > value) {\n high = middle - 1;\n } else {\n return middle;\n }\n }\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\nfunction findNearestBinarySearchFlat(flat, high, value) {\n let low = 0;\n while (low <= high) {\n const middle = (low + high) / 2 | 0;\n const currentValue = flat[middle * 2];\n if (currentValue < value) {\n low = middle + 1;\n } else if (currentValue > value) {\n high = middle - 1;\n } else {\n return middle;\n }\n }\n return low > 0 ? low - 1 : 0;\n}\nfunction calculateRangeImpl(measurements, outerSize, scrollOffset, lanes, flat) {\n const lastIndex = measurements.length - 1;\n if (measurements.length <= lanes) {\n return { startIndex: 0, endIndex: lastIndex };\n }\n if (lanes === 1 && flat !== null) {\n const startIndex2 = findNearestBinarySearchFlat(\n flat,\n lastIndex,\n scrollOffset\n );\n let endIndex2 = startIndex2;\n const limit = scrollOffset + outerSize;\n while (endIndex2 < lastIndex && flat[endIndex2 * 2] + flat[endIndex2 * 2 + 1] < limit) {\n endIndex2++;\n }\n return { startIndex: startIndex2, endIndex: endIndex2 };\n }\n const getStart = (index) => measurements[index].start;\n let startIndex = findNearestBinarySearch(0, lastIndex, getStart, scrollOffset);\n let endIndex = startIndex;\n if (lanes === 1) {\n while (endIndex < lastIndex && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n } else if (lanes > 1) {\n const endPerLane = Array(lanes).fill(0);\n while (endIndex < lastIndex && endPerLane.some((pos) => pos < scrollOffset + outerSize)) {\n const item = measurements[endIndex];\n endPerLane[item.lane] = item.end;\n endIndex++;\n }\n const startPerLane = Array(lanes).fill(scrollOffset + outerSize);\n while (startIndex >= 0 && startPerLane.some((pos) => pos >= scrollOffset)) {\n const item = measurements[startIndex];\n startPerLane[item.lane] = item.start;\n startIndex--;\n }\n startIndex = Math.max(0, startIndex - startIndex % lanes);\n endIndex = Math.min(lastIndex, endIndex + (lanes - 1 - endIndex % lanes));\n }\n return { startIndex, endIndex };\n}\nexport {\n Virtualizer,\n _resetIOSDetectionForTests,\n approxEqual,\n debounce,\n defaultKeyExtractor,\n defaultRangeExtractor,\n elementScroll,\n measureElement,\n memo,\n notUndefined,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n windowScroll\n};\n//# sourceMappingURL=index.js.map\n","function createLazyMeasurementsView(count, flat, getItemKey) {\n const cache = new Array(count);\n return new Proxy(cache, {\n get(target, prop, receiver) {\n if (typeof prop === \"string\") {\n const c = prop.charCodeAt(0);\n if (c >= 48 && c <= 57) {\n const i = +prop;\n if (Number.isInteger(i) && i >= 0 && i < count) {\n let v = target[i];\n if (!v) {\n const s = flat[i * 2];\n v = target[i] = {\n index: i,\n key: getItemKey(i),\n start: s,\n size: flat[i * 2 + 1],\n end: s + flat[i * 2 + 1],\n lane: 0\n };\n }\n return v;\n }\n }\n if (prop === \"length\") return count;\n }\n return Reflect.get(target, prop, receiver);\n }\n });\n}\nexport {\n createLazyMeasurementsView\n};\n//# sourceMappingURL=lazy-measurements.js.map\n","import { elementScroll, observeElementOffset, observeElementRect, windowScroll, observeWindowOffset, observeWindowRect, Virtualizer } from \"@tanstack/virtual-core\";\nclass VirtualizerControllerBase {\n constructor(host, options) {\n this.cleanup = () => {\n };\n const resolvedOptions = {\n ...options,\n onChange: (instance, sync) => {\n var _a;\n this.host.updateComplete.then(() => this.host.requestUpdate());\n (_a = options.onChange) == null ? void 0 : _a.call(options, instance, sync);\n }\n };\n this.virtualizer = new Virtualizer(resolvedOptions);\n (this.host = host).addController(this);\n }\n getVirtualizer() {\n return this.virtualizer;\n }\n hostConnected() {\n this.cleanup = this.virtualizer._didMount();\n }\n hostUpdated() {\n this.virtualizer._willUpdate();\n }\n hostDisconnected() {\n this.cleanup();\n }\n}\nclass VirtualizerController extends VirtualizerControllerBase {\n constructor(host, options) {\n super(host, {\n observeElementRect,\n observeElementOffset,\n scrollToFn: elementScroll,\n ...options\n });\n }\n}\nclass WindowVirtualizerController extends VirtualizerControllerBase {\n constructor(host, options) {\n super(host, {\n getScrollElement: () => typeof document !== \"undefined\" ? window : null,\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n initialOffset: () => typeof document !== \"undefined\" ? window.scrollY : 0,\n ...options\n });\n }\n}\nexport {\n VirtualizerController,\n WindowVirtualizerController\n};\n//# sourceMappingURL=index.js.map\n"],"names":["memo","getDeps","fn","opts","_i$initialDeps","result","deps","initialDeps","isInitial","memoizedFunction","newDeps","length","some","dep","index","onChange","skipInitialOnChange","updateDeps","notUndefined","value","msg","Error","setters","execute","debounce","targetWindow","ms","timeoutId","args","clearTimeout","setTimeout","apply","this","isIOSWebKit","_isIOSResult","navigator","test","userAgent","mtp","maxTouchPoints","platform","getRect","element","offsetWidth","offsetHeight","width","height","defaultKeyExtractor","defaultRangeExtractor","range","start","Math","max","startIndex","overscan","len","min","endIndex","count","arr","Array","i","observeElementRect","o","instance","cb","scrollElement","handler","rect","round","ResizeObserver","observer","entries","run","entry","borderBoxSize","box","inlineSize","blockSize","options","useAnimationFrameWithResizeObserver","requestAnimationFrame","observe","unobserve","addEventListenerOptions","passive","supportsScrollend","window","observeElementOffset","c","readOffset","registerScrollendEvent","useScrollendEvent","offset","fallback","isScrollingResetDelay","createHandler","isScrolling","endHandler","addEventListener","removeEventListener","el","_t$options","horizontal","isRtl","scrollLeft","scrollTop","measureElement","useCachedMeasurements","_i$itemSizeCache$get","indexFromElement","key","getItemKey","itemSizeCache","get","estimateSize","cachedSize","elementScroll","f","adjustments","_ref$adjustments","_ref","behavior","_a","_b","scrollTo","call","_defineProperty","Virtualizer","v","unsubs","scrollState","measurementsCache","_flatMeasurements","Map","itemSizeCacheVersion","laneAssignments","pendingMin","prevLanes","lanesChangedFlag","lanesSettling","pendingScrollAnchor","scrollRect","scrollOffset","scrollDirection","scrollAdjustments","_iosDeferredAdjustment","_iosTouching","_iosJustTouchEnded","_iosTouchEndTimerId","_intendedScrollOffset","elementsCache","now","_ref2","_c","performance","Date","_ro","forEach","s","node","target","isConnected","shouldMeasureDuringScroll","resizeItem","_iterator","_createForOfIteratorHelper","_step","n","done","_step$value","_slicedToArray","cacheKey","cachedNode","delete","err","e","disconnect","setOptions","opts2","merged","debug","initialOffset","paddingStart","paddingEnd","scrollPaddingStart","scrollPaddingEnd","rangeExtractor","initialRect","scrollMargin","gap","indexAttribute","initialMeasurementsCache","lanes","anchorTo","followOnAppend","scrollEndThreshold","enabled","laneAssignmentMode","prevOptions","anchor","edgeKeysChanged","_ref3","_ref4","prevCount","nextCount","measurements","getMeasurements","prevFirstKey","prevLastKey","_this2$getVirtualItem","item","getVirtualItemForOffset","getScrollOffset","isAtEnd","anchorResolved","anchorDelta","_e","anchorKey","anchorOffset","newMeasurements","idx","anchorItem","newOffset","notify","sync","maybeNotify","calculateRange","cleanup","filter","Boolean","d","rafId","cancelAnimationFrame","_didMount","_willUpdate","getScrollElement","_ref5","ownerDocument","defaultView","cached","push","abs","prevOffset","_flushIosDeferredIfReady","scheduleScrollReconcile","scrollEl","onTouchStart","onTouchEnd","_scrollToOffset","_i8","_offset","scrollToEnd","cur","getMaxScrollOffset","delta","getSize","_this2$scrollRect","_this2$scrollOffset","getFurthestMeasurement","furthestMeasurementsFound","furthestMeasurements","m","measurement","has","lane","previousFurthestMeasurement","end","set","size","from","values","sort","a","b","getMeasurementOptions","_ref6","_itemSizeCacheVersion","clear","_iterator2","keys","_step2","_this2$pendingMin","need","runningStart","flat","next","Float64Array","subarray","prevIdx","measuredSize","view","cache","Proxy","prop","receiver","charCodeAt","Number","isInteger","Reflect","createLazyMeasurementsView","slice","laneLastIndex","fill","cachedLane","shouldCacheLane","prevIndex","prevInLane","furthestMeasurement","outerSize","lastIndex","startIndex2","high","low","middle","currentValue","findNearestBinarySearchFlat","endIndex2","limit","getStart","findNearestBinarySearch","endPerLane","pos","startPerLane","calculateRangeImpl","getVirtualIndexes","attributeName","indexStr","getAttribute","parseInt","console","warn","_this2$scrollState$in","scrollIndex","lastTargetOffset","bufferSize","ceil","minIndex","maxIndex","key2","prevNode","itemStart","_this2$measurementsCa","wasAtEnd","getVirtualDistanceFromEnd","prevTotalSize","getTotalSize","shouldAdjustScroll","shouldAdjustScrollPositionOnItemSizeChange","applyScrollAdjustment","getVirtualItems","indexes","virtualItems","k","useFlat","scrollWidth","clientWidth","scrollHeight","clientHeight","doc","document","documentElement","innerWidth","innerHeight","getDistanceFromEnd","threshold","getOffsetForAlignment","toOffset","align","itemSize","maxOffset","getOffsetForIndex","arguments","undefined","scrollToOffset","_ref7$align","_ref7$behavior","_ref7","startedAt","stableFrames","scrollToIndex","initialAlign","_ref8$align","_ref8$behavior","_ref8","offsetInfo","_h9","scrollBy","_ref9","_ref9$behavior","_ref10$behavior","t","_ref11","lastIdx","endByLane","val","takeSnapshot","snapshot","_iterator3","_step3","scrollToFn","measure","_createClass","reconcileScroll","targetOffset","targetChanged","viewport","distance","keepSmooth","getCurrentValue","VirtualizerControllerBase","g","host","resolvedOptions","_objectSpread","updateComplete","then","requestUpdate","virtualizer","addController","getVirtualizer","hostConnected","hostUpdated","hostDisconnected","_export","VirtualizerController"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|