vlist 3.3.1 → 3.3.3
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.github.md +28 -29
- package/README.md +28 -28
- package/dist/index.js +1 -1
- package/dist/size.json +1 -1
- package/dist/synthetic.js +1 -1
- package/dist/utils/apply-scroll-behavior.d.ts +2 -2
- package/dist/version.json +1 -1
- package/package.json +1 -1
package/dist/size.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"base":{"minified":"
|
|
1
|
+
{"base":{"minified":"28.0","gzipped":"10.5","minBytes":28651,"gzBytes":10762},"synthetic":{"minified":"34.9","gzipped":"13.1","minBytes":35712,"gzBytes":13435},"synthetic + carousel":{"minified":"50.0","gzipped":"18.4","minBytes":51244,"gzBytes":18794},"synthetic + sortable":{"minified":"46.8","gzipped":"16.7","minBytes":47902,"gzBytes":17116},"createStats":{"minified":"28.6","gzipped":"10.7","minBytes":29253,"gzBytes":10997},"synthetic + createStats":{"minified":"35.5","gzipped":"13.3","minBytes":36314,"gzBytes":13659},"native":{"minified":"28.0","gzipped":"10.5","minBytes":28651,"gzBytes":10762},"vue":{"minified":"28.4","gzipped":"10.7","minBytes":29041,"gzBytes":10937},"svelte":{"minified":"28.2","gzipped":"10.6","minBytes":28836,"gzBytes":10846},"solid":{"minified":"28.3","gzipped":"10.6","minBytes":28948,"gzBytes":10901},"react":{"minified":"28.4","gzipped":"10.7","minBytes":29088,"gzBytes":10951},"react + grid":{"minified":"35.9","gzipped":"13.3","minBytes":36782,"gzBytes":13637},"a11y":{"minified":"33.4","gzipped":"12.5","minBytes":34158,"gzBytes":12768},"selection":{"minified":"38.8","gzipped":"13.9","minBytes":39725,"gzBytes":14243},"data":{"minified":"41.6","gzipped":"15.3","minBytes":42626,"gzBytes":15679},"scrollbar":{"minified":"36.1","gzipped":"13.4","minBytes":37012,"gzBytes":13736},"sortable":{"minified":"39.9","gzipped":"14.1","minBytes":40837,"gzBytes":14471},"groups":{"minified":"44.4","gzipped":"16.0","minBytes":45506,"gzBytes":16386},"page":{"minified":"30.6","gzipped":"11.5","minBytes":31341,"gzBytes":11731},"snapshots":{"minified":"31.3","gzipped":"11.6","minBytes":32033,"gzBytes":11926},"transition":{"minified":"34.7","gzipped":"12.5","minBytes":35561,"gzBytes":12794},"autosize":{"minified":"32.4","gzipped":"12.1","minBytes":33132,"gzBytes":12396},"grid":{"minified":"35.5","gzipped":"13.1","minBytes":36345,"gzBytes":13449},"table":{"minified":"47.3","gzipped":"16.7","minBytes":48483,"gzBytes":17091},"masonry":{"minified":"40.2","gzipped":"15.0","minBytes":41141,"gzBytes":15313},"tree":{"minified":"44.3","gzipped":"15.9","minBytes":45329,"gzBytes":16317},"search":{"minified":"37.8","gzipped":"13.9","minBytes":38692,"gzBytes":14258},"carousel":{"minified":"44.0","gzipped":"16.0","minBytes":45029,"gzBytes":16394}}
|
package/dist/synthetic.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var At=(e,t,o)=>()=>{if(e)try{t=e(e=0)}catch(l){o=[l]}if(o)throw o[0];return t};var Oe=3,Mt="vlist",nt=16000000,ge=150,Ve=(e)=>e<0.5?2*e*e:1-(-2*e+2)**2/2,wt=300,ke="__placeholder_";function Cn(e,t,o,l,i){if(t===0||e.size===0)return;let r=e.size;if(Be.length<r)Be=new Int32Array(r);if(we.length<r)we.length=r;let s=0;for(let[x,E]of e)Be[s]=x,we[s]=E,s++;e.clear();let d=o+"-item-",h=l.getAttribute("aria-activedescendant"),P=null,p=i&&t&1;for(let x=0;x<r;x++){let E=Be[x],b=we[x];we[x]=void 0;let _=E-t;if(e.set(_,b),h!==null&&b.id===h)P=b;if(b.id===d+E)b.id=d+_;if(p)b.classList.toggle(i)}if(P!==null)l.setAttribute("aria-activedescendant",P.id)}function Pn(e,t,o){if(t===0&&o===0)return;e.prevRangeStart-=t,e.prevRangeEnd-=t,e.startIndex-=t,e.prevBaseOffset-=o;let l=e.visibleCount;for(let i=0;i<l;i++)e.visibleIndices[i]-=t,e.visibleOffsets[i]-=o}function Yt(e,t){let o=t>1?Math.trunc(e):Math.floor(e);return Math.abs(o)<t?0:o}function Zt(e,t,o,l,i,r,s){let d=e.lapSize(),h=e.itemsPerLap(),P=d>0?Math.round(t/d)*h:0;if(P===0)return;if(i)Cn(i,P,r,l,s);Pn(o,P,t)}var Be,we;var jt=At(()=>{Be=new Int32Array(0),we=[]});function tn({getMax:e,onChange:t=()=>{},onFinish:o,axis:l="y",reducedMotion:i}){let r=0,s=0,d=null,h=0,P=0,p=0,x=0,E=0,b=null,_=0,A=0,w=0,S=0,B=400,v=Jt,M=()=>w,W=0.006,c=(y)=>{let I=e();return Number.isFinite(I)?Math.max(0,Math.min(I,y)):y},g=(y,I)=>l==="y"?I:y,z=(y,I)=>l==="y"?y:I;function C(y){let I=c(y);if(I!==r)r=I,t(r);return I!==y}function f(){E=0,s=d===null?0:5}function D(y){f(),C(y)}return{get position(){return r},get state(){return s},get velocity(){return E},get active(){return s===3||s===4},begin(y,I,N,k){if(d!==null){f();return}f(),d=y,h=p=g(I,N),P=z(I,N),x=k,s=1},move(y,I,N,k){if(y!==d||s!==1&&s!==2)return!1;let G=g(I,N);if(s===1){let O=Math.abs(G-h),R=Math.abs(z(I,N)-P);if(Math.max(O,R)<6)return!1;if(R>O*1.2)return f(),!1;if(O<R*1.2)return!1;s=2}let ne=p-G,T=k-x;if(T>0){let O=Math.max(-3,Math.min(3,ne/T));E=T>80?0:O*E<0?O:0.65*O+0.35*E}if(p=G,x=k,C(r+ne))E=0;return!0},end(y,I){if(y!==d)return;if(d=null,s===2&&!i()&&I-x<=80&&Math.abs(E)>=0.02)b=null,s=3;else E=0,s=0},cancel:f,reset(){d=null,f()},jump:D,shiftBy(y){A+=y,S+=y,C(r+y)},by(y){f();let I=r;return C(r+y),r!==I},smooth(y,I=400,N=Jt){if(f(),S=0,M=typeof y==="function"?y:()=>y,d!==null||i()||I<=0){C(M());return}B=I,v=N,A=r,w=c(M()+S),b=null,s=4},resize(){f(),C(r)},tick(y){if(s!==3&&s!==4)return;if(b===null){if(b=y,s===4)_=y;return}let I=y-b;if(I<=0)return;if(b=y,I>100){if(s===4)C(c(M()+S)),s=0,o?.();else f();return}if(s===4){w=c(M()+S);let G=Math.min(1,(y-_)/B);if(C(A+(w-A)*v(G)),G===1)s=0,o?.();return}let N=Math.exp(-W*I),k=C(r+E*(1-N)/W);if(E*=N,k||Math.abs(E)<0.02)E=0,s=0}}}var Qt=1,en=2,Jt=(e)=>1-(1-e)**3;function at(e){if(e.closest("textarea,select,[contenteditable]:not([contenteditable=false])"))return!0;let t=e.closest("input");return!!t&&!/^(button|submit|reset|checkbox|radio|image)$/.test(t.type)}function nn(e){let{state:t,viewport:o,content:l,isX:i,onFrame:r,onIdle:s,mainAxisPadding:d,wrap:h}=e,P=o.parentElement??o,p=o.ownerDocument.defaultView,x=o.ownerDocument,E=p.matchMedia("(prefers-reduced-motion: reduce)"),b=0,_=null,A=null,w=!1,S=!1,B=!1,v=-1,M=-1,W=null,c=null,g=!1,z=!1,C=!1,f=!1,D,y=new Set;function I(a){let H=t.scrollPosition;if(h){let K=h.lapSize(),F=K>0?Yt((a-h.home())/K,h.thresholdLaps):0;if(F!==0){let Y=F*K;B=!0,T.shiftBy(-Y),B=!1,a=T.position,H-=Y,Zt(h,Y,t,l,e.rendered,e.classPrefix??"",e.oddClass),e.onFold?.(Y),h.onFold?.(Y)}}if(t.prevScrollPosition=H,t.scrollPosition=t.baseOffset=a,t.scrollDirection=a>H?1:a<H?-1:0,!S)r()}function N(){if(A=null,T.active||T.state===en||T.state===Qt)return;t.scrollDirection=0,s()}function k(){if(!w)return;if(A!==null)clearTimeout(A);A=setTimeout(N,e.idleTimeout||ge)}function G(){if(w&&_===null&&T.active)_=requestAnimationFrame(ne)}function ne(a){if(_=null,T.tick(a),T.active)G();else k()}let T=tn({axis:i?"x":"y",getMax:()=>h?1/0:b,reducedMotion:()=>E.matches,onChange(a){if(!B)I(a)},onFinish(){let a=D;D=void 0,a?.()}});function O(){if(D=void 0,_!==null)cancelAnimationFrame(_),_=null;if(T.cancel(),A!==null)clearTimeout(A),A=null}function R(){if(O(),T.reset(),f&&W!==null&&o.hasPointerCapture(W))o.releasePointerCapture(W);f=!1,y.clear(),W=c=null,g=z=C=!1,k()}function fe(a){if(!Ke(a))return;if(a.isPrimary){if(y.size)R();y.clear()}if(y.add(a.pointerId),y.size>1){C=!0,O();return}if(!(a.target instanceof Element)||at(a.target)){O();return}W=a.pointerId,g=!1,z=T.active,c=null,O(),T.begin(a.pointerId,a.clientX,a.clientY,a.timeStamp)}function ce(a){if(!Ke(a)||a.target instanceof Node&&o.contains(a.target))return;if(a.isPrimary&&y.size)R();else if(y.size)y.add(a.pointerId),C=!0,O()}function Se(a){if(!Ke(a)||C)return;if(T.move(a.pointerId,a.clientX,a.clientY,a.timeStamp)){if(g=!0,!f)o.setPointerCapture(a.pointerId),f=!0;if(a.cancelable)a.preventDefault()}}function ue(a){if(!Ke(a)||!y.has(a.pointerId))return;let H=a.type==="pointercancel";if(H)O();if(W===a.pointerId){if(!H&&!C&&(g||z))c=a.pointerId;if(f&&o.hasPointerCapture(a.pointerId))o.releasePointerCapture(a.pointerId);f=!1,W=null,g=z=!1}if(T.end(a.pointerId,a.timeStamp),y.delete(a.pointerId),!y.size){if(C||H)T.reset();C=!1}G(),k()}function J(a){let H=a.pointerId;if(a.detail!==0&&c!==null&&(H===c||H===void 0))c=null,a.preventDefault(),a.stopImmediatePropagation()}function ee(a){if(a.ctrlKey||a.defaultPrevented||!(a.target instanceof Element)||at(a.target))return;let H=a.deltaMode===1?16:a.deltaMode===2?t.containerSize:1,K=i?a.deltaX:a.deltaY,F=i?a.deltaY:a.deltaX,Y=i?o.scrollHeight>o.clientHeight:o.scrollWidth>o.clientWidth;if(Y&&Math.abs(F)>Math.abs(K))return;if(Y&&F!==0)if(a.preventDefault(),i)o.scrollTop+=F*H;else o.scrollLeft+=F*H;let Ee=i&&!Y&&K===0?F:K;if(O(),T.by(Ee*H))a.preventDefault();k()}function ye(a){if(a.defaultPrevented||a.ctrlKey||a.metaKey||a.altKey||!(a.target instanceof Element)||at(a.target))return;if((a.key===" "||a.key==="Enter")&&a.target.closest("button,summary,a,input"))return;let H=e.sizeCache,K=H.getSize(H.indexAtOffset(T.position)),F;if(a.key===(i?"ArrowRight":"ArrowDown"))F=T.position+K;if(a.key===(i?"ArrowLeft":"ArrowUp"))F=T.position-K;if(a.key==="PageDown"||a.key===" ")F=T.position+t.containerSize*(a.shiftKey&&a.key===" "?-1:1);if(a.key==="PageUp")F=T.position-t.containerSize;if(a.key==="Home")F=0;if(a.key==="End")F=b;if(F!==void 0)a.preventDefault(),re(F)}function pe(){if(x.hidden)R()}function re(a){let H=T.position;if(O(),T.jump(a),H===(h?a:Math.max(0,Math.min(b,a))))I(T.position);k()}function xe(a){let H=v!==t.containerSize||M!==t.crossSize,K=a!==t.totalSize||H;if(v=t.containerSize,M=t.crossSize,t.totalSize=a,b=Math.max(0,a+d-t.containerSize),K){if(S=!0,H)O(),T.resize();else T.shiftBy(0);I(T.position),S=!1}}return{setLogical:re,refresh:xe,shiftBy(a){if(t.totalSize=e.sizeCache.getTotalSize(),b=Math.max(0,t.totalSize+d-t.containerSize),T.shiftBy(a),!T.active)k()},cancelScroll(){O(),k()},getLogical:()=>t.scrollPosition,getMaxLogical:()=>b,smoothScrollTo(a,H,K,F=Ve,Y){if(O(),T.smooth(a,H,F),D=Y,!T.active)D=void 0,Y?.(),k();else G()},attach(){if(w)return;if(w=!0,o.style.overflowX=i?"hidden":"auto",o.style.overflowY=i?"auto":"hidden",o.style.touchAction=i?"pan-y pinch-zoom":"pan-x pinch-zoom",o.style.overflowAnchor="none",l.style[i?"width":"height"]="100%",l.style.overflow="clip",l.style.overflowAnchor="none",o.addEventListener("pointerdown",fe),p.addEventListener("pointerdown",ce),o.addEventListener("pointermove",Se,{passive:!1}),p.addEventListener("pointerup",ue),p.addEventListener("pointercancel",ue),o.addEventListener("click",J,!0),e.wheelEnabled)o.addEventListener("wheel",ee,{passive:!1});P.addEventListener("keydown",ye),p.addEventListener("blur",R),x.addEventListener("visibilitychange",pe),E.addEventListener("change",R),G()},detach(){if(w=!1,R(),A!==null)clearTimeout(A),A=null;o.removeEventListener("pointerdown",fe),p.removeEventListener("pointerdown",ce),o.removeEventListener("pointermove",Se),p.removeEventListener("pointerup",ue),p.removeEventListener("pointercancel",ue),o.removeEventListener("click",J,!0),o.removeEventListener("wheel",ee),P.removeEventListener("keydown",ye),p.removeEventListener("blur",R),x.removeEventListener("visibilitychange",pe),E.removeEventListener("change",R),o.style.overflowX=o.style.overflowY=o.style.touchAction=o.style.overflowAnchor="",l.style.overflow=l.style.overflowAnchor=""}}}var Ke=(e)=>e.pointerType==="touch"||e.pointerType==="pen";var on=At(()=>{jt()});function zt(e){let{state:t,viewport:o,isX:l,onFrame:i,onIdle:r}=e,s=e.idleTimeout||ge,d=null,h=null;function P(b=l?o.scrollLeft:o.scrollTop){t.prevScrollPosition=t.scrollPosition,t.scrollPosition=b,t.scrollDirection=b>t.prevScrollPosition?1:b<t.prevScrollPosition?-1:0,i(),p()}function p(){if(d!==null)clearTimeout(d);d=setTimeout(()=>{d=null,t.scrollDirection=0,r()},s)}function x(){if(h!==null)cancelAnimationFrame(h),h=null}function E(b,_,A,w=Ve,S){x();let B=t.scrollPosition,v=typeof b==="function"?b:()=>b,M=v();if(Math.abs(M-B)<1){if(A)A(M);else if(l)o.scrollLeft=M;else o.scrollTop=M;S?.();return}let W=performance.now();function c(g){M=v();let z=g-W,C=Math.min(z/_,1),f=B+(M-B)*w(C);if(A)A(f);else{if(l)o.scrollLeft=f;else o.scrollTop=f;let D=l?o.scrollLeft:o.scrollTop;P(Math.abs(D-f)>1?D:f)}if(C<1)h=requestAnimationFrame(c);else h=null,S?.()}h=requestAnimationFrame(c)}return{attach(){},detach(){if(x(),d!==null)clearTimeout(d),d=null},cancelScroll:x,smoothScrollTo:E,commitScroll:P}}var Fe={top:0,right:0,bottom:0,left:0},_t=(e)=>{if(e==null)return Fe;if(typeof e==="number")return e===0?Fe:{top:e,right:e,bottom:e,left:e};if(e.length===2){let[r,s]=e;return r===0&&s===0?Fe:{top:r,right:s,bottom:r,left:s}}let[t,o,l,i]=e;return t===0&&o===0&&l===0&&i===0?Fe:{top:t,right:o,bottom:l,left:i}},Rt=(e,t)=>t?e.left+e.right:e.top+e.bottom,Ht=(e,t)=>t?e.top+e.bottom:e.left+e.right;function Ot(e){let t={visibleIndices:new Int32Array(e),visibleOffsets:new Float64Array(e),visibleSizes:new Float64Array(e),visibleCount:0,startIndex:0,totalSize:0,capacity:e,scrollPosition:0,prevScrollPosition:0,scrollDirection:0,baseOffset:0,prevBaseOffset:0,containerSize:0,crossSize:0,totalItems:0,prevRangeStart:0,prevRangeEnd:-1,renderPending:!1,initialized:!1,destroyed:!1,windowClamped:!1,windowClampReported:!1,prevAriaTotal:-1,ensureCapacity(o){if(o<=t.capacity)return;let l=o+8,i=new Int32Array(l),r=new Float64Array(l),s=new Float64Array(l);i.set(t.visibleIndices),r.set(t.visibleOffsets),s.set(t.visibleSizes),t.visibleIndices=i,t.visibleOffsets=r,t.visibleSizes=s,t.capacity=l},resizeCapacity(o,l,i=Oe){if(l<=0||o<=0)return;t.ensureCapacity(Math.ceil(o/l)+i*2)},clear(){t.visibleCount=0,t.startIndex=0}};return t}var cn=(e,t,o)=>{let l=t;return{getOffset:(i)=>i*e,getSize:(i)=>e,indexAtOffset:(i)=>{if(l===0||e===0)return 0;return Math.max(0,Math.min(Math.floor(i/e),l-1))},getTotalSize:()=>{let i=l*e;return i>0?i-o:0},getTotal:()=>l,rebuild:(i)=>{l=i},invalidate:()=>{},isVariable:()=>!1}};var Vt=(e,t,o,l)=>{while(t<o){let i=t+o+1>>>1;if(e[i]<=l)t=i;else o=i-1}return t},un=(e,t,o)=>{let l=0,i=0,r=new Float64Array(0),s=new Float64Array(0),d=new Float64Array(1),h=(p,x)=>{for(let E=p;E<i;E++){if(E<=x){let b=E<<9,_=Math.min(b+512,l),A=0;for(let w=b;w<_;w++)r[w]=A,A+=e(w);s[E]=A}d[E+1]=d[E]+s[E]}},P=(p)=>{l=p,i=Math.ceil(p/512),r=new Float64Array(p),s=new Float64Array(i),d=new Float64Array(i+1),h(0,i-1)};return P(t),{getOffset:(p)=>{if(p<=0)return 0;if(p>=l)return d[i];return d[p>>>9]+r[p]},getSize:(p)=>e(p),indexAtOffset:(p)=>{if(l===0||p<=0)return 0;if(p>=d[i])return l-1;let x=Vt(d,0,i-1,p),E=x<<9;return Vt(r,E,Math.min(E+512,l)-1,p-d[x])},getTotalSize:()=>{let p=d[i];return p>0?p-o:0},getTotal:()=>l,rebuild:(p)=>P(p),invalidate:(p,x=p)=>{if(p>=0&&x<l)h(p>>>9,x>>>9)},isVariable:()=>!0}},De=(e,t,o=0)=>{if(typeof e==="number")return cn(e,t,o);return un(e,t,o)};function kt(e){let t=[],o=`${e}-item`,l=document.createElement("div");return l.className=o,{acquire(){if(t.length>0)return t.pop();return l.cloneNode(!1)},release(i){i.className=o,i.removeAttribute("style"),i.removeAttribute("id"),i.removeAttribute("role"),i.removeAttribute("aria-selected"),i.removeAttribute("aria-posinset"),i.removeAttribute("aria-setsize"),i.removeAttribute("data-index"),i.removeAttribute("data-id"),i.textContent="",t.push(i)},get size(){return t.length},trim(i){let r=i>0?i:0;if(t.length>r)t.length=r},clear(){t.length=0}}}function ot(e){let t=e.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let o=0;o<t.length;o++)t[o].setAttribute("tabindex","-1");e._stamp=0}function rt(e){if(typeof e==="string"){let t=document.querySelector(e);if(!t)throw Error(`[vlist] Container not found: ${e}`);return t}return e}function Ft(e,t,o,l){let i=o?`${t} ${t}--horizontal`:t,r=o?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",s=o?"position:relative;height:100%;overflow-anchor:none":"position:relative;width:100%;overflow-anchor:none",d=' role="list"';if(l)d+=` aria-label="${l.replace(/"/g,""")}"`;if(o)d+=' aria-orientation="horizontal"';e.insertAdjacentHTML("beforeend",`<div class="${i}"><div class="${t}-viewport" style="${r}" tabindex="-1"><div class="${t}-content" style="${s}"${d}></div></div></div>`);let h=e.lastElementChild,P=h.firstElementChild,p=P.firstElementChild,x=document.createElement("div");return x.className=`${t}-live`,x.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",x.setAttribute("aria-live","polite"),x.setAttribute("aria-atomic","true"),x.setAttribute("role","status"),h.appendChild(x),{root:h,viewport:P,content:p,liveRegion:x}}function dn(e,t){if(e.getTotal()<=0)return{index:0,offsetPx:0};let l=t<=0?0:t,i=e.indexAtOffset(l),r=l-e.getOffset(i);return{index:i,offsetPx:r>0?r:0}}function mn(e,t){let o=fn(e,t);return e.getOffset(o.index)+o.offsetPx}function fn(e,t){let o=e.getTotal();if(o<=0)return{index:0,offsetPx:0};let{index:l,offsetPx:i}=t;if(l<0)return{index:0,offsetPx:0};if(l>o-1)l=o-1;while(i>0&&l<o-1){let r=e.getSize(l);if(i<r)break;i-=r,l++}while(i<0&&l>0)l--,i+=e.getSize(l);if(i<0)i=0;return{index:l,offsetPx:i}}function Dt(e){let{sizeCache:t,getPixel:o,setPixel:l,getContainerSize:i}=e;function r(){let d=t.getTotalSize()+e.padding-i();return d>0?d:0}function s(d){if(d<=0)return 0;let h=r();return d>h?h:d}return{getLogical(){return dn(t,o())},setLogical(d){l(s(mn(t,d)))},getPixelEquivalent(){return o()},setPixelEquivalent(d){l(s(d))},getMaxPixelEquivalent:r,getRenderOrigin:e.getRenderOrigin,scrollByPx(d){l(s(o()+d))}}}var Ae=[],pn={calculate:Ae,commit:Ae,afterScroll:Ae,idle:Ae,resize:Ae};function Nt(e){if(e.length===0)return pn;let t=[],o=[],l=[],i=[],r=[];for(let s=0;s<e.length;s++){let d=e[s].hooks;if(d===void 0)continue;if(d.onCalculate!==void 0)t.push(d.onCalculate);if(d.onCommit!==void 0)o.push(d.onCommit);if(d.onAfterScroll!==void 0)l.push(d.onAfterScroll);if(d.onIdle!==void 0)i.push(d.onIdle);if(d.onResize!==void 0)r.push(d.onResize)}return{calculate:t,commit:o,afterScroll:l,idle:i,resize:r}}function Bt(e,t){for(let o=0;o<e.length;o++)e[o](t)}function Me(e,t){for(let o=0;o<e.length;o++)e[o](t)}function it(e,t,o){for(let l=0;l<e.length;l++)e[l](t,o)}function Kt(e){for(let t=0;t<e.length;t++)e[t]()}function $t(e,t,o){for(let l=0;l<e.length;l++)e[l](t,o)}function Wt(e,t,o,l,i,r,s,d){let h=l!==0||i!==0;return{prefix:e,selectedClass:`${e}-item--selected`,focusedClass:`${e}-item--focused`,placeholderClass:`${e}-item--placeholder`,replacedClass:`${e}-item--replaced`,translateProp:t?"translateX(":"translateY(",sizeProp:t?"width":"height",itemRole:"listitem",interactive:!1,startPadding:o,gap:s,hasCrossPad:h,crossStartProp:h?t?"top":"left":"",crossEndProp:h?t?"bottom":"right":"",crossStartVal:h?l+"px":"",crossEndVal:h?i+"px":"",oddClass:r,emitter:d??null,indexMap:null,ariaTotalFn:null}}function bn(e,t,o,l,i){if(e.containerSize<=0||e.totalItems===0)return e.clear(),!0;let{scrollPosition:r,containerSize:s,totalItems:d}=e,h=i??0;e.totalSize=t.getTotalSize();let P=t.indexAtOffset(h>0?Math.max(0,r-h):r),p=t.indexAtOffset(r+s);if(p<d-1)p++;P=Math.max(0,P),p=Math.min(d-1,Math.max(0,p));let x=Math.max(0,P-o),E=Math.min(d-1,p+o),b=Math.ceil(s)+o*2;if(E-x+1>b)E=x+b-1,e.windowClamped=!0;let _=E-x+1;if(_>e.capacity)e.ensureCapacity(_);let A=Math.min(_,e.capacity);if(x===e.prevRangeStart&&E===e.prevRangeEnd&&!e.renderPending&&e.baseOffset===e.prevBaseOffset)return!1;e.visibleCount=A,e.startIndex=x;for(let w=0;w<A;w++){let S=x+w;e.visibleIndices[w]=S,e.visibleOffsets[w]=t.getOffset(S),e.visibleSizes[w]=t.getSize(S)}return Bt(l.calculate,e),e.prevRangeStart=x,e.prevRangeEnd=E,e.prevBaseOffset=e.baseOffset,e.renderPending=!1,!0}var X={selected:!1,focused:!1};function vn(e,t,o){for(let l=0;l<t;l++)if(e[l]===o)return!0;return!1}function gn(e,t){if(t<=1)return!0;let o=e[0];for(let l=1;l<t;l++){let i=e[l];if(i!==o+1)return!1;o=i}return!0}function hn(e,t,o,l,i,r,s,d,h,P){let p=h?null:i(),{visibleCount:x,visibleIndices:E}=e,b=s.ariaTotalFn?s.ariaTotalFn():e.totalItems,_=s.interactive?String(b):"",A=s.interactive&&b!==e.prevAriaTotal,w=null,S=s.indexMap;for(let B=0;B<x;B++){let v=E[B],M=S?S(v):v,W=e.visibleOffsets[B],c=e.visibleSizes[B],g=h?h(v):p[v];if(P)P(M,X);else X.selected=!1,X.focused=!1;let z=r.get(v),C=z;if(z===void 0){let f=t.acquire();if(g!==void 0){let I;try{I=l(g,M,X)}catch(N){if(s.emitter)s.emitter.emit("error",{error:N instanceof Error?N:Error(String(N)),context:`template:render:${M}`});t.release(f);continue}if(typeof I==="string")f.innerHTML=I;else f.textContent="",f.appendChild(I);ot(f)}if(f.setAttribute("role",s.itemRole),f.setAttribute("data-index",String(M)),s.interactive)f.id=s.prefix+"-item-"+v,f.setAttribute("aria-posinset",String(M+1)),f.setAttribute("aria-setsize",_);if(g!==void 0){let I=String(g.id);if(f.setAttribute("data-id",I),I.startsWith(ke))f.classList.add(s.placeholderClass)}if(s.hasCrossPad)f.style.setProperty(s.crossStartProp,s.crossStartVal),f.style.setProperty(s.crossEndProp,s.crossEndVal);if(P){if(f.classList.toggle(s.selectedClass,X.selected),f.classList.toggle(s.focusedClass,X.focused),X.selected)f.setAttribute("aria-selected","true");else f.removeAttribute("aria-selected");f._lastSelected=X.selected,f._lastFocused=X.focused}if(s.oddClass)f.classList.toggle(s.oddClass,(v&1)===1);let D=W-e.baseOffset+s.startPadding;f.style.transform=s.translateProp+D+"px)",f._lastOffset=D;let y=c-s.gap;if(f.style[s.sizeProp]=y+"px",f._lastSize=y,f._lastItem=g,r.set(v,f),w===null)w=document.createDocumentFragment();w.appendChild(f)}else{if(A)z.setAttribute("aria-setsize",_);if(g!==void 0&&C._lastItem!==g){let y=z.getAttribute("data-id"),I=String(g.id),N;try{N=l(g,M,X)}catch(k){if(s.emitter)s.emitter.emit("error",{error:k instanceof Error?k:Error(String(k)),context:`template:render:${M}`});continue}if(typeof N==="string")z.innerHTML=N;else z.textContent="",z.appendChild(N);if(ot(z),z.setAttribute("data-id",I),C._lastItem=g,y!==I){let k=y!==null&&y.startsWith(ke),G=I.startsWith(ke);if(k!==G)z.classList.toggle(s.placeholderClass,G);if(k&&!G)z.classList.add(s.replacedClass),setTimeout(()=>{z.classList.remove(s.replacedClass)},300)}}if(P){if(C._lastSelected!==X.selected){if(z.classList.toggle(s.selectedClass,X.selected),X.selected)z.setAttribute("aria-selected","true");else z.removeAttribute("aria-selected");C._lastSelected=X.selected}if(C._lastFocused!==X.focused)z.classList.toggle(s.focusedClass,X.focused),C._lastFocused=X.focused}let f=W-e.baseOffset+s.startPadding;if(C._lastOffset!==f)z.style.transform=s.translateProp+f+"px)",C._lastOffset=f;let D=c-s.gap;if(C._lastSize!==D)z.style[s.sizeProp]=D+"px",C._lastSize=D}}if(w!==null)o.appendChild(w);if(x>0&&gn(E,x)){let B=E[0],v=E[x-1];for(let[M,W]of r)if(M<B||M>v)W.remove(),t.release(W),r.delete(M)}else for(let[B,v]of r)if(!vn(E,x,B))v.remove(),t.release(v),r.delete(B);if(s.interactive)e.prevAriaTotal=e.totalItems;Me(d.commit,e)}function lt(e,t,o,l,i,r,s,d,h,P,p,x){let E=bn(e,t,o,P,h.startPadding);if(e.windowClamped&&!e.windowClampReported)e.windowClampReported=!0,queueMicrotask(()=>{if(e.destroyed)return;h.emitter?.emit("error",{error:Error("[vlist] render window capped to the viewport: the item size spec reports sizes below 1px"),context:"render:window-ceiling"})});if(E)hn(e,l,i,r,s,d,h,P,p,x)}var st=()=>{let e={},t=(r,s)=>{if(!e[r])e[r]=new Set;return e[r].add(s),()=>o(r,s)},o=(r,s)=>{e[r]?.delete(s)};return{on:t,off:o,emit:(r,s)=>{e[r]?.forEach((d)=>{try{d(s)}catch(h){}})},clear:(r)=>{if(r)delete e[r];else for(let s in e)delete e[s]}}};var Gt=2,Ut=(e=0)=>({velocity:0,sampleCount:0}),qt=(e,t)=>{let o=performance.now(),l=e._lt??o,i=e._lp??t,r=o-l;if(e._lp=t,e._lt=o,r===0)return e.sampleCount=Math.min(e.sampleCount+1,5),e;if(r>100)return e.velocity=0,e.sampleCount=1,e;return e.velocity=Math.abs(t-i)/r,e.sampleCount=Math.min(e.sampleCount+1,5),e};function he(e,t,o=!1){if(t===void 0)return;if(typeof t!=="number"||!Number.isFinite(t)||t<0||t===0&&!o)throw Error(`vlist: ${e} must be a ${o?"non-negative":"positive"} number, got ${t}`)}function Sn(e){let{item:t}=e;if(typeof t.height==="number")he("item.height",t.height);if(typeof t.width==="number")he("item.width",t.width);he("item.estimatedHeight",t.estimatedHeight),he("item.estimatedWidth",t.estimatedWidth),he("item.gap",t.gap,!0),he("overscan",e.overscan,!0);let o=e.scroll;if(o?.runway!==void 0||!/^(auto|native|synthetic)?$/.test(o?.mode??""))throw Error('vlist: scroll.mode is "auto", "native" or "synthetic" (bounded mode and scroll.runway were removed in 3.0)')}function yn(e,t){let o=e==="horizontal"?"x":"y";if(t.some((i)=>i.name==="grid"))return{primary:o,cross:o==="x"?"y":"x"};return{primary:o}}function xn(e,t,o){let l=yn(e.orientation,t),i=l.primary==="x",r=_t(e.padding);return{axis:l,hasCrossAxis:l.cross!==void 0,overscan:e.overscan??Oe,reverse:e.reverse??!1,classPrefix:e.classPrefix??Mt,mainAxisPadding:Rt(r,i),crossAxisPadding:Ht(r,i),startPadding:i?r.left:r.top,endPadding:i?r.right:r.bottom,crossPadStart:i?r.top:r.left,crossPadEnd:i?r.bottom:r.right,striped:e.item.striped||!1,gap:e.item.gap??0,scrollMode:o}}function En(e,t){if(t)return e.item.width??e.item.estimatedWidth??100;return e.item.height??e.item.estimatedHeight??40}function In(e){let t=[...e];return t.sort((o,l)=>(o.priority??50)-(l.priority??50)),t}function Ln(e){let t=new Set;for(let o of e){if(t.has(o.name))throw Error(`[vlist] Duplicate plugin: ${o.name}`);t.add(o.name)}for(let o of e)if(o.conflicts){for(let l of o.conflicts)if(t.has(l))throw Error(`[vlist] Plugin "${o.name}" conflicts with "${l}"`)}}function Tn(e,t){for(let o of e)o.validateConfig?.(t)}var Ne=null;function Xt(e,t=[],o,l){Sn(e);let i=o?"synthetic":e.scroll?.mode??"auto";if(i==="synthetic"&&e.scroll?.scrollbar==="native")throw Error('vlist: scroll.scrollbar "native" needs native scrolling');if(e.orientation==="horizontal"&&getComputedStyle(rt(e.container)).direction==="rtl")throw Error("vlist: horizontal RTL lists are not supported; use a vertical list, or an LTR container");let r=xn(e,t,i),s=r.axis.primary==="x",d=En(e,s),h=r.gap,P=h>0?typeof d==="function"?(u)=>d(u)+h:d+h:d,p=typeof d==="number"?d:20,x=e.items?.length??0,E=r.striped?`${r.classPrefix}-item--odd`:"",b=st(),_=Wt(r.classPrefix,s,r.startPadding,r.crossPadStart,r.crossPadEnd,E,h,b),A=t.length>0?In(t):t;if(t.length>0)Ln(A),Tn(A,r);let w=rt(e.container),S=Ft(w,r.classPrefix,s,e.ariaLabel);if(e.scroll?.scrollbar==="none")S.viewport.classList.add(`${r.classPrefix}-viewport--no-scrollbar`);if(e.scroll?.gutter==="stable")S.viewport.classList.add(`${r.classPrefix}-viewport--gutter-stable`);let v=De(P,x,h),M=kt(r.classPrefix),W=Math.ceil(4096/p)+r.overscan*2+8,c=Ot(W);c.totalItems=x;let g=e.items?[...e.items]:[],z=()=>g,C=new Map,f=Ut(),D={velocity:0,reliable:!1},y={range:{start:0,end:-1}},I={scrollPosition:0,direction:"down"},N={scrollPosition:0},k=-1,G=-1,ne=-1,T=null,O=Nt(A),R=new Map,fe=[],ce=[],Se=[],ue=(u)=>{let n=(m)=>{u.push(m instanceof Error?m:Error(String(m)))};for(let m of Se)try{m()}catch(L){n(L)}for(let m of A)if(m.destroy)try{m.destroy()}catch(L){n(L)}},J=null,ee=null,ye,pe,re=null,xe=null,a=null,H=null,K=null,F=null,Y=null,Ee=null,de=!1,ct=!1,Ie=null,ut=0,dt=0,mt=null,ft=null,pt=null,bt=null,$e=null,We=null,ze=null,j=null,_e=null,U=null,vt=(u)=>U.setLogical(u),Ge=!1,be=!1,Ue=null,ve=null,Le=null,gt=null;c.containerSize=s?S.viewport.clientWidth:S.viewport.clientHeight,c.crossSize=s?S.viewport.clientHeight:S.viewport.clientWidth;function le(u){if(ee)ee(u);else{if(s)S.viewport.scrollLeft=u;else S.viewport.scrollTop=u;if(pe?.(),be&&Math.abs(c.scrollPosition-u)>1)Ue=u}}let qe=Dt({sizeCache:v,getPixel:()=>c.scrollPosition,setPixel:le,getRenderOrigin:()=>c.baseOffset,getContainerSize:()=>c.containerSize,padding:r.mainAxisPadding});if(t.length>0){let u={pool:M,config:r,emitter:b,template:e.item.template,getState(){return c},dom:{...S,renderedElement(n){let m=R.get("_getRenderedElement");if(m)return m(n);return C.get(n)??null},enableListbox(){let n=S.content.getAttribute("role");if(!n||n==="list")S.content.setAttribute("role","listbox"),S.content.setAttribute("tabindex","0");_.itemRole="option",_.interactive=!0}},scroll:{...qe,to:le,shiftBy(n){if(U?.shiftBy)U.shiftBy(n);else u.scroll.to(c.scrollPosition+n)},smoothTo(n,m,L,V){if(j)j.smoothScrollTo(n,m,ee??void 0,L,V);else u.scroll.to(typeof n==="function"?n():n)},cancel(){j?.cancelScroll()},commit(n){pe(n)},setSource(n){ee=n.write,ye=n.onContentSize,de=!0},setTarget(n){Ie=n},setWrap(n,m){Le=n,gt=m},setBoundedWrap(n,m){u.scroll.setWrap(n,m)},setToPosFn(n){$e=n},setToIndexFn(n){We=n},onFrame:je,onIdle:Re,disableResize(){ct=!0}},items:{all:z,at(n){return a?a(n):g[n]},removeById(n){if(K)return K(n);let m=g.findIndex((L)=>L.id===n);if(m===-1)return-1;return g.splice(m,1),c.totalItems=g.length,v.rebuild(c.totalItems),te(),m},insertAt(n,m){if(F){F(n,m);return}g.splice(m,0,n),c.totalItems=g.length,v.rebuild(c.totalItems),te()},setGetFn(n){a=n},setRemoveFn(n){K=n},setInsertFn(n){F=n},setUpdateFn(n){Y=n},setIndexByIdFn(n){Ee=n},setTotalFn(n){J=n,_.ariaTotalFn=n},setIndexMapFn(n){_.indexMap=n}},sizes:{cache:v,get rawSpec(){return d},setConfig(n,m=0){let L=De(n,c.totalItems,m),V=R.get("_setSizeCacheBase");if(V){let q=v.rebuild;Object.assign(v,L),v.rebuild=q,V(L.rebuild)}else Object.assign(v,L)},rebuild(){v.rebuild(c.totalItems)}},render:{force(){oe()},ifNeeded(){Te()},contentSize:Ze,setFn(n,m){re=()=>{let{prevRangeStart:L,prevRangeEnd:V}=c;if(n(),c.prevRangeStart!==L||c.prevRangeEnd!==V)Me(O.commit,c)},xe=()=>{m(),Me(O.commit,c)}},setStateFn(n){H=n},getStateFn(){return H}},hooks:{method(n,m){if(!n.startsWith("_")&&R.has(n))throw Error(`[vlist] duplicate method "${n}"; rename it or use a set*Fn hook`);R.set(n,m)},get(n){return R.get(n)},onClick(n){fe.push(n)},onKeydown(n){ce.push(n)},onDestroy(n){Se.push(n)}},nav:{set(n){if(n.ud!==void 0)ut=n.ud;if(n.lr!==void 0)dt=n.lr;if(n.scrollIndex)mt=n.scrollIndex;if(n.navigate)ft=n.navigate;if(n.total)pt=n.total;if(n.reveal)bt=n.reveal},get:(()=>{let n={ud:0,lr:0,scrollIndex:null,navigate:null,total:null,reveal:null};return()=>(n.ud=ut,n.lr=dt,n.scrollIndex=mt,n.navigate=ft,n.total=pt,n.reveal=bt,n)})()}};for(let n of A)if(n.setup)try{n.setup(u)}catch(m){let L=m instanceof Error?m:Error(String(m));b.emit("error",{error:L,context:`plugin:setup:${n.name}`})}}let Xe=r.classPrefix+"--scrolling",se=!1,Ye=e.scroll?.idleTimeout??ge;function ht(){if(I.scrollPosition=c.scrollPosition,s)I.direction=c.scrollDirection>0?"right":"left";else I.direction=c.scrollDirection>0?"down":"up";if(b.emit("scroll",I),qt(f,c.scrollPosition),D.velocity=f.velocity,D.reliable=f.sampleCount>=Gt,b.emit("velocity:change",D),c.startIndex!==k||c.prevRangeEnd!==G)k=c.startIndex,G=c.prevRangeEnd,y.range.start=c.startIndex,y.range.end=c.prevRangeEnd,b.emit("range:change",y)}function Ze(u,n=!0){let m=u+r.mainAxisPadding;if(Ge)rn(m);if(U){if(n)U.refresh(u);return}if(c.totalSize=u,ye?.(m),n)S.content.style[s?"width":"height"]=Math.min(m,nt)+"px"}function te(){let u=re?c.totalSize:v.getTotalSize();if(Ze(u,!re),U||re||Ge)return;l?.onContentSize(u,b)}function St(){if(!ze)return;if((J?J():g.length)===0)return;let n=ze;ze=null,et.scrollToIndex(n.index,n.alignOrOptions)}function Te(){if(re)re();else lt(c,v,r.overscan,M,S.content,e.item.template,z,C,_,O,a,H);St()}function je(){if(Ue=null,!se)se=!0,S.root.classList.add(Xe);if(Te(),it(O.afterScroll,c.scrollPosition,c.scrollDirection),ve?.sync(),c.scrollPosition!==ne)ne=c.scrollPosition,ht()}function yt(){M.trim(C.size)}function rn(u){let n=!!U;if(be=(i==="synthetic"||u>nt*(n?0.75:1))!==n,!be)return;if(!Ne)l.load().then((L)=>{if(Ne=L,!c.destroyed)te()},(L)=>b.emit("error",{error:L,context:"scroll:mode"}));else if(!se)ln(u)}function ln(u){let n=Ue??c.scrollPosition;if(be=!1,j.detach(),ve?.destroy(),ve=null,U)j=_e,U=ee=null,c.baseOffset=0,S.content.style[s?"width":"height"]=u+"px",j.attach(),le(n);else if(S.viewport[s?"scrollLeft":"scrollTop"]=0,j=U=Et(Ne.createSyntheticScrollHandler),ee=vt,U.refresh(u-r.mainAxisPadding),(ve=Ne.attachScrollbar(c,S,r,v,le,e.scroll?.scrollbar))?.sync(),c.initialized)j.attach(),U.setLogical(n);b.emit("scroll:mode",{mode:U?"synthetic":"native"})}function Re(){if(se)se=!1,S.root.classList.remove(Xe);if(c.scrollDirection=0,yt(),Kt(O.idle),D.velocity=0,D.reliable=!1,b.emit("velocity:change",D),N.scrollPosition=c.scrollPosition,b.emit("scroll:idle",N),be)te()}function oe(){if(c.renderPending=!0,xe)xe();else lt(c,v,r.overscan,M,S.content,e.item.template,z,C,_,O,a,H);if(St(),it(O.afterScroll,c.scrollPosition,c.scrollDirection),ve?.sync(),c.scrollPosition!==ne){if(ne=c.scrollPosition,ht(),T!==null)clearTimeout(T);T=setTimeout(Re,Ye)}else if(!se)yt()}let xt=de?!1:e.scroll?.wheel!==!1;if(de&&Le)throw ue([]),S.root.remove(),Error("vlist: page() is not compatible with the carousel plugin — document scrolling cannot wrap.");function Et(u){return u({state:c,sizeCache:v,viewport:S.viewport,content:S.content,isX:s,wheelEnabled:xt,idleTimeout:Ye,...Ie?{scrollTarget:Ie}:{},mainAxisPadding:r.mainAxisPadding,...Le?{wrap:Le,rendered:C,classPrefix:r.classPrefix,oddClass:E,onFold(n){let m=f;if(m._lp!==void 0)m._lp-=n;ne-=n}}:{},onFrame:je,onIdle:Re})}if(!de&&(o||Le))j=U=Et(o??gt),ee=vt;else _e=(de?zt:l.native)({state:c,viewport:S.viewport,isX:s,wheelEnabled:xt,idleTimeout:Ye,...Ie?{scrollTarget:Ie}:{},onFrame:je,onIdle:Re}),j=_e,pe=_e.commitScroll,Ge=!de&&i!=="native";function Je(u){let m=u.target.closest("[data-index]");if(!m)return null;let L=parseInt(m.getAttribute("data-index"),10);if(Number.isNaN(L))return null;let V=R.get("_layoutToDataIndex"),q,Z=L;if(V){let Q=V(L);if(Q<0)return null;let ie=R.get("_getItemAtLayout"),me=R.get("_getItem");q=ie?ie(L):me?me(Q):a?a(Q):g[Q],Z=Q}else q=a?a(L):g[L];if(q===void 0)return null;return{item:q,index:Z}}function It(u){for(let m=0;m<fe.length;m++)fe[m](u);let n=Je(u);if(n)b.emit("item:click",{item:n.item,index:n.index,event:u})}function Lt(u){let n=Je(u);if(n)b.emit("item:dblclick",{item:n.item,index:n.index,event:u})}function Tt(u){let n=Je(u);if(n)b.emit("item:contextmenu",{item:n.item,index:n.index,event:u})}function Ct(u){let n=u.target?.tagName;if((n==="INPUT"||n==="TEXTAREA"||n==="SELECT")&&!((u.ctrlKey||u.metaKey)&&(u.key==="f"||u.key==="F")))return;for(let m=0;m<ce.length;m++)ce[m](u)}if(S.content.addEventListener("click",It),S.content.addEventListener("dblclick",Lt),S.content.addEventListener("contextmenu",Tt),ce.length>0)S.root.addEventListener("keydown",Ct);let Qe=null;if(!ct)setTimeout(()=>{if(c.destroyed)return;Qe=new ResizeObserver((n)=>{for(let m of n){let{width:L,height:V}=m.contentRect,q=s?L:V,Z=s?V:L;if(Math.abs(q-c.containerSize)<1&&Math.abs(Z-c.crossSize)<1)continue;if(c.containerSize=q,c.crossSize=Z,c.resizeCapacity(q,p,r.overscan),U)U.refresh(v.getTotalSize());oe(),$t(O.resize,L,V),b.emit("resize",{width:L,height:V})}}),Qe.observe(S.viewport)},0);c.resizeCapacity(c.containerSize,p,r.overscan),te(),c.initialized=!0;let Ce=null;if(e.defer)Ce=requestAnimationFrame(()=>{if(Ce=null,!c.destroyed)Te()});else Te();if(!de)j.attach();let et={get element(){return S.root},get items(){return g},get total(){return J?J():g.length},setItems(u){g=[...u],c.totalItems=g.length,v.rebuild(c.totalItems),te(),oe()},appendItems(u){let n=()=>Math.max(0,v.getTotalSize()+r.mainAxisPadding-c.containerSize),m=r.reverse&&c.scrollPosition>=n()-1;if(g.push(...u),c.totalItems=g.length,v.rebuild(c.totalItems),te(),oe(),m)le(n())},prependItems(u){let n=c.totalItems>0,m=v.getTotalSize();if(g.unshift(...u),c.totalItems=g.length,v.rebuild(c.totalItems),te(),oe(),!r.reverse||!n)return;let L=v.getTotalSize()-m;if(L<=0)return;let V=Math.max(0,v.getTotalSize()+r.mainAxisPadding-c.containerSize);le(Math.min(c.scrollPosition+L,V))},updateItem(u,n){if(Y){if(!Y(u,n))return}else{let m=g.findIndex((L)=>L.id===u);if(m===-1)return;g[m]={...g[m],...n}}oe()},remeasureItem(u){let n=J?J():g.length;if(!Number.isInteger(u)||u<0||u>=n)return!1;let m=R.get("_itemRemeasureSupported");if(m&&!m())return!1;let L=R.get("remeasure");if(L)return L(u),!0;let V=R.get("_dataSizeIsVariable");if(!(V?V():v.isVariable()))return!1;let q=R.get("_dataToLayoutIndex"),Z=q?q(u):u,Q=v.getOffset(Z+1)-v.getOffset(Z),ie=v.getSize(Z);if(ie===Q)return!0;let me=v.indexAtOffset(qe.getPixelEquivalent());if(v.invalidate(Z,Z),R.get("_onItemRemeasure")?.(Z),Z<me){let He=ie-Q;if(U?.shiftBy)U.shiftBy(He);else le(c.scrollPosition+He)}return Ze(v.getTotalSize()),oe(),!0},insertItem(u,n){if(F)F(u,n??c.totalItems);else{if(n===void 0)g.push(u);else g.splice(n,0,u);c.totalItems=g.length,v.rebuild(c.totalItems),te()}oe()},removeItem(u){if(K){if(K(u)<0)return}else{let n=g.findIndex((m)=>m.id===u);if(n===-1)return;g.splice(n,1),c.totalItems=g.length,v.rebuild(c.totalItems),te()}oe()},removeItems(u){if(K){let V=0;for(let q of u)if(K(q)>=0)V++;if(V>0)oe();return V}let n=new Set(u),m=g.length;g=g.filter((V)=>!n.has(V.id));let L=m-g.length;if(L>0)c.totalItems=g.length,v.rebuild(c.totalItems),te(),c.renderPending=!0,Te();return L},getItemAt(u){if(_.indexMap){let m=R.get("_getLoadedItem");return m?m(u):g[u]}let n=R.get("_getItemAtLayout");if(n){let m=R.get("_dataToLayoutIndex");return n(m?m(u):u)}return a?a(u):g[u]},getIndexById(u){if(Ee)return Ee(u);return g.findIndex((n)=>n.id===u)},scrollToIndex(u,n="start"){let m=J?J():g.length;if(m===0){ze={index:u,alignOrOptions:n};return}let L=typeof n==="string"?n:n.align??"start",V=typeof n==="object"?n.behavior:void 0,q=typeof n==="object"?n.duration:void 0,Z=typeof n==="object"?n.easing:void 0;if(We&&We(u,L,V,q,Z)!==!1)return;let Q=Math.max(0,Math.min(u,m-1)),ie=v.getOffset(Q),me=v.getSize(Q),Pe=c.containerSize,He=v.getTotalSize(),Pt=r.mainAxisPadding,sn=Math.max(0,He+Pt-Pe),ae;if($e)ae=$e(Q,v,Pe,m,L);else{let an=r.startPadding;switch(L){case"center":ae=an+ie-(Pe-me)/2;break;case"end":ae=ie+me+Pt-Pe;break;default:ae=ie}ae=Math.max(0,Math.min(ae,sn))}if(V==="smooth"&&!be)j.smoothScrollTo(ae,q??wt,ee??void 0,Z);else le(ae)},getScrollPosition(){return qe.getPixelEquivalent()},on:b.on.bind(b),off:b.off.bind(b),destroy(){if(c.destroyed)return;if(c.destroyed=!0,se)se=!1,S.root.classList.remove(Xe);if(Ce!==null)cancelAnimationFrame(Ce),Ce=null;if(T!==null)clearTimeout(T),T=null;j.detach(),ve?.destroy(),Qe?.disconnect(),S.content.removeEventListener("click",It),S.content.removeEventListener("dblclick",Lt),S.content.removeEventListener("contextmenu",Tt),S.root.removeEventListener("keydown",Ct);let u=[];ue(u);for(let[,n]of C)n.remove();if(C.clear(),M.clear(),S.root.remove(),b.emit("destroy",void 0),b.clear(),u.length>0)for(let n of u)console.error("vlist: error during destroy:",n)}};for(let[u,n]of R){if(u.startsWith("_"))continue;et[u]=n}return et}on();function xo(e,t=[]){return Xt(e,t,nn)}export{xo as createVList};
|
|
1
|
+
var Mt=(e,t,o)=>()=>{if(e)try{t=e(e=0)}catch(l){o=[l]}if(o)throw o[0];return t};var Ve=3,wt="vlist",ot=16000000,ge=150,ke=(e)=>e<0.5?2*e*e:1-(-2*e+2)**2/2,zt=300,Fe="__placeholder_";function An(e,t,o,l,i){if(t===0||e.size===0)return;let r=e.size;if(Ke.length<r)Ke=new Int32Array(r);if(we.length<r)we.length=r;let s=0;for(let[x,E]of e)Ke[s]=x,we[s]=E,s++;e.clear();let d=o+"-item-",h=l.getAttribute("aria-activedescendant"),P=null,p=i&&t&1;for(let x=0;x<r;x++){let E=Ke[x],v=we[x];we[x]=void 0;let _=E-t;if(e.set(_,v),h!==null&&v.id===h)P=v;if(v.id===d+E)v.id=d+_;if(p)v.classList.toggle(i)}if(P!==null)l.setAttribute("aria-activedescendant",P.id)}function Mn(e,t,o){if(t===0&&o===0)return;e.prevRangeStart-=t,e.prevRangeEnd-=t,e.startIndex-=t,e.prevBaseOffset-=o;let l=e.visibleCount;for(let i=0;i<l;i++)e.visibleIndices[i]-=t,e.visibleOffsets[i]-=o}function Zt(e,t){let o=t>1?Math.trunc(e):Math.floor(e);return Math.abs(o)<t?0:o}function jt(e,t,o,l,i,r,s){let d=e.lapSize(),h=e.itemsPerLap(),P=d>0?Math.round(t/d)*h:0;if(P===0)return;if(i)An(i,P,r,l,s);Mn(o,P,t)}var Ke,we;var Jt=Mt(()=>{Ke=new Int32Array(0),we=[]});function nn({getMax:e,onChange:t=()=>{},onFinish:o,axis:l="y",reducedMotion:i}){let r=0,s=0,d=null,h=0,P=0,p=0,x=0,E=0,v=null,_=0,A=0,w=0,y=0,B=400,b=Qt,M=()=>w,W=0.006,c=(S)=>{let I=e();return Number.isFinite(I)?Math.max(0,Math.min(I,S)):S},g=(S,I)=>l==="y"?I:S,z=(S,I)=>l==="y"?S:I;function C(S){let I=c(S);if(I!==r)r=I,t(r);return I!==S}function f(){E=0,s=d===null?0:5}function D(S){f(),C(S)}return{get position(){return r},get state(){return s},get velocity(){return E},get active(){return s===3||s===4},begin(S,I,N,k){if(d!==null){f();return}f(),d=S,h=p=g(I,N),P=z(I,N),x=k,s=1},move(S,I,N,k){if(S!==d||s!==1&&s!==2)return!1;let G=g(I,N);if(s===1){let O=Math.abs(G-h),R=Math.abs(z(I,N)-P);if(Math.max(O,R)<6)return!1;if(R>O*1.2)return f(),!1;if(O<R*1.2)return!1;s=2}let ne=p-G,T=k-x;if(T>0){let O=Math.max(-3,Math.min(3,ne/T));E=T>80?0:O*E<0?O:0.65*O+0.35*E}if(p=G,x=k,C(r+ne))E=0;return!0},end(S,I){if(S!==d)return;if(d=null,s===2&&!i()&&I-x<=80&&Math.abs(E)>=0.02)v=null,s=3;else E=0,s=0},cancel:f,reset(){d=null,f()},jump:D,shiftBy(S){A+=S,y+=S,C(r+S)},by(S){f();let I=r;return C(r+S),r!==I},smooth(S,I=400,N=Qt){if(f(),y=0,M=typeof S==="function"?S:()=>S,d!==null||i()||I<=0){C(M());return}B=I,b=N,A=r,w=c(M()+y),v=null,s=4},resize(){f(),C(r)},tick(S){if(s!==3&&s!==4)return;if(v===null){if(v=S,s===4)_=S;return}let I=S-v;if(I<=0)return;if(v=S,I>100){if(s===4)C(c(M()+y)),s=0,o?.();else f();return}if(s===4){w=c(M()+y);let G=Math.min(1,(S-_)/B);if(C(A+(w-A)*b(G)),G===1)s=0,o?.();return}let N=Math.exp(-W*I),k=C(r+E*(1-N)/W);if(E*=N,k||Math.abs(E)<0.02)E=0,s=0}}}var en=1,tn=2,Qt=(e)=>1-(1-e)**3;function ct(e){if(e.closest("textarea,select,[contenteditable]:not([contenteditable=false])"))return!0;let t=e.closest("input");return!!t&&!/^(button|submit|reset|checkbox|radio|image)$/.test(t.type)}function on(e){let{state:t,viewport:o,content:l,isX:i,onFrame:r,onIdle:s,mainAxisPadding:d,wrap:h}=e,P=o.parentElement??o,p=o.ownerDocument.defaultView,x=o.ownerDocument,E=p.matchMedia("(prefers-reduced-motion: reduce)"),v=0,_=null,A=null,w=!1,y=!1,B=!1,b=-1,M=-1,W=null,c=null,g=!1,z=!1,C=!1,f=!1,D,S=new Set;function I(a){let H=t.scrollPosition;if(h){let K=h.lapSize(),F=K>0?Zt((a-h.home())/K,h.thresholdLaps):0;if(F!==0){let Y=F*K;B=!0,T.shiftBy(-Y),B=!1,a=T.position,H-=Y,jt(h,Y,t,l,e.rendered,e.classPrefix??"",e.oddClass),e.onFold?.(Y),h.onFold?.(Y)}}if(t.prevScrollPosition=H,t.scrollPosition=t.baseOffset=a,t.scrollDirection=a>H?1:a<H?-1:0,!y)r()}function N(){if(A=null,T.active||T.state===tn||T.state===en)return;t.scrollDirection=0,s()}function k(){if(!w)return;if(A!==null)clearTimeout(A);A=setTimeout(N,e.idleTimeout||ge)}function G(){if(w&&_===null&&T.active)_=requestAnimationFrame(ne)}function ne(a){if(_=null,T.tick(a),T.active)G();else k()}let T=nn({axis:i?"x":"y",getMax:()=>h?1/0:v,reducedMotion:()=>E.matches,onChange(a){if(!B)I(a)},onFinish(){let a=D;D=void 0,a?.()}});function O(){if(D=void 0,_!==null)cancelAnimationFrame(_),_=null;if(T.cancel(),A!==null)clearTimeout(A),A=null}function R(){if(O(),T.reset(),f&&W!==null&&o.hasPointerCapture(W))o.releasePointerCapture(W);f=!1,S.clear(),W=c=null,g=z=C=!1,k()}function fe(a){if(!$e(a))return;if(a.isPrimary){if(S.size)R();S.clear()}if(S.add(a.pointerId),S.size>1){C=!0,O();return}if(!(a.target instanceof Element)||ct(a.target)){O();return}W=a.pointerId,g=!1,z=T.active,c=null,O(),T.begin(a.pointerId,a.clientX,a.clientY,a.timeStamp)}function ce(a){if(!$e(a)||a.target instanceof Node&&o.contains(a.target))return;if(a.isPrimary&&S.size)R();else if(S.size)S.add(a.pointerId),C=!0,O()}function ye(a){if(!$e(a)||C)return;if(T.move(a.pointerId,a.clientX,a.clientY,a.timeStamp)){if(g=!0,!f)o.setPointerCapture(a.pointerId),f=!0;if(a.cancelable)a.preventDefault()}}function ue(a){if(!$e(a)||!S.has(a.pointerId))return;let H=a.type==="pointercancel";if(H)O();if(W===a.pointerId){if(!H&&!C&&(g||z))c=a.pointerId;if(f&&o.hasPointerCapture(a.pointerId))o.releasePointerCapture(a.pointerId);f=!1,W=null,g=z=!1}if(T.end(a.pointerId,a.timeStamp),S.delete(a.pointerId),!S.size){if(C||H)T.reset();C=!1}G(),k()}function J(a){let H=a.pointerId;if(a.detail!==0&&c!==null&&(H===c||H===void 0))c=null,a.preventDefault(),a.stopImmediatePropagation()}function Q(a){if(a.ctrlKey||a.defaultPrevented||!(a.target instanceof Element)||ct(a.target))return;let H=a.deltaMode===1?16:a.deltaMode===2?t.containerSize:1,K=i?a.deltaX:a.deltaY,F=i?a.deltaY:a.deltaX,Y=i?o.scrollHeight>o.clientHeight:o.scrollWidth>o.clientWidth;if(Y&&Math.abs(F)>Math.abs(K))return;if(Y&&F!==0)if(a.preventDefault(),i)o.scrollTop+=F*H;else o.scrollLeft+=F*H;let Ee=i&&!Y&&K===0?F:K;if(O(),T.by(Ee*H))a.preventDefault();k()}function Se(a){if(a.defaultPrevented||a.ctrlKey||a.metaKey||a.altKey||!(a.target instanceof Element)||ct(a.target))return;if((a.key===" "||a.key==="Enter")&&a.target.closest("button,summary,a,input"))return;let H=e.sizeCache,K=H.getSize(H.indexAtOffset(T.position)),F;if(a.key===(i?"ArrowRight":"ArrowDown"))F=T.position+K;if(a.key===(i?"ArrowLeft":"ArrowUp"))F=T.position-K;if(a.key==="PageDown"||a.key===" ")F=T.position+t.containerSize*(a.shiftKey&&a.key===" "?-1:1);if(a.key==="PageUp")F=T.position-t.containerSize;if(a.key==="Home")F=0;if(a.key==="End")F=v;if(F!==void 0)a.preventDefault(),re(F)}function pe(){if(x.hidden)R()}function re(a){let H=T.position;if(O(),T.jump(a),H===(h?a:Math.max(0,Math.min(v,a))))I(T.position);k()}function xe(a){let H=b!==t.containerSize||M!==t.crossSize,K=a!==t.totalSize||H;if(b=t.containerSize,M=t.crossSize,t.totalSize=a,v=Math.max(0,a+d-t.containerSize),K){if(y=!0,H)O(),T.resize();else T.shiftBy(0);I(T.position),y=!1}}return{setLogical:re,refresh:xe,shiftBy(a){if(t.totalSize=e.sizeCache.getTotalSize(),v=Math.max(0,t.totalSize+d-t.containerSize),T.shiftBy(a),!T.active)k()},cancelScroll(){O(),k()},getLogical:()=>t.scrollPosition,getMaxLogical:()=>v,smoothScrollTo(a,H,K,F=ke,Y){if(O(),T.smooth(a,H,F),D=Y,!T.active)D=void 0,Y?.(),k();else G()},attach(){if(w)return;if(w=!0,o.style.overflowX=i?"hidden":"auto",o.style.overflowY=i?"auto":"hidden",o.style.touchAction=i?"pan-y pinch-zoom":"pan-x pinch-zoom",o.style.overflowAnchor="none",l.style[i?"width":"height"]="100%",l.style.overflow="clip",l.style.overflowAnchor="none",o.addEventListener("pointerdown",fe),p.addEventListener("pointerdown",ce),o.addEventListener("pointermove",ye,{passive:!1}),p.addEventListener("pointerup",ue),p.addEventListener("pointercancel",ue),o.addEventListener("click",J,!0),e.wheelEnabled)o.addEventListener("wheel",Q,{passive:!1});P.addEventListener("keydown",Se),p.addEventListener("blur",R),x.addEventListener("visibilitychange",pe),E.addEventListener("change",R),G()},detach(){if(w=!1,R(),A!==null)clearTimeout(A),A=null;o.removeEventListener("pointerdown",fe),p.removeEventListener("pointerdown",ce),o.removeEventListener("pointermove",ye),p.removeEventListener("pointerup",ue),p.removeEventListener("pointercancel",ue),o.removeEventListener("click",J,!0),o.removeEventListener("wheel",Q),P.removeEventListener("keydown",Se),p.removeEventListener("blur",R),x.removeEventListener("visibilitychange",pe),E.removeEventListener("change",R),o.style.overflowX=o.style.overflowY=o.style.touchAction=o.style.overflowAnchor="",l.style.overflow=l.style.overflowAnchor=""}}}var $e=(e)=>e.pointerType==="touch"||e.pointerType==="pen";var rn=Mt(()=>{Jt()});function _t(e){let{state:t,viewport:o,isX:l,onFrame:i,onIdle:r}=e,s=e.idleTimeout||ge,d=null,h=null;function P(v=l?o.scrollLeft:o.scrollTop){t.prevScrollPosition=t.scrollPosition,t.scrollPosition=v,t.scrollDirection=v>t.prevScrollPosition?1:v<t.prevScrollPosition?-1:0,i(),p()}function p(){if(d!==null)clearTimeout(d);d=setTimeout(()=>{d=null,t.scrollDirection=0,r()},s)}function x(){if(h!==null)cancelAnimationFrame(h),h=null}function E(v,_,A,w=ke,y){x();let B=t.scrollPosition,b=typeof v==="function"?v:()=>v,M=b();if(Math.abs(M-B)<1){if(A)A(M);else if(l)o.scrollLeft=M;else o.scrollTop=M;y?.();return}let W=performance.now();function c(g){M=b();let z=g-W,C=Math.min(z/_,1),f=B+(M-B)*w(C);if(A)A(f);else{if(l)o.scrollLeft=f;else o.scrollTop=f;let D=l?o.scrollLeft:o.scrollTop;P(Math.abs(D-f)>1?D:f)}if(C<1)h=requestAnimationFrame(c);else h=null,y?.()}h=requestAnimationFrame(c)}return{attach(){},detach(){if(x(),d!==null)clearTimeout(d),d=null},cancelScroll:x,smoothScrollTo:E,commitScroll:P}}var De={top:0,right:0,bottom:0,left:0},Rt=(e)=>{if(e==null)return De;if(typeof e==="number")return e===0?De:{top:e,right:e,bottom:e,left:e};if(e.length===2){let[r,s]=e;return r===0&&s===0?De:{top:r,right:s,bottom:r,left:s}}let[t,o,l,i]=e;return t===0&&o===0&&l===0&&i===0?De:{top:t,right:o,bottom:l,left:i}},Ht=(e,t)=>t?e.left+e.right:e.top+e.bottom,Ot=(e,t)=>t?e.top+e.bottom:e.left+e.right;function Vt(e){let t={visibleIndices:new Int32Array(e),visibleOffsets:new Float64Array(e),visibleSizes:new Float64Array(e),visibleCount:0,startIndex:0,totalSize:0,capacity:e,scrollPosition:0,prevScrollPosition:0,scrollDirection:0,baseOffset:0,prevBaseOffset:0,containerSize:0,crossSize:0,totalItems:0,prevRangeStart:0,prevRangeEnd:-1,renderPending:!1,initialized:!1,destroyed:!1,windowClamped:!1,windowClampReported:!1,prevAriaTotal:-1,ensureCapacity(o){if(o<=t.capacity)return;let l=o+8,i=new Int32Array(l),r=new Float64Array(l),s=new Float64Array(l);i.set(t.visibleIndices),r.set(t.visibleOffsets),s.set(t.visibleSizes),t.visibleIndices=i,t.visibleOffsets=r,t.visibleSizes=s,t.capacity=l},resizeCapacity(o,l,i=Ve){if(l<=0||o<=0)return;t.ensureCapacity(Math.ceil(o/l)+i*2)},clear(){t.visibleCount=0,t.startIndex=0}};return t}var dn=(e,t,o)=>{let l=t;return{getOffset:(i)=>i*e,getSize:(i)=>e,indexAtOffset:(i)=>{if(l===0||e===0)return 0;return Math.max(0,Math.min(Math.floor(i/e),l-1))},getTotalSize:()=>{let i=l*e;return i>0?i-o:0},getTotal:()=>l,rebuild:(i)=>{l=i},invalidate:()=>{},isVariable:()=>!1}};var kt=(e,t,o,l)=>{while(t<o){let i=t+o+1>>>1;if(e[i]<=l)t=i;else o=i-1}return t},mn=(e,t,o)=>{let l=0,i=0,r=new Float64Array(0),s=new Float64Array(0),d=new Float64Array(1),h=(p,x)=>{for(let E=p;E<i;E++){if(E<=x){let v=E<<9,_=Math.min(v+512,l),A=0;for(let w=v;w<_;w++)r[w]=A,A+=e(w);s[E]=A}d[E+1]=d[E]+s[E]}},P=(p)=>{l=p,i=Math.ceil(p/512),r=new Float64Array(p),s=new Float64Array(i),d=new Float64Array(i+1),h(0,i-1)};return P(t),{getOffset:(p)=>{if(p<=0)return 0;if(p>=l)return d[i];return d[p>>>9]+r[p]},getSize:(p)=>e(p),indexAtOffset:(p)=>{if(l===0||p<=0)return 0;if(p>=d[i])return l-1;let x=kt(d,0,i-1,p),E=x<<9;return kt(r,E,Math.min(E+512,l)-1,p-d[x])},getTotalSize:()=>{let p=d[i];return p>0?p-o:0},getTotal:()=>l,rebuild:(p)=>P(p),invalidate:(p,x=p)=>{if(p>=0&&x<l)h(p>>>9,x>>>9)},isVariable:()=>!0}},Ne=(e,t,o=0)=>{if(typeof e==="number")return dn(e,t,o);return mn(e,t,o)};function Ft(e){let t=[],o=`${e}-item`,l=document.createElement("div");return l.className=o,{acquire(){if(t.length>0)return t.pop();return l.cloneNode(!1)},release(i){i.className=o,i.removeAttribute("style"),i.removeAttribute("id"),i.removeAttribute("role"),i.removeAttribute("aria-selected"),i.removeAttribute("aria-posinset"),i.removeAttribute("aria-setsize"),i.removeAttribute("data-index"),i.removeAttribute("data-id"),i.textContent="",t.push(i)},get size(){return t.length},trim(i){let r=i>0?i:0;if(t.length>r)t.length=r},clear(){t.length=0}}}function rt(e){let t=e.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let o=0;o<t.length;o++)t[o].setAttribute("tabindex","-1");e._stamp=0}function it(e){if(typeof e==="string"){let t=document.querySelector(e);if(!t)throw Error(`[vlist] Container not found: ${e}`);return t}return e}function Dt(e,t,o,l){let i=o?`${t} ${t}--horizontal`:t,r=o?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",s=o?"position:relative;height:100%;overflow-anchor:none":"position:relative;width:100%;overflow-anchor:none",d=' role="list"';if(l)d+=` aria-label="${l.replace(/"/g,""")}"`;if(o)d+=' aria-orientation="horizontal"';e.insertAdjacentHTML("beforeend",`<div class="${i}"><div class="${t}-viewport" style="${r}" tabindex="-1"><div class="${t}-content" style="${s}"${d}></div></div></div>`);let h=e.lastElementChild,P=h.firstElementChild,p=P.firstElementChild,x=document.createElement("div");return x.className=`${t}-live`,x.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",x.setAttribute("aria-live","polite"),x.setAttribute("aria-atomic","true"),x.setAttribute("role","status"),h.appendChild(x),{root:h,viewport:P,content:p,liveRegion:x}}function fn(e,t){if(e.getTotal()<=0)return{index:0,offsetPx:0};let l=t<=0?0:t,i=e.indexAtOffset(l),r=l-e.getOffset(i);return{index:i,offsetPx:r>0?r:0}}function pn(e,t){let o=bn(e,t);return e.getOffset(o.index)+o.offsetPx}function bn(e,t){let o=e.getTotal();if(o<=0)return{index:0,offsetPx:0};let{index:l,offsetPx:i}=t;if(l<0)return{index:0,offsetPx:0};if(l>o-1)l=o-1;while(i>0&&l<o-1){let r=e.getSize(l);if(i<r)break;i-=r,l++}while(i<0&&l>0)l--,i+=e.getSize(l);if(i<0)i=0;return{index:l,offsetPx:i}}function Nt(e){let{sizeCache:t,getPixel:o,setPixel:l,getContainerSize:i}=e;function r(){let d=t.getTotalSize()+e.padding-i();return d>0?d:0}function s(d){if(d<=0)return 0;let h=r();return d>h?h:d}return{getLogical(){return fn(t,o())},setLogical(d){l(s(pn(t,d)))},getPixelEquivalent(){return o()},setPixelEquivalent(d){l(s(d))},getMaxPixelEquivalent:r,getRenderOrigin:e.getRenderOrigin,scrollByPx(d){l(s(o()+d))}}}var Ae=[],vn={calculate:Ae,commit:Ae,afterScroll:Ae,idle:Ae,resize:Ae};function Bt(e){if(e.length===0)return vn;let t=[],o=[],l=[],i=[],r=[];for(let s=0;s<e.length;s++){let d=e[s].hooks;if(d===void 0)continue;if(d.onCalculate!==void 0)t.push(d.onCalculate);if(d.onCommit!==void 0)o.push(d.onCommit);if(d.onAfterScroll!==void 0)l.push(d.onAfterScroll);if(d.onIdle!==void 0)i.push(d.onIdle);if(d.onResize!==void 0)r.push(d.onResize)}return{calculate:t,commit:o,afterScroll:l,idle:i,resize:r}}function Kt(e,t){for(let o=0;o<e.length;o++)e[o](t)}function Me(e,t){for(let o=0;o<e.length;o++)e[o](t)}function lt(e,t,o){for(let l=0;l<e.length;l++)e[l](t,o)}function $t(e){for(let t=0;t<e.length;t++)e[t]()}function Wt(e,t,o){for(let l=0;l<e.length;l++)e[l](t,o)}function Gt(e,t,o,l,i,r,s,d){let h=l!==0||i!==0;return{prefix:e,selectedClass:`${e}-item--selected`,focusedClass:`${e}-item--focused`,placeholderClass:`${e}-item--placeholder`,replacedClass:`${e}-item--replaced`,translateProp:t?"translateX(":"translateY(",sizeProp:t?"width":"height",itemRole:"listitem",interactive:!1,startPadding:o,gap:s,hasCrossPad:h,crossStartProp:h?t?"top":"left":"",crossEndProp:h?t?"bottom":"right":"",crossStartVal:h?l+"px":"",crossEndVal:h?i+"px":"",oddClass:r,emitter:d??null,indexMap:null,ariaTotalFn:null}}function gn(e,t,o,l,i){if(e.containerSize<=0||e.totalItems===0)return e.clear(),!0;let{scrollPosition:r,containerSize:s,totalItems:d}=e,h=i??0;e.totalSize=t.getTotalSize();let P=t.indexAtOffset(h>0?Math.max(0,r-h):r),p=t.indexAtOffset(r+s);if(p<d-1)p++;P=Math.max(0,P),p=Math.min(d-1,Math.max(0,p));let x=Math.max(0,P-o),E=Math.min(d-1,p+o),v=Math.ceil(s)+o*2;if(E-x+1>v)E=x+v-1,e.windowClamped=!0;let _=E-x+1;if(_>e.capacity)e.ensureCapacity(_);let A=Math.min(_,e.capacity);if(x===e.prevRangeStart&&E===e.prevRangeEnd&&!e.renderPending&&e.baseOffset===e.prevBaseOffset)return!1;e.visibleCount=A,e.startIndex=x;for(let w=0;w<A;w++){let y=x+w;e.visibleIndices[w]=y,e.visibleOffsets[w]=t.getOffset(y),e.visibleSizes[w]=t.getSize(y)}return Kt(l.calculate,e),e.prevRangeStart=x,e.prevRangeEnd=E,e.prevBaseOffset=e.baseOffset,e.renderPending=!1,!0}var X={selected:!1,focused:!1};function hn(e,t,o){for(let l=0;l<t;l++)if(e[l]===o)return!0;return!1}function yn(e,t){if(t<=1)return!0;let o=e[0];for(let l=1;l<t;l++){let i=e[l];if(i!==o+1)return!1;o=i}return!0}function Sn(e,t,o,l,i,r,s,d,h,P){let p=h?null:i(),{visibleCount:x,visibleIndices:E}=e,v=s.ariaTotalFn?s.ariaTotalFn():e.totalItems,_=s.interactive?String(v):"",A=s.interactive&&v!==e.prevAriaTotal,w=null,y=s.indexMap;for(let B=0;B<x;B++){let b=E[B],M=y?y(b):b,W=e.visibleOffsets[B],c=e.visibleSizes[B],g=h?h(b):p[b];if(P)P(M,X);else X.selected=!1,X.focused=!1;let z=r.get(b),C=z;if(z===void 0){let f=t.acquire();if(g!==void 0){let I;try{I=l(g,M,X)}catch(N){if(s.emitter)s.emitter.emit("error",{error:N instanceof Error?N:Error(String(N)),context:`template:render:${M}`});t.release(f);continue}if(typeof I==="string")f.innerHTML=I;else f.textContent="",f.appendChild(I);rt(f)}if(f.setAttribute("role",s.itemRole),f.setAttribute("data-index",String(M)),s.interactive)f.id=s.prefix+"-item-"+b,f.setAttribute("aria-posinset",String(M+1)),f.setAttribute("aria-setsize",_);if(g!==void 0){let I=String(g.id);if(f.setAttribute("data-id",I),I.startsWith(Fe))f.classList.add(s.placeholderClass)}if(s.hasCrossPad)f.style.setProperty(s.crossStartProp,s.crossStartVal),f.style.setProperty(s.crossEndProp,s.crossEndVal);if(P){if(f.classList.toggle(s.selectedClass,X.selected),f.classList.toggle(s.focusedClass,X.focused),X.selected)f.setAttribute("aria-selected","true");else f.removeAttribute("aria-selected");f._lastSelected=X.selected,f._lastFocused=X.focused}if(s.oddClass)f.classList.toggle(s.oddClass,(b&1)===1);let D=W-e.baseOffset+s.startPadding;f.style.transform=s.translateProp+D+"px)",f._lastOffset=D;let S=c-s.gap;if(f.style[s.sizeProp]=S+"px",f._lastSize=S,f._lastItem=g,r.set(b,f),w===null)w=document.createDocumentFragment();w.appendChild(f)}else{if(A)z.setAttribute("aria-setsize",_);if(g!==void 0&&C._lastItem!==g){let S=z.getAttribute("data-id"),I=String(g.id),N;try{N=l(g,M,X)}catch(k){if(s.emitter)s.emitter.emit("error",{error:k instanceof Error?k:Error(String(k)),context:`template:render:${M}`});continue}if(typeof N==="string")z.innerHTML=N;else z.textContent="",z.appendChild(N);if(rt(z),z.setAttribute("data-id",I),C._lastItem=g,S!==I){let k=S!==null&&S.startsWith(Fe),G=I.startsWith(Fe);if(k!==G)z.classList.toggle(s.placeholderClass,G);if(k&&!G)z.classList.add(s.replacedClass),setTimeout(()=>{z.classList.remove(s.replacedClass)},300)}}if(P){if(C._lastSelected!==X.selected){if(z.classList.toggle(s.selectedClass,X.selected),X.selected)z.setAttribute("aria-selected","true");else z.removeAttribute("aria-selected");C._lastSelected=X.selected}if(C._lastFocused!==X.focused)z.classList.toggle(s.focusedClass,X.focused),C._lastFocused=X.focused}let f=W-e.baseOffset+s.startPadding;if(C._lastOffset!==f)z.style.transform=s.translateProp+f+"px)",C._lastOffset=f;let D=c-s.gap;if(C._lastSize!==D)z.style[s.sizeProp]=D+"px",C._lastSize=D}}if(w!==null)o.appendChild(w);if(x>0&&yn(E,x)){let B=E[0],b=E[x-1];for(let[M,W]of r)if(M<B||M>b)W.remove(),t.release(W),r.delete(M)}else for(let[B,b]of r)if(!hn(E,x,B))b.remove(),t.release(b),r.delete(B);if(s.interactive)e.prevAriaTotal=e.totalItems;Me(d.commit,e)}function st(e,t,o,l,i,r,s,d,h,P,p,x){let E=gn(e,t,o,P,h.startPadding);if(e.windowClamped&&!e.windowClampReported)e.windowClampReported=!0,queueMicrotask(()=>{if(e.destroyed)return;h.emitter?.emit("error",{error:Error("[vlist] render window capped to the viewport: the item size spec reports sizes below 1px"),context:"render:window-ceiling"})});if(E)Sn(e,l,i,r,s,d,h,P,p,x)}var at=()=>{let e={},t=(r,s)=>{if(!e[r])e[r]=new Set;return e[r].add(s),()=>o(r,s)},o=(r,s)=>{e[r]?.delete(s)};return{on:t,off:o,emit:(r,s)=>{e[r]?.forEach((d)=>{try{d(s)}catch(h){}})},clear:(r)=>{if(r)delete e[r];else for(let s in e)delete e[s]}}};var Ut=2,qt=(e=0)=>({velocity:0,sampleCount:0}),Xt=(e,t)=>{let o=performance.now(),l=e._lt??o,i=e._lp??t,r=o-l;if(e._lp=t,e._lt=o,r===0)return e.sampleCount=Math.min(e.sampleCount+1,5),e;if(r>100)return e.velocity=0,e.sampleCount=1,e;return e.velocity=Math.abs(t-i)/r,e.sampleCount=Math.min(e.sampleCount+1,5),e};function he(e,t,o=!1){if(t===void 0)return;if(typeof t!=="number"||!Number.isFinite(t)||t<0||t===0&&!o)throw Error(`vlist: ${e} must be a ${o?"non-negative":"positive"} number, got ${t}`)}function xn(e){let{item:t}=e;if(typeof t.height==="number")he("item.height",t.height);if(typeof t.width==="number")he("item.width",t.width);he("item.estimatedHeight",t.estimatedHeight),he("item.estimatedWidth",t.estimatedWidth),he("item.gap",t.gap,!0),he("overscan",e.overscan,!0);let o=e.scroll;if(o?.runway!==void 0||!/^(auto|native|synthetic)?$/.test(o?.mode??""))throw Error('vlist: scroll.mode is "auto", "native" or "synthetic" (bounded mode and scroll.runway were removed in 3.0)')}function En(e,t){let o=e==="horizontal"?"x":"y";if(t.some((i)=>i.name==="grid"))return{primary:o,cross:o==="x"?"y":"x"};return{primary:o}}function In(e,t,o){let l=En(e.orientation,t),i=l.primary==="x",r=Rt(e.padding);return{axis:l,hasCrossAxis:l.cross!==void 0,overscan:e.overscan??Ve,reverse:e.reverse??!1,classPrefix:e.classPrefix??wt,mainAxisPadding:Ht(r,i),crossAxisPadding:Ot(r,i),startPadding:i?r.left:r.top,endPadding:i?r.right:r.bottom,crossPadStart:i?r.top:r.left,crossPadEnd:i?r.bottom:r.right,striped:e.item.striped||!1,gap:e.item.gap??0,scrollMode:o}}function Ln(e,t){if(t)return e.item.width??e.item.estimatedWidth??100;return e.item.height??e.item.estimatedHeight??40}function Tn(e){let t=[...e];return t.sort((o,l)=>(o.priority??50)-(l.priority??50)),t}function Cn(e){let t=new Set;for(let o of e){if(t.has(o.name))throw Error(`[vlist] Duplicate plugin: ${o.name}`);t.add(o.name)}for(let o of e)if(o.conflicts){for(let l of o.conflicts)if(t.has(l))throw Error(`[vlist] Plugin "${o.name}" conflicts with "${l}"`)}}function Pn(e,t){for(let o of e)o.validateConfig?.(t)}var Be=null;function Yt(e,t=[],o,l){xn(e);let i=o?"synthetic":e.scroll?.mode??"auto";if(i==="synthetic"&&e.scroll?.scrollbar==="native")throw Error('vlist: scroll.scrollbar "native" needs native scrolling');if(e.orientation==="horizontal"&&getComputedStyle(it(e.container)).direction==="rtl")throw Error("vlist: horizontal RTL lists are not supported; use a vertical list, or an LTR container");let r=In(e,t,i),s=r.axis.primary==="x",d=Ln(e,s),h=r.gap,P=h>0?typeof d==="function"?(u)=>d(u)+h:d+h:d,p=typeof d==="number"?d:20,x=e.items?.length??0,E=r.striped?`${r.classPrefix}-item--odd`:"",v=at(),_=Gt(r.classPrefix,s,r.startPadding,r.crossPadStart,r.crossPadEnd,E,h,v),A=t.length>0?Tn(t):t;if(t.length>0)Cn(A),Pn(A,r);let w=it(e.container),y=Dt(w,r.classPrefix,s,e.ariaLabel);if(e.scroll?.scrollbar==="none")y.viewport.classList.add(`${r.classPrefix}-viewport--no-scrollbar`);if(e.scroll?.gutter==="stable")y.viewport.classList.add(`${r.classPrefix}-viewport--gutter-stable`);let b=Ne(P,x,h),M=Ft(r.classPrefix),W=Math.ceil(4096/p)+r.overscan*2+8,c=Vt(W);c.totalItems=x;let g=e.items?[...e.items]:[],z=()=>g,C=new Map,f=qt(),D={velocity:0,reliable:!1},S={range:{start:0,end:-1}},I={scrollPosition:0,direction:"down"},N={scrollPosition:0},k=-1,G=-1,ne=-1,T=null,O=Bt(A),R=new Map,fe=[],ce=[],ye=[],ue=(u)=>{let n=(m)=>{u.push(m instanceof Error?m:Error(String(m)))};for(let m of ye)try{m()}catch(L){n(L)}for(let m of A)if(m.destroy)try{m.destroy()}catch(L){n(L)}},J=null,Q=null,Se,pe,re=null,xe=null,a=null,H=null,K=null,F=null,Y=null,Ee=null,de=!1,ut=!1,Ie=null,dt=0,mt=0,ft=null,pt=null,bt=null,vt=null,We=null,Ge=null,ze=null,j=null,_e=null,U=null,gt=(u)=>U.setLogical(u),Ue=!1,be=!1,qe=null,ve=null,Le=null,ht=null;c.containerSize=s?y.viewport.clientWidth:y.viewport.clientHeight,c.crossSize=s?y.viewport.clientHeight:y.viewport.clientWidth;function le(u){if(Q)Q(u);else{if(s)y.viewport.scrollLeft=u;else y.viewport.scrollTop=u;if(pe?.(),be&&Math.abs(c.scrollPosition-u)>1)qe=u}}let Xe=Nt({sizeCache:b,getPixel:()=>c.scrollPosition,setPixel:le,getRenderOrigin:()=>c.baseOffset,getContainerSize:()=>c.containerSize,padding:r.mainAxisPadding});if(t.length>0){let u={pool:M,config:r,emitter:v,template:e.item.template,getState(){return c},dom:{...y,renderedElement(n){let m=R.get("_getRenderedElement");if(m)return m(n);return C.get(n)??null},enableListbox(){let n=y.content.getAttribute("role");if(!n||n==="list")y.content.setAttribute("role","listbox"),y.content.setAttribute("tabindex","0");_.itemRole="option",_.interactive=!0}},scroll:{...Xe,to:le,shiftBy(n){if(U?.shiftBy)U.shiftBy(n);else u.scroll.to(c.scrollPosition+n)},smoothTo(n,m,L,V){if(j)j.smoothScrollTo(n,m,Q??void 0,L,V);else u.scroll.to(typeof n==="function"?n():n)},cancel(){j?.cancelScroll()},commit(n){pe(n)},setSource(n){Q=n.write,Se=n.onContentSize,de=!0},setTarget(n){Ie=n},setWrap(n,m){Le=n,ht=m},setBoundedWrap(n,m){u.scroll.setWrap(n,m)},setToPosFn(n){We=n},setToIndexFn(n){Ge=n},onFrame:Je,onIdle:Re,disableResize(){ut=!0}},items:{all:z,at(n){return a?a(n):g[n]},removeById(n){if(K)return K(n);let m=g.findIndex((L)=>L.id===n);if(m===-1)return-1;return g.splice(m,1),c.totalItems=g.length,b.rebuild(c.totalItems),ee(),m},insertAt(n,m){if(F){F(n,m);return}g.splice(m,0,n),c.totalItems=g.length,b.rebuild(c.totalItems),ee()},setGetFn(n){a=n},setRemoveFn(n){K=n},setInsertFn(n){F=n},setUpdateFn(n){Y=n},setIndexByIdFn(n){Ee=n},setTotalFn(n){J=n,_.ariaTotalFn=n},setIndexMapFn(n){_.indexMap=n}},sizes:{cache:b,get rawSpec(){return d},setConfig(n,m=0){let L=Ne(n,c.totalItems,m),V=R.get("_setSizeCacheBase");if(V){let q=b.rebuild;Object.assign(b,L),b.rebuild=q,V(L.rebuild)}else Object.assign(b,L)},rebuild(){b.rebuild(c.totalItems)}},render:{force(){oe()},ifNeeded(){Te()},contentSize:je,setFn(n,m){re=()=>{let{prevRangeStart:L,prevRangeEnd:V}=c;if(n(),c.prevRangeStart!==L||c.prevRangeEnd!==V)Me(O.commit,c)},xe=()=>{m(),Me(O.commit,c)}},setStateFn(n){H=n},getStateFn(){return H}},hooks:{method(n,m){if(!n.startsWith("_")&&R.has(n))throw Error(`[vlist] duplicate method "${n}"; rename it or use a set*Fn hook`);R.set(n,m)},get(n){return R.get(n)},onClick(n){fe.push(n)},onKeydown(n){ce.push(n)},onDestroy(n){ye.push(n)}},nav:{set(n){if(n.ud!==void 0)dt=n.ud;if(n.lr!==void 0)mt=n.lr;if(n.scrollIndex)ft=n.scrollIndex;if(n.navigate)pt=n.navigate;if(n.total)bt=n.total;if(n.reveal)vt=n.reveal},get:(()=>{let n={ud:0,lr:0,scrollIndex:null,navigate:null,total:null,reveal:null};return()=>(n.ud=dt,n.lr=mt,n.scrollIndex=ft,n.navigate=pt,n.total=bt,n.reveal=vt,n)})()}};for(let n of A)if(n.setup)try{n.setup(u)}catch(m){let L=m instanceof Error?m:Error(String(m));v.emit("error",{error:L,context:`plugin:setup:${n.name}`})}}let Ye=r.classPrefix+"--scrolling",se=!1,Ze=e.scroll?.idleTimeout??ge;function yt(){if(I.scrollPosition=c.scrollPosition,s)I.direction=c.scrollDirection>0?"right":"left";else I.direction=c.scrollDirection>0?"down":"up";if(v.emit("scroll",I),Xt(f,c.scrollPosition),D.velocity=f.velocity,D.reliable=f.sampleCount>=Ut,v.emit("velocity:change",D),c.startIndex!==k||c.prevRangeEnd!==G)k=c.startIndex,G=c.prevRangeEnd,S.range.start=c.startIndex,S.range.end=c.prevRangeEnd,v.emit("range:change",S)}function je(u,n=!0){let m=u+r.mainAxisPadding;if(Ue)ln(m);if(U){if(n)U.refresh(u);return}if(c.totalSize=u,Se?.(m),n)y.content.style[s?"width":"height"]=Math.min(m,ot)+"px"}function ee(){let u=re?c.totalSize:b.getTotalSize();if(je(u,!re),U||re||Ue)return;l?.onContentSize(u,v)}function St(){if(!ze)return;if((J?J():g.length)===0)return;let n=ze;ze=null,tt.scrollToIndex(n.index,n.alignOrOptions)}function Te(){if(re)re();else st(c,b,r.overscan,M,y.content,e.item.template,z,C,_,O,a,H);St()}function Je(){if(qe=null,!se)se=!0,y.root.classList.add(Ye);if(Te(),lt(O.afterScroll,c.scrollPosition,c.scrollDirection),ve?.sync(),c.scrollPosition!==ne)ne=c.scrollPosition,yt()}function xt(){M.trim(C.size)}function ln(u){let n=!!U;if(be=(i==="synthetic"||u>ot*(n?0.75:1))!==n,!be)return;if(!Be)l.load().then((L)=>{if(Be=L,!c.destroyed)ee()},(L)=>v.emit("error",{error:L,context:"scroll:mode"}));else if(!se)sn(u)}function sn(u){let n=qe??c.scrollPosition;if(be=!1,j.detach(),ve?.destroy(),ve=null,U)j=_e,U=Q=null,c.baseOffset=0,y.content.style[s?"width":"height"]=u+"px",j.attach(),le(n);else if(y.viewport[s?"scrollLeft":"scrollTop"]=0,j=U=It(Be.createSyntheticScrollHandler),Q=gt,U.refresh(u-r.mainAxisPadding),(ve=Be.attachScrollbar(c,y,r,b,le,e.scroll?.scrollbar))?.sync(),c.initialized)j.attach(),U.setLogical(n);v.emit("scroll:mode",{mode:U?"synthetic":"native"})}function Re(){if(se)se=!1,y.root.classList.remove(Ye);if(c.scrollDirection=0,xt(),$t(O.idle),D.velocity=0,D.reliable=!1,v.emit("velocity:change",D),N.scrollPosition=c.scrollPosition,v.emit("scroll:idle",N),be)ee()}function oe(){if(c.renderPending=!0,xe)xe();else st(c,b,r.overscan,M,y.content,e.item.template,z,C,_,O,a,H);if(St(),lt(O.afterScroll,c.scrollPosition,c.scrollDirection),ve?.sync(),c.scrollPosition!==ne){if(ne=c.scrollPosition,yt(),T!==null)clearTimeout(T);T=setTimeout(Re,Ze)}else if(!se)xt()}let Et=de?!1:e.scroll?.wheel!==!1;if(de&&Le)throw ue([]),y.root.remove(),Error("vlist: page() is not compatible with the carousel plugin — document scrolling cannot wrap.");function It(u){return u({state:c,sizeCache:b,viewport:y.viewport,content:y.content,isX:s,wheelEnabled:Et,idleTimeout:Ze,...Ie?{scrollTarget:Ie}:{},mainAxisPadding:r.mainAxisPadding,...Le?{wrap:Le,rendered:C,classPrefix:r.classPrefix,oddClass:E,onFold(n){let m=f;if(m._lp!==void 0)m._lp-=n;ne-=n}}:{},onFrame:Je,onIdle:Re})}if(!de&&(o||Le))j=U=It(o??ht),Q=gt;else _e=(de?_t:l.native)({state:c,viewport:y.viewport,isX:s,wheelEnabled:Et,idleTimeout:Ze,...Ie?{scrollTarget:Ie}:{},onFrame:Je,onIdle:Re}),j=_e,pe=_e.commitScroll,Ue=!de&&i!=="native";function Qe(u){let m=u.target.closest("[data-index]");if(!m)return null;let L=parseInt(m.getAttribute("data-index"),10);if(Number.isNaN(L))return null;let V=R.get("_layoutToDataIndex"),q,Z=L;if(V){let te=V(L);if(te<0)return null;let ie=R.get("_getItemAtLayout"),ae=R.get("_getItem");q=ie?ie(L):ae?ae(te):a?a(te):g[te],Z=te}else q=a?a(L):g[L];if(q===void 0)return null;return{item:q,index:Z}}function Lt(u){for(let m=0;m<fe.length;m++)fe[m](u);let n=Qe(u);if(n)v.emit("item:click",{item:n.item,index:n.index,event:u})}function Tt(u){let n=Qe(u);if(n)v.emit("item:dblclick",{item:n.item,index:n.index,event:u})}function Ct(u){let n=Qe(u);if(n)v.emit("item:contextmenu",{item:n.item,index:n.index,event:u})}function Pt(u){let n=u.target?.tagName;if((n==="INPUT"||n==="TEXTAREA"||n==="SELECT")&&!((u.ctrlKey||u.metaKey)&&(u.key==="f"||u.key==="F")))return;for(let m=0;m<ce.length;m++)ce[m](u)}if(y.content.addEventListener("click",Lt),y.content.addEventListener("dblclick",Tt),y.content.addEventListener("contextmenu",Ct),ce.length>0)y.root.addEventListener("keydown",Pt);let et=null;if(!ut)setTimeout(()=>{if(c.destroyed)return;et=new ResizeObserver((n)=>{for(let m of n){let{width:L,height:V}=m.contentRect,q=s?L:V,Z=s?V:L;if(Math.abs(q-c.containerSize)<1&&Math.abs(Z-c.crossSize)<1)continue;if(c.containerSize=q,c.crossSize=Z,c.resizeCapacity(q,p,r.overscan),U)U.refresh(b.getTotalSize());oe(),Wt(O.resize,L,V),v.emit("resize",{width:L,height:V})}}),et.observe(y.viewport)},0);c.resizeCapacity(c.containerSize,p,r.overscan),ee(),c.initialized=!0;let Ce=null;if(e.defer)Ce=requestAnimationFrame(()=>{if(Ce=null,!c.destroyed)Te()});else Te();if(!de)j.attach();let tt={get element(){return y.root},get items(){return g},get total(){return J?J():g.length},setItems(u){g=[...u],c.totalItems=g.length,b.rebuild(c.totalItems),ee(),oe()},appendItems(u){let n=()=>Math.max(0,b.getTotalSize()+r.mainAxisPadding-c.containerSize),m=r.reverse&&c.scrollPosition>=n()-1;if(g.push(...u),c.totalItems=g.length,b.rebuild(c.totalItems),ee(),oe(),m)le(n())},prependItems(u){let n=c.totalItems>0,m=b.getTotalSize();if(g.unshift(...u),c.totalItems=g.length,b.rebuild(c.totalItems),ee(),oe(),!r.reverse||!n)return;let L=b.getTotalSize()-m;if(L<=0)return;let V=Math.max(0,b.getTotalSize()+r.mainAxisPadding-c.containerSize);le(Math.min(c.scrollPosition+L,V))},updateItem(u,n){if(Y){if(!Y(u,n))return}else{let m=g.findIndex((L)=>L.id===u);if(m===-1)return;g[m]={...g[m],...n}}oe()},remeasureItem(u){if(c.destroyed)return!1;let n=J?J():g.length;if(!Number.isInteger(u)||u<0||u>=n)return!1;let m=R.get("_itemRemeasureSupported");if(m&&!m())return!1;let L=R.get("remeasure");if(L)return L(u),!0;let V=R.get("_dataSizeIsVariable");if(!(V?V():b.isVariable()))return!1;let q=R.get("_dataToLayoutIndex"),Z=q?q(u):u,te=b.getOffset(Z+1)-b.getOffset(Z),ie=b.getSize(Z);if(ie===te)return!0;let ae=b.indexAtOffset(Xe.getPixelEquivalent());if(b.invalidate(Z,Z),R.get("_onItemRemeasure")?.(Z),je(b.getTotalSize()),Z<ae){let Pe=ie-te;if(U?.shiftBy)U.shiftBy(Pe);else le(c.scrollPosition+Pe)}return oe(),!0},insertItem(u,n){if(F)F(u,n??c.totalItems);else{if(n===void 0)g.push(u);else g.splice(n,0,u);c.totalItems=g.length,b.rebuild(c.totalItems),ee()}oe()},removeItem(u){if(K){if(K(u)<0)return}else{let n=g.findIndex((m)=>m.id===u);if(n===-1)return;g.splice(n,1),c.totalItems=g.length,b.rebuild(c.totalItems),ee()}oe()},removeItems(u){if(K){let V=0;for(let q of u)if(K(q)>=0)V++;if(V>0)oe();return V}let n=new Set(u),m=g.length;g=g.filter((V)=>!n.has(V.id));let L=m-g.length;if(L>0)c.totalItems=g.length,b.rebuild(c.totalItems),ee(),c.renderPending=!0,Te();return L},getItemAt(u){if(_.indexMap){let m=R.get("_getLoadedItem");return m?m(u):g[u]}let n=R.get("_getItemAtLayout");if(n){let m=R.get("_dataToLayoutIndex");return n(m?m(u):u)}return a?a(u):g[u]},getIndexById(u){if(Ee)return Ee(u);return g.findIndex((n)=>n.id===u)},scrollToIndex(u,n="start"){if((J?J():g.length)===0){ze={index:u,alignOrOptions:n};return}let L=typeof n==="string"?n:n.align??"start",V=typeof n==="object"?n.behavior:void 0,q=typeof n==="object"?n.duration:void 0,Z=typeof n==="object"?n.easing:void 0;if(Ge&&Ge(u,L,V,q,Z)!==!1)return;let te=()=>{let ie=b.getTotal();if(ie===0)return 0;let ae=Math.max(0,Math.min(u,ie-1)),He=b.getOffset(ae),Pe=b.getSize(ae),Oe=c.containerSize,an=b.getTotalSize(),At=r.mainAxisPadding,cn=Math.max(0,an+At-Oe),me;if(We)me=We(ae,b,Oe,ie,L);else{let un=r.startPadding;switch(L){case"center":me=un+He-(Oe-Pe)/2;break;case"end":me=He+Pe+At-Oe;break;default:me=He}me=Math.max(0,Math.min(me,cn))}return me};if(V==="smooth"&&!be)j.smoothScrollTo(te,q??zt,Q??void 0,Z);else le(te())},getScrollPosition(){return Xe.getPixelEquivalent()},on:v.on.bind(v),off:v.off.bind(v),destroy(){if(c.destroyed)return;if(c.destroyed=!0,se)se=!1,y.root.classList.remove(Ye);if(Ce!==null)cancelAnimationFrame(Ce),Ce=null;if(T!==null)clearTimeout(T),T=null;j.detach(),ve?.destroy(),et?.disconnect(),y.content.removeEventListener("click",Lt),y.content.removeEventListener("dblclick",Tt),y.content.removeEventListener("contextmenu",Ct),y.root.removeEventListener("keydown",Pt);let u=[];ue(u);for(let[,n]of C)n.remove();if(C.clear(),M.clear(),y.root.remove(),v.emit("destroy",void 0),v.clear(),u.length>0)for(let n of u)console.error("vlist: error during destroy:",n)}};for(let[u,n]of R){if(u.startsWith("_"))continue;tt[u]=n}return tt}rn();function Io(e,t=[]){return Yt(e,t,on)}export{Io as createVList};
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
*/
|
|
9
9
|
type ScrollTarget = {
|
|
10
10
|
to(position: number): void;
|
|
11
|
-
smoothTo(target: number, duration: number, easing?: (t: number) => number): void;
|
|
11
|
+
smoothTo(target: number | (() => number), duration: number, easing?: (t: number) => number): void;
|
|
12
12
|
};
|
|
13
|
-
export declare function applyScrollBehavior(scroll: ScrollTarget, position: number, behavior?: string, duration?: number, easing?: (t: number) => number): void;
|
|
13
|
+
export declare function applyScrollBehavior(scroll: ScrollTarget, position: number | (() => number), behavior?: string, duration?: number, easing?: (t: number) => number): void;
|
|
14
14
|
export {};
|
|
15
15
|
//# sourceMappingURL=apply-scroll-behavior.d.ts.map
|
package/dist/version.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"3.3.
|
|
1
|
+
{"version":"3.3.3","commit":"79c26fd","builtAt":"2026-11-02T21:07:15.972Z","released":true}
|