vlist 2.1.1 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- var n2=3,C0="vlist";var t2=50;var S0=50,f0=2,h0=15,I0=6,I2=16000000,s2=150,U0=1,e2=(Q)=>Q<0.5?2*Q*Q:1-(-2*Q+2)**2/2,$0=300;var p0="x",u0=20,B0="_isPlaceholder",f2="__placeholder_";var J0={top:0,right:0,bottom:0,left:0},g0=(Q)=>{if(Q==null)return J0;if(typeof Q==="number")return Q===0?J0:{top:Q,right:Q,bottom:Q,left:Q};if(Q.length===2){let[K,U]=Q;return K===0&&U===0?J0:{top:K,right:U,bottom:K,left:U}}let[$,j,q,J]=Q;return $===0&&j===0&&q===0&&J===0?J0:{top:$,right:j,bottom:q,left:J}},x0=(Q,$)=>$?Q.left+Q.right:Q.top+Q.bottom,m0=(Q,$)=>$?Q.top+Q.bottom:Q.left+Q.right;function c0(Q){let $={visibleIndices:new Int32Array(Q),visibleOffsets:new Float64Array(Q),visibleSizes:new Float64Array(Q),visibleCount:0,startIndex:0,totalSize:0,capacity:Q,scrollPosition:0,prevScrollPosition:0,scrollDirection:0,containerSize:0,crossSize:0,totalItems:0,prevRangeStart:0,prevRangeEnd:-1,renderPending:!1,initialized:!1,destroyed:!1,isCompressed:!1,compressionRatio:1,prevAriaTotal:-1,resizeCapacity(j,q,J=n2){if(q<=0||j<=0)return;let K=Math.ceil(j/q)+J*2;if(K<=$.capacity)return;let U=K+8,Y=new Int32Array(U),M=new Float64Array(U),V=new Float64Array(U);Y.set($.visibleIndices),M.set($.visibleOffsets),V.set($.visibleSizes),$.visibleIndices=Y,$.visibleOffsets=M,$.visibleSizes=V,$.capacity=U},clear(){$.visibleCount=0,$.startIndex=0}};return $}var y1=(Q,$)=>{let j=$;return{getOffset:(q)=>q*Q,getSize:(q)=>Q,indexAtOffset:(q)=>{if(j===0||Q===0)return 0;return Math.max(0,Math.min(Math.floor(q/Q),j-1))},getTotalSize:()=>j*Q,getTotal:()=>j,rebuild:(q)=>{j=q},isVariable:()=>!1}},w1=(Q,$)=>{let j=$,q=new Float64Array(0),J=(U)=>{j=U,q=new Float64Array(U+1),q[0]=0;for(let Y=0;Y<U;Y++)q[Y+1]=q[Y]+Q(Y)};J($);let K=(U)=>{if(j===0)return 0;if(U<=0)return 0;if(U>=q[j])return j-1;let Y=0,M=j-1;while(Y<M){let V=Y+M+1>>>1;if(q[V]<=U)Y=V;else M=V-1}return Y};return{getOffset:(U)=>{if(U<=0)return 0;if(U>=j)return q[j];return q[U]},getSize:(U)=>Q(U),indexAtOffset:(U)=>K(U),getTotalSize:()=>q[j]??0,getTotal:()=>j,rebuild:(U)=>J(U),isVariable:()=>!0}},Q0=(Q,$)=>{if(typeof Q==="number")return y1(Q,$);return w1(Q,$)},W0=(Q,$,j,q)=>{if(q===0)return 0;if(!Q.isVariable())return Math.ceil(j/Q.getSize(0));let J=0,K=0,U=$;while(U<q&&K<j)K+=Q.getSize(U),J++,U++;return Math.max(1,J)};function d0(Q){let $=[],j=`${Q}-item`,q=document.createElement("div");return q.className=j,{acquire(){if($.length>0)return $.pop();return q.cloneNode(!1)},release(J){if(J.className=j,J.removeAttribute("style"),J.removeAttribute("id"),J.removeAttribute("role"),J.removeAttribute("aria-selected"),J.removeAttribute("aria-posinset"),J.removeAttribute("aria-setsize"),J.removeAttribute("data-index"),J.removeAttribute("data-id"),J.textContent="",$.length<100)$.push(J)},get size(){return $.length},clear(){$.length=0}}}function p2(Q){let $=Q.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let j=0;j<$.length;j++)$[j].setAttribute("tabindex","-1")}function l0(Q){if(typeof Q==="string"){let $=document.querySelector(Q);if(!$)throw Error(`[vlist] Container not found: ${Q}`);return $}return Q}function r0(Q,$,j,q){let J=j?`${$} ${$}--horizontal`:$,K=j?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",U=j?"position:relative;height:100%":"position:relative;width:100%",Y=' role="list"';if(q)Y+=` aria-label="${q.replace(/"/g,"&quot;")}"`;if(j)Y+=' aria-orientation="horizontal"';Q.insertAdjacentHTML("beforeend",`<div class="${J}"><div class="${$}-viewport" style="${K}" tabindex="-1"><div class="${$}-content" style="${U}"${Y}></div></div></div>`);let M=Q.lastElementChild,V=M.firstElementChild,W=V.firstElementChild,c=document.createElement("div");return c.className=`${$}-live`,c.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",c.setAttribute("aria-live","polite"),c.setAttribute("aria-atomic","true"),c.setAttribute("role","status"),M.appendChild(c),{root:M,viewport:V,content:W,liveRegion:c}}function s0(Q){let{state:$,viewport:j,isX:q,wheelEnabled:J,onFrame:K,onIdle:U}=Q,Y=Q.idleTimeout||s2,M=Q.scrollTarget??j,V=null,W=null;function c(){let O=q?j.scrollLeft:j.scrollTop;if(Math.abs(O-$.scrollPosition)<0.5)return;$.prevScrollPosition=$.scrollPosition,$.scrollPosition=O,$.scrollDirection=O>$.prevScrollPosition?1:O<$.prevScrollPosition?-1:0,K(),w()}function X(O){if($.isCompressed)return;let z;if(q){if(Math.abs(O.deltaX)>Math.abs(O.deltaY))return;let v=j.scrollLeft,_=j.scrollWidth-j.clientWidth;if(z=Math.max(0,Math.min(v+O.deltaY*U0,_)),Math.abs(z-v)<1)return;O.preventDefault(),j.scrollLeft=z}else{let v=j.scrollWidth>j.clientWidth;if(v&&Math.abs(O.deltaX)>Math.abs(O.deltaY))return;if(v&&O.deltaX!==0)O.preventDefault(),j.scrollLeft+=O.deltaX;let _=j.scrollTop,D=j.scrollHeight-j.clientHeight;if(z=Math.max(0,Math.min(_+O.deltaY*U0,D)),Math.abs(z-_)<1)return;O.preventDefault(),j.scrollTop=z}$.prevScrollPosition=$.scrollPosition,$.scrollPosition=z,$.scrollDirection=z>$.prevScrollPosition?1:-1,K(),w()}function w(){if(V!==null)clearTimeout(V);V=setTimeout(()=>{V=null,$.scrollDirection=0,U()},Y)}function G(){if(W!==null)cancelAnimationFrame(W),W=null}function k(O,z,v,_=e2,D){G();let b=$.scrollPosition,H=typeof O==="function"?O:()=>O,A=H();if(Math.abs(A-b)<1){if(v)v(A);else if(q)j.scrollLeft=A;else j.scrollTop=A;D?.();return}let L=performance.now();function u(R){A=H();let x=R-L,h=Math.min(x/z,1),d=b+(A-b)*_(h);if(v)v(d);else if(q)j.scrollLeft=d;else j.scrollTop=d;if(!v)$.scrollPosition=d;if(K(),h<1)W=requestAnimationFrame(u);else W=null,w(),D?.()}W=requestAnimationFrame(u)}return{attach(){if(M.addEventListener("scroll",c,{passive:!0}),J)M.addEventListener("wheel",X,{passive:!1})},detach(){if(M.removeEventListener("scroll",c),J)M.removeEventListener("wheel",X);if(G(),V!==null)clearTimeout(V),V=null},cancelScroll:G,smoothScrollTo:k}}var a2=[],v1={calculate:a2,commit:a2,afterScroll:a2,idle:a2,resize:a2};function a0(Q){if(Q.length===0)return v1;let $=[],j=[],q=[],J=[],K=[];for(let U=0;U<Q.length;U++){let Y=Q[U].hooks;if(Y===void 0)continue;if(Y.onCalculate!==void 0)$.push(Y.onCalculate);if(Y.onCommit!==void 0)j.push(Y.onCommit);if(Y.onAfterScroll!==void 0)q.push(Y.onAfterScroll);if(Y.onIdle!==void 0)J.push(Y.onIdle);if(Y.onResize!==void 0)K.push(Y.onResize)}return{calculate:$,commit:j,afterScroll:q,idle:J,resize:K}}function o0(Q,$){for(let j=0;j<Q.length;j++)Q[j]($)}function i0(Q,$){for(let j=0;j<Q.length;j++)Q[j]($)}function V0(Q,$,j){for(let q=0;q<Q.length;q++)Q[q]($,j)}function n0(Q){for(let $=0;$<Q.length;$++)Q[$]()}function t0(Q,$,j){for(let q=0;q<Q.length;q++)Q[q]($,j)}function e0(Q,$,j,q,J,K,U,Y){let M=q!==0||J!==0;return{prefix:Q,selectedClass:`${Q}-item--selected`,focusedClass:`${Q}-item--focused`,placeholderClass:`${Q}-item--placeholder`,replacedClass:`${Q}-item--replaced`,translateProp:$?"translateX(":"translateY(",sizeProp:$?"width":"height",itemRole:"listitem",interactive:!1,startPadding:j,gap:U,hasCrossPad:M,crossStartProp:M?$?"top":"left":"",crossEndProp:M?$?"bottom":"right":"",crossStartVal:M?q+"px":"",crossEndVal:M?J+"px":"",oddClass:K,emitter:Y??null}}function C1(Q,$,j,q,J){if(Q.containerSize<=0||Q.totalItems===0)return Q.clear(),!0;let{scrollPosition:K,containerSize:U,totalItems:Y}=Q,M=J??0;Q.totalSize=$.getTotalSize();let V=$.indexAtOffset(M>0?Math.max(0,K-M):K),W=$.indexAtOffset(K+U);if(W<Y-1)W++;V=Math.max(0,V),W=Math.min(Y-1,Math.max(0,W));let c=Math.max(0,V-j),X=Math.min(Y-1,W+j),w=Math.ceil(U/1)+j*2+10,G=X-c+1,k=Math.min(G,Q.capacity,w);if(c===Q.prevRangeStart&&X===Q.prevRangeEnd&&!Q.renderPending)return!1;Q.visibleCount=k,Q.startIndex=c;for(let O=0;O<k;O++){let z=c+O;Q.visibleIndices[O]=z,Q.visibleOffsets[O]=$.getOffset(z),Q.visibleSizes[O]=$.getSize(z)}return o0(q.calculate,Q),Q.prevRangeStart=c,Q.prevRangeEnd=X,Q.renderPending=!1,!0}var C2={selected:!1,focused:!1};function S1(Q,$,j){for(let q=0;q<$;q++)if(Q[q]===j)return!0;return!1}function f1(Q,$){if($<=1)return!0;let j=Q[0];for(let q=1;q<$;q++){let J=Q[q];if(J!==j+1)return!1;j=J}return!0}function h1(Q,$,j,q,J,K,U,Y,M,V){let W=M?null:J(),c=Q.visibleCount,X=Q.visibleIndices,w=U.interactive?String(Q.totalItems):"",G=U.interactive&&Q.totalItems!==Q.prevAriaTotal,k=null;for(let O=0;O<c;O++){let z=X[O],v=Q.visibleOffsets[O],_=Q.visibleSizes[O],D=M?M(z):W[z];if(V)V(z,C2);else C2.selected=!1,C2.focused=!1;let b=K.get(z),H=b;if(b===void 0){let A=$.acquire();if(D!==void 0){let R;try{R=q(D,z,C2)}catch(x){if(U.emitter)U.emitter.emit("error",{error:x instanceof Error?x:Error(String(x)),context:`template:render:${z}`});$.release(A);continue}if(typeof R==="string")A.innerHTML=R;else A.textContent="",A.appendChild(R);p2(A)}if(A.setAttribute("role",U.itemRole),A.setAttribute("data-index",String(z)),U.interactive)A.id=U.prefix+"-item-"+z,A.setAttribute("aria-posinset",String(z+1)),A.setAttribute("aria-setsize",w);if(D!==void 0){let R=String(D.id);if(A.setAttribute("data-id",R),R.startsWith(f2))A.classList.add(U.placeholderClass)}if(U.hasCrossPad)A.style.setProperty(U.crossStartProp,U.crossStartVal),A.style.setProperty(U.crossEndProp,U.crossEndVal);if(V){if(A.classList.toggle(U.selectedClass,C2.selected),A.classList.toggle(U.focusedClass,C2.focused),C2.selected)A.setAttribute("aria-selected","true");else A.removeAttribute("aria-selected");A._lastSelected=C2.selected,A._lastFocused=C2.focused}if(U.oddClass)A.classList.toggle(U.oddClass,(z&1)===1);let L=v+U.startPadding;A.style.transform=U.translateProp+L+"px)",A._lastOffset=L;let u=_-U.gap;if(A.style[U.sizeProp]=u+"px",A._lastSize=u,A._lastItem=D,K.set(z,A),k===null)k=document.createDocumentFragment();k.appendChild(A)}else{if(G)b.setAttribute("aria-setsize",w);if(D!==void 0&&H._lastItem!==D){let u=b.getAttribute("data-id"),R=String(D.id),x;try{x=q(D,z,C2)}catch(h){if(U.emitter)U.emitter.emit("error",{error:h instanceof Error?h:Error(String(h)),context:`template:render:${z}`});continue}if(typeof x==="string")b.innerHTML=x;else b.textContent="",b.appendChild(x);if(p2(b),b.setAttribute("data-id",R),H._lastItem=D,u!==R){let h=u!==null&&u.startsWith(f2),d=R.startsWith(f2);if(h!==d)b.classList.toggle(U.placeholderClass,d);if(h&&!d)b.classList.add(U.replacedClass),setTimeout(()=>{b.classList.remove(U.replacedClass)},300)}}if(V){if(H._lastSelected!==C2.selected){if(b.classList.toggle(U.selectedClass,C2.selected),C2.selected)b.setAttribute("aria-selected","true");else b.removeAttribute("aria-selected");H._lastSelected=C2.selected}if(H._lastFocused!==C2.focused)b.classList.toggle(U.focusedClass,C2.focused),H._lastFocused=C2.focused}let A=v+U.startPadding;if(H._lastOffset!==A)b.style.transform=U.translateProp+A+"px)",H._lastOffset=A;let L=_-U.gap;if(H._lastSize!==L)b.style[U.sizeProp]=L+"px",H._lastSize=L}}if(k!==null)j.appendChild(k);if(c>0&&f1(X,c)){let O=X[0],z=X[c-1];for(let[v,_]of K)if(v<O||v>z)_.remove(),$.release(_),K.delete(v)}else for(let[O,z]of K)if(!S1(X,c,O))z.remove(),$.release(z),K.delete(O);if(U.interactive)Q.prevAriaTotal=Q.totalItems;i0(Y.commit,Q)}function _0(Q,$,j,q,J,K,U,Y,M,V,W,c){if(C1(Q,$,j,V,M.startPadding))h1(Q,q,J,K,U,Y,M,V,W,c)}var N0=()=>{let Q={},$=(K,U)=>{if(!Q[K])Q[K]=new Set;return Q[K].add(U),()=>j(K,U)},j=(K,U)=>{Q[K]?.delete(U)};return{on:$,off:j,emit:(K,U)=>{Q[K]?.forEach((Y)=>{try{Y(U)}catch(M){console.error(`[vlist] Error in event handler for "${String(K)}":`,M)}})},clear:(K)=>{if(K)delete Q[K];else for(let U in Q)delete Q[U]}}};var $1=2,J1=(Q=0)=>({velocity:0,sampleCount:0}),Q1=(Q,$)=>{let j=performance.now(),q=Q._lt??j,J=Q._lp??$,K=j-q;if(Q._lp=$,Q._lt=j,K===0)return Q.sampleCount=Math.min(Q.sampleCount+1,5),Q;if(K>100)return Q.velocity=0,Q.sampleCount=1,Q;return Q.velocity=Math.abs($-J)/K,Q.sampleCount=Math.min(Q.sampleCount+1,5),Q};function I1(Q){let{item:$}=Q;if($.height!==void 0&&typeof $.height==="number"){if(!Number.isFinite($.height)||$.height<=0)throw Error(`vlist: item.height must be a positive number, got ${$.height}`)}if($.width!==void 0&&typeof $.width==="number"){if(!Number.isFinite($.width)||$.width<=0)throw Error(`vlist: item.width must be a positive number, got ${$.width}`)}if($.estimatedHeight!==void 0){if(!Number.isFinite($.estimatedHeight)||$.estimatedHeight<=0)throw Error(`vlist: item.estimatedHeight must be a positive number, got ${$.estimatedHeight}`)}if($.estimatedWidth!==void 0){if(!Number.isFinite($.estimatedWidth)||$.estimatedWidth<=0)throw Error(`vlist: item.estimatedWidth must be a positive number, got ${$.estimatedWidth}`)}if($.gap!==void 0){if(typeof $.gap!=="number"||!Number.isFinite($.gap)||$.gap<0)throw Error(`vlist: item.gap must be a non-negative number, got ${$.gap}`)}if(Q.overscan!==void 0){if(typeof Q.overscan!=="number"||!Number.isFinite(Q.overscan)||Q.overscan<0)throw Error(`vlist: overscan must be a non-negative number, got ${Q.overscan}`)}}function p1(Q,$){let j=Q==="horizontal"?"x":"y";if($.some((J)=>J.name==="grid"))return{primary:j,cross:j==="x"?"y":"x"};return{primary:j}}function u1(Q,$){let j=p1(Q.orientation,$),q=j.primary==="x",J=g0(Q.padding);return{axis:j,hasCrossAxis:j.cross!==void 0,overscan:Q.overscan??n2,reverse:Q.reverse??!1,classPrefix:Q.classPrefix??C0,mainAxisPadding:x0(J,q),crossAxisPadding:m0(J,q),startPadding:q?J.left:J.top,endPadding:q?J.right:J.bottom,crossPadStart:q?J.top:J.left,crossPadEnd:q?J.bottom:J.right,striped:Q.item.striped||!1,gap:Q.item.gap??0}}function g1(Q,$){if($)return Q.item.width??Q.item.estimatedWidth??100;return Q.item.height??Q.item.estimatedHeight??40}function x1(Q){let $=[...Q];return $.sort((j,q)=>(j.priority??50)-(q.priority??50)),$}function m1(Q){let $=new Set;for(let j of Q){if($.has(j.name))throw Error(`[vlist] Duplicate plugin: ${j.name}`);$.add(j.name)}for(let j of Q)if(j.conflicts){for(let q of j.conflicts)if($.has(q))throw Error(`[vlist] Plugin "${j.name}" conflicts with "${q}"`)}}function j1(Q,$=[]){I1(Q);let j=u1(Q,$),q=j.axis.primary==="x",J=g1(Q,q),K=j.gap,U=K>0?typeof J==="function"?(W2)=>J(W2)+K:J+K:J,Y=typeof J==="number"?J:20,M=Q.items?.length??0,V=j.striped?`${j.classPrefix}-item--odd`:"",W=N0(),c=e0(j.classPrefix,q,j.startPadding,j.crossPadStart,j.crossPadEnd,V,K,W),X=$.length>0?x1($):$;if($.length>0)m1(X);let w=l0(Q.container),G=r0(w,j.classPrefix,q,Q.ariaLabel);if(Q.scroll?.scrollbar==="none")G.viewport.classList.add(`${j.classPrefix}-viewport--no-scrollbar`);if(Q.scroll?.gutter==="stable")G.viewport.classList.add(`${j.classPrefix}-viewport--gutter-stable`);let O=Q0(U,M);if(K>0){let W2=O.getTotalSize;O.getTotalSize=()=>{let N=W2();return N>0?N-K:0}}let z=d0(j.classPrefix),v=Math.ceil(4096/Y)+j.overscan*2+8,_=c0(v);_.totalItems=M;let D=Q.items??[],b=()=>D,H=new Map,A=J1(),L={velocity:0,reliable:!1},u={range:{start:0,end:-1}},R={scrollPosition:0,direction:"down"},x={scrollPosition:0},h=-1,d=-1,a=-1,r=null,S=a0(X),g=new Map,F=[],E=[],Z=[],y=null,s=null,m=null,T=null,B=null,p=null,f=null,l=null,i=null,P=null,C=null,e=!1,X2=!1,t=null,K2=0,A2=0,o=null,H2=null,B2=null,$2=null,J2=null;if(_.containerSize=q?G.viewport.clientWidth:G.viewport.clientHeight,_.crossSize=q?G.viewport.clientHeight:G.viewport.clientWidth,$.length>0){let W2={dom:G,sizeCache:O,pool:z,config:j,emitter:W,template:Q.item.template,registerMethod(N,Q2){g.set(N,Q2)},getMethod(N){return g.get(N)},registerClickHandler(N){F.push(N)},registerKeydownHandler(N){E.push(N)},registerDestroyHandler(N){Z.push(N)},enableListboxRole(){let N=G.content.getAttribute("role");if(!N||N==="list")G.content.setAttribute("role","listbox"),G.content.setAttribute("tabindex","0");c.itemRole="option",c.interactive=!0},setSizeConfig(N){let Q2=Q0(N,_.totalItems);Object.assign(O,Q2)},setScrollFns(N,Q2){s=N,m=Q2},setVirtualTotalFn(N){y=N},getItems:b,getItem(N){return p?p(N):D[N]},getState(){return _},rebuildSizeCache(){O.rebuild(_.totalItems)},updateContentSize(N){_.totalSize=N,G.content.style[q?"width":"height"]=N+j.mainAxisPadding+"px"},setRenderFn(N,Q2){T=N,B=Q2},renderIfNeeded(){N2()},forceRender(){U2()},setGetItemFn(N){p=N},setItemStateFn(N){f=N},getItemStateFn(){return f},get rawSizeSpec(){return J},scrollTo(N){if(m)m(N);else if(q)G.viewport.scrollLeft=N;else G.viewport.scrollTop=N},smoothScrollTo(N,Q2,Y2,n){if(B2)B2(N,Q2,m??void 0,Y2,n);else W2.scrollTo(typeof N==="function"?N():N)},disableDefaultScroll(){e=!0},disableDefaultResize(){X2=!0},setScrollTarget(N){t=N},setScrollToPosFn(N){$2=N},setScrollToIndexFn(N){J2=N},onScrollFrame:P2,onScrollIdle:y2,removeItemById(N){if(l)return l(N);let Q2=D.findIndex((Y2)=>Y2.id===N);if(Q2===-1)return-1;return D.splice(Q2,1),_.totalItems=D.length,O.rebuild(_.totalItems),G2(),Q2},insertItemAt(N,Q2){if(i){i(N,Q2);return}D.splice(Q2,0,N),_.totalItems=D.length,O.rebuild(_.totalItems),G2()},setRemoveItemFn(N){l=N},setInsertItemFn(N){i=N},setUpdateItemFn(N){P=N},setGetIndexByIdFn(N){C=N},getRenderedElement(N){let Q2=g.get("_getRenderedElement");if(Q2)return Q2(N);return H.get(N)??null},setNavConfig(N){if(N.ud!==void 0)K2=N.ud;if(N.lr!==void 0)A2=N.lr;if(N.scrollIndex)o=N.scrollIndex;if(N.navigate)H2=N.navigate},getNavConfig:(()=>{let N={ud:0,lr:0,scrollIndex:null,navigate:null};return()=>{return N.ud=K2,N.lr=A2,N.scrollIndex=o,N.navigate=H2,N}})()};for(let N of X)if(N.setup)try{N.setup(W2)}catch(Q2){W.emit("error",{error:Q2 instanceof Error?Q2:Error(String(Q2)),context:`plugin:setup:${N.name}`})}}let q2=j.classPrefix+"--scrolling",_2=!1,L2=Q.scroll?.idleTimeout??s2;function Z2(){if(R.scrollPosition=_.scrollPosition,q)R.direction=_.scrollDirection>0?"right":"left";else R.direction=_.scrollDirection>0?"down":"up";if(W.emit("scroll",R),Q1(A,_.scrollPosition),L.velocity=A.velocity,L.reliable=A.sampleCount>=$1,W.emit("velocity:change",L),_.startIndex!==h||_.prevRangeEnd!==d)h=_.startIndex,d=_.prevRangeEnd,u.range.start=_.startIndex,u.range.end=_.prevRangeEnd,W.emit("range:change",u)}let b2=!1;function G2(){if(T)return;let W2=O.getTotalSize();if(G.content.style[q?"width":"height"]=W2+j.mainAxisPadding+"px",!b2&&W2>I2)b2=!0,W.emit("error",{error:Error(`Content size (${W2}px) exceeds browser limit (${I2}px). Use the scale() plugin for large datasets.`),context:"content:size:overflow"})}function N2(){if(T)T();else _0(_,O,j.overscan,z,G.content,Q.item.template,b,H,c,S,p,f)}function P2(){if(!_2)_2=!0,G.root.classList.add(q2);if(N2(),V0(S.afterScroll,_.scrollPosition,_.scrollDirection),_.scrollPosition!==a)a=_.scrollPosition,Z2()}function y2(){if(_2)_2=!1,G.root.classList.remove(q2);_.scrollDirection=0,n0(S.idle),L.velocity=0,L.reliable=!1,W.emit("velocity:change",L),x.scrollPosition=_.scrollPosition,W.emit("scroll:idle",x)}function U2(){if(_.renderPending=!0,B)B();else _0(_,O,j.overscan,z,G.content,Q.item.template,b,H,c,S,p,f);if(V0(S.afterScroll,_.scrollPosition,_.scrollDirection),_.scrollPosition!==a){if(a=_.scrollPosition,Z2(),r!==null)clearTimeout(r);r=setTimeout(y2,L2)}}let M2=s0({state:_,viewport:G.viewport,isX:q,wheelEnabled:e?!1:Q.scroll?.wheel!==!1,idleTimeout:Q.scroll?.idleTimeout??s2,...t?{scrollTarget:t}:{},onFrame:P2,onIdle:y2});B2=M2.smoothScrollTo;function z2(W2){let Q2=W2.target.closest("[data-index]");if(!Q2)return null;let Y2=parseInt(Q2.getAttribute("data-index"),10);if(Number.isNaN(Y2))return null;let n=p?p(Y2):D[Y2];if(n===void 0)return null;return{item:n,index:Y2}}function T2(W2){for(let Q2=0;Q2<F.length;Q2++)F[Q2](W2);let N=z2(W2);if(N)W.emit("item:click",{item:N.item,index:N.index,event:W2})}function w2(W2){let N=z2(W2);if(N)W.emit("item:dblclick",{item:N.item,index:N.index,event:W2})}function I(W2){let N=z2(W2);if(N)W.emit("item:contextmenu",{item:N.item,index:N.index,event:W2})}function V2(W2){for(let N=0;N<E.length;N++)E[N](W2)}if(G.content.addEventListener("click",T2),G.content.addEventListener("dblclick",w2),G.content.addEventListener("contextmenu",I),E.length>0)G.root.addEventListener("keydown",V2);let O2=null;if(!X2)setTimeout(()=>{if(_.destroyed)return;O2=new ResizeObserver((N)=>{for(let Q2 of N){let{width:Y2,height:n}=Q2.contentRect,j2=q?Y2:n,D2=q?n:Y2;if(Math.abs(j2-_.containerSize)<1&&Math.abs(D2-_.crossSize)<1)continue;_.containerSize=j2,_.crossSize=D2,_.resizeCapacity(j2,Y,j.overscan),U2(),t0(S.resize,Y2,n),W.emit("resize",{width:Y2,height:n})}}),O2.observe(G.viewport)},0);_.resizeCapacity(_.containerSize,Y,j.overscan),G2(),_.initialized=!0;let F2=null;if(Q.defer)F2=requestAnimationFrame(()=>{if(F2=null,!_.destroyed)N2()});else N2();if(!e)M2.attach();let R2={get element(){return G.root},get items(){return D},get total(){return y?y():D.length},setItems(W2){D=[...W2],_.totalItems=D.length,O.rebuild(_.totalItems),G2(),U2()},appendItems(W2){D.push(...W2),_.totalItems=D.length,O.rebuild(_.totalItems),G2(),U2()},prependItems(W2){D.unshift(...W2),_.totalItems=D.length,O.rebuild(_.totalItems),G2(),U2()},updateItem(W2,N){if(P){if(!P(W2,N))return}else{let Q2=D.findIndex((Y2)=>Y2.id===W2);if(Q2===-1)return;D[Q2]={...D[Q2],...N}}U2()},insertItem(W2,N){if(i)i(W2,N??_.totalItems);else{if(N===void 0)D.push(W2);else D.splice(N,0,W2);_.totalItems=D.length,O.rebuild(_.totalItems),G2()}U2()},removeItem(W2){if(l){if(l(W2)<0)return}else{let N=D.findIndex((Q2)=>Q2.id===W2);if(N===-1)return;D.splice(N,1),_.totalItems=D.length,O.rebuild(_.totalItems),G2()}U2()},removeItems(W2){if(l){let n=0;for(let j2 of W2)if(l(j2)>=0)n++;if(n>0)U2();return n}let N=new Set(W2),Q2=D.length;D=D.filter((n)=>!N.has(n.id));let Y2=Q2-D.length;if(Y2>0)_.totalItems=D.length,O.rebuild(_.totalItems),G2(),_.renderPending=!0,N2();return Y2},getItemAt(W2){return p?p(W2):D[W2]},getIndexById(W2){if(C)return C(W2);return D.findIndex((N)=>N.id===W2)},scrollToIndex(W2,N="start"){let Q2=y?y():D.length;if(Q2===0)return;let Y2=Math.max(0,Math.min(W2,Q2-1)),n=typeof N==="string"?N:N.align??"start",j2=typeof N==="object"?N.behavior:void 0,D2=typeof N==="object"?N.duration:void 0,E2=typeof N==="object"?N.easing:void 0;if(J2&&J2(Y2,n,j2,D2,E2)!==!1)return;let k2=O.getOffset(Y2),v2=O.getSize(Y2),S2=_.containerSize,k1=O.getTotalSize(),v0=j.mainAxisPadding,z1=Math.max(0,k1+v0-S2),h2;if($2)h2=$2(Y2,O,S2,Q2,n);else{let P1=j.startPadding;switch(n){case"center":h2=P1+k2-(S2-v2)/2;break;case"end":h2=k2+v2+v0-S2;break;default:h2=k2}h2=Math.max(0,Math.min(h2,z1))}if(j2==="smooth")M2.smoothScrollTo(h2,D2??$0,m??void 0,E2);else if(m)m(h2);else if(q)G.viewport.scrollLeft=h2;else G.viewport.scrollTop=h2},getScrollPosition(){return s?s():_.scrollPosition},on:W.on.bind(W),off:W.off.bind(W),destroy(){if(_.destroyed)return;if(_.destroyed=!0,_2)_2=!1,G.root.classList.remove(q2);if(F2!==null)cancelAnimationFrame(F2),F2=null;if(r!==null)clearTimeout(r),r=null;M2.detach(),O2?.disconnect(),G.content.removeEventListener("click",T2),G.content.removeEventListener("dblclick",w2),G.content.removeEventListener("contextmenu",I),G.root.removeEventListener("keydown",V2);let W2=[];for(let N of Z)try{N()}catch(Q2){W2.push(Q2 instanceof Error?Q2:Error(String(Q2)))}for(let N of X)if(N.destroy)try{N.destroy()}catch(Q2){W2.push(Q2 instanceof Error?Q2:Error(String(Q2)))}for(let[,N]of H)N.remove();if(H.clear(),z.clear(),G.root.remove(),W.emit("destroy",void 0),W.clear(),W2.length>0)for(let N of W2)console.error("vlist: error during destroy:",N)}};for(let[W2,N]of g)R2[W2]=N;return R2}var q1=(Q,$,j)=>{let q=$.getTotalSize(),J=j===!0||q>I2,K=q>I2?I2:q,U=q>0?K/q:1;return{isCompressed:J,actualSize:q,virtualSize:K,ratio:U}},x2=(Q,$,j,q,J,K)=>{if(q===0||$===0)return K.start=0,K.end=-1,K;if(!J.isCompressed||J.ratio===1){let w=j.indexAtOffset(Q),G=j.indexAtOffset(Q+$);if(G<q-1)G++;return K.start=Math.max(0,w),K.end=Math.min(q-1,Math.max(0,G)),K}let{virtualSize:U}=J,Y=Q/U,M=j.getTotalSize(),V=Y*M,W=j.indexAtOffset(V),c=W0(j,Math.max(0,W),$,q),X=W+c;return K.start=Math.max(0,W),K.end=Math.min(q-1,Math.max(0,X)),K};var u2=(Q,$,j,q,J,K,U)=>{if(!K.isCompressed||q===0)return j.getOffset(Q);if(K.ratio===1)return j.getOffset(Q)-$;let{virtualSize:Y}=K,M=$/Y,V=j.getTotalSize(),W=M*V;return j.getOffset(Q)-W},j0=(Q,$,j,q,J,K="start")=>{if(q===0)return 0;let U;if(J.isCompressed&&J.ratio!==1){U=Q/q*J.virtualSize;let W=$.getSize(Q);switch(K){case"center":U-=(j-W)/2*J.ratio;break;case"end":U-=(j-W)*J.ratio;break}return Math.max(0,U)}U=$.getOffset(Q);let Y=$.getSize(Q);switch(K){case"center":U-=(j-Y)/2;break;case"end":U-=j-Y;break}let M=J.virtualSize-j;return Math.max(0,Math.min(U,M))};var c1=(Q)=>{if(typeof Q!=="object"){let $=Q??2;return{top:$,right:$,bottom:$,left:$}}return{top:Q.top??2,right:Q.right??2,bottom:Q.bottom??2,left:Q.left??2}},q0=(Q,$,j={},q="vlist",J=!1,K)=>{let{autoHide:U=!0,autoHideDelay:Y=1000,minThumbSize:M=15,showOnHover:V=!0,showOnViewportEnter:W=!0,clickBehavior:c="scroll"}=j,X=c==="page"?"scroll":c,w=K??Q,G=c1(j.padding),k=J?G.left:G.top,O=J?G.right:G.bottom,z=J?G.bottom:G.right,v=j.hoverZoneWidth??z+16,_=0,D=0,b=0,H=0,A=!1,L=!1,u=0,R=0,x=0,h=null,d=!1,a=null,r=0,S=0,g=null,F=null,E=null,Z=J?"width":"height",y=J?"translateX":"translateY",s=J?(I)=>I.clientX:(I)=>I.clientY,m=J?"left":"top",T=document.createElement("div"),B=document.createElement("div"),p=document.createElement("div"),f=J?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",l=()=>{if(w===Q)return;let I=Q.offsetTop;T.style[J?"left":"top"]=I?`calc(var(${f}) + ${I}px)`:`var(${f})`,p.style[J?"left":"top"]=`${I}px`},i=()=>{if(T.className=`${q}-scrollbar`,B.className=`${q}-scrollbar__thumb`,J)T.classList.add(`${q}-scrollbar--horizontal`);if(j.padding!==void 0)w.style.setProperty("--vlist-custom-scrollbar-padding-top",`${G.top}px`),w.style.setProperty("--vlist-custom-scrollbar-padding-right",`${G.right}px`),w.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${G.bottom}px`),w.style.setProperty("--vlist-custom-scrollbar-padding-left",`${G.left}px`);if(j.minThumbSize!==void 0)T.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${M}px`);if(T.appendChild(B),w.appendChild(T),p.className=`${q}-scrollbar__hover`,J)p.classList.add(`${q}-scrollbar__hover--horizontal`),p.style.height=`${v}px`;else p.style.width=`${v}px`;if(w.appendChild(p),w!==Q)l()},P=()=>{if(h)clearTimeout(h),h=null},C=()=>{if(!U)return;P(),h=setTimeout(X2,Y)},e=()=>{if(_<=D)return;if(P(),!d)T.classList.add(`${q}-scrollbar--visible`),d=!0;if(U&&!A&&!L)C()},X2=()=>{if(A||L)return;T.classList.remove(`${q}-scrollbar--visible`),d=!1},t=(I,V2)=>{if(_=I,D=V2,l(),_<=D){T.style.display="none",X2();return}T.style.display="";let O2=Math.max(0,D-k-O),F2=D/_;if(b=Math.max(M,F2*O2),B.style[Z]=`${b}px`,H=O2-b,K2(x),!U)e()},K2=(I)=>{if(x=I,_<=D||H<=0)return;let V2=_-D,O2=Math.min(1,Math.max(0,I/V2));B.style.transform=`${y}(${O2*H}px)`},A2=(I)=>{if(I.target===B||X!=="jump"||H<=0)return;let V2=_-D,O2=T.getBoundingClientRect(),F2=s(I)-O2[m],R2=Math.max(0,Math.min(F2-b/2,H));$(R2/H*V2),e()},o=()=>{if(g!==null)clearTimeout(g),g=null;if(F!==null)cancelAnimationFrame(F),F=null;E=null},H2=(I)=>{let V2=H>0?S/I*H:0;if(r<V2)return-1;if(r>=V2+b)return 1;return 0},B2=()=>{let I=_-D,V2=H2(I);if(V2===0){o();return}if(V2===-1){if(S<=0){o();return}let O2=Math.max(0,S-D);S=O2,$(O2)}else{if(S>=I){o();return}let O2=Math.min(I,S+D);S=O2,$(O2)}e()},$2=(I)=>{if(E===null){E=I,F=requestAnimationFrame($2);return}let V2=_-D,O2=I-E;E=I;let F2=H2(V2);if(F2===0){o();return}let R2=12*D/1000,W2=Math.min(R2*O2,D);if(F2===-1){if(S<=0){o();return}let N=Math.max(0,S-W2);S=N,$(N)}else{if(S>=V2){o();return}let N=Math.min(V2,S+W2);S=N,$(N)}P(),F=requestAnimationFrame($2)},J2=()=>{o(),C(),document.removeEventListener("mouseup",J2)},q2=(I)=>{if(I.target===B||X!=="scroll")return;I.preventDefault();let V2=T.getBoundingClientRect();r=s(I)-V2[m],S=x,B2(),g=setTimeout(()=>{F=requestAnimationFrame($2)},350),document.addEventListener("mouseup",J2)},_2=(I)=>{I.preventDefault(),I.stopPropagation(),A=!0,u=s(I),R=x,P(),T.classList.add(`${q}-scrollbar--dragging`),document.addEventListener("mousemove",L2),document.addEventListener("mouseup",Z2)},L2=(I)=>{if(!A)return;let V2=s(I)-u,O2=H>0?V2/H:0,F2=_-D,R2=O2*F2,W2=Math.max(0,Math.min(R+R2,F2));B.style.transform=`${y}(${W2/F2*H}px)`,$(W2)},Z2=()=>{if(A=!1,T.classList.remove(`${q}-scrollbar--dragging`),U&&!L)C();document.removeEventListener("mousemove",L2),document.removeEventListener("mouseup",Z2)},b2=J?(I)=>I.touches[0].clientX:(I)=>I.touches[0].clientY,G2=(I)=>{I.stopPropagation(),A=!0,u=b2(I),R=x,P(),T.classList.add(`${q}-scrollbar--dragging`)},N2=(I)=>{if(!A)return;I.preventDefault();let V2=b2(I)-u,O2=H>0?V2/H:0,F2=_-D,R2=O2*F2,W2=Math.max(0,Math.min(R+R2,F2));B.style.transform=`${y}(${W2/F2*H}px)`,$(W2)},P2=()=>{if(A=!1,T.classList.remove(`${q}-scrollbar--dragging`),U)C()},y2=(I)=>{if(I.target===B)return;if(H<=0)return;let V2=I.touches[0],O2=T.getBoundingClientRect(),F2=(J?V2.clientX:V2.clientY)-O2[m];if(X==="jump"){let R2=_-D,W2=Math.max(0,Math.min(F2-b/2,H));$(W2/H*R2)}else r=F2,S=x,B2();e()},U2=()=>{if(W)e()},M2=()=>{if(!A){if(L=!1,U)C()}},z2=()=>{L=!0,P(),e()},T2=()=>{if(L=!1,!A&&U)C()},w2=()=>{if(P(),o(),a!==null)cancelAnimationFrame(a),a=null;T.removeEventListener("click",A2),T.removeEventListener("mousedown",q2),T.removeEventListener("mouseenter",z2),document.removeEventListener("mouseup",J2),T.removeEventListener("mouseleave",T2),T.removeEventListener("touchstart",y2),B.removeEventListener("mousedown",_2),B.removeEventListener("touchstart",G2),B.removeEventListener("touchmove",N2),B.removeEventListener("touchend",P2),Q.removeEventListener("mouseenter",U2),Q.removeEventListener("mouseleave",M2),document.removeEventListener("mousemove",L2),document.removeEventListener("mouseup",Z2),p.removeEventListener("click",A2),p.removeEventListener("mousedown",q2),p.removeEventListener("mouseenter",z2),p.removeEventListener("mouseleave",T2),p.remove(),w.style.removeProperty("--vlist-custom-scrollbar-padding-top"),w.style.removeProperty("--vlist-custom-scrollbar-padding-right"),w.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),w.style.removeProperty("--vlist-custom-scrollbar-padding-left"),T.remove()};if(i(),T.addEventListener("click",A2),T.addEventListener("mousedown",q2),T.addEventListener("mouseenter",z2),T.addEventListener("mouseleave",T2),T.addEventListener("touchstart",y2,{passive:!0}),B.addEventListener("mousedown",_2),B.addEventListener("touchstart",G2,{passive:!0}),B.addEventListener("touchmove",N2,{passive:!1}),B.addEventListener("touchend",P2,{passive:!0}),Q.addEventListener("mouseenter",U2),Q.addEventListener("mouseleave",M2),p.addEventListener("click",A2),p.addEventListener("mousedown",q2),V)p.addEventListener("mouseenter",z2),p.addEventListener("mouseleave",T2);return{show:e,hide:X2,updateBounds:t,updatePosition:K2,isVisible:()=>d,destroy:w2}};var d1=0.65,Z1=0.5,Y1=1.7,l1=0.95,r1=0.1,r2=5,s1=100;function M0(Q){let $=Q?.force??!1,j,q,J,K,U,Y={isCompressed:!1,actualSize:0,virtualSize:0,ratio:1},M=!1,V=0,W=null,c=!1,X=0,w=0,G=null,k=null,O=0,z=0,v=null,_=new Float64Array(r2),D=new Float64Array(r2),b=0,H=0,A={start:0,end:-1},L=-1,u=null;function R(){return Math.max(0,Y.virtualSize+V-j.containerSize)}function x(){if(Y.virtualSize<=0)return 0;return Math.max(0,j.containerSize*(1-Y.ratio))}function h(B){let p=j.totalItems;if(Y=q1(p,q,$),Y.isCompressed&&!M)s(B);else if(!Y.isCompressed&&M)m(B);if(Y.isCompressed){if(V=x(),j.isCompressed=!0,j.compressionRatio=Y.ratio,B.updateContentSize(Y.virtualSize+V),W)W.updateBounds(Y.virtualSize+V,j.containerSize)}}let d=null,a=null,r=null,S=null,g=null;function F(B){X=B,w=B,j.prevScrollPosition=j.scrollPosition,j.scrollPosition=B,j.scrollDirection=B>j.prevScrollPosition?1:-1,u.forceRender()}function E(){if(G!==null)cancelAnimationFrame(G),G=null;if(k!==null)cancelAnimationFrame(k),k=null}function Z(B){E(),F(Math.max(0,Math.min(B,R())))}function y(B,p,f=e2){E();let l=Math.max(0,Math.min(B,R())),i=X;if(Math.abs(l-i)<Z1){F(l);return}let P=performance.now(),C=(e)=>{let X2=Math.min((e-P)/p,1);if(F(i+(l-i)*f(X2)),X2<1)k=requestAnimationFrame(C);else k=null};k=requestAnimationFrame(C)}function s(B){M=!0,j.isCompressed=!0;let p=K?"scrollLeft":"scrollTop",f=K?"overflowX":"overflow",l=J[p];if(J.style[f]="hidden",J[p]=0,l>0)X=l,w=l,j.scrollPosition=l;V=x();let i=()=>{let t=w-X,K2=R();if(Math.abs(t)<Z1)X=Math.max(0,Math.min(w,K2)),w=X,G=null;else X+=t*d1,X=Math.max(0,Math.min(X,K2)),G=requestAnimationFrame(i);j.prevScrollPosition=j.scrollPosition,j.scrollPosition=X,j.scrollDirection=X>j.prevScrollPosition?1:-1,B.forceRender()};d=(t)=>{t.preventDefault();let K2=R();if(w=Math.max(0,Math.min(w+t.deltaY*Y.ratio*Y1,K2)),G===null)G=requestAnimationFrame(i)},J.addEventListener("wheel",d,{passive:!1});let P=()=>{if(v!==null)cancelAnimationFrame(v),v=null};a=(t)=>{if(P(),G!==null)cancelAnimationFrame(G),G=null;let K2=t.touches[0];if(!K2)return;let A2=K?K2.clientX:K2.clientY;O=A2,z=X,b=1,H=0,_[0]=performance.now(),D[0]=A2},r=(t)=>{t.preventDefault();let K2=t.touches[0];if(!K2)return;let A2=K?K2.clientX:K2.clientY,o=performance.now(),H2=b<r2?b:H;if(_[H2]=o,D[H2]=A2,b<r2)b++;else H=(H+1)%r2;let B2=O-A2,$2=R(),J2=Math.max(0,Math.min(z+B2*Y.ratio*Y1,$2));X=J2,w=J2,j.prevScrollPosition=j.scrollPosition,j.scrollPosition=J2,j.scrollDirection=J2>j.prevScrollPosition?1:-1,B.forceRender()},S=()=>{let t=performance.now(),K2=1/0,A2=0,o=-1,H2=0,B2=0;for(let _2=0;_2<b;_2++){let L2=(H+_2)%r2,Z2=_[L2];if(t-Z2>=s1)continue;B2++;let b2=D[L2];if(Z2<K2)K2=Z2,A2=b2;if(Z2>o)o=Z2,H2=b2}let $2=0;if(B2>=2){let _2=o-K2;if(_2>0)$2=(A2-H2)/_2}if(b=0,H=0,Math.abs($2)<r1)return;let J2=$2*16,q2=()=>{if(J2*=l1,Math.abs(J2)<0.5){v=null;return}let _2=R(),L2=X+J2;if(L2=Math.max(0,Math.min(L2,_2)),L2<=0&&J2<0||L2>=_2&&J2>0){X=L2,w=L2,j.scrollPosition=L2,B.forceRender(),v=null;return}X=L2,w=L2,j.prevScrollPosition=j.scrollPosition,j.scrollPosition=L2,j.scrollDirection=L2>j.prevScrollPosition?1:-1,B.forceRender(),v=requestAnimationFrame(q2)};v=requestAnimationFrame(q2)},J.addEventListener("touchstart",a,{passive:!0}),J.addEventListener("touchmove",r,{passive:!1}),J.addEventListener("touchend",S,{passive:!0}),J.addEventListener("touchcancel",S,{passive:!0}),g=()=>{if(J[p]!==0)J[p]=0},J.addEventListener("scroll",g,{passive:!0});let C=(t)=>{if(X=t,w=t,G!==null)cancelAnimationFrame(G),G=null;j.prevScrollPosition=j.scrollPosition,j.scrollPosition=t,j.scrollDirection=t>j.prevScrollPosition?1:-1,B.forceRender()},e=B.getMethod("_scrollbar:setCallback"),X2=B.getMethod("_scrollbar:getInstance");if(e&&X2){e(C);let t=X2();if(t)W=t,c=!1,W.updateBounds(Y.virtualSize+V,j.containerSize)}else if(!W){let t=B.config.classPrefix;if(W=q0(J,C,{},t,K,B.dom.root),c=!0,!J.classList.contains(`${t}-viewport--custom-scrollbar`))J.classList.add(`${t}-viewport--custom-scrollbar`);W.updateBounds(Y.virtualSize+V,j.containerSize)}}function m(B){M=!1,j.isCompressed=!1,j.compressionRatio=1,X=0,w=0,b=0,H=0,T();let p=K?"overflowX":"overflow";J.style[p]="auto",V=0,B.updateContentSize(q.getTotalSize())}function T(){if(G!==null)cancelAnimationFrame(G),G=null;if(k!==null)cancelAnimationFrame(k),k=null;if(v!==null)cancelAnimationFrame(v),v=null;if(d)J.removeEventListener("wheel",d),d=null;if(a)J.removeEventListener("touchstart",a),a=null;if(r)J.removeEventListener("touchmove",r),r=null;if(S)J.removeEventListener("touchend",S),J.removeEventListener("touchcancel",S),S=null;if(g)J.removeEventListener("scroll",g),g=null;if(W&&c)W.destroy();W=null,c=!1;let B=K?"scrollLeft":"scrollTop";if(J&&J[B]!==0)J[B]=0}return{name:"scale",priority:20,setup(B){j=B.getState(),q=B.sizeCache,J=B.dom.viewport,K=B.config.axis.primary==="x",U=B.config.overscan,u=B,B.registerMethod("_updateCompressionMode",()=>h(B)),B.registerMethod("_scale:getCompression",()=>Y),B.registerMethod("_scale:easedScrollTo",(p,f)=>y(p,f)),B.setScrollFns(()=>X,(p)=>{if(!Y.isCompressed||!M){let l=K?"scrollLeft":"scrollTop";J[l]=p;return}if(E(),v!==null)cancelAnimationFrame(v),v=null;let f=p*Y.ratio;F(Math.max(0,Math.min(f,R())))}),B.setScrollToIndexFn((p,f,l,i,P)=>{if(!Y.isCompressed||!M)return!1;let C=j0(p,q,j.containerSize,j.totalItems,Y,f);if(l==="smooth")y(C,i??$0,P);else Z(C)}),h(B),L=j.totalItems,B.registerDestroyHandler(T)},hooks:{onCalculate(B){if(B.totalItems!==L&&u)L=B.totalItems,h(u);if(!Y.isCompressed||!M)return;let p=B.totalItems;if(p===0||B.containerSize<=0){B.visibleCount=0;return}x2(B.scrollPosition,B.containerSize,q,p,Y,A);let f=Math.max(0,A.start-U),l=Math.min(p-1,A.end+U),i=Math.min(l-f+1,B.capacity);B.visibleCount=i,B.startIndex=f;for(let P=0;P<i;P++){let C=f+P;B.visibleIndices[P]=C,B.visibleOffsets[P]=u2(C,B.scrollPosition,q,p,B.containerSize,Y),B.visibleSizes[P]=q.getSize(C)}B.prevRangeStart=f,B.prevRangeEnd=l},onAfterScroll(B){if(W&&M)W.updatePosition(B),W.show()},onResize(){if(M){if(V=x(),W)W.updateBounds(Y.virtualSize+V,j.containerSize);let B=R();if(X>B)X=B,w=B,j.scrollPosition=B}}},destroy(){T()}}}function X0(Q){let $=null,j,q=0,J=0;return{name:"scrollbar",priority:15,setup(K){let{dom:U,config:Y}=K,{classPrefix:M}=Y,V=Y.axis.primary==="x";j=K.getState();let W=(c)=>{if(V)U.viewport.scrollLeft=c;else U.viewport.scrollTop=c};if(K.registerMethod("_scrollbar:setCallback",(c)=>{W=c}),$=q0(U.viewport,(c)=>{W(c)},Q,M,V,U.root),U.viewport.classList.add(`${M}-viewport--custom-scrollbar`),Q?.gutter)U.viewport.classList.add(`${M}-viewport--gutter`);queueMicrotask(()=>{if(!j.isCompressed)$?.updateBounds(j.totalSize,j.containerSize)}),K.registerMethod("_scrollbar:getInstance",()=>$),K.registerDestroyHandler(()=>{if($?.destroy(),$=null,U.viewport.classList.remove(`${M}-viewport--custom-scrollbar`),Q?.gutter)U.viewport.classList.remove(`${M}-viewport--gutter`)})},hooks:{onAfterScroll(K){if(!j.isCompressed){let{totalSize:U,containerSize:Y}=j;if(U!==q||Y!==J)q=U,J=Y,$?.updateBounds(U,Y)}$?.updatePosition(K),$?.show()},onResize(){if(!j.isCompressed){let{totalSize:K,containerSize:U}=j;q=K,J=U,$?.updateBounds(K,U)}}},destroy(){$?.destroy(),$=null}}}var K1=(Q)=>{let $=Math.max(1,Math.floor(Q.columns)),j=Q.gap??0,q=Q.isHeaderFn,J={row:0,col:0},K=(G)=>{if(G<=0)return 0;if(!q)return Math.ceil(G/$);let k=0,O=0,z=0;for(let v=0;v<G;v++)if(q(v)){if(z++,O)k++,O=0;k++,O=0}else if(O++,O>=$)k++,O=0;if(O)k++;return k},U=(G)=>{return J.row=Y(G),J.col=M(G),J},Y=(G)=>{if(!q)return Math.floor(G/$);let k=0,O=0;for(let z=0;z<=G;z++)if(q(z)){if(O)k++,O=0;if(z===G)return k;k++,O=0}else{if(z===G)return k;if(O++,O>=$)k++,O=0}return console.warn(`⚠️ getRow(${G}) fell through - returning ${k}`),k},M=(G)=>{if(!q)return G%$;if(q(G))return 0;let k=0;for(let O=0;O<=G;O++)if(q(O))k=0;else{if(O===G)return k;if(k++,k>=$)k=0}return k},V=(G,k,O)=>{if(O<=0)return{start:0,end:-1};if(!q){let b=Math.max(0,G*$),H=Math.min(O-1,(k+1)*$-1);return{start:b,end:H}}let z=-1,v=-1,_=0,D=0;for(let b=0;b<O;b++){if(q(b)){if(D)_++,D=0;if(_>=G&&_<=k){if(z<0)z=b;v=b}_++,D=0}else{if(_>=G&&_<=k){if(z<0)z=b;v=b}if(D++,D>=$)_++,D=0}if(_>k&&!D)break}if(z<0)return{start:0,end:-1};return{start:z,end:v}},W=(G,k,O)=>{if(k<0||k>=$)return-1;let z=G*$+k;if(z<0||z>=O)return-1;return z},c=(G)=>{let k=($-1)*j;return Math.max(0,(G-k)/$)};return{get columns(){return $},get gap(){return j},update:(G)=>{if(G.columns!==void 0)$=Math.max(1,Math.floor(G.columns));if(G.gap!==void 0)j=G.gap;if(G.isHeaderFn!==void 0)q=G.isHeaderFn},getTotalRows:K,getPosition:U,getRow:Y,getCol:M,getItemRange:V,getItemIndex:W,getColumnWidth:c,getColumnOffset:(G,k)=>{let O=c(k);return G*(O+j)}}};var m2={selected:!1,focused:!1};function G0(Q){if(!Q.columns||Q.columns<1)throw Error("[vlist] grid: columns must be >= 1");let $,j,q,J,K,U,Y,M,V,W,c=null,X=null,w=!1,G=null,k=0,O=0,z=0,v=0,_=new Map,D=0,b={start:0,end:-1},H=-1,A=-1,L=!0;function u(){if(w||!G)return;w=!0,X=G("_scale:getCompression")??null}function R(){return $.getTotalRows(q.totalItems)}function x(S){let g=$.getRow(S),F=$.getCol(S),E=$.getColumnOffset(F,D)+k,Z=j.getOffset(g)+z;if(M)return`translate(${Math.round(Z)}px, ${Math.round(E)}px)`;return`translate(${Math.round(E)}px, ${Math.round(Z)}px)`}function h(S,g){let F=$.getRow(g),E=$.getColumnWidth(D),Z=j.getSize(F)-$.gap;if(M)S.style.width=`${Z}px`,S.style.height=`${E}px`;else S.style.width=`${E}px`,S.style.height=`${Z}px`}function d(S,g,F,E){if(E)E(F,m2);else m2.selected=!1,m2.focused=!1;let Z=U(g,F,m2);if(typeof Z==="string")S.innerHTML=Z;else S.innerHTML="",S.appendChild(Z)}function a(){if(q.destroyed)return;let{scrollPosition:S,containerSize:g}=q;if(!L&&S===H&&g===A)return;H=S,A=g,L=!1;let F=R();if(g<=0||F===0)return;u();let E=X?.()??null,Z=E!==null&&E.isCompressed,y,s;if(Z)x2(S,g,j,F,E,b),y=Math.max(0,b.start-W),s=Math.min(F-1,b.end+W);else{let i=j.indexAtOffset(S),P=j.indexAtOffset(S+g);if(P<F-1)P++;i=Math.max(0,i),P=Math.min(F-1,Math.max(0,P)),y=Math.max(0,i-W),s=Math.min(F-1,P+W)}if(y===q.prevRangeStart&&s===q.prevRangeEnd&&!q.renderPending)return;let m=$.getItemRange(y,s,q.totalItems);_.forEach((i,P)=>{if(P<m.start||P>m.end)i.el.remove(),J.release(i.el),_.delete(P)});let T=`${V}-item ${V}-grid-item`,B=c?.()??null,p=B?`${V}-item--selected`:"",f=B?`${V}-item--focused`:"";for(let i=m.start;i<=m.end;i++){let P=Y(i);if(!P)continue;let C=_.get(i);if(C===void 0){let e=J.acquire();e.className=T,e.setAttribute("data-index",String(i)),e.setAttribute("data-id",String(P.id)),d(e,P,i,B),C={el:e,lastItem:P},_.set(i,C),K.appendChild(e)}else if(C.lastItem!==P)C.el.setAttribute("data-id",String(P.id)),C.lastItem=P,d(C.el,P,i,B);if(B)if(B(i,m2),C.el.classList.toggle(p,m2.selected),C.el.classList.toggle(f,m2.focused),m2.selected)C.el.setAttribute("aria-selected","true");else C.el.removeAttribute("aria-selected");if(h(C.el,i),Z){let e=$.getRow(i),X2=$.getCol(i),t=$.getColumnOffset(X2,D)+k,K2=u2(e,S,j,F,g,E)+z;C.el.style.transform=M?`translate(${Math.round(K2)}px, ${Math.round(t)}px)`:`translate(${Math.round(t)}px, ${Math.round(K2)}px)`}else C.el.style.transform=x(i)}if(!Z){let i=j.getTotalSize()+v;K.style[M?"width":"height"]=i+"px"}q.totalSize=j.getTotalSize()+v,q.prevRangeStart=y,q.prevRangeEnd=s,q.renderPending=!1;let l=m.end-m.start+1;q.visibleCount=Math.min(l,q.capacity),q.startIndex=m.start;for(let i=0;i<q.visibleCount;i++){let P=m.start+i,C=$.getRow(P);q.visibleIndices[i]=P,q.visibleOffsets[i]=Z?u2(C,S,j,F,g,E):j.getOffset(C),q.visibleSizes[i]=j.getSize(C)}}function r(){if(q.destroyed)return;j.rebuild(R()),q.prevRangeStart=-1,q.prevRangeEnd=-1,q.renderPending=!0,L=!0,a()}return{name:"grid",priority:10,conflicts:["masonry","table"],setup(S){let g=Q.gap??0;$=K1({columns:Q.columns,gap:g}),j=S.sizeCache,q=S.getState(),J=S.pool,K=S.dom.content,U=S.template,M=S.config.axis.primary==="x",V=S.config.classPrefix,W=S.config.overscan,Y=S.getItem.bind(S),c=()=>S.getItemStateFn(),G=S.getMethod.bind(S),k=S.config.crossPadStart,O=S.config.crossAxisPadding,z=S.config.startPadding,v=S.config.mainAxisPadding,D=q.crossSize-O;let F=S.rawSizeSpec,E;if(typeof F==="function"){let y={columnWidth:$.getColumnWidth(D),columns:Q.columns,gap:g};E=F(0,y),S.setSizeConfig((s)=>{y.columnWidth=$.getColumnWidth(D);let m=s*Q.columns;return F(m,y)+g})}else if(E=F,g>0)S.setSizeConfig(E+g);if(j.rebuild(R()),g>0){let Z=j.getTotalSize;j.getTotalSize=()=>{let y=Z();return y>0?y-g:0}}S.setVirtualTotalFn(()=>R()),S.dom.root.classList.add(`${V}--grid`),S.setRenderFn(a,r),S.registerMethod("getGridLayout",()=>$),S.registerMethod("updateGrid",(Z)=>{if(Z.columns!==void 0){if(!Number.isInteger(Z.columns)||Z.columns<1)throw Error("[vlist] updateGrid: columns must be >= 1")}if(Z.gap!==void 0&&Z.gap<0)throw Error("[vlist] updateGrid: gap must be >= 0");if($.update(Z),Z.gap!==void 0||Z.columns!==void 0){let y=$.gap;if(typeof F==="function"){let s={columnWidth:$.getColumnWidth(D),columns:$.columns,gap:y};S.setSizeConfig((m)=>{s.columnWidth=$.getColumnWidth(D);let T=m*$.columns;return F(T,s)+y})}else S.setSizeConfig(E+y);j.rebuild(R())}if(Z.columns!==void 0)S.setNavConfig({ud:$.columns});D=q.crossSize-O,r()}),S.registerMethod("scrollToIndex",(Z,y="start")=>{let s=$.getRow(Z),m=R();if(m===0)return;let T=Math.max(0,Math.min(s,m-1)),B=j.getOffset(T)+z,p=j.getSize(T),f=q.containerSize,l=j.getTotalSize()+v,i=Math.max(0,l-f),P=typeof y==="string"?y:y.align??"start",C=typeof y==="object"?y.behavior:void 0,e=typeof y==="object"?y.duration:void 0,X2;switch(P){case"center":X2=B-(f-p)/2;break;case"end":X2=B-f+p;break;default:X2=B}X2=Math.max(0,Math.min(X2,i)),u();let t=X?.()??null;if(t?.isCompressed&&C==="smooth"&&e&&e>0){let K2=j0(T,j,f,m,t,P),A2=G?.("_scale:easedScrollTo");if(A2)A2(K2,e);else S.scrollTo(X2)}else if(C==="smooth"&&e&&e>0)S.smoothScrollTo(X2,e);else S.scrollTo(X2)}),S.setNavConfig({total:()=>q.totalItems,ud:Q.columns,lr:1,scrollIndex:(Z)=>$.getRow(Z)}),S.registerDestroyHandler(()=>{for(let[,Z]of _)Z.el.remove();_.clear(),S.dom.root.classList.remove(`${V}--grid`)})},hooks:{onResize(S,g){let F=q.crossSize-O;if(Math.abs(F-D)<1)return;if(D=F,(X?.()??null)?.isCompressed)r();else _.forEach((Z,y)=>{h(Z.el,y),Z.el.style.transform=x(y)})}},destroy(){_.clear()}}}function D0(){return{name:"a11y",priority:55,setup(Q){if(Q.getItemStateFn())return;Q.enableListboxRole();let{dom:$,config:j,sizeCache:q}=Q,J=Q.getState(),K=Q.emitter,U=j.classPrefix,Y=$.liveRegion,M=-1,V=!1,W,c=-1,X=(L)=>Q.getItem(L),w=()=>J.totalItems,G={id:0,index:0},k={selected:[],items:[]};Q.setItemStateFn((L,u)=>{u.selected=c===L,u.focused=V&&M===L});function O(L){Y.textContent="",Y.textContent=L}let z=(L,u,R)=>{let x=L;while(x>=0&&x<R){let h=X(x);if(!h||!h.__groupHeader)return x;x+=u}x=L-u;while(x>=0&&x<R){let h=X(x);if(!h||!h.__groupHeader)return x;x-=u}return L},v=(L)=>{let u=Q.getNavConfig(),R=u.scrollIndex?u.scrollIndex(L):L,x=q.getOffset(R),h=q.getSize(R),d=J.scrollPosition,a=J.containerSize,r=j.startPadding,S=j.endPadding,g=x+r,F=g+h,E=d;if(g<d)E=Math.max(0,x);else if(F>d+a)E=F+S-a;if(E!==d)J.scrollPosition=E,Q.scrollTo(E)},_=(L,u)=>{if($.content.setAttribute("aria-activedescendant",`${U}-item-${L}`),u)v(L);Q.forceRender()},D=(L)=>{M=L,V=!0,_(L,!0);let u=X(L);if(u)G.id=u.id,G.index=L,K.emit("focus:change",G),O(`Item ${L+1} of ${w()}`)},b=(L,u)=>{if(M=L,u)V=!0;let R=X(L);if(R&&W===R.id)W=void 0,c=-1;else W=R?.id,c=R?L:-1;if(_(L,u),W!==void 0&&R&&W===R.id)k.selected[0]=W,k.selected.length=1,k.items[0]=R,k.items.length=1,O(`Selected, item ${L+1} of ${w()}`);else k.selected.length=0,k.items.length=0,O("Deselected");K.emit("selection:change",k)},H=()=>{if(J.destroyed)return;if(!$.content.matches(":focus-visible"))return;let L=w();if(L===0)return;let u=M>=0?Math.min(M,L-1):0;u=z(u,1,L),D(u)},A=(L)=>{if(J.destroyed)return;let u=L.relatedTarget;if(u&&$.root.contains(u))return;V=!1,$.content.removeAttribute("aria-activedescendant"),Q.forceRender()};$.content.addEventListener("focusin",H),$.content.addEventListener("focusout",A),Q.registerKeydownHandler((L)=>{if(J.destroyed)return;let u=w();if(u===0)return;let R=M,x=R;if(L.key===" "||L.key==="Enter"){if(R>=0){let d=X(R);if(d&&!d.__groupHeader)b(R,!0)}L.preventDefault();return}let h=Q.getNavConfig();if(h.navigate)switch(L.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":x=h.navigate(R,L.key,u);break;default:return}else{let d=h.ud||1,a=h.lr,r=j.axis.primary==="x";switch(L.key){case"ArrowUp":if(r&&!a)return;x=R-(r?a:d);break;case"ArrowDown":if(r&&!a)return;x=R+(r?a:d);break;case"ArrowLeft":if(!r&&!a)return;x=R-(r?d:a);break;case"ArrowRight":if(!r&&!a)return;x=R+(r?d:a);break;case"PageUp":case"PageDown":{let S=q.getSize(Math.max(0,h.scrollIndex?h.scrollIndex(R):R)),F=Math.max(1,Math.floor(J.containerSize/S))*d;x=L.key==="PageUp"?R-F:R+F;break}case"Home":x=0;break;case"End":x=u-1;break;default:return}}if(x<0)x=0;else if(x>=u)x=u-1;if(L.preventDefault(),x=z(x,x>=R?1:-1,u),x!==R)D(x)}),Q.registerClickHandler((L)=>{if(J.destroyed)return;let u=L.target.closest("[data-index]");if(!u)return;let R=parseInt(u.dataset.index??"-1",10);if(R<0)return;let x=X(R);if(!x||x.__groupHeader)return;V=!1,$.content.focus({preventScroll:!0}),b(R,!1)}),Q.registerDestroyHandler(()=>{$.content.removeEventListener("focusin",H),$.content.removeEventListener("focusout",A)})}}}var o2=(Q,$,j)=>{if(String(j).startsWith(f2))return!1;let q=f2+$;if(Q.has(q))return Q.delete(q),Q.add(j),!0;return!1},U1=(Q)=>({selected:new Set(Q??[]),focusedIndex:-1,focusVisible:!1});function c2(Q,$,j,q){if(j===0)return;let J=q?-$:$,K=Q.focusedIndex+J;if(K<0)K=0;if(K>=j)K=j-1;Q.focusedIndex=K}function Z0(Q){return Array.from(Q)}var a1={preventScroll:!0};function A0(Q){let $=Q?.mode??"single",j=Q?.followFocus??!1,q=Q?.focusOnClick??!1,J,K,U,Y,M,V,W,c,X=-1,w=new Map,G=null,k=null,O=null,z=null,v,_=!1;function D(Z){if(_)return;_=!0,G=Z.getMethod("_layoutToDataIndex")??null,k=Z.getMethod("_dataToLayoutIndex")??null,O=Z.getMethod("_isGroupHeader")??null,z=Z.getMethod("_scrollItemIntoView")??null,H=Z.getMethod("_getLoadedItem")??null;let y=Z.getMethod("getGroupLayout");if(y){let s=y();v=()=>s.totalEntries}}let b=(Z)=>G?G(Z):Z,H=null,A=(Z)=>{if(H)return H(Z);return K()[Z]},L=(Z)=>{let y=b(Z);return y>=0?A(y):void 0},u=(Z,y,s)=>{if(!O)return Z;let m=Z;while(m>=0&&m<s){if(!O(m))return m;m+=y}m=Z-y;while(m>=0&&m<s){if(!O(m))return m;m-=y}return Z};function R(Z,y){if($==="single")J.selected.clear(),w.clear();if(J.selected.add(Z),y)w.set(Z,y)}function x(Z,y){if(J.selected.has(Z))J.selected.delete(Z),w.delete(Z);else R(Z,y)}function h(){J.selected.clear(),w.clear()}function d(Z){J.selected.delete(Z),w.delete(Z)}function a(Z,y){let s=Math.min(Z,y),m=Math.max(Z,y);for(let T=s;T<=m;T++){if(O?.(T))continue;let B=L(T);if(B)J.selected.add(B.id),w.set(B.id,B)}}function r(){let Z=W.totalItems;for(let y=0;y<Z;y++){if(O?.(y))continue;let s=L(y);if(s)J.selected.add(s.id),w.set(s.id,s)}}function S(){if(J.selected.size===0)return[];if(w.size>=J.selected.size){let m=[];for(let T of J.selected){let B=w.get(T);if(B)m.push(B)}if(m.length===J.selected.size)return m}let Z=[],y=new Set(J.selected),s=W.totalItems;for(let m=0;m<s&&y.size>0;m++){if(O?.(m))continue;let T=L(m);if(T&&y.has(T.id))Z.push(T),w.set(T.id,T),y.delete(T.id)}return Z}function g(){U(),Y.emit("selection:change",{selected:Z0(J.selected),items:S()})}let F=null,E=-1;return{name:"selection",priority:50,setup(Z){Z.enableListboxRole(),J=U1(Q?.initial),K=Z.getItems.bind(Z),U=Z.forceRender.bind(Z),Y=Z.emitter,M=Z.dom;let y=Z.config;if(V=Z.sizeCache,W=Z.getState(),c=Z.scrollTo.bind(Z),v=()=>W.totalItems,$==="none"){Z.registerMethod("select",()=>{}),Z.registerMethod("deselect",()=>{}),Z.registerMethod("toggleSelect",()=>{}),Z.registerMethod("selectAll",()=>{}),Z.registerMethod("clearSelection",()=>{}),Z.registerMethod("getSelected",()=>[]),Z.registerMethod("getSelectedItems",()=>[]),Z.registerMethod("selectNext",()=>{}),Z.registerMethod("selectPrevious",()=>{}),Z.registerMethod("_seedSelection",()=>{}),Z.registerMethod("_getFocusedId",()=>{return}),Z.registerMethod("_focusById",()=>{});return}let s=y.classPrefix;Z.setItemStateFn((f,l)=>{if(D(Z),J.selected.size>0){let i=b(f),P=i>=0?L(f):void 0,C=P?.id;if(C!==void 0)if(J.selected.has(C))l.selected=!0;else if(o2(J.selected,i,C))l.selected=!0,w.delete(f2+i),w.set(C,P);else l.selected=!1;else l.selected=!1}else l.selected=!1;l.focused=J.focusVisible&&J.focusedIndex===f}),Z.registerMethod("_getSelectedIds",()=>J.selected),Z.registerMethod("_getFocusedIndex",()=>J.focusVisible?J.focusedIndex:-1),M.root.classList.add(`${s}--selectable`);let m=(f)=>{F=null,E=-1;let l=f.target.closest("[data-index]");if(!l)return!1;let i=parseInt(l.dataset.index??"-1",10);if(i<0)return!1;if(O?.(i))return!1;if(b(i)<0)return!1;let C=L(i);if(!C)return!1;return F=C,E=i,!0},T=(f)=>{if(f<0)return;if(z){z(f);return}let l=Z.getNavConfig(),i=l.scrollIndex?l.scrollIndex(f):f,P=V.getOffset(i),C=V.getSize(i),e=W.containerSize,X2=W.scrollPosition;if(P<X2)c(P);else if(P+C>X2+e)c(P-e+C)},B=()=>{if(W.destroyed)return;if(D(Z),!M.content.matches(":focus-visible")&&!M.root.matches(":focus-visible"))return;let f=v();if(f===0)return;let l=J.focusedIndex>=0?Math.min(J.focusedIndex,f-1):0;l=u(l,1,f),J.focusedIndex=l,J.focusVisible=!0,M.content.setAttribute("aria-activedescendant",`${s}-item-${l}`),T(l),U()};M.root.addEventListener("focusin",B);let p=(f)=>{if(W.destroyed)return;let l=f.relatedTarget;if(l&&M.root.contains(l))return;J.focusVisible=!1,U(),M.content.removeAttribute("aria-activedescendant")};M.root.addEventListener("focusout",p),Z.registerDestroyHandler(()=>{M.root.removeEventListener("focusin",B),M.root.removeEventListener("focusout",p)}),Z.registerClickHandler((f)=>{if(D(Z),!m(f))return;if($==="multiple"&&f.shiftKey&&J.focusedIndex>=0){let i=X>=0?X:J.focusedIndex,P=b(i),C=b(E);if(P>=0&&C>=0)a(i,E);J.focusedIndex=E,J.focusVisible=q,X=E,g();return}J.focusedIndex=E,J.focusVisible=q,X=E,(M.content.getAttribute("tabindex")!==null?M.content:M.root).focus(a1),x(F.id,F),g()}),Z.registerKeydownHandler((f)=>{D(Z);let l=v();if(l===0)return;let i=Z.getNavConfig(),P=J.focusedIndex,C=!1,e=!1;if(i.navigate&&(f.key==="ArrowUp"||f.key==="ArrowDown"||f.key==="ArrowLeft"||f.key==="ArrowRight"||f.key==="PageUp"||f.key==="PageDown"||f.key==="Home"||f.key==="End")){let t=i.navigate(J.focusedIndex,f.key,l);if(t!==J.focusedIndex)J.focusedIndex=Math.max(0,Math.min(t,l-1));J.focusVisible=!0,C=!0}else switch(f.key){case"ArrowUp":{let t=i.ud||1,K2=i.lr,A2=y.axis.primary==="x";if(A2&&!K2)break;c2(J,-(A2?K2:t),l,y.reverse),J.focusVisible=!0,C=!0;break}case"ArrowDown":{let t=i.ud||1,K2=i.lr,A2=y.axis.primary==="x";if(A2&&!K2)break;c2(J,A2?K2:t,l,y.reverse),J.focusVisible=!0,C=!0;break}case"ArrowLeft":{let t=i.ud||1,K2=i.lr,A2=y.axis.primary==="x";if(!A2&&!K2)break;c2(J,-(A2?t:K2),l,y.reverse),J.focusVisible=!0,C=!0;break}case"ArrowRight":{let t=i.ud||1,K2=i.lr,A2=y.axis.primary==="x";if(!A2&&!K2)break;c2(J,A2?t:K2,l,y.reverse),J.focusVisible=!0,C=!0;break}case"Home":if(l>0)J.focusedIndex=0;J.focusVisible=!0,C=!0;break;case"End":if(l>0)J.focusedIndex=l-1;J.focusVisible=!0,C=!0;break;case"PageUp":case"PageDown":{let t=i.ud||1,K2=Math.max(0,J.focusedIndex),A2=i.scrollIndex?i.scrollIndex(K2):K2,o=V.getSize(A2),H2=W.containerSize,$2=(o>0?Math.max(1,Math.floor(H2/o)):10)*t;if(G&&k){let J2=G(J.focusedIndex),q2=f.key==="PageUp"?-$2:$2,_2=W.totalItems-1;J.focusedIndex=k(Math.max(0,Math.min(_2,J2+q2)))}else c2(J,f.key==="PageUp"?-$2:$2,l);J.focusVisible=!0,C=!0;break}case" ":case"Enter":if(f.key===" "&&f.shiftKey&&$==="multiple"&&J.focusedIndex>=0){if(X>=0){let t=b(X),K2=b(J.focusedIndex);if(t>=0&&K2>=0)a(X,J.focusedIndex)}J.focusVisible=!0,e=!0,C=!0;break}if(J.focusedIndex>=0){let t=L(J.focusedIndex);if(t)x(t.id,t),X=J.focusedIndex;J.focusVisible=!0,e=!0,C=!0}break;case"a":if((f.ctrlKey||f.metaKey)&&$==="multiple"){if(J.selected.size===W.totalItems)h();else r();J.focusVisible=!0,e=!0,C=!0}break;case"Delete":case"Backspace":if(J.selected.size>0)Y.emit("delete",{selected:Z0(J.selected),items:S()}),C=!0;break}if(J.focusedIndex!==P&&O){let t=J.focusedIndex>P?1:-1;J.focusedIndex=u(J.focusedIndex,t,l)}let X2=J.focusedIndex!==P;if(f.shiftKey&&$==="multiple"&&!e&&X2){if(f.key==="ArrowUp"||f.key==="ArrowDown"||f.key==="ArrowLeft"||f.key==="ArrowRight"){let A2=L(J.focusedIndex);if(A2)x(A2.id,A2);X=J.focusedIndex,e=!0}if((f.ctrlKey||f.metaKey)&&(f.key==="Home"||f.key==="End")){let A2=P>=0?P:J.focusedIndex,o=b(A2),H2=b(J.focusedIndex);if(o>=0&&H2>=0)a(A2,J.focusedIndex);X=J.focusedIndex,e=!0}}if(j&&$==="single"&&!e&&X2&&J.focusedIndex>=0){let t=L(J.focusedIndex);if(t)R(t.id,t);e=!0}if(C){if(f.preventDefault(),X2&&J.focusedIndex>=0)T(J.focusedIndex),M.content.setAttribute("aria-activedescendant",`${s}-item-${J.focusedIndex}`);if(e)g();else if(X2){if(U(),J.focusedIndex>=0){let t=L(J.focusedIndex);if(t)Y.emit("focus:change",{id:t.id,index:J.focusedIndex})}}}}),Z.registerMethod("select",(...f)=>{for(let l of f)R(l);g()}),Z.registerMethod("deselect",(...f)=>{for(let l of f)d(l);g()}),Z.registerMethod("toggleSelect",(f)=>{x(f),g()}),Z.registerMethod("selectAll",()=>{if($!=="multiple")return;r(),g()}),Z.registerMethod("clearSelection",()=>{h(),g()}),Z.registerMethod("getSelected",()=>{return Z0(J.selected)}),Z.registerMethod("getSelectedItems",()=>{return S()}),Z.registerMethod("selectNext",()=>{D(Z);let f=v();if(f===0)return;if(c2(J,1,f,y.reverse),O)J.focusedIndex=u(J.focusedIndex,1,f);let l=L(J.focusedIndex);if(l)R(l.id,l);g()}),Z.registerMethod("selectPrevious",()=>{D(Z);let f=v();if(f===0)return;if(c2(J,-1,f,y.reverse),O)J.focusedIndex=u(J.focusedIndex,-1,f);let l=L(J.focusedIndex);if(l)R(l.id,l);g()}),Z.registerMethod("_seedSelection",(f)=>{for(let l of f)J.selected.add(l)}),Z.registerMethod("_isFollowFocus",()=>j),Z.registerMethod("_getFocusedId",()=>{if(J.focusedIndex<0)return;return L(J.focusedIndex)?.id}),Z.registerMethod("_focusById",(f)=>{let l=W.totalItems;for(let i=0;i<l;i++){if(O?.(i))continue;let P=L(i);if(P&&P.id===f){J.focusedIndex=i,Y.emit("focus:change",{id:f,index:i});return}}})},destroy(){w.clear()}}}var Y0=(Q)=>Q==null?0:typeof Q==="function"?Q():Q;function H0(Q){let $=Q?.scrollPadding,j,q;return{name:"page",priority:5,setup(J){let{dom:K,sizeCache:U,config:Y,emitter:M}=J,V=Y.axis.primary==="x",W=window,c=J.getState();if(J.disableDefaultScroll(),J.disableDefaultResize(),K.root.style.overflow="visible",K.root.style.height="auto",V)K.viewport.style.overflowX="visible",K.viewport.style.overflowY="visible";else K.viewport.style.overflow="visible";K.viewport.classList.remove(`${Y.classPrefix}-viewport--custom-scrollbar`),J.setScrollFns(()=>{let z=K.viewport.getBoundingClientRect();return Math.max(0,V?-z.left:-z.top)},(z)=>{let v=K.viewport.getBoundingClientRect(),_=(V?v.left+W.scrollX:v.top+W.scrollY)+z;if(V)W.scrollTo({left:_,top:W.scrollY,behavior:"instant"});else W.scrollTo({left:W.scrollX,top:_,behavior:"instant"})}),c.containerSize=V?W.innerWidth:W.innerHeight,c.crossSize=V?W.innerHeight:W.innerWidth;let X=null,w=()=>{let z=K.viewport.getBoundingClientRect(),v=Math.max(0,V?-z.left:-z.top);if(c.prevScrollPosition=c.scrollPosition,c.scrollPosition=v,c.scrollDirection=v>c.prevScrollPosition?1:v<c.prevScrollPosition?-1:0,J.onScrollFrame(),X!==null)clearTimeout(X);X=setTimeout(()=>{X=null,J.onScrollIdle()},150)};W.addEventListener("scroll",w,{passive:!0}),q=()=>W.removeEventListener("scroll",w);let{innerWidth:G,innerHeight:k}=W,O=()=>{let{innerWidth:z,innerHeight:v}=W;if((V?Math.abs(z-G):Math.abs(v-k))<1)return;G=z,k=v,c.containerSize=V?z:v,c.crossSize=V?v:z,J.forceRender(),M.emit("resize",{width:z,height:v})};if(W.addEventListener("resize",O),j=()=>W.removeEventListener("resize",O),$)J.setScrollToPosFn((z,v,_,D,b)=>{let H=Y0(V?$.left:$.top),A=Y0(V?$.right:$.bottom);if(D===0)return 0;let L=Math.max(0,Math.min(z,D-1)),u=v.getOffset(L),R=v.getSize(L),x=v.getTotalSize(),h=Math.max(0,x-_+A),d;switch(b){case"center":d=u-H-(_-H-A-R)/2;break;case"end":d=u-_+R+A;break;default:d=u-H}return Math.max(-H,Math.min(d,h))}),J.registerMethod("_scrollItemIntoView",(z)=>{let v=V?W.innerWidth:W.innerHeight,_=Y0(V?$.left:$.top),D=Y0(V?$.right:$.bottom),b=K.viewport.getBoundingClientRect(),H=V?W.scrollX:W.scrollY,A=V?b.left:b.top,L=A+H,u=U.getOffset(z),R=U.getSize(z),x=A+u,h=v-D,d=H;if(x<_)d=L+u-_;else if(x+R>h)d=L+u+R-h;if(d!==H)if(V)W.scrollTo({left:d,top:W.scrollY,behavior:"instant"});else W.scrollTo({left:W.scrollX,top:d,behavior:"instant"})});J.registerDestroyHandler(()=>{if(q?.(),j?.(),X!==null)clearTimeout(X)})},destroy(){q?.(),j?.(),q=void 0,j=void 0}}}var o1=(Q)=>{try{let $=sessionStorage.getItem(Q);if(!$)return;return JSON.parse($)}catch{return}};function i2(Q){let $=Q?.autoSave,j=$?o1($):Q?.restore,q=!1,J=null;return{name:"snapshots",priority:50,setup(K){let{sizeCache:U,emitter:Y}=K,M=K.getState(),V=()=>{let{scrollPosition:X,totalItems:w}=M,k=K.getMethod("getSelected")?.();if(w===0){let A={index:0,offsetInItem:0,total:0};if(k?.length)A.selectedIds=k;return A}let O,z;if(M.isCompressed&&M.compressionRatio!==1){let A=M.totalSize,u=X/A*w;O=Math.max(0,Math.min(Math.floor(u),w-1)),z=(u-O)*U.getSize(O)}else O=U.indexAtOffset(X),z=X-U.getOffset(O);z=Math.max(0,z);let v={index:O,offsetInItem:z,total:w,scrollTop:X},_=U.getSize(O);if(_)v.offsetRatio=z/_;let D=K.getMethod("_layoutToDataIndex");if(D){let A=D(O);if(A<0){for(let L=O+1;L<w;L++)if(A=D(L),A>=0)break}if(A>=0)v.dataIndex=A}let b=K.getMethod("_getTotal");if(b)v.dataTotal=b();if(k?.length)v.selectedIds=k;let H=K.getMethod("_getFocusedId");if(H){let A=H();if(A!==void 0)v.focusedId=A}return v};K.registerMethod("getScrollSnapshot",V);let W=(X,w=!0)=>{let{index:G,offsetInItem:k,selectedIds:O,focusedId:z}=X,v=M.totalItems,_=X.dataTotal??X.total;if(v===0&&_&&_>0){let S=K.getMethod("_setTotal");if(S)S(_),v=M.totalItems;U.rebuild(v);let g=K.getMethod("_updateCompressionMode");if(g)g();if(!M.isCompressed)K.updateContentSize(U.getTotalSize()),M.totalSize=U.getTotalSize()}if(v===0)return;if(!Number.isFinite(G)||!Number.isFinite(k))return;if(U.getTotal()===0){U.rebuild(v);let S=K.getMethod("_updateCompressionMode");if(S)S();if(!M.isCompressed)K.updateContentSize(U.getTotalSize()),M.totalSize=U.getTotalSize()}let b=K.getMethod("_dataToLayoutIndex"),H=G;if(X.dataIndex!==void 0&&X.dataIndex>=0)H=b?b(X.dataIndex):X.dataIndex;else if(b)H=b(G);let A=Math.max(0,Math.min(H,v-1)),L=U.getSize(A),u=X.offsetRatio!==void 0?X.offsetRatio*L:Math.min(k,L),R=K.getMethod("_getTotal")?.(),x=X.total===v||R!==void 0&&X.dataTotal===R,h;if(M.isCompressed&&M.compressionRatio!==1)if(X.scrollTop!==void 0&&x)h=X.scrollTop;else{let S=L?u/L:0;h=(A+S)/v*M.totalSize}else if(X.scrollTop!==void 0&&x)h=X.scrollTop;else h=U.getOffset(A)+u;let d=Math.max(0,M.totalSize-M.containerSize);if(h=Math.max(0,Math.min(h,d)),K.scrollTo(h),w&&O?.length){let S=K.getMethod("select");if(S)S(...O)}let a=K.getMethod("loadVisibleRange"),r=()=>{if(z===void 0)return;let S=K.getMethod("_focusById");if(S)S(z)};if(a){let S=0,g=()=>{if(M.containerSize>0){if(Math.abs(M.scrollPosition-h)>1)K.scrollTo(h);a().then(r)}else if(++S<10)requestAnimationFrame(g)};requestAnimationFrame(g)}else{let S=K.getMethod("reload");if(S)requestAnimationFrame(()=>{S().then(r)});else requestAnimationFrame(r)}};K.registerMethod("restoreScroll",W);let c=!!(j&&$);if(K.registerDestroyHandler(()=>{q=!0}),$){J=()=>{if(q||c)return;let v=V();try{sessionStorage.setItem($,JSON.stringify(v))}catch{}},K.registerMethod("_saveSnapshot",J);let X=0,w=()=>{if(X)return;X=requestAnimationFrame(()=>{if(X=0,J)J()})};Y.on("selection:change",w),Y.on("focus:change",w);let G=0,k=()=>{if(G=0,J)J()},O=()=>{if(G)clearTimeout(G);G=setTimeout(k,300)};Y.on("scroll",O);let z=()=>{J?.()};if(window.addEventListener("beforeunload",z),K.registerDestroyHandler(()=>{if(X)cancelAnimationFrame(X);if(G)clearTimeout(G);window.removeEventListener("beforeunload",z)}),j&&j.total&&j.total>0){let v=K.getMethod("_cancelAutoLoad");if(v)v();let _=K.getMethod("_setTotal");if(_)_(j.total)}}if(j){let X=!0;if(j.selectedIds?.length){let w=K.getMethod("_seedSelection");if(w)w(j.selectedIds),X=!1}queueMicrotask(()=>{if(W(j,X),c=!1,J)J()})}},hooks:{onIdle(){if(J&&!q)J()}},destroy(){q=!0,J=null}}}function B1(Q,$){if($===!1)return null;return{duration:Math.min($?.duration??Q.duration,1000),easing:$?.easing??Q.easing}}function O0(Q){let $=Q?.duration??200,j=Q?.easing??"cubic-bezier(0.2, 0, 0, 1)",q={duration:$,easing:j},J=B1(q,Q?.remove),K=B1(q,Q?.insert),U=null,Y=null;return{name:"transition",conflicts:["grid","table","masonry"],priority:45,setup(M){let{sizeCache:V,emitter:W}=M,c=M.config,X=M.dom,w=M.getState(),G=c.reverse?"bottom center":"top center",k=c.axis.primary==="x"?"translateX":"translateY",O=M.getMethod("_dataToLayoutIndex")??null,z=(D)=>O?O(D):D,v=(D)=>{let b=String(D).replace(/"/g,"\\\""),H=X.content.querySelector(`[data-id="${b}"]`),A=H?parseInt(H.dataset.index??"-1",10):-1;return{el:H,layoutIndex:A}},_=()=>{let D=X.content.children;for(let b=0;b<D.length;b++)D[b].style.transition="none";X.content.offsetHeight;for(let b=0;b<D.length;b++)D[b].style.transition=""};if(J){let D=(H)=>{if(U)U();let A=typeof document<"u"?document.activeElement:null,L=A&&X.content.contains(A)?parseInt(A.dataset?.index??"-1",10):-1,u=v(H),R=u.layoutIndex,x=u.el,h=R>=0?V.getSize(R):0,d=R>=0?V.getOffset(R):0;if(!x||R<0){if(M.removeItemById(H)<0)return!1;if(M.forceRender(),_(),W.emit("data:change",{type:"remove",id:H}),L>=0){let l=w.totalItems;if(l>0)M.getRenderedElement(Math.min(L,l-1))?.focus()}return W.emit("remove:end",{id:H}),!0}let a=x.cloneNode(!0);a.style.pointerEvents="none",a.style.overflow="hidden",a.removeAttribute("data-index"),a.removeAttribute("data-id"),a.removeAttribute("id"),a.removeAttribute("aria-selected"),a.classList.remove(`${c.classPrefix}-item--selected`);let r=c.axis.primary==="x"?"scrollLeft":"scrollTop",S=X.viewport[r];if(M.removeItemById(H)<0)return!1;M.forceRender(),_(),W.emit("data:change",{type:"remove",id:H});let F=S-X.viewport[r];a.style.zIndex="1",X.content.appendChild(a);let E=J,Z={duration:E.duration,easing:E.easing},y=[],s=Math.round(d-F);y.push(a.animate([{transform:`${k}(${s}px) scaleY(1)`,opacity:1,transformOrigin:G},{transform:`${k}(${Math.round(d)}px) scaleY(0)`,opacity:0,transformOrigin:G}],Z));let m=F>0,T=X.content.children;for(let f=0;f<T.length;f++){let l=T[f];if(l===a)continue;let i=parseInt(l.dataset?.index??"-1",10);if(i<0||!m&&i<R)continue;let P=V.getOffset(i),C=i>=R?Math.round(P+h-F):Math.round(P-F),e=Math.round(P);if(C===e)continue;y.push(l.animate([{transform:`${k}(${C}px)`},{transform:`${k}(${e}px)`}],Z))}let B=!1,p=()=>{if(B)return;B=!0,U=null,a.remove();for(let f of y)if(f.playState!=="finished")f.cancel();if(L>=0){let f=w.totalItems;if(f>0)M.getRenderedElement(Math.min(L,f-1))?.focus()}W.emit("remove:end",{id:H})};return U=p,Promise.all(y.map((f)=>f.finished)).then(p,p),setTimeout(p,E.duration+50),!0},b=(H)=>{if(H.length===0)return 0;if(H.length===1)return D(H[0])?1:0;if(U)U();if(Y)Y();let A=typeof document<"u"?document.activeElement:null,L=A&&X.content.contains(A)?parseInt(A.dataset?.index??"-1",10):-1,u=[];for(let B of H){let p=v(B);u.push({id:B,layoutIndex:p.layoutIndex,el:p.el,size:p.layoutIndex>=0?V.getSize(p.layoutIndex):0,offset:p.layoutIndex>=0?V.getOffset(p.layoutIndex):0})}u.sort((B,p)=>p.layoutIndex-B.layoutIndex);let R=[];for(let B of u){if(!B.el||B.layoutIndex<0)continue;let p=B.el.cloneNode(!0);p.style.pointerEvents="none",p.style.overflow="hidden",p.removeAttribute("data-index"),p.removeAttribute("data-id"),p.removeAttribute("id"),p.removeAttribute("aria-selected"),p.classList.remove(`${c.classPrefix}-item--selected`),R.push({clone:p,offset:B.offset,size:B.size,layoutIndex:B.layoutIndex})}let x=new Map,h=X.content.children;for(let B=0;B<h.length;B++){let p=h[B],f=p.dataset?.id,l=parseInt(p.dataset?.index??"-1",10);if(f&&l>=0)x.set(f,V.getOffset(l))}let d=c.axis.primary==="x"?"scrollLeft":"scrollTop",a=X.viewport[d],r=[];for(let B of u)if(M.removeItemById(B.id)>=0)r.push(B.id);if(r.length===0)return 0;M.forceRender(),_();for(let B of r)W.emit("data:change",{type:"remove",id:B});if(R.length===0){if(L>=0){let B=w.totalItems;if(B>0)M.getRenderedElement(Math.min(L,B-1))?.focus()}for(let B of r)W.emit("remove:end",{id:B});return r.length}let S=a-X.viewport[d],g=J,F={duration:g.duration,easing:g.easing},E=[];R.sort((B,p)=>B.layoutIndex-p.layoutIndex);let Z=0;for(let B of R){B.clone.style.zIndex="1",X.content.appendChild(B.clone);let p=Math.round(B.offset-S),f=Math.round(B.offset-Z);E.push(B.clone.animate([{transform:`${k}(${p}px) scaleY(1)`,opacity:1,transformOrigin:G},{transform:`${k}(${f}px) scaleY(0)`,opacity:0,transformOrigin:G}],F)),Z+=B.size}let y=new Set(R.map((B)=>B.clone)),s=X.content.children;for(let B=0;B<s.length;B++){let p=s[B];if(y.has(p))continue;let f=p.dataset?.id,l=parseInt(p.dataset?.index??"-1",10);if(!f||l<0)continue;let i=x.get(f);if(i===void 0)continue;let P=V.getOffset(l),C=Math.round(i-S),e=Math.round(P);if(C===e)continue;E.push(p.animate([{transform:`${k}(${C}px)`},{transform:`${k}(${e}px)`}],F))}let m=!1,T=()=>{if(m)return;m=!0,U=null;for(let{clone:B}of R)B.remove();for(let B of E)if(B.playState!=="finished")B.cancel();if(L>=0){let B=w.totalItems;if(B>0)M.getRenderedElement(Math.min(L,B-1))?.focus()}for(let B of r)W.emit("remove:end",{id:B})};return U=T,Promise.all(E.map((B)=>B.finished)).then(T,T),setTimeout(T,g.duration+50),r.length};M.registerMethod("removeItem",D),M.registerMethod("removeItems",b)}if(K){let D=(b,H)=>{if(Y)Y();if(U)U();let A=H??0,L=new Map,u=X.content.children;for(let B=0;B<u.length;B++){let p=u[B],f=p.dataset?.id,l=parseInt(p.dataset?.index??"-1",10);if(f&&l>=0)L.set(f,V.getOffset(l))}let R=c.axis.primary==="x"?"scrollLeft":"scrollTop",x=c.axis.primary==="x"?"scrollWidth":"scrollHeight",h=c.axis.primary==="x"?"clientWidth":"clientHeight",d=X.viewport[R],a=X.viewport[x]-X.viewport[h],r=d>=a-1;M.insertItemAt(b,A),M.forceRender(),_(),W.emit("data:change",{type:"insert",id:b.id});let S=X.viewport[R]-d,g=z(A);if(c.reverse&&S===0&&r){X.viewport[R]=X.viewport[x]-X.viewport[h];let B=X.viewport[R];if(w.prevScrollPosition=w.scrollPosition,w.scrollPosition=B,S=B-d,S>0)M.forceRender(),_()}let F=M.getRenderedElement(g),E=K,Z={duration:E.duration,easing:E.easing},y=[];if(F){let B=V.getOffset(g);y.push(F.animate([{transform:`${k}(${Math.round(B)}px) scaleY(0)`,opacity:0,transformOrigin:G},{transform:`${k}(${Math.round(B)}px) scaleY(1)`,opacity:1,transformOrigin:G}],Z))}let s=X.content.children;for(let B=0;B<s.length;B++){let p=s[B];if(p===F)continue;let f=p.dataset?.id,l=parseInt(p.dataset?.index??"-1",10);if(!f||l<0)continue;let i=L.get(f);if(i===void 0)continue;let P=V.getOffset(l),C=Math.round(i+S),e=Math.round(P);if(C===e)continue;y.push(p.animate([{transform:`${k}(${C}px)`},{transform:`${k}(${e}px)`}],Z))}if(y.length===0)return;let m=!1,T=()=>{if(m)return;m=!0,Y=null;for(let B of y)if(B.playState!=="finished")B.cancel()};Y=T,Promise.all(y.map((B)=>B.finished)).then(T,T),setTimeout(T,E.duration+50)};M.registerMethod("insertItem",D)}},destroy(){if(U)U();if(Y)Y()}}}function L0(Q){let $=Q?.gap??0,j=null,q=null,J,K,U,Y,M=new Map,V=new WeakMap,W=0,c=!1,X=!1,w=!1,G=2;function k(_){return M.get(_)??Y}function O(){let _=q.dom.viewport,D=_.scrollHeight-_.clientHeight;return D>0&&J.scrollPosition>=D-G}function z(){let _=q.dom.viewport;_.scrollHeight;let D=_.scrollHeight-_.clientHeight;if(D>J.scrollPosition)q.scrollTo(D)}function v(){q.updateContentSize(q.sizeCache.getTotalSize())}return{name:"autosize",priority:5,setup(_){if(q=_,J=_.getState(),K=_.config.axis.primary==="x",U=K?"width":"height",$===0)$=_.config.gap;if(Y=typeof _.rawSizeSpec==="function"?_.rawSizeSpec(0)+$:_.rawSizeSpec+$,_.setSizeConfig(k),$>0){let H=_.sizeCache.getTotalSize;_.sizeCache.getTotalSize=()=>{let A=H();return A>0?A-$:0}}j=new ResizeObserver((H)=>{if(J.destroyed||!q)return;let A=!1,L=_.sizeCache.indexAtOffset(J.scrollPosition);for(let d of H){let a=d.target,r=V.get(a);if(r===void 0)continue;if(a.getAttribute("data-index")!==String(r)){j.unobserve(a);continue}if(M.has(r))continue;let S=d.borderBoxSize[0];if(!S)continue;let g=K?S.inlineSize:S.blockSize;if(g<=0)continue;let F=g+$,E=Y;if(M.set(r,F),A=!0,r<L&&F!==E)W+=F-E;j.unobserve(a),a.style[U]=`${g}px`}if(!A)return;let u=O();if(_.rebuildSizeCache(),W)_.scrollTo(J.scrollPosition+W),W=0;let R=J.scrollDirection!==0,x=J.totalItems>0&&J.prevRangeEnd>=J.totalItems-1,h=X&&!w;if(h||u||x||!R){if(v(),c=!1,h||u)z()}else c=!0;_.forceRender()}),_.setScrollToIndexFn((H,A,L,u,R)=>{let x=H>=J.totalItems-1&&A==="end";if(X=x,w=!1,!x)return!1;let h=_.config.mainAxisPadding,d=()=>{let a=_.sizeCache.getTotalSize();return Math.max(0,a+h-J.containerSize)};if(L==="smooth")w=!0,_.smoothScrollTo(d,u??300,R,()=>{w=!1});else _.scrollTo(d())});let D=()=>{X=!1},b=_.dom.viewport;b.addEventListener("wheel",D,{passive:!0}),b.addEventListener("touchstart",D,{passive:!0}),_.registerDestroyHandler(()=>{b.removeEventListener("wheel",D),b.removeEventListener("touchstart",D)}),_.registerMethod("isMeasured",(H)=>M.has(H)),_.registerMethod("setMeasuredSize",(H,A)=>{M.set(H,A)}),_.registerMethod("getMeasuredCount",()=>M.size),_.registerDestroyHandler(()=>{if(j)j.disconnect(),j=null})},hooks:{onCommit(_){if(!j||!q)return;for(let D=0;D<_.visibleCount;D++){let b=_.visibleIndices[D];if(M.has(b))continue;let H=q.getRenderedElement(b);if(!H)continue;H.style[U]="",V.set(H,b),j.observe(H)}},onIdle(){if(!q||!c)return;let _=O();if(v(),c=!1,_)z(),q.forceRender()}},destroy(){if(j)j.disconnect(),j=null;M.clear(),X=!1,w=!1,q=null}}}var W1=(Q)=>{let $=Math.max(1,Math.floor(Q.columns)),j=Q.gap??0,q=Q.containerSize,J=Q.crossOffset??0,K=Q.mainOffset??0,U=0,Y=[],M=()=>{let z=($-1)*j;U=Math.max(0,(q-z)/$),Y=Array($);let v=U+j;for(let _=0;_<$;_++)Y[_]=J+_*v};M();let V=[],W=0,c=[],X=(z,v)=>{if(z<=0)return W=0,V=[],[];let _=Array($).fill(K),D=Array($);for(let A=0;A<$;A++)D[A]=[];let b=Array(z);for(let A=0;A<z;A++){let L=0,u=_[0];for(let h=1;h<$;h++){let d=_[h];if(d<u)u=d,L=h}let R=v(A),x=_[L];b[A]={index:A,x:Y[L],y:x,lane:L,size:R,crossSize:U},D[L].push(A),_[L]=x+R+j}V=D;let H=0;for(let A=0;A<$;A++){let L=_[A],u=L>0?L-j:0;if(u>H)H=u}return W=H,b},w=(z)=>{if(z.length===0)return W;if(W)return W;let v=Array($).fill(0);for(let D of z){let b=D.y+D.size,H=v[D.lane];if(b>H)v[D.lane]=b}let _=0;for(let D=0;D<$;D++)if(v[D]>_)_=v[D];return _},G=(z,v,_)=>{if(z.length===0||_<=v)return c.length=0,c;if(V.length===0||V.length!==$)return k(z,v,_);c.length=0;for(let D=0;D<$;D++){let b=V[D],H=b.length;if(!H)continue;let A=0,L=H;while(A<L){let u=A+L>>>1,R=z[b[u]];if(R.y+R.size<=v)A=u+1;else L=u}for(let u=A;u<H;u++){let R=z[b[u]];if(R.y>=_)break;c.push(R)}}return c},k=(z,v,_)=>{c.length=0;for(let D of z)if(D.y+D.size>v&&D.y<_)c.push(D);return c};return{get columns(){return $},get gap(){return j},get containerSize(){return q},update:(z)=>{let v=!1;if(z.columns!==void 0){let _=Math.max(1,Math.floor(z.columns));if(_!==$)$=_,v=!0}if(z.gap!==void 0&&z.gap!==j)j=z.gap,v=!0;if(z.containerSize!==void 0&&z.containerSize!==q)q=z.containerSize,v=!0;if(z.crossOffset!==void 0&&z.crossOffset!==J)J=z.crossOffset,v=!0;if(z.mainOffset!==void 0&&z.mainOffset!==K)K=z.mainOffset,v=!0;if(v)M()},calculateLayout:X,getTotalSize:w,getVisibleItems:G}};var V1=(Q,$,j)=>{let q=Array.from($).sort((U,Y)=>U-Y);if(q.length<=1)return;let J=[];for(let U=0;U<q.length;U++){let Y=j(q[U]);if(Y)J.push(Y)}if(J.length<=1)return;let K=Q.firstChild;for(let U=0;U<J.length;U++){let Y=J[U];if(Y===K)K=K.nextSibling;else Q.insertBefore(Y,K)}};var i1=(Q=200)=>{let $=[];return{acquire:()=>{let K=$.pop();if(K)return K;let U=document.createElement("div");return U.setAttribute("role","option"),U},release:(K)=>{if(K.remove(),$.length<Q)K.className="",K.textContent="",K.removeAttribute("style"),K.removeAttribute("data-index"),K.removeAttribute("data-id"),K.removeAttribute("data-lane"),$.push(K)},clear:()=>{$.length=0}}},n1=1,_1=(Q,$,j,q=!1,J,K,U,Y)=>{let M=i1(),V=new Map,W=new Set,c=0,X="",w=-1,G={selected:!1,focused:!1},k=(a,r)=>{return G.selected=a,G.focused=r,G},O=`${j}-item ${j}-masonry-item`,z=`${j}-group-header`,v=`${j}-item--selected`,_=`${j}-item--focused`,D=(a,r)=>{if(typeof r==="string")a.innerHTML=r;else a.replaceChildren(r);p2(a)},b=(a,r,S)=>{a.classList.toggle(v,r),a.classList.toggle(_,S)},H=(a,r)=>{if(q)a.style.transform=`translate(${Math.round(r.y)}px, ${Math.round(r.x)}px)`;else a.style.transform=`translate(${Math.round(r.x)}px, ${Math.round(r.y)}px)`},A=(a,r)=>{if(q)a.style.width=`${r.size}px`,a.style.height=`${r.crossSize}px`;else a.style.width=`${r.crossSize}px`,a.style.height=`${r.size}px`},L=(a,r,S,g,F)=>{let E=M.acquire(),Z=r.__groupHeader,y=k(g,F);if(E.className=Z?z:O,E.dataset.index=String(a),E.dataset.id=String(r.id),E.dataset.lane=String(S.lane),Z)E.setAttribute("role","presentation"),E.removeAttribute("aria-selected"),E.removeAttribute("aria-setsize"),E.removeAttribute("aria-posinset"),E.removeAttribute("id");else if(Y===!0){if(E.setAttribute("role","option"),E.ariaSelected=String(g),K)E.id=`${K}-item-${a}`;if(J){let m=J();if(m!==w)w=m,X=String(m);E.setAttribute("aria-setsize",X);let T=U?U(a):a+1;E.setAttribute("aria-posinset",String(T))}}else if(E.setAttribute("role","listitem"),E.removeAttribute("aria-selected"),J){let m=J();if(m!==w)w=m,X=String(m);E.setAttribute("aria-setsize",X);let T=U?U(a):a+1;E.setAttribute("aria-posinset",String(T))}A(E,S);let s=$(r,a,y);return D(E,s),b(E,g,F),H(E,S),{element:E,lastItem:r,lastSelected:g,lastFocused:F,lastY:S.y,lastX:S.x,lastSize:S.size,lastCrossSize:S.crossSize,lastSeenFrame:c}},u=(a,r,S,g)=>{c++,W.clear();for(let E=0;E<r.length;E++)W.add(r[E].index);let F=null;for(let E=0;E<r.length;E++){let Z=r[E],y=Z.index,s=a(y);if(!s)continue;let m=S.has(s.id),T=y===g,B=V.get(y);if(B){let p=B.lastItem!==s,f=B.lastSelected!==m,l=B.lastFocused!==T,i=B.lastY!==Z.y||B.lastX!==Z.x,P=B.lastSize!==Z.size||B.lastCrossSize!==Z.crossSize;if(p){let C=k(m,T),e=$(s,y,C);if(D(B.element,e),B.element.dataset.id=String(s.id),B.lastItem=s,!s.__groupHeader){let t=U?U(y):y+1;B.element.setAttribute("aria-posinset",String(t))}}if(p||f||l)b(B.element,m,T),B.element.ariaSelected=String(m),B.lastSelected=m,B.lastFocused=T;if(P)A(B.element,Z),B.lastSize=Z.size,B.lastCrossSize=Z.crossSize;if(i)H(B.element,Z),B.lastY=Z.y,B.lastX=Z.x}else{let p=L(y,s,Z,m,T);if(!F)F=document.createDocumentFragment();F.appendChild(p.element),V.set(y,p)}}if(F)Q.appendChild(F);for(let[E,Z]of V)if(W.has(E))Z.lastSeenFrame=c;else if(c-Z.lastSeenFrame>n1)M.release(Z.element),V.delete(E)},R=()=>{for(let a of V.values())M.release(a.element);V.clear(),Q.innerHTML=""};return{render:u,getElement:(a)=>V.get(a)?.element,updateItemClasses:(a,r,S)=>{let g=V.get(a);if(!g)return;let F=g.lastSelected!==r,E=g.lastFocused!==S;if(F||E)b(g.element,r,S),g.lastSelected=r,g.lastFocused=S},sortDOM:()=>{V1(Q,V.keys(),(a)=>V.get(a)?.element)},clear:R,destroy:()=>{R(),M.clear()}}};var t1=100,e1=new Set;function F0(Q){if(!Q.columns||Q.columns<1)throw Error("[vlist] masonry: columns must be >= 1");let $,j=null,q,J=null,K,U,Y,M=[],V=-1,W=-1,c=!0,X=-1,w=0,G=0,k=0,O=0,z={columnWidth:0,columns:0,gap:0,containerWidth:0},v=[],_=(Z)=>v[Z],D=null,b=null,H=!1;function A(){if(H||!J)return;H=!0,D=J.getMethod("_getSelectedIds")??null,b=J.getMethod("_getFocusedIndex")??null}let L=[],u=new Int32Array(0),R=[];function x(){let Z=$.columns,y=M.length;L=Array(Z);for(let s=0;s<Z;s++)L[s]=[];if(u.length<y)u=new Int32Array(y);for(let s=0;s<y;s++){let m=M[s],T=L[m.lane].length;L[m.lane].push(s),u[s]=T}R=Array(Z);for(let s=0;s<Z;s++){let m=L[s],T=new Float64Array(m.length);for(let B=0;B<m.length;B++){let p=M[m[B]];T[B]=p.y+p.size*0.5}R[s]=T}}function h(Z,y){let s=Z.length;if(!s)return-1;let m=0,T=s-1;while(m<T){let B=m+T>>1;if(Z[B]<y)m=B+1;else T=B}if(m>0&&Math.abs(Z[m-1]-y)<=Math.abs(Z[m]-y))return m-1;return m}function d(Z,y,s){let m=M[Z];if(!m)return Z;let T=m.lane,B=$.columns,p=u[Z],f=L[T];switch(K?y==="ArrowDown"?"ArrowRight":y==="ArrowUp"?"ArrowLeft":y==="ArrowRight"?"ArrowDown":y==="ArrowLeft"?"ArrowUp":y:y){case"ArrowDown":if(p+1<f.length)return f[p+1];return Z;case"ArrowUp":if(p>0)return f[p-1];return Z;case"ArrowRight":{if(T>=B-1)return Z;let i=T+1,P=m.y+m.size*0.5,C=L[i];if(!C.length)return Z;let e=h(R[i],P);return e>=0?C[e]:Z}case"ArrowLeft":{if(T<=0)return Z;let i=T-1,P=m.y+m.size*0.5,C=L[i];if(!C.length)return Z;let e=h(R[i],P);return e>=0?C[e]:Z}case"Home":return 0;case"End":{let i=L[B-1];return i.length>0?i[i.length-1]:s-1}case"PageDown":{let i=q.containerSize,P=m.size>0?m.size:150,C=Math.max(1,Math.floor(i/P)),e=Math.min(p+C,f.length-1);return f[e]}case"PageUp":{let i=q.containerSize,P=m.size>0?m.size:150,C=Math.max(1,Math.floor(i/P)),e=Math.max(0,p-C);return f[e]}}return Z}let a=null;function r(){if(Q.size)return(Z)=>Q.size(Z,z);if(a!==null&&typeof a==="function")return(Z)=>a(Z,z);return(Z)=>J.sizeCache.getSize(Z)}function S(){let{columns:Z,gap:y}=$;z.containerWidth=$.containerSize,z.columns=Z,z.gap=y,z.columnWidth=Math.max(0,($.containerSize-(Z-1)*y)/Z)}function g(){if(!J)return;S();let Z=q.totalItems;M=$.calculateLayout(Z,r()),X=Z,x();let y=$.getTotalSize(M)+O;J.updateContentSize(y)}function F(){if(q.destroyed||!J||!j)return;if(q.totalItems!==X)g();A();let{scrollPosition:Z,containerSize:y}=q;if(!c&&Z===V&&y===W)return;if(V=Z,W=y,c=!1,y<=0||M.length===0)return;let s=Math.max(0,Z-Y),m=Z+y+Y,T=$.getVisibleItems(M,s,m),B=D?.()??e1,p=b?.()??-1;v=J.getItems(),j.render(_,T,B,p);let f=T.length,l=f>0?T[0].index:0,i=f>0?T[f-1].index:0;q.prevRangeStart=l,q.prevRangeEnd=i,q.renderPending=!1;let P=Math.min(f,q.capacity);q.visibleCount=P,q.startIndex=l;for(let C=0;C<P;C++){let e=T[C];q.visibleIndices[C]=e.index,q.visibleOffsets[C]=e.y,q.visibleSizes[C]=e.size}}function E(){if(q.destroyed)return;g(),q.prevRangeStart=-1,q.prevRangeEnd=-1,q.renderPending=!0,c=!0,F()}return{name:"masonry",priority:10,conflicts:["grid","table"],setup(Z){if(J=Z,q=Z.getState(),a=Z.rawSizeSpec,K=Z.config.axis.primary==="x",U=Z.config.classPrefix,Y=Z.config.overscan*t1,Z.config.reverse)throw Error("[vlist] masonry: cannot be combined with reverse mode");w=Z.config.crossAxisPadding,G=Z.config.crossPadStart,k=Z.config.startPadding,O=Z.config.endPadding;let y=q.crossSize-w;$=W1({columns:Q.columns,gap:Q.gap??0,containerSize:y,crossOffset:G,mainOffset:k}),j=_1(Z.dom.content,Z.template,U,K,()=>q.totalItems),Z.dom.root.classList.add(`${U}--masonry`),Z.setRenderFn(F,E),g(),Z.registerMethod("getMasonryLayout",()=>$),Z.registerMethod("updateMasonry",(s)=>{if(s.columns!==void 0&&s.columns<1)throw Error("[vlist] updateMasonry: columns must be >= 1");if(s.gap!==void 0&&s.gap<0)throw Error("[vlist] updateMasonry: gap must be >= 0");let m={};if(s.columns!==void 0)m.columns=s.columns;if(s.gap!==void 0)m.gap=s.gap;$.update(m),j?.clear(),E()}),Z.registerMethod("scrollToIndex",(s,m="start")=>{let T=M[s];if(!T)return;let B=typeof m==="string"?m:m.align??"start",p=typeof m==="object"?m.behavior:void 0,f=typeof m==="object"?m.duration:void 0,l=q.containerSize,i=$.getTotalSize(M)+O,P=Math.max(0,i-l),C=T.y;if(B==="center")C=T.y-l/2+T.size/2;else if(B==="end"){if(C=T.y-l+T.size,s>=q.totalItems-1&&T.y+T.size>P)C=P}if(C=Math.max(0,Math.min(C,P)),p==="smooth"&&f&&f>0)Z.smoothScrollTo(C,f);else Z.scrollTo(C)}),Z.registerMethod("_scrollItemIntoView",(s)=>{let m=M[s];if(!m)return;let{scrollPosition:T,containerSize:B}=q,p=$.getTotalSize(M)+O,f=Math.max(0,p-B),l=m.y,i=l+m.size;if(l-k<T)Z.scrollTo(Math.max(0,l-k));else if(i+O>T+B){let P=L[$.columns-1];if(P&&P.length>0&&s===P[P.length-1]&&l>=f)Z.scrollTo(f);else Z.scrollTo(Math.min(i+O-B,f))}}),Z.setNavConfig({total:()=>q.totalItems,navigate:d}),Z.registerDestroyHandler(()=>{j?.destroy(),j=null,Z.dom.root.classList.remove(`${U}--masonry`)})},hooks:{onResize(Z,y){if(!$||!J)return;let s=q.crossSize-w;if(Math.abs(s-$.containerSize)<1)return;$.update({containerSize:s}),j?.clear(),E()},onIdle(){j?.sortDOM()}},destroy(){j?.destroy(),j=null,M=[],J=null}}}var N1=(Q={})=>{let{chunkSize:$=100,maxCachedItems:j=5000,evictionBuffer:q=200,onEvict:J}=Q,K=new Map,U=0,Y=0,M=(g)=>{let F=K.get(g);if(!F)F={items:Array($),count:0,lastAccess:Date.now()},K.set(g,F);else F.lastAccess=Date.now();return F},V=(g)=>{return Math.floor(g/$)},W=(g)=>{return g%$},c=()=>U,X=(g)=>{U=g},w=(g)=>{if(g<0||g>=U)return;let F=V(g),E=K.get(F);if(!E)return;return E.items[W(g)]},G=(g)=>{if(g<0||g>=U)return!1;let F=V(g),E=K.get(F);if(!E)return!1;return E.items[W(g)]!==void 0},k=(g,F)=>{let E=V(g),Z=M(E),y=W(g),s=Z.items[y]===void 0;if(Z.items[y]=F,s)Z.count++,Y++;if(g>=U)U=g+1},O=(g,F)=>{for(let E=0;E<F.length;E++){let Z=F[E];if(Z!==void 0)k(g+E,Z)}},z=(g,F)=>{if(g<0||g>U)return;let E=V(g),Z=Array.from(K.keys()).filter((B)=>B>=E).sort((B,p)=>B-p),y=[];for(let B of Z){let p=K.get(B),f=B*$;for(let l=0;l<$;l++){if(p.items[l]===void 0)continue;let i=f+l;if(i<g)continue;y.push({oldIndex:i,item:p.items[l]})}}for(let{oldIndex:B}of y){let p=V(B),f=K.get(p);if(!f)continue;let l=W(B);if(f.items[l]!==void 0){if(f.items[l]=void 0,f.count--,Y--,f.count===0)K.delete(p)}}U++;for(let{oldIndex:B,item:p}of y){let f=B+1,l=V(f),i=M(l),P=W(f);i.items[P]=p,i.count++,Y++}let s=V(g),m=M(s),T=W(g);m.items[T]=F,m.count++,Y++},v=(g)=>{if(g<0||g>=U)return!1;let F=V(g),E=K.get(F),Z=W(g);if(!(E!==void 0&&E.items[Z]!==void 0))return!1;let s=F,m=Array.from(K.keys()).filter((B)=>B>=s).sort((B,p)=>B-p),T=[];for(let B of m){let p=K.get(B),f=B*$;for(let l=0;l<$;l++){if(p.items[l]===void 0)continue;let i=f+l;if(i<=g)continue;T.push({oldIndex:i,item:p.items[l]})}}if(E.items[Z]=void 0,E.count--,Y--,E.count===0)K.delete(F);for(let{oldIndex:B}of T){let p=V(B),f=K.get(p);if(!f)continue;let l=W(B);if(f.items[l]!==void 0){if(f.items[l]=void 0,f.count--,Y--,f.count===0)K.delete(p)}}for(let{oldIndex:B,item:p}of T){let f=B-1,l=V(f),i=M(l),P=W(f);i.items[P]=p,i.count++,Y++}return U--,!0},_=(g,F)=>{let E=[];for(let Z=g;Z<=F&&Z<U;Z++)E.push(w(Z));return E},D=(g,F)=>{for(let E=g;E<=F&&E<U;E++)if(!G(E))return!1;return!0},b=()=>{let g=[],F=null,E=Array.from(K.keys()).sort((Z,y)=>Z-y);for(let Z of E){let y=K.get(Z);if(!y)continue;let s=Z*$;for(let m=0;m<$;m++){let T=s+m;if(T>=U)break;if(y.items[m]!==void 0)if(F===null)F={start:T,end:T};else if(T===F.end+1)F.end=T;else g.push(F),F={start:T,end:T};else if(F!==null)g.push(F),F=null}}if(F!==null)g.push(F);return g},H=(g,F)=>{let E=[],Z=null;for(let y=g;y<=F&&y<U;y++)if(!G(y))if(Z===null)Z={start:y,end:y};else Z.end=y;else if(Z!==null)E.push(Z),Z=null;if(Z!==null)E.push(Z);return E},A=(g)=>{return K.has(g)},L=(g)=>{let F=K.get(g);if(!F)return!1;let E=g*$,Z=Math.min($,U-E);return F.count>=Z},u=(g)=>{let F=K.get(g);if(F)F.lastAccess=Date.now()},R=(g,F)=>{if(g>F||K.size===0)return;let E=Date.now(),Z=V(Math.max(0,g)),y=V(Math.min(U-1,F));for(let s=Z;s<=y;s++){let m=K.get(s);if(m)m.lastAccess=E}},x=(g,F)=>{if(Y<=j)return 0;let E=Math.max(0,g-q),Z=Math.min(U-1,F+q),y=V(E),s=V(Z),m=0,T=[];for(let[B,p]of K)if(B<y||B>s)m+=p.count,T.push(B),Y-=p.count,K.delete(B);if(m>0&&J)J(m,T);return m},h=()=>{if(Y<=j)return 0;let g=Array.from(K.entries()).sort(([,Z],[,y])=>Z.lastAccess-y.lastAccess),F=0,E=[];for(let[Z,y]of g){if(Y<=j)break;F+=y.count,Y-=y.count,E.push(Z),K.delete(Z)}if(F>0&&J)J(F,E);return F},d=()=>{return{totalItems:U,cachedItems:Y,cachedChunks:K.size,chunkSize:$,maxCachedItems:j,memoryEfficiency:U>0?1-Y/U:1}},a=()=>Y,r=()=>{K.clear(),Y=0};return{chunkSize:$,maxCachedItems:j,getTotal:c,setTotal:X,get:w,has:G,set:k,setRange:O,insert:z,delete:v,getRange:_,isRangeLoaded:D,getLoadedRanges:b,findUnloadedRanges:H,getChunkIndex:V,isChunkLoaded:A,isChunkFullyLoaded:L,touchChunk:u,touchChunksForRange:R,evictDistant:x,evictToLimit:h,getStats:d,getCachedCount:a,clear:r,reset:()=>{r(),U=0}}};var M1=(Q={})=>{let{maskCharacter:$=p0,maxSampleSize:j=u0}=Q,q=[],J=!1,K=(W)=>{if(J||W.length===0)return;let c=Math.min(W.length,j);for(let X=0;X<c;X++){let w=W[X];if(!w||typeof w!=="object")continue;let G={},k=!1;for(let[O,z]of Object.entries(w)){if(O.startsWith("_")||O==="id")continue;G[O]=String(z??"").length,k=!0}if(k)q.push(G)}J=!0},U=()=>J,Y=(W)=>{let c={id:`${f2}${W}`,[B0]:!0,_index:W};if(q.length===0)return c.label=$.repeat(12),c;let X=q[W%q.length];for(let[w,G]of Object.entries(X))c[w]=$.repeat(Math.max(1,G));return c};return{analyzeStructure:K,hasAnalyzedStructure:U,generate:Y,generateRange:(W,c)=>{let X=[];for(let w=W;w<=c;w++)X.push(Y(w));return X},clear:()=>{q=[],J=!1}}},K0=(Q)=>{if(!Q||typeof Q!=="object")return!1;return Q[B0]===!0};var $4=50,X1=(Q={})=>{let{adapter:$,initialItems:j,initialTotal:q,storage:J,placeholder:K,pageSize:U=$4,maxConcurrent:Y=0,onStateChange:M,onDataChange:V,onItemsLoaded:W,onItemsEvicted:c}=Q,X=N1({...J,onEvict:($2,J2)=>{c?.($2),R(),u()}}),w=null,G=()=>{if(!w)w=M1(K);return w},k=new Map,O=!1,z,v=!0,_,D,b=[],H=0,A=new Map,L=()=>{for(let $2 of A.values())$2[1].abort();A.clear()},u=()=>{M?.(E())},R=()=>{V?.()},x=()=>{k.clear();let $2=X.getLoadedRanges();for(let J2 of $2)for(let q2=J2.start;q2<=J2.end;q2++){let _2=X.get(q2);if(_2&&!K0(_2))k.set(_2.id,q2)}},h=($2,J2)=>{if(!K0(J2))k.set(J2.id,$2)},d=($2)=>{k.delete($2)},a=($2,J2)=>{return`${$2}-${J2}`},r=()=>X.getTotal(),S=()=>X.getCachedCount(),g=()=>O,F=()=>v,E=()=>({total:X.getTotal(),cached:X.getCachedCount(),isLoading:O,pendingRanges:b,error:z,hasMore:v,cursor:_}),Z=()=>X,y=()=>G(),s=($2)=>{let J2=X.get($2);if(J2!==void 0)return J2;if($2>=0&&$2<X.getTotal())return G().generate($2);return},m=($2)=>{let J2=k.get($2);if(J2===void 0)return;return X.get(J2)},T=($2)=>{return k.get($2)??-1},B=($2)=>{let J2=X.get($2);return J2!==void 0&&!K0(J2)},p=($2,J2)=>{let q2=[],_2=X.getTotal();X.touchChunksForRange($2,Math.min(J2,_2-1));for(let L2=$2;L2<=J2&&L2<_2;L2++){let Z2=X.get(L2);if(Z2!==void 0)q2.push(Z2);else q2.push(G().generate(L2))}return q2},f=($2)=>{X.setTotal($2),v=X.getCachedCount()<$2,R(),u()},l=($2,J2=0,q2)=>{if($&&$2.length>0){let _2=G();if(!_2.hasAnalyzedStructure())_2.analyzeStructure($2)}for(let _2=0;_2<$2.length;_2++){let L2=$2[_2];if(L2!==void 0){let Z2=J2+_2;X.set(Z2,L2),h(Z2,L2)}}if(q2!==void 0)X.setTotal(q2);else if(J2+$2.length>X.getTotal())X.setTotal(J2+$2.length);if(X.getCachedCount()>=X.getTotal()&&X.getTotal()>0)v=!1;R(),u(),W?.($2,J2,X.getTotal())},i=($2,J2)=>{let q2=X.get($2);if(!q2)return!1;let _2=q2.id,L2={...q2,...J2};if(X.set($2,L2),J2.id!==void 0&&J2.id!==_2)d(_2);return h($2,L2),R(),u(),!0},P=($2,J2)=>{X.insert(J2,$2),x(),L(),R(),u()},C=($2)=>{let J2=k.get($2);if(J2===void 0)return!1;if(!X.delete(J2))return!1;return x(),L(),R(),u(),!0},e=async($2,J2)=>{if(!$)return;let q2=X.chunkSize,_2=Math.floor($2/q2),L2=Math.floor(J2/q2),Z2=q2*2;for(let[N2,P2]of A){let y2=N2.indexOf("-"),U2=parseInt(N2.slice(0,y2),10);if(Math.abs(U2-$2)>Z2)P2[1].abort(),A.delete(N2)}let b2=[],G2=[];for(let N2=_2;N2<=L2;N2++){let P2=N2*q2,y2=P2+q2-1,U2=a(P2,y2);if(X.isChunkFullyLoaded(N2))continue;let z2=A.get(U2);if(z2)G2.push(z2[0]);else b2.push({start:P2,end:y2})}if(b2.length===0){if(G2.length>0)await Promise.all(G2);return}if(Y>0){let N2=A.size+b2.length;if(N2>Y){let P2=($2+J2)/2,y2=Math.min(N2-Y,A.size);while(y2>0){let M2=null,z2=-1,T2=null;for(let[w2,I]of A){let V2=w2.indexOf("-"),O2=parseInt(w2.slice(0,V2),10),F2=parseInt(w2.slice(V2+1),10),R2=Math.abs((O2+F2)/2-P2);if(R2>z2)z2=R2,M2=w2,T2=I[1]}if(M2)T2.abort(),A.delete(M2);y2--}let U2=Y-A.size;if(b2.length>U2)b2.sort((M2,z2)=>{let T2=Math.abs((M2.start+M2.end)/2-P2),w2=Math.abs((z2.start+z2.end)/2-P2);return T2-w2}),b2.length=Math.max(0,U2)}}if(b2.length===0){if(G2.length>0)await Promise.all(G2);return}for(let N2 of b2){let P2=a(N2.start,N2.end),y2=new AbortController,U2=(async()=>{b.push(N2),O=!0,z=void 0,u();try{let M2=N2.end-N2.start+1,z2={offset:N2.start,limit:M2,cursor:N2.start===D?_:void 0,signal:y2.signal},T2=await $.read(z2);if(l(T2.items,N2.start,T2.total),T2.cursor)_=T2.cursor,D=N2.start+T2.items.length;let w2=N2.start+T2.items.length;if(w2>=H){if(H=w2,T2.hasMore!==void 0)v=T2.hasMore;else if(T2.total!==void 0)v=w2<T2.total}}catch(M2){if(M2?.name==="AbortError")return;z=M2 instanceof Error?M2:Error(String(M2))}finally{A.delete(P2);let M2=b.findIndex((z2)=>z2.start===N2.start&&z2.end===N2.end);if(M2>=0)b.splice(M2,1);O=A.size>0,u()}})();A.set(P2,[U2,y2]),G2.push(U2)}await Promise.all(G2)},X2=async($2,J2)=>{if(X.isRangeLoaded($2,J2))return;await e($2,J2)},t=async()=>{if(!$)return;await e(0,U-1)},K2=async()=>{if(!$||O||!v)return!1;let $2=X.getCachedCount(),J2=X.getTotal(),q2=$2,_2=Math.min(q2+U-1,J2>0?J2-1:q2+U-1);if(q2>=J2&&J2>0)return v=!1,!1;return await e(q2,_2),X.getCachedCount()>$2},A2=async()=>{if(X.clear(),X.setTotal(0),k.clear(),w)w.clear();L(),b=[],O=!1,_=void 0,D=void 0,v=!0,H=0,z=void 0,R(),u()},o=($2,J2)=>{if(X.evictDistant($2,J2)>0)x()},H2=()=>{X.clear(),k.clear(),_=void 0,D=void 0,z=void 0,b=[],O=!1,R(),u()},B2=()=>{if(X.reset(),k.clear(),w)w.clear();_=void 0,D=void 0,v=!0,H=0,z=void 0,b=[],O=!1,R(),u()};if(j&&j.length>0)l(j,0,q??j.length);else if(q!==void 0)X.setTotal(q),R(),u();return{getState:E,getTotal:r,getCached:S,getIsLoading:g,getHasMore:F,getStorage:Z,getPlaceholders:y,getItem:s,getItemById:m,getIndexById:T,isItemLoaded:B,getItemsInRange:p,setTotal:f,setItems:l,updateItem:i,insertItem:P,removeItem:C,loadRange:e,ensureRange:X2,loadInitial:t,loadMore:K2,reload:A2,evictDistant:o,clear:H2,reset:B2}};function E0(Q){let{adapter:$,total:j,autoLoad:q=!0,storage:J}=Q,K=Q.loading?.cancelThreshold??h0,U=Q.loading?.preloadThreshold??f0,Y=Q.loading?.preloadAhead??S0,M=Q.loading?.maxConcurrent??I0,V,W,c,X,w,G,k=null,O=null,z=null,v=0,_=!1,D=-1,b=-1,H=J?.chunkSize??t2,A=()=>{if(k=null,O!==null)clearTimeout(O),O=null},L=(h,d)=>{return V.ensureRange(h,d)},u=(h,d=t2)=>{X.emit("load:start",{offset:h,limit:d})},R=(h)=>{X.emit("error",{error:h,context:"ensureRange"})},x=()=>{if(!k)return;k=null;let h={start:W.startIndex,end:W.startIndex+Math.max(0,W.visibleCount-1)};if(h.end<h.start)return;L(h.start,h.end).catch(R)};return{name:"data",priority:20,setup(h){W=h.getState(),c=h.sizeCache,X=h.emitter,w=h.dom,G=h.forceRender.bind(h);let d=null;h.setVirtualTotalFn(()=>d?.getTotal()??0),V=d=X1({adapter:$,...j!==void 0&&{initialTotal:j},pageSize:J?.chunkSize??t2,maxConcurrent:M,...J&&{storage:{...J.chunkSize!==void 0&&{chunkSize:J.chunkSize},...J.maxCachedItems!==void 0&&{maxCachedItems:J.maxCachedItems},...J.evictionBuffer!==void 0&&{evictionBuffer:J.evictionBuffer}}},onDataChange:()=>{if(W.initialized){let r=V.getTotal();W.totalItems=r;let S=c.getTotal();if(r!==S)c.rebuild(r);h.updateContentSize(c.getTotalSize()),h.renderIfNeeded()}},onItemsLoaded:(r)=>{if(W.initialized)c.rebuild(V.getTotal()),h.updateContentSize(c.getTotalSize()),G(),X.emit("load:end",{items:r,total:V.getTotal()})}}),h.setGetItemFn((r)=>V.getItem(r)),h.setRemoveItemFn((r)=>{let S=V.getIndexById(r);if(S<0)return-1;if(!V.removeItem(r))return-1;return S}),h.setInsertItemFn((r,S)=>{V.insertItem(r,S)}),h.setUpdateItemFn((r,S)=>{let g=V.getIndexById(r);if(g<0)return!1;return V.updateItem(g,S)}),h.registerMethod("reload",async()=>{if(k=null,D=-1,b=-1,h.forceRender(),await V.reload(),h.scrollTo(0),q)u(0),await V.loadInitial(),h.forceRender()}),h.registerMethod("loadVisibleRange",async()=>{k=null,h.forceRender();let r=V.getTotal();if(W.visibleCount>0&&W.startIndex<r){let S=Math.min(W.startIndex+W.visibleCount-1,r-1);u(W.startIndex,S-W.startIndex+1),await L(W.startIndex,S)}}),h.registerMethod("getTotal",()=>{return V.getTotal()}),h.registerMethod("setTotal",(r)=>{V.setTotal(r)}),h.registerMethod("_getTotal",()=>V.getTotal()),h.registerMethod("_setTotal",(r)=>{V.setTotal(r)}),h.registerMethod("_cancelAutoLoad",()=>{_=!0}),h.registerMethod("_getLoadedItem",(r)=>{return V.getStorage().get(r)}),h.registerMethod("_getItem",(r)=>{return V.getItem(r)}),h.registerMethod("_getLoadedCount",()=>V.getCached()),X.on("load:start",()=>{w.root.setAttribute("aria-busy","true")}),X.on("load:end",()=>{w.root.removeAttribute("aria-busy")}),h.registerDestroyHandler(()=>{if(z!==null)clearTimeout(z),z=null;A()}),X.on("velocity:change",({velocity:r})=>{v=Math.abs(r)});let a=()=>{if(W.destroyed)return;if(W.visibleCount>0&&W.startIndex<V.getTotal()){let r=Math.min(W.startIndex+W.visibleCount-1,V.getTotal()-1);L(W.startIndex,r).catch(R)}x()};if(window.addEventListener("online",a),h.registerDestroyHandler(()=>{window.removeEventListener("online",a)}),q)queueMicrotask(()=>{if(_)return;u(0),V.loadInitial().catch((r)=>{X.emit("error",{error:r,context:"loadInitial"})})});else if(j!==void 0)V.setTotal(j)},hooks:{onAfterScroll(){if(W.destroyed)return;let h=W.startIndex+Math.max(0,W.visibleCount-1);if(v>K){if(O!==null)clearTimeout(O),O=null;k={start:W.startIndex,end:h};return}if(v>U){let r=Math.floor(W.startIndex/H),S=Math.floor(h/H);if(r!==D||S!==b){if(D=r,b=S,h>=W.startIndex)L(W.startIndex,h).catch(R)}let g=W.startIndex,F=h,E=W.scrollDirection;if(E>0)F=Math.min(F+Y,V.getTotal()-1);else if(E<0)g=Math.max(0,g-Y);if(k={start:g,end:F},O!==null)clearTimeout(O);O=setTimeout(()=>{if(O=null,W.destroyed||!k)return;let{start:Z,end:y}=k;if(k=null,y>=Z)L(Z,y).catch(R)},100);return}A();let d=Math.floor(W.startIndex/H),a=Math.floor(h/H);if(d!==D||a!==b){if(D=d,b=a,h>=W.startIndex)L(W.startIndex,h).catch(R)}},onIdle(){if(W.destroyed)return;v=0,D=-1,b=-1,x(),A()}},destroy(){if(z!==null)clearTimeout(z);A()}}}var R0=(Q,$)=>{let j=0,q=Q.length-1;while(j<q){let J=j+q+1>>>1;if(Q[J].headerLayoutIndex<=$)j=J;else q=J-1}return j},G1=(Q,$)=>{let j=0,q=Q.length-1;while(j<q){let J=j+q+1>>>1;if(Q[J].firstDataIndex<=$)j=J;else q=J-1}return j},D1=(Q,$,j)=>{if(Q===0)return[];let q=[],J=null,K=0,U=0;for(let Y=0;Y<Q;Y++){let M=j?.(Y);if(!M)continue;let V=$(Y,M);if(J===null)J=V,K=0;else if(V!==J){let W=Y-K;q.push({key:J,groupIndex:q.length,headerLayoutIndex:U,firstDataIndex:K,count:W}),U=U+1+W,J=V,K=Y}}if(J!==null)q.push({key:J,groupIndex:q.length,headerLayoutIndex:U,firstDataIndex:K,count:Q-K});return q};var A1=(Q,$,j)=>{let q=D1(Q,$.getGroupForIndex,j),J=Q+q.length,K=$.header?.height??$.header?.width??$.headerHeight;return{get totalEntries(){return J},get groupCount(){return q.length},get groups(){return q},getEntry:(w)=>{if(q.length===0)return{type:"item",dataIndex:w,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let G=R0(q,w),k=q[G];if(w===k.headerLayoutIndex)return{type:"header",group:k};let O=w-k.headerLayoutIndex-1;return{type:"item",dataIndex:k.firstDataIndex+O,group:k}},layoutToDataIndex:(w)=>{if(q.length===0)return w;let G=R0(q,w),k=q[G];if(w===k.headerLayoutIndex)return-1;let O=w-k.headerLayoutIndex-1;return k.firstDataIndex+O},dataToLayoutIndex:(w)=>{if(q.length===0)return w;let G=G1(q,w),k=q[G],O=w-k.firstDataIndex;return k.headerLayoutIndex+1+O},getGroupAtLayoutIndex:(w)=>{if(q.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let G=R0(q,w);return q[G]},getGroupAtDataIndex:(w)=>{if(q.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let G=G1(q,w);return q[G]},getHeaderHeight:typeof K==="number"?(w)=>K:(w)=>{let G=q[w];if(!G)return 0;return K(G.key,w)},rebuild:(w,G)=>{q=D1(w,$.getGroupForIndex,G??j),J=w+q.length}}};var T0=(Q,$,j,q,J=0)=>{let K=j?"width":"height",U=document.createElement("div");return U.className=`${$}-sticky-header`,U.setAttribute("role","presentation"),U.setAttribute("aria-hidden","true"),U.style.cssText="position:relative;z-index:5;pointer-events:none;overflow:hidden;"+(j?`top:0;bottom:0;left:${J||0}px`:`top:${J||0}px`),U.style[K]=`${q}px`,Q.insertBefore(U,Q.firstChild),U},H1=(Q,$,j,q,J,K=!1,U=0,Y,M,V)=>{let W=K?"width":"height",c=K?"height":"width",X=K?"X":"Y",w=(P,C)=>{P.style[W]=`${C}px`},G=M??T0(Q,J,K,0,U),k=()=>{let P=document.createElement("div");return P.className="sticky-group",P.style.position="absolute",P.style.willChange="transform",P.style[c]="100%",P},O=k(),z=k();G.append(O,z);let v=O,_=z,D=$.groups,b=[],H=[],A=[],L=0,u=()=>{D=$.groups,L=D.length,b=Array(L),H=Array(L),A=Array(L);let P=Y?Y():1;for(let C=0;C<L;C++)b[C]=(V?V(D[C].headerLayoutIndex):j.getOffset(D[C].headerLayoutIndex))*P,H[C]=$.getHeaderHeight(C),A[C]=H[C]*P};u();let R=-1,x=0,h=0,d=-1,a=!1,r=0,S=!1,g=(P,C)=>{q(P,C);let e=H[C];return w(P,e),e},F=(P)=>{P.replaceChildren(),P.style.transform=""},E=(P)=>{if(P===R)return;if(R=P,x=0,h=0,P<0||P>=L){F(v);return}x=g(v,P),h=A[P],w(G,x),v.style.transform=""},Z=(P)=>{if(P===r)return;r=P;let C=Math.round(P);v.style.transform=`translate${X}(${C}px)`,_.style.transform=`translate${X}(${C+x}px)`},y=()=>{r=0,v.style.transform="",_.style.transform=""},s=()=>{if(!S)return;let P=v;v=_,_=P,R=d,x=R>=0?H[R]:0,h=R>=0?A[R]:0,w(G,x),F(_),d=-1,S=!1,y()},m=()=>{if(!S)return;F(_),d=-1,S=!1,y()},T=!!M,B=()=>{if(a)return;if(a=!0,T)G.style.visibility="";else G.style.display=""},p=()=>{if(!a)return;if(a=!1,T)G.style.visibility="hidden";else G.style.display="none";F(v),R=-1,x=0,h=0,m()},f=(P)=>{if(L===0){p();return}if(P<b[0]){p();return}let C=0,e=L-1;while(C<e){let t=C+e+1>>>1;if(b[t]+A[t]<=P)C=t;else e=t-1}if(!a)B();E(C);let X2=C+1;if(X2<L){let t=b[X2]-P;if(t<=0&&t>-h){if(d!==X2||!S)d=X2,g(_,X2),S=!0;let K2=h>0?t/h*x:t;Z(K2)}else if(t<=-h){if(S)s()}else if(S)m()}else if(S)m()},l=()=>{u();let P=R;if(R=-1,x=0,h=0,P>=0)E(P)},i=()=>{G.remove(),R=-1,x=0,h=0,d=-1,a=!1,S=!1};if(!M)G.style.display="none";return{update:f,refresh:l,show:B,hide:p,destroy:i}};var d2={selected:!1,focused:!1},O1=typeof process<"u"&&process.env?.NODE_ENV!=="production";function b0(Q){if(!Q.getGroupForIndex)throw Error("[vlist] groups: getGroupForIndex is required");let $=Q.header?.height??Q.header?.width??Q.headerHeight;if($==null||typeof $==="number"&&$<=0)throw Error("[vlist] groups: header height/width must be a positive number or function");let j=Q.header?.template??Q.headerTemplate;if(!j)throw Error("[vlist] groups: header.template is required");let q=j,J,K=null,U,Y,M,V,W,c,X,w=null,G,k,O,z=null,v,_,D=null,b=null,H=0,A=0,L=0,u=0,R=0,x=new Map,h=new Set,d=new Map,a=-1,r=-1,S=!0,g=-1,F=0,E=null,Z;function y(){return J.totalEntries}function s(){let o=Y.totalItems;if(o===g)return;if(O1)console.log(`[groups] syncLayout: ${g} → ${o}`);let H2=g>0;g=o,J.rebuild(o,w??X),Z(J.totalEntries),p();let B2=T?f():U.getTotalSize();if(V.style[G?"width":"height"]=B2+R+"px",K)K.refresh(),K.update(Y.scrollPosition);if(H2)P();let $2=D?.("_scrollbar:getInstance");if($2)$2()?.updateBounds(B2,Y.containerSize)}let m=0,T=null,B=null;function p(){if(H<=0){T=null,B=null;return}m=((Y.crossSize||V.clientWidth)-u-(H-1)*A)/H,T=new Map;let B2=J.totalEntries,$2=Array(B2),J2=0,q2=0,_2=0,L2=0;for(let Z2=0;Z2<B2;Z2++)if(J.getEntry(Z2).type==="header"){if(_2>0&&L2>0)q2+=L2;let G2=U.getSize(Z2);T.set(Z2,{col:-1,rowY:q2}),$2[J2++]=[Z2,q2,q2+G2],q2+=G2,_2=0,L2=0}else{let G2=_2%H,N2=U.getSize(Z2);if(G2===0){if(_2>0&&L2>0)q2+=L2+A;L2=N2}else if(N2>L2)L2=N2;T.set(Z2,{col:G2,rowY:q2}),$2[J2++]=[Z2,q2,q2+N2],_2++}$2.length=J2,B=$2}function f(){if(!T||T.size===0)return U.getTotalSize();let o=0,H2=J.totalEntries;for(let B2=H2-1;B2>=0;B2--){let $2=T.get(B2);if($2){o=$2.rowY+U.getSize(B2);break}if(J.getEntry(B2).type==="header"){o=U.getOffset(B2)+U.getSize(B2);break}}return o}function l(o){if(T){let B2=T.get(o);if(B2){let $2=B2.col<0?0:L+B2.col*(m+A),J2=B2.rowY;if(G)return`translate(${Math.round(J2)}px, ${Math.round($2)}px)`;return`translate(${Math.round($2)}px, ${Math.round(J2)}px)`}}let H2=U.getOffset(o);if(G)return`translate(${Math.round(H2)}px, 0)`;return`translate(0, ${Math.round(H2)}px)`}function i(o,H2){let B2=U.getSize(H2),$2=T?.get(H2);if($2){if($2.col<0)if(G)o.style.width=`${B2}px`,o.style.height="";else o.style.height=`${B2}px`,o.style.width="100%";else if(G)o.style.width=`${B2}px`,o.style.height=`${m}px`;else o.style.height=`${B2}px`,o.style.width=`${m}px`;return}if(G)o.style.width=`${B2}px`;else o.style.height=`${B2}px`}function P(){x.forEach((o)=>{o.remove();let H2=o.getAttribute("data-id");if(H2)d.set(H2,o);else M.release(o)}),x.clear(),h.clear()}function C(){if(d.size>0)d.forEach((o)=>M.release(o)),d.clear()}function e(o,H2,B2,$2){if(b===null)b=!!D?.("_getSelectedIds");if(H2.type==="header"){let b2=`__group_header_${H2.group.groupIndex}`;if(o.getAttribute("data-id")===b2)return!0;o.className=_,o.setAttribute("role","presentation"),o.removeAttribute("aria-selected"),o.setAttribute("data-id",b2);let G2=q(H2.group.key,H2.group.groupIndex);if(typeof G2==="string")o.innerHTML=G2;else o.innerHTML="",o.appendChild(G2);return!0}let J2=H2.dataIndex,q2=X(J2);if(!q2)return o.innerHTML="",!1;let _2=q2._isPlaceholder===!0,L2=String(q2.id);if(!_2&&o.getAttribute("data-id")===L2){if(b)o.id=`${k}-item-${$2}`,o.setAttribute("aria-posinset",String(J2+1)),o.setAttribute("aria-setsize",String(Y.totalItems));return!0}if(o.className=v,o.setAttribute("role",b?"option":"listitem"),o.setAttribute("data-id",L2),b)o.id=`${k}-item-${$2}`,o.setAttribute("aria-posinset",String(J2+1)),o.setAttribute("aria-setsize",String(Y.totalItems));if(_2)o.classList.add(`${k}-item--placeholder`);if(B2)B2($2,d2);else d2.selected=!1,d2.focused=!1;let Z2=c(q2,J2,d2);if(typeof Z2==="string")o.innerHTML=Z2;else o.innerHTML="",o.appendChild(Z2);return p2(o),!_2}let X2=0;function t(){if(H<=0)return;let o=Y.crossSize;if(o===X2)return;X2=o,p();let H2=f();if(V.style[G?"width":"height"]=H2+R+"px",K)K.refresh(),K.update(Y.scrollPosition);S=!0}function K2(){if(Y.destroyed)return;s(),t();let{scrollPosition:o,containerSize:H2}=Y;if(!S&&o===a&&H2===r)return;a=o,r=H2;let B2=S;S=!1;let $2=y();if(H2<=0||$2===0){if(x.size>0)x.forEach((U2)=>{U2.remove(),M.release(U2)}),x.clear(),h.clear();return}let J2,q2;if(B){let U2=B,M2=U2.length,z2=0,T2=M2-1;while(z2<T2){let R2=z2+T2>>>1;if(U2[R2][2]<=o)z2=R2+1;else T2=R2}let w2=z2;T2=M2-1;while(z2<T2){let R2=z2+T2+1>>>1;if(U2[R2][1]>=o+H2)T2=R2-1;else z2=R2}let I=z2,V2=U2[w2][0],O2=U2[I][0];for(let R2=V2-1;R2>=0;R2--)if(J.getEntry(R2).type==="header"){V2=R2;break}let F2=O*H;J2=Math.max(0,V2-F2),q2=Math.min($2-1,O2+F2)}else{let U2=U.indexAtOffset(o),M2=U.indexAtOffset(o+H2);if(M2<$2-1)M2++;U2=Math.max(0,U2),M2=Math.min($2-1,Math.max(0,M2)),J2=Math.max(0,U2-O),q2=Math.min($2-1,M2+O)}if(J2===Y.prevRangeStart&&q2===Y.prevRangeEnd&&!Y.renderPending)return;x.forEach((U2,M2)=>{if(M2<J2||M2>q2)U2.remove(),M.release(U2),x.delete(M2),h.delete(M2)});let _2=z?.()??null,L2=_2?`${k}-item--selected`:"",Z2=_2?`${k}-item--focused`:"",b2=null;for(let U2=J2;U2<=q2;U2++){let M2=x.get(U2),z2=!1;if(M2===void 0){let T2=J.getEntry(U2);z2=T2.type==="header";let w2;if(T2.type==="header")w2=`__group_header_${T2.group.groupIndex}`;else{let V2=X(T2.dataIndex);if(V2&&V2._isPlaceholder!==!0)w2=String(V2.id)}if(w2!==void 0){let V2=d.get(w2);if(V2)d.delete(w2),M2=V2}if(!M2)M2=M.acquire();if(M2.setAttribute("data-index",String(U2)),e(M2,T2,_2,U2))h.delete(U2);else h.add(U2);if(i(M2,U2),M2.style.transform=l(U2),x.set(U2,M2),!b2)b2=document.createDocumentFragment();b2.appendChild(M2)}else if(B2&&h.has(U2)){let T2=J.getEntry(U2);if(T2.type==="item")if(e(M2,T2,_2,U2))h.delete(U2);else h.add(U2)}else if(z2=M2.classList.contains(_),B2)i(M2,U2),M2.style.transform=l(U2);if(!z2&&_2)if(_2(U2,d2),M2.classList.toggle(L2,d2.selected),M2.classList.toggle(Z2,d2.focused),d2.selected)M2.setAttribute("aria-selected","true");else M2.removeAttribute("aria-selected")}if(b2)V.appendChild(b2);C();let G2=T?f():U.getTotalSize();V.style[G?"width":"height"]=G2+R+"px",Y.prevRangeStart=J2,Y.prevRangeEnd=q2,Y.renderPending=!1;let N2=0,P2=0,y2=!1;for(let U2=J2;U2<=q2&&N2<Y.capacity;U2++){let M2=J.getEntry(U2);if(M2.type==="item"){if(!y2)P2=M2.dataIndex,y2=!0;Y.visibleIndices[N2]=M2.dataIndex,Y.visibleOffsets[N2]=U.getOffset(U2),Y.visibleSizes[N2]=U.getSize(U2),N2++}}Y.visibleCount=N2,Y.startIndex=P2}function A2(){if(Y.destroyed)return;if(t(),O1)console.log(`[groups] forceRender, placeholders: ${h.size}, rendered: ${x.size}`);let o=E?.()??0;if(o!==F){F=o;let H2=J.groups,B2=H2.length;J.rebuild(g,w??X);let $2=J.groups,J2=$2.length!==B2;if(!J2){for(let q2=0;q2<B2;q2++)if($2[q2].headerLayoutIndex!==H2[q2].headerLayoutIndex){J2=!0;break}}if(J2){Z(J.totalEntries),p();let q2=T?f():U.getTotalSize();if(V.style[G?"width":"height"]=q2+"px",K)K.refresh(),K.update(Y.scrollPosition);let _2=1/0,L2=Math.min(B2,$2.length);for(let b2=0;b2<L2;b2++)if($2[b2].headerLayoutIndex!==H2[b2].headerLayoutIndex){_2=Math.min($2[b2].headerLayoutIndex,H2[b2].headerLayoutIndex);break}if($2.length>B2&&L2<$2.length)_2=Math.min(_2,$2[L2].headerLayoutIndex);else if(B2>$2.length&&L2<B2)_2=Math.min(_2,H2[L2].headerLayoutIndex);if(_2<=Y.prevRangeEnd)P();let Z2=D?.("_scrollbar:getInstance");if(Z2)Z2()?.updateBounds(q2,Y.containerSize)}}Y.prevRangeStart=-1,Y.prevRangeEnd=-1,Y.renderPending=!0,S=!0,K2()}return{name:"groups",priority:10,setup(o){U=o.sizeCache,Y=o.getState(),M=o.pool,V=o.dom.content,W=o.dom.root,c=o.template,G=o.config.axis.primary==="x",k=o.config.classPrefix,O=o.config.overscan,R=o.config.mainAxisPadding,X=o.getItem.bind(o),z=()=>o.getItemStateFn(),D=o.getMethod.bind(o),b=null,v=`${k}-item`,_=`${k}-group-header`;let H2=D?.("getGridLayout");if(H2){let G2=H2();H=G2.columns,A=G2.gap,L=o.config.crossPadStart,u=o.config.crossAxisPadding}queueMicrotask(()=>{let G2=D?.("_getLoadedItem");if(G2)w=G2;let N2=D?.("_getLoadedCount");if(N2)E=N2});let B2=Y.totalItems;J=A1(B2,Q,w??X),g=B2;let $2=typeof $==="number"?(G2)=>$:(G2)=>{let N2=J.groups[G2];if(!N2)return 0;return $(N2.key,G2)},J2=U.getSize,q2=(G2)=>{let N2=J.getEntry(G2);if(N2.type==="header"){if(Q.sticky!==!1&&N2.group.groupIndex===0)return 0;return $2(N2.group.groupIndex)}return J2(N2.dataIndex)};o.setSizeConfig(q2);let _2=!1,L2=-1;if(Z=U.rebuild,U.rebuild=(G2)=>{if(_2){if(!E)E=D?.("_getLoadedCount")??null;let N2=E?.()??0;if(G2!==g||N2!==L2){if(g=G2,L2=N2,!w)w=D?.("_getLoadedItem")??null;if(J.rebuild(G2,w??((P2)=>o.getItems()[P2])),Y.totalItems=J.totalEntries,K)K.refresh(),K.update(Y.scrollPosition)}}Z(J.totalEntries)},U.rebuild(J.totalEntries),p(),o.setVirtualTotalFn(()=>J.totalEntries),W.classList.add(`${k}--grouped`),Q.sticky!==!1){let G2=(U2,M2)=>{let z2=J.groups[M2];if(!z2)return;let T2=q(z2.key,M2);if(typeof T2==="string")U2.innerHTML=T2;else U2.replaceChildren(T2)},N2=J.getHeaderHeight(0),P2=T0(W,k,G,N2),y2=H>0?(U2)=>{let M2=T?.get(U2);return M2?M2.rowY:U.getOffset(U2)}:void 0;if(K=H1(W,J,U,G2,k,G,0,void 0,P2,y2),K.update(Y.scrollPosition),!G)o.dom.viewport.style.height=`calc(100% - ${N2}px)`;else o.dom.viewport.style.width=`calc(100% - ${N2}px)`}let Z2=!!D?.("_updateTableForGroups");if(_2=Z2,Z2)queueMicrotask(()=>{let G2=D?.("_getItem")??null,N2=o.getItems.bind(o);o.setGetItemFn((y2)=>{let U2=J.getEntry(y2);if(U2.type==="header")return{id:`__group_header_${U2.group.groupIndex}`,__groupHeader:!0,groupKey:U2.group.key,groupIndex:U2.group.groupIndex};return G2?G2(U2.dataIndex):N2()[U2.dataIndex]});let P2=D?.("_updateTableForGroups");if(P2)P2((y2)=>!!y2.__groupHeader,q)});else o.setRenderFn(K2,A2);o.registerMethod("getGroupLayout",()=>J),o.registerMethod("_dataToLayoutIndex",(G2)=>J.dataToLayoutIndex(G2)),o.registerMethod("_layoutToDataIndex",(G2)=>J.layoutToDataIndex(G2)),o.registerMethod("_getRenderedElement",(G2)=>x.get(G2)??null),o.registerMethod("_isGroupHeader",(G2)=>{return J.getEntry(G2).type==="header"});let b2=R-o.config.startPadding;o.registerMethod("_scrollItemIntoView",(G2)=>{if(G2<0)return;let N2=T?.get(G2),P2=N2?N2.rowY:U.getOffset(G2),y2=U.getSize(G2),U2=Y.containerSize,M2=Y.scrollPosition;if(P2<M2)o.scrollTo(P2);else if(P2+y2+b2>M2+U2)o.scrollTo(P2+y2+b2-U2)}),o.registerMethod("scrollToIndex",(G2,N2="start")=>{let P2=J.dataToLayoutIndex(G2),y2=J.totalEntries;if(y2===0)return;let U2=Math.max(0,Math.min(P2,y2-1)),M2=U.getOffset(U2),z2=U.getSize(U2),T2=Y.containerSize,w2=U.getTotalSize(),I=Math.max(0,w2-T2),V2=typeof N2==="string"?N2:N2.align??"start",O2=typeof N2==="object"?N2.behavior:void 0,F2=typeof N2==="object"?N2.duration:void 0,R2;switch(V2){case"center":R2=M2-(T2-z2)/2;break;case"end":R2=M2-T2+z2;break;default:R2=M2}if(R2=Math.max(0,Math.min(R2,I)),O2==="smooth"&&F2&&F2>0)o.smoothScrollTo(R2,F2);else o.scrollTo(R2)}),o.registerDestroyHandler(()=>{for(let[,G2]of x)G2.remove();if(x.clear(),h.clear(),K)K.destroy(),K=null;W.classList.remove(`${k}--grouped`)})},hooks:{onAfterScroll(o,H2){if(K)K.update(o)},onResize(o,H2){if(H<=0)return;Z(J.totalEntries),X2=Y.crossSize,p();let B2=f();if(V.style[G?"width":"height"]=B2+R+"px",K)K.refresh(),K.update(Y.scrollPosition);S=!0,K2()}},destroy(){if(K)K.destroy(),K=null;x.clear(),h.clear(),d.clear()}}}var L1=(Q,$=50,j=1/0,q=!0)=>{let J=Q,K=[],U=0,Y=()=>{K=J.map((O,z)=>({def:O,index:z,width:0,minWidth:J4(O.minWidth??$,1),maxWidth:O.maxWidth??j,resizable:O.resizable??q,offset:0}))},M=(O)=>{if(K.length===0){U=0;return}let z=0,v=0;for(let _=0;_<K.length;_++){let D=K[_],b=D.def;if(b.width!==void 0)D.width=k0(b.width,D.minWidth,D.maxWidth),z+=D.width;else v++}if(v){let D=Math.max(0,O-z)/v;for(let b=0;b<K.length;b++){let H=K[b];if(H.def.width===void 0)H.width=k0(D,H.minWidth,H.maxWidth)}}V()},V=()=>{let O=0;for(let z=0;z<K.length;z++){let v=K[z];v.offset=O,O+=v.width}U=O},W=(O,z)=>{if(O<0||O>=K.length)return 0;let v=K[O];if(!v.resizable)return v.width;let _=k0(z,v.minWidth,v.maxWidth);return v.width=_,V(),_},c=(O)=>{return K[O]},X=(O)=>{if(K.length===0)return;if(O<0)return K[0];if(O>=U)return K[K.length-1];let z=0,v=K.length-1;while(z<v){let _=z+v>>>1,D=K[_];if(O<D.offset)v=_-1;else if(O>=D.offset+D.width)z=_+1;else return D}return K[z]},w=(O)=>{if(O<0||O>=K.length)return 0;return K[O].offset},G=(O)=>{if(O<0||O>=K.length)return 0;return K[O].width},k=(O)=>{J=O,Y()};return Y(),{get columns(){return K},get totalWidth(){return U},resolve:M,updateColumns:k,resizeColumn:W,getColumn:c,getColumnAtX:X,getColumnOffset:w,getColumnWidth:G}},k0=(Q,$,j)=>Math.min(j,Math.max($,Q)),J4=(Q,$)=>Math.max($,Q);var F1=(Q,$,j,q,J,K)=>{let U=document.createElement("div");U.setAttribute("role","rowgroup");let Y=document.createElement("div");Y.className=`${j}-table-header`,Y.setAttribute("role","row"),Y.setAttribute("aria-rowindex","1"),Y.style.height=`${$}px`;let M=document.createElement("div");M.className=`${j}-table-header-scroll`,M.setAttribute("role","presentation"),Y.appendChild(M),U.appendChild(Y),Q.insertBefore(U,Q.firstChild),Q.style.setProperty("--vlist-table-header-height",`${$}px`);let V=[],W=[],c=!0,X=null,w="asc",G=null,k=!1,O=-1,z=0,v=0,_=0,D=(F,E)=>{let Z=document.createElement("div");Z.className=`${j}-table-header-cell`,Z.setAttribute("role","columnheader"),Z.setAttribute("aria-colindex",String(E+1)),Z.setAttribute("tabindex",E===0?"0":"-1"),Z.dataset.columnKey=F.def.key;let y=F.def.align;if(y==="center")Z.classList.add(`${j}-table-header-cell--center`);else if(y==="right")Z.classList.add(`${j}-table-header-cell--right`);let s=document.createElement("div");s.className=`${j}-table-header-content`;let m=F.def.header?F.def.header(F.def):F.def.label;if(typeof m==="string")s.textContent=m;else s.appendChild(m);if(Z.appendChild(s),F.def.sortable){let T=document.createElement("span");T.className=`${j}-table-header-sort`,T.setAttribute("aria-hidden","true"),Z.appendChild(T),W.push(T),Z.classList.add(`${j}-table-header-cell--sortable`)}else W.push(null);if(F.resizable){let T=document.createElement("div");T.className=`${j}-table-header-resize`,T.dataset.resizeIndex=String(E),Z.appendChild(T)}return Z},b=(F)=>{G=F,M.textContent="",V=[],W=[];let E=F.columns;for(let Z=0;Z<E.length;Z++){let y=E[Z],s=D(y,Z);V.push(s),M.appendChild(s)}if(H(F),X)A(X,w)},H=(F)=>{G=F;let E=F.columns;M.style.width=`${F.totalWidth}px`;for(let Z=0;Z<V.length&&Z<E.length;Z++){let y=V[Z],s=E[Z];y.style.width=`${s.width}px`}},A=(F,E)=>{if(X=F,w=E,!G)return;let Z=G.columns;for(let y=0;y<W.length&&y<Z.length;y++){let s=W[y];if(!s)continue;if(Z[y].def.key===F)s.textContent=E==="asc"?"▲":"▼",s.style.opacity="0.7",V[y].setAttribute("aria-sort",E==="asc"?"ascending":"descending");else s.textContent="",s.style.opacity="0",V[y].removeAttribute("aria-sort")}},L=(F)=>{M.style.transform=`translateX(${-F}px)`},u=(F)=>{let E=F.target;if(!E.dataset.resizeIndex)return;if(F.preventDefault(),F.stopPropagation(),O=+E.dataset.resizeIndex,!G)return;let Z=G.getColumn(O);if(!Z?.resizable)return;k=!0,z=F.clientX,v=Z.width,Q.classList.add(`${j}--col-resizing`),Q.style.cursor="col-resize",E.classList.add(`${j}-table-header-resize--active`),E.setPointerCapture(F.pointerId),E.addEventListener("pointermove",R),E.addEventListener("pointerup",x),E.addEventListener("pointercancel",x)},R=(F)=>{if(!k||!G)return;let E=F.clientX-z;if(Math.abs(E)<1)return;let Z=Math.max(0,v+E);q(O,Z)},x=(F)=>{if(!k)return;let E=F.target;E.removeEventListener("pointermove",R),E.removeEventListener("pointerup",x),E.removeEventListener("pointercancel",x);try{E.releasePointerCapture(F.pointerId)}catch{}E.classList.remove(`${j}-table-header-resize--active`),Q.classList.remove(`${j}--col-resizing`),Q.style.cursor="",k=!1,O=-1},h=(F)=>{let E=F.target;if(E.dataset.resizeIndex)return;if(k)return;let Z=E;while(Z&&!Z.dataset.columnKey)if(Z=Z.parentElement,Z===Y||Z===null)return;let y=Z.dataset.columnKey;if(!G)return;let s=G.columns,m=-1;for(let B=0;B<s.length;B++)if(s[B].def.key===y){m=B;break}if(m===-1)return;let T=s[m];if(K)K({key:y,index:m,event:F});if(T.def.sortable&&J){let B;if(X===y)B=w==="asc"?"desc":null;else B="asc";J({key:y,index:m,direction:B})}},d=(F)=>{if(F<0||F>=V.length)return;V[_]?.setAttribute("tabindex","-1"),_=F;let E=V[_];E.setAttribute("tabindex","0"),E.focus()},a=(F)=>{let E=F.key;if(E==="ArrowRight"){if(F.ctrlKey||F.metaKey){if(!G)return;let Z=G.getColumn(_);if(Z?.resizable)q(_,Z.width+10),F.preventDefault()}else if(_<V.length-1)d(_+1),F.preventDefault();F.stopPropagation();return}if(E==="ArrowLeft"){if(F.ctrlKey||F.metaKey){if(!G)return;let Z=G.getColumn(_);if(Z?.resizable)q(_,Z.width-10),F.preventDefault()}else if(_>0)d(_-1),F.preventDefault();F.stopPropagation();return}if(E==="Home"){d(0),F.preventDefault(),F.stopPropagation();return}if(E==="End"){d(V.length-1),F.preventDefault(),F.stopPropagation();return}if(E==="Enter"||E===" "){if(!G)return;let Z=G.getColumn(_);if(Z?.def.sortable&&J){let y;if(X===Z.def.key)y=w==="asc"?"desc":null;else y="asc";J({key:Z.def.key,index:_,direction:y}),F.preventDefault()}F.stopPropagation();return}if(E==="ArrowDown"){Q.focus(),F.preventDefault(),F.stopPropagation();return}};return Y.addEventListener("pointerdown",u),Y.addEventListener("click",h),Y.addEventListener("keydown",a),{element:Y,update:H,updateSort:A,rebuild:b,show:()=>{if(c)return;c=!0,Y.style.display=""},hide:()=>{if(!c)return;c=!1,Y.style.display="none"},destroy:()=>{Y.removeEventListener("pointerdown",u),Y.removeEventListener("click",h),Y.removeEventListener("keydown",a),Q.style.removeProperty("--vlist-table-header-height"),U.remove(),V=[],W=[],G=null,c=!1},syncScroll:L}};var Q4=()=>{let Q=[];return{acquire:()=>Q.pop()||document.createElement("div"),release:($)=>{if($.parentNode?.removeChild($),Q.length<200)$.className="",$.removeAttribute("data-id"),$.removeAttribute("data-index"),$.removeAttribute("aria-selected"),$.removeAttribute("aria-rowindex"),$.removeAttribute("role"),$.style.cssText="",$.textContent="",Q.push($)},clear:()=>{Q.length=0}}},E1=(Q,$,j,q,J,K,U,Y,M)=>{let V=Q4(),W=new Map,c=-1,X=j,w=null,G=null,k=null,O=(P,C)=>{G=P,k=C},z=(P,C)=>{C?P.setAttribute("aria-selected","true"):P.removeAttribute("aria-selected")},v=(P,C,e,X2)=>{P.setAttribute("role",C),P.setAttribute("data-id",String(e)),P.setAttribute("data-index",String(X2))},_=(P)=>String(P).startsWith("__placeholder_"),D=`${J}-item ${J}-table-row`,b=`${J}-item--selected`,H=`${J}-item--focused`,A=`${J}-table-cell`,L=`${J}-table-cell--center`,u=`${J}-table-cell--right`,R=`${J}-item--odd`,x=`${J}-item--placeholder`,h=`${J}-item--replaced`,d=`${J}-table-row ${J}-table-group-header`,a=`${J}-table-group-header-content`,r=(P,C,e,X2,t=!1)=>{if(e.def.cell){let K2=e.def.cell(C,e.def,X2);if(typeof K2==="string")P.innerHTML=K2;else P.replaceChildren(K2)}else{let K2=C[e.def.key],A2=K2!=null?String(K2):"";if(t&&A2)P.innerHTML=`<span>${A2}</span>`;else P.textContent=A2}},S=(P,C,e,X2,t=!1)=>{let K2=D;if(Y){if(w){let A2=w(C);if(A2>=0&&(A2&1)===1)K2+=` ${R}`}else if((C&1)===1)K2+=` ${R}`}if(t)K2+=` ${x}`;if(e)K2+=` ${b}`;if(X2)K2+=` ${H}`;P.className=K2},g=(P,C,e)=>{if(e?.compression?.isCompressed)return Math.round(u2(P,e.scrollPosition,C,e.totalItems,e.containerSize,e.compression,e.rangeStart));return C.getOffset(P)},F=(P,C)=>{let e=C.def.align;if(e==="center")P.classList.add(L),P.classList.remove(u);else if(e==="right")P.classList.add(u),P.classList.remove(L);else P.classList.remove(L,u)},E=(P,C)=>{let X2=X.columns.length;if(C.length===X2)return C;let t=[];for(let K2=0;K2<X2;K2++){let A2;if(K2<C.length)A2=C[K2];else A2=document.createElement("div"),A2.className=A,P.appendChild(A2);t.push(A2)}for(let K2=X2;K2<C.length;K2++)C[K2].remove();return t},Z=(P,C,e,X2)=>{let t=V.acquire(),K2=P,A2=e.getSize(C),o=g(C,e,X2);t.style.cssText=`width:${X.totalWidth}px;height:${A2}px;transform:translateY(${o}px)`,t.className=d,v(t,"presentation",P.id,C),t.removeAttribute("aria-selected"),t.removeAttribute("aria-rowindex"),t.replaceChildren();let H2=document.createElement("div");if(H2.className=a,k){let B2=k(K2.groupKey,K2.groupIndex);if(typeof B2==="string")H2.innerHTML=B2;else H2.appendChild(B2)}return t.appendChild(H2),{element:t,cells:[],index:C,isGroupHeader:!0,_lastItem:P,lastItemId:P.id,lastSelected:!1,lastFocused:!1,lastOffset:o,lastHeight:A2}},y=(P,C,e,X2,t,K2)=>{let A2=V.acquire(),o=t.getSize(C),H2=g(C,t,K2),B2=_(P.id);A2.style.cssText=`width:${X.totalWidth}px;height:${o}px;transform:translateY(${H2}px)`,S(A2,C,e,X2,B2),v(A2,"row",P.id,C),A2.id=`${K}-item-${C}`,A2.setAttribute("aria-rowindex",String(C+2)),z(A2,e);let $2=E(A2,[]),J2=X.columns;for(let q2=0;q2<$2.length&&q2<J2.length;q2++){let _2=$2[q2],L2=J2[q2];_2.style.cssText=`left:${L2.offset}px;width:${L2.width}px`,_2.setAttribute("role","gridcell"),_2.setAttribute("aria-colindex",String(q2+1)),F(_2,L2),r(_2,P,L2,C,B2)}return{element:A2,cells:$2,index:C,isGroupHeader:!1,_lastItem:P,lastItemId:P.id,lastSelected:e,lastFocused:X2,lastOffset:H2,lastHeight:o}},s=(P,C,e,X2,t)=>{let K2=!1,A2=U();if(A2!==c)c=A2,K2=!0;let o=null,H2=$();w=typeof Y==="string"&&M?M():null;for(let B2=C.start;B2<=C.end;B2++){let $2=B2-C.start,J2=P[$2];if(!J2)continue;let q2=e.has(J2.id),_2=B2===X2,L2=G?G(J2):!1,Z2=W.get(B2);if(Z2){if(Z2.isGroupHeader!==L2){V.release(Z2.element),W.delete(B2);let b2=L2?Z(J2,B2,H2,t):y(J2,B2,q2,_2,H2,t);if(W.set(B2,b2),!o)o=document.createDocumentFragment();o.appendChild(b2.element);continue}if(L2){if(Z2._lastItem!==J2){let P2=J2,y2=Z2.element.firstElementChild;if(y2&&k){let U2=k(P2.groupKey,P2.groupIndex);if(typeof U2==="string")y2.innerHTML=U2;else y2.replaceChildren(U2)}Z2.element.setAttribute("data-id",String(J2.id)),Z2._lastItem=J2,Z2.lastItemId=J2.id}let G2=g(B2,H2,t);if(Z2.lastOffset!==G2)Z2.lastOffset=G2,Z2.element.style.transform=`translateY(${G2}px)`;let N2=H2.getSize(B2);if(Z2.lastHeight!==N2)Z2.lastHeight=N2,Z2.element.style.height=`${N2}px`}else{let b2=Z2._lastItem!==J2,G2=Z2.lastSelected!==q2,N2=Z2.lastFocused!==_2;if(b2){let U2=Z2.lastItemId!=null&&_(Z2.lastItemId),M2=_(J2.id);if(!M2&&o2(e,B2,J2.id))q2=!0;let z2=X.columns;for(let T2=0;T2<Z2.cells.length&&T2<z2.length;T2++)r(Z2.cells[T2],J2,z2[T2],B2,M2);if(S(Z2.element,B2,q2,_2,M2),Z2.element.setAttribute("data-id",String(J2.id)),z(Z2.element,q2),U2&&!M2)Z2.element.classList.add(h),setTimeout(()=>{Z2.element.classList.remove(h)},300);Z2._lastItem=J2,Z2.lastItemId=J2.id,Z2.lastSelected=q2,Z2.lastFocused=_2}else if(G2||N2)S(Z2.element,B2,q2,_2,_(J2.id)),z(Z2.element,q2),Z2.lastSelected=q2,Z2.lastFocused=_2;let P2=g(B2,H2,t);if(Z2.lastOffset!==P2)Z2.lastOffset=P2,Z2.element.style.transform=`translateY(${P2}px)`;let y2=H2.getSize(B2);if(Z2.lastHeight!==y2)Z2.lastHeight=y2,Z2.element.style.height=`${y2}px`;if(K2)Z2.element.setAttribute("aria-rowindex",String(B2+2))}}else{if(o2(e,B2,J2.id))q2=!0;let b2=L2?Z(J2,B2,H2,t):y(J2,B2,q2,_2,H2,t);if(W.set(B2,b2),!o)o=document.createDocumentFragment();o.appendChild(b2.element)}}if(o)Q.appendChild(o);for(let[B2,$2]of W)if(B2<C.start||B2>C.end)V.release($2.element),W.delete(B2)},m=(P)=>{let C=$();for(let[e,X2]of W){let t=g(e,C,P);if(X2.lastOffset!==t)X2.lastOffset=t,X2.element.style.transform=`translateY(${t}px)`}},T=(P,C,e,X2)=>{let t=W.get(P);if(!t)return;if(t.isGroupHeader)return;let K2=X.columns;for(let A2=0;A2<t.cells.length&&A2<K2.length;A2++)r(t.cells[A2],C,K2[A2],P);t.element.setAttribute("data-id",String(C.id)),t._lastItem=C,t.lastItemId=C.id,S(t.element,P,e,X2),z(t.element,e),t.lastSelected=e,t.lastFocused=X2},B=(P,C,e)=>{let X2=W.get(P);if(!X2)return;if(X2.isGroupHeader)return;let t=X2.lastSelected!==C,K2=X2.lastFocused!==e;if(t||K2)S(X2.element,P,C,e),z(X2.element,C),X2.lastSelected=C,X2.lastFocused=e},p=(P)=>{X=P;let C=P.columns;for(let[,e]of W)if(e.element.style.width=`${P.totalWidth}px`,e.cells.length>0)for(let X2=0;X2<e.cells.length&&X2<C.length;X2++){let t=e.cells[X2],K2=C[X2];t.style.left=`${K2.offset}px`,t.style.width=`${K2.width}px`}},f=(P)=>{return W.get(P)?.element},l=()=>{for(let[,P]of W)V.release(P.element);W.clear(),c=-1};return{render:s,updatePositions:m,updateItem:T,updateItemClasses:B,getElement:f,updateColumnLayout:p,setGroupHeaderFn:O,clear:l,destroy:()=>{l(),V.clear()}}};var j4=new Set;function z0(Q){if(!Q.columns?.length)throw Error("[vlist] table: columns must be a non-empty array");if(Q.rowHeight===void 0&&Q.estimatedRowHeight===void 0)throw Error("[vlist] table: either rowHeight or estimatedRowHeight is required");let $=null,j=null,q=null,J,K,U=null,Y=null,M=null,V=!1,W=-1,c=null,X=!1;function w(){if(V||!U)return;V=!0,Y=U.getMethod("_getSelectedIds")??null,M=U.getMethod("_getFocusedIndex")??null}function G(){if(X||!U)return;X=!0,c=U.getMethod("_scale:getCompression")??null}let k=[],O={start:0,end:0},z={start:0,end:-1};function v(){if(J.destroyed||!U||!q||!$)return;let{containerSize:D,totalItems:b}=J;if(D<=0||b===0)return;let H=b+1;if(H!==W)W=H,U.dom.root.setAttribute("aria-rowcount",`${H}`);G();let A=J.scrollPosition,L=c?.()??null,u=L!==null&&L.isCompressed,R=U.config.overscan,x,h;if(u)x2(A,D,K,b,L,z),x=Math.max(0,z.start-R),h=Math.min(b-1,z.end+R);else{let F=K.indexAtOffset(A),E=K.indexAtOffset(A+D);if(E<b-1)E++;F=Math.max(0,F),E=Math.min(b-1,E),x=Math.max(0,F-R),h=Math.min(b-1,E+R)}if(x===J.prevRangeStart&&h===J.prevRangeEnd&&!J.renderPending)return;w();let d=Y?.()??j4,a=M?.()??-1;k.length=0;for(let F=x;F<=h;F++){let E=U.getItem(F);if(E)k.push(E)}O.start=x,O.end=h;let r;if(u)r={scrollPosition:A,totalItems:b,containerSize:D,rangeStart:x,compression:L};q.render(k,O,d,a,r),J.prevRangeStart=x,J.prevRangeEnd=h,J.renderPending=!1;let S=h-x+1;J.visibleCount=Math.min(S,J.capacity),J.startIndex=x;for(let F=0;F<J.visibleCount;F++){let E=x+F;J.visibleIndices[F]=E,J.visibleOffsets[F]=K.getOffset(E),J.visibleSizes[F]=K.getSize(E)}let g=K.getTotalSize();J.totalSize=g,U.dom.content.style.height=g+"px"}function _(){if(J.destroyed)return;J.prevRangeStart=-1,J.prevRangeEnd=-1,J.renderPending=!0,v()}return{name:"table",priority:10,conflicts:["grid","masonry"],setup(D){U=D,J=D.getState(),K=D.sizeCache;let{dom:b,config:H,emitter:A}=D,{classPrefix:L}=H;if(H.axis.primary==="x")throw Error("[vlist] table: cannot be used with horizontal orientation");if(H.reverse)throw Error("[vlist] table: cannot be used with reverse mode");let u=Q.resizable??!0,R=Q.minColumnWidth??50,x=Q.maxColumnWidth??1/0,h=Q.rowBorders??!0,d=Q.rowHeight,a=Q.headerHeight??(typeof d==="number"?d:40),r=Q.sort?.key??null,S=Q.sort?.direction??"asc";if($=L1(Q.columns,R,x,u),typeof d==="function"||typeof d==="number")D.setSizeConfig(d);if(D.rebuildSizeCache(),b.root.classList.add(`${L}--table`),h)b.root.classList.add(`${L}--table-row-borders`);if(Q.columnBorders)b.root.classList.add(`${L}--table-col-borders`);queueMicrotask(()=>{if(D.getMethod("_getSelectedIds"))b.root.setAttribute("tabindex","0")}),b.root.setAttribute("role","grid"),b.root.setAttribute("aria-colcount",`${Q.columns.length}`),b.viewport.setAttribute("role","none"),b.content.setAttribute("role","rowgroup");let g=J.crossSize;$.resolve(g);let F=()=>{if(!$)return;b.content.style.minWidth=`${$.totalWidth}px`},E=(T,B)=>{if(!$)return;let p=$.getColumn(T);if(!p)return;let f=p.width,l=$.resizeColumn(T,B);j?.update($),q?.updateColumnLayout($),F(),A.emit("column:resize",{key:p.def.key,index:T,previousWidth:f,width:l})},Z=(T)=>{r=T.direction===null?null:T.key,S=T.direction??"asc",j?.updateSort(r,S),A.emit("column:sort",T)};if(j=F1(b.root,a,L,E,Z),j.rebuild($),r)j.updateSort(r,S);F(),q=E1(b.content,()=>K,$,Q.columns,L,L,()=>J.totalItems,H.striped||void 0),D.setRenderFn(v,_);let y=j,s=-1,m=()=>{let T=b.viewport.scrollLeft;if(T!==s)s=T,y?.syncScroll?.(T)};b.viewport.addEventListener("scroll",m,{passive:!0}),D.registerMethod("updateColumns",(T)=>{if(!$||!j)return;if($.updateColumns(T),$.resolve(J.crossSize),j.rebuild($),r)j.updateSort(r,S);F(),q?.updateColumnLayout($),q?.clear(),D.forceRender()}),D.registerMethod("resizeColumn",(T,B)=>{if(!$)return;let p;if(typeof T==="string"){let f=$.columns;p=-1;for(let l=0;l<f.length;l++)if(f[l].def.key===T){p=l;break}if(p===-1)return}else p=T;E(p,B)}),D.registerMethod("getColumnWidths",()=>{if(!$)return{};let T={},B=$.columns;for(let p=0;p<B.length;p++)T[B[p].def.key]=B[p].width;return T}),D.registerMethod("setSort",(T,B)=>{r=T,S=B??"asc",j?.updateSort(r,S)}),D.registerMethod("getSort",()=>{return{key:r,direction:S}}),D.registerMethod("_getTableLayout",()=>$),D.registerMethod("_getTableHeaderHeight",()=>a),D.registerMethod("_updateRenderedItem",(T,B,p,f)=>{q?.updateItem(T,B,p,f)}),D.registerMethod("_replaceTableRenderer",(T)=>{q=T}),D.registerMethod("_updateTableForGroups",(T,B)=>{q?.setGroupHeaderFn(T,B)}),D.registerMethod("_updateItemClasses",(T,B,p)=>{q?.updateItemClasses(T,B,p)}),D.registerKeydownHandler((T)=>{if(T.key!=="ArrowLeft"&&T.key!=="ArrowRight")return;if(!$)return;let B=$.columns;if(B.length===0)return;let p=b.viewport.clientWidth;if($.totalWidth<=p)return;let f=b.viewport.scrollLeft;if(T.key==="ArrowRight"){for(let l=0;l<B.length;l++)if(B[l].offset>f+1){b.viewport.scrollLeft=B[l].offset,T.preventDefault();return}}else{for(let l=B.length-1;l>=0;l--)if(B[l].offset<f-1){b.viewport.scrollLeft=B[l].offset,T.preventDefault();return}if(f>0)b.viewport.scrollLeft=0,T.preventDefault()}}),D.registerDestroyHandler(()=>{b.viewport.removeEventListener("scroll",m),j?.destroy(),j=null,q?.destroy(),q=null,b.content.style.minWidth="",b.root.classList.remove(`${L}--table`),b.root.classList.remove(`${L}--table-row-borders`),b.root.classList.remove(`${L}--table-col-borders`),b.root.removeAttribute("role"),b.root.removeAttribute("aria-colcount"),b.root.removeAttribute("aria-rowcount"),b.root.removeAttribute("tabindex"),b.viewport.removeAttribute("role"),b.content.removeAttribute("role")})},hooks:{onResize(D,b){if(!$||!U)return;let H=J.crossSize;if($.resolve(H),j?.update($),q?.updateColumnLayout($),$)U.dom.content.style.minWidth=`${$.totalWidth}px`},onAfterScroll(){if(!U||!j)return;j?.syncScroll?.(U.dom.viewport.scrollLeft)}},destroy(){j?.destroy(),j=null,q?.destroy(),q=null,U=null}}}function P0(Q){let $=Q?.handle??null,j=Q?.ghostClass??"vlist-sort-ghost",q=Q?.shiftDuration??150,J=Q?.edgeScrollZone??40,K=Q?.edgeScrollSpeed??20,U=Q?.dragThreshold??5,Y=Q?.ghostContainer??null,M,V,W=null,c,X,w,G,k,O,z,v,_,D,b=!1,H=-1,A=-1,L=0,u=0,R=0,x=0,h=!1,d=null,a=0,r=null,S=0,g=0,F=0,E=null,Z=!1,y="",s=-1,m=-1,T=[],B="",p=null,f=null,l="",i=!1,P=(N)=>{return N.closest("[data-index]")},C=(N)=>{let Q2=N.dataset.index;return Q2===void 0?-1:+Q2},e=(N)=>{let Q2=N.getBoundingClientRect(),Y2=N.cloneNode(!0);return Y2.className=`${G}-item ${j}`,Y2.removeAttribute("data-index"),Y2.style.cssText=`position:fixed;pointer-events:none;z-index:10000;width:${Q2.width}px;height:${Q2.height}px;left:${Q2.left}px;top:${Q2.top}px;transition:none;will-change:transform`,(Y||document.body).appendChild(Y2),Y2},X2=()=>{if(!d)return;d.style.left=`${R-g}px`,d.style.top=`${x-F}px`},t=()=>{let N=M.totalItems;if(N===0)return 0;let Q2=X.getBoundingClientRect(),Y2=M.scrollPosition,n=k?R-g-Q2.left+X.scrollLeft+Y2:x-F-Q2.top+Y2,j2=n+S,D2=V.getOffset(H)+V.getSize(H);if(j2>D2){let k2=V.indexAtOffset(j2),v2=V.getOffset(k2)+V.getSize(k2)/2,S2=j2>v2?k2:k2-1;return Math.min(Math.max(S2,H),N-1)}let E2=V.getOffset(H);if(n<E2){let k2=V.indexAtOffset(n),v2=V.getOffset(k2)+V.getSize(k2)/2,S2=n<v2?k2:k2+1;return Math.max(Math.min(S2,H),0)}return H},K2=()=>{let N=c.children,Q2=S;for(let Y2=0;Y2<N.length;Y2++){let n=N[Y2],j2=C(n);if(j2<0||j2===H)continue;let D2=0;if(A>H){if(j2>H&&j2<=A)D2=-Q2}else if(A<H){if(j2>=A&&j2<H)D2=Q2}let E2=V.getOffset(j2),k2=Math.round(E2+D2);n.style.transition=z,n.style.transform=`${O}(${k2}px)`}},A2=()=>{let N=c.children;for(let Q2=0;Q2<N.length;Q2++){let Y2=N[Q2],n=C(Y2);if(n>=0)Y2.style.transform=`${O}(${Math.round(V.getOffset(n))}px)`;Y2.style.transition=""}},o=()=>{if(!W)return;let N=t();if(N===A)return;A=N,K2(),W.emitter.emit("sort:move",{fromIndex:H,currentIndex:A})},H2=()=>{let N=X.getBoundingClientRect();if(k)return R<N.left||R>N.right;return x<N.top||x>N.bottom},B2=()=>{let N=W?.getMethod("_getFocusedIndex");return N?N():-1},$2=(N)=>{let Q2=W?.getMethod("_focusById");if(Q2)Q2(N)},J2=(N)=>{if(!W)return;let Q2=k?X.clientWidth:X.clientHeight,Y2=M.scrollPosition,n=V.getOffset(N),j2=n+V.getSize(N);if(n<Y2)W.scrollTo(Math.max(0,n));else if(j2>Y2+Q2)W.scrollTo(j2-Q2)},q2=(N)=>{if(!f)return;f.textContent="",f.offsetHeight,f.textContent=N},_2=(N)=>{if(!W)return"";let Y2=W.getItems()[N];if(!Y2)return"";return c.querySelector(`[data-index="${N}"]`)?.textContent?.trim()||String(Y2.id)},L2=()=>String(M.totalItems),Z2=(N)=>{let Q2=c.children;for(let Y2=0;Y2<Q2.length;Y2++)Q2[Y2].style.transition=N},b2=()=>{let N=()=>{if(!b||!W)return;let Q2=X.getBoundingClientRect(),Y2=0,n=3;if(k){let D2=R-Q2.left,E2=Q2.right-R;if(D2<J){let k2=Math.min(n,1-D2/J);Y2=-K*k2*k2}else if(E2<J){let k2=Math.min(n,1-E2/J);Y2=K*k2*k2}}else{let D2=x-Q2.top,E2=Q2.bottom-x;if(D2<J){let k2=Math.min(n,1-D2/J);Y2=-K*k2*k2}else if(E2<J){let k2=Math.min(n,1-E2/J);Y2=K*k2*k2}}let j2=H2();if(Y2!==0){let D2=M.scrollPosition,E2=V.getTotalSize()-(k?X.clientWidth:X.clientHeight);if(Y2<0&&D2<=0||Y2>0&&D2>=E2)i=j2;else i=!0,W.scrollTo(D2+Y2)}else i=j2;a=requestAnimationFrame(N)};a=requestAnimationFrame(N)},G2=()=>{if(a)cancelAnimationFrame(a),a=0},N2=(N=!1)=>{if(b=!1,h=!1,d&&d.parentNode)d.remove();d=null,r=null;let Q2=c.children;for(let n=0;n<Q2.length;n++){let j2=Q2[n];j2.classList.remove(D);let D2=C(j2);if(D2>=0)j2.style.transform=`${O}(${Math.round(V.getOffset(D2))}px)`;j2.style.transition=""}G2(),w.classList.remove(v),document.body.style.cursor="";let Y2=window.getSelection();if(Y2)Y2.removeAllRanges();if(document.removeEventListener("pointermove",U2),document.removeEventListener("pointerup",M2),document.removeEventListener("pointercancel",T2),!N&&W)W.forceRender()},P2=(N,Q2)=>{if(!W)return;let Y2=N!==Q2&&N>=0&&Q2>=0,n=()=>{if(!W)return;if(b=!1,Y2){if(w.classList.add(_),W.emitter.emit("sort:end",{fromIndex:N,toIndex:Q2}),E!==null)$2(E);N2(!0),requestAnimationFrame(()=>w.classList.remove(_))}else w.classList.add(_),W.emitter.emit("sort:cancel",{originalItems:[...W.getItems()]}),N2(!1),requestAnimationFrame(()=>w.classList.remove(_))};if(!d){n();return}let j2=X.getBoundingClientRect(),D2=M.scrollPosition,E2=V.getOffset(Q2),k2=q>0?q:150;if(d.style.transition=`left ${k2}ms ease, top ${k2}ms ease`,k)d.style.left=`${j2.left-X.scrollLeft+E2-D2}px`,d.style.top=`${j2.top}px`;else d.style.left=`${j2.left}px`,d.style.top=`${j2.top+E2-D2}px`;let v2=!1,S2=()=>{if(v2)return;v2=!0,d?.removeEventListener("transitionend",S2),n()};d.addEventListener("transitionend",S2),setTimeout(S2,k2+50)},y2=(N)=>{if(M.destroyed||!W)return;if(b)return;if(Z)F2();if(N.button!==0)return;let Q2=N.target;if($){if(!Q2.closest($))return}let Y2=P(Q2);if(!Y2)return;let n=C(Y2);if(n<0)return;L=N.clientX,u=N.clientY,R=N.clientX,x=N.clientY,H=n,h=!1,r=Y2;let j2=Y2.getBoundingClientRect();g=N.clientX-j2.left,F=N.clientY-j2.top,document.addEventListener("pointermove",U2),document.addEventListener("pointerup",M2),document.addEventListener("pointercancel",T2)};function U2(N){if(!W)return;if(R=N.clientX,x=N.clientY,!h){let Q2=R-L,Y2=x-u;if(Math.sqrt(Q2*Q2+Y2*Y2)<U)return;if(h=!0,b=!0,A=H,w.classList.add(v),document.body.style.cursor="grabbing",S=V.getSize(H),r)d=e(r),r.classList.add(D);let n=B2();if(n>=0){let D2=W.getItems()[n];E=D2?D2.id:null}else E=null;W.emitter.emit("sort:start",{index:H}),b2()}if(b){if(N.preventDefault(),X2(),!i)o();else if(H2()){if(A!==H)A=H,A2()}}}function M2(N){if(!h){document.removeEventListener("pointermove",U2),document.removeEventListener("pointerup",M2),document.removeEventListener("pointercancel",T2),r=null;return}N.preventDefault(),document.removeEventListener("pointermove",U2),document.removeEventListener("pointerup",M2),document.removeEventListener("pointercancel",T2),G2(),P2(H,A)}let z2=()=>{if(!h)return;document.removeEventListener("pointermove",U2),document.removeEventListener("pointerup",M2),document.removeEventListener("pointercancel",T2),G2(),A2(),P2(H,H)};function T2(){z2()}let w2=()=>{let N=c.querySelectorAll(`.${l}`);for(let Q2=0;Q2<N.length;Q2++)N[Q2].classList.remove(l)},I=()=>{w2();let N=c.querySelector(`[data-id="${y}"]`);if(N)N.classList.add(l)},V2=(N)=>{if(!W)return;let Q2=W.getItems(),Y2=Q2[N];if(!Y2)return;Z=!0,y=Y2.id,s=N,m=N,T=[...Q2],w.classList.add(v),W.emitter.emit("sort:start",{index:N}),I(),q2(`Grabbed ${_2(N)}. Current position ${N+1} of ${L2()}. Use Up and Down arrow keys to move, Space to drop, Escape to cancel.`)},O2=()=>{if(!Z||!W)return;Z=!1;let N=m,Q2=_2(N);Z2("none"),w.classList.remove(v),w2(),$2(y),W.forceRender(),q2(`${Q2} dropped. Final position ${N+1} of ${L2()}.`),T=[],requestAnimationFrame(()=>Z2(""))},F2=()=>{if(!Z||!W)return;Z=!1;let N=s;if(Z2("none"),w.classList.remove(v),w2(),m!==N)W.emitter.emit("sort:cancel",{originalItems:T});$2(y),W.forceRender(),J2(N),q2(`Reorder cancelled. Returned to position ${N+1} of ${L2()}.`),T=[],requestAnimationFrame(()=>Z2(""))},R2=(N)=>{if(!Z||!W)return;let Q2=M.totalItems,Y2=m+N;if(Y2<0||Y2>=Q2)return;let n=m,j2=Y2;Z2("none"),W.emitter.emit("sort:end",{fromIndex:n,toIndex:j2}),m=j2,$2(y),W.forceRender(),J2(j2),I(),q2(`${_2(j2)} moved. New position ${j2+1} of ${L2()}.`),requestAnimationFrame(()=>Z2(""))},W2=(N)=>{if(M.destroyed)return;if(b){if(N.key==="Escape")N.preventDefault(),N.stopImmediatePropagation(),z2();return}if(Z)switch(N.key){case" ":case"Enter":N.preventDefault(),N.stopImmediatePropagation(),O2();return;case"Escape":N.preventDefault(),N.stopImmediatePropagation(),F2();return;case"ArrowUp":case"ArrowLeft":N.preventDefault(),N.stopImmediatePropagation(),R2(-1);return;case"ArrowDown":case"ArrowRight":N.preventDefault(),N.stopImmediatePropagation(),R2(1);return;default:if(!N.key.startsWith("F")&&N.key!=="Tab")N.preventDefault(),N.stopImmediatePropagation();return}if(N.key===" "&&!N.shiftKey&&!N.ctrlKey&&!N.metaKey){let Q2=B2();if(Q2>=0)N.preventDefault(),N.stopImmediatePropagation(),V2(Q2)}};return{name:"sortable",priority:30,conflicts:["grid","masonry","table","scale","tree"],setup(N){W=N,M=N.getState(),V=N.sizeCache,c=N.dom.content,X=N.dom.viewport,w=N.dom.root,G=N.config.classPrefix,k=N.config.axis.primary==="x",O=k?"translateX":"translateY",z=q>0?`transform ${q}ms ease`:"none",v=`${G}--sorting`,_=`${G}--settling`,D=`${G}-item--drag-source`,l=`${G}-item--kb-sorting`,N.registerMethod("isSorting",()=>b||Z),c.addEventListener("pointerdown",y2),w.addEventListener("keydown",W2),B=`${G}-sort-instructions`,p=document.createElement("div"),p.id=B,p.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",p.textContent="Press Space to reorder. Use arrow keys to move, Space to drop, Escape to cancel.",w.appendChild(p),f=document.createElement("div"),f.setAttribute("role","status"),f.setAttribute("aria-live","assertive"),f.setAttribute("aria-atomic","true"),f.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",w.appendChild(f),N.registerDestroyHandler(()=>{if(Z)F2();N2(),c.removeEventListener("pointerdown",y2),w.removeEventListener("keydown",W2),p?.remove(),f?.remove()})},hooks:{onCommit(){if(!W)return;let N=c.children;for(let Q2=0;Q2<N.length;Q2++){let Y2=N[Q2],n=C(Y2);if(n<0)continue;if(Y2.setAttribute("aria-roledescription","sortable item"),Y2.setAttribute("aria-describedby",B),Z)if(Y2.getAttribute("data-id")===String(y))Y2.classList.add(l);else Y2.classList.remove(l);if(b)if(n===H)Y2.classList.add(D),r=Y2;else{Y2.classList.remove(D);let j2=0;if(A>H){if(n>H&&n<=A)j2=-S}else if(A<H){if(n>=A&&n<H)j2=S}let D2=Math.round(V.getOffset(n)+j2);Y2.style.transform=`${O}(${D2}px)`}}}},destroy(){if(d&&d.parentNode)d.remove();d=null,G2(),p?.remove(),f?.remove(),W=null}}}function y0(Q,$){let j=[],q=$,J=new Map,K=[];function U(){J.clear();for(let H=0;H<j.length;H++)J.set(j[H].id,H)}function Y(H){let A=j[H].depth,L=0;for(let u=H+1;u<j.length;u++){if(j[u].depth<=A)break;L++}return L}function M(H,A,L,u){for(let R=0;R<H.length;R++){let x=H[R],h=x.id,d=Q(x),a=d.length>0,r=a&&q.has(h);if(u.push({item:x,id:h,depth:L,parentId:A,hasChildren:a,expanded:r,childCount:d.length,siblingCount:H.length,positionInSiblings:R,isLastChild:R===H.length-1,loading:!1}),r)M(d,h,L+1,u)}}function V(H,A,L){for(let u of H){if(u.id===A)return u;let R=Q(u);if(R.length>0){L?.push(u.id);let x=V(R,A,L);if(x)return x;L?.pop()}}return}function W(H,A){if(A===null)return K;let L=V(K,A);return L?Q(L):[]}function c(H,A){let L=V(K,A);if(!L)return!1;return V(Q(L),H)!==void 0}function X(H){let A=new Set;function L(u){for(let R of u){if(A.has(R.id))throw Error(`[vlist] tree: duplicate id "${R.id}"`);A.add(R.id);let x=Q(R);if(x.length>0)L(x)}}L(H)}function w(H,A){if(K=H,!A)X(H);j.length=0,M(H,null,0,j),U()}function G(H){let A=J.get(H);if(A===void 0)return 0;let L=j[A];if(!L.hasChildren||L.expanded)return 0;let u=[],R=Q(L.item);if(M(R,H,L.depth+1,u),u.length===0)return 0;L.expanded=!0,q.add(H);let x=A+1,h=j.splice(x);for(let d=0;d<u.length;d++)j.push(u[d]);for(let d=0;d<h.length;d++)j.push(h[d]);return U(),u.length}function k(H){let A=J.get(H);if(A===void 0)return 0;let L=j[A];if(!L.hasChildren||!L.expanded)return 0;L.expanded=!1,q.delete(H);let u=Y(A);if(u>0)j.splice(A+1,u),U();return u}function O(H){function A(L){for(let u of L){let R=Q(u);if(R.length>0)q.add(u.id),A(R)}}A(H),w(H)}function z(){q.clear(),w(K,!0)}function v(H){let A=[];if(!V(K,H,A))return;for(let L of A)q.add(L);w(K,!0)}function _(H,A,L){if(J.has(A.id)||V(K,A.id))throw Error(`[vlist] tree: duplicate id "${A.id}"`);if(H===null){let d=K,a=L??d.length;d.splice(a,0,A),w(K,!0);return}let u=J.get(H);if(u===void 0)throw Error(`[vlist] tree: parent "${H}" not found`);let R=j[u],x=Q(R.item),h=L??x.length;if(x.splice(h,0,A),!R.hasChildren)R.hasChildren=!0,R.childCount=1,R.expanded=!1;else R.childCount=x.length;if(R.expanded)w(K,!0);else U()}function D(H){let A=J.get(H);if(A===void 0)return 0;let L=j[A],R=Y(A)+1;for(let d=A;d<A+R;d++)q.delete(j[d].id);if(j.splice(A,R),L.parentId!==null){let d=J.get(L.parentId);if(d!==void 0){let a=j[d];if(a.childCount--,a.childCount===0)a.hasChildren=!1,a.expanded=!1,q.delete(a.id)}}let x=W(H,L.parentId),h=x.findIndex((d)=>d.id===H);if(h>=0)x.splice(h,1);return w(K,!0),R}function b(H,A,L){if(A!==null&&c(A,H))throw Error(`[vlist] tree: cannot move "${H}" to its own descendant "${A}"`);if(H===A)throw Error(`[vlist] tree: cannot move "${H}" to itself`);let u=J.get(H);if(u===void 0)return;let R=j[u],x=W(H,R.parentId),h=x.findIndex((d)=>d.id===H);if(h>=0)x.splice(h,1);if(A===null){let d=K,a=L??d.length;d.splice(a,0,R.item)}else{let d=V(K,A);if(!d)throw Error(`[vlist] tree: new parent "${A}" not found`);let a=Q(d),r=L??a.length;a.splice(r,0,R.item)}w(K,!0)}return{flatNodes:j,expandedIds:q,idToIndex:J,rebuild:w,expand:G,collapse:k,expandAll:O,collapseAll:z,expandTo:v,getSubtreeSize:Y,addChild:_,removeNode:D,moveNode:b,get totalVisible(){return j.length},get rootItems(){return K}}}var q4=()=>[];function Z4(Q){let{children:$,parentId:j}=Q;if(j!==void 0)return q4;if($===void 0||$==="children")return(q)=>q.children??[];if(typeof $==="string"){let q=$;return(J)=>J[q]??[]}return $}function Y4(Q){let{label:$}=Q;if($===void 0)return(j)=>{let q=j;return String(q.name??q.label??q.title??j.id)};if(typeof $==="string"){let j=$;return(q)=>String(q[j]??q.id)}return $}function K4(Q,$,j){let{expanded:q}=Q,J=new Set;if(q===void 0||q===!1)return J;if(Array.isArray(q)){for(let Y of q)J.add(Y);return J}let K=q===!0?null:q;function U(Y){for(let M of Y){let V=j(M);if(V.length>0){if(!K||K(M))J.add(M.id);U(V)}}}return U($),J}function R1(Q,$){let{parentId:j}=$;if(j===void 0)throw Error("[vlist] tree: parentId not set");let q=typeof j==="string"?(Y)=>Y[j]??null:j,J=(Y)=>q(Y)??null,K=new Map,U=new Map;for(let Y of Q){U.set(Y.id,Y);let M=J(Y),V=K.get(M);if(!V)V=[],K.set(M,V);V.push(Y)}for(let Y of Q){let M=J(Y);if(M!==null&&M!==void 0&&!U.has(M))console.warn(`[vlist] tree: orphaned node "${Y.id}" — parentId "${M}" not found`)}return{roots:K.get(null)??[],getChildren:(Y)=>{let M=K.get(Y.id);if(!M)M=[],K.set(Y.id,M);return M}}}var g2={selected:!1,focused:!1},l2={depth:0,expanded:!1,hasChildren:!1,isLeaf:!0,isLastChild:!1,loading:!1};g2.tree=l2;function w0(Q){let $=Q??{},j=$.indent??24,q=$.paddingStart??0,J=$.expandOnClick??!1,K=$.connectorLines??!1,U=$.parentId!==void 0,Y,M,V,W,c,X,w,G,k,O,z=null,v,_,D,b=null,H=!1,A,L,u,R,x,h,d,a=new Map,r=-1,S=-1,g=-1,F=!0,E=null,Z=!1,y,s=-1,m=!1,T=!1,B="",p=null,f={start:0,end:-1};function l(){if(H)return;H=!0,b=v("_scale:getCompression")??null}function i(){if(T){let I=v("_getFocusedIndex");return I?I():-1}return m?s:-1}let P,C,e;function X2(){if(C!==void 0)return;P=v("select")??null,C=v("_focusById")??null,e=v("_isFollowFocus")??null}function t(I){if(I<0||I>=Y.totalVisible)return;let V2=Y.flatNodes[I];if(!V2)return;if(T){if(X2(),C)C(V2.id);if(e?.()&&P)P(V2.id);else o();K2(I)}else s=I,m=!0,c.setAttribute("aria-activedescendant",`${k}-item-${I}`),K2(I),o()}function K2(I){let V2=M.getOffset(I),O2=M.getSize(I),F2=V.scrollPosition,R2=V.containerSize;if(V2<F2)A2(V2);else if(V2+O2>F2+R2)A2(V2-R2+O2)}let A2,o,H2;function B2(I){return G?`translate(${Math.round(I)}px, 0)`:`translate(0, ${Math.round(I)}px)`}function $2(I){if(I===g)return;g=I,c.style[G?"width":"height"]=I+"px"}function J2(){a.forEach((I)=>{I.remove(),W.release(I)}),a.clear()}let q2=0;function _2(){let I=H2();if(I===E&&I.length===q2)return;if(E=I,q2=I.length,U){let{roots:V2,getChildren:O2}=R1(I,$),F2=$.loadChildren?(R2)=>b2.get(R2.id)??O2(R2):O2;Y=y0(F2,Y.expandedIds),Y.rebuild(V2,!0)}else Y.rebuild(I,!0);L2(),J2()}function L2(){V.totalItems=Y.totalVisible,y(Y.totalVisible);let I=M.getTotalSize();$2(I);let V2=v("_scrollbar:getInstance");if(V2)V2()?.updateBounds(I,V.containerSize)}function Z2(){L2(),J2(),o()}let b2=new Map,G2=new Set;async function N2(I){if(!$.loadChildren||G2.has(I))return;let V2=Y.idToIndex.get(I);if(V2===void 0)return;let O2=Y.flatNodes[V2];G2.add(I),O2.loading=!0,queueMicrotask(()=>o());try{let F2=await $.loadChildren(O2.item);G2.delete(I);let R2=Y.idToIndex.get(I);if(R2===void 0)return;let W2=Y.flatNodes[R2];if(W2.loading=!1,b2.set(I,F2),W2.hasChildren=F2.length>0,W2.childCount=F2.length,F2.length>0)W2.expanded=!0,Y.expandedIds.add(I),Y.rebuild(Y.rootItems);Z2(),_.emit("tree:load",{id:I,item:W2.item,children:F2})}catch(F2){G2.delete(I),b2.set(I,[]);let R2=Y.idToIndex.get(I);if(R2!==void 0)Y.flatNodes[R2].loading=!1;o(),_.emit("tree:load:error",{id:I,item:O2.item,error:F2})}}function P2(I){let V2=Y.idToIndex.get(I);if(V2===void 0)return;let O2=Y.flatNodes[V2];if($.loadChildren&&!O2.hasChildren&&!O2.loading){if(!b2.has(I)){N2(I);return}}if(Y.expand(I)===0)return;Z2(),_.emit("tree:expand",{id:I,item:O2.item,depth:O2.depth})}function y2(I){let V2=Y.idToIndex.get(I);if(V2===void 0)return;let O2=Y.flatNodes[V2],F2=Y.collapse(I);if(F2===0)return;if(!T&&s>V2){if(s<=V2+F2)s=V2;else s-=F2;if(m)c.setAttribute("aria-activedescendant",`${k}-item-${s}`)}Z2(),_.emit("tree:collapse",{id:I,item:O2.item,depth:O2.depth})}function U2(I,V2,O2,F2){let{depth:R2,expanded:W2,hasChildren:N,loading:Q2,siblingCount:Y2,positionInSiblings:n,isLastChild:j2,id:D2}=V2;if(I.className=A,W2)I.classList.add(L);if(!N)I.classList.add(u);if(Q2)I.classList.add(R);if(K&&j2)I.classList.add(x);if(I.setAttribute("role","treeitem"),I.setAttribute("data-index",String(O2)),I.setAttribute("data-id",String(D2)),I.id=`${k}-item-${O2}`,I.setAttribute("aria-level",String(R2+1)),I.setAttribute("aria-setsize",String(Y2)),I.setAttribute("aria-posinset",String(n+1)),N)I.setAttribute("aria-expanded",String(W2));else I.removeAttribute("aria-expanded");if(I.style.paddingLeft=`${q+R2*j}px`,I.style.setProperty("--vlist-tree-depth",String(R2)),K)I.style.setProperty("--vlist-tree-indent",`${j}px`),I.style.setProperty("--vlist-tree-pad",`${q}px`);if(F2)F2(O2,g2);else g2.selected=!1,g2.focused=!1;l2.depth=R2,l2.expanded=W2,l2.hasChildren=N,l2.isLeaf=!N,l2.isLastChild=j2,l2.loading=Q2;let E2=w(V2.item,O2,g2);if(typeof E2==="string")I.innerHTML=E2;else I.innerHTML="",I.appendChild(E2);p2(I)}function M2(){if(V.destroyed)return;if(_2(),!Z){if(Z=!0,c.setAttribute("role","tree"),c.setAttribute("tabindex","0"),X.classList.add(`${k}--tree`),K)X.classList.add(`${k}--tree-lines`)}let{scrollPosition:I,containerSize:V2}=V;if(!F&&I===r&&V2===S)return;r=I,S=V2,F=!1;let O2=Y.totalVisible;if(V2<=0||O2===0){if(a.size>0)J2();return}l();let F2=b?.()??null,R2=F2!==null&&F2.isCompressed,W2,N;if(R2)x2(I,V2,M,O2,F2,f),W2=Math.max(0,f.start-O),N=Math.min(O2-1,f.end+O);else{let j2=M.indexAtOffset(I),D2=M.indexAtOffset(I+V2);if(D2<O2-1)D2++;j2=Math.max(0,j2),D2=Math.min(O2-1,Math.max(0,D2)),W2=Math.max(0,j2-O),N=Math.min(O2-1,D2+O)}if(W2===V.prevRangeStart&&N===V.prevRangeEnd&&!V.renderPending)return;a.forEach((j2,D2)=>{if(D2<W2||D2>N)j2.remove(),W.release(j2),a.delete(D2)});let Q2=z?.()??null,Y2=null;for(let j2=W2;j2<=N;j2++){let D2=Y.flatNodes[j2],E2=a.get(j2);if(E2===void 0){if(E2=W.acquire(),U2(E2,D2,j2,Q2),E2.style[G?"width":"height"]=`${M.getSize(j2)}px`,a.set(j2,E2),!Y2)Y2=document.createDocumentFragment();Y2.appendChild(E2)}else if(E2.getAttribute("data-id")!==String(D2.id)||E2.classList.contains(R)!==D2.loading)U2(E2,D2,j2,Q2);if(E2.style.transform=R2?B2(u2(j2,I,M,O2,V2,F2)):B2(M.getOffset(j2)),Q2)if(Q2(j2,g2),E2.classList.toggle(h,g2.selected),E2.classList.toggle(d,g2.focused),g2.selected)E2.setAttribute("aria-selected","true");else E2.removeAttribute("aria-selected");else if(!T){let k2=m&&s===j2;E2.classList.toggle(d,k2)}}if(Y2)c.appendChild(Y2);$2(M.getTotalSize()),V.prevRangeStart=W2,V.prevRangeEnd=N,V.renderPending=!1;let n=0;for(let j2=W2;j2<=N&&n<V.capacity;j2++)V.visibleIndices[n]=j2,V.visibleOffsets[n]=M.getOffset(j2),V.visibleSizes[n]=M.getSize(j2),n++;V.visibleCount=n,V.startIndex=W2}function z2(){if(V.destroyed)return;V.prevRangeStart=-1,V.prevRangeEnd=-1,V.renderPending=!0,F=!0,M2()}function T2(I,V2){if(B+=I.toLowerCase(),p!==null)clearTimeout(p);p=setTimeout(()=>{B="",p=null},500);let O2=Y.totalVisible;for(let F2=1;F2<=O2;F2++){let R2=(V2+F2)%O2,W2=Y.flatNodes[R2];if(D(W2.item).toLowerCase().startsWith(B)){t(R2);return}}}function w2(I){let V2=!1;for(let O2 of Y.flatNodes)if(O2.parentId===I.parentId&&O2.hasChildren&&!O2.expanded)Y.expandedIds.add(O2.id),V2=!0;if(!V2)return;Y.rebuild(Y.rootItems,!0),Z2()}return{name:"tree",priority:10,conflicts:["groups","grid","masonry","table"],setup(I){M=I.sizeCache,V=I.getState(),W=I.pool,c=I.dom.content,X=I.dom.root,w=I.template,G=I.config.axis.primary==="x",k=I.config.classPrefix,O=I.config.overscan,_=I.emitter,z=I.getItemStateFn.bind(I),v=I.getMethod.bind(I),A2=I.scrollTo.bind(I),o=I.forceRender.bind(I),H2=I.getItems.bind(I),A=`${k}-item ${k}-tree-node`,L=`${k}-tree-node--expanded`,u=`${k}-tree-node--leaf`,R=`${k}-tree-node--loading`,x=`${k}-tree-node--last`,h=`${k}-item--selected`,d=`${k}-item--focused`;let V2=I.getItems();E=V2,q2=V2.length;let O2,F2;if(U){let n=R1(V2,$);O2=n.getChildren,F2=n.roots}else O2=Z4($),F2=V2;let R2=$.loadChildren?(n)=>b2.get(n.id)??O2(n):O2;D=Y4($);let W2=K4($,F2,R2);Y=y0(R2,W2),Y.rebuild(F2),y=M.rebuild,M.rebuild=(n)=>{y(Y.totalVisible)},M.rebuild(Y.totalVisible),V.totalItems=Y.totalVisible,I.setVirtualTotalFn(()=>Y.totalVisible),I.setGetItemFn((n)=>{let j2=Y.flatNodes[n];return j2?j2.item:void 0}),I.setGetIndexByIdFn((n)=>{return Y.idToIndex.get(n)??-1}),I.setRenderFn(M2,z2),I.registerMethod("_layoutToDataIndex",(n)=>n),I.registerMethod("_dataToLayoutIndex",(n)=>n),I.registerMethod("_getRenderedElement",(n)=>a.get(n)??null),queueMicrotask(()=>{T=!!(v("_getFocusedIndex")||I.getItemStateFn())}),I.setInsertItemFn((n,j2)=>{let D2=H2(),E2=Math.min(j2,D2.length);D2.splice(E2,0,n),q2=D2.length,Y.rebuild(D2),Z2()}),I.setRemoveItemFn((n)=>{let j2=Y.idToIndex.get(n),D2=null;if(U&&j2!==void 0){D2=new Set,D2.add(n);let k2=Y.getSubtreeSize(j2);for(let v2=j2+1;v2<=j2+k2;v2++)D2.add(Y.flatNodes[v2].id)}let E2=Y.removeNode(n);if(E2===0)return-1;if(!T&&j2!==void 0&&s>=j2)s=Math.max(0,Math.min(s-E2,Y.totalVisible-1));if(U&&D2){let k2=H2();for(let v2=k2.length-1;v2>=0;v2--)if(D2.has(k2[v2].id))k2.splice(v2,1)}return q2=H2().length,Z2(),_.emit("data:change",{type:"remove",id:n}),E2}),I.setUpdateItemFn((n,j2)=>{let D2=Y.idToIndex.get(n);if(D2===void 0)return!1;let E2=Y.flatNodes[D2];Object.assign(E2.item,j2);let k2=a.get(D2);if(k2)U2(k2,E2,D2,z?.()??null);return _.emit("data:change",{type:"update",id:n}),!0}),I.registerClickHandler((n)=>{let j2=n.target.closest("[data-index]");if(!j2)return;let D2=parseInt(j2.dataset.index??"-1",10);if(D2<0)return;let E2=Y.flatNodes[D2];if(!E2)return;let k2=E2.id,v2=!1;if(J&&(E2.hasChildren||$.loadChildren&&!E2.loading&&!b2.has(k2))){let S2=Y.totalVisible;if(E2.expanded)y2(k2);else P2(k2);v2=Y.totalVisible!==S2}if(T&&v2){if(X2(),C)C(k2);if(P)P(k2)}else if(!T)s=Y.idToIndex.get(k2)??D2,m=!1,c.focus({preventScroll:!0})});let N=()=>{if(V.destroyed||T)return;if(!c.matches(":focus-visible")&&!X.matches(":focus-visible"))return;let n=Y.totalVisible;if(n===0)return;s=s>=0?Math.min(s,n-1):0,m=!0,c.setAttribute("aria-activedescendant",`${k}-item-${s}`),K2(s),z2()};X.addEventListener("focusin",N);let Q2=(n)=>{if(V.destroyed||T)return;let j2=n.relatedTarget;if(j2&&X.contains(j2))return;m=!1,c.removeAttribute("aria-activedescendant"),z2()};X.addEventListener("focusout",Q2),I.registerKeydownHandler((n)=>{if(V.destroyed)return;let j2=Y.totalVisible;if(j2===0)return;let D2=i();if(D2<0&&!T&&(n.key==="ArrowDown"||n.key==="Home")){t(0),n.preventDefault();return}if(D2<0)return;let E2=Y.flatNodes[D2];if(!E2)return;switch(n.key){case"ArrowRight":{if(E2.hasChildren||$.loadChildren&&!E2.loading)if(!E2.expanded)P2(E2.id);else t(D2+1);n.preventDefault();break}case"ArrowLeft":{if(E2.hasChildren&&E2.expanded)y2(E2.id);else if(E2.parentId!==null){let k2=Y.idToIndex.get(E2.parentId);if(k2!==void 0)t(k2)}n.preventDefault();break}case"*":{w2(E2),n.preventDefault();break}default:{if(!T){if(n.key==="ArrowDown"){if(D2<j2-1)t(D2+1);n.preventDefault();break}if(n.key==="ArrowUp"){if(D2>0)t(D2-1);n.preventDefault();break}if(n.key==="Home"){t(0),n.preventDefault();break}if(n.key==="End"){t(j2-1),n.preventDefault();break}if(n.key==="Enter"){_.emit("item:click",{item:E2.item,index:D2,event:n}),n.preventDefault();break}}if(n.key.length===1&&!n.ctrlKey&&!n.altKey&&!n.metaKey)T2(n.key,D2),n.preventDefault()}}}),I.registerMethod("expand",P2),I.registerMethod("collapse",y2),I.registerMethod("toggle",(n)=>{let j2=Y.idToIndex.get(n);if(j2===void 0)return;if(Y.flatNodes[j2].expanded)y2(n);else P2(n)}),I.registerMethod("expandAll",()=>{Y.expandAll(Y.rootItems),Z2()}),I.registerMethod("collapseAll",()=>{Y.collapseAll(),Z2()}),I.registerMethod("expandTo",(n)=>{Y.expandTo(n),Z2();let j2=Y.idToIndex.get(n);if(j2!==void 0)K2(j2)}),I.registerMethod("getExpanded",()=>Array.from(Y.expandedIds)),I.registerMethod("isExpanded",(n)=>Y.expandedIds.has(n));let Y2=U&&typeof $.parentId==="string"?$.parentId:null;I.registerMethod("addChild",(n,j2,D2)=>{if(Y2)j2[Y2]=n;if(U){let E2=H2();E2.push(j2),q2=E2.length}Y.addChild(n,j2,D2),Z2(),_.emit("data:change",{type:"add",id:j2.id})}),I.registerMethod("moveNode",(n,j2,D2)=>{if(Y2){let E2=Y.idToIndex.get(n);if(E2!==void 0)Y.flatNodes[E2].item[Y2]=j2}Y.moveNode(n,j2,D2),Z2()}),I.registerMethod("getTreeLayout",()=>({totalVisible:Y.totalVisible,flatNodes:Y.flatNodes})),I.registerDestroyHandler(()=>{if(X.removeEventListener("focusin",N),X.removeEventListener("focusout",Q2),J2(),X.classList.remove(`${k}--tree`),X.classList.remove(`${k}--tree-lines`),p!==null)clearTimeout(p)})},destroy(){if(a.clear(),p!==null)clearTimeout(p)}}}var U4=50,B4=0.1;function T1(Q){let $=0,j=0,q=0;function J(){return q>0?j/q:0}function K(M){if($=M,M>B4&&M<U4)j+=M,q++}function U(){let M=Q.getTotal();if(M===0)return 0;let V=Q.getItemSize();if(V<=0)return 0;let W=Q.getContainerSize();if(W<=0)return 0;let c=Q.getScrollPosition(),X=typeof Q.getColumns==="function"?Q.getColumns():1,G=Math.ceil(M/X)*V,O=Math.min(G,I2)-W,z=G-W,v=O>0?z/O:1,_=c*v,D=Math.ceil((_+W)/V);return Math.min(D*X,M)}function Y(){let M=Q.getTotal(),V=U();return{progress:M>0?Math.min(100,Math.max(0,V/M*100)):0,velocity:$,velocityAvg:J(),itemCount:V,total:M}}return{getState:Y,onVelocity:K}}async function b1(Q,$,j){let q=j?.key,J;if(Q){let G=Q.getScrollSnapshot;if(typeof G==="function")J=G()}if(J&&q)try{sessionStorage.setItem(q,JSON.stringify(J))}catch{}let K=i2(q?{autoSave:q}:J?{restore:J}:void 0),U=$(K),Y=U.element;if(Y.style.position="absolute",Y.style.inset="0",Y.style.visibility="hidden",j?.ready)await j.ready(U);else await new Promise((G)=>requestAnimationFrame(()=>G()));let M=j?.delay;if(M&&M>0)await new Promise((G)=>setTimeout(G,M));let V=j?.transition,W=typeof V==="number"?V:V?.fadeIn??0,c=typeof V==="number"?V:V?.fadeOut??0,X=typeof V==="object"?V?.fadeOutDelay??0:0,w=Math.max(W,c+X);if(w>0&&Q){let G=Q.element;Y.style.visibility="",Y.style.opacity="0",Y.offsetHeight,Y.style.transition=`opacity ${W}ms ease`,G.style.transition=`opacity ${c}ms ease ${X}ms`,Y.style.opacity="1",G.style.opacity="0",await new Promise((k)=>{setTimeout(k,w+50)}),Y.style.transition="",Y.style.opacity="",G.style.transition="",G.style.opacity=""}else Y.style.visibility="";if(Y.style.position="",Y.style.inset="",Q)Q.destroy();return U}export{w0 as tree,O0 as transition,z0 as table,P0 as sortable,i2 as snapshots,A0 as selection,X0 as scrollbar,M0 as scale,b1 as rebuild,H0 as page,F0 as masonry,b0 as groups,G0 as grid,E0 as data,j1 as createVList,T1 as createStats,L0 as autosize,D0 as a11y};
1
+ var n2=3,C0="vlist";var t2=50;var f0=50,S0=2,h0=15,I0=6,I2=16000000,s2=150,U0=1,e2=(Q)=>Q<0.5?2*Q*Q:1-(-2*Q+2)**2/2,$0=300;var p0="x",u0=20,B0="_isPlaceholder",S2="__placeholder_";var J0={top:0,right:0,bottom:0,left:0},g0=(Q)=>{if(Q==null)return J0;if(typeof Q==="number")return Q===0?J0:{top:Q,right:Q,bottom:Q,left:Q};if(Q.length===2){let[K,Y]=Q;return K===0&&Y===0?J0:{top:K,right:Y,bottom:K,left:Y}}let[J,j,q,$]=Q;return J===0&&j===0&&q===0&&$===0?J0:{top:J,right:j,bottom:q,left:$}},x0=(Q,J)=>J?Q.left+Q.right:Q.top+Q.bottom,m0=(Q,J)=>J?Q.top+Q.bottom:Q.left+Q.right;function c0(Q){let J={visibleIndices:new Int32Array(Q),visibleOffsets:new Float64Array(Q),visibleSizes:new Float64Array(Q),visibleCount:0,startIndex:0,totalSize:0,capacity:Q,scrollPosition:0,prevScrollPosition:0,scrollDirection:0,containerSize:0,crossSize:0,totalItems:0,prevRangeStart:0,prevRangeEnd:-1,renderPending:!1,initialized:!1,destroyed:!1,isCompressed:!1,compressionRatio:1,prevAriaTotal:-1,resizeCapacity(j,q,$=n2){if(q<=0||j<=0)return;let K=Math.ceil(j/q)+$*2;if(K<=J.capacity)return;let Y=K+8,Z=new Int32Array(Y),M=new Float64Array(Y),V=new Float64Array(Y);Z.set(J.visibleIndices),M.set(J.visibleOffsets),V.set(J.visibleSizes),J.visibleIndices=Z,J.visibleOffsets=M,J.visibleSizes=V,J.capacity=Y},clear(){J.visibleCount=0,J.startIndex=0}};return J}var y1=(Q,J)=>{let j=J;return{getOffset:(q)=>q*Q,getSize:(q)=>Q,indexAtOffset:(q)=>{if(j===0||Q===0)return 0;return Math.max(0,Math.min(Math.floor(q/Q),j-1))},getTotalSize:()=>j*Q,getTotal:()=>j,rebuild:(q)=>{j=q},isVariable:()=>!1}},w1=(Q,J)=>{let j=J,q=new Float64Array(0),$=(Y)=>{j=Y,q=new Float64Array(Y+1),q[0]=0;for(let Z=0;Z<Y;Z++)q[Z+1]=q[Z]+Q(Z)};$(J);let K=(Y)=>{if(j===0)return 0;if(Y<=0)return 0;if(Y>=q[j])return j-1;let Z=0,M=j-1;while(Z<M){let V=Z+M+1>>>1;if(q[V]<=Y)Z=V;else M=V-1}return Z};return{getOffset:(Y)=>{if(Y<=0)return 0;if(Y>=j)return q[j];return q[Y]},getSize:(Y)=>Q(Y),indexAtOffset:(Y)=>K(Y),getTotalSize:()=>q[j]??0,getTotal:()=>j,rebuild:(Y)=>$(Y),isVariable:()=>!0}},Q0=(Q,J)=>{if(typeof Q==="number")return y1(Q,J);return w1(Q,J)},W0=(Q,J,j,q)=>{if(q===0)return 0;if(!Q.isVariable())return Math.ceil(j/Q.getSize(0));let $=0,K=0,Y=J;while(Y<q&&K<j)K+=Q.getSize(Y),$++,Y++;return Math.max(1,$)};function d0(Q){let J=[],j=`${Q}-item`,q=document.createElement("div");return q.className=j,{acquire(){if(J.length>0)return J.pop();return q.cloneNode(!1)},release($){if($.className=j,$.removeAttribute("style"),$.removeAttribute("id"),$.removeAttribute("role"),$.removeAttribute("aria-selected"),$.removeAttribute("aria-posinset"),$.removeAttribute("aria-setsize"),$.removeAttribute("data-index"),$.removeAttribute("data-id"),$.textContent="",J.length<100)J.push($)},get size(){return J.length},clear(){J.length=0}}}function p2(Q){let J=Q.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let j=0;j<J.length;j++)J[j].setAttribute("tabindex","-1")}function l0(Q){if(typeof Q==="string"){let J=document.querySelector(Q);if(!J)throw Error(`[vlist] Container not found: ${Q}`);return J}return Q}function r0(Q,J,j,q){let $=j?`${J} ${J}--horizontal`:J,K=j?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",Y=j?"position:relative;height:100%":"position:relative;width:100%",Z=' role="list"';if(q)Z+=` aria-label="${q.replace(/"/g,"&quot;")}"`;if(j)Z+=' aria-orientation="horizontal"';Q.insertAdjacentHTML("beforeend",`<div class="${$}"><div class="${J}-viewport" style="${K}" tabindex="-1"><div class="${J}-content" style="${Y}"${Z}></div></div></div>`);let M=Q.lastElementChild,V=M.firstElementChild,W=V.firstElementChild,m=document.createElement("div");return m.className=`${J}-live`,m.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",m.setAttribute("aria-live","polite"),m.setAttribute("aria-atomic","true"),m.setAttribute("role","status"),M.appendChild(m),{root:M,viewport:V,content:W,liveRegion:m}}function s0(Q){let{state:J,viewport:j,isX:q,wheelEnabled:$,onFrame:K,onIdle:Y}=Q,Z=Q.idleTimeout||s2,M=Q.scrollTarget??j,V=null,W=null;function m(){let H=q?j.scrollLeft:j.scrollTop;if(Math.abs(H-J.scrollPosition)<0.5)return;J.prevScrollPosition=J.scrollPosition,J.scrollPosition=H,J.scrollDirection=H>J.prevScrollPosition?1:H<J.prevScrollPosition?-1:0,K(),S()}function D(H){if(J.isCompressed)return;let E;if(q){if(Math.abs(H.deltaX)>Math.abs(H.deltaY))return;let b=j.scrollLeft,_=j.scrollWidth-j.clientWidth;if(E=Math.max(0,Math.min(b+H.deltaY*U0,_)),Math.abs(E-b)<1)return;H.preventDefault(),j.scrollLeft=E}else{let b=j.scrollWidth>j.clientWidth;if(b&&Math.abs(H.deltaX)>Math.abs(H.deltaY))return;if(b&&H.deltaX!==0)H.preventDefault(),j.scrollLeft+=H.deltaX;let _=j.scrollTop,A=j.scrollHeight-j.clientHeight;if(E=Math.max(0,Math.min(_+H.deltaY*U0,A)),Math.abs(E-_)<1)return;H.preventDefault(),j.scrollTop=E}J.prevScrollPosition=J.scrollPosition,J.scrollPosition=E,J.scrollDirection=E>J.prevScrollPosition?1:-1,K(),S()}function S(){if(V!==null)clearTimeout(V);V=setTimeout(()=>{V=null,J.scrollDirection=0,Y()},Z)}function F(){if(W!==null)cancelAnimationFrame(W),W=null}function w(H,E,b,_=e2,A){F();let z=J.scrollPosition,X=typeof H==="function"?H:()=>H,G=X();if(Math.abs(G-z)<1){if(b)b(G);else if(q)j.scrollLeft=G;else j.scrollTop=G;A?.();return}let L=performance.now();function p(R){G=X();let d=R-L,g=Math.min(d/E,1),x=z+(G-z)*_(g);if(b)b(x);else if(q)j.scrollLeft=x;else j.scrollTop=x;if(!b)J.scrollPosition=x;if(K(),g<1)W=requestAnimationFrame(p);else W=null,S(),A?.()}W=requestAnimationFrame(p)}return{attach(){if(M.addEventListener("scroll",m,{passive:!0}),$)M.addEventListener("wheel",D,{passive:!1})},detach(){if(M.removeEventListener("scroll",m),$)M.removeEventListener("wheel",D);if(F(),V!==null)clearTimeout(V),V=null},cancelScroll:F,smoothScrollTo:w}}var a2=[],v1={calculate:a2,commit:a2,afterScroll:a2,idle:a2,resize:a2};function a0(Q){if(Q.length===0)return v1;let J=[],j=[],q=[],$=[],K=[];for(let Y=0;Y<Q.length;Y++){let Z=Q[Y].hooks;if(Z===void 0)continue;if(Z.onCalculate!==void 0)J.push(Z.onCalculate);if(Z.onCommit!==void 0)j.push(Z.onCommit);if(Z.onAfterScroll!==void 0)q.push(Z.onAfterScroll);if(Z.onIdle!==void 0)$.push(Z.onIdle);if(Z.onResize!==void 0)K.push(Z.onResize)}return{calculate:J,commit:j,afterScroll:q,idle:$,resize:K}}function o0(Q,J){for(let j=0;j<Q.length;j++)Q[j](J)}function i0(Q,J){for(let j=0;j<Q.length;j++)Q[j](J)}function V0(Q,J,j){for(let q=0;q<Q.length;q++)Q[q](J,j)}function n0(Q){for(let J=0;J<Q.length;J++)Q[J]()}function t0(Q,J,j){for(let q=0;q<Q.length;q++)Q[q](J,j)}function e0(Q,J,j,q,$,K,Y,Z){let M=q!==0||$!==0;return{prefix:Q,selectedClass:`${Q}-item--selected`,focusedClass:`${Q}-item--focused`,placeholderClass:`${Q}-item--placeholder`,replacedClass:`${Q}-item--replaced`,translateProp:J?"translateX(":"translateY(",sizeProp:J?"width":"height",itemRole:"listitem",interactive:!1,startPadding:j,gap:Y,hasCrossPad:M,crossStartProp:M?J?"top":"left":"",crossEndProp:M?J?"bottom":"right":"",crossStartVal:M?q+"px":"",crossEndVal:M?$+"px":"",oddClass:K,emitter:Z??null}}function C1(Q,J,j,q,$){if(Q.containerSize<=0||Q.totalItems===0)return Q.clear(),!0;let{scrollPosition:K,containerSize:Y,totalItems:Z}=Q,M=$??0;Q.totalSize=J.getTotalSize();let V=J.indexAtOffset(M>0?Math.max(0,K-M):K),W=J.indexAtOffset(K+Y);if(W<Z-1)W++;V=Math.max(0,V),W=Math.min(Z-1,Math.max(0,W));let m=Math.max(0,V-j),D=Math.min(Z-1,W+j),S=Math.ceil(Y/1)+j*2+10,F=D-m+1,w=Math.min(F,Q.capacity,S);if(m===Q.prevRangeStart&&D===Q.prevRangeEnd&&!Q.renderPending)return!1;Q.visibleCount=w,Q.startIndex=m;for(let H=0;H<w;H++){let E=m+H;Q.visibleIndices[H]=E,Q.visibleOffsets[H]=J.getOffset(E),Q.visibleSizes[H]=J.getSize(E)}return o0(q.calculate,Q),Q.prevRangeStart=m,Q.prevRangeEnd=D,Q.renderPending=!1,!0}var C2={selected:!1,focused:!1};function f1(Q,J,j){for(let q=0;q<J;q++)if(Q[q]===j)return!0;return!1}function S1(Q,J){if(J<=1)return!0;let j=Q[0];for(let q=1;q<J;q++){let $=Q[q];if($!==j+1)return!1;j=$}return!0}function h1(Q,J,j,q,$,K,Y,Z,M,V){let W=M?null:$(),m=Q.visibleCount,D=Q.visibleIndices,S=Y.interactive?String(Q.totalItems):"",F=Y.interactive&&Q.totalItems!==Q.prevAriaTotal,w=null;for(let H=0;H<m;H++){let E=D[H],b=Q.visibleOffsets[H],_=Q.visibleSizes[H],A=M?M(E):W[E];if(V)V(E,C2);else C2.selected=!1,C2.focused=!1;let z=K.get(E),X=z;if(z===void 0){let G=J.acquire();if(A!==void 0){let R;try{R=q(A,E,C2)}catch(d){if(Y.emitter)Y.emitter.emit("error",{error:d instanceof Error?d:Error(String(d)),context:`template:render:${E}`});J.release(G);continue}if(typeof R==="string")G.innerHTML=R;else G.textContent="",G.appendChild(R);p2(G)}if(G.setAttribute("role",Y.itemRole),G.setAttribute("data-index",String(E)),Y.interactive)G.id=Y.prefix+"-item-"+E,G.setAttribute("aria-posinset",String(E+1)),G.setAttribute("aria-setsize",S);if(A!==void 0){let R=String(A.id);if(G.setAttribute("data-id",R),R.startsWith(S2))G.classList.add(Y.placeholderClass)}if(Y.hasCrossPad)G.style.setProperty(Y.crossStartProp,Y.crossStartVal),G.style.setProperty(Y.crossEndProp,Y.crossEndVal);if(V){if(G.classList.toggle(Y.selectedClass,C2.selected),G.classList.toggle(Y.focusedClass,C2.focused),C2.selected)G.setAttribute("aria-selected","true");else G.removeAttribute("aria-selected");G._lastSelected=C2.selected,G._lastFocused=C2.focused}if(Y.oddClass)G.classList.toggle(Y.oddClass,(E&1)===1);let L=b+Y.startPadding;G.style.transform=Y.translateProp+L+"px)",G._lastOffset=L;let p=_-Y.gap;if(G.style[Y.sizeProp]=p+"px",G._lastSize=p,G._lastItem=A,K.set(E,G),w===null)w=document.createDocumentFragment();w.appendChild(G)}else{if(F)z.setAttribute("aria-setsize",S);if(A!==void 0&&X._lastItem!==A){let p=z.getAttribute("data-id"),R=String(A.id),d;try{d=q(A,E,C2)}catch(g){if(Y.emitter)Y.emitter.emit("error",{error:g instanceof Error?g:Error(String(g)),context:`template:render:${E}`});continue}if(typeof d==="string")z.innerHTML=d;else z.textContent="",z.appendChild(d);if(p2(z),z.setAttribute("data-id",R),X._lastItem=A,p!==R){let g=p!==null&&p.startsWith(S2),x=R.startsWith(S2);if(g!==x)z.classList.toggle(Y.placeholderClass,x);if(g&&!x)z.classList.add(Y.replacedClass),setTimeout(()=>{z.classList.remove(Y.replacedClass)},300)}}if(V){if(X._lastSelected!==C2.selected){if(z.classList.toggle(Y.selectedClass,C2.selected),C2.selected)z.setAttribute("aria-selected","true");else z.removeAttribute("aria-selected");X._lastSelected=C2.selected}if(X._lastFocused!==C2.focused)z.classList.toggle(Y.focusedClass,C2.focused),X._lastFocused=C2.focused}let G=b+Y.startPadding;if(X._lastOffset!==G)z.style.transform=Y.translateProp+G+"px)",X._lastOffset=G;let L=_-Y.gap;if(X._lastSize!==L)z.style[Y.sizeProp]=L+"px",X._lastSize=L}}if(w!==null)j.appendChild(w);if(m>0&&S1(D,m)){let H=D[0],E=D[m-1];for(let[b,_]of K)if(b<H||b>E)_.remove(),J.release(_),K.delete(b)}else for(let[H,E]of K)if(!f1(D,m,H))E.remove(),J.release(E),K.delete(H);if(Y.interactive)Q.prevAriaTotal=Q.totalItems;i0(Z.commit,Q)}function _0(Q,J,j,q,$,K,Y,Z,M,V,W,m){if(C1(Q,J,j,V,M.startPadding))h1(Q,q,$,K,Y,Z,M,V,W,m)}var N0=()=>{let Q={},J=(K,Y)=>{if(!Q[K])Q[K]=new Set;return Q[K].add(Y),()=>j(K,Y)},j=(K,Y)=>{Q[K]?.delete(Y)};return{on:J,off:j,emit:(K,Y)=>{Q[K]?.forEach((Z)=>{try{Z(Y)}catch(M){console.error(`[vlist] Error in event handler for "${String(K)}":`,M)}})},clear:(K)=>{if(K)delete Q[K];else for(let Y in Q)delete Q[Y]}}};var $1=2,J1=(Q=0)=>({velocity:0,sampleCount:0}),Q1=(Q,J)=>{let j=performance.now(),q=Q._lt??j,$=Q._lp??J,K=j-q;if(Q._lp=J,Q._lt=j,K===0)return Q.sampleCount=Math.min(Q.sampleCount+1,5),Q;if(K>100)return Q.velocity=0,Q.sampleCount=1,Q;return Q.velocity=Math.abs(J-$)/K,Q.sampleCount=Math.min(Q.sampleCount+1,5),Q};function I1(Q){let{item:J}=Q;if(J.height!==void 0&&typeof J.height==="number"){if(!Number.isFinite(J.height)||J.height<=0)throw Error(`vlist: item.height must be a positive number, got ${J.height}`)}if(J.width!==void 0&&typeof J.width==="number"){if(!Number.isFinite(J.width)||J.width<=0)throw Error(`vlist: item.width must be a positive number, got ${J.width}`)}if(J.estimatedHeight!==void 0){if(!Number.isFinite(J.estimatedHeight)||J.estimatedHeight<=0)throw Error(`vlist: item.estimatedHeight must be a positive number, got ${J.estimatedHeight}`)}if(J.estimatedWidth!==void 0){if(!Number.isFinite(J.estimatedWidth)||J.estimatedWidth<=0)throw Error(`vlist: item.estimatedWidth must be a positive number, got ${J.estimatedWidth}`)}if(J.gap!==void 0){if(typeof J.gap!=="number"||!Number.isFinite(J.gap)||J.gap<0)throw Error(`vlist: item.gap must be a non-negative number, got ${J.gap}`)}if(Q.overscan!==void 0){if(typeof Q.overscan!=="number"||!Number.isFinite(Q.overscan)||Q.overscan<0)throw Error(`vlist: overscan must be a non-negative number, got ${Q.overscan}`)}}function p1(Q,J){let j=Q==="horizontal"?"x":"y";if(J.some(($)=>$.name==="grid"))return{primary:j,cross:j==="x"?"y":"x"};return{primary:j}}function u1(Q,J){let j=p1(Q.orientation,J),q=j.primary==="x",$=g0(Q.padding);return{axis:j,hasCrossAxis:j.cross!==void 0,overscan:Q.overscan??n2,reverse:Q.reverse??!1,classPrefix:Q.classPrefix??C0,mainAxisPadding:x0($,q),crossAxisPadding:m0($,q),startPadding:q?$.left:$.top,endPadding:q?$.right:$.bottom,crossPadStart:q?$.top:$.left,crossPadEnd:q?$.bottom:$.right,striped:Q.item.striped||!1,gap:Q.item.gap??0}}function g1(Q,J){if(J)return Q.item.width??Q.item.estimatedWidth??100;return Q.item.height??Q.item.estimatedHeight??40}function x1(Q){let J=[...Q];return J.sort((j,q)=>(j.priority??50)-(q.priority??50)),J}function m1(Q){let J=new Set;for(let j of Q){if(J.has(j.name))throw Error(`[vlist] Duplicate plugin: ${j.name}`);J.add(j.name)}for(let j of Q)if(j.conflicts){for(let q of j.conflicts)if(J.has(q))throw Error(`[vlist] Plugin "${j.name}" conflicts with "${q}"`)}}function j1(Q,J=[]){I1(Q);let j=u1(Q,J),q=j.axis.primary==="x",$=g1(Q,q),K=j.gap,Y=K>0?typeof $==="function"?(V2)=>$(V2)+K:$+K:$,Z=typeof $==="number"?$:20,M=Q.items?.length??0,V=j.striped?`${j.classPrefix}-item--odd`:"",W=N0(),m=e0(j.classPrefix,q,j.startPadding,j.crossPadStart,j.crossPadEnd,V,K,W),D=J.length>0?x1(J):J;if(J.length>0)m1(D);let S=l0(Q.container),F=r0(S,j.classPrefix,q,Q.ariaLabel);if(Q.scroll?.scrollbar==="none")F.viewport.classList.add(`${j.classPrefix}-viewport--no-scrollbar`);if(Q.scroll?.gutter==="stable")F.viewport.classList.add(`${j.classPrefix}-viewport--gutter-stable`);let H=Q0(Y,M);if(K>0){let V2=H.getTotalSize;H.getTotalSize=()=>{let N=V2();return N>0?N-K:0}}let E=d0(j.classPrefix),b=Math.ceil(4096/Z)+j.overscan*2+8,_=c0(b);_.totalItems=M;let A=Q.items??[],z=()=>A,X=new Map,G=J1(),L={velocity:0,reliable:!1},p={range:{start:0,end:-1}},R={scrollPosition:0,direction:"down"},d={scrollPosition:0},g=-1,x=-1,l=-1,c=null,o=a0(D),r=new Map,P=[],y=[],U=[],u=null,a=null,s=null,h=null,B=null,f=null,O=null,I=null,e=null,T=null,v=null,Q2=!1,X2=!1,t=null,U2=0,M2=0,z2=null,O2=null,H2=null,C=null,n=null;if(_.containerSize=q?F.viewport.clientWidth:F.viewport.clientHeight,_.crossSize=q?F.viewport.clientHeight:F.viewport.clientWidth,J.length>0){let V2={dom:F,sizeCache:H,pool:E,config:j,emitter:W,template:Q.item.template,registerMethod(N,$2){r.set(N,$2)},getMethod(N){return r.get(N)},registerClickHandler(N){P.push(N)},registerKeydownHandler(N){y.push(N)},registerDestroyHandler(N){U.push(N)},enableListboxRole(){let N=F.content.getAttribute("role");if(!N||N==="list")F.content.setAttribute("role","listbox"),F.content.setAttribute("tabindex","0");m.itemRole="option",m.interactive=!0},setSizeConfig(N){let $2=Q0(N,_.totalItems);Object.assign(H,$2)},setScrollFns(N,$2){a=N,s=$2},setVirtualTotalFn(N){u=N},getItems:z,getItem(N){return f?f(N):A[N]},getState(){return _},rebuildSizeCache(){H.rebuild(_.totalItems)},updateContentSize(N){_.totalSize=N,F.content.style[q?"width":"height"]=N+j.mainAxisPadding+"px"},setRenderFn(N,$2){h=N,B=$2},renderIfNeeded(){F2()},forceRender(){B2()},setGetItemFn(N){f=N},setItemStateFn(N){O=N},getItemStateFn(){return O},get rawSizeSpec(){return $},scrollTo(N){if(s)s(N);else if(q)F.viewport.scrollLeft=N;else F.viewport.scrollTop=N},smoothScrollTo(N,$2,K2,i){if(H2)H2(N,$2,s??void 0,K2,i);else V2.scrollTo(typeof N==="function"?N():N)},disableDefaultScroll(){Q2=!0},disableDefaultResize(){X2=!0},setScrollTarget(N){t=N},setScrollToPosFn(N){C=N},setScrollToIndexFn(N){n=N},onScrollFrame:k2,onScrollIdle:b2,removeItemById(N){if(I)return I(N);let $2=A.findIndex((K2)=>K2.id===N);if($2===-1)return-1;return A.splice($2,1),_.totalItems=A.length,H.rebuild(_.totalItems),T2(),$2},insertItemAt(N,$2){if(e){e(N,$2);return}A.splice($2,0,N),_.totalItems=A.length,H.rebuild(_.totalItems),T2()},setRemoveItemFn(N){I=N},setInsertItemFn(N){e=N},setUpdateItemFn(N){T=N},setGetIndexByIdFn(N){v=N},getRenderedElement(N){let $2=r.get("_getRenderedElement");if($2)return $2(N);return X.get(N)??null},setNavConfig(N){if(N.ud!==void 0)U2=N.ud;if(N.lr!==void 0)M2=N.lr;if(N.scrollIndex)z2=N.scrollIndex;if(N.navigate)O2=N.navigate},getNavConfig:(()=>{let N={ud:0,lr:0,scrollIndex:null,navigate:null};return()=>{return N.ud=U2,N.lr=M2,N.scrollIndex=z2,N.navigate=O2,N}})()};for(let N of D)if(N.setup)try{N.setup(V2)}catch($2){W.emit("error",{error:$2 instanceof Error?$2:Error(String($2)),context:`plugin:setup:${N.name}`})}}let J2=j.classPrefix+"--scrolling",Z2=!1,_2=Q.scroll?.idleTimeout??s2;function j2(){if(R.scrollPosition=_.scrollPosition,q)R.direction=_.scrollDirection>0?"right":"left";else R.direction=_.scrollDirection>0?"down":"up";if(W.emit("scroll",R),Q1(G,_.scrollPosition),L.velocity=G.velocity,L.reliable=G.sampleCount>=$1,W.emit("velocity:change",L),_.startIndex!==g||_.prevRangeEnd!==x)g=_.startIndex,x=_.prevRangeEnd,p.range.start=_.startIndex,p.range.end=_.prevRangeEnd,W.emit("range:change",p)}let L2=!1;function T2(){if(h)return;let V2=H.getTotalSize();if(F.content.style[q?"width":"height"]=V2+j.mainAxisPadding+"px",!L2&&V2>I2)L2=!0,W.emit("error",{error:Error(`Content size (${V2}px) exceeds browser limit (${I2}px). Use the scale() plugin for large datasets.`),context:"content:size:overflow"})}function F2(){if(h)h();else _0(_,H,j.overscan,E,F.content,Q.item.template,z,X,m,o,f,O)}function k2(){if(!Z2)Z2=!0,F.root.classList.add(J2);if(F2(),V0(o.afterScroll,_.scrollPosition,_.scrollDirection),_.scrollPosition!==l)l=_.scrollPosition,j2()}function b2(){if(Z2)Z2=!1,F.root.classList.remove(J2);_.scrollDirection=0,n0(o.idle),L.velocity=0,L.reliable=!1,W.emit("velocity:change",L),d.scrollPosition=_.scrollPosition,W.emit("scroll:idle",d)}function B2(){if(_.renderPending=!0,B)B();else _0(_,H,j.overscan,E,F.content,Q.item.template,z,X,m,o,f,O);if(V0(o.afterScroll,_.scrollPosition,_.scrollDirection),_.scrollPosition!==l){if(l=_.scrollPosition,j2(),c!==null)clearTimeout(c);c=setTimeout(b2,_2)}}let G2=s0({state:_,viewport:F.viewport,isX:q,wheelEnabled:Q2?!1:Q.scroll?.wheel!==!1,idleTimeout:Q.scroll?.idleTimeout??s2,...t?{scrollTarget:t}:{},onFrame:k2,onIdle:b2});H2=G2.smoothScrollTo;function P2(V2){let $2=V2.target.closest("[data-index]");if(!$2)return null;let K2=parseInt($2.getAttribute("data-index"),10);if(Number.isNaN(K2))return null;let i=f?f(K2):A[K2];if(i===void 0)return null;return{item:i,index:K2}}function W2(V2){for(let $2=0;$2<P.length;$2++)P[$2](V2);let N=P2(V2);if(N)W.emit("item:click",{item:N.item,index:N.index,event:V2})}function A2(V2){let N=P2(V2);if(N)W.emit("item:dblclick",{item:N.item,index:N.index,event:V2})}function k(V2){let N=P2(V2);if(N)W.emit("item:contextmenu",{item:N.item,index:N.index,event:V2})}function Y2(V2){for(let N=0;N<y.length;N++)y[N](V2)}if(F.content.addEventListener("click",W2),F.content.addEventListener("dblclick",A2),F.content.addEventListener("contextmenu",k),y.length>0)F.root.addEventListener("keydown",Y2);let D2=null;if(!X2)setTimeout(()=>{if(_.destroyed)return;D2=new ResizeObserver((N)=>{for(let $2 of N){let{width:K2,height:i}=$2.contentRect,q2=q?K2:i,N2=q?i:K2;if(Math.abs(q2-_.containerSize)<1&&Math.abs(N2-_.crossSize)<1)continue;_.containerSize=q2,_.crossSize=N2,_.resizeCapacity(q2,Z,j.overscan),B2(),t0(o.resize,K2,i),W.emit("resize",{width:K2,height:i})}}),D2.observe(F.viewport)},0);_.resizeCapacity(_.containerSize,Z,j.overscan),T2(),_.initialized=!0;let R2=null;if(Q.defer)R2=requestAnimationFrame(()=>{if(R2=null,!_.destroyed)F2()});else F2();if(!Q2)G2.attach();let y2={get element(){return F.root},get items(){return A},get total(){return u?u():A.length},setItems(V2){A=[...V2],_.totalItems=A.length,H.rebuild(_.totalItems),T2(),B2()},appendItems(V2){A.push(...V2),_.totalItems=A.length,H.rebuild(_.totalItems),T2(),B2()},prependItems(V2){A.unshift(...V2),_.totalItems=A.length,H.rebuild(_.totalItems),T2(),B2()},updateItem(V2,N){if(T){if(!T(V2,N))return}else{let $2=A.findIndex((K2)=>K2.id===V2);if($2===-1)return;A[$2]={...A[$2],...N}}B2()},insertItem(V2,N){if(e)e(V2,N??_.totalItems);else{if(N===void 0)A.push(V2);else A.splice(N,0,V2);_.totalItems=A.length,H.rebuild(_.totalItems),T2()}B2()},removeItem(V2){if(I){if(I(V2)<0)return}else{let N=A.findIndex(($2)=>$2.id===V2);if(N===-1)return;A.splice(N,1),_.totalItems=A.length,H.rebuild(_.totalItems),T2()}B2()},removeItems(V2){if(I){let i=0;for(let q2 of V2)if(I(q2)>=0)i++;if(i>0)B2();return i}let N=new Set(V2),$2=A.length;A=A.filter((i)=>!N.has(i.id));let K2=$2-A.length;if(K2>0)_.totalItems=A.length,H.rebuild(_.totalItems),T2(),_.renderPending=!0,F2();return K2},getItemAt(V2){return f?f(V2):A[V2]},getIndexById(V2){if(v)return v(V2);return A.findIndex((N)=>N.id===V2)},scrollToIndex(V2,N="start"){let $2=u?u():A.length;if($2===0)return;let K2=Math.max(0,Math.min(V2,$2-1)),i=typeof N==="string"?N:N.align??"start",q2=typeof N==="object"?N.behavior:void 0,N2=typeof N==="object"?N.duration:void 0,E2=typeof N==="object"?N.easing:void 0;if(n&&n(K2,i,q2,N2,E2)!==!1)return;let w2=H.getOffset(K2),v2=H.getSize(K2),f2=_.containerSize,k1=H.getTotalSize(),v0=j.mainAxisPadding,z1=Math.max(0,k1+v0-f2),h2;if(C)h2=C(K2,H,f2,$2,i);else{let P1=j.startPadding;switch(i){case"center":h2=P1+w2-(f2-v2)/2;break;case"end":h2=w2+v2+v0-f2;break;default:h2=w2}h2=Math.max(0,Math.min(h2,z1))}if(q2==="smooth")G2.smoothScrollTo(h2,N2??$0,s??void 0,E2);else if(s)s(h2);else if(q)F.viewport.scrollLeft=h2;else F.viewport.scrollTop=h2},getScrollPosition(){return a?a():_.scrollPosition},on:W.on.bind(W),off:W.off.bind(W),destroy(){if(_.destroyed)return;if(_.destroyed=!0,Z2)Z2=!1,F.root.classList.remove(J2);if(R2!==null)cancelAnimationFrame(R2),R2=null;if(c!==null)clearTimeout(c),c=null;G2.detach(),D2?.disconnect(),F.content.removeEventListener("click",W2),F.content.removeEventListener("dblclick",A2),F.content.removeEventListener("contextmenu",k),F.root.removeEventListener("keydown",Y2);let V2=[];for(let N of U)try{N()}catch($2){V2.push($2 instanceof Error?$2:Error(String($2)))}for(let N of D)if(N.destroy)try{N.destroy()}catch($2){V2.push($2 instanceof Error?$2:Error(String($2)))}for(let[,N]of X)N.remove();if(X.clear(),E.clear(),F.root.remove(),W.emit("destroy",void 0),W.clear(),V2.length>0)for(let N of V2)console.error("vlist: error during destroy:",N)}};for(let[V2,N]of r)y2[V2]=N;return y2}var q1=(Q,J,j)=>{let q=J.getTotalSize(),$=j===!0||q>I2,K=q>I2?I2:q,Y=q>0?K/q:1;return{isCompressed:$,actualSize:q,virtualSize:K,ratio:Y}},x2=(Q,J,j,q,$,K)=>{if(q===0||J===0)return K.start=0,K.end=-1,K;if(!$.isCompressed||$.ratio===1){let S=j.indexAtOffset(Q),F=j.indexAtOffset(Q+J);if(F<q-1)F++;return K.start=Math.max(0,S),K.end=Math.min(q-1,Math.max(0,F)),K}let{virtualSize:Y}=$,Z=Q/Y,M=j.getTotalSize(),V=Z*M,W=j.indexAtOffset(V),m=W0(j,Math.max(0,W),J,q),D=W+m;return K.start=Math.max(0,W),K.end=Math.min(q-1,Math.max(0,D)),K};var u2=(Q,J,j,q,$,K,Y)=>{if(!K.isCompressed||q===0)return j.getOffset(Q);if(K.ratio===1)return j.getOffset(Q)-J;let{virtualSize:Z}=K,M=J/Z,V=j.getTotalSize(),W=M*V;return j.getOffset(Q)-W},j0=(Q,J,j,q,$,K="start")=>{if(q===0)return 0;let Y;if($.isCompressed&&$.ratio!==1){Y=Q/q*$.virtualSize;let W=J.getSize(Q);switch(K){case"center":Y-=(j-W)/2*$.ratio;break;case"end":Y-=(j-W)*$.ratio;break}return Math.max(0,Y)}Y=J.getOffset(Q);let Z=J.getSize(Q);switch(K){case"center":Y-=(j-Z)/2;break;case"end":Y-=j-Z;break}let M=$.virtualSize-j;return Math.max(0,Math.min(Y,M))};var c1=(Q)=>{if(typeof Q!=="object"){let J=Q??2;return{top:J,right:J,bottom:J,left:J}}return{top:Q.top??2,right:Q.right??2,bottom:Q.bottom??2,left:Q.left??2}},q0=(Q,J,j={},q="vlist",$=!1,K)=>{let{autoHide:Y=!0,autoHideDelay:Z=1000,minThumbSize:M=15,showOnHover:V=!0,showOnViewportEnter:W=!0,clickBehavior:m="scroll"}=j,D=m==="page"?"scroll":m,S=K??Q,F=c1(j.padding),w=$?F.left:F.top,H=$?F.right:F.bottom,E=$?F.bottom:F.right,b=j.hoverZoneWidth??E+16,_=0,A=0,z=0,X=0,G=!1,L=!1,p=0,R=0,d=0,g=null,x=!1,l=null,c=0,o=0,r=null,P=null,y=null,U=$?"width":"height",u=$?"translateX":"translateY",a=$?(k)=>k.clientX:(k)=>k.clientY,s=$?"left":"top",h=document.createElement("div"),B=document.createElement("div"),f=document.createElement("div"),O=$?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",I=()=>{if(S===Q)return;let k=Q.offsetTop;h.style[$?"left":"top"]=k?`calc(var(${O}) + ${k}px)`:`var(${O})`,f.style[$?"left":"top"]=`${k}px`},e=()=>{if(h.className=`${q}-scrollbar`,B.className=`${q}-scrollbar__thumb`,$)h.classList.add(`${q}-scrollbar--horizontal`);if(j.padding!==void 0)S.style.setProperty("--vlist-custom-scrollbar-padding-top",`${F.top}px`),S.style.setProperty("--vlist-custom-scrollbar-padding-right",`${F.right}px`),S.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${F.bottom}px`),S.style.setProperty("--vlist-custom-scrollbar-padding-left",`${F.left}px`);if(j.minThumbSize!==void 0)h.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${M}px`);if(h.appendChild(B),S.appendChild(h),f.className=`${q}-scrollbar__hover`,$)f.classList.add(`${q}-scrollbar__hover--horizontal`),f.style.height=`${b}px`;else f.style.width=`${b}px`;if(S.appendChild(f),S!==Q)I()},T=()=>{if(g)clearTimeout(g),g=null},v=()=>{if(!Y)return;T(),g=setTimeout(X2,Z)},Q2=()=>{if(_<=A)return;if(T(),!x)h.classList.add(`${q}-scrollbar--visible`),x=!0;if(Y&&!G&&!L)v()},X2=()=>{if(G||L)return;h.classList.remove(`${q}-scrollbar--visible`),x=!1},t=(k,Y2)=>{if(_=k,A=Y2,I(),_<=A){h.style.display="none",X2();return}h.style.display="";let D2=Math.max(0,A-w-H),R2=A/_;if(z=Math.max(M,R2*D2),B.style[U]=`${z}px`,X=D2-z,U2(d),!Y)Q2()},U2=(k)=>{if(d=k,_<=A||X<=0)return;let Y2=_-A,D2=Math.min(1,Math.max(0,k/Y2));B.style.transform=`${u}(${D2*X}px)`},M2=(k)=>{if(k.target===B||D!=="jump"||X<=0)return;let Y2=_-A,D2=h.getBoundingClientRect(),R2=a(k)-D2[s],y2=Math.max(0,Math.min(R2-z/2,X));J(y2/X*Y2),Q2()},z2=()=>{if(r!==null)clearTimeout(r),r=null;if(P!==null)cancelAnimationFrame(P),P=null;y=null},O2=(k)=>{let Y2=X>0?o/k*X:0;if(c<Y2)return-1;if(c>=Y2+z)return 1;return 0},H2=()=>{let k=_-A,Y2=O2(k);if(Y2===0){z2();return}if(Y2===-1){if(o<=0){z2();return}let D2=Math.max(0,o-A);o=D2,J(D2)}else{if(o>=k){z2();return}let D2=Math.min(k,o+A);o=D2,J(D2)}Q2()},C=(k)=>{if(y===null){y=k,P=requestAnimationFrame(C);return}let Y2=_-A,D2=k-y;y=k;let R2=O2(Y2);if(R2===0){z2();return}let y2=12*A/1000,V2=Math.min(y2*D2,A);if(R2===-1){if(o<=0){z2();return}let N=Math.max(0,o-V2);o=N,J(N)}else{if(o>=Y2){z2();return}let N=Math.min(Y2,o+V2);o=N,J(N)}T(),P=requestAnimationFrame(C)},n=()=>{z2(),v(),document.removeEventListener("mouseup",n)},J2=(k)=>{if(k.target===B||D!=="scroll")return;k.preventDefault();let Y2=h.getBoundingClientRect();c=a(k)-Y2[s],o=d,H2(),r=setTimeout(()=>{P=requestAnimationFrame(C)},350),document.addEventListener("mouseup",n)},Z2=(k)=>{k.preventDefault(),k.stopPropagation(),G=!0,p=a(k),R=d,T(),h.classList.add(`${q}-scrollbar--dragging`),document.addEventListener("mousemove",_2),document.addEventListener("mouseup",j2)},_2=(k)=>{if(!G)return;let Y2=a(k)-p,D2=X>0?Y2/X:0,R2=_-A,y2=D2*R2,V2=Math.max(0,Math.min(R+y2,R2));B.style.transform=`${u}(${V2/R2*X}px)`,J(V2)},j2=()=>{if(G=!1,h.classList.remove(`${q}-scrollbar--dragging`),Y&&!L)v();document.removeEventListener("mousemove",_2),document.removeEventListener("mouseup",j2)},L2=$?(k)=>k.touches[0].clientX:(k)=>k.touches[0].clientY,T2=(k)=>{k.stopPropagation(),G=!0,p=L2(k),R=d,T(),h.classList.add(`${q}-scrollbar--dragging`)},F2=(k)=>{if(!G)return;k.preventDefault();let Y2=L2(k)-p,D2=X>0?Y2/X:0,R2=_-A,y2=D2*R2,V2=Math.max(0,Math.min(R+y2,R2));B.style.transform=`${u}(${V2/R2*X}px)`,J(V2)},k2=()=>{if(G=!1,h.classList.remove(`${q}-scrollbar--dragging`),Y)v()},b2=(k)=>{if(k.target===B)return;if(X<=0)return;let Y2=k.touches[0],D2=h.getBoundingClientRect(),R2=($?Y2.clientX:Y2.clientY)-D2[s];if(D==="jump"){let y2=_-A,V2=Math.max(0,Math.min(R2-z/2,X));J(V2/X*y2)}else c=R2,o=d,H2();Q2()},B2=()=>{if(W)Q2()},G2=()=>{if(!G){if(L=!1,Y)v()}},P2=()=>{L=!0,T(),Q2()},W2=()=>{if(L=!1,!G&&Y)v()},A2=()=>{if(T(),z2(),l!==null)cancelAnimationFrame(l),l=null;h.removeEventListener("click",M2),h.removeEventListener("mousedown",J2),h.removeEventListener("mouseenter",P2),document.removeEventListener("mouseup",n),h.removeEventListener("mouseleave",W2),h.removeEventListener("touchstart",b2),B.removeEventListener("mousedown",Z2),B.removeEventListener("touchstart",T2),B.removeEventListener("touchmove",F2),B.removeEventListener("touchend",k2),Q.removeEventListener("mouseenter",B2),Q.removeEventListener("mouseleave",G2),document.removeEventListener("mousemove",_2),document.removeEventListener("mouseup",j2),f.removeEventListener("click",M2),f.removeEventListener("mousedown",J2),f.removeEventListener("mouseenter",P2),f.removeEventListener("mouseleave",W2),f.remove(),S.style.removeProperty("--vlist-custom-scrollbar-padding-top"),S.style.removeProperty("--vlist-custom-scrollbar-padding-right"),S.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),S.style.removeProperty("--vlist-custom-scrollbar-padding-left"),h.remove()};if(e(),h.addEventListener("click",M2),h.addEventListener("mousedown",J2),h.addEventListener("mouseenter",P2),h.addEventListener("mouseleave",W2),h.addEventListener("touchstart",b2,{passive:!0}),B.addEventListener("mousedown",Z2),B.addEventListener("touchstart",T2,{passive:!0}),B.addEventListener("touchmove",F2,{passive:!1}),B.addEventListener("touchend",k2,{passive:!0}),Q.addEventListener("mouseenter",B2),Q.addEventListener("mouseleave",G2),f.addEventListener("click",M2),f.addEventListener("mousedown",J2),V)f.addEventListener("mouseenter",P2),f.addEventListener("mouseleave",W2);return{show:Q2,hide:X2,updateBounds:t,updatePosition:U2,isVisible:()=>x,destroy:A2}};var d1=0.65,Z1=0.5,K1=1.7,l1=0.95,r1=0.1,r2=5,s1=100;function X0(Q){let J=Q?.force??!1,j,q,$,K,Y,Z={isCompressed:!1,actualSize:0,virtualSize:0,ratio:1},M=!1,V=0,W=null,m=!1,D=0,S=0,F=null,w=null,H=0,E=0,b=null,_=new Float64Array(r2),A=new Float64Array(r2),z=0,X=0,G={start:0,end:-1},L=-1,p=null;function R(){return Math.max(0,Z.virtualSize+V-j.containerSize)}function d(){if(Z.virtualSize<=0)return 0;return Math.max(0,j.containerSize*(1-Z.ratio))}function g(B){let f=j.totalItems;if(Z=q1(f,q,J),Z.isCompressed&&!M)a(B);else if(!Z.isCompressed&&M)s(B);if(Z.isCompressed){if(V=d(),j.isCompressed=!0,j.compressionRatio=Z.ratio,B.updateContentSize(Z.virtualSize+V),W)W.updateBounds(Z.virtualSize+V,j.containerSize)}}let x=null,l=null,c=null,o=null,r=null;function P(B){D=B,S=B,j.prevScrollPosition=j.scrollPosition,j.scrollPosition=B,j.scrollDirection=B>j.prevScrollPosition?1:-1,p.forceRender()}function y(){if(F!==null)cancelAnimationFrame(F),F=null;if(w!==null)cancelAnimationFrame(w),w=null}function U(B){y(),P(Math.max(0,Math.min(B,R())))}function u(B,f,O=e2){y();let I=Math.max(0,Math.min(B,R())),e=D;if(Math.abs(I-e)<Z1){P(I);return}let T=performance.now(),v=(Q2)=>{let X2=Math.min((Q2-T)/f,1);if(P(e+(I-e)*O(X2)),X2<1)w=requestAnimationFrame(v);else w=null};w=requestAnimationFrame(v)}function a(B){M=!0,j.isCompressed=!0;let f=K?"scrollLeft":"scrollTop",O=K?"overflowX":"overflow",I=$[f];if($.style[O]="hidden",$[f]=0,I>0)D=I,S=I,j.scrollPosition=I;V=d();let e=()=>{let t=S-D,U2=R();if(Math.abs(t)<Z1)D=Math.max(0,Math.min(S,U2)),S=D,F=null;else D+=t*d1,D=Math.max(0,Math.min(D,U2)),F=requestAnimationFrame(e);j.prevScrollPosition=j.scrollPosition,j.scrollPosition=D,j.scrollDirection=D>j.prevScrollPosition?1:-1,B.forceRender()};x=(t)=>{t.preventDefault();let U2=R();if(S=Math.max(0,Math.min(S+t.deltaY*Z.ratio*K1,U2)),F===null)F=requestAnimationFrame(e)},$.addEventListener("wheel",x,{passive:!1});let T=()=>{if(b!==null)cancelAnimationFrame(b),b=null};l=(t)=>{if(T(),F!==null)cancelAnimationFrame(F),F=null;let U2=t.touches[0];if(!U2)return;let M2=K?U2.clientX:U2.clientY;H=M2,E=D,z=1,X=0,_[0]=performance.now(),A[0]=M2},c=(t)=>{t.preventDefault();let U2=t.touches[0];if(!U2)return;let M2=K?U2.clientX:U2.clientY,z2=performance.now(),O2=z<r2?z:X;if(_[O2]=z2,A[O2]=M2,z<r2)z++;else X=(X+1)%r2;let H2=H-M2,C=R(),n=Math.max(0,Math.min(E+H2*Z.ratio*K1,C));D=n,S=n,j.prevScrollPosition=j.scrollPosition,j.scrollPosition=n,j.scrollDirection=n>j.prevScrollPosition?1:-1,B.forceRender()},o=()=>{let t=performance.now(),U2=1/0,M2=0,z2=-1,O2=0,H2=0;for(let Z2=0;Z2<z;Z2++){let _2=(X+Z2)%r2,j2=_[_2];if(t-j2>=s1)continue;H2++;let L2=A[_2];if(j2<U2)U2=j2,M2=L2;if(j2>z2)z2=j2,O2=L2}let C=0;if(H2>=2){let Z2=z2-U2;if(Z2>0)C=(M2-O2)/Z2}if(z=0,X=0,Math.abs(C)<r1)return;let n=C*16,J2=()=>{if(n*=l1,Math.abs(n)<0.5){b=null;return}let Z2=R(),_2=D+n;if(_2=Math.max(0,Math.min(_2,Z2)),_2<=0&&n<0||_2>=Z2&&n>0){D=_2,S=_2,j.scrollPosition=_2,B.forceRender(),b=null;return}D=_2,S=_2,j.prevScrollPosition=j.scrollPosition,j.scrollPosition=_2,j.scrollDirection=_2>j.prevScrollPosition?1:-1,B.forceRender(),b=requestAnimationFrame(J2)};b=requestAnimationFrame(J2)},$.addEventListener("touchstart",l,{passive:!0}),$.addEventListener("touchmove",c,{passive:!1}),$.addEventListener("touchend",o,{passive:!0}),$.addEventListener("touchcancel",o,{passive:!0}),r=()=>{if($[f]!==0)$[f]=0},$.addEventListener("scroll",r,{passive:!0});let v=(t)=>{if(D=t,S=t,F!==null)cancelAnimationFrame(F),F=null;j.prevScrollPosition=j.scrollPosition,j.scrollPosition=t,j.scrollDirection=t>j.prevScrollPosition?1:-1,B.forceRender()},Q2=B.getMethod("_scrollbar:setCallback"),X2=B.getMethod("_scrollbar:getInstance");if(Q2&&X2){Q2(v);let t=X2();if(t)W=t,m=!1,W.updateBounds(Z.virtualSize+V,j.containerSize)}else if(!W){let t=B.config.classPrefix;if(W=q0($,v,{},t,K,B.dom.root),m=!0,!$.classList.contains(`${t}-viewport--custom-scrollbar`))$.classList.add(`${t}-viewport--custom-scrollbar`);W.updateBounds(Z.virtualSize+V,j.containerSize)}}function s(B){M=!1,j.isCompressed=!1,j.compressionRatio=1,D=0,S=0,z=0,X=0,h();let f=K?"overflowX":"overflow";$.style[f]="auto",V=0,B.updateContentSize(q.getTotalSize())}function h(){if(F!==null)cancelAnimationFrame(F),F=null;if(w!==null)cancelAnimationFrame(w),w=null;if(b!==null)cancelAnimationFrame(b),b=null;if(x)$.removeEventListener("wheel",x),x=null;if(l)$.removeEventListener("touchstart",l),l=null;if(c)$.removeEventListener("touchmove",c),c=null;if(o)$.removeEventListener("touchend",o),$.removeEventListener("touchcancel",o),o=null;if(r)$.removeEventListener("scroll",r),r=null;if(W&&m)W.destroy();W=null,m=!1;let B=K?"scrollLeft":"scrollTop";if($&&$[B]!==0)$[B]=0}return{name:"scale",priority:20,setup(B){j=B.getState(),q=B.sizeCache,$=B.dom.viewport,K=B.config.axis.primary==="x",Y=B.config.overscan,p=B,B.registerMethod("_updateCompressionMode",()=>g(B)),B.registerMethod("_scale:getCompression",()=>Z),B.registerMethod("_scale:easedScrollTo",(f,O)=>u(f,O)),B.setScrollFns(()=>D,(f)=>{if(!Z.isCompressed||!M){let I=K?"scrollLeft":"scrollTop";$[I]=f;return}if(y(),b!==null)cancelAnimationFrame(b),b=null;let O=f*Z.ratio;P(Math.max(0,Math.min(O,R())))}),B.setScrollToIndexFn((f,O,I,e,T)=>{if(!Z.isCompressed||!M)return!1;let v=j0(f,q,j.containerSize,j.totalItems,Z,O);if(I==="smooth")u(v,e??$0,T);else U(v)}),g(B),L=j.totalItems,B.registerDestroyHandler(h)},hooks:{onCalculate(B){if(B.totalItems!==L&&p)L=B.totalItems,g(p);if(!Z.isCompressed||!M)return;let f=B.totalItems;if(f===0||B.containerSize<=0){B.visibleCount=0;return}x2(B.scrollPosition,B.containerSize,q,f,Z,G);let O=Math.max(0,G.start-Y),I=Math.min(f-1,G.end+Y),e=Math.min(I-O+1,B.capacity);B.visibleCount=e,B.startIndex=O;for(let T=0;T<e;T++){let v=O+T;B.visibleIndices[T]=v,B.visibleOffsets[T]=u2(v,B.scrollPosition,q,f,B.containerSize,Z),B.visibleSizes[T]=q.getSize(v)}B.prevRangeStart=O,B.prevRangeEnd=I},onAfterScroll(B){if(W&&M)W.updatePosition(B),W.show()},onResize(){if(M){if(V=d(),W)W.updateBounds(Z.virtualSize+V,j.containerSize);let B=R();if(D>B)D=B,S=B,j.scrollPosition=B}}},destroy(){h()}}}function M0(Q){let J=null,j,q=0,$=0;return{name:"scrollbar",priority:15,setup(K){let{dom:Y,config:Z}=K,{classPrefix:M}=Z,V=Z.axis.primary==="x";j=K.getState();let W=(m)=>{if(V)Y.viewport.scrollLeft=m;else Y.viewport.scrollTop=m};if(K.registerMethod("_scrollbar:setCallback",(m)=>{W=m}),J=q0(Y.viewport,(m)=>{W(m)},Q,M,V,Y.root),Y.viewport.classList.add(`${M}-viewport--custom-scrollbar`),Q?.gutter)Y.viewport.classList.add(`${M}-viewport--gutter`);queueMicrotask(()=>{if(!j.isCompressed)J?.updateBounds(j.totalSize,j.containerSize)}),K.registerMethod("_scrollbar:getInstance",()=>J),K.registerDestroyHandler(()=>{if(J?.destroy(),J=null,Y.viewport.classList.remove(`${M}-viewport--custom-scrollbar`),Q?.gutter)Y.viewport.classList.remove(`${M}-viewport--gutter`)})},hooks:{onAfterScroll(K){if(!j.isCompressed){let{totalSize:Y,containerSize:Z}=j;if(Y!==q||Z!==$)q=Y,$=Z,J?.updateBounds(Y,Z)}J?.updatePosition(K),J?.show()},onResize(){if(!j.isCompressed){let{totalSize:K,containerSize:Y}=j;q=K,$=Y,J?.updateBounds(K,Y)}}},destroy(){J?.destroy(),J=null}}}var Y1=(Q)=>{let J=Math.max(1,Math.floor(Q.columns)),j=Q.gap??0,q=Q.isHeaderFn,$={row:0,col:0},K=(w)=>{if(w<=0)return 0;if(!q)return Math.ceil(w/J);let H=0,E=0,b=0;for(let _=0;_<w;_++)if(q(_)){if(b++,E)H++,E=0;H++,E=0}else if(E++,E>=J)H++,E=0;if(E)H++;return H},Y=(w)=>{return $.row=Z(w),$.col=M(w),$},Z=(w)=>{if(!q)return Math.floor(w/J);let H=0,E=0;for(let b=0;b<=w;b++)if(q(b)){if(E)H++,E=0;if(b===w)return H;H++,E=0}else{if(b===w)return H;if(E++,E>=J)H++,E=0}return console.warn(`⚠️ getRow(${w}) fell through - returning ${H}`),H},M=(w)=>{if(!q)return w%J;if(q(w))return 0;let H=0;for(let E=0;E<=w;E++)if(q(E))H=0;else{if(E===w)return H;if(H++,H>=J)H=0}return H},V=(w,H,E,b)=>{if(E<=0){b.start=0,b.end=-1;return}if(!q){b.start=Math.max(0,w*J),b.end=Math.min(E-1,(H+1)*J-1);return}let _=W(w,H,E);b.start=_.start,b.end=_.end},W=(w,H,E)=>{if(E<=0)return{start:0,end:-1};if(!q){let X=Math.max(0,w*J),G=Math.min(E-1,(H+1)*J-1);return{start:X,end:G}}let b=-1,_=-1,A=0,z=0;for(let X=0;X<E;X++){if(q(X)){if(z)A++,z=0;if(A>=w&&A<=H){if(b<0)b=X;_=X}A++,z=0}else{if(A>=w&&A<=H){if(b<0)b=X;_=X}if(z++,z>=J)A++,z=0}if(A>H&&!z)break}if(b<0)return{start:0,end:-1};return{start:b,end:_}},m=(w,H,E)=>{if(H<0||H>=J)return-1;let b=w*J+H;if(b<0||b>=E)return-1;return b},D=(w)=>{let H=(J-1)*j;return Math.max(0,(w-H)/J)};return{get columns(){return J},get gap(){return j},update:(w)=>{if(w.columns!==void 0)J=Math.max(1,Math.floor(w.columns));if(w.gap!==void 0)j=w.gap;if(w.isHeaderFn!==void 0)q=w.isHeaderFn},getTotalRows:K,getPosition:Y,getRow:Z,getCol:M,getItemRange:W,fillItemRange:V,getItemIndex:m,getColumnWidth:D,getColumnOffset:(w,H)=>{let E=D(H);return w*(E+j)}}};var m2={selected:!1,focused:!1};function D0(Q){if(!Q.columns||Q.columns<1)throw Error("[vlist] grid: columns must be >= 1");let J,j,q,$,K,Y,Z,M,V,W,m=null,D=null,S=!1,F=null,w=0,H=0,E=0,b=0,_=new Map,A=0,z=0,X=0,G=0,L=null,p=!1,R="",d="",g="",x={start:0,end:-1},l={start:0,end:-1},c=-1,o=-1,r=!0;function P(){let O=(z-1)*X;G=Math.max(0,(A-O)/z)}function y(){if(S||!F)return;S=!0,D=F("_scale:getCompression")??null}function U(){if(p)return;p=!0,L=m?.()??null}function u(){return J.getTotalRows(q.totalItems)}function a(O){let I=O/z|0,T=(O-I*z)*(G+X)+w,v=j.getOffset(I)+E;if(M)return`translate(${Math.round(v)}px, ${Math.round(T)}px)`;return`translate(${Math.round(T)}px, ${Math.round(v)}px)`}function s(O,I){let e=j.getSize(I)-X;if(M)O.style.width=`${e}px`,O.style.height=`${G}px`;else O.style.width=`${G}px`,O.style.height=`${e}px`}function h(O,I,e){if(L)L(e,m2);else m2.selected=!1,m2.focused=!1;let T=Y(I,e,m2);if(typeof T==="string")O.innerHTML=T;else O.innerHTML="",O.appendChild(T)}function B(){if(q.destroyed)return;let{scrollPosition:O,containerSize:I}=q;if(!r&&O===c&&I===o)return;c=O,o=I,r=!1;let e=u();if(I<=0||e===0)return;y(),U();let T=D!==null?D():null,v=T!==null&&T.isCompressed,Q2,X2;if(v)x2(O,I,j,e,T,x),Q2=Math.max(0,x.start-W),X2=Math.min(e-1,x.end+W);else{let O2=j.indexAtOffset(O),H2=j.indexAtOffset(O+I);if(H2<e-1)H2++;O2=Math.max(0,O2),H2=Math.min(e-1,Math.max(0,H2)),Q2=Math.max(0,O2-W),X2=Math.min(e-1,H2+W)}if(Q2===q.prevRangeStart&&X2===q.prevRangeEnd&&!q.renderPending)return;J.fillItemRange(Q2,X2,q.totalItems,l);let{start:t,end:U2}=l;for(let[O2,H2]of _)if(O2<t||O2>U2)H2.el.remove(),$.release(H2.el),_.delete(O2);for(let O2=t;O2<=U2;O2++){let H2=Z(O2);if(!H2)continue;let C=O2/z|0,n=O2-C*z,J2=_.get(O2);if(J2===void 0){let j2=$.acquire();j2.className=R,j2.setAttribute("data-index",String(O2)),j2.setAttribute("data-id",String(H2.id)),h(j2,H2,O2),J2={el:j2,lastItem:H2},_.set(O2,J2),K.appendChild(j2)}else if(J2.lastItem!==H2)J2.el.setAttribute("data-id",String(H2.id)),J2.lastItem=H2,h(J2.el,H2,O2);else if(L)L(O2,m2);if(L)if(J2.el.classList.toggle(d,m2.selected),J2.el.classList.toggle(g,m2.focused),m2.selected)J2.el.setAttribute("aria-selected","true");else J2.el.removeAttribute("aria-selected");s(J2.el,C);let Z2=n*(G+X)+w,_2=v?u2(C,O,j,e,I,T)+E:j.getOffset(C)+E;J2.el.style.transform=M?`translate(${Math.round(_2)}px, ${Math.round(Z2)}px)`:`translate(${Math.round(Z2)}px, ${Math.round(_2)}px)`}let M2=j.getTotalSize()+b;if(!v)K.style[M?"width":"height"]=M2+"px";q.totalSize=M2,q.prevRangeStart=Q2,q.prevRangeEnd=X2,q.renderPending=!1;let z2=U2-t+1;q.visibleCount=Math.min(z2,q.capacity),q.startIndex=t;for(let O2=0;O2<q.visibleCount;O2++){let H2=t+O2,C=H2/z|0;q.visibleIndices[O2]=H2,q.visibleOffsets[O2]=v?u2(C,O,j,e,I,T):j.getOffset(C),q.visibleSizes[O2]=j.getSize(C)}}function f(){if(q.destroyed)return;j.rebuild(u()),q.prevRangeStart=-1,q.prevRangeEnd=-1,q.renderPending=!0,r=!0,B()}return{name:"grid",priority:10,conflicts:["masonry","table"],setup(O){z=Math.max(1,Math.floor(Q.columns)),X=Q.gap??0,J=Y1({columns:Q.columns,gap:X}),j=O.sizeCache,q=O.getState(),$=O.pool,K=O.dom.content,Y=O.template,M=O.config.axis.primary==="x",V=O.config.classPrefix,W=O.config.overscan,Z=O.getItem.bind(O),m=()=>O.getItemStateFn(),F=O.getMethod.bind(O),R=`${V}-item ${V}-grid-item`,d=`${V}-item--selected`,g=`${V}-item--focused`,w=O.config.crossPadStart,H=O.config.crossAxisPadding,E=O.config.startPadding,b=O.config.mainAxisPadding,A=q.crossSize-H,P();let I=O.rawSizeSpec,e;if(typeof I==="function"){let v={columnWidth:J.getColumnWidth(A),columns:Q.columns,gap:X};e=I(0,v),O.setSizeConfig((Q2)=>{v.columnWidth=J.getColumnWidth(A);let X2=Q2*Q.columns;return I(X2,v)+X})}else if(e=I,X>0)O.setSizeConfig(e+X);if(j.rebuild(u()),X>0){let T=j.getTotalSize;j.getTotalSize=()=>{let v=T();return v>0?v-X:0}}O.setVirtualTotalFn(()=>u()),O.dom.root.classList.add(`${V}--grid`),O.setRenderFn(B,f),O.registerMethod("getGridLayout",()=>J),O.registerMethod("updateGrid",(T)=>{if(T.columns!==void 0){if(!Number.isInteger(T.columns)||T.columns<1)throw Error("[vlist] updateGrid: columns must be >= 1")}if(T.gap!==void 0&&T.gap<0)throw Error("[vlist] updateGrid: gap must be >= 0");if(J.update(T),T.columns!==void 0)z=Math.max(1,Math.floor(T.columns));if(T.gap!==void 0)X=T.gap;if(T.gap!==void 0||T.columns!==void 0){let v=J.gap;if(typeof I==="function"){let Q2={columnWidth:J.getColumnWidth(A),columns:J.columns,gap:v};O.setSizeConfig((X2)=>{Q2.columnWidth=J.getColumnWidth(A);let t=X2*J.columns;return I(t,Q2)+v})}else O.setSizeConfig(e+v);j.rebuild(u())}if(T.columns!==void 0)O.setNavConfig({ud:J.columns});A=q.crossSize-H,P(),f()}),O.registerMethod("scrollToIndex",(T,v="start")=>{let Q2=J.getRow(T),X2=u();if(X2===0)return;let t=Math.max(0,Math.min(Q2,X2-1)),U2=j.getOffset(t)+E,M2=j.getSize(t),z2=q.containerSize,O2=j.getTotalSize()+b,H2=Math.max(0,O2-z2),C=typeof v==="string"?v:v.align??"start",n=typeof v==="object"?v.behavior:void 0,J2=typeof v==="object"?v.duration:void 0,Z2;switch(C){case"center":Z2=U2-(z2-M2)/2;break;case"end":Z2=U2-z2+M2;break;default:Z2=U2}Z2=Math.max(0,Math.min(Z2,H2)),y();let _2=D?.()??null;if(_2?.isCompressed&&n==="smooth"&&J2&&J2>0){let j2=j0(t,j,z2,X2,_2,C),L2=F?.("_scale:easedScrollTo");if(L2)L2(j2,J2);else O.scrollTo(Z2)}else if(n==="smooth"&&J2&&J2>0)O.smoothScrollTo(Z2,J2);else O.scrollTo(Z2)}),O.setNavConfig({total:()=>q.totalItems,ud:Q.columns,lr:1,scrollIndex:(T)=>J.getRow(T)}),O.registerDestroyHandler(()=>{for(let[,T]of _)T.el.remove();_.clear(),O.dom.root.classList.remove(`${V}--grid`)})},hooks:{onResize(O,I){let e=q.crossSize-H;if(Math.abs(e-A)<1)return;if(A=e,P(),(D?.()??null)?.isCompressed)f();else for(let[v,Q2]of _){let X2=v/z|0;s(Q2.el,X2),Q2.el.style.transform=a(v)}}},destroy(){_.clear()}}}function G0(){return{name:"a11y",priority:55,setup(Q){if(Q.getItemStateFn())return;Q.enableListboxRole();let{dom:J,config:j,sizeCache:q}=Q,$=Q.getState(),K=Q.emitter,Y=j.classPrefix,Z=J.liveRegion,M=-1,V=!1,W,m=-1,D=(L)=>Q.getItem(L),S=()=>$.totalItems,F={id:0,index:0},w={selected:[],items:[]};Q.setItemStateFn((L,p)=>{p.selected=m===L,p.focused=V&&M===L});function H(L){Z.textContent="",Z.textContent=L}let E=(L,p,R)=>{let d=L;while(d>=0&&d<R){let g=D(d);if(!g||!g.__groupHeader)return d;d+=p}d=L-p;while(d>=0&&d<R){let g=D(d);if(!g||!g.__groupHeader)return d;d-=p}return L},b=(L)=>{let p=Q.getNavConfig(),R=p.scrollIndex?p.scrollIndex(L):L,d=q.getOffset(R),g=q.getSize(R),x=$.scrollPosition,l=$.containerSize,c=j.startPadding,o=j.endPadding,r=d+c,P=r+g,y=x;if(r<x)y=Math.max(0,d);else if(P>x+l)y=P+o-l;if(y!==x)$.scrollPosition=y,Q.scrollTo(y)},_=(L,p)=>{if(J.content.setAttribute("aria-activedescendant",`${Y}-item-${L}`),p)b(L);Q.forceRender()},A=(L)=>{M=L,V=!0,_(L,!0);let p=D(L);if(p)F.id=p.id,F.index=L,K.emit("focus:change",F),H(`Item ${L+1} of ${S()}`)},z=(L,p)=>{if(M=L,p)V=!0;let R=D(L);if(R&&W===R.id)W=void 0,m=-1;else W=R?.id,m=R?L:-1;if(_(L,p),W!==void 0&&R&&W===R.id)w.selected[0]=W,w.selected.length=1,w.items[0]=R,w.items.length=1,H(`Selected, item ${L+1} of ${S()}`);else w.selected.length=0,w.items.length=0,H("Deselected");K.emit("selection:change",w)},X=()=>{if($.destroyed)return;if(!J.content.matches(":focus-visible"))return;let L=S();if(L===0)return;let p=M>=0?Math.min(M,L-1):0;p=E(p,1,L),A(p)},G=(L)=>{if($.destroyed)return;let p=L.relatedTarget;if(p&&J.root.contains(p))return;V=!1,J.content.removeAttribute("aria-activedescendant"),Q.forceRender()};J.content.addEventListener("focusin",X),J.content.addEventListener("focusout",G),Q.registerKeydownHandler((L)=>{if($.destroyed)return;let p=S();if(p===0)return;let R=M,d=R;if(L.key===" "||L.key==="Enter"){if(R>=0){let x=D(R);if(x&&!x.__groupHeader)z(R,!0)}L.preventDefault();return}let g=Q.getNavConfig();if(g.navigate)switch(L.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":d=g.navigate(R,L.key,p);break;default:return}else{let x=g.ud||1,l=g.lr,c=j.axis.primary==="x";switch(L.key){case"ArrowUp":if(c&&!l)return;d=R-(c?l:x);break;case"ArrowDown":if(c&&!l)return;d=R+(c?l:x);break;case"ArrowLeft":if(!c&&!l)return;d=R-(c?x:l);break;case"ArrowRight":if(!c&&!l)return;d=R+(c?x:l);break;case"PageUp":case"PageDown":{let o=q.getSize(Math.max(0,g.scrollIndex?g.scrollIndex(R):R)),P=Math.max(1,Math.floor($.containerSize/o))*x;d=L.key==="PageUp"?R-P:R+P;break}case"Home":d=0;break;case"End":d=p-1;break;default:return}}if(d<0)d=0;else if(d>=p)d=p-1;if(L.preventDefault(),d=E(d,d>=R?1:-1,p),d!==R)A(d)}),Q.registerClickHandler((L)=>{if($.destroyed)return;let p=L.target.closest("[data-index]");if(!p)return;let R=parseInt(p.dataset.index??"-1",10);if(R<0)return;let d=D(R);if(!d||d.__groupHeader)return;V=!1,J.content.focus({preventScroll:!0}),z(R,!1)}),Q.registerDestroyHandler(()=>{J.content.removeEventListener("focusin",X),J.content.removeEventListener("focusout",G)})}}}var o2=(Q,J,j)=>{if(String(j).startsWith(S2))return!1;let q=S2+J;if(Q.has(q))return Q.delete(q),Q.add(j),!0;return!1},U1=(Q)=>({selected:new Set(Q??[]),focusedIndex:-1,focusVisible:!1});function c2(Q,J,j,q){if(j===0)return;let $=q?-J:J,K=Q.focusedIndex+$;if(K<0)K=0;if(K>=j)K=j-1;Q.focusedIndex=K}function Z0(Q){return Array.from(Q)}var a1={preventScroll:!0};function A0(Q){let J=Q?.mode??"single",j=Q?.followFocus??!1,q=Q?.focusOnClick??!1,$,K,Y,Z,M,V,W,m,D=-1,S=new Map,F=null,w=null,H=null,E=null,b,_=!1;function A(U){if(_)return;_=!0,F=U.getMethod("_layoutToDataIndex")??null,w=U.getMethod("_dataToLayoutIndex")??null,H=U.getMethod("_isGroupHeader")??null,E=U.getMethod("_scrollItemIntoView")??null,X=U.getMethod("_getLoadedItem")??null;let u=U.getMethod("getGroupLayout");if(u){let a=u();b=()=>a.totalEntries}}let z=(U)=>F?F(U):U,X=null,G=(U)=>{if(X)return X(U);return K()[U]},L=(U)=>{let u=z(U);return u>=0?G(u):void 0},p=(U,u,a)=>{if(!H)return U;let s=U;while(s>=0&&s<a){if(!H(s))return s;s+=u}s=U-u;while(s>=0&&s<a){if(!H(s))return s;s-=u}return U};function R(U,u){if(J==="single")$.selected.clear(),S.clear();if($.selected.add(U),u)S.set(U,u)}function d(U,u){if($.selected.has(U))$.selected.delete(U),S.delete(U);else R(U,u)}function g(){$.selected.clear(),S.clear()}function x(U){$.selected.delete(U),S.delete(U)}function l(U,u){let a=Math.min(U,u),s=Math.max(U,u);for(let h=a;h<=s;h++){if(H?.(h))continue;let B=L(h);if(B)$.selected.add(B.id),S.set(B.id,B)}}function c(){let U=W.totalItems;for(let u=0;u<U;u++){if(H?.(u))continue;let a=L(u);if(a)$.selected.add(a.id),S.set(a.id,a)}}function o(){if($.selected.size===0)return[];if(S.size>=$.selected.size){let s=[];for(let h of $.selected){let B=S.get(h);if(B)s.push(B)}if(s.length===$.selected.size)return s}let U=[],u=new Set($.selected),a=W.totalItems;for(let s=0;s<a&&u.size>0;s++){if(H?.(s))continue;let h=L(s);if(h&&u.has(h.id))U.push(h),S.set(h.id,h),u.delete(h.id)}return U}function r(){Y(),Z.emit("selection:change",{selected:Z0($.selected),items:o()})}let P=null,y=-1;return{name:"selection",priority:50,setup(U){U.enableListboxRole(),$=U1(Q?.initial),K=U.getItems.bind(U),Y=U.forceRender.bind(U),Z=U.emitter,M=U.dom;let u=U.config;if(V=U.sizeCache,W=U.getState(),m=U.scrollTo.bind(U),b=()=>W.totalItems,J==="none"){U.registerMethod("select",()=>{}),U.registerMethod("deselect",()=>{}),U.registerMethod("toggleSelect",()=>{}),U.registerMethod("selectAll",()=>{}),U.registerMethod("clearSelection",()=>{}),U.registerMethod("getSelected",()=>[]),U.registerMethod("getSelectedItems",()=>[]),U.registerMethod("selectNext",()=>{}),U.registerMethod("selectPrevious",()=>{}),U.registerMethod("_seedSelection",()=>{}),U.registerMethod("_getFocusedId",()=>{return}),U.registerMethod("_focusById",()=>{});return}let a=u.classPrefix;U.setItemStateFn((O,I)=>{if(A(U),$.selected.size>0){let e=z(O),T=e>=0?L(O):void 0,v=T?.id;if(v!==void 0)if($.selected.has(v))I.selected=!0;else if(o2($.selected,e,v))I.selected=!0,S.delete(S2+e),S.set(v,T);else I.selected=!1;else I.selected=!1}else I.selected=!1;I.focused=$.focusVisible&&$.focusedIndex===O}),U.registerMethod("_getSelectedIds",()=>$.selected),U.registerMethod("_getFocusedIndex",()=>$.focusVisible?$.focusedIndex:-1),M.root.classList.add(`${a}--selectable`);let s=(O)=>{P=null,y=-1;let I=O.target.closest("[data-index]");if(!I)return!1;let e=parseInt(I.dataset.index??"-1",10);if(e<0)return!1;if(H?.(e))return!1;if(z(e)<0)return!1;let v=L(e);if(!v)return!1;return P=v,y=e,!0},h=(O)=>{if(O<0)return;if(E){E(O);return}let I=U.getNavConfig(),e=I.scrollIndex?I.scrollIndex(O):O,T=V.getOffset(e),v=V.getSize(e),Q2=W.containerSize,X2=W.scrollPosition;if(T<X2)m(T);else if(T+v>X2+Q2)m(T-Q2+v)},B=()=>{if(W.destroyed)return;if(A(U),!M.content.matches(":focus-visible")&&!M.root.matches(":focus-visible"))return;let O=b();if(O===0)return;let I=$.focusedIndex>=0?Math.min($.focusedIndex,O-1):0;I=p(I,1,O),$.focusedIndex=I,$.focusVisible=!0,M.content.setAttribute("aria-activedescendant",`${a}-item-${I}`),h(I),Y()};M.root.addEventListener("focusin",B);let f=(O)=>{if(W.destroyed)return;let I=O.relatedTarget;if(I&&M.root.contains(I))return;$.focusVisible=!1,Y(),M.content.removeAttribute("aria-activedescendant")};M.root.addEventListener("focusout",f),U.registerDestroyHandler(()=>{M.root.removeEventListener("focusin",B),M.root.removeEventListener("focusout",f)}),U.registerClickHandler((O)=>{if(A(U),!s(O))return;if(J==="multiple"&&O.shiftKey&&$.focusedIndex>=0){let e=D>=0?D:$.focusedIndex,T=z(e),v=z(y);if(T>=0&&v>=0)l(e,y);$.focusedIndex=y,$.focusVisible=q,D=y,r();return}$.focusedIndex=y,$.focusVisible=q,D=y,(M.content.getAttribute("tabindex")!==null?M.content:M.root).focus(a1),d(P.id,P),r()}),U.registerKeydownHandler((O)=>{A(U);let I=b();if(I===0)return;let e=U.getNavConfig(),T=$.focusedIndex,v=!1,Q2=!1;if(e.navigate&&(O.key==="ArrowUp"||O.key==="ArrowDown"||O.key==="ArrowLeft"||O.key==="ArrowRight"||O.key==="PageUp"||O.key==="PageDown"||O.key==="Home"||O.key==="End")){let t=e.navigate($.focusedIndex,O.key,I);if(t!==$.focusedIndex)$.focusedIndex=Math.max(0,Math.min(t,I-1));$.focusVisible=!0,v=!0}else switch(O.key){case"ArrowUp":{let t=e.ud||1,U2=e.lr,M2=u.axis.primary==="x";if(M2&&!U2)break;c2($,-(M2?U2:t),I,u.reverse),$.focusVisible=!0,v=!0;break}case"ArrowDown":{let t=e.ud||1,U2=e.lr,M2=u.axis.primary==="x";if(M2&&!U2)break;c2($,M2?U2:t,I,u.reverse),$.focusVisible=!0,v=!0;break}case"ArrowLeft":{let t=e.ud||1,U2=e.lr,M2=u.axis.primary==="x";if(!M2&&!U2)break;c2($,-(M2?t:U2),I,u.reverse),$.focusVisible=!0,v=!0;break}case"ArrowRight":{let t=e.ud||1,U2=e.lr,M2=u.axis.primary==="x";if(!M2&&!U2)break;c2($,M2?t:U2,I,u.reverse),$.focusVisible=!0,v=!0;break}case"Home":if(I>0)$.focusedIndex=0;$.focusVisible=!0,v=!0;break;case"End":if(I>0)$.focusedIndex=I-1;$.focusVisible=!0,v=!0;break;case"PageUp":case"PageDown":{let t=e.ud||1,U2=Math.max(0,$.focusedIndex),M2=e.scrollIndex?e.scrollIndex(U2):U2,z2=V.getSize(M2),O2=W.containerSize,C=(z2>0?Math.max(1,Math.floor(O2/z2)):10)*t;if(F&&w){let n=F($.focusedIndex),J2=O.key==="PageUp"?-C:C,Z2=W.totalItems-1;$.focusedIndex=w(Math.max(0,Math.min(Z2,n+J2)))}else c2($,O.key==="PageUp"?-C:C,I);$.focusVisible=!0,v=!0;break}case" ":case"Enter":if(O.key===" "&&O.shiftKey&&J==="multiple"&&$.focusedIndex>=0){if(D>=0){let t=z(D),U2=z($.focusedIndex);if(t>=0&&U2>=0)l(D,$.focusedIndex)}$.focusVisible=!0,Q2=!0,v=!0;break}if($.focusedIndex>=0){let t=L($.focusedIndex);if(t)d(t.id,t),D=$.focusedIndex;$.focusVisible=!0,Q2=!0,v=!0}break;case"a":if((O.ctrlKey||O.metaKey)&&J==="multiple"){if($.selected.size===W.totalItems)g();else c();$.focusVisible=!0,Q2=!0,v=!0}break;case"Delete":case"Backspace":if($.selected.size>0)Z.emit("delete",{selected:Z0($.selected),items:o()}),v=!0;break}if($.focusedIndex!==T&&H){let t=$.focusedIndex>T?1:-1;$.focusedIndex=p($.focusedIndex,t,I)}let X2=$.focusedIndex!==T;if(O.shiftKey&&J==="multiple"&&!Q2&&X2){if(O.key==="ArrowUp"||O.key==="ArrowDown"||O.key==="ArrowLeft"||O.key==="ArrowRight"){let M2=L($.focusedIndex);if(M2)d(M2.id,M2);D=$.focusedIndex,Q2=!0}if((O.ctrlKey||O.metaKey)&&(O.key==="Home"||O.key==="End")){let M2=T>=0?T:$.focusedIndex,z2=z(M2),O2=z($.focusedIndex);if(z2>=0&&O2>=0)l(M2,$.focusedIndex);D=$.focusedIndex,Q2=!0}}if(j&&J==="single"&&!Q2&&X2&&$.focusedIndex>=0){let t=L($.focusedIndex);if(t)R(t.id,t);Q2=!0}if(v){if(O.preventDefault(),X2&&$.focusedIndex>=0)h($.focusedIndex),M.content.setAttribute("aria-activedescendant",`${a}-item-${$.focusedIndex}`);if(Q2)r();else if(X2){if(Y(),$.focusedIndex>=0){let t=L($.focusedIndex);if(t)Z.emit("focus:change",{id:t.id,index:$.focusedIndex})}}}}),U.registerMethod("select",(...O)=>{for(let I of O)R(I);r()}),U.registerMethod("deselect",(...O)=>{for(let I of O)x(I);r()}),U.registerMethod("toggleSelect",(O)=>{d(O),r()}),U.registerMethod("selectAll",()=>{if(J!=="multiple")return;c(),r()}),U.registerMethod("clearSelection",()=>{g(),r()}),U.registerMethod("getSelected",()=>{return Z0($.selected)}),U.registerMethod("getSelectedItems",()=>{return o()}),U.registerMethod("selectNext",()=>{A(U);let O=b();if(O===0)return;if(c2($,1,O,u.reverse),H)$.focusedIndex=p($.focusedIndex,1,O);let I=L($.focusedIndex);if(I)R(I.id,I);r()}),U.registerMethod("selectPrevious",()=>{A(U);let O=b();if(O===0)return;if(c2($,-1,O,u.reverse),H)$.focusedIndex=p($.focusedIndex,-1,O);let I=L($.focusedIndex);if(I)R(I.id,I);r()}),U.registerMethod("_seedSelection",(O)=>{for(let I of O)$.selected.add(I)}),U.registerMethod("_isFollowFocus",()=>j),U.registerMethod("_getFocusedId",()=>{if($.focusedIndex<0)return;return L($.focusedIndex)?.id}),U.registerMethod("_focusById",(O)=>{let I=W.totalItems;for(let e=0;e<I;e++){if(H?.(e))continue;let T=L(e);if(T&&T.id===O){$.focusedIndex=e,Z.emit("focus:change",{id:O,index:e});return}}})},destroy(){S.clear()}}}var K0=(Q)=>Q==null?0:typeof Q==="function"?Q():Q;function H0(Q){let J=Q?.scrollPadding,j,q;return{name:"page",priority:5,setup($){let{dom:K,sizeCache:Y,config:Z,emitter:M}=$,V=Z.axis.primary==="x",W=window,m=$.getState();if($.disableDefaultScroll(),$.disableDefaultResize(),K.root.style.overflow="visible",K.root.style.height="auto",V)K.viewport.style.overflowX="visible",K.viewport.style.overflowY="visible";else K.viewport.style.overflow="visible";K.viewport.classList.remove(`${Z.classPrefix}-viewport--custom-scrollbar`),$.setScrollFns(()=>{let E=K.viewport.getBoundingClientRect();return Math.max(0,V?-E.left:-E.top)},(E)=>{let b=K.viewport.getBoundingClientRect(),_=(V?b.left+W.scrollX:b.top+W.scrollY)+E;if(V)W.scrollTo({left:_,top:W.scrollY,behavior:"instant"});else W.scrollTo({left:W.scrollX,top:_,behavior:"instant"})}),m.containerSize=V?W.innerWidth:W.innerHeight,m.crossSize=V?W.innerHeight:W.innerWidth;let D=null,S=()=>{let E=K.viewport.getBoundingClientRect(),b=Math.max(0,V?-E.left:-E.top);if(m.prevScrollPosition=m.scrollPosition,m.scrollPosition=b,m.scrollDirection=b>m.prevScrollPosition?1:b<m.prevScrollPosition?-1:0,$.onScrollFrame(),D!==null)clearTimeout(D);D=setTimeout(()=>{D=null,$.onScrollIdle()},150)};W.addEventListener("scroll",S,{passive:!0}),q=()=>W.removeEventListener("scroll",S);let{innerWidth:F,innerHeight:w}=W,H=()=>{let{innerWidth:E,innerHeight:b}=W;if((V?Math.abs(E-F):Math.abs(b-w))<1)return;F=E,w=b,m.containerSize=V?E:b,m.crossSize=V?b:E,$.forceRender(),M.emit("resize",{width:E,height:b})};if(W.addEventListener("resize",H),j=()=>W.removeEventListener("resize",H),J)$.setScrollToPosFn((E,b,_,A,z)=>{let X=K0(V?J.left:J.top),G=K0(V?J.right:J.bottom);if(A===0)return 0;let L=Math.max(0,Math.min(E,A-1)),p=b.getOffset(L),R=b.getSize(L),d=b.getTotalSize(),g=Math.max(0,d-_+G),x;switch(z){case"center":x=p-X-(_-X-G-R)/2;break;case"end":x=p-_+R+G;break;default:x=p-X}return Math.max(-X,Math.min(x,g))}),$.registerMethod("_scrollItemIntoView",(E)=>{let b=V?W.innerWidth:W.innerHeight,_=K0(V?J.left:J.top),A=K0(V?J.right:J.bottom),z=K.viewport.getBoundingClientRect(),X=V?W.scrollX:W.scrollY,G=V?z.left:z.top,L=G+X,p=Y.getOffset(E),R=Y.getSize(E),d=G+p,g=b-A,x=X;if(d<_)x=L+p-_;else if(d+R>g)x=L+p+R-g;if(x!==X)if(V)W.scrollTo({left:x,top:W.scrollY,behavior:"instant"});else W.scrollTo({left:W.scrollX,top:x,behavior:"instant"})});$.registerDestroyHandler(()=>{if(q?.(),j?.(),D!==null)clearTimeout(D)})},destroy(){q?.(),j?.(),q=void 0,j=void 0}}}var o1=(Q)=>{try{let J=sessionStorage.getItem(Q);if(!J)return;return JSON.parse(J)}catch{return}};function i2(Q){let J=Q?.autoSave,j=J?o1(J):Q?.restore,q=!1,$=null;return{name:"snapshots",priority:50,setup(K){let{sizeCache:Y,emitter:Z}=K,M=K.getState(),V=()=>{let{scrollPosition:D,totalItems:S}=M,w=K.getMethod("getSelected")?.();if(S===0){let G={index:0,offsetInItem:0,total:0};if(w?.length)G.selectedIds=w;return G}let H,E;if(M.isCompressed&&M.compressionRatio!==1){let G=M.totalSize,p=D/G*S;H=Math.max(0,Math.min(Math.floor(p),S-1)),E=(p-H)*Y.getSize(H)}else H=Y.indexAtOffset(D),E=D-Y.getOffset(H);E=Math.max(0,E);let b={index:H,offsetInItem:E,total:S,scrollTop:D},_=Y.getSize(H);if(_)b.offsetRatio=E/_;let A=K.getMethod("_layoutToDataIndex");if(A){let G=A(H);if(G<0){for(let L=H+1;L<S;L++)if(G=A(L),G>=0)break}if(G>=0)b.dataIndex=G}let z=K.getMethod("_getTotal");if(z)b.dataTotal=z();if(w?.length)b.selectedIds=w;let X=K.getMethod("_getFocusedId");if(X){let G=X();if(G!==void 0)b.focusedId=G}return b};K.registerMethod("getScrollSnapshot",V);let W=(D,S=!0)=>{let{index:F,offsetInItem:w,selectedIds:H,focusedId:E}=D,b=M.totalItems,_=D.dataTotal??D.total;if(b===0&&_&&_>0){let o=K.getMethod("_setTotal");if(o)o(_),b=M.totalItems;Y.rebuild(b);let r=K.getMethod("_updateCompressionMode");if(r)r();if(!M.isCompressed)K.updateContentSize(Y.getTotalSize()),M.totalSize=Y.getTotalSize()}if(b===0)return;if(!Number.isFinite(F)||!Number.isFinite(w))return;if(Y.getTotal()===0){Y.rebuild(b);let o=K.getMethod("_updateCompressionMode");if(o)o();if(!M.isCompressed)K.updateContentSize(Y.getTotalSize()),M.totalSize=Y.getTotalSize()}let z=K.getMethod("_dataToLayoutIndex"),X=F;if(D.dataIndex!==void 0&&D.dataIndex>=0)X=z?z(D.dataIndex):D.dataIndex;else if(z)X=z(F);let G=Math.max(0,Math.min(X,b-1)),L=Y.getSize(G),p=D.offsetRatio!==void 0?D.offsetRatio*L:Math.min(w,L),R=K.getMethod("_getTotal")?.(),d=D.total===b||R!==void 0&&D.dataTotal===R,g;if(M.isCompressed&&M.compressionRatio!==1)if(D.scrollTop!==void 0&&d)g=D.scrollTop;else{let o=L?p/L:0;g=(G+o)/b*M.totalSize}else if(D.scrollTop!==void 0&&d)g=D.scrollTop;else g=Y.getOffset(G)+p;let x=Math.max(0,M.totalSize-M.containerSize);if(g=Math.max(0,Math.min(g,x)),K.scrollTo(g),S&&H?.length){let o=K.getMethod("select");if(o)o(...H)}let l=K.getMethod("loadVisibleRange"),c=()=>{if(E===void 0)return;let o=K.getMethod("_focusById");if(o)o(E)};if(l){let o=0,r=()=>{if(M.containerSize>0){if(Math.abs(M.scrollPosition-g)>1)K.scrollTo(g);l().then(c)}else if(++o<10)requestAnimationFrame(r)};requestAnimationFrame(r)}else{let o=K.getMethod("reload");if(o)requestAnimationFrame(()=>{o().then(c)});else requestAnimationFrame(c)}};K.registerMethod("restoreScroll",W);let m=!!(j&&J);if(K.registerDestroyHandler(()=>{q=!0}),J){$=()=>{if(q||m)return;let b=V();try{sessionStorage.setItem(J,JSON.stringify(b))}catch{}},K.registerMethod("_saveSnapshot",$);let D=0,S=()=>{if(D)return;D=requestAnimationFrame(()=>{if(D=0,$)$()})};Z.on("selection:change",S),Z.on("focus:change",S);let F=0,w=()=>{if(F=0,$)$()},H=()=>{if(F)clearTimeout(F);F=setTimeout(w,300)};Z.on("scroll",H);let E=()=>{$?.()};if(window.addEventListener("beforeunload",E),K.registerDestroyHandler(()=>{if(D)cancelAnimationFrame(D);if(F)clearTimeout(F);window.removeEventListener("beforeunload",E)}),j&&j.total&&j.total>0){let b=K.getMethod("_cancelAutoLoad");if(b)b();let _=K.getMethod("_setTotal");if(_)_(j.total)}}if(j){let D=!0;if(j.selectedIds?.length){let S=K.getMethod("_seedSelection");if(S)S(j.selectedIds),D=!1}queueMicrotask(()=>{if(W(j,D),m=!1,$)$()})}},hooks:{onIdle(){if($&&!q)$()}},destroy(){q=!0,$=null}}}function B1(Q,J){if(J===!1)return null;return{duration:Math.min(J?.duration??Q.duration,1000),easing:J?.easing??Q.easing}}function O0(Q){let J=Q?.duration??200,j=Q?.easing??"cubic-bezier(0.2, 0, 0, 1)",q={duration:J,easing:j},$=B1(q,Q?.remove),K=B1(q,Q?.insert),Y=null,Z=null;return{name:"transition",conflicts:["grid","table","masonry"],priority:45,setup(M){let{sizeCache:V,emitter:W}=M,m=M.config,D=M.dom,S=M.getState(),F=m.reverse?"bottom center":"top center",w=m.axis.primary==="x"?"translateX":"translateY",H=M.getMethod("_dataToLayoutIndex")??null,E=(A)=>H?H(A):A,b=(A)=>{let z=String(A).replace(/"/g,"\\\""),X=D.content.querySelector(`[data-id="${z}"]`),G=X?parseInt(X.dataset.index??"-1",10):-1;return{el:X,layoutIndex:G}},_=()=>{let A=D.content.children;for(let z=0;z<A.length;z++)A[z].style.transition="none";D.content.offsetHeight;for(let z=0;z<A.length;z++)A[z].style.transition=""};if($){let A=(X)=>{if(Y)Y();let G=typeof document<"u"?document.activeElement:null,L=G&&D.content.contains(G)?parseInt(G.dataset?.index??"-1",10):-1,p=b(X),R=p.layoutIndex,d=p.el,g=R>=0?V.getSize(R):0,x=R>=0?V.getOffset(R):0;if(!d||R<0){if(M.removeItemById(X)<0)return!1;if(M.forceRender(),_(),W.emit("data:change",{type:"remove",id:X}),L>=0){let I=S.totalItems;if(I>0)M.getRenderedElement(Math.min(L,I-1))?.focus()}return W.emit("remove:end",{id:X}),!0}let l=d.cloneNode(!0);l.style.pointerEvents="none",l.style.overflow="hidden",l.removeAttribute("data-index"),l.removeAttribute("data-id"),l.removeAttribute("id"),l.removeAttribute("aria-selected"),l.classList.remove(`${m.classPrefix}-item--selected`);let c=m.axis.primary==="x"?"scrollLeft":"scrollTop",o=D.viewport[c];if(M.removeItemById(X)<0)return!1;M.forceRender(),_(),W.emit("data:change",{type:"remove",id:X});let P=o-D.viewport[c];l.style.zIndex="1",D.content.appendChild(l);let y=$,U={duration:y.duration,easing:y.easing},u=[],a=Math.round(x-P);u.push(l.animate([{transform:`${w}(${a}px) scaleY(1)`,opacity:1,transformOrigin:F},{transform:`${w}(${Math.round(x)}px) scaleY(0)`,opacity:0,transformOrigin:F}],U));let s=P>0,h=D.content.children;for(let O=0;O<h.length;O++){let I=h[O];if(I===l)continue;let e=parseInt(I.dataset?.index??"-1",10);if(e<0||!s&&e<R)continue;let T=V.getOffset(e),v=e>=R?Math.round(T+g-P):Math.round(T-P),Q2=Math.round(T);if(v===Q2)continue;u.push(I.animate([{transform:`${w}(${v}px)`},{transform:`${w}(${Q2}px)`}],U))}let B=!1,f=()=>{if(B)return;B=!0,Y=null,l.remove();for(let O of u)if(O.playState!=="finished")O.cancel();if(L>=0){let O=S.totalItems;if(O>0)M.getRenderedElement(Math.min(L,O-1))?.focus()}W.emit("remove:end",{id:X})};return Y=f,Promise.all(u.map((O)=>O.finished)).then(f,f),setTimeout(f,y.duration+50),!0},z=(X)=>{if(X.length===0)return 0;if(X.length===1)return A(X[0])?1:0;if(Y)Y();if(Z)Z();let G=typeof document<"u"?document.activeElement:null,L=G&&D.content.contains(G)?parseInt(G.dataset?.index??"-1",10):-1,p=[];for(let B of X){let f=b(B);p.push({id:B,layoutIndex:f.layoutIndex,el:f.el,size:f.layoutIndex>=0?V.getSize(f.layoutIndex):0,offset:f.layoutIndex>=0?V.getOffset(f.layoutIndex):0})}p.sort((B,f)=>f.layoutIndex-B.layoutIndex);let R=[];for(let B of p){if(!B.el||B.layoutIndex<0)continue;let f=B.el.cloneNode(!0);f.style.pointerEvents="none",f.style.overflow="hidden",f.removeAttribute("data-index"),f.removeAttribute("data-id"),f.removeAttribute("id"),f.removeAttribute("aria-selected"),f.classList.remove(`${m.classPrefix}-item--selected`),R.push({clone:f,offset:B.offset,size:B.size,layoutIndex:B.layoutIndex})}let d=new Map,g=D.content.children;for(let B=0;B<g.length;B++){let f=g[B],O=f.dataset?.id,I=parseInt(f.dataset?.index??"-1",10);if(O&&I>=0)d.set(O,V.getOffset(I))}let x=m.axis.primary==="x"?"scrollLeft":"scrollTop",l=D.viewport[x],c=[];for(let B of p)if(M.removeItemById(B.id)>=0)c.push(B.id);if(c.length===0)return 0;M.forceRender(),_();for(let B of c)W.emit("data:change",{type:"remove",id:B});if(R.length===0){if(L>=0){let B=S.totalItems;if(B>0)M.getRenderedElement(Math.min(L,B-1))?.focus()}for(let B of c)W.emit("remove:end",{id:B});return c.length}let o=l-D.viewport[x],r=$,P={duration:r.duration,easing:r.easing},y=[];R.sort((B,f)=>B.layoutIndex-f.layoutIndex);let U=0;for(let B of R){B.clone.style.zIndex="1",D.content.appendChild(B.clone);let f=Math.round(B.offset-o),O=Math.round(B.offset-U);y.push(B.clone.animate([{transform:`${w}(${f}px) scaleY(1)`,opacity:1,transformOrigin:F},{transform:`${w}(${O}px) scaleY(0)`,opacity:0,transformOrigin:F}],P)),U+=B.size}let u=new Set(R.map((B)=>B.clone)),a=D.content.children;for(let B=0;B<a.length;B++){let f=a[B];if(u.has(f))continue;let O=f.dataset?.id,I=parseInt(f.dataset?.index??"-1",10);if(!O||I<0)continue;let e=d.get(O);if(e===void 0)continue;let T=V.getOffset(I),v=Math.round(e-o),Q2=Math.round(T);if(v===Q2)continue;y.push(f.animate([{transform:`${w}(${v}px)`},{transform:`${w}(${Q2}px)`}],P))}let s=!1,h=()=>{if(s)return;s=!0,Y=null;for(let{clone:B}of R)B.remove();for(let B of y)if(B.playState!=="finished")B.cancel();if(L>=0){let B=S.totalItems;if(B>0)M.getRenderedElement(Math.min(L,B-1))?.focus()}for(let B of c)W.emit("remove:end",{id:B})};return Y=h,Promise.all(y.map((B)=>B.finished)).then(h,h),setTimeout(h,r.duration+50),c.length};M.registerMethod("removeItem",A),M.registerMethod("removeItems",z)}if(K){let A=(z,X)=>{if(Z)Z();if(Y)Y();let G=X??0,L=new Map,p=D.content.children;for(let B=0;B<p.length;B++){let f=p[B],O=f.dataset?.id,I=parseInt(f.dataset?.index??"-1",10);if(O&&I>=0)L.set(O,V.getOffset(I))}let R=m.axis.primary==="x"?"scrollLeft":"scrollTop",d=m.axis.primary==="x"?"scrollWidth":"scrollHeight",g=m.axis.primary==="x"?"clientWidth":"clientHeight",x=D.viewport[R],l=D.viewport[d]-D.viewport[g],c=x>=l-1;M.insertItemAt(z,G),M.forceRender(),_(),W.emit("data:change",{type:"insert",id:z.id});let o=D.viewport[R]-x,r=E(G);if(m.reverse&&o===0&&c){D.viewport[R]=D.viewport[d]-D.viewport[g];let B=D.viewport[R];if(S.prevScrollPosition=S.scrollPosition,S.scrollPosition=B,o=B-x,o>0)M.forceRender(),_()}let P=M.getRenderedElement(r),y=K,U={duration:y.duration,easing:y.easing},u=[];if(P){let B=V.getOffset(r);u.push(P.animate([{transform:`${w}(${Math.round(B)}px) scaleY(0)`,opacity:0,transformOrigin:F},{transform:`${w}(${Math.round(B)}px) scaleY(1)`,opacity:1,transformOrigin:F}],U))}let a=D.content.children;for(let B=0;B<a.length;B++){let f=a[B];if(f===P)continue;let O=f.dataset?.id,I=parseInt(f.dataset?.index??"-1",10);if(!O||I<0)continue;let e=L.get(O);if(e===void 0)continue;let T=V.getOffset(I),v=Math.round(e+o),Q2=Math.round(T);if(v===Q2)continue;u.push(f.animate([{transform:`${w}(${v}px)`},{transform:`${w}(${Q2}px)`}],U))}if(u.length===0)return;let s=!1,h=()=>{if(s)return;s=!0,Z=null;for(let B of u)if(B.playState!=="finished")B.cancel()};Z=h,Promise.all(u.map((B)=>B.finished)).then(h,h),setTimeout(h,y.duration+50)};M.registerMethod("insertItem",A)}},destroy(){if(Y)Y();if(Z)Z()}}}function L0(Q){let J=Q?.gap??0,j=null,q=null,$,K,Y,Z,M=new Map,V=new WeakMap,W=0,m=!1,D=!1,S=!1,F=2;function w(_){return M.get(_)??Z}function H(){let _=q.dom.viewport,A=_.scrollHeight-_.clientHeight;return A>0&&$.scrollPosition>=A-F}function E(){let _=q.dom.viewport;_.scrollHeight;let A=_.scrollHeight-_.clientHeight;if(A>$.scrollPosition)q.scrollTo(A)}function b(){q.updateContentSize(q.sizeCache.getTotalSize())}return{name:"autosize",priority:5,setup(_){if(q=_,$=_.getState(),K=_.config.axis.primary==="x",Y=K?"width":"height",J===0)J=_.config.gap;if(Z=typeof _.rawSizeSpec==="function"?_.rawSizeSpec(0)+J:_.rawSizeSpec+J,_.setSizeConfig(w),J>0){let X=_.sizeCache.getTotalSize;_.sizeCache.getTotalSize=()=>{let G=X();return G>0?G-J:0}}j=new ResizeObserver((X)=>{if($.destroyed||!q)return;let G=!1,L=_.sizeCache.indexAtOffset($.scrollPosition);for(let x of X){let l=x.target,c=V.get(l);if(c===void 0)continue;if(l.getAttribute("data-index")!==String(c)){j.unobserve(l);continue}if(M.has(c))continue;let o=x.borderBoxSize[0];if(!o)continue;let r=K?o.inlineSize:o.blockSize;if(r<=0)continue;let P=r+J,y=Z;if(M.set(c,P),G=!0,c<L&&P!==y)W+=P-y;j.unobserve(l),l.style[Y]=`${r}px`}if(!G)return;let p=H();if(_.rebuildSizeCache(),W)_.scrollTo($.scrollPosition+W),W=0;let R=$.scrollDirection!==0,d=$.totalItems>0&&$.prevRangeEnd>=$.totalItems-1,g=D&&!S;if(g||p||d||!R){if(b(),m=!1,g||p)E()}else m=!0;_.forceRender()}),_.setScrollToIndexFn((X,G,L,p,R)=>{let d=X>=$.totalItems-1&&G==="end";if(D=d,S=!1,!d)return!1;let g=_.config.mainAxisPadding,x=()=>{let l=_.sizeCache.getTotalSize();return Math.max(0,l+g-$.containerSize)};if(L==="smooth")S=!0,_.smoothScrollTo(x,p??300,R,()=>{S=!1});else _.scrollTo(x())});let A=()=>{D=!1},z=_.dom.viewport;z.addEventListener("wheel",A,{passive:!0}),z.addEventListener("touchstart",A,{passive:!0}),_.registerDestroyHandler(()=>{z.removeEventListener("wheel",A),z.removeEventListener("touchstart",A)}),_.registerMethod("isMeasured",(X)=>M.has(X)),_.registerMethod("setMeasuredSize",(X,G)=>{M.set(X,G)}),_.registerMethod("getMeasuredCount",()=>M.size),_.registerDestroyHandler(()=>{if(j)j.disconnect(),j=null})},hooks:{onCommit(_){if(!j||!q)return;for(let A=0;A<_.visibleCount;A++){let z=_.visibleIndices[A];if(M.has(z))continue;let X=q.getRenderedElement(z);if(!X)continue;X.style[Y]="",V.set(X,z),j.observe(X)}},onIdle(){if(!q||!m)return;let _=H();if(b(),m=!1,_)E(),q.forceRender()}},destroy(){if(j)j.disconnect(),j=null;M.clear(),D=!1,S=!1,q=null}}}var W1=(Q)=>{let J=Math.max(1,Math.floor(Q.columns)),j=Q.gap??0,q=Q.containerSize,$=Q.crossOffset??0,K=Q.mainOffset??0,Y=0,Z=[],M=()=>{let E=(J-1)*j;Y=Math.max(0,(q-E)/J),Z=Array(J);let b=Y+j;for(let _=0;_<J;_++)Z[_]=$+_*b};M();let V=[],W=0,m=[],D=(E,b)=>{if(E<=0)return W=0,V=[],[];let _=Array(J).fill(K),A=Array(J);for(let G=0;G<J;G++)A[G]=[];let z=Array(E);for(let G=0;G<E;G++){let L=0,p=_[0];for(let g=1;g<J;g++){let x=_[g];if(x<p)p=x,L=g}let R=b(G),d=_[L];z[G]={index:G,x:Z[L],y:d,lane:L,size:R,crossSize:Y},A[L].push(G),_[L]=d+R+j}V=A;let X=0;for(let G=0;G<J;G++){let L=_[G],p=L>0?L-j:0;if(p>X)X=p}return W=X,z},S=(E)=>{if(E.length===0)return W;if(W)return W;let b=Array(J).fill(0);for(let A of E){let z=A.y+A.size,X=b[A.lane];if(z>X)b[A.lane]=z}let _=0;for(let A=0;A<J;A++)if(b[A]>_)_=b[A];return _},F=(E,b,_)=>{if(E.length===0||_<=b)return m.length=0,m;if(V.length===0||V.length!==J)return w(E,b,_);m.length=0;for(let A=0;A<J;A++){let z=V[A],X=z.length;if(!X)continue;let G=0,L=X;while(G<L){let p=G+L>>>1,R=E[z[p]];if(R.y+R.size<=b)G=p+1;else L=p}for(let p=G;p<X;p++){let R=E[z[p]];if(R.y>=_)break;m.push(R)}}return m},w=(E,b,_)=>{m.length=0;for(let A of E)if(A.y+A.size>b&&A.y<_)m.push(A);return m};return{get columns(){return J},get gap(){return j},get containerSize(){return q},update:(E)=>{let b=!1;if(E.columns!==void 0){let _=Math.max(1,Math.floor(E.columns));if(_!==J)J=_,b=!0}if(E.gap!==void 0&&E.gap!==j)j=E.gap,b=!0;if(E.containerSize!==void 0&&E.containerSize!==q)q=E.containerSize,b=!0;if(E.crossOffset!==void 0&&E.crossOffset!==$)$=E.crossOffset,b=!0;if(E.mainOffset!==void 0&&E.mainOffset!==K)K=E.mainOffset,b=!0;if(b)M()},calculateLayout:D,getTotalSize:S,getVisibleItems:F}};var V1=(Q,J,j)=>{let q=Array.from(J).sort((Y,Z)=>Y-Z);if(q.length<=1)return;let $=[];for(let Y=0;Y<q.length;Y++){let Z=j(q[Y]);if(Z)$.push(Z)}if($.length<=1)return;let K=Q.firstChild;for(let Y=0;Y<$.length;Y++){let Z=$[Y];if(Z===K)K=K.nextSibling;else Q.insertBefore(Z,K)}};var i1=(Q=200)=>{let J=[];return{acquire:()=>{let K=J.pop();if(K)return K;let Y=document.createElement("div");return Y.setAttribute("role","option"),Y},release:(K)=>{if(K.remove(),J.length<Q)K.className="",K.textContent="",K.removeAttribute("style"),K.removeAttribute("data-index"),K.removeAttribute("data-id"),K.removeAttribute("data-lane"),J.push(K)},clear:()=>{J.length=0}}},n1=1,_1=(Q,J,j,q=!1,$,K,Y,Z)=>{let M=i1(),V=new Map,W=new Set,m=0,D="",S=-1,F={selected:!1,focused:!1},w=(l,c)=>{return F.selected=l,F.focused=c,F},H=`${j}-item ${j}-masonry-item`,E=`${j}-group-header`,b=`${j}-item--selected`,_=`${j}-item--focused`,A=(l,c)=>{if(typeof c==="string")l.innerHTML=c;else l.replaceChildren(c);p2(l)},z=(l,c,o)=>{l.classList.toggle(b,c),l.classList.toggle(_,o)},X=(l,c)=>{if(q)l.style.transform=`translate(${Math.round(c.y)}px, ${Math.round(c.x)}px)`;else l.style.transform=`translate(${Math.round(c.x)}px, ${Math.round(c.y)}px)`},G=(l,c)=>{if(q)l.style.width=`${c.size}px`,l.style.height=`${c.crossSize}px`;else l.style.width=`${c.crossSize}px`,l.style.height=`${c.size}px`},L=(l,c,o,r,P)=>{let y=M.acquire(),U=c.__groupHeader,u=w(r,P);if(y.className=U?E:H,y.dataset.index=String(l),y.dataset.id=String(c.id),y.dataset.lane=String(o.lane),U)y.setAttribute("role","presentation"),y.removeAttribute("aria-selected"),y.removeAttribute("aria-setsize"),y.removeAttribute("aria-posinset"),y.removeAttribute("id");else if(Z===!0){if(y.setAttribute("role","option"),y.ariaSelected=String(r),K)y.id=`${K}-item-${l}`;if($){let s=$();if(s!==S)S=s,D=String(s);y.setAttribute("aria-setsize",D);let h=Y?Y(l):l+1;y.setAttribute("aria-posinset",String(h))}}else if(y.setAttribute("role","listitem"),y.removeAttribute("aria-selected"),$){let s=$();if(s!==S)S=s,D=String(s);y.setAttribute("aria-setsize",D);let h=Y?Y(l):l+1;y.setAttribute("aria-posinset",String(h))}G(y,o);let a=J(c,l,u);return A(y,a),z(y,r,P),X(y,o),{element:y,lastItem:c,lastSelected:r,lastFocused:P,lastY:o.y,lastX:o.x,lastSize:o.size,lastCrossSize:o.crossSize,lastSeenFrame:m}},p=(l,c,o,r)=>{m++,W.clear();for(let y=0;y<c.length;y++)W.add(c[y].index);let P=null;for(let y=0;y<c.length;y++){let U=c[y],u=U.index,a=l(u);if(!a)continue;let s=o.has(a.id),h=u===r,B=V.get(u);if(B){let f=B.lastItem!==a,O=B.lastSelected!==s,I=B.lastFocused!==h,e=B.lastY!==U.y||B.lastX!==U.x,T=B.lastSize!==U.size||B.lastCrossSize!==U.crossSize;if(f){let v=w(s,h),Q2=J(a,u,v);if(A(B.element,Q2),B.element.dataset.id=String(a.id),B.lastItem=a,!a.__groupHeader){let t=Y?Y(u):u+1;B.element.setAttribute("aria-posinset",String(t))}}if(f||O||I)z(B.element,s,h),B.element.ariaSelected=String(s),B.lastSelected=s,B.lastFocused=h;if(T)G(B.element,U),B.lastSize=U.size,B.lastCrossSize=U.crossSize;if(e)X(B.element,U),B.lastY=U.y,B.lastX=U.x}else{let f=L(u,a,U,s,h);if(!P)P=document.createDocumentFragment();P.appendChild(f.element),V.set(u,f)}}if(P)Q.appendChild(P);for(let[y,U]of V)if(W.has(y))U.lastSeenFrame=m;else if(m-U.lastSeenFrame>n1)M.release(U.element),V.delete(y)},R=()=>{for(let l of V.values())M.release(l.element);V.clear(),Q.innerHTML=""};return{render:p,getElement:(l)=>V.get(l)?.element,updateItemClasses:(l,c,o)=>{let r=V.get(l);if(!r)return;let P=r.lastSelected!==c,y=r.lastFocused!==o;if(P||y)z(r.element,c,o),r.lastSelected=c,r.lastFocused=o},sortDOM:()=>{V1(Q,V.keys(),(l)=>V.get(l)?.element)},clear:R,destroy:()=>{R(),M.clear()}}};var t1=100,e1=new Set;function F0(Q){if(!Q.columns||Q.columns<1)throw Error("[vlist] masonry: columns must be >= 1");let J,j=null,q,$=null,K,Y,Z,M=[],V=-1,W=-1,m=!0,D=-1,S=0,F=0,w=0,H=0,E={columnWidth:0,columns:0,gap:0,containerWidth:0},b=[],_=(U)=>b[U],A=null,z=null,X=!1;function G(){if(X||!$)return;X=!0,A=$.getMethod("_getSelectedIds")??null,z=$.getMethod("_getFocusedIndex")??null}let L=[],p=new Int32Array(0),R=[];function d(){let U=J.columns,u=M.length;L=Array(U);for(let a=0;a<U;a++)L[a]=[];if(p.length<u)p=new Int32Array(u);for(let a=0;a<u;a++){let s=M[a],h=L[s.lane].length;L[s.lane].push(a),p[a]=h}R=Array(U);for(let a=0;a<U;a++){let s=L[a],h=new Float64Array(s.length);for(let B=0;B<s.length;B++){let f=M[s[B]];h[B]=f.y+f.size*0.5}R[a]=h}}function g(U,u){let a=U.length;if(!a)return-1;let s=0,h=a-1;while(s<h){let B=s+h>>1;if(U[B]<u)s=B+1;else h=B}if(s>0&&Math.abs(U[s-1]-u)<=Math.abs(U[s]-u))return s-1;return s}function x(U,u,a){let s=M[U];if(!s)return U;let h=s.lane,B=J.columns,f=p[U],O=L[h];switch(K?u==="ArrowDown"?"ArrowRight":u==="ArrowUp"?"ArrowLeft":u==="ArrowRight"?"ArrowDown":u==="ArrowLeft"?"ArrowUp":u:u){case"ArrowDown":if(f+1<O.length)return O[f+1];return U;case"ArrowUp":if(f>0)return O[f-1];return U;case"ArrowRight":{if(h>=B-1)return U;let e=h+1,T=s.y+s.size*0.5,v=L[e];if(!v.length)return U;let Q2=g(R[e],T);return Q2>=0?v[Q2]:U}case"ArrowLeft":{if(h<=0)return U;let e=h-1,T=s.y+s.size*0.5,v=L[e];if(!v.length)return U;let Q2=g(R[e],T);return Q2>=0?v[Q2]:U}case"Home":return 0;case"End":{let e=L[B-1];return e.length>0?e[e.length-1]:a-1}case"PageDown":{let e=q.containerSize,T=s.size>0?s.size:150,v=Math.max(1,Math.floor(e/T)),Q2=Math.min(f+v,O.length-1);return O[Q2]}case"PageUp":{let e=q.containerSize,T=s.size>0?s.size:150,v=Math.max(1,Math.floor(e/T)),Q2=Math.max(0,f-v);return O[Q2]}}return U}let l=null;function c(){if(Q.size)return(U)=>Q.size(U,E);if(l!==null&&typeof l==="function")return(U)=>l(U,E);return(U)=>$.sizeCache.getSize(U)}function o(){let{columns:U,gap:u}=J;E.containerWidth=J.containerSize,E.columns=U,E.gap=u,E.columnWidth=Math.max(0,(J.containerSize-(U-1)*u)/U)}function r(){if(!$)return;o();let U=q.totalItems;M=J.calculateLayout(U,c()),D=U,d();let u=J.getTotalSize(M)+H;$.updateContentSize(u)}function P(){if(q.destroyed||!$||!j)return;if(q.totalItems!==D)r();G();let{scrollPosition:U,containerSize:u}=q;if(!m&&U===V&&u===W)return;if(V=U,W=u,m=!1,u<=0||M.length===0)return;let a=Math.max(0,U-Z),s=U+u+Z,h=J.getVisibleItems(M,a,s),B=A?.()??e1,f=z?.()??-1;b=$.getItems(),j.render(_,h,B,f);let O=h.length,I=O>0?h[0].index:0,e=O>0?h[O-1].index:0;q.prevRangeStart=I,q.prevRangeEnd=e,q.renderPending=!1;let T=Math.min(O,q.capacity);q.visibleCount=T,q.startIndex=I;for(let v=0;v<T;v++){let Q2=h[v];q.visibleIndices[v]=Q2.index,q.visibleOffsets[v]=Q2.y,q.visibleSizes[v]=Q2.size}}function y(){if(q.destroyed)return;r(),q.prevRangeStart=-1,q.prevRangeEnd=-1,q.renderPending=!0,m=!0,P()}return{name:"masonry",priority:10,conflicts:["grid","table"],setup(U){if($=U,q=U.getState(),l=U.rawSizeSpec,K=U.config.axis.primary==="x",Y=U.config.classPrefix,Z=U.config.overscan*t1,U.config.reverse)throw Error("[vlist] masonry: cannot be combined with reverse mode");S=U.config.crossAxisPadding,F=U.config.crossPadStart,w=U.config.startPadding,H=U.config.endPadding;let u=q.crossSize-S;J=W1({columns:Q.columns,gap:Q.gap??0,containerSize:u,crossOffset:F,mainOffset:w}),j=_1(U.dom.content,U.template,Y,K,()=>q.totalItems),U.dom.root.classList.add(`${Y}--masonry`),U.setRenderFn(P,y),r(),U.registerMethod("getMasonryLayout",()=>J),U.registerMethod("updateMasonry",(a)=>{if(a.columns!==void 0&&a.columns<1)throw Error("[vlist] updateMasonry: columns must be >= 1");if(a.gap!==void 0&&a.gap<0)throw Error("[vlist] updateMasonry: gap must be >= 0");let s={};if(a.columns!==void 0)s.columns=a.columns;if(a.gap!==void 0)s.gap=a.gap;J.update(s),j?.clear(),y()}),U.registerMethod("scrollToIndex",(a,s="start")=>{let h=M[a];if(!h)return;let B=typeof s==="string"?s:s.align??"start",f=typeof s==="object"?s.behavior:void 0,O=typeof s==="object"?s.duration:void 0,I=q.containerSize,e=J.getTotalSize(M)+H,T=Math.max(0,e-I),v=h.y;if(B==="center")v=h.y-I/2+h.size/2;else if(B==="end"){if(v=h.y-I+h.size,a>=q.totalItems-1&&h.y+h.size>T)v=T}if(v=Math.max(0,Math.min(v,T)),f==="smooth"&&O&&O>0)U.smoothScrollTo(v,O);else U.scrollTo(v)}),U.registerMethod("_scrollItemIntoView",(a)=>{let s=M[a];if(!s)return;let{scrollPosition:h,containerSize:B}=q,f=J.getTotalSize(M)+H,O=Math.max(0,f-B),I=s.y,e=I+s.size;if(I-w<h)U.scrollTo(Math.max(0,I-w));else if(e+H>h+B){let T=L[J.columns-1];if(T&&T.length>0&&a===T[T.length-1]&&I>=O)U.scrollTo(O);else U.scrollTo(Math.min(e+H-B,O))}}),U.setNavConfig({total:()=>q.totalItems,navigate:x}),U.registerDestroyHandler(()=>{j?.destroy(),j=null,U.dom.root.classList.remove(`${Y}--masonry`)})},hooks:{onResize(U,u){if(!J||!$)return;let a=q.crossSize-S;if(Math.abs(a-J.containerSize)<1)return;J.update({containerSize:a}),j?.clear(),y()},onIdle(){j?.sortDOM()}},destroy(){j?.destroy(),j=null,M=[],$=null}}}var N1=(Q={})=>{let{chunkSize:J=100,maxCachedItems:j=5000,evictionBuffer:q=200,onEvict:$}=Q,K=new Map,Y=0,Z=0,M=(r)=>{let P=K.get(r);if(!P)P={items:Array(J),count:0,lastAccess:Date.now()},K.set(r,P);else P.lastAccess=Date.now();return P},V=(r)=>{return Math.floor(r/J)},W=(r)=>{return r%J},m=()=>Y,D=(r)=>{Y=r},S=(r)=>{if(r<0||r>=Y)return;let P=V(r),y=K.get(P);if(!y)return;return y.items[W(r)]},F=(r)=>{if(r<0||r>=Y)return!1;let P=V(r),y=K.get(P);if(!y)return!1;return y.items[W(r)]!==void 0},w=(r,P)=>{let y=V(r),U=M(y),u=W(r),a=U.items[u]===void 0;if(U.items[u]=P,a)U.count++,Z++;if(r>=Y)Y=r+1},H=(r,P)=>{for(let y=0;y<P.length;y++){let U=P[y];if(U!==void 0)w(r+y,U)}},E=(r,P)=>{if(r<0||r>Y)return;let y=V(r),U=Array.from(K.keys()).filter((B)=>B>=y).sort((B,f)=>B-f),u=[];for(let B of U){let f=K.get(B),O=B*J;for(let I=0;I<J;I++){if(f.items[I]===void 0)continue;let e=O+I;if(e<r)continue;u.push({oldIndex:e,item:f.items[I]})}}for(let{oldIndex:B}of u){let f=V(B),O=K.get(f);if(!O)continue;let I=W(B);if(O.items[I]!==void 0){if(O.items[I]=void 0,O.count--,Z--,O.count===0)K.delete(f)}}Y++;for(let{oldIndex:B,item:f}of u){let O=B+1,I=V(O),e=M(I),T=W(O);e.items[T]=f,e.count++,Z++}let a=V(r),s=M(a),h=W(r);s.items[h]=P,s.count++,Z++},b=(r)=>{if(r<0||r>=Y)return!1;let P=V(r),y=K.get(P),U=W(r);if(!(y!==void 0&&y.items[U]!==void 0))return!1;let a=P,s=Array.from(K.keys()).filter((B)=>B>=a).sort((B,f)=>B-f),h=[];for(let B of s){let f=K.get(B),O=B*J;for(let I=0;I<J;I++){if(f.items[I]===void 0)continue;let e=O+I;if(e<=r)continue;h.push({oldIndex:e,item:f.items[I]})}}if(y.items[U]=void 0,y.count--,Z--,y.count===0)K.delete(P);for(let{oldIndex:B}of h){let f=V(B),O=K.get(f);if(!O)continue;let I=W(B);if(O.items[I]!==void 0){if(O.items[I]=void 0,O.count--,Z--,O.count===0)K.delete(f)}}for(let{oldIndex:B,item:f}of h){let O=B-1,I=V(O),e=M(I),T=W(O);e.items[T]=f,e.count++,Z++}return Y--,!0},_=(r,P)=>{let y=[];for(let U=r;U<=P&&U<Y;U++)y.push(S(U));return y},A=(r,P)=>{for(let y=r;y<=P&&y<Y;y++)if(!F(y))return!1;return!0},z=()=>{let r=[],P=null,y=Array.from(K.keys()).sort((U,u)=>U-u);for(let U of y){let u=K.get(U);if(!u)continue;let a=U*J;for(let s=0;s<J;s++){let h=a+s;if(h>=Y)break;if(u.items[s]!==void 0)if(P===null)P={start:h,end:h};else if(h===P.end+1)P.end=h;else r.push(P),P={start:h,end:h};else if(P!==null)r.push(P),P=null}}if(P!==null)r.push(P);return r},X=(r,P)=>{let y=[],U=null;for(let u=r;u<=P&&u<Y;u++)if(!F(u))if(U===null)U={start:u,end:u};else U.end=u;else if(U!==null)y.push(U),U=null;if(U!==null)y.push(U);return y},G=(r)=>{return K.has(r)},L=(r)=>{let P=K.get(r);if(!P)return!1;let y=r*J,U=Math.min(J,Y-y);return P.count>=U},p=(r)=>{let P=K.get(r);if(P)P.lastAccess=Date.now()},R=(r,P)=>{if(r>P||K.size===0)return;let y=Date.now(),U=V(Math.max(0,r)),u=V(Math.min(Y-1,P));for(let a=U;a<=u;a++){let s=K.get(a);if(s)s.lastAccess=y}},d=(r,P)=>{if(Z<=j)return 0;let y=Math.max(0,r-q),U=Math.min(Y-1,P+q),u=V(y),a=V(U),s=0,h=[];for(let[B,f]of K)if(B<u||B>a)s+=f.count,h.push(B),Z-=f.count,K.delete(B);if(s>0&&$)$(s,h);return s},g=()=>{if(Z<=j)return 0;let r=Array.from(K.entries()).sort(([,U],[,u])=>U.lastAccess-u.lastAccess),P=0,y=[];for(let[U,u]of r){if(Z<=j)break;P+=u.count,Z-=u.count,y.push(U),K.delete(U)}if(P>0&&$)$(P,y);return P},x=()=>{return{totalItems:Y,cachedItems:Z,cachedChunks:K.size,chunkSize:J,maxCachedItems:j,memoryEfficiency:Y>0?1-Z/Y:1}},l=()=>Z,c=()=>{K.clear(),Z=0};return{chunkSize:J,maxCachedItems:j,getTotal:m,setTotal:D,get:S,has:F,set:w,setRange:H,insert:E,delete:b,getRange:_,isRangeLoaded:A,getLoadedRanges:z,findUnloadedRanges:X,getChunkIndex:V,isChunkLoaded:G,isChunkFullyLoaded:L,touchChunk:p,touchChunksForRange:R,evictDistant:d,evictToLimit:g,getStats:x,getCachedCount:l,clear:c,reset:()=>{c(),Y=0}}};var X1=(Q={})=>{let{maskCharacter:J=p0,maxSampleSize:j=u0}=Q,q=[],$=!1,K=(W)=>{if($||W.length===0)return;let m=Math.min(W.length,j);for(let D=0;D<m;D++){let S=W[D];if(!S||typeof S!=="object")continue;let F={},w=!1;for(let[H,E]of Object.entries(S)){if(H.startsWith("_")||H==="id")continue;F[H]=String(E??"").length,w=!0}if(w)q.push(F)}$=!0},Y=()=>$,Z=(W)=>{let m={id:`${S2}${W}`,[B0]:!0,_index:W};if(q.length===0)return m.label=J.repeat(12),m;let D=q[W%q.length];for(let[S,F]of Object.entries(D))m[S]=J.repeat(Math.max(1,F));return m};return{analyzeStructure:K,hasAnalyzedStructure:Y,generate:Z,generateRange:(W,m)=>{let D=[];for(let S=W;S<=m;S++)D.push(Z(S));return D},clear:()=>{q=[],$=!1}}},Y0=(Q)=>{if(!Q||typeof Q!=="object")return!1;return Q[B0]===!0};var $4=50,M1=(Q={})=>{let{adapter:J,initialItems:j,initialTotal:q,storage:$,placeholder:K,pageSize:Y=$4,maxConcurrent:Z=0,onStateChange:M,onDataChange:V,onItemsLoaded:W,onItemsEvicted:m}=Q,D=N1({...$,onEvict:(C,n)=>{m?.(C),R(),p()}}),S=null,F=()=>{if(!S)S=X1(K);return S},w=new Map,H=!1,E,b=!0,_,A,z=[],X=0,G=new Map,L=()=>{for(let C of G.values())C[1].abort();G.clear()},p=()=>{M?.(y())},R=()=>{V?.()},d=()=>{w.clear();let C=D.getLoadedRanges();for(let n of C)for(let J2=n.start;J2<=n.end;J2++){let Z2=D.get(J2);if(Z2&&!Y0(Z2))w.set(Z2.id,J2)}},g=(C,n)=>{if(!Y0(n))w.set(n.id,C)},x=(C)=>{w.delete(C)},l=(C,n)=>{return`${C}-${n}`},c=()=>D.getTotal(),o=()=>D.getCachedCount(),r=()=>H,P=()=>b,y=()=>({total:D.getTotal(),cached:D.getCachedCount(),isLoading:H,pendingRanges:z,error:E,hasMore:b,cursor:_}),U=()=>D,u=()=>F(),a=(C)=>{let n=D.get(C);if(n!==void 0)return n;if(C>=0&&C<D.getTotal())return F().generate(C);return},s=(C)=>{let n=w.get(C);if(n===void 0)return;return D.get(n)},h=(C)=>{return w.get(C)??-1},B=(C)=>{let n=D.get(C);return n!==void 0&&!Y0(n)},f=(C,n)=>{let J2=[],Z2=D.getTotal();D.touchChunksForRange(C,Math.min(n,Z2-1));for(let _2=C;_2<=n&&_2<Z2;_2++){let j2=D.get(_2);if(j2!==void 0)J2.push(j2);else J2.push(F().generate(_2))}return J2},O=(C)=>{D.setTotal(C),b=D.getCachedCount()<C,R(),p()},I=(C,n=0,J2)=>{if(J&&C.length>0){let Z2=F();if(!Z2.hasAnalyzedStructure())Z2.analyzeStructure(C)}for(let Z2=0;Z2<C.length;Z2++){let _2=C[Z2];if(_2!==void 0){let j2=n+Z2;D.set(j2,_2),g(j2,_2)}}if(J2!==void 0)D.setTotal(J2);else if(n+C.length>D.getTotal())D.setTotal(n+C.length);if(D.getCachedCount()>=D.getTotal()&&D.getTotal()>0)b=!1;R(),p(),W?.(C,n,D.getTotal())},e=(C,n)=>{let J2=D.get(C);if(!J2)return!1;let Z2=J2.id,_2={...J2,...n};if(D.set(C,_2),n.id!==void 0&&n.id!==Z2)x(Z2);return g(C,_2),R(),p(),!0},T=(C,n)=>{D.insert(n,C),d(),L(),R(),p()},v=(C)=>{let n=w.get(C);if(n===void 0)return!1;if(!D.delete(n))return!1;return d(),L(),R(),p(),!0},Q2=async(C,n)=>{if(!J)return;let J2=D.chunkSize,Z2=Math.floor(C/J2),_2=Math.floor(n/J2),j2=J2*2;for(let[F2,k2]of G){let b2=F2.indexOf("-"),B2=parseInt(F2.slice(0,b2),10);if(Math.abs(B2-C)>j2)k2[1].abort(),G.delete(F2)}let L2=[],T2=[];for(let F2=Z2;F2<=_2;F2++){let k2=F2*J2,b2=k2+J2-1,B2=l(k2,b2);if(D.isChunkFullyLoaded(F2))continue;let P2=G.get(B2);if(P2)T2.push(P2[0]);else L2.push({start:k2,end:b2})}if(L2.length===0){if(T2.length>0)await Promise.all(T2);return}if(Z>0){let F2=G.size+L2.length;if(F2>Z){let k2=(C+n)/2,b2=Math.min(F2-Z,G.size);while(b2>0){let G2=null,P2=-1,W2=null;for(let[A2,k]of G){let Y2=A2.indexOf("-"),D2=parseInt(A2.slice(0,Y2),10),R2=parseInt(A2.slice(Y2+1),10),y2=Math.abs((D2+R2)/2-k2);if(y2>P2)P2=y2,G2=A2,W2=k[1]}if(G2)W2.abort(),G.delete(G2);b2--}let B2=Z-G.size;if(L2.length>B2)L2.sort((G2,P2)=>{let W2=Math.abs((G2.start+G2.end)/2-k2),A2=Math.abs((P2.start+P2.end)/2-k2);return W2-A2}),L2.length=Math.max(0,B2)}}if(L2.length===0){if(T2.length>0)await Promise.all(T2);return}for(let F2 of L2){let k2=l(F2.start,F2.end),b2=new AbortController,B2=(async()=>{z.push(F2),H=!0,E=void 0,p();try{let G2=F2.end-F2.start+1,P2={offset:F2.start,limit:G2,cursor:F2.start===A?_:void 0,signal:b2.signal},W2=await J.read(P2);if(I(W2.items,F2.start,W2.total),W2.cursor)_=W2.cursor,A=F2.start+W2.items.length;let A2=F2.start+W2.items.length;if(A2>=X){if(X=A2,W2.hasMore!==void 0)b=W2.hasMore;else if(W2.total!==void 0)b=A2<W2.total}}catch(G2){if(G2?.name==="AbortError")return;E=G2 instanceof Error?G2:Error(String(G2))}finally{G.delete(k2);let G2=z.findIndex((P2)=>P2.start===F2.start&&P2.end===F2.end);if(G2>=0)z.splice(G2,1);H=G.size>0,p()}})();G.set(k2,[B2,b2]),T2.push(B2)}await Promise.all(T2)},X2=async(C,n)=>{if(D.isRangeLoaded(C,n))return;await Q2(C,n)},t=async()=>{if(!J)return;await Q2(0,Y-1)},U2=async()=>{if(!J||H||!b)return!1;let C=D.getCachedCount(),n=D.getTotal(),J2=C,Z2=Math.min(J2+Y-1,n>0?n-1:J2+Y-1);if(J2>=n&&n>0)return b=!1,!1;return await Q2(J2,Z2),D.getCachedCount()>C},M2=async()=>{if(D.clear(),D.setTotal(0),w.clear(),S)S.clear();L(),z=[],H=!1,_=void 0,A=void 0,b=!0,X=0,E=void 0,R(),p()},z2=(C,n)=>{if(D.evictDistant(C,n)>0)d()},O2=()=>{D.clear(),w.clear(),_=void 0,A=void 0,E=void 0,z=[],H=!1,R(),p()},H2=()=>{if(D.reset(),w.clear(),S)S.clear();_=void 0,A=void 0,b=!0,X=0,E=void 0,z=[],H=!1,R(),p()};if(j&&j.length>0)I(j,0,q??j.length);else if(q!==void 0)D.setTotal(q),R(),p();return{getState:y,getTotal:c,getCached:o,getIsLoading:r,getHasMore:P,getStorage:U,getPlaceholders:u,getItem:a,getItemById:s,getIndexById:h,isItemLoaded:B,getItemsInRange:f,setTotal:O,setItems:I,updateItem:e,insertItem:T,removeItem:v,loadRange:Q2,ensureRange:X2,loadInitial:t,loadMore:U2,reload:M2,evictDistant:z2,clear:O2,reset:H2}};function E0(Q){let{adapter:J,total:j,autoLoad:q=!0,storage:$}=Q,K=Q.loading?.cancelThreshold??h0,Y=Q.loading?.preloadThreshold??S0,Z=Q.loading?.preloadAhead??f0,M=Q.loading?.maxConcurrent??I0,V,W,m,D,S,F,w=null,H=null,E=null,b=0,_=!1,A=-1,z=-1,X=$?.chunkSize??t2,G=()=>{if(w=null,H!==null)clearTimeout(H),H=null},L=(g,x)=>{return V.ensureRange(g,x)},p=(g,x=t2)=>{D.emit("load:start",{offset:g,limit:x})},R=(g)=>{D.emit("error",{error:g,context:"ensureRange"})},d=()=>{if(!w)return;w=null;let g={start:W.startIndex,end:W.startIndex+Math.max(0,W.visibleCount-1)};if(g.end<g.start)return;L(g.start,g.end).catch(R)};return{name:"data",priority:20,setup(g){W=g.getState(),m=g.sizeCache,D=g.emitter,S=g.dom,F=g.forceRender.bind(g);let x=null;g.setVirtualTotalFn(()=>x?.getTotal()??0),V=x=M1({adapter:J,...j!==void 0&&{initialTotal:j},pageSize:$?.chunkSize??t2,maxConcurrent:M,...$&&{storage:{...$.chunkSize!==void 0&&{chunkSize:$.chunkSize},...$.maxCachedItems!==void 0&&{maxCachedItems:$.maxCachedItems},...$.evictionBuffer!==void 0&&{evictionBuffer:$.evictionBuffer}}},onDataChange:()=>{if(W.initialized){let c=V.getTotal();W.totalItems=c;let o=m.getTotal();if(c!==o)m.rebuild(c);g.updateContentSize(m.getTotalSize()),g.renderIfNeeded()}},onItemsLoaded:(c)=>{if(W.initialized)m.rebuild(V.getTotal()),g.updateContentSize(m.getTotalSize()),F(),D.emit("load:end",{items:c,total:V.getTotal()})}}),g.setGetItemFn((c)=>V.getItem(c)),g.setRemoveItemFn((c)=>{let o=V.getIndexById(c);if(o<0)return-1;if(!V.removeItem(c))return-1;return o}),g.setInsertItemFn((c,o)=>{V.insertItem(c,o)}),g.setUpdateItemFn((c,o)=>{let r=V.getIndexById(c);if(r<0)return!1;return V.updateItem(r,o)}),g.registerMethod("reload",async()=>{if(w=null,A=-1,z=-1,g.forceRender(),await V.reload(),g.scrollTo(0),q)p(0),await V.loadInitial(),g.forceRender()}),g.registerMethod("loadVisibleRange",async()=>{w=null,g.forceRender();let c=V.getTotal();if(W.visibleCount>0&&W.startIndex<c){let o=Math.min(W.startIndex+W.visibleCount-1,c-1);p(W.startIndex,o-W.startIndex+1),await L(W.startIndex,o)}}),g.registerMethod("getTotal",()=>{return V.getTotal()}),g.registerMethod("setTotal",(c)=>{V.setTotal(c)}),g.registerMethod("_getTotal",()=>V.getTotal()),g.registerMethod("_setTotal",(c)=>{V.setTotal(c)}),g.registerMethod("_cancelAutoLoad",()=>{_=!0}),g.registerMethod("_getLoadedItem",(c)=>{return V.getStorage().get(c)}),g.registerMethod("_getItem",(c)=>{return V.getItem(c)}),g.registerMethod("_getLoadedCount",()=>V.getCached()),D.on("load:start",()=>{S.root.setAttribute("aria-busy","true")}),D.on("load:end",()=>{S.root.removeAttribute("aria-busy")}),g.registerDestroyHandler(()=>{if(E!==null)clearTimeout(E),E=null;G()}),D.on("velocity:change",({velocity:c})=>{b=Math.abs(c)});let l=()=>{if(W.destroyed)return;if(W.visibleCount>0&&W.startIndex<V.getTotal()){let c=Math.min(W.startIndex+W.visibleCount-1,V.getTotal()-1);L(W.startIndex,c).catch(R)}d()};if(window.addEventListener("online",l),g.registerDestroyHandler(()=>{window.removeEventListener("online",l)}),q)queueMicrotask(()=>{if(_)return;p(0),V.loadInitial().catch((c)=>{D.emit("error",{error:c,context:"loadInitial"})})});else if(j!==void 0)V.setTotal(j)},hooks:{onAfterScroll(){if(W.destroyed)return;let g=W.startIndex+Math.max(0,W.visibleCount-1);if(b>K){if(H!==null)clearTimeout(H),H=null;w={start:W.startIndex,end:g};return}if(b>Y){let c=Math.floor(W.startIndex/X),o=Math.floor(g/X);if(c!==A||o!==z){if(A=c,z=o,g>=W.startIndex)L(W.startIndex,g).catch(R)}let r=W.startIndex,P=g,y=W.scrollDirection;if(y>0)P=Math.min(P+Z,V.getTotal()-1);else if(y<0)r=Math.max(0,r-Z);if(w={start:r,end:P},H!==null)clearTimeout(H);H=setTimeout(()=>{if(H=null,W.destroyed||!w)return;let{start:U,end:u}=w;if(w=null,u>=U)L(U,u).catch(R)},100);return}G();let x=Math.floor(W.startIndex/X),l=Math.floor(g/X);if(x!==A||l!==z){if(A=x,z=l,g>=W.startIndex)L(W.startIndex,g).catch(R)}},onIdle(){if(W.destroyed)return;b=0,A=-1,z=-1,d(),G()}},destroy(){if(E!==null)clearTimeout(E);G()}}}var R0=(Q,J)=>{let j=0,q=Q.length-1;while(j<q){let $=j+q+1>>>1;if(Q[$].headerLayoutIndex<=J)j=$;else q=$-1}return j},D1=(Q,J)=>{let j=0,q=Q.length-1;while(j<q){let $=j+q+1>>>1;if(Q[$].firstDataIndex<=J)j=$;else q=$-1}return j},G1=(Q,J,j)=>{if(Q===0)return[];let q=[],$=null,K=0,Y=0;for(let Z=0;Z<Q;Z++){let M=j?.(Z);if(!M)continue;let V=J(Z,M);if($===null)$=V,K=0;else if(V!==$){let W=Z-K;q.push({key:$,groupIndex:q.length,headerLayoutIndex:Y,firstDataIndex:K,count:W}),Y=Y+1+W,$=V,K=Z}}if($!==null)q.push({key:$,groupIndex:q.length,headerLayoutIndex:Y,firstDataIndex:K,count:Q-K});return q};var A1=(Q,J,j)=>{let q=G1(Q,J.getGroupForIndex,j),$=Q+q.length,K=J.header?.height??J.header?.width??J.headerHeight;return{get totalEntries(){return $},get groupCount(){return q.length},get groups(){return q},getEntry:(S)=>{if(q.length===0)return{type:"item",dataIndex:S,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let F=R0(q,S),w=q[F];if(S===w.headerLayoutIndex)return{type:"header",group:w};let H=S-w.headerLayoutIndex-1;return{type:"item",dataIndex:w.firstDataIndex+H,group:w}},layoutToDataIndex:(S)=>{if(q.length===0)return S;let F=R0(q,S),w=q[F];if(S===w.headerLayoutIndex)return-1;let H=S-w.headerLayoutIndex-1;return w.firstDataIndex+H},dataToLayoutIndex:(S)=>{if(q.length===0)return S;let F=D1(q,S),w=q[F],H=S-w.firstDataIndex;return w.headerLayoutIndex+1+H},getGroupAtLayoutIndex:(S)=>{if(q.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let F=R0(q,S);return q[F]},getGroupAtDataIndex:(S)=>{if(q.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let F=D1(q,S);return q[F]},getHeaderHeight:typeof K==="number"?(S)=>K:(S)=>{let F=q[S];if(!F)return 0;return K(F.key,S)},rebuild:(S,F)=>{q=G1(S,J.getGroupForIndex,F??j),$=S+q.length}}};var T0=(Q,J,j,q,$=0)=>{let K=j?"width":"height",Y=document.createElement("div");return Y.className=`${J}-sticky-header`,Y.setAttribute("role","presentation"),Y.setAttribute("aria-hidden","true"),Y.style.cssText="z-index:5;pointer-events:none;overflow:hidden;"+(j?`position:absolute;top:0;bottom:0;left:${$||0}px`:`position:relative;top:${$||0}px`),Y.style[K]=`${q}px`,Q.insertBefore(Y,Q.firstChild),Y},H1=(Q,J,j,q,$,K=!1,Y=0,Z,M,V)=>{let W=K?"width":"height",m=K?"height":"width",D=K?"X":"Y",S=(T,v)=>{T.style[W]=`${v}px`},F=M??T0(Q,$,K,0,Y),w=()=>{let T=document.createElement("div");return T.className="sticky-group",T.style.position="absolute",T.style.willChange="transform",T.style[m]="100%",T},H=w(),E=w();F.append(H,E);let b=H,_=E,A=J.groups,z=[],X=[],G=[],L=0,p=()=>{A=J.groups,L=A.length,z=Array(L),X=Array(L),G=Array(L);let T=Z?Z():1;for(let v=0;v<L;v++)z[v]=(V?V(A[v].headerLayoutIndex):j.getOffset(A[v].headerLayoutIndex))*T,X[v]=J.getHeaderHeight(v),G[v]=X[v]*T};p();let R=-1,d=0,g=0,x=-1,l=!1,c=0,o=!1,r=(T,v)=>{q(T,v);let Q2=X[v];return S(T,Q2),Q2},P=(T)=>{T.replaceChildren(),T.style.transform=""},y=(T)=>{if(T===R)return;if(R=T,d=0,g=0,T<0||T>=L){P(b);return}d=r(b,T),g=G[T],S(F,d),b.style.transform=""},U=(T)=>{if(T===c)return;c=T;let v=Math.round(T);b.style.transform=`translate${D}(${v}px)`,_.style.transform=`translate${D}(${v+d}px)`},u=()=>{c=0,b.style.transform="",_.style.transform=""},a=()=>{if(!o)return;let T=b;b=_,_=T,R=x,d=R>=0?X[R]:0,g=R>=0?G[R]:0,S(F,d),P(_),x=-1,o=!1,u()},s=()=>{if(!o)return;P(_),x=-1,o=!1,u()},h=!!M,B=()=>{if(l)return;if(l=!0,h)F.style.visibility="";else F.style.display=""},f=()=>{if(!l)return;if(l=!1,h)F.style.visibility="hidden";else F.style.display="none";P(b),R=-1,d=0,g=0,s()},O=(T)=>{if(L===0){f();return}if(T<z[0]){f();return}let v=0,Q2=L-1;while(v<Q2){let t=v+Q2+1>>>1;if(z[t]+G[t]<=T)v=t;else Q2=t-1}if(!l)B();y(v);let X2=v+1;if(X2<L){let t=z[X2]-T;if(t<=0&&t>-g){if(x!==X2||!o)x=X2,r(_,X2),o=!0;let U2=g>0?t/g*d:t;U(U2)}else if(t<=-g){if(o)a()}else if(o)s()}else if(o)s()},I=()=>{p();let T=R;if(R=-1,d=0,g=0,T>=0)y(T)},e=()=>{F.remove(),R=-1,d=0,g=0,x=-1,l=!1,o=!1};if(!M)F.style.display="none";return{update:O,refresh:I,show:B,hide:f,destroy:e}};var d2={selected:!1,focused:!1},O1=typeof process<"u"&&process.env?.NODE_ENV!=="production";function b0(Q){if(!Q.getGroupForIndex)throw Error("[vlist] groups: getGroupForIndex is required");let J=Q.header?.height??Q.header?.width??Q.headerHeight;if(J==null||typeof J==="number"&&J<=0)throw Error("[vlist] groups: header height/width must be a positive number or function");let j=Q.header?.template??Q.headerTemplate;if(!j)throw Error("[vlist] groups: header.template is required");let q=j,$,K=null,Y,Z,M,V,W,m,D,S=null,F,w,H,E=null,b,_,A=null,z=null,X=0,G=0,L=0,p=0,R=0,d=!1,g=null,x=new Map,l=new Set,c=new Map,o=-1,r=-1,P=!0,y=-1,U=0,u=null,a;function s(){return $.totalEntries}function h(){let C=Z.totalItems;if(C===y)return;if(O1)console.log(`[groups] syncLayout: ${y} → ${C}`);let n=y>0;y=C,$.rebuild(C,S??D),a($.totalEntries),e();let J2=f?T():Y.getTotalSize();if(V.style[F?"width":"height"]=J2+R+"px",K)K.refresh(),K.update(Z.scrollPosition);if(n)X2();let Z2=A?.("_scrollbar:getInstance");if(Z2)Z2()?.updateBounds(J2,Z.containerSize)}let B=0,f=null,O=null,I=null;function e(){if(X<=0){f=null,O=null;return}B=((Z.crossSize||V.clientWidth)-p-(X-1)*G)/X,f=new Map;let J2=$.totalEntries,Z2=Array(J2),_2=0;if(d){let j2=g??((b2)=>Y.getSize(b2)),L2=new Float64Array(X),T2=[],F2=0,k2=-1;for(let b2=0;b2<J2;b2++){let B2=$.getEntry(b2);if(B2.type==="header"){let G2=0;for(let W2=0;W2<X;W2++)if(L2[W2]>G2)G2=L2[W2];if(k2>=0)T2[k2]=F2+G2;F2+=G2;let P2=Y.getSize(b2);f.set(b2,{col:-1,rowY:F2}),Z2[_2++]=[b2,F2,F2+P2],F2+=P2,L2.fill(0),k2=B2.group.groupIndex}else{let G2=0,P2=L2[0];for(let k=1;k<X;k++)if(L2[k]<P2)P2=L2[k],G2=k;let W2=j2(B2.dataIndex),A2=F2+L2[G2];f.set(b2,{col:G2,rowY:A2,h:W2}),Z2[_2++]=[b2,A2,A2+W2],L2[G2]=L2[G2]+W2+G}}if(k2>=0){let b2=0;for(let B2=0;B2<X;B2++)if(L2[B2]>b2)b2=L2[B2];T2[k2]=F2+b2}I=T2}else{I=null;let j2=0,L2=0,T2=0;for(let F2=0;F2<J2;F2++)if($.getEntry(F2).type==="header"){if(L2>0&&T2>0)j2+=T2;let b2=Y.getSize(F2);f.set(F2,{col:-1,rowY:j2}),Z2[_2++]=[F2,j2,j2+b2],j2+=b2,L2=0,T2=0}else{let b2=L2%X,B2=Y.getSize(F2);if(b2===0){if(L2>0&&T2>0)j2+=T2+G;T2=B2}else if(B2>T2)T2=B2;f.set(F2,{col:b2,rowY:j2}),Z2[_2++]=[F2,j2,j2+B2],L2++}}Z2.length=_2,O=Z2}function T(){if(!f||f.size===0)return Y.getTotalSize();let C=$.totalEntries;if(d)return I?.[I.length-1]??0;let n=0;for(let J2=C-1;J2>=0;J2--){let Z2=f.get(J2);if(Z2){n=Z2.rowY+(Z2.h??Y.getSize(J2));break}if($.getEntry(J2).type==="header"){n=Y.getOffset(J2)+Y.getSize(J2);break}}return n}function v(C){if(f){let J2=f.get(C);if(J2){let Z2=J2.col<0?0:L+J2.col*(B+G),_2=J2.rowY;if(F)return`translate(${Math.round(_2)}px, ${Math.round(Z2)}px)`;return`translate(${Math.round(Z2)}px, ${Math.round(_2)}px)`}}let n=Y.getOffset(C);if(F)return`translate(${Math.round(n)}px, 0)`;return`translate(0, ${Math.round(n)}px)`}function Q2(C,n){let J2=f?.get(n);if(J2){let _2=J2.h??Y.getSize(n);if(J2.col<0)if(F)C.style.width=`${_2}px`,C.style.height="";else C.style.height=`${_2}px`,C.style.width="100%";else if(F)C.style.width=`${_2}px`,C.style.height=`${B}px`;else C.style.height=`${_2}px`,C.style.width=`${B}px`;return}let Z2=Y.getSize(n);if(F)C.style.width=`${Z2}px`;else C.style.height=`${Z2}px`}function X2(){x.forEach((C)=>{C.remove();let n=C.getAttribute("data-id");if(n)c.set(n,C);else M.release(C)}),x.clear(),l.clear()}function t(){if(c.size>0)c.forEach((C)=>M.release(C)),c.clear()}function U2(C,n,J2,Z2){if(z===null)z=!!A?.("_getSelectedIds");if(n.type==="header"){let k2=`__group_header_${n.group.groupIndex}`;if(C.getAttribute("data-id")===k2)return!0;C.className=_,C.setAttribute("role","presentation"),C.removeAttribute("aria-selected"),C.setAttribute("data-id",k2);let b2=q(n.group.key,n.group.groupIndex);if(typeof b2==="string")C.innerHTML=b2;else C.innerHTML="",C.appendChild(b2);return!0}let _2=n.dataIndex,j2=D(_2);if(!j2)return C.innerHTML="",!1;let L2=j2._isPlaceholder===!0,T2=String(j2.id);if(!L2&&C.getAttribute("data-id")===T2){if(z)C.id=`${w}-item-${Z2}`,C.setAttribute("aria-posinset",String(_2+1)),C.setAttribute("aria-setsize",String(Z.totalItems));return!0}if(C.className=b,C.setAttribute("role",z?"option":"listitem"),C.setAttribute("data-id",T2),z)C.id=`${w}-item-${Z2}`,C.setAttribute("aria-posinset",String(_2+1)),C.setAttribute("aria-setsize",String(Z.totalItems));if(L2)C.classList.add(`${w}-item--placeholder`);if(J2)J2(Z2,d2);else d2.selected=!1,d2.focused=!1;let F2=m(j2,_2,d2);if(typeof F2==="string")C.innerHTML=F2;else C.innerHTML="",C.appendChild(F2);return p2(C),!L2}let M2=0;function z2(){if(X<=0)return;let C=Z.crossSize;if(C===M2)return;M2=C,e();let n=T();if(V.style[F?"width":"height"]=n+R+"px",K)K.refresh(),K.update(Z.scrollPosition);P=!0}function O2(){if(Z.destroyed)return;h(),z2();let{scrollPosition:C,containerSize:n}=Z;if(!P&&C===o&&n===r)return;o=C,r=n;let J2=P;P=!1;let Z2=s();if(n<=0||Z2===0){if(x.size>0)x.forEach((W2)=>{W2.remove(),M.release(W2)}),x.clear(),l.clear();return}let _2,j2;if(O){let W2=O,A2=W2.length,k=0,Y2=A2-1;while(k<Y2){let $2=k+Y2>>>1;if(W2[$2][2]<=C)k=$2+1;else Y2=$2}let D2=k;Y2=A2-1;while(k<Y2){let $2=k+Y2+1>>>1;if(W2[$2][1]>=C+n)Y2=$2-1;else k=$2}let R2=k,y2=W2[D2][0],V2=W2[R2][0];for(let $2=y2-1;$2>=0;$2--)if($.getEntry($2).type==="header"){y2=$2;break}let N=H*X;_2=Math.max(0,y2-N),j2=Math.min(Z2-1,V2+N)}else{let W2=Y.indexAtOffset(C),A2=Y.indexAtOffset(C+n);if(A2<Z2-1)A2++;W2=Math.max(0,W2),A2=Math.min(Z2-1,Math.max(0,A2)),_2=Math.max(0,W2-H),j2=Math.min(Z2-1,A2+H)}if(_2===Z.prevRangeStart&&j2===Z.prevRangeEnd&&!Z.renderPending)return;x.forEach((W2,A2)=>{if(A2<_2||A2>j2)W2.remove(),M.release(W2),x.delete(A2),l.delete(A2)});let L2=E?.()??null,T2=L2?`${w}-item--selected`:"",F2=L2?`${w}-item--focused`:"",k2=null;for(let W2=_2;W2<=j2;W2++){let A2=x.get(W2),k=!1;if(A2===void 0){let Y2=$.getEntry(W2);k=Y2.type==="header";let D2;if(Y2.type==="header")D2=`__group_header_${Y2.group.groupIndex}`;else{let y2=D(Y2.dataIndex);if(y2&&y2._isPlaceholder!==!0)D2=String(y2.id)}if(D2!==void 0){let y2=c.get(D2);if(y2)c.delete(D2),A2=y2}if(!A2)A2=M.acquire();if(A2.setAttribute("data-index",String(W2)),U2(A2,Y2,L2,W2))l.delete(W2);else l.add(W2);if(Q2(A2,W2),A2.style.transform=v(W2),x.set(W2,A2),!k2)k2=document.createDocumentFragment();k2.appendChild(A2)}else if(J2&&l.has(W2)){let Y2=$.getEntry(W2);if(Y2.type==="item")if(U2(A2,Y2,L2,W2))l.delete(W2);else l.add(W2)}else if(k=A2.classList.contains(_),J2)Q2(A2,W2),A2.style.transform=v(W2);if(!k&&L2)if(L2(W2,d2),A2.classList.toggle(T2,d2.selected),A2.classList.toggle(F2,d2.focused),d2.selected)A2.setAttribute("aria-selected","true");else A2.removeAttribute("aria-selected")}if(k2)V.appendChild(k2);t();let b2=f?T():Y.getTotalSize();V.style[F?"width":"height"]=b2+R+"px",Z.prevRangeStart=_2,Z.prevRangeEnd=j2,Z.renderPending=!1;let B2=0,G2=0,P2=!1;for(let W2=_2;W2<=j2&&B2<Z.capacity;W2++){let A2=$.getEntry(W2);if(A2.type==="item"){if(!P2)G2=A2.dataIndex,P2=!0;Z.visibleIndices[B2]=A2.dataIndex,Z.visibleOffsets[B2]=Y.getOffset(W2),Z.visibleSizes[B2]=Y.getSize(W2),B2++}}Z.visibleCount=B2,Z.startIndex=G2}function H2(){if(Z.destroyed)return;if(z2(),O1)console.log(`[groups] forceRender, placeholders: ${l.size}, rendered: ${x.size}`);let C=u?.()??0;if(C!==U){U=C;let n=$.groups,J2=n.length;$.rebuild(y,S??D);let Z2=$.groups,_2=Z2.length!==J2;if(!_2){for(let j2=0;j2<J2;j2++)if(Z2[j2].headerLayoutIndex!==n[j2].headerLayoutIndex){_2=!0;break}}if(_2){a($.totalEntries),e();let j2=f?T():Y.getTotalSize();if(V.style[F?"width":"height"]=j2+"px",K)K.refresh(),K.update(Z.scrollPosition);let L2=1/0,T2=Math.min(J2,Z2.length);for(let k2=0;k2<T2;k2++)if(Z2[k2].headerLayoutIndex!==n[k2].headerLayoutIndex){L2=Math.min(Z2[k2].headerLayoutIndex,n[k2].headerLayoutIndex);break}if(Z2.length>J2&&T2<Z2.length)L2=Math.min(L2,Z2[T2].headerLayoutIndex);else if(J2>Z2.length&&T2<J2)L2=Math.min(L2,n[T2].headerLayoutIndex);if(L2<=Z.prevRangeEnd)X2();let F2=A?.("_scrollbar:getInstance");if(F2)F2()?.updateBounds(j2,Z.containerSize)}}Z.prevRangeStart=-1,Z.prevRangeEnd=-1,Z.renderPending=!0,P=!0,O2()}return{name:"groups",priority:10,setup(C){Y=C.sizeCache,Z=C.getState(),M=C.pool,V=C.dom.content,W=C.dom.root,m=C.template,F=C.config.axis.primary==="x",w=C.config.classPrefix,H=C.config.overscan,R=C.config.mainAxisPadding,D=C.getItem.bind(C),E=()=>C.getItemStateFn(),A=C.getMethod.bind(C),z=null,b=`${w}-item`,_=`${w}-group-header`;let n=A?.("getGridLayout"),J2=A?.("getMasonryLayout");if(n){let B2=n();X=B2.columns,G=B2.gap,L=C.config.crossPadStart,p=C.config.crossAxisPadding}else if(J2){let B2=J2();X=B2.columns,G=B2.gap,L=C.config.crossPadStart,p=C.config.crossAxisPadding,d=!0;let G2=C.rawSizeSpec;if(typeof G2==="function")g=(P2)=>{return G2(P2,{columnWidth:B})}}queueMicrotask(()=>{let B2=A?.("_getLoadedItem");if(B2)S=B2;let G2=A?.("_getLoadedCount");if(G2)u=G2});let Z2=Z.totalItems;$=A1(Z2,Q,S??D),y=Z2;let _2=typeof J==="number"?(B2)=>J:(B2)=>{let G2=$.groups[B2];if(!G2)return 0;return J(G2.key,B2)},j2=Y.getSize,L2=(B2)=>{let G2=$.getEntry(B2);if(G2.type==="header"){if(Q.sticky!==!1&&G2.group.groupIndex===0)return 0;return _2(G2.group.groupIndex)}return j2(G2.dataIndex)};C.setSizeConfig(L2);let T2=!1,F2=-1;if(a=Y.rebuild,Y.rebuild=(B2)=>{if(T2){if(!u)u=A?.("_getLoadedCount")??null;let G2=u?.()??0;if(B2!==y||G2!==F2){if(y=B2,F2=G2,!S)S=A?.("_getLoadedItem")??null;if($.rebuild(B2,S??((P2)=>C.getItems()[P2])),Z.totalItems=$.totalEntries,K)K.refresh(),K.update(Z.scrollPosition)}}a($.totalEntries)},Y.rebuild($.totalEntries),e(),C.setVirtualTotalFn(()=>$.totalEntries),W.classList.add(`${w}--grouped`),Q.sticky!==!1){let B2=(A2,k)=>{let Y2=$.groups[k];if(!Y2)return;let D2=q(Y2.key,k);if(typeof D2==="string")A2.innerHTML=D2;else A2.replaceChildren(D2)},G2=$.getHeaderHeight(0),P2=T0(W,w,F,G2),W2=X>0?(A2)=>{let k=f?.get(A2);return k?k.rowY:Y.getOffset(A2)}:void 0;if(K=H1(W,$,Y,B2,w,F,0,void 0,P2,W2),K.update(Z.scrollPosition),!F)C.dom.viewport.style.height=`calc(100% - ${G2}px)`;else C.dom.viewport.style.width=`calc(100% - ${G2}px)`,C.dom.viewport.style.marginLeft=`${G2}px`}let k2=!!A?.("_updateTableForGroups");if(T2=k2,k2)queueMicrotask(()=>{let B2=A?.("_getItem")??null,G2=C.getItems.bind(C);C.setGetItemFn((W2)=>{let A2=$.getEntry(W2);if(A2.type==="header")return{id:`__group_header_${A2.group.groupIndex}`,__groupHeader:!0,groupKey:A2.group.key,groupIndex:A2.group.groupIndex};return B2?B2(A2.dataIndex):G2()[A2.dataIndex]});let P2=A?.("_updateTableForGroups");if(P2)P2((W2)=>!!W2.__groupHeader,q)});else C.setRenderFn(O2,H2);C.registerMethod("getGroupLayout",()=>$),C.registerMethod("_dataToLayoutIndex",(B2)=>$.dataToLayoutIndex(B2)),C.registerMethod("_layoutToDataIndex",(B2)=>$.layoutToDataIndex(B2)),C.registerMethod("_getRenderedElement",(B2)=>x.get(B2)??null),C.registerMethod("_isGroupHeader",(B2)=>{return $.getEntry(B2).type==="header"});let b2=R-C.config.startPadding;C.registerMethod("_scrollItemIntoView",(B2)=>{if(B2<0)return;let G2=f?.get(B2),P2=G2?G2.rowY:Y.getOffset(B2),W2=Y.getSize(B2),A2=Z.containerSize,k=Z.scrollPosition;if(P2<k)C.scrollTo(P2);else if(P2+W2+b2>k+A2)C.scrollTo(P2+W2+b2-A2)}),C.registerMethod("scrollToIndex",(B2,G2="start")=>{let P2=$.dataToLayoutIndex(B2),W2=$.totalEntries;if(W2===0)return;let A2=Math.max(0,Math.min(P2,W2-1)),k=Z.containerSize,Y2=f?.get(A2),D2=Y2?Y2.rowY:Y.getOffset(A2),R2=Y2?Y2.h??Y.getSize(A2):Y.getSize(A2),y2=f?T()+R:Y.getTotalSize(),V2=Math.max(0,y2-k),N=typeof G2==="string"?G2:G2.align??"start",$2=typeof G2==="object"?G2.behavior:void 0,K2=typeof G2==="object"?G2.duration:void 0,i=f?R:0,q2=D2+R2;if(d&&I){let E2=$.getEntry(A2).group.groupIndex,w2=I[E2];if(w2!==void 0)q2=w2}let N2;switch(N){case"center":N2=D2-(k-R2)/2;break;case"end":N2=q2-k+i;break;default:N2=D2}if(N2=Math.max(0,Math.min(N2,V2)),$2==="smooth"&&K2&&K2>0)C.smoothScrollTo(N2,K2);else C.scrollTo(N2)}),C.registerDestroyHandler(()=>{for(let[,B2]of x)B2.remove();if(x.clear(),l.clear(),K)K.destroy(),K=null;W.classList.remove(`${w}--grouped`)})},hooks:{onAfterScroll(C,n){if(K)K.update(C)},onResize(C,n){if(X<=0)return;a($.totalEntries),M2=Z.crossSize,e();let J2=T();if(V.style[F?"width":"height"]=J2+R+"px",K)K.refresh(),K.update(Z.scrollPosition);P=!0,O2()}},destroy(){if(K)K.destroy(),K=null;x.clear(),l.clear(),c.clear()}}}var L1=(Q,J=50,j=1/0,q=!0)=>{let $=Q,K=[],Y=0,Z=()=>{K=$.map((H,E)=>({def:H,index:E,width:0,minWidth:J4(H.minWidth??J,1),maxWidth:H.maxWidth??j,resizable:H.resizable??q,offset:0}))},M=(H)=>{if(K.length===0){Y=0;return}let E=0,b=0;for(let _=0;_<K.length;_++){let A=K[_],z=A.def;if(z.width!==void 0)A.width=k0(z.width,A.minWidth,A.maxWidth),E+=A.width;else b++}if(b){let A=Math.max(0,H-E)/b;for(let z=0;z<K.length;z++){let X=K[z];if(X.def.width===void 0)X.width=k0(A,X.minWidth,X.maxWidth)}}V()},V=()=>{let H=0;for(let E=0;E<K.length;E++){let b=K[E];b.offset=H,H+=b.width}Y=H},W=(H,E)=>{if(H<0||H>=K.length)return 0;let b=K[H];if(!b.resizable)return b.width;let _=k0(E,b.minWidth,b.maxWidth);return b.width=_,V(),_},m=(H)=>{return K[H]},D=(H)=>{if(K.length===0)return;if(H<0)return K[0];if(H>=Y)return K[K.length-1];let E=0,b=K.length-1;while(E<b){let _=E+b>>>1,A=K[_];if(H<A.offset)b=_-1;else if(H>=A.offset+A.width)E=_+1;else return A}return K[E]},S=(H)=>{if(H<0||H>=K.length)return 0;return K[H].offset},F=(H)=>{if(H<0||H>=K.length)return 0;return K[H].width},w=(H)=>{$=H,Z()};return Z(),{get columns(){return K},get totalWidth(){return Y},resolve:M,updateColumns:w,resizeColumn:W,getColumn:m,getColumnAtX:D,getColumnOffset:S,getColumnWidth:F}},k0=(Q,J,j)=>Math.min(j,Math.max(J,Q)),J4=(Q,J)=>Math.max(J,Q);var F1=(Q,J,j,q,$,K)=>{let Y=document.createElement("div");Y.setAttribute("role","rowgroup");let Z=document.createElement("div");Z.className=`${j}-table-header`,Z.setAttribute("role","row"),Z.setAttribute("aria-rowindex","1"),Z.style.height=`${J}px`;let M=document.createElement("div");M.className=`${j}-table-header-scroll`,M.setAttribute("role","presentation"),Z.appendChild(M),Y.appendChild(Z),Q.insertBefore(Y,Q.firstChild),Q.style.setProperty("--vlist-table-header-height",`${J}px`);let V=[],W=[],m=!0,D=null,S="asc",F=null,w=!1,H=-1,E=0,b=0,_=0,A=(P,y)=>{let U=document.createElement("div");U.className=`${j}-table-header-cell`,U.setAttribute("role","columnheader"),U.setAttribute("aria-colindex",String(y+1)),U.setAttribute("tabindex",y===0?"0":"-1"),U.dataset.columnKey=P.def.key;let u=P.def.align;if(u==="center")U.classList.add(`${j}-table-header-cell--center`);else if(u==="right")U.classList.add(`${j}-table-header-cell--right`);let a=document.createElement("div");a.className=`${j}-table-header-content`;let s=P.def.header?P.def.header(P.def):P.def.label;if(typeof s==="string")a.textContent=s;else a.appendChild(s);if(U.appendChild(a),P.def.sortable){let h=document.createElement("span");h.className=`${j}-table-header-sort`,h.setAttribute("aria-hidden","true"),U.appendChild(h),W.push(h),U.classList.add(`${j}-table-header-cell--sortable`)}else W.push(null);if(P.resizable){let h=document.createElement("div");h.className=`${j}-table-header-resize`,h.dataset.resizeIndex=String(y),U.appendChild(h)}return U},z=(P)=>{F=P,M.textContent="",V=[],W=[];let y=P.columns;for(let U=0;U<y.length;U++){let u=y[U],a=A(u,U);V.push(a),M.appendChild(a)}if(X(P),D)G(D,S)},X=(P)=>{F=P;let y=P.columns;M.style.width=`${P.totalWidth}px`;for(let U=0;U<V.length&&U<y.length;U++){let u=V[U],a=y[U];u.style.width=`${a.width}px`}},G=(P,y)=>{if(D=P,S=y,!F)return;let U=F.columns;for(let u=0;u<W.length&&u<U.length;u++){let a=W[u];if(!a)continue;if(U[u].def.key===P)a.textContent=y==="asc"?"▲":"▼",a.style.opacity="0.7",V[u].setAttribute("aria-sort",y==="asc"?"ascending":"descending");else a.textContent="",a.style.opacity="0",V[u].removeAttribute("aria-sort")}},L=(P)=>{M.style.transform=`translateX(${-P}px)`},p=(P)=>{let y=P.target;if(!y.dataset.resizeIndex)return;if(P.preventDefault(),P.stopPropagation(),H=+y.dataset.resizeIndex,!F)return;let U=F.getColumn(H);if(!U?.resizable)return;w=!0,E=P.clientX,b=U.width,Q.classList.add(`${j}--col-resizing`),Q.style.cursor="col-resize",y.classList.add(`${j}-table-header-resize--active`),y.setPointerCapture(P.pointerId),y.addEventListener("pointermove",R),y.addEventListener("pointerup",d),y.addEventListener("pointercancel",d)},R=(P)=>{if(!w||!F)return;let y=P.clientX-E;if(Math.abs(y)<1)return;let U=Math.max(0,b+y);q(H,U)},d=(P)=>{if(!w)return;let y=P.target;y.removeEventListener("pointermove",R),y.removeEventListener("pointerup",d),y.removeEventListener("pointercancel",d);try{y.releasePointerCapture(P.pointerId)}catch{}y.classList.remove(`${j}-table-header-resize--active`),Q.classList.remove(`${j}--col-resizing`),Q.style.cursor="",w=!1,H=-1},g=(P)=>{let y=P.target;if(y.dataset.resizeIndex)return;if(w)return;let U=y;while(U&&!U.dataset.columnKey)if(U=U.parentElement,U===Z||U===null)return;let u=U.dataset.columnKey;if(!F)return;let a=F.columns,s=-1;for(let B=0;B<a.length;B++)if(a[B].def.key===u){s=B;break}if(s===-1)return;let h=a[s];if(K)K({key:u,index:s,event:P});if(h.def.sortable&&$){let B;if(D===u)B=S==="asc"?"desc":null;else B="asc";$({key:u,index:s,direction:B})}},x=(P)=>{if(P<0||P>=V.length)return;V[_]?.setAttribute("tabindex","-1"),_=P;let y=V[_];y.setAttribute("tabindex","0"),y.focus()},l=(P)=>{let y=P.key;if(y==="ArrowRight"){if(P.ctrlKey||P.metaKey){if(!F)return;let U=F.getColumn(_);if(U?.resizable)q(_,U.width+10),P.preventDefault()}else if(_<V.length-1)x(_+1),P.preventDefault();P.stopPropagation();return}if(y==="ArrowLeft"){if(P.ctrlKey||P.metaKey){if(!F)return;let U=F.getColumn(_);if(U?.resizable)q(_,U.width-10),P.preventDefault()}else if(_>0)x(_-1),P.preventDefault();P.stopPropagation();return}if(y==="Home"){x(0),P.preventDefault(),P.stopPropagation();return}if(y==="End"){x(V.length-1),P.preventDefault(),P.stopPropagation();return}if(y==="Enter"||y===" "){if(!F)return;let U=F.getColumn(_);if(U?.def.sortable&&$){let u;if(D===U.def.key)u=S==="asc"?"desc":null;else u="asc";$({key:U.def.key,index:_,direction:u}),P.preventDefault()}P.stopPropagation();return}if(y==="ArrowDown"){Q.focus(),P.preventDefault(),P.stopPropagation();return}};return Z.addEventListener("pointerdown",p),Z.addEventListener("click",g),Z.addEventListener("keydown",l),{element:Z,update:X,updateSort:G,rebuild:z,show:()=>{if(m)return;m=!0,Z.style.display=""},hide:()=>{if(!m)return;m=!1,Z.style.display="none"},destroy:()=>{Z.removeEventListener("pointerdown",p),Z.removeEventListener("click",g),Z.removeEventListener("keydown",l),Q.style.removeProperty("--vlist-table-header-height"),Y.remove(),V=[],W=[],F=null,m=!1},syncScroll:L}};var Q4=()=>{let Q=[];return{acquire:()=>Q.pop()||document.createElement("div"),release:(J)=>{if(J.parentNode?.removeChild(J),Q.length<200)J.className="",J.removeAttribute("data-id"),J.removeAttribute("data-index"),J.removeAttribute("aria-selected"),J.removeAttribute("aria-rowindex"),J.removeAttribute("role"),J.style.cssText="",J.textContent="",Q.push(J)},clear:()=>{Q.length=0}}},E1=(Q,J,j,q,$,K,Y,Z,M)=>{let V=Q4(),W=new Map,m=-1,D=j,S=null,F=null,w=null,H=(T,v)=>{F=T,w=v},E=(T,v)=>{v?T.setAttribute("aria-selected","true"):T.removeAttribute("aria-selected")},b=(T,v,Q2,X2)=>{T.setAttribute("role",v),T.setAttribute("data-id",String(Q2)),T.setAttribute("data-index",String(X2))},_=(T)=>String(T).startsWith("__placeholder_"),A=`${$}-item ${$}-table-row`,z=`${$}-item--selected`,X=`${$}-item--focused`,G=`${$}-table-cell`,L=`${$}-table-cell--center`,p=`${$}-table-cell--right`,R=`${$}-item--odd`,d=`${$}-item--placeholder`,g=`${$}-item--replaced`,x=`${$}-table-row ${$}-table-group-header`,l=`${$}-table-group-header-content`,c=(T,v,Q2,X2,t=!1)=>{if(Q2.def.cell){let U2=Q2.def.cell(v,Q2.def,X2);if(typeof U2==="string")T.innerHTML=U2;else T.replaceChildren(U2)}else{let U2=v[Q2.def.key],M2=U2!=null?String(U2):"";if(t&&M2)T.innerHTML=`<span>${M2}</span>`;else T.textContent=M2}},o=(T,v,Q2,X2,t=!1)=>{let U2=A;if(Z){if(S){let M2=S(v);if(M2>=0&&(M2&1)===1)U2+=` ${R}`}else if((v&1)===1)U2+=` ${R}`}if(t)U2+=` ${d}`;if(Q2)U2+=` ${z}`;if(X2)U2+=` ${X}`;T.className=U2},r=(T,v,Q2)=>{if(Q2?.compression?.isCompressed)return Math.round(u2(T,Q2.scrollPosition,v,Q2.totalItems,Q2.containerSize,Q2.compression,Q2.rangeStart));return v.getOffset(T)},P=(T,v)=>{let Q2=v.def.align;if(Q2==="center")T.classList.add(L),T.classList.remove(p);else if(Q2==="right")T.classList.add(p),T.classList.remove(L);else T.classList.remove(L,p)},y=(T,v)=>{let X2=D.columns.length;if(v.length===X2)return v;let t=[];for(let U2=0;U2<X2;U2++){let M2;if(U2<v.length)M2=v[U2];else M2=document.createElement("div"),M2.className=G,T.appendChild(M2);t.push(M2)}for(let U2=X2;U2<v.length;U2++)v[U2].remove();return t},U=(T,v,Q2,X2)=>{let t=V.acquire(),U2=T,M2=Q2.getSize(v),z2=r(v,Q2,X2);t.style.cssText=`width:${D.totalWidth}px;height:${M2}px;transform:translateY(${z2}px)`,t.className=x,b(t,"presentation",T.id,v),t.removeAttribute("aria-selected"),t.removeAttribute("aria-rowindex"),t.replaceChildren();let O2=document.createElement("div");if(O2.className=l,w){let H2=w(U2.groupKey,U2.groupIndex);if(typeof H2==="string")O2.innerHTML=H2;else O2.appendChild(H2)}return t.appendChild(O2),{element:t,cells:[],index:v,isGroupHeader:!0,_lastItem:T,lastItemId:T.id,lastSelected:!1,lastFocused:!1,lastOffset:z2,lastHeight:M2}},u=(T,v,Q2,X2,t,U2)=>{let M2=V.acquire(),z2=t.getSize(v),O2=r(v,t,U2),H2=_(T.id);M2.style.cssText=`width:${D.totalWidth}px;height:${z2}px;transform:translateY(${O2}px)`,o(M2,v,Q2,X2,H2),b(M2,"row",T.id,v),M2.id=`${K}-item-${v}`,M2.setAttribute("aria-rowindex",String(v+2)),E(M2,Q2);let C=y(M2,[]),n=D.columns;for(let J2=0;J2<C.length&&J2<n.length;J2++){let Z2=C[J2],_2=n[J2];Z2.style.cssText=`left:${_2.offset}px;width:${_2.width}px`,Z2.setAttribute("role","gridcell"),Z2.setAttribute("aria-colindex",String(J2+1)),P(Z2,_2),c(Z2,T,_2,v,H2)}return{element:M2,cells:C,index:v,isGroupHeader:!1,_lastItem:T,lastItemId:T.id,lastSelected:Q2,lastFocused:X2,lastOffset:O2,lastHeight:z2}},a=(T,v,Q2,X2,t)=>{let U2=!1,M2=Y();if(M2!==m)m=M2,U2=!0;let z2=null,O2=J();S=typeof Z==="string"&&M?M():null;for(let H2=v.start;H2<=v.end;H2++){let C=H2-v.start,n=T[C];if(!n)continue;let J2=Q2.has(n.id),Z2=H2===X2,_2=F?F(n):!1,j2=W.get(H2);if(j2){if(j2.isGroupHeader!==_2){V.release(j2.element),W.delete(H2);let L2=_2?U(n,H2,O2,t):u(n,H2,J2,Z2,O2,t);if(W.set(H2,L2),!z2)z2=document.createDocumentFragment();z2.appendChild(L2.element);continue}if(_2){if(j2._lastItem!==n){let k2=n,b2=j2.element.firstElementChild;if(b2&&w){let B2=w(k2.groupKey,k2.groupIndex);if(typeof B2==="string")b2.innerHTML=B2;else b2.replaceChildren(B2)}j2.element.setAttribute("data-id",String(n.id)),j2._lastItem=n,j2.lastItemId=n.id}let T2=r(H2,O2,t);if(j2.lastOffset!==T2)j2.lastOffset=T2,j2.element.style.transform=`translateY(${T2}px)`;let F2=O2.getSize(H2);if(j2.lastHeight!==F2)j2.lastHeight=F2,j2.element.style.height=`${F2}px`}else{let L2=j2._lastItem!==n,T2=j2.lastSelected!==J2,F2=j2.lastFocused!==Z2;if(L2){let B2=j2.lastItemId!=null&&_(j2.lastItemId),G2=_(n.id);if(!G2&&o2(Q2,H2,n.id))J2=!0;let P2=D.columns;for(let W2=0;W2<j2.cells.length&&W2<P2.length;W2++)c(j2.cells[W2],n,P2[W2],H2,G2);if(o(j2.element,H2,J2,Z2,G2),j2.element.setAttribute("data-id",String(n.id)),E(j2.element,J2),B2&&!G2)j2.element.classList.add(g),setTimeout(()=>{j2.element.classList.remove(g)},300);j2._lastItem=n,j2.lastItemId=n.id,j2.lastSelected=J2,j2.lastFocused=Z2}else if(T2||F2)o(j2.element,H2,J2,Z2,_(n.id)),E(j2.element,J2),j2.lastSelected=J2,j2.lastFocused=Z2;let k2=r(H2,O2,t);if(j2.lastOffset!==k2)j2.lastOffset=k2,j2.element.style.transform=`translateY(${k2}px)`;let b2=O2.getSize(H2);if(j2.lastHeight!==b2)j2.lastHeight=b2,j2.element.style.height=`${b2}px`;if(U2)j2.element.setAttribute("aria-rowindex",String(H2+2))}}else{if(o2(Q2,H2,n.id))J2=!0;let L2=_2?U(n,H2,O2,t):u(n,H2,J2,Z2,O2,t);if(W.set(H2,L2),!z2)z2=document.createDocumentFragment();z2.appendChild(L2.element)}}if(z2)Q.appendChild(z2);for(let[H2,C]of W)if(H2<v.start||H2>v.end)V.release(C.element),W.delete(H2)},s=(T)=>{let v=J();for(let[Q2,X2]of W){let t=r(Q2,v,T);if(X2.lastOffset!==t)X2.lastOffset=t,X2.element.style.transform=`translateY(${t}px)`}},h=(T,v,Q2,X2)=>{let t=W.get(T);if(!t)return;if(t.isGroupHeader)return;let U2=D.columns;for(let M2=0;M2<t.cells.length&&M2<U2.length;M2++)c(t.cells[M2],v,U2[M2],T);t.element.setAttribute("data-id",String(v.id)),t._lastItem=v,t.lastItemId=v.id,o(t.element,T,Q2,X2),E(t.element,Q2),t.lastSelected=Q2,t.lastFocused=X2},B=(T,v,Q2)=>{let X2=W.get(T);if(!X2)return;if(X2.isGroupHeader)return;let t=X2.lastSelected!==v,U2=X2.lastFocused!==Q2;if(t||U2)o(X2.element,T,v,Q2),E(X2.element,v),X2.lastSelected=v,X2.lastFocused=Q2},f=(T)=>{D=T;let v=T.columns;for(let[,Q2]of W)if(Q2.element.style.width=`${T.totalWidth}px`,Q2.cells.length>0)for(let X2=0;X2<Q2.cells.length&&X2<v.length;X2++){let t=Q2.cells[X2],U2=v[X2];t.style.left=`${U2.offset}px`,t.style.width=`${U2.width}px`}},O=(T)=>{return W.get(T)?.element},I=()=>{for(let[,T]of W)V.release(T.element);W.clear(),m=-1};return{render:a,updatePositions:s,updateItem:h,updateItemClasses:B,getElement:O,updateColumnLayout:f,setGroupHeaderFn:H,clear:I,destroy:()=>{I(),V.clear()}}};var j4=new Set;function z0(Q){if(!Q.columns?.length)throw Error("[vlist] table: columns must be a non-empty array");if(Q.rowHeight===void 0&&Q.estimatedRowHeight===void 0)throw Error("[vlist] table: either rowHeight or estimatedRowHeight is required");let J=null,j=null,q=null,$,K,Y=null,Z=null,M=null,V=!1,W=-1,m=null,D=!1;function S(){if(V||!Y)return;V=!0,Z=Y.getMethod("_getSelectedIds")??null,M=Y.getMethod("_getFocusedIndex")??null}function F(){if(D||!Y)return;D=!0,m=Y.getMethod("_scale:getCompression")??null}let w=[],H={start:0,end:0},E={start:0,end:-1};function b(){if($.destroyed||!Y||!q||!J)return;let{containerSize:A,totalItems:z}=$;if(A<=0||z===0)return;let X=z+1;if(X!==W)W=X,Y.dom.root.setAttribute("aria-rowcount",`${X}`);F();let G=$.scrollPosition,L=m?.()??null,p=L!==null&&L.isCompressed,R=Y.config.overscan,d,g;if(p)x2(G,A,K,z,L,E),d=Math.max(0,E.start-R),g=Math.min(z-1,E.end+R);else{let P=K.indexAtOffset(G),y=K.indexAtOffset(G+A);if(y<z-1)y++;P=Math.max(0,P),y=Math.min(z-1,y),d=Math.max(0,P-R),g=Math.min(z-1,y+R)}if(d===$.prevRangeStart&&g===$.prevRangeEnd&&!$.renderPending)return;S();let x=Z?.()??j4,l=M?.()??-1;w.length=0;for(let P=d;P<=g;P++){let y=Y.getItem(P);if(y)w.push(y)}H.start=d,H.end=g;let c;if(p)c={scrollPosition:G,totalItems:z,containerSize:A,rangeStart:d,compression:L};q.render(w,H,x,l,c),$.prevRangeStart=d,$.prevRangeEnd=g,$.renderPending=!1;let o=g-d+1;$.visibleCount=Math.min(o,$.capacity),$.startIndex=d;for(let P=0;P<$.visibleCount;P++){let y=d+P;$.visibleIndices[P]=y,$.visibleOffsets[P]=K.getOffset(y),$.visibleSizes[P]=K.getSize(y)}let r=K.getTotalSize();$.totalSize=r,Y.dom.content.style.height=r+"px"}function _(){if($.destroyed)return;$.prevRangeStart=-1,$.prevRangeEnd=-1,$.renderPending=!0,b()}return{name:"table",priority:10,conflicts:["grid","masonry"],setup(A){Y=A,$=A.getState(),K=A.sizeCache;let{dom:z,config:X,emitter:G}=A,{classPrefix:L}=X;if(X.axis.primary==="x")throw Error("[vlist] table: cannot be used with horizontal orientation");if(X.reverse)throw Error("[vlist] table: cannot be used with reverse mode");let p=Q.resizable??!0,R=Q.minColumnWidth??50,d=Q.maxColumnWidth??1/0,g=Q.rowBorders??!0,x=Q.rowHeight,l=Q.headerHeight??(typeof x==="number"?x:40),c=Q.sort?.key??null,o=Q.sort?.direction??"asc";if(J=L1(Q.columns,R,d,p),typeof x==="function"||typeof x==="number")A.setSizeConfig(x);if(A.rebuildSizeCache(),z.root.classList.add(`${L}--table`),g)z.root.classList.add(`${L}--table-row-borders`);if(Q.columnBorders)z.root.classList.add(`${L}--table-col-borders`);queueMicrotask(()=>{if(A.getMethod("_getSelectedIds"))z.root.setAttribute("tabindex","0")}),z.root.setAttribute("role","grid"),z.root.setAttribute("aria-colcount",`${Q.columns.length}`),z.viewport.setAttribute("role","none"),z.content.setAttribute("role","rowgroup");let r=$.crossSize;J.resolve(r);let P=()=>{if(!J)return;z.content.style.minWidth=`${J.totalWidth}px`},y=(h,B)=>{if(!J)return;let f=J.getColumn(h);if(!f)return;let O=f.width,I=J.resizeColumn(h,B);j?.update(J),q?.updateColumnLayout(J),P(),G.emit("column:resize",{key:f.def.key,index:h,previousWidth:O,width:I})},U=(h)=>{c=h.direction===null?null:h.key,o=h.direction??"asc",j?.updateSort(c,o),G.emit("column:sort",h)};if(j=F1(z.root,l,L,y,U),j.rebuild(J),c)j.updateSort(c,o);P(),q=E1(z.content,()=>K,J,Q.columns,L,L,()=>$.totalItems,X.striped||void 0),A.setRenderFn(b,_);let u=j,a=-1,s=()=>{let h=z.viewport.scrollLeft;if(h!==a)a=h,u?.syncScroll?.(h)};z.viewport.addEventListener("scroll",s,{passive:!0}),A.registerMethod("updateColumns",(h)=>{if(!J||!j)return;if(J.updateColumns(h),J.resolve($.crossSize),j.rebuild(J),c)j.updateSort(c,o);P(),q?.updateColumnLayout(J),q?.clear(),A.forceRender()}),A.registerMethod("resizeColumn",(h,B)=>{if(!J)return;let f;if(typeof h==="string"){let O=J.columns;f=-1;for(let I=0;I<O.length;I++)if(O[I].def.key===h){f=I;break}if(f===-1)return}else f=h;y(f,B)}),A.registerMethod("getColumnWidths",()=>{if(!J)return{};let h={},B=J.columns;for(let f=0;f<B.length;f++)h[B[f].def.key]=B[f].width;return h}),A.registerMethod("setSort",(h,B)=>{c=h,o=B??"asc",j?.updateSort(c,o)}),A.registerMethod("getSort",()=>{return{key:c,direction:o}}),A.registerMethod("_getTableLayout",()=>J),A.registerMethod("_getTableHeaderHeight",()=>l),A.registerMethod("_updateRenderedItem",(h,B,f,O)=>{q?.updateItem(h,B,f,O)}),A.registerMethod("_replaceTableRenderer",(h)=>{q=h}),A.registerMethod("_updateTableForGroups",(h,B)=>{q?.setGroupHeaderFn(h,B)}),A.registerMethod("_updateItemClasses",(h,B,f)=>{q?.updateItemClasses(h,B,f)}),A.registerKeydownHandler((h)=>{if(h.key!=="ArrowLeft"&&h.key!=="ArrowRight")return;if(!J)return;let B=J.columns;if(B.length===0)return;let f=z.viewport.clientWidth;if(J.totalWidth<=f)return;let O=z.viewport.scrollLeft;if(h.key==="ArrowRight"){for(let I=0;I<B.length;I++)if(B[I].offset>O+1){z.viewport.scrollLeft=B[I].offset,h.preventDefault();return}}else{for(let I=B.length-1;I>=0;I--)if(B[I].offset<O-1){z.viewport.scrollLeft=B[I].offset,h.preventDefault();return}if(O>0)z.viewport.scrollLeft=0,h.preventDefault()}}),A.registerDestroyHandler(()=>{z.viewport.removeEventListener("scroll",s),j?.destroy(),j=null,q?.destroy(),q=null,z.content.style.minWidth="",z.root.classList.remove(`${L}--table`),z.root.classList.remove(`${L}--table-row-borders`),z.root.classList.remove(`${L}--table-col-borders`),z.root.removeAttribute("role"),z.root.removeAttribute("aria-colcount"),z.root.removeAttribute("aria-rowcount"),z.root.removeAttribute("tabindex"),z.viewport.removeAttribute("role"),z.content.removeAttribute("role")})},hooks:{onResize(A,z){if(!J||!Y)return;let X=$.crossSize;if(J.resolve(X),j?.update(J),q?.updateColumnLayout(J),J)Y.dom.content.style.minWidth=`${J.totalWidth}px`},onAfterScroll(){if(!Y||!j)return;j?.syncScroll?.(Y.dom.viewport.scrollLeft)}},destroy(){j?.destroy(),j=null,q?.destroy(),q=null,Y=null}}}function P0(Q){let J=Q?.handle??null,j=Q?.ghostClass??"vlist-sort-ghost",q=Q?.shiftDuration??150,$=Q?.edgeScrollZone??40,K=Q?.edgeScrollSpeed??20,Y=Q?.dragThreshold??5,Z=Q?.ghostContainer??null,M,V,W=null,m,D,S,F,w,H,E,b,_,A,z=!1,X=-1,G=-1,L=0,p=0,R=0,d=0,g=!1,x=null,l=0,c=null,o=0,r=0,P=0,y=null,U=!1,u="",a=-1,s=-1,h=[],B="",f=null,O=null,I="",e=!1,T=(N)=>{return N.closest("[data-index]")},v=(N)=>{let $2=N.dataset.index;return $2===void 0?-1:+$2},Q2=(N)=>{let $2=N.getBoundingClientRect(),K2=N.cloneNode(!0);return K2.className=`${F}-item ${j}`,K2.removeAttribute("data-index"),K2.style.cssText=`position:fixed;pointer-events:none;z-index:10000;width:${$2.width}px;height:${$2.height}px;left:${$2.left}px;top:${$2.top}px;transition:none;will-change:transform`,(Z||document.body).appendChild(K2),K2},X2=()=>{if(!x)return;x.style.left=`${R-r}px`,x.style.top=`${d-P}px`},t=()=>{let N=M.totalItems;if(N===0)return 0;let $2=D.getBoundingClientRect(),K2=M.scrollPosition,i=w?R-r-$2.left+D.scrollLeft+K2:d-P-$2.top+K2,q2=i+o,N2=V.getOffset(X)+V.getSize(X);if(q2>N2){let w2=V.indexAtOffset(q2),v2=V.getOffset(w2)+V.getSize(w2)/2,f2=q2>v2?w2:w2-1;return Math.min(Math.max(f2,X),N-1)}let E2=V.getOffset(X);if(i<E2){let w2=V.indexAtOffset(i),v2=V.getOffset(w2)+V.getSize(w2)/2,f2=i<v2?w2:w2+1;return Math.max(Math.min(f2,X),0)}return X},U2=()=>{let N=m.children,$2=o;for(let K2=0;K2<N.length;K2++){let i=N[K2],q2=v(i);if(q2<0||q2===X)continue;let N2=0;if(G>X){if(q2>X&&q2<=G)N2=-$2}else if(G<X){if(q2>=G&&q2<X)N2=$2}let E2=V.getOffset(q2),w2=Math.round(E2+N2);i.style.transition=E,i.style.transform=`${H}(${w2}px)`}},M2=()=>{let N=m.children;for(let $2=0;$2<N.length;$2++){let K2=N[$2],i=v(K2);if(i>=0)K2.style.transform=`${H}(${Math.round(V.getOffset(i))}px)`;K2.style.transition=""}},z2=()=>{if(!W)return;let N=t();if(N===G)return;G=N,U2(),W.emitter.emit("sort:move",{fromIndex:X,currentIndex:G})},O2=()=>{let N=D.getBoundingClientRect();if(w)return R<N.left||R>N.right;return d<N.top||d>N.bottom},H2=()=>{let N=W?.getMethod("_getFocusedIndex");return N?N():-1},C=(N)=>{let $2=W?.getMethod("_focusById");if($2)$2(N)},n=(N)=>{if(!W)return;let $2=w?D.clientWidth:D.clientHeight,K2=M.scrollPosition,i=V.getOffset(N),q2=i+V.getSize(N);if(i<K2)W.scrollTo(Math.max(0,i));else if(q2>K2+$2)W.scrollTo(q2-$2)},J2=(N)=>{if(!O)return;O.textContent="",O.offsetHeight,O.textContent=N},Z2=(N)=>{if(!W)return"";let K2=W.getItems()[N];if(!K2)return"";return m.querySelector(`[data-index="${N}"]`)?.textContent?.trim()||String(K2.id)},_2=()=>String(M.totalItems),j2=(N)=>{let $2=m.children;for(let K2=0;K2<$2.length;K2++)$2[K2].style.transition=N},L2=()=>{let N=()=>{if(!z||!W)return;let $2=D.getBoundingClientRect(),K2=0,i=3;if(w){let N2=R-$2.left,E2=$2.right-R;if(N2<$){let w2=Math.min(i,1-N2/$);K2=-K*w2*w2}else if(E2<$){let w2=Math.min(i,1-E2/$);K2=K*w2*w2}}else{let N2=d-$2.top,E2=$2.bottom-d;if(N2<$){let w2=Math.min(i,1-N2/$);K2=-K*w2*w2}else if(E2<$){let w2=Math.min(i,1-E2/$);K2=K*w2*w2}}let q2=O2();if(K2!==0){let N2=M.scrollPosition,E2=V.getTotalSize()-(w?D.clientWidth:D.clientHeight);if(K2<0&&N2<=0||K2>0&&N2>=E2)e=q2;else e=!0,W.scrollTo(N2+K2)}else e=q2;l=requestAnimationFrame(N)};l=requestAnimationFrame(N)},T2=()=>{if(l)cancelAnimationFrame(l),l=0},F2=(N=!1)=>{if(z=!1,g=!1,x&&x.parentNode)x.remove();x=null,c=null;let $2=m.children;for(let i=0;i<$2.length;i++){let q2=$2[i];q2.classList.remove(A);let N2=v(q2);if(N2>=0)q2.style.transform=`${H}(${Math.round(V.getOffset(N2))}px)`;q2.style.transition=""}T2(),S.classList.remove(b),document.body.style.cursor="";let K2=window.getSelection();if(K2)K2.removeAllRanges();if(document.removeEventListener("pointermove",B2),document.removeEventListener("pointerup",G2),document.removeEventListener("pointercancel",W2),!N&&W)W.forceRender()},k2=(N,$2)=>{if(!W)return;let K2=N!==$2&&N>=0&&$2>=0,i=()=>{if(!W)return;if(z=!1,K2){if(S.classList.add(_),W.emitter.emit("sort:end",{fromIndex:N,toIndex:$2}),y!==null)C(y);F2(!0),requestAnimationFrame(()=>S.classList.remove(_))}else S.classList.add(_),W.emitter.emit("sort:cancel",{originalItems:[...W.getItems()]}),F2(!1),requestAnimationFrame(()=>S.classList.remove(_))};if(!x){i();return}let q2=D.getBoundingClientRect(),N2=M.scrollPosition,E2=V.getOffset($2),w2=q>0?q:150;if(x.style.transition=`left ${w2}ms ease, top ${w2}ms ease`,w)x.style.left=`${q2.left-D.scrollLeft+E2-N2}px`,x.style.top=`${q2.top}px`;else x.style.left=`${q2.left}px`,x.style.top=`${q2.top+E2-N2}px`;let v2=!1,f2=()=>{if(v2)return;v2=!0,x?.removeEventListener("transitionend",f2),i()};x.addEventListener("transitionend",f2),setTimeout(f2,w2+50)},b2=(N)=>{if(M.destroyed||!W)return;if(z)return;if(U)R2();if(N.button!==0)return;let $2=N.target;if(J){if(!$2.closest(J))return}let K2=T($2);if(!K2)return;let i=v(K2);if(i<0)return;L=N.clientX,p=N.clientY,R=N.clientX,d=N.clientY,X=i,g=!1,c=K2;let q2=K2.getBoundingClientRect();r=N.clientX-q2.left,P=N.clientY-q2.top,document.addEventListener("pointermove",B2),document.addEventListener("pointerup",G2),document.addEventListener("pointercancel",W2)};function B2(N){if(!W)return;if(R=N.clientX,d=N.clientY,!g){let $2=R-L,K2=d-p;if(Math.sqrt($2*$2+K2*K2)<Y)return;if(g=!0,z=!0,G=X,S.classList.add(b),document.body.style.cursor="grabbing",o=V.getSize(X),c)x=Q2(c),c.classList.add(A);let i=H2();if(i>=0){let N2=W.getItems()[i];y=N2?N2.id:null}else y=null;W.emitter.emit("sort:start",{index:X}),L2()}if(z){if(N.preventDefault(),X2(),!e)z2();else if(O2()){if(G!==X)G=X,M2()}}}function G2(N){if(!g){document.removeEventListener("pointermove",B2),document.removeEventListener("pointerup",G2),document.removeEventListener("pointercancel",W2),c=null;return}N.preventDefault(),document.removeEventListener("pointermove",B2),document.removeEventListener("pointerup",G2),document.removeEventListener("pointercancel",W2),T2(),k2(X,G)}let P2=()=>{if(!g)return;document.removeEventListener("pointermove",B2),document.removeEventListener("pointerup",G2),document.removeEventListener("pointercancel",W2),T2(),M2(),k2(X,X)};function W2(){P2()}let A2=()=>{let N=m.querySelectorAll(`.${I}`);for(let $2=0;$2<N.length;$2++)N[$2].classList.remove(I)},k=()=>{A2();let N=m.querySelector(`[data-id="${u}"]`);if(N)N.classList.add(I)},Y2=(N)=>{if(!W)return;let $2=W.getItems(),K2=$2[N];if(!K2)return;U=!0,u=K2.id,a=N,s=N,h=[...$2],S.classList.add(b),W.emitter.emit("sort:start",{index:N}),k(),J2(`Grabbed ${Z2(N)}. Current position ${N+1} of ${_2()}. Use Up and Down arrow keys to move, Space to drop, Escape to cancel.`)},D2=()=>{if(!U||!W)return;U=!1;let N=s,$2=Z2(N);j2("none"),S.classList.remove(b),A2(),C(u),W.forceRender(),J2(`${$2} dropped. Final position ${N+1} of ${_2()}.`),h=[],requestAnimationFrame(()=>j2(""))},R2=()=>{if(!U||!W)return;U=!1;let N=a;if(j2("none"),S.classList.remove(b),A2(),s!==N)W.emitter.emit("sort:cancel",{originalItems:h});C(u),W.forceRender(),n(N),J2(`Reorder cancelled. Returned to position ${N+1} of ${_2()}.`),h=[],requestAnimationFrame(()=>j2(""))},y2=(N)=>{if(!U||!W)return;let $2=M.totalItems,K2=s+N;if(K2<0||K2>=$2)return;let i=s,q2=K2;j2("none"),W.emitter.emit("sort:end",{fromIndex:i,toIndex:q2}),s=q2,C(u),W.forceRender(),n(q2),k(),J2(`${Z2(q2)} moved. New position ${q2+1} of ${_2()}.`),requestAnimationFrame(()=>j2(""))},V2=(N)=>{if(M.destroyed)return;if(z){if(N.key==="Escape")N.preventDefault(),N.stopImmediatePropagation(),P2();return}if(U)switch(N.key){case" ":case"Enter":N.preventDefault(),N.stopImmediatePropagation(),D2();return;case"Escape":N.preventDefault(),N.stopImmediatePropagation(),R2();return;case"ArrowUp":case"ArrowLeft":N.preventDefault(),N.stopImmediatePropagation(),y2(-1);return;case"ArrowDown":case"ArrowRight":N.preventDefault(),N.stopImmediatePropagation(),y2(1);return;default:if(!N.key.startsWith("F")&&N.key!=="Tab")N.preventDefault(),N.stopImmediatePropagation();return}if(N.key===" "&&!N.shiftKey&&!N.ctrlKey&&!N.metaKey){let $2=H2();if($2>=0)N.preventDefault(),N.stopImmediatePropagation(),Y2($2)}};return{name:"sortable",priority:30,conflicts:["grid","masonry","table","scale","tree"],setup(N){W=N,M=N.getState(),V=N.sizeCache,m=N.dom.content,D=N.dom.viewport,S=N.dom.root,F=N.config.classPrefix,w=N.config.axis.primary==="x",H=w?"translateX":"translateY",E=q>0?`transform ${q}ms ease`:"none",b=`${F}--sorting`,_=`${F}--settling`,A=`${F}-item--drag-source`,I=`${F}-item--kb-sorting`,N.registerMethod("isSorting",()=>z||U),m.addEventListener("pointerdown",b2),S.addEventListener("keydown",V2),B=`${F}-sort-instructions`,f=document.createElement("div"),f.id=B,f.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",f.textContent="Press Space to reorder. Use arrow keys to move, Space to drop, Escape to cancel.",S.appendChild(f),O=document.createElement("div"),O.setAttribute("role","status"),O.setAttribute("aria-live","assertive"),O.setAttribute("aria-atomic","true"),O.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.appendChild(O),N.registerDestroyHandler(()=>{if(U)R2();F2(),m.removeEventListener("pointerdown",b2),S.removeEventListener("keydown",V2),f?.remove(),O?.remove()})},hooks:{onCommit(){if(!W)return;let N=m.children;for(let $2=0;$2<N.length;$2++){let K2=N[$2],i=v(K2);if(i<0)continue;if(K2.setAttribute("aria-roledescription","sortable item"),K2.setAttribute("aria-describedby",B),U)if(K2.getAttribute("data-id")===String(u))K2.classList.add(I);else K2.classList.remove(I);if(z)if(i===X)K2.classList.add(A),c=K2;else{K2.classList.remove(A);let q2=0;if(G>X){if(i>X&&i<=G)q2=-o}else if(G<X){if(i>=G&&i<X)q2=o}let N2=Math.round(V.getOffset(i)+q2);K2.style.transform=`${H}(${N2}px)`}}}},destroy(){if(x&&x.parentNode)x.remove();x=null,T2(),f?.remove(),O?.remove(),W=null}}}function y0(Q,J){let j=[],q=J,$=new Map,K=[];function Y(){$.clear();for(let X=0;X<j.length;X++)$.set(j[X].id,X)}function Z(X){let G=j[X].depth,L=0;for(let p=X+1;p<j.length;p++){if(j[p].depth<=G)break;L++}return L}function M(X,G,L,p){for(let R=0;R<X.length;R++){let d=X[R],g=d.id,x=Q(d),l=x.length>0,c=l&&q.has(g);if(p.push({item:d,id:g,depth:L,parentId:G,hasChildren:l,expanded:c,childCount:x.length,siblingCount:X.length,positionInSiblings:R,isLastChild:R===X.length-1,loading:!1}),c)M(x,g,L+1,p)}}function V(X,G,L){for(let p of X){if(p.id===G)return p;let R=Q(p);if(R.length>0){L?.push(p.id);let d=V(R,G,L);if(d)return d;L?.pop()}}return}function W(X,G){if(G===null)return K;let L=V(K,G);return L?Q(L):[]}function m(X,G){let L=V(K,G);if(!L)return!1;return V(Q(L),X)!==void 0}function D(X){let G=new Set;function L(p){for(let R of p){if(G.has(R.id))throw Error(`[vlist] tree: duplicate id "${R.id}"`);G.add(R.id);let d=Q(R);if(d.length>0)L(d)}}L(X)}function S(X,G){if(K=X,!G)D(X);j.length=0,M(X,null,0,j),Y()}function F(X){let G=$.get(X);if(G===void 0)return 0;let L=j[G];if(!L.hasChildren||L.expanded)return 0;let p=[],R=Q(L.item);if(M(R,X,L.depth+1,p),p.length===0)return 0;L.expanded=!0,q.add(X);let d=G+1,g=j.splice(d);for(let x=0;x<p.length;x++)j.push(p[x]);for(let x=0;x<g.length;x++)j.push(g[x]);return Y(),p.length}function w(X){let G=$.get(X);if(G===void 0)return 0;let L=j[G];if(!L.hasChildren||!L.expanded)return 0;L.expanded=!1,q.delete(X);let p=Z(G);if(p>0)j.splice(G+1,p),Y();return p}function H(X){function G(L){for(let p of L){let R=Q(p);if(R.length>0)q.add(p.id),G(R)}}G(X),S(X)}function E(){q.clear(),S(K,!0)}function b(X){let G=[];if(!V(K,X,G))return;for(let L of G)q.add(L);S(K,!0)}function _(X,G,L){if($.has(G.id)||V(K,G.id))throw Error(`[vlist] tree: duplicate id "${G.id}"`);if(X===null){let x=K,l=L??x.length;x.splice(l,0,G),S(K,!0);return}let p=$.get(X);if(p===void 0)throw Error(`[vlist] tree: parent "${X}" not found`);let R=j[p],d=Q(R.item),g=L??d.length;if(d.splice(g,0,G),!R.hasChildren)R.hasChildren=!0,R.childCount=1,R.expanded=!1;else R.childCount=d.length;if(R.expanded)S(K,!0);else Y()}function A(X){let G=$.get(X);if(G===void 0)return 0;let L=j[G],R=Z(G)+1;for(let x=G;x<G+R;x++)q.delete(j[x].id);if(j.splice(G,R),L.parentId!==null){let x=$.get(L.parentId);if(x!==void 0){let l=j[x];if(l.childCount--,l.childCount===0)l.hasChildren=!1,l.expanded=!1,q.delete(l.id)}}let d=W(X,L.parentId),g=d.findIndex((x)=>x.id===X);if(g>=0)d.splice(g,1);return S(K,!0),R}function z(X,G,L){if(G!==null&&m(G,X))throw Error(`[vlist] tree: cannot move "${X}" to its own descendant "${G}"`);if(X===G)throw Error(`[vlist] tree: cannot move "${X}" to itself`);let p=$.get(X);if(p===void 0)return;let R=j[p],d=W(X,R.parentId),g=d.findIndex((x)=>x.id===X);if(g>=0)d.splice(g,1);if(G===null){let x=K,l=L??x.length;x.splice(l,0,R.item)}else{let x=V(K,G);if(!x)throw Error(`[vlist] tree: new parent "${G}" not found`);let l=Q(x),c=L??l.length;l.splice(c,0,R.item)}S(K,!0)}return{flatNodes:j,expandedIds:q,idToIndex:$,rebuild:S,expand:F,collapse:w,expandAll:H,collapseAll:E,expandTo:b,getSubtreeSize:Z,addChild:_,removeNode:A,moveNode:z,get totalVisible(){return j.length},get rootItems(){return K}}}var q4=()=>[];function Z4(Q){let{children:J,parentId:j}=Q;if(j!==void 0)return q4;if(J===void 0||J==="children")return(q)=>q.children??[];if(typeof J==="string"){let q=J;return($)=>$[q]??[]}return J}function K4(Q){let{label:J}=Q;if(J===void 0)return(j)=>{let q=j;return String(q.name??q.label??q.title??j.id)};if(typeof J==="string"){let j=J;return(q)=>String(q[j]??q.id)}return J}function Y4(Q,J,j){let{expanded:q}=Q,$=new Set;if(q===void 0||q===!1)return $;if(Array.isArray(q)){for(let Z of q)$.add(Z);return $}let K=q===!0?null:q;function Y(Z){for(let M of Z){let V=j(M);if(V.length>0){if(!K||K(M))$.add(M.id);Y(V)}}}return Y(J),$}function R1(Q,J){let{parentId:j}=J;if(j===void 0)throw Error("[vlist] tree: parentId not set");let q=typeof j==="string"?(Z)=>Z[j]??null:j,$=(Z)=>q(Z)??null,K=new Map,Y=new Map;for(let Z of Q){Y.set(Z.id,Z);let M=$(Z),V=K.get(M);if(!V)V=[],K.set(M,V);V.push(Z)}for(let Z of Q){let M=$(Z);if(M!==null&&M!==void 0&&!Y.has(M))console.warn(`[vlist] tree: orphaned node "${Z.id}" — parentId "${M}" not found`)}return{roots:K.get(null)??[],getChildren:(Z)=>{let M=K.get(Z.id);if(!M)M=[],K.set(Z.id,M);return M}}}var g2={selected:!1,focused:!1},l2={depth:0,expanded:!1,hasChildren:!1,isLeaf:!0,isLastChild:!1,loading:!1};g2.tree=l2;function w0(Q){let J=Q??{},j=J.indent??24,q=J.paddingStart??0,$=J.expandOnClick??!1,K=J.connectorLines??!1,Y=J.parentId!==void 0,Z,M,V,W,m,D,S,F,w,H,E=null,b,_,A,z=null,X=!1,G,L,p,R,d,g,x,l=new Map,c=-1,o=-1,r=-1,P=!0,y=null,U=!1,u,a=-1,s=!1,h=!1,B="",f=null,O={start:0,end:-1};function I(){if(X)return;X=!0,z=b("_scale:getCompression")??null}function e(){if(h){let k=b("_getFocusedIndex");return k?k():-1}return s?a:-1}let T,v,Q2;function X2(){if(v!==void 0)return;T=b("select")??null,v=b("_focusById")??null,Q2=b("_isFollowFocus")??null}function t(k){if(k<0||k>=Z.totalVisible)return;let Y2=Z.flatNodes[k];if(!Y2)return;if(h){if(X2(),v)v(Y2.id);if(Q2?.()&&T)T(Y2.id);else z2();U2(k)}else a=k,s=!0,m.setAttribute("aria-activedescendant",`${w}-item-${k}`),U2(k),z2()}function U2(k){let Y2=M.getOffset(k),D2=M.getSize(k),R2=V.scrollPosition,y2=V.containerSize;if(Y2<R2)M2(Y2);else if(Y2+D2>R2+y2)M2(Y2-y2+D2)}let M2,z2,O2;function H2(k){return F?`translate(${Math.round(k)}px, 0)`:`translate(0, ${Math.round(k)}px)`}function C(k){if(k===r)return;r=k,m.style[F?"width":"height"]=k+"px"}function n(){l.forEach((k)=>{k.remove(),W.release(k)}),l.clear()}let J2=0;function Z2(){let k=O2();if(k===y&&k.length===J2)return;if(y=k,J2=k.length,Y){let{roots:Y2,getChildren:D2}=R1(k,J),R2=J.loadChildren?(y2)=>L2.get(y2.id)??D2(y2):D2;Z=y0(R2,Z.expandedIds),Z.rebuild(Y2,!0)}else Z.rebuild(k,!0);_2(),n()}function _2(){V.totalItems=Z.totalVisible,u(Z.totalVisible);let k=M.getTotalSize();C(k);let Y2=b("_scrollbar:getInstance");if(Y2)Y2()?.updateBounds(k,V.containerSize)}function j2(){_2(),n(),z2()}let L2=new Map,T2=new Set;async function F2(k){if(!J.loadChildren||T2.has(k))return;let Y2=Z.idToIndex.get(k);if(Y2===void 0)return;let D2=Z.flatNodes[Y2];T2.add(k),D2.loading=!0,queueMicrotask(()=>z2());try{let R2=await J.loadChildren(D2.item);T2.delete(k);let y2=Z.idToIndex.get(k);if(y2===void 0)return;let V2=Z.flatNodes[y2];if(V2.loading=!1,L2.set(k,R2),V2.hasChildren=R2.length>0,V2.childCount=R2.length,R2.length>0)V2.expanded=!0,Z.expandedIds.add(k),Z.rebuild(Z.rootItems);j2(),_.emit("tree:load",{id:k,item:V2.item,children:R2})}catch(R2){T2.delete(k),L2.set(k,[]);let y2=Z.idToIndex.get(k);if(y2!==void 0)Z.flatNodes[y2].loading=!1;z2(),_.emit("tree:load:error",{id:k,item:D2.item,error:R2})}}function k2(k){let Y2=Z.idToIndex.get(k);if(Y2===void 0)return;let D2=Z.flatNodes[Y2];if(J.loadChildren&&!D2.hasChildren&&!D2.loading){if(!L2.has(k)){F2(k);return}}if(Z.expand(k)===0)return;j2(),_.emit("tree:expand",{id:k,item:D2.item,depth:D2.depth})}function b2(k){let Y2=Z.idToIndex.get(k);if(Y2===void 0)return;let D2=Z.flatNodes[Y2],R2=Z.collapse(k);if(R2===0)return;if(!h&&a>Y2){if(a<=Y2+R2)a=Y2;else a-=R2;if(s)m.setAttribute("aria-activedescendant",`${w}-item-${a}`)}j2(),_.emit("tree:collapse",{id:k,item:D2.item,depth:D2.depth})}function B2(k,Y2,D2,R2){let{depth:y2,expanded:V2,hasChildren:N,loading:$2,siblingCount:K2,positionInSiblings:i,isLastChild:q2,id:N2}=Y2;if(k.className=G,V2)k.classList.add(L);if(!N)k.classList.add(p);if($2)k.classList.add(R);if(K&&q2)k.classList.add(d);if(k.setAttribute("role","treeitem"),k.setAttribute("data-index",String(D2)),k.setAttribute("data-id",String(N2)),k.id=`${w}-item-${D2}`,k.setAttribute("aria-level",String(y2+1)),k.setAttribute("aria-setsize",String(K2)),k.setAttribute("aria-posinset",String(i+1)),N)k.setAttribute("aria-expanded",String(V2));else k.removeAttribute("aria-expanded");if(k.style.paddingLeft=`${q+y2*j}px`,k.style.setProperty("--vlist-tree-depth",String(y2)),K)k.style.setProperty("--vlist-tree-indent",`${j}px`),k.style.setProperty("--vlist-tree-pad",`${q}px`);if(R2)R2(D2,g2);else g2.selected=!1,g2.focused=!1;l2.depth=y2,l2.expanded=V2,l2.hasChildren=N,l2.isLeaf=!N,l2.isLastChild=q2,l2.loading=$2;let E2=S(Y2.item,D2,g2);if(typeof E2==="string")k.innerHTML=E2;else k.innerHTML="",k.appendChild(E2);p2(k)}function G2(){if(V.destroyed)return;if(Z2(),!U){if(U=!0,m.setAttribute("role","tree"),m.setAttribute("tabindex","0"),D.classList.add(`${w}--tree`),K)D.classList.add(`${w}--tree-lines`)}let{scrollPosition:k,containerSize:Y2}=V;if(!P&&k===c&&Y2===o)return;c=k,o=Y2,P=!1;let D2=Z.totalVisible;if(Y2<=0||D2===0){if(l.size>0)n();return}I();let R2=z?.()??null,y2=R2!==null&&R2.isCompressed,V2,N;if(y2)x2(k,Y2,M,D2,R2,O),V2=Math.max(0,O.start-H),N=Math.min(D2-1,O.end+H);else{let q2=M.indexAtOffset(k),N2=M.indexAtOffset(k+Y2);if(N2<D2-1)N2++;q2=Math.max(0,q2),N2=Math.min(D2-1,Math.max(0,N2)),V2=Math.max(0,q2-H),N=Math.min(D2-1,N2+H)}if(V2===V.prevRangeStart&&N===V.prevRangeEnd&&!V.renderPending)return;l.forEach((q2,N2)=>{if(N2<V2||N2>N)q2.remove(),W.release(q2),l.delete(N2)});let $2=E?.()??null,K2=null;for(let q2=V2;q2<=N;q2++){let N2=Z.flatNodes[q2],E2=l.get(q2);if(E2===void 0){if(E2=W.acquire(),B2(E2,N2,q2,$2),E2.style[F?"width":"height"]=`${M.getSize(q2)}px`,l.set(q2,E2),!K2)K2=document.createDocumentFragment();K2.appendChild(E2)}else if(E2.getAttribute("data-id")!==String(N2.id)||E2.classList.contains(R)!==N2.loading)B2(E2,N2,q2,$2);if(E2.style.transform=y2?H2(u2(q2,k,M,D2,Y2,R2)):H2(M.getOffset(q2)),$2)if($2(q2,g2),E2.classList.toggle(g,g2.selected),E2.classList.toggle(x,g2.focused),g2.selected)E2.setAttribute("aria-selected","true");else E2.removeAttribute("aria-selected");else if(!h){let w2=s&&a===q2;E2.classList.toggle(x,w2)}}if(K2)m.appendChild(K2);C(M.getTotalSize()),V.prevRangeStart=V2,V.prevRangeEnd=N,V.renderPending=!1;let i=0;for(let q2=V2;q2<=N&&i<V.capacity;q2++)V.visibleIndices[i]=q2,V.visibleOffsets[i]=M.getOffset(q2),V.visibleSizes[i]=M.getSize(q2),i++;V.visibleCount=i,V.startIndex=V2}function P2(){if(V.destroyed)return;V.prevRangeStart=-1,V.prevRangeEnd=-1,V.renderPending=!0,P=!0,G2()}function W2(k,Y2){if(B+=k.toLowerCase(),f!==null)clearTimeout(f);f=setTimeout(()=>{B="",f=null},500);let D2=Z.totalVisible;for(let R2=1;R2<=D2;R2++){let y2=(Y2+R2)%D2,V2=Z.flatNodes[y2];if(A(V2.item).toLowerCase().startsWith(B)){t(y2);return}}}function A2(k){let Y2=!1;for(let D2 of Z.flatNodes)if(D2.parentId===k.parentId&&D2.hasChildren&&!D2.expanded)Z.expandedIds.add(D2.id),Y2=!0;if(!Y2)return;Z.rebuild(Z.rootItems,!0),j2()}return{name:"tree",priority:10,conflicts:["groups","grid","masonry","table"],setup(k){M=k.sizeCache,V=k.getState(),W=k.pool,m=k.dom.content,D=k.dom.root,S=k.template,F=k.config.axis.primary==="x",w=k.config.classPrefix,H=k.config.overscan,_=k.emitter,E=k.getItemStateFn.bind(k),b=k.getMethod.bind(k),M2=k.scrollTo.bind(k),z2=k.forceRender.bind(k),O2=k.getItems.bind(k),G=`${w}-item ${w}-tree-node`,L=`${w}-tree-node--expanded`,p=`${w}-tree-node--leaf`,R=`${w}-tree-node--loading`,d=`${w}-tree-node--last`,g=`${w}-item--selected`,x=`${w}-item--focused`;let Y2=k.getItems();y=Y2,J2=Y2.length;let D2,R2;if(Y){let i=R1(Y2,J);D2=i.getChildren,R2=i.roots}else D2=Z4(J),R2=Y2;let y2=J.loadChildren?(i)=>L2.get(i.id)??D2(i):D2;A=K4(J);let V2=Y4(J,R2,y2);Z=y0(y2,V2),Z.rebuild(R2),u=M.rebuild,M.rebuild=(i)=>{u(Z.totalVisible)},M.rebuild(Z.totalVisible),V.totalItems=Z.totalVisible,k.setVirtualTotalFn(()=>Z.totalVisible),k.setGetItemFn((i)=>{let q2=Z.flatNodes[i];return q2?q2.item:void 0}),k.setGetIndexByIdFn((i)=>{return Z.idToIndex.get(i)??-1}),k.setRenderFn(G2,P2),k.registerMethod("_layoutToDataIndex",(i)=>i),k.registerMethod("_dataToLayoutIndex",(i)=>i),k.registerMethod("_getRenderedElement",(i)=>l.get(i)??null),queueMicrotask(()=>{h=!!(b("_getFocusedIndex")||k.getItemStateFn())}),k.setInsertItemFn((i,q2)=>{let N2=O2(),E2=Math.min(q2,N2.length);N2.splice(E2,0,i),J2=N2.length,Z.rebuild(N2),j2()}),k.setRemoveItemFn((i)=>{let q2=Z.idToIndex.get(i),N2=null;if(Y&&q2!==void 0){N2=new Set,N2.add(i);let w2=Z.getSubtreeSize(q2);for(let v2=q2+1;v2<=q2+w2;v2++)N2.add(Z.flatNodes[v2].id)}let E2=Z.removeNode(i);if(E2===0)return-1;if(!h&&q2!==void 0&&a>=q2)a=Math.max(0,Math.min(a-E2,Z.totalVisible-1));if(Y&&N2){let w2=O2();for(let v2=w2.length-1;v2>=0;v2--)if(N2.has(w2[v2].id))w2.splice(v2,1)}return J2=O2().length,j2(),_.emit("data:change",{type:"remove",id:i}),E2}),k.setUpdateItemFn((i,q2)=>{let N2=Z.idToIndex.get(i);if(N2===void 0)return!1;let E2=Z.flatNodes[N2];Object.assign(E2.item,q2);let w2=l.get(N2);if(w2)B2(w2,E2,N2,E?.()??null);return _.emit("data:change",{type:"update",id:i}),!0}),k.registerClickHandler((i)=>{let q2=i.target.closest("[data-index]");if(!q2)return;let N2=parseInt(q2.dataset.index??"-1",10);if(N2<0)return;let E2=Z.flatNodes[N2];if(!E2)return;let w2=E2.id,v2=!1;if($&&(E2.hasChildren||J.loadChildren&&!E2.loading&&!L2.has(w2))){let f2=Z.totalVisible;if(E2.expanded)b2(w2);else k2(w2);v2=Z.totalVisible!==f2}if(h&&v2){if(X2(),v)v(w2);if(T)T(w2)}else if(!h)a=Z.idToIndex.get(w2)??N2,s=!1,m.focus({preventScroll:!0})});let N=()=>{if(V.destroyed||h)return;if(!m.matches(":focus-visible")&&!D.matches(":focus-visible"))return;let i=Z.totalVisible;if(i===0)return;a=a>=0?Math.min(a,i-1):0,s=!0,m.setAttribute("aria-activedescendant",`${w}-item-${a}`),U2(a),P2()};D.addEventListener("focusin",N);let $2=(i)=>{if(V.destroyed||h)return;let q2=i.relatedTarget;if(q2&&D.contains(q2))return;s=!1,m.removeAttribute("aria-activedescendant"),P2()};D.addEventListener("focusout",$2),k.registerKeydownHandler((i)=>{if(V.destroyed)return;let q2=Z.totalVisible;if(q2===0)return;let N2=e();if(N2<0&&!h&&(i.key==="ArrowDown"||i.key==="Home")){t(0),i.preventDefault();return}if(N2<0)return;let E2=Z.flatNodes[N2];if(!E2)return;switch(i.key){case"ArrowRight":{if(E2.hasChildren||J.loadChildren&&!E2.loading)if(!E2.expanded)k2(E2.id);else t(N2+1);i.preventDefault();break}case"ArrowLeft":{if(E2.hasChildren&&E2.expanded)b2(E2.id);else if(E2.parentId!==null){let w2=Z.idToIndex.get(E2.parentId);if(w2!==void 0)t(w2)}i.preventDefault();break}case"*":{A2(E2),i.preventDefault();break}default:{if(!h){if(i.key==="ArrowDown"){if(N2<q2-1)t(N2+1);i.preventDefault();break}if(i.key==="ArrowUp"){if(N2>0)t(N2-1);i.preventDefault();break}if(i.key==="Home"){t(0),i.preventDefault();break}if(i.key==="End"){t(q2-1),i.preventDefault();break}if(i.key==="Enter"){_.emit("item:click",{item:E2.item,index:N2,event:i}),i.preventDefault();break}}if(i.key.length===1&&!i.ctrlKey&&!i.altKey&&!i.metaKey)W2(i.key,N2),i.preventDefault()}}}),k.registerMethod("expand",k2),k.registerMethod("collapse",b2),k.registerMethod("toggle",(i)=>{let q2=Z.idToIndex.get(i);if(q2===void 0)return;if(Z.flatNodes[q2].expanded)b2(i);else k2(i)}),k.registerMethod("expandAll",()=>{Z.expandAll(Z.rootItems),j2()}),k.registerMethod("collapseAll",()=>{Z.collapseAll(),j2()}),k.registerMethod("expandTo",(i)=>{Z.expandTo(i),j2();let q2=Z.idToIndex.get(i);if(q2!==void 0)U2(q2)}),k.registerMethod("getExpanded",()=>Array.from(Z.expandedIds)),k.registerMethod("isExpanded",(i)=>Z.expandedIds.has(i));let K2=Y&&typeof J.parentId==="string"?J.parentId:null;k.registerMethod("addChild",(i,q2,N2)=>{if(K2)q2[K2]=i;if(Y){let E2=O2();E2.push(q2),J2=E2.length}Z.addChild(i,q2,N2),j2(),_.emit("data:change",{type:"add",id:q2.id})}),k.registerMethod("moveNode",(i,q2,N2)=>{if(K2){let E2=Z.idToIndex.get(i);if(E2!==void 0)Z.flatNodes[E2].item[K2]=q2}Z.moveNode(i,q2,N2),j2()}),k.registerMethod("getTreeLayout",()=>({totalVisible:Z.totalVisible,flatNodes:Z.flatNodes})),k.registerDestroyHandler(()=>{if(D.removeEventListener("focusin",N),D.removeEventListener("focusout",$2),n(),D.classList.remove(`${w}--tree`),D.classList.remove(`${w}--tree-lines`),f!==null)clearTimeout(f)})},destroy(){if(l.clear(),f!==null)clearTimeout(f)}}}var U4=50,B4=0.1;function T1(Q){let J=0,j=0,q=0;function $(){return q>0?j/q:0}function K(M){if(J=M,M>B4&&M<U4)j+=M,q++}function Y(){let M=Q.getTotal();if(M===0)return 0;let V=Q.getItemSize();if(V<=0)return 0;let W=Q.getContainerSize();if(W<=0)return 0;let m=Q.getScrollPosition(),D=typeof Q.getColumns==="function"?Q.getColumns():1,F=Math.ceil(M/D)*V,H=Math.min(F,I2)-W,E=F-W,b=H>0?E/H:1,_=m*b,A=Math.ceil((_+W)/V);return Math.min(A*D,M)}function Z(){let M=Q.getTotal(),V=Y();return{progress:M>0?Math.min(100,Math.max(0,V/M*100)):0,velocity:J,velocityAvg:$(),itemCount:V,total:M}}return{getState:Z,onVelocity:K}}async function b1(Q,J,j){let q=j?.key,$;if(Q){let F=Q.getScrollSnapshot;if(typeof F==="function")$=F()}if($&&q)try{sessionStorage.setItem(q,JSON.stringify($))}catch{}let K=i2(q?{autoSave:q}:$?{restore:$}:void 0),Y=J(K),Z=Y.element;if(Z.style.position="absolute",Z.style.inset="0",Z.style.visibility="hidden",j?.ready)await j.ready(Y);else await new Promise((F)=>requestAnimationFrame(()=>F()));let M=j?.delay;if(M&&M>0)await new Promise((F)=>setTimeout(F,M));let V=j?.transition,W=typeof V==="number"?V:V?.fadeIn??0,m=typeof V==="number"?V:V?.fadeOut??0,D=typeof V==="object"?V?.fadeOutDelay??0:0,S=Math.max(W,m+D);if(S>0&&Q){let F=Q.element;Z.style.visibility="",Z.style.opacity="0",Z.offsetHeight,Z.style.transition=`opacity ${W}ms ease`,F.style.transition=`opacity ${m}ms ease ${D}ms`,Z.style.opacity="1",F.style.opacity="0",await new Promise((w)=>{setTimeout(w,S+50)}),Z.style.transition="",Z.style.opacity="",F.style.transition="",F.style.opacity=""}else Z.style.visibility="";if(Z.style.position="",Z.style.inset="",Q)Q.destroy();return Y}export{w0 as tree,O0 as transition,z0 as table,P0 as sortable,i2 as snapshots,A0 as selection,M0 as scrollbar,X0 as scale,b1 as rebuild,H0 as page,F0 as masonry,b0 as groups,D0 as grid,E0 as data,j1 as createVList,T1 as createStats,L0 as autosize,G0 as a11y};