@aquera/nile-elements 1.9.10 → 1.9.11
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 +3 -0
- package/dist/{index-a487d8b4.esm.js → index-802939a8.esm.js} +1 -1
- package/dist/{index-747d1880.cjs.js → index-d37d33cb.cjs.js} +2 -2
- package/dist/index-d37d33cb.cjs.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +59 -5
- 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-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-drawer/nile-drawer.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
- package/dist/nile-drawer/nile-drawer.css.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.css.cjs.js.map +1 -1
- package/dist/nile-drawer/nile-drawer.css.esm.js +54 -0
- package/dist/nile-drawer/nile-drawer.esm.js +6 -6
- package/dist/src/nile-drawer/nile-drawer.css.js +54 -0
- package/dist/src/nile-drawer/nile-drawer.css.js.map +1 -1
- package/dist/src/nile-drawer/nile-drawer.d.ts +4 -0
- package/dist/src/nile-drawer/nile-drawer.js +83 -38
- package/dist/src/nile-drawer/nile-drawer.js.map +1 -1
- package/dist/src/nile-drawer/nile-drawer.test.js +71 -0
- package/dist/src/nile-drawer/nile-drawer.test.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 +1 -1
- package/src/nile-drawer/nile-drawer.css.ts +54 -0
- package/src/nile-drawer/nile-drawer.test.ts +73 -0
- package/src/nile-drawer/nile-drawer.ts +58 -11
- package/vscode-html-custom-data.json +11 -1
- package/dist/index-747d1880.cjs.js.map +0 -1
package/README.md
CHANGED
|
@@ -79,6 +79,9 @@ To run a local development server that serves the basic demo located in `demo/in
|
|
|
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
81
|
|
|
82
|
+
#### Version 1.9.11 (July 29, 2026)
|
|
83
|
+
- Nile Drawer: Adding push variant and noOverlay property for Nile Drawer (UIF-1318)
|
|
84
|
+
|
|
82
85
|
#### Version 1.9.10 (July 28, 2026)
|
|
83
86
|
- Nile Checkbox: Fixed focus ring not appearing on click in Safari/WebKit (UIF-1311)
|
|
84
87
|
- Nile Nav Tab: Give tabs padding and draw the keyboard focus ring around the label rather than the whole tab (UIF-1311)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function t(t,i,s){let h,n=s.initialDeps??[],e=!0;function l(){const l=t();return l.length!==n.length||l.some(((t,i)=>n[i]!==t))?(n=l,h=i(...l),!(null==s?void 0:s.onChange)||e&&s.skipInitialOnChange||s.onChange(h),e=!1,h):h}return l.updateDeps=t=>{n=t},l}function i(t,i){if(void 0===t)throw new Error("Unexpected undefined"+(i?`: ${i}`:""));return t}const s=(t,i,s)=>{let h;return function(...n){t.clearTimeout(h),h=t.setTimeout((()=>i.apply(this,n)),s)}};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:i,offsetHeight:s}=t;return{width:i,height:s}},l=t=>t,r=t=>{const i=Math.max(t.startIndex-t.overscan,0),s=Math.min(t.endIndex+t.overscan,t.count-1)-i+1,h=new Array(s);for(let t=0;t<s;t++)h[t]=i+t;return h},o=(t,i)=>{const s=t.scrollElement;if(!s)return;const h=t.targetWindow;if(!h)return;const n=t=>{const{width:s,height:h}=t;i({width:Math.round(s),height:Math.round(h)})};if(n(e(s)),!h.ResizeObserver)return()=>{};const l=new h.ResizeObserver((i=>{const h=()=>{const t=i[0];if(null==t?void 0:t.borderBoxSize){const i=t.borderBoxSize[0];if(i)return void n({width:i.inlineSize,height:i.blockSize})}n(e(s))};t.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(h):h()}));return l.observe(s,{box:"border-box"}),()=>{l.unobserve(s)}},u={passive:!0},a="undefined"==typeof window||"onscrollend"in window,c=(t,i)=>((t,i,h)=>{const n=t.scrollElement;if(!n)return;const e=t.targetWindow;if(!e)return;const l=t.options.useScrollendEvent&&a;let r=0;const o=l?null:s(e,(()=>i(r,!1)),t.options.isScrollingResetDelay),c=t=>()=>{r=h(n),null==o||o(),i(r,t)},d=c(!0),f=c(!1);return n.addEventListener("scroll",d,u),l&&n.addEventListener("scrollend",f,u),()=>{n.removeEventListener("scroll",d),l&&n.removeEventListener("scrollend",f)}})(t,i,(i=>{const{horizontal:s,isRtl:h}=t.options;return s?i.scrollLeft*(h?-1:1):i.scrollTop})),d=(t,i,s)=>{if(s.options.useCachedMeasurements){const i=s.indexFromElement(t),h=s.options.getItemKey(i);return s.itemSizeCache.get(h)??s.options.estimateSize(i)}if(null==i?void 0:i.borderBoxSize){const t=i.borderBoxSize[0];if(t){return Math.round(t[s.options.horizontal?"inlineSize":"blockSize"])}}if(!i){const i=s.indexFromElement(t),h=s.options.getItemKey(i),n=s.itemSizeCache.get(h);if(void 0!==n)return n}return t[s.options.horizontal?"offsetWidth":"offsetHeight"]},f=(t,{adjustments:i=0,behavior:s},h)=>{var n,e;null==(e=null==(n=h.scrollElement)?void 0:n.scrollTo)||e.call(n,{[h.options.horizontal?"left":"top"]:t+i,behavior:s})};class v{constructor(s){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,i,s;return(null==(s=null==(i=null==(t=this.targetWindow)?void 0:t.performance)?void 0:i.now)?void 0:s.call(i))??Date.now()},this.observer=(()=>{let t=null;const i=()=>t||(this.targetWindow&&this.targetWindow.ResizeObserver?t=new this.targetWindow.ResizeObserver((t=>{t.forEach((t=>{const i=()=>{const i=t.target,s=this.indexFromElement(i);if(i.isConnected)this.shouldMeasureDuringScroll(s)&&this.resizeItem(s,this.options.measureElement(i,t,this));else{this.observer.unobserve(i);for(const[t,s]of this.elementsCache)if(s===i){this.elementsCache.delete(t);break}}};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(i):i()}))})):null);return{disconnect:()=>{var s;null==(s=i())||s.disconnect(),t=null},observe:t=>{var s;return null==(s=i())?void 0:s.observe(t,{box:"border-box"})},unobserve:t=>{var s;return null==(s=i())?void 0:s.unobserve(t)}}})(),this.range=null,this.setOptions=t=>{var i,s;const h={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:l,rangeExtractor:r,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 i in t){const s=t[i];void 0!==s&&(h[i]=s)}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,l=h.count,r=this.getMeasurements(),a=t>0?(null==(i=r[0])?void 0:i.key)??n.getItemKey(0):null,c=t>0?(null==(s=r[t-1])?void 0:s.key)??n.getItemKey(t-1):null;if(l!==t||t>0&&l>0&&(h.getItemKey(0)!==a||h.getItemKey(l-1)!==c)){u=!0;const i=t>0?this.getVirtualItemForOffset(this.getScrollOffset())??r[0]:null;i&&(e=[i.key,this.getScrollOffset()-i.start]);const s=!0===h.followOnAppend?"auto":h.followOnAppend||null;s&&l>t&&this.isAtEnd(n.scrollEndThreshold)&&(0===t||h.getItemKey(l-1)!==c)&&(o=s)}}this.options=h,u&&(this.pendingMin=0,this.itemSizeCacheVersion++);let a=!1,c=0;if(e&&null!==this.scrollOffset){const[t,i]=e,s=this.getMeasurements(),{count:h,getItemKey:n}=this.options;let l=0;for(;l<h&&n(l)!==t;)l++;if(l<h){const t=s[l];if(t){const s=Math.max(0,t.start+i);s!==this.scrollOffset&&(c=s-this.scrollOffset,this.scrollOffset=s,a=!0)}}}(a||o)&&(this.pendingScrollAnchor=[a?e[0]:null,a?e[1]:0,o,c])},this.notify=t=>{var i,s;null==(s=(i=this.options).onChange)||s.call(i,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._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t;const i=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==i){if(this.cleanup(),!i)return void this.maybeNotify();if(this.scrollElement=i,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,i)=>{if(i&&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 s=this.getScrollOffset();this.scrollDirection=i?s===t?this.scrollDirection:s<t?"forward":"backward":null,this.scrollOffset=t,this.isScrolling=i,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()}))),"addEventListener"in this.scrollElement){const t=this.scrollElement,i=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,null!==this._iosTouchEndTimerId&&null!=this.targetWindow&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},s=()=>{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",i,u),t.addEventListener("touchend",s,u),this.unsubs.push((()=>{t.removeEventListener("touchstart",i),t.removeEventListener("touchend",s),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 s=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,s&&this.scrollElement&&this.options.enabled){const[t,i,h,e]=s;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(),i=this.getMaxScrollOffset();if(t<0||t>i)return;if(this._iosDeferredAdjustment<0&&t>=i-1)return void(this._iosDeferredAdjustment=0);const s=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(t,{adjustments:this.scrollAdjustments+=s,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.getMeasurementOptions=t((()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap]),((t,i,s,h,n,e,l,r)=>(void 0!==this.prevLanes&&this.prevLanes!==e&&(this.lanesChangedFlag=!0),this.prevLanes=e,this.pendingMin=null,{count:t,paddingStart:i,scrollMargin:s,getItemKey:h,enabled:n,lanes:e,laneAssignmentMode:l,gap:r})),{key:!1}),this.getMeasurements=t((()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion]),(({count:t,paddingStart:i,scrollMargin:s,getItemKey:h,enabled:n,lanes:e,laneAssignmentMode:l,gap:r},o)=>{const u=this.itemSizeCache;if(!n)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(const i of this.laneAssignments.keys())i>=t&&this.laneAssignments.delete(i);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 a=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1),1===e){const n=2*t;let e,l=this._flatMeasurements;if(!l||l.length<n){const t=new Float64Array(n);l&&a>0&&t.set(l.subarray(0,2*a)),l=t,this._flatMeasurements=l}if(0===a)e=i+s;else{const t=a-1;e=l[2*t]+l[2*t+1]+r}for(let i=a;i<t;i++){const t=h(i),s=u.get(t),n="number"==typeof s?s:this.options.estimateSize(i);l[2*i]=e,l[2*i+1]=n,e+=n+r}const o=function(t,i,s){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=i[2*e];t=h[e]={index:e,key:s(e),start:n,size:i[2*e+1],end:n+i[2*e+1],lane:0}}return t}}if("length"===n)return t}return Reflect.get(h,n,e)}})}(t,l,h);return this.measurementsCache=o,o}const c=this.measurementsCache.slice(0,a),d=new Array(e).fill(void 0),f=new Float64Array(e);let v=0;for(let t=0;t<a;t++){const i=c[t];i&&(void 0===d[i.lane]&&v++,d[i.lane]=t,f[i.lane]=i.end)}for(let n=a;n<t;n++){const t=h(n),o=this.laneAssignments.get(n);let a,b;const g="estimate"===l||u.has(t);if(void 0!==o&&this.options.lanes>1){a=o;const t=d[a],h=void 0!==t?c[t]:void 0;b=h?h.end+r:i+s}else if(v===e){let t=0,i=f[0],s=d[0];for(let h=1;h<e;h++){const n=f[h];(n<i||n===i&&d[h]<s)&&(t=h,i=n,s=d[h])}a=t,b=i+r,g&&this.laneAssignments.set(n,a)}else a=n%this.options.lanes,b=i+s,g&&this.laneAssignments.set(n,a);const m=u.get(t),M="number"==typeof m?m:this.options.estimateSize(n),y=b+M;c[n]={index:n,start:b,size:M,end:y,key:t,lane:a},void 0===d[a]&&v++,d[a]=n,f[a]=y}return this.measurementsCache=c,c}),{key:!1,debug:()=>this.options.debug}),this.calculateRange=t((()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes]),((t,i,s,h)=>0===t.length||0===i?(this.range=null,null):(this.range=function(t,i,s,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,i,s){let h=0;for(;h<=i;){const n=(h+i)/2|0,e=t[2*n];if(e<s)h=n+1;else{if(!(e>s))return n;i=n-1}}return h>0?h-1:0}(n,e,s);let h=t;const l=s+i;for(;h<e&&n[2*h]+n[2*h+1]<l;)h++;return{startIndex:t,endIndex:h}}const l=i=>t[i].start;let r=b(0,e,l,s),o=r;if(1===h)for(;o<e&&t[o].end<s+i;)o++;else if(h>1){const n=Array(h).fill(0);for(;o<e&&n.some((t=>t<s+i));){const i=t[o];n[i.lane]=i.end,o++}const l=Array(h).fill(s+i);for(;r>=0&&l.some((t=>t>=s));){const i=t[r];l[i.lane]=i.start,r--}r=Math.max(0,r-r%h),o=Math.min(e,o+(h-1-o%h))}return{startIndex:r,endIndex:o}}(t,i,s,h,1===h&&null!=this._flatMeasurements?this._flatMeasurements:null),this.range)),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=t((()=>{let t=null,i=null;const s=this.calculateRange();return s&&(t=s.startIndex,i=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,i]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,i]}),((t,i,s,h,n)=>null===h||null===n?[]:t({startIndex:h,endIndex:n,overscan:i,count:s})),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=t=>{const i=this.options.indexAttribute,s=t.getAttribute(i);return s?parseInt(s,10):(console.warn(`Missing attribute name '${i}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=t=>{var i;if(!this.scrollState||"smooth"!==this.scrollState.behavior)return!0;const s=this.scrollState.index??(null==(i=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))?void 0:i.index);if(void 0!==s&&this.range){const i=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),h=Math.max(0,s-i),n=Math.min(this.options.count-1,s+i);return t>=h&&t<=n}return!0},this.measureElement=t=>{if(!t)return void this.elementsCache.forEach(((t,i)=>{t.isConnected||(this.observer.unobserve(t),this.elementsCache.delete(i))}));const i=this.indexFromElement(t),s=this.options.getItemKey(i),h=this.elementsCache.get(s);h!==t&&(h&&this.observer.unobserve(h),this.observer.observe(t),this.elementsCache.set(s,t)),this.isScrolling&&!this.scrollState||!this.shouldMeasureDuringScroll(i)||this.resizeItem(i,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,i)=>{var s,h;if(t<0||t>=this.options.count)return;let n,e,l;const r=this._flatMeasurements;if(1===this.options.lanes&&null!==r)l=this.options.getItemKey(t),e=r[2*t],n=r[2*t+1];else{const i=this.measurementsCache[t];if(!i)return;l=i.key,e=i.start,n=i.size}const o=this.itemSizeCache.get(l)??n,u=i-o;if(0!==u){const r="end"===this.options.anchorTo&&"smooth"!==(null==(s=this.scrollState)?void 0:s.behavior)&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,a=r?this.getTotalSize():0,c=this.getScrollOffset()+this.scrollAdjustments,d=!this.itemSizeCache.has(l)?e<c:e+o<=c&&"backward"!==this.scrollDirection,f="smooth"!==(null==(h=this.scrollState)?void 0:h.behavior)&&(void 0!==this.shouldAdjustScrollPositionOnItemSizeChange?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[t]??{index:t,key:l,start:e,size:n,end:e+n,lane:0},u,this):d);(null===this.pendingMin||t<this.pendingMin)&&(this.pendingMin=t),this.itemSizeCache.set(l,i),this.itemSizeCacheVersion++,r?this.applyScrollAdjustment(this.getTotalSize()-a):f&&this.applyScrollAdjustment(u),this.notify(!1)}},this.getVirtualItems=t((()=>[this.getVirtualIndexes(),this.getMeasurements()]),((t,i)=>{const s=[];for(let h=0,n=t.length;h<n;h++){const n=i[t[h]];s.push(n)}return s}),{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=t=>{const s=this.getMeasurements();if(0===s.length)return;const h=this._flatMeasurements,n=1===this.options.lanes&&null!=h,e=b(0,s.length-1,n?t=>h[2*t]:t=>i(s[t]).start,t);return i(s[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,i,s=0)=>{if(!this.scrollElement)return 0;const h=this.getSize(),n=this.getScrollOffset();"auto"===i&&(i=t>=n+h?"end":"start"),"center"===i?t+=(s-h)/2:"end"===i&&(t-=h);const e=this.getMaxScrollOffset();return Math.max(Math.min(e,t),0)},this.getOffsetForIndex=(t,i="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));const s=this.getSize(),h=this.getScrollOffset(),n=this.measurementsCache[t];if(!n)return;if("auto"===i)if(n.end>=h+s-this.options.scrollPaddingEnd)i="end";else{if(!(n.start<=h+this.options.scrollPaddingStart))return[h,i];i="start"}if("end"===i&&t===this.options.count-1)return[this.getMaxScrollOffset(),i];const e="end"===i?n.end+this.options.scrollPaddingEnd:n.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(e,i,n.size),i]},this.scrollToOffset=(t,{align:i="start",behavior:s="auto"}={})=>{this._iosDeferredAdjustment=0;const h=this.getOffsetForAlignment(t,i),n=this.now();this.scrollState={index:null,align:i,behavior:s,startedAt:n,lastTargetOffset:h,stableFrames:0},this._scrollToOffset(h,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:i="auto",behavior:s="auto"}={})=>{this._iosDeferredAdjustment=0,t=Math.max(0,Math.min(t,this.options.count-1));const h=this.getOffsetForIndex(t,i);if(!h)return;const[n,e]=h,l=this.now();this.scrollState={index:t,align:e,behavior:s,startedAt:l,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:i="auto"}={})=>{const s=this.getScrollOffset()+t,h=this.now();this.scrollState={index:null,align:"start",behavior:i,startedAt:h,lastTargetOffset:s,stableFrames:0},this._scrollToOffset(s,{adjustments:void 0,behavior:i}),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 i=this.getMeasurements();let s;if(0===i.length)s=this.options.paddingStart;else if(1===this.options.lanes){const h=i.length-1,n=this._flatMeasurements;s=null!=n?n[2*h]+n[2*h+1]:(null==(t=i[h])?void 0:t.end)??0}else{const t=Array(this.options.lanes).fill(null);let h=i.length-1;for(;h>=0&&t.some((t=>null===t));){const s=i[h];null===t[s.lane]&&(t[s.lane]=s.end),h--}s=Math.max(...t.filter((t=>null!==t)))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{const t=[];if(0===this.itemSizeCache.size)return t;const i=this.getMeasurements();for(const s of i)s&&this.itemSizeCache.has(s.key)&&t.push({index:s.index,key:s.key,start:s.start,size:s.size,end:s.end,lane:s.lane});return t},this._scrollToOffset=(t,{adjustments:i,behavior:s})=>{this._intendedScrollOffset=t+(i??0),this.options.scrollToFn(t,{behavior:s,adjustments:i},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(s)}applyScrollAdjustment(t,i){0!==t&&(n()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=t:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=t,behavior:i}),null!==this.scrollOffset&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),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,i=t?t[0]:this.scrollState.lastTargetOffset,s=i!==this.scrollState.lastTargetOffset;if(!s&&(h=i,n=this.getScrollOffset(),Math.abs(h-n)<1.01)){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1)return this.getScrollOffset()!==i&&this._scrollToOffset(i,{adjustments:void 0,behavior:"auto"}),void(this.scrollState=null)}else if(this.scrollState.stableFrames=0,s){const t=this.getSize()||600,s=Math.abs(i-this.getScrollOffset()),h="smooth"===this.scrollState.behavior&&s>t;this.scrollState.lastTargetOffset=i,h||(this.scrollState.behavior="auto"),this._scrollToOffset(i,{adjustments:void 0,behavior:h?"smooth":"auto"})}var h,n;this.scheduleScrollReconcile()}}const b=(t,i,s,h)=>{for(;t<=i;){const n=(t+i)/2|0,e=s(n);if(e<h)t=n+1;else{if(!(e>h))return n;i=n-1}}return t>0?t-1:0};class g{constructor(t,i){this.cleanup=()=>{};const s={...i,onChange:(t,s)=>{var h;this.host.updateComplete.then((()=>this.host.requestUpdate())),null==(h=i.onChange)||h.call(i,t,s)}};this.virtualizer=new v(s),(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,i){super(t,{observeElementRect:o,observeElementOffset:c,scrollToFn:f,...i})}}export{m as V};
|
|
1
|
+
function t(t,i,s){let h,n=s.initialDeps??[],e=!0;function l(){const l=t();return l.length!==n.length||l.some(((t,i)=>n[i]!==t))?(n=l,h=i(...l),!(null==s?void 0:s.onChange)||e&&s.skipInitialOnChange||s.onChange(h),e=!1,h):h}return l.updateDeps=t=>{n=t},l}function i(t,i){if(void 0===t)throw new Error("Unexpected undefined"+(i?`: ${i}`:""));return t}const s=(t,i,s)=>{let h;return function(...n){t.clearTimeout(h),h=t.setTimeout((()=>i.apply(this,n)),s)}};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:i,offsetHeight:s}=t;return{width:i,height:s}},l=t=>t,r=t=>{const i=Math.max(t.startIndex-t.overscan,0),s=Math.min(t.endIndex+t.overscan,t.count-1)-i+1,h=new Array(s);for(let t=0;t<s;t++)h[t]=i+t;return h},o=(t,i)=>{const s=t.scrollElement;if(!s)return;const h=t.targetWindow;if(!h)return;const n=t=>{const{width:s,height:h}=t;i({width:Math.round(s),height:Math.round(h)})};if(n(e(s)),!h.ResizeObserver)return()=>{};const l=new h.ResizeObserver((i=>{const h=()=>{const t=i[0];if(null==t?void 0:t.borderBoxSize){const i=t.borderBoxSize[0];if(i)return void n({width:i.inlineSize,height:i.blockSize})}n(e(s))};t.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(h):h()}));return l.observe(s,{box:"border-box"}),()=>{l.unobserve(s)}},u={passive:!0},a="undefined"==typeof window||"onscrollend"in window,c=(t,i)=>((t,i,h)=>{const n=t.scrollElement;if(!n)return;const e=t.targetWindow;if(!e)return;const l=t.options.useScrollendEvent&&a;let r=0;const o=l?null:s(e,(()=>i(r,!1)),t.options.isScrollingResetDelay),c=t=>()=>{r=h(n),null==o||o(),i(r,t)},d=c(!0),f=c(!1);return n.addEventListener("scroll",d,u),l&&n.addEventListener("scrollend",f,u),()=>{n.removeEventListener("scroll",d),l&&n.removeEventListener("scrollend",f)}})(t,i,(i=>{const{horizontal:s,isRtl:h}=t.options;return s?i.scrollLeft*(h?-1:1):i.scrollTop})),d=(t,i,s)=>{if(s.options.useCachedMeasurements){const i=s.indexFromElement(t),h=s.options.getItemKey(i);return s.itemSizeCache.get(h)??s.options.estimateSize(i)}if(null==i?void 0:i.borderBoxSize){const t=i.borderBoxSize[0];if(t){return Math.round(t[s.options.horizontal?"inlineSize":"blockSize"])}}if(!i){const i=s.indexFromElement(t),h=s.options.getItemKey(i),n=s.itemSizeCache.get(h);if(void 0!==n)return n}return t[s.options.horizontal?"offsetWidth":"offsetHeight"]},f=(t,{adjustments:i=0,behavior:s},h)=>{var n,e;null==(e=null==(n=h.scrollElement)?void 0:n.scrollTo)||e.call(n,{[h.options.horizontal?"left":"top"]:t+i,behavior:s})};class v{constructor(s){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,i,s;return(null==(s=null==(i=null==(t=this.targetWindow)?void 0:t.performance)?void 0:i.now)?void 0:s.call(i))??Date.now()},this.observer=(()=>{let t=null;const i=()=>t||(this.targetWindow&&this.targetWindow.ResizeObserver?t=new this.targetWindow.ResizeObserver((t=>{t.forEach((t=>{const i=()=>{const i=t.target,s=this.indexFromElement(i);if(i.isConnected)this.shouldMeasureDuringScroll(s)&&this.resizeItem(s,this.options.measureElement(i,t,this));else{this.observer.unobserve(i);for(const[t,s]of this.elementsCache)if(s===i){this.elementsCache.delete(t);break}}};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(i):i()}))})):null);return{disconnect:()=>{var s;null==(s=i())||s.disconnect(),t=null},observe:t=>{var s;return null==(s=i())?void 0:s.observe(t,{box:"border-box"})},unobserve:t=>{var s;return null==(s=i())?void 0:s.unobserve(t)}}})(),this.range=null,this.setOptions=t=>{var i,s;const h={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:l,rangeExtractor:r,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 i in t){const s=t[i];void 0!==s&&(h[i]=s)}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,l=h.count,r=this.getMeasurements(),a=t>0?(null==(i=r[0])?void 0:i.key)??n.getItemKey(0):null,c=t>0?(null==(s=r[t-1])?void 0:s.key)??n.getItemKey(t-1):null;if(l!==t||t>0&&l>0&&(h.getItemKey(0)!==a||h.getItemKey(l-1)!==c)){u=!0;const i=t>0?this.getVirtualItemForOffset(this.getScrollOffset())??r[0]:null;i&&(e=[i.key,this.getScrollOffset()-i.start]);const s=!0===h.followOnAppend?"auto":h.followOnAppend||null;s&&l>t&&this.isAtEnd(n.scrollEndThreshold)&&(0===t||h.getItemKey(l-1)!==c)&&(o=s)}}this.options=h,u&&(this.pendingMin=0,this.itemSizeCacheVersion++);let a=!1,c=0;if(e&&null!==this.scrollOffset){const[t,i]=e,s=this.getMeasurements(),{count:h,getItemKey:n}=this.options;let l=0;for(;l<h&&n(l)!==t;)l++;if(l<h){const t=s[l];if(t){const s=Math.max(0,t.start+i);s!==this.scrollOffset&&(c=s-this.scrollOffset,this.scrollOffset=s,a=!0)}}}(a||o)&&(this.pendingScrollAnchor=[a?e[0]:null,a?e[1]:0,o,c])},this.notify=t=>{var i,s;null==(s=(i=this.options).onChange)||s.call(i,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._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t;const i=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==i){if(this.cleanup(),!i)return void this.maybeNotify();if(this.scrollElement=i,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,i)=>{if(i&&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 s=this.getScrollOffset();this.scrollDirection=i?s===t?this.scrollDirection:s<t?"forward":"backward":null,this.scrollOffset=t,this.isScrolling=i,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()}))),"addEventListener"in this.scrollElement){const t=this.scrollElement,i=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,null!==this._iosTouchEndTimerId&&null!=this.targetWindow&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},s=()=>{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",i,u),t.addEventListener("touchend",s,u),this.unsubs.push((()=>{t.removeEventListener("touchstart",i),t.removeEventListener("touchend",s),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 s=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,s&&this.scrollElement&&this.options.enabled){const[t,i,h,e]=s;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(),i=this.getMaxScrollOffset();if(t<0||t>i)return;if(this._iosDeferredAdjustment<0&&t>=i-1)return void(this._iosDeferredAdjustment=0);const s=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(t,{adjustments:this.scrollAdjustments+=s,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.getMeasurementOptions=t((()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap]),((t,i,s,h,n,e,l,r)=>(void 0!==this.prevLanes&&this.prevLanes!==e&&(this.lanesChangedFlag=!0),this.prevLanes=e,this.pendingMin=null,{count:t,paddingStart:i,scrollMargin:s,getItemKey:h,enabled:n,lanes:e,laneAssignmentMode:l,gap:r})),{key:!1}),this.getMeasurements=t((()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion]),(({count:t,paddingStart:i,scrollMargin:s,getItemKey:h,enabled:n,lanes:e,laneAssignmentMode:l,gap:r},o)=>{const u=this.itemSizeCache;if(!n)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(const i of this.laneAssignments.keys())i>=t&&this.laneAssignments.delete(i);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 a=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1),1===e){const n=2*t;let e,l=this._flatMeasurements;if(!l||l.length<n){const t=new Float64Array(n);l&&a>0&&t.set(l.subarray(0,2*a)),l=t,this._flatMeasurements=l}if(0===a)e=i+s;else{const t=a-1;e=l[2*t]+l[2*t+1]+r}for(let i=a;i<t;i++){const t=h(i),s=u.get(t),n="number"==typeof s?s:this.options.estimateSize(i);l[2*i]=e,l[2*i+1]=n,e+=n+r}const o=function(t,i,s){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=i[2*e];t=h[e]={index:e,key:s(e),start:n,size:i[2*e+1],end:n+i[2*e+1],lane:0}}return t}}if("length"===n)return t}return Reflect.get(h,n,e)}})}(t,l,h);return this.measurementsCache=o,o}const c=this.measurementsCache.slice(0,a),d=new Array(e).fill(void 0),f=new Float64Array(e);let v=0;for(let t=0;t<a;t++){const i=c[t];i&&(void 0===d[i.lane]&&v++,d[i.lane]=t,f[i.lane]=i.end)}for(let n=a;n<t;n++){const t=h(n),o=this.laneAssignments.get(n);let a,b;const g="estimate"===l||u.has(t);if(void 0!==o&&this.options.lanes>1){a=o;const t=d[a],h=void 0!==t?c[t]:void 0;b=h?h.end+r:i+s}else if(v===e){let t=0,i=f[0],s=d[0];for(let h=1;h<e;h++){const n=f[h];(n<i||n===i&&d[h]<s)&&(t=h,i=n,s=d[h])}a=t,b=i+r,g&&this.laneAssignments.set(n,a)}else a=n%this.options.lanes,b=i+s,g&&this.laneAssignments.set(n,a);const m=u.get(t),M="number"==typeof m?m:this.options.estimateSize(n),y=b+M;c[n]={index:n,start:b,size:M,end:y,key:t,lane:a},void 0===d[a]&&v++,d[a]=n,f[a]=y}return this.measurementsCache=c,c}),{key:!1,debug:()=>this.options.debug}),this.calculateRange=t((()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes]),((t,i,s,h)=>0===t.length||0===i?(this.range=null,null):(this.range=function(t,i,s,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,i,s){let h=0;for(;h<=i;){const n=(h+i)/2|0,e=t[2*n];if(e<s)h=n+1;else{if(!(e>s))return n;i=n-1}}return h>0?h-1:0}(n,e,s);let h=t;const l=s+i;for(;h<e&&n[2*h]+n[2*h+1]<l;)h++;return{startIndex:t,endIndex:h}}const l=i=>t[i].start;let r=b(0,e,l,s),o=r;if(1===h)for(;o<e&&t[o].end<s+i;)o++;else if(h>1){const n=Array(h).fill(0);for(;o<e&&n.some((t=>t<s+i));){const i=t[o];n[i.lane]=i.end,o++}const l=Array(h).fill(s+i);for(;r>=0&&l.some((t=>t>=s));){const i=t[r];l[i.lane]=i.start,r--}r=Math.max(0,r-r%h),o=Math.min(e,o+(h-1-o%h))}return{startIndex:r,endIndex:o}}(t,i,s,h,1===h&&null!=this._flatMeasurements?this._flatMeasurements:null),this.range)),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=t((()=>{let t=null,i=null;const s=this.calculateRange();return s&&(t=s.startIndex,i=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,i]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,i]}),((t,i,s,h,n)=>null===h||null===n?[]:t({startIndex:h,endIndex:n,overscan:i,count:s})),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=t=>{const i=this.options.indexAttribute,s=t.getAttribute(i);return s?parseInt(s,10):(console.warn(`Missing attribute name '${i}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=t=>{var i;if(!this.scrollState||"smooth"!==this.scrollState.behavior)return!0;const s=this.scrollState.index??(null==(i=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))?void 0:i.index);if(void 0!==s&&this.range){const i=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),h=Math.max(0,s-i),n=Math.min(this.options.count-1,s+i);return t>=h&&t<=n}return!0},this.measureElement=t=>{if(!t)return void this.elementsCache.forEach(((t,i)=>{t.isConnected||(this.observer.unobserve(t),this.elementsCache.delete(i))}));const i=this.indexFromElement(t),s=this.options.getItemKey(i),h=this.elementsCache.get(s);h!==t&&(h&&this.observer.unobserve(h),this.observer.observe(t),this.elementsCache.set(s,t)),this.isScrolling&&!this.scrollState||!this.shouldMeasureDuringScroll(i)||this.resizeItem(i,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,i)=>{var s,h;if(t<0||t>=this.options.count)return;let n,e,l;const r=this._flatMeasurements;if(1===this.options.lanes&&null!==r)l=this.options.getItemKey(t),e=r[2*t],n=r[2*t+1];else{const i=this.measurementsCache[t];if(!i)return;l=i.key,e=i.start,n=i.size}const o=this.itemSizeCache.get(l)??n,u=i-o;if(0!==u){const r="end"===this.options.anchorTo&&"smooth"!==(null==(s=this.scrollState)?void 0:s.behavior)&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,a=r?this.getTotalSize():0,c=this.getScrollOffset()+this.scrollAdjustments,d=!this.itemSizeCache.has(l)?e<c:e+o<=c&&"backward"!==this.scrollDirection,f="smooth"!==(null==(h=this.scrollState)?void 0:h.behavior)&&(void 0!==this.shouldAdjustScrollPositionOnItemSizeChange?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[t]??{index:t,key:l,start:e,size:n,end:e+n,lane:0},u,this):d);(null===this.pendingMin||t<this.pendingMin)&&(this.pendingMin=t),this.itemSizeCache.set(l,i),this.itemSizeCacheVersion++;let v=!1;r?v=this.applyScrollAdjustment(this.getTotalSize()-a):f&&(v=this.applyScrollAdjustment(u)),this.notify(v)}},this.getVirtualItems=t((()=>[this.getVirtualIndexes(),this.getMeasurements()]),((t,i)=>{const s=[];for(let h=0,n=t.length;h<n;h++){const n=i[t[h]];s.push(n)}return s}),{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=t=>{const s=this.getMeasurements();if(0===s.length)return;const h=this._flatMeasurements,n=1===this.options.lanes&&null!=h,e=b(0,s.length-1,n?t=>h[2*t]:t=>i(s[t]).start,t);return i(s[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,i,s=0)=>{if(!this.scrollElement)return 0;const h=this.getSize(),n=this.getScrollOffset();"auto"===i&&(i=t>=n+h?"end":"start"),"center"===i?t+=(s-h)/2:"end"===i&&(t-=h);const e=this.getMaxScrollOffset();return Math.max(Math.min(e,t),0)},this.getOffsetForIndex=(t,i="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));const s=this.getSize(),h=this.getScrollOffset(),n=this.measurementsCache[t];if(!n)return;if("auto"===i)if(n.end>=h+s-this.options.scrollPaddingEnd)i="end";else{if(!(n.start<=h+this.options.scrollPaddingStart))return[h,i];i="start"}if("end"===i&&t===this.options.count-1)return[this.getMaxScrollOffset(),i];const e="end"===i?n.end+this.options.scrollPaddingEnd:n.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(e,i,n.size),i]},this.scrollToOffset=(t,{align:i="start",behavior:s="auto"}={})=>{this._iosDeferredAdjustment=0;const h=this.getOffsetForAlignment(t,i),n=this.now();this.scrollState={index:null,align:i,behavior:s,startedAt:n,lastTargetOffset:h,stableFrames:0},this._scrollToOffset(h,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:i="auto",behavior:s="auto"}={})=>{this._iosDeferredAdjustment=0,t=Math.max(0,Math.min(t,this.options.count-1));const h=this.getOffsetForIndex(t,i);if(!h)return;const[n,e]=h,l=this.now();this.scrollState={index:t,align:e,behavior:s,startedAt:l,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:i="auto"}={})=>{const s=this.getScrollOffset()+t,h=this.now();this.scrollState={index:null,align:"start",behavior:i,startedAt:h,lastTargetOffset:s,stableFrames:0},this._scrollToOffset(s,{adjustments:void 0,behavior:i}),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 i=this.getMeasurements();let s;if(0===i.length)s=this.options.paddingStart;else if(1===this.options.lanes){const h=i.length-1,n=this._flatMeasurements;s=null!=n?n[2*h]+n[2*h+1]:(null==(t=i[h])?void 0:t.end)??0}else{const t=Array(this.options.lanes).fill(null);let h=i.length-1;for(;h>=0&&t.some((t=>null===t));){const s=i[h];null===t[s.lane]&&(t[s.lane]=s.end),h--}s=Math.max(...t.filter((t=>null!==t)))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{const t=[];if(0===this.itemSizeCache.size)return t;const i=this.getMeasurements();for(const s of i)s&&this.itemSizeCache.has(s.key)&&t.push({index:s.index,key:s.key,start:s.start,size:s.size,end:s.end,lane:s.lane});return t},this._scrollToOffset=(t,{adjustments:i,behavior:s})=>{this._intendedScrollOffset=t+(i??0),this.options.scrollToFn(t,{behavior:s,adjustments:i},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(s)}applyScrollAdjustment(t,i){return 0!==t&&(n()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?(this._iosDeferredAdjustment+=t,!1):(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=t,behavior:i}),null!==this.scrollOffset&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!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,i=t?t[0]:this.scrollState.lastTargetOffset,s=i!==this.scrollState.lastTargetOffset;if(!s&&(h=i,n=this.getScrollOffset(),Math.abs(h-n)<1.01)){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1)return this.getScrollOffset()!==i&&this._scrollToOffset(i,{adjustments:void 0,behavior:"auto"}),void(this.scrollState=null)}else if(this.scrollState.stableFrames=0,s){const t=this.getSize()||600,s=Math.abs(i-this.getScrollOffset()),h="smooth"===this.scrollState.behavior&&s>t;this.scrollState.lastTargetOffset=i,h||(this.scrollState.behavior="auto"),this._scrollToOffset(i,{adjustments:void 0,behavior:h?"smooth":"auto"})}var h,n;this.scheduleScrollReconcile()}}const b=(t,i,s,h)=>{for(;t<=i;){const n=(t+i)/2|0,e=s(n);if(e<h)t=n+1;else{if(!(e>h))return n;i=n-1}}return t>0?t-1:0};class g{constructor(t,i){this.cleanup=()=>{};const s={...i,onChange:(t,s)=>{var h;this.host.updateComplete.then((()=>this.host.requestUpdate())),null==(h=i.onChange)||h.call(i,t,s)}};this.virtualizer=new v(s),(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,i){super(t,{observeElementRect:o,observeElementOffset:c,scrollToFn:f,...i})}}export{m as V};
|
|
@@ -1,2 +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 s,h,n,e,l,r,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 _n15=0,F=function F(){};return{s:F,n:function n(){return _n15>=r.length?{done:!0}:{done:!1,value:r[_n15++]};},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,i,s){var _s$initialDeps;var h,n=(_s$initialDeps=s.initialDeps)!==null&&_s$initialDeps!==void 0?_s$initialDeps:[],e=!0;function l(){var l=t();return l.length!==n.length||l.some(function(t,i){return n[i]!==t;})?(n=l,h=i.apply(void 0,_toConsumableArray(l)),!(null==s?void 0:s.onChange)||e&&s.skipInitialOnChange||s.onChange(h),e=!1,h):h;}return l.updateDeps=function(t){n=t;},l;}function i(t,i){if(void 0===t)throw new Error("Unexpected undefined"+(i?": ".concat(i):""));return t;}return{setters:[],execute:function execute(){s=function s(t,i,_s){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 i.apply(_this,n);},_s);};};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 i=t.offsetWidth,s=t.offsetHeight;return{width:i,height:s};},l=function l(t){return t;},r=function r(t){var i=Math.max(t.startIndex-t.overscan,0),s=Math.min(t.endIndex+t.overscan,t.count-1)-i+1,h=new Array(s);for(var _t=0;_t<s;_t++)h[_t]=i+_t;return h;},o=function o(t,i){var s=t.scrollElement;if(!s)return;var h=t.targetWindow;if(!h)return;var n=function n(t){var s=t.width,h=t.height;i({width:Math.round(s),height:Math.round(h)});};if(n(e(s)),!h.ResizeObserver)return function(){};var l=new h.ResizeObserver(function(i){var h=function h(){var t=i[0];if(null==t?void 0:t.borderBoxSize){var _i=t.borderBoxSize[0];if(_i)return void n({width:_i.inlineSize,height:_i.blockSize});}n(e(s));};t.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(h):h();});return l.observe(s,{box:"border-box"}),function(){l.unobserve(s);};},u={passive:!0},a="undefined"==typeof window||"onscrollend"in window,c=function c(t,i){return function(t,i,h){var n=t.scrollElement;if(!n)return;var e=t.targetWindow;if(!e)return;var l=t.options.useScrollendEvent&&a;var r=0;var o=l?null:s(e,function(){return i(r,!1);},t.options.isScrollingResetDelay),c=function c(t){return function(){r=h(n),null==o||o(),i(r,t);};},d=c(!0),f=c(!1);return n.addEventListener("scroll",d,u),l&&n.addEventListener("scrollend",f,u),function(){n.removeEventListener("scroll",d),l&&n.removeEventListener("scrollend",f);};}(t,i,function(i){var _t$options=t.options,s=_t$options.horizontal,h=_t$options.isRtl;return s?i.scrollLeft*(h?-1:1):i.scrollTop;});},d=function d(t,i,s){if(s.options.useCachedMeasurements){var _s$itemSizeCache$get;var _i2=s.indexFromElement(t),_h=s.options.getItemKey(_i2);return(_s$itemSizeCache$get=s.itemSizeCache.get(_h))!==null&&_s$itemSizeCache$get!==void 0?_s$itemSizeCache$get:s.options.estimateSize(_i2);}if(null==i?void 0:i.borderBoxSize){var _t2=i.borderBoxSize[0];if(_t2){return Math.round(_t2[s.options.horizontal?"inlineSize":"blockSize"]);}}if(!i){var _i3=s.indexFromElement(t),_h2=s.options.getItemKey(_i3),_n=s.itemSizeCache.get(_h2);if(void 0!==_n)return _n;}return t[s.options.horizontal?"offsetWidth":"offsetHeight"];},f=function f(t,_ref,h){var _ref$adjustments=_ref.adjustments,i=_ref$adjustments===void 0?0:_ref$adjustments,s=_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+i),"behavior",s));};v=/*#__PURE__*/function(){function v(s){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,i,s;return(_ref2=null==(s=null==(i=null==(t=_this2.targetWindow)?void 0:t.performance)?void 0:i.now)?void 0:s.call(i))!==null&&_ref2!==void 0?_ref2:Date.now();},this.observer=function(){var t=null;var i=function i(){return t||(_this2.targetWindow&&_this2.targetWindow.ResizeObserver?t=new _this2.targetWindow.ResizeObserver(function(t){t.forEach(function(t){var i=function i(){var i=t.target,s=_this2.indexFromElement(i);if(i.isConnected)_this2.shouldMeasureDuringScroll(s)&&_this2.resizeItem(s,_this2.options.measureElement(i,t,_this2));else{_this2.observer.unobserve(i);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],_s2=_step$value[1];if(_s2===i){_this2.elementsCache["delete"](_t3);break;}}}catch(err){_iterator.e(err);}finally{_iterator.f();}}};_this2.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(i):i();});}):null);};return{disconnect:function disconnect(){var s;null==(s=i())||s.disconnect(),t=null;},observe:function observe(t){var s;return null==(s=i())?void 0:s.observe(t,{box:"border-box"});},unobserve:function unobserve(t){var s;return null==(s=i())?void 0:s.unobserve(t);}};}(),this.range=null,this.setOptions=function(t){var i,s;var h={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:l,rangeExtractor:r,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 _i4 in t){var _s3=t[_i4];void 0!==_s3&&(h[_i4]=_s3);}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,_l=h.count,_r=_this2.getMeasurements(),_a=_t4>0?(_ref3=null==(i=_r[0])?void 0:i.key)!==null&&_ref3!==void 0?_ref3:n.getItemKey(0):null,_c=_t4>0?(_ref4=null==(s=_r[_t4-1])?void 0:s.key)!==null&&_ref4!==void 0?_ref4:n.getItemKey(_t4-1):null;if(_l!==_t4||_t4>0&&_l>0&&(h.getItemKey(0)!==_a||h.getItemKey(_l-1)!==_c)){var _this2$getVirtualItem;u=!0;var _i5=_t4>0?(_this2$getVirtualItem=_this2.getVirtualItemForOffset(_this2.getScrollOffset()))!==null&&_this2$getVirtualItem!==void 0?_this2$getVirtualItem:_r[0]:null;_i5&&(e=[_i5.key,_this2.getScrollOffset()-_i5.start]);var _s4=!0===h.followOnAppend?"auto":h.followOnAppend||null;_s4&&_l>_t4&&_this2.isAtEnd(n.scrollEndThreshold)&&(0===_t4||h.getItemKey(_l-1)!==_c)&&(o=_s4);}}_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],_i6=_e2[1],_s5=_this2.getMeasurements(),_this2$options=_this2.options,_h3=_this2$options.count,_n2=_this2$options.getItemKey;var _l2=0;for(;_l2<_h3&&_n2(_l2)!==_t5;)_l2++;if(_l2<_h3){var _t6=_s5[_l2];if(_t6){var _s6=Math.max(0,_t6.start+_i6);_s6!==_this2.scrollOffset&&(c=_s6-_this2.scrollOffset,_this2.scrollOffset=_s6,a=!0);}}}(a||o)&&(_this2.pendingScrollAnchor=[a?e[0]:null,a?e[1]:0,o,c]);},this.notify=function(t){var i,s;null==(s=(i=_this2.options).onChange)||s.call(i,_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._iosDeferredAdjustment=0,_this2._iosTouching=!1,_this2._iosJustTouchEnded=!1,_this2.scrollElement=null,_this2.targetWindow=null;},this._didMount=function(){return function(){_this2.cleanup();};},this._willUpdate=function(){var t;var i=_this2.options.enabled?_this2.options.getScrollElement():null;if(_this2.scrollElement!==i){var _ref5;if(_this2.cleanup(),!i)return void _this2.maybeNotify();if(_this2.scrollElement=i,_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,i){if(i&&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 s=_this2.getScrollOffset();_this2.scrollDirection=i?s===t?_this2.scrollDirection:s<t?"forward":"backward":null,_this2.scrollOffset=t,_this2.isScrolling=i,_this2._flushIosDeferredIfReady(),_this2.scrollState&&_this2.scheduleScrollReconcile(),_this2.maybeNotify();})),"addEventListener"in _this2.scrollElement){var _t7=_this2.scrollElement,_i7=function _i7(){_this2._iosTouching=!0,_this2._iosJustTouchEnded=!1,null!==_this2._iosTouchEndTimerId&&null!=_this2.targetWindow&&(_this2.targetWindow.clearTimeout(_this2._iosTouchEndTimerId),_this2._iosTouchEndTimerId=null);},_s7=function _s7(){_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",_i7,u),_t7.addEventListener("touchend",_s7,u),_this2.unsubs.push(function(){_t7.removeEventListener("touchstart",_i7),_t7.removeEventListener("touchend",_s7),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 s=_this2.pendingScrollAnchor;if(_this2.pendingScrollAnchor=null,s&&_this2.scrollElement&&_this2.options.enabled){var _s8=_slicedToArray(s,4),_t8=_s8[0],_i8=_s8[1],_h4=_s8[2],_e3=_s8[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(),i=_this2.getMaxScrollOffset();if(t<0||t>i)return;if(_this2._iosDeferredAdjustment<0&&t>=i-1)return void(_this2._iosDeferredAdjustment=0);var s=_this2._iosDeferredAdjustment;_this2._iosDeferredAdjustment=0,_this2._scrollToOffset(t,{adjustments:_this2.scrollAdjustments+=s,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.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,_this2.options.gap];},function(t,i,s,h,n,e,l,r){return void 0!==_this2.prevLanes&&_this2.prevLanes!==e&&(_this2.lanesChangedFlag=!0),_this2.prevLanes=e,_this2.pendingMin=null,{count:t,paddingStart:i,scrollMargin:s,getItemKey:h,enabled:n,lanes:e,laneAssignmentMode:l,gap:r};},{key:!1}),this.getMeasurements=t(function(){return[_this2.getMeasurementOptions(),_this2.itemSizeCacheVersion];},function(_ref6,o){var _this2$pendingMin;var t=_ref6.count,i=_ref6.paddingStart,s=_ref6.scrollMargin,h=_ref6.getItemKey,n=_ref6.enabled,e=_ref6.lanes,l=_ref6.laneAssignmentMode,r=_ref6.gap;var u=_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 _i9=_step2.value;_i9>=t&&_this2.laneAssignments["delete"](_i9);}}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 a=_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 _n3=2*t;var _e4,_l3=_this2._flatMeasurements;if(!_l3||_l3.length<_n3){var _t9=new Float64Array(_n3);_l3&&a>0&&_t9.set(_l3.subarray(0,2*a)),_l3=_t9,_this2._flatMeasurements=_l3;}if(0===a)_e4=i+s;else{var _t10=a-1;_e4=_l3[2*_t10]+_l3[2*_t10+1]+r;}for(var _i10=a;_i10<t;_i10++){var _t11=h(_i10),_s9=u.get(_t11),_n4="number"==typeof _s9?_s9:_this2.options.estimateSize(_i10);_l3[2*_i10]=_e4,_l3[2*_i10+1]=_n4,_e4+=_n4+r;}var _o=function(t,i,s){var h=new Array(t);return new Proxy(h,{get:function get(h,n,e){if("string"==typeof n){var _e5=n.charCodeAt(0);if(_e5>=48&&_e5<=57){var _e6=+n;if(Number.isInteger(_e6)&&_e6>=0&&_e6<t){var _t12=h[_e6];if(!_t12){var _n5=i[2*_e6];_t12=h[_e6]={index:_e6,key:s(_e6),start:_n5,size:i[2*_e6+1],end:_n5+i[2*_e6+1],lane:0};}return _t12;}}if("length"===n)return t;}return Reflect.get(h,n,e);}});}(t,_l3,h);return _this2.measurementsCache=_o,_o;}var c=_this2.measurementsCache.slice(0,a),d=new Array(e).fill(void 0),f=new Float64Array(e);var _v=0;for(var _t13=0;_t13<a;_t13++){var _i11=c[_t13];_i11&&(void 0===d[_i11.lane]&&_v++,d[_i11.lane]=_t13,f[_i11.lane]=_i11.end);}for(var _n6=a;_n6<t;_n6++){var _t14=h(_n6),_o2=_this2.laneAssignments.get(_n6);var _a2=void 0,_b=void 0;var _g="estimate"===l||u.has(_t14);if(void 0!==_o2&&_this2.options.lanes>1){_a2=_o2;var _t15=d[_a2],_h5=void 0!==_t15?c[_t15]:void 0;_b=_h5?_h5.end+r:i+s;}else if(_v===e){var _t16=0,_i12=f[0],_s10=d[0];for(var _h6=1;_h6<e;_h6++){var _n7=f[_h6];(_n7<_i12||_n7===_i12&&d[_h6]<_s10)&&(_t16=_h6,_i12=_n7,_s10=d[_h6]);}_a2=_t16,_b=_i12+r,_g&&_this2.laneAssignments.set(_n6,_a2);}else _a2=_n6%_this2.options.lanes,_b=i+s,_g&&_this2.laneAssignments.set(_n6,_a2);var _m=u.get(_t14),M="number"==typeof _m?_m:_this2.options.estimateSize(_n6),y=_b+M;c[_n6]={index:_n6,start:_b,size:M,end:y,key:_t14,lane:_a2},void 0===d[_a2]&&_v++,d[_a2]=_n6,f[_a2]=y;}return _this2.measurementsCache=c,c;},{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,i,s,h){return 0===t.length||0===i?(_this2.range=null,null):(_this2.range=function(t,i,s,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,i,s){var h=0;for(;h<=i;){var _n8=(h+i)/2|0,_e7=t[2*_n8];if(_e7<s)h=_n8+1;else{if(!(_e7>s))return _n8;i=_n8-1;}}return h>0?h-1:0;}(n,e,s);var _h7=_t17;var _l4=s+i;for(;_h7<e&&n[2*_h7]+n[2*_h7+1]<_l4;)_h7++;return{startIndex:_t17,endIndex:_h7};}var l=function l(i){return t[i].start;};var r=b(0,e,l,s),o=r;if(1===h)for(;o<e&&t[o].end<s+i;)o++;else if(h>1){var _n9=Array(h).fill(0);for(;o<e&&_n9.some(function(t){return t<s+i;});){var _i13=t[o];_n9[_i13.lane]=_i13.end,o++;}var _l5=Array(h).fill(s+i);for(;r>=0&&_l5.some(function(t){return t>=s;});){var _i14=t[r];_l5[_i14.lane]=_i14.start,r--;}r=Math.max(0,r-r%h),o=Math.min(e,o+(h-1-o%h));}return{startIndex:r,endIndex:o};}(t,i,s,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,i=null;var s=_this2.calculateRange();return s&&(t=s.startIndex,i=s.endIndex),_this2.maybeNotify.updateDeps([_this2.isScrolling,t,i]),[_this2.options.rangeExtractor,_this2.options.overscan,_this2.options.count,t,i];},function(t,i,s,h,n){return null===h||null===n?[]:t({startIndex:h,endIndex:n,overscan:i,count:s});},{key:!1,debug:function debug(){return _this2.options.debug;}}),this.indexFromElement=function(t){var i=_this2.options.indexAttribute,s=t.getAttribute(i);return s?parseInt(s,10):(console.warn("Missing attribute name '".concat(i,"={index}' on measured element.")),-1);},this.shouldMeasureDuringScroll=function(t){var _this2$scrollState$in;var i;if(!_this2.scrollState||"smooth"!==_this2.scrollState.behavior)return!0;var s=(_this2$scrollState$in=_this2.scrollState.index)!==null&&_this2$scrollState$in!==void 0?_this2$scrollState$in:null==(i=_this2.getVirtualItemForOffset(_this2.scrollState.lastTargetOffset))?void 0:i.index;if(void 0!==s&&_this2.range){var _i15=Math.max(_this2.options.overscan,Math.ceil((_this2.range.endIndex-_this2.range.startIndex)/2)),_h8=Math.max(0,s-_i15),_n10=Math.min(_this2.options.count-1,s+_i15);return t>=_h8&&t<=_n10;}return!0;},this.measureElement=function(t){if(!t)return void _this2.elementsCache.forEach(function(t,i){t.isConnected||(_this2.observer.unobserve(t),_this2.elementsCache["delete"](i));});var i=_this2.indexFromElement(t),s=_this2.options.getItemKey(i),h=_this2.elementsCache.get(s);h!==t&&(h&&_this2.observer.unobserve(h),_this2.observer.observe(t),_this2.elementsCache.set(s,t)),_this2.isScrolling&&!_this2.scrollState||!_this2.shouldMeasureDuringScroll(i)||_this2.resizeItem(i,_this2.options.measureElement(t,void 0,_this2));},this.resizeItem=function(t,i){var _this2$itemSizeCache$;var s,h;if(t<0||t>=_this2.options.count)return;var n,e,l;var r=_this2._flatMeasurements;if(1===_this2.options.lanes&&null!==r)l=_this2.options.getItemKey(t),e=r[2*t],n=r[2*t+1];else{var _i16=_this2.measurementsCache[t];if(!_i16)return;l=_i16.key,e=_i16.start,n=_i16.size;}var o=(_this2$itemSizeCache$=_this2.itemSizeCache.get(l))!==null&&_this2$itemSizeCache$!==void 0?_this2$itemSizeCache$:n,u=i-o;if(0!==u){var _this2$measurementsCa;var _r2="end"===_this2.options.anchorTo&&"smooth"!==(null==(s=_this2.scrollState)?void 0:s.behavior)&&_this2.getVirtualDistanceFromEnd()<=_this2.options.scrollEndThreshold,_a3=_r2?_this2.getTotalSize():0,_c2=_this2.getScrollOffset()+_this2.scrollAdjustments,_d=!_this2.itemSizeCache.has(l)?e<_c2:e+o<=_c2&&"backward"!==_this2.scrollDirection,_f="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:l,start:e,size:n,end:e+n,lane:0},u,_this2):_d);(null===_this2.pendingMin||t<_this2.pendingMin)&&(_this2.pendingMin=t),_this2.itemSizeCache.set(l,i),_this2.itemSizeCacheVersion++,_r2?_this2.applyScrollAdjustment(_this2.getTotalSize()-_a3):_f&&_this2.applyScrollAdjustment(u),_this2.notify(!1);}},this.getVirtualItems=t(function(){return[_this2.getVirtualIndexes(),_this2.getMeasurements()];},function(t,i){var s=[];for(var _h9=0,_n11=t.length;_h9<_n11;_h9++){var _n12=i[t[_h9]];s.push(_n12);}return s;},{key:!1,debug:function debug(){return _this2.options.debug;}}),this.getVirtualItemForOffset=function(t){var s=_this2.getMeasurements();if(0===s.length)return;var h=_this2._flatMeasurements,n=1===_this2.options.lanes&&null!=h,e=b(0,s.length-1,n?function(t){return h[2*t];}:function(t){return i(s[t]).start;},t);return i(s[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,i){var s=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;if(!_this2.scrollElement)return 0;var h=_this2.getSize(),n=_this2.getScrollOffset();"auto"===i&&(i=t>=n+h?"end":"start"),"center"===i?t+=(s-h)/2:"end"===i&&(t-=h);var e=_this2.getMaxScrollOffset();return Math.max(Math.min(e,t),0);},this.getOffsetForIndex=function(t){var i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"auto";t=Math.max(0,Math.min(t,_this2.options.count-1));var s=_this2.getSize(),h=_this2.getScrollOffset(),n=_this2.measurementsCache[t];if(!n)return;if("auto"===i)if(n.end>=h+s-_this2.options.scrollPaddingEnd)i="end";else{if(!(n.start<=h+_this2.options.scrollPaddingStart))return[h,i];i="start";}if("end"===i&&t===_this2.options.count-1)return[_this2.getMaxScrollOffset(),i];var e="end"===i?n.end+_this2.options.scrollPaddingEnd:n.start-_this2.options.scrollPaddingStart;return[_this2.getOffsetForAlignment(e,i,n.size),i];},this.scrollToOffset=function(t){var _ref7=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref7$align=_ref7.align,i=_ref7$align===void 0?"start":_ref7$align,_ref7$behavior=_ref7.behavior,s=_ref7$behavior===void 0?"auto":_ref7$behavior;_this2._iosDeferredAdjustment=0;var h=_this2.getOffsetForAlignment(t,i),n=_this2.now();_this2.scrollState={index:null,align:i,behavior:s,startedAt:n,lastTargetOffset:h,stableFrames:0},_this2._scrollToOffset(h,{adjustments:void 0,behavior:s}),_this2.scheduleScrollReconcile();},this.scrollToIndex=function(t){var _ref8=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref8$align=_ref8.align,i=_ref8$align===void 0?"auto":_ref8$align,_ref8$behavior=_ref8.behavior,s=_ref8$behavior===void 0?"auto":_ref8$behavior;_this2._iosDeferredAdjustment=0,t=Math.max(0,Math.min(t,_this2.options.count-1));var h=_this2.getOffsetForIndex(t,i);if(!h)return;var _h10=_slicedToArray(h,2),n=_h10[0],e=_h10[1],l=_this2.now();_this2.scrollState={index:t,align:e,behavior:s,startedAt:l,lastTargetOffset:n,stableFrames:0},_this2._scrollToOffset(n,{adjustments:void 0,behavior:s}),_this2.scheduleScrollReconcile();},this.scrollBy=function(t){var _ref9=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref9$behavior=_ref9.behavior,i=_ref9$behavior===void 0?"auto":_ref9$behavior;var s=_this2.getScrollOffset()+t,h=_this2.now();_this2.scrollState={index:null,align:"start",behavior:i,startedAt:h,lastTargetOffset:s,stableFrames:0},_this2._scrollToOffset(s,{adjustments:void 0,behavior:i}),_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 i=_this2.getMeasurements();var s;if(0===i.length)s=_this2.options.paddingStart;else if(1===_this2.options.lanes){var _ref11;var _h11=i.length-1,_n13=_this2._flatMeasurements;s=null!=_n13?_n13[2*_h11]+_n13[2*_h11+1]:(_ref11=null==(t=i[_h11])?void 0:t.end)!==null&&_ref11!==void 0?_ref11:0;}else{var _t19=Array(_this2.options.lanes).fill(null);var _h12=i.length-1;for(;_h12>=0&&_t19.some(function(t){return null===t;});){var _s11=i[_h12];null===_t19[_s11.lane]&&(_t19[_s11.lane]=_s11.end),_h12--;}s=Math.max.apply(Math,_toConsumableArray(_t19.filter(function(t){return null!==t;})));}return Math.max(s-_this2.options.scrollMargin+_this2.options.paddingEnd,0);},this.takeSnapshot=function(){var t=[];if(0===_this2.itemSizeCache.size)return t;var i=_this2.getMeasurements();var _iterator3=_createForOfIteratorHelper(i),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var _s12=_step3.value;_s12&&_this2.itemSizeCache.has(_s12.key)&&t.push({index:_s12.index,key:_s12.key,start:_s12.start,size:_s12.size,end:_s12.end,lane:_s12.lane});}}catch(err){_iterator3.e(err);}finally{_iterator3.f();}return t;},this._scrollToOffset=function(t,_ref12){var i=_ref12.adjustments,s=_ref12.behavior;_this2._intendedScrollOffset=t+(i!==null&&i!==void 0?i:0),_this2.options.scrollToFn(t,{behavior:s,adjustments:i},_this2);},this.measure=function(){_this2.pendingMin=null,_this2.itemSizeCache.clear(),_this2.laneAssignments.clear(),_this2.itemSizeCacheVersion++,_this2.notify(!1);},this.setOptions(s);}return _createClass(v,[{key:"applyScrollAdjustment",value:function applyScrollAdjustment(t,i){0!==t&&(n()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=t:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=t,behavior:i}),null!==this.scrollOffset&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),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,i=t?t[0]:this.scrollState.lastTargetOffset,s=i!==this.scrollState.lastTargetOffset;if(!s&&(h=i,n=this.getScrollOffset(),Math.abs(h-n)<1.01)){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1)return this.getScrollOffset()!==i&&this._scrollToOffset(i,{adjustments:void 0,behavior:"auto"}),void(this.scrollState=null);}else if(this.scrollState.stableFrames=0,s){var _t20=this.getSize()||600,_s13=Math.abs(i-this.getScrollOffset()),_h13="smooth"===this.scrollState.behavior&&_s13>_t20;this.scrollState.lastTargetOffset=i,_h13||(this.scrollState.behavior="auto"),this._scrollToOffset(i,{adjustments:void 0,behavior:_h13?"smooth":"auto"});}var h,n;this.scheduleScrollReconcile();}}]);}();b=function b(t,i,s,h){for(;t<=i;){var _n14=(t+i)/2|0,_e8=s(_n14);if(_e8<h)t=_n14+1;else{if(!(_e8>h))return _n14;i=_n14-1;}}return t>0?t-1:0;};g=/*#__PURE__*/function(){function g(t,i){var _this4=this;_classCallCheck(this,g);this.cleanup=function(){};var s=_objectSpread(_objectSpread({},i),{},{onChange:function onChange(t,s){var h;_this4.host.updateComplete.then(function(){return _this4.host.requestUpdate();}),null==(h=i.onChange)||h.call(i,t,s);}});this.virtualizer=new v(s),(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(_g2){function m(t,i){_classCallCheck(this,m);return _callSuper(this,m,[t,_objectSpread({observeElementRect:o,observeElementOffset:c,scrollToFn:f},i)]);}_inherits(m,_g2);return _createClass(m);}(g));}};});
|
|
2
|
-
//# sourceMappingURL=index-
|
|
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 s,h,n,e,l,r,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 _n15=0,F=function F(){};return{s:F,n:function n(){return _n15>=r.length?{done:!0}:{done:!1,value:r[_n15++]};},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,i,s){var _s$initialDeps;var h,n=(_s$initialDeps=s.initialDeps)!==null&&_s$initialDeps!==void 0?_s$initialDeps:[],e=!0;function l(){var l=t();return l.length!==n.length||l.some(function(t,i){return n[i]!==t;})?(n=l,h=i.apply(void 0,_toConsumableArray(l)),!(null==s?void 0:s.onChange)||e&&s.skipInitialOnChange||s.onChange(h),e=!1,h):h;}return l.updateDeps=function(t){n=t;},l;}function i(t,i){if(void 0===t)throw new Error("Unexpected undefined"+(i?": ".concat(i):""));return t;}return{setters:[],execute:function execute(){s=function s(t,i,_s){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 i.apply(_this,n);},_s);};};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 i=t.offsetWidth,s=t.offsetHeight;return{width:i,height:s};},l=function l(t){return t;},r=function r(t){var i=Math.max(t.startIndex-t.overscan,0),s=Math.min(t.endIndex+t.overscan,t.count-1)-i+1,h=new Array(s);for(var _t=0;_t<s;_t++)h[_t]=i+_t;return h;},o=function o(t,i){var s=t.scrollElement;if(!s)return;var h=t.targetWindow;if(!h)return;var n=function n(t){var s=t.width,h=t.height;i({width:Math.round(s),height:Math.round(h)});};if(n(e(s)),!h.ResizeObserver)return function(){};var l=new h.ResizeObserver(function(i){var h=function h(){var t=i[0];if(null==t?void 0:t.borderBoxSize){var _i=t.borderBoxSize[0];if(_i)return void n({width:_i.inlineSize,height:_i.blockSize});}n(e(s));};t.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(h):h();});return l.observe(s,{box:"border-box"}),function(){l.unobserve(s);};},u={passive:!0},a="undefined"==typeof window||"onscrollend"in window,c=function c(t,i){return function(t,i,h){var n=t.scrollElement;if(!n)return;var e=t.targetWindow;if(!e)return;var l=t.options.useScrollendEvent&&a;var r=0;var o=l?null:s(e,function(){return i(r,!1);},t.options.isScrollingResetDelay),c=function c(t){return function(){r=h(n),null==o||o(),i(r,t);};},d=c(!0),f=c(!1);return n.addEventListener("scroll",d,u),l&&n.addEventListener("scrollend",f,u),function(){n.removeEventListener("scroll",d),l&&n.removeEventListener("scrollend",f);};}(t,i,function(i){var _t$options=t.options,s=_t$options.horizontal,h=_t$options.isRtl;return s?i.scrollLeft*(h?-1:1):i.scrollTop;});},d=function d(t,i,s){if(s.options.useCachedMeasurements){var _s$itemSizeCache$get;var _i2=s.indexFromElement(t),_h=s.options.getItemKey(_i2);return(_s$itemSizeCache$get=s.itemSizeCache.get(_h))!==null&&_s$itemSizeCache$get!==void 0?_s$itemSizeCache$get:s.options.estimateSize(_i2);}if(null==i?void 0:i.borderBoxSize){var _t2=i.borderBoxSize[0];if(_t2){return Math.round(_t2[s.options.horizontal?"inlineSize":"blockSize"]);}}if(!i){var _i3=s.indexFromElement(t),_h2=s.options.getItemKey(_i3),_n=s.itemSizeCache.get(_h2);if(void 0!==_n)return _n;}return t[s.options.horizontal?"offsetWidth":"offsetHeight"];},f=function f(t,_ref,h){var _ref$adjustments=_ref.adjustments,i=_ref$adjustments===void 0?0:_ref$adjustments,s=_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+i),"behavior",s));};v=/*#__PURE__*/function(){function v(s){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,i,s;return(_ref2=null==(s=null==(i=null==(t=_this2.targetWindow)?void 0:t.performance)?void 0:i.now)?void 0:s.call(i))!==null&&_ref2!==void 0?_ref2:Date.now();},this.observer=function(){var t=null;var i=function i(){return t||(_this2.targetWindow&&_this2.targetWindow.ResizeObserver?t=new _this2.targetWindow.ResizeObserver(function(t){t.forEach(function(t){var i=function i(){var i=t.target,s=_this2.indexFromElement(i);if(i.isConnected)_this2.shouldMeasureDuringScroll(s)&&_this2.resizeItem(s,_this2.options.measureElement(i,t,_this2));else{_this2.observer.unobserve(i);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],_s2=_step$value[1];if(_s2===i){_this2.elementsCache["delete"](_t3);break;}}}catch(err){_iterator.e(err);}finally{_iterator.f();}}};_this2.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(i):i();});}):null);};return{disconnect:function disconnect(){var s;null==(s=i())||s.disconnect(),t=null;},observe:function observe(t){var s;return null==(s=i())?void 0:s.observe(t,{box:"border-box"});},unobserve:function unobserve(t){var s;return null==(s=i())?void 0:s.unobserve(t);}};}(),this.range=null,this.setOptions=function(t){var i,s;var h={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:l,rangeExtractor:r,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 _i4 in t){var _s3=t[_i4];void 0!==_s3&&(h[_i4]=_s3);}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,_l=h.count,_r=_this2.getMeasurements(),_a=_t4>0?(_ref3=null==(i=_r[0])?void 0:i.key)!==null&&_ref3!==void 0?_ref3:n.getItemKey(0):null,_c=_t4>0?(_ref4=null==(s=_r[_t4-1])?void 0:s.key)!==null&&_ref4!==void 0?_ref4:n.getItemKey(_t4-1):null;if(_l!==_t4||_t4>0&&_l>0&&(h.getItemKey(0)!==_a||h.getItemKey(_l-1)!==_c)){var _this2$getVirtualItem;u=!0;var _i5=_t4>0?(_this2$getVirtualItem=_this2.getVirtualItemForOffset(_this2.getScrollOffset()))!==null&&_this2$getVirtualItem!==void 0?_this2$getVirtualItem:_r[0]:null;_i5&&(e=[_i5.key,_this2.getScrollOffset()-_i5.start]);var _s4=!0===h.followOnAppend?"auto":h.followOnAppend||null;_s4&&_l>_t4&&_this2.isAtEnd(n.scrollEndThreshold)&&(0===_t4||h.getItemKey(_l-1)!==_c)&&(o=_s4);}}_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],_i6=_e2[1],_s5=_this2.getMeasurements(),_this2$options=_this2.options,_h3=_this2$options.count,_n2=_this2$options.getItemKey;var _l2=0;for(;_l2<_h3&&_n2(_l2)!==_t5;)_l2++;if(_l2<_h3){var _t6=_s5[_l2];if(_t6){var _s6=Math.max(0,_t6.start+_i6);_s6!==_this2.scrollOffset&&(c=_s6-_this2.scrollOffset,_this2.scrollOffset=_s6,a=!0);}}}(a||o)&&(_this2.pendingScrollAnchor=[a?e[0]:null,a?e[1]:0,o,c]);},this.notify=function(t){var i,s;null==(s=(i=_this2.options).onChange)||s.call(i,_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._iosDeferredAdjustment=0,_this2._iosTouching=!1,_this2._iosJustTouchEnded=!1,_this2.scrollElement=null,_this2.targetWindow=null;},this._didMount=function(){return function(){_this2.cleanup();};},this._willUpdate=function(){var t;var i=_this2.options.enabled?_this2.options.getScrollElement():null;if(_this2.scrollElement!==i){var _ref5;if(_this2.cleanup(),!i)return void _this2.maybeNotify();if(_this2.scrollElement=i,_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,i){if(i&&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 s=_this2.getScrollOffset();_this2.scrollDirection=i?s===t?_this2.scrollDirection:s<t?"forward":"backward":null,_this2.scrollOffset=t,_this2.isScrolling=i,_this2._flushIosDeferredIfReady(),_this2.scrollState&&_this2.scheduleScrollReconcile(),_this2.maybeNotify();})),"addEventListener"in _this2.scrollElement){var _t7=_this2.scrollElement,_i7=function _i7(){_this2._iosTouching=!0,_this2._iosJustTouchEnded=!1,null!==_this2._iosTouchEndTimerId&&null!=_this2.targetWindow&&(_this2.targetWindow.clearTimeout(_this2._iosTouchEndTimerId),_this2._iosTouchEndTimerId=null);},_s7=function _s7(){_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",_i7,u),_t7.addEventListener("touchend",_s7,u),_this2.unsubs.push(function(){_t7.removeEventListener("touchstart",_i7),_t7.removeEventListener("touchend",_s7),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 s=_this2.pendingScrollAnchor;if(_this2.pendingScrollAnchor=null,s&&_this2.scrollElement&&_this2.options.enabled){var _s8=_slicedToArray(s,4),_t8=_s8[0],_i8=_s8[1],_h4=_s8[2],_e3=_s8[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(),i=_this2.getMaxScrollOffset();if(t<0||t>i)return;if(_this2._iosDeferredAdjustment<0&&t>=i-1)return void(_this2._iosDeferredAdjustment=0);var s=_this2._iosDeferredAdjustment;_this2._iosDeferredAdjustment=0,_this2._scrollToOffset(t,{adjustments:_this2.scrollAdjustments+=s,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.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,_this2.options.gap];},function(t,i,s,h,n,e,l,r){return void 0!==_this2.prevLanes&&_this2.prevLanes!==e&&(_this2.lanesChangedFlag=!0),_this2.prevLanes=e,_this2.pendingMin=null,{count:t,paddingStart:i,scrollMargin:s,getItemKey:h,enabled:n,lanes:e,laneAssignmentMode:l,gap:r};},{key:!1}),this.getMeasurements=t(function(){return[_this2.getMeasurementOptions(),_this2.itemSizeCacheVersion];},function(_ref6,o){var _this2$pendingMin;var t=_ref6.count,i=_ref6.paddingStart,s=_ref6.scrollMargin,h=_ref6.getItemKey,n=_ref6.enabled,e=_ref6.lanes,l=_ref6.laneAssignmentMode,r=_ref6.gap;var u=_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 _i9=_step2.value;_i9>=t&&_this2.laneAssignments["delete"](_i9);}}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 a=_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 _n3=2*t;var _e4,_l3=_this2._flatMeasurements;if(!_l3||_l3.length<_n3){var _t9=new Float64Array(_n3);_l3&&a>0&&_t9.set(_l3.subarray(0,2*a)),_l3=_t9,_this2._flatMeasurements=_l3;}if(0===a)_e4=i+s;else{var _t10=a-1;_e4=_l3[2*_t10]+_l3[2*_t10+1]+r;}for(var _i10=a;_i10<t;_i10++){var _t11=h(_i10),_s9=u.get(_t11),_n4="number"==typeof _s9?_s9:_this2.options.estimateSize(_i10);_l3[2*_i10]=_e4,_l3[2*_i10+1]=_n4,_e4+=_n4+r;}var _o=function(t,i,s){var h=new Array(t);return new Proxy(h,{get:function get(h,n,e){if("string"==typeof n){var _e5=n.charCodeAt(0);if(_e5>=48&&_e5<=57){var _e6=+n;if(Number.isInteger(_e6)&&_e6>=0&&_e6<t){var _t12=h[_e6];if(!_t12){var _n5=i[2*_e6];_t12=h[_e6]={index:_e6,key:s(_e6),start:_n5,size:i[2*_e6+1],end:_n5+i[2*_e6+1],lane:0};}return _t12;}}if("length"===n)return t;}return Reflect.get(h,n,e);}});}(t,_l3,h);return _this2.measurementsCache=_o,_o;}var c=_this2.measurementsCache.slice(0,a),d=new Array(e).fill(void 0),f=new Float64Array(e);var _v=0;for(var _t13=0;_t13<a;_t13++){var _i11=c[_t13];_i11&&(void 0===d[_i11.lane]&&_v++,d[_i11.lane]=_t13,f[_i11.lane]=_i11.end);}for(var _n6=a;_n6<t;_n6++){var _t14=h(_n6),_o2=_this2.laneAssignments.get(_n6);var _a2=void 0,_b=void 0;var _g="estimate"===l||u.has(_t14);if(void 0!==_o2&&_this2.options.lanes>1){_a2=_o2;var _t15=d[_a2],_h5=void 0!==_t15?c[_t15]:void 0;_b=_h5?_h5.end+r:i+s;}else if(_v===e){var _t16=0,_i12=f[0],_s10=d[0];for(var _h6=1;_h6<e;_h6++){var _n7=f[_h6];(_n7<_i12||_n7===_i12&&d[_h6]<_s10)&&(_t16=_h6,_i12=_n7,_s10=d[_h6]);}_a2=_t16,_b=_i12+r,_g&&_this2.laneAssignments.set(_n6,_a2);}else _a2=_n6%_this2.options.lanes,_b=i+s,_g&&_this2.laneAssignments.set(_n6,_a2);var _m=u.get(_t14),M="number"==typeof _m?_m:_this2.options.estimateSize(_n6),y=_b+M;c[_n6]={index:_n6,start:_b,size:M,end:y,key:_t14,lane:_a2},void 0===d[_a2]&&_v++,d[_a2]=_n6,f[_a2]=y;}return _this2.measurementsCache=c,c;},{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,i,s,h){return 0===t.length||0===i?(_this2.range=null,null):(_this2.range=function(t,i,s,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,i,s){var h=0;for(;h<=i;){var _n8=(h+i)/2|0,_e7=t[2*_n8];if(_e7<s)h=_n8+1;else{if(!(_e7>s))return _n8;i=_n8-1;}}return h>0?h-1:0;}(n,e,s);var _h7=_t17;var _l4=s+i;for(;_h7<e&&n[2*_h7]+n[2*_h7+1]<_l4;)_h7++;return{startIndex:_t17,endIndex:_h7};}var l=function l(i){return t[i].start;};var r=b(0,e,l,s),o=r;if(1===h)for(;o<e&&t[o].end<s+i;)o++;else if(h>1){var _n9=Array(h).fill(0);for(;o<e&&_n9.some(function(t){return t<s+i;});){var _i13=t[o];_n9[_i13.lane]=_i13.end,o++;}var _l5=Array(h).fill(s+i);for(;r>=0&&_l5.some(function(t){return t>=s;});){var _i14=t[r];_l5[_i14.lane]=_i14.start,r--;}r=Math.max(0,r-r%h),o=Math.min(e,o+(h-1-o%h));}return{startIndex:r,endIndex:o};}(t,i,s,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,i=null;var s=_this2.calculateRange();return s&&(t=s.startIndex,i=s.endIndex),_this2.maybeNotify.updateDeps([_this2.isScrolling,t,i]),[_this2.options.rangeExtractor,_this2.options.overscan,_this2.options.count,t,i];},function(t,i,s,h,n){return null===h||null===n?[]:t({startIndex:h,endIndex:n,overscan:i,count:s});},{key:!1,debug:function debug(){return _this2.options.debug;}}),this.indexFromElement=function(t){var i=_this2.options.indexAttribute,s=t.getAttribute(i);return s?parseInt(s,10):(console.warn("Missing attribute name '".concat(i,"={index}' on measured element.")),-1);},this.shouldMeasureDuringScroll=function(t){var _this2$scrollState$in;var i;if(!_this2.scrollState||"smooth"!==_this2.scrollState.behavior)return!0;var s=(_this2$scrollState$in=_this2.scrollState.index)!==null&&_this2$scrollState$in!==void 0?_this2$scrollState$in:null==(i=_this2.getVirtualItemForOffset(_this2.scrollState.lastTargetOffset))?void 0:i.index;if(void 0!==s&&_this2.range){var _i15=Math.max(_this2.options.overscan,Math.ceil((_this2.range.endIndex-_this2.range.startIndex)/2)),_h8=Math.max(0,s-_i15),_n10=Math.min(_this2.options.count-1,s+_i15);return t>=_h8&&t<=_n10;}return!0;},this.measureElement=function(t){if(!t)return void _this2.elementsCache.forEach(function(t,i){t.isConnected||(_this2.observer.unobserve(t),_this2.elementsCache["delete"](i));});var i=_this2.indexFromElement(t),s=_this2.options.getItemKey(i),h=_this2.elementsCache.get(s);h!==t&&(h&&_this2.observer.unobserve(h),_this2.observer.observe(t),_this2.elementsCache.set(s,t)),_this2.isScrolling&&!_this2.scrollState||!_this2.shouldMeasureDuringScroll(i)||_this2.resizeItem(i,_this2.options.measureElement(t,void 0,_this2));},this.resizeItem=function(t,i){var _this2$itemSizeCache$;var s,h;if(t<0||t>=_this2.options.count)return;var n,e,l;var r=_this2._flatMeasurements;if(1===_this2.options.lanes&&null!==r)l=_this2.options.getItemKey(t),e=r[2*t],n=r[2*t+1];else{var _i16=_this2.measurementsCache[t];if(!_i16)return;l=_i16.key,e=_i16.start,n=_i16.size;}var o=(_this2$itemSizeCache$=_this2.itemSizeCache.get(l))!==null&&_this2$itemSizeCache$!==void 0?_this2$itemSizeCache$:n,u=i-o;if(0!==u){var _this2$measurementsCa;var _r2="end"===_this2.options.anchorTo&&"smooth"!==(null==(s=_this2.scrollState)?void 0:s.behavior)&&_this2.getVirtualDistanceFromEnd()<=_this2.options.scrollEndThreshold,_a3=_r2?_this2.getTotalSize():0,_c2=_this2.getScrollOffset()+_this2.scrollAdjustments,_d=!_this2.itemSizeCache.has(l)?e<_c2:e+o<=_c2&&"backward"!==_this2.scrollDirection,_f="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:l,start:e,size:n,end:e+n,lane:0},u,_this2):_d);(null===_this2.pendingMin||t<_this2.pendingMin)&&(_this2.pendingMin=t),_this2.itemSizeCache.set(l,i),_this2.itemSizeCacheVersion++;var _v2=!1;_r2?_v2=_this2.applyScrollAdjustment(_this2.getTotalSize()-_a3):_f&&(_v2=_this2.applyScrollAdjustment(u)),_this2.notify(_v2);}},this.getVirtualItems=t(function(){return[_this2.getVirtualIndexes(),_this2.getMeasurements()];},function(t,i){var s=[];for(var _h9=0,_n11=t.length;_h9<_n11;_h9++){var _n12=i[t[_h9]];s.push(_n12);}return s;},{key:!1,debug:function debug(){return _this2.options.debug;}}),this.getVirtualItemForOffset=function(t){var s=_this2.getMeasurements();if(0===s.length)return;var h=_this2._flatMeasurements,n=1===_this2.options.lanes&&null!=h,e=b(0,s.length-1,n?function(t){return h[2*t];}:function(t){return i(s[t]).start;},t);return i(s[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,i){var s=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;if(!_this2.scrollElement)return 0;var h=_this2.getSize(),n=_this2.getScrollOffset();"auto"===i&&(i=t>=n+h?"end":"start"),"center"===i?t+=(s-h)/2:"end"===i&&(t-=h);var e=_this2.getMaxScrollOffset();return Math.max(Math.min(e,t),0);},this.getOffsetForIndex=function(t){var i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"auto";t=Math.max(0,Math.min(t,_this2.options.count-1));var s=_this2.getSize(),h=_this2.getScrollOffset(),n=_this2.measurementsCache[t];if(!n)return;if("auto"===i)if(n.end>=h+s-_this2.options.scrollPaddingEnd)i="end";else{if(!(n.start<=h+_this2.options.scrollPaddingStart))return[h,i];i="start";}if("end"===i&&t===_this2.options.count-1)return[_this2.getMaxScrollOffset(),i];var e="end"===i?n.end+_this2.options.scrollPaddingEnd:n.start-_this2.options.scrollPaddingStart;return[_this2.getOffsetForAlignment(e,i,n.size),i];},this.scrollToOffset=function(t){var _ref7=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref7$align=_ref7.align,i=_ref7$align===void 0?"start":_ref7$align,_ref7$behavior=_ref7.behavior,s=_ref7$behavior===void 0?"auto":_ref7$behavior;_this2._iosDeferredAdjustment=0;var h=_this2.getOffsetForAlignment(t,i),n=_this2.now();_this2.scrollState={index:null,align:i,behavior:s,startedAt:n,lastTargetOffset:h,stableFrames:0},_this2._scrollToOffset(h,{adjustments:void 0,behavior:s}),_this2.scheduleScrollReconcile();},this.scrollToIndex=function(t){var _ref8=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref8$align=_ref8.align,i=_ref8$align===void 0?"auto":_ref8$align,_ref8$behavior=_ref8.behavior,s=_ref8$behavior===void 0?"auto":_ref8$behavior;_this2._iosDeferredAdjustment=0,t=Math.max(0,Math.min(t,_this2.options.count-1));var h=_this2.getOffsetForIndex(t,i);if(!h)return;var _h10=_slicedToArray(h,2),n=_h10[0],e=_h10[1],l=_this2.now();_this2.scrollState={index:t,align:e,behavior:s,startedAt:l,lastTargetOffset:n,stableFrames:0},_this2._scrollToOffset(n,{adjustments:void 0,behavior:s}),_this2.scheduleScrollReconcile();},this.scrollBy=function(t){var _ref9=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},_ref9$behavior=_ref9.behavior,i=_ref9$behavior===void 0?"auto":_ref9$behavior;var s=_this2.getScrollOffset()+t,h=_this2.now();_this2.scrollState={index:null,align:"start",behavior:i,startedAt:h,lastTargetOffset:s,stableFrames:0},_this2._scrollToOffset(s,{adjustments:void 0,behavior:i}),_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 i=_this2.getMeasurements();var s;if(0===i.length)s=_this2.options.paddingStart;else if(1===_this2.options.lanes){var _ref11;var _h11=i.length-1,_n13=_this2._flatMeasurements;s=null!=_n13?_n13[2*_h11]+_n13[2*_h11+1]:(_ref11=null==(t=i[_h11])?void 0:t.end)!==null&&_ref11!==void 0?_ref11:0;}else{var _t19=Array(_this2.options.lanes).fill(null);var _h12=i.length-1;for(;_h12>=0&&_t19.some(function(t){return null===t;});){var _s11=i[_h12];null===_t19[_s11.lane]&&(_t19[_s11.lane]=_s11.end),_h12--;}s=Math.max.apply(Math,_toConsumableArray(_t19.filter(function(t){return null!==t;})));}return Math.max(s-_this2.options.scrollMargin+_this2.options.paddingEnd,0);},this.takeSnapshot=function(){var t=[];if(0===_this2.itemSizeCache.size)return t;var i=_this2.getMeasurements();var _iterator3=_createForOfIteratorHelper(i),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var _s12=_step3.value;_s12&&_this2.itemSizeCache.has(_s12.key)&&t.push({index:_s12.index,key:_s12.key,start:_s12.start,size:_s12.size,end:_s12.end,lane:_s12.lane});}}catch(err){_iterator3.e(err);}finally{_iterator3.f();}return t;},this._scrollToOffset=function(t,_ref12){var i=_ref12.adjustments,s=_ref12.behavior;_this2._intendedScrollOffset=t+(i!==null&&i!==void 0?i:0),_this2.options.scrollToFn(t,{behavior:s,adjustments:i},_this2);},this.measure=function(){_this2.pendingMin=null,_this2.itemSizeCache.clear(),_this2.laneAssignments.clear(),_this2.itemSizeCacheVersion++,_this2.notify(!1);},this.setOptions(s);}return _createClass(v,[{key:"applyScrollAdjustment",value:function applyScrollAdjustment(t,i){return 0!==t&&(n()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?(this._iosDeferredAdjustment+=t,!1):(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=t,behavior:i}),null!==this.scrollOffset&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!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,i=t?t[0]:this.scrollState.lastTargetOffset,s=i!==this.scrollState.lastTargetOffset;if(!s&&(h=i,n=this.getScrollOffset(),Math.abs(h-n)<1.01)){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1)return this.getScrollOffset()!==i&&this._scrollToOffset(i,{adjustments:void 0,behavior:"auto"}),void(this.scrollState=null);}else if(this.scrollState.stableFrames=0,s){var _t20=this.getSize()||600,_s13=Math.abs(i-this.getScrollOffset()),_h13="smooth"===this.scrollState.behavior&&_s13>_t20;this.scrollState.lastTargetOffset=i,_h13||(this.scrollState.behavior="auto"),this._scrollToOffset(i,{adjustments:void 0,behavior:_h13?"smooth":"auto"});}var h,n;this.scheduleScrollReconcile();}}]);}();b=function b(t,i,s,h){for(;t<=i;){var _n14=(t+i)/2|0,_e8=s(_n14);if(_e8<h)t=_n14+1;else{if(!(_e8>h))return _n14;i=_n14-1;}}return t>0?t-1:0;};g=/*#__PURE__*/function(){function g(t,i){var _this4=this;_classCallCheck(this,g);this.cleanup=function(){};var s=_objectSpread(_objectSpread({},i),{},{onChange:function onChange(t,s){var h;_this4.host.updateComplete.then(function(){return _this4.host.requestUpdate();}),null==(h=i.onChange)||h.call(i,t,s);}});this.virtualizer=new v(s),(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(_g2){function m(t,i){_classCallCheck(this,m);return _callSuper(this,m,[t,_objectSpread({observeElementRect:o,observeElementOffset:c,scrollToFn:f},i)]);}_inherits(m,_g2);return _createClass(m);}(g));}};});
|
|
2
|
+
//# sourceMappingURL=index-d37d33cb.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-d37d33cb.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 = Math.max(0, 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._iosDeferredAdjustment = 0;\n this._iosTouching = false;\n this._iosJustTouchEnded = false;\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 if (this._iosDeferredAdjustment < 0 && cur >= max - 1) {\n this._iosDeferredAdjustment = 0;\n return;\n }\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.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 this.options.gap\n ],\n (count, paddingStart, scrollMargin, getItemKey, enabled, lanes, laneAssignmentMode, gap) => {\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 gap\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 gap\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 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 const laneEnds = new Float64Array(lanes);\n let filledLanes = 0;\n for (let m = 0; m < min; m++) {\n const item = measurements[m];\n if (item) {\n if (laneLastIndex[item.lane] === void 0) filledLanes++;\n laneLastIndex[item.lane] = m;\n laneEnds[item.lane] = item.end;\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 + gap : paddingStart + scrollMargin;\n } else if (filledLanes === lanes) {\n let bestLane = 0;\n let bestEnd = laneEnds[0];\n let bestIdx = laneLastIndex[0];\n for (let l = 1; l < lanes; l++) {\n const e = laneEnds[l];\n if (e < bestEnd || e === bestEnd && laneLastIndex[l] < bestIdx) {\n bestLane = l;\n bestEnd = e;\n bestIdx = laneLastIndex[l];\n }\n }\n lane = bestLane;\n start = bestEnd + gap;\n if (shouldCacheLane) {\n this.laneAssignments.set(i, lane);\n }\n } else {\n lane = i % this.options.lanes;\n start = paddingStart + scrollMargin;\n if (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 if (laneLastIndex[lane] === void 0) filledLanes++;\n laneLastIndex[lane] = i;\n laneEnds[lane] = end;\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 scrollOffsetWithAdj = this.getScrollOffset() + this.scrollAdjustments;\n const isFirstMeasure = !this.itemSizeCache.has(key);\n const defaultShouldAdjust = isFirstMeasure ? (\n // First measurement: compensate any item whose top sits above the\n // fold — the estimate→actual delta must be corrected regardless of\n // scroll direction, since the whole estimated block was above it.\n itemStart < scrollOffsetWithAdj\n ) : (\n // Re-measurement: only compensate an item that is ENTIRELY above the\n // fold. An item that merely *spans* the fold (top above, bottom\n // below — e.g. a streaming chat message growing at its bottom)\n // changes size *below* the anchor point, so shifting scrollTop by the\n // delta would drag the viewport downward on every growth (#1218).\n // Also skip during backward scroll to avoid the \"items jump while\n // scrolling up\" cascade.\n itemStart + itemSize <= scrollOffsetWithAdj && this.scrollDirection !== \"backward\"\n );\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 ) : defaultShouldAdjust);\n if (this.pendingMin === null || index < this.pendingMin) {\n this.pendingMin = index;\n }\n this.itemSizeCache.set(key, size);\n this.itemSizeCacheVersion++;\n let adjustedSync = false;\n if (wasAtEnd) {\n adjustedSync = this.applyScrollAdjustment(\n this.getTotalSize() - prevTotalSize\n );\n } else if (shouldAdjustScroll) {\n adjustedSync = this.applyScrollAdjustment(delta);\n }\n this.notify(adjustedSync);\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 this._iosDeferredAdjustment = 0;\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 this._iosDeferredAdjustment = 0;\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 // Returns `true` when it performed a synchronous `scrollTop` write this\n // tick, `false` when the delta was zero or the write was deferred (iOS).\n // `resizeItem` uses that to decide whether the follow-up `notify` must be\n // synchronous so the grown transforms commit in the same paint (#1227).\n applyScrollAdjustment(delta, behavior) {\n if (delta === 0) return false;\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 return false;\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 if (this.scrollOffset < 0) this.scrollOffset = 0;\n this.scrollAdjustments = 0;\n }\n return true;\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","_s$initialDeps","result","deps","initialDeps","isInitial","memoizedFunction","l","newDeps","length","some","dep","index","onChange","skipInitialOnChange","updateDeps","notUndefined","value","msg","Error","concat","setters","execute","debounce","s","targetWindow","ms","timeoutId","args","clearTimeout","setTimeout","apply","this","isIOSWebKit","n","_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","instance","cb","scrollElement","handler","rect","round","ResizeObserver","observer","entries","run","h","entry","borderBoxSize","box","inlineSize","blockSize","options","useAnimationFrameWithResizeObserver","requestAnimationFrame","observe","unobserve","addEventListenerOptions","passive","supportsScrollend","window","observeElementOffset","readOffset","registerScrollendEvent","useScrollendEvent","offset","fallback","isScrollingResetDelay","createHandler","isScrolling","endHandler","addEventListener","removeEventListener","observeOffset","el","_t$options","horizontal","isRtl","scrollLeft","scrollTop","measureElement","d","useCachedMeasurements","_s$itemSizeCache$get","indexFromElement","key","getItemKey","itemSizeCache","get","estimateSize","cachedSize","elementScroll","adjustments","_ref$adjustments","behavior","_a","_b","scrollTo","call","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","node","target","isConnected","shouldMeasureDuringScroll","resizeItem","_iterator","_createForOfIteratorHelper","_step","done","_step$value","_slicedToArray","cacheKey","cachedNode","err","e","f","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","rafId","cancelAnimationFrame","_didMount","_willUpdate","getScrollElement","_ref5","ownerDocument","defaultView","cached","push","abs","prevOffset","_flushIosDeferredIfReady","scheduleScrollReconcile","scrollEl","onTouchStart","onTouchEnd","_scrollToOffset","_s8","_offset","scrollToEnd","cur","getMaxScrollOffset","delta","getSize","_this2$scrollRect","_this2$scrollOffset","getMeasurementOptions","_ref6","_itemSizeCacheVersion","_this2$pendingMin","clear","size","keys","_iterator2","_step2","set","need","runningStart","flat","next","Float64Array","subarray","prevIdx","measuredSize","view","cache","Proxy","prop","receiver","c","charCodeAt","Number","isInteger","end","lane","Reflect","createLazyMeasurementsView","slice","laneLastIndex","fill","laneEnds","filledLanes","m","cachedLane","shouldCacheLane","has","prevIndex","prevInLane","bestLane","bestEnd","bestIdx","a","outerSize","lastIndex","startIndex2","high","low","middle","currentValue","findNearestBinarySearchFlat","endIndex2","limit","getStart","findNearestBinarySearch","endPerLane","pos","startPerLane","calculateRangeImpl","getVirtualIndexes","attributeName","indexStr","getAttribute","parseInt","console","warn","scrollIndex","_this2$scrollState$in","lastTargetOffset","bufferSize","ceil","minIndex","maxIndex","key2","delete","prevNode","_this2$itemSizeCache$","itemStart","itemSize","_this2$measurementsCa","wasAtEnd","getVirtualDistanceFromEnd","prevTotalSize","getTotalSize","scrollOffsetWithAdj","defaultShouldAdjust","shouldAdjustScroll","shouldAdjustScrollPositionOnItemSizeChange","adjustedSync","applyScrollAdjustment","getVirtualItems","indexes","virtualItems","k","measurement","useFlat","scrollWidth","clientWidth","scrollHeight","clientHeight","doc","document","documentElement","innerWidth","innerHeight","getDistanceFromEnd","threshold","getOffsetForAlignment","toOffset","align","arguments","undefined","maxOffset","getOffsetForIndex","scrollToOffset","_ref7$align","_ref7$behavior","_ref7","startedAt","stableFrames","scrollToIndex","initialAlign","_ref8$align","_ref8$behavior","_ref8","offsetInfo","_h10","scrollBy","_ref9$behavior","_ref10","_ref10$behavior","t","_ref11","lastIdx","endByLane","val","takeSnapshot","snapshot","_iterator3","_step3","scrollToFn","measure","_createClass","reconcileScroll","targetOffset","targetChanged","b","viewport","distance","keepSmooth","getCurrentValue","VirtualizerControllerBase","g","host","resolvedOptions","updateComplete","then","requestUpdate","virtualizer","addController","getVirtualizer","hostConnected","hostUpdated","hostDisconnected","_export","VirtualizerController"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|