vlist 1.7.6 → 1.7.8
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 +12 -12
- package/README.md +13 -11
- package/dist/features/groups/async-bridge.d.ts +1 -1
- package/dist/features/groups/layout.d.ts +10 -0
- package/dist/features/groups/sticky.d.ts +6 -1
- package/dist/features/scrollbar/scrollbar.d.ts +3 -2
- 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 Y=0,$=J.length-1;while(Y<$){let q=Y+$+1>>>1;if(J[q].headerLayoutIndex<=Q)Y=q;else $=q-1}return Y},x2=(J,Q)=>{let Y=0,$=J.length-1;while(Y<$){let q=Y+$+1>>>1;if(J[q].firstDataIndex<=Q)Y=q;else $=q-1}return Y},g2=(J,Q,Y)=>{if(J===0)return[];let $=[],q=Q(0,Y?.(0)),j=0,B=0;for(let _=1;_<J;_++){let b=Q(_,Y?.(_));if(b!==q){let O=_-j;$.push({key:q,groupIndex:$.length,headerLayoutIndex:B,firstDataIndex:j,count:O}),B=B+1+O,q=b,j=_}}return $.push({key:q,groupIndex:$.length,headerLayoutIndex:B,firstDataIndex:j,count:J-j}),$},u2=(J,Q)=>{if(J.length===0||Q.length===0)return[];let Y=J.length+Q.length,$=Array(Y),q=0;for(let j of Q){$[q]={id:`__group_header_${j.groupIndex}`,__groupHeader:!0,groupKey:j.key,groupIndex:j.groupIndex},q++;for(let B=0;B<j.count;B++)$[q]=J[j.firstDataIndex+B],q++}return $},m2=(J,Q,Y=!1)=>{let $=typeof Q==="number"?(q)=>Q:Q;return(q)=>{let j=J.getEntry(q);if(j.type==="header"){if(Y&&j.group.groupIndex===0)return 0;return J.getHeaderHeight(j.group.groupIndex)}return $(j.dataIndex)}},d2=(J,Q,Y)=>{let $=g2(J,Q.getGroupForIndex,Y),q=J+$.length,j=Q.header?.height??Q.header?.width??Q.headerHeight;return{get totalEntries(){return q},get groupCount(){return $.length},get groups(){return $},getEntry:(y)=>{if($.length===0)return{type:"item",dataIndex:y,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let G=w2($,y),W=$[G];if(y===W.headerLayoutIndex)return{type:"header",group:W};let K=y-W.headerLayoutIndex-1;return{type:"item",dataIndex:W.firstDataIndex+K,group:W}},layoutToDataIndex:(y)=>{if($.length===0)return y;let G=w2($,y),W=$[G];if(y===W.headerLayoutIndex)return-1;let K=y-W.headerLayoutIndex-1;return W.firstDataIndex+K},dataToLayoutIndex:(y)=>{if($.length===0)return y;let G=x2($,y),W=$[G],K=y-W.firstDataIndex;return W.headerLayoutIndex+1+K},getGroupAtLayoutIndex:(y)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let G=w2($,y);return $[G]},getGroupAtDataIndex:(y)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let G=x2($,y);return $[G]},getHeaderHeight:typeof j==="number"?(y)=>j:(y)=>{let G=$[y];if(!G)return 0;return j(G.key,y)},rebuild:(y,G)=>{$=g2(y,Q.getGroupForIndex,G??Y),q=y+$.length}}};var c2=(J,Q,Y,$,q,j=!1,B=0,_)=>{let b=j?"width":"height",O=j?"height":"width",N=j?"X":"Y",T=(U,R)=>{U.style[b]=`${R}px`},P=document.createElement("div");P.className=`${q}-sticky-header`,P.setAttribute("role","presentation"),P.setAttribute("aria-hidden","true"),P.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 y=()=>{let U=document.createElement("div");return U.className="sticky-group",U.style.position="absolute",U.style.willChange="transform",U.style[O]="100%",U},G=y(),W=y();P.append(G,W),J.insertBefore(P,J.firstChild);let K=G,D=W,A=Q.groups,z=[],w=[],g=[],x=0,Y2=()=>{A=Q.groups,x=A.length,z=Array(x),w=Array(x),g=Array(x);let U=_?_():1;for(let R=0;R<x;R++)z[R]=Y.getOffset(A[R].headerLayoutIndex)*U,w[R]=Q.getHeaderHeight(R),g[R]=w[R]*U};Y2();let c=-1,i=0,q2=0,U2=-1,B2=!1,u=0,m=!1,E=(U,R)=>{$(U,R);let p=w[R];return T(U,p),p},Z=(U)=>{U.replaceChildren(),U.style.transform=""},M=(U)=>{if(U===c)return;if(c=U,i=0,q2=0,U<0||U>=x){Z(K);return}i=E(K,U),q2=g[U],T(P,i),K.style.transform=""},X=(U)=>{if(U===u)return;u=U;let R=Math.round(U);K.style.transform=`translate${N}(${R}px)`,D.style.transform=`translate${N}(${R+i}px)`},v=()=>{u=0,K.style.transform="",D.style.transform=""},l=()=>{if(!m)return;let U=K;K=D,D=U,c=U2,i=c>=0?w[c]:0,q2=c>=0?g[c]:0,T(P,i),Z(D),U2=-1,m=!1,v()},a=()=>{if(!m)return;Z(D),U2=-1,m=!1,v()},o=()=>{if(B2)return;B2=!0,P.style.display=""},S=()=>{if(!B2)return;B2=!1,P.style.display="none",Z(K),c=-1,i=0,q2=0,a()},s=(U)=>{if(x===0){S();return}if(U<z[0]){S();return}let R=0,p=x-1;while(R<p){let H=R+p+1>>>1;if(z[H]+g[H]<=U)R=H;else p=H-1}if(!B2)o();M(R);let V=R+1;if(V<x){let H=z[V]-U;if(H<=0&&H>-q2){if(U2!==V||!m)U2=V,E(D,V),m=!0;let k=q2>0?H/q2*i:H;X(k)}else if(H<=-q2){if(m)l()}else if(m)a()}else if(m)a()},L=()=>{Y2();let U=c;if(c=-1,i=0,q2=0,U>=0)M(U)},C=()=>{P.remove(),c=-1,i=0,q2=0,U2=-1,B2=!1,m=!1};return P.style.display="none",{update:s,refresh:L,show:o,hide:S,destroy:C}};var r2=(J)=>{let Q=Math.max(1,Math.floor(J.columns)),Y=J.gap??0,$=J.isHeaderFn,q={row:0,col:0},j=(G)=>{if(G<=0)return 0;if(!$)return Math.ceil(G/Q);let W=0,K=0,D=0;for(let A=0;A<G;A++)if($(A)){if(D++,K>0)W++,K=0;W++,K=0}else if(K++,K>=Q)W++,K=0;if(K>0)W++;return W},B=(G)=>{return q.row=_(G),q.col=b(G),q},_=(G)=>{if(!$)return Math.floor(G/Q);let W=0,K=0;for(let D=0;D<=G;D++)if($(D)){if(K>0)W++,K=0;if(D===G)return W;W++,K=0}else{if(D===G)return W;if(K++,K>=Q)W++,K=0}return console.warn(`⚠️ getRow(${G}) fell through - returning ${W}`),W},b=(G)=>{if(!$)return G%Q;if($(G))return 0;let W=0;for(let K=0;K<=G;K++)if($(K))W=0;else{if(K===G)return W;if(W++,W>=Q)W=0}return W},O=(G,W,K)=>{if(K<=0)return{start:0,end:-1};if(!$){let g=Math.max(0,G*Q),x=Math.min(K-1,(W+1)*Q-1);return{start:g,end:x}}let D=-1,A=-1,z=0,w=0;for(let g=0;g<K;g++){if($(g)){if(w>0)z++,w=0;if(z>=G&&z<=W){if(D===-1)D=g;A=g}z++,w=0}else{if(z>=G&&z<=W){if(D===-1)D=g;A=g}if(w++,w>=Q)z++,w=0}if(z>W&&w===0)break}if(D===-1)return{start:0,end:-1};return{start:D,end:A}},N=(G,W,K)=>{if(W<0||W>=Q)return-1;let D=G*Q+W;if(D<0||D>=K)return-1;return D},T=(G)=>{let W=(Q-1)*Y;return Math.max(0,(G-W)/Q)};return{get columns(){return Q},get gap(){return Y},update:(G)=>{if(G.columns!==void 0)Q=Math.max(1,Math.floor(G.columns));if(G.gap!==void 0)Y=G.gap;if(G.isHeaderFn!==void 0)$=G.isHeaderFn},getTotalRows:j,getPosition:B,getRow:_,getCol:b,getItemRange:O,getItemIndex:N,getColumnWidth:T,getColumnOffset:(G,W)=>{let K=T(W);return G*(K+Y)}}};var M2=16000000;var l2="x",a2=20,v2="_isPlaceholder",O2="__placeholder_";var E2=(J,Q,Y)=>{if(String(Y).startsWith(O2))return!1;let $=O2+Q;if(J.has($))return J.delete($),J.add(Y),!0;return!1},s2=(J)=>({selected:new Set(J??[]),focusedIndex:-1,focusVisible:!1}),C2=(J,Q,Y)=>{if(Y==="none")return J;let $=new Set(J.selected);if(Y==="single"){if($.clear(),Q.length>0)$.add(Q[0])}else for(let q of Q)$.add(q);return{...J,selected:$}},f2=(J,Q)=>{let Y=new Set(J.selected);for(let $ of Q)Y.delete($);return{...J,selected:Y}},n2=(J,Q,Y)=>{if(Y==="none")return J;if(J.selected.has(Q))return f2(J,[Q]);else return C2(J,[Q],Y)},o2=(J,Q,Y)=>{if(Y!=="multiple")return J;return{...J,selected:new Set(Q.map(($)=>$.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 Y=[];for(let $ of J.selected){let q=Q($);if(q)Y.push(q)}return Y};var CJ=(J,Q)=>{let Y=Q;return{getOffset:($)=>$*J,getSize:($)=>J,indexAtOffset:($)=>{if(Y===0||J===0)return 0;return Math.max(0,Math.min(Math.floor($/J),Y-1))},getTotalSize:()=>Y*J,getTotal:()=>Y,rebuild:($)=>{Y=$},isVariable:()=>!1}},fJ=(J,Q)=>{let Y=Q,$=new Float64Array(0),q=(B)=>{Y=B,$=new Float64Array(B+1),$[0]=0;for(let _=0;_<B;_++)$[_+1]=$[_]+J(_)};q(Q);let j=(B)=>{if(Y===0)return 0;if(B<=0)return 0;if(B>=$[Y])return Y-1;let _=0,b=Y-1;while(_<b){let O=_+b+1>>>1;if($[O]<=B)_=O;else b=O-1}return _};return{getOffset:(B)=>{if(B<=0)return 0;if(B>=Y)return $[Y];return $[B]},getSize:(B)=>J(B),indexAtOffset:(B)=>j(B),getTotalSize:()=>$[Y]??0,getTotal:()=>Y,rebuild:(B)=>q(B),isVariable:()=>!0}},L2=(J,Q)=>{if(typeof J==="number")return CJ(J,Q);return fJ(J,Q)},S2=(J,Q,Y,$)=>{if($===0)return 0;if(!J.isVariable())return Math.ceil(Y/J.getSize(0));let q=0,j=0,B=Q;while(B<$&&j<Y)j+=J.getSize(B),q++,B++;return Math.max(1,q)};var H2=(J,Q,Y)=>{let $=Q.getTotalSize(),q=Y===!0||$>M2,j=$>M2?M2:$,B=$>0?j/$:1;return{isCompressed:q,actualSize:$,virtualSize:j,ratio:B}},QJ=(J,Q,Y,$,q,j)=>{if($===0||Q===0)return j.start=0,j.end=-1,j;if(!q.isCompressed||q.ratio===1){let y=Y.indexAtOffset(J),G=Y.indexAtOffset(J+Q);if(G<$-1)G++;return j.start=Math.max(0,y),j.end=Math.min($-1,Math.max(0,G)),j}let{virtualSize:B}=q,_=J/B,b=Y.getTotalSize(),O=_*b,N=Y.indexAtOffset(O),T=S2(Y,Math.max(0,N),Q,$),P=N+T;return j.start=Math.max(0,N),j.end=Math.min($-1,Math.max(0,P)),j},$J=(J,Q,Y,$)=>{if(Y===0)return $.start=0,$.end=-1,$;return $.start=Math.max(0,J.start-Q),$.end=Math.min(Y-1,J.end+Q),$},F2=(J,Q,Y,$,q,j,B)=>{if(!j.isCompressed||$===0)return Y.getOffset(J);if(j.ratio===1)return Y.getOffset(J)-Q;let{virtualSize:_}=j,b=Q/_,O=Y.getTotalSize(),N=b*O;return Y.getOffset(J)-N},YJ=(J,Q,Y,$,q,j="start")=>{if($===0)return 0;let B;if(q.isCompressed&&q.ratio!==1){B=J/$*q.virtualSize;let N=Q.getSize(J);switch(j){case"center":B-=(Y-N)/2*q.ratio;break;case"end":B-=(Y-N)*q.ratio;break}return Math.max(0,B)}B=Q.getOffset(J);let _=Q.getSize(J);switch(j){case"center":B-=(Y-_)/2;break;case"end":B-=Y-_;break}let b=q.virtualSize-Y;return Math.max(0,Math.min(B,b))},jJ=(J,Q,Y,$)=>{if(Y===0)return 0;if($.isCompressed&&$.ratio!==1){let q=J/$.virtualSize;return Math.floor(q*Y)}return Q.indexAtOffset(J)},qJ=(J,Q)=>{if(typeof Q==="number")return J*Q>M2;return Q.getTotalSize()>M2},BJ=(J)=>{if(J<=0)return 0;return Math.floor(M2/J)},KJ=(J,Q,Y)=>{let $=H2(J,Q,Y);if(!$.isCompressed)return`No compression needed (${J} items, ${($.actualSize/1e6).toFixed(2)}M px)`;return`Compressed to ${($.ratio*100).toFixed(1)}% (${J} items, ${($.actualSize/1e6).toFixed(1)}M px → ${($.virtualSize/1e6).toFixed(1)}M px virtual)`};var T2=(J,Q,Y)=>{let $=Array.from(Q).sort((B,_)=>B-_);if($.length<=1)return;let q=[];for(let B=0;B<$.length;B++){let _=Y($[B]);if(_)q.push(_)}if(q.length<=1)return;let j=J.firstChild;for(let B=0;B<q.length;B++){let _=q[B];if(_===j)j=j.nextSibling;else J.insertBefore(_,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}}},IJ=1,XJ=(J,Q,Y,$,q,j,B,_,b=!1,O)=>{let N=SJ(),T=new Map,P=j,y=!1,G=0,W="",K=-1,D={selected:!1,focused:!1},A=(L,C)=>{return D.selected=L,D.focused=C,D},z=`${q}-item ${q}-grid-item`,w=`${q}-group-header`,g=`${q}-item--selected`,x=`${q}-item--focused`,Y2=`${q}-item--placeholder`,c=`${q}-item--replaced`,i=(L,C)=>{if(typeof C==="string")L.innerHTML=C;else L.replaceChildren(C)},q2=(L,C,U)=>{L.classList.toggle(g,C),L.classList.toggle(x,U)},U2=(L,C)=>{let U=$.getRow(L);if(C?.compression?.isCompressed)return F2(U,C.scrollPosition,Y,C.totalItems,C.containerSize,C.compression,C.rangeStart);return Y.getOffset(U)},B2=(L,C)=>{let U=y&&$.getCol(L)===0,R=U?0:$.getCol(L),p=U?0:$.getColumnOffset(R,P),V;if(y){let H=$.getRow(L),k=0,r=new Set;for(let f=0;f<L;f++){let d=$.getRow(f);if(d<H&&!r.has(d)){let e=Y.getSize(f);k+=e,r.add(d)}}V=k}else V=U2(L,C);if(b)return`translate(${Math.round(V)}px, ${Math.round(p)}px)`;return`translate(${Math.round(p)}px, ${Math.round(V)}px)`},u=(L,C)=>{L.style.transform=C},m=(L,C)=>{let U=L.classList.contains(w),R=U?P:$.getColumnWidth(P),p;if(y||U)p=Y.getSize(C)-$.gap;else{let V=$.getRow(C);p=Y.getSize(V)-$.gap}if(b)L.style.width=`${p}px`,L.style.height=`${R}px`;else L.style.width=`${R}px`,L.style.height=`${p}px`},E=(L,C,U,R,p)=>{let V=N.acquire(),H=!!C.__groupHeader,k=A(U,R);if(V.className=H?w:z,V.dataset.index=String(L),V.dataset.id=String(C.id),V.dataset.row=String($.getRow(L)),V.dataset.col=String($.getCol(L)),H)V.setAttribute("role","presentation"),V.removeAttribute("aria-selected"),V.removeAttribute("aria-setsize"),V.removeAttribute("aria-posinset"),V.removeAttribute("id");else{if(V.setAttribute("role","option"),V.ariaSelected=String(U),_)V.id=`${_}-item-${L}`;if(B){let d=B();if(d!==K)K=d,W=String(d);V.setAttribute("aria-setsize",W);let e=O?O(L):L+1;V.setAttribute("aria-posinset",String(e))}}m(V,L);let r=Q(C,L,k);if(i(V,r),String(C.id).startsWith(O2))V.classList.add(Y2);return q2(V,U,R),u(V,p),{element:V,lastItemId:C.id,lastSelected:U,lastFocused:R,lastTransform:p,lastSeenFrame:G}},Z=(L,C,U,R,p)=>{if(G++,C.start===0&&L.length>0)y=b2(L[0]);for(let[k,r]of T)if(k>=C.start&&k<=C.end)r.lastSeenFrame=G;else if(G-r.lastSeenFrame>IJ)N.release(r.element),T.delete(k);let V=!1;if(B){let k=B();if(k!==K)K=k,W=String(k),V=!0}let H=null;for(let k=C.start;k<=C.end;k++){let r=k-C.start,f=L[r];if(!f){console.warn(`⚠️ RENDER: Missing item at index ${k} (range: ${C.start}-${C.end}, items.length: ${L.length})`);continue}let d=U.has(f.id),e=k===R,F=T.get(k);if(F){let I=F.lastItemId!==f.id,h=F.lastSelected!==d,$2=F.lastFocused!==e;if(I){let X2=String(F.lastItemId),N2=String(f.id),D2=X2.startsWith(O2),n=N2.startsWith(O2);if(!n&&E2(U,k,f.id))d=!0;let Q2=A(d,e),Z2=Q(f,k,Q2);if(i(F.element,Z2),F.element.dataset.id=N2,F.element.dataset.row=String($.getRow(k)),F.element.dataset.col=String($.getCol(k)),m(F.element,k),F.element.classList.toggle(Y2,n),D2&&!n)F.element.classList.add(c),setTimeout(()=>F.element.classList.remove(c),300);if(F.lastItemId=f.id,!f.__groupHeader){let j2=O?O(k):k+1;F.element.setAttribute("aria-posinset",String(j2))}}if(I||h||$2)q2(F.element,d,e),F.element.ariaSelected=String(d),F.lastSelected=d,F.lastFocused=e;let J2=B2(k,p);if(F.lastTransform!==J2)u(F.element,J2),F.lastTransform=J2;if(V&&!f.__groupHeader)F.element.setAttribute("aria-setsize",W)}else{if(E2(U,k,f.id))d=!0;let I=B2(k,p),h=E(k,f,d,e,I);if(!H)H=document.createDocumentFragment();H.appendChild(h.element),T.set(k,h)}}if(H)J.appendChild(H)},M=(L)=>{for(let[C,U]of T){let R=B2(C,L);if(U.lastTransform!==R)u(U.element,R),U.lastTransform=R}},X=(L,C,U,R)=>{let p=T.get(L);if(!p)return;let V=A(U,R),H=Q(C,L,V);i(p.element,H),q2(p.element,U,R),p.element.dataset.id=String(C.id),p.element.ariaSelected=String(U),m(p.element,L),p.lastItemId=C.id,p.lastSelected=U,p.lastFocused=R},v=(L,C,U)=>{let R=T.get(L);if(!R)return;let p=R.lastSelected!==C,V=R.lastFocused!==U;if(p||V)q2(R.element,C,U),R.lastSelected=C,R.lastFocused=U},l=(L)=>{return T.get(L)?.element},a=(L)=>{if(Math.abs(L-P)<1)return;P=L;for(let[C,U]of T){m(U.element,C);let R=B2(C);u(U.element,R),U.lastTransform=R}},o=()=>{T2(J,T.keys(),(L)=>T.get(L)?.element)},S=()=>{for(let[,L]of T)N.release(L.element);T.clear()};return{render:Z,updatePositions:M,updateItem:X,updateItemClasses:v,getElement:l,sortDOM:o,updateContainerWidth:a,clear:S,destroy:()=>{S(),N.clear()}}};var UJ=(J,Q=50,Y=1/0,$=!0)=>{let q=J,j=[],B=0,_=()=>{j=q.map((K,D)=>({def:K,index:D,width:0,minWidth:pJ(K.minWidth??Q,1),maxWidth:K.maxWidth??Y,resizable:K.resizable??$,offset:0}))},b=(K)=>{if(j.length===0){B=0;return}let D=0,A=0;for(let z=0;z<j.length;z++){let w=j[z],g=w.def;if(g.width!==void 0)w.width=I2(g.width,w.minWidth,w.maxWidth),D+=w.width;else A++}if(A>0){let w=Math.max(0,K-D)/A;for(let g=0;g<j.length;g++){let x=j[g];if(x.def.width===void 0)x.width=I2(w,x.minWidth,x.maxWidth)}}O()},O=()=>{let K=0;for(let D=0;D<j.length;D++){let A=j[D];A.offset=K,K+=A.width}B=K},N=(K,D)=>{if(K<0||K>=j.length)return 0;let A=j[K];if(!A.resizable)return A.width;let z=I2(D,A.minWidth,A.maxWidth);return A.width=z,O(),z},T=(K)=>{return j[K]},P=(K)=>{if(j.length===0)return;if(K<0)return j[0];if(K>=B)return j[j.length-1];let D=0,A=j.length-1;while(D<A){let z=D+A>>>1,w=j[z];if(K<w.offset)A=z-1;else if(K>=w.offset+w.width)D=z+1;else return w}return j[D]},y=(K)=>{if(K<0||K>=j.length)return 0;return j[K].offset},G=(K)=>{if(K<0||K>=j.length)return 0;return j[K].width},W=(K)=>{q=K,_()};return _(),{get columns(){return j},get totalWidth(){return B},resolve:b,updateColumns:W,resizeColumn:N,getColumn:T,getColumnAtX:P,getColumnOffset:y,getColumnWidth:G}},I2=(J,Q,Y)=>Math.min(Y,Math.max(Q,J)),pJ=(J,Q)=>Math.max(Q,J);var NJ=(J,Q,Y,$,q,j)=>{let B=document.createElement("div");B.setAttribute("role","rowgroup");let _=document.createElement("div");_.className=`${Y}-table-header`,_.setAttribute("role","row"),_.setAttribute("aria-rowindex","1"),_.style.height=`${Q}px`;let b=document.createElement("div");b.className=`${Y}-table-header-scroll`,b.setAttribute("role","presentation"),_.appendChild(b),B.appendChild(_),J.insertBefore(B,J.firstChild),J.style.setProperty("--vlist-table-header-height",`${Q}px`);let O=[],N=[],T=[],P=!0,y=null,G="asc",W=null,K=!1,D=-1,A=0,z=0,w=(Z,M)=>{let X=document.createElement("div");X.className=`${Y}-table-header-cell`,X.setAttribute("role","columnheader"),X.setAttribute("aria-colindex",String(M+1)),X.dataset.columnKey=Z.def.key;let v=Z.def.align;if(v==="center")X.classList.add(`${Y}-table-header-cell--center`);else if(v==="right")X.classList.add(`${Y}-table-header-cell--right`);let l=document.createElement("div");l.className=`${Y}-table-header-content`;let a=Z.def.header?Z.def.header(Z.def):Z.def.label;if(typeof a==="string")l.textContent=a;else l.appendChild(a);if(X.appendChild(l),Z.def.sortable){let o=document.createElement("span");o.className=`${Y}-table-header-sort`,o.setAttribute("aria-hidden","true"),X.appendChild(o),T.push(o),X.classList.add(`${Y}-table-header-cell--sortable`)}else T.push(null);if(Z.resizable){let o=document.createElement("div");o.className=`${Y}-table-header-resize`,o.dataset.resizeIndex=String(M),X.appendChild(o),N.push(o)}return X},g=(Z)=>{W=Z,b.textContent="",O=[],N=[],T=[];let M=Z.columns;for(let X=0;X<M.length;X++){let v=M[X],l=w(v,X);O.push(l),b.appendChild(l)}if(x(Z),y)Y2(y,G)},x=(Z)=>{W=Z;let M=Z.columns;b.style.width=`${Z.totalWidth}px`;for(let X=0;X<O.length&&X<M.length;X++){let v=O[X],l=M[X];v.style.width=`${l.width}px`}},Y2=(Z,M)=>{if(y=Z,G=M,!W)return;let X=W.columns;for(let v=0;v<T.length&&v<X.length;v++){let l=T[v];if(!l)continue;if(X[v].def.key===Z&&Z!==null)l.textContent=M==="asc"?"▲":"▼",l.style.opacity="0.7",O[v].setAttribute("aria-sort",M==="asc"?"ascending":"descending");else l.textContent="",l.style.opacity="0",O[v].removeAttribute("aria-sort")}},c=(Z)=>{b.style.transform=`translateX(${-Z}px)`},i=(Z)=>{let M=Z.target;if(!M.dataset.resizeIndex)return;if(Z.preventDefault(),Z.stopPropagation(),D=parseInt(M.dataset.resizeIndex,10),!W)return;let X=W.getColumn(D);if(!X||!X.resizable)return;K=!0,A=Z.clientX,z=X.width,J.classList.add(`${Y}--col-resizing`),J.style.cursor="col-resize",M.classList.add(`${Y}-table-header-resize--active`),M.setPointerCapture(Z.pointerId),M.addEventListener("pointermove",q2),M.addEventListener("pointerup",U2),M.addEventListener("pointercancel",U2)},q2=(Z)=>{if(!K||!W)return;let M=Z.clientX-A;if(Math.abs(M)<1)return;let X=Math.max(0,z+M);$(D,X)},U2=(Z)=>{if(!K)return;let M=Z.target;M.removeEventListener("pointermove",q2),M.removeEventListener("pointerup",U2),M.removeEventListener("pointercancel",U2);try{M.releasePointerCapture(Z.pointerId)}catch{}M.classList.remove(`${Y}-table-header-resize--active`),J.classList.remove(`${Y}--col-resizing`),J.style.cursor="",K=!1,D=-1},B2=(Z)=>{let M=Z.target;if(M.dataset.resizeIndex!==void 0)return;if(K)return;let X=M;while(X&&!X.dataset.columnKey)if(X=X.parentElement,X===_||X===null)return;if(!X||!X.dataset.columnKey)return;let v=X.dataset.columnKey;if(!W)return;let l=W.columns,a=-1;for(let S=0;S<l.length;S++)if(l[S].def.key===v){a=S;break}if(a===-1)return;let o=l[a];if(j)j({key:v,index:a,event:Z});if(o.def.sortable&&q){let S;if(y===v)if(G==="asc")S="desc";else S=null;else S="asc";q({key:v,index:a,direction:S})}};return _.addEventListener("pointerdown",i),_.addEventListener("click",B2),{element:_,update:x,updateSort:Y2,rebuild:g,show:()=>{if(P)return;P=!0,_.style.display=""},hide:()=>{if(!P)return;P=!1,_.style.display="none"},destroy:()=>{_.removeEventListener("pointerdown",i),_.removeEventListener("click",B2),J.style.removeProperty("--vlist-table-header-height"),B.remove(),O=[],N=[],T=[],W=null,P=!1},syncScroll:c}};var hJ=()=>{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,_,b)=>{let O=hJ(),N=new Map,T=-1,P=Y,y=null,G=null,W=null,K=(V,H)=>{G=V,W=H},D=(V,H)=>{if(H)V.setAttribute("aria-selected","true");else V.removeAttribute("aria-selected")},A=(V,H,k,r)=>{V.setAttribute("role",H),V.setAttribute("data-id",String(k)),V.setAttribute("data-index",String(r))},z=(V)=>String(V).startsWith("__placeholder_"),w=`${q}-item ${q}-table-row`,g=`${q}-item--selected`,x=`${q}-item--focused`,Y2=`${q}-table-cell`,c=`${q}-table-cell--center`,i=`${q}-table-cell--right`,q2=`${q}-item--odd`,U2=`${q}-item--placeholder`,B2=`${q}-item--replaced`,u=`${q}-item ${q}-table-row ${q}-table-group-header`,m=`${q}-table-group-header-content`,E=(V,H,k,r,f=!1)=>{if(k.def.cell){let d=k.def.cell(H,k.def,r);if(typeof d==="string")V.innerHTML=d;else V.replaceChildren(d)}else{let d=H[k.def.key],e=d!=null?String(d):"";if(f&&e)V.innerHTML=`<span>${e}</span>`;else V.textContent=e}},Z=(V,H,k,r,f=!1)=>{let d=w;if(_){if(y){let e=y(H);if(e>=0&&(e&1)===1)d+=` ${q2}`}else if((H&1)===1)d+=` ${q2}`}if(f)d+=` ${U2}`;if(k)d+=` ${g}`;if(r)d+=` ${x}`;V.className=d},M=(V,H,k)=>{if(k?.compression?.isCompressed)return Math.round(F2(V,k.scrollPosition,H,k.totalItems,k.containerSize,k.compression,k.rangeStart));return H.getOffset(V)},X=(V,H)=>{let k=H.def.align;if(k==="center")V.classList.add(c),V.classList.remove(i);else if(k==="right")V.classList.add(i),V.classList.remove(c);else V.classList.remove(c,i)},v=(V,H)=>{let r=P.columns.length;if(H.length===r)return H;let f=[];for(let d=0;d<r;d++){let e;if(d<H.length)e=H[d];else e=document.createElement("div"),e.className=Y2,V.appendChild(e);f.push(e)}for(let d=r;d<H.length;d++)H[d].remove();return f},l=(V,H,k,r)=>{let f=O.acquire(),d=V,e=k.getSize(H),F=M(H,k,r);f.style.cssText=`width:${P.totalWidth}px;height:${e}px;transform:translateY(${F}px)`,f.className=u,A(f,"presentation",V.id,H),f.removeAttribute("aria-selected"),f.removeAttribute("aria-rowindex"),f.replaceChildren();let I=document.createElement("div");if(I.className=m,W){let h=W(d.groupKey,d.groupIndex);if(typeof h==="string")I.innerHTML=h;else I.appendChild(h)}return f.appendChild(I),{element:f,cells:[],index:H,isGroupHeader:!0,lastItemId:V.id,lastSelected:!1,lastFocused:!1,lastOffset:F,lastHeight:e}},a=(V,H,k,r,f,d)=>{let e=O.acquire(),F=f.getSize(H),I=M(H,f,d),h=z(V.id);e.style.cssText=`width:${P.totalWidth}px;height:${F}px;transform:translateY(${I}px)`,Z(e,H,k,r,h),A(e,"row",V.id,H),e.id=`${j}-${H}`,e.setAttribute("aria-rowindex",String(H+2)),D(e,k);let $2=v(e,[]),J2=P.columns;for(let X2=0;X2<$2.length&&X2<J2.length;X2++){let N2=$2[X2],D2=J2[X2];N2.style.cssText=`left:${D2.offset}px;width:${D2.width}px`,N2.setAttribute("role","gridcell"),N2.setAttribute("aria-colindex",String(X2+1)),X(N2,D2),E(N2,V,D2,H,h)}return{element:e,cells:$2,index:H,isGroupHeader:!1,lastItemId:V.id,lastSelected:k,lastFocused:r,lastOffset:I,lastHeight:F}},o=(V,H,k,r,f)=>{for(let[h,$2]of N)if(h<H.start||h>H.end)O.release($2.element),N.delete(h);let d=!1,e=B();if(e!==T)T=e,d=!0;let F=null,I=Q();y=typeof _==="string"&&b?b():null;for(let h=H.start;h<=H.end;h++){let $2=h-H.start,J2=V[$2];if(!J2)continue;let X2=k.has(J2.id),N2=h===r,D2=G?G(J2):!1,n=N.get(h);if(n){if(n.isGroupHeader!==D2){O.release(n.element),N.delete(h);let Q2=D2?l(J2,h,I,f):a(J2,h,X2,N2,I,f);if(N.set(h,Q2),!F)F=document.createDocumentFragment();F.appendChild(Q2.element);continue}if(D2){if(n.lastItemId!==J2.id){let j2=J2,K2=n.element.firstElementChild;if(K2&&W){let G2=W(j2.groupKey,j2.groupIndex);if(typeof G2==="string")K2.innerHTML=G2;else K2.replaceChildren(G2)}n.element.setAttribute("data-id",String(J2.id)),n.lastItemId=J2.id}let Z2=M(h,I,f);if(n.lastOffset!==Z2)n.lastOffset=Z2,n.element.style.transform=`translateY(${Z2}px)`;let t=I.getSize(h);if(n.lastHeight!==t)n.lastHeight=t,n.element.style.height=`${t}px`}else{let Q2=n.lastItemId!==J2.id,Z2=n.lastSelected!==X2,t=n.lastFocused!==N2;if(Q2){let G2=n.lastItemId!=null&&z(n.lastItemId),_2=z(J2.id);if(!_2&&E2(k,h,J2.id))X2=!0;let V2=P.columns;for(let W2=0;W2<n.cells.length&&W2<V2.length;W2++)E(n.cells[W2],J2,V2[W2],h,_2);if(Z(n.element,h,X2,N2,_2),n.element.setAttribute("data-id",String(J2.id)),D(n.element,X2),G2&&!_2)n.element.classList.add(B2),setTimeout(()=>{n.element.classList.remove(B2)},300);n.lastItemId=J2.id,n.lastSelected=X2,n.lastFocused=N2}else if(Z2||t)Z(n.element,h,X2,N2,z(J2.id)),D(n.element,X2),n.lastSelected=X2,n.lastFocused=N2;let j2=M(h,I,f);if(n.lastOffset!==j2)n.lastOffset=j2,n.element.style.transform=`translateY(${j2}px)`;let K2=I.getSize(h);if(n.lastHeight!==K2)n.lastHeight=K2,n.element.style.height=`${K2}px`;if(d)n.element.setAttribute("aria-rowindex",String(h+2))}}else{if(E2(k,h,J2.id))X2=!0;let Q2=D2?l(J2,h,I,f):a(J2,h,X2,N2,I,f);if(N.set(h,Q2),!F)F=document.createDocumentFragment();F.appendChild(Q2.element)}}if(F)J.appendChild(F)},S=(V)=>{let H=Q();for(let[k,r]of N){let f=M(k,H,V);if(r.lastOffset!==f)r.lastOffset=f,r.element.style.transform=`translateY(${f}px)`}},s=(V,H,k,r)=>{let f=N.get(V);if(!f)return;if(f.isGroupHeader)return;let d=P.columns;for(let e=0;e<f.cells.length&&e<d.length;e++)E(f.cells[e],H,d[e],V);f.element.setAttribute("data-id",String(H.id)),f.lastItemId=H.id,Z(f.element,V,k,r),D(f.element,k),f.lastSelected=k,f.lastFocused=r},L=(V,H,k)=>{let r=N.get(V);if(!r)return;if(r.isGroupHeader)return;let f=r.lastSelected!==H,d=r.lastFocused!==k;if(f||d)Z(r.element,V,H,k),D(r.element,H),r.lastSelected=H,r.lastFocused=k},C=(V)=>{P=V;let H=V.columns;for(let[,k]of N)if(k.element.style.width=`${V.totalWidth}px`,k.cells.length>0)for(let r=0;r<k.cells.length&&r<H.length;r++){let f=k.cells[r],d=H[r];f.style.left=`${d.offset}px`,f.style.width=`${d.width}px`}},U=(V)=>{return N.get(V)?.element},R=()=>{for(let[,V]of N)O.release(V.element);N.clear(),T=-1};return{render:o,updatePositions:S,updateItem:s,updateItemClasses:L,getElement:U,updateColumnLayout:C,setGroupHeaderFn:K,clear:R,destroy:()=>{R(),O.clear()}}};var _J=(J)=>{let Q=Math.max(1,Math.floor(J.columns)),Y=J.gap??0,$=J.containerSize,q=0,j=[],B=()=>{let K=(Q-1)*Y;q=Math.max(0,($-K)/Q),j=Array(Q);let D=q+Y;for(let A=0;A<Q;A++)j[A]=A*D};B();let _=[],b=0,O=[],N=(K)=>{let D=0,A=K[0];for(let z=1;z<K.length;z++){let w=K[z];if(w<A)A=w,D=z}return D},T=(K,D)=>{if(K<=0)return b=0,_=[],[];let A=Array(Q).fill(0),z=Array(Q);for(let x=0;x<Q;x++)z[x]=[];let w=Array(K);for(let x=0;x<K;x++){let Y2=N(A),c=D(x),i=A[Y2];w[x]={index:x,x:j[Y2],y:i,lane:Y2,size:c,crossSize:q},z[Y2].push(x),A[Y2]=i+c+Y}_=z;let g=0;for(let x=0;x<Q;x++){let Y2=A[x],c=Y2>0?Y2-Y:0;if(c>g)g=c}return b=g,w},P=(K)=>{if(K.length===0)return b>0?b:0;if(b>0)return b;let D=Array(Q).fill(0);for(let z of K){let w=z.y+z.size,g=D[z.lane];if(w>g)D[z.lane]=w}let A=0;for(let z=0;z<Q;z++)if(D[z]>A)A=D[z];return A},y=(K,D,A)=>{if(K.length===0||A<=D)return O.length=0,O;if(_.length===0||_.length!==Q)return G(K,D,A);O.length=0;for(let z=0;z<Q;z++){let w=_[z],g=w.length;if(g===0)continue;let x=0,Y2=g;while(x<Y2){let c=x+Y2>>>1,i=K[w[c]];if(i.y+i.size<=D)x=c+1;else Y2=c}for(let c=x;c<g;c++){let i=K[w[c]];if(i.y>=A)break;O.push(i)}}return O},G=(K,D,A)=>{let z=[];for(let w of K)if(w.y+w.size>D&&w.y<A)z.push(w);return z};return{get columns(){return Q},get gap(){return Y},get containerSize(){return $},update:(K)=>{let D=!1;if(K.columns!==void 0){let A=Math.max(1,Math.floor(K.columns));if(A!==Q)Q=A,D=!0}if(K.gap!==void 0&&K.gap!==Y)Y=K.gap,D=!0;if(K.containerSize!==void 0&&K.containerSize!==$)$=K.containerSize,D=!0;if(D)B()},calculateLayout:T,getTotalSize:P,getVisibleItems:y}};var xJ=(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}}},gJ=1,DJ=(J,Q,Y,$=!1,q,j,B)=>{let _=xJ(),b=new Map,O=new Set,N=0,T="",P=-1,y={selected:!1,focused:!1},G=(u,m)=>{return y.selected=u,y.focused=m,y},W=`${Y}-item ${Y}-masonry-item`,K=`${Y}-group-header`,D=`${Y}-item--selected`,A=`${Y}-item--focused`,z=(u,m)=>{if(typeof m==="string")u.innerHTML=m;else u.replaceChildren(m)},w=(u,m,E)=>{u.classList.toggle(D,m),u.classList.toggle(A,E)},g=(u,m)=>{if($)u.style.transform=`translate(${Math.round(m.y)}px, ${Math.round(m.x)}px)`;else u.style.transform=`translate(${Math.round(m.x)}px, ${Math.round(m.y)}px)`},x=(u,m)=>{if($)u.style.width=`${m.size}px`,u.style.height=`${m.crossSize}px`;else u.style.width=`${m.crossSize}px`,u.style.height=`${m.size}px`},Y2=(u,m,E,Z,M)=>{let X=_.acquire(),v=!!m.__groupHeader,l=G(Z,M);if(X.className=v?K:W,X.dataset.index=String(u),X.dataset.id=String(m.id),X.dataset.lane=String(E.lane),v)X.setAttribute("role","presentation"),X.removeAttribute("aria-selected"),X.removeAttribute("aria-setsize"),X.removeAttribute("aria-posinset"),X.removeAttribute("id");else{if(X.setAttribute("role","option"),X.ariaSelected=String(Z),j)X.id=`${j}-item-${u}`;if(q){let o=q();if(o!==P)P=o,T=String(o);X.setAttribute("aria-setsize",T);let S=B?B(u):u+1;X.setAttribute("aria-posinset",String(S))}}x(X,E);let a=Q(m,u,l);return z(X,a),w(X,Z,M),g(X,E),{element:X,lastItemId:m.id,lastSelected:Z,lastFocused:M,lastY:E.y,lastX:E.x,lastSize:E.size,lastCrossSize:E.crossSize,lastSeenFrame:N}},c=(u,m,E,Z)=>{N++,O.clear();for(let X=0;X<m.length;X++)O.add(m[X].index);for(let[X,v]of b)if(O.has(X))v.lastSeenFrame=N;else if(N-v.lastSeenFrame>gJ)_.release(v.element),b.delete(X);let M=null;for(let X=0;X<m.length;X++){let v=m[X],l=v.index,a=u(l);if(!a)continue;let o=E.has(a.id),S=l===Z,s=b.get(l);if(s){let L=s.lastItemId!==a.id,C=s.lastSelected!==o,U=s.lastFocused!==S,R=s.lastY!==v.y||s.lastX!==v.x,p=s.lastSize!==v.size||s.lastCrossSize!==v.crossSize;if(L){let V=G(o,S),H=Q(a,l,V);if(z(s.element,H),s.element.dataset.id=String(a.id),s.lastItemId=a.id,!a.__groupHeader){let r=B?B(l):l+1;s.element.setAttribute("aria-posinset",String(r))}}if(L||C||U)w(s.element,o,S),s.element.ariaSelected=String(o),s.lastSelected=o,s.lastFocused=S;if(p)x(s.element,v),s.lastSize=v.size,s.lastCrossSize=v.crossSize;if(R)g(s.element,v),s.lastY=v.y,s.lastX=v.x}else{let L=Y2(l,a,v,o,S);if(!M)M=document.createDocumentFragment();M.appendChild(L.element),b.set(l,L)}}if(M)J.appendChild(M)},i=()=>{for(let{element:u}of b.values())_.release(u);b.clear(),J.innerHTML=""};return{render:c,getElement:(u)=>b.get(u)?.element,updateItemClasses:(u,m,E)=>{let Z=b.get(u);if(!Z)return;let M=Z.lastSelected!==m,X=Z.lastFocused!==E;if(M||X)w(Z.element,m,E),Z.lastSelected=m,Z.lastFocused=E},sortDOM:()=>{T2(J,b.keys(),(u)=>b.get(u)?.element)},clear:i,destroy:()=>{i(),_.clear()}}};var GJ=(J,Q)=>{let Y=new Map,$=(j)=>{let B=Y.get(j);return B!==void 0?B:J},q=L2($,Q);return{getOffset(j){return q.getOffset(j)},getSize(j){return $(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 Y.keys())if(B>=j)Y.delete(B)}q=L2($,j)},isVariable(){return!0},setMeasuredSize(j,B){Y.set(j,B)},isMeasured(j){return Y.has(j)},getEstimatedSize(){return J},measuredCount(){return Y.size}}};var VJ=(J,Q,Y,$,q,j)=>{if($===0||Q===0)return j.start=0,j.end=-1,j;let B=Y.indexAtOffset(J),_=Y.indexAtOffset(J+Q);if(_<$-1)_++;return j.start=Math.max(0,B),j.end=Math.min($-1,Math.max(0,_)),j},WJ=(J,Q,Y,$)=>{if(Y===0)return $.start=0,$.end=-1,$;return $.start=Math.max(0,J.start-Q),$.end=Math.min(Y-1,J.end+Q),$},MJ=(J,Q,Y,$,q,j)=>{if($===0)return 0;let B=Math.max(0,Math.min(J,$-1)),_=Q.getOffset(B),b=Q.getSize(B),O=Q.getTotalSize(),N=Math.max(0,O-Y),T;switch(j){case"center":T=_-Y/2+b/2;break;case"end":T=_-Y+b;break;case"start":default:T=_;break}return Math.max(0,Math.min(T,N))},OJ=(J,Q,Y)=>{if(Y&&Y.isCompressed)return Y.virtualSize;return Q.getTotalSize()},AJ=(J,Q)=>{return Q.getTotalSize()},EJ=(J,Q)=>{return Q.getOffset(J)},FJ=(J,Q,Y)=>{let $=Math.max(0,Q-Y);return Math.max(0,Math.min(J,$))};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)$.push(q);for(let q=Q.start;q<=Q.end;q++)if(q<J.start||q>J.end)Y.push(q);return{add:Y,remove:$}};var yJ=()=>{let J={},Q=(j,B)=>{if(!J[j])J[j]=new Set;return J[j].add(B),()=>Y(j,B)},Y=(j,B)=>{J[j]?.delete(B)};return{on:Q,off:Y,emit:(j,B)=>{J[j]?.forEach((_)=>{try{_(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 R2=(J={})=>{let{chunkSize:Q=100,maxCachedItems:Y=5000,evictionBuffer:$=200,onEvict:q}=J,j=new Map,B=0,_=0,b=(E)=>{let Z=j.get(E);if(!Z)Z={items:Array(Q),count:0,lastAccess:Date.now()},j.set(E,Z);else Z.lastAccess=Date.now();return Z},O=(E)=>{return Math.floor(E/Q)},N=(E)=>{return E%Q},T=()=>B,P=(E)=>{B=E},y=(E)=>{if(E<0||E>=B)return;let Z=O(E),M=j.get(Z);if(!M)return;return M.items[N(E)]},G=(E)=>{if(E<0||E>=B)return!1;let Z=O(E),M=j.get(Z);if(!M)return!1;return M.items[N(E)]!==void 0},W=(E,Z)=>{let M=O(E),X=b(M),v=N(E),l=X.items[v]===void 0;if(X.items[v]=Z,l)X.count++,_++;if(E>=B)B=E+1},K=(E,Z)=>{for(let M=0;M<Z.length;M++){let X=Z[M];if(X!==void 0)W(E+M,X)}},D=(E)=>{if(E<0||E>=B)return!1;let Z=O(E),M=j.get(Z),X=N(E);if(!(M!==void 0&&M.items[X]!==void 0))return!1;let l=Z,a=Array.from(j.keys()).filter((S)=>S>=l).sort((S,s)=>S-s),o=[];for(let S of a){let s=j.get(S),L=S*Q;for(let C=0;C<Q;C++){if(s.items[C]===void 0)continue;let U=L+C;if(U<=E)continue;o.push({oldIndex:U,item:s.items[C]})}}if(M.items[X]=void 0,M.count--,_--,M.count===0)j.delete(Z);for(let{oldIndex:S}of o){let s=O(S),L=j.get(s);if(!L)continue;let C=N(S);if(L.items[C]!==void 0){if(L.items[C]=void 0,L.count--,_--,L.count===0)j.delete(s)}}for(let{oldIndex:S,item:s}of o){let L=S-1,C=O(L),U=b(C),R=N(L);U.items[R]=s,U.count++,_++}return B--,!0},A=(E,Z)=>{let M=[];for(let X=E;X<=Z&&X<B;X++)M.push(y(X));return M},z=(E,Z)=>{for(let M=E;M<=Z&&M<B;M++)if(!G(M))return!1;return!0},w=()=>{let E=[],Z=null,M=Array.from(j.keys()).sort((X,v)=>X-v);for(let X of M){let v=j.get(X);if(!v)continue;let l=X*Q;for(let a=0;a<Q;a++){let o=l+a;if(o>=B)break;if(v.items[a]!==void 0)if(Z===null)Z={start:o,end:o};else if(o===Z.end+1)Z.end=o;else E.push(Z),Z={start:o,end:o};else if(Z!==null)E.push(Z),Z=null}}if(Z!==null)E.push(Z);return E},g=(E,Z)=>{let M=[],X=null;for(let v=E;v<=Z&&v<B;v++)if(!G(v))if(X===null)X={start:v,end:v};else X.end=v;else if(X!==null)M.push(X),X=null;if(X!==null)M.push(X);return M},x=(E)=>{return j.has(E)},Y2=(E)=>{let Z=j.get(E);if(Z)Z.lastAccess=Date.now()},c=(E,Z)=>{if(E>Z||j.size===0)return;let M=Date.now(),X=O(Math.max(0,E)),v=O(Math.min(B-1,Z));for(let l=X;l<=v;l++){let a=j.get(l);if(a)a.lastAccess=M}},i=(E,Z)=>{if(_<=Y)return 0;let M=Math.max(0,E-$),X=Math.min(B-1,Z+$),v=O(M),l=O(X),a=0,o=[];for(let[S,s]of j)if(S<v||S>l)a+=s.count,o.push(S),_-=s.count,j.delete(S);if(a>0&&q)q(a,o);return a},q2=()=>{if(_<=Y)return 0;let E=Array.from(j.entries()).sort(([,X],[,v])=>X.lastAccess-v.lastAccess),Z=0,M=[];for(let[X,v]of E){if(_<=Y)break;Z+=v.count,_-=v.count,M.push(X),j.delete(X)}if(Z>0&&q)q(Z,M);return Z},U2=()=>{return{totalItems:B,cachedItems:_,cachedChunks:j.size,chunkSize:Q,maxCachedItems:Y,memoryEfficiency:B>0?1-_/B:1}},B2=()=>_,u=()=>{j.clear(),_=0};return{chunkSize:Q,maxCachedItems:Y,getTotal:T,setTotal:P,get:y,has:G,set:W,setRange:K,delete:D,getRange:A,isRangeLoaded:z,getLoadedRanges:w,findUnloadedRanges:g,getChunkIndex:O,isChunkLoaded:x,touchChunk:Y2,touchChunksForRange:c,evictDistant:i,evictToLimit:q2,getStats:U2,getCachedCount:B2,clear:u,reset:()=>{u(),B=0}}},y2=(J)=>{if(J.length===0)return[];let Q=[...J].sort(($,q)=>$.start-q.start),Y=[{...Q[0]}];for(let $=1;$<Q.length;$++){let q=Q[$],j=Y[Y.length-1];if(q.start<=j.end+1)j.end=Math.max(j.end,q.end);else Y.push({...q})}return Y},p2=(J,Q,Y)=>{let $=Math.floor(J.start/Y)*Y,q=Math.ceil((J.end+1)/Y)*Y-1,j={start:$,end:q};if(Q.length===0)return[j];let B=[],_=y2(Q),b=j.start;for(let O of _){if(O.end<b)continue;if(O.start>j.end)break;if(O.start>b)B.push({start:b,end:Math.min(O.start-1,j.end)});if(b=O.end+1,b>j.end)break}if(b<=j.end)B.push({start:b,end:j.end});return B};var P2=(J={})=>{let{maskCharacter:Q=l2,maxSampleSize:Y=a2}=J,$=[],q=!1,j=(N)=>{if(q||N.length===0)return;let T=Math.min(N.length,Y);for(let P=0;P<T;P++){let y=N[P];if(!y||typeof y!=="object")continue;let G={};for(let[W,K]of Object.entries(y)){if(W.startsWith("_")||W==="id")continue;G[W]=String(K??"").length}if(Object.keys(G).length>0)$.push(G)}q=!0},B=()=>q,_=(N)=>{let T={id:`${O2}${N}`,[v2]:!0,_index:N};if($.length===0)return T.label=Q.repeat(12),T;let P=$[N%$.length];for(let[y,G]of Object.entries(P))T[y]=Q.repeat(Math.max(1,G));return T};return{analyzeStructure:j,hasAnalyzedStructure:B,generate:_,generateRange:(N,T)=>{let P=[];for(let y=N;y<=T;y++)P.push(_(y));return P},clear:()=>{$=[],q=!1}}},A2=(J)=>{if(!J||typeof J!=="object")return!1;return J[v2]===!0},h2=(J)=>{return J.filter((Q)=>!A2(Q))};var mJ=50,PJ=(J={})=>{let{adapter:Q,initialItems:Y,initialTotal:$,storage:q,placeholder:j,pageSize:B=mJ,onStateChange:_,onItemsLoaded:b,onItemsEvicted:O}=J,N=R2({...q,onEvict:(F,I)=>{O?.(F),c()}}),T=null,P=()=>{if(!T)T=P2(j);return T},y=new Map,G=!1,W,K=!0,D,A,z=[],w=0,g=new Map,x=new Map,Y2=()=>{for(let F of x.values())F.abort();x.clear(),g.clear()},c=()=>{_?.(M())},i=()=>{y.clear();let F=N.getLoadedRanges();for(let I of F)for(let h=I.start;h<=I.end;h++){let $2=N.get(h);if($2&&!A2($2))y.set($2.id,h)}},q2=(F,I)=>{if(!A2(I))y.set(I.id,F)},U2=(F)=>{y.delete(F)},B2=(F,I)=>{return`${F}-${I}`},u=()=>N.getTotal(),m=()=>N.getCachedCount(),E=()=>G,Z=()=>K,M=()=>({total:N.getTotal(),cached:N.getCachedCount(),isLoading:G,pendingRanges:z,error:W,hasMore:K,cursor:D}),X=()=>N,v=()=>P(),l=(F)=>{let I=N.get(F);if(I!==void 0)return I;if(F>=0&&F<N.getTotal())return P().generate(F);return},a=(F)=>{let I=y.get(F);if(I===void 0)return;return N.get(I)},o=(F)=>{return y.get(F)??-1},S=(F)=>{let I=N.get(F);return I!==void 0&&!A2(I)},s=(F,I)=>{let h=[],$2=N.getTotal(),J2=0,X2=0;N.touchChunksForRange(F,Math.min(I,$2-1));for(let N2=F;N2<=I&&N2<$2;N2++){let D2=N.get(N2);if(D2!==void 0)h.push(D2),J2++;else h.push(P().generate(N2)),X2++}return h},L=(F)=>{N.setTotal(F),K=N.getCachedCount()<F,c()},C=(F,I=0,h)=>{if(Q&&F.length>0){let $2=P();if(!$2.hasAnalyzedStructure())$2.analyzeStructure(F)}for(let $2=0;$2<F.length;$2++){let J2=F[$2];if(J2!==void 0){let X2=I+$2;N.set(X2,J2),q2(X2,J2)}}if(h!==void 0)N.setTotal(h);else if(I+F.length>N.getTotal())N.setTotal(I+F.length);if(N.getCachedCount()>=N.getTotal()&&N.getTotal()>0)K=!1;c(),b?.(F,I,N.getTotal())},U=(F,I)=>{let h=N.get(F);if(!h)return!1;let $2=h.id,J2={...h,...I};if(N.set(F,J2),I.id!==void 0&&I.id!==$2)U2($2);return q2(F,J2),c(),!0},R=(F)=>{let I=y.get(F);if(I===void 0)return!1;if(!N.delete(I))return!1;return i(),Y2(),c(),!0},p=async(F,I)=>{if(!Q)return;let h=B2(F,I);if(g.has(h))return;let $2=N.chunkSize,J2=Math.floor(F/$2),X2=Math.floor(I/$2),N2=$2*2;for(let[Q2,Z2]of x){let t=Q2.indexOf("-"),j2=parseInt(Q2.slice(0,t),10);if(Math.abs(j2-F)>N2)Z2.abort(),x.delete(Q2),g.delete(Q2)}let D2=[];for(let Q2=J2;Q2<=X2;Q2++){let Z2=Q2*$2,t=Z2+$2-1,j2=B2(Z2,t);if(!N.isChunkLoaded(Q2)&&!g.has(j2))D2.push({start:Z2,end:t})}if(D2.length===0)return;let n=[];for(let Q2=J2;Q2<=X2;Q2++){let Z2=Q2*$2,t=Z2+$2-1,j2=B2(Z2,t);if(g.has(j2)){let K2=g.get(j2);if(!n.includes(K2))n.push(K2)}}for(let Q2 of D2){let Z2=B2(Q2.start,Q2.end),t=new AbortController;x.set(Z2,t);let j2=(async()=>{z.push(Q2),G=!0,W=void 0,c();try{let K2=Q2.end-Q2.start+1,G2={offset:Q2.start,limit:K2,cursor:Q2.start===A?D:void 0,signal:t.signal},_2=await Q.read(G2);if(C(_2.items,Q2.start,_2.total),_2.cursor)D=_2.cursor,A=Q2.start+_2.items.length;let V2=Q2.start+_2.items.length;if(V2>=w){if(w=V2,_2.hasMore!==void 0)K=_2.hasMore;else if(_2.total!==void 0)K=V2<_2.total}}catch(K2){if(K2?.name==="AbortError")return;W=K2 instanceof Error?K2:Error(String(K2))}finally{g.delete(Z2),x.delete(Z2),z=z.filter((K2)=>K2.start!==Q2.start||K2.end!==Q2.end),G=g.size>0,c()}})();g.set(Z2,j2),n.push(j2)}await Promise.all(n)},V=async(F,I)=>{if(N.isRangeLoaded(F,I))return;await p(F,I)},H=async()=>{if(!Q)return;await p(0,B-1)},k=async()=>{if(!Q||G||!K)return!1;let F=N.getCachedCount(),I=N.getTotal(),h=F,$2=Math.min(h+B-1,I>0?I-1:h+B-1);if(h>=I&&I>0)return K=!1,!1;return await p(h,$2),N.getCachedCount()>F},r=async()=>{if(N.clear(),N.setTotal(0),y.clear(),T)T.clear();Y2(),z=[],G=!1,D=void 0,A=void 0,K=!0,w=0,W=void 0,c()},f=(F,I)=>{if(N.evictDistant(F,I)>0)i()},d=()=>{N.clear(),y.clear(),D=void 0,A=void 0,W=void 0,z=[],G=!1,c()},e=()=>{if(N.reset(),y.clear(),T)T.clear();D=void 0,A=void 0,K=!0,w=0,W=void 0,z=[],G=!1,c()};if(Y&&Y.length>0)C(Y,0,$??Y.length);else if($!==void 0)N.setTotal($),c();return{getState:M,getTotal:u,getCached:m,getIsLoading:E,getHasMore:Z,getStorage:X,getPlaceholders:v,getItem:l,getItemById:a,getIndexById:o,isItemLoaded:S,getItemsInRange:s,setTotal:L,setItems:C,updateItem:U,removeItem:R,loadRange:p,ensureRange:V,loadInitial:H,loadMore:k,reload:r,evictDistant:f,clear:d,reset:e}};var kJ=(J=0)=>{let Q=[,,,,,,,,];for(let Y=0;Y<8;Y++)Q[Y]={position:0,time:0};return{velocity:0,lastPosition:J,lastTime:performance.now(),samples:Q,sampleIndex:0,sampleCount:0}},k2=(J,Q)=>{let Y=performance.now(),$=Y-J.lastTime;if($===0)return J;if($>100){J.sampleCount=0,J.sampleIndex=0,J.velocity=0;let j=J.samples[0];return j.position=Q,j.time=Y,J.sampleIndex=1,J.sampleCount=1,J.lastPosition=Q,J.lastTime=Y,J}let q=J.samples[J.sampleIndex];if(q.position=Q,q.time=Y,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],_=Q-B.position,b=Y-B.time;J.velocity=b>0?_/b:0}return J.lastPosition=Q,J.lastTime=Y,J},dJ=(J)=>J.sampleCount>=3,zJ=(J,Q={})=>{let{wheel:Y=!0,sensitivity:$=1,smoothing:q=!1,idleTimeout:j=150,onScroll:B,onIdle:_,scrollElement:b,horizontal:O=!1}=Q,N=!!b,T=0,P=0,y=N?O?window.innerWidth:window.innerHeight:O?J.clientWidth:J.clientHeight,G=Q.compressed??!1,W=Q.compression,K=kJ(),D=!1,A=null,w=z2(()=>{let U=O?J.scrollLeft:J.scrollTop,R=U>=T?"down":"up";if(K=k2(K,U),T=U,B)B({scrollTop:T,direction:R,velocity:K.velocity});q2()}),x=z2(()=>{let U=J.getBoundingClientRect(),R=O?Math.max(0,-U.left):Math.max(0,-U.top),p=R>=T?"down":"up";if(K=k2(K,R),T=R,!D)D=!0;if(B)B({scrollTop:T,direction:p,velocity:K.velocity});q2()}),Y2=(U)=>{U.preventDefault()},c=(U)=>{if(U.deltaX)return;U.preventDefault(),J.scrollLeft+=U.deltaY},i=(U)=>{if(!G)return;U.preventDefault();let R=(O?U.deltaX||U.deltaY:U.deltaY)*$,p=T+R;if(q)p=T+R*0.3;if(p=Math.max(0,Math.min(p,P)),p!==T){let H=p>=T?"down":"up";if(K=k2(K,p),T=p,!D)D=!0;if(B)B({scrollTop:T,direction:H,velocity:K.velocity});q2()}},q2=()=>{if(A)clearTimeout(A);A=setTimeout(()=>{if(D=!1,K=kJ(T),_)_()},j)},U2=(U)=>{if(G)return;if(G=!0,W=U,P=U.virtualSize-y,N)return;if(w.cancel(),J.removeEventListener("scroll",w),!Y)J.removeEventListener("wheel",Y2);else if(O)J.removeEventListener("wheel",c);if(O)J.style.overflowX="hidden";else J.style.overflow="hidden";if(Y)J.addEventListener("wheel",i,{passive:!1});let R=O?J.scrollLeft:J.scrollTop;if(R>0){let p=O?W?.actualSize??J.scrollWidth:W?.actualSize??J.scrollHeight;T=R/p*P}if(O)J.scrollLeft=0;else J.scrollTop=0},B2=()=>{if(!G)return;if(G=!1,N){W=void 0;return}if(J.removeEventListener("wheel",i),O)J.style.overflowX="auto";else J.style.overflow="auto";if(J.addEventListener("scroll",w,{passive:!0}),!Y)J.addEventListener("wheel",Y2,{passive:!1});else if(O)J.addEventListener("wheel",c,{passive:!1});if(W&&T>0){let R=T/P*(W.actualSize-y);if(O)J.scrollLeft=R;else J.scrollTop=R}W=void 0},u=()=>{if(N||G)return T;return O?J.scrollLeft:J.scrollTop},m=(U,R=!1)=>{let p=Math.max(0,Math.min(U,P||1/0));if(N){let V=J.getBoundingClientRect();if(O){let H=V.left+window.scrollX;window.scrollTo({left:H+p,behavior:R?"smooth":"auto"})}else{let H=V.top+window.scrollY;window.scrollTo({top:H+p,behavior:R?"smooth":"auto"})}}else if(G){if(p===T)return;let H=p>=T?"down":"up";if(K=k2(K,p),T=p,!D)D=!0;if(B)B({scrollTop:T,direction:H,velocity:K.velocity});q2()}else if(O)J.scrollTo({left:p,behavior:R?"smooth":"auto"});else J.scrollTo({top:p,behavior:R?"smooth":"auto"})},E=(U)=>{m(u()+U)},Z=()=>{return u()<=0},M=(U=0)=>{let R=u(),p=N||G?P:O?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;return R>=p-U},X=()=>{let U=u(),R=N||G?P:O?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;if(R<=0)return 0;return Math.min(1,Math.max(0,U/R))},v=(U)=>{if(U.compression)W=U.compression,P=W.virtualSize-y},l=()=>G,a=()=>Math.abs(K.velocity),o=()=>dJ(K),S=()=>D,s=()=>N,L=(U)=>{if(y=U,W)P=W.virtualSize-y},C=()=>{if(A)clearTimeout(A);if(N)x.cancel(),window.removeEventListener("scroll",x);else w.cancel(),J.removeEventListener("scroll",w),J.removeEventListener("wheel",i),J.removeEventListener("wheel",Y2),J.removeEventListener("wheel",c)};if(N){if(G&&W)P=W.virtualSize-y;window.addEventListener("scroll",x,{passive:!0})}else if(G&&W){if(P=W.virtualSize-y,O)J.style.overflowX="hidden";else J.style.overflow="hidden";if(Y)J.addEventListener("wheel",i,{passive:!1})}else{if(O)J.style.overflowX="auto",J.style.overflowY="hidden";else J.style.overflow="auto";if(J.addEventListener("scroll",w,{passive:!0}),!Y)J.addEventListener("wheel",Y2,{passive:!1});else if(O)J.addEventListener("wheel",c,{passive:!1})}return{getScrollTop:u,scrollTo:m,scrollBy:E,isAtTop:Z,isAtBottom:M,getScrollPercentage:X,getVelocity:a,isTracking:o,isScrolling:S,updateConfig:v,enableCompression:U2,disableCompression:B2,isCompressed:l,isWindowMode:s,updateContainerHeight:L,destroy:C}},z2=(J)=>{let Q=null,Y=null,$=(...q)=>{if(Y=q,Q===null)Q=requestAnimationFrame(()=>{if(Q=null,Y)J(...Y)})};return $.cancel=()=>{if(Q!==null)cancelAnimationFrame(Q),Q=null},$};var cJ=(J)=>{if(typeof J!=="object"){let Q=J??2;return{top:Q,right:Q,bottom:Q,left:Q}}return{top:J.top??2,right:J.right??2,bottom:J.bottom??2,left:J.left??2}},wJ=(J,Q,Y={},$="vlist",q=!1)=>{let{autoHide:j=!0,autoHideDelay:B=1000,minThumbSize:_=15,showOnHover:b=!0,showOnViewportEnter:O=!0,clickBehavior:N="scroll"}=Y,T=N==="page"?"scroll":N,P=cJ(Y.padding),y=q?P.left:P.top,G=q?P.right:P.bottom,W=q?P.bottom:P.right,K=Y.hoverZoneWidth??W+16,D=0,A=0,z=0,w=0,g=!1,x=!1,Y2=0,c=0,i=0,q2=null,U2=!1,B2=null,u=null,m=0,E=0,Z=null,M=null,X=null,v=q?"width":"height",l=q?"translateX":"translateY",a=q?(t)=>t.clientX:(t)=>t.clientY,o=q?"left":"top",S=document.createElement("div"),s=document.createElement("div"),L=document.createElement("div"),C=()=>{if(S.className=`${$}-scrollbar`,s.className=`${$}-scrollbar-thumb`,q)S.classList.add(`${$}-scrollbar--horizontal`);if(Y.padding!==void 0)J.style.setProperty("--vlist-custom-scrollbar-padding-top",`${P.top}px`),J.style.setProperty("--vlist-custom-scrollbar-padding-right",`${P.right}px`),J.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${P.bottom}px`),J.style.setProperty("--vlist-custom-scrollbar-padding-left",`${P.left}px`);if(Y.minThumbSize!==void 0)S.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${_}px`);if(S.appendChild(s),J.appendChild(S),L.className=`${$}-scrollbar-hover`,q)L.classList.add(`${$}-scrollbar-hover--horizontal`),L.style.height=`${K}px`;else L.style.width=`${K}px`;J.appendChild(L)},U=()=>{if(q2)clearTimeout(q2),q2=null},R=()=>{if(!j)return;U(),q2=setTimeout(V,B)},p=()=>{if(D<=A)return;if(U(),!U2)S.classList.add(`${$}-scrollbar--visible`),U2=!0;if(j&&!g&&!x)R()},V=()=>{if(g||x)return;S.classList.remove(`${$}-scrollbar--visible`),U2=!1},H=(t,j2)=>{D=t,A=j2;let K2=D>A;if(S.style.display=K2?"":"none",!K2){V();return}let G2=Math.max(0,A-y-G),_2=A/D;if(z=Math.max(_,_2*G2),s.style[v]=`${z}px`,w=G2-z,k(i),!j)p()},k=(t)=>{if(i=t,D<=A||w<=0)return;let j2=D-A,G2=Math.min(1,Math.max(0,t/j2))*w;s.style.transform=`${l}(${G2}px)`},r=(t)=>{if(t.target===s||T!=="jump"||w<=0)return;let j2=D-A,K2=S.getBoundingClientRect(),G2=a(t)-K2[o],_2=Math.max(0,Math.min(G2-z/2,w));Q(_2/w*j2),p()},f=()=>{if(Z!==null)clearTimeout(Z),Z=null;if(M!==null)cancelAnimationFrame(M),M=null;X=null},d=(t)=>{let j2=w>0?E/t*w:0;if(m<j2)return-1;if(m>=j2+z)return 1;return 0},e=()=>{let t=D-A,j2=d(t);if(j2===0){f();return}if(j2===-1){if(E<=0){f();return}let K2=Math.max(0,E-A);E=K2,Q(K2)}else{if(E>=t){f();return}let K2=Math.min(t,E+A);E=K2,Q(K2)}p()},F=(t)=>{if(X===null){X=t,M=requestAnimationFrame(F);return}let j2=D-A,K2=t-X;X=t;let G2=d(j2);if(G2===0){f();return}let _2=12*A/1000,V2=Math.min(_2*K2,A);if(G2===-1){if(E<=0){f();return}let W2=Math.max(0,E-V2);E=W2,Q(W2)}else{if(E>=j2){f();return}let W2=Math.min(j2,E+V2);E=W2,Q(W2)}U(),M=requestAnimationFrame(F)},I=()=>{f(),R(),document.removeEventListener("mouseup",I)},h=(t)=>{if(t.target===s||T!=="scroll")return;t.preventDefault();let j2=S.getBoundingClientRect();m=a(t)-j2[o],E=i,e(),Z=setTimeout(()=>{M=requestAnimationFrame(F)},350),document.addEventListener("mouseup",I)},$2=(t)=>{t.preventDefault(),t.stopPropagation(),g=!0,Y2=a(t),c=i,U(),S.classList.add(`${$}-scrollbar--dragging`),document.addEventListener("mousemove",J2),document.addEventListener("mouseup",X2)},J2=(t)=>{if(!g)return;let j2=a(t)-Y2,K2=w>0?j2/w:0,G2=D-A,_2=K2*G2,V2=Math.max(0,Math.min(c+_2,G2)),vJ=V2/G2*w;if(s.style.transform=`${l}(${vJ}px)`,u=V2,B2===null)B2=requestAnimationFrame(()=>{if(u!==null)Q(u);B2=null})},X2=()=>{if(g=!1,B2!==null)cancelAnimationFrame(B2),B2=null;if(u!==null)Q(u),u=null;if(S.classList.remove(`${$}-scrollbar--dragging`),j&&!x)R();document.removeEventListener("mousemove",J2),document.removeEventListener("mouseup",X2)},N2=()=>{if(O)p()},D2=()=>{if(!g){if(x=!1,j)R()}},n=()=>{x=!0,U(),p()},Q2=()=>{if(x=!1,!g&&j)R()},Z2=()=>{if(U(),f(),B2!==null)cancelAnimationFrame(B2),B2=null;if(S.removeEventListener("click",r),S.removeEventListener("mousedown",h),S.removeEventListener("mouseenter",n),document.removeEventListener("mouseup",I),S.removeEventListener("mouseleave",Q2),s.removeEventListener("mousedown",$2),J.removeEventListener("mouseenter",N2),J.removeEventListener("mouseleave",D2),document.removeEventListener("mousemove",J2),document.removeEventListener("mouseup",X2),L.removeEventListener("click",r),L.removeEventListener("mousedown",h),b)L.removeEventListener("mouseenter",n),L.removeEventListener("mouseleave",Q2);if(L.parentNode)L.parentNode.removeChild(L);if(J.style.removeProperty("--vlist-custom-scrollbar-padding-top"),J.style.removeProperty("--vlist-custom-scrollbar-padding-right"),J.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),J.style.removeProperty("--vlist-custom-scrollbar-padding-left"),S.parentNode)S.parentNode.removeChild(S)};if(C(),S.addEventListener("click",r),S.addEventListener("mousedown",h),S.addEventListener("mouseenter",n),S.addEventListener("mouseleave",Q2),s.addEventListener("mousedown",$2),J.addEventListener("mouseenter",N2),J.addEventListener("mouseleave",D2),L.addEventListener("click",r),L.addEventListener("mousedown",h),b)L.addEventListener("mouseenter",n),L.addEventListener("mouseleave",Q2);return{show:p,hide:V,updateBounds:H,updatePosition:k,isVisible:()=>U2,destroy:Z2}};var rJ=50,lJ=0.1;function aJ(J){let Q=0,Y=0,$=0;function q(){return $>0?Y/$:0}function j(b){if(Q=b,b>lJ&&b<rJ)Y+=b,$++}function B(){let b=J.getTotal();if(b===0)return 0;let O=J.getItemSize();if(O<=0)return 0;let N=J.getContainerSize();if(N<=0)return 0;let T=J.getScrollPosition(),P=typeof J.getColumns==="function"?J.getColumns():1,G=Math.ceil(b/P)*O,K=Math.min(G,M2)-N,D=G-N,A=K>0?D/K:1,z=T*A,w=Math.ceil((z+N)/O);return Math.min(w*P,b)}function _(){let b=J.getTotal(),O=B();return{progress:b>0?Math.min(100,Math.max(0,O/b*100)):0,velocity:Q,velocityAvg:q(),itemCount:O,total:b}}return{getState:_,onVelocity:j}}export{n2 as toggleSelection,VJ as simpleVisibleRange,C2 as selectItems,o2 as selectAll,HJ as rangesEqual,z2 as rafThrottle,qJ as needsScaling,y2 as mergeRanges,t2 as isSelected,A2 as isPlaceholderItem,bJ as isInRange,b2 as isGroupHeader,JJ as getSelectedItems,e2 as getSelectedIds,H2 as getScaleState,KJ as getScaleInfo,H2 as getScale,TJ as getRangeCount,BJ as getMaxItemsWithoutScaling,h2 as filterPlaceholders,RJ as diffRanges,f2 as deselectItems,ZJ as createTableRenderer,UJ as createTableLayout,NJ as createTableHeader,c2 as createStickyHeader,aJ as createStats,R2 as createSparseStorage,L2 as createSizeCache,s2 as createSelectionState,wJ as createScrollbar,zJ as createScrollController,P2 as createPlaceholderManager,GJ as createMeasuredSizeCache,DJ as createMasonryRenderer,_J as createMasonryLayout,m2 as createGroupedSizeFn,d2 as createGroupLayout,XJ as createGridRenderer,r2 as createGridLayout,yJ as createEmitter,PJ as createAsyncManager,i2 as clearSelection,FJ as clampScrollPosition,OJ as calculateTotalSize,LJ as calculateScrollToIndex,QJ as calculateScaledVisibleRange,YJ as calculateScaledScrollToIndex,$J as calculateScaledRenderRange,F2 as calculateScaledItemPosition,WJ as calculateRenderRange,p2 as calculateMissingRanges,EJ as calculateItemOffset,jJ as calculateIndexFromScrollPosition,AJ as calculateActualSize,u2 as buildLayoutItems,M2 as MAX_VIRTUAL_SIZE};
|
|
1
|
+
var y2=(J)=>{return J!==null&&typeof J==="object"&&J.__groupHeader===!0};var S2=(J,Q)=>{let Y=0,$=J.length-1;while(Y<$){let q=Y+$+1>>>1;if(J[q].headerLayoutIndex<=Q)Y=q;else $=q-1}return Y},m2=(J,Q)=>{let Y=0,$=J.length-1;while(Y<$){let q=Y+$+1>>>1;if(J[q].firstDataIndex<=Q)Y=q;else $=q-1}return Y},d2=(J,Q,Y)=>{if(J===0)return[];let $=[],q=Q(0,Y?.(0)),j=0,B=0;for(let V=1;V<J;V++){let T=Q(V,Y?.(V));if(T!==q){let E=V-j;$.push({key:q,groupIndex:$.length,headerLayoutIndex:B,firstDataIndex:j,count:E}),B=B+1+E,q=T,j=V}}return $.push({key:q,groupIndex:$.length,headerLayoutIndex:B,firstDataIndex:j,count:J-j}),$},c2=(J,Q)=>{if(J.length===0||Q.length===0)return[];let Y=J.length+Q.length,$=Array(Y),q=0;for(let j of Q){$[q]={id:`__group_header_${j.groupIndex}`,__groupHeader:!0,groupKey:j.key,groupIndex:j.groupIndex},q++;for(let B=0;B<j.count;B++)$[q]=J[j.firstDataIndex+B],q++}return $},r2=(J,Q,Y=!1)=>{let $=typeof Q==="number"?(q)=>Q:Q;return(q)=>{let j=J.getEntry(q);if(j.type==="header"){if(Y&&j.group.groupIndex===0)return 0;return J.getHeaderHeight(j.group.groupIndex)}return $(j.dataIndex)}},l2=(J,Q,Y)=>{let $=d2(J,Q.getGroupForIndex,Y),q=J+$.length,j=Q.header?.height??Q.header?.width??Q.headerHeight;return{get totalEntries(){return q},get groupCount(){return $.length},get groups(){return $},getEntry:(F)=>{if($.length===0)return{type:"item",dataIndex:F,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let U=S2($,F),Z=$[U];if(F===Z.headerLayoutIndex)return{type:"header",group:Z};let K=F-Z.headerLayoutIndex-1;return{type:"item",dataIndex:Z.firstDataIndex+K,group:Z}},layoutToDataIndex:(F)=>{if($.length===0)return F;let U=S2($,F),Z=$[U];if(F===Z.headerLayoutIndex)return-1;let K=F-Z.headerLayoutIndex-1;return Z.firstDataIndex+K},dataToLayoutIndex:(F)=>{if($.length===0)return F;let U=m2($,F),Z=$[U],K=F-Z.firstDataIndex;return Z.headerLayoutIndex+1+K},getGroupAtLayoutIndex:(F)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let U=S2($,F);return $[U]},getGroupAtDataIndex:(F)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let U=m2($,F);return $[U]},getHeaderHeight:typeof j==="number"?(F)=>j:(F)=>{let U=$[F];if(!U)return 0;return j(U.key,F)},rebuild:(F,U)=>{$=d2(F,Q.getGroupForIndex,U??Y),q=F+$.length}}};var fJ=(J,Q,Y,$,q=0)=>{let j=Y?"width":"height",B=document.createElement("div");return B.className=`${Q}-sticky-header`,B.setAttribute("role","presentation"),B.setAttribute("aria-hidden","true"),B.style.cssText="position:relative;z-index:5;pointer-events:none;overflow:hidden;"+(Y?`top:0;bottom:0;left:${q||0}px`:`top:${q||0}px`),B.style[j]=`${$}px`,J.insertBefore(B,J.firstChild),B},a2=(J,Q,Y,$,q,j=!1,B=0,V,T)=>{let E=j?"width":"height",N=j?"height":"width",y=j?"X":"Y",p=(L,M)=>{L.style[E]=`${M}px`},F=T??fJ(J,q,j,0,B),U=()=>{let L=document.createElement("div");return L.className="sticky-group",L.style.position="absolute",L.style.willChange="transform",L.style[N]="100%",L},Z=U(),K=U();F.append(Z,K);let O=Z,P=K,S=Q.groups,z=[],f=[],d=[],u=0,J2=()=>{S=Q.groups,u=S.length,z=Array(u),f=Array(u),d=Array(u);let L=V?V():1;for(let M=0;M<u;M++)z[M]=Y.getOffset(S[M].headerLayoutIndex)*L,f[M]=Q.getHeaderHeight(M),d[M]=f[M]*L};J2();let t=-1,e=0,j2=0,K2=-1,g=!1,c=0,X=!1,D=(L,M)=>{$(L,M);let W=f[M];return p(L,W),W},_=(L)=>{L.replaceChildren(),L.style.transform=""},A=(L)=>{if(L===t)return;if(t=L,e=0,j2=0,L<0||L>=u){_(O);return}e=D(O,L),j2=d[L],p(F,e),O.style.transform=""},k=(L)=>{if(L===c)return;c=L;let M=Math.round(L);O.style.transform=`translate${y}(${M}px)`,P.style.transform=`translate${y}(${M+e}px)`},s=()=>{c=0,O.style.transform="",P.style.transform=""},o=()=>{if(!X)return;let L=O;O=P,P=L,t=K2,e=t>=0?f[t]:0,j2=t>=0?d[t]:0,p(F,e),_(P),K2=-1,X=!1,s()},n=()=>{if(!X)return;_(P),K2=-1,X=!1,s()},Q2=!!T,b=()=>{if(g)return;if(g=!0,Q2)F.style.visibility="";else F.style.display=""},H=()=>{if(!g)return;if(g=!1,Q2)F.style.visibility="hidden";else F.style.display="none";_(O),t=-1,e=0,j2=0,n()},h=(L)=>{if(u===0){H();return}if(L<z[0]){H();return}let M=0,W=u-1;while(M<W){let v=M+W+1>>>1;if(z[v]+d[v]<=L)M=v;else W=v-1}if(!g)b();A(M);let C=M+1;if(C<u){let v=z[C]-L;if(v<=0&&v>-j2){if(K2!==C||!X)K2=C,D(P,C),X=!0;let I=j2>0?v/j2*e:v;k(I)}else if(v<=-j2){if(X)o()}else if(X)n()}else if(X)n()},R=()=>{J2();let L=t;if(t=-1,e=0,j2=0,L>=0)A(L)},x=()=>{F.remove(),t=-1,e=0,j2=0,K2=-1,g=!1,X=!1};if(!T)F.style.display="none";return{update:h,refresh:R,show:b,hide:H,destroy:x}};var s2=(J)=>{let Q=Math.max(1,Math.floor(J.columns)),Y=J.gap??0,$=J.isHeaderFn,q={row:0,col:0},j=(U)=>{if(U<=0)return 0;if(!$)return Math.ceil(U/Q);let Z=0,K=0,O=0;for(let P=0;P<U;P++)if($(P)){if(O++,K)Z++,K=0;Z++,K=0}else if(K++,K>=Q)Z++,K=0;if(K)Z++;return Z},B=(U)=>{return q.row=V(U),q.col=T(U),q},V=(U)=>{if(!$)return Math.floor(U/Q);let Z=0,K=0;for(let O=0;O<=U;O++)if($(O)){if(K)Z++,K=0;if(O===U)return Z;Z++,K=0}else{if(O===U)return Z;if(K++,K>=Q)Z++,K=0}return console.warn(`⚠️ getRow(${U}) fell through - returning ${Z}`),Z},T=(U)=>{if(!$)return U%Q;if($(U))return 0;let Z=0;for(let K=0;K<=U;K++)if($(K))Z=0;else{if(K===U)return Z;if(Z++,Z>=Q)Z=0}return Z},E=(U,Z,K)=>{if(K<=0)return{start:0,end:-1};if(!$){let f=Math.max(0,U*Q),d=Math.min(K-1,(Z+1)*Q-1);return{start:f,end:d}}let O=-1,P=-1,S=0,z=0;for(let f=0;f<K;f++){if($(f)){if(z)S++,z=0;if(S>=U&&S<=Z){if(O<0)O=f;P=f}S++,z=0}else{if(S>=U&&S<=Z){if(O<0)O=f;P=f}if(z++,z>=Q)S++,z=0}if(S>Z&&!z)break}if(O<0)return{start:0,end:-1};return{start:O,end:P}},N=(U,Z,K)=>{if(Z<0||Z>=Q)return-1;let O=U*Q+Z;if(O<0||O>=K)return-1;return O},y=(U)=>{let Z=(Q-1)*Y;return Math.max(0,(U-Z)/Q)};return{get columns(){return Q},get gap(){return Y},update:(U)=>{if(U.columns!==void 0)Q=Math.max(1,Math.floor(U.columns));if(U.gap!==void 0)Y=U.gap;if(U.isHeaderFn!==void 0)$=U.isHeaderFn},getTotalRows:j,getPosition:B,getRow:V,getCol:T,getItemRange:E,getItemIndex:N,getColumnWidth:y,getColumnOffset:(U,Z)=>{let K=y(Z);return U*(K+Y)}}};var M2=16000000;var n2="x",o2=20,f2="_isPlaceholder",O2="__placeholder_";var A2=(J,Q,Y)=>{if(String(Y).startsWith(O2))return!1;let $=O2+Q;if(J.has($))return J.delete($),J.add(Y),!0;return!1},i2=(J)=>({selected:new Set(J??[]),focusedIndex:-1,focusVisible:!1}),I2=(J,Q,Y)=>{if(Y==="none")return J;let $=new Set(J.selected);if(Y==="single"){if($.clear(),Q.length>0)$.add(Q[0])}else for(let q of Q)$.add(q);return{...J,selected:$}},p2=(J,Q)=>{let Y=new Set(J.selected);for(let $ of Q)Y.delete($);return{...J,selected:Y}},t2=(J,Q,Y)=>{if(Y==="none")return J;if(J.selected.has(Q))return p2(J,[Q]);else return I2(J,[Q],Y)},e2=(J,Q,Y)=>{if(Y!=="multiple")return J;return{...J,selected:new Set(Q.map(($)=>$.id))}},JJ=(J)=>({...J,selected:new Set});var QJ=(J,Q)=>{return J.selected.has(Q)},$J=(J)=>{return Array.from(J.selected)},YJ=(J,Q)=>{let Y=[];for(let $ of J.selected){let q=Q($);if(q)Y.push(q)}return Y};var IJ=(J,Q)=>{let Y=Q;return{getOffset:($)=>$*J,getSize:($)=>J,indexAtOffset:($)=>{if(Y===0||J===0)return 0;return Math.max(0,Math.min(Math.floor($/J),Y-1))},getTotalSize:()=>Y*J,getTotal:()=>Y,rebuild:($)=>{Y=$},isVariable:()=>!1}},pJ=(J,Q)=>{let Y=Q,$=new Float64Array(0),q=(B)=>{Y=B,$=new Float64Array(B+1),$[0]=0;for(let V=0;V<B;V++)$[V+1]=$[V]+J(V)};q(Q);let j=(B)=>{if(Y===0)return 0;if(B<=0)return 0;if(B>=$[Y])return Y-1;let V=0,T=Y-1;while(V<T){let E=V+T+1>>>1;if($[E]<=B)V=E;else T=E-1}return V};return{getOffset:(B)=>{if(B<=0)return 0;if(B>=Y)return $[Y];return $[B]},getSize:(B)=>J(B),indexAtOffset:(B)=>j(B),getTotalSize:()=>$[Y]??0,getTotal:()=>Y,rebuild:(B)=>q(B),isVariable:()=>!0}},T2=(J,Q)=>{if(typeof J==="number")return IJ(J,Q);return pJ(J,Q)},h2=(J,Q,Y,$)=>{if($===0)return 0;if(!J.isVariable())return Math.ceil(Y/J.getSize(0));let q=0,j=0,B=Q;while(B<$&&j<Y)j+=J.getSize(B),q++,B++;return Math.max(1,q)};var R2=(J,Q,Y)=>{let $=Q.getTotalSize(),q=Y===!0||$>M2,j=$>M2?M2:$,B=$>0?j/$:1;return{isCompressed:q,actualSize:$,virtualSize:j,ratio:B}},jJ=(J,Q,Y,$,q,j)=>{if($===0||Q===0)return j.start=0,j.end=-1,j;if(!q.isCompressed||q.ratio===1){let F=Y.indexAtOffset(J),U=Y.indexAtOffset(J+Q);if(U<$-1)U++;return j.start=Math.max(0,F),j.end=Math.min($-1,Math.max(0,U)),j}let{virtualSize:B}=q,V=J/B,T=Y.getTotalSize(),E=V*T,N=Y.indexAtOffset(E),y=h2(Y,Math.max(0,N),Q,$),p=N+y;return j.start=Math.max(0,N),j.end=Math.min($-1,Math.max(0,p)),j},qJ=(J,Q,Y,$)=>{if(Y===0)return $.start=0,$.end=-1,$;return $.start=Math.max(0,J.start-Q),$.end=Math.min(Y-1,J.end+Q),$},F2=(J,Q,Y,$,q,j,B)=>{if(!j.isCompressed||$===0)return Y.getOffset(J);if(j.ratio===1)return Y.getOffset(J)-Q;let{virtualSize:V}=j,T=Q/V,E=Y.getTotalSize(),N=T*E;return Y.getOffset(J)-N},BJ=(J,Q,Y,$,q,j="start")=>{if($===0)return 0;let B;if(q.isCompressed&&q.ratio!==1){B=J/$*q.virtualSize;let N=Q.getSize(J);switch(j){case"center":B-=(Y-N)/2*q.ratio;break;case"end":B-=(Y-N)*q.ratio;break}return Math.max(0,B)}B=Q.getOffset(J);let V=Q.getSize(J);switch(j){case"center":B-=(Y-V)/2;break;case"end":B-=Y-V;break}let T=q.virtualSize-Y;return Math.max(0,Math.min(B,T))},KJ=(J,Q,Y,$)=>{if(Y===0)return 0;if($.isCompressed&&$.ratio!==1){let q=J/$.virtualSize;return Math.floor(q*Y)}return Q.indexAtOffset(J)},XJ=(J,Q)=>{if(typeof Q==="number")return J*Q>M2;return Q.getTotalSize()>M2},UJ=(J)=>{if(J<=0)return 0;return Math.floor(M2/J)},NJ=(J,Q,Y)=>{let $=R2(J,Q,Y);if(!$.isCompressed)return`No compression needed (${J} items, ${($.actualSize/1e6).toFixed(2)}M px)`;return`Compressed to ${($.ratio*100).toFixed(1)}% (${J} items, ${($.actualSize/1e6).toFixed(1)}M px → ${($.virtualSize/1e6).toFixed(1)}M px virtual)`};var P2=(J,Q,Y)=>{let $=Array.from(Q).sort((B,V)=>B-V);if($.length<=1)return;let q=[];for(let B=0;B<$.length;B++){let V=Y($[B]);if(V)q.push(V)}if(q.length<=1)return;let j=J.firstChild;for(let B=0;B<q.length;B++){let V=q[B];if(V===j)j=j.nextSibling;else J.insertBefore(V,j)}};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-row"),j.removeAttribute("data-col"),Q.push(j)},clear:()=>{Q.length=0}}},xJ=1,ZJ=(J,Q,Y,$,q,j,B,V,T=!1,E)=>{let N=hJ(),y=new Map,p=j,F=!1,U=0,Z="",K=-1,O={selected:!1,focused:!1},P=(b,H)=>{return O.selected=b,O.focused=H,O},S=`${q}-item ${q}-grid-item`,z=`${q}-group-header`,f=`${q}-item--selected`,d=`${q}-item--focused`,u=`${q}-item--placeholder`,J2=`${q}-item--replaced`,t=(b,H)=>{if(typeof H==="string")b.innerHTML=H;else b.replaceChildren(H)},e=(b,H,h)=>{b.classList.toggle(f,H),b.classList.toggle(d,h)},j2=(b,H)=>{let h=$.getRow(b);if(H?.compression?.isCompressed)return F2(h,H.scrollPosition,Y,H.totalItems,H.containerSize,H.compression,H.rangeStart);return Y.getOffset(h)},K2=(b,H)=>{let h=$.getCol(b),x=F&&h===0?0:$.getColumnOffset(h,p),L;if(F){let M=$.getRow(b),W=0,C=-1;for(let v=0;v<b;v++){let I=$.getRow(v);if(I<M&&I!==C){let l=Y.getSize(v);W+=l,C=I}}L=W}else L=j2(b,H);if(T)return`translate(${Math.round(L)}px, ${Math.round(x)}px)`;return`translate(${Math.round(x)}px, ${Math.round(L)}px)`},g=(b,H)=>{let h=b.classList.contains(z),R=h?p:$.getColumnWidth(p),x;if(F||h)x=Y.getSize(H)-$.gap;else{let L=$.getRow(H);x=Y.getSize(L)-$.gap}if(T)b.style.width=`${x}px`,b.style.height=`${R}px`;else b.style.width=`${R}px`,b.style.height=`${x}px`},c=(b,H,h,R,x)=>{let L=N.acquire(),M=!!H.__groupHeader,W=P(h,R);if(L.className=M?z:S,L.dataset.index=String(b),L.dataset.id=String(H.id),L.dataset.row=String($.getRow(b)),L.dataset.col=String($.getCol(b)),M)L.setAttribute("role","presentation"),L.removeAttribute("aria-selected"),L.removeAttribute("aria-setsize"),L.removeAttribute("aria-posinset"),L.removeAttribute("id");else{if(L.setAttribute("role","option"),L.ariaSelected=String(h),V)L.id=`${V}-item-${b}`;if(B){let I=B();if(I!==K)K=I,Z=String(I);L.setAttribute("aria-setsize",Z);let l=E?E(b):b+1;L.setAttribute("aria-posinset",String(l))}}g(L,b);let C=Q(H,b,W);if(t(L,C),String(H.id).startsWith(O2))L.classList.add(u);return e(L,h,R),L.style.transform=x,{element:L,lastItemId:H.id,lastSelected:h,lastFocused:R,lastTransform:x,lastSeenFrame:U}},X=(b,H,h,R,x)=>{if(U++,H.start===0&&b.length)F=y2(b[0]);for(let[W,C]of y)if(W>=H.start&&W<=H.end)C.lastSeenFrame=U;else if(U-C.lastSeenFrame>xJ)N.release(C.element),y.delete(W);let L=!1;if(B){let W=B();if(W!==K)K=W,Z=String(W),L=!0}let M=null;for(let W=H.start;W<=H.end;W++){let C=W-H.start,v=b[C];if(!v){console.warn(`⚠️ RENDER: Missing item at index ${W} (range: ${H.start}-${H.end}, items.length: ${b.length})`);continue}let I=h.has(v.id),l=W===R,G=y.get(W);if(G){let w=G.lastItemId!==v.id,a=G.lastSelected!==I,m=G.lastFocused!==l;if(w){let Y2=String(G.lastItemId),B2=String(v.id),N2=Y2.startsWith(O2),$2=B2.startsWith(O2);if(!$2&&A2(h,W,v.id))I=!0;let r=P(I,l),Z2=Q(v,W,r);if(t(G.element,Z2),G.element.dataset.id=B2,G.element.dataset.row=String($.getRow(W)),G.element.dataset.col=String($.getCol(W)),g(G.element,W),G.element.classList.toggle(u,$2),N2&&!$2)G.element.classList.add(J2),setTimeout(()=>G.element.classList.remove(J2),300);if(G.lastItemId=v.id,!v.__groupHeader){let U2=E?E(W):W+1;G.element.setAttribute("aria-posinset",String(U2))}}if(w||a||m)e(G.element,I,l),G.element.ariaSelected=String(I),G.lastSelected=I,G.lastFocused=l;let q2=K2(W,x);if(G.lastTransform!==q2)G.element.style.transform=q2,G.lastTransform=q2;if(L&&!v.__groupHeader)G.element.setAttribute("aria-setsize",Z)}else{if(A2(h,W,v.id))I=!0;let w=K2(W,x),a=c(W,v,I,l,w);if(!M)M=document.createDocumentFragment();M.appendChild(a.element),y.set(W,a)}}if(M)J.appendChild(M)},D=(b)=>{for(let[H,h]of y){let R=K2(H,b);if(h.lastTransform!==R)h.element.style.transform=R,h.lastTransform=R}},_=(b,H,h,R)=>{let x=y.get(b);if(!x)return;let L=P(h,R),M=Q(H,b,L);t(x.element,M),e(x.element,h,R),x.element.dataset.id=String(H.id),x.element.ariaSelected=String(h),g(x.element,b),x.lastItemId=H.id,x.lastSelected=h,x.lastFocused=R},A=(b,H,h)=>{let R=y.get(b);if(!R)return;let x=R.lastSelected!==H,L=R.lastFocused!==h;if(x||L)e(R.element,H,h),R.lastSelected=H,R.lastFocused=h},k=(b)=>{return y.get(b)?.element},s=(b)=>{if(Math.abs(b-p)<1)return;p=b;for(let[H,h]of y){g(h.element,H);let R=K2(H);h.element.style.transform=R,h.lastTransform=R}},o=()=>{P2(J,y.keys(),(b)=>y.get(b)?.element)},n=()=>{for(let[,b]of y)N.release(b.element);y.clear()};return{render:X,updatePositions:D,updateItem:_,updateItemClasses:A,getElement:k,sortDOM:o,updateContainerWidth:s,clear:n,destroy:()=>{n(),N.clear()}}};var _J=(J,Q=50,Y=1/0,$=!0)=>{let q=J,j=[],B=0,V=()=>{j=q.map((K,O)=>({def:K,index:O,width:0,minWidth:gJ(K.minWidth??Q,1),maxWidth:K.maxWidth??Y,resizable:K.resizable??$,offset:0}))},T=(K)=>{if(j.length===0){B=0;return}let O=0,P=0;for(let S=0;S<j.length;S++){let z=j[S],f=z.def;if(f.width!==void 0)z.width=x2(f.width,z.minWidth,z.maxWidth),O+=z.width;else P++}if(P){let z=Math.max(0,K-O)/P;for(let f=0;f<j.length;f++){let d=j[f];if(d.def.width===void 0)d.width=x2(z,d.minWidth,d.maxWidth)}}E()},E=()=>{let K=0;for(let O=0;O<j.length;O++){let P=j[O];P.offset=K,K+=P.width}B=K},N=(K,O)=>{if(K<0||K>=j.length)return 0;let P=j[K];if(!P.resizable)return P.width;let S=x2(O,P.minWidth,P.maxWidth);return P.width=S,E(),S},y=(K)=>{return j[K]},p=(K)=>{if(j.length===0)return;if(K<0)return j[0];if(K>=B)return j[j.length-1];let O=0,P=j.length-1;while(O<P){let S=O+P>>>1,z=j[S];if(K<z.offset)P=S-1;else if(K>=z.offset+z.width)O=S+1;else return z}return j[O]},F=(K)=>{if(K<0||K>=j.length)return 0;return j[K].offset},U=(K)=>{if(K<0||K>=j.length)return 0;return j[K].width},Z=(K)=>{q=K,V()};return V(),{get columns(){return j},get totalWidth(){return B},resolve:T,updateColumns:Z,resizeColumn:N,getColumn:y,getColumnAtX:p,getColumnOffset:F,getColumnWidth:U}},x2=(J,Q,Y)=>Math.min(Y,Math.max(Q,J)),gJ=(J,Q)=>Math.max(Q,J);var DJ=(J,Q,Y,$,q,j)=>{let B=document.createElement("div");B.setAttribute("role","rowgroup");let V=document.createElement("div");V.className=`${Y}-table-header`,V.setAttribute("role","row"),V.setAttribute("aria-rowindex","1"),V.style.height=`${Q}px`;let T=document.createElement("div");T.className=`${Y}-table-header-scroll`,T.setAttribute("role","presentation"),V.appendChild(T),B.appendChild(V),J.insertBefore(B,J.firstChild),J.style.setProperty("--vlist-table-header-height",`${Q}px`);let E=[],N=[],y=!0,p=null,F="asc",U=null,Z=!1,K=-1,O=0,P=0,S=(X,D)=>{let _=document.createElement("div");_.className=`${Y}-table-header-cell`,_.setAttribute("role","columnheader"),_.setAttribute("aria-colindex",String(D+1)),_.dataset.columnKey=X.def.key;let A=X.def.align;if(A==="center")_.classList.add(`${Y}-table-header-cell--center`);else if(A==="right")_.classList.add(`${Y}-table-header-cell--right`);let k=document.createElement("div");k.className=`${Y}-table-header-content`;let s=X.def.header?X.def.header(X.def):X.def.label;if(typeof s==="string")k.textContent=s;else k.appendChild(s);if(_.appendChild(k),X.def.sortable){let o=document.createElement("span");o.className=`${Y}-table-header-sort`,o.setAttribute("aria-hidden","true"),_.appendChild(o),N.push(o),_.classList.add(`${Y}-table-header-cell--sortable`)}else N.push(null);if(X.resizable){let o=document.createElement("div");o.className=`${Y}-table-header-resize`,o.dataset.resizeIndex=String(D),_.appendChild(o)}return _},z=(X)=>{U=X,T.textContent="",E=[],N=[];let D=X.columns;for(let _=0;_<D.length;_++){let A=D[_],k=S(A,_);E.push(k),T.appendChild(k)}if(f(X),p)d(p,F)},f=(X)=>{U=X;let D=X.columns;T.style.width=`${X.totalWidth}px`;for(let _=0;_<E.length&&_<D.length;_++){let A=E[_],k=D[_];A.style.width=`${k.width}px`}},d=(X,D)=>{if(p=X,F=D,!U)return;let _=U.columns;for(let A=0;A<N.length&&A<_.length;A++){let k=N[A];if(!k)continue;if(_[A].def.key===X)k.textContent=D==="asc"?"▲":"▼",k.style.opacity="0.7",E[A].setAttribute("aria-sort",D==="asc"?"ascending":"descending");else k.textContent="",k.style.opacity="0",E[A].removeAttribute("aria-sort")}},u=(X)=>{T.style.transform=`translateX(${-X}px)`},J2=(X)=>{let D=X.target;if(!D.dataset.resizeIndex)return;if(X.preventDefault(),X.stopPropagation(),K=+D.dataset.resizeIndex,!U)return;let _=U.getColumn(K);if(!_?.resizable)return;Z=!0,O=X.clientX,P=_.width,J.classList.add(`${Y}--col-resizing`),J.style.cursor="col-resize",D.classList.add(`${Y}-table-header-resize--active`),D.setPointerCapture(X.pointerId),D.addEventListener("pointermove",t),D.addEventListener("pointerup",e),D.addEventListener("pointercancel",e)},t=(X)=>{if(!Z||!U)return;let D=X.clientX-O;if(Math.abs(D)<1)return;let _=Math.max(0,P+D);$(K,_)},e=(X)=>{if(!Z)return;let D=X.target;D.removeEventListener("pointermove",t),D.removeEventListener("pointerup",e),D.removeEventListener("pointercancel",e);try{D.releasePointerCapture(X.pointerId)}catch{}D.classList.remove(`${Y}-table-header-resize--active`),J.classList.remove(`${Y}--col-resizing`),J.style.cursor="",Z=!1,K=-1},j2=(X)=>{let D=X.target;if(D.dataset.resizeIndex)return;if(Z)return;let _=D;while(_&&!_.dataset.columnKey)if(_=_.parentElement,_===V||_===null)return;let A=_.dataset.columnKey;if(!U)return;let k=U.columns,s=-1;for(let n=0;n<k.length;n++)if(k[n].def.key===A){s=n;break}if(s===-1)return;let o=k[s];if(j)j({key:A,index:s,event:X});if(o.def.sortable&&q){let n;if(p===A)n=F==="asc"?"desc":null;else n="asc";q({key:A,index:s,direction:n})}};return V.addEventListener("pointerdown",J2),V.addEventListener("click",j2),{element:V,update:f,updateSort:d,rebuild:z,show:()=>{if(y)return;y=!0,V.style.display=""},hide:()=>{if(!y)return;y=!1,V.style.display="none"},destroy:()=>{V.removeEventListener("pointerdown",J2),V.removeEventListener("click",j2),J.style.removeProperty("--vlist-table-header-height"),B.remove(),E=[],N=[],U=null,y=!1},syncScroll:u}};var uJ=()=>{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}}},GJ=(J,Q,Y,$,q,j,B,V,T)=>{let E=uJ(),N=new Map,y=-1,p=Y,F=null,U=null,Z=null,K=(M,W)=>{U=M,Z=W},O=(M,W)=>{W?M.setAttribute("aria-selected","true"):M.removeAttribute("aria-selected")},P=(M,W,C,v)=>{M.setAttribute("role",W),M.setAttribute("data-id",String(C)),M.setAttribute("data-index",String(v))},S=(M)=>String(M).startsWith("__placeholder_"),z=`${q}-item ${q}-table-row`,f=`${q}-item--selected`,d=`${q}-item--focused`,u=`${q}-table-cell`,J2=`${q}-table-cell--center`,t=`${q}-table-cell--right`,e=`${q}-item--odd`,j2=`${q}-item--placeholder`,K2=`${q}-item--replaced`,g=`${q}-item ${q}-table-row ${q}-table-group-header`,c=`${q}-table-group-header-content`,X=(M,W,C,v,I=!1)=>{if(C.def.cell){let l=C.def.cell(W,C.def,v);if(typeof l==="string")M.innerHTML=l;else M.replaceChildren(l)}else{let l=W[C.def.key],G=l!=null?String(l):"";if(I&&G)M.innerHTML=`<span>${G}</span>`;else M.textContent=G}},D=(M,W,C,v,I=!1)=>{let l=z;if(V){if(F){let G=F(W);if(G>=0&&(G&1)===1)l+=` ${e}`}else if((W&1)===1)l+=` ${e}`}if(I)l+=` ${j2}`;if(C)l+=` ${f}`;if(v)l+=` ${d}`;M.className=l},_=(M,W,C)=>{if(C?.compression?.isCompressed)return Math.round(F2(M,C.scrollPosition,W,C.totalItems,C.containerSize,C.compression,C.rangeStart));return W.getOffset(M)},A=(M,W)=>{let C=W.def.align;if(C==="center")M.classList.add(J2),M.classList.remove(t);else if(C==="right")M.classList.add(t),M.classList.remove(J2);else M.classList.remove(J2,t)},k=(M,W)=>{let v=p.columns.length;if(W.length===v)return W;let I=[];for(let l=0;l<v;l++){let G;if(l<W.length)G=W[l];else G=document.createElement("div"),G.className=u,M.appendChild(G);I.push(G)}for(let l=v;l<W.length;l++)W[l].remove();return I},s=(M,W,C,v)=>{let I=E.acquire(),l=M,G=C.getSize(W),w=_(W,C,v);I.style.cssText=`width:${p.totalWidth}px;height:${G}px;transform:translateY(${w}px)`,I.className=g,P(I,"presentation",M.id,W),I.removeAttribute("aria-selected"),I.removeAttribute("aria-rowindex"),I.replaceChildren();let a=document.createElement("div");if(a.className=c,Z){let m=Z(l.groupKey,l.groupIndex);if(typeof m==="string")a.innerHTML=m;else a.appendChild(m)}return I.appendChild(a),{element:I,cells:[],index:W,isGroupHeader:!0,lastItemId:M.id,lastSelected:!1,lastFocused:!1,lastOffset:w,lastHeight:G}},o=(M,W,C,v,I,l)=>{let G=E.acquire(),w=I.getSize(W),a=_(W,I,l),m=S(M.id);G.style.cssText=`width:${p.totalWidth}px;height:${w}px;transform:translateY(${a}px)`,D(G,W,C,v,m),P(G,"row",M.id,W),G.id=`${j}-${W}`,G.setAttribute("aria-rowindex",String(W+2)),O(G,C);let q2=k(G,[]),Y2=p.columns;for(let B2=0;B2<q2.length&&B2<Y2.length;B2++){let N2=q2[B2],$2=Y2[B2];N2.style.cssText=`left:${$2.offset}px;width:${$2.width}px`,N2.setAttribute("role","gridcell"),N2.setAttribute("aria-colindex",String(B2+1)),A(N2,$2),X(N2,M,$2,W,m)}return{element:G,cells:q2,index:W,isGroupHeader:!1,lastItemId:M.id,lastSelected:C,lastFocused:v,lastOffset:a,lastHeight:w}},n=(M,W,C,v,I)=>{for(let[m,q2]of N)if(m<W.start||m>W.end)E.release(q2.element),N.delete(m);let l=!1,G=B();if(G!==y)y=G,l=!0;let w=null,a=Q();F=typeof V==="string"&&T?T():null;for(let m=W.start;m<=W.end;m++){let q2=m-W.start,Y2=M[q2];if(!Y2)continue;let B2=C.has(Y2.id),N2=m===v,$2=U?U(Y2):!1,r=N.get(m);if(r){if(r.isGroupHeader!==$2){E.release(r.element),N.delete(m);let Z2=$2?s(Y2,m,a,I):o(Y2,m,B2,N2,a,I);if(N.set(m,Z2),!w)w=document.createDocumentFragment();w.appendChild(Z2.element);continue}if($2){if(r.lastItemId!==Y2.id){let W2=Y2,_2=r.element.firstElementChild;if(_2&&Z){let i=Z(W2.groupKey,W2.groupIndex);if(typeof i==="string")_2.innerHTML=i;else _2.replaceChildren(i)}r.element.setAttribute("data-id",String(Y2.id)),r.lastItemId=Y2.id}let G2=_(m,a,I);if(r.lastOffset!==G2)r.lastOffset=G2,r.element.style.transform=`translateY(${G2}px)`;let U2=a.getSize(m);if(r.lastHeight!==U2)r.lastHeight=U2,r.element.style.height=`${U2}px`}else{let Z2=r.lastItemId!==Y2.id,G2=r.lastSelected!==B2,U2=r.lastFocused!==N2;if(Z2){let i=r.lastItemId!=null&&S(r.lastItemId),X2=S(Y2.id);if(!X2&&A2(C,m,Y2.id))B2=!0;let D2=p.columns;for(let V2=0;V2<r.cells.length&&V2<D2.length;V2++)X(r.cells[V2],Y2,D2[V2],m,X2);if(D(r.element,m,B2,N2,X2),r.element.setAttribute("data-id",String(Y2.id)),O(r.element,B2),i&&!X2)r.element.classList.add(K2),setTimeout(()=>{r.element.classList.remove(K2)},300);r.lastItemId=Y2.id,r.lastSelected=B2,r.lastFocused=N2}else if(G2||U2)D(r.element,m,B2,N2,S(Y2.id)),O(r.element,B2),r.lastSelected=B2,r.lastFocused=N2;let W2=_(m,a,I);if(r.lastOffset!==W2)r.lastOffset=W2,r.element.style.transform=`translateY(${W2}px)`;let _2=a.getSize(m);if(r.lastHeight!==_2)r.lastHeight=_2,r.element.style.height=`${_2}px`;if(l)r.element.setAttribute("aria-rowindex",String(m+2))}}else{if(A2(C,m,Y2.id))B2=!0;let Z2=$2?s(Y2,m,a,I):o(Y2,m,B2,N2,a,I);if(N.set(m,Z2),!w)w=document.createDocumentFragment();w.appendChild(Z2.element)}}if(w)J.appendChild(w)},Q2=(M)=>{let W=Q();for(let[C,v]of N){let I=_(C,W,M);if(v.lastOffset!==I)v.lastOffset=I,v.element.style.transform=`translateY(${I}px)`}},b=(M,W,C,v)=>{let I=N.get(M);if(!I)return;if(I.isGroupHeader)return;let l=p.columns;for(let G=0;G<I.cells.length&&G<l.length;G++)X(I.cells[G],W,l[G],M);I.element.setAttribute("data-id",String(W.id)),I.lastItemId=W.id,D(I.element,M,C,v),O(I.element,C),I.lastSelected=C,I.lastFocused=v},H=(M,W,C)=>{let v=N.get(M);if(!v)return;if(v.isGroupHeader)return;let I=v.lastSelected!==W,l=v.lastFocused!==C;if(I||l)D(v.element,M,W,C),O(v.element,W),v.lastSelected=W,v.lastFocused=C},h=(M)=>{p=M;let W=M.columns;for(let[,C]of N)if(C.element.style.width=`${M.totalWidth}px`,C.cells.length>0)for(let v=0;v<C.cells.length&&v<W.length;v++){let I=C.cells[v],l=W[v];I.style.left=`${l.offset}px`,I.style.width=`${l.width}px`}},R=(M)=>{return N.get(M)?.element},x=()=>{for(let[,M]of N)E.release(M.element);N.clear(),y=-1};return{render:n,updatePositions:Q2,updateItem:b,updateItemClasses:H,getElement:R,updateColumnLayout:h,setGroupHeaderFn:K,clear:x,destroy:()=>{x(),E.clear()}}};var VJ=(J)=>{let Q=Math.max(1,Math.floor(J.columns)),Y=J.gap??0,$=J.containerSize,q=0,j=[],B=()=>{let Z=(Q-1)*Y;q=Math.max(0,($-Z)/Q),j=Array(Q);let K=q+Y;for(let O=0;O<Q;O++)j[O]=O*K};B();let V=[],T=0,E=[],N=(Z,K)=>{if(Z<=0)return T=0,V=[],[];let O=Array(Q).fill(0),P=Array(Q);for(let f=0;f<Q;f++)P[f]=[];let S=Array(Z);for(let f=0;f<Z;f++){let d=0,u=O[0];for(let e=1;e<Q;e++){let j2=O[e];if(j2<u)u=j2,d=e}let J2=K(f),t=O[d];S[f]={index:f,x:j[d],y:t,lane:d,size:J2,crossSize:q},P[d].push(f),O[d]=t+J2+Y}V=P;let z=0;for(let f=0;f<Q;f++){let d=O[f],u=d>0?d-Y:0;if(u>z)z=u}return T=z,S},y=(Z)=>{if(Z.length===0)return T;if(T)return T;let K=Array(Q).fill(0);for(let P of Z){let S=P.y+P.size,z=K[P.lane];if(S>z)K[P.lane]=S}let O=0;for(let P=0;P<Q;P++)if(K[P]>O)O=K[P];return O},p=(Z,K,O)=>{if(Z.length===0||O<=K)return E.length=0,E;if(V.length===0||V.length!==Q)return F(Z,K,O);E.length=0;for(let P=0;P<Q;P++){let S=V[P],z=S.length;if(!z)continue;let f=0,d=z;while(f<d){let u=f+d>>>1,J2=Z[S[u]];if(J2.y+J2.size<=K)f=u+1;else d=u}for(let u=f;u<z;u++){let J2=Z[S[u]];if(J2.y>=O)break;E.push(J2)}}return E},F=(Z,K,O)=>{E.length=0;for(let P of Z)if(P.y+P.size>K&&P.y<O)E.push(P);return E};return{get columns(){return Q},get gap(){return Y},get containerSize(){return $},update:(Z)=>{let K=!1;if(Z.columns!==void 0){let O=Math.max(1,Math.floor(Z.columns));if(O!==Q)Q=O,K=!0}if(Z.gap!==void 0&&Z.gap!==Y)Y=Z.gap,K=!0;if(Z.containerSize!==void 0&&Z.containerSize!==$)$=Z.containerSize,K=!0;if(K)B()},calculateLayout:N,getTotalSize:y,getVisibleItems:p}};var mJ=(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}}},dJ=1,WJ=(J,Q,Y,$=!1,q,j,B)=>{let V=mJ(),T=new Map,E=new Set,N=0,y="",p=-1,F={selected:!1,focused:!1},U=(g,c)=>{return F.selected=g,F.focused=c,F},Z=`${Y}-item ${Y}-masonry-item`,K=`${Y}-group-header`,O=`${Y}-item--selected`,P=`${Y}-item--focused`,S=(g,c)=>{if(typeof c==="string")g.innerHTML=c;else g.replaceChildren(c)},z=(g,c,X)=>{g.classList.toggle(O,c),g.classList.toggle(P,X)},f=(g,c)=>{if($)g.style.transform=`translate(${Math.round(c.y)}px, ${Math.round(c.x)}px)`;else g.style.transform=`translate(${Math.round(c.x)}px, ${Math.round(c.y)}px)`},d=(g,c)=>{if($)g.style.width=`${c.size}px`,g.style.height=`${c.crossSize}px`;else g.style.width=`${c.crossSize}px`,g.style.height=`${c.size}px`},u=(g,c,X,D,_)=>{let A=V.acquire(),k=c.__groupHeader,s=U(D,_);if(A.className=k?K:Z,A.dataset.index=String(g),A.dataset.id=String(c.id),A.dataset.lane=String(X.lane),k)A.setAttribute("role","presentation"),A.removeAttribute("aria-selected"),A.removeAttribute("aria-setsize"),A.removeAttribute("aria-posinset"),A.removeAttribute("id");else{if(A.setAttribute("role","option"),A.ariaSelected=String(D),j)A.id=`${j}-item-${g}`;if(q){let n=q();if(n!==p)p=n,y=String(n);A.setAttribute("aria-setsize",y);let Q2=B?B(g):g+1;A.setAttribute("aria-posinset",String(Q2))}}d(A,X);let o=Q(c,g,s);return S(A,o),z(A,D,_),f(A,X),{element:A,lastItemId:c.id,lastSelected:D,lastFocused:_,lastY:X.y,lastX:X.x,lastSize:X.size,lastCrossSize:X.crossSize,lastSeenFrame:N}},J2=(g,c,X,D)=>{N++,E.clear();for(let A=0;A<c.length;A++)E.add(c[A].index);for(let[A,k]of T)if(E.has(A))k.lastSeenFrame=N;else if(N-k.lastSeenFrame>dJ)V.release(k.element),T.delete(A);let _=null;for(let A=0;A<c.length;A++){let k=c[A],s=k.index,o=g(s);if(!o)continue;let n=X.has(o.id),Q2=s===D,b=T.get(s);if(b){let H=b.lastItemId!==o.id,h=b.lastSelected!==n,R=b.lastFocused!==Q2,x=b.lastY!==k.y||b.lastX!==k.x,L=b.lastSize!==k.size||b.lastCrossSize!==k.crossSize;if(H){let M=U(n,Q2),W=Q(o,s,M);if(S(b.element,W),b.element.dataset.id=String(o.id),b.lastItemId=o.id,!o.__groupHeader){let v=B?B(s):s+1;b.element.setAttribute("aria-posinset",String(v))}}if(H||h||R)z(b.element,n,Q2),b.element.ariaSelected=String(n),b.lastSelected=n,b.lastFocused=Q2;if(L)d(b.element,k),b.lastSize=k.size,b.lastCrossSize=k.crossSize;if(x)f(b.element,k),b.lastY=k.y,b.lastX=k.x}else{let H=u(s,o,k,n,Q2);if(!_)_=document.createDocumentFragment();_.appendChild(H.element),T.set(s,H)}}if(_)J.appendChild(_)},t=()=>{for(let g of T.values())V.release(g.element);T.clear(),J.innerHTML=""};return{render:J2,getElement:(g)=>T.get(g)?.element,updateItemClasses:(g,c,X)=>{let D=T.get(g);if(!D)return;let _=D.lastSelected!==c,A=D.lastFocused!==X;if(_||A)z(D.element,c,X),D.lastSelected=c,D.lastFocused=X},sortDOM:()=>{P2(J,T.keys(),(g)=>T.get(g)?.element)},clear:t,destroy:()=>{t(),V.clear()}}};var MJ=(J,Q)=>{let Y=new Map,$=(j)=>Y.get(j)??J,q=T2($,Q);return{getOffset(j){return q.getOffset(j)},getSize(j){return $(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 Y.keys())if(B>=j)Y.delete(B)}q=T2($,j)},isVariable(){return!0},setMeasuredSize(j,B){Y.set(j,B)},isMeasured(j){return Y.has(j)},getEstimatedSize(){return J},measuredCount(){return Y.size}}};var OJ=(J,Q,Y,$,q,j)=>{if($===0||Q===0)return j.start=0,j.end=-1,j;let B=Y.indexAtOffset(J),V=Y.indexAtOffset(J+Q);if(V<$-1)V++;return j.start=Math.max(0,B),j.end=Math.min($-1,Math.max(0,V)),j},EJ=(J,Q,Y,$)=>{if(Y===0)return $.start=0,$.end=-1,$;return $.start=Math.max(0,J.start-Q),$.end=Math.min(Y-1,J.end+Q),$},AJ=(J,Q,Y,$,q,j)=>{if($===0)return 0;let B=Math.max(0,Math.min(J,$-1)),V=Q.getOffset(B),T=Q.getSize(B),E=Q.getTotalSize(),N=Math.max(0,E-Y),y;switch(j){case"center":y=V-Y/2+T/2;break;case"end":y=V-Y+T;break;case"start":default:y=V;break}return Math.max(0,Math.min(y,N))},FJ=(J,Q,Y)=>{if(Y&&Y.isCompressed)return Y.virtualSize;return Q.getTotalSize()},LJ=(J,Q)=>{return Q.getTotalSize()},HJ=(J,Q)=>{return Q.getOffset(J)},bJ=(J,Q,Y)=>{let $=Math.max(0,Q-Y);return Math.max(0,Math.min(J,$))};var TJ=(J,Q,Y,$,q="start",j,B=AJ)=>{return B(J,Q,Y,$,j,q)},RJ=(J,Q)=>{return J.start===Q.start&&J.end===Q.end},yJ=(J,Q)=>{return J>=Q.start&&J<=Q.end},PJ=(J)=>{if(J.end<J.start)return 0;return J.end-J.start+1};var kJ=(J,Q)=>{let Y=[],$=[];for(let q=J.start;q<=J.end;q++)if(q<Q.start||q>Q.end)$.push(q);for(let q=Q.start;q<=Q.end;q++)if(q<J.start||q>J.end)Y.push(q);return{add:Y,remove:$}};var zJ=()=>{let J={},Q=(j,B)=>{if(!J[j])J[j]=new Set;return J[j].add(B),()=>Y(j,B)},Y=(j,B)=>{J[j]?.delete(B)};return{on:Q,off:Y,emit:(j,B)=>{J[j]?.forEach((V)=>{try{V(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 k2=(J={})=>{let{chunkSize:Q=100,maxCachedItems:Y=5000,evictionBuffer:$=200,onEvict:q}=J,j=new Map,B=0,V=0,T=(X)=>{let D=j.get(X);if(!D)D={items:Array(Q),count:0,lastAccess:Date.now()},j.set(X,D);else D.lastAccess=Date.now();return D},E=(X)=>{return Math.floor(X/Q)},N=(X)=>{return X%Q},y=()=>B,p=(X)=>{B=X},F=(X)=>{if(X<0||X>=B)return;let D=E(X),_=j.get(D);if(!_)return;return _.items[N(X)]},U=(X)=>{if(X<0||X>=B)return!1;let D=E(X),_=j.get(D);if(!_)return!1;return _.items[N(X)]!==void 0},Z=(X,D)=>{let _=E(X),A=T(_),k=N(X),s=A.items[k]===void 0;if(A.items[k]=D,s)A.count++,V++;if(X>=B)B=X+1},K=(X,D)=>{for(let _=0;_<D.length;_++){let A=D[_];if(A!==void 0)Z(X+_,A)}},O=(X)=>{if(X<0||X>=B)return!1;let D=E(X),_=j.get(D),A=N(X);if(!(_!==void 0&&_.items[A]!==void 0))return!1;let s=D,o=Array.from(j.keys()).filter((Q2)=>Q2>=s).sort((Q2,b)=>Q2-b),n=[];for(let Q2 of o){let b=j.get(Q2),H=Q2*Q;for(let h=0;h<Q;h++){if(b.items[h]===void 0)continue;let R=H+h;if(R<=X)continue;n.push({oldIndex:R,item:b.items[h]})}}if(_.items[A]=void 0,_.count--,V--,_.count===0)j.delete(D);for(let{oldIndex:Q2}of n){let b=E(Q2),H=j.get(b);if(!H)continue;let h=N(Q2);if(H.items[h]!==void 0){if(H.items[h]=void 0,H.count--,V--,H.count===0)j.delete(b)}}for(let{oldIndex:Q2,item:b}of n){let H=Q2-1,h=E(H),R=T(h),x=N(H);R.items[x]=b,R.count++,V++}return B--,!0},P=(X,D)=>{let _=[];for(let A=X;A<=D&&A<B;A++)_.push(F(A));return _},S=(X,D)=>{for(let _=X;_<=D&&_<B;_++)if(!U(_))return!1;return!0},z=()=>{let X=[],D=null,_=Array.from(j.keys()).sort((A,k)=>A-k);for(let A of _){let k=j.get(A);if(!k)continue;let s=A*Q;for(let o=0;o<Q;o++){let n=s+o;if(n>=B)break;if(k.items[o]!==void 0)if(D===null)D={start:n,end:n};else if(n===D.end+1)D.end=n;else X.push(D),D={start:n,end:n};else if(D!==null)X.push(D),D=null}}if(D!==null)X.push(D);return X},f=(X,D)=>{let _=[],A=null;for(let k=X;k<=D&&k<B;k++)if(!U(k))if(A===null)A={start:k,end:k};else A.end=k;else if(A!==null)_.push(A),A=null;if(A!==null)_.push(A);return _},d=(X)=>{return j.has(X)},u=(X)=>{let D=j.get(X);if(D)D.lastAccess=Date.now()},J2=(X,D)=>{if(X>D||j.size===0)return;let _=Date.now(),A=E(Math.max(0,X)),k=E(Math.min(B-1,D));for(let s=A;s<=k;s++){let o=j.get(s);if(o)o.lastAccess=_}},t=(X,D)=>{if(V<=Y)return 0;let _=Math.max(0,X-$),A=Math.min(B-1,D+$),k=E(_),s=E(A),o=0,n=[];for(let[Q2,b]of j)if(Q2<k||Q2>s)o+=b.count,n.push(Q2),V-=b.count,j.delete(Q2);if(o>0&&q)q(o,n);return o},e=()=>{if(V<=Y)return 0;let X=Array.from(j.entries()).sort(([,A],[,k])=>A.lastAccess-k.lastAccess),D=0,_=[];for(let[A,k]of X){if(V<=Y)break;D+=k.count,V-=k.count,_.push(A),j.delete(A)}if(D>0&&q)q(D,_);return D},j2=()=>{return{totalItems:B,cachedItems:V,cachedChunks:j.size,chunkSize:Q,maxCachedItems:Y,memoryEfficiency:B>0?1-V/B:1}},K2=()=>V,g=()=>{j.clear(),V=0};return{chunkSize:Q,maxCachedItems:Y,getTotal:y,setTotal:p,get:F,has:U,set:Z,setRange:K,delete:O,getRange:P,isRangeLoaded:S,getLoadedRanges:z,findUnloadedRanges:f,getChunkIndex:E,isChunkLoaded:d,touchChunk:u,touchChunksForRange:J2,evictDistant:t,evictToLimit:e,getStats:j2,getCachedCount:K2,clear:g,reset:()=>{g(),B=0}}},z2=(J)=>{if(J.length===0)return[];let Q=[...J].sort(($,q)=>$.start-q.start),Y=[{...Q[0]}];for(let $=1;$<Q.length;$++){let q=Q[$],j=Y[Y.length-1];if(q.start<=j.end+1)j.end=Math.max(j.end,q.end);else Y.push({...q})}return Y},g2=(J,Q,Y)=>{let $=Math.floor(J.start/Y)*Y,q=Math.ceil((J.end+1)/Y)*Y-1,j={start:$,end:q};if(Q.length===0)return[j];let B=[],V=z2(Q),T=j.start;for(let E of V){if(E.end<T)continue;if(E.start>j.end)break;if(E.start>T)B.push({start:T,end:Math.min(E.start-1,j.end)});if(T=E.end+1,T>j.end)break}if(T<=j.end)B.push({start:T,end:j.end});return B};var v2=(J={})=>{let{maskCharacter:Q=n2,maxSampleSize:Y=o2}=J,$=[],q=!1,j=(N)=>{if(q||N.length===0)return;let y=Math.min(N.length,Y);for(let p=0;p<y;p++){let F=N[p];if(!F||typeof F!=="object")continue;let U={},Z=!1;for(let[K,O]of Object.entries(F)){if(K.startsWith("_")||K==="id")continue;U[K]=String(O??"").length,Z=!0}if(Z)$.push(U)}q=!0},B=()=>q,V=(N)=>{let y={id:`${O2}${N}`,[f2]:!0,_index:N};if($.length===0)return y.label=Q.repeat(12),y;let p=$[N%$.length];for(let[F,U]of Object.entries(p))y[F]=Q.repeat(Math.max(1,U));return y};return{analyzeStructure:j,hasAnalyzedStructure:B,generate:V,generateRange:(N,y)=>{let p=[];for(let F=N;F<=y;F++)p.push(V(F));return p},clear:()=>{$=[],q=!1}}},E2=(J)=>{if(!J||typeof J!=="object")return!1;return J[f2]===!0},u2=(J)=>{return J.filter((Q)=>!E2(Q))};var rJ=50,vJ=(J={})=>{let{adapter:Q,initialItems:Y,initialTotal:$,storage:q,placeholder:j,pageSize:B=rJ,onStateChange:V,onItemsLoaded:T,onItemsEvicted:E}=J,N=k2({...q,onEvict:(G,w)=>{E?.(G),u()}}),y=null,p=()=>{if(!y)y=v2(j);return y},F=new Map,U=!1,Z,K=!0,O,P,S=[],z=0,f=new Map,d=()=>{for(let G of f.values())G[1].abort();f.clear()},u=()=>{V?.(D())},J2=()=>{F.clear();let G=N.getLoadedRanges();for(let w of G)for(let a=w.start;a<=w.end;a++){let m=N.get(a);if(m&&!E2(m))F.set(m.id,a)}},t=(G,w)=>{if(!E2(w))F.set(w.id,G)},e=(G)=>{F.delete(G)},j2=(G,w)=>{return`${G}-${w}`},K2=()=>N.getTotal(),g=()=>N.getCachedCount(),c=()=>U,X=()=>K,D=()=>({total:N.getTotal(),cached:N.getCachedCount(),isLoading:U,pendingRanges:S,error:Z,hasMore:K,cursor:O}),_=()=>N,A=()=>p(),k=(G)=>{let w=N.get(G);if(w!==void 0)return w;if(G>=0&&G<N.getTotal())return p().generate(G);return},s=(G)=>{let w=F.get(G);if(w===void 0)return;return N.get(w)},o=(G)=>{return F.get(G)??-1},n=(G)=>{let w=N.get(G);return w!==void 0&&!E2(w)},Q2=(G,w)=>{let a=[],m=N.getTotal();N.touchChunksForRange(G,Math.min(w,m-1));for(let q2=G;q2<=w&&q2<m;q2++){let Y2=N.get(q2);if(Y2!==void 0)a.push(Y2);else a.push(p().generate(q2))}return a},b=(G)=>{N.setTotal(G),K=N.getCachedCount()<G,u()},H=(G,w=0,a)=>{if(Q&&G.length>0){let m=p();if(!m.hasAnalyzedStructure())m.analyzeStructure(G)}for(let m=0;m<G.length;m++){let q2=G[m];if(q2!==void 0){let Y2=w+m;N.set(Y2,q2),t(Y2,q2)}}if(a!==void 0)N.setTotal(a);else if(w+G.length>N.getTotal())N.setTotal(w+G.length);if(N.getCachedCount()>=N.getTotal()&&N.getTotal()>0)K=!1;u(),T?.(G,w,N.getTotal())},h=(G,w)=>{let a=N.get(G);if(!a)return!1;let m=a.id,q2={...a,...w};if(N.set(G,q2),w.id!==void 0&&w.id!==m)e(m);return t(G,q2),u(),!0},R=(G)=>{let w=F.get(G);if(w===void 0)return!1;if(!N.delete(w))return!1;return J2(),d(),u(),!0},x=async(G,w)=>{if(!Q)return;let a=N.chunkSize,m=Math.floor(G/a),q2=Math.floor(w/a),Y2=a*2;for(let[$2,r]of f){let Z2=$2.indexOf("-"),G2=parseInt($2.slice(0,Z2),10);if(Math.abs(G2-G)>Y2)r[1].abort(),f.delete($2)}let B2=[],N2=[];for(let $2=m;$2<=q2;$2++){let r=$2*a,Z2=r+a-1,G2=j2(r,Z2);if(N.isChunkLoaded($2))continue;let U2=f.get(G2);if(U2)N2.push(U2[0]);else B2.push({start:r,end:Z2})}if(B2.length===0)return;for(let $2 of B2){let r=j2($2.start,$2.end),Z2=new AbortController,G2=(async()=>{S.push($2),U=!0,Z=void 0,u();try{let U2=$2.end-$2.start+1,W2={offset:$2.start,limit:U2,cursor:$2.start===P?O:void 0,signal:Z2.signal},_2=await Q.read(W2);if(H(_2.items,$2.start,_2.total),_2.cursor)O=_2.cursor,P=$2.start+_2.items.length;let i=$2.start+_2.items.length;if(i>=z){if(z=i,_2.hasMore!==void 0)K=_2.hasMore;else if(_2.total!==void 0)K=i<_2.total}}catch(U2){if(U2?.name==="AbortError")return;Z=U2 instanceof Error?U2:Error(String(U2))}finally{f.delete(r),S=S.filter((U2)=>U2.start!==$2.start||U2.end!==$2.end),U=f.size>0,u()}})();f.set(r,[G2,Z2]),N2.push(G2)}await Promise.all(N2)},L=async(G,w)=>{if(N.isRangeLoaded(G,w))return;await x(G,w)},M=async()=>{if(!Q)return;await x(0,B-1)},W=async()=>{if(!Q||U||!K)return!1;let G=N.getCachedCount(),w=N.getTotal(),a=G,m=Math.min(a+B-1,w>0?w-1:a+B-1);if(a>=w&&w>0)return K=!1,!1;return await x(a,m),N.getCachedCount()>G},C=async()=>{if(N.clear(),N.setTotal(0),F.clear(),y)y.clear();d(),S=[],U=!1,O=void 0,P=void 0,K=!0,z=0,Z=void 0,u()},v=(G,w)=>{if(N.evictDistant(G,w)>0)J2()},I=()=>{N.clear(),F.clear(),O=void 0,P=void 0,Z=void 0,S=[],U=!1,u()},l=()=>{if(N.reset(),F.clear(),y)y.clear();O=void 0,P=void 0,K=!0,z=0,Z=void 0,S=[],U=!1,u()};if(Y&&Y.length>0)H(Y,0,$??Y.length);else if($!==void 0)N.setTotal($),u();return{getState:D,getTotal:K2,getCached:g,getIsLoading:c,getHasMore:X,getStorage:_,getPlaceholders:A,getItem:k,getItemById:s,getIndexById:o,isItemLoaded:n,getItemsInRange:Q2,setTotal:b,setItems:H,updateItem:h,removeItem:R,loadRange:x,ensureRange:L,loadInitial:M,loadMore:W,reload:C,evictDistant:v,clear:I,reset:l}};var wJ=(J=0)=>{let Q=[,,,,,,,,];for(let Y=0;Y<8;Y++)Q[Y]={position:0,time:0};return{velocity:0,lastPosition:J,lastTime:performance.now(),samples:Q,sampleIndex:0,sampleCount:0}},w2=(J,Q)=>{let Y=performance.now(),$=Y-J.lastTime;if($===0)return J;if($>100){J.sampleCount=0,J.sampleIndex=0,J.velocity=0;let j=J.samples[0];return j.position=Q,j.time=Y,J.sampleIndex=1,J.sampleCount=1,J.lastPosition=Q,J.lastTime=Y,J}let q=J.samples[J.sampleIndex];if(q.position=Q,q.time=Y,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],V=Q-B.position,T=Y-B.time;J.velocity=T>0?V/T:0}return J.lastPosition=Q,J.lastTime=Y,J},lJ=(J)=>J.sampleCount>=3,CJ=(J,Q={})=>{let{wheel:Y=!0,sensitivity:$=1,smoothing:q=!1,idleTimeout:j=150,onScroll:B,onIdle:V,scrollElement:T,horizontal:E=!1}=Q,N=!!T,y=0,p=0,F=N?E?window.innerWidth:window.innerHeight:E?J.clientWidth:J.clientHeight,U=Q.compressed??!1,Z=Q.compression,K=wJ(),O=!1,P=null,z=C2(()=>{let R=E?J.scrollLeft:J.scrollTop,x=R>=y?"down":"up";if(K=w2(K,R),y=R,B)B({scrollTop:y,direction:x,velocity:K.velocity});e()}),d=C2(()=>{let R=J.getBoundingClientRect(),x=E?Math.max(0,-R.left):Math.max(0,-R.top),L=x>=y?"down":"up";if(K=w2(K,x),y=x,!O)O=!0;if(B)B({scrollTop:y,direction:L,velocity:K.velocity});e()}),u=(R)=>{R.preventDefault()},J2=(R)=>{if(R.deltaX)return;R.preventDefault(),J.scrollLeft+=R.deltaY},t=(R)=>{if(!U)return;R.preventDefault();let x=(E?R.deltaX||R.deltaY:R.deltaY)*$,L=y+x;if(q)L=y+x*0.3;if(L=Math.max(0,Math.min(L,p)),L!==y){let W=L>=y?"down":"up";if(K=w2(K,L),y=L,!O)O=!0;if(B)B({scrollTop:y,direction:W,velocity:K.velocity});e()}},e=()=>{if(P)clearTimeout(P);P=setTimeout(()=>{if(O=!1,K=wJ(y),V)V()},j)},j2=(R)=>{if(U)return;if(U=!0,Z=R,p=R.virtualSize-F,N)return;if(z.cancel(),J.removeEventListener("scroll",z),!Y)J.removeEventListener("wheel",u);else if(E)J.removeEventListener("wheel",J2);if(E)J.style.overflowX="hidden";else J.style.overflow="hidden";if(Y)J.addEventListener("wheel",t,{passive:!1});let x=E?J.scrollLeft:J.scrollTop;if(x>0){let L=E?Z?.actualSize??J.scrollWidth:Z?.actualSize??J.scrollHeight;y=x/L*p}if(E)J.scrollLeft=0;else J.scrollTop=0},K2=()=>{if(!U)return;if(U=!1,N){Z=void 0;return}if(J.removeEventListener("wheel",t),E)J.style.overflowX="auto";else J.style.overflow="auto";if(J.addEventListener("scroll",z,{passive:!0}),!Y)J.addEventListener("wheel",u,{passive:!1});else if(E)J.addEventListener("wheel",J2,{passive:!1});if(Z&&y>0){let x=y/p*(Z.actualSize-F);if(E)J.scrollLeft=x;else J.scrollTop=x}Z=void 0},g=()=>{if(N||U)return y;return E?J.scrollLeft:J.scrollTop},c=(R,x=!1)=>{let L=Math.max(0,Math.min(R,p||1/0));if(N){let M=J.getBoundingClientRect();if(E){let W=M.left+window.scrollX;window.scrollTo({left:W+L,behavior:x?"smooth":"auto"})}else{let W=M.top+window.scrollY;window.scrollTo({top:W+L,behavior:x?"smooth":"auto"})}}else if(U){if(L===y)return;let W=L>=y?"down":"up";if(K=w2(K,L),y=L,!O)O=!0;if(B)B({scrollTop:y,direction:W,velocity:K.velocity});e()}else if(E)J.scrollTo({left:L,behavior:x?"smooth":"auto"});else J.scrollTo({top:L,behavior:x?"smooth":"auto"})},X=(R)=>{c(g()+R)},D=()=>{return g()<=0},_=(R=0)=>{let x=g(),L=N||U?p:E?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;return x>=L-R},A=()=>{let R=g(),x=N||U?p:E?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;if(x<=0)return 0;return Math.min(1,Math.max(0,R/x))},k=(R)=>{if(R.compression)Z=R.compression,p=Z.virtualSize-F},s=()=>U,o=()=>Math.abs(K.velocity),n=()=>lJ(K),Q2=()=>O,b=()=>N,H=(R)=>{if(F=R,Z)p=Z.virtualSize-F},h=()=>{if(P)clearTimeout(P);if(N)d.cancel(),window.removeEventListener("scroll",d);else z.cancel(),J.removeEventListener("scroll",z),J.removeEventListener("wheel",t),J.removeEventListener("wheel",u),J.removeEventListener("wheel",J2)};if(N){if(U&&Z)p=Z.virtualSize-F;window.addEventListener("scroll",d,{passive:!0})}else if(U&&Z){if(p=Z.virtualSize-F,E)J.style.overflowX="hidden";else J.style.overflow="hidden";if(Y)J.addEventListener("wheel",t,{passive:!1})}else{if(E)J.style.overflowX="auto",J.style.overflowY="hidden";else J.style.overflow="auto";if(J.addEventListener("scroll",z,{passive:!0}),!Y)J.addEventListener("wheel",u,{passive:!1});else if(E)J.addEventListener("wheel",J2,{passive:!1})}return{getScrollTop:g,scrollTo:c,scrollBy:X,isAtTop:D,isAtBottom:_,getScrollPercentage:A,getVelocity:o,isTracking:n,isScrolling:Q2,updateConfig:k,enableCompression:j2,disableCompression:K2,isCompressed:s,isWindowMode:b,updateContainerHeight:H,destroy:h}},C2=(J)=>{let Q=null,Y=null,$=(...q)=>{if(Y=q,Q===null)Q=requestAnimationFrame(()=>{if(Q=null,Y)J(...Y)})};return $.cancel=()=>{if(Q!==null)cancelAnimationFrame(Q),Q=null},$};var aJ=(J)=>{if(typeof J!=="object"){let Q=J??2;return{top:Q,right:Q,bottom:Q,left:Q}}return{top:J.top??2,right:J.right??2,bottom:J.bottom??2,left:J.left??2}},SJ=(J,Q,Y={},$="vlist",q=!1,j)=>{let{autoHide:B=!0,autoHideDelay:V=1000,minThumbSize:T=15,showOnHover:E=!0,showOnViewportEnter:N=!0,clickBehavior:y="scroll"}=Y,p=y==="page"?"scroll":y,F=j??J,U=aJ(Y.padding),Z=q?U.left:U.top,K=q?U.right:U.bottom,O=q?U.bottom:U.right,P=Y.hoverZoneWidth??O+16,S=0,z=0,f=0,d=0,u=!1,J2=!1,t=0,e=0,j2=0,K2=null,g=!1,c=null,X=null,D=0,_=0,A=null,k=null,s=null,o=q?"width":"height",n=q?"translateX":"translateY",Q2=q?(i)=>i.clientX:(i)=>i.clientY,b=q?"left":"top",H=document.createElement("div"),h=document.createElement("div"),R=document.createElement("div"),x=()=>{if(F===J)return;let i=J.offsetTop,X2=q?U.left:U.top;H.style[q?"left":"top"]=`${i+X2}px`,R.style[q?"left":"top"]=`${i}px`},L=()=>{if(H.className=`${$}-scrollbar`,h.className=`${$}-scrollbar-thumb`,q)H.classList.add(`${$}-scrollbar--horizontal`);if(Y.padding!==void 0)F.style.setProperty("--vlist-custom-scrollbar-padding-top",`${U.top}px`),F.style.setProperty("--vlist-custom-scrollbar-padding-right",`${U.right}px`),F.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${U.bottom}px`),F.style.setProperty("--vlist-custom-scrollbar-padding-left",`${U.left}px`);if(Y.minThumbSize!==void 0)H.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${T}px`);if(H.appendChild(h),F.appendChild(H),R.className=`${$}-scrollbar-hover`,q)R.classList.add(`${$}-scrollbar-hover--horizontal`),R.style.height=`${P}px`;else R.style.width=`${P}px`;if(F.appendChild(R),F!==J)x()},M=()=>{if(K2)clearTimeout(K2),K2=null},W=()=>{if(!B)return;M(),K2=setTimeout(v,V)},C=()=>{if(S<=z)return;if(M(),!g)H.classList.add(`${$}-scrollbar--visible`),g=!0;if(B&&!u&&!J2)W()},v=()=>{if(u||J2)return;H.classList.remove(`${$}-scrollbar--visible`),g=!1},I=(i,X2)=>{if(S=i,z=X2,x(),S<=z){H.style.display="none",v();return}H.style.display="";let D2=Math.max(0,z-Z-K),V2=z/S;if(f=Math.max(T,V2*D2),h.style[o]=`${f}px`,d=D2-f,l(j2),!B)C()},l=(i)=>{if(j2=i,S<=z||d<=0)return;let X2=S-z,D2=Math.min(1,Math.max(0,i/X2));h.style.transform=`${n}(${D2*d}px)`},G=(i)=>{if(i.target===h||p!=="jump"||d<=0)return;let X2=S-z,D2=H.getBoundingClientRect(),V2=Q2(i)-D2[b],L2=Math.max(0,Math.min(V2-f/2,d));Q(L2/d*X2),C()},w=()=>{if(A!==null)clearTimeout(A),A=null;if(k!==null)cancelAnimationFrame(k),k=null;s=null},a=(i)=>{let X2=d>0?_/i*d:0;if(D<X2)return-1;if(D>=X2+f)return 1;return 0},m=()=>{let i=S-z,X2=a(i);if(X2===0){w();return}if(X2===-1){if(_<=0){w();return}let D2=Math.max(0,_-z);_=D2,Q(D2)}else{if(_>=i){w();return}let D2=Math.min(i,_+z);_=D2,Q(D2)}C()},q2=(i)=>{if(s===null){s=i,k=requestAnimationFrame(q2);return}let X2=S-z,D2=i-s;s=i;let V2=a(X2);if(V2===0){w();return}let L2=12*z/1000,H2=Math.min(L2*D2,z);if(V2===-1){if(_<=0){w();return}let b2=Math.max(0,_-H2);_=b2,Q(b2)}else{if(_>=X2){w();return}let b2=Math.min(X2,_+H2);_=b2,Q(b2)}M(),k=requestAnimationFrame(q2)},Y2=()=>{w(),W(),document.removeEventListener("mouseup",Y2)},B2=(i)=>{if(i.target===h||p!=="scroll")return;i.preventDefault();let X2=H.getBoundingClientRect();D=Q2(i)-X2[b],_=j2,m(),A=setTimeout(()=>{k=requestAnimationFrame(q2)},350),document.addEventListener("mouseup",Y2)},N2=(i)=>{i.preventDefault(),i.stopPropagation(),u=!0,t=Q2(i),e=j2,M(),H.classList.add(`${$}-scrollbar--dragging`),document.addEventListener("mousemove",$2),document.addEventListener("mouseup",r)},$2=(i)=>{if(!u)return;let X2=Q2(i)-t,D2=d>0?X2/d:0,V2=S-z,L2=D2*V2,H2=Math.max(0,Math.min(e+L2,V2));if(h.style.transform=`${n}(${H2/V2*d}px)`,X=H2,c===null)c=requestAnimationFrame(()=>{if(X!==null)Q(X);c=null})},r=()=>{if(u=!1,c!==null)cancelAnimationFrame(c),c=null;if(X!==null)Q(X),X=null;if(H.classList.remove(`${$}-scrollbar--dragging`),B&&!J2)W();document.removeEventListener("mousemove",$2),document.removeEventListener("mouseup",r)},Z2=()=>{if(N)C()},G2=()=>{if(!u){if(J2=!1,B)W()}},U2=()=>{J2=!0,M(),C()},W2=()=>{if(J2=!1,!u&&B)W()},_2=()=>{if(M(),w(),c!==null)cancelAnimationFrame(c),c=null;H.removeEventListener("click",G),H.removeEventListener("mousedown",B2),H.removeEventListener("mouseenter",U2),document.removeEventListener("mouseup",Y2),H.removeEventListener("mouseleave",W2),h.removeEventListener("mousedown",N2),J.removeEventListener("mouseenter",Z2),J.removeEventListener("mouseleave",G2),document.removeEventListener("mousemove",$2),document.removeEventListener("mouseup",r),R.removeEventListener("click",G),R.removeEventListener("mousedown",B2),R.removeEventListener("mouseenter",U2),R.removeEventListener("mouseleave",W2),R.remove(),F.style.removeProperty("--vlist-custom-scrollbar-padding-top"),F.style.removeProperty("--vlist-custom-scrollbar-padding-right"),F.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),F.style.removeProperty("--vlist-custom-scrollbar-padding-left"),H.remove()};if(L(),H.addEventListener("click",G),H.addEventListener("mousedown",B2),H.addEventListener("mouseenter",U2),H.addEventListener("mouseleave",W2),h.addEventListener("mousedown",N2),J.addEventListener("mouseenter",Z2),J.addEventListener("mouseleave",G2),R.addEventListener("click",G),R.addEventListener("mousedown",B2),E)R.addEventListener("mouseenter",U2),R.addEventListener("mouseleave",W2);return{show:C,hide:v,updateBounds:I,updatePosition:l,isVisible:()=>g,destroy:_2}};var sJ=50,nJ=0.1;function oJ(J){let Q=0,Y=0,$=0;function q(){return $>0?Y/$:0}function j(T){if(Q=T,T>nJ&&T<sJ)Y+=T,$++}function B(){let T=J.getTotal();if(T===0)return 0;let E=J.getItemSize();if(E<=0)return 0;let N=J.getContainerSize();if(N<=0)return 0;let y=J.getScrollPosition(),p=typeof J.getColumns==="function"?J.getColumns():1,U=Math.ceil(T/p)*E,K=Math.min(U,M2)-N,O=U-N,P=K>0?O/K:1,S=y*P,z=Math.ceil((S+N)/E);return Math.min(z*p,T)}function V(){let T=J.getTotal(),E=B();return{progress:T>0?Math.min(100,Math.max(0,E/T*100)):0,velocity:Q,velocityAvg:q(),itemCount:E,total:T}}return{getState:V,onVelocity:j}}export{t2 as toggleSelection,OJ as simpleVisibleRange,I2 as selectItems,e2 as selectAll,RJ as rangesEqual,C2 as rafThrottle,XJ as needsScaling,z2 as mergeRanges,QJ as isSelected,E2 as isPlaceholderItem,yJ as isInRange,y2 as isGroupHeader,YJ as getSelectedItems,$J as getSelectedIds,R2 as getScaleState,NJ as getScaleInfo,R2 as getScale,PJ as getRangeCount,UJ as getMaxItemsWithoutScaling,u2 as filterPlaceholders,kJ as diffRanges,p2 as deselectItems,GJ as createTableRenderer,_J as createTableLayout,DJ as createTableHeader,a2 as createStickyHeader,oJ as createStats,k2 as createSparseStorage,T2 as createSizeCache,i2 as createSelectionState,SJ as createScrollbar,CJ as createScrollController,v2 as createPlaceholderManager,MJ as createMeasuredSizeCache,WJ as createMasonryRenderer,VJ as createMasonryLayout,r2 as createGroupedSizeFn,l2 as createGroupLayout,ZJ as createGridRenderer,s2 as createGridLayout,zJ as createEmitter,vJ as createAsyncManager,JJ as clearSelection,bJ as clampScrollPosition,FJ as calculateTotalSize,TJ as calculateScrollToIndex,jJ as calculateScaledVisibleRange,BJ as calculateScaledScrollToIndex,qJ as calculateScaledRenderRange,F2 as calculateScaledItemPosition,EJ as calculateRenderRange,g2 as calculateMissingRanges,HJ as calculateItemOffset,KJ as calculateIndexFromScrollPosition,LJ as calculateActualSize,c2 as buildLayoutItems,M2 as MAX_VIRTUAL_SIZE};
|
package/dist/size.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"base":{"minified":"
|
|
1
|
+
{"base":{"minified":"28.2","gzipped":"10.8","minBytes":28918,"gzBytes":11031},"withGrid":{"minified":"40.7","gzipped":"14.8","minBytes":41724,"gzBytes":15171},"withMasonry":{"minified":"38.1","gzipped":"14.2","minBytes":39049,"gzBytes":14580},"withGroups":{"minified":"42.7","gzipped":"15.2","minBytes":43677,"gzBytes":15568},"withAsync":{"minified":"40.4","gzipped":"15.2","minBytes":41351,"gzBytes":15602},"withSelection":{"minified":"39.2","gzipped":"13.8","minBytes":40129,"gzBytes":14102},"withScale":{"minified":"40.4","gzipped":"14.4","minBytes":41407,"gzBytes":14748},"withScrollbar":{"minified":"34.3","gzipped":"12.6","minBytes":35153,"gzBytes":12893},"withPage":{"minified":"30.3","gzipped":"11.5","minBytes":31043,"gzBytes":11750},"withSnapshots":{"minified":"31.9","gzipped":"12.0","minBytes":32706,"gzBytes":12275},"withTable":{"minified":"45.7","gzipped":"16.3","minBytes":46797,"gzBytes":16695},"withSortable":{"minified":"37.4","gzipped":"13.7","minBytes":38311,"gzBytes":14017},"withAutoSize":{"minified":"30.8","gzipped":"11.7","minBytes":31526,"gzBytes":11938}}
|
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-color:transparent;--vlist-scrollbar-radius:4px;--vlist-custom-scrollbar-width:8px;--vlist-custom-scrollbar-track-color:transparent;--vlist-custom-scrollbar-radius:4px;--vlist-custom-scrollbar-padding-top:2px;--vlist-custom-scrollbar-padding-right:2px;--vlist-custom-scrollbar-padding-bottom:2px;--vlist-custom-scrollbar-padding-left:2px;--vlist-custom-scrollbar-min-thumb-size:15px;--vlist-item-padding-x:1rem;--vlist-item-padding-y:0.75rem;--vlist-border-radius:0.5rem;--vlist-transition-duration:150ms;--vlist-transition-timing:ease-in-out;--vlist-bg:#ffffff;--vlist-bg-hover:rgba(0,0,0,0.04);--vlist-bg-striped:rgba(0,0,0,0.02);--vlist-bg-selected:rgba(59,130,246,0.12);--vlist-bg-selected-hover:rgba(59,130,246,0.18);--vlist-border:#e5e7eb;--vlist-border-selected:#3b82f6;--vlist-text:#111827;--vlist-text-muted:#6b7280;--vlist-focus-ring:#3b82f6;--vlist-group-header-bg:#f3f4f6;--vlist-scrollbar-thumb-color:#d1d5db;--vlist-scrollbar-thumb-hover-color:#9ca3af;--vlist-custom-scrollbar-thumb-color:rgba(0,0,0,0.2);--vlist-custom-scrollbar-thumb-hover-color:rgba(0,0,0,0.3);--vlist-placeholder-bg:rgba(0,0,0,0.2)}[data-theme-mode="dark"]{--vlist-bg:#111827;--vlist-bg-hover:rgba(255,255,255,0.06);--vlist-bg-striped:rgba(255,255,255,0.02);--vlist-bg-selected:rgba(59,130,246,0.2);--vlist-bg-selected-hover:rgba(59,130,246,0.28);--vlist-border:#374151;--vlist-border-selected:#3b82f6;--vlist-text:#f9fafb;--vlist-text-muted:#9ca3af;--vlist-focus-ring:#3b82f6;--vlist-group-header-bg:#1e2433;--vlist-scrollbar-thumb-color:#4b5563;--vlist-scrollbar-thumb-hover-color:#6b7280;--vlist-custom-scrollbar-thumb-color:rgba(255,255,255,0.2);--vlist-custom-scrollbar-thumb-hover-color:rgba(255,255,255,0.3);--vlist-placeholder-bg:rgba(255,255,255,0.3)}@media (prefers-color-scheme:dark){:root:not([data-theme-mode="light"]):not([data-theme-mode="dark"]){--vlist-bg:#111827;--vlist-bg-hover:rgba(255,255,255,0.06);--vlist-bg-striped:rgba(255,255,255,0.02);--vlist-bg-selected:rgba(59,130,246,0.2);--vlist-bg-selected-hover:rgba(59,130,246,0.28);--vlist-border:#374151;--vlist-border-selected:#3b82f6;--vlist-text:#f9fafb;--vlist-text-muted:#9ca3af;--vlist-focus-ring:#3b82f6;--vlist-group-header-bg:#1e2433;--vlist-scrollbar-thumb-color:#4b5563;--vlist-scrollbar-thumb-hover-color:#6b7280;--vlist-custom-scrollbar-thumb-color:rgba(255,255,255,0.2);--vlist-custom-scrollbar-thumb-hover-color:rgba(255,255,255,0.3);--vlist-placeholder-bg:rgba(255,255,255,0.3)}}.dark{--vlist-bg:#111827;--vlist-bg-hover:rgba(255,255,255,0.06);--vlist-bg-striped:rgba(255,255,255,0.02);--vlist-bg-selected:rgba(59,130,246,0.2);--vlist-bg-selected-hover:rgba(59,130,246,0.28);--vlist-border:#374151;--vlist-border-selected:#3b82f6;--vlist-text:#f9fafb;--vlist-text-muted:#9ca3af;--vlist-focus-ring:#3b82f6;--vlist-group-header-bg:#1e2433;--vlist-scrollbar-thumb-color:#4b5563;--vlist-scrollbar-thumb-hover-color:#6b7280;--vlist-custom-scrollbar-thumb-color:rgba(255,255,255,0.2);--vlist-custom-scrollbar-thumb-hover-color:rgba(255,255,255,0.3);--vlist-placeholder-bg:rgba(255,255,255,0.3)}.vlist{position:relative;width:100%;height:100%;box-sizing:border-box;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{
|
|
1
|
+
@keyframes vlist-fade-in{from{opacity:0.6}to{opacity:1}}@keyframes vlist-placeholder-pulse{0%,100%{opacity:0.6}50%{opacity:0.4}}:root{--vlist-scrollbar-width:8px;--vlist-scrollbar-track-color:transparent;--vlist-scrollbar-radius:4px;--vlist-custom-scrollbar-width:8px;--vlist-custom-scrollbar-track-color:transparent;--vlist-custom-scrollbar-radius:4px;--vlist-custom-scrollbar-padding-top:2px;--vlist-custom-scrollbar-padding-right:2px;--vlist-custom-scrollbar-padding-bottom:2px;--vlist-custom-scrollbar-padding-left:2px;--vlist-custom-scrollbar-min-thumb-size:15px;--vlist-item-padding-x:1rem;--vlist-item-padding-y:0.75rem;--vlist-border-radius:0.5rem;--vlist-transition-duration:150ms;--vlist-transition-timing:ease-in-out;--vlist-bg:#ffffff;--vlist-bg-hover:rgba(0,0,0,0.04);--vlist-bg-striped:rgba(0,0,0,0.02);--vlist-bg-selected:rgba(59,130,246,0.12);--vlist-bg-selected-hover:rgba(59,130,246,0.18);--vlist-border:#e5e7eb;--vlist-border-selected:#3b82f6;--vlist-text:#111827;--vlist-text-muted:#6b7280;--vlist-focus-ring:#3b82f6;--vlist-group-header-bg:#f3f4f6;--vlist-scrollbar-thumb-color:#d1d5db;--vlist-scrollbar-thumb-hover-color:#9ca3af;--vlist-custom-scrollbar-thumb-color:rgba(0,0,0,0.2);--vlist-custom-scrollbar-thumb-hover-color:rgba(0,0,0,0.3);--vlist-placeholder-bg:rgba(0,0,0,0.2)}[data-theme-mode="dark"]{--vlist-bg:#111827;--vlist-bg-hover:rgba(255,255,255,0.06);--vlist-bg-striped:rgba(255,255,255,0.02);--vlist-bg-selected:rgba(59,130,246,0.2);--vlist-bg-selected-hover:rgba(59,130,246,0.28);--vlist-border:#374151;--vlist-border-selected:#3b82f6;--vlist-text:#f9fafb;--vlist-text-muted:#9ca3af;--vlist-focus-ring:#3b82f6;--vlist-group-header-bg:#1e2433;--vlist-scrollbar-thumb-color:#4b5563;--vlist-scrollbar-thumb-hover-color:#6b7280;--vlist-custom-scrollbar-thumb-color:rgba(255,255,255,0.2);--vlist-custom-scrollbar-thumb-hover-color:rgba(255,255,255,0.3);--vlist-placeholder-bg:rgba(255,255,255,0.3)}@media (prefers-color-scheme:dark){:root:not([data-theme-mode="light"]):not([data-theme-mode="dark"]){--vlist-bg:#111827;--vlist-bg-hover:rgba(255,255,255,0.06);--vlist-bg-striped:rgba(255,255,255,0.02);--vlist-bg-selected:rgba(59,130,246,0.2);--vlist-bg-selected-hover:rgba(59,130,246,0.28);--vlist-border:#374151;--vlist-border-selected:#3b82f6;--vlist-text:#f9fafb;--vlist-text-muted:#9ca3af;--vlist-focus-ring:#3b82f6;--vlist-group-header-bg:#1e2433;--vlist-scrollbar-thumb-color:#4b5563;--vlist-scrollbar-thumb-hover-color:#6b7280;--vlist-custom-scrollbar-thumb-color:rgba(255,255,255,0.2);--vlist-custom-scrollbar-thumb-hover-color:rgba(255,255,255,0.3);--vlist-placeholder-bg:rgba(255,255,255,0.3)}}.dark{--vlist-bg:#111827;--vlist-bg-hover:rgba(255,255,255,0.06);--vlist-bg-striped:rgba(255,255,255,0.02);--vlist-bg-selected:rgba(59,130,246,0.2);--vlist-bg-selected-hover:rgba(59,130,246,0.28);--vlist-border:#374151;--vlist-border-selected:#3b82f6;--vlist-text:#f9fafb;--vlist-text-muted:#9ca3af;--vlist-focus-ring:#3b82f6;--vlist-group-header-bg:#1e2433;--vlist-scrollbar-thumb-color:#4b5563;--vlist-scrollbar-thumb-hover-color:#6b7280;--vlist-custom-scrollbar-thumb-color:rgba(255,255,255,0.2);--vlist-custom-scrollbar-thumb-hover-color:rgba(255,255,255,0.3);--vlist-placeholder-bg:rgba(255,255,255,0.3)}.vlist{position:relative;width:100%;height:100%;box-sizing:border-box;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,.vlist-group-header{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,.vlist--settling .vlist-item,.vlist--scrolling .vlist-group-header,.vlist--settling .vlist-group-header{transition:none}.vlist--selectable .vlist-item{cursor:pointer}.vlist--selectable .vlist-item:hover{background-color:var(--vlist-bg-hover)}.vlist-item.vlist-item--odd{background:var(--vlist-bg-striped)}.vlist-item.vlist-item--selected{background-color:var(--vlist-bg-selected)}.vlist-item.vlist-item--odd.vlist-item--selected{background:var(--vlist-bg-selected)}.vlist-item.vlist-item--selected:hover{background-color:var(--vlist-bg-selected-hover)}.vlist-item.vlist-item--odd.vlist-item--selected:hover{background:var(--vlist-bg-selected-hover)}.vlist-item.vlist-item--focused{outline:2px solid var(--vlist-focus-ring,#3b82f6);outline-offset:-2px;z-index:1}.vlist-item--replaced{animation:vlist-fade-in 0.3s ease-out}.vlist-item--placeholder{opacity:0.6;animation:vlist-placeholder-pulse 2s ease-in-out infinite}.vlist-item.vlist-item--selected.vlist-item--focused{outline-color:var(--vlist-border-selected)}.vlist-scrollbar{position:absolute;top:var(--vlist-custom-scrollbar-padding-top);right:var(--vlist-custom-scrollbar-padding-right);bottom:var(--vlist-custom-scrollbar-padding-bottom);width:var(--vlist-custom-scrollbar-width);background-color:var(--vlist-custom-scrollbar-track-color);opacity:0;transition:opacity 0.2s ease-out;z-index:10;pointer-events:none}.vlist-scrollbar-hover{position:absolute;top:0;right:0;height:100%;z-index:9;pointer-events:auto}.vlist-scrollbar-hover--horizontal{top:auto;right:auto;bottom:0;left:0;width:100%;height:auto}.vlist-scrollbar--visible{opacity:1;pointer-events:auto}.vlist-scrollbar-thumb{position:absolute;top:0;left:0;right:0;width:100%;background-color:var(--vlist-custom-scrollbar-thumb-color);border-radius:var(--vlist-custom-scrollbar-radius);cursor:pointer;transition:background-color 0.15s ease-out}.vlist-scrollbar-thumb:hover{background-color:var(--vlist-custom-scrollbar-thumb-hover-color)}.vlist-scrollbar--dragging{opacity:1;pointer-events:auto}.vlist-scrollbar--dragging .vlist-scrollbar-thumb{background-color:var(--vlist-custom-scrollbar-thumb-hover-color)}.vlist-group-header{cursor:default;background-color:var(--vlist-group-header-bg,#f3f4f6);z-index:1;overflow:hidden}.vlist-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)}.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,.vlist--horizontal .vlist-group-header{position:absolute;top:0;bottom:0;left:0;right:auto;display:flex;align-items:center;justify-content:center;border-bottom:none;border-right:1px solid var(--vlist-border)}.vlist-scrollbar--horizontal{top:auto;left:var(--vlist-custom-scrollbar-padding-left);right:var(--vlist-custom-scrollbar-padding-right);bottom:var(--vlist-custom-scrollbar-padding-bottom);width:auto;height:var(--vlist-custom-scrollbar-width)}.vlist-scrollbar--horizontal .vlist-scrollbar-thumb{top:0;left:0;width:auto;height:100%}.vlist-viewport--gutter{padding-right:calc( var(--vlist-custom-scrollbar-padding-right) + var(--vlist-custom-scrollbar-width) + var(--vlist-custom-scrollbar-padding-left) )}.vlist--horizontal .vlist-viewport--gutter{padding-right:0;padding-bottom:calc( var(--vlist-custom-scrollbar-padding-bottom) + var(--vlist-custom-scrollbar-width) + var(--vlist-custom-scrollbar-padding-top) )}.vlist-viewport--custom-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.vlist-viewport--custom-scrollbar::-webkit-scrollbar{display:none}.vlist-viewport--no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.vlist-viewport--no-scrollbar::-webkit-scrollbar{display:none}.vlist-viewport--gutter-stable{scrollbar-gutter:stable}.vlist-sort-ghost{opacity:0.85;box-shadow:0 4px 16px rgba(0,0,0,0.18);cursor:grabbing}.vlist-item--drag-source{opacity:0 !important;pointer-events:none}.vlist--sorting{cursor:grabbing;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.vlist-item--kb-sorting{outline:2px solid var(--vlist-focus-ring,#3b82f6);outline-offset:-2px;background-color:var(--vlist-bg-selected);z-index:1}
|