vlist 2.0.4 → 2.0.5

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/index.js CHANGED
@@ -1 +1 @@
1
- var s2=3,k0="vlist";var a2=50;var P0=50,z0=2,w0=15,v0=6,S2=16000000,c2=150,q0=1,o2=(j)=>j<0.5?2*j*j:1-(-2*j+2)**2/2,i2=300;var C0="x",f0=20,Y0="_isPlaceholder",f2="__placeholder_";var n2={top:0,right:0,bottom:0,left:0},h0=(j)=>{if(j==null)return n2;if(typeof j==="number")return j===0?n2:{top:j,right:j,bottom:j,left:j};if(j.length===2){let[K,B]=j;return K===0&&B===0?n2:{top:K,right:B,bottom:K,left:B}}let[Q,q,Y,J]=j;return Q===0&&q===0&&Y===0&&J===0?n2:{top:Q,right:q,bottom:Y,left:J}},I0=(j,Q)=>Q?j.left+j.right:j.top+j.bottom,S0=(j,Q)=>Q?j.top+j.bottom:j.left+j.right;function p0(j){let Q={visibleIndices:new Int32Array(j),visibleOffsets:new Float64Array(j),visibleSizes:new Float64Array(j),visibleCount:0,startIndex:0,totalSize:0,capacity:j,scrollPosition:0,prevScrollPosition:0,scrollDirection:0,containerSize:0,crossSize:0,totalItems:0,prevRangeStart:0,prevRangeEnd:-1,renderPending:!1,initialized:!1,destroyed:!1,isCompressed:!1,compressionRatio:1,prevAriaTotal:-1,resizeCapacity(q,Y,J=s2){if(Y<=0||q<=0)return;let K=Math.ceil(q/Y)+J*2;if(K<=Q.capacity)return;let B=K+8,X=new Int32Array(B),H=new Float64Array(B),G=new Float64Array(B);X.set(Q.visibleIndices),H.set(Q.visibleOffsets),G.set(Q.visibleSizes),Q.visibleIndices=X,Q.visibleOffsets=H,Q.visibleSizes=G,Q.capacity=B},clear(){Q.visibleCount=0,Q.startIndex=0}};return Q}var O1=(j,Q)=>{let q=Q;return{getOffset:(Y)=>Y*j,getSize:(Y)=>j,indexAtOffset:(Y)=>{if(q===0||j===0)return 0;return Math.max(0,Math.min(Math.floor(Y/j),q-1))},getTotalSize:()=>q*j,getTotal:()=>q,rebuild:(Y)=>{q=Y},isVariable:()=>!1}},E1=(j,Q)=>{let q=Q,Y=new Float64Array(0),J=(B)=>{q=B,Y=new Float64Array(B+1),Y[0]=0;for(let X=0;X<B;X++)Y[X+1]=Y[X]+j(X)};J(Q);let K=(B)=>{if(q===0)return 0;if(B<=0)return 0;if(B>=Y[q])return q-1;let X=0,H=q-1;while(X<H){let G=X+H+1>>>1;if(Y[G]<=B)X=G;else H=G-1}return X};return{getOffset:(B)=>{if(B<=0)return 0;if(B>=q)return Y[q];return Y[B]},getSize:(B)=>j(B),indexAtOffset:(B)=>K(B),getTotalSize:()=>Y[q]??0,getTotal:()=>q,rebuild:(B)=>J(B),isVariable:()=>!0}},t2=(j,Q)=>{if(typeof j==="number")return O1(j,Q);return E1(j,Q)},Z0=(j,Q,q,Y)=>{if(Y===0)return 0;if(!j.isVariable())return Math.ceil(q/j.getSize(0));let J=0,K=0,B=Q;while(B<Y&&K<q)K+=j.getSize(B),J++,B++;return Math.max(1,J)};function u0(j){let Q=[],q=`${j}-item`,Y=document.createElement("div");return Y.className=q,{acquire(){if(Q.length>0)return Q.pop();return Y.cloneNode(!1)},release(J){if(J.className=q,J.removeAttribute("style"),J.removeAttribute("id"),J.removeAttribute("role"),J.removeAttribute("aria-selected"),J.removeAttribute("aria-posinset"),J.removeAttribute("aria-setsize"),J.removeAttribute("data-index"),J.removeAttribute("data-id"),J.textContent="",Q.length<100)Q.push(J)},get size(){return Q.length},clear(){Q.length=0}}}function g0(j){if(typeof j==="string"){let Q=document.querySelector(j);if(!Q)throw Error(`[vlist] Container not found: ${j}`);return Q}return j}function x0(j,Q,q,Y,J){let K=q?`${Q} ${Q}--horizontal`:Q,B=q?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",X=q?"position:relative;height:100%":"position:relative;width:100%",H=` role="${Y?"listbox":"list"}"`;if(Y)H+=' tabindex="0"';if(J)H+=` aria-label="${J.replace(/"/g,"&quot;")}"`;if(q)H+=' aria-orientation="horizontal"';j.insertAdjacentHTML("beforeend",`<div class="${K}"><div class="${Q}-viewport" style="${B}" tabindex="-1"><div class="${Q}-content" style="${X}"${H}></div></div></div>`);let G=j.lastElementChild,N=G.firstElementChild,l=N.firstElementChild,V=document.createElement("div");return V.className=`${Q}-live`,V.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",V.setAttribute("aria-live","polite"),V.setAttribute("aria-atomic","true"),V.setAttribute("role","status"),G.appendChild(V),{root:G,viewport:N,content:l,liveRegion:V}}function m0(j){let{state:Q,viewport:q,isX:Y,wheelEnabled:J,onFrame:K,onIdle:B}=j,X=j.idleTimeout||c2,H=j.scrollTarget??q,G=null,N=null;function l(){let _=Y?q.scrollLeft:q.scrollTop;if(Math.abs(_-Q.scrollPosition)<0.5)return;Q.prevScrollPosition=Q.scrollPosition,Q.scrollPosition=_,Q.scrollDirection=_>Q.prevScrollPosition?1:_<Q.prevScrollPosition?-1:0,K(),w()}function V(_){if(Q.isCompressed)return;let z;if(Y){if(Math.abs(_.deltaX)>Math.abs(_.deltaY))return;let v=q.scrollLeft,M=q.scrollWidth-q.clientWidth;if(z=Math.max(0,Math.min(v+_.deltaY*q0,M)),Math.abs(z-v)<1)return;_.preventDefault(),q.scrollLeft=z}else{let v=q.scrollWidth>q.clientWidth;if(v&&Math.abs(_.deltaX)>Math.abs(_.deltaY))return;if(v&&_.deltaX!==0)_.preventDefault(),q.scrollLeft+=_.deltaX;let M=q.scrollTop,A=q.scrollHeight-q.clientHeight;if(z=Math.max(0,Math.min(M+_.deltaY*q0,A)),Math.abs(z-M)<1)return;_.preventDefault(),q.scrollTop=z}Q.prevScrollPosition=Q.scrollPosition,Q.scrollPosition=z,Q.scrollDirection=z>Q.prevScrollPosition?1:-1,K(),w()}function w(){if(G!==null)clearTimeout(G);G=setTimeout(()=>{G=null,Q.scrollDirection=0,B()},X)}function D(){if(N!==null)cancelAnimationFrame(N),N=null}function F(_,z,v,M=o2,A){D();let O=Q.scrollPosition,E=typeof _==="function"?_:()=>_,y=E();if(Math.abs(y-O)<1){if(v)v(y);else if(Y)q.scrollLeft=y;else q.scrollTop=y;A?.();return}let S=performance.now();function d(f){y=E();let c=f-S,k=Math.min(c/z,1),g=O+(y-O)*M(k);if(v)v(g);else if(Y)q.scrollLeft=g;else q.scrollTop=g;if(!v)Q.scrollPosition=g;if(K(),k<1)N=requestAnimationFrame(d);else N=null,A?.()}N=requestAnimationFrame(d)}return{attach(){if(H.addEventListener("scroll",l,{passive:!0}),J)H.addEventListener("wheel",V,{passive:!1})},detach(){if(H.removeEventListener("scroll",l),J)H.removeEventListener("wheel",V);if(D(),G!==null)clearTimeout(G),G=null},cancelScroll:D,smoothScrollTo:F}}var l2=[],R1={calculate:l2,commit:l2,afterScroll:l2,idle:l2,resize:l2};function d0(j){if(j.length===0)return R1;let Q=[],q=[],Y=[],J=[],K=[];for(let B=0;B<j.length;B++){let X=j[B].hooks;if(X===void 0)continue;if(X.onCalculate!==void 0)Q.push(X.onCalculate);if(X.onCommit!==void 0)q.push(X.onCommit);if(X.onAfterScroll!==void 0)Y.push(X.onAfterScroll);if(X.onIdle!==void 0)J.push(X.onIdle);if(X.onResize!==void 0)K.push(X.onResize)}return{calculate:Q,commit:q,afterScroll:Y,idle:J,resize:K}}function c0(j,Q){for(let q=0;q<j.length;q++)j[q](Q)}function l0(j,Q){for(let q=0;q<j.length;q++)j[q](Q)}function K0(j,Q,q){for(let Y=0;Y<j.length;Y++)j[Y](Q,q)}function r0(j){for(let Q=0;Q<j.length;Q++)j[Q]()}function s0(j,Q,q){for(let Y=0;Y<j.length;Y++)j[Y](Q,q)}function a0(j,Q,q,Y,J,K,B,X,H){let G=J!==0||K!==0;return{prefix:j,selectedClass:`${j}-item--selected`,focusedClass:`${j}-item--focused`,placeholderClass:`${j}-item--placeholder`,replacedClass:`${j}-item--replaced`,translateProp:Q?"translateX(":"translateY(",sizeProp:Q?"width":"height",itemRole:q?"option":"listitem",interactive:q,startPadding:Y,gap:X,hasCrossPad:G,crossStartProp:G?Q?"top":"left":"",crossEndProp:G?Q?"bottom":"right":"",crossStartVal:G?J+"px":"",crossEndVal:G?K+"px":"",oddClass:B,emitter:H??null}}function T1(j,Q,q,Y,J){if(j.containerSize<=0||j.totalItems===0)return j.clear(),!0;let{scrollPosition:K,containerSize:B,totalItems:X}=j,H=J??0;j.totalSize=Q.getTotalSize();let G=Q.indexAtOffset(H>0?Math.max(0,K-H):K),N=Q.indexAtOffset(K+B);if(N<X-1)N++;G=Math.max(0,G),N=Math.min(X-1,Math.max(0,N));let l=Math.max(0,G-q),V=Math.min(X-1,N+q),w=Math.ceil(B/1)+q*2+10,D=V-l+1,F=Math.min(D,j.capacity,w);if(l===j.prevRangeStart&&V===j.prevRangeEnd&&!j.renderPending)return!1;j.visibleCount=F,j.startIndex=l;for(let _=0;_<F;_++){let z=l+_;j.visibleIndices[_]=z,j.visibleOffsets[_]=Q.getOffset(z),j.visibleSizes[_]=Q.getSize(z)}return c0(Y.calculate,j),j.prevRangeStart=l,j.prevRangeEnd=V,j.renderPending=!1,!0}var v2={selected:!1,focused:!1};function b1(j,Q,q){for(let Y=0;Y<Q;Y++)if(j[Y]===q)return!0;return!1}function y1(j,Q){if(Q<=1)return!0;let q=j[0];for(let Y=1;Y<Q;Y++){let J=j[Y];if(J!==q+1)return!1;q=J}return!0}function k1(j,Q,q,Y,J,K,B,X,H,G){let N=H?null:J(),l=j.visibleCount,V=j.visibleIndices,w=B.interactive?String(j.totalItems):"",D=B.interactive&&j.totalItems!==j.prevAriaTotal,F=null;for(let _=0;_<l;_++){let z=V[_],v=j.visibleOffsets[_],M=j.visibleSizes[_],A=H?H(z):N[z];if(G)G(z,v2);else v2.selected=!1,v2.focused=!1;let O=K.get(z),E=O;if(O===void 0){let y=Q.acquire();if(A!==void 0){let f;try{f=Y(A,z,v2)}catch(c){if(B.emitter)B.emitter.emit("error",{error:c instanceof Error?c:Error(String(c)),context:`template:render:${z}`});Q.release(y);continue}if(typeof f==="string")y.innerHTML=f;else y.textContent="",y.appendChild(f)}if(y.setAttribute("role",B.itemRole),y.setAttribute("data-index",String(z)),B.interactive)y.id=B.prefix+"-item-"+z,y.setAttribute("aria-posinset",String(z+1)),y.setAttribute("aria-setsize",w);if(A!==void 0){let f=String(A.id);if(y.setAttribute("data-id",f),f.startsWith(f2))y.classList.add(B.placeholderClass)}if(B.hasCrossPad)y.style.setProperty(B.crossStartProp,B.crossStartVal),y.style.setProperty(B.crossEndProp,B.crossEndVal);if(G){if(y.classList.toggle(B.selectedClass,v2.selected),y.classList.toggle(B.focusedClass,v2.focused),v2.selected)y.setAttribute("aria-selected","true");else y.removeAttribute("aria-selected");y._lastSelected=v2.selected,y._lastFocused=v2.focused}if(B.oddClass)y.classList.toggle(B.oddClass,(z&1)===1);let S=v+B.startPadding;y.style.transform=B.translateProp+S+"px)",y._lastOffset=S;let d=M-B.gap;if(y.style[B.sizeProp]=d+"px",y._lastSize=d,y._lastItem=A,K.set(z,y),F===null)F=document.createDocumentFragment();F.appendChild(y)}else{if(D)O.setAttribute("aria-setsize",w);if(A!==void 0&&E._lastItem!==A){let d=O.getAttribute("data-id"),f=String(A.id),c;try{c=Y(A,z,v2)}catch(k){if(B.emitter)B.emitter.emit("error",{error:k instanceof Error?k:Error(String(k)),context:`template:render:${z}`});continue}if(typeof c==="string")O.innerHTML=c;else O.textContent="",O.appendChild(c);if(O.setAttribute("data-id",f),E._lastItem=A,d!==f){let k=d!==null&&d.startsWith(f2),g=f.startsWith(f2);if(k!==g)O.classList.toggle(B.placeholderClass,g);if(k&&!g)O.classList.add(B.replacedClass),setTimeout(()=>{O.classList.remove(B.replacedClass)},300)}}if(G){if(E._lastSelected!==v2.selected){if(O.classList.toggle(B.selectedClass,v2.selected),v2.selected)O.setAttribute("aria-selected","true");else O.removeAttribute("aria-selected");E._lastSelected=v2.selected}if(E._lastFocused!==v2.focused)O.classList.toggle(B.focusedClass,v2.focused),E._lastFocused=v2.focused}let y=v+B.startPadding;if(E._lastOffset!==y)O.style.transform=B.translateProp+y+"px)",E._lastOffset=y;let S=M-B.gap;if(E._lastSize!==S)O.style[B.sizeProp]=S+"px",E._lastSize=S}}if(F!==null)q.appendChild(F);if(l>0&&y1(V,l)){let _=V[0],z=V[l-1];for(let[v,M]of K)if(v<_||v>z)M.remove(),Q.release(M),K.delete(v)}else for(let[_,z]of K)if(!b1(V,l,_))z.remove(),Q.release(z),K.delete(_);if(B.interactive)j.prevAriaTotal=j.totalItems;l0(X.commit,j)}function B0(j,Q,q,Y,J,K,B,X,H,G,N,l){if(T1(j,Q,q,G,H.startPadding))k1(j,Y,J,K,B,X,H,G,N,l)}var U0=()=>{let j={},Q=(K,B)=>{if(!j[K])j[K]=new Set;return j[K].add(B),()=>q(K,B)},q=(K,B)=>{j[K]?.delete(B)};return{on:Q,off:q,emit:(K,B)=>{j[K]?.forEach((X)=>{try{X(B)}catch(H){console.error(`[vlist] Error in event handler for "${String(K)}":`,H)}})},clear:(K)=>{if(K)delete j[K];else for(let B in j)delete j[B]}}};var o0=2,i0=(j=0)=>({velocity:0,sampleCount:0}),n0=(j,Q)=>{let q=performance.now(),Y=j._lt??q,J=j._lp??Q,K=q-Y;if(j._lp=Q,j._lt=q,K===0)return j.sampleCount=Math.min(j.sampleCount+1,5),j;if(K>100)return j.velocity=0,j.sampleCount=1,j;return j.velocity=Math.abs(Q-J)/K,j.sampleCount=Math.min(j.sampleCount+1,5),j};function P1(j){let{item:Q}=j;if(Q.height!==void 0&&typeof Q.height==="number"){if(!Number.isFinite(Q.height)||Q.height<=0)throw Error(`vlist: item.height must be a positive number, got ${Q.height}`)}if(Q.width!==void 0&&typeof Q.width==="number"){if(!Number.isFinite(Q.width)||Q.width<=0)throw Error(`vlist: item.width must be a positive number, got ${Q.width}`)}if(Q.estimatedHeight!==void 0){if(!Number.isFinite(Q.estimatedHeight)||Q.estimatedHeight<=0)throw Error(`vlist: item.estimatedHeight must be a positive number, got ${Q.estimatedHeight}`)}if(Q.estimatedWidth!==void 0){if(!Number.isFinite(Q.estimatedWidth)||Q.estimatedWidth<=0)throw Error(`vlist: item.estimatedWidth must be a positive number, got ${Q.estimatedWidth}`)}if(Q.gap!==void 0){if(typeof Q.gap!=="number"||!Number.isFinite(Q.gap)||Q.gap<0)throw Error(`vlist: item.gap must be a non-negative number, got ${Q.gap}`)}if(j.overscan!==void 0){if(typeof j.overscan!=="number"||!Number.isFinite(j.overscan)||j.overscan<0)throw Error(`vlist: overscan must be a non-negative number, got ${j.overscan}`)}}function z1(j,Q){let q=j==="horizontal"?"x":"y";if(Q.some((J)=>J.name==="grid"))return{primary:q,cross:q==="x"?"y":"x"};return{primary:q}}function w1(j,Q){let q=z1(j.orientation,Q),Y=q.primary==="x",J=h0(j.padding);return{axis:q,hasCrossAxis:q.cross!==void 0,overscan:j.overscan??s2,reverse:j.reverse??!1,classPrefix:j.classPrefix??k0,interactive:j.interactive??!0,mainAxisPadding:I0(J,Y),crossAxisPadding:S0(J,Y),startPadding:Y?J.left:J.top,endPadding:Y?J.right:J.bottom,crossPadStart:Y?J.top:J.left,crossPadEnd:Y?J.bottom:J.right,striped:j.item.striped||!1,gap:j.item.gap??0}}function v1(j,Q){if(Q)return j.item.width??j.item.estimatedWidth??100;return j.item.height??j.item.estimatedHeight??40}function C1(j){let Q=[...j];return Q.sort((q,Y)=>(q.priority??50)-(Y.priority??50)),Q}function f1(j){let Q=new Set;for(let q of j){if(Q.has(q.name))throw Error(`[vlist] Duplicate plugin: ${q.name}`);Q.add(q.name)}for(let q of j)if(q.conflicts){for(let Y of q.conflicts)if(Q.has(Y))throw Error(`[vlist] Plugin "${q.name}" conflicts with "${Y}"`)}}function t0(j,Q=[]){P1(j);let q=w1(j,Q),Y=q.axis.primary==="x",J=v1(j,Y),K=q.gap,B=K>0?typeof J==="function"?(Z2)=>J(Z2)+K:J+K:J,X=typeof J==="number"?J:20,H=j.items?.length??0,G=q.striped?`${q.classPrefix}-item--odd`:"",N=U0(),l=a0(q.classPrefix,Y,q.interactive,q.startPadding,q.crossPadStart,q.crossPadEnd,G,K,N),V=Q.length>0?C1(Q):Q;if(Q.length>0)f1(V);let w=g0(j.container),D=x0(w,q.classPrefix,Y,q.interactive,j.ariaLabel);if(j.scroll?.scrollbar==="none")D.viewport.classList.add(`${q.classPrefix}-viewport--no-scrollbar`);if(j.scroll?.gutter==="stable")D.viewport.classList.add(`${q.classPrefix}-viewport--gutter-stable`);let _=t2(B,H);if(K>0){let Z2=_.getTotalSize;_.getTotalSize=()=>{let r=Z2();return r>0?r-K:0}}let z=u0(q.classPrefix),v=Math.ceil(4096/X)+q.overscan*2+8,M=p0(v);M.totalItems=H;let A=j.items??[],O=()=>A,E=new Map,y=i0(),S={velocity:0,reliable:!1},d={range:{start:0,end:-1}},f={scrollPosition:0,direction:"down"},c={scrollPosition:0},k=-1,g=-1,x=-1,R=null,L=d0(V),b=new Map,Z=[],U=[],T=[],p=null,t=null,n=null,m=null,$=null,W=null,P=null,I=null,s=null,C=null,u=!1,a=!1,e=null,i=0,q2=0,K2=null,G2=null,M2=null,N2=null,J2=null;if(M.containerSize=Y?D.viewport.clientWidth:D.viewport.clientHeight,M.crossSize=Y?D.viewport.clientHeight:D.viewport.clientWidth,Q.length>0){let Z2={dom:D,sizeCache:_,pool:z,config:q,emitter:N,template:j.item.template,registerMethod(r,h){b.set(r,h)},getMethod(r){return b.get(r)},registerClickHandler(r){Z.push(r)},registerKeydownHandler(r){U.push(r)},registerDestroyHandler(r){T.push(r)},setSizeConfig(r){let h=t2(r,M.totalItems);Object.assign(_,h)},setScrollFns(r,h){t=r,n=h},setVirtualTotalFn(r){p=r},getItems:O,getItem(r){return W?W(r):A[r]},getState(){return M},rebuildSizeCache(){_.rebuild(M.totalItems)},updateContentSize(r){M.totalSize=r,D.content.style[Y?"width":"height"]=r+q.mainAxisPadding+"px"},setRenderFn(r,h){m=r,$=h},renderIfNeeded(){L2()},forceRender(){F2()},setGetItemFn(r){W=r},setItemStateFn(r){P=r},getItemStateFn(){return P},get rawSizeSpec(){return J},scrollTo(r){if(n)n(r);else if(Y)D.viewport.scrollLeft=r;else D.viewport.scrollTop=r},smoothScrollTo(r,h,Q2,j2){if(M2)M2(r,h,n??void 0,Q2,j2);else Z2.scrollTo(typeof r==="function"?r():r)},disableDefaultScroll(){u=!0},disableDefaultResize(){a=!0},setScrollTarget(r){e=r},setScrollToPosFn(r){N2=r},setScrollToIndexFn(r){J2=r},onScrollFrame:X2,onScrollIdle:b2,removeItemById(r){if(I)return I(r);let h=A.findIndex((Q2)=>Q2.id===r);if(h===-1)return-1;return A.splice(h,1),M.totalItems=A.length,_.rebuild(M.totalItems),A2(),h},insertItemAt(r,h){if(s){s(r,h);return}A.splice(h,0,r),M.totalItems=A.length,_.rebuild(M.totalItems),A2()},setRemoveItemFn(r){I=r},setInsertItemFn(r){s=r},setUpdateItemFn(r){C=r},getRenderedElement(r){let h=b.get("_getRenderedElement");if(h)return h(r);return E.get(r)??null},setNavConfig(r){if(r.ud!==void 0)i=r.ud;if(r.lr!==void 0)q2=r.lr;if(r.scrollIndex)K2=r.scrollIndex;if(r.navigate)G2=r.navigate},getNavConfig:(()=>{let r={ud:0,lr:0,scrollIndex:null,navigate:null};return()=>{return r.ud=i,r.lr=q2,r.scrollIndex=K2,r.navigate=G2,r}})()};for(let r of V)if(r.setup)try{r.setup(Z2)}catch(h){N.emit("error",{error:h instanceof Error?h:Error(String(h)),context:`plugin:setup:${r.name}`})}}let o=q.classPrefix+"--scrolling",$2=!1,B2=j.scroll?.idleTimeout??c2;function U2(){if(f.scrollPosition=M.scrollPosition,Y)f.direction=M.scrollDirection>0?"right":"left";else f.direction=M.scrollDirection>0?"down":"up";if(N.emit("scroll",f),n0(y,M.scrollPosition),S.velocity=y.velocity,S.reliable=y.sampleCount>=o0,N.emit("velocity:change",S),M.startIndex!==k||M.prevRangeEnd!==g)k=M.startIndex,g=M.prevRangeEnd,d.range.start=M.startIndex,d.range.end=M.prevRangeEnd,N.emit("range:change",d)}let Y2=!1;function A2(){if(m)return;let Z2=_.getTotalSize();if(D.content.style[Y?"width":"height"]=Z2+q.mainAxisPadding+"px",!Y2&&Z2>S2)Y2=!0,N.emit("error",{error:Error(`Content size (${Z2}px) exceeds browser limit (${S2}px). Use the scale() plugin for large datasets.`),context:"content:size:overflow"})}function L2(){if(m)m();else B0(M,_,q.overscan,z,D.content,j.item.template,O,E,l,L,W,P)}function X2(){if(!$2)$2=!0,D.root.classList.add(o);if(L2(),K0(L.afterScroll,M.scrollPosition,M.scrollDirection),M.scrollPosition!==x)x=M.scrollPosition,U2()}function b2(){if($2)$2=!1,D.root.classList.remove(o);M.scrollDirection=0,r0(L.idle),S.velocity=0,S.reliable=!1,N.emit("velocity:change",S),c.scrollPosition=M.scrollPosition,N.emit("scroll:idle",c)}function F2(){if(M.renderPending=!0,$)$();else B0(M,_,q.overscan,z,D.content,j.item.template,O,E,l,L,W,P);if(K0(L.afterScroll,M.scrollPosition,M.scrollDirection),M.scrollPosition!==x){if(x=M.scrollPosition,U2(),R!==null)clearTimeout(R);R=setTimeout(b2,B2)}}let y2=m0({state:M,viewport:D.viewport,isX:Y,wheelEnabled:u?!1:j.scroll?.wheel!==!1,idleTimeout:j.scroll?.idleTimeout??c2,...e?{scrollTarget:e}:{},onFrame:X2,onIdle:b2});M2=y2.smoothScrollTo;function D2(Z2){let h=Z2.target.closest("[data-index]");if(!h)return null;let Q2=parseInt(h.getAttribute("data-index"),10);if(Number.isNaN(Q2))return null;let j2=A[Q2];if(j2===void 0)return null;return{item:j2,index:Q2}}function k2(Z2){for(let h=0;h<Z.length;h++)Z[h](Z2);let r=D2(Z2);if(r)N.emit("item:click",{item:r.item,index:r.index,event:Z2})}function H2(Z2){let r=D2(Z2);if(r)N.emit("item:dblclick",{item:r.item,index:r.index,event:Z2})}function z2(Z2){let r=D2(Z2);if(r)N.emit("item:contextmenu",{item:r.item,index:r.index,event:Z2})}function W2(Z2){for(let r=0;r<U.length;r++)U[r](Z2)}if(D.content.addEventListener("click",k2),D.content.addEventListener("dblclick",H2),D.content.addEventListener("contextmenu",z2),U.length>0)D.content.addEventListener("keydown",W2);let O2=null;if(!a)setTimeout(()=>{if(M.destroyed)return;O2=new ResizeObserver((r)=>{for(let h of r){let{width:Q2,height:j2}=h.contentRect,V2=Y?Q2:j2,_2=Y?j2:Q2;if(Math.abs(V2-M.containerSize)<1&&Math.abs(_2-M.crossSize)<1)continue;M.containerSize=V2,M.crossSize=_2,M.resizeCapacity(V2,X,q.overscan),F2(),s0(L.resize,Q2,j2),N.emit("resize",{width:Q2,height:j2})}}),O2.observe(D.viewport)},0);M.resizeCapacity(M.containerSize,X,q.overscan),A2(),M.initialized=!0;let R2=null;if(j.defer)R2=requestAnimationFrame(()=>{if(R2=null,!M.destroyed)L2()});else L2();if(!u)y2.attach();let P2={get element(){return D.root},get items(){return A},get total(){return p?p():A.length},setItems(Z2){A=[...Z2],M.totalItems=A.length,_.rebuild(M.totalItems),A2(),F2()},appendItems(Z2){A.push(...Z2),M.totalItems=A.length,_.rebuild(M.totalItems),A2(),F2()},prependItems(Z2){A.unshift(...Z2),M.totalItems=A.length,_.rebuild(M.totalItems),A2(),F2()},updateItem(Z2,r){if(C){if(!C(Z2,r))return}else{let h=A.findIndex((Q2)=>Q2.id===Z2);if(h===-1)return;A[h]={...A[h],...r}}F2()},insertItem(Z2,r){if(s)s(Z2,r??M.totalItems);else{if(r===void 0)A.push(Z2);else A.splice(r,0,Z2);M.totalItems=A.length,_.rebuild(M.totalItems),A2()}F2()},removeItem(Z2){if(I){if(I(Z2)<0)return}else{let r=A.findIndex((h)=>h.id===Z2);if(r===-1)return;A.splice(r,1),M.totalItems=A.length,_.rebuild(M.totalItems),A2()}F2()},removeItems(Z2){if(I){let j2=0;for(let V2 of Z2)if(I(V2)>=0)j2++;if(j2>0)F2();return j2}let r=new Set(Z2),h=A.length;A=A.filter((j2)=>!r.has(j2.id));let Q2=h-A.length;if(Q2>0)M.totalItems=A.length,_.rebuild(M.totalItems),A2(),M.renderPending=!0,L2();return Q2},getItemAt(Z2){return A[Z2]},getIndexById(Z2){return A.findIndex((r)=>r.id===Z2)},scrollToIndex(Z2,r="start"){let h=p?p():A.length;if(h===0)return;let Q2=Math.max(0,Math.min(Z2,h-1)),j2=typeof r==="string"?r:r.align??"start",V2=typeof r==="object"?r.behavior:void 0,_2=typeof r==="object"?r.duration:void 0,T2=typeof r==="object"?r.easing:void 0;if(J2&&J2(Q2,j2,V2,_2,T2)!==!1)return;let w2=_.getOffset(Q2),E2=_.getSize(Q2),C2=M.containerSize,I2=_.getTotalSize(),y0=q.mainAxisPadding,L1=Math.max(0,I2+y0-C2),h2;if(N2)h2=N2(Q2,_,C2,h,j2);else{let F1=q.startPadding;switch(j2){case"center":h2=F1+w2-(C2-E2)/2;break;case"end":h2=w2+E2+y0-C2;break;default:h2=w2}h2=Math.max(0,Math.min(h2,L1))}if(V2==="smooth")y2.smoothScrollTo(h2,_2??i2,n??void 0,T2);else if(n)n(h2);else if(Y)D.viewport.scrollLeft=h2;else D.viewport.scrollTop=h2},getScrollPosition(){return t?t():M.scrollPosition},on:N.on.bind(N),off:N.off.bind(N),destroy(){if(M.destroyed)return;if(M.destroyed=!0,$2)$2=!1,D.root.classList.remove(o);if(R2!==null)cancelAnimationFrame(R2),R2=null;if(R!==null)clearTimeout(R),R=null;y2.detach(),O2?.disconnect(),D.content.removeEventListener("click",k2),D.content.removeEventListener("dblclick",H2),D.content.removeEventListener("contextmenu",z2),D.content.removeEventListener("keydown",W2);let Z2=[];for(let r of T)try{r()}catch(h){Z2.push(h instanceof Error?h:Error(String(h)))}for(let r of V)if(r.destroy)try{r.destroy()}catch(h){Z2.push(h instanceof Error?h:Error(String(h)))}for(let[,r]of E)r.remove();if(E.clear(),z.clear(),D.root.remove(),N.emit("destroy",void 0),N.clear(),Z2.length>0)for(let r of Z2)console.error("vlist: error during destroy:",r)}};for(let[Z2,r]of b)P2[Z2]=r;return P2}var e0=(j,Q,q)=>{let Y=Q.getTotalSize(),J=q===!0||Y>S2,K=Y>S2?S2:Y,B=Y>0?K/Y:1;return{isCompressed:J,actualSize:Y,virtualSize:K,ratio:B}},m2=(j,Q,q,Y,J,K)=>{if(Y===0||Q===0)return K.start=0,K.end=-1,K;if(!J.isCompressed||J.ratio===1){let w=q.indexAtOffset(j),D=q.indexAtOffset(j+Q);if(D<Y-1)D++;return K.start=Math.max(0,w),K.end=Math.min(Y-1,Math.max(0,D)),K}let{virtualSize:B}=J,X=j/B,H=q.getTotalSize(),G=X*H,N=q.indexAtOffset(G),l=Z0(q,Math.max(0,N),Q,Y),V=N+l;return K.start=Math.max(0,N),K.end=Math.min(Y-1,Math.max(0,V)),K};var x2=(j,Q,q,Y,J,K,B)=>{if(!K.isCompressed||Y===0)return q.getOffset(j);if(K.ratio===1)return q.getOffset(j)-Q;let{virtualSize:X}=K,H=Q/X,G=q.getTotalSize(),N=H*G;return q.getOffset(j)-N},e2=(j,Q,q,Y,J,K="start")=>{if(Y===0)return 0;let B;if(J.isCompressed&&J.ratio!==1){B=j/Y*J.virtualSize;let N=Q.getSize(j);switch(K){case"center":B-=(q-N)/2*J.ratio;break;case"end":B-=(q-N)*J.ratio;break}return Math.max(0,B)}B=Q.getOffset(j);let X=Q.getSize(j);switch(K){case"center":B-=(q-X)/2;break;case"end":B-=q-X;break}let H=J.virtualSize-q;return Math.max(0,Math.min(B,H))};var h1=(j)=>{if(typeof j!=="object"){let Q=j??2;return{top:Q,right:Q,bottom:Q,left:Q}}return{top:j.top??2,right:j.right??2,bottom:j.bottom??2,left:j.left??2}},$0=(j,Q,q={},Y="vlist",J=!1,K)=>{let{autoHide:B=!0,autoHideDelay:X=1000,minThumbSize:H=15,showOnHover:G=!0,showOnViewportEnter:N=!0,clickBehavior:l="scroll"}=q,V=l==="page"?"scroll":l,w=K??j,D=h1(q.padding),F=J?D.left:D.top,_=J?D.right:D.bottom,z=J?D.bottom:D.right,v=q.hoverZoneWidth??z+16,M=0,A=0,O=0,E=0,y=!1,S=!1,d=0,f=0,c=0,k=null,g=!1,x=null,R=0,L=0,b=null,Z=null,U=null,T=J?"width":"height",p=J?"translateX":"translateY",t=J?(W2)=>W2.clientX:(W2)=>W2.clientY,n=J?"left":"top",m=document.createElement("div"),$=document.createElement("div"),W=document.createElement("div"),P=J?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",I=()=>{if(w===j)return;let W2=j.offsetTop;m.style[J?"left":"top"]=W2?`calc(var(${P}) + ${W2}px)`:`var(${P})`,W.style[J?"left":"top"]=`${W2}px`},s=()=>{if(m.className=`${Y}-scrollbar`,$.className=`${Y}-scrollbar__thumb`,J)m.classList.add(`${Y}-scrollbar--horizontal`);if(q.padding!==void 0)w.style.setProperty("--vlist-custom-scrollbar-padding-top",`${D.top}px`),w.style.setProperty("--vlist-custom-scrollbar-padding-right",`${D.right}px`),w.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${D.bottom}px`),w.style.setProperty("--vlist-custom-scrollbar-padding-left",`${D.left}px`);if(q.minThumbSize!==void 0)m.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${H}px`);if(m.appendChild($),w.appendChild(m),W.className=`${Y}-scrollbar__hover`,J)W.classList.add(`${Y}-scrollbar__hover--horizontal`),W.style.height=`${v}px`;else W.style.width=`${v}px`;if(w.appendChild(W),w!==j)I()},C=()=>{if(k)clearTimeout(k),k=null},u=()=>{if(!B)return;C(),k=setTimeout(e,X)},a=()=>{if(M<=A)return;if(C(),!g)m.classList.add(`${Y}-scrollbar--visible`),g=!0;if(B&&!y&&!S)u()},e=()=>{if(y||S)return;m.classList.remove(`${Y}-scrollbar--visible`),g=!1},i=(W2,O2)=>{if(M=W2,A=O2,I(),M<=A){m.style.display="none",e();return}m.style.display="";let R2=Math.max(0,A-F-_),P2=A/M;if(O=Math.max(H,P2*R2),$.style[T]=`${O}px`,E=R2-O,q2(c),!B)a()},q2=(W2)=>{if(c=W2,M<=A||E<=0)return;let O2=M-A,R2=Math.min(1,Math.max(0,W2/O2));$.style.transform=`${p}(${R2*E}px)`},K2=(W2)=>{if(W2.target===$||V!=="jump"||E<=0)return;let O2=M-A,R2=m.getBoundingClientRect(),P2=t(W2)-R2[n],Z2=Math.max(0,Math.min(P2-O/2,E));Q(Z2/E*O2),a()},G2=()=>{if(b!==null)clearTimeout(b),b=null;if(Z!==null)cancelAnimationFrame(Z),Z=null;U=null},M2=(W2)=>{let O2=E>0?L/W2*E:0;if(R<O2)return-1;if(R>=O2+O)return 1;return 0},N2=()=>{let W2=M-A,O2=M2(W2);if(O2===0){G2();return}if(O2===-1){if(L<=0){G2();return}let R2=Math.max(0,L-A);L=R2,Q(R2)}else{if(L>=W2){G2();return}let R2=Math.min(W2,L+A);L=R2,Q(R2)}a()},J2=(W2)=>{if(U===null){U=W2,Z=requestAnimationFrame(J2);return}let O2=M-A,R2=W2-U;U=W2;let P2=M2(O2);if(P2===0){G2();return}let Z2=12*A/1000,r=Math.min(Z2*R2,A);if(P2===-1){if(L<=0){G2();return}let h=Math.max(0,L-r);L=h,Q(h)}else{if(L>=O2){G2();return}let h=Math.min(O2,L+r);L=h,Q(h)}C(),Z=requestAnimationFrame(J2)},o=()=>{G2(),u(),document.removeEventListener("mouseup",o)},$2=(W2)=>{if(W2.target===$||V!=="scroll")return;W2.preventDefault();let O2=m.getBoundingClientRect();R=t(W2)-O2[n],L=c,N2(),b=setTimeout(()=>{Z=requestAnimationFrame(J2)},350),document.addEventListener("mouseup",o)},B2=(W2)=>{W2.preventDefault(),W2.stopPropagation(),y=!0,d=t(W2),f=c,C(),m.classList.add(`${Y}-scrollbar--dragging`),document.addEventListener("mousemove",U2),document.addEventListener("mouseup",Y2)},U2=(W2)=>{if(!y)return;let O2=t(W2)-d,R2=E>0?O2/E:0,P2=M-A,Z2=R2*P2,r=Math.max(0,Math.min(f+Z2,P2));$.style.transform=`${p}(${r/P2*E}px)`,Q(r)},Y2=()=>{if(y=!1,m.classList.remove(`${Y}-scrollbar--dragging`),B&&!S)u();document.removeEventListener("mousemove",U2),document.removeEventListener("mouseup",Y2)},A2=J?(W2)=>W2.touches[0].clientX:(W2)=>W2.touches[0].clientY,L2=(W2)=>{W2.stopPropagation(),y=!0,d=A2(W2),f=c,C(),m.classList.add(`${Y}-scrollbar--dragging`)},X2=(W2)=>{if(!y)return;W2.preventDefault();let O2=A2(W2)-d,R2=E>0?O2/E:0,P2=M-A,Z2=R2*P2,r=Math.max(0,Math.min(f+Z2,P2));$.style.transform=`${p}(${r/P2*E}px)`,Q(r)},b2=()=>{if(y=!1,m.classList.remove(`${Y}-scrollbar--dragging`),B)u()},F2=(W2)=>{if(W2.target===$)return;if(E<=0)return;let O2=W2.touches[0],R2=m.getBoundingClientRect(),P2=(J?O2.clientX:O2.clientY)-R2[n];if(V==="jump"){let Z2=M-A,r=Math.max(0,Math.min(P2-O/2,E));Q(r/E*Z2)}else R=P2,L=c,N2();a()},y2=()=>{if(N)a()},D2=()=>{if(!y){if(S=!1,B)u()}},k2=()=>{S=!0,C(),a()},H2=()=>{if(S=!1,!y&&B)u()},z2=()=>{if(C(),G2(),x!==null)cancelAnimationFrame(x),x=null;m.removeEventListener("click",K2),m.removeEventListener("mousedown",$2),m.removeEventListener("mouseenter",k2),document.removeEventListener("mouseup",o),m.removeEventListener("mouseleave",H2),m.removeEventListener("touchstart",F2),$.removeEventListener("mousedown",B2),$.removeEventListener("touchstart",L2),$.removeEventListener("touchmove",X2),$.removeEventListener("touchend",b2),j.removeEventListener("mouseenter",y2),j.removeEventListener("mouseleave",D2),document.removeEventListener("mousemove",U2),document.removeEventListener("mouseup",Y2),W.removeEventListener("click",K2),W.removeEventListener("mousedown",$2),W.removeEventListener("mouseenter",k2),W.removeEventListener("mouseleave",H2),W.remove(),w.style.removeProperty("--vlist-custom-scrollbar-padding-top"),w.style.removeProperty("--vlist-custom-scrollbar-padding-right"),w.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),w.style.removeProperty("--vlist-custom-scrollbar-padding-left"),m.remove()};if(s(),m.addEventListener("click",K2),m.addEventListener("mousedown",$2),m.addEventListener("mouseenter",k2),m.addEventListener("mouseleave",H2),m.addEventListener("touchstart",F2,{passive:!0}),$.addEventListener("mousedown",B2),$.addEventListener("touchstart",L2,{passive:!0}),$.addEventListener("touchmove",X2,{passive:!1}),$.addEventListener("touchend",b2,{passive:!0}),j.addEventListener("mouseenter",y2),j.addEventListener("mouseleave",D2),W.addEventListener("click",K2),W.addEventListener("mousedown",$2),G)W.addEventListener("mouseenter",k2),W.addEventListener("mouseleave",H2);return{show:a,hide:e,updateBounds:i,updatePosition:q2,isVisible:()=>g,destroy:z2}};var I1=0.65,$1=0.5,J1=1.7,S1=0.95,p1=0.1,d2=5,u1=100;function N0(j){let Q=j?.force??!1,q,Y,J,K,B,X={isCompressed:!1,actualSize:0,virtualSize:0,ratio:1},H=!1,G=0,N=null,l=!1,V=0,w=0,D=null,F=null,_=0,z=0,v=null,M=new Float64Array(d2),A=new Float64Array(d2),O=0,E=0,y={start:0,end:-1},S=-1,d=null;function f(){return Math.max(0,X.virtualSize+G-q.containerSize)}function c(){if(X.virtualSize<=0)return 0;return Math.max(0,q.containerSize*(1-X.ratio))}function k($){let W=q.totalItems;if(X=e0(W,Y,Q),X.isCompressed&&!H)t($);else if(!X.isCompressed&&H)n($);if(X.isCompressed){if(G=c(),q.isCompressed=!0,q.compressionRatio=X.ratio,$.updateContentSize(X.virtualSize+G),N)N.updateBounds(X.virtualSize+G,q.containerSize)}}let g=null,x=null,R=null,L=null,b=null;function Z($){V=$,w=$,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=$,q.scrollDirection=$>q.prevScrollPosition?1:-1,d.forceRender()}function U(){if(D!==null)cancelAnimationFrame(D),D=null;if(F!==null)cancelAnimationFrame(F),F=null}function T($){U(),Z(Math.max(0,Math.min($,f())))}function p($,W,P=o2){U();let I=Math.max(0,Math.min($,f())),s=V;if(Math.abs(I-s)<$1){Z(I);return}let C=performance.now(),u=(a)=>{let e=Math.min((a-C)/W,1);if(Z(s+(I-s)*P(e)),e<1)F=requestAnimationFrame(u);else F=null};F=requestAnimationFrame(u)}function t($){H=!0,q.isCompressed=!0;let W=K?"scrollLeft":"scrollTop",P=K?"overflowX":"overflow",I=J[W];if(J.style[P]="hidden",J[W]=0,I>0)V=I,w=I,q.scrollPosition=I;G=c();let s=()=>{let i=w-V,q2=f();if(Math.abs(i)<$1)V=Math.max(0,Math.min(w,q2)),w=V,D=null;else V+=i*I1,V=Math.max(0,Math.min(V,q2)),D=requestAnimationFrame(s);q.prevScrollPosition=q.scrollPosition,q.scrollPosition=V,q.scrollDirection=V>q.prevScrollPosition?1:-1,$.forceRender()};g=(i)=>{i.preventDefault();let q2=f();if(w=Math.max(0,Math.min(w+i.deltaY*X.ratio*J1,q2)),D===null)D=requestAnimationFrame(s)},J.addEventListener("wheel",g,{passive:!1});let C=()=>{if(v!==null)cancelAnimationFrame(v),v=null};x=(i)=>{if(C(),D!==null)cancelAnimationFrame(D),D=null;let q2=i.touches[0];if(!q2)return;let K2=K?q2.clientX:q2.clientY;_=K2,z=V,O=1,E=0,M[0]=performance.now(),A[0]=K2},R=(i)=>{i.preventDefault();let q2=i.touches[0];if(!q2)return;let K2=K?q2.clientX:q2.clientY,G2=performance.now(),M2=O<d2?O:E;if(M[M2]=G2,A[M2]=K2,O<d2)O++;else E=(E+1)%d2;let N2=_-K2,J2=f(),o=Math.max(0,Math.min(z+N2*X.ratio*J1,J2));V=o,w=o,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=o,q.scrollDirection=o>q.prevScrollPosition?1:-1,$.forceRender()},L=()=>{let i=performance.now(),q2=1/0,K2=0,G2=-1,M2=0,N2=0;for(let B2=0;B2<O;B2++){let U2=(E+B2)%d2,Y2=M[U2];if(i-Y2>=u1)continue;N2++;let A2=A[U2];if(Y2<q2)q2=Y2,K2=A2;if(Y2>G2)G2=Y2,M2=A2}let J2=0;if(N2>=2){let B2=G2-q2;if(B2>0)J2=(K2-M2)/B2}if(O=0,E=0,Math.abs(J2)<p1)return;let o=J2*16,$2=()=>{if(o*=S1,Math.abs(o)<0.5){v=null;return}let B2=f(),U2=V+o;if(U2=Math.max(0,Math.min(U2,B2)),U2<=0&&o<0||U2>=B2&&o>0){V=U2,w=U2,q.scrollPosition=U2,$.forceRender(),v=null;return}V=U2,w=U2,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=U2,q.scrollDirection=U2>q.prevScrollPosition?1:-1,$.forceRender(),v=requestAnimationFrame($2)};v=requestAnimationFrame($2)},J.addEventListener("touchstart",x,{passive:!0}),J.addEventListener("touchmove",R,{passive:!1}),J.addEventListener("touchend",L,{passive:!0}),J.addEventListener("touchcancel",L,{passive:!0}),b=()=>{if(J[W]!==0)J[W]=0},J.addEventListener("scroll",b,{passive:!0});let u=(i)=>{if(V=i,w=i,D!==null)cancelAnimationFrame(D),D=null;q.prevScrollPosition=q.scrollPosition,q.scrollPosition=i,q.scrollDirection=i>q.prevScrollPosition?1:-1,$.forceRender()},a=$.getMethod("_scrollbar:setCallback"),e=$.getMethod("_scrollbar:getInstance");if(a&&e){a(u);let i=e();if(i)N=i,l=!1,N.updateBounds(X.virtualSize+G,q.containerSize)}else if(!N){let i=$.config.classPrefix;if(N=$0(J,u,{},i,K,$.dom.root),l=!0,!J.classList.contains(`${i}-viewport--custom-scrollbar`))J.classList.add(`${i}-viewport--custom-scrollbar`);N.updateBounds(X.virtualSize+G,q.containerSize)}}function n($){H=!1,q.isCompressed=!1,q.compressionRatio=1,V=0,w=0,O=0,E=0,m();let W=K?"overflowX":"overflow";J.style[W]="auto",G=0,$.updateContentSize(Y.getTotalSize())}function m(){if(D!==null)cancelAnimationFrame(D),D=null;if(F!==null)cancelAnimationFrame(F),F=null;if(v!==null)cancelAnimationFrame(v),v=null;if(g)J.removeEventListener("wheel",g),g=null;if(x)J.removeEventListener("touchstart",x),x=null;if(R)J.removeEventListener("touchmove",R),R=null;if(L)J.removeEventListener("touchend",L),J.removeEventListener("touchcancel",L),L=null;if(b)J.removeEventListener("scroll",b),b=null;if(N&&l)N.destroy();N=null,l=!1;let $=K?"scrollLeft":"scrollTop";if(J&&J[$]!==0)J[$]=0}return{name:"scale",priority:20,setup($){q=$.getState(),Y=$.sizeCache,J=$.dom.viewport,K=$.config.axis.primary==="x",B=$.config.overscan,d=$,$.registerMethod("_updateCompressionMode",()=>k($)),$.registerMethod("_scale:getCompression",()=>X),$.registerMethod("_scale:easedScrollTo",(W,P)=>p(W,P)),$.setScrollFns(()=>V,(W)=>{if(!X.isCompressed||!H){let I=K?"scrollLeft":"scrollTop";J[I]=W;return}if(U(),v!==null)cancelAnimationFrame(v),v=null;let P=W*X.ratio;Z(Math.max(0,Math.min(P,f())))}),$.setScrollToIndexFn((W,P,I,s,C)=>{if(!X.isCompressed||!H)return!1;let u=e2(W,Y,q.containerSize,q.totalItems,X,P);if(I==="smooth")p(u,s??i2,C);else T(u)}),k($),S=q.totalItems,$.registerDestroyHandler(m)},hooks:{onCalculate($){if($.totalItems!==S&&d)S=$.totalItems,k(d);if(!X.isCompressed||!H)return;let W=$.totalItems;if(W===0||$.containerSize<=0){$.visibleCount=0;return}m2($.scrollPosition,$.containerSize,Y,W,X,y);let P=Math.max(0,y.start-B),I=Math.min(W-1,y.end+B),s=Math.min(I-P+1,$.capacity);$.visibleCount=s,$.startIndex=P;for(let C=0;C<s;C++){let u=P+C;$.visibleIndices[C]=u,$.visibleOffsets[C]=x2(u,$.scrollPosition,Y,W,$.containerSize,X),$.visibleSizes[C]=Y.getSize(u)}$.prevRangeStart=P,$.prevRangeEnd=I},onAfterScroll($){if(N&&H)N.updatePosition($),N.show()},onResize(){if(H){if(G=c(),N)N.updateBounds(X.virtualSize+G,q.containerSize);let $=f();if(V>$)V=$,w=$,q.scrollPosition=$}}},destroy(){m()}}}function W0(j){let Q=null,q,Y=0,J=0;return{name:"scrollbar",priority:15,setup(K){let{dom:B,config:X}=K,{classPrefix:H}=X,G=X.axis.primary==="x";q=K.getState();let N=(l)=>{if(G)B.viewport.scrollLeft=l;else B.viewport.scrollTop=l};if(K.registerMethod("_scrollbar:setCallback",(l)=>{N=l}),Q=$0(B.viewport,(l)=>{N(l)},j,H,G,B.root),B.viewport.classList.add(`${H}-viewport--custom-scrollbar`),j?.gutter)B.viewport.classList.add(`${H}-viewport--gutter`);queueMicrotask(()=>{if(!q.isCompressed)Q?.updateBounds(q.totalSize,q.containerSize)}),K.registerMethod("_scrollbar:getInstance",()=>Q),K.registerDestroyHandler(()=>{if(Q?.destroy(),Q=null,B.viewport.classList.remove(`${H}-viewport--custom-scrollbar`),j?.gutter)B.viewport.classList.remove(`${H}-viewport--gutter`)})},hooks:{onAfterScroll(K){if(!q.isCompressed){let{totalSize:B,containerSize:X}=q;if(B!==Y||X!==J)Y=B,J=X,Q?.updateBounds(B,X)}Q?.updatePosition(K),Q?.show()},onResize(){if(!q.isCompressed){let{totalSize:K,containerSize:B}=q;Y=K,J=B,Q?.updateBounds(K,B)}}},destroy(){Q?.destroy(),Q=null}}}var Q1=(j)=>{let Q=Math.max(1,Math.floor(j.columns)),q=j.gap??0,Y=j.isHeaderFn,J={row:0,col:0},K=(D)=>{if(D<=0)return 0;if(!Y)return Math.ceil(D/Q);let F=0,_=0,z=0;for(let v=0;v<D;v++)if(Y(v)){if(z++,_)F++,_=0;F++,_=0}else if(_++,_>=Q)F++,_=0;if(_)F++;return F},B=(D)=>{return J.row=X(D),J.col=H(D),J},X=(D)=>{if(!Y)return Math.floor(D/Q);let F=0,_=0;for(let z=0;z<=D;z++)if(Y(z)){if(_)F++,_=0;if(z===D)return F;F++,_=0}else{if(z===D)return F;if(_++,_>=Q)F++,_=0}return console.warn(`⚠️ getRow(${D}) fell through - returning ${F}`),F},H=(D)=>{if(!Y)return D%Q;if(Y(D))return 0;let F=0;for(let _=0;_<=D;_++)if(Y(_))F=0;else{if(_===D)return F;if(F++,F>=Q)F=0}return F},G=(D,F,_)=>{if(_<=0)return{start:0,end:-1};if(!Y){let O=Math.max(0,D*Q),E=Math.min(_-1,(F+1)*Q-1);return{start:O,end:E}}let z=-1,v=-1,M=0,A=0;for(let O=0;O<_;O++){if(Y(O)){if(A)M++,A=0;if(M>=D&&M<=F){if(z<0)z=O;v=O}M++,A=0}else{if(M>=D&&M<=F){if(z<0)z=O;v=O}if(A++,A>=Q)M++,A=0}if(M>F&&!A)break}if(z<0)return{start:0,end:-1};return{start:z,end:v}},N=(D,F,_)=>{if(F<0||F>=Q)return-1;let z=D*Q+F;if(z<0||z>=_)return-1;return z},l=(D)=>{let F=(Q-1)*q;return Math.max(0,(D-F)/Q)};return{get columns(){return Q},get gap(){return q},update:(D)=>{if(D.columns!==void 0)Q=Math.max(1,Math.floor(D.columns));if(D.gap!==void 0)q=D.gap;if(D.isHeaderFn!==void 0)Y=D.isHeaderFn},getTotalRows:K,getPosition:B,getRow:X,getCol:H,getItemRange:G,getItemIndex:N,getColumnWidth:l,getColumnOffset:(D,F)=>{let _=l(F);return D*(_+q)}}};var p2={selected:!1,focused:!1};function V0(j){if(!j.columns||j.columns<1)throw Error("[vlist] grid: columns must be >= 1");let Q,q,Y,J,K,B,X,H,G,N,l=null,V=null,w=!1,D=null,F=new Map,_=0,z={start:0,end:-1},v=-1,M=-1,A=!0;function O(){if(w||!D)return;w=!0,V=D("_scale:getCompression")??null}function E(){return Q.getTotalRows(Y.totalItems)}function y(k){let g=Q.getRow(k),x=Q.getCol(k),R=Q.getColumnOffset(x,_),L=q.getOffset(g);if(H)return`translate(${Math.round(L)}px, ${Math.round(R)}px)`;return`translate(${Math.round(R)}px, ${Math.round(L)}px)`}function S(k,g){let x=Q.getRow(g),R=Q.getColumnWidth(_),L=q.getSize(x)-Q.gap;if(H)k.style.width=`${L}px`,k.style.height=`${R}px`;else k.style.width=`${R}px`,k.style.height=`${L}px`}function d(k,g,x,R){if(R)R(x,p2);else p2.selected=!1,p2.focused=!1;let L=B(g,x,p2);if(typeof L==="string")k.innerHTML=L;else k.innerHTML="",k.appendChild(L)}function f(){if(Y.destroyed)return;let{scrollPosition:k,containerSize:g}=Y;if(!A&&k===v&&g===M)return;v=k,M=g,A=!1;let x=E();if(g<=0||x===0)return;O();let R=V?.()??null,L=R!==null&&R.isCompressed,b,Z;if(L)m2(k,g,q,x,R,z),b=Math.max(0,z.start-N),Z=Math.min(x-1,z.end+N);else{let $=q.indexAtOffset(k),W=q.indexAtOffset(k+g);if(W<x-1)W++;$=Math.max(0,$),W=Math.min(x-1,Math.max(0,W)),b=Math.max(0,$-N),Z=Math.min(x-1,W+N)}if(b===Y.prevRangeStart&&Z===Y.prevRangeEnd&&!Y.renderPending)return;let U=Q.getItemRange(b,Z,Y.totalItems);F.forEach(($,W)=>{if(W<U.start||W>U.end)$.el.remove(),J.release($.el),F.delete(W)});let T=`${G}-item ${G}-grid-item`,p=l?.()??null,t=p?`${G}-item--selected`:"",n=p?`${G}-item--focused`:"";for(let $=U.start;$<=U.end;$++){let W=X($);if(!W)continue;let P=F.get($);if(P===void 0){let I=J.acquire();I.className=T,I.setAttribute("data-index",String($)),I.setAttribute("data-id",String(W.id)),d(I,W,$,p),P={el:I,lastItem:W},F.set($,P),K.appendChild(I)}else if(P.lastItem!==W)P.el.setAttribute("data-id",String(W.id)),P.lastItem=W,d(P.el,W,$,p);if(p)if(p($,p2),P.el.classList.toggle(t,p2.selected),P.el.classList.toggle(n,p2.focused),p2.selected)P.el.setAttribute("aria-selected","true");else P.el.removeAttribute("aria-selected");if(S(P.el,$),L){let I=Q.getRow($),s=Q.getCol($),C=Q.getColumnOffset(s,_),u=x2(I,k,q,x,g,R);P.el.style.transform=H?`translate(${Math.round(u)}px, ${Math.round(C)}px)`:`translate(${Math.round(C)}px, ${Math.round(u)}px)`}else P.el.style.transform=y($)}if(!L){let $=q.getTotalSize();K.style[H?"width":"height"]=$+"px"}Y.totalSize=q.getTotalSize(),Y.prevRangeStart=b,Y.prevRangeEnd=Z,Y.renderPending=!1;let m=U.end-U.start+1;Y.visibleCount=Math.min(m,Y.capacity),Y.startIndex=U.start;for(let $=0;$<Y.visibleCount;$++){let W=U.start+$,P=Q.getRow(W);Y.visibleIndices[$]=W,Y.visibleOffsets[$]=L?x2(P,k,q,x,g,R):q.getOffset(P),Y.visibleSizes[$]=q.getSize(P)}}function c(){if(Y.destroyed)return;q.rebuild(E()),Y.prevRangeStart=-1,Y.prevRangeEnd=-1,Y.renderPending=!0,A=!0,f()}return{name:"grid",priority:10,conflicts:["masonry","table"],setup(k){let g=j.gap??0;Q=Q1({columns:j.columns,gap:g}),q=k.sizeCache,Y=k.getState(),J=k.pool,K=k.dom.content,B=k.template,H=k.config.axis.primary==="x",G=k.config.classPrefix,N=k.config.overscan,X=k.getItem.bind(k),l=()=>k.getItemStateFn(),D=k.getMethod.bind(k),_=Y.crossSize;let x=k.rawSizeSpec,R;if(typeof x==="function"){let b={columnWidth:Q.getColumnWidth(_),columns:j.columns,gap:g};R=x(0,b),k.setSizeConfig((Z)=>{b.columnWidth=Q.getColumnWidth(_);let U=Z*j.columns;return x(U,b)+g})}else if(R=x,g>0)k.setSizeConfig(R+g);if(q.rebuild(E()),g>0){let L=q.getTotalSize;q.getTotalSize=()=>{let b=L();return b>0?b-g:0}}k.setVirtualTotalFn(()=>E()),k.dom.root.classList.add(`${G}--grid`),k.setRenderFn(f,c),k.registerMethod("getGridLayout",()=>Q),k.registerMethod("updateGrid",(L)=>{if(L.columns!==void 0){if(!Number.isInteger(L.columns)||L.columns<1)throw Error("[vlist] updateGrid: columns must be >= 1")}if(L.gap!==void 0&&L.gap<0)throw Error("[vlist] updateGrid: gap must be >= 0");if(Q.update(L),L.gap!==void 0||L.columns!==void 0){let b=Q.gap;if(typeof x==="function"){let Z={columnWidth:Q.getColumnWidth(_),columns:Q.columns,gap:b};k.setSizeConfig((U)=>{Z.columnWidth=Q.getColumnWidth(_);let T=U*Q.columns;return x(T,Z)+b})}else k.setSizeConfig(R+b);q.rebuild(E())}if(L.columns!==void 0)k.setNavConfig({ud:Q.columns});_=Y.crossSize,c()}),k.registerMethod("scrollToIndex",(L,b="start")=>{let Z=Q.getRow(L),U=E();if(U===0)return;let T=Math.max(0,Math.min(Z,U-1)),p=q.getOffset(T),t=q.getSize(T),n=Y.containerSize,m=q.getTotalSize(),$=Math.max(0,m-n),W=typeof b==="string"?b:b.align??"start",P=typeof b==="object"?b.behavior:void 0,I=typeof b==="object"?b.duration:void 0,s;switch(W){case"center":s=p-(n-t)/2;break;case"end":s=p-n+t;break;default:s=p}s=Math.max(0,Math.min(s,$)),O();let C=V?.()??null;if(C?.isCompressed&&P==="smooth"&&I&&I>0){let u=e2(T,q,n,U,C,W),a=D?.("_scale:easedScrollTo");if(a)a(u,I);else k.scrollTo(s)}else if(P==="smooth"&&I&&I>0)k.smoothScrollTo(s,I);else k.scrollTo(s)}),k.setNavConfig({total:()=>Y.totalItems,ud:j.columns,lr:1,scrollIndex:(L)=>Q.getRow(L)}),k.registerDestroyHandler(()=>{for(let[,L]of F)L.el.remove();F.clear(),k.dom.root.classList.remove(`${G}--grid`)})},hooks:{onResize(k,g){let x=Y.crossSize;if(Math.abs(x-_)<1)return;if(_=x,(V?.()??null)?.isCompressed)c();else F.forEach((L,b)=>{S(L.el,b),L.el.style.transform=y(b)})}},destroy(){F.clear()}}}function _0(){return{name:"a11y",priority:55,setup(j){if(j.getItemStateFn())return;let{dom:Q,config:q,sizeCache:Y}=j,J=j.getState(),K=j.emitter,B=q.classPrefix,X=Q.liveRegion,H=-1,G=!1,N,l=-1,V=(S)=>j.getItem(S),w=()=>J.totalItems,D={id:0,index:0},F={selected:[],items:[]};j.setItemStateFn((S,d)=>{d.selected=l===S,d.focused=G&&H===S});function _(S){X.textContent="",X.textContent=S}let z=(S,d,f)=>{let c=S;while(c>=0&&c<f){let k=V(c);if(!k||!k.__groupHeader)return c;c+=d}c=S-d;while(c>=0&&c<f){let k=V(c);if(!k||!k.__groupHeader)return c;c-=d}return S},v=(S)=>{let d=j.getNavConfig(),f=d.scrollIndex?d.scrollIndex(S):S,c=Y.getOffset(f),k=Y.getSize(f),g=J.scrollPosition,x=J.containerSize,R=q.startPadding,L=q.endPadding,b=c+R,Z=b+k,U=g;if(b<g)U=Math.max(0,c);else if(Z>g+x)U=Z+L-x;if(U!==g)J.scrollPosition=U,j.scrollTo(U)},M=(S,d)=>{if(Q.content.setAttribute("aria-activedescendant",`${B}-item-${S}`),d)v(S);j.forceRender()},A=(S)=>{H=S,G=!0,M(S,!0);let d=V(S);if(d)D.id=d.id,D.index=S,K.emit("focus:change",D),_(`Item ${S+1} of ${w()}`)},O=(S,d)=>{if(H=S,d)G=!0;let f=V(S);if(f&&N===f.id)N=void 0,l=-1;else N=f?.id,l=f?S:-1;if(M(S,d),N!==void 0&&f&&N===f.id)F.selected[0]=N,F.selected.length=1,F.items[0]=f,F.items.length=1,_(`Selected, item ${S+1} of ${w()}`);else F.selected.length=0,F.items.length=0,_("Deselected");K.emit("selection:change",F)},E=()=>{if(J.destroyed)return;if(!Q.content.matches(":focus-visible"))return;let S=w();if(S===0)return;let d=H>=0?Math.min(H,S-1):0;d=z(d,1,S),A(d)},y=(S)=>{if(J.destroyed)return;let d=S.relatedTarget;if(d&&Q.root.contains(d))return;G=!1,Q.content.removeAttribute("aria-activedescendant"),j.forceRender()};Q.content.addEventListener("focusin",E),Q.content.addEventListener("focusout",y),j.registerKeydownHandler((S)=>{if(J.destroyed)return;let d=w();if(d===0)return;let f=H,c=f;if(S.key===" "||S.key==="Enter"){if(f>=0){let g=V(f);if(g&&!g.__groupHeader)O(f,!0)}S.preventDefault();return}let k=j.getNavConfig();if(k.navigate)switch(S.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":c=k.navigate(f,S.key,d);break;default:return}else{let g=k.ud||1,x=k.lr,R=q.axis.primary==="x";switch(S.key){case"ArrowUp":if(R&&!x)return;c=f-(R?x:g);break;case"ArrowDown":if(R&&!x)return;c=f+(R?x:g);break;case"ArrowLeft":if(!R&&!x)return;c=f-(R?g:x);break;case"ArrowRight":if(!R&&!x)return;c=f+(R?g:x);break;case"PageUp":case"PageDown":{let L=Y.getSize(Math.max(0,k.scrollIndex?k.scrollIndex(f):f)),Z=Math.max(1,Math.floor(J.containerSize/L))*g;c=S.key==="PageUp"?f-Z:f+Z;break}case"Home":c=0;break;case"End":c=d-1;break;default:return}}if(c<0)c=0;else if(c>=d)c=d-1;if(S.preventDefault(),c=z(c,c>=f?1:-1,d),c!==f)A(c)}),j.registerClickHandler((S)=>{if(J.destroyed)return;let d=S.target.closest("[data-index]");if(!d)return;let f=parseInt(d.dataset.index??"-1",10);if(f<0)return;let c=V(f);if(!c||c.__groupHeader)return;G=!1,Q.content.focus({preventScroll:!0}),O(f,!1)}),j.registerDestroyHandler(()=>{Q.content.removeEventListener("focusin",E),Q.content.removeEventListener("focusout",y)})}}}var r2=(j,Q,q)=>{if(String(q).startsWith(f2))return!1;let Y=f2+Q;if(j.has(Y))return j.delete(Y),j.add(q),!0;return!1},j1=(j)=>({selected:new Set(j??[]),focusedIndex:-1,focusVisible:!1});function u2(j,Q,q,Y){if(q===0)return;let J=Y?-Q:Q,K=j.focusedIndex+J;if(K<0)K=0;if(K>=q)K=q-1;j.focusedIndex=K}function J0(j){return Array.from(j)}var g1={preventScroll:!0};function M0(j){let Q=j?.mode??"single",q=j?.followFocus??!1,Y=j?.focusOnClick??!1,J,K,B,X,H,G,N,l,V=-1,w=new Map,D=null,F=null,_=null,z=null,v,M=!1;function A(Z){if(M)return;M=!0,D=Z.getMethod("_layoutToDataIndex")??null,F=Z.getMethod("_dataToLayoutIndex")??null,_=Z.getMethod("_isGroupHeader")??null,z=Z.getMethod("_scrollItemIntoView")??null;let U=Z.getMethod("getGroupLayout");if(U){let T=U();v=()=>T.totalEntries}}let O=(Z)=>D?D(Z):Z,E=(Z)=>{let U=O(Z);return U>=0?K(U):void 0},y=(Z,U,T)=>{if(!_)return Z;let p=Z;while(p>=0&&p<T){if(!_(p))return p;p+=U}p=Z-U;while(p>=0&&p<T){if(!_(p))return p;p-=U}return Z};function S(Z,U){if(Q==="single")J.selected.clear(),w.clear();if(J.selected.add(Z),U)w.set(Z,U)}function d(Z,U){if(J.selected.has(Z))J.selected.delete(Z),w.delete(Z);else S(Z,U)}function f(){J.selected.clear(),w.clear()}function c(Z){J.selected.delete(Z),w.delete(Z)}function k(Z,U){let T=Math.min(Z,U),p=Math.max(Z,U);for(let t=T;t<=p;t++){let n=K(t);if(n)J.selected.add(n.id),w.set(n.id,n)}}function g(){let Z=N.totalItems;for(let U=0;U<Z;U++){let T=K(U);if(T)J.selected.add(T.id),w.set(T.id,T)}}function x(){if(J.selected.size===0)return[];if(w.size>=J.selected.size){let p=[];for(let t of J.selected){let n=w.get(t);if(n)p.push(n)}if(p.length===J.selected.size)return p}let Z=[],U=new Set(J.selected),T=N.totalItems;for(let p=0;p<T&&U.size>0;p++){let t=K(p);if(t&&U.has(t.id))Z.push(t),w.set(t.id,t),U.delete(t.id)}return Z}function R(){B(),X.emit("selection:change",{selected:J0(J.selected),items:x()})}let L=null,b=-1;return{name:"selection",priority:50,setup(Z){J=j1(j?.initial),K=Z.getItem.bind(Z),B=Z.forceRender.bind(Z),X=Z.emitter,H=Z.dom;let U=Z.config;if(G=Z.sizeCache,N=Z.getState(),l=Z.scrollTo.bind(Z),v=()=>N.totalItems,Q==="none"){Z.registerMethod("select",()=>{}),Z.registerMethod("deselect",()=>{}),Z.registerMethod("toggleSelect",()=>{}),Z.registerMethod("selectAll",()=>{}),Z.registerMethod("clearSelection",()=>{}),Z.registerMethod("getSelected",()=>[]),Z.registerMethod("getSelectedItems",()=>[]),Z.registerMethod("selectNext",()=>{}),Z.registerMethod("selectPrevious",()=>{}),Z.registerMethod("_seedSelection",()=>{}),Z.registerMethod("_getFocusedId",()=>{return}),Z.registerMethod("_focusById",()=>{});return}let T=U.classPrefix;Z.setItemStateFn(($,W)=>{if(A(Z),J.selected.size>0){let P=O($),I=P>=0?K(P):void 0,s=I?.id;if(s!==void 0)if(J.selected.has(s))W.selected=!0;else if(r2(J.selected,P,s))W.selected=!0,w.delete(f2+P),w.set(s,I);else W.selected=!1;else W.selected=!1}else W.selected=!1;W.focused=J.focusVisible&&J.focusedIndex===$}),Z.registerMethod("_getSelectedIds",()=>J.selected),Z.registerMethod("_getFocusedIndex",()=>J.focusVisible?J.focusedIndex:-1),H.root.classList.add(`${T}--selectable`);let p=($)=>{L=null,b=-1;let W=$.target.closest("[data-index]");if(!W)return!1;let P=parseInt(W.dataset.index??"-1",10);if(P<0)return!1;let I=O(P);if(I<0)return!1;let s=K(I);if(!s)return!1;return L=s,b=P,!0},t=($)=>{if($<0)return;if(z){z($);return}let W=Z.getNavConfig(),P=W.scrollIndex?W.scrollIndex($):$,I=G.getOffset(P),s=G.getSize(P),C=N.containerSize,u=N.scrollPosition;if(I<u)l(I);else if(I+s>u+C)l(I-C+s)},n=()=>{if(N.destroyed)return;if(A(Z),!H.content.matches(":focus-visible")&&!H.root.matches(":focus-visible"))return;let $=v();if($===0)return;let W=J.focusedIndex>=0?Math.min(J.focusedIndex,$-1):0;W=y(W,1,$),J.focusedIndex=W,J.focusVisible=!0,H.content.setAttribute("aria-activedescendant",`${T}-item-${W}`),t(W),B()};H.root.addEventListener("focusin",n);let m=($)=>{if(N.destroyed)return;let W=$.relatedTarget;if(W&&H.root.contains(W))return;J.focusVisible=!1,B(),H.content.removeAttribute("aria-activedescendant")};if(H.root.addEventListener("focusout",m),Z.registerDestroyHandler(()=>{H.root.removeEventListener("focusin",n),H.root.removeEventListener("focusout",m)}),Z.registerClickHandler(($)=>{if(A(Z),!p($))return;if(Q==="multiple"&&$.shiftKey&&J.focusedIndex>=0){let W=V>=0?V:J.focusedIndex,P=O(W),I=O(b);if(P>=0&&I>=0)k(P,I);J.focusedIndex=b,J.focusVisible=Y,V=b,R();return}J.focusedIndex=b,J.focusVisible=Y,V=b,H.content.focus(g1),d(L.id,L),R()}),U.interactive)Z.registerKeydownHandler(($)=>{A(Z);let W=v();if(W===0)return;let P=Z.getNavConfig(),I=J.focusedIndex,s=!1,C=!1;if(P.navigate&&($.key==="ArrowUp"||$.key==="ArrowDown"||$.key==="ArrowLeft"||$.key==="ArrowRight"||$.key==="PageUp"||$.key==="PageDown"||$.key==="Home"||$.key==="End")){let a=P.navigate(J.focusedIndex,$.key,W);if(a!==J.focusedIndex)J.focusedIndex=Math.max(0,Math.min(a,W-1));J.focusVisible=!0,s=!0}else switch($.key){case"ArrowUp":{let a=P.ud||1,e=P.lr,i=U.axis.primary==="x";if(i&&!e)break;u2(J,-(i?e:a),W,U.reverse),J.focusVisible=!0,s=!0;break}case"ArrowDown":{let a=P.ud||1,e=P.lr,i=U.axis.primary==="x";if(i&&!e)break;u2(J,i?e:a,W,U.reverse),J.focusVisible=!0,s=!0;break}case"ArrowLeft":{let a=P.ud||1,e=P.lr,i=U.axis.primary==="x";if(!i&&!e)break;u2(J,-(i?a:e),W,U.reverse),J.focusVisible=!0,s=!0;break}case"ArrowRight":{let a=P.ud||1,e=P.lr,i=U.axis.primary==="x";if(!i&&!e)break;u2(J,i?a:e,W,U.reverse),J.focusVisible=!0,s=!0;break}case"Home":if(W>0)J.focusedIndex=0;J.focusVisible=!0,s=!0;break;case"End":if(W>0)J.focusedIndex=W-1;J.focusVisible=!0,s=!0;break;case"PageUp":case"PageDown":{let a=P.ud||1,e=Math.max(0,J.focusedIndex),i=P.scrollIndex?P.scrollIndex(e):e,q2=G.getSize(i),K2=N.containerSize,M2=(q2>0?Math.max(1,Math.floor(K2/q2)):10)*a;if(D&&F){let N2=D(J.focusedIndex),J2=$.key==="PageUp"?-M2:M2,o=N.totalItems-1;J.focusedIndex=F(Math.max(0,Math.min(o,N2+J2)))}else u2(J,$.key==="PageUp"?-M2:M2,W);J.focusVisible=!0,s=!0;break}case" ":case"Enter":if($.key===" "&&$.shiftKey&&Q==="multiple"&&J.focusedIndex>=0){if(V>=0){let a=O(V),e=O(J.focusedIndex);if(a>=0&&e>=0)k(a,e)}J.focusVisible=!0,C=!0,s=!0;break}if(J.focusedIndex>=0){let a=E(J.focusedIndex);if(a)d(a.id,a),V=J.focusedIndex;J.focusVisible=!0,C=!0,s=!0}break;case"a":if(($.ctrlKey||$.metaKey)&&Q==="multiple"){if(J.selected.size===N.totalItems)f();else g();J.focusVisible=!0,C=!0,s=!0}break;case"Delete":case"Backspace":if(J.selected.size>0)X.emit("delete",{selected:J0(J.selected),items:x()}),s=!0;break}if(J.focusedIndex!==I&&_){let a=J.focusedIndex>I?1:-1;J.focusedIndex=y(J.focusedIndex,a,W)}let u=J.focusedIndex!==I;if($.shiftKey&&Q==="multiple"&&!C&&u){if($.key==="ArrowUp"||$.key==="ArrowDown"||$.key==="ArrowLeft"||$.key==="ArrowRight"){let i=E(J.focusedIndex);if(i)d(i.id,i);V=J.focusedIndex,C=!0}if(($.ctrlKey||$.metaKey)&&($.key==="Home"||$.key==="End")){let i=O(I>=0?I:J.focusedIndex),q2=O(J.focusedIndex);if(i>=0&&q2>=0)k(i,q2);V=J.focusedIndex,C=!0}}if(q&&Q==="single"&&!C&&u&&J.focusedIndex>=0){let a=E(J.focusedIndex);if(a)S(a.id,a);C=!0}if(s){if($.preventDefault(),u&&J.focusedIndex>=0)t(J.focusedIndex),H.content.setAttribute("aria-activedescendant",`${T}-item-${J.focusedIndex}`);if(C)R();else if(u){if(B(),J.focusedIndex>=0){let a=E(J.focusedIndex);if(a)X.emit("focus:change",{id:a.id,index:J.focusedIndex})}}}});Z.registerMethod("select",(...$)=>{for(let W of $)S(W);R()}),Z.registerMethod("deselect",(...$)=>{for(let W of $)c(W);R()}),Z.registerMethod("toggleSelect",($)=>{d($),R()}),Z.registerMethod("selectAll",()=>{if(Q!=="multiple")return;g(),R()}),Z.registerMethod("clearSelection",()=>{f(),R()}),Z.registerMethod("getSelected",()=>{return J0(J.selected)}),Z.registerMethod("getSelectedItems",()=>{return x()}),Z.registerMethod("selectNext",()=>{A(Z);let $=v();if($===0)return;if(u2(J,1,$,U.reverse),_)J.focusedIndex=y(J.focusedIndex,1,$);let W=E(J.focusedIndex);if(W)S(W.id,W);R()}),Z.registerMethod("selectPrevious",()=>{A(Z);let $=v();if($===0)return;if(u2(J,-1,$,U.reverse),_)J.focusedIndex=y(J.focusedIndex,-1,$);let W=E(J.focusedIndex);if(W)S(W.id,W);R()}),Z.registerMethod("_seedSelection",($)=>{for(let W of $)J.selected.add(W)}),Z.registerMethod("_getFocusedId",()=>{if(J.focusedIndex<0)return;return E(J.focusedIndex)?.id}),Z.registerMethod("_focusById",($)=>{let W=N.totalItems;for(let P=0;P<W;P++){let I=K(P);if(I&&I.id===$){let s=F?F(P):P;J.focusedIndex=s,X.emit("focus:change",{id:$,index:s});return}}})},destroy(){w.clear()}}}var Q0=(j)=>j==null?0:typeof j==="function"?j():j;function G0(j){let Q=j?.scrollPadding,q,Y;return{name:"page",priority:5,setup(J){let{dom:K,sizeCache:B,config:X,emitter:H}=J,G=X.axis.primary==="x",N=window,l=J.getState();if(J.disableDefaultScroll(),J.disableDefaultResize(),K.root.style.overflow="visible",K.root.style.height="auto",G)K.viewport.style.overflowX="visible",K.viewport.style.overflowY="visible";else K.viewport.style.overflow="visible";K.viewport.classList.remove(`${X.classPrefix}-viewport--custom-scrollbar`),J.setScrollFns(()=>{let z=K.viewport.getBoundingClientRect();return Math.max(0,G?-z.left:-z.top)},(z)=>{let v=K.viewport.getBoundingClientRect(),M=(G?v.left+N.scrollX:v.top+N.scrollY)+z;if(G)N.scrollTo({left:M,top:N.scrollY,behavior:"instant"});else N.scrollTo({left:N.scrollX,top:M,behavior:"instant"})}),l.containerSize=G?N.innerWidth:N.innerHeight,l.crossSize=G?N.innerHeight:N.innerWidth;let V=null,w=()=>{let z=K.viewport.getBoundingClientRect(),v=Math.max(0,G?-z.left:-z.top);if(l.prevScrollPosition=l.scrollPosition,l.scrollPosition=v,l.scrollDirection=v>l.prevScrollPosition?1:v<l.prevScrollPosition?-1:0,J.onScrollFrame(),V!==null)clearTimeout(V);V=setTimeout(()=>{V=null,J.onScrollIdle()},150)};N.addEventListener("scroll",w,{passive:!0}),Y=()=>N.removeEventListener("scroll",w);let{innerWidth:D,innerHeight:F}=N,_=()=>{let{innerWidth:z,innerHeight:v}=N;if((G?Math.abs(z-D):Math.abs(v-F))<1)return;D=z,F=v,l.containerSize=G?z:v,l.crossSize=G?v:z,J.forceRender(),H.emit("resize",{width:z,height:v})};if(N.addEventListener("resize",_),q=()=>N.removeEventListener("resize",_),Q)J.setScrollToPosFn((z,v,M,A,O)=>{let E=Q0(G?Q.left:Q.top),y=Q0(G?Q.right:Q.bottom);if(A===0)return 0;let S=Math.max(0,Math.min(z,A-1)),d=v.getOffset(S),f=v.getSize(S),c=v.getTotalSize(),k=Math.max(0,c-M+y),g;switch(O){case"center":g=d-E-(M-E-y-f)/2;break;case"end":g=d-M+f+y;break;default:g=d-E}return Math.max(-E,Math.min(g,k))}),J.registerMethod("_scrollItemIntoView",(z)=>{let v=G?N.innerWidth:N.innerHeight,M=Q0(G?Q.left:Q.top),A=Q0(G?Q.right:Q.bottom),O=K.viewport.getBoundingClientRect(),E=G?N.scrollX:N.scrollY,y=G?O.left:O.top,S=y+E,d=B.getOffset(z),f=B.getSize(z),c=y+d,k=v-A,g=E;if(c<M)g=S+d-M;else if(c+f>k)g=S+d+f-k;if(g!==E)if(G)N.scrollTo({left:g,top:N.scrollY,behavior:"instant"});else N.scrollTo({left:N.scrollX,top:g,behavior:"instant"})});J.registerDestroyHandler(()=>{if(Y?.(),q?.(),V!==null)clearTimeout(V)})},destroy(){Y?.(),q?.(),Y=void 0,q=void 0}}}var x1=(j)=>{try{let Q=sessionStorage.getItem(j);if(!Q)return;return JSON.parse(Q)}catch{return}};function X0(j){let Q=j?.autoSave,q=Q?x1(Q):j?.restore,Y=!1,J=null;return{name:"snapshots",priority:50,setup(K){let{sizeCache:B,emitter:X}=K,H=K.getState(),G=()=>{let{scrollPosition:V,totalItems:w}=H,F=K.getMethod("getSelected")?.();if(w===0){let y={index:0,offsetInItem:0,total:0};if(F?.length)y.selectedIds=F;return y}let _,z;if(H.isCompressed&&H.compressionRatio!==1){let y=H.totalSize,d=V/y*w;_=Math.max(0,Math.min(Math.floor(d),w-1)),z=(d-_)*B.getSize(_)}else _=B.indexAtOffset(V),z=V-B.getOffset(_);z=Math.max(0,z);let v={index:_,offsetInItem:z,total:w,scrollTop:V},M=B.getSize(_);if(M)v.offsetRatio=z/M;let A=K.getMethod("_layoutToDataIndex");if(A){let y=A(_);if(y<0){for(let S=_+1;S<w;S++)if(y=A(S),y>=0)break}if(y>=0)v.dataIndex=y}let O=K.getMethod("_getTotal");if(O)v.dataTotal=O();if(F?.length)v.selectedIds=F;let E=K.getMethod("_getFocusedId");if(E){let y=E();if(y!==void 0)v.focusedId=y}return v};K.registerMethod("getScrollSnapshot",G);let N=(V,w=!0)=>{let{index:D,offsetInItem:F,selectedIds:_,focusedId:z}=V,v=H.totalItems,M=V.dataTotal??V.total;if(v===0&&M&&M>0){let R=K.getMethod("_setTotal");if(R)R(M),v=H.totalItems;B.rebuild(v);let L=K.getMethod("_updateCompressionMode");if(L)L();if(!H.isCompressed)K.updateContentSize(B.getTotalSize()),H.totalSize=B.getTotalSize()}if(v===0)return;if(!Number.isFinite(D)||!Number.isFinite(F))return;if(B.getTotal()!==v){B.rebuild(v);let R=K.getMethod("_updateCompressionMode");if(R)R();if(!H.isCompressed)K.updateContentSize(B.getTotalSize()),H.totalSize=B.getTotalSize()}let O=K.getMethod("_dataToLayoutIndex"),E=D;if(V.dataIndex!==void 0&&V.dataIndex>=0)E=O?O(V.dataIndex):V.dataIndex;else if(O)E=O(D);let y=Math.max(0,Math.min(E,v-1)),S=B.getSize(y),d=V.offsetRatio!==void 0?V.offsetRatio*S:Math.min(F,S),f;if(H.isCompressed&&H.compressionRatio!==1){let R=K.getMethod("_getTotal")?.(),L=R!==void 0&&V.dataTotal===R;if(V.scrollTop!==void 0&&(V.total===v||L))f=V.scrollTop;else{let b=S?d/S:0;f=(y+b)/v*H.totalSize}}else f=B.getOffset(y)+d;let c=Math.max(0,H.totalSize-H.containerSize);f=Math.max(0,Math.min(f,c));let k=f===V.scrollTop;if(V.dataIndex!==void 0&&V.dataIndex>=0){let R=S?d/S:0;K.registerMethod("_restoreAnchor",{dataIndex:V.dataIndex,fraction:R,skipAdjust:k}),K.registerMethod("_suppressSave",1)}if(K.scrollTo(f),w&&_?.length){let R=K.getMethod("select");if(R)R(..._)}let g=K.getMethod("loadVisibleRange"),x=()=>{if(z===void 0)return;let R=K.getMethod("_focusById");if(R)R(z)};if(g){let R=0,L=()=>{if(H.containerSize>0){if(Math.abs(H.scrollPosition-f)>1)K.scrollTo(f);g().then(x)}else if(++R<10)requestAnimationFrame(L)};requestAnimationFrame(L)}else{let R=K.getMethod("reload");if(R)requestAnimationFrame(()=>{R().then(x)});else requestAnimationFrame(x)}};K.registerMethod("restoreScroll",N);let l=!!(q&&Q);if(K.registerDestroyHandler(()=>{Y=!0}),Q){J=()=>{if(Y||l||K.getMethod("_suppressSave"))return;let v=G();try{sessionStorage.setItem(Q,JSON.stringify(v))}catch{}},K.registerMethod("_saveSnapshot",J);let V=0,w=()=>{if(V)return;V=requestAnimationFrame(()=>{if(V=0,J)J()})};X.on("selection:change",w),X.on("focus:change",w);let D=0,F=()=>{if(D=0,J)J()},_=()=>{if(D)clearTimeout(D);D=setTimeout(F,300)};X.on("scroll",_);let z=()=>{J?.()};if(window.addEventListener("beforeunload",z),K.registerDestroyHandler(()=>{if(V)cancelAnimationFrame(V);if(D)clearTimeout(D);window.removeEventListener("beforeunload",z)}),q&&q.total&&q.total>0){let v=K.getMethod("_cancelAutoLoad");if(v)v();let M=K.getMethod("_setTotal");if(M)M(q.total)}}if(q){let V=!0;if(q.selectedIds?.length){let w=K.getMethod("_seedSelection");if(w)w(q.selectedIds),V=!1}queueMicrotask(()=>{if(N(q,V),l=!1,J)J()})}},hooks:{onIdle(){if(J&&!Y)J()}},destroy(){Y=!0,J=null}}}function q1(j,Q){if(Q===!1)return null;return{duration:Math.min(Q?.duration??j.duration,1000),easing:Q?.easing??j.easing}}function A0(j){let Q=j?.duration??200,q=j?.easing??"cubic-bezier(0.2, 0, 0, 1)",Y={duration:Q,easing:q},J=q1(Y,j?.remove),K=q1(Y,j?.insert),B=null,X=null;return{name:"transition",conflicts:["grid","table","masonry"],priority:45,setup(H){let{sizeCache:G,emitter:N}=H,l=H.config,V=H.dom,w=H.getState(),D=l.reverse?"bottom center":"top center",F=l.axis.primary==="x"?"translateX":"translateY",_=H.getMethod("_dataToLayoutIndex")??null,z=(A)=>_?_(A):A,v=(A)=>{let O=String(A).replace(/"/g,"\\\""),E=V.content.querySelector(`[data-id="${O}"]`),y=E?parseInt(E.dataset.index??"-1",10):-1;return{el:E,layoutIndex:y}},M=()=>{let A=V.content.children;for(let O=0;O<A.length;O++)A[O].style.transition="none";V.content.offsetHeight;for(let O=0;O<A.length;O++)A[O].style.transition=""};if(J){let A=(E)=>{if(B)B();let y=typeof document<"u"?document.activeElement:null,S=y&&V.content.contains(y)?parseInt(y.dataset?.index??"-1",10):-1,d=v(E),f=d.layoutIndex,c=d.el,k=f>=0?G.getSize(f):0,g=f>=0?G.getOffset(f):0;if(!c||f<0){if(H.removeItemById(E)<0)return!1;if(H.forceRender(),M(),N.emit("data:change",{type:"remove",id:E}),S>=0){let I=w.totalItems;if(I>0)H.getRenderedElement(Math.min(S,I-1))?.focus()}return N.emit("remove:end",{id:E}),!0}let x=c.cloneNode(!0);x.style.pointerEvents="none",x.style.overflow="hidden",x.removeAttribute("data-index"),x.removeAttribute("data-id"),x.removeAttribute("id"),x.removeAttribute("aria-selected"),x.classList.remove(`${l.classPrefix}-item--selected`);let R=l.axis.primary==="x"?"scrollLeft":"scrollTop",L=V.viewport[R];if(H.removeItemById(E)<0)return!1;H.forceRender(),M(),N.emit("data:change",{type:"remove",id:E});let Z=L-V.viewport[R];x.style.zIndex="1",V.content.appendChild(x);let U=J,T={duration:U.duration,easing:U.easing},p=[],t=Math.round(g-Z);p.push(x.animate([{transform:`${F}(${t}px) scaleY(1)`,opacity:1,transformOrigin:D},{transform:`${F}(${Math.round(g)}px) scaleY(0)`,opacity:0,transformOrigin:D}],T));let n=Z>0,m=V.content.children;for(let P=0;P<m.length;P++){let I=m[P];if(I===x)continue;let s=parseInt(I.dataset?.index??"-1",10);if(s<0||!n&&s<f)continue;let C=G.getOffset(s),u=s>=f?Math.round(C+k-Z):Math.round(C-Z),a=Math.round(C);if(u===a)continue;p.push(I.animate([{transform:`${F}(${u}px)`},{transform:`${F}(${a}px)`}],T))}let $=!1,W=()=>{if($)return;$=!0,B=null,x.remove();for(let P of p)if(P.playState!=="finished")P.cancel();if(S>=0){let P=w.totalItems;if(P>0)H.getRenderedElement(Math.min(S,P-1))?.focus()}N.emit("remove:end",{id:E})};return B=W,Promise.all(p.map((P)=>P.finished)).then(W,W),setTimeout(W,U.duration+50),!0},O=(E)=>{if(E.length===0)return 0;if(E.length===1)return A(E[0])?1:0;if(B)B();if(X)X();let y=typeof document<"u"?document.activeElement:null,S=y&&V.content.contains(y)?parseInt(y.dataset?.index??"-1",10):-1,d=[];for(let $ of E){let W=v($);d.push({id:$,layoutIndex:W.layoutIndex,el:W.el,size:W.layoutIndex>=0?G.getSize(W.layoutIndex):0,offset:W.layoutIndex>=0?G.getOffset(W.layoutIndex):0})}d.sort(($,W)=>W.layoutIndex-$.layoutIndex);let f=[];for(let $ of d){if(!$.el||$.layoutIndex<0)continue;let W=$.el.cloneNode(!0);W.style.pointerEvents="none",W.style.overflow="hidden",W.removeAttribute("data-index"),W.removeAttribute("data-id"),W.removeAttribute("id"),W.removeAttribute("aria-selected"),W.classList.remove(`${l.classPrefix}-item--selected`),f.push({clone:W,offset:$.offset,size:$.size,layoutIndex:$.layoutIndex})}let c=new Map,k=V.content.children;for(let $=0;$<k.length;$++){let W=k[$],P=W.dataset?.id,I=parseInt(W.dataset?.index??"-1",10);if(P&&I>=0)c.set(P,G.getOffset(I))}let g=l.axis.primary==="x"?"scrollLeft":"scrollTop",x=V.viewport[g],R=[];for(let $ of d)if(H.removeItemById($.id)>=0)R.push($.id);if(R.length===0)return 0;H.forceRender(),M();for(let $ of R)N.emit("data:change",{type:"remove",id:$});if(f.length===0){if(S>=0){let $=w.totalItems;if($>0)H.getRenderedElement(Math.min(S,$-1))?.focus()}for(let $ of R)N.emit("remove:end",{id:$});return R.length}let L=x-V.viewport[g],b=J,Z={duration:b.duration,easing:b.easing},U=[];f.sort(($,W)=>$.layoutIndex-W.layoutIndex);let T=0;for(let $ of f){$.clone.style.zIndex="1",V.content.appendChild($.clone);let W=Math.round($.offset-L),P=Math.round($.offset-T);U.push($.clone.animate([{transform:`${F}(${W}px) scaleY(1)`,opacity:1,transformOrigin:D},{transform:`${F}(${P}px) scaleY(0)`,opacity:0,transformOrigin:D}],Z)),T+=$.size}let p=new Set(f.map(($)=>$.clone)),t=V.content.children;for(let $=0;$<t.length;$++){let W=t[$];if(p.has(W))continue;let P=W.dataset?.id,I=parseInt(W.dataset?.index??"-1",10);if(!P||I<0)continue;let s=c.get(P);if(s===void 0)continue;let C=G.getOffset(I),u=Math.round(s-L),a=Math.round(C);if(u===a)continue;U.push(W.animate([{transform:`${F}(${u}px)`},{transform:`${F}(${a}px)`}],Z))}let n=!1,m=()=>{if(n)return;n=!0,B=null;for(let{clone:$}of f)$.remove();for(let $ of U)if($.playState!=="finished")$.cancel();if(S>=0){let $=w.totalItems;if($>0)H.getRenderedElement(Math.min(S,$-1))?.focus()}for(let $ of R)N.emit("remove:end",{id:$})};return B=m,Promise.all(U.map(($)=>$.finished)).then(m,m),setTimeout(m,b.duration+50),R.length};H.registerMethod("removeItem",A),H.registerMethod("removeItems",O)}if(K){let A=(O,E)=>{if(X)X();if(B)B();let y=E??0,S=new Map,d=V.content.children;for(let $=0;$<d.length;$++){let W=d[$],P=W.dataset?.id,I=parseInt(W.dataset?.index??"-1",10);if(P&&I>=0)S.set(P,G.getOffset(I))}let f=l.axis.primary==="x"?"scrollLeft":"scrollTop",c=l.axis.primary==="x"?"scrollWidth":"scrollHeight",k=l.axis.primary==="x"?"clientWidth":"clientHeight",g=V.viewport[f],x=V.viewport[c]-V.viewport[k],R=g>=x-1;H.insertItemAt(O,y),H.forceRender(),M(),N.emit("data:change",{type:"insert",id:O.id});let L=V.viewport[f]-g,b=z(y);if(l.reverse&&L===0&&R){V.viewport[f]=V.viewport[c]-V.viewport[k];let $=V.viewport[f];if(w.prevScrollPosition=w.scrollPosition,w.scrollPosition=$,L=$-g,L>0)H.forceRender(),M()}let Z=H.getRenderedElement(b),U=K,T={duration:U.duration,easing:U.easing},p=[];if(Z){let $=G.getOffset(b);p.push(Z.animate([{transform:`${F}(${Math.round($)}px) scaleY(0)`,opacity:0,transformOrigin:D},{transform:`${F}(${Math.round($)}px) scaleY(1)`,opacity:1,transformOrigin:D}],T))}let t=V.content.children;for(let $=0;$<t.length;$++){let W=t[$];if(W===Z)continue;let P=W.dataset?.id,I=parseInt(W.dataset?.index??"-1",10);if(!P||I<0)continue;let s=S.get(P);if(s===void 0)continue;let C=G.getOffset(I),u=Math.round(s+L),a=Math.round(C);if(u===a)continue;p.push(W.animate([{transform:`${F}(${u}px)`},{transform:`${F}(${a}px)`}],T))}if(p.length===0)return;let n=!1,m=()=>{if(n)return;n=!0,X=null;for(let $ of p)if($.playState!=="finished")$.cancel()};X=m,Promise.all(p.map(($)=>$.finished)).then(m,m),setTimeout(m,U.duration+50)};H.registerMethod("insertItem",A)}},destroy(){if(B)B();if(X)X()}}}function D0(j){let Q=j?.gap??0,q=null,Y=null,J,K,B,X,H=new Map,G=new WeakMap,N=0,l=!1,V=!1,w=!1,D=2;function F(M){return H.get(M)??X}function _(){let M=Y.dom.viewport,A=M.scrollHeight-M.clientHeight;return A>0&&J.scrollPosition>=A-D}function z(){let M=Y.dom.viewport;M.scrollHeight;let A=M.scrollHeight-M.clientHeight;if(A>J.scrollPosition)Y.scrollTo(A)}function v(){Y.updateContentSize(Y.sizeCache.getTotalSize())}return{name:"autosize",priority:5,setup(M){if(Y=M,J=M.getState(),K=M.config.axis.primary==="x",B=K?"width":"height",Q===0)Q=M.config.gap;if(X=typeof M.rawSizeSpec==="function"?M.rawSizeSpec(0)+Q:M.rawSizeSpec+Q,M.setSizeConfig(F),Q>0){let E=M.sizeCache.getTotalSize;M.sizeCache.getTotalSize=()=>{let y=E();return y>0?y-Q:0}}q=new ResizeObserver((E)=>{if(J.destroyed||!Y)return;let y=!1,S=M.sizeCache.indexAtOffset(J.scrollPosition);for(let g of E){let x=g.target,R=G.get(x);if(R===void 0)continue;if(x.getAttribute("data-index")!==String(R)){q.unobserve(x);continue}if(H.has(R))continue;let L=g.borderBoxSize[0];if(!L)continue;let b=K?L.inlineSize:L.blockSize;if(b<=0)continue;let Z=b+Q,U=X;if(H.set(R,Z),y=!0,R<S&&Z!==U)N+=Z-U;q.unobserve(x),x.style[B]=`${b}px`}if(!y)return;let d=_();if(M.rebuildSizeCache(),N)M.scrollTo(J.scrollPosition+N),N=0;let f=J.scrollDirection!==0,c=J.totalItems>0&&J.prevRangeEnd>=J.totalItems-1,k=V&&!w;if(k||d||c||!f){if(v(),l=!1,k||d)z()}else l=!0;M.forceRender()}),M.setScrollToIndexFn((E,y,S,d,f)=>{let c=E>=J.totalItems-1&&y==="end";if(V=c,w=!1,!c)return!1;let k=M.config.mainAxisPadding,g=()=>{let x=M.sizeCache.getTotalSize();return Math.max(0,x+k-J.containerSize)};if(S==="smooth")w=!0,M.smoothScrollTo(g,d??300,f,()=>{w=!1});else M.scrollTo(g())});let A=()=>{V=!1},O=M.dom.viewport;O.addEventListener("wheel",A,{passive:!0}),O.addEventListener("touchstart",A,{passive:!0}),M.registerDestroyHandler(()=>{O.removeEventListener("wheel",A),O.removeEventListener("touchstart",A)}),M.registerMethod("isMeasured",(E)=>H.has(E)),M.registerMethod("setMeasuredSize",(E,y)=>{H.set(E,y)}),M.registerMethod("getMeasuredCount",()=>H.size),M.registerDestroyHandler(()=>{if(q)q.disconnect(),q=null})},hooks:{onCommit(M){if(!q||!Y)return;for(let A=0;A<M.visibleCount;A++){let O=M.visibleIndices[A];if(H.has(O))continue;let E=Y.getRenderedElement(O);if(!E)continue;E.style[B]="",G.set(E,O),q.observe(E)}},onIdle(){if(!Y||!l)return;let M=_();if(v(),l=!1,M)z(),Y.forceRender()}},destroy(){if(q)q.disconnect(),q=null;H.clear(),V=!1,w=!1,Y=null}}}var Y1=(j)=>{let Q=Math.max(1,Math.floor(j.columns)),q=j.gap??0,Y=j.containerSize,J=0,K=[],B=()=>{let F=(Q-1)*q;J=Math.max(0,(Y-F)/Q),K=Array(Q);let _=J+q;for(let z=0;z<Q;z++)K[z]=z*_};B();let X=[],H=0,G=[],N=(F,_)=>{if(F<=0)return H=0,X=[],[];let z=Array(Q).fill(0),v=Array(Q);for(let O=0;O<Q;O++)v[O]=[];let M=Array(F);for(let O=0;O<F;O++){let E=0,y=z[0];for(let f=1;f<Q;f++){let c=z[f];if(c<y)y=c,E=f}let S=_(O),d=z[E];M[O]={index:O,x:K[E],y:d,lane:E,size:S,crossSize:J},v[E].push(O),z[E]=d+S+q}X=v;let A=0;for(let O=0;O<Q;O++){let E=z[O],y=E>0?E-q:0;if(y>A)A=y}return H=A,M},l=(F)=>{if(F.length===0)return H;if(H)return H;let _=Array(Q).fill(0);for(let v of F){let M=v.y+v.size,A=_[v.lane];if(M>A)_[v.lane]=M}let z=0;for(let v=0;v<Q;v++)if(_[v]>z)z=_[v];return z},V=(F,_,z)=>{if(F.length===0||z<=_)return G.length=0,G;if(X.length===0||X.length!==Q)return w(F,_,z);G.length=0;for(let v=0;v<Q;v++){let M=X[v],A=M.length;if(!A)continue;let O=0,E=A;while(O<E){let y=O+E>>>1,S=F[M[y]];if(S.y+S.size<=_)O=y+1;else E=y}for(let y=O;y<A;y++){let S=F[M[y]];if(S.y>=z)break;G.push(S)}}return G},w=(F,_,z)=>{G.length=0;for(let v of F)if(v.y+v.size>_&&v.y<z)G.push(v);return G};return{get columns(){return Q},get gap(){return q},get containerSize(){return Y},update:(F)=>{let _=!1;if(F.columns!==void 0){let z=Math.max(1,Math.floor(F.columns));if(z!==Q)Q=z,_=!0}if(F.gap!==void 0&&F.gap!==q)q=F.gap,_=!0;if(F.containerSize!==void 0&&F.containerSize!==Y)Y=F.containerSize,_=!0;if(_)B()},calculateLayout:N,getTotalSize:l,getVisibleItems:V}};var Z1=(j,Q,q)=>{let Y=Array.from(Q).sort((B,X)=>B-X);if(Y.length<=1)return;let J=[];for(let B=0;B<Y.length;B++){let X=q(Y[B]);if(X)J.push(X)}if(J.length<=1)return;let K=j.firstChild;for(let B=0;B<J.length;B++){let X=J[B];if(X===K)K=K.nextSibling;else j.insertBefore(X,K)}};var m1=(j=200)=>{let Q=[];return{acquire:()=>{let K=Q.pop();if(K)return K;let B=document.createElement("div");return B.setAttribute("role","option"),B},release:(K)=>{if(K.remove(),Q.length<j)K.className="",K.textContent="",K.removeAttribute("style"),K.removeAttribute("data-index"),K.removeAttribute("data-id"),K.removeAttribute("data-lane"),Q.push(K)},clear:()=>{Q.length=0}}},d1=1,K1=(j,Q,q,Y=!1,J,K,B,X)=>{let H=m1(),G=new Map,N=new Set,l=0,V="",w=-1,D={selected:!1,focused:!1},F=(x,R)=>{return D.selected=x,D.focused=R,D},_=`${q}-item ${q}-masonry-item`,z=`${q}-group-header`,v=`${q}-item--selected`,M=`${q}-item--focused`,A=(x,R)=>{if(typeof R==="string")x.innerHTML=R;else x.replaceChildren(R)},O=(x,R,L)=>{x.classList.toggle(v,R),x.classList.toggle(M,L)},E=(x,R)=>{if(Y)x.style.transform=`translate(${Math.round(R.y)}px, ${Math.round(R.x)}px)`;else x.style.transform=`translate(${Math.round(R.x)}px, ${Math.round(R.y)}px)`},y=(x,R)=>{if(Y)x.style.width=`${R.size}px`,x.style.height=`${R.crossSize}px`;else x.style.width=`${R.crossSize}px`,x.style.height=`${R.size}px`},S=(x,R,L,b,Z)=>{let U=H.acquire(),T=R.__groupHeader,p=F(b,Z);if(U.className=T?z:_,U.dataset.index=String(x),U.dataset.id=String(R.id),U.dataset.lane=String(L.lane),T)U.setAttribute("role","presentation"),U.removeAttribute("aria-selected"),U.removeAttribute("aria-setsize"),U.removeAttribute("aria-posinset"),U.removeAttribute("id");else if(X!==!1){if(U.setAttribute("role","option"),U.ariaSelected=String(b),K)U.id=`${K}-item-${x}`;if(J){let n=J();if(n!==w)w=n,V=String(n);U.setAttribute("aria-setsize",V);let m=B?B(x):x+1;U.setAttribute("aria-posinset",String(m))}}else if(U.setAttribute("role","listitem"),U.removeAttribute("aria-selected"),J){let n=J();if(n!==w)w=n,V=String(n);U.setAttribute("aria-setsize",V);let m=B?B(x):x+1;U.setAttribute("aria-posinset",String(m))}y(U,L);let t=Q(R,x,p);return A(U,t),O(U,b,Z),E(U,L),{element:U,lastItem:R,lastSelected:b,lastFocused:Z,lastY:L.y,lastX:L.x,lastSize:L.size,lastCrossSize:L.crossSize,lastSeenFrame:l}},d=(x,R,L,b)=>{l++,N.clear();for(let U=0;U<R.length;U++)N.add(R[U].index);let Z=null;for(let U=0;U<R.length;U++){let T=R[U],p=T.index,t=x(p);if(!t)continue;let n=L.has(t.id),m=p===b,$=G.get(p);if($){let W=$.lastItem!==t,P=$.lastSelected!==n,I=$.lastFocused!==m,s=$.lastY!==T.y||$.lastX!==T.x,C=$.lastSize!==T.size||$.lastCrossSize!==T.crossSize;if(W){let u=F(n,m),a=Q(t,p,u);if(A($.element,a),$.element.dataset.id=String(t.id),$.lastItem=t,!t.__groupHeader){let i=B?B(p):p+1;$.element.setAttribute("aria-posinset",String(i))}}if(W||P||I)O($.element,n,m),$.element.ariaSelected=String(n),$.lastSelected=n,$.lastFocused=m;if(C)y($.element,T),$.lastSize=T.size,$.lastCrossSize=T.crossSize;if(s)E($.element,T),$.lastY=T.y,$.lastX=T.x}else{let W=S(p,t,T,n,m);if(!Z)Z=document.createDocumentFragment();Z.appendChild(W.element),G.set(p,W)}}if(Z)j.appendChild(Z);for(let[U,T]of G)if(N.has(U))T.lastSeenFrame=l;else if(l-T.lastSeenFrame>d1)H.release(T.element),G.delete(U)},f=()=>{for(let x of G.values())H.release(x.element);G.clear(),j.innerHTML=""};return{render:d,getElement:(x)=>G.get(x)?.element,updateItemClasses:(x,R,L)=>{let b=G.get(x);if(!b)return;let Z=b.lastSelected!==R,U=b.lastFocused!==L;if(Z||U)O(b.element,R,L),b.lastSelected=R,b.lastFocused=L},sortDOM:()=>{Z1(j,G.keys(),(x)=>G.get(x)?.element)},clear:f,destroy:()=>{f(),H.clear()}}};var c1=100,l1=new Set;function H0(j){if(!j.columns||j.columns<1)throw Error("[vlist] masonry: columns must be >= 1");let Q,q=null,Y,J=null,K,B,X,H=[],G=-1,N=-1,l=!0,V=-1,w={columnWidth:0,columns:0,gap:0,containerWidth:0},D=[],F=(L)=>D[L],_=null,z=null,v=!1;function M(){if(v||!J)return;v=!0,_=J.getMethod("_getSelectedIds")??null,z=J.getMethod("_getFocusedIndex")??null}let A=[],O=new Int32Array(0),E=[];function y(){let L=Q.columns,b=H.length;A=Array(L);for(let Z=0;Z<L;Z++)A[Z]=[];if(O.length<b)O=new Int32Array(b);for(let Z=0;Z<b;Z++){let U=H[Z],T=A[U.lane].length;A[U.lane].push(Z),O[Z]=T}E=Array(L);for(let Z=0;Z<L;Z++){let U=A[Z],T=new Float64Array(U.length);for(let p=0;p<U.length;p++){let t=H[U[p]];T[p]=t.y+t.size*0.5}E[Z]=T}}function S(L,b){let Z=L.length;if(!Z)return-1;let U=0,T=Z-1;while(U<T){let p=U+T>>1;if(L[p]<b)U=p+1;else T=p}if(U>0&&Math.abs(L[U-1]-b)<=Math.abs(L[U]-b))return U-1;return U}function d(L,b,Z){let U=H[L];if(!U)return L;let T=U.lane,p=Q.columns,t=O[L],n=A[T];switch(K?b==="ArrowDown"?"ArrowRight":b==="ArrowUp"?"ArrowLeft":b==="ArrowRight"?"ArrowDown":b==="ArrowLeft"?"ArrowUp":b:b){case"ArrowDown":if(t+1<n.length)return n[t+1];return L;case"ArrowUp":if(t>0)return n[t-1];return L;case"ArrowRight":{if(T>=p-1)return L;let $=T+1,W=U.y+U.size*0.5,P=A[$];if(!P.length)return L;let I=S(E[$],W);return I>=0?P[I]:L}case"ArrowLeft":{if(T<=0)return L;let $=T-1,W=U.y+U.size*0.5,P=A[$];if(!P.length)return L;let I=S(E[$],W);return I>=0?P[I]:L}case"Home":return 0;case"End":return Z-1;case"PageDown":{let $=Y.containerSize,W=U.size>0?U.size:150,P=Math.max(1,Math.floor($/W)),I=Math.min(t+P,n.length-1);return n[I]}case"PageUp":{let $=Y.containerSize,W=U.size>0?U.size:150,P=Math.max(1,Math.floor($/W)),I=Math.max(0,t-P);return n[I]}}return L}let f=null;function c(){if(j.size)return(L)=>j.size(L,w);if(f!==null&&typeof f==="function")return(L)=>f(L,w);return(L)=>J.sizeCache.getSize(L)}function k(){let{columns:L,gap:b}=Q;w.containerWidth=Q.containerSize,w.columns=L,w.gap=b,w.columnWidth=Math.max(0,(Q.containerSize-(L-1)*b)/L)}function g(){if(!J)return;k();let L=Y.totalItems;H=Q.calculateLayout(L,c()),V=L,y();let b=Q.getTotalSize(H);J.updateContentSize(b)}function x(){if(Y.destroyed||!J||!q)return;if(Y.totalItems!==V)g();M();let{scrollPosition:L,containerSize:b}=Y;if(!l&&L===G&&b===N)return;if(G=L,N=b,l=!1,b<=0||H.length===0)return;let Z=Math.max(0,L-X),U=L+b+X,T=Q.getVisibleItems(H,Z,U),p=_?.()??l1,t=z?.()??-1;D=J.getItems(),q.render(F,T,p,t);let n=T.length,m=n>0?T[0].index:0,$=n>0?T[n-1].index:0;Y.prevRangeStart=m,Y.prevRangeEnd=$,Y.renderPending=!1;let W=Math.min(n,Y.capacity);Y.visibleCount=W,Y.startIndex=m;for(let P=0;P<W;P++){let I=T[P];Y.visibleIndices[P]=I.index,Y.visibleOffsets[P]=I.y,Y.visibleSizes[P]=I.size}}function R(){if(Y.destroyed)return;g(),Y.prevRangeStart=-1,Y.prevRangeEnd=-1,Y.renderPending=!0,l=!0,x()}return{name:"masonry",priority:10,conflicts:["grid","table"],setup(L){if(J=L,Y=L.getState(),f=L.rawSizeSpec,K=L.config.axis.primary==="x",B=L.config.classPrefix,X=L.config.overscan*c1,L.config.reverse)throw Error("[vlist] masonry: cannot be combined with reverse mode");let b=Y.crossSize;Q=Y1({columns:j.columns,gap:j.gap??0,containerSize:b}),q=K1(L.dom.content,L.template,B,K,()=>Y.totalItems,void 0,void 0,L.config.interactive),L.dom.root.classList.add(`${B}--masonry`),L.setRenderFn(x,R),g(),L.registerMethod("getMasonryLayout",()=>Q),L.registerMethod("updateMasonry",(Z)=>{if(Z.columns!==void 0&&Z.columns<1)throw Error("[vlist] updateMasonry: columns must be >= 1");if(Z.gap!==void 0&&Z.gap<0)throw Error("[vlist] updateMasonry: gap must be >= 0");let U={};if(Z.columns!==void 0)U.columns=Z.columns;if(Z.gap!==void 0)U.gap=Z.gap;Q.update(U),q?.clear(),R()}),L.registerMethod("scrollToIndex",(Z,U="start")=>{let T=H[Z];if(!T)return;let p=typeof U==="string"?U:U.align??"start",t=typeof U==="object"?U.behavior:void 0,n=typeof U==="object"?U.duration:void 0,m=Y.containerSize,$=Q.getTotalSize(H),W=Math.max(0,$-m),P=T.y;if(p==="center")P=T.y-m/2+T.size/2;else if(p==="end"){if(P=T.y-m+T.size,Z>=Y.totalItems-1&&T.y+T.size>W)P=W}if(P=Math.max(0,Math.min(P,W)),t==="smooth"&&n&&n>0)L.smoothScrollTo(P,n);else L.scrollTo(P)}),L.registerMethod("_scrollItemIntoView",(Z)=>{let U=H[Z];if(!U)return;let{scrollPosition:T,containerSize:p}=Y,t=U.y,n=t+U.size;if(t<T)L.scrollTo(Math.max(0,t));else if(n>T+p)L.scrollTo(n-p)}),L.setNavConfig({total:()=>Y.totalItems,navigate:d}),L.registerDestroyHandler(()=>{q?.destroy(),q=null,L.dom.root.classList.remove(`${B}--masonry`)})},hooks:{onResize(L,b){if(!Q||!J)return;let Z=Y.crossSize;if(Math.abs(Z-Q.containerSize)<1)return;Q.update({containerSize:Z}),q?.clear(),R()},onIdle(){q?.sortDOM()}},destroy(){q?.destroy(),q=null,H=[],J=null}}}var B1=(j={})=>{let{chunkSize:Q=100,maxCachedItems:q=5000,evictionBuffer:Y=200,onEvict:J}=j,K=new Map,B=0,X=0,H=(b)=>{let Z=K.get(b);if(!Z)Z={items:Array(Q),count:0,lastAccess:Date.now()},K.set(b,Z);else Z.lastAccess=Date.now();return Z},G=(b)=>{return Math.floor(b/Q)},N=(b)=>{return b%Q},l=()=>B,V=(b)=>{B=b},w=(b)=>{if(b<0||b>=B)return;let Z=G(b),U=K.get(Z);if(!U)return;return U.items[N(b)]},D=(b)=>{if(b<0||b>=B)return!1;let Z=G(b),U=K.get(Z);if(!U)return!1;return U.items[N(b)]!==void 0},F=(b,Z)=>{let U=G(b),T=H(U),p=N(b),t=T.items[p]===void 0;if(T.items[p]=Z,t)T.count++,X++;if(b>=B)B=b+1},_=(b,Z)=>{for(let U=0;U<Z.length;U++){let T=Z[U];if(T!==void 0)F(b+U,T)}},z=(b,Z)=>{if(b<0||b>B)return;let U=G(b),T=Array.from(K.keys()).filter(($)=>$>=U).sort(($,W)=>$-W),p=[];for(let $ of T){let W=K.get($),P=$*Q;for(let I=0;I<Q;I++){if(W.items[I]===void 0)continue;let s=P+I;if(s<b)continue;p.push({oldIndex:s,item:W.items[I]})}}for(let{oldIndex:$}of p){let W=G($),P=K.get(W);if(!P)continue;let I=N($);if(P.items[I]!==void 0){if(P.items[I]=void 0,P.count--,X--,P.count===0)K.delete(W)}}B++;for(let{oldIndex:$,item:W}of p){let P=$+1,I=G(P),s=H(I),C=N(P);s.items[C]=W,s.count++,X++}let t=G(b),n=H(t),m=N(b);n.items[m]=Z,n.count++,X++},v=(b)=>{if(b<0||b>=B)return!1;let Z=G(b),U=K.get(Z),T=N(b);if(!(U!==void 0&&U.items[T]!==void 0))return!1;let t=Z,n=Array.from(K.keys()).filter(($)=>$>=t).sort(($,W)=>$-W),m=[];for(let $ of n){let W=K.get($),P=$*Q;for(let I=0;I<Q;I++){if(W.items[I]===void 0)continue;let s=P+I;if(s<=b)continue;m.push({oldIndex:s,item:W.items[I]})}}if(U.items[T]=void 0,U.count--,X--,U.count===0)K.delete(Z);for(let{oldIndex:$}of m){let W=G($),P=K.get(W);if(!P)continue;let I=N($);if(P.items[I]!==void 0){if(P.items[I]=void 0,P.count--,X--,P.count===0)K.delete(W)}}for(let{oldIndex:$,item:W}of m){let P=$-1,I=G(P),s=H(I),C=N(P);s.items[C]=W,s.count++,X++}return B--,!0},M=(b,Z)=>{let U=[];for(let T=b;T<=Z&&T<B;T++)U.push(w(T));return U},A=(b,Z)=>{for(let U=b;U<=Z&&U<B;U++)if(!D(U))return!1;return!0},O=()=>{let b=[],Z=null,U=Array.from(K.keys()).sort((T,p)=>T-p);for(let T of U){let p=K.get(T);if(!p)continue;let t=T*Q;for(let n=0;n<Q;n++){let m=t+n;if(m>=B)break;if(p.items[n]!==void 0)if(Z===null)Z={start:m,end:m};else if(m===Z.end+1)Z.end=m;else b.push(Z),Z={start:m,end:m};else if(Z!==null)b.push(Z),Z=null}}if(Z!==null)b.push(Z);return b},E=(b,Z)=>{let U=[],T=null;for(let p=b;p<=Z&&p<B;p++)if(!D(p))if(T===null)T={start:p,end:p};else T.end=p;else if(T!==null)U.push(T),T=null;if(T!==null)U.push(T);return U},y=(b)=>{return K.has(b)},S=(b)=>{let Z=K.get(b);if(!Z)return!1;let U=b*Q,T=Math.min(Q,B-U);return Z.count>=T},d=(b)=>{let Z=K.get(b);if(Z)Z.lastAccess=Date.now()},f=(b,Z)=>{if(b>Z||K.size===0)return;let U=Date.now(),T=G(Math.max(0,b)),p=G(Math.min(B-1,Z));for(let t=T;t<=p;t++){let n=K.get(t);if(n)n.lastAccess=U}},c=(b,Z)=>{if(X<=q)return 0;let U=Math.max(0,b-Y),T=Math.min(B-1,Z+Y),p=G(U),t=G(T),n=0,m=[];for(let[$,W]of K)if($<p||$>t)n+=W.count,m.push($),X-=W.count,K.delete($);if(n>0&&J)J(n,m);return n},k=()=>{if(X<=q)return 0;let b=Array.from(K.entries()).sort(([,T],[,p])=>T.lastAccess-p.lastAccess),Z=0,U=[];for(let[T,p]of b){if(X<=q)break;Z+=p.count,X-=p.count,U.push(T),K.delete(T)}if(Z>0&&J)J(Z,U);return Z},g=()=>{return{totalItems:B,cachedItems:X,cachedChunks:K.size,chunkSize:Q,maxCachedItems:q,memoryEfficiency:B>0?1-X/B:1}},x=()=>X,R=()=>{K.clear(),X=0};return{chunkSize:Q,maxCachedItems:q,getTotal:l,setTotal:V,get:w,has:D,set:F,setRange:_,insert:z,delete:v,getRange:M,isRangeLoaded:A,getLoadedRanges:O,findUnloadedRanges:E,getChunkIndex:G,isChunkLoaded:y,isChunkFullyLoaded:S,touchChunk:d,touchChunksForRange:f,evictDistant:c,evictToLimit:k,getStats:g,getCachedCount:x,clear:R,reset:()=>{R(),B=0}}};var U1=(j={})=>{let{maskCharacter:Q=C0,maxSampleSize:q=f0}=j,Y=[],J=!1,K=(N)=>{if(J||N.length===0)return;let l=Math.min(N.length,q);for(let V=0;V<l;V++){let w=N[V];if(!w||typeof w!=="object")continue;let D={},F=!1;for(let[_,z]of Object.entries(w)){if(_.startsWith("_")||_==="id")continue;D[_]=String(z??"").length,F=!0}if(F)Y.push(D)}J=!0},B=()=>J,X=(N)=>{let l={id:`${f2}${N}`,[Y0]:!0,_index:N};if(Y.length===0)return l.label=Q.repeat(12),l;let V=Y[N%Y.length];for(let[w,D]of Object.entries(V))l[w]=Q.repeat(Math.max(1,D));return l};return{analyzeStructure:K,hasAnalyzedStructure:B,generate:X,generateRange:(N,l)=>{let V=[];for(let w=N;w<=l;w++)V.push(X(w));return V},clear:()=>{Y=[],J=!1}}},j0=(j)=>{if(!j||typeof j!=="object")return!1;return j[Y0]===!0};var r1=50,N1=(j={})=>{let{adapter:Q,initialItems:q,initialTotal:Y,storage:J,placeholder:K,pageSize:B=r1,maxConcurrent:X=0,onStateChange:H,onDataChange:G,onItemsLoaded:N,onItemsEvicted:l}=j,V=B1({...J,onEvict:(J2,o)=>{l?.(J2),f(),d()}}),w=null,D=()=>{if(!w)w=U1(K);return w},F=new Map,_=!1,z,v=!0,M,A,O=[],E=0,y=new Map,S=()=>{for(let J2 of y.values())J2[1].abort();y.clear()},d=()=>{H?.(U())},f=()=>{G?.()},c=()=>{F.clear();let J2=V.getLoadedRanges();for(let o of J2)for(let $2=o.start;$2<=o.end;$2++){let B2=V.get($2);if(B2&&!j0(B2))F.set(B2.id,$2)}},k=(J2,o)=>{if(!j0(o))F.set(o.id,J2)},g=(J2)=>{F.delete(J2)},x=(J2,o)=>{return`${J2}-${o}`},R=()=>V.getTotal(),L=()=>V.getCachedCount(),b=()=>_,Z=()=>v,U=()=>({total:V.getTotal(),cached:V.getCachedCount(),isLoading:_,pendingRanges:O,error:z,hasMore:v,cursor:M}),T=()=>V,p=()=>D(),t=(J2)=>{let o=V.get(J2);if(o!==void 0)return o;if(J2>=0&&J2<V.getTotal())return D().generate(J2);return},n=(J2)=>{let o=F.get(J2);if(o===void 0)return;return V.get(o)},m=(J2)=>{return F.get(J2)??-1},$=(J2)=>{let o=V.get(J2);return o!==void 0&&!j0(o)},W=(J2,o)=>{let $2=[],B2=V.getTotal();V.touchChunksForRange(J2,Math.min(o,B2-1));for(let U2=J2;U2<=o&&U2<B2;U2++){let Y2=V.get(U2);if(Y2!==void 0)$2.push(Y2);else $2.push(D().generate(U2))}return $2},P=(J2)=>{V.setTotal(J2),v=V.getCachedCount()<J2,f(),d()},I=(J2,o=0,$2)=>{if(Q&&J2.length>0){let B2=D();if(!B2.hasAnalyzedStructure())B2.analyzeStructure(J2)}for(let B2=0;B2<J2.length;B2++){let U2=J2[B2];if(U2!==void 0){let Y2=o+B2;V.set(Y2,U2),k(Y2,U2)}}if($2!==void 0)V.setTotal($2);else if(o+J2.length>V.getTotal())V.setTotal(o+J2.length);if(V.getCachedCount()>=V.getTotal()&&V.getTotal()>0)v=!1;f(),d(),N?.(J2,o,V.getTotal())},s=(J2,o)=>{let $2=V.get(J2);if(!$2)return!1;let B2=$2.id,U2={...$2,...o};if(V.set(J2,U2),o.id!==void 0&&o.id!==B2)g(B2);return k(J2,U2),f(),d(),!0},C=(J2,o)=>{V.insert(o,J2),c(),S(),f(),d()},u=(J2)=>{let o=F.get(J2);if(o===void 0)return!1;if(!V.delete(o))return!1;return c(),S(),f(),d(),!0},a=async(J2,o)=>{if(!Q)return;let $2=V.chunkSize,B2=Math.floor(J2/$2),U2=Math.floor(o/$2),Y2=$2*2;for(let[X2,b2]of y){let F2=X2.indexOf("-"),y2=parseInt(X2.slice(0,F2),10);if(Math.abs(y2-J2)>Y2)b2[1].abort(),y.delete(X2)}let A2=[],L2=[];for(let X2=B2;X2<=U2;X2++){let b2=X2*$2,F2=b2+$2-1,y2=x(b2,F2);if(V.isChunkFullyLoaded(X2))continue;let k2=y.get(y2);if(k2)L2.push(k2[0]);else A2.push({start:b2,end:F2})}if(A2.length===0){if(L2.length>0)await Promise.all(L2);return}if(X>0){let X2=y.size+A2.length;if(X2>X){let b2=(J2+o)/2,F2=Math.min(X2-X,y.size);while(F2>0){let D2=null,k2=-1,H2=null;for(let[z2,W2]of y){let O2=z2.indexOf("-"),R2=parseInt(z2.slice(0,O2),10),P2=parseInt(z2.slice(O2+1),10),Z2=Math.abs((R2+P2)/2-b2);if(Z2>k2)k2=Z2,D2=z2,H2=W2[1]}if(D2)H2.abort(),y.delete(D2);F2--}let y2=X-y.size;if(A2.length>y2)A2.sort((D2,k2)=>{let H2=Math.abs((D2.start+D2.end)/2-b2),z2=Math.abs((k2.start+k2.end)/2-b2);return H2-z2}),A2.length=Math.max(0,y2)}}if(A2.length===0){if(L2.length>0)await Promise.all(L2);return}for(let X2 of A2){let b2=x(X2.start,X2.end),F2=new AbortController,y2=(async()=>{O.push(X2),_=!0,z=void 0,d();try{let D2=X2.end-X2.start+1,k2={offset:X2.start,limit:D2,cursor:X2.start===A?M:void 0,signal:F2.signal},H2=await Q.read(k2);if(I(H2.items,X2.start,H2.total),H2.cursor)M=H2.cursor,A=X2.start+H2.items.length;let z2=X2.start+H2.items.length;if(z2>=E){if(E=z2,H2.hasMore!==void 0)v=H2.hasMore;else if(H2.total!==void 0)v=z2<H2.total}}catch(D2){if(D2?.name==="AbortError")return;z=D2 instanceof Error?D2:Error(String(D2))}finally{y.delete(b2);let D2=O.findIndex((k2)=>k2.start===X2.start&&k2.end===X2.end);if(D2>=0)O.splice(D2,1);_=y.size>0,d()}})();y.set(b2,[y2,F2]),L2.push(y2)}await Promise.all(L2)},e=async(J2,o)=>{if(V.isRangeLoaded(J2,o))return;await a(J2,o)},i=async()=>{if(!Q)return;await a(0,B-1)},q2=async()=>{if(!Q||_||!v)return!1;let J2=V.getCachedCount(),o=V.getTotal(),$2=J2,B2=Math.min($2+B-1,o>0?o-1:$2+B-1);if($2>=o&&o>0)return v=!1,!1;return await a($2,B2),V.getCachedCount()>J2},K2=async()=>{if(V.clear(),V.setTotal(0),F.clear(),w)w.clear();S(),O=[],_=!1,M=void 0,A=void 0,v=!0,E=0,z=void 0,f(),d()},G2=(J2,o)=>{if(V.evictDistant(J2,o)>0)c()},M2=()=>{V.clear(),F.clear(),M=void 0,A=void 0,z=void 0,O=[],_=!1,f(),d()},N2=()=>{if(V.reset(),F.clear(),w)w.clear();M=void 0,A=void 0,v=!0,E=0,z=void 0,O=[],_=!1,f(),d()};if(q&&q.length>0)I(q,0,Y??q.length);else if(Y!==void 0)V.setTotal(Y),f(),d();return{getState:U,getTotal:R,getCached:L,getIsLoading:b,getHasMore:Z,getStorage:T,getPlaceholders:p,getItem:t,getItemById:n,getIndexById:m,isItemLoaded:$,getItemsInRange:W,setTotal:P,setItems:I,updateItem:s,insertItem:C,removeItem:u,loadRange:a,ensureRange:e,loadInitial:i,loadMore:q2,reload:K2,evictDistant:G2,clear:M2,reset:N2}};function L0(j){let{adapter:Q,total:q,autoLoad:Y=!0,storage:J}=j,K=j.loading?.cancelThreshold??w0,B=j.loading?.preloadThreshold??z0,X=j.loading?.preloadAhead??P0,H=j.loading?.maxConcurrent??v0,G,N,l,V,w,D,F=null,_=null,z=null,v=0,M=!1,A=-1,O=-1,E=J?.chunkSize??a2,y=()=>{if(F=null,_!==null)clearTimeout(_),_=null},S=(k,g)=>{return G.ensureRange(k,g)},d=(k,g=a2)=>{V.emit("load:start",{offset:k,limit:g})},f=(k)=>{V.emit("error",{error:k,context:"ensureRange"})},c=()=>{if(!F)return;F=null;let k={start:N.startIndex,end:N.startIndex+Math.max(0,N.visibleCount-1)};if(k.end<k.start)return;S(k.start,k.end).catch(f)};return{name:"data",priority:20,setup(k){N=k.getState(),l=k.sizeCache,V=k.emitter,w=k.dom,D=k.forceRender.bind(k);let g=null;k.setVirtualTotalFn(()=>g?.getTotal()??0),G=g=N1({adapter:Q,...q!==void 0&&{initialTotal:q},pageSize:J?.chunkSize??a2,maxConcurrent:H,...J&&{storage:{...J.chunkSize!==void 0&&{chunkSize:J.chunkSize},...J.maxCachedItems!==void 0&&{maxCachedItems:J.maxCachedItems},...J.evictionBuffer!==void 0&&{evictionBuffer:J.evictionBuffer}}},onDataChange:()=>{if(N.initialized){let R=G.getTotal();N.totalItems=R;let L=l.getTotal();if(R!==L)l.rebuild(R);k.updateContentSize(l.getTotalSize()),k.renderIfNeeded()}},onItemsLoaded:(R)=>{if(N.initialized)D(),V.emit("load:end",{items:R,total:G.getTotal()})}}),k.setGetItemFn((R)=>G.getItem(R)),k.setRemoveItemFn((R)=>{let L=G.getIndexById(R);if(L<0)return-1;if(!G.removeItem(R))return-1;return L}),k.setInsertItemFn((R,L)=>{G.insertItem(R,L)}),k.setUpdateItemFn((R,L)=>{let b=G.getIndexById(R);if(b<0)return!1;return G.updateItem(b,L)}),k.registerMethod("reload",async()=>{if(F=null,A=-1,O=-1,k.forceRender(),await G.reload(),k.scrollTo(0),Y)d(0),await G.loadInitial(),k.forceRender()}),k.registerMethod("loadVisibleRange",async()=>{F=null,k.forceRender();let R=G.getTotal();if(N.visibleCount>0&&N.startIndex<R){let L=Math.min(N.startIndex+N.visibleCount-1,R-1);d(N.startIndex,L-N.startIndex+1),await S(N.startIndex,L)}}),k.registerMethod("getTotal",()=>{return G.getTotal()}),k.registerMethod("setTotal",(R)=>{G.setTotal(R)}),k.registerMethod("_getTotal",()=>G.getTotal()),k.registerMethod("_setTotal",(R)=>{G.setTotal(R)}),k.registerMethod("_cancelAutoLoad",()=>{M=!0}),k.registerMethod("_getLoadedItem",(R)=>{return G.getStorage().get(R)}),k.registerMethod("_getLoadedCount",()=>G.getCached()),V.on("load:start",()=>{w.root.setAttribute("aria-busy","true")}),V.on("load:end",()=>{w.root.removeAttribute("aria-busy")}),k.registerDestroyHandler(()=>{if(z!==null)clearTimeout(z),z=null;y()}),V.on("velocity:change",({velocity:R})=>{v=Math.abs(R)});let x=()=>{if(N.destroyed)return;if(N.visibleCount>0&&N.startIndex<G.getTotal()){let R=Math.min(N.startIndex+N.visibleCount-1,G.getTotal()-1);S(N.startIndex,R).catch(f)}c()};if(window.addEventListener("online",x),k.registerDestroyHandler(()=>{window.removeEventListener("online",x)}),Y)queueMicrotask(()=>{if(M)return;d(0),G.loadInitial().catch((R)=>{V.emit("error",{error:R,context:"loadInitial"})})});else if(q!==void 0)G.setTotal(q)},hooks:{onAfterScroll(){if(N.destroyed)return;let k=N.startIndex+Math.max(0,N.visibleCount-1);if(v>K){if(_!==null)clearTimeout(_),_=null;F={start:N.startIndex,end:k};return}if(v>B){let R=Math.floor(N.startIndex/E),L=Math.floor(k/E);if(R!==A||L!==O){if(A=R,O=L,k>=N.startIndex)S(N.startIndex,k).catch(f)}let b=N.startIndex,Z=k,U=N.scrollDirection;if(U>0)Z=Math.min(Z+X,G.getTotal()-1);else if(U<0)b=Math.max(0,b-X);if(F={start:b,end:Z},_!==null)clearTimeout(_);_=setTimeout(()=>{if(_=null,N.destroyed||!F)return;let{start:T,end:p}=F;if(F=null,p>=T)S(T,p).catch(f)},100);return}y();let g=Math.floor(N.startIndex/E),x=Math.floor(k/E);if(g!==A||x!==O){if(A=g,O=x,k>=N.startIndex)S(N.startIndex,k).catch(f)}},onIdle(){if(N.destroyed)return;v=0,A=-1,O=-1,c(),y()}},destroy(){if(z!==null)clearTimeout(z);y()}}}var F0=(j,Q)=>{let q=0,Y=j.length-1;while(q<Y){let J=q+Y+1>>>1;if(j[J].headerLayoutIndex<=Q)q=J;else Y=J-1}return q},W1=(j,Q)=>{let q=0,Y=j.length-1;while(q<Y){let J=q+Y+1>>>1;if(j[J].firstDataIndex<=Q)q=J;else Y=J-1}return q},V1=(j,Q,q)=>{if(j===0)return[];let Y=[],J=null,K=0,B=0;for(let X=0;X<j;X++){let H=q?.(X);if(!H)continue;let G=Q(X,H);if(J===null)J=G,K=0;else if(G!==J){let N=X-K;Y.push({key:J,groupIndex:Y.length,headerLayoutIndex:B,firstDataIndex:K,count:N}),B=B+1+N,J=G,K=X}}if(J!==null)Y.push({key:J,groupIndex:Y.length,headerLayoutIndex:B,firstDataIndex:K,count:j-K});return Y};var _1=(j,Q,q)=>{let Y=V1(j,Q.getGroupForIndex,q),J=j+Y.length,K=Q.header?.height??Q.header?.width??Q.headerHeight;return{get totalEntries(){return J},get groupCount(){return Y.length},get groups(){return Y},getEntry:(w)=>{if(Y.length===0)return{type:"item",dataIndex:w,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let D=F0(Y,w),F=Y[D];if(w===F.headerLayoutIndex)return{type:"header",group:F};let _=w-F.headerLayoutIndex-1;return{type:"item",dataIndex:F.firstDataIndex+_,group:F}},layoutToDataIndex:(w)=>{if(Y.length===0)return w;let D=F0(Y,w),F=Y[D];if(w===F.headerLayoutIndex)return-1;let _=w-F.headerLayoutIndex-1;return F.firstDataIndex+_},dataToLayoutIndex:(w)=>{if(Y.length===0)return w;let D=W1(Y,w),F=Y[D],_=w-F.firstDataIndex;return F.headerLayoutIndex+1+_},getGroupAtLayoutIndex:(w)=>{if(Y.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let D=F0(Y,w);return Y[D]},getGroupAtDataIndex:(w)=>{if(Y.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let D=W1(Y,w);return Y[D]},getHeaderHeight:typeof K==="number"?(w)=>K:(w)=>{let D=Y[w];if(!D)return 0;return K(D.key,w)},rebuild:(w,D)=>{Y=V1(w,Q.getGroupForIndex,D??q),J=w+Y.length}}};var O0=(j,Q,q,Y,J=0)=>{let K=q?"width":"height",B=document.createElement("div");return B.className=`${Q}-sticky-header`,B.setAttribute("role","presentation"),B.setAttribute("aria-hidden","true"),B.style.cssText="position:relative;z-index:5;pointer-events:none;overflow:hidden;"+(q?`top:0;bottom:0;left:${J||0}px`:`top:${J||0}px`),B.style[K]=`${Y}px`,j.insertBefore(B,j.firstChild),B},M1=(j,Q,q,Y,J,K=!1,B=0,X,H)=>{let G=K?"width":"height",N=K?"height":"width",l=K?"X":"Y",V=(s,C)=>{s.style[G]=`${C}px`},w=H??O0(j,J,K,0,B),D=()=>{let s=document.createElement("div");return s.className="sticky-group",s.style.position="absolute",s.style.willChange="transform",s.style[N]="100%",s},F=D(),_=D();w.append(F,_);let z=F,v=_,M=Q.groups,A=[],O=[],E=[],y=0,S=()=>{M=Q.groups,y=M.length,A=Array(y),O=Array(y),E=Array(y);let s=X?X():1;for(let C=0;C<y;C++)A[C]=q.getOffset(M[C].headerLayoutIndex)*s,O[C]=Q.getHeaderHeight(C),E[C]=O[C]*s};S();let d=-1,f=0,c=0,k=-1,g=!1,x=0,R=!1,L=(s,C)=>{Y(s,C);let u=O[C];return V(s,u),u},b=(s)=>{s.replaceChildren(),s.style.transform=""},Z=(s)=>{if(s===d)return;if(d=s,f=0,c=0,s<0||s>=y){b(z);return}f=L(z,s),c=E[s],V(w,f),z.style.transform=""},U=(s)=>{if(s===x)return;x=s;let C=Math.round(s);z.style.transform=`translate${l}(${C}px)`,v.style.transform=`translate${l}(${C+f}px)`},T=()=>{x=0,z.style.transform="",v.style.transform=""},p=()=>{if(!R)return;let s=z;z=v,v=s,d=k,f=d>=0?O[d]:0,c=d>=0?E[d]:0,V(w,f),b(v),k=-1,R=!1,T()},t=()=>{if(!R)return;b(v),k=-1,R=!1,T()},n=!!H,m=()=>{if(g)return;if(g=!0,n)w.style.visibility="";else w.style.display=""},$=()=>{if(!g)return;if(g=!1,n)w.style.visibility="hidden";else w.style.display="none";b(z),d=-1,f=0,c=0,t()},W=(s)=>{if(y===0){$();return}if(s<A[0]){$();return}let C=0,u=y-1;while(C<u){let e=C+u+1>>>1;if(A[e]+E[e]<=s)C=e;else u=e-1}if(!g)m();Z(C);let a=C+1;if(a<y){let e=A[a]-s;if(e<=0&&e>-c){if(k!==a||!R)k=a,L(v,a),R=!0;let i=c>0?e/c*f:e;U(i)}else if(e<=-c){if(R)p()}else if(R)t()}else if(R)t()},P=()=>{S();let s=d;if(d=-1,f=0,c=0,s>=0)Z(s)},I=()=>{w.remove(),d=-1,f=0,c=0,k=-1,g=!1,R=!1};if(!H)w.style.display="none";return{update:W,refresh:P,show:m,hide:$,destroy:I}};var g2={selected:!1,focused:!1},G1=typeof process<"u"&&process.env?.NODE_ENV!=="production";function E0(j){if(!j.getGroupForIndex)throw Error("[vlist] groups: getGroupForIndex is required");let Q=j.header?.height??j.header?.width??j.headerHeight;if(Q==null||typeof Q==="number"&&Q<=0)throw Error("[vlist] groups: header height/width must be a positive number or function");let q=j.header?.template??j.headerTemplate;if(!q)throw Error("[vlist] groups: header.template is required");let Y=q,J,K=null,B,X,H,G,N,l,V,w=null,D,F,_,z=null,v,M,A=null,O,E=new Map,y=new Set,S=new Map,d=-1,f=-1,c=!0,k=-1,g=0,x=null,R;function L(){return J.totalEntries}function b(){let $=X.totalItems;if($===k)return;if(G1)console.log(`[groups] syncLayout: ${k} → ${$}`);let W=k>0;k=$,J.rebuild($,w??V),R(J.totalEntries);let P=B.getTotalSize();if(G.style[D?"width":"height"]=P+"px",K)K.refresh(),K.update(X.scrollPosition);if(W)T();let I=A?.("_scrollbar:getInstance");if(I)I()?.updateBounds(P,X.containerSize)}function Z($){let W=B.getOffset($);if(D)return`translate(${Math.round(W)}px, 0)`;return`translate(0, ${Math.round(W)}px)`}function U($,W){let P=B.getSize(W);if(D)$.style.width=`${P}px`;else $.style.height=`${P}px`}function T(){E.forEach(($)=>{$.remove();let W=$.getAttribute("data-id");if(W)S.set(W,$);else H.release($)}),E.clear(),y.clear()}function p(){if(S.size>0)S.forEach(($)=>H.release($)),S.clear()}function t($,W,P,I){if(W.type==="header"){let i=`__group_header_${W.group.groupIndex}`;if($.getAttribute("data-id")===i)return!0;$.className=M,$.setAttribute("role","presentation"),$.removeAttribute("aria-selected"),$.setAttribute("data-id",i);let q2=Y(W.group.key,W.group.groupIndex);if(typeof q2==="string")$.innerHTML=q2;else $.innerHTML="",$.appendChild(q2);return!0}let s=W.dataIndex,C=V(s);if(!C)return $.innerHTML="",!1;let u=C._isPlaceholder===!0,a=String(C.id);if(!u&&$.getAttribute("data-id")===a){if(O)$.id=`${F}-item-${I}`,$.setAttribute("aria-posinset",String(s+1)),$.setAttribute("aria-setsize",String(X.totalItems));return!0}if($.className=v,$.setAttribute("role","option"),$.setAttribute("data-id",a),O)$.id=`${F}-item-${I}`,$.setAttribute("aria-posinset",String(s+1)),$.setAttribute("aria-setsize",String(X.totalItems));if(u)$.classList.add(`${F}-item--placeholder`);if(P)P(I,g2);else g2.selected=!1,g2.focused=!1;let e=l(C,s,g2);if(typeof e==="string")$.innerHTML=e;else $.innerHTML="",$.appendChild(e);return!u}function n(){if(X.destroyed)return;b();let{scrollPosition:$,containerSize:W}=X;if(!c&&$===d&&W===f)return;d=$,f=W;let P=c;c=!1;let I=L();if(W<=0||I===0){if(E.size>0)E.forEach((o)=>{o.remove(),H.release(o)}),E.clear(),y.clear();return}let s=B.indexAtOffset($),C=B.indexAtOffset($+W);if(C<I-1)C++;s=Math.max(0,s),C=Math.min(I-1,Math.max(0,C));let u=Math.max(0,s-_),a=Math.min(I-1,C+_);if(u===X.prevRangeStart&&a===X.prevRangeEnd&&!X.renderPending)return;E.forEach((o,$2)=>{if($2<u||$2>a)o.remove(),H.release(o),E.delete($2),y.delete($2)});let e=z?.()??null,i=e?`${F}-item--selected`:"",q2=e?`${F}-item--focused`:"",K2=null;for(let o=u;o<=a;o++){let $2=E.get(o),B2=!1;if($2===void 0){let U2=J.getEntry(o);B2=U2.type==="header";let Y2;if(U2.type==="header")Y2=`__group_header_${U2.group.groupIndex}`;else{let L2=V(U2.dataIndex);if(L2&&L2._isPlaceholder!==!0)Y2=String(L2.id)}if(Y2!==void 0){let L2=S.get(Y2);if(L2)S.delete(Y2),$2=L2}if(!$2)$2=H.acquire();if($2.setAttribute("data-index",String(o)),t($2,U2,e,o))y.delete(o);else y.add(o);if(U($2,o),$2.style.transform=Z(o),E.set(o,$2),!K2)K2=document.createDocumentFragment();K2.appendChild($2)}else if(P&&y.has(o)){let U2=J.getEntry(o);if(U2.type==="item")if(t($2,U2,e,o))y.delete(o);else y.add(o)}else B2=$2.classList.contains(M);if(!B2&&e)if(e(o,g2),$2.classList.toggle(i,g2.selected),$2.classList.toggle(q2,g2.focused),g2.selected)$2.setAttribute("aria-selected","true");else $2.removeAttribute("aria-selected")}if(K2)G.appendChild(K2);p();let G2=B.getTotalSize();G.style[D?"width":"height"]=G2+"px",X.prevRangeStart=u,X.prevRangeEnd=a,X.renderPending=!1;let M2=0,N2=0,J2=!1;for(let o=u;o<=a&&M2<X.capacity;o++){let $2=J.getEntry(o);if($2.type==="item"){if(!J2)N2=$2.dataIndex,J2=!0;X.visibleIndices[M2]=$2.dataIndex,X.visibleOffsets[M2]=B.getOffset(o),X.visibleSizes[M2]=B.getSize(o),M2++}}X.visibleCount=M2,X.startIndex=N2}function m(){if(X.destroyed)return;if(G1)console.log(`[groups] forceRender, placeholders: ${y.size}, rendered: ${E.size}`);let $=x?.()??0;if($!==g){g=$;let W=J.groups,P=W.length;J.rebuild(k,w??V);let I=J.groups,s=I.length!==P;if(!s){for(let C=0;C<P;C++)if(I[C].headerLayoutIndex!==W[C].headerLayoutIndex){s=!0;break}}if(s){R(J.totalEntries);let C=B.getTotalSize();if(G.style[D?"width":"height"]=C+"px",K)K.refresh(),K.update(X.scrollPosition);let u=1/0,a=Math.min(P,I.length);for(let i=0;i<a;i++)if(I[i].headerLayoutIndex!==W[i].headerLayoutIndex){u=Math.min(I[i].headerLayoutIndex,W[i].headerLayoutIndex);break}if(I.length>P&&a<I.length)u=Math.min(u,I[a].headerLayoutIndex);else if(P>I.length&&a<P)u=Math.min(u,W[a].headerLayoutIndex);if(u<=X.prevRangeEnd)T();let e=A?.("_scrollbar:getInstance");if(e)e()?.updateBounds(C,X.containerSize)}}X.prevRangeStart=-1,X.prevRangeEnd=-1,X.renderPending=!0,c=!0,n()}return{name:"groups",priority:10,setup($){B=$.sizeCache,X=$.getState(),H=$.pool,G=$.dom.content,N=$.dom.root,l=$.template,D=$.config.axis.primary==="x",F=$.config.classPrefix,_=$.config.overscan,V=$.getItem.bind($),z=()=>$.getItemStateFn(),A=$.getMethod.bind($),O=$.config.interactive,v=`${F}-item`,M=`${F}-group-header`,queueMicrotask(()=>{let C=A?.("_getLoadedItem");if(C)w=C;let u=A?.("_getLoadedCount");if(u)x=u});let W=X.totalItems;J=_1(W,j,w??V),k=W;let P=typeof Q==="number"?(C)=>Q:(C)=>{let u=J.groups[C];if(!u)return 0;return Q(u.key,C)},I=B.getSize,s=(C)=>{let u=J.getEntry(C);if(u.type==="header"){if(j.sticky!==!1&&u.group.groupIndex===0)return 0;return P(u.group.groupIndex)}return I(u.dataIndex)};if($.setSizeConfig(s),R=B.rebuild,B.rebuild=(C)=>{R(J.totalEntries)},B.rebuild(J.totalEntries),$.setVirtualTotalFn(()=>J.totalEntries),N.classList.add(`${F}--grouped`),j.sticky!==!1){let C=(e,i)=>{let q2=J.groups[i];if(!q2)return;let K2=Y(q2.key,i);if(typeof K2==="string")e.innerHTML=K2;else e.replaceChildren(K2)},u=J.getHeaderHeight(0),a=O0(N,F,D,u);if(K=M1(N,J,B,C,F,D,0,void 0,a),K.update(X.scrollPosition),!D)$.dom.viewport.style.height=`calc(100% - ${u}px)`;else $.dom.viewport.style.width=`calc(100% - ${u}px)`}$.setRenderFn(n,m),$.registerMethod("getGroupLayout",()=>J),$.registerMethod("_dataToLayoutIndex",(C)=>J.dataToLayoutIndex(C)),$.registerMethod("_layoutToDataIndex",(C)=>J.layoutToDataIndex(C)),$.registerMethod("_getRenderedElement",(C)=>E.get(C)??null),$.registerMethod("_isGroupHeader",(C)=>{return J.getEntry(C).type==="header"}),$.registerMethod("scrollToIndex",(C,u="start")=>{let a=J.dataToLayoutIndex(C),e=J.totalEntries;if(e===0)return;let i=Math.max(0,Math.min(a,e-1)),q2=B.getOffset(i),K2=B.getSize(i),G2=X.containerSize,M2=B.getTotalSize(),N2=Math.max(0,M2-G2),J2=typeof u==="string"?u:u.align??"start",o=typeof u==="object"?u.behavior:void 0,$2=typeof u==="object"?u.duration:void 0,B2;switch(J2){case"center":B2=q2-(G2-K2)/2;break;case"end":B2=q2-G2+K2;break;default:B2=q2}if(B2=Math.max(0,Math.min(B2,N2)),o==="smooth"&&$2&&$2>0)$.smoothScrollTo(B2,$2);else $.scrollTo(B2)}),$.registerDestroyHandler(()=>{for(let[,C]of E)C.remove();if(E.clear(),y.clear(),K)K.destroy(),K=null;N.classList.remove(`${F}--grouped`)})},hooks:{onAfterScroll($,W){if(K)K.update($)}},destroy(){if(K)K.destroy(),K=null;E.clear(),y.clear(),S.clear()}}}var X1=(j,Q=50,q=1/0,Y=!0)=>{let J=j,K=[],B=0,X=()=>{K=J.map((_,z)=>({def:_,index:z,width:0,minWidth:s1(_.minWidth??Q,1),maxWidth:_.maxWidth??q,resizable:_.resizable??Y,offset:0}))},H=(_)=>{if(K.length===0){B=0;return}let z=0,v=0;for(let M=0;M<K.length;M++){let A=K[M],O=A.def;if(O.width!==void 0)A.width=R0(O.width,A.minWidth,A.maxWidth),z+=A.width;else v++}if(v){let A=Math.max(0,_-z)/v;for(let O=0;O<K.length;O++){let E=K[O];if(E.def.width===void 0)E.width=R0(A,E.minWidth,E.maxWidth)}}G()},G=()=>{let _=0;for(let z=0;z<K.length;z++){let v=K[z];v.offset=_,_+=v.width}B=_},N=(_,z)=>{if(_<0||_>=K.length)return 0;let v=K[_];if(!v.resizable)return v.width;let M=R0(z,v.minWidth,v.maxWidth);return v.width=M,G(),M},l=(_)=>{return K[_]},V=(_)=>{if(K.length===0)return;if(_<0)return K[0];if(_>=B)return K[K.length-1];let z=0,v=K.length-1;while(z<v){let M=z+v>>>1,A=K[M];if(_<A.offset)v=M-1;else if(_>=A.offset+A.width)z=M+1;else return A}return K[z]},w=(_)=>{if(_<0||_>=K.length)return 0;return K[_].offset},D=(_)=>{if(_<0||_>=K.length)return 0;return K[_].width},F=(_)=>{J=_,X()};return X(),{get columns(){return K},get totalWidth(){return B},resolve:H,updateColumns:F,resizeColumn:N,getColumn:l,getColumnAtX:V,getColumnOffset:w,getColumnWidth:D}},R0=(j,Q,q)=>Math.min(q,Math.max(Q,j)),s1=(j,Q)=>Math.max(Q,j);var A1=(j,Q,q,Y,J,K)=>{let B=document.createElement("div");B.setAttribute("role","rowgroup");let X=document.createElement("div");X.className=`${q}-table-header`,X.setAttribute("role","row"),X.setAttribute("aria-rowindex","1"),X.style.height=`${Q}px`;let H=document.createElement("div");H.className=`${q}-table-header-scroll`,H.setAttribute("role","presentation"),X.appendChild(H),B.appendChild(X),j.insertBefore(B,j.firstChild),j.style.setProperty("--vlist-table-header-height",`${Q}px`);let G=[],N=[],l=!0,V=null,w="asc",D=null,F=!1,_=-1,z=0,v=0,M=0,A=(Z,U)=>{let T=document.createElement("div");T.className=`${q}-table-header-cell`,T.setAttribute("role","columnheader"),T.setAttribute("aria-colindex",String(U+1)),T.setAttribute("tabindex",U===0?"0":"-1"),T.dataset.columnKey=Z.def.key;let p=Z.def.align;if(p==="center")T.classList.add(`${q}-table-header-cell--center`);else if(p==="right")T.classList.add(`${q}-table-header-cell--right`);let t=document.createElement("div");t.className=`${q}-table-header-content`;let n=Z.def.header?Z.def.header(Z.def):Z.def.label;if(typeof n==="string")t.textContent=n;else t.appendChild(n);if(T.appendChild(t),Z.def.sortable){let m=document.createElement("span");m.className=`${q}-table-header-sort`,m.setAttribute("aria-hidden","true"),T.appendChild(m),N.push(m),T.classList.add(`${q}-table-header-cell--sortable`)}else N.push(null);if(Z.resizable){let m=document.createElement("div");m.className=`${q}-table-header-resize`,m.dataset.resizeIndex=String(U),T.appendChild(m)}return T},O=(Z)=>{D=Z,H.textContent="",G=[],N=[];let U=Z.columns;for(let T=0;T<U.length;T++){let p=U[T],t=A(p,T);G.push(t),H.appendChild(t)}if(E(Z),V)y(V,w)},E=(Z)=>{D=Z;let U=Z.columns;H.style.width=`${Z.totalWidth}px`;for(let T=0;T<G.length&&T<U.length;T++){let p=G[T],t=U[T];p.style.width=`${t.width}px`}},y=(Z,U)=>{if(V=Z,w=U,!D)return;let T=D.columns;for(let p=0;p<N.length&&p<T.length;p++){let t=N[p];if(!t)continue;if(T[p].def.key===Z)t.textContent=U==="asc"?"▲":"▼",t.style.opacity="0.7",G[p].setAttribute("aria-sort",U==="asc"?"ascending":"descending");else t.textContent="",t.style.opacity="0",G[p].removeAttribute("aria-sort")}},S=(Z)=>{H.style.transform=`translateX(${-Z}px)`},d=(Z)=>{let U=Z.target;if(!U.dataset.resizeIndex)return;if(Z.preventDefault(),Z.stopPropagation(),_=+U.dataset.resizeIndex,!D)return;let T=D.getColumn(_);if(!T?.resizable)return;F=!0,z=Z.clientX,v=T.width,j.classList.add(`${q}--col-resizing`),j.style.cursor="col-resize",U.classList.add(`${q}-table-header-resize--active`),U.setPointerCapture(Z.pointerId),U.addEventListener("pointermove",f),U.addEventListener("pointerup",c),U.addEventListener("pointercancel",c)},f=(Z)=>{if(!F||!D)return;let U=Z.clientX-z;if(Math.abs(U)<1)return;let T=Math.max(0,v+U);Y(_,T)},c=(Z)=>{if(!F)return;let U=Z.target;U.removeEventListener("pointermove",f),U.removeEventListener("pointerup",c),U.removeEventListener("pointercancel",c);try{U.releasePointerCapture(Z.pointerId)}catch{}U.classList.remove(`${q}-table-header-resize--active`),j.classList.remove(`${q}--col-resizing`),j.style.cursor="",F=!1,_=-1},k=(Z)=>{let U=Z.target;if(U.dataset.resizeIndex)return;if(F)return;let T=U;while(T&&!T.dataset.columnKey)if(T=T.parentElement,T===X||T===null)return;let p=T.dataset.columnKey;if(!D)return;let t=D.columns,n=-1;for(let $=0;$<t.length;$++)if(t[$].def.key===p){n=$;break}if(n===-1)return;let m=t[n];if(K)K({key:p,index:n,event:Z});if(m.def.sortable&&J){let $;if(V===p)$=w==="asc"?"desc":null;else $="asc";J({key:p,index:n,direction:$})}},g=(Z)=>{if(Z<0||Z>=G.length)return;G[M]?.setAttribute("tabindex","-1"),M=Z;let U=G[M];U.setAttribute("tabindex","0"),U.focus()},x=(Z)=>{let U=Z.key;if(U==="ArrowRight"){if(Z.ctrlKey||Z.metaKey){if(!D)return;let T=D.getColumn(M);if(T?.resizable)Y(M,T.width+10),Z.preventDefault()}else if(M<G.length-1)g(M+1),Z.preventDefault();Z.stopPropagation();return}if(U==="ArrowLeft"){if(Z.ctrlKey||Z.metaKey){if(!D)return;let T=D.getColumn(M);if(T?.resizable)Y(M,T.width-10),Z.preventDefault()}else if(M>0)g(M-1),Z.preventDefault();Z.stopPropagation();return}if(U==="Home"){g(0),Z.preventDefault(),Z.stopPropagation();return}if(U==="End"){g(G.length-1),Z.preventDefault(),Z.stopPropagation();return}if(U==="Enter"||U===" "){if(!D)return;let T=D.getColumn(M);if(T?.def.sortable&&J){let p;if(V===T.def.key)p=w==="asc"?"desc":null;else p="asc";J({key:T.def.key,index:M,direction:p}),Z.preventDefault()}Z.stopPropagation();return}if(U==="ArrowDown"){j.focus(),Z.preventDefault(),Z.stopPropagation();return}};return X.addEventListener("pointerdown",d),X.addEventListener("click",k),X.addEventListener("keydown",x),{element:X,update:E,updateSort:y,rebuild:O,show:()=>{if(l)return;l=!0,X.style.display=""},hide:()=>{if(!l)return;l=!1,X.style.display="none"},destroy:()=>{X.removeEventListener("pointerdown",d),X.removeEventListener("click",k),X.removeEventListener("keydown",x),j.style.removeProperty("--vlist-table-header-height"),B.remove(),G=[],N=[],D=null,l=!1},syncScroll:S}};var a1=()=>{let j=[];return{acquire:()=>j.pop()||document.createElement("div"),release:(Q)=>{if(Q.parentNode?.removeChild(Q),j.length<200)Q.className="",Q.removeAttribute("data-id"),Q.removeAttribute("data-index"),Q.removeAttribute("aria-selected"),Q.removeAttribute("aria-rowindex"),Q.removeAttribute("role"),Q.style.cssText="",Q.textContent="",j.push(Q)},clear:()=>{j.length=0}}},D1=(j,Q,q,Y,J,K,B,X,H)=>{let G=a1(),N=new Map,l=-1,V=q,w=null,D=null,F=null,_=(C,u)=>{D=C,F=u},z=(C,u)=>{u?C.setAttribute("aria-selected","true"):C.removeAttribute("aria-selected")},v=(C,u,a,e)=>{C.setAttribute("role",u),C.setAttribute("data-id",String(a)),C.setAttribute("data-index",String(e))},M=(C)=>String(C).startsWith("__placeholder_"),A=`${J}-item ${J}-table-row`,O=`${J}-item--selected`,E=`${J}-item--focused`,y=`${J}-table-cell`,S=`${J}-table-cell--center`,d=`${J}-table-cell--right`,f=`${J}-item--odd`,c=`${J}-item--placeholder`,k=`${J}-item--replaced`,g=`${J}-item ${J}-table-row ${J}-table-group-header`,x=`${J}-table-group-header-content`,R=(C,u,a,e,i=!1)=>{if(a.def.cell){let q2=a.def.cell(u,a.def,e);if(typeof q2==="string")C.innerHTML=q2;else C.replaceChildren(q2)}else{let q2=u[a.def.key],K2=q2!=null?String(q2):"";if(i&&K2)C.innerHTML=`<span>${K2}</span>`;else C.textContent=K2}},L=(C,u,a,e,i=!1)=>{let q2=A;if(X){if(w){let K2=w(u);if(K2>=0&&(K2&1)===1)q2+=` ${f}`}else if((u&1)===1)q2+=` ${f}`}if(i)q2+=` ${c}`;if(a)q2+=` ${O}`;if(e)q2+=` ${E}`;C.className=q2},b=(C,u,a)=>{if(a?.compression?.isCompressed)return Math.round(x2(C,a.scrollPosition,u,a.totalItems,a.containerSize,a.compression,a.rangeStart));return u.getOffset(C)},Z=(C,u)=>{let a=u.def.align;if(a==="center")C.classList.add(S),C.classList.remove(d);else if(a==="right")C.classList.add(d),C.classList.remove(S);else C.classList.remove(S,d)},U=(C,u)=>{let e=V.columns.length;if(u.length===e)return u;let i=[];for(let q2=0;q2<e;q2++){let K2;if(q2<u.length)K2=u[q2];else K2=document.createElement("div"),K2.className=y,C.appendChild(K2);i.push(K2)}for(let q2=e;q2<u.length;q2++)u[q2].remove();return i},T=(C,u,a,e)=>{let i=G.acquire(),q2=C,K2=a.getSize(u),G2=b(u,a,e);i.style.cssText=`width:${V.totalWidth}px;height:${K2}px;transform:translateY(${G2}px)`,i.className=g,v(i,"presentation",C.id,u),i.removeAttribute("aria-selected"),i.removeAttribute("aria-rowindex"),i.replaceChildren();let M2=document.createElement("div");if(M2.className=x,F){let N2=F(q2.groupKey,q2.groupIndex);if(typeof N2==="string")M2.innerHTML=N2;else M2.appendChild(N2)}return i.appendChild(M2),{element:i,cells:[],index:u,isGroupHeader:!0,_lastItem:C,lastItemId:C.id,lastSelected:!1,lastFocused:!1,lastOffset:G2,lastHeight:K2}},p=(C,u,a,e,i,q2)=>{let K2=G.acquire(),G2=i.getSize(u),M2=b(u,i,q2),N2=M(C.id);K2.style.cssText=`width:${V.totalWidth}px;height:${G2}px;transform:translateY(${M2}px)`,L(K2,u,a,e,N2),v(K2,"row",C.id,u),K2.id=`${K}-item-${u}`,K2.setAttribute("aria-rowindex",String(u+2)),z(K2,a);let J2=U(K2,[]),o=V.columns;for(let $2=0;$2<J2.length&&$2<o.length;$2++){let B2=J2[$2],U2=o[$2];B2.style.cssText=`left:${U2.offset}px;width:${U2.width}px`,B2.setAttribute("role","gridcell"),B2.setAttribute("aria-colindex",String($2+1)),Z(B2,U2),R(B2,C,U2,u,N2)}return{element:K2,cells:J2,index:u,isGroupHeader:!1,_lastItem:C,lastItemId:C.id,lastSelected:a,lastFocused:e,lastOffset:M2,lastHeight:G2}},t=(C,u,a,e,i)=>{let q2=!1,K2=B();if(K2!==l)l=K2,q2=!0;let G2=null,M2=Q();w=typeof X==="string"&&H?H():null;for(let N2=u.start;N2<=u.end;N2++){let J2=N2-u.start,o=C[J2];if(!o)continue;let $2=a.has(o.id),B2=N2===e,U2=D?D(o):!1,Y2=N.get(N2);if(Y2){if(Y2.isGroupHeader!==U2){G.release(Y2.element),N.delete(N2);let A2=U2?T(o,N2,M2,i):p(o,N2,$2,B2,M2,i);if(N.set(N2,A2),!G2)G2=document.createDocumentFragment();G2.appendChild(A2.element);continue}if(U2){if(Y2._lastItem!==o){let b2=o,F2=Y2.element.firstElementChild;if(F2&&F){let y2=F(b2.groupKey,b2.groupIndex);if(typeof y2==="string")F2.innerHTML=y2;else F2.replaceChildren(y2)}Y2.element.setAttribute("data-id",String(o.id)),Y2._lastItem=o,Y2.lastItemId=o.id}let L2=b(N2,M2,i);if(Y2.lastOffset!==L2)Y2.lastOffset=L2,Y2.element.style.transform=`translateY(${L2}px)`;let X2=M2.getSize(N2);if(Y2.lastHeight!==X2)Y2.lastHeight=X2,Y2.element.style.height=`${X2}px`}else{let A2=Y2._lastItem!==o,L2=Y2.lastSelected!==$2,X2=Y2.lastFocused!==B2;if(A2){let y2=Y2.lastItemId!=null&&M(Y2.lastItemId),D2=M(o.id);if(!D2&&r2(a,N2,o.id))$2=!0;let k2=V.columns;for(let H2=0;H2<Y2.cells.length&&H2<k2.length;H2++)R(Y2.cells[H2],o,k2[H2],N2,D2);if(L(Y2.element,N2,$2,B2,D2),Y2.element.setAttribute("data-id",String(o.id)),z(Y2.element,$2),y2&&!D2)Y2.element.classList.add(k),setTimeout(()=>{Y2.element.classList.remove(k)},300);Y2._lastItem=o,Y2.lastItemId=o.id,Y2.lastSelected=$2,Y2.lastFocused=B2}else if(L2||X2)L(Y2.element,N2,$2,B2,M(o.id)),z(Y2.element,$2),Y2.lastSelected=$2,Y2.lastFocused=B2;let b2=b(N2,M2,i);if(Y2.lastOffset!==b2)Y2.lastOffset=b2,Y2.element.style.transform=`translateY(${b2}px)`;let F2=M2.getSize(N2);if(Y2.lastHeight!==F2)Y2.lastHeight=F2,Y2.element.style.height=`${F2}px`;if(q2)Y2.element.setAttribute("aria-rowindex",String(N2+2))}}else{if(r2(a,N2,o.id))$2=!0;let A2=U2?T(o,N2,M2,i):p(o,N2,$2,B2,M2,i);if(N.set(N2,A2),!G2)G2=document.createDocumentFragment();G2.appendChild(A2.element)}}if(G2)j.appendChild(G2);for(let[N2,J2]of N)if(N2<u.start||N2>u.end)G.release(J2.element),N.delete(N2)},n=(C)=>{let u=Q();for(let[a,e]of N){let i=b(a,u,C);if(e.lastOffset!==i)e.lastOffset=i,e.element.style.transform=`translateY(${i}px)`}},m=(C,u,a,e)=>{let i=N.get(C);if(!i)return;if(i.isGroupHeader)return;let q2=V.columns;for(let K2=0;K2<i.cells.length&&K2<q2.length;K2++)R(i.cells[K2],u,q2[K2],C);i.element.setAttribute("data-id",String(u.id)),i._lastItem=u,i.lastItemId=u.id,L(i.element,C,a,e),z(i.element,a),i.lastSelected=a,i.lastFocused=e},$=(C,u,a)=>{let e=N.get(C);if(!e)return;if(e.isGroupHeader)return;let i=e.lastSelected!==u,q2=e.lastFocused!==a;if(i||q2)L(e.element,C,u,a),z(e.element,u),e.lastSelected=u,e.lastFocused=a},W=(C)=>{V=C;let u=C.columns;for(let[,a]of N)if(a.element.style.width=`${C.totalWidth}px`,a.cells.length>0)for(let e=0;e<a.cells.length&&e<u.length;e++){let i=a.cells[e],q2=u[e];i.style.left=`${q2.offset}px`,i.style.width=`${q2.width}px`}},P=(C)=>{return N.get(C)?.element},I=()=>{for(let[,C]of N)G.release(C.element);N.clear(),l=-1};return{render:t,updatePositions:n,updateItem:m,updateItemClasses:$,getElement:P,updateColumnLayout:W,setGroupHeaderFn:_,clear:I,destroy:()=>{I(),G.clear()}}};var o1=new Set;function T0(j){if(!j.columns?.length)throw Error("[vlist] table: columns must be a non-empty array");if(j.rowHeight===void 0&&j.estimatedRowHeight===void 0)throw Error("[vlist] table: either rowHeight or estimatedRowHeight is required");let Q=null,q=null,Y=null,J,K,B=null,X=null,H=null,G=!1,N=-1,l=null,V=!1;function w(){if(G||!B)return;G=!0,X=B.getMethod("_getSelectedIds")??null,H=B.getMethod("_getFocusedIndex")??null}function D(){if(V||!B)return;V=!0,l=B.getMethod("_scale:getCompression")??null}let F=[],_={start:0,end:0},z={start:0,end:-1};function v(){if(J.destroyed||!B||!Y||!Q)return;let{containerSize:A,totalItems:O}=J;if(A<=0||O===0)return;let E=O+1;if(E!==N)N=E,B.dom.root.setAttribute("aria-rowcount",`${E}`);D();let y=J.scrollPosition,S=l?.()??null,d=S!==null&&S.isCompressed,f=B.config.overscan,c,k;if(d)m2(y,A,K,O,S,z),c=Math.max(0,z.start-f),k=Math.min(O-1,z.end+f);else{let Z=K.indexAtOffset(y),U=K.indexAtOffset(y+A);if(U<O-1)U++;Z=Math.max(0,Z),U=Math.min(O-1,U),c=Math.max(0,Z-f),k=Math.min(O-1,U+f)}if(c===J.prevRangeStart&&k===J.prevRangeEnd&&!J.renderPending)return;w();let g=X?.()??o1,x=H?.()??-1;F.length=0;for(let Z=c;Z<=k;Z++){let U=B.getItem(Z);if(U)F.push(U)}_.start=c,_.end=k;let R;if(d)R={scrollPosition:y,totalItems:O,containerSize:A,rangeStart:c,compression:S};Y.render(F,_,g,x,R),J.prevRangeStart=c,J.prevRangeEnd=k,J.renderPending=!1;let L=k-c+1;J.visibleCount=Math.min(L,J.capacity),J.startIndex=c;for(let Z=0;Z<J.visibleCount;Z++){let U=c+Z;J.visibleIndices[Z]=U,J.visibleOffsets[Z]=K.getOffset(U),J.visibleSizes[Z]=K.getSize(U)}let b=K.getTotalSize();J.totalSize=b,B.dom.content.style.height=b+"px"}function M(){if(J.destroyed)return;J.prevRangeStart=-1,J.prevRangeEnd=-1,J.renderPending=!0,v()}return{name:"table",priority:10,conflicts:["grid","masonry"],setup(A){B=A,J=A.getState(),K=A.sizeCache;let{dom:O,config:E,emitter:y}=A,{classPrefix:S}=E;if(E.axis.primary==="x")throw Error("[vlist] table: cannot be used with horizontal orientation");if(E.reverse)throw Error("[vlist] table: cannot be used with reverse mode");let d=j.resizable??!0,f=j.minColumnWidth??50,c=j.maxColumnWidth??1/0,k=j.rowBorders??!0,g=j.rowHeight,x=j.headerHeight??(typeof g==="number"?g:40),R=j.sort?.key??null,L=j.sort?.direction??"asc";if(Q=X1(j.columns,f,c,d),typeof g==="function"||typeof g==="number")A.setSizeConfig(g);if(A.rebuildSizeCache(),O.root.classList.add(`${S}--table`),k)O.root.classList.add(`${S}--table-row-borders`);if(j.columnBorders)O.root.classList.add(`${S}--table-col-borders`);if(E.interactive)O.root.setAttribute("tabindex","0");O.root.setAttribute("role","grid"),O.root.setAttribute("aria-colcount",`${j.columns.length}`),O.viewport.setAttribute("role","none"),O.content.setAttribute("role","rowgroup");let b=J.crossSize;Q.resolve(b);let Z=()=>{if(!Q)return;O.content.style.minWidth=`${Q.totalWidth}px`},U=(m,$)=>{if(!Q)return;let W=Q.getColumn(m);if(!W)return;let P=W.width,I=Q.resizeColumn(m,$);q?.update(Q),Y?.updateColumnLayout(Q),Z(),y.emit("column:resize",{key:W.def.key,index:m,previousWidth:P,width:I})},T=(m)=>{R=m.direction===null?null:m.key,L=m.direction??"asc",q?.updateSort(R,L),y.emit("column:sort",m)};if(q=A1(O.root,x,S,U,T),q.rebuild(Q),R)q.updateSort(R,L);Z(),Y=D1(O.content,()=>K,Q,j.columns,S,S,()=>J.totalItems,E.striped||void 0),A.setRenderFn(v,M);let p=q,t=-1,n=()=>{let m=O.viewport.scrollLeft;if(m!==t)t=m,p?.syncScroll?.(m)};O.viewport.addEventListener("scroll",n,{passive:!0}),A.registerMethod("updateColumns",(m)=>{if(!Q||!q)return;if(Q.updateColumns(m),Q.resolve(J.crossSize),q.rebuild(Q),R)q.updateSort(R,L);Z(),Y?.updateColumnLayout(Q),Y?.clear(),A.forceRender()}),A.registerMethod("resizeColumn",(m,$)=>{if(!Q)return;let W;if(typeof m==="string"){let P=Q.columns;W=-1;for(let I=0;I<P.length;I++)if(P[I].def.key===m){W=I;break}if(W===-1)return}else W=m;U(W,$)}),A.registerMethod("getColumnWidths",()=>{if(!Q)return{};let m={},$=Q.columns;for(let W=0;W<$.length;W++)m[$[W].def.key]=$[W].width;return m}),A.registerMethod("setSort",(m,$)=>{R=m,L=$??"asc",q?.updateSort(R,L)}),A.registerMethod("getSort",()=>{return{key:R,direction:L}}),A.registerMethod("_getTableLayout",()=>Q),A.registerMethod("_getTableHeaderHeight",()=>x),A.registerMethod("_updateRenderedItem",(m,$,W,P)=>{Y?.updateItem(m,$,W,P)}),A.registerMethod("_replaceTableRenderer",(m)=>{Y=m}),A.registerMethod("_updateTableForGroups",(m,$)=>{Y?.setGroupHeaderFn(m,$)}),A.registerMethod("_updateItemClasses",(m,$,W)=>{Y?.updateItemClasses(m,$,W)}),A.registerKeydownHandler((m)=>{if(m.key!=="ArrowLeft"&&m.key!=="ArrowRight")return;if(!Q)return;let $=Q.columns;if($.length===0)return;let W=O.viewport.clientWidth;if(Q.totalWidth<=W)return;let P=O.viewport.scrollLeft;if(m.key==="ArrowRight"){for(let I=0;I<$.length;I++)if($[I].offset>P+1){O.viewport.scrollLeft=$[I].offset,m.preventDefault();return}}else{for(let I=$.length-1;I>=0;I--)if($[I].offset<P-1){O.viewport.scrollLeft=$[I].offset,m.preventDefault();return}if(P>0)O.viewport.scrollLeft=0,m.preventDefault()}}),A.registerDestroyHandler(()=>{O.viewport.removeEventListener("scroll",n),q?.destroy(),q=null,Y?.destroy(),Y=null,O.content.style.minWidth="",O.root.classList.remove(`${S}--table`),O.root.classList.remove(`${S}--table-row-borders`),O.root.classList.remove(`${S}--table-col-borders`),O.root.removeAttribute("role"),O.root.removeAttribute("aria-colcount"),O.root.removeAttribute("aria-rowcount"),O.root.removeAttribute("tabindex"),O.viewport.removeAttribute("role"),O.content.removeAttribute("role")})},hooks:{onResize(A,O){if(!Q||!B)return;let E=J.crossSize;if(Q.resolve(E),q?.update(Q),Y?.updateColumnLayout(Q),Q)B.dom.content.style.minWidth=`${Q.totalWidth}px`},onAfterScroll(){if(!B||!q)return;q?.syncScroll?.(B.dom.viewport.scrollLeft)}},destroy(){q?.destroy(),q=null,Y?.destroy(),Y=null,B=null}}}function b0(j){let Q=j?.handle??null,q=j?.ghostClass??"vlist-sort-ghost",Y=j?.shiftDuration??150,J=j?.edgeScrollZone??40,K=j?.edgeScrollSpeed??20,B=j?.dragThreshold??5,X=j?.ghostContainer??null,H,G,N=null,l,V,w,D,F,_,z,v,M,A,O=!1,E=-1,y=-1,S=0,d=0,f=0,c=0,k=!1,g=null,x=0,R=null,L=0,b=0,Z=0,U=null,T=!1,p="",t=-1,n=-1,m=[],$="",W=null,P=null,I="",s=!1,C=(h)=>{return h.closest("[data-index]")},u=(h)=>{let Q2=h.dataset.index;return Q2===void 0?-1:+Q2},a=(h)=>{let Q2=h.getBoundingClientRect(),j2=h.cloneNode(!0);return j2.className=`${D}-item ${q}`,j2.removeAttribute("data-index"),j2.style.cssText=`position:fixed;pointer-events:none;z-index:10000;width:${Q2.width}px;height:${Q2.height}px;left:${Q2.left}px;top:${Q2.top}px;transition:none;will-change:transform`,(X||document.body).appendChild(j2),j2},e=()=>{if(!g)return;g.style.left=`${f-b}px`,g.style.top=`${c-Z}px`},i=()=>{let h=H.totalItems;if(h===0)return 0;let Q2=V.getBoundingClientRect(),j2=H.scrollPosition,V2=F?f-b-Q2.left+V.scrollLeft+j2:c-Z-Q2.top+j2,_2=V2+L,T2=G.getOffset(E)+G.getSize(E);if(_2>T2){let E2=G.indexAtOffset(_2),C2=G.getOffset(E2)+G.getSize(E2)/2,I2=_2>C2?E2:E2-1;return Math.min(Math.max(I2,E),h-1)}let w2=G.getOffset(E);if(V2<w2){let E2=G.indexAtOffset(V2),C2=G.getOffset(E2)+G.getSize(E2)/2,I2=V2<C2?E2:E2+1;return Math.max(Math.min(I2,E),0)}return E},q2=()=>{let h=l.children,Q2=L;for(let j2=0;j2<h.length;j2++){let V2=h[j2],_2=u(V2);if(_2<0||_2===E)continue;let T2=0;if(y>E){if(_2>E&&_2<=y)T2=-Q2}else if(y<E){if(_2>=y&&_2<E)T2=Q2}let w2=G.getOffset(_2),E2=Math.round(w2+T2);V2.style.transition=z,V2.style.transform=`${_}(${E2}px)`}},K2=()=>{let h=l.children;for(let Q2=0;Q2<h.length;Q2++){let j2=h[Q2],V2=u(j2);if(V2>=0)j2.style.transform=`${_}(${Math.round(G.getOffset(V2))}px)`;j2.style.transition=""}},G2=()=>{if(!N)return;let h=i();if(h===y)return;y=h,q2(),N.emitter.emit("sort:move",{fromIndex:E,currentIndex:y})},M2=()=>{let h=V.getBoundingClientRect();if(F)return f<h.left||f>h.right;return c<h.top||c>h.bottom},N2=()=>{let h=N?.getMethod("_getFocusedIndex");return h?h():-1},J2=(h)=>{let Q2=N?.getMethod("_focusById");if(Q2)Q2(h)},o=(h)=>{if(!N)return;let Q2=F?V.clientWidth:V.clientHeight,j2=H.scrollPosition,V2=G.getOffset(h),_2=V2+G.getSize(h);if(V2<j2)N.scrollTo(Math.max(0,V2));else if(_2>j2+Q2)N.scrollTo(_2-Q2)},$2=(h)=>{if(!P)return;P.textContent="",P.offsetHeight,P.textContent=h},B2=(h)=>{if(!N)return"";let j2=N.getItems()[h];if(!j2)return"";return l.querySelector(`[data-index="${h}"]`)?.textContent?.trim()||String(j2.id)},U2=()=>String(H.totalItems),Y2=(h)=>{let Q2=l.children;for(let j2=0;j2<Q2.length;j2++)Q2[j2].style.transition=h},A2=()=>{let h=()=>{if(!O||!N)return;let Q2=V.getBoundingClientRect(),j2=0,V2=3;if(F){let T2=f-Q2.left,w2=Q2.right-f;if(T2<J){let E2=Math.min(V2,1-T2/J);j2=-K*E2*E2}else if(w2<J){let E2=Math.min(V2,1-w2/J);j2=K*E2*E2}}else{let T2=c-Q2.top,w2=Q2.bottom-c;if(T2<J){let E2=Math.min(V2,1-T2/J);j2=-K*E2*E2}else if(w2<J){let E2=Math.min(V2,1-w2/J);j2=K*E2*E2}}let _2=M2();if(j2!==0){let T2=H.scrollPosition,w2=G.getTotalSize()-(F?V.clientWidth:V.clientHeight);if(j2<0&&T2<=0||j2>0&&T2>=w2)s=_2;else s=!0,N.scrollTo(T2+j2)}else s=_2;x=requestAnimationFrame(h)};x=requestAnimationFrame(h)},L2=()=>{if(x)cancelAnimationFrame(x),x=0},X2=(h=!1)=>{if(O=!1,k=!1,g&&g.parentNode)g.remove();g=null,R=null;let Q2=l.children;for(let V2=0;V2<Q2.length;V2++){let _2=Q2[V2];_2.classList.remove(A);let T2=u(_2);if(T2>=0)_2.style.transform=`${_}(${Math.round(G.getOffset(T2))}px)`;_2.style.transition=""}L2(),w.classList.remove(v),document.body.style.cursor="";let j2=window.getSelection();if(j2)j2.removeAllRanges();if(document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),!h&&N)N.forceRender()},b2=(h,Q2)=>{if(!N)return;let j2=h!==Q2&&h>=0&&Q2>=0,V2=()=>{if(!N)return;if(O=!1,j2){if(w.classList.add(M),N.emitter.emit("sort:end",{fromIndex:h,toIndex:Q2}),U!==null)J2(U);X2(!0),requestAnimationFrame(()=>w.classList.remove(M))}else w.classList.add(M),N.emitter.emit("sort:cancel",{originalItems:[...N.getItems()]}),X2(!1),requestAnimationFrame(()=>w.classList.remove(M))};if(!g){V2();return}let _2=V.getBoundingClientRect(),T2=H.scrollPosition,w2=G.getOffset(Q2),E2=Y>0?Y:150;if(g.style.transition=`left ${E2}ms ease, top ${E2}ms ease`,F)g.style.left=`${_2.left-V.scrollLeft+w2-T2}px`,g.style.top=`${_2.top}px`;else g.style.left=`${_2.left}px`,g.style.top=`${_2.top+w2-T2}px`;let C2=!1,I2=()=>{if(C2)return;C2=!0,g?.removeEventListener("transitionend",I2),V2()};g.addEventListener("transitionend",I2),setTimeout(I2,E2+50)},F2=(h)=>{if(H.destroyed||!N)return;if(O)return;if(T)P2();if(h.button!==0)return;let Q2=h.target;if(Q){if(!Q2.closest(Q))return}let j2=C(Q2);if(!j2)return;let V2=u(j2);if(V2<0)return;S=h.clientX,d=h.clientY,f=h.clientX,c=h.clientY,E=V2,k=!1,R=j2;let _2=j2.getBoundingClientRect();b=h.clientX-_2.left,Z=h.clientY-_2.top,document.addEventListener("pointermove",y2),document.addEventListener("pointerup",D2),document.addEventListener("pointercancel",H2)};function y2(h){if(!N)return;if(f=h.clientX,c=h.clientY,!k){let Q2=f-S,j2=c-d;if(Math.sqrt(Q2*Q2+j2*j2)<B)return;if(k=!0,O=!0,y=E,w.classList.add(v),document.body.style.cursor="grabbing",L=G.getSize(E),R)g=a(R),R.classList.add(A);let V2=N2();if(V2>=0){let T2=N.getItems()[V2];U=T2?T2.id:null}else U=null;N.emitter.emit("sort:start",{index:E}),A2()}if(O){if(h.preventDefault(),e(),!s)G2();else if(M2()){if(y!==E)y=E,K2()}}}function D2(h){if(!k){document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),R=null;return}h.preventDefault(),document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),L2(),b2(E,y)}let k2=()=>{if(!k)return;document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),L2(),K2(),b2(E,E)};function H2(){k2()}let z2=()=>{let h=l.querySelectorAll(`.${I}`);for(let Q2=0;Q2<h.length;Q2++)h[Q2].classList.remove(I)},W2=()=>{z2();let h=l.querySelector(`[data-id="${p}"]`);if(h)h.classList.add(I)},O2=(h)=>{if(!N)return;let Q2=N.getItems(),j2=Q2[h];if(!j2)return;T=!0,p=j2.id,t=h,n=h,m=[...Q2],w.classList.add(v),N.emitter.emit("sort:start",{index:h}),W2(),$2(`Grabbed ${B2(h)}. Current position ${h+1} of ${U2()}. Use Up and Down arrow keys to move, Space to drop, Escape to cancel.`)},R2=()=>{if(!T||!N)return;T=!1;let h=n,Q2=B2(h);Y2("none"),w.classList.remove(v),z2(),J2(p),N.forceRender(),$2(`${Q2} dropped. Final position ${h+1} of ${U2()}.`),m=[],requestAnimationFrame(()=>Y2(""))},P2=()=>{if(!T||!N)return;T=!1;let h=t;if(Y2("none"),w.classList.remove(v),z2(),n!==h)N.emitter.emit("sort:cancel",{originalItems:m});J2(p),N.forceRender(),o(h),$2(`Reorder cancelled. Returned to position ${h+1} of ${U2()}.`),m=[],requestAnimationFrame(()=>Y2(""))},Z2=(h)=>{if(!T||!N)return;let Q2=H.totalItems,j2=n+h;if(j2<0||j2>=Q2)return;let V2=n,_2=j2;Y2("none"),N.emitter.emit("sort:end",{fromIndex:V2,toIndex:_2}),n=_2,J2(p),N.forceRender(),o(_2),W2(),$2(`${B2(_2)} moved. New position ${_2+1} of ${U2()}.`),requestAnimationFrame(()=>Y2(""))},r=(h)=>{if(H.destroyed)return;if(O){if(h.key==="Escape")h.preventDefault(),h.stopImmediatePropagation(),k2();return}if(T)switch(h.key){case" ":case"Enter":h.preventDefault(),h.stopImmediatePropagation(),R2();return;case"Escape":h.preventDefault(),h.stopImmediatePropagation(),P2();return;case"ArrowUp":case"ArrowLeft":h.preventDefault(),h.stopImmediatePropagation(),Z2(-1);return;case"ArrowDown":case"ArrowRight":h.preventDefault(),h.stopImmediatePropagation(),Z2(1);return;default:if(!h.key.startsWith("F")&&h.key!=="Tab")h.preventDefault(),h.stopImmediatePropagation();return}if(h.key===" "&&!h.shiftKey&&!h.ctrlKey&&!h.metaKey){let Q2=N2();if(Q2>=0)h.preventDefault(),h.stopImmediatePropagation(),O2(Q2)}};return{name:"sortable",priority:30,conflicts:["grid","masonry","table","scale"],setup(h){N=h,H=h.getState(),G=h.sizeCache,l=h.dom.content,V=h.dom.viewport,w=h.dom.root,D=h.config.classPrefix,F=h.config.axis.primary==="x",_=F?"translateX":"translateY",z=Y>0?`transform ${Y}ms ease`:"none",v=`${D}--sorting`,M=`${D}--settling`,A=`${D}-item--drag-source`,I=`${D}-item--kb-sorting`,h.registerMethod("isSorting",()=>O||T),l.addEventListener("pointerdown",F2),w.addEventListener("keydown",r),$=`${D}-sort-instructions`,W=document.createElement("div"),W.id=$,W.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",W.textContent="Press Space to reorder. Use arrow keys to move, Space to drop, Escape to cancel.",w.appendChild(W),P=document.createElement("div"),P.setAttribute("role","status"),P.setAttribute("aria-live","assertive"),P.setAttribute("aria-atomic","true"),P.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",w.appendChild(P),h.registerDestroyHandler(()=>{if(T)P2();X2(),l.removeEventListener("pointerdown",F2),w.removeEventListener("keydown",r),W?.remove(),P?.remove()})},hooks:{onCommit(){if(!N)return;let h=l.children;for(let Q2=0;Q2<h.length;Q2++){let j2=h[Q2],V2=u(j2);if(V2<0)continue;if(j2.setAttribute("aria-roledescription","sortable item"),j2.setAttribute("aria-describedby",$),T)if(j2.getAttribute("data-id")===String(p))j2.classList.add(I);else j2.classList.remove(I);if(O)if(V2===E)j2.classList.add(A),R=j2;else{j2.classList.remove(A);let _2=0;if(y>E){if(V2>E&&V2<=y)_2=-L}else if(y<E){if(V2>=y&&V2<E)_2=L}let T2=Math.round(G.getOffset(V2)+_2);j2.style.transform=`${_}(${T2}px)`}}}},destroy(){if(g&&g.parentNode)g.remove();g=null,L2(),W?.remove(),P?.remove(),N=null}}}var i1=50,n1=0.1;function H1(j){let Q=0,q=0,Y=0;function J(){return Y>0?q/Y:0}function K(H){if(Q=H,H>n1&&H<i1)q+=H,Y++}function B(){let H=j.getTotal();if(H===0)return 0;let G=j.getItemSize();if(G<=0)return 0;let N=j.getContainerSize();if(N<=0)return 0;let l=j.getScrollPosition(),V=typeof j.getColumns==="function"?j.getColumns():1,D=Math.ceil(H/V)*G,_=Math.min(D,S2)-N,z=D-N,v=_>0?z/_:1,M=l*v,A=Math.ceil((M+N)/G);return Math.min(A*V,H)}function X(){let H=j.getTotal(),G=B();return{progress:H>0?Math.min(100,Math.max(0,G/H*100)):0,velocity:Q,velocityAvg:J(),itemCount:G,total:H}}return{getState:X,onVelocity:K}}export{A0 as transition,T0 as table,b0 as sortable,X0 as snapshots,M0 as selection,W0 as scrollbar,N0 as scale,G0 as page,H0 as masonry,E0 as groups,V0 as grid,L0 as data,t0 as createVList,H1 as createStats,D0 as autosize,_0 as a11y};
1
+ var a2=3,z0="vlist";var o2=50;var P0=50,w0=2,v0=15,C0=6,S2=16000000,l2=150,Y0=1,i2=(j)=>j<0.5?2*j*j:1-(-2*j+2)**2/2,n2=300;var f0="x",I0=20,Z0="_isPlaceholder",f2="__placeholder_";var t2={top:0,right:0,bottom:0,left:0},h0=(j)=>{if(j==null)return t2;if(typeof j==="number")return j===0?t2:{top:j,right:j,bottom:j,left:j};if(j.length===2){let[Z,B]=j;return Z===0&&B===0?t2:{top:Z,right:B,bottom:Z,left:B}}let[$,q,Y,J]=j;return $===0&&q===0&&Y===0&&J===0?t2:{top:$,right:q,bottom:Y,left:J}},S0=(j,$)=>$?j.left+j.right:j.top+j.bottom,p0=(j,$)=>$?j.top+j.bottom:j.left+j.right;function u0(j){let $={visibleIndices:new Int32Array(j),visibleOffsets:new Float64Array(j),visibleSizes:new Float64Array(j),visibleCount:0,startIndex:0,totalSize:0,capacity:j,scrollPosition:0,prevScrollPosition:0,scrollDirection:0,containerSize:0,crossSize:0,totalItems:0,prevRangeStart:0,prevRangeEnd:-1,renderPending:!1,initialized:!1,destroyed:!1,isCompressed:!1,compressionRatio:1,prevAriaTotal:-1,resizeCapacity(q,Y,J=a2){if(Y<=0||q<=0)return;let Z=Math.ceil(q/Y)+J*2;if(Z<=$.capacity)return;let B=Z+8,X=new Int32Array(B),L=new Float64Array(B),A=new Float64Array(B);X.set($.visibleIndices),L.set($.visibleOffsets),A.set($.visibleSizes),$.visibleIndices=X,$.visibleOffsets=L,$.visibleSizes=A,$.capacity=B},clear(){$.visibleCount=0,$.startIndex=0}};return $}var E1=(j,$)=>{let q=$;return{getOffset:(Y)=>Y*j,getSize:(Y)=>j,indexAtOffset:(Y)=>{if(q===0||j===0)return 0;return Math.max(0,Math.min(Math.floor(Y/j),q-1))},getTotalSize:()=>q*j,getTotal:()=>q,rebuild:(Y)=>{q=Y},isVariable:()=>!1}},R1=(j,$)=>{let q=$,Y=new Float64Array(0),J=(B)=>{q=B,Y=new Float64Array(B+1),Y[0]=0;for(let X=0;X<B;X++)Y[X+1]=Y[X]+j(X)};J($);let Z=(B)=>{if(q===0)return 0;if(B<=0)return 0;if(B>=Y[q])return q-1;let X=0,L=q-1;while(X<L){let A=X+L+1>>>1;if(Y[A]<=B)X=A;else L=A-1}return X};return{getOffset:(B)=>{if(B<=0)return 0;if(B>=q)return Y[q];return Y[B]},getSize:(B)=>j(B),indexAtOffset:(B)=>Z(B),getTotalSize:()=>Y[q]??0,getTotal:()=>q,rebuild:(B)=>J(B),isVariable:()=>!0}},e2=(j,$)=>{if(typeof j==="number")return E1(j,$);return R1(j,$)},K0=(j,$,q,Y)=>{if(Y===0)return 0;if(!j.isVariable())return Math.ceil(q/j.getSize(0));let J=0,Z=0,B=$;while(B<Y&&Z<q)Z+=j.getSize(B),J++,B++;return Math.max(1,J)};function g0(j){let $=[],q=`${j}-item`,Y=document.createElement("div");return Y.className=q,{acquire(){if($.length>0)return $.pop();return Y.cloneNode(!1)},release(J){if(J.className=q,J.removeAttribute("style"),J.removeAttribute("id"),J.removeAttribute("role"),J.removeAttribute("aria-selected"),J.removeAttribute("aria-posinset"),J.removeAttribute("aria-setsize"),J.removeAttribute("data-index"),J.removeAttribute("data-id"),J.textContent="",$.length<100)$.push(J)},get size(){return $.length},clear(){$.length=0}}}function x2(j){let $=j.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let q=0;q<$.length;q++)$[q].setAttribute("tabindex","-1")}function x0(j){if(typeof j==="string"){let $=document.querySelector(j);if(!$)throw Error(`[vlist] Container not found: ${j}`);return $}return j}function m0(j,$,q,Y){let J=q?`${$} ${$}--horizontal`:$,Z=q?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",B=q?"position:relative;height:100%":"position:relative;width:100%",X=' role="list"';if(Y)X+=` aria-label="${Y.replace(/"/g,"&quot;")}"`;if(q)X+=' aria-orientation="horizontal"';j.insertAdjacentHTML("beforeend",`<div class="${J}"><div class="${$}-viewport" style="${Z}" tabindex="-1"><div class="${$}-content" style="${B}"${X}></div></div></div>`);let L=j.lastElementChild,A=L.firstElementChild,U=A.firstElementChild,c=document.createElement("div");return c.className=`${$}-live`,c.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",c.setAttribute("aria-live","polite"),c.setAttribute("aria-atomic","true"),c.setAttribute("role","status"),L.appendChild(c),{root:L,viewport:A,content:U,liveRegion:c}}function d0(j){let{state:$,viewport:q,isX:Y,wheelEnabled:J,onFrame:Z,onIdle:B}=j,X=j.idleTimeout||l2,L=j.scrollTarget??q,A=null,U=null;function c(){let H=Y?q.scrollLeft:q.scrollTop;if(Math.abs(H-$.scrollPosition)<0.5)return;$.prevScrollPosition=$.scrollPosition,$.scrollPosition=H,$.scrollDirection=H>$.prevScrollPosition?1:H<$.prevScrollPosition?-1:0,Z(),z()}function M(H){if($.isCompressed)return;let O;if(Y){if(Math.abs(H.deltaX)>Math.abs(H.deltaY))return;let P=q.scrollLeft,W=q.scrollWidth-q.clientWidth;if(O=Math.max(0,Math.min(P+H.deltaY*Y0,W)),Math.abs(O-P)<1)return;H.preventDefault(),q.scrollLeft=O}else{let P=q.scrollWidth>q.clientWidth;if(P&&Math.abs(H.deltaX)>Math.abs(H.deltaY))return;if(P&&H.deltaX!==0)H.preventDefault(),q.scrollLeft+=H.deltaX;let W=q.scrollTop,G=q.scrollHeight-q.clientHeight;if(O=Math.max(0,Math.min(W+H.deltaY*Y0,G)),Math.abs(O-W)<1)return;H.preventDefault(),q.scrollTop=O}$.prevScrollPosition=$.scrollPosition,$.scrollPosition=O,$.scrollDirection=O>$.prevScrollPosition?1:-1,Z(),z()}function z(){if(A!==null)clearTimeout(A);A=setTimeout(()=>{A=null,$.scrollDirection=0,B()},X)}function D(){if(U!==null)cancelAnimationFrame(U),U=null}function y(H,O,P,W=i2,G){D();let E=$.scrollPosition,T=typeof H==="function"?H:()=>H,R=T();if(Math.abs(R-E)<1){if(P)P(R);else if(Y)q.scrollLeft=R;else q.scrollTop=R;G?.();return}let w=performance.now();function g(C){R=T();let a=C-w,d=Math.min(a/O,1),o=E+(R-E)*W(d);if(P)P(o);else if(Y)q.scrollLeft=o;else q.scrollTop=o;if(!P)$.scrollPosition=o;if(Z(),d<1)U=requestAnimationFrame(g);else U=null,G?.()}U=requestAnimationFrame(g)}return{attach(){if(L.addEventListener("scroll",c,{passive:!0}),J)L.addEventListener("wheel",M,{passive:!1})},detach(){if(L.removeEventListener("scroll",c),J)L.removeEventListener("wheel",M);if(D(),A!==null)clearTimeout(A),A=null},cancelScroll:D,smoothScrollTo:y}}var r2=[],T1={calculate:r2,commit:r2,afterScroll:r2,idle:r2,resize:r2};function c0(j){if(j.length===0)return T1;let $=[],q=[],Y=[],J=[],Z=[];for(let B=0;B<j.length;B++){let X=j[B].hooks;if(X===void 0)continue;if(X.onCalculate!==void 0)$.push(X.onCalculate);if(X.onCommit!==void 0)q.push(X.onCommit);if(X.onAfterScroll!==void 0)Y.push(X.onAfterScroll);if(X.onIdle!==void 0)J.push(X.onIdle);if(X.onResize!==void 0)Z.push(X.onResize)}return{calculate:$,commit:q,afterScroll:Y,idle:J,resize:Z}}function l0(j,$){for(let q=0;q<j.length;q++)j[q]($)}function r0(j,$){for(let q=0;q<j.length;q++)j[q]($)}function B0(j,$,q){for(let Y=0;Y<j.length;Y++)j[Y]($,q)}function s0(j){for(let $=0;$<j.length;$++)j[$]()}function a0(j,$,q){for(let Y=0;Y<j.length;Y++)j[Y]($,q)}function o0(j,$,q,Y,J,Z,B,X){let L=Y!==0||J!==0;return{prefix:j,selectedClass:`${j}-item--selected`,focusedClass:`${j}-item--focused`,placeholderClass:`${j}-item--placeholder`,replacedClass:`${j}-item--replaced`,translateProp:$?"translateX(":"translateY(",sizeProp:$?"width":"height",itemRole:"listitem",interactive:!1,startPadding:q,gap:B,hasCrossPad:L,crossStartProp:L?$?"top":"left":"",crossEndProp:L?$?"bottom":"right":"",crossStartVal:L?Y+"px":"",crossEndVal:L?J+"px":"",oddClass:Z,emitter:X??null}}function b1(j,$,q,Y,J){if(j.containerSize<=0||j.totalItems===0)return j.clear(),!0;let{scrollPosition:Z,containerSize:B,totalItems:X}=j,L=J??0;j.totalSize=$.getTotalSize();let A=$.indexAtOffset(L>0?Math.max(0,Z-L):Z),U=$.indexAtOffset(Z+B);if(U<X-1)U++;A=Math.max(0,A),U=Math.min(X-1,Math.max(0,U));let c=Math.max(0,A-q),M=Math.min(X-1,U+q),z=Math.ceil(B/1)+q*2+10,D=M-c+1,y=Math.min(D,j.capacity,z);if(c===j.prevRangeStart&&M===j.prevRangeEnd&&!j.renderPending)return!1;j.visibleCount=y,j.startIndex=c;for(let H=0;H<y;H++){let O=c+H;j.visibleIndices[H]=O,j.visibleOffsets[H]=$.getOffset(O),j.visibleSizes[H]=$.getSize(O)}return l0(Y.calculate,j),j.prevRangeStart=c,j.prevRangeEnd=M,j.renderPending=!1,!0}var v2={selected:!1,focused:!1};function y1(j,$,q){for(let Y=0;Y<$;Y++)if(j[Y]===q)return!0;return!1}function k1(j,$){if($<=1)return!0;let q=j[0];for(let Y=1;Y<$;Y++){let J=j[Y];if(J!==q+1)return!1;q=J}return!0}function z1(j,$,q,Y,J,Z,B,X,L,A){let U=L?null:J(),c=j.visibleCount,M=j.visibleIndices,z=B.interactive?String(j.totalItems):"",D=B.interactive&&j.totalItems!==j.prevAriaTotal,y=null;for(let H=0;H<c;H++){let O=M[H],P=j.visibleOffsets[H],W=j.visibleSizes[H],G=L?L(O):U[O];if(A)A(O,v2);else v2.selected=!1,v2.focused=!1;let E=Z.get(O),T=E;if(E===void 0){let R=$.acquire();if(G!==void 0){let C;try{C=Y(G,O,v2)}catch(a){if(B.emitter)B.emitter.emit("error",{error:a instanceof Error?a:Error(String(a)),context:`template:render:${O}`});$.release(R);continue}if(typeof C==="string")R.innerHTML=C;else R.textContent="",R.appendChild(C);x2(R)}if(R.setAttribute("role",B.itemRole),R.setAttribute("data-index",String(O)),B.interactive)R.id=B.prefix+"-item-"+O,R.setAttribute("aria-posinset",String(O+1)),R.setAttribute("aria-setsize",z);if(G!==void 0){let C=String(G.id);if(R.setAttribute("data-id",C),C.startsWith(f2))R.classList.add(B.placeholderClass)}if(B.hasCrossPad)R.style.setProperty(B.crossStartProp,B.crossStartVal),R.style.setProperty(B.crossEndProp,B.crossEndVal);if(A){if(R.classList.toggle(B.selectedClass,v2.selected),R.classList.toggle(B.focusedClass,v2.focused),v2.selected)R.setAttribute("aria-selected","true");else R.removeAttribute("aria-selected");R._lastSelected=v2.selected,R._lastFocused=v2.focused}if(B.oddClass)R.classList.toggle(B.oddClass,(O&1)===1);let w=P+B.startPadding;R.style.transform=B.translateProp+w+"px)",R._lastOffset=w;let g=W-B.gap;if(R.style[B.sizeProp]=g+"px",R._lastSize=g,R._lastItem=G,Z.set(O,R),y===null)y=document.createDocumentFragment();y.appendChild(R)}else{if(D)E.setAttribute("aria-setsize",z);if(G!==void 0&&T._lastItem!==G){let g=E.getAttribute("data-id"),C=String(G.id),a;try{a=Y(G,O,v2)}catch(d){if(B.emitter)B.emitter.emit("error",{error:d instanceof Error?d:Error(String(d)),context:`template:render:${O}`});continue}if(typeof a==="string")E.innerHTML=a;else E.textContent="",E.appendChild(a);if(x2(E),E.setAttribute("data-id",C),T._lastItem=G,g!==C){let d=g!==null&&g.startsWith(f2),o=C.startsWith(f2);if(d!==o)E.classList.toggle(B.placeholderClass,o);if(d&&!o)E.classList.add(B.replacedClass),setTimeout(()=>{E.classList.remove(B.replacedClass)},300)}}if(A){if(T._lastSelected!==v2.selected){if(E.classList.toggle(B.selectedClass,v2.selected),v2.selected)E.setAttribute("aria-selected","true");else E.removeAttribute("aria-selected");T._lastSelected=v2.selected}if(T._lastFocused!==v2.focused)E.classList.toggle(B.focusedClass,v2.focused),T._lastFocused=v2.focused}let R=P+B.startPadding;if(T._lastOffset!==R)E.style.transform=B.translateProp+R+"px)",T._lastOffset=R;let w=W-B.gap;if(T._lastSize!==w)E.style[B.sizeProp]=w+"px",T._lastSize=w}}if(y!==null)q.appendChild(y);if(c>0&&k1(M,c)){let H=M[0],O=M[c-1];for(let[P,W]of Z)if(P<H||P>O)W.remove(),$.release(W),Z.delete(P)}else for(let[H,O]of Z)if(!y1(M,c,H))O.remove(),$.release(O),Z.delete(H);if(B.interactive)j.prevAriaTotal=j.totalItems;r0(X.commit,j)}function U0(j,$,q,Y,J,Z,B,X,L,A,U,c){if(b1(j,$,q,A,L.startPadding))z1(j,Y,J,Z,B,X,L,A,U,c)}var N0=()=>{let j={},$=(Z,B)=>{if(!j[Z])j[Z]=new Set;return j[Z].add(B),()=>q(Z,B)},q=(Z,B)=>{j[Z]?.delete(B)};return{on:$,off:q,emit:(Z,B)=>{j[Z]?.forEach((X)=>{try{X(B)}catch(L){console.error(`[vlist] Error in event handler for "${String(Z)}":`,L)}})},clear:(Z)=>{if(Z)delete j[Z];else for(let B in j)delete j[B]}}};var i0=2,n0=(j=0)=>({velocity:0,sampleCount:0}),t0=(j,$)=>{let q=performance.now(),Y=j._lt??q,J=j._lp??$,Z=q-Y;if(j._lp=$,j._lt=q,Z===0)return j.sampleCount=Math.min(j.sampleCount+1,5),j;if(Z>100)return j.velocity=0,j.sampleCount=1,j;return j.velocity=Math.abs($-J)/Z,j.sampleCount=Math.min(j.sampleCount+1,5),j};function P1(j){let{item:$}=j;if($.height!==void 0&&typeof $.height==="number"){if(!Number.isFinite($.height)||$.height<=0)throw Error(`vlist: item.height must be a positive number, got ${$.height}`)}if($.width!==void 0&&typeof $.width==="number"){if(!Number.isFinite($.width)||$.width<=0)throw Error(`vlist: item.width must be a positive number, got ${$.width}`)}if($.estimatedHeight!==void 0){if(!Number.isFinite($.estimatedHeight)||$.estimatedHeight<=0)throw Error(`vlist: item.estimatedHeight must be a positive number, got ${$.estimatedHeight}`)}if($.estimatedWidth!==void 0){if(!Number.isFinite($.estimatedWidth)||$.estimatedWidth<=0)throw Error(`vlist: item.estimatedWidth must be a positive number, got ${$.estimatedWidth}`)}if($.gap!==void 0){if(typeof $.gap!=="number"||!Number.isFinite($.gap)||$.gap<0)throw Error(`vlist: item.gap must be a non-negative number, got ${$.gap}`)}if(j.overscan!==void 0){if(typeof j.overscan!=="number"||!Number.isFinite(j.overscan)||j.overscan<0)throw Error(`vlist: overscan must be a non-negative number, got ${j.overscan}`)}}function w1(j,$){let q=j==="horizontal"?"x":"y";if($.some((J)=>J.name==="grid"))return{primary:q,cross:q==="x"?"y":"x"};return{primary:q}}function v1(j,$){let q=w1(j.orientation,$),Y=q.primary==="x",J=h0(j.padding);return{axis:q,hasCrossAxis:q.cross!==void 0,overscan:j.overscan??a2,reverse:j.reverse??!1,classPrefix:j.classPrefix??z0,mainAxisPadding:S0(J,Y),crossAxisPadding:p0(J,Y),startPadding:Y?J.left:J.top,endPadding:Y?J.right:J.bottom,crossPadStart:Y?J.top:J.left,crossPadEnd:Y?J.bottom:J.right,striped:j.item.striped||!1,gap:j.item.gap??0}}function C1(j,$){if($)return j.item.width??j.item.estimatedWidth??100;return j.item.height??j.item.estimatedHeight??40}function f1(j){let $=[...j];return $.sort((q,Y)=>(q.priority??50)-(Y.priority??50)),$}function I1(j){let $=new Set;for(let q of j){if($.has(q.name))throw Error(`[vlist] Duplicate plugin: ${q.name}`);$.add(q.name)}for(let q of j)if(q.conflicts){for(let Y of q.conflicts)if($.has(Y))throw Error(`[vlist] Plugin "${q.name}" conflicts with "${Y}"`)}}function e0(j,$=[]){P1(j);let q=v1(j,$),Y=q.axis.primary==="x",J=C1(j,Y),Z=q.gap,B=Z>0?typeof J==="function"?(K2)=>J(K2)+Z:J+Z:J,X=typeof J==="number"?J:20,L=j.items?.length??0,A=q.striped?`${q.classPrefix}-item--odd`:"",U=N0(),c=o0(q.classPrefix,Y,q.startPadding,q.crossPadStart,q.crossPadEnd,A,Z,U),M=$.length>0?f1($):$;if($.length>0)I1(M);let z=x0(j.container),D=m0(z,q.classPrefix,Y,j.ariaLabel);if(j.scroll?.scrollbar==="none")D.viewport.classList.add(`${q.classPrefix}-viewport--no-scrollbar`);if(j.scroll?.gutter==="stable")D.viewport.classList.add(`${q.classPrefix}-viewport--gutter-stable`);let H=e2(B,L);if(Z>0){let K2=H.getTotalSize;H.getTotalSize=()=>{let r=K2();return r>0?r-Z:0}}let O=g0(q.classPrefix),P=Math.ceil(4096/X)+q.overscan*2+8,W=u0(P);W.totalItems=L;let G=j.items??[],E=()=>G,T=new Map,R=n0(),w={velocity:0,reliable:!1},g={range:{start:0,end:-1}},C={scrollPosition:0,direction:"down"},a={scrollPosition:0},d=-1,o=-1,i=-1,k=null,S=c0(M),u=new Map,K=[],V=[],N=[],v=null,s=null,l=null,I=null,Q=null,_=null,h=null,x=null,f=null,F=null,b=!1,m=!1,e=null,n=0,Q2=0,Z2=null,G2=null,M2=null,N2=null,J2=null;if(W.containerSize=Y?D.viewport.clientWidth:D.viewport.clientHeight,W.crossSize=Y?D.viewport.clientHeight:D.viewport.clientWidth,$.length>0){let K2={dom:D,sizeCache:H,pool:O,config:q,emitter:U,template:j.item.template,registerMethod(r,p){u.set(r,p)},getMethod(r){return u.get(r)},registerClickHandler(r){K.push(r)},registerKeydownHandler(r){V.push(r)},registerDestroyHandler(r){N.push(r)},enableListboxRole(){let r=D.content.getAttribute("role");if(!r||r==="list")D.content.setAttribute("role","listbox"),D.content.setAttribute("tabindex","0");c.itemRole="option",c.interactive=!0},setSizeConfig(r){let p=e2(r,W.totalItems);Object.assign(H,p)},setScrollFns(r,p){s=r,l=p},setVirtualTotalFn(r){v=r},getItems:E,getItem(r){return _?_(r):G[r]},getState(){return W},rebuildSizeCache(){H.rebuild(W.totalItems)},updateContentSize(r){W.totalSize=r,D.content.style[Y?"width":"height"]=r+q.mainAxisPadding+"px"},setRenderFn(r,p){I=r,Q=p},renderIfNeeded(){L2()},forceRender(){F2()},setGetItemFn(r){_=r},setItemStateFn(r){h=r},getItemStateFn(){return h},get rawSizeSpec(){return J},scrollTo(r){if(l)l(r);else if(Y)D.viewport.scrollLeft=r;else D.viewport.scrollTop=r},smoothScrollTo(r,p,j2,q2){if(M2)M2(r,p,l??void 0,j2,q2);else K2.scrollTo(typeof r==="function"?r():r)},disableDefaultScroll(){b=!0},disableDefaultResize(){m=!0},setScrollTarget(r){e=r},setScrollToPosFn(r){N2=r},setScrollToIndexFn(r){J2=r},onScrollFrame:X2,onScrollIdle:b2,removeItemById(r){if(x)return x(r);let p=G.findIndex((j2)=>j2.id===r);if(p===-1)return-1;return G.splice(p,1),W.totalItems=G.length,H.rebuild(W.totalItems),A2(),p},insertItemAt(r,p){if(f){f(r,p);return}G.splice(p,0,r),W.totalItems=G.length,H.rebuild(W.totalItems),A2()},setRemoveItemFn(r){x=r},setInsertItemFn(r){f=r},setUpdateItemFn(r){F=r},getRenderedElement(r){let p=u.get("_getRenderedElement");if(p)return p(r);return T.get(r)??null},setNavConfig(r){if(r.ud!==void 0)n=r.ud;if(r.lr!==void 0)Q2=r.lr;if(r.scrollIndex)Z2=r.scrollIndex;if(r.navigate)G2=r.navigate},getNavConfig:(()=>{let r={ud:0,lr:0,scrollIndex:null,navigate:null};return()=>{return r.ud=n,r.lr=Q2,r.scrollIndex=Z2,r.navigate=G2,r}})()};for(let r of M)if(r.setup)try{r.setup(K2)}catch(p){U.emit("error",{error:p instanceof Error?p:Error(String(p)),context:`plugin:setup:${r.name}`})}}let t=q.classPrefix+"--scrolling",$2=!1,B2=j.scroll?.idleTimeout??l2;function U2(){if(C.scrollPosition=W.scrollPosition,Y)C.direction=W.scrollDirection>0?"right":"left";else C.direction=W.scrollDirection>0?"down":"up";if(U.emit("scroll",C),t0(R,W.scrollPosition),w.velocity=R.velocity,w.reliable=R.sampleCount>=i0,U.emit("velocity:change",w),W.startIndex!==d||W.prevRangeEnd!==o)d=W.startIndex,o=W.prevRangeEnd,g.range.start=W.startIndex,g.range.end=W.prevRangeEnd,U.emit("range:change",g)}let Y2=!1;function A2(){if(I)return;let K2=H.getTotalSize();if(D.content.style[Y?"width":"height"]=K2+q.mainAxisPadding+"px",!Y2&&K2>S2)Y2=!0,U.emit("error",{error:Error(`Content size (${K2}px) exceeds browser limit (${S2}px). Use the scale() plugin for large datasets.`),context:"content:size:overflow"})}function L2(){if(I)I();else U0(W,H,q.overscan,O,D.content,j.item.template,E,T,c,S,_,h)}function X2(){if(!$2)$2=!0,D.root.classList.add(t);if(L2(),B0(S.afterScroll,W.scrollPosition,W.scrollDirection),W.scrollPosition!==i)i=W.scrollPosition,U2()}function b2(){if($2)$2=!1,D.root.classList.remove(t);W.scrollDirection=0,s0(S.idle),w.velocity=0,w.reliable=!1,U.emit("velocity:change",w),a.scrollPosition=W.scrollPosition,U.emit("scroll:idle",a)}function F2(){if(W.renderPending=!0,Q)Q();else U0(W,H,q.overscan,O,D.content,j.item.template,E,T,c,S,_,h);if(B0(S.afterScroll,W.scrollPosition,W.scrollDirection),W.scrollPosition!==i){if(i=W.scrollPosition,U2(),k!==null)clearTimeout(k);k=setTimeout(b2,B2)}}let y2=d0({state:W,viewport:D.viewport,isX:Y,wheelEnabled:b?!1:j.scroll?.wheel!==!1,idleTimeout:j.scroll?.idleTimeout??l2,...e?{scrollTarget:e}:{},onFrame:X2,onIdle:b2});M2=y2.smoothScrollTo;function D2(K2){let p=K2.target.closest("[data-index]");if(!p)return null;let j2=parseInt(p.getAttribute("data-index"),10);if(Number.isNaN(j2))return null;let q2=G[j2];if(q2===void 0)return null;return{item:q2,index:j2}}function k2(K2){for(let p=0;p<K.length;p++)K[p](K2);let r=D2(K2);if(r)U.emit("item:click",{item:r.item,index:r.index,event:K2})}function H2(K2){let r=D2(K2);if(r)U.emit("item:dblclick",{item:r.item,index:r.index,event:K2})}function P2(K2){let r=D2(K2);if(r)U.emit("item:contextmenu",{item:r.item,index:r.index,event:K2})}function W2(K2){for(let r=0;r<V.length;r++)V[r](K2)}if(D.content.addEventListener("click",k2),D.content.addEventListener("dblclick",H2),D.content.addEventListener("contextmenu",P2),V.length>0)D.content.addEventListener("keydown",W2);let O2=null;if(!m)setTimeout(()=>{if(W.destroyed)return;O2=new ResizeObserver((r)=>{for(let p of r){let{width:j2,height:q2}=p.contentRect,V2=Y?j2:q2,_2=Y?q2:j2;if(Math.abs(V2-W.containerSize)<1&&Math.abs(_2-W.crossSize)<1)continue;W.containerSize=V2,W.crossSize=_2,W.resizeCapacity(V2,X,q.overscan),F2(),a0(S.resize,j2,q2),U.emit("resize",{width:j2,height:q2})}}),O2.observe(D.viewport)},0);W.resizeCapacity(W.containerSize,X,q.overscan),A2(),W.initialized=!0;let R2=null;if(j.defer)R2=requestAnimationFrame(()=>{if(R2=null,!W.destroyed)L2()});else L2();if(!b)y2.attach();let z2={get element(){return D.root},get items(){return G},get total(){return v?v():G.length},setItems(K2){G=[...K2],W.totalItems=G.length,H.rebuild(W.totalItems),A2(),F2()},appendItems(K2){G.push(...K2),W.totalItems=G.length,H.rebuild(W.totalItems),A2(),F2()},prependItems(K2){G.unshift(...K2),W.totalItems=G.length,H.rebuild(W.totalItems),A2(),F2()},updateItem(K2,r){if(F){if(!F(K2,r))return}else{let p=G.findIndex((j2)=>j2.id===K2);if(p===-1)return;G[p]={...G[p],...r}}F2()},insertItem(K2,r){if(f)f(K2,r??W.totalItems);else{if(r===void 0)G.push(K2);else G.splice(r,0,K2);W.totalItems=G.length,H.rebuild(W.totalItems),A2()}F2()},removeItem(K2){if(x){if(x(K2)<0)return}else{let r=G.findIndex((p)=>p.id===K2);if(r===-1)return;G.splice(r,1),W.totalItems=G.length,H.rebuild(W.totalItems),A2()}F2()},removeItems(K2){if(x){let q2=0;for(let V2 of K2)if(x(V2)>=0)q2++;if(q2>0)F2();return q2}let r=new Set(K2),p=G.length;G=G.filter((q2)=>!r.has(q2.id));let j2=p-G.length;if(j2>0)W.totalItems=G.length,H.rebuild(W.totalItems),A2(),W.renderPending=!0,L2();return j2},getItemAt(K2){return G[K2]},getIndexById(K2){return G.findIndex((r)=>r.id===K2)},scrollToIndex(K2,r="start"){let p=v?v():G.length;if(p===0)return;let j2=Math.max(0,Math.min(K2,p-1)),q2=typeof r==="string"?r:r.align??"start",V2=typeof r==="object"?r.behavior:void 0,_2=typeof r==="object"?r.duration:void 0,T2=typeof r==="object"?r.easing:void 0;if(J2&&J2(j2,q2,V2,_2,T2)!==!1)return;let w2=H.getOffset(j2),E2=H.getSize(j2),C2=W.containerSize,h2=H.getTotalSize(),k0=q.mainAxisPadding,F1=Math.max(0,h2+k0-C2),I2;if(N2)I2=N2(j2,H,C2,p,q2);else{let O1=q.startPadding;switch(q2){case"center":I2=O1+w2-(C2-E2)/2;break;case"end":I2=w2+E2+k0-C2;break;default:I2=w2}I2=Math.max(0,Math.min(I2,F1))}if(V2==="smooth")y2.smoothScrollTo(I2,_2??n2,l??void 0,T2);else if(l)l(I2);else if(Y)D.viewport.scrollLeft=I2;else D.viewport.scrollTop=I2},getScrollPosition(){return s?s():W.scrollPosition},on:U.on.bind(U),off:U.off.bind(U),destroy(){if(W.destroyed)return;if(W.destroyed=!0,$2)$2=!1,D.root.classList.remove(t);if(R2!==null)cancelAnimationFrame(R2),R2=null;if(k!==null)clearTimeout(k),k=null;y2.detach(),O2?.disconnect(),D.content.removeEventListener("click",k2),D.content.removeEventListener("dblclick",H2),D.content.removeEventListener("contextmenu",P2),D.content.removeEventListener("keydown",W2);let K2=[];for(let r of N)try{r()}catch(p){K2.push(p instanceof Error?p:Error(String(p)))}for(let r of M)if(r.destroy)try{r.destroy()}catch(p){K2.push(p instanceof Error?p:Error(String(p)))}for(let[,r]of T)r.remove();if(T.clear(),O.clear(),D.root.remove(),U.emit("destroy",void 0),U.clear(),K2.length>0)for(let r of K2)console.error("vlist: error during destroy:",r)}};for(let[K2,r]of u)z2[K2]=r;return z2}var $1=(j,$,q)=>{let Y=$.getTotalSize(),J=q===!0||Y>S2,Z=Y>S2?S2:Y,B=Y>0?Z/Y:1;return{isCompressed:J,actualSize:Y,virtualSize:Z,ratio:B}},d2=(j,$,q,Y,J,Z)=>{if(Y===0||$===0)return Z.start=0,Z.end=-1,Z;if(!J.isCompressed||J.ratio===1){let z=q.indexAtOffset(j),D=q.indexAtOffset(j+$);if(D<Y-1)D++;return Z.start=Math.max(0,z),Z.end=Math.min(Y-1,Math.max(0,D)),Z}let{virtualSize:B}=J,X=j/B,L=q.getTotalSize(),A=X*L,U=q.indexAtOffset(A),c=K0(q,Math.max(0,U),$,Y),M=U+c;return Z.start=Math.max(0,U),Z.end=Math.min(Y-1,Math.max(0,M)),Z};var m2=(j,$,q,Y,J,Z,B)=>{if(!Z.isCompressed||Y===0)return q.getOffset(j);if(Z.ratio===1)return q.getOffset(j)-$;let{virtualSize:X}=Z,L=$/X,A=q.getTotalSize(),U=L*A;return q.getOffset(j)-U},$0=(j,$,q,Y,J,Z="start")=>{if(Y===0)return 0;let B;if(J.isCompressed&&J.ratio!==1){B=j/Y*J.virtualSize;let U=$.getSize(j);switch(Z){case"center":B-=(q-U)/2*J.ratio;break;case"end":B-=(q-U)*J.ratio;break}return Math.max(0,B)}B=$.getOffset(j);let X=$.getSize(j);switch(Z){case"center":B-=(q-X)/2;break;case"end":B-=q-X;break}let L=J.virtualSize-q;return Math.max(0,Math.min(B,L))};var h1=(j)=>{if(typeof j!=="object"){let $=j??2;return{top:$,right:$,bottom:$,left:$}}return{top:j.top??2,right:j.right??2,bottom:j.bottom??2,left:j.left??2}},J0=(j,$,q={},Y="vlist",J=!1,Z)=>{let{autoHide:B=!0,autoHideDelay:X=1000,minThumbSize:L=15,showOnHover:A=!0,showOnViewportEnter:U=!0,clickBehavior:c="scroll"}=q,M=c==="page"?"scroll":c,z=Z??j,D=h1(q.padding),y=J?D.left:D.top,H=J?D.right:D.bottom,O=J?D.bottom:D.right,P=q.hoverZoneWidth??O+16,W=0,G=0,E=0,T=0,R=!1,w=!1,g=0,C=0,a=0,d=null,o=!1,i=null,k=0,S=0,u=null,K=null,V=null,N=J?"width":"height",v=J?"translateX":"translateY",s=J?(W2)=>W2.clientX:(W2)=>W2.clientY,l=J?"left":"top",I=document.createElement("div"),Q=document.createElement("div"),_=document.createElement("div"),h=J?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",x=()=>{if(z===j)return;let W2=j.offsetTop;I.style[J?"left":"top"]=W2?`calc(var(${h}) + ${W2}px)`:`var(${h})`,_.style[J?"left":"top"]=`${W2}px`},f=()=>{if(I.className=`${Y}-scrollbar`,Q.className=`${Y}-scrollbar__thumb`,J)I.classList.add(`${Y}-scrollbar--horizontal`);if(q.padding!==void 0)z.style.setProperty("--vlist-custom-scrollbar-padding-top",`${D.top}px`),z.style.setProperty("--vlist-custom-scrollbar-padding-right",`${D.right}px`),z.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${D.bottom}px`),z.style.setProperty("--vlist-custom-scrollbar-padding-left",`${D.left}px`);if(q.minThumbSize!==void 0)I.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${L}px`);if(I.appendChild(Q),z.appendChild(I),_.className=`${Y}-scrollbar__hover`,J)_.classList.add(`${Y}-scrollbar__hover--horizontal`),_.style.height=`${P}px`;else _.style.width=`${P}px`;if(z.appendChild(_),z!==j)x()},F=()=>{if(d)clearTimeout(d),d=null},b=()=>{if(!B)return;F(),d=setTimeout(e,X)},m=()=>{if(W<=G)return;if(F(),!o)I.classList.add(`${Y}-scrollbar--visible`),o=!0;if(B&&!R&&!w)b()},e=()=>{if(R||w)return;I.classList.remove(`${Y}-scrollbar--visible`),o=!1},n=(W2,O2)=>{if(W=W2,G=O2,x(),W<=G){I.style.display="none",e();return}I.style.display="";let R2=Math.max(0,G-y-H),z2=G/W;if(E=Math.max(L,z2*R2),Q.style[N]=`${E}px`,T=R2-E,Q2(a),!B)m()},Q2=(W2)=>{if(a=W2,W<=G||T<=0)return;let O2=W-G,R2=Math.min(1,Math.max(0,W2/O2));Q.style.transform=`${v}(${R2*T}px)`},Z2=(W2)=>{if(W2.target===Q||M!=="jump"||T<=0)return;let O2=W-G,R2=I.getBoundingClientRect(),z2=s(W2)-R2[l],K2=Math.max(0,Math.min(z2-E/2,T));$(K2/T*O2),m()},G2=()=>{if(u!==null)clearTimeout(u),u=null;if(K!==null)cancelAnimationFrame(K),K=null;V=null},M2=(W2)=>{let O2=T>0?S/W2*T:0;if(k<O2)return-1;if(k>=O2+E)return 1;return 0},N2=()=>{let W2=W-G,O2=M2(W2);if(O2===0){G2();return}if(O2===-1){if(S<=0){G2();return}let R2=Math.max(0,S-G);S=R2,$(R2)}else{if(S>=W2){G2();return}let R2=Math.min(W2,S+G);S=R2,$(R2)}m()},J2=(W2)=>{if(V===null){V=W2,K=requestAnimationFrame(J2);return}let O2=W-G,R2=W2-V;V=W2;let z2=M2(O2);if(z2===0){G2();return}let K2=12*G/1000,r=Math.min(K2*R2,G);if(z2===-1){if(S<=0){G2();return}let p=Math.max(0,S-r);S=p,$(p)}else{if(S>=O2){G2();return}let p=Math.min(O2,S+r);S=p,$(p)}F(),K=requestAnimationFrame(J2)},t=()=>{G2(),b(),document.removeEventListener("mouseup",t)},$2=(W2)=>{if(W2.target===Q||M!=="scroll")return;W2.preventDefault();let O2=I.getBoundingClientRect();k=s(W2)-O2[l],S=a,N2(),u=setTimeout(()=>{K=requestAnimationFrame(J2)},350),document.addEventListener("mouseup",t)},B2=(W2)=>{W2.preventDefault(),W2.stopPropagation(),R=!0,g=s(W2),C=a,F(),I.classList.add(`${Y}-scrollbar--dragging`),document.addEventListener("mousemove",U2),document.addEventListener("mouseup",Y2)},U2=(W2)=>{if(!R)return;let O2=s(W2)-g,R2=T>0?O2/T:0,z2=W-G,K2=R2*z2,r=Math.max(0,Math.min(C+K2,z2));Q.style.transform=`${v}(${r/z2*T}px)`,$(r)},Y2=()=>{if(R=!1,I.classList.remove(`${Y}-scrollbar--dragging`),B&&!w)b();document.removeEventListener("mousemove",U2),document.removeEventListener("mouseup",Y2)},A2=J?(W2)=>W2.touches[0].clientX:(W2)=>W2.touches[0].clientY,L2=(W2)=>{W2.stopPropagation(),R=!0,g=A2(W2),C=a,F(),I.classList.add(`${Y}-scrollbar--dragging`)},X2=(W2)=>{if(!R)return;W2.preventDefault();let O2=A2(W2)-g,R2=T>0?O2/T:0,z2=W-G,K2=R2*z2,r=Math.max(0,Math.min(C+K2,z2));Q.style.transform=`${v}(${r/z2*T}px)`,$(r)},b2=()=>{if(R=!1,I.classList.remove(`${Y}-scrollbar--dragging`),B)b()},F2=(W2)=>{if(W2.target===Q)return;if(T<=0)return;let O2=W2.touches[0],R2=I.getBoundingClientRect(),z2=(J?O2.clientX:O2.clientY)-R2[l];if(M==="jump"){let K2=W-G,r=Math.max(0,Math.min(z2-E/2,T));$(r/T*K2)}else k=z2,S=a,N2();m()},y2=()=>{if(U)m()},D2=()=>{if(!R){if(w=!1,B)b()}},k2=()=>{w=!0,F(),m()},H2=()=>{if(w=!1,!R&&B)b()},P2=()=>{if(F(),G2(),i!==null)cancelAnimationFrame(i),i=null;I.removeEventListener("click",Z2),I.removeEventListener("mousedown",$2),I.removeEventListener("mouseenter",k2),document.removeEventListener("mouseup",t),I.removeEventListener("mouseleave",H2),I.removeEventListener("touchstart",F2),Q.removeEventListener("mousedown",B2),Q.removeEventListener("touchstart",L2),Q.removeEventListener("touchmove",X2),Q.removeEventListener("touchend",b2),j.removeEventListener("mouseenter",y2),j.removeEventListener("mouseleave",D2),document.removeEventListener("mousemove",U2),document.removeEventListener("mouseup",Y2),_.removeEventListener("click",Z2),_.removeEventListener("mousedown",$2),_.removeEventListener("mouseenter",k2),_.removeEventListener("mouseleave",H2),_.remove(),z.style.removeProperty("--vlist-custom-scrollbar-padding-top"),z.style.removeProperty("--vlist-custom-scrollbar-padding-right"),z.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),z.style.removeProperty("--vlist-custom-scrollbar-padding-left"),I.remove()};if(f(),I.addEventListener("click",Z2),I.addEventListener("mousedown",$2),I.addEventListener("mouseenter",k2),I.addEventListener("mouseleave",H2),I.addEventListener("touchstart",F2,{passive:!0}),Q.addEventListener("mousedown",B2),Q.addEventListener("touchstart",L2,{passive:!0}),Q.addEventListener("touchmove",X2,{passive:!1}),Q.addEventListener("touchend",b2,{passive:!0}),j.addEventListener("mouseenter",y2),j.addEventListener("mouseleave",D2),_.addEventListener("click",Z2),_.addEventListener("mousedown",$2),A)_.addEventListener("mouseenter",k2),_.addEventListener("mouseleave",H2);return{show:m,hide:e,updateBounds:n,updatePosition:Q2,isVisible:()=>o,destroy:P2}};var S1=0.65,J1=0.5,Q1=1.7,p1=0.95,u1=0.1,c2=5,g1=100;function W0(j){let $=j?.force??!1,q,Y,J,Z,B,X={isCompressed:!1,actualSize:0,virtualSize:0,ratio:1},L=!1,A=0,U=null,c=!1,M=0,z=0,D=null,y=null,H=0,O=0,P=null,W=new Float64Array(c2),G=new Float64Array(c2),E=0,T=0,R={start:0,end:-1},w=-1,g=null;function C(){return Math.max(0,X.virtualSize+A-q.containerSize)}function a(){if(X.virtualSize<=0)return 0;return Math.max(0,q.containerSize*(1-X.ratio))}function d(Q){let _=q.totalItems;if(X=$1(_,Y,$),X.isCompressed&&!L)s(Q);else if(!X.isCompressed&&L)l(Q);if(X.isCompressed){if(A=a(),q.isCompressed=!0,q.compressionRatio=X.ratio,Q.updateContentSize(X.virtualSize+A),U)U.updateBounds(X.virtualSize+A,q.containerSize)}}let o=null,i=null,k=null,S=null,u=null;function K(Q){M=Q,z=Q,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=Q,q.scrollDirection=Q>q.prevScrollPosition?1:-1,g.forceRender()}function V(){if(D!==null)cancelAnimationFrame(D),D=null;if(y!==null)cancelAnimationFrame(y),y=null}function N(Q){V(),K(Math.max(0,Math.min(Q,C())))}function v(Q,_,h=i2){V();let x=Math.max(0,Math.min(Q,C())),f=M;if(Math.abs(x-f)<J1){K(x);return}let F=performance.now(),b=(m)=>{let e=Math.min((m-F)/_,1);if(K(f+(x-f)*h(e)),e<1)y=requestAnimationFrame(b);else y=null};y=requestAnimationFrame(b)}function s(Q){L=!0,q.isCompressed=!0;let _=Z?"scrollLeft":"scrollTop",h=Z?"overflowX":"overflow",x=J[_];if(J.style[h]="hidden",J[_]=0,x>0)M=x,z=x,q.scrollPosition=x;A=a();let f=()=>{let n=z-M,Q2=C();if(Math.abs(n)<J1)M=Math.max(0,Math.min(z,Q2)),z=M,D=null;else M+=n*S1,M=Math.max(0,Math.min(M,Q2)),D=requestAnimationFrame(f);q.prevScrollPosition=q.scrollPosition,q.scrollPosition=M,q.scrollDirection=M>q.prevScrollPosition?1:-1,Q.forceRender()};o=(n)=>{n.preventDefault();let Q2=C();if(z=Math.max(0,Math.min(z+n.deltaY*X.ratio*Q1,Q2)),D===null)D=requestAnimationFrame(f)},J.addEventListener("wheel",o,{passive:!1});let F=()=>{if(P!==null)cancelAnimationFrame(P),P=null};i=(n)=>{if(F(),D!==null)cancelAnimationFrame(D),D=null;let Q2=n.touches[0];if(!Q2)return;let Z2=Z?Q2.clientX:Q2.clientY;H=Z2,O=M,E=1,T=0,W[0]=performance.now(),G[0]=Z2},k=(n)=>{n.preventDefault();let Q2=n.touches[0];if(!Q2)return;let Z2=Z?Q2.clientX:Q2.clientY,G2=performance.now(),M2=E<c2?E:T;if(W[M2]=G2,G[M2]=Z2,E<c2)E++;else T=(T+1)%c2;let N2=H-Z2,J2=C(),t=Math.max(0,Math.min(O+N2*X.ratio*Q1,J2));M=t,z=t,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=t,q.scrollDirection=t>q.prevScrollPosition?1:-1,Q.forceRender()},S=()=>{let n=performance.now(),Q2=1/0,Z2=0,G2=-1,M2=0,N2=0;for(let B2=0;B2<E;B2++){let U2=(T+B2)%c2,Y2=W[U2];if(n-Y2>=g1)continue;N2++;let A2=G[U2];if(Y2<Q2)Q2=Y2,Z2=A2;if(Y2>G2)G2=Y2,M2=A2}let J2=0;if(N2>=2){let B2=G2-Q2;if(B2>0)J2=(Z2-M2)/B2}if(E=0,T=0,Math.abs(J2)<u1)return;let t=J2*16,$2=()=>{if(t*=p1,Math.abs(t)<0.5){P=null;return}let B2=C(),U2=M+t;if(U2=Math.max(0,Math.min(U2,B2)),U2<=0&&t<0||U2>=B2&&t>0){M=U2,z=U2,q.scrollPosition=U2,Q.forceRender(),P=null;return}M=U2,z=U2,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=U2,q.scrollDirection=U2>q.prevScrollPosition?1:-1,Q.forceRender(),P=requestAnimationFrame($2)};P=requestAnimationFrame($2)},J.addEventListener("touchstart",i,{passive:!0}),J.addEventListener("touchmove",k,{passive:!1}),J.addEventListener("touchend",S,{passive:!0}),J.addEventListener("touchcancel",S,{passive:!0}),u=()=>{if(J[_]!==0)J[_]=0},J.addEventListener("scroll",u,{passive:!0});let b=(n)=>{if(M=n,z=n,D!==null)cancelAnimationFrame(D),D=null;q.prevScrollPosition=q.scrollPosition,q.scrollPosition=n,q.scrollDirection=n>q.prevScrollPosition?1:-1,Q.forceRender()},m=Q.getMethod("_scrollbar:setCallback"),e=Q.getMethod("_scrollbar:getInstance");if(m&&e){m(b);let n=e();if(n)U=n,c=!1,U.updateBounds(X.virtualSize+A,q.containerSize)}else if(!U){let n=Q.config.classPrefix;if(U=J0(J,b,{},n,Z,Q.dom.root),c=!0,!J.classList.contains(`${n}-viewport--custom-scrollbar`))J.classList.add(`${n}-viewport--custom-scrollbar`);U.updateBounds(X.virtualSize+A,q.containerSize)}}function l(Q){L=!1,q.isCompressed=!1,q.compressionRatio=1,M=0,z=0,E=0,T=0,I();let _=Z?"overflowX":"overflow";J.style[_]="auto",A=0,Q.updateContentSize(Y.getTotalSize())}function I(){if(D!==null)cancelAnimationFrame(D),D=null;if(y!==null)cancelAnimationFrame(y),y=null;if(P!==null)cancelAnimationFrame(P),P=null;if(o)J.removeEventListener("wheel",o),o=null;if(i)J.removeEventListener("touchstart",i),i=null;if(k)J.removeEventListener("touchmove",k),k=null;if(S)J.removeEventListener("touchend",S),J.removeEventListener("touchcancel",S),S=null;if(u)J.removeEventListener("scroll",u),u=null;if(U&&c)U.destroy();U=null,c=!1;let Q=Z?"scrollLeft":"scrollTop";if(J&&J[Q]!==0)J[Q]=0}return{name:"scale",priority:20,setup(Q){q=Q.getState(),Y=Q.sizeCache,J=Q.dom.viewport,Z=Q.config.axis.primary==="x",B=Q.config.overscan,g=Q,Q.registerMethod("_updateCompressionMode",()=>d(Q)),Q.registerMethod("_scale:getCompression",()=>X),Q.registerMethod("_scale:easedScrollTo",(_,h)=>v(_,h)),Q.setScrollFns(()=>M,(_)=>{if(!X.isCompressed||!L){let x=Z?"scrollLeft":"scrollTop";J[x]=_;return}if(V(),P!==null)cancelAnimationFrame(P),P=null;let h=_*X.ratio;K(Math.max(0,Math.min(h,C())))}),Q.setScrollToIndexFn((_,h,x,f,F)=>{if(!X.isCompressed||!L)return!1;let b=$0(_,Y,q.containerSize,q.totalItems,X,h);if(x==="smooth")v(b,f??n2,F);else N(b)}),d(Q),w=q.totalItems,Q.registerDestroyHandler(I)},hooks:{onCalculate(Q){if(Q.totalItems!==w&&g)w=Q.totalItems,d(g);if(!X.isCompressed||!L)return;let _=Q.totalItems;if(_===0||Q.containerSize<=0){Q.visibleCount=0;return}d2(Q.scrollPosition,Q.containerSize,Y,_,X,R);let h=Math.max(0,R.start-B),x=Math.min(_-1,R.end+B),f=Math.min(x-h+1,Q.capacity);Q.visibleCount=f,Q.startIndex=h;for(let F=0;F<f;F++){let b=h+F;Q.visibleIndices[F]=b,Q.visibleOffsets[F]=m2(b,Q.scrollPosition,Y,_,Q.containerSize,X),Q.visibleSizes[F]=Y.getSize(b)}Q.prevRangeStart=h,Q.prevRangeEnd=x},onAfterScroll(Q){if(U&&L)U.updatePosition(Q),U.show()},onResize(){if(L){if(A=a(),U)U.updateBounds(X.virtualSize+A,q.containerSize);let Q=C();if(M>Q)M=Q,z=Q,q.scrollPosition=Q}}},destroy(){I()}}}function V0(j){let $=null,q,Y=0,J=0;return{name:"scrollbar",priority:15,setup(Z){let{dom:B,config:X}=Z,{classPrefix:L}=X,A=X.axis.primary==="x";q=Z.getState();let U=(c)=>{if(A)B.viewport.scrollLeft=c;else B.viewport.scrollTop=c};if(Z.registerMethod("_scrollbar:setCallback",(c)=>{U=c}),$=J0(B.viewport,(c)=>{U(c)},j,L,A,B.root),B.viewport.classList.add(`${L}-viewport--custom-scrollbar`),j?.gutter)B.viewport.classList.add(`${L}-viewport--gutter`);queueMicrotask(()=>{if(!q.isCompressed)$?.updateBounds(q.totalSize,q.containerSize)}),Z.registerMethod("_scrollbar:getInstance",()=>$),Z.registerDestroyHandler(()=>{if($?.destroy(),$=null,B.viewport.classList.remove(`${L}-viewport--custom-scrollbar`),j?.gutter)B.viewport.classList.remove(`${L}-viewport--gutter`)})},hooks:{onAfterScroll(Z){if(!q.isCompressed){let{totalSize:B,containerSize:X}=q;if(B!==Y||X!==J)Y=B,J=X,$?.updateBounds(B,X)}$?.updatePosition(Z),$?.show()},onResize(){if(!q.isCompressed){let{totalSize:Z,containerSize:B}=q;Y=Z,J=B,$?.updateBounds(Z,B)}}},destroy(){$?.destroy(),$=null}}}var j1=(j)=>{let $=Math.max(1,Math.floor(j.columns)),q=j.gap??0,Y=j.isHeaderFn,J={row:0,col:0},Z=(D)=>{if(D<=0)return 0;if(!Y)return Math.ceil(D/$);let y=0,H=0,O=0;for(let P=0;P<D;P++)if(Y(P)){if(O++,H)y++,H=0;y++,H=0}else if(H++,H>=$)y++,H=0;if(H)y++;return y},B=(D)=>{return J.row=X(D),J.col=L(D),J},X=(D)=>{if(!Y)return Math.floor(D/$);let y=0,H=0;for(let O=0;O<=D;O++)if(Y(O)){if(H)y++,H=0;if(O===D)return y;y++,H=0}else{if(O===D)return y;if(H++,H>=$)y++,H=0}return console.warn(`⚠️ getRow(${D}) fell through - returning ${y}`),y},L=(D)=>{if(!Y)return D%$;if(Y(D))return 0;let y=0;for(let H=0;H<=D;H++)if(Y(H))y=0;else{if(H===D)return y;if(y++,y>=$)y=0}return y},A=(D,y,H)=>{if(H<=0)return{start:0,end:-1};if(!Y){let E=Math.max(0,D*$),T=Math.min(H-1,(y+1)*$-1);return{start:E,end:T}}let O=-1,P=-1,W=0,G=0;for(let E=0;E<H;E++){if(Y(E)){if(G)W++,G=0;if(W>=D&&W<=y){if(O<0)O=E;P=E}W++,G=0}else{if(W>=D&&W<=y){if(O<0)O=E;P=E}if(G++,G>=$)W++,G=0}if(W>y&&!G)break}if(O<0)return{start:0,end:-1};return{start:O,end:P}},U=(D,y,H)=>{if(y<0||y>=$)return-1;let O=D*$+y;if(O<0||O>=H)return-1;return O},c=(D)=>{let y=($-1)*q;return Math.max(0,(D-y)/$)};return{get columns(){return $},get gap(){return q},update:(D)=>{if(D.columns!==void 0)$=Math.max(1,Math.floor(D.columns));if(D.gap!==void 0)q=D.gap;if(D.isHeaderFn!==void 0)Y=D.isHeaderFn},getTotalRows:Z,getPosition:B,getRow:X,getCol:L,getItemRange:A,getItemIndex:U,getColumnWidth:c,getColumnOffset:(D,y)=>{let H=c(y);return D*(H+q)}}};var p2={selected:!1,focused:!1};function _0(j){if(!j.columns||j.columns<1)throw Error("[vlist] grid: columns must be >= 1");let $,q,Y,J,Z,B,X,L,A,U,c=null,M=null,z=!1,D=null,y=0,H=0,O=0,P=0,W=new Map,G=0,E={start:0,end:-1},T=-1,R=-1,w=!0;function g(){if(z||!D)return;z=!0,M=D("_scale:getCompression")??null}function C(){return $.getTotalRows(Y.totalItems)}function a(S){let u=$.getRow(S),K=$.getCol(S),V=$.getColumnOffset(K,G)+y,N=q.getOffset(u)+O;if(L)return`translate(${Math.round(N)}px, ${Math.round(V)}px)`;return`translate(${Math.round(V)}px, ${Math.round(N)}px)`}function d(S,u){let K=$.getRow(u),V=$.getColumnWidth(G),N=q.getSize(K)-$.gap;if(L)S.style.width=`${N}px`,S.style.height=`${V}px`;else S.style.width=`${V}px`,S.style.height=`${N}px`}function o(S,u,K,V){if(V)V(K,p2);else p2.selected=!1,p2.focused=!1;let N=B(u,K,p2);if(typeof N==="string")S.innerHTML=N;else S.innerHTML="",S.appendChild(N)}function i(){if(Y.destroyed)return;let{scrollPosition:S,containerSize:u}=Y;if(!w&&S===T&&u===R)return;T=S,R=u,w=!1;let K=C();if(u<=0||K===0)return;g();let V=M?.()??null,N=V!==null&&V.isCompressed,v,s;if(N)d2(S,u,q,K,V,E),v=Math.max(0,E.start-U),s=Math.min(K-1,E.end+U);else{let f=q.indexAtOffset(S),F=q.indexAtOffset(S+u);if(F<K-1)F++;f=Math.max(0,f),F=Math.min(K-1,Math.max(0,F)),v=Math.max(0,f-U),s=Math.min(K-1,F+U)}if(v===Y.prevRangeStart&&s===Y.prevRangeEnd&&!Y.renderPending)return;let l=$.getItemRange(v,s,Y.totalItems);W.forEach((f,F)=>{if(F<l.start||F>l.end)f.el.remove(),J.release(f.el),W.delete(F)});let I=`${A}-item ${A}-grid-item`,Q=c?.()??null,_=Q?`${A}-item--selected`:"",h=Q?`${A}-item--focused`:"";for(let f=l.start;f<=l.end;f++){let F=X(f);if(!F)continue;let b=W.get(f);if(b===void 0){let m=J.acquire();m.className=I,m.setAttribute("data-index",String(f)),m.setAttribute("data-id",String(F.id)),o(m,F,f,Q),b={el:m,lastItem:F},W.set(f,b),Z.appendChild(m)}else if(b.lastItem!==F)b.el.setAttribute("data-id",String(F.id)),b.lastItem=F,o(b.el,F,f,Q);if(Q)if(Q(f,p2),b.el.classList.toggle(_,p2.selected),b.el.classList.toggle(h,p2.focused),p2.selected)b.el.setAttribute("aria-selected","true");else b.el.removeAttribute("aria-selected");if(d(b.el,f),N){let m=$.getRow(f),e=$.getCol(f),n=$.getColumnOffset(e,G)+y,Q2=m2(m,S,q,K,u,V)+O;b.el.style.transform=L?`translate(${Math.round(Q2)}px, ${Math.round(n)}px)`:`translate(${Math.round(n)}px, ${Math.round(Q2)}px)`}else b.el.style.transform=a(f)}if(!N){let f=q.getTotalSize()+P;Z.style[L?"width":"height"]=f+"px"}Y.totalSize=q.getTotalSize()+P,Y.prevRangeStart=v,Y.prevRangeEnd=s,Y.renderPending=!1;let x=l.end-l.start+1;Y.visibleCount=Math.min(x,Y.capacity),Y.startIndex=l.start;for(let f=0;f<Y.visibleCount;f++){let F=l.start+f,b=$.getRow(F);Y.visibleIndices[f]=F,Y.visibleOffsets[f]=N?m2(b,S,q,K,u,V):q.getOffset(b),Y.visibleSizes[f]=q.getSize(b)}}function k(){if(Y.destroyed)return;q.rebuild(C()),Y.prevRangeStart=-1,Y.prevRangeEnd=-1,Y.renderPending=!0,w=!0,i()}return{name:"grid",priority:10,conflicts:["masonry","table"],setup(S){let u=j.gap??0;$=j1({columns:j.columns,gap:u}),q=S.sizeCache,Y=S.getState(),J=S.pool,Z=S.dom.content,B=S.template,L=S.config.axis.primary==="x",A=S.config.classPrefix,U=S.config.overscan,X=S.getItem.bind(S),c=()=>S.getItemStateFn(),D=S.getMethod.bind(S),y=S.config.crossPadStart,H=S.config.crossAxisPadding,O=S.config.startPadding,P=S.config.mainAxisPadding,G=Y.crossSize-H;let K=S.rawSizeSpec,V;if(typeof K==="function"){let v={columnWidth:$.getColumnWidth(G),columns:j.columns,gap:u};V=K(0,v),S.setSizeConfig((s)=>{v.columnWidth=$.getColumnWidth(G);let l=s*j.columns;return K(l,v)+u})}else if(V=K,u>0)S.setSizeConfig(V+u);if(q.rebuild(C()),u>0){let N=q.getTotalSize;q.getTotalSize=()=>{let v=N();return v>0?v-u:0}}S.setVirtualTotalFn(()=>C()),S.dom.root.classList.add(`${A}--grid`),S.setRenderFn(i,k),S.registerMethod("getGridLayout",()=>$),S.registerMethod("updateGrid",(N)=>{if(N.columns!==void 0){if(!Number.isInteger(N.columns)||N.columns<1)throw Error("[vlist] updateGrid: columns must be >= 1")}if(N.gap!==void 0&&N.gap<0)throw Error("[vlist] updateGrid: gap must be >= 0");if($.update(N),N.gap!==void 0||N.columns!==void 0){let v=$.gap;if(typeof K==="function"){let s={columnWidth:$.getColumnWidth(G),columns:$.columns,gap:v};S.setSizeConfig((l)=>{s.columnWidth=$.getColumnWidth(G);let I=l*$.columns;return K(I,s)+v})}else S.setSizeConfig(V+v);q.rebuild(C())}if(N.columns!==void 0)S.setNavConfig({ud:$.columns});G=Y.crossSize-H,k()}),S.registerMethod("scrollToIndex",(N,v="start")=>{let s=$.getRow(N),l=C();if(l===0)return;let I=Math.max(0,Math.min(s,l-1)),Q=q.getOffset(I)+O,_=q.getSize(I),h=Y.containerSize,x=q.getTotalSize()+P,f=Math.max(0,x-h),F=typeof v==="string"?v:v.align??"start",b=typeof v==="object"?v.behavior:void 0,m=typeof v==="object"?v.duration:void 0,e;switch(F){case"center":e=Q-(h-_)/2;break;case"end":e=Q-h+_;break;default:e=Q}e=Math.max(0,Math.min(e,f)),g();let n=M?.()??null;if(n?.isCompressed&&b==="smooth"&&m&&m>0){let Q2=$0(I,q,h,l,n,F),Z2=D?.("_scale:easedScrollTo");if(Z2)Z2(Q2,m);else S.scrollTo(e)}else if(b==="smooth"&&m&&m>0)S.smoothScrollTo(e,m);else S.scrollTo(e)}),S.setNavConfig({total:()=>Y.totalItems,ud:j.columns,lr:1,scrollIndex:(N)=>$.getRow(N)}),S.registerDestroyHandler(()=>{for(let[,N]of W)N.el.remove();W.clear(),S.dom.root.classList.remove(`${A}--grid`)})},hooks:{onResize(S,u){let K=Y.crossSize-H;if(Math.abs(K-G)<1)return;if(G=K,(M?.()??null)?.isCompressed)k();else W.forEach((N,v)=>{d(N.el,v),N.el.style.transform=a(v)})}},destroy(){W.clear()}}}function M0(){return{name:"a11y",priority:55,setup(j){if(j.getItemStateFn())return;j.enableListboxRole();let{dom:$,config:q,sizeCache:Y}=j,J=j.getState(),Z=j.emitter,B=q.classPrefix,X=$.liveRegion,L=-1,A=!1,U,c=-1,M=(w)=>j.getItem(w),z=()=>J.totalItems,D={id:0,index:0},y={selected:[],items:[]};j.setItemStateFn((w,g)=>{g.selected=c===w,g.focused=A&&L===w});function H(w){X.textContent="",X.textContent=w}let O=(w,g,C)=>{let a=w;while(a>=0&&a<C){let d=M(a);if(!d||!d.__groupHeader)return a;a+=g}a=w-g;while(a>=0&&a<C){let d=M(a);if(!d||!d.__groupHeader)return a;a-=g}return w},P=(w)=>{let g=j.getNavConfig(),C=g.scrollIndex?g.scrollIndex(w):w,a=Y.getOffset(C),d=Y.getSize(C),o=J.scrollPosition,i=J.containerSize,k=q.startPadding,S=q.endPadding,u=a+k,K=u+d,V=o;if(u<o)V=Math.max(0,a);else if(K>o+i)V=K+S-i;if(V!==o)J.scrollPosition=V,j.scrollTo(V)},W=(w,g)=>{if($.content.setAttribute("aria-activedescendant",`${B}-item-${w}`),g)P(w);j.forceRender()},G=(w)=>{L=w,A=!0,W(w,!0);let g=M(w);if(g)D.id=g.id,D.index=w,Z.emit("focus:change",D),H(`Item ${w+1} of ${z()}`)},E=(w,g)=>{if(L=w,g)A=!0;let C=M(w);if(C&&U===C.id)U=void 0,c=-1;else U=C?.id,c=C?w:-1;if(W(w,g),U!==void 0&&C&&U===C.id)y.selected[0]=U,y.selected.length=1,y.items[0]=C,y.items.length=1,H(`Selected, item ${w+1} of ${z()}`);else y.selected.length=0,y.items.length=0,H("Deselected");Z.emit("selection:change",y)},T=()=>{if(J.destroyed)return;if(!$.content.matches(":focus-visible"))return;let w=z();if(w===0)return;let g=L>=0?Math.min(L,w-1):0;g=O(g,1,w),G(g)},R=(w)=>{if(J.destroyed)return;let g=w.relatedTarget;if(g&&$.root.contains(g))return;A=!1,$.content.removeAttribute("aria-activedescendant"),j.forceRender()};$.content.addEventListener("focusin",T),$.content.addEventListener("focusout",R),j.registerKeydownHandler((w)=>{if(J.destroyed)return;let g=z();if(g===0)return;let C=L,a=C;if(w.key===" "||w.key==="Enter"){if(C>=0){let o=M(C);if(o&&!o.__groupHeader)E(C,!0)}w.preventDefault();return}let d=j.getNavConfig();if(d.navigate)switch(w.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":a=d.navigate(C,w.key,g);break;default:return}else{let o=d.ud||1,i=d.lr,k=q.axis.primary==="x";switch(w.key){case"ArrowUp":if(k&&!i)return;a=C-(k?i:o);break;case"ArrowDown":if(k&&!i)return;a=C+(k?i:o);break;case"ArrowLeft":if(!k&&!i)return;a=C-(k?o:i);break;case"ArrowRight":if(!k&&!i)return;a=C+(k?o:i);break;case"PageUp":case"PageDown":{let S=Y.getSize(Math.max(0,d.scrollIndex?d.scrollIndex(C):C)),K=Math.max(1,Math.floor(J.containerSize/S))*o;a=w.key==="PageUp"?C-K:C+K;break}case"Home":a=0;break;case"End":a=g-1;break;default:return}}if(a<0)a=0;else if(a>=g)a=g-1;if(w.preventDefault(),a=O(a,a>=C?1:-1,g),a!==C)G(a)}),j.registerClickHandler((w)=>{if(J.destroyed)return;let g=w.target.closest("[data-index]");if(!g)return;let C=parseInt(g.dataset.index??"-1",10);if(C<0)return;let a=M(C);if(!a||a.__groupHeader)return;A=!1,$.content.focus({preventScroll:!0}),E(C,!1)}),j.registerDestroyHandler(()=>{$.content.removeEventListener("focusin",T),$.content.removeEventListener("focusout",R)})}}}var s2=(j,$,q)=>{if(String(q).startsWith(f2))return!1;let Y=f2+$;if(j.has(Y))return j.delete(Y),j.add(q),!0;return!1},q1=(j)=>({selected:new Set(j??[]),focusedIndex:-1,focusVisible:!1});function u2(j,$,q,Y){if(q===0)return;let J=Y?-$:$,Z=j.focusedIndex+J;if(Z<0)Z=0;if(Z>=q)Z=q-1;j.focusedIndex=Z}function Q0(j){return Array.from(j)}var x1={preventScroll:!0};function G0(j){let $=j?.mode??"single",q=j?.followFocus??!1,Y=j?.focusOnClick??!1,J,Z,B,X,L,A,U,c,M=-1,z=new Map,D=null,y=null,H=null,O=null,P,W=!1;function G(K){if(W)return;W=!0,D=K.getMethod("_layoutToDataIndex")??null,y=K.getMethod("_dataToLayoutIndex")??null,H=K.getMethod("_isGroupHeader")??null,O=K.getMethod("_scrollItemIntoView")??null;let V=K.getMethod("getGroupLayout");if(V){let N=V();P=()=>N.totalEntries}}let E=(K)=>D?D(K):K,T=(K)=>{let V=E(K);return V>=0?Z(V):void 0},R=(K,V,N)=>{if(!H)return K;let v=K;while(v>=0&&v<N){if(!H(v))return v;v+=V}v=K-V;while(v>=0&&v<N){if(!H(v))return v;v-=V}return K};function w(K,V){if($==="single")J.selected.clear(),z.clear();if(J.selected.add(K),V)z.set(K,V)}function g(K,V){if(J.selected.has(K))J.selected.delete(K),z.delete(K);else w(K,V)}function C(){J.selected.clear(),z.clear()}function a(K){J.selected.delete(K),z.delete(K)}function d(K,V){let N=Math.min(K,V),v=Math.max(K,V);for(let s=N;s<=v;s++){let l=Z(s);if(l)J.selected.add(l.id),z.set(l.id,l)}}function o(){let K=U.totalItems;for(let V=0;V<K;V++){let N=Z(V);if(N)J.selected.add(N.id),z.set(N.id,N)}}function i(){if(J.selected.size===0)return[];if(z.size>=J.selected.size){let v=[];for(let s of J.selected){let l=z.get(s);if(l)v.push(l)}if(v.length===J.selected.size)return v}let K=[],V=new Set(J.selected),N=U.totalItems;for(let v=0;v<N&&V.size>0;v++){let s=Z(v);if(s&&V.has(s.id))K.push(s),z.set(s.id,s),V.delete(s.id)}return K}function k(){B(),X.emit("selection:change",{selected:Q0(J.selected),items:i()})}let S=null,u=-1;return{name:"selection",priority:50,setup(K){K.enableListboxRole(),J=q1(j?.initial),Z=K.getItem.bind(K),B=K.forceRender.bind(K),X=K.emitter,L=K.dom;let V=K.config;if(A=K.sizeCache,U=K.getState(),c=K.scrollTo.bind(K),P=()=>U.totalItems,$==="none"){K.registerMethod("select",()=>{}),K.registerMethod("deselect",()=>{}),K.registerMethod("toggleSelect",()=>{}),K.registerMethod("selectAll",()=>{}),K.registerMethod("clearSelection",()=>{}),K.registerMethod("getSelected",()=>[]),K.registerMethod("getSelectedItems",()=>[]),K.registerMethod("selectNext",()=>{}),K.registerMethod("selectPrevious",()=>{}),K.registerMethod("_seedSelection",()=>{}),K.registerMethod("_getFocusedId",()=>{return}),K.registerMethod("_focusById",()=>{});return}let N=V.classPrefix;K.setItemStateFn((Q,_)=>{if(G(K),J.selected.size>0){let h=E(Q),x=h>=0?Z(h):void 0,f=x?.id;if(f!==void 0)if(J.selected.has(f))_.selected=!0;else if(s2(J.selected,h,f))_.selected=!0,z.delete(f2+h),z.set(f,x);else _.selected=!1;else _.selected=!1}else _.selected=!1;_.focused=J.focusVisible&&J.focusedIndex===Q}),K.registerMethod("_getSelectedIds",()=>J.selected),K.registerMethod("_getFocusedIndex",()=>J.focusVisible?J.focusedIndex:-1),L.root.classList.add(`${N}--selectable`);let v=(Q)=>{S=null,u=-1;let _=Q.target.closest("[data-index]");if(!_)return!1;let h=parseInt(_.dataset.index??"-1",10);if(h<0)return!1;let x=E(h);if(x<0)return!1;let f=Z(x);if(!f)return!1;return S=f,u=h,!0},s=(Q)=>{if(Q<0)return;if(O){O(Q);return}let _=K.getNavConfig(),h=_.scrollIndex?_.scrollIndex(Q):Q,x=A.getOffset(h),f=A.getSize(h),F=U.containerSize,b=U.scrollPosition;if(x<b)c(x);else if(x+f>b+F)c(x-F+f)},l=()=>{if(U.destroyed)return;if(G(K),!L.content.matches(":focus-visible")&&!L.root.matches(":focus-visible"))return;let Q=P();if(Q===0)return;let _=J.focusedIndex>=0?Math.min(J.focusedIndex,Q-1):0;_=R(_,1,Q),J.focusedIndex=_,J.focusVisible=!0,L.content.setAttribute("aria-activedescendant",`${N}-item-${_}`),s(_),B()};L.root.addEventListener("focusin",l);let I=(Q)=>{if(U.destroyed)return;let _=Q.relatedTarget;if(_&&L.root.contains(_))return;J.focusVisible=!1,B(),L.content.removeAttribute("aria-activedescendant")};L.root.addEventListener("focusout",I),K.registerDestroyHandler(()=>{L.root.removeEventListener("focusin",l),L.root.removeEventListener("focusout",I)}),K.registerClickHandler((Q)=>{if(G(K),!v(Q))return;if($==="multiple"&&Q.shiftKey&&J.focusedIndex>=0){let _=M>=0?M:J.focusedIndex,h=E(_),x=E(u);if(h>=0&&x>=0)d(h,x);J.focusedIndex=u,J.focusVisible=Y,M=u,k();return}J.focusedIndex=u,J.focusVisible=Y,M=u,L.content.focus(x1),g(S.id,S),k()}),K.registerKeydownHandler((Q)=>{G(K);let _=P();if(_===0)return;let h=K.getNavConfig(),x=J.focusedIndex,f=!1,F=!1;if(h.navigate&&(Q.key==="ArrowUp"||Q.key==="ArrowDown"||Q.key==="ArrowLeft"||Q.key==="ArrowRight"||Q.key==="PageUp"||Q.key==="PageDown"||Q.key==="Home"||Q.key==="End")){let m=h.navigate(J.focusedIndex,Q.key,_);if(m!==J.focusedIndex)J.focusedIndex=Math.max(0,Math.min(m,_-1));J.focusVisible=!0,f=!0}else switch(Q.key){case"ArrowUp":{let m=h.ud||1,e=h.lr,n=V.axis.primary==="x";if(n&&!e)break;u2(J,-(n?e:m),_,V.reverse),J.focusVisible=!0,f=!0;break}case"ArrowDown":{let m=h.ud||1,e=h.lr,n=V.axis.primary==="x";if(n&&!e)break;u2(J,n?e:m,_,V.reverse),J.focusVisible=!0,f=!0;break}case"ArrowLeft":{let m=h.ud||1,e=h.lr,n=V.axis.primary==="x";if(!n&&!e)break;u2(J,-(n?m:e),_,V.reverse),J.focusVisible=!0,f=!0;break}case"ArrowRight":{let m=h.ud||1,e=h.lr,n=V.axis.primary==="x";if(!n&&!e)break;u2(J,n?m:e,_,V.reverse),J.focusVisible=!0,f=!0;break}case"Home":if(_>0)J.focusedIndex=0;J.focusVisible=!0,f=!0;break;case"End":if(_>0)J.focusedIndex=_-1;J.focusVisible=!0,f=!0;break;case"PageUp":case"PageDown":{let m=h.ud||1,e=Math.max(0,J.focusedIndex),n=h.scrollIndex?h.scrollIndex(e):e,Q2=A.getSize(n),Z2=U.containerSize,M2=(Q2>0?Math.max(1,Math.floor(Z2/Q2)):10)*m;if(D&&y){let N2=D(J.focusedIndex),J2=Q.key==="PageUp"?-M2:M2,t=U.totalItems-1;J.focusedIndex=y(Math.max(0,Math.min(t,N2+J2)))}else u2(J,Q.key==="PageUp"?-M2:M2,_);J.focusVisible=!0,f=!0;break}case" ":case"Enter":if(Q.key===" "&&Q.shiftKey&&$==="multiple"&&J.focusedIndex>=0){if(M>=0){let m=E(M),e=E(J.focusedIndex);if(m>=0&&e>=0)d(m,e)}J.focusVisible=!0,F=!0,f=!0;break}if(J.focusedIndex>=0){let m=T(J.focusedIndex);if(m)g(m.id,m),M=J.focusedIndex;J.focusVisible=!0,F=!0,f=!0}break;case"a":if((Q.ctrlKey||Q.metaKey)&&$==="multiple"){if(J.selected.size===U.totalItems)C();else o();J.focusVisible=!0,F=!0,f=!0}break;case"Delete":case"Backspace":if(J.selected.size>0)X.emit("delete",{selected:Q0(J.selected),items:i()}),f=!0;break}if(J.focusedIndex!==x&&H){let m=J.focusedIndex>x?1:-1;J.focusedIndex=R(J.focusedIndex,m,_)}let b=J.focusedIndex!==x;if(Q.shiftKey&&$==="multiple"&&!F&&b){if(Q.key==="ArrowUp"||Q.key==="ArrowDown"||Q.key==="ArrowLeft"||Q.key==="ArrowRight"){let n=T(J.focusedIndex);if(n)g(n.id,n);M=J.focusedIndex,F=!0}if((Q.ctrlKey||Q.metaKey)&&(Q.key==="Home"||Q.key==="End")){let n=E(x>=0?x:J.focusedIndex),Q2=E(J.focusedIndex);if(n>=0&&Q2>=0)d(n,Q2);M=J.focusedIndex,F=!0}}if(q&&$==="single"&&!F&&b&&J.focusedIndex>=0){let m=T(J.focusedIndex);if(m)w(m.id,m);F=!0}if(f){if(Q.preventDefault(),b&&J.focusedIndex>=0)s(J.focusedIndex),L.content.setAttribute("aria-activedescendant",`${N}-item-${J.focusedIndex}`);if(F)k();else if(b){if(B(),J.focusedIndex>=0){let m=T(J.focusedIndex);if(m)X.emit("focus:change",{id:m.id,index:J.focusedIndex})}}}}),K.registerMethod("select",(...Q)=>{for(let _ of Q)w(_);k()}),K.registerMethod("deselect",(...Q)=>{for(let _ of Q)a(_);k()}),K.registerMethod("toggleSelect",(Q)=>{g(Q),k()}),K.registerMethod("selectAll",()=>{if($!=="multiple")return;o(),k()}),K.registerMethod("clearSelection",()=>{C(),k()}),K.registerMethod("getSelected",()=>{return Q0(J.selected)}),K.registerMethod("getSelectedItems",()=>{return i()}),K.registerMethod("selectNext",()=>{G(K);let Q=P();if(Q===0)return;if(u2(J,1,Q,V.reverse),H)J.focusedIndex=R(J.focusedIndex,1,Q);let _=T(J.focusedIndex);if(_)w(_.id,_);k()}),K.registerMethod("selectPrevious",()=>{G(K);let Q=P();if(Q===0)return;if(u2(J,-1,Q,V.reverse),H)J.focusedIndex=R(J.focusedIndex,-1,Q);let _=T(J.focusedIndex);if(_)w(_.id,_);k()}),K.registerMethod("_seedSelection",(Q)=>{for(let _ of Q)J.selected.add(_)}),K.registerMethod("_getFocusedId",()=>{if(J.focusedIndex<0)return;return T(J.focusedIndex)?.id}),K.registerMethod("_focusById",(Q)=>{let _=U.totalItems;for(let h=0;h<_;h++){let x=Z(h);if(x&&x.id===Q){let f=y?y(h):h;J.focusedIndex=f,X.emit("focus:change",{id:Q,index:f});return}}})},destroy(){z.clear()}}}var j0=(j)=>j==null?0:typeof j==="function"?j():j;function X0(j){let $=j?.scrollPadding,q,Y;return{name:"page",priority:5,setup(J){let{dom:Z,sizeCache:B,config:X,emitter:L}=J,A=X.axis.primary==="x",U=window,c=J.getState();if(J.disableDefaultScroll(),J.disableDefaultResize(),Z.root.style.overflow="visible",Z.root.style.height="auto",A)Z.viewport.style.overflowX="visible",Z.viewport.style.overflowY="visible";else Z.viewport.style.overflow="visible";Z.viewport.classList.remove(`${X.classPrefix}-viewport--custom-scrollbar`),J.setScrollFns(()=>{let O=Z.viewport.getBoundingClientRect();return Math.max(0,A?-O.left:-O.top)},(O)=>{let P=Z.viewport.getBoundingClientRect(),W=(A?P.left+U.scrollX:P.top+U.scrollY)+O;if(A)U.scrollTo({left:W,top:U.scrollY,behavior:"instant"});else U.scrollTo({left:U.scrollX,top:W,behavior:"instant"})}),c.containerSize=A?U.innerWidth:U.innerHeight,c.crossSize=A?U.innerHeight:U.innerWidth;let M=null,z=()=>{let O=Z.viewport.getBoundingClientRect(),P=Math.max(0,A?-O.left:-O.top);if(c.prevScrollPosition=c.scrollPosition,c.scrollPosition=P,c.scrollDirection=P>c.prevScrollPosition?1:P<c.prevScrollPosition?-1:0,J.onScrollFrame(),M!==null)clearTimeout(M);M=setTimeout(()=>{M=null,J.onScrollIdle()},150)};U.addEventListener("scroll",z,{passive:!0}),Y=()=>U.removeEventListener("scroll",z);let{innerWidth:D,innerHeight:y}=U,H=()=>{let{innerWidth:O,innerHeight:P}=U;if((A?Math.abs(O-D):Math.abs(P-y))<1)return;D=O,y=P,c.containerSize=A?O:P,c.crossSize=A?P:O,J.forceRender(),L.emit("resize",{width:O,height:P})};if(U.addEventListener("resize",H),q=()=>U.removeEventListener("resize",H),$)J.setScrollToPosFn((O,P,W,G,E)=>{let T=j0(A?$.left:$.top),R=j0(A?$.right:$.bottom);if(G===0)return 0;let w=Math.max(0,Math.min(O,G-1)),g=P.getOffset(w),C=P.getSize(w),a=P.getTotalSize(),d=Math.max(0,a-W+R),o;switch(E){case"center":o=g-T-(W-T-R-C)/2;break;case"end":o=g-W+C+R;break;default:o=g-T}return Math.max(-T,Math.min(o,d))}),J.registerMethod("_scrollItemIntoView",(O)=>{let P=A?U.innerWidth:U.innerHeight,W=j0(A?$.left:$.top),G=j0(A?$.right:$.bottom),E=Z.viewport.getBoundingClientRect(),T=A?U.scrollX:U.scrollY,R=A?E.left:E.top,w=R+T,g=B.getOffset(O),C=B.getSize(O),a=R+g,d=P-G,o=T;if(a<W)o=w+g-W;else if(a+C>d)o=w+g+C-d;if(o!==T)if(A)U.scrollTo({left:o,top:U.scrollY,behavior:"instant"});else U.scrollTo({left:U.scrollX,top:o,behavior:"instant"})});J.registerDestroyHandler(()=>{if(Y?.(),q?.(),M!==null)clearTimeout(M)})},destroy(){Y?.(),q?.(),Y=void 0,q=void 0}}}var m1=(j)=>{try{let $=sessionStorage.getItem(j);if(!$)return;return JSON.parse($)}catch{return}};function A0(j){let $=j?.autoSave,q=$?m1($):j?.restore,Y=!1,J=null;return{name:"snapshots",priority:50,setup(Z){let{sizeCache:B,emitter:X}=Z,L=Z.getState(),A=()=>{let{scrollPosition:M,totalItems:z}=L,y=Z.getMethod("getSelected")?.();if(z===0){let R={index:0,offsetInItem:0,total:0};if(y?.length)R.selectedIds=y;return R}let H,O;if(L.isCompressed&&L.compressionRatio!==1){let R=L.totalSize,g=M/R*z;H=Math.max(0,Math.min(Math.floor(g),z-1)),O=(g-H)*B.getSize(H)}else H=B.indexAtOffset(M),O=M-B.getOffset(H);O=Math.max(0,O);let P={index:H,offsetInItem:O,total:z,scrollTop:M},W=B.getSize(H);if(W)P.offsetRatio=O/W;let G=Z.getMethod("_layoutToDataIndex");if(G){let R=G(H);if(R<0){for(let w=H+1;w<z;w++)if(R=G(w),R>=0)break}if(R>=0)P.dataIndex=R}let E=Z.getMethod("_getTotal");if(E)P.dataTotal=E();if(y?.length)P.selectedIds=y;let T=Z.getMethod("_getFocusedId");if(T){let R=T();if(R!==void 0)P.focusedId=R}return P};Z.registerMethod("getScrollSnapshot",A);let U=(M,z=!0)=>{let{index:D,offsetInItem:y,selectedIds:H,focusedId:O}=M,P=L.totalItems,W=M.dataTotal??M.total;if(P===0&&W&&W>0){let k=Z.getMethod("_setTotal");if(k)k(W),P=L.totalItems;B.rebuild(P);let S=Z.getMethod("_updateCompressionMode");if(S)S();if(!L.isCompressed)Z.updateContentSize(B.getTotalSize()),L.totalSize=B.getTotalSize()}if(P===0)return;if(!Number.isFinite(D)||!Number.isFinite(y))return;if(B.getTotal()===0){B.rebuild(P);let k=Z.getMethod("_updateCompressionMode");if(k)k();if(!L.isCompressed)Z.updateContentSize(B.getTotalSize()),L.totalSize=B.getTotalSize()}let E=Z.getMethod("_dataToLayoutIndex"),T=D;if(M.dataIndex!==void 0&&M.dataIndex>=0)T=E?E(M.dataIndex):M.dataIndex;else if(E)T=E(D);let R=Math.max(0,Math.min(T,P-1)),w=B.getSize(R),g=M.offsetRatio!==void 0?M.offsetRatio*w:Math.min(y,w),C;if(L.isCompressed&&L.compressionRatio!==1){let k=Z.getMethod("_getTotal")?.(),S=k!==void 0&&M.dataTotal===k;if(M.scrollTop!==void 0&&(M.total===P||S))C=M.scrollTop;else{let u=w?g/w:0;C=(R+u)/P*L.totalSize}}else C=B.getOffset(R)+g;let a=Math.max(0,L.totalSize-L.containerSize);C=Math.max(0,Math.min(C,a));let d=C===M.scrollTop;if(M.dataIndex!==void 0&&M.dataIndex>=0){let k=w?g/w:0;Z.registerMethod("_restoreAnchor",{dataIndex:M.dataIndex,fraction:k,skipAdjust:d}),Z.registerMethod("_suppressSave",1)}if(Z.scrollTo(C),z&&H?.length){let k=Z.getMethod("select");if(k)k(...H)}let o=Z.getMethod("loadVisibleRange"),i=()=>{if(O===void 0)return;let k=Z.getMethod("_focusById");if(k)k(O)};if(o){let k=0,S=()=>{if(L.containerSize>0){if(Math.abs(L.scrollPosition-C)>1)Z.scrollTo(C);o().then(i)}else if(++k<10)requestAnimationFrame(S)};requestAnimationFrame(S)}else{let k=Z.getMethod("reload");if(k)requestAnimationFrame(()=>{k().then(i)});else requestAnimationFrame(i)}};Z.registerMethod("restoreScroll",U);let c=!!(q&&$);if(Z.registerDestroyHandler(()=>{Y=!0}),$){J=()=>{if(Y||c||Z.getMethod("_suppressSave"))return;let P=A();try{sessionStorage.setItem($,JSON.stringify(P))}catch{}},Z.registerMethod("_saveSnapshot",J);let M=0,z=()=>{if(M)return;M=requestAnimationFrame(()=>{if(M=0,J)J()})};X.on("selection:change",z),X.on("focus:change",z);let D=0,y=()=>{if(D=0,J)J()},H=()=>{if(D)clearTimeout(D);D=setTimeout(y,300)};X.on("scroll",H);let O=()=>{J?.()};if(window.addEventListener("beforeunload",O),Z.registerDestroyHandler(()=>{if(M)cancelAnimationFrame(M);if(D)clearTimeout(D);window.removeEventListener("beforeunload",O)}),q&&q.total&&q.total>0){let P=Z.getMethod("_cancelAutoLoad");if(P)P();let W=Z.getMethod("_setTotal");if(W)W(q.total)}}if(q){let M=!0;if(q.selectedIds?.length){let z=Z.getMethod("_seedSelection");if(z)z(q.selectedIds),M=!1}queueMicrotask(()=>{if(U(q,M),c=!1,J)J()})}},hooks:{onIdle(){if(J&&!Y)J()}},destroy(){Y=!0,J=null}}}function Y1(j,$){if($===!1)return null;return{duration:Math.min($?.duration??j.duration,1000),easing:$?.easing??j.easing}}function D0(j){let $=j?.duration??200,q=j?.easing??"cubic-bezier(0.2, 0, 0, 1)",Y={duration:$,easing:q},J=Y1(Y,j?.remove),Z=Y1(Y,j?.insert),B=null,X=null;return{name:"transition",conflicts:["grid","table","masonry"],priority:45,setup(L){let{sizeCache:A,emitter:U}=L,c=L.config,M=L.dom,z=L.getState(),D=c.reverse?"bottom center":"top center",y=c.axis.primary==="x"?"translateX":"translateY",H=L.getMethod("_dataToLayoutIndex")??null,O=(G)=>H?H(G):G,P=(G)=>{let E=String(G).replace(/"/g,"\\\""),T=M.content.querySelector(`[data-id="${E}"]`),R=T?parseInt(T.dataset.index??"-1",10):-1;return{el:T,layoutIndex:R}},W=()=>{let G=M.content.children;for(let E=0;E<G.length;E++)G[E].style.transition="none";M.content.offsetHeight;for(let E=0;E<G.length;E++)G[E].style.transition=""};if(J){let G=(T)=>{if(B)B();let R=typeof document<"u"?document.activeElement:null,w=R&&M.content.contains(R)?parseInt(R.dataset?.index??"-1",10):-1,g=P(T),C=g.layoutIndex,a=g.el,d=C>=0?A.getSize(C):0,o=C>=0?A.getOffset(C):0;if(!a||C<0){if(L.removeItemById(T)<0)return!1;if(L.forceRender(),W(),U.emit("data:change",{type:"remove",id:T}),w>=0){let x=z.totalItems;if(x>0)L.getRenderedElement(Math.min(w,x-1))?.focus()}return U.emit("remove:end",{id:T}),!0}let i=a.cloneNode(!0);i.style.pointerEvents="none",i.style.overflow="hidden",i.removeAttribute("data-index"),i.removeAttribute("data-id"),i.removeAttribute("id"),i.removeAttribute("aria-selected"),i.classList.remove(`${c.classPrefix}-item--selected`);let k=c.axis.primary==="x"?"scrollLeft":"scrollTop",S=M.viewport[k];if(L.removeItemById(T)<0)return!1;L.forceRender(),W(),U.emit("data:change",{type:"remove",id:T});let K=S-M.viewport[k];i.style.zIndex="1",M.content.appendChild(i);let V=J,N={duration:V.duration,easing:V.easing},v=[],s=Math.round(o-K);v.push(i.animate([{transform:`${y}(${s}px) scaleY(1)`,opacity:1,transformOrigin:D},{transform:`${y}(${Math.round(o)}px) scaleY(0)`,opacity:0,transformOrigin:D}],N));let l=K>0,I=M.content.children;for(let h=0;h<I.length;h++){let x=I[h];if(x===i)continue;let f=parseInt(x.dataset?.index??"-1",10);if(f<0||!l&&f<C)continue;let F=A.getOffset(f),b=f>=C?Math.round(F+d-K):Math.round(F-K),m=Math.round(F);if(b===m)continue;v.push(x.animate([{transform:`${y}(${b}px)`},{transform:`${y}(${m}px)`}],N))}let Q=!1,_=()=>{if(Q)return;Q=!0,B=null,i.remove();for(let h of v)if(h.playState!=="finished")h.cancel();if(w>=0){let h=z.totalItems;if(h>0)L.getRenderedElement(Math.min(w,h-1))?.focus()}U.emit("remove:end",{id:T})};return B=_,Promise.all(v.map((h)=>h.finished)).then(_,_),setTimeout(_,V.duration+50),!0},E=(T)=>{if(T.length===0)return 0;if(T.length===1)return G(T[0])?1:0;if(B)B();if(X)X();let R=typeof document<"u"?document.activeElement:null,w=R&&M.content.contains(R)?parseInt(R.dataset?.index??"-1",10):-1,g=[];for(let Q of T){let _=P(Q);g.push({id:Q,layoutIndex:_.layoutIndex,el:_.el,size:_.layoutIndex>=0?A.getSize(_.layoutIndex):0,offset:_.layoutIndex>=0?A.getOffset(_.layoutIndex):0})}g.sort((Q,_)=>_.layoutIndex-Q.layoutIndex);let C=[];for(let Q of g){if(!Q.el||Q.layoutIndex<0)continue;let _=Q.el.cloneNode(!0);_.style.pointerEvents="none",_.style.overflow="hidden",_.removeAttribute("data-index"),_.removeAttribute("data-id"),_.removeAttribute("id"),_.removeAttribute("aria-selected"),_.classList.remove(`${c.classPrefix}-item--selected`),C.push({clone:_,offset:Q.offset,size:Q.size,layoutIndex:Q.layoutIndex})}let a=new Map,d=M.content.children;for(let Q=0;Q<d.length;Q++){let _=d[Q],h=_.dataset?.id,x=parseInt(_.dataset?.index??"-1",10);if(h&&x>=0)a.set(h,A.getOffset(x))}let o=c.axis.primary==="x"?"scrollLeft":"scrollTop",i=M.viewport[o],k=[];for(let Q of g)if(L.removeItemById(Q.id)>=0)k.push(Q.id);if(k.length===0)return 0;L.forceRender(),W();for(let Q of k)U.emit("data:change",{type:"remove",id:Q});if(C.length===0){if(w>=0){let Q=z.totalItems;if(Q>0)L.getRenderedElement(Math.min(w,Q-1))?.focus()}for(let Q of k)U.emit("remove:end",{id:Q});return k.length}let S=i-M.viewport[o],u=J,K={duration:u.duration,easing:u.easing},V=[];C.sort((Q,_)=>Q.layoutIndex-_.layoutIndex);let N=0;for(let Q of C){Q.clone.style.zIndex="1",M.content.appendChild(Q.clone);let _=Math.round(Q.offset-S),h=Math.round(Q.offset-N);V.push(Q.clone.animate([{transform:`${y}(${_}px) scaleY(1)`,opacity:1,transformOrigin:D},{transform:`${y}(${h}px) scaleY(0)`,opacity:0,transformOrigin:D}],K)),N+=Q.size}let v=new Set(C.map((Q)=>Q.clone)),s=M.content.children;for(let Q=0;Q<s.length;Q++){let _=s[Q];if(v.has(_))continue;let h=_.dataset?.id,x=parseInt(_.dataset?.index??"-1",10);if(!h||x<0)continue;let f=a.get(h);if(f===void 0)continue;let F=A.getOffset(x),b=Math.round(f-S),m=Math.round(F);if(b===m)continue;V.push(_.animate([{transform:`${y}(${b}px)`},{transform:`${y}(${m}px)`}],K))}let l=!1,I=()=>{if(l)return;l=!0,B=null;for(let{clone:Q}of C)Q.remove();for(let Q of V)if(Q.playState!=="finished")Q.cancel();if(w>=0){let Q=z.totalItems;if(Q>0)L.getRenderedElement(Math.min(w,Q-1))?.focus()}for(let Q of k)U.emit("remove:end",{id:Q})};return B=I,Promise.all(V.map((Q)=>Q.finished)).then(I,I),setTimeout(I,u.duration+50),k.length};L.registerMethod("removeItem",G),L.registerMethod("removeItems",E)}if(Z){let G=(E,T)=>{if(X)X();if(B)B();let R=T??0,w=new Map,g=M.content.children;for(let Q=0;Q<g.length;Q++){let _=g[Q],h=_.dataset?.id,x=parseInt(_.dataset?.index??"-1",10);if(h&&x>=0)w.set(h,A.getOffset(x))}let C=c.axis.primary==="x"?"scrollLeft":"scrollTop",a=c.axis.primary==="x"?"scrollWidth":"scrollHeight",d=c.axis.primary==="x"?"clientWidth":"clientHeight",o=M.viewport[C],i=M.viewport[a]-M.viewport[d],k=o>=i-1;L.insertItemAt(E,R),L.forceRender(),W(),U.emit("data:change",{type:"insert",id:E.id});let S=M.viewport[C]-o,u=O(R);if(c.reverse&&S===0&&k){M.viewport[C]=M.viewport[a]-M.viewport[d];let Q=M.viewport[C];if(z.prevScrollPosition=z.scrollPosition,z.scrollPosition=Q,S=Q-o,S>0)L.forceRender(),W()}let K=L.getRenderedElement(u),V=Z,N={duration:V.duration,easing:V.easing},v=[];if(K){let Q=A.getOffset(u);v.push(K.animate([{transform:`${y}(${Math.round(Q)}px) scaleY(0)`,opacity:0,transformOrigin:D},{transform:`${y}(${Math.round(Q)}px) scaleY(1)`,opacity:1,transformOrigin:D}],N))}let s=M.content.children;for(let Q=0;Q<s.length;Q++){let _=s[Q];if(_===K)continue;let h=_.dataset?.id,x=parseInt(_.dataset?.index??"-1",10);if(!h||x<0)continue;let f=w.get(h);if(f===void 0)continue;let F=A.getOffset(x),b=Math.round(f+S),m=Math.round(F);if(b===m)continue;v.push(_.animate([{transform:`${y}(${b}px)`},{transform:`${y}(${m}px)`}],N))}if(v.length===0)return;let l=!1,I=()=>{if(l)return;l=!0,X=null;for(let Q of v)if(Q.playState!=="finished")Q.cancel()};X=I,Promise.all(v.map((Q)=>Q.finished)).then(I,I),setTimeout(I,V.duration+50)};L.registerMethod("insertItem",G)}},destroy(){if(B)B();if(X)X()}}}function H0(j){let $=j?.gap??0,q=null,Y=null,J,Z,B,X,L=new Map,A=new WeakMap,U=0,c=!1,M=!1,z=!1,D=2;function y(W){return L.get(W)??X}function H(){let W=Y.dom.viewport,G=W.scrollHeight-W.clientHeight;return G>0&&J.scrollPosition>=G-D}function O(){let W=Y.dom.viewport;W.scrollHeight;let G=W.scrollHeight-W.clientHeight;if(G>J.scrollPosition)Y.scrollTo(G)}function P(){Y.updateContentSize(Y.sizeCache.getTotalSize())}return{name:"autosize",priority:5,setup(W){if(Y=W,J=W.getState(),Z=W.config.axis.primary==="x",B=Z?"width":"height",$===0)$=W.config.gap;if(X=typeof W.rawSizeSpec==="function"?W.rawSizeSpec(0)+$:W.rawSizeSpec+$,W.setSizeConfig(y),$>0){let T=W.sizeCache.getTotalSize;W.sizeCache.getTotalSize=()=>{let R=T();return R>0?R-$:0}}q=new ResizeObserver((T)=>{if(J.destroyed||!Y)return;let R=!1,w=W.sizeCache.indexAtOffset(J.scrollPosition);for(let o of T){let i=o.target,k=A.get(i);if(k===void 0)continue;if(i.getAttribute("data-index")!==String(k)){q.unobserve(i);continue}if(L.has(k))continue;let S=o.borderBoxSize[0];if(!S)continue;let u=Z?S.inlineSize:S.blockSize;if(u<=0)continue;let K=u+$,V=X;if(L.set(k,K),R=!0,k<w&&K!==V)U+=K-V;q.unobserve(i),i.style[B]=`${u}px`}if(!R)return;let g=H();if(W.rebuildSizeCache(),U)W.scrollTo(J.scrollPosition+U),U=0;let C=J.scrollDirection!==0,a=J.totalItems>0&&J.prevRangeEnd>=J.totalItems-1,d=M&&!z;if(d||g||a||!C){if(P(),c=!1,d||g)O()}else c=!0;W.forceRender()}),W.setScrollToIndexFn((T,R,w,g,C)=>{let a=T>=J.totalItems-1&&R==="end";if(M=a,z=!1,!a)return!1;let d=W.config.mainAxisPadding,o=()=>{let i=W.sizeCache.getTotalSize();return Math.max(0,i+d-J.containerSize)};if(w==="smooth")z=!0,W.smoothScrollTo(o,g??300,C,()=>{z=!1});else W.scrollTo(o())});let G=()=>{M=!1},E=W.dom.viewport;E.addEventListener("wheel",G,{passive:!0}),E.addEventListener("touchstart",G,{passive:!0}),W.registerDestroyHandler(()=>{E.removeEventListener("wheel",G),E.removeEventListener("touchstart",G)}),W.registerMethod("isMeasured",(T)=>L.has(T)),W.registerMethod("setMeasuredSize",(T,R)=>{L.set(T,R)}),W.registerMethod("getMeasuredCount",()=>L.size),W.registerDestroyHandler(()=>{if(q)q.disconnect(),q=null})},hooks:{onCommit(W){if(!q||!Y)return;for(let G=0;G<W.visibleCount;G++){let E=W.visibleIndices[G];if(L.has(E))continue;let T=Y.getRenderedElement(E);if(!T)continue;T.style[B]="",A.set(T,E),q.observe(T)}},onIdle(){if(!Y||!c)return;let W=H();if(P(),c=!1,W)O(),Y.forceRender()}},destroy(){if(q)q.disconnect(),q=null;L.clear(),M=!1,z=!1,Y=null}}}var Z1=(j)=>{let $=Math.max(1,Math.floor(j.columns)),q=j.gap??0,Y=j.containerSize,J=j.crossOffset??0,Z=j.mainOffset??0,B=0,X=[],L=()=>{let O=($-1)*q;B=Math.max(0,(Y-O)/$),X=Array($);let P=B+q;for(let W=0;W<$;W++)X[W]=J+W*P};L();let A=[],U=0,c=[],M=(O,P)=>{if(O<=0)return U=0,A=[],[];let W=Array($).fill(Z),G=Array($);for(let R=0;R<$;R++)G[R]=[];let E=Array(O);for(let R=0;R<O;R++){let w=0,g=W[0];for(let d=1;d<$;d++){let o=W[d];if(o<g)g=o,w=d}let C=P(R),a=W[w];E[R]={index:R,x:X[w],y:a,lane:w,size:C,crossSize:B},G[w].push(R),W[w]=a+C+q}A=G;let T=0;for(let R=0;R<$;R++){let w=W[R],g=w>0?w-q:0;if(g>T)T=g}return U=T,E},z=(O)=>{if(O.length===0)return U;if(U)return U;let P=Array($).fill(0);for(let G of O){let E=G.y+G.size,T=P[G.lane];if(E>T)P[G.lane]=E}let W=0;for(let G=0;G<$;G++)if(P[G]>W)W=P[G];return W},D=(O,P,W)=>{if(O.length===0||W<=P)return c.length=0,c;if(A.length===0||A.length!==$)return y(O,P,W);c.length=0;for(let G=0;G<$;G++){let E=A[G],T=E.length;if(!T)continue;let R=0,w=T;while(R<w){let g=R+w>>>1,C=O[E[g]];if(C.y+C.size<=P)R=g+1;else w=g}for(let g=R;g<T;g++){let C=O[E[g]];if(C.y>=W)break;c.push(C)}}return c},y=(O,P,W)=>{c.length=0;for(let G of O)if(G.y+G.size>P&&G.y<W)c.push(G);return c};return{get columns(){return $},get gap(){return q},get containerSize(){return Y},update:(O)=>{let P=!1;if(O.columns!==void 0){let W=Math.max(1,Math.floor(O.columns));if(W!==$)$=W,P=!0}if(O.gap!==void 0&&O.gap!==q)q=O.gap,P=!0;if(O.containerSize!==void 0&&O.containerSize!==Y)Y=O.containerSize,P=!0;if(O.crossOffset!==void 0&&O.crossOffset!==J)J=O.crossOffset,P=!0;if(O.mainOffset!==void 0&&O.mainOffset!==Z)Z=O.mainOffset,P=!0;if(P)L()},calculateLayout:M,getTotalSize:z,getVisibleItems:D}};var K1=(j,$,q)=>{let Y=Array.from($).sort((B,X)=>B-X);if(Y.length<=1)return;let J=[];for(let B=0;B<Y.length;B++){let X=q(Y[B]);if(X)J.push(X)}if(J.length<=1)return;let Z=j.firstChild;for(let B=0;B<J.length;B++){let X=J[B];if(X===Z)Z=Z.nextSibling;else j.insertBefore(X,Z)}};var d1=(j=200)=>{let $=[];return{acquire:()=>{let Z=$.pop();if(Z)return Z;let B=document.createElement("div");return B.setAttribute("role","option"),B},release:(Z)=>{if(Z.remove(),$.length<j)Z.className="",Z.textContent="",Z.removeAttribute("style"),Z.removeAttribute("data-index"),Z.removeAttribute("data-id"),Z.removeAttribute("data-lane"),$.push(Z)},clear:()=>{$.length=0}}},c1=1,B1=(j,$,q,Y=!1,J,Z,B,X)=>{let L=d1(),A=new Map,U=new Set,c=0,M="",z=-1,D={selected:!1,focused:!1},y=(i,k)=>{return D.selected=i,D.focused=k,D},H=`${q}-item ${q}-masonry-item`,O=`${q}-group-header`,P=`${q}-item--selected`,W=`${q}-item--focused`,G=(i,k)=>{if(typeof k==="string")i.innerHTML=k;else i.replaceChildren(k);x2(i)},E=(i,k,S)=>{i.classList.toggle(P,k),i.classList.toggle(W,S)},T=(i,k)=>{if(Y)i.style.transform=`translate(${Math.round(k.y)}px, ${Math.round(k.x)}px)`;else i.style.transform=`translate(${Math.round(k.x)}px, ${Math.round(k.y)}px)`},R=(i,k)=>{if(Y)i.style.width=`${k.size}px`,i.style.height=`${k.crossSize}px`;else i.style.width=`${k.crossSize}px`,i.style.height=`${k.size}px`},w=(i,k,S,u,K)=>{let V=L.acquire(),N=k.__groupHeader,v=y(u,K);if(V.className=N?O:H,V.dataset.index=String(i),V.dataset.id=String(k.id),V.dataset.lane=String(S.lane),N)V.setAttribute("role","presentation"),V.removeAttribute("aria-selected"),V.removeAttribute("aria-setsize"),V.removeAttribute("aria-posinset"),V.removeAttribute("id");else if(X===!0){if(V.setAttribute("role","option"),V.ariaSelected=String(u),Z)V.id=`${Z}-item-${i}`;if(J){let l=J();if(l!==z)z=l,M=String(l);V.setAttribute("aria-setsize",M);let I=B?B(i):i+1;V.setAttribute("aria-posinset",String(I))}}else if(V.setAttribute("role","listitem"),V.removeAttribute("aria-selected"),J){let l=J();if(l!==z)z=l,M=String(l);V.setAttribute("aria-setsize",M);let I=B?B(i):i+1;V.setAttribute("aria-posinset",String(I))}R(V,S);let s=$(k,i,v);return G(V,s),E(V,u,K),T(V,S),{element:V,lastItem:k,lastSelected:u,lastFocused:K,lastY:S.y,lastX:S.x,lastSize:S.size,lastCrossSize:S.crossSize,lastSeenFrame:c}},g=(i,k,S,u)=>{c++,U.clear();for(let V=0;V<k.length;V++)U.add(k[V].index);let K=null;for(let V=0;V<k.length;V++){let N=k[V],v=N.index,s=i(v);if(!s)continue;let l=S.has(s.id),I=v===u,Q=A.get(v);if(Q){let _=Q.lastItem!==s,h=Q.lastSelected!==l,x=Q.lastFocused!==I,f=Q.lastY!==N.y||Q.lastX!==N.x,F=Q.lastSize!==N.size||Q.lastCrossSize!==N.crossSize;if(_){let b=y(l,I),m=$(s,v,b);if(G(Q.element,m),Q.element.dataset.id=String(s.id),Q.lastItem=s,!s.__groupHeader){let n=B?B(v):v+1;Q.element.setAttribute("aria-posinset",String(n))}}if(_||h||x)E(Q.element,l,I),Q.element.ariaSelected=String(l),Q.lastSelected=l,Q.lastFocused=I;if(F)R(Q.element,N),Q.lastSize=N.size,Q.lastCrossSize=N.crossSize;if(f)T(Q.element,N),Q.lastY=N.y,Q.lastX=N.x}else{let _=w(v,s,N,l,I);if(!K)K=document.createDocumentFragment();K.appendChild(_.element),A.set(v,_)}}if(K)j.appendChild(K);for(let[V,N]of A)if(U.has(V))N.lastSeenFrame=c;else if(c-N.lastSeenFrame>c1)L.release(N.element),A.delete(V)},C=()=>{for(let i of A.values())L.release(i.element);A.clear(),j.innerHTML=""};return{render:g,getElement:(i)=>A.get(i)?.element,updateItemClasses:(i,k,S)=>{let u=A.get(i);if(!u)return;let K=u.lastSelected!==k,V=u.lastFocused!==S;if(K||V)E(u.element,k,S),u.lastSelected=k,u.lastFocused=S},sortDOM:()=>{K1(j,A.keys(),(i)=>A.get(i)?.element)},clear:C,destroy:()=>{C(),L.clear()}}};var l1=100,r1=new Set;function L0(j){if(!j.columns||j.columns<1)throw Error("[vlist] masonry: columns must be >= 1");let $,q=null,Y,J=null,Z,B,X,L=[],A=-1,U=-1,c=!0,M=-1,z=0,D=0,y=0,H=0,O={columnWidth:0,columns:0,gap:0,containerWidth:0},P=[],W=(N)=>P[N],G=null,E=null,T=!1;function R(){if(T||!J)return;T=!0,G=J.getMethod("_getSelectedIds")??null,E=J.getMethod("_getFocusedIndex")??null}let w=[],g=new Int32Array(0),C=[];function a(){let N=$.columns,v=L.length;w=Array(N);for(let s=0;s<N;s++)w[s]=[];if(g.length<v)g=new Int32Array(v);for(let s=0;s<v;s++){let l=L[s],I=w[l.lane].length;w[l.lane].push(s),g[s]=I}C=Array(N);for(let s=0;s<N;s++){let l=w[s],I=new Float64Array(l.length);for(let Q=0;Q<l.length;Q++){let _=L[l[Q]];I[Q]=_.y+_.size*0.5}C[s]=I}}function d(N,v){let s=N.length;if(!s)return-1;let l=0,I=s-1;while(l<I){let Q=l+I>>1;if(N[Q]<v)l=Q+1;else I=Q}if(l>0&&Math.abs(N[l-1]-v)<=Math.abs(N[l]-v))return l-1;return l}function o(N,v,s){let l=L[N];if(!l)return N;let I=l.lane,Q=$.columns,_=g[N],h=w[I];switch(Z?v==="ArrowDown"?"ArrowRight":v==="ArrowUp"?"ArrowLeft":v==="ArrowRight"?"ArrowDown":v==="ArrowLeft"?"ArrowUp":v:v){case"ArrowDown":if(_+1<h.length)return h[_+1];return N;case"ArrowUp":if(_>0)return h[_-1];return N;case"ArrowRight":{if(I>=Q-1)return N;let f=I+1,F=l.y+l.size*0.5,b=w[f];if(!b.length)return N;let m=d(C[f],F);return m>=0?b[m]:N}case"ArrowLeft":{if(I<=0)return N;let f=I-1,F=l.y+l.size*0.5,b=w[f];if(!b.length)return N;let m=d(C[f],F);return m>=0?b[m]:N}case"Home":return 0;case"End":{let f=w[Q-1];return f.length>0?f[f.length-1]:s-1}case"PageDown":{let f=Y.containerSize,F=l.size>0?l.size:150,b=Math.max(1,Math.floor(f/F)),m=Math.min(_+b,h.length-1);return h[m]}case"PageUp":{let f=Y.containerSize,F=l.size>0?l.size:150,b=Math.max(1,Math.floor(f/F)),m=Math.max(0,_-b);return h[m]}}return N}let i=null;function k(){if(j.size)return(N)=>j.size(N,O);if(i!==null&&typeof i==="function")return(N)=>i(N,O);return(N)=>J.sizeCache.getSize(N)}function S(){let{columns:N,gap:v}=$;O.containerWidth=$.containerSize,O.columns=N,O.gap=v,O.columnWidth=Math.max(0,($.containerSize-(N-1)*v)/N)}function u(){if(!J)return;S();let N=Y.totalItems;L=$.calculateLayout(N,k()),M=N,a();let v=$.getTotalSize(L)+H;J.updateContentSize(v)}function K(){if(Y.destroyed||!J||!q)return;if(Y.totalItems!==M)u();R();let{scrollPosition:N,containerSize:v}=Y;if(!c&&N===A&&v===U)return;if(A=N,U=v,c=!1,v<=0||L.length===0)return;let s=Math.max(0,N-X),l=N+v+X,I=$.getVisibleItems(L,s,l),Q=G?.()??r1,_=E?.()??-1;P=J.getItems(),q.render(W,I,Q,_);let h=I.length,x=h>0?I[0].index:0,f=h>0?I[h-1].index:0;Y.prevRangeStart=x,Y.prevRangeEnd=f,Y.renderPending=!1;let F=Math.min(h,Y.capacity);Y.visibleCount=F,Y.startIndex=x;for(let b=0;b<F;b++){let m=I[b];Y.visibleIndices[b]=m.index,Y.visibleOffsets[b]=m.y,Y.visibleSizes[b]=m.size}}function V(){if(Y.destroyed)return;u(),Y.prevRangeStart=-1,Y.prevRangeEnd=-1,Y.renderPending=!0,c=!0,K()}return{name:"masonry",priority:10,conflicts:["grid","table"],setup(N){if(J=N,Y=N.getState(),i=N.rawSizeSpec,Z=N.config.axis.primary==="x",B=N.config.classPrefix,X=N.config.overscan*l1,N.config.reverse)throw Error("[vlist] masonry: cannot be combined with reverse mode");z=N.config.crossAxisPadding,D=N.config.crossPadStart,y=N.config.startPadding,H=N.config.endPadding;let v=Y.crossSize-z;$=Z1({columns:j.columns,gap:j.gap??0,containerSize:v,crossOffset:D,mainOffset:y}),q=B1(N.dom.content,N.template,B,Z,()=>Y.totalItems),N.dom.root.classList.add(`${B}--masonry`),N.setRenderFn(K,V),u(),N.registerMethod("getMasonryLayout",()=>$),N.registerMethod("updateMasonry",(s)=>{if(s.columns!==void 0&&s.columns<1)throw Error("[vlist] updateMasonry: columns must be >= 1");if(s.gap!==void 0&&s.gap<0)throw Error("[vlist] updateMasonry: gap must be >= 0");let l={};if(s.columns!==void 0)l.columns=s.columns;if(s.gap!==void 0)l.gap=s.gap;$.update(l),q?.clear(),V()}),N.registerMethod("scrollToIndex",(s,l="start")=>{let I=L[s];if(!I)return;let Q=typeof l==="string"?l:l.align??"start",_=typeof l==="object"?l.behavior:void 0,h=typeof l==="object"?l.duration:void 0,x=Y.containerSize,f=$.getTotalSize(L)+H,F=Math.max(0,f-x),b=I.y;if(Q==="center")b=I.y-x/2+I.size/2;else if(Q==="end"){if(b=I.y-x+I.size,s>=Y.totalItems-1&&I.y+I.size>F)b=F}if(b=Math.max(0,Math.min(b,F)),_==="smooth"&&h&&h>0)N.smoothScrollTo(b,h);else N.scrollTo(b)}),N.registerMethod("_scrollItemIntoView",(s)=>{let l=L[s];if(!l)return;let{scrollPosition:I,containerSize:Q}=Y,_=$.getTotalSize(L)+H,h=Math.max(0,_-Q),x=l.y,f=x+l.size;if(x-y<I)N.scrollTo(Math.max(0,x-y));else if(f+H>I+Q){let F=w[$.columns-1];if(F&&F.length>0&&s===F[F.length-1]&&x>=h)N.scrollTo(h);else N.scrollTo(Math.min(f+H-Q,h))}}),N.setNavConfig({total:()=>Y.totalItems,navigate:o}),N.registerDestroyHandler(()=>{q?.destroy(),q=null,N.dom.root.classList.remove(`${B}--masonry`)})},hooks:{onResize(N,v){if(!$||!J)return;let s=Y.crossSize-z;if(Math.abs(s-$.containerSize)<1)return;$.update({containerSize:s}),q?.clear(),V()},onIdle(){q?.sortDOM()}},destroy(){q?.destroy(),q=null,L=[],J=null}}}var U1=(j={})=>{let{chunkSize:$=100,maxCachedItems:q=5000,evictionBuffer:Y=200,onEvict:J}=j,Z=new Map,B=0,X=0,L=(u)=>{let K=Z.get(u);if(!K)K={items:Array($),count:0,lastAccess:Date.now()},Z.set(u,K);else K.lastAccess=Date.now();return K},A=(u)=>{return Math.floor(u/$)},U=(u)=>{return u%$},c=()=>B,M=(u)=>{B=u},z=(u)=>{if(u<0||u>=B)return;let K=A(u),V=Z.get(K);if(!V)return;return V.items[U(u)]},D=(u)=>{if(u<0||u>=B)return!1;let K=A(u),V=Z.get(K);if(!V)return!1;return V.items[U(u)]!==void 0},y=(u,K)=>{let V=A(u),N=L(V),v=U(u),s=N.items[v]===void 0;if(N.items[v]=K,s)N.count++,X++;if(u>=B)B=u+1},H=(u,K)=>{for(let V=0;V<K.length;V++){let N=K[V];if(N!==void 0)y(u+V,N)}},O=(u,K)=>{if(u<0||u>B)return;let V=A(u),N=Array.from(Z.keys()).filter((Q)=>Q>=V).sort((Q,_)=>Q-_),v=[];for(let Q of N){let _=Z.get(Q),h=Q*$;for(let x=0;x<$;x++){if(_.items[x]===void 0)continue;let f=h+x;if(f<u)continue;v.push({oldIndex:f,item:_.items[x]})}}for(let{oldIndex:Q}of v){let _=A(Q),h=Z.get(_);if(!h)continue;let x=U(Q);if(h.items[x]!==void 0){if(h.items[x]=void 0,h.count--,X--,h.count===0)Z.delete(_)}}B++;for(let{oldIndex:Q,item:_}of v){let h=Q+1,x=A(h),f=L(x),F=U(h);f.items[F]=_,f.count++,X++}let s=A(u),l=L(s),I=U(u);l.items[I]=K,l.count++,X++},P=(u)=>{if(u<0||u>=B)return!1;let K=A(u),V=Z.get(K),N=U(u);if(!(V!==void 0&&V.items[N]!==void 0))return!1;let s=K,l=Array.from(Z.keys()).filter((Q)=>Q>=s).sort((Q,_)=>Q-_),I=[];for(let Q of l){let _=Z.get(Q),h=Q*$;for(let x=0;x<$;x++){if(_.items[x]===void 0)continue;let f=h+x;if(f<=u)continue;I.push({oldIndex:f,item:_.items[x]})}}if(V.items[N]=void 0,V.count--,X--,V.count===0)Z.delete(K);for(let{oldIndex:Q}of I){let _=A(Q),h=Z.get(_);if(!h)continue;let x=U(Q);if(h.items[x]!==void 0){if(h.items[x]=void 0,h.count--,X--,h.count===0)Z.delete(_)}}for(let{oldIndex:Q,item:_}of I){let h=Q-1,x=A(h),f=L(x),F=U(h);f.items[F]=_,f.count++,X++}return B--,!0},W=(u,K)=>{let V=[];for(let N=u;N<=K&&N<B;N++)V.push(z(N));return V},G=(u,K)=>{for(let V=u;V<=K&&V<B;V++)if(!D(V))return!1;return!0},E=()=>{let u=[],K=null,V=Array.from(Z.keys()).sort((N,v)=>N-v);for(let N of V){let v=Z.get(N);if(!v)continue;let s=N*$;for(let l=0;l<$;l++){let I=s+l;if(I>=B)break;if(v.items[l]!==void 0)if(K===null)K={start:I,end:I};else if(I===K.end+1)K.end=I;else u.push(K),K={start:I,end:I};else if(K!==null)u.push(K),K=null}}if(K!==null)u.push(K);return u},T=(u,K)=>{let V=[],N=null;for(let v=u;v<=K&&v<B;v++)if(!D(v))if(N===null)N={start:v,end:v};else N.end=v;else if(N!==null)V.push(N),N=null;if(N!==null)V.push(N);return V},R=(u)=>{return Z.has(u)},w=(u)=>{let K=Z.get(u);if(!K)return!1;let V=u*$,N=Math.min($,B-V);return K.count>=N},g=(u)=>{let K=Z.get(u);if(K)K.lastAccess=Date.now()},C=(u,K)=>{if(u>K||Z.size===0)return;let V=Date.now(),N=A(Math.max(0,u)),v=A(Math.min(B-1,K));for(let s=N;s<=v;s++){let l=Z.get(s);if(l)l.lastAccess=V}},a=(u,K)=>{if(X<=q)return 0;let V=Math.max(0,u-Y),N=Math.min(B-1,K+Y),v=A(V),s=A(N),l=0,I=[];for(let[Q,_]of Z)if(Q<v||Q>s)l+=_.count,I.push(Q),X-=_.count,Z.delete(Q);if(l>0&&J)J(l,I);return l},d=()=>{if(X<=q)return 0;let u=Array.from(Z.entries()).sort(([,N],[,v])=>N.lastAccess-v.lastAccess),K=0,V=[];for(let[N,v]of u){if(X<=q)break;K+=v.count,X-=v.count,V.push(N),Z.delete(N)}if(K>0&&J)J(K,V);return K},o=()=>{return{totalItems:B,cachedItems:X,cachedChunks:Z.size,chunkSize:$,maxCachedItems:q,memoryEfficiency:B>0?1-X/B:1}},i=()=>X,k=()=>{Z.clear(),X=0};return{chunkSize:$,maxCachedItems:q,getTotal:c,setTotal:M,get:z,has:D,set:y,setRange:H,insert:O,delete:P,getRange:W,isRangeLoaded:G,getLoadedRanges:E,findUnloadedRanges:T,getChunkIndex:A,isChunkLoaded:R,isChunkFullyLoaded:w,touchChunk:g,touchChunksForRange:C,evictDistant:a,evictToLimit:d,getStats:o,getCachedCount:i,clear:k,reset:()=>{k(),B=0}}};var N1=(j={})=>{let{maskCharacter:$=f0,maxSampleSize:q=I0}=j,Y=[],J=!1,Z=(U)=>{if(J||U.length===0)return;let c=Math.min(U.length,q);for(let M=0;M<c;M++){let z=U[M];if(!z||typeof z!=="object")continue;let D={},y=!1;for(let[H,O]of Object.entries(z)){if(H.startsWith("_")||H==="id")continue;D[H]=String(O??"").length,y=!0}if(y)Y.push(D)}J=!0},B=()=>J,X=(U)=>{let c={id:`${f2}${U}`,[Z0]:!0,_index:U};if(Y.length===0)return c.label=$.repeat(12),c;let M=Y[U%Y.length];for(let[z,D]of Object.entries(M))c[z]=$.repeat(Math.max(1,D));return c};return{analyzeStructure:Z,hasAnalyzedStructure:B,generate:X,generateRange:(U,c)=>{let M=[];for(let z=U;z<=c;z++)M.push(X(z));return M},clear:()=>{Y=[],J=!1}}},q0=(j)=>{if(!j||typeof j!=="object")return!1;return j[Z0]===!0};var s1=50,W1=(j={})=>{let{adapter:$,initialItems:q,initialTotal:Y,storage:J,placeholder:Z,pageSize:B=s1,maxConcurrent:X=0,onStateChange:L,onDataChange:A,onItemsLoaded:U,onItemsEvicted:c}=j,M=U1({...J,onEvict:(J2,t)=>{c?.(J2),C(),g()}}),z=null,D=()=>{if(!z)z=N1(Z);return z},y=new Map,H=!1,O,P=!0,W,G,E=[],T=0,R=new Map,w=()=>{for(let J2 of R.values())J2[1].abort();R.clear()},g=()=>{L?.(V())},C=()=>{A?.()},a=()=>{y.clear();let J2=M.getLoadedRanges();for(let t of J2)for(let $2=t.start;$2<=t.end;$2++){let B2=M.get($2);if(B2&&!q0(B2))y.set(B2.id,$2)}},d=(J2,t)=>{if(!q0(t))y.set(t.id,J2)},o=(J2)=>{y.delete(J2)},i=(J2,t)=>{return`${J2}-${t}`},k=()=>M.getTotal(),S=()=>M.getCachedCount(),u=()=>H,K=()=>P,V=()=>({total:M.getTotal(),cached:M.getCachedCount(),isLoading:H,pendingRanges:E,error:O,hasMore:P,cursor:W}),N=()=>M,v=()=>D(),s=(J2)=>{let t=M.get(J2);if(t!==void 0)return t;if(J2>=0&&J2<M.getTotal())return D().generate(J2);return},l=(J2)=>{let t=y.get(J2);if(t===void 0)return;return M.get(t)},I=(J2)=>{return y.get(J2)??-1},Q=(J2)=>{let t=M.get(J2);return t!==void 0&&!q0(t)},_=(J2,t)=>{let $2=[],B2=M.getTotal();M.touchChunksForRange(J2,Math.min(t,B2-1));for(let U2=J2;U2<=t&&U2<B2;U2++){let Y2=M.get(U2);if(Y2!==void 0)$2.push(Y2);else $2.push(D().generate(U2))}return $2},h=(J2)=>{M.setTotal(J2),P=M.getCachedCount()<J2,C(),g()},x=(J2,t=0,$2)=>{if($&&J2.length>0){let B2=D();if(!B2.hasAnalyzedStructure())B2.analyzeStructure(J2)}for(let B2=0;B2<J2.length;B2++){let U2=J2[B2];if(U2!==void 0){let Y2=t+B2;M.set(Y2,U2),d(Y2,U2)}}if($2!==void 0)M.setTotal($2);else if(t+J2.length>M.getTotal())M.setTotal(t+J2.length);if(M.getCachedCount()>=M.getTotal()&&M.getTotal()>0)P=!1;C(),g(),U?.(J2,t,M.getTotal())},f=(J2,t)=>{let $2=M.get(J2);if(!$2)return!1;let B2=$2.id,U2={...$2,...t};if(M.set(J2,U2),t.id!==void 0&&t.id!==B2)o(B2);return d(J2,U2),C(),g(),!0},F=(J2,t)=>{M.insert(t,J2),a(),w(),C(),g()},b=(J2)=>{let t=y.get(J2);if(t===void 0)return!1;if(!M.delete(t))return!1;return a(),w(),C(),g(),!0},m=async(J2,t)=>{if(!$)return;let $2=M.chunkSize,B2=Math.floor(J2/$2),U2=Math.floor(t/$2),Y2=$2*2;for(let[X2,b2]of R){let F2=X2.indexOf("-"),y2=parseInt(X2.slice(0,F2),10);if(Math.abs(y2-J2)>Y2)b2[1].abort(),R.delete(X2)}let A2=[],L2=[];for(let X2=B2;X2<=U2;X2++){let b2=X2*$2,F2=b2+$2-1,y2=i(b2,F2);if(M.isChunkFullyLoaded(X2))continue;let k2=R.get(y2);if(k2)L2.push(k2[0]);else A2.push({start:b2,end:F2})}if(A2.length===0){if(L2.length>0)await Promise.all(L2);return}if(X>0){let X2=R.size+A2.length;if(X2>X){let b2=(J2+t)/2,F2=Math.min(X2-X,R.size);while(F2>0){let D2=null,k2=-1,H2=null;for(let[P2,W2]of R){let O2=P2.indexOf("-"),R2=parseInt(P2.slice(0,O2),10),z2=parseInt(P2.slice(O2+1),10),K2=Math.abs((R2+z2)/2-b2);if(K2>k2)k2=K2,D2=P2,H2=W2[1]}if(D2)H2.abort(),R.delete(D2);F2--}let y2=X-R.size;if(A2.length>y2)A2.sort((D2,k2)=>{let H2=Math.abs((D2.start+D2.end)/2-b2),P2=Math.abs((k2.start+k2.end)/2-b2);return H2-P2}),A2.length=Math.max(0,y2)}}if(A2.length===0){if(L2.length>0)await Promise.all(L2);return}for(let X2 of A2){let b2=i(X2.start,X2.end),F2=new AbortController,y2=(async()=>{E.push(X2),H=!0,O=void 0,g();try{let D2=X2.end-X2.start+1,k2={offset:X2.start,limit:D2,cursor:X2.start===G?W:void 0,signal:F2.signal},H2=await $.read(k2);if(x(H2.items,X2.start,H2.total),H2.cursor)W=H2.cursor,G=X2.start+H2.items.length;let P2=X2.start+H2.items.length;if(P2>=T){if(T=P2,H2.hasMore!==void 0)P=H2.hasMore;else if(H2.total!==void 0)P=P2<H2.total}}catch(D2){if(D2?.name==="AbortError")return;O=D2 instanceof Error?D2:Error(String(D2))}finally{R.delete(b2);let D2=E.findIndex((k2)=>k2.start===X2.start&&k2.end===X2.end);if(D2>=0)E.splice(D2,1);H=R.size>0,g()}})();R.set(b2,[y2,F2]),L2.push(y2)}await Promise.all(L2)},e=async(J2,t)=>{if(M.isRangeLoaded(J2,t))return;await m(J2,t)},n=async()=>{if(!$)return;await m(0,B-1)},Q2=async()=>{if(!$||H||!P)return!1;let J2=M.getCachedCount(),t=M.getTotal(),$2=J2,B2=Math.min($2+B-1,t>0?t-1:$2+B-1);if($2>=t&&t>0)return P=!1,!1;return await m($2,B2),M.getCachedCount()>J2},Z2=async()=>{if(M.clear(),M.setTotal(0),y.clear(),z)z.clear();w(),E=[],H=!1,W=void 0,G=void 0,P=!0,T=0,O=void 0,C(),g()},G2=(J2,t)=>{if(M.evictDistant(J2,t)>0)a()},M2=()=>{M.clear(),y.clear(),W=void 0,G=void 0,O=void 0,E=[],H=!1,C(),g()},N2=()=>{if(M.reset(),y.clear(),z)z.clear();W=void 0,G=void 0,P=!0,T=0,O=void 0,E=[],H=!1,C(),g()};if(q&&q.length>0)x(q,0,Y??q.length);else if(Y!==void 0)M.setTotal(Y),C(),g();return{getState:V,getTotal:k,getCached:S,getIsLoading:u,getHasMore:K,getStorage:N,getPlaceholders:v,getItem:s,getItemById:l,getIndexById:I,isItemLoaded:Q,getItemsInRange:_,setTotal:h,setItems:x,updateItem:f,insertItem:F,removeItem:b,loadRange:m,ensureRange:e,loadInitial:n,loadMore:Q2,reload:Z2,evictDistant:G2,clear:M2,reset:N2}};function F0(j){let{adapter:$,total:q,autoLoad:Y=!0,storage:J}=j,Z=j.loading?.cancelThreshold??v0,B=j.loading?.preloadThreshold??w0,X=j.loading?.preloadAhead??P0,L=j.loading?.maxConcurrent??C0,A,U,c,M,z,D,y=null,H=null,O=null,P=0,W=!1,G=-1,E=-1,T=J?.chunkSize??o2,R=()=>{if(y=null,H!==null)clearTimeout(H),H=null},w=(d,o)=>{return A.ensureRange(d,o)},g=(d,o=o2)=>{M.emit("load:start",{offset:d,limit:o})},C=(d)=>{M.emit("error",{error:d,context:"ensureRange"})},a=()=>{if(!y)return;y=null;let d={start:U.startIndex,end:U.startIndex+Math.max(0,U.visibleCount-1)};if(d.end<d.start)return;w(d.start,d.end).catch(C)};return{name:"data",priority:20,setup(d){U=d.getState(),c=d.sizeCache,M=d.emitter,z=d.dom,D=d.forceRender.bind(d);let o=null;d.setVirtualTotalFn(()=>o?.getTotal()??0),A=o=W1({adapter:$,...q!==void 0&&{initialTotal:q},pageSize:J?.chunkSize??o2,maxConcurrent:L,...J&&{storage:{...J.chunkSize!==void 0&&{chunkSize:J.chunkSize},...J.maxCachedItems!==void 0&&{maxCachedItems:J.maxCachedItems},...J.evictionBuffer!==void 0&&{evictionBuffer:J.evictionBuffer}}},onDataChange:()=>{if(U.initialized){let k=A.getTotal();U.totalItems=k;let S=c.getTotal();if(k!==S)c.rebuild(k);d.updateContentSize(c.getTotalSize()),d.renderIfNeeded()}},onItemsLoaded:(k)=>{if(U.initialized)D(),M.emit("load:end",{items:k,total:A.getTotal()})}}),d.setGetItemFn((k)=>A.getItem(k)),d.setRemoveItemFn((k)=>{let S=A.getIndexById(k);if(S<0)return-1;if(!A.removeItem(k))return-1;return S}),d.setInsertItemFn((k,S)=>{A.insertItem(k,S)}),d.setUpdateItemFn((k,S)=>{let u=A.getIndexById(k);if(u<0)return!1;return A.updateItem(u,S)}),d.registerMethod("reload",async()=>{if(y=null,G=-1,E=-1,d.forceRender(),await A.reload(),d.scrollTo(0),Y)g(0),await A.loadInitial(),d.forceRender()}),d.registerMethod("loadVisibleRange",async()=>{y=null,d.forceRender();let k=A.getTotal();if(U.visibleCount>0&&U.startIndex<k){let S=Math.min(U.startIndex+U.visibleCount-1,k-1);g(U.startIndex,S-U.startIndex+1),await w(U.startIndex,S)}}),d.registerMethod("getTotal",()=>{return A.getTotal()}),d.registerMethod("setTotal",(k)=>{A.setTotal(k)}),d.registerMethod("_getTotal",()=>A.getTotal()),d.registerMethod("_setTotal",(k)=>{A.setTotal(k)}),d.registerMethod("_cancelAutoLoad",()=>{W=!0}),d.registerMethod("_getLoadedItem",(k)=>{return A.getStorage().get(k)}),d.registerMethod("_getLoadedCount",()=>A.getCached()),M.on("load:start",()=>{z.root.setAttribute("aria-busy","true")}),M.on("load:end",()=>{z.root.removeAttribute("aria-busy")}),d.registerDestroyHandler(()=>{if(O!==null)clearTimeout(O),O=null;R()}),M.on("velocity:change",({velocity:k})=>{P=Math.abs(k)});let i=()=>{if(U.destroyed)return;if(U.visibleCount>0&&U.startIndex<A.getTotal()){let k=Math.min(U.startIndex+U.visibleCount-1,A.getTotal()-1);w(U.startIndex,k).catch(C)}a()};if(window.addEventListener("online",i),d.registerDestroyHandler(()=>{window.removeEventListener("online",i)}),Y)queueMicrotask(()=>{if(W)return;g(0),A.loadInitial().catch((k)=>{M.emit("error",{error:k,context:"loadInitial"})})});else if(q!==void 0)A.setTotal(q)},hooks:{onAfterScroll(){if(U.destroyed)return;let d=U.startIndex+Math.max(0,U.visibleCount-1);if(P>Z){if(H!==null)clearTimeout(H),H=null;y={start:U.startIndex,end:d};return}if(P>B){let k=Math.floor(U.startIndex/T),S=Math.floor(d/T);if(k!==G||S!==E){if(G=k,E=S,d>=U.startIndex)w(U.startIndex,d).catch(C)}let u=U.startIndex,K=d,V=U.scrollDirection;if(V>0)K=Math.min(K+X,A.getTotal()-1);else if(V<0)u=Math.max(0,u-X);if(y={start:u,end:K},H!==null)clearTimeout(H);H=setTimeout(()=>{if(H=null,U.destroyed||!y)return;let{start:N,end:v}=y;if(y=null,v>=N)w(N,v).catch(C)},100);return}R();let o=Math.floor(U.startIndex/T),i=Math.floor(d/T);if(o!==G||i!==E){if(G=o,E=i,d>=U.startIndex)w(U.startIndex,d).catch(C)}},onIdle(){if(U.destroyed)return;P=0,G=-1,E=-1,a(),R()}},destroy(){if(O!==null)clearTimeout(O);R()}}}var O0=(j,$)=>{let q=0,Y=j.length-1;while(q<Y){let J=q+Y+1>>>1;if(j[J].headerLayoutIndex<=$)q=J;else Y=J-1}return q},V1=(j,$)=>{let q=0,Y=j.length-1;while(q<Y){let J=q+Y+1>>>1;if(j[J].firstDataIndex<=$)q=J;else Y=J-1}return q},_1=(j,$,q)=>{if(j===0)return[];let Y=[],J=null,Z=0,B=0;for(let X=0;X<j;X++){let L=q?.(X);if(!L)continue;let A=$(X,L);if(J===null)J=A,Z=0;else if(A!==J){let U=X-Z;Y.push({key:J,groupIndex:Y.length,headerLayoutIndex:B,firstDataIndex:Z,count:U}),B=B+1+U,J=A,Z=X}}if(J!==null)Y.push({key:J,groupIndex:Y.length,headerLayoutIndex:B,firstDataIndex:Z,count:j-Z});return Y};var M1=(j,$,q)=>{let Y=_1(j,$.getGroupForIndex,q),J=j+Y.length,Z=$.header?.height??$.header?.width??$.headerHeight;return{get totalEntries(){return J},get groupCount(){return Y.length},get groups(){return Y},getEntry:(z)=>{if(Y.length===0)return{type:"item",dataIndex:z,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let D=O0(Y,z),y=Y[D];if(z===y.headerLayoutIndex)return{type:"header",group:y};let H=z-y.headerLayoutIndex-1;return{type:"item",dataIndex:y.firstDataIndex+H,group:y}},layoutToDataIndex:(z)=>{if(Y.length===0)return z;let D=O0(Y,z),y=Y[D];if(z===y.headerLayoutIndex)return-1;let H=z-y.headerLayoutIndex-1;return y.firstDataIndex+H},dataToLayoutIndex:(z)=>{if(Y.length===0)return z;let D=V1(Y,z),y=Y[D],H=z-y.firstDataIndex;return y.headerLayoutIndex+1+H},getGroupAtLayoutIndex:(z)=>{if(Y.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let D=O0(Y,z);return Y[D]},getGroupAtDataIndex:(z)=>{if(Y.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let D=V1(Y,z);return Y[D]},getHeaderHeight:typeof Z==="number"?(z)=>Z:(z)=>{let D=Y[z];if(!D)return 0;return Z(D.key,z)},rebuild:(z,D)=>{Y=_1(z,$.getGroupForIndex,D??q),J=z+Y.length}}};var E0=(j,$,q,Y,J=0)=>{let Z=q?"width":"height",B=document.createElement("div");return B.className=`${$}-sticky-header`,B.setAttribute("role","presentation"),B.setAttribute("aria-hidden","true"),B.style.cssText="position:relative;z-index:5;pointer-events:none;overflow:hidden;"+(q?`top:0;bottom:0;left:${J||0}px`:`top:${J||0}px`),B.style[Z]=`${Y}px`,j.insertBefore(B,j.firstChild),B},G1=(j,$,q,Y,J,Z=!1,B=0,X,L)=>{let A=Z?"width":"height",U=Z?"height":"width",c=Z?"X":"Y",M=(f,F)=>{f.style[A]=`${F}px`},z=L??E0(j,J,Z,0,B),D=()=>{let f=document.createElement("div");return f.className="sticky-group",f.style.position="absolute",f.style.willChange="transform",f.style[U]="100%",f},y=D(),H=D();z.append(y,H);let O=y,P=H,W=$.groups,G=[],E=[],T=[],R=0,w=()=>{W=$.groups,R=W.length,G=Array(R),E=Array(R),T=Array(R);let f=X?X():1;for(let F=0;F<R;F++)G[F]=q.getOffset(W[F].headerLayoutIndex)*f,E[F]=$.getHeaderHeight(F),T[F]=E[F]*f};w();let g=-1,C=0,a=0,d=-1,o=!1,i=0,k=!1,S=(f,F)=>{Y(f,F);let b=E[F];return M(f,b),b},u=(f)=>{f.replaceChildren(),f.style.transform=""},K=(f)=>{if(f===g)return;if(g=f,C=0,a=0,f<0||f>=R){u(O);return}C=S(O,f),a=T[f],M(z,C),O.style.transform=""},V=(f)=>{if(f===i)return;i=f;let F=Math.round(f);O.style.transform=`translate${c}(${F}px)`,P.style.transform=`translate${c}(${F+C}px)`},N=()=>{i=0,O.style.transform="",P.style.transform=""},v=()=>{if(!k)return;let f=O;O=P,P=f,g=d,C=g>=0?E[g]:0,a=g>=0?T[g]:0,M(z,C),u(P),d=-1,k=!1,N()},s=()=>{if(!k)return;u(P),d=-1,k=!1,N()},l=!!L,I=()=>{if(o)return;if(o=!0,l)z.style.visibility="";else z.style.display=""},Q=()=>{if(!o)return;if(o=!1,l)z.style.visibility="hidden";else z.style.display="none";u(O),g=-1,C=0,a=0,s()},_=(f)=>{if(R===0){Q();return}if(f<G[0]){Q();return}let F=0,b=R-1;while(F<b){let e=F+b+1>>>1;if(G[e]+T[e]<=f)F=e;else b=e-1}if(!o)I();K(F);let m=F+1;if(m<R){let e=G[m]-f;if(e<=0&&e>-a){if(d!==m||!k)d=m,S(P,m),k=!0;let n=a>0?e/a*C:e;V(n)}else if(e<=-a){if(k)v()}else if(k)s()}else if(k)s()},h=()=>{w();let f=g;if(g=-1,C=0,a=0,f>=0)K(f)},x=()=>{z.remove(),g=-1,C=0,a=0,d=-1,o=!1,k=!1};if(!L)z.style.display="none";return{update:_,refresh:h,show:I,hide:Q,destroy:x}};var g2={selected:!1,focused:!1},X1=typeof process<"u"&&process.env?.NODE_ENV!=="production";function R0(j){if(!j.getGroupForIndex)throw Error("[vlist] groups: getGroupForIndex is required");let $=j.header?.height??j.header?.width??j.headerHeight;if($==null||typeof $==="number"&&$<=0)throw Error("[vlist] groups: header height/width must be a positive number or function");let q=j.header?.template??j.headerTemplate;if(!q)throw Error("[vlist] groups: header.template is required");let Y=q,J,Z=null,B,X,L,A,U,c,M,z=null,D,y,H,O=null,P,W,G=null,E=null,T=new Map,R=new Set,w=new Map,g=-1,C=-1,a=!0,d=-1,o=0,i=null,k;function S(){return J.totalEntries}function u(){let Q=X.totalItems;if(Q===d)return;if(X1)console.log(`[groups] syncLayout: ${d} → ${Q}`);let _=d>0;d=Q,J.rebuild(Q,z??M),k(J.totalEntries);let h=B.getTotalSize();if(A.style[D?"width":"height"]=h+"px",Z)Z.refresh(),Z.update(X.scrollPosition);if(_)N();let x=G?.("_scrollbar:getInstance");if(x)x()?.updateBounds(h,X.containerSize)}function K(Q){let _=B.getOffset(Q);if(D)return`translate(${Math.round(_)}px, 0)`;return`translate(0, ${Math.round(_)}px)`}function V(Q,_){let h=B.getSize(_);if(D)Q.style.width=`${h}px`;else Q.style.height=`${h}px`}function N(){T.forEach((Q)=>{Q.remove();let _=Q.getAttribute("data-id");if(_)w.set(_,Q);else L.release(Q)}),T.clear(),R.clear()}function v(){if(w.size>0)w.forEach((Q)=>L.release(Q)),w.clear()}function s(Q,_,h,x){if(E===null)E=!!G?.("_getSelectedIds");if(_.type==="header"){let n=`__group_header_${_.group.groupIndex}`;if(Q.getAttribute("data-id")===n)return!0;Q.className=W,Q.setAttribute("role","presentation"),Q.removeAttribute("aria-selected"),Q.setAttribute("data-id",n);let Q2=Y(_.group.key,_.group.groupIndex);if(typeof Q2==="string")Q.innerHTML=Q2;else Q.innerHTML="",Q.appendChild(Q2);return!0}let f=_.dataIndex,F=M(f);if(!F)return Q.innerHTML="",!1;let b=F._isPlaceholder===!0,m=String(F.id);if(!b&&Q.getAttribute("data-id")===m){if(E)Q.id=`${y}-item-${x}`,Q.setAttribute("aria-posinset",String(f+1)),Q.setAttribute("aria-setsize",String(X.totalItems));return!0}if(Q.className=P,Q.setAttribute("role",E?"option":"listitem"),Q.setAttribute("data-id",m),E)Q.id=`${y}-item-${x}`,Q.setAttribute("aria-posinset",String(f+1)),Q.setAttribute("aria-setsize",String(X.totalItems));if(b)Q.classList.add(`${y}-item--placeholder`);if(h)h(x,g2);else g2.selected=!1,g2.focused=!1;let e=c(F,f,g2);if(typeof e==="string")Q.innerHTML=e;else Q.innerHTML="",Q.appendChild(e);return x2(Q),!b}function l(){if(X.destroyed)return;u();let{scrollPosition:Q,containerSize:_}=X;if(!a&&Q===g&&_===C)return;g=Q,C=_;let h=a;a=!1;let x=S();if(_<=0||x===0){if(T.size>0)T.forEach((t)=>{t.remove(),L.release(t)}),T.clear(),R.clear();return}let f=B.indexAtOffset(Q),F=B.indexAtOffset(Q+_);if(F<x-1)F++;f=Math.max(0,f),F=Math.min(x-1,Math.max(0,F));let b=Math.max(0,f-H),m=Math.min(x-1,F+H);if(b===X.prevRangeStart&&m===X.prevRangeEnd&&!X.renderPending)return;T.forEach((t,$2)=>{if($2<b||$2>m)t.remove(),L.release(t),T.delete($2),R.delete($2)});let e=O?.()??null,n=e?`${y}-item--selected`:"",Q2=e?`${y}-item--focused`:"",Z2=null;for(let t=b;t<=m;t++){let $2=T.get(t),B2=!1;if($2===void 0){let U2=J.getEntry(t);B2=U2.type==="header";let Y2;if(U2.type==="header")Y2=`__group_header_${U2.group.groupIndex}`;else{let L2=M(U2.dataIndex);if(L2&&L2._isPlaceholder!==!0)Y2=String(L2.id)}if(Y2!==void 0){let L2=w.get(Y2);if(L2)w.delete(Y2),$2=L2}if(!$2)$2=L.acquire();if($2.setAttribute("data-index",String(t)),s($2,U2,e,t))R.delete(t);else R.add(t);if(V($2,t),$2.style.transform=K(t),T.set(t,$2),!Z2)Z2=document.createDocumentFragment();Z2.appendChild($2)}else if(h&&R.has(t)){let U2=J.getEntry(t);if(U2.type==="item")if(s($2,U2,e,t))R.delete(t);else R.add(t)}else B2=$2.classList.contains(W);if(!B2&&e)if(e(t,g2),$2.classList.toggle(n,g2.selected),$2.classList.toggle(Q2,g2.focused),g2.selected)$2.setAttribute("aria-selected","true");else $2.removeAttribute("aria-selected")}if(Z2)A.appendChild(Z2);v();let G2=B.getTotalSize();A.style[D?"width":"height"]=G2+"px",X.prevRangeStart=b,X.prevRangeEnd=m,X.renderPending=!1;let M2=0,N2=0,J2=!1;for(let t=b;t<=m&&M2<X.capacity;t++){let $2=J.getEntry(t);if($2.type==="item"){if(!J2)N2=$2.dataIndex,J2=!0;X.visibleIndices[M2]=$2.dataIndex,X.visibleOffsets[M2]=B.getOffset(t),X.visibleSizes[M2]=B.getSize(t),M2++}}X.visibleCount=M2,X.startIndex=N2}function I(){if(X.destroyed)return;if(X1)console.log(`[groups] forceRender, placeholders: ${R.size}, rendered: ${T.size}`);let Q=i?.()??0;if(Q!==o){o=Q;let _=J.groups,h=_.length;J.rebuild(d,z??M);let x=J.groups,f=x.length!==h;if(!f){for(let F=0;F<h;F++)if(x[F].headerLayoutIndex!==_[F].headerLayoutIndex){f=!0;break}}if(f){k(J.totalEntries);let F=B.getTotalSize();if(A.style[D?"width":"height"]=F+"px",Z)Z.refresh(),Z.update(X.scrollPosition);let b=1/0,m=Math.min(h,x.length);for(let n=0;n<m;n++)if(x[n].headerLayoutIndex!==_[n].headerLayoutIndex){b=Math.min(x[n].headerLayoutIndex,_[n].headerLayoutIndex);break}if(x.length>h&&m<x.length)b=Math.min(b,x[m].headerLayoutIndex);else if(h>x.length&&m<h)b=Math.min(b,_[m].headerLayoutIndex);if(b<=X.prevRangeEnd)N();let e=G?.("_scrollbar:getInstance");if(e)e()?.updateBounds(F,X.containerSize)}}X.prevRangeStart=-1,X.prevRangeEnd=-1,X.renderPending=!0,a=!0,l()}return{name:"groups",priority:10,setup(Q){B=Q.sizeCache,X=Q.getState(),L=Q.pool,A=Q.dom.content,U=Q.dom.root,c=Q.template,D=Q.config.axis.primary==="x",y=Q.config.classPrefix,H=Q.config.overscan,M=Q.getItem.bind(Q),O=()=>Q.getItemStateFn(),G=Q.getMethod.bind(Q),E=null,P=`${y}-item`,W=`${y}-group-header`,queueMicrotask(()=>{let F=G?.("_getLoadedItem");if(F)z=F;let b=G?.("_getLoadedCount");if(b)i=b});let _=X.totalItems;J=M1(_,j,z??M),d=_;let h=typeof $==="number"?(F)=>$:(F)=>{let b=J.groups[F];if(!b)return 0;return $(b.key,F)},x=B.getSize,f=(F)=>{let b=J.getEntry(F);if(b.type==="header"){if(j.sticky!==!1&&b.group.groupIndex===0)return 0;return h(b.group.groupIndex)}return x(b.dataIndex)};if(Q.setSizeConfig(f),k=B.rebuild,B.rebuild=(F)=>{k(J.totalEntries)},B.rebuild(J.totalEntries),Q.setVirtualTotalFn(()=>J.totalEntries),U.classList.add(`${y}--grouped`),j.sticky!==!1){let F=(e,n)=>{let Q2=J.groups[n];if(!Q2)return;let Z2=Y(Q2.key,n);if(typeof Z2==="string")e.innerHTML=Z2;else e.replaceChildren(Z2)},b=J.getHeaderHeight(0),m=E0(U,y,D,b);if(Z=G1(U,J,B,F,y,D,0,void 0,m),Z.update(X.scrollPosition),!D)Q.dom.viewport.style.height=`calc(100% - ${b}px)`;else Q.dom.viewport.style.width=`calc(100% - ${b}px)`}Q.setRenderFn(l,I),Q.registerMethod("getGroupLayout",()=>J),Q.registerMethod("_dataToLayoutIndex",(F)=>J.dataToLayoutIndex(F)),Q.registerMethod("_layoutToDataIndex",(F)=>J.layoutToDataIndex(F)),Q.registerMethod("_getRenderedElement",(F)=>T.get(F)??null),Q.registerMethod("_isGroupHeader",(F)=>{return J.getEntry(F).type==="header"}),Q.registerMethod("scrollToIndex",(F,b="start")=>{let m=J.dataToLayoutIndex(F),e=J.totalEntries;if(e===0)return;let n=Math.max(0,Math.min(m,e-1)),Q2=B.getOffset(n),Z2=B.getSize(n),G2=X.containerSize,M2=B.getTotalSize(),N2=Math.max(0,M2-G2),J2=typeof b==="string"?b:b.align??"start",t=typeof b==="object"?b.behavior:void 0,$2=typeof b==="object"?b.duration:void 0,B2;switch(J2){case"center":B2=Q2-(G2-Z2)/2;break;case"end":B2=Q2-G2+Z2;break;default:B2=Q2}if(B2=Math.max(0,Math.min(B2,N2)),t==="smooth"&&$2&&$2>0)Q.smoothScrollTo(B2,$2);else Q.scrollTo(B2)}),Q.registerDestroyHandler(()=>{for(let[,F]of T)F.remove();if(T.clear(),R.clear(),Z)Z.destroy(),Z=null;U.classList.remove(`${y}--grouped`)})},hooks:{onAfterScroll(Q,_){if(Z)Z.update(Q)}},destroy(){if(Z)Z.destroy(),Z=null;T.clear(),R.clear(),w.clear()}}}var A1=(j,$=50,q=1/0,Y=!0)=>{let J=j,Z=[],B=0,X=()=>{Z=J.map((H,O)=>({def:H,index:O,width:0,minWidth:a1(H.minWidth??$,1),maxWidth:H.maxWidth??q,resizable:H.resizable??Y,offset:0}))},L=(H)=>{if(Z.length===0){B=0;return}let O=0,P=0;for(let W=0;W<Z.length;W++){let G=Z[W],E=G.def;if(E.width!==void 0)G.width=T0(E.width,G.minWidth,G.maxWidth),O+=G.width;else P++}if(P){let G=Math.max(0,H-O)/P;for(let E=0;E<Z.length;E++){let T=Z[E];if(T.def.width===void 0)T.width=T0(G,T.minWidth,T.maxWidth)}}A()},A=()=>{let H=0;for(let O=0;O<Z.length;O++){let P=Z[O];P.offset=H,H+=P.width}B=H},U=(H,O)=>{if(H<0||H>=Z.length)return 0;let P=Z[H];if(!P.resizable)return P.width;let W=T0(O,P.minWidth,P.maxWidth);return P.width=W,A(),W},c=(H)=>{return Z[H]},M=(H)=>{if(Z.length===0)return;if(H<0)return Z[0];if(H>=B)return Z[Z.length-1];let O=0,P=Z.length-1;while(O<P){let W=O+P>>>1,G=Z[W];if(H<G.offset)P=W-1;else if(H>=G.offset+G.width)O=W+1;else return G}return Z[O]},z=(H)=>{if(H<0||H>=Z.length)return 0;return Z[H].offset},D=(H)=>{if(H<0||H>=Z.length)return 0;return Z[H].width},y=(H)=>{J=H,X()};return X(),{get columns(){return Z},get totalWidth(){return B},resolve:L,updateColumns:y,resizeColumn:U,getColumn:c,getColumnAtX:M,getColumnOffset:z,getColumnWidth:D}},T0=(j,$,q)=>Math.min(q,Math.max($,j)),a1=(j,$)=>Math.max($,j);var D1=(j,$,q,Y,J,Z)=>{let B=document.createElement("div");B.setAttribute("role","rowgroup");let X=document.createElement("div");X.className=`${q}-table-header`,X.setAttribute("role","row"),X.setAttribute("aria-rowindex","1"),X.style.height=`${$}px`;let L=document.createElement("div");L.className=`${q}-table-header-scroll`,L.setAttribute("role","presentation"),X.appendChild(L),B.appendChild(X),j.insertBefore(B,j.firstChild),j.style.setProperty("--vlist-table-header-height",`${$}px`);let A=[],U=[],c=!0,M=null,z="asc",D=null,y=!1,H=-1,O=0,P=0,W=0,G=(K,V)=>{let N=document.createElement("div");N.className=`${q}-table-header-cell`,N.setAttribute("role","columnheader"),N.setAttribute("aria-colindex",String(V+1)),N.setAttribute("tabindex",V===0?"0":"-1"),N.dataset.columnKey=K.def.key;let v=K.def.align;if(v==="center")N.classList.add(`${q}-table-header-cell--center`);else if(v==="right")N.classList.add(`${q}-table-header-cell--right`);let s=document.createElement("div");s.className=`${q}-table-header-content`;let l=K.def.header?K.def.header(K.def):K.def.label;if(typeof l==="string")s.textContent=l;else s.appendChild(l);if(N.appendChild(s),K.def.sortable){let I=document.createElement("span");I.className=`${q}-table-header-sort`,I.setAttribute("aria-hidden","true"),N.appendChild(I),U.push(I),N.classList.add(`${q}-table-header-cell--sortable`)}else U.push(null);if(K.resizable){let I=document.createElement("div");I.className=`${q}-table-header-resize`,I.dataset.resizeIndex=String(V),N.appendChild(I)}return N},E=(K)=>{D=K,L.textContent="",A=[],U=[];let V=K.columns;for(let N=0;N<V.length;N++){let v=V[N],s=G(v,N);A.push(s),L.appendChild(s)}if(T(K),M)R(M,z)},T=(K)=>{D=K;let V=K.columns;L.style.width=`${K.totalWidth}px`;for(let N=0;N<A.length&&N<V.length;N++){let v=A[N],s=V[N];v.style.width=`${s.width}px`}},R=(K,V)=>{if(M=K,z=V,!D)return;let N=D.columns;for(let v=0;v<U.length&&v<N.length;v++){let s=U[v];if(!s)continue;if(N[v].def.key===K)s.textContent=V==="asc"?"▲":"▼",s.style.opacity="0.7",A[v].setAttribute("aria-sort",V==="asc"?"ascending":"descending");else s.textContent="",s.style.opacity="0",A[v].removeAttribute("aria-sort")}},w=(K)=>{L.style.transform=`translateX(${-K}px)`},g=(K)=>{let V=K.target;if(!V.dataset.resizeIndex)return;if(K.preventDefault(),K.stopPropagation(),H=+V.dataset.resizeIndex,!D)return;let N=D.getColumn(H);if(!N?.resizable)return;y=!0,O=K.clientX,P=N.width,j.classList.add(`${q}--col-resizing`),j.style.cursor="col-resize",V.classList.add(`${q}-table-header-resize--active`),V.setPointerCapture(K.pointerId),V.addEventListener("pointermove",C),V.addEventListener("pointerup",a),V.addEventListener("pointercancel",a)},C=(K)=>{if(!y||!D)return;let V=K.clientX-O;if(Math.abs(V)<1)return;let N=Math.max(0,P+V);Y(H,N)},a=(K)=>{if(!y)return;let V=K.target;V.removeEventListener("pointermove",C),V.removeEventListener("pointerup",a),V.removeEventListener("pointercancel",a);try{V.releasePointerCapture(K.pointerId)}catch{}V.classList.remove(`${q}-table-header-resize--active`),j.classList.remove(`${q}--col-resizing`),j.style.cursor="",y=!1,H=-1},d=(K)=>{let V=K.target;if(V.dataset.resizeIndex)return;if(y)return;let N=V;while(N&&!N.dataset.columnKey)if(N=N.parentElement,N===X||N===null)return;let v=N.dataset.columnKey;if(!D)return;let s=D.columns,l=-1;for(let Q=0;Q<s.length;Q++)if(s[Q].def.key===v){l=Q;break}if(l===-1)return;let I=s[l];if(Z)Z({key:v,index:l,event:K});if(I.def.sortable&&J){let Q;if(M===v)Q=z==="asc"?"desc":null;else Q="asc";J({key:v,index:l,direction:Q})}},o=(K)=>{if(K<0||K>=A.length)return;A[W]?.setAttribute("tabindex","-1"),W=K;let V=A[W];V.setAttribute("tabindex","0"),V.focus()},i=(K)=>{let V=K.key;if(V==="ArrowRight"){if(K.ctrlKey||K.metaKey){if(!D)return;let N=D.getColumn(W);if(N?.resizable)Y(W,N.width+10),K.preventDefault()}else if(W<A.length-1)o(W+1),K.preventDefault();K.stopPropagation();return}if(V==="ArrowLeft"){if(K.ctrlKey||K.metaKey){if(!D)return;let N=D.getColumn(W);if(N?.resizable)Y(W,N.width-10),K.preventDefault()}else if(W>0)o(W-1),K.preventDefault();K.stopPropagation();return}if(V==="Home"){o(0),K.preventDefault(),K.stopPropagation();return}if(V==="End"){o(A.length-1),K.preventDefault(),K.stopPropagation();return}if(V==="Enter"||V===" "){if(!D)return;let N=D.getColumn(W);if(N?.def.sortable&&J){let v;if(M===N.def.key)v=z==="asc"?"desc":null;else v="asc";J({key:N.def.key,index:W,direction:v}),K.preventDefault()}K.stopPropagation();return}if(V==="ArrowDown"){j.focus(),K.preventDefault(),K.stopPropagation();return}};return X.addEventListener("pointerdown",g),X.addEventListener("click",d),X.addEventListener("keydown",i),{element:X,update:T,updateSort:R,rebuild:E,show:()=>{if(c)return;c=!0,X.style.display=""},hide:()=>{if(!c)return;c=!1,X.style.display="none"},destroy:()=>{X.removeEventListener("pointerdown",g),X.removeEventListener("click",d),X.removeEventListener("keydown",i),j.style.removeProperty("--vlist-table-header-height"),B.remove(),A=[],U=[],D=null,c=!1},syncScroll:w}};var o1=()=>{let j=[];return{acquire:()=>j.pop()||document.createElement("div"),release:($)=>{if($.parentNode?.removeChild($),j.length<200)$.className="",$.removeAttribute("data-id"),$.removeAttribute("data-index"),$.removeAttribute("aria-selected"),$.removeAttribute("aria-rowindex"),$.removeAttribute("role"),$.style.cssText="",$.textContent="",j.push($)},clear:()=>{j.length=0}}},H1=(j,$,q,Y,J,Z,B,X,L)=>{let A=o1(),U=new Map,c=-1,M=q,z=null,D=null,y=null,H=(F,b)=>{D=F,y=b},O=(F,b)=>{b?F.setAttribute("aria-selected","true"):F.removeAttribute("aria-selected")},P=(F,b,m,e)=>{F.setAttribute("role",b),F.setAttribute("data-id",String(m)),F.setAttribute("data-index",String(e))},W=(F)=>String(F).startsWith("__placeholder_"),G=`${J}-item ${J}-table-row`,E=`${J}-item--selected`,T=`${J}-item--focused`,R=`${J}-table-cell`,w=`${J}-table-cell--center`,g=`${J}-table-cell--right`,C=`${J}-item--odd`,a=`${J}-item--placeholder`,d=`${J}-item--replaced`,o=`${J}-item ${J}-table-row ${J}-table-group-header`,i=`${J}-table-group-header-content`,k=(F,b,m,e,n=!1)=>{if(m.def.cell){let Q2=m.def.cell(b,m.def,e);if(typeof Q2==="string")F.innerHTML=Q2;else F.replaceChildren(Q2)}else{let Q2=b[m.def.key],Z2=Q2!=null?String(Q2):"";if(n&&Z2)F.innerHTML=`<span>${Z2}</span>`;else F.textContent=Z2}},S=(F,b,m,e,n=!1)=>{let Q2=G;if(X){if(z){let Z2=z(b);if(Z2>=0&&(Z2&1)===1)Q2+=` ${C}`}else if((b&1)===1)Q2+=` ${C}`}if(n)Q2+=` ${a}`;if(m)Q2+=` ${E}`;if(e)Q2+=` ${T}`;F.className=Q2},u=(F,b,m)=>{if(m?.compression?.isCompressed)return Math.round(m2(F,m.scrollPosition,b,m.totalItems,m.containerSize,m.compression,m.rangeStart));return b.getOffset(F)},K=(F,b)=>{let m=b.def.align;if(m==="center")F.classList.add(w),F.classList.remove(g);else if(m==="right")F.classList.add(g),F.classList.remove(w);else F.classList.remove(w,g)},V=(F,b)=>{let e=M.columns.length;if(b.length===e)return b;let n=[];for(let Q2=0;Q2<e;Q2++){let Z2;if(Q2<b.length)Z2=b[Q2];else Z2=document.createElement("div"),Z2.className=R,F.appendChild(Z2);n.push(Z2)}for(let Q2=e;Q2<b.length;Q2++)b[Q2].remove();return n},N=(F,b,m,e)=>{let n=A.acquire(),Q2=F,Z2=m.getSize(b),G2=u(b,m,e);n.style.cssText=`width:${M.totalWidth}px;height:${Z2}px;transform:translateY(${G2}px)`,n.className=o,P(n,"presentation",F.id,b),n.removeAttribute("aria-selected"),n.removeAttribute("aria-rowindex"),n.replaceChildren();let M2=document.createElement("div");if(M2.className=i,y){let N2=y(Q2.groupKey,Q2.groupIndex);if(typeof N2==="string")M2.innerHTML=N2;else M2.appendChild(N2)}return n.appendChild(M2),{element:n,cells:[],index:b,isGroupHeader:!0,_lastItem:F,lastItemId:F.id,lastSelected:!1,lastFocused:!1,lastOffset:G2,lastHeight:Z2}},v=(F,b,m,e,n,Q2)=>{let Z2=A.acquire(),G2=n.getSize(b),M2=u(b,n,Q2),N2=W(F.id);Z2.style.cssText=`width:${M.totalWidth}px;height:${G2}px;transform:translateY(${M2}px)`,S(Z2,b,m,e,N2),P(Z2,"row",F.id,b),Z2.id=`${Z}-item-${b}`,Z2.setAttribute("aria-rowindex",String(b+2)),O(Z2,m);let J2=V(Z2,[]),t=M.columns;for(let $2=0;$2<J2.length&&$2<t.length;$2++){let B2=J2[$2],U2=t[$2];B2.style.cssText=`left:${U2.offset}px;width:${U2.width}px`,B2.setAttribute("role","gridcell"),B2.setAttribute("aria-colindex",String($2+1)),K(B2,U2),k(B2,F,U2,b,N2)}return{element:Z2,cells:J2,index:b,isGroupHeader:!1,_lastItem:F,lastItemId:F.id,lastSelected:m,lastFocused:e,lastOffset:M2,lastHeight:G2}},s=(F,b,m,e,n)=>{let Q2=!1,Z2=B();if(Z2!==c)c=Z2,Q2=!0;let G2=null,M2=$();z=typeof X==="string"&&L?L():null;for(let N2=b.start;N2<=b.end;N2++){let J2=N2-b.start,t=F[J2];if(!t)continue;let $2=m.has(t.id),B2=N2===e,U2=D?D(t):!1,Y2=U.get(N2);if(Y2){if(Y2.isGroupHeader!==U2){A.release(Y2.element),U.delete(N2);let A2=U2?N(t,N2,M2,n):v(t,N2,$2,B2,M2,n);if(U.set(N2,A2),!G2)G2=document.createDocumentFragment();G2.appendChild(A2.element);continue}if(U2){if(Y2._lastItem!==t){let b2=t,F2=Y2.element.firstElementChild;if(F2&&y){let y2=y(b2.groupKey,b2.groupIndex);if(typeof y2==="string")F2.innerHTML=y2;else F2.replaceChildren(y2)}Y2.element.setAttribute("data-id",String(t.id)),Y2._lastItem=t,Y2.lastItemId=t.id}let L2=u(N2,M2,n);if(Y2.lastOffset!==L2)Y2.lastOffset=L2,Y2.element.style.transform=`translateY(${L2}px)`;let X2=M2.getSize(N2);if(Y2.lastHeight!==X2)Y2.lastHeight=X2,Y2.element.style.height=`${X2}px`}else{let A2=Y2._lastItem!==t,L2=Y2.lastSelected!==$2,X2=Y2.lastFocused!==B2;if(A2){let y2=Y2.lastItemId!=null&&W(Y2.lastItemId),D2=W(t.id);if(!D2&&s2(m,N2,t.id))$2=!0;let k2=M.columns;for(let H2=0;H2<Y2.cells.length&&H2<k2.length;H2++)k(Y2.cells[H2],t,k2[H2],N2,D2);if(S(Y2.element,N2,$2,B2,D2),Y2.element.setAttribute("data-id",String(t.id)),O(Y2.element,$2),y2&&!D2)Y2.element.classList.add(d),setTimeout(()=>{Y2.element.classList.remove(d)},300);Y2._lastItem=t,Y2.lastItemId=t.id,Y2.lastSelected=$2,Y2.lastFocused=B2}else if(L2||X2)S(Y2.element,N2,$2,B2,W(t.id)),O(Y2.element,$2),Y2.lastSelected=$2,Y2.lastFocused=B2;let b2=u(N2,M2,n);if(Y2.lastOffset!==b2)Y2.lastOffset=b2,Y2.element.style.transform=`translateY(${b2}px)`;let F2=M2.getSize(N2);if(Y2.lastHeight!==F2)Y2.lastHeight=F2,Y2.element.style.height=`${F2}px`;if(Q2)Y2.element.setAttribute("aria-rowindex",String(N2+2))}}else{if(s2(m,N2,t.id))$2=!0;let A2=U2?N(t,N2,M2,n):v(t,N2,$2,B2,M2,n);if(U.set(N2,A2),!G2)G2=document.createDocumentFragment();G2.appendChild(A2.element)}}if(G2)j.appendChild(G2);for(let[N2,J2]of U)if(N2<b.start||N2>b.end)A.release(J2.element),U.delete(N2)},l=(F)=>{let b=$();for(let[m,e]of U){let n=u(m,b,F);if(e.lastOffset!==n)e.lastOffset=n,e.element.style.transform=`translateY(${n}px)`}},I=(F,b,m,e)=>{let n=U.get(F);if(!n)return;if(n.isGroupHeader)return;let Q2=M.columns;for(let Z2=0;Z2<n.cells.length&&Z2<Q2.length;Z2++)k(n.cells[Z2],b,Q2[Z2],F);n.element.setAttribute("data-id",String(b.id)),n._lastItem=b,n.lastItemId=b.id,S(n.element,F,m,e),O(n.element,m),n.lastSelected=m,n.lastFocused=e},Q=(F,b,m)=>{let e=U.get(F);if(!e)return;if(e.isGroupHeader)return;let n=e.lastSelected!==b,Q2=e.lastFocused!==m;if(n||Q2)S(e.element,F,b,m),O(e.element,b),e.lastSelected=b,e.lastFocused=m},_=(F)=>{M=F;let b=F.columns;for(let[,m]of U)if(m.element.style.width=`${F.totalWidth}px`,m.cells.length>0)for(let e=0;e<m.cells.length&&e<b.length;e++){let n=m.cells[e],Q2=b[e];n.style.left=`${Q2.offset}px`,n.style.width=`${Q2.width}px`}},h=(F)=>{return U.get(F)?.element},x=()=>{for(let[,F]of U)A.release(F.element);U.clear(),c=-1};return{render:s,updatePositions:l,updateItem:I,updateItemClasses:Q,getElement:h,updateColumnLayout:_,setGroupHeaderFn:H,clear:x,destroy:()=>{x(),A.clear()}}};var i1=new Set;function b0(j){if(!j.columns?.length)throw Error("[vlist] table: columns must be a non-empty array");if(j.rowHeight===void 0&&j.estimatedRowHeight===void 0)throw Error("[vlist] table: either rowHeight or estimatedRowHeight is required");let $=null,q=null,Y=null,J,Z,B=null,X=null,L=null,A=!1,U=-1,c=null,M=!1;function z(){if(A||!B)return;A=!0,X=B.getMethod("_getSelectedIds")??null,L=B.getMethod("_getFocusedIndex")??null}function D(){if(M||!B)return;M=!0,c=B.getMethod("_scale:getCompression")??null}let y=[],H={start:0,end:0},O={start:0,end:-1};function P(){if(J.destroyed||!B||!Y||!$)return;let{containerSize:G,totalItems:E}=J;if(G<=0||E===0)return;let T=E+1;if(T!==U)U=T,B.dom.root.setAttribute("aria-rowcount",`${T}`);D();let R=J.scrollPosition,w=c?.()??null,g=w!==null&&w.isCompressed,C=B.config.overscan,a,d;if(g)d2(R,G,Z,E,w,O),a=Math.max(0,O.start-C),d=Math.min(E-1,O.end+C);else{let K=Z.indexAtOffset(R),V=Z.indexAtOffset(R+G);if(V<E-1)V++;K=Math.max(0,K),V=Math.min(E-1,V),a=Math.max(0,K-C),d=Math.min(E-1,V+C)}if(a===J.prevRangeStart&&d===J.prevRangeEnd&&!J.renderPending)return;z();let o=X?.()??i1,i=L?.()??-1;y.length=0;for(let K=a;K<=d;K++){let V=B.getItem(K);if(V)y.push(V)}H.start=a,H.end=d;let k;if(g)k={scrollPosition:R,totalItems:E,containerSize:G,rangeStart:a,compression:w};Y.render(y,H,o,i,k),J.prevRangeStart=a,J.prevRangeEnd=d,J.renderPending=!1;let S=d-a+1;J.visibleCount=Math.min(S,J.capacity),J.startIndex=a;for(let K=0;K<J.visibleCount;K++){let V=a+K;J.visibleIndices[K]=V,J.visibleOffsets[K]=Z.getOffset(V),J.visibleSizes[K]=Z.getSize(V)}let u=Z.getTotalSize();J.totalSize=u,B.dom.content.style.height=u+"px"}function W(){if(J.destroyed)return;J.prevRangeStart=-1,J.prevRangeEnd=-1,J.renderPending=!0,P()}return{name:"table",priority:10,conflicts:["grid","masonry"],setup(G){B=G,J=G.getState(),Z=G.sizeCache;let{dom:E,config:T,emitter:R}=G,{classPrefix:w}=T;if(T.axis.primary==="x")throw Error("[vlist] table: cannot be used with horizontal orientation");if(T.reverse)throw Error("[vlist] table: cannot be used with reverse mode");let g=j.resizable??!0,C=j.minColumnWidth??50,a=j.maxColumnWidth??1/0,d=j.rowBorders??!0,o=j.rowHeight,i=j.headerHeight??(typeof o==="number"?o:40),k=j.sort?.key??null,S=j.sort?.direction??"asc";if($=A1(j.columns,C,a,g),typeof o==="function"||typeof o==="number")G.setSizeConfig(o);if(G.rebuildSizeCache(),E.root.classList.add(`${w}--table`),d)E.root.classList.add(`${w}--table-row-borders`);if(j.columnBorders)E.root.classList.add(`${w}--table-col-borders`);queueMicrotask(()=>{if(G.getMethod("_getSelectedIds"))E.root.setAttribute("tabindex","0")}),E.root.setAttribute("role","grid"),E.root.setAttribute("aria-colcount",`${j.columns.length}`),E.viewport.setAttribute("role","none"),E.content.setAttribute("role","rowgroup");let u=J.crossSize;$.resolve(u);let K=()=>{if(!$)return;E.content.style.minWidth=`${$.totalWidth}px`},V=(I,Q)=>{if(!$)return;let _=$.getColumn(I);if(!_)return;let h=_.width,x=$.resizeColumn(I,Q);q?.update($),Y?.updateColumnLayout($),K(),R.emit("column:resize",{key:_.def.key,index:I,previousWidth:h,width:x})},N=(I)=>{k=I.direction===null?null:I.key,S=I.direction??"asc",q?.updateSort(k,S),R.emit("column:sort",I)};if(q=D1(E.root,i,w,V,N),q.rebuild($),k)q.updateSort(k,S);K(),Y=H1(E.content,()=>Z,$,j.columns,w,w,()=>J.totalItems,T.striped||void 0),G.setRenderFn(P,W);let v=q,s=-1,l=()=>{let I=E.viewport.scrollLeft;if(I!==s)s=I,v?.syncScroll?.(I)};E.viewport.addEventListener("scroll",l,{passive:!0}),G.registerMethod("updateColumns",(I)=>{if(!$||!q)return;if($.updateColumns(I),$.resolve(J.crossSize),q.rebuild($),k)q.updateSort(k,S);K(),Y?.updateColumnLayout($),Y?.clear(),G.forceRender()}),G.registerMethod("resizeColumn",(I,Q)=>{if(!$)return;let _;if(typeof I==="string"){let h=$.columns;_=-1;for(let x=0;x<h.length;x++)if(h[x].def.key===I){_=x;break}if(_===-1)return}else _=I;V(_,Q)}),G.registerMethod("getColumnWidths",()=>{if(!$)return{};let I={},Q=$.columns;for(let _=0;_<Q.length;_++)I[Q[_].def.key]=Q[_].width;return I}),G.registerMethod("setSort",(I,Q)=>{k=I,S=Q??"asc",q?.updateSort(k,S)}),G.registerMethod("getSort",()=>{return{key:k,direction:S}}),G.registerMethod("_getTableLayout",()=>$),G.registerMethod("_getTableHeaderHeight",()=>i),G.registerMethod("_updateRenderedItem",(I,Q,_,h)=>{Y?.updateItem(I,Q,_,h)}),G.registerMethod("_replaceTableRenderer",(I)=>{Y=I}),G.registerMethod("_updateTableForGroups",(I,Q)=>{Y?.setGroupHeaderFn(I,Q)}),G.registerMethod("_updateItemClasses",(I,Q,_)=>{Y?.updateItemClasses(I,Q,_)}),G.registerKeydownHandler((I)=>{if(I.key!=="ArrowLeft"&&I.key!=="ArrowRight")return;if(!$)return;let Q=$.columns;if(Q.length===0)return;let _=E.viewport.clientWidth;if($.totalWidth<=_)return;let h=E.viewport.scrollLeft;if(I.key==="ArrowRight"){for(let x=0;x<Q.length;x++)if(Q[x].offset>h+1){E.viewport.scrollLeft=Q[x].offset,I.preventDefault();return}}else{for(let x=Q.length-1;x>=0;x--)if(Q[x].offset<h-1){E.viewport.scrollLeft=Q[x].offset,I.preventDefault();return}if(h>0)E.viewport.scrollLeft=0,I.preventDefault()}}),G.registerDestroyHandler(()=>{E.viewport.removeEventListener("scroll",l),q?.destroy(),q=null,Y?.destroy(),Y=null,E.content.style.minWidth="",E.root.classList.remove(`${w}--table`),E.root.classList.remove(`${w}--table-row-borders`),E.root.classList.remove(`${w}--table-col-borders`),E.root.removeAttribute("role"),E.root.removeAttribute("aria-colcount"),E.root.removeAttribute("aria-rowcount"),E.root.removeAttribute("tabindex"),E.viewport.removeAttribute("role"),E.content.removeAttribute("role")})},hooks:{onResize(G,E){if(!$||!B)return;let T=J.crossSize;if($.resolve(T),q?.update($),Y?.updateColumnLayout($),$)B.dom.content.style.minWidth=`${$.totalWidth}px`},onAfterScroll(){if(!B||!q)return;q?.syncScroll?.(B.dom.viewport.scrollLeft)}},destroy(){q?.destroy(),q=null,Y?.destroy(),Y=null,B=null}}}function y0(j){let $=j?.handle??null,q=j?.ghostClass??"vlist-sort-ghost",Y=j?.shiftDuration??150,J=j?.edgeScrollZone??40,Z=j?.edgeScrollSpeed??20,B=j?.dragThreshold??5,X=j?.ghostContainer??null,L,A,U=null,c,M,z,D,y,H,O,P,W,G,E=!1,T=-1,R=-1,w=0,g=0,C=0,a=0,d=!1,o=null,i=0,k=null,S=0,u=0,K=0,V=null,N=!1,v="",s=-1,l=-1,I=[],Q="",_=null,h=null,x="",f=!1,F=(p)=>{return p.closest("[data-index]")},b=(p)=>{let j2=p.dataset.index;return j2===void 0?-1:+j2},m=(p)=>{let j2=p.getBoundingClientRect(),q2=p.cloneNode(!0);return q2.className=`${D}-item ${q}`,q2.removeAttribute("data-index"),q2.style.cssText=`position:fixed;pointer-events:none;z-index:10000;width:${j2.width}px;height:${j2.height}px;left:${j2.left}px;top:${j2.top}px;transition:none;will-change:transform`,(X||document.body).appendChild(q2),q2},e=()=>{if(!o)return;o.style.left=`${C-u}px`,o.style.top=`${a-K}px`},n=()=>{let p=L.totalItems;if(p===0)return 0;let j2=M.getBoundingClientRect(),q2=L.scrollPosition,V2=y?C-u-j2.left+M.scrollLeft+q2:a-K-j2.top+q2,_2=V2+S,T2=A.getOffset(T)+A.getSize(T);if(_2>T2){let E2=A.indexAtOffset(_2),C2=A.getOffset(E2)+A.getSize(E2)/2,h2=_2>C2?E2:E2-1;return Math.min(Math.max(h2,T),p-1)}let w2=A.getOffset(T);if(V2<w2){let E2=A.indexAtOffset(V2),C2=A.getOffset(E2)+A.getSize(E2)/2,h2=V2<C2?E2:E2+1;return Math.max(Math.min(h2,T),0)}return T},Q2=()=>{let p=c.children,j2=S;for(let q2=0;q2<p.length;q2++){let V2=p[q2],_2=b(V2);if(_2<0||_2===T)continue;let T2=0;if(R>T){if(_2>T&&_2<=R)T2=-j2}else if(R<T){if(_2>=R&&_2<T)T2=j2}let w2=A.getOffset(_2),E2=Math.round(w2+T2);V2.style.transition=O,V2.style.transform=`${H}(${E2}px)`}},Z2=()=>{let p=c.children;for(let j2=0;j2<p.length;j2++){let q2=p[j2],V2=b(q2);if(V2>=0)q2.style.transform=`${H}(${Math.round(A.getOffset(V2))}px)`;q2.style.transition=""}},G2=()=>{if(!U)return;let p=n();if(p===R)return;R=p,Q2(),U.emitter.emit("sort:move",{fromIndex:T,currentIndex:R})},M2=()=>{let p=M.getBoundingClientRect();if(y)return C<p.left||C>p.right;return a<p.top||a>p.bottom},N2=()=>{let p=U?.getMethod("_getFocusedIndex");return p?p():-1},J2=(p)=>{let j2=U?.getMethod("_focusById");if(j2)j2(p)},t=(p)=>{if(!U)return;let j2=y?M.clientWidth:M.clientHeight,q2=L.scrollPosition,V2=A.getOffset(p),_2=V2+A.getSize(p);if(V2<q2)U.scrollTo(Math.max(0,V2));else if(_2>q2+j2)U.scrollTo(_2-j2)},$2=(p)=>{if(!h)return;h.textContent="",h.offsetHeight,h.textContent=p},B2=(p)=>{if(!U)return"";let q2=U.getItems()[p];if(!q2)return"";return c.querySelector(`[data-index="${p}"]`)?.textContent?.trim()||String(q2.id)},U2=()=>String(L.totalItems),Y2=(p)=>{let j2=c.children;for(let q2=0;q2<j2.length;q2++)j2[q2].style.transition=p},A2=()=>{let p=()=>{if(!E||!U)return;let j2=M.getBoundingClientRect(),q2=0,V2=3;if(y){let T2=C-j2.left,w2=j2.right-C;if(T2<J){let E2=Math.min(V2,1-T2/J);q2=-Z*E2*E2}else if(w2<J){let E2=Math.min(V2,1-w2/J);q2=Z*E2*E2}}else{let T2=a-j2.top,w2=j2.bottom-a;if(T2<J){let E2=Math.min(V2,1-T2/J);q2=-Z*E2*E2}else if(w2<J){let E2=Math.min(V2,1-w2/J);q2=Z*E2*E2}}let _2=M2();if(q2!==0){let T2=L.scrollPosition,w2=A.getTotalSize()-(y?M.clientWidth:M.clientHeight);if(q2<0&&T2<=0||q2>0&&T2>=w2)f=_2;else f=!0,U.scrollTo(T2+q2)}else f=_2;i=requestAnimationFrame(p)};i=requestAnimationFrame(p)},L2=()=>{if(i)cancelAnimationFrame(i),i=0},X2=(p=!1)=>{if(E=!1,d=!1,o&&o.parentNode)o.remove();o=null,k=null;let j2=c.children;for(let V2=0;V2<j2.length;V2++){let _2=j2[V2];_2.classList.remove(G);let T2=b(_2);if(T2>=0)_2.style.transform=`${H}(${Math.round(A.getOffset(T2))}px)`;_2.style.transition=""}L2(),z.classList.remove(P),document.body.style.cursor="";let q2=window.getSelection();if(q2)q2.removeAllRanges();if(document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),!p&&U)U.forceRender()},b2=(p,j2)=>{if(!U)return;let q2=p!==j2&&p>=0&&j2>=0,V2=()=>{if(!U)return;if(E=!1,q2){if(z.classList.add(W),U.emitter.emit("sort:end",{fromIndex:p,toIndex:j2}),V!==null)J2(V);X2(!0),requestAnimationFrame(()=>z.classList.remove(W))}else z.classList.add(W),U.emitter.emit("sort:cancel",{originalItems:[...U.getItems()]}),X2(!1),requestAnimationFrame(()=>z.classList.remove(W))};if(!o){V2();return}let _2=M.getBoundingClientRect(),T2=L.scrollPosition,w2=A.getOffset(j2),E2=Y>0?Y:150;if(o.style.transition=`left ${E2}ms ease, top ${E2}ms ease`,y)o.style.left=`${_2.left-M.scrollLeft+w2-T2}px`,o.style.top=`${_2.top}px`;else o.style.left=`${_2.left}px`,o.style.top=`${_2.top+w2-T2}px`;let C2=!1,h2=()=>{if(C2)return;C2=!0,o?.removeEventListener("transitionend",h2),V2()};o.addEventListener("transitionend",h2),setTimeout(h2,E2+50)},F2=(p)=>{if(L.destroyed||!U)return;if(E)return;if(N)z2();if(p.button!==0)return;let j2=p.target;if($){if(!j2.closest($))return}let q2=F(j2);if(!q2)return;let V2=b(q2);if(V2<0)return;w=p.clientX,g=p.clientY,C=p.clientX,a=p.clientY,T=V2,d=!1,k=q2;let _2=q2.getBoundingClientRect();u=p.clientX-_2.left,K=p.clientY-_2.top,document.addEventListener("pointermove",y2),document.addEventListener("pointerup",D2),document.addEventListener("pointercancel",H2)};function y2(p){if(!U)return;if(C=p.clientX,a=p.clientY,!d){let j2=C-w,q2=a-g;if(Math.sqrt(j2*j2+q2*q2)<B)return;if(d=!0,E=!0,R=T,z.classList.add(P),document.body.style.cursor="grabbing",S=A.getSize(T),k)o=m(k),k.classList.add(G);let V2=N2();if(V2>=0){let T2=U.getItems()[V2];V=T2?T2.id:null}else V=null;U.emitter.emit("sort:start",{index:T}),A2()}if(E){if(p.preventDefault(),e(),!f)G2();else if(M2()){if(R!==T)R=T,Z2()}}}function D2(p){if(!d){document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),k=null;return}p.preventDefault(),document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),L2(),b2(T,R)}let k2=()=>{if(!d)return;document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),L2(),Z2(),b2(T,T)};function H2(){k2()}let P2=()=>{let p=c.querySelectorAll(`.${x}`);for(let j2=0;j2<p.length;j2++)p[j2].classList.remove(x)},W2=()=>{P2();let p=c.querySelector(`[data-id="${v}"]`);if(p)p.classList.add(x)},O2=(p)=>{if(!U)return;let j2=U.getItems(),q2=j2[p];if(!q2)return;N=!0,v=q2.id,s=p,l=p,I=[...j2],z.classList.add(P),U.emitter.emit("sort:start",{index:p}),W2(),$2(`Grabbed ${B2(p)}. Current position ${p+1} of ${U2()}. Use Up and Down arrow keys to move, Space to drop, Escape to cancel.`)},R2=()=>{if(!N||!U)return;N=!1;let p=l,j2=B2(p);Y2("none"),z.classList.remove(P),P2(),J2(v),U.forceRender(),$2(`${j2} dropped. Final position ${p+1} of ${U2()}.`),I=[],requestAnimationFrame(()=>Y2(""))},z2=()=>{if(!N||!U)return;N=!1;let p=s;if(Y2("none"),z.classList.remove(P),P2(),l!==p)U.emitter.emit("sort:cancel",{originalItems:I});J2(v),U.forceRender(),t(p),$2(`Reorder cancelled. Returned to position ${p+1} of ${U2()}.`),I=[],requestAnimationFrame(()=>Y2(""))},K2=(p)=>{if(!N||!U)return;let j2=L.totalItems,q2=l+p;if(q2<0||q2>=j2)return;let V2=l,_2=q2;Y2("none"),U.emitter.emit("sort:end",{fromIndex:V2,toIndex:_2}),l=_2,J2(v),U.forceRender(),t(_2),W2(),$2(`${B2(_2)} moved. New position ${_2+1} of ${U2()}.`),requestAnimationFrame(()=>Y2(""))},r=(p)=>{if(L.destroyed)return;if(E){if(p.key==="Escape")p.preventDefault(),p.stopImmediatePropagation(),k2();return}if(N)switch(p.key){case" ":case"Enter":p.preventDefault(),p.stopImmediatePropagation(),R2();return;case"Escape":p.preventDefault(),p.stopImmediatePropagation(),z2();return;case"ArrowUp":case"ArrowLeft":p.preventDefault(),p.stopImmediatePropagation(),K2(-1);return;case"ArrowDown":case"ArrowRight":p.preventDefault(),p.stopImmediatePropagation(),K2(1);return;default:if(!p.key.startsWith("F")&&p.key!=="Tab")p.preventDefault(),p.stopImmediatePropagation();return}if(p.key===" "&&!p.shiftKey&&!p.ctrlKey&&!p.metaKey){let j2=N2();if(j2>=0)p.preventDefault(),p.stopImmediatePropagation(),O2(j2)}};return{name:"sortable",priority:30,conflicts:["grid","masonry","table","scale"],setup(p){U=p,L=p.getState(),A=p.sizeCache,c=p.dom.content,M=p.dom.viewport,z=p.dom.root,D=p.config.classPrefix,y=p.config.axis.primary==="x",H=y?"translateX":"translateY",O=Y>0?`transform ${Y}ms ease`:"none",P=`${D}--sorting`,W=`${D}--settling`,G=`${D}-item--drag-source`,x=`${D}-item--kb-sorting`,p.registerMethod("isSorting",()=>E||N),c.addEventListener("pointerdown",F2),z.addEventListener("keydown",r),Q=`${D}-sort-instructions`,_=document.createElement("div"),_.id=Q,_.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",_.textContent="Press Space to reorder. Use arrow keys to move, Space to drop, Escape to cancel.",z.appendChild(_),h=document.createElement("div"),h.setAttribute("role","status"),h.setAttribute("aria-live","assertive"),h.setAttribute("aria-atomic","true"),h.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",z.appendChild(h),p.registerDestroyHandler(()=>{if(N)z2();X2(),c.removeEventListener("pointerdown",F2),z.removeEventListener("keydown",r),_?.remove(),h?.remove()})},hooks:{onCommit(){if(!U)return;let p=c.children;for(let j2=0;j2<p.length;j2++){let q2=p[j2],V2=b(q2);if(V2<0)continue;if(q2.setAttribute("aria-roledescription","sortable item"),q2.setAttribute("aria-describedby",Q),N)if(q2.getAttribute("data-id")===String(v))q2.classList.add(x);else q2.classList.remove(x);if(E)if(V2===T)q2.classList.add(G),k=q2;else{q2.classList.remove(G);let _2=0;if(R>T){if(V2>T&&V2<=R)_2=-S}else if(R<T){if(V2>=R&&V2<T)_2=S}let T2=Math.round(A.getOffset(V2)+_2);q2.style.transform=`${H}(${T2}px)`}}}},destroy(){if(o&&o.parentNode)o.remove();o=null,L2(),_?.remove(),h?.remove(),U=null}}}var n1=50,t1=0.1;function L1(j){let $=0,q=0,Y=0;function J(){return Y>0?q/Y:0}function Z(L){if($=L,L>t1&&L<n1)q+=L,Y++}function B(){let L=j.getTotal();if(L===0)return 0;let A=j.getItemSize();if(A<=0)return 0;let U=j.getContainerSize();if(U<=0)return 0;let c=j.getScrollPosition(),M=typeof j.getColumns==="function"?j.getColumns():1,D=Math.ceil(L/M)*A,H=Math.min(D,S2)-U,O=D-U,P=H>0?O/H:1,W=c*P,G=Math.ceil((W+U)/A);return Math.min(G*M,L)}function X(){let L=j.getTotal(),A=B();return{progress:L>0?Math.min(100,Math.max(0,A/L*100)):0,velocity:$,velocityAvg:J(),itemCount:A,total:L}}return{getState:X,onVelocity:Z}}export{D0 as transition,b0 as table,y0 as sortable,A0 as snapshots,G0 as selection,V0 as scrollbar,W0 as scale,X0 as page,L0 as masonry,R0 as groups,_0 as grid,F0 as data,e0 as createVList,L1 as createStats,H0 as autosize,M0 as a11y};