@vielzeug/scroll 2.2.0 → 2.3.0
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 -3
- package/dist/dom-virtual-list.cjs +1 -1
- package/dist/dom-virtual-list.cjs.map +1 -1
- package/dist/dom-virtual-list.d.ts +1 -1
- package/dist/dom-virtual-list.d.ts.map +1 -1
- package/dist/dom-virtual-list.js +1 -1
- package/dist/dom-virtual-list.js.map +1 -1
- package/dist/grid-virtualizer.cjs +1 -1
- package/dist/grid-virtualizer.cjs.map +1 -1
- package/dist/grid-virtualizer.d.ts +1 -1
- package/dist/grid-virtualizer.d.ts.map +1 -1
- package/dist/grid-virtualizer.js +1 -1
- package/dist/grid-virtualizer.js.map +1 -1
- package/dist/grouped-virtualizer.cjs +1 -1
- package/dist/grouped-virtualizer.cjs.map +1 -1
- package/dist/grouped-virtualizer.d.ts +1 -1
- package/dist/grouped-virtualizer.d.ts.map +1 -1
- package/dist/grouped-virtualizer.js +1 -1
- package/dist/grouped-virtualizer.js.map +1 -1
- package/dist/scroll.cjs +1 -1
- package/dist/scroll.cjs.map +1 -1
- package/dist/scroll.iife.js +1 -1
- package/dist/scroll.iife.js.map +1 -1
- package/dist/scroll.js +1 -1
- package/dist/scroll.js.map +1 -1
- package/dist/virtualizer.cjs +1 -1
- package/dist/virtualizer.cjs.map +1 -1
- package/dist/virtualizer.d.ts +12 -3
- package/dist/virtualizer.d.ts.map +1 -1
- package/dist/virtualizer.js +1 -1
- package/dist/virtualizer.js.map +1 -1
- package/package.json +2 -2
package/dist/scroll.iife.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var Scroll=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(){return new Map}var n=36,r=3;function i(e,t=0){return Number.isFinite(e)?Math.max(0,Math.floor(e)):t}function a(e,t){return!Number.isFinite(e)||e<=0||e>1e7?t:e}function o(e){return typeof Window<`u`&&e instanceof Window||typeof e.innerHeight==`number`&&typeof e.document==`object`}function s(e,t){if(typeof e==`number`){let n=i(e,t);return{end:n,start:n}}return{end:i(e?.end??t),start:i(e?.start??t)}}function c(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 l(e,t){if(typeof e==`function`)return n=>{try{return a(e(n),t)}catch(e){return`${n}${e}`,t}};let n=typeof e==`number`?a(e,t):t;return()=>n}var u=class extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}},d=class extends u{},f=class extends u{};function p(e,t){if(!Number.isFinite(e)||!Number.isInteger(e)||e<0)throw new d(`${t} must be a finite non-negative integer.`);return e}function m(e,t){if(!Number.isFinite(e)||e<0)throw new d(`${t} must be a finite non-negative number.`);return e}function h(e,t){if(!Number.isFinite(e)||e<=0||e>1e7)throw new d(`${t} must be a finite positive number no greater than 10000000.`);return e}function g(e,t=`overscan`){if(typeof e==`number`){p(e,t);return}if(typeof e!=`object`||!e||Array.isArray(e))throw new d(`${t} must be a finite non-negative integer or an overscan object.`);e.start!==void 0&&p(e.start,`${t}.start`),e.end!==void 0&&p(e.end,`${t}.end`)}function _(e,t,n){if(o(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 v(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 y(e){if(!e.stickyFn||e.count===0||e.scrollOffset<=0)return[];let t=-1,n=0,r=e.count-1;for(;n<=r;){let i=n+r>>1;e.startAt(i)<e.scrollOffset?(t=i,n=i+1):r=i-1}if(t<0)return[];let i=-1;for(let n=t;n>=0;n--)if(e.stickyFn(n)){i=n;break}if(i===-1)return[];let a=e.sizeAt(i),o=1/0;for(let t=i+1;t<e.count;t++)if(e.stickyFn(t)){o=e.startAt(t);break}let s=Math.min(e.scrollOffset,o-a);return[{end:s+a,index:i,size:a,start:s}]}function b(e,t){typeof t.estimateSize==`number`&&h(t.estimateSize,`estimateSize`),t.gap!==void 0&&p(t.gap,`gap`),t.initialOffset!==void 0&&m(t.initialOffset,`initialOffset`),t.overscan!==void 0&&g(t.overscan),t.scrollEndDelay!==void 0&&m(t.scrollEndDelay,`scrollEndDelay`);let n=!!t.horizontal,r=e=>e,o=t.keyboardScroll??!1,u=p(t.count,`count`),d=l(t.estimateSize,36),f=i(t.gap??0),b=t.getItemKey??r,x=s(t.overscan,3),S=t.sticky??null,C=o,w=t.autoMeasure??!1,T=t.onChange,E=t.onScrollEnd,D=t.onScrollingChange,O=t.scrollEndDelay??150,k=null;t.signal&&(k=t.signal({items:[],stickyItems:[],totalSize:0}));function A(e){k&&(k.value=e),T?.(e)}let j=null,M=`onscrollend`in e;function N(){G&&(G=!1,D?.(!1),E?.(V))}function P(){G||(G=!0,D?.(!0)),M||(j!==null&&clearTimeout(j),j=setTimeout(N,O))}let F=t.measurementCache??new Map,I=[],L=[],R=v(u,e=>F.get(b(e))??d(e),f),z=-1,B=0,V=0,H=0,U=-1,W=!1,G=!1;function K(e){let t=Number.isFinite(e)?e:0,n=Math.max(0,R.totalSize-H);return Math.min(n,Math.max(0,t))}function q(){if(W)return;if(u===0||H<=0){(R.prevStart!==-1||R.prevTotalSize!==R.totalSize)&&(R.commitDedup(-1,-1),I=[],L=[],A({items:I,stickyItems:L,totalSize:R.totalSize}));return}let{renderEnd:t,renderStart:n}=R.computeRange(V,V+H,x.start,x.end),r=S!==null&&V!==U;if(R.isDedupSame(n,t)&&!r)return;R.commitDedup(n,t),U=V;let i=[];for(let e=n;e<=t;e++)i.push(R.itemAt(e));I=i,L=S?y({count:u,scrollOffset:V,sizeAt:R.sizeAt,startAt:R.startAt,stickyFn:S}):[],A({items:I,stickyItems:L,totalSize:R.totalSize}),w&&I.length>0&&queueMicrotask(()=>{if(!(W||e instanceof Window))for(let t of I){let n=b(t.index),r=e?.querySelector?.(`[data-vz-key="${n}"]`);r instanceof HTMLElement&&Y(t.index,r)}})}function ee(e,t){if(!Number.isFinite(e))return!1;let n=Math.floor(e);if(n<0||n>=u)return!1;let r=a(t,-1);if(r<=0)return!1;let i=b(n);return F.get(i)!==r&&(F.set(i,r),R.markChanged(n),!0)}function te(){if(V<=0||u===0){z=-1;return}z=R.findFirst(V),B=V-R.startAt(z)}function ne(){if(z<0)return;let e=R.startAt(z)+B-V;if(z=-1,Math.abs(e)>=1){let t=K(V+e);$.writeOffset(t,`auto`),V=t}}function J(e){if(W)return;let t=!1;for(let{index:n,size:r}of e)ee(n,r)&&(t=!0);t&&(R.pendingBuild||te(),R.scheduleBuild(()=>{ne(),q()}))}function re(e,t){J([{index:e,size:t}])}function Y(e,t){return W?()=>{}:c(Q.signal,t,t=>{re(e,n?t.contentRect.width:t.contentRect.height)})}function ie(e){e.count!==void 0&&p(e.count,`count`),typeof e.estimateSize==`number`&&h(e.estimateSize,`estimateSize`),e.gap!==void 0&&p(e.gap,`gap`),e.overscan!==void 0&&g(e.overscan),e.scrollEndDelay!==void 0&&m(e.scrollEndDelay,`scrollEndDelay`);let t=!1,n=!1;if(Object.hasOwn(e,`onChange`)&&(T=e.onChange),Object.hasOwn(e,`onScrollEnd`)&&(E=e.onScrollEnd),Object.hasOwn(e,`onScrollingChange`)&&(D=e.onScrollingChange),e.scrollEndDelay!==void 0&&(O=e.scrollEndDelay),e.count!==void 0){let n=e.count;n!==u&&(u=n,R.setCount(u),t=!0)}if(Object.hasOwn(e,`estimateSize`)&&(d=l(e.estimateSize,36),F.clear(),t=!0),e.gap!==void 0){let n=e.gap;n!==f&&(f=n,R.setGap(f),t=!0)}if(Object.hasOwn(e,`getItemKey`)){let n=e.getItemKey??r;n!==b&&(b=n,F.clear(),t=!0)}if(Object.hasOwn(e,`measurementCache`)&&e.measurementCache!==void 0&&(F=e.measurementCache,t=!0),e.overscan!==void 0){let t=s(e.overscan,3);(t.start!==x.start||t.end!==x.end)&&(x=t,n=!0)}if(Object.hasOwn(e,`sticky`)){let t=e.sticky??null;t!==S&&(S=t,R.resetDedup()),n=!0}Object.hasOwn(e,`keyboardScroll`)&&(C=e.keyboardScroll??!1),Object.hasOwn(e,`autoMeasure`)&&(w=e.autoMeasure??!1),t&&(te(),R.rebuild(!0),ne()),(n||t)&&q()}function X(){W||(F.clear(),R.rebuild(!0),q())}function ae(){W||(R.rebuild(!0),q())}function oe(e){if(W)return;let t=i(e);if(t===0)return;u+=t,R.setCount(u),R.rebuild(!0);let n=R.startAt(t),r=K(V+n);$.writeOffset(r,`auto`),V=r,q()}function se(e){W||ie(e)}function Z(t,n={}){if(W||u<=0)return;let r=Math.max(0,Math.min(Number.isFinite(t)?Math.floor(t):0,u-1)),i=n.align??`auto`,a=n.behavior??`auto`,o=R.startAt(r),s=R.sizeAt(r),c=o+s,l;if(i===`start`)l=o;else if(i===`end`)l=c-H;else if(i===`center`)l=o-(H-s)/2;else{let e=V,t=e+H;if(o>=e&&c<=t){n.onComplete&&queueMicrotask(n.onComplete);return}l=o<e?o:c-H}$.writeOffset(K(l),a),n.onComplete&&(a===`smooth`&&`onscrollend`in e?e.addEventListener(`scrollend`,n.onComplete,{once:!0}):queueMicrotask(n.onComplete))}function ce(e,t={}){W||$.writeOffset(K(e),t.behavior??`auto`)}function le(e={}){ce(0,e)}function ue(e={}){ce(Math.max(0,R.totalSize-H),e)}function de(e=0){return R.totalSize-(V+H)<=e}let Q=new AbortController;function fe(){W||(W=!0,Q.abort(),j!==null&&(clearTimeout(j),j=null),M&&e.removeEventListener(`scrollend`,N),he.detach())}function pe(){V=K($.readOffset()),P(),q()}function me(){H=$.readViewportSize(),q()}let he=_(e,pe,me),$=n?he.x:he.y;if(C){let t=e=>{if(W||!(e instanceof KeyboardEvent)||u===0)return;let t=!1,n=V,r=Math.max(H*.8,H-100);switch(e.key){case`ArrowUp`:case`ArrowLeft`:{let e=typeof d(0)==`number`?d(0):36;n=Math.max(0,V-(e+f)),t=!0;break}case`ArrowDown`:case`ArrowRight`:{let e=typeof d(0)==`number`?d(0):36;n=Math.min(R.totalSize-H,V+(e+f)),t=!0;break}case`PageUp`:n=Math.max(0,V-r),t=!0;break;case`PageDown`:n=Math.min(R.totalSize-H,V+r),t=!0;break;case`Home`:n=0,t=!0;break;case`End`:n=Math.max(0,R.totalSize-H),t=!0}t&&(e.preventDefault(),$.writeOffset(n,`auto`),V=K(n),q())};typeof e==`object`&&e&&`addEventListener`in e&&(e.addEventListener(`keydown`,t),Q.signal.addEventListener(`abort`,()=>{e.removeEventListener(`keydown`,t)}))}return M&&e.addEventListener(`scrollend`,N,{passive:!0}),R.rebuild(!0),t.initialOffset!==void 0&&$.writeOffset(K(t.initialOffset),`auto`),V=K($.readOffset()),H=$.readViewportSize(),q(),{get count(){return u},get disposalSignal(){return Q.signal},dispose:fe,get disposed(){return W},invalidate:X,isAtEnd:de,get isScrolling(){return G},get items(){return I},measure:re,measureBatch:J,measureEl:Y,prepend:oe,refresh:ae,get scrollOffset(){return V},scrollToBottom:ue,scrollToIndex:Z,scrollToOffset:ce,scrollToTop:le,get stickyItems(){return L},[Symbol.dispose]:fe,get totalSize(){return R.totalSize},update:se}}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`&&h(e.estimateSize,`estimateSize`),e.gap!==void 0&&p(e.gap,`gap`),e.overscan!==void 0&&g(e.overscan),e.stickToBottom!==void 0&&typeof e.stickToBottom!=`boolean`){if(e.stickToBottom===null||Array.isArray(e.stickToBottom))throw new d(`stickToBottom must be a boolean or options object.`);e.stickToBottom.threshold!==void 0&&m(e.stickToBottom.threshold,`stickToBottom.threshold`)}let t=[],n=!1,r=new AbortController,i=e.listElement,a=null;e.signal&&(a=e.signal({items:[],stickyItems:[],totalSize:0}));function o(e){a&&(a.value=e),y(e)}let 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 _(t){e.horizontal?(i.style.height=``,i.style.width=`${t}px`):(i.style.height=`${t}px`,i.style.width=``)}function v(e){let n=t[e.index];if(n===void 0)throw new f(`toRenderItem: index ${e.index} is out of range (currentItems.length=${t.length})`);return{...e,data:n}}function y(t){_(t.totalSize),s.beginCycle();try{e.render({items:t.items.map(v),listEl:i,recycle:(e,t)=>s.acquire(e,t),stickyItems:t.stickyItems.map(v),totalSize:t.totalSize})}finally{s.endCycle()}}function S(){s.clear(),e.clear?e.clear(i):i.textContent=``,i.style.height=``,i.style.width=``,i.style.position=``,i.style.contain=``}function C(){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 w(){let n=b(e.scrollElement,{count:t.length,estimateSize:u,gap:e.gap,getItemKey:l,horizontal:e.horizontal,keyboardScroll:e.keyboardScroll,measurementCache:e.measurementCache,onChange:o,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,i.style.position=`relative`,i.style.contain=`layout`,n}function T(){n||(n=!0,r.abort(),c?.dispose(),c=null,S())}return{get count(){return c?.count??0},get disposalSignal(){return r.signal},dispose:T,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=C(),a=i.enabled&&(c?.isAtEnd(i.threshold)??!0);if(t=r,r.length===0){c?.dispose(),c=null,S();return}if(!c){let e=w();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]:T,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`&&h(t.estimateRowSize,`estimateRowSize`),typeof t.estimateColSize==`number`&&h(t.estimateColSize,`estimateColSize`),t.initialScrollTop!==void 0&&m(t.initialScrollTop,`initialScrollTop`),t.initialScrollLeft!==void 0&&m(t.initialScrollLeft,`initialScrollLeft`),t.rowGap!==void 0&&p(t.rowGap,`rowGap`),t.colGap!==void 0&&p(t.colGap,`colGap`),t.overscanY!==void 0&&g(t.overscanY,`overscanY`),t.overscanX!==void 0&&g(t.overscanX,`overscanX`);let n=p(t.rowCount,`rowCount`),r=p(t.colCount,`colCount`),o=l(t.estimateRowSize,36),u=l(t.estimateColSize,36),d=s(t.overscanY,3),f=s(t.overscanX,3),y=t.keyboardScroll??!1,b=t.onChange,x=t.onRangeChange,S=null;t.signal&&(S=t.signal({cols:[],rows:[],totalHeight:0,totalWidth:0}));function C(e){S&&(S.value=e),b?.(e)}let T=t.rowMeasurementCache??new Map,E=t.colMeasurementCache??new Map,D=0,O=0,k=0,A=0,j=[],M=[],N=!1,P=v(n,e=>T.get(e)??o(e),i(t.rowGap??0)),F=v(r,e=>E.get(e)??u(e),i(t.colGap??0)),I=!1;function L(e){let t=Number.isFinite(e)?e:0;return Math.min(Math.max(0,P.totalSize-k),Math.max(0,t))}function R(e){let t=Number.isFinite(e)?e:0;return Math.min(Math.max(0,F.totalSize-A),Math.max(0,t))}function z(){if(N)return;let e=P.totalSize,t=F.totalSize;if(n===0||r===0||k<=0||A<=0){(P.prevStart!==-1||P.prevTotalSize!==e||F.prevTotalSize!==t)&&(P.commitDedup(-1,-1),F.commitDedup(-1,-1),j=[],M=[],C({cols:[],rows:[],totalHeight:e,totalWidth:t}));return}let{renderEnd:i,renderStart:a}=P.computeRange(D,D+k,d.start,d.end),{renderEnd:o,renderStart:s}=F.computeRange(O,O+A,f.start,f.end),c=P.isDedupSame(a,i),l=F.isDedupSame(s,o);if(c&&l)return;P.commitDedup(a,i),F.commitDedup(s,o),(!c||!l)&&x&&x({firstCol:s,firstRow:a,lastCol:o,lastRow:i});let u=[];for(let e=a;e<=i;e++)u.push(P.itemAt(e));let p=[];for(let e=s;e<=o;e++)p.push(F.itemAt(e));j=u,M=p,C({cols:M,rows:j,totalHeight:e,totalWidth:t})}function B(e,t){if(!Number.isFinite(e))return!1;let r=Math.floor(e);if(r<0||r>=n)return!1;let i=a(t,-1);return i<=0||T.get(r)===i?!1:(T.set(r,i),P.markChanged(r),!0)}function V(e,t){if(!Number.isFinite(e))return!1;let n=Math.floor(e);if(n<0||n>=r)return!1;let i=a(t,-1);return i<=0||E.get(n)===i?!1:(E.set(n,i),F.markChanged(n),!0)}function H(){I||(I=!0,queueMicrotask(()=>{I=!1;let e=P.consumeMinChangedIndex();e!==1/0&&P.rebuildFrom(e);let t=F.consumeMinChangedIndex();t!==1/0&&F.rebuildFrom(t),z()}))}function U(e,t){N||B(e,t)&&H()}function W(e,t){N||V(e,t)&&H()}function G(e,t){if(N)return;let n=!1;for(let{index:t,size:r}of e)B(t,r)&&(n=!0);for(let{index:e,size:r}of t)V(e,r)&&(n=!0);n&&H()}function K(e,t){return N?()=>{}:c(X.signal,t,t=>U(e,t.contentRect.height))}function q(e,t){return N?()=>{}:c(X.signal,t,t=>W(e,t.contentRect.width))}function ee(){N||(T.clear(),E.clear(),P.rebuild(!0),F.rebuild(!0),z())}function te(){N||(P.rebuild(!0),F.rebuild(!0),z())}function ne(e){if(N)return;let t=i(e);if(t===0)return;n+=t,P.setCount(n),P.rebuild(!0);let r=P.startAt(t),a=L(D+r);Z.scrollTo(O,a,`auto`),D=a,z()}function J(e,t={}){if(N||n===0)return;let r=Math.max(0,Math.min(Math.floor(Number.isFinite(e)?e:0),n-1)),i=t.behavior??`auto`,a=P.startAt(r),o=P.sizeAt(r),s=w(a,a+o,o,D,k,t.rowAlign??`auto`);s!==null&&Z.scrollTo(O,L(s),i)}function re(e,t={}){if(N||r===0)return;let n=Math.max(0,Math.min(Math.floor(Number.isFinite(e)?e:0),r-1)),i=t.behavior??`auto`,a=F.startAt(n),o=F.sizeAt(n),s=w(a,a+o,o,O,A,t.colAlign??`auto`);s!==null&&Z.scrollTo(R(s),D,i)}function Y(e,t,i={}){if(N||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=P.startAt(a),l=P.sizeAt(a),u=F.startAt(o),d=F.sizeAt(o),f=w(c,c+l,l,D,k,i.rowAlign??`auto`),p=w(u,u+d,d,O,A,i.colAlign??`auto`);(f!==null||p!==null)&&Z.scrollTo(p===null?O:R(p),f===null?D:L(f),s)}function ie(e){if(N)return;e.rowCount!==void 0&&p(e.rowCount,`rowCount`),e.colCount!==void 0&&p(e.colCount,`colCount`),typeof e.estimateRowSize==`number`&&h(e.estimateRowSize,`estimateRowSize`),typeof e.estimateColSize==`number`&&h(e.estimateColSize,`estimateColSize`),e.rowGap!==void 0&&p(e.rowGap,`rowGap`),e.colGap!==void 0&&p(e.colGap,`colGap`),e.overscanY!==void 0&&g(e.overscanY,`overscanY`),e.overscanX!==void 0&&g(e.overscanX,`overscanX`);let t=!1,i=!1,a=!1;if(Object.hasOwn(e,`onChange`)&&(b=e.onChange),Object.hasOwn(e,`onRangeChange`)&&(x=e.onRangeChange),e.rowCount!==void 0){let r=e.rowCount;r!==n&&(n=r,P.setCount(n),t=!0)}if(e.colCount!==void 0){let t=e.colCount;t!==r&&(r=t,F.setCount(r),i=!0)}if(e.rowGap!==void 0){let n=e.rowGap;n!==P.gap&&(P.setGap(n),t=!0)}if(e.colGap!==void 0){let t=e.colGap;t!==F.gap&&(F.setGap(t),i=!0)}if(`estimateRowSize`in e&&(o=l(e.estimateRowSize,36),T.clear(),t=!0),`estimateColSize`in e&&(u=l(e.estimateColSize,36),E.clear(),i=!0),e.overscanY!==void 0){let t=s(e.overscanY,3);(t.start!==d.start||t.end!==d.end)&&(d=t,a=!0)}if(e.overscanX!==void 0){let t=s(e.overscanX,3);(t.start!==f.start||t.end!==f.end)&&(f=t,a=!0)}Object.hasOwn(e,`keyboardScroll`)&&(y=e.keyboardScroll??!1),t&&P.rebuild(!0),i&&F.rebuild(!0),(t||i||a)&&z()}let X=new AbortController;function ae(){N||(N=!0,X.abort(),Z.detach())}function oe(){D=L(Z.y.readOffset()),O=R(Z.x.readOffset()),z()}function se(){k=Z.y.readViewportSize(),A=Z.x.readViewportSize(),z()}let Z=_(e,oe,se);if(P.rebuild(!0),F.rebuild(!0),k=Z.y.readViewportSize(),A=Z.x.readViewportSize(),t.initialScrollTop===void 0?t.initialScrollLeft!==void 0&&Z.scrollTo(R(t.initialScrollLeft),0,`auto`):Z.scrollTo(t.initialScrollLeft??0,L(t.initialScrollTop),`auto`),D=L(Z.y.readOffset()),O=R(Z.x.readOffset()),z(),y){let a=e=>{if(N||!(e instanceof KeyboardEvent)||n===0||r===0)return;let a=!1,s=D,c=O,l=Math.max(k*.8,k-100),d=(typeof o(0)==`number`?o(0):36)+i(t.rowGap??0),f=(typeof u(0)==`number`?u(0):36)+i(t.colGap??0);switch(e.key){case`ArrowUp`:s=Math.max(0,D-d),a=!0;break;case`ArrowDown`:s=Math.min(P.totalSize-k,D+d),a=!0;break;case`ArrowLeft`:c=Math.max(0,O-f),a=!0;break;case`ArrowRight`:c=Math.min(F.totalSize-A,O+f),a=!0;break;case`PageUp`:s=Math.max(0,D-l),a=!0;break;case`PageDown`:s=Math.min(P.totalSize-k,D+l),a=!0;break;case`Home`:s=0,a=!0;break;case`End`:s=Math.max(0,P.totalSize-k),a=!0}a&&(e.preventDefault(),Z.scrollTo(c,s,`auto`),D=L(s),O=R(c),N||z())};typeof e==`object`&&e&&`addEventListener`in e&&(e.addEventListener(`keydown`,a),X.signal.addEventListener(`abort`,()=>{e.removeEventListener(`keydown`,a)}))}return{get cols(){return M},get disposalSignal(){return X.signal},dispose:ae,get disposed(){return N},invalidate:ee,measureBatch:G,measureColEl:q,measureColumn:W,measureRow:U,measureRowEl:K,prependRows:ne,refresh:te,get rows(){return j},get scrollLeft(){return O},scrollToCell:Y,scrollToColumn:re,get scrollTop(){return D},scrollToRow:J,[Symbol.dispose]:ae,get totalHeight(){return P.totalSize},get totalWidth(){return F.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`&&h(t.estimateHeaderSize,`estimateHeaderSize`),typeof t.estimateItemSize==`number`&&h(t.estimateItemSize,`estimateItemSize`),t.overscan!==void 0&&g(t.overscan),t.scrollEndDelay!==void 0&&m(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)}:l(typeof e==`number`?e:void 0,36)}let a=i(t.estimateHeaderSize),o=typeof t.estimateItemSize==`function`?t.estimateItemSize:null,s=o?null:l(typeof t.estimateItemSize==`number`?t.estimateItemSize:void 0,36),c=t.getItemKey;function u(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=[],_=t.onChange,v=t.onScrollEnd,y=t.onScrollingChange,x=null;t.signal&&(x=t.signal({headers:[],items:[],stickyHeader:null,totalSize:0}));function S(e){x&&(x.value=e),_?.(e)}function C(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 w=b(e,{count:r.length,estimateSize:u,getItemKey:d,horizontal:t.horizontal,measurementCache:t.measurementCache,onChange:e=>{S(C(e))},onScrollEnd:e=>v?.(e),onScrollingChange:e=>y?.(e),overscan:t.overscan??3,scrollEndDelay:t.scrollEndDelay,sticky:e=>r[e]?.isHeader??!1}),T=new AbortController;function D(){f||(f=!0,T.abort(),w.dispose())}function O(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 w.count},get disposalSignal(){return T.signal},dispose:D,get disposed(){return f},invalidate(){f||w.invalidate()},get isScrolling(){return w.isScrolling},get items(){return p},measure(e,t){f||w.measure(e,t)},measureBatch(e){f||w.measureBatch(e)},measureEl(e,t){return f?()=>{}:w.measureEl(e,t)},refresh(){f||w.refresh()},get scrollOffset(){return w.scrollOffset},scrollToBottom(e){f||w.scrollToBottom(e)},scrollToIndex(e,t){f||w.scrollToIndex(e,t)},scrollToItem(e,t,n={}){if(f)return;let r=O(e,t);r<0||w.scrollToIndex(r,n)},scrollToOffset(e,t){f||w.scrollToOffset(e,t)},scrollToSection(e,t={}){if(f)return;let n=O(e);n<0||w.scrollToIndex(n,t)},scrollToTop(e){f||w.scrollToTop(e)},get stickyItems(){return w.stickyItems},[Symbol.dispose]:D,get totalSize(){return w.totalSize},update(e,t){if(f)return;t&&(typeof t.estimateHeaderSize==`number`&&h(t.estimateHeaderSize,`estimateHeaderSize`),typeof t.estimateItemSize==`number`&&h(t.estimateItemSize,`estimateItemSize`),t.overscan!==void 0&&g(t.overscan),t.scrollEndDelay!==void 0&&m(t.scrollEndDelay,`scrollEndDelay`),Object.hasOwn(t,`onChange`)&&(_=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:l(typeof t.estimateItemSize==`number`?t.estimateItemSize:void 0,36)),t.getItemKey!==void 0&&(c=t.getItemKey)),n=e;let u=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!==u||t?.measurementCache!==void 0||t?.overscan!==void 0||t?.scrollEndDelay!==void 0?w.update(d):w.refresh()}}}return e.DEFAULT_ESTIMATE_SIZE=n,e.DEFAULT_OVERSCAN=r,e.ScrollConfigurationError=d,e.ScrollError=u,e.ScrollRangeError=f,e.createDomVirtualList=S,e.createGridVirtualizer=T,e.createGroupedVirtualizer=D,e.createMeasurementCache=t,e.createVirtualScroller=C,e.createVirtualizer=b,e})({});
|
|
1
|
+
var Scroll=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(){return new Map}var n=36,r=3;function i(e,t=0){return Number.isFinite(e)?Math.max(0,Math.floor(e)):t}function a(e,t){return!Number.isFinite(e)||e<=0||e>1e7?t:e}function o(e){return typeof Window<`u`&&e instanceof Window||typeof e.innerHeight==`number`&&typeof e.document==`object`}function s(e,t){if(typeof e==`number`){let n=i(e,t);return{end:n,start:n}}return{end:i(e?.end??t),start:i(e?.start??t)}}function c(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 l(e,t){if(typeof e==`function`)return n=>{try{return a(e(n),t)}catch(e){return`${n}${e}`,t}};let n=typeof e==`number`?a(e,t):t;return()=>n}var u=class extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}},d=class extends u{},f=class extends u{};function p(e,t){if(!Number.isFinite(e)||!Number.isInteger(e)||e<0)throw new d(`${t} must be a finite non-negative integer.`);return e}function m(e,t){if(!Number.isFinite(e)||e<0)throw new d(`${t} must be a finite non-negative number.`);return e}function h(e,t){if(!Number.isFinite(e)||e<=0||e>1e7)throw new d(`${t} must be a finite positive number no greater than 10000000.`);return e}function g(e,t=`overscan`){if(typeof e==`number`){p(e,t);return}if(typeof e!=`object`||!e||Array.isArray(e))throw new d(`${t} must be a finite non-negative integer or an overscan object.`);e.start!==void 0&&p(e.start,`${t}.start`),e.end!==void 0&&p(e.end,`${t}.end`)}function _(e,t,n){if(o(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 v(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 y(e){if(!e.stickyFn||e.count===0||e.scrollOffset<=0)return[];let t=-1,n=0,r=e.count-1;for(;n<=r;){let i=n+r>>1;e.startAt(i)<e.scrollOffset?(t=i,n=i+1):r=i-1}if(t<0)return[];let i=-1;for(let n=t;n>=0;n--)if(e.stickyFn(n)){i=n;break}if(i===-1)return[];let a=e.sizeAt(i),o=1/0;for(let t=i+1;t<e.count;t++)if(e.stickyFn(t)){o=e.startAt(t);break}let s=Math.min(e.scrollOffset,o-a);return[{end:s+a,index:i,size:a,start:s}]}function b(e,t){typeof t.estimateSize==`number`&&h(t.estimateSize,`estimateSize`),t.gap!==void 0&&p(t.gap,`gap`),t.initialOffset!==void 0&&m(t.initialOffset,`initialOffset`),t.overscan!==void 0&&g(t.overscan),t.scrollEndDelay!==void 0&&m(t.scrollEndDelay,`scrollEndDelay`);let n=!!t.horizontal,r=e=>e,o=t.keyboardScroll??!1,u=p(t.count,`count`),d=l(t.estimateSize,36),f=i(t.gap??0),b=t.getItemKey??r,x=s(t.overscan,3),S=t.sticky??null,C=o,w=t.autoMeasure??!1,T=t.onChange,E=t.onScrollEnd,D=t.onScrollingChange,O=t.scrollEndDelay??150,k=null;t.toSignal&&(k=t.toSignal({items:[],stickyItems:[],totalSize:0}));function A(e){k&&(k.value=e),T?.(e)}let j=null,M=`onscrollend`in e;function N(){G&&(G=!1,D?.(!1),E?.(V))}function P(){G||(G=!0,D?.(!0)),M||(j!==null&&clearTimeout(j),j=setTimeout(N,O))}let F=t.measurementCache??new Map,I=[],L=[],R=v(u,e=>F.get(b(e))??d(e),f),z=-1,B=0,V=0,H=0,U=-1,W=!1,G=!1;function K(e){let t=Number.isFinite(e)?e:0,n=Math.max(0,R.totalSize-H);return Math.min(n,Math.max(0,t))}function q(){if(W)return;if(u===0||H<=0){(R.prevStart!==-1||R.prevTotalSize!==R.totalSize)&&(R.commitDedup(-1,-1),I=[],L=[],A({items:I,stickyItems:L,totalSize:R.totalSize}));return}let{renderEnd:t,renderStart:n}=R.computeRange(V,V+H,x.start,x.end),r=S!==null&&V!==U;if(R.isDedupSame(n,t)&&!r)return;R.commitDedup(n,t),U=V;let i=[];for(let e=n;e<=t;e++)i.push(R.itemAt(e));I=i,L=S?y({count:u,scrollOffset:V,sizeAt:R.sizeAt,startAt:R.startAt,stickyFn:S}):[],A({items:I,stickyItems:L,totalSize:R.totalSize}),w&&I.length>0&&queueMicrotask(()=>{if(!(W||e instanceof Window))for(let t of I){let n=b(t.index),r=e?.querySelector?.(`[data-vz-key="${n}"]`);r instanceof HTMLElement&&Y(t.index,r)}})}function ee(e,t){if(!Number.isFinite(e))return!1;let n=Math.floor(e);if(n<0||n>=u)return!1;let r=a(t,-1);if(r<=0)return!1;let i=b(n);return F.get(i)!==r&&(F.set(i,r),R.markChanged(n),!0)}function te(){if(V<=0||u===0){z=-1;return}z=R.findFirst(V),B=V-R.startAt(z)}function ne(){if(z<0)return;let e=R.startAt(z)+B-V;if(z=-1,Math.abs(e)>=1){let t=K(V+e);$.writeOffset(t,`auto`),V=t}}function J(e){if(W)return;let t=!1;for(let{index:n,size:r}of e)ee(n,r)&&(t=!0);t&&(R.pendingBuild||te(),R.scheduleBuild(()=>{ne(),q()}))}function re(e,t){J([{index:e,size:t}])}function Y(e,t){return W?()=>{}:c(Q.signal,t,t=>{re(e,n?t.contentRect.width:t.contentRect.height)})}function ie(e){e.count!==void 0&&p(e.count,`count`),typeof e.estimateSize==`number`&&h(e.estimateSize,`estimateSize`),e.gap!==void 0&&p(e.gap,`gap`),e.overscan!==void 0&&g(e.overscan),e.scrollEndDelay!==void 0&&m(e.scrollEndDelay,`scrollEndDelay`);let t=!1,n=!1;if(Object.hasOwn(e,`onChange`)&&(T=e.onChange),Object.hasOwn(e,`onScrollEnd`)&&(E=e.onScrollEnd),Object.hasOwn(e,`onScrollingChange`)&&(D=e.onScrollingChange),e.scrollEndDelay!==void 0&&(O=e.scrollEndDelay),e.count!==void 0){let n=e.count;n!==u&&(u=n,R.setCount(u),t=!0)}if(Object.hasOwn(e,`estimateSize`)&&(d=l(e.estimateSize,36),F.clear(),t=!0),e.gap!==void 0){let n=e.gap;n!==f&&(f=n,R.setGap(f),t=!0)}if(Object.hasOwn(e,`getItemKey`)){let n=e.getItemKey??r;n!==b&&(b=n,F.clear(),t=!0)}if(Object.hasOwn(e,`measurementCache`)&&e.measurementCache!==void 0&&(F=e.measurementCache,t=!0),e.overscan!==void 0){let t=s(e.overscan,3);(t.start!==x.start||t.end!==x.end)&&(x=t,n=!0)}if(Object.hasOwn(e,`sticky`)){let t=e.sticky??null;t!==S&&(S=t,R.resetDedup()),n=!0}Object.hasOwn(e,`keyboardScroll`)&&(C=e.keyboardScroll??!1),Object.hasOwn(e,`autoMeasure`)&&(w=e.autoMeasure??!1),t&&(te(),R.rebuild(!0),ne()),(n||t)&&q()}function X(){W||(F.clear(),R.rebuild(!0),q())}function ae(){W||(R.rebuild(!0),q())}function oe(e){if(W)return;let t=i(e);if(t===0)return;u+=t,R.setCount(u),R.rebuild(!0);let n=R.startAt(t),r=K(V+n);$.writeOffset(r,`auto`),V=r,q()}function se(e){W||ie(e)}function Z(t,n={}){if(W||u<=0)return;let r=Math.max(0,Math.min(Number.isFinite(t)?Math.floor(t):0,u-1)),i=n.align??`auto`,a=n.behavior??`auto`,o=R.startAt(r),s=R.sizeAt(r),c=o+s,l;if(i===`start`)l=o;else if(i===`end`)l=c-H;else if(i===`center`)l=o-(H-s)/2;else{let e=V,t=e+H;if(o>=e&&c<=t){n.onComplete&&queueMicrotask(n.onComplete);return}l=o<e?o:c-H}$.writeOffset(K(l),a),n.onComplete&&(a===`smooth`&&`onscrollend`in e?e.addEventListener(`scrollend`,n.onComplete,{once:!0}):queueMicrotask(n.onComplete))}function ce(e,t={}){W||$.writeOffset(K(e),t.behavior??`auto`)}function le(e={}){ce(0,e)}function ue(e={}){ce(Math.max(0,R.totalSize-H),e)}function de(e=0){return R.totalSize-(V+H)<=e}let Q=new AbortController;function fe(){W||(W=!0,Q.abort(),j!==null&&(clearTimeout(j),j=null),M&&e.removeEventListener(`scrollend`,N),he.detach())}function pe(){V=K($.readOffset()),P(),q()}function me(){H=$.readViewportSize(),q()}let he=_(e,pe,me),$=n?he.x:he.y;if(C){let t=e=>{if(W||!(e instanceof KeyboardEvent)||u===0)return;let t=!1,n=V,r=Math.max(H*.8,H-100);switch(e.key){case`ArrowUp`:case`ArrowLeft`:{let e=typeof d(0)==`number`?d(0):36;n=Math.max(0,V-(e+f)),t=!0;break}case`ArrowDown`:case`ArrowRight`:{let e=typeof d(0)==`number`?d(0):36;n=Math.min(R.totalSize-H,V+(e+f)),t=!0;break}case`PageUp`:n=Math.max(0,V-r),t=!0;break;case`PageDown`:n=Math.min(R.totalSize-H,V+r),t=!0;break;case`Home`:n=0,t=!0;break;case`End`:n=Math.max(0,R.totalSize-H),t=!0}t&&(e.preventDefault(),$.writeOffset(n,`auto`),V=K(n),q())};typeof e==`object`&&e&&`addEventListener`in e&&(e.addEventListener(`keydown`,t),Q.signal.addEventListener(`abort`,()=>{e.removeEventListener(`keydown`,t)}))}return M&&e.addEventListener(`scrollend`,N,{passive:!0}),R.rebuild(!0),t.initialOffset!==void 0&&$.writeOffset(K(t.initialOffset),`auto`),V=K($.readOffset()),H=$.readViewportSize(),q(),{get count(){return u},get disposalSignal(){return Q.signal},dispose:fe,get disposed(){return W},invalidate:X,isAtEnd:de,get isScrolling(){return G},get items(){return I},measure:re,measureBatch:J,measureEl:Y,prepend:oe,refresh:ae,get scrollOffset(){return V},scrollToBottom:ue,scrollToIndex:Z,scrollToOffset:ce,scrollToTop:le,get stickyItems(){return L},[Symbol.dispose]:fe,get totalSize(){return R.totalSize},update:se}}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`&&h(e.estimateSize,`estimateSize`),e.gap!==void 0&&p(e.gap,`gap`),e.overscan!==void 0&&g(e.overscan),e.stickToBottom!==void 0&&typeof e.stickToBottom!=`boolean`){if(e.stickToBottom===null||Array.isArray(e.stickToBottom))throw new d(`stickToBottom must be a boolean or options object.`);e.stickToBottom.threshold!==void 0&&m(e.stickToBottom.threshold,`stickToBottom.threshold`)}let t=[],n=!1,r=new AbortController,i=e.listElement,a=null;e.toSignal&&(a=e.toSignal({items:[],stickyItems:[],totalSize:0}));function o(e){a&&(a.value=e),y(e)}let 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 _(t){e.horizontal?(i.style.height=``,i.style.width=`${t}px`):(i.style.height=`${t}px`,i.style.width=``)}function v(e){let n=t[e.index];if(n===void 0)throw new f(`toRenderItem: index ${e.index} is out of range (currentItems.length=${t.length})`);return{...e,data:n}}function y(t){_(t.totalSize),s.beginCycle();try{e.render({items:t.items.map(v),listEl:i,recycle:(e,t)=>s.acquire(e,t),stickyItems:t.stickyItems.map(v),totalSize:t.totalSize})}finally{s.endCycle()}}function S(){s.clear(),e.clear?e.clear(i):i.textContent=``,i.style.height=``,i.style.width=``,i.style.position=``,i.style.contain=``}function C(){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 w(){let n=b(e.scrollElement,{count:t.length,estimateSize:u,gap:e.gap,getItemKey:l,horizontal:e.horizontal,keyboardScroll:e.keyboardScroll,measurementCache:e.measurementCache,onChange:o,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,i.style.position=`relative`,i.style.contain=`layout`,n}function T(){n||(n=!0,r.abort(),c?.dispose(),c=null,S())}return{get count(){return c?.count??0},get disposalSignal(){return r.signal},dispose:T,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=C(),a=i.enabled&&(c?.isAtEnd(i.threshold)??!0);if(t=r,r.length===0){c?.dispose(),c=null,S();return}if(!c){let e=w();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]:T,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`&&h(t.estimateRowSize,`estimateRowSize`),typeof t.estimateColSize==`number`&&h(t.estimateColSize,`estimateColSize`),t.initialScrollTop!==void 0&&m(t.initialScrollTop,`initialScrollTop`),t.initialScrollLeft!==void 0&&m(t.initialScrollLeft,`initialScrollLeft`),t.rowGap!==void 0&&p(t.rowGap,`rowGap`),t.colGap!==void 0&&p(t.colGap,`colGap`),t.overscanY!==void 0&&g(t.overscanY,`overscanY`),t.overscanX!==void 0&&g(t.overscanX,`overscanX`);let n=p(t.rowCount,`rowCount`),r=p(t.colCount,`colCount`),o=l(t.estimateRowSize,36),u=l(t.estimateColSize,36),d=s(t.overscanY,3),f=s(t.overscanX,3),y=t.keyboardScroll??!1,b=t.onChange,x=t.onRangeChange,S=null;t.toSignal&&(S=t.toSignal({cols:[],rows:[],totalHeight:0,totalWidth:0}));function C(e){S&&(S.value=e),b?.(e)}let T=t.rowMeasurementCache??new Map,E=t.colMeasurementCache??new Map,D=0,O=0,k=0,A=0,j=[],M=[],N=!1,P=v(n,e=>T.get(e)??o(e),i(t.rowGap??0)),F=v(r,e=>E.get(e)??u(e),i(t.colGap??0)),I=!1;function L(e){let t=Number.isFinite(e)?e:0;return Math.min(Math.max(0,P.totalSize-k),Math.max(0,t))}function R(e){let t=Number.isFinite(e)?e:0;return Math.min(Math.max(0,F.totalSize-A),Math.max(0,t))}function z(){if(N)return;let e=P.totalSize,t=F.totalSize;if(n===0||r===0||k<=0||A<=0){(P.prevStart!==-1||P.prevTotalSize!==e||F.prevTotalSize!==t)&&(P.commitDedup(-1,-1),F.commitDedup(-1,-1),j=[],M=[],C({cols:[],rows:[],totalHeight:e,totalWidth:t}));return}let{renderEnd:i,renderStart:a}=P.computeRange(D,D+k,d.start,d.end),{renderEnd:o,renderStart:s}=F.computeRange(O,O+A,f.start,f.end),c=P.isDedupSame(a,i),l=F.isDedupSame(s,o);if(c&&l)return;P.commitDedup(a,i),F.commitDedup(s,o),(!c||!l)&&x&&x({firstCol:s,firstRow:a,lastCol:o,lastRow:i});let u=[];for(let e=a;e<=i;e++)u.push(P.itemAt(e));let p=[];for(let e=s;e<=o;e++)p.push(F.itemAt(e));j=u,M=p,C({cols:M,rows:j,totalHeight:e,totalWidth:t})}function B(e,t){if(!Number.isFinite(e))return!1;let r=Math.floor(e);if(r<0||r>=n)return!1;let i=a(t,-1);return i<=0||T.get(r)===i?!1:(T.set(r,i),P.markChanged(r),!0)}function V(e,t){if(!Number.isFinite(e))return!1;let n=Math.floor(e);if(n<0||n>=r)return!1;let i=a(t,-1);return i<=0||E.get(n)===i?!1:(E.set(n,i),F.markChanged(n),!0)}function H(){I||(I=!0,queueMicrotask(()=>{I=!1;let e=P.consumeMinChangedIndex();e!==1/0&&P.rebuildFrom(e);let t=F.consumeMinChangedIndex();t!==1/0&&F.rebuildFrom(t),z()}))}function U(e,t){N||B(e,t)&&H()}function W(e,t){N||V(e,t)&&H()}function G(e,t){if(N)return;let n=!1;for(let{index:t,size:r}of e)B(t,r)&&(n=!0);for(let{index:e,size:r}of t)V(e,r)&&(n=!0);n&&H()}function K(e,t){return N?()=>{}:c(X.signal,t,t=>U(e,t.contentRect.height))}function q(e,t){return N?()=>{}:c(X.signal,t,t=>W(e,t.contentRect.width))}function ee(){N||(T.clear(),E.clear(),P.rebuild(!0),F.rebuild(!0),z())}function te(){N||(P.rebuild(!0),F.rebuild(!0),z())}function ne(e){if(N)return;let t=i(e);if(t===0)return;n+=t,P.setCount(n),P.rebuild(!0);let r=P.startAt(t),a=L(D+r);Z.scrollTo(O,a,`auto`),D=a,z()}function J(e,t={}){if(N||n===0)return;let r=Math.max(0,Math.min(Math.floor(Number.isFinite(e)?e:0),n-1)),i=t.behavior??`auto`,a=P.startAt(r),o=P.sizeAt(r),s=w(a,a+o,o,D,k,t.rowAlign??`auto`);s!==null&&Z.scrollTo(O,L(s),i)}function re(e,t={}){if(N||r===0)return;let n=Math.max(0,Math.min(Math.floor(Number.isFinite(e)?e:0),r-1)),i=t.behavior??`auto`,a=F.startAt(n),o=F.sizeAt(n),s=w(a,a+o,o,O,A,t.colAlign??`auto`);s!==null&&Z.scrollTo(R(s),D,i)}function Y(e,t,i={}){if(N||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=P.startAt(a),l=P.sizeAt(a),u=F.startAt(o),d=F.sizeAt(o),f=w(c,c+l,l,D,k,i.rowAlign??`auto`),p=w(u,u+d,d,O,A,i.colAlign??`auto`);(f!==null||p!==null)&&Z.scrollTo(p===null?O:R(p),f===null?D:L(f),s)}function ie(e){if(N)return;e.rowCount!==void 0&&p(e.rowCount,`rowCount`),e.colCount!==void 0&&p(e.colCount,`colCount`),typeof e.estimateRowSize==`number`&&h(e.estimateRowSize,`estimateRowSize`),typeof e.estimateColSize==`number`&&h(e.estimateColSize,`estimateColSize`),e.rowGap!==void 0&&p(e.rowGap,`rowGap`),e.colGap!==void 0&&p(e.colGap,`colGap`),e.overscanY!==void 0&&g(e.overscanY,`overscanY`),e.overscanX!==void 0&&g(e.overscanX,`overscanX`);let t=!1,i=!1,a=!1;if(Object.hasOwn(e,`onChange`)&&(b=e.onChange),Object.hasOwn(e,`onRangeChange`)&&(x=e.onRangeChange),e.rowCount!==void 0){let r=e.rowCount;r!==n&&(n=r,P.setCount(n),t=!0)}if(e.colCount!==void 0){let t=e.colCount;t!==r&&(r=t,F.setCount(r),i=!0)}if(e.rowGap!==void 0){let n=e.rowGap;n!==P.gap&&(P.setGap(n),t=!0)}if(e.colGap!==void 0){let t=e.colGap;t!==F.gap&&(F.setGap(t),i=!0)}if(`estimateRowSize`in e&&(o=l(e.estimateRowSize,36),T.clear(),t=!0),`estimateColSize`in e&&(u=l(e.estimateColSize,36),E.clear(),i=!0),e.overscanY!==void 0){let t=s(e.overscanY,3);(t.start!==d.start||t.end!==d.end)&&(d=t,a=!0)}if(e.overscanX!==void 0){let t=s(e.overscanX,3);(t.start!==f.start||t.end!==f.end)&&(f=t,a=!0)}Object.hasOwn(e,`keyboardScroll`)&&(y=e.keyboardScroll??!1),t&&P.rebuild(!0),i&&F.rebuild(!0),(t||i||a)&&z()}let X=new AbortController;function ae(){N||(N=!0,X.abort(),Z.detach())}function oe(){D=L(Z.y.readOffset()),O=R(Z.x.readOffset()),z()}function se(){k=Z.y.readViewportSize(),A=Z.x.readViewportSize(),z()}let Z=_(e,oe,se);if(P.rebuild(!0),F.rebuild(!0),k=Z.y.readViewportSize(),A=Z.x.readViewportSize(),t.initialScrollTop===void 0?t.initialScrollLeft!==void 0&&Z.scrollTo(R(t.initialScrollLeft),0,`auto`):Z.scrollTo(t.initialScrollLeft??0,L(t.initialScrollTop),`auto`),D=L(Z.y.readOffset()),O=R(Z.x.readOffset()),z(),y){let a=e=>{if(N||!(e instanceof KeyboardEvent)||n===0||r===0)return;let a=!1,s=D,c=O,l=Math.max(k*.8,k-100),d=(typeof o(0)==`number`?o(0):36)+i(t.rowGap??0),f=(typeof u(0)==`number`?u(0):36)+i(t.colGap??0);switch(e.key){case`ArrowUp`:s=Math.max(0,D-d),a=!0;break;case`ArrowDown`:s=Math.min(P.totalSize-k,D+d),a=!0;break;case`ArrowLeft`:c=Math.max(0,O-f),a=!0;break;case`ArrowRight`:c=Math.min(F.totalSize-A,O+f),a=!0;break;case`PageUp`:s=Math.max(0,D-l),a=!0;break;case`PageDown`:s=Math.min(P.totalSize-k,D+l),a=!0;break;case`Home`:s=0,a=!0;break;case`End`:s=Math.max(0,P.totalSize-k),a=!0}a&&(e.preventDefault(),Z.scrollTo(c,s,`auto`),D=L(s),O=R(c),N||z())};typeof e==`object`&&e&&`addEventListener`in e&&(e.addEventListener(`keydown`,a),X.signal.addEventListener(`abort`,()=>{e.removeEventListener(`keydown`,a)}))}return{get cols(){return M},get disposalSignal(){return X.signal},dispose:ae,get disposed(){return N},invalidate:ee,measureBatch:G,measureColEl:q,measureColumn:W,measureRow:U,measureRowEl:K,prependRows:ne,refresh:te,get rows(){return j},get scrollLeft(){return O},scrollToCell:Y,scrollToColumn:re,get scrollTop(){return D},scrollToRow:J,[Symbol.dispose]:ae,get totalHeight(){return P.totalSize},get totalWidth(){return F.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`&&h(t.estimateHeaderSize,`estimateHeaderSize`),typeof t.estimateItemSize==`number`&&h(t.estimateItemSize,`estimateItemSize`),t.overscan!==void 0&&g(t.overscan),t.scrollEndDelay!==void 0&&m(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)}:l(typeof e==`number`?e:void 0,36)}let a=i(t.estimateHeaderSize),o=typeof t.estimateItemSize==`function`?t.estimateItemSize:null,s=o?null:l(typeof t.estimateItemSize==`number`?t.estimateItemSize:void 0,36),c=t.getItemKey;function u(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=[],_=t.onChange,v=t.onScrollEnd,y=t.onScrollingChange,x=null;t.toSignal&&(x=t.toSignal({headers:[],items:[],stickyHeader:null,totalSize:0}));function S(e){x&&(x.value=e),_?.(e)}function C(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 w=b(e,{count:r.length,estimateSize:u,getItemKey:d,horizontal:t.horizontal,measurementCache:t.measurementCache,onChange:e=>{S(C(e))},onScrollEnd:e=>v?.(e),onScrollingChange:e=>y?.(e),overscan:t.overscan??3,scrollEndDelay:t.scrollEndDelay,sticky:e=>r[e]?.isHeader??!1}),T=new AbortController;function D(){f||(f=!0,T.abort(),w.dispose())}function O(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 w.count},get disposalSignal(){return T.signal},dispose:D,get disposed(){return f},invalidate(){f||w.invalidate()},get isScrolling(){return w.isScrolling},get items(){return p},measure(e,t){f||w.measure(e,t)},measureBatch(e){f||w.measureBatch(e)},measureEl(e,t){return f?()=>{}:w.measureEl(e,t)},refresh(){f||w.refresh()},get scrollOffset(){return w.scrollOffset},scrollToBottom(e){f||w.scrollToBottom(e)},scrollToIndex(e,t){f||w.scrollToIndex(e,t)},scrollToItem(e,t,n={}){if(f)return;let r=O(e,t);r<0||w.scrollToIndex(r,n)},scrollToOffset(e,t){f||w.scrollToOffset(e,t)},scrollToSection(e,t={}){if(f)return;let n=O(e);n<0||w.scrollToIndex(n,t)},scrollToTop(e){f||w.scrollToTop(e)},get stickyItems(){return w.stickyItems},[Symbol.dispose]:D,get totalSize(){return w.totalSize},update(e,t){if(f)return;t&&(typeof t.estimateHeaderSize==`number`&&h(t.estimateHeaderSize,`estimateHeaderSize`),typeof t.estimateItemSize==`number`&&h(t.estimateItemSize,`estimateItemSize`),t.overscan!==void 0&&g(t.overscan),t.scrollEndDelay!==void 0&&m(t.scrollEndDelay,`scrollEndDelay`),Object.hasOwn(t,`onChange`)&&(_=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:l(typeof t.estimateItemSize==`number`?t.estimateItemSize:void 0,36)),t.getItemKey!==void 0&&(c=t.getItemKey)),n=e;let u=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!==u||t?.measurementCache!==void 0||t?.overscan!==void 0||t?.scrollEndDelay!==void 0?w.update(d):w.refresh()}}}return e.DEFAULT_ESTIMATE_SIZE=n,e.DEFAULT_OVERSCAN=r,e.ScrollConfigurationError=d,e.ScrollError=u,e.ScrollRangeError=f,e.createDomVirtualList=S,e.createGridVirtualizer=T,e.createGroupedVirtualizer=D,e.createMeasurementCache=t,e.createVirtualScroller=C,e.createVirtualizer=b,e})({});
|
|
2
2
|
//# sourceMappingURL=scroll.iife.js.map
|