vlist 3.6.3 → 3.6.4

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/dist/size.json CHANGED
@@ -1 +1 @@
1
- {"base":{"minified":"27.2","gzipped":"10.4","minBytes":27845,"gzBytes":10674},"synthetic":{"minified":"34.1","gzipped":"13.0","minBytes":34911,"gzBytes":13345},"synthetic + carousel":{"minified":"49.5","gzipped":"18.3","minBytes":50704,"gzBytes":18742},"synthetic + sortable":{"minified":"46.1","gzipped":"16.7","minBytes":47196,"gzBytes":17080},"createStats":{"minified":"27.8","gzipped":"10.6","minBytes":28447,"gzBytes":10904},"synthetic + createStats":{"minified":"34.7","gzipped":"13.2","minBytes":35513,"gzBytes":13567},"native":{"minified":"27.2","gzipped":"10.4","minBytes":27845,"gzBytes":10680},"vue":{"minified":"27.6","gzipped":"10.6","minBytes":28235,"gzBytes":10849},"svelte":{"minified":"27.4","gzipped":"10.5","minBytes":28030,"gzBytes":10751},"solid":{"minified":"27.5","gzipped":"10.6","minBytes":28142,"gzBytes":10814},"react":{"minified":"27.6","gzipped":"10.6","minBytes":28282,"gzBytes":10865},"react + grid":{"minified":"35.3","gzipped":"13.3","minBytes":36193,"gzBytes":13635},"a11y":{"minified":"32.6","gzipped":"12.4","minBytes":33346,"gzBytes":12678},"selection":{"minified":"37.4","gzipped":"13.8","minBytes":38278,"gzBytes":14131},"data":{"minified":"40.8","gzipped":"15.2","minBytes":41805,"gzBytes":15591},"scrollbar":{"minified":"35.3","gzipped":"13.3","minBytes":36195,"gzBytes":13629},"sortable":{"minified":"39.2","gzipped":"14.1","minBytes":40091,"gzBytes":14433},"groups":{"minified":"43.7","gzipped":"16.1","minBytes":44705,"gzBytes":16475},"page":{"minified":"30.3","gzipped":"11.5","minBytes":30992,"gzBytes":11800},"snapshots":{"minified":"30.5","gzipped":"11.6","minBytes":31226,"gzBytes":11846},"transition":{"minified":"33.9","gzipped":"12.4","minBytes":34752,"gzBytes":12707},"autosize":{"minified":"32.1","gzipped":"12.2","minBytes":32886,"gzBytes":12468},"grid":{"minified":"34.9","gzipped":"13.1","minBytes":35756,"gzBytes":13445},"table":{"minified":"45.5","gzipped":"16.7","minBytes":46641,"gzBytes":17134},"masonry":{"minified":"39.6","gzipped":"14.9","minBytes":40517,"gzBytes":15288},"tree":{"minified":"43.5","gzipped":"15.8","minBytes":44532,"gzBytes":16204},"search":{"minified":"36.5","gzipped":"13.9","minBytes":37414,"gzBytes":14264},"carousel":{"minified":"43.4","gzipped":"16.0","minBytes":44476,"gzBytes":16399}}
1
+ {"base":{"minified":"27.2","gzipped":"10.4","minBytes":27845,"gzBytes":10678},"synthetic":{"minified":"34.1","gzipped":"13.0","minBytes":34911,"gzBytes":13347},"synthetic + carousel":{"minified":"49.5","gzipped":"18.3","minBytes":50704,"gzBytes":18744},"synthetic + sortable":{"minified":"45.7","gzipped":"16.7","minBytes":46839,"gzBytes":17073},"createStats":{"minified":"27.8","gzipped":"10.7","minBytes":28447,"gzBytes":10907},"synthetic + createStats":{"minified":"34.7","gzipped":"13.3","minBytes":35513,"gzBytes":13569},"native":{"minified":"27.2","gzipped":"10.4","minBytes":27845,"gzBytes":10684},"vue":{"minified":"27.6","gzipped":"10.6","minBytes":28235,"gzBytes":10853},"svelte":{"minified":"27.4","gzipped":"10.5","minBytes":28030,"gzBytes":10754},"solid":{"minified":"27.5","gzipped":"10.6","minBytes":28142,"gzBytes":10817},"react":{"minified":"27.6","gzipped":"10.6","minBytes":28282,"gzBytes":10869},"react + grid":{"minified":"35.3","gzipped":"13.3","minBytes":36193,"gzBytes":13635},"a11y":{"minified":"32.5","gzipped":"12.4","minBytes":33302,"gzBytes":12688},"selection":{"minified":"37.5","gzipped":"13.9","minBytes":38444,"gzBytes":14226},"data":{"minified":"40.8","gzipped":"15.2","minBytes":41816,"gzBytes":15601},"scrollbar":{"minified":"35.3","gzipped":"13.3","minBytes":36195,"gzBytes":13629},"sortable":{"minified":"38.8","gzipped":"14.0","minBytes":39755,"gzBytes":14365},"groups":{"minified":"43.6","gzipped":"16.1","minBytes":44669,"gzBytes":16456},"page":{"minified":"30.3","gzipped":"11.5","minBytes":30992,"gzBytes":11802},"snapshots":{"minified":"30.5","gzipped":"11.6","minBytes":31226,"gzBytes":11849},"transition":{"minified":"33.9","gzipped":"12.4","minBytes":34752,"gzBytes":12710},"autosize":{"minified":"32.1","gzipped":"12.2","minBytes":32886,"gzBytes":12471},"grid":{"minified":"34.9","gzipped":"13.1","minBytes":35756,"gzBytes":13446},"table":{"minified":"45.5","gzipped":"16.7","minBytes":46641,"gzBytes":17134},"masonry":{"minified":"39.6","gzipped":"14.9","minBytes":40517,"gzBytes":15290},"tree":{"minified":"43.5","gzipped":"15.8","minBytes":44532,"gzBytes":16206},"search":{"minified":"36.5","gzipped":"13.9","minBytes":37414,"gzBytes":14265},"carousel":{"minified":"43.4","gzipped":"16.0","minBytes":44476,"gzBytes":16401}}
package/dist/synthetic.js CHANGED
@@ -1 +1 @@
1
- var _t=(e,t,n)=>()=>{if(e)try{t=e(e=0)}catch(l){n=[l]}if(n)throw n[0];return t};var ke=3,Rt="vlist",rt=16000000,he=150,Fe=(e)=>e<0.5?2*e*e:1-(-2*e+2)**2/2,Ht=300,De="__placeholder_";function Rn(e,t,n,l,i){if(t===0||e.size===0)return;let r=e.size;if($e.length<r)$e=new Int32Array(r);if(we.length<r)we.length=r;let s=0;for(let[y,S]of e)$e[s]=y,we[s]=S,s++;e.clear();let d=n+"-item-",v=l.getAttribute("aria-activedescendant"),P=null,f=i&&t&1;for(let y=0;y<r;y++){let S=$e[y],g=we[y];we[y]=void 0;let w=S-t;if(e.set(w,g),v!==null&&g.id===v)P=g;if(g.id===d+S)g.id=d+w;if(f)g.classList.toggle(i)}if(P!==null)l.setAttribute("aria-activedescendant",P.id)}function Hn(e,t,n){if(t===0&&n===0)return;e.prevRangeStart-=t,e.prevRangeEnd-=t,e.startIndex-=t,e.prevBaseOffset-=n;let l=e.visibleCount;for(let i=0;i<l;i++)e.visibleIndices[i]-=t,e.visibleOffsets[i]-=n}function tn(e,t){let n=t>1?Math.trunc(e):Math.floor(e);return Math.abs(n)<t?0:n}function nn(e,t,n,l,i,r,s){let d=e.lapSize(),v=e.itemsPerLap(),P=d>0?Math.round(t/d)*v:0;if(P===0)return;if(i)Rn(i,P,r,l,s);Hn(n,P,t)}var $e,we;var on=_t(()=>{$e=new Int32Array(0),we=[]});function an({getMax:e,onChange:t=()=>{},onFinish:n,axis:l="y",reducedMotion:i}){let r=0,s=0,d=null,v=0,P=0,f=0,y=0,S=0,g=null,w=0,A=0,M=0,p=0,N=400,x=rn,z=()=>M,K=0.006,u=(h)=>{let L=e();return Number.isFinite(L)?Math.max(0,Math.min(L,h)):h},E=(h,L)=>l==="y"?L:h,H=(h,L)=>l==="y"?h:L;function C(h){let L=u(h);if(L!==r)r=L,t(r);return L!==h}function b(){S=0,s=d===null?0:5}function k(h){b(),C(h)}return{get position(){return r},get state(){return s},get velocity(){return S},get active(){return s===3||s===4},begin(h,L,U,B){if(d!==null){b();return}b(),d=h,v=f=E(L,U),P=H(L,U),y=B,s=1},move(h,L,U,B){if(h!==d||s!==1&&s!==2)return!1;let Y=E(L,U);if(s===1){let O=Math.abs(Y-v),_=Math.abs(H(L,U)-P);if(Math.max(O,_)<6)return!1;if(_>O*1.2)return b(),!1;if(O<_*1.2)return!1;s=2}let ee=f-Y,T=B-y;if(T>0){let O=Math.max(-3,Math.min(3,ee/T));S=T>80?0:O*S<0?O:0.65*O+0.35*S}if(f=Y,y=B,C(r+ee))S=0;return!0},end(h,L){if(h!==d)return;if(d=null,s===2&&!i()&&L-y<=80&&Math.abs(S)>=0.02)g=null,s=3;else S=0,s=0},cancel:b,reset(){d=null,b()},jump:k,shiftBy(h){A+=h,p+=h,C(r+h)},by(h){b();let L=r;return C(r+h),r!==L},smooth(h,L=400,U=rn){if(b(),p=0,z=typeof h==="function"?h:()=>h,d!==null||i()||L<=0){C(z());return}N=L,x=U,A=r,M=u(z()+p),g=null,s=4},resize(){b(),C(r)},tick(h){if(s!==3&&s!==4)return;if(g===null){if(g=h,s===4)w=h;return}let L=h-g;if(L<=0)return;if(g=h,L>100){if(s===4)C(u(z()+p)),s=0,n?.();else b();return}if(s===4){M=u(z()+p);let Y=Math.min(1,(h-w)/N);if(C(A+(M-A)*x(Y)),Y===1)s=0,n?.();return}let U=Math.exp(-K*L),B=C(r+S*(1-U)/K);if(S*=U,B||Math.abs(S)<0.02)S=0,s=0}}}var ln=1,sn=2,rn=(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 cn(e){let{state:t,viewport:n,content:l,isX:i,onFrame:r,onIdle:s,mainAxisPadding:d,wrap:v}=e,P=n.parentElement??n,f=n.ownerDocument.defaultView,y=n.ownerDocument,S=f.matchMedia("(prefers-reduced-motion: reduce)"),g=0,w=null,A=null,M=!1,p=!1,N=!1,x=-1,z=-1,K=null,u=null,E=!1,H=!1,C=!1,b=!1,k,h=new Set;function L(c){let R=t.scrollPosition;if(v){let W=v.lapSize(),F=W>0?tn((c-v.home())/W,v.thresholdLaps):0;if(F!==0){let G=F*W;N=!0,T.shiftBy(-G),N=!1,c=T.position,R-=G,nn(v,G,t,l,e.rendered,e.classPrefix??"",e.oddClass),e.onFold?.(G),v.onFold?.(G)}}if(t.prevScrollPosition=R,t.scrollPosition=t.baseOffset=c,t.scrollDirection=c>R?1:c<R?-1:0,!p)r()}function U(){if(A=null,T.active||T.state===sn||T.state===ln)return;t.scrollDirection=0,s()}function B(){if(!M)return;if(A!==null)clearTimeout(A);A=setTimeout(U,e.idleTimeout||he)}function Y(){if(M&&w===null&&T.active)w=requestAnimationFrame(ee)}function ee(c){if(w=null,T.tick(c),T.active)Y();else B()}let T=an({axis:i?"x":"y",getMax:()=>v?1/0:g,reducedMotion:()=>S.matches,onChange(c){if(!N)L(c)},onFinish(){let c=k;k=void 0,c?.()}});function O(){if(k=void 0,w!==null)cancelAnimationFrame(w),w=null;if(T.cancel(),A!==null)clearTimeout(A),A=null}function _(){if(O(),T.reset(),b&&K!==null&&n.hasPointerCapture(K))n.releasePointerCapture(K);b=!1,h.clear(),K=u=null,E=H=C=!1,B()}function me(c){if(!We(c))return;if(c.isPrimary){if(h.size)_();h.clear()}if(h.add(c.pointerId),h.size>1){C=!0,O();return}if(!(c.target instanceof Element)||ct(c.target)){O();return}K=c.pointerId,E=!1,H=T.active,u=null,O(),T.begin(c.pointerId,c.clientX,c.clientY,c.timeStamp)}function le(c){if(!We(c)||c.target instanceof Node&&n.contains(c.target))return;if(c.isPrimary&&h.size)_();else if(h.size)h.add(c.pointerId),C=!0,O()}function Se(c){if(!We(c)||C)return;if(T.move(c.pointerId,c.clientX,c.clientY,c.timeStamp)){if(E=!0,!b)n.setPointerCapture(c.pointerId),b=!0;if(c.cancelable)c.preventDefault()}}function se(c){if(!We(c)||!h.has(c.pointerId))return;let R=c.type==="pointercancel";if(R)O();if(K===c.pointerId){if(!R&&!C&&(E||H))u=c.pointerId;if(b&&n.hasPointerCapture(c.pointerId))n.releasePointerCapture(c.pointerId);b=!1,K=null,E=H=!1}if(T.end(c.pointerId,c.timeStamp),h.delete(c.pointerId),!h.size){if(C||R)T.reset();C=!1}Y(),B()}function fe(c){let R=c.pointerId;if(c.detail!==0&&u!==null&&(R===u||R===void 0))u=null,c.preventDefault(),c.stopImmediatePropagation()}function j(c){if(c.ctrlKey||c.defaultPrevented||!(c.target instanceof Element)||ct(c.target))return;let R=c.deltaMode===1?16:c.deltaMode===2?t.containerSize:1,W=i?c.deltaX:c.deltaY,F=i?c.deltaY:c.deltaX,G=i?n.scrollHeight>n.clientHeight:n.scrollWidth>n.clientWidth;if(G&&Math.abs(F)>Math.abs(W))return;if(G&&F!==0)if(c.preventDefault(),i)n.scrollTop+=F*R;else n.scrollLeft+=F*R;let Le=i&&!G&&W===0?F:W;if(O(),T.by(Le*R))c.preventDefault();B()}function xe(c){if(c.defaultPrevented||c.ctrlKey||c.metaKey||c.altKey||!(c.target instanceof Element)||ct(c.target))return;if((c.key===" "||c.key==="Enter")&&c.target.closest("button,summary,a,input"))return;let R=e.sizeCache,W=R.getSize(R.indexAtOffset(T.position)),F;if(c.key===(i?"ArrowRight":"ArrowDown"))F=T.position+W;if(c.key===(i?"ArrowLeft":"ArrowUp"))F=T.position-W;if(c.key==="PageDown"||c.key===" ")F=T.position+t.containerSize*(c.shiftKey&&c.key===" "?-1:1);if(c.key==="PageUp")F=T.position-t.containerSize;if(c.key==="Home")F=0;if(c.key==="End")F=g;if(F!==void 0)c.preventDefault(),ne(F)}function pe(){if(y.hidden)_()}function ne(c){let R=T.position;if(O(),T.jump(c),R===(v?c:Math.max(0,Math.min(g,c))))L(T.position);B()}function Ee(c){let R=x!==t.containerSize||z!==t.crossSize,W=c!==t.totalSize||R;if(x=t.containerSize,z=t.crossSize,t.totalSize=c,g=Math.max(0,c+d-t.containerSize),W){if(p=!0,R)O(),T.resize();else T.shiftBy(0);L(T.position),p=!1}}return{setLogical:ne,refresh:Ee,shiftBy(c){if(t.totalSize=e.sizeCache.getTotalSize(),g=Math.max(0,t.totalSize+d-t.containerSize),T.shiftBy(c),!T.active)B()},cancelScroll(){O(),B()},getLogical:()=>t.scrollPosition,getMaxLogical:()=>g,smoothScrollTo(c,R,W,F=Fe,G){if(O(),T.smooth(c,R,F),k=G,!T.active)k=void 0,G?.(),B();else Y()},attach(){if(M)return;if(M=!0,n.style.overflowX=i?"hidden":"auto",n.style.overflowY=i?"auto":"hidden",n.style.touchAction=i?"pan-y pinch-zoom":"pan-x pinch-zoom",n.style.overflowAnchor="none",l.style[i?"width":"height"]="100%",l.style.overflow="clip",l.style.overflowAnchor="none",n.addEventListener("pointerdown",me),f.addEventListener("pointerdown",le),n.addEventListener("pointermove",Se,{passive:!1}),f.addEventListener("pointerup",se),f.addEventListener("pointercancel",se),n.addEventListener("click",fe,!0),e.wheelEnabled)n.addEventListener("wheel",j,{passive:!1});P.addEventListener("keydown",xe),f.addEventListener("blur",_),y.addEventListener("visibilitychange",pe),S.addEventListener("change",_),Y()},detach(){if(M=!1,_(),A!==null)clearTimeout(A),A=null;n.removeEventListener("pointerdown",me),f.removeEventListener("pointerdown",le),n.removeEventListener("pointermove",Se),f.removeEventListener("pointerup",se),f.removeEventListener("pointercancel",se),n.removeEventListener("click",fe,!0),n.removeEventListener("wheel",j),P.removeEventListener("keydown",xe),f.removeEventListener("blur",_),y.removeEventListener("visibilitychange",pe),S.removeEventListener("change",_),n.style.overflowX=n.style.overflowY=n.style.touchAction=n.style.overflowAnchor="",l.style.overflow=l.style.overflowAnchor=""}}}var We=(e)=>e.pointerType==="touch"||e.pointerType==="pen";var un=_t(()=>{on()});function Ot(e){let{state:t,viewport:n,isX:l,onFrame:i,onIdle:r}=e,s=e.idleTimeout||he,d=null,v=null;function P(g=l?n.scrollLeft:n.scrollTop){t.prevScrollPosition=t.scrollPosition,t.scrollPosition=g,t.scrollDirection=g>t.prevScrollPosition?1:g<t.prevScrollPosition?-1:0,i(),f()}function f(){if(d!==null)clearTimeout(d);d=setTimeout(()=>{d=null,t.scrollDirection=0,r()},s)}function y(){if(v!==null)cancelAnimationFrame(v),v=null}function S(g,w,A,M=Fe,p){y();let N=t.scrollPosition,x=typeof g==="function"?g:()=>g,z=x();if(Math.abs(z-N)<1){if(A)A(z);else if(l)n.scrollLeft=z;else n.scrollTop=z;p?.();return}let K=performance.now();function u(E){z=x();let H=E-K,C=Math.min(H/w,1),b=N+(z-N)*M(C);if(A)A(b);else{if(l)n.scrollLeft=b;else n.scrollTop=b;let k=l?n.scrollLeft:n.scrollTop;P(Math.abs(k-b)>1?k:b)}if(C<1)v=requestAnimationFrame(u);else v=null,p?.()}v=requestAnimationFrame(u)}return{attach(){},detach(){if(y(),d!==null)clearTimeout(d),d=null},cancelScroll:y,smoothScrollTo:S,commitScroll:P}}var Ne={top:0,right:0,bottom:0,left:0},Vt=(e)=>{if(e==null)return Ne;if(typeof e==="number")return e===0?Ne:{top:e,right:e,bottom:e,left:e};if(e.length===2){let[r,s]=e;return r===0&&s===0?Ne:{top:r,right:s,bottom:r,left:s}}let[t,n,l,i]=e;return t===0&&n===0&&l===0&&i===0?Ne:{top:t,right:n,bottom:l,left:i}},kt=(e,t)=>t?e.left+e.right:e.top+e.bottom,Ft=(e,t)=>t?e.top+e.bottom:e.left+e.right;function Dt(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(n){if(n<=t.capacity)return;let l=n+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(n,l,i=ke){if(l<=0||n<=0)return;t.ensureCapacity(Math.ceil(n/l)+i*2)},clear(){t.visibleCount=0,t.startIndex=0}};return t}var vn=(e,t,n)=>{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-n:0},getTotal:()=>l,rebuild:(i)=>{l=i},invalidate:()=>{},isVariable:()=>!1}};var Nt=(e,t,n,l)=>{while(t<n){let i=t+n+1>>>1;if(e[i]<=l)t=i;else n=i-1}return t},gn=(e,t,n)=>{let l=0,i=0,r=new Float64Array(0),s=new Float64Array(0),d=new Float64Array(1),v=(f,y)=>{for(let S=f;S<i;S++){if(S<=y){let g=S<<9,w=Math.min(g+512,l),A=0;for(let M=g;M<w;M++)r[M]=A,A+=e(M);s[S]=A}d[S+1]=d[S]+s[S]}},P=(f)=>{l=f,i=Math.ceil(f/512),r=new Float64Array(f),s=new Float64Array(i),d=new Float64Array(i+1),v(0,i-1)};return P(t),{getOffset:(f)=>{if(f<=0)return 0;if(f>=l)return d[i];return d[f>>>9]+r[f]},getSize:(f)=>e(f),indexAtOffset:(f)=>{if(l===0||f<=0)return 0;if(f>=d[i])return l-1;let y=Nt(d,0,i-1,f),S=y<<9;return Nt(r,S,Math.min(S+512,l)-1,f-d[y])},getTotalSize:()=>{let f=d[i];return f>0?f-n:0},getTotal:()=>l,rebuild:(f)=>P(f),invalidate:(f,y=f)=>{if(f>=0&&y<l)v(f>>>9,y>>>9)},isVariable:()=>!0}},Be=(e,t,n=0)=>{if(typeof e==="number")return vn(e,t,n);return gn(e,t,n)};function Bt(e){let t=[],n=`${e}-item`,l=document.createElement("div");return l.className=n,{acquire(){if(t.length>0)return t.pop();return l.cloneNode(!1)},release(i){i.className=n,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 Kt(e){let t=e.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let n=0;n<t.length;n++)t[n].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 $t(e,t,n,l){let i=n?`${t} ${t}--horizontal`:t,r=n?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",s=n?"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,"&quot;")}"`;if(n)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 v=e.lastElementChild,P=v.firstElementChild,f=P.firstElementChild,y=document.createElement("div");return y.className=`${t}-live`,y.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",y.setAttribute("aria-live","polite"),y.setAttribute("aria-atomic","true"),y.setAttribute("role","status"),v.appendChild(y),{root:v,viewport:P,content:f,liveRegion:y}}function hn(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 yn(e,t){let n=Sn(e,t);return e.getOffset(n.index)+n.offsetPx}function Sn(e,t){let n=e.getTotal();if(n<=0)return{index:0,offsetPx:0};let{index:l,offsetPx:i}=t;if(l<0)return{index:0,offsetPx:0};if(l>n-1)l=n-1;while(i>0&&l<n-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 Wt(e){let{sizeCache:t,getPixel:n,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 v=r();return d>v?v:d}return{getLogical(){return hn(t,n())},setLogical(d){l(s(yn(t,d)))},getPixelEquivalent(){return n()},setPixelEquivalent(d){l(s(d))},getMaxPixelEquivalent:r,getRenderOrigin:e.getRenderOrigin,scrollByPx(d){l(s(n()+d))}}}var Ae=[],xn={calculate:Ae,commit:Ae,afterScroll:Ae,idle:Ae,resize:Ae};function Ut(e){if(e.length===0)return xn;let t=[],n=[],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)n.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:n,afterScroll:l,idle:i,resize:r}}function Gt(e,t){for(let n=0;n<e.length;n++)e[n](t)}function Me(e,t){for(let n=0;n<e.length;n++)e[n](t)}function lt(e,t,n){for(let l=0;l<e.length;l++)e[l](t,n)}function qt(e){for(let t=0;t<e.length;t++)e[t]()}function Xt(e,t,n){for(let l=0;l<e.length;l++)e[l](t,n)}function Zt(e,t,n,l,i,r,s,d){let v=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:n,gap:s,hasCrossPad:v,crossStartProp:v?t?"top":"left":"",crossEndProp:v?t?"bottom":"right":"",crossStartVal:v?l+"px":"",crossEndVal:v?i+"px":"",oddClass:r,emitter:d??null,indexMap:null,ariaTotalFn:null}}function En(e,t,n,l,i){if(e.containerSize<=0||e.totalItems===0)return e.clear(),!0;let{scrollPosition:r,containerSize:s,totalItems:d}=e,v=i??0;e.totalSize=t.getTotalSize();let P=t.indexAtOffset(v>0?Math.max(0,r-v):r),f=t.indexAtOffset(r+s);if(f<d-1)f++;P=Math.max(0,P),f=Math.min(d-1,Math.max(0,f));let y=Math.max(0,P-n),S=Math.min(d-1,f+n),g=Math.ceil(s)+n*2;if(S-y+1>g)S=y+g-1,e.windowClamped=!0;let w=S-y+1;if(w>e.capacity)e.ensureCapacity(w);let A=Math.min(w,e.capacity);if(y===e.prevRangeStart&&S===e.prevRangeEnd&&!e.renderPending&&e.baseOffset===e.prevBaseOffset)return!1;e.visibleCount=A,e.startIndex=y;for(let M=0;M<A;M++){let p=y+M;e.visibleIndices[M]=p,e.visibleOffsets[M]=t.getOffset(p),e.visibleSizes[M]=t.getSize(p)}return Gt(l.calculate,e),e.prevRangeStart=y,e.prevRangeEnd=S,e.prevBaseOffset=e.baseOffset,e.renderPending=!1,!0}var X={selected:!1,focused:!1};function Ln(e,t,n){for(let l=0;l<t;l++)if(e[l]===n)return!0;return!1}function Tn(e,t){if(t<=1)return!0;let n=e[0];for(let l=1;l<t;l++){let i=e[l];if(i!==n+1)return!1;n=i}return!0}function Yt(e,t,n,l,i){let r;try{r=t(n,l,X)}catch(s){return i.emitter?.emit("error",{error:s instanceof Error?s:Error(String(s)),context:`template:render:${l}`}),!1}if(typeof r==="string")e.innerHTML=r;else e.textContent="",e.appendChild(r);return Kt(e),!0}function In(e,t,n,l,i,r,s,d,v,P){let f=v?null:i(),{visibleCount:y,visibleIndices:S}=e,g=s.ariaTotalFn?s.ariaTotalFn():e.totalItems,w=s.interactive?String(g):"",A=s.interactive&&g!==e.prevAriaTotal,M=null,p=s.indexMap;for(let N=0;N<y;N++){let x=S[N],z=p?p(x):x,K=e.visibleOffsets[N],u=e.visibleSizes[N],E=v?v(x):f[x];if(P)P(z,X);else X.selected=!1,X.focused=!1;let H=r.get(x),C=H;if(H===void 0){let b=t.acquire();if(E!==void 0&&!Yt(b,l,E,z,s)){t.release(b);continue}if(b.setAttribute("role",s.itemRole),b.setAttribute("data-index",String(z)),s.interactive)b.id=s.prefix+"-item-"+x,b.setAttribute("aria-posinset",String(z+1)),b.setAttribute("aria-setsize",w);if(E!==void 0){let L=String(E.id);if(b.setAttribute("data-id",L),L.startsWith(De))b.classList.add(s.placeholderClass)}if(s.hasCrossPad)b.style.setProperty(s.crossStartProp,s.crossStartVal),b.style.setProperty(s.crossEndProp,s.crossEndVal);if(P){if(b.classList.toggle(s.selectedClass,X.selected),b.classList.toggle(s.focusedClass,X.focused),X.selected)b.setAttribute("aria-selected","true");else b.removeAttribute("aria-selected");b._lastSelected=X.selected,b._lastFocused=X.focused}if(s.oddClass)b.classList.toggle(s.oddClass,(x&1)===1);let k=K-e.baseOffset+s.startPadding;b.style.transform=s.translateProp+k+"px)",b._lastOffset=k;let h=u-s.gap;if(b.style[s.sizeProp]=h+"px",b._lastSize=h,b._lastItem=E,r.set(x,b),M===null)M=document.createDocumentFragment();M.appendChild(b)}else{if(A)H.setAttribute("aria-setsize",w);if(E!==void 0&&C._lastItem!==E){let h=H.getAttribute("data-id"),L=String(E.id);if(!Yt(H,l,E,z,s))continue;if(H.setAttribute("data-id",L),C._lastItem=E,h!==L){let U=h!==null&&h.startsWith(De),B=L.startsWith(De);if(U!==B)H.classList.toggle(s.placeholderClass,B);if(U&&!B)H.classList.add(s.replacedClass),setTimeout(()=>{H.classList.remove(s.replacedClass)},300)}}if(P){if(C._lastSelected!==X.selected){if(H.classList.toggle(s.selectedClass,X.selected),X.selected)H.setAttribute("aria-selected","true");else H.removeAttribute("aria-selected");C._lastSelected=X.selected}if(C._lastFocused!==X.focused)H.classList.toggle(s.focusedClass,X.focused),C._lastFocused=X.focused}let b=K-e.baseOffset+s.startPadding;if(C._lastOffset!==b)H.style.transform=s.translateProp+b+"px)",C._lastOffset=b;let k=u-s.gap;if(C._lastSize!==k)H.style[s.sizeProp]=k+"px",C._lastSize=k}}if(M!==null)n.appendChild(M);if(y>0&&Tn(S,y)){let N=S[0],x=S[y-1];for(let[z,K]of r)if(z<N||z>x)K.remove(),t.release(K),r.delete(z)}else for(let[N,x]of r)if(!Ln(S,y,N))x.remove(),t.release(x),r.delete(N);if(s.interactive)e.prevAriaTotal=e.totalItems;Me(d.commit,e)}function st(e,t,n,l,i,r,s,d,v,P,f,y){let S=En(e,t,n,P,v.startPadding);if(e.windowClamped&&!e.windowClampReported)e.windowClampReported=!0,queueMicrotask(()=>{if(e.destroyed)return;v.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(S)In(e,l,i,r,s,d,v,P,f,y)}var at=()=>{let e={},t=(r,s)=>{if(!e[r])e[r]=new Set;return e[r].add(s),()=>n(r,s)},n=(r,s)=>{e[r]?.delete(s)};return{on:t,off:n,emit:(r,s)=>{e[r]?.forEach((d)=>{try{d(s)}catch(v){}})},clear:(r)=>{if(r)delete e[r];else for(let s in e)delete e[s]}}};var jt=2,Jt=(e=0)=>({velocity:0,sampleCount:0}),Qt=(e,t)=>{let n=performance.now(),l=e._lt??n,i=e._lp??t,r=n-l;if(e._lp=t,e._lt=n,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 ye(e,t,n=!1){if(t===void 0)return;if(typeof t!=="number"||!Number.isFinite(t)||t<0||t===0&&!n)throw Error(`vlist: ${e} must be a ${n?"non-negative":"positive"} number, got ${t}`)}function Cn(e){let{item:t}=e;if(typeof t.height==="number")ye("item.height",t.height);if(typeof t.width==="number")ye("item.width",t.width);ye("item.estimatedHeight",t.estimatedHeight),ye("item.estimatedWidth",t.estimatedWidth),ye("item.gap",t.gap,!0),ye("overscan",e.overscan,!0);let n=e.scroll;if(n?.runway!==void 0||!/^(auto|native|synthetic)?$/.test(n?.mode??""))throw Error('vlist: scroll.mode is "auto", "native" or "synthetic" (bounded mode and scroll.runway were removed in 3.0)')}function Pn(e,t){let n=e==="horizontal"?"x":"y";if(t.some((i)=>i.name==="grid"))return{primary:n,cross:n==="x"?"y":"x"};return{primary:n}}function An(e,t,n){let l=Pn(e.orientation,t),i=l.primary==="x",r=Vt(e.padding);return{axis:l,hasCrossAxis:l.cross!==void 0,overscan:e.overscan??ke,reverse:e.reverse??!1,classPrefix:e.classPrefix??Rt,mainAxisPadding:kt(r,i),crossAxisPadding:Ft(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:n}}function Mn(e,t){if(t)return e.item.width??e.item.estimatedWidth??100;return e.item.height??e.item.estimatedHeight??40}function wn(e){let t=[...e];return t.sort((n,l)=>(n.priority??50)-(l.priority??50)),t}function zn(e){let t=new Set;for(let n of e){if(t.has(n.name))throw Error(`[vlist] Duplicate plugin: ${n.name}`);t.add(n.name)}for(let n of e)if(n.conflicts){for(let l of n.conflicts)if(t.has(l))throw Error(`[vlist] Plugin "${n.name}" conflicts with "${l}"`)}}function _n(e,t){for(let n of e)n.validateConfig?.(t)}var Ke=null;function en(e,t=[],n,l){Cn(e);let i=n?"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=An(e,t,i),s=r.axis.primary==="x",d=Mn(e,s),v=r.gap,P=v>0?typeof d==="function"?(a)=>d(a)+v:d+v:d,f=typeof d==="number"?d:20,y=e.items?.length??0,S=r.striped?`${r.classPrefix}-item--odd`:"",g=at(),w=Zt(r.classPrefix,s,r.startPadding,r.crossPadStart,r.crossPadEnd,S,v,g),A=t.length>0?wn(t):t;if(t.length>0)zn(A),_n(A,r);let M=it(e.container),p=$t(M,r.classPrefix,s,e.ariaLabel);if(e.scroll?.scrollbar==="none")p.viewport.classList.add(`${r.classPrefix}-viewport--no-scrollbar`);if(e.scroll?.gutter==="stable")p.viewport.classList.add(`${r.classPrefix}-viewport--gutter-stable`);let x=Be(P,y,v),z=Bt(r.classPrefix),K=Math.ceil(4096/f)+r.overscan*2+8,u=Dt(K);u.totalItems=y;let E=e.items?[...e.items]:[],H=()=>E,C=new Map,b=Jt(),k={velocity:0,reliable:!1},h={range:{start:0,end:-1}},L={scrollPosition:0,direction:"down"},U={scrollPosition:0},B=-1,Y=-1,ee=-1,T=null,O=Ut(A),_=new Map,me=[],le=[],Se=[],se=(a)=>{let o=(m)=>{a.push(m instanceof Error?m:Error(String(m)))};for(let m of Se)try{m()}catch(I){o(I)}for(let m of A)if(m.destroy)try{m.destroy()}catch(I){o(I)}},fe=null,j=null,xe,pe,ne=null,Ee=null,c=null,R=null,W=null,F=null,G=null,Le=null,ae=!1,ut=!1,Te=null,dt=0,mt=0,ft=null,pt=null,bt=null,vt=null,Ue=null,Ge=null,ze=null,Z=null,_e=null,q=null,gt=(a)=>q.setLogical(a),qe=!1,be=!1,Xe=null,ve=null,Ie=null,ht=null;u.containerSize=s?p.viewport.clientWidth:p.viewport.clientHeight,u.crossSize=s?p.viewport.clientHeight:p.viewport.clientWidth;function oe(a){if(j)j(a);else{if(s)p.viewport.scrollLeft=a;else p.viewport.scrollTop=a;if(pe?.(),be&&Math.abs(u.scrollPosition-a)>1)Xe=a}}let ce=Wt({sizeCache:x,getPixel:()=>u.scrollPosition,setPixel:oe,getRenderOrigin:()=>u.baseOffset,getContainerSize:()=>u.containerSize,padding:r.mainAxisPadding}),Re=()=>fe?fe():E.length,He=(a)=>c?c(a):E[a],yt=(a)=>{if(q?.shiftBy)q.shiftBy(a);else oe(u.scrollPosition+a)},ge=()=>{u.totalItems=E.length,x.rebuild(u.totalItems),Oe()},St=(a)=>{if(W)return W(a);let o=E.findIndex((m)=>m.id===a);if(o!==-1)E.splice(o,1),ge();return o},xt=(a,o)=>{if(F)F(a,o??u.totalItems);else E.splice(o??E.length,0,a),ge()};if(t.length>0){let a={pool:z,config:r,emitter:g,template:e.item.template,getState(){return u},dom:{...p,renderedElement(o){let m=_.get("_getRenderedElement");if(m)return m(o);return C.get(o)??null},enableListbox(){let o=p.content.getAttribute("role");if(!o||o==="list")p.content.setAttribute("role","listbox"),p.content.setAttribute("tabindex","0");w.itemRole="option",w.interactive=!0}},scroll:{...ce,to:oe,shiftBy:yt,smoothTo(o,m,I,V){if(Z)Z.smoothScrollTo(o,m,j??void 0,I,V);else a.scroll.to(typeof o==="function"?o():o)},cancel(){Z?.cancelScroll()},commit(o){pe(o)},setSource(o){j=o.write,xe=o.onContentSize,ae=!0},setTarget(o){Te=o},setWrap(o,m){Ie=o,ht=m},setBoundedWrap(o,m){a.scroll.setWrap(o,m)},setToPosFn(o){Ue=o},setToIndexFn(o){Ge=o},onFrame:Je,onIdle:Ve,disableResize(){ut=!0}},items:{all:H,at:He,removeById:St,insertAt:xt,setGetFn(o){c=o},setRemoveFn(o){W=o},setInsertFn(o){F=o},setUpdateFn(o){G=o},setIndexByIdFn(o){Le=o},setTotalFn(o){fe=o,w.ariaTotalFn=o},setIndexMapFn(o){w.indexMap=o}},sizes:{cache:x,get rawSpec(){return d},setConfig(o,m=0){let I=Be(o,u.totalItems,m),V=_.get("_setSizeCacheBase");if(V){let D=x.rebuild;Object.assign(x,I),x.rebuild=D,V(I.rebuild)}else Object.assign(x,I)},rebuild(){x.rebuild(u.totalItems)}},render:{force(){te()},ifNeeded(){Ce()},contentSize:je,setFn(o,m){ne=()=>{let{prevRangeStart:I,prevRangeEnd:V}=u;if(o(),u.prevRangeStart!==I||u.prevRangeEnd!==V)Me(O.commit,u)},Ee=()=>{m(),Me(O.commit,u)}},setStateFn(o){R=o},getStateFn(){return R}},hooks:{method(o,m){if(!o.startsWith("_")&&_.has(o))throw Error(`[vlist] duplicate method "${o}"; rename it or use a set*Fn hook`);_.set(o,m)},get(o){return _.get(o)},onClick(o){me.push(o)},onKeydown(o){le.push(o)},onDestroy(o){Se.push(o)}},nav:{set(o){if(o.ud!==void 0)dt=o.ud;if(o.lr!==void 0)mt=o.lr;if(o.scrollIndex)ft=o.scrollIndex;if(o.navigate)pt=o.navigate;if(o.total)bt=o.total;if(o.reveal)vt=o.reveal},get:(()=>{let o={ud:0,lr:0,scrollIndex:null,navigate:null,total:null,reveal:null};return()=>(o.ud=dt,o.lr=mt,o.scrollIndex=ft,o.navigate=pt,o.total=bt,o.reveal=vt,o)})()}};for(let o of A)if(o.setup)try{o.setup(a)}catch(m){let I=m instanceof Error?m:Error(String(m));g.emit("error",{error:I,context:`plugin:setup:${o.name}`})}}let Ye=r.classPrefix+"--scrolling",re=!1,Ze=e.scroll?.idleTimeout??he;function Et(){if(L.scrollPosition=u.scrollPosition,s)L.direction=u.scrollDirection>0?"right":"left";else L.direction=u.scrollDirection>0?"down":"up";if(g.emit("scroll",L),Qt(b,u.scrollPosition),k.velocity=b.velocity,k.reliable=b.sampleCount>=jt,g.emit("velocity:change",k),u.startIndex!==B||u.prevRangeEnd!==Y)B=u.startIndex,Y=u.prevRangeEnd,h.range.start=u.startIndex,h.range.end=u.prevRangeEnd,g.emit("range:change",h)}function je(a,o=!0){let m=a+r.mainAxisPadding;if(qe)dn(m);if(q){if(o)q.refresh(a);return}if(u.totalSize=a,xe?.(m),o)p.content.style[s?"width":"height"]=Math.min(m,rt)+"px"}function Oe(){let a=ne?u.totalSize:x.getTotalSize();if(je(a,!ne),q||ne||qe)return;l?.onContentSize(a,g)}function Lt(){if(!ze||Re()===0)return;let a=ze;ze=null,tt.scrollToIndex(a.index,a.alignOrOptions)}function Ce(){if(ne)ne();else st(u,x,r.overscan,z,p.content,e.item.template,H,C,w,O,c,R);Lt()}function Je(){if(Xe=null,!re)re=!0,p.root.classList.add(Ye);if(Ce(),lt(O.afterScroll,u.scrollPosition,u.scrollDirection),ve?.sync(),u.scrollPosition!==ee)ee=u.scrollPosition,Et()}function Tt(){z.trim(C.size)}function dn(a){let o=!!q;if(be=(i==="synthetic"||a>rt*(o?0.75:1))!==o,!be)return;if(!Ke)l.load().then((I)=>{if(Ke=I,!u.destroyed)Oe()},(I)=>g.emit("error",{error:I,context:"scroll:mode"}));else if(!re)mn(a)}function mn(a){let o=Xe??u.scrollPosition;if(be=!1,Z.detach(),ve?.destroy(),ve=null,q)Z=_e,q=j=null,u.baseOffset=0,p.content.style[s?"width":"height"]=a+"px",Z.attach(),oe(o);else if(p.viewport[s?"scrollLeft":"scrollTop"]=0,Z=q=Ct(Ke.createSyntheticScrollHandler),j=gt,q.refresh(a-r.mainAxisPadding),(ve=Ke.attachScrollbar(u,p,r,x,oe,e.scroll?.scrollbar))?.sync(),u.initialized)Z.attach(),q.setLogical(o);g.emit("scroll:mode",{mode:q?"synthetic":"native"})}function Ve(){if(re)re=!1,p.root.classList.remove(Ye);if(u.scrollDirection=0,Tt(),qt(O.idle),k.velocity=0,k.reliable=!1,g.emit("velocity:change",k),U.scrollPosition=u.scrollPosition,g.emit("scroll:idle",U),be)Oe()}function te(){if(u.renderPending=!0,Ee)Ee();else st(u,x,r.overscan,z,p.content,e.item.template,H,C,w,O,c,R);if(Lt(),lt(O.afterScroll,u.scrollPosition,u.scrollDirection),ve?.sync(),u.scrollPosition!==ee){if(ee=u.scrollPosition,Et(),T!==null)clearTimeout(T);T=setTimeout(Ve,Ze)}else if(!re)Tt()}let It=ae?!1:e.scroll?.wheel!==!1;if(ae&&Ie)throw se([]),p.root.remove(),Error("vlist: page() is not compatible with the carousel plugin — document scrolling cannot wrap.");function Ct(a){return a({state:u,sizeCache:x,viewport:p.viewport,content:p.content,isX:s,wheelEnabled:It,idleTimeout:Ze,...Te?{scrollTarget:Te}:{},mainAxisPadding:r.mainAxisPadding,...Ie?{wrap:Ie,rendered:C,classPrefix:r.classPrefix,oddClass:S,onFold(o){let m=b;if(m._lp!==void 0)m._lp-=o;ee-=o}}:{},onFrame:Je,onIdle:Ve})}if(!ae&&(n||Ie))Z=q=Ct(n??ht),j=gt;else _e=(ae?Ot:l.native)({state:u,viewport:p.viewport,isX:s,wheelEnabled:It,idleTimeout:Ze,...Te?{scrollTarget:Te}:{},onFrame:Je,onIdle:Ve}),Z=_e,pe=_e.commitScroll,qe=!ae&&i!=="native";function fn(a){let m=a.target.closest("[data-index]");if(!m)return null;let I=parseInt(m.getAttribute("data-index"),10);if(Number.isNaN(I))return null;let V=_.get("_layoutToDataIndex"),D,J=I;if(V){let Q=V(I);if(Q<0)return null;let ie=_.get("_getItemAtLayout"),ue=_.get("_getItem");D=ie?ie(I):ue?ue(Q):He(Q),J=Q}else D=He(I);if(D===void 0)return null;return{item:D,index:J}}let Qe=(a,o)=>{let m=fn(o);if(m)g.emit(a,{item:m.item,index:m.index,event:o})};function Pt(a){for(let o=0;o<me.length;o++)me[o](a);Qe("item:click",a)}function At(a){Qe("item:dblclick",a)}function Mt(a){Qe("item:contextmenu",a)}function wt(a){let o=a.target?.tagName;if((o==="INPUT"||o==="TEXTAREA"||o==="SELECT")&&!((a.ctrlKey||a.metaKey)&&(a.key==="f"||a.key==="F")))return;for(let m=0;m<le.length;m++)le[m](a)}if(p.content.addEventListener("click",Pt),p.content.addEventListener("dblclick",At),p.content.addEventListener("contextmenu",Mt),le.length>0)p.root.addEventListener("keydown",wt);let et=null;if(!ut)u.containerSize=s?p.viewport.clientWidth:p.viewport.clientHeight,setTimeout(()=>{if(u.destroyed)return;et=new ResizeObserver((o)=>{for(let m of o){let{width:I,height:V}=m.contentRect,D=s?I:V,J=s?V:I;if(Math.abs(D-u.containerSize)<1&&Math.abs(J-u.crossSize)<1)continue;if(u.containerSize=D,u.crossSize=J,u.resizeCapacity(D,f,r.overscan),q)q.refresh(x.getTotalSize());te(),Xt(O.resize,I,V),g.emit("resize",{width:I,height:V})}}),et.observe(p.viewport)},0);u.resizeCapacity(u.containerSize,f,r.overscan),Oe(),u.initialized=!0;let Pe=null;if(e.defer)Pe=requestAnimationFrame(()=>{if(Pe=null,!u.destroyed)Ce()});else Ce();if(!ae)Z.attach();let tt={get element(){return p.root},get items(){return E},get total(){return Re()},setItems(a){E=[...a],ge(),te()},appendItems(a){let o=r.reverse&&u.scrollPosition>=ce.getMaxPixelEquivalent()-1;if(E.push(...a),ge(),te(),o)oe(ce.getMaxPixelEquivalent())},prependItems(a){let o=u.totalItems>0,m=x.getTotalSize();if(E.unshift(...a),ge(),te(),!r.reverse||!o)return;let I=x.getTotalSize()-m;if(I<=0)return;oe(Math.min(u.scrollPosition+I,ce.getMaxPixelEquivalent()))},updateItem(a,o){if(G){if(!G(a,o))return}else{let m=E.findIndex((I)=>I.id===a);if(m===-1)return;E[m]={...E[m],...o}}_.get("_onItemUpdate")?.(a,o),te()},remeasureItem(a){if(u.destroyed)return!1;if(!Number.isInteger(a)||a<0||a>=Re())return!1;let o=_.get("_itemRemeasureSupported");if(o&&!o())return!1;let m=_.get("remeasure");if(m)return m(a),!0;let I=_.get("_dataSizeIsVariable");if(!(I?I():x.isVariable()))return!1;let V=_.get("_dataToLayoutIndex"),D=V?V(a):a,J=x.getOffset(D+1)-x.getOffset(D),Q=x.getSize(D);if(Q===J)return!0;let ie=x.indexAtOffset(ce.getPixelEquivalent());if(x.invalidate(D,D),_.get("_onItemRemeasure")?.(D),je(x.getTotalSize()),D<ie)yt(Q-J);return te(),!0},insertItem(a,o){xt(a,o),te()},removeItem(a){if(St(a)>=0)te()},removeItems(a){if(W){let V=0;for(let D of a)if(W(D)>=0)V++;if(V>0)te();return V}let o=new Set(a),m=E.length;E=E.filter((V)=>!o.has(V.id));let I=m-E.length;if(I>0)ge(),u.renderPending=!0,Ce();return I},getItemAt(a){if(w.indexMap){let m=_.get("_getLoadedItem");return m?m(a):E[a]}let o=_.get("_getItemAtLayout");if(o){let m=_.get("_dataToLayoutIndex");return o(m?m(a):a)}return He(a)},getIndexById(a){if(Le)return Le(a);return E.findIndex((o)=>o.id===a)},scrollToIndex(a,o="start"){if(Re()===0){ze={index:a,alignOrOptions:o};return}let m=typeof o==="string"?o:o.align??"start",I=typeof o==="object"?o.behavior:void 0,V=typeof o==="object"?o.duration:void 0,D=typeof o==="object"?o.easing:void 0;if(Ge&&Ge(a,m,I,V,D)!==!1)return;let J=()=>{let Q=x.getTotal();if(Q===0)return 0;let ie=Math.max(0,Math.min(a,Q-1)),ue=x.getOffset(ie),zt=x.getSize(ie),nt=u.containerSize,pn=ce.getMaxPixelEquivalent(),de;if(Ue)de=Ue(ie,x,nt,Q,m);else{let bn=r.startPadding;switch(m){case"center":de=bn+ue-(nt-zt)/2;break;case"end":de=ue+zt+r.mainAxisPadding-nt;break;default:de=ue}de=Math.max(0,Math.min(de,pn))}return de};if(I==="smooth"&&!be)Z.smoothScrollTo(J,V??Ht,j??void 0,D);else oe(J())},getScrollPosition(){return ce.getPixelEquivalent()},on:g.on.bind(g),off:g.off.bind(g),destroy(){if(u.destroyed)return;if(u.destroyed=!0,re)re=!1,p.root.classList.remove(Ye);if(Pe!==null)cancelAnimationFrame(Pe),Pe=null;if(T!==null)clearTimeout(T),T=null;Z.detach(),ve?.destroy(),et?.disconnect(),p.content.removeEventListener("click",Pt),p.content.removeEventListener("dblclick",At),p.content.removeEventListener("contextmenu",Mt),p.root.removeEventListener("keydown",wt);let a=[];se(a);for(let[,o]of C)o.remove();if(C.clear(),z.clear(),p.root.remove(),g.emit("destroy",void 0),g.clear(),a.length>0)for(let o of a)console.error("vlist: error during destroy:",o)}};for(let[a,o]of _){if(a.startsWith("_"))continue;tt[a]=o}return tt}un();function Ao(e,t=[]){return en(e,t,cn)}export{Ao as createVList};
1
+ var _t=(e,t,n)=>()=>{if(e)try{t=e(e=0)}catch(l){n=[l]}if(n)throw n[0];return t};var ke=3,Rt="vlist",rt=16000000,he=150,Fe=(e)=>e<0.5?2*e*e:1-(-2*e+2)**2/2,Ht=300,De="__placeholder_";function Rn(e,t,n,l,i){if(t===0||e.size===0)return;let r=e.size;if($e.length<r)$e=new Int32Array(r);if(we.length<r)we.length=r;let s=0;for(let[y,S]of e)$e[s]=y,we[s]=S,s++;e.clear();let d=n+"-item-",v=l.getAttribute("aria-activedescendant"),P=null,f=i&&t&1;for(let y=0;y<r;y++){let S=$e[y],g=we[y];we[y]=void 0;let w=S-t;if(e.set(w,g),v!==null&&g.id===v)P=g;if(g.id===d+S)g.id=d+w;if(f)g.classList.toggle(i)}if(P!==null)l.setAttribute("aria-activedescendant",P.id)}function Hn(e,t,n){if(t===0&&n===0)return;e.prevRangeStart-=t,e.prevRangeEnd-=t,e.startIndex-=t,e.prevBaseOffset-=n;let l=e.visibleCount;for(let i=0;i<l;i++)e.visibleIndices[i]-=t,e.visibleOffsets[i]-=n}function tn(e,t){let n=t>1?Math.trunc(e):Math.floor(e);return Math.abs(n)<t?0:n}function nn(e,t,n,l,i,r,s){let d=e.lapSize(),v=e.itemsPerLap(),P=d>0?Math.round(t/d)*v:0;if(P===0)return;if(i)Rn(i,P,r,l,s);Hn(n,P,t)}var $e,we;var on=_t(()=>{$e=new Int32Array(0),we=[]});function an({getMax:e,onChange:t=()=>{},onFinish:n,axis:l="y",reducedMotion:i}){let r=0,s=0,d=null,v=0,P=0,f=0,y=0,S=0,g=null,w=0,A=0,M=0,p=0,N=400,x=rn,z=()=>M,K=0.006,u=(h)=>{let L=e();return Number.isFinite(L)?Math.max(0,Math.min(L,h)):h},E=(h,L)=>l==="y"?L:h,H=(h,L)=>l==="y"?h:L;function C(h){let L=u(h);if(L!==r)r=L,t(r);return L!==h}function b(){S=0,s=d===null?0:5}function k(h){b(),C(h)}return{get position(){return r},get state(){return s},get velocity(){return S},get active(){return s===3||s===4},begin(h,L,U,B){if(d!==null){b();return}b(),d=h,v=f=E(L,U),P=H(L,U),y=B,s=1},move(h,L,U,B){if(h!==d||s!==1&&s!==2)return!1;let Y=E(L,U);if(s===1){let O=Math.abs(Y-v),_=Math.abs(H(L,U)-P);if(Math.max(O,_)<6)return!1;if(_>O*1.2)return b(),!1;if(O<_*1.2)return!1;s=2}let ee=f-Y,T=B-y;if(T>0){let O=Math.max(-3,Math.min(3,ee/T));S=T>80?0:O*S<0?O:0.65*O+0.35*S}if(f=Y,y=B,C(r+ee))S=0;return!0},end(h,L){if(h!==d)return;if(d=null,s===2&&!i()&&L-y<=80&&Math.abs(S)>=0.02)g=null,s=3;else S=0,s=0},cancel:b,reset(){d=null,b()},jump:k,shiftBy(h){A+=h,p+=h,C(r+h)},by(h){b();let L=r;return C(r+h),r!==L},smooth(h,L=400,U=rn){if(b(),p=0,z=typeof h==="function"?h:()=>h,d!==null||i()||L<=0){C(z());return}N=L,x=U,A=r,M=u(z()+p),g=null,s=4},resize(){b(),C(r)},tick(h){if(s!==3&&s!==4)return;if(g===null){if(g=h,s===4)w=h;return}let L=h-g;if(L<=0)return;if(g=h,L>100){if(s===4)C(u(z()+p)),s=0,n?.();else b();return}if(s===4){M=u(z()+p);let Y=Math.min(1,(h-w)/N);if(C(A+(M-A)*x(Y)),Y===1)s=0,n?.();return}let U=Math.exp(-K*L),B=C(r+S*(1-U)/K);if(S*=U,B||Math.abs(S)<0.02)S=0,s=0}}}var ln=1,sn=2,rn=(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 cn(e){let{state:t,viewport:n,content:l,isX:i,onFrame:r,onIdle:s,mainAxisPadding:d,wrap:v}=e,P=n.parentElement??n,f=n.ownerDocument.defaultView,y=n.ownerDocument,S=f.matchMedia("(prefers-reduced-motion: reduce)"),g=0,w=null,A=null,M=!1,p=!1,N=!1,x=-1,z=-1,K=null,u=null,E=!1,H=!1,C=!1,b=!1,k,h=new Set;function L(c){let R=t.scrollPosition;if(v){let W=v.lapSize(),F=W>0?tn((c-v.home())/W,v.thresholdLaps):0;if(F!==0){let G=F*W;N=!0,T.shiftBy(-G),N=!1,c=T.position,R-=G,nn(v,G,t,l,e.rendered,e.classPrefix??"",e.oddClass),e.onFold?.(G),v.onFold?.(G)}}if(t.prevScrollPosition=R,t.scrollPosition=t.baseOffset=c,t.scrollDirection=c>R?1:c<R?-1:0,!p)r()}function U(){if(A=null,T.active||T.state===sn||T.state===ln)return;t.scrollDirection=0,s()}function B(){if(!M)return;if(A!==null)clearTimeout(A);A=setTimeout(U,e.idleTimeout||he)}function Y(){if(M&&w===null&&T.active)w=requestAnimationFrame(ee)}function ee(c){if(w=null,T.tick(c),T.active)Y();else B()}let T=an({axis:i?"x":"y",getMax:()=>v?1/0:g,reducedMotion:()=>S.matches,onChange(c){if(!N)L(c)},onFinish(){let c=k;k=void 0,c?.()}});function O(){if(k=void 0,w!==null)cancelAnimationFrame(w),w=null;if(T.cancel(),A!==null)clearTimeout(A),A=null}function _(){if(O(),T.reset(),b&&K!==null&&n.hasPointerCapture(K))n.releasePointerCapture(K);b=!1,h.clear(),K=u=null,E=H=C=!1,B()}function me(c){if(!We(c))return;if(c.isPrimary){if(h.size)_();h.clear()}if(h.add(c.pointerId),h.size>1){C=!0,O();return}if(!(c.target instanceof Element)||ct(c.target)){O();return}K=c.pointerId,E=!1,H=T.active,u=null,O(),T.begin(c.pointerId,c.clientX,c.clientY,c.timeStamp)}function le(c){if(!We(c)||c.target instanceof Node&&n.contains(c.target))return;if(c.isPrimary&&h.size)_();else if(h.size)h.add(c.pointerId),C=!0,O()}function Se(c){if(!We(c)||C)return;if(T.move(c.pointerId,c.clientX,c.clientY,c.timeStamp)){if(E=!0,!b)n.setPointerCapture(c.pointerId),b=!0;if(c.cancelable)c.preventDefault()}}function se(c){if(!We(c)||!h.has(c.pointerId))return;let R=c.type==="pointercancel";if(R)O();if(K===c.pointerId){if(!R&&!C&&(E||H))u=c.pointerId;if(b&&n.hasPointerCapture(c.pointerId))n.releasePointerCapture(c.pointerId);b=!1,K=null,E=H=!1}if(T.end(c.pointerId,c.timeStamp),h.delete(c.pointerId),!h.size){if(C||R)T.reset();C=!1}Y(),B()}function fe(c){let R=c.pointerId;if(c.detail!==0&&u!==null&&(R===u||R===void 0))u=null,c.preventDefault(),c.stopImmediatePropagation()}function j(c){if(c.ctrlKey||c.defaultPrevented||!(c.target instanceof Element)||ct(c.target))return;let R=c.deltaMode===1?16:c.deltaMode===2?t.containerSize:1,W=i?c.deltaX:c.deltaY,F=i?c.deltaY:c.deltaX,G=i?n.scrollHeight>n.clientHeight:n.scrollWidth>n.clientWidth;if(G&&Math.abs(F)>Math.abs(W))return;if(G&&F!==0)if(c.preventDefault(),i)n.scrollTop+=F*R;else n.scrollLeft+=F*R;let Le=i&&!G&&W===0?F:W;if(O(),T.by(Le*R))c.preventDefault();B()}function xe(c){if(c.defaultPrevented||c.ctrlKey||c.metaKey||c.altKey||!(c.target instanceof Element)||ct(c.target))return;if((c.key===" "||c.key==="Enter")&&c.target.closest("button,summary,a,input"))return;let R=e.sizeCache,W=R.getSize(R.indexAtOffset(T.position)),F;if(c.key===(i?"ArrowRight":"ArrowDown"))F=T.position+W;if(c.key===(i?"ArrowLeft":"ArrowUp"))F=T.position-W;if(c.key==="PageDown"||c.key===" ")F=T.position+t.containerSize*(c.shiftKey&&c.key===" "?-1:1);if(c.key==="PageUp")F=T.position-t.containerSize;if(c.key==="Home")F=0;if(c.key==="End")F=g;if(F!==void 0)c.preventDefault(),ne(F)}function pe(){if(y.hidden)_()}function ne(c){let R=T.position;if(O(),T.jump(c),R===(v?c:Math.max(0,Math.min(g,c))))L(T.position);B()}function Ee(c){let R=x!==t.containerSize||z!==t.crossSize,W=c!==t.totalSize||R;if(x=t.containerSize,z=t.crossSize,t.totalSize=c,g=Math.max(0,c+d-t.containerSize),W){if(p=!0,R)O(),T.resize();else T.shiftBy(0);L(T.position),p=!1}}return{setLogical:ne,refresh:Ee,shiftBy(c){if(t.totalSize=e.sizeCache.getTotalSize(),g=Math.max(0,t.totalSize+d-t.containerSize),T.shiftBy(c),!T.active)B()},cancelScroll(){O(),B()},getLogical:()=>t.scrollPosition,getMaxLogical:()=>g,smoothScrollTo(c,R,W,F=Fe,G){if(O(),T.smooth(c,R,F),k=G,!T.active)k=void 0,G?.(),B();else Y()},attach(){if(M)return;if(M=!0,n.style.overflowX=i?"hidden":"auto",n.style.overflowY=i?"auto":"hidden",n.style.touchAction=i?"pan-y pinch-zoom":"pan-x pinch-zoom",n.style.overflowAnchor="none",l.style[i?"width":"height"]="100%",l.style.overflow="clip",l.style.overflowAnchor="none",n.addEventListener("pointerdown",me),f.addEventListener("pointerdown",le),n.addEventListener("pointermove",Se,{passive:!1}),f.addEventListener("pointerup",se),f.addEventListener("pointercancel",se),n.addEventListener("click",fe,!0),e.wheelEnabled)n.addEventListener("wheel",j,{passive:!1});P.addEventListener("keydown",xe),f.addEventListener("blur",_),y.addEventListener("visibilitychange",pe),S.addEventListener("change",_),Y()},detach(){if(M=!1,_(),A!==null)clearTimeout(A),A=null;n.removeEventListener("pointerdown",me),f.removeEventListener("pointerdown",le),n.removeEventListener("pointermove",Se),f.removeEventListener("pointerup",se),f.removeEventListener("pointercancel",se),n.removeEventListener("click",fe,!0),n.removeEventListener("wheel",j),P.removeEventListener("keydown",xe),f.removeEventListener("blur",_),y.removeEventListener("visibilitychange",pe),S.removeEventListener("change",_),n.style.overflowX=n.style.overflowY=n.style.touchAction=n.style.overflowAnchor="",l.style.overflow=l.style.overflowAnchor=""}}}var We=(e)=>e.pointerType==="touch"||e.pointerType==="pen";var un=_t(()=>{on()});function Ot(e){let{state:t,viewport:n,isX:l,onFrame:i,onIdle:r}=e,s=e.idleTimeout||he,d=null,v=null;function P(g=l?n.scrollLeft:n.scrollTop){t.prevScrollPosition=t.scrollPosition,t.scrollPosition=g,t.scrollDirection=g>t.prevScrollPosition?1:g<t.prevScrollPosition?-1:0,i(),f()}function f(){if(d!==null)clearTimeout(d);d=setTimeout(()=>{d=null,t.scrollDirection=0,r()},s)}function y(){if(v!==null)cancelAnimationFrame(v),v=null}function S(g,w,A,M=Fe,p){y();let N=t.scrollPosition,x=typeof g==="function"?g:()=>g,z=x();if(Math.abs(z-N)<1){if(A)A(z);else if(l)n.scrollLeft=z;else n.scrollTop=z;p?.();return}let K=performance.now();function u(E){z=x();let H=E-K,C=Math.min(H/w,1),b=N+(z-N)*M(C);if(A)A(b);else{if(l)n.scrollLeft=b;else n.scrollTop=b;let k=l?n.scrollLeft:n.scrollTop;P(Math.abs(k-b)>1?k:b)}if(C<1)v=requestAnimationFrame(u);else v=null,p?.()}v=requestAnimationFrame(u)}return{attach(){},detach(){if(y(),d!==null)clearTimeout(d),d=null},cancelScroll:y,smoothScrollTo:S,commitScroll:P}}var Ne={top:0,right:0,bottom:0,left:0},Vt=(e)=>{if(e==null)return Ne;if(typeof e==="number")return e===0?Ne:{top:e,right:e,bottom:e,left:e};if(e.length===2){let[r,s]=e;return r===0&&s===0?Ne:{top:r,right:s,bottom:r,left:s}}let[t,n,l,i]=e;return t===0&&n===0&&l===0&&i===0?Ne:{top:t,right:n,bottom:l,left:i}},kt=(e,t)=>t?e.left+e.right:e.top+e.bottom,Ft=(e,t)=>t?e.top+e.bottom:e.left+e.right;function Dt(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(n){if(n<=t.capacity)return;let l=n+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(n,l,i=ke){if(l<=0||n<=0)return;t.ensureCapacity(Math.ceil(n/l)+i*2)},clear(){t.visibleCount=0,t.startIndex=0}};return t}var vn=(e,t,n)=>{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-n:0},getTotal:()=>l,rebuild:(i)=>{l=i},invalidate:()=>{},isVariable:()=>!1}};var Nt=(e,t,n,l)=>{while(t<n){let i=t+n+1>>>1;if(e[i]<=l)t=i;else n=i-1}return t},gn=(e,t,n)=>{let l=0,i=0,r=new Float64Array(0),s=new Float64Array(0),d=new Float64Array(1),v=(f,y)=>{for(let S=f;S<i;S++){if(S<=y){let g=S<<9,w=Math.min(g+512,l),A=0;for(let M=g;M<w;M++)r[M]=A,A+=e(M);s[S]=A}d[S+1]=d[S]+s[S]}},P=(f)=>{l=f,i=Math.ceil(f/512),r=new Float64Array(f),s=new Float64Array(i),d=new Float64Array(i+1),v(0,i-1)};return P(t),{getOffset:(f)=>{if(f<=0)return 0;if(f>=l)return d[i];return d[f>>>9]+r[f]},getSize:(f)=>e(f),indexAtOffset:(f)=>{if(l===0||f<=0)return 0;if(f>=d[i])return l-1;let y=Nt(d,0,i-1,f),S=y<<9;return Nt(r,S,Math.min(S+512,l)-1,f-d[y])},getTotalSize:()=>{let f=d[i];return f>0?f-n:0},getTotal:()=>l,rebuild:(f)=>P(f),invalidate:(f,y=f)=>{if(f>=0&&y<l)v(f>>>9,y>>>9)},isVariable:()=>!0}},Be=(e,t,n=0)=>{if(typeof e==="number")return vn(e,t,n);return gn(e,t,n)};function Bt(e){let t=[],n=`${e}-item`,l=document.createElement("div");return l.className=n,{acquire(){if(t.length>0)return t.pop();return l.cloneNode(!1)},release(i){i.className=n,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 Kt(e){let t=e.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let n=0;n<t.length;n++)t[n].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 $t(e,t,n,l){let i=n?`${t} ${t}--horizontal`:t,r=n?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",s=n?"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,"&quot;")}"`;if(n)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 v=e.lastElementChild,P=v.firstElementChild,f=P.firstElementChild,y=document.createElement("div");return y.className=`${t}-live`,y.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",y.setAttribute("aria-live","polite"),y.setAttribute("aria-atomic","true"),y.setAttribute("role","status"),v.appendChild(y),{root:v,viewport:P,content:f,liveRegion:y}}function hn(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 yn(e,t){let n=Sn(e,t);return e.getOffset(n.index)+n.offsetPx}function Sn(e,t){let n=e.getTotal();if(n<=0)return{index:0,offsetPx:0};let{index:l,offsetPx:i}=t;if(l<0)return{index:0,offsetPx:0};if(l>n-1)l=n-1;while(i>0&&l<n-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 Wt(e){let{sizeCache:t,getPixel:n,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 v=r();return d>v?v:d}return{getLogical(){return hn(t,n())},setLogical(d){l(s(yn(t,d)))},getPixelEquivalent(){return n()},setPixelEquivalent(d){l(s(d))},getMaxPixelEquivalent:r,getRenderOrigin:e.getRenderOrigin,scrollByPx(d){l(s(n()+d))}}}var Ae=[],xn={calculate:Ae,commit:Ae,afterScroll:Ae,idle:Ae,resize:Ae};function Ut(e){if(e.length===0)return xn;let t=[],n=[],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)n.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:n,afterScroll:l,idle:i,resize:r}}function Gt(e,t){for(let n=0;n<e.length;n++)e[n](t)}function Me(e,t){for(let n=0;n<e.length;n++)e[n](t)}function lt(e,t,n){for(let l=0;l<e.length;l++)e[l](t,n)}function qt(e){for(let t=0;t<e.length;t++)e[t]()}function Xt(e,t,n){for(let l=0;l<e.length;l++)e[l](t,n)}function Zt(e,t,n,l,i,r,s,d){let v=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:n,gap:s,hasCrossPad:v,crossStartProp:v?t?"top":"left":"",crossEndProp:v?t?"bottom":"right":"",crossStartVal:v?l+"px":"",crossEndVal:v?i+"px":"",oddClass:r,emitter:d??null,indexMap:null,ariaTotalFn:null}}function En(e,t,n,l,i){if(e.containerSize<=0||e.totalItems===0)return e.clear(),!0;let{scrollPosition:r,containerSize:s,totalItems:d}=e,v=i??0;e.totalSize=t.getTotalSize();let P=t.indexAtOffset(v>0?Math.max(0,r-v):r),f=t.indexAtOffset(r+s);if(f<d-1)f++;P=Math.max(0,P),f=Math.min(d-1,Math.max(0,f));let y=Math.max(0,P-n),S=Math.min(d-1,f+n),g=Math.ceil(s)+n*2;if(S-y+1>g)S=y+g-1,e.windowClamped=!0;let w=S-y+1;if(w>e.capacity)e.ensureCapacity(w);let A=Math.min(w,e.capacity);if(y===e.prevRangeStart&&S===e.prevRangeEnd&&!e.renderPending&&e.baseOffset===e.prevBaseOffset)return!1;e.visibleCount=A,e.startIndex=y;for(let M=0;M<A;M++){let p=y+M;e.visibleIndices[M]=p,e.visibleOffsets[M]=t.getOffset(p),e.visibleSizes[M]=t.getSize(p)}return Gt(l.calculate,e),e.prevRangeStart=y,e.prevRangeEnd=S,e.prevBaseOffset=e.baseOffset,e.renderPending=!1,!0}var X={selected:!1,focused:!1};function Ln(e,t,n){for(let l=0;l<t;l++)if(e[l]===n)return!0;return!1}function Tn(e,t){if(t<=1)return!0;let n=e[0];for(let l=1;l<t;l++){let i=e[l];if(i!==n+1)return!1;n=i}return!0}function Yt(e,t,n,l,i){let r;try{r=t(n,l,X)}catch(s){return i.emitter?.emit("error",{error:s instanceof Error?s:Error(String(s)),context:`template:render:${l}`}),!1}if(typeof r==="string")e.innerHTML=r;else e.textContent="",e.appendChild(r);return Kt(e),!0}function In(e,t,n,l,i,r,s,d,v,P){let f=v?null:i(),{visibleCount:y,visibleIndices:S}=e,g=s.ariaTotalFn?s.ariaTotalFn():e.totalItems,w=s.interactive?String(g):"",A=s.interactive&&g!==e.prevAriaTotal,M=null,p=s.indexMap;for(let N=0;N<y;N++){let x=S[N],z=p?p(x):x,K=e.visibleOffsets[N],u=e.visibleSizes[N],E=v?v(x):f[x];if(P)P(z,X);else X.selected=!1,X.focused=!1;let H=r.get(x),C=H;if(H===void 0){let b=t.acquire();if(E!==void 0&&!Yt(b,l,E,z,s)){t.release(b);continue}if(b.setAttribute("role",s.itemRole),b.setAttribute("data-index",String(z)),s.interactive)b.id=s.prefix+"-item-"+x,b.setAttribute("aria-posinset",String(z+1)),b.setAttribute("aria-setsize",w);if(E!==void 0){let L=String(E.id);if(b.setAttribute("data-id",L),L.startsWith(De))b.classList.add(s.placeholderClass)}if(s.hasCrossPad)b.style.setProperty(s.crossStartProp,s.crossStartVal),b.style.setProperty(s.crossEndProp,s.crossEndVal);if(P){if(b.classList.toggle(s.selectedClass,X.selected),b.classList.toggle(s.focusedClass,X.focused),X.selected)b.setAttribute("aria-selected","true");else b.removeAttribute("aria-selected");b._lastSelected=X.selected,b._lastFocused=X.focused}if(s.oddClass)b.classList.toggle(s.oddClass,(x&1)===1);let k=K-e.baseOffset+s.startPadding;b.style.transform=s.translateProp+k+"px)",b._lastOffset=k;let h=u-s.gap;if(b.style[s.sizeProp]=h+"px",b._lastSize=h,b._lastItem=E,r.set(x,b),M===null)M=document.createDocumentFragment();M.appendChild(b)}else{if(A)H.setAttribute("aria-setsize",w);if(E!==void 0&&C._lastItem!==E){let h=H.getAttribute("data-id"),L=String(E.id);if(!Yt(H,l,E,z,s))continue;if(H.setAttribute("data-id",L),C._lastItem=E,h!==L){let U=h!==null&&h.startsWith(De),B=L.startsWith(De);if(U!==B)H.classList.toggle(s.placeholderClass,B);if(U&&!B)H.classList.add(s.replacedClass),setTimeout(()=>{H.classList.remove(s.replacedClass)},300)}}if(P){if(C._lastSelected!==X.selected){if(H.classList.toggle(s.selectedClass,X.selected),X.selected)H.setAttribute("aria-selected","true");else H.removeAttribute("aria-selected");C._lastSelected=X.selected}if(C._lastFocused!==X.focused)H.classList.toggle(s.focusedClass,X.focused),C._lastFocused=X.focused}let b=K-e.baseOffset+s.startPadding;if(C._lastOffset!==b)H.style.transform=s.translateProp+b+"px)",C._lastOffset=b;let k=u-s.gap;if(C._lastSize!==k)H.style[s.sizeProp]=k+"px",C._lastSize=k}}if(M!==null)n.appendChild(M);if(y>0&&Tn(S,y)){let N=S[0],x=S[y-1];for(let[z,K]of r)if(z<N||z>x)K.remove(),t.release(K),r.delete(z)}else for(let[N,x]of r)if(!Ln(S,y,N))x.remove(),t.release(x),r.delete(N);if(s.interactive)e.prevAriaTotal=e.totalItems;Me(d.commit,e)}function st(e,t,n,l,i,r,s,d,v,P,f,y){let S=En(e,t,n,P,v.startPadding);if(e.windowClamped&&!e.windowClampReported)e.windowClampReported=!0,queueMicrotask(()=>{if(e.destroyed)return;v.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(S)In(e,l,i,r,s,d,v,P,f,y)}var at=()=>{let e={},t=(r,s)=>{if(!e[r])e[r]=new Set;return e[r].add(s),()=>n(r,s)},n=(r,s)=>{e[r]?.delete(s)};return{on:t,off:n,emit:(r,s)=>{e[r]?.forEach((d)=>{try{d(s)}catch(v){}})},clear:(r)=>{if(r)delete e[r];else for(let s in e)delete e[s]}}};var jt=2,Jt=(e=0)=>({velocity:0,sampleCount:0}),Qt=(e,t)=>{let n=performance.now(),l=e._lt??n,i=e._lp??t,r=n-l;if(e._lp=t,e._lt=n,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 ye(e,t,n=!1){if(t===void 0)return;if(typeof t!=="number"||!Number.isFinite(t)||t<0||t===0&&!n)throw Error(`vlist: ${e} must be a ${n?"non-negative":"positive"} number, got ${t}`)}function Cn(e){let{item:t}=e;if(typeof t.height==="number")ye("item.height",t.height);if(typeof t.width==="number")ye("item.width",t.width);ye("item.estimatedHeight",t.estimatedHeight),ye("item.estimatedWidth",t.estimatedWidth),ye("item.gap",t.gap,!0),ye("overscan",e.overscan,!0);let n=e.scroll;if(n?.runway!==void 0||!/^(auto|native|synthetic)?$/.test(n?.mode??""))throw Error('vlist: scroll.mode is "auto", "native" or "synthetic" (bounded mode and scroll.runway were removed in 3.0)')}function Pn(e,t){let n=e==="horizontal"?"x":"y";if(t.some((i)=>i.name==="grid"))return{primary:n,cross:n==="x"?"y":"x"};return{primary:n}}function An(e,t,n){let l=Pn(e.orientation,t),i=l.primary==="x",r=Vt(e.padding);return{axis:l,hasCrossAxis:l.cross!==void 0,overscan:e.overscan??ke,reverse:e.reverse??!1,classPrefix:e.classPrefix??Rt,mainAxisPadding:kt(r,i),crossAxisPadding:Ft(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:n}}function Mn(e,t){if(t)return e.item.width??e.item.estimatedWidth??100;return e.item.height??e.item.estimatedHeight??40}function wn(e){let t=[...e];return t.sort((n,l)=>(n.priority??50)-(l.priority??50)),t}function zn(e){let t=new Set;for(let n of e){if(t.has(n.name))throw Error(`[vlist] Duplicate plugin: ${n.name}`);t.add(n.name)}for(let n of e)if(n.conflicts){for(let l of n.conflicts)if(t.has(l))throw Error(`[vlist] Plugin "${n.name}" conflicts with "${l}"`)}}function _n(e,t){for(let n of e)n.validateConfig?.(t)}var Ke=null;function en(e,t=[],n,l){Cn(e);let i=n?"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=An(e,t,i),s=r.axis.primary==="x",d=Mn(e,s),v=r.gap,P=v>0?typeof d==="function"?(a)=>d(a)+v:d+v:d,f=typeof d==="number"?d:20,y=e.items?.length??0,S=r.striped?`${r.classPrefix}-item--odd`:"",g=at(),w=Zt(r.classPrefix,s,r.startPadding,r.crossPadStart,r.crossPadEnd,S,v,g),A=t.length>0?wn(t):t;if(t.length>0)zn(A),_n(A,r);let M=it(e.container),p=$t(M,r.classPrefix,s,e.ariaLabel);if(e.scroll?.scrollbar==="none")p.viewport.classList.add(`${r.classPrefix}-viewport--no-scrollbar`);if(e.scroll?.gutter==="stable")p.viewport.classList.add(`${r.classPrefix}-viewport--gutter-stable`);let x=Be(P,y,v),z=Bt(r.classPrefix),K=Math.ceil(4096/f)+r.overscan*2+8,u=Dt(K);u.totalItems=y;let E=e.items?[...e.items]:[],H=()=>E,C=new Map,b=Jt(),k={velocity:0,reliable:!1},h={range:{start:0,end:-1}},L={scrollPosition:0,direction:"down"},U={scrollPosition:0},B=-1,Y=-1,ee=-1,T=null,O=Ut(A),_=new Map,me=[],le=[],Se=[],se=(a)=>{let o=(m)=>{a.push(m instanceof Error?m:Error(String(m)))};for(let m of Se)try{m()}catch(I){o(I)}for(let m of A)if(m.destroy)try{m.destroy()}catch(I){o(I)}},fe=null,j=null,xe,pe,ne=null,Ee=null,c=null,R=null,W=null,F=null,G=null,Le=null,ae=!1,ut=!1,Te=null,dt=0,mt=0,ft=null,pt=null,bt=null,vt=null,Ue=null,Ge=null,ze=null,Z=null,_e=null,q=null,gt=(a)=>q.setLogical(a),qe=!1,be=!1,Xe=null,ve=null,Ie=null,ht=null;u.containerSize=s?p.viewport.clientWidth:p.viewport.clientHeight,u.crossSize=s?p.viewport.clientHeight:p.viewport.clientWidth;function oe(a){if(j)j(a);else{if(s)p.viewport.scrollLeft=a;else p.viewport.scrollTop=a;if(pe?.(),be&&Math.abs(u.scrollPosition-a)>1)Xe=a}}let ce=Wt({sizeCache:x,getPixel:()=>Xe??u.scrollPosition,setPixel:oe,getRenderOrigin:()=>u.baseOffset,getContainerSize:()=>u.containerSize,padding:r.mainAxisPadding}),Re=()=>fe?fe():E.length,He=(a)=>c?c(a):E[a],yt=(a)=>{if(q?.shiftBy)q.shiftBy(a);else oe(u.scrollPosition+a)},ge=()=>{u.totalItems=E.length,x.rebuild(u.totalItems),Oe()},St=(a)=>{if(W)return W(a);let o=E.findIndex((m)=>m.id===a);if(o!==-1)E.splice(o,1),ge();return o},xt=(a,o)=>{if(F)F(a,o??u.totalItems);else E.splice(o??E.length,0,a),ge()};if(t.length>0){let a={pool:z,config:r,emitter:g,template:e.item.template,getState(){return u},dom:{...p,renderedElement(o){let m=_.get("_getRenderedElement");if(m)return m(o);return C.get(o)??null},enableListbox(){let o=p.content.getAttribute("role");if(!o||o==="list")p.content.setAttribute("role","listbox"),p.content.setAttribute("tabindex","0");w.itemRole="option",w.interactive=!0}},scroll:{...ce,to:oe,shiftBy:yt,smoothTo(o,m,I,V){if(Z)Z.smoothScrollTo(o,m,j??void 0,I,V);else a.scroll.to(typeof o==="function"?o():o)},cancel(){Z?.cancelScroll()},commit(o){pe(o)},setSource(o){j=o.write,xe=o.onContentSize,ae=!0},setTarget(o){Te=o},setWrap(o,m){Ie=o,ht=m},setBoundedWrap(o,m){a.scroll.setWrap(o,m)},setToPosFn(o){Ue=o},setToIndexFn(o){Ge=o},onFrame:Je,onIdle:Ve,disableResize(){ut=!0}},items:{all:H,at:He,removeById:St,insertAt:xt,setGetFn(o){c=o},setRemoveFn(o){W=o},setInsertFn(o){F=o},setUpdateFn(o){G=o},setIndexByIdFn(o){Le=o},setTotalFn(o){fe=o,w.ariaTotalFn=o},setIndexMapFn(o){w.indexMap=o}},sizes:{cache:x,get rawSpec(){return d},setConfig(o,m=0){let I=Be(o,u.totalItems,m),V=_.get("_setSizeCacheBase");if(V){let D=x.rebuild;Object.assign(x,I),x.rebuild=D,V(I.rebuild)}else Object.assign(x,I)},rebuild(){x.rebuild(u.totalItems)}},render:{force(){te()},ifNeeded(){Ce()},contentSize:je,setFn(o,m){ne=()=>{let{prevRangeStart:I,prevRangeEnd:V}=u;if(o(),u.prevRangeStart!==I||u.prevRangeEnd!==V)Me(O.commit,u)},Ee=()=>{m(),Me(O.commit,u)}},setStateFn(o){R=o},getStateFn(){return R}},hooks:{method(o,m){if(!o.startsWith("_")&&_.has(o))throw Error(`[vlist] duplicate method "${o}"; rename it or use a set*Fn hook`);_.set(o,m)},get(o){return _.get(o)},onClick(o){me.push(o)},onKeydown(o){le.push(o)},onDestroy(o){Se.push(o)}},nav:{set(o){if(o.ud!==void 0)dt=o.ud;if(o.lr!==void 0)mt=o.lr;if(o.scrollIndex)ft=o.scrollIndex;if(o.navigate)pt=o.navigate;if(o.total)bt=o.total;if(o.reveal)vt=o.reveal},get:(()=>{let o={ud:0,lr:0,scrollIndex:null,navigate:null,total:null,reveal:null};return()=>(o.ud=dt,o.lr=mt,o.scrollIndex=ft,o.navigate=pt,o.total=bt,o.reveal=vt,o)})()}};for(let o of A)if(o.setup)try{o.setup(a)}catch(m){let I=m instanceof Error?m:Error(String(m));g.emit("error",{error:I,context:`plugin:setup:${o.name}`})}}let Ye=r.classPrefix+"--scrolling",re=!1,Ze=e.scroll?.idleTimeout??he;function Et(){if(L.scrollPosition=u.scrollPosition,s)L.direction=u.scrollDirection>0?"right":"left";else L.direction=u.scrollDirection>0?"down":"up";if(g.emit("scroll",L),Qt(b,u.scrollPosition),k.velocity=b.velocity,k.reliable=b.sampleCount>=jt,g.emit("velocity:change",k),u.startIndex!==B||u.prevRangeEnd!==Y)B=u.startIndex,Y=u.prevRangeEnd,h.range.start=u.startIndex,h.range.end=u.prevRangeEnd,g.emit("range:change",h)}function je(a,o=!0){let m=a+r.mainAxisPadding;if(qe)dn(m);if(q){if(o)q.refresh(a);return}if(u.totalSize=a,xe?.(m),o)p.content.style[s?"width":"height"]=Math.min(m,rt)+"px"}function Oe(){let a=ne?u.totalSize:x.getTotalSize();if(je(a,!ne),q||ne||qe)return;l?.onContentSize(a,g)}function Lt(){if(!ze||Re()===0)return;let a=ze;ze=null,tt.scrollToIndex(a.index,a.alignOrOptions)}function Ce(){if(ne)ne();else st(u,x,r.overscan,z,p.content,e.item.template,H,C,w,O,c,R);Lt()}function Je(){if(Xe=null,!re)re=!0,p.root.classList.add(Ye);if(Ce(),lt(O.afterScroll,u.scrollPosition,u.scrollDirection),ve?.sync(),u.scrollPosition!==ee)ee=u.scrollPosition,Et()}function Tt(){z.trim(C.size)}function dn(a){let o=!!q;if(be=(i==="synthetic"||a>rt*(o?0.75:1))!==o,!be)return;if(!Ke)l.load().then((I)=>{if(Ke=I,!u.destroyed)Oe()},(I)=>g.emit("error",{error:I,context:"scroll:mode"}));else if(!re)mn(a)}function mn(a){let o=ce.getPixelEquivalent();if(be=!1,Z.detach(),ve?.destroy(),ve=null,q)Z=_e,q=j=null,u.baseOffset=0,p.content.style[s?"width":"height"]=a+"px",Z.attach(),oe(o);else if(p.viewport[s?"scrollLeft":"scrollTop"]=0,Z=q=Ct(Ke.createSyntheticScrollHandler),j=gt,q.refresh(a-r.mainAxisPadding),(ve=Ke.attachScrollbar(u,p,r,x,oe,e.scroll?.scrollbar))?.sync(),u.initialized)Z.attach(),q.setLogical(o);g.emit("scroll:mode",{mode:q?"synthetic":"native"})}function Ve(){if(re)re=!1,p.root.classList.remove(Ye);if(u.scrollDirection=0,Tt(),qt(O.idle),k.velocity=0,k.reliable=!1,g.emit("velocity:change",k),U.scrollPosition=u.scrollPosition,g.emit("scroll:idle",U),be)Oe()}function te(){if(u.renderPending=!0,Ee)Ee();else st(u,x,r.overscan,z,p.content,e.item.template,H,C,w,O,c,R);if(Lt(),lt(O.afterScroll,u.scrollPosition,u.scrollDirection),ve?.sync(),u.scrollPosition!==ee){if(ee=u.scrollPosition,Et(),T!==null)clearTimeout(T);T=setTimeout(Ve,Ze)}else if(!re)Tt()}let It=ae?!1:e.scroll?.wheel!==!1;if(ae&&Ie)throw se([]),p.root.remove(),Error("vlist: page() is not compatible with the carousel plugin — document scrolling cannot wrap.");function Ct(a){return a({state:u,sizeCache:x,viewport:p.viewport,content:p.content,isX:s,wheelEnabled:It,idleTimeout:Ze,...Te?{scrollTarget:Te}:{},mainAxisPadding:r.mainAxisPadding,...Ie?{wrap:Ie,rendered:C,classPrefix:r.classPrefix,oddClass:S,onFold(o){let m=b;if(m._lp!==void 0)m._lp-=o;ee-=o}}:{},onFrame:Je,onIdle:Ve})}if(!ae&&(n||Ie))Z=q=Ct(n??ht),j=gt;else _e=(ae?Ot:l.native)({state:u,viewport:p.viewport,isX:s,wheelEnabled:It,idleTimeout:Ze,...Te?{scrollTarget:Te}:{},onFrame:Je,onIdle:Ve}),Z=_e,pe=_e.commitScroll,qe=!ae&&i!=="native";function fn(a){let m=a.target.closest("[data-index]");if(!m)return null;let I=parseInt(m.getAttribute("data-index"),10);if(Number.isNaN(I))return null;let V=_.get("_layoutToDataIndex"),D,J=I;if(V){let Q=V(I);if(Q<0)return null;let ie=_.get("_getItemAtLayout"),ue=_.get("_getItem");D=ie?ie(I):ue?ue(Q):He(Q),J=Q}else D=He(I);if(D===void 0)return null;return{item:D,index:J}}let Qe=(a,o)=>{let m=fn(o);if(m)g.emit(a,{item:m.item,index:m.index,event:o})};function Pt(a){for(let o=0;o<me.length;o++)me[o](a);Qe("item:click",a)}function At(a){Qe("item:dblclick",a)}function Mt(a){Qe("item:contextmenu",a)}function wt(a){let o=a.target?.tagName;if((o==="INPUT"||o==="TEXTAREA"||o==="SELECT")&&!((a.ctrlKey||a.metaKey)&&(a.key==="f"||a.key==="F")))return;for(let m=0;m<le.length;m++)le[m](a)}if(p.content.addEventListener("click",Pt),p.content.addEventListener("dblclick",At),p.content.addEventListener("contextmenu",Mt),le.length>0)p.root.addEventListener("keydown",wt);let et=null;if(!ut)u.containerSize=s?p.viewport.clientWidth:p.viewport.clientHeight,setTimeout(()=>{if(u.destroyed)return;et=new ResizeObserver((o)=>{for(let m of o){let{width:I,height:V}=m.contentRect,D=s?I:V,J=s?V:I;if(Math.abs(D-u.containerSize)<1&&Math.abs(J-u.crossSize)<1)continue;if(u.containerSize=D,u.crossSize=J,u.resizeCapacity(D,f,r.overscan),q)q.refresh(x.getTotalSize());te(),Xt(O.resize,I,V),g.emit("resize",{width:I,height:V})}}),et.observe(p.viewport)},0);u.resizeCapacity(u.containerSize,f,r.overscan),Oe(),u.initialized=!0;let Pe=null;if(e.defer)Pe=requestAnimationFrame(()=>{if(Pe=null,!u.destroyed)Ce()});else Ce();if(!ae)Z.attach();let tt={get element(){return p.root},get items(){return E},get total(){return Re()},setItems(a){E=[...a],ge(),te()},appendItems(a){let o=r.reverse&&u.scrollPosition>=ce.getMaxPixelEquivalent()-1;if(E.push(...a),ge(),te(),o)oe(ce.getMaxPixelEquivalent())},prependItems(a){let o=u.totalItems>0,m=x.getTotalSize();if(E.unshift(...a),ge(),te(),!r.reverse||!o)return;let I=x.getTotalSize()-m;if(I<=0)return;oe(Math.min(u.scrollPosition+I,ce.getMaxPixelEquivalent()))},updateItem(a,o){if(G){if(!G(a,o))return}else{let m=E.findIndex((I)=>I.id===a);if(m===-1)return;E[m]={...E[m],...o}}_.get("_onItemUpdate")?.(a,o),te()},remeasureItem(a){if(u.destroyed)return!1;if(!Number.isInteger(a)||a<0||a>=Re())return!1;let o=_.get("_itemRemeasureSupported");if(o&&!o())return!1;let m=_.get("remeasure");if(m)return m(a),!0;let I=_.get("_dataSizeIsVariable");if(!(I?I():x.isVariable()))return!1;let V=_.get("_dataToLayoutIndex"),D=V?V(a):a,J=x.getOffset(D+1)-x.getOffset(D),Q=x.getSize(D);if(Q===J)return!0;let ie=x.indexAtOffset(ce.getPixelEquivalent());if(x.invalidate(D,D),_.get("_onItemRemeasure")?.(D),je(x.getTotalSize()),D<ie)yt(Q-J);return te(),!0},insertItem(a,o){xt(a,o),te()},removeItem(a){if(St(a)>=0)te()},removeItems(a){if(W){let V=0;for(let D of a)if(W(D)>=0)V++;if(V>0)te();return V}let o=new Set(a),m=E.length;E=E.filter((V)=>!o.has(V.id));let I=m-E.length;if(I>0)ge(),u.renderPending=!0,Ce();return I},getItemAt(a){if(w.indexMap){let m=_.get("_getLoadedItem");return m?m(a):E[a]}let o=_.get("_getItemAtLayout");if(o){let m=_.get("_dataToLayoutIndex");return o(m?m(a):a)}return He(a)},getIndexById(a){if(Le)return Le(a);return E.findIndex((o)=>o.id===a)},scrollToIndex(a,o="start"){if(Re()===0){ze={index:a,alignOrOptions:o};return}let m=typeof o==="string"?o:o.align??"start",I=typeof o==="object"?o.behavior:void 0,V=typeof o==="object"?o.duration:void 0,D=typeof o==="object"?o.easing:void 0;if(Ge&&Ge(a,m,I,V,D)!==!1)return;let J=()=>{let Q=x.getTotal();if(Q===0)return 0;let ie=Math.max(0,Math.min(a,Q-1)),ue=x.getOffset(ie),zt=x.getSize(ie),nt=u.containerSize,pn=ce.getMaxPixelEquivalent(),de;if(Ue)de=Ue(ie,x,nt,Q,m);else{let bn=r.startPadding;switch(m){case"center":de=bn+ue-(nt-zt)/2;break;case"end":de=ue+zt+r.mainAxisPadding-nt;break;default:de=ue}de=Math.max(0,Math.min(de,pn))}return de};if(I==="smooth"&&!be)Z.smoothScrollTo(J,V??Ht,j??void 0,D);else oe(J())},getScrollPosition(){return u.scrollPosition},on:g.on.bind(g),off:g.off.bind(g),destroy(){if(u.destroyed)return;if(u.destroyed=!0,re)re=!1,p.root.classList.remove(Ye);if(Pe!==null)cancelAnimationFrame(Pe),Pe=null;if(T!==null)clearTimeout(T),T=null;Z.detach(),ve?.destroy(),et?.disconnect(),p.content.removeEventListener("click",Pt),p.content.removeEventListener("dblclick",At),p.content.removeEventListener("contextmenu",Mt),p.root.removeEventListener("keydown",wt);let a=[];se(a);for(let[,o]of C)o.remove();if(C.clear(),z.clear(),p.root.remove(),g.emit("destroy",void 0),g.clear(),a.length>0)for(let o of a)console.error("vlist: error during destroy:",o)}};for(let[a,o]of _){if(a.startsWith("_"))continue;tt[a]=o}return tt}un();function Ao(e,t=[]){return en(e,t,cn)}export{Ao as createVList};
package/dist/version.json CHANGED
@@ -1 +1 @@
1
- {"version":"3.6.3","commit":"65fdf29","builtAt":"2026-11-10T08:18:16.343Z","released":true}
1
+ {"version":"3.6.4","commit":"10298a2","builtAt":"2026-11-10T12:21:43.534Z","released":true}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vlist",
3
- "version": "3.6.3",
3
+ "version": "3.6.4",
4
4
  "description": "Lightweight, high-performance virtual list with zero dependencies",
5
5
  "author": {
6
6
  "name": "Floor IO",