vlist 2.1.0 → 2.1.2
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 +7 -7
- package/README.md +8 -8
- package/dist/index.js +1 -1
- package/dist/internals.js +1 -1
- package/dist/plugins/grid/types.d.ts +5 -0
- package/dist/plugins/groups/sticky.d.ts +1 -1
- package/dist/size.json +1 -1
- package/dist/vlist-grid.css +1 -1
- package/dist/vlist-masonry.css +1 -1
- package/dist/vlist-table.css +1 -1
- package/dist/vlist.css +1 -1
- package/package.json +1 -1
package/dist/internals.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var v2=(J)=>{return J!==null&&typeof J==="object"&&J.__groupHeader===!0};var g2=(J,Q)=>{let q=0,$=J.length-1;while(q<$){let j=q+$+1>>>1;if(J[j].headerLayoutIndex<=Q)q=j;else $=j-1}return q},s2=(J,Q)=>{let q=0,$=J.length-1;while(q<$){let j=q+$+1>>>1;if(J[j].firstDataIndex<=Q)q=j;else $=j-1}return q},n2=(J,Q,q)=>{if(J===0)return[];let $=[],j=null,Y=0,B=0;for(let G=0;G<J;G++){let w=q?.(G);if(!w)continue;let W=Q(G,w);if(j===null)j=W,Y=0;else if(W!==j){let y=G-Y;$.push({key:j,groupIndex:$.length,headerLayoutIndex:B,firstDataIndex:Y,count:y}),B=B+1+y,j=W,Y=G}}if(j!==null)$.push({key:j,groupIndex:$.length,headerLayoutIndex:B,firstDataIndex:Y,count:J-Y});return $},o2=(J,Q)=>{if(J.length===0||Q.length===0)return[];let q=J.length+Q.length,$=Array(q),j=0;for(let Y of Q){$[j]={id:`__group_header_${Y.groupIndex}`,__groupHeader:!0,groupKey:Y.key,groupIndex:Y.groupIndex},j++;for(let B=0;B<Y.count;B++)$[j]=J[Y.firstDataIndex+B],j++}return $},i2=(J,Q,q=!1)=>{let $=typeof Q==="number"?(j)=>Q:Q;return(j)=>{let Y=J.getEntry(j);if(Y.type==="header"){if(q&&Y.group.groupIndex===0)return 0;return J.getHeaderHeight(Y.group.groupIndex)}return $(Y.dataIndex)}},t2=(J,Q,q)=>{let $=n2(J,Q.getGroupForIndex,q),j=J+$.length,Y=Q.header?.height??Q.header?.width??Q.headerHeight;return{get totalEntries(){return j},get groupCount(){return $.length},get groups(){return $},getEntry:(F)=>{if($.length===0)return{type:"item",dataIndex:F,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let _=g2($,F),X=$[_];if(F===X.headerLayoutIndex)return{type:"header",group:X};let M=F-X.headerLayoutIndex-1;return{type:"item",dataIndex:X.firstDataIndex+M,group:X}},layoutToDataIndex:(F)=>{if($.length===0)return F;let _=g2($,F),X=$[_];if(F===X.headerLayoutIndex)return-1;let M=F-X.headerLayoutIndex-1;return X.firstDataIndex+M},dataToLayoutIndex:(F)=>{if($.length===0)return F;let _=s2($,F),X=$[_],M=F-X.firstDataIndex;return X.headerLayoutIndex+1+M},getGroupAtLayoutIndex:(F)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let _=g2($,F);return $[_]},getGroupAtDataIndex:(F)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let _=s2($,F);return $[_]},getHeaderHeight:typeof Y==="number"?(F)=>Y:(F)=>{let _=$[F];if(!_)return 0;return Y(_.key,F)},rebuild:(F,_)=>{$=n2(F,Q.getGroupForIndex,_??q),j=F+$.length}}};var gJ=(J,Q,q,$,j=0)=>{let Y=q?"width":"height",B=document.createElement("div");return B.className=`${Q}-sticky-header`,B.setAttribute("role","presentation"),B.setAttribute("aria-hidden","true"),B.style.cssText="position:relative;z-index:5;pointer-events:none;overflow:hidden;"+(q?`top:0;bottom:0;left:${j||0}px`:`top:${j||0}px`),B.style[Y]=`${$}px`,J.insertBefore(B,J.firstChild),B},e2=(J,Q,q,$,j,Y=!1,B=0,G,w)=>{let W=Y?"width":"height",y=Y?"height":"width",v=Y?"X":"Y",O=(E,U)=>{E.style[W]=`${U}px`},F=w??gJ(J,j,Y,0,B),_=()=>{let E=document.createElement("div");return E.className="sticky-group",E.style.position="absolute",E.style.willChange="transform",E.style[y]="100%",E},X=_(),M=_();F.append(X,M);let D=X,P=M,H=Q.groups,z=[],u=[],m=[],p=0,Q2=()=>{H=Q.groups,p=H.length,z=Array(p),u=Array(p),m=Array(p);let E=G?G():1;for(let U=0;U<p;U++)z[U]=q.getOffset(H[U].headerLayoutIndex)*E,u[U]=Q.getHeaderHeight(U),m[U]=u[U]*E};Q2();let d=-1,n=0,q2=0,U2=-1,j2=!1,l=0,c=!1,J2=(E,U)=>{$(E,U);let R=u[U];return O(E,R),R},L=(E)=>{E.replaceChildren(),E.style.transform=""},N=(E)=>{if(E===d)return;if(d=E,n=0,q2=0,E<0||E>=p){L(D);return}n=J2(D,E),q2=m[E],O(F,n),D.style.transform=""},K=(E)=>{if(E===l)return;l=E;let U=Math.round(E);D.style.transform=`translate${v}(${U}px)`,P.style.transform=`translate${v}(${U+n}px)`},V=()=>{l=0,D.style.transform="",P.style.transform=""},f=()=>{if(!c)return;let E=D;D=P,P=E,d=U2,n=d>=0?u[d]:0,q2=d>=0?m[d]:0,O(F,n),L(P),U2=-1,c=!1,V()},r=()=>{if(!c)return;L(P),U2=-1,c=!1,V()},a=!!w,S=()=>{if(j2)return;if(j2=!0,a)F.style.visibility="";else F.style.display=""},Z=()=>{if(!j2)return;if(j2=!1,a)F.style.visibility="hidden";else F.style.display="none";L(D),d=-1,n=0,q2=0,r()},b=(E)=>{if(p===0){Z();return}if(E<z[0]){Z();return}let U=0,R=p-1;while(U<R){let x=U+R+1>>>1;if(z[x]+m[x]<=E)U=x;else R=x-1}if(!j2)S();N(U);let T=U+1;if(T<p){let x=z[T]-E;if(x<=0&&x>-q2){if(U2!==T||!c)U2=T,J2(P,T),c=!0;let I=q2>0?x/q2*n:x;K(I)}else if(x<=-q2){if(c)f()}else if(c)r()}else if(c)r()},A=()=>{Q2();let E=d;if(d=-1,n=0,q2=0,E>=0)N(E)},k=()=>{F.remove(),d=-1,n=0,q2=0,U2=-1,j2=!1,c=!1};if(!w)F.style.display="none";return{update:b,refresh:A,show:S,hide:Z,destroy:k}};var JJ=(J)=>{let Q=Math.max(1,Math.floor(J.columns)),q=J.gap??0,$=J.isHeaderFn,j={row:0,col:0},Y=(_)=>{if(_<=0)return 0;if(!$)return Math.ceil(_/Q);let X=0,M=0,D=0;for(let P=0;P<_;P++)if($(P)){if(D++,M)X++,M=0;X++,M=0}else if(M++,M>=Q)X++,M=0;if(M)X++;return X},B=(_)=>{return j.row=G(_),j.col=w(_),j},G=(_)=>{if(!$)return Math.floor(_/Q);let X=0,M=0;for(let D=0;D<=_;D++)if($(D)){if(M)X++,M=0;if(D===_)return X;X++,M=0}else{if(D===_)return X;if(M++,M>=Q)X++,M=0}return console.warn(`⚠️ getRow(${_}) fell through - returning ${X}`),X},w=(_)=>{if(!$)return _%Q;if($(_))return 0;let X=0;for(let M=0;M<=_;M++)if($(M))X=0;else{if(M===_)return X;if(X++,X>=Q)X=0}return X},W=(_,X,M)=>{if(M<=0)return{start:0,end:-1};if(!$){let u=Math.max(0,_*Q),m=Math.min(M-1,(X+1)*Q-1);return{start:u,end:m}}let D=-1,P=-1,H=0,z=0;for(let u=0;u<M;u++){if($(u)){if(z)H++,z=0;if(H>=_&&H<=X){if(D<0)D=u;P=u}H++,z=0}else{if(H>=_&&H<=X){if(D<0)D=u;P=u}if(z++,z>=Q)H++,z=0}if(H>X&&!z)break}if(D<0)return{start:0,end:-1};return{start:D,end:P}},y=(_,X,M)=>{if(X<0||X>=Q)return-1;let D=_*Q+X;if(D<0||D>=M)return-1;return D},v=(_)=>{let X=(Q-1)*q;return Math.max(0,(_-X)/Q)};return{get columns(){return Q},get gap(){return q},update:(_)=>{if(_.columns!==void 0)Q=Math.max(1,Math.floor(_.columns));if(_.gap!==void 0)q=_.gap;if(_.isHeaderFn!==void 0)$=_.isHeaderFn},getTotalRows:Y,getPosition:B,getRow:G,getCol:w,getItemRange:W,getItemIndex:y,getColumnWidth:v,getColumnOffset:(_,X)=>{let M=v(X);return _*(M+q)}}};var H2=16000000;var QJ="x",$J=20,u2="_isPlaceholder",R2="__placeholder_";function C2(J){let Q=J.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let q=0;q<Q.length;q++)Q[q].setAttribute("tabindex","-1")}var y2=(J,Q,q)=>{if(String(q).startsWith(R2))return!1;let $=R2+Q;if(J.has($))return J.delete($),J.add(q),!0;return!1},qJ=(J)=>({selected:new Set(J??[]),focusedIndex:-1,focusVisible:!1}),m2=(J,Q,q)=>{if(q==="none")return J;let $=new Set(J.selected);if(q==="single"){if($.clear(),Q.length>0)$.add(Q[0])}else for(let j of Q)$.add(j);return{...J,selected:$}},d2=(J,Q)=>{let q=new Set(J.selected);for(let $ of Q)q.delete($);return{...J,selected:q}},YJ=(J,Q,q)=>{if(q==="none")return J;if(J.selected.has(Q))return d2(J,[Q]);else return m2(J,[Q],q)},jJ=(J,Q,q)=>{if(q!=="multiple")return J;return{...J,selected:new Set(Q.map(($)=>$.id))}},BJ=(J)=>({...J,selected:new Set});var UJ=(J,Q)=>{return J.selected.has(Q)},NJ=(J)=>{return Array.from(J.selected)},KJ=(J,Q)=>{let q=[];for(let $ of J.selected){let j=Q($);if(j)q.push(j)}return q};var uJ=(J,Q)=>{let q=Q;return{getOffset:($)=>$*J,getSize:($)=>J,indexAtOffset:($)=>{if(q===0||J===0)return 0;return Math.max(0,Math.min(Math.floor($/J),q-1))},getTotalSize:()=>q*J,getTotal:()=>q,rebuild:($)=>{q=$},isVariable:()=>!1}},mJ=(J,Q)=>{let q=Q,$=new Float64Array(0),j=(B)=>{q=B,$=new Float64Array(B+1),$[0]=0;for(let G=0;G<B;G++)$[G+1]=$[G]+J(G)};j(Q);let Y=(B)=>{if(q===0)return 0;if(B<=0)return 0;if(B>=$[q])return q-1;let G=0,w=q-1;while(G<w){let W=G+w+1>>>1;if($[W]<=B)G=W;else w=W-1}return G};return{getOffset:(B)=>{if(B<=0)return 0;if(B>=q)return $[q];return $[B]},getSize:(B)=>J(B),indexAtOffset:(B)=>Y(B),getTotalSize:()=>$[q]??0,getTotal:()=>q,rebuild:(B)=>j(B),isVariable:()=>!0}},k2=(J,Q)=>{if(typeof J==="number")return uJ(J,Q);return mJ(J,Q)},c2=(J,Q,q,$)=>{if($===0)return 0;if(!J.isVariable())return Math.ceil(q/J.getSize(0));let j=0,Y=0,B=Q;while(B<$&&Y<q)Y+=J.getSize(B),j++,B++;return Math.max(1,j)};var w2=(J,Q,q)=>{let $=Q.getTotalSize(),j=q===!0||$>H2,Y=$>H2?H2:$,B=$>0?Y/$:1;return{isCompressed:j,actualSize:$,virtualSize:Y,ratio:B}},ZJ=(J,Q,q,$,j,Y)=>{if($===0||Q===0)return Y.start=0,Y.end=-1,Y;if(!j.isCompressed||j.ratio===1){let F=q.indexAtOffset(J),_=q.indexAtOffset(J+Q);if(_<$-1)_++;return Y.start=Math.max(0,F),Y.end=Math.min($-1,Math.max(0,_)),Y}let{virtualSize:B}=j,G=J/B,w=q.getTotalSize(),W=G*w,y=q.indexAtOffset(W),v=c2(q,Math.max(0,y),Q,$),O=y+v;return Y.start=Math.max(0,y),Y.end=Math.min($-1,Math.max(0,O)),Y},_J=(J,Q,q,$)=>{if(q===0)return $.start=0,$.end=-1,$;return $.start=Math.max(0,J.start-Q),$.end=Math.min(q-1,J.end+Q),$},z2=(J,Q,q,$,j,Y,B)=>{if(!Y.isCompressed||$===0)return q.getOffset(J);if(Y.ratio===1)return q.getOffset(J)-Q;let{virtualSize:G}=Y,w=Q/G,W=q.getTotalSize(),y=w*W;return q.getOffset(J)-y},WJ=(J,Q,q,$,j,Y="start")=>{if($===0)return 0;let B;if(j.isCompressed&&j.ratio!==1){B=J/$*j.virtualSize;let y=Q.getSize(J);switch(Y){case"center":B-=(q-y)/2*j.ratio;break;case"end":B-=(q-y)*j.ratio;break}return Math.max(0,B)}B=Q.getOffset(J);let G=Q.getSize(J);switch(Y){case"center":B-=(q-G)/2;break;case"end":B-=q-G;break}let w=j.virtualSize-q;return Math.max(0,Math.min(B,w))},VJ=(J,Q,q,$)=>{if(q===0)return 0;if($.isCompressed&&$.ratio!==1){let j=J/$.virtualSize;return Math.floor(j*q)}return Q.indexAtOffset(J)},MJ=(J,Q)=>{if(typeof Q==="number")return J*Q>H2;return Q.getTotalSize()>H2},DJ=(J)=>{if(J<=0)return 0;return Math.floor(H2/J)},GJ=(J,Q,q)=>{let $=w2(J,Q,q);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 f2=(J,Q,q)=>{let $=Array.from(Q).sort((B,G)=>B-G);if($.length<=1)return;let j=[];for(let B=0;B<$.length;B++){let G=q($[B]);if(G)j.push(G)}if(j.length<=1)return;let Y=J.firstChild;for(let B=0;B<j.length;B++){let G=j[B];if(G===Y)Y=Y.nextSibling;else J.insertBefore(G,Y)}};var dJ=(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}}},cJ=1,rJ=(J,Q,q,$,j,Y,B,G,w=!1,W,y)=>{let v=dJ(),O=new Map,F=Y,_=!1,X=0,M="",D=-1,P={selected:!1,focused:!1},H=(Z,b)=>{return P.selected=Z,P.focused=b,P},z=`${j}-item ${j}-grid-item`,u=`${j}-group-header`,m=`${j}-item--selected`,p=`${j}-item--focused`,Q2=`${j}-item--placeholder`,d=`${j}-item--replaced`,n=(Z,b)=>{if(typeof b==="string")Z.innerHTML=b;else Z.replaceChildren(b);C2(Z)},q2=(Z,b,A)=>{Z.classList.toggle(m,b),Z.classList.toggle(p,A)},U2=(Z,b)=>{let A=$.getRow(Z);if(b?.compression?.isCompressed)return z2(A,b.scrollPosition,q,b.totalItems,b.containerSize,b.compression,b.rangeStart);return q.getOffset(A)},j2=(Z,b)=>{let A=$.getCol(Z),E=_&&A===0?0:$.getColumnOffset(A,F),U;if(_){let R=$.getRow(Z),T=0,x=-1;for(let I=0;I<Z;I++){let g=$.getRow(I);if(g<R&&g!==x){let i=q.getSize(I);T+=i,x=g}}U=T}else U=U2(Z,b);if(w)return`translate(${Math.round(U)}px, ${Math.round(E)}px)`;return`translate(${Math.round(E)}px, ${Math.round(U)}px)`},l=(Z,b)=>{let A=Z.classList.contains(u),k=A?F:$.getColumnWidth(F),E;if(_||A)E=q.getSize(b)-$.gap;else{let U=$.getRow(b);E=q.getSize(U)-$.gap}if(w)Z.style.width=`${E}px`,Z.style.height=`${k}px`;else Z.style.width=`${k}px`,Z.style.height=`${E}px`},c=(Z,b,A,k,E)=>{let U=v.acquire(),R=!!b.__groupHeader,T=H(A,k);if(U.className=R?u:z,U.dataset.index=String(Z),U.dataset.id=String(b.id),U.dataset.row=String($.getRow(Z)),U.dataset.col=String($.getCol(Z)),R)U.setAttribute("role","presentation"),U.removeAttribute("aria-selected"),U.removeAttribute("aria-setsize"),U.removeAttribute("aria-posinset"),U.removeAttribute("id");else if(y===!0){if(U.setAttribute("role","option"),U.ariaSelected=String(A),G)U.id=`${G}-item-${Z}`;if(B){let g=B();if(g!==D)D=g,M=String(g);U.setAttribute("aria-setsize",M);let i=W?W(Z):Z+1;U.setAttribute("aria-posinset",String(i))}}else if(U.setAttribute("role","listitem"),U.removeAttribute("aria-selected"),B){let g=B();if(g!==D)D=g,M=String(g);U.setAttribute("aria-setsize",M);let i=W?W(Z):Z+1;U.setAttribute("aria-posinset",String(i))}l(U,Z);let x=Q(b,Z,T);if(n(U,x),String(b.id).startsWith(R2))U.classList.add(Q2);return q2(U,A,k),U.style.transform=E,{element:U,lastItem:b,lastSelected:A,lastFocused:k,lastTransform:E,lastSeenFrame:X}},J2=(Z,b,A,k,E)=>{if(X++,b.start===0&&Z.length)_=v2(Z[0]);let U=!1;if(B){let T=B();if(T!==D)D=T,M=String(T),U=!0}let R=null;for(let T=b.start;T<=b.end;T++){let x=T-b.start,I=Z[x];if(!I)continue;let g=A.has(I.id),i=T===k,e=O.get(T);if(e){let Z2=e.lastItem!==I,$2=e.lastSelected!==g,h=e.lastFocused!==i;if(Z2){let o=e.element.dataset.id??"",Y2=String(I.id),N2=o.startsWith(R2),s=Y2.startsWith(R2);if(!s&&y2(A,T,I.id))g=!0;let M2=H(g,i),E2=Q(I,T,M2);if(n(e.element,E2),e.element.dataset.id=Y2,e.element.dataset.row=String($.getRow(T)),e.element.dataset.col=String($.getCol(T)),l(e.element,T),e.element.classList.toggle(Q2,s),N2&&!s)e.element.classList.add(d),setTimeout(()=>e.element.classList.remove(d),300);if(e.lastItem=I,!I.__groupHeader){let V2=W?W(T):T+1;e.element.setAttribute("aria-posinset",String(V2))}}if(Z2||$2||h)q2(e.element,g,i),e.element.ariaSelected=String(g),e.lastSelected=g,e.lastFocused=i;let C=j2(T,E);if(e.lastTransform!==C)e.element.style.transform=C,e.lastTransform=C;if(U&&!I.__groupHeader)e.element.setAttribute("aria-setsize",M)}else{if(y2(A,T,I.id))g=!0;let Z2=j2(T,E),$2=c(T,I,g,i,Z2);if(!R)R=document.createDocumentFragment();R.appendChild($2.element),O.set(T,$2)}}if(R)J.appendChild(R);for(let[T,x]of O)if(T>=b.start&&T<=b.end)x.lastSeenFrame=X;else if(X-x.lastSeenFrame>cJ)v.release(x.element),O.delete(T)},L=(Z)=>{for(let[b,A]of O){let k=j2(b,Z);if(A.lastTransform!==k)A.element.style.transform=k,A.lastTransform=k}},N=(Z,b,A,k)=>{let E=O.get(Z);if(!E)return;let U=H(A,k),R=Q(b,Z,U);n(E.element,R),q2(E.element,A,k),E.element.dataset.id=String(b.id),E.element.ariaSelected=String(A),l(E.element,Z),E.lastItem=b,E.lastSelected=A,E.lastFocused=k},K=(Z,b,A)=>{let k=O.get(Z);if(!k)return;let E=k.lastSelected!==b,U=k.lastFocused!==A;if(E||U)q2(k.element,b,A),k.lastSelected=b,k.lastFocused=A},V=(Z)=>{return O.get(Z)?.element},f=(Z)=>{if(Math.abs(Z-F)<1)return;F=Z;for(let[b,A]of O){l(A.element,b);let k=j2(b);A.element.style.transform=k,A.lastTransform=k}},r=()=>{f2(J,O.keys(),(Z)=>O.get(Z)?.element)},a=()=>{for(let[,Z]of O)v.release(Z.element);O.clear()};return{render:J2,updatePositions:L,updateItem:N,updateItemClasses:K,getElement:V,sortDOM:r,updateContainerWidth:f,clear:a,destroy:()=>{a(),v.clear()}}};var OJ=(J,Q=50,q=1/0,$=!0)=>{let j=J,Y=[],B=0,G=()=>{Y=j.map((M,D)=>({def:M,index:D,width:0,minWidth:lJ(M.minWidth??Q,1),maxWidth:M.maxWidth??q,resizable:M.resizable??$,offset:0}))},w=(M)=>{if(Y.length===0){B=0;return}let D=0,P=0;for(let H=0;H<Y.length;H++){let z=Y[H],u=z.def;if(u.width!==void 0)z.width=r2(u.width,z.minWidth,z.maxWidth),D+=z.width;else P++}if(P){let z=Math.max(0,M-D)/P;for(let u=0;u<Y.length;u++){let m=Y[u];if(m.def.width===void 0)m.width=r2(z,m.minWidth,m.maxWidth)}}W()},W=()=>{let M=0;for(let D=0;D<Y.length;D++){let P=Y[D];P.offset=M,M+=P.width}B=M},y=(M,D)=>{if(M<0||M>=Y.length)return 0;let P=Y[M];if(!P.resizable)return P.width;let H=r2(D,P.minWidth,P.maxWidth);return P.width=H,W(),H},v=(M)=>{return Y[M]},O=(M)=>{if(Y.length===0)return;if(M<0)return Y[0];if(M>=B)return Y[Y.length-1];let D=0,P=Y.length-1;while(D<P){let H=D+P>>>1,z=Y[H];if(M<z.offset)P=H-1;else if(M>=z.offset+z.width)D=H+1;else return z}return Y[D]},F=(M)=>{if(M<0||M>=Y.length)return 0;return Y[M].offset},_=(M)=>{if(M<0||M>=Y.length)return 0;return Y[M].width},X=(M)=>{j=M,G()};return G(),{get columns(){return Y},get totalWidth(){return B},resolve:w,updateColumns:X,resizeColumn:y,getColumn:v,getColumnAtX:O,getColumnOffset:F,getColumnWidth:_}},r2=(J,Q,q)=>Math.min(q,Math.max(Q,J)),lJ=(J,Q)=>Math.max(Q,J);var XJ=(J,Q,q,$,j,Y)=>{let B=document.createElement("div");B.setAttribute("role","rowgroup");let G=document.createElement("div");G.className=`${q}-table-header`,G.setAttribute("role","row"),G.setAttribute("aria-rowindex","1"),G.style.height=`${Q}px`;let w=document.createElement("div");w.className=`${q}-table-header-scroll`,w.setAttribute("role","presentation"),G.appendChild(w),B.appendChild(G),J.insertBefore(B,J.firstChild),J.style.setProperty("--vlist-table-header-height",`${Q}px`);let W=[],y=[],v=!0,O=null,F="asc",_=null,X=!1,M=-1,D=0,P=0,H=0,z=(N,K)=>{let V=document.createElement("div");V.className=`${q}-table-header-cell`,V.setAttribute("role","columnheader"),V.setAttribute("aria-colindex",String(K+1)),V.setAttribute("tabindex",K===0?"0":"-1"),V.dataset.columnKey=N.def.key;let f=N.def.align;if(f==="center")V.classList.add(`${q}-table-header-cell--center`);else if(f==="right")V.classList.add(`${q}-table-header-cell--right`);let r=document.createElement("div");r.className=`${q}-table-header-content`;let a=N.def.header?N.def.header(N.def):N.def.label;if(typeof a==="string")r.textContent=a;else r.appendChild(a);if(V.appendChild(r),N.def.sortable){let S=document.createElement("span");S.className=`${q}-table-header-sort`,S.setAttribute("aria-hidden","true"),V.appendChild(S),y.push(S),V.classList.add(`${q}-table-header-cell--sortable`)}else y.push(null);if(N.resizable){let S=document.createElement("div");S.className=`${q}-table-header-resize`,S.dataset.resizeIndex=String(K),V.appendChild(S)}return V},u=(N)=>{_=N,w.textContent="",W=[],y=[];let K=N.columns;for(let V=0;V<K.length;V++){let f=K[V],r=z(f,V);W.push(r),w.appendChild(r)}if(m(N),O)p(O,F)},m=(N)=>{_=N;let K=N.columns;w.style.width=`${N.totalWidth}px`;for(let V=0;V<W.length&&V<K.length;V++){let f=W[V],r=K[V];f.style.width=`${r.width}px`}},p=(N,K)=>{if(O=N,F=K,!_)return;let V=_.columns;for(let f=0;f<y.length&&f<V.length;f++){let r=y[f];if(!r)continue;if(V[f].def.key===N)r.textContent=K==="asc"?"▲":"▼",r.style.opacity="0.7",W[f].setAttribute("aria-sort",K==="asc"?"ascending":"descending");else r.textContent="",r.style.opacity="0",W[f].removeAttribute("aria-sort")}},Q2=(N)=>{w.style.transform=`translateX(${-N}px)`},d=(N)=>{let K=N.target;if(!K.dataset.resizeIndex)return;if(N.preventDefault(),N.stopPropagation(),M=+K.dataset.resizeIndex,!_)return;let V=_.getColumn(M);if(!V?.resizable)return;X=!0,D=N.clientX,P=V.width,J.classList.add(`${q}--col-resizing`),J.style.cursor="col-resize",K.classList.add(`${q}-table-header-resize--active`),K.setPointerCapture(N.pointerId),K.addEventListener("pointermove",n),K.addEventListener("pointerup",q2),K.addEventListener("pointercancel",q2)},n=(N)=>{if(!X||!_)return;let K=N.clientX-D;if(Math.abs(K)<1)return;let V=Math.max(0,P+K);$(M,V)},q2=(N)=>{if(!X)return;let K=N.target;K.removeEventListener("pointermove",n),K.removeEventListener("pointerup",q2),K.removeEventListener("pointercancel",q2);try{K.releasePointerCapture(N.pointerId)}catch{}K.classList.remove(`${q}-table-header-resize--active`),J.classList.remove(`${q}--col-resizing`),J.style.cursor="",X=!1,M=-1},U2=(N)=>{let K=N.target;if(K.dataset.resizeIndex)return;if(X)return;let V=K;while(V&&!V.dataset.columnKey)if(V=V.parentElement,V===G||V===null)return;let f=V.dataset.columnKey;if(!_)return;let r=_.columns,a=-1;for(let Z=0;Z<r.length;Z++)if(r[Z].def.key===f){a=Z;break}if(a===-1)return;let S=r[a];if(Y)Y({key:f,index:a,event:N});if(S.def.sortable&&j){let Z;if(O===f)Z=F==="asc"?"desc":null;else Z="asc";j({key:f,index:a,direction:Z})}},j2=(N)=>{if(N<0||N>=W.length)return;W[H]?.setAttribute("tabindex","-1"),H=N;let K=W[H];K.setAttribute("tabindex","0"),K.focus()},l=(N)=>{let K=N.key;if(K==="ArrowRight"){if(N.ctrlKey||N.metaKey){if(!_)return;let V=_.getColumn(H);if(V?.resizable)$(H,V.width+10),N.preventDefault()}else if(H<W.length-1)j2(H+1),N.preventDefault();N.stopPropagation();return}if(K==="ArrowLeft"){if(N.ctrlKey||N.metaKey){if(!_)return;let V=_.getColumn(H);if(V?.resizable)$(H,V.width-10),N.preventDefault()}else if(H>0)j2(H-1),N.preventDefault();N.stopPropagation();return}if(K==="Home"){j2(0),N.preventDefault(),N.stopPropagation();return}if(K==="End"){j2(W.length-1),N.preventDefault(),N.stopPropagation();return}if(K==="Enter"||K===" "){if(!_)return;let V=_.getColumn(H);if(V?.def.sortable&&j){let f;if(O===V.def.key)f=F==="asc"?"desc":null;else f="asc";j({key:V.def.key,index:H,direction:f}),N.preventDefault()}N.stopPropagation();return}if(K==="ArrowDown"){J.focus(),N.preventDefault(),N.stopPropagation();return}};return G.addEventListener("pointerdown",d),G.addEventListener("click",U2),G.addEventListener("keydown",l),{element:G,update:m,updateSort:p,rebuild:u,show:()=>{if(v)return;v=!0,G.style.display=""},hide:()=>{if(!v)return;v=!1,G.style.display="none"},destroy:()=>{G.removeEventListener("pointerdown",d),G.removeEventListener("click",U2),G.removeEventListener("keydown",l),J.style.removeProperty("--vlist-table-header-height"),B.remove(),W=[],y=[],_=null,v=!1},syncScroll:Q2}};var aJ=()=>{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}}},EJ=(J,Q,q,$,j,Y,B,G,w)=>{let W=aJ(),y=new Map,v=-1,O=q,F=null,_=null,X=null,M=(U,R)=>{_=U,X=R},D=(U,R)=>{R?U.setAttribute("aria-selected","true"):U.removeAttribute("aria-selected")},P=(U,R,T,x)=>{U.setAttribute("role",R),U.setAttribute("data-id",String(T)),U.setAttribute("data-index",String(x))},H=(U)=>String(U).startsWith("__placeholder_"),z=`${j}-item ${j}-table-row`,u=`${j}-item--selected`,m=`${j}-item--focused`,p=`${j}-table-cell`,Q2=`${j}-table-cell--center`,d=`${j}-table-cell--right`,n=`${j}-item--odd`,q2=`${j}-item--placeholder`,U2=`${j}-item--replaced`,j2=`${j}-item ${j}-table-row ${j}-table-group-header`,l=`${j}-table-group-header-content`,c=(U,R,T,x,I=!1)=>{if(T.def.cell){let g=T.def.cell(R,T.def,x);if(typeof g==="string")U.innerHTML=g;else U.replaceChildren(g)}else{let g=R[T.def.key],i=g!=null?String(g):"";if(I&&i)U.innerHTML=`<span>${i}</span>`;else U.textContent=i}},J2=(U,R,T,x,I=!1)=>{let g=z;if(G){if(F){let i=F(R);if(i>=0&&(i&1)===1)g+=` ${n}`}else if((R&1)===1)g+=` ${n}`}if(I)g+=` ${q2}`;if(T)g+=` ${u}`;if(x)g+=` ${m}`;U.className=g},L=(U,R,T)=>{if(T?.compression?.isCompressed)return Math.round(z2(U,T.scrollPosition,R,T.totalItems,T.containerSize,T.compression,T.rangeStart));return R.getOffset(U)},N=(U,R)=>{let T=R.def.align;if(T==="center")U.classList.add(Q2),U.classList.remove(d);else if(T==="right")U.classList.add(d),U.classList.remove(Q2);else U.classList.remove(Q2,d)},K=(U,R)=>{let x=O.columns.length;if(R.length===x)return R;let I=[];for(let g=0;g<x;g++){let i;if(g<R.length)i=R[g];else i=document.createElement("div"),i.className=p,U.appendChild(i);I.push(i)}for(let g=x;g<R.length;g++)R[g].remove();return I},V=(U,R,T,x)=>{let I=W.acquire(),g=U,i=T.getSize(R),e=L(R,T,x);I.style.cssText=`width:${O.totalWidth}px;height:${i}px;transform:translateY(${e}px)`,I.className=j2,P(I,"presentation",U.id,R),I.removeAttribute("aria-selected"),I.removeAttribute("aria-rowindex"),I.replaceChildren();let Z2=document.createElement("div");if(Z2.className=l,X){let $2=X(g.groupKey,g.groupIndex);if(typeof $2==="string")Z2.innerHTML=$2;else Z2.appendChild($2)}return I.appendChild(Z2),{element:I,cells:[],index:R,isGroupHeader:!0,_lastItem:U,lastItemId:U.id,lastSelected:!1,lastFocused:!1,lastOffset:e,lastHeight:i}},f=(U,R,T,x,I,g)=>{let i=W.acquire(),e=I.getSize(R),Z2=L(R,I,g),$2=H(U.id);i.style.cssText=`width:${O.totalWidth}px;height:${e}px;transform:translateY(${Z2}px)`,J2(i,R,T,x,$2),P(i,"row",U.id,R),i.id=`${Y}-item-${R}`,i.setAttribute("aria-rowindex",String(R+2)),D(i,T);let h=K(i,[]),C=O.columns;for(let o=0;o<h.length&&o<C.length;o++){let Y2=h[o],N2=C[o];Y2.style.cssText=`left:${N2.offset}px;width:${N2.width}px`,Y2.setAttribute("role","gridcell"),Y2.setAttribute("aria-colindex",String(o+1)),N(Y2,N2),c(Y2,U,N2,R,$2)}return{element:i,cells:h,index:R,isGroupHeader:!1,_lastItem:U,lastItemId:U.id,lastSelected:T,lastFocused:x,lastOffset:Z2,lastHeight:e}},r=(U,R,T,x,I)=>{let g=!1,i=B();if(i!==v)v=i,g=!0;let e=null,Z2=Q();F=typeof G==="string"&&w?w():null;for(let $2=R.start;$2<=R.end;$2++){let h=$2-R.start,C=U[h];if(!C)continue;let o=T.has(C.id),Y2=$2===x,N2=_?_(C):!1,s=y.get($2);if(s){if(s.isGroupHeader!==N2){W.release(s.element),y.delete($2);let M2=N2?V(C,$2,Z2,I):f(C,$2,o,Y2,Z2,I);if(y.set($2,M2),!e)e=document.createDocumentFragment();e.appendChild(M2.element);continue}if(N2){if(s._lastItem!==C){let V2=C,G2=s.element.firstElementChild;if(G2&&X){let A2=X(V2.groupKey,V2.groupIndex);if(typeof A2==="string")G2.innerHTML=A2;else G2.replaceChildren(A2)}s.element.setAttribute("data-id",String(C.id)),s._lastItem=C,s.lastItemId=C.id}let E2=L($2,Z2,I);if(s.lastOffset!==E2)s.lastOffset=E2,s.element.style.transform=`translateY(${E2}px)`;let B2=Z2.getSize($2);if(s.lastHeight!==B2)s.lastHeight=B2,s.element.style.height=`${B2}px`}else{let M2=s._lastItem!==C,E2=s.lastSelected!==o,B2=s.lastFocused!==Y2;if(M2){let A2=s.lastItemId!=null&&H(s.lastItemId),W2=H(C.id);if(!W2&&y2(T,$2,C.id))o=!0;let O2=O.columns;for(let _2=0;_2<s.cells.length&&_2<O2.length;_2++)c(s.cells[_2],C,O2[_2],$2,W2);if(J2(s.element,$2,o,Y2,W2),s.element.setAttribute("data-id",String(C.id)),D(s.element,o),A2&&!W2)s.element.classList.add(U2),setTimeout(()=>{s.element.classList.remove(U2)},300);s._lastItem=C,s.lastItemId=C.id,s.lastSelected=o,s.lastFocused=Y2}else if(E2||B2)J2(s.element,$2,o,Y2,H(C.id)),D(s.element,o),s.lastSelected=o,s.lastFocused=Y2;let V2=L($2,Z2,I);if(s.lastOffset!==V2)s.lastOffset=V2,s.element.style.transform=`translateY(${V2}px)`;let G2=Z2.getSize($2);if(s.lastHeight!==G2)s.lastHeight=G2,s.element.style.height=`${G2}px`;if(g)s.element.setAttribute("aria-rowindex",String($2+2))}}else{if(y2(T,$2,C.id))o=!0;let M2=N2?V(C,$2,Z2,I):f(C,$2,o,Y2,Z2,I);if(y.set($2,M2),!e)e=document.createDocumentFragment();e.appendChild(M2.element)}}if(e)J.appendChild(e);for(let[$2,h]of y)if($2<R.start||$2>R.end)W.release(h.element),y.delete($2)},a=(U)=>{let R=Q();for(let[T,x]of y){let I=L(T,R,U);if(x.lastOffset!==I)x.lastOffset=I,x.element.style.transform=`translateY(${I}px)`}},S=(U,R,T,x)=>{let I=y.get(U);if(!I)return;if(I.isGroupHeader)return;let g=O.columns;for(let i=0;i<I.cells.length&&i<g.length;i++)c(I.cells[i],R,g[i],U);I.element.setAttribute("data-id",String(R.id)),I._lastItem=R,I.lastItemId=R.id,J2(I.element,U,T,x),D(I.element,T),I.lastSelected=T,I.lastFocused=x},Z=(U,R,T)=>{let x=y.get(U);if(!x)return;if(x.isGroupHeader)return;let I=x.lastSelected!==R,g=x.lastFocused!==T;if(I||g)J2(x.element,U,R,T),D(x.element,R),x.lastSelected=R,x.lastFocused=T},b=(U)=>{O=U;let R=U.columns;for(let[,T]of y)if(T.element.style.width=`${U.totalWidth}px`,T.cells.length>0)for(let x=0;x<T.cells.length&&x<R.length;x++){let I=T.cells[x],g=R[x];I.style.left=`${g.offset}px`,I.style.width=`${g.width}px`}},A=(U)=>{return y.get(U)?.element},k=()=>{for(let[,U]of y)W.release(U.element);y.clear(),v=-1};return{render:r,updatePositions:a,updateItem:S,updateItemClasses:Z,getElement:A,updateColumnLayout:b,setGroupHeaderFn:M,clear:k,destroy:()=>{k(),W.clear()}}};var AJ=(J)=>{let Q=Math.max(1,Math.floor(J.columns)),q=J.gap??0,$=J.containerSize,j=J.crossOffset??0,Y=J.mainOffset??0,B=0,G=[],w=()=>{let D=(Q-1)*q;B=Math.max(0,($-D)/Q),G=Array(Q);let P=B+q;for(let H=0;H<Q;H++)G[H]=j+H*P};w();let W=[],y=0,v=[],O=(D,P)=>{if(D<=0)return y=0,W=[],[];let H=Array(Q).fill(Y),z=Array(Q);for(let p=0;p<Q;p++)z[p]=[];let u=Array(D);for(let p=0;p<D;p++){let Q2=0,d=H[0];for(let U2=1;U2<Q;U2++){let j2=H[U2];if(j2<d)d=j2,Q2=U2}let n=P(p),q2=H[Q2];u[p]={index:p,x:G[Q2],y:q2,lane:Q2,size:n,crossSize:B},z[Q2].push(p),H[Q2]=q2+n+q}W=z;let m=0;for(let p=0;p<Q;p++){let Q2=H[p],d=Q2>0?Q2-q:0;if(d>m)m=d}return y=m,u},F=(D)=>{if(D.length===0)return y;if(y)return y;let P=Array(Q).fill(0);for(let z of D){let u=z.y+z.size,m=P[z.lane];if(u>m)P[z.lane]=u}let H=0;for(let z=0;z<Q;z++)if(P[z]>H)H=P[z];return H},_=(D,P,H)=>{if(D.length===0||H<=P)return v.length=0,v;if(W.length===0||W.length!==Q)return X(D,P,H);v.length=0;for(let z=0;z<Q;z++){let u=W[z],m=u.length;if(!m)continue;let p=0,Q2=m;while(p<Q2){let d=p+Q2>>>1,n=D[u[d]];if(n.y+n.size<=P)p=d+1;else Q2=d}for(let d=p;d<m;d++){let n=D[u[d]];if(n.y>=H)break;v.push(n)}}return v},X=(D,P,H)=>{v.length=0;for(let z of D)if(z.y+z.size>P&&z.y<H)v.push(z);return v};return{get columns(){return Q},get gap(){return q},get containerSize(){return $},update:(D)=>{let P=!1;if(D.columns!==void 0){let H=Math.max(1,Math.floor(D.columns));if(H!==Q)Q=H,P=!0}if(D.gap!==void 0&&D.gap!==q)q=D.gap,P=!0;if(D.containerSize!==void 0&&D.containerSize!==$)$=D.containerSize,P=!0;if(D.crossOffset!==void 0&&D.crossOffset!==j)j=D.crossOffset,P=!0;if(D.mainOffset!==void 0&&D.mainOffset!==Y)Y=D.mainOffset,P=!0;if(P)w()},calculateLayout:O,getTotalSize:F,getVisibleItems:_}};var sJ=(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}}},nJ=1,FJ=(J,Q,q,$=!1,j,Y,B,G)=>{let w=sJ(),W=new Map,y=new Set,v=0,O="",F=-1,_={selected:!1,focused:!1},X=(l,c)=>{return _.selected=l,_.focused=c,_},M=`${q}-item ${q}-masonry-item`,D=`${q}-group-header`,P=`${q}-item--selected`,H=`${q}-item--focused`,z=(l,c)=>{if(typeof c==="string")l.innerHTML=c;else l.replaceChildren(c);C2(l)},u=(l,c,J2)=>{l.classList.toggle(P,c),l.classList.toggle(H,J2)},m=(l,c)=>{if($)l.style.transform=`translate(${Math.round(c.y)}px, ${Math.round(c.x)}px)`;else l.style.transform=`translate(${Math.round(c.x)}px, ${Math.round(c.y)}px)`},p=(l,c)=>{if($)l.style.width=`${c.size}px`,l.style.height=`${c.crossSize}px`;else l.style.width=`${c.crossSize}px`,l.style.height=`${c.size}px`},Q2=(l,c,J2,L,N)=>{let K=w.acquire(),V=c.__groupHeader,f=X(L,N);if(K.className=V?D:M,K.dataset.index=String(l),K.dataset.id=String(c.id),K.dataset.lane=String(J2.lane),V)K.setAttribute("role","presentation"),K.removeAttribute("aria-selected"),K.removeAttribute("aria-setsize"),K.removeAttribute("aria-posinset"),K.removeAttribute("id");else if(G===!0){if(K.setAttribute("role","option"),K.ariaSelected=String(L),Y)K.id=`${Y}-item-${l}`;if(j){let a=j();if(a!==F)F=a,O=String(a);K.setAttribute("aria-setsize",O);let S=B?B(l):l+1;K.setAttribute("aria-posinset",String(S))}}else if(K.setAttribute("role","listitem"),K.removeAttribute("aria-selected"),j){let a=j();if(a!==F)F=a,O=String(a);K.setAttribute("aria-setsize",O);let S=B?B(l):l+1;K.setAttribute("aria-posinset",String(S))}p(K,J2);let r=Q(c,l,f);return z(K,r),u(K,L,N),m(K,J2),{element:K,lastItem:c,lastSelected:L,lastFocused:N,lastY:J2.y,lastX:J2.x,lastSize:J2.size,lastCrossSize:J2.crossSize,lastSeenFrame:v}},d=(l,c,J2,L)=>{v++,y.clear();for(let K=0;K<c.length;K++)y.add(c[K].index);let N=null;for(let K=0;K<c.length;K++){let V=c[K],f=V.index,r=l(f);if(!r)continue;let a=J2.has(r.id),S=f===L,Z=W.get(f);if(Z){let b=Z.lastItem!==r,A=Z.lastSelected!==a,k=Z.lastFocused!==S,E=Z.lastY!==V.y||Z.lastX!==V.x,U=Z.lastSize!==V.size||Z.lastCrossSize!==V.crossSize;if(b){let R=X(a,S),T=Q(r,f,R);if(z(Z.element,T),Z.element.dataset.id=String(r.id),Z.lastItem=r,!r.__groupHeader){let I=B?B(f):f+1;Z.element.setAttribute("aria-posinset",String(I))}}if(b||A||k)u(Z.element,a,S),Z.element.ariaSelected=String(a),Z.lastSelected=a,Z.lastFocused=S;if(U)p(Z.element,V),Z.lastSize=V.size,Z.lastCrossSize=V.crossSize;if(E)m(Z.element,V),Z.lastY=V.y,Z.lastX=V.x}else{let b=Q2(f,r,V,a,S);if(!N)N=document.createDocumentFragment();N.appendChild(b.element),W.set(f,b)}}if(N)J.appendChild(N);for(let[K,V]of W)if(y.has(K))V.lastSeenFrame=v;else if(v-V.lastSeenFrame>nJ)w.release(V.element),W.delete(K)},n=()=>{for(let l of W.values())w.release(l.element);W.clear(),J.innerHTML=""};return{render:d,getElement:(l)=>W.get(l)?.element,updateItemClasses:(l,c,J2)=>{let L=W.get(l);if(!L)return;let N=L.lastSelected!==c,K=L.lastFocused!==J2;if(N||K)u(L.element,c,J2),L.lastSelected=c,L.lastFocused=J2},sortDOM:()=>{f2(J,W.keys(),(l)=>W.get(l)?.element)},clear:n,destroy:()=>{n(),w.clear()}}};var LJ=(J,Q)=>{let q=new Map,$=(Y)=>q.get(Y)??J,j=k2($,Q);return{getOffset(Y){return j.getOffset(Y)},getSize(Y){return $(Y)},indexAtOffset(Y){return j.indexAtOffset(Y)},getTotalSize(){return j.getTotalSize()},getTotal(){return j.getTotal()},rebuild(Y){if(Y<j.getTotal()){for(let B of q.keys())if(B>=Y)q.delete(B)}j=k2($,Y)},isVariable(){return!0},setMeasuredSize(Y,B){q.set(Y,B)},isMeasured(Y){return q.has(Y)},getEstimatedSize(){return J},measuredCount(){return q.size}}};var HJ=(J,Q,q,$,j,Y)=>{if($===0||Q===0)return Y.start=0,Y.end=-1,Y;let B=q.indexAtOffset(J),G=q.indexAtOffset(J+Q);if(G<$-1)G++;return Y.start=Math.max(0,B),Y.end=Math.min($-1,Math.max(0,G)),Y},bJ=(J,Q,q,$)=>{if(q===0)return $.start=0,$.end=-1,$;return $.start=Math.max(0,J.start-Q),$.end=Math.min(q-1,J.end+Q),$},RJ=(J,Q,q,$,j,Y)=>{if($===0)return 0;let B=Math.max(0,Math.min(J,$-1)),G=Q.getOffset(B),w=Q.getSize(B),W=Q.getTotalSize(),y=Math.max(0,W-q),v;switch(Y){case"center":v=G-q/2+w/2;break;case"end":v=G-q+w;break;case"start":default:v=G;break}return Math.max(0,Math.min(v,y))},TJ=(J,Q,q)=>{if(q&&q.isCompressed)return q.virtualSize;return Q.getTotalSize()},yJ=(J,Q)=>{return Q.getTotalSize()},zJ=(J,Q)=>{return Q.getOffset(J)},PJ=(J,Q,q)=>{let $=Math.max(0,Q-q);return Math.max(0,Math.min(J,$))};var kJ=(J,Q,q,$,j="start",Y,B=RJ)=>{return B(J,Q,q,$,Y,j)},wJ=(J,Q)=>{return J.start===Q.start&&J.end===Q.end},vJ=(J,Q)=>{return J>=Q.start&&J<=Q.end},CJ=(J)=>{if(J.end<J.start)return 0;return J.end-J.start+1};var fJ=(J,Q)=>{let q=[],$=[];for(let j=J.start;j<=J.end;j++)if(j<Q.start||j>Q.end)$.push(j);for(let j=Q.start;j<=Q.end;j++)if(j<J.start||j>J.end)q.push(j);return{add:q,remove:$}};var SJ=()=>{let J={},Q=(Y,B)=>{if(!J[Y])J[Y]=new Set;return J[Y].add(B),()=>q(Y,B)},q=(Y,B)=>{J[Y]?.delete(B)};return{on:Q,off:q,emit:(Y,B)=>{J[Y]?.forEach((G)=>{try{G(B)}catch(w){console.error(`[vlist] Error in event handler for "${String(Y)}":`,w)}})},clear:(Y)=>{if(Y)delete J[Y];else for(let B in J)delete J[B]}}};var S2=(J={})=>{let{chunkSize:Q=100,maxCachedItems:q=5000,evictionBuffer:$=200,onEvict:j}=J,Y=new Map,B=0,G=0,w=(L)=>{let N=Y.get(L);if(!N)N={items:Array(Q),count:0,lastAccess:Date.now()},Y.set(L,N);else N.lastAccess=Date.now();return N},W=(L)=>{return Math.floor(L/Q)},y=(L)=>{return L%Q},v=()=>B,O=(L)=>{B=L},F=(L)=>{if(L<0||L>=B)return;let N=W(L),K=Y.get(N);if(!K)return;return K.items[y(L)]},_=(L)=>{if(L<0||L>=B)return!1;let N=W(L),K=Y.get(N);if(!K)return!1;return K.items[y(L)]!==void 0},X=(L,N)=>{let K=W(L),V=w(K),f=y(L),r=V.items[f]===void 0;if(V.items[f]=N,r)V.count++,G++;if(L>=B)B=L+1},M=(L,N)=>{for(let K=0;K<N.length;K++){let V=N[K];if(V!==void 0)X(L+K,V)}},D=(L,N)=>{if(L<0||L>B)return;let K=W(L),V=Array.from(Y.keys()).filter((Z)=>Z>=K).sort((Z,b)=>Z-b),f=[];for(let Z of V){let b=Y.get(Z),A=Z*Q;for(let k=0;k<Q;k++){if(b.items[k]===void 0)continue;let E=A+k;if(E<L)continue;f.push({oldIndex:E,item:b.items[k]})}}for(let{oldIndex:Z}of f){let b=W(Z),A=Y.get(b);if(!A)continue;let k=y(Z);if(A.items[k]!==void 0){if(A.items[k]=void 0,A.count--,G--,A.count===0)Y.delete(b)}}B++;for(let{oldIndex:Z,item:b}of f){let A=Z+1,k=W(A),E=w(k),U=y(A);E.items[U]=b,E.count++,G++}let r=W(L),a=w(r),S=y(L);a.items[S]=N,a.count++,G++},P=(L)=>{if(L<0||L>=B)return!1;let N=W(L),K=Y.get(N),V=y(L);if(!(K!==void 0&&K.items[V]!==void 0))return!1;let r=N,a=Array.from(Y.keys()).filter((Z)=>Z>=r).sort((Z,b)=>Z-b),S=[];for(let Z of a){let b=Y.get(Z),A=Z*Q;for(let k=0;k<Q;k++){if(b.items[k]===void 0)continue;let E=A+k;if(E<=L)continue;S.push({oldIndex:E,item:b.items[k]})}}if(K.items[V]=void 0,K.count--,G--,K.count===0)Y.delete(N);for(let{oldIndex:Z}of S){let b=W(Z),A=Y.get(b);if(!A)continue;let k=y(Z);if(A.items[k]!==void 0){if(A.items[k]=void 0,A.count--,G--,A.count===0)Y.delete(b)}}for(let{oldIndex:Z,item:b}of S){let A=Z-1,k=W(A),E=w(k),U=y(A);E.items[U]=b,E.count++,G++}return B--,!0},H=(L,N)=>{let K=[];for(let V=L;V<=N&&V<B;V++)K.push(F(V));return K},z=(L,N)=>{for(let K=L;K<=N&&K<B;K++)if(!_(K))return!1;return!0},u=()=>{let L=[],N=null,K=Array.from(Y.keys()).sort((V,f)=>V-f);for(let V of K){let f=Y.get(V);if(!f)continue;let r=V*Q;for(let a=0;a<Q;a++){let S=r+a;if(S>=B)break;if(f.items[a]!==void 0)if(N===null)N={start:S,end:S};else if(S===N.end+1)N.end=S;else L.push(N),N={start:S,end:S};else if(N!==null)L.push(N),N=null}}if(N!==null)L.push(N);return L},m=(L,N)=>{let K=[],V=null;for(let f=L;f<=N&&f<B;f++)if(!_(f))if(V===null)V={start:f,end:f};else V.end=f;else if(V!==null)K.push(V),V=null;if(V!==null)K.push(V);return K},p=(L)=>{return Y.has(L)},Q2=(L)=>{let N=Y.get(L);if(!N)return!1;let K=L*Q,V=Math.min(Q,B-K);return N.count>=V},d=(L)=>{let N=Y.get(L);if(N)N.lastAccess=Date.now()},n=(L,N)=>{if(L>N||Y.size===0)return;let K=Date.now(),V=W(Math.max(0,L)),f=W(Math.min(B-1,N));for(let r=V;r<=f;r++){let a=Y.get(r);if(a)a.lastAccess=K}},q2=(L,N)=>{if(G<=q)return 0;let K=Math.max(0,L-$),V=Math.min(B-1,N+$),f=W(K),r=W(V),a=0,S=[];for(let[Z,b]of Y)if(Z<f||Z>r)a+=b.count,S.push(Z),G-=b.count,Y.delete(Z);if(a>0&&j)j(a,S);return a},U2=()=>{if(G<=q)return 0;let L=Array.from(Y.entries()).sort(([,V],[,f])=>V.lastAccess-f.lastAccess),N=0,K=[];for(let[V,f]of L){if(G<=q)break;N+=f.count,G-=f.count,K.push(V),Y.delete(V)}if(N>0&&j)j(N,K);return N},j2=()=>{return{totalItems:B,cachedItems:G,cachedChunks:Y.size,chunkSize:Q,maxCachedItems:q,memoryEfficiency:B>0?1-G/B:1}},l=()=>G,c=()=>{Y.clear(),G=0};return{chunkSize:Q,maxCachedItems:q,getTotal:v,setTotal:O,get:F,has:_,set:X,setRange:M,insert:D,delete:P,getRange:H,isRangeLoaded:z,getLoadedRanges:u,findUnloadedRanges:m,getChunkIndex:W,isChunkLoaded:p,isChunkFullyLoaded:Q2,touchChunk:d,touchChunksForRange:n,evictDistant:q2,evictToLimit:U2,getStats:j2,getCachedCount:l,clear:c,reset:()=>{c(),B=0}}},I2=(J)=>{if(J.length===0)return[];let Q=[...J].sort(($,j)=>$.start-j.start),q=[{...Q[0]}];for(let $=1;$<Q.length;$++){let j=Q[$],Y=q[q.length-1];if(j.start<=Y.end+1)Y.end=Math.max(Y.end,j.end);else q.push({...j})}return q},l2=(J,Q,q)=>{let $=Math.floor(J.start/q)*q,j=Math.ceil((J.end+1)/q)*q-1,Y={start:$,end:j};if(Q.length===0)return[Y];let B=[],G=I2(Q),w=Y.start;for(let W of G){if(W.end<w)continue;if(W.start>Y.end)break;if(W.start>w)B.push({start:w,end:Math.min(W.start-1,Y.end)});if(w=W.end+1,w>Y.end)break}if(w<=Y.end)B.push({start:w,end:Y.end});return B};var p2=(J={})=>{let{maskCharacter:Q=QJ,maxSampleSize:q=$J}=J,$=[],j=!1,Y=(y)=>{if(j||y.length===0)return;let v=Math.min(y.length,q);for(let O=0;O<v;O++){let F=y[O];if(!F||typeof F!=="object")continue;let _={},X=!1;for(let[M,D]of Object.entries(F)){if(M.startsWith("_")||M==="id")continue;_[M]=String(D??"").length,X=!0}if(X)$.push(_)}j=!0},B=()=>j,G=(y)=>{let v={id:`${R2}${y}`,[u2]:!0,_index:y};if($.length===0)return v.label=Q.repeat(12),v;let O=$[y%$.length];for(let[F,_]of Object.entries(O))v[F]=Q.repeat(Math.max(1,_));return v};return{analyzeStructure:Y,hasAnalyzedStructure:B,generate:G,generateRange:(y,v)=>{let O=[];for(let F=y;F<=v;F++)O.push(G(F));return O},clear:()=>{$=[],j=!1}}},T2=(J)=>{if(!J||typeof J!=="object")return!1;return J[u2]===!0},a2=(J)=>{return J.filter((Q)=>!T2(Q))};var iJ=50,IJ=(J={})=>{let{adapter:Q,initialItems:q,initialTotal:$,storage:j,placeholder:Y,pageSize:B=iJ,maxConcurrent:G=0,onStateChange:w,onDataChange:W,onItemsLoaded:y,onItemsEvicted:v}=J,O=S2({...j,onEvict:(h,C)=>{v?.(h),n(),d()}}),F=null,_=()=>{if(!F)F=p2(Y);return F},X=new Map,M=!1,D,P=!0,H,z,u=[],m=0,p=new Map,Q2=()=>{for(let h of p.values())h[1].abort();p.clear()},d=()=>{w?.(K())},n=()=>{W?.()},q2=()=>{X.clear();let h=O.getLoadedRanges();for(let C of h)for(let o=C.start;o<=C.end;o++){let Y2=O.get(o);if(Y2&&!T2(Y2))X.set(Y2.id,o)}},U2=(h,C)=>{if(!T2(C))X.set(C.id,h)},j2=(h)=>{X.delete(h)},l=(h,C)=>{return`${h}-${C}`},c=()=>O.getTotal(),J2=()=>O.getCachedCount(),L=()=>M,N=()=>P,K=()=>({total:O.getTotal(),cached:O.getCachedCount(),isLoading:M,pendingRanges:u,error:D,hasMore:P,cursor:H}),V=()=>O,f=()=>_(),r=(h)=>{let C=O.get(h);if(C!==void 0)return C;if(h>=0&&h<O.getTotal())return _().generate(h);return},a=(h)=>{let C=X.get(h);if(C===void 0)return;return O.get(C)},S=(h)=>{return X.get(h)??-1},Z=(h)=>{let C=O.get(h);return C!==void 0&&!T2(C)},b=(h,C)=>{let o=[],Y2=O.getTotal();O.touchChunksForRange(h,Math.min(C,Y2-1));for(let N2=h;N2<=C&&N2<Y2;N2++){let s=O.get(N2);if(s!==void 0)o.push(s);else o.push(_().generate(N2))}return o},A=(h)=>{O.setTotal(h),P=O.getCachedCount()<h,n(),d()},k=(h,C=0,o)=>{if(Q&&h.length>0){let Y2=_();if(!Y2.hasAnalyzedStructure())Y2.analyzeStructure(h)}for(let Y2=0;Y2<h.length;Y2++){let N2=h[Y2];if(N2!==void 0){let s=C+Y2;O.set(s,N2),U2(s,N2)}}if(o!==void 0)O.setTotal(o);else if(C+h.length>O.getTotal())O.setTotal(C+h.length);if(O.getCachedCount()>=O.getTotal()&&O.getTotal()>0)P=!1;n(),d(),y?.(h,C,O.getTotal())},E=(h,C)=>{let o=O.get(h);if(!o)return!1;let Y2=o.id,N2={...o,...C};if(O.set(h,N2),C.id!==void 0&&C.id!==Y2)j2(Y2);return U2(h,N2),n(),d(),!0},U=(h,C)=>{O.insert(C,h),q2(),Q2(),n(),d()},R=(h)=>{let C=X.get(h);if(C===void 0)return!1;if(!O.delete(C))return!1;return q2(),Q2(),n(),d(),!0},T=async(h,C)=>{if(!Q)return;let o=O.chunkSize,Y2=Math.floor(h/o),N2=Math.floor(C/o),s=o*2;for(let[B2,V2]of p){let G2=B2.indexOf("-"),A2=parseInt(B2.slice(0,G2),10);if(Math.abs(A2-h)>s)V2[1].abort(),p.delete(B2)}let M2=[],E2=[];for(let B2=Y2;B2<=N2;B2++){let V2=B2*o,G2=V2+o-1,A2=l(V2,G2);if(O.isChunkFullyLoaded(B2))continue;let O2=p.get(A2);if(O2)E2.push(O2[0]);else M2.push({start:V2,end:G2})}if(M2.length===0){if(E2.length>0)await Promise.all(E2);return}if(G>0){let B2=p.size+M2.length;if(B2>G){let V2=(h+C)/2,G2=Math.min(B2-G,p.size);while(G2>0){let W2=null,O2=-1,_2=null;for(let[F2,t]of p){let K2=F2.indexOf("-"),D2=parseInt(F2.slice(0,K2),10),X2=parseInt(F2.slice(K2+1),10),L2=Math.abs((D2+X2)/2-V2);if(L2>O2)O2=L2,W2=F2,_2=t[1]}if(W2)_2.abort(),p.delete(W2);G2--}let A2=G-p.size;if(M2.length>A2)M2.sort((W2,O2)=>{let _2=Math.abs((W2.start+W2.end)/2-V2),F2=Math.abs((O2.start+O2.end)/2-V2);return _2-F2}),M2.length=Math.max(0,A2)}}if(M2.length===0){if(E2.length>0)await Promise.all(E2);return}for(let B2 of M2){let V2=l(B2.start,B2.end),G2=new AbortController,A2=(async()=>{u.push(B2),M=!0,D=void 0,d();try{let W2=B2.end-B2.start+1,O2={offset:B2.start,limit:W2,cursor:B2.start===z?H:void 0,signal:G2.signal},_2=await Q.read(O2);if(k(_2.items,B2.start,_2.total),_2.cursor)H=_2.cursor,z=B2.start+_2.items.length;let F2=B2.start+_2.items.length;if(F2>=m){if(m=F2,_2.hasMore!==void 0)P=_2.hasMore;else if(_2.total!==void 0)P=F2<_2.total}}catch(W2){if(W2?.name==="AbortError")return;D=W2 instanceof Error?W2:Error(String(W2))}finally{p.delete(V2);let W2=u.findIndex((O2)=>O2.start===B2.start&&O2.end===B2.end);if(W2>=0)u.splice(W2,1);M=p.size>0,d()}})();p.set(V2,[A2,G2]),E2.push(A2)}await Promise.all(E2)},x=async(h,C)=>{if(O.isRangeLoaded(h,C))return;await T(h,C)},I=async()=>{if(!Q)return;await T(0,B-1)},g=async()=>{if(!Q||M||!P)return!1;let h=O.getCachedCount(),C=O.getTotal(),o=h,Y2=Math.min(o+B-1,C>0?C-1:o+B-1);if(o>=C&&C>0)return P=!1,!1;return await T(o,Y2),O.getCachedCount()>h},i=async()=>{if(O.clear(),O.setTotal(0),X.clear(),F)F.clear();Q2(),u=[],M=!1,H=void 0,z=void 0,P=!0,m=0,D=void 0,n(),d()},e=(h,C)=>{if(O.evictDistant(h,C)>0)q2()},Z2=()=>{O.clear(),X.clear(),H=void 0,z=void 0,D=void 0,u=[],M=!1,n(),d()},$2=()=>{if(O.reset(),X.clear(),F)F.clear();H=void 0,z=void 0,P=!0,m=0,D=void 0,u=[],M=!1,n(),d()};if(q&&q.length>0)k(q,0,$??q.length);else if($!==void 0)O.setTotal($),n(),d();return{getState:K,getTotal:c,getCached:J2,getIsLoading:L,getHasMore:N,getStorage:V,getPlaceholders:f,getItem:r,getItemById:a,getIndexById:S,isItemLoaded:Z,getItemsInRange:b,setTotal:A,setItems:k,updateItem:E,insertItem:U,removeItem:R,loadRange:T,ensureRange:x,loadInitial:I,loadMore:g,reload:i,evictDistant:e,clear:Z2,reset:$2}};var tJ=(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}},pJ=(J,Q,q={},$="vlist",j=!1,Y)=>{let{autoHide:B=!0,autoHideDelay:G=1000,minThumbSize:w=15,showOnHover:W=!0,showOnViewportEnter:y=!0,clickBehavior:v="scroll"}=q,O=v==="page"?"scroll":v,F=Y??J,_=tJ(q.padding),X=j?_.left:_.top,M=j?_.right:_.bottom,D=j?_.bottom:_.right,P=q.hoverZoneWidth??D+16,H=0,z=0,u=0,m=0,p=!1,Q2=!1,d=0,n=0,q2=0,U2=null,j2=!1,l=null,c=0,J2=0,L=null,N=null,K=null,V=j?"width":"height",f=j?"translateX":"translateY",r=j?(t)=>t.clientX:(t)=>t.clientY,a=j?"left":"top",S=document.createElement("div"),Z=document.createElement("div"),b=document.createElement("div"),A=j?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",k=()=>{if(F===J)return;let t=J.offsetTop;S.style[j?"left":"top"]=t?`calc(var(${A}) + ${t}px)`:`var(${A})`,b.style[j?"left":"top"]=`${t}px`},E=()=>{if(S.className=`${$}-scrollbar`,Z.className=`${$}-scrollbar__thumb`,j)S.classList.add(`${$}-scrollbar--horizontal`);if(q.padding!==void 0)F.style.setProperty("--vlist-custom-scrollbar-padding-top",`${_.top}px`),F.style.setProperty("--vlist-custom-scrollbar-padding-right",`${_.right}px`),F.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${_.bottom}px`),F.style.setProperty("--vlist-custom-scrollbar-padding-left",`${_.left}px`);if(q.minThumbSize!==void 0)S.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${w}px`);if(S.appendChild(Z),F.appendChild(S),b.className=`${$}-scrollbar__hover`,j)b.classList.add(`${$}-scrollbar__hover--horizontal`),b.style.height=`${P}px`;else b.style.width=`${P}px`;if(F.appendChild(b),F!==J)k()},U=()=>{if(U2)clearTimeout(U2),U2=null},R=()=>{if(!B)return;U(),U2=setTimeout(x,G)},T=()=>{if(H<=z)return;if(U(),!j2)S.classList.add(`${$}-scrollbar--visible`),j2=!0;if(B&&!p&&!Q2)R()},x=()=>{if(p||Q2)return;S.classList.remove(`${$}-scrollbar--visible`),j2=!1},I=(t,K2)=>{if(H=t,z=K2,k(),H<=z){S.style.display="none",x();return}S.style.display="";let D2=Math.max(0,z-X-M),X2=z/H;if(u=Math.max(w,X2*D2),Z.style[V]=`${u}px`,m=D2-u,g(q2),!B)T()},g=(t)=>{if(q2=t,H<=z||m<=0)return;let K2=H-z,D2=Math.min(1,Math.max(0,t/K2));Z.style.transform=`${f}(${D2*m}px)`},i=(t)=>{if(t.target===Z||O!=="jump"||m<=0)return;let K2=H-z,D2=S.getBoundingClientRect(),X2=r(t)-D2[a],L2=Math.max(0,Math.min(X2-u/2,m));Q(L2/m*K2),T()},e=()=>{if(L!==null)clearTimeout(L),L=null;if(N!==null)cancelAnimationFrame(N),N=null;K=null},Z2=(t)=>{let K2=m>0?J2/t*m:0;if(c<K2)return-1;if(c>=K2+u)return 1;return 0},$2=()=>{let t=H-z,K2=Z2(t);if(K2===0){e();return}if(K2===-1){if(J2<=0){e();return}let D2=Math.max(0,J2-z);J2=D2,Q(D2)}else{if(J2>=t){e();return}let D2=Math.min(t,J2+z);J2=D2,Q(D2)}T()},h=(t)=>{if(K===null){K=t,N=requestAnimationFrame(h);return}let K2=H-z,D2=t-K;K=t;let X2=Z2(K2);if(X2===0){e();return}let L2=12*z/1000,b2=Math.min(L2*D2,z);if(X2===-1){if(J2<=0){e();return}let P2=Math.max(0,J2-b2);J2=P2,Q(P2)}else{if(J2>=K2){e();return}let P2=Math.min(K2,J2+b2);J2=P2,Q(P2)}U(),N=requestAnimationFrame(h)},C=()=>{e(),R(),document.removeEventListener("mouseup",C)},o=(t)=>{if(t.target===Z||O!=="scroll")return;t.preventDefault();let K2=S.getBoundingClientRect();c=r(t)-K2[a],J2=q2,$2(),L=setTimeout(()=>{N=requestAnimationFrame(h)},350),document.addEventListener("mouseup",C)},Y2=(t)=>{t.preventDefault(),t.stopPropagation(),p=!0,d=r(t),n=q2,U(),S.classList.add(`${$}-scrollbar--dragging`),document.addEventListener("mousemove",N2),document.addEventListener("mouseup",s)},N2=(t)=>{if(!p)return;let K2=r(t)-d,D2=m>0?K2/m:0,X2=H-z,L2=D2*X2,b2=Math.max(0,Math.min(n+L2,X2));Z.style.transform=`${f}(${b2/X2*m}px)`,Q(b2)},s=()=>{if(p=!1,S.classList.remove(`${$}-scrollbar--dragging`),B&&!Q2)R();document.removeEventListener("mousemove",N2),document.removeEventListener("mouseup",s)},M2=j?(t)=>t.touches[0].clientX:(t)=>t.touches[0].clientY,E2=(t)=>{t.stopPropagation(),p=!0,d=M2(t),n=q2,U(),S.classList.add(`${$}-scrollbar--dragging`)},B2=(t)=>{if(!p)return;t.preventDefault();let K2=M2(t)-d,D2=m>0?K2/m:0,X2=H-z,L2=D2*X2,b2=Math.max(0,Math.min(n+L2,X2));Z.style.transform=`${f}(${b2/X2*m}px)`,Q(b2)},V2=()=>{if(p=!1,S.classList.remove(`${$}-scrollbar--dragging`),B)R()},G2=(t)=>{if(t.target===Z)return;if(m<=0)return;let K2=t.touches[0],D2=S.getBoundingClientRect(),X2=(j?K2.clientX:K2.clientY)-D2[a];if(O==="jump"){let L2=H-z,b2=Math.max(0,Math.min(X2-u/2,m));Q(b2/m*L2)}else c=X2,J2=q2,$2();T()},A2=()=>{if(y)T()},W2=()=>{if(!p){if(Q2=!1,B)R()}},O2=()=>{Q2=!0,U(),T()},_2=()=>{if(Q2=!1,!p&&B)R()},F2=()=>{if(U(),e(),l!==null)cancelAnimationFrame(l),l=null;S.removeEventListener("click",i),S.removeEventListener("mousedown",o),S.removeEventListener("mouseenter",O2),document.removeEventListener("mouseup",C),S.removeEventListener("mouseleave",_2),S.removeEventListener("touchstart",G2),Z.removeEventListener("mousedown",Y2),Z.removeEventListener("touchstart",E2),Z.removeEventListener("touchmove",B2),Z.removeEventListener("touchend",V2),J.removeEventListener("mouseenter",A2),J.removeEventListener("mouseleave",W2),document.removeEventListener("mousemove",N2),document.removeEventListener("mouseup",s),b.removeEventListener("click",i),b.removeEventListener("mousedown",o),b.removeEventListener("mouseenter",O2),b.removeEventListener("mouseleave",_2),b.remove(),F.style.removeProperty("--vlist-custom-scrollbar-padding-top"),F.style.removeProperty("--vlist-custom-scrollbar-padding-right"),F.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),F.style.removeProperty("--vlist-custom-scrollbar-padding-left"),S.remove()};if(E(),S.addEventListener("click",i),S.addEventListener("mousedown",o),S.addEventListener("mouseenter",O2),S.addEventListener("mouseleave",_2),S.addEventListener("touchstart",G2,{passive:!0}),Z.addEventListener("mousedown",Y2),Z.addEventListener("touchstart",E2,{passive:!0}),Z.addEventListener("touchmove",B2,{passive:!1}),Z.addEventListener("touchend",V2,{passive:!0}),J.addEventListener("mouseenter",A2),J.addEventListener("mouseleave",W2),b.addEventListener("click",i),b.addEventListener("mousedown",o),W)b.addEventListener("mouseenter",O2),b.addEventListener("mouseleave",_2);return{show:T,hide:x,updateBounds:I,updatePosition:g,isVisible:()=>j2,destroy:F2}};var hJ=(J=0)=>{let Q=[,,,,,,,,];for(let q=0;q<8;q++)Q[q]={position:0,time:0};return{velocity:0,lastPosition:J,lastTime:performance.now(),samples:Q,sampleIndex:0,sampleCount:0}},h2=(J,Q)=>{let q=performance.now(),$=q-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=q,J.sampleIndex=1,J.sampleCount=1,J.lastPosition=Q,J.lastTime=q,J}let j=J.samples[J.sampleIndex];if(j.position=Q,j.time=q,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],G=Q-B.position,w=q-B.time;J.velocity=w>0?G/w:0}return J.lastPosition=Q,J.lastTime=q,J},eJ=(J)=>J.sampleCount>=3,xJ=(J,Q={})=>{let{wheel:q=!0,sensitivity:$=1,smoothing:j=!1,idleTimeout:Y=150,onScroll:B,onIdle:G,scrollElement:w,isX:W=!1}=Q,y=!!w,v=0,O=0,F=y?W?window.innerWidth:window.innerHeight:W?J.clientWidth:J.clientHeight,_=Q.compressed??!1,X=Q.compression,M=hJ(),D=!1,P=null,z=x2(()=>{let A=W?J.scrollLeft:J.scrollTop,k=W?A>=v?"right":"left":A>=v?"down":"up";if(M=h2(M,A),v=A,B)B({scrollTop:v,direction:k,velocity:M.velocity});n()}),m=x2(()=>{let A=J.getBoundingClientRect(),k=W?Math.max(0,-A.left):Math.max(0,-A.top),E=W?k>=v?"right":"left":k>=v?"down":"up";if(M=h2(M,k),v=k,!D)D=!0;if(B)B({scrollTop:v,direction:E,velocity:M.velocity});n()}),p=(A)=>{A.preventDefault()},Q2=(A)=>{if(A.deltaX)return;A.preventDefault(),J.scrollLeft+=A.deltaY},d=(A)=>{if(!_)return;A.preventDefault();let k=(W?A.deltaX||A.deltaY:A.deltaY)*$,E=v+k;if(j)E=v+k*0.3;if(E=Math.max(0,Math.min(E,O)),E!==v){let U=v,R=W?E>=U?"right":"left":E>=U?"down":"up";if(M=h2(M,E),v=E,!D)D=!0;if(B)B({scrollTop:v,direction:R,velocity:M.velocity});n()}},n=()=>{if(P)clearTimeout(P);P=setTimeout(()=>{if(D=!1,M=hJ(v),G)G()},Y)},q2=(A)=>{if(_)return;if(_=!0,X=A,O=A.virtualSize-F,y)return;if(z.cancel(),J.removeEventListener("scroll",z),!q)J.removeEventListener("wheel",p);else if(W)J.removeEventListener("wheel",Q2);if(W)J.style.overflowX="hidden";else J.style.overflow="hidden";if(q)J.addEventListener("wheel",d,{passive:!1});let k=W?J.scrollLeft:J.scrollTop;if(k>0){let E=W?X?.actualSize??J.scrollWidth:X?.actualSize??J.scrollHeight;v=k/E*O}if(W)J.scrollLeft=0;else J.scrollTop=0},U2=()=>{if(!_)return;if(_=!1,y){X=void 0;return}if(J.removeEventListener("wheel",d),W)J.style.overflowX="auto";else J.style.overflow="auto";if(J.addEventListener("scroll",z,{passive:!0}),!q)J.addEventListener("wheel",p,{passive:!1});else if(W)J.addEventListener("wheel",Q2,{passive:!1});if(X&&v>0){let k=v/O*(X.actualSize-F);if(W)J.scrollLeft=k;else J.scrollTop=k}X=void 0},j2=()=>{if(y||_)return v;return W?J.scrollLeft:J.scrollTop},l=(A,k=!1)=>{let E=Math.max(0,Math.min(A,O||1/0));if(y){let U=J.getBoundingClientRect();if(W){let R=U.left+window.scrollX;window.scrollTo({left:R+E,behavior:k?"smooth":"auto"})}else{let R=U.top+window.scrollY;window.scrollTo({top:R+E,behavior:k?"smooth":"auto"})}}else if(_){if(E===v)return;let U=v,R=W?E>=U?"right":"left":E>=U?"down":"up";if(M=h2(M,E),v=E,!D)D=!0;if(B)B({scrollTop:v,direction:R,velocity:M.velocity});n()}else if(W)J.scrollTo({left:E,behavior:k?"smooth":"auto"});else J.scrollTo({top:E,behavior:k?"smooth":"auto"})},c=(A)=>{l(j2()+A)},J2=()=>{return j2()<=0},L=(A=0)=>{let k=j2(),E=y||_?O:W?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;return k>=E-A},N=()=>{let A=j2(),k=y||_?O:W?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;if(k<=0)return 0;return Math.min(1,Math.max(0,A/k))},K=(A)=>{if(A.compression)X=A.compression,O=X.virtualSize-F},V=()=>_,f=()=>Math.abs(M.velocity),r=()=>eJ(M),a=()=>D,S=()=>y,Z=(A)=>{if(F=A,X)O=X.virtualSize-F},b=()=>{if(P)clearTimeout(P);if(y)m.cancel(),window.removeEventListener("scroll",m);else z.cancel(),J.removeEventListener("scroll",z),J.removeEventListener("wheel",d),J.removeEventListener("wheel",p),J.removeEventListener("wheel",Q2)};if(y){if(_&&X)O=X.virtualSize-F;window.addEventListener("scroll",m,{passive:!0})}else if(_&&X){if(O=X.virtualSize-F,W)J.style.overflowX="hidden";else J.style.overflow="hidden";if(q)J.addEventListener("wheel",d,{passive:!1})}else{if(W)J.style.overflowX="auto",J.style.overflowY="hidden";else J.style.overflow="auto";if(J.addEventListener("scroll",z,{passive:!0}),!q)J.addEventListener("wheel",p,{passive:!1});else if(W)J.addEventListener("wheel",Q2,{passive:!1})}return{getScrollTop:j2,scrollTo:l,scrollBy:c,isAtTop:J2,isAtBottom:L,getScrollPercentage:N,getVelocity:f,isTracking:r,isScrolling:a,updateConfig:K,enableCompression:q2,disableCompression:U2,isCompressed:V,isWindowMode:S,updateContainerHeight:Z,destroy:b}},x2=(J)=>{let Q=null,q=null,$=(...j)=>{if(q=j,Q===null)Q=requestAnimationFrame(()=>{if(Q=null,q)J(...q)})};return $.cancel=()=>{if(Q!==null)cancelAnimationFrame(Q),Q=null},$};var JQ=50,QQ=0.1;function $Q(J){let Q=0,q=0,$=0;function j(){return $>0?q/$:0}function Y(w){if(Q=w,w>QQ&&w<JQ)q+=w,$++}function B(){let w=J.getTotal();if(w===0)return 0;let W=J.getItemSize();if(W<=0)return 0;let y=J.getContainerSize();if(y<=0)return 0;let v=J.getScrollPosition(),O=typeof J.getColumns==="function"?J.getColumns():1,_=Math.ceil(w/O)*W,M=Math.min(_,H2)-y,D=_-y,P=M>0?D/M:1,H=v*P,z=Math.ceil((H+y)/W);return Math.min(z*O,w)}function G(){let w=J.getTotal(),W=B();return{progress:w>0?Math.min(100,Math.max(0,W/w*100)):0,velocity:Q,velocityAvg:j(),itemCount:W,total:w}}return{getState:G,onVelocity:Y}}export{YJ as toggleSelection,HJ as simpleVisibleRange,m2 as selectItems,jJ as selectAll,wJ as rangesEqual,x2 as rafThrottle,MJ as needsScaling,I2 as mergeRanges,UJ as isSelected,T2 as isPlaceholderItem,vJ as isInRange,v2 as isGroupHeader,KJ as getSelectedItems,NJ as getSelectedIds,w2 as getScaleState,GJ as getScaleInfo,w2 as getScale,CJ as getRangeCount,DJ as getMaxItemsWithoutScaling,a2 as filterPlaceholders,fJ as diffRanges,d2 as deselectItems,EJ as createTableRenderer,OJ as createTableLayout,XJ as createTableHeader,e2 as createStickyHeader,$Q as createStats,S2 as createSparseStorage,k2 as createSizeCache,qJ as createSelectionState,pJ as createScrollbar,xJ as createScrollController,p2 as createPlaceholderManager,LJ as createMeasuredSizeCache,FJ as createMasonryRenderer,AJ as createMasonryLayout,i2 as createGroupedSizeFn,t2 as createGroupLayout,rJ as createGridRenderer,JJ as createGridLayout,SJ as createEmitter,IJ as createAsyncManager,BJ as clearSelection,PJ as clampScrollPosition,TJ as calculateTotalSize,kJ as calculateScrollToIndex,ZJ as calculateScaledVisibleRange,WJ as calculateScaledScrollToIndex,_J as calculateScaledRenderRange,z2 as calculateScaledItemPosition,bJ as calculateRenderRange,l2 as calculateMissingRanges,zJ as calculateItemOffset,VJ as calculateIndexFromScrollPosition,yJ as calculateActualSize,o2 as buildLayoutItems,H2 as MAX_VIRTUAL_SIZE};
|
|
1
|
+
var w2=(J)=>{return J!==null&&typeof J==="object"&&J.__groupHeader===!0};var g2=(J,Q)=>{let q=0,$=J.length-1;while(q<$){let B=q+$+1>>>1;if(J[B].headerLayoutIndex<=Q)q=B;else $=B-1}return q},s2=(J,Q)=>{let q=0,$=J.length-1;while(q<$){let B=q+$+1>>>1;if(J[B].firstDataIndex<=Q)q=B;else $=B-1}return q},n2=(J,Q,q)=>{if(J===0)return[];let $=[],B=null,Y=0,j=0;for(let D=0;D<J;D++){let k=q?.(D);if(!k)continue;let W=Q(D,k);if(B===null)B=W,Y=0;else if(W!==B){let y=D-Y;$.push({key:B,groupIndex:$.length,headerLayoutIndex:j,firstDataIndex:Y,count:y}),j=j+1+y,B=W,Y=D}}if(B!==null)$.push({key:B,groupIndex:$.length,headerLayoutIndex:j,firstDataIndex:Y,count:J-Y});return $},o2=(J,Q)=>{if(J.length===0||Q.length===0)return[];let q=J.length+Q.length,$=Array(q),B=0;for(let Y of Q){$[B]={id:`__group_header_${Y.groupIndex}`,__groupHeader:!0,groupKey:Y.key,groupIndex:Y.groupIndex},B++;for(let j=0;j<Y.count;j++)$[B]=J[Y.firstDataIndex+j],B++}return $},i2=(J,Q,q=!1)=>{let $=typeof Q==="number"?(B)=>Q:Q;return(B)=>{let Y=J.getEntry(B);if(Y.type==="header"){if(q&&Y.group.groupIndex===0)return 0;return J.getHeaderHeight(Y.group.groupIndex)}return $(Y.dataIndex)}},t2=(J,Q,q)=>{let $=n2(J,Q.getGroupForIndex,q),B=J+$.length,Y=Q.header?.height??Q.header?.width??Q.headerHeight;return{get totalEntries(){return B},get groupCount(){return $.length},get groups(){return $},getEntry:(b)=>{if($.length===0)return{type:"item",dataIndex:b,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let L=g2($,b),O=$[L];if(b===O.headerLayoutIndex)return{type:"header",group:O};let _=b-O.headerLayoutIndex-1;return{type:"item",dataIndex:O.firstDataIndex+_,group:O}},layoutToDataIndex:(b)=>{if($.length===0)return b;let L=g2($,b),O=$[L];if(b===O.headerLayoutIndex)return-1;let _=b-O.headerLayoutIndex-1;return O.firstDataIndex+_},dataToLayoutIndex:(b)=>{if($.length===0)return b;let L=s2($,b),O=$[L],_=b-O.firstDataIndex;return O.headerLayoutIndex+1+_},getGroupAtLayoutIndex:(b)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let L=g2($,b);return $[L]},getGroupAtDataIndex:(b)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let L=s2($,b);return $[L]},getHeaderHeight:typeof Y==="number"?(b)=>Y:(b)=>{let L=$[b];if(!L)return 0;return Y(L.key,b)},rebuild:(b,L)=>{$=n2(b,Q.getGroupForIndex,L??q),B=b+$.length}}};var gJ=(J,Q,q,$,B=0)=>{let Y=q?"width":"height",j=document.createElement("div");return j.className=`${Q}-sticky-header`,j.setAttribute("role","presentation"),j.setAttribute("aria-hidden","true"),j.style.cssText="z-index:5;pointer-events:none;overflow:hidden;"+(q?`position:absolute;top:0;bottom:0;left:${B||0}px`:`position:relative;top:${B||0}px`),j.style[Y]=`${$}px`,J.insertBefore(j,J.firstChild),j},e2=(J,Q,q,$,B,Y=!1,j=0,D,k,W)=>{let y=Y?"width":"height",v=Y?"height":"width",G=Y?"X":"Y",b=(U,X)=>{U.style[y]=`${X}px`},L=k??gJ(J,B,Y,0,j),O=()=>{let U=document.createElement("div");return U.className="sticky-group",U.style.position="absolute",U.style.willChange="transform",U.style[v]="100%",U},_=O(),V=O();L.append(_,V);let E=_,A=V,z=Q.groups,d=[],x=[],p=[],t=0,i=()=>{z=Q.groups,t=z.length,d=Array(t),x=Array(t),p=Array(t);let U=D?D():1;for(let X=0;X<t;X++)d[X]=(W?W(z[X].headerLayoutIndex):q.getOffset(z[X].headerLayoutIndex))*U,x[X]=Q.getHeaderHeight(X),p[X]=x[X]*U};i();let a=-1,q2=0,B2=0,j2=-1,u=!1,o=0,s=!1,R=(U,X)=>{$(U,X);let T=x[X];return b(U,T),T},N=(U)=>{U.replaceChildren(),U.style.transform=""},K=(U)=>{if(U===a)return;if(a=U,q2=0,B2=0,U<0||U>=t){N(E);return}q2=R(E,U),B2=p[U],b(L,q2),E.style.transform=""},M=(U)=>{if(U===o)return;o=U;let X=Math.round(U);E.style.transform=`translate${G}(${X}px)`,A.style.transform=`translate${G}(${X+q2}px)`},C=()=>{o=0,E.style.transform="",A.style.transform=""},r=()=>{if(!s)return;let U=E;E=A,A=U,a=j2,q2=a>=0?x[a]:0,B2=a>=0?p[a]:0,b(L,q2),N(A),j2=-1,s=!1,C()},c=()=>{if(!s)return;N(A),j2=-1,s=!1,C()},f=!!k,Z=()=>{if(u)return;if(u=!0,f)L.style.visibility="";else L.style.display=""},H=()=>{if(!u)return;if(u=!1,f)L.style.visibility="hidden";else L.style.display="none";N(E),a=-1,q2=0,B2=0,c()},F=(U)=>{if(t===0){H();return}if(U<d[0]){H();return}let X=0,T=t-1;while(X<T){let w=X+T+1>>>1;if(d[w]+p[w]<=U)X=w;else T=w-1}if(!u)Z();K(X);let m=X+1;if(m<t){let w=d[m]-U;if(w<=0&&w>-B2){if(j2!==m||!s)j2=m,R(A,m),s=!0;let g=B2>0?w/B2*q2:w;M(g)}else if(w<=-B2){if(s)r()}else if(s)c()}else if(s)c()},P=()=>{i();let U=a;if(a=-1,q2=0,B2=0,U>=0)K(U)},I=()=>{L.remove(),a=-1,q2=0,B2=0,j2=-1,u=!1,s=!1};if(!k)L.style.display="none";return{update:F,refresh:P,show:Z,hide:H,destroy:I}};var JJ=(J)=>{let Q=Math.max(1,Math.floor(J.columns)),q=J.gap??0,$=J.isHeaderFn,B={row:0,col:0},Y=(O)=>{if(O<=0)return 0;if(!$)return Math.ceil(O/Q);let _=0,V=0,E=0;for(let A=0;A<O;A++)if($(A)){if(E++,V)_++,V=0;_++,V=0}else if(V++,V>=Q)_++,V=0;if(V)_++;return _},j=(O)=>{return B.row=D(O),B.col=k(O),B},D=(O)=>{if(!$)return Math.floor(O/Q);let _=0,V=0;for(let E=0;E<=O;E++)if($(E)){if(V)_++,V=0;if(E===O)return _;_++,V=0}else{if(E===O)return _;if(V++,V>=Q)_++,V=0}return console.warn(`⚠️ getRow(${O}) fell through - returning ${_}`),_},k=(O)=>{if(!$)return O%Q;if($(O))return 0;let _=0;for(let V=0;V<=O;V++)if($(V))_=0;else{if(V===O)return _;if(_++,_>=Q)_=0}return _},W=(O,_,V,E)=>{if(V<=0){E.start=0,E.end=-1;return}if(!$){E.start=Math.max(0,O*Q),E.end=Math.min(V-1,(_+1)*Q-1);return}let A=y(O,_,V);E.start=A.start,E.end=A.end},y=(O,_,V)=>{if(V<=0)return{start:0,end:-1};if(!$){let x=Math.max(0,O*Q),p=Math.min(V-1,(_+1)*Q-1);return{start:x,end:p}}let E=-1,A=-1,z=0,d=0;for(let x=0;x<V;x++){if($(x)){if(d)z++,d=0;if(z>=O&&z<=_){if(E<0)E=x;A=x}z++,d=0}else{if(z>=O&&z<=_){if(E<0)E=x;A=x}if(d++,d>=Q)z++,d=0}if(z>_&&!d)break}if(E<0)return{start:0,end:-1};return{start:E,end:A}},v=(O,_,V)=>{if(_<0||_>=Q)return-1;let E=O*Q+_;if(E<0||E>=V)return-1;return E},G=(O)=>{let _=(Q-1)*q;return Math.max(0,(O-_)/Q)};return{get columns(){return Q},get gap(){return q},update:(O)=>{if(O.columns!==void 0)Q=Math.max(1,Math.floor(O.columns));if(O.gap!==void 0)q=O.gap;if(O.isHeaderFn!==void 0)$=O.isHeaderFn},getTotalRows:Y,getPosition:j,getRow:D,getCol:k,getItemRange:y,fillItemRange:W,getItemIndex:v,getColumnWidth:G,getColumnOffset:(O,_)=>{let V=G(_);return O*(V+q)}}};var H2=16000000;var QJ="x",$J=20,u2="_isPlaceholder",R2="__placeholder_";function C2(J){let Q=J.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let q=0;q<Q.length;q++)Q[q].setAttribute("tabindex","-1")}var y2=(J,Q,q)=>{if(String(q).startsWith(R2))return!1;let $=R2+Q;if(J.has($))return J.delete($),J.add(q),!0;return!1},qJ=(J)=>({selected:new Set(J??[]),focusedIndex:-1,focusVisible:!1}),m2=(J,Q,q)=>{if(q==="none")return J;let $=new Set(J.selected);if(q==="single"){if($.clear(),Q.length>0)$.add(Q[0])}else for(let B of Q)$.add(B);return{...J,selected:$}},d2=(J,Q)=>{let q=new Set(J.selected);for(let $ of Q)q.delete($);return{...J,selected:q}},YJ=(J,Q,q)=>{if(q==="none")return J;if(J.selected.has(Q))return d2(J,[Q]);else return m2(J,[Q],q)},jJ=(J,Q,q)=>{if(q!=="multiple")return J;return{...J,selected:new Set(Q.map(($)=>$.id))}},BJ=(J)=>({...J,selected:new Set});var UJ=(J,Q)=>{return J.selected.has(Q)},NJ=(J)=>{return Array.from(J.selected)},KJ=(J,Q)=>{let q=[];for(let $ of J.selected){let B=Q($);if(B)q.push(B)}return q};var uJ=(J,Q)=>{let q=Q;return{getOffset:($)=>$*J,getSize:($)=>J,indexAtOffset:($)=>{if(q===0||J===0)return 0;return Math.max(0,Math.min(Math.floor($/J),q-1))},getTotalSize:()=>q*J,getTotal:()=>q,rebuild:($)=>{q=$},isVariable:()=>!1}},mJ=(J,Q)=>{let q=Q,$=new Float64Array(0),B=(j)=>{q=j,$=new Float64Array(j+1),$[0]=0;for(let D=0;D<j;D++)$[D+1]=$[D]+J(D)};B(Q);let Y=(j)=>{if(q===0)return 0;if(j<=0)return 0;if(j>=$[q])return q-1;let D=0,k=q-1;while(D<k){let W=D+k+1>>>1;if($[W]<=j)D=W;else k=W-1}return D};return{getOffset:(j)=>{if(j<=0)return 0;if(j>=q)return $[q];return $[j]},getSize:(j)=>J(j),indexAtOffset:(j)=>Y(j),getTotalSize:()=>$[q]??0,getTotal:()=>q,rebuild:(j)=>B(j),isVariable:()=>!0}},k2=(J,Q)=>{if(typeof J==="number")return uJ(J,Q);return mJ(J,Q)},c2=(J,Q,q,$)=>{if($===0)return 0;if(!J.isVariable())return Math.ceil(q/J.getSize(0));let B=0,Y=0,j=Q;while(j<$&&Y<q)Y+=J.getSize(j),B++,j++;return Math.max(1,B)};var v2=(J,Q,q)=>{let $=Q.getTotalSize(),B=q===!0||$>H2,Y=$>H2?H2:$,j=$>0?Y/$:1;return{isCompressed:B,actualSize:$,virtualSize:Y,ratio:j}},ZJ=(J,Q,q,$,B,Y)=>{if($===0||Q===0)return Y.start=0,Y.end=-1,Y;if(!B.isCompressed||B.ratio===1){let b=q.indexAtOffset(J),L=q.indexAtOffset(J+Q);if(L<$-1)L++;return Y.start=Math.max(0,b),Y.end=Math.min($-1,Math.max(0,L)),Y}let{virtualSize:j}=B,D=J/j,k=q.getTotalSize(),W=D*k,y=q.indexAtOffset(W),v=c2(q,Math.max(0,y),Q,$),G=y+v;return Y.start=Math.max(0,y),Y.end=Math.min($-1,Math.max(0,G)),Y},_J=(J,Q,q,$)=>{if(q===0)return $.start=0,$.end=-1,$;return $.start=Math.max(0,J.start-Q),$.end=Math.min(q-1,J.end+Q),$},z2=(J,Q,q,$,B,Y,j)=>{if(!Y.isCompressed||$===0)return q.getOffset(J);if(Y.ratio===1)return q.getOffset(J)-Q;let{virtualSize:D}=Y,k=Q/D,W=q.getTotalSize(),y=k*W;return q.getOffset(J)-y},WJ=(J,Q,q,$,B,Y="start")=>{if($===0)return 0;let j;if(B.isCompressed&&B.ratio!==1){j=J/$*B.virtualSize;let y=Q.getSize(J);switch(Y){case"center":j-=(q-y)/2*B.ratio;break;case"end":j-=(q-y)*B.ratio;break}return Math.max(0,j)}j=Q.getOffset(J);let D=Q.getSize(J);switch(Y){case"center":j-=(q-D)/2;break;case"end":j-=q-D;break}let k=B.virtualSize-q;return Math.max(0,Math.min(j,k))},VJ=(J,Q,q,$)=>{if(q===0)return 0;if($.isCompressed&&$.ratio!==1){let B=J/$.virtualSize;return Math.floor(B*q)}return Q.indexAtOffset(J)},MJ=(J,Q)=>{if(typeof Q==="number")return J*Q>H2;return Q.getTotalSize()>H2},DJ=(J)=>{if(J<=0)return 0;return Math.floor(H2/J)},GJ=(J,Q,q)=>{let $=v2(J,Q,q);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 S2=(J,Q,q)=>{let $=Array.from(Q).sort((j,D)=>j-D);if($.length<=1)return;let B=[];for(let j=0;j<$.length;j++){let D=q($[j]);if(D)B.push(D)}if(B.length<=1)return;let Y=J.firstChild;for(let j=0;j<B.length;j++){let D=B[j];if(D===Y)Y=Y.nextSibling;else J.insertBefore(D,Y)}};var dJ=(J=200)=>{let Q=[];return{acquire:()=>{let Y=Q.pop();if(Y)return Y;let j=document.createElement("div");return j.setAttribute("role","option"),j},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}}},cJ=1,rJ=(J,Q,q,$,B,Y,j,D,k=!1,W,y)=>{let v=dJ(),G=new Map,b=Y,L=!1,O=0,_="",V=-1,E={selected:!1,focused:!1},A=(Z,H)=>{return E.selected=Z,E.focused=H,E},z=`${B}-item ${B}-grid-item`,d=`${B}-group-header`,x=`${B}-item--selected`,p=`${B}-item--focused`,t=`${B}-item--placeholder`,i=`${B}-item--replaced`,a=(Z,H)=>{if(typeof H==="string")Z.innerHTML=H;else Z.replaceChildren(H);C2(Z)},q2=(Z,H,F)=>{Z.classList.toggle(x,H),Z.classList.toggle(p,F)},B2=(Z,H)=>{let F=$.getRow(Z);if(H?.compression?.isCompressed)return z2(F,H.scrollPosition,q,H.totalItems,H.containerSize,H.compression,H.rangeStart);return q.getOffset(F)},j2=(Z,H)=>{let F=$.getCol(Z),I=L&&F===0?0:$.getColumnOffset(F,b),U;if(L){let X=$.getRow(Z),T=0,m=-1;for(let w=0;w<Z;w++){let g=$.getRow(w);if(g<X&&g!==m){let e=q.getSize(w);T+=e,m=g}}U=T}else U=B2(Z,H);if(k)return`translate(${Math.round(U)}px, ${Math.round(I)}px)`;return`translate(${Math.round(I)}px, ${Math.round(U)}px)`},u=(Z,H)=>{let F=Z.classList.contains(d),P=F?b:$.getColumnWidth(b),I;if(L||F)I=q.getSize(H)-$.gap;else{let U=$.getRow(H);I=q.getSize(U)-$.gap}if(k)Z.style.width=`${I}px`,Z.style.height=`${P}px`;else Z.style.width=`${P}px`,Z.style.height=`${I}px`},o=(Z,H,F,P,I)=>{let U=v.acquire(),X=!!H.__groupHeader,T=A(F,P);if(U.className=X?d:z,U.dataset.index=String(Z),U.dataset.id=String(H.id),U.dataset.row=String($.getRow(Z)),U.dataset.col=String($.getCol(Z)),X)U.setAttribute("role","presentation"),U.removeAttribute("aria-selected"),U.removeAttribute("aria-setsize"),U.removeAttribute("aria-posinset"),U.removeAttribute("id");else if(y===!0){if(U.setAttribute("role","option"),U.ariaSelected=String(F),D)U.id=`${D}-item-${Z}`;if(j){let g=j();if(g!==V)V=g,_=String(g);U.setAttribute("aria-setsize",_);let e=W?W(Z):Z+1;U.setAttribute("aria-posinset",String(e))}}else if(U.setAttribute("role","listitem"),U.removeAttribute("aria-selected"),j){let g=j();if(g!==V)V=g,_=String(g);U.setAttribute("aria-setsize",_);let e=W?W(Z):Z+1;U.setAttribute("aria-posinset",String(e))}u(U,Z);let m=Q(H,Z,T);if(a(U,m),String(H.id).startsWith(R2))U.classList.add(t);return q2(U,F,P),U.style.transform=I,{element:U,lastItem:H,lastSelected:F,lastFocused:P,lastTransform:I,lastSeenFrame:O}},s=(Z,H,F,P,I)=>{if(O++,H.start===0&&Z.length)L=w2(Z[0]);let U=!1;if(j){let T=j();if(T!==V)V=T,_=String(T),U=!0}let X=null;for(let T=H.start;T<=H.end;T++){let m=T-H.start,w=Z[m];if(!w)continue;let g=F.has(w.id),e=T===P,Q2=G.get(T);if(Q2){let Z2=Q2.lastItem!==w,$2=Q2.lastSelected!==g,h=Q2.lastFocused!==e;if(Z2){let n=Q2.element.dataset.id??"",Y2=String(w.id),N2=n.startsWith(R2),l=Y2.startsWith(R2);if(!l&&y2(F,T,w.id))g=!0;let M2=A(g,e),E2=Q(w,T,M2);if(a(Q2.element,E2),Q2.element.dataset.id=Y2,Q2.element.dataset.row=String($.getRow(T)),Q2.element.dataset.col=String($.getCol(T)),u(Q2.element,T),Q2.element.classList.toggle(t,l),N2&&!l)Q2.element.classList.add(i),setTimeout(()=>Q2.element.classList.remove(i),300);if(Q2.lastItem=w,!w.__groupHeader){let V2=W?W(T):T+1;Q2.element.setAttribute("aria-posinset",String(V2))}}if(Z2||$2||h)q2(Q2.element,g,e),Q2.element.ariaSelected=String(g),Q2.lastSelected=g,Q2.lastFocused=e;let S=j2(T,I);if(Q2.lastTransform!==S)Q2.element.style.transform=S,Q2.lastTransform=S;if(U&&!w.__groupHeader)Q2.element.setAttribute("aria-setsize",_)}else{if(y2(F,T,w.id))g=!0;let Z2=j2(T,I),$2=o(T,w,g,e,Z2);if(!X)X=document.createDocumentFragment();X.appendChild($2.element),G.set(T,$2)}}if(X)J.appendChild(X);for(let[T,m]of G)if(T>=H.start&&T<=H.end)m.lastSeenFrame=O;else if(O-m.lastSeenFrame>cJ)v.release(m.element),G.delete(T)},R=(Z)=>{for(let[H,F]of G){let P=j2(H,Z);if(F.lastTransform!==P)F.element.style.transform=P,F.lastTransform=P}},N=(Z,H,F,P)=>{let I=G.get(Z);if(!I)return;let U=A(F,P),X=Q(H,Z,U);a(I.element,X),q2(I.element,F,P),I.element.dataset.id=String(H.id),I.element.ariaSelected=String(F),u(I.element,Z),I.lastItem=H,I.lastSelected=F,I.lastFocused=P},K=(Z,H,F)=>{let P=G.get(Z);if(!P)return;let I=P.lastSelected!==H,U=P.lastFocused!==F;if(I||U)q2(P.element,H,F),P.lastSelected=H,P.lastFocused=F},M=(Z)=>{return G.get(Z)?.element},C=(Z)=>{if(Math.abs(Z-b)<1)return;b=Z;for(let[H,F]of G){u(F.element,H);let P=j2(H);F.element.style.transform=P,F.lastTransform=P}},r=()=>{S2(J,G.keys(),(Z)=>G.get(Z)?.element)},c=()=>{for(let[,Z]of G)v.release(Z.element);G.clear()};return{render:s,updatePositions:R,updateItem:N,updateItemClasses:K,getElement:M,sortDOM:r,updateContainerWidth:C,clear:c,destroy:()=>{c(),v.clear()}}};var XJ=(J,Q=50,q=1/0,$=!0)=>{let B=J,Y=[],j=0,D=()=>{Y=B.map((_,V)=>({def:_,index:V,width:0,minWidth:lJ(_.minWidth??Q,1),maxWidth:_.maxWidth??q,resizable:_.resizable??$,offset:0}))},k=(_)=>{if(Y.length===0){j=0;return}let V=0,E=0;for(let A=0;A<Y.length;A++){let z=Y[A],d=z.def;if(d.width!==void 0)z.width=r2(d.width,z.minWidth,z.maxWidth),V+=z.width;else E++}if(E){let z=Math.max(0,_-V)/E;for(let d=0;d<Y.length;d++){let x=Y[d];if(x.def.width===void 0)x.width=r2(z,x.minWidth,x.maxWidth)}}W()},W=()=>{let _=0;for(let V=0;V<Y.length;V++){let E=Y[V];E.offset=_,_+=E.width}j=_},y=(_,V)=>{if(_<0||_>=Y.length)return 0;let E=Y[_];if(!E.resizable)return E.width;let A=r2(V,E.minWidth,E.maxWidth);return E.width=A,W(),A},v=(_)=>{return Y[_]},G=(_)=>{if(Y.length===0)return;if(_<0)return Y[0];if(_>=j)return Y[Y.length-1];let V=0,E=Y.length-1;while(V<E){let A=V+E>>>1,z=Y[A];if(_<z.offset)E=A-1;else if(_>=z.offset+z.width)V=A+1;else return z}return Y[V]},b=(_)=>{if(_<0||_>=Y.length)return 0;return Y[_].offset},L=(_)=>{if(_<0||_>=Y.length)return 0;return Y[_].width},O=(_)=>{B=_,D()};return D(),{get columns(){return Y},get totalWidth(){return j},resolve:k,updateColumns:O,resizeColumn:y,getColumn:v,getColumnAtX:G,getColumnOffset:b,getColumnWidth:L}},r2=(J,Q,q)=>Math.min(q,Math.max(Q,J)),lJ=(J,Q)=>Math.max(Q,J);var OJ=(J,Q,q,$,B,Y)=>{let j=document.createElement("div");j.setAttribute("role","rowgroup");let D=document.createElement("div");D.className=`${q}-table-header`,D.setAttribute("role","row"),D.setAttribute("aria-rowindex","1"),D.style.height=`${Q}px`;let k=document.createElement("div");k.className=`${q}-table-header-scroll`,k.setAttribute("role","presentation"),D.appendChild(k),j.appendChild(D),J.insertBefore(j,J.firstChild),J.style.setProperty("--vlist-table-header-height",`${Q}px`);let W=[],y=[],v=!0,G=null,b="asc",L=null,O=!1,_=-1,V=0,E=0,A=0,z=(N,K)=>{let M=document.createElement("div");M.className=`${q}-table-header-cell`,M.setAttribute("role","columnheader"),M.setAttribute("aria-colindex",String(K+1)),M.setAttribute("tabindex",K===0?"0":"-1"),M.dataset.columnKey=N.def.key;let C=N.def.align;if(C==="center")M.classList.add(`${q}-table-header-cell--center`);else if(C==="right")M.classList.add(`${q}-table-header-cell--right`);let r=document.createElement("div");r.className=`${q}-table-header-content`;let c=N.def.header?N.def.header(N.def):N.def.label;if(typeof c==="string")r.textContent=c;else r.appendChild(c);if(M.appendChild(r),N.def.sortable){let f=document.createElement("span");f.className=`${q}-table-header-sort`,f.setAttribute("aria-hidden","true"),M.appendChild(f),y.push(f),M.classList.add(`${q}-table-header-cell--sortable`)}else y.push(null);if(N.resizable){let f=document.createElement("div");f.className=`${q}-table-header-resize`,f.dataset.resizeIndex=String(K),M.appendChild(f)}return M},d=(N)=>{L=N,k.textContent="",W=[],y=[];let K=N.columns;for(let M=0;M<K.length;M++){let C=K[M],r=z(C,M);W.push(r),k.appendChild(r)}if(x(N),G)p(G,b)},x=(N)=>{L=N;let K=N.columns;k.style.width=`${N.totalWidth}px`;for(let M=0;M<W.length&&M<K.length;M++){let C=W[M],r=K[M];C.style.width=`${r.width}px`}},p=(N,K)=>{if(G=N,b=K,!L)return;let M=L.columns;for(let C=0;C<y.length&&C<M.length;C++){let r=y[C];if(!r)continue;if(M[C].def.key===N)r.textContent=K==="asc"?"▲":"▼",r.style.opacity="0.7",W[C].setAttribute("aria-sort",K==="asc"?"ascending":"descending");else r.textContent="",r.style.opacity="0",W[C].removeAttribute("aria-sort")}},t=(N)=>{k.style.transform=`translateX(${-N}px)`},i=(N)=>{let K=N.target;if(!K.dataset.resizeIndex)return;if(N.preventDefault(),N.stopPropagation(),_=+K.dataset.resizeIndex,!L)return;let M=L.getColumn(_);if(!M?.resizable)return;O=!0,V=N.clientX,E=M.width,J.classList.add(`${q}--col-resizing`),J.style.cursor="col-resize",K.classList.add(`${q}-table-header-resize--active`),K.setPointerCapture(N.pointerId),K.addEventListener("pointermove",a),K.addEventListener("pointerup",q2),K.addEventListener("pointercancel",q2)},a=(N)=>{if(!O||!L)return;let K=N.clientX-V;if(Math.abs(K)<1)return;let M=Math.max(0,E+K);$(_,M)},q2=(N)=>{if(!O)return;let K=N.target;K.removeEventListener("pointermove",a),K.removeEventListener("pointerup",q2),K.removeEventListener("pointercancel",q2);try{K.releasePointerCapture(N.pointerId)}catch{}K.classList.remove(`${q}-table-header-resize--active`),J.classList.remove(`${q}--col-resizing`),J.style.cursor="",O=!1,_=-1},B2=(N)=>{let K=N.target;if(K.dataset.resizeIndex)return;if(O)return;let M=K;while(M&&!M.dataset.columnKey)if(M=M.parentElement,M===D||M===null)return;let C=M.dataset.columnKey;if(!L)return;let r=L.columns,c=-1;for(let Z=0;Z<r.length;Z++)if(r[Z].def.key===C){c=Z;break}if(c===-1)return;let f=r[c];if(Y)Y({key:C,index:c,event:N});if(f.def.sortable&&B){let Z;if(G===C)Z=b==="asc"?"desc":null;else Z="asc";B({key:C,index:c,direction:Z})}},j2=(N)=>{if(N<0||N>=W.length)return;W[A]?.setAttribute("tabindex","-1"),A=N;let K=W[A];K.setAttribute("tabindex","0"),K.focus()},u=(N)=>{let K=N.key;if(K==="ArrowRight"){if(N.ctrlKey||N.metaKey){if(!L)return;let M=L.getColumn(A);if(M?.resizable)$(A,M.width+10),N.preventDefault()}else if(A<W.length-1)j2(A+1),N.preventDefault();N.stopPropagation();return}if(K==="ArrowLeft"){if(N.ctrlKey||N.metaKey){if(!L)return;let M=L.getColumn(A);if(M?.resizable)$(A,M.width-10),N.preventDefault()}else if(A>0)j2(A-1),N.preventDefault();N.stopPropagation();return}if(K==="Home"){j2(0),N.preventDefault(),N.stopPropagation();return}if(K==="End"){j2(W.length-1),N.preventDefault(),N.stopPropagation();return}if(K==="Enter"||K===" "){if(!L)return;let M=L.getColumn(A);if(M?.def.sortable&&B){let C;if(G===M.def.key)C=b==="asc"?"desc":null;else C="asc";B({key:M.def.key,index:A,direction:C}),N.preventDefault()}N.stopPropagation();return}if(K==="ArrowDown"){J.focus(),N.preventDefault(),N.stopPropagation();return}};return D.addEventListener("pointerdown",i),D.addEventListener("click",B2),D.addEventListener("keydown",u),{element:D,update:x,updateSort:p,rebuild:d,show:()=>{if(v)return;v=!0,D.style.display=""},hide:()=>{if(!v)return;v=!1,D.style.display="none"},destroy:()=>{D.removeEventListener("pointerdown",i),D.removeEventListener("click",B2),D.removeEventListener("keydown",u),J.style.removeProperty("--vlist-table-header-height"),j.remove(),W=[],y=[],L=null,v=!1},syncScroll:t}};var aJ=()=>{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}}},EJ=(J,Q,q,$,B,Y,j,D,k)=>{let W=aJ(),y=new Map,v=-1,G=q,b=null,L=null,O=null,_=(U,X)=>{L=U,O=X},V=(U,X)=>{X?U.setAttribute("aria-selected","true"):U.removeAttribute("aria-selected")},E=(U,X,T,m)=>{U.setAttribute("role",X),U.setAttribute("data-id",String(T)),U.setAttribute("data-index",String(m))},A=(U)=>String(U).startsWith("__placeholder_"),z=`${B}-item ${B}-table-row`,d=`${B}-item--selected`,x=`${B}-item--focused`,p=`${B}-table-cell`,t=`${B}-table-cell--center`,i=`${B}-table-cell--right`,a=`${B}-item--odd`,q2=`${B}-item--placeholder`,B2=`${B}-item--replaced`,j2=`${B}-table-row ${B}-table-group-header`,u=`${B}-table-group-header-content`,o=(U,X,T,m,w=!1)=>{if(T.def.cell){let g=T.def.cell(X,T.def,m);if(typeof g==="string")U.innerHTML=g;else U.replaceChildren(g)}else{let g=X[T.def.key],e=g!=null?String(g):"";if(w&&e)U.innerHTML=`<span>${e}</span>`;else U.textContent=e}},s=(U,X,T,m,w=!1)=>{let g=z;if(D){if(b){let e=b(X);if(e>=0&&(e&1)===1)g+=` ${a}`}else if((X&1)===1)g+=` ${a}`}if(w)g+=` ${q2}`;if(T)g+=` ${d}`;if(m)g+=` ${x}`;U.className=g},R=(U,X,T)=>{if(T?.compression?.isCompressed)return Math.round(z2(U,T.scrollPosition,X,T.totalItems,T.containerSize,T.compression,T.rangeStart));return X.getOffset(U)},N=(U,X)=>{let T=X.def.align;if(T==="center")U.classList.add(t),U.classList.remove(i);else if(T==="right")U.classList.add(i),U.classList.remove(t);else U.classList.remove(t,i)},K=(U,X)=>{let m=G.columns.length;if(X.length===m)return X;let w=[];for(let g=0;g<m;g++){let e;if(g<X.length)e=X[g];else e=document.createElement("div"),e.className=p,U.appendChild(e);w.push(e)}for(let g=m;g<X.length;g++)X[g].remove();return w},M=(U,X,T,m)=>{let w=W.acquire(),g=U,e=T.getSize(X),Q2=R(X,T,m);w.style.cssText=`width:${G.totalWidth}px;height:${e}px;transform:translateY(${Q2}px)`,w.className=j2,E(w,"presentation",U.id,X),w.removeAttribute("aria-selected"),w.removeAttribute("aria-rowindex"),w.replaceChildren();let Z2=document.createElement("div");if(Z2.className=u,O){let $2=O(g.groupKey,g.groupIndex);if(typeof $2==="string")Z2.innerHTML=$2;else Z2.appendChild($2)}return w.appendChild(Z2),{element:w,cells:[],index:X,isGroupHeader:!0,_lastItem:U,lastItemId:U.id,lastSelected:!1,lastFocused:!1,lastOffset:Q2,lastHeight:e}},C=(U,X,T,m,w,g)=>{let e=W.acquire(),Q2=w.getSize(X),Z2=R(X,w,g),$2=A(U.id);e.style.cssText=`width:${G.totalWidth}px;height:${Q2}px;transform:translateY(${Z2}px)`,s(e,X,T,m,$2),E(e,"row",U.id,X),e.id=`${Y}-item-${X}`,e.setAttribute("aria-rowindex",String(X+2)),V(e,T);let h=K(e,[]),S=G.columns;for(let n=0;n<h.length&&n<S.length;n++){let Y2=h[n],N2=S[n];Y2.style.cssText=`left:${N2.offset}px;width:${N2.width}px`,Y2.setAttribute("role","gridcell"),Y2.setAttribute("aria-colindex",String(n+1)),N(Y2,N2),o(Y2,U,N2,X,$2)}return{element:e,cells:h,index:X,isGroupHeader:!1,_lastItem:U,lastItemId:U.id,lastSelected:T,lastFocused:m,lastOffset:Z2,lastHeight:Q2}},r=(U,X,T,m,w)=>{let g=!1,e=j();if(e!==v)v=e,g=!0;let Q2=null,Z2=Q();b=typeof D==="string"&&k?k():null;for(let $2=X.start;$2<=X.end;$2++){let h=$2-X.start,S=U[h];if(!S)continue;let n=T.has(S.id),Y2=$2===m,N2=L?L(S):!1,l=y.get($2);if(l){if(l.isGroupHeader!==N2){W.release(l.element),y.delete($2);let M2=N2?M(S,$2,Z2,w):C(S,$2,n,Y2,Z2,w);if(y.set($2,M2),!Q2)Q2=document.createDocumentFragment();Q2.appendChild(M2.element);continue}if(N2){if(l._lastItem!==S){let V2=S,G2=l.element.firstElementChild;if(G2&&O){let A2=O(V2.groupKey,V2.groupIndex);if(typeof A2==="string")G2.innerHTML=A2;else G2.replaceChildren(A2)}l.element.setAttribute("data-id",String(S.id)),l._lastItem=S,l.lastItemId=S.id}let E2=R($2,Z2,w);if(l.lastOffset!==E2)l.lastOffset=E2,l.element.style.transform=`translateY(${E2}px)`;let U2=Z2.getSize($2);if(l.lastHeight!==U2)l.lastHeight=U2,l.element.style.height=`${U2}px`}else{let M2=l._lastItem!==S,E2=l.lastSelected!==n,U2=l.lastFocused!==Y2;if(M2){let A2=l.lastItemId!=null&&A(l.lastItemId),W2=A(S.id);if(!W2&&y2(T,$2,S.id))n=!0;let X2=G.columns;for(let _2=0;_2<l.cells.length&&_2<X2.length;_2++)o(l.cells[_2],S,X2[_2],$2,W2);if(s(l.element,$2,n,Y2,W2),l.element.setAttribute("data-id",String(S.id)),V(l.element,n),A2&&!W2)l.element.classList.add(B2),setTimeout(()=>{l.element.classList.remove(B2)},300);l._lastItem=S,l.lastItemId=S.id,l.lastSelected=n,l.lastFocused=Y2}else if(E2||U2)s(l.element,$2,n,Y2,A(S.id)),V(l.element,n),l.lastSelected=n,l.lastFocused=Y2;let V2=R($2,Z2,w);if(l.lastOffset!==V2)l.lastOffset=V2,l.element.style.transform=`translateY(${V2}px)`;let G2=Z2.getSize($2);if(l.lastHeight!==G2)l.lastHeight=G2,l.element.style.height=`${G2}px`;if(g)l.element.setAttribute("aria-rowindex",String($2+2))}}else{if(y2(T,$2,S.id))n=!0;let M2=N2?M(S,$2,Z2,w):C(S,$2,n,Y2,Z2,w);if(y.set($2,M2),!Q2)Q2=document.createDocumentFragment();Q2.appendChild(M2.element)}}if(Q2)J.appendChild(Q2);for(let[$2,h]of y)if($2<X.start||$2>X.end)W.release(h.element),y.delete($2)},c=(U)=>{let X=Q();for(let[T,m]of y){let w=R(T,X,U);if(m.lastOffset!==w)m.lastOffset=w,m.element.style.transform=`translateY(${w}px)`}},f=(U,X,T,m)=>{let w=y.get(U);if(!w)return;if(w.isGroupHeader)return;let g=G.columns;for(let e=0;e<w.cells.length&&e<g.length;e++)o(w.cells[e],X,g[e],U);w.element.setAttribute("data-id",String(X.id)),w._lastItem=X,w.lastItemId=X.id,s(w.element,U,T,m),V(w.element,T),w.lastSelected=T,w.lastFocused=m},Z=(U,X,T)=>{let m=y.get(U);if(!m)return;if(m.isGroupHeader)return;let w=m.lastSelected!==X,g=m.lastFocused!==T;if(w||g)s(m.element,U,X,T),V(m.element,X),m.lastSelected=X,m.lastFocused=T},H=(U)=>{G=U;let X=U.columns;for(let[,T]of y)if(T.element.style.width=`${U.totalWidth}px`,T.cells.length>0)for(let m=0;m<T.cells.length&&m<X.length;m++){let w=T.cells[m],g=X[m];w.style.left=`${g.offset}px`,w.style.width=`${g.width}px`}},F=(U)=>{return y.get(U)?.element},P=()=>{for(let[,U]of y)W.release(U.element);y.clear(),v=-1};return{render:r,updatePositions:c,updateItem:f,updateItemClasses:Z,getElement:F,updateColumnLayout:H,setGroupHeaderFn:_,clear:P,destroy:()=>{P(),W.clear()}}};var AJ=(J)=>{let Q=Math.max(1,Math.floor(J.columns)),q=J.gap??0,$=J.containerSize,B=J.crossOffset??0,Y=J.mainOffset??0,j=0,D=[],k=()=>{let V=(Q-1)*q;j=Math.max(0,($-V)/Q),D=Array(Q);let E=j+q;for(let A=0;A<Q;A++)D[A]=B+A*E};k();let W=[],y=0,v=[],G=(V,E)=>{if(V<=0)return y=0,W=[],[];let A=Array(Q).fill(Y),z=Array(Q);for(let p=0;p<Q;p++)z[p]=[];let d=Array(V);for(let p=0;p<V;p++){let t=0,i=A[0];for(let B2=1;B2<Q;B2++){let j2=A[B2];if(j2<i)i=j2,t=B2}let a=E(p),q2=A[t];d[p]={index:p,x:D[t],y:q2,lane:t,size:a,crossSize:j},z[t].push(p),A[t]=q2+a+q}W=z;let x=0;for(let p=0;p<Q;p++){let t=A[p],i=t>0?t-q:0;if(i>x)x=i}return y=x,d},b=(V)=>{if(V.length===0)return y;if(y)return y;let E=Array(Q).fill(0);for(let z of V){let d=z.y+z.size,x=E[z.lane];if(d>x)E[z.lane]=d}let A=0;for(let z=0;z<Q;z++)if(E[z]>A)A=E[z];return A},L=(V,E,A)=>{if(V.length===0||A<=E)return v.length=0,v;if(W.length===0||W.length!==Q)return O(V,E,A);v.length=0;for(let z=0;z<Q;z++){let d=W[z],x=d.length;if(!x)continue;let p=0,t=x;while(p<t){let i=p+t>>>1,a=V[d[i]];if(a.y+a.size<=E)p=i+1;else t=i}for(let i=p;i<x;i++){let a=V[d[i]];if(a.y>=A)break;v.push(a)}}return v},O=(V,E,A)=>{v.length=0;for(let z of V)if(z.y+z.size>E&&z.y<A)v.push(z);return v};return{get columns(){return Q},get gap(){return q},get containerSize(){return $},update:(V)=>{let E=!1;if(V.columns!==void 0){let A=Math.max(1,Math.floor(V.columns));if(A!==Q)Q=A,E=!0}if(V.gap!==void 0&&V.gap!==q)q=V.gap,E=!0;if(V.containerSize!==void 0&&V.containerSize!==$)$=V.containerSize,E=!0;if(V.crossOffset!==void 0&&V.crossOffset!==B)B=V.crossOffset,E=!0;if(V.mainOffset!==void 0&&V.mainOffset!==Y)Y=V.mainOffset,E=!0;if(E)k()},calculateLayout:G,getTotalSize:b,getVisibleItems:L}};var sJ=(J=200)=>{let Q=[];return{acquire:()=>{let Y=Q.pop();if(Y)return Y;let j=document.createElement("div");return j.setAttribute("role","option"),j},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}}},nJ=1,FJ=(J,Q,q,$=!1,B,Y,j,D)=>{let k=sJ(),W=new Map,y=new Set,v=0,G="",b=-1,L={selected:!1,focused:!1},O=(u,o)=>{return L.selected=u,L.focused=o,L},_=`${q}-item ${q}-masonry-item`,V=`${q}-group-header`,E=`${q}-item--selected`,A=`${q}-item--focused`,z=(u,o)=>{if(typeof o==="string")u.innerHTML=o;else u.replaceChildren(o);C2(u)},d=(u,o,s)=>{u.classList.toggle(E,o),u.classList.toggle(A,s)},x=(u,o)=>{if($)u.style.transform=`translate(${Math.round(o.y)}px, ${Math.round(o.x)}px)`;else u.style.transform=`translate(${Math.round(o.x)}px, ${Math.round(o.y)}px)`},p=(u,o)=>{if($)u.style.width=`${o.size}px`,u.style.height=`${o.crossSize}px`;else u.style.width=`${o.crossSize}px`,u.style.height=`${o.size}px`},t=(u,o,s,R,N)=>{let K=k.acquire(),M=o.__groupHeader,C=O(R,N);if(K.className=M?V:_,K.dataset.index=String(u),K.dataset.id=String(o.id),K.dataset.lane=String(s.lane),M)K.setAttribute("role","presentation"),K.removeAttribute("aria-selected"),K.removeAttribute("aria-setsize"),K.removeAttribute("aria-posinset"),K.removeAttribute("id");else if(D===!0){if(K.setAttribute("role","option"),K.ariaSelected=String(R),Y)K.id=`${Y}-item-${u}`;if(B){let c=B();if(c!==b)b=c,G=String(c);K.setAttribute("aria-setsize",G);let f=j?j(u):u+1;K.setAttribute("aria-posinset",String(f))}}else if(K.setAttribute("role","listitem"),K.removeAttribute("aria-selected"),B){let c=B();if(c!==b)b=c,G=String(c);K.setAttribute("aria-setsize",G);let f=j?j(u):u+1;K.setAttribute("aria-posinset",String(f))}p(K,s);let r=Q(o,u,C);return z(K,r),d(K,R,N),x(K,s),{element:K,lastItem:o,lastSelected:R,lastFocused:N,lastY:s.y,lastX:s.x,lastSize:s.size,lastCrossSize:s.crossSize,lastSeenFrame:v}},i=(u,o,s,R)=>{v++,y.clear();for(let K=0;K<o.length;K++)y.add(o[K].index);let N=null;for(let K=0;K<o.length;K++){let M=o[K],C=M.index,r=u(C);if(!r)continue;let c=s.has(r.id),f=C===R,Z=W.get(C);if(Z){let H=Z.lastItem!==r,F=Z.lastSelected!==c,P=Z.lastFocused!==f,I=Z.lastY!==M.y||Z.lastX!==M.x,U=Z.lastSize!==M.size||Z.lastCrossSize!==M.crossSize;if(H){let X=O(c,f),T=Q(r,C,X);if(z(Z.element,T),Z.element.dataset.id=String(r.id),Z.lastItem=r,!r.__groupHeader){let w=j?j(C):C+1;Z.element.setAttribute("aria-posinset",String(w))}}if(H||F||P)d(Z.element,c,f),Z.element.ariaSelected=String(c),Z.lastSelected=c,Z.lastFocused=f;if(U)p(Z.element,M),Z.lastSize=M.size,Z.lastCrossSize=M.crossSize;if(I)x(Z.element,M),Z.lastY=M.y,Z.lastX=M.x}else{let H=t(C,r,M,c,f);if(!N)N=document.createDocumentFragment();N.appendChild(H.element),W.set(C,H)}}if(N)J.appendChild(N);for(let[K,M]of W)if(y.has(K))M.lastSeenFrame=v;else if(v-M.lastSeenFrame>nJ)k.release(M.element),W.delete(K)},a=()=>{for(let u of W.values())k.release(u.element);W.clear(),J.innerHTML=""};return{render:i,getElement:(u)=>W.get(u)?.element,updateItemClasses:(u,o,s)=>{let R=W.get(u);if(!R)return;let N=R.lastSelected!==o,K=R.lastFocused!==s;if(N||K)d(R.element,o,s),R.lastSelected=o,R.lastFocused=s},sortDOM:()=>{S2(J,W.keys(),(u)=>W.get(u)?.element)},clear:a,destroy:()=>{a(),k.clear()}}};var LJ=(J,Q)=>{let q=new Map,$=(Y)=>q.get(Y)??J,B=k2($,Q);return{getOffset(Y){return B.getOffset(Y)},getSize(Y){return $(Y)},indexAtOffset(Y){return B.indexAtOffset(Y)},getTotalSize(){return B.getTotalSize()},getTotal(){return B.getTotal()},rebuild(Y){if(Y<B.getTotal()){for(let j of q.keys())if(j>=Y)q.delete(j)}B=k2($,Y)},isVariable(){return!0},setMeasuredSize(Y,j){q.set(Y,j)},isMeasured(Y){return q.has(Y)},getEstimatedSize(){return J},measuredCount(){return q.size}}};var HJ=(J,Q,q,$,B,Y)=>{if($===0||Q===0)return Y.start=0,Y.end=-1,Y;let j=q.indexAtOffset(J),D=q.indexAtOffset(J+Q);if(D<$-1)D++;return Y.start=Math.max(0,j),Y.end=Math.min($-1,Math.max(0,D)),Y},bJ=(J,Q,q,$)=>{if(q===0)return $.start=0,$.end=-1,$;return $.start=Math.max(0,J.start-Q),$.end=Math.min(q-1,J.end+Q),$},RJ=(J,Q,q,$,B,Y)=>{if($===0)return 0;let j=Math.max(0,Math.min(J,$-1)),D=Q.getOffset(j),k=Q.getSize(j),W=Q.getTotalSize(),y=Math.max(0,W-q),v;switch(Y){case"center":v=D-q/2+k/2;break;case"end":v=D-q+k;break;case"start":default:v=D;break}return Math.max(0,Math.min(v,y))},TJ=(J,Q,q)=>{if(q&&q.isCompressed)return q.virtualSize;return Q.getTotalSize()},yJ=(J,Q)=>{return Q.getTotalSize()},zJ=(J,Q)=>{return Q.getOffset(J)},PJ=(J,Q,q)=>{let $=Math.max(0,Q-q);return Math.max(0,Math.min(J,$))};var kJ=(J,Q,q,$,B="start",Y,j=RJ)=>{return j(J,Q,q,$,Y,B)},vJ=(J,Q)=>{return J.start===Q.start&&J.end===Q.end},wJ=(J,Q)=>{return J>=Q.start&&J<=Q.end},CJ=(J)=>{if(J.end<J.start)return 0;return J.end-J.start+1};var SJ=(J,Q)=>{let q=[],$=[];for(let B=J.start;B<=J.end;B++)if(B<Q.start||B>Q.end)$.push(B);for(let B=Q.start;B<=Q.end;B++)if(B<J.start||B>J.end)q.push(B);return{add:q,remove:$}};var fJ=()=>{let J={},Q=(Y,j)=>{if(!J[Y])J[Y]=new Set;return J[Y].add(j),()=>q(Y,j)},q=(Y,j)=>{J[Y]?.delete(j)};return{on:Q,off:q,emit:(Y,j)=>{J[Y]?.forEach((D)=>{try{D(j)}catch(k){console.error(`[vlist] Error in event handler for "${String(Y)}":`,k)}})},clear:(Y)=>{if(Y)delete J[Y];else for(let j in J)delete J[j]}}};var f2=(J={})=>{let{chunkSize:Q=100,maxCachedItems:q=5000,evictionBuffer:$=200,onEvict:B}=J,Y=new Map,j=0,D=0,k=(R)=>{let N=Y.get(R);if(!N)N={items:Array(Q),count:0,lastAccess:Date.now()},Y.set(R,N);else N.lastAccess=Date.now();return N},W=(R)=>{return Math.floor(R/Q)},y=(R)=>{return R%Q},v=()=>j,G=(R)=>{j=R},b=(R)=>{if(R<0||R>=j)return;let N=W(R),K=Y.get(N);if(!K)return;return K.items[y(R)]},L=(R)=>{if(R<0||R>=j)return!1;let N=W(R),K=Y.get(N);if(!K)return!1;return K.items[y(R)]!==void 0},O=(R,N)=>{let K=W(R),M=k(K),C=y(R),r=M.items[C]===void 0;if(M.items[C]=N,r)M.count++,D++;if(R>=j)j=R+1},_=(R,N)=>{for(let K=0;K<N.length;K++){let M=N[K];if(M!==void 0)O(R+K,M)}},V=(R,N)=>{if(R<0||R>j)return;let K=W(R),M=Array.from(Y.keys()).filter((Z)=>Z>=K).sort((Z,H)=>Z-H),C=[];for(let Z of M){let H=Y.get(Z),F=Z*Q;for(let P=0;P<Q;P++){if(H.items[P]===void 0)continue;let I=F+P;if(I<R)continue;C.push({oldIndex:I,item:H.items[P]})}}for(let{oldIndex:Z}of C){let H=W(Z),F=Y.get(H);if(!F)continue;let P=y(Z);if(F.items[P]!==void 0){if(F.items[P]=void 0,F.count--,D--,F.count===0)Y.delete(H)}}j++;for(let{oldIndex:Z,item:H}of C){let F=Z+1,P=W(F),I=k(P),U=y(F);I.items[U]=H,I.count++,D++}let r=W(R),c=k(r),f=y(R);c.items[f]=N,c.count++,D++},E=(R)=>{if(R<0||R>=j)return!1;let N=W(R),K=Y.get(N),M=y(R);if(!(K!==void 0&&K.items[M]!==void 0))return!1;let r=N,c=Array.from(Y.keys()).filter((Z)=>Z>=r).sort((Z,H)=>Z-H),f=[];for(let Z of c){let H=Y.get(Z),F=Z*Q;for(let P=0;P<Q;P++){if(H.items[P]===void 0)continue;let I=F+P;if(I<=R)continue;f.push({oldIndex:I,item:H.items[P]})}}if(K.items[M]=void 0,K.count--,D--,K.count===0)Y.delete(N);for(let{oldIndex:Z}of f){let H=W(Z),F=Y.get(H);if(!F)continue;let P=y(Z);if(F.items[P]!==void 0){if(F.items[P]=void 0,F.count--,D--,F.count===0)Y.delete(H)}}for(let{oldIndex:Z,item:H}of f){let F=Z-1,P=W(F),I=k(P),U=y(F);I.items[U]=H,I.count++,D++}return j--,!0},A=(R,N)=>{let K=[];for(let M=R;M<=N&&M<j;M++)K.push(b(M));return K},z=(R,N)=>{for(let K=R;K<=N&&K<j;K++)if(!L(K))return!1;return!0},d=()=>{let R=[],N=null,K=Array.from(Y.keys()).sort((M,C)=>M-C);for(let M of K){let C=Y.get(M);if(!C)continue;let r=M*Q;for(let c=0;c<Q;c++){let f=r+c;if(f>=j)break;if(C.items[c]!==void 0)if(N===null)N={start:f,end:f};else if(f===N.end+1)N.end=f;else R.push(N),N={start:f,end:f};else if(N!==null)R.push(N),N=null}}if(N!==null)R.push(N);return R},x=(R,N)=>{let K=[],M=null;for(let C=R;C<=N&&C<j;C++)if(!L(C))if(M===null)M={start:C,end:C};else M.end=C;else if(M!==null)K.push(M),M=null;if(M!==null)K.push(M);return K},p=(R)=>{return Y.has(R)},t=(R)=>{let N=Y.get(R);if(!N)return!1;let K=R*Q,M=Math.min(Q,j-K);return N.count>=M},i=(R)=>{let N=Y.get(R);if(N)N.lastAccess=Date.now()},a=(R,N)=>{if(R>N||Y.size===0)return;let K=Date.now(),M=W(Math.max(0,R)),C=W(Math.min(j-1,N));for(let r=M;r<=C;r++){let c=Y.get(r);if(c)c.lastAccess=K}},q2=(R,N)=>{if(D<=q)return 0;let K=Math.max(0,R-$),M=Math.min(j-1,N+$),C=W(K),r=W(M),c=0,f=[];for(let[Z,H]of Y)if(Z<C||Z>r)c+=H.count,f.push(Z),D-=H.count,Y.delete(Z);if(c>0&&B)B(c,f);return c},B2=()=>{if(D<=q)return 0;let R=Array.from(Y.entries()).sort(([,M],[,C])=>M.lastAccess-C.lastAccess),N=0,K=[];for(let[M,C]of R){if(D<=q)break;N+=C.count,D-=C.count,K.push(M),Y.delete(M)}if(N>0&&B)B(N,K);return N},j2=()=>{return{totalItems:j,cachedItems:D,cachedChunks:Y.size,chunkSize:Q,maxCachedItems:q,memoryEfficiency:j>0?1-D/j:1}},u=()=>D,o=()=>{Y.clear(),D=0};return{chunkSize:Q,maxCachedItems:q,getTotal:v,setTotal:G,get:b,has:L,set:O,setRange:_,insert:V,delete:E,getRange:A,isRangeLoaded:z,getLoadedRanges:d,findUnloadedRanges:x,getChunkIndex:W,isChunkLoaded:p,isChunkFullyLoaded:t,touchChunk:i,touchChunksForRange:a,evictDistant:q2,evictToLimit:B2,getStats:j2,getCachedCount:u,clear:o,reset:()=>{o(),j=0}}},I2=(J)=>{if(J.length===0)return[];let Q=[...J].sort(($,B)=>$.start-B.start),q=[{...Q[0]}];for(let $=1;$<Q.length;$++){let B=Q[$],Y=q[q.length-1];if(B.start<=Y.end+1)Y.end=Math.max(Y.end,B.end);else q.push({...B})}return q},l2=(J,Q,q)=>{let $=Math.floor(J.start/q)*q,B=Math.ceil((J.end+1)/q)*q-1,Y={start:$,end:B};if(Q.length===0)return[Y];let j=[],D=I2(Q),k=Y.start;for(let W of D){if(W.end<k)continue;if(W.start>Y.end)break;if(W.start>k)j.push({start:k,end:Math.min(W.start-1,Y.end)});if(k=W.end+1,k>Y.end)break}if(k<=Y.end)j.push({start:k,end:Y.end});return j};var p2=(J={})=>{let{maskCharacter:Q=QJ,maxSampleSize:q=$J}=J,$=[],B=!1,Y=(y)=>{if(B||y.length===0)return;let v=Math.min(y.length,q);for(let G=0;G<v;G++){let b=y[G];if(!b||typeof b!=="object")continue;let L={},O=!1;for(let[_,V]of Object.entries(b)){if(_.startsWith("_")||_==="id")continue;L[_]=String(V??"").length,O=!0}if(O)$.push(L)}B=!0},j=()=>B,D=(y)=>{let v={id:`${R2}${y}`,[u2]:!0,_index:y};if($.length===0)return v.label=Q.repeat(12),v;let G=$[y%$.length];for(let[b,L]of Object.entries(G))v[b]=Q.repeat(Math.max(1,L));return v};return{analyzeStructure:Y,hasAnalyzedStructure:j,generate:D,generateRange:(y,v)=>{let G=[];for(let b=y;b<=v;b++)G.push(D(b));return G},clear:()=>{$=[],B=!1}}},T2=(J)=>{if(!J||typeof J!=="object")return!1;return J[u2]===!0},a2=(J)=>{return J.filter((Q)=>!T2(Q))};var iJ=50,IJ=(J={})=>{let{adapter:Q,initialItems:q,initialTotal:$,storage:B,placeholder:Y,pageSize:j=iJ,maxConcurrent:D=0,onStateChange:k,onDataChange:W,onItemsLoaded:y,onItemsEvicted:v}=J,G=f2({...B,onEvict:(h,S)=>{v?.(h),a(),i()}}),b=null,L=()=>{if(!b)b=p2(Y);return b},O=new Map,_=!1,V,E=!0,A,z,d=[],x=0,p=new Map,t=()=>{for(let h of p.values())h[1].abort();p.clear()},i=()=>{k?.(K())},a=()=>{W?.()},q2=()=>{O.clear();let h=G.getLoadedRanges();for(let S of h)for(let n=S.start;n<=S.end;n++){let Y2=G.get(n);if(Y2&&!T2(Y2))O.set(Y2.id,n)}},B2=(h,S)=>{if(!T2(S))O.set(S.id,h)},j2=(h)=>{O.delete(h)},u=(h,S)=>{return`${h}-${S}`},o=()=>G.getTotal(),s=()=>G.getCachedCount(),R=()=>_,N=()=>E,K=()=>({total:G.getTotal(),cached:G.getCachedCount(),isLoading:_,pendingRanges:d,error:V,hasMore:E,cursor:A}),M=()=>G,C=()=>L(),r=(h)=>{let S=G.get(h);if(S!==void 0)return S;if(h>=0&&h<G.getTotal())return L().generate(h);return},c=(h)=>{let S=O.get(h);if(S===void 0)return;return G.get(S)},f=(h)=>{return O.get(h)??-1},Z=(h)=>{let S=G.get(h);return S!==void 0&&!T2(S)},H=(h,S)=>{let n=[],Y2=G.getTotal();G.touchChunksForRange(h,Math.min(S,Y2-1));for(let N2=h;N2<=S&&N2<Y2;N2++){let l=G.get(N2);if(l!==void 0)n.push(l);else n.push(L().generate(N2))}return n},F=(h)=>{G.setTotal(h),E=G.getCachedCount()<h,a(),i()},P=(h,S=0,n)=>{if(Q&&h.length>0){let Y2=L();if(!Y2.hasAnalyzedStructure())Y2.analyzeStructure(h)}for(let Y2=0;Y2<h.length;Y2++){let N2=h[Y2];if(N2!==void 0){let l=S+Y2;G.set(l,N2),B2(l,N2)}}if(n!==void 0)G.setTotal(n);else if(S+h.length>G.getTotal())G.setTotal(S+h.length);if(G.getCachedCount()>=G.getTotal()&&G.getTotal()>0)E=!1;a(),i(),y?.(h,S,G.getTotal())},I=(h,S)=>{let n=G.get(h);if(!n)return!1;let Y2=n.id,N2={...n,...S};if(G.set(h,N2),S.id!==void 0&&S.id!==Y2)j2(Y2);return B2(h,N2),a(),i(),!0},U=(h,S)=>{G.insert(S,h),q2(),t(),a(),i()},X=(h)=>{let S=O.get(h);if(S===void 0)return!1;if(!G.delete(S))return!1;return q2(),t(),a(),i(),!0},T=async(h,S)=>{if(!Q)return;let n=G.chunkSize,Y2=Math.floor(h/n),N2=Math.floor(S/n),l=n*2;for(let[U2,V2]of p){let G2=U2.indexOf("-"),A2=parseInt(U2.slice(0,G2),10);if(Math.abs(A2-h)>l)V2[1].abort(),p.delete(U2)}let M2=[],E2=[];for(let U2=Y2;U2<=N2;U2++){let V2=U2*n,G2=V2+n-1,A2=u(V2,G2);if(G.isChunkFullyLoaded(U2))continue;let X2=p.get(A2);if(X2)E2.push(X2[0]);else M2.push({start:V2,end:G2})}if(M2.length===0){if(E2.length>0)await Promise.all(E2);return}if(D>0){let U2=p.size+M2.length;if(U2>D){let V2=(h+S)/2,G2=Math.min(U2-D,p.size);while(G2>0){let W2=null,X2=-1,_2=null;for(let[F2,J2]of p){let K2=F2.indexOf("-"),D2=parseInt(F2.slice(0,K2),10),O2=parseInt(F2.slice(K2+1),10),L2=Math.abs((D2+O2)/2-V2);if(L2>X2)X2=L2,W2=F2,_2=J2[1]}if(W2)_2.abort(),p.delete(W2);G2--}let A2=D-p.size;if(M2.length>A2)M2.sort((W2,X2)=>{let _2=Math.abs((W2.start+W2.end)/2-V2),F2=Math.abs((X2.start+X2.end)/2-V2);return _2-F2}),M2.length=Math.max(0,A2)}}if(M2.length===0){if(E2.length>0)await Promise.all(E2);return}for(let U2 of M2){let V2=u(U2.start,U2.end),G2=new AbortController,A2=(async()=>{d.push(U2),_=!0,V=void 0,i();try{let W2=U2.end-U2.start+1,X2={offset:U2.start,limit:W2,cursor:U2.start===z?A:void 0,signal:G2.signal},_2=await Q.read(X2);if(P(_2.items,U2.start,_2.total),_2.cursor)A=_2.cursor,z=U2.start+_2.items.length;let F2=U2.start+_2.items.length;if(F2>=x){if(x=F2,_2.hasMore!==void 0)E=_2.hasMore;else if(_2.total!==void 0)E=F2<_2.total}}catch(W2){if(W2?.name==="AbortError")return;V=W2 instanceof Error?W2:Error(String(W2))}finally{p.delete(V2);let W2=d.findIndex((X2)=>X2.start===U2.start&&X2.end===U2.end);if(W2>=0)d.splice(W2,1);_=p.size>0,i()}})();p.set(V2,[A2,G2]),E2.push(A2)}await Promise.all(E2)},m=async(h,S)=>{if(G.isRangeLoaded(h,S))return;await T(h,S)},w=async()=>{if(!Q)return;await T(0,j-1)},g=async()=>{if(!Q||_||!E)return!1;let h=G.getCachedCount(),S=G.getTotal(),n=h,Y2=Math.min(n+j-1,S>0?S-1:n+j-1);if(n>=S&&S>0)return E=!1,!1;return await T(n,Y2),G.getCachedCount()>h},e=async()=>{if(G.clear(),G.setTotal(0),O.clear(),b)b.clear();t(),d=[],_=!1,A=void 0,z=void 0,E=!0,x=0,V=void 0,a(),i()},Q2=(h,S)=>{if(G.evictDistant(h,S)>0)q2()},Z2=()=>{G.clear(),O.clear(),A=void 0,z=void 0,V=void 0,d=[],_=!1,a(),i()},$2=()=>{if(G.reset(),O.clear(),b)b.clear();A=void 0,z=void 0,E=!0,x=0,V=void 0,d=[],_=!1,a(),i()};if(q&&q.length>0)P(q,0,$??q.length);else if($!==void 0)G.setTotal($),a(),i();return{getState:K,getTotal:o,getCached:s,getIsLoading:R,getHasMore:N,getStorage:M,getPlaceholders:C,getItem:r,getItemById:c,getIndexById:f,isItemLoaded:Z,getItemsInRange:H,setTotal:F,setItems:P,updateItem:I,insertItem:U,removeItem:X,loadRange:T,ensureRange:m,loadInitial:w,loadMore:g,reload:e,evictDistant:Q2,clear:Z2,reset:$2}};var tJ=(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}},pJ=(J,Q,q={},$="vlist",B=!1,Y)=>{let{autoHide:j=!0,autoHideDelay:D=1000,minThumbSize:k=15,showOnHover:W=!0,showOnViewportEnter:y=!0,clickBehavior:v="scroll"}=q,G=v==="page"?"scroll":v,b=Y??J,L=tJ(q.padding),O=B?L.left:L.top,_=B?L.right:L.bottom,V=B?L.bottom:L.right,E=q.hoverZoneWidth??V+16,A=0,z=0,d=0,x=0,p=!1,t=!1,i=0,a=0,q2=0,B2=null,j2=!1,u=null,o=0,s=0,R=null,N=null,K=null,M=B?"width":"height",C=B?"translateX":"translateY",r=B?(J2)=>J2.clientX:(J2)=>J2.clientY,c=B?"left":"top",f=document.createElement("div"),Z=document.createElement("div"),H=document.createElement("div"),F=B?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",P=()=>{if(b===J)return;let J2=J.offsetTop;f.style[B?"left":"top"]=J2?`calc(var(${F}) + ${J2}px)`:`var(${F})`,H.style[B?"left":"top"]=`${J2}px`},I=()=>{if(f.className=`${$}-scrollbar`,Z.className=`${$}-scrollbar__thumb`,B)f.classList.add(`${$}-scrollbar--horizontal`);if(q.padding!==void 0)b.style.setProperty("--vlist-custom-scrollbar-padding-top",`${L.top}px`),b.style.setProperty("--vlist-custom-scrollbar-padding-right",`${L.right}px`),b.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${L.bottom}px`),b.style.setProperty("--vlist-custom-scrollbar-padding-left",`${L.left}px`);if(q.minThumbSize!==void 0)f.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${k}px`);if(f.appendChild(Z),b.appendChild(f),H.className=`${$}-scrollbar__hover`,B)H.classList.add(`${$}-scrollbar__hover--horizontal`),H.style.height=`${E}px`;else H.style.width=`${E}px`;if(b.appendChild(H),b!==J)P()},U=()=>{if(B2)clearTimeout(B2),B2=null},X=()=>{if(!j)return;U(),B2=setTimeout(m,D)},T=()=>{if(A<=z)return;if(U(),!j2)f.classList.add(`${$}-scrollbar--visible`),j2=!0;if(j&&!p&&!t)X()},m=()=>{if(p||t)return;f.classList.remove(`${$}-scrollbar--visible`),j2=!1},w=(J2,K2)=>{if(A=J2,z=K2,P(),A<=z){f.style.display="none",m();return}f.style.display="";let D2=Math.max(0,z-O-_),O2=z/A;if(d=Math.max(k,O2*D2),Z.style[M]=`${d}px`,x=D2-d,g(q2),!j)T()},g=(J2)=>{if(q2=J2,A<=z||x<=0)return;let K2=A-z,D2=Math.min(1,Math.max(0,J2/K2));Z.style.transform=`${C}(${D2*x}px)`},e=(J2)=>{if(J2.target===Z||G!=="jump"||x<=0)return;let K2=A-z,D2=f.getBoundingClientRect(),O2=r(J2)-D2[c],L2=Math.max(0,Math.min(O2-d/2,x));Q(L2/x*K2),T()},Q2=()=>{if(R!==null)clearTimeout(R),R=null;if(N!==null)cancelAnimationFrame(N),N=null;K=null},Z2=(J2)=>{let K2=x>0?s/J2*x:0;if(o<K2)return-1;if(o>=K2+d)return 1;return 0},$2=()=>{let J2=A-z,K2=Z2(J2);if(K2===0){Q2();return}if(K2===-1){if(s<=0){Q2();return}let D2=Math.max(0,s-z);s=D2,Q(D2)}else{if(s>=J2){Q2();return}let D2=Math.min(J2,s+z);s=D2,Q(D2)}T()},h=(J2)=>{if(K===null){K=J2,N=requestAnimationFrame(h);return}let K2=A-z,D2=J2-K;K=J2;let O2=Z2(K2);if(O2===0){Q2();return}let L2=12*z/1000,b2=Math.min(L2*D2,z);if(O2===-1){if(s<=0){Q2();return}let P2=Math.max(0,s-b2);s=P2,Q(P2)}else{if(s>=K2){Q2();return}let P2=Math.min(K2,s+b2);s=P2,Q(P2)}U(),N=requestAnimationFrame(h)},S=()=>{Q2(),X(),document.removeEventListener("mouseup",S)},n=(J2)=>{if(J2.target===Z||G!=="scroll")return;J2.preventDefault();let K2=f.getBoundingClientRect();o=r(J2)-K2[c],s=q2,$2(),R=setTimeout(()=>{N=requestAnimationFrame(h)},350),document.addEventListener("mouseup",S)},Y2=(J2)=>{J2.preventDefault(),J2.stopPropagation(),p=!0,i=r(J2),a=q2,U(),f.classList.add(`${$}-scrollbar--dragging`),document.addEventListener("mousemove",N2),document.addEventListener("mouseup",l)},N2=(J2)=>{if(!p)return;let K2=r(J2)-i,D2=x>0?K2/x:0,O2=A-z,L2=D2*O2,b2=Math.max(0,Math.min(a+L2,O2));Z.style.transform=`${C}(${b2/O2*x}px)`,Q(b2)},l=()=>{if(p=!1,f.classList.remove(`${$}-scrollbar--dragging`),j&&!t)X();document.removeEventListener("mousemove",N2),document.removeEventListener("mouseup",l)},M2=B?(J2)=>J2.touches[0].clientX:(J2)=>J2.touches[0].clientY,E2=(J2)=>{J2.stopPropagation(),p=!0,i=M2(J2),a=q2,U(),f.classList.add(`${$}-scrollbar--dragging`)},U2=(J2)=>{if(!p)return;J2.preventDefault();let K2=M2(J2)-i,D2=x>0?K2/x:0,O2=A-z,L2=D2*O2,b2=Math.max(0,Math.min(a+L2,O2));Z.style.transform=`${C}(${b2/O2*x}px)`,Q(b2)},V2=()=>{if(p=!1,f.classList.remove(`${$}-scrollbar--dragging`),j)X()},G2=(J2)=>{if(J2.target===Z)return;if(x<=0)return;let K2=J2.touches[0],D2=f.getBoundingClientRect(),O2=(B?K2.clientX:K2.clientY)-D2[c];if(G==="jump"){let L2=A-z,b2=Math.max(0,Math.min(O2-d/2,x));Q(b2/x*L2)}else o=O2,s=q2,$2();T()},A2=()=>{if(y)T()},W2=()=>{if(!p){if(t=!1,j)X()}},X2=()=>{t=!0,U(),T()},_2=()=>{if(t=!1,!p&&j)X()},F2=()=>{if(U(),Q2(),u!==null)cancelAnimationFrame(u),u=null;f.removeEventListener("click",e),f.removeEventListener("mousedown",n),f.removeEventListener("mouseenter",X2),document.removeEventListener("mouseup",S),f.removeEventListener("mouseleave",_2),f.removeEventListener("touchstart",G2),Z.removeEventListener("mousedown",Y2),Z.removeEventListener("touchstart",E2),Z.removeEventListener("touchmove",U2),Z.removeEventListener("touchend",V2),J.removeEventListener("mouseenter",A2),J.removeEventListener("mouseleave",W2),document.removeEventListener("mousemove",N2),document.removeEventListener("mouseup",l),H.removeEventListener("click",e),H.removeEventListener("mousedown",n),H.removeEventListener("mouseenter",X2),H.removeEventListener("mouseleave",_2),H.remove(),b.style.removeProperty("--vlist-custom-scrollbar-padding-top"),b.style.removeProperty("--vlist-custom-scrollbar-padding-right"),b.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),b.style.removeProperty("--vlist-custom-scrollbar-padding-left"),f.remove()};if(I(),f.addEventListener("click",e),f.addEventListener("mousedown",n),f.addEventListener("mouseenter",X2),f.addEventListener("mouseleave",_2),f.addEventListener("touchstart",G2,{passive:!0}),Z.addEventListener("mousedown",Y2),Z.addEventListener("touchstart",E2,{passive:!0}),Z.addEventListener("touchmove",U2,{passive:!1}),Z.addEventListener("touchend",V2,{passive:!0}),J.addEventListener("mouseenter",A2),J.addEventListener("mouseleave",W2),H.addEventListener("click",e),H.addEventListener("mousedown",n),W)H.addEventListener("mouseenter",X2),H.addEventListener("mouseleave",_2);return{show:T,hide:m,updateBounds:w,updatePosition:g,isVisible:()=>j2,destroy:F2}};var hJ=(J=0)=>{let Q=[,,,,,,,,];for(let q=0;q<8;q++)Q[q]={position:0,time:0};return{velocity:0,lastPosition:J,lastTime:performance.now(),samples:Q,sampleIndex:0,sampleCount:0}},h2=(J,Q)=>{let q=performance.now(),$=q-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=q,J.sampleIndex=1,J.sampleCount=1,J.lastPosition=Q,J.lastTime=q,J}let B=J.samples[J.sampleIndex];if(B.position=Q,B.time=q,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,j=J.samples[Y],D=Q-j.position,k=q-j.time;J.velocity=k>0?D/k:0}return J.lastPosition=Q,J.lastTime=q,J},eJ=(J)=>J.sampleCount>=3,xJ=(J,Q={})=>{let{wheel:q=!0,sensitivity:$=1,smoothing:B=!1,idleTimeout:Y=150,onScroll:j,onIdle:D,scrollElement:k,isX:W=!1}=Q,y=!!k,v=0,G=0,b=y?W?window.innerWidth:window.innerHeight:W?J.clientWidth:J.clientHeight,L=Q.compressed??!1,O=Q.compression,_=hJ(),V=!1,E=null,z=x2(()=>{let F=W?J.scrollLeft:J.scrollTop,P=W?F>=v?"right":"left":F>=v?"down":"up";if(_=h2(_,F),v=F,j)j({scrollTop:v,direction:P,velocity:_.velocity});a()}),x=x2(()=>{let F=J.getBoundingClientRect(),P=W?Math.max(0,-F.left):Math.max(0,-F.top),I=W?P>=v?"right":"left":P>=v?"down":"up";if(_=h2(_,P),v=P,!V)V=!0;if(j)j({scrollTop:v,direction:I,velocity:_.velocity});a()}),p=(F)=>{F.preventDefault()},t=(F)=>{if(F.deltaX)return;F.preventDefault(),J.scrollLeft+=F.deltaY},i=(F)=>{if(!L)return;F.preventDefault();let P=(W?F.deltaX||F.deltaY:F.deltaY)*$,I=v+P;if(B)I=v+P*0.3;if(I=Math.max(0,Math.min(I,G)),I!==v){let U=v,X=W?I>=U?"right":"left":I>=U?"down":"up";if(_=h2(_,I),v=I,!V)V=!0;if(j)j({scrollTop:v,direction:X,velocity:_.velocity});a()}},a=()=>{if(E)clearTimeout(E);E=setTimeout(()=>{if(V=!1,_=hJ(v),D)D()},Y)},q2=(F)=>{if(L)return;if(L=!0,O=F,G=F.virtualSize-b,y)return;if(z.cancel(),J.removeEventListener("scroll",z),!q)J.removeEventListener("wheel",p);else if(W)J.removeEventListener("wheel",t);if(W)J.style.overflowX="hidden";else J.style.overflow="hidden";if(q)J.addEventListener("wheel",i,{passive:!1});let P=W?J.scrollLeft:J.scrollTop;if(P>0){let I=W?O?.actualSize??J.scrollWidth:O?.actualSize??J.scrollHeight;v=P/I*G}if(W)J.scrollLeft=0;else J.scrollTop=0},B2=()=>{if(!L)return;if(L=!1,y){O=void 0;return}if(J.removeEventListener("wheel",i),W)J.style.overflowX="auto";else J.style.overflow="auto";if(J.addEventListener("scroll",z,{passive:!0}),!q)J.addEventListener("wheel",p,{passive:!1});else if(W)J.addEventListener("wheel",t,{passive:!1});if(O&&v>0){let P=v/G*(O.actualSize-b);if(W)J.scrollLeft=P;else J.scrollTop=P}O=void 0},j2=()=>{if(y||L)return v;return W?J.scrollLeft:J.scrollTop},u=(F,P=!1)=>{let I=Math.max(0,Math.min(F,G||1/0));if(y){let U=J.getBoundingClientRect();if(W){let X=U.left+window.scrollX;window.scrollTo({left:X+I,behavior:P?"smooth":"auto"})}else{let X=U.top+window.scrollY;window.scrollTo({top:X+I,behavior:P?"smooth":"auto"})}}else if(L){if(I===v)return;let U=v,X=W?I>=U?"right":"left":I>=U?"down":"up";if(_=h2(_,I),v=I,!V)V=!0;if(j)j({scrollTop:v,direction:X,velocity:_.velocity});a()}else if(W)J.scrollTo({left:I,behavior:P?"smooth":"auto"});else J.scrollTo({top:I,behavior:P?"smooth":"auto"})},o=(F)=>{u(j2()+F)},s=()=>{return j2()<=0},R=(F=0)=>{let P=j2(),I=y||L?G:W?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;return P>=I-F},N=()=>{let F=j2(),P=y||L?G:W?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;if(P<=0)return 0;return Math.min(1,Math.max(0,F/P))},K=(F)=>{if(F.compression)O=F.compression,G=O.virtualSize-b},M=()=>L,C=()=>Math.abs(_.velocity),r=()=>eJ(_),c=()=>V,f=()=>y,Z=(F)=>{if(b=F,O)G=O.virtualSize-b},H=()=>{if(E)clearTimeout(E);if(y)x.cancel(),window.removeEventListener("scroll",x);else z.cancel(),J.removeEventListener("scroll",z),J.removeEventListener("wheel",i),J.removeEventListener("wheel",p),J.removeEventListener("wheel",t)};if(y){if(L&&O)G=O.virtualSize-b;window.addEventListener("scroll",x,{passive:!0})}else if(L&&O){if(G=O.virtualSize-b,W)J.style.overflowX="hidden";else J.style.overflow="hidden";if(q)J.addEventListener("wheel",i,{passive:!1})}else{if(W)J.style.overflowX="auto",J.style.overflowY="hidden";else J.style.overflow="auto";if(J.addEventListener("scroll",z,{passive:!0}),!q)J.addEventListener("wheel",p,{passive:!1});else if(W)J.addEventListener("wheel",t,{passive:!1})}return{getScrollTop:j2,scrollTo:u,scrollBy:o,isAtTop:s,isAtBottom:R,getScrollPercentage:N,getVelocity:C,isTracking:r,isScrolling:c,updateConfig:K,enableCompression:q2,disableCompression:B2,isCompressed:M,isWindowMode:f,updateContainerHeight:Z,destroy:H}},x2=(J)=>{let Q=null,q=null,$=(...B)=>{if(q=B,Q===null)Q=requestAnimationFrame(()=>{if(Q=null,q)J(...q)})};return $.cancel=()=>{if(Q!==null)cancelAnimationFrame(Q),Q=null},$};var JQ=50,QQ=0.1;function $Q(J){let Q=0,q=0,$=0;function B(){return $>0?q/$:0}function Y(k){if(Q=k,k>QQ&&k<JQ)q+=k,$++}function j(){let k=J.getTotal();if(k===0)return 0;let W=J.getItemSize();if(W<=0)return 0;let y=J.getContainerSize();if(y<=0)return 0;let v=J.getScrollPosition(),G=typeof J.getColumns==="function"?J.getColumns():1,L=Math.ceil(k/G)*W,_=Math.min(L,H2)-y,V=L-y,E=_>0?V/_:1,A=v*E,z=Math.ceil((A+y)/W);return Math.min(z*G,k)}function D(){let k=J.getTotal(),W=j();return{progress:k>0?Math.min(100,Math.max(0,W/k*100)):0,velocity:Q,velocityAvg:B(),itemCount:W,total:k}}return{getState:D,onVelocity:Y}}export{YJ as toggleSelection,HJ as simpleVisibleRange,m2 as selectItems,jJ as selectAll,vJ as rangesEqual,x2 as rafThrottle,MJ as needsScaling,I2 as mergeRanges,UJ as isSelected,T2 as isPlaceholderItem,wJ as isInRange,w2 as isGroupHeader,KJ as getSelectedItems,NJ as getSelectedIds,v2 as getScaleState,GJ as getScaleInfo,v2 as getScale,CJ as getRangeCount,DJ as getMaxItemsWithoutScaling,a2 as filterPlaceholders,SJ as diffRanges,d2 as deselectItems,EJ as createTableRenderer,XJ as createTableLayout,OJ as createTableHeader,e2 as createStickyHeader,$Q as createStats,f2 as createSparseStorage,k2 as createSizeCache,qJ as createSelectionState,pJ as createScrollbar,xJ as createScrollController,p2 as createPlaceholderManager,LJ as createMeasuredSizeCache,FJ as createMasonryRenderer,AJ as createMasonryLayout,i2 as createGroupedSizeFn,t2 as createGroupLayout,rJ as createGridRenderer,JJ as createGridLayout,fJ as createEmitter,IJ as createAsyncManager,BJ as clearSelection,PJ as clampScrollPosition,TJ as calculateTotalSize,kJ as calculateScrollToIndex,ZJ as calculateScaledVisibleRange,WJ as calculateScaledScrollToIndex,_J as calculateScaledRenderRange,z2 as calculateScaledItemPosition,bJ as calculateRenderRange,l2 as calculateMissingRanges,zJ as calculateItemOffset,VJ as calculateIndexFromScrollPosition,yJ as calculateActualSize,o2 as buildLayoutItems,H2 as MAX_VIRTUAL_SIZE};
|
|
@@ -52,6 +52,11 @@ export interface GridLayout {
|
|
|
52
52
|
* The last row may be partially filled (end is clamped to totalItems - 1).
|
|
53
53
|
*/
|
|
54
54
|
getItemRange: (rowStart: number, rowEnd: number, totalItems: number) => ItemRange;
|
|
55
|
+
/**
|
|
56
|
+
* Mutating variant of getItemRange — writes into `out` to avoid
|
|
57
|
+
* per-frame allocation on the render hot path.
|
|
58
|
+
*/
|
|
59
|
+
fillItemRange: (rowStart: number, rowEnd: number, totalItems: number, out: ItemRange) => void;
|
|
55
60
|
/**
|
|
56
61
|
* Get the flat item index from a row and column.
|
|
57
62
|
* Returns -1 if out of bounds.
|
|
@@ -22,5 +22,5 @@ import type { SizeCache } from "../../rendering/sizes";
|
|
|
22
22
|
* so the DOM structure is stable and doesn't cause a visual shift.
|
|
23
23
|
*/
|
|
24
24
|
export declare const createStickyContainer: (root: HTMLElement, classPrefix: string, horizontal: boolean, headerHeight: number, stickyOffset?: number) => HTMLElement;
|
|
25
|
-
export declare const createStickyHeader: (root: HTMLElement, layout: GroupLayout, sizeCache: SizeCache, renderInto: (slot: HTMLElement, groupIndex: number) => void, classPrefix: string, horizontal?: boolean, stickyOffset?: number, getCompressionRatio?: () => number, existingContainer?: HTMLElement) => StickyHeader;
|
|
25
|
+
export declare const createStickyHeader: (root: HTMLElement, layout: GroupLayout, sizeCache: SizeCache, renderInto: (slot: HTMLElement, groupIndex: number) => void, classPrefix: string, horizontal?: boolean, stickyOffset?: number, getCompressionRatio?: () => number, existingContainer?: HTMLElement, getHeaderOffset?: (headerLayoutIndex: number) => number) => StickyHeader;
|
|
26
26
|
//# sourceMappingURL=sticky.d.ts.map
|
package/dist/size.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"base":{"minified":"22.1","gzipped":"8.1","minBytes":
|
|
1
|
+
{"base":{"minified":"22.1","gzipped":"8.1","minBytes":22644,"gzBytes":8318},"a11y":{"minified":"25.2","gzipped":"9.2","minBytes":25767,"gzBytes":9446},"selection":{"minified":"30.7","gzipped":"10.6","minBytes":31444,"gzBytes":10873},"data":{"minified":"35.1","gzipped":"12.8","minBytes":35907,"gzBytes":13089},"scrollbar":{"minified":"29.2","gzipped":"10.1","minBytes":29951,"gzBytes":10387},"sortable":{"minified":"31.5","gzipped":"11.0","minBytes":32251,"gzBytes":11279},"groups":{"minified":"37.6","gzipped":"13.3","minBytes":38500,"gzBytes":13628},"scale":{"minified":"35.4","gzipped":"12.0","minBytes":36268,"gzBytes":12335},"page":{"minified":"24.5","gzipped":"8.9","minBytes":25130,"gzBytes":9104},"snapshots":{"minified":"25.6","gzipped":"9.4","minBytes":26260,"gzBytes":9576},"transition":{"minified":"28.9","gzipped":"10.0","minBytes":29573,"gzBytes":10192},"autosize":{"minified":"24.5","gzipped":"9.0","minBytes":25127,"gzBytes":9196},"grid":{"minified":"30.4","gzipped":"11.0","minBytes":31143,"gzBytes":11268},"table":{"minified":"41.2","gzipped":"14.2","minBytes":42162,"gzBytes":14541},"masonry":{"minified":"32.3","gzipped":"11.8","minBytes":33084,"gzBytes":12096},"tree":{"minified":"38.0","gzipped":"13.5","minBytes":38946,"gzBytes":13827}}
|
package/dist/vlist-grid.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.vlist--grid .vlist-content{contain:layout style}.vlist-grid-item{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--vlist-item-padding-y) var(--vlist-item-padding-x);background-color:var(--vlist-bg);cursor:default;user-select:none;transition:background-color var(--vlist-transition-duration) var(--vlist-transition-timing);contain:content;box-sizing:border-box;overflow:hidden}.vlist--grid .vlist-item{right:auto;border-bottom:none}.vlist--scrolling .vlist-grid-item{transition:none}.vlist--selectable .vlist-grid-item{cursor:pointer}.vlist--selectable .vlist-grid-item:hover{background-color:var(--vlist-bg-hover)}.vlist-grid-item.vlist-item--odd{background:var(--vlist-bg-striped)}.vlist-grid-item.vlist-item--selected{background-color:var(--vlist-bg-selected)}.vlist-grid-item.vlist-item--odd.vlist-item--selected{background:var(--vlist-bg-selected)}.vlist--selectable .vlist-grid-item.vlist-item--selected:hover{background-color:var(--vlist-bg-selected-hover)}.vlist--selectable .vlist-grid-item.vlist-item--odd.vlist-item--selected:hover{background:var(--vlist-bg-selected-hover)}.vlist-grid-item.vlist-item--focused{outline:2px solid var(--vlist-focus-ring,#3b82f6);outline-offset:-2px;z-index:1}
|
|
1
|
+
.vlist--grid .vlist-content{contain:layout style}.vlist-grid-item{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--vlist-item-padding-y) var(--vlist-item-padding-x);background-color:var(--vlist-bg);cursor:default;user-select:none;transition:background-color var(--vlist-transition-duration) var(--vlist-transition-timing);contain:content;box-sizing:border-box;overflow:hidden}.vlist--grid .vlist-item{right:auto;border-bottom:none}.vlist--scrolling .vlist-grid-item{transition:none}.vlist--selectable .vlist-grid-item{cursor:pointer}.vlist--selectable .vlist-grid-item:hover{background-color:var(--vlist-bg-hover)}.vlist-grid-item.vlist-item--odd{background:var(--vlist-bg-striped)}.vlist-grid-item.vlist-item--selected{background-color:var(--vlist-bg-selected)}.vlist-grid-item.vlist-item--odd.vlist-item--selected{background:var(--vlist-bg-selected)}.vlist--selectable .vlist-grid-item.vlist-item--selected:hover{background-color:var(--vlist-bg-selected-hover)}.vlist--selectable .vlist-grid-item.vlist-item--odd.vlist-item--selected:hover{background:var(--vlist-bg-selected-hover)}.vlist-grid-item.vlist-item--focused{outline:2px solid var(--vlist-focus-ring,#3b82f6);outline-offset:-2px;z-index:1}.vlist--grid.vlist--horizontal .vlist-group-header,.vlist--grid.vlist--horizontal .vlist-sticky-header .sticky-group{writing-mode:vertical-rl}.vlist--grid.vlist--horizontal .vlist-group-header{justify-content:flex-start}.vlist--grid.vlist--horizontal .vlist-sticky-header{border-bottom:none;border-right:none}
|
package/dist/vlist-masonry.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.vlist--masonry .vlist-content{contain:layout style}.vlist-masonry-item{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--vlist-item-padding-y) var(--vlist-item-padding-x);background-color:var(--vlist-bg);cursor:default;user-select:none;transition:background-color var(--vlist-transition-duration) var(--vlist-transition-timing);contain:content;box-sizing:border-box;overflow:hidden}.vlist--masonry .vlist-item{right:auto;border-bottom:none}.vlist--scrolling .vlist-masonry-item{transition:none}.vlist--selectable .vlist-masonry-item{cursor:pointer}.vlist--selectable .vlist-masonry-item:hover{background-color:var(--vlist-bg-hover)}.vlist-masonry-item.vlist-item--odd{background:var(--vlist-bg-striped)}.vlist-masonry-item.vlist-item--selected{background-color:var(--vlist-bg-selected)}.vlist-masonry-item.vlist-item--odd.vlist-item--selected{background:var(--vlist-bg-selected)}.vlist--selectable .vlist-masonry-item.vlist-item--selected:hover{background-color:var(--vlist-bg-selected-hover)}.vlist--selectable .vlist-masonry-item.vlist-item--odd.vlist-item--selected:hover{background:var(--vlist-bg-selected-hover)}.vlist-masonry-item.vlist-item--focused{outline:2px solid var(--vlist-focus-ring,#3b82f6);outline-offset:-2px;z-index:1}
|
|
1
|
+
.vlist--masonry .vlist-content{contain:layout style}.vlist-masonry-item{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;padding:var(--vlist-item-padding-y) var(--vlist-item-padding-x);background-color:var(--vlist-bg);cursor:default;user-select:none;transition:background-color var(--vlist-transition-duration) var(--vlist-transition-timing);contain:content;box-sizing:border-box;overflow:hidden}.vlist--masonry .vlist-item{right:auto;border-bottom:none}.vlist--scrolling .vlist-masonry-item{transition:none}.vlist--selectable .vlist-masonry-item{cursor:pointer}.vlist--selectable .vlist-masonry-item:hover{background-color:var(--vlist-bg-hover)}.vlist-masonry-item.vlist-item--odd{background:var(--vlist-bg-striped)}.vlist-masonry-item.vlist-item--selected{background-color:var(--vlist-bg-selected)}.vlist-masonry-item.vlist-item--odd.vlist-item--selected{background:var(--vlist-bg-selected)}.vlist--selectable .vlist-masonry-item.vlist-item--selected:hover{background-color:var(--vlist-bg-selected-hover)}.vlist--selectable .vlist-masonry-item.vlist-item--odd.vlist-item--selected:hover{background:var(--vlist-bg-selected-hover)}.vlist-masonry-item.vlist-item--focused{outline:2px solid var(--vlist-focus-ring,#3b82f6);outline-offset:-2px;z-index:1}.vlist--masonry.vlist--horizontal .vlist-group-header,.vlist--masonry.vlist--horizontal .vlist-sticky-header .sticky-group{writing-mode:vertical-rl}.vlist--masonry.vlist--horizontal .vlist-group-header{justify-content:flex-start}.vlist--masonry.vlist--horizontal .vlist-sticky-header{border-bottom:none;border-right:1px solid var(--vlist-border)}
|
package/dist/vlist-table.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.vlist--table{display:flex;flex-direction:column;overflow:hidden;min-height:inherit}.vlist--table .vlist-viewport{flex:1;min-height:0;height:auto;overflow:auto}.vlist--table .vlist-table-header{position:static}.vlist--table .vlist-scrollbar__hover{top:var(--vlist-table-header-height,0px);height:calc(100% - var(--vlist-table-header-height,0px))}.vlist--table .vlist-viewport--custom-scrollbar::-webkit-scrollbar{display:block;width:0}.vlist--table .vlist-content{contain:layout style}.vlist-table-header{position:absolute;top:0;left:0;right:0;z-index:5;overflow:hidden;display:flex;align-items:stretch;box-sizing:border-box;will-change:scroll-position;contain:layout style;background-color:var(--vlist-bg,#ffffff);border-bottom:1px solid var(--vlist-border,#e5e7eb);font-weight:600;font-size:0.8125rem;letter-spacing:0.01em;color:var(--vlist-text-muted,#6b7280)}.vlist-table-header-scroll{position:relative;display:flex;align-items:stretch;height:100%;min-width:100%;flex-shrink:0}.vlist-table-header-cell{position:relative;display:flex;align-items:center;height:100%;box-sizing:border-box;flex-shrink:0;user-select:none;padding-left:var(--vlist-item-padding-x,0.75rem);padding-right:var(--vlist-item-padding-x,0.75rem);border-right:1px solid transparent;transition:background-color 0.15s ease}.vlist-table-header-cell:hover{background-color:var(--vlist-bg-hover,rgba(0,0,0,0.04))}.vlist-table-header-cell--sortable{cursor:pointer}.vlist-table-header-cell--sortable:active{background-color:var(--vlist-bg-selected,rgba(59,130,246,0.12))}.vlist-table-header-cell--center{justify-content:center}.vlist-table-header-cell--right{justify-content:flex-end}.vlist-table-header-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;pointer-events:none}.vlist-table-header-sort{margin-left:4px;flex-shrink:0;opacity:0;font-size:0.7em;transition:opacity 0.15s ease;pointer-events:none;color:var(--vlist-text-muted,#6b7280)}.vlist-table-header-resize{position:absolute;top:0;right:-3px;bottom:0;width:5px;cursor:col-resize;z-index:2;touch-action:none;opacity:0;transition:opacity 0.15s ease}.vlist-table-header-resize::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translateX(-50%);background-color:var(--vlist-border,#e5e7eb);transition:background-color 0.15s ease}.vlist-table-header-resize:hover::after{background-color:var(--vlist-focus-ring,#3b82f6)}.vlist-table-header-cell:hover .vlist-table-header-resize{opacity:1}.vlist-table-header-resize--active{opacity:1}.vlist-table-header-resize--active::after{background-color:var(--vlist-border-selected,#3b82f6)}.vlist--col-resizing,.vlist--col-resizing *{cursor:col-resize !important;user-select:none !important}.vlist-table-row{position:absolute;top:0;left:0;display:flex;box-sizing:border-box;contain:content;border-bottom:none;background-color:var(--vlist-bg,#ffffff);cursor:default;user-select:none;transition:background-color var(--vlist-transition-duration,150ms) var(--vlist-transition-timing,ease-in-out);will-change:transform}.vlist--scrolling .vlist-table-row{transition:none}.vlist-table-row.vlist-item--odd{background:var( --vlist-bg-striped,var(--vlist-bg-hover,rgba(0,0,0,0.02)) )}.vlist--selectable .vlist-table-row{cursor:pointer}.vlist--selectable .vlist-table-row:hover{background-color:var(--vlist-bg-hover,rgba(0,0,0,0.04))}.vlist-table-row.vlist-item--selected{background-color:var(--vlist-bg-selected,rgba(59,130,246,0.12))}.vlist-table-row.vlist-item--odd.vlist-item--selected{background:var(--vlist-bg-selected,rgba(59,130,246,0.12))}.vlist--selectable .vlist-table-row.vlist-item--selected:hover{background-color:var(--vlist-bg-selected-hover,rgba(59,130,246,0.18))}.vlist--selectable .vlist-table-row.vlist-item--odd.vlist-item--selected:hover{background:var(--vlist-bg-selected-hover,rgba(59,130,246,0.18))}.vlist-table-row.vlist-item--focused{outline:2px solid var(--vlist-focus-ring,#3b82f6);outline-offset:-2px;z-index:1}.vlist-table-cell{position:absolute;top:0;bottom:0;display:flex;align-items:center;box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding-left:var(--vlist-item-padding-x,0.75rem);padding-right:var(--vlist-item-padding-x,0.75rem);font-size:0.875rem;color:var(--vlist-text,#111827)}.vlist-table-cell--center{text-align:center;justify-content:center}.vlist-table-cell--right{text-align:right;justify-content:flex-end}.vlist--table-row-borders .vlist-table-row{border-bottom:1px solid var(--vlist-border,#e5e7eb)}.vlist--table-col-borders .vlist-table-cell{border-right:1px solid var(--vlist-border,#e5e7eb)}.vlist--table-col-borders .vlist-table-header-cell{border-right-color:var(--vlist-border,#e5e7eb)}.vlist-table-group-header{display:flex;align-items:center;background-color:var(--vlist-group-header-bg,#f3f4f6);cursor:default}.vlist-table-group-header-content{flex
|
|
1
|
+
.vlist--table{display:flex;flex-direction:column;overflow:hidden;min-height:inherit}.vlist--table .vlist-viewport{flex:1;min-height:0;height:auto;overflow:auto}.vlist--table .vlist-table-header{position:static}.vlist--table .vlist-scrollbar__hover{top:var(--vlist-table-header-height,0px);height:calc(100% - var(--vlist-table-header-height,0px))}.vlist--table .vlist-viewport--custom-scrollbar::-webkit-scrollbar{display:block;width:0}.vlist--table .vlist-content{contain:layout style}.vlist-table-header{position:absolute;top:0;left:0;right:0;z-index:5;overflow:hidden;display:flex;align-items:stretch;box-sizing:border-box;will-change:scroll-position;contain:layout style;background-color:var(--vlist-bg,#ffffff);border-bottom:1px solid var(--vlist-border,#e5e7eb);font-weight:600;font-size:0.8125rem;letter-spacing:0.01em;color:var(--vlist-text-muted,#6b7280)}.vlist-table-header-scroll{position:relative;display:flex;align-items:stretch;height:100%;min-width:100%;flex-shrink:0}.vlist-table-header-cell{position:relative;display:flex;align-items:center;height:100%;box-sizing:border-box;flex-shrink:0;user-select:none;padding-left:var(--vlist-item-padding-x,0.75rem);padding-right:var(--vlist-item-padding-x,0.75rem);border-right:1px solid transparent;transition:background-color 0.15s ease}.vlist-table-header-cell:hover{background-color:var(--vlist-bg-hover,rgba(0,0,0,0.04))}.vlist-table-header-cell--sortable{cursor:pointer}.vlist-table-header-cell--sortable:active{background-color:var(--vlist-bg-selected,rgba(59,130,246,0.12))}.vlist-table-header-cell--center{justify-content:center}.vlist-table-header-cell--right{justify-content:flex-end}.vlist-table-header-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;pointer-events:none}.vlist-table-header-sort{margin-left:4px;flex-shrink:0;opacity:0;font-size:0.7em;transition:opacity 0.15s ease;pointer-events:none;color:var(--vlist-text-muted,#6b7280)}.vlist-table-header-resize{position:absolute;top:0;right:-3px;bottom:0;width:5px;cursor:col-resize;z-index:2;touch-action:none;opacity:0;transition:opacity 0.15s ease}.vlist-table-header-resize::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translateX(-50%);background-color:var(--vlist-border,#e5e7eb);transition:background-color 0.15s ease}.vlist-table-header-resize:hover::after{background-color:var(--vlist-focus-ring,#3b82f6)}.vlist-table-header-cell:hover .vlist-table-header-resize{opacity:1}.vlist-table-header-resize--active{opacity:1}.vlist-table-header-resize--active::after{background-color:var(--vlist-border-selected,#3b82f6)}.vlist--col-resizing,.vlist--col-resizing *{cursor:col-resize !important;user-select:none !important}.vlist-table-row{position:absolute;top:0;left:0;display:flex;box-sizing:border-box;contain:content;border-bottom:none;background-color:var(--vlist-bg,#ffffff);cursor:default;user-select:none;transition:background-color var(--vlist-transition-duration,150ms) var(--vlist-transition-timing,ease-in-out);will-change:transform}.vlist--scrolling .vlist-table-row{transition:none}.vlist-table-row.vlist-item--odd{background:var( --vlist-bg-striped,var(--vlist-bg-hover,rgba(0,0,0,0.02)) )}.vlist--selectable .vlist-table-row{cursor:pointer}.vlist--selectable .vlist-table-row:hover{background-color:var(--vlist-bg-hover,rgba(0,0,0,0.04))}.vlist-table-row.vlist-item--selected{background-color:var(--vlist-bg-selected,rgba(59,130,246,0.12))}.vlist-table-row.vlist-item--odd.vlist-item--selected{background:var(--vlist-bg-selected,rgba(59,130,246,0.12))}.vlist--selectable .vlist-table-row.vlist-item--selected:hover{background-color:var(--vlist-bg-selected-hover,rgba(59,130,246,0.18))}.vlist--selectable .vlist-table-row.vlist-item--odd.vlist-item--selected:hover{background:var(--vlist-bg-selected-hover,rgba(59,130,246,0.18))}.vlist-table-row.vlist-item--focused{outline:2px solid var(--vlist-focus-ring,#3b82f6);outline-offset:-2px;z-index:1}.vlist-table-cell{position:absolute;top:0;bottom:0;display:flex;align-items:center;box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding-left:var(--vlist-item-padding-x,0.75rem);padding-right:var(--vlist-item-padding-x,0.75rem);font-size:0.875rem;color:var(--vlist-text,#111827)}.vlist-table-cell--center{text-align:center;justify-content:center}.vlist-table-cell--right{text-align:right;justify-content:flex-end}.vlist--table-row-borders .vlist-table-row{border-bottom:1px solid var(--vlist-border,#e5e7eb)}.vlist--table-col-borders .vlist-table-cell{border-right:1px solid var(--vlist-border,#e5e7eb)}.vlist--table-col-borders .vlist-table-header-cell{border-right-color:var(--vlist-border,#e5e7eb)}.vlist-table-group-header{display:flex;align-items:center;background-color:var(--vlist-group-header-bg,#f3f4f6);cursor:default}.vlist-table-group-header-content{display:flex;align-items:center;gap:12px;padding:0 16px;height:100%;background:var(--vlist-group-header-bg,#f3f4f6)}.vlist--table-row-borders .vlist-table-group-header{border-bottom:1px solid var(--vlist-border)}.vlist--table.vlist--grouped .vlist-sticky-header{order:1;z-index:4;border-bottom:none}.vlist--table.vlist--grouped .vlist-sticky-header .sticky-group{display:flex;font-size:0.8125rem;padding:0 16px;align-items:center;gap:12px;height:100%;color:var(--vlist-text-muted,#9ca3af)}.vlist--table.vlist--grouped .vlist-viewport{order:2}[data-theme-mode="dark"] .vlist-table-header,.dark .vlist-table-header{background-color:var(--vlist-bg,#111827);color:var(--vlist-text-muted,#9ca3af);border-bottom-color:var(--vlist-border,#374151)}[data-theme-mode="dark"] .vlist-table-header-cell:hover,.dark .vlist-table-header-cell:hover{background-color:var(--vlist-bg-hover,rgba(255,255,255,0.06))}[data-theme-mode="dark"] .vlist-table-header-resize::after,.dark .vlist-table-header-resize::after{background-color:var(--vlist-border,#374151)}[data-theme-mode="dark"] .vlist-table-header-resize:hover::after,.dark .vlist-table-header-resize:hover::after{background-color:var(--vlist-focus-ring,#3b82f6)}[data-theme-mode="dark"] .vlist-table-group-header,.dark .vlist-table-group-header{background-color:var(--vlist-group-header-bg,#1f2937)}[data-theme-mode="dark"] .vlist-table-group-header-content,.dark .vlist-table-group-header-content{color:var(--vlist-text-muted,#9ca3af)}@media (prefers-color-scheme:dark){:root:not([data-theme-mode="light"]):not([data-theme-mode="dark"]) .vlist-table-header{background-color:var(--vlist-bg,#111827);color:var(--vlist-text-muted,#9ca3af);border-bottom-color:var(--vlist-border,#374151)}:root:not([data-theme-mode="light"]):not([data-theme-mode="dark"]) .vlist-table-header-cell:hover{background-color:var(--vlist-bg-hover,rgba(255,255,255,0.06))}:root:not([data-theme-mode="light"]):not([data-theme-mode="dark"]) .vlist-table-header-resize::after{background-color:var(--vlist-border,#374151)}:root:not([data-theme-mode="light"]):not([data-theme-mode="dark"]) .vlist-table-header-resize:hover::after{background-color:var(--vlist-focus-ring,#3b82f6)}:root:not([data-theme-mode="light"]):not([data-theme-mode="dark"]) .vlist-table-group-header{background-color:var(--vlist-group-header-bg,#1f2937)}:root:not([data-theme-mode="light"]):not([data-theme-mode="dark"]) .vlist-table-group-header-content{color:var(--vlist-text-muted,#9ca3af)}}.vlist-table-row.vlist-item--placeholder .vlist-table-cell{color:transparent}.vlist-table-row.vlist-item--placeholder .vlist-table-cell>*{color:transparent;background-color:var(--vlist-border,#e5e7eb);border-radius:4px;animation:vlist-placeholder-pulse 2s ease-in-out infinite;line-height:1;min-width:1em}.vlist-table-row.vlist-item--placeholder .vlist-table-cell>*>*{visibility:hidden}.vlist-table-row.vlist-item--placeholder .vlist-table-cell>*[style]{background:var(--vlist-border,#e5e7eb) !important;color:transparent !important}[data-theme-mode="dark"] .vlist--table-row-borders .vlist-table-group-header,.dark .vlist--table-row-borders .vlist-table-group-header{border-top-color:var(--vlist-border,#374151)}@media (prefers-color-scheme:dark){:root:not([data-theme-mode="light"]):not([data-theme-mode="dark"]) .vlist--table-row-borders .vlist-table-group-header{border-top-color:var(--vlist-border,#374151)}}
|
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);--vlist-placeholder-bg-strong:rgba(0,0,0,0.24)}[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);--vlist-placeholder-bg-strong:rgba(255,255,255,0.35)}@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);--vlist-placeholder-bg-strong:rgba(255,255,255,0.35)}}.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-placeholder-bg-strong:rgba(255,255,255,0.35)}.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,.vlist-content:focus,.vlist-content: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%;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--placeholder *:not(:has(*)){color:transparent;background-color:var(--vlist-placeholder-bg);border-radius:4px;width:fit-content;line-height:1.2;transform:scaleY(0.8)}.vlist-item--placeholder:is(strong,b,h1,h2,h3,h4):not(:has(*)){background-color:var(--vlist-placeholder-bg-strong)}.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-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
|
|
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);--vlist-placeholder-bg-strong:rgba(0,0,0,0.24)}[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);--vlist-placeholder-bg-strong:rgba(255,255,255,0.35)}@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);--vlist-placeholder-bg-strong:rgba(255,255,255,0.35)}}.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-placeholder-bg-strong:rgba(255,255,255,0.35)}.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,.vlist-content:focus,.vlist-content: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%;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--placeholder *:not(:has(*)){color:transparent;background-color:var(--vlist-placeholder-bg);border-radius:4px;width:fit-content;line-height:1.2;transform:scaleY(0.8)}.vlist-item--placeholder:is(strong,b,h1,h2,h3,h4):not(:has(*)){background-color:var(--vlist-placeholder-bg-strong)}.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-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}.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--sorting *{cursor:inherit !important}.vlist-item--kb-sorting{outline:2px solid var(--vlist-focus-ring,#3b82f6);outline-offset:-2px;background-color:var(--vlist-bg-selected);z-index:1}
|