vlist 3.0.0-next.3 → 3.0.0-next.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/internals.js CHANGED
@@ -1 +1 @@
1
- function et(t){let e=t.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let o=0;o<e.length;o++)e[o].setAttribute("tabindex","-1")}var Re={key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0},We=(t,e)=>{let o=0,r=t.length-1;while(o<r){let s=o+r+1>>>1;if(t[s].headerLayoutIndex<=e)o=s;else r=s-1}return o},tt=(t,e)=>{let o=0,r=t.length-1;while(o<r){let s=o+r+1>>>1;if(t[s].firstDataIndex<=e)o=s;else r=s-1}return o},nt=(t,e,o)=>{if(t===0)return[];let r=[],s=null,a=0,i=0;for(let d=0;d<t;d++){let T=o?.(d);if(!T)continue;let C=e(d,T);if(s===null)s=C,a=0;else if(C!==s){let x=d-a;r.push({key:s,groupIndex:r.length,headerLayoutIndex:i,firstDataIndex:a,count:x}),i=i+1+x,s=C,a=d}}if(s!==null)r.push({key:s,groupIndex:r.length,headerLayoutIndex:i,firstDataIndex:a,count:t-a});return r},rt=(t,e)=>{if(t.length===0||e.length===0)return[];let o=t.length+e.length,r=Array(o),s=0;for(let a of e){r[s]={id:`__group_header_${a.groupIndex}`,__groupHeader:!0,groupKey:a.key,groupIndex:a.groupIndex},s++;for(let i=0;i<a.count;i++)r[s]=t[a.firstDataIndex+i],s++}return r},ot=(t,e,o=!1)=>{let r=typeof e==="number"?(s)=>e:e;return(s)=>{let a=t.getEntry(s);if(a.type==="header"){if(o&&a.group.groupIndex===0)return 0;return t.getHeaderHeight(a.group.groupIndex)}return r(a.dataIndex)}},st=(t,e,o)=>{let r=nt(t,e.getGroupForIndex,o),s=t+r.length,a=e.header?.height??e.header?.width??e.headerHeight,i=typeof a==="number"?(p)=>a:(p)=>{let g=r[p];if(!g)return 0;return a(g.key,p)},d={type:"header",group:Re},T={type:"item",dataIndex:0,group:Re};return{get totalEntries(){return s},get groupCount(){return r.length},get groups(){return r},getEntry:(p)=>{if(r.length===0)return T.dataIndex=p,T.group=Re,T;let g=We(r,p),l=r[g];if(p===l.headerLayoutIndex)return d.group=l,d;let b=p-l.headerLayoutIndex-1;return T.dataIndex=l.firstDataIndex+b,T.group=l,T},layoutToDataIndex:(p)=>{if(r.length===0)return p;let g=We(r,p),l=r[g];if(p===l.headerLayoutIndex)return-1;let b=p-l.headerLayoutIndex-1;return l.firstDataIndex+b},dataToLayoutIndex:(p)=>{if(r.length===0)return p;let g=tt(r,p),l=r[g],b=p-l.firstDataIndex;return l.headerLayoutIndex+1+b},getGroupAtLayoutIndex:(p)=>{if(r.length===0)return Re;let g=We(r,p);return r[g]},getGroupAtDataIndex:(p)=>{if(r.length===0)return Re;let g=tt(r,p);return r[g]},getHeaderHeight:i,rebuild:(p,g)=>{r=nt(p,e.getGroupForIndex,g??o),s=p+r.length}}};var Ht=(t,e,o,r,s=0)=>{let a=o?"width":"height",i=document.createElement("div");return i.className=`${e}-sticky-header`,i.setAttribute("role","presentation"),i.setAttribute("aria-hidden","true"),i.style.cssText="z-index:5;pointer-events:none;overflow:hidden;"+(o?`position:absolute;top:0;bottom:0;left:${s||0}px`:`position:relative;top:${s||0}px`),i.style[a]=`${r}px`,t.insertBefore(i,t.firstChild),i},at=(t,e,o,r,s,a=!1,i=0,d,T)=>{let C=a?"width":"height",x=a?"height":"width",F=a?"X":"Y",j=(y,S)=>{y.style[C]=`${S}px`},h=d??Ht(t,s,a,0,i),B=()=>{let y=document.createElement("div");return y.className="sticky-group",y.style.position="absolute",y.style.willChange="transform",y.style[x]="100%",y},p=B(),g=B();h.append(p,g);let l=p,b=g,f=e.groups,E=[],z=[],_=[],R=0,O=()=>{f=e.groups,R=f.length,E=Array(R),z=Array(R),_=Array(R);for(let y=0;y<R;y++)E[y]=T?T(f[y].headerLayoutIndex):o.getOffset(f[y].headerLayoutIndex),z[y]=e.getHeaderHeight(y),_[y]=z[y]};O();let P=-1,U=0,K=0,re=-1,ie=!1,Se=0,me=!1,pe=(y,S)=>{r(y,S);let k=z[S];return j(y,k),k},m=(y)=>{y.replaceChildren(),y.style.transform=""},n=(y)=>{if(y===P)return;if(P=y,U=0,K=0,y<0||y>=R){m(l);return}U=pe(l,y),K=_[y],j(h,U),l.style.transform=""},u=(y)=>{if(y===Se)return;Se=y;let S=Math.round(y);l.style.transform=`translate${F}(${S}px)`,b.style.transform=`translate${F}(${S+U}px)`},c=()=>{Se=0,l.style.transform="",b.style.transform=""},H=()=>{if(!me)return;let y=l;l=b,b=y,P=re,U=P>=0?z[P]:0,K=P>=0?_[P]:0,j(h,U),m(b),re=-1,me=!1,c()},I=()=>{if(!me)return;m(b),re=-1,me=!1,c()},V=!!d,w=()=>{if(ie)return;if(ie=!0,V)h.style.visibility="";else h.style.display=""},D=()=>{if(!ie)return;if(ie=!1,V)h.style.visibility="hidden";else h.style.display="none";m(l),P=-1,U=0,K=0,I()},J=(y)=>{if(R===0){if(me)I();if(!ie)w();n(-1);return}if(y<E[0]){D();return}let S=0,k=R-1;while(S<k){let N=S+k+1>>>1;if(E[N]+_[N]<=y)S=N;else k=N-1}if(!ie)w();n(S);let q=S+1;if(q<R){let N=E[q]-y;if(N<=0&&N>-K){if(re!==q||!me)re=q,pe(b,q),me=!0;let W=K>0?N/K*U:N;u(W)}else if(N<=-K){if(me)H()}else if(me)I()}else if(me)I()},ee=()=>{O();let y=P;if(P=-1,U=0,K=0,y>=0)n(y)},Y=()=>{h.remove(),P=-1,U=0,K=0,re=-1,ie=!1,me=!1};if(!d)h.style.display="none";return{update:J,refresh:ee,show:w,hide:D,destroy:Y}};var it=(t)=>t!==null&&typeof t==="object"&&t.__groupHeader===!0;var lt=(t)=>{let e=Math.max(1,Math.floor(t.columns)),o=t.gap??0,r=t.isHeaderFn,s={row:0,col:0},a=(p)=>{if(p<=0)return 0;if(!r)return Math.ceil(p/e);let g=0,l=0,b=0;for(let f=0;f<p;f++)if(r(f)){if(b++,l)g++,l=0;g++,l=0}else if(l++,l>=e)g++,l=0;if(l)g++;return g},i=(p)=>(s.row=d(p),s.col=T(p),s),d=(p)=>{if(!r)return Math.floor(p/e);let g=0,l=0;for(let b=0;b<=p;b++)if(r(b)){if(l)g++,l=0;if(b===p)return g;g++,l=0}else{if(b===p)return g;if(l++,l>=e)g++,l=0}return g},T=(p)=>{if(!r)return p%e;if(r(p))return 0;let g=0;for(let l=0;l<=p;l++)if(r(l))g=0;else{if(l===p)return g;if(g++,g>=e)g=0}return g},C=(p,g,l,b)=>{if(l<=0){b.start=0,b.end=-1;return}if(!r){b.start=Math.max(0,p*e),b.end=Math.min(l-1,(g+1)*e-1);return}let f=x(p,g,l);b.start=f.start,b.end=f.end},x=(p,g,l)=>{if(l<=0)return{start:0,end:-1};if(!r){let _=Math.max(0,p*e),R=Math.min(l-1,(g+1)*e-1);return{start:_,end:R}}let b=-1,f=-1,E=0,z=0;for(let _=0;_<l;_++){if(r(_)){if(z)E++,z=0;if(E>=p&&E<=g){if(b<0)b=_;f=_}E++,z=0}else{if(E>=p&&E<=g){if(b<0)b=_;f=_}if(z++,z>=e)E++,z=0}if(E>g&&!z)break}if(b<0)return{start:0,end:-1};return{start:b,end:f}},F=(p,g,l)=>{if(g<0||g>=e)return-1;let b=p*e+g;if(b<0||b>=l)return-1;return b},j=(p)=>{let g=(e-1)*o;return Math.max(0,(p-g)/e)};return{get columns(){return e},get gap(){return o},update:(p)=>{if(p.columns!==void 0)e=Math.max(1,Math.floor(p.columns));if(p.gap!==void 0)o=p.gap;if(p.isHeaderFn!==void 0)r=p.isHeaderFn},getTotalRows:a,getPosition:i,getRow:d,getCol:T,getItemRange:x,fillItemRange:C,getItemIndex:F,getColumnWidth:j,getColumnOffset:(p,g)=>{let l=j(g);return p*(l+o)}}};var ut=(t,e=50,o=1/0,r=!0,s="none")=>{let a=t,i=[],d=0,T=0,C=()=>{i=a.map((f,E)=>({def:f,index:E,width:0,minWidth:Rt(f.minWidth??e,1),maxWidth:f.maxWidth??o,resizable:f.resizable??r,offset:0}))},x=()=>{if(s==="none"||d<=0||d>=T)return;if(s==="spacer"){d=T;return}let f=T-d,E=d;for(let z=0;z<i.length;z++){let _=i[z];_.width=Oe(_.width+f*(_.width/E),_.minWidth,_.maxWidth)}j()},F=(f)=>{if(T=f,i.length===0){d=0;return}let E=0,z=0;for(let _=0;_<i.length;_++){let R=i[_],O=R.def;if(O.width!==void 0)R.width=Oe(O.width,R.minWidth,R.maxWidth),E+=R.width;else z++}if(z){let R=Math.max(0,f-E)/z;for(let O=0;O<i.length;O++){let P=i[O];if(P.def.width===void 0)P.width=Oe(R,P.minWidth,P.maxWidth)}}j(),x()},j=()=>{let f=0;for(let E=0;E<i.length;E++){let z=i[E];z.offset=f,f+=z.width}d=f},h=(f,E)=>{if(f<0||f>=i.length)return 0;let z=i[f];if(!z.resizable)return z.width;let _=Oe(E,z.minWidth,z.maxWidth);if(z.width=_,j(),s==="spacer")x();return _},B=(f)=>i[f],p=(f)=>{if(i.length===0)return;if(f<0)return i[0];if(f>=d)return i[i.length-1];let E=0,z=i.length-1;while(E<z){let _=E+z>>>1,R=i[_];if(f<R.offset)z=_-1;else if(f>=R.offset+R.width)E=_+1;else return R}return i[E]},g=(f)=>{if(f<0||f>=i.length)return 0;return i[f].offset},l=(f)=>{if(f<0||f>=i.length)return 0;return i[f].width},b=(f)=>{a=f,C()};return C(),{get columns(){return i},get totalWidth(){return d},resolve:F,updateColumns:b,resizeColumn:h,getColumn:B,getColumnAtX:p,getColumnOffset:g,getColumnWidth:l}},Oe=(t,e,o)=>Math.min(o,Math.max(e,t)),Rt=(t,e)=>Math.max(e,t);var ct=(t,e,o,r,s,a)=>{let i=document.createElement("div");i.setAttribute("role","rowgroup");let d=document.createElement("div");d.className=`${o}-table-header`,d.setAttribute("role","row"),d.setAttribute("aria-rowindex","1"),d.style.height=`${e}px`;let T=document.createElement("div");T.className=`${o}-table-header-scroll`,T.setAttribute("role","presentation"),d.appendChild(T),i.appendChild(d),t.insertBefore(i,t.firstChild),t.style.setProperty("--vlist-table-header-height",`${e}px`);let C=[],x=[],F=!0,j=null,h="asc",B=null,p=!1,g=-1,l=0,b=0,f=0,E=(n,u)=>{let c=document.createElement("div");c.className=`${o}-table-header-cell`,c.setAttribute("role","columnheader"),c.setAttribute("aria-colindex",String(u+1)),c.setAttribute("tabindex",u===0?"0":"-1"),c.dataset.columnKey=n.def.key;let H=n.def.align;if(H==="center")c.classList.add(`${o}-table-header-cell--center`);else if(H==="right")c.classList.add(`${o}-table-header-cell--right`);let I=document.createElement("div");I.className=`${o}-table-header-content`;let V=n.def.header?n.def.header(n.def):n.def.label;if(typeof V==="string")I.textContent=V;else I.appendChild(V);if(c.appendChild(I),n.def.sortable){let w=document.createElement("span");w.className=`${o}-table-header-sort`,w.setAttribute("aria-hidden","true"),c.appendChild(w),x.push(w),c.classList.add(`${o}-table-header-cell--sortable`)}else x.push(null);if(n.resizable){let w=document.createElement("div");w.className=`${o}-table-header-resize`,w.dataset.resizeIndex=String(u),c.appendChild(w)}return c},z=(n)=>{B=n,T.textContent="",C=[],x=[];let u=n.columns;for(let c=0;c<u.length;c++){let H=u[c],I=E(H,c);C.push(I),T.appendChild(I)}if(_(n),j)R(j,h)},_=(n)=>{B=n;let u=n.columns;T.style.width=`${n.totalWidth}px`;for(let c=0;c<C.length&&c<u.length;c++){let H=C[c],I=u[c];H.style.width=`${I.width}px`}},R=(n,u)=>{if(j=n,h=u,!B)return;let c=B.columns;for(let H=0;H<x.length&&H<c.length;H++){let I=x[H];if(!I)continue;if(c[H].def.key===n)I.textContent=u==="asc"?"▲":"▼",I.style.opacity="0.7",C[H].setAttribute("aria-sort",u==="asc"?"ascending":"descending");else I.textContent="",I.style.opacity="0",C[H].removeAttribute("aria-sort")}},O=(n)=>{T.style.transform=`translateX(${-n}px)`},P=(n)=>{let u=n.target;if(!u.dataset.resizeIndex)return;if(n.preventDefault(),n.stopPropagation(),g=+u.dataset.resizeIndex,!B)return;let c=B.getColumn(g);if(!c?.resizable)return;p=!0,l=n.clientX,b=c.width,t.classList.add(`${o}--col-resizing`),t.style.cursor="col-resize",u.classList.add(`${o}-table-header-resize--active`),u.setPointerCapture(n.pointerId),u.addEventListener("pointermove",U),u.addEventListener("pointerup",K),u.addEventListener("pointercancel",K)},U=(n)=>{if(!p||!B)return;let u=n.clientX-l;if(Math.abs(u)<1)return;let c=Math.max(0,b+u);r(g,c)},K=(n)=>{if(!p)return;let u=n.target;u.removeEventListener("pointermove",U),u.removeEventListener("pointerup",K),u.removeEventListener("pointercancel",K);try{u.releasePointerCapture(n.pointerId)}catch{}u.classList.remove(`${o}-table-header-resize--active`),t.classList.remove(`${o}--col-resizing`),t.style.cursor="",p=!1,g=-1},re=(n)=>{let u=n.target;if(u.dataset.resizeIndex)return;if(p)return;let c=u;while(c&&!c.dataset.columnKey)if(c=c.parentElement,c===d||c===null)return;let H=c.dataset.columnKey;if(!B)return;let I=B.columns,V=-1;for(let D=0;D<I.length;D++)if(I[D].def.key===H){V=D;break}if(V===-1)return;let w=I[V];if(a)a({key:H,index:V,event:n});if(w.def.sortable&&s){let D;if(j===H)D=h==="asc"?"desc":null;else D="asc";s({key:H,index:V,direction:D})}},ie=(n)=>{if(n<0||n>=C.length)return;C[f]?.setAttribute("tabindex","-1"),f=n;let u=C[f];u.setAttribute("tabindex","0"),u.focus()},Se=(n)=>{let u=n.key;if(u==="ArrowRight"){if(n.ctrlKey||n.metaKey){if(!B)return;let c=B.getColumn(f);if(c?.resizable)r(f,c.width+10),n.preventDefault()}else if(f<C.length-1)ie(f+1),n.preventDefault();n.stopPropagation();return}if(u==="ArrowLeft"){if(n.ctrlKey||n.metaKey){if(!B)return;let c=B.getColumn(f);if(c?.resizable)r(f,c.width-10),n.preventDefault()}else if(f>0)ie(f-1),n.preventDefault();n.stopPropagation();return}if(u==="Home"){ie(0),n.preventDefault(),n.stopPropagation();return}if(u==="End"){ie(C.length-1),n.preventDefault(),n.stopPropagation();return}if(u==="Enter"||u===" "){if(!B)return;let c=B.getColumn(f);if(c?.def.sortable&&s){let H;if(j===c.def.key)H=h==="asc"?"desc":null;else H="asc";s({key:c.def.key,index:f,direction:H}),n.preventDefault()}n.stopPropagation();return}if(u==="ArrowDown"){t.focus(),n.preventDefault(),n.stopPropagation();return}};return d.addEventListener("pointerdown",P),d.addEventListener("click",re),d.addEventListener("keydown",Se),{element:d,update:_,updateSort:R,rebuild:z,show:()=>{if(F)return;F=!0,d.style.display=""},hide:()=>{if(!F)return;F=!1,d.style.display="none"},destroy:()=>{d.removeEventListener("pointerdown",P),d.removeEventListener("click",re),d.removeEventListener("keydown",Se),t.style.removeProperty("--vlist-table-header-height"),i.remove(),C=[],x=[],B=null,F=!1},syncScroll:O}};var dt="x",mt=20,Ke="_isPlaceholder",ke="__placeholder_";var $e=(t,e,o)=>{if(String(o).startsWith(ke))return!1;let r=ke+e;if(t.has(r))return t.delete(r),t.add(o),!0;return!1},ft=(t)=>({selected:new Set(t??[]),focusedIndex:-1,focusVisible:!1}),Ue=(t,e,o)=>{if(o==="none")return t;let r=new Set(t.selected);if(o==="single"){if(r.clear(),e.length>0)r.add(e[0])}else for(let s of e)r.add(s);return{...t,selected:r}},Ye=(t,e)=>{let o=new Set(t.selected);for(let r of e)o.delete(r);return{...t,selected:o}},pt=(t,e,o)=>{if(o==="none")return t;if(t.selected.has(e))return Ye(t,[e]);else return Ue(t,[e],o)},bt=(t,e,o)=>{if(o!=="multiple")return t;return{...t,selected:new Set(e.map((r)=>r.id))}},gt=(t)=>({...t,selected:new Set});var ht=(t,e)=>t.selected.has(e),yt=(t)=>Array.from(t.selected),St=(t,e)=>{let o=[];for(let r of t.selected){let s=e(r);if(s)o.push(s)}return o};var kt=()=>{let t=[];return{acquire:()=>t.pop()||document.createElement("div"),release:(e)=>{if(e.parentNode?.removeChild(e),t.length<200)e.className="",e.removeAttribute("data-id"),e.removeAttribute("data-index"),e.removeAttribute("aria-selected"),e.removeAttribute("aria-rowindex"),e.removeAttribute("role"),e.style.cssText="",e.textContent="",t.push(e)},clear:()=>{t.length=0}}},vt=(t,e,o,r,s,a,i,d,T,C=()=>0)=>{let x=kt(),F=new Map,j=-1,h=o,B=null,p=null,g=null,l=(S,k)=>{p=S,g=k},b=(S,k)=>{k?S.setAttribute("aria-selected","true"):S.removeAttribute("aria-selected")},f=(S,k,q,N)=>{S.setAttribute("role",k),S.setAttribute("data-id",String(q)),S.setAttribute("data-index",String(N))},E=(S)=>String(S).startsWith("__placeholder_"),z=`${s}-item ${s}-table-row`,_=`${s}-item--selected`,R=`${s}-item--focused`,O=`${s}-table-cell`,P=`${s}-table-cell--center`,U=`${s}-table-cell--right`,K=`${s}-table-cell-skeleton`,re=`${s}-item--odd`,ie=`${s}-item--placeholder`,Se=`${s}-item--replaced`,me=`${s}-table-row ${s}-table-group-header`,pe=`${s}-table-group-header-content`,m=(S,k,q,N,W=!1)=>{if(q.def.cell){let X=q.def.cell(k,q.def,N);if(typeof X==="string")S.innerHTML=X;else S.replaceChildren(X)}else{let X=k[q.def.key],A=X!=null?String(X):"";if(W&&A)S.innerHTML=`<span>${A}</span>`;else S.textContent=A}if(W&&S.firstElementChild===null){S.replaceChildren();let X=document.createElement("span");X.className=K,S.appendChild(X)}},n=(S,k,q,N,W=!1)=>{let X=z;if(d){if(B){let A=B(k);if(A>=0&&(A&1)===1)X+=` ${re}`}else if((k&1)===1)X+=` ${re}`}if(W)X+=` ${ie}`;if(q)X+=` ${_}`;if(N)X+=` ${R}`;S.className=X},u=(S,k)=>{let q=k.def.align;if(q==="center")S.classList.add(P),S.classList.remove(U);else if(q==="right")S.classList.add(U),S.classList.remove(P);else S.classList.remove(P,U)},c=(S,k)=>{let N=h.columns.length;if(k.length===N)return k;let W=[];for(let X=0;X<N;X++){let A;if(X<k.length)A=k[X];else A=document.createElement("div"),A.className=O,S.appendChild(A);W.push(A)}for(let X=N;X<k.length;X++)k[X].remove();return W},H=(S,k,q,N)=>{let W=x.acquire(),X=S,A=q.getSize(k),ue=q.getOffset(k)-N;W.style.cssText=`width:${h.totalWidth}px;height:${A}px;transform:translateY(${ue}px)`,W.className=me,f(W,"presentation",S.id,k),W.removeAttribute("aria-selected"),W.removeAttribute("aria-rowindex"),W.replaceChildren();let se=document.createElement("div");if(se.className=pe,g){let te=g(X.groupKey,X.groupIndex);if(typeof te==="string")se.innerHTML=te;else se.appendChild(te)}return W.appendChild(se),{element:W,cells:[],index:k,isGroupHeader:!0,_lastItem:S,lastItemId:S.id,lastSelected:!1,lastFocused:!1,lastOffset:ue,lastHeight:A}},I=(S,k,q,N,W,X)=>{let A=x.acquire(),ue=W.getSize(k),se=W.getOffset(k)-X,te=E(S.id);A.style.cssText=`width:${h.totalWidth}px;height:${ue}px;transform:translateY(${se}px)`,n(A,k,q,N,te),f(A,"row",S.id,k),A.id=`${a}-item-${k}`,A.setAttribute("aria-rowindex",String(k+2)),b(A,q);let Le=c(A,[]),v=h.columns;for(let M=0;M<Le.length&&M<v.length;M++){let Z=Le[M],Q=v[M];Z.style.cssText=`left:${Q.offset}px;width:${Q.width}px`,Z.setAttribute("role","gridcell"),Z.setAttribute("aria-colindex",String(M+1)),u(Z,Q),m(Z,S,Q,k,te)}return{element:A,cells:Le,index:k,isGroupHeader:!1,_lastItem:S,lastItemId:S.id,lastSelected:q,lastFocused:N,lastOffset:se,lastHeight:ue}},V=(S,k,q,N,W=C())=>{let X=!1,A=i();if(A!==j)j=A,X=!0;let ue=null,se=e();B=typeof d==="string"&&T?T():null;for(let te=k.start;te<=k.end;te++){let Le=te-k.start,v=S[Le];if(!v)continue;let M=q.has(v.id),Z=te===N,Q=p?p(v):!1,G=F.get(te);if(G){if(G.isGroupHeader!==Q){x.release(G.element),F.delete(te);let be=Q?H(v,te,se,W):I(v,te,M,Z,se,W);if(F.set(te,be),!ue)ue=document.createDocumentFragment();ue.appendChild(be.element);continue}if(Q){if(G._lastItem!==v){let oe=v,le=G.element.firstElementChild;if(le&&g){let he=g(oe.groupKey,oe.groupIndex);if(typeof he==="string")le.innerHTML=he;else le.replaceChildren(he)}G.element.setAttribute("data-id",String(v.id)),G._lastItem=v,G.lastItemId=v.id}let ge=se.getOffset(te)-W;if(G.lastOffset!==ge)G.lastOffset=ge,G.element.style.transform=`translateY(${ge}px)`;let Te=se.getSize(te);if(G.lastHeight!==Te)G.lastHeight=Te,G.element.style.height=`${Te}px`}else{let be=G._lastItem!==v,ge=G.lastSelected!==M,Te=G.lastFocused!==Z;if(be){let he=G.lastItemId!=null&&E(G.lastItemId),xe=E(v.id);if(!xe&&$e(q,te,v.id))M=!0;let fe=h.columns;for(let ce=0;ce<G.cells.length&&ce<fe.length;ce++)m(G.cells[ce],v,fe[ce],te,xe);if(n(G.element,te,M,Z,xe),G.element.setAttribute("data-id",String(v.id)),b(G.element,M),he&&!xe)G.element.classList.add(Se),setTimeout(()=>{G.element.classList.remove(Se)},300);G._lastItem=v,G.lastItemId=v.id,G.lastSelected=M,G.lastFocused=Z}else if(ge||Te)n(G.element,te,M,Z,E(v.id)),b(G.element,M),G.lastSelected=M,G.lastFocused=Z;let oe=se.getOffset(te)-W;if(G.lastOffset!==oe)G.lastOffset=oe,G.element.style.transform=`translateY(${oe}px)`;let le=se.getSize(te);if(G.lastHeight!==le)G.lastHeight=le,G.element.style.height=`${le}px`;if(X)G.element.setAttribute("aria-rowindex",String(te+2))}}else{if($e(q,te,v.id))M=!0;let be=Q?H(v,te,se,W):I(v,te,M,Z,se,W);if(F.set(te,be),!ue)ue=document.createDocumentFragment();ue.appendChild(be.element)}}if(ue)t.appendChild(ue);for(let[te,Le]of F)if(te<k.start||te>k.end)x.release(Le.element),F.delete(te)},w=(S,k,q,N)=>{let W=F.get(S);if(!W)return;if(W.isGroupHeader)return;let X=h.columns;for(let A=0;A<W.cells.length&&A<X.length;A++)m(W.cells[A],k,X[A],S);W.element.setAttribute("data-id",String(k.id)),W._lastItem=k,W.lastItemId=k.id,n(W.element,S,q,N),b(W.element,q),W.lastSelected=q,W.lastFocused=N},D=(S,k,q)=>{let N=F.get(S);if(!N)return;if(N.isGroupHeader)return;let W=N.lastSelected!==k,X=N.lastFocused!==q;if(W||X)n(N.element,S,k,q),b(N.element,k),N.lastSelected=k,N.lastFocused=q},J=(S)=>{h=S;let k=S.columns;for(let[,q]of F)if(q.element.style.width=`${S.totalWidth}px`,q.cells.length>0)for(let N=0;N<q.cells.length&&N<k.length;N++){let W=q.cells[N],X=k[N];W.style.left=`${X.offset}px`,W.style.width=`${X.width}px`}},ee=(S)=>F.get(S)?.element,Y=()=>{for(let[,S]of F)x.release(S.element);F.clear(),j=-1};return{render:V,updateItem:w,updateItemClasses:D,getElement:ee,updateColumnLayout:J,setGroupHeaderFn:l,clear:Y,destroy:()=>{Y(),x.clear()}}};var xt=(t)=>{let e=Math.max(1,Math.floor(t.columns)),o=t.gap??0,r=t.containerSize,s=t.crossOffset??0,a=t.mainOffset??0,i=0,d=[],T=()=>{let l=(e-1)*o;i=Math.max(0,(r-l)/e),d=Array(e);let b=i+o;for(let f=0;f<e;f++)d[f]=s+f*b};T();let C=[],x=0,F=[],j=(l,b)=>{if(l<=0)return x=0,C=[],[];let f=Array(e).fill(a),E=Array(e);for(let R=0;R<e;R++)E[R]=[];let z=Array(l);for(let R=0;R<l;R++){let O=0,P=f[0];for(let re=1;re<e;re++){let ie=f[re];if(ie<P)P=ie,O=re}let U=b(R),K=f[O];z[R]={index:R,x:d[O],y:K,lane:O,size:U,crossSize:i},E[O].push(R),f[O]=K+U+o}C=E;let _=0;for(let R=0;R<e;R++){let O=f[R],P=O>0?O-o:0;if(P>_)_=P}return x=_,z},h=(l)=>{if(l.length===0)return x;if(x)return x;let b=Array(e).fill(0);for(let E of l){let z=E.y+E.size,_=b[E.lane];if(z>_)b[E.lane]=z}let f=0;for(let E=0;E<e;E++)if(b[E]>f)f=b[E];return f},B=(l,b,f)=>{if(l.length===0||f<=b)return F.length=0,F;if(C.length===0||C.length!==e)return p(l,b,f);F.length=0;for(let E=0;E<e;E++){let z=C[E],_=z.length;if(!_)continue;let R=0,O=_;while(R<O){let P=R+O>>>1,U=l[z[P]];if(U.y+U.size<=b)R=P+1;else O=P}for(let P=R;P<_;P++){let U=l[z[P]];if(U.y>=f)break;F.push(U)}}return F},p=(l,b,f)=>{F.length=0;for(let E of l)if(E.y+E.size>b&&E.y<f)F.push(E);return F};return{get columns(){return e},get gap(){return o},get containerSize(){return r},update:(l)=>{let b=!1;if(l.columns!==void 0){let f=Math.max(1,Math.floor(l.columns));if(f!==e)e=f,b=!0}if(l.gap!==void 0&&l.gap!==o)o=l.gap,b=!0;if(l.containerSize!==void 0&&l.containerSize!==r)r=l.containerSize,b=!0;if(l.crossOffset!==void 0&&l.crossOffset!==s)s=l.crossOffset,b=!0;if(l.mainOffset!==void 0&&l.mainOffset!==a)a=l.mainOffset,b=!0;if(b)T()},calculateLayout:j,getTotalSize:h,getVisibleItems:B}};var Tt=(t,e,o)=>{let r=Array.from(e).sort((i,d)=>i-d);if(r.length<=1)return;let s=[];for(let i=0;i<r.length;i++){let d=o(r[i]);if(d)s.push(d)}if(s.length<=1)return;let a=t.firstChild;for(let i=0;i<s.length;i++){let d=s[i];if(d===a)a=a.nextSibling;else t.insertBefore(d,a)}};var wt=(t=200)=>{let e=[];return{acquire:()=>{let a=e.pop();if(a)return a;let i=document.createElement("div");return i.setAttribute("role","option"),i},release:(a)=>{if(a.remove(),e.length<t)a.className="",a.textContent="",a.removeAttribute("style"),a.removeAttribute("data-index"),a.removeAttribute("data-id"),a.removeAttribute("data-lane"),e.push(a)},clear:()=>{e.length=0}}},Pt=1,It=(t,e,o,r=!1,s,a,i,d,T=()=>0)=>{let C=wt(),x=new Map,F=new Set,j=0,h="",B=-1,p=!1,g={selected:!1,focused:!1},l=(m,n)=>(g.selected=m,g.focused=n,g),b=`${o}-item ${o}-masonry-item`,f=`${o}-group-header`,E=`${o}-item--selected`,z=`${o}-item--focused`,_=(m,n)=>{if(typeof n==="string")m.innerHTML=n;else m.replaceChildren(n);et(m)},R=(m,n,u)=>{m.classList.toggle(E,n),m.classList.toggle(z,u)},O=(m,n)=>{let u=Math.round(n.y-K);if(r)m.style.transform=`translate(${u}px, ${Math.round(n.x)}px)`;else m.style.transform=`translate(${Math.round(n.x)}px, ${u}px)`},P=(m,n)=>{if(r)m.style.width=`${n.size}px`,m.style.height=`${n.crossSize}px`;else m.style.width=`${n.crossSize}px`,m.style.height=`${n.size}px`},U=(m,n,u,c,H)=>{let I=C.acquire(),V=n.__groupHeader,w=l(c,H);if(I.className=V?f:b,I.dataset.index=String(m),I.dataset.id=String(n.id),I.dataset.lane=String(u.lane),V)I.setAttribute("role","presentation"),I.removeAttribute("aria-selected"),I.removeAttribute("aria-setsize"),I.removeAttribute("aria-posinset"),I.removeAttribute("id");else if(p){if(I.setAttribute("role","option"),I.ariaSelected=String(c),a)I.id=`${a}-item-${m}`;if(s){let J=s();if(J!==B)B=J,h=String(J);I.setAttribute("aria-setsize",h);let ee=i?i(m):m+1;I.setAttribute("aria-posinset",String(ee))}}else I.setAttribute("role","listitem"),I.removeAttribute("aria-selected"),I.removeAttribute("aria-setsize"),I.removeAttribute("aria-posinset"),I.removeAttribute("id");P(I,u);let D=e(n,m,w);return _(I,D),R(I,c,H),O(I,u),{element:I,lastItem:n,lastSelected:c,lastFocused:H,lastY:u.y-K,absY:u.y,lastX:u.x,lastSize:u.size,lastCrossSize:u.crossSize,lastSeenFrame:j}},K=0,re=(m,n,u,c,H=T())=>{if(K=H,j++,p=typeof d==="function"?d():d===!0,p&&s){let V=s();if(V!==B){B=V,h=String(V);for(let w of x.values())if(w.element.getAttribute("role")==="option")w.element.setAttribute("aria-setsize",h)}}F.clear();for(let V=0;V<n.length;V++)F.add(n[V].index);let I=null;for(let V=0;V<n.length;V++){let w=n[V],D=w.index,J=m(D);if(!J)continue;let ee=u.has(J.id),Y=D===c,y=x.get(D);if(y){let S=y.lastItem!==J,k=y.lastSelected!==ee,q=y.lastFocused!==Y,N=y.lastY!==w.y-K||y.lastX!==w.x,W=y.lastSize!==w.size||y.lastCrossSize!==w.crossSize;if(S){let X=l(ee,Y),A=e(J,D,X);if(_(y.element,A),y.element.dataset.id=String(J.id),y.lastItem=J,!J.__groupHeader&&p){let se=i?i(D):D+1;y.element.setAttribute("aria-posinset",String(se))}}if(S||k||q){if(R(y.element,ee,Y),p)y.element.ariaSelected=String(ee);else y.element.removeAttribute("aria-selected");y.lastSelected=ee,y.lastFocused=Y}if(W)P(y.element,w),y.lastSize=w.size,y.lastCrossSize=w.crossSize;if(N)O(y.element,w),y.lastY=w.y-K,y.absY=w.y,y.lastX=w.x}else{let S=U(D,J,w,ee,Y);if(!I)I=document.createDocumentFragment();I.appendChild(S.element),x.set(D,S)}}if(I)t.appendChild(I);for(let[V,w]of x)if(F.has(V))w.lastSeenFrame=j;else if(j-w.lastSeenFrame>Pt)C.release(w.element),x.delete(V);else{let D=Math.round(w.absY-K);if(D!==w.lastY){w.lastY=D;let J=Math.round(w.lastX);w.element.style.transform=r?`translate(${D}px, ${J}px)`:`translate(${J}px, ${D}px)`}}},ie=()=>{for(let m of x.values())C.release(m.element);x.clear(),t.innerHTML=""};return{render:re,getElement:(m)=>x.get(m)?.element,updateItemClasses:(m,n,u)=>{let c=x.get(m);if(!c)return;let H=c.lastSelected!==n,I=c.lastFocused!==u;if(H||I)R(c.element,n,u),c.lastSelected=n,c.lastFocused=u},sortDOM:()=>{Tt(t,x.keys(),(m)=>x.get(m)?.element)},clear:ie,destroy:()=>{ie(),C.clear()}}};var _t=(t,e,o)=>{let r=e;return{getOffset:(s)=>s*t,getSize:(s)=>t,indexAtOffset:(s)=>{if(r===0||t===0)return 0;return Math.max(0,Math.min(Math.floor(s/t),r-1))},getTotalSize:()=>{let s=r*t;return s>0?s-o:0},getTotal:()=>r,rebuild:(s)=>{r=s},isVariable:()=>!1}},Dt=(t,e,o)=>{let r=e,s=new Float64Array(0),a=(d)=>{r=d,s=new Float64Array(d+1),s[0]=0;for(let T=0;T<d;T++)s[T+1]=s[T]+t(T)};a(e);let i=(d)=>{if(r===0)return 0;if(d<=0)return 0;if(d>=s[r])return r-1;let T=0,C=r-1;while(T<C){let x=T+C+1>>>1;if(s[x]<=d)T=x;else C=x-1}return T};return{getOffset:(d)=>{if(d<=0)return 0;if(d>=r)return s[r];return s[d]},getSize:(d)=>t(d),indexAtOffset:(d)=>i(d),getTotalSize:()=>{let d=s[r]??0;return d>0?d-o:0},getTotal:()=>r,rebuild:(d)=>a(d),isVariable:()=>!0}},Lt=(t,e,o=0)=>{if(typeof t==="number")return _t(t,e,o);return Dt(t,e,o)};var Ct=()=>{let t={},e=(a,i)=>{if(!t[a])t[a]=new Set;return t[a].add(i),()=>o(a,i)},o=(a,i)=>{t[a]?.delete(i)};return{on:e,off:o,emit:(a,i)=>{t[a]?.forEach((d)=>{try{d(i)}catch(T){}})},clear:(a)=>{if(a)delete t[a];else for(let i in t)delete t[i]}}};var Ge=(t={})=>{let{chunkSize:e=100,maxCachedItems:o=5000,evictionBuffer:r=200,onEvict:s}=t,a=new Map,i=0,d=0,T=(m)=>{let n=a.get(m);if(!n)n={items:Array(e),count:0,lastAccess:Date.now()},a.set(m,n);else n.lastAccess=Date.now();return n},C=(m)=>Math.floor(m/e),x=(m)=>m%e,F=()=>i,j=(m)=>{i=m},h=(m)=>{if(m<0||m>=i)return;let n=C(m),u=a.get(n);if(!u)return;return u.items[x(m)]},B=(m)=>{if(m<0||m>=i)return!1;let n=C(m),u=a.get(n);if(!u)return!1;return u.items[x(m)]!==void 0},p=(m,n)=>{let u=C(m),c=T(u),H=x(m),I=c.items[H]===void 0;if(c.items[H]=n,I)c.count++,d++;if(m>=i)i=m+1},g=(m,n)=>{for(let u=0;u<n.length;u++){let c=n[u];if(c!==void 0)p(m+u,c)}},l=(m,n)=>{if(m<0||m>i)return;let u=C(m),c=Array.from(a.keys()).filter((D)=>D>=u).sort((D,J)=>D-J),H=[];for(let D of c){let J=a.get(D),ee=D*e;for(let Y=0;Y<e;Y++){if(J.items[Y]===void 0)continue;let y=ee+Y;if(y<m)continue;H.push({oldIndex:y,item:J.items[Y]})}}for(let{oldIndex:D}of H){let J=C(D),ee=a.get(J);if(!ee)continue;let Y=x(D);if(ee.items[Y]!==void 0){if(ee.items[Y]=void 0,ee.count--,d--,ee.count===0)a.delete(J)}}i++;for(let{oldIndex:D,item:J}of H){let ee=D+1,Y=C(ee),y=T(Y),S=x(ee);y.items[S]=J,y.count++,d++}let I=C(m),V=T(I),w=x(m);V.items[w]=n,V.count++,d++},b=(m)=>{if(m<0||m>=i)return!1;let n=C(m),u=a.get(n),c=x(m);if(!(u!==void 0&&u.items[c]!==void 0))return!1;let I=n,V=Array.from(a.keys()).filter((D)=>D>=I).sort((D,J)=>D-J),w=[];for(let D of V){let J=a.get(D),ee=D*e;for(let Y=0;Y<e;Y++){if(J.items[Y]===void 0)continue;let y=ee+Y;if(y<=m)continue;w.push({oldIndex:y,item:J.items[Y]})}}if(u.items[c]=void 0,u.count--,d--,u.count===0)a.delete(n);for(let{oldIndex:D}of w){let J=C(D),ee=a.get(J);if(!ee)continue;let Y=x(D);if(ee.items[Y]!==void 0){if(ee.items[Y]=void 0,ee.count--,d--,ee.count===0)a.delete(J)}}for(let{oldIndex:D,item:J}of w){let ee=D-1,Y=C(ee),y=T(Y),S=x(ee);y.items[S]=J,y.count++,d++}return i--,!0},f=(m,n)=>{let u=[];for(let c=m;c<=n&&c<i;c++)u.push(h(c));return u},E=(m,n)=>{for(let u=m;u<=n&&u<i;u++)if(!B(u))return!1;return!0},z=()=>{let m=[],n=null,u=Array.from(a.keys()).sort((c,H)=>c-H);for(let c of u){let H=a.get(c);if(!H)continue;let I=c*e;for(let V=0;V<e;V++){let w=I+V;if(w>=i)break;if(H.items[V]!==void 0)if(n===null)n={start:w,end:w};else if(w===n.end+1)n.end=w;else m.push(n),n={start:w,end:w};else if(n!==null)m.push(n),n=null}}if(n!==null)m.push(n);return m},_=(m,n)=>{let u=[],c=null;for(let H=m;H<=n&&H<i;H++)if(!B(H))if(c===null)c={start:H,end:H};else c.end=H;else if(c!==null)u.push(c),c=null;if(c!==null)u.push(c);return u},R=(m)=>a.has(m),O=(m)=>{let n=a.get(m);if(!n)return!1;let u=m*e,c=Math.min(e,i-u);return n.count>=c},P=(m)=>{let n=a.get(m);if(n)n.lastAccess=Date.now()},U=(m,n)=>{if(m>n||a.size===0)return;let u=Date.now(),c=C(Math.max(0,m)),H=C(Math.min(i-1,n));for(let I=c;I<=H;I++){let V=a.get(I);if(V)V.lastAccess=u}},K=(m,n)=>{if(d<=o)return 0;let u=Math.max(0,m-r),c=Math.min(i-1,n+r),H=C(u),I=C(c),V=0,w=[];for(let[D,J]of a)if(D<H||D>I)V+=J.count,w.push(D),d-=J.count,a.delete(D);if(V>0&&s)s(V,w);return V},re=()=>{if(d<=o)return 0;let m=Array.from(a.entries()).sort(([,c],[,H])=>c.lastAccess-H.lastAccess),n=0,u=[];for(let[c,H]of m){if(d<=o)break;n+=H.count,d-=H.count,u.push(c),a.delete(c)}if(n>0&&s)s(n,u);return n},ie=()=>({totalItems:i,cachedItems:d,cachedChunks:a.size,chunkSize:e,maxCachedItems:o,memoryEfficiency:i>0?1-d/i:1}),Se=()=>d,me=()=>{a.clear(),d=0};return{chunkSize:e,maxCachedItems:o,getTotal:F,setTotal:j,get:h,has:B,set:p,setRange:g,insert:l,delete:b,getRange:f,isRangeLoaded:E,getLoadedRanges:z,findUnloadedRanges:_,getChunkIndex:C,isChunkLoaded:R,isChunkFullyLoaded:O,touchChunk:P,touchChunksForRange:U,evictDistant:K,evictToLimit:re,getStats:ie,getCachedCount:Se,clear:me,reset:()=>{me(),i=0}}},Fe=(t)=>{if(t.length===0)return[];let e=[...t].sort((r,s)=>r.start-s.start),o=[{...e[0]}];for(let r=1;r<e.length;r++){let s=e[r],a=o[o.length-1];if(s.start<=a.end+1)a.end=Math.max(a.end,s.end);else o.push({...s})}return o},Ze=(t,e,o)=>{let r=Math.floor(t.start/o)*o,s=Math.ceil((t.end+1)/o)*o-1,a={start:r,end:s};if(e.length===0)return[a];let i=[],d=Fe(e),T=a.start;for(let C of d){if(C.end<T)continue;if(C.start>a.end)break;if(C.start>T)i.push({start:T,end:Math.min(C.start-1,a.end)});if(T=C.end+1,T>a.end)break}if(T<=a.end)i.push({start:T,end:a.end});return i};var Ve=(t={})=>{let{maskCharacter:e=dt,maxSampleSize:o=mt}=t,r=[],s=!1,a=(x)=>{if(s||x.length===0)return;let F=Math.min(x.length,o);for(let j=0;j<F;j++){let h=x[j];if(!h||typeof h!=="object")continue;let B={},p=!1;for(let[g,l]of Object.entries(h)){if(g.startsWith("_")||g==="id")continue;B[g]=String(l??"").length,p=!0}if(p)r.push(B)}s=!0},i=()=>s,d=(x)=>{let F={id:`${ke}${x}`,[Ke]:!0,_index:x};if(r.length===0)return F.label=e.repeat(12),F;let j=r[x%r.length];for(let[h,B]of Object.entries(j))F[h]=e.repeat(Math.max(1,B));return F};return{analyzeStructure:a,hasAnalyzedStructure:i,generate:d,generateRange:(x,F)=>{let j=[];for(let h=x;h<=F;h++)j.push(d(h));return j},clear:()=>{r=[],s=!1}}},He=(t)=>{if(!t||typeof t!=="object")return!1;return t[Ke]===!0},qe=(t)=>t.filter((e)=>!He(e));var Ot=50,Et=(t={})=>{let{adapter:e,initialItems:o,initialTotal:r,storage:s,placeholder:a,pageSize:i=Ot,maxConcurrent:d=0,onStateChange:T,onDataChange:C,onItemsLoaded:x,onItemsEvicted:F,onLoadError:j}=t,h=Ge({...s,onEvict:(v,M)=>{F?.(v),K(),U()}}),B=null,p=()=>{if(!B)B=Ve(a);return B},g=new Map,l=!1,b,f=!0,E,z,_=[],R=0,O=new Map,P=()=>{for(let v of O.values())v[1].abort();O.clear()},U=()=>{T?.(c())},K=()=>{C?.()},re=()=>{g.clear();let v=h.getLoadedRanges();for(let M of v)for(let Z=M.start;Z<=M.end;Z++){let Q=h.get(Z);if(Q&&!He(Q))g.set(Q.id,Z)}},ie=(v,M)=>{if(!He(M))g.set(M.id,v)},Se=(v)=>{g.delete(v)},me=(v,M)=>`${v}-${M}`,pe=()=>h.getTotal(),m=()=>h.getCachedCount(),n=()=>l,u=()=>f,c=()=>({total:h.getTotal(),cached:h.getCachedCount(),isLoading:l,pendingRanges:_,error:b,hasMore:f,cursor:E}),H=()=>h,I=()=>p(),V=(v)=>{let M=h.get(v);if(M!==void 0)return M;if(v>=0&&v<h.getTotal())return p().generate(v);return},w=(v)=>{let M=g.get(v);if(M===void 0)return;return h.get(M)},D=(v)=>g.get(v)??-1,J=(v)=>{let M=h.get(v);return M!==void 0&&!He(M)},ee=(v,M)=>{let Z=[],Q=h.getTotal();h.touchChunksForRange(v,Math.min(M,Q-1));for(let G=v;G<=M&&G<Q;G++){let be=h.get(G);if(be!==void 0)Z.push(be);else Z.push(p().generate(G))}return Z},Y=(v)=>{h.setTotal(v),f=h.getCachedCount()<v,K(),U()},y=(v,M=0,Z)=>{if(e&&v.length>0){let Q=p();if(!Q.hasAnalyzedStructure())Q.analyzeStructure(v)}for(let Q=0;Q<v.length;Q++){let G=v[Q];if(G!==void 0){let be=M+Q;h.set(be,G),ie(be,G)}}if(Z!==void 0)h.setTotal(Z);else if(M+v.length>h.getTotal())h.setTotal(M+v.length);if(h.getCachedCount()>=h.getTotal()&&h.getTotal()>0)f=!1;K(),U(),x?.(v,M,h.getTotal())},S=(v,M)=>{let Z=h.get(v);if(!Z)return!1;let Q=Z.id,G={...Z,...M};if(h.set(v,G),M.id!==void 0&&M.id!==Q)Se(Q);return ie(v,G),K(),U(),!0},k=(v,M)=>{h.insert(M,v),re(),P(),K(),U()},q=(v)=>{let M=g.get(v);if(M===void 0)return!1;if(!h.delete(M))return!1;return re(),P(),K(),U(),!0},N=async(v,M)=>{if(!e)return;let Z=h.chunkSize,Q=Math.floor(v/Z),G=Math.floor(M/Z),be=Z*2;for(let[oe,le]of O){let he=oe.indexOf("-"),xe=parseInt(oe.slice(0,he),10);if(Math.abs(xe-v)>be)le[1].abort(),O.delete(oe)}let ge=[],Te=[];for(let oe=Q;oe<=G;oe++){let le=oe*Z,he=le+Z-1,xe=me(le,he);if(h.isChunkFullyLoaded(oe))continue;let ce=O.get(xe);if(ce)Te.push(ce[0]);else ge.push({start:le,end:he})}if(ge.length===0){if(Te.length>0)await Promise.all(Te);return}if(d>0){let oe=O.size+ge.length;if(oe>d){let le=(v+M)/2,he=Math.min(oe-d,O.size);while(he>0){let fe=null,ce=-1,ve=null;for(let[Ce,Be]of O){let Pe=Ce.indexOf("-"),_e=parseInt(Ce.slice(0,Pe),10),De=parseInt(Ce.slice(Pe+1),10),Ee=Math.abs((_e+De)/2-le);if(Ee>ce)ce=Ee,fe=Ce,ve=Be[1]}if(fe)ve.abort(),O.delete(fe);he--}let xe=d-O.size;if(ge.length>xe)ge.sort((fe,ce)=>{let ve=Math.abs((fe.start+fe.end)/2-le),Ce=Math.abs((ce.start+ce.end)/2-le);return ve-Ce}),ge.length=Math.max(0,xe)}}if(ge.length===0){if(Te.length>0)await Promise.all(Te);return}for(let oe of ge){let le=me(oe.start,oe.end),he=new AbortController,xe=(async()=>{_.push(oe),l=!0,b=void 0,U();try{let fe=oe.end-oe.start+1,ce={offset:oe.start,limit:fe,cursor:oe.start===z?E:void 0,signal:he.signal},ve=await e.read(ce);if(y(ve.items,oe.start,ve.total),ve.cursor)E=ve.cursor,z=oe.start+ve.items.length;let Ce=oe.start+ve.items.length;if(Ce>=R){if(R=Ce,ve.hasMore!==void 0)f=ve.hasMore;else if(ve.total!==void 0)f=Ce<ve.total}}catch(fe){if(fe?.name==="AbortError")return;b=fe instanceof Error?fe:Error(String(fe)),j?.(b,oe)}finally{O.delete(le);let fe=_.findIndex((ce)=>ce.start===oe.start&&ce.end===oe.end);if(fe>=0)_.splice(fe,1);l=O.size>0,U()}})();O.set(le,[xe,he]),Te.push(xe)}await Promise.all(Te)},W=async(v,M)=>{if(h.isRangeLoaded(v,M))return;await N(v,M)},X=async()=>{if(!e)return;await N(0,i-1)},A=async()=>{if(!e||l||!f)return!1;let v=h.getCachedCount(),M=h.getTotal(),Z=v,Q=Math.min(Z+i-1,M>0?M-1:Z+i-1);if(Z>=M&&M>0)return f=!1,!1;return await N(Z,Q),h.getCachedCount()>v},ue=async()=>{if(h.clear(),g.clear(),B)B.clear();P(),_=[],l=!1,E=void 0,z=void 0,f=!0,R=0,b=void 0,K(),U()},se=(v,M)=>{if(h.evictDistant(v,M)>0)re()},te=()=>{h.clear(),g.clear(),E=void 0,z=void 0,b=void 0,_=[],l=!1,K(),U()},Le=()=>{if(h.reset(),g.clear(),B)B.clear();E=void 0,z=void 0,f=!0,R=0,b=void 0,_=[],l=!1,K(),U()};if(o&&o.length>0)y(o,0,r??o.length);else if(r!==void 0)h.setTotal(r),K(),U();return{getState:c,getTotal:pe,getCached:m,getIsLoading:n,getHasMore:u,getStorage:H,getPlaceholders:I,getItem:V,getItemById:w,getIndexById:D,isItemLoaded:J,getItemsInRange:ee,setTotal:Y,setItems:y,updateItem:S,insertItem:k,removeItem:q,loadRange:N,ensureRange:W,loadInitial:X,loadMore:A,reload:ue,evictDistant:se,clear:te,reset:Le}};var $t=0,Gt=1000,Ft=15,Vt=!0,Bt=16,Nt=!0,we=2,Wt="scroll",Kt=350,Ut=12,Yt=(t)=>{if(typeof t!=="object"){let e=t??we;return{top:e,right:e,bottom:e,left:e}}return{top:t.top??we,right:t.right??we,bottom:t.bottom??we,left:t.left??we}},Mt=(t,e,o={},r="vlist",s=!1,a,i,d)=>{let T=navigator.userAgentData?.platform||navigator.platform+navigator.userAgent,C=o.platform?o.platform==="windows":!/Mac|Android/i.test(T),{autoHide:x=!C,autoHideDelay:F=Gt,minThumbSize:j=Ft,showOnHover:h=Vt,showOnViewportEnter:B=Nt,clickBehavior:p=Wt}=o,g=p==="page"?"scroll":p,l=a??t,b=Yt(o.padding),f=s?b.left:b.top,E=s?b.right:b.bottom,z=s?b.bottom:b.right,_=o.hoverZoneWidth??z+Bt,R=!0,O=0,P=0,U=0,K=0,re=!1,ie=!1,Se=0,me=0,pe=0,m=null,n=!1,u=null,c=null,H=-1,I=-1,V=-1,w=-1,D=-1,J=t.id?"":(()=>{let L;do L=`${r}-scrollport-${++$t}`;while(document.getElementById(L));return t.id=L,L})(),ee=0,Y=0,y=null,S=null,k=null,q=s?"width":"height",N=s?"translateX":"translateY",W=s?(L)=>L.clientX:(L)=>L.clientY,X=s?"left":"top",A=document.createElement("div"),ue=document.createElement("div"),se=document.createElement("div"),te=s?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",Le=()=>{if(l===t)return;let L=t.offsetTop;A.style[s?"left":"top"]=L?`calc(var(${te}) + ${L}px)`:`var(${te})`,se.style[s?"left":"top"]=`${L}px`},v=()=>{if(A.className=`${r}-scrollbar`,A.setAttribute("role","scrollbar"),A.setAttribute("aria-controls",t.id),A.setAttribute("aria-orientation",s?"horizontal":"vertical"),A.setAttribute("aria-label",t.getAttribute("aria-label")||"Scroll"),A.setAttribute("aria-valuemin","0"),A.tabIndex=0,ue.className=`${r}-scrollbar__thumb`,s)A.classList.add(`${r}-scrollbar--horizontal`);if(o.padding!==void 0)l.style.setProperty("--vlist-custom-scrollbar-padding-top",`${b.top}px`),l.style.setProperty("--vlist-custom-scrollbar-padding-right",`${b.right}px`),l.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${b.bottom}px`),l.style.setProperty("--vlist-custom-scrollbar-padding-left",`${b.left}px`);if(o.minThumbSize!==void 0)A.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${j}px`);if(A.appendChild(ue),l.appendChild(A),se.className=`${r}-scrollbar__hover`,s)se.classList.add(`${r}-scrollbar__hover--horizontal`),se.style.height=`${_}px`;else se.style.width=`${_}px`;if(l.appendChild(se),l!==t)Le()},M=()=>{if(m)clearTimeout(m),m=null},Z=()=>{if(!x)return;M(),m=setTimeout(G,F)},Q=()=>{if(!R||O<=P)return;if(M(),!n)A.classList.add(`${r}-scrollbar--visible`),n=!0;if(x&&!re&&!ie&&document.activeElement!==A)Z()},G=()=>{if(re||ie||document.activeElement===A)return;A.classList.remove(`${r}-scrollbar--visible`),n=!1},be=(L,ne)=>{if(O=L,P=ne,Le(),ge(pe),!R||O<=P){A.style.display="none",A.classList.remove(`${r}-scrollbar--visible`),n=!1;return}A.style.display="";let ae=Math.max(0,P-f-E),de=P/O;if(U=Math.max(j,de*ae),ue.style[q]=`${U}px`,K=ae-U,ge(pe),!x)Q()},ge=(L)=>{let ne=Math.max(0,O-P);if(pe=Math.max(0,Math.min(L,ne)),H!==ne)H=ne,A.setAttribute("aria-valuemax",String(ne));if(I!==pe)I=pe,A.setAttribute("aria-valuenow",String(pe));let ae=i?.(),de=ae?.getTotal()??0,ye=de?ae.indexAtOffset(pe)+1:0;if(ye!==V||de!==w)V=ye,w=de,A.setAttribute("aria-valuetext",`Row ${ye} of ${de}`);if(ne<=0||K<=0)return;let Me=pe/ne*K;if(Me!==D)D=Me,ue.style.transform=`${N}(${Me}px)`},Te=(L)=>{if(!R||L.target!==A||document.activeElement!==A)return;if(L.stopPropagation(),L.altKey||L.ctrlKey||L.metaKey)return;let ne=i?.(),ae=ne?.getSize(ne.indexAtOffset(pe))??40,de=pe;switch(L.key){case(s?"ArrowLeft":"ArrowUp"):de-=ae;break;case(s?"ArrowRight":"ArrowDown"):de+=ae;break;case"PageUp":de-=P;break;case"PageDown":de+=P;break;case"Home":de=0;break;case"End":de=O;break;default:return}L.preventDefault(),e(Math.max(0,Math.min(de,Math.max(0,O-P)))),Q()},oe=(L)=>{if(L.target===ue||g!=="jump"||K<=0)return;let ne=O-P,ae=A.getBoundingClientRect(),de=W(L)-ae[X],ye=Math.max(0,Math.min(de-U/2,K));e(ye/K*ne),Q()},le=()=>{if(y!==null)clearTimeout(y),y=null;if(S!==null)cancelAnimationFrame(S),S=null;k=null},he=(L)=>{let ne=K>0?Y/L*K:0;if(ee<ne)return-1;if(ee>=ne+U)return 1;return 0},xe=()=>{let L=O-P,ne=he(L);if(ne===0){le();return}if(ne===-1){if(Y<=0){le();return}let ae=Math.max(0,Y-P);Y=ae,e(ae)}else{if(Y>=L){le();return}let ae=Math.min(L,Y+P);Y=ae,e(ae)}Q()},fe=(L)=>{if(k===null){k=L,S=requestAnimationFrame(fe);return}let ne=O-P,ae=L-k;k=L;let de=he(ne);if(de===0){le();return}let ye=Ut*P/1000,Me=Math.min(ye*ae,P);if(de===-1){if(Y<=0){le();return}let Ae=Math.max(0,Y-Me);Y=Ae,e(Ae)}else{if(Y>=ne){le();return}let Ae=Math.min(ne,Y+Me);Y=Ae,e(Ae)}M(),S=requestAnimationFrame(fe)},ce=(L)=>{if(L&&L.pointerId!==u)return;let ne=u,ae=c;if(u=null,c=null,re=!1,A.classList.remove(`${r}-scrollbar--dragging`),le(),ne!==null&&ae?.hasPointerCapture(ne))ae.releasePointerCapture(ne);Z()},ve=(L)=>{if(!R||L.button!==0||u!==null||K<=0)return;if(L.preventDefault(),L.stopPropagation(),u=L.pointerId,re=L.target===ue,c=re?ue:L.currentTarget,c.setPointerCapture(u),M(),re)Se=W(L),me=pe,A.classList.add(`${r}-scrollbar--dragging`);else if(g==="jump")oe(L);else ee=W(L)-A.getBoundingClientRect()[X],Y=pe,xe(),y=setTimeout(()=>{S=requestAnimationFrame(fe)},Kt);Q()},Ce=(L)=>{if(!re||L.pointerId!==u)return;L.stopPropagation();let ne=W(L)-Se,ae=Math.max(0,O-P),de=Math.max(0,Math.min(me+ne/K*ae,ae));ge(de),e(de)},Be=()=>{if(B)Q()},Pe=()=>{if(!re){if(ie=!1,x)Z()}},_e=()=>{ie=!0,M(),Q()},De=()=>{if(ie=!1,!re&&x)Z()},Ee=["width","radius","thumb-color","track-color"],Ne=(L,ne)=>l.style.setProperty(`--vlist-custom-scrollbar-${L}`,ne),ze=Ee.map((L)=>l.style.getPropertyValue(`--vlist-custom-scrollbar-${L}`)),Xe=ze.slice(0,2),je=[],Je=()=>{for(let ye=0;ye<2;ye++){let Me=Ee[ye],Ae=l.style.getPropertyValue(`--vlist-custom-scrollbar-${Me}`);if(Ae!==je[ye])Xe[ye]=Ae;Ne(Me,Xe[ye])}let L=getComputedStyle(d??l),ne=o.width??L.getPropertyValue("scrollbar-width"),ae=L.getPropertyValue("scrollbar-color").match(/[\w-]+\([^)]*\)|\S+/g);R=o.enabled!==!1&&ne!=="none";let de=[typeof o.width==="number"?`${o.width}px`:L.getPropertyValue("--vlist-custom-scrollbar-width").trim()||(ne==="thin"||!C?"6px":"14px"),typeof o.radius==="number"?`${o.radius}px`:L.getPropertyValue("--vlist-custom-scrollbar-radius").trim()||(C?"0px":"4px"),o.thumbColor??(ae?.length===2?ae[0]:ze[2]),o.trackColor??(ae?.length===2?ae[1]:ze[3])];for(let ye=0;ye<Ee.length;ye++)Ne(Ee[ye],de[ye]);if(je=de.slice(0,2),se.style.display=R?"":"none",t.classList.toggle(`${r}-viewport--gutter`,R&&!!o.gutter),!R)ce();be(O,P)},At=()=>{M(),le(),ce(),M();for(let L of Qe)L();for(let L=0;L<Ee.length;L++)Ne(Ee[L],ze[L]);if(t.classList.remove(`${r}-viewport--gutter`),se.remove(),l.style.removeProperty("--vlist-custom-scrollbar-padding-top"),l.style.removeProperty("--vlist-custom-scrollbar-padding-right"),l.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),l.style.removeProperty("--vlist-custom-scrollbar-padding-left"),A.remove(),J&&t.id===J)t.removeAttribute("id")};v();let Qe=[],Ie=(L,ne,ae)=>{L.addEventListener(ne,ae),Qe.push(()=>L.removeEventListener(ne,ae))};for(let L of[A,ue,se])Ie(L,"pointerdown",ve),Ie(L,"pointermove",Ce),Ie(L,"pointerup",ce),Ie(L,"pointercancel",ce),Ie(L,"lostpointercapture",ce);if(Ie(A,"keydown",Te),Ie(A,"focus",Q),Ie(A,"blur",Z),Ie(t,"mouseenter",Be),Ie(t,"mouseleave",Pe),Ie(A,"mouseenter",_e),Ie(A,"mouseleave",De),h)Ie(se,"mouseenter",_e),Ie(se,"mouseleave",De);return Je(),{refresh:Je,show:Q,hide:G,updateBounds:be,updatePosition:ge,isVisible:()=>n,destroy:At}};function Zt(t){let e=0,o=0,r=0;function s(){return r>0?o/r:0}function a(T){if(e=T,T>0.1&&T<50)o+=T,r++}function i(){let T=t.getTotal();if(T===0)return 0;let C=t.getItemSize();if(C<=0)return 0;let x=t.getContainerSize();if(x<=0)return 0;let F=t.getScrollPosition(),j=typeof t.getColumns==="function"?t.getColumns():1,h=Math.ceil(T/j),B=Math.max(0,h*C-x),p=Math.max(0,Math.min(F,B)),g=Math.ceil((p+x)/C);return Math.min(g*j,T)}function d(){let T=t.getTotal(),C=i();return{progress:T>0?Math.min(100,Math.max(0,C/T*100)):0,velocity:e,velocityAvg:s(),itemCount:C,total:T}}return{getState:d,onVelocity:a}}export{rt as buildLayoutItems,Ze as calculateMissingRanges,gt as clearSelection,Et as createAsyncManager,Ct as createEmitter,lt as createGridLayout,st as createGroupLayout,ot as createGroupedSizeFn,xt as createMasonryLayout,It as createMasonryRenderer,Ve as createPlaceholderManager,Mt as createScrollbar,ft as createSelectionState,Lt as createSizeCache,Ge as createSparseStorage,Zt as createStats,at as createStickyHeader,ct as createTableHeader,ut as createTableLayout,vt as createTableRenderer,Ye as deselectItems,qe as filterPlaceholders,yt as getSelectedIds,St as getSelectedItems,it as isGroupHeader,He as isPlaceholderItem,ht as isSelected,Fe as mergeRanges,bt as selectAll,Ue as selectItems,pt as toggleSelection};
1
+ var tt="x",nt=20,We="_isPlaceholder",we="__placeholder_";function Re(t){let e=t.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let o=0;o<e.length;o++)e[o].setAttribute("tabindex","-1");t._stamp=0}var ke={key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0},Ue=(t,e)=>{let o=0,r=t.length-1;while(o<r){let s=o+r+1>>>1;if(t[s].headerLayoutIndex<=e)o=s;else r=s-1}return o},rt=(t,e)=>{let o=0,r=t.length-1;while(o<r){let s=o+r+1>>>1;if(t[s].firstDataIndex<=e)o=s;else r=s-1}return o},ot=(t,e,o)=>{if(t===0)return[];let r=[],s=null,a=0,i=0;for(let f=0;f<t;f++){let A=o?.(f);if(!A)continue;let C=e(f,A);if(s===null)s=C,a=0;else if(C!==s){let b=f-a;r.push({key:s,groupIndex:r.length,headerLayoutIndex:i,firstDataIndex:a,count:b}),i=i+1+b,s=C,a=f}}if(s!==null)r.push({key:s,groupIndex:r.length,headerLayoutIndex:i,firstDataIndex:a,count:t-a});return r},st=(t,e)=>{if(t.length===0||e.length===0)return[];let o=t.length+e.length,r=Array(o),s=0;for(let a of e){r[s]={id:`__group_header_${a.groupIndex}`,__groupHeader:!0,groupKey:a.key,groupIndex:a.groupIndex},s++;for(let i=0;i<a.count;i++)r[s]=t[a.firstDataIndex+i],s++}return r},at=(t,e,o=!1)=>{let r=typeof e==="number"?(s)=>e:e;return(s)=>{let a=t.getEntry(s);if(a.type==="header"){if(o&&a.group.groupIndex===0)return 0;return t.getHeaderHeight(a.group.groupIndex)}return r(a.dataIndex)}},it=(t,e,o)=>{let r=ot(t,e.getGroupForIndex,o),s=t+r.length,a=e.header?.height??e.header?.width??e.headerHeight,i=typeof a==="number"?(p)=>a:(p)=>{let g=r[p];if(!g)return 0;return a(g.key,p)},f={type:"header",group:ke},A={type:"item",dataIndex:0,group:ke};return{get totalEntries(){return s},get groupCount(){return r.length},get groups(){return r},getEntry:(p)=>{if(r.length===0)return A.dataIndex=p,A.group=ke,A;let g=Ue(r,p),l=r[g];if(p===l.headerLayoutIndex)return f.group=l,f;let h=p-l.headerLayoutIndex-1;return A.dataIndex=l.firstDataIndex+h,A.group=l,A},layoutToDataIndex:(p)=>{if(r.length===0)return p;let g=Ue(r,p),l=r[g];if(p===l.headerLayoutIndex)return-1;let h=p-l.headerLayoutIndex-1;return l.firstDataIndex+h},dataToLayoutIndex:(p)=>{if(r.length===0)return p;let g=rt(r,p),l=r[g],h=p-l.firstDataIndex;return l.headerLayoutIndex+1+h},getGroupAtLayoutIndex:(p)=>{if(r.length===0)return ke;let g=Ue(r,p);return r[g]},getGroupAtDataIndex:(p)=>{if(r.length===0)return ke;let g=rt(r,p);return r[g]},getHeaderHeight:i,rebuild:(p,g)=>{r=ot(p,e.getGroupForIndex,g??o),s=p+r.length}}};var Rt=(t,e,o,r,s=0)=>{let a=o?"width":"height",i=document.createElement("div");return i.className=`${e}-sticky-header`,i.setAttribute("role","presentation"),i.setAttribute("aria-hidden","true"),i.style.cssText="z-index:5;pointer-events:none;overflow:hidden;"+(o?`position:absolute;top:0;bottom:0;left:${s||0}px`:`position:relative;top:${s||0}px`),i.style[a]=`${r}px`,t.insertBefore(i,t.firstChild),i},lt=(t,e,o,r,s,a=!1,i=0,f,A)=>{let C=a?"width":"height",b=a?"height":"width",P=a?"X":"Y",F=(v,S)=>{v.style[C]=`${S}px`},y=f??Rt(t,s,a,0,i),B=()=>{let v=document.createElement("div");return v.className="sticky-group",v.style.position="absolute",v.style.willChange="transform",v.style[b]="100%",v},p=B(),g=B();y.append(p,g);let l=p,h=g,m=e.groups,E=[],z=[],O=[],R=0,V=()=>{m=e.groups,R=m.length,E=Array(R),z=Array(R),O=Array(R);for(let v=0;v<R;v++)E[v]=A?A(m[v].headerLayoutIndex):o.getOffset(m[v].headerLayoutIndex),z[v]=e.getHeaderHeight(v),O[v]=z[v]};V();let _=-1,Y=0,U=0,re=-1,ie=!1,Se=0,me=!1,pe=(v,S)=>{r(v,S);let w=z[S];return F(v,w),w},d=(v)=>{v.replaceChildren(),v.style.transform=""},n=(v)=>{if(v===_)return;if(_=v,Y=0,U=0,v<0||v>=R){d(l);return}Y=pe(l,v),U=O[v],F(y,Y),l.style.transform=""},u=(v)=>{if(v===Se)return;Se=v;let S=Math.round(v);l.style.transform=`translate${P}(${S}px)`,h.style.transform=`translate${P}(${S+Y}px)`},c=()=>{Se=0,l.style.transform="",h.style.transform=""},H=()=>{if(!me)return;let v=l;l=h,h=v,_=re,Y=_>=0?z[_]:0,U=_>=0?O[_]:0,F(y,Y),d(h),re=-1,me=!1,c()},T=()=>{if(!me)return;d(h),re=-1,me=!1,c()},N=!!f,k=()=>{if(ie)return;if(ie=!0,N)y.style.visibility="";else y.style.display=""},D=()=>{if(!ie)return;if(ie=!1,N)y.style.visibility="hidden";else y.style.display="none";d(l),_=-1,Y=0,U=0,T()},j=(v)=>{if(R===0){if(me)T();if(!ie)k();n(-1);return}if(v<E[0]){D();return}let S=0,w=R-1;while(S<w){let W=S+w+1>>>1;if(E[W]+O[W]<=v)S=W;else w=W-1}if(!ie)k();n(S);let X=S+1;if(X<R){let W=E[X]-v;if(W<=0&&W>-U){if(re!==X||!me)re=X,pe(h,X),me=!0;let K=U>0?W/U*Y:W;u(K)}else if(W<=-U){if(me)H()}else if(me)T()}else if(me)T()},ee=()=>{V();let v=_;if(_=-1,Y=0,U=0,v>=0)n(v)},Z=()=>{y.remove(),_=-1,Y=0,U=0,re=-1,ie=!1,me=!1};if(!f)y.style.display="none";return{update:j,refresh:ee,show:k,hide:D,destroy:Z}};var ut=(t)=>t!==null&&typeof t==="object"&&t.__groupHeader===!0;var ct=(t)=>{let e=Math.max(1,Math.floor(t.columns)),o=t.gap??0,r=t.isHeaderFn,s={row:0,col:0},a=(p)=>{if(p<=0)return 0;if(!r)return Math.ceil(p/e);let g=0,l=0,h=0;for(let m=0;m<p;m++)if(r(m)){if(h++,l)g++,l=0;g++,l=0}else if(l++,l>=e)g++,l=0;if(l)g++;return g},i=(p)=>(s.row=f(p),s.col=A(p),s),f=(p)=>{if(!r)return Math.floor(p/e);let g=0,l=0;for(let h=0;h<=p;h++)if(r(h)){if(l)g++,l=0;if(h===p)return g;g++,l=0}else{if(h===p)return g;if(l++,l>=e)g++,l=0}return g},A=(p)=>{if(!r)return p%e;if(r(p))return 0;let g=0;for(let l=0;l<=p;l++)if(r(l))g=0;else{if(l===p)return g;if(g++,g>=e)g=0}return g},C=(p,g,l,h)=>{if(l<=0){h.start=0,h.end=-1;return}if(!r){h.start=Math.max(0,p*e),h.end=Math.min(l-1,(g+1)*e-1);return}let m=b(p,g,l);h.start=m.start,h.end=m.end},b=(p,g,l)=>{if(l<=0)return{start:0,end:-1};if(!r){let O=Math.max(0,p*e),R=Math.min(l-1,(g+1)*e-1);return{start:O,end:R}}let h=-1,m=-1,E=0,z=0;for(let O=0;O<l;O++){if(r(O)){if(z)E++,z=0;if(E>=p&&E<=g){if(h<0)h=O;m=O}E++,z=0}else{if(E>=p&&E<=g){if(h<0)h=O;m=O}if(z++,z>=e)E++,z=0}if(E>g&&!z)break}if(h<0)return{start:0,end:-1};return{start:h,end:m}},P=(p,g,l)=>{if(g<0||g>=e)return-1;let h=p*e+g;if(h<0||h>=l)return-1;return h},F=(p)=>{let g=(e-1)*o;return Math.max(0,(p-g)/e)};return{get columns(){return e},get gap(){return o},update:(p)=>{if(p.columns!==void 0)e=Math.max(1,Math.floor(p.columns));if(p.gap!==void 0)o=p.gap;if(p.isHeaderFn!==void 0)r=p.isHeaderFn},getTotalRows:a,getPosition:i,getRow:f,getCol:A,getItemRange:b,fillItemRange:C,getItemIndex:P,getColumnWidth:F,getColumnOffset:(p,g)=>{let l=F(g);return p*(l+o)}}};var dt=(t,e=50,o=1/0,r=!0,s="none")=>{let a=t,i=[],f=0,A=0,C=()=>{i=a.map((m,E)=>({def:m,index:E,width:0,minWidth:wt(m.minWidth??e,1),maxWidth:m.maxWidth??o,resizable:m.resizable??r,offset:0}))},b=()=>{if(s==="none"||f<=0||f>=A)return;if(s==="spacer"){f=A;return}let m=A-f,E=f;for(let z=0;z<i.length;z++){let O=i[z];O.width=$e(O.width+m*(O.width/E),O.minWidth,O.maxWidth)}F()},P=(m)=>{if(A=m,i.length===0){f=0;return}let E=0,z=0;for(let O=0;O<i.length;O++){let R=i[O],V=R.def;if(V.width!==void 0)R.width=$e(V.width,R.minWidth,R.maxWidth),E+=R.width;else z++}if(z){let R=Math.max(0,m-E)/z;for(let V=0;V<i.length;V++){let _=i[V];if(_.def.width===void 0)_.width=$e(R,_.minWidth,_.maxWidth)}}F(),b()},F=()=>{let m=0;for(let E=0;E<i.length;E++){let z=i[E];z.offset=m,m+=z.width}f=m},y=(m,E)=>{if(m<0||m>=i.length)return 0;let z=i[m];if(!z.resizable)return z.width;let O=$e(E,z.minWidth,z.maxWidth);if(z.width=O,F(),s==="spacer")b();return O},B=(m)=>i[m],p=(m)=>{if(i.length===0)return;if(m<0)return i[0];if(m>=f)return i[i.length-1];let E=0,z=i.length-1;while(E<z){let O=E+z>>>1,R=i[O];if(m<R.offset)z=O-1;else if(m>=R.offset+R.width)E=O+1;else return R}return i[E]},g=(m)=>{if(m<0||m>=i.length)return 0;return i[m].offset},l=(m)=>{if(m<0||m>=i.length)return 0;return i[m].width},h=(m)=>{a=m,C()};return C(),{get columns(){return i},get totalWidth(){return f},resolve:P,updateColumns:h,resizeColumn:y,getColumn:B,getColumnAtX:p,getColumnOffset:g,getColumnWidth:l}},$e=(t,e,o)=>Math.min(o,Math.max(e,t)),wt=(t,e)=>Math.max(e,t);var mt=(t,e,o,r,s,a)=>{let i=document.createElement("div");i.setAttribute("role","rowgroup");let f=document.createElement("div");f.className=`${o}-table-header`,f.setAttribute("role","row"),f.setAttribute("aria-rowindex","1"),f.style.height=`${e}px`;let A=document.createElement("div");A.className=`${o}-table-header-scroll`,A.setAttribute("role","presentation"),f.appendChild(A),i.appendChild(f),t.insertBefore(i,t.firstChild),t.style.setProperty("--vlist-table-header-height",`${e}px`);let C=[],b=[],P=!0,F=null,y="asc",B=null,p=!1,g=-1,l=0,h=0,m=0,E=(n,u)=>{let c=document.createElement("div");c.className=`${o}-table-header-cell`,c.setAttribute("role","columnheader"),c.setAttribute("aria-colindex",String(u+1)),c.setAttribute("tabindex",u===0?"0":"-1"),c.dataset.columnKey=n.def.key;let H=n.def.align;if(H==="center")c.classList.add(`${o}-table-header-cell--center`);else if(H==="right")c.classList.add(`${o}-table-header-cell--right`);let T=document.createElement("div");T.className=`${o}-table-header-content`;let N=n.def.header?n.def.header(n.def):n.def.label;if(typeof N==="string")T.textContent=N;else T.appendChild(N);if(c.appendChild(T),n.def.sortable){let k=document.createElement("span");k.className=`${o}-table-header-sort`,k.setAttribute("aria-hidden","true"),c.appendChild(k),b.push(k),c.classList.add(`${o}-table-header-cell--sortable`)}else b.push(null);if(n.resizable){let k=document.createElement("div");k.className=`${o}-table-header-resize`,k.dataset.resizeIndex=String(u),c.appendChild(k)}return c},z=(n)=>{B=n,A.textContent="",C=[],b=[];let u=n.columns;for(let c=0;c<u.length;c++){let H=u[c],T=E(H,c);C.push(T),A.appendChild(T)}if(O(n),F)R(F,y)},O=(n)=>{B=n;let u=n.columns;A.style.width=`${n.totalWidth}px`;for(let c=0;c<C.length&&c<u.length;c++){let H=C[c],T=u[c];H.style.width=`${T.width}px`}},R=(n,u)=>{if(F=n,y=u,!B)return;let c=B.columns;for(let H=0;H<b.length&&H<c.length;H++){let T=b[H];if(!T)continue;if(c[H].def.key===n)T.textContent=u==="asc"?"▲":"▼",T.style.opacity="0.7",C[H].setAttribute("aria-sort",u==="asc"?"ascending":"descending");else T.textContent="",T.style.opacity="0",C[H].removeAttribute("aria-sort")}},V=(n)=>{A.style.transform=`translateX(${-n}px)`},_=(n)=>{let u=n.target;if(!u.dataset.resizeIndex)return;if(n.preventDefault(),n.stopPropagation(),g=+u.dataset.resizeIndex,!B)return;let c=B.getColumn(g);if(!c?.resizable)return;p=!0,l=n.clientX,h=c.width,t.classList.add(`${o}--col-resizing`),t.style.cursor="col-resize",u.classList.add(`${o}-table-header-resize--active`),u.setPointerCapture(n.pointerId),u.addEventListener("pointermove",Y),u.addEventListener("pointerup",U),u.addEventListener("pointercancel",U)},Y=(n)=>{if(!p||!B)return;let u=n.clientX-l;if(Math.abs(u)<1)return;let c=Math.max(0,h+u);r(g,c)},U=(n)=>{if(!p)return;let u=n.target;u.removeEventListener("pointermove",Y),u.removeEventListener("pointerup",U),u.removeEventListener("pointercancel",U);try{u.releasePointerCapture(n.pointerId)}catch{}u.classList.remove(`${o}-table-header-resize--active`),t.classList.remove(`${o}--col-resizing`),t.style.cursor="",p=!1,g=-1},re=(n)=>{let u=n.target;if(u.dataset.resizeIndex)return;if(p)return;let c=u;while(c&&!c.dataset.columnKey)if(c=c.parentElement,c===f||c===null)return;let H=c.dataset.columnKey;if(!B)return;let T=B.columns,N=-1;for(let D=0;D<T.length;D++)if(T[D].def.key===H){N=D;break}if(N===-1)return;let k=T[N];if(a)a({key:H,index:N,event:n});if(k.def.sortable&&s){let D;if(F===H)D=y==="asc"?"desc":null;else D="asc";s({key:H,index:N,direction:D})}},ie=(n)=>{if(n<0||n>=C.length)return;C[m]?.setAttribute("tabindex","-1"),m=n;let u=C[m];u.setAttribute("tabindex","0"),u.focus()},Se=(n)=>{let u=n.key;if(u==="ArrowRight"){if(n.ctrlKey||n.metaKey){if(!B)return;let c=B.getColumn(m);if(c?.resizable)r(m,c.width+10),n.preventDefault()}else if(m<C.length-1)ie(m+1),n.preventDefault();n.stopPropagation();return}if(u==="ArrowLeft"){if(n.ctrlKey||n.metaKey){if(!B)return;let c=B.getColumn(m);if(c?.resizable)r(m,c.width-10),n.preventDefault()}else if(m>0)ie(m-1),n.preventDefault();n.stopPropagation();return}if(u==="Home"){ie(0),n.preventDefault(),n.stopPropagation();return}if(u==="End"){ie(C.length-1),n.preventDefault(),n.stopPropagation();return}if(u==="Enter"||u===" "){if(!B)return;let c=B.getColumn(m);if(c?.def.sortable&&s){let H;if(F===c.def.key)H=y==="asc"?"desc":null;else H="asc";s({key:c.def.key,index:m,direction:H}),n.preventDefault()}n.stopPropagation();return}if(u==="ArrowDown"){t.focus(),n.preventDefault(),n.stopPropagation();return}};return f.addEventListener("pointerdown",_),f.addEventListener("click",re),f.addEventListener("keydown",Se),{element:f,update:O,updateSort:R,rebuild:z,show:()=>{if(P)return;P=!0,f.style.display=""},hide:()=>{if(!P)return;P=!1,f.style.display="none"},destroy:()=>{f.removeEventListener("pointerdown",_),f.removeEventListener("click",re),f.removeEventListener("keydown",Se),t.style.removeProperty("--vlist-table-header-height"),i.remove(),C=[],b=[],B=null,P=!1},syncScroll:V}};var Ge=(t,e,o)=>{if(String(o).startsWith(we))return!1;let r=we+e;if(t.has(r))return t.delete(r),t.add(o),!0;return!1},ft=(t)=>({selected:new Set(t??[]),focusedIndex:-1,focusVisible:!1}),Ye=(t,e,o)=>{if(o==="none")return t;let r=new Set(t.selected);if(o==="single"){if(r.clear(),e.length>0)r.add(e[0])}else for(let s of e)r.add(s);return{...t,selected:r}},Ze=(t,e)=>{let o=new Set(t.selected);for(let r of e)o.delete(r);return{...t,selected:o}},pt=(t,e,o)=>{if(o==="none")return t;if(t.selected.has(e))return Ze(t,[e]);else return Ye(t,[e],o)},bt=(t,e,o)=>{if(o!=="multiple")return t;return{...t,selected:new Set(e.map((r)=>r.id))}},gt=(t)=>({...t,selected:new Set});var ht=(t,e)=>t.selected.has(e),yt=(t)=>Array.from(t.selected),St=(t,e)=>{let o=[];for(let r of t.selected){let s=e(r);if(s)o.push(s)}return o};var kt=()=>{let t=[];return{acquire:()=>t.pop()||document.createElement("div"),release:(e)=>{if(e.parentNode?.removeChild(e),t.length<200)e.className="",e.removeAttribute("data-id"),e.removeAttribute("data-index"),e.removeAttribute("aria-selected"),e.removeAttribute("aria-rowindex"),e.removeAttribute("role"),e.style.cssText="",e.textContent="",t.push(e)},clear:()=>{t.length=0}}},vt=(t,e,o,r,s,a,i,f,A,C=()=>0)=>{let b=kt(),P=new Map,F=-1,y=o,B=null,p=null,g=null,l=(S,w)=>{p=S,g=w},h=(S,w)=>{w?S.setAttribute("aria-selected","true"):S.removeAttribute("aria-selected")},m=(S,w,X,W)=>{S.setAttribute("role",w),S.setAttribute("data-id",String(X)),S.setAttribute("data-index",String(W))},E=(S)=>String(S).startsWith("__placeholder_"),z=`${s}-item ${s}-table-row`,O=`${s}-item--selected`,R=`${s}-item--focused`,V=`${s}-table-cell`,_=`${s}-table-cell--center`,Y=`${s}-table-cell--right`,U=`${s}-table-cell-skeleton`,re=`${s}-item--odd`,ie=`${s}-item--placeholder`,Se=`${s}-item--replaced`,me=`${s}-table-row ${s}-table-group-header`,pe=`${s}-table-group-header-content`,d=(S,w,X,W,K=!1)=>{if(X.def.cell){let I=X.def.cell(w,X.def,W);if(typeof I==="string")S.innerHTML=I;else S.replaceChildren(I)}else{let I=w[X.def.key],le=I!=null?String(I):"";if(K&&le)S.innerHTML=`<span>${le}</span>`;else S.textContent=le}if(K&&S.firstElementChild===null){S.replaceChildren();let I=document.createElement("span");I.className=U,S.appendChild(I)}Re(S);let J=S.parentElement;if(J)J._stamp=0},n=(S,w,X,W,K=!1)=>{let J=z;if(f){if(B){let I=B(w);if(I>=0&&(I&1)===1)J+=` ${re}`}else if((w&1)===1)J+=` ${re}`}if(K)J+=` ${ie}`;if(X)J+=` ${O}`;if(W)J+=` ${R}`;S.className=J},u=(S,w)=>{let X=w.def.align;if(X==="center")S.classList.add(_),S.classList.remove(Y);else if(X==="right")S.classList.add(Y),S.classList.remove(_);else S.classList.remove(_,Y)},c=(S,w)=>{let W=y.columns.length;if(w.length===W)return w;let K=[];for(let J=0;J<W;J++){let I;if(J<w.length)I=w[J];else I=document.createElement("div"),I.className=V,S.appendChild(I);K.push(I)}for(let J=W;J<w.length;J++)w[J].remove();return K},H=(S,w,X,W)=>{let K=b.acquire(),J=S,I=X.getSize(w),le=X.getOffset(w)-W;K.style.cssText=`width:${y.totalWidth}px;height:${I}px;transform:translateY(${le}px)`,K.className=me,m(K,"presentation",S.id,w),K.removeAttribute("aria-selected"),K.removeAttribute("aria-rowindex"),K.replaceChildren();let se=document.createElement("div");if(se.className=pe,g){let te=g(J.groupKey,J.groupIndex);if(typeof te==="string")se.innerHTML=te;else se.appendChild(te)}return K.appendChild(se),Re(K),{element:K,cells:[],index:w,isGroupHeader:!0,_lastItem:S,lastItemId:S.id,lastSelected:!1,lastFocused:!1,lastOffset:le,lastHeight:I}},T=(S,w,X,W,K,J)=>{let I=b.acquire(),le=K.getSize(w),se=K.getOffset(w)-J,te=E(S.id);I.style.cssText=`width:${y.totalWidth}px;height:${le}px;transform:translateY(${se}px)`,n(I,w,X,W,te),m(I,"row",S.id,w),I.id=`${a}-item-${w}`,I.setAttribute("aria-rowindex",String(w+2)),h(I,X);let Le=c(I,[]),x=y.columns;for(let M=0;M<Le.length&&M<x.length;M++){let q=Le[M],Q=x[M];q.style.cssText=`left:${Q.offset}px;width:${Q.width}px`,q.setAttribute("role","gridcell"),q.setAttribute("aria-colindex",String(M+1)),u(q,Q),d(q,S,Q,w,te)}return{element:I,cells:Le,index:w,isGroupHeader:!1,_lastItem:S,lastItemId:S.id,lastSelected:X,lastFocused:W,lastOffset:se,lastHeight:le}},N=(S,w,X,W,K=C())=>{let J=!1,I=i();if(I!==F)F=I,J=!0;let le=null,se=e();B=typeof f==="string"&&A?A():null;for(let te=w.start;te<=w.end;te++){let Le=te-w.start,x=S[Le];if(!x)continue;let M=X.has(x.id),q=te===W,Q=p?p(x):!1,G=P.get(te);if(G){if(G.isGroupHeader!==Q){b.release(G.element),P.delete(te);let be=Q?H(x,te,se,K):T(x,te,M,q,se,K);if(P.set(te,be),!le)le=document.createDocumentFragment();le.appendChild(be.element);continue}if(Q){if(G._lastItem!==x){let oe=x,ue=G.element.firstElementChild;if(ue&&g){let he=g(oe.groupKey,oe.groupIndex);if(typeof he==="string")ue.innerHTML=he;else ue.replaceChildren(he);Re(G.element)}G.element.setAttribute("data-id",String(x.id)),G._lastItem=x,G.lastItemId=x.id}let ge=se.getOffset(te)-K;if(G.lastOffset!==ge)G.lastOffset=ge,G.element.style.transform=`translateY(${ge}px)`;let Te=se.getSize(te);if(G.lastHeight!==Te)G.lastHeight=Te,G.element.style.height=`${Te}px`}else{let be=G._lastItem!==x,ge=G.lastSelected!==M,Te=G.lastFocused!==q;if(be){let he=G.lastItemId!=null&&E(G.lastItemId),xe=E(x.id);if(!xe&&Ge(X,te,x.id))M=!0;let fe=y.columns;for(let ce=0;ce<G.cells.length&&ce<fe.length;ce++)d(G.cells[ce],x,fe[ce],te,xe);if(n(G.element,te,M,q,xe),G.element.setAttribute("data-id",String(x.id)),h(G.element,M),he&&!xe)G.element.classList.add(Se),setTimeout(()=>{G.element.classList.remove(Se)},300);G._lastItem=x,G.lastItemId=x.id,G.lastSelected=M,G.lastFocused=q}else if(ge||Te)n(G.element,te,M,q,E(x.id)),h(G.element,M),G.lastSelected=M,G.lastFocused=q;let oe=se.getOffset(te)-K;if(G.lastOffset!==oe)G.lastOffset=oe,G.element.style.transform=`translateY(${oe}px)`;let ue=se.getSize(te);if(G.lastHeight!==ue)G.lastHeight=ue,G.element.style.height=`${ue}px`;if(J)G.element.setAttribute("aria-rowindex",String(te+2))}}else{if(Ge(X,te,x.id))M=!0;let be=Q?H(x,te,se,K):T(x,te,M,q,se,K);if(P.set(te,be),!le)le=document.createDocumentFragment();le.appendChild(be.element)}}if(le)t.appendChild(le);for(let[te,Le]of P)if(te<w.start||te>w.end)b.release(Le.element),P.delete(te)},k=(S,w,X,W)=>{let K=P.get(S);if(!K)return;if(K.isGroupHeader)return;let J=y.columns;for(let I=0;I<K.cells.length&&I<J.length;I++)d(K.cells[I],w,J[I],S);K.element.setAttribute("data-id",String(w.id)),K._lastItem=w,K.lastItemId=w.id,n(K.element,S,X,W),h(K.element,X),K.lastSelected=X,K.lastFocused=W},D=(S,w,X)=>{let W=P.get(S);if(!W)return;if(W.isGroupHeader)return;let K=W.lastSelected!==w,J=W.lastFocused!==X;if(K||J)n(W.element,S,w,X),h(W.element,w),W.lastSelected=w,W.lastFocused=X},j=(S)=>{y=S;let w=S.columns;for(let[,X]of P)if(X.element.style.width=`${S.totalWidth}px`,X.cells.length>0)for(let W=0;W<X.cells.length&&W<w.length;W++){let K=X.cells[W],J=w[W];K.style.left=`${J.offset}px`,K.style.width=`${J.width}px`}},ee=(S)=>P.get(S)?.element,Z=()=>{for(let[,S]of P)b.release(S.element);P.clear(),F=-1};return{render:N,updateItem:k,updateItemClasses:D,getElement:ee,updateColumnLayout:j,setGroupHeaderFn:l,clear:Z,destroy:()=>{Z(),b.clear()}}};var xt=(t)=>{let e=Math.max(1,Math.floor(t.columns)),o=t.gap??0,r=t.containerSize,s=t.crossOffset??0,a=t.mainOffset??0,i=0,f=[],A=()=>{let l=(e-1)*o;i=Math.max(0,(r-l)/e),f=Array(e);let h=i+o;for(let m=0;m<e;m++)f[m]=s+m*h};A();let C=[],b=0,P=[],F=(l,h)=>{if(l<=0)return b=0,C=[],[];let m=Array(e).fill(a),E=Array(e);for(let R=0;R<e;R++)E[R]=[];let z=Array(l);for(let R=0;R<l;R++){let V=0,_=m[0];for(let re=1;re<e;re++){let ie=m[re];if(ie<_)_=ie,V=re}let Y=h(R),U=m[V];z[R]={index:R,x:f[V],y:U,lane:V,size:Y,crossSize:i},E[V].push(R),m[V]=U+Y+o}C=E;let O=0;for(let R=0;R<e;R++){let V=m[R],_=V>0?V-o:0;if(_>O)O=_}return b=O,z},y=(l)=>{if(l.length===0)return b;if(b)return b;let h=Array(e).fill(0);for(let E of l){let z=E.y+E.size,O=h[E.lane];if(z>O)h[E.lane]=z}let m=0;for(let E=0;E<e;E++)if(h[E]>m)m=h[E];return m},B=(l,h,m)=>{if(l.length===0||m<=h)return P.length=0,P;if(C.length===0||C.length!==e)return p(l,h,m);P.length=0;for(let E=0;E<e;E++){let z=C[E],O=z.length;if(!O)continue;let R=0,V=O;while(R<V){let _=R+V>>>1,Y=l[z[_]];if(Y.y+Y.size<=h)R=_+1;else V=_}for(let _=R;_<O;_++){let Y=l[z[_]];if(Y.y>=m)break;P.push(Y)}}return P},p=(l,h,m)=>{P.length=0;for(let E of l)if(E.y+E.size>h&&E.y<m)P.push(E);return P};return{get columns(){return e},get gap(){return o},get containerSize(){return r},update:(l)=>{let h=!1;if(l.columns!==void 0){let m=Math.max(1,Math.floor(l.columns));if(m!==e)e=m,h=!0}if(l.gap!==void 0&&l.gap!==o)o=l.gap,h=!0;if(l.containerSize!==void 0&&l.containerSize!==r)r=l.containerSize,h=!0;if(l.crossOffset!==void 0&&l.crossOffset!==s)s=l.crossOffset,h=!0;if(l.mainOffset!==void 0&&l.mainOffset!==a)a=l.mainOffset,h=!0;if(h)A()},calculateLayout:F,getTotalSize:y,getVisibleItems:B}};var Tt=(t,e,o)=>{let r=Array.from(e).sort((i,f)=>i-f);if(r.length<=1)return;let s=[];for(let i=0;i<r.length;i++){let f=o(r[i]);if(f)s.push(f)}if(s.length<=1)return;let a=t.firstChild;for(let i=0;i<s.length;i++){let f=s[i];if(f===a)a=a.nextSibling;else t.insertBefore(f,a)}};var _t=(t=200)=>{let e=[];return{acquire:()=>{let a=e.pop();if(a)return a;let i=document.createElement("div");return i.setAttribute("role","option"),i},release:(a)=>{if(a.remove(),e.length<t)a.className="",a.textContent="",a.removeAttribute("style"),a.removeAttribute("data-index"),a.removeAttribute("data-id"),a.removeAttribute("data-lane"),e.push(a)},clear:()=>{e.length=0}}},Pt=1,It=(t,e,o,r=!1,s,a,i,f,A=()=>0)=>{let C=_t(),b=new Map,P=new Set,F=0,y="",B=-1,p=!1,g={selected:!1,focused:!1},l=(d,n)=>(g.selected=d,g.focused=n,g),h=`${o}-item ${o}-masonry-item`,m=`${o}-group-header`,E=`${o}-item--selected`,z=`${o}-item--focused`,O=(d,n)=>{if(typeof n==="string")d.innerHTML=n;else d.replaceChildren(n);Re(d)},R=(d,n,u)=>{d.classList.toggle(E,n),d.classList.toggle(z,u)},V=(d,n)=>{let u=Math.round(n.y-U);if(r)d.style.transform=`translate(${u}px, ${Math.round(n.x)}px)`;else d.style.transform=`translate(${Math.round(n.x)}px, ${u}px)`},_=(d,n)=>{if(r)d.style.width=`${n.size}px`,d.style.height=`${n.crossSize}px`;else d.style.width=`${n.crossSize}px`,d.style.height=`${n.size}px`},Y=(d,n,u,c,H)=>{let T=C.acquire(),N=n.__groupHeader,k=l(c,H);if(T.className=N?m:h,T.dataset.index=String(d),T.dataset.id=String(n.id),T.dataset.lane=String(u.lane),N)T.setAttribute("role","presentation"),T.removeAttribute("aria-selected"),T.removeAttribute("aria-setsize"),T.removeAttribute("aria-posinset"),T.removeAttribute("id");else if(p){if(T.setAttribute("role","option"),T.ariaSelected=String(c),a)T.id=`${a}-item-${d}`;if(s){let j=s();if(j!==B)B=j,y=String(j);T.setAttribute("aria-setsize",y);let ee=i?i(d):d+1;T.setAttribute("aria-posinset",String(ee))}}else T.setAttribute("role","listitem"),T.removeAttribute("aria-selected"),T.removeAttribute("aria-setsize"),T.removeAttribute("aria-posinset"),T.removeAttribute("id");_(T,u);let D=e(n,d,k);return O(T,D),R(T,c,H),V(T,u),{element:T,lastItem:n,lastSelected:c,lastFocused:H,lastY:u.y-U,absY:u.y,lastX:u.x,lastSize:u.size,lastCrossSize:u.crossSize,lastSeenFrame:F}},U=0,re=(d,n,u,c,H=A())=>{if(U=H,F++,p=typeof f==="function"?f():f===!0,p&&s){let N=s();if(N!==B){B=N,y=String(N);for(let k of b.values())if(k.element.getAttribute("role")==="option")k.element.setAttribute("aria-setsize",y)}}P.clear();for(let N=0;N<n.length;N++)P.add(n[N].index);let T=null;for(let N=0;N<n.length;N++){let k=n[N],D=k.index,j=d(D);if(!j)continue;let ee=u.has(j.id),Z=D===c,v=b.get(D);if(v){let S=v.lastItem!==j,w=v.lastSelected!==ee,X=v.lastFocused!==Z,W=v.lastY!==k.y-U||v.lastX!==k.x,K=v.lastSize!==k.size||v.lastCrossSize!==k.crossSize;if(S){let J=l(ee,Z),I=e(j,D,J);if(O(v.element,I),v.element.dataset.id=String(j.id),v.lastItem=j,!j.__groupHeader&&p){let se=i?i(D):D+1;v.element.setAttribute("aria-posinset",String(se))}}if(S||w||X){if(R(v.element,ee,Z),p)v.element.ariaSelected=String(ee);else v.element.removeAttribute("aria-selected");v.lastSelected=ee,v.lastFocused=Z}if(K)_(v.element,k),v.lastSize=k.size,v.lastCrossSize=k.crossSize;if(W)V(v.element,k),v.lastY=k.y-U,v.absY=k.y,v.lastX=k.x}else{let S=Y(D,j,k,ee,Z);if(!T)T=document.createDocumentFragment();T.appendChild(S.element),b.set(D,S)}}if(T)t.appendChild(T);for(let[N,k]of b)if(P.has(N))k.lastSeenFrame=F;else if(F-k.lastSeenFrame>Pt)C.release(k.element),b.delete(N);else{let D=Math.round(k.absY-U);if(D!==k.lastY){k.lastY=D;let j=Math.round(k.lastX);k.element.style.transform=r?`translate(${D}px, ${j}px)`:`translate(${j}px, ${D}px)`}}},ie=()=>{for(let d of b.values())C.release(d.element);b.clear(),t.innerHTML=""};return{render:re,getElement:(d)=>b.get(d)?.element,updateItemClasses:(d,n,u)=>{let c=b.get(d);if(!c)return;let H=c.lastSelected!==n,T=c.lastFocused!==u;if(H||T)R(c.element,n,u),c.lastSelected=n,c.lastFocused=u},sortDOM:()=>{Tt(t,b.keys(),(d)=>b.get(d)?.element)},clear:ie,destroy:()=>{ie(),C.clear()}}};var Ot=(t,e,o)=>{let r=e;return{getOffset:(s)=>s*t,getSize:(s)=>t,indexAtOffset:(s)=>{if(r===0||t===0)return 0;return Math.max(0,Math.min(Math.floor(s/t),r-1))},getTotalSize:()=>{let s=r*t;return s>0?s-o:0},getTotal:()=>r,rebuild:(s)=>{r=s},invalidate:()=>{},isVariable:()=>!1}};var Lt=(t,e,o,r)=>{while(e<o){let s=e+o+1>>>1;if(t[s]<=r)e=s;else o=s-1}return e},Dt=(t,e,o)=>{let r=0,s=0,a=new Float64Array(0),i=new Float64Array(0),f=new Float64Array(1),A=(b,P)=>{for(let F=b;F<s;F++){if(F<=P){let y=F<<9,B=Math.min(y+512,r),p=0;for(let g=y;g<B;g++)a[g]=p,p+=t(g);i[F]=p}f[F+1]=f[F]+i[F]}},C=(b)=>{r=b,s=Math.ceil(b/512),a=new Float64Array(b),i=new Float64Array(s),f=new Float64Array(s+1),A(0,s-1)};return C(e),{getOffset:(b)=>{if(b<=0)return 0;if(b>=r)return f[s];return f[b>>>9]+a[b]},getSize:(b)=>t(b),indexAtOffset:(b)=>{if(r===0||b<=0)return 0;if(b>=f[s])return r-1;let P=Lt(f,0,s-1,b),F=P<<9;return Lt(a,F,Math.min(F+512,r)-1,b-f[P])},getTotalSize:()=>{let b=f[s];return b>0?b-o:0},getTotal:()=>r,rebuild:(b)=>C(b),invalidate:(b,P=b)=>{if(b>=0&&P<r)A(b>>>9,P>>>9)},isVariable:()=>!0}},Ct=(t,e,o=0)=>{if(typeof t==="number")return Ot(t,e,o);return Dt(t,e,o)};var Et=()=>{let t={},e=(a,i)=>{if(!t[a])t[a]=new Set;return t[a].add(i),()=>o(a,i)},o=(a,i)=>{t[a]?.delete(i)};return{on:e,off:o,emit:(a,i)=>{t[a]?.forEach((f)=>{try{f(i)}catch(A){}})},clear:(a)=>{if(a)delete t[a];else for(let i in t)delete t[i]}}};var Fe=(t={})=>{let{chunkSize:e=100,maxCachedItems:o=5000,evictionBuffer:r=200,onEvict:s}=t,a=new Map,i=0,f=0,A=(d)=>{let n=a.get(d);if(!n)n={items:Array(e),count:0,lastAccess:Date.now()},a.set(d,n);else n.lastAccess=Date.now();return n},C=(d)=>Math.floor(d/e),b=(d)=>d%e,P=()=>i,F=(d)=>{i=d},y=(d)=>{if(d<0||d>=i)return;let n=C(d),u=a.get(n);if(!u)return;return u.items[b(d)]},B=(d)=>{if(d<0||d>=i)return!1;let n=C(d),u=a.get(n);if(!u)return!1;return u.items[b(d)]!==void 0},p=(d,n)=>{let u=C(d),c=A(u),H=b(d),T=c.items[H]===void 0;if(c.items[H]=n,T)c.count++,f++;if(d>=i)i=d+1},g=(d,n)=>{for(let u=0;u<n.length;u++){let c=n[u];if(c!==void 0)p(d+u,c)}},l=(d,n)=>{if(d<0||d>i)return;let u=C(d),c=Array.from(a.keys()).filter((D)=>D>=u).sort((D,j)=>D-j),H=[];for(let D of c){let j=a.get(D),ee=D*e;for(let Z=0;Z<e;Z++){if(j.items[Z]===void 0)continue;let v=ee+Z;if(v<d)continue;H.push({oldIndex:v,item:j.items[Z]})}}for(let{oldIndex:D}of H){let j=C(D),ee=a.get(j);if(!ee)continue;let Z=b(D);if(ee.items[Z]!==void 0){if(ee.items[Z]=void 0,ee.count--,f--,ee.count===0)a.delete(j)}}i++;for(let{oldIndex:D,item:j}of H){let ee=D+1,Z=C(ee),v=A(Z),S=b(ee);v.items[S]=j,v.count++,f++}let T=C(d),N=A(T),k=b(d);N.items[k]=n,N.count++,f++},h=(d)=>{if(d<0||d>=i)return!1;let n=C(d),u=a.get(n),c=b(d);if(!(u!==void 0&&u.items[c]!==void 0))return!1;let T=n,N=Array.from(a.keys()).filter((D)=>D>=T).sort((D,j)=>D-j),k=[];for(let D of N){let j=a.get(D),ee=D*e;for(let Z=0;Z<e;Z++){if(j.items[Z]===void 0)continue;let v=ee+Z;if(v<=d)continue;k.push({oldIndex:v,item:j.items[Z]})}}if(u.items[c]=void 0,u.count--,f--,u.count===0)a.delete(n);for(let{oldIndex:D}of k){let j=C(D),ee=a.get(j);if(!ee)continue;let Z=b(D);if(ee.items[Z]!==void 0){if(ee.items[Z]=void 0,ee.count--,f--,ee.count===0)a.delete(j)}}for(let{oldIndex:D,item:j}of k){let ee=D-1,Z=C(ee),v=A(Z),S=b(ee);v.items[S]=j,v.count++,f++}return i--,!0},m=(d,n)=>{let u=[];for(let c=d;c<=n&&c<i;c++)u.push(y(c));return u},E=(d,n)=>{for(let u=d;u<=n&&u<i;u++)if(!B(u))return!1;return!0},z=()=>{let d=[],n=null,u=Array.from(a.keys()).sort((c,H)=>c-H);for(let c of u){let H=a.get(c);if(!H)continue;let T=c*e;for(let N=0;N<e;N++){let k=T+N;if(k>=i)break;if(H.items[N]!==void 0)if(n===null)n={start:k,end:k};else if(k===n.end+1)n.end=k;else d.push(n),n={start:k,end:k};else if(n!==null)d.push(n),n=null}}if(n!==null)d.push(n);return d},O=(d,n)=>{let u=[],c=null;for(let H=d;H<=n&&H<i;H++)if(!B(H))if(c===null)c={start:H,end:H};else c.end=H;else if(c!==null)u.push(c),c=null;if(c!==null)u.push(c);return u},R=(d)=>a.has(d),V=(d)=>{let n=a.get(d);if(!n)return!1;let u=d*e,c=Math.min(e,i-u);return n.count>=c},_=(d)=>{let n=a.get(d);if(n)n.lastAccess=Date.now()},Y=(d,n)=>{if(d>n||a.size===0)return;let u=Date.now(),c=C(Math.max(0,d)),H=C(Math.min(i-1,n));for(let T=c;T<=H;T++){let N=a.get(T);if(N)N.lastAccess=u}},U=(d,n)=>{if(f<=o)return 0;let u=Math.max(0,d-r),c=Math.min(i-1,n+r),H=C(u),T=C(c),N=0,k=[];for(let[D,j]of a)if(D<H||D>T)N+=j.count,k.push(D),f-=j.count,a.delete(D);if(N>0&&s)s(N,k);return N},re=()=>{if(f<=o)return 0;let d=Array.from(a.entries()).sort(([,c],[,H])=>c.lastAccess-H.lastAccess),n=0,u=[];for(let[c,H]of d){if(f<=o)break;n+=H.count,f-=H.count,u.push(c),a.delete(c)}if(n>0&&s)s(n,u);return n},ie=()=>({totalItems:i,cachedItems:f,cachedChunks:a.size,chunkSize:e,maxCachedItems:o,memoryEfficiency:i>0?1-f/i:1}),Se=()=>f,me=()=>{a.clear(),f=0};return{chunkSize:e,maxCachedItems:o,getTotal:P,setTotal:F,get:y,has:B,set:p,setRange:g,insert:l,delete:h,getRange:m,isRangeLoaded:E,getLoadedRanges:z,findUnloadedRanges:O,getChunkIndex:C,isChunkLoaded:R,isChunkFullyLoaded:V,touchChunk:_,touchChunksForRange:Y,evictDistant:U,evictToLimit:re,getStats:ie,getCachedCount:Se,clear:me,reset:()=>{me(),i=0}}},Ve=(t)=>{if(t.length===0)return[];let e=[...t].sort((r,s)=>r.start-s.start),o=[{...e[0]}];for(let r=1;r<e.length;r++){let s=e[r],a=o[o.length-1];if(s.start<=a.end+1)a.end=Math.max(a.end,s.end);else o.push({...s})}return o},qe=(t,e,o)=>{let r=Math.floor(t.start/o)*o,s=Math.ceil((t.end+1)/o)*o-1,a={start:r,end:s};if(e.length===0)return[a];let i=[],f=Ve(e),A=a.start;for(let C of f){if(C.end<A)continue;if(C.start>a.end)break;if(C.start>A)i.push({start:A,end:Math.min(C.start-1,a.end)});if(A=C.end+1,A>a.end)break}if(A<=a.end)i.push({start:A,end:a.end});return i};var Be=(t={})=>{let{maskCharacter:e=tt,maxSampleSize:o=nt}=t,r=[],s=!1,a=(b)=>{if(s||b.length===0)return;let P=Math.min(b.length,o);for(let F=0;F<P;F++){let y=b[F];if(!y||typeof y!=="object")continue;let B={},p=!1;for(let[g,l]of Object.entries(y)){if(g.startsWith("_")||g==="id")continue;B[g]=String(l??"").length,p=!0}if(p)r.push(B)}s=!0},i=()=>s,f=(b)=>{let P={id:`${we}${b}`,[We]:!0,_index:b};if(r.length===0)return P.label=e.repeat(12),P;let F=r[b%r.length];for(let[y,B]of Object.entries(F))P[y]=e.repeat(Math.max(1,B));return P};return{analyzeStructure:a,hasAnalyzedStructure:i,generate:f,generateRange:(b,P)=>{let F=[];for(let y=b;y<=P;y++)F.push(f(y));return F},clear:()=>{r=[],s=!1}}},He=(t)=>{if(!t||typeof t!=="object")return!1;return t[We]===!0},Xe=(t)=>t.filter((e)=>!He(e));var $t=50,Mt=(t={})=>{let{adapter:e,initialItems:o,initialTotal:r,storage:s,placeholder:a,pageSize:i=$t,maxConcurrent:f=0,onStateChange:A,onDataChange:C,onItemsLoaded:b,onItemsEvicted:P,onLoadError:F}=t,y=Fe({...s,onEvict:(x,M)=>{P?.(x),U(),Y()}}),B=null,p=()=>{if(!B)B=Be(a);return B},g=new Map,l=!1,h,m=!0,E,z,O=[],R=0,V=new Map,_=()=>{for(let x of V.values())x[1].abort();V.clear()},Y=()=>{A?.(c())},U=()=>{C?.()},re=()=>{g.clear();let x=y.getLoadedRanges();for(let M of x)for(let q=M.start;q<=M.end;q++){let Q=y.get(q);if(Q&&!He(Q))g.set(Q.id,q)}},ie=(x,M)=>{if(!He(M))g.set(M.id,x)},Se=(x)=>{g.delete(x)},me=(x,M)=>`${x}-${M}`,pe=()=>y.getTotal(),d=()=>y.getCachedCount(),n=()=>l,u=()=>m,c=()=>({total:y.getTotal(),cached:y.getCachedCount(),isLoading:l,pendingRanges:O,error:h,hasMore:m,cursor:E}),H=()=>y,T=()=>p(),N=(x)=>{let M=y.get(x);if(M!==void 0)return M;if(x>=0&&x<y.getTotal())return p().generate(x);return},k=(x)=>{let M=g.get(x);if(M===void 0)return;return y.get(M)},D=(x)=>g.get(x)??-1,j=(x)=>{let M=y.get(x);return M!==void 0&&!He(M)},ee=(x,M)=>{let q=[],Q=y.getTotal();y.touchChunksForRange(x,Math.min(M,Q-1));for(let G=x;G<=M&&G<Q;G++){let be=y.get(G);if(be!==void 0)q.push(be);else q.push(p().generate(G))}return q},Z=(x)=>{y.setTotal(x),m=y.getCachedCount()<x,U(),Y()},v=(x,M=0,q)=>{if(e&&x.length>0){let Q=p();if(!Q.hasAnalyzedStructure())Q.analyzeStructure(x)}for(let Q=0;Q<x.length;Q++){let G=x[Q];if(G!==void 0){let be=M+Q;y.set(be,G),ie(be,G)}}if(q!==void 0)y.setTotal(q);else if(M+x.length>y.getTotal())y.setTotal(M+x.length);if(y.getCachedCount()>=y.getTotal()&&y.getTotal()>0)m=!1;U(),Y(),b?.(x,M,y.getTotal())},S=(x,M)=>{let q=y.get(x);if(!q)return!1;let Q=q.id,G={...q,...M};if(y.set(x,G),M.id!==void 0&&M.id!==Q)Se(Q);return ie(x,G),U(),Y(),!0},w=(x,M)=>{y.insert(M,x),re(),_(),U(),Y()},X=(x)=>{let M=g.get(x);if(M===void 0)return!1;if(!y.delete(M))return!1;return re(),_(),U(),Y(),!0},W=async(x,M)=>{if(!e)return;let q=y.chunkSize,Q=Math.floor(x/q),G=Math.floor(M/q),be=q*2;for(let[oe,ue]of V){let he=oe.indexOf("-"),xe=parseInt(oe.slice(0,he),10);if(Math.abs(xe-x)>be)ue[1].abort(),V.delete(oe)}let ge=[],Te=[];for(let oe=Q;oe<=G;oe++){let ue=oe*q,he=ue+q-1,xe=me(ue,he);if(y.isChunkFullyLoaded(oe))continue;let ce=V.get(xe);if(ce)Te.push(ce[0]);else ge.push({start:ue,end:he})}if(ge.length===0){if(Te.length>0)await Promise.all(Te);return}if(f>0){let oe=V.size+ge.length;if(oe>f){let ue=(x+M)/2,he=Math.min(oe-f,V.size);while(he>0){let fe=null,ce=-1,ve=null;for(let[Ce,Ne]of V){let Pe=Ce.indexOf("-"),Oe=parseInt(Ce.slice(0,Pe),10),De=parseInt(Ce.slice(Pe+1),10),Ee=Math.abs((Oe+De)/2-ue);if(Ee>ce)ce=Ee,fe=Ce,ve=Ne[1]}if(fe)ve.abort(),V.delete(fe);he--}let xe=f-V.size;if(ge.length>xe)ge.sort((fe,ce)=>{let ve=Math.abs((fe.start+fe.end)/2-ue),Ce=Math.abs((ce.start+ce.end)/2-ue);return ve-Ce}),ge.length=Math.max(0,xe)}}if(ge.length===0){if(Te.length>0)await Promise.all(Te);return}for(let oe of ge){let ue=me(oe.start,oe.end),he=new AbortController,xe=(async()=>{O.push(oe),l=!0,h=void 0,Y();try{let fe=oe.end-oe.start+1,ce={offset:oe.start,limit:fe,cursor:oe.start===z?E:void 0,signal:he.signal},ve=await e.read(ce);if(v(ve.items,oe.start,ve.total),ve.cursor)E=ve.cursor,z=oe.start+ve.items.length;let Ce=oe.start+ve.items.length;if(Ce>=R){if(R=Ce,ve.hasMore!==void 0)m=ve.hasMore;else if(ve.total!==void 0)m=Ce<ve.total}}catch(fe){if(fe?.name==="AbortError")return;h=fe instanceof Error?fe:Error(String(fe)),F?.(h,oe)}finally{V.delete(ue);let fe=O.findIndex((ce)=>ce.start===oe.start&&ce.end===oe.end);if(fe>=0)O.splice(fe,1);l=V.size>0,Y()}})();V.set(ue,[xe,he]),Te.push(xe)}await Promise.all(Te)},K=async(x,M)=>{if(y.isRangeLoaded(x,M))return;await W(x,M)},J=async()=>{if(!e)return;await W(0,i-1)},I=async()=>{if(!e||l||!m)return!1;let x=y.getCachedCount(),M=y.getTotal(),q=x,Q=Math.min(q+i-1,M>0?M-1:q+i-1);if(q>=M&&M>0)return m=!1,!1;return await W(q,Q),y.getCachedCount()>x},le=async()=>{if(y.clear(),g.clear(),B)B.clear();_(),O=[],l=!1,E=void 0,z=void 0,m=!0,R=0,h=void 0,U(),Y()},se=(x,M)=>{if(y.evictDistant(x,M)>0)re()},te=()=>{y.clear(),g.clear(),E=void 0,z=void 0,h=void 0,O=[],l=!1,U(),Y()},Le=()=>{if(y.reset(),g.clear(),B)B.clear();E=void 0,z=void 0,m=!0,R=0,h=void 0,O=[],l=!1,U(),Y()};if(o&&o.length>0)v(o,0,r??o.length);else if(r!==void 0)y.setTotal(r),U(),Y();return{getState:c,getTotal:pe,getCached:d,getIsLoading:n,getHasMore:u,getStorage:H,getPlaceholders:T,getItem:N,getItemById:k,getIndexById:D,isItemLoaded:j,getItemsInRange:ee,setTotal:Z,setItems:v,updateItem:S,insertItem:w,removeItem:X,loadRange:W,ensureRange:K,loadInitial:J,loadMore:I,reload:le,evictDistant:se,clear:te,reset:Le}};var Gt=0,Ft=1000,Vt=15,Bt=!0,Nt=16,Kt=!0,_e=2,Wt="scroll",Ut=350,Yt=12,Zt=(t)=>{if(typeof t!=="object"){let e=t??_e;return{top:e,right:e,bottom:e,left:e}}return{top:t.top??_e,right:t.right??_e,bottom:t.bottom??_e,left:t.left??_e}},At=(t,e,o={},r="vlist",s=!1,a,i,f)=>{let A=navigator.userAgentData?.platform||navigator.platform+navigator.userAgent,C=o.platform?o.platform==="windows":!/Mac|Android/i.test(A),{autoHide:b=!C,autoHideDelay:P=Ft,minThumbSize:F=Vt,showOnHover:y=Bt,showOnViewportEnter:B=Kt,clickBehavior:p=Wt}=o,g=p==="page"?"scroll":p,l=a??t,h=Zt(o.padding),m=s?h.left:h.top,E=s?h.right:h.bottom,z=s?h.bottom:h.right,O=o.hoverZoneWidth??z+Nt,R=!0,V=0,_=0,Y=0,U=0,re=!1,ie=!1,Se=0,me=0,pe=0,d=null,n=!1,u=null,c=null,H=-1,T=-1,N=-1,k=-1,D=-1,j=t.id?"":(()=>{let L;do L=`${r}-scrollport-${++Gt}`;while(document.getElementById(L));return t.id=L,L})(),ee=0,Z=0,v=null,S=null,w=null,X=s?"width":"height",W=s?"translateX":"translateY",K=s?(L)=>L.clientX:(L)=>L.clientY,J=s?"left":"top",I=document.createElement("div"),le=document.createElement("div"),se=document.createElement("div"),te=s?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",Le=()=>{if(l===t)return;let L=t.offsetTop;I.style[s?"left":"top"]=L?`calc(var(${te}) + ${L}px)`:`var(${te})`,se.style[s?"left":"top"]=`${L}px`},x=()=>{if(I.className=`${r}-scrollbar`,I.setAttribute("role","scrollbar"),I.setAttribute("aria-controls",t.id),I.setAttribute("aria-orientation",s?"horizontal":"vertical"),I.setAttribute("aria-label",t.getAttribute("aria-label")||"Scroll"),I.setAttribute("aria-valuemin","0"),I.tabIndex=0,le.className=`${r}-scrollbar__thumb`,s)I.classList.add(`${r}-scrollbar--horizontal`);if(o.padding!==void 0)l.style.setProperty("--vlist-custom-scrollbar-padding-top",`${h.top}px`),l.style.setProperty("--vlist-custom-scrollbar-padding-right",`${h.right}px`),l.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${h.bottom}px`),l.style.setProperty("--vlist-custom-scrollbar-padding-left",`${h.left}px`);if(o.minThumbSize!==void 0)I.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${F}px`);if(I.appendChild(le),l.appendChild(I),se.className=`${r}-scrollbar__hover`,s)se.classList.add(`${r}-scrollbar__hover--horizontal`),se.style.height=`${O}px`;else se.style.width=`${O}px`;if(l.appendChild(se),l!==t)Le()},M=()=>{if(d)clearTimeout(d),d=null},q=()=>{if(!b)return;M(),d=setTimeout(G,P)},Q=()=>{if(!R||V<=_)return;if(M(),!n)I.classList.add(`${r}-scrollbar--visible`),n=!0;if(b&&!re&&!ie&&document.activeElement!==I)q()},G=()=>{if(re||ie||document.activeElement===I)return;I.classList.remove(`${r}-scrollbar--visible`),n=!1},be=(L,ne)=>{if(V=L,_=ne,Le(),ge(pe),!R||V<=_){I.style.display="none",I.classList.remove(`${r}-scrollbar--visible`),n=!1;return}I.style.display="";let ae=Math.max(0,_-m-E),de=_/V;if(Y=Math.max(F,de*ae),le.style[X]=`${Y}px`,U=ae-Y,ge(pe),!b)Q()},ge=(L)=>{let ne=Math.max(0,V-_);if(pe=Math.max(0,Math.min(L,ne)),H!==ne)H=ne,I.setAttribute("aria-valuemax",String(ne));if(T!==pe)T=pe,I.setAttribute("aria-valuenow",String(pe));let ae=i?.(),de=ae?.getTotal()??0,ye=de?ae.indexAtOffset(pe)+1:0;if(ye!==N||de!==k)N=ye,k=de,I.setAttribute("aria-valuetext",`Row ${ye} of ${de}`);if(ne<=0||U<=0)return;let Me=pe/ne*U;if(Me!==D)D=Me,le.style.transform=`${W}(${Me}px)`},Te=(L)=>{if(!R||L.target!==I||document.activeElement!==I)return;if(L.stopPropagation(),L.altKey||L.ctrlKey||L.metaKey)return;let ne=i?.(),ae=ne?.getSize(ne.indexAtOffset(pe))??40,de=pe;switch(L.key){case(s?"ArrowLeft":"ArrowUp"):de-=ae;break;case(s?"ArrowRight":"ArrowDown"):de+=ae;break;case"PageUp":de-=_;break;case"PageDown":de+=_;break;case"Home":de=0;break;case"End":de=V;break;default:return}L.preventDefault(),e(Math.max(0,Math.min(de,Math.max(0,V-_)))),Q()},oe=(L)=>{if(L.target===le||g!=="jump"||U<=0)return;let ne=V-_,ae=I.getBoundingClientRect(),de=K(L)-ae[J],ye=Math.max(0,Math.min(de-Y/2,U));e(ye/U*ne),Q()},ue=()=>{if(v!==null)clearTimeout(v),v=null;if(S!==null)cancelAnimationFrame(S),S=null;w=null},he=(L)=>{let ne=U>0?Z/L*U:0;if(ee<ne)return-1;if(ee>=ne+Y)return 1;return 0},xe=()=>{let L=V-_,ne=he(L);if(ne===0){ue();return}if(ne===-1){if(Z<=0){ue();return}let ae=Math.max(0,Z-_);Z=ae,e(ae)}else{if(Z>=L){ue();return}let ae=Math.min(L,Z+_);Z=ae,e(ae)}Q()},fe=(L)=>{if(w===null){w=L,S=requestAnimationFrame(fe);return}let ne=V-_,ae=L-w;w=L;let de=he(ne);if(de===0){ue();return}let ye=Yt*_/1000,Me=Math.min(ye*ae,_);if(de===-1){if(Z<=0){ue();return}let Ae=Math.max(0,Z-Me);Z=Ae,e(Ae)}else{if(Z>=ne){ue();return}let Ae=Math.min(ne,Z+Me);Z=Ae,e(Ae)}M(),S=requestAnimationFrame(fe)},ce=(L)=>{if(L&&L.pointerId!==u)return;let ne=u,ae=c;if(u=null,c=null,re=!1,I.classList.remove(`${r}-scrollbar--dragging`),ue(),ne!==null&&ae?.hasPointerCapture(ne))ae.releasePointerCapture(ne);q()},ve=(L)=>{if(!R||L.button!==0||u!==null||U<=0)return;if(L.preventDefault(),L.stopPropagation(),u=L.pointerId,re=L.target===le,c=re?le:L.currentTarget,c.setPointerCapture(u),M(),re)Se=K(L),me=pe,I.classList.add(`${r}-scrollbar--dragging`);else if(g==="jump")oe(L);else ee=K(L)-I.getBoundingClientRect()[J],Z=pe,xe(),v=setTimeout(()=>{S=requestAnimationFrame(fe)},Ut);Q()},Ce=(L)=>{if(!re||L.pointerId!==u)return;L.stopPropagation();let ne=K(L)-Se,ae=Math.max(0,V-_),de=Math.max(0,Math.min(me+ne/U*ae,ae));ge(de),e(de)},Ne=()=>{if(B)Q()},Pe=()=>{if(!re){if(ie=!1,b)q()}},Oe=()=>{ie=!0,M(),Q()},De=()=>{if(ie=!1,!re&&b)q()},Ee=["width","radius","thumb-color","track-color"],Ke=(L,ne)=>l.style.setProperty(`--vlist-custom-scrollbar-${L}`,ne),ze=Ee.map((L)=>l.style.getPropertyValue(`--vlist-custom-scrollbar-${L}`)),je=ze.slice(0,2),Je=[],Qe=()=>{for(let ye=0;ye<2;ye++){let Me=Ee[ye],Ae=l.style.getPropertyValue(`--vlist-custom-scrollbar-${Me}`);if(Ae!==Je[ye])je[ye]=Ae;Ke(Me,je[ye])}let L=getComputedStyle(f??l),ne=o.width??L.getPropertyValue("scrollbar-width"),ae=L.getPropertyValue("scrollbar-color").match(/[\w-]+\([^)]*\)|\S+/g);R=o.enabled!==!1&&ne!=="none";let de=[typeof o.width==="number"?`${o.width}px`:L.getPropertyValue("--vlist-custom-scrollbar-width").trim()||(ne==="thin"||!C?"6px":"14px"),typeof o.radius==="number"?`${o.radius}px`:L.getPropertyValue("--vlist-custom-scrollbar-radius").trim()||(C?"0px":"4px"),o.thumbColor??(ae?.length===2?ae[0]:ze[2]),o.trackColor??(ae?.length===2?ae[1]:ze[3])];for(let ye=0;ye<Ee.length;ye++)Ke(Ee[ye],de[ye]);if(Je=de.slice(0,2),se.style.display=R?"":"none",t.classList.toggle(`${r}-viewport--gutter`,R&&!!o.gutter),!R)ce();be(V,_)},Ht=()=>{M(),ue(),ce(),M();for(let L of et)L();for(let L=0;L<Ee.length;L++)Ke(Ee[L],ze[L]);if(t.classList.remove(`${r}-viewport--gutter`),se.remove(),l.style.removeProperty("--vlist-custom-scrollbar-padding-top"),l.style.removeProperty("--vlist-custom-scrollbar-padding-right"),l.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),l.style.removeProperty("--vlist-custom-scrollbar-padding-left"),I.remove(),j&&t.id===j)t.removeAttribute("id")};x();let et=[],Ie=(L,ne,ae)=>{L.addEventListener(ne,ae),et.push(()=>L.removeEventListener(ne,ae))};for(let L of[I,le,se])Ie(L,"pointerdown",ve),Ie(L,"pointermove",Ce),Ie(L,"pointerup",ce),Ie(L,"pointercancel",ce),Ie(L,"lostpointercapture",ce);if(Ie(I,"keydown",Te),Ie(I,"focus",Q),Ie(I,"blur",q),Ie(t,"mouseenter",Ne),Ie(t,"mouseleave",Pe),Ie(I,"mouseenter",Oe),Ie(I,"mouseleave",De),y)Ie(se,"mouseenter",Oe),Ie(se,"mouseleave",De);return Qe(),{refresh:Qe,show:Q,hide:G,updateBounds:be,updatePosition:ge,isVisible:()=>n,destroy:Ht}};function qt(t){let e=0,o=0,r=0;function s(){return r>0?o/r:0}function a(A){if(e=A,A>0.1&&A<50)o+=A,r++}function i(){let A=t.getTotal();if(A===0)return 0;let C=t.getItemSize();if(C<=0)return 0;let b=t.getContainerSize();if(b<=0)return 0;let P=t.getScrollPosition(),F=typeof t.getColumns==="function"?t.getColumns():1,y=Math.ceil(A/F),B=Math.max(0,y*C-b),p=Math.max(0,Math.min(P,B)),g=Math.ceil((p+b)/C);return Math.min(g*F,A)}function f(){let A=t.getTotal(),C=i();return{progress:A>0?Math.min(100,Math.max(0,C/A*100)):0,velocity:e,velocityAvg:s(),itemCount:C,total:A}}return{getState:f,onVelocity:a}}export{st as buildLayoutItems,qe as calculateMissingRanges,gt as clearSelection,Mt as createAsyncManager,Et as createEmitter,ct as createGridLayout,it as createGroupLayout,at as createGroupedSizeFn,xt as createMasonryLayout,It as createMasonryRenderer,Be as createPlaceholderManager,At as createScrollbar,ft as createSelectionState,Ct as createSizeCache,Fe as createSparseStorage,qt as createStats,lt as createStickyHeader,mt as createTableHeader,dt as createTableLayout,vt as createTableRenderer,Ze as deselectItems,Xe as filterPlaceholders,yt as getSelectedIds,St as getSelectedItems,ut as isGroupHeader,He as isPlaceholderItem,ht as isSelected,Ve as mergeRanges,bt as selectAll,Ye as selectItems,pt as toggleSelection};
@@ -7,10 +7,13 @@
7
7
  *
8
8
  * Priority 10 — layout tier (replaces scroll contract).
9
9
  *
10
- * Implementation: the content size is `lapSize * CYCLES`. Items are
11
- * mapped via modulo so virtual index 817 with 16 real items → item 1.
12
- * The scroll starts in the middle cycle. When approaching the edges,
13
- * the position is silently rebased to the middle cycle.
10
+ * Implementation: the virtual index space is three laps — the home lap
11
+ * plus one lap of margin on each side. Overscan before index 0 and the
12
+ * shortest-path snap both reach into the neighbouring lap, and the engine
13
+ * has no negative indices. The bounded handler folds the logical position
14
+ * back toward the home lap as soon as it leaves it. Items are mapped via
15
+ * modulo so virtual index 17 with 16 real items → item 1. The scroll
16
+ * starts in the home lap.
14
17
  *
15
18
  * Public API (list.total, ARIA, selection, click events) stays at the
16
19
  * real item count. The inflated virtual window is strictly internal.
@@ -19,6 +22,11 @@
19
22
  * - Cannot be combined with `groups()`: an infinite wrap has no sections to
20
23
  * group, and mechanically groups' `setSizeConfig` replaces the size cache
21
24
  * methods this plugin installs directly.
25
+ * - Cannot be combined with `grid()`, `table()`, `masonry()` or `tree()`:
26
+ * two plugins owning one list's layout, where this one has also made the
27
+ * size cache speak virtual indices. Permanent.
28
+ * - Cannot yet be combined with `search()` or `sortable()` — see the comments
29
+ * on their own `conflicts`. Both are fixable and meant to be fixed.
22
30
  * - `page()` is rejected by core, since bounded page-mode scrolling does not
23
31
  * exist: document scrolling cannot wrap.
24
32
  */
@@ -18,16 +18,16 @@
18
18
  import type { VListItem } from "../../types";
19
19
  import type { GroupBoundary, GroupHeaderItem } from "./types";
20
20
  /** Configuration for the async group bridge */
21
- export interface AsyncBridgeConfig {
21
+ export interface AsyncBridgeConfig<T extends VListItem = VListItem> {
22
22
  /** Determine group key for an item */
23
- getGroupForIndex: (index: number, item?: any) => string;
23
+ getGroupForIndex: (index: number, item?: T) => string;
24
24
  /** Header height in pixels (resolved for current orientation) */
25
25
  headerHeight: number;
26
26
  }
27
27
  /** Async group bridge instance */
28
- export interface AsyncGroupBridge {
28
+ export interface AsyncGroupBridge<T extends VListItem = VListItem> {
29
29
  /** Process newly loaded items — updates group boundaries */
30
- onItemsLoaded(items: VListItem[], offset: number, total: number): void;
30
+ onItemsLoaded(items: T[], offset: number, total: number): void;
31
31
  /** Total layout entries (data items + discovered headers) */
32
32
  readonly totalEntries: number;
33
33
  /** Number of discovered groups */
@@ -49,7 +49,7 @@ export interface AsyncGroupBridge {
49
49
  /** Get the group boundary at a data index */
50
50
  getGroupAtDataIndex(dataIndex: number): GroupBoundary;
51
51
  /** Insert item at data index — shifts group keys up and rebuilds */
52
- insertAt(dataIndex: number, item: VListItem): void;
52
+ insertAt(dataIndex: number, item: T): void;
53
53
  /** Remove item at data index — shifts group keys and rebuilds */
54
54
  removeAt(dataIndex: number): void;
55
55
  /** Reset all state (e.g. on reload) */
@@ -66,5 +66,5 @@ export interface AsyncGroupBridge {
66
66
  * @param getItem - Item accessor from the async data manager
67
67
  * @param isItemLoaded - Check if an item at index is loaded (not placeholder)
68
68
  */
69
- export declare const createAsyncGroupBridge: (config: AsyncBridgeConfig, _getItem?: (index: number) => VListItem | undefined, _isItemLoaded?: (index: number) => boolean) => AsyncGroupBridge;
69
+ export declare const createAsyncGroupBridge: <T extends VListItem = VListItem>(config: AsyncBridgeConfig<T>, _getItem?: (index: number) => T | undefined, _isItemLoaded?: (index: number) => boolean) => AsyncGroupBridge<T>;
70
70
  //# sourceMappingURL=async-bridge.d.ts.map
@@ -43,7 +43,7 @@ export declare const buildLayoutItems: <T extends VListItem>(items: T[], groups:
43
43
  * @param itemSize - Original item size config (number or function)
44
44
  * @returns A size function (layoutIndex) => number suitable for SizeCache
45
45
  */
46
- export declare const createGroupedSizeFn: (layout: GroupLayout, itemSize: number | ((index: number) => number), sticky?: boolean) => ((layoutIndex: number) => number);
46
+ export declare const createGroupedSizeFn: <T extends VListItem = VListItem>(layout: GroupLayout<T>, itemSize: number | ((index: number) => number), sticky?: boolean) => ((layoutIndex: number) => number);
47
47
  /**
48
48
  * Create a GroupLayout instance.
49
49
  *
@@ -53,5 +53,5 @@ export declare const createGroupedSizeFn: (layout: GroupLayout, itemSize: number
53
53
  * @param itemCount - Number of data items
54
54
  * @param config - Groups configuration
55
55
  */
56
- export declare const createGroupLayout: (itemCount: number, config: GroupsConfig, getItem?: (index: number) => any) => GroupLayout;
56
+ export declare const createGroupLayout: <T extends VListItem = VListItem>(itemCount: number, config: GroupsConfig<T>, getItem?: (index: number) => T | undefined) => GroupLayout<T>;
57
57
  //# sourceMappingURL=layout.d.ts.map
@@ -19,12 +19,12 @@
19
19
  import type { VListItem, GroupsConfig } from "../../types";
20
20
  import type { VListPlugin } from "../../core/types";
21
21
  import { type GroupLayout } from "./types";
22
- export interface GroupsPluginConfig extends GroupsConfig {
22
+ export interface GroupsPluginConfig<T extends VListItem = VListItem> extends GroupsConfig<T> {
23
23
  }
24
24
  /** Methods the groups plugin adds to the list instance. */
25
- export interface GroupsMethods {
25
+ export interface GroupsMethods<T extends VListItem = VListItem> {
26
26
  /** The current group layout: entries, boundaries and sticky state. */
27
- getGroupLayout(): GroupLayout;
27
+ getGroupLayout(): GroupLayout<T>;
28
28
  }
29
- export declare function groups<T extends VListItem = VListItem>(config: GroupsPluginConfig): VListPlugin<T, GroupsMethods>;
29
+ export declare function groups<T extends VListItem = VListItem>(config: GroupsPluginConfig<T>): VListPlugin<T, GroupsMethods<T>>;
30
30
  //# sourceMappingURL=plugin.d.ts.map
@@ -16,11 +16,12 @@
16
16
  * └── .sticky-group (standby slot — translated during push)
17
17
  */
18
18
  import type { GroupLayout, StickyHeader } from "./types";
19
+ import type { VListItem } from "../../types";
19
20
  import type { SizeCache } from "../../rendering/sizes";
20
21
  /**
21
22
  * Create the sticky header container element upfront (before data arrives)
22
23
  * so the DOM structure is stable and doesn't cause a visual shift.
23
24
  */
24
25
  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, existingContainer?: HTMLElement, getHeaderOffset?: (headerLayoutIndex: number) => number) => StickyHeader;
26
+ export declare const createStickyHeader: <T extends VListItem = VListItem>(root: HTMLElement, layout: GroupLayout<T>, sizeCache: SizeCache, renderInto: (slot: HTMLElement, groupIndex: number) => void, classPrefix: string, horizontal?: boolean, stickyOffset?: number, existingContainer?: HTMLElement, getHeaderOffset?: (headerLayoutIndex: number) => number) => StickyHeader;
26
27
  //# sourceMappingURL=sticky.d.ts.map
@@ -45,7 +45,7 @@ export interface GroupHeaderItem extends VListItem {
45
45
  */
46
46
  export declare const isGroupHeader: (item: unknown) => item is GroupHeaderItem;
47
47
  /** Group layout — maps between data indices and layout indices */
48
- export interface GroupLayout {
48
+ export interface GroupLayout<T extends VListItem = VListItem> {
49
49
  /** Total layout entries (data items + group headers) */
50
50
  readonly totalEntries: number;
51
51
  /** Number of groups */
@@ -76,7 +76,7 @@ export interface GroupLayout {
76
76
  * @param itemCount - Number of data items
77
77
  * @param getItem - Optional item accessor for passing items to getGroupForIndex
78
78
  */
79
- rebuild: (itemCount: number, getItem?: (index: number) => any) => void;
79
+ rebuild: (itemCount: number, getItem?: (index: number) => T | undefined) => void;
80
80
  }
81
81
  /** Sticky header manager */
82
82
  export interface StickyHeader {
@@ -20,6 +20,9 @@
20
20
  * - Cannot be combined with `tree()`. Filtering a tree means preserving the
21
21
  * ancestors of each match, which belongs to the plugin that owns the layout;
22
22
  * `tree()` provides no such hook.
23
+ * - Cannot *yet* be combined with `carousel()`. Filter mode replaces the item
24
+ * accessors and the total that the carousel window owns, and clearing the
25
+ * query does not give them back. Fixable — see `conflicts` below.
23
26
  */
24
27
  import type { VListItem } from "../../types";
25
28
  import type { VListPlugin } from "../../core/types";
@@ -21,7 +21,7 @@ export interface SelectionPluginConfig {
21
21
  }
22
22
  /** Methods the selection plugin adds to the list instance. */
23
23
  export interface SelectionMethods<T extends VListItem = VListItem> {
24
- /** Select one or more items by id. */
24
+ /** Select one or more items by id. Does not move the viewport. */
25
25
  select(...ids: Array<string | number>): void;
26
26
  /** Deselect one or more items by id. */
27
27
  deselect(...ids: Array<string | number>): void;
@@ -35,9 +35,9 @@ export interface SelectionMethods<T extends VListItem = VListItem> {
35
35
  getSelected(): Array<string | number>;
36
36
  /** The selected items. */
37
37
  getSelectedItems(): T[];
38
- /** Move the selection to the next item. */
38
+ /** Select the next item and scroll it into view. `select(id)` selects without moving the viewport. */
39
39
  selectNext(): void;
40
- /** Move the selection to the previous item. */
40
+ /** Select the previous item and scroll it into view. `select(id)` selects without moving the viewport. */
41
41
  selectPrevious(): void;
42
42
  }
43
43
  export declare function selection<T extends VListItem = VListItem>(config?: SelectionPluginConfig): VListPlugin<T, SelectionMethods<T>>;
@@ -18,6 +18,9 @@
18
18
  *
19
19
  * Restrictions:
20
20
  * - Cannot be combined with the grid, masonry, table or tree plugins
21
+ * - Cannot *yet* be combined with carousel: this plugin asks the size cache
22
+ * about a data index, and carousel makes it speak virtual ones. Fixable —
23
+ * see `conflicts` below.
21
24
  */
22
25
  import type { VListItem } from "../../types";
23
26
  import type { VListPlugin } from "../../core/types";
@@ -21,6 +21,8 @@ export interface TreeLayout<T extends VListItem> {
21
21
  addChild(parentId: string | number | null, item: T, index?: number): void;
22
22
  removeNode(id: string | number): number;
23
23
  moveNode(id: string | number, newParentId: string | number | null, index?: number): void;
24
+ /** The source item, including one hidden inside a closed folder. */
25
+ findItem(id: string | number): T | undefined;
24
26
  readonly totalVisible: number;
25
27
  readonly rootItems: readonly T[];
26
28
  }
@@ -23,6 +23,18 @@ export interface SizeCache {
23
23
  getTotal(): number;
24
24
  /** Rebuild cache (call when items change) */
25
25
  rebuild(totalItems: number): void;
26
+ /**
27
+ * Re-read the sizes of `startIndex..endIndex`, an ascending in-range pair —
28
+ * cost independent of the total item count.
29
+ *
30
+ * Use this instead of `rebuild` when a handful of item sizes changed but the
31
+ * item count did not: a measurement batch from `autosize()`, say. The
32
+ * variable cache re-reads the size function only for the blocks the range
33
+ * touches, where `rebuild` re-reads every item. Out-of-range bounds are
34
+ * ignored. On the fixed cache this is a no-op, since every item is the same
35
+ * size.
36
+ */
37
+ invalidate(startIndex: number, endIndex?: number): void;
26
38
  /** Whether sizes are variable (false = fixed fast path) */
27
39
  isVariable(): boolean;
28
40
  }
package/dist/size.json CHANGED
@@ -1 +1 @@
1
- {"base":{"minified":"26.4","gzipped":"9.7","minBytes":27055,"gzBytes":9914},"synthetic":{"minified":"32.3","gzipped":"11.9","minBytes":33122,"gzBytes":12191},"synthetic + carousel":{"minified":"45.8","gzipped":"16.6","minBytes":46872,"gzBytes":17014},"synthetic + sortable":{"minified":"44.2","gzipped":"15.5","minBytes":45230,"gzBytes":15843},"createStats":{"minified":"27.0","gzipped":"9.9","minBytes":27657,"gzBytes":10147},"synthetic + createStats":{"minified":"32.9","gzipped":"12.1","minBytes":33724,"gzBytes":12424},"native":{"minified":"26.4","gzipped":"9.7","minBytes":27055,"gzBytes":9913},"a11y":{"minified":"29.7","gzipped":"10.9","minBytes":30387,"gzBytes":11153},"selection":{"minified":"35.8","gzipped":"12.5","minBytes":36614,"gzBytes":12807},"data":{"minified":"40.0","gzipped":"14.5","minBytes":41008,"gzBytes":14820},"scrollbar":{"minified":"34.6","gzipped":"12.5","minBytes":35428,"gzBytes":12846},"sortable":{"minified":"38.2","gzipped":"13.2","minBytes":39121,"gzBytes":13503},"groups":{"minified":"42.4","gzipped":"15.1","minBytes":43421,"gzBytes":15419},"page":{"minified":"29.0","gzipped":"10.6","minBytes":29657,"gzBytes":10852},"snapshots":{"minified":"29.7","gzipped":"10.8","minBytes":30422,"gzBytes":11075},"transition":{"minified":"33.1","gzipped":"11.7","minBytes":33934,"gzBytes":11951},"autosize":{"minified":"29.4","gzipped":"10.7","minBytes":30112,"gzBytes":10978},"grid":{"minified":"33.7","gzipped":"12.2","minBytes":34511,"gzBytes":12506},"table":{"minified":"44.8","gzipped":"15.6","minBytes":45926,"gzBytes":15960},"masonry":{"minified":"38.4","gzipped":"14.1","minBytes":39309,"gzBytes":14397},"tree":{"minified":"41.6","gzipped":"14.7","minBytes":42642,"gzBytes":15072},"search":{"minified":"35.6","gzipped":"12.9","minBytes":36432,"gzBytes":13188},"carousel":{"minified":"39.8","gzipped":"14.3","minBytes":40743,"gzBytes":14686}}
1
+ {"base":{"minified":"27.0","gzipped":"10.0","minBytes":27603,"gzBytes":10201},"synthetic":{"minified":"33.9","gzipped":"12.6","minBytes":34667,"gzBytes":12893},"synthetic + carousel":{"minified":"47.8","gzipped":"17.4","minBytes":48925,"gzBytes":17837},"synthetic + sortable":{"minified":"45.8","gzipped":"16.2","minBytes":46886,"gzBytes":16545},"createStats":{"minified":"27.5","gzipped":"10.2","minBytes":28205,"gzBytes":10435},"synthetic + createStats":{"minified":"34.4","gzipped":"12.8","minBytes":35269,"gzBytes":13118},"native":{"minified":"27.0","gzipped":"10.0","minBytes":27603,"gzBytes":10198},"a11y":{"minified":"30.8","gzipped":"11.3","minBytes":31497,"gzBytes":11616},"selection":{"minified":"36.4","gzipped":"12.9","minBytes":37319,"gzBytes":13177},"data":{"minified":"40.6","gzipped":"14.8","minBytes":41559,"gzBytes":15110},"scrollbar":{"minified":"35.1","gzipped":"12.8","minBytes":35931,"gzBytes":13145},"sortable":{"minified":"38.8","gzipped":"13.5","minBytes":39776,"gzBytes":13806},"groups":{"minified":"43.0","gzipped":"15.4","minBytes":44057,"gzBytes":15722},"page":{"minified":"29.5","gzipped":"10.9","minBytes":30205,"gzBytes":11134},"snapshots":{"minified":"30.3","gzipped":"11.1","minBytes":30982,"gzBytes":11373},"transition":{"minified":"33.7","gzipped":"12.0","minBytes":34485,"gzBytes":12240},"autosize":{"minified":"30.2","gzipped":"11.1","minBytes":30884,"gzBytes":11367},"grid":{"minified":"34.4","gzipped":"12.5","minBytes":35196,"gzBytes":12846},"table":{"minified":"45.4","gzipped":"15.9","minBytes":46488,"gzBytes":16277},"masonry":{"minified":"39.0","gzipped":"14.4","minBytes":39986,"gzBytes":14734},"tree":{"minified":"43.1","gzipped":"15.3","minBytes":44181,"gzBytes":15712},"search":{"minified":"36.5","gzipped":"13.3","minBytes":37367,"gzBytes":13594},"carousel":{"minified":"41.7","gzipped":"15.2","minBytes":42706,"gzBytes":15517}}