vlist 3.0.0 → 3.1.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.github.md +59 -53
- package/README.md +59 -53
- package/dist/config.d.ts +1 -1
- package/dist/config.js +1 -1
- package/dist/constants.d.ts +0 -16
- package/dist/core/adapter.d.ts +3 -3
- package/dist/core/create.d.ts +10 -5
- package/dist/core/fold.d.ts +3 -3
- package/dist/core/logical.d.ts +93 -0
- package/dist/core/runway.d.ts +20 -106
- package/dist/core/state.d.ts +2 -2
- package/dist/core/switching.d.ts +15 -0
- package/dist/core/types.d.ts +6 -2
- package/dist/index.js +1 -1
- package/dist/internals.js +1 -1
- package/dist/plugins/carousel/input.d.ts +16 -0
- package/dist/plugins/carousel/plugin.d.ts +2 -3
- package/dist/size.json +1 -1
- package/dist/synthetic/driver.d.ts +26 -0
- package/dist/synthetic/handler.d.ts +4 -4
- package/dist/synthetic-driver.js +1 -0
- package/dist/synthetic.d.ts +7 -0
- package/dist/synthetic.js +1 -1
- package/dist/types.d.ts +22 -3
- package/dist/version.json +1 -0
- package/package.json +3 -2
package/dist/internals.js
CHANGED
|
@@ -1 +1 @@
|
|
|
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};
|
|
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},Ye=(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=Ye(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=Ye(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=Ye(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,U=0,Y=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,U=0,Y=0,v<0||v>=R){d(l);return}U=pe(l,v),Y=O[v],F(y,U),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+U}px)`},c=()=>{Se=0,l.style.transform="",h.style.transform=""},H=()=>{if(!me)return;let v=l;l=h,h=v,_=re,U=_>=0?z[_]:0,Y=_>=0?O[_]:0,F(y,U),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,U=0,Y=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>-Y){if(re!==X||!me)re=X,pe(h,X),me=!0;let K=Y>0?W/Y*U:W;u(K)}else if(W<=-Y){if(me)H()}else if(me)T()}else if(me)T()},ee=()=>{V();let v=_;if(_=-1,U=0,Y=0,v>=0)n(v)},Z=()=>{y.remove(),_=-1,U=0,Y=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",U),u.addEventListener("pointerup",Y),u.addEventListener("pointercancel",Y)},U=(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)},Y=(n)=>{if(!p)return;let u=n.target;u.removeEventListener("pointermove",U),u.removeEventListener("pointerup",Y),u.removeEventListener("pointercancel",Y);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}),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}},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 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,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`,U=`${s}-table-cell--right`,Y=`${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=Y,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(U);else if(X==="right")S.classList.add(U),S.classList.remove(_);else S.classList.remove(_,U)},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 U=h(R),Y=m[V];z[R]={index:R,x:f[V],y:Y,lane:V,size:U,crossSize:i},E[V].push(R),m[V]=Y+U+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,U=l[z[_]];if(U.y+U.size<=h)R=_+1;else V=_}for(let _=R;_<O;_++){let U=l[z[_]];if(U.y>=m)break;P.push(U)}}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-Y);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`},U=(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-Y,absY:u.y,lastX:u.x,lastSize:u.size,lastCrossSize:u.crossSize,lastSeenFrame:F}},Y=0,re=(d,n,u,c,H=A())=>{if(Y=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-Y||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-Y,v.absY=k.y,v.lastX=k.x}else{let S=U(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-Y);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()},U=(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}},Y=(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:U,evictDistant:Y,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),Y(),U()}}),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()},U=()=>{A?.(c())},Y=()=>{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,Y(),U()},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;Y(),U(),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),Y(),U(),!0},w=(x,M)=>{y.insert(M,x),re(),_(),Y(),U()},X=(x)=>{let M=g.get(x);if(M===void 0)return!1;if(!y.delete(M))return!1;return re(),_(),Y(),U(),!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,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(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,U()}})();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,Y(),U()},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,Y(),U()},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,Y(),U()};if(o&&o.length>0)v(o,0,r??o.length);else if(r!==void 0)y.setTotal(r),Y(),U();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",Yt=350,Ut=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,U=0,Y=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(U=Math.max(F,de*ae),le.style[X]=`${U}px`,Y=ae-U,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||Y<=0)return;let Me=pe/ne*Y;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"||Y<=0)return;let ne=V-_,ae=I.getBoundingClientRect(),de=K(L)-ae[J],ye=Math.max(0,Math.min(de-U/2,Y));e(ye/Y*ne),Q()},ue=()=>{if(v!==null)clearTimeout(v),v=null;if(S!==null)cancelAnimationFrame(S),S=null;w=null},he=(L)=>{let ne=Y>0?Z/L*Y:0;if(ee<ne)return-1;if(ee>=ne+U)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=Ut*_/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||Y<=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)},Yt);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/Y*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,Ue as selectItems,pt as toggleSelection};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* carousel() under `scroll.mode: "synthetic"` (RFC-015).
|
|
3
|
+
*
|
|
4
|
+
* A carousel brings its own engine: the runway (core/runway.ts), a native
|
|
5
|
+
* scroller a few viewports long. With "synthetic" it runs the synthetic handler
|
|
6
|
+
* instead, the same one the deprecated vlist/synthetic entry runs a carousel on:
|
|
7
|
+
* at once when the driver is loaded, otherwise on the runway until the driver
|
|
8
|
+
* arrives and then, in place, on the synthetic handler (core/switching.ts).
|
|
9
|
+
*/
|
|
10
|
+
import type { LogicalScrollConfig, LogicalScrollHandler } from "../../core/logical";
|
|
11
|
+
import { type LogicalHandlerFactory } from "../../core/switching";
|
|
12
|
+
/** Load the synthetic driver; once it resolves, new carousels start synthetic. */
|
|
13
|
+
export declare const loadDriver: () => Promise<LogicalHandlerFactory>;
|
|
14
|
+
/** The engine a `scroll.mode: "synthetic"` carousel hands the core. */
|
|
15
|
+
export declare function startSyntheticCarousel(config: LogicalScrollConfig, onSynthetic: () => void, onError: (error: Error) => void): LogicalScrollHandler;
|
|
16
|
+
//# sourceMappingURL=input.d.ts.map
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* Implementation: the virtual index space is three laps — the home lap
|
|
11
11
|
* plus one lap of margin on each side. Overscan before index 0 and the
|
|
12
12
|
* shortest-path snap both reach into the neighbouring lap, and the engine
|
|
13
|
-
* has no negative indices. The
|
|
13
|
+
* has no negative indices. The runway handler folds the logical position
|
|
14
14
|
* back toward the home lap as soon as it leaves it. Items are mapped via
|
|
15
15
|
* modulo so virtual index 17 with 16 real items → item 1. The scroll
|
|
16
16
|
* starts in the home lap.
|
|
@@ -27,8 +27,7 @@
|
|
|
27
27
|
* size cache speak virtual indices. Permanent.
|
|
28
28
|
* - Cannot yet be combined with `search()` or `sortable()` — see the comments
|
|
29
29
|
* on their own `conflicts`. Both are fixable and meant to be fixed.
|
|
30
|
-
* - `page()` is rejected by core
|
|
31
|
-
* exist: document scrolling cannot wrap.
|
|
30
|
+
* - `page()` is rejected by core: document scrolling cannot wrap.
|
|
32
31
|
*/
|
|
33
32
|
import type { VListItem } from "../../types";
|
|
34
33
|
import type { VListPlugin } from "../../core/types";
|
package/dist/size.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"base":{"minified":"27.
|
|
1
|
+
{"base":{"minified":"27.3","gzipped":"10.3","minBytes":27986,"gzBytes":10539},"synthetic":{"minified":"34.2","gzipped":"12.9","minBytes":35039,"gzBytes":13192},"synthetic + carousel":{"minified":"49.3","gzipped":"18.1","minBytes":50498,"gzBytes":18513},"synthetic + sortable":{"minified":"46.1","gzipped":"16.5","minBytes":47232,"gzBytes":16885},"createStats":{"minified":"27.9","gzipped":"10.5","minBytes":28588,"gzBytes":10770},"synthetic + createStats":{"minified":"34.8","gzipped":"13.1","minBytes":35641,"gzBytes":13422},"native":{"minified":"27.3","gzipped":"10.3","minBytes":27986,"gzBytes":10536},"a11y":{"minified":"31.2","gzipped":"11.7","minBytes":31938,"gzBytes":11988},"selection":{"minified":"36.9","gzipped":"13.3","minBytes":37809,"gzBytes":13568},"data":{"minified":"41.0","gzipped":"15.1","minBytes":41945,"gzBytes":15449},"scrollbar":{"minified":"35.5","gzipped":"13.2","minBytes":36335,"gzBytes":13499},"sortable":{"minified":"39.2","gzipped":"13.9","minBytes":40170,"gzBytes":14245},"groups":{"minified":"43.4","gzipped":"15.7","minBytes":44439,"gzBytes":16060},"page":{"minified":"29.9","gzipped":"11.2","minBytes":30588,"gzBytes":11478},"snapshots":{"minified":"30.6","gzipped":"11.4","minBytes":31366,"gzBytes":11697},"transition":{"minified":"34.1","gzipped":"12.3","minBytes":34883,"gzBytes":12570},"autosize":{"minified":"30.6","gzipped":"11.5","minBytes":31336,"gzBytes":11739},"grid":{"minified":"34.7","gzipped":"12.9","minBytes":35573,"gzBytes":13179},"table":{"minified":"45.8","gzipped":"16.2","minBytes":46881,"gzBytes":16634},"masonry":{"minified":"39.4","gzipped":"14.7","minBytes":40373,"gzBytes":15056},"tree":{"minified":"43.5","gzipped":"15.7","minBytes":44581,"gzBytes":16050},"search":{"minified":"36.9","gzipped":"13.6","minBytes":37750,"gzBytes":13912},"carousel":{"minified":"43.2","gzipped":"15.8","minBytes":44286,"gzBytes":16154}}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The synthetic driver `scroll.mode` loads on first need (RFC-015), built as
|
|
3
|
+
* dist/synthetic-driver.js: the input handler, and the scrollbar a synthetic
|
|
4
|
+
* list gets by default. Synthetic content is the size of its viewport, so the
|
|
5
|
+
* browser draws no scrollbar; without this one a list would have none.
|
|
6
|
+
*/
|
|
7
|
+
import type { EngineState } from "../core/state";
|
|
8
|
+
import type { SizeCache } from "../core/sizes";
|
|
9
|
+
import type { ResolvedConfig } from "../core/types";
|
|
10
|
+
import type { ScrollbarOptions } from "../types";
|
|
11
|
+
export { createSyntheticScrollHandler } from "./handler";
|
|
12
|
+
/** What the core drives: `sync` after every frame and forced render. */
|
|
13
|
+
export interface AttachedScrollbar {
|
|
14
|
+
sync(): void;
|
|
15
|
+
destroy(): void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* The scrollbar() plugin's wiring, for a synthetic list without one. None
|
|
19
|
+
* when the list asked for none (`scroll.scrollbar: "none"`), or already has
|
|
20
|
+
* scrollbar(): the plugin marks the viewport with its class during setup.
|
|
21
|
+
*/
|
|
22
|
+
export declare function attachScrollbar(state: EngineState, dom: {
|
|
23
|
+
viewport: HTMLElement;
|
|
24
|
+
root: HTMLElement;
|
|
25
|
+
}, config: ResolvedConfig, sizeCache: SizeCache, scrollTo: (position: number) => void, options?: ScrollbarOptions | "native" | "none"): AttachedScrollbar | null;
|
|
26
|
+
//# sourceMappingURL=driver.d.ts.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/** RFC-014 input provider. No native main-axis scroll position writes. */
|
|
2
|
-
import type {
|
|
3
|
-
type SyntheticScrollConfig =
|
|
4
|
-
readonly sizeCache: NonNullable<
|
|
2
|
+
import type { LogicalScrollConfig, LogicalScrollHandler } from "../core/logical";
|
|
3
|
+
type SyntheticScrollConfig = LogicalScrollConfig & {
|
|
4
|
+
readonly sizeCache: NonNullable<LogicalScrollConfig["sizeCache"]>;
|
|
5
5
|
};
|
|
6
|
-
export declare function createSyntheticScrollHandler(config: SyntheticScrollConfig):
|
|
6
|
+
export declare function createSyntheticScrollHandler(config: SyntheticScrollConfig): LogicalScrollHandler;
|
|
7
7
|
export {};
|
|
8
8
|
//# sourceMappingURL=handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var te=0,ee=1000,ne=15,oe=!0,re=16,ie=!0,bt=2,le="scroll",se=350,ae=12,ce=(n)=>{if(typeof n!=="object"){let r=n??bt;return{top:r,right:r,bottom:r,left:r}}return{top:n.top??bt,right:n.right??bt,bottom:n.bottom??bt,left:n.left??bt}},Ht=(n,r,o={},p="vlist",l=!1,v,a,T)=>{let M=navigator.userAgentData?.platform||navigator.platform+navigator.userAgent,x=o.platform?o.platform==="windows":!/Mac|Android/i.test(M),{autoHide:y=!x,autoHideDelay:P=ee,minThumbSize:b=ne,showOnHover:C=oe,showOnViewportEnter:F=ie,clickBehavior:D=le}=o,U=D==="page"?"scroll":D,g=v??n,O=ce(o.padding),ot=l?O.left:O.top,j=l?O.right:O.bottom,W=l?O.bottom:O.right,K=o.hoverZoneWidth??W+re,H=!0,_=0,m=0,I=0,R=0,i=!1,c=!1,V=0,N=0,S=0,q=null,s=!1,h=null,z=null,ct=-1,ut=-1,dt=-1,rt=-1,mt=-1,pt=n.id?"":(()=>{let e;do e=`${p}-scrollport-${++te}`;while(document.getElementById(e));return n.id=e,e})(),st=0,k=0,it=null,Q=null,t=null,E=l?"width":"height",B=l?"translateX":"translateY",A=l?(e)=>e.clientX:(e)=>e.clientY,G=l?"left":"top",u=document.createElement("div"),tt=document.createElement("div"),Z=document.createElement("div"),Tt=l?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",Mt=()=>{if(g===n)return;let e=n.offsetTop;u.style[l?"left":"top"]=e?`calc(var(${Tt}) + ${e}px)`:`var(${Tt})`,Z.style[l?"left":"top"]=`${e}px`},Yt=()=>{if(u.className=`${p}-scrollbar`,u.setAttribute("role","scrollbar"),u.setAttribute("aria-controls",n.id),u.setAttribute("aria-orientation",l?"horizontal":"vertical"),u.setAttribute("aria-label",n.getAttribute("aria-label")||"Scroll"),u.setAttribute("aria-valuemin","0"),u.tabIndex=0,tt.className=`${p}-scrollbar__thumb`,l)u.classList.add(`${p}-scrollbar--horizontal`);if(o.padding!==void 0)g.style.setProperty("--vlist-custom-scrollbar-padding-top",`${O.top}px`),g.style.setProperty("--vlist-custom-scrollbar-padding-right",`${O.right}px`),g.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${O.bottom}px`),g.style.setProperty("--vlist-custom-scrollbar-padding-left",`${O.left}px`);if(o.minThumbSize!==void 0)u.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${b}px`);if(u.appendChild(tt),g.appendChild(u),Z.className=`${p}-scrollbar__hover`,l)Z.classList.add(`${p}-scrollbar__hover--horizontal`),Z.style.height=`${K}px`;else Z.style.width=`${K}px`;if(g.appendChild(Z),g!==n)Mt()},lt=()=>{if(q)clearTimeout(q),q=null},ft=()=>{if(!y)return;lt(),q=setTimeout(xt,P)},X=()=>{if(!H||_<=m)return;if(lt(),!s)u.classList.add(`${p}-scrollbar--visible`),s=!0;if(y&&!i&&!c&&document.activeElement!==u)ft()},xt=()=>{if(i||c||document.activeElement===u)return;u.classList.remove(`${p}-scrollbar--visible`),s=!1},Pt=(e,d)=>{if(_=e,m=d,Mt(),Et(S),!H||_<=m){u.style.display="none",u.classList.remove(`${p}-scrollbar--visible`),s=!1;return}u.style.display="";let f=Math.max(0,m-ot-j),L=m/_;if(I=Math.max(b,L*f),tt.style[E]=`${I}px`,R=f-I,Et(S),!y)X()},Et=(e)=>{let d=Math.max(0,_-m);if(S=Math.max(0,Math.min(e,d)),ct!==d)ct=d,u.setAttribute("aria-valuemax",String(d));if(ut!==S)ut=S,u.setAttribute("aria-valuenow",String(S));let f=a?.(),L=f?.getTotal()??0,w=L?f.indexAtOffset(S)+1:0;if(w!==dt||L!==rt)dt=w,rt=L,u.setAttribute("aria-valuetext",`Row ${w} of ${L}`);if(d<=0||R<=0)return;let J=S/d*R;if(J!==mt)mt=J,tt.style.transform=`${B}(${J}px)`},Ut=(e)=>{if(!H||e.target!==u||document.activeElement!==u)return;if(e.stopPropagation(),e.altKey||e.ctrlKey||e.metaKey)return;let d=a?.(),f=d?.getSize(d.indexAtOffset(S))??40,L=S;switch(e.key){case(l?"ArrowLeft":"ArrowUp"):L-=f;break;case(l?"ArrowRight":"ArrowDown"):L+=f;break;case"PageUp":L-=m;break;case"PageDown":L+=m;break;case"Home":L=0;break;case"End":L=_;break;default:return}e.preventDefault(),r(Math.max(0,Math.min(L,Math.max(0,_-m)))),X()},Wt=(e)=>{if(e.target===tt||U!=="jump"||R<=0)return;let d=_-m,f=u.getBoundingClientRect(),L=A(e)-f[G],w=Math.max(0,Math.min(L-I/2,R));r(w/R*d),X()},et=()=>{if(it!==null)clearTimeout(it),it=null;if(Q!==null)cancelAnimationFrame(Q),Q=null;t=null},Ct=(e)=>{let d=R>0?k/e*R:0;if(st<d)return-1;if(st>=d+I)return 1;return 0},Zt=()=>{let e=_-m,d=Ct(e);if(d===0){et();return}if(d===-1){if(k<=0){et();return}let f=Math.max(0,k-m);k=f,r(f)}else{if(k>=e){et();return}let f=Math.min(e,k+m);k=f,r(f)}X()},St=(e)=>{if(t===null){t=e,Q=requestAnimationFrame(St);return}let d=_-m,f=e-t;t=e;let L=Ct(d);if(L===0){et();return}let w=ae*m/1000,J=Math.min(w*f,m);if(L===-1){if(k<=0){et();return}let nt=Math.max(0,k-J);k=nt,r(nt)}else{if(k>=d){et();return}let nt=Math.min(d,k+J);k=nt,r(nt)}lt(),Q=requestAnimationFrame(St)},vt=(e)=>{if(e&&e.pointerId!==h)return;let d=h,f=z;if(h=null,z=null,i=!1,u.classList.remove(`${p}-scrollbar--dragging`),et(),d!==null&&f?.hasPointerCapture(d))f.releasePointerCapture(d);ft()},jt=(e)=>{if(!H||e.button!==0||h!==null||R<=0)return;if(e.preventDefault(),e.stopPropagation(),h=e.pointerId,i=e.target===tt,z=i?tt:e.currentTarget,z.setPointerCapture(h),lt(),i)V=A(e),N=S,u.classList.add(`${p}-scrollbar--dragging`);else if(U==="jump")Wt(e);else st=A(e)-u.getBoundingClientRect()[G],k=S,Zt(),it=setTimeout(()=>{Q=requestAnimationFrame(St)},se);X()},qt=(e)=>{if(!i||e.pointerId!==h)return;e.stopPropagation();let d=A(e)-V,f=Math.max(0,_-m),L=Math.max(0,Math.min(N+d/R*f,f));Et(L),r(L)},Xt=()=>{if(F)X()},Jt=()=>{if(!i){if(c=!1,y)ft()}},_t=()=>{c=!0,lt(),X()},wt=()=>{if(c=!1,!i&&y)ft()},at=["width","radius","thumb-color","track-color"],At=(e,d)=>g.style.setProperty(`--vlist-custom-scrollbar-${e}`,d),gt=at.map((e)=>g.style.getPropertyValue(`--vlist-custom-scrollbar-${e}`)),Dt=gt.slice(0,2),Rt=[],Nt=()=>{for(let w=0;w<2;w++){let J=at[w],nt=g.style.getPropertyValue(`--vlist-custom-scrollbar-${J}`);if(nt!==Rt[w])Dt[w]=nt;At(J,Dt[w])}let e=getComputedStyle(T??g),d=o.width??e.getPropertyValue("scrollbar-width"),f=e.getPropertyValue("scrollbar-color").match(/[\w-]+\([^)]*\)|\S+/g);H=o.enabled!==!1&&d!=="none";let L=[typeof o.width==="number"?`${o.width}px`:e.getPropertyValue("--vlist-custom-scrollbar-width").trim()||(d==="thin"||!x?"6px":"14px"),typeof o.radius==="number"?`${o.radius}px`:e.getPropertyValue("--vlist-custom-scrollbar-radius").trim()||(x?"0px":"4px"),o.thumbColor??(f?.length===2?f[0]:gt[2]),o.trackColor??(f?.length===2?f[1]:gt[3])];for(let w=0;w<at.length;w++)At(at[w],L[w]);if(Rt=L.slice(0,2),Z.style.display=H?"":"none",n.classList.toggle(`${p}-viewport--gutter`,H&&!!o.gutter),!H)vt();Pt(_,m)},Qt=()=>{lt(),et(),vt(),lt();for(let e of Ot)e();for(let e=0;e<at.length;e++)At(at[e],gt[e]);if(n.classList.remove(`${p}-viewport--gutter`),Z.remove(),g.style.removeProperty("--vlist-custom-scrollbar-padding-top"),g.style.removeProperty("--vlist-custom-scrollbar-padding-right"),g.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),g.style.removeProperty("--vlist-custom-scrollbar-padding-left"),u.remove(),pt&&n.id===pt)n.removeAttribute("id")};Yt();let Ot=[],Y=(e,d,f)=>{e.addEventListener(d,f),Ot.push(()=>e.removeEventListener(d,f))};for(let e of[u,tt,Z])Y(e,"pointerdown",jt),Y(e,"pointermove",qt),Y(e,"pointerup",vt),Y(e,"pointercancel",vt),Y(e,"lostpointercapture",vt);if(Y(u,"keydown",Ut),Y(u,"focus",X),Y(u,"blur",ft),Y(n,"mouseenter",Xt),Y(n,"mouseleave",Jt),Y(u,"mouseenter",_t),Y(u,"mouseleave",wt),C)Y(Z,"mouseenter",_t),Y(Z,"mouseleave",wt);return Nt(),{refresh:Nt,show:X,hide:xt,updateBounds:Pt,updatePosition:Et,isVisible:()=>s,destroy:Qt}};var yt=new Int32Array(0),ht=[];function ue(n,r,o,p,l){if(r===0||n.size===0)return;let v=n.size;if(yt.length<v)yt=new Int32Array(v);if(ht.length<v)ht.length=v;let a=0;for(let[P,b]of n)yt[a]=P,ht[a]=b,a++;n.clear();let T=o+"-item-",M=p.getAttribute("aria-activedescendant"),x=null,y=l&&r&1;for(let P=0;P<v;P++){let b=yt[P],C=ht[P];ht[P]=void 0;let F=b-r;if(n.set(F,C),M!==null&&C.id===M)x=C;if(C.id===T+b)C.id=T+F;if(y)C.classList.toggle(l)}if(x!==null)p.setAttribute("aria-activedescendant",x.id)}function de(n,r,o){if(r===0&&o===0)return;n.prevRangeStart-=r,n.prevRangeEnd-=r,n.startIndex-=r,n.prevBaseOffset-=o;let p=n.visibleCount;for(let l=0;l<p;l++)n.visibleIndices[l]-=r,n.visibleOffsets[l]-=o}function zt(n,r){let o=r>1?Math.trunc(n):Math.floor(n);return Math.abs(o)<r?0:o}function kt(n,r,o,p,l,v,a){let T=n.lapSize(),M=n.itemsPerLap(),x=T>0?Math.round(r/T)*M:0;if(x===0)return;if(l)ue(l,x,v,p,a);de(o,x,r)}var $t=150;var Vt=(n)=>n<0.5?2*n*n:1-(-2*n+2)**2/2;var Gt=1,Ft=2;var Bt=(n)=>1-(1-n)**3;function Kt({getMax:n,onChange:r=()=>{},onFinish:o,axis:p="y",reducedMotion:l}){let v=0,a=0,T=null,M=0,x=0,y=0,P=0,b=0,C=null,F=0,D=0,U=0,g=0,O=400,ot=Bt,j=()=>U,W=0.006,K=(i)=>{let c=n();return Number.isFinite(c)?Math.max(0,Math.min(c,i)):i},H=(i,c)=>p==="y"?c:i,_=(i,c)=>p==="y"?i:c;function m(i){let c=K(i);if(c!==v)v=c,r(v);return c!==i}function I(){b=0,a=T===null?0:5}function R(i){I(),m(i)}return{get position(){return v},get state(){return a},get velocity(){return b},get active(){return a===3||a===4},begin(i,c,V,N){if(T!==null){I();return}I(),T=i,M=y=H(c,V),x=_(c,V),P=N,a=1},move(i,c,V,N){if(i!==T||a!==1&&a!==2)return!1;let S=H(c,V);if(a===1){let h=Math.abs(S-M),z=Math.abs(_(c,V)-x);if(Math.max(h,z)<6)return!1;if(z>h*1.2)return I(),!1;if(h<z*1.2)return!1;a=2}let q=y-S,s=N-P;if(s>0){let h=Math.max(-3,Math.min(3,q/s));b=s>80?0:h*b<0?h:0.65*h+0.35*b}if(y=S,P=N,m(v+q))b=0;return!0},end(i,c){if(i!==T)return;if(T=null,a===2&&!l()&&c-P<=80&&Math.abs(b)>=0.02)C=null,a=3;else b=0,a=0},cancel:I,reset(){T=null,I()},jump:R,shiftBy(i){D+=i,g+=i,m(v+i)},by(i){I();let c=v;return m(v+i),v!==c},smooth(i,c=400,V=Bt){if(I(),g=0,j=typeof i==="function"?i:()=>i,T!==null||l()||c<=0){m(j());return}O=c,ot=V,D=v,U=K(j()+g),C=null,a=4},resize(){I(),m(v)},tick(i){if(a!==3&&a!==4)return;if(C===null){if(C=i,a===4)F=i;return}let c=i-C;if(c<=0)return;if(C=i,c>100){if(a===4)m(K(j()+g)),a=0,o?.();else I();return}if(a===4){U=K(j()+g);let S=Math.min(1,(i-F)/O);if(m(D+(U-D)*ot(S)),S===1)a=0,o?.();return}let V=Math.exp(-W*c),N=m(v+b*(1-V)/W);if(b*=V,N||Math.abs(b)<0.02)b=0,a=0}}}var Lt=(n)=>n.pointerType==="touch"||n.pointerType==="pen";function It(n){if(n.closest("textarea,select,[contenteditable]:not([contenteditable=false])"))return!0;let r=n.closest("input");return!!r&&!/^(button|submit|reset|checkbox|radio|image)$/.test(r.type)}function me(n){let{state:r,viewport:o,content:p,isX:l,onFrame:v,onIdle:a,mainAxisPadding:T,wrap:M}=n,x=o.parentElement??o,y=o.ownerDocument.defaultView,P=o.ownerDocument,b=y.matchMedia("(prefers-reduced-motion: reduce)"),C=0,F=null,D=null,U=!1,g=!1,O=!1,ot=-1,j=-1,W=null,K=null,H=!1,_=!1,m=!1,I=!1,R,i=new Set;function c(t){let E=r.scrollPosition;if(M){let B=M.lapSize(),A=B>0?zt((t-M.home())/B,M.thresholdLaps):0;if(A!==0){let G=A*B;O=!0,s.shiftBy(-G),O=!1,t=s.position,E-=G,kt(M,G,r,p,n.rendered,n.classPrefix??"",n.oddClass),n.onFold?.(G),M.onFold?.(G)}}if(r.prevScrollPosition=E,r.scrollPosition=r.baseOffset=t,r.scrollDirection=t>E?1:t<E?-1:0,!g)v()}function V(){if(D=null,s.active||s.state===Ft||s.state===Gt)return;r.scrollDirection=0,a()}function N(){if(!U)return;if(D!==null)clearTimeout(D);D=setTimeout(V,n.idleTimeout||$t)}function S(){if(U&&F===null&&s.active)F=requestAnimationFrame(q)}function q(t){if(F=null,s.tick(t),s.active)S();else N()}let s=Kt({axis:l?"x":"y",getMax:()=>M?1/0:C,reducedMotion:()=>b.matches,onChange(t){if(!O)c(t)},onFinish(){let t=R;R=void 0,t?.()}});function h(){if(R=void 0,F!==null)cancelAnimationFrame(F),F=null;if(s.cancel(),D!==null)clearTimeout(D),D=null}function z(){if(h(),s.reset(),I&&W!==null&&o.hasPointerCapture(W))o.releasePointerCapture(W);I=!1,i.clear(),W=K=null,H=_=m=!1,N()}function ct(t){if(!Lt(t))return;if(t.isPrimary){if(i.size)z();i.clear()}if(i.add(t.pointerId),i.size>1){m=!0,h();return}if(!(t.target instanceof Element)||It(t.target)){h();return}W=t.pointerId,H=!1,_=s.active,K=null,h(),s.begin(t.pointerId,t.clientX,t.clientY,t.timeStamp)}function ut(t){if(!Lt(t)||t.target instanceof Node&&o.contains(t.target))return;if(t.isPrimary&&i.size)z();else if(i.size)i.add(t.pointerId),m=!0,h()}function dt(t){if(!Lt(t)||m)return;if(s.move(t.pointerId,t.clientX,t.clientY,t.timeStamp)){if(H=!0,!I)o.setPointerCapture(t.pointerId),I=!0;if(t.cancelable)t.preventDefault()}}function rt(t){if(!Lt(t)||!i.has(t.pointerId))return;let E=t.type==="pointercancel";if(E)h();if(W===t.pointerId){if(!E&&!m&&(H||_))K=t.pointerId;if(I&&o.hasPointerCapture(t.pointerId))o.releasePointerCapture(t.pointerId);I=!1,W=null,H=_=!1}if(s.end(t.pointerId,t.timeStamp),i.delete(t.pointerId),!i.size){if(m||E)s.reset();m=!1}S(),N()}function mt(t){let E=t.pointerId;if(t.detail!==0&&K!==null&&(E===K||E===void 0))K=null,t.preventDefault(),t.stopImmediatePropagation()}function pt(t){if(t.ctrlKey||t.defaultPrevented||!(t.target instanceof Element)||It(t.target))return;let E=t.deltaMode===1?16:t.deltaMode===2?r.containerSize:1,B=l?t.deltaX:t.deltaY,A=l?t.deltaY:t.deltaX,G=l?o.scrollHeight>o.clientHeight:o.scrollWidth>o.clientWidth;if(G&&Math.abs(A)>Math.abs(B))return;if(G&&A!==0)if(t.preventDefault(),l)o.scrollTop+=A*E;else o.scrollLeft+=A*E;let u=l&&!G&&B===0?A:B;if(h(),s.by(u*E))t.preventDefault();N()}function st(t){if(t.defaultPrevented||t.ctrlKey||t.metaKey||t.altKey||!(t.target instanceof Element)||It(t.target))return;if((t.key===" "||t.key==="Enter")&&t.target.closest("button,summary,a,input"))return;let E=n.sizeCache,B=E.getSize(E.indexAtOffset(s.position)),A;if(t.key===(l?"ArrowRight":"ArrowDown"))A=s.position+B;if(t.key===(l?"ArrowLeft":"ArrowUp"))A=s.position-B;if(t.key==="PageDown"||t.key===" ")A=s.position+r.containerSize*(t.shiftKey&&t.key===" "?-1:1);if(t.key==="PageUp")A=s.position-r.containerSize;if(t.key==="Home")A=0;if(t.key==="End")A=C;if(A!==void 0)t.preventDefault(),it(A)}function k(){if(P.hidden)z()}function it(t){let E=s.position;if(h(),s.jump(t),E===(M?t:Math.max(0,Math.min(C,t))))c(s.position);N()}function Q(t){let E=ot!==r.containerSize||j!==r.crossSize,B=t!==r.totalSize||E;if(ot=r.containerSize,j=r.crossSize,r.totalSize=t,C=Math.max(0,t+T-r.containerSize),B){if(g=!0,E)h(),s.resize();else s.shiftBy(0);c(s.position),g=!1}}return{setLogical:it,refresh:Q,shiftBy(t){if(r.totalSize=n.sizeCache.getTotalSize(),C=Math.max(0,r.totalSize+T-r.containerSize),s.shiftBy(t),!s.active)N()},cancelScroll(){h(),N()},getLogical:()=>r.scrollPosition,getMaxLogical:()=>C,smoothScrollTo(t,E,B,A=Vt,G){if(h(),s.smooth(t,E,A),R=G,!s.active)R=void 0,G?.(),N();else S()},attach(){if(U)return;if(U=!0,o.style.overflowX=l?"hidden":"auto",o.style.overflowY=l?"auto":"hidden",o.style.touchAction=l?"pan-y pinch-zoom":"pan-x pinch-zoom",o.style.overflowAnchor="none",p.style[l?"width":"height"]="100%",p.style.overflow="clip",p.style.overflowAnchor="none",o.addEventListener("pointerdown",ct),y.addEventListener("pointerdown",ut),o.addEventListener("pointermove",dt,{passive:!1}),y.addEventListener("pointerup",rt),y.addEventListener("pointercancel",rt),o.addEventListener("click",mt,!0),n.wheelEnabled)o.addEventListener("wheel",pt,{passive:!1});x.addEventListener("keydown",st),y.addEventListener("blur",z),P.addEventListener("visibilitychange",k),b.addEventListener("change",z),S()},detach(){if(U=!1,z(),D!==null)clearTimeout(D),D=null;o.removeEventListener("pointerdown",ct),y.removeEventListener("pointerdown",ut),o.removeEventListener("pointermove",dt),y.removeEventListener("pointerup",rt),y.removeEventListener("pointercancel",rt),o.removeEventListener("click",mt,!0),o.removeEventListener("wheel",pt),x.removeEventListener("keydown",st),y.removeEventListener("blur",z),P.removeEventListener("visibilitychange",k),b.removeEventListener("change",z),o.style.overflowX=o.style.overflowY=o.style.touchAction=o.style.overflowAnchor="",p.style.overflow=p.style.overflowAnchor=""}}}function Se(n,r,o,p,l,v){let{viewport:a,root:T}=r,M=`${o.classPrefix}-viewport--custom-scrollbar`;if(v==="none"||a.classList.contains(M))return null;let x=Ht(a,l,typeof v==="object"?v:{},o.classPrefix,o.axis.primary==="x",T,()=>p,T.parentElement),y=-1,P=-1;return a.classList.add(M),{sync(){let b=n.totalSize+o.mainAxisPadding;if(b!==y||n.containerSize!==P)y=b,P=n.containerSize,x.updateBounds(y,P);x.updatePosition(n.scrollPosition),x.show()},destroy(){x.destroy(),a.classList.remove(M)}}}export{Se as attachScrollbar,me as createSyntheticScrollHandler};
|
package/dist/synthetic.d.ts
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import type { CreateVListConfig, PluginMethods, VList, VListPlugin } from "./core/types";
|
|
2
2
|
import type { VListItem } from "./types";
|
|
3
3
|
export type { CreateVListConfig as SyntheticVListConfig } from "./core/types";
|
|
4
|
+
/**
|
|
5
|
+
* Synthetic scrolling, loaded up front.
|
|
6
|
+
*
|
|
7
|
+
* @deprecated Use createVList from "vlist" with `scroll: { mode: "synthetic" }`,
|
|
8
|
+
* or the default `"auto"`, which hands over past the browser's size limit
|
|
9
|
+
* (RFC-015). This entry bundles the driver instead of loading it on demand.
|
|
10
|
+
*/
|
|
4
11
|
export declare function createVList<T extends VListItem = VListItem, const P extends readonly VListPlugin<T, any>[] = VListPlugin<T>[]>(config: CreateVListConfig<T>, plugins?: P): VList<T> & PluginMethods<P>;
|
|
5
12
|
//# sourceMappingURL=synthetic.d.ts.map
|
package/dist/synthetic.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var we=3,vt="vlist";var fe=150;var Me=(e)=>e<0.5?2*e*e:1-(-2*e+2)**2/2,gt=300;var ze="__placeholder_";function ht(e){let{state:t,viewport:o,isX:i,onFrame:r,onIdle:u}=e,l=e.idleTimeout||fe,d=null,y=null;function C(I=i?o.scrollLeft:o.scrollTop){t.prevScrollPosition=t.scrollPosition,t.scrollPosition=I,t.scrollDirection=I>t.prevScrollPosition?1:I<t.prevScrollPosition?-1:0,r(),v()}function v(){if(d!==null)clearTimeout(d);d=setTimeout(()=>{d=null,t.scrollDirection=0,u()},l)}function h(){if(y!==null)cancelAnimationFrame(y),y=null}function f(I,_,M,p=Me,B){h();let x=t.scrollPosition,R=typeof I==="function"?I:()=>I,H=R();if(Math.abs(H-x)<1){if(M)M(H);else if(i)o.scrollLeft=H;else o.scrollTop=H;B?.();return}let a=performance.now();function S(O){H=R();let P=O-a,A=Math.min(P/_,1),b=x+(H-x)*p(A);if(M)M(b);else if(i)o.scrollLeft=b;else o.scrollTop=b;if(!M)C(b);if(A<1)y=requestAnimationFrame(S);else y=null,B?.()}y=requestAnimationFrame(S)}return{attach(){},detach(){if(h(),d!==null)clearTimeout(d),d=null},cancelScroll:h,smoothScrollTo:f,commitScroll:C}}var _e={top:0,right:0,bottom:0,left:0},St=(e)=>{if(e==null)return _e;if(typeof e==="number")return e===0?_e:{top:e,right:e,bottom:e,left:e};if(e.length===2){let[u,l]=e;return u===0&&l===0?_e:{top:u,right:l,bottom:u,left:l}}let[t,o,i,r]=e;return t===0&&o===0&&i===0&&r===0?_e:{top:t,right:o,bottom:i,left:r}},yt=(e,t)=>t?e.left+e.right:e.top+e.bottom,xt=(e,t)=>t?e.top+e.bottom:e.left+e.right;function Et(e){let t={visibleIndices:new Int32Array(e),visibleOffsets:new Float64Array(e),visibleSizes:new Float64Array(e),visibleCount:0,startIndex:0,totalSize:0,capacity:e,scrollPosition:0,prevScrollPosition:0,scrollDirection:0,baseOffset:0,prevBaseOffset:0,containerSize:0,crossSize:0,totalItems:0,prevRangeStart:0,prevRangeEnd:-1,renderPending:!1,initialized:!1,destroyed:!1,windowClamped:!1,windowClampReported:!1,prevAriaTotal:-1,ensureCapacity(o){if(o<=t.capacity)return;let i=o+8,r=new Int32Array(i),u=new Float64Array(i),l=new Float64Array(i);r.set(t.visibleIndices),u.set(t.visibleOffsets),l.set(t.visibleSizes),t.visibleIndices=r,t.visibleOffsets=u,t.visibleSizes=l,t.capacity=i},resizeCapacity(o,i,r=we){if(i<=0||o<=0)return;t.ensureCapacity(Math.ceil(o/i)+r*2)},clear(){t.visibleCount=0,t.startIndex=0}};return t}var Gt=(e,t,o)=>{let i=t;return{getOffset:(r)=>r*e,getSize:(r)=>e,indexAtOffset:(r)=>{if(i===0||e===0)return 0;return Math.max(0,Math.min(Math.floor(r/e),i-1))},getTotalSize:()=>{let r=i*e;return r>0?r-o:0},getTotal:()=>i,rebuild:(r)=>{i=r},invalidate:()=>{},isVariable:()=>!1}};var It=(e,t,o,i)=>{while(t<o){let r=t+o+1>>>1;if(e[r]<=i)t=r;else o=r-1}return t},qt=(e,t,o)=>{let i=0,r=0,u=new Float64Array(0),l=new Float64Array(0),d=new Float64Array(1),y=(v,h)=>{for(let f=v;f<r;f++){if(f<=h){let I=f<<9,_=Math.min(I+512,i),M=0;for(let p=I;p<_;p++)u[p]=M,M+=e(p);l[f]=M}d[f+1]=d[f]+l[f]}},C=(v)=>{i=v,r=Math.ceil(v/512),u=new Float64Array(v),l=new Float64Array(r),d=new Float64Array(r+1),y(0,r-1)};return C(t),{getOffset:(v)=>{if(v<=0)return 0;if(v>=i)return d[r];return d[v>>>9]+u[v]},getSize:(v)=>e(v),indexAtOffset:(v)=>{if(i===0||v<=0)return 0;if(v>=d[r])return i-1;let h=It(d,0,r-1,v),f=h<<9;return It(u,f,Math.min(f+512,i)-1,v-d[h])},getTotalSize:()=>{let v=d[r];return v>0?v-o:0},getTotal:()=>i,rebuild:(v)=>C(v),invalidate:(v,h=v)=>{if(v>=0&&h<i)y(v>>>9,h>>>9)},isVariable:()=>!0}},He=(e,t,o=0)=>{if(typeof e==="number")return Gt(e,t,o);return qt(e,t,o)};function Tt(e){let t=[],o=`${e}-item`,i=document.createElement("div");return i.className=o,{acquire(){if(t.length>0)return t.pop();return i.cloneNode(!1)},release(r){r.className=o,r.removeAttribute("style"),r.removeAttribute("id"),r.removeAttribute("role"),r.removeAttribute("aria-selected"),r.removeAttribute("aria-posinset"),r.removeAttribute("aria-setsize"),r.removeAttribute("data-index"),r.removeAttribute("data-id"),r.textContent="",t.push(r)},get size(){return t.length},trim(r){let u=r>0?r:0;if(t.length>u)t.length=u},clear(){t.length=0}}}function Ue(e){let t=e.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let o=0;o<t.length;o++)t[o].setAttribute("tabindex","-1");e._stamp=0}function Ge(e){if(typeof e==="string"){let t=document.querySelector(e);if(!t)throw Error(`[vlist] Container not found: ${e}`);return t}return e}function Lt(e,t,o,i){let r=o?`${t} ${t}--horizontal`:t,u=o?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",l=o?"position:relative;height:100%;overflow-anchor:none":"position:relative;width:100%;overflow-anchor:none",d=' role="list"';if(i)d+=` aria-label="${i.replace(/"/g,""")}"`;if(o)d+=' aria-orientation="horizontal"';e.insertAdjacentHTML("beforeend",`<div class="${r}"><div class="${t}-viewport" style="${u}" tabindex="-1"><div class="${t}-content" style="${l}"${d}></div></div></div>`);let y=e.lastElementChild,C=y.firstElementChild,v=C.firstElementChild,h=document.createElement("div");return h.className=`${t}-live`,h.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",h.setAttribute("aria-live","polite"),h.setAttribute("aria-atomic","true"),h.setAttribute("role","status"),y.appendChild(h),{root:y,viewport:C,content:v,liveRegion:h}}function Yt(e,t){if(e.getTotal()<=0)return{index:0,offsetPx:0};let i=t<=0?0:t,r=e.indexAtOffset(i),u=i-e.getOffset(r);return{index:r,offsetPx:u>0?u:0}}function Xt(e,t){let o=Zt(e,t);return e.getOffset(o.index)+o.offsetPx}function Zt(e,t){let o=e.getTotal();if(o<=0)return{index:0,offsetPx:0};let{index:i,offsetPx:r}=t;if(i<0)return{index:0,offsetPx:0};if(i>o-1)i=o-1;while(r>0&&i<o-1){let u=e.getSize(i);if(r<u)break;r-=u,i++}while(r<0&&i>0)i--,r+=e.getSize(i);if(r<0)r=0;return{index:i,offsetPx:r}}function Ct(e){let{sizeCache:t,getPixel:o,setPixel:i,getContainerSize:r}=e;function u(){let d=t.getTotalSize()+e.padding-r();return d>0?d:0}function l(d){if(d<=0)return 0;let y=u();return d>y?y:d}return{getLogical(){return Yt(t,o())},setLogical(d){i(l(Xt(t,d)))},getPixelEquivalent(){return o()},setPixelEquivalent(d){i(l(d))},getMaxPixelEquivalent:u,getRenderOrigin:e.getRenderOrigin,scrollByPx(d){i(l(o()+d))}}}var Ie=[],jt={calculate:Ie,commit:Ie,afterScroll:Ie,idle:Ie,resize:Ie};function Pt(e){if(e.length===0)return jt;let t=[],o=[],i=[],r=[],u=[];for(let l=0;l<e.length;l++){let d=e[l].hooks;if(d===void 0)continue;if(d.onCalculate!==void 0)t.push(d.onCalculate);if(d.onCommit!==void 0)o.push(d.onCommit);if(d.onAfterScroll!==void 0)i.push(d.onAfterScroll);if(d.onIdle!==void 0)r.push(d.onIdle);if(d.onResize!==void 0)u.push(d.onResize)}return{calculate:t,commit:o,afterScroll:i,idle:r,resize:u}}function At(e,t){for(let o=0;o<e.length;o++)e[o](t)}function Te(e,t){for(let o=0;o<e.length;o++)e[o](t)}function qe(e,t,o){for(let i=0;i<e.length;i++)e[i](t,o)}function wt(e){for(let t=0;t<e.length;t++)e[t]()}function Mt(e,t,o){for(let i=0;i<e.length;i++)e[i](t,o)}function zt(e,t,o,i,r,u,l,d){let y=i!==0||r!==0;return{prefix:e,selectedClass:`${e}-item--selected`,focusedClass:`${e}-item--focused`,placeholderClass:`${e}-item--placeholder`,replacedClass:`${e}-item--replaced`,translateProp:t?"translateX(":"translateY(",sizeProp:t?"width":"height",itemRole:"listitem",interactive:!1,startPadding:o,gap:l,hasCrossPad:y,crossStartProp:y?t?"top":"left":"",crossEndProp:y?t?"bottom":"right":"",crossStartVal:y?i+"px":"",crossEndVal:y?r+"px":"",oddClass:u,emitter:d??null,indexMap:null,ariaTotalFn:null}}function Jt(e,t,o,i,r){if(e.containerSize<=0||e.totalItems===0)return e.clear(),!0;let{scrollPosition:u,containerSize:l,totalItems:d}=e,y=r??0;e.totalSize=t.getTotalSize();let C=t.indexAtOffset(y>0?Math.max(0,u-y):u),v=t.indexAtOffset(u+l);if(v<d-1)v++;C=Math.max(0,C),v=Math.min(d-1,Math.max(0,v));let h=Math.max(0,C-o),f=Math.min(d-1,v+o),I=Math.ceil(l)+o*2;if(f-h+1>I)f=h+I-1,e.windowClamped=!0;let _=f-h+1;if(_>e.capacity)e.ensureCapacity(_);let M=Math.min(_,e.capacity);if(h===e.prevRangeStart&&f===e.prevRangeEnd&&!e.renderPending&&e.baseOffset===e.prevBaseOffset)return!1;e.visibleCount=M,e.startIndex=h;for(let p=0;p<M;p++){let B=h+p;e.visibleIndices[p]=B,e.visibleOffsets[p]=t.getOffset(B),e.visibleSizes[p]=t.getSize(B)}return At(i.calculate,e),e.prevRangeStart=h,e.prevRangeEnd=f,e.prevBaseOffset=e.baseOffset,e.renderPending=!1,!0}var U={selected:!1,focused:!1};function Qt(e,t,o){for(let i=0;i<t;i++)if(e[i]===o)return!0;return!1}function en(e,t){if(t<=1)return!0;let o=e[0];for(let i=1;i<t;i++){let r=e[i];if(r!==o+1)return!1;o=r}return!0}function tn(e,t,o,i,r,u,l,d,y,C){let v=y?null:r(),{visibleCount:h,visibleIndices:f}=e,I=l.ariaTotalFn?l.ariaTotalFn():e.totalItems,_=l.interactive?String(I):"",M=l.interactive&&I!==e.prevAriaTotal,p=null,B=l.indexMap;for(let x=0;x<h;x++){let R=f[x],H=B?B(R):R,a=e.visibleOffsets[x],S=e.visibleSizes[x],O=y?y(R):v[R];if(C)C(H,U);else U.selected=!1,U.focused=!1;let P=u.get(R),A=P;if(P===void 0){let b=t.acquire();if(O!==void 0){let E;try{E=i(O,H,U)}catch(V){if(l.emitter)l.emitter.emit("error",{error:V instanceof Error?V:Error(String(V)),context:`template:render:${H}`});t.release(b);continue}if(typeof E==="string")b.innerHTML=E;else b.textContent="",b.appendChild(E);Ue(b)}if(b.setAttribute("role",l.itemRole),b.setAttribute("data-index",String(H)),l.interactive)b.id=l.prefix+"-item-"+R,b.setAttribute("aria-posinset",String(H+1)),b.setAttribute("aria-setsize",_);if(O!==void 0){let E=String(O.id);if(b.setAttribute("data-id",E),E.startsWith(ze))b.classList.add(l.placeholderClass)}if(l.hasCrossPad)b.style.setProperty(l.crossStartProp,l.crossStartVal),b.style.setProperty(l.crossEndProp,l.crossEndVal);if(C){if(b.classList.toggle(l.selectedClass,U.selected),b.classList.toggle(l.focusedClass,U.focused),U.selected)b.setAttribute("aria-selected","true");else b.removeAttribute("aria-selected");b._lastSelected=U.selected,b._lastFocused=U.focused}if(l.oddClass)b.classList.toggle(l.oddClass,(R&1)===1);let W=a-e.baseOffset+l.startPadding;b.style.transform=l.translateProp+W+"px)",b._lastOffset=W;let g=S-l.gap;if(b.style[l.sizeProp]=g+"px",b._lastSize=g,b._lastItem=O,u.set(R,b),p===null)p=document.createDocumentFragment();p.appendChild(b)}else{if(M)P.setAttribute("aria-setsize",_);if(O!==void 0&&A._lastItem!==O){let g=P.getAttribute("data-id"),E=String(O.id),V;try{V=i(O,H,U)}catch(F){if(l.emitter)l.emitter.emit("error",{error:F instanceof Error?F:Error(String(F)),context:`template:render:${H}`});continue}if(typeof V==="string")P.innerHTML=V;else P.textContent="",P.appendChild(V);if(Ue(P),P.setAttribute("data-id",E),A._lastItem=O,g!==E){let F=g!==null&&g.startsWith(ze),N=E.startsWith(ze);if(F!==N)P.classList.toggle(l.placeholderClass,N);if(F&&!N)P.classList.add(l.replacedClass),setTimeout(()=>{P.classList.remove(l.replacedClass)},300)}}if(C){if(A._lastSelected!==U.selected){if(P.classList.toggle(l.selectedClass,U.selected),U.selected)P.setAttribute("aria-selected","true");else P.removeAttribute("aria-selected");A._lastSelected=U.selected}if(A._lastFocused!==U.focused)P.classList.toggle(l.focusedClass,U.focused),A._lastFocused=U.focused}let b=a-e.baseOffset+l.startPadding;if(A._lastOffset!==b)P.style.transform=l.translateProp+b+"px)",A._lastOffset=b;let W=S-l.gap;if(A._lastSize!==W)P.style[l.sizeProp]=W+"px",A._lastSize=W}}if(p!==null)o.appendChild(p);if(h>0&&en(f,h)){let x=f[0],R=f[h-1];for(let[H,a]of u)if(H<x||H>R)a.remove(),t.release(a),u.delete(H)}else for(let[x,R]of u)if(!Qt(f,h,x))R.remove(),t.release(R),u.delete(x);if(l.interactive)e.prevAriaTotal=e.totalItems;Te(d.commit,e)}function Ye(e,t,o,i,r,u,l,d,y,C,v,h){let f=Jt(e,t,o,C,y.startPadding);if(e.windowClamped&&!e.windowClampReported)e.windowClampReported=!0,queueMicrotask(()=>{if(e.destroyed)return;y.emitter?.emit("error",{error:Error("[vlist] render window capped to the viewport: the item size spec reports sizes below 1px"),context:"render:window-ceiling"})});if(f)tn(e,i,r,u,l,d,y,C,v,h)}var Xe=()=>{let e={},t=(u,l)=>{if(!e[u])e[u]=new Set;return e[u].add(l),()=>o(u,l)},o=(u,l)=>{e[u]?.delete(l)};return{on:t,off:o,emit:(u,l)=>{e[u]?.forEach((d)=>{try{d(l)}catch(y){}})},clear:(u)=>{if(u)delete e[u];else for(let l in e)delete e[l]}}};var _t=2,Ht=(e=0)=>({velocity:0,sampleCount:0}),Rt=(e,t)=>{let o=performance.now(),i=e._lt??o,r=e._lp??t,u=o-i;if(e._lp=t,e._lt=o,u===0)return e.sampleCount=Math.min(e.sampleCount+1,5),e;if(u>100)return e.velocity=0,e.sampleCount=1,e;return e.velocity=Math.abs(t-r)/u,e.sampleCount=Math.min(e.sampleCount+1,5),e};function nn(e){let{item:t}=e;if(t.height!==void 0&&typeof t.height==="number"){if(!Number.isFinite(t.height)||t.height<=0)throw Error(`vlist: item.height must be a positive number, got ${t.height}`)}if(t.width!==void 0&&typeof t.width==="number"){if(!Number.isFinite(t.width)||t.width<=0)throw Error(`vlist: item.width must be a positive number, got ${t.width}`)}if(t.estimatedHeight!==void 0){if(!Number.isFinite(t.estimatedHeight)||t.estimatedHeight<=0)throw Error(`vlist: item.estimatedHeight must be a positive number, got ${t.estimatedHeight}`)}if(t.estimatedWidth!==void 0){if(!Number.isFinite(t.estimatedWidth)||t.estimatedWidth<=0)throw Error(`vlist: item.estimatedWidth must be a positive number, got ${t.estimatedWidth}`)}if(t.gap!==void 0){if(typeof t.gap!=="number"||!Number.isFinite(t.gap)||t.gap<0)throw Error(`vlist: item.gap must be a non-negative number, got ${t.gap}`)}if(e.overscan!==void 0){if(typeof e.overscan!=="number"||!Number.isFinite(e.overscan)||e.overscan<0)throw Error(`vlist: overscan must be a non-negative number, got ${e.overscan}`)}let o=e.scroll;if(o?.mode!==void 0||o?.runway!==void 0)throw Error('vlist 3.0: scroll.mode and scroll.runway were removed; bounded mode is gone. Use "vlist/synthetic" for huge lists or "vlist" for native scrolling.')}function on(e,t){let o=e==="horizontal"?"x":"y";if(t.some((r)=>r.name==="grid"))return{primary:o,cross:o==="x"?"y":"x"};return{primary:o}}function rn(e,t){let o=on(e.orientation,t),i=o.primary==="x",r=St(e.padding);return{axis:o,hasCrossAxis:o.cross!==void 0,overscan:e.overscan??we,reverse:e.reverse??!1,classPrefix:e.classPrefix??vt,mainAxisPadding:yt(r,i),crossAxisPadding:xt(r,i),startPadding:i?r.left:r.top,endPadding:i?r.right:r.bottom,crossPadStart:i?r.top:r.left,crossPadEnd:i?r.bottom:r.right,striped:e.item.striped||!1,gap:e.item.gap??0}}function ln(e,t){if(t)return e.item.width??e.item.estimatedWidth??100;return e.item.height??e.item.estimatedHeight??40}function sn(e){let t=[...e];return t.sort((o,i)=>(o.priority??50)-(i.priority??50)),t}function an(e){let t=new Set;for(let o of e){if(t.has(o.name))throw Error(`[vlist] Duplicate plugin: ${o.name}`);t.add(o.name)}for(let o of e)if(o.conflicts){for(let i of o.conflicts)if(t.has(i))throw Error(`[vlist] Plugin "${o.name}" conflicts with "${i}"`)}}function un(e,t){for(let o of e)o.validateConfig?.(t)}function Ot(e,t=[],o,i){if(nn(e),o&&typeof e.scroll?.scrollbar==="string")throw Error('vlist 3.0: scroll.scrollbar strings require "vlist"; use the scrollbar() plugin with "vlist/synthetic".');if(e.orientation==="horizontal"&&getComputedStyle(Ge(e.container)).direction==="rtl")throw Error("vlist: horizontal RTL lists are not supported; use a vertical list, or an LTR container");let r=rn(e,t),u=r.axis.primary==="x",l=ln(e,u),d=r.gap,y=d>0?typeof l==="function"?(c)=>l(c)+d:l+d:l,C=typeof l==="number"?l:20,v=e.items?.length??0,h=r.striped?`${r.classPrefix}-item--odd`:"",f=Xe(),I=zt(r.classPrefix,u,r.startPadding,r.crossPadStart,r.crossPadEnd,h,d,f),_=t.length>0?sn(t):t;if(t.length>0)an(_),un(_,r);let M=Ge(e.container),p=Lt(M,r.classPrefix,u,e.ariaLabel);if(e.scroll?.scrollbar==="none")p.viewport.classList.add(`${r.classPrefix}-viewport--no-scrollbar`);if(e.scroll?.gutter==="stable")p.viewport.classList.add(`${r.classPrefix}-viewport--gutter-stable`);let x=He(y,v,d),R=Tt(r.classPrefix),H=Math.ceil(4096/C)+r.overscan*2+8,a=Et(H);a.totalItems=v;let S=e.items?[...e.items]:[],O=()=>S,P=new Map,A=Ht(),b={velocity:0,reliable:!1},W={range:{start:0,end:-1}},g={scrollPosition:0,direction:"down"},E={scrollPosition:0},V=-1,F=-1,N=-1,j=null,T=Pt(_),z=new Map,G=[],se=[],pe=[],be=(c)=>{let n=(m)=>{c.push(m instanceof Error?m:Error(String(m)))};for(let m of pe)try{m()}catch(L){n(L)}for(let m of _)if(m.destroy)try{m.destroy()}catch(L){n(L)}},Z=null,Q=null,ve,ce,ee=null,de=null,X=null,s=null,w=null,K=null,D=null,q=null,re=!1,je=!1,ge=null,Je=0,Qe=0,et=null,tt=null,nt=null,ot=null,Fe=null,ke=null,Ve=null,Ce=null,J=null,he=null,rt=null;a.containerSize=u?p.viewport.clientWidth:p.viewport.clientHeight,a.crossSize=u?p.viewport.clientHeight:p.viewport.clientWidth;function Se(c){if(Q)Q(c);else{if(u)p.viewport.scrollLeft=c;else p.viewport.scrollTop=c;ce?.()}}let it=Ct({sizeCache:x,getPixel:()=>a.scrollPosition,setPixel:Se,getRenderOrigin:()=>a.baseOffset,getContainerSize:()=>a.containerSize,padding:r.mainAxisPadding});if(t.length>0){let c={pool:R,config:r,emitter:f,template:e.item.template,getState(){return a},dom:{...p,renderedElement(n){let m=z.get("_getRenderedElement");if(m)return m(n);return P.get(n)??null},enableListbox(){let n=p.content.getAttribute("role");if(!n||n==="list")p.content.setAttribute("role","listbox"),p.content.setAttribute("tabindex","0");I.itemRole="option",I.interactive=!0}},scroll:{...it,to:Se,shiftBy(n){if(J?.shiftBy)J.shiftBy(n);else c.scroll.to(a.scrollPosition+n)},smoothTo(n,m,L,k){if(Fe)Fe(n,m,Q??void 0,L,k);else c.scroll.to(typeof n==="function"?n():n)},cancel(){ue?.cancelScroll()},commit(n){ce(n)},setSource(n){Q=n.write,ve=n.onContentSize,re=!0},setTarget(n){ge=n},setBoundedWrap(n,m){he=n,rt=m},setToPosFn(n){ke=n},setToIndexFn(n){Ve=n},onFrame:Be,onIdle:Pe,disableResize(){je=!0}},items:{all:O,at(n){return X?X(n):S[n]},removeById(n){if(w)return w(n);let m=S.findIndex((L)=>L.id===n);if(m===-1)return-1;return S.splice(m,1),a.totalItems=S.length,x.rebuild(a.totalItems),te(),m},insertAt(n,m){if(K){K(n,m);return}S.splice(m,0,n),a.totalItems=S.length,x.rebuild(a.totalItems),te()},setGetFn(n){X=n},setRemoveFn(n){w=n},setInsertFn(n){K=n},setUpdateFn(n){D=n},setIndexByIdFn(n){q=n},setTotalFn(n){Z=n,I.ariaTotalFn=n},setIndexMapFn(n){I.indexMap=n}},sizes:{cache:x,get rawSpec(){return l},setConfig(n,m=0){let L=He(n,a.totalItems,m),k=z.get("_setSizeCacheBase");if(k){let Y=x.rebuild;Object.assign(x,L),x.rebuild=Y,k(L.rebuild)}else Object.assign(x,L)},rebuild(){x.rebuild(a.totalItems)}},render:{force(){ne()},ifNeeded(){ye()},contentSize:st,setFn(n,m){ee=()=>{let{prevRangeStart:L,prevRangeEnd:k}=a;if(n(),a.prevRangeStart!==L||a.prevRangeEnd!==k)Te(T.commit,a)},de=()=>{m(),Te(T.commit,a)}},setStateFn(n){s=n},getStateFn(){return s}},hooks:{method(n,m){if(!n.startsWith("_")&&z.has(n))throw Error(`[vlist] duplicate method "${n}"; rename it or use a set*Fn hook`);z.set(n,m)},get(n){return z.get(n)},onClick(n){G.push(n)},onKeydown(n){se.push(n)},onDestroy(n){pe.push(n)}},nav:{set(n){if(n.ud!==void 0)Je=n.ud;if(n.lr!==void 0)Qe=n.lr;if(n.scrollIndex)et=n.scrollIndex;if(n.navigate)tt=n.navigate;if(n.total)nt=n.total;if(n.reveal)ot=n.reveal},get:(()=>{let n={ud:0,lr:0,scrollIndex:null,navigate:null,total:null,reveal:null};return()=>(n.ud=Je,n.lr=Qe,n.scrollIndex=et,n.navigate=tt,n.total=nt,n.reveal=ot,n)})()}};for(let n of _)if(n.setup)try{n.setup(c)}catch(m){let L=m instanceof Error?m:Error(String(m));f.emit("error",{error:L,context:`plugin:setup:${n.name}`})}}let De=r.classPrefix+"--scrolling",ae=!1,Ne=e.scroll?.idleTimeout??fe;function lt(){if(g.scrollPosition=a.scrollPosition,u)g.direction=a.scrollDirection>0?"right":"left";else g.direction=a.scrollDirection>0?"down":"up";if(f.emit("scroll",g),Rt(A,a.scrollPosition),b.velocity=A.velocity,b.reliable=A.sampleCount>=_t,f.emit("velocity:change",b),a.startIndex!==V||a.prevRangeEnd!==F)V=a.startIndex,F=a.prevRangeEnd,W.range.start=a.startIndex,W.range.end=a.prevRangeEnd,f.emit("range:change",W)}function st(c,n=!0){if(J){if(n)J.refresh(c);return}a.totalSize=c;let m=c+r.mainAxisPadding;if(ve?.(m),n)p.content.style[u?"width":"height"]=m+"px"}function te(){let c=ee?a.totalSize:x.getTotalSize();if(st(c,!ee),J||ee)return;i?.onContentSize(c,f)}function at(){if(!Ce)return;if((Z?Z():S.length)===0)return;let n=Ce;Ce=null,We.scrollToIndex(n.index,n.alignOrOptions)}function ye(){if(ee)ee();else Ye(a,x,r.overscan,R,p.content,e.item.template,O,P,I,T,X,s);at()}function Be(){if(!ae)ae=!0,p.root.classList.add(De);if(ye(),qe(T.afterScroll,a.scrollPosition,a.scrollDirection),a.scrollPosition!==N)N=a.scrollPosition,lt()}function ut(){R.trim(P.size)}function Pe(){if(ae)ae=!1,p.root.classList.remove(De);a.scrollDirection=0,ut(),wt(T.idle),b.velocity=0,b.reliable=!1,f.emit("velocity:change",b),E.scrollPosition=a.scrollPosition,f.emit("scroll:idle",E)}function ne(){if(a.renderPending=!0,de)de();else Ye(a,x,r.overscan,R,p.content,e.item.template,O,P,I,T,X,s);if(at(),qe(T.afterScroll,a.scrollPosition,a.scrollDirection),a.scrollPosition!==N){if(N=a.scrollPosition,lt(),j!==null)clearTimeout(j);j=setTimeout(Pe,Ne)}else if(!ae)ut()}let ct=re?!1:e.scroll?.wheel!==!1,ue;if(re&&he)throw be([]),p.root.remove(),Error("vlist: page() is not compatible with the carousel plugin — bounded page-mode scrolling is not implemented yet.");if(!re&&(o||he))J=(o??rt)({state:a,sizeCache:x,viewport:p.viewport,content:p.content,isX:u,wheelEnabled:ct,idleTimeout:Ne,...ge?{scrollTarget:ge}:{},mainAxisPadding:r.mainAxisPadding,...he?{wrap:he,rendered:P,classPrefix:r.classPrefix,oddClass:h,onFold(c){let n=A;if(n._lp!==void 0)n._lp-=c;N-=c}}:{},onFrame:Be,onIdle:Pe}),ue=J,Q=(c)=>J.setLogical(c);else{let c=(re?ht:i.native)({state:a,viewport:p.viewport,isX:u,wheelEnabled:ct,idleTimeout:Ne,...ge?{scrollTarget:ge}:{},onFrame:Be,onIdle:Pe});ue=c,ce=c.commitScroll}Fe=ue.smoothScrollTo;function Ke(c){let m=c.target.closest("[data-index]");if(!m)return null;let L=parseInt(m.getAttribute("data-index"),10);if(Number.isNaN(L))return null;let k=z.get("_layoutToDataIndex"),Y,ie=L;if(k){let oe=k(L);if(oe<0)return null;let me=z.get("_getItemAtLayout"),Ee=z.get("_getItem");Y=me?me(L):Ee?Ee(oe):X?X(oe):S[oe],ie=oe}else Y=X?X(L):S[L];if(Y===void 0)return null;return{item:Y,index:ie}}function dt(c){for(let m=0;m<G.length;m++)G[m](c);let n=Ke(c);if(n)f.emit("item:click",{item:n.item,index:n.index,event:c})}function mt(c){let n=Ke(c);if(n)f.emit("item:dblclick",{item:n.item,index:n.index,event:c})}function ft(c){let n=Ke(c);if(n)f.emit("item:contextmenu",{item:n.item,index:n.index,event:c})}function pt(c){let n=c.target?.tagName;if((n==="INPUT"||n==="TEXTAREA"||n==="SELECT")&&!((c.ctrlKey||c.metaKey)&&(c.key==="f"||c.key==="F")))return;for(let m=0;m<se.length;m++)se[m](c)}if(p.content.addEventListener("click",dt),p.content.addEventListener("dblclick",mt),p.content.addEventListener("contextmenu",ft),se.length>0)p.root.addEventListener("keydown",pt);let $e=null;if(!je)setTimeout(()=>{if(a.destroyed)return;$e=new ResizeObserver((n)=>{for(let m of n){let{width:L,height:k}=m.contentRect,Y=u?L:k,ie=u?k:L;if(Math.abs(Y-a.containerSize)<1&&Math.abs(ie-a.crossSize)<1)continue;if(a.containerSize=Y,a.crossSize=ie,a.resizeCapacity(Y,C,r.overscan),J)J.refresh(x.getTotalSize());ne(),Mt(T.resize,L,k),f.emit("resize",{width:L,height:k})}}),$e.observe(p.viewport)},0);a.resizeCapacity(a.containerSize,C,r.overscan),te(),a.initialized=!0;let xe=null;if(e.defer)xe=requestAnimationFrame(()=>{if(xe=null,!a.destroyed)ye()});else ye();if(!re)ue.attach();let We={get element(){return p.root},get items(){return S},get total(){return Z?Z():S.length},setItems(c){S=[...c],a.totalItems=S.length,x.rebuild(a.totalItems),te(),ne()},appendItems(c){let n=()=>Math.max(0,x.getTotalSize()+r.mainAxisPadding-a.containerSize),m=r.reverse&&a.scrollPosition>=n()-1;if(S.push(...c),a.totalItems=S.length,x.rebuild(a.totalItems),te(),ne(),m)Se(n())},prependItems(c){let n=a.totalItems>0,m=x.getTotalSize();if(S.unshift(...c),a.totalItems=S.length,x.rebuild(a.totalItems),te(),ne(),!r.reverse||!n)return;let L=x.getTotalSize()-m;if(L<=0)return;let k=Math.max(0,x.getTotalSize()+r.mainAxisPadding-a.containerSize);Se(Math.min(a.scrollPosition+L,k))},updateItem(c,n){if(D){if(!D(c,n))return}else{let m=S.findIndex((L)=>L.id===c);if(m===-1)return;S[m]={...S[m],...n}}ne()},insertItem(c,n){if(K)K(c,n??a.totalItems);else{if(n===void 0)S.push(c);else S.splice(n,0,c);a.totalItems=S.length,x.rebuild(a.totalItems),te()}ne()},removeItem(c){if(w){if(w(c)<0)return}else{let n=S.findIndex((m)=>m.id===c);if(n===-1)return;S.splice(n,1),a.totalItems=S.length,x.rebuild(a.totalItems),te()}ne()},removeItems(c){if(w){let k=0;for(let Y of c)if(w(Y)>=0)k++;if(k>0)ne();return k}let n=new Set(c),m=S.length;S=S.filter((k)=>!n.has(k.id));let L=m-S.length;if(L>0)a.totalItems=S.length,x.rebuild(a.totalItems),te(),a.renderPending=!0,ye();return L},getItemAt(c){if(I.indexMap){let m=z.get("_getLoadedItem");return m?m(c):S[c]}let n=z.get("_getItemAtLayout");if(n){let m=z.get("_dataToLayoutIndex");return n(m?m(c):c)}return X?X(c):S[c]},getIndexById(c){if(q)return q(c);return S.findIndex((n)=>n.id===c)},scrollToIndex(c,n="start"){let m=Z?Z():S.length;if(m===0){Ce={index:c,alignOrOptions:n};return}let L=typeof n==="string"?n:n.align??"start",k=typeof n==="object"?n.behavior:void 0,Y=typeof n==="object"?n.duration:void 0,ie=typeof n==="object"?n.easing:void 0;if(Ve&&Ve(c,L,k,Y,ie)!==!1)return;let oe=Math.max(0,Math.min(c,m-1)),me=x.getOffset(oe),Ee=x.getSize(oe),Ae=a.containerSize,$t=x.getTotalSize(),bt=r.mainAxisPadding,Wt=Math.max(0,$t+bt-Ae),le;if(ke)le=ke(oe,x,Ae,m,L);else{let Ut=r.startPadding;switch(L){case"center":le=Ut+me-(Ae-Ee)/2;break;case"end":le=me+Ee+bt-Ae;break;default:le=me}le=Math.max(0,Math.min(le,Wt))}if(k==="smooth")ue.smoothScrollTo(le,Y??gt,Q??void 0,ie);else Se(le)},getScrollPosition(){return it.getPixelEquivalent()},on:f.on.bind(f),off:f.off.bind(f),destroy(){if(a.destroyed)return;if(a.destroyed=!0,ae)ae=!1,p.root.classList.remove(De);if(xe!==null)cancelAnimationFrame(xe),xe=null;if(j!==null)clearTimeout(j),j=null;ue.detach(),$e?.disconnect(),p.content.removeEventListener("click",dt),p.content.removeEventListener("dblclick",mt),p.content.removeEventListener("contextmenu",ft),p.root.removeEventListener("keydown",pt);let c=[];be(c);for(let[,n]of P)n.remove();if(P.clear(),R.clear(),p.root.remove(),f.emit("destroy",void 0),f.clear(),c.length>0)for(let n of c)console.error("vlist: error during destroy:",n)}};for(let[c,n]of z){if(c.startsWith("_"))continue;We[c]=n}return We}var Re=new Int32Array(0),Le=[];function cn(e,t,o,i,r){if(t===0||e.size===0)return;let u=e.size;if(Re.length<u)Re=new Int32Array(u);if(Le.length<u)Le.length=u;let l=0;for(let[h,f]of e)Re[l]=h,Le[l]=f,l++;e.clear();let d=o+"-item-",y=i.getAttribute("aria-activedescendant"),C=null,v=r&&t&1;for(let h=0;h<u;h++){let f=Re[h],I=Le[h];Le[h]=void 0;let _=f-t;if(e.set(_,I),y!==null&&I.id===y)C=I;if(I.id===d+f)I.id=d+_;if(v)I.classList.toggle(r)}if(C!==null)i.setAttribute("aria-activedescendant",C.id)}function dn(e,t,o){if(t===0&&o===0)return;e.prevRangeStart-=t,e.prevRangeEnd-=t,e.startIndex-=t,e.prevBaseOffset-=o;let i=e.visibleCount;for(let r=0;r<i;r++)e.visibleIndices[r]-=t,e.visibleOffsets[r]-=o}function Ft(e,t){let o=t>1?Math.trunc(e):Math.floor(e);return Math.abs(o)<t?0:o}function kt(e,t,o,i,r,u,l){let d=e.lapSize(),y=e.itemsPerLap(),C=d>0?Math.round(t/d)*y:0;if(C===0)return;if(r)cn(r,C,u,i,l);dn(o,C,t)}var Dt=1,Nt=2;var Vt=(e)=>1-(1-e)**3;function Bt({getMax:e,onChange:t=()=>{},onFinish:o,axis:i="y",reducedMotion:r}){let u=0,l=0,d=null,y=0,C=0,v=0,h=0,f=0,I=null,_=0,M=0,p=0,B=0,x=400,R=Vt,H=()=>p,a=0.006,S=(g)=>{let E=e();return Number.isFinite(E)?Math.max(0,Math.min(E,g)):g},O=(g,E)=>i==="y"?E:g,P=(g,E)=>i==="y"?g:E;function A(g){let E=S(g);if(E!==u)u=E,t(u);return E!==g}function b(){f=0,l=d===null?0:5}function W(g){b(),A(g)}return{get position(){return u},get state(){return l},get velocity(){return f},get active(){return l===3||l===4},begin(g,E,V,F){if(d!==null){b();return}b(),d=g,y=v=O(E,V),C=P(E,V),h=F,l=1},move(g,E,V,F){if(g!==d||l!==1&&l!==2)return!1;let N=O(E,V);if(l===1){let z=Math.abs(N-y),G=Math.abs(P(E,V)-C);if(Math.max(z,G)<6)return!1;if(G>z*1.2)return b(),!1;if(z<G*1.2)return!1;l=2}let j=v-N,T=F-h;if(T>0){let z=Math.max(-3,Math.min(3,j/T));f=T>80?0:z*f<0?z:0.65*z+0.35*f}if(v=N,h=F,A(u+j))f=0;return!0},end(g,E){if(g!==d)return;if(d=null,l===2&&!r()&&E-h<=80&&Math.abs(f)>=0.02)I=null,l=3;else f=0,l=0},cancel:b,reset(){d=null,b()},jump:W,shiftBy(g){M+=g,B+=g,A(u+g)},by(g){b();let E=u;return A(u+g),u!==E},smooth(g,E=400,V=Vt){if(b(),B=0,H=typeof g==="function"?g:()=>g,d!==null||r()||E<=0){A(H());return}x=E,R=V,M=u,p=S(H()+B),I=null,l=4},resize(){b(),A(u)},tick(g){if(l!==3&&l!==4)return;if(I===null){if(I=g,l===4)_=g;return}let E=g-I;if(E<=0)return;if(I=g,E>100){if(l===4)A(S(H()+B)),l=0,o?.();else b();return}if(l===4){p=S(H()+B);let N=Math.min(1,(g-_)/x);if(A(M+(p-M)*R(N)),N===1)l=0,o?.();return}let V=Math.exp(-a*E),F=A(u+f*(1-V)/a);if(f*=V,F||Math.abs(f)<0.02)f=0,l=0}}}var Oe=(e)=>e.pointerType==="touch"||e.pointerType==="pen";function Ze(e){if(e.closest("textarea,select,[contenteditable]:not([contenteditable=false])"))return!0;let t=e.closest("input");return!!t&&!/^(button|submit|reset|checkbox|radio|image)$/.test(t.type)}function Kt(e){let{state:t,viewport:o,content:i,isX:r,onFrame:u,onIdle:l,mainAxisPadding:d,wrap:y}=e,C=o.parentElement??o,v=o.ownerDocument.defaultView,h=o.ownerDocument,f=v.matchMedia("(prefers-reduced-motion: reduce)"),I=0,_=null,M=null,p=!1,B=!1,x=!1,R=-1,H=-1,a=null,S=null,O=!1,P=!1,A=!1,b=!1,W,g=new Set;function E(s){let w=t.scrollPosition;if(y){let K=y.lapSize(),D=K>0?Ft((s-y.home())/K,y.thresholdLaps):0;if(D!==0){let q=D*K;x=!0,T.shiftBy(-q),x=!1,s=T.position,w-=q,kt(y,q,t,i,e.rendered,e.classPrefix??"",e.oddClass),e.onFold?.(q),y.onFold?.(q)}}if(t.prevScrollPosition=w,t.scrollPosition=t.baseOffset=s,t.scrollDirection=s>w?1:s<w?-1:0,!B)u()}function V(){if(M=null,T.active||T.state===Nt||T.state===Dt)return;t.scrollDirection=0,l()}function F(){if(!p)return;if(M!==null)clearTimeout(M);M=setTimeout(V,e.idleTimeout||fe)}function N(){if(p&&_===null&&T.active)_=requestAnimationFrame(j)}function j(s){if(_=null,T.tick(s),T.active)N();else F()}let T=Bt({axis:r?"x":"y",getMax:()=>y?1/0:I,reducedMotion:()=>f.matches,onChange(s){if(!x)E(s)},onFinish(){let s=W;W=void 0,s?.()}});function z(){if(W=void 0,_!==null)cancelAnimationFrame(_),_=null;if(T.cancel(),M!==null)clearTimeout(M),M=null}function G(){if(z(),T.reset(),b&&a!==null&&o.hasPointerCapture(a))o.releasePointerCapture(a);b=!1,g.clear(),a=S=null,O=P=A=!1,F()}function se(s){if(!Oe(s))return;if(s.isPrimary){if(g.size)G();g.clear()}if(g.add(s.pointerId),g.size>1){A=!0,z();return}if(!(s.target instanceof Element)||Ze(s.target)){z();return}a=s.pointerId,O=!1,P=T.active,S=null,z(),T.begin(s.pointerId,s.clientX,s.clientY,s.timeStamp)}function pe(s){if(!Oe(s)||s.target instanceof Node&&o.contains(s.target))return;if(s.isPrimary&&g.size)G();else if(g.size)g.add(s.pointerId),A=!0,z()}function be(s){if(!Oe(s)||A)return;if(T.move(s.pointerId,s.clientX,s.clientY,s.timeStamp)){if(O=!0,!b)o.setPointerCapture(s.pointerId),b=!0;if(s.cancelable)s.preventDefault()}}function Z(s){if(!Oe(s)||!g.has(s.pointerId))return;let w=s.type==="pointercancel";if(w)z();if(a===s.pointerId){if(!w&&!A&&(O||P))S=s.pointerId;if(b&&o.hasPointerCapture(s.pointerId))o.releasePointerCapture(s.pointerId);b=!1,a=null,O=P=!1}if(T.end(s.pointerId,s.timeStamp),g.delete(s.pointerId),!g.size){if(A||w)T.reset();A=!1}N(),F()}function Q(s){let w=s.pointerId;if(s.detail!==0&&S!==null&&(w===S||w===void 0))S=null,s.preventDefault(),s.stopImmediatePropagation()}function ve(s){if(s.ctrlKey||s.defaultPrevented||!(s.target instanceof Element)||Ze(s.target))return;let w=s.deltaMode===1?16:s.deltaMode===2?t.containerSize:1,K=r?s.deltaX:s.deltaY,D=r?s.deltaY:s.deltaX,q=r?o.scrollHeight>o.clientHeight:o.scrollWidth>o.clientWidth;if(q&&Math.abs(D)>Math.abs(K))return;if(q&&D!==0)if(s.preventDefault(),r)o.scrollTop+=D*w;else o.scrollLeft+=D*w;let re=r&&!q&&K===0?D:K;if(z(),T.by(re*w))s.preventDefault();F()}function ce(s){if(s.defaultPrevented||s.ctrlKey||s.metaKey||s.altKey||!(s.target instanceof Element)||Ze(s.target))return;if((s.key===" "||s.key==="Enter")&&s.target.closest("button,summary,a,input"))return;let w=e.sizeCache,K=w.getSize(w.indexAtOffset(T.position)),D;if(s.key===(r?"ArrowRight":"ArrowDown"))D=T.position+K;if(s.key===(r?"ArrowLeft":"ArrowUp"))D=T.position-K;if(s.key==="PageDown"||s.key===" ")D=T.position+t.containerSize*(s.shiftKey&&s.key===" "?-1:1);if(s.key==="PageUp")D=T.position-t.containerSize;if(s.key==="Home")D=0;if(s.key==="End")D=I;if(D!==void 0)s.preventDefault(),de(D)}function ee(){if(h.hidden)G()}function de(s){let w=T.position;if(z(),T.jump(s),w===(y?s:Math.max(0,Math.min(I,s))))E(T.position);F()}function X(s){let w=R!==t.containerSize||H!==t.crossSize,K=s!==t.totalSize||w;if(R=t.containerSize,H=t.crossSize,t.totalSize=s,I=Math.max(0,s+d-t.containerSize),K){if(B=!0,w)z(),T.resize();else T.shiftBy(0);E(T.position),B=!1}}return{setLogical:de,refresh:X,shiftBy(s){if(t.totalSize=e.sizeCache.getTotalSize(),I=Math.max(0,t.totalSize+d-t.containerSize),T.shiftBy(s),!T.active)F()},cancelScroll(){z(),F()},getLogical:()=>t.scrollPosition,getMaxLogical:()=>I,smoothScrollTo(s,w,K,D=Me,q){if(z(),T.smooth(s,w,D),W=q,!T.active)W=void 0,q?.(),F();else N()},attach(){if(p)return;if(p=!0,o.style.overflowX=r?"hidden":"auto",o.style.overflowY=r?"auto":"hidden",o.style.touchAction=r?"pan-y pinch-zoom":"pan-x pinch-zoom",o.style.overflowAnchor="none",i.style[r?"width":"height"]="100%",i.style.overflow="clip",i.style.overflowAnchor="none",o.addEventListener("pointerdown",se),v.addEventListener("pointerdown",pe),o.addEventListener("pointermove",be,{passive:!1}),v.addEventListener("pointerup",Z),v.addEventListener("pointercancel",Z),o.addEventListener("click",Q,!0),e.wheelEnabled)o.addEventListener("wheel",ve,{passive:!1});C.addEventListener("keydown",ce),v.addEventListener("blur",G),h.addEventListener("visibilitychange",ee),f.addEventListener("change",G),N()},detach(){if(p=!1,G(),M!==null)clearTimeout(M),M=null;o.removeEventListener("pointerdown",se),v.removeEventListener("pointerdown",pe),o.removeEventListener("pointermove",be),v.removeEventListener("pointerup",Z),v.removeEventListener("pointercancel",Z),o.removeEventListener("click",Q,!0),o.removeEventListener("wheel",ve),C.removeEventListener("keydown",ce),v.removeEventListener("blur",G),h.removeEventListener("visibilitychange",ee),f.removeEventListener("change",G),o.style.overflowX=o.style.overflowY=o.style.touchAction=o.style.overflowAnchor="",i.style.overflow=i.style.overflowAnchor=""}}}function ro(e,t=[]){return Ot(e,t,Kt)}export{ro as createVList};
|
|
1
|
+
var Pt=(e,t,o)=>()=>{if(e)try{t=e(e=0)}catch(l){o=[l]}if(o)throw o[0];return t};var Re=3,At="vlist",Qe=16000000,ve=150,Oe=(e)=>e<0.5?2*e*e:1-(-2*e+2)**2/2,Mt=300,ke="__placeholder_";function Cn(e,t,o,l,i){if(t===0||e.size===0)return;let r=e.size;if(Ne.length<r)Ne=new Int32Array(r);if(Me.length<r)Me.length=r;let s=0;for(let[S,x]of e)Ne[s]=S,Me[s]=x,s++;e.clear();let d=o+"-item-",g=l.getAttribute("aria-activedescendant"),P=null,p=i&&t&1;for(let S=0;S<r;S++){let x=Ne[S],b=Me[S];Me[S]=void 0;let _=x-t;if(e.set(_,b),g!==null&&b.id===g)P=b;if(b.id===d+x)b.id=d+_;if(p)b.classList.toggle(i)}if(P!==null)l.setAttribute("aria-activedescendant",P.id)}function Pn(e,t,o){if(t===0&&o===0)return;e.prevRangeStart-=t,e.prevRangeEnd-=t,e.startIndex-=t,e.prevBaseOffset-=o;let l=e.visibleCount;for(let i=0;i<l;i++)e.visibleIndices[i]-=t,e.visibleOffsets[i]-=o}function Xt(e,t){let o=t>1?Math.trunc(e):Math.floor(e);return Math.abs(o)<t?0:o}function Yt(e,t,o,l,i,r,s){let d=e.lapSize(),g=e.itemsPerLap(),P=d>0?Math.round(t/d)*g:0;if(P===0)return;if(i)Cn(i,P,r,l,s);Pn(o,P,t)}var Ne,Me;var Zt=Pt(()=>{Ne=new Int32Array(0),Me=[]});function en({getMax:e,onChange:t=()=>{},onFinish:o,axis:l="y",reducedMotion:i}){let r=0,s=0,d=null,g=0,P=0,p=0,S=0,x=0,b=null,_=0,A=0,w=0,h=0,B=400,E=jt,M=()=>w,W=0.006,c=(y)=>{let L=e();return Number.isFinite(L)?Math.max(0,Math.min(L,y)):y},v=(y,L)=>l==="y"?L:y,z=(y,L)=>l==="y"?y:L;function C(y){let L=c(y);if(L!==r)r=L,t(r);return L!==y}function f(){x=0,s=d===null?0:5}function D(y){f(),C(y)}return{get position(){return r},get state(){return s},get velocity(){return x},get active(){return s===3||s===4},begin(y,L,N,O){if(d!==null){f();return}f(),d=y,g=p=v(L,N),P=z(L,N),S=O,s=1},move(y,L,N,O){if(y!==d||s!==1&&s!==2)return!1;let G=v(L,N);if(s===1){let R=Math.abs(G-g),k=Math.abs(z(L,N)-P);if(Math.max(R,k)<6)return!1;if(k>R*1.2)return f(),!1;if(R<k*1.2)return!1;s=2}let Q=p-G,T=O-S;if(T>0){let R=Math.max(-3,Math.min(3,Q/T));x=T>80?0:R*x<0?R:0.65*R+0.35*x}if(p=G,S=O,C(r+Q))x=0;return!0},end(y,L){if(y!==d)return;if(d=null,s===2&&!i()&&L-S<=80&&Math.abs(x)>=0.02)b=null,s=3;else x=0,s=0},cancel:f,reset(){d=null,f()},jump:D,shiftBy(y){A+=y,h+=y,C(r+y)},by(y){f();let L=r;return C(r+y),r!==L},smooth(y,L=400,N=jt){if(f(),h=0,M=typeof y==="function"?y:()=>y,d!==null||i()||L<=0){C(M());return}B=L,E=N,A=r,w=c(M()+h),b=null,s=4},resize(){f(),C(r)},tick(y){if(s!==3&&s!==4)return;if(b===null){if(b=y,s===4)_=y;return}let L=y-b;if(L<=0)return;if(b=y,L>100){if(s===4)C(c(M()+h)),s=0,o?.();else f();return}if(s===4){w=c(M()+h);let G=Math.min(1,(y-_)/B);if(C(A+(w-A)*E(G)),G===1)s=0,o?.();return}let N=Math.exp(-W*L),O=C(r+x*(1-N)/W);if(x*=N,O||Math.abs(x)<0.02)x=0,s=0}}}var Jt=1,Qt=2,jt=(e)=>1-(1-e)**3;function it(e){if(e.closest("textarea,select,[contenteditable]:not([contenteditable=false])"))return!0;let t=e.closest("input");return!!t&&!/^(button|submit|reset|checkbox|radio|image)$/.test(t.type)}function tn(e){let{state:t,viewport:o,content:l,isX:i,onFrame:r,onIdle:s,mainAxisPadding:d,wrap:g}=e,P=o.parentElement??o,p=o.ownerDocument.defaultView,S=o.ownerDocument,x=p.matchMedia("(prefers-reduced-motion: reduce)"),b=0,_=null,A=null,w=!1,h=!1,B=!1,E=-1,M=-1,W=null,c=null,v=!1,z=!1,C=!1,f=!1,D,y=new Set;function L(a){let H=t.scrollPosition;if(g){let K=g.lapSize(),V=K>0?Xt((a-g.home())/K,g.thresholdLaps):0;if(V!==0){let q=V*K;B=!0,T.shiftBy(-q),B=!1,a=T.position,H-=q,Yt(g,q,t,l,e.rendered,e.classPrefix??"",e.oddClass),e.onFold?.(q),g.onFold?.(q)}}if(t.prevScrollPosition=H,t.scrollPosition=t.baseOffset=a,t.scrollDirection=a>H?1:a<H?-1:0,!h)r()}function N(){if(A=null,T.active||T.state===Qt||T.state===Jt)return;t.scrollDirection=0,s()}function O(){if(!w)return;if(A!==null)clearTimeout(A);A=setTimeout(N,e.idleTimeout||ve)}function G(){if(w&&_===null&&T.active)_=requestAnimationFrame(Q)}function Q(a){if(_=null,T.tick(a),T.active)G();else O()}let T=en({axis:i?"x":"y",getMax:()=>g?1/0:b,reducedMotion:()=>x.matches,onChange(a){if(!B)L(a)},onFinish(){let a=D;D=void 0,a?.()}});function R(){if(D=void 0,_!==null)cancelAnimationFrame(_),_=null;if(T.cancel(),A!==null)clearTimeout(A),A=null}function k(){if(R(),T.reset(),f&&W!==null&&o.hasPointerCapture(W))o.releasePointerCapture(W);f=!1,y.clear(),W=c=null,v=z=C=!1,O()}function de(a){if(!Be(a))return;if(a.isPrimary){if(y.size)k();y.clear()}if(y.add(a.pointerId),y.size>1){C=!0,R();return}if(!(a.target instanceof Element)||it(a.target)){R();return}W=a.pointerId,v=!1,z=T.active,c=null,R(),T.begin(a.pointerId,a.clientX,a.clientY,a.timeStamp)}function se(a){if(!Be(a)||a.target instanceof Node&&o.contains(a.target))return;if(a.isPrimary&&y.size)k();else if(y.size)y.add(a.pointerId),C=!0,R()}function he(a){if(!Be(a)||C)return;if(T.move(a.pointerId,a.clientX,a.clientY,a.timeStamp)){if(v=!0,!f)o.setPointerCapture(a.pointerId),f=!0;if(a.cancelable)a.preventDefault()}}function ae(a){if(!Be(a)||!y.has(a.pointerId))return;let H=a.type==="pointercancel";if(H)R();if(W===a.pointerId){if(!H&&!C&&(v||z))c=a.pointerId;if(f&&o.hasPointerCapture(a.pointerId))o.releasePointerCapture(a.pointerId);f=!1,W=null,v=z=!1}if(T.end(a.pointerId,a.timeStamp),y.delete(a.pointerId),!y.size){if(C||H)T.reset();C=!1}G(),O()}function ee(a){let H=a.pointerId;if(a.detail!==0&&c!==null&&(H===c||H===void 0))c=null,a.preventDefault(),a.stopImmediatePropagation()}function j(a){if(a.ctrlKey||a.defaultPrevented||!(a.target instanceof Element)||it(a.target))return;let H=a.deltaMode===1?16:a.deltaMode===2?t.containerSize:1,K=i?a.deltaX:a.deltaY,V=i?a.deltaY:a.deltaX,q=i?o.scrollHeight>o.clientHeight:o.scrollWidth>o.clientWidth;if(q&&Math.abs(V)>Math.abs(K))return;if(q&&V!==0)if(a.preventDefault(),i)o.scrollTop+=V*H;else o.scrollLeft+=V*H;let xe=i&&!q&&K===0?V:K;if(R(),T.by(xe*H))a.preventDefault();O()}function ye(a){if(a.defaultPrevented||a.ctrlKey||a.metaKey||a.altKey||!(a.target instanceof Element)||it(a.target))return;if((a.key===" "||a.key==="Enter")&&a.target.closest("button,summary,a,input"))return;let H=e.sizeCache,K=H.getSize(H.indexAtOffset(T.position)),V;if(a.key===(i?"ArrowRight":"ArrowDown"))V=T.position+K;if(a.key===(i?"ArrowLeft":"ArrowUp"))V=T.position-K;if(a.key==="PageDown"||a.key===" ")V=T.position+t.containerSize*(a.shiftKey&&a.key===" "?-1:1);if(a.key==="PageUp")V=T.position-t.containerSize;if(a.key==="Home")V=0;if(a.key==="End")V=b;if(V!==void 0)a.preventDefault(),te(V)}function me(){if(S.hidden)k()}function te(a){let H=T.position;if(R(),T.jump(a),H===(g?a:Math.max(0,Math.min(b,a))))L(T.position);O()}function Se(a){let H=E!==t.containerSize||M!==t.crossSize,K=a!==t.totalSize||H;if(E=t.containerSize,M=t.crossSize,t.totalSize=a,b=Math.max(0,a+d-t.containerSize),K){if(h=!0,H)R(),T.resize();else T.shiftBy(0);L(T.position),h=!1}}return{setLogical:te,refresh:Se,shiftBy(a){if(t.totalSize=e.sizeCache.getTotalSize(),b=Math.max(0,t.totalSize+d-t.containerSize),T.shiftBy(a),!T.active)O()},cancelScroll(){R(),O()},getLogical:()=>t.scrollPosition,getMaxLogical:()=>b,smoothScrollTo(a,H,K,V=Oe,q){if(R(),T.smooth(a,H,V),D=q,!T.active)D=void 0,q?.(),O();else G()},attach(){if(w)return;if(w=!0,o.style.overflowX=i?"hidden":"auto",o.style.overflowY=i?"auto":"hidden",o.style.touchAction=i?"pan-y pinch-zoom":"pan-x pinch-zoom",o.style.overflowAnchor="none",l.style[i?"width":"height"]="100%",l.style.overflow="clip",l.style.overflowAnchor="none",o.addEventListener("pointerdown",de),p.addEventListener("pointerdown",se),o.addEventListener("pointermove",he,{passive:!1}),p.addEventListener("pointerup",ae),p.addEventListener("pointercancel",ae),o.addEventListener("click",ee,!0),e.wheelEnabled)o.addEventListener("wheel",j,{passive:!1});P.addEventListener("keydown",ye),p.addEventListener("blur",k),S.addEventListener("visibilitychange",me),x.addEventListener("change",k),G()},detach(){if(w=!1,k(),A!==null)clearTimeout(A),A=null;o.removeEventListener("pointerdown",de),p.removeEventListener("pointerdown",se),o.removeEventListener("pointermove",he),p.removeEventListener("pointerup",ae),p.removeEventListener("pointercancel",ae),o.removeEventListener("click",ee,!0),o.removeEventListener("wheel",j),P.removeEventListener("keydown",ye),p.removeEventListener("blur",k),S.removeEventListener("visibilitychange",me),x.removeEventListener("change",k),o.style.overflowX=o.style.overflowY=o.style.touchAction=o.style.overflowAnchor="",l.style.overflow=l.style.overflowAnchor=""}}}var Be=(e)=>e.pointerType==="touch"||e.pointerType==="pen";var nn=Pt(()=>{Zt()});function wt(e){let{state:t,viewport:o,isX:l,onFrame:i,onIdle:r}=e,s=e.idleTimeout||ve,d=null,g=null;function P(b=l?o.scrollLeft:o.scrollTop){t.prevScrollPosition=t.scrollPosition,t.scrollPosition=b,t.scrollDirection=b>t.prevScrollPosition?1:b<t.prevScrollPosition?-1:0,i(),p()}function p(){if(d!==null)clearTimeout(d);d=setTimeout(()=>{d=null,t.scrollDirection=0,r()},s)}function S(){if(g!==null)cancelAnimationFrame(g),g=null}function x(b,_,A,w=Oe,h){S();let B=t.scrollPosition,E=typeof b==="function"?b:()=>b,M=E();if(Math.abs(M-B)<1){if(A)A(M);else if(l)o.scrollLeft=M;else o.scrollTop=M;h?.();return}let W=performance.now();function c(v){M=E();let z=v-W,C=Math.min(z/_,1),f=B+(M-B)*w(C);if(A)A(f);else{if(l)o.scrollLeft=f;else o.scrollTop=f;let D=l?o.scrollLeft:o.scrollTop;P(Math.abs(D-f)>1?D:f)}if(C<1)g=requestAnimationFrame(c);else g=null,h?.()}g=requestAnimationFrame(c)}return{attach(){},detach(){if(S(),d!==null)clearTimeout(d),d=null},cancelScroll:S,smoothScrollTo:x,commitScroll:P}}var Ve={top:0,right:0,bottom:0,left:0},zt=(e)=>{if(e==null)return Ve;if(typeof e==="number")return e===0?Ve:{top:e,right:e,bottom:e,left:e};if(e.length===2){let[r,s]=e;return r===0&&s===0?Ve:{top:r,right:s,bottom:r,left:s}}let[t,o,l,i]=e;return t===0&&o===0&&l===0&&i===0?Ve:{top:t,right:o,bottom:l,left:i}},_t=(e,t)=>t?e.left+e.right:e.top+e.bottom,Ht=(e,t)=>t?e.top+e.bottom:e.left+e.right;function Rt(e){let t={visibleIndices:new Int32Array(e),visibleOffsets:new Float64Array(e),visibleSizes:new Float64Array(e),visibleCount:0,startIndex:0,totalSize:0,capacity:e,scrollPosition:0,prevScrollPosition:0,scrollDirection:0,baseOffset:0,prevBaseOffset:0,containerSize:0,crossSize:0,totalItems:0,prevRangeStart:0,prevRangeEnd:-1,renderPending:!1,initialized:!1,destroyed:!1,windowClamped:!1,windowClampReported:!1,prevAriaTotal:-1,ensureCapacity(o){if(o<=t.capacity)return;let l=o+8,i=new Int32Array(l),r=new Float64Array(l),s=new Float64Array(l);i.set(t.visibleIndices),r.set(t.visibleOffsets),s.set(t.visibleSizes),t.visibleIndices=i,t.visibleOffsets=r,t.visibleSizes=s,t.capacity=l},resizeCapacity(o,l,i=Re){if(l<=0||o<=0)return;t.ensureCapacity(Math.ceil(o/l)+i*2)},clear(){t.visibleCount=0,t.startIndex=0}};return t}var cn=(e,t,o)=>{let l=t;return{getOffset:(i)=>i*e,getSize:(i)=>e,indexAtOffset:(i)=>{if(l===0||e===0)return 0;return Math.max(0,Math.min(Math.floor(i/e),l-1))},getTotalSize:()=>{let i=l*e;return i>0?i-o:0},getTotal:()=>l,rebuild:(i)=>{l=i},invalidate:()=>{},isVariable:()=>!1}};var Ot=(e,t,o,l)=>{while(t<o){let i=t+o+1>>>1;if(e[i]<=l)t=i;else o=i-1}return t},un=(e,t,o)=>{let l=0,i=0,r=new Float64Array(0),s=new Float64Array(0),d=new Float64Array(1),g=(p,S)=>{for(let x=p;x<i;x++){if(x<=S){let b=x<<9,_=Math.min(b+512,l),A=0;for(let w=b;w<_;w++)r[w]=A,A+=e(w);s[x]=A}d[x+1]=d[x]+s[x]}},P=(p)=>{l=p,i=Math.ceil(p/512),r=new Float64Array(p),s=new Float64Array(i),d=new Float64Array(i+1),g(0,i-1)};return P(t),{getOffset:(p)=>{if(p<=0)return 0;if(p>=l)return d[i];return d[p>>>9]+r[p]},getSize:(p)=>e(p),indexAtOffset:(p)=>{if(l===0||p<=0)return 0;if(p>=d[i])return l-1;let S=Ot(d,0,i-1,p),x=S<<9;return Ot(r,x,Math.min(x+512,l)-1,p-d[S])},getTotalSize:()=>{let p=d[i];return p>0?p-o:0},getTotal:()=>l,rebuild:(p)=>P(p),invalidate:(p,S=p)=>{if(p>=0&&S<l)g(p>>>9,S>>>9)},isVariable:()=>!0}},Fe=(e,t,o=0)=>{if(typeof e==="number")return cn(e,t,o);return un(e,t,o)};function kt(e){let t=[],o=`${e}-item`,l=document.createElement("div");return l.className=o,{acquire(){if(t.length>0)return t.pop();return l.cloneNode(!1)},release(i){i.className=o,i.removeAttribute("style"),i.removeAttribute("id"),i.removeAttribute("role"),i.removeAttribute("aria-selected"),i.removeAttribute("aria-posinset"),i.removeAttribute("aria-setsize"),i.removeAttribute("data-index"),i.removeAttribute("data-id"),i.textContent="",t.push(i)},get size(){return t.length},trim(i){let r=i>0?i:0;if(t.length>r)t.length=r},clear(){t.length=0}}}function et(e){let t=e.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let o=0;o<t.length;o++)t[o].setAttribute("tabindex","-1");e._stamp=0}function tt(e){if(typeof e==="string"){let t=document.querySelector(e);if(!t)throw Error(`[vlist] Container not found: ${e}`);return t}return e}function Vt(e,t,o,l){let i=o?`${t} ${t}--horizontal`:t,r=o?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",s=o?"position:relative;height:100%;overflow-anchor:none":"position:relative;width:100%;overflow-anchor:none",d=' role="list"';if(l)d+=` aria-label="${l.replace(/"/g,""")}"`;if(o)d+=' aria-orientation="horizontal"';e.insertAdjacentHTML("beforeend",`<div class="${i}"><div class="${t}-viewport" style="${r}" tabindex="-1"><div class="${t}-content" style="${s}"${d}></div></div></div>`);let g=e.lastElementChild,P=g.firstElementChild,p=P.firstElementChild,S=document.createElement("div");return S.className=`${t}-live`,S.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",S.setAttribute("aria-live","polite"),S.setAttribute("aria-atomic","true"),S.setAttribute("role","status"),g.appendChild(S),{root:g,viewport:P,content:p,liveRegion:S}}function dn(e,t){if(e.getTotal()<=0)return{index:0,offsetPx:0};let l=t<=0?0:t,i=e.indexAtOffset(l),r=l-e.getOffset(i);return{index:i,offsetPx:r>0?r:0}}function mn(e,t){let o=fn(e,t);return e.getOffset(o.index)+o.offsetPx}function fn(e,t){let o=e.getTotal();if(o<=0)return{index:0,offsetPx:0};let{index:l,offsetPx:i}=t;if(l<0)return{index:0,offsetPx:0};if(l>o-1)l=o-1;while(i>0&&l<o-1){let r=e.getSize(l);if(i<r)break;i-=r,l++}while(i<0&&l>0)l--,i+=e.getSize(l);if(i<0)i=0;return{index:l,offsetPx:i}}function Ft(e){let{sizeCache:t,getPixel:o,setPixel:l,getContainerSize:i}=e;function r(){let d=t.getTotalSize()+e.padding-i();return d>0?d:0}function s(d){if(d<=0)return 0;let g=r();return d>g?g:d}return{getLogical(){return dn(t,o())},setLogical(d){l(s(mn(t,d)))},getPixelEquivalent(){return o()},setPixelEquivalent(d){l(s(d))},getMaxPixelEquivalent:r,getRenderOrigin:e.getRenderOrigin,scrollByPx(d){l(s(o()+d))}}}var Pe=[],pn={calculate:Pe,commit:Pe,afterScroll:Pe,idle:Pe,resize:Pe};function Dt(e){if(e.length===0)return pn;let t=[],o=[],l=[],i=[],r=[];for(let s=0;s<e.length;s++){let d=e[s].hooks;if(d===void 0)continue;if(d.onCalculate!==void 0)t.push(d.onCalculate);if(d.onCommit!==void 0)o.push(d.onCommit);if(d.onAfterScroll!==void 0)l.push(d.onAfterScroll);if(d.onIdle!==void 0)i.push(d.onIdle);if(d.onResize!==void 0)r.push(d.onResize)}return{calculate:t,commit:o,afterScroll:l,idle:i,resize:r}}function Nt(e,t){for(let o=0;o<e.length;o++)e[o](t)}function Ae(e,t){for(let o=0;o<e.length;o++)e[o](t)}function nt(e,t,o){for(let l=0;l<e.length;l++)e[l](t,o)}function Bt(e){for(let t=0;t<e.length;t++)e[t]()}function Kt(e,t,o){for(let l=0;l<e.length;l++)e[l](t,o)}function $t(e,t,o,l,i,r,s,d){let g=l!==0||i!==0;return{prefix:e,selectedClass:`${e}-item--selected`,focusedClass:`${e}-item--focused`,placeholderClass:`${e}-item--placeholder`,replacedClass:`${e}-item--replaced`,translateProp:t?"translateX(":"translateY(",sizeProp:t?"width":"height",itemRole:"listitem",interactive:!1,startPadding:o,gap:s,hasCrossPad:g,crossStartProp:g?t?"top":"left":"",crossEndProp:g?t?"bottom":"right":"",crossStartVal:g?l+"px":"",crossEndVal:g?i+"px":"",oddClass:r,emitter:d??null,indexMap:null,ariaTotalFn:null}}function bn(e,t,o,l,i){if(e.containerSize<=0||e.totalItems===0)return e.clear(),!0;let{scrollPosition:r,containerSize:s,totalItems:d}=e,g=i??0;e.totalSize=t.getTotalSize();let P=t.indexAtOffset(g>0?Math.max(0,r-g):r),p=t.indexAtOffset(r+s);if(p<d-1)p++;P=Math.max(0,P),p=Math.min(d-1,Math.max(0,p));let S=Math.max(0,P-o),x=Math.min(d-1,p+o),b=Math.ceil(s)+o*2;if(x-S+1>b)x=S+b-1,e.windowClamped=!0;let _=x-S+1;if(_>e.capacity)e.ensureCapacity(_);let A=Math.min(_,e.capacity);if(S===e.prevRangeStart&&x===e.prevRangeEnd&&!e.renderPending&&e.baseOffset===e.prevBaseOffset)return!1;e.visibleCount=A,e.startIndex=S;for(let w=0;w<A;w++){let h=S+w;e.visibleIndices[w]=h,e.visibleOffsets[w]=t.getOffset(h),e.visibleSizes[w]=t.getSize(h)}return Nt(l.calculate,e),e.prevRangeStart=S,e.prevRangeEnd=x,e.prevBaseOffset=e.baseOffset,e.renderPending=!1,!0}var U={selected:!1,focused:!1};function vn(e,t,o){for(let l=0;l<t;l++)if(e[l]===o)return!0;return!1}function gn(e,t){if(t<=1)return!0;let o=e[0];for(let l=1;l<t;l++){let i=e[l];if(i!==o+1)return!1;o=i}return!0}function hn(e,t,o,l,i,r,s,d,g,P){let p=g?null:i(),{visibleCount:S,visibleIndices:x}=e,b=s.ariaTotalFn?s.ariaTotalFn():e.totalItems,_=s.interactive?String(b):"",A=s.interactive&&b!==e.prevAriaTotal,w=null,h=s.indexMap;for(let B=0;B<S;B++){let E=x[B],M=h?h(E):E,W=e.visibleOffsets[B],c=e.visibleSizes[B],v=g?g(E):p[E];if(P)P(M,U);else U.selected=!1,U.focused=!1;let z=r.get(E),C=z;if(z===void 0){let f=t.acquire();if(v!==void 0){let L;try{L=l(v,M,U)}catch(N){if(s.emitter)s.emitter.emit("error",{error:N instanceof Error?N:Error(String(N)),context:`template:render:${M}`});t.release(f);continue}if(typeof L==="string")f.innerHTML=L;else f.textContent="",f.appendChild(L);et(f)}if(f.setAttribute("role",s.itemRole),f.setAttribute("data-index",String(M)),s.interactive)f.id=s.prefix+"-item-"+E,f.setAttribute("aria-posinset",String(M+1)),f.setAttribute("aria-setsize",_);if(v!==void 0){let L=String(v.id);if(f.setAttribute("data-id",L),L.startsWith(ke))f.classList.add(s.placeholderClass)}if(s.hasCrossPad)f.style.setProperty(s.crossStartProp,s.crossStartVal),f.style.setProperty(s.crossEndProp,s.crossEndVal);if(P){if(f.classList.toggle(s.selectedClass,U.selected),f.classList.toggle(s.focusedClass,U.focused),U.selected)f.setAttribute("aria-selected","true");else f.removeAttribute("aria-selected");f._lastSelected=U.selected,f._lastFocused=U.focused}if(s.oddClass)f.classList.toggle(s.oddClass,(E&1)===1);let D=W-e.baseOffset+s.startPadding;f.style.transform=s.translateProp+D+"px)",f._lastOffset=D;let y=c-s.gap;if(f.style[s.sizeProp]=y+"px",f._lastSize=y,f._lastItem=v,r.set(E,f),w===null)w=document.createDocumentFragment();w.appendChild(f)}else{if(A)z.setAttribute("aria-setsize",_);if(v!==void 0&&C._lastItem!==v){let y=z.getAttribute("data-id"),L=String(v.id),N;try{N=l(v,M,U)}catch(O){if(s.emitter)s.emitter.emit("error",{error:O instanceof Error?O:Error(String(O)),context:`template:render:${M}`});continue}if(typeof N==="string")z.innerHTML=N;else z.textContent="",z.appendChild(N);if(et(z),z.setAttribute("data-id",L),C._lastItem=v,y!==L){let O=y!==null&&y.startsWith(ke),G=L.startsWith(ke);if(O!==G)z.classList.toggle(s.placeholderClass,G);if(O&&!G)z.classList.add(s.replacedClass),setTimeout(()=>{z.classList.remove(s.replacedClass)},300)}}if(P){if(C._lastSelected!==U.selected){if(z.classList.toggle(s.selectedClass,U.selected),U.selected)z.setAttribute("aria-selected","true");else z.removeAttribute("aria-selected");C._lastSelected=U.selected}if(C._lastFocused!==U.focused)z.classList.toggle(s.focusedClass,U.focused),C._lastFocused=U.focused}let f=W-e.baseOffset+s.startPadding;if(C._lastOffset!==f)z.style.transform=s.translateProp+f+"px)",C._lastOffset=f;let D=c-s.gap;if(C._lastSize!==D)z.style[s.sizeProp]=D+"px",C._lastSize=D}}if(w!==null)o.appendChild(w);if(S>0&&gn(x,S)){let B=x[0],E=x[S-1];for(let[M,W]of r)if(M<B||M>E)W.remove(),t.release(W),r.delete(M)}else for(let[B,E]of r)if(!vn(x,S,B))E.remove(),t.release(E),r.delete(B);if(s.interactive)e.prevAriaTotal=e.totalItems;Ae(d.commit,e)}function ot(e,t,o,l,i,r,s,d,g,P,p,S){let x=bn(e,t,o,P,g.startPadding);if(e.windowClamped&&!e.windowClampReported)e.windowClampReported=!0,queueMicrotask(()=>{if(e.destroyed)return;g.emitter?.emit("error",{error:Error("[vlist] render window capped to the viewport: the item size spec reports sizes below 1px"),context:"render:window-ceiling"})});if(x)hn(e,l,i,r,s,d,g,P,p,S)}var rt=()=>{let e={},t=(r,s)=>{if(!e[r])e[r]=new Set;return e[r].add(s),()=>o(r,s)},o=(r,s)=>{e[r]?.delete(s)};return{on:t,off:o,emit:(r,s)=>{e[r]?.forEach((d)=>{try{d(s)}catch(g){}})},clear:(r)=>{if(r)delete e[r];else for(let s in e)delete e[s]}}};var Wt=2,Gt=(e=0)=>({velocity:0,sampleCount:0}),Ut=(e,t)=>{let o=performance.now(),l=e._lt??o,i=e._lp??t,r=o-l;if(e._lp=t,e._lt=o,r===0)return e.sampleCount=Math.min(e.sampleCount+1,5),e;if(r>100)return e.velocity=0,e.sampleCount=1,e;return e.velocity=Math.abs(t-i)/r,e.sampleCount=Math.min(e.sampleCount+1,5),e};function ge(e,t,o=!1){if(t===void 0)return;if(typeof t!=="number"||!Number.isFinite(t)||t<0||t===0&&!o)throw Error(`vlist: ${e} must be a ${o?"non-negative":"positive"} number, got ${t}`)}function yn(e){let{item:t}=e;if(typeof t.height==="number")ge("item.height",t.height);if(typeof t.width==="number")ge("item.width",t.width);ge("item.estimatedHeight",t.estimatedHeight),ge("item.estimatedWidth",t.estimatedWidth),ge("item.gap",t.gap,!0),ge("overscan",e.overscan,!0);let o=e.scroll;if(o?.runway!==void 0||!/^(auto|native|synthetic)?$/.test(o?.mode??""))throw Error('vlist: scroll.mode is "auto", "native" or "synthetic" (bounded mode and scroll.runway were removed in 3.0)')}function Sn(e,t){let o=e==="horizontal"?"x":"y";if(t.some((i)=>i.name==="grid"))return{primary:o,cross:o==="x"?"y":"x"};return{primary:o}}function xn(e,t,o){let l=Sn(e.orientation,t),i=l.primary==="x",r=zt(e.padding);return{axis:l,hasCrossAxis:l.cross!==void 0,overscan:e.overscan??Re,reverse:e.reverse??!1,classPrefix:e.classPrefix??At,mainAxisPadding:_t(r,i),crossAxisPadding:Ht(r,i),startPadding:i?r.left:r.top,endPadding:i?r.right:r.bottom,crossPadStart:i?r.top:r.left,crossPadEnd:i?r.bottom:r.right,striped:e.item.striped||!1,gap:e.item.gap??0,scrollMode:o}}function En(e,t){if(t)return e.item.width??e.item.estimatedWidth??100;return e.item.height??e.item.estimatedHeight??40}function Ln(e){let t=[...e];return t.sort((o,l)=>(o.priority??50)-(l.priority??50)),t}function In(e){let t=new Set;for(let o of e){if(t.has(o.name))throw Error(`[vlist] Duplicate plugin: ${o.name}`);t.add(o.name)}for(let o of e)if(o.conflicts){for(let l of o.conflicts)if(t.has(l))throw Error(`[vlist] Plugin "${o.name}" conflicts with "${l}"`)}}function Tn(e,t){for(let o of e)o.validateConfig?.(t)}var De=null;function qt(e,t=[],o,l){yn(e);let i=o?"synthetic":e.scroll?.mode??"auto";if(i==="synthetic"&&e.scroll?.scrollbar==="native")throw Error('vlist: scroll.scrollbar "native" needs native scrolling');if(e.orientation==="horizontal"&&getComputedStyle(tt(e.container)).direction==="rtl")throw Error("vlist: horizontal RTL lists are not supported; use a vertical list, or an LTR container");let r=xn(e,t,i),s=r.axis.primary==="x",d=En(e,s),g=r.gap,P=g>0?typeof d==="function"?(u)=>d(u)+g:d+g:d,p=typeof d==="number"?d:20,S=e.items?.length??0,x=r.striped?`${r.classPrefix}-item--odd`:"",b=rt(),_=$t(r.classPrefix,s,r.startPadding,r.crossPadStart,r.crossPadEnd,x,g,b),A=t.length>0?Ln(t):t;if(t.length>0)In(A),Tn(A,r);let w=tt(e.container),h=Vt(w,r.classPrefix,s,e.ariaLabel);if(e.scroll?.scrollbar==="none")h.viewport.classList.add(`${r.classPrefix}-viewport--no-scrollbar`);if(e.scroll?.gutter==="stable")h.viewport.classList.add(`${r.classPrefix}-viewport--gutter-stable`);let E=Fe(P,S,g),M=kt(r.classPrefix),W=Math.ceil(4096/p)+r.overscan*2+8,c=Rt(W);c.totalItems=S;let v=e.items?[...e.items]:[],z=()=>v,C=new Map,f=Gt(),D={velocity:0,reliable:!1},y={range:{start:0,end:-1}},L={scrollPosition:0,direction:"down"},N={scrollPosition:0},O=-1,G=-1,Q=-1,T=null,R=Dt(A),k=new Map,de=[],se=[],he=[],ae=(u)=>{let n=(m)=>{u.push(m instanceof Error?m:Error(String(m)))};for(let m of he)try{m()}catch(I){n(I)}for(let m of A)if(m.destroy)try{m.destroy()}catch(I){n(I)}},ee=null,j=null,ye,me,te=null,Se=null,a=null,H=null,K=null,V=null,q=null,xe=null,ce=!1,lt=!1,Ee=null,st=0,at=0,ct=null,ut=null,dt=null,mt=null,Ke=null,$e=null,we=null,Z=null,ze=null,X=null,ft=(u)=>X.setLogical(u),We=!1,fe=!1,Ge=null,pe=null,Le=null,pt=null;c.containerSize=s?h.viewport.clientWidth:h.viewport.clientHeight,c.crossSize=s?h.viewport.clientHeight:h.viewport.clientWidth;function ue(u){if(j)j(u);else{if(s)h.viewport.scrollLeft=u;else h.viewport.scrollTop=u;if(me?.(),fe&&Math.abs(c.scrollPosition-u)>1)Ge=u}}let bt=Ft({sizeCache:E,getPixel:()=>c.scrollPosition,setPixel:ue,getRenderOrigin:()=>c.baseOffset,getContainerSize:()=>c.containerSize,padding:r.mainAxisPadding});if(t.length>0){let u={pool:M,config:r,emitter:b,template:e.item.template,getState(){return c},dom:{...h,renderedElement(n){let m=k.get("_getRenderedElement");if(m)return m(n);return C.get(n)??null},enableListbox(){let n=h.content.getAttribute("role");if(!n||n==="list")h.content.setAttribute("role","listbox"),h.content.setAttribute("tabindex","0");_.itemRole="option",_.interactive=!0}},scroll:{...bt,to:ue,shiftBy(n){if(X?.shiftBy)X.shiftBy(n);else u.scroll.to(c.scrollPosition+n)},smoothTo(n,m,I,F){if(Z)Z.smoothScrollTo(n,m,j??void 0,I,F);else u.scroll.to(typeof n==="function"?n():n)},cancel(){Z?.cancelScroll()},commit(n){me(n)},setSource(n){j=n.write,ye=n.onContentSize,ce=!0},setTarget(n){Ee=n},setWrap(n,m){Le=n,pt=m},setBoundedWrap(n,m){u.scroll.setWrap(n,m)},setToPosFn(n){Ke=n},setToIndexFn(n){$e=n},onFrame:Xe,onIdle:_e,disableResize(){lt=!0}},items:{all:z,at(n){return a?a(n):v[n]},removeById(n){if(K)return K(n);let m=v.findIndex((I)=>I.id===n);if(m===-1)return-1;return v.splice(m,1),c.totalItems=v.length,E.rebuild(c.totalItems),J(),m},insertAt(n,m){if(V){V(n,m);return}v.splice(m,0,n),c.totalItems=v.length,E.rebuild(c.totalItems),J()},setGetFn(n){a=n},setRemoveFn(n){K=n},setInsertFn(n){V=n},setUpdateFn(n){q=n},setIndexByIdFn(n){xe=n},setTotalFn(n){ee=n,_.ariaTotalFn=n},setIndexMapFn(n){_.indexMap=n}},sizes:{cache:E,get rawSpec(){return d},setConfig(n,m=0){let I=Fe(n,c.totalItems,m),F=k.get("_setSizeCacheBase");if(F){let Y=E.rebuild;Object.assign(E,I),E.rebuild=Y,F(I.rebuild)}else Object.assign(E,I)},rebuild(){E.rebuild(c.totalItems)}},render:{force(){ne()},ifNeeded(){Ie()},contentSize:gt,setFn(n,m){te=()=>{let{prevRangeStart:I,prevRangeEnd:F}=c;if(n(),c.prevRangeStart!==I||c.prevRangeEnd!==F)Ae(R.commit,c)},Se=()=>{m(),Ae(R.commit,c)}},setStateFn(n){H=n},getStateFn(){return H}},hooks:{method(n,m){if(!n.startsWith("_")&&k.has(n))throw Error(`[vlist] duplicate method "${n}"; rename it or use a set*Fn hook`);k.set(n,m)},get(n){return k.get(n)},onClick(n){de.push(n)},onKeydown(n){se.push(n)},onDestroy(n){he.push(n)}},nav:{set(n){if(n.ud!==void 0)st=n.ud;if(n.lr!==void 0)at=n.lr;if(n.scrollIndex)ct=n.scrollIndex;if(n.navigate)ut=n.navigate;if(n.total)dt=n.total;if(n.reveal)mt=n.reveal},get:(()=>{let n={ud:0,lr:0,scrollIndex:null,navigate:null,total:null,reveal:null};return()=>(n.ud=st,n.lr=at,n.scrollIndex=ct,n.navigate=ut,n.total=dt,n.reveal=mt,n)})()}};for(let n of A)if(n.setup)try{n.setup(u)}catch(m){let I=m instanceof Error?m:Error(String(m));b.emit("error",{error:I,context:`plugin:setup:${n.name}`})}}let Ue=r.classPrefix+"--scrolling",re=!1,qe=e.scroll?.idleTimeout??ve;function vt(){if(L.scrollPosition=c.scrollPosition,s)L.direction=c.scrollDirection>0?"right":"left";else L.direction=c.scrollDirection>0?"down":"up";if(b.emit("scroll",L),Ut(f,c.scrollPosition),D.velocity=f.velocity,D.reliable=f.sampleCount>=Wt,b.emit("velocity:change",D),c.startIndex!==O||c.prevRangeEnd!==G)O=c.startIndex,G=c.prevRangeEnd,y.range.start=c.startIndex,y.range.end=c.prevRangeEnd,b.emit("range:change",y)}function gt(u,n=!0){let m=u+r.mainAxisPadding;if(We)on(m);if(X){if(n)X.refresh(u);return}if(c.totalSize=u,ye?.(m),n)h.content.style[s?"width":"height"]=Math.min(m,Qe)+"px"}function J(){let u=te?c.totalSize:E.getTotalSize();if(gt(u,!te),X||te||We)return;l?.onContentSize(u,b)}function ht(){if(!we)return;if((ee?ee():v.length)===0)return;let n=we;we=null,je.scrollToIndex(n.index,n.alignOrOptions)}function Ie(){if(te)te();else ot(c,E,r.overscan,M,h.content,e.item.template,z,C,_,R,a,H);ht()}function Xe(){if(Ge=null,!re)re=!0,h.root.classList.add(Ue);if(Ie(),nt(R.afterScroll,c.scrollPosition,c.scrollDirection),pe?.sync(),c.scrollPosition!==Q)Q=c.scrollPosition,vt()}function yt(){M.trim(C.size)}function on(u){let n=!!X;if(fe=(i==="synthetic"||u>Qe*(n?0.75:1))!==n,!fe)return;if(!De)l.load().then((I)=>{if(De=I,!c.destroyed)J()},(I)=>b.emit("error",{error:I,context:"scroll:mode"}));else if(!re)rn(u)}function rn(u){let n=Ge??c.scrollPosition;if(fe=!1,Z.detach(),pe?.destroy(),pe=null,X)Z=ze,X=j=null,c.baseOffset=0,h.content.style[s?"width":"height"]=u+"px",Z.attach(),ue(n);else if(h.viewport[s?"scrollLeft":"scrollTop"]=0,Z=X=xt(De.createSyntheticScrollHandler),j=ft,X.refresh(u-r.mainAxisPadding),(pe=De.attachScrollbar(c,h,r,E,ue,e.scroll?.scrollbar))?.sync(),c.initialized)Z.attach(),X.setLogical(n);b.emit("scroll:mode",{mode:X?"synthetic":"native"})}function _e(){if(re)re=!1,h.root.classList.remove(Ue);if(c.scrollDirection=0,yt(),Bt(R.idle),D.velocity=0,D.reliable=!1,b.emit("velocity:change",D),N.scrollPosition=c.scrollPosition,b.emit("scroll:idle",N),fe)J()}function ne(){if(c.renderPending=!0,Se)Se();else ot(c,E,r.overscan,M,h.content,e.item.template,z,C,_,R,a,H);if(ht(),nt(R.afterScroll,c.scrollPosition,c.scrollDirection),pe?.sync(),c.scrollPosition!==Q){if(Q=c.scrollPosition,vt(),T!==null)clearTimeout(T);T=setTimeout(_e,qe)}else if(!re)yt()}let St=ce?!1:e.scroll?.wheel!==!1;if(ce&&Le)throw ae([]),h.root.remove(),Error("vlist: page() is not compatible with the carousel plugin — document scrolling cannot wrap.");function xt(u){return u({state:c,sizeCache:E,viewport:h.viewport,content:h.content,isX:s,wheelEnabled:St,idleTimeout:qe,...Ee?{scrollTarget:Ee}:{},mainAxisPadding:r.mainAxisPadding,...Le?{wrap:Le,rendered:C,classPrefix:r.classPrefix,oddClass:x,onFold(n){let m=f;if(m._lp!==void 0)m._lp-=n;Q-=n}}:{},onFrame:Xe,onIdle:_e})}if(!ce&&(o||Le))Z=X=xt(o??pt),j=ft;else ze=(ce?wt:l.native)({state:c,viewport:h.viewport,isX:s,wheelEnabled:St,idleTimeout:qe,...Ee?{scrollTarget:Ee}:{},onFrame:Xe,onIdle:_e}),Z=ze,me=ze.commitScroll,We=!ce&&i!=="native";function Ye(u){let m=u.target.closest("[data-index]");if(!m)return null;let I=parseInt(m.getAttribute("data-index"),10);if(Number.isNaN(I))return null;let F=k.get("_layoutToDataIndex"),Y,ie=I;if(F){let oe=F(I);if(oe<0)return null;let be=k.get("_getItemAtLayout"),Ce=k.get("_getItem");Y=be?be(I):Ce?Ce(oe):a?a(oe):v[oe],ie=oe}else Y=a?a(I):v[I];if(Y===void 0)return null;return{item:Y,index:ie}}function Et(u){for(let m=0;m<de.length;m++)de[m](u);let n=Ye(u);if(n)b.emit("item:click",{item:n.item,index:n.index,event:u})}function Lt(u){let n=Ye(u);if(n)b.emit("item:dblclick",{item:n.item,index:n.index,event:u})}function It(u){let n=Ye(u);if(n)b.emit("item:contextmenu",{item:n.item,index:n.index,event:u})}function Tt(u){let n=u.target?.tagName;if((n==="INPUT"||n==="TEXTAREA"||n==="SELECT")&&!((u.ctrlKey||u.metaKey)&&(u.key==="f"||u.key==="F")))return;for(let m=0;m<se.length;m++)se[m](u)}if(h.content.addEventListener("click",Et),h.content.addEventListener("dblclick",Lt),h.content.addEventListener("contextmenu",It),se.length>0)h.root.addEventListener("keydown",Tt);let Ze=null;if(!lt)setTimeout(()=>{if(c.destroyed)return;Ze=new ResizeObserver((n)=>{for(let m of n){let{width:I,height:F}=m.contentRect,Y=s?I:F,ie=s?F:I;if(Math.abs(Y-c.containerSize)<1&&Math.abs(ie-c.crossSize)<1)continue;if(c.containerSize=Y,c.crossSize=ie,c.resizeCapacity(Y,p,r.overscan),X)X.refresh(E.getTotalSize());ne(),Kt(R.resize,I,F),b.emit("resize",{width:I,height:F})}}),Ze.observe(h.viewport)},0);c.resizeCapacity(c.containerSize,p,r.overscan),J(),c.initialized=!0;let Te=null;if(e.defer)Te=requestAnimationFrame(()=>{if(Te=null,!c.destroyed)Ie()});else Ie();if(!ce)Z.attach();let je={get element(){return h.root},get items(){return v},get total(){return ee?ee():v.length},setItems(u){v=[...u],c.totalItems=v.length,E.rebuild(c.totalItems),J(),ne()},appendItems(u){let n=()=>Math.max(0,E.getTotalSize()+r.mainAxisPadding-c.containerSize),m=r.reverse&&c.scrollPosition>=n()-1;if(v.push(...u),c.totalItems=v.length,E.rebuild(c.totalItems),J(),ne(),m)ue(n())},prependItems(u){let n=c.totalItems>0,m=E.getTotalSize();if(v.unshift(...u),c.totalItems=v.length,E.rebuild(c.totalItems),J(),ne(),!r.reverse||!n)return;let I=E.getTotalSize()-m;if(I<=0)return;let F=Math.max(0,E.getTotalSize()+r.mainAxisPadding-c.containerSize);ue(Math.min(c.scrollPosition+I,F))},updateItem(u,n){if(q){if(!q(u,n))return}else{let m=v.findIndex((I)=>I.id===u);if(m===-1)return;v[m]={...v[m],...n}}ne()},insertItem(u,n){if(V)V(u,n??c.totalItems);else{if(n===void 0)v.push(u);else v.splice(n,0,u);c.totalItems=v.length,E.rebuild(c.totalItems),J()}ne()},removeItem(u){if(K){if(K(u)<0)return}else{let n=v.findIndex((m)=>m.id===u);if(n===-1)return;v.splice(n,1),c.totalItems=v.length,E.rebuild(c.totalItems),J()}ne()},removeItems(u){if(K){let F=0;for(let Y of u)if(K(Y)>=0)F++;if(F>0)ne();return F}let n=new Set(u),m=v.length;v=v.filter((F)=>!n.has(F.id));let I=m-v.length;if(I>0)c.totalItems=v.length,E.rebuild(c.totalItems),J(),c.renderPending=!0,Ie();return I},getItemAt(u){if(_.indexMap){let m=k.get("_getLoadedItem");return m?m(u):v[u]}let n=k.get("_getItemAtLayout");if(n){let m=k.get("_dataToLayoutIndex");return n(m?m(u):u)}return a?a(u):v[u]},getIndexById(u){if(xe)return xe(u);return v.findIndex((n)=>n.id===u)},scrollToIndex(u,n="start"){let m=ee?ee():v.length;if(m===0){we={index:u,alignOrOptions:n};return}let I=typeof n==="string"?n:n.align??"start",F=typeof n==="object"?n.behavior:void 0,Y=typeof n==="object"?n.duration:void 0,ie=typeof n==="object"?n.easing:void 0;if($e&&$e(u,I,F,Y,ie)!==!1)return;let oe=Math.max(0,Math.min(u,m-1)),be=E.getOffset(oe),Ce=E.getSize(oe),He=c.containerSize,ln=E.getTotalSize(),Ct=r.mainAxisPadding,sn=Math.max(0,ln+Ct-He),le;if(Ke)le=Ke(oe,E,He,m,I);else{let an=r.startPadding;switch(I){case"center":le=an+be-(He-Ce)/2;break;case"end":le=be+Ce+Ct-He;break;default:le=be}le=Math.max(0,Math.min(le,sn))}if(F==="smooth"&&!fe)Z.smoothScrollTo(le,Y??Mt,j??void 0,ie);else ue(le)},getScrollPosition(){return bt.getPixelEquivalent()},on:b.on.bind(b),off:b.off.bind(b),destroy(){if(c.destroyed)return;if(c.destroyed=!0,re)re=!1,h.root.classList.remove(Ue);if(Te!==null)cancelAnimationFrame(Te),Te=null;if(T!==null)clearTimeout(T),T=null;Z.detach(),pe?.destroy(),Ze?.disconnect(),h.content.removeEventListener("click",Et),h.content.removeEventListener("dblclick",Lt),h.content.removeEventListener("contextmenu",It),h.root.removeEventListener("keydown",Tt);let u=[];ae(u);for(let[,n]of C)n.remove();if(C.clear(),M.clear(),h.root.remove(),b.emit("destroy",void 0),b.clear(),u.length>0)for(let n of u)console.error("vlist: error during destroy:",n)}};for(let[u,n]of k){if(u.startsWith("_"))continue;je[u]=n}return je}nn();function xo(e,t=[]){return qt(e,t,tn)}export{xo as createVList};
|