vlist 1.6.1 → 1.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.github.md +30 -311
- package/README.md +9 -9
- package/dist/builder/a11y.d.ts +1 -1
- package/dist/builder/types.d.ts +11 -0
- package/dist/features/page/feature.d.ts +57 -1
- package/dist/features/page/index.d.ts +1 -0
- package/dist/features/scrollbar/feature.d.ts +6 -0
- package/dist/features/selection/feature.d.ts +8 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -1
- package/dist/internals.js +1 -1
- package/dist/size.json +1 -1
- package/dist/vlist.css +1 -1
- package/package.json +1 -1
package/dist/internals.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var b2=(J)=>{return J!==null&&typeof J==="object"&&J.__groupHeader===!0};var w2=(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 T=B-q;$.push({key:Y,groupIndex:$.length,headerLayoutIndex:j,firstDataIndex:q,count:T}),j=j+1+T,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 z=w2($,W),N=$[z];if(W===N.headerLayoutIndex)return{type:"header",group:N};let G=W-N.headerLayoutIndex-1;return{type:"item",dataIndex:N.firstDataIndex+G,group:N}},layoutToDataIndex:(W)=>{if($.length===0)return W;let z=w2($,W),N=$[z];if(W===N.headerLayoutIndex)return-1;let G=W-N.headerLayoutIndex-1;return N.firstDataIndex+G},dataToLayoutIndex:(W)=>{if($.length===0)return W;let z=x2($,W),N=$[z],G=W-N.firstDataIndex;return N.headerLayoutIndex+1+G},getGroupAtLayoutIndex:(W)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let z=w2($,W);return $[z]},getGroupAtDataIndex:(W)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let z=x2($,W);return $[z]},getHeaderHeight:typeof q==="number"?(W)=>q:(W)=>{let z=$[W];if(!z)return 0;return q(z.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",T=j?"height":"width",_=j?"X":"Y",K=(X,C)=>{X.style[D]=`${C}px`},A=document.createElement("div");A.className=`${q}-sticky-header`,A.setAttribute("role","presentation"),A.setAttribute("aria-hidden","true"),A.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[T]="100%",X},z=W(),N=W();A.append(z,N),J.insertBefore(A,J.firstChild);let G=z,U=N,V=Q.groups,R=[],v=[],y=0,s=()=>{V=Q.groups,y=V.length,R=Array(y),v=Array(y);for(let X=0;X<y;X++)R[X]=$.getOffset(V[X].headerLayoutIndex),v[X]=Q.getHeaderHeight(X)};s();let h=-1,u=0,t=-1,$2=!1,Y2=0,m=!1,f=(X,C)=>{Y(X,C);let l=v[C];return K(X,l),l},n=(X)=>{X.replaceChildren(),X.style.transform=""},J2=(X)=>{if(X===h)return;if(h=X,u=0,X<0||X>=y){n(G);return}u=f(G,X),K(A,u),G.style.transform=""},w=(X)=>{if(X===Y2)return;Y2=X;let C=Math.round(X);G.style.transform=`translate${_}(${C}px)`,U.style.transform=`translate${_}(${C+u}px)`},M=()=>{Y2=0,G.style.transform="",U.style.transform=""},Z=()=>{if(!m)return;let X=G;G=U,U=X,h=t,u=h>=0?v[h]:0,K(A,u),n(U),t=-1,m=!1,M()},F=()=>{if(!m)return;n(U),t=-1,m=!1,M()},b=()=>{if($2)return;$2=!0,A.style.display=""},o=()=>{if(!$2)return;$2=!1,A.style.display="none",n(G),h=-1,u=0,F()},a=(X)=>{if(y===0){o();return}if(X<R[0]){o();return}let C=0,l=y-1;while(C<l){let k=C+l+1>>>1;if(R[k]+v[k]<=X)C=k;else l=k-1}if(!$2)b();J2(C);let P=C+1;if(P<y){let k=R[P]-X;if(k<=0&&k>-u){if(t!==P||!m)t=P,f(U,P),m=!0;w(k)}else if(k<=-u){if(m)Z()}else if(m)F()}else if(m)F()},r=()=>{s();let X=h;if(h=-1,u=0,X>=0)J2(X)},O=()=>{A.remove(),h=-1,u=0,t=-1,$2=!1,m=!1};return A.style.display="none",{update:a,refresh:r,show:b,hide:o,destroy:O}};var r2=(J)=>{let Q=Math.max(1,Math.floor(J.columns)),$=J.gap??0,Y=J.isHeaderFn,q={row:0,col:0},j=(N)=>{if(N<=0)return 0;if(!Y)return Math.ceil(N/Q);let G=0,U=0,V=0;for(let R=0;R<N;R++)if(Y(R)){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=(N)=>{return q.row=D(N),q.col=T(N),q},D=(N)=>{if(!Y)return Math.floor(N/Q);let G=0,U=0;for(let V=0;V<=N;V++)if(Y(V)){if(U>0)G++,U=0;if(V===N)return G;G++,U=0}else{if(V===N)return G;if(U++,U>=Q)G++,U=0}return console.warn(`⚠️ getRow(${N}) fell through - returning ${G}`),G},T=(N)=>{if(!Y)return N%Q;if(Y(N))return 0;let G=0;for(let U=0;U<=N;U++)if(Y(U))G=0;else{if(U===N)return G;if(G++,G>=Q)G=0}return G},_=(N,G,U)=>{if(U<=0)return{start:0,end:-1};if(!Y){let s=Math.max(0,N*Q),h=Math.min(U-1,(G+1)*Q-1);return{start:s,end:h}}let V=-1,R=-1,v=0,y=0;for(let s=0;s<U;s++){if(Y(s)){if(y>0)v++,y=0;if(v>=N&&v<=G){if(V===-1)V=s;R=s}v++,y=0}else{if(v>=N&&v<=G){if(V===-1)V=s;R=s}if(y++,y>=Q)v++,y=0}if(v>G&&y===0)break}if(V===-1)return{start:0,end:-1};return{start:V,end:R}},K=(N,G,U)=>{if(G<0||G>=Q)return-1;let V=N*Q+G;if(V<0||V>=U)return-1;return V},A=(N)=>{let G=(Q-1)*$;return Math.max(0,(N-G)/Q)};return{get columns(){return Q},get gap(){return $},update:(N)=>{if(N.columns!==void 0)Q=Math.max(1,Math.floor(N.columns));if(N.gap!==void 0)$=N.gap;if(N.isHeaderFn!==void 0)Y=N.isHeaderFn},getTotalRows:j,getPosition:B,getRow:D,getCol:T,getItemRange:_,getItemIndex:K,getColumnWidth:A,getColumnOffset:(N,G)=>{let U=A(G);return N*(U+$)}}};var V2=16000000;var l2="x",a2=20,v2="_isPlaceholder",W2="__placeholder_";var O2=(J,Q,$)=>{if(String($).startsWith(W2))return!1;let Y=W2+Q;if(J.has(Y))return J.delete(Y),J.add($),!0;return!1},s2=(J)=>({selected:new Set(J??[]),focusedIndex:-1,focusVisible:!1}),C2=(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}},S2=(J,Q)=>{let $=new Set(J.selected);for(let Y of Q)$.delete(Y);return{...J,selected:$}},o2=(J,Q,$)=>{if($==="none")return J;if(J.selected.has(Q))return S2(J,[Q]);else return C2(J,[Q],$)},n2=(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,T=$-1;while(D<T){let _=D+T+1>>>1;if(Y[_]<=B)D=_;else T=_-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)},f2=(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 L2=(J,Q,$)=>{let Y=Q.getTotalSize(),q=$===!0||Y>V2,j=Y>V2?V2: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),z=$.indexAtOffset(J+Q);if(z<Y-1)z++;return j.start=Math.max(0,W),j.end=Math.min(Y-1,Math.max(0,z)),j}let{virtualSize:B}=q,T=J/B*Y,_=Math.floor(T),K=f2($,Math.max(0,_),Q,Y),A=Math.ceil(T)+K;return j.start=Math.max(0,_),j.end=Math.min(Y-1,Math.max(0,A)),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},E2=(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,T=Q/D,_=$.getTotalSize(),K=T*_;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 T=q.virtualSize-$;return Math.max(0,Math.min(B,T))},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>V2;return Q.getTotalSize()>V2},BJ=(J)=>{if(J<=0)return 0;return Math.floor(V2/J)},UJ=(J,Q,$)=>{let Y=L2(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 T2=(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,T=!1)=>{let _=SJ(),K=new Map,A=j,W=!1,z=0,N="",G=-1,U={selected:!1,focused:!1},V=(O,X)=>{return U.selected=O,U.focused=X,U},R=`${q}-item ${q}-grid-item`,v=`${q}-item--selected`,y=`${q}-item--focused`,s=`${q}-item--placeholder`,h=`${q}-item--replaced`,u=(O,X)=>{if(typeof X==="string")O.innerHTML=X;else O.replaceChildren(X)},t=(O,X,C)=>{O.classList.toggle(v,X),O.classList.toggle(y,C)},$2=(O,X)=>{let C=Y.getRow(O);if(X?.compression?.isCompressed)return E2(C,X.scrollPosition,$,X.totalItems,X.containerSize,X.compression,X.rangeStart);return $.getOffset(C)},Y2=(O,X)=>{let C=W&&Y.getCol(O)===0,l=C?0:Y.getCol(O),P=C?0:Y.getColumnOffset(l,A),k;if(W){let e=Y.getRow(O),L=0,H=new Set;for(let S=0;S<O;S++){let c=Y.getRow(S);if(c<e&&!H.has(c)){let x=$.getSize(S);L+=x,H.add(c)}}k=L}else k=$2(O,X);if(T)return`translate(${Math.round(k)}px, ${Math.round(P)}px)`;return`translate(${Math.round(P)}px, ${Math.round(k)}px)`},m=(O,X)=>{O.style.transform=X},f=(O,X)=>{let C=O.dataset.id?.startsWith("__group_header"),l=C?A:Y.getColumnWidth(A),P;if(W||C)P=$.getSize(X)-Y.gap;else{let k=Y.getRow(X);P=$.getSize(k)-Y.gap}if(T)O.style.width=`${P}px`,O.style.height=`${l}px`;else O.style.width=`${l}px`,O.style.height=`${P}px`},n=(O,X,C,l,P)=>{let k=_.acquire(),e=V(C,l);if(k.className=R,k.dataset.index=String(O),k.dataset.id=String(X.id),k.dataset.row=String(Y.getRow(O)),k.dataset.col=String(Y.getCol(O)),k.ariaSelected=String(C),D)k.id=`${D}-item-${O}`;if(B){let S=B();if(S!==G)G=S,N=String(S);k.setAttribute("aria-setsize",N),k.setAttribute("aria-posinset",String(O+1))}f(k,O);let L=Q(X,O,e);if(u(k,L),String(X.id).startsWith(W2))k.classList.add(s);return t(k,C,l),m(k,P),{element:k,lastItemId:X.id,lastSelected:C,lastFocused:l,lastTransform:P,lastSeenFrame:z}},J2=(O,X,C,l,P)=>{if(z++,X.start===0&&O.length>0)W=b2(O[0]);for(let[L,H]of K)if(L>=X.start&&L<=X.end)H.lastSeenFrame=z;else if(z-H.lastSeenFrame>fJ)_.release(H.element),K.delete(L);let k=!1;if(B){let L=B();if(L!==G)G=L,N=String(L),k=!0}let e=null;for(let L=X.start;L<=X.end;L++){let H=L-X.start,S=O[H];if(!S){console.warn(`⚠️ RENDER: Missing item at index ${L} (range: ${X.start}-${X.end}, items.length: ${O.length})`);continue}let c=C.has(S.id),x=L===l,p=K.get(L);if(p){let E=p.lastItemId!==S.id,I=p.lastSelected!==c,i=p.lastFocused!==x;if(E){let U2=String(p.lastItemId),Q2=String(S.id),j2=U2.startsWith(W2),q2=Q2.startsWith(W2);if(!q2&&O2(C,L,S.id))c=!0;let Z2=V(c,x),g=Q(S,L,Z2);if(u(p.element,g),p.element.dataset.id=Q2,p.element.dataset.row=String(Y.getRow(L)),p.element.dataset.col=String(Y.getCol(L)),f(p.element,L),p.element.classList.toggle(s,q2),j2&&!q2)p.element.classList.add(h),setTimeout(()=>p.element.classList.remove(h),300);p.lastItemId=S.id}if(E||I||i)t(p.element,c,x),p.element.ariaSelected=String(c),p.lastSelected=c,p.lastFocused=x;let d=Y2(L,P);if(p.lastTransform!==d)m(p.element,d),p.lastTransform=d;if(k)p.element.setAttribute("aria-setsize",N)}else{if(O2(C,L,S.id))c=!0;let E=Y2(L,P),I=n(L,S,c,x,E);if(!e)e=document.createDocumentFragment();e.appendChild(I.element),K.set(L,I)}}if(e)J.appendChild(e)},w=(O)=>{for(let[X,C]of K){let l=Y2(X,O);if(C.lastTransform!==l)m(C.element,l),C.lastTransform=l}},M=(O,X,C,l)=>{let P=K.get(O);if(!P)return;let k=V(C,l),e=Q(X,O,k);u(P.element,e),t(P.element,C,l),P.element.dataset.id=String(X.id),P.element.ariaSelected=String(C),f(P.element,O),P.lastItemId=X.id,P.lastSelected=C,P.lastFocused=l},Z=(O,X,C)=>{let l=K.get(O);if(!l)return;let P=l.lastSelected!==X,k=l.lastFocused!==C;if(P||k)t(l.element,X,C),l.lastSelected=X,l.lastFocused=C},F=(O)=>{return K.get(O)?.element},b=(O)=>{if(Math.abs(O-A)<1)return;A=O;for(let[X,C]of K){f(C.element,X);let l=Y2(X);m(C.element,l),C.lastTransform=l}},o=()=>{T2(J,K.keys(),(O)=>K.get(O)?.element)},a=()=>{for(let[,O]of K)_.release(O.element);K.clear()};return{render:J2,updatePositions:w,updateItem:M,updateItemClasses:Z,getElement:F,sortDOM:o,updateContainerWidth:b,clear:a,destroy:()=>{a(),_.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}))},T=(U)=>{if(j.length===0){B=0;return}let V=0,R=0;for(let v=0;v<j.length;v++){let y=j[v],s=y.def;if(s.width!==void 0)y.width=I2(s.width,y.minWidth,y.maxWidth),V+=y.width;else R++}if(R>0){let y=Math.max(0,U-V)/R;for(let s=0;s<j.length;s++){let h=j[s];if(h.def.width===void 0)h.width=I2(y,h.minWidth,h.maxWidth)}}_()},_=()=>{let U=0;for(let V=0;V<j.length;V++){let R=j[V];R.offset=U,U+=R.width}B=U},K=(U,V)=>{if(U<0||U>=j.length)return 0;let R=j[U];if(!R.resizable)return R.width;let v=I2(V,R.minWidth,R.maxWidth);return R.width=v,_(),v},A=(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,R=j.length-1;while(V<R){let v=V+R>>>1,y=j[v];if(U<y.offset)R=v-1;else if(U>=y.offset+y.width)V=v+1;else return y}return j[V]},z=(U)=>{if(U<0||U>=j.length)return 0;return j[U].offset},N=(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:T,updateColumns:G,resizeColumn:K,getColumn:A,getColumnAtX:W,getColumnOffset:z,getColumnWidth:N}},I2=(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 T=document.createElement("div");T.className=`${Y}-table-header`,T.setAttribute("role","row"),T.setAttribute("aria-rowindex","1"),T.style.height=`${$}px`;let _=document.createElement("div");_.className=`${Y}-table-header-scroll`,_.setAttribute("role","presentation"),T.appendChild(_),D.appendChild(T),J.insertBefore(D,J.firstChild),Q.style.cssText=`position:absolute;top:${$}px;left:0px;right:0px;bottom:0px;height:auto`;let K=[],A=[],W=[],z=!0,N=null,G="asc",U=null,V=!1,R=-1,v=0,y=0,s=(Z,F)=>{let b=document.createElement("div");b.className=`${Y}-table-header-cell`,b.setAttribute("role","columnheader"),b.setAttribute("aria-colindex",String(F+1)),b.dataset.columnKey=Z.def.key;let o=Z.def.align;if(o==="center")b.classList.add(`${Y}-table-header-cell--center`);else if(o==="right")b.classList.add(`${Y}-table-header-cell--right`);let a=document.createElement("div");a.className=`${Y}-table-header-content`;let r=Z.def.header?Z.def.header(Z.def):Z.def.label;if(typeof r==="string")a.textContent=r;else a.appendChild(r);if(b.appendChild(a),Z.def.sortable){let O=document.createElement("span");O.className=`${Y}-table-header-sort`,O.setAttribute("aria-hidden","true"),b.appendChild(O),W.push(O),b.classList.add(`${Y}-table-header-cell--sortable`)}else W.push(null);if(Z.resizable){let O=document.createElement("div");O.className=`${Y}-table-header-resize`,O.dataset.resizeIndex=String(F),b.appendChild(O),A.push(O)}return b},h=(Z)=>{U=Z,_.textContent="",K=[],A=[],W=[];let F=Z.columns;for(let b=0;b<F.length;b++){let o=F[b],a=s(o,b);K.push(a),_.appendChild(a)}if(u(Z),N)t(N,G)},u=(Z)=>{U=Z;let F=Z.columns;_.style.width=`${Z.totalWidth}px`;for(let b=0;b<K.length&&b<F.length;b++){let o=K[b],a=F[b];o.style.width=`${a.width}px`}},t=(Z,F)=>{if(N=Z,G=F,!U)return;let b=U.columns;for(let o=0;o<W.length&&o<b.length;o++){let a=W[o];if(!a)continue;if(b[o].def.key===Z&&Z!==null)a.textContent=F==="asc"?"▲":"▼",a.style.opacity="0.7",K[o].setAttribute("aria-sort",F==="asc"?"ascending":"descending");else a.textContent="",a.style.opacity="0",K[o].removeAttribute("aria-sort")}},$2=(Z)=>{_.style.transform=`translateX(${-Z}px)`},Y2=(Z)=>{let F=Z.target;if(!F.dataset.resizeIndex)return;if(Z.preventDefault(),Z.stopPropagation(),R=parseInt(F.dataset.resizeIndex,10),!U)return;let b=U.getColumn(R);if(!b||!b.resizable)return;V=!0,v=Z.clientX,y=b.width,J.classList.add(`${Y}--col-resizing`),J.style.cursor="col-resize",F.classList.add(`${Y}-table-header-resize--active`),F.setPointerCapture(Z.pointerId),F.addEventListener("pointermove",m),F.addEventListener("pointerup",f),F.addEventListener("pointercancel",f)},m=(Z)=>{if(!V||!U)return;let F=Z.clientX-v;if(Math.abs(F)<1)return;let b=Math.max(0,y+F);q(R,b)},f=(Z)=>{if(!V)return;let F=Z.target;F.removeEventListener("pointermove",m),F.removeEventListener("pointerup",f),F.removeEventListener("pointercancel",f);try{F.releasePointerCapture(Z.pointerId)}catch{}F.classList.remove(`${Y}-table-header-resize--active`),J.classList.remove(`${Y}--col-resizing`),J.style.cursor="",V=!1,R=-1},n=(Z)=>{let F=Z.target;if(F.dataset.resizeIndex!==void 0)return;if(V)return;let b=F;while(b&&!b.dataset.columnKey)if(b=b.parentElement,b===T||b===null)return;if(!b||!b.dataset.columnKey)return;let o=b.dataset.columnKey;if(!U)return;let a=U.columns,r=-1;for(let X=0;X<a.length;X++)if(a[X].def.key===o){r=X;break}if(r===-1)return;let O=a[r];if(B)B({key:o,index:r,event:Z});if(O.def.sortable&&j){let X;if(N===o)if(G==="asc")X="desc";else X=null;else X="asc";j({key:o,index:r,direction:X})}};return T.addEventListener("pointerdown",Y2),T.addEventListener("click",n),{element:T,update:u,updateSort:t,rebuild:h,show:()=>{if(z)return;z=!0,T.style.display=""},hide:()=>{if(!z)return;z=!1,T.style.display="none"},destroy:()=>{T.removeEventListener("pointerdown",Y2),T.removeEventListener("click",n),Q.style.cssText="",D.remove(),K=[],A=[],W=[],U=null,z=!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,T)=>{let _=pJ(),K=new Map,A=-1,W=$,z=null,N=null,G=null,U=(L,H)=>{N=L,G=H},V=(L,H)=>{if(H)L.setAttribute("aria-selected","true");else L.removeAttribute("aria-selected")},R=(L,H,S,c)=>{L.setAttribute("role",H),L.setAttribute("data-id",String(S)),L.setAttribute("data-index",String(c))},v=(L)=>String(L).startsWith("__placeholder_"),y=`${q}-item ${q}-table-row`,s=`${q}-item--selected`,h=`${q}-item--focused`,u=`${q}-table-cell`,t=`${q}-table-cell--center`,$2=`${q}-table-cell--right`,Y2=`${q}-item--odd`,m=`${q}-item--placeholder`,f=`${q}-item--replaced`,n=`${q}-item ${q}-table-row ${q}-table-group-header`,J2=`${q}-table-group-header-content`,w=(L,H,S,c,x=!1)=>{if(S.def.cell){let p=S.def.cell(H,S.def,c);if(typeof p==="string")L.innerHTML=p;else L.replaceChildren(p)}else{let p=H[S.def.key],E=p!=null?String(p):"";if(x&&E)L.innerHTML=`<span>${E}</span>`;else L.textContent=E}},M=(L,H,S,c,x=!1)=>{let p=y;if(D){if(z){let E=z(H);if(E>=0&&(E&1)===1)p+=` ${Y2}`}else if((H&1)===1)p+=` ${Y2}`}if(x)p+=` ${m}`;if(S)p+=` ${s}`;if(c)p+=` ${h}`;L.className=p},Z=(L,H,S)=>{if(S?.compression?.isCompressed)return Math.round(E2(L,S.scrollPosition,H,S.totalItems,S.containerSize,S.compression,S.rangeStart));return H.getOffset(L)},F=(L,H)=>{let S=H.def.align;if(S==="center")L.classList.add(t),L.classList.remove($2);else if(S==="right")L.classList.add($2),L.classList.remove(t);else L.classList.remove(t,$2)},b=(L,H)=>{let c=W.columns.length;if(H.length===c)return H;let x=[];for(let p=0;p<c;p++){let E;if(p<H.length)E=H[p];else E=document.createElement("div"),E.className=u,L.appendChild(E);x.push(E)}for(let p=c;p<H.length;p++)H[p].remove();return x},o=(L,H,S,c)=>{let x=_.acquire(),p=L,E=S.getSize(H),I=Z(H,S,c);x.style.cssText=`width:${W.totalWidth}px;height:${E}px;transform:translateY(${I}px)`,x.className=n,R(x,"presentation",L.id,H),x.removeAttribute("aria-selected"),x.removeAttribute("aria-rowindex"),x.replaceChildren();let i=document.createElement("div");if(i.className=J2,G){let d=G(p.groupKey,p.groupIndex);if(typeof d==="string")i.innerHTML=d;else i.appendChild(d)}return x.appendChild(i),{element:x,cells:[],index:H,isGroupHeader:!0,lastItemId:L.id,lastSelected:!1,lastFocused:!1,lastOffset:I,lastHeight:E}},a=(L,H,S,c,x,p)=>{let E=_.acquire(),I=x.getSize(H),i=Z(H,x,p),d=v(L.id);E.style.cssText=`width:${W.totalWidth}px;height:${I}px;transform:translateY(${i}px)`,M(E,H,S,c,d),R(E,"row",L.id,H),E.id=`${j}-${H}`,E.setAttribute("aria-rowindex",String(H+2)),V(E,S);let U2=b(E,[]),Q2=W.columns;for(let j2=0;j2<U2.length&&j2<Q2.length;j2++){let q2=U2[j2],Z2=Q2[j2];q2.style.cssText=`left:${Z2.offset}px;width:${Z2.width}px`,q2.setAttribute("role","gridcell"),q2.setAttribute("aria-colindex",String(j2+1)),F(q2,Z2),w(q2,L,Z2,H,d)}return{element:E,cells:U2,index:H,isGroupHeader:!1,lastItemId:L.id,lastSelected:S,lastFocused:c,lastOffset:i,lastHeight:I}},r=(L,H,S,c,x)=>{for(let[d,U2]of K)if(d<H.start||d>H.end)_.release(U2.element),K.delete(d);let p=!1,E=B();if(E!==A)A=E,p=!0;let I=null,i=Q();z=typeof D==="string"&&T?T():null;for(let d=H.start;d<=H.end;d++){let U2=d-H.start,Q2=L[U2];if(!Q2)continue;let j2=S.has(Q2.id),q2=d===c,Z2=N?N(Q2):!1,g=K.get(d);if(g){if(g.isGroupHeader!==Z2){_.release(g.element),K.delete(d);let X2=Z2?o(Q2,d,i,x):a(Q2,d,j2,q2,i,x);if(K.set(d,X2),!I)I=document.createDocumentFragment();I.appendChild(X2.element);continue}if(Z2){if(g.lastItemId!==Q2.id){let B2=Q2,D2=g.element.firstElementChild;if(D2&&G){let K2=G(B2.groupKey,B2.groupIndex);if(typeof K2==="string")D2.innerHTML=K2;else D2.replaceChildren(K2)}g.element.setAttribute("data-id",String(Q2.id)),g.lastItemId=Q2.id}let G2=Z(d,i,x);if(g.lastOffset!==G2)g.lastOffset=G2,g.element.style.transform=`translateY(${G2}px)`;let N2=i.getSize(d);if(g.lastHeight!==N2)g.lastHeight=N2,g.element.style.height=`${N2}px`}else{let X2=g.lastItemId!==Q2.id,G2=g.lastSelected!==j2,N2=g.lastFocused!==q2;if(X2){let K2=g.lastItemId!=null&&v(g.lastItemId),_2=v(Q2.id);if(!_2&&O2(S,d,Q2.id))j2=!0;let h2=W.columns;for(let A2=0;A2<g.cells.length&&A2<h2.length;A2++)w(g.cells[A2],Q2,h2[A2],d,_2);if(M(g.element,d,j2,q2,_2),g.element.setAttribute("data-id",String(Q2.id)),V(g.element,j2),K2&&!_2)g.element.classList.add(f),setTimeout(()=>{g.element.classList.remove(f)},300);g.lastItemId=Q2.id,g.lastSelected=j2,g.lastFocused=q2}else if(G2||N2)M(g.element,d,j2,q2,v(Q2.id)),V(g.element,j2),g.lastSelected=j2,g.lastFocused=q2;let B2=Z(d,i,x);if(g.lastOffset!==B2)g.lastOffset=B2,g.element.style.transform=`translateY(${B2}px)`;let D2=i.getSize(d);if(g.lastHeight!==D2)g.lastHeight=D2,g.element.style.height=`${D2}px`;if(p)g.element.setAttribute("aria-rowindex",String(d+2))}}else{if(O2(S,d,Q2.id))j2=!0;let X2=Z2?o(Q2,d,i,x):a(Q2,d,j2,q2,i,x);if(K.set(d,X2),!I)I=document.createDocumentFragment();I.appendChild(X2.element)}}if(I)J.appendChild(I)},O=(L)=>{let H=Q();for(let[S,c]of K){let x=Z(S,H,L);if(c.lastOffset!==x)c.lastOffset=x,c.element.style.transform=`translateY(${x}px)`}},X=(L,H,S,c)=>{let x=K.get(L);if(!x)return;if(x.isGroupHeader)return;let p=W.columns;for(let E=0;E<x.cells.length&&E<p.length;E++)w(x.cells[E],H,p[E],L);x.element.setAttribute("data-id",String(H.id)),x.lastItemId=H.id,M(x.element,L,S,c),V(x.element,S),x.lastSelected=S,x.lastFocused=c},C=(L,H,S)=>{let c=K.get(L);if(!c)return;if(c.isGroupHeader)return;let x=c.lastSelected!==H,p=c.lastFocused!==S;if(x||p)M(c.element,L,H,S),V(c.element,H),c.lastSelected=H,c.lastFocused=S},l=(L)=>{W=L;let H=L.columns;for(let[,S]of K)if(S.element.style.width=`${L.totalWidth}px`,S.cells.length>0)for(let c=0;c<S.cells.length&&c<H.length;c++){let x=S.cells[c],p=H[c];x.style.left=`${p.offset}px`,x.style.width=`${p.width}px`}},P=(L)=>{return K.get(L)?.element},k=()=>{for(let[,L]of K)_.release(L.element);K.clear(),A=-1};return{render:r,updatePositions:O,updateItem:X,updateItemClasses:C,getElement:P,updateColumnLayout:l,setGroupHeaderFn:U,clear:k,destroy:()=>{k(),_.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 R=0;R<Q;R++)j[R]=R*V};B();let D=[],T=0,_=[],K=(U)=>{let V=0,R=U[0];for(let v=1;v<U.length;v++){let y=U[v];if(y<R)R=y,V=v}return V},A=(U,V)=>{if(U<=0)return T=0,D=[],[];let R=Array(Q).fill(0),v=Array(Q);for(let h=0;h<Q;h++)v[h]=[];let y=Array(U);for(let h=0;h<U;h++){let u=K(R),t=V(h),$2=R[u];y[h]={index:h,x:j[u],y:$2,lane:u,size:t,crossSize:q},v[u].push(h),R[u]=$2+t+$}D=v;let s=0;for(let h=0;h<Q;h++){let u=R[h],t=u>0?u-$:0;if(t>s)s=t}return T=s,y},W=(U)=>{if(U.length===0)return T>0?T:0;if(T>0)return T;let V=Array(Q).fill(0);for(let v of U){let y=v.y+v.size,s=V[v.lane];if(y>s)V[v.lane]=y}let R=0;for(let v=0;v<Q;v++)if(V[v]>R)R=V[v];return R},z=(U,V,R)=>{if(U.length===0||R<=V)return _.length=0,_;if(D.length===0||D.length!==Q)return N(U,V,R);_.length=0;for(let v=0;v<Q;v++){let y=D[v],s=y.length;if(s===0)continue;let h=0,u=s;while(h<u){let t=h+u>>>1,$2=U[y[t]];if($2.y+$2.size<=V)h=t+1;else u=t}for(let t=h;t<s;t++){let $2=U[y[t]];if($2.y>=R)break;_.push($2)}}return _},N=(U,V,R)=>{let v=[];for(let y of U)if(y.y+y.size>V&&y.y<R)v.push(y);return v};return{get columns(){return Q},get gap(){return $},get containerSize(){return Y},update:(U)=>{let V=!1;if(U.columns!==void 0){let R=Math.max(1,Math.floor(U.columns));if(R!==Q)Q=R,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:A,getTotalSize:W,getVisibleItems:z}};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,T=new Set,_=0,K="",A=-1,W={selected:!1,focused:!1},z=(m,f)=>{return W.selected=m,W.focused=f,W},N=`${$}-item ${$}-masonry-item`,G=`${$}-item--selected`,U=`${$}-item--focused`,V=(m,f)=>{if(typeof f==="string")m.innerHTML=f;else m.replaceChildren(f)},R=(m,f,n)=>{m.classList.toggle(G,f),m.classList.toggle(U,n)},v=(m,f)=>{if(Y)m.style.transform=`translate(${Math.round(f.y)}px, ${Math.round(f.x)}px)`;else m.style.transform=`translate(${Math.round(f.x)}px, ${Math.round(f.y)}px)`},y=(m,f)=>{if(Y)m.style.width=`${f.size}px`,m.style.height=`${f.crossSize}px`;else m.style.width=`${f.crossSize}px`,m.style.height=`${f.size}px`},s=(m,f,n,J2,w)=>{let M=B.acquire(),Z=z(J2,w);if(M.className=N,M.dataset.index=String(m),M.dataset.id=String(f.id),M.dataset.lane=String(n.lane),M.ariaSelected=String(J2),j)M.id=`${j}-item-${m}`;if(q){let b=q();if(b!==A)A=b,K=String(b);M.setAttribute("aria-setsize",K),M.setAttribute("aria-posinset",String(m+1))}y(M,n);let F=Q(f,m,Z);return V(M,F),R(M,J2,w),v(M,n),{element:M,lastItemId:f.id,lastSelected:J2,lastFocused:w,lastY:n.y,lastX:n.x,lastSize:n.size,lastCrossSize:n.crossSize,lastSeenFrame:_}},h=(m,f,n,J2)=>{_++,T.clear();for(let M=0;M<f.length;M++)T.add(f[M].index);for(let[M,Z]of D)if(T.has(M))Z.lastSeenFrame=_;else if(_-Z.lastSeenFrame>xJ)B.release(Z.element),D.delete(M);let w=null;for(let M=0;M<f.length;M++){let Z=f[M],F=Z.index,b=m(F);if(!b)continue;let o=n.has(b.id),a=F===J2,r=D.get(F);if(r){let O=r.lastItemId!==b.id,X=r.lastSelected!==o,C=r.lastFocused!==a,l=r.lastY!==Z.y||r.lastX!==Z.x,P=r.lastSize!==Z.size||r.lastCrossSize!==Z.crossSize;if(O){let k=z(o,a),e=Q(b,F,k);V(r.element,e),r.element.dataset.id=String(b.id),r.lastItemId=b.id}if(O||X||C)R(r.element,o,a),r.element.ariaSelected=String(o),r.lastSelected=o,r.lastFocused=a;if(P)y(r.element,Z),r.lastSize=Z.size,r.lastCrossSize=Z.crossSize;if(l)v(r.element,Z),r.lastY=Z.y,r.lastX=Z.x}else{let O=s(F,b,Z,o,a);if(!w)w=document.createDocumentFragment();w.appendChild(O.element),D.set(F,O)}}if(w)J.appendChild(w)},u=()=>{for(let{element:m}of D.values())B.release(m);D.clear(),J.innerHTML=""};return{render:h,getElement:(m)=>D.get(m)?.element,updateItemClasses:(m,f,n)=>{let J2=D.get(m);if(!J2)return;let w=J2.lastSelected!==f,M=J2.lastFocused!==n;if(w||M)R(J2.element,f,n),J2.lastSelected=f,J2.lastFocused=n},sortDOM:()=>{T2(J,D.keys(),(m)=>D.get(m)?.element)},clear:u,destroy:()=>{u(),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),T=Q.getSize(B),_=Q.getTotalSize(),K=Math.max(0,_-$),A;switch(j){case"center":A=D-$/2+T/2;break;case"end":A=D-$+T;break;case"start":default:A=D;break}return Math.max(0,Math.min(A,K))},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,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(T){console.error(`[vlist] Error in event handler for "${String(j)}":`,T)}})},clear:(j)=>{if(j)delete J[j];else for(let B in J)delete J[B]}}};var R2=(J={})=>{let{chunkSize:Q=100,maxCachedItems:$=5000,evictionBuffer:Y=200,onEvict:q}=J,j=new Map,B=0,D=0,T=(w)=>{let M=j.get(w);if(!M)M={items:Array(Q),count:0,lastAccess:Date.now()},j.set(w,M);else M.lastAccess=Date.now();return M},_=(w)=>{return Math.floor(w/Q)},K=(w)=>{return w%Q},A=()=>B,W=(w)=>{B=w},z=(w)=>{if(w<0||w>=B)return;let M=_(w),Z=j.get(M);if(!Z)return;return Z.items[K(w)]},N=(w)=>{if(w<0||w>=B)return!1;let M=_(w),Z=j.get(M);if(!Z)return!1;return Z.items[K(w)]!==void 0},G=(w,M)=>{let Z=_(w),F=T(Z),b=K(w),o=F.items[b]===void 0;if(F.items[b]=M,o)F.count++,D++;if(w>=B)B=w+1},U=(w,M)=>{for(let Z=0;Z<M.length;Z++){let F=M[Z];if(F!==void 0)G(w+Z,F)}},V=(w)=>{if(w<0||w>=B)return!1;let M=_(w),Z=j.get(M),F=K(w);if(!(Z!==void 0&&Z.items[F]!==void 0))return!1;let o=M,a=Array.from(j.keys()).filter((O)=>O>=o).sort((O,X)=>O-X),r=[];for(let O of a){let X=j.get(O),C=O*Q;for(let l=0;l<Q;l++){if(X.items[l]===void 0)continue;let P=C+l;if(P<=w)continue;r.push({oldIndex:P,item:X.items[l]})}}if(Z.items[F]=void 0,Z.count--,D--,Z.count===0)j.delete(M);for(let{oldIndex:O}of r){let X=_(O),C=j.get(X);if(!C)continue;let l=K(O);if(C.items[l]!==void 0){if(C.items[l]=void 0,C.count--,D--,C.count===0)j.delete(X)}}for(let{oldIndex:O,item:X}of r){let C=O-1,l=_(C),P=T(l),k=K(C);P.items[k]=X,P.count++,D++}return B--,!0},R=(w,M)=>{let Z=[];for(let F=w;F<=M&&F<B;F++)Z.push(z(F));return Z},v=(w,M)=>{for(let Z=w;Z<=M&&Z<B;Z++)if(!N(Z))return!1;return!0},y=()=>{let w=[],M=null,Z=Array.from(j.keys()).sort((F,b)=>F-b);for(let F of Z){let b=j.get(F);if(!b)continue;let o=F*Q;for(let a=0;a<Q;a++){let r=o+a;if(r>=B)break;if(b.items[a]!==void 0)if(M===null)M={start:r,end:r};else if(r===M.end+1)M.end=r;else w.push(M),M={start:r,end:r};else if(M!==null)w.push(M),M=null}}if(M!==null)w.push(M);return w},s=(w,M)=>{let Z=[],F=null;for(let b=w;b<=M&&b<B;b++)if(!N(b))if(F===null)F={start:b,end:b};else F.end=b;else if(F!==null)Z.push(F),F=null;if(F!==null)Z.push(F);return Z},h=(w)=>{return j.has(w)},u=(w)=>{let M=j.get(w);if(M)M.lastAccess=Date.now()},t=(w,M)=>{if(w>M||j.size===0)return;let Z=Date.now(),F=_(Math.max(0,w)),b=_(Math.min(B-1,M));for(let o=F;o<=b;o++){let a=j.get(o);if(a)a.lastAccess=Z}},$2=(w,M)=>{if(D<=$)return 0;let Z=Math.max(0,w-Y),F=Math.min(B-1,M+Y),b=_(Z),o=_(F),a=0,r=[];for(let[O,X]of j)if(O<b||O>o)a+=X.count,r.push(O),D-=X.count,j.delete(O);if(a>0&&q)q(a,r);return a},Y2=()=>{if(D<=$)return 0;let w=Array.from(j.entries()).sort(([,F],[,b])=>F.lastAccess-b.lastAccess),M=0,Z=[];for(let[F,b]of w){if(D<=$)break;M+=b.count,D-=b.count,Z.push(F),j.delete(F)}if(M>0&&q)q(M,Z);return M},m=()=>{return{totalItems:B,cachedItems:D,cachedChunks:j.size,chunkSize:Q,maxCachedItems:$,memoryEfficiency:B>0?1-D/B:1}},f=()=>D,n=()=>{j.clear(),D=0};return{chunkSize:Q,maxCachedItems:$,getTotal:A,setTotal:W,get:z,has:N,set:G,setRange:U,delete:V,getRange:R,isRangeLoaded:v,getLoadedRanges:y,findUnloadedRanges:s,getChunkIndex:_,isChunkLoaded:h,touchChunk:u,touchChunksForRange:t,evictDistant:$2,evictToLimit:Y2,getStats:m,getCachedCount:f,clear:n,reset:()=>{n(),B=0}}},y2=(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 $},H2=(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=y2(Q),T=j.start;for(let _ of D){if(_.end<T)continue;if(_.start>j.end)break;if(_.start>T)B.push({start:T,end:Math.min(_.start-1,j.end)});if(T=_.end+1,T>j.end)break}if(T<=j.end)B.push({start:T,end:j.end});return B};var P2=(J={})=>{let{maskCharacter:Q=l2,maxSampleSize:$=a2}=J,Y=[],q=!1,j=(K)=>{if(q||K.length===0)return;let A=Math.min(K.length,$);for(let W=0;W<A;W++){let z=K[W];if(!z||typeof z!=="object")continue;let N={};for(let[G,U]of Object.entries(z)){if(G.startsWith("_")||G==="id")continue;N[G]=String(U??"").length}if(Object.keys(N).length>0)Y.push(N)}q=!0},B=()=>q,D=(K)=>{let A={id:`${W2}${K}`,[v2]:!0,_index:K};if(Y.length===0)return A.label=Q.repeat(12),A;let W=Y[K%Y.length];for(let[z,N]of Object.entries(W))A[z]=Q.repeat(Math.max(1,N));return A};return{analyzeStructure:j,hasAnalyzedStructure:B,generate:D,generateRange:(K,A)=>{let W=[];for(let z=K;z<=A;z++)W.push(D(z));return W},clear:()=>{Y=[],q=!1}}},M2=(J)=>{if(!J||typeof J!=="object")return!1;return J[v2]===!0},p2=(J)=>{return J.filter((Q)=>!M2(Q))};var uJ=50,PJ=(J={})=>{let{adapter:Q,initialItems:$,initialTotal:Y,storage:q,placeholder:j,pageSize:B=uJ,onStateChange:D,onItemsLoaded:T,onItemsEvicted:_}=J,K=R2({...q,onEvict:(E,I)=>{_?.(E),u()}}),A=null,W=()=>{if(!A)A=P2(j);return A},z=new Map,N=!1,G,U=!0,V,R=[],v=0,y=new Map,s=new Map,h=()=>{for(let E of s.values())E.abort();s.clear(),y.clear()},u=()=>{D?.(M())},t=()=>{z.clear();let E=K.getLoadedRanges();for(let I of E)for(let i=I.start;i<=I.end;i++){let d=K.get(i);if(d&&!M2(d))z.set(d.id,i)}},$2=(E,I)=>{if(!M2(I))z.set(I.id,E)},Y2=(E)=>{z.delete(E)},m=(E,I)=>{return`${E}-${I}`},f=()=>K.getTotal(),n=()=>K.getCachedCount(),J2=()=>N,w=()=>U,M=()=>({total:K.getTotal(),cached:K.getCachedCount(),isLoading:N,pendingRanges:R,error:G,hasMore:U,cursor:V}),Z=()=>K,F=()=>W(),b=(E)=>{let I=K.get(E);if(I!==void 0)return I;if(E>=0&&E<K.getTotal())return W().generate(E);return},o=(E)=>{let I=z.get(E);if(I===void 0)return;return K.get(I)},a=(E)=>{return z.get(E)??-1},r=(E)=>{let I=K.get(E);return I!==void 0&&!M2(I)},O=(E,I)=>{let i=[],d=K.getTotal(),U2=0,Q2=0;K.touchChunksForRange(E,Math.min(I,d-1));for(let j2=E;j2<=I&&j2<d;j2++){let q2=K.get(j2);if(q2!==void 0)i.push(q2),U2++;else i.push(W().generate(j2)),Q2++}return i},X=(E)=>{K.setTotal(E),U=K.getCachedCount()<E,u()},C=(E,I=0,i)=>{if(Q&&E.length>0){let d=W();if(!d.hasAnalyzedStructure())d.analyzeStructure(E)}for(let d=0;d<E.length;d++){let U2=E[d];if(U2!==void 0){let Q2=I+d;K.set(Q2,U2),$2(Q2,U2)}}if(i!==void 0)K.setTotal(i);else if(I+E.length>K.getTotal())K.setTotal(I+E.length);if(K.getCachedCount()>=K.getTotal()&&K.getTotal()>0)U=!1;u(),T?.(E,I,K.getTotal())},l=(E,I)=>{let i=K.get(E);if(!i)return!1;let d=i.id,U2={...i,...I};if(K.set(E,U2),I.id!==void 0&&I.id!==d)Y2(d);return $2(E,U2),u(),!0},P=(E)=>{let I=z.get(E);if(I===void 0)return!1;if(!K.delete(I))return!1;return t(),h(),u(),!0},k=async(E,I)=>{if(!Q)return;let i=m(E,I);if(y.has(i))return;let d=K.getLoadedRanges(),U2=H2({start:E,end:I},d,K.chunkSize);if(U2.length===0)return;let Q2=K.chunkSize,j2=Q2*2;for(let[g,X2]of s){let G2=g.indexOf("-"),N2=parseInt(g.slice(0,G2),10);if(Math.abs(N2-E)>j2)X2.abort(),s.delete(g),y.delete(g)}let q2=[];for(let g of U2){let X2=Math.floor(g.start/Q2),G2=Math.floor(g.end/Q2);for(let N2=X2;N2<=G2;N2++){let B2=N2*Q2,D2=B2+Q2-1,K2=m(B2,D2);if(!q2.some((_2)=>_2.start===B2)&&!y.has(K2))q2.push({start:B2,end:D2})}}let Z2=[];for(let g of U2){let X2=Math.floor(g.start/Q2),G2=Math.floor(g.end/Q2);for(let N2=X2;N2<=G2;N2++){let B2=N2*Q2,D2=B2+Q2-1,K2=m(B2,D2);if(y.has(K2)){let _2=y.get(K2);if(!Z2.includes(_2))Z2.push(_2)}}}for(let g of q2){let X2=m(g.start,g.end),G2=new AbortController;s.set(X2,G2);let N2=(async()=>{R.push(g),N=!0,G=void 0,u();try{let B2=g.end-g.start+1,D2={offset:g.start,limit:B2,cursor:void 0,signal:G2.signal},K2=await Q.read(D2);if(C(K2.items,g.start,K2.total),K2.cursor)V=K2.cursor;let _2=g.start+K2.items.length;if(_2>=v){if(v=_2,K2.hasMore!==void 0)U=K2.hasMore;else if(K2.total!==void 0)U=_2<K2.total}}catch(B2){if(B2?.name==="AbortError")return;G=B2 instanceof Error?B2:Error(String(B2))}finally{y.delete(X2),s.delete(X2),R=R.filter((B2)=>B2.start!==g.start||B2.end!==g.end),N=y.size>0,u()}})();y.set(X2,N2),Z2.push(N2)}await Promise.all(Z2)},e=async(E,I)=>{if(K.isRangeLoaded(E,I))return;await k(E,I)},L=async()=>{if(!Q)return;await k(0,B-1)},H=async()=>{if(!Q||N||!U)return!1;let E=K.getCachedCount(),I=K.getTotal(),i=E,d=Math.min(i+B-1,I>0?I-1:i+B-1);if(i>=I&&I>0)return U=!1,!1;return await k(i,d),K.getCachedCount()>E},S=async()=>{if(K.clear(),K.setTotal(0),z.clear(),A)A.clear();h(),R=[],N=!1,V=void 0,U=!0,v=0,G=void 0,u()},c=(E,I)=>{if(K.evictDistant(E,I)>0)t()},x=()=>{K.clear(),z.clear(),V=void 0,G=void 0,R=[],N=!1,u()},p=()=>{if(K.reset(),z.clear(),A)A.clear();V=void 0,U=!0,v=0,G=void 0,R=[],N=!1,u()};if($&&$.length>0)C($,0,Y??$.length);else if(Y!==void 0)K.setTotal(Y),u();return{getState:M,getTotal:f,getCached:n,getIsLoading:J2,getHasMore:w,getStorage:Z,getPlaceholders:F,getItem:b,getItemById:o,getIndexById:a,isItemLoaded:r,getItemsInRange:O,setTotal:X,setItems:C,updateItem:l,removeItem:P,loadRange:k,ensureRange:e,loadInitial:L,loadMore:H,reload:S,evictDistant:c,clear:x,reset:p}};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}},k2=(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,T=$-B.time;J.velocity=T>0?D/T: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:T,horizontal:_=!1}=Q,K=!!T,A=0,W=0,z=K?_?window.innerWidth:window.innerHeight:_?J.clientWidth:J.clientHeight,N=Q.compressed??!1,G=Q.compression,U=kJ(),V=!1,R=null,y=z2(()=>{let P=_?J.scrollLeft:J.scrollTop,k=P>=A?"down":"up";if(U=k2(U,P),A=P,B)B({scrollTop:A,direction:k,velocity:U.velocity});Y2()}),h=z2(()=>{let P=J.getBoundingClientRect(),k=_?Math.max(0,-P.left):Math.max(0,-P.top),e=k>=A?"down":"up";if(U=k2(U,k),A=k,!V)V=!0;if(B)B({scrollTop:A,direction:e,velocity:U.velocity});Y2()}),u=(P)=>{P.preventDefault()},t=(P)=>{if(P.deltaX)return;P.preventDefault(),J.scrollLeft+=P.deltaY},$2=(P)=>{if(!N)return;P.preventDefault();let k=(_?P.deltaX||P.deltaY:P.deltaY)*Y,e=A+k;if(q)e=A+k*0.3;if(e=Math.max(0,Math.min(e,W)),e!==A){let H=e>=A?"down":"up";if(U=k2(U,e),A=e,!V)V=!0;if(B)B({scrollTop:A,direction:H,velocity:U.velocity});Y2()}},Y2=()=>{if(R)clearTimeout(R);R=setTimeout(()=>{if(V=!1,U=kJ(A),D)D()},j)},m=(P)=>{if(N)return;if(N=!0,G=P,W=P.virtualSize-z,K)return;if(y.cancel(),J.removeEventListener("scroll",y),!$)J.removeEventListener("wheel",u);else if(_)J.removeEventListener("wheel",t);if(_)J.style.overflowX="hidden";else J.style.overflow="hidden";if($)J.addEventListener("wheel",$2,{passive:!1});let k=_?J.scrollLeft:J.scrollTop;if(k>0){let e=_?G?.actualSize??J.scrollWidth:G?.actualSize??J.scrollHeight;A=k/e*W}if(_)J.scrollLeft=0;else J.scrollTop=0},f=()=>{if(!N)return;if(N=!1,K){G=void 0;return}if(J.removeEventListener("wheel",$2),_)J.style.overflowX="auto";else J.style.overflow="auto";if(J.addEventListener("scroll",y,{passive:!0}),!$)J.addEventListener("wheel",u,{passive:!1});else if(_)J.addEventListener("wheel",t,{passive:!1});if(G&&A>0){let k=A/W*(G.actualSize-z);if(_)J.scrollLeft=k;else J.scrollTop=k}G=void 0},n=()=>{if(K||N)return A;return _?J.scrollLeft:J.scrollTop},J2=(P,k=!1)=>{let e=Math.max(0,Math.min(P,W||1/0));if(K){let L=J.getBoundingClientRect();if(_){let H=L.left+window.scrollX;window.scrollTo({left:H+e,behavior:k?"smooth":"auto"})}else{let H=L.top+window.scrollY;window.scrollTo({top:H+e,behavior:k?"smooth":"auto"})}}else if(N){if(e===A)return;let H=e>=A?"down":"up";if(U=k2(U,e),A=e,!V)V=!0;if(B)B({scrollTop:A,direction:H,velocity:U.velocity});Y2()}else if(_)J.scrollTo({left:e,behavior:k?"smooth":"auto"});else J.scrollTo({top:e,behavior:k?"smooth":"auto"})},w=(P)=>{J2(n()+P)},M=()=>{return n()<=0},Z=(P=0)=>{let k=n(),e=K||N?W:_?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;return k>=e-P},F=()=>{let P=n(),k=K||N?W:_?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;if(k<=0)return 0;return Math.min(1,Math.max(0,P/k))},b=(P)=>{if(P.compression)G=P.compression,W=G.virtualSize-z},o=()=>N,a=()=>Math.abs(U.velocity),r=()=>mJ(U),O=()=>V,X=()=>K,C=(P)=>{if(z=P,G)W=G.virtualSize-z},l=()=>{if(R)clearTimeout(R);if(K)h.cancel(),window.removeEventListener("scroll",h);else y.cancel(),J.removeEventListener("scroll",y),J.removeEventListener("wheel",$2),J.removeEventListener("wheel",u),J.removeEventListener("wheel",t)};if(K){if(N&&G)W=G.virtualSize-z;window.addEventListener("scroll",h,{passive:!0})}else if(N&&G){if(W=G.virtualSize-z,_)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",y,{passive:!0}),!$)J.addEventListener("wheel",u,{passive:!1});else if(_)J.addEventListener("wheel",t,{passive:!1})}return{getScrollTop:n,scrollTo:J2,scrollBy:w,isAtTop:M,isAtBottom:Z,getScrollPercentage:F,getVelocity:a,isTracking:r,isScrolling:O,updateConfig:b,enableCompression:m,disableCompression:f,isCompressed:o,isWindowMode:X,updateContainerHeight:C,destroy:l}},z2=(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:T=!0,hoverZoneWidth:_=16,showOnViewportEnter:K=!0}=$,A=0,W=0,z=0,N=0,G=!1,U=!1,V=0,R=0,v=0,y=null,s=!1,h=null,u=null,t=q?"width":"height",$2=q?"translateX":"translateY",Y2=q?(H)=>H.clientX:(H)=>H.clientY,m=q?"left":"top",f=document.createElement("div"),n=document.createElement("div"),J2=T?document.createElement("div"):null,w=()=>{if(f.className=`${Y}-scrollbar`,n.className=`${Y}-scrollbar-thumb`,q)f.classList.add(`${Y}-scrollbar--horizontal`);if(f.appendChild(n),J.appendChild(f),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)}},M=()=>{if(y)clearTimeout(y),y=null},Z=()=>{if(!j)return;M(),y=setTimeout(b,B)},F=()=>{if(A<=W)return;if(M(),!s)f.classList.add(`${Y}-scrollbar--visible`),s=!0;if(j&&!G&&!U)Z()},b=()=>{if(G||U)return;f.classList.remove(`${Y}-scrollbar--visible`),s=!1},o=(H,S)=>{A=H,W=S;let c=A>W;if(f.style.display=c?"":"none",!c){b();return}let x=W/A;z=Math.max(D,x*W),n.style[t]=`${z}px`,N=W-z,a(v)},a=(H)=>{if(v=H,A<=W||N<=0)return;let S=A-W,x=Math.min(1,Math.max(0,H/S))*N;n.style.transform=`${$2}(${x}px)`},r=(H)=>{if(H.target===n)return;let S=f.getBoundingClientRect(),p=Y2(H)-S[m]-z/2,I=Math.max(0,Math.min(p,N))/N,i=A-W,d=I*i;Q(d),F()},O=(H)=>{H.preventDefault(),H.stopPropagation(),G=!0,V=Y2(H),R=v,M(),f.classList.add(`${Y}-scrollbar--dragging`),document.addEventListener("mousemove",X),document.addEventListener("mouseup",C)},X=(H)=>{if(!G)return;let S=Y2(H)-V,c=N>0?S/N:0,x=A-W,p=c*x,E=Math.max(0,Math.min(R+p,x)),i=E/x*N;if(n.style.transform=`${$2}(${i}px)`,u=E,h===null)h=requestAnimationFrame(()=>{if(u!==null)Q(u);h=null})},C=()=>{if(G=!1,h!==null)cancelAnimationFrame(h),h=null;if(u!==null)Q(u),u=null;if(f.classList.remove(`${Y}-scrollbar--dragging`),j&&!U)Z();document.removeEventListener("mousemove",X),document.removeEventListener("mouseup",C)},l=()=>{if(K)F()},P=()=>{if(!G){if(U=!1,j)Z()}},k=()=>{U=!0,M(),F()},e=()=>{if(U=!1,!G&&j)Z()},L=()=>{if(M(),h!==null)cancelAnimationFrame(h),h=null;if(f.removeEventListener("click",r),f.removeEventListener("mouseenter",k),f.removeEventListener("mouseleave",e),n.removeEventListener("mousedown",O),J.removeEventListener("mouseenter",l),J.removeEventListener("mouseleave",P),document.removeEventListener("mousemove",X),document.removeEventListener("mouseup",C),J2){if(J2.removeEventListener("mouseenter",k),J2.removeEventListener("mouseleave",e),J2.parentNode)J2.parentNode.removeChild(J2)}if(f.parentNode)f.parentNode.removeChild(f)};if(w(),f.addEventListener("click",r),f.addEventListener("mouseenter",k),f.addEventListener("mouseleave",e),n.addEventListener("mousedown",O),J.addEventListener("mouseenter",l),J.addEventListener("mouseleave",P),J2)J2.addEventListener("mouseenter",k),J2.addEventListener("mouseleave",e);return{show:F,hide:b,updateBounds:o,updatePosition:a,isVisible:()=>s,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(T){if(Q=T,T>cJ&&T<dJ)$+=T,Y++}function B(){let T=J.getTotal();if(T===0)return 0;let _=J.getItemSize();if(_<=0)return 0;let K=J.getContainerSize();if(K<=0)return 0;let A=J.getScrollPosition(),W=typeof J.getColumns==="function"?J.getColumns():1,N=Math.ceil(T/W)*_,U=Math.min(N,V2)-K,V=N-K,R=U>0?V/U:1,v=A*R,y=Math.ceil((v+K)/_);return Math.min(y*W,T)}function D(){let T=J.getTotal(),_=B();return{progress:T>0?Math.min(100,Math.max(0,_/T*100)):0,velocity:Q,velocityAvg:q(),itemCount:_,total:T}}return{getState:D,onVelocity:j}}export{o2 as toggleSelection,VJ as simpleVisibleRange,C2 as selectItems,n2 as selectAll,HJ as rangesEqual,z2 as rafThrottle,qJ as needsScaling,y2 as mergeRanges,t2 as isSelected,M2 as isPlaceholderItem,bJ as isInRange,b2 as isGroupHeader,JJ as getSelectedItems,e2 as getSelectedIds,L2 as getScaleState,UJ as getScaleInfo,L2 as getScale,TJ as getRangeCount,BJ as getMaxItemsWithoutScaling,p2 as filterPlaceholders,RJ as diffRanges,S2 as deselectItems,ZJ as createTableRenderer,XJ as createTableLayout,NJ as createTableHeader,c2 as createStickyHeader,rJ as createStats,R2 as createSparseStorage,F2 as createSizeCache,s2 as createSelectionState,wJ as createScrollbar,zJ as createScrollController,P2 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,FJ as clampScrollPosition,OJ as calculateTotalSize,LJ as calculateScrollToIndex,QJ as calculateScaledVisibleRange,YJ as calculateScaledScrollToIndex,$J as calculateScaledRenderRange,E2 as calculateScaledItemPosition,WJ as calculateRenderRange,H2 as calculateMissingRanges,AJ as calculateItemOffset,jJ as calculateIndexFromScrollPosition,EJ as calculateActualSize,u2 as buildLayoutItems,V2 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 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};
|
package/dist/size.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"base":{"minified":"27.
|
|
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":"38.3","gzipped":"13.6"},"withScrollbar":{"minified":"31.4","gzipped":"11.7"},"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/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-
|
|
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:calc(var(--vlist-custom-scrollbar-width) / 2);--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.3);--vlist-custom-scrollbar-thumb-hover-color: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-color:#4b5563;--vlist-scrollbar-thumb-hover-color:#6b7280;--vlist-custom-scrollbar-thumb-color:rgba(255,255,255,0.3);--vlist-custom-scrollbar-thumb-hover-color: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-color:#4b5563;--vlist-scrollbar-thumb-hover-color:#6b7280;--vlist-custom-scrollbar-thumb-color:rgba(255,255,255,0.3);--vlist-custom-scrollbar-thumb-hover-color: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-color:#4b5563;--vlist-scrollbar-thumb-hover-color:#6b7280;--vlist-custom-scrollbar-thumb-color:rgba(255,255,255,0.3);--vlist-custom-scrollbar-thumb-hover-color: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-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:0;right:0;width:var(--vlist-custom-scrollbar-width);height:100%;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;right:auto;bottom:0;left:0;width:100%;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:var(--vlist-custom-scrollbar-width)}.vlist--horizontal .vlist-viewport--gutter{padding-right:0;padding-bottom:var(--vlist-custom-scrollbar-width)}.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}
|