vlist 1.7.5 → 1.7.7
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 +11 -11
- package/dist/builder/materialize.d.ts +1 -1
- package/dist/builder/types.d.ts +9 -0
- package/dist/features/grid/renderer.d.ts +1 -1
- package/dist/features/groups/sticky.d.ts +6 -1
- package/dist/features/masonry/renderer.d.ts +1 -1
- package/dist/features/scrollbar/scrollbar.d.ts +3 -2
- package/dist/index.js +1 -1
- package/dist/internals.js +1 -1
- package/dist/rendering/aria.d.ts +13 -0
- package/dist/rendering/renderer.d.ts +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 T2=(J)=>{return J!==null&&typeof J==="object"&&J.__groupHeader===!0};var w2=(J,Q)=>{let j=0,$=J.length-1;while(j<$){let q=j+$+1>>>1;if(J[q].headerLayoutIndex<=Q)j=q;else $=q-1}return j},x2=(J,Q)=>{let j=0,$=J.length-1;while(j<$){let q=j+$+1>>>1;if(J[q].firstDataIndex<=Q)j=q;else $=q-1}return j},g2=(J,Q,j)=>{if(J===0)return[];let $=[],q=Q(0,j?.(0)),Y=0,B=0;for(let N=1;N<J;N++){let b=Q(N,j?.(N));if(b!==q){let M=N-Y;$.push({key:q,groupIndex:$.length,headerLayoutIndex:B,firstDataIndex:Y,count:M}),B=B+1+M,q=b,Y=N}}return $.push({key:q,groupIndex:$.length,headerLayoutIndex:B,firstDataIndex:Y,count:J-Y}),$},u2=(J,Q)=>{if(J.length===0||Q.length===0)return[];let j=J.length+Q.length,$=Array(j),q=0;for(let Y of Q){$[q]={id:`__group_header_${Y.groupIndex}`,__groupHeader:!0,groupKey:Y.key,groupIndex:Y.groupIndex},q++;for(let B=0;B<Y.count;B++)$[q]=J[Y.firstDataIndex+B],q++}return $},m2=(J,Q,j=!1)=>{let $=typeof Q==="number"?(q)=>Q:Q;return(q)=>{let Y=J.getEntry(q);if(Y.type==="header"){if(j&&Y.group.groupIndex===0)return 0;return J.getHeaderHeight(Y.group.groupIndex)}return $(Y.dataIndex)}},d2=(J,Q,j)=>{let $=g2(J,Q.getGroupForIndex,j),q=J+$.length,Y=Q.header?.height??Q.header?.width??Q.headerHeight;return{get totalEntries(){return q},get groupCount(){return $.length},get groups(){return $},getEntry:(H)=>{if($.length===0)return{type:"item",dataIndex:H,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let W=w2($,H),_=$[W];if(H===_.headerLayoutIndex)return{type:"header",group:_};let K=H-_.headerLayoutIndex-1;return{type:"item",dataIndex:_.firstDataIndex+K,group:_}},layoutToDataIndex:(H)=>{if($.length===0)return H;let W=w2($,H),_=$[W];if(H===_.headerLayoutIndex)return-1;let K=H-_.headerLayoutIndex-1;return _.firstDataIndex+K},dataToLayoutIndex:(H)=>{if($.length===0)return H;let W=x2($,H),_=$[W],K=H-_.firstDataIndex;return _.headerLayoutIndex+1+K},getGroupAtLayoutIndex:(H)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let W=w2($,H);return $[W]},getGroupAtDataIndex:(H)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let W=x2($,H);return $[W]},getHeaderHeight:typeof Y==="number"?(H)=>Y:(H)=>{let W=$[H];if(!W)return 0;return Y(W.key,H)},rebuild:(H,W)=>{$=g2(H,Q.getGroupForIndex,W??j),q=H+$.length}}};var c2=(J,Q,j,$,q,Y=!1,B=0)=>{let N=Y?"width":"height",b=Y?"height":"width",M=Y?"X":"Y",X=(Z,T)=>{Z.style[N]=`${T}px`},F=document.createElement("div");F.className=`${q}-sticky-header`,F.setAttribute("role","presentation"),F.setAttribute("aria-hidden","true"),F.style.cssText="position:relative;z-index:5;pointer-events:none;overflow:hidden;"+(Y?`top:0;bottom:0;left:${B||0}px`:`top:${B||0}px`);let w=()=>{let Z=document.createElement("div");return Z.className="sticky-group",Z.style.position="absolute",Z.style.willChange="transform",Z.style[b]="100%",Z},H=w(),W=w();F.append(H,W),J.insertBefore(F,J.firstChild);let _=H,K=W,V=Q.groups,A=[],y=[],P=0,m=()=>{V=Q.groups,P=V.length,A=Array(P),y=Array(P);for(let Z=0;Z<P;Z++)A[Z]=j.getOffset(V[Z].headerLayoutIndex),y[Z]=Q.getHeaderHeight(Z)};m();let I=-1,n=0,l=-1,Y2=!1,U2=0,x=!1,u=(Z,T)=>{$(Z,T);let c=y[T];return X(Z,c),c},e=(Z)=>{Z.replaceChildren(),Z.style.transform=""},X2=(Z)=>{if(Z===I)return;if(I=Z,n=0,Z<0||Z>=P){e(_);return}n=u(_,Z),X(F,n),_.style.transform=""},L=(Z)=>{if(Z===U2)return;U2=Z;let T=Math.round(Z);_.style.transform=`translate${M}(${T}px)`,K.style.transform=`translate${M}(${T+n}px)`},U=()=>{U2=0,_.style.transform="",K.style.transform=""},D=()=>{if(!x)return;let Z=_;_=K,K=Z,I=l,n=I>=0?y[I]:0,X(F,n),e(K),l=-1,x=!1,U()},O=()=>{if(!x)return;e(K),l=-1,x=!1,U()},C=()=>{if(Y2)return;Y2=!0,F.style.display=""},a=()=>{if(!Y2)return;Y2=!1,F.style.display="none",e(_),I=-1,n=0,O()},i=(Z)=>{if(P===0){a();return}if(Z<A[0]){a();return}let T=0,c=P-1;while(T<c){let k=T+c+1>>>1;if(A[k]+y[k]<=Z)T=k;else c=k-1}if(!Y2)C();X2(T);let R=T+1;if(R<P){let k=A[R]-Z;if(k<=0&&k>-n){if(l!==R||!x)l=R,u(K,R),x=!0;L(k)}else if(k<=-n){if(x)D()}else if(x)O()}else if(x)O()},d=()=>{m();let Z=I;if(I=-1,n=0,Z>=0)X2(Z)},G=()=>{F.remove(),I=-1,n=0,l=-1,Y2=!1,x=!1};return F.style.display="none",{update:i,refresh:d,show:C,hide:a,destroy:G}};var r2=(J)=>{let Q=Math.max(1,Math.floor(J.columns)),j=J.gap??0,$=J.isHeaderFn,q={row:0,col:0},Y=(W)=>{if(W<=0)return 0;if(!$)return Math.ceil(W/Q);let _=0,K=0,V=0;for(let A=0;A<W;A++)if($(A)){if(V++,K>0)_++,K=0;_++,K=0}else if(K++,K>=Q)_++,K=0;if(K>0)_++;return _},B=(W)=>{return q.row=N(W),q.col=b(W),q},N=(W)=>{if(!$)return Math.floor(W/Q);let _=0,K=0;for(let V=0;V<=W;V++)if($(V)){if(K>0)_++,K=0;if(V===W)return _;_++,K=0}else{if(V===W)return _;if(K++,K>=Q)_++,K=0}return console.warn(`⚠️ getRow(${W}) fell through - returning ${_}`),_},b=(W)=>{if(!$)return W%Q;if($(W))return 0;let _=0;for(let K=0;K<=W;K++)if($(K))_=0;else{if(K===W)return _;if(_++,_>=Q)_=0}return _},M=(W,_,K)=>{if(K<=0)return{start:0,end:-1};if(!$){let m=Math.max(0,W*Q),I=Math.min(K-1,(_+1)*Q-1);return{start:m,end:I}}let V=-1,A=-1,y=0,P=0;for(let m=0;m<K;m++){if($(m)){if(P>0)y++,P=0;if(y>=W&&y<=_){if(V===-1)V=m;A=m}y++,P=0}else{if(y>=W&&y<=_){if(V===-1)V=m;A=m}if(P++,P>=Q)y++,P=0}if(y>_&&P===0)break}if(V===-1)return{start:0,end:-1};return{start:V,end:A}},X=(W,_,K)=>{if(_<0||_>=Q)return-1;let V=W*Q+_;if(V<0||V>=K)return-1;return V},F=(W)=>{let _=(Q-1)*j;return Math.max(0,(W-_)/Q)};return{get columns(){return Q},get gap(){return j},update:(W)=>{if(W.columns!==void 0)Q=Math.max(1,Math.floor(W.columns));if(W.gap!==void 0)j=W.gap;if(W.isHeaderFn!==void 0)$=W.isHeaderFn},getTotalRows:Y,getPosition:B,getRow:N,getCol:b,getItemRange:M,getItemIndex:X,getColumnWidth:F,getColumnOffset:(W,_)=>{let K=F(_);return W*(K+j)}}};var M2=16000000;var l2="x",a2=20,C2="_isPlaceholder",O2="__placeholder_";var E2=(J,Q,j)=>{if(String(j).startsWith(O2))return!1;let $=O2+Q;if(J.has($))return J.delete($),J.add(j),!0;return!1},s2=(J)=>({selected:new Set(J??[]),focusedIndex:-1,focusVisible:!1}),S2=(J,Q,j)=>{if(j==="none")return J;let $=new Set(J.selected);if(j==="single"){if($.clear(),Q.length>0)$.add(Q[0])}else for(let q of Q)$.add(q);return{...J,selected:$}},f2=(J,Q)=>{let j=new Set(J.selected);for(let $ of Q)j.delete($);return{...J,selected:j}},n2=(J,Q,j)=>{if(j==="none")return J;if(J.selected.has(Q))return f2(J,[Q]);else return S2(J,[Q],j)},o2=(J,Q,j)=>{if(j!=="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 j=[];for(let $ of J.selected){let q=Q($);if(q)j.push(q)}return j};var CJ=(J,Q)=>{let j=Q;return{getOffset:($)=>$*J,getSize:($)=>J,indexAtOffset:($)=>{if(j===0||J===0)return 0;return Math.max(0,Math.min(Math.floor($/J),j-1))},getTotalSize:()=>j*J,getTotal:()=>j,rebuild:($)=>{j=$},isVariable:()=>!1}},SJ=(J,Q)=>{let j=Q,$=new Float64Array(0),q=(B)=>{j=B,$=new Float64Array(B+1),$[0]=0;for(let N=0;N<B;N++)$[N+1]=$[N]+J(N)};q(Q);let Y=(B)=>{if(j===0)return 0;if(B<=0)return 0;if(B>=$[j])return j-1;let N=0,b=j-1;while(N<b){let M=N+b+1>>>1;if($[M]<=B)N=M;else b=M-1}return N};return{getOffset:(B)=>{if(B<=0)return 0;if(B>=j)return $[j];return $[B]},getSize:(B)=>J(B),indexAtOffset:(B)=>Y(B),getTotalSize:()=>$[j]??0,getTotal:()=>j,rebuild:(B)=>q(B),isVariable:()=>!0}},L2=(J,Q)=>{if(typeof J==="number")return CJ(J,Q);return SJ(J,Q)},I2=(J,Q,j,$)=>{if($===0)return 0;if(!J.isVariable())return Math.ceil(j/J.getSize(0));let q=0,Y=0,B=Q;while(B<$&&Y<j)Y+=J.getSize(B),q++,B++;return Math.max(1,q)};var H2=(J,Q,j)=>{let $=Q.getTotalSize(),q=j===!0||$>M2,Y=$>M2?M2:$,B=$>0?Y/$:1;return{isCompressed:q,actualSize:$,virtualSize:Y,ratio:B}},QJ=(J,Q,j,$,q,Y)=>{if($===0||Q===0)return Y.start=0,Y.end=-1,Y;if(!q.isCompressed||q.ratio===1){let w=j.indexAtOffset(J),H=j.indexAtOffset(J+Q);if(H<$-1)H++;return Y.start=Math.max(0,w),Y.end=Math.min($-1,Math.max(0,H)),Y}let{virtualSize:B}=q,b=J/B*$,M=Math.floor(b),X=I2(j,Math.max(0,M),Q,$),F=Math.ceil(b)+X;return Y.start=Math.max(0,M),Y.end=Math.min($-1,Math.max(0,F)),Y},$J=(J,Q,j,$)=>{if(j===0)return $.start=0,$.end=-1,$;return $.start=Math.max(0,J.start-Q),$.end=Math.min(j-1,J.end+Q),$},F2=(J,Q,j,$,q,Y,B)=>{if(!Y.isCompressed||$===0)return j.getOffset(J);if(Y.ratio===1)return j.getOffset(J)-Q;let{virtualSize:N}=Y,b=Q/N,M=j.getTotalSize(),X=b*M;return j.getOffset(J)-X},YJ=(J,Q,j,$,q,Y="start")=>{if($===0)return 0;let B;if(q.isCompressed&&q.ratio!==1){B=J/$*q.virtualSize;let X=Q.getSize(J);switch(Y){case"center":B-=(j-X)/2*q.ratio;break;case"end":B-=(j-X)*q.ratio;break}return Math.max(0,B)}B=Q.getOffset(J);let N=Q.getSize(J);switch(Y){case"center":B-=(j-N)/2;break;case"end":B-=j-N;break}let b=q.virtualSize-j;return Math.max(0,Math.min(B,b))},jJ=(J,Q,j,$)=>{if(j===0)return 0;if($.isCompressed&&$.ratio!==1){let q=J/$.virtualSize;return Math.floor(q*j)}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,j)=>{let $=H2(J,Q,j);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 R2=(J,Q,j)=>{let $=Array.from(Q).sort((B,N)=>B-N);if($.length<=1)return;let q=[];for(let B=0;B<$.length;B++){let N=j($[B]);if(N)q.push(N)}if(q.length<=1)return;let Y=J.firstChild;for(let B=0;B<q.length;B++){let N=q[B];if(N===Y)Y=Y.nextSibling;else J.insertBefore(N,Y)}};var fJ=(J=200)=>{let Q=[];return{acquire:()=>{let Y=Q.pop();if(Y)return Y;let B=document.createElement("div");return B.setAttribute("role","option"),B},release:(Y)=>{if(Y.remove(),Q.length<J)Y.className="",Y.textContent="",Y.removeAttribute("style"),Y.removeAttribute("data-index"),Y.removeAttribute("data-id"),Y.removeAttribute("data-row"),Y.removeAttribute("data-col"),Q.push(Y)},clear:()=>{Q.length=0}}},IJ=1,XJ=(J,Q,j,$,q,Y,B,N,b=!1)=>{let M=fJ(),X=new Map,F=Y,w=!1,H=0,W="",_=-1,K={selected:!1,focused:!1},V=(G,Z)=>{return K.selected=G,K.focused=Z,K},A=`${q}-item ${q}-grid-item`,y=`${q}-item--selected`,P=`${q}-item--focused`,m=`${q}-item--placeholder`,I=`${q}-item--replaced`,n=(G,Z)=>{if(typeof Z==="string")G.innerHTML=Z;else G.replaceChildren(Z)},l=(G,Z,T)=>{G.classList.toggle(y,Z),G.classList.toggle(P,T)},Y2=(G,Z)=>{let T=$.getRow(G);if(Z?.compression?.isCompressed)return F2(T,Z.scrollPosition,j,Z.totalItems,Z.containerSize,Z.compression,Z.rangeStart);return j.getOffset(T)},U2=(G,Z)=>{let T=w&&$.getCol(G)===0,c=T?0:$.getCol(G),R=T?0:$.getColumnOffset(c,F),k;if(w){let o=$.getRow(G),E=0,z=new Set;for(let S=0;S<G;S++){let r=$.getRow(S);if(r<o&&!z.has(r)){let g=j.getSize(S);E+=g,z.add(r)}}k=E}else k=Y2(G,Z);if(b)return`translate(${Math.round(k)}px, ${Math.round(R)}px)`;return`translate(${Math.round(R)}px, ${Math.round(k)}px)`},x=(G,Z)=>{G.style.transform=Z},u=(G,Z)=>{let T=G.dataset.id?.startsWith("__group_header"),c=T?F:$.getColumnWidth(F),R;if(w||T)R=j.getSize(Z)-$.gap;else{let k=$.getRow(Z);R=j.getSize(k)-$.gap}if(b)G.style.width=`${R}px`,G.style.height=`${c}px`;else G.style.width=`${c}px`,G.style.height=`${R}px`},e=(G,Z,T,c,R)=>{let k=M.acquire(),o=V(T,c);if(k.className=A,k.dataset.index=String(G),k.dataset.id=String(Z.id),k.dataset.row=String($.getRow(G)),k.dataset.col=String($.getCol(G)),k.ariaSelected=String(T),N)k.id=`${N}-item-${G}`;if(B){let S=B();if(S!==_)_=S,W=String(S);k.setAttribute("aria-setsize",W),k.setAttribute("aria-posinset",String(G+1))}u(k,G);let E=Q(Z,G,o);if(n(k,E),String(Z.id).startsWith(O2))k.classList.add(m);return l(k,T,c),x(k,R),{element:k,lastItemId:Z.id,lastSelected:T,lastFocused:c,lastTransform:R,lastSeenFrame:H}},X2=(G,Z,T,c,R)=>{if(H++,Z.start===0&&G.length>0)w=T2(G[0]);for(let[E,z]of X)if(E>=Z.start&&E<=Z.end)z.lastSeenFrame=H;else if(H-z.lastSeenFrame>IJ)M.release(z.element),X.delete(E);let k=!1;if(B){let E=B();if(E!==_)_=E,W=String(E),k=!0}let o=null;for(let E=Z.start;E<=Z.end;E++){let z=E-Z.start,S=G[z];if(!S){console.warn(`⚠️ RENDER: Missing item at index ${E} (range: ${Z.start}-${Z.end}, items.length: ${G.length})`);continue}let r=T.has(S.id),g=E===c,h=X.get(E);if(h){let J2=h.lastItemId!==S.id,v=h.lastSelected!==r,f=h.lastFocused!==g;if(J2){let K2=String(h.lastItemId),Q2=String(S.id),j2=K2.startsWith(O2),N2=Q2.startsWith(O2);if(!N2&&E2(T,E,S.id))r=!0;let _2=V(r,g),s=Q(S,E,_2);if(n(h.element,s),h.element.dataset.id=Q2,h.element.dataset.row=String($.getRow(E)),h.element.dataset.col=String($.getCol(E)),u(h.element,E),h.element.classList.toggle(m,N2),j2&&!N2)h.element.classList.add(I),setTimeout(()=>h.element.classList.remove(I),300);h.lastItemId=S.id}if(J2||v||f)l(h.element,r,g),h.element.ariaSelected=String(r),h.lastSelected=r,h.lastFocused=g;let p=U2(E,R);if(h.lastTransform!==p)x(h.element,p),h.lastTransform=p;if(k)h.element.setAttribute("aria-setsize",W)}else{if(E2(T,E,S.id))r=!0;let J2=U2(E,R),v=e(E,S,r,g,J2);if(!o)o=document.createDocumentFragment();o.appendChild(v.element),X.set(E,v)}}if(o)J.appendChild(o)},L=(G)=>{for(let[Z,T]of X){let c=U2(Z,G);if(T.lastTransform!==c)x(T.element,c),T.lastTransform=c}},U=(G,Z,T,c)=>{let R=X.get(G);if(!R)return;let k=V(T,c),o=Q(Z,G,k);n(R.element,o),l(R.element,T,c),R.element.dataset.id=String(Z.id),R.element.ariaSelected=String(T),u(R.element,G),R.lastItemId=Z.id,R.lastSelected=T,R.lastFocused=c},D=(G,Z,T)=>{let c=X.get(G);if(!c)return;let R=c.lastSelected!==Z,k=c.lastFocused!==T;if(R||k)l(c.element,Z,T),c.lastSelected=Z,c.lastFocused=T},O=(G)=>{return X.get(G)?.element},C=(G)=>{if(Math.abs(G-F)<1)return;F=G;for(let[Z,T]of X){u(T.element,Z);let c=U2(Z);x(T.element,c),T.lastTransform=c}},a=()=>{R2(J,X.keys(),(G)=>X.get(G)?.element)},i=()=>{for(let[,G]of X)M.release(G.element);X.clear()};return{render:X2,updatePositions:L,updateItem:U,updateItemClasses:D,getElement:O,sortDOM:a,updateContainerWidth:C,clear:i,destroy:()=>{i(),M.clear()}}};var UJ=(J,Q=50,j=1/0,$=!0)=>{let q=J,Y=[],B=0,N=()=>{Y=q.map((K,V)=>({def:K,index:V,width:0,minWidth:pJ(K.minWidth??Q,1),maxWidth:K.maxWidth??j,resizable:K.resizable??$,offset:0}))},b=(K)=>{if(Y.length===0){B=0;return}let V=0,A=0;for(let y=0;y<Y.length;y++){let P=Y[y],m=P.def;if(m.width!==void 0)P.width=p2(m.width,P.minWidth,P.maxWidth),V+=P.width;else A++}if(A>0){let P=Math.max(0,K-V)/A;for(let m=0;m<Y.length;m++){let I=Y[m];if(I.def.width===void 0)I.width=p2(P,I.minWidth,I.maxWidth)}}M()},M=()=>{let K=0;for(let V=0;V<Y.length;V++){let A=Y[V];A.offset=K,K+=A.width}B=K},X=(K,V)=>{if(K<0||K>=Y.length)return 0;let A=Y[K];if(!A.resizable)return A.width;let y=p2(V,A.minWidth,A.maxWidth);return A.width=y,M(),y},F=(K)=>{return Y[K]},w=(K)=>{if(Y.length===0)return;if(K<0)return Y[0];if(K>=B)return Y[Y.length-1];let V=0,A=Y.length-1;while(V<A){let y=V+A>>>1,P=Y[y];if(K<P.offset)A=y-1;else if(K>=P.offset+P.width)V=y+1;else return P}return Y[V]},H=(K)=>{if(K<0||K>=Y.length)return 0;return Y[K].offset},W=(K)=>{if(K<0||K>=Y.length)return 0;return Y[K].width},_=(K)=>{q=K,N()};return N(),{get columns(){return Y},get totalWidth(){return B},resolve:b,updateColumns:_,resizeColumn:X,getColumn:F,getColumnAtX:w,getColumnOffset:H,getColumnWidth:W}},p2=(J,Q,j)=>Math.min(j,Math.max(Q,J)),pJ=(J,Q)=>Math.max(Q,J);var NJ=(J,Q,j,$,q,Y)=>{let B=document.createElement("div");B.setAttribute("role","rowgroup");let N=document.createElement("div");N.className=`${j}-table-header`,N.setAttribute("role","row"),N.setAttribute("aria-rowindex","1"),N.style.height=`${Q}px`;let b=document.createElement("div");b.className=`${j}-table-header-scroll`,b.setAttribute("role","presentation"),N.appendChild(b),B.appendChild(N),J.insertBefore(B,J.firstChild),J.style.setProperty("--vlist-table-header-height",`${Q}px`);let M=[],X=[],F=[],w=!0,H=null,W="asc",_=null,K=!1,V=-1,A=0,y=0,P=(U,D)=>{let O=document.createElement("div");O.className=`${j}-table-header-cell`,O.setAttribute("role","columnheader"),O.setAttribute("aria-colindex",String(D+1)),O.dataset.columnKey=U.def.key;let C=U.def.align;if(C==="center")O.classList.add(`${j}-table-header-cell--center`);else if(C==="right")O.classList.add(`${j}-table-header-cell--right`);let a=document.createElement("div");a.className=`${j}-table-header-content`;let i=U.def.header?U.def.header(U.def):U.def.label;if(typeof i==="string")a.textContent=i;else a.appendChild(i);if(O.appendChild(a),U.def.sortable){let d=document.createElement("span");d.className=`${j}-table-header-sort`,d.setAttribute("aria-hidden","true"),O.appendChild(d),F.push(d),O.classList.add(`${j}-table-header-cell--sortable`)}else F.push(null);if(U.resizable){let d=document.createElement("div");d.className=`${j}-table-header-resize`,d.dataset.resizeIndex=String(D),O.appendChild(d),X.push(d)}return O},m=(U)=>{_=U,b.textContent="",M=[],X=[],F=[];let D=U.columns;for(let O=0;O<D.length;O++){let C=D[O],a=P(C,O);M.push(a),b.appendChild(a)}if(I(U),H)n(H,W)},I=(U)=>{_=U;let D=U.columns;b.style.width=`${U.totalWidth}px`;for(let O=0;O<M.length&&O<D.length;O++){let C=M[O],a=D[O];C.style.width=`${a.width}px`}},n=(U,D)=>{if(H=U,W=D,!_)return;let O=_.columns;for(let C=0;C<F.length&&C<O.length;C++){let a=F[C];if(!a)continue;if(O[C].def.key===U&&U!==null)a.textContent=D==="asc"?"▲":"▼",a.style.opacity="0.7",M[C].setAttribute("aria-sort",D==="asc"?"ascending":"descending");else a.textContent="",a.style.opacity="0",M[C].removeAttribute("aria-sort")}},l=(U)=>{b.style.transform=`translateX(${-U}px)`},Y2=(U)=>{let D=U.target;if(!D.dataset.resizeIndex)return;if(U.preventDefault(),U.stopPropagation(),V=parseInt(D.dataset.resizeIndex,10),!_)return;let O=_.getColumn(V);if(!O||!O.resizable)return;K=!0,A=U.clientX,y=O.width,J.classList.add(`${j}--col-resizing`),J.style.cursor="col-resize",D.classList.add(`${j}-table-header-resize--active`),D.setPointerCapture(U.pointerId),D.addEventListener("pointermove",U2),D.addEventListener("pointerup",x),D.addEventListener("pointercancel",x)},U2=(U)=>{if(!K||!_)return;let D=U.clientX-A;if(Math.abs(D)<1)return;let O=Math.max(0,y+D);$(V,O)},x=(U)=>{if(!K)return;let D=U.target;D.removeEventListener("pointermove",U2),D.removeEventListener("pointerup",x),D.removeEventListener("pointercancel",x);try{D.releasePointerCapture(U.pointerId)}catch{}D.classList.remove(`${j}-table-header-resize--active`),J.classList.remove(`${j}--col-resizing`),J.style.cursor="",K=!1,V=-1},u=(U)=>{let D=U.target;if(D.dataset.resizeIndex!==void 0)return;if(K)return;let O=D;while(O&&!O.dataset.columnKey)if(O=O.parentElement,O===N||O===null)return;if(!O||!O.dataset.columnKey)return;let C=O.dataset.columnKey;if(!_)return;let a=_.columns,i=-1;for(let G=0;G<a.length;G++)if(a[G].def.key===C){i=G;break}if(i===-1)return;let d=a[i];if(Y)Y({key:C,index:i,event:U});if(d.def.sortable&&q){let G;if(H===C)if(W==="asc")G="desc";else G=null;else G="asc";q({key:C,index:i,direction:G})}};return N.addEventListener("pointerdown",Y2),N.addEventListener("click",u),{element:N,update:I,updateSort:n,rebuild:m,show:()=>{if(w)return;w=!0,N.style.display=""},hide:()=>{if(!w)return;w=!1,N.style.display="none"},destroy:()=>{N.removeEventListener("pointerdown",Y2),N.removeEventListener("click",u),J.style.removeProperty("--vlist-table-header-height"),B.remove(),M=[],X=[],F=[],_=null,w=!1},syncScroll:l}};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,j,$,q,Y,B,N,b)=>{let M=hJ(),X=new Map,F=-1,w=j,H=null,W=null,_=null,K=(E,z)=>{W=E,_=z},V=(E,z)=>{if(z)E.setAttribute("aria-selected","true");else E.removeAttribute("aria-selected")},A=(E,z,S,r)=>{E.setAttribute("role",z),E.setAttribute("data-id",String(S)),E.setAttribute("data-index",String(r))},y=(E)=>String(E).startsWith("__placeholder_"),P=`${q}-item ${q}-table-row`,m=`${q}-item--selected`,I=`${q}-item--focused`,n=`${q}-table-cell`,l=`${q}-table-cell--center`,Y2=`${q}-table-cell--right`,U2=`${q}-item--odd`,x=`${q}-item--placeholder`,u=`${q}-item--replaced`,e=`${q}-item ${q}-table-row ${q}-table-group-header`,X2=`${q}-table-group-header-content`,L=(E,z,S,r,g=!1)=>{if(S.def.cell){let h=S.def.cell(z,S.def,r);if(typeof h==="string")E.innerHTML=h;else E.replaceChildren(h)}else{let h=z[S.def.key],J2=h!=null?String(h):"";if(g&&J2)E.innerHTML=`<span>${J2}</span>`;else E.textContent=J2}},U=(E,z,S,r,g=!1)=>{let h=P;if(N){if(H){let J2=H(z);if(J2>=0&&(J2&1)===1)h+=` ${U2}`}else if((z&1)===1)h+=` ${U2}`}if(g)h+=` ${x}`;if(S)h+=` ${m}`;if(r)h+=` ${I}`;E.className=h},D=(E,z,S)=>{if(S?.compression?.isCompressed)return Math.round(F2(E,S.scrollPosition,z,S.totalItems,S.containerSize,S.compression,S.rangeStart));return z.getOffset(E)},O=(E,z)=>{let S=z.def.align;if(S==="center")E.classList.add(l),E.classList.remove(Y2);else if(S==="right")E.classList.add(Y2),E.classList.remove(l);else E.classList.remove(l,Y2)},C=(E,z)=>{let r=w.columns.length;if(z.length===r)return z;let g=[];for(let h=0;h<r;h++){let J2;if(h<z.length)J2=z[h];else J2=document.createElement("div"),J2.className=n,E.appendChild(J2);g.push(J2)}for(let h=r;h<z.length;h++)z[h].remove();return g},a=(E,z,S,r)=>{let g=M.acquire(),h=E,J2=S.getSize(z),v=D(z,S,r);g.style.cssText=`width:${w.totalWidth}px;height:${J2}px;transform:translateY(${v}px)`,g.className=e,A(g,"presentation",E.id,z),g.removeAttribute("aria-selected"),g.removeAttribute("aria-rowindex"),g.replaceChildren();let f=document.createElement("div");if(f.className=X2,_){let p=_(h.groupKey,h.groupIndex);if(typeof p==="string")f.innerHTML=p;else f.appendChild(p)}return g.appendChild(f),{element:g,cells:[],index:z,isGroupHeader:!0,lastItemId:E.id,lastSelected:!1,lastFocused:!1,lastOffset:v,lastHeight:J2}},i=(E,z,S,r,g,h)=>{let J2=M.acquire(),v=g.getSize(z),f=D(z,g,h),p=y(E.id);J2.style.cssText=`width:${w.totalWidth}px;height:${v}px;transform:translateY(${f}px)`,U(J2,z,S,r,p),A(J2,"row",E.id,z),J2.id=`${Y}-${z}`,J2.setAttribute("aria-rowindex",String(z+2)),V(J2,S);let K2=C(J2,[]),Q2=w.columns;for(let j2=0;j2<K2.length&&j2<Q2.length;j2++){let N2=K2[j2],_2=Q2[j2];N2.style.cssText=`left:${_2.offset}px;width:${_2.width}px`,N2.setAttribute("role","gridcell"),N2.setAttribute("aria-colindex",String(j2+1)),O(N2,_2),L(N2,E,_2,z,p)}return{element:J2,cells:K2,index:z,isGroupHeader:!1,lastItemId:E.id,lastSelected:S,lastFocused:r,lastOffset:f,lastHeight:v}},d=(E,z,S,r,g)=>{for(let[p,K2]of X)if(p<z.start||p>z.end)M.release(K2.element),X.delete(p);let h=!1,J2=B();if(J2!==F)F=J2,h=!0;let v=null,f=Q();H=typeof N==="string"&&b?b():null;for(let p=z.start;p<=z.end;p++){let K2=p-z.start,Q2=E[K2];if(!Q2)continue;let j2=S.has(Q2.id),N2=p===r,_2=W?W(Q2):!1,s=X.get(p);if(s){if(s.isGroupHeader!==_2){M.release(s.element),X.delete(p);let B2=_2?a(Q2,p,f,g):i(Q2,p,j2,N2,f,g);if(X.set(p,B2),!v)v=document.createDocumentFragment();v.appendChild(B2.element);continue}if(_2){if(s.lastItemId!==Q2.id){let q2=Q2,$2=s.element.firstElementChild;if($2&&_){let G2=_(q2.groupKey,q2.groupIndex);if(typeof G2==="string")$2.innerHTML=G2;else $2.replaceChildren(G2)}s.element.setAttribute("data-id",String(Q2.id)),s.lastItemId=Q2.id}let D2=D(p,f,g);if(s.lastOffset!==D2)s.lastOffset=D2,s.element.style.transform=`translateY(${D2}px)`;let t=f.getSize(p);if(s.lastHeight!==t)s.lastHeight=t,s.element.style.height=`${t}px`}else{let B2=s.lastItemId!==Q2.id,D2=s.lastSelected!==j2,t=s.lastFocused!==N2;if(B2){let G2=s.lastItemId!=null&&y(s.lastItemId),Z2=y(Q2.id);if(!Z2&&E2(S,p,Q2.id))j2=!0;let V2=w.columns;for(let W2=0;W2<s.cells.length&&W2<V2.length;W2++)L(s.cells[W2],Q2,V2[W2],p,Z2);if(U(s.element,p,j2,N2,Z2),s.element.setAttribute("data-id",String(Q2.id)),V(s.element,j2),G2&&!Z2)s.element.classList.add(u),setTimeout(()=>{s.element.classList.remove(u)},300);s.lastItemId=Q2.id,s.lastSelected=j2,s.lastFocused=N2}else if(D2||t)U(s.element,p,j2,N2,y(Q2.id)),V(s.element,j2),s.lastSelected=j2,s.lastFocused=N2;let q2=D(p,f,g);if(s.lastOffset!==q2)s.lastOffset=q2,s.element.style.transform=`translateY(${q2}px)`;let $2=f.getSize(p);if(s.lastHeight!==$2)s.lastHeight=$2,s.element.style.height=`${$2}px`;if(h)s.element.setAttribute("aria-rowindex",String(p+2))}}else{if(E2(S,p,Q2.id))j2=!0;let B2=_2?a(Q2,p,f,g):i(Q2,p,j2,N2,f,g);if(X.set(p,B2),!v)v=document.createDocumentFragment();v.appendChild(B2.element)}}if(v)J.appendChild(v)},G=(E)=>{let z=Q();for(let[S,r]of X){let g=D(S,z,E);if(r.lastOffset!==g)r.lastOffset=g,r.element.style.transform=`translateY(${g}px)`}},Z=(E,z,S,r)=>{let g=X.get(E);if(!g)return;if(g.isGroupHeader)return;let h=w.columns;for(let J2=0;J2<g.cells.length&&J2<h.length;J2++)L(g.cells[J2],z,h[J2],E);g.element.setAttribute("data-id",String(z.id)),g.lastItemId=z.id,U(g.element,E,S,r),V(g.element,S),g.lastSelected=S,g.lastFocused=r},T=(E,z,S)=>{let r=X.get(E);if(!r)return;if(r.isGroupHeader)return;let g=r.lastSelected!==z,h=r.lastFocused!==S;if(g||h)U(r.element,E,z,S),V(r.element,z),r.lastSelected=z,r.lastFocused=S},c=(E)=>{w=E;let z=E.columns;for(let[,S]of X)if(S.element.style.width=`${E.totalWidth}px`,S.cells.length>0)for(let r=0;r<S.cells.length&&r<z.length;r++){let g=S.cells[r],h=z[r];g.style.left=`${h.offset}px`,g.style.width=`${h.width}px`}},R=(E)=>{return X.get(E)?.element},k=()=>{for(let[,E]of X)M.release(E.element);X.clear(),F=-1};return{render:d,updatePositions:G,updateItem:Z,updateItemClasses:T,getElement:R,updateColumnLayout:c,setGroupHeaderFn:K,clear:k,destroy:()=>{k(),M.clear()}}};var GJ=(J)=>{let Q=Math.max(1,Math.floor(J.columns)),j=J.gap??0,$=J.containerSize,q=0,Y=[],B=()=>{let K=(Q-1)*j;q=Math.max(0,($-K)/Q),Y=Array(Q);let V=q+j;for(let A=0;A<Q;A++)Y[A]=A*V};B();let N=[],b=0,M=[],X=(K)=>{let V=0,A=K[0];for(let y=1;y<K.length;y++){let P=K[y];if(P<A)A=P,V=y}return V},F=(K,V)=>{if(K<=0)return b=0,N=[],[];let A=Array(Q).fill(0),y=Array(Q);for(let I=0;I<Q;I++)y[I]=[];let P=Array(K);for(let I=0;I<K;I++){let n=X(A),l=V(I),Y2=A[n];P[I]={index:I,x:Y[n],y:Y2,lane:n,size:l,crossSize:q},y[n].push(I),A[n]=Y2+l+j}N=y;let m=0;for(let I=0;I<Q;I++){let n=A[I],l=n>0?n-j:0;if(l>m)m=l}return b=m,P},w=(K)=>{if(K.length===0)return b>0?b:0;if(b>0)return b;let V=Array(Q).fill(0);for(let y of K){let P=y.y+y.size,m=V[y.lane];if(P>m)V[y.lane]=P}let A=0;for(let y=0;y<Q;y++)if(V[y]>A)A=V[y];return A},H=(K,V,A)=>{if(K.length===0||A<=V)return M.length=0,M;if(N.length===0||N.length!==Q)return W(K,V,A);M.length=0;for(let y=0;y<Q;y++){let P=N[y],m=P.length;if(m===0)continue;let I=0,n=m;while(I<n){let l=I+n>>>1,Y2=K[P[l]];if(Y2.y+Y2.size<=V)I=l+1;else n=l}for(let l=I;l<m;l++){let Y2=K[P[l]];if(Y2.y>=A)break;M.push(Y2)}}return M},W=(K,V,A)=>{let y=[];for(let P of K)if(P.y+P.size>V&&P.y<A)y.push(P);return y};return{get columns(){return Q},get gap(){return j},get containerSize(){return $},update:(K)=>{let V=!1;if(K.columns!==void 0){let A=Math.max(1,Math.floor(K.columns));if(A!==Q)Q=A,V=!0}if(K.gap!==void 0&&K.gap!==j)j=K.gap,V=!0;if(K.containerSize!==void 0&&K.containerSize!==$)$=K.containerSize,V=!0;if(V)B()},calculateLayout:F,getTotalSize:w,getVisibleItems:H}};var xJ=(J=200)=>{let Q=[];return{acquire:()=>{let Y=Q.pop();if(Y)return Y;let B=document.createElement("div");return B.setAttribute("role","option"),B},release:(Y)=>{if(Y.remove(),Q.length<J)Y.className="",Y.textContent="",Y.removeAttribute("style"),Y.removeAttribute("data-index"),Y.removeAttribute("data-id"),Y.removeAttribute("data-lane"),Q.push(Y)},clear:()=>{Q.length=0}}},gJ=1,_J=(J,Q,j,$=!1,q,Y)=>{let B=xJ(),N=new Map,b=new Set,M=0,X="",F=-1,w={selected:!1,focused:!1},H=(x,u)=>{return w.selected=x,w.focused=u,w},W=`${j}-item ${j}-masonry-item`,_=`${j}-item--selected`,K=`${j}-item--focused`,V=(x,u)=>{if(typeof u==="string")x.innerHTML=u;else x.replaceChildren(u)},A=(x,u,e)=>{x.classList.toggle(_,u),x.classList.toggle(K,e)},y=(x,u)=>{if($)x.style.transform=`translate(${Math.round(u.y)}px, ${Math.round(u.x)}px)`;else x.style.transform=`translate(${Math.round(u.x)}px, ${Math.round(u.y)}px)`},P=(x,u)=>{if($)x.style.width=`${u.size}px`,x.style.height=`${u.crossSize}px`;else x.style.width=`${u.crossSize}px`,x.style.height=`${u.size}px`},m=(x,u,e,X2,L)=>{let U=B.acquire(),D=H(X2,L);if(U.className=W,U.dataset.index=String(x),U.dataset.id=String(u.id),U.dataset.lane=String(e.lane),U.ariaSelected=String(X2),Y)U.id=`${Y}-item-${x}`;if(q){let C=q();if(C!==F)F=C,X=String(C);U.setAttribute("aria-setsize",X),U.setAttribute("aria-posinset",String(x+1))}P(U,e);let O=Q(u,x,D);return V(U,O),A(U,X2,L),y(U,e),{element:U,lastItemId:u.id,lastSelected:X2,lastFocused:L,lastY:e.y,lastX:e.x,lastSize:e.size,lastCrossSize:e.crossSize,lastSeenFrame:M}},I=(x,u,e,X2)=>{M++,b.clear();for(let U=0;U<u.length;U++)b.add(u[U].index);for(let[U,D]of N)if(b.has(U))D.lastSeenFrame=M;else if(M-D.lastSeenFrame>gJ)B.release(D.element),N.delete(U);let L=null;for(let U=0;U<u.length;U++){let D=u[U],O=D.index,C=x(O);if(!C)continue;let a=e.has(C.id),i=O===X2,d=N.get(O);if(d){let G=d.lastItemId!==C.id,Z=d.lastSelected!==a,T=d.lastFocused!==i,c=d.lastY!==D.y||d.lastX!==D.x,R=d.lastSize!==D.size||d.lastCrossSize!==D.crossSize;if(G){let k=H(a,i),o=Q(C,O,k);V(d.element,o),d.element.dataset.id=String(C.id),d.lastItemId=C.id}if(G||Z||T)A(d.element,a,i),d.element.ariaSelected=String(a),d.lastSelected=a,d.lastFocused=i;if(R)P(d.element,D),d.lastSize=D.size,d.lastCrossSize=D.crossSize;if(c)y(d.element,D),d.lastY=D.y,d.lastX=D.x}else{let G=m(O,C,D,a,i);if(!L)L=document.createDocumentFragment();L.appendChild(G.element),N.set(O,G)}}if(L)J.appendChild(L)},n=()=>{for(let{element:x}of N.values())B.release(x);N.clear(),J.innerHTML=""};return{render:I,getElement:(x)=>N.get(x)?.element,updateItemClasses:(x,u,e)=>{let X2=N.get(x);if(!X2)return;let L=X2.lastSelected!==u,U=X2.lastFocused!==e;if(L||U)A(X2.element,u,e),X2.lastSelected=u,X2.lastFocused=e},sortDOM:()=>{R2(J,N.keys(),(x)=>N.get(x)?.element)},clear:n,destroy:()=>{n(),B.clear()}}};var DJ=(J,Q)=>{let j=new Map,$=(Y)=>{let B=j.get(Y);return B!==void 0?B:J},q=L2($,Q);return{getOffset(Y){return q.getOffset(Y)},getSize(Y){return $(Y)},indexAtOffset(Y){return q.indexAtOffset(Y)},getTotalSize(){return q.getTotalSize()},getTotal(){return q.getTotal()},rebuild(Y){if(Y<q.getTotal()){for(let B of j.keys())if(B>=Y)j.delete(B)}q=L2($,Y)},isVariable(){return!0},setMeasuredSize(Y,B){j.set(Y,B)},isMeasured(Y){return j.has(Y)},getEstimatedSize(){return J},measuredCount(){return j.size}}};var VJ=(J,Q,j,$,q,Y)=>{if($===0||Q===0)return Y.start=0,Y.end=-1,Y;let B=j.indexAtOffset(J),N=j.indexAtOffset(J+Q);if(N<$-1)N++;return Y.start=Math.max(0,B),Y.end=Math.min($-1,Math.max(0,N)),Y},WJ=(J,Q,j,$)=>{if(j===0)return $.start=0,$.end=-1,$;return $.start=Math.max(0,J.start-Q),$.end=Math.min(j-1,J.end+Q),$},MJ=(J,Q,j,$,q,Y)=>{if($===0)return 0;let B=Math.max(0,Math.min(J,$-1)),N=Q.getOffset(B),b=Q.getSize(B),M=Q.getTotalSize(),X=Math.max(0,M-j),F;switch(Y){case"center":F=N-j/2+b/2;break;case"end":F=N-j+b;break;case"start":default:F=N;break}return Math.max(0,Math.min(F,X))},OJ=(J,Q,j)=>{if(j&&j.isCompressed)return j.virtualSize;return Q.getTotalSize()},AJ=(J,Q)=>{return Q.getTotalSize()},EJ=(J,Q)=>{return Q.getOffset(J)},FJ=(J,Q,j)=>{let $=Math.max(0,Q-j);return Math.max(0,Math.min(J,$))};var LJ=(J,Q,j,$,q="start",Y,B=MJ)=>{return B(J,Q,j,$,Y,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 j=[],$=[];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)j.push(q);return{add:j,remove:$}};var yJ=()=>{let J={},Q=(Y,B)=>{if(!J[Y])J[Y]=new Set;return J[Y].add(B),()=>j(Y,B)},j=(Y,B)=>{J[Y]?.delete(B)};return{on:Q,off:j,emit:(Y,B)=>{J[Y]?.forEach((N)=>{try{N(B)}catch(b){console.error(`[vlist] Error in event handler for "${String(Y)}":`,b)}})},clear:(Y)=>{if(Y)delete J[Y];else for(let B in J)delete J[B]}}};var y2=(J={})=>{let{chunkSize:Q=100,maxCachedItems:j=5000,evictionBuffer:$=200,onEvict:q}=J,Y=new Map,B=0,N=0,b=(L)=>{let U=Y.get(L);if(!U)U={items:Array(Q),count:0,lastAccess:Date.now()},Y.set(L,U);else U.lastAccess=Date.now();return U},M=(L)=>{return Math.floor(L/Q)},X=(L)=>{return L%Q},F=()=>B,w=(L)=>{B=L},H=(L)=>{if(L<0||L>=B)return;let U=M(L),D=Y.get(U);if(!D)return;return D.items[X(L)]},W=(L)=>{if(L<0||L>=B)return!1;let U=M(L),D=Y.get(U);if(!D)return!1;return D.items[X(L)]!==void 0},_=(L,U)=>{let D=M(L),O=b(D),C=X(L),a=O.items[C]===void 0;if(O.items[C]=U,a)O.count++,N++;if(L>=B)B=L+1},K=(L,U)=>{for(let D=0;D<U.length;D++){let O=U[D];if(O!==void 0)_(L+D,O)}},V=(L)=>{if(L<0||L>=B)return!1;let U=M(L),D=Y.get(U),O=X(L);if(!(D!==void 0&&D.items[O]!==void 0))return!1;let a=U,i=Array.from(Y.keys()).filter((G)=>G>=a).sort((G,Z)=>G-Z),d=[];for(let G of i){let Z=Y.get(G),T=G*Q;for(let c=0;c<Q;c++){if(Z.items[c]===void 0)continue;let R=T+c;if(R<=L)continue;d.push({oldIndex:R,item:Z.items[c]})}}if(D.items[O]=void 0,D.count--,N--,D.count===0)Y.delete(U);for(let{oldIndex:G}of d){let Z=M(G),T=Y.get(Z);if(!T)continue;let c=X(G);if(T.items[c]!==void 0){if(T.items[c]=void 0,T.count--,N--,T.count===0)Y.delete(Z)}}for(let{oldIndex:G,item:Z}of d){let T=G-1,c=M(T),R=b(c),k=X(T);R.items[k]=Z,R.count++,N++}return B--,!0},A=(L,U)=>{let D=[];for(let O=L;O<=U&&O<B;O++)D.push(H(O));return D},y=(L,U)=>{for(let D=L;D<=U&&D<B;D++)if(!W(D))return!1;return!0},P=()=>{let L=[],U=null,D=Array.from(Y.keys()).sort((O,C)=>O-C);for(let O of D){let C=Y.get(O);if(!C)continue;let a=O*Q;for(let i=0;i<Q;i++){let d=a+i;if(d>=B)break;if(C.items[i]!==void 0)if(U===null)U={start:d,end:d};else if(d===U.end+1)U.end=d;else L.push(U),U={start:d,end:d};else if(U!==null)L.push(U),U=null}}if(U!==null)L.push(U);return L},m=(L,U)=>{let D=[],O=null;for(let C=L;C<=U&&C<B;C++)if(!W(C))if(O===null)O={start:C,end:C};else O.end=C;else if(O!==null)D.push(O),O=null;if(O!==null)D.push(O);return D},I=(L)=>{return Y.has(L)},n=(L)=>{let U=Y.get(L);if(U)U.lastAccess=Date.now()},l=(L,U)=>{if(L>U||Y.size===0)return;let D=Date.now(),O=M(Math.max(0,L)),C=M(Math.min(B-1,U));for(let a=O;a<=C;a++){let i=Y.get(a);if(i)i.lastAccess=D}},Y2=(L,U)=>{if(N<=j)return 0;let D=Math.max(0,L-$),O=Math.min(B-1,U+$),C=M(D),a=M(O),i=0,d=[];for(let[G,Z]of Y)if(G<C||G>a)i+=Z.count,d.push(G),N-=Z.count,Y.delete(G);if(i>0&&q)q(i,d);return i},U2=()=>{if(N<=j)return 0;let L=Array.from(Y.entries()).sort(([,O],[,C])=>O.lastAccess-C.lastAccess),U=0,D=[];for(let[O,C]of L){if(N<=j)break;U+=C.count,N-=C.count,D.push(O),Y.delete(O)}if(U>0&&q)q(U,D);return U},x=()=>{return{totalItems:B,cachedItems:N,cachedChunks:Y.size,chunkSize:Q,maxCachedItems:j,memoryEfficiency:B>0?1-N/B:1}},u=()=>N,e=()=>{Y.clear(),N=0};return{chunkSize:Q,maxCachedItems:j,getTotal:F,setTotal:w,get:H,has:W,set:_,setRange:K,delete:V,getRange:A,isRangeLoaded:y,getLoadedRanges:P,findUnloadedRanges:m,getChunkIndex:M,isChunkLoaded:I,touchChunk:n,touchChunksForRange:l,evictDistant:Y2,evictToLimit:U2,getStats:x,getCachedCount:u,clear:e,reset:()=>{e(),B=0}}},P2=(J)=>{if(J.length===0)return[];let Q=[...J].sort(($,q)=>$.start-q.start),j=[{...Q[0]}];for(let $=1;$<Q.length;$++){let q=Q[$],Y=j[j.length-1];if(q.start<=Y.end+1)Y.end=Math.max(Y.end,q.end);else j.push({...q})}return j},b2=(J,Q,j)=>{let $=Math.floor(J.start/j)*j,q=Math.ceil((J.end+1)/j)*j-1,Y={start:$,end:q};if(Q.length===0)return[Y];let B=[],N=P2(Q),b=Y.start;for(let M of N){if(M.end<b)continue;if(M.start>Y.end)break;if(M.start>b)B.push({start:b,end:Math.min(M.start-1,Y.end)});if(b=M.end+1,b>Y.end)break}if(b<=Y.end)B.push({start:b,end:Y.end});return B};var k2=(J={})=>{let{maskCharacter:Q=l2,maxSampleSize:j=a2}=J,$=[],q=!1,Y=(X)=>{if(q||X.length===0)return;let F=Math.min(X.length,j);for(let w=0;w<F;w++){let H=X[w];if(!H||typeof H!=="object")continue;let W={};for(let[_,K]of Object.entries(H)){if(_.startsWith("_")||_==="id")continue;W[_]=String(K??"").length}if(Object.keys(W).length>0)$.push(W)}q=!0},B=()=>q,N=(X)=>{let F={id:`${O2}${X}`,[C2]:!0,_index:X};if($.length===0)return F.label=Q.repeat(12),F;let w=$[X%$.length];for(let[H,W]of Object.entries(w))F[H]=Q.repeat(Math.max(1,W));return F};return{analyzeStructure:Y,hasAnalyzedStructure:B,generate:N,generateRange:(X,F)=>{let w=[];for(let H=X;H<=F;H++)w.push(N(H));return w},clear:()=>{$=[],q=!1}}},A2=(J)=>{if(!J||typeof J!=="object")return!1;return J[C2]===!0},h2=(J)=>{return J.filter((Q)=>!A2(Q))};var mJ=50,PJ=(J={})=>{let{adapter:Q,initialItems:j,initialTotal:$,storage:q,placeholder:Y,pageSize:B=mJ,onStateChange:N,onItemsLoaded:b,onItemsEvicted:M}=J,X=y2({...q,onEvict:(v,f)=>{M?.(v),l()}}),F=null,w=()=>{if(!F)F=k2(Y);return F},H=new Map,W=!1,_,K=!0,V,A,y=[],P=0,m=new Map,I=new Map,n=()=>{for(let v of I.values())v.abort();I.clear(),m.clear()},l=()=>{N?.(D())},Y2=()=>{H.clear();let v=X.getLoadedRanges();for(let f of v)for(let p=f.start;p<=f.end;p++){let K2=X.get(p);if(K2&&!A2(K2))H.set(K2.id,p)}},U2=(v,f)=>{if(!A2(f))H.set(f.id,v)},x=(v)=>{H.delete(v)},u=(v,f)=>{return`${v}-${f}`},e=()=>X.getTotal(),X2=()=>X.getCachedCount(),L=()=>W,U=()=>K,D=()=>({total:X.getTotal(),cached:X.getCachedCount(),isLoading:W,pendingRanges:y,error:_,hasMore:K,cursor:V}),O=()=>X,C=()=>w(),a=(v)=>{let f=X.get(v);if(f!==void 0)return f;if(v>=0&&v<X.getTotal())return w().generate(v);return},i=(v)=>{let f=H.get(v);if(f===void 0)return;return X.get(f)},d=(v)=>{return H.get(v)??-1},G=(v)=>{let f=X.get(v);return f!==void 0&&!A2(f)},Z=(v,f)=>{let p=[],K2=X.getTotal(),Q2=0,j2=0;X.touchChunksForRange(v,Math.min(f,K2-1));for(let N2=v;N2<=f&&N2<K2;N2++){let _2=X.get(N2);if(_2!==void 0)p.push(_2),Q2++;else p.push(w().generate(N2)),j2++}return p},T=(v)=>{X.setTotal(v),K=X.getCachedCount()<v,l()},c=(v,f=0,p)=>{if(Q&&v.length>0){let K2=w();if(!K2.hasAnalyzedStructure())K2.analyzeStructure(v)}for(let K2=0;K2<v.length;K2++){let Q2=v[K2];if(Q2!==void 0){let j2=f+K2;X.set(j2,Q2),U2(j2,Q2)}}if(p!==void 0)X.setTotal(p);else if(f+v.length>X.getTotal())X.setTotal(f+v.length);if(X.getCachedCount()>=X.getTotal()&&X.getTotal()>0)K=!1;l(),b?.(v,f,X.getTotal())},R=(v,f)=>{let p=X.get(v);if(!p)return!1;let K2=p.id,Q2={...p,...f};if(X.set(v,Q2),f.id!==void 0&&f.id!==K2)x(K2);return U2(v,Q2),l(),!0},k=(v)=>{let f=H.get(v);if(f===void 0)return!1;if(!X.delete(f))return!1;return Y2(),n(),l(),!0},o=async(v,f)=>{if(!Q)return;let p=u(v,f);if(m.has(p))return;let K2=X.getLoadedRanges(),Q2=b2({start:v,end:f},K2,X.chunkSize);if(Q2.length===0)return;let j2=X.chunkSize,N2=j2*2;for(let[B2,D2]of I){let t=B2.indexOf("-"),q2=parseInt(B2.slice(0,t),10);if(Math.abs(q2-v)>N2)D2.abort(),I.delete(B2),m.delete(B2)}let _2=[];for(let B2 of Q2){let D2=Math.floor(B2.start/j2),t=Math.floor(B2.end/j2);for(let q2=D2;q2<=t;q2++){let $2=q2*j2,G2=$2+j2-1,Z2=u($2,G2);if(!_2.some((V2)=>V2.start===$2)&&!m.has(Z2))_2.push({start:$2,end:G2})}}let s=[];for(let B2 of Q2){let D2=Math.floor(B2.start/j2),t=Math.floor(B2.end/j2);for(let q2=D2;q2<=t;q2++){let $2=q2*j2,G2=$2+j2-1,Z2=u($2,G2);if(m.has(Z2)){let V2=m.get(Z2);if(!s.includes(V2))s.push(V2)}}}for(let B2 of _2){let D2=u(B2.start,B2.end),t=new AbortController;I.set(D2,t);let q2=(async()=>{y.push(B2),W=!0,_=void 0,l();try{let $2=B2.end-B2.start+1,G2={offset:B2.start,limit:$2,cursor:B2.start===A?V:void 0,signal:t.signal},Z2=await Q.read(G2);if(c(Z2.items,B2.start,Z2.total),Z2.cursor)V=Z2.cursor,A=B2.start+Z2.items.length;let V2=B2.start+Z2.items.length;if(V2>=P){if(P=V2,Z2.hasMore!==void 0)K=Z2.hasMore;else if(Z2.total!==void 0)K=V2<Z2.total}}catch($2){if($2?.name==="AbortError")return;_=$2 instanceof Error?$2:Error(String($2))}finally{m.delete(D2),I.delete(D2),y=y.filter(($2)=>$2.start!==B2.start||$2.end!==B2.end),W=m.size>0,l()}})();m.set(D2,q2),s.push(q2)}await Promise.all(s)},E=async(v,f)=>{if(X.isRangeLoaded(v,f))return;await o(v,f)},z=async()=>{if(!Q)return;await o(0,B-1)},S=async()=>{if(!Q||W||!K)return!1;let v=X.getCachedCount(),f=X.getTotal(),p=v,K2=Math.min(p+B-1,f>0?f-1:p+B-1);if(p>=f&&f>0)return K=!1,!1;return await o(p,K2),X.getCachedCount()>v},r=async()=>{if(X.clear(),X.setTotal(0),H.clear(),F)F.clear();n(),y=[],W=!1,V=void 0,A=void 0,K=!0,P=0,_=void 0,l()},g=(v,f)=>{if(X.evictDistant(v,f)>0)Y2()},h=()=>{X.clear(),H.clear(),V=void 0,A=void 0,_=void 0,y=[],W=!1,l()},J2=()=>{if(X.reset(),H.clear(),F)F.clear();V=void 0,A=void 0,K=!0,P=0,_=void 0,y=[],W=!1,l()};if(j&&j.length>0)c(j,0,$??j.length);else if($!==void 0)X.setTotal($),l();return{getState:D,getTotal:e,getCached:X2,getIsLoading:L,getHasMore:U,getStorage:O,getPlaceholders:C,getItem:a,getItemById:i,getIndexById:d,isItemLoaded:G,getItemsInRange:Z,setTotal:T,setItems:c,updateItem:R,removeItem:k,loadRange:o,ensureRange:E,loadInitial:z,loadMore:S,reload:r,evictDistant:g,clear:h,reset:J2}};var kJ=(J=0)=>{let Q=[,,,,,,,,];for(let j=0;j<8;j++)Q[j]={position:0,time:0};return{velocity:0,lastPosition:J,lastTime:performance.now(),samples:Q,sampleIndex:0,sampleCount:0}},z2=(J,Q)=>{let j=performance.now(),$=j-J.lastTime;if($===0)return J;if($>100){J.sampleCount=0,J.sampleIndex=0,J.velocity=0;let Y=J.samples[0];return Y.position=Q,Y.time=j,J.sampleIndex=1,J.sampleCount=1,J.lastPosition=Q,J.lastTime=j,J}let q=J.samples[J.sampleIndex];if(q.position=Q,q.time=j,J.sampleIndex=(J.sampleIndex+1)%8,J.sampleCount=Math.min(J.sampleCount+1,8),J.sampleCount>=2){let Y=(J.sampleIndex-J.sampleCount+8)%8,B=J.samples[Y],N=Q-B.position,b=j-B.time;J.velocity=b>0?N/b:0}return J.lastPosition=Q,J.lastTime=j,J},dJ=(J)=>J.sampleCount>=3,zJ=(J,Q={})=>{let{wheel:j=!0,sensitivity:$=1,smoothing:q=!1,idleTimeout:Y=150,onScroll:B,onIdle:N,scrollElement:b,horizontal:M=!1}=Q,X=!!b,F=0,w=0,H=X?M?window.innerWidth:window.innerHeight:M?J.clientWidth:J.clientHeight,W=Q.compressed??!1,_=Q.compression,K=kJ(),V=!1,A=null,P=v2(()=>{let R=M?J.scrollLeft:J.scrollTop,k=R>=F?"down":"up";if(K=z2(K,R),F=R,B)B({scrollTop:F,direction:k,velocity:K.velocity});U2()}),I=v2(()=>{let R=J.getBoundingClientRect(),k=M?Math.max(0,-R.left):Math.max(0,-R.top),o=k>=F?"down":"up";if(K=z2(K,k),F=k,!V)V=!0;if(B)B({scrollTop:F,direction:o,velocity:K.velocity});U2()}),n=(R)=>{R.preventDefault()},l=(R)=>{if(R.deltaX)return;R.preventDefault(),J.scrollLeft+=R.deltaY},Y2=(R)=>{if(!W)return;R.preventDefault();let k=(M?R.deltaX||R.deltaY:R.deltaY)*$,o=F+k;if(q)o=F+k*0.3;if(o=Math.max(0,Math.min(o,w)),o!==F){let z=o>=F?"down":"up";if(K=z2(K,o),F=o,!V)V=!0;if(B)B({scrollTop:F,direction:z,velocity:K.velocity});U2()}},U2=()=>{if(A)clearTimeout(A);A=setTimeout(()=>{if(V=!1,K=kJ(F),N)N()},Y)},x=(R)=>{if(W)return;if(W=!0,_=R,w=R.virtualSize-H,X)return;if(P.cancel(),J.removeEventListener("scroll",P),!j)J.removeEventListener("wheel",n);else if(M)J.removeEventListener("wheel",l);if(M)J.style.overflowX="hidden";else J.style.overflow="hidden";if(j)J.addEventListener("wheel",Y2,{passive:!1});let k=M?J.scrollLeft:J.scrollTop;if(k>0){let o=M?_?.actualSize??J.scrollWidth:_?.actualSize??J.scrollHeight;F=k/o*w}if(M)J.scrollLeft=0;else J.scrollTop=0},u=()=>{if(!W)return;if(W=!1,X){_=void 0;return}if(J.removeEventListener("wheel",Y2),M)J.style.overflowX="auto";else J.style.overflow="auto";if(J.addEventListener("scroll",P,{passive:!0}),!j)J.addEventListener("wheel",n,{passive:!1});else if(M)J.addEventListener("wheel",l,{passive:!1});if(_&&F>0){let k=F/w*(_.actualSize-H);if(M)J.scrollLeft=k;else J.scrollTop=k}_=void 0},e=()=>{if(X||W)return F;return M?J.scrollLeft:J.scrollTop},X2=(R,k=!1)=>{let o=Math.max(0,Math.min(R,w||1/0));if(X){let E=J.getBoundingClientRect();if(M){let z=E.left+window.scrollX;window.scrollTo({left:z+o,behavior:k?"smooth":"auto"})}else{let z=E.top+window.scrollY;window.scrollTo({top:z+o,behavior:k?"smooth":"auto"})}}else if(W){if(o===F)return;let z=o>=F?"down":"up";if(K=z2(K,o),F=o,!V)V=!0;if(B)B({scrollTop:F,direction:z,velocity:K.velocity});U2()}else if(M)J.scrollTo({left:o,behavior:k?"smooth":"auto"});else J.scrollTo({top:o,behavior:k?"smooth":"auto"})},L=(R)=>{X2(e()+R)},U=()=>{return e()<=0},D=(R=0)=>{let k=e(),o=X||W?w:M?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;return k>=o-R},O=()=>{let R=e(),k=X||W?w:M?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;if(k<=0)return 0;return Math.min(1,Math.max(0,R/k))},C=(R)=>{if(R.compression)_=R.compression,w=_.virtualSize-H},a=()=>W,i=()=>Math.abs(K.velocity),d=()=>dJ(K),G=()=>V,Z=()=>X,T=(R)=>{if(H=R,_)w=_.virtualSize-H},c=()=>{if(A)clearTimeout(A);if(X)I.cancel(),window.removeEventListener("scroll",I);else P.cancel(),J.removeEventListener("scroll",P),J.removeEventListener("wheel",Y2),J.removeEventListener("wheel",n),J.removeEventListener("wheel",l)};if(X){if(W&&_)w=_.virtualSize-H;window.addEventListener("scroll",I,{passive:!0})}else if(W&&_){if(w=_.virtualSize-H,M)J.style.overflowX="hidden";else J.style.overflow="hidden";if(j)J.addEventListener("wheel",Y2,{passive:!1})}else{if(M)J.style.overflowX="auto",J.style.overflowY="hidden";else J.style.overflow="auto";if(J.addEventListener("scroll",P,{passive:!0}),!j)J.addEventListener("wheel",n,{passive:!1});else if(M)J.addEventListener("wheel",l,{passive:!1})}return{getScrollTop:e,scrollTo:X2,scrollBy:L,isAtTop:U,isAtBottom:D,getScrollPercentage:O,getVelocity:i,isTracking:d,isScrolling:G,updateConfig:C,enableCompression:x,disableCompression:u,isCompressed:a,isWindowMode:Z,updateContainerHeight:T,destroy:c}},v2=(J)=>{let Q=null,j=null,$=(...q)=>{if(j=q,Q===null)Q=requestAnimationFrame(()=>{if(Q=null,j)J(...j)})};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}},vJ=(J,Q,j={},$="vlist",q=!1)=>{let{autoHide:Y=!0,autoHideDelay:B=1000,minThumbSize:N=15,showOnHover:b=!0,showOnViewportEnter:M=!0,clickBehavior:X="scroll"}=j,F=X==="page"?"scroll":X,w=cJ(j.padding),H=q?w.left:w.top,W=q?w.right:w.bottom,_=q?w.bottom:w.right,K=j.hoverZoneWidth??_+16,V=0,A=0,y=0,P=0,m=!1,I=!1,n=0,l=0,Y2=0,U2=null,x=!1,u=null,e=null,X2=0,L=0,U=null,D=null,O=null,C=q?"width":"height",a=q?"translateX":"translateY",i=q?(t)=>t.clientX:(t)=>t.clientY,d=q?"left":"top",G=document.createElement("div"),Z=document.createElement("div"),T=document.createElement("div"),c=()=>{if(G.className=`${$}-scrollbar`,Z.className=`${$}-scrollbar-thumb`,q)G.classList.add(`${$}-scrollbar--horizontal`);if(j.padding!==void 0)J.style.setProperty("--vlist-custom-scrollbar-padding-top",`${w.top}px`),J.style.setProperty("--vlist-custom-scrollbar-padding-right",`${w.right}px`),J.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${w.bottom}px`),J.style.setProperty("--vlist-custom-scrollbar-padding-left",`${w.left}px`);if(j.minThumbSize!==void 0)G.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${N}px`);if(G.appendChild(Z),J.appendChild(G),T.className=`${$}-scrollbar-hover`,q)T.classList.add(`${$}-scrollbar-hover--horizontal`),T.style.height=`${K}px`;else T.style.width=`${K}px`;J.appendChild(T)},R=()=>{if(U2)clearTimeout(U2),U2=null},k=()=>{if(!Y)return;R(),U2=setTimeout(E,B)},o=()=>{if(V<=A)return;if(R(),!x)G.classList.add(`${$}-scrollbar--visible`),x=!0;if(Y&&!m&&!I)k()},E=()=>{if(m||I)return;G.classList.remove(`${$}-scrollbar--visible`),x=!1},z=(t,q2)=>{V=t,A=q2;let $2=V>A;if(G.style.display=$2?"":"none",!$2){E();return}let G2=Math.max(0,A-H-W),Z2=A/V;if(y=Math.max(N,Z2*G2),Z.style[C]=`${y}px`,P=G2-y,S(Y2),!Y)o()},S=(t)=>{if(Y2=t,V<=A||P<=0)return;let q2=V-A,G2=Math.min(1,Math.max(0,t/q2))*P;Z.style.transform=`${a}(${G2}px)`},r=(t)=>{if(t.target===Z||F!=="jump"||P<=0)return;let q2=V-A,$2=G.getBoundingClientRect(),G2=i(t)-$2[d],Z2=Math.max(0,Math.min(G2-y/2,P));Q(Z2/P*q2),o()},g=()=>{if(U!==null)clearTimeout(U),U=null;if(D!==null)cancelAnimationFrame(D),D=null;O=null},h=(t)=>{let q2=P>0?L/t*P:0;if(X2<q2)return-1;if(X2>=q2+y)return 1;return 0},J2=()=>{let t=V-A,q2=h(t);if(q2===0){g();return}if(q2===-1){if(L<=0){g();return}let $2=Math.max(0,L-A);L=$2,Q($2)}else{if(L>=t){g();return}let $2=Math.min(t,L+A);L=$2,Q($2)}o()},v=(t)=>{if(O===null){O=t,D=requestAnimationFrame(v);return}let q2=V-A,$2=t-O;O=t;let G2=h(q2);if(G2===0){g();return}let Z2=12*A/1000,V2=Math.min(Z2*$2,A);if(G2===-1){if(L<=0){g();return}let W2=Math.max(0,L-V2);L=W2,Q(W2)}else{if(L>=q2){g();return}let W2=Math.min(q2,L+V2);L=W2,Q(W2)}R(),D=requestAnimationFrame(v)},f=()=>{g(),k(),document.removeEventListener("mouseup",f)},p=(t)=>{if(t.target===Z||F!=="scroll")return;t.preventDefault();let q2=G.getBoundingClientRect();X2=i(t)-q2[d],L=Y2,J2(),U=setTimeout(()=>{D=requestAnimationFrame(v)},350),document.addEventListener("mouseup",f)},K2=(t)=>{t.preventDefault(),t.stopPropagation(),m=!0,n=i(t),l=Y2,R(),G.classList.add(`${$}-scrollbar--dragging`),document.addEventListener("mousemove",Q2),document.addEventListener("mouseup",j2)},Q2=(t)=>{if(!m)return;let q2=i(t)-n,$2=P>0?q2/P:0,G2=V-A,Z2=$2*G2,V2=Math.max(0,Math.min(l+Z2,G2)),wJ=V2/G2*P;if(Z.style.transform=`${a}(${wJ}px)`,e=V2,u===null)u=requestAnimationFrame(()=>{if(e!==null)Q(e);u=null})},j2=()=>{if(m=!1,u!==null)cancelAnimationFrame(u),u=null;if(e!==null)Q(e),e=null;if(G.classList.remove(`${$}-scrollbar--dragging`),Y&&!I)k();document.removeEventListener("mousemove",Q2),document.removeEventListener("mouseup",j2)},N2=()=>{if(M)o()},_2=()=>{if(!m){if(I=!1,Y)k()}},s=()=>{I=!0,R(),o()},B2=()=>{if(I=!1,!m&&Y)k()},D2=()=>{if(R(),g(),u!==null)cancelAnimationFrame(u),u=null;if(G.removeEventListener("click",r),G.removeEventListener("mousedown",p),G.removeEventListener("mouseenter",s),document.removeEventListener("mouseup",f),G.removeEventListener("mouseleave",B2),Z.removeEventListener("mousedown",K2),J.removeEventListener("mouseenter",N2),J.removeEventListener("mouseleave",_2),document.removeEventListener("mousemove",Q2),document.removeEventListener("mouseup",j2),T.removeEventListener("click",r),T.removeEventListener("mousedown",p),b)T.removeEventListener("mouseenter",s),T.removeEventListener("mouseleave",B2);if(T.parentNode)T.parentNode.removeChild(T);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"),G.parentNode)G.parentNode.removeChild(G)};if(c(),G.addEventListener("click",r),G.addEventListener("mousedown",p),G.addEventListener("mouseenter",s),G.addEventListener("mouseleave",B2),Z.addEventListener("mousedown",K2),J.addEventListener("mouseenter",N2),J.addEventListener("mouseleave",_2),T.addEventListener("click",r),T.addEventListener("mousedown",p),b)T.addEventListener("mouseenter",s),T.addEventListener("mouseleave",B2);return{show:o,hide:E,updateBounds:z,updatePosition:S,isVisible:()=>x,destroy:D2}};var rJ=50,lJ=0.1;function aJ(J){let Q=0,j=0,$=0;function q(){return $>0?j/$:0}function Y(b){if(Q=b,b>lJ&&b<rJ)j+=b,$++}function B(){let b=J.getTotal();if(b===0)return 0;let M=J.getItemSize();if(M<=0)return 0;let X=J.getContainerSize();if(X<=0)return 0;let F=J.getScrollPosition(),w=typeof J.getColumns==="function"?J.getColumns():1,W=Math.ceil(b/w)*M,K=Math.min(W,M2)-X,V=W-X,A=K>0?V/K:1,y=F*A,P=Math.ceil((y+X)/M);return Math.min(P*w,b)}function N(){let b=J.getTotal(),M=B();return{progress:b>0?Math.min(100,Math.max(0,M/b*100)):0,velocity:Q,velocityAvg:q(),itemCount:M,total:b}}return{getState:N,onVelocity:Y}}export{n2 as toggleSelection,VJ as simpleVisibleRange,S2 as selectItems,o2 as selectAll,HJ as rangesEqual,v2 as rafThrottle,qJ as needsScaling,P2 as mergeRanges,t2 as isSelected,A2 as isPlaceholderItem,bJ as isInRange,T2 as isGroupHeader,JJ as getSelectedItems,e2 as getSelectedIds,H2 as getScaleState,KJ as getScaleInfo,H2 as getScale,TJ as getRangeCount,BJ as getMaxItemsWithoutScaling,h2 as filterPlaceholders,RJ as diffRanges,f2 as deselectItems,ZJ as createTableRenderer,UJ as createTableLayout,NJ as createTableHeader,c2 as createStickyHeader,aJ as createStats,y2 as createSparseStorage,L2 as createSizeCache,s2 as createSelectionState,vJ as createScrollbar,zJ as createScrollController,k2 as createPlaceholderManager,DJ as createMeasuredSizeCache,_J as createMasonryRenderer,GJ as createMasonryLayout,m2 as createGroupedSizeFn,d2 as createGroupLayout,XJ as createGridRenderer,r2 as createGridLayout,yJ as createEmitter,PJ as createAsyncManager,i2 as clearSelection,FJ as clampScrollPosition,OJ as calculateTotalSize,LJ as calculateScrollToIndex,QJ as calculateScaledVisibleRange,YJ as calculateScaledScrollToIndex,$J as calculateScaledRenderRange,F2 as calculateScaledItemPosition,WJ as calculateRenderRange,b2 as calculateMissingRanges,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 f2=(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 G=1;G<J;G++){let b=Q(G,Y?.(G));if(b!==q){let O=G-j;$.push({key:q,groupIndex:$.length,headerLayoutIndex:B,firstDataIndex:j,count:O}),B=B+1+O,q=b,j=G}}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:(L)=>{if($.length===0)return{type:"item",dataIndex:L,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let Z=f2($,L),V=$[Z];if(L===V.headerLayoutIndex)return{type:"header",group:V};let K=L-V.headerLayoutIndex-1;return{type:"item",dataIndex:V.firstDataIndex+K,group:V}},layoutToDataIndex:(L)=>{if($.length===0)return L;let Z=f2($,L),V=$[Z];if(L===V.headerLayoutIndex)return-1;let K=L-V.headerLayoutIndex-1;return V.firstDataIndex+K},dataToLayoutIndex:(L)=>{if($.length===0)return L;let Z=m2($,L),V=$[Z],K=L-V.firstDataIndex;return V.headerLayoutIndex+1+K},getGroupAtLayoutIndex:(L)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let Z=f2($,L);return $[Z]},getGroupAtDataIndex:(L)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let Z=m2($,L);return $[Z]},getHeaderHeight:typeof j==="number"?(L)=>j:(L)=>{let Z=$[L];if(!Z)return 0;return j(Z.key,L)},rebuild:(L,Z)=>{$=d2(L,Q.getGroupForIndex,Z??Y),q=L+$.length}}};var a2=(J,Q,Y,$,q,j=!1,B=0,G,b)=>{let O=j?"width":"height",N=j?"height":"width",y=j?"X":"Y",S=(E,X)=>{E.style[O]=`${X}px`},L=b??(()=>{let E=document.createElement("div");return E.className=`${q}-sticky-header`,E.setAttribute("role","presentation"),E.setAttribute("aria-hidden","true"),E.style.cssText="position:relative;z-index:5;pointer-events:none;overflow:hidden;"+(j?`top:0;bottom:0;left:${B||0}px`:`top:${B||0}px`),J.insertBefore(E,J.firstChild),E})(),Z=()=>{let E=document.createElement("div");return E.className="sticky-group",E.style.position="absolute",E.style.willChange="transform",E.style[N]="100%",E},V=Z(),K=Z();if(L.append(V,K),!b)J.insertBefore(L,J.firstChild);let W=V,P=K,k=Q.groups,z=[],u=[],I=[],n=0,r=()=>{k=Q.groups,n=k.length,z=Array(n),u=Array(n),I=Array(n);let E=G?G():1;for(let X=0;X<n;X++)z[X]=Y.getOffset(k[X].headerLayoutIndex)*E,u[X]=Q.getHeaderHeight(X),I[X]=u[X]*E};r();let e=-1,q2=0,X2=0,K2=-1,g=!1,c=0,H=!1,_=(E,X)=>{$(E,X);let T=u[X];return S(E,T),T},D=(E)=>{E.replaceChildren(),E.style.transform=""},U=(E)=>{if(E===e)return;if(e=E,q2=0,X2=0,E<0||E>=n){D(W);return}q2=_(W,E),X2=I[E],S(L,q2),W.style.transform=""},w=(E)=>{if(E===c)return;c=E;let X=Math.round(E);W.style.transform=`translate${y}(${X}px)`,P.style.transform=`translate${y}(${X+q2}px)`},m=()=>{c=0,W.style.transform="",P.style.transform=""},i=()=>{if(!H)return;let E=W;W=P,P=E,e=K2,q2=e>=0?u[e]:0,X2=e>=0?I[e]:0,S(L,q2),D(P),K2=-1,H=!1,m()},l=()=>{if(!H)return;D(P),K2=-1,H=!1,m()},s=!!b,t=()=>{if(g)return;if(g=!0,s)L.style.visibility="";else L.style.display=""},M=()=>{if(!g)return;if(g=!1,s)L.style.visibility="hidden";else L.style.display="none";D(W),e=-1,q2=0,X2=0,l()},v=(E)=>{if(n===0){M();return}if(E<z[0]){M();return}let X=0,T=n-1;while(X<T){let p=X+T+1>>>1;if(z[p]+I[p]<=E)X=p;else T=p-1}if(!g)t();U(X);let R=X+1;if(R<n){let p=z[R]-E;if(p<=0&&p>-X2){if(K2!==R||!H)K2=R,_(P,R),H=!0;let f=X2>0?p/X2*q2:p;w(f)}else if(p<=-X2){if(H)i()}else if(H)l()}else if(H)l()},A=()=>{r();let E=e;if(e=-1,q2=0,X2=0,E>=0)U(E)},h=()=>{L.remove(),e=-1,q2=0,X2=0,K2=-1,g=!1,H=!1};if(!b)L.style.display="none";return{update:v,refresh:A,show:t,hide:M,destroy:h}};var s2=(J)=>{let Q=Math.max(1,Math.floor(J.columns)),Y=J.gap??0,$=J.isHeaderFn,q={row:0,col:0},j=(Z)=>{if(Z<=0)return 0;if(!$)return Math.ceil(Z/Q);let V=0,K=0,W=0;for(let P=0;P<Z;P++)if($(P)){if(W++,K>0)V++,K=0;V++,K=0}else if(K++,K>=Q)V++,K=0;if(K>0)V++;return V},B=(Z)=>{return q.row=G(Z),q.col=b(Z),q},G=(Z)=>{if(!$)return Math.floor(Z/Q);let V=0,K=0;for(let W=0;W<=Z;W++)if($(W)){if(K>0)V++,K=0;if(W===Z)return V;V++,K=0}else{if(W===Z)return V;if(K++,K>=Q)V++,K=0}return console.warn(`⚠️ getRow(${Z}) fell through - returning ${V}`),V},b=(Z)=>{if(!$)return Z%Q;if($(Z))return 0;let V=0;for(let K=0;K<=Z;K++)if($(K))V=0;else{if(K===Z)return V;if(V++,V>=Q)V=0}return V},O=(Z,V,K)=>{if(K<=0)return{start:0,end:-1};if(!$){let u=Math.max(0,Z*Q),I=Math.min(K-1,(V+1)*Q-1);return{start:u,end:I}}let W=-1,P=-1,k=0,z=0;for(let u=0;u<K;u++){if($(u)){if(z>0)k++,z=0;if(k>=Z&&k<=V){if(W===-1)W=u;P=u}k++,z=0}else{if(k>=Z&&k<=V){if(W===-1)W=u;P=u}if(z++,z>=Q)k++,z=0}if(k>V&&z===0)break}if(W===-1)return{start:0,end:-1};return{start:W,end:P}},N=(Z,V,K)=>{if(V<0||V>=Q)return-1;let W=Z*Q+V;if(W<0||W>=K)return-1;return W},y=(Z)=>{let V=(Q-1)*Y;return Math.max(0,(Z-V)/Q)};return{get columns(){return Q},get gap(){return Y},update:(Z)=>{if(Z.columns!==void 0)Q=Math.max(1,Math.floor(Z.columns));if(Z.gap!==void 0)Y=Z.gap;if(Z.isHeaderFn!==void 0)$=Z.isHeaderFn},getTotalRows:j,getPosition:B,getRow:G,getCol:b,getItemRange:O,getItemIndex:N,getColumnWidth:y,getColumnOffset:(Z,V)=>{let K=y(V);return Z*(K+Y)}}};var M2=16000000;var n2="x",o2=20,S2="_isPlaceholder",O2="__placeholder_";var F2=(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 G=0;G<B;G++)$[G+1]=$[G]+J(G)};q(Q);let j=(B)=>{if(Y===0)return 0;if(B<=0)return 0;if(B>=$[Y])return Y-1;let G=0,b=Y-1;while(G<b){let O=G+b+1>>>1;if($[O]<=B)G=O;else b=O-1}return G};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 L=Y.indexAtOffset(J),Z=Y.indexAtOffset(J+Q);if(Z<$-1)Z++;return j.start=Math.max(0,L),j.end=Math.min($-1,Math.max(0,Z)),j}let{virtualSize:B}=q,G=J/B,b=Y.getTotalSize(),O=G*b,N=Y.indexAtOffset(O),y=h2(Y,Math.max(0,N),Q,$),S=N+y;return j.start=Math.max(0,N),j.end=Math.min($-1,Math.max(0,S)),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),$},H2=(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:G}=j,b=Q/G,O=Y.getTotalSize(),N=b*O;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 G=Q.getSize(J);switch(j){case"center":B-=(Y-G)/2;break;case"end":B-=Y-G;break}let b=q.virtualSize-Y;return Math.max(0,Math.min(B,b))},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,G)=>B-G);if($.length<=1)return;let q=[];for(let B=0;B<$.length;B++){let G=Y($[B]);if(G)q.push(G)}if(q.length<=1)return;let j=J.firstChild;for(let B=0;B<q.length;B++){let G=q[B];if(G===j)j=j.nextSibling;else J.insertBefore(G,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,G,b=!1,O)=>{let N=hJ(),y=new Map,S=j,L=!1,Z=0,V="",K=-1,W={selected:!1,focused:!1},P=(M,v)=>{return W.selected=M,W.focused=v,W},k=`${q}-item ${q}-grid-item`,z=`${q}-group-header`,u=`${q}-item--selected`,I=`${q}-item--focused`,n=`${q}-item--placeholder`,r=`${q}-item--replaced`,e=(M,v)=>{if(typeof v==="string")M.innerHTML=v;else M.replaceChildren(v)},q2=(M,v,A)=>{M.classList.toggle(u,v),M.classList.toggle(I,A)},X2=(M,v)=>{let A=$.getRow(M);if(v?.compression?.isCompressed)return H2(A,v.scrollPosition,Y,v.totalItems,v.containerSize,v.compression,v.rangeStart);return Y.getOffset(A)},K2=(M,v)=>{let A=L&&$.getCol(M)===0,h=A?0:$.getCol(M),E=A?0:$.getColumnOffset(h,S),X;if(L){let T=$.getRow(M),R=0,p=new Set;for(let f=0;f<M;f++){let d=$.getRow(f);if(d<T&&!p.has(d)){let o=Y.getSize(f);R+=o,p.add(d)}}X=R}else X=X2(M,v);if(b)return`translate(${Math.round(X)}px, ${Math.round(E)}px)`;return`translate(${Math.round(E)}px, ${Math.round(X)}px)`},g=(M,v)=>{M.style.transform=v},c=(M,v)=>{let A=M.classList.contains(z),h=A?S:$.getColumnWidth(S),E;if(L||A)E=Y.getSize(v)-$.gap;else{let X=$.getRow(v);E=Y.getSize(X)-$.gap}if(b)M.style.width=`${E}px`,M.style.height=`${h}px`;else M.style.width=`${h}px`,M.style.height=`${E}px`},H=(M,v,A,h,E)=>{let X=N.acquire(),T=!!v.__groupHeader,R=P(A,h);if(X.className=T?z:k,X.dataset.index=String(M),X.dataset.id=String(v.id),X.dataset.row=String($.getRow(M)),X.dataset.col=String($.getCol(M)),T)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(A),G)X.id=`${G}-item-${M}`;if(B){let d=B();if(d!==K)K=d,V=String(d);X.setAttribute("aria-setsize",V);let o=O?O(M):M+1;X.setAttribute("aria-posinset",String(o))}}c(X,M);let p=Q(v,M,R);if(e(X,p),String(v.id).startsWith(O2))X.classList.add(n);return q2(X,A,h),g(X,E),{element:X,lastItemId:v.id,lastSelected:A,lastFocused:h,lastTransform:E,lastSeenFrame:Z}},_=(M,v,A,h,E)=>{if(Z++,v.start===0&&M.length>0)L=y2(M[0]);for(let[R,p]of y)if(R>=v.start&&R<=v.end)p.lastSeenFrame=Z;else if(Z-p.lastSeenFrame>xJ)N.release(p.element),y.delete(R);let X=!1;if(B){let R=B();if(R!==K)K=R,V=String(R),X=!0}let T=null;for(let R=v.start;R<=v.end;R++){let p=R-v.start,f=M[p];if(!f){console.warn(`⚠️ RENDER: Missing item at index ${R} (range: ${v.start}-${v.end}, items.length: ${M.length})`);continue}let d=A.has(f.id),o=R===h,F=y.get(R);if(F){let C=F.lastItemId!==f.id,x=F.lastSelected!==d,$2=F.lastFocused!==o;if(C){let B2=String(F.lastItemId),U2=String(f.id),_2=B2.startsWith(O2),a=U2.startsWith(O2);if(!a&&F2(A,R,f.id))d=!0;let Y2=P(d,o),N2=Q(f,R,Y2);if(e(F.element,N2),F.element.dataset.id=U2,F.element.dataset.row=String($.getRow(R)),F.element.dataset.col=String($.getCol(R)),c(F.element,R),F.element.classList.toggle(n,a),_2&&!a)F.element.classList.add(r),setTimeout(()=>F.element.classList.remove(r),300);if(F.lastItemId=f.id,!f.__groupHeader){let Z2=O?O(R):R+1;F.element.setAttribute("aria-posinset",String(Z2))}}if(C||x||$2)q2(F.element,d,o),F.element.ariaSelected=String(d),F.lastSelected=d,F.lastFocused=o;let J2=K2(R,E);if(F.lastTransform!==J2)g(F.element,J2),F.lastTransform=J2;if(X&&!f.__groupHeader)F.element.setAttribute("aria-setsize",V)}else{if(F2(A,R,f.id))d=!0;let C=K2(R,E),x=H(R,f,d,o,C);if(!T)T=document.createDocumentFragment();T.appendChild(x.element),y.set(R,x)}}if(T)J.appendChild(T)},D=(M)=>{for(let[v,A]of y){let h=K2(v,M);if(A.lastTransform!==h)g(A.element,h),A.lastTransform=h}},U=(M,v,A,h)=>{let E=y.get(M);if(!E)return;let X=P(A,h),T=Q(v,M,X);e(E.element,T),q2(E.element,A,h),E.element.dataset.id=String(v.id),E.element.ariaSelected=String(A),c(E.element,M),E.lastItemId=v.id,E.lastSelected=A,E.lastFocused=h},w=(M,v,A)=>{let h=y.get(M);if(!h)return;let E=h.lastSelected!==v,X=h.lastFocused!==A;if(E||X)q2(h.element,v,A),h.lastSelected=v,h.lastFocused=A},m=(M)=>{return y.get(M)?.element},i=(M)=>{if(Math.abs(M-S)<1)return;S=M;for(let[v,A]of y){c(A.element,v);let h=K2(v);g(A.element,h),A.lastTransform=h}},l=()=>{P2(J,y.keys(),(M)=>y.get(M)?.element)},s=()=>{for(let[,M]of y)N.release(M.element);y.clear()};return{render:_,updatePositions:D,updateItem:U,updateItemClasses:w,getElement:m,sortDOM:l,updateContainerWidth:i,clear:s,destroy:()=>{s(),N.clear()}}};var _J=(J,Q=50,Y=1/0,$=!0)=>{let q=J,j=[],B=0,G=()=>{j=q.map((K,W)=>({def:K,index:W,width:0,minWidth:gJ(K.minWidth??Q,1),maxWidth:K.maxWidth??Y,resizable:K.resizable??$,offset:0}))},b=(K)=>{if(j.length===0){B=0;return}let W=0,P=0;for(let k=0;k<j.length;k++){let z=j[k],u=z.def;if(u.width!==void 0)z.width=x2(u.width,z.minWidth,z.maxWidth),W+=z.width;else P++}if(P>0){let z=Math.max(0,K-W)/P;for(let u=0;u<j.length;u++){let I=j[u];if(I.def.width===void 0)I.width=x2(z,I.minWidth,I.maxWidth)}}O()},O=()=>{let K=0;for(let W=0;W<j.length;W++){let P=j[W];P.offset=K,K+=P.width}B=K},N=(K,W)=>{if(K<0||K>=j.length)return 0;let P=j[K];if(!P.resizable)return P.width;let k=x2(W,P.minWidth,P.maxWidth);return P.width=k,O(),k},y=(K)=>{return j[K]},S=(K)=>{if(j.length===0)return;if(K<0)return j[0];if(K>=B)return j[j.length-1];let W=0,P=j.length-1;while(W<P){let k=W+P>>>1,z=j[k];if(K<z.offset)P=k-1;else if(K>=z.offset+z.width)W=k+1;else return z}return j[W]},L=(K)=>{if(K<0||K>=j.length)return 0;return j[K].offset},Z=(K)=>{if(K<0||K>=j.length)return 0;return j[K].width},V=(K)=>{q=K,G()};return G(),{get columns(){return j},get totalWidth(){return B},resolve:b,updateColumns:V,resizeColumn:N,getColumn:y,getColumnAtX:S,getColumnOffset:L,getColumnWidth:Z}},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 G=document.createElement("div");G.className=`${Y}-table-header`,G.setAttribute("role","row"),G.setAttribute("aria-rowindex","1"),G.style.height=`${Q}px`;let b=document.createElement("div");b.className=`${Y}-table-header-scroll`,b.setAttribute("role","presentation"),G.appendChild(b),B.appendChild(G),J.insertBefore(B,J.firstChild),J.style.setProperty("--vlist-table-header-height",`${Q}px`);let O=[],N=[],y=[],S=!0,L=null,Z="asc",V=null,K=!1,W=-1,P=0,k=0,z=(_,D)=>{let U=document.createElement("div");U.className=`${Y}-table-header-cell`,U.setAttribute("role","columnheader"),U.setAttribute("aria-colindex",String(D+1)),U.dataset.columnKey=_.def.key;let w=_.def.align;if(w==="center")U.classList.add(`${Y}-table-header-cell--center`);else if(w==="right")U.classList.add(`${Y}-table-header-cell--right`);let m=document.createElement("div");m.className=`${Y}-table-header-content`;let i=_.def.header?_.def.header(_.def):_.def.label;if(typeof i==="string")m.textContent=i;else m.appendChild(i);if(U.appendChild(m),_.def.sortable){let l=document.createElement("span");l.className=`${Y}-table-header-sort`,l.setAttribute("aria-hidden","true"),U.appendChild(l),y.push(l),U.classList.add(`${Y}-table-header-cell--sortable`)}else y.push(null);if(_.resizable){let l=document.createElement("div");l.className=`${Y}-table-header-resize`,l.dataset.resizeIndex=String(D),U.appendChild(l),N.push(l)}return U},u=(_)=>{V=_,b.textContent="",O=[],N=[],y=[];let D=_.columns;for(let U=0;U<D.length;U++){let w=D[U],m=z(w,U);O.push(m),b.appendChild(m)}if(I(_),L)n(L,Z)},I=(_)=>{V=_;let D=_.columns;b.style.width=`${_.totalWidth}px`;for(let U=0;U<O.length&&U<D.length;U++){let w=O[U],m=D[U];w.style.width=`${m.width}px`}},n=(_,D)=>{if(L=_,Z=D,!V)return;let U=V.columns;for(let w=0;w<y.length&&w<U.length;w++){let m=y[w];if(!m)continue;if(U[w].def.key===_&&_!==null)m.textContent=D==="asc"?"▲":"▼",m.style.opacity="0.7",O[w].setAttribute("aria-sort",D==="asc"?"ascending":"descending");else m.textContent="",m.style.opacity="0",O[w].removeAttribute("aria-sort")}},r=(_)=>{b.style.transform=`translateX(${-_}px)`},e=(_)=>{let D=_.target;if(!D.dataset.resizeIndex)return;if(_.preventDefault(),_.stopPropagation(),W=parseInt(D.dataset.resizeIndex,10),!V)return;let U=V.getColumn(W);if(!U||!U.resizable)return;K=!0,P=_.clientX,k=U.width,J.classList.add(`${Y}--col-resizing`),J.style.cursor="col-resize",D.classList.add(`${Y}-table-header-resize--active`),D.setPointerCapture(_.pointerId),D.addEventListener("pointermove",q2),D.addEventListener("pointerup",X2),D.addEventListener("pointercancel",X2)},q2=(_)=>{if(!K||!V)return;let D=_.clientX-P;if(Math.abs(D)<1)return;let U=Math.max(0,k+D);$(W,U)},X2=(_)=>{if(!K)return;let D=_.target;D.removeEventListener("pointermove",q2),D.removeEventListener("pointerup",X2),D.removeEventListener("pointercancel",X2);try{D.releasePointerCapture(_.pointerId)}catch{}D.classList.remove(`${Y}-table-header-resize--active`),J.classList.remove(`${Y}--col-resizing`),J.style.cursor="",K=!1,W=-1},K2=(_)=>{let D=_.target;if(D.dataset.resizeIndex!==void 0)return;if(K)return;let U=D;while(U&&!U.dataset.columnKey)if(U=U.parentElement,U===G||U===null)return;if(!U||!U.dataset.columnKey)return;let w=U.dataset.columnKey;if(!V)return;let m=V.columns,i=-1;for(let s=0;s<m.length;s++)if(m[s].def.key===w){i=s;break}if(i===-1)return;let l=m[i];if(j)j({key:w,index:i,event:_});if(l.def.sortable&&q){let s;if(L===w)if(Z==="asc")s="desc";else s=null;else s="asc";q({key:w,index:i,direction:s})}};return G.addEventListener("pointerdown",e),G.addEventListener("click",K2),{element:G,update:I,updateSort:n,rebuild:u,show:()=>{if(S)return;S=!0,G.style.display=""},hide:()=>{if(!S)return;S=!1,G.style.display="none"},destroy:()=>{G.removeEventListener("pointerdown",e),G.removeEventListener("click",K2),J.style.removeProperty("--vlist-table-header-height"),B.remove(),O=[],N=[],y=[],V=null,S=!1},syncScroll:r}};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,G,b)=>{let O=uJ(),N=new Map,y=-1,S=Y,L=null,Z=null,V=null,K=(X,T)=>{Z=X,V=T},W=(X,T)=>{if(T)X.setAttribute("aria-selected","true");else X.removeAttribute("aria-selected")},P=(X,T,R,p)=>{X.setAttribute("role",T),X.setAttribute("data-id",String(R)),X.setAttribute("data-index",String(p))},k=(X)=>String(X).startsWith("__placeholder_"),z=`${q}-item ${q}-table-row`,u=`${q}-item--selected`,I=`${q}-item--focused`,n=`${q}-table-cell`,r=`${q}-table-cell--center`,e=`${q}-table-cell--right`,q2=`${q}-item--odd`,X2=`${q}-item--placeholder`,K2=`${q}-item--replaced`,g=`${q}-item ${q}-table-row ${q}-table-group-header`,c=`${q}-table-group-header-content`,H=(X,T,R,p,f=!1)=>{if(R.def.cell){let d=R.def.cell(T,R.def,p);if(typeof d==="string")X.innerHTML=d;else X.replaceChildren(d)}else{let d=T[R.def.key],o=d!=null?String(d):"";if(f&&o)X.innerHTML=`<span>${o}</span>`;else X.textContent=o}},_=(X,T,R,p,f=!1)=>{let d=z;if(G){if(L){let o=L(T);if(o>=0&&(o&1)===1)d+=` ${q2}`}else if((T&1)===1)d+=` ${q2}`}if(f)d+=` ${X2}`;if(R)d+=` ${u}`;if(p)d+=` ${I}`;X.className=d},D=(X,T,R)=>{if(R?.compression?.isCompressed)return Math.round(H2(X,R.scrollPosition,T,R.totalItems,R.containerSize,R.compression,R.rangeStart));return T.getOffset(X)},U=(X,T)=>{let R=T.def.align;if(R==="center")X.classList.add(r),X.classList.remove(e);else if(R==="right")X.classList.add(e),X.classList.remove(r);else X.classList.remove(r,e)},w=(X,T)=>{let p=S.columns.length;if(T.length===p)return T;let f=[];for(let d=0;d<p;d++){let o;if(d<T.length)o=T[d];else o=document.createElement("div"),o.className=n,X.appendChild(o);f.push(o)}for(let d=p;d<T.length;d++)T[d].remove();return f},m=(X,T,R,p)=>{let f=O.acquire(),d=X,o=R.getSize(T),F=D(T,R,p);f.style.cssText=`width:${S.totalWidth}px;height:${o}px;transform:translateY(${F}px)`,f.className=g,P(f,"presentation",X.id,T),f.removeAttribute("aria-selected"),f.removeAttribute("aria-rowindex"),f.replaceChildren();let C=document.createElement("div");if(C.className=c,V){let x=V(d.groupKey,d.groupIndex);if(typeof x==="string")C.innerHTML=x;else C.appendChild(x)}return f.appendChild(C),{element:f,cells:[],index:T,isGroupHeader:!0,lastItemId:X.id,lastSelected:!1,lastFocused:!1,lastOffset:F,lastHeight:o}},i=(X,T,R,p,f,d)=>{let o=O.acquire(),F=f.getSize(T),C=D(T,f,d),x=k(X.id);o.style.cssText=`width:${S.totalWidth}px;height:${F}px;transform:translateY(${C}px)`,_(o,T,R,p,x),P(o,"row",X.id,T),o.id=`${j}-${T}`,o.setAttribute("aria-rowindex",String(T+2)),W(o,R);let $2=w(o,[]),J2=S.columns;for(let B2=0;B2<$2.length&&B2<J2.length;B2++){let U2=$2[B2],_2=J2[B2];U2.style.cssText=`left:${_2.offset}px;width:${_2.width}px`,U2.setAttribute("role","gridcell"),U2.setAttribute("aria-colindex",String(B2+1)),U(U2,_2),H(U2,X,_2,T,x)}return{element:o,cells:$2,index:T,isGroupHeader:!1,lastItemId:X.id,lastSelected:R,lastFocused:p,lastOffset:C,lastHeight:F}},l=(X,T,R,p,f)=>{for(let[x,$2]of N)if(x<T.start||x>T.end)O.release($2.element),N.delete(x);let d=!1,o=B();if(o!==y)y=o,d=!0;let F=null,C=Q();L=typeof G==="string"&&b?b():null;for(let x=T.start;x<=T.end;x++){let $2=x-T.start,J2=X[$2];if(!J2)continue;let B2=R.has(J2.id),U2=x===p,_2=Z?Z(J2):!1,a=N.get(x);if(a){if(a.isGroupHeader!==_2){O.release(a.element),N.delete(x);let Y2=_2?m(J2,x,C,f):i(J2,x,B2,U2,C,f);if(N.set(x,Y2),!F)F=document.createDocumentFragment();F.appendChild(Y2.element);continue}if(_2){if(a.lastItemId!==J2.id){let Z2=J2,D2=a.element.firstElementChild;if(D2&&V){let Q2=V(Z2.groupKey,Z2.groupIndex);if(typeof Q2==="string")D2.innerHTML=Q2;else D2.replaceChildren(Q2)}a.element.setAttribute("data-id",String(J2.id)),a.lastItemId=J2.id}let N2=D(x,C,f);if(a.lastOffset!==N2)a.lastOffset=N2,a.element.style.transform=`translateY(${N2}px)`;let V2=C.getSize(x);if(a.lastHeight!==V2)a.lastHeight=V2,a.element.style.height=`${V2}px`}else{let Y2=a.lastItemId!==J2.id,N2=a.lastSelected!==B2,V2=a.lastFocused!==U2;if(Y2){let Q2=a.lastItemId!=null&&k(a.lastItemId),j2=k(J2.id);if(!j2&&F2(R,x,J2.id))B2=!0;let G2=S.columns;for(let W2=0;W2<a.cells.length&&W2<G2.length;W2++)H(a.cells[W2],J2,G2[W2],x,j2);if(_(a.element,x,B2,U2,j2),a.element.setAttribute("data-id",String(J2.id)),W(a.element,B2),Q2&&!j2)a.element.classList.add(K2),setTimeout(()=>{a.element.classList.remove(K2)},300);a.lastItemId=J2.id,a.lastSelected=B2,a.lastFocused=U2}else if(N2||V2)_(a.element,x,B2,U2,k(J2.id)),W(a.element,B2),a.lastSelected=B2,a.lastFocused=U2;let Z2=D(x,C,f);if(a.lastOffset!==Z2)a.lastOffset=Z2,a.element.style.transform=`translateY(${Z2}px)`;let D2=C.getSize(x);if(a.lastHeight!==D2)a.lastHeight=D2,a.element.style.height=`${D2}px`;if(d)a.element.setAttribute("aria-rowindex",String(x+2))}}else{if(F2(R,x,J2.id))B2=!0;let Y2=_2?m(J2,x,C,f):i(J2,x,B2,U2,C,f);if(N.set(x,Y2),!F)F=document.createDocumentFragment();F.appendChild(Y2.element)}}if(F)J.appendChild(F)},s=(X)=>{let T=Q();for(let[R,p]of N){let f=D(R,T,X);if(p.lastOffset!==f)p.lastOffset=f,p.element.style.transform=`translateY(${f}px)`}},t=(X,T,R,p)=>{let f=N.get(X);if(!f)return;if(f.isGroupHeader)return;let d=S.columns;for(let o=0;o<f.cells.length&&o<d.length;o++)H(f.cells[o],T,d[o],X);f.element.setAttribute("data-id",String(T.id)),f.lastItemId=T.id,_(f.element,X,R,p),W(f.element,R),f.lastSelected=R,f.lastFocused=p},M=(X,T,R)=>{let p=N.get(X);if(!p)return;if(p.isGroupHeader)return;let f=p.lastSelected!==T,d=p.lastFocused!==R;if(f||d)_(p.element,X,T,R),W(p.element,T),p.lastSelected=T,p.lastFocused=R},v=(X)=>{S=X;let T=X.columns;for(let[,R]of N)if(R.element.style.width=`${X.totalWidth}px`,R.cells.length>0)for(let p=0;p<R.cells.length&&p<T.length;p++){let f=R.cells[p],d=T[p];f.style.left=`${d.offset}px`,f.style.width=`${d.width}px`}},A=(X)=>{return N.get(X)?.element},h=()=>{for(let[,X]of N)O.release(X.element);N.clear(),y=-1};return{render:l,updatePositions:s,updateItem:t,updateItemClasses:M,getElement:A,updateColumnLayout:v,setGroupHeaderFn:K,clear:h,destroy:()=>{h(),O.clear()}}};var VJ=(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 W=q+Y;for(let P=0;P<Q;P++)j[P]=P*W};B();let G=[],b=0,O=[],N=(K)=>{let W=0,P=K[0];for(let k=1;k<K.length;k++){let z=K[k];if(z<P)P=z,W=k}return W},y=(K,W)=>{if(K<=0)return b=0,G=[],[];let P=Array(Q).fill(0),k=Array(Q);for(let I=0;I<Q;I++)k[I]=[];let z=Array(K);for(let I=0;I<K;I++){let n=N(P),r=W(I),e=P[n];z[I]={index:I,x:j[n],y:e,lane:n,size:r,crossSize:q},k[n].push(I),P[n]=e+r+Y}G=k;let u=0;for(let I=0;I<Q;I++){let n=P[I],r=n>0?n-Y:0;if(r>u)u=r}return b=u,z},S=(K)=>{if(K.length===0)return b>0?b:0;if(b>0)return b;let W=Array(Q).fill(0);for(let k of K){let z=k.y+k.size,u=W[k.lane];if(z>u)W[k.lane]=z}let P=0;for(let k=0;k<Q;k++)if(W[k]>P)P=W[k];return P},L=(K,W,P)=>{if(K.length===0||P<=W)return O.length=0,O;if(G.length===0||G.length!==Q)return Z(K,W,P);O.length=0;for(let k=0;k<Q;k++){let z=G[k],u=z.length;if(u===0)continue;let I=0,n=u;while(I<n){let r=I+n>>>1,e=K[z[r]];if(e.y+e.size<=W)I=r+1;else n=r}for(let r=I;r<u;r++){let e=K[z[r]];if(e.y>=P)break;O.push(e)}}return O},Z=(K,W,P)=>{let k=[];for(let z of K)if(z.y+z.size>W&&z.y<P)k.push(z);return k};return{get columns(){return Q},get gap(){return Y},get containerSize(){return $},update:(K)=>{let W=!1;if(K.columns!==void 0){let P=Math.max(1,Math.floor(K.columns));if(P!==Q)Q=P,W=!0}if(K.gap!==void 0&&K.gap!==Y)Y=K.gap,W=!0;if(K.containerSize!==void 0&&K.containerSize!==$)$=K.containerSize,W=!0;if(W)B()},calculateLayout:y,getTotalSize:S,getVisibleItems:L}};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 G=mJ(),b=new Map,O=new Set,N=0,y="",S=-1,L={selected:!1,focused:!1},Z=(g,c)=>{return L.selected=g,L.focused=c,L},V=`${Y}-item ${Y}-masonry-item`,K=`${Y}-group-header`,W=`${Y}-item--selected`,P=`${Y}-item--focused`,k=(g,c)=>{if(typeof c==="string")g.innerHTML=c;else g.replaceChildren(c)},z=(g,c,H)=>{g.classList.toggle(W,c),g.classList.toggle(P,H)},u=(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)`},I=(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`},n=(g,c,H,_,D)=>{let U=G.acquire(),w=!!c.__groupHeader,m=Z(_,D);if(U.className=w?K:V,U.dataset.index=String(g),U.dataset.id=String(c.id),U.dataset.lane=String(H.lane),w)U.setAttribute("role","presentation"),U.removeAttribute("aria-selected"),U.removeAttribute("aria-setsize"),U.removeAttribute("aria-posinset"),U.removeAttribute("id");else{if(U.setAttribute("role","option"),U.ariaSelected=String(_),j)U.id=`${j}-item-${g}`;if(q){let l=q();if(l!==S)S=l,y=String(l);U.setAttribute("aria-setsize",y);let s=B?B(g):g+1;U.setAttribute("aria-posinset",String(s))}}I(U,H);let i=Q(c,g,m);return k(U,i),z(U,_,D),u(U,H),{element:U,lastItemId:c.id,lastSelected:_,lastFocused:D,lastY:H.y,lastX:H.x,lastSize:H.size,lastCrossSize:H.crossSize,lastSeenFrame:N}},r=(g,c,H,_)=>{N++,O.clear();for(let U=0;U<c.length;U++)O.add(c[U].index);for(let[U,w]of b)if(O.has(U))w.lastSeenFrame=N;else if(N-w.lastSeenFrame>dJ)G.release(w.element),b.delete(U);let D=null;for(let U=0;U<c.length;U++){let w=c[U],m=w.index,i=g(m);if(!i)continue;let l=H.has(i.id),s=m===_,t=b.get(m);if(t){let M=t.lastItemId!==i.id,v=t.lastSelected!==l,A=t.lastFocused!==s,h=t.lastY!==w.y||t.lastX!==w.x,E=t.lastSize!==w.size||t.lastCrossSize!==w.crossSize;if(M){let X=Z(l,s),T=Q(i,m,X);if(k(t.element,T),t.element.dataset.id=String(i.id),t.lastItemId=i.id,!i.__groupHeader){let p=B?B(m):m+1;t.element.setAttribute("aria-posinset",String(p))}}if(M||v||A)z(t.element,l,s),t.element.ariaSelected=String(l),t.lastSelected=l,t.lastFocused=s;if(E)I(t.element,w),t.lastSize=w.size,t.lastCrossSize=w.crossSize;if(h)u(t.element,w),t.lastY=w.y,t.lastX=w.x}else{let M=n(m,i,w,l,s);if(!D)D=document.createDocumentFragment();D.appendChild(M.element),b.set(m,M)}}if(D)J.appendChild(D)},e=()=>{for(let{element:g}of b.values())G.release(g);b.clear(),J.innerHTML=""};return{render:r,getElement:(g)=>b.get(g)?.element,updateItemClasses:(g,c,H)=>{let _=b.get(g);if(!_)return;let D=_.lastSelected!==c,U=_.lastFocused!==H;if(D||U)z(_.element,c,H),_.lastSelected=c,_.lastFocused=H},sortDOM:()=>{P2(J,b.keys(),(g)=>b.get(g)?.element)},clear:e,destroy:()=>{e(),G.clear()}}};var MJ=(J,Q)=>{let Y=new Map,$=(j)=>{let B=Y.get(j);return B!==void 0?B: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),G=Y.indexAtOffset(J+Q);if(G<$-1)G++;return j.start=Math.max(0,B),j.end=Math.min($-1,Math.max(0,G)),j},AJ=(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),$},EJ=(J,Q,Y,$,q,j)=>{if($===0)return 0;let B=Math.max(0,Math.min(J,$-1)),G=Q.getOffset(B),b=Q.getSize(B),O=Q.getTotalSize(),N=Math.max(0,O-Y),y;switch(j){case"center":y=G-Y/2+b/2;break;case"end":y=G-Y+b;break;case"start":default:y=G;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=EJ)=>{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((G)=>{try{G(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 k2=(J={})=>{let{chunkSize:Q=100,maxCachedItems:Y=5000,evictionBuffer:$=200,onEvict:q}=J,j=new Map,B=0,G=0,b=(H)=>{let _=j.get(H);if(!_)_={items:Array(Q),count:0,lastAccess:Date.now()},j.set(H,_);else _.lastAccess=Date.now();return _},O=(H)=>{return Math.floor(H/Q)},N=(H)=>{return H%Q},y=()=>B,S=(H)=>{B=H},L=(H)=>{if(H<0||H>=B)return;let _=O(H),D=j.get(_);if(!D)return;return D.items[N(H)]},Z=(H)=>{if(H<0||H>=B)return!1;let _=O(H),D=j.get(_);if(!D)return!1;return D.items[N(H)]!==void 0},V=(H,_)=>{let D=O(H),U=b(D),w=N(H),m=U.items[w]===void 0;if(U.items[w]=_,m)U.count++,G++;if(H>=B)B=H+1},K=(H,_)=>{for(let D=0;D<_.length;D++){let U=_[D];if(U!==void 0)V(H+D,U)}},W=(H)=>{if(H<0||H>=B)return!1;let _=O(H),D=j.get(_),U=N(H);if(!(D!==void 0&&D.items[U]!==void 0))return!1;let m=_,i=Array.from(j.keys()).filter((s)=>s>=m).sort((s,t)=>s-t),l=[];for(let s of i){let t=j.get(s),M=s*Q;for(let v=0;v<Q;v++){if(t.items[v]===void 0)continue;let A=M+v;if(A<=H)continue;l.push({oldIndex:A,item:t.items[v]})}}if(D.items[U]=void 0,D.count--,G--,D.count===0)j.delete(_);for(let{oldIndex:s}of l){let t=O(s),M=j.get(t);if(!M)continue;let v=N(s);if(M.items[v]!==void 0){if(M.items[v]=void 0,M.count--,G--,M.count===0)j.delete(t)}}for(let{oldIndex:s,item:t}of l){let M=s-1,v=O(M),A=b(v),h=N(M);A.items[h]=t,A.count++,G++}return B--,!0},P=(H,_)=>{let D=[];for(let U=H;U<=_&&U<B;U++)D.push(L(U));return D},k=(H,_)=>{for(let D=H;D<=_&&D<B;D++)if(!Z(D))return!1;return!0},z=()=>{let H=[],_=null,D=Array.from(j.keys()).sort((U,w)=>U-w);for(let U of D){let w=j.get(U);if(!w)continue;let m=U*Q;for(let i=0;i<Q;i++){let l=m+i;if(l>=B)break;if(w.items[i]!==void 0)if(_===null)_={start:l,end:l};else if(l===_.end+1)_.end=l;else H.push(_),_={start:l,end:l};else if(_!==null)H.push(_),_=null}}if(_!==null)H.push(_);return H},u=(H,_)=>{let D=[],U=null;for(let w=H;w<=_&&w<B;w++)if(!Z(w))if(U===null)U={start:w,end:w};else U.end=w;else if(U!==null)D.push(U),U=null;if(U!==null)D.push(U);return D},I=(H)=>{return j.has(H)},n=(H)=>{let _=j.get(H);if(_)_.lastAccess=Date.now()},r=(H,_)=>{if(H>_||j.size===0)return;let D=Date.now(),U=O(Math.max(0,H)),w=O(Math.min(B-1,_));for(let m=U;m<=w;m++){let i=j.get(m);if(i)i.lastAccess=D}},e=(H,_)=>{if(G<=Y)return 0;let D=Math.max(0,H-$),U=Math.min(B-1,_+$),w=O(D),m=O(U),i=0,l=[];for(let[s,t]of j)if(s<w||s>m)i+=t.count,l.push(s),G-=t.count,j.delete(s);if(i>0&&q)q(i,l);return i},q2=()=>{if(G<=Y)return 0;let H=Array.from(j.entries()).sort(([,U],[,w])=>U.lastAccess-w.lastAccess),_=0,D=[];for(let[U,w]of H){if(G<=Y)break;_+=w.count,G-=w.count,D.push(U),j.delete(U)}if(_>0&&q)q(_,D);return _},X2=()=>{return{totalItems:B,cachedItems:G,cachedChunks:j.size,chunkSize:Q,maxCachedItems:Y,memoryEfficiency:B>0?1-G/B:1}},K2=()=>G,g=()=>{j.clear(),G=0};return{chunkSize:Q,maxCachedItems:Y,getTotal:y,setTotal:S,get:L,has:Z,set:V,setRange:K,delete:W,getRange:P,isRangeLoaded:k,getLoadedRanges:z,findUnloadedRanges:u,getChunkIndex:O,isChunkLoaded:I,touchChunk:n,touchChunksForRange:r,evictDistant:e,evictToLimit:q2,getStats:X2,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=[],G=z2(Q),b=j.start;for(let O of G){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 w2=(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 S=0;S<y;S++){let L=N[S];if(!L||typeof L!=="object")continue;let Z={};for(let[V,K]of Object.entries(L)){if(V.startsWith("_")||V==="id")continue;Z[V]=String(K??"").length}if(Object.keys(Z).length>0)$.push(Z)}q=!0},B=()=>q,G=(N)=>{let y={id:`${O2}${N}`,[S2]:!0,_index:N};if($.length===0)return y.label=Q.repeat(12),y;let S=$[N%$.length];for(let[L,Z]of Object.entries(S))y[L]=Q.repeat(Math.max(1,Z));return y};return{analyzeStructure:j,hasAnalyzedStructure:B,generate:G,generateRange:(N,y)=>{let S=[];for(let L=N;L<=y;L++)S.push(G(L));return S},clear:()=>{$=[],q=!1}}},A2=(J)=>{if(!J||typeof J!=="object")return!1;return J[S2]===!0},u2=(J)=>{return J.filter((Q)=>!A2(Q))};var rJ=50,wJ=(J={})=>{let{adapter:Q,initialItems:Y,initialTotal:$,storage:q,placeholder:j,pageSize:B=rJ,onStateChange:G,onItemsLoaded:b,onItemsEvicted:O}=J,N=k2({...q,onEvict:(F,C)=>{O?.(F),r()}}),y=null,S=()=>{if(!y)y=w2(j);return y},L=new Map,Z=!1,V,K=!0,W,P,k=[],z=0,u=new Map,I=new Map,n=()=>{for(let F of I.values())F.abort();I.clear(),u.clear()},r=()=>{G?.(D())},e=()=>{L.clear();let F=N.getLoadedRanges();for(let C of F)for(let x=C.start;x<=C.end;x++){let $2=N.get(x);if($2&&!A2($2))L.set($2.id,x)}},q2=(F,C)=>{if(!A2(C))L.set(C.id,F)},X2=(F)=>{L.delete(F)},K2=(F,C)=>{return`${F}-${C}`},g=()=>N.getTotal(),c=()=>N.getCachedCount(),H=()=>Z,_=()=>K,D=()=>({total:N.getTotal(),cached:N.getCachedCount(),isLoading:Z,pendingRanges:k,error:V,hasMore:K,cursor:W}),U=()=>N,w=()=>S(),m=(F)=>{let C=N.get(F);if(C!==void 0)return C;if(F>=0&&F<N.getTotal())return S().generate(F);return},i=(F)=>{let C=L.get(F);if(C===void 0)return;return N.get(C)},l=(F)=>{return L.get(F)??-1},s=(F)=>{let C=N.get(F);return C!==void 0&&!A2(C)},t=(F,C)=>{let x=[],$2=N.getTotal(),J2=0,B2=0;N.touchChunksForRange(F,Math.min(C,$2-1));for(let U2=F;U2<=C&&U2<$2;U2++){let _2=N.get(U2);if(_2!==void 0)x.push(_2),J2++;else x.push(S().generate(U2)),B2++}return x},M=(F)=>{N.setTotal(F),K=N.getCachedCount()<F,r()},v=(F,C=0,x)=>{if(Q&&F.length>0){let $2=S();if(!$2.hasAnalyzedStructure())$2.analyzeStructure(F)}for(let $2=0;$2<F.length;$2++){let J2=F[$2];if(J2!==void 0){let B2=C+$2;N.set(B2,J2),q2(B2,J2)}}if(x!==void 0)N.setTotal(x);else if(C+F.length>N.getTotal())N.setTotal(C+F.length);if(N.getCachedCount()>=N.getTotal()&&N.getTotal()>0)K=!1;r(),b?.(F,C,N.getTotal())},A=(F,C)=>{let x=N.get(F);if(!x)return!1;let $2=x.id,J2={...x,...C};if(N.set(F,J2),C.id!==void 0&&C.id!==$2)X2($2);return q2(F,J2),r(),!0},h=(F)=>{let C=L.get(F);if(C===void 0)return!1;if(!N.delete(C))return!1;return e(),n(),r(),!0},E=async(F,C)=>{if(!Q)return;let x=K2(F,C);if(u.has(x))return;let $2=N.chunkSize,J2=Math.floor(F/$2),B2=Math.floor(C/$2),U2=$2*2;for(let[Y2,N2]of I){let V2=Y2.indexOf("-"),Z2=parseInt(Y2.slice(0,V2),10);if(Math.abs(Z2-F)>U2)N2.abort(),I.delete(Y2),u.delete(Y2)}let _2=[];for(let Y2=J2;Y2<=B2;Y2++){let N2=Y2*$2,V2=N2+$2-1,Z2=K2(N2,V2);if(!N.isChunkLoaded(Y2)&&!u.has(Z2))_2.push({start:N2,end:V2})}if(_2.length===0)return;let a=[];for(let Y2=J2;Y2<=B2;Y2++){let N2=Y2*$2,V2=N2+$2-1,Z2=K2(N2,V2);if(u.has(Z2)){let D2=u.get(Z2);if(!a.includes(D2))a.push(D2)}}for(let Y2 of _2){let N2=K2(Y2.start,Y2.end),V2=new AbortController;I.set(N2,V2);let Z2=(async()=>{k.push(Y2),Z=!0,V=void 0,r();try{let D2=Y2.end-Y2.start+1,Q2={offset:Y2.start,limit:D2,cursor:Y2.start===P?W:void 0,signal:V2.signal},j2=await Q.read(Q2);if(v(j2.items,Y2.start,j2.total),j2.cursor)W=j2.cursor,P=Y2.start+j2.items.length;let G2=Y2.start+j2.items.length;if(G2>=z){if(z=G2,j2.hasMore!==void 0)K=j2.hasMore;else if(j2.total!==void 0)K=G2<j2.total}}catch(D2){if(D2?.name==="AbortError")return;V=D2 instanceof Error?D2:Error(String(D2))}finally{u.delete(N2),I.delete(N2),k=k.filter((D2)=>D2.start!==Y2.start||D2.end!==Y2.end),Z=u.size>0,r()}})();u.set(N2,Z2),a.push(Z2)}await Promise.all(a)},X=async(F,C)=>{if(N.isRangeLoaded(F,C))return;await E(F,C)},T=async()=>{if(!Q)return;await E(0,B-1)},R=async()=>{if(!Q||Z||!K)return!1;let F=N.getCachedCount(),C=N.getTotal(),x=F,$2=Math.min(x+B-1,C>0?C-1:x+B-1);if(x>=C&&C>0)return K=!1,!1;return await E(x,$2),N.getCachedCount()>F},p=async()=>{if(N.clear(),N.setTotal(0),L.clear(),y)y.clear();n(),k=[],Z=!1,W=void 0,P=void 0,K=!0,z=0,V=void 0,r()},f=(F,C)=>{if(N.evictDistant(F,C)>0)e()},d=()=>{N.clear(),L.clear(),W=void 0,P=void 0,V=void 0,k=[],Z=!1,r()},o=()=>{if(N.reset(),L.clear(),y)y.clear();W=void 0,P=void 0,K=!0,z=0,V=void 0,k=[],Z=!1,r()};if(Y&&Y.length>0)v(Y,0,$??Y.length);else if($!==void 0)N.setTotal($),r();return{getState:D,getTotal:g,getCached:c,getIsLoading:H,getHasMore:_,getStorage:U,getPlaceholders:w,getItem:m,getItemById:i,getIndexById:l,isItemLoaded:s,getItemsInRange:t,setTotal:M,setItems:v,updateItem:A,removeItem:h,loadRange:E,ensureRange:X,loadInitial:T,loadMore:R,reload:p,evictDistant:f,clear:d,reset:o}};var vJ=(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}},v2=(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],G=Q-B.position,b=Y-B.time;J.velocity=b>0?G/b: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:G,scrollElement:b,horizontal:O=!1}=Q,N=!!b,y=0,S=0,L=N?O?window.innerWidth:window.innerHeight:O?J.clientWidth:J.clientHeight,Z=Q.compressed??!1,V=Q.compression,K=vJ(),W=!1,P=null,z=C2(()=>{let A=O?J.scrollLeft:J.scrollTop,h=A>=y?"down":"up";if(K=v2(K,A),y=A,B)B({scrollTop:y,direction:h,velocity:K.velocity});q2()}),I=C2(()=>{let A=J.getBoundingClientRect(),h=O?Math.max(0,-A.left):Math.max(0,-A.top),E=h>=y?"down":"up";if(K=v2(K,h),y=h,!W)W=!0;if(B)B({scrollTop:y,direction:E,velocity:K.velocity});q2()}),n=(A)=>{A.preventDefault()},r=(A)=>{if(A.deltaX)return;A.preventDefault(),J.scrollLeft+=A.deltaY},e=(A)=>{if(!Z)return;A.preventDefault();let h=(O?A.deltaX||A.deltaY:A.deltaY)*$,E=y+h;if(q)E=y+h*0.3;if(E=Math.max(0,Math.min(E,S)),E!==y){let T=E>=y?"down":"up";if(K=v2(K,E),y=E,!W)W=!0;if(B)B({scrollTop:y,direction:T,velocity:K.velocity});q2()}},q2=()=>{if(P)clearTimeout(P);P=setTimeout(()=>{if(W=!1,K=vJ(y),G)G()},j)},X2=(A)=>{if(Z)return;if(Z=!0,V=A,S=A.virtualSize-L,N)return;if(z.cancel(),J.removeEventListener("scroll",z),!Y)J.removeEventListener("wheel",n);else if(O)J.removeEventListener("wheel",r);if(O)J.style.overflowX="hidden";else J.style.overflow="hidden";if(Y)J.addEventListener("wheel",e,{passive:!1});let h=O?J.scrollLeft:J.scrollTop;if(h>0){let E=O?V?.actualSize??J.scrollWidth:V?.actualSize??J.scrollHeight;y=h/E*S}if(O)J.scrollLeft=0;else J.scrollTop=0},K2=()=>{if(!Z)return;if(Z=!1,N){V=void 0;return}if(J.removeEventListener("wheel",e),O)J.style.overflowX="auto";else J.style.overflow="auto";if(J.addEventListener("scroll",z,{passive:!0}),!Y)J.addEventListener("wheel",n,{passive:!1});else if(O)J.addEventListener("wheel",r,{passive:!1});if(V&&y>0){let h=y/S*(V.actualSize-L);if(O)J.scrollLeft=h;else J.scrollTop=h}V=void 0},g=()=>{if(N||Z)return y;return O?J.scrollLeft:J.scrollTop},c=(A,h=!1)=>{let E=Math.max(0,Math.min(A,S||1/0));if(N){let X=J.getBoundingClientRect();if(O){let T=X.left+window.scrollX;window.scrollTo({left:T+E,behavior:h?"smooth":"auto"})}else{let T=X.top+window.scrollY;window.scrollTo({top:T+E,behavior:h?"smooth":"auto"})}}else if(Z){if(E===y)return;let T=E>=y?"down":"up";if(K=v2(K,E),y=E,!W)W=!0;if(B)B({scrollTop:y,direction:T,velocity:K.velocity});q2()}else if(O)J.scrollTo({left:E,behavior:h?"smooth":"auto"});else J.scrollTo({top:E,behavior:h?"smooth":"auto"})},H=(A)=>{c(g()+A)},_=()=>{return g()<=0},D=(A=0)=>{let h=g(),E=N||Z?S:O?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;return h>=E-A},U=()=>{let A=g(),h=N||Z?S:O?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;if(h<=0)return 0;return Math.min(1,Math.max(0,A/h))},w=(A)=>{if(A.compression)V=A.compression,S=V.virtualSize-L},m=()=>Z,i=()=>Math.abs(K.velocity),l=()=>lJ(K),s=()=>W,t=()=>N,M=(A)=>{if(L=A,V)S=V.virtualSize-L},v=()=>{if(P)clearTimeout(P);if(N)I.cancel(),window.removeEventListener("scroll",I);else z.cancel(),J.removeEventListener("scroll",z),J.removeEventListener("wheel",e),J.removeEventListener("wheel",n),J.removeEventListener("wheel",r)};if(N){if(Z&&V)S=V.virtualSize-L;window.addEventListener("scroll",I,{passive:!0})}else if(Z&&V){if(S=V.virtualSize-L,O)J.style.overflowX="hidden";else J.style.overflow="hidden";if(Y)J.addEventListener("wheel",e,{passive:!1})}else{if(O)J.style.overflowX="auto",J.style.overflowY="hidden";else J.style.overflow="auto";if(J.addEventListener("scroll",z,{passive:!0}),!Y)J.addEventListener("wheel",n,{passive:!1});else if(O)J.addEventListener("wheel",r,{passive:!1})}return{getScrollTop:g,scrollTo:c,scrollBy:H,isAtTop:_,isAtBottom:D,getScrollPercentage:U,getVelocity:i,isTracking:l,isScrolling:s,updateConfig:w,enableCompression:X2,disableCompression:K2,isCompressed:m,isWindowMode:t,updateContainerHeight:M,destroy:v}},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}},fJ=(J,Q,Y={},$="vlist",q=!1,j)=>{let{autoHide:B=!0,autoHideDelay:G=1000,minThumbSize:b=15,showOnHover:O=!0,showOnViewportEnter:N=!0,clickBehavior:y="scroll"}=Y,S=y==="page"?"scroll":y,L=j??J,Z=aJ(Y.padding),V=q?Z.left:Z.top,K=q?Z.right:Z.bottom,W=q?Z.bottom:Z.right,P=Y.hoverZoneWidth??W+16,k=0,z=0,u=0,I=0,n=!1,r=!1,e=0,q2=0,X2=0,K2=null,g=!1,c=null,H=null,_=0,D=0,U=null,w=null,m=null,i=q?"width":"height",l=q?"translateX":"translateY",s=q?(Q2)=>Q2.clientX:(Q2)=>Q2.clientY,t=q?"left":"top",M=document.createElement("div"),v=document.createElement("div"),A=document.createElement("div"),h=()=>{if(L===J)return;let Q2=J.offsetTop,j2=q?Z.left:Z.top;M.style[q?"left":"top"]=`${Q2+j2}px`,A.style[q?"left":"top"]=`${Q2}px`},E=()=>{if(M.className=`${$}-scrollbar`,v.className=`${$}-scrollbar-thumb`,q)M.classList.add(`${$}-scrollbar--horizontal`);if(Y.padding!==void 0)J.style.setProperty("--vlist-custom-scrollbar-padding-top",`${Z.top}px`),J.style.setProperty("--vlist-custom-scrollbar-padding-right",`${Z.right}px`),J.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${Z.bottom}px`),J.style.setProperty("--vlist-custom-scrollbar-padding-left",`${Z.left}px`);if(Y.minThumbSize!==void 0)M.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${b}px`);if(M.appendChild(v),L.appendChild(M),A.className=`${$}-scrollbar-hover`,q)A.classList.add(`${$}-scrollbar-hover--horizontal`),A.style.height=`${P}px`;else A.style.width=`${P}px`;if(L.appendChild(A),L!==J)h()},X=()=>{if(K2)clearTimeout(K2),K2=null},T=()=>{if(!B)return;X(),K2=setTimeout(p,G)},R=()=>{if(k<=z)return;if(X(),!g)M.classList.add(`${$}-scrollbar--visible`),g=!0;if(B&&!n&&!r)T()},p=()=>{if(n||r)return;M.classList.remove(`${$}-scrollbar--visible`),g=!1},f=(Q2,j2)=>{k=Q2,z=j2,h();let G2=k>z;if(M.style.display=G2?"":"none",!G2){p();return}let W2=Math.max(0,z-V-K),E2=z/k;if(u=Math.max(b,E2*W2),v.style[i]=`${u}px`,I=W2-u,d(X2),!B)R()},d=(Q2)=>{if(X2=Q2,k<=z||I<=0)return;let j2=k-z,W2=Math.min(1,Math.max(0,Q2/j2))*I;v.style.transform=`${l}(${W2}px)`},o=(Q2)=>{if(Q2.target===v||S!=="jump"||I<=0)return;let j2=k-z,G2=M.getBoundingClientRect(),W2=s(Q2)-G2[t],E2=Math.max(0,Math.min(W2-u/2,I));Q(E2/I*j2),R()},F=()=>{if(U!==null)clearTimeout(U),U=null;if(w!==null)cancelAnimationFrame(w),w=null;m=null},C=(Q2)=>{let j2=I>0?D/Q2*I:0;if(_<j2)return-1;if(_>=j2+u)return 1;return 0},x=()=>{let Q2=k-z,j2=C(Q2);if(j2===0){F();return}if(j2===-1){if(D<=0){F();return}let G2=Math.max(0,D-z);D=G2,Q(G2)}else{if(D>=Q2){F();return}let G2=Math.min(Q2,D+z);D=G2,Q(G2)}R()},$2=(Q2)=>{if(m===null){m=Q2,w=requestAnimationFrame($2);return}let j2=k-z,G2=Q2-m;m=Q2;let W2=C(j2);if(W2===0){F();return}let E2=12*z/1000,b2=Math.min(E2*G2,z);if(W2===-1){if(D<=0){F();return}let L2=Math.max(0,D-b2);D=L2,Q(L2)}else{if(D>=j2){F();return}let L2=Math.min(j2,D+b2);D=L2,Q(L2)}X(),w=requestAnimationFrame($2)},J2=()=>{F(),T(),document.removeEventListener("mouseup",J2)},B2=(Q2)=>{if(Q2.target===v||S!=="scroll")return;Q2.preventDefault();let j2=M.getBoundingClientRect();_=s(Q2)-j2[t],D=X2,x(),U=setTimeout(()=>{w=requestAnimationFrame($2)},350),document.addEventListener("mouseup",J2)},U2=(Q2)=>{Q2.preventDefault(),Q2.stopPropagation(),n=!0,e=s(Q2),q2=X2,X(),M.classList.add(`${$}-scrollbar--dragging`),document.addEventListener("mousemove",_2),document.addEventListener("mouseup",a)},_2=(Q2)=>{if(!n)return;let j2=s(Q2)-e,G2=I>0?j2/I:0,W2=k-z,E2=G2*W2,b2=Math.max(0,Math.min(q2+E2,W2)),SJ=b2/W2*I;if(v.style.transform=`${l}(${SJ}px)`,H=b2,c===null)c=requestAnimationFrame(()=>{if(H!==null)Q(H);c=null})},a=()=>{if(n=!1,c!==null)cancelAnimationFrame(c),c=null;if(H!==null)Q(H),H=null;if(M.classList.remove(`${$}-scrollbar--dragging`),B&&!r)T();document.removeEventListener("mousemove",_2),document.removeEventListener("mouseup",a)},Y2=()=>{if(N)R()},N2=()=>{if(!n){if(r=!1,B)T()}},V2=()=>{r=!0,X(),R()},Z2=()=>{if(r=!1,!n&&B)T()},D2=()=>{if(X(),F(),c!==null)cancelAnimationFrame(c),c=null;if(M.removeEventListener("click",o),M.removeEventListener("mousedown",B2),M.removeEventListener("mouseenter",V2),document.removeEventListener("mouseup",J2),M.removeEventListener("mouseleave",Z2),v.removeEventListener("mousedown",U2),J.removeEventListener("mouseenter",Y2),J.removeEventListener("mouseleave",N2),document.removeEventListener("mousemove",_2),document.removeEventListener("mouseup",a),A.removeEventListener("click",o),A.removeEventListener("mousedown",B2),O)A.removeEventListener("mouseenter",V2),A.removeEventListener("mouseleave",Z2);if(A.parentNode)A.parentNode.removeChild(A);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"),M.parentNode)M.parentNode.removeChild(M)};if(E(),M.addEventListener("click",o),M.addEventListener("mousedown",B2),M.addEventListener("mouseenter",V2),M.addEventListener("mouseleave",Z2),v.addEventListener("mousedown",U2),J.addEventListener("mouseenter",Y2),J.addEventListener("mouseleave",N2),A.addEventListener("click",o),A.addEventListener("mousedown",B2),O)A.addEventListener("mouseenter",V2),A.addEventListener("mouseleave",Z2);return{show:R,hide:p,updateBounds:f,updatePosition:d,isVisible:()=>g,destroy:D2}};var sJ=50,nJ=0.1;function oJ(J){let Q=0,Y=0,$=0;function q(){return $>0?Y/$:0}function j(b){if(Q=b,b>nJ&&b<sJ)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 y=J.getScrollPosition(),S=typeof J.getColumns==="function"?J.getColumns():1,Z=Math.ceil(b/S)*O,K=Math.min(Z,M2)-N,W=Z-N,P=K>0?W/K:1,k=y*P,z=Math.ceil((k+N)/O);return Math.min(z*S,b)}function G(){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:G,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,A2 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,fJ as createScrollbar,CJ as createScrollController,w2 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,wJ as createAsyncManager,JJ as clearSelection,bJ as clampScrollPosition,FJ as calculateTotalSize,TJ as calculateScrollToIndex,jJ as calculateScaledVisibleRange,BJ as calculateScaledScrollToIndex,qJ as calculateScaledRenderRange,H2 as calculateScaledItemPosition,AJ as calculateRenderRange,g2 as calculateMissingRanges,HJ as calculateItemOffset,KJ as calculateIndexFromScrollPosition,LJ as calculateActualSize,c2 as buildLayoutItems,M2 as MAX_VIRTUAL_SIZE};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* vlist/rendering -- ARIA position resolvers
|
|
3
|
+
*
|
|
4
|
+
* Lazy-resolves _getTotal and _layoutToDataIndex from the methods map
|
|
5
|
+
* so that aria-setsize uses data total (not layout total including
|
|
6
|
+
* group headers) and aria-posinset uses data-space position.
|
|
7
|
+
*/
|
|
8
|
+
export interface AriaResolvers {
|
|
9
|
+
getSetSize: () => number;
|
|
10
|
+
getPosInSet: (layoutIndex: number) => number;
|
|
11
|
+
}
|
|
12
|
+
export declare const createAriaResolvers: (methods: Map<string, Function>, fallbackTotal: () => number) => AriaResolvers;
|
|
13
|
+
//# sourceMappingURL=aria.d.ts.map
|
|
@@ -86,7 +86,7 @@ export declare const createElementPool: (tagName?: string, maxSize?: number) =>
|
|
|
86
86
|
export declare const createRenderer: <T extends VListItem = VListItem>(itemsContainer: HTMLElement, template: ItemTemplate<T>, sizeCache: SizeCache, classPrefix: string, totalItemsGetter?: () => number, ariaIdPrefix?: string, horizontal?: boolean, crossAxisSize?: number, compressionFns?: {
|
|
87
87
|
getState: CompressionStateFn;
|
|
88
88
|
getPosition: CompressedPositionFn;
|
|
89
|
-
}, striped?: boolean | "data" | "even" | "odd", stripeIndexFn?: () => (index: number) => number) => Renderer<T>;
|
|
89
|
+
}, striped?: boolean | "data" | "even" | "odd", stripeIndexFn?: () => (index: number) => number, ariaPosInSetGetter?: (layoutIndex: number) => number) => Renderer<T>;
|
|
90
90
|
/**
|
|
91
91
|
* Create the vlist DOM structure
|
|
92
92
|
*/
|
package/dist/size.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"base":{"minified":"
|
|
1
|
+
{"base":{"minified":"29.5","gzipped":"11.3","minBytes":30233,"gzBytes":11578},"withGrid":{"minified":"42.0","gzipped":"15.3","minBytes":43054,"gzBytes":15646},"withMasonry":{"minified":"39.6","gzipped":"14.8","minBytes":40509,"gzBytes":15169},"withGroups":{"minified":"45.3","gzipped":"16.1","minBytes":46420,"gzBytes":16461},"withAsync":{"minified":"42.2","gzipped":"15.8","minBytes":43249,"gzBytes":16215},"withSelection":{"minified":"41.2","gzipped":"14.6","minBytes":42206,"gzBytes":14962},"withScale":{"minified":"42.9","gzipped":"15.1","minBytes":43886,"gzBytes":15423},"withScrollbar":{"minified":"36.0","gzipped":"13.2","minBytes":36878,"gzBytes":13533},"withPage":{"minified":"31.9","gzipped":"12.1","minBytes":32625,"gzBytes":12357},"withSnapshots":{"minified":"33.3","gzipped":"12.6","minBytes":34127,"gzBytes":12866},"withTable":{"minified":"47.1","gzipped":"16.8","minBytes":48204,"gzBytes":17231},"withSortable":{"minified":"39.4","gzipped":"14.3","minBytes":40396,"gzBytes":14666},"withAutoSize":{"minified":"32.3","gzipped":"12.2","minBytes":33109,"gzBytes":12511}}
|
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{width:100%;height:100%;overflow:auto;scrollbar-color:var(--vlist-scrollbar-thumb-color) var(--vlist-scrollbar-track-color)}@supports (-moz-appearance:none) and (scrollbar-width:1px){.vlist-viewport{scrollbar-width:var(--vlist-scrollbar-width)}}.vlist-viewport::-webkit-scrollbar{width:var(--vlist-scrollbar-width);height:var(--vlist-scrollbar-width)}.vlist-viewport::-webkit-scrollbar-track{background:var(--vlist-scrollbar-track-color)}.vlist-viewport::-webkit-scrollbar-thumb{background-color:var(--vlist-scrollbar-thumb-color);border-radius:var(--vlist-scrollbar-radius)}.vlist-viewport::-webkit-scrollbar-thumb:hover{background-color:var(--vlist-scrollbar-thumb-hover-color)}.vlist-content{position:relative;width:100%}.vlist-items{position:relative;width:100%;contain:layout style}.vlist-item{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;background-color:var(--vlist-bg);cursor:default;user-select:none;opacity:1;transition:background-color var(--vlist-transition-duration) var(--vlist-transition-timing),opacity var(--vlist-transition-duration) var(--vlist-transition-timing);contain:content;box-sizing:border-box;will-change:transform}.vlist--scrolling .vlist-item,.vlist--settling .vlist-item{transition:none}.vlist--selectable .vlist-item{cursor:pointer}.vlist--selectable .vlist-item:hover{background-color:var(--vlist-bg-hover)}.vlist-item.vlist-item--odd{background:var(--vlist-bg-striped)}.vlist-item.vlist-item--selected{background-color:var(--vlist-bg-selected)}.vlist-item.vlist-item--odd.vlist-item--selected{background:var(--vlist-bg-selected)}.vlist-item.vlist-item--selected:hover{background-color:var(--vlist-bg-selected-hover)}.vlist-item.vlist-item--odd.vlist-item--selected:hover{background:var(--vlist-bg-selected-hover)}.vlist-item.vlist-item--focused{outline:2px solid var(--vlist-focus-ring,#3b82f6);outline-offset:-2px;z-index:1}.vlist-item--replaced{animation:vlist-fade-in 0.3s ease-out}.vlist-item--placeholder{opacity:0.6;animation:vlist-placeholder-pulse 2s ease-in-out infinite}.vlist-item.vlist-item--selected.vlist-item--focused{outline-color:var(--vlist-border-selected)}.vlist-scrollbar{position:absolute;top:var(--vlist-custom-scrollbar-padding-top);right:var(--vlist-custom-scrollbar-padding-right);bottom:var(--vlist-custom-scrollbar-padding-bottom);width:var(--vlist-custom-scrollbar-width);background-color:var(--vlist-custom-scrollbar-track-color);opacity:0;transition:opacity 0.2s ease-out;z-index:10;pointer-events:none}.vlist-scrollbar-hover{position:absolute;top:0;right:0;height:100%;z-index:9;pointer-events:auto}.vlist-scrollbar-hover--horizontal{top:auto;right:auto;bottom:0;left:0;width:100%;height:auto}.vlist-scrollbar--visible{opacity:1;pointer-events:auto}.vlist-scrollbar-thumb{position:absolute;top:0;left:0;right:0;width:100%;background-color:var(--vlist-custom-scrollbar-thumb-color);border-radius:var(--vlist-custom-scrollbar-radius);cursor:pointer;transition:background-color 0.15s ease-out}.vlist-scrollbar-thumb:hover{background-color:var(--vlist-custom-scrollbar-thumb-hover-color)}.vlist-scrollbar--dragging{opacity:1;pointer-events:auto}.vlist-scrollbar--dragging .vlist-scrollbar-thumb{background-color:var(--vlist-custom-scrollbar-thumb-hover-color)}.vlist
|
|
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}
|