vlist 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.github.md +31 -12
- package/README.md +12 -11
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -1
- package/dist/plugins/a11y/plugin.d.ts +10 -1
- package/dist/plugins/search/index.d.ts +8 -0
- package/dist/plugins/search/match.d.ts +34 -0
- package/dist/plugins/search/plugin.d.ts +84 -0
- package/dist/plugins/search/searchbar.d.ts +57 -0
- package/dist/plugins/selection/plugin.d.ts +7 -0
- package/dist/size.json +1 -1
- package/dist/types.d.ts +29 -0
- package/dist/vlist-search.css +1 -0
- package/package.json +2 -1
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var n2=3,f0="vlist";var t2=50;var S0=50,h0=2,I0=15,p0=6,B0=2000,u0=30000,I2=16000000,s2=150,W0=1,e2=(Q)=>Q<0.5?2*Q*Q:1-(-2*Q+2)**2/2,$0=300;var g0="x",x0=20,V0="_isPlaceholder",S2="__placeholder_";var J0={top:0,right:0,bottom:0,left:0},m0=(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[B,U]=Q;return B===0&&U===0?J0:{top:B,right:U,bottom:B,left:U}}let[J,j,q,$]=Q;return J===0&&j===0&&q===0&&$===0?J0:{top:J,right:j,bottom:q,left:$}},c0=(Q,J)=>J?Q.left+Q.right:Q.top+Q.bottom,d0=(Q,J)=>J?Q.top+Q.bottom:Q.left+Q.right;function l0(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 B=Math.ceil(j/q)+$*2;if(B<=J.capacity)return;let U=B+8,K=new Int32Array(U),M=new Float64Array(U),N=new Float64Array(U);K.set(J.visibleIndices),M.set(J.visibleOffsets),N.set(J.visibleSizes),J.visibleIndices=K,J.visibleOffsets=M,J.visibleSizes=N,J.capacity=U},clear(){J.visibleCount=0,J.startIndex=0}};return J}var v1=(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}},C1=(Q,J)=>{let j=J,q=new Float64Array(0),$=(U)=>{j=U,q=new Float64Array(U+1),q[0]=0;for(let K=0;K<U;K++)q[K+1]=q[K]+Q(K)};$(J);let B=(U)=>{if(j===0)return 0;if(U<=0)return 0;if(U>=q[j])return j-1;let K=0,M=j-1;while(K<M){let N=K+M+1>>>1;if(q[N]<=U)K=N;else M=N-1}return K};return{getOffset:(U)=>{if(U<=0)return 0;if(U>=j)return q[j];return q[U]},getSize:(U)=>Q(U),indexAtOffset:(U)=>B(U),getTotalSize:()=>q[j]??0,getTotal:()=>j,rebuild:(U)=>$(U),isVariable:()=>!0}},Q0=(Q,J)=>{if(typeof Q==="number")return v1(Q,J);return C1(Q,J)},N0=(Q,J,j,q)=>{if(q===0)return 0;if(!Q.isVariable())return Math.ceil(j/Q.getSize(0));let $=0,B=0,U=J;while(U<q&&B<j)B+=Q.getSize(U),$++,U++;return Math.max(1,$)};function r0(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 s0(Q){if(typeof Q==="string"){let J=document.querySelector(Q);if(!J)throw Error(`[vlist] Container not found: ${Q}`);return J}return Q}function a0(Q,J,j,q){let $=j?`${J} ${J}--horizontal`:J,B=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%",K=' role="list"';if(q)K+=` aria-label="${q.replace(/"/g,""")}"`;if(j)K+=' aria-orientation="horizontal"';Q.insertAdjacentHTML("beforeend",`<div class="${$}"><div class="${J}-viewport" style="${B}" tabindex="-1"><div class="${J}-content" style="${U}"${K}></div></div></div>`);let M=Q.lastElementChild,N=M.firstElementChild,V=N.firstElementChild,c=document.createElement("div");return c.className=`${J}-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:N,content:V,liveRegion:c}}function o0(Q){let{state:J,viewport:j,isX:q,wheelEnabled:$,onFrame:B,onIdle:U}=Q,K=Q.idleTimeout||s2,M=Q.scrollTarget??j,N=null,V=null;function c(){let b=q?j.scrollLeft:j.scrollTop;if(Math.abs(b-J.scrollPosition)<0.5)return;J.prevScrollPosition=J.scrollPosition,J.scrollPosition=b,J.scrollDirection=b>J.prevScrollPosition?1:b<J.prevScrollPosition?-1:0,B(),O()}function L(b){if(J.isCompressed)return;let y;if(q){if(Math.abs(b.deltaX)>Math.abs(b.deltaY))return;let C=j.scrollLeft,W=j.scrollWidth-j.clientWidth;if(y=Math.max(0,Math.min(C+b.deltaY*W0,W)),Math.abs(y-C)<1)return;b.preventDefault(),j.scrollLeft=y}else{let C=j.scrollWidth>j.clientWidth;if(C&&Math.abs(b.deltaX)>Math.abs(b.deltaY))return;if(C&&b.deltaX!==0)b.preventDefault(),j.scrollLeft+=b.deltaX;let W=j.scrollTop,D=j.scrollHeight-j.clientHeight;if(y=Math.max(0,Math.min(W+b.deltaY*W0,D)),Math.abs(y-W)<1)return;b.preventDefault(),j.scrollTop=y}J.prevScrollPosition=J.scrollPosition,J.scrollPosition=y,J.scrollDirection=y>J.prevScrollPosition?1:-1,B(),O()}function O(){if(N!==null)clearTimeout(N);N=setTimeout(()=>{N=null,J.scrollDirection=0,U()},K)}function F(){if(V!==null)cancelAnimationFrame(V),V=null}function v(b,y,C,W=e2,D){F();let E=J.scrollPosition,_=typeof b==="function"?b:()=>b,H=_();if(Math.abs(H-E)<1){if(C)C(H);else if(q)j.scrollLeft=H;else j.scrollTop=H;D?.();return}let A=performance.now();function h(k){H=_();let g=k-A,i=Math.min(g/y,1),x=E+(H-E)*W(i);if(C)C(x);else if(q)j.scrollLeft=x;else j.scrollTop=x;if(!C)J.scrollPosition=x;if(B(),i<1)V=requestAnimationFrame(h);else V=null,O(),D?.()}V=requestAnimationFrame(h)}return{attach(){if(M.addEventListener("scroll",c,{passive:!0}),$)M.addEventListener("wheel",L,{passive:!1})},detach(){if(M.removeEventListener("scroll",c),$)M.removeEventListener("wheel",L);if(F(),N!==null)clearTimeout(N),N=null},cancelScroll:F,smoothScrollTo:v}}var a2=[],f1={calculate:a2,commit:a2,afterScroll:a2,idle:a2,resize:a2};function i0(Q){if(Q.length===0)return f1;let J=[],j=[],q=[],$=[],B=[];for(let U=0;U<Q.length;U++){let K=Q[U].hooks;if(K===void 0)continue;if(K.onCalculate!==void 0)J.push(K.onCalculate);if(K.onCommit!==void 0)j.push(K.onCommit);if(K.onAfterScroll!==void 0)q.push(K.onAfterScroll);if(K.onIdle!==void 0)$.push(K.onIdle);if(K.onResize!==void 0)B.push(K.onResize)}return{calculate:J,commit:j,afterScroll:q,idle:$,resize:B}}function n0(Q,J){for(let j=0;j<Q.length;j++)Q[j](J)}function t0(Q,J){for(let j=0;j<Q.length;j++)Q[j](J)}function _0(Q,J,j){for(let q=0;q<Q.length;q++)Q[q](J,j)}function e0(Q){for(let J=0;J<Q.length;J++)Q[J]()}function $1(Q,J,j){for(let q=0;q<Q.length;q++)Q[q](J,j)}function J1(Q,J,j,q,$,B,U,K){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:U,hasCrossPad:M,crossStartProp:M?J?"top":"left":"",crossEndProp:M?J?"bottom":"right":"",crossStartVal:M?q+"px":"",crossEndVal:M?$+"px":"",oddClass:B,emitter:K??null}}function S1(Q,J,j,q,$){if(Q.containerSize<=0||Q.totalItems===0)return Q.clear(),!0;let{scrollPosition:B,containerSize:U,totalItems:K}=Q,M=$??0;Q.totalSize=J.getTotalSize();let N=J.indexAtOffset(M>0?Math.max(0,B-M):B),V=J.indexAtOffset(B+U);if(V<K-1)V++;N=Math.max(0,N),V=Math.min(K-1,Math.max(0,V));let c=Math.max(0,N-j),L=Math.min(K-1,V+j),O=Math.ceil(U/1)+j*2+10,F=L-c+1,v=Math.min(F,Q.capacity,O);if(c===Q.prevRangeStart&&L===Q.prevRangeEnd&&!Q.renderPending)return!1;Q.visibleCount=v,Q.startIndex=c;for(let b=0;b<v;b++){let y=c+b;Q.visibleIndices[b]=y,Q.visibleOffsets[b]=J.getOffset(y),Q.visibleSizes[b]=J.getSize(y)}return n0(q.calculate,Q),Q.prevRangeStart=c,Q.prevRangeEnd=L,Q.renderPending=!1,!0}var C2={selected:!1,focused:!1};function h1(Q,J,j){for(let q=0;q<J;q++)if(Q[q]===j)return!0;return!1}function I1(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 p1(Q,J,j,q,$,B,U,K,M,N){let V=M?null:$(),c=Q.visibleCount,L=Q.visibleIndices,O=U.interactive?String(Q.totalItems):"",F=U.interactive&&Q.totalItems!==Q.prevAriaTotal,v=null;for(let b=0;b<c;b++){let y=L[b],C=Q.visibleOffsets[b],W=Q.visibleSizes[b],D=M?M(y):V[y];if(N)N(y,C2);else C2.selected=!1,C2.focused=!1;let E=B.get(y),_=E;if(E===void 0){let H=J.acquire();if(D!==void 0){let k;try{k=q(D,y,C2)}catch(g){if(U.emitter)U.emitter.emit("error",{error:g instanceof Error?g:Error(String(g)),context:`template:render:${y}`});J.release(H);continue}if(typeof k==="string")H.innerHTML=k;else H.textContent="",H.appendChild(k);p2(H)}if(H.setAttribute("role",U.itemRole),H.setAttribute("data-index",String(y)),U.interactive)H.id=U.prefix+"-item-"+y,H.setAttribute("aria-posinset",String(y+1)),H.setAttribute("aria-setsize",O);if(D!==void 0){let k=String(D.id);if(H.setAttribute("data-id",k),k.startsWith(S2))H.classList.add(U.placeholderClass)}if(U.hasCrossPad)H.style.setProperty(U.crossStartProp,U.crossStartVal),H.style.setProperty(U.crossEndProp,U.crossEndVal);if(N){if(H.classList.toggle(U.selectedClass,C2.selected),H.classList.toggle(U.focusedClass,C2.focused),C2.selected)H.setAttribute("aria-selected","true");else H.removeAttribute("aria-selected");H._lastSelected=C2.selected,H._lastFocused=C2.focused}if(U.oddClass)H.classList.toggle(U.oddClass,(y&1)===1);let A=C+U.startPadding;H.style.transform=U.translateProp+A+"px)",H._lastOffset=A;let h=W-U.gap;if(H.style[U.sizeProp]=h+"px",H._lastSize=h,H._lastItem=D,B.set(y,H),v===null)v=document.createDocumentFragment();v.appendChild(H)}else{if(F)E.setAttribute("aria-setsize",O);if(D!==void 0&&_._lastItem!==D){let h=E.getAttribute("data-id"),k=String(D.id),g;try{g=q(D,y,C2)}catch(i){if(U.emitter)U.emitter.emit("error",{error:i instanceof Error?i:Error(String(i)),context:`template:render:${y}`});continue}if(typeof g==="string")E.innerHTML=g;else E.textContent="",E.appendChild(g);if(p2(E),E.setAttribute("data-id",k),_._lastItem=D,h!==k){let i=h!==null&&h.startsWith(S2),x=k.startsWith(S2);if(i!==x)E.classList.toggle(U.placeholderClass,x);if(i&&!x)E.classList.add(U.replacedClass),setTimeout(()=>{E.classList.remove(U.replacedClass)},300)}}if(N){if(_._lastSelected!==C2.selected){if(E.classList.toggle(U.selectedClass,C2.selected),C2.selected)E.setAttribute("aria-selected","true");else E.removeAttribute("aria-selected");_._lastSelected=C2.selected}if(_._lastFocused!==C2.focused)E.classList.toggle(U.focusedClass,C2.focused),_._lastFocused=C2.focused}let H=C+U.startPadding;if(_._lastOffset!==H)E.style.transform=U.translateProp+H+"px)",_._lastOffset=H;let A=W-U.gap;if(_._lastSize!==A)E.style[U.sizeProp]=A+"px",_._lastSize=A}}if(v!==null)j.appendChild(v);if(c>0&&I1(L,c)){let b=L[0],y=L[c-1];for(let[C,W]of B)if(C<b||C>y)W.remove(),J.release(W),B.delete(C)}else for(let[b,y]of B)if(!h1(L,c,b))y.remove(),J.release(y),B.delete(b);if(U.interactive)Q.prevAriaTotal=Q.totalItems;t0(K.commit,Q)}function X0(Q,J,j,q,$,B,U,K,M,N,V,c){if(S1(Q,J,j,N,M.startPadding))p1(Q,q,$,B,U,K,M,N,V,c)}var M0=()=>{let Q={},J=(B,U)=>{if(!Q[B])Q[B]=new Set;return Q[B].add(U),()=>j(B,U)},j=(B,U)=>{Q[B]?.delete(U)};return{on:J,off:j,emit:(B,U)=>{Q[B]?.forEach((K)=>{try{K(U)}catch(M){console.error(`[vlist] Error in event handler for "${String(B)}":`,M)}})},clear:(B)=>{if(B)delete Q[B];else for(let U in Q)delete Q[U]}}};var Q1=2,j1=(Q=0)=>({velocity:0,sampleCount:0}),q1=(Q,J)=>{let j=performance.now(),q=Q._lt??j,$=Q._lp??J,B=j-q;if(Q._lp=J,Q._lt=j,B===0)return Q.sampleCount=Math.min(Q.sampleCount+1,5),Q;if(B>100)return Q.velocity=0,Q.sampleCount=1,Q;return Q.velocity=Math.abs(J-$)/B,Q.sampleCount=Math.min(Q.sampleCount+1,5),Q};function u1(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 g1(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 x1(Q,J){let j=g1(Q.orientation,J),q=j.primary==="x",$=m0(Q.padding);return{axis:j,hasCrossAxis:j.cross!==void 0,overscan:Q.overscan??n2,reverse:Q.reverse??!1,classPrefix:Q.classPrefix??f0,mainAxisPadding:c0($,q),crossAxisPadding:d0($,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 m1(Q,J){if(J)return Q.item.width??Q.item.estimatedWidth??100;return Q.item.height??Q.item.estimatedHeight??40}function c1(Q){let J=[...Q];return J.sort((j,q)=>(j.priority??50)-(q.priority??50)),J}function d1(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 Z1(Q,J=[]){u1(Q);let j=x1(Q,J),q=j.axis.primary==="x",$=m1(Q,q),B=j.gap,U=B>0?typeof $==="function"?(W2)=>$(W2)+B:$+B:$,K=typeof $==="number"?$:20,M=Q.items?.length??0,N=j.striped?`${j.classPrefix}-item--odd`:"",V=M0(),c=J1(j.classPrefix,q,j.startPadding,j.crossPadStart,j.crossPadEnd,N,B,V),L=J.length>0?c1(J):J;if(J.length>0)d1(L);let O=s0(Q.container),F=a0(O,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 b=Q0(U,M);if(B>0){let W2=b.getTotalSize;b.getTotalSize=()=>{let X=W2();return X>0?X-B:0}}let y=r0(j.classPrefix),C=Math.ceil(4096/K)+j.overscan*2+8,W=l0(C);W.totalItems=M;let D=Q.items??[],E=()=>D,_=new Map,H=j1(),A={velocity:0,reliable:!1},h={range:{start:0,end:-1}},k={scrollPosition:0,direction:"down"},g={scrollPosition:0},i=-1,x=-1,m=-1,Q2=null,J2=i0(L),d=new Map,T=[],z=[],Z=[],f=null,s=null,S=null,u=null,Y=null,w=null,G=null,I=null,r=null,l=null,P=null,n=!1,V2=!1,$2=null,Z2=0,X2=0,O2=null,F2=null,z2=null,p=null,e=null;if(W.containerSize=q?F.viewport.clientWidth:F.viewport.clientHeight,W.crossSize=q?F.viewport.clientHeight:F.viewport.clientWidth,J.length>0){let W2={dom:F,sizeCache:b,pool:y,config:j,emitter:V,template:Q.item.template,registerMethod(X,t){d.set(X,t)},getMethod(X){return d.get(X)},registerClickHandler(X){T.push(X)},registerKeydownHandler(X){z.push(X)},registerDestroyHandler(X){Z.push(X)},enableListboxRole(){let X=F.content.getAttribute("role");if(!X||X==="list")F.content.setAttribute("role","listbox"),F.content.setAttribute("tabindex","0");c.itemRole="option",c.interactive=!0},setSizeConfig(X){let t=Q0(X,W.totalItems);Object.assign(b,t)},setScrollFns(X,t){s=X,S=t},setVirtualTotalFn(X){f=X},getItems:E,getItem(X){return w?w(X):D[X]},getState(){return W},rebuildSizeCache(){b.rebuild(W.totalItems)},updateContentSize(X){W.totalSize=X,F.content.style[q?"width":"height"]=X+j.mainAxisPadding+"px"},setRenderFn(X,t){u=X,Y=t},renderIfNeeded(){P2()},forceRender(){B2()},setGetItemFn(X){w=X},setItemStateFn(X){G=X},getItemStateFn(){return G},get rawSizeSpec(){return $},scrollTo(X){if(S)S(X);else if(q)F.viewport.scrollLeft=X;else F.viewport.scrollTop=X},smoothScrollTo(X,t,U2,o){if(z2)z2(X,t,S??void 0,U2,o);else W2.scrollTo(typeof X==="function"?X():X)},disableDefaultScroll(){n=!0},disableDefaultResize(){V2=!0},setScrollTarget(X){$2=X},setScrollToPosFn(X){p=X},setScrollToIndexFn(X){e=X},onScrollFrame:E2,onScrollIdle:b2,removeItemById(X){if(I)return I(X);let t=D.findIndex((U2)=>U2.id===X);if(t===-1)return-1;return D.splice(t,1),W.totalItems=D.length,b.rebuild(W.totalItems),T2(),t},insertItemAt(X,t){if(r){r(X,t);return}D.splice(t,0,X),W.totalItems=D.length,b.rebuild(W.totalItems),T2()},setRemoveItemFn(X){I=X},setInsertItemFn(X){r=X},setUpdateItemFn(X){l=X},setGetIndexByIdFn(X){P=X},getRenderedElement(X){let t=d.get("_getRenderedElement");if(t)return t(X);return _.get(X)??null},setNavConfig(X){if(X.ud!==void 0)Z2=X.ud;if(X.lr!==void 0)X2=X.lr;if(X.scrollIndex)O2=X.scrollIndex;if(X.navigate)F2=X.navigate},getNavConfig:(()=>{let X={ud:0,lr:0,scrollIndex:null,navigate:null};return()=>{return X.ud=Z2,X.lr=X2,X.scrollIndex=O2,X.navigate=F2,X}})()};for(let X of L)if(X.setup)try{X.setup(W2)}catch(t){V.emit("error",{error:t instanceof Error?t:Error(String(t)),context:`plugin:setup:${X.name}`})}}let a=j.classPrefix+"--scrolling",j2=!1,Y2=Q.scroll?.idleTimeout??s2;function _2(){if(k.scrollPosition=W.scrollPosition,q)k.direction=W.scrollDirection>0?"right":"left";else k.direction=W.scrollDirection>0?"down":"up";if(V.emit("scroll",k),q1(H,W.scrollPosition),A.velocity=H.velocity,A.reliable=H.sampleCount>=Q1,V.emit("velocity:change",A),W.startIndex!==i||W.prevRangeEnd!==x)i=W.startIndex,x=W.prevRangeEnd,h.range.start=W.startIndex,h.range.end=W.prevRangeEnd,V.emit("range:change",h)}let K2=!1;function T2(){if(u)return;let W2=b.getTotalSize();if(F.content.style[q?"width":"height"]=W2+j.mainAxisPadding+"px",!K2&&W2>I2)K2=!0,V.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 P2(){if(u)u();else X0(W,b,j.overscan,y,F.content,Q.item.template,E,_,c,J2,w,G)}function E2(){if(!j2)j2=!0,F.root.classList.add(a);if(P2(),_0(J2.afterScroll,W.scrollPosition,W.scrollDirection),W.scrollPosition!==m)m=W.scrollPosition,_2()}function b2(){if(j2)j2=!1,F.root.classList.remove(a);W.scrollDirection=0,e0(J2.idle),A.velocity=0,A.reliable=!1,V.emit("velocity:change",A),g.scrollPosition=W.scrollPosition,V.emit("scroll:idle",g)}function B2(){if(W.renderPending=!0,Y)Y();else X0(W,b,j.overscan,y,F.content,Q.item.template,E,_,c,J2,w,G);if(_0(J2.afterScroll,W.scrollPosition,W.scrollDirection),W.scrollPosition!==m){if(m=W.scrollPosition,_2(),Q2!==null)clearTimeout(Q2);Q2=setTimeout(b2,Y2)}}let H2=o0({state:W,viewport:F.viewport,isX:q,wheelEnabled:n?!1:Q.scroll?.wheel!==!1,idleTimeout:Q.scroll?.idleTimeout??s2,...$2?{scrollTarget:$2}:{},onFrame:E2,onIdle:b2});z2=H2.smoothScrollTo;function k2(W2){let t=W2.target.closest("[data-index]");if(!t)return null;let U2=parseInt(t.getAttribute("data-index"),10);if(Number.isNaN(U2))return null;let o=d.get("_layoutToDataIndex"),q2=U2;if(o){let L2=o(U2);if(L2<0)return null;q2=L2}let M2=w?w(q2):D[q2];if(M2===void 0)return null;return{item:M2,index:U2}}function G2(W2){for(let t=0;t<T.length;t++)T[t](W2);let X=k2(W2);if(X)V.emit("item:click",{item:X.item,index:X.index,event:W2})}function D2(W2){let X=k2(W2);if(X)V.emit("item:dblclick",{item:X.item,index:X.index,event:W2})}function R(W2){let X=k2(W2);if(X)V.emit("item:contextmenu",{item:X.item,index:X.index,event:W2})}function N2(W2){for(let X=0;X<z.length;X++)z[X](W2)}if(F.content.addEventListener("click",G2),F.content.addEventListener("dblclick",D2),F.content.addEventListener("contextmenu",R),z.length>0)F.root.addEventListener("keydown",N2);let A2=null;if(!V2)setTimeout(()=>{if(W.destroyed)return;A2=new ResizeObserver((X)=>{for(let t of X){let{width:U2,height:o}=t.contentRect,q2=q?U2:o,M2=q?o:U2;if(Math.abs(q2-W.containerSize)<1&&Math.abs(M2-W.crossSize)<1)continue;W.containerSize=q2,W.crossSize=M2,W.resizeCapacity(q2,K,j.overscan),B2(),$1(J2.resize,U2,o),V.emit("resize",{width:U2,height:o})}}),A2.observe(F.viewport)},0);W.resizeCapacity(W.containerSize,K,j.overscan),T2(),W.initialized=!0;let R2=null;if(Q.defer)R2=requestAnimationFrame(()=>{if(R2=null,!W.destroyed)P2()});else P2();if(!n)H2.attach();let y2={get element(){return F.root},get items(){return D},get total(){return f?f():D.length},setItems(W2){D=[...W2],W.totalItems=D.length,b.rebuild(W.totalItems),T2(),B2()},appendItems(W2){D.push(...W2),W.totalItems=D.length,b.rebuild(W.totalItems),T2(),B2()},prependItems(W2){D.unshift(...W2),W.totalItems=D.length,b.rebuild(W.totalItems),T2(),B2()},updateItem(W2,X){if(l){if(!l(W2,X))return}else{let t=D.findIndex((U2)=>U2.id===W2);if(t===-1)return;D[t]={...D[t],...X}}B2()},insertItem(W2,X){if(r)r(W2,X??W.totalItems);else{if(X===void 0)D.push(W2);else D.splice(X,0,W2);W.totalItems=D.length,b.rebuild(W.totalItems),T2()}B2()},removeItem(W2){if(I){if(I(W2)<0)return}else{let X=D.findIndex((t)=>t.id===W2);if(X===-1)return;D.splice(X,1),W.totalItems=D.length,b.rebuild(W.totalItems),T2()}B2()},removeItems(W2){if(I){let o=0;for(let q2 of W2)if(I(q2)>=0)o++;if(o>0)B2();return o}let X=new Set(W2),t=D.length;D=D.filter((o)=>!X.has(o.id));let U2=t-D.length;if(U2>0)W.totalItems=D.length,b.rebuild(W.totalItems),T2(),W.renderPending=!0,P2();return U2},getItemAt(W2){return w?w(W2):D[W2]},getIndexById(W2){if(P)return P(W2);return D.findIndex((X)=>X.id===W2)},scrollToIndex(W2,X="start"){let t=f?f():D.length;if(t===0)return;let U2=Math.max(0,Math.min(W2,t-1)),o=typeof X==="string"?X:X.align??"start",q2=typeof X==="object"?X.behavior:void 0,M2=typeof X==="object"?X.duration:void 0,L2=typeof X==="object"?X.easing:void 0;if(e&&e(U2,o,q2,M2,L2)!==!1)return;let w2=b.getOffset(U2),v2=b.getSize(U2),f2=W.containerSize,P1=b.getTotalSize(),C0=j.mainAxisPadding,y1=Math.max(0,P1+C0-f2),h2;if(p)h2=p(U2,b,f2,t,o);else{let w1=j.startPadding;switch(o){case"center":h2=w1+w2-(f2-v2)/2;break;case"end":h2=w2+v2+C0-f2;break;default:h2=w2}h2=Math.max(0,Math.min(h2,y1))}if(q2==="smooth")H2.smoothScrollTo(h2,M2??$0,S??void 0,L2);else if(S)S(h2);else if(q)F.viewport.scrollLeft=h2;else F.viewport.scrollTop=h2},getScrollPosition(){return s?s():W.scrollPosition},on:V.on.bind(V),off:V.off.bind(V),destroy(){if(W.destroyed)return;if(W.destroyed=!0,j2)j2=!1,F.root.classList.remove(a);if(R2!==null)cancelAnimationFrame(R2),R2=null;if(Q2!==null)clearTimeout(Q2),Q2=null;H2.detach(),A2?.disconnect(),F.content.removeEventListener("click",G2),F.content.removeEventListener("dblclick",D2),F.content.removeEventListener("contextmenu",R),F.root.removeEventListener("keydown",N2);let W2=[];for(let X of Z)try{X()}catch(t){W2.push(t instanceof Error?t:Error(String(t)))}for(let X of L)if(X.destroy)try{X.destroy()}catch(t){W2.push(t instanceof Error?t:Error(String(t)))}for(let[,X]of _)X.remove();if(_.clear(),y.clear(),F.root.remove(),V.emit("destroy",void 0),V.clear(),W2.length>0)for(let X of W2)console.error("vlist: error during destroy:",X)}};for(let[W2,X]of d)y2[W2]=X;return y2}var K1=(Q,J,j)=>{let q=J.getTotalSize(),$=j===!0||q>I2,B=q>I2?I2:q,U=q>0?B/q:1;return{isCompressed:$,actualSize:q,virtualSize:B,ratio:U}},x2=(Q,J,j,q,$,B)=>{if(q===0||J===0)return B.start=0,B.end=-1,B;if(!$.isCompressed||$.ratio===1){let O=j.indexAtOffset(Q),F=j.indexAtOffset(Q+J);if(F<q-1)F++;return B.start=Math.max(0,O),B.end=Math.min(q-1,Math.max(0,F)),B}let{virtualSize:U}=$,K=Q/U,M=j.getTotalSize(),N=K*M,V=j.indexAtOffset(N),c=N0(j,Math.max(0,V),J,q),L=V+c;return B.start=Math.max(0,V),B.end=Math.min(q-1,Math.max(0,L)),B};var u2=(Q,J,j,q,$,B,U)=>{if(!B.isCompressed||q===0)return j.getOffset(Q);if(B.ratio===1)return j.getOffset(Q)-J;let{virtualSize:K}=B,M=J/K,N=j.getTotalSize(),V=M*N;return j.getOffset(Q)-V},j0=(Q,J,j,q,$,B="start")=>{if(q===0)return 0;let U;if($.isCompressed&&$.ratio!==1){U=Q/q*$.virtualSize;let V=J.getSize(Q);switch(B){case"center":U-=(j-V)/2*$.ratio;break;case"end":U-=(j-V)*$.ratio;break}return Math.max(0,U)}U=J.getOffset(Q);let K=J.getSize(Q);switch(B){case"center":U-=(j-K)/2;break;case"end":U-=j-K;break}let M=$.virtualSize-j;return Math.max(0,Math.min(U,M))};var l1=(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,B)=>{let{autoHide:U=!0,autoHideDelay:K=1000,minThumbSize:M=15,showOnHover:N=!0,showOnViewportEnter:V=!0,clickBehavior:c="scroll"}=j,L=c==="page"?"scroll":c,O=B??Q,F=l1(j.padding),v=$?F.left:F.top,b=$?F.right:F.bottom,y=$?F.bottom:F.right,C=j.hoverZoneWidth??y+16,W=0,D=0,E=0,_=0,H=!1,A=!1,h=0,k=0,g=0,i=null,x=!1,m=null,Q2=0,J2=0,d=null,T=null,z=null,Z=$?"width":"height",f=$?"translateX":"translateY",s=$?(R)=>R.clientX:(R)=>R.clientY,S=$?"left":"top",u=document.createElement("div"),Y=document.createElement("div"),w=document.createElement("div"),G=$?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",I=()=>{if(O===Q)return;let R=Q.offsetTop;u.style[$?"left":"top"]=R?`calc(var(${G}) + ${R}px)`:`var(${G})`,w.style[$?"left":"top"]=`${R}px`},r=()=>{if(u.className=`${q}-scrollbar`,Y.className=`${q}-scrollbar__thumb`,$)u.classList.add(`${q}-scrollbar--horizontal`);if(j.padding!==void 0)O.style.setProperty("--vlist-custom-scrollbar-padding-top",`${F.top}px`),O.style.setProperty("--vlist-custom-scrollbar-padding-right",`${F.right}px`),O.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${F.bottom}px`),O.style.setProperty("--vlist-custom-scrollbar-padding-left",`${F.left}px`);if(j.minThumbSize!==void 0)u.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${M}px`);if(u.appendChild(Y),O.appendChild(u),w.className=`${q}-scrollbar__hover`,$)w.classList.add(`${q}-scrollbar__hover--horizontal`),w.style.height=`${C}px`;else w.style.width=`${C}px`;if(O.appendChild(w),O!==Q)I()},l=()=>{if(i)clearTimeout(i),i=null},P=()=>{if(!U)return;l(),i=setTimeout(V2,K)},n=()=>{if(W<=D)return;if(l(),!x)u.classList.add(`${q}-scrollbar--visible`),x=!0;if(U&&!H&&!A)P()},V2=()=>{if(H||A)return;u.classList.remove(`${q}-scrollbar--visible`),x=!1},$2=(R,N2)=>{if(W=R,D=N2,I(),W<=D){u.style.display="none",V2();return}u.style.display="";let A2=Math.max(0,D-v-b),R2=D/W;if(E=Math.max(M,R2*A2),Y.style[Z]=`${E}px`,_=A2-E,Z2(g),!U)n()},Z2=(R)=>{if(g=R,W<=D||_<=0)return;let N2=W-D,A2=Math.min(1,Math.max(0,R/N2));Y.style.transform=`${f}(${A2*_}px)`},X2=(R)=>{if(R.target===Y||L!=="jump"||_<=0)return;let N2=W-D,A2=u.getBoundingClientRect(),R2=s(R)-A2[S],y2=Math.max(0,Math.min(R2-E/2,_));J(y2/_*N2),n()},O2=()=>{if(d!==null)clearTimeout(d),d=null;if(T!==null)cancelAnimationFrame(T),T=null;z=null},F2=(R)=>{let N2=_>0?J2/R*_:0;if(Q2<N2)return-1;if(Q2>=N2+E)return 1;return 0},z2=()=>{let R=W-D,N2=F2(R);if(N2===0){O2();return}if(N2===-1){if(J2<=0){O2();return}let A2=Math.max(0,J2-D);J2=A2,J(A2)}else{if(J2>=R){O2();return}let A2=Math.min(R,J2+D);J2=A2,J(A2)}n()},p=(R)=>{if(z===null){z=R,T=requestAnimationFrame(p);return}let N2=W-D,A2=R-z;z=R;let R2=F2(N2);if(R2===0){O2();return}let y2=12*D/1000,W2=Math.min(y2*A2,D);if(R2===-1){if(J2<=0){O2();return}let X=Math.max(0,J2-W2);J2=X,J(X)}else{if(J2>=N2){O2();return}let X=Math.min(N2,J2+W2);J2=X,J(X)}l(),T=requestAnimationFrame(p)},e=()=>{O2(),P(),document.removeEventListener("mouseup",e)},a=(R)=>{if(R.target===Y||L!=="scroll")return;R.preventDefault();let N2=u.getBoundingClientRect();Q2=s(R)-N2[S],J2=g,z2(),d=setTimeout(()=>{T=requestAnimationFrame(p)},350),document.addEventListener("mouseup",e)},j2=(R)=>{R.preventDefault(),R.stopPropagation(),H=!0,h=s(R),k=g,l(),u.classList.add(`${q}-scrollbar--dragging`),document.addEventListener("mousemove",Y2),document.addEventListener("mouseup",_2)},Y2=(R)=>{if(!H)return;let N2=s(R)-h,A2=_>0?N2/_:0,R2=W-D,y2=A2*R2,W2=Math.max(0,Math.min(k+y2,R2));Y.style.transform=`${f}(${W2/R2*_}px)`,J(W2)},_2=()=>{if(H=!1,u.classList.remove(`${q}-scrollbar--dragging`),U&&!A)P();document.removeEventListener("mousemove",Y2),document.removeEventListener("mouseup",_2)},K2=$?(R)=>R.touches[0].clientX:(R)=>R.touches[0].clientY,T2=(R)=>{R.stopPropagation(),H=!0,h=K2(R),k=g,l(),u.classList.add(`${q}-scrollbar--dragging`)},P2=(R)=>{if(!H)return;R.preventDefault();let N2=K2(R)-h,A2=_>0?N2/_:0,R2=W-D,y2=A2*R2,W2=Math.max(0,Math.min(k+y2,R2));Y.style.transform=`${f}(${W2/R2*_}px)`,J(W2)},E2=()=>{if(H=!1,u.classList.remove(`${q}-scrollbar--dragging`),U)P()},b2=(R)=>{if(R.target===Y)return;if(_<=0)return;let N2=R.touches[0],A2=u.getBoundingClientRect(),R2=($?N2.clientX:N2.clientY)-A2[S];if(L==="jump"){let y2=W-D,W2=Math.max(0,Math.min(R2-E/2,_));J(W2/_*y2)}else Q2=R2,J2=g,z2();n()},B2=()=>{if(V)n()},H2=()=>{if(!H){if(A=!1,U)P()}},k2=()=>{A=!0,l(),n()},G2=()=>{if(A=!1,!H&&U)P()},D2=()=>{if(l(),O2(),m!==null)cancelAnimationFrame(m),m=null;u.removeEventListener("click",X2),u.removeEventListener("mousedown",a),u.removeEventListener("mouseenter",k2),document.removeEventListener("mouseup",e),u.removeEventListener("mouseleave",G2),u.removeEventListener("touchstart",b2),Y.removeEventListener("mousedown",j2),Y.removeEventListener("touchstart",T2),Y.removeEventListener("touchmove",P2),Y.removeEventListener("touchend",E2),Q.removeEventListener("mouseenter",B2),Q.removeEventListener("mouseleave",H2),document.removeEventListener("mousemove",Y2),document.removeEventListener("mouseup",_2),w.removeEventListener("click",X2),w.removeEventListener("mousedown",a),w.removeEventListener("mouseenter",k2),w.removeEventListener("mouseleave",G2),w.remove(),O.style.removeProperty("--vlist-custom-scrollbar-padding-top"),O.style.removeProperty("--vlist-custom-scrollbar-padding-right"),O.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),O.style.removeProperty("--vlist-custom-scrollbar-padding-left"),u.remove()};if(r(),u.addEventListener("click",X2),u.addEventListener("mousedown",a),u.addEventListener("mouseenter",k2),u.addEventListener("mouseleave",G2),u.addEventListener("touchstart",b2,{passive:!0}),Y.addEventListener("mousedown",j2),Y.addEventListener("touchstart",T2,{passive:!0}),Y.addEventListener("touchmove",P2,{passive:!1}),Y.addEventListener("touchend",E2,{passive:!0}),Q.addEventListener("mouseenter",B2),Q.addEventListener("mouseleave",H2),w.addEventListener("click",X2),w.addEventListener("mousedown",a),N)w.addEventListener("mouseenter",k2),w.addEventListener("mouseleave",G2);return{show:n,hide:V2,updateBounds:$2,updatePosition:Z2,isVisible:()=>x,destroy:D2}};var r1=0.65,U1=0.5,Y1=1.7,s1=0.95,a1=0.1,r2=5,o1=100;function G0(Q){let J=Q?.force??!1,j,q,$,B,U,K={isCompressed:!1,actualSize:0,virtualSize:0,ratio:1},M=!1,N=0,V=null,c=!1,L=0,O=0,F=null,v=null,b=0,y=0,C=null,W=new Float64Array(r2),D=new Float64Array(r2),E=0,_=0,H={start:0,end:-1},A=-1,h=null;function k(){return Math.max(0,K.virtualSize+N-j.containerSize)}function g(){if(K.virtualSize<=0)return 0;return Math.max(0,j.containerSize*(1-K.ratio))}function i(Y){let w=j.totalItems;if(K=K1(w,q,J),K.isCompressed&&!M)s(Y);else if(!K.isCompressed&&M)S(Y);if(K.isCompressed){if(N=g(),j.isCompressed=!0,j.compressionRatio=K.ratio,Y.updateContentSize(K.virtualSize+N),V)V.updateBounds(K.virtualSize+N,j.containerSize)}}let x=null,m=null,Q2=null,J2=null,d=null;function T(Y){L=Y,O=Y,j.prevScrollPosition=j.scrollPosition,j.scrollPosition=Y,j.scrollDirection=Y>j.prevScrollPosition?1:-1,h.forceRender()}function z(){if(F!==null)cancelAnimationFrame(F),F=null;if(v!==null)cancelAnimationFrame(v),v=null}function Z(Y){z(),T(Math.max(0,Math.min(Y,k())))}function f(Y,w,G=e2){z();let I=Math.max(0,Math.min(Y,k())),r=L;if(Math.abs(I-r)<U1){T(I);return}let l=performance.now(),P=(n)=>{let V2=Math.min((n-l)/w,1);if(T(r+(I-r)*G(V2)),V2<1)v=requestAnimationFrame(P);else v=null};v=requestAnimationFrame(P)}function s(Y){M=!0,j.isCompressed=!0;let w=B?"scrollLeft":"scrollTop",G=B?"overflowX":"overflow",I=$[w];if($.style[G]="hidden",$[w]=0,I>0)L=I,O=I,j.scrollPosition=I;N=g();let r=()=>{let $2=O-L,Z2=k();if(Math.abs($2)<U1)L=Math.max(0,Math.min(O,Z2)),O=L,F=null;else L+=$2*r1,L=Math.max(0,Math.min(L,Z2)),F=requestAnimationFrame(r);j.prevScrollPosition=j.scrollPosition,j.scrollPosition=L,j.scrollDirection=L>j.prevScrollPosition?1:-1,Y.forceRender()};x=($2)=>{$2.preventDefault();let Z2=k();if(O=Math.max(0,Math.min(O+$2.deltaY*K.ratio*Y1,Z2)),F===null)F=requestAnimationFrame(r)},$.addEventListener("wheel",x,{passive:!1});let l=()=>{if(C!==null)cancelAnimationFrame(C),C=null};m=($2)=>{if(l(),F!==null)cancelAnimationFrame(F),F=null;let Z2=$2.touches[0];if(!Z2)return;let X2=B?Z2.clientX:Z2.clientY;b=X2,y=L,E=1,_=0,W[0]=performance.now(),D[0]=X2},Q2=($2)=>{$2.preventDefault();let Z2=$2.touches[0];if(!Z2)return;let X2=B?Z2.clientX:Z2.clientY,O2=performance.now(),F2=E<r2?E:_;if(W[F2]=O2,D[F2]=X2,E<r2)E++;else _=(_+1)%r2;let z2=b-X2,p=k(),e=Math.max(0,Math.min(y+z2*K.ratio*Y1,p));L=e,O=e,j.prevScrollPosition=j.scrollPosition,j.scrollPosition=e,j.scrollDirection=e>j.prevScrollPosition?1:-1,Y.forceRender()},J2=()=>{let $2=performance.now(),Z2=1/0,X2=0,O2=-1,F2=0,z2=0;for(let j2=0;j2<E;j2++){let Y2=(_+j2)%r2,_2=W[Y2];if($2-_2>=o1)continue;z2++;let K2=D[Y2];if(_2<Z2)Z2=_2,X2=K2;if(_2>O2)O2=_2,F2=K2}let p=0;if(z2>=2){let j2=O2-Z2;if(j2>0)p=(X2-F2)/j2}if(E=0,_=0,Math.abs(p)<a1)return;let e=p*16,a=()=>{if(e*=s1,Math.abs(e)<0.5){C=null;return}let j2=k(),Y2=L+e;if(Y2=Math.max(0,Math.min(Y2,j2)),Y2<=0&&e<0||Y2>=j2&&e>0){L=Y2,O=Y2,j.scrollPosition=Y2,Y.forceRender(),C=null;return}L=Y2,O=Y2,j.prevScrollPosition=j.scrollPosition,j.scrollPosition=Y2,j.scrollDirection=Y2>j.prevScrollPosition?1:-1,Y.forceRender(),C=requestAnimationFrame(a)};C=requestAnimationFrame(a)},$.addEventListener("touchstart",m,{passive:!0}),$.addEventListener("touchmove",Q2,{passive:!1}),$.addEventListener("touchend",J2,{passive:!0}),$.addEventListener("touchcancel",J2,{passive:!0}),d=()=>{if($[w]!==0)$[w]=0},$.addEventListener("scroll",d,{passive:!0});let P=($2)=>{if(L=$2,O=$2,F!==null)cancelAnimationFrame(F),F=null;j.prevScrollPosition=j.scrollPosition,j.scrollPosition=$2,j.scrollDirection=$2>j.prevScrollPosition?1:-1,Y.forceRender()},n=Y.getMethod("_scrollbar:setCallback"),V2=Y.getMethod("_scrollbar:getInstance");if(n&&V2){n(P);let $2=V2();if($2)V=$2,c=!1,V.updateBounds(K.virtualSize+N,j.containerSize)}else if(!V){let $2=Y.config.classPrefix;if(V=q0($,P,{},$2,B,Y.dom.root),c=!0,!$.classList.contains(`${$2}-viewport--custom-scrollbar`))$.classList.add(`${$2}-viewport--custom-scrollbar`);V.updateBounds(K.virtualSize+N,j.containerSize)}}function S(Y){M=!1,j.isCompressed=!1,j.compressionRatio=1,L=0,O=0,E=0,_=0,u();let w=B?"overflowX":"overflow";$.style[w]="auto",N=0,Y.updateContentSize(q.getTotalSize())}function u(){if(F!==null)cancelAnimationFrame(F),F=null;if(v!==null)cancelAnimationFrame(v),v=null;if(C!==null)cancelAnimationFrame(C),C=null;if(x)$.removeEventListener("wheel",x),x=null;if(m)$.removeEventListener("touchstart",m),m=null;if(Q2)$.removeEventListener("touchmove",Q2),Q2=null;if(J2)$.removeEventListener("touchend",J2),$.removeEventListener("touchcancel",J2),J2=null;if(d)$.removeEventListener("scroll",d),d=null;if(V&&c)V.destroy();V=null,c=!1;let Y=B?"scrollLeft":"scrollTop";if($&&$[Y]!==0)$[Y]=0}return{name:"scale",priority:20,setup(Y){j=Y.getState(),q=Y.sizeCache,$=Y.dom.viewport,B=Y.config.axis.primary==="x",U=Y.config.overscan,h=Y,Y.registerMethod("_updateCompressionMode",()=>i(Y)),Y.registerMethod("_scale:getCompression",()=>K),Y.registerMethod("_scale:easedScrollTo",(w,G)=>f(w,G)),Y.setScrollFns(()=>L,(w)=>{if(!K.isCompressed||!M){let I=B?"scrollLeft":"scrollTop";$[I]=w;return}if(z(),C!==null)cancelAnimationFrame(C),C=null;let G=w*K.ratio;T(Math.max(0,Math.min(G,k())))}),Y.setScrollToIndexFn((w,G,I,r,l)=>{if(!K.isCompressed||!M)return!1;let P=j0(w,q,j.containerSize,j.totalItems,K,G);if(I==="smooth")f(P,r??$0,l);else Z(P)}),i(Y),A=j.totalItems,Y.registerDestroyHandler(u)},hooks:{onCalculate(Y){if(Y.totalItems!==A&&h)A=Y.totalItems,i(h);if(!K.isCompressed||!M)return;let w=Y.totalItems;if(w===0||Y.containerSize<=0){Y.visibleCount=0;return}x2(Y.scrollPosition,Y.containerSize,q,w,K,H);let G=Math.max(0,H.start-U),I=Math.min(w-1,H.end+U),r=Math.min(I-G+1,Y.capacity);Y.visibleCount=r,Y.startIndex=G;for(let l=0;l<r;l++){let P=G+l;Y.visibleIndices[l]=P,Y.visibleOffsets[l]=u2(P,Y.scrollPosition,q,w,Y.containerSize,K),Y.visibleSizes[l]=q.getSize(P)}Y.prevRangeStart=G,Y.prevRangeEnd=I},onAfterScroll(Y){if(V&&M)V.updatePosition(Y),V.show()},onResize(){if(M){if(N=g(),V)V.updateBounds(K.virtualSize+N,j.containerSize);let Y=k();if(L>Y)L=Y,O=Y,j.scrollPosition=Y}}},destroy(){u()}}}function D0(Q){let J=null,j,q=0,$=0;return{name:"scrollbar",priority:15,setup(B){let{dom:U,config:K}=B,{classPrefix:M}=K,N=K.axis.primary==="x";j=B.getState();let V=(c)=>{if(N)U.viewport.scrollLeft=c;else U.viewport.scrollTop=c};if(B.registerMethod("_scrollbar:setCallback",(c)=>{V=c}),J=q0(U.viewport,(c)=>{V(c)},Q,M,N,U.root),U.viewport.classList.add(`${M}-viewport--custom-scrollbar`),Q?.gutter)U.viewport.classList.add(`${M}-viewport--gutter`);queueMicrotask(()=>{if(!j.isCompressed)J?.updateBounds(j.totalSize,j.containerSize)}),B.registerMethod("_scrollbar:getInstance",()=>J),B.registerDestroyHandler(()=>{if(J?.destroy(),J=null,U.viewport.classList.remove(`${M}-viewport--custom-scrollbar`),Q?.gutter)U.viewport.classList.remove(`${M}-viewport--gutter`)})},hooks:{onAfterScroll(B){if(!j.isCompressed){let{totalSize:U,containerSize:K}=j;if(U!==q||K!==$)q=U,$=K,J?.updateBounds(U,K)}J?.updatePosition(B),J?.show()},onResize(){if(!j.isCompressed){let{totalSize:B,containerSize:U}=j;q=B,$=U,J?.updateBounds(B,U)}}},destroy(){J?.destroy(),J=null}}}var B1=(Q)=>{let J=Math.max(1,Math.floor(Q.columns)),j=Q.gap??0,q=Q.isHeaderFn,$={row:0,col:0},B=(v)=>{if(v<=0)return 0;if(!q)return Math.ceil(v/J);let b=0,y=0,C=0;for(let W=0;W<v;W++)if(q(W)){if(C++,y)b++,y=0;b++,y=0}else if(y++,y>=J)b++,y=0;if(y)b++;return b},U=(v)=>{return $.row=K(v),$.col=M(v),$},K=(v)=>{if(!q)return Math.floor(v/J);let b=0,y=0;for(let C=0;C<=v;C++)if(q(C)){if(y)b++,y=0;if(C===v)return b;b++,y=0}else{if(C===v)return b;if(y++,y>=J)b++,y=0}return console.warn(`⚠️ getRow(${v}) fell through - returning ${b}`),b},M=(v)=>{if(!q)return v%J;if(q(v))return 0;let b=0;for(let y=0;y<=v;y++)if(q(y))b=0;else{if(y===v)return b;if(b++,b>=J)b=0}return b},N=(v,b,y,C)=>{if(y<=0){C.start=0,C.end=-1;return}if(!q){C.start=Math.max(0,v*J),C.end=Math.min(y-1,(b+1)*J-1);return}let W=V(v,b,y);C.start=W.start,C.end=W.end},V=(v,b,y)=>{if(y<=0)return{start:0,end:-1};if(!q){let _=Math.max(0,v*J),H=Math.min(y-1,(b+1)*J-1);return{start:_,end:H}}let C=-1,W=-1,D=0,E=0;for(let _=0;_<y;_++){if(q(_)){if(E)D++,E=0;if(D>=v&&D<=b){if(C<0)C=_;W=_}D++,E=0}else{if(D>=v&&D<=b){if(C<0)C=_;W=_}if(E++,E>=J)D++,E=0}if(D>b&&!E)break}if(C<0)return{start:0,end:-1};return{start:C,end:W}},c=(v,b,y)=>{if(b<0||b>=J)return-1;let C=v*J+b;if(C<0||C>=y)return-1;return C},L=(v)=>{let b=(J-1)*j;return Math.max(0,(v-b)/J)};return{get columns(){return J},get gap(){return j},update:(v)=>{if(v.columns!==void 0)J=Math.max(1,Math.floor(v.columns));if(v.gap!==void 0)j=v.gap;if(v.isHeaderFn!==void 0)q=v.isHeaderFn},getTotalRows:B,getPosition:U,getRow:K,getCol:M,getItemRange:V,fillItemRange:N,getItemIndex:c,getColumnWidth:L,getColumnOffset:(v,b)=>{let y=L(b);return v*(y+j)}}};var m2={selected:!1,focused:!1};function A0(Q){if(!Q.columns||Q.columns<1)throw Error("[vlist] grid: columns must be >= 1");let J,j,q,$,B,U,K,M,N,V,c=null,L=null,O=!1,F=null,v=0,b=0,y=0,C=0,W=new Map,D=0,E=0,_=0,H=0,A=null,h=!1,k="",g="",i="",x={start:0,end:-1},m={start:0,end:-1},Q2=-1,J2=-1,d=!0;function T(){let G=(E-1)*_;H=Math.max(0,(D-G)/E)}function z(){if(O||!F)return;O=!0,L=F("_scale:getCompression")??null}function Z(){if(h)return;h=!0,A=c?.()??null}function f(){return J.getTotalRows(q.totalItems)}function s(G){let I=G/E|0,l=(G-I*E)*(H+_)+v,P=j.getOffset(I)+y;if(M)return`translate(${Math.round(P)}px, ${Math.round(l)}px)`;return`translate(${Math.round(l)}px, ${Math.round(P)}px)`}function S(G,I){let r=j.getSize(I)-_;if(M)G.style.width=`${r}px`,G.style.height=`${H}px`;else G.style.width=`${H}px`,G.style.height=`${r}px`}function u(G,I,r){if(A)A(r,m2);else m2.selected=!1,m2.focused=!1;let l=U(I,r,m2);if(typeof l==="string")G.innerHTML=l;else G.innerHTML="",G.appendChild(l)}function Y(){if(q.destroyed)return;let{scrollPosition:G,containerSize:I}=q;if(!d&&G===Q2&&I===J2)return;Q2=G,J2=I,d=!1;let r=f();if(I<=0||r===0)return;z(),Z();let l=L!==null?L():null,P=l!==null&&l.isCompressed,n,V2;if(P)x2(G,I,j,r,l,x),n=Math.max(0,x.start-V),V2=Math.min(r-1,x.end+V);else{let F2=j.indexAtOffset(G),z2=j.indexAtOffset(G+I);if(z2<r-1)z2++;F2=Math.max(0,F2),z2=Math.min(r-1,Math.max(0,z2)),n=Math.max(0,F2-V),V2=Math.min(r-1,z2+V)}if(n===q.prevRangeStart&&V2===q.prevRangeEnd&&!q.renderPending)return;J.fillItemRange(n,V2,q.totalItems,m);let{start:$2,end:Z2}=m;for(let[F2,z2]of W)if(F2<$2||F2>Z2)z2.el.remove(),$.release(z2.el),W.delete(F2);for(let F2=$2;F2<=Z2;F2++){let z2=K(F2);if(!z2)continue;let p=F2/E|0,e=F2-p*E,a=W.get(F2);if(a===void 0){let _2=$.acquire();_2.className=k,_2.setAttribute("data-index",String(F2)),_2.setAttribute("data-id",String(z2.id)),u(_2,z2,F2),a={el:_2,lastItem:z2},W.set(F2,a),B.appendChild(_2)}else if(a.lastItem!==z2)a.el.setAttribute("data-id",String(z2.id)),a.lastItem=z2,u(a.el,z2,F2);else if(A)A(F2,m2);if(A)if(a.el.classList.toggle(g,m2.selected),a.el.classList.toggle(i,m2.focused),m2.selected)a.el.setAttribute("aria-selected","true");else a.el.removeAttribute("aria-selected");S(a.el,p);let j2=e*(H+_)+v,Y2=P?u2(p,G,j,r,I,l)+y:j.getOffset(p)+y;a.el.style.transform=M?`translate(${Math.round(Y2)}px, ${Math.round(j2)}px)`:`translate(${Math.round(j2)}px, ${Math.round(Y2)}px)`}let X2=j.getTotalSize()+C;if(!P)B.style[M?"width":"height"]=X2+"px";q.totalSize=X2,q.prevRangeStart=n,q.prevRangeEnd=V2,q.renderPending=!1;let O2=Z2-$2+1;q.visibleCount=Math.min(O2,q.capacity),q.startIndex=$2;for(let F2=0;F2<q.visibleCount;F2++){let z2=$2+F2,p=z2/E|0;q.visibleIndices[F2]=z2,q.visibleOffsets[F2]=P?u2(p,G,j,r,I,l):j.getOffset(p),q.visibleSizes[F2]=j.getSize(p)}}function w(){if(q.destroyed)return;j.rebuild(f()),q.prevRangeStart=-1,q.prevRangeEnd=-1,q.renderPending=!0,d=!0,Y()}return{name:"grid",priority:10,conflicts:["masonry","table"],setup(G){E=Math.max(1,Math.floor(Q.columns)),_=Q.gap??0,J=B1({columns:Q.columns,gap:_}),j=G.sizeCache,q=G.getState(),$=G.pool,B=G.dom.content,U=G.template,M=G.config.axis.primary==="x",N=G.config.classPrefix,V=G.config.overscan,K=G.getItem.bind(G),c=()=>G.getItemStateFn(),F=G.getMethod.bind(G),k=`${N}-item ${N}-grid-item`,g=`${N}-item--selected`,i=`${N}-item--focused`,v=G.config.crossPadStart,b=G.config.crossAxisPadding,y=G.config.startPadding,C=G.config.mainAxisPadding,D=q.crossSize-b,T();let I=G.rawSizeSpec,r;if(typeof I==="function"){let P={columnWidth:J.getColumnWidth(D),columns:Q.columns,gap:_};r=I(0,P),G.setSizeConfig((n)=>{P.columnWidth=J.getColumnWidth(D);let V2=n*Q.columns;return I(V2,P)+_})}else if(r=I,_>0)G.setSizeConfig(r+_);if(j.rebuild(f()),_>0){let l=j.getTotalSize;j.getTotalSize=()=>{let P=l();return P>0?P-_:0}}G.setVirtualTotalFn(()=>f()),G.dom.root.classList.add(`${N}--grid`),G.setRenderFn(Y,w),G.registerMethod("getGridLayout",()=>J),G.registerMethod("updateGrid",(l)=>{if(l.columns!==void 0){if(!Number.isInteger(l.columns)||l.columns<1)throw Error("[vlist] updateGrid: columns must be >= 1")}if(l.gap!==void 0&&l.gap<0)throw Error("[vlist] updateGrid: gap must be >= 0");if(J.update(l),l.columns!==void 0)E=Math.max(1,Math.floor(l.columns));if(l.gap!==void 0)_=l.gap;if(l.gap!==void 0||l.columns!==void 0){let P=J.gap;if(typeof I==="function"){let n={columnWidth:J.getColumnWidth(D),columns:J.columns,gap:P};G.setSizeConfig((V2)=>{n.columnWidth=J.getColumnWidth(D);let $2=V2*J.columns;return I($2,n)+P})}else G.setSizeConfig(r+P);j.rebuild(f())}if(l.columns!==void 0)G.setNavConfig({ud:J.columns});D=q.crossSize-b,T(),w()}),G.registerMethod("scrollToIndex",(l,P="start")=>{let n=J.getRow(l),V2=f();if(V2===0)return;let $2=Math.max(0,Math.min(n,V2-1)),Z2=j.getOffset($2)+y,X2=j.getSize($2),O2=q.containerSize,F2=j.getTotalSize()+C,z2=Math.max(0,F2-O2),p=typeof P==="string"?P:P.align??"start",e=typeof P==="object"?P.behavior:void 0,a=typeof P==="object"?P.duration:void 0,j2;switch(p){case"center":j2=Z2-(O2-X2)/2;break;case"end":j2=Z2-O2+X2;break;default:j2=Z2}j2=Math.max(0,Math.min(j2,z2)),z();let Y2=L?.()??null;if(Y2?.isCompressed&&e==="smooth"&&a&&a>0){let _2=j0($2,j,O2,V2,Y2,p),K2=F?.("_scale:easedScrollTo");if(K2)K2(_2,a);else G.scrollTo(j2)}else if(e==="smooth"&&a&&a>0)G.smoothScrollTo(j2,a);else G.scrollTo(j2)}),G.setNavConfig({total:()=>q.totalItems,ud:Q.columns,lr:1,scrollIndex:(l)=>J.getRow(l)}),G.registerDestroyHandler(()=>{for(let[,l]of W)l.el.remove();W.clear(),G.dom.root.classList.remove(`${N}--grid`)})},hooks:{onResize(G,I){let r=q.crossSize-b;if(Math.abs(r-D)<1)return;if(D=r,T(),(L?.()??null)?.isCompressed)w();else for(let[P,n]of W){let V2=P/E|0;S(n.el,V2),n.el.style.transform=s(P)}}},destroy(){W.clear()}}}function H0(){return{name:"a11y",priority:55,setup(Q){if(Q.getItemStateFn())return;Q.enableListboxRole();let{dom:J,config:j,sizeCache:q}=Q,$=Q.getState(),B=Q.emitter,U=j.classPrefix,K=J.liveRegion,M=-1,N=!1,V,c=-1,L=(A)=>Q.getItem(A),O=()=>$.totalItems,F={id:0,index:0},v={selected:[],items:[]};Q.setItemStateFn((A,h)=>{h.selected=c===A,h.focused=N&&M===A});function b(A){K.textContent="",K.textContent=A}let y=(A,h,k)=>{let g=A;while(g>=0&&g<k){let i=L(g);if(!i||!i.__groupHeader)return g;g+=h}g=A-h;while(g>=0&&g<k){let i=L(g);if(!i||!i.__groupHeader)return g;g-=h}return A},C=(A)=>{let h=Q.getNavConfig(),k=h.scrollIndex?h.scrollIndex(A):A,g=q.getOffset(k),i=q.getSize(k),x=$.scrollPosition,m=$.containerSize,Q2=j.startPadding,J2=j.endPadding,d=g+Q2,T=d+i,z=x;if(d<x)z=Math.max(0,g);else if(T>x+m)z=T+J2-m;if(z!==x)$.scrollPosition=z,Q.scrollTo(z)},W=(A,h)=>{if(J.content.setAttribute("aria-activedescendant",`${U}-item-${A}`),h)C(A);Q.forceRender()},D=(A)=>{M=A,N=!0,W(A,!0);let h=L(A);if(h)F.id=h.id,F.index=A,B.emit("focus:change",F),b(`Item ${A+1} of ${O()}`)},E=(A,h)=>{if(M=A,h)N=!0;let k=L(A);if(k&&V===k.id)V=void 0,c=-1;else V=k?.id,c=k?A:-1;if(W(A,h),V!==void 0&&k&&V===k.id)v.selected[0]=V,v.selected.length=1,v.items[0]=k,v.items.length=1,b(`Selected, item ${A+1} of ${O()}`);else v.selected.length=0,v.items.length=0,b("Deselected");B.emit("selection:change",v)},_=()=>{if($.destroyed)return;if(!J.content.matches(":focus-visible"))return;let A=O();if(A===0)return;let h=M>=0?Math.min(M,A-1):0;h=y(h,1,A),D(h)},H=(A)=>{if($.destroyed)return;let h=A.relatedTarget;if(h&&J.root.contains(h))return;N=!1,J.content.removeAttribute("aria-activedescendant"),Q.forceRender()};J.content.addEventListener("focusin",_),J.content.addEventListener("focusout",H),Q.registerKeydownHandler((A)=>{if($.destroyed)return;let h=O();if(h===0)return;let k=M,g=k;if(A.key===" "||A.key==="Enter"){if(k>=0){let x=L(k);if(x&&!x.__groupHeader)E(k,!0)}A.preventDefault();return}let i=Q.getNavConfig();if(i.navigate)switch(A.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":g=i.navigate(k,A.key,h);break;default:return}else{let x=i.ud||1,m=i.lr,Q2=j.axis.primary==="x";switch(A.key){case"ArrowUp":if(Q2&&!m)return;g=k-(Q2?m:x);break;case"ArrowDown":if(Q2&&!m)return;g=k+(Q2?m:x);break;case"ArrowLeft":if(!Q2&&!m)return;g=k-(Q2?x:m);break;case"ArrowRight":if(!Q2&&!m)return;g=k+(Q2?x:m);break;case"PageUp":case"PageDown":{let J2=q.getSize(Math.max(0,i.scrollIndex?i.scrollIndex(k):k)),T=Math.max(1,Math.floor($.containerSize/J2))*x;g=A.key==="PageUp"?k-T:k+T;break}case"Home":g=0;break;case"End":g=h-1;break;default:return}}if(g<0)g=0;else if(g>=h)g=h-1;if(A.preventDefault(),g=y(g,g>=k?1:-1,h),g!==k)D(g)}),Q.registerClickHandler((A)=>{if($.destroyed)return;let h=A.target.closest("[data-index]");if(!h)return;let k=parseInt(h.dataset.index??"-1",10);if(k<0)return;let g=L(k);if(!g||g.__groupHeader)return;N=!1,J.content.focus({preventScroll:!0}),E(k,!1)}),Q.registerDestroyHandler(()=>{J.content.removeEventListener("focusin",_),J.content.removeEventListener("focusout",H)})}}}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},W1=(Q)=>({selected:new Set(Q??[]),focusedIndex:-1,focusVisible:!1});function c2(Q,J,j,q){if(j===0)return;let $=q?-J:J,B=Q.focusedIndex+$;if(B<0)B=0;if(B>=j)B=j-1;Q.focusedIndex=B}function Z0(Q){return Array.from(Q)}var i1={preventScroll:!0};function O0(Q){let J=Q?.mode??"single",j=Q?.followFocus??!1,q=Q?.focusOnClick??!1,$,B,U,K,M,N,V,c,L=-1,O=new Map,F=null,v=null,b=null,y=null,C,W=!1;function D(Z){if(W)return;W=!0,F=Z.getMethod("_layoutToDataIndex")??null,v=Z.getMethod("_dataToLayoutIndex")??null,b=Z.getMethod("_isGroupHeader")??null,y=Z.getMethod("_scrollItemIntoView")??null,_=Z.getMethod("_getLoadedItem")??null;let f=Z.getMethod("getGroupLayout");if(f){let s=f();C=()=>s.totalEntries}}let E=(Z)=>F?F(Z):Z,_=null,H=(Z)=>{if(_)return _(Z);return B()[Z]},A=(Z)=>{let f=E(Z);return f>=0?H(f):void 0},h=(Z,f,s)=>{if(!b)return Z;let S=Z;while(S>=0&&S<s){if(!b(S))return S;S+=f}S=Z-f;while(S>=0&&S<s){if(!b(S))return S;S-=f}return Z};function k(Z,f){if(J==="single")$.selected.clear(),O.clear();if($.selected.add(Z),f)O.set(Z,f)}function g(Z,f){if($.selected.has(Z))$.selected.delete(Z),O.delete(Z);else k(Z,f)}function i(){$.selected.clear(),O.clear()}function x(Z){$.selected.delete(Z),O.delete(Z)}function m(Z,f){let s=Math.min(Z,f),S=Math.max(Z,f);for(let u=s;u<=S;u++){if(b?.(u))continue;let Y=A(u);if(Y)$.selected.add(Y.id),O.set(Y.id,Y)}}function Q2(){let Z=V.totalItems;for(let f=0;f<Z;f++){if(b?.(f))continue;let s=A(f);if(s)$.selected.add(s.id),O.set(s.id,s)}}function J2(){if($.selected.size===0)return[];if(O.size>=$.selected.size){let S=[];for(let u of $.selected){let Y=O.get(u);if(Y)S.push(Y)}if(S.length===$.selected.size)return S}let Z=[],f=new Set($.selected),s=V.totalItems;for(let S=0;S<s&&f.size>0;S++){if(b?.(S))continue;let u=A(S);if(u&&f.has(u.id))Z.push(u),O.set(u.id,u),f.delete(u.id)}return Z}function d(){U(),K.emit("selection:change",{selected:Z0($.selected),items:J2()})}let T=null,z=-1;return{name:"selection",priority:50,setup(Z){Z.enableListboxRole(),$=W1(Q?.initial),B=Z.getItems.bind(Z),U=Z.forceRender.bind(Z),K=Z.emitter,M=Z.dom;let f=Z.config;if(N=Z.sizeCache,V=Z.getState(),c=Z.scrollTo.bind(Z),C=()=>V.totalItems,J==="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=f.classPrefix;Z.setItemStateFn((G,I)=>{if(D(Z),$.selected.size>0){let r=E(G),l=r>=0?A(G):void 0,P=l?.id;if(P!==void 0)if($.selected.has(P))I.selected=!0;else if(o2($.selected,r,P))I.selected=!0,O.delete(S2+r),O.set(P,l);else I.selected=!1;else I.selected=!1}else I.selected=!1;I.focused=$.focusVisible&&$.focusedIndex===G}),Z.registerMethod("_getSelectedIds",()=>$.selected),Z.registerMethod("_getFocusedIndex",()=>$.focusVisible?$.focusedIndex:-1),M.root.classList.add(`${s}--selectable`);let S=(G)=>{T=null,z=-1;let I=G.target.closest("[data-index]");if(!I)return!1;let r=parseInt(I.dataset.index??"-1",10);if(r<0)return!1;if(b?.(r))return!1;if(E(r)<0)return!1;let P=A(r);if(!P)return!1;return T=P,z=r,!0},u=(G)=>{if(G<0)return;if(y){y(G);return}let I=Z.getNavConfig(),r=I.scrollIndex?I.scrollIndex(G):G,l=N.getOffset(r),P=N.getSize(r),n=V.containerSize,V2=V.scrollPosition;if(l<V2)c(l);else if(l+P>V2+n)c(l-n+P)},Y=()=>{if(V.destroyed)return;if(D(Z),!M.content.matches(":focus-visible")&&!M.root.matches(":focus-visible"))return;let G=C();if(G===0)return;let I=$.focusedIndex>=0?Math.min($.focusedIndex,G-1):0;I=h(I,1,G),$.focusedIndex=I,$.focusVisible=!0,M.content.setAttribute("aria-activedescendant",`${s}-item-${I}`),u(I),U()};M.root.addEventListener("focusin",Y);let w=(G)=>{if(V.destroyed)return;let I=G.relatedTarget;if(I&&M.root.contains(I))return;$.focusVisible=!1,U(),M.content.removeAttribute("aria-activedescendant")};M.root.addEventListener("focusout",w),Z.registerDestroyHandler(()=>{M.root.removeEventListener("focusin",Y),M.root.removeEventListener("focusout",w)}),Z.registerClickHandler((G)=>{if(D(Z),!S(G))return;if(J==="multiple"&&G.shiftKey&&$.focusedIndex>=0){let r=L>=0?L:$.focusedIndex,l=E(r),P=E(z);if(l>=0&&P>=0)m(r,z);$.focusedIndex=z,$.focusVisible=q,L=z,d();return}$.focusedIndex=z,$.focusVisible=q,L=z,(M.content.getAttribute("tabindex")!==null?M.content:M.root).focus(i1),g(T.id,T),d()}),Z.registerKeydownHandler((G)=>{D(Z);let I=C();if(I===0)return;let r=Z.getNavConfig(),l=$.focusedIndex,P=!1,n=!1;if(r.navigate&&(G.key==="ArrowUp"||G.key==="ArrowDown"||G.key==="ArrowLeft"||G.key==="ArrowRight"||G.key==="PageUp"||G.key==="PageDown"||G.key==="Home"||G.key==="End")){let $2=r.navigate($.focusedIndex,G.key,I);if($2!==$.focusedIndex)$.focusedIndex=Math.max(0,Math.min($2,I-1));$.focusVisible=!0,P=!0}else switch(G.key){case"ArrowUp":{let $2=r.ud||1,Z2=r.lr,X2=f.axis.primary==="x";if(X2&&!Z2)break;c2($,-(X2?Z2:$2),I,f.reverse),$.focusVisible=!0,P=!0;break}case"ArrowDown":{let $2=r.ud||1,Z2=r.lr,X2=f.axis.primary==="x";if(X2&&!Z2)break;c2($,X2?Z2:$2,I,f.reverse),$.focusVisible=!0,P=!0;break}case"ArrowLeft":{let $2=r.ud||1,Z2=r.lr,X2=f.axis.primary==="x";if(!X2&&!Z2)break;c2($,-(X2?$2:Z2),I,f.reverse),$.focusVisible=!0,P=!0;break}case"ArrowRight":{let $2=r.ud||1,Z2=r.lr,X2=f.axis.primary==="x";if(!X2&&!Z2)break;c2($,X2?$2:Z2,I,f.reverse),$.focusVisible=!0,P=!0;break}case"Home":if(I>0)$.focusedIndex=0;$.focusVisible=!0,P=!0;break;case"End":if(I>0)$.focusedIndex=I-1;$.focusVisible=!0,P=!0;break;case"PageUp":case"PageDown":{let $2=r.ud||1,Z2=Math.max(0,$.focusedIndex),X2=r.scrollIndex?r.scrollIndex(Z2):Z2,O2=N.getSize(X2),F2=V.containerSize,p=(O2>0?Math.max(1,Math.floor(F2/O2)):10)*$2;if(F&&v){let e=F($.focusedIndex),a=G.key==="PageUp"?-p:p,j2=V.totalItems-1;$.focusedIndex=v(Math.max(0,Math.min(j2,e+a)))}else c2($,G.key==="PageUp"?-p:p,I);$.focusVisible=!0,P=!0;break}case" ":case"Enter":if(G.key===" "&&G.shiftKey&&J==="multiple"&&$.focusedIndex>=0){if(L>=0){let $2=E(L),Z2=E($.focusedIndex);if($2>=0&&Z2>=0)m(L,$.focusedIndex)}$.focusVisible=!0,n=!0,P=!0;break}if($.focusedIndex>=0){let $2=A($.focusedIndex);if($2)g($2.id,$2),L=$.focusedIndex;$.focusVisible=!0,n=!0,P=!0}break;case"a":if((G.ctrlKey||G.metaKey)&&J==="multiple"){if($.selected.size===V.totalItems)i();else Q2();$.focusVisible=!0,n=!0,P=!0}break;case"Delete":case"Backspace":if($.selected.size>0)K.emit("delete",{selected:Z0($.selected),items:J2()}),P=!0;break}if($.focusedIndex!==l&&b){let $2=$.focusedIndex>l?1:-1;$.focusedIndex=h($.focusedIndex,$2,I)}let V2=$.focusedIndex!==l;if(G.shiftKey&&J==="multiple"&&!n&&V2){if(G.key==="ArrowUp"||G.key==="ArrowDown"||G.key==="ArrowLeft"||G.key==="ArrowRight"){let X2=A($.focusedIndex);if(X2)g(X2.id,X2);L=$.focusedIndex,n=!0}if((G.ctrlKey||G.metaKey)&&(G.key==="Home"||G.key==="End")){let X2=l>=0?l:$.focusedIndex,O2=E(X2),F2=E($.focusedIndex);if(O2>=0&&F2>=0)m(X2,$.focusedIndex);L=$.focusedIndex,n=!0}}if(j&&J==="single"&&!n&&V2&&$.focusedIndex>=0){let $2=A($.focusedIndex);if($2)k($2.id,$2);n=!0}if(P){if(G.preventDefault(),V2&&$.focusedIndex>=0)u($.focusedIndex),M.content.setAttribute("aria-activedescendant",`${s}-item-${$.focusedIndex}`);if(n)d();else if(V2){if(U(),$.focusedIndex>=0){let $2=A($.focusedIndex);if($2)K.emit("focus:change",{id:$2.id,index:$.focusedIndex})}}}}),Z.registerMethod("select",(...G)=>{for(let I of G)k(I);d()}),Z.registerMethod("deselect",(...G)=>{for(let I of G)x(I);d()}),Z.registerMethod("toggleSelect",(G)=>{g(G),d()}),Z.registerMethod("selectAll",()=>{if(J!=="multiple")return;Q2(),d()}),Z.registerMethod("clearSelection",()=>{i(),d()}),Z.registerMethod("getSelected",()=>{return Z0($.selected)}),Z.registerMethod("getSelectedItems",()=>{return J2()}),Z.registerMethod("selectNext",()=>{D(Z);let G=C();if(G===0)return;if(c2($,1,G,f.reverse),b)$.focusedIndex=h($.focusedIndex,1,G);let I=A($.focusedIndex);if(I)k(I.id,I);d()}),Z.registerMethod("selectPrevious",()=>{D(Z);let G=C();if(G===0)return;if(c2($,-1,G,f.reverse),b)$.focusedIndex=h($.focusedIndex,-1,G);let I=A($.focusedIndex);if(I)k(I.id,I);d()}),Z.registerMethod("_seedSelection",(G)=>{for(let I of G)$.selected.add(I)}),Z.registerMethod("_isFollowFocus",()=>j),Z.registerMethod("_getFocusedId",()=>{if($.focusedIndex<0)return;return A($.focusedIndex)?.id}),Z.registerMethod("_focusById",(G)=>{let I=V.totalItems;for(let r=0;r<I;r++){if(b?.(r))continue;let l=A(r);if(l&&l.id===G){$.focusedIndex=r,K.emit("focus:change",{id:G,index:r});return}}})},destroy(){O.clear()}}}var K0=(Q)=>Q==null?0:typeof Q==="function"?Q():Q;function L0(Q){let J=Q?.scrollPadding,j,q;return{name:"page",priority:5,setup($){let{dom:B,sizeCache:U,config:K,emitter:M}=$,N=K.axis.primary==="x",V=window,c=$.getState();if($.disableDefaultScroll(),$.disableDefaultResize(),B.root.style.overflow="visible",B.root.style.height="auto",N)B.viewport.style.overflowX="visible",B.viewport.style.overflowY="visible";else B.viewport.style.overflow="visible";B.viewport.classList.remove(`${K.classPrefix}-viewport--custom-scrollbar`),$.setScrollFns(()=>{let y=B.viewport.getBoundingClientRect();return Math.max(0,N?-y.left:-y.top)},(y)=>{let C=B.viewport.getBoundingClientRect(),W=(N?C.left+V.scrollX:C.top+V.scrollY)+y;if(N)V.scrollTo({left:W,top:V.scrollY,behavior:"instant"});else V.scrollTo({left:V.scrollX,top:W,behavior:"instant"})}),c.containerSize=N?V.innerWidth:V.innerHeight,c.crossSize=N?V.innerHeight:V.innerWidth;let L=null,O=()=>{let y=B.viewport.getBoundingClientRect(),C=Math.max(0,N?-y.left:-y.top);if(c.prevScrollPosition=c.scrollPosition,c.scrollPosition=C,c.scrollDirection=C>c.prevScrollPosition?1:C<c.prevScrollPosition?-1:0,$.onScrollFrame(),L!==null)clearTimeout(L);L=setTimeout(()=>{L=null,$.onScrollIdle()},150)};V.addEventListener("scroll",O,{passive:!0}),q=()=>V.removeEventListener("scroll",O);let{innerWidth:F,innerHeight:v}=V,b=()=>{let{innerWidth:y,innerHeight:C}=V;if((N?Math.abs(y-F):Math.abs(C-v))<1)return;F=y,v=C,c.containerSize=N?y:C,c.crossSize=N?C:y,$.forceRender(),M.emit("resize",{width:y,height:C})};if(V.addEventListener("resize",b),j=()=>V.removeEventListener("resize",b),J)$.setScrollToPosFn((y,C,W,D,E)=>{let _=K0(N?J.left:J.top),H=K0(N?J.right:J.bottom);if(D===0)return 0;let A=Math.max(0,Math.min(y,D-1)),h=C.getOffset(A),k=C.getSize(A),g=C.getTotalSize(),i=Math.max(0,g-W+H),x;switch(E){case"center":x=h-_-(W-_-H-k)/2;break;case"end":x=h-W+k+H;break;default:x=h-_}return Math.max(-_,Math.min(x,i))}),$.registerMethod("_scrollItemIntoView",(y)=>{let C=N?V.innerWidth:V.innerHeight,W=K0(N?J.left:J.top),D=K0(N?J.right:J.bottom),E=B.viewport.getBoundingClientRect(),_=N?V.scrollX:V.scrollY,H=N?E.left:E.top,A=H+_,h=U.getOffset(y),k=U.getSize(y),g=H+h,i=C-D,x=_;if(g<W)x=A+h-W;else if(g+k>i)x=A+h+k-i;if(x!==_)if(N)V.scrollTo({left:x,top:V.scrollY,behavior:"instant"});else V.scrollTo({left:V.scrollX,top:x,behavior:"instant"})});$.registerDestroyHandler(()=>{if(q?.(),j?.(),L!==null)clearTimeout(L)})},destroy(){q?.(),j?.(),q=void 0,j=void 0}}}var n1=(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?n1(J):Q?.restore,q=!1,$=null;return{name:"snapshots",priority:50,setup(B){let{sizeCache:U,emitter:K}=B,M=B.getState(),N=()=>{let{scrollPosition:L,totalItems:O}=M,v=B.getMethod("getSelected")?.();if(O===0){let H={index:0,offsetInItem:0,total:0};if(v?.length)H.selectedIds=v;return H}let b,y;if(M.isCompressed&&M.compressionRatio!==1){let H=M.totalSize,h=L/H*O;b=Math.max(0,Math.min(Math.floor(h),O-1)),y=(h-b)*U.getSize(b)}else b=U.indexAtOffset(L),y=L-U.getOffset(b);y=Math.max(0,y);let C={index:b,offsetInItem:y,total:O,scrollTop:L},W=U.getSize(b);if(W)C.offsetRatio=y/W;let D=B.getMethod("_layoutToDataIndex");if(D){let H=D(b);if(H<0){for(let A=b+1;A<O;A++)if(H=D(A),H>=0)break}if(H>=0)C.dataIndex=H}let E=B.getMethod("_getTotal");if(E)C.dataTotal=E();if(v?.length)C.selectedIds=v;let _=B.getMethod("_getFocusedId");if(_){let H=_();if(H!==void 0)C.focusedId=H}return C};B.registerMethod("getScrollSnapshot",N);let V=(L,O=!0)=>{let{index:F,offsetInItem:v,selectedIds:b,focusedId:y}=L,C=M.totalItems,W=L.dataTotal??L.total;if(C===0&&W&&W>0){let J2=B.getMethod("_setTotal");if(J2)J2(W),C=M.totalItems;U.rebuild(C);let d=B.getMethod("_updateCompressionMode");if(d)d();if(!M.isCompressed)B.updateContentSize(U.getTotalSize()),M.totalSize=U.getTotalSize()}if(C===0)return Promise.resolve();if(!Number.isFinite(F)||!Number.isFinite(v))return Promise.resolve();if(U.getTotal()===0){U.rebuild(C);let J2=B.getMethod("_updateCompressionMode");if(J2)J2();if(!M.isCompressed)B.updateContentSize(U.getTotalSize()),M.totalSize=U.getTotalSize()}let E=B.getMethod("_dataToLayoutIndex"),_=F;if(L.dataIndex!==void 0&&L.dataIndex>=0)_=E?E(L.dataIndex):L.dataIndex;else if(E)_=E(F);let H=Math.max(0,Math.min(_,C-1)),A=U.getSize(H),h=L.offsetRatio!==void 0?L.offsetRatio*A:Math.min(v,A),k=B.getMethod("_getTotal")?.(),g=L.total===C||k!==void 0&&L.dataTotal===k,i;if(M.isCompressed&&M.compressionRatio!==1)if(L.scrollTop!==void 0&&g)i=L.scrollTop;else{let J2=A?h/A:0;i=(H+J2)/C*M.totalSize}else if(L.scrollTop!==void 0&&g)i=L.scrollTop;else i=U.getOffset(H)+h;let x=Math.max(0,M.totalSize-M.containerSize);if(i=Math.max(0,Math.min(i,x)),B.scrollTo(i),O&&b?.length){let J2=B.getMethod("select");if(J2)J2(...b)}let m=B.getMethod("loadVisibleRange"),Q2=()=>{if(y===void 0)return;let J2=B.getMethod("_focusById");if(J2)J2(y)};return new Promise((J2)=>{let d=(T)=>{if(T)Q2();J2()};if(m){let T=0,z=()=>{if(M.containerSize>0){if(Math.abs(M.scrollPosition-i)>1)B.scrollTo(i);m().then(()=>d(!0),()=>d(!1))}else if(++T<10)requestAnimationFrame(z);else d(!1)};requestAnimationFrame(z)}else{let T=B.getMethod("reload");if(T)requestAnimationFrame(()=>{T().then(()=>d(!0),()=>d(!1))});else requestAnimationFrame(()=>d(!0))}})};B.registerMethod("restoreScroll",V);let c=!!(j&&J);if(B.registerDestroyHandler(()=>{q=!0}),J){$=()=>{if(q||c)return;let C=N();try{sessionStorage.setItem(J,JSON.stringify(C))}catch{}},B.registerMethod("_saveSnapshot",$);let L=0,O=()=>{if(L)return;L=requestAnimationFrame(()=>{if(L=0,$)$()})};K.on("selection:change",O),K.on("focus:change",O);let F=0,v=()=>{if(F=0,$)$()},b=()=>{if(F)clearTimeout(F);F=setTimeout(v,300)};K.on("scroll",b);let y=()=>{$?.()};if(window.addEventListener("beforeunload",y),B.registerDestroyHandler(()=>{if(L)cancelAnimationFrame(L);if(F)clearTimeout(F);window.removeEventListener("beforeunload",y)}),j&&j.total&&j.total>0){let C=B.getMethod("_cancelAutoLoad");if(C)C();let W=B.getMethod("_setTotal");if(W)W(j.total)}}if(j){let L=!0;if(j.selectedIds?.length){let O=B.getMethod("_seedSelection");if(O)O(j.selectedIds),L=!1}queueMicrotask(()=>{if(V(j,L),c=!1,$)$()})}},hooks:{onIdle(){if($&&!q)$()}},destroy(){q=!0,$=null}}}function V1(Q,J){if(J===!1)return null;return{duration:Math.min(J?.duration??Q.duration,1000),easing:J?.easing??Q.easing}}function F0(Q){let J=Q?.duration??200,j=Q?.easing??"cubic-bezier(0.2, 0, 0, 1)",q={duration:J,easing:j},$=V1(q,Q?.remove),B=V1(q,Q?.insert),U=null,K=null;return{name:"transition",conflicts:["grid","table","masonry"],priority:45,setup(M){let{sizeCache:N,emitter:V}=M,c=M.config,L=M.dom,O=M.getState(),F=c.reverse?"bottom center":"top center",v=c.axis.primary==="x"?"translateX":"translateY",b=M.getMethod("_dataToLayoutIndex")??null,y=(D)=>b?b(D):D,C=(D)=>{let E=String(D).replace(/"/g,"\\\""),_=L.content.querySelector(`[data-id="${E}"]`),H=_?parseInt(_.dataset.index??"-1",10):-1;return{el:_,layoutIndex:H}},W=()=>{let D=L.content.children;for(let E=0;E<D.length;E++)D[E].style.transition="none";L.content.offsetHeight;for(let E=0;E<D.length;E++)D[E].style.transition=""};if($){let D=(_)=>{if(U)U();let H=typeof document<"u"?document.activeElement:null,A=H&&L.content.contains(H)?parseInt(H.dataset?.index??"-1",10):-1,h=C(_),k=h.layoutIndex,g=h.el,i=k>=0?N.getSize(k):0,x=k>=0?N.getOffset(k):0;if(!g||k<0){if(M.removeItemById(_)<0)return!1;if(M.forceRender(),W(),V.emit("data:change",{type:"remove",id:_}),A>=0){let I=O.totalItems;if(I>0)M.getRenderedElement(Math.min(A,I-1))?.focus()}return V.emit("remove:end",{id:_}),!0}let m=g.cloneNode(!0);m.style.pointerEvents="none",m.style.overflow="hidden",m.removeAttribute("data-index"),m.removeAttribute("data-id"),m.removeAttribute("id"),m.removeAttribute("aria-selected"),m.classList.remove(`${c.classPrefix}-item--selected`);let Q2=c.axis.primary==="x"?"scrollLeft":"scrollTop",J2=L.viewport[Q2];if(M.removeItemById(_)<0)return!1;M.forceRender(),W(),V.emit("data:change",{type:"remove",id:_});let T=J2-L.viewport[Q2];m.style.zIndex="1",L.content.appendChild(m);let z=$,Z={duration:z.duration,easing:z.easing},f=[],s=Math.round(x-T);f.push(m.animate([{transform:`${v}(${s}px) scaleY(1)`,opacity:1,transformOrigin:F},{transform:`${v}(${Math.round(x)}px) scaleY(0)`,opacity:0,transformOrigin:F}],Z));let S=T>0,u=L.content.children;for(let G=0;G<u.length;G++){let I=u[G];if(I===m)continue;let r=parseInt(I.dataset?.index??"-1",10);if(r<0||!S&&r<k)continue;let l=N.getOffset(r),P=r>=k?Math.round(l+i-T):Math.round(l-T),n=Math.round(l);if(P===n)continue;f.push(I.animate([{transform:`${v}(${P}px)`},{transform:`${v}(${n}px)`}],Z))}let Y=!1,w=()=>{if(Y)return;Y=!0,U=null,m.remove();for(let G of f)if(G.playState!=="finished")G.cancel();if(A>=0){let G=O.totalItems;if(G>0)M.getRenderedElement(Math.min(A,G-1))?.focus()}V.emit("remove:end",{id:_})};return U=w,Promise.all(f.map((G)=>G.finished)).then(w,w),setTimeout(w,z.duration+50),!0},E=(_)=>{if(_.length===0)return 0;if(_.length===1)return D(_[0])?1:0;if(U)U();if(K)K();let H=typeof document<"u"?document.activeElement:null,A=H&&L.content.contains(H)?parseInt(H.dataset?.index??"-1",10):-1,h=[];for(let Y of _){let w=C(Y);h.push({id:Y,layoutIndex:w.layoutIndex,el:w.el,size:w.layoutIndex>=0?N.getSize(w.layoutIndex):0,offset:w.layoutIndex>=0?N.getOffset(w.layoutIndex):0})}h.sort((Y,w)=>w.layoutIndex-Y.layoutIndex);let k=[];for(let Y of h){if(!Y.el||Y.layoutIndex<0)continue;let w=Y.el.cloneNode(!0);w.style.pointerEvents="none",w.style.overflow="hidden",w.removeAttribute("data-index"),w.removeAttribute("data-id"),w.removeAttribute("id"),w.removeAttribute("aria-selected"),w.classList.remove(`${c.classPrefix}-item--selected`),k.push({clone:w,offset:Y.offset,size:Y.size,layoutIndex:Y.layoutIndex})}let g=new Map,i=L.content.children;for(let Y=0;Y<i.length;Y++){let w=i[Y],G=w.dataset?.id,I=parseInt(w.dataset?.index??"-1",10);if(G&&I>=0)g.set(G,N.getOffset(I))}let x=c.axis.primary==="x"?"scrollLeft":"scrollTop",m=L.viewport[x],Q2=[];for(let Y of h)if(M.removeItemById(Y.id)>=0)Q2.push(Y.id);if(Q2.length===0)return 0;M.forceRender(),W();for(let Y of Q2)V.emit("data:change",{type:"remove",id:Y});if(k.length===0){if(A>=0){let Y=O.totalItems;if(Y>0)M.getRenderedElement(Math.min(A,Y-1))?.focus()}for(let Y of Q2)V.emit("remove:end",{id:Y});return Q2.length}let J2=m-L.viewport[x],d=$,T={duration:d.duration,easing:d.easing},z=[];k.sort((Y,w)=>Y.layoutIndex-w.layoutIndex);let Z=0;for(let Y of k){Y.clone.style.zIndex="1",L.content.appendChild(Y.clone);let w=Math.round(Y.offset-J2),G=Math.round(Y.offset-Z);z.push(Y.clone.animate([{transform:`${v}(${w}px) scaleY(1)`,opacity:1,transformOrigin:F},{transform:`${v}(${G}px) scaleY(0)`,opacity:0,transformOrigin:F}],T)),Z+=Y.size}let f=new Set(k.map((Y)=>Y.clone)),s=L.content.children;for(let Y=0;Y<s.length;Y++){let w=s[Y];if(f.has(w))continue;let G=w.dataset?.id,I=parseInt(w.dataset?.index??"-1",10);if(!G||I<0)continue;let r=g.get(G);if(r===void 0)continue;let l=N.getOffset(I),P=Math.round(r-J2),n=Math.round(l);if(P===n)continue;z.push(w.animate([{transform:`${v}(${P}px)`},{transform:`${v}(${n}px)`}],T))}let S=!1,u=()=>{if(S)return;S=!0,U=null;for(let{clone:Y}of k)Y.remove();for(let Y of z)if(Y.playState!=="finished")Y.cancel();if(A>=0){let Y=O.totalItems;if(Y>0)M.getRenderedElement(Math.min(A,Y-1))?.focus()}for(let Y of Q2)V.emit("remove:end",{id:Y})};return U=u,Promise.all(z.map((Y)=>Y.finished)).then(u,u),setTimeout(u,d.duration+50),Q2.length};M.registerMethod("removeItem",D),M.registerMethod("removeItems",E)}if(B){let D=(E,_)=>{if(K)K();if(U)U();let H=_??0,A=new Map,h=L.content.children;for(let Y=0;Y<h.length;Y++){let w=h[Y],G=w.dataset?.id,I=parseInt(w.dataset?.index??"-1",10);if(G&&I>=0)A.set(G,N.getOffset(I))}let k=c.axis.primary==="x"?"scrollLeft":"scrollTop",g=c.axis.primary==="x"?"scrollWidth":"scrollHeight",i=c.axis.primary==="x"?"clientWidth":"clientHeight",x=L.viewport[k],m=L.viewport[g]-L.viewport[i],Q2=x>=m-1;M.insertItemAt(E,H),M.forceRender(),W(),V.emit("data:change",{type:"insert",id:E.id});let J2=L.viewport[k]-x,d=y(H);if(c.reverse&&J2===0&&Q2){L.viewport[k]=L.viewport[g]-L.viewport[i];let Y=L.viewport[k];if(O.prevScrollPosition=O.scrollPosition,O.scrollPosition=Y,J2=Y-x,J2>0)M.forceRender(),W()}let T=M.getRenderedElement(d),z=B,Z={duration:z.duration,easing:z.easing},f=[];if(T){let Y=N.getOffset(d);f.push(T.animate([{transform:`${v}(${Math.round(Y)}px) scaleY(0)`,opacity:0,transformOrigin:F},{transform:`${v}(${Math.round(Y)}px) scaleY(1)`,opacity:1,transformOrigin:F}],Z))}let s=L.content.children;for(let Y=0;Y<s.length;Y++){let w=s[Y];if(w===T)continue;let G=w.dataset?.id,I=parseInt(w.dataset?.index??"-1",10);if(!G||I<0)continue;let r=A.get(G);if(r===void 0)continue;let l=N.getOffset(I),P=Math.round(r+J2),n=Math.round(l);if(P===n)continue;f.push(w.animate([{transform:`${v}(${P}px)`},{transform:`${v}(${n}px)`}],Z))}if(f.length===0)return;let S=!1,u=()=>{if(S)return;S=!0,K=null;for(let Y of f)if(Y.playState!=="finished")Y.cancel()};K=u,Promise.all(f.map((Y)=>Y.finished)).then(u,u),setTimeout(u,z.duration+50)};M.registerMethod("insertItem",D)}},destroy(){if(U)U();if(K)K()}}}function E0(Q){let J=Q?.gap??0,j=null,q=null,$,B,U,K,M=new Map,N=new WeakMap,V=0,c=!1,L=!1,O=!1,F=2;function v(W){return M.get(W)??K}function b(){let W=q.dom.viewport,D=W.scrollHeight-W.clientHeight;return D>0&&$.scrollPosition>=D-F}function y(){let W=q.dom.viewport;W.scrollHeight;let D=W.scrollHeight-W.clientHeight;if(D>$.scrollPosition)q.scrollTo(D)}function C(){q.updateContentSize(q.sizeCache.getTotalSize())}return{name:"autosize",priority:5,setup(W){if(q=W,$=W.getState(),B=W.config.axis.primary==="x",U=B?"width":"height",J===0)J=W.config.gap;if(K=typeof W.rawSizeSpec==="function"?W.rawSizeSpec(0)+J:W.rawSizeSpec+J,W.setSizeConfig(v),J>0){let _=W.sizeCache.getTotalSize;W.sizeCache.getTotalSize=()=>{let H=_();return H>0?H-J:0}}j=new ResizeObserver((_)=>{if($.destroyed||!q)return;let H=!1,A=W.sizeCache.indexAtOffset($.scrollPosition);for(let x of _){let m=x.target,Q2=N.get(m);if(Q2===void 0)continue;if(m.getAttribute("data-index")!==String(Q2)){j.unobserve(m);continue}if(M.has(Q2))continue;let J2=x.borderBoxSize[0];if(!J2)continue;let d=B?J2.inlineSize:J2.blockSize;if(d<=0)continue;let T=d+J,z=K;if(M.set(Q2,T),H=!0,Q2<A&&T!==z)V+=T-z;j.unobserve(m),m.style[U]=`${d}px`}if(!H)return;let h=b();if(W.rebuildSizeCache(),V)W.scrollTo($.scrollPosition+V),V=0;let k=$.scrollDirection!==0,g=$.totalItems>0&&$.prevRangeEnd>=$.totalItems-1,i=L&&!O;if(i||h||g||!k){if(C(),c=!1,i||h)y()}else c=!0;W.forceRender()}),W.setScrollToIndexFn((_,H,A,h,k)=>{let g=_>=$.totalItems-1&&H==="end";if(L=g,O=!1,!g)return!1;let i=W.config.mainAxisPadding,x=()=>{let m=W.sizeCache.getTotalSize();return Math.max(0,m+i-$.containerSize)};if(A==="smooth")O=!0,W.smoothScrollTo(x,h??300,k,()=>{O=!1});else W.scrollTo(x())});let D=()=>{L=!1},E=W.dom.viewport;E.addEventListener("wheel",D,{passive:!0}),E.addEventListener("touchstart",D,{passive:!0}),W.registerDestroyHandler(()=>{E.removeEventListener("wheel",D),E.removeEventListener("touchstart",D)}),W.registerMethod("isMeasured",(_)=>M.has(_)),W.registerMethod("setMeasuredSize",(_,H)=>{M.set(_,H)}),W.registerMethod("getMeasuredCount",()=>M.size),W.registerDestroyHandler(()=>{if(j)j.disconnect(),j=null})},hooks:{onCommit(W){if(!j||!q)return;for(let D=0;D<W.visibleCount;D++){let E=W.visibleIndices[D];if(M.has(E))continue;let _=q.getRenderedElement(E);if(!_)continue;_.style[U]="",N.set(_,E),j.observe(_)}},onIdle(){if(!q||!c)return;let W=b();if(C(),c=!1,W)y(),q.forceRender()}},destroy(){if(j)j.disconnect(),j=null;M.clear(),L=!1,O=!1,q=null}}}var N1=(Q)=>{let J=Math.max(1,Math.floor(Q.columns)),j=Q.gap??0,q=Q.containerSize,$=Q.crossOffset??0,B=Q.mainOffset??0,U=0,K=[],M=()=>{let y=(J-1)*j;U=Math.max(0,(q-y)/J),K=Array(J);let C=U+j;for(let W=0;W<J;W++)K[W]=$+W*C};M();let N=[],V=0,c=[],L=(y,C)=>{if(y<=0)return V=0,N=[],[];let W=Array(J).fill(B),D=Array(J);for(let H=0;H<J;H++)D[H]=[];let E=Array(y);for(let H=0;H<y;H++){let A=0,h=W[0];for(let i=1;i<J;i++){let x=W[i];if(x<h)h=x,A=i}let k=C(H),g=W[A];E[H]={index:H,x:K[A],y:g,lane:A,size:k,crossSize:U},D[A].push(H),W[A]=g+k+j}N=D;let _=0;for(let H=0;H<J;H++){let A=W[H],h=A>0?A-j:0;if(h>_)_=h}return V=_,E},O=(y)=>{if(y.length===0)return V;if(V)return V;let C=Array(J).fill(0);for(let D of y){let E=D.y+D.size,_=C[D.lane];if(E>_)C[D.lane]=E}let W=0;for(let D=0;D<J;D++)if(C[D]>W)W=C[D];return W},F=(y,C,W)=>{if(y.length===0||W<=C)return c.length=0,c;if(N.length===0||N.length!==J)return v(y,C,W);c.length=0;for(let D=0;D<J;D++){let E=N[D],_=E.length;if(!_)continue;let H=0,A=_;while(H<A){let h=H+A>>>1,k=y[E[h]];if(k.y+k.size<=C)H=h+1;else A=h}for(let h=H;h<_;h++){let k=y[E[h]];if(k.y>=W)break;c.push(k)}}return c},v=(y,C,W)=>{c.length=0;for(let D of y)if(D.y+D.size>C&&D.y<W)c.push(D);return c};return{get columns(){return J},get gap(){return j},get containerSize(){return q},update:(y)=>{let C=!1;if(y.columns!==void 0){let W=Math.max(1,Math.floor(y.columns));if(W!==J)J=W,C=!0}if(y.gap!==void 0&&y.gap!==j)j=y.gap,C=!0;if(y.containerSize!==void 0&&y.containerSize!==q)q=y.containerSize,C=!0;if(y.crossOffset!==void 0&&y.crossOffset!==$)$=y.crossOffset,C=!0;if(y.mainOffset!==void 0&&y.mainOffset!==B)B=y.mainOffset,C=!0;if(C)M()},calculateLayout:L,getTotalSize:O,getVisibleItems:F}};var _1=(Q,J,j)=>{let q=Array.from(J).sort((U,K)=>U-K);if(q.length<=1)return;let $=[];for(let U=0;U<q.length;U++){let K=j(q[U]);if(K)$.push(K)}if($.length<=1)return;let B=Q.firstChild;for(let U=0;U<$.length;U++){let K=$[U];if(K===B)B=B.nextSibling;else Q.insertBefore(K,B)}};var t1=(Q=200)=>{let J=[];return{acquire:()=>{let B=J.pop();if(B)return B;let U=document.createElement("div");return U.setAttribute("role","option"),U},release:(B)=>{if(B.remove(),J.length<Q)B.className="",B.textContent="",B.removeAttribute("style"),B.removeAttribute("data-index"),B.removeAttribute("data-id"),B.removeAttribute("data-lane"),J.push(B)},clear:()=>{J.length=0}}},e1=1,X1=(Q,J,j,q=!1,$,B,U,K)=>{let M=t1(),N=new Map,V=new Set,c=0,L="",O=-1,F={selected:!1,focused:!1},v=(m,Q2)=>{return F.selected=m,F.focused=Q2,F},b=`${j}-item ${j}-masonry-item`,y=`${j}-group-header`,C=`${j}-item--selected`,W=`${j}-item--focused`,D=(m,Q2)=>{if(typeof Q2==="string")m.innerHTML=Q2;else m.replaceChildren(Q2);p2(m)},E=(m,Q2,J2)=>{m.classList.toggle(C,Q2),m.classList.toggle(W,J2)},_=(m,Q2)=>{if(q)m.style.transform=`translate(${Math.round(Q2.y)}px, ${Math.round(Q2.x)}px)`;else m.style.transform=`translate(${Math.round(Q2.x)}px, ${Math.round(Q2.y)}px)`},H=(m,Q2)=>{if(q)m.style.width=`${Q2.size}px`,m.style.height=`${Q2.crossSize}px`;else m.style.width=`${Q2.crossSize}px`,m.style.height=`${Q2.size}px`},A=(m,Q2,J2,d,T)=>{let z=M.acquire(),Z=Q2.__groupHeader,f=v(d,T);if(z.className=Z?y:b,z.dataset.index=String(m),z.dataset.id=String(Q2.id),z.dataset.lane=String(J2.lane),Z)z.setAttribute("role","presentation"),z.removeAttribute("aria-selected"),z.removeAttribute("aria-setsize"),z.removeAttribute("aria-posinset"),z.removeAttribute("id");else if(K===!0){if(z.setAttribute("role","option"),z.ariaSelected=String(d),B)z.id=`${B}-item-${m}`;if($){let S=$();if(S!==O)O=S,L=String(S);z.setAttribute("aria-setsize",L);let u=U?U(m):m+1;z.setAttribute("aria-posinset",String(u))}}else if(z.setAttribute("role","listitem"),z.removeAttribute("aria-selected"),$){let S=$();if(S!==O)O=S,L=String(S);z.setAttribute("aria-setsize",L);let u=U?U(m):m+1;z.setAttribute("aria-posinset",String(u))}H(z,J2);let s=J(Q2,m,f);return D(z,s),E(z,d,T),_(z,J2),{element:z,lastItem:Q2,lastSelected:d,lastFocused:T,lastY:J2.y,lastX:J2.x,lastSize:J2.size,lastCrossSize:J2.crossSize,lastSeenFrame:c}},h=(m,Q2,J2,d)=>{c++,V.clear();for(let z=0;z<Q2.length;z++)V.add(Q2[z].index);let T=null;for(let z=0;z<Q2.length;z++){let Z=Q2[z],f=Z.index,s=m(f);if(!s)continue;let S=J2.has(s.id),u=f===d,Y=N.get(f);if(Y){let w=Y.lastItem!==s,G=Y.lastSelected!==S,I=Y.lastFocused!==u,r=Y.lastY!==Z.y||Y.lastX!==Z.x,l=Y.lastSize!==Z.size||Y.lastCrossSize!==Z.crossSize;if(w){let P=v(S,u),n=J(s,f,P);if(D(Y.element,n),Y.element.dataset.id=String(s.id),Y.lastItem=s,!s.__groupHeader){let $2=U?U(f):f+1;Y.element.setAttribute("aria-posinset",String($2))}}if(w||G||I)E(Y.element,S,u),Y.element.ariaSelected=String(S),Y.lastSelected=S,Y.lastFocused=u;if(l)H(Y.element,Z),Y.lastSize=Z.size,Y.lastCrossSize=Z.crossSize;if(r)_(Y.element,Z),Y.lastY=Z.y,Y.lastX=Z.x}else{let w=A(f,s,Z,S,u);if(!T)T=document.createDocumentFragment();T.appendChild(w.element),N.set(f,w)}}if(T)Q.appendChild(T);for(let[z,Z]of N)if(V.has(z))Z.lastSeenFrame=c;else if(c-Z.lastSeenFrame>e1)M.release(Z.element),N.delete(z)},k=()=>{for(let m of N.values())M.release(m.element);N.clear(),Q.innerHTML=""};return{render:h,getElement:(m)=>N.get(m)?.element,updateItemClasses:(m,Q2,J2)=>{let d=N.get(m);if(!d)return;let T=d.lastSelected!==Q2,z=d.lastFocused!==J2;if(T||z)E(d.element,Q2,J2),d.lastSelected=Q2,d.lastFocused=J2},sortDOM:()=>{_1(Q,N.keys(),(m)=>N.get(m)?.element)},clear:k,destroy:()=>{k(),M.clear()}}};var $4=100,J4=new Set;function R0(Q){if(!Q.columns||Q.columns<1)throw Error("[vlist] masonry: columns must be >= 1");let J,j=null,q,$=null,B,U,K,M=[],N=-1,V=-1,c=!0,L=-1,O=0,F=0,v=0,b=0,y={columnWidth:0,columns:0,gap:0,containerWidth:0},C=[],W=(Z)=>C[Z],D=null,E=null,_=!1;function H(){if(_||!$)return;_=!0,D=$.getMethod("_getSelectedIds")??null,E=$.getMethod("_getFocusedIndex")??null}let A=[],h=new Int32Array(0),k=[];function g(){let Z=J.columns,f=M.length;A=Array(Z);for(let s=0;s<Z;s++)A[s]=[];if(h.length<f)h=new Int32Array(f);for(let s=0;s<f;s++){let S=M[s],u=A[S.lane].length;A[S.lane].push(s),h[s]=u}k=Array(Z);for(let s=0;s<Z;s++){let S=A[s],u=new Float64Array(S.length);for(let Y=0;Y<S.length;Y++){let w=M[S[Y]];u[Y]=w.y+w.size*0.5}k[s]=u}}function i(Z,f){let s=Z.length;if(!s)return-1;let S=0,u=s-1;while(S<u){let Y=S+u>>1;if(Z[Y]<f)S=Y+1;else u=Y}if(S>0&&Math.abs(Z[S-1]-f)<=Math.abs(Z[S]-f))return S-1;return S}function x(Z,f,s){let S=M[Z];if(!S)return Z;let u=S.lane,Y=J.columns,w=h[Z],G=A[u];switch(B?f==="ArrowDown"?"ArrowRight":f==="ArrowUp"?"ArrowLeft":f==="ArrowRight"?"ArrowDown":f==="ArrowLeft"?"ArrowUp":f:f){case"ArrowDown":if(w+1<G.length)return G[w+1];return Z;case"ArrowUp":if(w>0)return G[w-1];return Z;case"ArrowRight":{if(u>=Y-1)return Z;let r=u+1,l=S.y+S.size*0.5,P=A[r];if(!P.length)return Z;let n=i(k[r],l);return n>=0?P[n]:Z}case"ArrowLeft":{if(u<=0)return Z;let r=u-1,l=S.y+S.size*0.5,P=A[r];if(!P.length)return Z;let n=i(k[r],l);return n>=0?P[n]:Z}case"Home":return 0;case"End":{let r=A[Y-1];return r.length>0?r[r.length-1]:s-1}case"PageDown":{let r=q.containerSize,l=S.size>0?S.size:150,P=Math.max(1,Math.floor(r/l)),n=Math.min(w+P,G.length-1);return G[n]}case"PageUp":{let r=q.containerSize,l=S.size>0?S.size:150,P=Math.max(1,Math.floor(r/l)),n=Math.max(0,w-P);return G[n]}}return Z}let m=null;function Q2(){if(Q.size)return(Z)=>Q.size(Z,y);if(m!==null&&typeof m==="function")return(Z)=>m(Z,y);return(Z)=>$.sizeCache.getSize(Z)}function J2(){let{columns:Z,gap:f}=J;y.containerWidth=J.containerSize,y.columns=Z,y.gap=f,y.columnWidth=Math.max(0,(J.containerSize-(Z-1)*f)/Z)}function d(){if(!$)return;J2();let Z=q.totalItems;M=J.calculateLayout(Z,Q2()),L=Z,g();let f=J.getTotalSize(M)+b;$.updateContentSize(f)}function T(){if(q.destroyed||!$||!j)return;if(q.totalItems!==L)d();H();let{scrollPosition:Z,containerSize:f}=q;if(!c&&Z===N&&f===V)return;if(N=Z,V=f,c=!1,f<=0||M.length===0)return;let s=Math.max(0,Z-K),S=Z+f+K,u=J.getVisibleItems(M,s,S),Y=D?.()??J4,w=E?.()??-1;C=$.getItems(),j.render(W,u,Y,w);let G=u.length,I=G>0?u[0].index:0,r=G>0?u[G-1].index:0;q.prevRangeStart=I,q.prevRangeEnd=r,q.renderPending=!1;let l=Math.min(G,q.capacity);q.visibleCount=l,q.startIndex=I;for(let P=0;P<l;P++){let n=u[P];q.visibleIndices[P]=n.index,q.visibleOffsets[P]=n.y,q.visibleSizes[P]=n.size}}function z(){if(q.destroyed)return;d(),q.prevRangeStart=-1,q.prevRangeEnd=-1,q.renderPending=!0,c=!0,T()}return{name:"masonry",priority:10,conflicts:["grid","table"],setup(Z){if($=Z,q=Z.getState(),m=Z.rawSizeSpec,B=Z.config.axis.primary==="x",U=Z.config.classPrefix,K=Z.config.overscan*$4,Z.config.reverse)throw Error("[vlist] masonry: cannot be combined with reverse mode");O=Z.config.crossAxisPadding,F=Z.config.crossPadStart,v=Z.config.startPadding,b=Z.config.endPadding;let f=q.crossSize-O;J=N1({columns:Q.columns,gap:Q.gap??0,containerSize:f,crossOffset:F,mainOffset:v}),j=X1(Z.dom.content,Z.template,U,B,()=>q.totalItems),Z.dom.root.classList.add(`${U}--masonry`),Z.setRenderFn(T,z),d(),Z.registerMethod("getMasonryLayout",()=>J),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 S={};if(s.columns!==void 0)S.columns=s.columns;if(s.gap!==void 0)S.gap=s.gap;J.update(S),j?.clear(),z()}),Z.registerMethod("scrollToIndex",(s,S="start")=>{let u=M[s];if(!u)return;let Y=typeof S==="string"?S:S.align??"start",w=typeof S==="object"?S.behavior:void 0,G=typeof S==="object"?S.duration:void 0,I=q.containerSize,r=J.getTotalSize(M)+b,l=Math.max(0,r-I),P=u.y;if(Y==="center")P=u.y-I/2+u.size/2;else if(Y==="end"){if(P=u.y-I+u.size,s>=q.totalItems-1&&u.y+u.size>l)P=l}if(P=Math.max(0,Math.min(P,l)),w==="smooth"&&G&&G>0)Z.smoothScrollTo(P,G);else Z.scrollTo(P)}),Z.registerMethod("_scrollItemIntoView",(s)=>{let S=M[s];if(!S)return;let{scrollPosition:u,containerSize:Y}=q,w=J.getTotalSize(M)+b,G=Math.max(0,w-Y),I=S.y,r=I+S.size;if(I-v<u)Z.scrollTo(Math.max(0,I-v));else if(r+b>u+Y){let l=A[J.columns-1];if(l&&l.length>0&&s===l[l.length-1]&&I>=G)Z.scrollTo(G);else Z.scrollTo(Math.min(r+b-Y,G))}}),Z.setNavConfig({total:()=>q.totalItems,navigate:x}),Z.registerDestroyHandler(()=>{j?.destroy(),j=null,Z.dom.root.classList.remove(`${U}--masonry`)})},hooks:{onResize(Z,f){if(!J||!$)return;let s=q.crossSize-O;if(Math.abs(s-J.containerSize)<1)return;J.update({containerSize:s}),j?.clear(),z()},onIdle(){j?.sortDOM()}},destroy(){j?.destroy(),j=null,M=[],$=null}}}var M1=(Q={})=>{let{chunkSize:J=100,maxCachedItems:j=5000,evictionBuffer:q=200,onEvict:$}=Q,B=new Map,U=0,K=0,M=(d)=>{let T=B.get(d);if(!T)T={items:Array(J),count:0,lastAccess:Date.now()},B.set(d,T);else T.lastAccess=Date.now();return T},N=(d)=>{return Math.floor(d/J)},V=(d)=>{return d%J},c=()=>U,L=(d)=>{U=d},O=(d)=>{if(d<0||d>=U)return;let T=N(d),z=B.get(T);if(!z)return;return z.items[V(d)]},F=(d)=>{if(d<0||d>=U)return!1;let T=N(d),z=B.get(T);if(!z)return!1;return z.items[V(d)]!==void 0},v=(d,T)=>{let z=N(d),Z=M(z),f=V(d),s=Z.items[f]===void 0;if(Z.items[f]=T,s)Z.count++,K++;if(d>=U)U=d+1},b=(d,T)=>{for(let z=0;z<T.length;z++){let Z=T[z];if(Z!==void 0)v(d+z,Z)}},y=(d,T)=>{if(d<0||d>U)return;let z=N(d),Z=Array.from(B.keys()).filter((Y)=>Y>=z).sort((Y,w)=>Y-w),f=[];for(let Y of Z){let w=B.get(Y),G=Y*J;for(let I=0;I<J;I++){if(w.items[I]===void 0)continue;let r=G+I;if(r<d)continue;f.push({oldIndex:r,item:w.items[I]})}}for(let{oldIndex:Y}of f){let w=N(Y),G=B.get(w);if(!G)continue;let I=V(Y);if(G.items[I]!==void 0){if(G.items[I]=void 0,G.count--,K--,G.count===0)B.delete(w)}}U++;for(let{oldIndex:Y,item:w}of f){let G=Y+1,I=N(G),r=M(I),l=V(G);r.items[l]=w,r.count++,K++}let s=N(d),S=M(s),u=V(d);S.items[u]=T,S.count++,K++},C=(d)=>{if(d<0||d>=U)return!1;let T=N(d),z=B.get(T),Z=V(d);if(!(z!==void 0&&z.items[Z]!==void 0))return!1;let s=T,S=Array.from(B.keys()).filter((Y)=>Y>=s).sort((Y,w)=>Y-w),u=[];for(let Y of S){let w=B.get(Y),G=Y*J;for(let I=0;I<J;I++){if(w.items[I]===void 0)continue;let r=G+I;if(r<=d)continue;u.push({oldIndex:r,item:w.items[I]})}}if(z.items[Z]=void 0,z.count--,K--,z.count===0)B.delete(T);for(let{oldIndex:Y}of u){let w=N(Y),G=B.get(w);if(!G)continue;let I=V(Y);if(G.items[I]!==void 0){if(G.items[I]=void 0,G.count--,K--,G.count===0)B.delete(w)}}for(let{oldIndex:Y,item:w}of u){let G=Y-1,I=N(G),r=M(I),l=V(G);r.items[l]=w,r.count++,K++}return U--,!0},W=(d,T)=>{let z=[];for(let Z=d;Z<=T&&Z<U;Z++)z.push(O(Z));return z},D=(d,T)=>{for(let z=d;z<=T&&z<U;z++)if(!F(z))return!1;return!0},E=()=>{let d=[],T=null,z=Array.from(B.keys()).sort((Z,f)=>Z-f);for(let Z of z){let f=B.get(Z);if(!f)continue;let s=Z*J;for(let S=0;S<J;S++){let u=s+S;if(u>=U)break;if(f.items[S]!==void 0)if(T===null)T={start:u,end:u};else if(u===T.end+1)T.end=u;else d.push(T),T={start:u,end:u};else if(T!==null)d.push(T),T=null}}if(T!==null)d.push(T);return d},_=(d,T)=>{let z=[],Z=null;for(let f=d;f<=T&&f<U;f++)if(!F(f))if(Z===null)Z={start:f,end:f};else Z.end=f;else if(Z!==null)z.push(Z),Z=null;if(Z!==null)z.push(Z);return z},H=(d)=>{return B.has(d)},A=(d)=>{let T=B.get(d);if(!T)return!1;let z=d*J,Z=Math.min(J,U-z);return T.count>=Z},h=(d)=>{let T=B.get(d);if(T)T.lastAccess=Date.now()},k=(d,T)=>{if(d>T||B.size===0)return;let z=Date.now(),Z=N(Math.max(0,d)),f=N(Math.min(U-1,T));for(let s=Z;s<=f;s++){let S=B.get(s);if(S)S.lastAccess=z}},g=(d,T)=>{if(K<=j)return 0;let z=Math.max(0,d-q),Z=Math.min(U-1,T+q),f=N(z),s=N(Z),S=0,u=[];for(let[Y,w]of B)if(Y<f||Y>s)S+=w.count,u.push(Y),K-=w.count,B.delete(Y);if(S>0&&$)$(S,u);return S},i=()=>{if(K<=j)return 0;let d=Array.from(B.entries()).sort(([,Z],[,f])=>Z.lastAccess-f.lastAccess),T=0,z=[];for(let[Z,f]of d){if(K<=j)break;T+=f.count,K-=f.count,z.push(Z),B.delete(Z)}if(T>0&&$)$(T,z);return T},x=()=>{return{totalItems:U,cachedItems:K,cachedChunks:B.size,chunkSize:J,maxCachedItems:j,memoryEfficiency:U>0?1-K/U:1}},m=()=>K,Q2=()=>{B.clear(),K=0};return{chunkSize:J,maxCachedItems:j,getTotal:c,setTotal:L,get:O,has:F,set:v,setRange:b,insert:y,delete:C,getRange:W,isRangeLoaded:D,getLoadedRanges:E,findUnloadedRanges:_,getChunkIndex:N,isChunkLoaded:H,isChunkFullyLoaded:A,touchChunk:h,touchChunksForRange:k,evictDistant:g,evictToLimit:i,getStats:x,getCachedCount:m,clear:Q2,reset:()=>{Q2(),U=0}}};var G1=(Q={})=>{let{maskCharacter:J=g0,maxSampleSize:j=x0}=Q,q=[],$=!1,B=(V)=>{if($||V.length===0)return;let c=Math.min(V.length,j);for(let L=0;L<c;L++){let O=V[L];if(!O||typeof O!=="object")continue;let F={},v=!1;for(let[b,y]of Object.entries(O)){if(b.startsWith("_")||b==="id")continue;F[b]=String(y??"").length,v=!0}if(v)q.push(F)}$=!0},U=()=>$,K=(V)=>{let c={id:`${S2}${V}`,[V0]:!0,_index:V};if(q.length===0)return c.label=J.repeat(12),c;let L=q[V%q.length];for(let[O,F]of Object.entries(L))c[O]=J.repeat(Math.max(1,F));return c};return{analyzeStructure:B,hasAnalyzedStructure:U,generate:K,generateRange:(V,c)=>{let L=[];for(let O=V;O<=c;O++)L.push(K(O));return L},clear:()=>{q=[],$=!1}}},U0=(Q)=>{if(!Q||typeof Q!=="object")return!1;return Q[V0]===!0};var Q4=50,D1=(Q={})=>{let{adapter:J,initialItems:j,initialTotal:q,storage:$,placeholder:B,pageSize:U=Q4,maxConcurrent:K=0,onStateChange:M,onDataChange:N,onItemsLoaded:V,onItemsEvicted:c,onLoadError:L}=Q,O=M1({...$,onEvict:(e,a)=>{c?.(e),g(),k()}}),F=null,v=()=>{if(!F)F=G1(B);return F},b=new Map,y=!1,C,W=!0,D,E,_=[],H=0,A=new Map,h=()=>{for(let e of A.values())e[1].abort();A.clear()},k=()=>{M?.(Z())},g=()=>{N?.()},i=()=>{b.clear();let e=O.getLoadedRanges();for(let a of e)for(let j2=a.start;j2<=a.end;j2++){let Y2=O.get(j2);if(Y2&&!U0(Y2))b.set(Y2.id,j2)}},x=(e,a)=>{if(!U0(a))b.set(a.id,e)},m=(e)=>{b.delete(e)},Q2=(e,a)=>{return`${e}-${a}`},J2=()=>O.getTotal(),d=()=>O.getCachedCount(),T=()=>y,z=()=>W,Z=()=>({total:O.getTotal(),cached:O.getCachedCount(),isLoading:y,pendingRanges:_,error:C,hasMore:W,cursor:D}),f=()=>O,s=()=>v(),S=(e)=>{let a=O.get(e);if(a!==void 0)return a;if(e>=0&&e<O.getTotal())return v().generate(e);return},u=(e)=>{let a=b.get(e);if(a===void 0)return;return O.get(a)},Y=(e)=>{return b.get(e)??-1},w=(e)=>{let a=O.get(e);return a!==void 0&&!U0(a)},G=(e,a)=>{let j2=[],Y2=O.getTotal();O.touchChunksForRange(e,Math.min(a,Y2-1));for(let _2=e;_2<=a&&_2<Y2;_2++){let K2=O.get(_2);if(K2!==void 0)j2.push(K2);else j2.push(v().generate(_2))}return j2},I=(e)=>{O.setTotal(e),W=O.getCachedCount()<e,g(),k()},r=(e,a=0,j2)=>{if(J&&e.length>0){let Y2=v();if(!Y2.hasAnalyzedStructure())Y2.analyzeStructure(e)}for(let Y2=0;Y2<e.length;Y2++){let _2=e[Y2];if(_2!==void 0){let K2=a+Y2;O.set(K2,_2),x(K2,_2)}}if(j2!==void 0)O.setTotal(j2);else if(a+e.length>O.getTotal())O.setTotal(a+e.length);if(O.getCachedCount()>=O.getTotal()&&O.getTotal()>0)W=!1;g(),k(),V?.(e,a,O.getTotal())},l=(e,a)=>{let j2=O.get(e);if(!j2)return!1;let Y2=j2.id,_2={...j2,...a};if(O.set(e,_2),a.id!==void 0&&a.id!==Y2)m(Y2);return x(e,_2),g(),k(),!0},P=(e,a)=>{O.insert(a,e),i(),h(),g(),k()},n=(e)=>{let a=b.get(e);if(a===void 0)return!1;if(!O.delete(a))return!1;return i(),h(),g(),k(),!0},V2=async(e,a)=>{if(!J)return;let j2=O.chunkSize,Y2=Math.floor(e/j2),_2=Math.floor(a/j2),K2=j2*2;for(let[E2,b2]of A){let B2=E2.indexOf("-"),H2=parseInt(E2.slice(0,B2),10);if(Math.abs(H2-e)>K2)b2[1].abort(),A.delete(E2)}let T2=[],P2=[];for(let E2=Y2;E2<=_2;E2++){let b2=E2*j2,B2=b2+j2-1,H2=Q2(b2,B2);if(O.isChunkFullyLoaded(E2))continue;let G2=A.get(H2);if(G2)P2.push(G2[0]);else T2.push({start:b2,end:B2})}if(T2.length===0){if(P2.length>0)await Promise.all(P2);return}if(K>0){let E2=A.size+T2.length;if(E2>K){let b2=(e+a)/2,B2=Math.min(E2-K,A.size);while(B2>0){let k2=null,G2=-1,D2=null;for(let[R,N2]of A){let A2=R.indexOf("-"),R2=parseInt(R.slice(0,A2),10),y2=parseInt(R.slice(A2+1),10),W2=Math.abs((R2+y2)/2-b2);if(W2>G2)G2=W2,k2=R,D2=N2[1]}if(k2)D2.abort(),A.delete(k2);B2--}let H2=K-A.size;if(T2.length>H2)T2.sort((k2,G2)=>{let D2=Math.abs((k2.start+k2.end)/2-b2),R=Math.abs((G2.start+G2.end)/2-b2);return D2-R}),T2.length=Math.max(0,H2)}}if(T2.length===0){if(P2.length>0)await Promise.all(P2);return}for(let E2 of T2){let b2=Q2(E2.start,E2.end),B2=new AbortController,H2=(async()=>{_.push(E2),y=!0,C=void 0,k();try{let k2=E2.end-E2.start+1,G2={offset:E2.start,limit:k2,cursor:E2.start===E?D:void 0,signal:B2.signal},D2=await J.read(G2);if(r(D2.items,E2.start,D2.total),D2.cursor)D=D2.cursor,E=E2.start+D2.items.length;let R=E2.start+D2.items.length;if(R>=H){if(H=R,D2.hasMore!==void 0)W=D2.hasMore;else if(D2.total!==void 0)W=R<D2.total}}catch(k2){if(k2?.name==="AbortError")return;C=k2 instanceof Error?k2:Error(String(k2)),L?.(C,E2)}finally{A.delete(b2);let k2=_.findIndex((G2)=>G2.start===E2.start&&G2.end===E2.end);if(k2>=0)_.splice(k2,1);y=A.size>0,k()}})();A.set(b2,[H2,B2]),P2.push(H2)}await Promise.all(P2)},$2=async(e,a)=>{if(O.isRangeLoaded(e,a))return;await V2(e,a)},Z2=async()=>{if(!J)return;await V2(0,U-1)},X2=async()=>{if(!J||y||!W)return!1;let e=O.getCachedCount(),a=O.getTotal(),j2=e,Y2=Math.min(j2+U-1,a>0?a-1:j2+U-1);if(j2>=a&&a>0)return W=!1,!1;return await V2(j2,Y2),O.getCachedCount()>e},O2=async()=>{if(O.clear(),b.clear(),F)F.clear();h(),_=[],y=!1,D=void 0,E=void 0,W=!0,H=0,C=void 0,g(),k()},F2=(e,a)=>{if(O.evictDistant(e,a)>0)i()},z2=()=>{O.clear(),b.clear(),D=void 0,E=void 0,C=void 0,_=[],y=!1,g(),k()},p=()=>{if(O.reset(),b.clear(),F)F.clear();D=void 0,E=void 0,W=!0,H=0,C=void 0,_=[],y=!1,g(),k()};if(j&&j.length>0)r(j,0,q??j.length);else if(q!==void 0)O.setTotal(q),g(),k();return{getState:Z,getTotal:J2,getCached:d,getIsLoading:T,getHasMore:z,getStorage:f,getPlaceholders:s,getItem:S,getItemById:u,getIndexById:Y,isItemLoaded:w,getItemsInRange:G,setTotal:I,setItems:r,updateItem:l,insertItem:P,removeItem:n,loadRange:V2,ensureRange:$2,loadInitial:Z2,loadMore:X2,reload:O2,evictDistant:F2,clear:z2,reset:p}};function T0(Q){let{adapter:J,total:j,autoLoad:q=!0,storage:$}=Q,B=Q.loading?.cancelThreshold??I0,U=Q.loading?.preloadThreshold??h0,K=Q.loading?.preloadAhead??S0,M=Q.loading?.maxConcurrent??p0,N,V,c,L,O,F,v=null,b=null,y=null,C=0,W=!1,D=null,E=B0,_=-1,H=-1,A=-1,h=-1,k=$?.chunkSize??t2,g=()=>{if(v=null,b!==null)clearTimeout(b),b=null},i=(Z,f)=>{return N.ensureRange(Z,f)},x=(Z,f=t2)=>{L.emit("load:start",{offset:Z,limit:f})},m=(Z)=>{L.emit("error",{error:Z,context:"ensureRange"})},Q2=()=>{if(!v)return;v=null;let Z={start:V.startIndex,end:V.startIndex+Math.max(0,V.visibleCount-1)};if(Z.end<Z.start)return;i(Z.start,Z.end).catch(m)},J2=()=>{if(D!==null)clearTimeout(D),D=null},d=()=>{if(V.destroyed)return;let Z=N.getTotal();if(V.visibleCount<=0||V.startIndex>=Z)return;let f=Math.min(V.startIndex+V.visibleCount-1,Z-1);if(f<V.startIndex)return;i(V.startIndex,f).catch(m)},T=()=>{if(D!==null||V.destroyed)return;D=setTimeout(()=>{D=null,d()},E),E=Math.min(E*2,u0)},z=()=>{J2(),E=B0};return{name:"data",priority:20,setup(Z){V=Z.getState(),c=Z.sizeCache,L=Z.emitter,O=Z.dom,F=Z.forceRender.bind(Z);let f=null;Z.setVirtualTotalFn(()=>f?.getTotal()??0),N=f=D1({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(V.initialized){let S=N.getTotal(),u=N.getCached();if(V.totalItems=S,S!==_||u!==H)_=S,H=u,c.rebuild(S);Z.updateContentSize(c.getTotalSize()),Z.renderIfNeeded()}},onItemsLoaded:(S)=>{if(z(),V.initialized)Z.updateContentSize(c.getTotalSize()),F(),L.emit("load:end",{items:S,total:N.getTotal()})},onLoadError:(S)=>{if(L.emit("error",{error:S,context:"load"}),V.initialized)Z.renderIfNeeded();T()}}),Z.setGetItemFn((S)=>N.getItem(S)),Z.setRemoveItemFn((S)=>{let u=N.getIndexById(S);if(u<0)return-1;if(!N.removeItem(S))return-1;return u}),Z.setInsertItemFn((S,u)=>{N.insertItem(S,u)}),Z.setUpdateItemFn((S,u)=>{let Y=N.getIndexById(S);if(Y<0)return!1;return N.updateItem(Y,u)}),Z.registerMethod("reload",async()=>{if(v=null,A=-1,h=-1,z(),Z.forceRender(),await N.reload(),Z.scrollTo(0),q)x(0),await N.loadInitial(),Z.forceRender()}),Z.registerMethod("loadVisibleRange",async()=>{v=null,Z.forceRender();let S=N.getTotal();if(V.visibleCount>0&&V.startIndex<S){let u=Math.min(V.startIndex+V.visibleCount-1,S-1);x(V.startIndex,u-V.startIndex+1),await i(V.startIndex,u)}}),Z.registerMethod("loadInitial",async()=>{x(0),await N.loadInitial(),Z.forceRender()}),Z.registerMethod("getTotal",()=>{return N.getTotal()}),Z.registerMethod("setTotal",(S)=>{N.setTotal(S)}),Z.registerMethod("_getTotal",()=>N.getTotal()),Z.registerMethod("_setTotal",(S)=>{N.setTotal(S)}),Z.registerMethod("_cancelAutoLoad",()=>{W=!0}),Z.registerMethod("_getLoadedItem",(S)=>{return N.getStorage().get(S)}),Z.registerMethod("_getItem",(S)=>{return N.getItem(S)}),Z.registerMethod("_getLoadedCount",()=>N.getCached()),L.on("load:start",()=>{O.root.setAttribute("aria-busy","true")}),L.on("load:end",()=>{O.root.removeAttribute("aria-busy")}),Z.registerDestroyHandler(()=>{if(y!==null)clearTimeout(y),y=null;g(),J2()}),L.on("velocity:change",({velocity:S})=>{C=Math.abs(S)});let s=()=>{if(V.destroyed)return;z(),d(),Q2()};if(window.addEventListener("online",s),Z.registerDestroyHandler(()=>{window.removeEventListener("online",s)}),q)queueMicrotask(()=>{if(W)return;x(0),N.loadInitial().catch((S)=>{L.emit("error",{error:S,context:"loadInitial"})})});else if(j!==void 0)N.setTotal(j)},hooks:{onAfterScroll(){if(V.destroyed)return;let Z=V.startIndex+Math.max(0,V.visibleCount-1);if(C>B){if(b!==null)clearTimeout(b),b=null;v={start:V.startIndex,end:Z};return}if(C>U){let S=Math.floor(V.startIndex/k),u=Math.floor(Z/k);if(S!==A||u!==h){if(A=S,h=u,Z>=V.startIndex)i(V.startIndex,Z).catch(m)}let Y=V.startIndex,w=Z,G=V.scrollDirection;if(G>0)w=Math.min(w+K,N.getTotal()-1);else if(G<0)Y=Math.max(0,Y-K);if(v={start:Y,end:w},b!==null)clearTimeout(b);b=setTimeout(()=>{if(b=null,V.destroyed||!v)return;let{start:I,end:r}=v;if(v=null,r>=I)i(I,r).catch(m)},100);return}g();let f=Math.floor(V.startIndex/k),s=Math.floor(Z/k);if(f!==A||s!==h){if(A=f,h=s,Z>=V.startIndex)i(V.startIndex,Z).catch(m)}},onIdle(){if(V.destroyed)return;C=0,A=-1,h=-1,Q2(),g()},onResize(){if(V.destroyed)return;let Z=N.getTotal();if(Z<=0)return;if(V.visibleCount<=0||V.startIndex>=Z)return;let f=Math.min(V.startIndex+V.visibleCount-1,Z-1);if(f<V.startIndex)return;x(V.startIndex,f-V.startIndex+1),i(V.startIndex,f).catch(m)}},destroy(){if(y!==null)clearTimeout(y);g(),J2()}}}var b0=(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},A1=(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},H1=(Q,J,j)=>{if(Q===0)return[];let q=[],$=null,B=0,U=0;for(let K=0;K<Q;K++){let M=j?.(K);if(!M)continue;let N=J(K,M);if($===null)$=N,B=0;else if(N!==$){let V=K-B;q.push({key:$,groupIndex:q.length,headerLayoutIndex:U,firstDataIndex:B,count:V}),U=U+1+V,$=N,B=K}}if($!==null)q.push({key:$,groupIndex:q.length,headerLayoutIndex:U,firstDataIndex:B,count:Q-B});return q};var O1=(Q,J,j)=>{let q=H1(Q,J.getGroupForIndex,j),$=Q+q.length,B=J.header?.height??J.header?.width??J.headerHeight;return{get totalEntries(){return $},get groupCount(){return q.length},get groups(){return q},getEntry:(O)=>{if(q.length===0)return{type:"item",dataIndex:O,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let F=b0(q,O),v=q[F];if(O===v.headerLayoutIndex)return{type:"header",group:v};let b=O-v.headerLayoutIndex-1;return{type:"item",dataIndex:v.firstDataIndex+b,group:v}},layoutToDataIndex:(O)=>{if(q.length===0)return O;let F=b0(q,O),v=q[F];if(O===v.headerLayoutIndex)return-1;let b=O-v.headerLayoutIndex-1;return v.firstDataIndex+b},dataToLayoutIndex:(O)=>{if(q.length===0)return O;let F=A1(q,O),v=q[F],b=O-v.firstDataIndex;return v.headerLayoutIndex+1+b},getGroupAtLayoutIndex:(O)=>{if(q.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let F=b0(q,O);return q[F]},getGroupAtDataIndex:(O)=>{if(q.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let F=A1(q,O);return q[F]},getHeaderHeight:typeof B==="number"?(O)=>B:(O)=>{let F=q[O];if(!F)return 0;return B(F.key,O)},rebuild:(O,F)=>{q=H1(O,J.getGroupForIndex,F??j),$=O+q.length}}};var k0=(Q,J,j,q,$=0)=>{let B=j?"width":"height",U=document.createElement("div");return U.className=`${J}-sticky-header`,U.setAttribute("role","presentation"),U.setAttribute("aria-hidden","true"),U.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`),U.style[B]=`${q}px`,Q.insertBefore(U,Q.firstChild),U},L1=(Q,J,j,q,$,B=!1,U=0,K,M,N)=>{let V=B?"width":"height",c=B?"height":"width",L=B?"X":"Y",O=(l,P)=>{l.style[V]=`${P}px`},F=M??k0(Q,$,B,0,U),v=()=>{let l=document.createElement("div");return l.className="sticky-group",l.style.position="absolute",l.style.willChange="transform",l.style[c]="100%",l},b=v(),y=v();F.append(b,y);let C=b,W=y,D=J.groups,E=[],_=[],H=[],A=0,h=()=>{D=J.groups,A=D.length,E=Array(A),_=Array(A),H=Array(A);let l=K?K():1;for(let P=0;P<A;P++)E[P]=(N?N(D[P].headerLayoutIndex):j.getOffset(D[P].headerLayoutIndex))*l,_[P]=J.getHeaderHeight(P),H[P]=_[P]*l};h();let k=-1,g=0,i=0,x=-1,m=!1,Q2=0,J2=!1,d=(l,P)=>{q(l,P);let n=_[P];return O(l,n),n},T=(l)=>{l.replaceChildren(),l.style.transform=""},z=(l)=>{if(l===k)return;if(k=l,g=0,i=0,l<0||l>=A){T(C);return}g=d(C,l),i=H[l],O(F,g),C.style.transform=""},Z=(l)=>{if(l===Q2)return;Q2=l;let P=Math.round(l);C.style.transform=`translate${L}(${P}px)`,W.style.transform=`translate${L}(${P+g}px)`},f=()=>{Q2=0,C.style.transform="",W.style.transform=""},s=()=>{if(!J2)return;let l=C;C=W,W=l,k=x,g=k>=0?_[k]:0,i=k>=0?H[k]:0,O(F,g),T(W),x=-1,J2=!1,f()},S=()=>{if(!J2)return;T(W),x=-1,J2=!1,f()},u=!!M,Y=()=>{if(m)return;if(m=!0,u)F.style.visibility="";else F.style.display=""},w=()=>{if(!m)return;if(m=!1,u)F.style.visibility="hidden";else F.style.display="none";T(C),k=-1,g=0,i=0,S()},G=(l)=>{if(A===0){if(J2)S();if(!m)Y();z(-1);return}if(l<E[0]){w();return}let P=0,n=A-1;while(P<n){let $2=P+n+1>>>1;if(E[$2]+H[$2]<=l)P=$2;else n=$2-1}if(!m)Y();z(P);let V2=P+1;if(V2<A){let $2=E[V2]-l;if($2<=0&&$2>-i){if(x!==V2||!J2)x=V2,d(W,V2),J2=!0;let Z2=i>0?$2/i*g:$2;Z(Z2)}else if($2<=-i){if(J2)s()}else if(J2)S()}else if(J2)S()},I=()=>{h();let l=k;if(k=-1,g=0,i=0,l>=0)z(l)},r=()=>{F.remove(),k=-1,g=0,i=0,x=-1,m=!1,J2=!1};if(!M)F.style.display="none";return{update:G,refresh:I,show:Y,hide:w,destroy:r}};var d2={selected:!1,focused:!1},F1=typeof process<"u"&&process.env?.NODE_ENV!=="production";function z0(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,$,B=null,U,K,M,N,V,c,L,O=null,F,v,b,y=null,C,W,D=null,E=null,_=0,H=0,A=0,h=0,k=0,g=!1,i=null,x=new Map,m=new Set,Q2=new Map,J2=-1,d=-1,T=!0,z=-1,Z=0,f=null,s;function S(){return $.totalEntries}function u(){let p=K.totalItems;if(p===z)return;if(F1)console.log(`[groups] syncLayout: ${z} → ${p}`);let e=z>0;z=p,$.rebuild(p,O??L),s($.totalEntries),r();let a=w?l():U.getTotalSize();if(N.style[F?"width":"height"]=a+k+"px",B)B.refresh(),B.update(K.scrollPosition);if(e)V2();let j2=D?.("_scrollbar:getInstance");if(j2)j2()?.updateBounds(a,K.containerSize)}let Y=0,w=null,G=null,I=null;function r(){if(_<=0){w=null,G=null;return}Y=((K.crossSize||N.clientWidth)-h-(_-1)*H)/_,w=new Map;let a=$.totalEntries,j2=Array(a),Y2=0;if(g){let _2=i??((b2)=>U.getSize(b2)),K2=new Float64Array(_),T2=[],P2=0,E2=-1;for(let b2=0;b2<a;b2++){let B2=$.getEntry(b2);if(B2.type==="header"){let H2=0;for(let G2=0;G2<_;G2++)if(K2[G2]>H2)H2=K2[G2];if(E2>=0)T2[E2]=P2+H2;P2+=H2;let k2=U.getSize(b2);w.set(b2,{col:-1,rowY:P2}),j2[Y2++]=[b2,P2,P2+k2],P2+=k2,K2.fill(0),E2=B2.group.groupIndex}else{let H2=0,k2=K2[0];for(let R=1;R<_;R++)if(K2[R]<k2)k2=K2[R],H2=R;let G2=_2(B2.dataIndex),D2=P2+K2[H2];w.set(b2,{col:H2,rowY:D2,h:G2}),j2[Y2++]=[b2,D2,D2+G2],K2[H2]=K2[H2]+G2+H}}if(E2>=0){let b2=0;for(let B2=0;B2<_;B2++)if(K2[B2]>b2)b2=K2[B2];T2[E2]=P2+b2}I=T2}else{I=null;let _2=0,K2=0,T2=0;for(let P2=0;P2<a;P2++)if($.getEntry(P2).type==="header"){if(K2>0&&T2>0)_2+=T2;let b2=U.getSize(P2);w.set(P2,{col:-1,rowY:_2}),j2[Y2++]=[P2,_2,_2+b2],_2+=b2,K2=0,T2=0}else{let b2=K2%_,B2=U.getSize(P2);if(b2===0){if(K2>0&&T2>0)_2+=T2+H;T2=B2}else if(B2>T2)T2=B2;w.set(P2,{col:b2,rowY:_2}),j2[Y2++]=[P2,_2,_2+B2],K2++}}j2.length=Y2,G=j2}function l(){if(!w||w.size===0)return U.getTotalSize();let p=$.totalEntries;if(g)return I?.[I.length-1]??0;let e=0;for(let a=p-1;a>=0;a--){let j2=w.get(a);if(j2){e=j2.rowY+(j2.h??U.getSize(a));break}if($.getEntry(a).type==="header"){e=U.getOffset(a)+U.getSize(a);break}}return e}function P(p){if(w){let a=w.get(p);if(a){let j2=a.col<0?0:A+a.col*(Y+H),Y2=a.rowY;if(F)return`translate(${Math.round(Y2)}px, ${Math.round(j2)}px)`;return`translate(${Math.round(j2)}px, ${Math.round(Y2)}px)`}}let e=U.getOffset(p);if(F)return`translate(${Math.round(e)}px, 0)`;return`translate(0, ${Math.round(e)}px)`}function n(p,e){let a=w?.get(e);if(a){let Y2=a.h??U.getSize(e);if(a.col<0)if(F)p.style.width=`${Y2}px`,p.style.height="";else p.style.height=`${Y2}px`,p.style.width="100%";else if(F)p.style.width=`${Y2}px`,p.style.height=`${Y}px`;else p.style.height=`${Y2}px`,p.style.width=`${Y}px`;return}let j2=U.getSize(e);if(F)p.style.width=`${j2}px`;else p.style.height=`${j2}px`}function V2(){x.forEach((p)=>{p.remove();let e=p.getAttribute("data-id");if(e)Q2.set(e,p);else M.release(p)}),x.clear(),m.clear()}function $2(){if(Q2.size>0)Q2.forEach((p)=>M.release(p)),Q2.clear()}function Z2(p,e,a,j2){if(E===null)E=!!D?.("_getSelectedIds");if(e.type==="header"){let E2=`__group_header_${e.group.groupIndex}`;if(p.getAttribute("data-id")===E2)return!0;p.className=W,p.setAttribute("role","presentation"),p.removeAttribute("aria-selected"),p.setAttribute("data-id",E2);let b2=q(e.group.key,e.group.groupIndex);if(typeof b2==="string")p.innerHTML=b2;else p.innerHTML="",p.appendChild(b2);return!0}let Y2=e.dataIndex,_2=L(Y2);if(!_2)return p.innerHTML="",!1;let K2=_2._isPlaceholder===!0,T2=String(_2.id);if(!K2&&p.getAttribute("data-id")===T2){if(E)p.id=`${v}-item-${j2}`,p.setAttribute("aria-posinset",String(Y2+1)),p.setAttribute("aria-setsize",String(K.totalItems));return!0}if(p.className=C,p.setAttribute("role",E?"option":"listitem"),p.setAttribute("data-id",T2),E)p.id=`${v}-item-${j2}`,p.setAttribute("aria-posinset",String(Y2+1)),p.setAttribute("aria-setsize",String(K.totalItems));if(K2)p.classList.add(`${v}-item--placeholder`);if(a)a(j2,d2);else d2.selected=!1,d2.focused=!1;let P2=c(_2,Y2,d2);if(typeof P2==="string")p.innerHTML=P2;else p.innerHTML="",p.appendChild(P2);return p2(p),!K2}let X2=0;function O2(){if(_<=0)return;let p=K.crossSize;if(p===X2)return;X2=p,r();let e=l();if(N.style[F?"width":"height"]=e+k+"px",B)B.refresh(),B.update(K.scrollPosition);T=!0}function F2(){if(K.destroyed)return;u(),O2();let{scrollPosition:p,containerSize:e}=K;if(!T&&p===J2&&e===d)return;J2=p,d=e;let a=T;T=!1;let j2=S();if(e<=0||j2===0){if(x.size>0)x.forEach((G2)=>{G2.remove(),M.release(G2)}),x.clear(),m.clear();return}let Y2,_2;if(G){let G2=G,D2=G2.length,R=0,N2=D2-1;while(R<N2){let t=R+N2>>>1;if(G2[t][2]<=p)R=t+1;else N2=t}let A2=R;N2=D2-1;while(R<N2){let t=R+N2+1>>>1;if(G2[t][1]>=p+e)N2=t-1;else R=t}let R2=R,y2=G2[A2][0],W2=G2[R2][0];for(let t=y2-1;t>=0;t--)if($.getEntry(t).type==="header"){y2=t;break}let X=b*_;Y2=Math.max(0,y2-X),_2=Math.min(j2-1,W2+X)}else{let G2=U.indexAtOffset(p),D2=U.indexAtOffset(p+e);if(D2<j2-1)D2++;G2=Math.max(0,G2),D2=Math.min(j2-1,Math.max(0,D2)),Y2=Math.max(0,G2-b),_2=Math.min(j2-1,D2+b)}if(Y2===K.prevRangeStart&&_2===K.prevRangeEnd&&!K.renderPending)return;x.forEach((G2,D2)=>{if(D2<Y2||D2>_2)G2.remove(),M.release(G2),x.delete(D2),m.delete(D2)});let K2=y?.()??null,T2=K2?`${v}-item--selected`:"",P2=K2?`${v}-item--focused`:"",E2=null;for(let G2=Y2;G2<=_2;G2++){let D2=x.get(G2),R=!1;if(D2===void 0){let N2=$.getEntry(G2);R=N2.type==="header";let A2;if(N2.type==="header")A2=`__group_header_${N2.group.groupIndex}`;else{let y2=L(N2.dataIndex);if(y2&&y2._isPlaceholder!==!0)A2=String(y2.id)}if(A2!==void 0){let y2=Q2.get(A2);if(y2)Q2.delete(A2),D2=y2}if(!D2)D2=M.acquire();if(D2.setAttribute("data-index",String(G2)),Z2(D2,N2,K2,G2))m.delete(G2);else m.add(G2);if(n(D2,G2),D2.style.transform=P(G2),x.set(G2,D2),!E2)E2=document.createDocumentFragment();E2.appendChild(D2)}else if(a&&m.has(G2)){let N2=$.getEntry(G2);if(N2.type==="item")if(Z2(D2,N2,K2,G2))m.delete(G2);else m.add(G2)}else if(R=D2.classList.contains(W),a)n(D2,G2),D2.style.transform=P(G2);if(!R&&K2)if(K2(G2,d2),D2.classList.toggle(T2,d2.selected),D2.classList.toggle(P2,d2.focused),d2.selected)D2.setAttribute("aria-selected","true");else D2.removeAttribute("aria-selected")}if(E2)N.appendChild(E2);$2();let b2=w?l():U.getTotalSize();N.style[F?"width":"height"]=b2+k+"px",K.prevRangeStart=Y2,K.prevRangeEnd=_2,K.renderPending=!1;let B2=0,H2=0,k2=!1;for(let G2=Y2;G2<=_2&&B2<K.capacity;G2++){let D2=$.getEntry(G2);if(D2.type==="item"){if(!k2)H2=D2.dataIndex,k2=!0;K.visibleIndices[B2]=D2.dataIndex,K.visibleOffsets[B2]=U.getOffset(G2),K.visibleSizes[B2]=U.getSize(G2),B2++}}K.visibleCount=B2,K.startIndex=H2}function z2(){if(K.destroyed)return;if(O2(),F1)console.log(`[groups] forceRender, placeholders: ${m.size}, rendered: ${x.size}`);let p=f?.()??0;if(p!==Z){Z=p;let e=$.groups,a=e.length;$.rebuild(z,O??L);let j2=$.groups,Y2=j2.length!==a;if(!Y2){for(let _2=0;_2<a;_2++)if(j2[_2].headerLayoutIndex!==e[_2].headerLayoutIndex){Y2=!0;break}}if(Y2){s($.totalEntries),r();let _2=w?l():U.getTotalSize();if(N.style[F?"width":"height"]=_2+"px",B)B.refresh(),B.update(K.scrollPosition);let K2=1/0,T2=Math.min(a,j2.length);for(let E2=0;E2<T2;E2++)if(j2[E2].headerLayoutIndex!==e[E2].headerLayoutIndex){K2=Math.min(j2[E2].headerLayoutIndex,e[E2].headerLayoutIndex);break}if(j2.length>a&&T2<j2.length)K2=Math.min(K2,j2[T2].headerLayoutIndex);else if(a>j2.length&&T2<a)K2=Math.min(K2,e[T2].headerLayoutIndex);if(K2<=K.prevRangeEnd)V2();let P2=D?.("_scrollbar:getInstance");if(P2)P2()?.updateBounds(_2,K.containerSize)}}K.prevRangeStart=-1,K.prevRangeEnd=-1,K.renderPending=!0,T=!0,F2()}return{name:"groups",priority:10,setup(p){U=p.sizeCache,K=p.getState(),M=p.pool,N=p.dom.content,V=p.dom.root,c=p.template,F=p.config.axis.primary==="x",v=p.config.classPrefix,b=p.config.overscan,k=p.config.mainAxisPadding,L=p.getItem.bind(p),y=()=>p.getItemStateFn(),D=p.getMethod.bind(p),E=null,C=`${v}-item`,W=`${v}-group-header`;let e=D?.("getGridLayout"),a=D?.("getMasonryLayout");if(e){let B2=e();_=B2.columns,H=B2.gap,A=p.config.crossPadStart,h=p.config.crossAxisPadding}else if(a){let B2=a();_=B2.columns,H=B2.gap,A=p.config.crossPadStart,h=p.config.crossAxisPadding,g=!0;let H2=p.rawSizeSpec;if(typeof H2==="function")i=(k2)=>{return H2(k2,{columnWidth:Y})}}queueMicrotask(()=>{let B2=D?.("_getLoadedItem");if(B2)O=B2;let H2=D?.("_getLoadedCount");if(H2)f=H2});let j2=K.totalItems;$=O1(j2,Q,O??L),z=j2;let Y2=typeof J==="number"?(B2)=>J:(B2)=>{let H2=$.groups[B2];if(!H2)return 0;return J(H2.key,B2)},_2=U.getSize,K2=(B2)=>{let H2=$.getEntry(B2);if(H2.type==="header"){if(Q.sticky!==!1&&H2.group.groupIndex===0)return 0;return Y2(H2.group.groupIndex)}return _2(H2.dataIndex)};p.setSizeConfig(K2);let T2=!1,P2=-1;if(s=U.rebuild,U.rebuild=(B2)=>{if(T2){if(!f)f=D?.("_getLoadedCount")??null;let H2=f?.()??0;if(B2!==z||H2!==P2){if(z=B2,P2=H2,!O)O=D?.("_getLoadedItem")??null;if($.rebuild(B2,O??((k2)=>p.getItems()[k2])),K.totalItems=$.totalEntries,B)B.refresh(),B.update(K.scrollPosition)}}s($.totalEntries)},U.rebuild($.totalEntries),r(),p.setVirtualTotalFn(()=>$.totalEntries),V.classList.add(`${v}--grouped`),Q.sticky!==!1){let B2=(D2,R)=>{let N2=$.groups[R];if(!N2)return;let A2=q(N2.key,R);if(typeof A2==="string")D2.innerHTML=A2;else D2.replaceChildren(A2)},H2=$.getHeaderHeight(0),k2=k0(V,v,F,H2),G2=_>0?(D2)=>{let R=w?.get(D2);return R?R.rowY:U.getOffset(D2)}:void 0;if(B=L1(V,$,U,B2,v,F,0,void 0,k2,G2),B.update(K.scrollPosition),!F)p.dom.viewport.style.height=`calc(100% - ${H2}px)`;else p.dom.viewport.style.width=`calc(100% - ${H2}px)`,p.dom.viewport.style.marginLeft=`${H2}px`}let E2=!!D?.("_updateTableForGroups");if(T2=E2,E2)queueMicrotask(()=>{let B2=D?.("_getItem")??null,H2=p.getItems.bind(p);p.setGetItemFn((G2)=>{let D2=$.getEntry(G2);if(D2.type==="header")return{id:`__group_header_${D2.group.groupIndex}`,__groupHeader:!0,groupKey:D2.group.key,groupIndex:D2.group.groupIndex};return B2?B2(D2.dataIndex):H2()[D2.dataIndex]});let k2=D?.("_updateTableForGroups");if(k2)k2((G2)=>!!G2.__groupHeader,q)});else p.setRenderFn(F2,z2);p.registerMethod("getGroupLayout",()=>$),p.registerMethod("_dataToLayoutIndex",(B2)=>$.dataToLayoutIndex(B2)),p.registerMethod("_layoutToDataIndex",(B2)=>$.layoutToDataIndex(B2)),p.registerMethod("_getRenderedElement",(B2)=>x.get(B2)??null),p.registerMethod("_isGroupHeader",(B2)=>{return $.getEntry(B2).type==="header"});let b2=k-p.config.startPadding;p.registerMethod("_scrollItemIntoView",(B2)=>{if(B2<0)return;let H2=w?.get(B2),k2=H2?H2.rowY:U.getOffset(B2),G2=U.getSize(B2),D2=K.containerSize,R=K.scrollPosition;if(k2<R)p.scrollTo(k2);else if(k2+G2+b2>R+D2)p.scrollTo(k2+G2+b2-D2)}),p.registerMethod("scrollToIndex",(B2,H2="start")=>{let k2=$.dataToLayoutIndex(B2),G2=$.totalEntries;if(G2===0)return;let D2=Math.max(0,Math.min(k2,G2-1)),R=K.containerSize,N2=w?.get(D2),A2=N2?N2.rowY:U.getOffset(D2),R2=N2?N2.h??U.getSize(D2):U.getSize(D2),y2=w?l()+k:U.getTotalSize(),W2=Math.max(0,y2-R),X=typeof H2==="string"?H2:H2.align??"start",t=typeof H2==="object"?H2.behavior:void 0,U2=typeof H2==="object"?H2.duration:void 0,o=w?k:0,q2=A2+R2;if(g&&I){let L2=$.getEntry(D2).group.groupIndex,w2=I[L2];if(w2!==void 0)q2=w2}let M2;switch(X){case"center":M2=A2-(R-R2)/2;break;case"end":M2=q2-R+o;break;default:M2=A2}if(M2=Math.max(0,Math.min(M2,W2)),t==="smooth"&&U2&&U2>0)p.smoothScrollTo(M2,U2);else p.scrollTo(M2)}),p.registerDestroyHandler(()=>{for(let[,B2]of x)B2.remove();if(x.clear(),m.clear(),B)B.destroy(),B=null;V.classList.remove(`${v}--grouped`)})},hooks:{onAfterScroll(p,e){if(B)B.update(p)},onResize(p,e){if(_<=0)return;s($.totalEntries),X2=K.crossSize,r();let a=l();if(N.style[F?"width":"height"]=a+k+"px",B)B.refresh(),B.update(K.scrollPosition);T=!0,F2()}},destroy(){if(B)B.destroy(),B=null;x.clear(),m.clear(),Q2.clear()}}}var E1=(Q,J=50,j=1/0,q=!0,$="none")=>{let B=Q,U=[],K=0,M=0,N=()=>{U=B.map((W,D)=>({def:W,index:D,width:0,minWidth:j4(W.minWidth??J,1),maxWidth:W.maxWidth??j,resizable:W.resizable??q,offset:0}))},V=()=>{if($==="none"||K<=0||K>=M)return;if($==="spacer"){K=M;return}let W=M-K,D=K;for(let E=0;E<U.length;E++){let _=U[E];_.width=Y0(_.width+W*(_.width/D),_.minWidth,_.maxWidth)}L()},c=(W)=>{if(M=W,U.length===0){K=0;return}let D=0,E=0;for(let _=0;_<U.length;_++){let H=U[_],A=H.def;if(A.width!==void 0)H.width=Y0(A.width,H.minWidth,H.maxWidth),D+=H.width;else E++}if(E){let H=Math.max(0,W-D)/E;for(let A=0;A<U.length;A++){let h=U[A];if(h.def.width===void 0)h.width=Y0(H,h.minWidth,h.maxWidth)}}L(),V()},L=()=>{let W=0;for(let D=0;D<U.length;D++){let E=U[D];E.offset=W,W+=E.width}K=W},O=(W,D)=>{if(W<0||W>=U.length)return 0;let E=U[W];if(!E.resizable)return E.width;let _=Y0(D,E.minWidth,E.maxWidth);if(E.width=_,L(),$==="spacer")V();return _},F=(W)=>{return U[W]},v=(W)=>{if(U.length===0)return;if(W<0)return U[0];if(W>=K)return U[U.length-1];let D=0,E=U.length-1;while(D<E){let _=D+E>>>1,H=U[_];if(W<H.offset)E=_-1;else if(W>=H.offset+H.width)D=_+1;else return H}return U[D]},b=(W)=>{if(W<0||W>=U.length)return 0;return U[W].offset},y=(W)=>{if(W<0||W>=U.length)return 0;return U[W].width},C=(W)=>{B=W,N()};return N(),{get columns(){return U},get totalWidth(){return K},resolve:c,updateColumns:C,resizeColumn:O,getColumn:F,getColumnAtX:v,getColumnOffset:b,getColumnWidth:y}},Y0=(Q,J,j)=>Math.min(j,Math.max(J,Q)),j4=(Q,J)=>Math.max(J,Q);var R1=(Q,J,j,q,$,B)=>{let U=document.createElement("div");U.setAttribute("role","rowgroup");let K=document.createElement("div");K.className=`${j}-table-header`,K.setAttribute("role","row"),K.setAttribute("aria-rowindex","1"),K.style.height=`${J}px`;let M=document.createElement("div");M.className=`${j}-table-header-scroll`,M.setAttribute("role","presentation"),K.appendChild(M),U.appendChild(K),Q.insertBefore(U,Q.firstChild),Q.style.setProperty("--vlist-table-header-height",`${J}px`);let N=[],V=[],c=!0,L=null,O="asc",F=null,v=!1,b=-1,y=0,C=0,W=0,D=(T,z)=>{let Z=document.createElement("div");Z.className=`${j}-table-header-cell`,Z.setAttribute("role","columnheader"),Z.setAttribute("aria-colindex",String(z+1)),Z.setAttribute("tabindex",z===0?"0":"-1"),Z.dataset.columnKey=T.def.key;let f=T.def.align;if(f==="center")Z.classList.add(`${j}-table-header-cell--center`);else if(f==="right")Z.classList.add(`${j}-table-header-cell--right`);let s=document.createElement("div");s.className=`${j}-table-header-content`;let S=T.def.header?T.def.header(T.def):T.def.label;if(typeof S==="string")s.textContent=S;else s.appendChild(S);if(Z.appendChild(s),T.def.sortable){let u=document.createElement("span");u.className=`${j}-table-header-sort`,u.setAttribute("aria-hidden","true"),Z.appendChild(u),V.push(u),Z.classList.add(`${j}-table-header-cell--sortable`)}else V.push(null);if(T.resizable){let u=document.createElement("div");u.className=`${j}-table-header-resize`,u.dataset.resizeIndex=String(z),Z.appendChild(u)}return Z},E=(T)=>{F=T,M.textContent="",N=[],V=[];let z=T.columns;for(let Z=0;Z<z.length;Z++){let f=z[Z],s=D(f,Z);N.push(s),M.appendChild(s)}if(_(T),L)H(L,O)},_=(T)=>{F=T;let z=T.columns;M.style.width=`${T.totalWidth}px`;for(let Z=0;Z<N.length&&Z<z.length;Z++){let f=N[Z],s=z[Z];f.style.width=`${s.width}px`}},H=(T,z)=>{if(L=T,O=z,!F)return;let Z=F.columns;for(let f=0;f<V.length&&f<Z.length;f++){let s=V[f];if(!s)continue;if(Z[f].def.key===T)s.textContent=z==="asc"?"▲":"▼",s.style.opacity="0.7",N[f].setAttribute("aria-sort",z==="asc"?"ascending":"descending");else s.textContent="",s.style.opacity="0",N[f].removeAttribute("aria-sort")}},A=(T)=>{M.style.transform=`translateX(${-T}px)`},h=(T)=>{let z=T.target;if(!z.dataset.resizeIndex)return;if(T.preventDefault(),T.stopPropagation(),b=+z.dataset.resizeIndex,!F)return;let Z=F.getColumn(b);if(!Z?.resizable)return;v=!0,y=T.clientX,C=Z.width,Q.classList.add(`${j}--col-resizing`),Q.style.cursor="col-resize",z.classList.add(`${j}-table-header-resize--active`),z.setPointerCapture(T.pointerId),z.addEventListener("pointermove",k),z.addEventListener("pointerup",g),z.addEventListener("pointercancel",g)},k=(T)=>{if(!v||!F)return;let z=T.clientX-y;if(Math.abs(z)<1)return;let Z=Math.max(0,C+z);q(b,Z)},g=(T)=>{if(!v)return;let z=T.target;z.removeEventListener("pointermove",k),z.removeEventListener("pointerup",g),z.removeEventListener("pointercancel",g);try{z.releasePointerCapture(T.pointerId)}catch{}z.classList.remove(`${j}-table-header-resize--active`),Q.classList.remove(`${j}--col-resizing`),Q.style.cursor="",v=!1,b=-1},i=(T)=>{let z=T.target;if(z.dataset.resizeIndex)return;if(v)return;let Z=z;while(Z&&!Z.dataset.columnKey)if(Z=Z.parentElement,Z===K||Z===null)return;let f=Z.dataset.columnKey;if(!F)return;let s=F.columns,S=-1;for(let Y=0;Y<s.length;Y++)if(s[Y].def.key===f){S=Y;break}if(S===-1)return;let u=s[S];if(B)B({key:f,index:S,event:T});if(u.def.sortable&&$){let Y;if(L===f)Y=O==="asc"?"desc":null;else Y="asc";$({key:f,index:S,direction:Y})}},x=(T)=>{if(T<0||T>=N.length)return;N[W]?.setAttribute("tabindex","-1"),W=T;let z=N[W];z.setAttribute("tabindex","0"),z.focus()},m=(T)=>{let z=T.key;if(z==="ArrowRight"){if(T.ctrlKey||T.metaKey){if(!F)return;let Z=F.getColumn(W);if(Z?.resizable)q(W,Z.width+10),T.preventDefault()}else if(W<N.length-1)x(W+1),T.preventDefault();T.stopPropagation();return}if(z==="ArrowLeft"){if(T.ctrlKey||T.metaKey){if(!F)return;let Z=F.getColumn(W);if(Z?.resizable)q(W,Z.width-10),T.preventDefault()}else if(W>0)x(W-1),T.preventDefault();T.stopPropagation();return}if(z==="Home"){x(0),T.preventDefault(),T.stopPropagation();return}if(z==="End"){x(N.length-1),T.preventDefault(),T.stopPropagation();return}if(z==="Enter"||z===" "){if(!F)return;let Z=F.getColumn(W);if(Z?.def.sortable&&$){let f;if(L===Z.def.key)f=O==="asc"?"desc":null;else f="asc";$({key:Z.def.key,index:W,direction:f}),T.preventDefault()}T.stopPropagation();return}if(z==="ArrowDown"){Q.focus(),T.preventDefault(),T.stopPropagation();return}};return K.addEventListener("pointerdown",h),K.addEventListener("click",i),K.addEventListener("keydown",m),{element:K,update:_,updateSort:H,rebuild:E,show:()=>{if(c)return;c=!0,K.style.display=""},hide:()=>{if(!c)return;c=!1,K.style.display="none"},destroy:()=>{K.removeEventListener("pointerdown",h),K.removeEventListener("click",i),K.removeEventListener("keydown",m),Q.style.removeProperty("--vlist-table-header-height"),U.remove(),N=[],V=[],F=null,c=!1},syncScroll:A}};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}}},T1=(Q,J,j,q,$,B,U,K,M)=>{let N=q4(),V=new Map,c=-1,L=j,O=null,F=null,v=null,b=(P,n)=>{F=P,v=n},y=(P,n)=>{n?P.setAttribute("aria-selected","true"):P.removeAttribute("aria-selected")},C=(P,n,V2,$2)=>{P.setAttribute("role",n),P.setAttribute("data-id",String(V2)),P.setAttribute("data-index",String($2))},W=(P)=>String(P).startsWith("__placeholder_"),D=`${$}-item ${$}-table-row`,E=`${$}-item--selected`,_=`${$}-item--focused`,H=`${$}-table-cell`,A=`${$}-table-cell--center`,h=`${$}-table-cell--right`,k=`${$}-table-cell-skeleton`,g=`${$}-item--odd`,i=`${$}-item--placeholder`,x=`${$}-item--replaced`,m=`${$}-table-row ${$}-table-group-header`,Q2=`${$}-table-group-header-content`,J2=(P,n,V2,$2,Z2=!1)=>{if(V2.def.cell){let X2=V2.def.cell(n,V2.def,$2);if(typeof X2==="string")P.innerHTML=X2;else P.replaceChildren(X2)}else{let X2=n[V2.def.key],O2=X2!=null?String(X2):"";if(Z2&&O2)P.innerHTML=`<span>${O2}</span>`;else P.textContent=O2}if(Z2&&P.firstElementChild===null){P.replaceChildren();let X2=document.createElement("span");X2.className=k,P.appendChild(X2)}},d=(P,n,V2,$2,Z2=!1)=>{let X2=D;if(K){if(O){let O2=O(n);if(O2>=0&&(O2&1)===1)X2+=` ${g}`}else if((n&1)===1)X2+=` ${g}`}if(Z2)X2+=` ${i}`;if(V2)X2+=` ${E}`;if($2)X2+=` ${_}`;P.className=X2},T=(P,n,V2)=>{if(V2?.compression?.isCompressed)return Math.round(u2(P,V2.scrollPosition,n,V2.totalItems,V2.containerSize,V2.compression,V2.rangeStart));return n.getOffset(P)},z=(P,n)=>{let V2=n.def.align;if(V2==="center")P.classList.add(A),P.classList.remove(h);else if(V2==="right")P.classList.add(h),P.classList.remove(A);else P.classList.remove(A,h)},Z=(P,n)=>{let $2=L.columns.length;if(n.length===$2)return n;let Z2=[];for(let X2=0;X2<$2;X2++){let O2;if(X2<n.length)O2=n[X2];else O2=document.createElement("div"),O2.className=H,P.appendChild(O2);Z2.push(O2)}for(let X2=$2;X2<n.length;X2++)n[X2].remove();return Z2},f=(P,n,V2,$2)=>{let Z2=N.acquire(),X2=P,O2=V2.getSize(n),F2=T(n,V2,$2);Z2.style.cssText=`width:${L.totalWidth}px;height:${O2}px;transform:translateY(${F2}px)`,Z2.className=m,C(Z2,"presentation",P.id,n),Z2.removeAttribute("aria-selected"),Z2.removeAttribute("aria-rowindex"),Z2.replaceChildren();let z2=document.createElement("div");if(z2.className=Q2,v){let p=v(X2.groupKey,X2.groupIndex);if(typeof p==="string")z2.innerHTML=p;else z2.appendChild(p)}return Z2.appendChild(z2),{element:Z2,cells:[],index:n,isGroupHeader:!0,_lastItem:P,lastItemId:P.id,lastSelected:!1,lastFocused:!1,lastOffset:F2,lastHeight:O2}},s=(P,n,V2,$2,Z2,X2)=>{let O2=N.acquire(),F2=Z2.getSize(n),z2=T(n,Z2,X2),p=W(P.id);O2.style.cssText=`width:${L.totalWidth}px;height:${F2}px;transform:translateY(${z2}px)`,d(O2,n,V2,$2,p),C(O2,"row",P.id,n),O2.id=`${B}-item-${n}`,O2.setAttribute("aria-rowindex",String(n+2)),y(O2,V2);let e=Z(O2,[]),a=L.columns;for(let j2=0;j2<e.length&&j2<a.length;j2++){let Y2=e[j2],_2=a[j2];Y2.style.cssText=`left:${_2.offset}px;width:${_2.width}px`,Y2.setAttribute("role","gridcell"),Y2.setAttribute("aria-colindex",String(j2+1)),z(Y2,_2),J2(Y2,P,_2,n,p)}return{element:O2,cells:e,index:n,isGroupHeader:!1,_lastItem:P,lastItemId:P.id,lastSelected:V2,lastFocused:$2,lastOffset:z2,lastHeight:F2}},S=(P,n,V2,$2,Z2)=>{let X2=!1,O2=U();if(O2!==c)c=O2,X2=!0;let F2=null,z2=J();O=typeof K==="string"&&M?M():null;for(let p=n.start;p<=n.end;p++){let e=p-n.start,a=P[e];if(!a)continue;let j2=V2.has(a.id),Y2=p===$2,_2=F?F(a):!1,K2=V.get(p);if(K2){if(K2.isGroupHeader!==_2){N.release(K2.element),V.delete(p);let T2=_2?f(a,p,z2,Z2):s(a,p,j2,Y2,z2,Z2);if(V.set(p,T2),!F2)F2=document.createDocumentFragment();F2.appendChild(T2.element);continue}if(_2){if(K2._lastItem!==a){let b2=a,B2=K2.element.firstElementChild;if(B2&&v){let H2=v(b2.groupKey,b2.groupIndex);if(typeof H2==="string")B2.innerHTML=H2;else B2.replaceChildren(H2)}K2.element.setAttribute("data-id",String(a.id)),K2._lastItem=a,K2.lastItemId=a.id}let P2=T(p,z2,Z2);if(K2.lastOffset!==P2)K2.lastOffset=P2,K2.element.style.transform=`translateY(${P2}px)`;let E2=z2.getSize(p);if(K2.lastHeight!==E2)K2.lastHeight=E2,K2.element.style.height=`${E2}px`}else{let T2=K2._lastItem!==a,P2=K2.lastSelected!==j2,E2=K2.lastFocused!==Y2;if(T2){let H2=K2.lastItemId!=null&&W(K2.lastItemId),k2=W(a.id);if(!k2&&o2(V2,p,a.id))j2=!0;let G2=L.columns;for(let D2=0;D2<K2.cells.length&&D2<G2.length;D2++)J2(K2.cells[D2],a,G2[D2],p,k2);if(d(K2.element,p,j2,Y2,k2),K2.element.setAttribute("data-id",String(a.id)),y(K2.element,j2),H2&&!k2)K2.element.classList.add(x),setTimeout(()=>{K2.element.classList.remove(x)},300);K2._lastItem=a,K2.lastItemId=a.id,K2.lastSelected=j2,K2.lastFocused=Y2}else if(P2||E2)d(K2.element,p,j2,Y2,W(a.id)),y(K2.element,j2),K2.lastSelected=j2,K2.lastFocused=Y2;let b2=T(p,z2,Z2);if(K2.lastOffset!==b2)K2.lastOffset=b2,K2.element.style.transform=`translateY(${b2}px)`;let B2=z2.getSize(p);if(K2.lastHeight!==B2)K2.lastHeight=B2,K2.element.style.height=`${B2}px`;if(X2)K2.element.setAttribute("aria-rowindex",String(p+2))}}else{if(o2(V2,p,a.id))j2=!0;let T2=_2?f(a,p,z2,Z2):s(a,p,j2,Y2,z2,Z2);if(V.set(p,T2),!F2)F2=document.createDocumentFragment();F2.appendChild(T2.element)}}if(F2)Q.appendChild(F2);for(let[p,e]of V)if(p<n.start||p>n.end)N.release(e.element),V.delete(p)},u=(P)=>{let n=J();for(let[V2,$2]of V){let Z2=T(V2,n,P);if($2.lastOffset!==Z2)$2.lastOffset=Z2,$2.element.style.transform=`translateY(${Z2}px)`}},Y=(P,n,V2,$2)=>{let Z2=V.get(P);if(!Z2)return;if(Z2.isGroupHeader)return;let X2=L.columns;for(let O2=0;O2<Z2.cells.length&&O2<X2.length;O2++)J2(Z2.cells[O2],n,X2[O2],P);Z2.element.setAttribute("data-id",String(n.id)),Z2._lastItem=n,Z2.lastItemId=n.id,d(Z2.element,P,V2,$2),y(Z2.element,V2),Z2.lastSelected=V2,Z2.lastFocused=$2},w=(P,n,V2)=>{let $2=V.get(P);if(!$2)return;if($2.isGroupHeader)return;let Z2=$2.lastSelected!==n,X2=$2.lastFocused!==V2;if(Z2||X2)d($2.element,P,n,V2),y($2.element,n),$2.lastSelected=n,$2.lastFocused=V2},G=(P)=>{L=P;let n=P.columns;for(let[,V2]of V)if(V2.element.style.width=`${P.totalWidth}px`,V2.cells.length>0)for(let $2=0;$2<V2.cells.length&&$2<n.length;$2++){let Z2=V2.cells[$2],X2=n[$2];Z2.style.left=`${X2.offset}px`,Z2.style.width=`${X2.width}px`}},I=(P)=>{return V.get(P)?.element},r=()=>{for(let[,P]of V)N.release(P.element);V.clear(),c=-1};return{render:S,updatePositions:u,updateItem:Y,updateItemClasses:w,getElement:I,updateColumnLayout:G,setGroupHeaderFn:b,clear:r,destroy:()=>{r(),N.clear()}}};var Z4=new Set;function P0(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,$,B,U=null,K=null,M=null,N=!1,V=-1,c=null,L=!1;function O(){if(N||!U)return;N=!0,K=U.getMethod("_getSelectedIds")??null,M=U.getMethod("_getFocusedIndex")??null}function F(){if(L||!U)return;L=!0,c=U.getMethod("_scale:getCompression")??null}let v=[],b={start:0,end:0},y={start:0,end:-1};function C(){if($.destroyed||!U||!q||!J)return;let{containerSize:D,totalItems:E}=$;if(D<=0||E===0)return;let _=E+1;if(_!==V)V=_,U.dom.root.setAttribute("aria-rowcount",`${_}`);F();let H=$.scrollPosition,A=c?.()??null,h=A!==null&&A.isCompressed,k=U.config.overscan,g,i;if(h)x2(H,D,B,E,A,y),g=Math.max(0,y.start-k),i=Math.min(E-1,y.end+k);else{let T=B.indexAtOffset(H),z=B.indexAtOffset(H+D);if(z<E-1)z++;T=Math.max(0,T),z=Math.min(E-1,z),g=Math.max(0,T-k),i=Math.min(E-1,z+k)}if(g===$.prevRangeStart&&i===$.prevRangeEnd&&!$.renderPending)return;O();let x=K?.()??Z4,m=M?.()??-1;v.length=0;for(let T=g;T<=i;T++){let z=U.getItem(T);if(z)v.push(z)}b.start=g,b.end=i;let Q2;if(h)Q2={scrollPosition:H,totalItems:E,containerSize:D,rangeStart:g,compression:A};q.render(v,b,x,m,Q2),$.prevRangeStart=g,$.prevRangeEnd=i,$.renderPending=!1;let J2=i-g+1;$.visibleCount=Math.min(J2,$.capacity),$.startIndex=g;for(let T=0;T<$.visibleCount;T++){let z=g+T;$.visibleIndices[T]=z,$.visibleOffsets[T]=B.getOffset(z),$.visibleSizes[T]=B.getSize(z)}let d=B.getTotalSize();$.totalSize=d,U.dom.content.style.height=d+"px"}function W(){if($.destroyed)return;$.prevRangeStart=-1,$.prevRangeEnd=-1,$.renderPending=!0,C()}return{name:"table",priority:10,conflicts:["grid","masonry"],setup(D){U=D,$=D.getState(),B=D.sizeCache;let{dom:E,config:_,emitter:H}=D,{classPrefix:A}=_;if(_.axis.primary==="x")throw Error("[vlist] table: cannot be used with horizontal orientation");if(_.reverse)throw Error("[vlist] table: cannot be used with reverse mode");let h=Q.resizable??!0,k=Q.minColumnWidth??50,g=Q.maxColumnWidth??1/0,i=Q.fillWidth===!1?"none":Q.fillWidth===!0?"stretch":Q.fillWidth??"spacer",x=Q.rowBorders??!0,m=Q.rowHeight,Q2=Q.headerHeight??(typeof m==="number"?m:40),J2=Q.sort?.key??null,d=Q.sort?.direction??"asc";if(J=E1(Q.columns,k,g,h,i),typeof m==="function"||typeof m==="number")D.setSizeConfig(m);if(D.rebuildSizeCache(),E.root.classList.add(`${A}--table`),x)E.root.classList.add(`${A}--table-row-borders`);if(Q.columnBorders)E.root.classList.add(`${A}--table-col-borders`);queueMicrotask(()=>{if(D.getMethod("_getSelectedIds"))E.root.setAttribute("tabindex","0")}),E.root.setAttribute("role","grid"),E.root.setAttribute("aria-colcount",`${Q.columns.length}`),E.viewport.setAttribute("role","none"),E.content.setAttribute("role","rowgroup");let T=$.crossSize;J.resolve(T);let z=()=>{if(!J)return;E.content.style.minWidth=`${J.totalWidth}px`},Z=(Y,w)=>{if(!J)return;let G=J.getColumn(Y);if(!G)return;let I=G.width,r=J.resizeColumn(Y,w);j?.update(J),q?.updateColumnLayout(J),z(),H.emit("column:resize",{key:G.def.key,index:Y,previousWidth:I,width:r})},f=(Y)=>{J2=Y.direction===null?null:Y.key,d=Y.direction??"asc",j?.updateSort(J2,d),H.emit("column:sort",Y)};if(j=R1(E.root,Q2,A,Z,f),j.rebuild(J),J2)j.updateSort(J2,d);z(),q=T1(E.content,()=>B,J,Q.columns,A,A,()=>$.totalItems,_.striped||void 0),D.setRenderFn(C,W);let s=j,S=-1,u=()=>{let Y=E.viewport.scrollLeft;if(Y!==S)S=Y,s?.syncScroll?.(Y)};E.viewport.addEventListener("scroll",u,{passive:!0}),D.registerMethod("updateColumns",(Y)=>{if(!J||!j)return;if(J.updateColumns(Y),J.resolve($.crossSize),j.rebuild(J),J2)j.updateSort(J2,d);z(),q?.updateColumnLayout(J),q?.clear(),D.forceRender()}),D.registerMethod("resizeColumn",(Y,w)=>{if(!J)return;let G;if(typeof Y==="string"){let I=J.columns;G=-1;for(let r=0;r<I.length;r++)if(I[r].def.key===Y){G=r;break}if(G===-1)return}else G=Y;Z(G,w)}),D.registerMethod("getColumnWidths",()=>{if(!J)return{};let Y={},w=J.columns;for(let G=0;G<w.length;G++)Y[w[G].def.key]=w[G].width;return Y}),D.registerMethod("setSort",(Y,w)=>{J2=Y,d=w??"asc",j?.updateSort(J2,d)}),D.registerMethod("getSort",()=>{return{key:J2,direction:d}}),D.registerMethod("_getTableLayout",()=>J),D.registerMethod("_getTableHeaderHeight",()=>Q2),D.registerMethod("_updateRenderedItem",(Y,w,G,I)=>{q?.updateItem(Y,w,G,I)}),D.registerMethod("_replaceTableRenderer",(Y)=>{q=Y}),D.registerMethod("_updateTableForGroups",(Y,w)=>{q?.setGroupHeaderFn(Y,w)}),D.registerMethod("_updateItemClasses",(Y,w,G)=>{q?.updateItemClasses(Y,w,G)}),D.registerKeydownHandler((Y)=>{if(Y.key!=="ArrowLeft"&&Y.key!=="ArrowRight")return;if(!J)return;let w=J.columns;if(w.length===0)return;let G=E.viewport.clientWidth;if(J.totalWidth<=G)return;let I=E.viewport.scrollLeft;if(Y.key==="ArrowRight"){for(let r=0;r<w.length;r++)if(w[r].offset>I+1){E.viewport.scrollLeft=w[r].offset,Y.preventDefault();return}}else{for(let r=w.length-1;r>=0;r--)if(w[r].offset<I-1){E.viewport.scrollLeft=w[r].offset,Y.preventDefault();return}if(I>0)E.viewport.scrollLeft=0,Y.preventDefault()}}),D.registerDestroyHandler(()=>{E.viewport.removeEventListener("scroll",u),j?.destroy(),j=null,q?.destroy(),q=null,E.content.style.minWidth="",E.root.classList.remove(`${A}--table`),E.root.classList.remove(`${A}--table-row-borders`),E.root.classList.remove(`${A}--table-col-borders`),E.root.removeAttribute("role"),E.root.removeAttribute("aria-colcount"),E.root.removeAttribute("aria-rowcount"),E.root.removeAttribute("tabindex"),E.viewport.removeAttribute("role"),E.content.removeAttribute("role")})},hooks:{onResize(D,E){if(!J||!U)return;let _=$.crossSize;if(J.resolve(_),j?.update(J),q?.updateColumnLayout(J),J)U.dom.content.style.minWidth=`${J.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 y0(Q){let J=Q?.handle??null,j=Q?.ghostClass??"vlist-sort-ghost",q=Q?.shiftDuration??150,$=Q?.edgeScrollZone??40,B=Q?.edgeScrollSpeed??20,U=Q?.dragThreshold??5,K=Q?.ghostContainer??null,M,N,V=null,c,L,O,F,v,b,y,C,W,D,E=!1,_=-1,H=-1,A=0,h=0,k=0,g=0,i=!1,x=null,m=0,Q2=null,J2=0,d=0,T=0,z=null,Z=!1,f="",s=-1,S=-1,u=[],Y="",w=null,G=null,I="",r=!1,l=(X)=>{return X.closest("[data-index]")},P=(X)=>{let t=X.dataset.index;return t===void 0?-1:+t},n=(X)=>{let t=X.getBoundingClientRect(),U2=X.cloneNode(!0);return U2.className=`${F}-item ${j}`,U2.removeAttribute("data-index"),U2.style.cssText=`position:fixed;pointer-events:none;z-index:10000;width:${t.width}px;height:${t.height}px;left:${t.left}px;top:${t.top}px;transition:none;will-change:transform`,(K||document.body).appendChild(U2),U2},V2=()=>{if(!x)return;x.style.left=`${k-d}px`,x.style.top=`${g-T}px`},$2=()=>{let X=M.totalItems;if(X===0)return 0;let t=L.getBoundingClientRect(),U2=M.scrollPosition,o=v?k-d-t.left+L.scrollLeft+U2:g-T-t.top+U2,q2=o+J2,M2=N.getOffset(_)+N.getSize(_);if(q2>M2){let w2=N.indexAtOffset(q2),v2=N.getOffset(w2)+N.getSize(w2)/2,f2=q2>v2?w2:w2-1;return Math.min(Math.max(f2,_),X-1)}let L2=N.getOffset(_);if(o<L2){let w2=N.indexAtOffset(o),v2=N.getOffset(w2)+N.getSize(w2)/2,f2=o<v2?w2:w2+1;return Math.max(Math.min(f2,_),0)}return _},Z2=()=>{let X=c.children,t=J2;for(let U2=0;U2<X.length;U2++){let o=X[U2],q2=P(o);if(q2<0||q2===_)continue;let M2=0;if(H>_){if(q2>_&&q2<=H)M2=-t}else if(H<_){if(q2>=H&&q2<_)M2=t}let L2=N.getOffset(q2),w2=Math.round(L2+M2);o.style.transition=y,o.style.transform=`${b}(${w2}px)`}},X2=()=>{let X=c.children;for(let t=0;t<X.length;t++){let U2=X[t],o=P(U2);if(o>=0)U2.style.transform=`${b}(${Math.round(N.getOffset(o))}px)`;U2.style.transition=""}},O2=()=>{if(!V)return;let X=$2();if(X===H)return;H=X,Z2(),V.emitter.emit("sort:move",{fromIndex:_,currentIndex:H})},F2=()=>{let X=L.getBoundingClientRect();if(v)return k<X.left||k>X.right;return g<X.top||g>X.bottom},z2=()=>{let X=V?.getMethod("_getFocusedIndex");return X?X():-1},p=(X)=>{let t=V?.getMethod("_focusById");if(t)t(X)},e=(X)=>{if(!V)return;let t=v?L.clientWidth:L.clientHeight,U2=M.scrollPosition,o=N.getOffset(X),q2=o+N.getSize(X);if(o<U2)V.scrollTo(Math.max(0,o));else if(q2>U2+t)V.scrollTo(q2-t)},a=(X)=>{if(!G)return;G.textContent="",G.offsetHeight,G.textContent=X},j2=(X)=>{if(!V)return"";let U2=V.getItems()[X];if(!U2)return"";return c.querySelector(`[data-index="${X}"]`)?.textContent?.trim()||String(U2.id)},Y2=()=>String(M.totalItems),_2=(X)=>{let t=c.children;for(let U2=0;U2<t.length;U2++)t[U2].style.transition=X},K2=()=>{let X=()=>{if(!E||!V)return;let t=L.getBoundingClientRect(),U2=0,o=3;if(v){let M2=k-t.left,L2=t.right-k;if(M2<$){let w2=Math.min(o,1-M2/$);U2=-B*w2*w2}else if(L2<$){let w2=Math.min(o,1-L2/$);U2=B*w2*w2}}else{let M2=g-t.top,L2=t.bottom-g;if(M2<$){let w2=Math.min(o,1-M2/$);U2=-B*w2*w2}else if(L2<$){let w2=Math.min(o,1-L2/$);U2=B*w2*w2}}let q2=F2();if(U2!==0){let M2=M.scrollPosition,L2=N.getTotalSize()-(v?L.clientWidth:L.clientHeight);if(U2<0&&M2<=0||U2>0&&M2>=L2)r=q2;else r=!0,V.scrollTo(M2+U2)}else r=q2;m=requestAnimationFrame(X)};m=requestAnimationFrame(X)},T2=()=>{if(m)cancelAnimationFrame(m),m=0},P2=(X=!1)=>{if(E=!1,i=!1,x&&x.parentNode)x.remove();x=null,Q2=null;let t=c.children;for(let o=0;o<t.length;o++){let q2=t[o];q2.classList.remove(D);let M2=P(q2);if(M2>=0)q2.style.transform=`${b}(${Math.round(N.getOffset(M2))}px)`;q2.style.transition=""}T2(),O.classList.remove(C),document.body.style.cursor="";let U2=window.getSelection();if(U2)U2.removeAllRanges();if(document.removeEventListener("pointermove",B2),document.removeEventListener("pointerup",H2),document.removeEventListener("pointercancel",G2),!X&&V)V.forceRender()},E2=(X,t)=>{if(!V)return;let U2=X!==t&&X>=0&&t>=0,o=()=>{if(!V)return;if(E=!1,U2){if(O.classList.add(W),V.emitter.emit("sort:end",{fromIndex:X,toIndex:t}),z!==null)p(z);P2(!0),requestAnimationFrame(()=>O.classList.remove(W))}else O.classList.add(W),V.emitter.emit("sort:cancel",{originalItems:[...V.getItems()]}),P2(!1),requestAnimationFrame(()=>O.classList.remove(W))};if(!x){o();return}let q2=L.getBoundingClientRect(),M2=M.scrollPosition,L2=N.getOffset(t),w2=q>0?q:150;if(x.style.transition=`left ${w2}ms ease, top ${w2}ms ease`,v)x.style.left=`${q2.left-L.scrollLeft+L2-M2}px`,x.style.top=`${q2.top}px`;else x.style.left=`${q2.left}px`,x.style.top=`${q2.top+L2-M2}px`;let v2=!1,f2=()=>{if(v2)return;v2=!0,x?.removeEventListener("transitionend",f2),o()};x.addEventListener("transitionend",f2),setTimeout(f2,w2+50)},b2=(X)=>{if(M.destroyed||!V)return;if(E)return;if(Z)R2();if(X.button!==0)return;let t=X.target;if(J){if(!t.closest(J))return}let U2=l(t);if(!U2)return;let o=P(U2);if(o<0)return;A=X.clientX,h=X.clientY,k=X.clientX,g=X.clientY,_=o,i=!1,Q2=U2;let q2=U2.getBoundingClientRect();d=X.clientX-q2.left,T=X.clientY-q2.top,document.addEventListener("pointermove",B2),document.addEventListener("pointerup",H2),document.addEventListener("pointercancel",G2)};function B2(X){if(!V)return;if(k=X.clientX,g=X.clientY,!i){let t=k-A,U2=g-h;if(Math.sqrt(t*t+U2*U2)<U)return;if(i=!0,E=!0,H=_,O.classList.add(C),document.body.style.cursor="grabbing",J2=N.getSize(_),Q2)x=n(Q2),Q2.classList.add(D);let o=z2();if(o>=0){let M2=V.getItems()[o];z=M2?M2.id:null}else z=null;V.emitter.emit("sort:start",{index:_}),K2()}if(E){if(X.preventDefault(),V2(),!r)O2();else if(F2()){if(H!==_)H=_,X2()}}}function H2(X){if(!i){document.removeEventListener("pointermove",B2),document.removeEventListener("pointerup",H2),document.removeEventListener("pointercancel",G2),Q2=null;return}X.preventDefault(),document.removeEventListener("pointermove",B2),document.removeEventListener("pointerup",H2),document.removeEventListener("pointercancel",G2),T2(),E2(_,H)}let k2=()=>{if(!i)return;document.removeEventListener("pointermove",B2),document.removeEventListener("pointerup",H2),document.removeEventListener("pointercancel",G2),T2(),X2(),E2(_,_)};function G2(){k2()}let D2=()=>{let X=c.querySelectorAll(`.${I}`);for(let t=0;t<X.length;t++)X[t].classList.remove(I)},R=()=>{D2();let X=c.querySelector(`[data-id="${f}"]`);if(X)X.classList.add(I)},N2=(X)=>{if(!V)return;let t=V.getItems(),U2=t[X];if(!U2)return;Z=!0,f=U2.id,s=X,S=X,u=[...t],O.classList.add(C),V.emitter.emit("sort:start",{index:X}),R(),a(`Grabbed ${j2(X)}. Current position ${X+1} of ${Y2()}. Use Up and Down arrow keys to move, Space to drop, Escape to cancel.`)},A2=()=>{if(!Z||!V)return;Z=!1;let X=S,t=j2(X);_2("none"),O.classList.remove(C),D2(),p(f),V.forceRender(),a(`${t} dropped. Final position ${X+1} of ${Y2()}.`),u=[],requestAnimationFrame(()=>_2(""))},R2=()=>{if(!Z||!V)return;Z=!1;let X=s;if(_2("none"),O.classList.remove(C),D2(),S!==X)V.emitter.emit("sort:cancel",{originalItems:u});p(f),V.forceRender(),e(X),a(`Reorder cancelled. Returned to position ${X+1} of ${Y2()}.`),u=[],requestAnimationFrame(()=>_2(""))},y2=(X)=>{if(!Z||!V)return;let t=M.totalItems,U2=S+X;if(U2<0||U2>=t)return;let o=S,q2=U2;_2("none"),V.emitter.emit("sort:end",{fromIndex:o,toIndex:q2}),S=q2,p(f),V.forceRender(),e(q2),R(),a(`${j2(q2)} moved. New position ${q2+1} of ${Y2()}.`),requestAnimationFrame(()=>_2(""))},W2=(X)=>{if(M.destroyed)return;if(E){if(X.key==="Escape")X.preventDefault(),X.stopImmediatePropagation(),k2();return}if(Z)switch(X.key){case" ":case"Enter":X.preventDefault(),X.stopImmediatePropagation(),A2();return;case"Escape":X.preventDefault(),X.stopImmediatePropagation(),R2();return;case"ArrowUp":case"ArrowLeft":X.preventDefault(),X.stopImmediatePropagation(),y2(-1);return;case"ArrowDown":case"ArrowRight":X.preventDefault(),X.stopImmediatePropagation(),y2(1);return;default:if(!X.key.startsWith("F")&&X.key!=="Tab")X.preventDefault(),X.stopImmediatePropagation();return}if(X.key===" "&&!X.shiftKey&&!X.ctrlKey&&!X.metaKey){let t=z2();if(t>=0)X.preventDefault(),X.stopImmediatePropagation(),N2(t)}};return{name:"sortable",priority:30,conflicts:["grid","masonry","table","scale","tree"],setup(X){V=X,M=X.getState(),N=X.sizeCache,c=X.dom.content,L=X.dom.viewport,O=X.dom.root,F=X.config.classPrefix,v=X.config.axis.primary==="x",b=v?"translateX":"translateY",y=q>0?`transform ${q}ms ease`:"none",C=`${F}--sorting`,W=`${F}--settling`,D=`${F}-item--drag-source`,I=`${F}-item--kb-sorting`,X.registerMethod("isSorting",()=>E||Z),c.addEventListener("pointerdown",b2),O.addEventListener("keydown",W2),Y=`${F}-sort-instructions`,w=document.createElement("div"),w.id=Y,w.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.textContent="Press Space to reorder. Use arrow keys to move, Space to drop, Escape to cancel.",O.appendChild(w),G=document.createElement("div"),G.setAttribute("role","status"),G.setAttribute("aria-live","assertive"),G.setAttribute("aria-atomic","true"),G.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",O.appendChild(G),X.registerDestroyHandler(()=>{if(Z)R2();P2(),c.removeEventListener("pointerdown",b2),O.removeEventListener("keydown",W2),w?.remove(),G?.remove()})},hooks:{onCommit(){if(!V)return;let X=c.children;for(let t=0;t<X.length;t++){let U2=X[t],o=P(U2);if(o<0)continue;if(U2.setAttribute("aria-roledescription","sortable item"),U2.setAttribute("aria-describedby",Y),Z)if(U2.getAttribute("data-id")===String(f))U2.classList.add(I);else U2.classList.remove(I);if(E)if(o===_)U2.classList.add(D),Q2=U2;else{U2.classList.remove(D);let q2=0;if(H>_){if(o>_&&o<=H)q2=-J2}else if(H<_){if(o>=H&&o<_)q2=J2}let M2=Math.round(N.getOffset(o)+q2);U2.style.transform=`${b}(${M2}px)`}}}},destroy(){if(x&&x.parentNode)x.remove();x=null,T2(),w?.remove(),G?.remove(),V=null}}}function w0(Q,J){let j=[],q=J,$=new Map,B=[];function U(){$.clear();for(let _=0;_<j.length;_++)$.set(j[_].id,_)}function K(_){let H=j[_].depth,A=0;for(let h=_+1;h<j.length;h++){if(j[h].depth<=H)break;A++}return A}function M(_,H,A,h){for(let k=0;k<_.length;k++){let g=_[k],i=g.id,x=Q(g),m=x.length>0,Q2=m&&q.has(i);if(h.push({item:g,id:i,depth:A,parentId:H,hasChildren:m,expanded:Q2,childCount:x.length,siblingCount:_.length,positionInSiblings:k,isLastChild:k===_.length-1,loading:!1}),Q2)M(x,i,A+1,h)}}function N(_,H,A){for(let h of _){if(h.id===H)return h;let k=Q(h);if(k.length>0){A?.push(h.id);let g=N(k,H,A);if(g)return g;A?.pop()}}return}function V(_,H){if(H===null)return B;let A=N(B,H);return A?Q(A):[]}function c(_,H){let A=N(B,H);if(!A)return!1;return N(Q(A),_)!==void 0}function L(_){let H=new Set;function A(h){for(let k of h){if(H.has(k.id))throw Error(`[vlist] tree: duplicate id "${k.id}"`);H.add(k.id);let g=Q(k);if(g.length>0)A(g)}}A(_)}function O(_,H){if(B=_,!H)L(_);j.length=0,M(_,null,0,j),U()}function F(_){let H=$.get(_);if(H===void 0)return 0;let A=j[H];if(!A.hasChildren||A.expanded)return 0;let h=[],k=Q(A.item);if(M(k,_,A.depth+1,h),h.length===0)return 0;A.expanded=!0,q.add(_);let g=H+1,i=j.splice(g);for(let x=0;x<h.length;x++)j.push(h[x]);for(let x=0;x<i.length;x++)j.push(i[x]);return U(),h.length}function v(_){let H=$.get(_);if(H===void 0)return 0;let A=j[H];if(!A.hasChildren||!A.expanded)return 0;A.expanded=!1,q.delete(_);let h=K(H);if(h>0)j.splice(H+1,h),U();return h}function b(_){function H(A){for(let h of A){let k=Q(h);if(k.length>0)q.add(h.id),H(k)}}H(_),O(_)}function y(){q.clear(),O(B,!0)}function C(_){let H=[];if(!N(B,_,H))return;for(let A of H)q.add(A);O(B,!0)}function W(_,H,A){if($.has(H.id)||N(B,H.id))throw Error(`[vlist] tree: duplicate id "${H.id}"`);if(_===null){let x=B,m=A??x.length;x.splice(m,0,H),O(B,!0);return}let h=$.get(_);if(h===void 0)throw Error(`[vlist] tree: parent "${_}" not found`);let k=j[h],g=Q(k.item),i=A??g.length;if(g.splice(i,0,H),!k.hasChildren)k.hasChildren=!0,k.childCount=1,k.expanded=!1;else k.childCount=g.length;if(k.expanded)O(B,!0);else U()}function D(_){let H=$.get(_);if(H===void 0)return 0;let A=j[H],k=K(H)+1;for(let x=H;x<H+k;x++)q.delete(j[x].id);if(j.splice(H,k),A.parentId!==null){let x=$.get(A.parentId);if(x!==void 0){let m=j[x];if(m.childCount--,m.childCount===0)m.hasChildren=!1,m.expanded=!1,q.delete(m.id)}}let g=V(_,A.parentId),i=g.findIndex((x)=>x.id===_);if(i>=0)g.splice(i,1);return O(B,!0),k}function E(_,H,A){if(H!==null&&c(H,_))throw Error(`[vlist] tree: cannot move "${_}" to its own descendant "${H}"`);if(_===H)throw Error(`[vlist] tree: cannot move "${_}" to itself`);let h=$.get(_);if(h===void 0)return;let k=j[h],g=V(_,k.parentId),i=g.findIndex((x)=>x.id===_);if(i>=0)g.splice(i,1);if(H===null){let x=B,m=A??x.length;x.splice(m,0,k.item)}else{let x=N(B,H);if(!x)throw Error(`[vlist] tree: new parent "${H}" not found`);let m=Q(x),Q2=A??m.length;m.splice(Q2,0,k.item)}O(B,!0)}return{flatNodes:j,expandedIds:q,idToIndex:$,rebuild:O,expand:F,collapse:v,expandAll:b,collapseAll:y,expandTo:C,getSubtreeSize:K,addChild:W,removeNode:D,moveNode:E,get totalVisible(){return j.length},get rootItems(){return B}}}var K4=()=>[];function U4(Q){let{children:J,parentId:j}=Q;if(j!==void 0)return K4;if(J===void 0||J==="children")return(q)=>q.children??[];if(typeof J==="string"){let q=J;return($)=>$[q]??[]}return J}function Y4(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 B4(Q,J,j){let{expanded:q}=Q,$=new Set;if(q===void 0||q===!1)return $;if(Array.isArray(q)){for(let K of q)$.add(K);return $}let B=q===!0?null:q;function U(K){for(let M of K){let N=j(M);if(N.length>0){if(!B||B(M))$.add(M.id);U(N)}}}return U(J),$}function b1(Q,J){let{parentId:j}=J;if(j===void 0)throw Error("[vlist] tree: parentId not set");let q=typeof j==="string"?(K)=>K[j]??null:j,$=(K)=>q(K)??null,B=new Map,U=new Map;for(let K of Q){U.set(K.id,K);let M=$(K),N=B.get(M);if(!N)N=[],B.set(M,N);N.push(K)}for(let K of Q){let M=$(K);if(M!==null&&M!==void 0&&!U.has(M))console.warn(`[vlist] tree: orphaned node "${K.id}" — parentId "${M}" not found`)}return{roots:B.get(null)??[],getChildren:(K)=>{let M=B.get(K.id);if(!M)M=[],B.set(K.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 v0(Q){let J=Q??{},j=J.indent??24,q=J.paddingStart??0,$=J.expandOnClick??!1,B=J.connectorLines??!1,U=J.parentId!==void 0,K,M,N,V,c,L,O,F,v,b,y=null,C,W,D,E=null,_=!1,H,A,h,k,g,i,x,m=new Map,Q2=-1,J2=-1,d=-1,T=!0,z=null,Z=!1,f,s=-1,S=!1,u=!1,Y="",w=null,G={start:0,end:-1};function I(){if(_)return;_=!0,E=C("_scale:getCompression")??null}function r(){if(u){let R=C("_getFocusedIndex");return R?R():-1}return S?s:-1}let l,P,n;function V2(){if(P!==void 0)return;l=C("select")??null,P=C("_focusById")??null,n=C("_isFollowFocus")??null}function $2(R){if(R<0||R>=K.totalVisible)return;let N2=K.flatNodes[R];if(!N2)return;if(u){if(V2(),P)P(N2.id);if(n?.()&&l)l(N2.id);else O2();Z2(R)}else s=R,S=!0,c.setAttribute("aria-activedescendant",`${v}-item-${R}`),Z2(R),O2()}function Z2(R){let N2=M.getOffset(R),A2=M.getSize(R),R2=N.scrollPosition,y2=N.containerSize;if(N2<R2)X2(N2);else if(N2+A2>R2+y2)X2(N2-y2+A2)}let X2,O2,F2;function z2(R){return F?`translate(${Math.round(R)}px, 0)`:`translate(0, ${Math.round(R)}px)`}function p(R){if(R===d)return;d=R,c.style[F?"width":"height"]=R+"px"}function e(){m.forEach((R)=>{R.remove(),V.release(R)}),m.clear()}let a=0;function j2(){let R=F2();if(R===z&&R.length===a)return;if(z=R,a=R.length,U){let{roots:N2,getChildren:A2}=b1(R,J),R2=J.loadChildren?(y2)=>K2.get(y2.id)??A2(y2):A2;K=w0(R2,K.expandedIds),K.rebuild(N2,!0)}else K.rebuild(R,!0);Y2(),e()}function Y2(){N.totalItems=K.totalVisible,f(K.totalVisible);let R=M.getTotalSize();p(R);let N2=C("_scrollbar:getInstance");if(N2)N2()?.updateBounds(R,N.containerSize)}function _2(){Y2(),e(),O2()}let K2=new Map,T2=new Set;async function P2(R){if(!J.loadChildren||T2.has(R))return;let N2=K.idToIndex.get(R);if(N2===void 0)return;let A2=K.flatNodes[N2];T2.add(R),A2.loading=!0,queueMicrotask(()=>O2());try{let R2=await J.loadChildren(A2.item);T2.delete(R);let y2=K.idToIndex.get(R);if(y2===void 0)return;let W2=K.flatNodes[y2];if(W2.loading=!1,K2.set(R,R2),W2.hasChildren=R2.length>0,W2.childCount=R2.length,R2.length>0)W2.expanded=!0,K.expandedIds.add(R),K.rebuild(K.rootItems);_2(),W.emit("tree:load",{id:R,item:W2.item,children:R2})}catch(R2){T2.delete(R),K2.set(R,[]);let y2=K.idToIndex.get(R);if(y2!==void 0)K.flatNodes[y2].loading=!1;O2(),W.emit("tree:load:error",{id:R,item:A2.item,error:R2})}}function E2(R){let N2=K.idToIndex.get(R);if(N2===void 0)return;let A2=K.flatNodes[N2];if(J.loadChildren&&!A2.hasChildren&&!A2.loading){if(!K2.has(R)){P2(R);return}}if(K.expand(R)===0)return;_2(),W.emit("tree:expand",{id:R,item:A2.item,depth:A2.depth})}function b2(R){let N2=K.idToIndex.get(R);if(N2===void 0)return;let A2=K.flatNodes[N2],R2=K.collapse(R);if(R2===0)return;if(!u&&s>N2){if(s<=N2+R2)s=N2;else s-=R2;if(S)c.setAttribute("aria-activedescendant",`${v}-item-${s}`)}_2(),W.emit("tree:collapse",{id:R,item:A2.item,depth:A2.depth})}function B2(R,N2,A2,R2){let{depth:y2,expanded:W2,hasChildren:X,loading:t,siblingCount:U2,positionInSiblings:o,isLastChild:q2,id:M2}=N2;if(R.className=H,W2)R.classList.add(A);if(!X)R.classList.add(h);if(t)R.classList.add(k);if(B&&q2)R.classList.add(g);if(R.setAttribute("role","treeitem"),R.setAttribute("data-index",String(A2)),R.setAttribute("data-id",String(M2)),R.id=`${v}-item-${A2}`,R.setAttribute("aria-level",String(y2+1)),R.setAttribute("aria-setsize",String(U2)),R.setAttribute("aria-posinset",String(o+1)),X)R.setAttribute("aria-expanded",String(W2));else R.removeAttribute("aria-expanded");if(R.style.paddingLeft=`${q+y2*j}px`,R.style.setProperty("--vlist-tree-depth",String(y2)),B)R.style.setProperty("--vlist-tree-indent",`${j}px`),R.style.setProperty("--vlist-tree-pad",`${q}px`);if(R2)R2(A2,g2);else g2.selected=!1,g2.focused=!1;l2.depth=y2,l2.expanded=W2,l2.hasChildren=X,l2.isLeaf=!X,l2.isLastChild=q2,l2.loading=t;let L2=O(N2.item,A2,g2);if(typeof L2==="string")R.innerHTML=L2;else R.innerHTML="",R.appendChild(L2);p2(R)}function H2(){if(N.destroyed)return;if(j2(),!Z){if(Z=!0,c.setAttribute("role","tree"),c.setAttribute("tabindex","0"),L.classList.add(`${v}--tree`),B)L.classList.add(`${v}--tree-lines`)}let{scrollPosition:R,containerSize:N2}=N;if(!T&&R===Q2&&N2===J2)return;Q2=R,J2=N2,T=!1;let A2=K.totalVisible;if(N2<=0||A2===0){if(m.size>0)e();return}I();let R2=E?.()??null,y2=R2!==null&&R2.isCompressed,W2,X;if(y2)x2(R,N2,M,A2,R2,G),W2=Math.max(0,G.start-b),X=Math.min(A2-1,G.end+b);else{let q2=M.indexAtOffset(R),M2=M.indexAtOffset(R+N2);if(M2<A2-1)M2++;q2=Math.max(0,q2),M2=Math.min(A2-1,Math.max(0,M2)),W2=Math.max(0,q2-b),X=Math.min(A2-1,M2+b)}if(W2===N.prevRangeStart&&X===N.prevRangeEnd&&!N.renderPending)return;m.forEach((q2,M2)=>{if(M2<W2||M2>X)q2.remove(),V.release(q2),m.delete(M2)});let t=y?.()??null,U2=null;for(let q2=W2;q2<=X;q2++){let M2=K.flatNodes[q2],L2=m.get(q2);if(L2===void 0){if(L2=V.acquire(),B2(L2,M2,q2,t),L2.style[F?"width":"height"]=`${M.getSize(q2)}px`,m.set(q2,L2),!U2)U2=document.createDocumentFragment();U2.appendChild(L2)}else if(L2.getAttribute("data-id")!==String(M2.id)||L2.classList.contains(k)!==M2.loading)B2(L2,M2,q2,t);if(L2.style.transform=y2?z2(u2(q2,R,M,A2,N2,R2)):z2(M.getOffset(q2)),t)if(t(q2,g2),L2.classList.toggle(i,g2.selected),L2.classList.toggle(x,g2.focused),g2.selected)L2.setAttribute("aria-selected","true");else L2.removeAttribute("aria-selected");else if(!u){let w2=S&&s===q2;L2.classList.toggle(x,w2)}}if(U2)c.appendChild(U2);p(M.getTotalSize()),N.prevRangeStart=W2,N.prevRangeEnd=X,N.renderPending=!1;let o=0;for(let q2=W2;q2<=X&&o<N.capacity;q2++)N.visibleIndices[o]=q2,N.visibleOffsets[o]=M.getOffset(q2),N.visibleSizes[o]=M.getSize(q2),o++;N.visibleCount=o,N.startIndex=W2}function k2(){if(N.destroyed)return;N.prevRangeStart=-1,N.prevRangeEnd=-1,N.renderPending=!0,T=!0,H2()}function G2(R,N2){if(Y+=R.toLowerCase(),w!==null)clearTimeout(w);w=setTimeout(()=>{Y="",w=null},500);let A2=K.totalVisible;for(let R2=1;R2<=A2;R2++){let y2=(N2+R2)%A2,W2=K.flatNodes[y2];if(D(W2.item).toLowerCase().startsWith(Y)){$2(y2);return}}}function D2(R){let N2=!1;for(let A2 of K.flatNodes)if(A2.parentId===R.parentId&&A2.hasChildren&&!A2.expanded)K.expandedIds.add(A2.id),N2=!0;if(!N2)return;K.rebuild(K.rootItems,!0),_2()}return{name:"tree",priority:10,conflicts:["groups","grid","masonry","table"],setup(R){M=R.sizeCache,N=R.getState(),V=R.pool,c=R.dom.content,L=R.dom.root,O=R.template,F=R.config.axis.primary==="x",v=R.config.classPrefix,b=R.config.overscan,W=R.emitter,y=R.getItemStateFn.bind(R),C=R.getMethod.bind(R),X2=R.scrollTo.bind(R),O2=R.forceRender.bind(R),F2=R.getItems.bind(R),H=`${v}-item ${v}-tree-node`,A=`${v}-tree-node--expanded`,h=`${v}-tree-node--leaf`,k=`${v}-tree-node--loading`,g=`${v}-tree-node--last`,i=`${v}-item--selected`,x=`${v}-item--focused`;let N2=R.getItems();z=N2,a=N2.length;let A2,R2;if(U){let o=b1(N2,J);A2=o.getChildren,R2=o.roots}else A2=U4(J),R2=N2;let y2=J.loadChildren?(o)=>K2.get(o.id)??A2(o):A2;D=Y4(J);let W2=B4(J,R2,y2);K=w0(y2,W2),K.rebuild(R2),f=M.rebuild,M.rebuild=(o)=>{f(K.totalVisible)},M.rebuild(K.totalVisible),N.totalItems=K.totalVisible,R.setVirtualTotalFn(()=>K.totalVisible),R.setGetItemFn((o)=>{let q2=K.flatNodes[o];return q2?q2.item:void 0}),R.setGetIndexByIdFn((o)=>{return K.idToIndex.get(o)??-1}),R.setRenderFn(H2,k2),R.registerMethod("_layoutToDataIndex",(o)=>o),R.registerMethod("_dataToLayoutIndex",(o)=>o),R.registerMethod("_getRenderedElement",(o)=>m.get(o)??null),queueMicrotask(()=>{u=!!(C("_getFocusedIndex")||R.getItemStateFn())}),R.setInsertItemFn((o,q2)=>{let M2=F2(),L2=Math.min(q2,M2.length);M2.splice(L2,0,o),a=M2.length,K.rebuild(M2),_2()}),R.setRemoveItemFn((o)=>{let q2=K.idToIndex.get(o),M2=null;if(U&&q2!==void 0){M2=new Set,M2.add(o);let w2=K.getSubtreeSize(q2);for(let v2=q2+1;v2<=q2+w2;v2++)M2.add(K.flatNodes[v2].id)}let L2=K.removeNode(o);if(L2===0)return-1;if(!u&&q2!==void 0&&s>=q2)s=Math.max(0,Math.min(s-L2,K.totalVisible-1));if(U&&M2){let w2=F2();for(let v2=w2.length-1;v2>=0;v2--)if(M2.has(w2[v2].id))w2.splice(v2,1)}return a=F2().length,_2(),W.emit("data:change",{type:"remove",id:o}),L2}),R.setUpdateItemFn((o,q2)=>{let M2=K.idToIndex.get(o);if(M2===void 0)return!1;let L2=K.flatNodes[M2];Object.assign(L2.item,q2);let w2=m.get(M2);if(w2)B2(w2,L2,M2,y?.()??null);return W.emit("data:change",{type:"update",id:o}),!0}),R.registerClickHandler((o)=>{let q2=o.target.closest("[data-index]");if(!q2)return;let M2=parseInt(q2.dataset.index??"-1",10);if(M2<0)return;let L2=K.flatNodes[M2];if(!L2)return;let w2=L2.id,v2=!1;if($&&(L2.hasChildren||J.loadChildren&&!L2.loading&&!K2.has(w2))){let f2=K.totalVisible;if(L2.expanded)b2(w2);else E2(w2);v2=K.totalVisible!==f2}if(u&&v2){if(V2(),P)P(w2);if(l)l(w2)}else if(!u)s=K.idToIndex.get(w2)??M2,S=!1,c.focus({preventScroll:!0})});let X=()=>{if(N.destroyed||u)return;if(!c.matches(":focus-visible")&&!L.matches(":focus-visible"))return;let o=K.totalVisible;if(o===0)return;s=s>=0?Math.min(s,o-1):0,S=!0,c.setAttribute("aria-activedescendant",`${v}-item-${s}`),Z2(s),k2()};L.addEventListener("focusin",X);let t=(o)=>{if(N.destroyed||u)return;let q2=o.relatedTarget;if(q2&&L.contains(q2))return;S=!1,c.removeAttribute("aria-activedescendant"),k2()};L.addEventListener("focusout",t),R.registerKeydownHandler((o)=>{if(N.destroyed)return;let q2=K.totalVisible;if(q2===0)return;let M2=r();if(M2<0&&!u&&(o.key==="ArrowDown"||o.key==="Home")){$2(0),o.preventDefault();return}if(M2<0)return;let L2=K.flatNodes[M2];if(!L2)return;switch(o.key){case"ArrowRight":{if(L2.hasChildren||J.loadChildren&&!L2.loading)if(!L2.expanded)E2(L2.id);else $2(M2+1);o.preventDefault();break}case"ArrowLeft":{if(L2.hasChildren&&L2.expanded)b2(L2.id);else if(L2.parentId!==null){let w2=K.idToIndex.get(L2.parentId);if(w2!==void 0)$2(w2)}o.preventDefault();break}case"*":{D2(L2),o.preventDefault();break}default:{if(!u){if(o.key==="ArrowDown"){if(M2<q2-1)$2(M2+1);o.preventDefault();break}if(o.key==="ArrowUp"){if(M2>0)$2(M2-1);o.preventDefault();break}if(o.key==="Home"){$2(0),o.preventDefault();break}if(o.key==="End"){$2(q2-1),o.preventDefault();break}if(o.key==="Enter"){W.emit("item:click",{item:L2.item,index:M2,event:o}),o.preventDefault();break}}if(o.key.length===1&&!o.ctrlKey&&!o.altKey&&!o.metaKey)G2(o.key,M2),o.preventDefault()}}}),R.registerMethod("expand",E2),R.registerMethod("collapse",b2),R.registerMethod("toggle",(o)=>{let q2=K.idToIndex.get(o);if(q2===void 0)return;if(K.flatNodes[q2].expanded)b2(o);else E2(o)}),R.registerMethod("expandAll",()=>{K.expandAll(K.rootItems),_2()}),R.registerMethod("collapseAll",()=>{K.collapseAll(),_2()}),R.registerMethod("expandTo",(o)=>{K.expandTo(o),_2();let q2=K.idToIndex.get(o);if(q2!==void 0)Z2(q2)}),R.registerMethod("getExpanded",()=>Array.from(K.expandedIds)),R.registerMethod("isExpanded",(o)=>K.expandedIds.has(o));let U2=U&&typeof J.parentId==="string"?J.parentId:null;R.registerMethod("addChild",(o,q2,M2)=>{if(U2)q2[U2]=o;if(U){let L2=F2();L2.push(q2),a=L2.length}K.addChild(o,q2,M2),_2(),W.emit("data:change",{type:"add",id:q2.id})}),R.registerMethod("moveNode",(o,q2,M2)=>{if(U2){let L2=K.idToIndex.get(o);if(L2!==void 0)K.flatNodes[L2].item[U2]=q2}K.moveNode(o,q2,M2),_2()}),R.registerMethod("getTreeLayout",()=>({totalVisible:K.totalVisible,flatNodes:K.flatNodes})),R.registerDestroyHandler(()=>{if(L.removeEventListener("focusin",X),L.removeEventListener("focusout",t),e(),L.classList.remove(`${v}--tree`),L.classList.remove(`${v}--tree-lines`),w!==null)clearTimeout(w)})},destroy(){if(m.clear(),w!==null)clearTimeout(w)}}}var W4=50,V4=0.1;function k1(Q){let J=0,j=0,q=0;function $(){return q>0?j/q:0}function B(M){if(J=M,M>V4&&M<W4)j+=M,q++}function U(){let M=Q.getTotal();if(M===0)return 0;let N=Q.getItemSize();if(N<=0)return 0;let V=Q.getContainerSize();if(V<=0)return 0;let c=Q.getScrollPosition(),L=typeof Q.getColumns==="function"?Q.getColumns():1,F=Math.ceil(M/L)*N,b=Math.min(F,I2)-V,y=F-V,C=b>0?y/b:1,W=c*C,D=Math.ceil((W+V)/N);return Math.min(D*L,M)}function K(){let M=Q.getTotal(),N=U();return{progress:M>0?Math.min(100,Math.max(0,N/M*100)):0,velocity:J,velocityAvg:$(),itemCount:N,total:M}}return{getState:K,onVelocity:B}}async function z1(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 B=i2(q?{autoSave:q}:$?{restore:$}:void 0),U=J(B),K=U.element;if(K.style.position="absolute",K.style.inset="0",K.style.visibility="hidden",j?.ready)await j.ready(U);else await new Promise((F)=>requestAnimationFrame(()=>F()));let M=j?.delay;if(M&&M>0)await new Promise((F)=>setTimeout(F,M));let N=j?.transition,V=typeof N==="number"?N:N?.fadeIn??0,c=typeof N==="number"?N:N?.fadeOut??0,L=typeof N==="object"?N?.fadeOutDelay??0:0,O=Math.max(V,c+L);if(O>0&&Q){let F=Q.element;K.style.visibility="",K.style.opacity="0",K.offsetHeight,K.style.transition=`opacity ${V}ms ease`,F.style.transition=`opacity ${c}ms ease ${L}ms`,K.style.opacity="1",F.style.opacity="0",await new Promise((v)=>{setTimeout(v,O+50)}),K.style.transition="",K.style.opacity="",F.style.transition="",F.style.opacity=""}else K.style.visibility="";if(K.style.position="",K.style.inset="",Q)Q.destroy();return U}export{v0 as tree,F0 as transition,P0 as table,y0 as sortable,i2 as snapshots,O0 as selection,D0 as scrollbar,G0 as scale,z1 as rebuild,L0 as page,R0 as masonry,z0 as groups,A0 as grid,T0 as data,Z1 as createVList,k1 as createStats,E0 as autosize,H0 as a11y};
|
|
1
|
+
var n2=3,u0="vlist";var t2=50;var g0=50,x0=2,m0=15,c0=6,B0=2000,d0=30000,p2=16000000,s2=150,W0=1,e2=(Q)=>Q<0.5?2*Q*Q:1-(-2*Q+2)**2/2,J0=300;var l0="x",r0=20,V0="_isPlaceholder",f2="__placeholder_";var $0={top:0,right:0,bottom:0,left:0},s0=(Q)=>{if(Q==null)return $0;if(typeof Q==="number")return Q===0?$0:{top:Q,right:Q,bottom:Q,left:Q};if(Q.length===2){let[j,U]=Q;return j===0&&U===0?$0:{top:j,right:U,bottom:j,left:U}}let[J,$,K,Z]=Q;return J===0&&$===0&&K===0&&Z===0?$0:{top:J,right:$,bottom:K,left:Z}},a0=(Q,J)=>J?Q.left+Q.right:Q.top+Q.bottom,o0=(Q,J)=>J?Q.top+Q.bottom:Q.left+Q.right;function i0(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($,K,Z=n2){if(K<=0||$<=0)return;let j=Math.ceil($/K)+Z*2;if(j<=J.capacity)return;let U=j+8,q=new Int32Array(U),_=new Float64Array(U),W=new Float64Array(U);q.set(J.visibleIndices),_.set(J.visibleOffsets),W.set(J.visibleSizes),J.visibleIndices=q,J.visibleOffsets=_,J.visibleSizes=W,J.capacity=U},clear(){J.visibleCount=0,J.startIndex=0}};return J}var u4=(Q,J)=>{let $=J;return{getOffset:(K)=>K*Q,getSize:(K)=>Q,indexAtOffset:(K)=>{if($===0||Q===0)return 0;return Math.max(0,Math.min(Math.floor(K/Q),$-1))},getTotalSize:()=>$*Q,getTotal:()=>$,rebuild:(K)=>{$=K},isVariable:()=>!1}},g4=(Q,J)=>{let $=J,K=new Float64Array(0),Z=(U)=>{$=U,K=new Float64Array(U+1),K[0]=0;for(let q=0;q<U;q++)K[q+1]=K[q]+Q(q)};Z(J);let j=(U)=>{if($===0)return 0;if(U<=0)return 0;if(U>=K[$])return $-1;let q=0,_=$-1;while(q<_){let W=q+_+1>>>1;if(K[W]<=U)q=W;else _=W-1}return q};return{getOffset:(U)=>{if(U<=0)return 0;if(U>=$)return K[$];return K[U]},getSize:(U)=>Q(U),indexAtOffset:(U)=>j(U),getTotalSize:()=>K[$]??0,getTotal:()=>$,rebuild:(U)=>Z(U),isVariable:()=>!0}},Q0=(Q,J)=>{if(typeof Q==="number")return u4(Q,J);return g4(Q,J)},_0=(Q,J,$,K)=>{if(K===0)return 0;if(!Q.isVariable())return Math.ceil($/Q.getSize(0));let Z=0,j=0,U=J;while(U<K&&j<$)j+=Q.getSize(U),Z++,U++;return Math.max(1,Z)};function n0(Q){let J=[],$=`${Q}-item`,K=document.createElement("div");return K.className=$,{acquire(){if(J.length>0)return J.pop();return K.cloneNode(!1)},release(Z){if(Z.className=$,Z.removeAttribute("style"),Z.removeAttribute("id"),Z.removeAttribute("role"),Z.removeAttribute("aria-selected"),Z.removeAttribute("aria-posinset"),Z.removeAttribute("aria-setsize"),Z.removeAttribute("data-index"),Z.removeAttribute("data-id"),Z.textContent="",J.length<100)J.push(Z)},get size(){return J.length},clear(){J.length=0}}}function u2(Q){let J=Q.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let $=0;$<J.length;$++)J[$].setAttribute("tabindex","-1")}function t0(Q){if(typeof Q==="string"){let J=document.querySelector(Q);if(!J)throw Error(`[vlist] Container not found: ${Q}`);return J}return Q}function e0(Q,J,$,K){let Z=$?`${J} ${J}--horizontal`:J,j=$?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",U=$?"position:relative;height:100%":"position:relative;width:100%",q=' role="list"';if(K)q+=` aria-label="${K.replace(/"/g,""")}"`;if($)q+=' aria-orientation="horizontal"';Q.insertAdjacentHTML("beforeend",`<div class="${Z}"><div class="${J}-viewport" style="${j}" tabindex="-1"><div class="${J}-content" style="${U}"${q}></div></div></div>`);let _=Q.lastElementChild,W=_.firstElementChild,B=W.firstElementChild,L=document.createElement("div");return L.className=`${J}-live`,L.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",L.setAttribute("aria-live","polite"),L.setAttribute("aria-atomic","true"),L.setAttribute("role","status"),_.appendChild(L),{root:_,viewport:W,content:B,liveRegion:L}}function J4(Q){let{state:J,viewport:$,isX:K,wheelEnabled:Z,onFrame:j,onIdle:U}=Q,q=Q.idleTimeout||s2,_=Q.scrollTarget??$,W=null,B=null;function L(){let E=K?$.scrollLeft:$.scrollTop;if(Math.abs(E-J.scrollPosition)<0.5)return;J.prevScrollPosition=J.scrollPosition,J.scrollPosition=E,J.scrollDirection=E>J.prevScrollPosition?1:E<J.prevScrollPosition?-1:0,j(),D()}function z(E){if(J.isCompressed)return;let P;if(K){if(Math.abs(E.deltaX)>Math.abs(E.deltaY))return;let h=$.scrollLeft,Y=$.scrollWidth-$.clientWidth;if(P=Math.max(0,Math.min(h+E.deltaY*W0,Y)),Math.abs(P-h)<1)return;E.preventDefault(),$.scrollLeft=P}else{let h=$.scrollWidth>$.clientWidth;if(h&&Math.abs(E.deltaX)>Math.abs(E.deltaY))return;if(h&&E.deltaX!==0)E.preventDefault(),$.scrollLeft+=E.deltaX;let Y=$.scrollTop,G=$.scrollHeight-$.clientHeight;if(P=Math.max(0,Math.min(Y+E.deltaY*W0,G)),Math.abs(P-Y)<1)return;E.preventDefault(),$.scrollTop=P}J.prevScrollPosition=J.scrollPosition,J.scrollPosition=P,J.scrollDirection=P>J.prevScrollPosition?1:-1,j(),D()}function D(){if(W!==null)clearTimeout(W);W=setTimeout(()=>{W=null,J.scrollDirection=0,U()},q)}function H(){if(B!==null)cancelAnimationFrame(B),B=null}function C(E,P,h,Y=e2,G){H();let y=J.scrollPosition,V=typeof E==="function"?E:()=>E,X=V();if(Math.abs(X-y)<1){if(h)h(X);else if(K)$.scrollLeft=X;else $.scrollTop=X;G?.();return}let f=performance.now();function l(w){X=V();let x=w-f,r=Math.min(x/P,1),g=y+(X-y)*Y(r);if(h)h(g);else if(K)$.scrollLeft=g;else $.scrollTop=g;if(!h)J.scrollPosition=g;if(j(),r<1)B=requestAnimationFrame(l);else B=null,D(),G?.()}B=requestAnimationFrame(l)}return{attach(){if(_.addEventListener("scroll",L,{passive:!0}),Z)_.addEventListener("wheel",z,{passive:!1})},detach(){if(_.removeEventListener("scroll",L),Z)_.removeEventListener("wheel",z);if(H(),W!==null)clearTimeout(W),W=null},cancelScroll:H,smoothScrollTo:C}}var a2=[],x4={calculate:a2,commit:a2,afterScroll:a2,idle:a2,resize:a2};function $4(Q){if(Q.length===0)return x4;let J=[],$=[],K=[],Z=[],j=[];for(let U=0;U<Q.length;U++){let q=Q[U].hooks;if(q===void 0)continue;if(q.onCalculate!==void 0)J.push(q.onCalculate);if(q.onCommit!==void 0)$.push(q.onCommit);if(q.onAfterScroll!==void 0)K.push(q.onAfterScroll);if(q.onIdle!==void 0)Z.push(q.onIdle);if(q.onResize!==void 0)j.push(q.onResize)}return{calculate:J,commit:$,afterScroll:K,idle:Z,resize:j}}function Q4(Q,J){for(let $=0;$<Q.length;$++)Q[$](J)}function j4(Q,J){for(let $=0;$<Q.length;$++)Q[$](J)}function N0(Q,J,$){for(let K=0;K<Q.length;K++)Q[K](J,$)}function Z4(Q){for(let J=0;J<Q.length;J++)Q[J]()}function K4(Q,J,$){for(let K=0;K<Q.length;K++)Q[K](J,$)}function U4(Q,J,$,K,Z,j,U,q){let _=K!==0||Z!==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:$,gap:U,hasCrossPad:_,crossStartProp:_?J?"top":"left":"",crossEndProp:_?J?"bottom":"right":"",crossStartVal:_?K+"px":"",crossEndVal:_?Z+"px":"",oddClass:j,emitter:q??null}}function m4(Q,J,$,K,Z){if(Q.containerSize<=0||Q.totalItems===0)return Q.clear(),!0;let{scrollPosition:j,containerSize:U,totalItems:q}=Q,_=Z??0;Q.totalSize=J.getTotalSize();let W=J.indexAtOffset(_>0?Math.max(0,j-_):j),B=J.indexAtOffset(j+U);if(B<q-1)B++;W=Math.max(0,W),B=Math.min(q-1,Math.max(0,B));let L=Math.max(0,W-$),z=Math.min(q-1,B+$),D=Math.ceil(U/1)+$*2+10,H=z-L+1,C=Math.min(H,Q.capacity,D);if(L===Q.prevRangeStart&&z===Q.prevRangeEnd&&!Q.renderPending)return!1;Q.visibleCount=C,Q.startIndex=L;for(let E=0;E<C;E++){let P=L+E;Q.visibleIndices[E]=P,Q.visibleOffsets[E]=J.getOffset(P),Q.visibleSizes[E]=J.getSize(P)}return Q4(K.calculate,Q),Q.prevRangeStart=L,Q.prevRangeEnd=z,Q.renderPending=!1,!0}var C2={selected:!1,focused:!1};function c4(Q,J,$){for(let K=0;K<J;K++)if(Q[K]===$)return!0;return!1}function d4(Q,J){if(J<=1)return!0;let $=Q[0];for(let K=1;K<J;K++){let Z=Q[K];if(Z!==$+1)return!1;$=Z}return!0}function l4(Q,J,$,K,Z,j,U,q,_,W){let B=_?null:Z(),L=Q.visibleCount,z=Q.visibleIndices,D=U.interactive?String(Q.totalItems):"",H=U.interactive&&Q.totalItems!==Q.prevAriaTotal,C=null;for(let E=0;E<L;E++){let P=z[E],h=Q.visibleOffsets[E],Y=Q.visibleSizes[E],G=_?_(P):B[P];if(W)W(P,C2);else C2.selected=!1,C2.focused=!1;let y=j.get(P),V=y;if(y===void 0){let X=J.acquire();if(G!==void 0){let w;try{w=K(G,P,C2)}catch(x){if(U.emitter)U.emitter.emit("error",{error:x instanceof Error?x:Error(String(x)),context:`template:render:${P}`});J.release(X);continue}if(typeof w==="string")X.innerHTML=w;else X.textContent="",X.appendChild(w);u2(X)}if(X.setAttribute("role",U.itemRole),X.setAttribute("data-index",String(P)),U.interactive)X.id=U.prefix+"-item-"+P,X.setAttribute("aria-posinset",String(P+1)),X.setAttribute("aria-setsize",D);if(G!==void 0){let w=String(G.id);if(X.setAttribute("data-id",w),w.startsWith(f2))X.classList.add(U.placeholderClass)}if(U.hasCrossPad)X.style.setProperty(U.crossStartProp,U.crossStartVal),X.style.setProperty(U.crossEndProp,U.crossEndVal);if(W){if(X.classList.toggle(U.selectedClass,C2.selected),X.classList.toggle(U.focusedClass,C2.focused),C2.selected)X.setAttribute("aria-selected","true");else X.removeAttribute("aria-selected");X._lastSelected=C2.selected,X._lastFocused=C2.focused}if(U.oddClass)X.classList.toggle(U.oddClass,(P&1)===1);let f=h+U.startPadding;X.style.transform=U.translateProp+f+"px)",X._lastOffset=f;let l=Y-U.gap;if(X.style[U.sizeProp]=l+"px",X._lastSize=l,X._lastItem=G,j.set(P,X),C===null)C=document.createDocumentFragment();C.appendChild(X)}else{if(H)y.setAttribute("aria-setsize",D);if(G!==void 0&&V._lastItem!==G){let l=y.getAttribute("data-id"),w=String(G.id),x;try{x=K(G,P,C2)}catch(r){if(U.emitter)U.emitter.emit("error",{error:r instanceof Error?r:Error(String(r)),context:`template:render:${P}`});continue}if(typeof x==="string")y.innerHTML=x;else y.textContent="",y.appendChild(x);if(u2(y),y.setAttribute("data-id",w),V._lastItem=G,l!==w){let r=l!==null&&l.startsWith(f2),g=w.startsWith(f2);if(r!==g)y.classList.toggle(U.placeholderClass,g);if(r&&!g)y.classList.add(U.replacedClass),setTimeout(()=>{y.classList.remove(U.replacedClass)},300)}}if(W){if(V._lastSelected!==C2.selected){if(y.classList.toggle(U.selectedClass,C2.selected),C2.selected)y.setAttribute("aria-selected","true");else y.removeAttribute("aria-selected");V._lastSelected=C2.selected}if(V._lastFocused!==C2.focused)y.classList.toggle(U.focusedClass,C2.focused),V._lastFocused=C2.focused}let X=h+U.startPadding;if(V._lastOffset!==X)y.style.transform=U.translateProp+X+"px)",V._lastOffset=X;let f=Y-U.gap;if(V._lastSize!==f)y.style[U.sizeProp]=f+"px",V._lastSize=f}}if(C!==null)$.appendChild(C);if(L>0&&d4(z,L)){let E=z[0],P=z[L-1];for(let[h,Y]of j)if(h<E||h>P)Y.remove(),J.release(Y),j.delete(h)}else for(let[E,P]of j)if(!c4(z,L,E))P.remove(),J.release(P),j.delete(E);if(U.interactive)Q.prevAriaTotal=Q.totalItems;j4(q.commit,Q)}function X0(Q,J,$,K,Z,j,U,q,_,W,B,L){if(m4(Q,J,$,W,_.startPadding))l4(Q,K,Z,j,U,q,_,W,B,L)}var M0=()=>{let Q={},J=(j,U)=>{if(!Q[j])Q[j]=new Set;return Q[j].add(U),()=>$(j,U)},$=(j,U)=>{Q[j]?.delete(U)};return{on:J,off:$,emit:(j,U)=>{Q[j]?.forEach((q)=>{try{q(U)}catch(_){console.error(`[vlist] Error in event handler for "${String(j)}":`,_)}})},clear:(j)=>{if(j)delete Q[j];else for(let U in Q)delete Q[U]}}};var q4=2,Y4=(Q=0)=>({velocity:0,sampleCount:0}),B4=(Q,J)=>{let $=performance.now(),K=Q._lt??$,Z=Q._lp??J,j=$-K;if(Q._lp=J,Q._lt=$,j===0)return Q.sampleCount=Math.min(Q.sampleCount+1,5),Q;if(j>100)return Q.velocity=0,Q.sampleCount=1,Q;return Q.velocity=Math.abs(J-Z)/j,Q.sampleCount=Math.min(Q.sampleCount+1,5),Q};function r4(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 s4(Q,J){let $=Q==="horizontal"?"x":"y";if(J.some((Z)=>Z.name==="grid"))return{primary:$,cross:$==="x"?"y":"x"};return{primary:$}}function a4(Q,J){let $=s4(Q.orientation,J),K=$.primary==="x",Z=s0(Q.padding);return{axis:$,hasCrossAxis:$.cross!==void 0,overscan:Q.overscan??n2,reverse:Q.reverse??!1,classPrefix:Q.classPrefix??u0,mainAxisPadding:a0(Z,K),crossAxisPadding:o0(Z,K),startPadding:K?Z.left:Z.top,endPadding:K?Z.right:Z.bottom,crossPadStart:K?Z.top:Z.left,crossPadEnd:K?Z.bottom:Z.right,striped:Q.item.striped||!1,gap:Q.item.gap??0}}function o4(Q,J){if(J)return Q.item.width??Q.item.estimatedWidth??100;return Q.item.height??Q.item.estimatedHeight??40}function i4(Q){let J=[...Q];return J.sort(($,K)=>($.priority??50)-(K.priority??50)),J}function n4(Q){let J=new Set;for(let $ of Q){if(J.has($.name))throw Error(`[vlist] Duplicate plugin: ${$.name}`);J.add($.name)}for(let $ of Q)if($.conflicts){for(let K of $.conflicts)if(J.has(K))throw Error(`[vlist] Plugin "${$.name}" conflicts with "${K}"`)}}function W4(Q,J=[]){r4(Q);let $=a4(Q,J),K=$.axis.primary==="x",Z=o4(Q,K),j=$.gap,U=j>0?typeof Z==="function"?(N2)=>Z(N2)+j:Z+j:Z,q=typeof Z==="number"?Z:20,_=Q.items?.length??0,W=$.striped?`${$.classPrefix}-item--odd`:"",B=M0(),L=U4($.classPrefix,K,$.startPadding,$.crossPadStart,$.crossPadEnd,W,j,B),z=J.length>0?i4(J):J;if(J.length>0)n4(z);let D=t0(Q.container),H=e0(D,$.classPrefix,K,Q.ariaLabel);if(Q.scroll?.scrollbar==="none")H.viewport.classList.add(`${$.classPrefix}-viewport--no-scrollbar`);if(Q.scroll?.gutter==="stable")H.viewport.classList.add(`${$.classPrefix}-viewport--gutter-stable`);let E=Q0(U,_);if(j>0){let N2=E.getTotalSize;E.getTotalSize=()=>{let N=N2();return N>0?N-j:0}}let P=n0($.classPrefix),h=Math.ceil(4096/q)+$.overscan*2+8,Y=i0(h);Y.totalItems=_;let G=Q.items??[],y=()=>G,V=new Map,X=Y4(),f={velocity:0,reliable:!1},l={range:{start:0,end:-1}},w={scrollPosition:0,direction:"down"},x={scrollPosition:0},r=-1,g=-1,c=-1,K2=null,Q2=$4(z),d=new Map,v=[],S=[],k=[],R=null,a=null,n=null,s=null,F=null,A=null,I=null,u=null,M=null,T=null,O=null,m=!1,Z2=!1,o=null,J2=0,t=0,U2=null,W2=null,L2=null,p=null,j2=null;if(Y.containerSize=K?H.viewport.clientWidth:H.viewport.clientHeight,Y.crossSize=K?H.viewport.clientHeight:H.viewport.clientWidth,J.length>0){let N2={dom:H,sizeCache:E,pool:P,config:$,emitter:B,template:Q.item.template,registerMethod(N,$2){d.set(N,$2)},getMethod(N){return d.get(N)},registerClickHandler(N){v.push(N)},registerKeydownHandler(N){S.push(N)},registerDestroyHandler(N){k.push(N)},enableListboxRole(){let N=H.content.getAttribute("role");if(!N||N==="list")H.content.setAttribute("role","listbox"),H.content.setAttribute("tabindex","0");L.itemRole="option",L.interactive=!0},setSizeConfig(N){let $2=Q0(N,Y.totalItems),V2=d.get("_setSizeCacheBase");if(V2){let e=E.rebuild;Object.assign(E,$2),E.rebuild=e,V2($2.rebuild)}else Object.assign(E,$2)},setScrollFns(N,$2){a=N,n=$2},setVirtualTotalFn(N){R=N},getItems:y,getItem(N){return A?A(N):G[N]},getState(){return Y},rebuildSizeCache(){E.rebuild(Y.totalItems)},updateContentSize(N){Y.totalSize=N,H.content.style[K?"width":"height"]=N+$.mainAxisPadding+"px"},setRenderFn(N,$2){s=N,F=$2},renderIfNeeded(){P2()},forceRender(){z2()},setGetItemFn(N){A=N},setItemStateFn(N){I=N},getItemStateFn(){return I},get rawSizeSpec(){return Z},scrollTo(N){if(n)n(N);else if(K)H.viewport.scrollLeft=N;else H.viewport.scrollTop=N},smoothScrollTo(N,$2,V2,e){if(L2)L2(N,$2,n??void 0,V2,e);else N2.scrollTo(typeof N==="function"?N():N)},disableDefaultScroll(){m=!0},disableDefaultResize(){Z2=!0},setScrollTarget(N){o=N},setScrollToPosFn(N){p=N},setScrollToIndexFn(N){j2=N},onScrollFrame:b2,onScrollIdle:k2,removeItemById(N){if(u)return u(N);let $2=G.findIndex((V2)=>V2.id===N);if($2===-1)return-1;return G.splice($2,1),Y.totalItems=G.length,E.rebuild(Y.totalItems),R2(),$2},insertItemAt(N,$2){if(M){M(N,$2);return}G.splice($2,0,N),Y.totalItems=G.length,E.rebuild(Y.totalItems),R2()},setRemoveItemFn(N){u=N},setInsertItemFn(N){M=N},setUpdateItemFn(N){T=N},setGetIndexByIdFn(N){O=N},getRenderedElement(N){let $2=d.get("_getRenderedElement");if($2)return $2(N);return V.get(N)??null},setNavConfig(N){if(N.ud!==void 0)J2=N.ud;if(N.lr!==void 0)t=N.lr;if(N.scrollIndex)U2=N.scrollIndex;if(N.navigate)W2=N.navigate},getNavConfig:(()=>{let N={ud:0,lr:0,scrollIndex:null,navigate:null};return()=>{return N.ud=J2,N.lr=t,N.scrollIndex=U2,N.navigate=W2,N}})()};for(let N of z)if(N.setup)try{N.setup(N2)}catch($2){B.emit("error",{error:$2 instanceof Error?$2:Error(String($2)),context:`plugin:setup:${N.name}`})}}let i=$.classPrefix+"--scrolling",Y2=!1,M2=Q.scroll?.idleTimeout??s2;function _2(){if(w.scrollPosition=Y.scrollPosition,K)w.direction=Y.scrollDirection>0?"right":"left";else w.direction=Y.scrollDirection>0?"down":"up";if(B.emit("scroll",w),B4(X,Y.scrollPosition),f.velocity=X.velocity,f.reliable=X.sampleCount>=q4,B.emit("velocity:change",f),Y.startIndex!==r||Y.prevRangeEnd!==g)r=Y.startIndex,g=Y.prevRangeEnd,l.range.start=Y.startIndex,l.range.end=Y.prevRangeEnd,B.emit("range:change",l)}let B2=!1;function R2(){if(s)return;let N2=E.getTotalSize();if(H.content.style[K?"width":"height"]=N2+$.mainAxisPadding+"px",!B2&&N2>p2)B2=!0,B.emit("error",{error:Error(`Content size (${N2}px) exceeds browser limit (${p2}px). Use the scale() plugin for large datasets.`),context:"content:size:overflow"})}function P2(){if(s)s();else X0(Y,E,$.overscan,P,H.content,Q.item.template,y,V,L,Q2,A,I)}function b2(){if(!Y2)Y2=!0,H.root.classList.add(i);if(P2(),N0(Q2.afterScroll,Y.scrollPosition,Y.scrollDirection),Y.scrollPosition!==c)c=Y.scrollPosition,_2()}function k2(){if(Y2)Y2=!1,H.root.classList.remove(i);Y.scrollDirection=0,Z4(Q2.idle),f.velocity=0,f.reliable=!1,B.emit("velocity:change",f),x.scrollPosition=Y.scrollPosition,B.emit("scroll:idle",x)}function z2(){if(Y.renderPending=!0,F)F();else X0(Y,E,$.overscan,P,H.content,Q.item.template,y,V,L,Q2,A,I);if(N0(Q2.afterScroll,Y.scrollPosition,Y.scrollDirection),Y.scrollPosition!==c){if(c=Y.scrollPosition,_2(),K2!==null)clearTimeout(K2);K2=setTimeout(k2,M2)}}let G2=J4({state:Y,viewport:H.viewport,isX:K,wheelEnabled:m?!1:Q.scroll?.wheel!==!1,idleTimeout:Q.scroll?.idleTimeout??s2,...o?{scrollTarget:o}:{},onFrame:b2,onIdle:k2});L2=G2.smoothScrollTo;function H2(N2){let $2=N2.target.closest("[data-index]");if(!$2)return null;let V2=parseInt($2.getAttribute("data-index"),10);if(Number.isNaN(V2))return null;let e=d.get("_layoutToDataIndex"),q2;if(e){let A2=e(V2);if(A2<0)return null;let E2=d.get("_getItem");q2=E2?E2(A2):A?A(A2):G[A2]}else q2=A?A(V2):G[V2];if(q2===void 0)return null;return{item:q2,index:V2}}function D2(N2){for(let $2=0;$2<v.length;$2++)v[$2](N2);let N=H2(N2);if(N)B.emit("item:click",{item:N.item,index:N.index,event:N2})}function F2(N2){let N=H2(N2);if(N)B.emit("item:dblclick",{item:N.item,index:N.index,event:N2})}function b(N2){let N=H2(N2);if(N)B.emit("item:contextmenu",{item:N.item,index:N.index,event:N2})}function X2(N2){let N=N2.target?.tagName;if((N==="INPUT"||N==="TEXTAREA"||N==="SELECT")&&!((N2.ctrlKey||N2.metaKey)&&(N2.key==="f"||N2.key==="F")))return;for(let $2=0;$2<S.length;$2++)S[$2](N2)}if(H.content.addEventListener("click",D2),H.content.addEventListener("dblclick",F2),H.content.addEventListener("contextmenu",b),S.length>0)H.root.addEventListener("keydown",X2);let O2=null;if(!Z2)setTimeout(()=>{if(Y.destroyed)return;O2=new ResizeObserver((N)=>{for(let $2 of N){let{width:V2,height:e}=$2.contentRect,q2=K?V2:e,A2=K?e:V2;if(Math.abs(q2-Y.containerSize)<1&&Math.abs(A2-Y.crossSize)<1)continue;Y.containerSize=q2,Y.crossSize=A2,Y.resizeCapacity(q2,q,$.overscan),z2(),K4(Q2.resize,V2,e),B.emit("resize",{width:V2,height:e})}}),O2.observe(H.viewport)},0);Y.resizeCapacity(Y.containerSize,q,$.overscan),R2(),Y.initialized=!0;let T2=null;if(Q.defer)T2=requestAnimationFrame(()=>{if(T2=null,!Y.destroyed)P2()});else P2();if(!m)G2.attach();let w2={get element(){return H.root},get items(){return G},get total(){return R?R():G.length},setItems(N2){G=[...N2],Y.totalItems=G.length,E.rebuild(Y.totalItems),R2(),z2()},appendItems(N2){G.push(...N2),Y.totalItems=G.length,E.rebuild(Y.totalItems),R2(),z2()},prependItems(N2){G.unshift(...N2),Y.totalItems=G.length,E.rebuild(Y.totalItems),R2(),z2()},updateItem(N2,N){if(T){if(!T(N2,N))return}else{let $2=G.findIndex((V2)=>V2.id===N2);if($2===-1)return;G[$2]={...G[$2],...N}}z2()},insertItem(N2,N){if(M)M(N2,N??Y.totalItems);else{if(N===void 0)G.push(N2);else G.splice(N,0,N2);Y.totalItems=G.length,E.rebuild(Y.totalItems),R2()}z2()},removeItem(N2){if(u){if(u(N2)<0)return}else{let N=G.findIndex(($2)=>$2.id===N2);if(N===-1)return;G.splice(N,1),Y.totalItems=G.length,E.rebuild(Y.totalItems),R2()}z2()},removeItems(N2){if(u){let e=0;for(let q2 of N2)if(u(q2)>=0)e++;if(e>0)z2();return e}let N=new Set(N2),$2=G.length;G=G.filter((e)=>!N.has(e.id));let V2=$2-G.length;if(V2>0)Y.totalItems=G.length,E.rebuild(Y.totalItems),R2(),Y.renderPending=!0,P2();return V2},getItemAt(N2){return A?A(N2):G[N2]},getIndexById(N2){if(O)return O(N2);return G.findIndex((N)=>N.id===N2)},scrollToIndex(N2,N="start"){let $2=R?R():G.length;if($2===0)return;let V2=Math.max(0,Math.min(N2,$2-1)),e=typeof N==="string"?N:N.align??"start",q2=typeof N==="object"?N.behavior:void 0,A2=typeof N==="object"?N.duration:void 0,E2=typeof N==="object"?N.easing:void 0;if(j2&&j2(V2,e,q2,A2,E2)!==!1)return;let y2=E.getOffset(V2),v2=E.getSize(V2),S2=Y.containerSize,h4=E.getTotalSize(),p0=$.mainAxisPadding,I4=Math.max(0,h4+p0-S2),h2;if(p)h2=p(V2,E,S2,$2,e);else{let p4=$.startPadding;switch(e){case"center":h2=p4+y2-(S2-v2)/2;break;case"end":h2=y2+v2+p0-S2;break;default:h2=y2}h2=Math.max(0,Math.min(h2,I4))}if(q2==="smooth")G2.smoothScrollTo(h2,A2??J0,n??void 0,E2);else if(n)n(h2);else if(K)H.viewport.scrollLeft=h2;else H.viewport.scrollTop=h2},getScrollPosition(){return a?a():Y.scrollPosition},on:B.on.bind(B),off:B.off.bind(B),destroy(){if(Y.destroyed)return;if(Y.destroyed=!0,Y2)Y2=!1,H.root.classList.remove(i);if(T2!==null)cancelAnimationFrame(T2),T2=null;if(K2!==null)clearTimeout(K2),K2=null;G2.detach(),O2?.disconnect(),H.content.removeEventListener("click",D2),H.content.removeEventListener("dblclick",F2),H.content.removeEventListener("contextmenu",b),H.root.removeEventListener("keydown",X2);let N2=[];for(let N of k)try{N()}catch($2){N2.push($2 instanceof Error?$2:Error(String($2)))}for(let N of z)if(N.destroy)try{N.destroy()}catch($2){N2.push($2 instanceof Error?$2:Error(String($2)))}for(let[,N]of V)N.remove();if(V.clear(),P.clear(),H.root.remove(),B.emit("destroy",void 0),B.clear(),N2.length>0)for(let N of N2)console.error("vlist: error during destroy:",N)}};for(let[N2,N]of d)w2[N2]=N;return w2}var V4=(Q,J,$)=>{let K=J.getTotalSize(),Z=$===!0||K>p2,j=K>p2?p2:K,U=K>0?j/K:1;return{isCompressed:Z,actualSize:K,virtualSize:j,ratio:U}},x2=(Q,J,$,K,Z,j)=>{if(K===0||J===0)return j.start=0,j.end=-1,j;if(!Z.isCompressed||Z.ratio===1){let D=$.indexAtOffset(Q),H=$.indexAtOffset(Q+J);if(H<K-1)H++;return j.start=Math.max(0,D),j.end=Math.min(K-1,Math.max(0,H)),j}let{virtualSize:U}=Z,q=Q/U,_=$.getTotalSize(),W=q*_,B=$.indexAtOffset(W),L=_0($,Math.max(0,B),J,K),z=B+L;return j.start=Math.max(0,B),j.end=Math.min(K-1,Math.max(0,z)),j};var I2=(Q,J,$,K,Z,j,U)=>{if(!j.isCompressed||K===0)return $.getOffset(Q);if(j.ratio===1)return $.getOffset(Q)-J;let{virtualSize:q}=j,_=J/q,W=$.getTotalSize(),B=_*W;return $.getOffset(Q)-B},j0=(Q,J,$,K,Z,j="start")=>{if(K===0)return 0;let U;if(Z.isCompressed&&Z.ratio!==1){U=Q/K*Z.virtualSize;let B=J.getSize(Q);switch(j){case"center":U-=($-B)/2*Z.ratio;break;case"end":U-=($-B)*Z.ratio;break}return Math.max(0,U)}U=J.getOffset(Q);let q=J.getSize(Q);switch(j){case"center":U-=($-q)/2;break;case"end":U-=$-q;break}let _=Z.virtualSize-$;return Math.max(0,Math.min(U,_))};var t4=(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}},Z0=(Q,J,$={},K="vlist",Z=!1,j)=>{let{autoHide:U=!0,autoHideDelay:q=1000,minThumbSize:_=15,showOnHover:W=!0,showOnViewportEnter:B=!0,clickBehavior:L="scroll"}=$,z=L==="page"?"scroll":L,D=j??Q,H=t4($.padding),C=Z?H.left:H.top,E=Z?H.right:H.bottom,P=Z?H.bottom:H.right,h=$.hoverZoneWidth??P+16,Y=0,G=0,y=0,V=0,X=!1,f=!1,l=0,w=0,x=0,r=null,g=!1,c=null,K2=0,Q2=0,d=null,v=null,S=null,k=Z?"width":"height",R=Z?"translateX":"translateY",a=Z?(b)=>b.clientX:(b)=>b.clientY,n=Z?"left":"top",s=document.createElement("div"),F=document.createElement("div"),A=document.createElement("div"),I=Z?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",u=()=>{if(D===Q)return;let b=Q.offsetTop;s.style[Z?"left":"top"]=b?`calc(var(${I}) + ${b}px)`:`var(${I})`,A.style[Z?"left":"top"]=`${b}px`},M=()=>{if(s.className=`${K}-scrollbar`,F.className=`${K}-scrollbar__thumb`,Z)s.classList.add(`${K}-scrollbar--horizontal`);if($.padding!==void 0)D.style.setProperty("--vlist-custom-scrollbar-padding-top",`${H.top}px`),D.style.setProperty("--vlist-custom-scrollbar-padding-right",`${H.right}px`),D.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${H.bottom}px`),D.style.setProperty("--vlist-custom-scrollbar-padding-left",`${H.left}px`);if($.minThumbSize!==void 0)s.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${_}px`);if(s.appendChild(F),D.appendChild(s),A.className=`${K}-scrollbar__hover`,Z)A.classList.add(`${K}-scrollbar__hover--horizontal`),A.style.height=`${h}px`;else A.style.width=`${h}px`;if(D.appendChild(A),D!==Q)u()},T=()=>{if(r)clearTimeout(r),r=null},O=()=>{if(!U)return;T(),r=setTimeout(Z2,q)},m=()=>{if(Y<=G)return;if(T(),!g)s.classList.add(`${K}-scrollbar--visible`),g=!0;if(U&&!X&&!f)O()},Z2=()=>{if(X||f)return;s.classList.remove(`${K}-scrollbar--visible`),g=!1},o=(b,X2)=>{if(Y=b,G=X2,u(),Y<=G){s.style.display="none",Z2();return}s.style.display="";let O2=Math.max(0,G-C-E),T2=G/Y;if(y=Math.max(_,T2*O2),F.style[k]=`${y}px`,V=O2-y,J2(x),!U)m()},J2=(b)=>{if(x=b,Y<=G||V<=0)return;let X2=Y-G,O2=Math.min(1,Math.max(0,b/X2));F.style.transform=`${R}(${O2*V}px)`},t=(b)=>{if(b.target===F||z!=="jump"||V<=0)return;let X2=Y-G,O2=s.getBoundingClientRect(),T2=a(b)-O2[n],w2=Math.max(0,Math.min(T2-y/2,V));J(w2/V*X2),m()},U2=()=>{if(d!==null)clearTimeout(d),d=null;if(v!==null)cancelAnimationFrame(v),v=null;S=null},W2=(b)=>{let X2=V>0?Q2/b*V:0;if(K2<X2)return-1;if(K2>=X2+y)return 1;return 0},L2=()=>{let b=Y-G,X2=W2(b);if(X2===0){U2();return}if(X2===-1){if(Q2<=0){U2();return}let O2=Math.max(0,Q2-G);Q2=O2,J(O2)}else{if(Q2>=b){U2();return}let O2=Math.min(b,Q2+G);Q2=O2,J(O2)}m()},p=(b)=>{if(S===null){S=b,v=requestAnimationFrame(p);return}let X2=Y-G,O2=b-S;S=b;let T2=W2(X2);if(T2===0){U2();return}let w2=12*G/1000,N2=Math.min(w2*O2,G);if(T2===-1){if(Q2<=0){U2();return}let N=Math.max(0,Q2-N2);Q2=N,J(N)}else{if(Q2>=X2){U2();return}let N=Math.min(X2,Q2+N2);Q2=N,J(N)}T(),v=requestAnimationFrame(p)},j2=()=>{U2(),O(),document.removeEventListener("mouseup",j2)},i=(b)=>{if(b.target===F||z!=="scroll")return;b.preventDefault();let X2=s.getBoundingClientRect();K2=a(b)-X2[n],Q2=x,L2(),d=setTimeout(()=>{v=requestAnimationFrame(p)},350),document.addEventListener("mouseup",j2)},Y2=(b)=>{b.preventDefault(),b.stopPropagation(),X=!0,l=a(b),w=x,T(),s.classList.add(`${K}-scrollbar--dragging`),document.addEventListener("mousemove",M2),document.addEventListener("mouseup",_2)},M2=(b)=>{if(!X)return;let X2=a(b)-l,O2=V>0?X2/V:0,T2=Y-G,w2=O2*T2,N2=Math.max(0,Math.min(w+w2,T2));F.style.transform=`${R}(${N2/T2*V}px)`,J(N2)},_2=()=>{if(X=!1,s.classList.remove(`${K}-scrollbar--dragging`),U&&!f)O();document.removeEventListener("mousemove",M2),document.removeEventListener("mouseup",_2)},B2=Z?(b)=>b.touches[0].clientX:(b)=>b.touches[0].clientY,R2=(b)=>{b.stopPropagation(),X=!0,l=B2(b),w=x,T(),s.classList.add(`${K}-scrollbar--dragging`)},P2=(b)=>{if(!X)return;b.preventDefault();let X2=B2(b)-l,O2=V>0?X2/V:0,T2=Y-G,w2=O2*T2,N2=Math.max(0,Math.min(w+w2,T2));F.style.transform=`${R}(${N2/T2*V}px)`,J(N2)},b2=()=>{if(X=!1,s.classList.remove(`${K}-scrollbar--dragging`),U)O()},k2=(b)=>{if(b.target===F)return;if(V<=0)return;let X2=b.touches[0],O2=s.getBoundingClientRect(),T2=(Z?X2.clientX:X2.clientY)-O2[n];if(z==="jump"){let w2=Y-G,N2=Math.max(0,Math.min(T2-y/2,V));J(N2/V*w2)}else K2=T2,Q2=x,L2();m()},z2=()=>{if(B)m()},G2=()=>{if(!X){if(f=!1,U)O()}},H2=()=>{f=!0,T(),m()},D2=()=>{if(f=!1,!X&&U)O()},F2=()=>{if(T(),U2(),c!==null)cancelAnimationFrame(c),c=null;s.removeEventListener("click",t),s.removeEventListener("mousedown",i),s.removeEventListener("mouseenter",H2),document.removeEventListener("mouseup",j2),s.removeEventListener("mouseleave",D2),s.removeEventListener("touchstart",k2),F.removeEventListener("mousedown",Y2),F.removeEventListener("touchstart",R2),F.removeEventListener("touchmove",P2),F.removeEventListener("touchend",b2),Q.removeEventListener("mouseenter",z2),Q.removeEventListener("mouseleave",G2),document.removeEventListener("mousemove",M2),document.removeEventListener("mouseup",_2),A.removeEventListener("click",t),A.removeEventListener("mousedown",i),A.removeEventListener("mouseenter",H2),A.removeEventListener("mouseleave",D2),A.remove(),D.style.removeProperty("--vlist-custom-scrollbar-padding-top"),D.style.removeProperty("--vlist-custom-scrollbar-padding-right"),D.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),D.style.removeProperty("--vlist-custom-scrollbar-padding-left"),s.remove()};if(M(),s.addEventListener("click",t),s.addEventListener("mousedown",i),s.addEventListener("mouseenter",H2),s.addEventListener("mouseleave",D2),s.addEventListener("touchstart",k2,{passive:!0}),F.addEventListener("mousedown",Y2),F.addEventListener("touchstart",R2,{passive:!0}),F.addEventListener("touchmove",P2,{passive:!1}),F.addEventListener("touchend",b2,{passive:!0}),Q.addEventListener("mouseenter",z2),Q.addEventListener("mouseleave",G2),A.addEventListener("click",t),A.addEventListener("mousedown",i),W)A.addEventListener("mouseenter",H2),A.addEventListener("mouseleave",D2);return{show:m,hide:Z2,updateBounds:o,updatePosition:J2,isVisible:()=>g,destroy:F2}};var e4=0.65,_4=0.5,N4=1.7,J6=0.95,$6=0.1,r2=5,Q6=100;function D0(Q){let J=Q?.force??!1,$,K,Z,j,U,q=0,_={isCompressed:!1,actualSize:0,virtualSize:0,ratio:1},W=!1,B=0,L=null,z=!1,D=0,H=0,C=null,E=null,P=0,h=0,Y=null,G=new Float64Array(r2),y=new Float64Array(r2),V=0,X=0,f={start:0,end:-1},l=-1,w=null;function x(){return Math.max(0,_.virtualSize+B+q*_.ratio-$.containerSize)}function r(){if(_.virtualSize<=0)return 0;return Math.max(0,$.containerSize*(1-_.ratio))}function g(A){let I=$.totalItems;if(_=V4(I,K,J),_.isCompressed&&!W)n(A);else if(!_.isCompressed&&W)s(A);if(_.isCompressed){if(B=r(),$.isCompressed=!0,$.compressionRatio=_.ratio,A.updateContentSize(_.virtualSize+B),L)L.updateBounds(_.virtualSize+B+q*_.ratio,$.containerSize)}}let c=null,K2=null,Q2=null,d=null,v=null;function S(A){D=A,H=A,$.prevScrollPosition=$.scrollPosition,$.scrollPosition=A,$.scrollDirection=A>$.prevScrollPosition?1:-1,w.forceRender()}function k(){if(C!==null)cancelAnimationFrame(C),C=null;if(E!==null)cancelAnimationFrame(E),E=null}function R(A){k(),S(Math.max(0,Math.min(A,x())))}function a(A,I,u=e2){k();let M=Math.max(0,Math.min(A,x())),T=D;if(Math.abs(M-T)<_4){S(M);return}let O=performance.now(),m=(Z2)=>{let o=Math.min((Z2-O)/I,1);if(S(T+(M-T)*u(o)),o<1)E=requestAnimationFrame(m);else E=null};E=requestAnimationFrame(m)}function n(A){W=!0,$.isCompressed=!0;let I=j?"scrollLeft":"scrollTop",u=j?"overflowX":"overflow",M=Z[I];if(Z.style[u]="hidden",Z[I]=0,M>0)D=M,H=M,$.scrollPosition=M;B=r();let T=()=>{let J2=H-D,t=x();if(Math.abs(J2)<_4)D=Math.max(0,Math.min(H,t)),H=D,C=null;else D+=J2*e4,D=Math.max(0,Math.min(D,t)),C=requestAnimationFrame(T);$.prevScrollPosition=$.scrollPosition,$.scrollPosition=D,$.scrollDirection=D>$.prevScrollPosition?1:-1,A.forceRender()};c=(J2)=>{J2.preventDefault();let t=x();if(H=Math.max(0,Math.min(H+J2.deltaY*_.ratio*N4,t)),C===null)C=requestAnimationFrame(T)},Z.addEventListener("wheel",c,{passive:!1});let O=()=>{if(Y!==null)cancelAnimationFrame(Y),Y=null};K2=(J2)=>{if(O(),C!==null)cancelAnimationFrame(C),C=null;let t=J2.touches[0];if(!t)return;let U2=j?t.clientX:t.clientY;P=U2,h=D,V=1,X=0,G[0]=performance.now(),y[0]=U2},Q2=(J2)=>{J2.preventDefault();let t=J2.touches[0];if(!t)return;let U2=j?t.clientX:t.clientY,W2=performance.now(),L2=V<r2?V:X;if(G[L2]=W2,y[L2]=U2,V<r2)V++;else X=(X+1)%r2;let p=P-U2,j2=x(),i=Math.max(0,Math.min(h+p*_.ratio*N4,j2));D=i,H=i,$.prevScrollPosition=$.scrollPosition,$.scrollPosition=i,$.scrollDirection=i>$.prevScrollPosition?1:-1,A.forceRender()},d=()=>{let J2=performance.now(),t=1/0,U2=0,W2=-1,L2=0,p=0;for(let M2=0;M2<V;M2++){let _2=(X+M2)%r2,B2=G[_2];if(J2-B2>=Q6)continue;p++;let R2=y[_2];if(B2<t)t=B2,U2=R2;if(B2>W2)W2=B2,L2=R2}let j2=0;if(p>=2){let M2=W2-t;if(M2>0)j2=(U2-L2)/M2}if(V=0,X=0,Math.abs(j2)<$6)return;let i=j2*16,Y2=()=>{if(i*=J6,Math.abs(i)<0.5){Y=null;return}let M2=x(),_2=D+i;if(_2=Math.max(0,Math.min(_2,M2)),_2<=0&&i<0||_2>=M2&&i>0){D=_2,H=_2,$.scrollPosition=_2,A.forceRender(),Y=null;return}D=_2,H=_2,$.prevScrollPosition=$.scrollPosition,$.scrollPosition=_2,$.scrollDirection=_2>$.prevScrollPosition?1:-1,A.forceRender(),Y=requestAnimationFrame(Y2)};Y=requestAnimationFrame(Y2)},Z.addEventListener("touchstart",K2,{passive:!0}),Z.addEventListener("touchmove",Q2,{passive:!1}),Z.addEventListener("touchend",d,{passive:!0}),Z.addEventListener("touchcancel",d,{passive:!0}),v=()=>{if(Z[I]!==0)Z[I]=0},Z.addEventListener("scroll",v,{passive:!0});let m=(J2)=>{if(D=J2,H=J2,C!==null)cancelAnimationFrame(C),C=null;$.prevScrollPosition=$.scrollPosition,$.scrollPosition=J2,$.scrollDirection=J2>$.prevScrollPosition?1:-1,A.forceRender()},Z2=A.getMethod("_scrollbar:setCallback"),o=A.getMethod("_scrollbar:getInstance");if(Z2&&o){Z2(m);let J2=o();if(J2)L=J2,z=!1,L.updateBounds(_.virtualSize+B+q*_.ratio,$.containerSize)}else if(!L){let J2=A.config.classPrefix;if(L=Z0(Z,m,{},J2,j,A.dom.root),z=!0,!Z.classList.contains(`${J2}-viewport--custom-scrollbar`))Z.classList.add(`${J2}-viewport--custom-scrollbar`);L.updateBounds(_.virtualSize+B,$.containerSize)}}function s(A){W=!1,$.isCompressed=!1,$.compressionRatio=1,D=0,H=0,V=0,X=0,F();let I=j?"overflowX":"overflow";Z.style[I]="auto",B=0,A.updateContentSize(K.getTotalSize())}function F(){if(C!==null)cancelAnimationFrame(C),C=null;if(E!==null)cancelAnimationFrame(E),E=null;if(Y!==null)cancelAnimationFrame(Y),Y=null;if(c)Z.removeEventListener("wheel",c),c=null;if(K2)Z.removeEventListener("touchstart",K2),K2=null;if(Q2)Z.removeEventListener("touchmove",Q2),Q2=null;if(d)Z.removeEventListener("touchend",d),Z.removeEventListener("touchcancel",d),d=null;if(v)Z.removeEventListener("scroll",v),v=null;if(L&&z)L.destroy();L=null,z=!1;let A=j?"scrollLeft":"scrollTop";if(Z&&Z[A]!==0)Z[A]=0}return{name:"scale",priority:20,setup(A){$=A.getState(),K=A.sizeCache,Z=A.dom.viewport,j=A.config.axis.primary==="x",U=A.config.overscan,q=A.config.mainAxisPadding,w=A,A.registerMethod("_updateCompressionMode",()=>g(A)),A.registerMethod("_scale:getCompression",()=>_),A.registerMethod("_scale:easedScrollTo",(u,M)=>a(u,M)),A.registerMethod("_scale:setVirtualPosition",(u)=>R(u));let I=0;A.registerMethod("_scrollItemIntoView",(u)=>{if(!I){let W2=A.getMethod("_getRowGap");I=W2?W2():0}let M=A.getNavConfig(),T=M.scrollIndex?M.scrollIndex(u):u,O=A.config.startPadding,m=A.config.endPadding,Z2=I;if(!_.isCompressed||!W){let W2=K.getOffset(T),L2=K.getSize(T)-Z2,p=$.containerSize,j2=$.scrollPosition,i=j?"scrollLeft":"scrollTop";if(W2<j2)Z[i]=W2;else if(O+W2+L2+m>j2+p)Z[i]=O+W2+L2+m-p;return}let o=K.getTotal(),J2=$.containerSize,t=I2(T,D,K,o,J2,_),U2=K.getSize(T)-Z2;if(t<0){let W2=-t;R(Math.max(0,D-W2*_.ratio))}else if(O+t+U2+m>J2){let W2=O+t+U2+m-J2;R(Math.min(x(),D+W2*_.ratio))}}),A.setScrollFns(()=>D,(u)=>{if(!_.isCompressed||!W){let T=j?"scrollLeft":"scrollTop";Z[T]=u;return}if(k(),Y!==null)cancelAnimationFrame(Y),Y=null;let M=u*_.ratio;S(Math.max(0,Math.min(M,x())))}),A.setScrollToIndexFn((u,M,T,O,m)=>{if(!_.isCompressed||!W)return!1;let Z2=j0(u,K,$.containerSize,K.getTotal(),_,M);if(T==="smooth")a(Z2,O??J0,m);else R(Z2)}),g(A),l=$.totalItems,A.registerDestroyHandler(F)},hooks:{onCalculate(A){if(A.totalItems!==l&&w)l=A.totalItems,g(w);if(!_.isCompressed||!W)return;let I=A.totalItems;if(I===0||A.containerSize<=0){A.visibleCount=0;return}x2(A.scrollPosition,A.containerSize,K,I,_,f);let u=Math.max(0,f.start-U),M=Math.min(I-1,f.end+U),T=Math.min(M-u+1,A.capacity);A.visibleCount=T,A.startIndex=u;for(let O=0;O<T;O++){let m=u+O;A.visibleIndices[O]=m,A.visibleOffsets[O]=I2(m,A.scrollPosition,K,I,A.containerSize,_),A.visibleSizes[O]=K.getSize(m)}A.prevRangeStart=u,A.prevRangeEnd=M},onAfterScroll(A){if(L&&W)L.updatePosition(A),L.show()},onResize(){if(W){if(B=r(),L)L.updateBounds(_.virtualSize+B,$.containerSize);let A=x();if(D>A)D=A,H=A,$.scrollPosition=A}}},destroy(){F()}}}function G0(Q){let J=null,$,K=0,Z=0;return{name:"scrollbar",priority:15,setup(j){let{dom:U,config:q}=j,{classPrefix:_}=q,W=q.axis.primary==="x";$=j.getState();let B=(L)=>{if(W)U.viewport.scrollLeft=L;else U.viewport.scrollTop=L};if(j.registerMethod("_scrollbar:setCallback",(L)=>{B=L}),J=Z0(U.viewport,(L)=>{B(L)},Q,_,W,U.root),U.viewport.classList.add(`${_}-viewport--custom-scrollbar`),Q?.gutter)U.viewport.classList.add(`${_}-viewport--gutter`);queueMicrotask(()=>{if(!$.isCompressed)J?.updateBounds($.totalSize,$.containerSize)}),j.registerMethod("_scrollbar:getInstance",()=>J),j.registerDestroyHandler(()=>{if(J?.destroy(),J=null,U.viewport.classList.remove(`${_}-viewport--custom-scrollbar`),Q?.gutter)U.viewport.classList.remove(`${_}-viewport--gutter`)})},hooks:{onAfterScroll(j){if(!$.isCompressed){let{totalSize:U,containerSize:q}=$;if(U!==K||q!==Z)K=U,Z=q,J?.updateBounds(U,q)}J?.updatePosition(j),J?.show()},onResize(){if(!$.isCompressed){let{totalSize:j,containerSize:U}=$;K=j,Z=U,J?.updateBounds(j,U)}}},destroy(){J?.destroy(),J=null}}}var X4=(Q)=>{let J=Math.max(1,Math.floor(Q.columns)),$=Q.gap??0,K=Q.isHeaderFn,Z={row:0,col:0},j=(C)=>{if(C<=0)return 0;if(!K)return Math.ceil(C/J);let E=0,P=0,h=0;for(let Y=0;Y<C;Y++)if(K(Y)){if(h++,P)E++,P=0;E++,P=0}else if(P++,P>=J)E++,P=0;if(P)E++;return E},U=(C)=>{return Z.row=q(C),Z.col=_(C),Z},q=(C)=>{if(!K)return Math.floor(C/J);let E=0,P=0;for(let h=0;h<=C;h++)if(K(h)){if(P)E++,P=0;if(h===C)return E;E++,P=0}else{if(h===C)return E;if(P++,P>=J)E++,P=0}return console.warn(`⚠️ getRow(${C}) fell through - returning ${E}`),E},_=(C)=>{if(!K)return C%J;if(K(C))return 0;let E=0;for(let P=0;P<=C;P++)if(K(P))E=0;else{if(P===C)return E;if(E++,E>=J)E=0}return E},W=(C,E,P,h)=>{if(P<=0){h.start=0,h.end=-1;return}if(!K){h.start=Math.max(0,C*J),h.end=Math.min(P-1,(E+1)*J-1);return}let Y=B(C,E,P);h.start=Y.start,h.end=Y.end},B=(C,E,P)=>{if(P<=0)return{start:0,end:-1};if(!K){let V=Math.max(0,C*J),X=Math.min(P-1,(E+1)*J-1);return{start:V,end:X}}let h=-1,Y=-1,G=0,y=0;for(let V=0;V<P;V++){if(K(V)){if(y)G++,y=0;if(G>=C&&G<=E){if(h<0)h=V;Y=V}G++,y=0}else{if(G>=C&&G<=E){if(h<0)h=V;Y=V}if(y++,y>=J)G++,y=0}if(G>E&&!y)break}if(h<0)return{start:0,end:-1};return{start:h,end:Y}},L=(C,E,P)=>{if(E<0||E>=J)return-1;let h=C*J+E;if(h<0||h>=P)return-1;return h},z=(C)=>{let E=(J-1)*$;return Math.max(0,(C-E)/J)};return{get columns(){return J},get gap(){return $},update:(C)=>{if(C.columns!==void 0)J=Math.max(1,Math.floor(C.columns));if(C.gap!==void 0)$=C.gap;if(C.isHeaderFn!==void 0)K=C.isHeaderFn},getTotalRows:j,getPosition:U,getRow:q,getCol:_,getItemRange:B,fillItemRange:W,getItemIndex:L,getColumnWidth:z,getColumnOffset:(C,E)=>{let P=z(E);return C*(P+$)}}};var m2={selected:!1,focused:!1};function A0(Q){if(!Q.columns||Q.columns<1)throw Error("[vlist] grid: columns must be >= 1");let J,$,K,Z,j,U,q,_,W,B,L=null,z=null,D=!1,H=null,C=0,E=0,P=0,h=0,Y=new Map,G=0,y=0,V=0,X=0,f=null,l=!1,w="",x="",r="",g={start:0,end:-1},c={start:0,end:-1},K2=-1,Q2=-1,d=!0,v=(u)=>$.rebuild(u);function S(){let u=(y-1)*V;X=Math.max(0,(G-u)/y)}function k(){if(D||!H)return;D=!0,z=H("_scale:getCompression")??null}function R(){if(l)return;l=!0,f=L?.()??null}function a(){return J.getTotalRows(K.totalItems)}function n(u){let M=u/y|0,O=(u-M*y)*(X+V)+C,m=$.getOffset(M)+P;if(_)return`translate(${Math.round(m)}px, ${Math.round(O)}px)`;return`translate(${Math.round(O)}px, ${Math.round(m)}px)`}function s(u,M){let T=$.getSize(M)-V;if(_)u.style.width=`${T}px`,u.style.height=`${X}px`;else u.style.width=`${X}px`,u.style.height=`${T}px`}function F(u,M,T){if(f)f(T,m2);else m2.selected=!1,m2.focused=!1;let O=U(M,T,m2);if(typeof O==="string")u.innerHTML=O;else u.innerHTML="",u.appendChild(O)}function A(){if(K.destroyed)return;let{scrollPosition:u,containerSize:M}=K;if(!d&&u===K2&&M===Q2)return;K2=u,Q2=M,d=!1;let T=a();if(M<=0||T===0)return;k(),R();let O=z!==null?z():null,m=O!==null&&O.isCompressed,Z2,o;if(m)x2(u,M,$,T,O,g),Z2=Math.max(0,g.start-B),o=Math.min(T-1,g.end+B);else{let L2=$.indexAtOffset(u),p=$.indexAtOffset(u+M);if(p<T-1)p++;L2=Math.max(0,L2),p=Math.min(T-1,Math.max(0,p)),Z2=Math.max(0,L2-B),o=Math.min(T-1,p+B)}if(Z2===K.prevRangeStart&&o===K.prevRangeEnd&&!K.renderPending)return;J.fillItemRange(Z2,o,K.totalItems,c);let{start:J2,end:t}=c;for(let[L2,p]of Y)if(L2<J2||L2>t)p.el.remove(),Z.release(p.el),Y.delete(L2);for(let L2=J2;L2<=t;L2++){let p=q(L2);if(!p)continue;let j2=L2/y|0,i=L2-j2*y,Y2=Y.get(L2);if(Y2===void 0){let B2=Z.acquire();B2.className=w,B2.setAttribute("data-index",String(L2)),B2.setAttribute("data-id",String(p.id)),F(B2,p,L2),Y2={el:B2,lastItem:p},Y.set(L2,Y2),j.appendChild(B2)}else if(Y2.lastItem!==p)Y2.el.setAttribute("data-id",String(p.id)),Y2.lastItem=p,F(Y2.el,p,L2);else if(f)f(L2,m2);if(f)if(Y2.el.classList.toggle(x,m2.selected),Y2.el.classList.toggle(r,m2.focused),m2.selected)Y2.el.setAttribute("aria-selected","true");else Y2.el.removeAttribute("aria-selected");s(Y2.el,j2);let M2=i*(X+V)+C,_2=m?I2(j2,u,$,T,M,O)+P:$.getOffset(j2)+P;Y2.el.style.transform=_?`translate(${Math.round(_2)}px, ${Math.round(M2)}px)`:`translate(${Math.round(M2)}px, ${Math.round(_2)}px)`}let U2=$.getTotalSize()+h;if(!m)j.style[_?"width":"height"]=U2+"px";K.totalSize=U2,K.prevRangeStart=Z2,K.prevRangeEnd=o,K.renderPending=!1;let W2=t-J2+1;K.visibleCount=Math.min(W2,K.capacity),K.startIndex=J2;for(let L2=0;L2<K.visibleCount;L2++){let p=J2+L2,j2=p/y|0;K.visibleIndices[L2]=p,K.visibleOffsets[L2]=m?I2(j2,u,$,T,M,O):$.getOffset(j2),K.visibleSizes[L2]=$.getSize(j2)}}function I(){if(K.destroyed)return;v(a()),K.prevRangeStart=-1,K.prevRangeEnd=-1,K.renderPending=!0,d=!0,A()}return{name:"grid",priority:10,conflicts:["masonry","table"],setup(u){y=Math.max(1,Math.floor(Q.columns)),V=Q.gap??0,J=X4({columns:Q.columns,gap:V}),$=u.sizeCache,K=u.getState(),Z=u.pool,j=u.dom.content,U=u.template,_=u.config.axis.primary==="x",W=u.config.classPrefix,B=u.config.overscan,q=u.getItem.bind(u),L=()=>u.getItemStateFn(),H=u.getMethod.bind(u),w=`${W}-item ${W}-grid-item`,x=`${W}-item--selected`,r=`${W}-item--focused`,C=u.config.crossPadStart,E=u.config.crossAxisPadding,P=u.config.startPadding,h=u.config.mainAxisPadding,G=K.crossSize-E,S();let M=u.rawSizeSpec,T;if(typeof M==="function"){let J2={columnWidth:J.getColumnWidth(G),columns:Q.columns,gap:V};T=M(0,J2),u.setSizeConfig((t)=>{J2.columnWidth=J.getColumnWidth(G);let U2=t*Q.columns;return M(U2,J2)+V})}else if(T=M,V>0)u.setSizeConfig(T+V);let O=null,m=$.rebuild;function Z2(){if($.rebuild===O)return;m=$.rebuild,v=(o)=>m(o),O=(o)=>{v(Math.ceil(o/y))},$.rebuild=O}if(u.registerMethod("_setSizeCacheBase",(o)=>{m=o,v=(J2)=>m(J2)}),Z2(),v(a()),V>0){let o=$.getTotalSize;$.getTotalSize=()=>{let J2=o();return J2>0?J2-V:0}}u.setVirtualTotalFn(()=>a()),u.dom.root.classList.add(`${W}--grid`),u.setRenderFn(A,I),u.registerMethod("getGridLayout",()=>J),u.registerMethod("_getRowGap",()=>J.gap),u.registerMethod("updateGrid",(o)=>{if(o.columns!==void 0){if(!Number.isInteger(o.columns)||o.columns<1)throw Error("[vlist] updateGrid: columns must be >= 1")}if(o.gap!==void 0&&o.gap<0)throw Error("[vlist] updateGrid: gap must be >= 0");if(J.update(o),o.columns!==void 0)y=Math.max(1,Math.floor(o.columns));if(o.gap!==void 0)V=o.gap;if(o.gap!==void 0||o.columns!==void 0){let J2=J.gap;if(typeof M==="function"){let t={columnWidth:J.getColumnWidth(G),columns:J.columns,gap:J2};u.setSizeConfig((U2)=>{t.columnWidth=J.getColumnWidth(G);let W2=U2*J.columns;return M(W2,t)+J2})}else u.setSizeConfig(T+J2);Z2(),v(a())}if(o.columns!==void 0)u.setNavConfig({ud:J.columns});G=K.crossSize-E,S(),I()}),u.registerMethod("scrollToIndex",(o,J2="start")=>{let t=J.getRow(o),U2=a();if(U2===0)return;let W2=Math.max(0,Math.min(t,U2-1)),L2=$.getOffset(W2)+P,p=$.getSize(W2),j2=K.containerSize,i=$.getTotalSize()+h,Y2=Math.max(0,i-j2),M2=typeof J2==="string"?J2:J2.align??"start",_2=typeof J2==="object"?J2.behavior:void 0,B2=typeof J2==="object"?J2.duration:void 0,R2;switch(M2){case"center":R2=L2-(j2-p)/2;break;case"end":R2=L2-j2+p;break;default:R2=L2}R2=Math.max(0,Math.min(R2,Y2)),k();let P2=z?.()??null;if(P2?.isCompressed&&_2==="smooth"&&B2&&B2>0){let b2=j0(W2,$,j2,U2,P2,M2),k2=H?.("_scale:easedScrollTo");if(k2)k2(b2,B2);else u.scrollTo(R2)}else if(_2==="smooth"&&B2&&B2>0)u.smoothScrollTo(R2,B2);else u.scrollTo(R2)}),u.setNavConfig({total:()=>K.totalItems,ud:Q.columns,lr:1,scrollIndex:(o)=>J.getRow(o)}),u.registerDestroyHandler(()=>{for(let[,o]of Y)o.el.remove();Y.clear(),u.dom.root.classList.remove(`${W}--grid`)})},hooks:{onResize(u,M){let T=K.crossSize-E;if(Math.abs(T-G)<1)return;if(G=T,S(),(z?.()??null)?.isCompressed)I();else for(let[m,Z2]of Y){let o=m/y|0;s(Z2.el,o),Z2.el.style.transform=n(m)}}},destroy(){Y.clear()}}}function H0(Q){let J=Q?.keyboard??!0;return{name:"a11y",priority:55,setup($){if($.getItemStateFn())return;$.enableListboxRole();let{dom:K,config:Z,sizeCache:j}=$,U=$.getState(),q=$.emitter,_=Z.classPrefix,W=K.liveRegion,B=-1,L=!1,z,D=-1,H=(w)=>$.getItem(w),C=()=>U.totalItems,E={id:0,index:0},P={selected:[],items:[]};$.setItemStateFn((w,x)=>{x.selected=D===w,x.focused=L&&B===w});function h(w){W.textContent="",W.textContent=w}let Y=(w,x,r)=>{let g=w;while(g>=0&&g<r){let c=H(g);if(!c||!c.__groupHeader)return g;g+=x}g=w-x;while(g>=0&&g<r){let c=H(g);if(!c||!c.__groupHeader)return g;g-=x}return w},G=(w)=>{let x=$.getNavConfig(),r=x.scrollIndex?x.scrollIndex(w):w,g=j.getOffset(r),c=j.getSize(r),K2=U.scrollPosition,Q2=U.containerSize,d=Z.startPadding,v=Z.endPadding,S=g+d,k=S+c,R=K2;if(S<K2)R=Math.max(0,g);else if(k>K2+Q2)R=k+v-Q2;if(R!==K2)U.scrollPosition=R,$.scrollTo(R)},y=(w,x)=>{if(K.content.setAttribute("aria-activedescendant",`${_}-item-${w}`),x)G(w);$.forceRender()},V=(w)=>{B=w,L=!0,y(w,!0);let x=H(w);if(x)E.id=x.id,E.index=w,q.emit("focus:change",E),h(`Item ${w+1} of ${C()}`)},X=(w,x)=>{if(B=w,x)L=!0;let r=H(w);if(r&&z===r.id)z=void 0,D=-1;else z=r?.id,D=r?w:-1;if(y(w,x),z!==void 0&&r&&z===r.id)P.selected[0]=z,P.selected.length=1,P.items[0]=r,P.items.length=1,h(`Selected, item ${w+1} of ${C()}`);else P.selected.length=0,P.items.length=0,h("Deselected");q.emit("selection:change",P)},f=()=>{if(U.destroyed)return;if(!K.content.matches(":focus-visible"))return;let w=C();if(w===0)return;let x=B>=0?Math.min(B,w-1):0;x=Y(x,1,w),V(x)},l=(w)=>{if(U.destroyed)return;let x=w.relatedTarget;if(x&&K.root.contains(x))return;L=!1,K.content.removeAttribute("aria-activedescendant"),$.forceRender()};if(K.content.addEventListener("focusin",f),K.content.addEventListener("focusout",l),J)$.registerKeydownHandler((w)=>{if(U.destroyed)return;let x=C();if(x===0)return;let r=B,g=r;if(w.key===" "||w.key==="Enter"){if(r>=0){let K2=H(r);if(K2&&!K2.__groupHeader)X(r,!0)}w.preventDefault();return}let c=$.getNavConfig();if(c.navigate)switch(w.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":g=c.navigate(r,w.key,x);break;default:return}else{let K2=c.ud||1,Q2=c.lr,d=Z.axis.primary==="x";switch(w.key){case"ArrowUp":if(d&&!Q2)return;g=r-(d?Q2:K2);break;case"ArrowDown":if(d&&!Q2)return;g=r+(d?Q2:K2);break;case"ArrowLeft":if(!d&&!Q2)return;g=r-(d?K2:Q2);break;case"ArrowRight":if(!d&&!Q2)return;g=r+(d?K2:Q2);break;case"PageUp":case"PageDown":{let v=j.getSize(Math.max(0,c.scrollIndex?c.scrollIndex(r):r)),k=Math.max(1,Math.floor(U.containerSize/v))*K2;g=w.key==="PageUp"?r-k:r+k;break}case"Home":g=0;break;case"End":g=x-1;break;default:return}}if(g<0)g=0;else if(g>=x)g=x-1;if(w.preventDefault(),g=Y(g,g>=r?1:-1,x),g!==r)V(g)});$.registerClickHandler((w)=>{if(U.destroyed)return;let x=w.target.closest("[data-index]");if(!x)return;let r=parseInt(x.dataset.index??"-1",10);if(r<0)return;let g=H(r);if(!g||g.__groupHeader)return;L=!1,K.content.focus({preventScroll:!0}),X(r,!1)}),$.registerDestroyHandler(()=>{K.content.removeEventListener("focusin",f),K.content.removeEventListener("focusout",l)})}}}var o2=(Q,J,$)=>{if(String($).startsWith(f2))return!1;let K=f2+J;if(Q.has(K))return Q.delete(K),Q.add($),!0;return!1},M4=(Q)=>({selected:new Set(Q??[]),focusedIndex:-1,focusVisible:!1});function c2(Q,J,$,K){if($===0)return;let Z=K?-J:J,j=Q.focusedIndex+Z;if(j<0)j=0;if(j>=$)j=$-1;Q.focusedIndex=j}function K0(Q){return Array.from(Q)}var j6={preventScroll:!0};function O0(Q){let J=Q?.mode??"single",$=Q?.followFocus??!1,K=Q?.focusOnClick??!1,Z=Q?.keyboard??!0,j,U,q,_,W,B,L,z,D=-1,H=new Map,C=null,E=null,P=null,h=null,Y,G=!1;function y(R){if(G)return;G=!0,C=R.getMethod("_layoutToDataIndex")??null,E=R.getMethod("_dataToLayoutIndex")??null,P=R.getMethod("_isGroupHeader")??null,h=R.getMethod("_scrollItemIntoView")??null,X=R.getMethod("_getLoadedItem")??null;let a=R.getMethod("getGroupLayout");if(a){let n=a();Y=()=>n.totalEntries}}let V=(R)=>C?C(R):R,X=null,f=(R)=>{if(X)return X(R);return U()[R]},l=(R)=>{let a=V(R);return a>=0?f(a):void 0},w=(R,a,n)=>{if(!P)return R;let s=R;while(s>=0&&s<n){if(!P(s))return s;s+=a}s=R-a;while(s>=0&&s<n){if(!P(s))return s;s-=a}return R};function x(R,a){if(J==="single")j.selected.clear(),H.clear();if(j.selected.add(R),a)H.set(R,a)}function r(R,a){if(j.selected.has(R))j.selected.delete(R),H.delete(R);else x(R,a)}function g(){j.selected.clear(),H.clear()}function c(R){j.selected.delete(R),H.delete(R)}function K2(R,a){let n=Math.min(R,a),s=Math.max(R,a);for(let F=n;F<=s;F++){if(P?.(F))continue;let A=l(F);if(A)j.selected.add(A.id),H.set(A.id,A)}}function Q2(){let R=L.totalItems;for(let a=0;a<R;a++){if(P?.(a))continue;let n=l(a);if(n)j.selected.add(n.id),H.set(n.id,n)}}function d(){if(j.selected.size===0)return[];if(H.size>=j.selected.size){let s=[];for(let F of j.selected){let A=H.get(F);if(A)s.push(A)}if(s.length===j.selected.size)return s}let R=[],a=new Set(j.selected),n=L.totalItems;for(let s=0;s<n&&a.size>0;s++){if(P?.(s))continue;let F=l(s);if(F&&a.has(F.id))R.push(F),H.set(F.id,F),a.delete(F.id)}return R}function v(){q(),_.emit("selection:change",{selected:K0(j.selected),items:d()})}let S=null,k=-1;return{name:"selection",priority:50,setup(R){R.enableListboxRole(),j=M4(Q?.initial),U=R.getItems.bind(R),q=R.forceRender.bind(R),_=R.emitter,W=R.dom;let a=R.config;if(B=R.sizeCache,L=R.getState(),z=R.scrollTo.bind(R),Y=()=>L.totalItems,J==="none"){R.registerMethod("select",()=>{}),R.registerMethod("deselect",()=>{}),R.registerMethod("toggleSelect",()=>{}),R.registerMethod("selectAll",()=>{}),R.registerMethod("clearSelection",()=>{}),R.registerMethod("getSelected",()=>[]),R.registerMethod("getSelectedItems",()=>[]),R.registerMethod("selectNext",()=>{}),R.registerMethod("selectPrevious",()=>{}),R.registerMethod("_seedSelection",()=>{}),R.registerMethod("_getFocusedId",()=>{return}),R.registerMethod("_focusById",()=>{});return}let n=a.classPrefix;R.setItemStateFn((M,T)=>{if(y(R),j.selected.size>0){let O=V(M),m=O>=0?l(M):void 0,Z2=m?.id;if(Z2!==void 0)if(j.selected.has(Z2))T.selected=!0;else if(o2(j.selected,O,Z2))T.selected=!0,H.delete(f2+O),H.set(Z2,m);else T.selected=!1;else T.selected=!1}else T.selected=!1;T.focused=j.focusVisible&&j.focusedIndex===M}),R.registerMethod("_getSelectedIds",()=>j.selected),R.registerMethod("_getFocusedIndex",()=>j.focusVisible?j.focusedIndex:-1),W.root.classList.add(`${n}--selectable`);let s=(M)=>{S=null,k=-1;let T=M.target.closest("[data-index]");if(!T)return!1;let O=parseInt(T.dataset.index??"-1",10);if(O<0)return!1;if(P?.(O))return!1;if(V(O)<0)return!1;let Z2=l(O);if(!Z2)return!1;return S=Z2,k=O,!0},F=0,A=(M)=>{if(M<0)return;if(h){h(M);return}if(!F){let W2=R.getMethod("_getRowGap");F=W2?W2():0}let T=R.getNavConfig(),O=T.scrollIndex?T.scrollIndex(M):M,m=B.getOffset(O),Z2=B.getSize(O)-F,o=L.containerSize,J2=L.scrollPosition,t=a.startPadding,U2=a.endPadding;if(m<J2)z(m);else if(t+m+Z2+U2>J2+o)z(t+m+Z2+U2-o)},I=()=>{if(L.destroyed)return;if(y(R),!W.content.matches(":focus-visible")&&!W.root.matches(":focus-visible"))return;let M=Y();if(M===0)return;let T=j.focusedIndex>=0?Math.min(j.focusedIndex,M-1):0;T=w(T,1,M),j.focusedIndex=T,j.focusVisible=!0,W.content.setAttribute("aria-activedescendant",`${n}-item-${T}`),A(T),q()};W.root.addEventListener("focusin",I);let u=(M)=>{if(L.destroyed)return;let T=M.relatedTarget;if(T&&W.root.contains(T))return;j.focusVisible=!1,q(),W.content.removeAttribute("aria-activedescendant")};if(W.root.addEventListener("focusout",u),R.registerDestroyHandler(()=>{W.root.removeEventListener("focusin",I),W.root.removeEventListener("focusout",u)}),R.registerClickHandler((M)=>{if(y(R),!s(M))return;if(J==="multiple"&&M.shiftKey&&j.focusedIndex>=0){let O=D>=0?D:j.focusedIndex,m=V(O),Z2=V(k);if(m>=0&&Z2>=0)K2(O,k);j.focusedIndex=k,j.focusVisible=K,D=k,v();return}if(j.focusedIndex=k,j.focusVisible=K,D=k,(W.content.getAttribute("tabindex")!==null?W.content:W.root).focus(j6),J==="single")x(S.id,S);else r(S.id,S);v()}),Z)R.registerKeydownHandler((M)=>{y(R);let T=Y();if(T===0)return;let O=R.getNavConfig(),m=j.focusedIndex,Z2=!1,o=!1;if(O.navigate&&(M.key==="ArrowUp"||M.key==="ArrowDown"||M.key==="ArrowLeft"||M.key==="ArrowRight"||M.key==="PageUp"||M.key==="PageDown"||M.key==="Home"||M.key==="End")){let t=O.navigate(j.focusedIndex,M.key,T);if(t!==j.focusedIndex)j.focusedIndex=Math.max(0,Math.min(t,T-1));j.focusVisible=!0,Z2=!0}else switch(M.key){case"ArrowUp":{let t=O.ud||1,U2=O.lr,W2=a.axis.primary==="x";if(W2&&!U2)break;c2(j,-(W2?U2:t),T,a.reverse),j.focusVisible=!0,Z2=!0;break}case"ArrowDown":{let t=O.ud||1,U2=O.lr,W2=a.axis.primary==="x";if(W2&&!U2)break;c2(j,W2?U2:t,T,a.reverse),j.focusVisible=!0,Z2=!0;break}case"ArrowLeft":{let t=O.ud||1,U2=O.lr,W2=a.axis.primary==="x";if(!W2&&!U2)break;c2(j,-(W2?t:U2),T,a.reverse),j.focusVisible=!0,Z2=!0;break}case"ArrowRight":{let t=O.ud||1,U2=O.lr,W2=a.axis.primary==="x";if(!W2&&!U2)break;c2(j,W2?t:U2,T,a.reverse),j.focusVisible=!0,Z2=!0;break}case"Home":if(T>0)j.focusedIndex=0;j.focusVisible=!0,Z2=!0;break;case"End":if(T>0)j.focusedIndex=T-1;j.focusVisible=!0,Z2=!0;break;case"PageUp":case"PageDown":{let t=O.ud||1,U2=Math.max(0,j.focusedIndex),W2=O.scrollIndex?O.scrollIndex(U2):U2,L2=B.getSize(W2),p=L.containerSize,i=(L2>0?Math.max(1,Math.floor(p/L2)):10)*t;if(C&&E){let Y2=C(j.focusedIndex),M2=M.key==="PageUp"?-i:i,_2=L.totalItems-1;j.focusedIndex=E(Math.max(0,Math.min(_2,Y2+M2)))}else c2(j,M.key==="PageUp"?-i:i,T);j.focusVisible=!0,Z2=!0;break}case" ":case"Enter":if(M.key===" "&&M.shiftKey&&J==="multiple"&&j.focusedIndex>=0){if(D>=0){let t=V(D),U2=V(j.focusedIndex);if(t>=0&&U2>=0)K2(D,j.focusedIndex)}j.focusVisible=!0,o=!0,Z2=!0;break}if(j.focusedIndex>=0){let t=l(j.focusedIndex);if(t)r(t.id,t),D=j.focusedIndex;j.focusVisible=!0,o=!0,Z2=!0}break;case"a":if((M.ctrlKey||M.metaKey)&&J==="multiple"){if(j.selected.size===L.totalItems)g();else Q2();j.focusVisible=!0,o=!0,Z2=!0}break;case"Delete":case"Backspace":if(j.selected.size>0)_.emit("delete",{selected:K0(j.selected),items:d()}),Z2=!0;break}if(j.focusedIndex!==m&&P){let t=j.focusedIndex>m?1:-1;j.focusedIndex=w(j.focusedIndex,t,T)}let J2=j.focusedIndex!==m;if(M.shiftKey&&J==="multiple"&&!o&&J2){if(M.key==="ArrowUp"||M.key==="ArrowDown"||M.key==="ArrowLeft"||M.key==="ArrowRight"){let W2=l(j.focusedIndex);if(W2)r(W2.id,W2);D=j.focusedIndex,o=!0}if((M.ctrlKey||M.metaKey)&&(M.key==="Home"||M.key==="End")){let W2=m>=0?m:j.focusedIndex,L2=V(W2),p=V(j.focusedIndex);if(L2>=0&&p>=0)K2(W2,j.focusedIndex);D=j.focusedIndex,o=!0}}if($&&J==="single"&&!o&&J2&&j.focusedIndex>=0){let t=l(j.focusedIndex);if(t)x(t.id,t);o=!0}if(Z2){if(M.preventDefault(),J2&&j.focusedIndex>=0)A(j.focusedIndex),W.content.setAttribute("aria-activedescendant",`${n}-item-${j.focusedIndex}`);if(o)v();else if(J2){if(q(),j.focusedIndex>=0){let t=l(j.focusedIndex);if(t)_.emit("focus:change",{id:t.id,index:j.focusedIndex})}}}});R.registerMethod("select",(...M)=>{for(let T of M)x(T);v()}),R.registerMethod("deselect",(...M)=>{for(let T of M)c(T);v()}),R.registerMethod("toggleSelect",(M)=>{r(M),v()}),R.registerMethod("selectAll",()=>{if(J!=="multiple")return;Q2(),v()}),R.registerMethod("clearSelection",()=>{g(),v()}),R.registerMethod("getSelected",()=>{return K0(j.selected)}),R.registerMethod("getSelectedItems",()=>{return d()}),R.registerMethod("selectNext",()=>{y(R);let M=Y();if(M===0)return;if(c2(j,1,M,a.reverse),P)j.focusedIndex=w(j.focusedIndex,1,M);let T=l(j.focusedIndex);if(T)x(T.id,T);v()}),R.registerMethod("selectPrevious",()=>{y(R);let M=Y();if(M===0)return;if(c2(j,-1,M,a.reverse),P)j.focusedIndex=w(j.focusedIndex,-1,M);let T=l(j.focusedIndex);if(T)x(T.id,T);v()}),R.registerMethod("_seedSelection",(M)=>{for(let T of M)j.selected.add(T)}),R.registerMethod("_isFollowFocus",()=>$),R.registerMethod("_getFocusedId",()=>{if(j.focusedIndex<0)return;return l(j.focusedIndex)?.id}),R.registerMethod("_focusById",(M)=>{let T=L.totalItems;for(let O=0;O<T;O++){if(P?.(O))continue;let m=l(O);if(m&&m.id===M){j.focusedIndex=O,j.focusVisible=K,_.emit("focus:change",{id:M,index:O});return}}})},destroy(){H.clear()}}}var U0=(Q)=>Q==null?0:typeof Q==="function"?Q():Q;function L0(Q){let J=Q?.scrollPadding,$,K;return{name:"page",priority:5,setup(Z){let{dom:j,sizeCache:U,config:q,emitter:_}=Z,W=q.axis.primary==="x",B=window,L=Z.getState();if(Z.disableDefaultScroll(),Z.disableDefaultResize(),j.root.style.overflow="visible",j.root.style.height="auto",W)j.viewport.style.overflowX="visible",j.viewport.style.overflowY="visible";else j.viewport.style.overflow="visible";j.viewport.classList.remove(`${q.classPrefix}-viewport--custom-scrollbar`),Z.setScrollFns(()=>{let P=j.viewport.getBoundingClientRect();return Math.max(0,W?-P.left:-P.top)},(P)=>{let h=j.viewport.getBoundingClientRect(),Y=(W?h.left+B.scrollX:h.top+B.scrollY)+P;if(W)B.scrollTo({left:Y,top:B.scrollY,behavior:"instant"});else B.scrollTo({left:B.scrollX,top:Y,behavior:"instant"})}),L.containerSize=W?B.innerWidth:B.innerHeight,L.crossSize=W?B.innerHeight:B.innerWidth;let z=null,D=()=>{let P=j.viewport.getBoundingClientRect(),h=Math.max(0,W?-P.left:-P.top);if(L.prevScrollPosition=L.scrollPosition,L.scrollPosition=h,L.scrollDirection=h>L.prevScrollPosition?1:h<L.prevScrollPosition?-1:0,Z.onScrollFrame(),z!==null)clearTimeout(z);z=setTimeout(()=>{z=null,Z.onScrollIdle()},150)};B.addEventListener("scroll",D,{passive:!0}),K=()=>B.removeEventListener("scroll",D);let{innerWidth:H,innerHeight:C}=B,E=()=>{let{innerWidth:P,innerHeight:h}=B;if((W?Math.abs(P-H):Math.abs(h-C))<1)return;H=P,C=h,L.containerSize=W?P:h,L.crossSize=W?h:P,Z.forceRender(),_.emit("resize",{width:P,height:h})};if(B.addEventListener("resize",E),$=()=>B.removeEventListener("resize",E),J)Z.setScrollToPosFn((P,h,Y,G,y)=>{let V=U0(W?J.left:J.top),X=U0(W?J.right:J.bottom);if(G===0)return 0;let f=Math.max(0,Math.min(P,G-1)),l=h.getOffset(f),w=h.getSize(f),x=h.getTotalSize(),r=Math.max(0,x-Y+X),g;switch(y){case"center":g=l-V-(Y-V-X-w)/2;break;case"end":g=l-Y+w+X;break;default:g=l-V}return Math.max(-V,Math.min(g,r))}),Z.registerMethod("_scrollItemIntoView",(P)=>{let h=W?B.innerWidth:B.innerHeight,Y=U0(W?J.left:J.top),G=U0(W?J.right:J.bottom),y=j.viewport.getBoundingClientRect(),V=W?B.scrollX:B.scrollY,X=W?y.left:y.top,f=X+V,l=U.getOffset(P),w=U.getSize(P),x=X+l,r=h-G,g=V;if(x<Y)g=f+l-Y;else if(x+w>r)g=f+l+w-r;if(g!==V)if(W)B.scrollTo({left:g,top:B.scrollY,behavior:"instant"});else B.scrollTo({left:B.scrollX,top:g,behavior:"instant"})});Z.registerDestroyHandler(()=>{if(K?.(),$?.(),z!==null)clearTimeout(z)})},destroy(){K?.(),$?.(),K=void 0,$=void 0}}}var Z6=(Q)=>{try{let J=sessionStorage.getItem(Q);if(!J)return;return JSON.parse(J)}catch{return}};function i2(Q){let J=Q?.autoSave,$=J?Z6(J):Q?.restore,K=!1,Z=null;return{name:"snapshots",priority:50,setup(j){let{sizeCache:U,emitter:q}=j,_=j.getState(),W=()=>{let{scrollPosition:z,totalItems:D}=_,C=j.getMethod("getSelected")?.();if(D===0){let X={index:0,offsetInItem:0,total:0};if(C?.length)X.selectedIds=C;return X}let E,P;if(_.isCompressed&&_.compressionRatio!==1){let X=_.totalSize,l=z/X*D;E=Math.max(0,Math.min(Math.floor(l),D-1)),P=(l-E)*U.getSize(E)}else E=U.indexAtOffset(z),P=z-U.getOffset(E);P=Math.max(0,P);let h={index:E,offsetInItem:P,total:D,scrollTop:z},Y=U.getSize(E);if(Y)h.offsetRatio=P/Y;let G=j.getMethod("_layoutToDataIndex");if(G){let X=G(E);if(X<0){for(let f=E+1;f<D;f++)if(X=G(f),X>=0)break}if(X>=0)h.dataIndex=X}let y=j.getMethod("_getTotal");if(y)h.dataTotal=y();if(C?.length)h.selectedIds=C;let V=j.getMethod("_getFocusedId");if(V){let X=V();if(X!==void 0)h.focusedId=X}return h};j.registerMethod("getScrollSnapshot",W);let B=(z,D=!0)=>{let{index:H,offsetInItem:C,selectedIds:E,focusedId:P}=z,h=_.totalItems,Y=z.dataTotal??z.total;if(h===0&&Y&&Y>0){let Q2=j.getMethod("_setTotal");if(Q2)Q2(Y),h=_.totalItems;U.rebuild(h);let d=j.getMethod("_updateCompressionMode");if(d)d();if(!_.isCompressed)j.updateContentSize(U.getTotalSize()),_.totalSize=U.getTotalSize()}if(h===0)return Promise.resolve();if(!Number.isFinite(H)||!Number.isFinite(C))return Promise.resolve();if(U.getTotal()===0){U.rebuild(h);let Q2=j.getMethod("_updateCompressionMode");if(Q2)Q2();if(!_.isCompressed)j.updateContentSize(U.getTotalSize()),_.totalSize=U.getTotalSize()}let y=j.getMethod("_dataToLayoutIndex"),V=H;if(z.dataIndex!==void 0&&z.dataIndex>=0)V=y?y(z.dataIndex):z.dataIndex;else if(y)V=y(H);let X=Math.max(0,Math.min(V,h-1)),f=U.getSize(X),l=z.offsetRatio!==void 0?z.offsetRatio*f:Math.min(C,f),w=j.getMethod("_getTotal")?.(),x=z.total===h||w!==void 0&&z.dataTotal===w,r;if(_.isCompressed&&_.compressionRatio!==1)if(z.scrollTop!==void 0&&x)r=z.scrollTop;else{let Q2=f?l/f:0;r=(X+Q2)/h*_.totalSize}else if(z.scrollTop!==void 0&&x)r=z.scrollTop;else r=U.getOffset(X)+l;let g=Math.max(0,_.totalSize-_.containerSize);if(r=Math.max(0,Math.min(r,g)),j.scrollTo(r),D&&E?.length){let Q2=j.getMethod("select");if(Q2)Q2(...E)}let c=j.getMethod("loadVisibleRange"),K2=()=>{if(P===void 0)return;let Q2=j.getMethod("_focusById");if(Q2)Q2(P)};return new Promise((Q2)=>{let d=(v)=>{if(v)K2();Q2()};if(c){let v=0,S=()=>{if(_.containerSize>0){if(Math.abs(_.scrollPosition-r)>1)j.scrollTo(r);c().then(()=>d(!0),()=>d(!1))}else if(++v<10)requestAnimationFrame(S);else d(!1)};requestAnimationFrame(S)}else{let v=j.getMethod("reload");if(v)requestAnimationFrame(()=>{v().then(()=>d(!0),()=>d(!1))});else requestAnimationFrame(()=>d(!0))}})};j.registerMethod("restoreScroll",B);let L=!!($&&J);if(j.registerDestroyHandler(()=>{K=!0}),J){Z=()=>{if(K||L)return;let h=W();try{sessionStorage.setItem(J,JSON.stringify(h))}catch{}},j.registerMethod("_saveSnapshot",Z);let z=0,D=()=>{if(z)return;z=requestAnimationFrame(()=>{if(z=0,Z)Z()})};q.on("selection:change",D),q.on("focus:change",D);let H=0,C=()=>{if(H=0,Z)Z()},E=()=>{if(H)clearTimeout(H);H=setTimeout(C,300)};q.on("scroll",E);let P=()=>{Z?.()};if(window.addEventListener("beforeunload",P),j.registerDestroyHandler(()=>{if(z)cancelAnimationFrame(z);if(H)clearTimeout(H);window.removeEventListener("beforeunload",P)}),$&&$.total&&$.total>0){let h=j.getMethod("_cancelAutoLoad");if(h)h();let Y=j.getMethod("_setTotal");if(Y)Y($.total)}}if($){let z=!0;if($.selectedIds?.length){let D=j.getMethod("_seedSelection");if(D)D($.selectedIds),z=!1}queueMicrotask(()=>{if(B($,z),L=!1,Z)Z()})}},hooks:{onIdle(){if(Z&&!K)Z()}},destroy(){K=!0,Z=null}}}function D4(Q,J){if(J===!1)return null;return{duration:Math.min(J?.duration??Q.duration,1000),easing:J?.easing??Q.easing}}function F0(Q){let J=Q?.duration??200,$=Q?.easing??"cubic-bezier(0.2, 0, 0, 1)",K={duration:J,easing:$},Z=D4(K,Q?.remove),j=D4(K,Q?.insert),U=null,q=null;return{name:"transition",conflicts:["grid","table","masonry"],priority:45,setup(_){let{sizeCache:W,emitter:B}=_,L=_.config,z=_.dom,D=_.getState(),H=L.reverse?"bottom center":"top center",C=L.axis.primary==="x"?"translateX":"translateY",E=_.getMethod("_dataToLayoutIndex")??null,P=(G)=>E?E(G):G,h=(G)=>{let y=String(G).replace(/"/g,"\\\""),V=z.content.querySelector(`[data-id="${y}"]`),X=V?parseInt(V.dataset.index??"-1",10):-1;return{el:V,layoutIndex:X}},Y=()=>{let G=z.content.children;for(let y=0;y<G.length;y++)G[y].style.transition="none";z.content.offsetHeight;for(let y=0;y<G.length;y++)G[y].style.transition=""};if(Z){let G=(V)=>{if(U)U();let X=typeof document<"u"?document.activeElement:null,f=X&&z.content.contains(X)?parseInt(X.dataset?.index??"-1",10):-1,l=h(V),w=l.layoutIndex,x=l.el,r=w>=0?W.getSize(w):0,g=w>=0?W.getOffset(w):0;if(!x||w<0){if(_.removeItemById(V)<0)return!1;if(_.forceRender(),Y(),B.emit("data:change",{type:"remove",id:V}),f>=0){let u=D.totalItems;if(u>0)_.getRenderedElement(Math.min(f,u-1))?.focus()}return B.emit("remove:end",{id:V}),!0}let c=x.cloneNode(!0);c.style.pointerEvents="none",c.style.overflow="hidden",c.removeAttribute("data-index"),c.removeAttribute("data-id"),c.removeAttribute("id"),c.removeAttribute("aria-selected"),c.classList.remove(`${L.classPrefix}-item--selected`);let K2=L.axis.primary==="x"?"scrollLeft":"scrollTop",Q2=z.viewport[K2];if(_.removeItemById(V)<0)return!1;_.forceRender(),Y(),B.emit("data:change",{type:"remove",id:V});let v=Q2-z.viewport[K2];c.style.zIndex="1",z.content.appendChild(c);let S=Z,k={duration:S.duration,easing:S.easing},R=[],a=Math.round(g-v);R.push(c.animate([{transform:`${C}(${a}px) scaleY(1)`,opacity:1,transformOrigin:H},{transform:`${C}(${Math.round(g)}px) scaleY(0)`,opacity:0,transformOrigin:H}],k));let n=v>0,s=z.content.children;for(let I=0;I<s.length;I++){let u=s[I];if(u===c)continue;let M=parseInt(u.dataset?.index??"-1",10);if(M<0||!n&&M<w)continue;let T=W.getOffset(M),O=M>=w?Math.round(T+r-v):Math.round(T-v),m=Math.round(T);if(O===m)continue;R.push(u.animate([{transform:`${C}(${O}px)`},{transform:`${C}(${m}px)`}],k))}let F=!1,A=()=>{if(F)return;F=!0,U=null,c.remove();for(let I of R)if(I.playState!=="finished")I.cancel();if(f>=0){let I=D.totalItems;if(I>0)_.getRenderedElement(Math.min(f,I-1))?.focus()}B.emit("remove:end",{id:V})};return U=A,Promise.all(R.map((I)=>I.finished)).then(A,A),setTimeout(A,S.duration+50),!0},y=(V)=>{if(V.length===0)return 0;if(V.length===1)return G(V[0])?1:0;if(U)U();if(q)q();let X=typeof document<"u"?document.activeElement:null,f=X&&z.content.contains(X)?parseInt(X.dataset?.index??"-1",10):-1,l=[];for(let F of V){let A=h(F);l.push({id:F,layoutIndex:A.layoutIndex,el:A.el,size:A.layoutIndex>=0?W.getSize(A.layoutIndex):0,offset:A.layoutIndex>=0?W.getOffset(A.layoutIndex):0})}l.sort((F,A)=>A.layoutIndex-F.layoutIndex);let w=[];for(let F of l){if(!F.el||F.layoutIndex<0)continue;let A=F.el.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(`${L.classPrefix}-item--selected`),w.push({clone:A,offset:F.offset,size:F.size,layoutIndex:F.layoutIndex})}let x=new Map,r=z.content.children;for(let F=0;F<r.length;F++){let A=r[F],I=A.dataset?.id,u=parseInt(A.dataset?.index??"-1",10);if(I&&u>=0)x.set(I,W.getOffset(u))}let g=L.axis.primary==="x"?"scrollLeft":"scrollTop",c=z.viewport[g],K2=[];for(let F of l)if(_.removeItemById(F.id)>=0)K2.push(F.id);if(K2.length===0)return 0;_.forceRender(),Y();for(let F of K2)B.emit("data:change",{type:"remove",id:F});if(w.length===0){if(f>=0){let F=D.totalItems;if(F>0)_.getRenderedElement(Math.min(f,F-1))?.focus()}for(let F of K2)B.emit("remove:end",{id:F});return K2.length}let Q2=c-z.viewport[g],d=Z,v={duration:d.duration,easing:d.easing},S=[];w.sort((F,A)=>F.layoutIndex-A.layoutIndex);let k=0;for(let F of w){F.clone.style.zIndex="1",z.content.appendChild(F.clone);let A=Math.round(F.offset-Q2),I=Math.round(F.offset-k);S.push(F.clone.animate([{transform:`${C}(${A}px) scaleY(1)`,opacity:1,transformOrigin:H},{transform:`${C}(${I}px) scaleY(0)`,opacity:0,transformOrigin:H}],v)),k+=F.size}let R=new Set(w.map((F)=>F.clone)),a=z.content.children;for(let F=0;F<a.length;F++){let A=a[F];if(R.has(A))continue;let I=A.dataset?.id,u=parseInt(A.dataset?.index??"-1",10);if(!I||u<0)continue;let M=x.get(I);if(M===void 0)continue;let T=W.getOffset(u),O=Math.round(M-Q2),m=Math.round(T);if(O===m)continue;S.push(A.animate([{transform:`${C}(${O}px)`},{transform:`${C}(${m}px)`}],v))}let n=!1,s=()=>{if(n)return;n=!0,U=null;for(let{clone:F}of w)F.remove();for(let F of S)if(F.playState!=="finished")F.cancel();if(f>=0){let F=D.totalItems;if(F>0)_.getRenderedElement(Math.min(f,F-1))?.focus()}for(let F of K2)B.emit("remove:end",{id:F})};return U=s,Promise.all(S.map((F)=>F.finished)).then(s,s),setTimeout(s,d.duration+50),K2.length};_.registerMethod("removeItem",G),_.registerMethod("removeItems",y)}if(j){let G=(y,V)=>{if(q)q();if(U)U();let X=V??0,f=new Map,l=z.content.children;for(let F=0;F<l.length;F++){let A=l[F],I=A.dataset?.id,u=parseInt(A.dataset?.index??"-1",10);if(I&&u>=0)f.set(I,W.getOffset(u))}let w=L.axis.primary==="x"?"scrollLeft":"scrollTop",x=L.axis.primary==="x"?"scrollWidth":"scrollHeight",r=L.axis.primary==="x"?"clientWidth":"clientHeight",g=z.viewport[w],c=z.viewport[x]-z.viewport[r],K2=g>=c-1;_.insertItemAt(y,X),_.forceRender(),Y(),B.emit("data:change",{type:"insert",id:y.id});let Q2=z.viewport[w]-g,d=P(X);if(L.reverse&&Q2===0&&K2){z.viewport[w]=z.viewport[x]-z.viewport[r];let F=z.viewport[w];if(D.prevScrollPosition=D.scrollPosition,D.scrollPosition=F,Q2=F-g,Q2>0)_.forceRender(),Y()}let v=_.getRenderedElement(d),S=j,k={duration:S.duration,easing:S.easing},R=[];if(v){let F=W.getOffset(d);R.push(v.animate([{transform:`${C}(${Math.round(F)}px) scaleY(0)`,opacity:0,transformOrigin:H},{transform:`${C}(${Math.round(F)}px) scaleY(1)`,opacity:1,transformOrigin:H}],k))}let a=z.content.children;for(let F=0;F<a.length;F++){let A=a[F];if(A===v)continue;let I=A.dataset?.id,u=parseInt(A.dataset?.index??"-1",10);if(!I||u<0)continue;let M=f.get(I);if(M===void 0)continue;let T=W.getOffset(u),O=Math.round(M+Q2),m=Math.round(T);if(O===m)continue;R.push(A.animate([{transform:`${C}(${O}px)`},{transform:`${C}(${m}px)`}],k))}if(R.length===0)return;let n=!1,s=()=>{if(n)return;n=!0,q=null;for(let F of R)if(F.playState!=="finished")F.cancel()};q=s,Promise.all(R.map((F)=>F.finished)).then(s,s),setTimeout(s,S.duration+50)};_.registerMethod("insertItem",G)}},destroy(){if(U)U();if(q)q()}}}function E0(Q){let J=Q?.gap??0,$=null,K=null,Z,j,U,q,_=new Map,W=new WeakMap,B=0,L=!1,z=!1,D=!1,H=2;function C(Y){return _.get(Y)??q}function E(){let Y=K.dom.viewport,G=Y.scrollHeight-Y.clientHeight;return G>0&&Z.scrollPosition>=G-H}function P(){let Y=K.dom.viewport;Y.scrollHeight;let G=Y.scrollHeight-Y.clientHeight;if(G>Z.scrollPosition)K.scrollTo(G)}function h(){K.updateContentSize(K.sizeCache.getTotalSize())}return{name:"autosize",priority:5,setup(Y){if(K=Y,Z=Y.getState(),j=Y.config.axis.primary==="x",U=j?"width":"height",J===0)J=Y.config.gap;if(q=typeof Y.rawSizeSpec==="function"?Y.rawSizeSpec(0)+J:Y.rawSizeSpec+J,Y.setSizeConfig(C),J>0){let V=Y.sizeCache.getTotalSize;Y.sizeCache.getTotalSize=()=>{let X=V();return X>0?X-J:0}}$=new ResizeObserver((V)=>{if(Z.destroyed||!K)return;let X=!1,f=Y.sizeCache.indexAtOffset(Z.scrollPosition);for(let g of V){let c=g.target,K2=W.get(c);if(K2===void 0)continue;if(c.getAttribute("data-index")!==String(K2)){$.unobserve(c);continue}if(_.has(K2))continue;let Q2=g.borderBoxSize[0];if(!Q2)continue;let d=j?Q2.inlineSize:Q2.blockSize;if(d<=0)continue;let v=d+J,S=q;if(_.set(K2,v),X=!0,K2<f&&v!==S)B+=v-S;$.unobserve(c),c.style[U]=`${d}px`}if(!X)return;let l=E();if(Y.rebuildSizeCache(),B)Y.scrollTo(Z.scrollPosition+B),B=0;let w=Z.scrollDirection!==0,x=Z.totalItems>0&&Z.prevRangeEnd>=Z.totalItems-1,r=z&&!D;if(r||l||x||!w){if(h(),L=!1,r||l)P()}else L=!0;Y.forceRender()}),Y.setScrollToIndexFn((V,X,f,l,w)=>{let x=V>=Z.totalItems-1&&X==="end";if(z=x,D=!1,!x)return!1;let r=Y.config.mainAxisPadding,g=()=>{let c=Y.sizeCache.getTotalSize();return Math.max(0,c+r-Z.containerSize)};if(f==="smooth")D=!0,Y.smoothScrollTo(g,l??300,w,()=>{D=!1});else Y.scrollTo(g())});let G=()=>{z=!1},y=Y.dom.viewport;y.addEventListener("wheel",G,{passive:!0}),y.addEventListener("touchstart",G,{passive:!0}),Y.registerDestroyHandler(()=>{y.removeEventListener("wheel",G),y.removeEventListener("touchstart",G)}),Y.registerMethod("isMeasured",(V)=>_.has(V)),Y.registerMethod("setMeasuredSize",(V,X)=>{_.set(V,X)}),Y.registerMethod("getMeasuredCount",()=>_.size),Y.registerDestroyHandler(()=>{if($)$.disconnect(),$=null})},hooks:{onCommit(Y){if(!$||!K)return;for(let G=0;G<Y.visibleCount;G++){let y=Y.visibleIndices[G];if(_.has(y))continue;let V=K.getRenderedElement(y);if(!V)continue;V.style[U]="",W.set(V,y),$.observe(V)}},onIdle(){if(!K||!L)return;let Y=E();if(h(),L=!1,Y)P(),K.forceRender()}},destroy(){if($)$.disconnect(),$=null;_.clear(),z=!1,D=!1,K=null}}}var G4=(Q)=>{let J=Math.max(1,Math.floor(Q.columns)),$=Q.gap??0,K=Q.containerSize,Z=Q.crossOffset??0,j=Q.mainOffset??0,U=0,q=[],_=()=>{let P=(J-1)*$;U=Math.max(0,(K-P)/J),q=Array(J);let h=U+$;for(let Y=0;Y<J;Y++)q[Y]=Z+Y*h};_();let W=[],B=0,L=[],z=(P,h)=>{if(P<=0)return B=0,W=[],[];let Y=Array(J).fill(j),G=Array(J);for(let X=0;X<J;X++)G[X]=[];let y=Array(P);for(let X=0;X<P;X++){let f=0,l=Y[0];for(let r=1;r<J;r++){let g=Y[r];if(g<l)l=g,f=r}let w=h(X),x=Y[f];y[X]={index:X,x:q[f],y:x,lane:f,size:w,crossSize:U},G[f].push(X),Y[f]=x+w+$}W=G;let V=0;for(let X=0;X<J;X++){let f=Y[X],l=f>0?f-$:0;if(l>V)V=l}return B=V,y},D=(P)=>{if(P.length===0)return B;if(B)return B;let h=Array(J).fill(0);for(let G of P){let y=G.y+G.size,V=h[G.lane];if(y>V)h[G.lane]=y}let Y=0;for(let G=0;G<J;G++)if(h[G]>Y)Y=h[G];return Y},H=(P,h,Y)=>{if(P.length===0||Y<=h)return L.length=0,L;if(W.length===0||W.length!==J)return C(P,h,Y);L.length=0;for(let G=0;G<J;G++){let y=W[G],V=y.length;if(!V)continue;let X=0,f=V;while(X<f){let l=X+f>>>1,w=P[y[l]];if(w.y+w.size<=h)X=l+1;else f=l}for(let l=X;l<V;l++){let w=P[y[l]];if(w.y>=Y)break;L.push(w)}}return L},C=(P,h,Y)=>{L.length=0;for(let G of P)if(G.y+G.size>h&&G.y<Y)L.push(G);return L};return{get columns(){return J},get gap(){return $},get containerSize(){return K},update:(P)=>{let h=!1;if(P.columns!==void 0){let Y=Math.max(1,Math.floor(P.columns));if(Y!==J)J=Y,h=!0}if(P.gap!==void 0&&P.gap!==$)$=P.gap,h=!0;if(P.containerSize!==void 0&&P.containerSize!==K)K=P.containerSize,h=!0;if(P.crossOffset!==void 0&&P.crossOffset!==Z)Z=P.crossOffset,h=!0;if(P.mainOffset!==void 0&&P.mainOffset!==j)j=P.mainOffset,h=!0;if(h)_()},calculateLayout:z,getTotalSize:D,getVisibleItems:H}};var A4=(Q,J,$)=>{let K=Array.from(J).sort((U,q)=>U-q);if(K.length<=1)return;let Z=[];for(let U=0;U<K.length;U++){let q=$(K[U]);if(q)Z.push(q)}if(Z.length<=1)return;let j=Q.firstChild;for(let U=0;U<Z.length;U++){let q=Z[U];if(q===j)j=j.nextSibling;else Q.insertBefore(q,j)}};var K6=(Q=200)=>{let J=[];return{acquire:()=>{let j=J.pop();if(j)return j;let U=document.createElement("div");return U.setAttribute("role","option"),U},release:(j)=>{if(j.remove(),J.length<Q)j.className="",j.textContent="",j.removeAttribute("style"),j.removeAttribute("data-index"),j.removeAttribute("data-id"),j.removeAttribute("data-lane"),J.push(j)},clear:()=>{J.length=0}}},U6=1,H4=(Q,J,$,K=!1,Z,j,U,q)=>{let _=K6(),W=new Map,B=new Set,L=0,z="",D=-1,H={selected:!1,focused:!1},C=(c,K2)=>{return H.selected=c,H.focused=K2,H},E=`${$}-item ${$}-masonry-item`,P=`${$}-group-header`,h=`${$}-item--selected`,Y=`${$}-item--focused`,G=(c,K2)=>{if(typeof K2==="string")c.innerHTML=K2;else c.replaceChildren(K2);u2(c)},y=(c,K2,Q2)=>{c.classList.toggle(h,K2),c.classList.toggle(Y,Q2)},V=(c,K2)=>{if(K)c.style.transform=`translate(${Math.round(K2.y)}px, ${Math.round(K2.x)}px)`;else c.style.transform=`translate(${Math.round(K2.x)}px, ${Math.round(K2.y)}px)`},X=(c,K2)=>{if(K)c.style.width=`${K2.size}px`,c.style.height=`${K2.crossSize}px`;else c.style.width=`${K2.crossSize}px`,c.style.height=`${K2.size}px`},f=(c,K2,Q2,d,v)=>{let S=_.acquire(),k=K2.__groupHeader,R=C(d,v);if(S.className=k?P:E,S.dataset.index=String(c),S.dataset.id=String(K2.id),S.dataset.lane=String(Q2.lane),k)S.setAttribute("role","presentation"),S.removeAttribute("aria-selected"),S.removeAttribute("aria-setsize"),S.removeAttribute("aria-posinset"),S.removeAttribute("id");else if(q===!0){if(S.setAttribute("role","option"),S.ariaSelected=String(d),j)S.id=`${j}-item-${c}`;if(Z){let n=Z();if(n!==D)D=n,z=String(n);S.setAttribute("aria-setsize",z);let s=U?U(c):c+1;S.setAttribute("aria-posinset",String(s))}}else if(S.setAttribute("role","listitem"),S.removeAttribute("aria-selected"),Z){let n=Z();if(n!==D)D=n,z=String(n);S.setAttribute("aria-setsize",z);let s=U?U(c):c+1;S.setAttribute("aria-posinset",String(s))}X(S,Q2);let a=J(K2,c,R);return G(S,a),y(S,d,v),V(S,Q2),{element:S,lastItem:K2,lastSelected:d,lastFocused:v,lastY:Q2.y,lastX:Q2.x,lastSize:Q2.size,lastCrossSize:Q2.crossSize,lastSeenFrame:L}},l=(c,K2,Q2,d)=>{L++,B.clear();for(let S=0;S<K2.length;S++)B.add(K2[S].index);let v=null;for(let S=0;S<K2.length;S++){let k=K2[S],R=k.index,a=c(R);if(!a)continue;let n=Q2.has(a.id),s=R===d,F=W.get(R);if(F){let A=F.lastItem!==a,I=F.lastSelected!==n,u=F.lastFocused!==s,M=F.lastY!==k.y||F.lastX!==k.x,T=F.lastSize!==k.size||F.lastCrossSize!==k.crossSize;if(A){let O=C(n,s),m=J(a,R,O);if(G(F.element,m),F.element.dataset.id=String(a.id),F.lastItem=a,!a.__groupHeader){let o=U?U(R):R+1;F.element.setAttribute("aria-posinset",String(o))}}if(A||I||u)y(F.element,n,s),F.element.ariaSelected=String(n),F.lastSelected=n,F.lastFocused=s;if(T)X(F.element,k),F.lastSize=k.size,F.lastCrossSize=k.crossSize;if(M)V(F.element,k),F.lastY=k.y,F.lastX=k.x}else{let A=f(R,a,k,n,s);if(!v)v=document.createDocumentFragment();v.appendChild(A.element),W.set(R,A)}}if(v)Q.appendChild(v);for(let[S,k]of W)if(B.has(S))k.lastSeenFrame=L;else if(L-k.lastSeenFrame>U6)_.release(k.element),W.delete(S)},w=()=>{for(let c of W.values())_.release(c.element);W.clear(),Q.innerHTML=""};return{render:l,getElement:(c)=>W.get(c)?.element,updateItemClasses:(c,K2,Q2)=>{let d=W.get(c);if(!d)return;let v=d.lastSelected!==K2,S=d.lastFocused!==Q2;if(v||S)y(d.element,K2,Q2),d.lastSelected=K2,d.lastFocused=Q2},sortDOM:()=>{A4(Q,W.keys(),(c)=>W.get(c)?.element)},clear:w,destroy:()=>{w(),_.clear()}}};var q6=100,Y6=new Set;function R0(Q){if(!Q.columns||Q.columns<1)throw Error("[vlist] masonry: columns must be >= 1");let J,$=null,K,Z=null,j,U,q,_=[],W=-1,B=-1,L=!0,z=-1,D=0,H=0,C=0,E=0,P={columnWidth:0,columns:0,gap:0,containerWidth:0},h=[],Y=(I)=>h[I],G=null,y=null,V=!1;function X(){if(V||!Z)return;V=!0,G=Z.getMethod("_getSelectedIds")??null,y=Z.getMethod("_getFocusedIndex")??null}let f=[],l=new Int32Array(0),w=[],x=null,r=null,g=null,c=null,K2=!1,Q2=!0;function d(){if(K2||!Z)return;if(x=Z.getMethod("_getItemLane")??null,r=Z.getMethod("_getItemY")??null,g=Z.getMethod("_getItemH")??null,c=Z.getMethod("_isGroupHeader")??null,x||c)K2=!0}function v(){d();let I=J.columns,u=!!x;if(u){let M=K.totalItems;f=Array(I);for(let T=0;T<I;T++)f[T]=[];if(l.length<M)l=new Int32Array(M);for(let T=0;T<M;T++){if(c?.(T))continue;let O=x(T);if(O<0||O>=I)continue;l[T]=f[O].length,f[O].push(T)}}else{let M=_.length;f=Array(I);for(let T=0;T<I;T++)f[T]=[];if(l.length<M)l=new Int32Array(M);for(let T=0;T<M;T++){let O=_[T];l[T]=f[O.lane].length,f[O.lane].push(T)}}w=Array(I);for(let M=0;M<I;M++){let T=f[M],O=new Float64Array(T.length);for(let m=0;m<T.length;m++){let Z2=T[m];if(u&&r&&g){let o=r(Z2),J2=g(Z2);O[m]=o>=0?o+(J2>0?J2*0.5:0):0}else{let o=_[Z2];O[m]=o.y+o.size*0.5}}w[M]=O}}function S(I,u){let M=I.length;if(!M)return-1;let T=0,O=M-1;while(T<O){let m=T+O>>1;if(I[m]<u)T=m+1;else O=m}if(T>0&&Math.abs(I[T-1]-u)<=Math.abs(I[T]-u))return T-1;return T}function k(I,u,M){if(Q2)v(),Q2=!1;let T=!!x,O,m;if(T){if(c?.(I))return I;if(O=x(I),O<0)return I;m=l[I]}else{let t=_[I];if(!t)return I;O=t.lane,m=l[I]}let Z2=J.columns,o=f[O];switch(j?u==="ArrowDown"?"ArrowRight":u==="ArrowUp"?"ArrowLeft":u==="ArrowRight"?"ArrowDown":u==="ArrowLeft"?"ArrowUp":u:u){case"ArrowDown":if(m+1<o.length)return o[m+1];return I;case"ArrowUp":if(m>0)return o[m-1];return I;case"ArrowRight":{if(O>=Z2-1)return I;let t=O+1,U2=f[t];if(!U2.length)return I;let W2=S(w[t],w[O]?.[m]??0);return W2>=0?U2[W2]:I}case"ArrowLeft":{if(O<=0)return I;let t=O-1,U2=f[t];if(!U2.length)return I;let W2=S(w[t],w[O]?.[m]??0);return W2>=0?U2[W2]:I}case"Home":return 0;case"End":{let t=f[Z2-1];return t.length>0?t[t.length-1]:I}case"PageDown":{let t=K.containerSize,U2=T?null:_[I],W2=U2&&U2.size>0?U2.size:150,L2=Math.max(1,Math.floor(t/W2)),p=Math.min(m+L2,o.length-1);return o[p]}case"PageUp":{let t=K.containerSize,U2=T?null:_[I],W2=U2&&U2.size>0?U2.size:150,L2=Math.max(1,Math.floor(t/W2)),p=Math.max(0,m-L2);return o[p]}}return I}let R=null;function a(){if(Q.size)return(I)=>Q.size(I,P);if(R!==null&&typeof R==="function")return(I)=>R(I,P);return(I)=>Z.sizeCache.getSize(I)}function n(){let{columns:I,gap:u}=J;P.containerWidth=J.containerSize,P.columns=I,P.gap=u,P.columnWidth=Math.max(0,(J.containerSize-(I-1)*u)/I)}function s(){if(!Z)return;n();let I=K.totalItems;_=J.calculateLayout(I,a()),z=I,Q2=!0;let u=J.getTotalSize(_)+E;Z.updateContentSize(u)}function F(){if(K.destroyed||!Z||!$)return;if(K.totalItems!==z)s();X();let{scrollPosition:I,containerSize:u}=K;if(!L&&I===W&&u===B)return;if(W=I,B=u,L=!1,u<=0||_.length===0)return;let M=Math.max(0,I-q),T=I+u+q,O=J.getVisibleItems(_,M,T),m=G?.()??Y6,Z2=y?.()??-1;h=Z.getItems(),$.render(Y,O,m,Z2);let o=O.length,J2=o>0?O[0].index:0,t=o>0?O[o-1].index:0;K.prevRangeStart=J2,K.prevRangeEnd=t,K.renderPending=!1;let U2=Math.min(o,K.capacity);K.visibleCount=U2,K.startIndex=J2;for(let W2=0;W2<U2;W2++){let L2=O[W2];K.visibleIndices[W2]=L2.index,K.visibleOffsets[W2]=L2.y,K.visibleSizes[W2]=L2.size}}function A(){if(K.destroyed)return;s(),K.prevRangeStart=-1,K.prevRangeEnd=-1,K.renderPending=!0,L=!0,F()}return{name:"masonry",priority:10,conflicts:["grid","table"],setup(I){if(Z=I,K=I.getState(),R=I.rawSizeSpec,j=I.config.axis.primary==="x",U=I.config.classPrefix,q=I.config.overscan*q6,I.config.reverse)throw Error("[vlist] masonry: cannot be combined with reverse mode");D=I.config.crossAxisPadding,H=I.config.crossPadStart,C=I.config.startPadding,E=I.config.endPadding;let u=K.crossSize-D;J=G4({columns:Q.columns,gap:Q.gap??0,containerSize:u,crossOffset:H,mainOffset:C}),$=H4(I.dom.content,I.template,U,j,()=>K.totalItems),I.dom.root.classList.add(`${U}--masonry`),I.setRenderFn(F,A),s(),I.registerMethod("getMasonryLayout",()=>J),I.registerMethod("updateMasonry",(M)=>{if(M.columns!==void 0&&M.columns<1)throw Error("[vlist] updateMasonry: columns must be >= 1");if(M.gap!==void 0&&M.gap<0)throw Error("[vlist] updateMasonry: gap must be >= 0");let T={};if(M.columns!==void 0)T.columns=M.columns;if(M.gap!==void 0)T.gap=M.gap;J.update(T),$?.clear(),A()}),I.registerMethod("scrollToIndex",(M,T="start")=>{let O=_[M];if(!O)return;let m=typeof T==="string"?T:T.align??"start",Z2=typeof T==="object"?T.behavior:void 0,o=typeof T==="object"?T.duration:void 0,J2=K.containerSize,t=J.getTotalSize(_)+E,U2=Math.max(0,t-J2),W2=O.y;if(m==="center")W2=O.y-J2/2+O.size/2;else if(m==="end"){if(W2=O.y-J2+O.size,M>=K.totalItems-1&&O.y+O.size>U2)W2=U2}if(W2=Math.max(0,Math.min(W2,U2)),Z2==="smooth"&&o&&o>0)I.smoothScrollTo(W2,o);else I.scrollTo(W2)}),I.registerMethod("_scrollItemIntoView",(M)=>{let T=_[M];if(!T)return;let{scrollPosition:O,containerSize:m}=K,Z2=J.getTotalSize(_)+E,o=Math.max(0,Z2-m),J2=T.y,t=J2+T.size;if(J2-C<O)I.scrollTo(Math.max(0,J2-C));else if(t+E>O+m){let U2=f[J.columns-1];if(U2&&U2.length>0&&M===U2[U2.length-1]&&J2>=o)I.scrollTo(o);else I.scrollTo(Math.min(t+E-m,o))}}),I.setNavConfig({total:()=>K.totalItems,navigate:k}),I.registerDestroyHandler(()=>{$?.destroy(),$=null,I.dom.root.classList.remove(`${U}--masonry`)})},hooks:{onResize(I,u){if(!J||!Z)return;let M=K.crossSize-D;if(Math.abs(M-J.containerSize)<1)return;J.update({containerSize:M}),$?.clear(),A()},onIdle(){$?.sortDOM()}},destroy(){$?.destroy(),$=null,_=[],Z=null}}}var O4=(Q={})=>{let{chunkSize:J=100,maxCachedItems:$=5000,evictionBuffer:K=200,onEvict:Z}=Q,j=new Map,U=0,q=0,_=(d)=>{let v=j.get(d);if(!v)v={items:Array(J),count:0,lastAccess:Date.now()},j.set(d,v);else v.lastAccess=Date.now();return v},W=(d)=>{return Math.floor(d/J)},B=(d)=>{return d%J},L=()=>U,z=(d)=>{U=d},D=(d)=>{if(d<0||d>=U)return;let v=W(d),S=j.get(v);if(!S)return;return S.items[B(d)]},H=(d)=>{if(d<0||d>=U)return!1;let v=W(d),S=j.get(v);if(!S)return!1;return S.items[B(d)]!==void 0},C=(d,v)=>{let S=W(d),k=_(S),R=B(d),a=k.items[R]===void 0;if(k.items[R]=v,a)k.count++,q++;if(d>=U)U=d+1},E=(d,v)=>{for(let S=0;S<v.length;S++){let k=v[S];if(k!==void 0)C(d+S,k)}},P=(d,v)=>{if(d<0||d>U)return;let S=W(d),k=Array.from(j.keys()).filter((F)=>F>=S).sort((F,A)=>F-A),R=[];for(let F of k){let A=j.get(F),I=F*J;for(let u=0;u<J;u++){if(A.items[u]===void 0)continue;let M=I+u;if(M<d)continue;R.push({oldIndex:M,item:A.items[u]})}}for(let{oldIndex:F}of R){let A=W(F),I=j.get(A);if(!I)continue;let u=B(F);if(I.items[u]!==void 0){if(I.items[u]=void 0,I.count--,q--,I.count===0)j.delete(A)}}U++;for(let{oldIndex:F,item:A}of R){let I=F+1,u=W(I),M=_(u),T=B(I);M.items[T]=A,M.count++,q++}let a=W(d),n=_(a),s=B(d);n.items[s]=v,n.count++,q++},h=(d)=>{if(d<0||d>=U)return!1;let v=W(d),S=j.get(v),k=B(d);if(!(S!==void 0&&S.items[k]!==void 0))return!1;let a=v,n=Array.from(j.keys()).filter((F)=>F>=a).sort((F,A)=>F-A),s=[];for(let F of n){let A=j.get(F),I=F*J;for(let u=0;u<J;u++){if(A.items[u]===void 0)continue;let M=I+u;if(M<=d)continue;s.push({oldIndex:M,item:A.items[u]})}}if(S.items[k]=void 0,S.count--,q--,S.count===0)j.delete(v);for(let{oldIndex:F}of s){let A=W(F),I=j.get(A);if(!I)continue;let u=B(F);if(I.items[u]!==void 0){if(I.items[u]=void 0,I.count--,q--,I.count===0)j.delete(A)}}for(let{oldIndex:F,item:A}of s){let I=F-1,u=W(I),M=_(u),T=B(I);M.items[T]=A,M.count++,q++}return U--,!0},Y=(d,v)=>{let S=[];for(let k=d;k<=v&&k<U;k++)S.push(D(k));return S},G=(d,v)=>{for(let S=d;S<=v&&S<U;S++)if(!H(S))return!1;return!0},y=()=>{let d=[],v=null,S=Array.from(j.keys()).sort((k,R)=>k-R);for(let k of S){let R=j.get(k);if(!R)continue;let a=k*J;for(let n=0;n<J;n++){let s=a+n;if(s>=U)break;if(R.items[n]!==void 0)if(v===null)v={start:s,end:s};else if(s===v.end+1)v.end=s;else d.push(v),v={start:s,end:s};else if(v!==null)d.push(v),v=null}}if(v!==null)d.push(v);return d},V=(d,v)=>{let S=[],k=null;for(let R=d;R<=v&&R<U;R++)if(!H(R))if(k===null)k={start:R,end:R};else k.end=R;else if(k!==null)S.push(k),k=null;if(k!==null)S.push(k);return S},X=(d)=>{return j.has(d)},f=(d)=>{let v=j.get(d);if(!v)return!1;let S=d*J,k=Math.min(J,U-S);return v.count>=k},l=(d)=>{let v=j.get(d);if(v)v.lastAccess=Date.now()},w=(d,v)=>{if(d>v||j.size===0)return;let S=Date.now(),k=W(Math.max(0,d)),R=W(Math.min(U-1,v));for(let a=k;a<=R;a++){let n=j.get(a);if(n)n.lastAccess=S}},x=(d,v)=>{if(q<=$)return 0;let S=Math.max(0,d-K),k=Math.min(U-1,v+K),R=W(S),a=W(k),n=0,s=[];for(let[F,A]of j)if(F<R||F>a)n+=A.count,s.push(F),q-=A.count,j.delete(F);if(n>0&&Z)Z(n,s);return n},r=()=>{if(q<=$)return 0;let d=Array.from(j.entries()).sort(([,k],[,R])=>k.lastAccess-R.lastAccess),v=0,S=[];for(let[k,R]of d){if(q<=$)break;v+=R.count,q-=R.count,S.push(k),j.delete(k)}if(v>0&&Z)Z(v,S);return v},g=()=>{return{totalItems:U,cachedItems:q,cachedChunks:j.size,chunkSize:J,maxCachedItems:$,memoryEfficiency:U>0?1-q/U:1}},c=()=>q,K2=()=>{j.clear(),q=0};return{chunkSize:J,maxCachedItems:$,getTotal:L,setTotal:z,get:D,has:H,set:C,setRange:E,insert:P,delete:h,getRange:Y,isRangeLoaded:G,getLoadedRanges:y,findUnloadedRanges:V,getChunkIndex:W,isChunkLoaded:X,isChunkFullyLoaded:f,touchChunk:l,touchChunksForRange:w,evictDistant:x,evictToLimit:r,getStats:g,getCachedCount:c,clear:K2,reset:()=>{K2(),U=0}}};var L4=(Q={})=>{let{maskCharacter:J=l0,maxSampleSize:$=r0}=Q,K=[],Z=!1,j=(B)=>{if(Z||B.length===0)return;let L=Math.min(B.length,$);for(let z=0;z<L;z++){let D=B[z];if(!D||typeof D!=="object")continue;let H={},C=!1;for(let[E,P]of Object.entries(D)){if(E.startsWith("_")||E==="id")continue;H[E]=String(P??"").length,C=!0}if(C)K.push(H)}Z=!0},U=()=>Z,q=(B)=>{let L={id:`${f2}${B}`,[V0]:!0,_index:B};if(K.length===0)return L.label=J.repeat(12),L;let z=K[B%K.length];for(let[D,H]of Object.entries(z))L[D]=J.repeat(Math.max(1,H));return L};return{analyzeStructure:j,hasAnalyzedStructure:U,generate:q,generateRange:(B,L)=>{let z=[];for(let D=B;D<=L;D++)z.push(q(D));return z},clear:()=>{K=[],Z=!1}}},q0=(Q)=>{if(!Q||typeof Q!=="object")return!1;return Q[V0]===!0};var B6=50,F4=(Q={})=>{let{adapter:J,initialItems:$,initialTotal:K,storage:Z,placeholder:j,pageSize:U=B6,maxConcurrent:q=0,onStateChange:_,onDataChange:W,onItemsLoaded:B,onItemsEvicted:L,onLoadError:z}=Q,D=O4({...Z,onEvict:(j2,i)=>{L?.(j2),x(),w()}}),H=null,C=()=>{if(!H)H=L4(j);return H},E=new Map,P=!1,h,Y=!0,G,y,V=[],X=0,f=new Map,l=()=>{for(let j2 of f.values())j2[1].abort();f.clear()},w=()=>{_?.(k())},x=()=>{W?.()},r=()=>{E.clear();let j2=D.getLoadedRanges();for(let i of j2)for(let Y2=i.start;Y2<=i.end;Y2++){let M2=D.get(Y2);if(M2&&!q0(M2))E.set(M2.id,Y2)}},g=(j2,i)=>{if(!q0(i))E.set(i.id,j2)},c=(j2)=>{E.delete(j2)},K2=(j2,i)=>{return`${j2}-${i}`},Q2=()=>D.getTotal(),d=()=>D.getCachedCount(),v=()=>P,S=()=>Y,k=()=>({total:D.getTotal(),cached:D.getCachedCount(),isLoading:P,pendingRanges:V,error:h,hasMore:Y,cursor:G}),R=()=>D,a=()=>C(),n=(j2)=>{let i=D.get(j2);if(i!==void 0)return i;if(j2>=0&&j2<D.getTotal())return C().generate(j2);return},s=(j2)=>{let i=E.get(j2);if(i===void 0)return;return D.get(i)},F=(j2)=>{return E.get(j2)??-1},A=(j2)=>{let i=D.get(j2);return i!==void 0&&!q0(i)},I=(j2,i)=>{let Y2=[],M2=D.getTotal();D.touchChunksForRange(j2,Math.min(i,M2-1));for(let _2=j2;_2<=i&&_2<M2;_2++){let B2=D.get(_2);if(B2!==void 0)Y2.push(B2);else Y2.push(C().generate(_2))}return Y2},u=(j2)=>{D.setTotal(j2),Y=D.getCachedCount()<j2,x(),w()},M=(j2,i=0,Y2)=>{if(J&&j2.length>0){let M2=C();if(!M2.hasAnalyzedStructure())M2.analyzeStructure(j2)}for(let M2=0;M2<j2.length;M2++){let _2=j2[M2];if(_2!==void 0){let B2=i+M2;D.set(B2,_2),g(B2,_2)}}if(Y2!==void 0)D.setTotal(Y2);else if(i+j2.length>D.getTotal())D.setTotal(i+j2.length);if(D.getCachedCount()>=D.getTotal()&&D.getTotal()>0)Y=!1;x(),w(),B?.(j2,i,D.getTotal())},T=(j2,i)=>{let Y2=D.get(j2);if(!Y2)return!1;let M2=Y2.id,_2={...Y2,...i};if(D.set(j2,_2),i.id!==void 0&&i.id!==M2)c(M2);return g(j2,_2),x(),w(),!0},O=(j2,i)=>{D.insert(i,j2),r(),l(),x(),w()},m=(j2)=>{let i=E.get(j2);if(i===void 0)return!1;if(!D.delete(i))return!1;return r(),l(),x(),w(),!0},Z2=async(j2,i)=>{if(!J)return;let Y2=D.chunkSize,M2=Math.floor(j2/Y2),_2=Math.floor(i/Y2),B2=Y2*2;for(let[b2,k2]of f){let z2=b2.indexOf("-"),G2=parseInt(b2.slice(0,z2),10);if(Math.abs(G2-j2)>B2)k2[1].abort(),f.delete(b2)}let R2=[],P2=[];for(let b2=M2;b2<=_2;b2++){let k2=b2*Y2,z2=k2+Y2-1,G2=K2(k2,z2);if(D.isChunkFullyLoaded(b2))continue;let D2=f.get(G2);if(D2)P2.push(D2[0]);else R2.push({start:k2,end:z2})}if(R2.length===0){if(P2.length>0)await Promise.all(P2);return}if(q>0){let b2=f.size+R2.length;if(b2>q){let k2=(j2+i)/2,z2=Math.min(b2-q,f.size);while(z2>0){let H2=null,D2=-1,F2=null;for(let[b,X2]of f){let O2=b.indexOf("-"),T2=parseInt(b.slice(0,O2),10),w2=parseInt(b.slice(O2+1),10),N2=Math.abs((T2+w2)/2-k2);if(N2>D2)D2=N2,H2=b,F2=X2[1]}if(H2)F2.abort(),f.delete(H2);z2--}let G2=q-f.size;if(R2.length>G2)R2.sort((H2,D2)=>{let F2=Math.abs((H2.start+H2.end)/2-k2),b=Math.abs((D2.start+D2.end)/2-k2);return F2-b}),R2.length=Math.max(0,G2)}}if(R2.length===0){if(P2.length>0)await Promise.all(P2);return}for(let b2 of R2){let k2=K2(b2.start,b2.end),z2=new AbortController,G2=(async()=>{V.push(b2),P=!0,h=void 0,w();try{let H2=b2.end-b2.start+1,D2={offset:b2.start,limit:H2,cursor:b2.start===y?G:void 0,signal:z2.signal},F2=await J.read(D2);if(M(F2.items,b2.start,F2.total),F2.cursor)G=F2.cursor,y=b2.start+F2.items.length;let b=b2.start+F2.items.length;if(b>=X){if(X=b,F2.hasMore!==void 0)Y=F2.hasMore;else if(F2.total!==void 0)Y=b<F2.total}}catch(H2){if(H2?.name==="AbortError")return;h=H2 instanceof Error?H2:Error(String(H2)),z?.(h,b2)}finally{f.delete(k2);let H2=V.findIndex((D2)=>D2.start===b2.start&&D2.end===b2.end);if(H2>=0)V.splice(H2,1);P=f.size>0,w()}})();f.set(k2,[G2,z2]),P2.push(G2)}await Promise.all(P2)},o=async(j2,i)=>{if(D.isRangeLoaded(j2,i))return;await Z2(j2,i)},J2=async()=>{if(!J)return;await Z2(0,U-1)},t=async()=>{if(!J||P||!Y)return!1;let j2=D.getCachedCount(),i=D.getTotal(),Y2=j2,M2=Math.min(Y2+U-1,i>0?i-1:Y2+U-1);if(Y2>=i&&i>0)return Y=!1,!1;return await Z2(Y2,M2),D.getCachedCount()>j2},U2=async()=>{if(D.clear(),E.clear(),H)H.clear();l(),V=[],P=!1,G=void 0,y=void 0,Y=!0,X=0,h=void 0,x(),w()},W2=(j2,i)=>{if(D.evictDistant(j2,i)>0)r()},L2=()=>{D.clear(),E.clear(),G=void 0,y=void 0,h=void 0,V=[],P=!1,x(),w()},p=()=>{if(D.reset(),E.clear(),H)H.clear();G=void 0,y=void 0,Y=!0,X=0,h=void 0,V=[],P=!1,x(),w()};if($&&$.length>0)M($,0,K??$.length);else if(K!==void 0)D.setTotal(K),x(),w();return{getState:k,getTotal:Q2,getCached:d,getIsLoading:v,getHasMore:S,getStorage:R,getPlaceholders:a,getItem:n,getItemById:s,getIndexById:F,isItemLoaded:A,getItemsInRange:I,setTotal:u,setItems:M,updateItem:T,insertItem:O,removeItem:m,loadRange:Z2,ensureRange:o,loadInitial:J2,loadMore:t,reload:U2,evictDistant:W2,clear:L2,reset:p}};function T0(Q){let{adapter:J,total:$,autoLoad:K=!0,storage:Z}=Q,j=Q.loading?.cancelThreshold??m0,U=Q.loading?.preloadThreshold??x0,q=Q.loading?.preloadAhead??g0,_=Q.loading?.maxConcurrent??c0,W,B,L,z,D,H,C=null,E=null,P=null,h=0,Y=!1,G=null,y=B0,V=-1,X=-1,f=-1,l=-1,w=Z?.chunkSize??t2,x=()=>{if(C=null,E!==null)clearTimeout(E),E=null},r=(k,R)=>{return W.ensureRange(k,R)},g=(k,R=t2)=>{z.emit("load:start",{offset:k,limit:R})},c=(k)=>{z.emit("error",{error:k,context:"ensureRange"})},K2=()=>{if(!C)return;C=null;let k={start:B.startIndex,end:B.startIndex+Math.max(0,B.visibleCount-1)};if(k.end<k.start)return;r(k.start,k.end).catch(c)},Q2=()=>{if(G!==null)clearTimeout(G),G=null},d=()=>{if(B.destroyed)return;let k=W.getTotal();if(B.visibleCount<=0||B.startIndex>=k)return;let R=Math.min(B.startIndex+B.visibleCount-1,k-1);if(R<B.startIndex)return;r(B.startIndex,R).catch(c)},v=()=>{if(G!==null||B.destroyed)return;G=setTimeout(()=>{G=null,d()},y),y=Math.min(y*2,d0)},S=()=>{Q2(),y=B0};return{name:"data",priority:20,setup(k){B=k.getState(),L=k.sizeCache,z=k.emitter,D=k.dom,H=k.forceRender.bind(k);let R=null;k.setVirtualTotalFn(()=>R?.getTotal()??0),k.setGetIndexByIdFn((n)=>R?.getIndexById(n)??-1),W=R=F4({adapter:J,...$!==void 0&&{initialTotal:$},pageSize:Z?.chunkSize??t2,maxConcurrent:_,...Z&&{storage:{...Z.chunkSize!==void 0&&{chunkSize:Z.chunkSize},...Z.maxCachedItems!==void 0&&{maxCachedItems:Z.maxCachedItems},...Z.evictionBuffer!==void 0&&{evictionBuffer:Z.evictionBuffer}}},onDataChange:()=>{if(B.initialized){let n=W.getTotal(),s=W.getCached();if(B.totalItems=n,n!==V||s!==X)V=n,X=s,L.rebuild(n);k.updateContentSize(L.getTotalSize()),k.renderIfNeeded()}},onItemsLoaded:(n)=>{if(S(),B.initialized)k.updateContentSize(L.getTotalSize()),H(),z.emit("load:end",{items:n,total:W.getTotal()})},onLoadError:(n)=>{if(z.emit("error",{error:n,context:"load"}),B.initialized)k.renderIfNeeded();v()}}),k.setGetItemFn((n)=>W.getItem(n)),k.setRemoveItemFn((n)=>{let s=W.getIndexById(n);if(s<0)return-1;if(!W.removeItem(n))return-1;return s}),k.setInsertItemFn((n,s)=>{W.insertItem(n,s)}),k.setUpdateItemFn((n,s)=>{let F=W.getIndexById(n);if(F<0)return!1;return W.updateItem(F,s)}),k.registerMethod("reload",async()=>{if(C=null,f=-1,l=-1,S(),k.forceRender(),await W.reload(),k.scrollTo(0),K)g(0),await W.loadInitial(),k.forceRender()}),k.registerMethod("loadVisibleRange",async()=>{C=null,k.forceRender();let n=W.getTotal();if(B.visibleCount>0&&B.startIndex<n){let s=Math.min(B.startIndex+B.visibleCount-1,n-1);g(B.startIndex,s-B.startIndex+1),await r(B.startIndex,s)}}),k.registerMethod("loadInitial",async()=>{g(0),await W.loadInitial(),k.forceRender()}),k.registerMethod("getTotal",()=>{return W.getTotal()}),k.registerMethod("setTotal",(n)=>{W.setTotal(n)}),k.registerMethod("_getTotal",()=>W.getTotal()),k.registerMethod("_setTotal",(n)=>{W.setTotal(n)}),k.registerMethod("_cancelAutoLoad",()=>{Y=!0}),k.registerMethod("_getLoadedItem",(n)=>{return W.getStorage().get(n)}),k.registerMethod("_getItem",(n)=>{return W.getItem(n)}),k.registerMethod("_getLoadedCount",()=>W.getCached()),z.on("load:start",()=>{D.root.setAttribute("aria-busy","true")}),z.on("load:end",()=>{D.root.removeAttribute("aria-busy")}),k.registerDestroyHandler(()=>{if(P!==null)clearTimeout(P),P=null;x(),Q2()}),z.on("velocity:change",({velocity:n})=>{h=Math.abs(n)});let a=()=>{if(B.destroyed)return;S(),d(),K2()};if(window.addEventListener("online",a),k.registerDestroyHandler(()=>{window.removeEventListener("online",a)}),K)queueMicrotask(()=>{if(Y)return;g(0),W.loadInitial().catch((n)=>{z.emit("error",{error:n,context:"loadInitial"})})});else if($!==void 0)W.setTotal($)},hooks:{onAfterScroll(){if(B.destroyed)return;let k=B.startIndex+Math.max(0,B.visibleCount-1);if(h>j){if(E!==null)clearTimeout(E),E=null;C={start:B.startIndex,end:k};return}if(h>U){let n=Math.floor(B.startIndex/w),s=Math.floor(k/w);if(n!==f||s!==l){if(f=n,l=s,k>=B.startIndex)r(B.startIndex,k).catch(c)}let F=B.startIndex,A=k,I=B.scrollDirection;if(I>0)A=Math.min(A+q,W.getTotal()-1);else if(I<0)F=Math.max(0,F-q);if(C={start:F,end:A},E!==null)clearTimeout(E);E=setTimeout(()=>{if(E=null,B.destroyed||!C)return;let{start:u,end:M}=C;if(C=null,M>=u)r(u,M).catch(c)},100);return}x();let R=Math.floor(B.startIndex/w),a=Math.floor(k/w);if(R!==f||a!==l){if(f=R,l=a,k>=B.startIndex)r(B.startIndex,k).catch(c)}},onIdle(){if(B.destroyed)return;h=0,f=-1,l=-1,K2(),x()},onResize(){if(B.destroyed)return;let k=W.getTotal();if(k<=0)return;if(B.visibleCount<=0||B.startIndex>=k)return;let R=Math.min(B.startIndex+B.visibleCount-1,k-1);if(R<B.startIndex)return;g(B.startIndex,R-B.startIndex+1),r(B.startIndex,R).catch(c)}},destroy(){if(P!==null)clearTimeout(P);x(),Q2()}}}var b0=(Q,J)=>{let $=0,K=Q.length-1;while($<K){let Z=$+K+1>>>1;if(Q[Z].headerLayoutIndex<=J)$=Z;else K=Z-1}return $},E4=(Q,J)=>{let $=0,K=Q.length-1;while($<K){let Z=$+K+1>>>1;if(Q[Z].firstDataIndex<=J)$=Z;else K=Z-1}return $},R4=(Q,J,$)=>{if(Q===0)return[];let K=[],Z=null,j=0,U=0;for(let q=0;q<Q;q++){let _=$?.(q);if(!_)continue;let W=J(q,_);if(Z===null)Z=W,j=0;else if(W!==Z){let B=q-j;K.push({key:Z,groupIndex:K.length,headerLayoutIndex:U,firstDataIndex:j,count:B}),U=U+1+B,Z=W,j=q}}if(Z!==null)K.push({key:Z,groupIndex:K.length,headerLayoutIndex:U,firstDataIndex:j,count:Q-j});return K};var T4=(Q,J,$)=>{let K=R4(Q,J.getGroupForIndex,$),Z=Q+K.length,j=J.header?.height??J.header?.width??J.headerHeight;return{get totalEntries(){return Z},get groupCount(){return K.length},get groups(){return K},getEntry:(D)=>{if(K.length===0)return{type:"item",dataIndex:D,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let H=b0(K,D),C=K[H];if(D===C.headerLayoutIndex)return{type:"header",group:C};let E=D-C.headerLayoutIndex-1;return{type:"item",dataIndex:C.firstDataIndex+E,group:C}},layoutToDataIndex:(D)=>{if(K.length===0)return D;let H=b0(K,D),C=K[H];if(D===C.headerLayoutIndex)return-1;let E=D-C.headerLayoutIndex-1;return C.firstDataIndex+E},dataToLayoutIndex:(D)=>{if(K.length===0)return D;let H=E4(K,D),C=K[H],E=D-C.firstDataIndex;return C.headerLayoutIndex+1+E},getGroupAtLayoutIndex:(D)=>{if(K.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let H=b0(K,D);return K[H]},getGroupAtDataIndex:(D)=>{if(K.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let H=E4(K,D);return K[H]},getHeaderHeight:typeof j==="number"?(D)=>j:(D)=>{let H=K[D];if(!H)return 0;return j(H.key,D)},rebuild:(D,H)=>{K=R4(D,J.getGroupForIndex,H??$),Z=D+K.length}}};var k0=(Q,J,$,K,Z=0)=>{let j=$?"width":"height",U=document.createElement("div");return U.className=`${J}-sticky-header`,U.setAttribute("role","presentation"),U.setAttribute("aria-hidden","true"),U.style.cssText="z-index:5;pointer-events:none;overflow:hidden;"+($?`position:absolute;top:0;bottom:0;left:${Z||0}px`:`position:relative;top:${Z||0}px`),U.style[j]=`${K}px`,Q.insertBefore(U,Q.firstChild),U},b4=(Q,J,$,K,Z,j=!1,U=0,q,_,W)=>{let B=j?"width":"height",L=j?"height":"width",z=j?"X":"Y",D=(T,O)=>{T.style[B]=`${O}px`},H=_??k0(Q,Z,j,0,U),C=()=>{let T=document.createElement("div");return T.className="sticky-group",T.style.position="absolute",T.style.willChange="transform",T.style[L]="100%",T},E=C(),P=C();H.append(E,P);let h=E,Y=P,G=J.groups,y=[],V=[],X=[],f=0,l=()=>{G=J.groups,f=G.length,y=Array(f),V=Array(f),X=Array(f);let T=q?q():1;for(let O=0;O<f;O++)y[O]=(W?W(G[O].headerLayoutIndex):$.getOffset(G[O].headerLayoutIndex))*T,V[O]=J.getHeaderHeight(O),X[O]=V[O]*T};l();let w=-1,x=0,r=0,g=-1,c=!1,K2=0,Q2=!1,d=(T,O)=>{K(T,O);let m=V[O];return D(T,m),m},v=(T)=>{T.replaceChildren(),T.style.transform=""},S=(T)=>{if(T===w)return;if(w=T,x=0,r=0,T<0||T>=f){v(h);return}x=d(h,T),r=X[T],D(H,x),h.style.transform=""},k=(T)=>{if(T===K2)return;K2=T;let O=Math.round(T);h.style.transform=`translate${z}(${O}px)`,Y.style.transform=`translate${z}(${O+x}px)`},R=()=>{K2=0,h.style.transform="",Y.style.transform=""},a=()=>{if(!Q2)return;let T=h;h=Y,Y=T,w=g,x=w>=0?V[w]:0,r=w>=0?X[w]:0,D(H,x),v(Y),g=-1,Q2=!1,R()},n=()=>{if(!Q2)return;v(Y),g=-1,Q2=!1,R()},s=!!_,F=()=>{if(c)return;if(c=!0,s)H.style.visibility="";else H.style.display=""},A=()=>{if(!c)return;if(c=!1,s)H.style.visibility="hidden";else H.style.display="none";v(h),w=-1,x=0,r=0,n()},I=(T)=>{if(f===0){if(Q2)n();if(!c)F();S(-1);return}if(T<y[0]){A();return}let O=0,m=f-1;while(O<m){let o=O+m+1>>>1;if(y[o]+X[o]<=T)O=o;else m=o-1}if(!c)F();S(O);let Z2=O+1;if(Z2<f){let o=y[Z2]-T;if(o<=0&&o>-r){if(g!==Z2||!Q2)g=Z2,d(Y,Z2),Q2=!0;let J2=r>0?o/r*x:o;k(J2)}else if(o<=-r){if(Q2)a()}else if(Q2)n()}else if(Q2)n()},u=()=>{l();let T=w;if(w=-1,x=0,r=0,T>=0)S(T)},M=()=>{H.remove(),w=-1,x=0,r=0,g=-1,c=!1,Q2=!1};if(!_)H.style.display="none";return{update:I,refresh:u,show:F,hide:A,destroy:M}};var d2={selected:!1,focused:!1},k4=typeof process<"u"&&process.env?.NODE_ENV!=="production";function z0(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 $=Q.header?.template??Q.headerTemplate;if(!$)throw Error("[vlist] groups: header.template is required");let K=$,Z,j=null,U,q,_,W,B,L,z,D=null,H,C,E,P=null,h,Y,G=null,y=null,V=0,X=0,f=0,l=0,w=0,x=!1,r=null,g=new Map,c=new Set,K2=new Map,Q2=-1,d=-1,v=!0,S=-1,k=0,R=null,a;function n(){return Z.totalEntries}function s(){let p=q.totalItems;if(p===S)return;if(k4)console.log(`[groups] syncLayout: ${S} → ${p}`);let j2=S>0;S=p,Z.rebuild(p,D??z),a(Z.totalEntries),M();let i=A?T():U.getTotalSize();if(W.style[H?"width":"height"]=i+w+"px",j)j.refresh(),j.update(q.scrollPosition);if(j2)Z2();let Y2=G?.("_scrollbar:getInstance");if(Y2)Y2()?.updateBounds(i,q.containerSize)}let F=0,A=null,I=null,u=null;function M(){if(V<=0){A=null,I=null;return}F=((q.crossSize||W.clientWidth)-l-(V-1)*X)/V,A=new Map;let i=Z.totalEntries,Y2=Array(i),M2=0;if(x){let _2=r??((k2)=>U.getSize(k2)),B2=new Float64Array(V),R2=[],P2=0,b2=-1;for(let k2=0;k2<i;k2++){let z2=Z.getEntry(k2);if(z2.type==="header"){let G2=0;for(let D2=0;D2<V;D2++)if(B2[D2]>G2)G2=B2[D2];if(b2>=0)R2[b2]=P2+G2;P2+=G2;let H2=U.getSize(k2);A.set(k2,{col:-1,rowY:P2}),Y2[M2++]=[k2,P2,P2+H2],P2+=H2,B2.fill(0),b2=z2.group.groupIndex}else{let G2=0,H2=B2[0];for(let b=1;b<V;b++)if(B2[b]<H2)H2=B2[b],G2=b;let D2=_2(z2.dataIndex),F2=P2+B2[G2];A.set(k2,{col:G2,rowY:F2,h:D2}),Y2[M2++]=[k2,F2,F2+D2],B2[G2]=B2[G2]+D2+X}}if(b2>=0){let k2=0;for(let z2=0;z2<V;z2++)if(B2[z2]>k2)k2=B2[z2];R2[b2]=P2+k2}u=R2}else{u=null;let _2=0,B2=0,R2=0;for(let P2=0;P2<i;P2++)if(Z.getEntry(P2).type==="header"){if(B2>0&&R2>0)_2+=R2;let k2=U.getSize(P2);A.set(P2,{col:-1,rowY:_2}),Y2[M2++]=[P2,_2,_2+k2],_2+=k2,B2=0,R2=0}else{let k2=B2%V,z2=U.getSize(P2);if(k2===0){if(B2>0&&R2>0)_2+=R2+X;R2=z2}else if(z2>R2)R2=z2;A.set(P2,{col:k2,rowY:_2}),Y2[M2++]=[P2,_2,_2+z2],B2++}}Y2.length=M2,I=Y2}function T(){if(!A||A.size===0)return U.getTotalSize();let p=Z.totalEntries;if(x)return u?.[u.length-1]??0;let j2=0;for(let i=p-1;i>=0;i--){let Y2=A.get(i);if(Y2){j2=Y2.rowY+(Y2.h??U.getSize(i));break}if(Z.getEntry(i).type==="header"){j2=U.getOffset(i)+U.getSize(i);break}}return j2}function O(p){if(A){let i=A.get(p);if(i){let Y2=i.col<0?0:f+i.col*(F+X),M2=i.rowY;if(H)return`translate(${Math.round(M2)}px, ${Math.round(Y2)}px)`;return`translate(${Math.round(Y2)}px, ${Math.round(M2)}px)`}}let j2=U.getOffset(p);if(H)return`translate(${Math.round(j2)}px, 0)`;return`translate(0, ${Math.round(j2)}px)`}function m(p,j2){let i=A?.get(j2);if(i){let M2=i.h??U.getSize(j2);if(i.col<0)if(H)p.style.width=`${M2}px`,p.style.height="";else p.style.height=`${M2}px`,p.style.width="100%";else if(H)p.style.width=`${M2}px`,p.style.height=`${F}px`;else p.style.height=`${M2}px`,p.style.width=`${F}px`;return}let Y2=U.getSize(j2);if(H)p.style.width=`${Y2}px`;else p.style.height=`${Y2}px`}function Z2(){g.forEach((p)=>{p.remove();let j2=p.getAttribute("data-id");if(j2)K2.set(j2,p);else _.release(p)}),g.clear(),c.clear()}function o(){if(K2.size>0)K2.forEach((p)=>_.release(p)),K2.clear()}function J2(p,j2,i,Y2){if(y===null)y=!!G?.("_getSelectedIds");if(j2.type==="header"){let b2=`__group_header_${j2.group.groupIndex}`;if(p.getAttribute("data-id")===b2)return!0;if(p.className=Y,p.setAttribute("role","presentation"),p.removeAttribute("aria-selected"),p.setAttribute("data-id",b2),H&&j&&j2.group.groupIndex===0)p.style.display="none";else{p.style.display="";let k2=K(j2.group.key,j2.group.groupIndex);if(typeof k2==="string")p.innerHTML=k2;else p.innerHTML="",p.appendChild(k2)}return!0}let M2=j2.dataIndex,_2=z(M2);if(!_2)return p.innerHTML="",!1;let B2=_2._isPlaceholder===!0,R2=String(_2.id);if(!B2&&p.getAttribute("data-id")===R2){if(y)p.id=`${C}-item-${Y2}`,p.setAttribute("aria-posinset",String(M2+1)),p.setAttribute("aria-setsize",String(q.totalItems));return!0}if(p.className=h,p.setAttribute("role",y?"option":"listitem"),p.setAttribute("data-id",R2),y)p.id=`${C}-item-${Y2}`,p.setAttribute("aria-posinset",String(M2+1)),p.setAttribute("aria-setsize",String(q.totalItems));if(B2)p.classList.add(`${C}-item--placeholder`);if(i)i(Y2,d2);else d2.selected=!1,d2.focused=!1;let P2=L(_2,M2,d2);if(typeof P2==="string")p.innerHTML=P2;else p.innerHTML="",p.appendChild(P2);return u2(p),!B2}let t=0;function U2(){if(V<=0)return;let p=q.crossSize;if(p===t)return;t=p,M();let j2=T();if(W.style[H?"width":"height"]=j2+w+"px",j)j.refresh(),j.update(q.scrollPosition);v=!0}function W2(){if(q.destroyed)return;s(),U2();let{scrollPosition:p,containerSize:j2}=q;if(!v&&p===Q2&&j2===d)return;Q2=p,d=j2;let i=v;v=!1;let Y2=n();if(j2<=0||Y2===0){if(g.size>0)g.forEach((D2)=>{D2.remove(),_.release(D2)}),g.clear(),c.clear();return}let M2,_2;if(I){let D2=I,F2=D2.length,b=0,X2=F2-1;while(b<X2){let $2=b+X2>>>1;if(D2[$2][2]<=p)b=$2+1;else X2=$2}let O2=b;X2=F2-1;while(b<X2){let $2=b+X2+1>>>1;if(D2[$2][1]>=p+j2)X2=$2-1;else b=$2}let T2=b,w2=D2[O2][0],N2=D2[T2][0];for(let $2=w2-1;$2>=0;$2--)if(Z.getEntry($2).type==="header"){w2=$2;break}let N=E*V;M2=Math.max(0,w2-N),_2=Math.min(Y2-1,N2+N)}else{let D2=U.indexAtOffset(p),F2=U.indexAtOffset(p+j2);if(F2<Y2-1)F2++;D2=Math.max(0,D2),F2=Math.min(Y2-1,Math.max(0,F2)),M2=Math.max(0,D2-E),_2=Math.min(Y2-1,F2+E)}if(M2===q.prevRangeStart&&_2===q.prevRangeEnd&&!q.renderPending)return;g.forEach((D2,F2)=>{if(F2<M2||F2>_2)D2.remove(),_.release(D2),g.delete(F2),c.delete(F2)});let B2=P?.()??null,R2=B2?`${C}-item--selected`:"",P2=B2?`${C}-item--focused`:"",b2=null;for(let D2=M2;D2<=_2;D2++){let F2=g.get(D2),b=!1;if(F2===void 0){let X2=Z.getEntry(D2);b=X2.type==="header";let O2;if(X2.type==="header")O2=`__group_header_${X2.group.groupIndex}`;else{let w2=z(X2.dataIndex);if(w2&&w2._isPlaceholder!==!0)O2=String(w2.id)}if(O2!==void 0){let w2=K2.get(O2);if(w2)K2.delete(O2),F2=w2}if(!F2)F2=_.acquire();if(F2.setAttribute("data-index",String(D2)),J2(F2,X2,B2,D2))c.delete(D2);else c.add(D2);if(m(F2,D2),F2.style.transform=O(D2),g.set(D2,F2),!b2)b2=document.createDocumentFragment();b2.appendChild(F2)}else if(i&&c.has(D2)){let X2=Z.getEntry(D2);if(X2.type==="item")if(J2(F2,X2,B2,D2))c.delete(D2);else c.add(D2)}else if(b=F2.classList.contains(Y),i)m(F2,D2),F2.style.transform=O(D2);if(!b&&B2)if(B2(D2,d2),F2.classList.toggle(R2,d2.selected),F2.classList.toggle(P2,d2.focused),d2.selected)F2.setAttribute("aria-selected","true");else F2.removeAttribute("aria-selected")}if(b2)W.appendChild(b2);o();let k2=A?T():U.getTotalSize();W.style[H?"width":"height"]=k2+w+"px",q.prevRangeStart=M2,q.prevRangeEnd=_2,q.renderPending=!1;let z2=0,G2=0,H2=!1;for(let D2=M2;D2<=_2&&z2<q.capacity;D2++){let F2=Z.getEntry(D2);if(F2.type==="item"){if(!H2)G2=F2.dataIndex,H2=!0;q.visibleIndices[z2]=F2.dataIndex,q.visibleOffsets[z2]=U.getOffset(D2),q.visibleSizes[z2]=U.getSize(D2),z2++}}q.visibleCount=z2,q.startIndex=G2}function L2(){if(q.destroyed)return;if(U2(),k4)console.log(`[groups] forceRender, placeholders: ${c.size}, rendered: ${g.size}`);let p=R?.()??0;if(p!==k){k=p;let j2=Z.groups,i=j2.length;Z.rebuild(S,D??z);let Y2=Z.groups,M2=Y2.length!==i;if(!M2){for(let _2=0;_2<i;_2++)if(Y2[_2].headerLayoutIndex!==j2[_2].headerLayoutIndex){M2=!0;break}}if(M2){a(Z.totalEntries),M();let _2=A?T():U.getTotalSize();if(W.style[H?"width":"height"]=_2+"px",j)j.refresh(),j.update(q.scrollPosition);let B2=1/0,R2=Math.min(i,Y2.length);for(let b2=0;b2<R2;b2++)if(Y2[b2].headerLayoutIndex!==j2[b2].headerLayoutIndex){B2=Math.min(Y2[b2].headerLayoutIndex,j2[b2].headerLayoutIndex);break}if(Y2.length>i&&R2<Y2.length)B2=Math.min(B2,Y2[R2].headerLayoutIndex);else if(i>Y2.length&&R2<i)B2=Math.min(B2,j2[R2].headerLayoutIndex);if(B2<=q.prevRangeEnd)Z2();let P2=G?.("_scrollbar:getInstance");if(P2)P2()?.updateBounds(_2,q.containerSize)}}q.prevRangeStart=-1,q.prevRangeEnd=-1,q.renderPending=!0,v=!0,W2()}return{name:"groups",priority:10,setup(p){U=p.sizeCache,q=p.getState(),_=p.pool,W=p.dom.content,B=p.dom.root,L=p.template,H=p.config.axis.primary==="x",C=p.config.classPrefix,E=p.config.overscan,w=p.config.mainAxisPadding,z=p.getItem.bind(p),P=()=>p.getItemStateFn(),G=p.getMethod.bind(p),y=null,h=`${C}-item`,Y=`${C}-group-header`;let j2=G?.("getGridLayout"),i=G?.("getMasonryLayout");if(j2){let G2=j2();V=G2.columns,X=G2.gap,f=p.config.crossPadStart,l=p.config.crossAxisPadding}else if(i){let G2=i();V=G2.columns,X=G2.gap,f=p.config.crossPadStart,l=p.config.crossAxisPadding,x=!0;let H2=p.rawSizeSpec;if(typeof H2==="function")r=(D2)=>{return H2(D2,{columnWidth:F})}}queueMicrotask(()=>{let G2=G?.("_getLoadedItem");if(G2)D=G2;let H2=G?.("_getLoadedCount");if(H2)R=H2});let Y2=q.totalItems;Z=T4(Y2,Q,D??z),S=Y2;let M2=typeof J==="number"?(G2)=>J:(G2)=>{let H2=Z.groups[G2];if(!H2)return 0;return J(H2.key,G2)},_2=U.getSize,B2=(G2)=>{let H2=Z.getEntry(G2);if(H2.type==="header"){if(Q.sticky!==!1&&H2.group.groupIndex===0)return 0;return M2(H2.group.groupIndex)}return _2(H2.dataIndex)};p.setSizeConfig(B2);let R2=!1,P2=-1;if(p.registerMethod("_setSizeCacheBase",(G2)=>{a=G2}),a=U.rebuild,U.rebuild=(G2)=>{if(R2){if(!R)R=G?.("_getLoadedCount")??null;let H2=R?.()??0;if(G2!==S||H2!==P2){if(S=G2,P2=H2,!D)D=G?.("_getLoadedItem")??null;if(Z.rebuild(G2,D??((D2)=>p.getItems()[D2])),q.totalItems=Z.totalEntries,j)j.refresh(),j.update(q.scrollPosition)}}a(Z.totalEntries)},U.rebuild(Z.totalEntries),M(),p.setVirtualTotalFn(()=>Z.totalEntries),B.classList.add(`${C}--grouped`),Q.sticky!==!1){let G2=(b,X2)=>{let O2=Z.groups[X2];if(!O2)return;let T2=K(O2.key,X2);if(typeof T2==="string")b.innerHTML=T2;else b.replaceChildren(T2)},H2=Z.getHeaderHeight(0),D2=k0(B,C,H,H2),F2=V>0?(b)=>{let X2=A?.get(b);return X2?X2.rowY:U.getOffset(b)}:void 0;if(j=b4(B,Z,U,G2,C,H,0,void 0,D2,F2),j.update(q.scrollPosition),!H)p.dom.viewport.style.height=`calc(100% - ${H2}px)`;else p.dom.viewport.style.width=`calc(100% - ${H2}px)`,p.dom.viewport.style.marginLeft=`${H2}px`}let b2=!!G?.("_updateTableForGroups");if(R2=b2,b2)queueMicrotask(()=>{let G2=G?.("_getItem")??null,H2=p.getItems.bind(p);p.setGetItemFn((F2)=>{let b=Z.getEntry(F2);if(b.type==="header")return{id:`__group_header_${b.group.groupIndex}`,__groupHeader:!0,groupKey:b.group.key,groupIndex:b.group.groupIndex};return G2?G2(b.dataIndex):H2()[b.dataIndex]});let D2=G?.("_updateTableForGroups");if(D2)D2((F2)=>!!F2.__groupHeader,K)});else p.setRenderFn(W2,L2);p.registerMethod("getGroupLayout",()=>Z),p.registerMethod("_dataToLayoutIndex",(G2)=>Z.dataToLayoutIndex(G2)),p.registerMethod("_layoutToDataIndex",(G2)=>Z.layoutToDataIndex(G2)),p.registerMethod("_getRenderedElement",(G2)=>g.get(G2)??null),p.registerMethod("_isGroupHeader",(G2)=>{return Z.getEntry(G2).type==="header"}),p.registerMethod("_getItemLane",(G2)=>{let H2=A?.get(G2);return H2?H2.col:-1}),p.registerMethod("_getItemY",(G2)=>{let H2=A?.get(G2);return H2?H2.rowY:-1}),p.registerMethod("_getItemH",(G2)=>{return A?.get(G2)?.h??-1});let k2=p.config.startPadding,z2=w-k2;p.registerMethod("_scrollItemIntoView",(G2)=>{if(G2<0)return;let H2=A?.get(G2),D2=H2?H2.rowY:U.getOffset(G2),F2=H2?.h??U.getSize(G2),b=q.containerSize,X2=q.scrollPosition;if(D2<X2+k2)p.scrollTo(Math.max(0,D2-k2));else if(D2+F2+z2>X2+b)p.scrollTo(D2+F2+z2-b)}),p.registerMethod("scrollToIndex",(G2,H2="start")=>{let D2=Z.dataToLayoutIndex(G2),F2=Z.totalEntries;if(F2===0)return;let b=Math.max(0,Math.min(D2,F2-1)),X2=q.containerSize,O2=A?.get(b),T2=O2?O2.rowY:U.getOffset(b),w2=O2?O2.h??U.getSize(b):U.getSize(b),N2=A?T()+w:U.getTotalSize(),N=Math.max(0,N2-X2),$2=typeof H2==="string"?H2:H2.align??"start",V2=typeof H2==="object"?H2.behavior:void 0,e=typeof H2==="object"?H2.duration:void 0,q2=A?w:0,A2=T2+w2;if(x&&u){let y2=Z.getEntry(b).group.groupIndex,v2=u[y2];if(v2!==void 0)A2=v2}let E2;switch($2){case"center":E2=T2-(X2-w2)/2;break;case"end":E2=A2-X2+q2;break;default:E2=T2}if(E2=Math.max(0,Math.min(E2,N)),V2==="smooth"&&e&&e>0)p.smoothScrollTo(E2,e);else p.scrollTo(E2)}),p.registerDestroyHandler(()=>{for(let[,G2]of g)G2.remove();if(g.clear(),c.clear(),j)j.destroy(),j=null;B.classList.remove(`${C}--grouped`)})},hooks:{onAfterScroll(p,j2){if(j)j.update(p)},onResize(p,j2){if(V<=0)return;a(Z.totalEntries),t=q.crossSize,M();let i=T();if(W.style[H?"width":"height"]=i+w+"px",j)j.refresh(),j.update(q.scrollPosition);v=!0,W2()}},destroy(){if(j)j.destroy(),j=null;g.clear(),c.clear(),K2.clear()}}}var z4=(Q,J=50,$=1/0,K=!0,Z="none")=>{let j=Q,U=[],q=0,_=0,W=()=>{U=j.map((Y,G)=>({def:Y,index:G,width:0,minWidth:W6(Y.minWidth??J,1),maxWidth:Y.maxWidth??$,resizable:Y.resizable??K,offset:0}))},B=()=>{if(Z==="none"||q<=0||q>=_)return;if(Z==="spacer"){q=_;return}let Y=_-q,G=q;for(let y=0;y<U.length;y++){let V=U[y];V.width=Y0(V.width+Y*(V.width/G),V.minWidth,V.maxWidth)}z()},L=(Y)=>{if(_=Y,U.length===0){q=0;return}let G=0,y=0;for(let V=0;V<U.length;V++){let X=U[V],f=X.def;if(f.width!==void 0)X.width=Y0(f.width,X.minWidth,X.maxWidth),G+=X.width;else y++}if(y){let X=Math.max(0,Y-G)/y;for(let f=0;f<U.length;f++){let l=U[f];if(l.def.width===void 0)l.width=Y0(X,l.minWidth,l.maxWidth)}}z(),B()},z=()=>{let Y=0;for(let G=0;G<U.length;G++){let y=U[G];y.offset=Y,Y+=y.width}q=Y},D=(Y,G)=>{if(Y<0||Y>=U.length)return 0;let y=U[Y];if(!y.resizable)return y.width;let V=Y0(G,y.minWidth,y.maxWidth);if(y.width=V,z(),Z==="spacer")B();return V},H=(Y)=>{return U[Y]},C=(Y)=>{if(U.length===0)return;if(Y<0)return U[0];if(Y>=q)return U[U.length-1];let G=0,y=U.length-1;while(G<y){let V=G+y>>>1,X=U[V];if(Y<X.offset)y=V-1;else if(Y>=X.offset+X.width)G=V+1;else return X}return U[G]},E=(Y)=>{if(Y<0||Y>=U.length)return 0;return U[Y].offset},P=(Y)=>{if(Y<0||Y>=U.length)return 0;return U[Y].width},h=(Y)=>{j=Y,W()};return W(),{get columns(){return U},get totalWidth(){return q},resolve:L,updateColumns:h,resizeColumn:D,getColumn:H,getColumnAtX:C,getColumnOffset:E,getColumnWidth:P}},Y0=(Q,J,$)=>Math.min($,Math.max(J,Q)),W6=(Q,J)=>Math.max(J,Q);var P4=(Q,J,$,K,Z,j)=>{let U=document.createElement("div");U.setAttribute("role","rowgroup");let q=document.createElement("div");q.className=`${$}-table-header`,q.setAttribute("role","row"),q.setAttribute("aria-rowindex","1"),q.style.height=`${J}px`;let _=document.createElement("div");_.className=`${$}-table-header-scroll`,_.setAttribute("role","presentation"),q.appendChild(_),U.appendChild(q),Q.insertBefore(U,Q.firstChild),Q.style.setProperty("--vlist-table-header-height",`${J}px`);let W=[],B=[],L=!0,z=null,D="asc",H=null,C=!1,E=-1,P=0,h=0,Y=0,G=(v,S)=>{let k=document.createElement("div");k.className=`${$}-table-header-cell`,k.setAttribute("role","columnheader"),k.setAttribute("aria-colindex",String(S+1)),k.setAttribute("tabindex",S===0?"0":"-1"),k.dataset.columnKey=v.def.key;let R=v.def.align;if(R==="center")k.classList.add(`${$}-table-header-cell--center`);else if(R==="right")k.classList.add(`${$}-table-header-cell--right`);let a=document.createElement("div");a.className=`${$}-table-header-content`;let n=v.def.header?v.def.header(v.def):v.def.label;if(typeof n==="string")a.textContent=n;else a.appendChild(n);if(k.appendChild(a),v.def.sortable){let s=document.createElement("span");s.className=`${$}-table-header-sort`,s.setAttribute("aria-hidden","true"),k.appendChild(s),B.push(s),k.classList.add(`${$}-table-header-cell--sortable`)}else B.push(null);if(v.resizable){let s=document.createElement("div");s.className=`${$}-table-header-resize`,s.dataset.resizeIndex=String(S),k.appendChild(s)}return k},y=(v)=>{H=v,_.textContent="",W=[],B=[];let S=v.columns;for(let k=0;k<S.length;k++){let R=S[k],a=G(R,k);W.push(a),_.appendChild(a)}if(V(v),z)X(z,D)},V=(v)=>{H=v;let S=v.columns;_.style.width=`${v.totalWidth}px`;for(let k=0;k<W.length&&k<S.length;k++){let R=W[k],a=S[k];R.style.width=`${a.width}px`}},X=(v,S)=>{if(z=v,D=S,!H)return;let k=H.columns;for(let R=0;R<B.length&&R<k.length;R++){let a=B[R];if(!a)continue;if(k[R].def.key===v)a.textContent=S==="asc"?"▲":"▼",a.style.opacity="0.7",W[R].setAttribute("aria-sort",S==="asc"?"ascending":"descending");else a.textContent="",a.style.opacity="0",W[R].removeAttribute("aria-sort")}},f=(v)=>{_.style.transform=`translateX(${-v}px)`},l=(v)=>{let S=v.target;if(!S.dataset.resizeIndex)return;if(v.preventDefault(),v.stopPropagation(),E=+S.dataset.resizeIndex,!H)return;let k=H.getColumn(E);if(!k?.resizable)return;C=!0,P=v.clientX,h=k.width,Q.classList.add(`${$}--col-resizing`),Q.style.cursor="col-resize",S.classList.add(`${$}-table-header-resize--active`),S.setPointerCapture(v.pointerId),S.addEventListener("pointermove",w),S.addEventListener("pointerup",x),S.addEventListener("pointercancel",x)},w=(v)=>{if(!C||!H)return;let S=v.clientX-P;if(Math.abs(S)<1)return;let k=Math.max(0,h+S);K(E,k)},x=(v)=>{if(!C)return;let S=v.target;S.removeEventListener("pointermove",w),S.removeEventListener("pointerup",x),S.removeEventListener("pointercancel",x);try{S.releasePointerCapture(v.pointerId)}catch{}S.classList.remove(`${$}-table-header-resize--active`),Q.classList.remove(`${$}--col-resizing`),Q.style.cursor="",C=!1,E=-1},r=(v)=>{let S=v.target;if(S.dataset.resizeIndex)return;if(C)return;let k=S;while(k&&!k.dataset.columnKey)if(k=k.parentElement,k===q||k===null)return;let R=k.dataset.columnKey;if(!H)return;let a=H.columns,n=-1;for(let F=0;F<a.length;F++)if(a[F].def.key===R){n=F;break}if(n===-1)return;let s=a[n];if(j)j({key:R,index:n,event:v});if(s.def.sortable&&Z){let F;if(z===R)F=D==="asc"?"desc":null;else F="asc";Z({key:R,index:n,direction:F})}},g=(v)=>{if(v<0||v>=W.length)return;W[Y]?.setAttribute("tabindex","-1"),Y=v;let S=W[Y];S.setAttribute("tabindex","0"),S.focus()},c=(v)=>{let S=v.key;if(S==="ArrowRight"){if(v.ctrlKey||v.metaKey){if(!H)return;let k=H.getColumn(Y);if(k?.resizable)K(Y,k.width+10),v.preventDefault()}else if(Y<W.length-1)g(Y+1),v.preventDefault();v.stopPropagation();return}if(S==="ArrowLeft"){if(v.ctrlKey||v.metaKey){if(!H)return;let k=H.getColumn(Y);if(k?.resizable)K(Y,k.width-10),v.preventDefault()}else if(Y>0)g(Y-1),v.preventDefault();v.stopPropagation();return}if(S==="Home"){g(0),v.preventDefault(),v.stopPropagation();return}if(S==="End"){g(W.length-1),v.preventDefault(),v.stopPropagation();return}if(S==="Enter"||S===" "){if(!H)return;let k=H.getColumn(Y);if(k?.def.sortable&&Z){let R;if(z===k.def.key)R=D==="asc"?"desc":null;else R="asc";Z({key:k.def.key,index:Y,direction:R}),v.preventDefault()}v.stopPropagation();return}if(S==="ArrowDown"){Q.focus(),v.preventDefault(),v.stopPropagation();return}};return q.addEventListener("pointerdown",l),q.addEventListener("click",r),q.addEventListener("keydown",c),{element:q,update:V,updateSort:X,rebuild:y,show:()=>{if(L)return;L=!0,q.style.display=""},hide:()=>{if(!L)return;L=!1,q.style.display="none"},destroy:()=>{q.removeEventListener("pointerdown",l),q.removeEventListener("click",r),q.removeEventListener("keydown",c),Q.style.removeProperty("--vlist-table-header-height"),U.remove(),W=[],B=[],H=null,L=!1},syncScroll:f}};var V6=()=>{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}}},w4=(Q,J,$,K,Z,j,U,q,_)=>{let W=V6(),B=new Map,L=-1,z=$,D=null,H=null,C=null,E=(O,m)=>{H=O,C=m},P=(O,m)=>{m?O.setAttribute("aria-selected","true"):O.removeAttribute("aria-selected")},h=(O,m,Z2,o)=>{O.setAttribute("role",m),O.setAttribute("data-id",String(Z2)),O.setAttribute("data-index",String(o))},Y=(O)=>String(O).startsWith("__placeholder_"),G=`${Z}-item ${Z}-table-row`,y=`${Z}-item--selected`,V=`${Z}-item--focused`,X=`${Z}-table-cell`,f=`${Z}-table-cell--center`,l=`${Z}-table-cell--right`,w=`${Z}-table-cell-skeleton`,x=`${Z}-item--odd`,r=`${Z}-item--placeholder`,g=`${Z}-item--replaced`,c=`${Z}-table-row ${Z}-table-group-header`,K2=`${Z}-table-group-header-content`,Q2=(O,m,Z2,o,J2=!1)=>{if(Z2.def.cell){let t=Z2.def.cell(m,Z2.def,o);if(typeof t==="string")O.innerHTML=t;else O.replaceChildren(t)}else{let t=m[Z2.def.key],U2=t!=null?String(t):"";if(J2&&U2)O.innerHTML=`<span>${U2}</span>`;else O.textContent=U2}if(J2&&O.firstElementChild===null){O.replaceChildren();let t=document.createElement("span");t.className=w,O.appendChild(t)}},d=(O,m,Z2,o,J2=!1)=>{let t=G;if(q){if(D){let U2=D(m);if(U2>=0&&(U2&1)===1)t+=` ${x}`}else if((m&1)===1)t+=` ${x}`}if(J2)t+=` ${r}`;if(Z2)t+=` ${y}`;if(o)t+=` ${V}`;O.className=t},v=(O,m,Z2)=>{if(Z2?.compression?.isCompressed)return Math.round(I2(O,Z2.scrollPosition,m,Z2.totalItems,Z2.containerSize,Z2.compression,Z2.rangeStart));return m.getOffset(O)},S=(O,m)=>{let Z2=m.def.align;if(Z2==="center")O.classList.add(f),O.classList.remove(l);else if(Z2==="right")O.classList.add(l),O.classList.remove(f);else O.classList.remove(f,l)},k=(O,m)=>{let o=z.columns.length;if(m.length===o)return m;let J2=[];for(let t=0;t<o;t++){let U2;if(t<m.length)U2=m[t];else U2=document.createElement("div"),U2.className=X,O.appendChild(U2);J2.push(U2)}for(let t=o;t<m.length;t++)m[t].remove();return J2},R=(O,m,Z2,o)=>{let J2=W.acquire(),t=O,U2=Z2.getSize(m),W2=v(m,Z2,o);J2.style.cssText=`width:${z.totalWidth}px;height:${U2}px;transform:translateY(${W2}px)`,J2.className=c,h(J2,"presentation",O.id,m),J2.removeAttribute("aria-selected"),J2.removeAttribute("aria-rowindex"),J2.replaceChildren();let L2=document.createElement("div");if(L2.className=K2,C){let p=C(t.groupKey,t.groupIndex);if(typeof p==="string")L2.innerHTML=p;else L2.appendChild(p)}return J2.appendChild(L2),{element:J2,cells:[],index:m,isGroupHeader:!0,_lastItem:O,lastItemId:O.id,lastSelected:!1,lastFocused:!1,lastOffset:W2,lastHeight:U2}},a=(O,m,Z2,o,J2,t)=>{let U2=W.acquire(),W2=J2.getSize(m),L2=v(m,J2,t),p=Y(O.id);U2.style.cssText=`width:${z.totalWidth}px;height:${W2}px;transform:translateY(${L2}px)`,d(U2,m,Z2,o,p),h(U2,"row",O.id,m),U2.id=`${j}-item-${m}`,U2.setAttribute("aria-rowindex",String(m+2)),P(U2,Z2);let j2=k(U2,[]),i=z.columns;for(let Y2=0;Y2<j2.length&&Y2<i.length;Y2++){let M2=j2[Y2],_2=i[Y2];M2.style.cssText=`left:${_2.offset}px;width:${_2.width}px`,M2.setAttribute("role","gridcell"),M2.setAttribute("aria-colindex",String(Y2+1)),S(M2,_2),Q2(M2,O,_2,m,p)}return{element:U2,cells:j2,index:m,isGroupHeader:!1,_lastItem:O,lastItemId:O.id,lastSelected:Z2,lastFocused:o,lastOffset:L2,lastHeight:W2}},n=(O,m,Z2,o,J2)=>{let t=!1,U2=U();if(U2!==L)L=U2,t=!0;let W2=null,L2=J();D=typeof q==="string"&&_?_():null;for(let p=m.start;p<=m.end;p++){let j2=p-m.start,i=O[j2];if(!i)continue;let Y2=Z2.has(i.id),M2=p===o,_2=H?H(i):!1,B2=B.get(p);if(B2){if(B2.isGroupHeader!==_2){W.release(B2.element),B.delete(p);let R2=_2?R(i,p,L2,J2):a(i,p,Y2,M2,L2,J2);if(B.set(p,R2),!W2)W2=document.createDocumentFragment();W2.appendChild(R2.element);continue}if(_2){if(B2._lastItem!==i){let k2=i,z2=B2.element.firstElementChild;if(z2&&C){let G2=C(k2.groupKey,k2.groupIndex);if(typeof G2==="string")z2.innerHTML=G2;else z2.replaceChildren(G2)}B2.element.setAttribute("data-id",String(i.id)),B2._lastItem=i,B2.lastItemId=i.id}let P2=v(p,L2,J2);if(B2.lastOffset!==P2)B2.lastOffset=P2,B2.element.style.transform=`translateY(${P2}px)`;let b2=L2.getSize(p);if(B2.lastHeight!==b2)B2.lastHeight=b2,B2.element.style.height=`${b2}px`}else{let R2=B2._lastItem!==i,P2=B2.lastSelected!==Y2,b2=B2.lastFocused!==M2;if(R2){let G2=B2.lastItemId!=null&&Y(B2.lastItemId),H2=Y(i.id);if(!H2&&o2(Z2,p,i.id))Y2=!0;let D2=z.columns;for(let F2=0;F2<B2.cells.length&&F2<D2.length;F2++)Q2(B2.cells[F2],i,D2[F2],p,H2);if(d(B2.element,p,Y2,M2,H2),B2.element.setAttribute("data-id",String(i.id)),P(B2.element,Y2),G2&&!H2)B2.element.classList.add(g),setTimeout(()=>{B2.element.classList.remove(g)},300);B2._lastItem=i,B2.lastItemId=i.id,B2.lastSelected=Y2,B2.lastFocused=M2}else if(P2||b2)d(B2.element,p,Y2,M2,Y(i.id)),P(B2.element,Y2),B2.lastSelected=Y2,B2.lastFocused=M2;let k2=v(p,L2,J2);if(B2.lastOffset!==k2)B2.lastOffset=k2,B2.element.style.transform=`translateY(${k2}px)`;let z2=L2.getSize(p);if(B2.lastHeight!==z2)B2.lastHeight=z2,B2.element.style.height=`${z2}px`;if(t)B2.element.setAttribute("aria-rowindex",String(p+2))}}else{if(o2(Z2,p,i.id))Y2=!0;let R2=_2?R(i,p,L2,J2):a(i,p,Y2,M2,L2,J2);if(B.set(p,R2),!W2)W2=document.createDocumentFragment();W2.appendChild(R2.element)}}if(W2)Q.appendChild(W2);for(let[p,j2]of B)if(p<m.start||p>m.end)W.release(j2.element),B.delete(p)},s=(O)=>{let m=J();for(let[Z2,o]of B){let J2=v(Z2,m,O);if(o.lastOffset!==J2)o.lastOffset=J2,o.element.style.transform=`translateY(${J2}px)`}},F=(O,m,Z2,o)=>{let J2=B.get(O);if(!J2)return;if(J2.isGroupHeader)return;let t=z.columns;for(let U2=0;U2<J2.cells.length&&U2<t.length;U2++)Q2(J2.cells[U2],m,t[U2],O);J2.element.setAttribute("data-id",String(m.id)),J2._lastItem=m,J2.lastItemId=m.id,d(J2.element,O,Z2,o),P(J2.element,Z2),J2.lastSelected=Z2,J2.lastFocused=o},A=(O,m,Z2)=>{let o=B.get(O);if(!o)return;if(o.isGroupHeader)return;let J2=o.lastSelected!==m,t=o.lastFocused!==Z2;if(J2||t)d(o.element,O,m,Z2),P(o.element,m),o.lastSelected=m,o.lastFocused=Z2},I=(O)=>{z=O;let m=O.columns;for(let[,Z2]of B)if(Z2.element.style.width=`${O.totalWidth}px`,Z2.cells.length>0)for(let o=0;o<Z2.cells.length&&o<m.length;o++){let J2=Z2.cells[o],t=m[o];J2.style.left=`${t.offset}px`,J2.style.width=`${t.width}px`}},u=(O)=>{return B.get(O)?.element},M=()=>{for(let[,O]of B)W.release(O.element);B.clear(),L=-1};return{render:n,updatePositions:s,updateItem:F,updateItemClasses:A,getElement:u,updateColumnLayout:I,setGroupHeaderFn:E,clear:M,destroy:()=>{M(),W.clear()}}};var _6=new Set;function P0(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,$=null,K=null,Z,j,U=null,q=null,_=null,W=!1,B=-1,L=null,z=!1;function D(){if(W||!U)return;W=!0,q=U.getMethod("_getSelectedIds")??null,_=U.getMethod("_getFocusedIndex")??null}function H(){if(z||!U)return;z=!0,L=U.getMethod("_scale:getCompression")??null}let C=[],E={start:0,end:0},P={start:0,end:-1};function h(){if(Z.destroyed||!U||!K||!J)return;let{containerSize:G,totalItems:y}=Z;if(G<=0||y===0)return;let V=y+1;if(V!==B)B=V,U.dom.root.setAttribute("aria-rowcount",`${V}`);H();let X=Z.scrollPosition,f=L?.()??null,l=f!==null&&f.isCompressed,w=U.config.overscan,x,r;if(l)x2(X,G,j,y,f,P),x=Math.max(0,P.start-w),r=Math.min(y-1,P.end+w);else{let v=j.indexAtOffset(X),S=j.indexAtOffset(X+G);if(S<y-1)S++;v=Math.max(0,v),S=Math.min(y-1,S),x=Math.max(0,v-w),r=Math.min(y-1,S+w)}if(x===Z.prevRangeStart&&r===Z.prevRangeEnd&&!Z.renderPending)return;D();let g=q?.()??_6,c=_?.()??-1;C.length=0;for(let v=x;v<=r;v++){let S=U.getItem(v);if(S)C.push(S)}E.start=x,E.end=r;let K2;if(l)K2={scrollPosition:X,totalItems:y,containerSize:G,rangeStart:x,compression:f};K.render(C,E,g,c,K2),Z.prevRangeStart=x,Z.prevRangeEnd=r,Z.renderPending=!1;let Q2=r-x+1;Z.visibleCount=Math.min(Q2,Z.capacity),Z.startIndex=x;for(let v=0;v<Z.visibleCount;v++){let S=x+v;Z.visibleIndices[v]=S,Z.visibleOffsets[v]=j.getOffset(S),Z.visibleSizes[v]=j.getSize(S)}let d=j.getTotalSize();Z.totalSize=d,U.dom.content.style.height=d+"px"}function Y(){if(Z.destroyed)return;Z.prevRangeStart=-1,Z.prevRangeEnd=-1,Z.renderPending=!0,h()}return{name:"table",priority:10,conflicts:["grid","masonry"],setup(G){U=G,Z=G.getState(),j=G.sizeCache;let{dom:y,config:V,emitter:X}=G,{classPrefix:f}=V;if(V.axis.primary==="x")throw Error("[vlist] table: cannot be used with horizontal orientation");if(V.reverse)throw Error("[vlist] table: cannot be used with reverse mode");let l=Q.resizable??!0,w=Q.minColumnWidth??50,x=Q.maxColumnWidth??1/0,r=Q.fillWidth===!1?"none":Q.fillWidth===!0?"stretch":Q.fillWidth??"spacer",g=Q.rowBorders??!0,c=Q.rowHeight,K2=Q.headerHeight??(typeof c==="number"?c:40),Q2=Q.sort?.key??null,d=Q.sort?.direction??"asc";if(J=z4(Q.columns,w,x,l,r),typeof c==="function"||typeof c==="number")G.setSizeConfig(c);if(G.rebuildSizeCache(),y.root.classList.add(`${f}--table`),g)y.root.classList.add(`${f}--table-row-borders`);if(Q.columnBorders)y.root.classList.add(`${f}--table-col-borders`);queueMicrotask(()=>{if(G.getMethod("_getSelectedIds"))y.root.setAttribute("tabindex","0")}),y.root.setAttribute("role","grid"),y.root.setAttribute("aria-colcount",`${Q.columns.length}`),y.viewport.setAttribute("role","none"),y.content.setAttribute("role","rowgroup");let v=Z.crossSize;J.resolve(v);let S=()=>{if(!J)return;y.content.style.minWidth=`${J.totalWidth}px`},k=(F,A)=>{if(!J)return;let I=J.getColumn(F);if(!I)return;let u=I.width,M=J.resizeColumn(F,A);$?.update(J),K?.updateColumnLayout(J),S(),X.emit("column:resize",{key:I.def.key,index:F,previousWidth:u,width:M})},R=(F)=>{Q2=F.direction===null?null:F.key,d=F.direction??"asc",$?.updateSort(Q2,d),X.emit("column:sort",F)};if($=P4(y.root,K2,f,k,R),$.rebuild(J),Q2)$.updateSort(Q2,d);S(),K=w4(y.content,()=>j,J,Q.columns,f,f,()=>Z.totalItems,V.striped||void 0),G.setRenderFn(h,Y);let a=$,n=-1,s=()=>{let F=y.viewport.scrollLeft;if(F!==n)n=F,a?.syncScroll?.(F)};y.viewport.addEventListener("scroll",s,{passive:!0}),G.registerMethod("updateColumns",(F)=>{if(!J||!$)return;if(J.updateColumns(F),J.resolve(Z.crossSize),$.rebuild(J),Q2)$.updateSort(Q2,d);S(),K?.updateColumnLayout(J),K?.clear(),G.forceRender()}),G.registerMethod("resizeColumn",(F,A)=>{if(!J)return;let I;if(typeof F==="string"){let u=J.columns;I=-1;for(let M=0;M<u.length;M++)if(u[M].def.key===F){I=M;break}if(I===-1)return}else I=F;k(I,A)}),G.registerMethod("getColumnWidths",()=>{if(!J)return{};let F={},A=J.columns;for(let I=0;I<A.length;I++)F[A[I].def.key]=A[I].width;return F}),G.registerMethod("setSort",(F,A)=>{Q2=F,d=A??"asc",$?.updateSort(Q2,d)}),G.registerMethod("getSort",()=>{return{key:Q2,direction:d}}),G.registerMethod("_getTableLayout",()=>J),G.registerMethod("_getTableHeaderHeight",()=>K2),G.registerMethod("_updateRenderedItem",(F,A,I,u)=>{K?.updateItem(F,A,I,u)}),G.registerMethod("_replaceTableRenderer",(F)=>{K=F}),G.registerMethod("_updateTableForGroups",(F,A)=>{K?.setGroupHeaderFn(F,A)}),G.registerMethod("_updateItemClasses",(F,A,I)=>{K?.updateItemClasses(F,A,I)}),G.registerKeydownHandler((F)=>{if(F.key!=="ArrowLeft"&&F.key!=="ArrowRight")return;if(!J)return;let A=J.columns;if(A.length===0)return;let I=y.viewport.clientWidth;if(J.totalWidth<=I)return;let u=y.viewport.scrollLeft;if(F.key==="ArrowRight"){for(let M=0;M<A.length;M++)if(A[M].offset>u+1){y.viewport.scrollLeft=A[M].offset,F.preventDefault();return}}else{for(let M=A.length-1;M>=0;M--)if(A[M].offset<u-1){y.viewport.scrollLeft=A[M].offset,F.preventDefault();return}if(u>0)y.viewport.scrollLeft=0,F.preventDefault()}}),G.registerDestroyHandler(()=>{y.viewport.removeEventListener("scroll",s),$?.destroy(),$=null,K?.destroy(),K=null,y.content.style.minWidth="",y.root.classList.remove(`${f}--table`),y.root.classList.remove(`${f}--table-row-borders`),y.root.classList.remove(`${f}--table-col-borders`),y.root.removeAttribute("role"),y.root.removeAttribute("aria-colcount"),y.root.removeAttribute("aria-rowcount"),y.root.removeAttribute("tabindex"),y.viewport.removeAttribute("role"),y.content.removeAttribute("role")})},hooks:{onResize(G,y){if(!J||!U)return;let V=Z.crossSize;if(J.resolve(V),$?.update(J),K?.updateColumnLayout(J),J)U.dom.content.style.minWidth=`${J.totalWidth}px`},onAfterScroll(){if(!U||!$)return;$?.syncScroll?.(U.dom.viewport.scrollLeft)}},destroy(){$?.destroy(),$=null,K?.destroy(),K=null,U=null}}}function w0(Q){let J=Q?.handle??null,$=Q?.ghostClass??"vlist-sort-ghost",K=Q?.shiftDuration??150,Z=Q?.edgeScrollZone??40,j=Q?.edgeScrollSpeed??20,U=Q?.dragThreshold??5,q=Q?.ghostContainer??null,_,W,B=null,L,z,D,H,C,E,P,h,Y,G,y=!1,V=-1,X=-1,f=0,l=0,w=0,x=0,r=!1,g=null,c=0,K2=null,Q2=0,d=0,v=0,S=null,k=!1,R="",a=-1,n=-1,s=[],F="",A=null,I=null,u="",M=!1,T=(N)=>{return N.closest("[data-index]")},O=(N)=>{let $2=N.dataset.index;return $2===void 0?-1:+$2},m=(N)=>{let $2=N.getBoundingClientRect(),V2=N.cloneNode(!0);return V2.className=`${H}-item ${$}`,V2.removeAttribute("data-index"),V2.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`,(q||document.body).appendChild(V2),V2},Z2=()=>{if(!g)return;g.style.left=`${w-d}px`,g.style.top=`${x-v}px`},o=()=>{let N=_.totalItems;if(N===0)return 0;let $2=z.getBoundingClientRect(),V2=_.scrollPosition,e=C?w-d-$2.left+z.scrollLeft+V2:x-v-$2.top+V2,q2=e+Q2,A2=W.getOffset(V)+W.getSize(V);if(q2>A2){let y2=W.indexAtOffset(q2),v2=W.getOffset(y2)+W.getSize(y2)/2,S2=q2>v2?y2:y2-1;return Math.min(Math.max(S2,V),N-1)}let E2=W.getOffset(V);if(e<E2){let y2=W.indexAtOffset(e),v2=W.getOffset(y2)+W.getSize(y2)/2,S2=e<v2?y2:y2+1;return Math.max(Math.min(S2,V),0)}return V},J2=()=>{let N=L.children,$2=Q2;for(let V2=0;V2<N.length;V2++){let e=N[V2],q2=O(e);if(q2<0||q2===V)continue;let A2=0;if(X>V){if(q2>V&&q2<=X)A2=-$2}else if(X<V){if(q2>=X&&q2<V)A2=$2}let E2=W.getOffset(q2),y2=Math.round(E2+A2);e.style.transition=P,e.style.transform=`${E}(${y2}px)`}},t=()=>{let N=L.children;for(let $2=0;$2<N.length;$2++){let V2=N[$2],e=O(V2);if(e>=0)V2.style.transform=`${E}(${Math.round(W.getOffset(e))}px)`;V2.style.transition=""}},U2=()=>{if(!B)return;let N=o();if(N===X)return;X=N,J2(),B.emitter.emit("sort:move",{fromIndex:V,currentIndex:X})},W2=()=>{let N=z.getBoundingClientRect();if(C)return w<N.left||w>N.right;return x<N.top||x>N.bottom},L2=()=>{let N=B?.getMethod("_getFocusedIndex");return N?N():-1},p=(N)=>{let $2=B?.getMethod("_focusById");if($2)$2(N)},j2=(N)=>{if(!B)return;let $2=C?z.clientWidth:z.clientHeight,V2=_.scrollPosition,e=W.getOffset(N),q2=e+W.getSize(N);if(e<V2)B.scrollTo(Math.max(0,e));else if(q2>V2+$2)B.scrollTo(q2-$2)},i=(N)=>{if(!I)return;I.textContent="",I.offsetHeight,I.textContent=N},Y2=(N)=>{if(!B)return"";let V2=B.getItems()[N];if(!V2)return"";return L.querySelector(`[data-index="${N}"]`)?.textContent?.trim()||String(V2.id)},M2=()=>String(_.totalItems),_2=(N)=>{let $2=L.children;for(let V2=0;V2<$2.length;V2++)$2[V2].style.transition=N},B2=()=>{let N=()=>{if(!y||!B)return;let $2=z.getBoundingClientRect(),V2=0,e=3;if(C){let A2=w-$2.left,E2=$2.right-w;if(A2<Z){let y2=Math.min(e,1-A2/Z);V2=-j*y2*y2}else if(E2<Z){let y2=Math.min(e,1-E2/Z);V2=j*y2*y2}}else{let A2=x-$2.top,E2=$2.bottom-x;if(A2<Z){let y2=Math.min(e,1-A2/Z);V2=-j*y2*y2}else if(E2<Z){let y2=Math.min(e,1-E2/Z);V2=j*y2*y2}}let q2=W2();if(V2!==0){let A2=_.scrollPosition,E2=W.getTotalSize()-(C?z.clientWidth:z.clientHeight);if(V2<0&&A2<=0||V2>0&&A2>=E2)M=q2;else M=!0,B.scrollTo(A2+V2)}else M=q2;c=requestAnimationFrame(N)};c=requestAnimationFrame(N)},R2=()=>{if(c)cancelAnimationFrame(c),c=0},P2=(N=!1)=>{if(y=!1,r=!1,g&&g.parentNode)g.remove();g=null,K2=null;let $2=L.children;for(let e=0;e<$2.length;e++){let q2=$2[e];q2.classList.remove(G);let A2=O(q2);if(A2>=0)q2.style.transform=`${E}(${Math.round(W.getOffset(A2))}px)`;q2.style.transition=""}R2(),D.classList.remove(h),document.body.style.cursor="";let V2=window.getSelection();if(V2)V2.removeAllRanges();if(document.removeEventListener("pointermove",z2),document.removeEventListener("pointerup",G2),document.removeEventListener("pointercancel",D2),!N&&B)B.forceRender()},b2=(N,$2)=>{if(!B)return;let V2=N!==$2&&N>=0&&$2>=0,e=()=>{if(!B)return;if(y=!1,V2){if(D.classList.add(Y),B.emitter.emit("sort:end",{fromIndex:N,toIndex:$2}),S!==null)p(S);P2(!0),requestAnimationFrame(()=>D.classList.remove(Y))}else D.classList.add(Y),B.emitter.emit("sort:cancel",{originalItems:[...B.getItems()]}),P2(!1),requestAnimationFrame(()=>D.classList.remove(Y))};if(!g){e();return}let q2=z.getBoundingClientRect(),A2=_.scrollPosition,E2=W.getOffset($2),y2=K>0?K:150;if(g.style.transition=`left ${y2}ms ease, top ${y2}ms ease`,C)g.style.left=`${q2.left-z.scrollLeft+E2-A2}px`,g.style.top=`${q2.top}px`;else g.style.left=`${q2.left}px`,g.style.top=`${q2.top+E2-A2}px`;let v2=!1,S2=()=>{if(v2)return;v2=!0,g?.removeEventListener("transitionend",S2),e()};g.addEventListener("transitionend",S2),setTimeout(S2,y2+50)},k2=(N)=>{if(_.destroyed||!B)return;if(y)return;if(k)T2();if(N.button!==0)return;let $2=N.target;if(J){if(!$2.closest(J))return}let V2=T($2);if(!V2)return;let e=O(V2);if(e<0)return;f=N.clientX,l=N.clientY,w=N.clientX,x=N.clientY,V=e,r=!1,K2=V2;let q2=V2.getBoundingClientRect();d=N.clientX-q2.left,v=N.clientY-q2.top,document.addEventListener("pointermove",z2),document.addEventListener("pointerup",G2),document.addEventListener("pointercancel",D2)};function z2(N){if(!B)return;if(w=N.clientX,x=N.clientY,!r){let $2=w-f,V2=x-l;if(Math.sqrt($2*$2+V2*V2)<U)return;if(r=!0,y=!0,X=V,D.classList.add(h),document.body.style.cursor="grabbing",Q2=W.getSize(V),K2)g=m(K2),K2.classList.add(G);let e=L2();if(e>=0){let A2=B.getItems()[e];S=A2?A2.id:null}else S=null;B.emitter.emit("sort:start",{index:V}),B2()}if(y){if(N.preventDefault(),Z2(),!M)U2();else if(W2()){if(X!==V)X=V,t()}}}function G2(N){if(!r){document.removeEventListener("pointermove",z2),document.removeEventListener("pointerup",G2),document.removeEventListener("pointercancel",D2),K2=null;return}N.preventDefault(),document.removeEventListener("pointermove",z2),document.removeEventListener("pointerup",G2),document.removeEventListener("pointercancel",D2),R2(),b2(V,X)}let H2=()=>{if(!r)return;document.removeEventListener("pointermove",z2),document.removeEventListener("pointerup",G2),document.removeEventListener("pointercancel",D2),R2(),t(),b2(V,V)};function D2(){H2()}let F2=()=>{let N=L.querySelectorAll(`.${u}`);for(let $2=0;$2<N.length;$2++)N[$2].classList.remove(u)},b=()=>{F2();let N=L.querySelector(`[data-id="${R}"]`);if(N)N.classList.add(u)},X2=(N)=>{if(!B)return;let $2=B.getItems(),V2=$2[N];if(!V2)return;k=!0,R=V2.id,a=N,n=N,s=[...$2],D.classList.add(h),B.emitter.emit("sort:start",{index:N}),b(),i(`Grabbed ${Y2(N)}. Current position ${N+1} of ${M2()}. Use Up and Down arrow keys to move, Space to drop, Escape to cancel.`)},O2=()=>{if(!k||!B)return;k=!1;let N=n,$2=Y2(N);_2("none"),D.classList.remove(h),F2(),p(R),B.forceRender(),i(`${$2} dropped. Final position ${N+1} of ${M2()}.`),s=[],requestAnimationFrame(()=>_2(""))},T2=()=>{if(!k||!B)return;k=!1;let N=a;if(_2("none"),D.classList.remove(h),F2(),n!==N)B.emitter.emit("sort:cancel",{originalItems:s});p(R),B.forceRender(),j2(N),i(`Reorder cancelled. Returned to position ${N+1} of ${M2()}.`),s=[],requestAnimationFrame(()=>_2(""))},w2=(N)=>{if(!k||!B)return;let $2=_.totalItems,V2=n+N;if(V2<0||V2>=$2)return;let e=n,q2=V2;_2("none"),B.emitter.emit("sort:end",{fromIndex:e,toIndex:q2}),n=q2,p(R),B.forceRender(),j2(q2),b(),i(`${Y2(q2)} moved. New position ${q2+1} of ${M2()}.`),requestAnimationFrame(()=>_2(""))},N2=(N)=>{if(_.destroyed)return;if(y){if(N.key==="Escape")N.preventDefault(),N.stopImmediatePropagation(),H2();return}if(k)switch(N.key){case" ":case"Enter":N.preventDefault(),N.stopImmediatePropagation(),O2();return;case"Escape":N.preventDefault(),N.stopImmediatePropagation(),T2();return;case"ArrowUp":case"ArrowLeft":N.preventDefault(),N.stopImmediatePropagation(),w2(-1);return;case"ArrowDown":case"ArrowRight":N.preventDefault(),N.stopImmediatePropagation(),w2(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=L2();if($2>=0)N.preventDefault(),N.stopImmediatePropagation(),X2($2)}};return{name:"sortable",priority:30,conflicts:["grid","masonry","table","scale","tree"],setup(N){B=N,_=N.getState(),W=N.sizeCache,L=N.dom.content,z=N.dom.viewport,D=N.dom.root,H=N.config.classPrefix,C=N.config.axis.primary==="x",E=C?"translateX":"translateY",P=K>0?`transform ${K}ms ease`:"none",h=`${H}--sorting`,Y=`${H}--settling`,G=`${H}-item--drag-source`,u=`${H}-item--kb-sorting`,N.registerMethod("isSorting",()=>y||k),L.addEventListener("pointerdown",k2),D.addEventListener("keydown",N2),F=`${H}-sort-instructions`,A=document.createElement("div"),A.id=F,A.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",A.textContent="Press Space to reorder. Use arrow keys to move, Space to drop, Escape to cancel.",D.appendChild(A),I=document.createElement("div"),I.setAttribute("role","status"),I.setAttribute("aria-live","assertive"),I.setAttribute("aria-atomic","true"),I.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",D.appendChild(I),N.registerDestroyHandler(()=>{if(k)T2();P2(),L.removeEventListener("pointerdown",k2),D.removeEventListener("keydown",N2),A?.remove(),I?.remove()})},hooks:{onCommit(){if(!B)return;let N=L.children;for(let $2=0;$2<N.length;$2++){let V2=N[$2],e=O(V2);if(e<0)continue;if(V2.setAttribute("aria-roledescription","sortable item"),V2.setAttribute("aria-describedby",F),k)if(V2.getAttribute("data-id")===String(R))V2.classList.add(u);else V2.classList.remove(u);if(y)if(e===V)V2.classList.add(G),K2=V2;else{V2.classList.remove(G);let q2=0;if(X>V){if(e>V&&e<=X)q2=-Q2}else if(X<V){if(e>=X&&e<V)q2=Q2}let A2=Math.round(W.getOffset(e)+q2);V2.style.transform=`${E}(${A2}px)`}}}},destroy(){if(g&&g.parentNode)g.remove();g=null,R2(),A?.remove(),I?.remove(),B=null}}}function y0(Q,J){let $=[],K=J,Z=new Map,j=[];function U(){Z.clear();for(let V=0;V<$.length;V++)Z.set($[V].id,V)}function q(V){let X=$[V].depth,f=0;for(let l=V+1;l<$.length;l++){if($[l].depth<=X)break;f++}return f}function _(V,X,f,l){for(let w=0;w<V.length;w++){let x=V[w],r=x.id,g=Q(x),c=g.length>0,K2=c&&K.has(r);if(l.push({item:x,id:r,depth:f,parentId:X,hasChildren:c,expanded:K2,childCount:g.length,siblingCount:V.length,positionInSiblings:w,isLastChild:w===V.length-1,loading:!1}),K2)_(g,r,f+1,l)}}function W(V,X,f){for(let l of V){if(l.id===X)return l;let w=Q(l);if(w.length>0){f?.push(l.id);let x=W(w,X,f);if(x)return x;f?.pop()}}return}function B(V,X){if(X===null)return j;let f=W(j,X);return f?Q(f):[]}function L(V,X){let f=W(j,X);if(!f)return!1;return W(Q(f),V)!==void 0}function z(V){let X=new Set;function f(l){for(let w of l){if(X.has(w.id))throw Error(`[vlist] tree: duplicate id "${w.id}"`);X.add(w.id);let x=Q(w);if(x.length>0)f(x)}}f(V)}function D(V,X){if(j=V,!X)z(V);$.length=0,_(V,null,0,$),U()}function H(V){let X=Z.get(V);if(X===void 0)return 0;let f=$[X];if(!f.hasChildren||f.expanded)return 0;let l=[],w=Q(f.item);if(_(w,V,f.depth+1,l),l.length===0)return 0;f.expanded=!0,K.add(V);let x=X+1,r=$.splice(x);for(let g=0;g<l.length;g++)$.push(l[g]);for(let g=0;g<r.length;g++)$.push(r[g]);return U(),l.length}function C(V){let X=Z.get(V);if(X===void 0)return 0;let f=$[X];if(!f.hasChildren||!f.expanded)return 0;f.expanded=!1,K.delete(V);let l=q(X);if(l>0)$.splice(X+1,l),U();return l}function E(V){function X(f){for(let l of f){let w=Q(l);if(w.length>0)K.add(l.id),X(w)}}X(V),D(V)}function P(){K.clear(),D(j,!0)}function h(V){let X=[];if(!W(j,V,X))return;for(let f of X)K.add(f);D(j,!0)}function Y(V,X,f){if(Z.has(X.id)||W(j,X.id))throw Error(`[vlist] tree: duplicate id "${X.id}"`);if(V===null){let g=j,c=f??g.length;g.splice(c,0,X),D(j,!0);return}let l=Z.get(V);if(l===void 0)throw Error(`[vlist] tree: parent "${V}" not found`);let w=$[l],x=Q(w.item),r=f??x.length;if(x.splice(r,0,X),!w.hasChildren)w.hasChildren=!0,w.childCount=1,w.expanded=!1;else w.childCount=x.length;if(w.expanded)D(j,!0);else U()}function G(V){let X=Z.get(V);if(X===void 0)return 0;let f=$[X],w=q(X)+1;for(let g=X;g<X+w;g++)K.delete($[g].id);if($.splice(X,w),f.parentId!==null){let g=Z.get(f.parentId);if(g!==void 0){let c=$[g];if(c.childCount--,c.childCount===0)c.hasChildren=!1,c.expanded=!1,K.delete(c.id)}}let x=B(V,f.parentId),r=x.findIndex((g)=>g.id===V);if(r>=0)x.splice(r,1);return D(j,!0),w}function y(V,X,f){if(X!==null&&L(X,V))throw Error(`[vlist] tree: cannot move "${V}" to its own descendant "${X}"`);if(V===X)throw Error(`[vlist] tree: cannot move "${V}" to itself`);let l=Z.get(V);if(l===void 0)return;let w=$[l],x=B(V,w.parentId),r=x.findIndex((g)=>g.id===V);if(r>=0)x.splice(r,1);if(X===null){let g=j,c=f??g.length;g.splice(c,0,w.item)}else{let g=W(j,X);if(!g)throw Error(`[vlist] tree: new parent "${X}" not found`);let c=Q(g),K2=f??c.length;c.splice(K2,0,w.item)}D(j,!0)}return{flatNodes:$,expandedIds:K,idToIndex:Z,rebuild:D,expand:H,collapse:C,expandAll:E,collapseAll:P,expandTo:h,getSubtreeSize:q,addChild:Y,removeNode:G,moveNode:y,get totalVisible(){return $.length},get rootItems(){return j}}}var N6=()=>[];function X6(Q){let{children:J,parentId:$}=Q;if($!==void 0)return N6;if(J===void 0||J==="children")return(K)=>K.children??[];if(typeof J==="string"){let K=J;return(Z)=>Z[K]??[]}return J}function M6(Q){let{label:J}=Q;if(J===void 0)return($)=>{let K=$;return String(K.name??K.label??K.title??$.id)};if(typeof J==="string"){let $=J;return(K)=>String(K[$]??K.id)}return J}function D6(Q,J,$){let{expanded:K}=Q,Z=new Set;if(K===void 0||K===!1)return Z;if(Array.isArray(K)){for(let q of K)Z.add(q);return Z}let j=K===!0?null:K;function U(q){for(let _ of q){let W=$(_);if(W.length>0){if(!j||j(_))Z.add(_.id);U(W)}}}return U(J),Z}function y4(Q,J){let{parentId:$}=J;if($===void 0)throw Error("[vlist] tree: parentId not set");let K=typeof $==="string"?(q)=>q[$]??null:$,Z=(q)=>K(q)??null,j=new Map,U=new Map;for(let q of Q){U.set(q.id,q);let _=Z(q),W=j.get(_);if(!W)W=[],j.set(_,W);W.push(q)}for(let q of Q){let _=Z(q);if(_!==null&&_!==void 0&&!U.has(_))console.warn(`[vlist] tree: orphaned node "${q.id}" — parentId "${_}" not found`)}return{roots:j.get(null)??[],getChildren:(q)=>{let _=j.get(q.id);if(!_)_=[],j.set(q.id,_);return _}}}var g2={selected:!1,focused:!1},l2={depth:0,expanded:!1,hasChildren:!1,isLeaf:!0,isLastChild:!1,loading:!1};g2.tree=l2;function v0(Q){let J=Q??{},$=J.indent??24,K=J.paddingStart??0,Z=J.expandOnClick??!1,j=J.connectorLines??!1,U=J.parentId!==void 0,q,_,W,B,L,z,D,H,C,E,P=null,h,Y,G,y=null,V=!1,X,f,l,w,x,r,g,c=new Map,K2=-1,Q2=-1,d=-1,v=!0,S=null,k=!1,R,a=-1,n=!1,s=!1,F="",A=null,I={start:0,end:-1};function u(){if(V)return;V=!0,y=h("_scale:getCompression")??null}function M(){if(s){let b=h("_getFocusedIndex");return b?b():-1}return n?a:-1}let T,O,m;function Z2(){if(O!==void 0)return;T=h("select")??null,O=h("_focusById")??null,m=h("_isFollowFocus")??null}function o(b){if(b<0||b>=q.totalVisible)return;let X2=q.flatNodes[b];if(!X2)return;if(s){if(Z2(),O)O(X2.id);if(m?.()&&T)T(X2.id);else U2();J2(b)}else a=b,n=!0,L.setAttribute("aria-activedescendant",`${C}-item-${b}`),J2(b),U2()}function J2(b){let X2=_.getOffset(b),O2=_.getSize(b),T2=W.scrollPosition,w2=W.containerSize;if(X2<T2)t(X2);else if(X2+O2>T2+w2)t(X2-w2+O2)}let t,U2,W2;function L2(b){return H?`translate(${Math.round(b)}px, 0)`:`translate(0, ${Math.round(b)}px)`}function p(b){if(b===d)return;d=b,L.style[H?"width":"height"]=b+"px"}function j2(){c.forEach((b)=>{b.remove(),B.release(b)}),c.clear()}let i=0;function Y2(){let b=W2();if(b===S&&b.length===i)return;if(S=b,i=b.length,U){let{roots:X2,getChildren:O2}=y4(b,J),T2=J.loadChildren?(w2)=>B2.get(w2.id)??O2(w2):O2;q=y0(T2,q.expandedIds),q.rebuild(X2,!0)}else q.rebuild(b,!0);M2(),j2()}function M2(){W.totalItems=q.totalVisible,R(q.totalVisible);let b=_.getTotalSize();p(b);let X2=h("_scrollbar:getInstance");if(X2)X2()?.updateBounds(b,W.containerSize)}function _2(){M2(),j2(),U2()}let B2=new Map,R2=new Set;async function P2(b){if(!J.loadChildren||R2.has(b))return;let X2=q.idToIndex.get(b);if(X2===void 0)return;let O2=q.flatNodes[X2];R2.add(b),O2.loading=!0,queueMicrotask(()=>U2());try{let T2=await J.loadChildren(O2.item);R2.delete(b);let w2=q.idToIndex.get(b);if(w2===void 0)return;let N2=q.flatNodes[w2];if(N2.loading=!1,B2.set(b,T2),N2.hasChildren=T2.length>0,N2.childCount=T2.length,T2.length>0)N2.expanded=!0,q.expandedIds.add(b),q.rebuild(q.rootItems);_2(),Y.emit("tree:load",{id:b,item:N2.item,children:T2})}catch(T2){R2.delete(b),B2.set(b,[]);let w2=q.idToIndex.get(b);if(w2!==void 0)q.flatNodes[w2].loading=!1;U2(),Y.emit("tree:load:error",{id:b,item:O2.item,error:T2})}}function b2(b){let X2=q.idToIndex.get(b);if(X2===void 0)return;let O2=q.flatNodes[X2];if(J.loadChildren&&!O2.hasChildren&&!O2.loading){if(!B2.has(b)){P2(b);return}}if(q.expand(b)===0)return;_2(),Y.emit("tree:expand",{id:b,item:O2.item,depth:O2.depth})}function k2(b){let X2=q.idToIndex.get(b);if(X2===void 0)return;let O2=q.flatNodes[X2],T2=q.collapse(b);if(T2===0)return;if(!s&&a>X2){if(a<=X2+T2)a=X2;else a-=T2;if(n)L.setAttribute("aria-activedescendant",`${C}-item-${a}`)}_2(),Y.emit("tree:collapse",{id:b,item:O2.item,depth:O2.depth})}function z2(b,X2,O2,T2){let{depth:w2,expanded:N2,hasChildren:N,loading:$2,siblingCount:V2,positionInSiblings:e,isLastChild:q2,id:A2}=X2;if(b.className=X,N2)b.classList.add(f);if(!N)b.classList.add(l);if($2)b.classList.add(w);if(j&&q2)b.classList.add(x);if(b.setAttribute("role","treeitem"),b.setAttribute("data-index",String(O2)),b.setAttribute("data-id",String(A2)),b.id=`${C}-item-${O2}`,b.setAttribute("aria-level",String(w2+1)),b.setAttribute("aria-setsize",String(V2)),b.setAttribute("aria-posinset",String(e+1)),N)b.setAttribute("aria-expanded",String(N2));else b.removeAttribute("aria-expanded");if(b.style.paddingLeft=`${K+w2*$}px`,b.style.setProperty("--vlist-tree-depth",String(w2)),j)b.style.setProperty("--vlist-tree-indent",`${$}px`),b.style.setProperty("--vlist-tree-pad",`${K}px`);if(T2)T2(O2,g2);else g2.selected=!1,g2.focused=!1;l2.depth=w2,l2.expanded=N2,l2.hasChildren=N,l2.isLeaf=!N,l2.isLastChild=q2,l2.loading=$2;let E2=D(X2.item,O2,g2);if(typeof E2==="string")b.innerHTML=E2;else b.innerHTML="",b.appendChild(E2);u2(b)}function G2(){if(W.destroyed)return;if(Y2(),!k){if(k=!0,L.setAttribute("role","tree"),L.setAttribute("tabindex","0"),z.classList.add(`${C}--tree`),j)z.classList.add(`${C}--tree-lines`)}let{scrollPosition:b,containerSize:X2}=W;if(!v&&b===K2&&X2===Q2)return;K2=b,Q2=X2,v=!1;let O2=q.totalVisible;if(X2<=0||O2===0){if(c.size>0)j2();return}u();let T2=y?.()??null,w2=T2!==null&&T2.isCompressed,N2,N;if(w2)x2(b,X2,_,O2,T2,I),N2=Math.max(0,I.start-E),N=Math.min(O2-1,I.end+E);else{let q2=_.indexAtOffset(b),A2=_.indexAtOffset(b+X2);if(A2<O2-1)A2++;q2=Math.max(0,q2),A2=Math.min(O2-1,Math.max(0,A2)),N2=Math.max(0,q2-E),N=Math.min(O2-1,A2+E)}if(N2===W.prevRangeStart&&N===W.prevRangeEnd&&!W.renderPending)return;c.forEach((q2,A2)=>{if(A2<N2||A2>N)q2.remove(),B.release(q2),c.delete(A2)});let $2=P?.()??null,V2=null;for(let q2=N2;q2<=N;q2++){let A2=q.flatNodes[q2],E2=c.get(q2);if(E2===void 0){if(E2=B.acquire(),z2(E2,A2,q2,$2),E2.style[H?"width":"height"]=`${_.getSize(q2)}px`,c.set(q2,E2),!V2)V2=document.createDocumentFragment();V2.appendChild(E2)}else if(E2.getAttribute("data-id")!==String(A2.id)||E2.classList.contains(w)!==A2.loading)z2(E2,A2,q2,$2);if(E2.style.transform=w2?L2(I2(q2,b,_,O2,X2,T2)):L2(_.getOffset(q2)),$2)if($2(q2,g2),E2.classList.toggle(r,g2.selected),E2.classList.toggle(g,g2.focused),g2.selected)E2.setAttribute("aria-selected","true");else E2.removeAttribute("aria-selected");else if(!s){let y2=n&&a===q2;E2.classList.toggle(g,y2)}}if(V2)L.appendChild(V2);p(_.getTotalSize()),W.prevRangeStart=N2,W.prevRangeEnd=N,W.renderPending=!1;let e=0;for(let q2=N2;q2<=N&&e<W.capacity;q2++)W.visibleIndices[e]=q2,W.visibleOffsets[e]=_.getOffset(q2),W.visibleSizes[e]=_.getSize(q2),e++;W.visibleCount=e,W.startIndex=N2}function H2(){if(W.destroyed)return;W.prevRangeStart=-1,W.prevRangeEnd=-1,W.renderPending=!0,v=!0,G2()}function D2(b,X2){if(F+=b.toLowerCase(),A!==null)clearTimeout(A);A=setTimeout(()=>{F="",A=null},500);let O2=q.totalVisible;for(let T2=1;T2<=O2;T2++){let w2=(X2+T2)%O2,N2=q.flatNodes[w2];if(G(N2.item).toLowerCase().startsWith(F)){o(w2);return}}}function F2(b){let X2=!1;for(let O2 of q.flatNodes)if(O2.parentId===b.parentId&&O2.hasChildren&&!O2.expanded)q.expandedIds.add(O2.id),X2=!0;if(!X2)return;q.rebuild(q.rootItems,!0),_2()}return{name:"tree",priority:10,conflicts:["groups","grid","masonry","table"],setup(b){_=b.sizeCache,W=b.getState(),B=b.pool,L=b.dom.content,z=b.dom.root,D=b.template,H=b.config.axis.primary==="x",C=b.config.classPrefix,E=b.config.overscan,Y=b.emitter,P=b.getItemStateFn.bind(b),h=b.getMethod.bind(b),t=b.scrollTo.bind(b),U2=b.forceRender.bind(b),W2=b.getItems.bind(b),X=`${C}-item ${C}-tree-node`,f=`${C}-tree-node--expanded`,l=`${C}-tree-node--leaf`,w=`${C}-tree-node--loading`,x=`${C}-tree-node--last`,r=`${C}-item--selected`,g=`${C}-item--focused`;let X2=b.getItems();S=X2,i=X2.length;let O2,T2;if(U){let e=y4(X2,J);O2=e.getChildren,T2=e.roots}else O2=X6(J),T2=X2;let w2=J.loadChildren?(e)=>B2.get(e.id)??O2(e):O2;G=M6(J);let N2=D6(J,T2,w2);q=y0(w2,N2),q.rebuild(T2),R=_.rebuild,_.rebuild=(e)=>{R(q.totalVisible)},_.rebuild(q.totalVisible),W.totalItems=q.totalVisible,b.setVirtualTotalFn(()=>q.totalVisible),b.setGetItemFn((e)=>{let q2=q.flatNodes[e];return q2?q2.item:void 0}),b.setGetIndexByIdFn((e)=>{return q.idToIndex.get(e)??-1}),b.setRenderFn(G2,H2),b.registerMethod("_layoutToDataIndex",(e)=>e),b.registerMethod("_dataToLayoutIndex",(e)=>e),b.registerMethod("_getLoadedItem",(e)=>{let q2=q.flatNodes[e];return q2?q2.item:void 0}),b.registerMethod("_getRenderedElement",(e)=>c.get(e)??null),queueMicrotask(()=>{s=!!(h("_getFocusedIndex")||b.getItemStateFn())}),b.setInsertItemFn((e,q2)=>{let A2=W2(),E2=Math.min(q2,A2.length);A2.splice(E2,0,e),i=A2.length,q.rebuild(A2),_2()}),b.setRemoveItemFn((e)=>{let q2=q.idToIndex.get(e),A2=null;if(U&&q2!==void 0){A2=new Set,A2.add(e);let y2=q.getSubtreeSize(q2);for(let v2=q2+1;v2<=q2+y2;v2++)A2.add(q.flatNodes[v2].id)}let E2=q.removeNode(e);if(E2===0)return-1;if(!s&&q2!==void 0&&a>=q2)a=Math.max(0,Math.min(a-E2,q.totalVisible-1));if(U&&A2){let y2=W2();for(let v2=y2.length-1;v2>=0;v2--)if(A2.has(y2[v2].id))y2.splice(v2,1)}return i=W2().length,_2(),Y.emit("data:change",{type:"remove",id:e}),E2}),b.setUpdateItemFn((e,q2)=>{let A2=q.idToIndex.get(e);if(A2===void 0)return!1;let E2=q.flatNodes[A2];Object.assign(E2.item,q2);let y2=c.get(A2);if(y2)z2(y2,E2,A2,P?.()??null);return Y.emit("data:change",{type:"update",id:e}),!0}),b.registerClickHandler((e)=>{let q2=e.target.closest("[data-index]");if(!q2)return;let A2=parseInt(q2.dataset.index??"-1",10);if(A2<0)return;let E2=q.flatNodes[A2];if(!E2)return;let y2=E2.id,v2=!1;if(Z&&(E2.hasChildren||J.loadChildren&&!E2.loading&&!B2.has(y2))){let S2=q.totalVisible;if(E2.expanded)k2(y2);else b2(y2);v2=q.totalVisible!==S2}if(s&&v2){if(Z2(),O)O(y2);if(T)T(y2)}else if(!s)a=q.idToIndex.get(y2)??A2,n=!1,L.focus({preventScroll:!0})});let N=()=>{if(W.destroyed||s)return;if(!L.matches(":focus-visible")&&!z.matches(":focus-visible"))return;let e=q.totalVisible;if(e===0)return;a=a>=0?Math.min(a,e-1):0,n=!0,L.setAttribute("aria-activedescendant",`${C}-item-${a}`),J2(a),H2()};z.addEventListener("focusin",N);let $2=(e)=>{if(W.destroyed||s)return;let q2=e.relatedTarget;if(q2&&z.contains(q2))return;n=!1,L.removeAttribute("aria-activedescendant"),H2()};z.addEventListener("focusout",$2),b.registerKeydownHandler((e)=>{if(W.destroyed)return;let q2=q.totalVisible;if(q2===0)return;let A2=M();if(A2<0&&!s&&(e.key==="ArrowDown"||e.key==="Home")){o(0),e.preventDefault();return}if(A2<0)return;let E2=q.flatNodes[A2];if(!E2)return;switch(e.key){case"ArrowRight":{if(E2.hasChildren||J.loadChildren&&!E2.loading)if(!E2.expanded)b2(E2.id);else o(A2+1);e.preventDefault();break}case"ArrowLeft":{if(E2.hasChildren&&E2.expanded)k2(E2.id);else if(E2.parentId!==null){let y2=q.idToIndex.get(E2.parentId);if(y2!==void 0)o(y2)}e.preventDefault();break}case"*":{F2(E2),e.preventDefault();break}default:{if(!s){if(e.key==="ArrowDown"){if(A2<q2-1)o(A2+1);e.preventDefault();break}if(e.key==="ArrowUp"){if(A2>0)o(A2-1);e.preventDefault();break}if(e.key==="Home"){o(0),e.preventDefault();break}if(e.key==="End"){o(q2-1),e.preventDefault();break}if(e.key==="Enter"){Y.emit("item:click",{item:E2.item,index:A2,event:e}),e.preventDefault();break}}if(e.key.length===1&&!e.ctrlKey&&!e.altKey&&!e.metaKey)D2(e.key,A2),e.preventDefault()}}}),b.registerMethod("expand",b2),b.registerMethod("collapse",k2),b.registerMethod("toggle",(e)=>{let q2=q.idToIndex.get(e);if(q2===void 0)return;if(q.flatNodes[q2].expanded)k2(e);else b2(e)}),b.registerMethod("expandAll",()=>{q.expandAll(q.rootItems),_2()}),b.registerMethod("collapseAll",()=>{q.collapseAll(),_2()}),b.registerMethod("expandTo",(e)=>{q.expandTo(e),_2();let q2=q.idToIndex.get(e);if(q2!==void 0)J2(q2)}),b.registerMethod("getExpanded",()=>Array.from(q.expandedIds)),b.registerMethod("isExpanded",(e)=>q.expandedIds.has(e));let V2=U&&typeof J.parentId==="string"?J.parentId:null;b.registerMethod("addChild",(e,q2,A2)=>{if(V2)q2[V2]=e;if(U){let E2=W2();E2.push(q2),i=E2.length}q.addChild(e,q2,A2),_2(),Y.emit("data:change",{type:"add",id:q2.id})}),b.registerMethod("moveNode",(e,q2,A2)=>{if(V2){let E2=q.idToIndex.get(e);if(E2!==void 0)q.flatNodes[E2].item[V2]=q2}q.moveNode(e,q2,A2),_2()}),b.registerMethod("getTreeLayout",()=>({totalVisible:q.totalVisible,flatNodes:q.flatNodes})),b.registerDestroyHandler(()=>{if(z.removeEventListener("focusin",N),z.removeEventListener("focusout",$2),j2(),z.classList.remove(`${C}--tree`),z.classList.remove(`${C}--tree-lines`),A!==null)clearTimeout(A)})},destroy(){if(c.clear(),A!==null)clearTimeout(A)}}}var v4=(Q)=>{if(typeof Q==="function")return Q;if(typeof Q==="string")return(J)=>{let $=J[Q];return $==null?"":String($)};return(J)=>{if(J==null)return"";let $="";for(let K in J){let Z=J[K];if(typeof Z==="string")$+=$?" "+Z:Z}return $}},C0=(Q,J,$)=>{if(!J)return!1;return($?Q:Q.toLowerCase()).includes(J)},G6=(Q,J)=>{let $=Q.querySelectorAll(`mark.${J}`);for(let K=$.length-1;K>=0;K--){let Z=$[K],j=Z.parentNode;if(!j)continue;let U=document.createTextNode(Z.textContent??"");j.replaceChild(U,Z),j.normalize()}},S0=(Q,J,$,K)=>{if(!J)return;G6(Q,K);let Z=$?J:J.toLowerCase(),j=J.length,U=document.createTreeWalker(Q,NodeFilter.SHOW_TEXT,{acceptNode(W){let B=W.nodeValue??"";return($?B:B.toLowerCase()).includes(Z)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),q=[],_;while((_=U.nextNode())!==null)q.push(_);for(let W of q){let B=W.nodeValue??"",L=$?B:B.toLowerCase(),z=document.createDocumentFragment(),D=0,H=L.indexOf(Z,0);while(H!==-1){if(H>D)z.appendChild(document.createTextNode(B.slice(D,H)));let C=document.createElement("mark");C.className=K,C.textContent=B.slice(H,H+j),z.appendChild(C),D=H+j,H=L.indexOf(Z,D)}if(D<B.length)z.appendChild(document.createTextNode(B.slice(D)));W.parentNode?.replaceChild(z,W)}};var f0=(Q,J,$,K)=>{let Z=document.createElement("button");return Z.type="button",Z.className=Q,Z.tabIndex=K,Z.setAttribute("aria-label",J),Z.innerHTML=$,Z},C4=(Q,J,$,K,Z,j,U)=>{let q=`${$}-search`,_=document.createElement("div");if(_.className=`${q} ${q}--bar ${q}--${K}`,_.setAttribute("role","search"),_.setAttribute("aria-disabled","false"),Z.region)_.setAttribute("aria-label",Z.region);let W=document.createElement("div");W.className=`${q}__container`;let B=document.createElement("span");B.className=`${q}__leading-icon`,B.setAttribute("aria-hidden","true"),B.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M0 0h24v24H0z" fill="none"></path><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path></svg>';let L=document.createElement("div");L.className=`${q}__input-wrapper`;let z=document.createElement("input");if(z.type="text",z.className=`${q}__input`,z.placeholder=Z.placeholder,z.spellcheck=!1,z.autocomplete="off",z.setAttribute("aria-label",Z.placeholder),j)z.setAttribute("aria-controls",j);L.appendChild(z);let D=document.createElement("span");D.className=`${q}__counter`,D.setAttribute("aria-live","polite");let H=f0(`${q}__nav-prev`,Z.previous,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M7.41 15.41 12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path></svg>',-1),C=f0(`${q}__nav-next`,Z.next,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z"></path></svg>',-1),E=f0(`${q}__clear-button ${q}__clear-button--hidden`,Z.clear,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M0 0h24v24H0z" fill="none"></path><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>',-1);if(W.append(B,L,D,H,C,E),_.appendChild(W),K==="top"&&J)Q.insertBefore(_,J);else if(K==="top")Q.insertBefore(_,Q.firstChild);else Q.appendChild(_);let P=()=>{E.classList.toggle(`${q}__clear-button--hidden`,z.value.length===0)},h=()=>{P(),U.onInput(z.value)},Y=(f)=>U.onKeydown(f),G=()=>z.focus(),y=()=>{U.onClear(),z.focus()},V=()=>U.onPrev(),X=()=>U.onNext();return z.addEventListener("input",h),z.addEventListener("keydown",Y),B.addEventListener("click",G),E.addEventListener("click",y),H.addEventListener("click",V),C.addEventListener("click",X),{root:_,input:z,setCounter(f){D.textContent=f},showNav(f){H.classList.toggle(`${q}__nav-prev--hidden`,!f),C.classList.toggle(`${q}__nav-next--hidden`,!f)},focus(){z.focus(),z.select()},setValue(f){z.value=f,P()},destroy(){z.removeEventListener("input",h),z.removeEventListener("keydown",Y),B.removeEventListener("click",G),E.removeEventListener("click",y),H.removeEventListener("click",V),C.removeEventListener("click",X),_.remove()}}};var h0={placeholder:"Search…",clear:"Clear search",previous:"Previous match",next:"Next match",noResults:"No results",results:(Q)=>`${Q} result${Q===1?"":"s"}`,position:(Q,J)=>`${Q} of ${J}`,region:""};function I0(Q={}){let J=Q.mode??"filter",$=Q.position??"top",K={...h0,...Q.text},Z=Q.caseSensitive??!1,j=Q.highlight!==!1,U=typeof Q.highlight==="object"&&Q.highlight!==null?Q.highlight.within:void 0,q=Q.minLength??1,_=Q.cancelTimeout??0,W=Q.variant??"default",B=v4(Q.field),L,z,D,H,C,E=null,P=!1,h="",Y=[],G=new Set,y=0,V=!1,X=null,f=!1,l=null,w=null,x=null,r=()=>{if(f)return;f=!0,l=L.getMethod("scrollToIndex")??null,w=L.getMethod("filterTree")??null,x=L.getMethod("clearTreeFilter")??null},g=()=>{if(Y=[],G.clear(),h.length<q)return;let M=Z?h:h.toLowerCase(),T=L.getItems();for(let O=0;O<T.length;O++){let m=T[O];if(m!==void 0&&C0(B(m),M,Z))Y.push(O),G.add(O)}},c=()=>{if(r(),w){let O=Z?h:h.toLowerCase();w((m)=>C0(B(m),O,Z)),V=!0;return}let M=L.getItems(),T=Y;L.setGetItemFn((O)=>M[T[O]]),L.setVirtualTotalFn(()=>T.length),z.totalItems=T.length,L.rebuildSizeCache(),L.updateContentSize(L.sizeCache.getTotalSize()),V=!0},K2=()=>{if(!V)return;if(V=!1,x){x();return}L.setGetItemFn((M)=>L.getItems()[M]),L.setVirtualTotalFn(()=>L.getItems().length),z.totalItems=L.getItems().length,L.rebuildSizeCache(),L.updateContentSize(L.sizeCache.getTotalSize())},Q2=()=>{r();let M=Y[y];if(M===void 0)return;if(l)l(M,"center");else L.scrollTo(Math.max(0,L.sizeCache.getOffset(M)-L.getState().containerSize/2));let T=L.getItem(M);L.emitter.emit("search:match",{index:M,item:T,matchIndex:y,matches:Y.length})},d=()=>{if(!E)return;if(h.length<q)E.setCounter("");else if(Y.length===0)E.setCounter(K.noResults);else if(J==="navigate")E.setCounter(K.position(y+1,Y.length));else E.setCounter(K.results(Y.length))},v=()=>{let M=P&&h.length>=q;L.dom.root.classList.toggle(`${D}--searching`,M)},S=(M)=>{if(h=M,E?.setValue(h),g(),y=0,J==="filter")if(h.length>=q)c();else K2();if(v(),d(),L.forceRender(),J==="navigate"&&Y.length>0)Q2();L.emitter.emit("search:change",{query:h,matches:Y.length,total:L.getItems().length}),s()},k=()=>{if(!P)P=!0,L.dom.root.classList.add(`${D}--search-open`),L.emitter.emit("search:open",void 0);E?.focus(),s()},R=()=>{n();let M=P||h.length>0;if(P=!1,h.length>0)S("");if(L.dom.root.classList.remove(`${D}--search-open`),v(),M)L.emitter.emit("search:close",void 0)},a=(M)=>{if(Y.length===0)return;if(y=(y+M+Y.length)%Y.length,d(),J==="navigate")Q2(),L.forceRender()},n=()=>{if(X!==null)clearTimeout(X),X=null},s=()=>{if(n(),_>0&&P)X=setTimeout(()=>{X=null,R()},_)},F=(M)=>{if(!j||h.length<q)return;let T=M.startIndex,O=T+Math.max(0,M.visibleCount-1),m=J==="navigate"?Y[y]:-1;for(let Z2=T;Z2<=O;Z2++){let o=L.getRenderedElement(Z2);if(!o)continue;if(U){let J2=o.querySelectorAll(U);for(let t=0;t<J2.length;t++)S0(J2[t],h,Z,H)}else S0(o,h,Z,H);if(J==="navigate"){let J2=Z2===m,t=o.querySelectorAll(`.${H}`);for(let U2=0;U2<t.length;U2++)t[U2].classList.toggle(C,J2)}}},A=(M)=>M.key.length===1&&!M.ctrlKey&&!M.metaKey&&!M.altKey,I=(M)=>{if((M.ctrlKey||M.metaKey)&&(M.key==="f"||M.key==="F")){M.preventDefault(),k();return}if(!P){if($==="none"&&A(M))M.preventDefault(),k(),S(h+M.key);return}switch(M.key){case"Escape":M.preventDefault(),R();break;case"Enter":M.preventDefault(),a(M.shiftKey?-1:1);break;case"ArrowDown":M.preventDefault(),a(1);break;case"ArrowUp":M.preventDefault(),a(-1);break;default:if($==="none"){if(M.key==="Backspace"){if(M.preventDefault(),S(h.slice(0,-1)),h.length===0)R()}else if(A(M))M.preventDefault(),S(h+M.key)}}},u=(M)=>{if(M.key==="Escape"||M.key==="Enter"||M.key==="ArrowDown"||M.key==="ArrowUp")I(M)};return{name:"search",priority:55,setup(M){if(L=M,z=L.getState(),D=L.config.classPrefix,H=`${D}-search-match`,C=`${D}-search-match--current`,$!=="none"){let O=L.dom.root.id||void 0;if(E=C4(L.dom.root,L.dom.viewport,D,$,{placeholder:K.placeholder,clear:K.clear,previous:K.previous,next:K.next,region:K.region},O,{onInput:(m)=>S(m),onClear:()=>S(""),onPrev:()=>a(-1),onNext:()=>a(1),onKeydown:u}),E.showNav(J==="navigate"),W!=="default")E.root.classList.add(`${D}-search--${W}`);L.dom.root.classList.add(`${D}--has-search`)}let T=L.getItemStateFn();L.setItemStateFn((O,m)=>{if(T)T(O,m);if(h.length<q){delete m.search;return}if(J==="filter")m.search={matched:!0,query:h,matchIndex:O,isCurrent:!1};else{let Z2=Y.indexOf(O);m.search={matched:G.has(O),query:h,matchIndex:Z2,isCurrent:Z2!==-1&&Z2===y}}}),L.registerMethod("openSearch",k),L.registerMethod("closeSearch",R),L.registerMethod("setQuery",(O)=>{if(!P)k();S(O)}),L.registerMethod("getQuery",()=>h),L.registerMethod("nextMatch",()=>a(1)),L.registerMethod("prevMatch",()=>a(-1)),L.registerMethod("getMatches",()=>Y.slice()),L.registerKeydownHandler(I),L.registerDestroyHandler(()=>{n(),K2(),E?.destroy(),E=null,L.dom.root.classList.remove(`${D}--search-open`,`${D}--searching`,`${D}--has-search`)})},hooks:{onCommit(M){F(M)}}}}var A6=50,H6=0.1;function S4(Q){let J=0,$=0,K=0;function Z(){return K>0?$/K:0}function j(_){if(J=_,_>H6&&_<A6)$+=_,K++}function U(){let _=Q.getTotal();if(_===0)return 0;let W=Q.getItemSize();if(W<=0)return 0;let B=Q.getContainerSize();if(B<=0)return 0;let L=Q.getScrollPosition(),z=typeof Q.getColumns==="function"?Q.getColumns():1,H=Math.ceil(_/z)*W,E=Math.min(H,p2)-B,P=H-B,h=E>0?P/E:1,Y=L*h,G=Math.ceil((Y+B)/W);return Math.min(G*z,_)}function q(){let _=Q.getTotal(),W=U();return{progress:_>0?Math.min(100,Math.max(0,W/_*100)):0,velocity:J,velocityAvg:Z(),itemCount:W,total:_}}return{getState:q,onVelocity:j}}async function f4(Q,J,$){let K=$?.key,Z;if(Q){let H=Q.getScrollSnapshot;if(typeof H==="function")Z=H()}if(Z&&K)try{sessionStorage.setItem(K,JSON.stringify(Z))}catch{}let j=i2(K?{autoSave:K}:Z?{restore:Z}:void 0),U=J(j),q=U.element;if(q.style.position="absolute",q.style.inset="0",q.style.visibility="hidden",$?.ready)await $.ready(U);else await new Promise((H)=>requestAnimationFrame(()=>H()));let _=$?.delay;if(_&&_>0)await new Promise((H)=>setTimeout(H,_));let W=$?.transition,B=typeof W==="number"?W:W?.fadeIn??0,L=typeof W==="number"?W:W?.fadeOut??0,z=typeof W==="object"?W?.fadeOutDelay??0:0,D=Math.max(B,L+z);if(D>0&&Q){let H=Q.element;q.style.visibility="",q.style.opacity="0",q.offsetHeight,q.style.transition=`opacity ${B}ms ease`,H.style.transition=`opacity ${L}ms ease ${z}ms`,q.style.opacity="1",H.style.opacity="0",await new Promise((C)=>{setTimeout(C,D+50)}),q.style.transition="",q.style.opacity="",H.style.transition="",H.style.opacity=""}else q.style.visibility="";if(q.style.position="",q.style.inset="",Q)Q.destroy();return U}export{v0 as tree,F0 as transition,P0 as table,w0 as sortable,i2 as snapshots,O0 as selection,I0 as search,G0 as scrollbar,D0 as scale,f4 as rebuild,L0 as page,R0 as masonry,z0 as groups,A0 as grid,T0 as data,W4 as createVList,S4 as createStats,E0 as autosize,H0 as a11y};
|