vlist 1.6.2 → 1.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/internals.js CHANGED
@@ -1 +1 @@
1
- var T2=(J)=>{return J!==null&&typeof J==="object"&&J.__groupHeader===!0};var v2=(J,Q)=>{let $=0,Y=J.length-1;while($<Y){let q=$+Y+1>>>1;if(J[q].headerLayoutIndex<=Q)$=q;else Y=q-1}return $},x2=(J,Q)=>{let $=0,Y=J.length-1;while($<Y){let q=$+Y+1>>>1;if(J[q].firstDataIndex<=Q)$=q;else Y=q-1}return $},g2=(J,Q)=>{if(J===0)return[];let $=[],Y=Q(0),q=0,j=0;for(let B=1;B<J;B++){let D=Q(B);if(D!==Y){let b=B-q;$.push({key:Y,groupIndex:$.length,headerLayoutIndex:j,firstDataIndex:q,count:b}),j=j+1+b,Y=D,q=B}}return $.push({key:Y,groupIndex:$.length,headerLayoutIndex:j,firstDataIndex:q,count:J-q}),$},u2=(J,Q)=>{if(J.length===0||Q.length===0)return[];let $=J.length+Q.length,Y=Array($),q=0;for(let j of Q){Y[q]={id:`__group_header_${j.groupIndex}`,__groupHeader:!0,groupKey:j.key,groupIndex:j.groupIndex},q++;for(let B=0;B<j.count;B++)Y[q]=J[j.firstDataIndex+B],q++}return Y},m2=(J,Q,$=!1)=>{let Y=typeof Q==="number"?(q)=>Q:Q;return(q)=>{let j=J.getEntry(q);if(j.type==="header"){if($&&j.group.groupIndex===0)return 0;return J.getHeaderHeight(j.group.groupIndex)}return Y(j.dataIndex)}},d2=(J,Q)=>{let $=g2(J,Q.getGroupForIndex),Y=J+$.length,q=Q.header?.height??Q.header?.width??Q.headerHeight;return{get totalEntries(){return Y},get groupCount(){return $.length},get groups(){return $},getEntry:(W)=>{if($.length===0)return{type:"item",dataIndex:W,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let P=v2($,W),Z=$[P];if(W===Z.headerLayoutIndex)return{type:"header",group:Z};let G=W-Z.headerLayoutIndex-1;return{type:"item",dataIndex:Z.firstDataIndex+G,group:Z}},layoutToDataIndex:(W)=>{if($.length===0)return W;let P=v2($,W),Z=$[P];if(W===Z.headerLayoutIndex)return-1;let G=W-Z.headerLayoutIndex-1;return Z.firstDataIndex+G},dataToLayoutIndex:(W)=>{if($.length===0)return W;let P=x2($,W),Z=$[P],G=W-Z.firstDataIndex;return Z.headerLayoutIndex+1+G},getGroupAtLayoutIndex:(W)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let P=v2($,W);return $[P]},getGroupAtDataIndex:(W)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let P=x2($,W);return $[P]},getHeaderHeight:typeof q==="number"?(W)=>q:(W)=>{let P=$[W];if(!P)return 0;return q(P.key,W)},rebuild:(W)=>{$=g2(W,Q.getGroupForIndex),Y=W+$.length}}};var c2=(J,Q,$,Y,q,j=!1,B=0)=>{let D=j?"width":"height",b=j?"height":"width",_=j?"X":"Y",K=(X,f)=>{X.style[D]=`${f}px`},E=document.createElement("div");E.className=`${q}-sticky-header`,E.setAttribute("role","presentation"),E.setAttribute("aria-hidden","true"),E.style.cssText="position:relative;z-index:5;pointer-events:none;overflow:hidden;"+(j?`top:0;bottom:0;left:${B||0}px`:`top:${B||0}px`);let W=()=>{let X=document.createElement("div");return X.className="sticky-group",X.style.position="absolute",X.style.willChange="transform",X.style[b]="100%",X},P=W(),Z=W();E.append(P,Z),J.insertBefore(E,J.firstChild);let G=P,U=Z,V=Q.groups,T=[],R=[],z=0,r=()=>{V=Q.groups,z=V.length,T=Array(z),R=Array(z);for(let X=0;X<z;X++)T[X]=$.getOffset(V[X].headerLayoutIndex),R[X]=Q.getHeaderHeight(X)};r();let I=-1,s=0,a=-1,$2=!1,B2=0,m=!1,C=(X,f)=>{Y(X,f);let c=R[f];return K(X,c),c},o=(X)=>{X.replaceChildren(),X.style.transform=""},J2=(X)=>{if(X===I)return;if(I=X,s=0,X<0||X>=z){o(G);return}s=C(G,X),K(E,s),G.style.transform=""},k=(X)=>{if(X===B2)return;B2=X;let f=Math.round(X);G.style.transform=`translate${_}(${f}px)`,U.style.transform=`translate${_}(${f+s}px)`},O=()=>{B2=0,G.style.transform="",U.style.transform=""},N=()=>{if(!m)return;let X=G;G=U,U=X,I=a,s=I>=0?R[I]:0,K(E,s),o(U),a=-1,m=!1,O()},A=()=>{if(!m)return;o(U),a=-1,m=!1,O()},H=()=>{if($2)return;$2=!0,E.style.display=""},n=()=>{if(!$2)return;$2=!1,E.style.display="none",o(G),I=-1,s=0,A()},l=(X)=>{if(z===0){n();return}if(X<T[0]){n();return}let f=0,c=z-1;while(f<c){let w=f+c+1>>>1;if(T[w]+R[w]<=X)f=w;else c=w-1}if(!$2)H();J2(f);let y=f+1;if(y<z){let w=T[y]-X;if(w<=0&&w>-s){if(a!==y||!m)a=y,C(U,y),m=!0;k(w)}else if(w<=-s){if(m)N()}else if(m)A()}else if(m)A()},d=()=>{r();let X=I;if(I=-1,s=0,X>=0)J2(X)},M=()=>{E.remove(),I=-1,s=0,a=-1,$2=!1,m=!1};return E.style.display="none",{update:l,refresh:d,show:H,hide:n,destroy:M}};var r2=(J)=>{let Q=Math.max(1,Math.floor(J.columns)),$=J.gap??0,Y=J.isHeaderFn,q={row:0,col:0},j=(Z)=>{if(Z<=0)return 0;if(!Y)return Math.ceil(Z/Q);let G=0,U=0,V=0;for(let T=0;T<Z;T++)if(Y(T)){if(V++,U>0)G++,U=0;G++,U=0}else if(U++,U>=Q)G++,U=0;if(U>0)G++;return G},B=(Z)=>{return q.row=D(Z),q.col=b(Z),q},D=(Z)=>{if(!Y)return Math.floor(Z/Q);let G=0,U=0;for(let V=0;V<=Z;V++)if(Y(V)){if(U>0)G++,U=0;if(V===Z)return G;G++,U=0}else{if(V===Z)return G;if(U++,U>=Q)G++,U=0}return console.warn(`⚠️ getRow(${Z}) fell through - returning ${G}`),G},b=(Z)=>{if(!Y)return Z%Q;if(Y(Z))return 0;let G=0;for(let U=0;U<=Z;U++)if(Y(U))G=0;else{if(U===Z)return G;if(G++,G>=Q)G=0}return G},_=(Z,G,U)=>{if(U<=0)return{start:0,end:-1};if(!Y){let r=Math.max(0,Z*Q),I=Math.min(U-1,(G+1)*Q-1);return{start:r,end:I}}let V=-1,T=-1,R=0,z=0;for(let r=0;r<U;r++){if(Y(r)){if(z>0)R++,z=0;if(R>=Z&&R<=G){if(V===-1)V=r;T=r}R++,z=0}else{if(R>=Z&&R<=G){if(V===-1)V=r;T=r}if(z++,z>=Q)R++,z=0}if(R>G&&z===0)break}if(V===-1)return{start:0,end:-1};return{start:V,end:T}},K=(Z,G,U)=>{if(G<0||G>=Q)return-1;let V=Z*Q+G;if(V<0||V>=U)return-1;return V},E=(Z)=>{let G=(Q-1)*$;return Math.max(0,(Z-G)/Q)};return{get columns(){return Q},get gap(){return $},update:(Z)=>{if(Z.columns!==void 0)Q=Math.max(1,Math.floor(Z.columns));if(Z.gap!==void 0)$=Z.gap;if(Z.isHeaderFn!==void 0)Y=Z.isHeaderFn},getTotalRows:j,getPosition:B,getRow:D,getCol:b,getItemRange:_,getItemIndex:K,getColumnWidth:E,getColumnOffset:(Z,G)=>{let U=E(G);return Z*(U+$)}}};var W2=16000000;var l2="x",a2=20,C2="_isPlaceholder",M2="__placeholder_";var E2=(J,Q,$)=>{if(String($).startsWith(M2))return!1;let Y=M2+Q;if(J.has(Y))return J.delete(Y),J.add($),!0;return!1},s2=(J)=>({selected:new Set(J??[]),focusedIndex:-1,focusVisible:!1}),S2=(J,Q,$)=>{if($==="none")return J;let Y=new Set(J.selected);if($==="single"){if(Y.clear(),Q.length>0)Y.add(Q[0])}else for(let q of Q)Y.add(q);return{...J,selected:Y}},f2=(J,Q)=>{let $=new Set(J.selected);for(let Y of Q)$.delete(Y);return{...J,selected:$}},n2=(J,Q,$)=>{if($==="none")return J;if(J.selected.has(Q))return f2(J,[Q]);else return S2(J,[Q],$)},o2=(J,Q,$)=>{if($!=="multiple")return J;return{...J,selected:new Set(Q.map((Y)=>Y.id))}},i2=(J)=>({...J,selected:new Set});var t2=(J,Q)=>{return J.selected.has(Q)},e2=(J)=>{return Array.from(J.selected)},JJ=(J,Q)=>{let $=[];for(let Y of J.selected){let q=Q(Y);if(q)$.push(q)}return $};var vJ=(J,Q)=>{let $=Q;return{getOffset:(Y)=>Y*J,getSize:(Y)=>J,indexAtOffset:(Y)=>{if($===0||J===0)return 0;return Math.max(0,Math.min(Math.floor(Y/J),$-1))},getTotalSize:()=>$*J,getTotal:()=>$,rebuild:(Y)=>{$=Y},isVariable:()=>!1}},CJ=(J,Q)=>{let $=Q,Y=new Float64Array(0),q=(B)=>{$=B,Y=new Float64Array(B+1),Y[0]=0;for(let D=0;D<B;D++)Y[D+1]=Y[D]+J(D)};q(Q);let j=(B)=>{if($===0)return 0;if(B<=0)return 0;if(B>=Y[$])return $-1;let D=0,b=$-1;while(D<b){let _=D+b+1>>>1;if(Y[_]<=B)D=_;else b=_-1}return D};return{getOffset:(B)=>{if(B<=0)return 0;if(B>=$)return Y[$];return Y[B]},getSize:(B)=>J(B),indexAtOffset:(B)=>j(B),getTotalSize:()=>Y[$]??0,getTotal:()=>$,rebuild:(B)=>q(B),isVariable:()=>!0}},F2=(J,Q)=>{if(typeof J==="number")return vJ(J,Q);return CJ(J,Q)},I2=(J,Q,$,Y)=>{if(Y===0)return 0;if(!J.isVariable())return Math.ceil($/J.getSize(0));let q=0,j=0,B=Q;while(B<Y&&j<$)j+=J.getSize(B),q++,B++;return Math.max(1,q)};var H2=(J,Q,$)=>{let Y=Q.getTotalSize(),q=$===!0||Y>W2,j=Y>W2?W2:Y,B=Y>0?j/Y:1;return{isCompressed:q,actualSize:Y,virtualSize:j,ratio:B}},QJ=(J,Q,$,Y,q,j)=>{if(Y===0||Q===0)return j.start=0,j.end=-1,j;if(!q.isCompressed||q.ratio===1){let W=$.indexAtOffset(J),P=$.indexAtOffset(J+Q);if(P<Y-1)P++;return j.start=Math.max(0,W),j.end=Math.min(Y-1,Math.max(0,P)),j}let{virtualSize:B}=q,b=J/B*Y,_=Math.floor(b),K=I2($,Math.max(0,_),Q,Y),E=Math.ceil(b)+K;return j.start=Math.max(0,_),j.end=Math.min(Y-1,Math.max(0,E)),j},$J=(J,Q,$,Y)=>{if($===0)return Y.start=0,Y.end=-1,Y;return Y.start=Math.max(0,J.start-Q),Y.end=Math.min($-1,J.end+Q),Y},A2=(J,Q,$,Y,q,j,B)=>{if(!j.isCompressed||Y===0)return $.getOffset(J);if(j.ratio===1)return $.getOffset(J)-Q;let{virtualSize:D}=j,b=Q/D,_=$.getTotalSize(),K=b*_;return $.getOffset(J)-K},YJ=(J,Q,$,Y,q,j="start")=>{if(Y===0)return 0;let B;if(q.isCompressed&&q.ratio!==1){B=J/Y*q.virtualSize;let K=Q.getSize(J);switch(j){case"center":B-=($-K)/2*q.ratio;break;case"end":B-=($-K)*q.ratio;break}return Math.max(0,B)}B=Q.getOffset(J);let D=Q.getSize(J);switch(j){case"center":B-=($-D)/2;break;case"end":B-=$-D;break}let b=q.virtualSize-$;return Math.max(0,Math.min(B,b))},jJ=(J,Q,$,Y)=>{if($===0)return 0;if(Y.isCompressed&&Y.ratio!==1){let q=J/Y.virtualSize;return Math.floor(q*$)}return Q.indexAtOffset(J)},qJ=(J,Q)=>{if(typeof Q==="number")return J*Q>W2;return Q.getTotalSize()>W2},BJ=(J)=>{if(J<=0)return 0;return Math.floor(W2/J)},UJ=(J,Q,$)=>{let Y=H2(J,Q,$);if(!Y.isCompressed)return`No compression needed (${J} items, ${(Y.actualSize/1e6).toFixed(2)}M px)`;return`Compressed to ${(Y.ratio*100).toFixed(1)}% (${J} items, ${(Y.actualSize/1e6).toFixed(1)}M px → ${(Y.virtualSize/1e6).toFixed(1)}M px virtual)`};var R2=(J,Q,$)=>{let Y=Array.from(Q).sort((B,D)=>B-D);if(Y.length<=1)return;let q=[];for(let B=0;B<Y.length;B++){let D=$(Y[B]);if(D)q.push(D)}if(q.length<=1)return;let j=J.firstChild;for(let B=0;B<q.length;B++){let D=q[B];if(D===j)j=j.nextSibling;else J.insertBefore(D,j)}};var SJ=(J=200)=>{let Q=[];return{acquire:()=>{let j=Q.pop();if(j)return j;let B=document.createElement("div");return B.setAttribute("role","option"),B},release:(j)=>{if(j.remove(),Q.length<J)j.className="",j.textContent="",j.removeAttribute("style"),j.removeAttribute("data-index"),j.removeAttribute("data-id"),j.removeAttribute("data-row"),j.removeAttribute("data-col"),Q.push(j)},clear:()=>{Q.length=0}}},fJ=1,KJ=(J,Q,$,Y,q,j,B,D,b=!1)=>{let _=SJ(),K=new Map,E=j,W=!1,P=0,Z="",G=-1,U={selected:!1,focused:!1},V=(M,X)=>{return U.selected=M,U.focused=X,U},T=`${q}-item ${q}-grid-item`,R=`${q}-item--selected`,z=`${q}-item--focused`,r=`${q}-item--placeholder`,I=`${q}-item--replaced`,s=(M,X)=>{if(typeof X==="string")M.innerHTML=X;else M.replaceChildren(X)},a=(M,X,f)=>{M.classList.toggle(R,X),M.classList.toggle(z,f)},$2=(M,X)=>{let f=Y.getRow(M);if(X?.compression?.isCompressed)return A2(f,X.scrollPosition,$,X.totalItems,X.containerSize,X.compression,X.rangeStart);return $.getOffset(f)},B2=(M,X)=>{let f=W&&Y.getCol(M)===0,c=f?0:Y.getCol(M),y=f?0:Y.getColumnOffset(c,E),w;if(W){let i=Y.getRow(M),L=0,F=new Set;for(let S=0;S<M;S++){let u=Y.getRow(S);if(u<i&&!F.has(u)){let x=$.getSize(S);L+=x,F.add(u)}}w=L}else w=$2(M,X);if(b)return`translate(${Math.round(w)}px, ${Math.round(y)}px)`;return`translate(${Math.round(y)}px, ${Math.round(w)}px)`},m=(M,X)=>{M.style.transform=X},C=(M,X)=>{let f=M.dataset.id?.startsWith("__group_header"),c=f?E:Y.getColumnWidth(E),y;if(W||f)y=$.getSize(X)-Y.gap;else{let w=Y.getRow(X);y=$.getSize(w)-Y.gap}if(b)M.style.width=`${y}px`,M.style.height=`${c}px`;else M.style.width=`${c}px`,M.style.height=`${y}px`},o=(M,X,f,c,y)=>{let w=_.acquire(),i=V(f,c);if(w.className=T,w.dataset.index=String(M),w.dataset.id=String(X.id),w.dataset.row=String(Y.getRow(M)),w.dataset.col=String(Y.getCol(M)),w.ariaSelected=String(f),D)w.id=`${D}-item-${M}`;if(B){let S=B();if(S!==G)G=S,Z=String(S);w.setAttribute("aria-setsize",Z),w.setAttribute("aria-posinset",String(M+1))}C(w,M);let L=Q(X,M,i);if(s(w,L),String(X.id).startsWith(M2))w.classList.add(r);return a(w,f,c),m(w,y),{element:w,lastItemId:X.id,lastSelected:f,lastFocused:c,lastTransform:y,lastSeenFrame:P}},J2=(M,X,f,c,y)=>{if(P++,X.start===0&&M.length>0)W=T2(M[0]);for(let[L,F]of K)if(L>=X.start&&L<=X.end)F.lastSeenFrame=P;else if(P-F.lastSeenFrame>fJ)_.release(F.element),K.delete(L);let w=!1;if(B){let L=B();if(L!==G)G=L,Z=String(L),w=!0}let i=null;for(let L=X.start;L<=X.end;L++){let F=L-X.start,S=M[F];if(!S){console.warn(`⚠️ RENDER: Missing item at index ${L} (range: ${X.start}-${X.end}, items.length: ${M.length})`);continue}let u=f.has(S.id),x=L===c,h=K.get(L);if(h){let e=h.lastItemId!==S.id,v=h.lastSelected!==u,p=h.lastFocused!==x;if(e){let q2=String(h.lastItemId),Q2=String(S.id),Y2=q2.startsWith(M2),U2=Q2.startsWith(M2);if(!U2&&E2(f,L,S.id))u=!0;let Z2=V(u,x),t=Q(S,L,Z2);if(s(h.element,t),h.element.dataset.id=Q2,h.element.dataset.row=String(Y.getRow(L)),h.element.dataset.col=String(Y.getCol(L)),C(h.element,L),h.element.classList.toggle(r,U2),Y2&&!U2)h.element.classList.add(I),setTimeout(()=>h.element.classList.remove(I),300);h.lastItemId=S.id}if(e||v||p)a(h.element,u,x),h.element.ariaSelected=String(u),h.lastSelected=u,h.lastFocused=x;let g=B2(L,y);if(h.lastTransform!==g)m(h.element,g),h.lastTransform=g;if(w)h.element.setAttribute("aria-setsize",Z)}else{if(E2(f,L,S.id))u=!0;let e=B2(L,y),v=o(L,S,u,x,e);if(!i)i=document.createDocumentFragment();i.appendChild(v.element),K.set(L,v)}}if(i)J.appendChild(i)},k=(M)=>{for(let[X,f]of K){let c=B2(X,M);if(f.lastTransform!==c)m(f.element,c),f.lastTransform=c}},O=(M,X,f,c)=>{let y=K.get(M);if(!y)return;let w=V(f,c),i=Q(X,M,w);s(y.element,i),a(y.element,f,c),y.element.dataset.id=String(X.id),y.element.ariaSelected=String(f),C(y.element,M),y.lastItemId=X.id,y.lastSelected=f,y.lastFocused=c},N=(M,X,f)=>{let c=K.get(M);if(!c)return;let y=c.lastSelected!==X,w=c.lastFocused!==f;if(y||w)a(c.element,X,f),c.lastSelected=X,c.lastFocused=f},A=(M)=>{return K.get(M)?.element},H=(M)=>{if(Math.abs(M-E)<1)return;E=M;for(let[X,f]of K){C(f.element,X);let c=B2(X);m(f.element,c),f.lastTransform=c}},n=()=>{R2(J,K.keys(),(M)=>K.get(M)?.element)},l=()=>{for(let[,M]of K)_.release(M.element);K.clear()};return{render:J2,updatePositions:k,updateItem:O,updateItemClasses:N,getElement:A,sortDOM:n,updateContainerWidth:H,clear:l,destroy:()=>{l(),_.clear()}}};var XJ=(J,Q=50,$=1/0,Y=!0)=>{let q=J,j=[],B=0,D=()=>{j=q.map((U,V)=>({def:U,index:V,width:0,minWidth:IJ(U.minWidth??Q,1),maxWidth:U.maxWidth??$,resizable:U.resizable??Y,offset:0}))},b=(U)=>{if(j.length===0){B=0;return}let V=0,T=0;for(let R=0;R<j.length;R++){let z=j[R],r=z.def;if(r.width!==void 0)z.width=p2(r.width,z.minWidth,z.maxWidth),V+=z.width;else T++}if(T>0){let z=Math.max(0,U-V)/T;for(let r=0;r<j.length;r++){let I=j[r];if(I.def.width===void 0)I.width=p2(z,I.minWidth,I.maxWidth)}}_()},_=()=>{let U=0;for(let V=0;V<j.length;V++){let T=j[V];T.offset=U,U+=T.width}B=U},K=(U,V)=>{if(U<0||U>=j.length)return 0;let T=j[U];if(!T.resizable)return T.width;let R=p2(V,T.minWidth,T.maxWidth);return T.width=R,_(),R},E=(U)=>{return j[U]},W=(U)=>{if(j.length===0)return;if(U<0)return j[0];if(U>=B)return j[j.length-1];let V=0,T=j.length-1;while(V<T){let R=V+T>>>1,z=j[R];if(U<z.offset)T=R-1;else if(U>=z.offset+z.width)V=R+1;else return z}return j[V]},P=(U)=>{if(U<0||U>=j.length)return 0;return j[U].offset},Z=(U)=>{if(U<0||U>=j.length)return 0;return j[U].width},G=(U)=>{q=U,D()};return D(),{get columns(){return j},get totalWidth(){return B},resolve:b,updateColumns:G,resizeColumn:K,getColumn:E,getColumnAtX:W,getColumnOffset:P,getColumnWidth:Z}},p2=(J,Q,$)=>Math.min($,Math.max(Q,J)),IJ=(J,Q)=>Math.max(Q,J);var NJ=(J,Q,$,Y,q,j,B)=>{let D=document.createElement("div");D.setAttribute("role","rowgroup");let b=document.createElement("div");b.className=`${Y}-table-header`,b.setAttribute("role","row"),b.setAttribute("aria-rowindex","1"),b.style.height=`${$}px`;let _=document.createElement("div");_.className=`${Y}-table-header-scroll`,_.setAttribute("role","presentation"),b.appendChild(_),D.appendChild(b),J.insertBefore(D,J.firstChild),Q.style.cssText=`position:absolute;top:${$}px;left:0px;right:0px;bottom:0px;height:auto`;let K=[],E=[],W=[],P=!0,Z=null,G="asc",U=null,V=!1,T=-1,R=0,z=0,r=(N,A)=>{let H=document.createElement("div");H.className=`${Y}-table-header-cell`,H.setAttribute("role","columnheader"),H.setAttribute("aria-colindex",String(A+1)),H.dataset.columnKey=N.def.key;let n=N.def.align;if(n==="center")H.classList.add(`${Y}-table-header-cell--center`);else if(n==="right")H.classList.add(`${Y}-table-header-cell--right`);let l=document.createElement("div");l.className=`${Y}-table-header-content`;let d=N.def.header?N.def.header(N.def):N.def.label;if(typeof d==="string")l.textContent=d;else l.appendChild(d);if(H.appendChild(l),N.def.sortable){let M=document.createElement("span");M.className=`${Y}-table-header-sort`,M.setAttribute("aria-hidden","true"),H.appendChild(M),W.push(M),H.classList.add(`${Y}-table-header-cell--sortable`)}else W.push(null);if(N.resizable){let M=document.createElement("div");M.className=`${Y}-table-header-resize`,M.dataset.resizeIndex=String(A),H.appendChild(M),E.push(M)}return H},I=(N)=>{U=N,_.textContent="",K=[],E=[],W=[];let A=N.columns;for(let H=0;H<A.length;H++){let n=A[H],l=r(n,H);K.push(l),_.appendChild(l)}if(s(N),Z)a(Z,G)},s=(N)=>{U=N;let A=N.columns;_.style.width=`${N.totalWidth}px`;for(let H=0;H<K.length&&H<A.length;H++){let n=K[H],l=A[H];n.style.width=`${l.width}px`}},a=(N,A)=>{if(Z=N,G=A,!U)return;let H=U.columns;for(let n=0;n<W.length&&n<H.length;n++){let l=W[n];if(!l)continue;if(H[n].def.key===N&&N!==null)l.textContent=A==="asc"?"▲":"▼",l.style.opacity="0.7",K[n].setAttribute("aria-sort",A==="asc"?"ascending":"descending");else l.textContent="",l.style.opacity="0",K[n].removeAttribute("aria-sort")}},$2=(N)=>{_.style.transform=`translateX(${-N}px)`},B2=(N)=>{let A=N.target;if(!A.dataset.resizeIndex)return;if(N.preventDefault(),N.stopPropagation(),T=parseInt(A.dataset.resizeIndex,10),!U)return;let H=U.getColumn(T);if(!H||!H.resizable)return;V=!0,R=N.clientX,z=H.width,J.classList.add(`${Y}--col-resizing`),J.style.cursor="col-resize",A.classList.add(`${Y}-table-header-resize--active`),A.setPointerCapture(N.pointerId),A.addEventListener("pointermove",m),A.addEventListener("pointerup",C),A.addEventListener("pointercancel",C)},m=(N)=>{if(!V||!U)return;let A=N.clientX-R;if(Math.abs(A)<1)return;let H=Math.max(0,z+A);q(T,H)},C=(N)=>{if(!V)return;let A=N.target;A.removeEventListener("pointermove",m),A.removeEventListener("pointerup",C),A.removeEventListener("pointercancel",C);try{A.releasePointerCapture(N.pointerId)}catch{}A.classList.remove(`${Y}-table-header-resize--active`),J.classList.remove(`${Y}--col-resizing`),J.style.cursor="",V=!1,T=-1},o=(N)=>{let A=N.target;if(A.dataset.resizeIndex!==void 0)return;if(V)return;let H=A;while(H&&!H.dataset.columnKey)if(H=H.parentElement,H===b||H===null)return;if(!H||!H.dataset.columnKey)return;let n=H.dataset.columnKey;if(!U)return;let l=U.columns,d=-1;for(let X=0;X<l.length;X++)if(l[X].def.key===n){d=X;break}if(d===-1)return;let M=l[d];if(B)B({key:n,index:d,event:N});if(M.def.sortable&&j){let X;if(Z===n)if(G==="asc")X="desc";else X=null;else X="asc";j({key:n,index:d,direction:X})}};return b.addEventListener("pointerdown",B2),b.addEventListener("click",o),{element:b,update:s,updateSort:a,rebuild:I,show:()=>{if(P)return;P=!0,b.style.display=""},hide:()=>{if(!P)return;P=!1,b.style.display="none"},destroy:()=>{b.removeEventListener("pointerdown",B2),b.removeEventListener("click",o),Q.style.cssText="",D.remove(),K=[],E=[],W=[],U=null,P=!1},syncScroll:$2}};var pJ=()=>{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}}},ZJ=(J,Q,$,Y,q,j,B,D,b)=>{let _=pJ(),K=new Map,E=-1,W=$,P=null,Z=null,G=null,U=(L,F)=>{Z=L,G=F},V=(L,F)=>{if(F)L.setAttribute("aria-selected","true");else L.removeAttribute("aria-selected")},T=(L,F,S,u)=>{L.setAttribute("role",F),L.setAttribute("data-id",String(S)),L.setAttribute("data-index",String(u))},R=(L)=>String(L).startsWith("__placeholder_"),z=`${q}-item ${q}-table-row`,r=`${q}-item--selected`,I=`${q}-item--focused`,s=`${q}-table-cell`,a=`${q}-table-cell--center`,$2=`${q}-table-cell--right`,B2=`${q}-item--odd`,m=`${q}-item--placeholder`,C=`${q}-item--replaced`,o=`${q}-item ${q}-table-row ${q}-table-group-header`,J2=`${q}-table-group-header-content`,k=(L,F,S,u,x=!1)=>{if(S.def.cell){let h=S.def.cell(F,S.def,u);if(typeof h==="string")L.innerHTML=h;else L.replaceChildren(h)}else{let h=F[S.def.key],e=h!=null?String(h):"";if(x&&e)L.innerHTML=`<span>${e}</span>`;else L.textContent=e}},O=(L,F,S,u,x=!1)=>{let h=z;if(D){if(P){let e=P(F);if(e>=0&&(e&1)===1)h+=` ${B2}`}else if((F&1)===1)h+=` ${B2}`}if(x)h+=` ${m}`;if(S)h+=` ${r}`;if(u)h+=` ${I}`;L.className=h},N=(L,F,S)=>{if(S?.compression?.isCompressed)return Math.round(A2(L,S.scrollPosition,F,S.totalItems,S.containerSize,S.compression,S.rangeStart));return F.getOffset(L)},A=(L,F)=>{let S=F.def.align;if(S==="center")L.classList.add(a),L.classList.remove($2);else if(S==="right")L.classList.add($2),L.classList.remove(a);else L.classList.remove(a,$2)},H=(L,F)=>{let u=W.columns.length;if(F.length===u)return F;let x=[];for(let h=0;h<u;h++){let e;if(h<F.length)e=F[h];else e=document.createElement("div"),e.className=s,L.appendChild(e);x.push(e)}for(let h=u;h<F.length;h++)F[h].remove();return x},n=(L,F,S,u)=>{let x=_.acquire(),h=L,e=S.getSize(F),v=N(F,S,u);x.style.cssText=`width:${W.totalWidth}px;height:${e}px;transform:translateY(${v}px)`,x.className=o,T(x,"presentation",L.id,F),x.removeAttribute("aria-selected"),x.removeAttribute("aria-rowindex"),x.replaceChildren();let p=document.createElement("div");if(p.className=J2,G){let g=G(h.groupKey,h.groupIndex);if(typeof g==="string")p.innerHTML=g;else p.appendChild(g)}return x.appendChild(p),{element:x,cells:[],index:F,isGroupHeader:!0,lastItemId:L.id,lastSelected:!1,lastFocused:!1,lastOffset:v,lastHeight:e}},l=(L,F,S,u,x,h)=>{let e=_.acquire(),v=x.getSize(F),p=N(F,x,h),g=R(L.id);e.style.cssText=`width:${W.totalWidth}px;height:${v}px;transform:translateY(${p}px)`,O(e,F,S,u,g),T(e,"row",L.id,F),e.id=`${j}-${F}`,e.setAttribute("aria-rowindex",String(F+2)),V(e,S);let q2=H(e,[]),Q2=W.columns;for(let Y2=0;Y2<q2.length&&Y2<Q2.length;Y2++){let U2=q2[Y2],Z2=Q2[Y2];U2.style.cssText=`left:${Z2.offset}px;width:${Z2.width}px`,U2.setAttribute("role","gridcell"),U2.setAttribute("aria-colindex",String(Y2+1)),A(U2,Z2),k(U2,L,Z2,F,g)}return{element:e,cells:q2,index:F,isGroupHeader:!1,lastItemId:L.id,lastSelected:S,lastFocused:u,lastOffset:p,lastHeight:v}},d=(L,F,S,u,x)=>{for(let[g,q2]of K)if(g<F.start||g>F.end)_.release(q2.element),K.delete(g);let h=!1,e=B();if(e!==E)E=e,h=!0;let v=null,p=Q();P=typeof D==="string"&&b?b():null;for(let g=F.start;g<=F.end;g++){let q2=g-F.start,Q2=L[q2];if(!Q2)continue;let Y2=S.has(Q2.id),U2=g===u,Z2=Z?Z(Q2):!1,t=K.get(g);if(t){if(t.isGroupHeader!==Z2){_.release(t.element),K.delete(g);let j2=Z2?n(Q2,g,p,x):l(Q2,g,Y2,U2,p,x);if(K.set(g,j2),!v)v=document.createDocumentFragment();v.appendChild(j2.element);continue}if(Z2){if(t.lastItemId!==Q2.id){let N2=Q2,K2=t.element.firstElementChild;if(K2&&G){let _2=G(N2.groupKey,N2.groupIndex);if(typeof _2==="string")K2.innerHTML=_2;else K2.replaceChildren(_2)}t.element.setAttribute("data-id",String(Q2.id)),t.lastItemId=Q2.id}let G2=N(g,p,x);if(t.lastOffset!==G2)t.lastOffset=G2,t.element.style.transform=`translateY(${G2}px)`;let D2=p.getSize(g);if(t.lastHeight!==D2)t.lastHeight=D2,t.element.style.height=`${D2}px`}else{let j2=t.lastItemId!==Q2.id,G2=t.lastSelected!==Y2,D2=t.lastFocused!==U2;if(j2){let _2=t.lastItemId!=null&&R(t.lastItemId),X2=R(Q2.id);if(!X2&&E2(S,g,Q2.id))Y2=!0;let V2=W.columns;for(let L2=0;L2<t.cells.length&&L2<V2.length;L2++)k(t.cells[L2],Q2,V2[L2],g,X2);if(O(t.element,g,Y2,U2,X2),t.element.setAttribute("data-id",String(Q2.id)),V(t.element,Y2),_2&&!X2)t.element.classList.add(C),setTimeout(()=>{t.element.classList.remove(C)},300);t.lastItemId=Q2.id,t.lastSelected=Y2,t.lastFocused=U2}else if(G2||D2)O(t.element,g,Y2,U2,R(Q2.id)),V(t.element,Y2),t.lastSelected=Y2,t.lastFocused=U2;let N2=N(g,p,x);if(t.lastOffset!==N2)t.lastOffset=N2,t.element.style.transform=`translateY(${N2}px)`;let K2=p.getSize(g);if(t.lastHeight!==K2)t.lastHeight=K2,t.element.style.height=`${K2}px`;if(h)t.element.setAttribute("aria-rowindex",String(g+2))}}else{if(E2(S,g,Q2.id))Y2=!0;let j2=Z2?n(Q2,g,p,x):l(Q2,g,Y2,U2,p,x);if(K.set(g,j2),!v)v=document.createDocumentFragment();v.appendChild(j2.element)}}if(v)J.appendChild(v)},M=(L)=>{let F=Q();for(let[S,u]of K){let x=N(S,F,L);if(u.lastOffset!==x)u.lastOffset=x,u.element.style.transform=`translateY(${x}px)`}},X=(L,F,S,u)=>{let x=K.get(L);if(!x)return;if(x.isGroupHeader)return;let h=W.columns;for(let e=0;e<x.cells.length&&e<h.length;e++)k(x.cells[e],F,h[e],L);x.element.setAttribute("data-id",String(F.id)),x.lastItemId=F.id,O(x.element,L,S,u),V(x.element,S),x.lastSelected=S,x.lastFocused=u},f=(L,F,S)=>{let u=K.get(L);if(!u)return;if(u.isGroupHeader)return;let x=u.lastSelected!==F,h=u.lastFocused!==S;if(x||h)O(u.element,L,F,S),V(u.element,F),u.lastSelected=F,u.lastFocused=S},c=(L)=>{W=L;let F=L.columns;for(let[,S]of K)if(S.element.style.width=`${L.totalWidth}px`,S.cells.length>0)for(let u=0;u<S.cells.length&&u<F.length;u++){let x=S.cells[u],h=F[u];x.style.left=`${h.offset}px`,x.style.width=`${h.width}px`}},y=(L)=>{return K.get(L)?.element},w=()=>{for(let[,L]of K)_.release(L.element);K.clear(),E=-1};return{render:d,updatePositions:M,updateItem:X,updateItemClasses:f,getElement:y,updateColumnLayout:c,setGroupHeaderFn:U,clear:w,destroy:()=>{w(),_.clear()}}};var GJ=(J)=>{let Q=Math.max(1,Math.floor(J.columns)),$=J.gap??0,Y=J.containerSize,q=0,j=[],B=()=>{let U=(Q-1)*$;q=Math.max(0,(Y-U)/Q),j=Array(Q);let V=q+$;for(let T=0;T<Q;T++)j[T]=T*V};B();let D=[],b=0,_=[],K=(U)=>{let V=0,T=U[0];for(let R=1;R<U.length;R++){let z=U[R];if(z<T)T=z,V=R}return V},E=(U,V)=>{if(U<=0)return b=0,D=[],[];let T=Array(Q).fill(0),R=Array(Q);for(let I=0;I<Q;I++)R[I]=[];let z=Array(U);for(let I=0;I<U;I++){let s=K(T),a=V(I),$2=T[s];z[I]={index:I,x:j[s],y:$2,lane:s,size:a,crossSize:q},R[s].push(I),T[s]=$2+a+$}D=R;let r=0;for(let I=0;I<Q;I++){let s=T[I],a=s>0?s-$:0;if(a>r)r=a}return b=r,z},W=(U)=>{if(U.length===0)return b>0?b:0;if(b>0)return b;let V=Array(Q).fill(0);for(let R of U){let z=R.y+R.size,r=V[R.lane];if(z>r)V[R.lane]=z}let T=0;for(let R=0;R<Q;R++)if(V[R]>T)T=V[R];return T},P=(U,V,T)=>{if(U.length===0||T<=V)return _.length=0,_;if(D.length===0||D.length!==Q)return Z(U,V,T);_.length=0;for(let R=0;R<Q;R++){let z=D[R],r=z.length;if(r===0)continue;let I=0,s=r;while(I<s){let a=I+s>>>1,$2=U[z[a]];if($2.y+$2.size<=V)I=a+1;else s=a}for(let a=I;a<r;a++){let $2=U[z[a]];if($2.y>=T)break;_.push($2)}}return _},Z=(U,V,T)=>{let R=[];for(let z of U)if(z.y+z.size>V&&z.y<T)R.push(z);return R};return{get columns(){return Q},get gap(){return $},get containerSize(){return Y},update:(U)=>{let V=!1;if(U.columns!==void 0){let T=Math.max(1,Math.floor(U.columns));if(T!==Q)Q=T,V=!0}if(U.gap!==void 0&&U.gap!==$)$=U.gap,V=!0;if(U.containerSize!==void 0&&U.containerSize!==Y)Y=U.containerSize,V=!0;if(V)B()},calculateLayout:E,getTotalSize:W,getVisibleItems:P}};var hJ=(J=200)=>{let Q=[];return{acquire:()=>{let j=Q.pop();if(j)return j;let B=document.createElement("div");return B.setAttribute("role","option"),B},release:(j)=>{if(j.remove(),Q.length<J)j.className="",j.textContent="",j.removeAttribute("style"),j.removeAttribute("data-index"),j.removeAttribute("data-id"),j.removeAttribute("data-lane"),Q.push(j)},clear:()=>{Q.length=0}}},xJ=1,DJ=(J,Q,$,Y=!1,q,j)=>{let B=hJ(),D=new Map,b=new Set,_=0,K="",E=-1,W={selected:!1,focused:!1},P=(m,C)=>{return W.selected=m,W.focused=C,W},Z=`${$}-item ${$}-masonry-item`,G=`${$}-item--selected`,U=`${$}-item--focused`,V=(m,C)=>{if(typeof C==="string")m.innerHTML=C;else m.replaceChildren(C)},T=(m,C,o)=>{m.classList.toggle(G,C),m.classList.toggle(U,o)},R=(m,C)=>{if(Y)m.style.transform=`translate(${Math.round(C.y)}px, ${Math.round(C.x)}px)`;else m.style.transform=`translate(${Math.round(C.x)}px, ${Math.round(C.y)}px)`},z=(m,C)=>{if(Y)m.style.width=`${C.size}px`,m.style.height=`${C.crossSize}px`;else m.style.width=`${C.crossSize}px`,m.style.height=`${C.size}px`},r=(m,C,o,J2,k)=>{let O=B.acquire(),N=P(J2,k);if(O.className=Z,O.dataset.index=String(m),O.dataset.id=String(C.id),O.dataset.lane=String(o.lane),O.ariaSelected=String(J2),j)O.id=`${j}-item-${m}`;if(q){let H=q();if(H!==E)E=H,K=String(H);O.setAttribute("aria-setsize",K),O.setAttribute("aria-posinset",String(m+1))}z(O,o);let A=Q(C,m,N);return V(O,A),T(O,J2,k),R(O,o),{element:O,lastItemId:C.id,lastSelected:J2,lastFocused:k,lastY:o.y,lastX:o.x,lastSize:o.size,lastCrossSize:o.crossSize,lastSeenFrame:_}},I=(m,C,o,J2)=>{_++,b.clear();for(let O=0;O<C.length;O++)b.add(C[O].index);for(let[O,N]of D)if(b.has(O))N.lastSeenFrame=_;else if(_-N.lastSeenFrame>xJ)B.release(N.element),D.delete(O);let k=null;for(let O=0;O<C.length;O++){let N=C[O],A=N.index,H=m(A);if(!H)continue;let n=o.has(H.id),l=A===J2,d=D.get(A);if(d){let M=d.lastItemId!==H.id,X=d.lastSelected!==n,f=d.lastFocused!==l,c=d.lastY!==N.y||d.lastX!==N.x,y=d.lastSize!==N.size||d.lastCrossSize!==N.crossSize;if(M){let w=P(n,l),i=Q(H,A,w);V(d.element,i),d.element.dataset.id=String(H.id),d.lastItemId=H.id}if(M||X||f)T(d.element,n,l),d.element.ariaSelected=String(n),d.lastSelected=n,d.lastFocused=l;if(y)z(d.element,N),d.lastSize=N.size,d.lastCrossSize=N.crossSize;if(c)R(d.element,N),d.lastY=N.y,d.lastX=N.x}else{let M=r(A,H,N,n,l);if(!k)k=document.createDocumentFragment();k.appendChild(M.element),D.set(A,M)}}if(k)J.appendChild(k)},s=()=>{for(let{element:m}of D.values())B.release(m);D.clear(),J.innerHTML=""};return{render:I,getElement:(m)=>D.get(m)?.element,updateItemClasses:(m,C,o)=>{let J2=D.get(m);if(!J2)return;let k=J2.lastSelected!==C,O=J2.lastFocused!==o;if(k||O)T(J2.element,C,o),J2.lastSelected=C,J2.lastFocused=o},sortDOM:()=>{R2(J,D.keys(),(m)=>D.get(m)?.element)},clear:s,destroy:()=>{s(),B.clear()}}};var _J=(J,Q)=>{let $=new Map,Y=(j)=>{let B=$.get(j);return B!==void 0?B:J},q=F2(Y,Q);return{getOffset(j){return q.getOffset(j)},getSize(j){return Y(j)},indexAtOffset(j){return q.indexAtOffset(j)},getTotalSize(){return q.getTotalSize()},getTotal(){return q.getTotal()},rebuild(j){if(j<q.getTotal()){for(let B of $.keys())if(B>=j)$.delete(B)}q=F2(Y,j)},isVariable(){return!0},setMeasuredSize(j,B){$.set(j,B)},isMeasured(j){return $.has(j)},getEstimatedSize(){return J},measuredCount(){return $.size}}};var VJ=(J,Q,$,Y,q,j)=>{if(Y===0||Q===0)return j.start=0,j.end=-1,j;let B=$.indexAtOffset(J),D=$.indexAtOffset(J+Q);if(D<Y-1)D++;return j.start=Math.max(0,B),j.end=Math.min(Y-1,Math.max(0,D)),j},WJ=(J,Q,$,Y)=>{if($===0)return Y.start=0,Y.end=-1,Y;return Y.start=Math.max(0,J.start-Q),Y.end=Math.min($-1,J.end+Q),Y},MJ=(J,Q,$,Y,q,j)=>{if(Y===0)return 0;let B=Math.max(0,Math.min(J,Y-1)),D=Q.getOffset(B),b=Q.getSize(B),_=Q.getTotalSize(),K=Math.max(0,_-$),E;switch(j){case"center":E=D-$/2+b/2;break;case"end":E=D-$+b;break;case"start":default:E=D;break}return Math.max(0,Math.min(E,K))},OJ=(J,Q,$)=>{if($&&$.isCompressed)return $.virtualSize;return Q.getTotalSize()},EJ=(J,Q)=>{return Q.getTotalSize()},AJ=(J,Q)=>{return Q.getOffset(J)},LJ=(J,Q,$)=>{let Y=Math.max(0,Q-$);return Math.max(0,Math.min(J,Y))};var FJ=(J,Q,$,Y,q="start",j,B=MJ)=>{return B(J,Q,$,Y,j,q)},HJ=(J,Q)=>{return J.start===Q.start&&J.end===Q.end},bJ=(J,Q)=>{return J>=Q.start&&J<=Q.end},TJ=(J)=>{if(J.end<J.start)return 0;return J.end-J.start+1};var RJ=(J,Q)=>{let $=[],Y=[];for(let q=J.start;q<=J.end;q++)if(q<Q.start||q>Q.end)Y.push(q);for(let q=Q.start;q<=Q.end;q++)if(q<J.start||q>J.end)$.push(q);return{add:$,remove:Y}};var yJ=()=>{let J={},Q=(j,B)=>{if(!J[j])J[j]=new Set;return J[j].add(B),()=>$(j,B)},$=(j,B)=>{J[j]?.delete(B)};return{on:Q,off:$,emit:(j,B)=>{J[j]?.forEach((D)=>{try{D(B)}catch(b){console.error(`[vlist] Error in event handler for "${String(j)}":`,b)}})},clear:(j)=>{if(j)delete J[j];else for(let B in J)delete J[B]}}};var y2=(J={})=>{let{chunkSize:Q=100,maxCachedItems:$=5000,evictionBuffer:Y=200,onEvict:q}=J,j=new Map,B=0,D=0,b=(k)=>{let O=j.get(k);if(!O)O={items:Array(Q),count:0,lastAccess:Date.now()},j.set(k,O);else O.lastAccess=Date.now();return O},_=(k)=>{return Math.floor(k/Q)},K=(k)=>{return k%Q},E=()=>B,W=(k)=>{B=k},P=(k)=>{if(k<0||k>=B)return;let O=_(k),N=j.get(O);if(!N)return;return N.items[K(k)]},Z=(k)=>{if(k<0||k>=B)return!1;let O=_(k),N=j.get(O);if(!N)return!1;return N.items[K(k)]!==void 0},G=(k,O)=>{let N=_(k),A=b(N),H=K(k),n=A.items[H]===void 0;if(A.items[H]=O,n)A.count++,D++;if(k>=B)B=k+1},U=(k,O)=>{for(let N=0;N<O.length;N++){let A=O[N];if(A!==void 0)G(k+N,A)}},V=(k)=>{if(k<0||k>=B)return!1;let O=_(k),N=j.get(O),A=K(k);if(!(N!==void 0&&N.items[A]!==void 0))return!1;let n=O,l=Array.from(j.keys()).filter((M)=>M>=n).sort((M,X)=>M-X),d=[];for(let M of l){let X=j.get(M),f=M*Q;for(let c=0;c<Q;c++){if(X.items[c]===void 0)continue;let y=f+c;if(y<=k)continue;d.push({oldIndex:y,item:X.items[c]})}}if(N.items[A]=void 0,N.count--,D--,N.count===0)j.delete(O);for(let{oldIndex:M}of d){let X=_(M),f=j.get(X);if(!f)continue;let c=K(M);if(f.items[c]!==void 0){if(f.items[c]=void 0,f.count--,D--,f.count===0)j.delete(X)}}for(let{oldIndex:M,item:X}of d){let f=M-1,c=_(f),y=b(c),w=K(f);y.items[w]=X,y.count++,D++}return B--,!0},T=(k,O)=>{let N=[];for(let A=k;A<=O&&A<B;A++)N.push(P(A));return N},R=(k,O)=>{for(let N=k;N<=O&&N<B;N++)if(!Z(N))return!1;return!0},z=()=>{let k=[],O=null,N=Array.from(j.keys()).sort((A,H)=>A-H);for(let A of N){let H=j.get(A);if(!H)continue;let n=A*Q;for(let l=0;l<Q;l++){let d=n+l;if(d>=B)break;if(H.items[l]!==void 0)if(O===null)O={start:d,end:d};else if(d===O.end+1)O.end=d;else k.push(O),O={start:d,end:d};else if(O!==null)k.push(O),O=null}}if(O!==null)k.push(O);return k},r=(k,O)=>{let N=[],A=null;for(let H=k;H<=O&&H<B;H++)if(!Z(H))if(A===null)A={start:H,end:H};else A.end=H;else if(A!==null)N.push(A),A=null;if(A!==null)N.push(A);return N},I=(k)=>{return j.has(k)},s=(k)=>{let O=j.get(k);if(O)O.lastAccess=Date.now()},a=(k,O)=>{if(k>O||j.size===0)return;let N=Date.now(),A=_(Math.max(0,k)),H=_(Math.min(B-1,O));for(let n=A;n<=H;n++){let l=j.get(n);if(l)l.lastAccess=N}},$2=(k,O)=>{if(D<=$)return 0;let N=Math.max(0,k-Y),A=Math.min(B-1,O+Y),H=_(N),n=_(A),l=0,d=[];for(let[M,X]of j)if(M<H||M>n)l+=X.count,d.push(M),D-=X.count,j.delete(M);if(l>0&&q)q(l,d);return l},B2=()=>{if(D<=$)return 0;let k=Array.from(j.entries()).sort(([,A],[,H])=>A.lastAccess-H.lastAccess),O=0,N=[];for(let[A,H]of k){if(D<=$)break;O+=H.count,D-=H.count,N.push(A),j.delete(A)}if(O>0&&q)q(O,N);return O},m=()=>{return{totalItems:B,cachedItems:D,cachedChunks:j.size,chunkSize:Q,maxCachedItems:$,memoryEfficiency:B>0?1-D/B:1}},C=()=>D,o=()=>{j.clear(),D=0};return{chunkSize:Q,maxCachedItems:$,getTotal:E,setTotal:W,get:P,has:Z,set:G,setRange:U,delete:V,getRange:T,isRangeLoaded:R,getLoadedRanges:z,findUnloadedRanges:r,getChunkIndex:_,isChunkLoaded:I,touchChunk:s,touchChunksForRange:a,evictDistant:$2,evictToLimit:B2,getStats:m,getCachedCount:C,clear:o,reset:()=>{o(),B=0}}},P2=(J)=>{if(J.length===0)return[];let Q=[...J].sort((Y,q)=>Y.start-q.start),$=[{...Q[0]}];for(let Y=1;Y<Q.length;Y++){let q=Q[Y],j=$[$.length-1];if(q.start<=j.end+1)j.end=Math.max(j.end,q.end);else $.push({...q})}return $},b2=(J,Q,$)=>{let Y=Math.floor(J.start/$)*$,q=Math.ceil((J.end+1)/$)*$-1,j={start:Y,end:q};if(Q.length===0)return[j];let B=[],D=P2(Q),b=j.start;for(let _ of D){if(_.end<b)continue;if(_.start>j.end)break;if(_.start>b)B.push({start:b,end:Math.min(_.start-1,j.end)});if(b=_.end+1,b>j.end)break}if(b<=j.end)B.push({start:b,end:j.end});return B};var k2=(J={})=>{let{maskCharacter:Q=l2,maxSampleSize:$=a2}=J,Y=[],q=!1,j=(K)=>{if(q||K.length===0)return;let E=Math.min(K.length,$);for(let W=0;W<E;W++){let P=K[W];if(!P||typeof P!=="object")continue;let Z={};for(let[G,U]of Object.entries(P)){if(G.startsWith("_")||G==="id")continue;Z[G]=String(U??"").length}if(Object.keys(Z).length>0)Y.push(Z)}q=!0},B=()=>q,D=(K)=>{let E={id:`${M2}${K}`,[C2]:!0,_index:K};if(Y.length===0)return E.label=Q.repeat(12),E;let W=Y[K%Y.length];for(let[P,Z]of Object.entries(W))E[P]=Q.repeat(Math.max(1,Z));return E};return{analyzeStructure:j,hasAnalyzedStructure:B,generate:D,generateRange:(K,E)=>{let W=[];for(let P=K;P<=E;P++)W.push(D(P));return W},clear:()=>{Y=[],q=!1}}},O2=(J)=>{if(!J||typeof J!=="object")return!1;return J[C2]===!0},h2=(J)=>{return J.filter((Q)=>!O2(Q))};var uJ=50,PJ=(J={})=>{let{adapter:Q,initialItems:$,initialTotal:Y,storage:q,placeholder:j,pageSize:B=uJ,onStateChange:D,onItemsLoaded:b,onItemsEvicted:_}=J,K=y2({...q,onEvict:(v,p)=>{_?.(v),a()}}),E=null,W=()=>{if(!E)E=k2(j);return E},P=new Map,Z=!1,G,U=!0,V,T,R=[],z=0,r=new Map,I=new Map,s=()=>{for(let v of I.values())v.abort();I.clear(),r.clear()},a=()=>{D?.(N())},$2=()=>{P.clear();let v=K.getLoadedRanges();for(let p of v)for(let g=p.start;g<=p.end;g++){let q2=K.get(g);if(q2&&!O2(q2))P.set(q2.id,g)}},B2=(v,p)=>{if(!O2(p))P.set(p.id,v)},m=(v)=>{P.delete(v)},C=(v,p)=>{return`${v}-${p}`},o=()=>K.getTotal(),J2=()=>K.getCachedCount(),k=()=>Z,O=()=>U,N=()=>({total:K.getTotal(),cached:K.getCachedCount(),isLoading:Z,pendingRanges:R,error:G,hasMore:U,cursor:V}),A=()=>K,H=()=>W(),n=(v)=>{let p=K.get(v);if(p!==void 0)return p;if(v>=0&&v<K.getTotal())return W().generate(v);return},l=(v)=>{let p=P.get(v);if(p===void 0)return;return K.get(p)},d=(v)=>{return P.get(v)??-1},M=(v)=>{let p=K.get(v);return p!==void 0&&!O2(p)},X=(v,p)=>{let g=[],q2=K.getTotal(),Q2=0,Y2=0;K.touchChunksForRange(v,Math.min(p,q2-1));for(let U2=v;U2<=p&&U2<q2;U2++){let Z2=K.get(U2);if(Z2!==void 0)g.push(Z2),Q2++;else g.push(W().generate(U2)),Y2++}return g},f=(v)=>{K.setTotal(v),U=K.getCachedCount()<v,a()},c=(v,p=0,g)=>{if(Q&&v.length>0){let q2=W();if(!q2.hasAnalyzedStructure())q2.analyzeStructure(v)}for(let q2=0;q2<v.length;q2++){let Q2=v[q2];if(Q2!==void 0){let Y2=p+q2;K.set(Y2,Q2),B2(Y2,Q2)}}if(g!==void 0)K.setTotal(g);else if(p+v.length>K.getTotal())K.setTotal(p+v.length);if(K.getCachedCount()>=K.getTotal()&&K.getTotal()>0)U=!1;a(),b?.(v,p,K.getTotal())},y=(v,p)=>{let g=K.get(v);if(!g)return!1;let q2=g.id,Q2={...g,...p};if(K.set(v,Q2),p.id!==void 0&&p.id!==q2)m(q2);return B2(v,Q2),a(),!0},w=(v)=>{let p=P.get(v);if(p===void 0)return!1;if(!K.delete(p))return!1;return $2(),s(),a(),!0},i=async(v,p)=>{if(!Q)return;let g=C(v,p);if(r.has(g))return;let q2=K.getLoadedRanges(),Q2=b2({start:v,end:p},q2,K.chunkSize);if(Q2.length===0)return;let Y2=K.chunkSize,U2=Y2*2;for(let[j2,G2]of I){let D2=j2.indexOf("-"),N2=parseInt(j2.slice(0,D2),10);if(Math.abs(N2-v)>U2)G2.abort(),I.delete(j2),r.delete(j2)}let Z2=[];for(let j2 of Q2){let G2=Math.floor(j2.start/Y2),D2=Math.floor(j2.end/Y2);for(let N2=G2;N2<=D2;N2++){let K2=N2*Y2,_2=K2+Y2-1,X2=C(K2,_2);if(!Z2.some((V2)=>V2.start===K2)&&!r.has(X2))Z2.push({start:K2,end:_2})}}let t=[];for(let j2 of Q2){let G2=Math.floor(j2.start/Y2),D2=Math.floor(j2.end/Y2);for(let N2=G2;N2<=D2;N2++){let K2=N2*Y2,_2=K2+Y2-1,X2=C(K2,_2);if(r.has(X2)){let V2=r.get(X2);if(!t.includes(V2))t.push(V2)}}}for(let j2 of Z2){let G2=C(j2.start,j2.end),D2=new AbortController;I.set(G2,D2);let N2=(async()=>{R.push(j2),Z=!0,G=void 0,a();try{let K2=j2.end-j2.start+1,_2={offset:j2.start,limit:K2,cursor:j2.start===T?V:void 0,signal:D2.signal},X2=await Q.read(_2);if(c(X2.items,j2.start,X2.total),X2.cursor)V=X2.cursor,T=j2.start+X2.items.length;let V2=j2.start+X2.items.length;if(V2>=z){if(z=V2,X2.hasMore!==void 0)U=X2.hasMore;else if(X2.total!==void 0)U=V2<X2.total}}catch(K2){if(K2?.name==="AbortError")return;G=K2 instanceof Error?K2:Error(String(K2))}finally{r.delete(G2),I.delete(G2),R=R.filter((K2)=>K2.start!==j2.start||K2.end!==j2.end),Z=r.size>0,a()}})();r.set(G2,N2),t.push(N2)}await Promise.all(t)},L=async(v,p)=>{if(K.isRangeLoaded(v,p))return;await i(v,p)},F=async()=>{if(!Q)return;await i(0,B-1)},S=async()=>{if(!Q||Z||!U)return!1;let v=K.getCachedCount(),p=K.getTotal(),g=v,q2=Math.min(g+B-1,p>0?p-1:g+B-1);if(g>=p&&p>0)return U=!1,!1;return await i(g,q2),K.getCachedCount()>v},u=async()=>{if(K.clear(),K.setTotal(0),P.clear(),E)E.clear();s(),R=[],Z=!1,V=void 0,T=void 0,U=!0,z=0,G=void 0,a()},x=(v,p)=>{if(K.evictDistant(v,p)>0)$2()},h=()=>{K.clear(),P.clear(),V=void 0,T=void 0,G=void 0,R=[],Z=!1,a()},e=()=>{if(K.reset(),P.clear(),E)E.clear();V=void 0,T=void 0,U=!0,z=0,G=void 0,R=[],Z=!1,a()};if($&&$.length>0)c($,0,Y??$.length);else if(Y!==void 0)K.setTotal(Y),a();return{getState:N,getTotal:o,getCached:J2,getIsLoading:k,getHasMore:O,getStorage:A,getPlaceholders:H,getItem:n,getItemById:l,getIndexById:d,isItemLoaded:M,getItemsInRange:X,setTotal:f,setItems:c,updateItem:y,removeItem:w,loadRange:i,ensureRange:L,loadInitial:F,loadMore:S,reload:u,evictDistant:x,clear:h,reset:e}};var kJ=(J=0)=>{let Q=[,,,,,,,,];for(let $=0;$<8;$++)Q[$]={position:0,time:0};return{velocity:0,lastPosition:J,lastTime:performance.now(),samples:Q,sampleIndex:0,sampleCount:0}},z2=(J,Q)=>{let $=performance.now(),Y=$-J.lastTime;if(Y===0)return J;if(Y>100){J.sampleCount=0,J.sampleIndex=0,J.velocity=0;let j=J.samples[0];return j.position=Q,j.time=$,J.sampleIndex=1,J.sampleCount=1,J.lastPosition=Q,J.lastTime=$,J}let q=J.samples[J.sampleIndex];if(q.position=Q,q.time=$,J.sampleIndex=(J.sampleIndex+1)%8,J.sampleCount=Math.min(J.sampleCount+1,8),J.sampleCount>=2){let j=(J.sampleIndex-J.sampleCount+8)%8,B=J.samples[j],D=Q-B.position,b=$-B.time;J.velocity=b>0?D/b:0}return J.lastPosition=Q,J.lastTime=$,J},mJ=(J)=>J.sampleCount>=3,zJ=(J,Q={})=>{let{wheel:$=!0,sensitivity:Y=1,smoothing:q=!1,idleTimeout:j=150,onScroll:B,onIdle:D,scrollElement:b,horizontal:_=!1}=Q,K=!!b,E=0,W=0,P=K?_?window.innerWidth:window.innerHeight:_?J.clientWidth:J.clientHeight,Z=Q.compressed??!1,G=Q.compression,U=kJ(),V=!1,T=null,z=w2(()=>{let y=_?J.scrollLeft:J.scrollTop,w=y>=E?"down":"up";if(U=z2(U,y),E=y,B)B({scrollTop:E,direction:w,velocity:U.velocity});B2()}),I=w2(()=>{let y=J.getBoundingClientRect(),w=_?Math.max(0,-y.left):Math.max(0,-y.top),i=w>=E?"down":"up";if(U=z2(U,w),E=w,!V)V=!0;if(B)B({scrollTop:E,direction:i,velocity:U.velocity});B2()}),s=(y)=>{y.preventDefault()},a=(y)=>{if(y.deltaX)return;y.preventDefault(),J.scrollLeft+=y.deltaY},$2=(y)=>{if(!Z)return;y.preventDefault();let w=(_?y.deltaX||y.deltaY:y.deltaY)*Y,i=E+w;if(q)i=E+w*0.3;if(i=Math.max(0,Math.min(i,W)),i!==E){let F=i>=E?"down":"up";if(U=z2(U,i),E=i,!V)V=!0;if(B)B({scrollTop:E,direction:F,velocity:U.velocity});B2()}},B2=()=>{if(T)clearTimeout(T);T=setTimeout(()=>{if(V=!1,U=kJ(E),D)D()},j)},m=(y)=>{if(Z)return;if(Z=!0,G=y,W=y.virtualSize-P,K)return;if(z.cancel(),J.removeEventListener("scroll",z),!$)J.removeEventListener("wheel",s);else if(_)J.removeEventListener("wheel",a);if(_)J.style.overflowX="hidden";else J.style.overflow="hidden";if($)J.addEventListener("wheel",$2,{passive:!1});let w=_?J.scrollLeft:J.scrollTop;if(w>0){let i=_?G?.actualSize??J.scrollWidth:G?.actualSize??J.scrollHeight;E=w/i*W}if(_)J.scrollLeft=0;else J.scrollTop=0},C=()=>{if(!Z)return;if(Z=!1,K){G=void 0;return}if(J.removeEventListener("wheel",$2),_)J.style.overflowX="auto";else J.style.overflow="auto";if(J.addEventListener("scroll",z,{passive:!0}),!$)J.addEventListener("wheel",s,{passive:!1});else if(_)J.addEventListener("wheel",a,{passive:!1});if(G&&E>0){let w=E/W*(G.actualSize-P);if(_)J.scrollLeft=w;else J.scrollTop=w}G=void 0},o=()=>{if(K||Z)return E;return _?J.scrollLeft:J.scrollTop},J2=(y,w=!1)=>{let i=Math.max(0,Math.min(y,W||1/0));if(K){let L=J.getBoundingClientRect();if(_){let F=L.left+window.scrollX;window.scrollTo({left:F+i,behavior:w?"smooth":"auto"})}else{let F=L.top+window.scrollY;window.scrollTo({top:F+i,behavior:w?"smooth":"auto"})}}else if(Z){if(i===E)return;let F=i>=E?"down":"up";if(U=z2(U,i),E=i,!V)V=!0;if(B)B({scrollTop:E,direction:F,velocity:U.velocity});B2()}else if(_)J.scrollTo({left:i,behavior:w?"smooth":"auto"});else J.scrollTo({top:i,behavior:w?"smooth":"auto"})},k=(y)=>{J2(o()+y)},O=()=>{return o()<=0},N=(y=0)=>{let w=o(),i=K||Z?W:_?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;return w>=i-y},A=()=>{let y=o(),w=K||Z?W:_?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;if(w<=0)return 0;return Math.min(1,Math.max(0,y/w))},H=(y)=>{if(y.compression)G=y.compression,W=G.virtualSize-P},n=()=>Z,l=()=>Math.abs(U.velocity),d=()=>mJ(U),M=()=>V,X=()=>K,f=(y)=>{if(P=y,G)W=G.virtualSize-P},c=()=>{if(T)clearTimeout(T);if(K)I.cancel(),window.removeEventListener("scroll",I);else z.cancel(),J.removeEventListener("scroll",z),J.removeEventListener("wheel",$2),J.removeEventListener("wheel",s),J.removeEventListener("wheel",a)};if(K){if(Z&&G)W=G.virtualSize-P;window.addEventListener("scroll",I,{passive:!0})}else if(Z&&G){if(W=G.virtualSize-P,_)J.style.overflowX="hidden";else J.style.overflow="hidden";if($)J.addEventListener("wheel",$2,{passive:!1})}else{if(_)J.style.overflowX="auto",J.style.overflowY="hidden";else J.style.overflow="auto";if(J.addEventListener("scroll",z,{passive:!0}),!$)J.addEventListener("wheel",s,{passive:!1});else if(_)J.addEventListener("wheel",a,{passive:!1})}return{getScrollTop:o,scrollTo:J2,scrollBy:k,isAtTop:O,isAtBottom:N,getScrollPercentage:A,getVelocity:l,isTracking:d,isScrolling:M,updateConfig:H,enableCompression:m,disableCompression:C,isCompressed:n,isWindowMode:X,updateContainerHeight:f,destroy:c}},w2=(J)=>{let Q=null,$=null,Y=(...q)=>{if($=q,Q===null)Q=requestAnimationFrame(()=>{if(Q=null,$)J(...$)})};return Y.cancel=()=>{if(Q!==null)cancelAnimationFrame(Q),Q=null},Y};var wJ=(J,Q,$={},Y="vlist",q=!1)=>{let{autoHide:j=!0,autoHideDelay:B=1000,minThumbSize:D=30,showOnHover:b=!0,hoverZoneWidth:_=16,showOnViewportEnter:K=!0}=$,E=0,W=0,P=0,Z=0,G=!1,U=!1,V=0,T=0,R=0,z=null,r=!1,I=null,s=null,a=q?"width":"height",$2=q?"translateX":"translateY",B2=q?(F)=>F.clientX:(F)=>F.clientY,m=q?"left":"top",C=document.createElement("div"),o=document.createElement("div"),J2=b?document.createElement("div"):null,k=()=>{if(C.className=`${Y}-scrollbar`,o.className=`${Y}-scrollbar-thumb`,q)C.classList.add(`${Y}-scrollbar--horizontal`);if(C.appendChild(o),J.appendChild(C),J2){if(J2.className=`${Y}-scrollbar-hover`,q)J2.classList.add(`${Y}-scrollbar-hover--horizontal`),J2.style.height=`${_}px`;else J2.style.width=`${_}px`;J.appendChild(J2)}},O=()=>{if(z)clearTimeout(z),z=null},N=()=>{if(!j)return;O(),z=setTimeout(H,B)},A=()=>{if(E<=W)return;if(O(),!r)C.classList.add(`${Y}-scrollbar--visible`),r=!0;if(j&&!G&&!U)N()},H=()=>{if(G||U)return;C.classList.remove(`${Y}-scrollbar--visible`),r=!1},n=(F,S)=>{E=F,W=S;let u=E>W;if(C.style.display=u?"":"none",!u){H();return}let x=W/E;P=Math.max(D,x*W),o.style[a]=`${P}px`,Z=W-P,l(R)},l=(F)=>{if(R=F,E<=W||Z<=0)return;let S=E-W,x=Math.min(1,Math.max(0,F/S))*Z;o.style.transform=`${$2}(${x}px)`},d=(F)=>{if(F.target===o)return;let S=C.getBoundingClientRect(),h=B2(F)-S[m]-P/2,v=Math.max(0,Math.min(h,Z))/Z,p=E-W,g=v*p;Q(g),A()},M=(F)=>{F.preventDefault(),F.stopPropagation(),G=!0,V=B2(F),T=R,O(),C.classList.add(`${Y}-scrollbar--dragging`),document.addEventListener("mousemove",X),document.addEventListener("mouseup",f)},X=(F)=>{if(!G)return;let S=B2(F)-V,u=Z>0?S/Z:0,x=E-W,h=u*x,e=Math.max(0,Math.min(T+h,x)),p=e/x*Z;if(o.style.transform=`${$2}(${p}px)`,s=e,I===null)I=requestAnimationFrame(()=>{if(s!==null)Q(s);I=null})},f=()=>{if(G=!1,I!==null)cancelAnimationFrame(I),I=null;if(s!==null)Q(s),s=null;if(C.classList.remove(`${Y}-scrollbar--dragging`),j&&!U)N();document.removeEventListener("mousemove",X),document.removeEventListener("mouseup",f)},c=()=>{if(K)A()},y=()=>{if(!G){if(U=!1,j)N()}},w=()=>{U=!0,O(),A()},i=()=>{if(U=!1,!G&&j)N()},L=()=>{if(O(),I!==null)cancelAnimationFrame(I),I=null;if(C.removeEventListener("click",d),C.removeEventListener("mouseenter",w),C.removeEventListener("mouseleave",i),o.removeEventListener("mousedown",M),J.removeEventListener("mouseenter",c),J.removeEventListener("mouseleave",y),document.removeEventListener("mousemove",X),document.removeEventListener("mouseup",f),J2){if(J2.removeEventListener("mouseenter",w),J2.removeEventListener("mouseleave",i),J2.parentNode)J2.parentNode.removeChild(J2)}if(C.parentNode)C.parentNode.removeChild(C)};if(k(),C.addEventListener("click",d),C.addEventListener("mouseenter",w),C.addEventListener("mouseleave",i),o.addEventListener("mousedown",M),J.addEventListener("mouseenter",c),J.addEventListener("mouseleave",y),J2)J2.addEventListener("mouseenter",w),J2.addEventListener("mouseleave",i);return{show:A,hide:H,updateBounds:n,updatePosition:l,isVisible:()=>r,destroy:L}};var dJ=50,cJ=0.1;function rJ(J){let Q=0,$=0,Y=0;function q(){return Y>0?$/Y:0}function j(b){if(Q=b,b>cJ&&b<dJ)$+=b,Y++}function B(){let b=J.getTotal();if(b===0)return 0;let _=J.getItemSize();if(_<=0)return 0;let K=J.getContainerSize();if(K<=0)return 0;let E=J.getScrollPosition(),W=typeof J.getColumns==="function"?J.getColumns():1,Z=Math.ceil(b/W)*_,U=Math.min(Z,W2)-K,V=Z-K,T=U>0?V/U:1,R=E*T,z=Math.ceil((R+K)/_);return Math.min(z*W,b)}function D(){let b=J.getTotal(),_=B();return{progress:b>0?Math.min(100,Math.max(0,_/b*100)):0,velocity:Q,velocityAvg:q(),itemCount:_,total:b}}return{getState:D,onVelocity:j}}export{n2 as toggleSelection,VJ as simpleVisibleRange,S2 as selectItems,o2 as selectAll,HJ as rangesEqual,w2 as rafThrottle,qJ as needsScaling,P2 as mergeRanges,t2 as isSelected,O2 as isPlaceholderItem,bJ as isInRange,T2 as isGroupHeader,JJ as getSelectedItems,e2 as getSelectedIds,H2 as getScaleState,UJ as getScaleInfo,H2 as getScale,TJ as getRangeCount,BJ as getMaxItemsWithoutScaling,h2 as filterPlaceholders,RJ as diffRanges,f2 as deselectItems,ZJ as createTableRenderer,XJ as createTableLayout,NJ as createTableHeader,c2 as createStickyHeader,rJ as createStats,y2 as createSparseStorage,F2 as createSizeCache,s2 as createSelectionState,wJ as createScrollbar,zJ as createScrollController,k2 as createPlaceholderManager,_J as createMeasuredSizeCache,DJ as createMasonryRenderer,GJ as createMasonryLayout,m2 as createGroupedSizeFn,d2 as createGroupLayout,KJ as createGridRenderer,r2 as createGridLayout,yJ as createEmitter,PJ as createAsyncManager,i2 as clearSelection,LJ as clampScrollPosition,OJ as calculateTotalSize,FJ as calculateScrollToIndex,QJ as calculateScaledVisibleRange,YJ as calculateScaledScrollToIndex,$J as calculateScaledRenderRange,A2 as calculateScaledItemPosition,WJ as calculateRenderRange,b2 as calculateMissingRanges,AJ as calculateItemOffset,jJ as calculateIndexFromScrollPosition,EJ as calculateActualSize,u2 as buildLayoutItems,W2 as MAX_VIRTUAL_SIZE};
1
+ var T2=(J)=>{return J!==null&&typeof J==="object"&&J.__groupHeader===!0};var v2=(J,Q)=>{let $=0,Y=J.length-1;while($<Y){let q=$+Y+1>>>1;if(J[q].headerLayoutIndex<=Q)$=q;else Y=q-1}return $},x2=(J,Q)=>{let $=0,Y=J.length-1;while($<Y){let q=$+Y+1>>>1;if(J[q].firstDataIndex<=Q)$=q;else Y=q-1}return $},g2=(J,Q)=>{if(J===0)return[];let $=[],Y=Q(0),q=0,j=0;for(let K=1;K<J;K++){let D=Q(K);if(D!==Y){let A=K-q;$.push({key:Y,groupIndex:$.length,headerLayoutIndex:j,firstDataIndex:q,count:A}),j=j+1+A,Y=D,q=K}}return $.push({key:Y,groupIndex:$.length,headerLayoutIndex:j,firstDataIndex:q,count:J-q}),$},u2=(J,Q)=>{if(J.length===0||Q.length===0)return[];let $=J.length+Q.length,Y=Array($),q=0;for(let j of Q){Y[q]={id:`__group_header_${j.groupIndex}`,__groupHeader:!0,groupKey:j.key,groupIndex:j.groupIndex},q++;for(let K=0;K<j.count;K++)Y[q]=J[j.firstDataIndex+K],q++}return Y},m2=(J,Q,$=!1)=>{let Y=typeof Q==="number"?(q)=>Q:Q;return(q)=>{let j=J.getEntry(q);if(j.type==="header"){if($&&j.group.groupIndex===0)return 0;return J.getHeaderHeight(j.group.groupIndex)}return Y(j.dataIndex)}},d2=(J,Q)=>{let $=g2(J,Q.getGroupForIndex),Y=J+$.length,q=Q.header?.height??Q.header?.width??Q.headerHeight;return{get totalEntries(){return Y},get groupCount(){return $.length},get groups(){return $},getEntry:(b)=>{if($.length===0)return{type:"item",dataIndex:b,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let C=v2($,b),G=$[C];if(b===G.headerLayoutIndex)return{type:"header",group:G};let W=b-G.headerLayoutIndex-1;return{type:"item",dataIndex:G.firstDataIndex+W,group:G}},layoutToDataIndex:(b)=>{if($.length===0)return b;let C=v2($,b),G=$[C];if(b===G.headerLayoutIndex)return-1;let W=b-G.headerLayoutIndex-1;return G.firstDataIndex+W},dataToLayoutIndex:(b)=>{if($.length===0)return b;let C=x2($,b),G=$[C],W=b-G.firstDataIndex;return G.headerLayoutIndex+1+W},getGroupAtLayoutIndex:(b)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let C=v2($,b);return $[C]},getGroupAtDataIndex:(b)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let C=x2($,b);return $[C]},getHeaderHeight:typeof q==="number"?(b)=>q:(b)=>{let C=$[b];if(!C)return 0;return q(C.key,b)},rebuild:(b)=>{$=g2(b,Q.getGroupForIndex),Y=b+$.length}}};var c2=(J,Q,$,Y,q,j=!1,K=0)=>{let D=j?"width":"height",A=j?"height":"width",V=j?"X":"Y",X=(N,S)=>{N.style[D]=`${S}px`},O=document.createElement("div");O.className=`${q}-sticky-header`,O.setAttribute("role","presentation"),O.setAttribute("aria-hidden","true"),O.style.cssText="position:relative;z-index:5;pointer-events:none;overflow:hidden;"+(j?`top:0;bottom:0;left:${K||0}px`:`top:${K||0}px`);let b=()=>{let N=document.createElement("div");return N.className="sticky-group",N.style.position="absolute",N.style.willChange="transform",N.style[A]="100%",N},C=b(),G=b();O.append(C,G),J.insertBefore(O,J.firstChild);let W=C,B=G,U=Q.groups,F=[],T=[],P=0,c=()=>{U=Q.groups,P=U.length,F=Array(P),T=Array(P);for(let N=0;N<P;N++)F[N]=$.getOffset(U[N].headerLayoutIndex),T[N]=Q.getHeaderHeight(N)};c();let u=-1,o=0,l=-1,Y2=!1,U2=0,p=!1,m=(N,S)=>{Y(N,S);let g=T[S];return X(N,g),g},J2=(N)=>{N.replaceChildren(),N.style.transform=""},Q2=(N)=>{if(N===u)return;if(u=N,o=0,N<0||N>=P){J2(W);return}o=m(W,N),X(O,o),W.style.transform=""},y=(N)=>{if(N===U2)return;U2=N;let S=Math.round(N);W.style.transform=`translate${V}(${S}px)`,B.style.transform=`translate${V}(${S+o}px)`},M=()=>{U2=0,W.style.transform="",B.style.transform=""},Z=()=>{if(!p)return;let N=W;W=B,B=N,u=l,o=u>=0?T[u]:0,X(O,o),J2(B),l=-1,p=!1,M()},L=()=>{if(!p)return;J2(B),l=-1,p=!1,M()},H=()=>{if(Y2)return;Y2=!0,O.style.display=""},a=()=>{if(!Y2)return;Y2=!1,O.style.display="none",J2(W),u=-1,o=0,L()},s=(N)=>{if(P===0){a();return}if(N<F[0]){a();return}let S=0,g=P-1;while(S<g){let w=S+g+1>>>1;if(F[w]+T[w]<=N)S=w;else g=w-1}if(!Y2)H();Q2(S);let R=S+1;if(R<P){let w=F[R]-N;if(w<=0&&w>-o){if(l!==R||!p)l=R,m(B,R),p=!0;y(w)}else if(w<=-o){if(p)Z()}else if(p)L()}else if(p)L()},k=()=>{c();let N=u;if(u=-1,o=0,N>=0)Q2(N)},_=()=>{O.remove(),u=-1,o=0,l=-1,Y2=!1,p=!1};return O.style.display="none",{update:s,refresh:k,show:H,hide:a,destroy:_}};var r2=(J)=>{let Q=Math.max(1,Math.floor(J.columns)),$=J.gap??0,Y=J.isHeaderFn,q={row:0,col:0},j=(G)=>{if(G<=0)return 0;if(!Y)return Math.ceil(G/Q);let W=0,B=0,U=0;for(let F=0;F<G;F++)if(Y(F)){if(U++,B>0)W++,B=0;W++,B=0}else if(B++,B>=Q)W++,B=0;if(B>0)W++;return W},K=(G)=>{return q.row=D(G),q.col=A(G),q},D=(G)=>{if(!Y)return Math.floor(G/Q);let W=0,B=0;for(let U=0;U<=G;U++)if(Y(U)){if(B>0)W++,B=0;if(U===G)return W;W++,B=0}else{if(U===G)return W;if(B++,B>=Q)W++,B=0}return console.warn(`⚠️ getRow(${G}) fell through - returning ${W}`),W},A=(G)=>{if(!Y)return G%Q;if(Y(G))return 0;let W=0;for(let B=0;B<=G;B++)if(Y(B))W=0;else{if(B===G)return W;if(W++,W>=Q)W=0}return W},V=(G,W,B)=>{if(B<=0)return{start:0,end:-1};if(!Y){let c=Math.max(0,G*Q),u=Math.min(B-1,(W+1)*Q-1);return{start:c,end:u}}let U=-1,F=-1,T=0,P=0;for(let c=0;c<B;c++){if(Y(c)){if(P>0)T++,P=0;if(T>=G&&T<=W){if(U===-1)U=c;F=c}T++,P=0}else{if(T>=G&&T<=W){if(U===-1)U=c;F=c}if(P++,P>=Q)T++,P=0}if(T>W&&P===0)break}if(U===-1)return{start:0,end:-1};return{start:U,end:F}},X=(G,W,B)=>{if(W<0||W>=Q)return-1;let U=G*Q+W;if(U<0||U>=B)return-1;return U},O=(G)=>{let W=(Q-1)*$;return Math.max(0,(G-W)/Q)};return{get columns(){return Q},get gap(){return $},update:(G)=>{if(G.columns!==void 0)Q=Math.max(1,Math.floor(G.columns));if(G.gap!==void 0)$=G.gap;if(G.isHeaderFn!==void 0)Y=G.isHeaderFn},getTotalRows:j,getPosition:K,getRow:D,getCol:A,getItemRange:V,getItemIndex:X,getColumnWidth:O,getColumnOffset:(G,W)=>{let B=O(W);return G*(B+$)}}};var W2=16000000;var l2="x",a2=20,C2="_isPlaceholder",M2="__placeholder_";var A2=(J,Q,$)=>{if(String($).startsWith(M2))return!1;let Y=M2+Q;if(J.has(Y))return J.delete(Y),J.add($),!0;return!1},s2=(J)=>({selected:new Set(J??[]),focusedIndex:-1,focusVisible:!1}),S2=(J,Q,$)=>{if($==="none")return J;let Y=new Set(J.selected);if($==="single"){if(Y.clear(),Q.length>0)Y.add(Q[0])}else for(let q of Q)Y.add(q);return{...J,selected:Y}},f2=(J,Q)=>{let $=new Set(J.selected);for(let Y of Q)$.delete(Y);return{...J,selected:$}},n2=(J,Q,$)=>{if($==="none")return J;if(J.selected.has(Q))return f2(J,[Q]);else return S2(J,[Q],$)},o2=(J,Q,$)=>{if($!=="multiple")return J;return{...J,selected:new Set(Q.map((Y)=>Y.id))}},i2=(J)=>({...J,selected:new Set});var t2=(J,Q)=>{return J.selected.has(Q)},e2=(J)=>{return Array.from(J.selected)},JJ=(J,Q)=>{let $=[];for(let Y of J.selected){let q=Q(Y);if(q)$.push(q)}return $};var vJ=(J,Q)=>{let $=Q;return{getOffset:(Y)=>Y*J,getSize:(Y)=>J,indexAtOffset:(Y)=>{if($===0||J===0)return 0;return Math.max(0,Math.min(Math.floor(Y/J),$-1))},getTotalSize:()=>$*J,getTotal:()=>$,rebuild:(Y)=>{$=Y},isVariable:()=>!1}},CJ=(J,Q)=>{let $=Q,Y=new Float64Array(0),q=(K)=>{$=K,Y=new Float64Array(K+1),Y[0]=0;for(let D=0;D<K;D++)Y[D+1]=Y[D]+J(D)};q(Q);let j=(K)=>{if($===0)return 0;if(K<=0)return 0;if(K>=Y[$])return $-1;let D=0,A=$-1;while(D<A){let V=D+A+1>>>1;if(Y[V]<=K)D=V;else A=V-1}return D};return{getOffset:(K)=>{if(K<=0)return 0;if(K>=$)return Y[$];return Y[K]},getSize:(K)=>J(K),indexAtOffset:(K)=>j(K),getTotalSize:()=>Y[$]??0,getTotal:()=>$,rebuild:(K)=>q(K),isVariable:()=>!0}},L2=(J,Q)=>{if(typeof J==="number")return vJ(J,Q);return CJ(J,Q)},I2=(J,Q,$,Y)=>{if(Y===0)return 0;if(!J.isVariable())return Math.ceil($/J.getSize(0));let q=0,j=0,K=Q;while(K<Y&&j<$)j+=J.getSize(K),q++,K++;return Math.max(1,q)};var H2=(J,Q,$)=>{let Y=Q.getTotalSize(),q=$===!0||Y>W2,j=Y>W2?W2:Y,K=Y>0?j/Y:1;return{isCompressed:q,actualSize:Y,virtualSize:j,ratio:K}},QJ=(J,Q,$,Y,q,j)=>{if(Y===0||Q===0)return j.start=0,j.end=-1,j;if(!q.isCompressed||q.ratio===1){let b=$.indexAtOffset(J),C=$.indexAtOffset(J+Q);if(C<Y-1)C++;return j.start=Math.max(0,b),j.end=Math.min(Y-1,Math.max(0,C)),j}let{virtualSize:K}=q,A=J/K*Y,V=Math.floor(A),X=I2($,Math.max(0,V),Q,Y),O=Math.ceil(A)+X;return j.start=Math.max(0,V),j.end=Math.min(Y-1,Math.max(0,O)),j},$J=(J,Q,$,Y)=>{if($===0)return Y.start=0,Y.end=-1,Y;return Y.start=Math.max(0,J.start-Q),Y.end=Math.min($-1,J.end+Q),Y},F2=(J,Q,$,Y,q,j,K)=>{if(!j.isCompressed||Y===0)return $.getOffset(J);if(j.ratio===1)return $.getOffset(J)-Q;let{virtualSize:D}=j,A=Q/D,V=$.getTotalSize(),X=A*V;return $.getOffset(J)-X},YJ=(J,Q,$,Y,q,j="start")=>{if(Y===0)return 0;let K;if(q.isCompressed&&q.ratio!==1){K=J/Y*q.virtualSize;let X=Q.getSize(J);switch(j){case"center":K-=($-X)/2*q.ratio;break;case"end":K-=($-X)*q.ratio;break}return Math.max(0,K)}K=Q.getOffset(J);let D=Q.getSize(J);switch(j){case"center":K-=($-D)/2;break;case"end":K-=$-D;break}let A=q.virtualSize-$;return Math.max(0,Math.min(K,A))},jJ=(J,Q,$,Y)=>{if($===0)return 0;if(Y.isCompressed&&Y.ratio!==1){let q=J/Y.virtualSize;return Math.floor(q*$)}return Q.indexAtOffset(J)},qJ=(J,Q)=>{if(typeof Q==="number")return J*Q>W2;return Q.getTotalSize()>W2},BJ=(J)=>{if(J<=0)return 0;return Math.floor(W2/J)},KJ=(J,Q,$)=>{let Y=H2(J,Q,$);if(!Y.isCompressed)return`No compression needed (${J} items, ${(Y.actualSize/1e6).toFixed(2)}M px)`;return`Compressed to ${(Y.ratio*100).toFixed(1)}% (${J} items, ${(Y.actualSize/1e6).toFixed(1)}M px → ${(Y.virtualSize/1e6).toFixed(1)}M px virtual)`};var R2=(J,Q,$)=>{let Y=Array.from(Q).sort((K,D)=>K-D);if(Y.length<=1)return;let q=[];for(let K=0;K<Y.length;K++){let D=$(Y[K]);if(D)q.push(D)}if(q.length<=1)return;let j=J.firstChild;for(let K=0;K<q.length;K++){let D=q[K];if(D===j)j=j.nextSibling;else J.insertBefore(D,j)}};var SJ=(J=200)=>{let Q=[];return{acquire:()=>{let j=Q.pop();if(j)return j;let K=document.createElement("div");return K.setAttribute("role","option"),K},release:(j)=>{if(j.remove(),Q.length<J)j.className="",j.textContent="",j.removeAttribute("style"),j.removeAttribute("data-index"),j.removeAttribute("data-id"),j.removeAttribute("data-row"),j.removeAttribute("data-col"),Q.push(j)},clear:()=>{Q.length=0}}},fJ=1,XJ=(J,Q,$,Y,q,j,K,D,A=!1)=>{let V=SJ(),X=new Map,O=j,b=!1,C=0,G="",W=-1,B={selected:!1,focused:!1},U=(_,N)=>{return B.selected=_,B.focused=N,B},F=`${q}-item ${q}-grid-item`,T=`${q}-item--selected`,P=`${q}-item--focused`,c=`${q}-item--placeholder`,u=`${q}-item--replaced`,o=(_,N)=>{if(typeof N==="string")_.innerHTML=N;else _.replaceChildren(N)},l=(_,N,S)=>{_.classList.toggle(T,N),_.classList.toggle(P,S)},Y2=(_,N)=>{let S=Y.getRow(_);if(N?.compression?.isCompressed)return F2(S,N.scrollPosition,$,N.totalItems,N.containerSize,N.compression,N.rangeStart);return $.getOffset(S)},U2=(_,N)=>{let S=b&&Y.getCol(_)===0,g=S?0:Y.getCol(_),R=S?0:Y.getColumnOffset(g,O),w;if(b){let t=Y.getRow(_),E=0,z=new Set;for(let f=0;f<_;f++){let d=Y.getRow(f);if(d<t&&!z.has(d)){let r=$.getSize(f);E+=r,z.add(d)}}w=E}else w=Y2(_,N);if(A)return`translate(${Math.round(w)}px, ${Math.round(R)}px)`;return`translate(${Math.round(R)}px, ${Math.round(w)}px)`},p=(_,N)=>{_.style.transform=N},m=(_,N)=>{let S=_.dataset.id?.startsWith("__group_header"),g=S?O:Y.getColumnWidth(O),R;if(b||S)R=$.getSize(N)-Y.gap;else{let w=Y.getRow(N);R=$.getSize(w)-Y.gap}if(A)_.style.width=`${R}px`,_.style.height=`${g}px`;else _.style.width=`${g}px`,_.style.height=`${R}px`},J2=(_,N,S,g,R)=>{let w=V.acquire(),t=U(S,g);if(w.className=F,w.dataset.index=String(_),w.dataset.id=String(N.id),w.dataset.row=String(Y.getRow(_)),w.dataset.col=String(Y.getCol(_)),w.ariaSelected=String(S),D)w.id=`${D}-item-${_}`;if(K){let f=K();if(f!==W)W=f,G=String(f);w.setAttribute("aria-setsize",G),w.setAttribute("aria-posinset",String(_+1))}m(w,_);let E=Q(N,_,t);if(o(w,E),String(N.id).startsWith(M2))w.classList.add(c);return l(w,S,g),p(w,R),{element:w,lastItemId:N.id,lastSelected:S,lastFocused:g,lastTransform:R,lastSeenFrame:C}},Q2=(_,N,S,g,R)=>{if(C++,N.start===0&&_.length>0)b=T2(_[0]);for(let[E,z]of X)if(E>=N.start&&E<=N.end)z.lastSeenFrame=C;else if(C-z.lastSeenFrame>fJ)V.release(z.element),X.delete(E);let w=!1;if(K){let E=K();if(E!==W)W=E,G=String(E),w=!0}let t=null;for(let E=N.start;E<=N.end;E++){let z=E-N.start,f=_[z];if(!f){console.warn(`⚠️ RENDER: Missing item at index ${E} (range: ${N.start}-${N.end}, items.length: ${_.length})`);continue}let d=S.has(f.id),r=E===g,h=X.get(E);if(h){let e=h.lastItemId!==f.id,v=h.lastSelected!==d,I=h.lastFocused!==r;if(e){let B2=String(h.lastItemId),$2=String(f.id),q2=B2.startsWith(M2),Z2=$2.startsWith(M2);if(!Z2&&A2(S,E,f.id))d=!0;let _2=U(d,r),n=Q(f,E,_2);if(o(h.element,n),h.element.dataset.id=$2,h.element.dataset.row=String(Y.getRow(E)),h.element.dataset.col=String(Y.getCol(E)),m(h.element,E),h.element.classList.toggle(c,Z2),q2&&!Z2)h.element.classList.add(u),setTimeout(()=>h.element.classList.remove(u),300);h.lastItemId=f.id}if(e||v||I)l(h.element,d,r),h.element.ariaSelected=String(d),h.lastSelected=d,h.lastFocused=r;let x=U2(E,R);if(h.lastTransform!==x)p(h.element,x),h.lastTransform=x;if(w)h.element.setAttribute("aria-setsize",G)}else{if(A2(S,E,f.id))d=!0;let e=U2(E,R),v=J2(E,f,d,r,e);if(!t)t=document.createDocumentFragment();t.appendChild(v.element),X.set(E,v)}}if(t)J.appendChild(t)},y=(_)=>{for(let[N,S]of X){let g=U2(N,_);if(S.lastTransform!==g)p(S.element,g),S.lastTransform=g}},M=(_,N,S,g)=>{let R=X.get(_);if(!R)return;let w=U(S,g),t=Q(N,_,w);o(R.element,t),l(R.element,S,g),R.element.dataset.id=String(N.id),R.element.ariaSelected=String(S),m(R.element,_),R.lastItemId=N.id,R.lastSelected=S,R.lastFocused=g},Z=(_,N,S)=>{let g=X.get(_);if(!g)return;let R=g.lastSelected!==N,w=g.lastFocused!==S;if(R||w)l(g.element,N,S),g.lastSelected=N,g.lastFocused=S},L=(_)=>{return X.get(_)?.element},H=(_)=>{if(Math.abs(_-O)<1)return;O=_;for(let[N,S]of X){m(S.element,N);let g=U2(N);p(S.element,g),S.lastTransform=g}},a=()=>{R2(J,X.keys(),(_)=>X.get(_)?.element)},s=()=>{for(let[,_]of X)V.release(_.element);X.clear()};return{render:Q2,updatePositions:y,updateItem:M,updateItemClasses:Z,getElement:L,sortDOM:a,updateContainerWidth:H,clear:s,destroy:()=>{s(),V.clear()}}};var NJ=(J,Q=50,$=1/0,Y=!0)=>{let q=J,j=[],K=0,D=()=>{j=q.map((B,U)=>({def:B,index:U,width:0,minWidth:IJ(B.minWidth??Q,1),maxWidth:B.maxWidth??$,resizable:B.resizable??Y,offset:0}))},A=(B)=>{if(j.length===0){K=0;return}let U=0,F=0;for(let T=0;T<j.length;T++){let P=j[T],c=P.def;if(c.width!==void 0)P.width=p2(c.width,P.minWidth,P.maxWidth),U+=P.width;else F++}if(F>0){let P=Math.max(0,B-U)/F;for(let c=0;c<j.length;c++){let u=j[c];if(u.def.width===void 0)u.width=p2(P,u.minWidth,u.maxWidth)}}V()},V=()=>{let B=0;for(let U=0;U<j.length;U++){let F=j[U];F.offset=B,B+=F.width}K=B},X=(B,U)=>{if(B<0||B>=j.length)return 0;let F=j[B];if(!F.resizable)return F.width;let T=p2(U,F.minWidth,F.maxWidth);return F.width=T,V(),T},O=(B)=>{return j[B]},b=(B)=>{if(j.length===0)return;if(B<0)return j[0];if(B>=K)return j[j.length-1];let U=0,F=j.length-1;while(U<F){let T=U+F>>>1,P=j[T];if(B<P.offset)F=T-1;else if(B>=P.offset+P.width)U=T+1;else return P}return j[U]},C=(B)=>{if(B<0||B>=j.length)return 0;return j[B].offset},G=(B)=>{if(B<0||B>=j.length)return 0;return j[B].width},W=(B)=>{q=B,D()};return D(),{get columns(){return j},get totalWidth(){return K},resolve:A,updateColumns:W,resizeColumn:X,getColumn:O,getColumnAtX:b,getColumnOffset:C,getColumnWidth:G}},p2=(J,Q,$)=>Math.min($,Math.max(Q,J)),IJ=(J,Q)=>Math.max(Q,J);var UJ=(J,Q,$,Y,q,j,K)=>{let D=document.createElement("div");D.setAttribute("role","rowgroup");let A=document.createElement("div");A.className=`${Y}-table-header`,A.setAttribute("role","row"),A.setAttribute("aria-rowindex","1"),A.style.height=`${$}px`;let V=document.createElement("div");V.className=`${Y}-table-header-scroll`,V.setAttribute("role","presentation"),A.appendChild(V),D.appendChild(A),J.insertBefore(D,J.firstChild),Q.style.cssText=`position:absolute;top:${$}px;left:0px;right:0px;bottom:0px;height:auto`;let X=[],O=[],b=[],C=!0,G=null,W="asc",B=null,U=!1,F=-1,T=0,P=0,c=(Z,L)=>{let H=document.createElement("div");H.className=`${Y}-table-header-cell`,H.setAttribute("role","columnheader"),H.setAttribute("aria-colindex",String(L+1)),H.dataset.columnKey=Z.def.key;let a=Z.def.align;if(a==="center")H.classList.add(`${Y}-table-header-cell--center`);else if(a==="right")H.classList.add(`${Y}-table-header-cell--right`);let s=document.createElement("div");s.className=`${Y}-table-header-content`;let k=Z.def.header?Z.def.header(Z.def):Z.def.label;if(typeof k==="string")s.textContent=k;else s.appendChild(k);if(H.appendChild(s),Z.def.sortable){let _=document.createElement("span");_.className=`${Y}-table-header-sort`,_.setAttribute("aria-hidden","true"),H.appendChild(_),b.push(_),H.classList.add(`${Y}-table-header-cell--sortable`)}else b.push(null);if(Z.resizable){let _=document.createElement("div");_.className=`${Y}-table-header-resize`,_.dataset.resizeIndex=String(L),H.appendChild(_),O.push(_)}return H},u=(Z)=>{B=Z,V.textContent="",X=[],O=[],b=[];let L=Z.columns;for(let H=0;H<L.length;H++){let a=L[H],s=c(a,H);X.push(s),V.appendChild(s)}if(o(Z),G)l(G,W)},o=(Z)=>{B=Z;let L=Z.columns;V.style.width=`${Z.totalWidth}px`;for(let H=0;H<X.length&&H<L.length;H++){let a=X[H],s=L[H];a.style.width=`${s.width}px`}},l=(Z,L)=>{if(G=Z,W=L,!B)return;let H=B.columns;for(let a=0;a<b.length&&a<H.length;a++){let s=b[a];if(!s)continue;if(H[a].def.key===Z&&Z!==null)s.textContent=L==="asc"?"▲":"▼",s.style.opacity="0.7",X[a].setAttribute("aria-sort",L==="asc"?"ascending":"descending");else s.textContent="",s.style.opacity="0",X[a].removeAttribute("aria-sort")}},Y2=(Z)=>{V.style.transform=`translateX(${-Z}px)`},U2=(Z)=>{let L=Z.target;if(!L.dataset.resizeIndex)return;if(Z.preventDefault(),Z.stopPropagation(),F=parseInt(L.dataset.resizeIndex,10),!B)return;let H=B.getColumn(F);if(!H||!H.resizable)return;U=!0,T=Z.clientX,P=H.width,J.classList.add(`${Y}--col-resizing`),J.style.cursor="col-resize",L.classList.add(`${Y}-table-header-resize--active`),L.setPointerCapture(Z.pointerId),L.addEventListener("pointermove",p),L.addEventListener("pointerup",m),L.addEventListener("pointercancel",m)},p=(Z)=>{if(!U||!B)return;let L=Z.clientX-T;if(Math.abs(L)<1)return;let H=Math.max(0,P+L);q(F,H)},m=(Z)=>{if(!U)return;let L=Z.target;L.removeEventListener("pointermove",p),L.removeEventListener("pointerup",m),L.removeEventListener("pointercancel",m);try{L.releasePointerCapture(Z.pointerId)}catch{}L.classList.remove(`${Y}-table-header-resize--active`),J.classList.remove(`${Y}--col-resizing`),J.style.cursor="",U=!1,F=-1},J2=(Z)=>{let L=Z.target;if(L.dataset.resizeIndex!==void 0)return;if(U)return;let H=L;while(H&&!H.dataset.columnKey)if(H=H.parentElement,H===A||H===null)return;if(!H||!H.dataset.columnKey)return;let a=H.dataset.columnKey;if(!B)return;let s=B.columns,k=-1;for(let N=0;N<s.length;N++)if(s[N].def.key===a){k=N;break}if(k===-1)return;let _=s[k];if(K)K({key:a,index:k,event:Z});if(_.def.sortable&&j){let N;if(G===a)if(W==="asc")N="desc";else N=null;else N="asc";j({key:a,index:k,direction:N})}};return A.addEventListener("pointerdown",U2),A.addEventListener("click",J2),{element:A,update:o,updateSort:l,rebuild:u,show:()=>{if(C)return;C=!0,A.style.display=""},hide:()=>{if(!C)return;C=!1,A.style.display="none"},destroy:()=>{A.removeEventListener("pointerdown",U2),A.removeEventListener("click",J2),Q.style.cssText="",D.remove(),X=[],O=[],b=[],B=null,C=!1},syncScroll:Y2}};var pJ=()=>{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}}},ZJ=(J,Q,$,Y,q,j,K,D,A)=>{let V=pJ(),X=new Map,O=-1,b=$,C=null,G=null,W=null,B=(E,z)=>{G=E,W=z},U=(E,z)=>{if(z)E.setAttribute("aria-selected","true");else E.removeAttribute("aria-selected")},F=(E,z,f,d)=>{E.setAttribute("role",z),E.setAttribute("data-id",String(f)),E.setAttribute("data-index",String(d))},T=(E)=>String(E).startsWith("__placeholder_"),P=`${q}-item ${q}-table-row`,c=`${q}-item--selected`,u=`${q}-item--focused`,o=`${q}-table-cell`,l=`${q}-table-cell--center`,Y2=`${q}-table-cell--right`,U2=`${q}-item--odd`,p=`${q}-item--placeholder`,m=`${q}-item--replaced`,J2=`${q}-item ${q}-table-row ${q}-table-group-header`,Q2=`${q}-table-group-header-content`,y=(E,z,f,d,r=!1)=>{if(f.def.cell){let h=f.def.cell(z,f.def,d);if(typeof h==="string")E.innerHTML=h;else E.replaceChildren(h)}else{let h=z[f.def.key],e=h!=null?String(h):"";if(r&&e)E.innerHTML=`<span>${e}</span>`;else E.textContent=e}},M=(E,z,f,d,r=!1)=>{let h=P;if(D){if(C){let e=C(z);if(e>=0&&(e&1)===1)h+=` ${U2}`}else if((z&1)===1)h+=` ${U2}`}if(r)h+=` ${p}`;if(f)h+=` ${c}`;if(d)h+=` ${u}`;E.className=h},Z=(E,z,f)=>{if(f?.compression?.isCompressed)return Math.round(F2(E,f.scrollPosition,z,f.totalItems,f.containerSize,f.compression,f.rangeStart));return z.getOffset(E)},L=(E,z)=>{let f=z.def.align;if(f==="center")E.classList.add(l),E.classList.remove(Y2);else if(f==="right")E.classList.add(Y2),E.classList.remove(l);else E.classList.remove(l,Y2)},H=(E,z)=>{let d=b.columns.length;if(z.length===d)return z;let r=[];for(let h=0;h<d;h++){let e;if(h<z.length)e=z[h];else e=document.createElement("div"),e.className=o,E.appendChild(e);r.push(e)}for(let h=d;h<z.length;h++)z[h].remove();return r},a=(E,z,f,d)=>{let r=V.acquire(),h=E,e=f.getSize(z),v=Z(z,f,d);r.style.cssText=`width:${b.totalWidth}px;height:${e}px;transform:translateY(${v}px)`,r.className=J2,F(r,"presentation",E.id,z),r.removeAttribute("aria-selected"),r.removeAttribute("aria-rowindex"),r.replaceChildren();let I=document.createElement("div");if(I.className=Q2,W){let x=W(h.groupKey,h.groupIndex);if(typeof x==="string")I.innerHTML=x;else I.appendChild(x)}return r.appendChild(I),{element:r,cells:[],index:z,isGroupHeader:!0,lastItemId:E.id,lastSelected:!1,lastFocused:!1,lastOffset:v,lastHeight:e}},s=(E,z,f,d,r,h)=>{let e=V.acquire(),v=r.getSize(z),I=Z(z,r,h),x=T(E.id);e.style.cssText=`width:${b.totalWidth}px;height:${v}px;transform:translateY(${I}px)`,M(e,z,f,d,x),F(e,"row",E.id,z),e.id=`${j}-${z}`,e.setAttribute("aria-rowindex",String(z+2)),U(e,f);let B2=H(e,[]),$2=b.columns;for(let q2=0;q2<B2.length&&q2<$2.length;q2++){let Z2=B2[q2],_2=$2[q2];Z2.style.cssText=`left:${_2.offset}px;width:${_2.width}px`,Z2.setAttribute("role","gridcell"),Z2.setAttribute("aria-colindex",String(q2+1)),L(Z2,_2),y(Z2,E,_2,z,x)}return{element:e,cells:B2,index:z,isGroupHeader:!1,lastItemId:E.id,lastSelected:f,lastFocused:d,lastOffset:I,lastHeight:v}},k=(E,z,f,d,r)=>{for(let[x,B2]of X)if(x<z.start||x>z.end)V.release(B2.element),X.delete(x);let h=!1,e=K();if(e!==O)O=e,h=!0;let v=null,I=Q();C=typeof D==="string"&&A?A():null;for(let x=z.start;x<=z.end;x++){let B2=x-z.start,$2=E[B2];if(!$2)continue;let q2=f.has($2.id),Z2=x===d,_2=G?G($2):!1,n=X.get(x);if(n){if(n.isGroupHeader!==_2){V.release(n.element),X.delete(x);let X2=_2?a($2,x,I,r):s($2,x,q2,Z2,I,r);if(X.set(x,X2),!v)v=document.createDocumentFragment();v.appendChild(X2.element);continue}if(_2){if(n.lastItemId!==$2.id){let K2=$2,j2=n.element.firstElementChild;if(j2&&W){let D2=W(K2.groupKey,K2.groupIndex);if(typeof D2==="string")j2.innerHTML=D2;else j2.replaceChildren(D2)}n.element.setAttribute("data-id",String($2.id)),n.lastItemId=$2.id}let i=Z(x,I,r);if(n.lastOffset!==i)n.lastOffset=i,n.element.style.transform=`translateY(${i}px)`;let N2=I.getSize(x);if(n.lastHeight!==N2)n.lastHeight=N2,n.element.style.height=`${N2}px`}else{let X2=n.lastItemId!==$2.id,i=n.lastSelected!==q2,N2=n.lastFocused!==Z2;if(X2){let D2=n.lastItemId!=null&&T(n.lastItemId),G2=T($2.id);if(!G2&&A2(f,x,$2.id))q2=!0;let V2=b.columns;for(let E2=0;E2<n.cells.length&&E2<V2.length;E2++)y(n.cells[E2],$2,V2[E2],x,G2);if(M(n.element,x,q2,Z2,G2),n.element.setAttribute("data-id",String($2.id)),U(n.element,q2),D2&&!G2)n.element.classList.add(m),setTimeout(()=>{n.element.classList.remove(m)},300);n.lastItemId=$2.id,n.lastSelected=q2,n.lastFocused=Z2}else if(i||N2)M(n.element,x,q2,Z2,T($2.id)),U(n.element,q2),n.lastSelected=q2,n.lastFocused=Z2;let K2=Z(x,I,r);if(n.lastOffset!==K2)n.lastOffset=K2,n.element.style.transform=`translateY(${K2}px)`;let j2=I.getSize(x);if(n.lastHeight!==j2)n.lastHeight=j2,n.element.style.height=`${j2}px`;if(h)n.element.setAttribute("aria-rowindex",String(x+2))}}else{if(A2(f,x,$2.id))q2=!0;let X2=_2?a($2,x,I,r):s($2,x,q2,Z2,I,r);if(X.set(x,X2),!v)v=document.createDocumentFragment();v.appendChild(X2.element)}}if(v)J.appendChild(v)},_=(E)=>{let z=Q();for(let[f,d]of X){let r=Z(f,z,E);if(d.lastOffset!==r)d.lastOffset=r,d.element.style.transform=`translateY(${r}px)`}},N=(E,z,f,d)=>{let r=X.get(E);if(!r)return;if(r.isGroupHeader)return;let h=b.columns;for(let e=0;e<r.cells.length&&e<h.length;e++)y(r.cells[e],z,h[e],E);r.element.setAttribute("data-id",String(z.id)),r.lastItemId=z.id,M(r.element,E,f,d),U(r.element,f),r.lastSelected=f,r.lastFocused=d},S=(E,z,f)=>{let d=X.get(E);if(!d)return;if(d.isGroupHeader)return;let r=d.lastSelected!==z,h=d.lastFocused!==f;if(r||h)M(d.element,E,z,f),U(d.element,z),d.lastSelected=z,d.lastFocused=f},g=(E)=>{b=E;let z=E.columns;for(let[,f]of X)if(f.element.style.width=`${E.totalWidth}px`,f.cells.length>0)for(let d=0;d<f.cells.length&&d<z.length;d++){let r=f.cells[d],h=z[d];r.style.left=`${h.offset}px`,r.style.width=`${h.width}px`}},R=(E)=>{return X.get(E)?.element},w=()=>{for(let[,E]of X)V.release(E.element);X.clear(),O=-1};return{render:k,updatePositions:_,updateItem:N,updateItemClasses:S,getElement:R,updateColumnLayout:g,setGroupHeaderFn:B,clear:w,destroy:()=>{w(),V.clear()}}};var GJ=(J)=>{let Q=Math.max(1,Math.floor(J.columns)),$=J.gap??0,Y=J.containerSize,q=0,j=[],K=()=>{let B=(Q-1)*$;q=Math.max(0,(Y-B)/Q),j=Array(Q);let U=q+$;for(let F=0;F<Q;F++)j[F]=F*U};K();let D=[],A=0,V=[],X=(B)=>{let U=0,F=B[0];for(let T=1;T<B.length;T++){let P=B[T];if(P<F)F=P,U=T}return U},O=(B,U)=>{if(B<=0)return A=0,D=[],[];let F=Array(Q).fill(0),T=Array(Q);for(let u=0;u<Q;u++)T[u]=[];let P=Array(B);for(let u=0;u<B;u++){let o=X(F),l=U(u),Y2=F[o];P[u]={index:u,x:j[o],y:Y2,lane:o,size:l,crossSize:q},T[o].push(u),F[o]=Y2+l+$}D=T;let c=0;for(let u=0;u<Q;u++){let o=F[u],l=o>0?o-$:0;if(l>c)c=l}return A=c,P},b=(B)=>{if(B.length===0)return A>0?A:0;if(A>0)return A;let U=Array(Q).fill(0);for(let T of B){let P=T.y+T.size,c=U[T.lane];if(P>c)U[T.lane]=P}let F=0;for(let T=0;T<Q;T++)if(U[T]>F)F=U[T];return F},C=(B,U,F)=>{if(B.length===0||F<=U)return V.length=0,V;if(D.length===0||D.length!==Q)return G(B,U,F);V.length=0;for(let T=0;T<Q;T++){let P=D[T],c=P.length;if(c===0)continue;let u=0,o=c;while(u<o){let l=u+o>>>1,Y2=B[P[l]];if(Y2.y+Y2.size<=U)u=l+1;else o=l}for(let l=u;l<c;l++){let Y2=B[P[l]];if(Y2.y>=F)break;V.push(Y2)}}return V},G=(B,U,F)=>{let T=[];for(let P of B)if(P.y+P.size>U&&P.y<F)T.push(P);return T};return{get columns(){return Q},get gap(){return $},get containerSize(){return Y},update:(B)=>{let U=!1;if(B.columns!==void 0){let F=Math.max(1,Math.floor(B.columns));if(F!==Q)Q=F,U=!0}if(B.gap!==void 0&&B.gap!==$)$=B.gap,U=!0;if(B.containerSize!==void 0&&B.containerSize!==Y)Y=B.containerSize,U=!0;if(U)K()},calculateLayout:O,getTotalSize:b,getVisibleItems:C}};var hJ=(J=200)=>{let Q=[];return{acquire:()=>{let j=Q.pop();if(j)return j;let K=document.createElement("div");return K.setAttribute("role","option"),K},release:(j)=>{if(j.remove(),Q.length<J)j.className="",j.textContent="",j.removeAttribute("style"),j.removeAttribute("data-index"),j.removeAttribute("data-id"),j.removeAttribute("data-lane"),Q.push(j)},clear:()=>{Q.length=0}}},xJ=1,_J=(J,Q,$,Y=!1,q,j)=>{let K=hJ(),D=new Map,A=new Set,V=0,X="",O=-1,b={selected:!1,focused:!1},C=(p,m)=>{return b.selected=p,b.focused=m,b},G=`${$}-item ${$}-masonry-item`,W=`${$}-item--selected`,B=`${$}-item--focused`,U=(p,m)=>{if(typeof m==="string")p.innerHTML=m;else p.replaceChildren(m)},F=(p,m,J2)=>{p.classList.toggle(W,m),p.classList.toggle(B,J2)},T=(p,m)=>{if(Y)p.style.transform=`translate(${Math.round(m.y)}px, ${Math.round(m.x)}px)`;else p.style.transform=`translate(${Math.round(m.x)}px, ${Math.round(m.y)}px)`},P=(p,m)=>{if(Y)p.style.width=`${m.size}px`,p.style.height=`${m.crossSize}px`;else p.style.width=`${m.crossSize}px`,p.style.height=`${m.size}px`},c=(p,m,J2,Q2,y)=>{let M=K.acquire(),Z=C(Q2,y);if(M.className=G,M.dataset.index=String(p),M.dataset.id=String(m.id),M.dataset.lane=String(J2.lane),M.ariaSelected=String(Q2),j)M.id=`${j}-item-${p}`;if(q){let H=q();if(H!==O)O=H,X=String(H);M.setAttribute("aria-setsize",X),M.setAttribute("aria-posinset",String(p+1))}P(M,J2);let L=Q(m,p,Z);return U(M,L),F(M,Q2,y),T(M,J2),{element:M,lastItemId:m.id,lastSelected:Q2,lastFocused:y,lastY:J2.y,lastX:J2.x,lastSize:J2.size,lastCrossSize:J2.crossSize,lastSeenFrame:V}},u=(p,m,J2,Q2)=>{V++,A.clear();for(let M=0;M<m.length;M++)A.add(m[M].index);for(let[M,Z]of D)if(A.has(M))Z.lastSeenFrame=V;else if(V-Z.lastSeenFrame>xJ)K.release(Z.element),D.delete(M);let y=null;for(let M=0;M<m.length;M++){let Z=m[M],L=Z.index,H=p(L);if(!H)continue;let a=J2.has(H.id),s=L===Q2,k=D.get(L);if(k){let _=k.lastItemId!==H.id,N=k.lastSelected!==a,S=k.lastFocused!==s,g=k.lastY!==Z.y||k.lastX!==Z.x,R=k.lastSize!==Z.size||k.lastCrossSize!==Z.crossSize;if(_){let w=C(a,s),t=Q(H,L,w);U(k.element,t),k.element.dataset.id=String(H.id),k.lastItemId=H.id}if(_||N||S)F(k.element,a,s),k.element.ariaSelected=String(a),k.lastSelected=a,k.lastFocused=s;if(R)P(k.element,Z),k.lastSize=Z.size,k.lastCrossSize=Z.crossSize;if(g)T(k.element,Z),k.lastY=Z.y,k.lastX=Z.x}else{let _=c(L,H,Z,a,s);if(!y)y=document.createDocumentFragment();y.appendChild(_.element),D.set(L,_)}}if(y)J.appendChild(y)},o=()=>{for(let{element:p}of D.values())K.release(p);D.clear(),J.innerHTML=""};return{render:u,getElement:(p)=>D.get(p)?.element,updateItemClasses:(p,m,J2)=>{let Q2=D.get(p);if(!Q2)return;let y=Q2.lastSelected!==m,M=Q2.lastFocused!==J2;if(y||M)F(Q2.element,m,J2),Q2.lastSelected=m,Q2.lastFocused=J2},sortDOM:()=>{R2(J,D.keys(),(p)=>D.get(p)?.element)},clear:o,destroy:()=>{o(),K.clear()}}};var DJ=(J,Q)=>{let $=new Map,Y=(j)=>{let K=$.get(j);return K!==void 0?K:J},q=L2(Y,Q);return{getOffset(j){return q.getOffset(j)},getSize(j){return Y(j)},indexAtOffset(j){return q.indexAtOffset(j)},getTotalSize(){return q.getTotalSize()},getTotal(){return q.getTotal()},rebuild(j){if(j<q.getTotal()){for(let K of $.keys())if(K>=j)$.delete(K)}q=L2(Y,j)},isVariable(){return!0},setMeasuredSize(j,K){$.set(j,K)},isMeasured(j){return $.has(j)},getEstimatedSize(){return J},measuredCount(){return $.size}}};var VJ=(J,Q,$,Y,q,j)=>{if(Y===0||Q===0)return j.start=0,j.end=-1,j;let K=$.indexAtOffset(J),D=$.indexAtOffset(J+Q);if(D<Y-1)D++;return j.start=Math.max(0,K),j.end=Math.min(Y-1,Math.max(0,D)),j},WJ=(J,Q,$,Y)=>{if($===0)return Y.start=0,Y.end=-1,Y;return Y.start=Math.max(0,J.start-Q),Y.end=Math.min($-1,J.end+Q),Y},MJ=(J,Q,$,Y,q,j)=>{if(Y===0)return 0;let K=Math.max(0,Math.min(J,Y-1)),D=Q.getOffset(K),A=Q.getSize(K),V=Q.getTotalSize(),X=Math.max(0,V-$),O;switch(j){case"center":O=D-$/2+A/2;break;case"end":O=D-$+A;break;case"start":default:O=D;break}return Math.max(0,Math.min(O,X))},OJ=(J,Q,$)=>{if($&&$.isCompressed)return $.virtualSize;return Q.getTotalSize()},EJ=(J,Q)=>{return Q.getTotalSize()},AJ=(J,Q)=>{return Q.getOffset(J)},FJ=(J,Q,$)=>{let Y=Math.max(0,Q-$);return Math.max(0,Math.min(J,Y))};var LJ=(J,Q,$,Y,q="start",j,K=MJ)=>{return K(J,Q,$,Y,j,q)},HJ=(J,Q)=>{return J.start===Q.start&&J.end===Q.end},bJ=(J,Q)=>{return J>=Q.start&&J<=Q.end},TJ=(J)=>{if(J.end<J.start)return 0;return J.end-J.start+1};var RJ=(J,Q)=>{let $=[],Y=[];for(let q=J.start;q<=J.end;q++)if(q<Q.start||q>Q.end)Y.push(q);for(let q=Q.start;q<=Q.end;q++)if(q<J.start||q>J.end)$.push(q);return{add:$,remove:Y}};var yJ=()=>{let J={},Q=(j,K)=>{if(!J[j])J[j]=new Set;return J[j].add(K),()=>$(j,K)},$=(j,K)=>{J[j]?.delete(K)};return{on:Q,off:$,emit:(j,K)=>{J[j]?.forEach((D)=>{try{D(K)}catch(A){console.error(`[vlist] Error in event handler for "${String(j)}":`,A)}})},clear:(j)=>{if(j)delete J[j];else for(let K in J)delete J[K]}}};var y2=(J={})=>{let{chunkSize:Q=100,maxCachedItems:$=5000,evictionBuffer:Y=200,onEvict:q}=J,j=new Map,K=0,D=0,A=(y)=>{let M=j.get(y);if(!M)M={items:Array(Q),count:0,lastAccess:Date.now()},j.set(y,M);else M.lastAccess=Date.now();return M},V=(y)=>{return Math.floor(y/Q)},X=(y)=>{return y%Q},O=()=>K,b=(y)=>{K=y},C=(y)=>{if(y<0||y>=K)return;let M=V(y),Z=j.get(M);if(!Z)return;return Z.items[X(y)]},G=(y)=>{if(y<0||y>=K)return!1;let M=V(y),Z=j.get(M);if(!Z)return!1;return Z.items[X(y)]!==void 0},W=(y,M)=>{let Z=V(y),L=A(Z),H=X(y),a=L.items[H]===void 0;if(L.items[H]=M,a)L.count++,D++;if(y>=K)K=y+1},B=(y,M)=>{for(let Z=0;Z<M.length;Z++){let L=M[Z];if(L!==void 0)W(y+Z,L)}},U=(y)=>{if(y<0||y>=K)return!1;let M=V(y),Z=j.get(M),L=X(y);if(!(Z!==void 0&&Z.items[L]!==void 0))return!1;let a=M,s=Array.from(j.keys()).filter((_)=>_>=a).sort((_,N)=>_-N),k=[];for(let _ of s){let N=j.get(_),S=_*Q;for(let g=0;g<Q;g++){if(N.items[g]===void 0)continue;let R=S+g;if(R<=y)continue;k.push({oldIndex:R,item:N.items[g]})}}if(Z.items[L]=void 0,Z.count--,D--,Z.count===0)j.delete(M);for(let{oldIndex:_}of k){let N=V(_),S=j.get(N);if(!S)continue;let g=X(_);if(S.items[g]!==void 0){if(S.items[g]=void 0,S.count--,D--,S.count===0)j.delete(N)}}for(let{oldIndex:_,item:N}of k){let S=_-1,g=V(S),R=A(g),w=X(S);R.items[w]=N,R.count++,D++}return K--,!0},F=(y,M)=>{let Z=[];for(let L=y;L<=M&&L<K;L++)Z.push(C(L));return Z},T=(y,M)=>{for(let Z=y;Z<=M&&Z<K;Z++)if(!G(Z))return!1;return!0},P=()=>{let y=[],M=null,Z=Array.from(j.keys()).sort((L,H)=>L-H);for(let L of Z){let H=j.get(L);if(!H)continue;let a=L*Q;for(let s=0;s<Q;s++){let k=a+s;if(k>=K)break;if(H.items[s]!==void 0)if(M===null)M={start:k,end:k};else if(k===M.end+1)M.end=k;else y.push(M),M={start:k,end:k};else if(M!==null)y.push(M),M=null}}if(M!==null)y.push(M);return y},c=(y,M)=>{let Z=[],L=null;for(let H=y;H<=M&&H<K;H++)if(!G(H))if(L===null)L={start:H,end:H};else L.end=H;else if(L!==null)Z.push(L),L=null;if(L!==null)Z.push(L);return Z},u=(y)=>{return j.has(y)},o=(y)=>{let M=j.get(y);if(M)M.lastAccess=Date.now()},l=(y,M)=>{if(y>M||j.size===0)return;let Z=Date.now(),L=V(Math.max(0,y)),H=V(Math.min(K-1,M));for(let a=L;a<=H;a++){let s=j.get(a);if(s)s.lastAccess=Z}},Y2=(y,M)=>{if(D<=$)return 0;let Z=Math.max(0,y-Y),L=Math.min(K-1,M+Y),H=V(Z),a=V(L),s=0,k=[];for(let[_,N]of j)if(_<H||_>a)s+=N.count,k.push(_),D-=N.count,j.delete(_);if(s>0&&q)q(s,k);return s},U2=()=>{if(D<=$)return 0;let y=Array.from(j.entries()).sort(([,L],[,H])=>L.lastAccess-H.lastAccess),M=0,Z=[];for(let[L,H]of y){if(D<=$)break;M+=H.count,D-=H.count,Z.push(L),j.delete(L)}if(M>0&&q)q(M,Z);return M},p=()=>{return{totalItems:K,cachedItems:D,cachedChunks:j.size,chunkSize:Q,maxCachedItems:$,memoryEfficiency:K>0?1-D/K:1}},m=()=>D,J2=()=>{j.clear(),D=0};return{chunkSize:Q,maxCachedItems:$,getTotal:O,setTotal:b,get:C,has:G,set:W,setRange:B,delete:U,getRange:F,isRangeLoaded:T,getLoadedRanges:P,findUnloadedRanges:c,getChunkIndex:V,isChunkLoaded:u,touchChunk:o,touchChunksForRange:l,evictDistant:Y2,evictToLimit:U2,getStats:p,getCachedCount:m,clear:J2,reset:()=>{J2(),K=0}}},P2=(J)=>{if(J.length===0)return[];let Q=[...J].sort((Y,q)=>Y.start-q.start),$=[{...Q[0]}];for(let Y=1;Y<Q.length;Y++){let q=Q[Y],j=$[$.length-1];if(q.start<=j.end+1)j.end=Math.max(j.end,q.end);else $.push({...q})}return $},b2=(J,Q,$)=>{let Y=Math.floor(J.start/$)*$,q=Math.ceil((J.end+1)/$)*$-1,j={start:Y,end:q};if(Q.length===0)return[j];let K=[],D=P2(Q),A=j.start;for(let V of D){if(V.end<A)continue;if(V.start>j.end)break;if(V.start>A)K.push({start:A,end:Math.min(V.start-1,j.end)});if(A=V.end+1,A>j.end)break}if(A<=j.end)K.push({start:A,end:j.end});return K};var k2=(J={})=>{let{maskCharacter:Q=l2,maxSampleSize:$=a2}=J,Y=[],q=!1,j=(X)=>{if(q||X.length===0)return;let O=Math.min(X.length,$);for(let b=0;b<O;b++){let C=X[b];if(!C||typeof C!=="object")continue;let G={};for(let[W,B]of Object.entries(C)){if(W.startsWith("_")||W==="id")continue;G[W]=String(B??"").length}if(Object.keys(G).length>0)Y.push(G)}q=!0},K=()=>q,D=(X)=>{let O={id:`${M2}${X}`,[C2]:!0,_index:X};if(Y.length===0)return O.label=Q.repeat(12),O;let b=Y[X%Y.length];for(let[C,G]of Object.entries(b))O[C]=Q.repeat(Math.max(1,G));return O};return{analyzeStructure:j,hasAnalyzedStructure:K,generate:D,generateRange:(X,O)=>{let b=[];for(let C=X;C<=O;C++)b.push(D(C));return b},clear:()=>{Y=[],q=!1}}},O2=(J)=>{if(!J||typeof J!=="object")return!1;return J[C2]===!0},h2=(J)=>{return J.filter((Q)=>!O2(Q))};var uJ=50,PJ=(J={})=>{let{adapter:Q,initialItems:$,initialTotal:Y,storage:q,placeholder:j,pageSize:K=uJ,onStateChange:D,onItemsLoaded:A,onItemsEvicted:V}=J,X=y2({...q,onEvict:(v,I)=>{V?.(v),l()}}),O=null,b=()=>{if(!O)O=k2(j);return O},C=new Map,G=!1,W,B=!0,U,F,T=[],P=0,c=new Map,u=new Map,o=()=>{for(let v of u.values())v.abort();u.clear(),c.clear()},l=()=>{D?.(Z())},Y2=()=>{C.clear();let v=X.getLoadedRanges();for(let I of v)for(let x=I.start;x<=I.end;x++){let B2=X.get(x);if(B2&&!O2(B2))C.set(B2.id,x)}},U2=(v,I)=>{if(!O2(I))C.set(I.id,v)},p=(v)=>{C.delete(v)},m=(v,I)=>{return`${v}-${I}`},J2=()=>X.getTotal(),Q2=()=>X.getCachedCount(),y=()=>G,M=()=>B,Z=()=>({total:X.getTotal(),cached:X.getCachedCount(),isLoading:G,pendingRanges:T,error:W,hasMore:B,cursor:U}),L=()=>X,H=()=>b(),a=(v)=>{let I=X.get(v);if(I!==void 0)return I;if(v>=0&&v<X.getTotal())return b().generate(v);return},s=(v)=>{let I=C.get(v);if(I===void 0)return;return X.get(I)},k=(v)=>{return C.get(v)??-1},_=(v)=>{let I=X.get(v);return I!==void 0&&!O2(I)},N=(v,I)=>{let x=[],B2=X.getTotal(),$2=0,q2=0;X.touchChunksForRange(v,Math.min(I,B2-1));for(let Z2=v;Z2<=I&&Z2<B2;Z2++){let _2=X.get(Z2);if(_2!==void 0)x.push(_2),$2++;else x.push(b().generate(Z2)),q2++}return x},S=(v)=>{X.setTotal(v),B=X.getCachedCount()<v,l()},g=(v,I=0,x)=>{if(Q&&v.length>0){let B2=b();if(!B2.hasAnalyzedStructure())B2.analyzeStructure(v)}for(let B2=0;B2<v.length;B2++){let $2=v[B2];if($2!==void 0){let q2=I+B2;X.set(q2,$2),U2(q2,$2)}}if(x!==void 0)X.setTotal(x);else if(I+v.length>X.getTotal())X.setTotal(I+v.length);if(X.getCachedCount()>=X.getTotal()&&X.getTotal()>0)B=!1;l(),A?.(v,I,X.getTotal())},R=(v,I)=>{let x=X.get(v);if(!x)return!1;let B2=x.id,$2={...x,...I};if(X.set(v,$2),I.id!==void 0&&I.id!==B2)p(B2);return U2(v,$2),l(),!0},w=(v)=>{let I=C.get(v);if(I===void 0)return!1;if(!X.delete(I))return!1;return Y2(),o(),l(),!0},t=async(v,I)=>{if(!Q)return;let x=m(v,I);if(c.has(x))return;let B2=X.getLoadedRanges(),$2=b2({start:v,end:I},B2,X.chunkSize);if($2.length===0)return;let q2=X.chunkSize,Z2=q2*2;for(let[X2,i]of u){let N2=X2.indexOf("-"),K2=parseInt(X2.slice(0,N2),10);if(Math.abs(K2-v)>Z2)i.abort(),u.delete(X2),c.delete(X2)}let _2=[];for(let X2 of $2){let i=Math.floor(X2.start/q2),N2=Math.floor(X2.end/q2);for(let K2=i;K2<=N2;K2++){let j2=K2*q2,D2=j2+q2-1,G2=m(j2,D2);if(!_2.some((V2)=>V2.start===j2)&&!c.has(G2))_2.push({start:j2,end:D2})}}let n=[];for(let X2 of $2){let i=Math.floor(X2.start/q2),N2=Math.floor(X2.end/q2);for(let K2=i;K2<=N2;K2++){let j2=K2*q2,D2=j2+q2-1,G2=m(j2,D2);if(c.has(G2)){let V2=c.get(G2);if(!n.includes(V2))n.push(V2)}}}for(let X2 of _2){let i=m(X2.start,X2.end),N2=new AbortController;u.set(i,N2);let K2=(async()=>{T.push(X2),G=!0,W=void 0,l();try{let j2=X2.end-X2.start+1,D2={offset:X2.start,limit:j2,cursor:X2.start===F?U:void 0,signal:N2.signal},G2=await Q.read(D2);if(g(G2.items,X2.start,G2.total),G2.cursor)U=G2.cursor,F=X2.start+G2.items.length;let V2=X2.start+G2.items.length;if(V2>=P){if(P=V2,G2.hasMore!==void 0)B=G2.hasMore;else if(G2.total!==void 0)B=V2<G2.total}}catch(j2){if(j2?.name==="AbortError")return;W=j2 instanceof Error?j2:Error(String(j2))}finally{c.delete(i),u.delete(i),T=T.filter((j2)=>j2.start!==X2.start||j2.end!==X2.end),G=c.size>0,l()}})();c.set(i,K2),n.push(K2)}await Promise.all(n)},E=async(v,I)=>{if(X.isRangeLoaded(v,I))return;await t(v,I)},z=async()=>{if(!Q)return;await t(0,K-1)},f=async()=>{if(!Q||G||!B)return!1;let v=X.getCachedCount(),I=X.getTotal(),x=v,B2=Math.min(x+K-1,I>0?I-1:x+K-1);if(x>=I&&I>0)return B=!1,!1;return await t(x,B2),X.getCachedCount()>v},d=async()=>{if(X.clear(),X.setTotal(0),C.clear(),O)O.clear();o(),T=[],G=!1,U=void 0,F=void 0,B=!0,P=0,W=void 0,l()},r=(v,I)=>{if(X.evictDistant(v,I)>0)Y2()},h=()=>{X.clear(),C.clear(),U=void 0,F=void 0,W=void 0,T=[],G=!1,l()},e=()=>{if(X.reset(),C.clear(),O)O.clear();U=void 0,F=void 0,B=!0,P=0,W=void 0,T=[],G=!1,l()};if($&&$.length>0)g($,0,Y??$.length);else if(Y!==void 0)X.setTotal(Y),l();return{getState:Z,getTotal:J2,getCached:Q2,getIsLoading:y,getHasMore:M,getStorage:L,getPlaceholders:H,getItem:a,getItemById:s,getIndexById:k,isItemLoaded:_,getItemsInRange:N,setTotal:S,setItems:g,updateItem:R,removeItem:w,loadRange:t,ensureRange:E,loadInitial:z,loadMore:f,reload:d,evictDistant:r,clear:h,reset:e}};var kJ=(J=0)=>{let Q=[,,,,,,,,];for(let $=0;$<8;$++)Q[$]={position:0,time:0};return{velocity:0,lastPosition:J,lastTime:performance.now(),samples:Q,sampleIndex:0,sampleCount:0}},z2=(J,Q)=>{let $=performance.now(),Y=$-J.lastTime;if(Y===0)return J;if(Y>100){J.sampleCount=0,J.sampleIndex=0,J.velocity=0;let j=J.samples[0];return j.position=Q,j.time=$,J.sampleIndex=1,J.sampleCount=1,J.lastPosition=Q,J.lastTime=$,J}let q=J.samples[J.sampleIndex];if(q.position=Q,q.time=$,J.sampleIndex=(J.sampleIndex+1)%8,J.sampleCount=Math.min(J.sampleCount+1,8),J.sampleCount>=2){let j=(J.sampleIndex-J.sampleCount+8)%8,K=J.samples[j],D=Q-K.position,A=$-K.time;J.velocity=A>0?D/A:0}return J.lastPosition=Q,J.lastTime=$,J},mJ=(J)=>J.sampleCount>=3,zJ=(J,Q={})=>{let{wheel:$=!0,sensitivity:Y=1,smoothing:q=!1,idleTimeout:j=150,onScroll:K,onIdle:D,scrollElement:A,horizontal:V=!1}=Q,X=!!A,O=0,b=0,C=X?V?window.innerWidth:window.innerHeight:V?J.clientWidth:J.clientHeight,G=Q.compressed??!1,W=Q.compression,B=kJ(),U=!1,F=null,P=w2(()=>{let R=V?J.scrollLeft:J.scrollTop,w=R>=O?"down":"up";if(B=z2(B,R),O=R,K)K({scrollTop:O,direction:w,velocity:B.velocity});U2()}),u=w2(()=>{let R=J.getBoundingClientRect(),w=V?Math.max(0,-R.left):Math.max(0,-R.top),t=w>=O?"down":"up";if(B=z2(B,w),O=w,!U)U=!0;if(K)K({scrollTop:O,direction:t,velocity:B.velocity});U2()}),o=(R)=>{R.preventDefault()},l=(R)=>{if(R.deltaX)return;R.preventDefault(),J.scrollLeft+=R.deltaY},Y2=(R)=>{if(!G)return;R.preventDefault();let w=(V?R.deltaX||R.deltaY:R.deltaY)*Y,t=O+w;if(q)t=O+w*0.3;if(t=Math.max(0,Math.min(t,b)),t!==O){let z=t>=O?"down":"up";if(B=z2(B,t),O=t,!U)U=!0;if(K)K({scrollTop:O,direction:z,velocity:B.velocity});U2()}},U2=()=>{if(F)clearTimeout(F);F=setTimeout(()=>{if(U=!1,B=kJ(O),D)D()},j)},p=(R)=>{if(G)return;if(G=!0,W=R,b=R.virtualSize-C,X)return;if(P.cancel(),J.removeEventListener("scroll",P),!$)J.removeEventListener("wheel",o);else if(V)J.removeEventListener("wheel",l);if(V)J.style.overflowX="hidden";else J.style.overflow="hidden";if($)J.addEventListener("wheel",Y2,{passive:!1});let w=V?J.scrollLeft:J.scrollTop;if(w>0){let t=V?W?.actualSize??J.scrollWidth:W?.actualSize??J.scrollHeight;O=w/t*b}if(V)J.scrollLeft=0;else J.scrollTop=0},m=()=>{if(!G)return;if(G=!1,X){W=void 0;return}if(J.removeEventListener("wheel",Y2),V)J.style.overflowX="auto";else J.style.overflow="auto";if(J.addEventListener("scroll",P,{passive:!0}),!$)J.addEventListener("wheel",o,{passive:!1});else if(V)J.addEventListener("wheel",l,{passive:!1});if(W&&O>0){let w=O/b*(W.actualSize-C);if(V)J.scrollLeft=w;else J.scrollTop=w}W=void 0},J2=()=>{if(X||G)return O;return V?J.scrollLeft:J.scrollTop},Q2=(R,w=!1)=>{let t=Math.max(0,Math.min(R,b||1/0));if(X){let E=J.getBoundingClientRect();if(V){let z=E.left+window.scrollX;window.scrollTo({left:z+t,behavior:w?"smooth":"auto"})}else{let z=E.top+window.scrollY;window.scrollTo({top:z+t,behavior:w?"smooth":"auto"})}}else if(G){if(t===O)return;let z=t>=O?"down":"up";if(B=z2(B,t),O=t,!U)U=!0;if(K)K({scrollTop:O,direction:z,velocity:B.velocity});U2()}else if(V)J.scrollTo({left:t,behavior:w?"smooth":"auto"});else J.scrollTo({top:t,behavior:w?"smooth":"auto"})},y=(R)=>{Q2(J2()+R)},M=()=>{return J2()<=0},Z=(R=0)=>{let w=J2(),t=X||G?b:V?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;return w>=t-R},L=()=>{let R=J2(),w=X||G?b:V?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;if(w<=0)return 0;return Math.min(1,Math.max(0,R/w))},H=(R)=>{if(R.compression)W=R.compression,b=W.virtualSize-C},a=()=>G,s=()=>Math.abs(B.velocity),k=()=>mJ(B),_=()=>U,N=()=>X,S=(R)=>{if(C=R,W)b=W.virtualSize-C},g=()=>{if(F)clearTimeout(F);if(X)u.cancel(),window.removeEventListener("scroll",u);else P.cancel(),J.removeEventListener("scroll",P),J.removeEventListener("wheel",Y2),J.removeEventListener("wheel",o),J.removeEventListener("wheel",l)};if(X){if(G&&W)b=W.virtualSize-C;window.addEventListener("scroll",u,{passive:!0})}else if(G&&W){if(b=W.virtualSize-C,V)J.style.overflowX="hidden";else J.style.overflow="hidden";if($)J.addEventListener("wheel",Y2,{passive:!1})}else{if(V)J.style.overflowX="auto",J.style.overflowY="hidden";else J.style.overflow="auto";if(J.addEventListener("scroll",P,{passive:!0}),!$)J.addEventListener("wheel",o,{passive:!1});else if(V)J.addEventListener("wheel",l,{passive:!1})}return{getScrollTop:J2,scrollTo:Q2,scrollBy:y,isAtTop:M,isAtBottom:Z,getScrollPercentage:L,getVelocity:s,isTracking:k,isScrolling:_,updateConfig:H,enableCompression:p,disableCompression:m,isCompressed:a,isWindowMode:N,updateContainerHeight:S,destroy:g}},w2=(J)=>{let Q=null,$=null,Y=(...q)=>{if($=q,Q===null)Q=requestAnimationFrame(()=>{if(Q=null,$)J(...$)})};return Y.cancel=()=>{if(Q!==null)cancelAnimationFrame(Q),Q=null},Y};var dJ=(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}},wJ=(J,Q,$={},Y="vlist",q=!1)=>{let{autoHide:j=!0,autoHideDelay:K=1000,minThumbSize:D=15,showOnHover:A=!0,showOnViewportEnter:V=!0,clickBehavior:X="page"}=$,O=dJ($.padding),b=q?O.left:O.top,C=q?O.right:O.bottom,G=q?O.bottom:O.right,W=$.hoverZoneWidth??G+16,B=0,U=0,F=0,T=0,P=!1,c=!1,u=0,o=0,l=0,Y2=null,U2=!1,p=null,m=null,J2=0,Q2=0,y=null,M=null,Z=null,L=q?"width":"height",H=q?"translateX":"translateY",a=q?(i)=>i.clientX:(i)=>i.clientY,s=q?"left":"top",k=document.createElement("div"),_=document.createElement("div"),N=document.createElement("div"),S=()=>{if(k.className=`${Y}-scrollbar`,_.className=`${Y}-scrollbar-thumb`,q)k.classList.add(`${Y}-scrollbar--horizontal`);if($.padding!==void 0)J.style.setProperty("--vlist-custom-scrollbar-padding-top",`${O.top}px`),J.style.setProperty("--vlist-custom-scrollbar-padding-right",`${O.right}px`),J.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${O.bottom}px`),J.style.setProperty("--vlist-custom-scrollbar-padding-left",`${O.left}px`);if($.minThumbSize!==void 0)k.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${D}px`);if(k.appendChild(_),J.appendChild(k),N.className=`${Y}-scrollbar-hover`,q)N.classList.add(`${Y}-scrollbar-hover--horizontal`),N.style.height=`${W}px`;else N.style.width=`${W}px`;J.appendChild(N)},g=()=>{if(Y2)clearTimeout(Y2),Y2=null},R=()=>{if(!j)return;g(),Y2=setTimeout(t,K)},w=()=>{if(B<=U)return;if(g(),!U2)k.classList.add(`${Y}-scrollbar--visible`),U2=!0;if(j&&!P&&!c)R()},t=()=>{if(P||c)return;k.classList.remove(`${Y}-scrollbar--visible`),U2=!1},E=(i,N2)=>{B=i,U=N2;let K2=B>U;if(k.style.display=K2?"":"none",!K2){t();return}let j2=Math.max(0,U-b-C),D2=U/B;F=Math.max(D,D2*j2),_.style[L]=`${F}px`,T=j2-F,z(l)},z=(i)=>{if(l=i,B<=U||T<=0)return;let N2=B-U,j2=Math.min(1,Math.max(0,i/N2))*T;_.style.transform=`${H}(${j2}px)`},f=(i)=>{if(i.target===_||X!=="jump"||T<=0)return;let N2=B-U,K2=k.getBoundingClientRect(),j2=a(i)-K2[s],D2=Math.max(0,Math.min(j2-F/2,T));Q(D2/T*N2),w()},d=()=>{if(y!==null)clearTimeout(y),y=null;if(M!==null)cancelAnimationFrame(M),M=null;Z=null},r=(i)=>{let N2=T>0?Q2/i*T:0;if(J2<N2)return-1;if(J2>=N2+F)return 1;return 0},h=()=>{let i=B-U,N2=r(i);if(N2===0){d();return}if(N2===-1){if(Q2<=0){d();return}let K2=Math.max(0,Q2-U);Q2=K2,Q(K2)}else{if(Q2>=i){d();return}let K2=Math.min(i,Q2+U);Q2=K2,Q(K2)}w()},e=(i)=>{if(Z===null){Z=i,M=requestAnimationFrame(e);return}let N2=B-U,K2=i-Z;Z=i;let j2=r(N2);if(j2===0){d();return}let D2=12*U/1000,G2=Math.min(D2*K2,U);if(j2===-1){if(Q2<=0){d();return}let V2=Math.max(0,Q2-G2);Q2=V2,Q(V2)}else{if(Q2>=N2){d();return}let V2=Math.min(N2,Q2+G2);Q2=V2,Q(V2)}g(),M=requestAnimationFrame(e)},v=()=>{d(),R(),document.removeEventListener("mouseup",v)},I=(i)=>{if(i.target===_||X!=="page")return;i.preventDefault();let N2=k.getBoundingClientRect();J2=a(i)-N2[s],Q2=l,h(),y=setTimeout(()=>{M=requestAnimationFrame(e)},350),document.addEventListener("mouseup",v)},x=(i)=>{i.preventDefault(),i.stopPropagation(),P=!0,u=a(i),o=l,g(),k.classList.add(`${Y}-scrollbar--dragging`),document.addEventListener("mousemove",B2),document.addEventListener("mouseup",$2)},B2=(i)=>{if(!P)return;let N2=a(i)-u,K2=T>0?N2/T:0,j2=B-U,D2=K2*j2,G2=Math.max(0,Math.min(o+D2,j2)),E2=G2/j2*T;if(_.style.transform=`${H}(${E2}px)`,m=G2,p===null)p=requestAnimationFrame(()=>{if(m!==null)Q(m);p=null})},$2=()=>{if(P=!1,p!==null)cancelAnimationFrame(p),p=null;if(m!==null)Q(m),m=null;if(k.classList.remove(`${Y}-scrollbar--dragging`),j&&!c)R();document.removeEventListener("mousemove",B2),document.removeEventListener("mouseup",$2)},q2=()=>{if(V)w()},Z2=()=>{if(!P){if(c=!1,j)R()}},_2=()=>{c=!0,g(),w()},n=()=>{if(c=!1,!P&&j)R()},X2=()=>{if(g(),d(),p!==null)cancelAnimationFrame(p),p=null;if(k.removeEventListener("click",f),k.removeEventListener("mousedown",I),k.removeEventListener("mouseenter",_2),document.removeEventListener("mouseup",v),k.removeEventListener("mouseleave",n),_.removeEventListener("mousedown",x),J.removeEventListener("mouseenter",q2),J.removeEventListener("mouseleave",Z2),document.removeEventListener("mousemove",B2),document.removeEventListener("mouseup",$2),N.removeEventListener("click",f),N.removeEventListener("mousedown",I),A)N.removeEventListener("mouseenter",_2),N.removeEventListener("mouseleave",n);if(N.parentNode)N.parentNode.removeChild(N);if(J.style.removeProperty("--vlist-custom-scrollbar-padding-top"),J.style.removeProperty("--vlist-custom-scrollbar-padding-right"),J.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),J.style.removeProperty("--vlist-custom-scrollbar-padding-left"),k.parentNode)k.parentNode.removeChild(k)};if(S(),k.addEventListener("click",f),k.addEventListener("mousedown",I),k.addEventListener("mouseenter",_2),k.addEventListener("mouseleave",n),_.addEventListener("mousedown",x),J.addEventListener("mouseenter",q2),J.addEventListener("mouseleave",Z2),N.addEventListener("click",f),N.addEventListener("mousedown",I),A)N.addEventListener("mouseenter",_2),N.addEventListener("mouseleave",n);return{show:w,hide:t,updateBounds:E,updatePosition:z,isVisible:()=>U2,destroy:X2}};var cJ=50,rJ=0.1;function lJ(J){let Q=0,$=0,Y=0;function q(){return Y>0?$/Y:0}function j(A){if(Q=A,A>rJ&&A<cJ)$+=A,Y++}function K(){let A=J.getTotal();if(A===0)return 0;let V=J.getItemSize();if(V<=0)return 0;let X=J.getContainerSize();if(X<=0)return 0;let O=J.getScrollPosition(),b=typeof J.getColumns==="function"?J.getColumns():1,G=Math.ceil(A/b)*V,B=Math.min(G,W2)-X,U=G-X,F=B>0?U/B:1,T=O*F,P=Math.ceil((T+X)/V);return Math.min(P*b,A)}function D(){let A=J.getTotal(),V=K();return{progress:A>0?Math.min(100,Math.max(0,V/A*100)):0,velocity:Q,velocityAvg:q(),itemCount:V,total:A}}return{getState:D,onVelocity:j}}export{n2 as toggleSelection,VJ as simpleVisibleRange,S2 as selectItems,o2 as selectAll,HJ as rangesEqual,w2 as rafThrottle,qJ as needsScaling,P2 as mergeRanges,t2 as isSelected,O2 as isPlaceholderItem,bJ as isInRange,T2 as isGroupHeader,JJ as getSelectedItems,e2 as getSelectedIds,H2 as getScaleState,KJ as getScaleInfo,H2 as getScale,TJ as getRangeCount,BJ as getMaxItemsWithoutScaling,h2 as filterPlaceholders,RJ as diffRanges,f2 as deselectItems,ZJ as createTableRenderer,NJ as createTableLayout,UJ as createTableHeader,c2 as createStickyHeader,lJ as createStats,y2 as createSparseStorage,L2 as createSizeCache,s2 as createSelectionState,wJ as createScrollbar,zJ as createScrollController,k2 as createPlaceholderManager,DJ as createMeasuredSizeCache,_J as createMasonryRenderer,GJ as createMasonryLayout,m2 as createGroupedSizeFn,d2 as createGroupLayout,XJ as createGridRenderer,r2 as createGridLayout,yJ as createEmitter,PJ as createAsyncManager,i2 as clearSelection,FJ as clampScrollPosition,OJ as calculateTotalSize,LJ as calculateScrollToIndex,QJ as calculateScaledVisibleRange,YJ as calculateScaledScrollToIndex,$J as calculateScaledRenderRange,F2 as calculateScaledItemPosition,WJ as calculateRenderRange,b2 as calculateMissingRanges,AJ as calculateItemOffset,jJ as calculateIndexFromScrollPosition,EJ as calculateActualSize,u2 as buildLayoutItems,W2 as MAX_VIRTUAL_SIZE};
package/dist/size.json CHANGED
@@ -1 +1 @@
1
- {"base":{"minified":"27.2","gzipped":"10.5"},"withGrid":{"minified":"39.1","gzipped":"14.3"},"withMasonry":{"minified":"36.8","gzipped":"13.8"},"withGroups":{"minified":"35.6","gzipped":"13.2"},"withAsync":{"minified":"40.1","gzipped":"15.0"},"withSelection":{"minified":"37.1","gzipped":"13.2"},"withScale":{"minified":"38.0","gzipped":"13.5"},"withScrollbar":{"minified":"31.0","gzipped":"11.6"},"withPage":{"minified":"29.5","gzipped":"11.2"},"withSnapshots":{"minified":"29.5","gzipped":"11.2"},"withTable":{"minified":"44.7","gzipped":"16.0"},"withAutoSize":{"minified":"30.0","gzipped":"11.4"}}
1
+ {"base":{"minified":"27.5","gzipped":"10.6"},"withGrid":{"minified":"39.5","gzipped":"14.4"},"withMasonry":{"minified":"37.1","gzipped":"13.9"},"withGroups":{"minified":"35.9","gzipped":"13.3"},"withAsync":{"minified":"40.5","gzipped":"15.1"},"withSelection":{"minified":"37.5","gzipped":"13.3"},"withScale":{"minified":"40.5","gzipped":"14.2"},"withScrollbar":{"minified":"33.6","gzipped":"12.3"},"withPage":{"minified":"29.8","gzipped":"11.3"},"withSnapshots":{"minified":"29.9","gzipped":"11.3"},"withTable":{"minified":"45.1","gzipped":"16.1"},"withAutoSize":{"minified":"30.3","gzipped":"11.5"}}
package/dist/types.d.ts CHANGED
@@ -307,6 +307,17 @@ export interface ScrollbarOptions {
307
307
  */
308
308
  showOnViewportEnter?: boolean;
309
309
  }
310
+ /**
311
+ * Per-side padding for the scrollbar track.
312
+ * Each side defaults to the global `PADDING` constant when omitted.
313
+ * A plain number is shorthand for all four sides.
314
+ */
315
+ export type ScrollbarPadding = number | {
316
+ top?: number;
317
+ right?: number;
318
+ bottom?: number;
319
+ left?: number;
320
+ };
310
321
  /**
311
322
  * Scrollbar configuration.
312
323
  * @deprecated Use `scroll.scrollbar` in `ScrollConfig` instead.
package/dist/vlist.css CHANGED
@@ -1 +1 @@
1
- @keyframes vlist-fade-in{from{opacity:0.6}to{opacity:1}}@keyframes vlist-placeholder-pulse{0%,100%{opacity:0.6}50%{opacity:0.4}}:root{--vlist-scrollbar-width:8px;--vlist-scrollbar-track-bg:transparent;--vlist-scrollbar-custom-thumb-radius:4px;--vlist-item-padding-x:1rem;--vlist-item-padding-y:0.75rem;--vlist-border-radius:0.5rem;--vlist-transition-duration:150ms;--vlist-transition-timing:ease-in-out;--vlist-bg:#ffffff;--vlist-bg-hover:rgba(0,0,0,0.04);--vlist-bg-striped:rgba(0,0,0,0.02);--vlist-bg-selected:rgba(59,130,246,0.12);--vlist-bg-selected-hover:rgba(59,130,246,0.18);--vlist-border:#e5e7eb;--vlist-border-selected:#3b82f6;--vlist-text:#111827;--vlist-text-muted:#6b7280;--vlist-focus-ring:#3b82f6;--vlist-group-header-bg:#f3f4f6;--vlist-scrollbar-thumb:#d1d5db;--vlist-scrollbar-thumb-hover:#9ca3af;--vlist-scrollbar-custom-thumb-bg:rgba(0,0,0,0.3);--vlist-scrollbar-custom-thumb-hover-bg:rgba(0,0,0,0.5);--vlist-placeholder-bg:rgba(0,0,0,0.2)}[data-theme-mode="dark"]{--vlist-bg:#111827;--vlist-bg-hover:rgba(255,255,255,0.06);--vlist-bg-striped:rgba(255,255,255,0.02);--vlist-bg-selected:rgba(59,130,246,0.2);--vlist-bg-selected-hover:rgba(59,130,246,0.28);--vlist-border:#374151;--vlist-border-selected:#3b82f6;--vlist-text:#f9fafb;--vlist-text-muted:#9ca3af;--vlist-focus-ring:#3b82f6;--vlist-group-header-bg:#1e2433;--vlist-scrollbar-thumb:#4b5563;--vlist-scrollbar-thumb-hover:#6b7280;--vlist-scrollbar-custom-thumb-bg:rgba(255,255,255,0.3);--vlist-scrollbar-custom-thumb-hover-bg:rgba(255,255,255,0.5);--vlist-placeholder-bg:rgba(255,255,255,0.3)}@media (prefers-color-scheme:dark){:root:not([data-theme-mode="light"]):not([data-theme-mode="dark"]){--vlist-bg:#111827;--vlist-bg-hover:rgba(255,255,255,0.06);--vlist-bg-striped:rgba(255,255,255,0.02);--vlist-bg-selected:rgba(59,130,246,0.2);--vlist-bg-selected-hover:rgba(59,130,246,0.28);--vlist-border:#374151;--vlist-border-selected:#3b82f6;--vlist-text:#f9fafb;--vlist-text-muted:#9ca3af;--vlist-focus-ring:#3b82f6;--vlist-group-header-bg:#1e2433;--vlist-scrollbar-thumb:#4b5563;--vlist-scrollbar-thumb-hover:#6b7280;--vlist-scrollbar-custom-thumb-bg:rgba(255,255,255,0.3);--vlist-scrollbar-custom-thumb-hover-bg:rgba(255,255,255,0.5);--vlist-placeholder-bg:rgba(255,255,255,0.3)}}.dark{--vlist-bg:#111827;--vlist-bg-hover:rgba(255,255,255,0.06);--vlist-bg-striped:rgba(255,255,255,0.02);--vlist-bg-selected:rgba(59,130,246,0.2);--vlist-bg-selected-hover:rgba(59,130,246,0.28);--vlist-border:#374151;--vlist-border-selected:#3b82f6;--vlist-text:#f9fafb;--vlist-text-muted:#9ca3af;--vlist-focus-ring:#3b82f6;--vlist-group-header-bg:#1e2433;--vlist-scrollbar-thumb:#4b5563;--vlist-scrollbar-thumb-hover:#6b7280;--vlist-scrollbar-custom-thumb-bg:rgba(255,255,255,0.3);--vlist-scrollbar-custom-thumb-hover-bg:rgba(255,255,255,0.5);--vlist-placeholder-bg:rgba(255,255,255,0.3)}.vlist{position:relative;width:100%;height:100%;overflow:hidden;background-color:var(--vlist-bg);color:var(--vlist-text);color-scheme:light;border:1px solid var(--vlist-border);border-radius:var(--vlist-border-radius);outline:none}[data-theme-mode="dark"] .vlist,.dark .vlist{color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme-mode="light"]) .vlist{color-scheme:dark}}.vlist:focus,.vlist:focus-visible{outline:none}.vlist-viewport{width:100%;height:100%;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--vlist-scrollbar-thumb) transparent}.vlist-viewport::-webkit-scrollbar{width:6px;height:6px}.vlist-viewport::-webkit-scrollbar-track{background:transparent}.vlist-viewport::-webkit-scrollbar-thumb{background-color:var(--vlist-scrollbar-thumb);border-radius:3px}.vlist-viewport::-webkit-scrollbar-thumb:hover{background-color:var(--vlist-scrollbar-thumb-hover)}.vlist-content{position:relative;width:100%}.vlist-items{position:relative;width:100%;contain:layout style}.vlist-item{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;background-color:var(--vlist-bg);cursor:default;user-select:none;opacity:1;transition:background-color var(--vlist-transition-duration) var(--vlist-transition-timing),opacity var(--vlist-transition-duration) var(--vlist-transition-timing);contain:content;box-sizing:border-box;will-change:transform}.vlist--scrolling .vlist-item{transition:none}.vlist--selectable .vlist-item{cursor:pointer}.vlist--selectable .vlist-item:hover{background-color:var(--vlist-bg-hover)}.vlist-item.vlist-item--odd{background:var(--vlist-bg-striped)}.vlist-item.vlist-item--selected{background-color:var(--vlist-bg-selected)}.vlist-item.vlist-item--odd.vlist-item--selected{background:var(--vlist-bg-selected)}.vlist-item.vlist-item--selected:hover{background-color:var(--vlist-bg-selected-hover)}.vlist-item.vlist-item--odd.vlist-item--selected:hover{background:var(--vlist-bg-selected-hover)}.vlist-item.vlist-item--focused{outline:2px solid var(--vlist-focus-ring,#3b82f6);outline-offset:-2px;z-index:1}.vlist-item--replaced{animation:vlist-fade-in 0.3s ease-out}.vlist-item--placeholder{opacity:0.6;animation:vlist-placeholder-pulse 2s ease-in-out infinite}.vlist-item.vlist-item--selected.vlist-item--focused{outline-color:var(--vlist-border-selected)}.vlist-scrollbar{position:absolute;top:0;right:0;width:var(--vlist-scrollbar-width);height:100%;background-color:var(--vlist-scrollbar-track-bg);opacity:0;transition:opacity 0.2s ease-out;z-index:10;pointer-events:none}.vlist-scrollbar-hover{position:absolute;top:0;right:0;height:100%;z-index:9;pointer-events:auto}.vlist-scrollbar-hover--horizontal{top:auto;right:auto;bottom:0;left:0;width:100%;height:auto}.vlist-scrollbar--visible{opacity:1;pointer-events:auto}.vlist-scrollbar-thumb{position:absolute;top:0;left:0;right:0;width:100%;background-color:var(--vlist-scrollbar-custom-thumb-bg);border-radius:var(--vlist-scrollbar-custom-thumb-radius);cursor:pointer;transition:background-color 0.15s ease-out}.vlist-scrollbar-thumb:hover{background-color:var(--vlist-scrollbar-custom-thumb-hover-bg)}.vlist-scrollbar--dragging{opacity:1;pointer-events:auto}.vlist-scrollbar--dragging .vlist-scrollbar-thumb{background-color:var(--vlist-scrollbar-custom-thumb-hover-bg)}.vlist--grouped .vlist-item[data-id^="__group_header_"]{cursor:default;background-color:var(--vlist-group-header-bg,#f3f4f6);border-bottom:1px solid var(--vlist-border);z-index:1;overflow:hidden}.vlist--grouped .vlist-item[data-id^="__group_header_"]:hover{background-color:var(--vlist-group-header-bg,#f3f4f6)}.vlist-sticky-header{left:0;right:0;background-color:var(--vlist-group-header-bg,#f3f4f6);border-bottom:1px solid var(--vlist-border)}.vlist--horizontal{overflow:hidden}.vlist--horizontal .vlist-viewport{overflow-x:auto;overflow-y:hidden}.vlist--horizontal .vlist-content{height:100%;width:auto}.vlist--horizontal .vlist-items{height:100%;width:auto}.vlist--horizontal .vlist-item{position:absolute;top:0;bottom:0;left:0;right:auto;display:flex;align-items:center;justify-content:center;border-bottom:none;border-right:1px solid var(--vlist-border)}.vlist-scrollbar--horizontal{top:auto;right:auto;bottom:0;left:0;width:100%;height:var(--vlist-scrollbar-width)}.vlist-scrollbar--horizontal .vlist-scrollbar-thumb{top:0;left:0;width:auto;height:100%}.vlist-viewport--custom-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.vlist-viewport--custom-scrollbar::-webkit-scrollbar{display:none}.vlist-viewport--no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.vlist-viewport--no-scrollbar::-webkit-scrollbar{display:none}.vlist-viewport--gutter-stable{scrollbar-gutter:stable}
1
+ @keyframes vlist-fade-in{from{opacity:0.6}to{opacity:1}}@keyframes vlist-placeholder-pulse{0%,100%{opacity:0.6}50%{opacity:0.4}}:root{--vlist-scrollbar-width:8px;--vlist-scrollbar-track-color:transparent;--vlist-scrollbar-radius:4px;--vlist-custom-scrollbar-width:8px;--vlist-custom-scrollbar-track-color:transparent;--vlist-custom-scrollbar-radius:4px;--vlist-custom-scrollbar-padding-top:2px;--vlist-custom-scrollbar-padding-right:2px;--vlist-custom-scrollbar-padding-bottom:2px;--vlist-custom-scrollbar-padding-left:2px;--vlist-custom-scrollbar-min-thumb-size:15px;--vlist-item-padding-x:1rem;--vlist-item-padding-y:0.75rem;--vlist-border-radius:0.5rem;--vlist-transition-duration:150ms;--vlist-transition-timing:ease-in-out;--vlist-bg:#ffffff;--vlist-bg-hover:rgba(0,0,0,0.04);--vlist-bg-striped:rgba(0,0,0,0.02);--vlist-bg-selected:rgba(59,130,246,0.12);--vlist-bg-selected-hover:rgba(59,130,246,0.18);--vlist-border:#e5e7eb;--vlist-border-selected:#3b82f6;--vlist-text:#111827;--vlist-text-muted:#6b7280;--vlist-focus-ring:#3b82f6;--vlist-group-header-bg:#f3f4f6;--vlist-scrollbar-thumb-color:#d1d5db;--vlist-scrollbar-thumb-hover-color:#9ca3af;--vlist-custom-scrollbar-thumb-color:rgba(0,0,0,0.2);--vlist-custom-scrollbar-thumb-hover-color:rgba(0,0,0,0.3);--vlist-placeholder-bg:rgba(0,0,0,0.2)}[data-theme-mode="dark"]{--vlist-bg:#111827;--vlist-bg-hover:rgba(255,255,255,0.06);--vlist-bg-striped:rgba(255,255,255,0.02);--vlist-bg-selected:rgba(59,130,246,0.2);--vlist-bg-selected-hover:rgba(59,130,246,0.28);--vlist-border:#374151;--vlist-border-selected:#3b82f6;--vlist-text:#f9fafb;--vlist-text-muted:#9ca3af;--vlist-focus-ring:#3b82f6;--vlist-group-header-bg:#1e2433;--vlist-scrollbar-thumb-color:#4b5563;--vlist-scrollbar-thumb-hover-color:#6b7280;--vlist-custom-scrollbar-thumb-color:rgba(255,255,255,0.2);--vlist-custom-scrollbar-thumb-hover-color:rgba(255,255,255,0.3);--vlist-placeholder-bg:rgba(255,255,255,0.3)}@media (prefers-color-scheme:dark){:root:not([data-theme-mode="light"]):not([data-theme-mode="dark"]){--vlist-bg:#111827;--vlist-bg-hover:rgba(255,255,255,0.06);--vlist-bg-striped:rgba(255,255,255,0.02);--vlist-bg-selected:rgba(59,130,246,0.2);--vlist-bg-selected-hover:rgba(59,130,246,0.28);--vlist-border:#374151;--vlist-border-selected:#3b82f6;--vlist-text:#f9fafb;--vlist-text-muted:#9ca3af;--vlist-focus-ring:#3b82f6;--vlist-group-header-bg:#1e2433;--vlist-scrollbar-thumb-color:#4b5563;--vlist-scrollbar-thumb-hover-color:#6b7280;--vlist-custom-scrollbar-thumb-color:rgba(255,255,255,0.2);--vlist-custom-scrollbar-thumb-hover-color:rgba(255,255,255,0.3);--vlist-placeholder-bg:rgba(255,255,255,0.3)}}.dark{--vlist-bg:#111827;--vlist-bg-hover:rgba(255,255,255,0.06);--vlist-bg-striped:rgba(255,255,255,0.02);--vlist-bg-selected:rgba(59,130,246,0.2);--vlist-bg-selected-hover:rgba(59,130,246,0.28);--vlist-border:#374151;--vlist-border-selected:#3b82f6;--vlist-text:#f9fafb;--vlist-text-muted:#9ca3af;--vlist-focus-ring:#3b82f6;--vlist-group-header-bg:#1e2433;--vlist-scrollbar-thumb-color:#4b5563;--vlist-scrollbar-thumb-hover-color:#6b7280;--vlist-custom-scrollbar-thumb-color:rgba(255,255,255,0.2);--vlist-custom-scrollbar-thumb-hover-color:rgba(255,255,255,0.3);--vlist-placeholder-bg:rgba(255,255,255,0.3)}.vlist{position:relative;width:100%;height:100%;overflow:hidden;background-color:var(--vlist-bg);color:var(--vlist-text);color-scheme:light;border:1px solid var(--vlist-border);border-radius:var(--vlist-border-radius);outline:none}[data-theme-mode="dark"] .vlist,.dark .vlist{color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme-mode="light"]) .vlist{color-scheme:dark}}.vlist:focus,.vlist:focus-visible{outline:none}.vlist-viewport{width:100%;height:100%;overflow:auto;scrollbar-color:var(--vlist-scrollbar-thumb-color) var(--vlist-scrollbar-track-color)}@supports (-moz-appearance:none) and (scrollbar-width:1px){.vlist-viewport{scrollbar-width:var(--vlist-scrollbar-width)}}.vlist-viewport::-webkit-scrollbar{width:var(--vlist-scrollbar-width);height:var(--vlist-scrollbar-width)}.vlist-viewport::-webkit-scrollbar-track{background:var(--vlist-scrollbar-track-color)}.vlist-viewport::-webkit-scrollbar-thumb{background-color:var(--vlist-scrollbar-thumb-color);border-radius:var(--vlist-scrollbar-radius)}.vlist-viewport::-webkit-scrollbar-thumb:hover{background-color:var(--vlist-scrollbar-thumb-hover-color)}.vlist-content{position:relative;width:100%}.vlist-items{position:relative;width:100%;contain:layout style}.vlist-item{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;background-color:var(--vlist-bg);cursor:default;user-select:none;opacity:1;transition:background-color var(--vlist-transition-duration) var(--vlist-transition-timing),opacity var(--vlist-transition-duration) var(--vlist-transition-timing);contain:content;box-sizing:border-box;will-change:transform}.vlist--scrolling .vlist-item{transition:none}.vlist--selectable .vlist-item{cursor:pointer}.vlist--selectable .vlist-item:hover{background-color:var(--vlist-bg-hover)}.vlist-item.vlist-item--odd{background:var(--vlist-bg-striped)}.vlist-item.vlist-item--selected{background-color:var(--vlist-bg-selected)}.vlist-item.vlist-item--odd.vlist-item--selected{background:var(--vlist-bg-selected)}.vlist-item.vlist-item--selected:hover{background-color:var(--vlist-bg-selected-hover)}.vlist-item.vlist-item--odd.vlist-item--selected:hover{background:var(--vlist-bg-selected-hover)}.vlist-item.vlist-item--focused{outline:2px solid var(--vlist-focus-ring,#3b82f6);outline-offset:-2px;z-index:1}.vlist-item--replaced{animation:vlist-fade-in 0.3s ease-out}.vlist-item--placeholder{opacity:0.6;animation:vlist-placeholder-pulse 2s ease-in-out infinite}.vlist-item.vlist-item--selected.vlist-item--focused{outline-color:var(--vlist-border-selected)}.vlist-scrollbar{position:absolute;top:var(--vlist-custom-scrollbar-padding-top);right:var(--vlist-custom-scrollbar-padding-right);bottom:var(--vlist-custom-scrollbar-padding-bottom);width:var(--vlist-custom-scrollbar-width);background-color:var(--vlist-custom-scrollbar-track-color);opacity:0;transition:opacity 0.2s ease-out;z-index:10;pointer-events:none}.vlist-scrollbar-hover{position:absolute;top:0;right:0;height:100%;z-index:9;pointer-events:auto}.vlist-scrollbar-hover--horizontal{top:auto;right:auto;bottom:0;left:0;width:100%;height:auto}.vlist-scrollbar--visible{opacity:1;pointer-events:auto}.vlist-scrollbar-thumb{position:absolute;top:0;left:0;right:0;width:100%;background-color:var(--vlist-custom-scrollbar-thumb-color);border-radius:var(--vlist-custom-scrollbar-radius);cursor:pointer;transition:background-color 0.15s ease-out}.vlist-scrollbar-thumb:hover{background-color:var(--vlist-custom-scrollbar-thumb-hover-color)}.vlist-scrollbar--dragging{opacity:1;pointer-events:auto}.vlist-scrollbar--dragging .vlist-scrollbar-thumb{background-color:var(--vlist-custom-scrollbar-thumb-hover-color)}.vlist--grouped .vlist-item[data-id^="__group_header_"]{cursor:default;background-color:var(--vlist-group-header-bg,#f3f4f6);border-bottom:1px solid var(--vlist-border);z-index:1;overflow:hidden}.vlist--grouped .vlist-item[data-id^="__group_header_"]:hover{background-color:var(--vlist-group-header-bg,#f3f4f6)}.vlist-sticky-header{left:0;right:0;background-color:var(--vlist-group-header-bg,#f3f4f6);border-bottom:1px solid var(--vlist-border)}.vlist--horizontal{overflow:hidden}.vlist--horizontal .vlist-viewport{overflow-x:auto;overflow-y:hidden}.vlist--horizontal .vlist-content{height:100%;width:auto}.vlist--horizontal .vlist-items{height:100%;width:auto}.vlist--horizontal .vlist-item{position:absolute;top:0;bottom:0;left:0;right:auto;display:flex;align-items:center;justify-content:center;border-bottom:none;border-right:1px solid var(--vlist-border)}.vlist-scrollbar--horizontal{top:auto;left:var(--vlist-custom-scrollbar-padding-left);right:var(--vlist-custom-scrollbar-padding-right);bottom:var(--vlist-custom-scrollbar-padding-bottom);width:auto;height:var(--vlist-custom-scrollbar-width)}.vlist-scrollbar--horizontal .vlist-scrollbar-thumb{top:0;left:0;width:auto;height:100%}.vlist-viewport--gutter{padding-right:calc(var(--vlist-custom-scrollbar-padding-right)+var(--vlist-custom-scrollbar-width)+var(--vlist-custom-scrollbar-padding-left))}.vlist--horizontal .vlist-viewport--gutter{padding-right:0;padding-bottom:calc(var(--vlist-custom-scrollbar-padding-bottom)+var(--vlist-custom-scrollbar-width)+var(--vlist-custom-scrollbar-padding-top))}.vlist-viewport--custom-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.vlist-viewport--custom-scrollbar::-webkit-scrollbar{display:none}.vlist-viewport--no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.vlist-viewport--no-scrollbar::-webkit-scrollbar{display:none}.vlist-viewport--gutter-stable{scrollbar-gutter:stable}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vlist",
3
- "version": "1.6.2",
3
+ "version": "1.6.4",
4
4
  "description": "Lightweight, high-performance virtual list with zero dependencies",
5
5
  "author": {
6
6
  "name": "Floor IO",