@vielzeug/scroll 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- var Scroll=(function(e,t){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var n=class e extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}static is(t){return t instanceof e}},r=class extends n{},i=class extends n{};function a(){return new Map}var o=36,s=3;function c(e,t=0){return Number.isFinite(e)?Math.max(0,Math.floor(e)):t}function l(e,t){return!Number.isFinite(e)||e<=0||e>1e7?t:e}function u(e){return typeof Window<`u`&&e instanceof Window||typeof e.innerHeight==`number`&&typeof e.document==`object`}function d(e,t){if(typeof e==`number`){let n=c(e,t);return{end:n,start:n}}return{end:c(e?.end??t),start:c(e?.start??t)}}function f(e,t,n){let r=new ResizeObserver(e=>{for(let t of e)n(t)});return r.observe(t),e.addEventListener(`abort`,()=>r.disconnect(),{once:!0}),()=>r.disconnect()}function p(e,t){if(typeof e==`function`)return n=>{try{return l(e(n),t)}catch(e){return`${n}${e}`,t}};let n=typeof e==`number`?l(e,t):t;return()=>n}function m(e,t){if(!Number.isFinite(e)||!Number.isInteger(e)||e<0)throw new r(`${t} must be a finite non-negative integer.`);return e}function h(e,t){if(!Number.isFinite(e)||e<0)throw new r(`${t} must be a finite non-negative number.`);return e}function g(e,t){if(!Number.isFinite(e)||e<=0||e>1e7)throw new r(`${t} must be a finite positive number no greater than 10000000.`);return e}function _(e,t=`overscan`){if(typeof e==`number`){m(e,t);return}if(typeof e!=`object`||!e||Array.isArray(e))throw new r(`${t} must be a finite non-negative integer or an overscan object.`);e.start!==void 0&&m(e.start,`${t}.start`),e.end!==void 0&&m(e.end,`${t}.end`)}function v(e,t,n){if(u(e))return e.addEventListener(`scroll`,t,{passive:!0}),e.addEventListener(`resize`,n,{passive:!0}),{detach(){e.removeEventListener(`scroll`,t),e.removeEventListener(`resize`,n)},scrollTo:(t,n,r)=>e.scrollTo({behavior:r,left:t,top:n}),x:{readOffset:()=>e.scrollX,readViewportSize:()=>e.innerWidth,writeOffset:(t,n)=>e.scrollTo({behavior:n,left:t})},y:{readOffset:()=>e.scrollY,readViewportSize:()=>e.innerHeight,writeOffset:(t,n)=>e.scrollTo({behavior:n,top:t})}};let r=new ResizeObserver(n);return e.addEventListener(`scroll`,t,{passive:!0}),r.observe(e),{detach(){e.removeEventListener(`scroll`,t),r.disconnect()},scrollTo:(t,n,r)=>e.scrollTo({behavior:r,left:t,top:n}),x:{readOffset:()=>e.scrollLeft,readViewportSize:()=>e.clientWidth,writeOffset:(t,n)=>e.scrollTo({behavior:n,left:t})},y:{readOffset:()=>e.scrollTop,readViewportSize:()=>e.clientHeight,writeOffset:(t,n)=>e.scrollTo({behavior:n,top:t})}}}function y(e,t,n){let r=e,i=n,a=t,o=[],s=0,c=-1,l=-1,u=-1,d=!1,f=1/0;function p(e){return o[e]??0}function m(e){return p(e)+a(e)}function h(e=!1){e&&(c=-1,l=-1,u=-1);let t=[0],n=0;for(let e=0;e<r;e++)n+=a(e)+(e<r-1?i:0),t.push(n);o=t,s=n}function g(e){if(!Number.isFinite(e)||e>=r)return;c=-1,l=-1,u=-1;let t=o[e]??0;for(let n=e;n<r;n++)o[n]=t,t+=a(n)+(n<r-1?i:0);o[r]=t,s=t}function _(e){let t=0,n=r-1;for(;t<n;){let r=t+n>>1;m(r)<=e?t=r+1:n=r}return t}function v(e,t){let n=t,i=r-1;for(;n<i;){let t=n+i+1>>1;p(t)<e?n=t:i=t-1}return n}function y(e,t,n,i){let a=_(e),o=v(t,a);return{renderEnd:Math.min(r-1,o+i),renderStart:Math.max(0,a-n)}}function b(e,t){return e===c&&t===l&&s===u}function x(e,t){c=e,l=t,u=s}function S(){c=-1,l=-1,u=-1}function C(e){d||(d=!0,queueMicrotask(()=>{d=!1;let t=f;f=1/0,g(t),e()}))}function w(e){e<f&&(f=e)}function T(e){let t=p(e),n=a(e);return{end:t+n,index:e,size:n,start:t}}return{commitDedup:x,computeRange:y,consumeMinChangedIndex(){let e=f;return f=1/0,e},get count(){return r},endAt:m,findFirst:_,findLast:v,get gap(){return i},isDedupSame:b,itemAt:T,markChanged:w,get minChangedIndex(){return f},get pendingBuild(){return d},get prevEnd(){return l},get prevStart(){return c},get prevTotalSize(){return u},rebuild:h,rebuildFrom:g,resetDedup:S,scheduleBuild:C,setCount(e){r=e},setGap(e){i=e},sizeAt(e){return a(e)},startAt:p,get totalSize(){return s}}}function b(e,t){typeof t.estimateSize==`number`&&g(t.estimateSize,`estimateSize`),t.gap!==void 0&&m(t.gap,`gap`),t.initialOffset!==void 0&&h(t.initialOffset,`initialOffset`),t.overscan!==void 0&&_(t.overscan),t.scrollEndDelay!==void 0&&h(t.scrollEndDelay,`scrollEndDelay`);let n=!!t.horizontal,r=e=>e,i=m(t.count,`count`),a=p(t.estimateSize,36),o=c(t.gap??0),s=t.getItemKey??r,u=d(t.overscan,3),b=t.sticky??null,x=t.onChange,S=t.onScrollEnd,C=t.onScrollingChange,w=t.scrollEndDelay??150,T=!1,E=null,D=`onscrollend`in e;function O(){T&&(T=!1,C?.(!1),S?.(I))}function k(){T||(T=!0,C?.(!0)),D||(E!==null&&clearTimeout(E),E=setTimeout(O,w))}let A=t.measurementCache??new Map,j=[],M=[],N=y(i,e=>A.get(s(e))??a(e),o),P=-1,F=0,I=0,L=0,R=-1,z=!1;function B(e){let t=Number.isFinite(e)?e:0,n=Math.max(0,N.totalSize-L);return Math.min(n,Math.max(0,t))}function V(){if(!b||i===0||I<=0)return[];let e=-1,t=0,n=i-1;for(;t<=n;){let r=t+n>>1;N.startAt(r)<I?(e=r,t=r+1):n=r-1}if(e<0)return[];let r=-1;for(let t=e;t>=0;t--)if(b(t)){r=t;break}if(r===-1)return[];let a=N.sizeAt(r),o=1/0;for(let e=r+1;e<i;e++)if(b(e)){o=N.startAt(e);break}let s=Math.min(I,o-a);return[{end:s+a,index:r,size:a,start:s}]}function H(){if(z)return;if(i===0||L<=0){(N.prevStart!==-1||N.prevTotalSize!==N.totalSize)&&(N.commitDedup(-1,-1),j=[],M=[],x&&x({items:j,stickyItems:M,totalSize:N.totalSize}));return}let{renderEnd:e,renderStart:t}=N.computeRange(I,I+L,u.start,u.end),n=b!==null&&I!==R;if(N.isDedupSame(t,e)&&!n)return;N.commitDedup(t,e),R=I;let r=[];for(let n=t;n<=e;n++)r.push(N.itemAt(n));j=r,M=b?V():[],x&&x({items:j,stickyItems:M,totalSize:N.totalSize})}function ee(e,t){if(!Number.isFinite(e))return!1;let n=Math.floor(e);if(n<0||n>=i)return!1;let r=l(t,-1);if(r<=0)return!1;let a=s(n);return A.get(a)!==r&&(A.set(a,r),N.markChanged(n),!0)}function U(){if(I<=0||i===0){P=-1;return}P=N.findFirst(I),F=I-N.startAt(P)}function W(){if(P<0)return;let e=N.startAt(P)+F-I;if(P=-1,Math.abs(e)>=1){let t=B(I+e);$.writeOffset(t,`auto`),I=t}}function G(e){if(z)return;let t=!1;for(let{index:n,size:r}of e)ee(n,r)&&(t=!0);t&&(N.pendingBuild||U(),N.scheduleBuild(()=>{W(),H()}))}function K(e,t){G([{index:e,size:t}])}function te(e,t){return z?()=>{}:f(Z.signal,t,t=>{K(e,n?t.contentRect.width:t.contentRect.height)})}function ne(e){e.count!==void 0&&m(e.count,`count`),typeof e.estimateSize==`number`&&g(e.estimateSize,`estimateSize`),e.gap!==void 0&&m(e.gap,`gap`),e.overscan!==void 0&&_(e.overscan),e.scrollEndDelay!==void 0&&h(e.scrollEndDelay,`scrollEndDelay`);let t=!1,n=!1;if(Object.hasOwn(e,`onChange`)&&(x=e.onChange),Object.hasOwn(e,`onScrollEnd`)&&(S=e.onScrollEnd),Object.hasOwn(e,`onScrollingChange`)&&(C=e.onScrollingChange),e.scrollEndDelay!==void 0&&(w=e.scrollEndDelay),e.count!==void 0){let n=e.count;n!==i&&(i=n,N.setCount(i),t=!0)}if(Object.hasOwn(e,`estimateSize`)&&(a=p(e.estimateSize,36),A.clear(),t=!0),e.gap!==void 0){let n=e.gap;n!==o&&(o=n,N.setGap(o),t=!0)}if(Object.hasOwn(e,`getItemKey`)){let n=e.getItemKey??r;n!==s&&(s=n,A.clear(),t=!0)}if(Object.hasOwn(e,`measurementCache`)&&e.measurementCache!==void 0&&(A=e.measurementCache,t=!0),e.overscan!==void 0){let t=d(e.overscan,3);(t.start!==u.start||t.end!==u.end)&&(u=t,n=!0)}if(Object.hasOwn(e,`sticky`)){let t=e.sticky??null;t!==b&&(b=t,N.resetDedup()),n=!0}t&&(U(),N.rebuild(!0),W()),(n||t)&&H()}function re(){z||(A.clear(),N.rebuild(!0),H())}function ie(){z||(N.rebuild(!0),H())}function q(e){if(z)return;let t=c(e);if(t===0)return;i+=t,N.setCount(i),N.rebuild(!0);let n=N.startAt(t),r=B(I+n);$.writeOffset(r,`auto`),I=r,H()}function J(e){z||ne(e)}function ae(t,n={}){if(z||i<=0)return;let r=Math.max(0,Math.min(Number.isFinite(t)?Math.floor(t):0,i-1)),a=n.align??`auto`,o=n.behavior??`auto`,s=N.startAt(r),c=N.sizeAt(r),l=s+c,u;if(a===`start`)u=s;else if(a===`end`)u=l-L;else if(a===`center`)u=s-(L-c)/2;else{let e=I,t=e+L;if(s>=e&&l<=t){n.onComplete&&queueMicrotask(n.onComplete);return}u=s<e?s:l-L}$.writeOffset(B(u),o),n.onComplete&&(o===`smooth`&&`onscrollend`in e?e.addEventListener(`scrollend`,n.onComplete,{once:!0}):queueMicrotask(n.onComplete))}function Y(e,t={}){z||$.writeOffset(B(e),t.behavior??`auto`)}function X(e={}){Y(0,e)}function oe(e={}){Y(Math.max(0,N.totalSize-L),e)}function se(e=0){return N.totalSize-(I+L)<=e}let Z=new AbortController;function ce(){z||(z=!0,Z.abort(),E!==null&&(clearTimeout(E),E=null),D&&e.removeEventListener(`scrollend`,O),Q.detach())}function le(){I=B($.readOffset()),k(),H()}function ue(){L=$.readViewportSize(),H()}let Q=v(e,le,ue),$=n?Q.x:Q.y;return D&&e.addEventListener(`scrollend`,O,{passive:!0}),N.rebuild(!0),t.initialOffset!==void 0&&$.writeOffset(B(t.initialOffset),`auto`),I=B($.readOffset()),L=$.readViewportSize(),H(),{get count(){return i},get disposalSignal(){return Z.signal},dispose:ce,get disposed(){return z},invalidate:re,isAtEnd:se,get isScrolling(){return T},get items(){return j},measure:K,measureBatch:G,measureEl:te,prepend:q,refresh:ie,get scrollOffset(){return I},scrollToBottom:oe,scrollToIndex:ae,scrollToOffset:Y,scrollToTop:X,get stickyItems(){return M},[Symbol.dispose]:ce,get totalSize(){return N.totalSize},update:J}}function x(){let e=new Map,t=new Map,n=[],r=!1;return{acquire(i,a){if(!r)return a();let o=e.get(i);if(o)return t.set(i,o),o;let s=n.pop()??a();return t.set(i,s),s},beginCycle(){t=new Map,r=!0},clear(){for(let t of e.values())t.remove();e.clear(),t.clear(),n.length=0,r=!1},endCycle(){if(r){r=!1;for(let[r,i]of e)t.has(r)||(i.remove(),n.push(i));e=t}}}}function S(e){if(typeof e.estimateSize==`number`&&g(e.estimateSize,`estimateSize`),e.gap!==void 0&&m(e.gap,`gap`),e.overscan!==void 0&&_(e.overscan),e.stickToBottom!==void 0&&typeof e.stickToBottom!=`boolean`){if(e.stickToBottom===null||Array.isArray(e.stickToBottom))throw new r(`stickToBottom must be a boolean or options object.`);e.stickToBottom.threshold!==void 0&&h(e.stickToBottom.threshold,`stickToBottom.threshold`)}let t=[],n=!1,a=new AbortController,o=e.listElement,s=x(),c=null;function l(n){let r=t[n];return r!==void 0&&e.getItemKey?e.getItemKey(n,r):n}function u(n){if(e.estimateSize===void 0)return 36;if(typeof e.estimateSize==`number`)return e.estimateSize;let r=t[n];return r===void 0?36:e.estimateSize(n,r)}function d(t){e.horizontal?(o.style.height=``,o.style.width=`${t}px`):(o.style.height=`${t}px`,o.style.width=``)}function f(e){let n=t[e.index];if(n===void 0)throw new i(`toRenderItem: index ${e.index} is out of range (currentItems.length=${t.length})`);return{...e,data:n}}function p(t){d(t.totalSize),s.beginCycle();try{e.render({items:t.items.map(f),listEl:o,recycle:(e,t)=>s.acquire(e,t),stickyItems:t.stickyItems.map(f),totalSize:t.totalSize})}finally{s.endCycle()}}function v(){s.clear(),e.clear?e.clear(o):o.textContent=``,o.style.height=``,o.style.width=``,o.style.position=``,o.style.contain=``}function y(){let t=e.stickToBottom;return t?t===!0?{enabled:!0,threshold:48}:{enabled:t.enabled??!0,threshold:t.threshold??48}:{enabled:!1,threshold:48}}function S(){let n=b(e.scrollElement,{count:t.length,estimateSize:u,gap:e.gap,getItemKey:l,horizontal:e.horizontal,measurementCache:e.measurementCache,onChange:p,overscan:e.overscan??3,sticky:e.sticky?n=>{let r=t[n];return r!==void 0&&e.sticky(n,r)}:void 0});return c=n,o.style.position=`relative`,o.style.contain=`layout`,n}function C(){n||(n=!0,a.abort(),c?.dispose(),c=null,v())}return{get count(){return c?.count??0},get disposalSignal(){return a.signal},dispose:C,get disposed(){return n},invalidate(){n||c?.invalidate()},isAtEnd(e){return c?.isAtEnd(e)??!0},get isScrolling(){return c?.isScrolling??!1},get items(){return c?.items??[]},measure(e,t){n||c?.measure(e,t)},measureBatch(e){n||c?.measureBatch(e)},measureEl(e,t){return n?()=>{}:c?.measureEl(e,t)??(()=>{})},refresh(){n||c?.refresh()},get scrollOffset(){return c?.scrollOffset??0},scrollToBottom(e){n||c?.scrollToBottom(e)},scrollToIndex(e,t){n||c?.scrollToIndex(e,t)},scrollToOffset(e,t){n||c?.scrollToOffset(e,t)},scrollToTop(e){n||c?.scrollToTop(e)},setItems(r){if(n)return;let i=y(),a=i.enabled&&(c?.isAtEnd(i.threshold)??!0);if(t=r,r.length===0){c?.dispose(),c=null,v();return}if(!c){let e=S();a&&e.scrollToBottom();return}let o=r.length!==c.count;c.update({count:r.length}),o?e.getItemKey||c.invalidate():e.getItemKey?c.refresh():c.invalidate(),a&&c.scrollToBottom()},get stickyItems(){return c?.stickyItems??[]},[Symbol.dispose]:C,get totalSize(){return c?.totalSize??0}}}function C(e,t){let n=document.createElement(`div`);n.style.cssText=t.horizontal?`overflow: auto hidden; width: 100%; height: 100%;`:`overflow: hidden auto; width: 100%; height: 100%;`,t.containerClass&&(n.className=t.containerClass);let r=document.createElement(`div`);n.appendChild(r),e.appendChild(n);let i;try{i=S({...t,listElement:r,scrollElement:n})}catch(e){throw n.remove(),e}let a=i.dispose.bind(i);return Object.assign(i,{dispose(){a(),n.remove()},[Symbol.dispose](){a(),n.remove()}})}function w(e,t,n,r,i,a){return a===`start`?e:a===`end`?t-i:a===`center`?e-(i-n)/2:e>=r&&t<=r+i?null:e<r?e:t-i}function T(e,t){typeof t.estimateRowSize==`number`&&g(t.estimateRowSize,`estimateRowSize`),typeof t.estimateColSize==`number`&&g(t.estimateColSize,`estimateColSize`),t.initialScrollTop!==void 0&&h(t.initialScrollTop,`initialScrollTop`),t.initialScrollLeft!==void 0&&h(t.initialScrollLeft,`initialScrollLeft`),t.rowGap!==void 0&&m(t.rowGap,`rowGap`),t.colGap!==void 0&&m(t.colGap,`colGap`),t.overscanY!==void 0&&_(t.overscanY,`overscanY`),t.overscanX!==void 0&&_(t.overscanX,`overscanX`);let n=m(t.rowCount,`rowCount`),r=m(t.colCount,`colCount`),i=p(t.estimateRowSize,36),a=p(t.estimateColSize,36),o=d(t.overscanY,3),s=d(t.overscanX,3),u=t.onChange,b=t.onRangeChange,x=t.rowMeasurementCache??new Map,S=t.colMeasurementCache??new Map,C=0,T=0,E=0,D=0,O=[],k=[],A=!1,j=y(n,e=>x.get(e)??i(e),c(t.rowGap??0)),M=y(r,e=>S.get(e)??a(e),c(t.colGap??0)),N=!1;function P(e){let t=Number.isFinite(e)?e:0;return Math.min(Math.max(0,j.totalSize-E),Math.max(0,t))}function F(e){let t=Number.isFinite(e)?e:0;return Math.min(Math.max(0,M.totalSize-D),Math.max(0,t))}function I(){if(A)return;let e=j.totalSize,t=M.totalSize;if(n===0||r===0||E<=0||D<=0){(j.prevStart!==-1||j.prevTotalSize!==e||M.prevTotalSize!==t)&&(j.commitDedup(-1,-1),M.commitDedup(-1,-1),O=[],k=[],u?.({cols:[],rows:[],totalHeight:e,totalWidth:t}));return}let{renderEnd:i,renderStart:a}=j.computeRange(C,C+E,o.start,o.end),{renderEnd:c,renderStart:l}=M.computeRange(T,T+D,s.start,s.end),d=j.isDedupSame(a,i),f=M.isDedupSame(l,c);if(d&&f)return;j.commitDedup(a,i),M.commitDedup(l,c),(!d||!f)&&b&&b({firstCol:l,firstRow:a,lastCol:c,lastRow:i});let p=[];for(let e=a;e<=i;e++)p.push(j.itemAt(e));let m=[];for(let e=l;e<=c;e++)m.push(M.itemAt(e));O=p,k=m,u?.({cols:k,rows:O,totalHeight:e,totalWidth:t})}function L(e,t){if(!Number.isFinite(e))return!1;let r=Math.floor(e);if(r<0||r>=n)return!1;let i=l(t,-1);return i<=0||x.get(r)===i?!1:(x.set(r,i),j.markChanged(r),!0)}function R(e,t){if(!Number.isFinite(e))return!1;let n=Math.floor(e);if(n<0||n>=r)return!1;let i=l(t,-1);return i<=0||S.get(n)===i?!1:(S.set(n,i),M.markChanged(n),!0)}function z(){N||(N=!0,queueMicrotask(()=>{N=!1;let e=j.consumeMinChangedIndex();e!==1/0&&j.rebuildFrom(e);let t=M.consumeMinChangedIndex();t!==1/0&&M.rebuildFrom(t),I()}))}function B(e,t){A||L(e,t)&&z()}function V(e,t){A||R(e,t)&&z()}function H(e,t){if(A)return;let n=!1;for(let{index:t,size:r}of e)L(t,r)&&(n=!0);for(let{index:e,size:r}of t)R(e,r)&&(n=!0);n&&z()}function ee(e,t){return A?()=>{}:f(q.signal,t,t=>B(e,t.contentRect.height))}function U(e,t){return A?()=>{}:f(q.signal,t,t=>V(e,t.contentRect.width))}function W(){A||(x.clear(),S.clear(),j.rebuild(!0),M.rebuild(!0),I())}function G(){A||(j.rebuild(!0),M.rebuild(!0),I())}function K(e){if(A)return;let t=c(e);if(t===0)return;n+=t,j.setCount(n),j.rebuild(!0);let r=j.startAt(t),i=P(C+r);X.scrollTo(T,i,`auto`),C=i,I()}function te(e,t={}){if(A||n===0)return;let r=Math.max(0,Math.min(Math.floor(Number.isFinite(e)?e:0),n-1)),i=t.behavior??`auto`,a=j.startAt(r),o=j.sizeAt(r),s=w(a,a+o,o,C,E,t.rowAlign??`auto`);s!==null&&X.scrollTo(T,P(s),i)}function ne(e,t={}){if(A||r===0)return;let n=Math.max(0,Math.min(Math.floor(Number.isFinite(e)?e:0),r-1)),i=t.behavior??`auto`,a=M.startAt(n),o=M.sizeAt(n),s=w(a,a+o,o,T,D,t.colAlign??`auto`);s!==null&&X.scrollTo(F(s),C,i)}function re(e,t,i={}){if(A||n===0||r===0)return;let a=Math.max(0,Math.min(Math.floor(Number.isFinite(e)?e:0),n-1)),o=Math.max(0,Math.min(Math.floor(Number.isFinite(t)?t:0),r-1)),s=i.behavior??`auto`,c=j.startAt(a),l=j.sizeAt(a),u=M.startAt(o),d=M.sizeAt(o),f=w(c,c+l,l,C,E,i.rowAlign??`auto`),p=w(u,u+d,d,T,D,i.colAlign??`auto`);(f!==null||p!==null)&&X.scrollTo(p===null?T:F(p),f===null?C:P(f),s)}function ie(e){if(A)return;e.rowCount!==void 0&&m(e.rowCount,`rowCount`),e.colCount!==void 0&&m(e.colCount,`colCount`),typeof e.estimateRowSize==`number`&&g(e.estimateRowSize,`estimateRowSize`),typeof e.estimateColSize==`number`&&g(e.estimateColSize,`estimateColSize`),e.rowGap!==void 0&&m(e.rowGap,`rowGap`),e.colGap!==void 0&&m(e.colGap,`colGap`),e.overscanY!==void 0&&_(e.overscanY,`overscanY`),e.overscanX!==void 0&&_(e.overscanX,`overscanX`);let t=!1,c=!1,l=!1;if(Object.hasOwn(e,`onChange`)&&(u=e.onChange),Object.hasOwn(e,`onRangeChange`)&&(b=e.onRangeChange),e.rowCount!==void 0){let r=e.rowCount;r!==n&&(n=r,j.setCount(n),t=!0)}if(e.colCount!==void 0){let t=e.colCount;t!==r&&(r=t,M.setCount(r),c=!0)}if(e.rowGap!==void 0){let n=e.rowGap;n!==j.gap&&(j.setGap(n),t=!0)}if(e.colGap!==void 0){let t=e.colGap;t!==M.gap&&(M.setGap(t),c=!0)}if(`estimateRowSize`in e&&(i=p(e.estimateRowSize,36),x.clear(),t=!0),`estimateColSize`in e&&(a=p(e.estimateColSize,36),S.clear(),c=!0),e.overscanY!==void 0){let t=d(e.overscanY,3);(t.start!==o.start||t.end!==o.end)&&(o=t,l=!0)}if(e.overscanX!==void 0){let t=d(e.overscanX,3);(t.start!==s.start||t.end!==s.end)&&(s=t,l=!0)}t&&j.rebuild(!0),c&&M.rebuild(!0),(t||c||l)&&I()}let q=new AbortController;function J(){A||(A=!0,q.abort(),X.detach())}function ae(){C=P(X.y.readOffset()),T=F(X.x.readOffset()),I()}function Y(){E=X.y.readViewportSize(),D=X.x.readViewportSize(),I()}let X=v(e,ae,Y);return j.rebuild(!0),M.rebuild(!0),E=X.y.readViewportSize(),D=X.x.readViewportSize(),t.initialScrollTop===void 0?t.initialScrollLeft!==void 0&&X.scrollTo(F(t.initialScrollLeft),0,`auto`):X.scrollTo(t.initialScrollLeft??0,P(t.initialScrollTop),`auto`),C=P(X.y.readOffset()),T=F(X.x.readOffset()),I(),{get cols(){return k},get disposalSignal(){return q.signal},dispose:J,get disposed(){return A},invalidate:W,measureBatch:H,measureColEl:U,measureColumn:V,measureRow:B,measureRowEl:ee,prependRows:K,refresh:G,get rows(){return O},get scrollLeft(){return T},scrollToCell:re,scrollToColumn:ne,get scrollTop(){return C},scrollToRow:te,[Symbol.dispose]:J,get totalHeight(){return j.totalSize},get totalWidth(){return M.totalSize},update:ie}}function E(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];t.push({isHeader:!0,itemIndex:-1,label:r.label,sectionIndex:n});for(let e=0;e<r.items.length;e++)t.push({isHeader:!1,item:r.items[e],itemIndex:e,sectionIndex:n})}return t}function D(e,t){typeof t.estimateHeaderSize==`number`&&g(t.estimateHeaderSize,`estimateHeaderSize`),typeof t.estimateItemSize==`number`&&g(t.estimateItemSize,`estimateItemSize`),t.overscan!==void 0&&_(t.overscan),t.scrollEndDelay!==void 0&&h(t.scrollEndDelay,`scrollEndDelay`);let n=t.sections,r=E(n);function i(e){return typeof e==`function`?t=>{let i=r[t];return e(n[i.sectionIndex],i.sectionIndex)}:p(typeof e==`number`?e:void 0,36)}let a=i(t.estimateHeaderSize),o=typeof t.estimateItemSize==`function`?t.estimateItemSize:null,s=o?null:p(typeof t.estimateItemSize==`number`?t.estimateItemSize:void 0,36),c=t.getItemKey;function l(e){let t=r[e];return t?t.isHeader?a(e):o?o(t.item,t.itemIndex,t.sectionIndex):s(e):36}function u(e){let t=r[e];return t?t.isHeader?`__header_${t.sectionIndex}`:c?c(t.item,t.itemIndex,t.sectionIndex):e:e}let d=!1,f=[],m=t.onChange,v=t.onScrollEnd,y=t.onScrollingChange;function x(e){let t=[],n=[],i=null;for(let i of e.items){let e=r[i.index];e&&(e.isHeader?n.push({...i,label:e.label??``,sectionIndex:e.sectionIndex}):t.push({...i,data:e.item,itemIndex:e.itemIndex,sectionIndex:e.sectionIndex}))}if(e.stickyItems.length>0){let t=e.stickyItems[0],n=r[t.index];n?.isHeader&&(i={...t,label:n.label??``,sectionIndex:n.sectionIndex})}return f=t,{headers:n,items:t,stickyHeader:i,totalSize:e.totalSize}}let S=b(e,{count:r.length,estimateSize:l,getItemKey:u,horizontal:t.horizontal,measurementCache:t.measurementCache,onChange:e=>{let t=x(e);m?.(t)},onScrollEnd:e=>v?.(e),onScrollingChange:e=>y?.(e),overscan:t.overscan??3,scrollEndDelay:t.scrollEndDelay,sticky:e=>r[e]?.isHeader??!1}),C=new AbortController;function w(){d||(d=!0,C.abort(),S.dispose())}function T(e,t){if(e<0||e>=n.length)return-1;let r=0;for(let i=0;i<n.length;i++){if(i===e)return t===void 0?r:r+1+t;r+=1+n[i].items.length}return-1}return{get count(){return S.count},get disposalSignal(){return C.signal},dispose:w,get disposed(){return d},invalidate(){d||S.invalidate()},get isScrolling(){return S.isScrolling},get items(){return f},measure(e,t){d||S.measure(e,t)},measureBatch(e){d||S.measureBatch(e)},measureEl(e,t){return d?()=>{}:S.measureEl(e,t)},refresh(){d||S.refresh()},get scrollOffset(){return S.scrollOffset},scrollToBottom(e){d||S.scrollToBottom(e)},scrollToIndex(e,t){d||S.scrollToIndex(e,t)},scrollToItem(e,t,n={}){if(d)return;let r=T(e,t);r<0||S.scrollToIndex(r,n)},scrollToOffset(e,t){d||S.scrollToOffset(e,t)},scrollToSection(e,t={}){if(d)return;let n=T(e);n<0||S.scrollToIndex(n,t)},scrollToTop(e){d||S.scrollToTop(e)},get stickyItems(){return S.stickyItems},[Symbol.dispose]:w,get totalSize(){return S.totalSize},update(e,t){if(d)return;t&&(typeof t.estimateHeaderSize==`number`&&g(t.estimateHeaderSize,`estimateHeaderSize`),typeof t.estimateItemSize==`number`&&g(t.estimateItemSize,`estimateItemSize`),t.overscan!==void 0&&_(t.overscan),t.scrollEndDelay!==void 0&&h(t.scrollEndDelay,`scrollEndDelay`),Object.hasOwn(t,`onChange`)&&(m=t.onChange),Object.hasOwn(t,`onScrollEnd`)&&(v=t.onScrollEnd),Object.hasOwn(t,`onScrollingChange`)&&(y=t.onScrollingChange),t.estimateHeaderSize!==void 0&&(a=i(t.estimateHeaderSize)),t.estimateItemSize!==void 0&&(o=typeof t.estimateItemSize==`function`?t.estimateItemSize:null,s=o?null:p(typeof t.estimateItemSize==`number`?t.estimateItemSize:void 0,36)),t.getItemKey!==void 0&&(c=t.getItemKey)),n=e;let l=r.length;r=E(n);let u={count:r.length};t?.measurementCache!==void 0&&(u.measurementCache=t.measurementCache),t?.overscan!==void 0&&(u.overscan=t.overscan),t?.scrollEndDelay!==void 0&&(u.scrollEndDelay=t.scrollEndDelay),r.length!==l||t?.measurementCache!==void 0||t?.overscan!==void 0||t?.scrollEndDelay!==void 0?S.update(u):S.refresh()}}}function O(e,t){return Object.defineProperties({},{...Object.getOwnPropertyDescriptors(e),state:{configurable:!0,enumerable:!0,value:t}})}function k(e,n){let r=(0,t.signal)({headers:[],items:[],stickyHeader:null,totalSize:0}),i;function a(e){r.value=e,i?.(e)}let o=D(e,{...n,onChange:a}),s=O(o,r);return Object.defineProperty(s,"update",{configurable:!0,enumerable:!0,value(e,t){if(!t||!Object.hasOwn(t,`onChange`)){o.update(e,t);return}i=t.onChange;let{onChange:n,...r}=t;o.update(e,{...r,onChange:a})}}),s}function A(e,n){let r=(0,t.signal)({items:[],stickyItems:[],totalSize:0}),i;function a(e){r.value=e,i?.(e)}let o=b(e,{...n,onChange:a}),s=O(o,r);return Object.defineProperty(s,"update",{configurable:!0,enumerable:!0,value(e){if(!Object.hasOwn(e,`onChange`)){o.update(e);return}i=e.onChange;let{onChange:t,...n}=e;o.update({...n,onChange:a})}}),s}return e.DEFAULT_ESTIMATE_SIZE=o,e.DEFAULT_OVERSCAN=s,e.ScrollConfigurationError=r,e.ScrollError=n,e.ScrollRangeError=i,e.createDomVirtualList=S,e.createGridVirtualizer=T,e.createGroupedVirtualizer=D,e.createMeasurementCache=a,e.createReactiveGroupedVirtualizer=k,e.createReactiveVirtualizer=A,e.createVirtualScroller=C,e.createVirtualizer=b,e})({},Ripple);
1
+ var Scroll=(function(e,t){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function n(){return new Map}var r=36,i=3;function a(e,t=0){return Number.isFinite(e)?Math.max(0,Math.floor(e)):t}function o(e,t){return!Number.isFinite(e)||e<=0||e>1e7?t:e}function s(e){return typeof Window<`u`&&e instanceof Window||typeof e.innerHeight==`number`&&typeof e.document==`object`}function c(e,t){if(typeof e==`number`){let n=a(e,t);return{end:n,start:n}}return{end:a(e?.end??t),start:a(e?.start??t)}}function l(e,t,n){let r=new ResizeObserver(e=>{for(let t of e)n(t)});return r.observe(t),e.addEventListener(`abort`,()=>r.disconnect(),{once:!0}),()=>r.disconnect()}function u(e,t){if(typeof e==`function`)return n=>{try{return o(e(n),t)}catch(e){return`${n}${e}`,t}};let n=typeof e==`number`?o(e,t):t;return()=>n}var d=class e extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}static is(t){return t instanceof e}},f=class extends d{},p=class extends d{};function m(e,t){if(!Number.isFinite(e)||!Number.isInteger(e)||e<0)throw new f(`${t} must be a finite non-negative integer.`);return e}function h(e,t){if(!Number.isFinite(e)||e<0)throw new f(`${t} must be a finite non-negative number.`);return e}function g(e,t){if(!Number.isFinite(e)||e<=0||e>1e7)throw new f(`${t} must be a finite positive number no greater than 10000000.`);return e}function _(e,t=`overscan`){if(typeof e==`number`){m(e,t);return}if(typeof e!=`object`||!e||Array.isArray(e))throw new f(`${t} must be a finite non-negative integer or an overscan object.`);e.start!==void 0&&m(e.start,`${t}.start`),e.end!==void 0&&m(e.end,`${t}.end`)}function v(e,t,n){if(s(e))return e.addEventListener(`scroll`,t,{passive:!0}),e.addEventListener(`resize`,n,{passive:!0}),{detach(){e.removeEventListener(`scroll`,t),e.removeEventListener(`resize`,n)},scrollTo:(t,n,r)=>e.scrollTo({behavior:r,left:t,top:n}),x:{readOffset:()=>e.scrollX,readViewportSize:()=>e.innerWidth,writeOffset:(t,n)=>e.scrollTo({behavior:n,left:t})},y:{readOffset:()=>e.scrollY,readViewportSize:()=>e.innerHeight,writeOffset:(t,n)=>e.scrollTo({behavior:n,top:t})}};let r=new ResizeObserver(n);return e.addEventListener(`scroll`,t,{passive:!0}),r.observe(e),{detach(){e.removeEventListener(`scroll`,t),r.disconnect()},scrollTo:(t,n,r)=>e.scrollTo({behavior:r,left:t,top:n}),x:{readOffset:()=>e.scrollLeft,readViewportSize:()=>e.clientWidth,writeOffset:(t,n)=>e.scrollTo({behavior:n,left:t})},y:{readOffset:()=>e.scrollTop,readViewportSize:()=>e.clientHeight,writeOffset:(t,n)=>e.scrollTo({behavior:n,top:t})}}}function y(e,t,n){let r=e,i=n,a=t,o=[],s=0,c=-1,l=-1,u=-1,d=!1,f=1/0;function p(e){return o[e]??0}function m(e){return p(e)+a(e)}function h(e=!1){e&&(c=-1,l=-1,u=-1);let t=[0],n=0;for(let e=0;e<r;e++)n+=a(e)+(e<r-1?i:0),t.push(n);o=t,s=n}function g(e){if(!Number.isFinite(e)||e>=r)return;c=-1,l=-1,u=-1;let t=o[e]??0;for(let n=e;n<r;n++)o[n]=t,t+=a(n)+(n<r-1?i:0);o[r]=t,s=t}function _(e){let t=0,n=r-1;for(;t<n;){let r=t+n>>1;m(r)<=e?t=r+1:n=r}return t}function v(e,t){let n=t,i=r-1;for(;n<i;){let t=n+i+1>>1;p(t)<e?n=t:i=t-1}return n}function y(e,t,n,i){let a=_(e),o=v(t,a);return{renderEnd:Math.min(r-1,o+i),renderStart:Math.max(0,a-n)}}function b(e,t){return e===c&&t===l&&s===u}function x(e,t){c=e,l=t,u=s}function S(){c=-1,l=-1,u=-1}function C(e){d||(d=!0,queueMicrotask(()=>{d=!1;let t=f;f=1/0,g(t),e()}))}function w(e){e<f&&(f=e)}function T(e){let t=p(e),n=a(e);return{end:t+n,index:e,size:n,start:t}}return{commitDedup:x,computeRange:y,consumeMinChangedIndex(){let e=f;return f=1/0,e},get count(){return r},endAt:m,findFirst:_,findLast:v,get gap(){return i},isDedupSame:b,itemAt:T,markChanged:w,get minChangedIndex(){return f},get pendingBuild(){return d},get prevEnd(){return l},get prevStart(){return c},get prevTotalSize(){return u},rebuild:h,rebuildFrom:g,resetDedup:S,scheduleBuild:C,setCount(e){r=e},setGap(e){i=e},sizeAt(e){return a(e)},startAt:p,get totalSize(){return s}}}function b(e,t){typeof t.estimateSize==`number`&&g(t.estimateSize,`estimateSize`),t.gap!==void 0&&m(t.gap,`gap`),t.initialOffset!==void 0&&h(t.initialOffset,`initialOffset`),t.overscan!==void 0&&_(t.overscan),t.scrollEndDelay!==void 0&&h(t.scrollEndDelay,`scrollEndDelay`);let n=!!t.horizontal,r=e=>e,i=m(t.count,`count`),s=u(t.estimateSize,36),d=a(t.gap??0),f=t.getItemKey??r,p=c(t.overscan,3),b=t.sticky??null,x=t.onChange,S=t.onScrollEnd,C=t.onScrollingChange,w=t.scrollEndDelay??150,T=!1,E=null,D=`onscrollend`in e;function O(){T&&(T=!1,C?.(!1),S?.(I))}function k(){T||(T=!0,C?.(!0)),D||(E!==null&&clearTimeout(E),E=setTimeout(O,w))}let A=t.measurementCache??new Map,j=[],M=[],N=y(i,e=>A.get(f(e))??s(e),d),P=-1,F=0,I=0,L=0,R=-1,z=!1;function B(e){let t=Number.isFinite(e)?e:0,n=Math.max(0,N.totalSize-L);return Math.min(n,Math.max(0,t))}function V(){if(!b||i===0||I<=0)return[];let e=-1,t=0,n=i-1;for(;t<=n;){let r=t+n>>1;N.startAt(r)<I?(e=r,t=r+1):n=r-1}if(e<0)return[];let r=-1;for(let t=e;t>=0;t--)if(b(t)){r=t;break}if(r===-1)return[];let a=N.sizeAt(r),o=1/0;for(let e=r+1;e<i;e++)if(b(e)){o=N.startAt(e);break}let s=Math.min(I,o-a);return[{end:s+a,index:r,size:a,start:s}]}function H(){if(z)return;if(i===0||L<=0){(N.prevStart!==-1||N.prevTotalSize!==N.totalSize)&&(N.commitDedup(-1,-1),j=[],M=[],x&&x({items:j,stickyItems:M,totalSize:N.totalSize}));return}let{renderEnd:e,renderStart:t}=N.computeRange(I,I+L,p.start,p.end),n=b!==null&&I!==R;if(N.isDedupSame(t,e)&&!n)return;N.commitDedup(t,e),R=I;let r=[];for(let n=t;n<=e;n++)r.push(N.itemAt(n));j=r,M=b?V():[],x&&x({items:j,stickyItems:M,totalSize:N.totalSize})}function ee(e,t){if(!Number.isFinite(e))return!1;let n=Math.floor(e);if(n<0||n>=i)return!1;let r=o(t,-1);if(r<=0)return!1;let a=f(n);return A.get(a)!==r&&(A.set(a,r),N.markChanged(n),!0)}function U(){if(I<=0||i===0){P=-1;return}P=N.findFirst(I),F=I-N.startAt(P)}function W(){if(P<0)return;let e=N.startAt(P)+F-I;if(P=-1,Math.abs(e)>=1){let t=B(I+e);$.writeOffset(t,`auto`),I=t}}function G(e){if(z)return;let t=!1;for(let{index:n,size:r}of e)ee(n,r)&&(t=!0);t&&(N.pendingBuild||U(),N.scheduleBuild(()=>{W(),H()}))}function K(e,t){G([{index:e,size:t}])}function te(e,t){return z?()=>{}:l(Z.signal,t,t=>{K(e,n?t.contentRect.width:t.contentRect.height)})}function ne(e){e.count!==void 0&&m(e.count,`count`),typeof e.estimateSize==`number`&&g(e.estimateSize,`estimateSize`),e.gap!==void 0&&m(e.gap,`gap`),e.overscan!==void 0&&_(e.overscan),e.scrollEndDelay!==void 0&&h(e.scrollEndDelay,`scrollEndDelay`);let t=!1,n=!1;if(Object.hasOwn(e,`onChange`)&&(x=e.onChange),Object.hasOwn(e,`onScrollEnd`)&&(S=e.onScrollEnd),Object.hasOwn(e,`onScrollingChange`)&&(C=e.onScrollingChange),e.scrollEndDelay!==void 0&&(w=e.scrollEndDelay),e.count!==void 0){let n=e.count;n!==i&&(i=n,N.setCount(i),t=!0)}if(Object.hasOwn(e,`estimateSize`)&&(s=u(e.estimateSize,36),A.clear(),t=!0),e.gap!==void 0){let n=e.gap;n!==d&&(d=n,N.setGap(d),t=!0)}if(Object.hasOwn(e,`getItemKey`)){let n=e.getItemKey??r;n!==f&&(f=n,A.clear(),t=!0)}if(Object.hasOwn(e,`measurementCache`)&&e.measurementCache!==void 0&&(A=e.measurementCache,t=!0),e.overscan!==void 0){let t=c(e.overscan,3);(t.start!==p.start||t.end!==p.end)&&(p=t,n=!0)}if(Object.hasOwn(e,`sticky`)){let t=e.sticky??null;t!==b&&(b=t,N.resetDedup()),n=!0}t&&(U(),N.rebuild(!0),W()),(n||t)&&H()}function re(){z||(A.clear(),N.rebuild(!0),H())}function ie(){z||(N.rebuild(!0),H())}function q(e){if(z)return;let t=a(e);if(t===0)return;i+=t,N.setCount(i),N.rebuild(!0);let n=N.startAt(t),r=B(I+n);$.writeOffset(r,`auto`),I=r,H()}function J(e){z||ne(e)}function ae(t,n={}){if(z||i<=0)return;let r=Math.max(0,Math.min(Number.isFinite(t)?Math.floor(t):0,i-1)),a=n.align??`auto`,o=n.behavior??`auto`,s=N.startAt(r),c=N.sizeAt(r),l=s+c,u;if(a===`start`)u=s;else if(a===`end`)u=l-L;else if(a===`center`)u=s-(L-c)/2;else{let e=I,t=e+L;if(s>=e&&l<=t){n.onComplete&&queueMicrotask(n.onComplete);return}u=s<e?s:l-L}$.writeOffset(B(u),o),n.onComplete&&(o===`smooth`&&`onscrollend`in e?e.addEventListener(`scrollend`,n.onComplete,{once:!0}):queueMicrotask(n.onComplete))}function Y(e,t={}){z||$.writeOffset(B(e),t.behavior??`auto`)}function X(e={}){Y(0,e)}function oe(e={}){Y(Math.max(0,N.totalSize-L),e)}function se(e=0){return N.totalSize-(I+L)<=e}let Z=new AbortController;function ce(){z||(z=!0,Z.abort(),E!==null&&(clearTimeout(E),E=null),D&&e.removeEventListener(`scrollend`,O),Q.detach())}function le(){I=B($.readOffset()),k(),H()}function ue(){L=$.readViewportSize(),H()}let Q=v(e,le,ue),$=n?Q.x:Q.y;return D&&e.addEventListener(`scrollend`,O,{passive:!0}),N.rebuild(!0),t.initialOffset!==void 0&&$.writeOffset(B(t.initialOffset),`auto`),I=B($.readOffset()),L=$.readViewportSize(),H(),{get count(){return i},get disposalSignal(){return Z.signal},dispose:ce,get disposed(){return z},invalidate:re,isAtEnd:se,get isScrolling(){return T},get items(){return j},measure:K,measureBatch:G,measureEl:te,prepend:q,refresh:ie,get scrollOffset(){return I},scrollToBottom:oe,scrollToIndex:ae,scrollToOffset:Y,scrollToTop:X,get stickyItems(){return M},[Symbol.dispose]:ce,get totalSize(){return N.totalSize},update:J}}function x(){let e=new Map,t=new Map,n=[],r=!1;return{acquire(i,a){if(!r)return a();let o=e.get(i);if(o)return t.set(i,o),o;let s=n.pop()??a();return t.set(i,s),s},beginCycle(){t=new Map,r=!0},clear(){for(let t of e.values())t.remove();e.clear(),t.clear(),n.length=0,r=!1},endCycle(){if(r){r=!1;for(let[r,i]of e)t.has(r)||(i.remove(),n.push(i));e=t}}}}function S(e){if(typeof e.estimateSize==`number`&&g(e.estimateSize,`estimateSize`),e.gap!==void 0&&m(e.gap,`gap`),e.overscan!==void 0&&_(e.overscan),e.stickToBottom!==void 0&&typeof e.stickToBottom!=`boolean`){if(e.stickToBottom===null||Array.isArray(e.stickToBottom))throw new f(`stickToBottom must be a boolean or options object.`);e.stickToBottom.threshold!==void 0&&h(e.stickToBottom.threshold,`stickToBottom.threshold`)}let t=[],n=!1,r=new AbortController,i=e.listElement,a=x(),o=null;function s(n){let r=t[n];return r!==void 0&&e.getItemKey?e.getItemKey(n,r):n}function c(n){if(e.estimateSize===void 0)return 36;if(typeof e.estimateSize==`number`)return e.estimateSize;let r=t[n];return r===void 0?36:e.estimateSize(n,r)}function l(t){e.horizontal?(i.style.height=``,i.style.width=`${t}px`):(i.style.height=`${t}px`,i.style.width=``)}function u(e){let n=t[e.index];if(n===void 0)throw new p(`toRenderItem: index ${e.index} is out of range (currentItems.length=${t.length})`);return{...e,data:n}}function d(t){l(t.totalSize),a.beginCycle();try{e.render({items:t.items.map(u),listEl:i,recycle:(e,t)=>a.acquire(e,t),stickyItems:t.stickyItems.map(u),totalSize:t.totalSize})}finally{a.endCycle()}}function v(){a.clear(),e.clear?e.clear(i):i.textContent=``,i.style.height=``,i.style.width=``,i.style.position=``,i.style.contain=``}function y(){let t=e.stickToBottom;return t?t===!0?{enabled:!0,threshold:48}:{enabled:t.enabled??!0,threshold:t.threshold??48}:{enabled:!1,threshold:48}}function S(){let n=b(e.scrollElement,{count:t.length,estimateSize:c,gap:e.gap,getItemKey:s,horizontal:e.horizontal,measurementCache:e.measurementCache,onChange:d,overscan:e.overscan??3,sticky:e.sticky?n=>{let r=t[n];return r!==void 0&&e.sticky(n,r)}:void 0});return o=n,i.style.position=`relative`,i.style.contain=`layout`,n}function C(){n||(n=!0,r.abort(),o?.dispose(),o=null,v())}return{get count(){return o?.count??0},get disposalSignal(){return r.signal},dispose:C,get disposed(){return n},invalidate(){n||o?.invalidate()},isAtEnd(e){return o?.isAtEnd(e)??!0},get isScrolling(){return o?.isScrolling??!1},get items(){return o?.items??[]},measure(e,t){n||o?.measure(e,t)},measureBatch(e){n||o?.measureBatch(e)},measureEl(e,t){return n?()=>{}:o?.measureEl(e,t)??(()=>{})},refresh(){n||o?.refresh()},get scrollOffset(){return o?.scrollOffset??0},scrollToBottom(e){n||o?.scrollToBottom(e)},scrollToIndex(e,t){n||o?.scrollToIndex(e,t)},scrollToOffset(e,t){n||o?.scrollToOffset(e,t)},scrollToTop(e){n||o?.scrollToTop(e)},setItems(r){if(n)return;let i=y(),a=i.enabled&&(o?.isAtEnd(i.threshold)??!0);if(t=r,r.length===0){o?.dispose(),o=null,v();return}if(!o){let e=S();a&&e.scrollToBottom();return}let s=r.length!==o.count;o.update({count:r.length}),s?e.getItemKey||o.invalidate():e.getItemKey?o.refresh():o.invalidate(),a&&o.scrollToBottom()},get stickyItems(){return o?.stickyItems??[]},[Symbol.dispose]:C,get totalSize(){return o?.totalSize??0}}}function C(e,t){let n=document.createElement(`div`);n.style.cssText=t.horizontal?`overflow: auto hidden; width: 100%; height: 100%;`:`overflow: hidden auto; width: 100%; height: 100%;`,t.containerClass&&(n.className=t.containerClass);let r=document.createElement(`div`);n.appendChild(r),e.appendChild(n);let i;try{i=S({...t,listElement:r,scrollElement:n})}catch(e){throw n.remove(),e}let a=i.dispose.bind(i);return Object.assign(i,{dispose(){a(),n.remove()},[Symbol.dispose](){a(),n.remove()}})}function w(e,t,n,r,i,a){return a===`start`?e:a===`end`?t-i:a===`center`?e-(i-n)/2:e>=r&&t<=r+i?null:e<r?e:t-i}function T(e,t){typeof t.estimateRowSize==`number`&&g(t.estimateRowSize,`estimateRowSize`),typeof t.estimateColSize==`number`&&g(t.estimateColSize,`estimateColSize`),t.initialScrollTop!==void 0&&h(t.initialScrollTop,`initialScrollTop`),t.initialScrollLeft!==void 0&&h(t.initialScrollLeft,`initialScrollLeft`),t.rowGap!==void 0&&m(t.rowGap,`rowGap`),t.colGap!==void 0&&m(t.colGap,`colGap`),t.overscanY!==void 0&&_(t.overscanY,`overscanY`),t.overscanX!==void 0&&_(t.overscanX,`overscanX`);let n=m(t.rowCount,`rowCount`),r=m(t.colCount,`colCount`),i=u(t.estimateRowSize,36),s=u(t.estimateColSize,36),d=c(t.overscanY,3),f=c(t.overscanX,3),p=t.onChange,b=t.onRangeChange,x=t.rowMeasurementCache??new Map,S=t.colMeasurementCache??new Map,C=0,T=0,E=0,D=0,O=[],k=[],A=!1,j=y(n,e=>x.get(e)??i(e),a(t.rowGap??0)),M=y(r,e=>S.get(e)??s(e),a(t.colGap??0)),N=!1;function P(e){let t=Number.isFinite(e)?e:0;return Math.min(Math.max(0,j.totalSize-E),Math.max(0,t))}function F(e){let t=Number.isFinite(e)?e:0;return Math.min(Math.max(0,M.totalSize-D),Math.max(0,t))}function I(){if(A)return;let e=j.totalSize,t=M.totalSize;if(n===0||r===0||E<=0||D<=0){(j.prevStart!==-1||j.prevTotalSize!==e||M.prevTotalSize!==t)&&(j.commitDedup(-1,-1),M.commitDedup(-1,-1),O=[],k=[],p?.({cols:[],rows:[],totalHeight:e,totalWidth:t}));return}let{renderEnd:i,renderStart:a}=j.computeRange(C,C+E,d.start,d.end),{renderEnd:o,renderStart:s}=M.computeRange(T,T+D,f.start,f.end),c=j.isDedupSame(a,i),l=M.isDedupSame(s,o);if(c&&l)return;j.commitDedup(a,i),M.commitDedup(s,o),(!c||!l)&&b&&b({firstCol:s,firstRow:a,lastCol:o,lastRow:i});let u=[];for(let e=a;e<=i;e++)u.push(j.itemAt(e));let m=[];for(let e=s;e<=o;e++)m.push(M.itemAt(e));O=u,k=m,p?.({cols:k,rows:O,totalHeight:e,totalWidth:t})}function L(e,t){if(!Number.isFinite(e))return!1;let r=Math.floor(e);if(r<0||r>=n)return!1;let i=o(t,-1);return i<=0||x.get(r)===i?!1:(x.set(r,i),j.markChanged(r),!0)}function R(e,t){if(!Number.isFinite(e))return!1;let n=Math.floor(e);if(n<0||n>=r)return!1;let i=o(t,-1);return i<=0||S.get(n)===i?!1:(S.set(n,i),M.markChanged(n),!0)}function z(){N||(N=!0,queueMicrotask(()=>{N=!1;let e=j.consumeMinChangedIndex();e!==1/0&&j.rebuildFrom(e);let t=M.consumeMinChangedIndex();t!==1/0&&M.rebuildFrom(t),I()}))}function B(e,t){A||L(e,t)&&z()}function V(e,t){A||R(e,t)&&z()}function H(e,t){if(A)return;let n=!1;for(let{index:t,size:r}of e)L(t,r)&&(n=!0);for(let{index:e,size:r}of t)R(e,r)&&(n=!0);n&&z()}function ee(e,t){return A?()=>{}:l(q.signal,t,t=>B(e,t.contentRect.height))}function U(e,t){return A?()=>{}:l(q.signal,t,t=>V(e,t.contentRect.width))}function W(){A||(x.clear(),S.clear(),j.rebuild(!0),M.rebuild(!0),I())}function G(){A||(j.rebuild(!0),M.rebuild(!0),I())}function K(e){if(A)return;let t=a(e);if(t===0)return;n+=t,j.setCount(n),j.rebuild(!0);let r=j.startAt(t),i=P(C+r);X.scrollTo(T,i,`auto`),C=i,I()}function te(e,t={}){if(A||n===0)return;let r=Math.max(0,Math.min(Math.floor(Number.isFinite(e)?e:0),n-1)),i=t.behavior??`auto`,a=j.startAt(r),o=j.sizeAt(r),s=w(a,a+o,o,C,E,t.rowAlign??`auto`);s!==null&&X.scrollTo(T,P(s),i)}function ne(e,t={}){if(A||r===0)return;let n=Math.max(0,Math.min(Math.floor(Number.isFinite(e)?e:0),r-1)),i=t.behavior??`auto`,a=M.startAt(n),o=M.sizeAt(n),s=w(a,a+o,o,T,D,t.colAlign??`auto`);s!==null&&X.scrollTo(F(s),C,i)}function re(e,t,i={}){if(A||n===0||r===0)return;let a=Math.max(0,Math.min(Math.floor(Number.isFinite(e)?e:0),n-1)),o=Math.max(0,Math.min(Math.floor(Number.isFinite(t)?t:0),r-1)),s=i.behavior??`auto`,c=j.startAt(a),l=j.sizeAt(a),u=M.startAt(o),d=M.sizeAt(o),f=w(c,c+l,l,C,E,i.rowAlign??`auto`),p=w(u,u+d,d,T,D,i.colAlign??`auto`);(f!==null||p!==null)&&X.scrollTo(p===null?T:F(p),f===null?C:P(f),s)}function ie(e){if(A)return;e.rowCount!==void 0&&m(e.rowCount,`rowCount`),e.colCount!==void 0&&m(e.colCount,`colCount`),typeof e.estimateRowSize==`number`&&g(e.estimateRowSize,`estimateRowSize`),typeof e.estimateColSize==`number`&&g(e.estimateColSize,`estimateColSize`),e.rowGap!==void 0&&m(e.rowGap,`rowGap`),e.colGap!==void 0&&m(e.colGap,`colGap`),e.overscanY!==void 0&&_(e.overscanY,`overscanY`),e.overscanX!==void 0&&_(e.overscanX,`overscanX`);let t=!1,a=!1,o=!1;if(Object.hasOwn(e,`onChange`)&&(p=e.onChange),Object.hasOwn(e,`onRangeChange`)&&(b=e.onRangeChange),e.rowCount!==void 0){let r=e.rowCount;r!==n&&(n=r,j.setCount(n),t=!0)}if(e.colCount!==void 0){let t=e.colCount;t!==r&&(r=t,M.setCount(r),a=!0)}if(e.rowGap!==void 0){let n=e.rowGap;n!==j.gap&&(j.setGap(n),t=!0)}if(e.colGap!==void 0){let t=e.colGap;t!==M.gap&&(M.setGap(t),a=!0)}if(`estimateRowSize`in e&&(i=u(e.estimateRowSize,36),x.clear(),t=!0),`estimateColSize`in e&&(s=u(e.estimateColSize,36),S.clear(),a=!0),e.overscanY!==void 0){let t=c(e.overscanY,3);(t.start!==d.start||t.end!==d.end)&&(d=t,o=!0)}if(e.overscanX!==void 0){let t=c(e.overscanX,3);(t.start!==f.start||t.end!==f.end)&&(f=t,o=!0)}t&&j.rebuild(!0),a&&M.rebuild(!0),(t||a||o)&&I()}let q=new AbortController;function J(){A||(A=!0,q.abort(),X.detach())}function ae(){C=P(X.y.readOffset()),T=F(X.x.readOffset()),I()}function Y(){E=X.y.readViewportSize(),D=X.x.readViewportSize(),I()}let X=v(e,ae,Y);return j.rebuild(!0),M.rebuild(!0),E=X.y.readViewportSize(),D=X.x.readViewportSize(),t.initialScrollTop===void 0?t.initialScrollLeft!==void 0&&X.scrollTo(F(t.initialScrollLeft),0,`auto`):X.scrollTo(t.initialScrollLeft??0,P(t.initialScrollTop),`auto`),C=P(X.y.readOffset()),T=F(X.x.readOffset()),I(),{get cols(){return k},get disposalSignal(){return q.signal},dispose:J,get disposed(){return A},invalidate:W,measureBatch:H,measureColEl:U,measureColumn:V,measureRow:B,measureRowEl:ee,prependRows:K,refresh:G,get rows(){return O},get scrollLeft(){return T},scrollToCell:re,scrollToColumn:ne,get scrollTop(){return C},scrollToRow:te,[Symbol.dispose]:J,get totalHeight(){return j.totalSize},get totalWidth(){return M.totalSize},update:ie}}function E(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];t.push({isHeader:!0,itemIndex:-1,label:r.label,sectionIndex:n});for(let e=0;e<r.items.length;e++)t.push({isHeader:!1,item:r.items[e],itemIndex:e,sectionIndex:n})}return t}function D(e,t){typeof t.estimateHeaderSize==`number`&&g(t.estimateHeaderSize,`estimateHeaderSize`),typeof t.estimateItemSize==`number`&&g(t.estimateItemSize,`estimateItemSize`),t.overscan!==void 0&&_(t.overscan),t.scrollEndDelay!==void 0&&h(t.scrollEndDelay,`scrollEndDelay`);let n=t.sections,r=E(n);function i(e){return typeof e==`function`?t=>{let i=r[t];return e(n[i.sectionIndex],i.sectionIndex)}:u(typeof e==`number`?e:void 0,36)}let a=i(t.estimateHeaderSize),o=typeof t.estimateItemSize==`function`?t.estimateItemSize:null,s=o?null:u(typeof t.estimateItemSize==`number`?t.estimateItemSize:void 0,36),c=t.getItemKey;function l(e){let t=r[e];return t?t.isHeader?a(e):o?o(t.item,t.itemIndex,t.sectionIndex):s(e):36}function d(e){let t=r[e];return t?t.isHeader?`__header_${t.sectionIndex}`:c?c(t.item,t.itemIndex,t.sectionIndex):e:e}let f=!1,p=[],m=t.onChange,v=t.onScrollEnd,y=t.onScrollingChange;function x(e){let t=[],n=[],i=null;for(let i of e.items){let e=r[i.index];e&&(e.isHeader?n.push({...i,label:e.label??``,sectionIndex:e.sectionIndex}):t.push({...i,data:e.item,itemIndex:e.itemIndex,sectionIndex:e.sectionIndex}))}if(e.stickyItems.length>0){let t=e.stickyItems[0],n=r[t.index];n?.isHeader&&(i={...t,label:n.label??``,sectionIndex:n.sectionIndex})}return p=t,{headers:n,items:t,stickyHeader:i,totalSize:e.totalSize}}let S=b(e,{count:r.length,estimateSize:l,getItemKey:d,horizontal:t.horizontal,measurementCache:t.measurementCache,onChange:e=>{let t=x(e);m?.(t)},onScrollEnd:e=>v?.(e),onScrollingChange:e=>y?.(e),overscan:t.overscan??3,scrollEndDelay:t.scrollEndDelay,sticky:e=>r[e]?.isHeader??!1}),C=new AbortController;function w(){f||(f=!0,C.abort(),S.dispose())}function T(e,t){if(e<0||e>=n.length)return-1;let r=0;for(let i=0;i<n.length;i++){if(i===e)return t===void 0?r:r+1+t;r+=1+n[i].items.length}return-1}return{get count(){return S.count},get disposalSignal(){return C.signal},dispose:w,get disposed(){return f},invalidate(){f||S.invalidate()},get isScrolling(){return S.isScrolling},get items(){return p},measure(e,t){f||S.measure(e,t)},measureBatch(e){f||S.measureBatch(e)},measureEl(e,t){return f?()=>{}:S.measureEl(e,t)},refresh(){f||S.refresh()},get scrollOffset(){return S.scrollOffset},scrollToBottom(e){f||S.scrollToBottom(e)},scrollToIndex(e,t){f||S.scrollToIndex(e,t)},scrollToItem(e,t,n={}){if(f)return;let r=T(e,t);r<0||S.scrollToIndex(r,n)},scrollToOffset(e,t){f||S.scrollToOffset(e,t)},scrollToSection(e,t={}){if(f)return;let n=T(e);n<0||S.scrollToIndex(n,t)},scrollToTop(e){f||S.scrollToTop(e)},get stickyItems(){return S.stickyItems},[Symbol.dispose]:w,get totalSize(){return S.totalSize},update(e,t){if(f)return;t&&(typeof t.estimateHeaderSize==`number`&&g(t.estimateHeaderSize,`estimateHeaderSize`),typeof t.estimateItemSize==`number`&&g(t.estimateItemSize,`estimateItemSize`),t.overscan!==void 0&&_(t.overscan),t.scrollEndDelay!==void 0&&h(t.scrollEndDelay,`scrollEndDelay`),Object.hasOwn(t,`onChange`)&&(m=t.onChange),Object.hasOwn(t,`onScrollEnd`)&&(v=t.onScrollEnd),Object.hasOwn(t,`onScrollingChange`)&&(y=t.onScrollingChange),t.estimateHeaderSize!==void 0&&(a=i(t.estimateHeaderSize)),t.estimateItemSize!==void 0&&(o=typeof t.estimateItemSize==`function`?t.estimateItemSize:null,s=o?null:u(typeof t.estimateItemSize==`number`?t.estimateItemSize:void 0,36)),t.getItemKey!==void 0&&(c=t.getItemKey)),n=e;let l=r.length;r=E(n);let d={count:r.length};t?.measurementCache!==void 0&&(d.measurementCache=t.measurementCache),t?.overscan!==void 0&&(d.overscan=t.overscan),t?.scrollEndDelay!==void 0&&(d.scrollEndDelay=t.scrollEndDelay),r.length!==l||t?.measurementCache!==void 0||t?.overscan!==void 0||t?.scrollEndDelay!==void 0?S.update(d):S.refresh()}}}function O(e,t){return Object.defineProperties({},{...Object.getOwnPropertyDescriptors(e),state:{configurable:!0,enumerable:!0,value:t}})}function k(e,n){let r=(0,t.signal)({headers:[],items:[],stickyHeader:null,totalSize:0}),i;function a(e){r.value=e,i?.(e)}let o=D(e,{...n,onChange:a}),s=O(o,r);return Object.defineProperty(s,"update",{configurable:!0,enumerable:!0,value(e,t){if(!t||!Object.hasOwn(t,`onChange`)){o.update(e,t);return}i=t.onChange;let{onChange:n,...r}=t;o.update(e,{...r,onChange:a})}}),s}function A(e,n){let r=(0,t.signal)({items:[],stickyItems:[],totalSize:0}),i;function a(e){r.value=e,i?.(e)}let o=b(e,{...n,onChange:a}),s=O(o,r);return Object.defineProperty(s,"update",{configurable:!0,enumerable:!0,value(e){if(!Object.hasOwn(e,`onChange`)){o.update(e);return}i=e.onChange;let{onChange:t,...n}=e;o.update({...n,onChange:a})}}),s}return e.DEFAULT_ESTIMATE_SIZE=r,e.DEFAULT_OVERSCAN=i,e.ScrollConfigurationError=f,e.ScrollError=d,e.ScrollRangeError=p,e.createDomVirtualList=S,e.createGridVirtualizer=T,e.createGroupedVirtualizer=D,e.createMeasurementCache=n,e.createReactiveGroupedVirtualizer=k,e.createReactiveVirtualizer=A,e.createVirtualScroller=C,e.createVirtualizer=b,e})({},Ripple);
2
2
  //# sourceMappingURL=scroll.iife.js.map