vlist 2.0.1 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- var l2=3,T0="vlist";var r2=50;var b0=50,y0=2,k0=15,P0=6,S2=16000000,m2=150,Q0=1,s2=(j)=>j<0.5?2*j*j:1-(-2*j+2)**2/2,a2=300;var w0="x",z0=20,j0="_isPlaceholder",C2="__placeholder_";var o2={top:0,right:0,bottom:0,left:0},v0=(j)=>{if(j==null)return o2;if(typeof j==="number")return j===0?o2:{top:j,right:j,bottom:j,left:j};if(j.length===2){let[Z,K]=j;return Z===0&&K===0?o2:{top:Z,right:K,bottom:Z,left:K}}let[$,q,X,J]=j;return $===0&&q===0&&X===0&&J===0?o2:{top:$,right:q,bottom:X,left:J}},C0=(j,$)=>$?j.left+j.right:j.top+j.bottom,f0=(j,$)=>$?j.top+j.bottom:j.left+j.right;function I0(j){let $={visibleIndices:new Int32Array(j),visibleOffsets:new Float64Array(j),visibleSizes:new Float64Array(j),visibleCount:0,startIndex:0,totalSize:0,capacity:j,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(q,X,J=l2){if(X<=0||q<=0)return;let Z=Math.ceil(q/X)+J*2;if(Z<=$.capacity)return;let K=Z+8,M=new Int32Array(K),F=new Float64Array(K),U=new Float64Array(K);M.set($.visibleIndices),F.set($.visibleOffsets),U.set($.visibleSizes),$.visibleIndices=M,$.visibleOffsets=F,$.visibleSizes=U,$.capacity=K},clear(){$.visibleCount=0,$.startIndex=0}};return $}var T1=(j,$)=>{let q=$;return{getOffset:(X)=>X*j,getSize:(X)=>j,indexAtOffset:(X)=>{if(q===0||j===0)return 0;return Math.max(0,Math.min(Math.floor(X/j),q-1))},getTotalSize:()=>q*j,getTotal:()=>q,rebuild:(X)=>{q=X},isVariable:()=>!1}},b1=(j,$)=>{let q=$,X=new Float64Array(0),J=(K)=>{q=K,X=new Float64Array(K+1),X[0]=0;for(let M=0;M<K;M++)X[M+1]=X[M]+j(M)};J($);let Z=(K)=>{if(q===0)return 0;if(K<=0)return 0;if(K>=X[q])return q-1;let M=0,F=q-1;while(M<F){let U=M+F+1>>>1;if(X[U]<=K)M=U;else F=U-1}return M};return{getOffset:(K)=>{if(K<=0)return 0;if(K>=q)return X[q];return X[K]},getSize:(K)=>j(K),indexAtOffset:(K)=>Z(K),getTotalSize:()=>X[q]??0,getTotal:()=>q,rebuild:(K)=>J(K),isVariable:()=>!0}},i2=(j,$)=>{if(typeof j==="number")return T1(j,$);return b1(j,$)},q0=(j,$,q,X)=>{if(X===0)return 0;if(!j.isVariable())return Math.ceil(q/j.getSize(0));let J=0,Z=0,K=$;while(K<X&&Z<q)Z+=j.getSize(K),J++,K++;return Math.max(1,J)};function S0(j){let $=[],q=`${j}-item`,X=document.createElement("div");return X.className=q,{acquire(){if($.length>0)return $.pop();return X.cloneNode(!1)},release(J){if(J.className=q,J.removeAttribute("style"),J.removeAttribute("id"),J.removeAttribute("role"),J.removeAttribute("aria-selected"),J.removeAttribute("aria-posinset"),J.removeAttribute("aria-setsize"),J.removeAttribute("data-index"),J.removeAttribute("data-id"),J.innerHTML="",$.length<100)$.push(J)},get size(){return $.length},clear(){$.length=0}}}function p0(j){if(typeof j==="string"){let $=document.querySelector(j);if(!$)throw Error(`[vlist] Container not found: ${j}`);return $}return j}function h0(j,$,q,X,J){let Z=q?`${$} ${$}--horizontal`:$,K=q?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",M=q?"position:relative;height:100%":"position:relative;width:100%",F=` role="${X?"listbox":"list"}"`;if(X)F+=' tabindex="0"';if(J)F+=` aria-label="${J.replace(/"/g,"&quot;")}"`;if(q)F+=' aria-orientation="horizontal"';j.insertAdjacentHTML("beforeend",`<div class="${Z}"><div class="${$}-viewport" style="${K}" tabindex="-1"><div class="${$}-content" style="${M}"${F}></div></div></div>`);let U=j.lastElementChild,B=U.firstElementChild,l=B.firstElementChild,V=document.createElement("div");return V.className=`${$}-live`,V.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",V.setAttribute("aria-live","polite"),V.setAttribute("aria-atomic","true"),V.setAttribute("role","status"),U.appendChild(V),{root:U,viewport:B,content:l,liveRegion:V}}function u0(j){let{state:$,viewport:q,horizontal:X,wheelEnabled:J,onFrame:Z,onIdle:K}=j,M=j.idleTimeout||m2,F=j.scrollTarget??q,U=null,B=null;function l(){let H=X?q.scrollLeft:q.scrollTop;if(Math.abs(H-$.scrollPosition)<0.5)return;$.prevScrollPosition=$.scrollPosition,$.scrollPosition=H,$.scrollDirection=H>$.prevScrollPosition?1:H<$.prevScrollPosition?-1:0,Z(),D()}function V(H){if($.isCompressed)return;let L;if(X){if(Math.abs(H.deltaX)>Math.abs(H.deltaY))return;let W=q.scrollLeft,w=q.scrollWidth-q.clientWidth;if(L=Math.max(0,Math.min(W+H.deltaY*Q0,w)),Math.abs(L-W)<1)return;H.preventDefault(),q.scrollLeft=L}else{let W=q.scrollWidth>q.clientWidth;if(W&&Math.abs(H.deltaX)>Math.abs(H.deltaY))return;if(W&&H.deltaX!==0)H.preventDefault(),q.scrollLeft+=H.deltaX;let w=q.scrollTop,k=q.scrollHeight-q.clientHeight;if(L=Math.max(0,Math.min(w+H.deltaY*Q0,k)),Math.abs(L-w)<1)return;H.preventDefault(),q.scrollTop=L}$.prevScrollPosition=$.scrollPosition,$.scrollPosition=L,$.scrollDirection=L>$.prevScrollPosition?1:-1,Z(),D()}function D(){if(U!==null)clearTimeout(U);U=setTimeout(()=>{U=null,$.scrollDirection=0,K()},M)}function b(){if(B!==null)cancelAnimationFrame(B),B=null}function A(H,L,W,w=s2){b();let k=$.scrollPosition;if(Math.abs(H-k)<1){if(W)W(H);else if(X)q.scrollLeft=H;else q.scrollTop=H;return}let E=performance.now();function R(G){let z=G-E,I=Math.min(z/L,1),y=k+(H-k)*w(I);if(W)W(y);else if(X)q.scrollLeft=y;else q.scrollTop=y;if(!W)$.scrollPosition=y;if(Z(),I<1)B=requestAnimationFrame(R);else B=null}B=requestAnimationFrame(R)}return{attach(){if(F.addEventListener("scroll",l,{passive:!0}),J)F.addEventListener("wheel",V,{passive:!1})},detach(){if(F.removeEventListener("scroll",l),J)F.removeEventListener("wheel",V);if(b(),U!==null)clearTimeout(U),U=null},cancelScroll:b,smoothScrollTo:A}}var d2=[],y1={calculate:d2,commit:d2,afterScroll:d2,idle:d2,resize:d2};function g0(j){if(j.length===0)return y1;let $=[],q=[],X=[],J=[],Z=[];for(let K=0;K<j.length;K++){let M=j[K].hooks;if(M===void 0)continue;if(M.onCalculate!==void 0)$.push(M.onCalculate);if(M.onCommit!==void 0)q.push(M.onCommit);if(M.onAfterScroll!==void 0)X.push(M.onAfterScroll);if(M.onIdle!==void 0)J.push(M.onIdle);if(M.onResize!==void 0)Z.push(M.onResize)}return{calculate:$,commit:q,afterScroll:X,idle:J,resize:Z}}function x0(j,$){for(let q=0;q<j.length;q++)j[q]($)}function m0(j,$){for(let q=0;q<j.length;q++)j[q]($)}function X0(j,$,q){for(let X=0;X<j.length;X++)j[X]($,q)}function d0(j){for(let $=0;$<j.length;$++)j[$]()}function c0(j,$,q){for(let X=0;X<j.length;X++)j[X]($,q)}function l0(j,$,q,X,J,Z,K,M,F){let U=J!==0||Z!==0;return{prefix:j,selectedClass:`${j}-item--selected`,focusedClass:`${j}-item--focused`,placeholderClass:`${j}-item--placeholder`,replacedClass:`${j}-item--replaced`,translateProp:$?"translateX(":"translateY(",itemRole:q?"option":"listitem",interactive:q,horizontal:$,startPadding:X,gap:M,hasCrossPad:U,crossStartProp:U?$?"top":"left":"",crossEndProp:U?$?"bottom":"right":"",crossStartVal:U?J+"px":"",crossEndVal:U?Z+"px":"",oddClass:K,emitter:F??null}}function k1(j,$,q,X,J){if(j.containerSize<=0||j.totalItems===0)return j.clear(),!0;let{scrollPosition:Z,containerSize:K,totalItems:M}=j,F=J??0;j.totalSize=$.getTotalSize();let U=$.indexAtOffset(F>0?Math.max(0,Z-F):Z),B=$.indexAtOffset(Z+K);if(B<M-1)B++;U=Math.max(0,U),B=Math.min(M-1,Math.max(0,B));let l=Math.max(0,U-q),V=Math.min(M-1,B+q),D=Math.ceil(K/1)+q*2+10,b=V-l+1,A=Math.min(b,j.capacity,D);if(l===j.prevRangeStart&&V===j.prevRangeEnd&&!j.renderPending)return!1;j.visibleCount=A,j.startIndex=l;for(let H=0;H<A;H++){let L=l+H;j.visibleIndices[H]=L,j.visibleOffsets[H]=$.getOffset(L),j.visibleSizes[H]=$.getSize(L)}return x0(X.calculate,j),j.prevRangeStart=l,j.prevRangeEnd=V,j.renderPending=!1,!0}var v2={selected:!1,focused:!1};function P1(j,$,q){for(let X=0;X<$;X++)if(j[X]===q)return!0;return!1}var r0,s0,a0,o0;function w1(j,$){if(!P1(r0,s0,$))j.remove(),a0.release(j),o0.delete($)}function z1(j,$,q,X,J,Z,K,M,F,U){let B=F?null:J(),l=j.visibleCount,V=j.visibleIndices,D=K.interactive?String(j.totalItems):"",b=K.interactive&&j.totalItems!==j.prevAriaTotal,A=null;for(let H=0;H<l;H++){let L=V[H],W=j.visibleOffsets[H],w=j.visibleSizes[H],k=F?F(L):B[L];if(U)U(L,v2);else v2.selected=!1,v2.focused=!1;let E=Z.get(L),R=E;if(E===void 0){let G=$.acquire();if(k!==void 0){let y;try{y=X(k,L,v2)}catch(S){if(K.emitter)K.emitter.emit("error",{error:S instanceof Error?S:Error(String(S)),context:`template:render:${L}`});$.release(G);continue}if(typeof y==="string")G.innerHTML=y;else G.innerHTML="",G.appendChild(y)}if(G.setAttribute("role",K.itemRole),G.setAttribute("data-index",String(L)),K.interactive)G.id=K.prefix+"-item-"+L,G.setAttribute("aria-posinset",String(L+1)),G.setAttribute("aria-setsize",D);if(k!==void 0){let y=String(k.id);if(G.setAttribute("data-id",y),y.startsWith(C2))G.classList.add(K.placeholderClass)}if(K.hasCrossPad)G.style.setProperty(K.crossStartProp,K.crossStartVal),G.style.setProperty(K.crossEndProp,K.crossEndVal);if(U){if(G.classList.toggle(K.selectedClass,v2.selected),G.classList.toggle(K.focusedClass,v2.focused),v2.selected)G.setAttribute("aria-selected","true");else G.removeAttribute("aria-selected");G._lastSelected=v2.selected,G._lastFocused=v2.focused}if(K.oddClass)G.classList.toggle(K.oddClass,(L&1)===1);let z=W+K.startPadding;G.style.transform=K.translateProp+z+"px)",G._lastOffset=z;let I=w-K.gap;if(K.horizontal)G.style.width=I+"px";else G.style.height=I+"px";if(G._lastSize=I,G._lastItem=k,Z.set(L,G),A===null)A=document.createDocumentFragment();A.appendChild(G)}else{if(b)E.setAttribute("aria-setsize",D);if(k!==void 0&&R._lastItem!==k){let I=E.getAttribute("data-id"),y=String(k.id),S;try{S=X(k,L,v2)}catch(h){if(K.emitter)K.emitter.emit("error",{error:h instanceof Error?h:Error(String(h)),context:`template:render:${L}`});continue}if(typeof S==="string")E.innerHTML=S;else E.innerHTML="",E.appendChild(S);if(E.setAttribute("data-id",y),R._lastItem=k,I!==y){let h=I!==null&&I.startsWith(C2),r=y.startsWith(C2);if(h!==r)E.classList.toggle(K.placeholderClass,r);if(h&&!r)E.classList.add(K.replacedClass),setTimeout(()=>{E.classList.remove(K.replacedClass)},300)}}if(U){if(R._lastSelected!==v2.selected){if(E.classList.toggle(K.selectedClass,v2.selected),v2.selected)E.setAttribute("aria-selected","true");else E.removeAttribute("aria-selected");R._lastSelected=v2.selected}if(R._lastFocused!==v2.focused)E.classList.toggle(K.focusedClass,v2.focused),R._lastFocused=v2.focused}let G=W+K.startPadding;if(R._lastOffset!==G)E.style.transform=K.translateProp+G+"px)",R._lastOffset=G;let z=w-K.gap;if(R._lastSize!==z){if(K.horizontal)E.style.width=z+"px";else E.style.height=z+"px";R._lastSize=z}}}if(A!==null)q.appendChild(A);if(r0=V,s0=l,a0=$,o0=Z,Z.forEach(w1),K.interactive)j.prevAriaTotal=j.totalItems;m0(M.commit,j)}function Y0(j,$,q,X,J,Z,K,M,F,U,B,l){if(k1(j,$,q,U,F.startPadding))z1(j,X,J,Z,K,M,F,U,B,l)}var Z0=()=>{let j={},$=(Z,K)=>{if(!j[Z])j[Z]=new Set;return j[Z].add(K),()=>q(Z,K)},q=(Z,K)=>{j[Z]?.delete(K)};return{on:$,off:q,emit:(Z,K)=>{j[Z]?.forEach((M)=>{try{M(K)}catch(F){console.error(`[vlist] Error in event handler for "${String(Z)}":`,F)}})},clear:(Z)=>{if(Z)delete j[Z];else for(let K in j)delete j[K]}}};var i0=2,n0=(j=0)=>({velocity:0,sampleCount:0}),t0=(j,$)=>{let q=performance.now(),X=j._lt??q,J=j._lp??$,Z=q-X;if(j._lp=$,j._lt=q,Z===0)return j.sampleCount=Math.min(j.sampleCount+1,5),j;if(Z>100)return j.velocity=0,j.sampleCount=1,j;return j.velocity=Math.abs($-J)/Z,j.sampleCount=Math.min(j.sampleCount+1,5),j};function v1(j){let{item:$}=j;if($.height!==void 0&&typeof $.height==="number"){if(!Number.isFinite($.height)||$.height<=0)throw Error(`vlist: item.height must be a positive number, got ${$.height}`)}if($.width!==void 0&&typeof $.width==="number"){if(!Number.isFinite($.width)||$.width<=0)throw Error(`vlist: item.width must be a positive number, got ${$.width}`)}if($.estimatedHeight!==void 0){if(!Number.isFinite($.estimatedHeight)||$.estimatedHeight<=0)throw Error(`vlist: item.estimatedHeight must be a positive number, got ${$.estimatedHeight}`)}if($.estimatedWidth!==void 0){if(!Number.isFinite($.estimatedWidth)||$.estimatedWidth<=0)throw Error(`vlist: item.estimatedWidth must be a positive number, got ${$.estimatedWidth}`)}if($.gap!==void 0){if(typeof $.gap!=="number"||!Number.isFinite($.gap)||$.gap<0)throw Error(`vlist: item.gap must be a non-negative number, got ${$.gap}`)}if(j.overscan!==void 0){if(typeof j.overscan!=="number"||!Number.isFinite(j.overscan)||j.overscan<0)throw Error(`vlist: overscan must be a non-negative number, got ${j.overscan}`)}}function C1(j){let $=j.orientation==="horizontal",q=v0(j.padding);return{overscan:j.overscan??l2,horizontal:$,reverse:j.reverse??!1,classPrefix:j.classPrefix??T0,interactive:j.interactive??!0,mainAxisPadding:C0(q,$),crossAxisPadding:f0(q,$),startPadding:$?q.left:q.top,endPadding:$?q.right:q.bottom,crossPadStart:$?q.top:q.left,crossPadEnd:$?q.bottom:q.right,striped:j.item.striped||!1,gap:j.item.gap??0}}function f1(j,$){if($)return j.item.width??j.item.estimatedWidth??100;return j.item.height??j.item.estimatedHeight??40}function I1(j){let $=[...j];return $.sort((q,X)=>(q.priority??50)-(X.priority??50)),$}function S1(j){let $=new Set;for(let q of j){if($.has(q.name))throw Error(`[vlist] Duplicate plugin: ${q.name}`);$.add(q.name)}for(let q of j)if(q.conflicts){for(let X of q.conflicts)if($.has(X))throw Error(`[vlist] Plugin "${q.name}" conflicts with "${X}"`)}}function e0(j,$=[]){v1(j);let q=C1(j),X=f1(j,q.horizontal),J=q.gap,Z=J>0?typeof X==="function"?(X2)=>X(X2)+J:X+J:X,K=typeof X==="number"?X:20,M=j.items?.length??0,F=q.striped?`${q.classPrefix}-item--odd`:"",U=Z0(),B=l0(q.classPrefix,q.horizontal,q.interactive,q.startPadding,q.crossPadStart,q.crossPadEnd,F,J,U),l=$.length>0?I1($):$;if($.length>0)S1(l);let V=p0(j.container),D=h0(V,q.classPrefix,q.horizontal,q.interactive,j.ariaLabel);if(j.scroll?.scrollbar==="none")D.viewport.classList.add(`${q.classPrefix}-viewport--no-scrollbar`);if(j.scroll?.gutter==="stable")D.viewport.classList.add(`${q.classPrefix}-viewport--gutter-stable`);let A=i2(Z,M);if(J>0){let X2=A.getTotalSize;A.getTotalSize=()=>{let d=X2();return d>0?d-J:0}}let H=S0(q.classPrefix),L=Math.ceil(4096/K)+q.overscan*2+8,W=I0(L);W.totalItems=M;let w=j.items??[],k=()=>w,E=new Map,R=n0(),G={velocity:0,reliable:!1},z={range:{start:0,end:-1}},I={scrollPosition:0,direction:"down"},y={scrollPosition:0},S=-1,h=-1,r=-1,c=null,P=g0(l),T=new Map,v=[],Y=[],N=[],O=null,p=null,s=null,o=null,u=null,Q=null,_=null,C=null,g=null,i=null,f=!1,x=!1,a=null,e=0,t=0,Q2=null,Z2=null,G2=null,M2=null,W2=null;if(W.containerSize=q.horizontal?D.viewport.clientWidth:D.viewport.clientHeight,W.crossSize=q.horizontal?D.viewport.clientHeight:D.viewport.clientWidth,$.length>0){let X2={dom:D,sizeCache:A,pool:H,config:q,emitter:U,template:j.item.template,registerMethod(d,U2){T.set(d,U2)},getMethod(d){return T.get(d)},registerClickHandler(d){v.push(d)},registerKeydownHandler(d){Y.push(d)},registerDestroyHandler(d){N.push(d)},setSizeConfig(d){let U2=i2(d,W.totalItems);Object.assign(A,U2)},setVisibleRangeFn(d){},setScrollFns(d,U2){p=d,s=U2},setVirtualTotalFn(d){O=d},getItems:k,getItem(d){return Q?Q(d):w[d]},getState(){return W},rebuildSizeCache(){A.rebuild(W.totalItems)},updateContentSize(d){D.content.style[q.horizontal?"width":"height"]=d+q.mainAxisPadding+"px"},setRenderFn(d,U2){o=d,u=U2},renderIfNeeded(){E2()},forceRender(){D2()},setGetItemFn(d){Q=d},setItemStateFn(d){_=d},getItemStateFn(){return _},get rawSizeSpec(){return X},scrollTo(d){if(s)s(d);else if(q.horizontal)D.viewport.scrollLeft=d;else D.viewport.scrollTop=d},smoothScrollTo(d,U2,m){if(G2)G2(d,U2,void 0,m);else X2.scrollTo(d)},disableDefaultScroll(){f=!0},disableDefaultResize(){x=!0},setScrollTarget(d){a=d},setScrollToPosFn(d){M2=d},setScrollToIndexFn(d){W2=d},onScrollFrame:R2,onScrollIdle:A2,removeItemById(d){if(C)return C(d);let U2=w.findIndex((m)=>m.id===d);if(U2===-1)return-1;return w.splice(U2,1),W.totalItems=w.length,A.rebuild(W.totalItems),q2(),U2},insertItemAt(d,U2){if(g){g(d,U2);return}w.splice(U2,0,d),W.totalItems=w.length,A.rebuild(W.totalItems),q2()},setRemoveItemFn(d){C=d},setInsertItemFn(d){g=d},setUpdateItemFn(d){i=d},getRenderedElement(d){let U2=T.get("_getRenderedElement");if(U2)return U2(d);return E.get(d)??null},setNavConfig(d){if(d.ud!==void 0)e=d.ud;if(d.lr!==void 0)t=d.lr;if(d.scrollIndex)Q2=d.scrollIndex;if(d.navigate)Z2=d.navigate},getNavConfig:(()=>{let d={ud:0,lr:0,scrollIndex:null,navigate:null};return()=>{return d.ud=e,d.lr=t,d.scrollIndex=Q2,d.navigate=Z2,d}})()};for(let d of l)if(d.setup)try{d.setup(X2)}catch(U2){U.emit("error",{error:U2 instanceof Error?U2:Error(String(U2)),context:`plugin:setup:${d.name}`})}}let J2=q.classPrefix+"--scrolling",n=!1,$2=j.scroll?.idleTimeout??m2;function K2(){if(I.scrollPosition=W.scrollPosition,I.direction=W.scrollDirection>0?"down":"up",U.emit("scroll",I),t0(R,W.scrollPosition),G.velocity=R.velocity,G.reliable=R.sampleCount>=i0,U.emit("velocity:change",G),W.startIndex!==S||W.prevRangeEnd!==h)S=W.startIndex,h=W.prevRangeEnd,z.range.start=W.startIndex,z.range.end=W.prevRangeEnd,U.emit("range:change",z)}let B2=!1;function q2(){if(o)return;let X2=A.getTotalSize();if(D.content.style[q.horizontal?"width":"height"]=X2+q.mainAxisPadding+"px",!B2&&X2>S2)B2=!0,U.emit("error",{error:Error(`Content size (${X2}px) exceeds browser limit (${S2}px). Use the scale() plugin for large datasets.`),context:"content:size:overflow"})}function E2(){if(o)o();else Y0(W,A,q.overscan,H,D.content,j.item.template,k,E,B,P,Q,_)}function R2(){if(!n)n=!0,D.root.classList.add(J2);if(E2(),X0(P.afterScroll,W.scrollPosition,W.scrollDirection),W.scrollPosition!==r)r=W.scrollPosition,K2()}function A2(){if(n)n=!1,D.root.classList.remove(J2);W.scrollDirection=0,d0(P.idle),G.velocity=0,G.reliable=!1,U.emit("velocity:change",G),y.scrollPosition=W.scrollPosition,U.emit("scroll:idle",y)}function D2(){if(W.renderPending=!0,u)u();else Y0(W,A,q.overscan,H,D.content,j.item.template,k,E,B,P,Q,_);if(X0(P.afterScroll,W.scrollPosition,W.scrollDirection),W.scrollPosition!==r){if(r=W.scrollPosition,K2(),c!==null)clearTimeout(c);c=setTimeout(A2,$2)}}let b2=u0({state:W,viewport:D.viewport,horizontal:q.horizontal,wheelEnabled:f?!1:j.scroll?.wheel!==!1,idleTimeout:j.scroll?.idleTimeout??m2,...a?{scrollTarget:a}:{},onFrame:R2,onIdle:A2});G2=b2.smoothScrollTo;function y2(X2){let U2=X2.target.closest("[data-index]");if(!U2)return null;let m=parseInt(U2.getAttribute("data-index"),10);if(Number.isNaN(m))return null;let j2=w[m];if(j2===void 0)return null;return{item:j2,index:m}}function F2(X2){for(let U2=0;U2<v.length;U2++)v[U2](X2);let d=y2(X2);if(d)U.emit("item:click",{item:d.item,index:d.index,event:X2})}function k2(X2){let d=y2(X2);if(d)U.emit("item:dblclick",{item:d.item,index:d.index,event:X2})}function H2(X2){let d=y2(X2);if(d)U.emit("item:contextmenu",{item:d.item,index:d.index,event:X2})}function w2(X2){for(let d=0;d<Y.length;d++)Y[d](X2)}if(D.content.addEventListener("click",F2),D.content.addEventListener("dblclick",k2),D.content.addEventListener("contextmenu",H2),Y.length>0)D.content.addEventListener("keydown",w2);let N2=null;if(!x)setTimeout(()=>{if(W.destroyed)return;N2=new ResizeObserver((d)=>{for(let U2 of d){let{width:m,height:j2}=U2.contentRect,Y2=q.horizontal?m:j2,V2=q.horizontal?j2:m;if(Math.abs(Y2-W.containerSize)<1&&Math.abs(V2-W.crossSize)<1)continue;W.containerSize=Y2,W.crossSize=V2,W.resizeCapacity(Y2,K,q.overscan),D2(),c0(P.resize,m,j2),U.emit("resize",{width:m,height:j2})}}),N2.observe(D.viewport)},0);W.resizeCapacity(W.containerSize,K,q.overscan),q2(),W.initialized=!0;let L2=null;if(j.defer)L2=requestAnimationFrame(()=>{if(L2=null,!W.destroyed)E2()});else E2();if(!f)b2.attach();let P2={get element(){return D.root},get items(){return w},get total(){return O?O():w.length},setItems(X2){w=[...X2],W.totalItems=w.length,A.rebuild(W.totalItems),q2(),D2()},appendItems(X2){w.push(...X2),W.totalItems=w.length,A.rebuild(W.totalItems),q2(),D2()},prependItems(X2){w.unshift(...X2),W.totalItems=w.length,A.rebuild(W.totalItems),q2(),D2()},updateItem(X2,d){if(i){if(!i(X2,d))return}else{let U2=w.findIndex((m)=>m.id===X2);if(U2===-1)return;w[U2]={...w[U2],...d}}D2()},insertItem(X2,d){if(g)g(X2,d??W.totalItems);else{if(d===void 0)w.push(X2);else w.splice(d,0,X2);W.totalItems=w.length,A.rebuild(W.totalItems),q2()}D2()},removeItem(X2){if(C){if(C(X2)<0)return}else{let d=w.findIndex((U2)=>U2.id===X2);if(d===-1)return;w.splice(d,1),W.totalItems=w.length,A.rebuild(W.totalItems),q2()}D2()},removeItems(X2){if(C){let j2=0;for(let Y2 of X2)if(C(Y2)>=0)j2++;if(j2>0)D2();return j2}let d=new Set(X2),U2=w.length;w=w.filter((j2)=>!d.has(j2.id));let m=U2-w.length;if(m>0)W.totalItems=w.length,A.rebuild(W.totalItems),q2(),W.renderPending=!0,E2();return m},getItemAt(X2){return w[X2]},getIndexById(X2){return w.findIndex((d)=>d.id===X2)},scrollToIndex(X2,d="start"){let U2=O?O():w.length;if(U2===0)return;let m=Math.max(0,Math.min(X2,U2-1)),j2=typeof d==="string"?d:d.align??"start",Y2=typeof d==="object"?d.behavior:void 0,V2=typeof d==="object"?d.duration:void 0,_2=typeof d==="object"?d.easing:void 0;if(W2&&W2(m,j2,Y2,V2,_2)!==!1)return;let T2=A.getOffset(m),z2=A.getSize(m),O2=W.containerSize,p2=A.getTotalSize(),f2=q.mainAxisPadding,E1=Math.max(0,p2+f2-O2),I2;if(M2)I2=M2(m,A,O2,U2,j2);else{let R1=q.startPadding;switch(j2){case"center":I2=R1+T2-(O2-z2)/2;break;case"end":I2=T2+z2+f2-O2;break;default:I2=T2}I2=Math.max(0,Math.min(I2,E1))}if(Y2==="smooth")b2.smoothScrollTo(I2,V2??a2,s??void 0,_2);else if(s)s(I2);else if(q.horizontal)D.viewport.scrollLeft=I2;else D.viewport.scrollTop=I2},getScrollPosition(){return p?p():W.scrollPosition},on:U.on.bind(U),off:U.off.bind(U),destroy(){if(W.destroyed)return;if(W.destroyed=!0,n)n=!1,D.root.classList.remove(J2);if(L2!==null)cancelAnimationFrame(L2),L2=null;if(c!==null)clearTimeout(c),c=null;b2.detach(),N2?.disconnect(),D.content.removeEventListener("click",F2),D.content.removeEventListener("dblclick",k2),D.content.removeEventListener("contextmenu",H2),D.content.removeEventListener("keydown",w2);let X2=[];for(let d of N)try{d()}catch(U2){X2.push(U2 instanceof Error?U2:Error(String(U2)))}for(let d of l)if(d.destroy)try{d.destroy()}catch(U2){X2.push(U2 instanceof Error?U2:Error(String(U2)))}for(let[,d]of E)d.remove();if(E.clear(),H.clear(),D.root.remove(),U.emit("destroy",void 0),U.clear(),X2.length>0)for(let d of X2)console.error("vlist: error during destroy:",d)}};for(let[X2,d]of T)P2[X2]=d;return P2}var $1=(j,$,q)=>{let X=$.getTotalSize(),J=q===!0||X>S2,Z=X>S2?S2:X,K=X>0?Z/X:1;return{isCompressed:J,actualSize:X,virtualSize:Z,ratio:K}},J1=(j,$,q,X,J,Z)=>{if(X===0||$===0)return Z.start=0,Z.end=-1,Z;if(!J.isCompressed||J.ratio===1){let D=q.indexAtOffset(j),b=q.indexAtOffset(j+$);if(b<X-1)b++;return Z.start=Math.max(0,D),Z.end=Math.min(X-1,Math.max(0,b)),Z}let{virtualSize:K}=J,M=j/K,F=q.getTotalSize(),U=M*F,B=q.indexAtOffset(U),l=q0(q,Math.max(0,B),$,X),V=B+l;return Z.start=Math.max(0,B),Z.end=Math.min(X-1,Math.max(0,V)),Z};var n2=(j,$,q,X,J,Z,K)=>{if(!Z.isCompressed||X===0)return q.getOffset(j);if(Z.ratio===1)return q.getOffset(j)-$;let{virtualSize:M}=Z,F=$/M,U=q.getTotalSize(),B=F*U;return q.getOffset(j)-B},Q1=(j,$,q,X,J,Z="start")=>{if(X===0)return 0;let K;if(J.isCompressed&&J.ratio!==1){K=j/X*J.virtualSize;let B=$.getSize(j);switch(Z){case"center":K-=(q-B)/2*J.ratio;break;case"end":K-=(q-B)*J.ratio;break}return Math.max(0,K)}K=$.getOffset(j);let M=$.getSize(j);switch(Z){case"center":K-=(q-M)/2;break;case"end":K-=q-M;break}let F=J.virtualSize-q;return Math.max(0,Math.min(K,F))};var p1=(j)=>{if(typeof j!=="object"){let $=j??2;return{top:$,right:$,bottom:$,left:$}}return{top:j.top??2,right:j.right??2,bottom:j.bottom??2,left:j.left??2}},t2=(j,$,q={},X="vlist",J=!1,Z)=>{let{autoHide:K=!0,autoHideDelay:M=1000,minThumbSize:F=15,showOnHover:U=!0,showOnViewportEnter:B=!0,clickBehavior:l="scroll"}=q,V=l==="page"?"scroll":l,D=Z??j,b=p1(q.padding),A=J?b.left:b.top,H=J?b.right:b.bottom,L=J?b.bottom:b.right,W=q.hoverZoneWidth??L+16,w=0,k=0,E=0,R=0,G=!1,z=!1,I=0,y=0,S=0,h=null,r=!1,c=null,P=0,T=0,v=null,Y=null,N=null,O=J?"width":"height",p=J?"translateX":"translateY",s=J?(N2)=>N2.clientX:(N2)=>N2.clientY,o=J?"left":"top",u=document.createElement("div"),Q=document.createElement("div"),_=document.createElement("div"),C=J?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",g=()=>{if(D===j)return;let N2=j.offsetTop;u.style[J?"left":"top"]=N2?`calc(var(${C}) + ${N2}px)`:`var(${C})`,_.style[J?"left":"top"]=`${N2}px`},i=()=>{if(u.className=`${X}-scrollbar`,Q.className=`${X}-scrollbar__thumb`,J)u.classList.add(`${X}-scrollbar--horizontal`);if(q.padding!==void 0)D.style.setProperty("--vlist-custom-scrollbar-padding-top",`${b.top}px`),D.style.setProperty("--vlist-custom-scrollbar-padding-right",`${b.right}px`),D.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${b.bottom}px`),D.style.setProperty("--vlist-custom-scrollbar-padding-left",`${b.left}px`);if(q.minThumbSize!==void 0)u.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${F}px`);if(u.appendChild(Q),D.appendChild(u),_.className=`${X}-scrollbar__hover`,J)_.classList.add(`${X}-scrollbar__hover--horizontal`),_.style.height=`${W}px`;else _.style.width=`${W}px`;if(D.appendChild(_),D!==j)g()},f=()=>{if(h)clearTimeout(h),h=null},x=()=>{if(!K)return;f(),h=setTimeout(e,M)},a=()=>{if(w<=k)return;if(f(),!r)u.classList.add(`${X}-scrollbar--visible`),r=!0;if(K&&!G&&!z)x()},e=()=>{if(G||z)return;u.classList.remove(`${X}-scrollbar--visible`),r=!1},t=(N2,L2)=>{if(w=N2,k=L2,g(),w<=k){u.style.display="none",e();return}u.style.display="";let P2=Math.max(0,k-A-H),X2=k/w;if(E=Math.max(F,X2*P2),Q.style[O]=`${E}px`,R=P2-E,Q2(S),!K)a()},Q2=(N2)=>{if(S=N2,w<=k||R<=0)return;let L2=w-k,P2=Math.min(1,Math.max(0,N2/L2));Q.style.transform=`${p}(${P2*R}px)`},Z2=(N2)=>{if(N2.target===Q||V!=="jump"||R<=0)return;let L2=w-k,P2=u.getBoundingClientRect(),X2=s(N2)-P2[o],d=Math.max(0,Math.min(X2-E/2,R));$(d/R*L2),a()},G2=()=>{if(v!==null)clearTimeout(v),v=null;if(Y!==null)cancelAnimationFrame(Y),Y=null;N=null},M2=(N2)=>{let L2=R>0?T/N2*R:0;if(P<L2)return-1;if(P>=L2+E)return 1;return 0},W2=()=>{let N2=w-k,L2=M2(N2);if(L2===0){G2();return}if(L2===-1){if(T<=0){G2();return}let P2=Math.max(0,T-k);T=P2,$(P2)}else{if(T>=N2){G2();return}let P2=Math.min(N2,T+k);T=P2,$(P2)}a()},J2=(N2)=>{if(N===null){N=N2,Y=requestAnimationFrame(J2);return}let L2=w-k,P2=N2-N;N=N2;let X2=M2(L2);if(X2===0){G2();return}let d=12*k/1000,U2=Math.min(d*P2,k);if(X2===-1){if(T<=0){G2();return}let m=Math.max(0,T-U2);T=m,$(m)}else{if(T>=L2){G2();return}let m=Math.min(L2,T+U2);T=m,$(m)}f(),Y=requestAnimationFrame(J2)},n=()=>{G2(),x(),document.removeEventListener("mouseup",n)},$2=(N2)=>{if(N2.target===Q||V!=="scroll")return;N2.preventDefault();let L2=u.getBoundingClientRect();P=s(N2)-L2[o],T=S,W2(),v=setTimeout(()=>{Y=requestAnimationFrame(J2)},350),document.addEventListener("mouseup",n)},K2=(N2)=>{N2.preventDefault(),N2.stopPropagation(),G=!0,I=s(N2),y=S,f(),u.classList.add(`${X}-scrollbar--dragging`),document.addEventListener("mousemove",B2),document.addEventListener("mouseup",q2)},B2=(N2)=>{if(!G)return;let L2=s(N2)-I,P2=R>0?L2/R:0,X2=w-k,d=P2*X2,U2=Math.max(0,Math.min(y+d,X2));Q.style.transform=`${p}(${U2/X2*R}px)`,$(U2)},q2=()=>{if(G=!1,u.classList.remove(`${X}-scrollbar--dragging`),K&&!z)x();document.removeEventListener("mousemove",B2),document.removeEventListener("mouseup",q2)},E2=J?(N2)=>N2.touches[0].clientX:(N2)=>N2.touches[0].clientY,R2=(N2)=>{N2.stopPropagation(),G=!0,I=E2(N2),y=S,f(),u.classList.add(`${X}-scrollbar--dragging`)},A2=(N2)=>{if(!G)return;N2.preventDefault();let L2=E2(N2)-I,P2=R>0?L2/R:0,X2=w-k,d=P2*X2,U2=Math.max(0,Math.min(y+d,X2));Q.style.transform=`${p}(${U2/X2*R}px)`,$(U2)},D2=()=>{if(G=!1,u.classList.remove(`${X}-scrollbar--dragging`),K)x()},b2=(N2)=>{if(N2.target===Q)return;if(R<=0)return;let L2=N2.touches[0],P2=u.getBoundingClientRect(),X2=(J?L2.clientX:L2.clientY)-P2[o];if(V==="jump"){let d=w-k,U2=Math.max(0,Math.min(X2-E/2,R));$(U2/R*d)}else P=X2,T=S,W2();a()},y2=()=>{if(B)a()},F2=()=>{if(!G){if(z=!1,K)x()}},k2=()=>{z=!0,f(),a()},H2=()=>{if(z=!1,!G&&K)x()},w2=()=>{if(f(),G2(),c!==null)cancelAnimationFrame(c),c=null;u.removeEventListener("click",Z2),u.removeEventListener("mousedown",$2),u.removeEventListener("mouseenter",k2),document.removeEventListener("mouseup",n),u.removeEventListener("mouseleave",H2),u.removeEventListener("touchstart",b2),Q.removeEventListener("mousedown",K2),Q.removeEventListener("touchstart",R2),Q.removeEventListener("touchmove",A2),Q.removeEventListener("touchend",D2),j.removeEventListener("mouseenter",y2),j.removeEventListener("mouseleave",F2),document.removeEventListener("mousemove",B2),document.removeEventListener("mouseup",q2),_.removeEventListener("click",Z2),_.removeEventListener("mousedown",$2),_.removeEventListener("mouseenter",k2),_.removeEventListener("mouseleave",H2),_.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"),u.remove()};if(i(),u.addEventListener("click",Z2),u.addEventListener("mousedown",$2),u.addEventListener("mouseenter",k2),u.addEventListener("mouseleave",H2),u.addEventListener("touchstart",b2,{passive:!0}),Q.addEventListener("mousedown",K2),Q.addEventListener("touchstart",R2,{passive:!0}),Q.addEventListener("touchmove",A2,{passive:!1}),Q.addEventListener("touchend",D2,{passive:!0}),j.addEventListener("mouseenter",y2),j.addEventListener("mouseleave",F2),_.addEventListener("click",Z2),_.addEventListener("mousedown",$2),U)_.addEventListener("mouseenter",k2),_.addEventListener("mouseleave",H2);return{show:a,hide:e,updateBounds:t,updatePosition:Q2,isVisible:()=>r,destroy:w2}};var h1=0.65,j1=0.5,q1=1.7,u1=0.95,g1=0.1,x2=5,x1=100;function K0(j){let $=j?.force??!1,q,X,J,Z,K,M={isCompressed:!1,actualSize:0,virtualSize:0,ratio:1},F=!1,U=0,B=null,l=!1,V=0,D=0,b=null,A=null,H=0,L=0,W=null,w=new Float64Array(x2),k=new Float64Array(x2),E=0,R=0,G={start:0,end:-1},z=-1,I=null;function y(){return Math.max(0,M.virtualSize+U-q.containerSize)}function S(){if(M.virtualSize<=0)return 0;return Math.max(0,q.containerSize*(1-M.ratio))}function h(Q){let _=q.totalItems;if(M=$1(_,X,$),M.isCompressed&&!F)s(Q);else if(!M.isCompressed&&F)o(Q);if(M.isCompressed){if(U=S(),q.isCompressed=!0,q.compressionRatio=M.ratio,Q.updateContentSize(M.virtualSize+U),B)B.updateBounds(M.virtualSize+U,q.containerSize)}}let r=null,c=null,P=null,T=null,v=null;function Y(Q){V=Q,D=Q,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=Q,q.scrollDirection=Q>q.prevScrollPosition?1:-1,I.forceRender()}function N(){if(b!==null)cancelAnimationFrame(b),b=null;if(A!==null)cancelAnimationFrame(A),A=null}function O(Q){N(),Y(Math.max(0,Math.min(Q,y())))}function p(Q,_,C=s2){N();let g=Math.max(0,Math.min(Q,y())),i=V;if(Math.abs(g-i)<j1){Y(g);return}let f=performance.now(),x=(a)=>{let e=Math.min((a-f)/_,1);if(Y(i+(g-i)*C(e)),e<1)A=requestAnimationFrame(x);else A=null};A=requestAnimationFrame(x)}function s(Q){F=!0,q.isCompressed=!0;let _=Z?"scrollLeft":"scrollTop",C=Z?"overflowX":"overflow",g=J[_];if(J.style[C]="hidden",J[_]=0,g>0)V=g,D=g,q.scrollPosition=g;U=S();let i=()=>{let t=D-V,Q2=y();if(Math.abs(t)<j1)V=Math.max(0,Math.min(D,Q2)),D=V,b=null;else V+=t*h1,V=Math.max(0,Math.min(V,Q2)),b=requestAnimationFrame(i);q.prevScrollPosition=q.scrollPosition,q.scrollPosition=V,q.scrollDirection=V>q.prevScrollPosition?1:-1,Q.forceRender()};r=(t)=>{t.preventDefault();let Q2=y();if(D=Math.max(0,Math.min(D+t.deltaY*M.ratio*q1,Q2)),b===null)b=requestAnimationFrame(i)},J.addEventListener("wheel",r,{passive:!1});let f=()=>{if(W!==null)cancelAnimationFrame(W),W=null};c=(t)=>{if(f(),b!==null)cancelAnimationFrame(b),b=null;let Q2=t.touches[0];if(!Q2)return;let Z2=Z?Q2.clientX:Q2.clientY;H=Z2,L=V,E=1,R=0,w[0]=performance.now(),k[0]=Z2},P=(t)=>{t.preventDefault();let Q2=t.touches[0];if(!Q2)return;let Z2=Z?Q2.clientX:Q2.clientY,G2=performance.now(),M2=E<x2?E:R;if(w[M2]=G2,k[M2]=Z2,E<x2)E++;else R=(R+1)%x2;let W2=H-Z2,J2=y(),n=Math.max(0,Math.min(L+W2*M.ratio*q1,J2));V=n,D=n,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=n,q.scrollDirection=n>q.prevScrollPosition?1:-1,Q.forceRender()},T=()=>{let t=performance.now(),Q2=1/0,Z2=0,G2=-1,M2=0,W2=0;for(let K2=0;K2<E;K2++){let B2=(R+K2)%x2,q2=w[B2];if(t-q2>=x1)continue;W2++;let E2=k[B2];if(q2<Q2)Q2=q2,Z2=E2;if(q2>G2)G2=q2,M2=E2}let J2=0;if(W2>=2){let K2=G2-Q2;if(K2>0)J2=(Z2-M2)/K2}if(E=0,R=0,Math.abs(J2)<g1)return;let n=J2*16,$2=()=>{if(n*=u1,Math.abs(n)<0.5){W=null;return}let K2=y(),B2=V+n;if(B2=Math.max(0,Math.min(B2,K2)),B2<=0&&n<0||B2>=K2&&n>0){V=B2,D=B2,q.scrollPosition=B2,Q.forceRender(),W=null;return}V=B2,D=B2,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=B2,q.scrollDirection=B2>q.prevScrollPosition?1:-1,Q.forceRender(),W=requestAnimationFrame($2)};W=requestAnimationFrame($2)},J.addEventListener("touchstart",c,{passive:!0}),J.addEventListener("touchmove",P,{passive:!1}),J.addEventListener("touchend",T,{passive:!0}),J.addEventListener("touchcancel",T,{passive:!0}),v=()=>{if(J[_]!==0)J[_]=0},J.addEventListener("scroll",v,{passive:!0});let x=(t)=>{if(V=t,D=t,b!==null)cancelAnimationFrame(b),b=null;q.prevScrollPosition=q.scrollPosition,q.scrollPosition=t,q.scrollDirection=t>q.prevScrollPosition?1:-1,Q.forceRender()},a=Q.getMethod("_scrollbar:setCallback"),e=Q.getMethod("_scrollbar:getInstance");if(a&&e){a(x);let t=e();if(t)B=t,l=!1,B.updateBounds(M.virtualSize+U,q.containerSize)}else if(!B){let t=Q.config.classPrefix;if(B=t2(J,x,{},t,Z,Q.dom.root),l=!0,!J.classList.contains(`${t}-viewport--custom-scrollbar`))J.classList.add(`${t}-viewport--custom-scrollbar`);B.updateBounds(M.virtualSize+U,q.containerSize)}}function o(Q){F=!1,q.isCompressed=!1,q.compressionRatio=1,V=0,D=0,E=0,R=0,u();let _=Z?"overflowX":"overflow";J.style[_]="auto",U=0,Q.updateContentSize(X.getTotalSize())}function u(){if(b!==null)cancelAnimationFrame(b),b=null;if(A!==null)cancelAnimationFrame(A),A=null;if(W!==null)cancelAnimationFrame(W),W=null;if(r)J.removeEventListener("wheel",r),r=null;if(c)J.removeEventListener("touchstart",c),c=null;if(P)J.removeEventListener("touchmove",P),P=null;if(T)J.removeEventListener("touchend",T),J.removeEventListener("touchcancel",T),T=null;if(v)J.removeEventListener("scroll",v),v=null;if(B&&l)B.destroy();B=null,l=!1;let Q=Z?"scrollLeft":"scrollTop";if(J&&J[Q]!==0)J[Q]=0}return{name:"scale",priority:20,setup(Q){q=Q.getState(),X=Q.sizeCache,J=Q.dom.viewport,Z=Q.config.horizontal,K=Q.config.overscan,I=Q,Q.registerMethod("_updateCompressionMode",()=>h(Q)),Q.setScrollFns(()=>V,(_)=>{if(!M.isCompressed||!F){let g=Z?"scrollLeft":"scrollTop";J[g]=_;return}if(N(),W!==null)cancelAnimationFrame(W),W=null;let C=_*M.ratio;Y(Math.max(0,Math.min(C,y())))}),Q.setScrollToIndexFn((_,C,g,i,f)=>{if(!M.isCompressed||!F)return!1;let x=Q1(_,X,q.containerSize,q.totalItems,M,C);if(g==="smooth")p(x,i??a2,f);else O(x)}),h(Q),z=q.totalItems,Q.registerDestroyHandler(u)},hooks:{onCalculate(Q){if(Q.totalItems!==z&&I)z=Q.totalItems,h(I);if(!M.isCompressed||!F)return;let _=Q.totalItems;if(_===0||Q.containerSize<=0){Q.visibleCount=0;return}J1(Q.scrollPosition,Q.containerSize,X,_,M,G);let C=Math.max(0,G.start-K),g=Math.min(_-1,G.end+K),i=Math.min(g-C+1,Q.capacity);Q.visibleCount=i,Q.startIndex=C;for(let f=0;f<i;f++){let x=C+f;Q.visibleIndices[f]=x,Q.visibleOffsets[f]=n2(x,Q.scrollPosition,X,_,Q.containerSize,M),Q.visibleSizes[f]=X.getSize(x)}Q.prevRangeStart=C,Q.prevRangeEnd=g},onAfterScroll(Q){if(B&&F)B.updatePosition(Q),B.show()},onResize(){if(F){if(U=S(),B)B.updateBounds(M.virtualSize+U,q.containerSize);let Q=y();if(V>Q)V=Q,D=Q,q.scrollPosition=Q}}},destroy(){u()}}}function U0(j){let $=null,q,X,J=0,Z=0;return{name:"scrollbar",priority:15,setup(K){let{dom:M,config:F}=K,{classPrefix:U,horizontal:B}=F;q=K.getState(),X=K.sizeCache;let l=(V)=>{if(B)M.viewport.scrollLeft=V;else M.viewport.scrollTop=V};if(K.registerMethod("_scrollbar:setCallback",(V)=>{l=V}),$=t2(M.viewport,(V)=>{l(V)},j,U,B,M.root),M.viewport.classList.add(`${U}-viewport--custom-scrollbar`),j?.gutter)M.viewport.classList.add(`${U}-viewport--gutter`);queueMicrotask(()=>{if(!q.isCompressed)$?.updateBounds(X.getTotalSize(),q.containerSize)}),K.registerMethod("_scrollbar:getInstance",()=>$),K.registerDestroyHandler(()=>{if($?.destroy(),$=null,M.viewport.classList.remove(`${U}-viewport--custom-scrollbar`),j?.gutter)M.viewport.classList.remove(`${U}-viewport--gutter`)})},hooks:{onAfterScroll(K){if(!q.isCompressed){let M=X.getTotalSize(),F=q.containerSize;if(M!==J||F!==Z)J=M,Z=F,$?.updateBounds(M,F)}$?.updatePosition(K),$?.show()},onResize(){if(!q.isCompressed){let K=X.getTotalSize(),M=q.containerSize;J=K,Z=M,$?.updateBounds(K,M)}}},destroy(){$?.destroy(),$=null}}}var X1=(j)=>{let $=Math.max(1,Math.floor(j.columns)),q=j.gap??0,X=j.isHeaderFn,J={row:0,col:0},Z=(b)=>{if(b<=0)return 0;if(!X)return Math.ceil(b/$);let A=0,H=0,L=0;for(let W=0;W<b;W++)if(X(W)){if(L++,H)A++,H=0;A++,H=0}else if(H++,H>=$)A++,H=0;if(H)A++;return A},K=(b)=>{return J.row=M(b),J.col=F(b),J},M=(b)=>{if(!X)return Math.floor(b/$);let A=0,H=0;for(let L=0;L<=b;L++)if(X(L)){if(H)A++,H=0;if(L===b)return A;A++,H=0}else{if(L===b)return A;if(H++,H>=$)A++,H=0}return console.warn(`⚠️ getRow(${b}) fell through - returning ${A}`),A},F=(b)=>{if(!X)return b%$;if(X(b))return 0;let A=0;for(let H=0;H<=b;H++)if(X(H))A=0;else{if(H===b)return A;if(A++,A>=$)A=0}return A},U=(b,A,H)=>{if(H<=0)return{start:0,end:-1};if(!X){let E=Math.max(0,b*$),R=Math.min(H-1,(A+1)*$-1);return{start:E,end:R}}let L=-1,W=-1,w=0,k=0;for(let E=0;E<H;E++){if(X(E)){if(k)w++,k=0;if(w>=b&&w<=A){if(L<0)L=E;W=E}w++,k=0}else{if(w>=b&&w<=A){if(L<0)L=E;W=E}if(k++,k>=$)w++,k=0}if(w>A&&!k)break}if(L<0)return{start:0,end:-1};return{start:L,end:W}},B=(b,A,H)=>{if(A<0||A>=$)return-1;let L=b*$+A;if(L<0||L>=H)return-1;return L},l=(b)=>{let A=($-1)*q;return Math.max(0,(b-A)/$)};return{get columns(){return $},get gap(){return q},update:(b)=>{if(b.columns!==void 0)$=Math.max(1,Math.floor(b.columns));if(b.gap!==void 0)q=b.gap;if(b.isHeaderFn!==void 0)X=b.isHeaderFn},getTotalRows:Z,getPosition:K,getRow:M,getCol:F,getItemRange:U,getItemIndex:B,getColumnWidth:l,getColumnOffset:(b,A)=>{let H=l(A);return b*(H+q)}}};var h2={selected:!1,focused:!1};function B0(j){if(!j.columns||j.columns<1)throw Error("[vlist] grid: columns must be >= 1");let $,q,X,J,Z,K,M,F,U,B,l=null,V=new Map,D=0,b=-1,A=-1,H=!0;function L(){return $.getTotalRows(X.totalItems)}function W(G){let z=$.getRow(G),I=$.getCol(G),y=$.getColumnOffset(I,D),S=q.getOffset(z);if(F)return`translate(${Math.round(S)}px, ${Math.round(y)}px)`;return`translate(${Math.round(y)}px, ${Math.round(S)}px)`}function w(G,z){let I=$.getRow(z),y=$.getColumnWidth(D),S=q.getSize(I)-$.gap;if(F)G.style.width=`${S}px`,G.style.height=`${y}px`;else G.style.width=`${y}px`,G.style.height=`${S}px`}function k(G,z,I,y){if(y)y(I,h2);else h2.selected=!1,h2.focused=!1;let S=K(z,I,h2);if(typeof S==="string")G.innerHTML=S;else G.innerHTML="",G.appendChild(S)}function E(){if(X.destroyed)return;let{scrollPosition:G,containerSize:z}=X;if(!H&&G===b&&z===A)return;b=G,A=z,H=!1;let I=L();if(z<=0||I===0)return;let y=q.indexAtOffset(G),S=q.indexAtOffset(G+z);if(S<I-1)S++;y=Math.max(0,y),S=Math.min(I-1,Math.max(0,S));let h=Math.max(0,y-B),r=Math.min(I-1,S+B);if(h===X.prevRangeStart&&r===X.prevRangeEnd&&!X.renderPending)return;let c=$.getItemRange(h,r,X.totalItems);V.forEach((p,s)=>{if(s<c.start||s>c.end)p.el.remove(),J.release(p.el),V.delete(s)});let P=`${U}-item ${U}-grid-item`,T=l?.()??null,v=T?`${U}-item--selected`:"",Y=T?`${U}-item--focused`:"";for(let p=c.start;p<=c.end;p++){let s=M(p);if(!s)continue;let o=V.get(p);if(o===void 0){let u=J.acquire();u.className=P,u.setAttribute("data-index",String(p)),u.setAttribute("data-id",String(s.id)),k(u,s,p,T),o={el:u,lastId:s.id},V.set(p,o),Z.appendChild(u)}else if(o.lastId!==s.id)o.el.setAttribute("data-id",String(s.id)),o.lastId=s.id,k(o.el,s,p,T);if(T)if(T(p,h2),o.el.classList.toggle(v,h2.selected),o.el.classList.toggle(Y,h2.focused),h2.selected)o.el.setAttribute("aria-selected","true");else o.el.removeAttribute("aria-selected");w(o.el,p),o.el.style.transform=W(p)}let N=q.getTotalSize();Z.style[F?"width":"height"]=N+"px",X.prevRangeStart=h,X.prevRangeEnd=r,X.renderPending=!1;let O=c.end-c.start+1;X.visibleCount=Math.min(O,X.capacity),X.startIndex=c.start;for(let p=0;p<X.visibleCount;p++){let s=c.start+p,o=$.getRow(s);X.visibleIndices[p]=s,X.visibleOffsets[p]=q.getOffset(o),X.visibleSizes[p]=q.getSize(o)}}function R(){if(X.destroyed)return;q.rebuild(L()),X.prevRangeStart=-1,X.prevRangeEnd=-1,X.renderPending=!0,H=!0,E()}return{name:"grid",priority:10,conflicts:["masonry","table"],setup(G){let z=j.gap??0;$=X1({columns:j.columns,gap:z}),q=G.sizeCache,X=G.getState(),J=G.pool,Z=G.dom.content,K=G.template,F=G.config.horizontal,U=G.config.classPrefix,B=G.config.overscan,M=G.getItem.bind(G),l=()=>G.getItemStateFn(),D=X.crossSize;let I=G.rawSizeSpec,y;if(typeof I==="function"){let h={columnWidth:$.getColumnWidth(D),columns:j.columns,gap:z};y=I(0,h),G.setSizeConfig((r)=>{h.columnWidth=$.getColumnWidth(D);let c=r*j.columns;return I(c,h)+z})}else if(y=I,z>0)G.setSizeConfig(y+z);if(q.rebuild(L()),z>0){let S=q.getTotalSize;q.getTotalSize=()=>{let h=S();return h>0?h-z:0}}G.setVirtualTotalFn(()=>L()),G.dom.root.classList.add(`${U}--grid`),G.setRenderFn(E,R),G.registerMethod("getGridLayout",()=>$),G.registerMethod("updateGrid",(S)=>{if(S.columns!==void 0){if(!Number.isInteger(S.columns)||S.columns<1)throw Error("[vlist] updateGrid: columns must be >= 1")}if(S.gap!==void 0&&S.gap<0)throw Error("[vlist] updateGrid: gap must be >= 0");if($.update(S),S.gap!==void 0||S.columns!==void 0){let h=$.gap;if(typeof I==="function"){let r={columnWidth:$.getColumnWidth(D),columns:$.columns,gap:h};G.setSizeConfig((c)=>{r.columnWidth=$.getColumnWidth(D);let P=c*$.columns;return I(P,r)+h})}else G.setSizeConfig(y+h);q.rebuild(L())}if(S.columns!==void 0)G.setNavConfig({ud:$.columns});D=X.crossSize,R()}),G.registerMethod("scrollToIndex",(S,h="start")=>{let r=$.getRow(S),c=L();if(c===0)return;let P=Math.max(0,Math.min(r,c-1)),T=q.getOffset(P),v=q.getSize(P),Y=X.containerSize,N=q.getTotalSize(),O=Math.max(0,N-Y),p=typeof h==="string"?h:h.align??"start",s=typeof h==="object"?h.behavior:void 0,o=typeof h==="object"?h.duration:void 0,u;switch(p){case"center":u=T-(Y-v)/2;break;case"end":u=T-Y+v;break;default:u=T}if(u=Math.max(0,Math.min(u,O)),s==="smooth"&&o&&o>0)G.smoothScrollTo(u,o);else G.scrollTo(u)}),G.setNavConfig({total:()=>X.totalItems,ud:j.columns,lr:1,scrollIndex:(S)=>$.getRow(S)}),G.registerDestroyHandler(()=>{for(let[,S]of V)S.el.remove();V.clear(),G.dom.root.classList.remove(`${U}--grid`)})},hooks:{onResize(G,z){let I=X.crossSize;if(Math.abs(I-D)<1)return;D=I,V.forEach((y,S)=>{w(y.el,S),y.el.style.transform=W(S)})}},destroy(){V.clear()}}}function W0(){return{name:"a11y",priority:55,setup(j){if(j.getItemStateFn())return;let{dom:$,config:q,sizeCache:X}=j,J=j.getState(),Z=j.emitter,K=q.classPrefix,M=$.liveRegion,F=-1,U=!1,B,l=-1,V=(z)=>j.getItem(z),D=()=>J.totalItems,b={id:0,index:0},A={selected:[],items:[]};j.setItemStateFn((z,I)=>{I.selected=l===z,I.focused=U&&F===z});function H(z){M.textContent="",M.textContent=z}let L=(z,I,y)=>{let S=z;while(S>=0&&S<y){let h=V(S);if(!h||!h.__groupHeader)return S;S+=I}S=z-I;while(S>=0&&S<y){let h=V(S);if(!h||!h.__groupHeader)return S;S-=I}return z},W=(z)=>{let I=j.getNavConfig(),y=I.scrollIndex?I.scrollIndex(z):z,S=X.getOffset(y),h=X.getSize(y),r=J.scrollPosition,c=J.containerSize,P=q.startPadding,T=q.endPadding,v=S+P,Y=v+h,N=r;if(v<r)N=Math.max(0,S);else if(Y>r+c)N=Y+T-c;if(N!==r)J.scrollPosition=N,j.scrollTo(N)},w=(z,I)=>{if($.content.setAttribute("aria-activedescendant",`${K}-item-${z}`),I)W(z);j.forceRender()},k=(z)=>{F=z,U=!0,w(z,!0);let I=V(z);if(I)b.id=I.id,b.index=z,Z.emit("focus:change",b),H(`Item ${z+1} of ${D()}`)},E=(z,I)=>{if(F=z,I)U=!0;let y=V(z);if(y&&B===y.id)B=void 0,l=-1;else B=y?.id,l=y?z:-1;if(w(z,I),B!==void 0&&y&&B===y.id)A.selected[0]=B,A.selected.length=1,A.items[0]=y,A.items.length=1,H(`Selected, item ${z+1} of ${D()}`);else A.selected.length=0,A.items.length=0,H("Deselected");Z.emit("selection:change",A)},R=()=>{if(J.destroyed)return;if(!$.content.matches(":focus-visible"))return;let z=D();if(z===0)return;let I=F>=0?Math.min(F,z-1):0;I=L(I,1,z),k(I)},G=(z)=>{if(J.destroyed)return;let I=z.relatedTarget;if(I&&$.root.contains(I))return;U=!1,$.content.removeAttribute("aria-activedescendant"),j.forceRender()};$.content.addEventListener("focusin",R),$.content.addEventListener("focusout",G),j.registerKeydownHandler((z)=>{if(J.destroyed)return;let I=D();if(I===0)return;let y=F,S=y;if(z.key===" "||z.key==="Enter"){if(y>=0){let r=V(y);if(r&&!r.__groupHeader)E(y,!0)}z.preventDefault();return}let h=j.getNavConfig();if(h.navigate)switch(z.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":S=h.navigate(y,z.key,I);break;default:return}else{let r=h.ud||1,c=h.lr,P=q.horizontal;switch(z.key){case"ArrowUp":if(P&&!c)return;S=y-(P?c:r);break;case"ArrowDown":if(P&&!c)return;S=y+(P?c:r);break;case"ArrowLeft":if(!P&&!c)return;S=y-(P?r:c);break;case"ArrowRight":if(!P&&!c)return;S=y+(P?r:c);break;case"PageUp":case"PageDown":{let T=X.getSize(Math.max(0,h.scrollIndex?h.scrollIndex(y):y)),Y=Math.max(1,Math.floor(J.containerSize/T))*r;S=z.key==="PageUp"?y-Y:y+Y;break}case"Home":S=0;break;case"End":S=I-1;break;default:return}}if(S<0)S=0;else if(S>=I)S=I-1;if(z.preventDefault(),S=L(S,S>=y?1:-1,I),S!==y)k(S)}),j.registerClickHandler((z)=>{if(J.destroyed)return;let I=z.target.closest("[data-index]");if(!I)return;let y=parseInt(I.dataset.index??"-1",10);if(y<0)return;let S=V(y);if(!S||S.__groupHeader)return;U=!1,$.content.focus({preventScroll:!0}),E(y,!1)}),j.registerDestroyHandler(()=>{$.content.removeEventListener("focusin",R),$.content.removeEventListener("focusout",G)})}}}var c2=(j,$,q)=>{if(String(q).startsWith(C2))return!1;let X=C2+$;if(j.has(X))return j.delete(X),j.add(q),!0;return!1},Y1=(j)=>({selected:new Set(j??[]),focusedIndex:-1,focusVisible:!1});function u2(j,$,q,X){if(q===0)return;let J=X?-$:$,Z=j.focusedIndex+J;if(Z<0)Z=0;if(Z>=q)Z=q-1;j.focusedIndex=Z}function e2(j){return Array.from(j)}var m1={preventScroll:!0};function N0(j){let $=j?.mode??"single",q=j?.followFocus??!1,X=j?.focusOnClick??!1,J,Z,K,M,F,U,B,l,V=-1,D=new Map,b=null,A=null,H=null,L=null,W,w=!1;function k(Y){if(w)return;w=!0,b=Y.getMethod("_layoutToDataIndex")??null,A=Y.getMethod("_dataToLayoutIndex")??null,H=Y.getMethod("_isGroupHeader")??null,L=Y.getMethod("_scrollItemIntoView")??null;let N=Y.getMethod("getGroupLayout");if(N){let O=N();W=()=>O.totalEntries}}let E=(Y)=>b?b(Y):Y,R=(Y)=>{let N=E(Y);return N>=0?Z(N):void 0},G=(Y,N,O)=>{if(!H)return Y;let p=Y;while(p>=0&&p<O){if(!H(p))return p;p+=N}p=Y-N;while(p>=0&&p<O){if(!H(p))return p;p-=N}return Y};function z(Y,N){if($==="single")J.selected.clear(),D.clear();if(J.selected.add(Y),N)D.set(Y,N)}function I(Y,N){if(J.selected.has(Y))J.selected.delete(Y),D.delete(Y);else z(Y,N)}function y(){J.selected.clear(),D.clear()}function S(Y){J.selected.delete(Y),D.delete(Y)}function h(Y,N){let O=Math.min(Y,N),p=Math.max(Y,N);for(let s=O;s<=p;s++){let o=Z(s);if(o)J.selected.add(o.id),D.set(o.id,o)}}function r(){let Y=B.totalItems;for(let N=0;N<Y;N++){let O=Z(N);if(O)J.selected.add(O.id),D.set(O.id,O)}}function c(){if(J.selected.size===0)return[];if(D.size>=J.selected.size){let p=[];for(let s of J.selected){let o=D.get(s);if(o)p.push(o)}if(p.length===J.selected.size)return p}let Y=[],N=new Set(J.selected),O=B.totalItems;for(let p=0;p<O&&N.size>0;p++){let s=Z(p);if(s&&N.has(s.id))Y.push(s),D.set(s.id,s),N.delete(s.id)}return Y}function P(){K(),M.emit("selection:change",{selected:e2(J.selected),items:c()})}let T=null,v=-1;return{name:"selection",priority:50,setup(Y){J=Y1(j?.initial),Z=Y.getItem.bind(Y),K=Y.forceRender.bind(Y),M=Y.emitter,F=Y.dom;let N=Y.config;if(U=Y.sizeCache,B=Y.getState(),l=Y.scrollTo.bind(Y),W=()=>B.totalItems,$==="none"){Y.registerMethod("select",()=>{}),Y.registerMethod("deselect",()=>{}),Y.registerMethod("toggleSelect",()=>{}),Y.registerMethod("selectAll",()=>{}),Y.registerMethod("clearSelection",()=>{}),Y.registerMethod("getSelected",()=>[]),Y.registerMethod("getSelectedItems",()=>[]),Y.registerMethod("selectNext",()=>{}),Y.registerMethod("selectPrevious",()=>{}),Y.registerMethod("_seedSelection",()=>{}),Y.registerMethod("_getFocusedId",()=>{return}),Y.registerMethod("_focusById",()=>{});return}let O=N.classPrefix;Y.setItemStateFn((Q,_)=>{if(k(Y),J.selected.size>0){let C=E(Q),g=C>=0?Z(C):void 0,i=g?.id;if(i!==void 0)if(J.selected.has(i))_.selected=!0;else if(c2(J.selected,C,i))_.selected=!0,D.delete(C2+C),D.set(i,g);else _.selected=!1;else _.selected=!1}else _.selected=!1;_.focused=J.focusVisible&&J.focusedIndex===Q}),Y.registerMethod("_getSelectedIds",()=>J.selected),Y.registerMethod("_getFocusedIndex",()=>J.focusVisible?J.focusedIndex:-1),F.root.classList.add(`${O}--selectable`);let p=(Q)=>{T=null,v=-1;let _=Q.target.closest("[data-index]");if(!_)return!1;let C=parseInt(_.dataset.index??"-1",10);if(C<0)return!1;let g=E(C);if(g<0)return!1;let i=Z(g);if(!i)return!1;return T=i,v=C,!0},s=(Q)=>{if(Q<0)return;if(L){L(Q);return}let _=Y.getNavConfig(),C=_.scrollIndex?_.scrollIndex(Q):Q,g=U.getOffset(C),i=U.getSize(C),f=B.containerSize,x=B.scrollPosition;if(g<x)l(g);else if(g+i>x+f)l(g-f+i)},o=()=>{if(B.destroyed)return;if(k(Y),!F.content.matches(":focus-visible")&&!F.root.matches(":focus-visible"))return;let Q=W();if(Q===0)return;let _=J.focusedIndex>=0?Math.min(J.focusedIndex,Q-1):0;_=G(_,1,Q),J.focusedIndex=_,J.focusVisible=!0,F.content.setAttribute("aria-activedescendant",`${O}-item-${_}`),s(_),K()};F.root.addEventListener("focusin",o);let u=(Q)=>{if(B.destroyed)return;let _=Q.relatedTarget;if(_&&F.root.contains(_))return;J.focusVisible=!1,K(),F.content.removeAttribute("aria-activedescendant")};if(F.root.addEventListener("focusout",u),Y.registerDestroyHandler(()=>{F.root.removeEventListener("focusin",o),F.root.removeEventListener("focusout",u)}),Y.registerClickHandler((Q)=>{if(k(Y),!p(Q))return;if($==="multiple"&&Q.shiftKey&&J.focusedIndex>=0){let _=V>=0?V:J.focusedIndex,C=E(_),g=E(v);if(C>=0&&g>=0)h(C,g);J.focusedIndex=v,J.focusVisible=X,V=v,P();return}J.focusedIndex=v,J.focusVisible=X,V=v,F.content.focus(m1),I(T.id,T),P()}),N.interactive)Y.registerKeydownHandler((Q)=>{k(Y);let _=W();if(_===0)return;let C=Y.getNavConfig(),g=J.focusedIndex,i=!1,f=!1;if(C.navigate&&(Q.key==="ArrowUp"||Q.key==="ArrowDown"||Q.key==="ArrowLeft"||Q.key==="ArrowRight"||Q.key==="PageUp"||Q.key==="PageDown"||Q.key==="Home"||Q.key==="End")){let a=C.navigate(J.focusedIndex,Q.key,_);if(a!==J.focusedIndex)J.focusedIndex=Math.max(0,Math.min(a,_-1));J.focusVisible=!0,i=!0}else switch(Q.key){case"ArrowUp":{let a=C.ud||1,e=C.lr,t=N.horizontal;if(t&&!e)break;u2(J,-(t?e:a),_,N.reverse),J.focusVisible=!0,i=!0;break}case"ArrowDown":{let a=C.ud||1,e=C.lr,t=N.horizontal;if(t&&!e)break;u2(J,t?e:a,_,N.reverse),J.focusVisible=!0,i=!0;break}case"ArrowLeft":{let a=C.ud||1,e=C.lr,t=N.horizontal;if(!t&&!e)break;u2(J,-(t?a:e),_,N.reverse),J.focusVisible=!0,i=!0;break}case"ArrowRight":{let a=C.ud||1,e=C.lr,t=N.horizontal;if(!t&&!e)break;u2(J,t?a:e,_,N.reverse),J.focusVisible=!0,i=!0;break}case"Home":if(_>0)J.focusedIndex=0;J.focusVisible=!0,i=!0;break;case"End":if(_>0)J.focusedIndex=_-1;J.focusVisible=!0,i=!0;break;case"PageUp":case"PageDown":{let a=C.ud||1,e=Math.max(0,J.focusedIndex),t=C.scrollIndex?C.scrollIndex(e):e,Q2=U.getSize(t),Z2=B.containerSize,M2=(Q2>0?Math.max(1,Math.floor(Z2/Q2)):10)*a;if(b&&A){let W2=b(J.focusedIndex),J2=Q.key==="PageUp"?-M2:M2,n=B.totalItems-1;J.focusedIndex=A(Math.max(0,Math.min(n,W2+J2)))}else u2(J,Q.key==="PageUp"?-M2:M2,_);J.focusVisible=!0,i=!0;break}case" ":case"Enter":if(Q.key===" "&&Q.shiftKey&&$==="multiple"&&J.focusedIndex>=0){if(V>=0){let a=E(V),e=E(J.focusedIndex);if(a>=0&&e>=0)h(a,e)}J.focusVisible=!0,f=!0,i=!0;break}if(J.focusedIndex>=0){let a=R(J.focusedIndex);if(a)I(a.id,a),V=J.focusedIndex;J.focusVisible=!0,f=!0,i=!0}break;case"a":if((Q.ctrlKey||Q.metaKey)&&$==="multiple"){if(J.selected.size===B.totalItems)y();else r();J.focusVisible=!0,f=!0,i=!0}break;case"Delete":case"Backspace":if(J.selected.size>0)M.emit("delete",{selected:e2(J.selected),items:c()}),i=!0;break}if(J.focusedIndex!==g&&H){let a=J.focusedIndex>g?1:-1;J.focusedIndex=G(J.focusedIndex,a,_)}let x=J.focusedIndex!==g;if(Q.shiftKey&&$==="multiple"&&!f&&x){if(Q.key==="ArrowUp"||Q.key==="ArrowDown"||Q.key==="ArrowLeft"||Q.key==="ArrowRight"){let t=R(J.focusedIndex);if(t)I(t.id,t);V=J.focusedIndex,f=!0}if((Q.ctrlKey||Q.metaKey)&&(Q.key==="Home"||Q.key==="End")){let t=E(g>=0?g:J.focusedIndex),Q2=E(J.focusedIndex);if(t>=0&&Q2>=0)h(t,Q2);V=J.focusedIndex,f=!0}}if(q&&$==="single"&&!f&&x&&J.focusedIndex>=0){let a=R(J.focusedIndex);if(a)z(a.id,a);f=!0}if(i){if(Q.preventDefault(),x&&J.focusedIndex>=0)s(J.focusedIndex),F.content.setAttribute("aria-activedescendant",`${O}-item-${J.focusedIndex}`);if(f)P();else if(x){if(K(),J.focusedIndex>=0){let a=R(J.focusedIndex);if(a)M.emit("focus:change",{id:a.id,index:J.focusedIndex})}}}});Y.registerMethod("select",(...Q)=>{for(let _ of Q)z(_);P()}),Y.registerMethod("deselect",(...Q)=>{for(let _ of Q)S(_);P()}),Y.registerMethod("toggleSelect",(Q)=>{I(Q),P()}),Y.registerMethod("selectAll",()=>{if($!=="multiple")return;r(),P()}),Y.registerMethod("clearSelection",()=>{y(),P()}),Y.registerMethod("getSelected",()=>{return e2(J.selected)}),Y.registerMethod("getSelectedItems",()=>{return c()}),Y.registerMethod("selectNext",()=>{k(Y);let Q=W();if(Q===0)return;if(u2(J,1,Q,N.reverse),H)J.focusedIndex=G(J.focusedIndex,1,Q);let _=R(J.focusedIndex);if(_)z(_.id,_);P()}),Y.registerMethod("selectPrevious",()=>{k(Y);let Q=W();if(Q===0)return;if(u2(J,-1,Q,N.reverse),H)J.focusedIndex=G(J.focusedIndex,-1,Q);let _=R(J.focusedIndex);if(_)z(_.id,_);P()}),Y.registerMethod("_seedSelection",(Q)=>{for(let _ of Q)J.selected.add(_)}),Y.registerMethod("_getFocusedId",()=>{if(J.focusedIndex<0)return;return R(J.focusedIndex)?.id}),Y.registerMethod("_focusById",(Q)=>{let _=B.totalItems;for(let C=0;C<_;C++){let g=Z(C);if(g&&g.id===Q){let i=A?A(C):C;J.focusedIndex=i,M.emit("focus:change",{id:Q,index:i});return}}})},destroy(){D.clear()}}}var $0=(j)=>j==null?0:typeof j==="function"?j():j;function V0(j){let $=j?.scrollPadding,q,X;return{name:"page",priority:5,setup(J){let{dom:Z,sizeCache:K,config:M,emitter:F}=J,U=M.horizontal,B=window,l=J.getState();if(J.disableDefaultScroll(),J.disableDefaultResize(),Z.root.style.overflow="visible",Z.root.style.height="auto",U)Z.viewport.style.overflowX="visible",Z.viewport.style.overflowY="visible";else Z.viewport.style.overflow="visible";Z.viewport.classList.remove(`${M.classPrefix}-viewport--custom-scrollbar`),J.setScrollFns(()=>{let L=Z.viewport.getBoundingClientRect();return Math.max(0,U?-L.left:-L.top)},(L)=>{let W=Z.viewport.getBoundingClientRect(),w=(U?W.left+B.scrollX:W.top+B.scrollY)+L;if(U)B.scrollTo({left:w,top:B.scrollY,behavior:"instant"});else B.scrollTo({left:B.scrollX,top:w,behavior:"instant"})}),l.containerSize=U?B.innerWidth:B.innerHeight,l.crossSize=U?B.innerHeight:B.innerWidth;let V=null,D=()=>{let L=Z.viewport.getBoundingClientRect(),W=Math.max(0,U?-L.left:-L.top);if(l.prevScrollPosition=l.scrollPosition,l.scrollPosition=W,l.scrollDirection=W>l.prevScrollPosition?1:W<l.prevScrollPosition?-1:0,J.onScrollFrame(),V!==null)clearTimeout(V);V=setTimeout(()=>{V=null,J.onScrollIdle()},150)};B.addEventListener("scroll",D,{passive:!0}),X=()=>B.removeEventListener("scroll",D);let{innerWidth:b,innerHeight:A}=B,H=()=>{let{innerWidth:L,innerHeight:W}=B;if((U?Math.abs(L-b):Math.abs(W-A))<1)return;b=L,A=W,l.containerSize=U?L:W,l.crossSize=U?W:L,J.forceRender(),F.emit("resize",{width:L,height:W})};if(B.addEventListener("resize",H),q=()=>B.removeEventListener("resize",H),$)J.setScrollToPosFn((L,W,w,k,E)=>{let R=$0(U?$.left:$.top),G=$0(U?$.right:$.bottom);if(k===0)return 0;let z=Math.max(0,Math.min(L,k-1)),I=W.getOffset(z),y=W.getSize(z),S=W.getTotalSize(),h=Math.max(0,S-w+G),r;switch(E){case"center":r=I-R-(w-R-G-y)/2;break;case"end":r=I-w+y+G;break;default:r=I-R}return Math.max(-R,Math.min(r,h))}),J.registerMethod("_scrollItemIntoView",(L)=>{let W=U?B.innerWidth:B.innerHeight,w=$0(U?$.left:$.top),k=$0(U?$.right:$.bottom),E=Z.viewport.getBoundingClientRect(),R=U?B.scrollX:B.scrollY,G=U?E.left:E.top,z=G+R,I=K.getOffset(L),y=K.getSize(L),S=G+I,h=W-k,r=R;if(S<w)r=z+I-w;else if(S+y>h)r=z+I+y-h;if(r!==R)if(U)B.scrollTo({left:r,top:B.scrollY,behavior:"instant"});else B.scrollTo({left:B.scrollX,top:r,behavior:"instant"})});J.registerDestroyHandler(()=>{if(X?.(),q?.(),V!==null)clearTimeout(V)})},destroy(){X?.(),q?.(),X=void 0,q=void 0}}}var d1=(j)=>{try{let $=sessionStorage.getItem(j);if(!$)return;return JSON.parse($)}catch{return}};function M0(j){let $=j?.autoSave,q=$?d1($):j?.restore,X=!1,J=null;return{name:"snapshots",priority:50,setup(Z){let{sizeCache:K,emitter:M}=Z,F=Z.getState(),U=()=>{let{scrollPosition:V,totalItems:D}=F,A=Z.getMethod("getSelected")?.();if(D===0){let G={index:0,offsetInItem:0,total:0};if(A?.length)G.selectedIds=A;return G}let H,L;if(F.isCompressed&&F.compressionRatio!==1){let G=F.totalSize,I=V/G*D;H=Math.max(0,Math.min(Math.floor(I),D-1)),L=(I-H)*K.getSize(H)}else H=K.indexAtOffset(V),L=V-K.getOffset(H);L=Math.max(0,L);let W={index:H,offsetInItem:L,total:D,scrollTop:V},w=K.getSize(H);if(w)W.offsetRatio=L/w;let k=Z.getMethod("_layoutToDataIndex");if(k){let G=k(H);if(G<0){for(let z=H+1;z<D;z++)if(G=k(z),G>=0)break}if(G>=0)W.dataIndex=G}let E=Z.getMethod("_getTotal");if(E)W.dataTotal=E();if(A?.length)W.selectedIds=A;let R=Z.getMethod("_getFocusedId");if(R){let G=R();if(G!==void 0)W.focusedId=G}return W};Z.registerMethod("getScrollSnapshot",U);let B=(V,D=!0)=>{let{index:b,offsetInItem:A,selectedIds:H,focusedId:L}=V,W=F.totalItems,w=V.dataTotal??V.total;if(W===0&&w&&w>0){let P=Z.getMethod("_setTotal");if(P)P(w),W=F.totalItems;K.rebuild(W);let T=Z.getMethod("_updateCompressionMode");if(T)T();if(!F.isCompressed)Z.updateContentSize(K.getTotalSize())}if(W===0)return;if(!Number.isFinite(b)||!Number.isFinite(A))return;if(K.getTotal()!==W){K.rebuild(W);let P=Z.getMethod("_updateCompressionMode");if(P)P();if(!F.isCompressed)Z.updateContentSize(K.getTotalSize())}let E=Z.getMethod("_dataToLayoutIndex"),R=b;if(V.dataIndex!==void 0&&V.dataIndex>=0)R=E?E(V.dataIndex):V.dataIndex;else if(E)R=E(b);let G=Math.max(0,Math.min(R,W-1)),z=K.getSize(G),I=V.offsetRatio!==void 0?V.offsetRatio*z:Math.min(A,z),y;if(F.isCompressed&&F.compressionRatio!==1){let P=Z.getMethod("_getTotal")?.(),T=P!==void 0&&V.dataTotal===P;if(V.scrollTop!==void 0&&(V.total===W||T))y=V.scrollTop;else{let v=z?I/z:0;y=(G+v)/W*F.totalSize}}else y=K.getOffset(G)+I;let S=Math.max(0,F.totalSize-F.containerSize);y=Math.max(0,Math.min(y,S));let h=y===V.scrollTop;if(V.dataIndex!==void 0&&V.dataIndex>=0){let P=z?I/z:0;Z.registerMethod("_restoreAnchor",{dataIndex:V.dataIndex,fraction:P,skipAdjust:h}),Z.registerMethod("_suppressSave",1)}if(Z.scrollTo(y),D&&H?.length){let P=Z.getMethod("select");if(P)P(...H)}let r=Z.getMethod("loadVisibleRange"),c=()=>{if(L===void 0)return;let P=Z.getMethod("_focusById");if(P)P(L)};if(r){let P=0,T=()=>{if(F.containerSize>0){if(Math.abs(F.scrollPosition-y)>1)Z.scrollTo(y);r().then(c)}else if(++P<10)requestAnimationFrame(T)};requestAnimationFrame(T)}else{let P=Z.getMethod("reload");if(P)requestAnimationFrame(()=>{P().then(c)});else requestAnimationFrame(c)}};Z.registerMethod("restoreScroll",B);let l=!!(q&&$);if(Z.registerDestroyHandler(()=>{X=!0}),$){J=()=>{if(X||l||Z.getMethod("_suppressSave"))return;let W=U();try{sessionStorage.setItem($,JSON.stringify(W))}catch{}},Z.registerMethod("_saveSnapshot",J);let V=0,D=()=>{if(V)return;V=requestAnimationFrame(()=>{V=0,J()})};M.on("selection:change",D),M.on("focus:change",D);let b=0,A=()=>{b=0,J()},H=()=>{if(b)clearTimeout(b);b=setTimeout(A,300)};M.on("scroll",H);let L=()=>{J?.()};if(window.addEventListener("beforeunload",L),Z.registerDestroyHandler(()=>{if(b)clearTimeout(b);window.removeEventListener("beforeunload",L)}),q&&q.total&&q.total>0){let W=Z.getMethod("_cancelAutoLoad");if(W)W();let w=Z.getMethod("_setTotal");if(w)w(q.total)}}if(q){let V=!0;if(q.selectedIds?.length){let D=Z.getMethod("_seedSelection");if(D)D(q.selectedIds),V=!1}queueMicrotask(()=>{if(B(q,V),l=!1,J)J()})}},hooks:{onIdle(){if(J&&!X)J()}},destroy(){X=!0,J=null}}}function Z1(j,$){if($===!1)return null;return{duration:Math.min($?.duration??j.duration,1000),easing:$?.easing??j.easing}}function _0(j){let $=j?.duration??200,q=j?.easing??"cubic-bezier(0.2, 0, 0, 1)",X={duration:$,easing:q},J=Z1(X,j?.remove),Z=Z1(X,j?.insert),K=null,M=null;return{name:"transition",conflicts:["grid","table","masonry"],priority:45,setup(F){let{sizeCache:U,emitter:B}=F,l=F.config,V=F.dom,D=F.getState(),b=l.reverse?"bottom center":"top center",A=l.horizontal?"translateX":"translateY",H=F.getMethod("_dataToLayoutIndex")??null,L=(k)=>H?H(k):k,W=(k)=>{let E=String(k).replace(/"/g,"\\\""),R=V.content.querySelector(`[data-id="${E}"]`),G=R?parseInt(R.dataset.index??"-1",10):-1;return{el:R,layoutIndex:G}},w=()=>{let k=V.content.children;for(let E=0;E<k.length;E++)k[E].style.transition="none";V.content.offsetHeight;for(let E=0;E<k.length;E++)k[E].style.transition=""};if(J){let k=(R)=>{if(K)K();let G=typeof document<"u"?document.activeElement:null,z=G&&V.content.contains(G)?parseInt(G.dataset?.index??"-1",10):-1,I=W(R),y=I.layoutIndex,S=I.el,h=y>=0?U.getSize(y):0,r=y>=0?U.getOffset(y):0;if(!S||y<0){if(F.removeItemById(R)<0)return!1;if(F.forceRender(),w(),B.emit("data:change",{type:"remove",id:R}),z>=0){let g=D.totalItems;if(g>0)F.getRenderedElement(Math.min(z,g-1))?.focus()}return B.emit("remove:end",{id:R}),!0}let c=S.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 P=l.horizontal?"scrollLeft":"scrollTop",T=V.viewport[P];if(F.removeItemById(R)<0)return!1;F.forceRender(),w(),B.emit("data:change",{type:"remove",id:R});let Y=T-V.viewport[P];c.style.zIndex="1",V.content.appendChild(c);let N=J,O={duration:N.duration,easing:N.easing},p=[],s=Math.round(r-Y);p.push(c.animate([{transform:`${A}(${s}px) scaleY(1)`,opacity:1,transformOrigin:b},{transform:`${A}(${Math.round(r)}px) scaleY(0)`,opacity:0,transformOrigin:b}],O));let o=Y>0,u=V.content.children;for(let C=0;C<u.length;C++){let g=u[C];if(g===c)continue;let i=parseInt(g.dataset?.index??"-1",10);if(i<0||!o&&i<y)continue;let f=U.getOffset(i),x=i>=y?Math.round(f+h-Y):Math.round(f-Y),a=Math.round(f);if(x===a)continue;p.push(g.animate([{transform:`${A}(${x}px)`},{transform:`${A}(${a}px)`}],O))}let Q=!1,_=()=>{if(Q)return;Q=!0,K=null,c.remove();for(let C of p)if(C.playState!=="finished")C.cancel();if(z>=0){let C=D.totalItems;if(C>0)F.getRenderedElement(Math.min(z,C-1))?.focus()}B.emit("remove:end",{id:R})};return K=_,Promise.all(p.map((C)=>C.finished)).then(_,_),setTimeout(_,N.duration+50),!0},E=(R)=>{if(R.length===0)return 0;if(R.length===1)return k(R[0])?1:0;if(K)K();if(M)M();let G=typeof document<"u"?document.activeElement:null,z=G&&V.content.contains(G)?parseInt(G.dataset?.index??"-1",10):-1,I=[];for(let Q of R){let _=W(Q);I.push({id:Q,layoutIndex:_.layoutIndex,el:_.el,size:_.layoutIndex>=0?U.getSize(_.layoutIndex):0,offset:_.layoutIndex>=0?U.getOffset(_.layoutIndex):0})}I.sort((Q,_)=>_.layoutIndex-Q.layoutIndex);let y=[];for(let Q of I){if(!Q.el||Q.layoutIndex<0)continue;let _=Q.el.cloneNode(!0);_.style.pointerEvents="none",_.style.overflow="hidden",_.removeAttribute("data-index"),_.removeAttribute("data-id"),_.removeAttribute("id"),_.removeAttribute("aria-selected"),_.classList.remove(`${l.classPrefix}-item--selected`),y.push({clone:_,offset:Q.offset,size:Q.size,layoutIndex:Q.layoutIndex})}let S=new Map,h=V.content.children;for(let Q=0;Q<h.length;Q++){let _=h[Q],C=_.dataset?.id,g=parseInt(_.dataset?.index??"-1",10);if(C&&g>=0)S.set(C,U.getOffset(g))}let r=l.horizontal?"scrollLeft":"scrollTop",c=V.viewport[r],P=[];for(let Q of I)if(F.removeItemById(Q.id)>=0)P.push(Q.id);if(P.length===0)return 0;F.forceRender(),w();for(let Q of P)B.emit("data:change",{type:"remove",id:Q});if(y.length===0){if(z>=0){let Q=D.totalItems;if(Q>0)F.getRenderedElement(Math.min(z,Q-1))?.focus()}for(let Q of P)B.emit("remove:end",{id:Q});return P.length}let T=c-V.viewport[r],v=J,Y={duration:v.duration,easing:v.easing},N=[];y.sort((Q,_)=>Q.layoutIndex-_.layoutIndex);let O=0;for(let Q of y){Q.clone.style.zIndex="1",V.content.appendChild(Q.clone);let _=Math.round(Q.offset-T),C=Math.round(Q.offset-O);N.push(Q.clone.animate([{transform:`${A}(${_}px) scaleY(1)`,opacity:1,transformOrigin:b},{transform:`${A}(${C}px) scaleY(0)`,opacity:0,transformOrigin:b}],Y)),O+=Q.size}let p=new Set(y.map((Q)=>Q.clone)),s=V.content.children;for(let Q=0;Q<s.length;Q++){let _=s[Q];if(p.has(_))continue;let C=_.dataset?.id,g=parseInt(_.dataset?.index??"-1",10);if(!C||g<0)continue;let i=S.get(C);if(i===void 0)continue;let f=U.getOffset(g),x=Math.round(i-T),a=Math.round(f);if(x===a)continue;N.push(_.animate([{transform:`${A}(${x}px)`},{transform:`${A}(${a}px)`}],Y))}let o=!1,u=()=>{if(o)return;o=!0,K=null;for(let{clone:Q}of y)Q.remove();for(let Q of N)if(Q.playState!=="finished")Q.cancel();if(z>=0){let Q=D.totalItems;if(Q>0)F.getRenderedElement(Math.min(z,Q-1))?.focus()}for(let Q of P)B.emit("remove:end",{id:Q})};return K=u,Promise.all(N.map((Q)=>Q.finished)).then(u,u),setTimeout(u,v.duration+50),P.length};F.registerMethod("removeItem",k),F.registerMethod("removeItems",E)}if(Z){let k=(E,R)=>{if(M)M();if(K)K();let G=R??0,z=new Map,I=V.content.children;for(let Q=0;Q<I.length;Q++){let _=I[Q],C=_.dataset?.id,g=parseInt(_.dataset?.index??"-1",10);if(C&&g>=0)z.set(C,U.getOffset(g))}let y=l.horizontal?"scrollLeft":"scrollTop",S=l.horizontal?"scrollWidth":"scrollHeight",h=l.horizontal?"clientWidth":"clientHeight",r=V.viewport[y],c=V.viewport[S]-V.viewport[h],P=r>=c-1;F.insertItemAt(E,G),F.forceRender(),w(),B.emit("data:change",{type:"insert",id:E.id});let T=V.viewport[y]-r,v=L(G);if(l.reverse&&T===0&&P){V.viewport[y]=V.viewport[S]-V.viewport[h];let Q=V.viewport[y];if(D.prevScrollPosition=D.scrollPosition,D.scrollPosition=Q,T=Q-r,T>0)F.forceRender(),w()}let Y=F.getRenderedElement(v),N=Z,O={duration:N.duration,easing:N.easing},p=[];if(Y){let Q=U.getOffset(v);p.push(Y.animate([{transform:`${A}(${Math.round(Q)}px) scaleY(0)`,opacity:0,transformOrigin:b},{transform:`${A}(${Math.round(Q)}px) scaleY(1)`,opacity:1,transformOrigin:b}],O))}let s=V.content.children;for(let Q=0;Q<s.length;Q++){let _=s[Q];if(_===Y)continue;let C=_.dataset?.id,g=parseInt(_.dataset?.index??"-1",10);if(!C||g<0)continue;let i=z.get(C);if(i===void 0)continue;let f=U.getOffset(g),x=Math.round(i+T),a=Math.round(f);if(x===a)continue;p.push(_.animate([{transform:`${A}(${x}px)`},{transform:`${A}(${a}px)`}],O))}if(p.length===0)return;let o=!1,u=()=>{if(o)return;o=!0,M=null;for(let Q of p)if(Q.playState!=="finished")Q.cancel()};M=u,Promise.all(p.map((Q)=>Q.finished)).then(u,u),setTimeout(u,N.duration+50)};F.registerMethod("insertItem",k)}},destroy(){if(K)K();if(M)M()}}}function G0(j){let $=j?.gap??0,q=null,X=null,J,Z,K,M,F=new Map,U=new WeakMap,B=0,l=!1,V=2;function D(L){return F.get(L)??M}function b(){let L=X.dom.viewport,W=L.scrollHeight-L.clientHeight;return W>0&&J.scrollPosition>=W-V}function A(){let L=X.dom.viewport;L.scrollHeight;let W=L.scrollHeight-L.clientHeight;if(W>J.scrollPosition)X.scrollTo(W)}function H(){X.updateContentSize(X.sizeCache.getTotalSize())}return{name:"autosize",priority:5,setup(L){if(X=L,J=L.getState(),Z=L.config.horizontal,K=Z?"width":"height",$===0)$=L.config.gap;if(M=typeof L.rawSizeSpec==="function"?L.rawSizeSpec(0)+$:L.rawSizeSpec+$,L.setSizeConfig(D),$>0){let W=L.sizeCache.getTotalSize;L.sizeCache.getTotalSize=()=>{let w=W();return w>0?w-$:0}}q=new ResizeObserver((W)=>{if(J.destroyed||!X)return;let w=!1,k=J.startIndex;for(let z of W){let I=z.target,y=U.get(I);if(y===void 0)continue;if(I.getAttribute("data-index")!==String(y)){q.unobserve(I);continue}if(F.has(y))continue;let S=z.borderBoxSize[0];if(!S)continue;let h=Z?S.inlineSize:S.blockSize;if(h<=0)continue;let r=h+$,c=M;if(F.set(y,r),w=!0,y<k&&r!==c)B+=r-c;q.unobserve(I),I.style[K]=`${h}px`}if(!w)return;let E=b();if(L.rebuildSizeCache(),B)L.scrollTo(J.scrollPosition+B),B=0;let R=J.scrollDirection!==0,G=J.totalItems>0&&J.prevRangeEnd>=J.totalItems-1;if(E||G||!R){if(H(),l=!1,E)A()}else l=!0;L.forceRender()}),L.registerMethod("isMeasured",(W)=>F.has(W)),L.registerMethod("setMeasuredSize",(W,w)=>{F.set(W,w)}),L.registerMethod("getMeasuredCount",()=>F.size),L.registerDestroyHandler(()=>{if(q)q.disconnect(),q=null})},hooks:{onCommit(L){if(!q||!X)return;for(let W=0;W<L.visibleCount;W++){let w=L.visibleIndices[W];if(F.has(w))continue;let k=X.getRenderedElement(w);if(!k)continue;k.style[K]="",U.set(k,w),q.observe(k)}},onIdle(){if(!l||!X)return;let L=b();if(H(),l=!1,L)A(),X.forceRender()}},destroy(){if(q)q.disconnect(),q=null;F.clear(),X=null}}}var K1=(j)=>{let $=Math.max(1,Math.floor(j.columns)),q=j.gap??0,X=j.containerSize,J=0,Z=[],K=()=>{let A=($-1)*q;J=Math.max(0,(X-A)/$),Z=Array($);let H=J+q;for(let L=0;L<$;L++)Z[L]=L*H};K();let M=[],F=0,U=[],B=(A,H)=>{if(A<=0)return F=0,M=[],[];let L=Array($).fill(0),W=Array($);for(let E=0;E<$;E++)W[E]=[];let w=Array(A);for(let E=0;E<A;E++){let R=0,G=L[0];for(let y=1;y<$;y++){let S=L[y];if(S<G)G=S,R=y}let z=H(E),I=L[R];w[E]={index:E,x:Z[R],y:I,lane:R,size:z,crossSize:J},W[R].push(E),L[R]=I+z+q}M=W;let k=0;for(let E=0;E<$;E++){let R=L[E],G=R>0?R-q:0;if(G>k)k=G}return F=k,w},l=(A)=>{if(A.length===0)return F;if(F)return F;let H=Array($).fill(0);for(let W of A){let w=W.y+W.size,k=H[W.lane];if(w>k)H[W.lane]=w}let L=0;for(let W=0;W<$;W++)if(H[W]>L)L=H[W];return L},V=(A,H,L)=>{if(A.length===0||L<=H)return U.length=0,U;if(M.length===0||M.length!==$)return D(A,H,L);U.length=0;for(let W=0;W<$;W++){let w=M[W],k=w.length;if(!k)continue;let E=0,R=k;while(E<R){let G=E+R>>>1,z=A[w[G]];if(z.y+z.size<=H)E=G+1;else R=G}for(let G=E;G<k;G++){let z=A[w[G]];if(z.y>=L)break;U.push(z)}}return U},D=(A,H,L)=>{U.length=0;for(let W of A)if(W.y+W.size>H&&W.y<L)U.push(W);return U};return{get columns(){return $},get gap(){return q},get containerSize(){return X},update:(A)=>{let H=!1;if(A.columns!==void 0){let L=Math.max(1,Math.floor(A.columns));if(L!==$)$=L,H=!0}if(A.gap!==void 0&&A.gap!==q)q=A.gap,H=!0;if(A.containerSize!==void 0&&A.containerSize!==X)X=A.containerSize,H=!0;if(H)K()},calculateLayout:B,getTotalSize:l,getVisibleItems:V}};var U1=(j,$,q)=>{let X=Array.from($).sort((K,M)=>K-M);if(X.length<=1)return;let J=[];for(let K=0;K<X.length;K++){let M=q(X[K]);if(M)J.push(M)}if(J.length<=1)return;let Z=j.firstChild;for(let K=0;K<J.length;K++){let M=J[K];if(M===Z)Z=Z.nextSibling;else j.insertBefore(M,Z)}};var c1=(j=200)=>{let $=[];return{acquire:()=>{let Z=$.pop();if(Z)return Z;let K=document.createElement("div");return K.setAttribute("role","option"),K},release:(Z)=>{if(Z.remove(),$.length<j)Z.className="",Z.textContent="",Z.removeAttribute("style"),Z.removeAttribute("data-index"),Z.removeAttribute("data-id"),Z.removeAttribute("data-lane"),$.push(Z)},clear:()=>{$.length=0}}},l1=1,B1=(j,$,q,X=!1,J,Z,K,M)=>{let F=c1(),U=new Map,B=new Set,l=0,V="",D=-1,b={selected:!1,focused:!1},A=(c,P)=>{return b.selected=c,b.focused=P,b},H=`${q}-item ${q}-masonry-item`,L=`${q}-group-header`,W=`${q}-item--selected`,w=`${q}-item--focused`,k=(c,P)=>{if(typeof P==="string")c.innerHTML=P;else c.replaceChildren(P)},E=(c,P,T)=>{c.classList.toggle(W,P),c.classList.toggle(w,T)},R=(c,P)=>{if(X)c.style.transform=`translate(${Math.round(P.y)}px, ${Math.round(P.x)}px)`;else c.style.transform=`translate(${Math.round(P.x)}px, ${Math.round(P.y)}px)`},G=(c,P)=>{if(X)c.style.width=`${P.size}px`,c.style.height=`${P.crossSize}px`;else c.style.width=`${P.crossSize}px`,c.style.height=`${P.size}px`},z=(c,P,T,v,Y)=>{let N=F.acquire(),O=P.__groupHeader,p=A(v,Y);if(N.className=O?L:H,N.dataset.index=String(c),N.dataset.id=String(P.id),N.dataset.lane=String(T.lane),O)N.setAttribute("role","presentation"),N.removeAttribute("aria-selected"),N.removeAttribute("aria-setsize"),N.removeAttribute("aria-posinset"),N.removeAttribute("id");else if(M!==!1){if(N.setAttribute("role","option"),N.ariaSelected=String(v),Z)N.id=`${Z}-item-${c}`;if(J){let o=J();if(o!==D)D=o,V=String(o);N.setAttribute("aria-setsize",V);let u=K?K(c):c+1;N.setAttribute("aria-posinset",String(u))}}else if(N.setAttribute("role","listitem"),N.removeAttribute("aria-selected"),J){let o=J();if(o!==D)D=o,V=String(o);N.setAttribute("aria-setsize",V);let u=K?K(c):c+1;N.setAttribute("aria-posinset",String(u))}G(N,T);let s=$(P,c,p);return k(N,s),E(N,v,Y),R(N,T),{element:N,lastItemId:P.id,lastSelected:v,lastFocused:Y,lastY:T.y,lastX:T.x,lastSize:T.size,lastCrossSize:T.crossSize,lastSeenFrame:l}},I=(c,P,T,v)=>{l++,B.clear();for(let N=0;N<P.length;N++)B.add(P[N].index);for(let[N,O]of U)if(B.has(N))O.lastSeenFrame=l;else if(l-O.lastSeenFrame>l1)F.release(O.element),U.delete(N);let Y=null;for(let N=0;N<P.length;N++){let O=P[N],p=O.index,s=c(p);if(!s)continue;let o=T.has(s.id),u=p===v,Q=U.get(p);if(Q){let _=Q.lastItemId!==s.id,C=Q.lastSelected!==o,g=Q.lastFocused!==u,i=Q.lastY!==O.y||Q.lastX!==O.x,f=Q.lastSize!==O.size||Q.lastCrossSize!==O.crossSize;if(_){let x=A(o,u),a=$(s,p,x);if(k(Q.element,a),Q.element.dataset.id=String(s.id),Q.lastItemId=s.id,!s.__groupHeader){let t=K?K(p):p+1;Q.element.setAttribute("aria-posinset",String(t))}}if(_||C||g)E(Q.element,o,u),Q.element.ariaSelected=String(o),Q.lastSelected=o,Q.lastFocused=u;if(f)G(Q.element,O),Q.lastSize=O.size,Q.lastCrossSize=O.crossSize;if(i)R(Q.element,O),Q.lastY=O.y,Q.lastX=O.x}else{let _=z(p,s,O,o,u);if(!Y)Y=document.createDocumentFragment();Y.appendChild(_.element),U.set(p,_)}}if(Y)j.appendChild(Y)},y=()=>{for(let c of U.values())F.release(c.element);U.clear(),j.innerHTML=""};return{render:I,getElement:(c)=>U.get(c)?.element,updateItemClasses:(c,P,T)=>{let v=U.get(c);if(!v)return;let Y=v.lastSelected!==P,N=v.lastFocused!==T;if(Y||N)E(v.element,P,T),v.lastSelected=P,v.lastFocused=T},sortDOM:()=>{U1(j,U.keys(),(c)=>U.get(c)?.element)},clear:y,destroy:()=>{y(),F.clear()}}};var r1=100,s1=new Set;function A0(j){if(!j.columns||j.columns<1)throw Error("[vlist] masonry: columns must be >= 1");let $,q=null,X,J=null,Z,K,M,F=[],U=-1,B=-1,l=!0,V=-1,D={columnWidth:0,columns:0,gap:0,containerWidth:0},b=[],A=(T)=>b[T],H=null,L=null,W=!1;function w(){if(W||!J)return;W=!0,H=J.getMethod("_getSelectedIds")??null,L=J.getMethod("_getFocusedIndex")??null}let k=[],E=new Int32Array(0),R=[];function G(){let T=$.columns,v=F.length;k=Array(T);for(let Y=0;Y<T;Y++)k[Y]=[];if(E.length<v)E=new Int32Array(v);for(let Y=0;Y<v;Y++){let N=F[Y],O=k[N.lane].length;k[N.lane].push(Y),E[Y]=O}R=Array(T);for(let Y=0;Y<T;Y++){let N=k[Y],O=new Float64Array(N.length);for(let p=0;p<N.length;p++){let s=F[N[p]];O[p]=s.y+s.size*0.5}R[Y]=O}}function z(T,v){let Y=T.length;if(!Y)return-1;let N=0,O=Y-1;while(N<O){let p=N+O>>1;if(T[p]<v)N=p+1;else O=p}if(N>0&&Math.abs(T[N-1]-v)<=Math.abs(T[N]-v))return N-1;return N}function I(T,v,Y){let N=F[T];if(!N)return T;let O=N.lane,p=$.columns,s=E[T],o=k[O];switch(Z?v==="ArrowDown"?"ArrowRight":v==="ArrowUp"?"ArrowLeft":v==="ArrowRight"?"ArrowDown":v==="ArrowLeft"?"ArrowUp":v:v){case"ArrowDown":if(s+1<o.length)return o[s+1];return T;case"ArrowUp":if(s>0)return o[s-1];return T;case"ArrowRight":{if(O>=p-1)return T;let Q=O+1,_=N.y+N.size*0.5,C=k[Q];if(!C.length)return T;let g=z(R[Q],_);return g>=0?C[g]:T}case"ArrowLeft":{if(O<=0)return T;let Q=O-1,_=N.y+N.size*0.5,C=k[Q];if(!C.length)return T;let g=z(R[Q],_);return g>=0?C[g]:T}case"Home":return 0;case"End":return Y-1;case"PageDown":{let Q=X.containerSize,_=N.size>0?N.size:150,C=Math.max(1,Math.floor(Q/_)),g=Math.min(s+C,o.length-1);return o[g]}case"PageUp":{let Q=X.containerSize,_=N.size>0?N.size:150,C=Math.max(1,Math.floor(Q/_)),g=Math.max(0,s-C);return o[g]}}return T}let y=null;function S(){if(j.size)return(T)=>j.size(T,D);if(y!==null&&typeof y==="function")return(T)=>y(T,D);return(T)=>J.sizeCache.getSize(T)}function h(){let{columns:T,gap:v}=$;D.containerWidth=$.containerSize,D.columns=T,D.gap=v,D.columnWidth=Math.max(0,($.containerSize-(T-1)*v)/T)}function r(){if(!J)return;h();let T=X.totalItems;F=$.calculateLayout(T,S()),V=T,G();let v=$.getTotalSize(F);J.updateContentSize(v)}function c(){if(X.destroyed||!J||!q)return;if(X.totalItems!==V)r();w();let{scrollPosition:T,containerSize:v}=X;if(!l&&T===U&&v===B)return;if(U=T,B=v,l=!1,v<=0||F.length===0)return;let Y=Math.max(0,T-M),N=T+v+M,O=$.getVisibleItems(F,Y,N),p=H?.()??s1,s=L?.()??-1;b=J.getItems(),q.render(A,O,p,s);let o=O.length,u=o>0?O[0].index:0,Q=o>0?O[o-1].index:0;X.prevRangeStart=u,X.prevRangeEnd=Q,X.renderPending=!1;let _=Math.min(o,X.capacity);X.visibleCount=_,X.startIndex=u;for(let C=0;C<_;C++){let g=O[C];X.visibleIndices[C]=g.index,X.visibleOffsets[C]=g.y,X.visibleSizes[C]=g.size}}function P(){if(X.destroyed)return;r(),X.prevRangeStart=-1,X.prevRangeEnd=-1,X.renderPending=!0,l=!0,c()}return{name:"masonry",priority:10,conflicts:["grid","table"],setup(T){if(J=T,X=T.getState(),y=T.rawSizeSpec,Z=T.config.horizontal,K=T.config.classPrefix,M=T.config.overscan*r1,T.config.reverse)throw Error("[vlist] masonry: cannot be combined with reverse mode");let v=X.crossSize;$=K1({columns:j.columns,gap:j.gap??0,containerSize:v}),q=B1(T.dom.content,T.template,K,Z,()=>X.totalItems,void 0,void 0,T.config.interactive),T.dom.root.classList.add(`${K}--masonry`),T.setRenderFn(c,P),r(),T.registerMethod("getMasonryLayout",()=>$),T.registerMethod("updateMasonry",(Y)=>{if(Y.columns!==void 0&&Y.columns<1)throw Error("[vlist] updateMasonry: columns must be >= 1");if(Y.gap!==void 0&&Y.gap<0)throw Error("[vlist] updateMasonry: gap must be >= 0");let N={};if(Y.columns!==void 0)N.columns=Y.columns;if(Y.gap!==void 0)N.gap=Y.gap;$.update(N),q?.clear(),P()}),T.registerMethod("scrollToIndex",(Y,N="start")=>{let O=F[Y];if(!O)return;let p=typeof N==="string"?N:N.align??"start",s=typeof N==="object"?N.behavior:void 0,o=typeof N==="object"?N.duration:void 0,u=X.containerSize,Q=$.getTotalSize(F),_=Math.max(0,Q-u),C=O.y;if(p==="center")C=O.y-u/2+O.size/2;else if(p==="end"){if(C=O.y-u+O.size,Y>=X.totalItems-1&&O.y+O.size>_)C=_}if(C=Math.max(0,Math.min(C,_)),s==="smooth"&&o&&o>0)T.smoothScrollTo(C,o);else T.scrollTo(C)}),T.registerMethod("_scrollItemIntoView",(Y)=>{let N=F[Y];if(!N)return;let{scrollPosition:O,containerSize:p}=X,s=N.y,o=s+N.size;if(s<O)T.scrollTo(Math.max(0,s));else if(o>O+p)T.scrollTo(o-p)}),T.setNavConfig({total:()=>X.totalItems,navigate:I}),T.registerDestroyHandler(()=>{q?.destroy(),q=null,T.dom.root.classList.remove(`${K}--masonry`)})},hooks:{onResize(T,v){if(!$||!J)return;let Y=X.crossSize;if(Math.abs(Y-$.containerSize)<1)return;$.update({containerSize:Y}),q?.clear(),P()},onIdle(){q?.sortDOM()}},destroy(){q?.destroy(),q=null,F=[],J=null}}}var W1=(j={})=>{let{chunkSize:$=100,maxCachedItems:q=5000,evictionBuffer:X=200,onEvict:J}=j,Z=new Map,K=0,M=0,F=(v)=>{let Y=Z.get(v);if(!Y)Y={items:Array($),count:0,lastAccess:Date.now()},Z.set(v,Y);else Y.lastAccess=Date.now();return Y},U=(v)=>{return Math.floor(v/$)},B=(v)=>{return v%$},l=()=>K,V=(v)=>{K=v},D=(v)=>{if(v<0||v>=K)return;let Y=U(v),N=Z.get(Y);if(!N)return;return N.items[B(v)]},b=(v)=>{if(v<0||v>=K)return!1;let Y=U(v),N=Z.get(Y);if(!N)return!1;return N.items[B(v)]!==void 0},A=(v,Y)=>{let N=U(v),O=F(N),p=B(v),s=O.items[p]===void 0;if(O.items[p]=Y,s)O.count++,M++;if(v>=K)K=v+1},H=(v,Y)=>{for(let N=0;N<Y.length;N++){let O=Y[N];if(O!==void 0)A(v+N,O)}},L=(v,Y)=>{if(v<0||v>K)return;let N=U(v),O=Array.from(Z.keys()).filter((Q)=>Q>=N).sort((Q,_)=>Q-_),p=[];for(let Q of O){let _=Z.get(Q),C=Q*$;for(let g=0;g<$;g++){if(_.items[g]===void 0)continue;let i=C+g;if(i<v)continue;p.push({oldIndex:i,item:_.items[g]})}}for(let{oldIndex:Q}of p){let _=U(Q),C=Z.get(_);if(!C)continue;let g=B(Q);if(C.items[g]!==void 0){if(C.items[g]=void 0,C.count--,M--,C.count===0)Z.delete(_)}}K++;for(let{oldIndex:Q,item:_}of p){let C=Q+1,g=U(C),i=F(g),f=B(C);i.items[f]=_,i.count++,M++}let s=U(v),o=F(s),u=B(v);o.items[u]=Y,o.count++,M++},W=(v)=>{if(v<0||v>=K)return!1;let Y=U(v),N=Z.get(Y),O=B(v);if(!(N!==void 0&&N.items[O]!==void 0))return!1;let s=Y,o=Array.from(Z.keys()).filter((Q)=>Q>=s).sort((Q,_)=>Q-_),u=[];for(let Q of o){let _=Z.get(Q),C=Q*$;for(let g=0;g<$;g++){if(_.items[g]===void 0)continue;let i=C+g;if(i<=v)continue;u.push({oldIndex:i,item:_.items[g]})}}if(N.items[O]=void 0,N.count--,M--,N.count===0)Z.delete(Y);for(let{oldIndex:Q}of u){let _=U(Q),C=Z.get(_);if(!C)continue;let g=B(Q);if(C.items[g]!==void 0){if(C.items[g]=void 0,C.count--,M--,C.count===0)Z.delete(_)}}for(let{oldIndex:Q,item:_}of u){let C=Q-1,g=U(C),i=F(g),f=B(C);i.items[f]=_,i.count++,M++}return K--,!0},w=(v,Y)=>{let N=[];for(let O=v;O<=Y&&O<K;O++)N.push(D(O));return N},k=(v,Y)=>{for(let N=v;N<=Y&&N<K;N++)if(!b(N))return!1;return!0},E=()=>{let v=[],Y=null,N=Array.from(Z.keys()).sort((O,p)=>O-p);for(let O of N){let p=Z.get(O);if(!p)continue;let s=O*$;for(let o=0;o<$;o++){let u=s+o;if(u>=K)break;if(p.items[o]!==void 0)if(Y===null)Y={start:u,end:u};else if(u===Y.end+1)Y.end=u;else v.push(Y),Y={start:u,end:u};else if(Y!==null)v.push(Y),Y=null}}if(Y!==null)v.push(Y);return v},R=(v,Y)=>{let N=[],O=null;for(let p=v;p<=Y&&p<K;p++)if(!b(p))if(O===null)O={start:p,end:p};else O.end=p;else if(O!==null)N.push(O),O=null;if(O!==null)N.push(O);return N},G=(v)=>{return Z.has(v)},z=(v)=>{let Y=Z.get(v);if(!Y)return!1;let N=v*$,O=Math.min($,K-N);return Y.count>=O},I=(v)=>{let Y=Z.get(v);if(Y)Y.lastAccess=Date.now()},y=(v,Y)=>{if(v>Y||Z.size===0)return;let N=Date.now(),O=U(Math.max(0,v)),p=U(Math.min(K-1,Y));for(let s=O;s<=p;s++){let o=Z.get(s);if(o)o.lastAccess=N}},S=(v,Y)=>{if(M<=q)return 0;let N=Math.max(0,v-X),O=Math.min(K-1,Y+X),p=U(N),s=U(O),o=0,u=[];for(let[Q,_]of Z)if(Q<p||Q>s)o+=_.count,u.push(Q),M-=_.count,Z.delete(Q);if(o>0&&J)J(o,u);return o},h=()=>{if(M<=q)return 0;let v=Array.from(Z.entries()).sort(([,O],[,p])=>O.lastAccess-p.lastAccess),Y=0,N=[];for(let[O,p]of v){if(M<=q)break;Y+=p.count,M-=p.count,N.push(O),Z.delete(O)}if(Y>0&&J)J(Y,N);return Y},r=()=>{return{totalItems:K,cachedItems:M,cachedChunks:Z.size,chunkSize:$,maxCachedItems:q,memoryEfficiency:K>0?1-M/K:1}},c=()=>M,P=()=>{Z.clear(),M=0};return{chunkSize:$,maxCachedItems:q,getTotal:l,setTotal:V,get:D,has:b,set:A,setRange:H,insert:L,delete:W,getRange:w,isRangeLoaded:k,getLoadedRanges:E,findUnloadedRanges:R,getChunkIndex:U,isChunkLoaded:G,isChunkFullyLoaded:z,touchChunk:I,touchChunksForRange:y,evictDistant:S,evictToLimit:h,getStats:r,getCachedCount:c,clear:P,reset:()=>{P(),K=0}}};var N1=(j={})=>{let{maskCharacter:$=w0,maxSampleSize:q=z0}=j,X=[],J=!1,Z=(B)=>{if(J||B.length===0)return;let l=Math.min(B.length,q);for(let V=0;V<l;V++){let D=B[V];if(!D||typeof D!=="object")continue;let b={},A=!1;for(let[H,L]of Object.entries(D)){if(H.startsWith("_")||H==="id")continue;b[H]=String(L??"").length,A=!0}if(A)X.push(b)}J=!0},K=()=>J,M=(B)=>{let l={id:`${C2}${B}`,[j0]:!0,_index:B};if(X.length===0)return l.label=$.repeat(12),l;let V=X[B%X.length];for(let[D,b]of Object.entries(V))l[D]=$.repeat(Math.max(1,b));return l};return{analyzeStructure:Z,hasAnalyzedStructure:K,generate:M,generateRange:(B,l)=>{let V=[];for(let D=B;D<=l;D++)V.push(M(D));return V},clear:()=>{X=[],J=!1}}},J0=(j)=>{if(!j||typeof j!=="object")return!1;return j[j0]===!0};var a1=50,V1=(j={})=>{let{adapter:$,initialItems:q,initialTotal:X,storage:J,placeholder:Z,pageSize:K=a1,maxConcurrent:M=0,onStateChange:F,onDataChange:U,onItemsLoaded:B,onItemsEvicted:l}=j,V=W1({...J,onEvict:(J2,n)=>{l?.(J2),y(),I()}}),D=null,b=()=>{if(!D)D=N1(Z);return D},A=new Map,H=!1,L,W=!0,w,k,E=[],R=0,G=new Map,z=()=>{for(let J2 of G.values())J2[1].abort();G.clear()},I=()=>{F?.(N())},y=()=>{U?.()},S=()=>{A.clear();let J2=V.getLoadedRanges();for(let n of J2)for(let $2=n.start;$2<=n.end;$2++){let K2=V.get($2);if(K2&&!J0(K2))A.set(K2.id,$2)}},h=(J2,n)=>{if(!J0(n))A.set(n.id,J2)},r=(J2)=>{A.delete(J2)},c=(J2,n)=>{return`${J2}-${n}`},P=()=>V.getTotal(),T=()=>V.getCachedCount(),v=()=>H,Y=()=>W,N=()=>({total:V.getTotal(),cached:V.getCachedCount(),isLoading:H,pendingRanges:E,error:L,hasMore:W,cursor:w}),O=()=>V,p=()=>b(),s=(J2)=>{let n=V.get(J2);if(n!==void 0)return n;if(J2>=0&&J2<V.getTotal())return b().generate(J2);return},o=(J2)=>{let n=A.get(J2);if(n===void 0)return;return V.get(n)},u=(J2)=>{return A.get(J2)??-1},Q=(J2)=>{let n=V.get(J2);return n!==void 0&&!J0(n)},_=(J2,n)=>{let $2=[],K2=V.getTotal();V.touchChunksForRange(J2,Math.min(n,K2-1));for(let B2=J2;B2<=n&&B2<K2;B2++){let q2=V.get(B2);if(q2!==void 0)$2.push(q2);else $2.push(b().generate(B2))}return $2},C=(J2)=>{V.setTotal(J2),W=V.getCachedCount()<J2,y(),I()},g=(J2,n=0,$2)=>{if($&&J2.length>0){let K2=b();if(!K2.hasAnalyzedStructure())K2.analyzeStructure(J2)}for(let K2=0;K2<J2.length;K2++){let B2=J2[K2];if(B2!==void 0){let q2=n+K2;V.set(q2,B2),h(q2,B2)}}if($2!==void 0)V.setTotal($2);else if(n+J2.length>V.getTotal())V.setTotal(n+J2.length);if(V.getCachedCount()>=V.getTotal()&&V.getTotal()>0)W=!1;y(),I(),B?.(J2,n,V.getTotal())},i=(J2,n)=>{let $2=V.get(J2);if(!$2)return!1;let K2=$2.id,B2={...$2,...n};if(V.set(J2,B2),n.id!==void 0&&n.id!==K2)r(K2);return h(J2,B2),y(),I(),!0},f=(J2,n)=>{V.insert(n,J2),S(),z(),y(),I()},x=(J2)=>{let n=A.get(J2);if(n===void 0)return!1;if(!V.delete(n))return!1;return S(),z(),y(),I(),!0},a=async(J2,n)=>{if(!$)return;let $2=V.chunkSize,K2=Math.floor(J2/$2),B2=Math.floor(n/$2),q2=$2*2;for(let[A2,D2]of G){let b2=A2.indexOf("-"),y2=parseInt(A2.slice(0,b2),10);if(Math.abs(y2-J2)>q2)D2[1].abort(),G.delete(A2)}let E2=[],R2=[];for(let A2=K2;A2<=B2;A2++){let D2=A2*$2,b2=D2+$2-1,y2=c(D2,b2);if(V.isChunkFullyLoaded(A2))continue;let k2=G.get(y2);if(k2)R2.push(k2[0]);else E2.push({start:D2,end:b2})}if(E2.length===0){if(R2.length>0)await Promise.all(R2);return}if(M>0){let A2=G.size+E2.length;if(A2>M){let D2=(J2+n)/2,b2=Math.min(A2-M,G.size);while(b2>0){let F2=null,k2=-1,H2=null;for(let[w2,N2]of G){let L2=w2.indexOf("-"),P2=parseInt(w2.slice(0,L2),10),X2=parseInt(w2.slice(L2+1),10),d=Math.abs((P2+X2)/2-D2);if(d>k2)k2=d,F2=w2,H2=N2[1]}if(F2)H2.abort(),G.delete(F2);b2--}let y2=M-G.size;if(E2.length>y2)E2.sort((F2,k2)=>{let H2=Math.abs((F2.start+F2.end)/2-D2),w2=Math.abs((k2.start+k2.end)/2-D2);return H2-w2}),E2.length=Math.max(0,y2)}}if(E2.length===0){if(R2.length>0)await Promise.all(R2);return}for(let A2 of E2){let D2=c(A2.start,A2.end),b2=new AbortController,y2=(async()=>{E.push(A2),H=!0,L=void 0,I();try{let F2=A2.end-A2.start+1,k2={offset:A2.start,limit:F2,cursor:A2.start===k?w:void 0,signal:b2.signal},H2=await $.read(k2);if(g(H2.items,A2.start,H2.total),H2.cursor)w=H2.cursor,k=A2.start+H2.items.length;let w2=A2.start+H2.items.length;if(w2>=R){if(R=w2,H2.hasMore!==void 0)W=H2.hasMore;else if(H2.total!==void 0)W=w2<H2.total}}catch(F2){if(F2?.name==="AbortError")return;L=F2 instanceof Error?F2:Error(String(F2))}finally{G.delete(D2);let F2=E.findIndex((k2)=>k2.start===A2.start&&k2.end===A2.end);if(F2>=0)E.splice(F2,1);H=G.size>0,I()}})();G.set(D2,[y2,b2]),R2.push(y2)}await Promise.all(R2)},e=async(J2,n)=>{if(V.isRangeLoaded(J2,n))return;await a(J2,n)},t=async()=>{if(!$)return;await a(0,K-1)},Q2=async()=>{if(!$||H||!W)return!1;let J2=V.getCachedCount(),n=V.getTotal(),$2=J2,K2=Math.min($2+K-1,n>0?n-1:$2+K-1);if($2>=n&&n>0)return W=!1,!1;return await a($2,K2),V.getCachedCount()>J2},Z2=async()=>{if(V.clear(),V.setTotal(0),A.clear(),D)D.clear();z(),E=[],H=!1,w=void 0,k=void 0,W=!0,R=0,L=void 0,y(),I()},G2=(J2,n)=>{if(V.evictDistant(J2,n)>0)S()},M2=()=>{V.clear(),A.clear(),w=void 0,k=void 0,L=void 0,E=[],H=!1,y(),I()},W2=()=>{if(V.reset(),A.clear(),D)D.clear();w=void 0,k=void 0,W=!0,R=0,L=void 0,E=[],H=!1,y(),I()};if(q&&q.length>0)g(q,0,X??q.length);else if(X!==void 0)V.setTotal(X),y(),I();return{getState:N,getTotal:P,getCached:T,getIsLoading:v,getHasMore:Y,getStorage:O,getPlaceholders:p,getItem:s,getItemById:o,getIndexById:u,isItemLoaded:Q,getItemsInRange:_,setTotal:C,setItems:g,updateItem:i,insertItem:f,removeItem:x,loadRange:a,ensureRange:e,loadInitial:t,loadMore:Q2,reload:Z2,evictDistant:G2,clear:M2,reset:W2}};function D0(j){let{adapter:$,total:q,autoLoad:X=!0,storage:J}=j,Z=j.loading?.cancelThreshold??k0,K=j.loading?.preloadThreshold??y0,M=j.loading?.preloadAhead??b0,F=j.loading?.maxConcurrent??P0,U,B,l,V,D,b,A=null,H=null,L=null,W=0,w=!1,k=-1,E=-1,R=J?.chunkSize??r2,G=()=>{if(A=null,H!==null)clearTimeout(H),H=null},z=(h,r)=>{return U.ensureRange(h,r)},I=(h,r=r2)=>{V.emit("load:start",{offset:h,limit:r})},y=(h)=>{V.emit("error",{error:h,context:"ensureRange"})},S=()=>{if(!A)return;A=null;let h={start:B.startIndex,end:B.startIndex+Math.max(0,B.visibleCount-1)};if(h.end<h.start)return;z(h.start,h.end).catch(y)};return{name:"data",priority:20,setup(h){B=h.getState(),l=h.sizeCache,V=h.emitter,D=h.dom,b=h.forceRender.bind(h);let r=null;h.setVirtualTotalFn(()=>r?.getTotal()??0),U=r=V1({adapter:$,...q!==void 0&&{initialTotal:q},pageSize:J?.chunkSize??r2,maxConcurrent:F,...J&&{storage:{...J.chunkSize!==void 0&&{chunkSize:J.chunkSize},...J.maxCachedItems!==void 0&&{maxCachedItems:J.maxCachedItems},...J.evictionBuffer!==void 0&&{evictionBuffer:J.evictionBuffer}}},onDataChange:()=>{if(B.initialized){let P=U.getTotal();B.totalItems=P;let T=l.getTotal();if(P!==T)l.rebuild(P);h.updateContentSize(l.getTotalSize()),h.renderIfNeeded()}},onItemsLoaded:(P)=>{if(B.initialized)b(),V.emit("load:end",{items:P,total:U.getTotal()})}}),h.setGetItemFn((P)=>U.getItem(P)),h.setRemoveItemFn((P)=>{let T=U.getIndexById(P);if(T<0)return-1;if(!U.removeItem(P))return-1;return T}),h.setInsertItemFn((P,T)=>{U.insertItem(P,T)}),h.setUpdateItemFn((P,T)=>{let v=U.getIndexById(P);if(v<0)return!1;return U.updateItem(v,T)}),h.registerMethod("reload",async()=>{if(A=null,k=-1,E=-1,h.forceRender(),await U.reload(),h.scrollTo(0),X)I(0),await U.loadInitial(),h.forceRender()}),h.registerMethod("loadVisibleRange",async()=>{A=null,h.forceRender();let P=U.getTotal();if(B.visibleCount>0&&B.startIndex<P){let T=Math.min(B.startIndex+B.visibleCount-1,P-1);I(B.startIndex,T-B.startIndex+1),await z(B.startIndex,T)}}),h.registerMethod("getTotal",()=>{return U.getTotal()}),h.registerMethod("setTotal",(P)=>{U.setTotal(P)}),h.registerMethod("_getTotal",()=>U.getTotal()),h.registerMethod("_setTotal",(P)=>{U.setTotal(P)}),h.registerMethod("_cancelAutoLoad",()=>{w=!0}),h.registerMethod("_getLoadedItem",(P)=>{return U.getStorage().get(P)}),h.registerMethod("_getLoadedCount",()=>U.getCached()),V.on("load:start",()=>{D.root.setAttribute("aria-busy","true")}),V.on("load:end",()=>{D.root.removeAttribute("aria-busy")}),h.registerDestroyHandler(()=>{if(L!==null)clearTimeout(L),L=null;G()}),V.on("velocity:change",({velocity:P})=>{W=Math.abs(P)});let c=()=>{if(B.destroyed)return;if(B.visibleCount>0&&B.startIndex<U.getTotal()){let P=Math.min(B.startIndex+B.visibleCount-1,U.getTotal()-1);z(B.startIndex,P).catch(y)}S()};if(window.addEventListener("online",c),h.registerDestroyHandler(()=>{window.removeEventListener("online",c)}),X)queueMicrotask(()=>{if(w)return;I(0),U.loadInitial().catch((P)=>{V.emit("error",{error:P,context:"loadInitial"})})});else if(q!==void 0)U.setTotal(q)},hooks:{onAfterScroll(){if(B.destroyed)return;let h=B.startIndex+Math.max(0,B.visibleCount-1);if(W>Z){if(H!==null)clearTimeout(H),H=null;A={start:B.startIndex,end:h};return}if(W>K){let P=Math.floor(B.startIndex/R),T=Math.floor(h/R);if(P!==k||T!==E){if(k=P,E=T,h>=B.startIndex)z(B.startIndex,h).catch(y)}let v=B.startIndex,Y=h,N=B.scrollDirection;if(N>0)Y=Math.min(Y+M,U.getTotal()-1);else if(N<0)v=Math.max(0,v-M);if(A={start:v,end:Y},H!==null)clearTimeout(H);H=setTimeout(()=>{if(H=null,B.destroyed||!A)return;let{start:O,end:p}=A;if(A=null,p>=O)z(O,p).catch(y)},100);return}G();let r=Math.floor(B.startIndex/R),c=Math.floor(h/R);if(r!==k||c!==E){if(k=r,E=c,h>=B.startIndex)z(B.startIndex,h).catch(y)}},onIdle(){if(B.destroyed)return;W=0,k=-1,E=-1,S(),G()}},destroy(){if(L!==null)clearTimeout(L);G()}}}var H0=(j,$)=>{let q=0,X=j.length-1;while(q<X){let J=q+X+1>>>1;if(j[J].headerLayoutIndex<=$)q=J;else X=J-1}return q},M1=(j,$)=>{let q=0,X=j.length-1;while(q<X){let J=q+X+1>>>1;if(j[J].firstDataIndex<=$)q=J;else X=J-1}return q},_1=(j,$,q)=>{if(j===0)return[];let X=[],J=null,Z=0,K=0;for(let M=0;M<j;M++){let F=q?.(M);if(!F)continue;let U=$(M,F);if(J===null)J=U,Z=0;else if(U!==J){let B=M-Z;X.push({key:J,groupIndex:X.length,headerLayoutIndex:K,firstDataIndex:Z,count:B}),K=K+1+B,J=U,Z=M}}if(J!==null)X.push({key:J,groupIndex:X.length,headerLayoutIndex:K,firstDataIndex:Z,count:j-Z});return X};var G1=(j,$,q)=>{let X=_1(j,$.getGroupForIndex,q),J=j+X.length,Z=$.header?.height??$.header?.width??$.headerHeight;return{get totalEntries(){return J},get groupCount(){return X.length},get groups(){return X},getEntry:(D)=>{if(X.length===0)return{type:"item",dataIndex:D,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let b=H0(X,D),A=X[b];if(D===A.headerLayoutIndex)return{type:"header",group:A};let H=D-A.headerLayoutIndex-1;return{type:"item",dataIndex:A.firstDataIndex+H,group:A}},layoutToDataIndex:(D)=>{if(X.length===0)return D;let b=H0(X,D),A=X[b];if(D===A.headerLayoutIndex)return-1;let H=D-A.headerLayoutIndex-1;return A.firstDataIndex+H},dataToLayoutIndex:(D)=>{if(X.length===0)return D;let b=M1(X,D),A=X[b],H=D-A.firstDataIndex;return A.headerLayoutIndex+1+H},getGroupAtLayoutIndex:(D)=>{if(X.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let b=H0(X,D);return X[b]},getGroupAtDataIndex:(D)=>{if(X.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let b=M1(X,D);return X[b]},getHeaderHeight:typeof Z==="number"?(D)=>Z:(D)=>{let b=X[D];if(!b)return 0;return Z(b.key,D)},rebuild:(D,b)=>{X=_1(D,$.getGroupForIndex,b??q),J=D+X.length}}};var L0=(j,$,q,X,J=0)=>{let Z=q?"width":"height",K=document.createElement("div");return K.className=`${$}-sticky-header`,K.setAttribute("role","presentation"),K.setAttribute("aria-hidden","true"),K.style.cssText="position:relative;z-index:5;pointer-events:none;overflow:hidden;"+(q?`top:0;bottom:0;left:${J||0}px`:`top:${J||0}px`),K.style[Z]=`${X}px`,j.insertBefore(K,j.firstChild),K},A1=(j,$,q,X,J,Z=!1,K=0,M,F)=>{let U=Z?"width":"height",B=Z?"height":"width",l=Z?"X":"Y",V=(i,f)=>{i.style[U]=`${f}px`},D=F??L0(j,J,Z,0,K),b=()=>{let i=document.createElement("div");return i.className="sticky-group",i.style.position="absolute",i.style.willChange="transform",i.style[B]="100%",i},A=b(),H=b();D.append(A,H);let L=A,W=H,w=$.groups,k=[],E=[],R=[],G=0,z=()=>{w=$.groups,G=w.length,k=Array(G),E=Array(G),R=Array(G);let i=M?M():1;for(let f=0;f<G;f++)k[f]=q.getOffset(w[f].headerLayoutIndex)*i,E[f]=$.getHeaderHeight(f),R[f]=E[f]*i};z();let I=-1,y=0,S=0,h=-1,r=!1,c=0,P=!1,T=(i,f)=>{X(i,f);let x=E[f];return V(i,x),x},v=(i)=>{i.replaceChildren(),i.style.transform=""},Y=(i)=>{if(i===I)return;if(I=i,y=0,S=0,i<0||i>=G){v(L);return}y=T(L,i),S=R[i],V(D,y),L.style.transform=""},N=(i)=>{if(i===c)return;c=i;let f=Math.round(i);L.style.transform=`translate${l}(${f}px)`,W.style.transform=`translate${l}(${f+y}px)`},O=()=>{c=0,L.style.transform="",W.style.transform=""},p=()=>{if(!P)return;let i=L;L=W,W=i,I=h,y=I>=0?E[I]:0,S=I>=0?R[I]:0,V(D,y),v(W),h=-1,P=!1,O()},s=()=>{if(!P)return;v(W),h=-1,P=!1,O()},o=!!F,u=()=>{if(r)return;if(r=!0,o)D.style.visibility="";else D.style.display=""},Q=()=>{if(!r)return;if(r=!1,o)D.style.visibility="hidden";else D.style.display="none";v(L),I=-1,y=0,S=0,s()},_=(i)=>{if(G===0){Q();return}if(i<k[0]){Q();return}let f=0,x=G-1;while(f<x){let e=f+x+1>>>1;if(k[e]+R[e]<=i)f=e;else x=e-1}if(!r)u();Y(f);let a=f+1;if(a<G){let e=k[a]-i;if(e<=0&&e>-S){if(h!==a||!P)h=a,T(W,a),P=!0;let t=S>0?e/S*y:e;N(t)}else if(e<=-S){if(P)p()}else if(P)s()}else if(P)s()},C=()=>{z();let i=I;if(I=-1,y=0,S=0,i>=0)Y(i)},g=()=>{D.remove(),I=-1,y=0,S=0,h=-1,r=!1,P=!1};if(!F)D.style.display="none";return{update:_,refresh:C,show:u,hide:Q,destroy:g}};var g2={selected:!1,focused:!1},D1=typeof process<"u"&&process.env?.NODE_ENV!=="production";function F0(j){if(!j.getGroupForIndex)throw Error("[vlist] groups: getGroupForIndex is required");let $=j.header?.height??j.header?.width??j.headerHeight;if($==null||typeof $==="number"&&$<=0)throw Error("[vlist] groups: header height/width must be a positive number or function");let q=j.header?.template??j.headerTemplate;if(!q)throw Error("[vlist] groups: header.template is required");let X=q,J,Z=null,K,M,F,U,B,l,V,D=null,b,A,H,L=null,W,w,k=null,E,R=new Map,G=new Set,z=new Map,I=-1,y=-1,S=!0,h=-1,r=0,c=null,P;function T(){return J.totalEntries}function v(){let Q=M.totalItems;if(Q===h)return;if(D1)console.log(`[groups] syncLayout: ${h} → ${Q}`);let _=h>0;h=Q,J.rebuild(Q,D??V),P(J.totalEntries);let C=K.getTotalSize();if(U.style[b?"width":"height"]=C+"px",Z)Z.refresh(),Z.update(M.scrollPosition);if(_)O();let g=k?.("_scrollbar:getInstance");if(g)g()?.updateBounds(C,M.containerSize)}function Y(Q){let _=K.getOffset(Q);if(b)return`translate(${Math.round(_)}px, 0)`;return`translate(0, ${Math.round(_)}px)`}function N(Q,_){let C=K.getSize(_);if(b)Q.style.width=`${C}px`;else Q.style.height=`${C}px`}function O(){R.forEach((Q)=>{Q.remove();let _=Q.getAttribute("data-id");if(_)z.set(_,Q);else F.release(Q)}),R.clear(),G.clear()}function p(){if(z.size>0)z.forEach((Q)=>F.release(Q)),z.clear()}function s(Q,_,C,g){if(_.type==="header"){let t=`__group_header_${_.group.groupIndex}`;if(Q.getAttribute("data-id")===t)return!0;Q.className=w,Q.setAttribute("role","presentation"),Q.removeAttribute("aria-selected"),Q.setAttribute("data-id",t);let Q2=X(_.group.key,_.group.groupIndex);if(typeof Q2==="string")Q.innerHTML=Q2;else Q.innerHTML="",Q.appendChild(Q2);return!0}let i=_.dataIndex,f=V(i);if(!f)return Q.innerHTML="",!1;let x=f._isPlaceholder===!0,a=String(f.id);if(!x&&Q.getAttribute("data-id")===a){if(E)Q.id=`${A}-item-${g}`,Q.setAttribute("aria-posinset",String(i+1)),Q.setAttribute("aria-setsize",String(M.totalItems));return!0}if(Q.className=W,Q.setAttribute("role","option"),Q.setAttribute("data-id",a),E)Q.id=`${A}-item-${g}`,Q.setAttribute("aria-posinset",String(i+1)),Q.setAttribute("aria-setsize",String(M.totalItems));if(x)Q.classList.add(`${A}-item--placeholder`);if(C)C(g,g2);else g2.selected=!1,g2.focused=!1;let e=l(f,i,g2);if(typeof e==="string")Q.innerHTML=e;else Q.innerHTML="",Q.appendChild(e);return!x}function o(){if(M.destroyed)return;v();let{scrollPosition:Q,containerSize:_}=M;if(!S&&Q===I&&_===y)return;I=Q,y=_;let C=S;S=!1;let g=T();if(_<=0||g===0){if(R.size>0)R.forEach((n)=>{n.remove(),F.release(n)}),R.clear(),G.clear();return}let i=K.indexAtOffset(Q),f=K.indexAtOffset(Q+_);if(f<g-1)f++;i=Math.max(0,i),f=Math.min(g-1,Math.max(0,f));let x=Math.max(0,i-H),a=Math.min(g-1,f+H);if(x===M.prevRangeStart&&a===M.prevRangeEnd&&!M.renderPending)return;R.forEach((n,$2)=>{if($2<x||$2>a)n.remove(),F.release(n),R.delete($2),G.delete($2)});let e=L?.()??null,t=e?`${A}-item--selected`:"",Q2=e?`${A}-item--focused`:"",Z2=null;for(let n=x;n<=a;n++){let $2=R.get(n),K2=!1;if($2===void 0){let B2=J.getEntry(n);K2=B2.type==="header";let q2;if(B2.type==="header")q2=`__group_header_${B2.group.groupIndex}`;else{let R2=V(B2.dataIndex);if(R2&&R2._isPlaceholder!==!0)q2=String(R2.id)}if(q2!==void 0){let R2=z.get(q2);if(R2)z.delete(q2),$2=R2}if(!$2)$2=F.acquire();if($2.setAttribute("data-index",String(n)),s($2,B2,e,n))G.delete(n);else G.add(n);if(N($2,n),$2.style.transform=Y(n),R.set(n,$2),!Z2)Z2=document.createDocumentFragment();Z2.appendChild($2)}else if(C&&G.has(n)){let B2=J.getEntry(n);if(B2.type==="item")if(s($2,B2,e,n))G.delete(n);else G.add(n)}else K2=$2.classList.contains(w);if(!K2&&e)if(e(n,g2),$2.classList.toggle(t,g2.selected),$2.classList.toggle(Q2,g2.focused),g2.selected)$2.setAttribute("aria-selected","true");else $2.removeAttribute("aria-selected")}if(Z2)U.appendChild(Z2);p();let G2=K.getTotalSize();U.style[b?"width":"height"]=G2+"px",M.prevRangeStart=x,M.prevRangeEnd=a,M.renderPending=!1;let M2=0,W2=0,J2=!1;for(let n=x;n<=a&&M2<M.capacity;n++){let $2=J.getEntry(n);if($2.type==="item"){if(!J2)W2=$2.dataIndex,J2=!0;M.visibleIndices[M2]=$2.dataIndex,M.visibleOffsets[M2]=K.getOffset(n),M.visibleSizes[M2]=K.getSize(n),M2++}}M.visibleCount=M2,M.startIndex=W2}function u(){if(M.destroyed)return;if(D1)console.log(`[groups] forceRender, placeholders: ${G.size}, rendered: ${R.size}`);let Q=c?.()??0;if(Q!==r){r=Q;let _=J.groups,C=_.length;J.rebuild(h,D??V);let g=J.groups,i=g.length!==C;if(!i){for(let f=0;f<C;f++)if(g[f].headerLayoutIndex!==_[f].headerLayoutIndex){i=!0;break}}if(i){P(J.totalEntries);let f=K.getTotalSize();if(U.style[b?"width":"height"]=f+"px",Z)Z.refresh(),Z.update(M.scrollPosition);let x=1/0,a=Math.min(C,g.length);for(let t=0;t<a;t++)if(g[t].headerLayoutIndex!==_[t].headerLayoutIndex){x=Math.min(g[t].headerLayoutIndex,_[t].headerLayoutIndex);break}if(g.length>C&&a<g.length)x=Math.min(x,g[a].headerLayoutIndex);else if(C>g.length&&a<C)x=Math.min(x,_[a].headerLayoutIndex);if(x<=M.prevRangeEnd)O();let e=k?.("_scrollbar:getInstance");if(e)e()?.updateBounds(f,M.containerSize)}}M.prevRangeStart=-1,M.prevRangeEnd=-1,M.renderPending=!0,S=!0,o()}return{name:"groups",priority:10,setup(Q){K=Q.sizeCache,M=Q.getState(),F=Q.pool,U=Q.dom.content,B=Q.dom.root,l=Q.template,b=Q.config.horizontal,A=Q.config.classPrefix,H=Q.config.overscan,V=Q.getItem.bind(Q),L=()=>Q.getItemStateFn(),k=Q.getMethod.bind(Q),E=Q.config.interactive,W=`${A}-item`,w=`${A}-group-header`,queueMicrotask(()=>{let f=k?.("_getLoadedItem");if(f)D=f;let x=k?.("_getLoadedCount");if(x)c=x});let _=M.totalItems;J=G1(_,j,D??V),h=_;let C=typeof $==="number"?(f)=>$:(f)=>{let x=J.groups[f];if(!x)return 0;return $(x.key,f)},g=K.getSize,i=(f)=>{let x=J.getEntry(f);if(x.type==="header"){if(j.sticky!==!1&&x.group.groupIndex===0)return 0;return C(x.group.groupIndex)}return g(x.dataIndex)};if(Q.setSizeConfig(i),P=K.rebuild,K.rebuild=(f)=>{P(J.totalEntries)},K.rebuild(J.totalEntries),Q.setVirtualTotalFn(()=>J.totalEntries),B.classList.add(`${A}--grouped`),j.sticky!==!1){let f=(e,t)=>{let Q2=J.groups[t];if(!Q2)return;let Z2=X(Q2.key,t);if(typeof Z2==="string")e.innerHTML=Z2;else e.replaceChildren(Z2)},x=J.getHeaderHeight(0),a=L0(B,A,b,x);if(Z=A1(B,J,K,f,A,b,0,void 0,a),Z.update(M.scrollPosition),!b)Q.dom.viewport.style.height=`calc(100% - ${x}px)`;else Q.dom.viewport.style.width=`calc(100% - ${x}px)`}Q.setRenderFn(o,u),Q.registerMethod("getGroupLayout",()=>J),Q.registerMethod("_dataToLayoutIndex",(f)=>J.dataToLayoutIndex(f)),Q.registerMethod("_layoutToDataIndex",(f)=>J.layoutToDataIndex(f)),Q.registerMethod("_getRenderedElement",(f)=>R.get(f)??null),Q.registerMethod("_isGroupHeader",(f)=>{return J.getEntry(f).type==="header"}),Q.registerMethod("scrollToIndex",(f,x="start")=>{let a=J.dataToLayoutIndex(f),e=J.totalEntries;if(e===0)return;let t=Math.max(0,Math.min(a,e-1)),Q2=K.getOffset(t),Z2=K.getSize(t),G2=M.containerSize,M2=K.getTotalSize(),W2=Math.max(0,M2-G2),J2=typeof x==="string"?x:x.align??"start",n=typeof x==="object"?x.behavior:void 0,$2=typeof x==="object"?x.duration:void 0,K2;switch(J2){case"center":K2=Q2-(G2-Z2)/2;break;case"end":K2=Q2-G2+Z2;break;default:K2=Q2}if(K2=Math.max(0,Math.min(K2,W2)),n==="smooth"&&$2&&$2>0)Q.smoothScrollTo(K2,$2);else Q.scrollTo(K2)}),Q.registerDestroyHandler(()=>{for(let[,f]of R)f.remove();if(R.clear(),G.clear(),Z)Z.destroy(),Z=null;B.classList.remove(`${A}--grouped`)})},hooks:{onAfterScroll(Q,_){if(Z)Z.update(Q)}},destroy(){if(Z)Z.destroy(),Z=null;R.clear(),G.clear(),z.clear()}}}var H1=(j,$=50,q=1/0,X=!0)=>{let J=j,Z=[],K=0,M=()=>{Z=J.map((H,L)=>({def:H,index:L,width:0,minWidth:o1(H.minWidth??$,1),maxWidth:H.maxWidth??q,resizable:H.resizable??X,offset:0}))},F=(H)=>{if(Z.length===0){K=0;return}let L=0,W=0;for(let w=0;w<Z.length;w++){let k=Z[w],E=k.def;if(E.width!==void 0)k.width=O0(E.width,k.minWidth,k.maxWidth),L+=k.width;else W++}if(W){let k=Math.max(0,H-L)/W;for(let E=0;E<Z.length;E++){let R=Z[E];if(R.def.width===void 0)R.width=O0(k,R.minWidth,R.maxWidth)}}U()},U=()=>{let H=0;for(let L=0;L<Z.length;L++){let W=Z[L];W.offset=H,H+=W.width}K=H},B=(H,L)=>{if(H<0||H>=Z.length)return 0;let W=Z[H];if(!W.resizable)return W.width;let w=O0(L,W.minWidth,W.maxWidth);return W.width=w,U(),w},l=(H)=>{return Z[H]},V=(H)=>{if(Z.length===0)return;if(H<0)return Z[0];if(H>=K)return Z[Z.length-1];let L=0,W=Z.length-1;while(L<W){let w=L+W>>>1,k=Z[w];if(H<k.offset)W=w-1;else if(H>=k.offset+k.width)L=w+1;else return k}return Z[L]},D=(H)=>{if(H<0||H>=Z.length)return 0;return Z[H].offset},b=(H)=>{if(H<0||H>=Z.length)return 0;return Z[H].width},A=(H)=>{J=H,M()};return M(),{get columns(){return Z},get totalWidth(){return K},resolve:F,updateColumns:A,resizeColumn:B,getColumn:l,getColumnAtX:V,getColumnOffset:D,getColumnWidth:b}},O0=(j,$,q)=>Math.min(q,Math.max($,j)),o1=(j,$)=>Math.max($,j);var L1=(j,$,q,X,J,Z)=>{let K=document.createElement("div");K.setAttribute("role","rowgroup");let M=document.createElement("div");M.className=`${q}-table-header`,M.setAttribute("role","row"),M.setAttribute("aria-rowindex","1"),M.style.height=`${$}px`;let F=document.createElement("div");F.className=`${q}-table-header-scroll`,F.setAttribute("role","presentation"),M.appendChild(F),K.appendChild(M),j.insertBefore(K,j.firstChild),j.style.setProperty("--vlist-table-header-height",`${$}px`);let U=[],B=[],l=!0,V=null,D="asc",b=null,A=!1,H=-1,L=0,W=0,w=0,k=(Y,N)=>{let O=document.createElement("div");O.className=`${q}-table-header-cell`,O.setAttribute("role","columnheader"),O.setAttribute("aria-colindex",String(N+1)),O.setAttribute("tabindex",N===0?"0":"-1"),O.dataset.columnKey=Y.def.key;let p=Y.def.align;if(p==="center")O.classList.add(`${q}-table-header-cell--center`);else if(p==="right")O.classList.add(`${q}-table-header-cell--right`);let s=document.createElement("div");s.className=`${q}-table-header-content`;let o=Y.def.header?Y.def.header(Y.def):Y.def.label;if(typeof o==="string")s.textContent=o;else s.appendChild(o);if(O.appendChild(s),Y.def.sortable){let u=document.createElement("span");u.className=`${q}-table-header-sort`,u.setAttribute("aria-hidden","true"),O.appendChild(u),B.push(u),O.classList.add(`${q}-table-header-cell--sortable`)}else B.push(null);if(Y.resizable){let u=document.createElement("div");u.className=`${q}-table-header-resize`,u.dataset.resizeIndex=String(N),O.appendChild(u)}return O},E=(Y)=>{b=Y,F.textContent="",U=[],B=[];let N=Y.columns;for(let O=0;O<N.length;O++){let p=N[O],s=k(p,O);U.push(s),F.appendChild(s)}if(R(Y),V)G(V,D)},R=(Y)=>{b=Y;let N=Y.columns;F.style.width=`${Y.totalWidth}px`;for(let O=0;O<U.length&&O<N.length;O++){let p=U[O],s=N[O];p.style.width=`${s.width}px`}},G=(Y,N)=>{if(V=Y,D=N,!b)return;let O=b.columns;for(let p=0;p<B.length&&p<O.length;p++){let s=B[p];if(!s)continue;if(O[p].def.key===Y)s.textContent=N==="asc"?"▲":"▼",s.style.opacity="0.7",U[p].setAttribute("aria-sort",N==="asc"?"ascending":"descending");else s.textContent="",s.style.opacity="0",U[p].removeAttribute("aria-sort")}},z=(Y)=>{F.style.transform=`translateX(${-Y}px)`},I=(Y)=>{let N=Y.target;if(!N.dataset.resizeIndex)return;if(Y.preventDefault(),Y.stopPropagation(),H=+N.dataset.resizeIndex,!b)return;let O=b.getColumn(H);if(!O?.resizable)return;A=!0,L=Y.clientX,W=O.width,j.classList.add(`${q}--col-resizing`),j.style.cursor="col-resize",N.classList.add(`${q}-table-header-resize--active`),N.setPointerCapture(Y.pointerId),N.addEventListener("pointermove",y),N.addEventListener("pointerup",S),N.addEventListener("pointercancel",S)},y=(Y)=>{if(!A||!b)return;let N=Y.clientX-L;if(Math.abs(N)<1)return;let O=Math.max(0,W+N);X(H,O)},S=(Y)=>{if(!A)return;let N=Y.target;N.removeEventListener("pointermove",y),N.removeEventListener("pointerup",S),N.removeEventListener("pointercancel",S);try{N.releasePointerCapture(Y.pointerId)}catch{}N.classList.remove(`${q}-table-header-resize--active`),j.classList.remove(`${q}--col-resizing`),j.style.cursor="",A=!1,H=-1},h=(Y)=>{let N=Y.target;if(N.dataset.resizeIndex)return;if(A)return;let O=N;while(O&&!O.dataset.columnKey)if(O=O.parentElement,O===M||O===null)return;let p=O.dataset.columnKey;if(!b)return;let s=b.columns,o=-1;for(let Q=0;Q<s.length;Q++)if(s[Q].def.key===p){o=Q;break}if(o===-1)return;let u=s[o];if(Z)Z({key:p,index:o,event:Y});if(u.def.sortable&&J){let Q;if(V===p)Q=D==="asc"?"desc":null;else Q="asc";J({key:p,index:o,direction:Q})}},r=(Y)=>{if(Y<0||Y>=U.length)return;U[w]?.setAttribute("tabindex","-1"),w=Y;let N=U[w];N.setAttribute("tabindex","0"),N.focus()},c=(Y)=>{let N=Y.key;if(N==="ArrowRight"){if(Y.ctrlKey||Y.metaKey){if(!b)return;let O=b.getColumn(w);if(O?.resizable)X(w,O.width+10),Y.preventDefault()}else if(w<U.length-1)r(w+1),Y.preventDefault();Y.stopPropagation();return}if(N==="ArrowLeft"){if(Y.ctrlKey||Y.metaKey){if(!b)return;let O=b.getColumn(w);if(O?.resizable)X(w,O.width-10),Y.preventDefault()}else if(w>0)r(w-1),Y.preventDefault();Y.stopPropagation();return}if(N==="Home"){r(0),Y.preventDefault(),Y.stopPropagation();return}if(N==="End"){r(U.length-1),Y.preventDefault(),Y.stopPropagation();return}if(N==="Enter"||N===" "){if(!b)return;let O=b.getColumn(w);if(O?.def.sortable&&J){let p;if(V===O.def.key)p=D==="asc"?"desc":null;else p="asc";J({key:O.def.key,index:w,direction:p}),Y.preventDefault()}Y.stopPropagation();return}if(N==="ArrowDown"){j.focus(),Y.preventDefault(),Y.stopPropagation();return}};return M.addEventListener("pointerdown",I),M.addEventListener("click",h),M.addEventListener("keydown",c),{element:M,update:R,updateSort:G,rebuild:E,show:()=>{if(l)return;l=!0,M.style.display=""},hide:()=>{if(!l)return;l=!1,M.style.display="none"},destroy:()=>{M.removeEventListener("pointerdown",I),M.removeEventListener("click",h),M.removeEventListener("keydown",c),j.style.removeProperty("--vlist-table-header-height"),K.remove(),U=[],B=[],b=null,l=!1},syncScroll:z}};var i1=()=>{let j=[];return{acquire:()=>j.pop()||document.createElement("div"),release:($)=>{if($.parentNode?.removeChild($),j.length<200)$.className="",$.removeAttribute("data-id"),$.removeAttribute("data-index"),$.removeAttribute("aria-selected"),$.removeAttribute("aria-rowindex"),$.removeAttribute("role"),$.style.cssText="",$.textContent="",j.push($)},clear:()=>{j.length=0}}},F1=(j,$,q,X,J,Z,K,M,F)=>{let U=i1(),B=new Map,l=-1,V=q,D=null,b=null,A=null,H=(f,x)=>{b=f,A=x},L=(f,x)=>{x?f.setAttribute("aria-selected","true"):f.removeAttribute("aria-selected")},W=(f,x,a,e)=>{f.setAttribute("role",x),f.setAttribute("data-id",String(a)),f.setAttribute("data-index",String(e))},w=(f)=>String(f).startsWith("__placeholder_"),k=`${J}-item ${J}-table-row`,E=`${J}-item--selected`,R=`${J}-item--focused`,G=`${J}-table-cell`,z=`${J}-table-cell--center`,I=`${J}-table-cell--right`,y=`${J}-item--odd`,S=`${J}-item--placeholder`,h=`${J}-item--replaced`,r=`${J}-item ${J}-table-row ${J}-table-group-header`,c=`${J}-table-group-header-content`,P=(f,x,a,e,t=!1)=>{if(a.def.cell){let Q2=a.def.cell(x,a.def,e);if(typeof Q2==="string")f.innerHTML=Q2;else f.replaceChildren(Q2)}else{let Q2=x[a.def.key],Z2=Q2!=null?String(Q2):"";if(t&&Z2)f.innerHTML=`<span>${Z2}</span>`;else f.textContent=Z2}},T=(f,x,a,e,t=!1)=>{let Q2=k;if(M){if(D){let Z2=D(x);if(Z2>=0&&(Z2&1)===1)Q2+=` ${y}`}else if((x&1)===1)Q2+=` ${y}`}if(t)Q2+=` ${S}`;if(a)Q2+=` ${E}`;if(e)Q2+=` ${R}`;f.className=Q2},v=(f,x,a)=>{if(a?.compression?.isCompressed)return Math.round(n2(f,a.scrollPosition,x,a.totalItems,a.containerSize,a.compression,a.rangeStart));return x.getOffset(f)},Y=(f,x)=>{let a=x.def.align;if(a==="center")f.classList.add(z),f.classList.remove(I);else if(a==="right")f.classList.add(I),f.classList.remove(z);else f.classList.remove(z,I)},N=(f,x)=>{let e=V.columns.length;if(x.length===e)return x;let t=[];for(let Q2=0;Q2<e;Q2++){let Z2;if(Q2<x.length)Z2=x[Q2];else Z2=document.createElement("div"),Z2.className=G,f.appendChild(Z2);t.push(Z2)}for(let Q2=e;Q2<x.length;Q2++)x[Q2].remove();return t},O=(f,x,a,e)=>{let t=U.acquire(),Q2=f,Z2=a.getSize(x),G2=v(x,a,e);t.style.cssText=`width:${V.totalWidth}px;height:${Z2}px;transform:translateY(${G2}px)`,t.className=r,W(t,"presentation",f.id,x),t.removeAttribute("aria-selected"),t.removeAttribute("aria-rowindex"),t.replaceChildren();let M2=document.createElement("div");if(M2.className=c,A){let W2=A(Q2.groupKey,Q2.groupIndex);if(typeof W2==="string")M2.innerHTML=W2;else M2.appendChild(W2)}return t.appendChild(M2),{element:t,cells:[],index:x,isGroupHeader:!0,lastItemId:f.id,lastSelected:!1,lastFocused:!1,lastOffset:G2,lastHeight:Z2}},p=(f,x,a,e,t,Q2)=>{let Z2=U.acquire(),G2=t.getSize(x),M2=v(x,t,Q2),W2=w(f.id);Z2.style.cssText=`width:${V.totalWidth}px;height:${G2}px;transform:translateY(${M2}px)`,T(Z2,x,a,e,W2),W(Z2,"row",f.id,x),Z2.id=`${Z}-item-${x}`,Z2.setAttribute("aria-rowindex",String(x+2)),L(Z2,a);let J2=N(Z2,[]),n=V.columns;for(let $2=0;$2<J2.length&&$2<n.length;$2++){let K2=J2[$2],B2=n[$2];K2.style.cssText=`left:${B2.offset}px;width:${B2.width}px`,K2.setAttribute("role","gridcell"),K2.setAttribute("aria-colindex",String($2+1)),Y(K2,B2),P(K2,f,B2,x,W2)}return{element:Z2,cells:J2,index:x,isGroupHeader:!1,lastItemId:f.id,lastSelected:a,lastFocused:e,lastOffset:M2,lastHeight:G2}},s=(f,x,a,e,t)=>{for(let[W2,J2]of B)if(W2<x.start||W2>x.end)U.release(J2.element),B.delete(W2);let Q2=!1,Z2=K();if(Z2!==l)l=Z2,Q2=!0;let G2=null,M2=$();D=typeof M==="string"&&F?F():null;for(let W2=x.start;W2<=x.end;W2++){let J2=W2-x.start,n=f[J2];if(!n)continue;let $2=a.has(n.id),K2=W2===e,B2=b?b(n):!1,q2=B.get(W2);if(q2){if(q2.isGroupHeader!==B2){U.release(q2.element),B.delete(W2);let E2=B2?O(n,W2,M2,t):p(n,W2,$2,K2,M2,t);if(B.set(W2,E2),!G2)G2=document.createDocumentFragment();G2.appendChild(E2.element);continue}if(B2){if(q2.lastItemId!==n.id){let D2=n,b2=q2.element.firstElementChild;if(b2&&A){let y2=A(D2.groupKey,D2.groupIndex);if(typeof y2==="string")b2.innerHTML=y2;else b2.replaceChildren(y2)}q2.element.setAttribute("data-id",String(n.id)),q2.lastItemId=n.id}let R2=v(W2,M2,t);if(q2.lastOffset!==R2)q2.lastOffset=R2,q2.element.style.transform=`translateY(${R2}px)`;let A2=M2.getSize(W2);if(q2.lastHeight!==A2)q2.lastHeight=A2,q2.element.style.height=`${A2}px`}else{let E2=q2.lastItemId!==n.id,R2=q2.lastSelected!==$2,A2=q2.lastFocused!==K2;if(E2){let y2=q2.lastItemId!=null&&w(q2.lastItemId),F2=w(n.id);if(!F2&&c2(a,W2,n.id))$2=!0;let k2=V.columns;for(let H2=0;H2<q2.cells.length&&H2<k2.length;H2++)P(q2.cells[H2],n,k2[H2],W2,F2);if(T(q2.element,W2,$2,K2,F2),q2.element.setAttribute("data-id",String(n.id)),L(q2.element,$2),y2&&!F2)q2.element.classList.add(h),setTimeout(()=>{q2.element.classList.remove(h)},300);q2.lastItemId=n.id,q2.lastSelected=$2,q2.lastFocused=K2}else if(R2||A2)T(q2.element,W2,$2,K2,w(n.id)),L(q2.element,$2),q2.lastSelected=$2,q2.lastFocused=K2;let D2=v(W2,M2,t);if(q2.lastOffset!==D2)q2.lastOffset=D2,q2.element.style.transform=`translateY(${D2}px)`;let b2=M2.getSize(W2);if(q2.lastHeight!==b2)q2.lastHeight=b2,q2.element.style.height=`${b2}px`;if(Q2)q2.element.setAttribute("aria-rowindex",String(W2+2))}}else{if(c2(a,W2,n.id))$2=!0;let E2=B2?O(n,W2,M2,t):p(n,W2,$2,K2,M2,t);if(B.set(W2,E2),!G2)G2=document.createDocumentFragment();G2.appendChild(E2.element)}}if(G2)j.appendChild(G2)},o=(f)=>{let x=$();for(let[a,e]of B){let t=v(a,x,f);if(e.lastOffset!==t)e.lastOffset=t,e.element.style.transform=`translateY(${t}px)`}},u=(f,x,a,e)=>{let t=B.get(f);if(!t)return;if(t.isGroupHeader)return;let Q2=V.columns;for(let Z2=0;Z2<t.cells.length&&Z2<Q2.length;Z2++)P(t.cells[Z2],x,Q2[Z2],f);t.element.setAttribute("data-id",String(x.id)),t.lastItemId=x.id,T(t.element,f,a,e),L(t.element,a),t.lastSelected=a,t.lastFocused=e},Q=(f,x,a)=>{let e=B.get(f);if(!e)return;if(e.isGroupHeader)return;let t=e.lastSelected!==x,Q2=e.lastFocused!==a;if(t||Q2)T(e.element,f,x,a),L(e.element,x),e.lastSelected=x,e.lastFocused=a},_=(f)=>{V=f;let x=f.columns;for(let[,a]of B)if(a.element.style.width=`${f.totalWidth}px`,a.cells.length>0)for(let e=0;e<a.cells.length&&e<x.length;e++){let t=a.cells[e],Q2=x[e];t.style.left=`${Q2.offset}px`,t.style.width=`${Q2.width}px`}},C=(f)=>{return B.get(f)?.element},g=()=>{for(let[,f]of B)U.release(f.element);B.clear(),l=-1};return{render:s,updatePositions:o,updateItem:u,updateItemClasses:Q,getElement:C,updateColumnLayout:_,setGroupHeaderFn:H,clear:g,destroy:()=>{g(),U.clear()}}};var n1=new Set;function E0(j){if(!j.columns?.length)throw Error("[vlist] table: columns must be a non-empty array");if(j.rowHeight===void 0&&j.estimatedRowHeight===void 0)throw Error("[vlist] table: either rowHeight or estimatedRowHeight is required");let $=null,q=null,X=null,J,Z,K=null,M=null,F=null,U=!1,B=-1,l=-1,V=-1,D=!0,b=-1;function A(){if(U||!K)return;U=!0,M=K.getMethod("_getSelectedIds")??null,F=K.getMethod("_getFocusedIndex")??null}let H=[],L={start:0,end:0};function W(){if(J.destroyed||!K||!X||!$)return;let{scrollPosition:k,containerSize:E,totalItems:R}=J;if(!D&&k===B&&E===l&&R===V)return;if(B=k,l=E,V=R,D=!1,E<=0||R===0)return;let G=R+1;if(G!==b)b=G,K.dom.root.setAttribute("aria-rowcount",`${G}`);let z=Z.indexAtOffset(k),I=Z.indexAtOffset(k+E);if(I<R-1)I++;z=Math.max(0,z),I=Math.min(R-1,I);let y=K.config.overscan,S=Math.max(0,z-y),h=Math.min(R-1,I+y);if(S===J.prevRangeStart&&h===J.prevRangeEnd&&!J.renderPending)return;A();let r=M?.()??n1,c=F?.()??-1;H.length=0;for(let T=S;T<=h;T++){let v=K.getItem(T);if(v)H.push(v)}L.start=S,L.end=h,X.render(H,L,r,c),J.prevRangeStart=S,J.prevRangeEnd=h,J.renderPending=!1;let P=h-S+1;J.visibleCount=Math.min(P,J.capacity),J.startIndex=S;for(let T=0;T<J.visibleCount;T++){let v=S+T;J.visibleIndices[T]=v,J.visibleOffsets[T]=Z.getOffset(v),J.visibleSizes[T]=Z.getSize(v)}K.dom.content.style.height=Z.getTotalSize()+"px"}function w(){if(J.destroyed)return;J.prevRangeStart=-1,J.prevRangeEnd=-1,J.renderPending=!0,D=!0,W()}return{name:"table",priority:10,conflicts:["grid","masonry"],setup(k){K=k,J=k.getState(),Z=k.sizeCache;let{dom:E,config:R,emitter:G}=k,{classPrefix:z}=R;if(R.horizontal)throw Error("[vlist] table: cannot be used with horizontal orientation");if(R.reverse)throw Error("[vlist] table: cannot be used with reverse mode");let I=j.resizable??!0,y=j.minColumnWidth??50,S=j.maxColumnWidth??1/0,h=j.rowBorders??!0,r=j.rowHeight,c=j.headerHeight??(typeof r==="number"?r:40),P=j.sort?.key??null,T=j.sort?.direction??"asc";if($=H1(j.columns,y,S,I),typeof r==="function"||typeof r==="number")k.setSizeConfig(r);if(k.rebuildSizeCache(),E.root.classList.add(`${z}--table`),h)E.root.classList.add(`${z}--table-row-borders`);if(j.columnBorders)E.root.classList.add(`${z}--table-col-borders`);if(R.interactive)E.root.setAttribute("tabindex","0");E.root.setAttribute("role","grid"),E.root.setAttribute("aria-colcount",`${j.columns.length}`),E.viewport.setAttribute("role","none"),E.content.setAttribute("role","rowgroup");let v=J.crossSize;$.resolve(v);let Y=()=>{if(!$)return;E.content.style.minWidth=`${$.totalWidth}px`},N=(u,Q)=>{if(!$)return;let _=$.getColumn(u);if(!_)return;let C=_.width,g=$.resizeColumn(u,Q);q?.update($),X?.updateColumnLayout($),Y(),G.emit("column:resize",{key:_.def.key,index:u,previousWidth:C,width:g})},O=(u)=>{P=u.direction===null?null:u.key,T=u.direction??"asc",q?.updateSort(P,T),G.emit("column:sort",u)};if(q=L1(E.root,c,z,N,O),q.rebuild($),P)q.updateSort(P,T);Y(),X=F1(E.content,()=>Z,$,j.columns,z,z,()=>J.totalItems,R.striped||void 0),k.setRenderFn(W,w);let p=q,s=-1,o=()=>{let u=E.viewport.scrollLeft;if(u!==s)s=u,p?.syncScroll?.(u)};E.viewport.addEventListener("scroll",o,{passive:!0}),k.registerMethod("updateColumns",(u)=>{if(!$||!q)return;if($.updateColumns(u),$.resolve(J.crossSize),q.rebuild($),P)q.updateSort(P,T);Y(),X?.updateColumnLayout($),X?.clear(),k.forceRender()}),k.registerMethod("resizeColumn",(u,Q)=>{if(!$)return;let _;if(typeof u==="string"){let C=$.columns;_=-1;for(let g=0;g<C.length;g++)if(C[g].def.key===u){_=g;break}if(_===-1)return}else _=u;N(_,Q)}),k.registerMethod("getColumnWidths",()=>{if(!$)return{};let u={},Q=$.columns;for(let _=0;_<Q.length;_++)u[Q[_].def.key]=Q[_].width;return u}),k.registerMethod("setSort",(u,Q)=>{P=u,T=Q??"asc",q?.updateSort(P,T)}),k.registerMethod("getSort",()=>{return{key:P,direction:T}}),k.registerMethod("_getTableLayout",()=>$),k.registerMethod("_getTableHeaderHeight",()=>c),k.registerMethod("_updateRenderedItem",(u,Q,_,C)=>{X?.updateItem(u,Q,_,C)}),k.registerMethod("_replaceTableRenderer",(u)=>{X=u}),k.registerMethod("_updateTableForGroups",(u,Q)=>{X?.setGroupHeaderFn(u,Q)}),k.registerMethod("_updateItemClasses",(u,Q,_)=>{X?.updateItemClasses(u,Q,_)}),k.registerKeydownHandler((u)=>{if(u.key!=="ArrowLeft"&&u.key!=="ArrowRight")return;if(!$)return;let Q=$.columns;if(Q.length===0)return;let _=E.viewport.clientWidth;if($.totalWidth<=_)return;let C=E.viewport.scrollLeft;if(u.key==="ArrowRight"){for(let g=0;g<Q.length;g++)if(Q[g].offset>C+1){E.viewport.scrollLeft=Q[g].offset,u.preventDefault();return}}else{for(let g=Q.length-1;g>=0;g--)if(Q[g].offset<C-1){E.viewport.scrollLeft=Q[g].offset,u.preventDefault();return}if(C>0)E.viewport.scrollLeft=0,u.preventDefault()}}),k.registerDestroyHandler(()=>{E.viewport.removeEventListener("scroll",o),q?.destroy(),q=null,X?.destroy(),X=null,E.content.style.minWidth="",E.root.classList.remove(`${z}--table`),E.root.classList.remove(`${z}--table-row-borders`),E.root.classList.remove(`${z}--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(k,E){if(!$||!K)return;let R=J.crossSize;if($.resolve(R),q?.update($),X?.updateColumnLayout($),$)K.dom.content.style.minWidth=`${$.totalWidth}px`},onAfterScroll(){if(!K||!q)return;q?.syncScroll?.(K.dom.viewport.scrollLeft)}},destroy(){q?.destroy(),q=null,X?.destroy(),X=null,K=null}}}function R0(j){let $=j?.handle??null,q=j?.ghostClass??"vlist-sort-ghost",X=j?.shiftDuration??150,J=j?.edgeScrollZone??40,Z=j?.edgeScrollSpeed??20,K=j?.dragThreshold??5,M=j?.ghostContainer??null,F,U,B=null,l,V,D,b,A,H,L,W,w,k,E=!1,R=-1,G=-1,z=0,I=0,y=0,S=0,h=!1,r=null,c=0,P=null,T=0,v=0,Y=0,N=null,O=!1,p="",s=-1,o=-1,u=[],Q="",_=null,C=null,g="",i=!1,f=(m)=>{return m.closest("[data-index]")},x=(m)=>{let j2=m.dataset.index;return j2===void 0?-1:+j2},a=(m)=>{let j2=m.getBoundingClientRect(),Y2=m.cloneNode(!0);return Y2.className=`${b}-item ${q}`,Y2.removeAttribute("data-index"),Y2.style.cssText=`position:fixed;pointer-events:none;z-index:10000;width:${j2.width}px;height:${j2.height}px;left:${j2.left}px;top:${j2.top}px;transition:none;will-change:transform`,(M||document.body).appendChild(Y2),Y2},e=()=>{if(!r)return;r.style.left=`${y-v}px`,r.style.top=`${S-Y}px`},t=()=>{let m=F.totalItems;if(m===0)return 0;let j2=V.getBoundingClientRect(),Y2=F.scrollPosition,V2=A?y-v-j2.left+V.scrollLeft+Y2:S-Y-j2.top+Y2,_2=V2+T,T2=U.getOffset(R)+U.getSize(R);if(_2>T2){let O2=U.indexAtOffset(_2),p2=U.getOffset(O2)+U.getSize(O2)/2,f2=_2>p2?O2:O2-1;return Math.min(Math.max(f2,R),m-1)}let z2=U.getOffset(R);if(V2<z2){let O2=U.indexAtOffset(V2),p2=U.getOffset(O2)+U.getSize(O2)/2,f2=V2<p2?O2:O2+1;return Math.max(Math.min(f2,R),0)}return R},Q2=()=>{let m=l.children,j2=T;for(let Y2=0;Y2<m.length;Y2++){let V2=m[Y2],_2=x(V2);if(_2<0||_2===R)continue;let T2=0;if(G>R){if(_2>R&&_2<=G)T2=-j2}else if(G<R){if(_2>=G&&_2<R)T2=j2}let z2=U.getOffset(_2),O2=Math.round(z2+T2);V2.style.transition=L,V2.style.transform=`${H}(${O2}px)`}},Z2=()=>{let m=l.children;for(let j2=0;j2<m.length;j2++){let Y2=m[j2],V2=x(Y2);if(V2>=0)Y2.style.transform=`${H}(${Math.round(U.getOffset(V2))}px)`;Y2.style.transition=""}},G2=()=>{if(!B)return;let m=t();if(m===G)return;G=m,Q2(),B.emitter.emit("sort:move",{fromIndex:R,currentIndex:G})},M2=()=>{let m=V.getBoundingClientRect();if(A)return y<m.left||y>m.right;return S<m.top||S>m.bottom},W2=()=>{let m=B?.getMethod("_getFocusedIndex");return m?m():-1},J2=(m)=>{let j2=B?.getMethod("_focusById");if(j2)j2(m)},n=(m)=>{if(!B)return;let j2=A?V.clientWidth:V.clientHeight,Y2=F.scrollPosition,V2=U.getOffset(m),_2=V2+U.getSize(m);if(V2<Y2)B.scrollTo(Math.max(0,V2));else if(_2>Y2+j2)B.scrollTo(_2-j2)},$2=(m)=>{if(!C)return;C.textContent="",C.offsetHeight,C.textContent=m},K2=(m)=>{if(!B)return"";let Y2=B.getItems()[m];if(!Y2)return"";return l.querySelector(`[data-index="${m}"]`)?.textContent?.trim()||String(Y2.id)},B2=()=>String(F.totalItems),q2=(m)=>{let j2=l.children;for(let Y2=0;Y2<j2.length;Y2++)j2[Y2].style.transition=m},E2=()=>{let m=()=>{if(!E||!B)return;let j2=V.getBoundingClientRect(),Y2=0,V2=3;if(A){let T2=y-j2.left,z2=j2.right-y;if(T2<J){let O2=Math.min(V2,1-T2/J);Y2=-Z*O2*O2}else if(z2<J){let O2=Math.min(V2,1-z2/J);Y2=Z*O2*O2}}else{let T2=S-j2.top,z2=j2.bottom-S;if(T2<J){let O2=Math.min(V2,1-T2/J);Y2=-Z*O2*O2}else if(z2<J){let O2=Math.min(V2,1-z2/J);Y2=Z*O2*O2}}let _2=M2();if(Y2!==0){let T2=F.scrollPosition,z2=U.getTotalSize()-(A?V.clientWidth:V.clientHeight);if(Y2<0&&T2<=0||Y2>0&&T2>=z2)i=_2;else i=!0,B.scrollTo(T2+Y2)}else i=_2;c=requestAnimationFrame(m)};c=requestAnimationFrame(m)},R2=()=>{if(c)cancelAnimationFrame(c),c=0},A2=(m=!1)=>{if(E=!1,h=!1,r&&r.parentNode)r.remove();r=null,P=null;let j2=l.children;for(let V2=0;V2<j2.length;V2++){let _2=j2[V2];_2.classList.remove(k);let T2=x(_2);if(T2>=0)_2.style.transform=`${H}(${Math.round(U.getOffset(T2))}px)`;_2.style.transition=""}R2(),D.classList.remove(W),document.body.style.cursor="";let Y2=window.getSelection();if(Y2)Y2.removeAllRanges();if(document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",F2),document.removeEventListener("pointercancel",H2),!m&&B)B.forceRender()},D2=(m,j2)=>{if(!B)return;let Y2=m!==j2&&m>=0&&j2>=0,V2=()=>{if(!B)return;if(E=!1,Y2){if(D.classList.add(w),B.emitter.emit("sort:end",{fromIndex:m,toIndex:j2}),N!==null)J2(N);A2(!0),requestAnimationFrame(()=>D.classList.remove(w))}else D.classList.add(w),B.emitter.emit("sort:cancel",{originalItems:[...B.getItems()]}),A2(!1),requestAnimationFrame(()=>D.classList.remove(w))};if(!r){V2();return}let _2=V.getBoundingClientRect(),T2=F.scrollPosition,z2=U.getOffset(j2),O2=X>0?X:150;if(r.style.transition=`left ${O2}ms ease, top ${O2}ms ease`,A)r.style.left=`${_2.left-V.scrollLeft+z2-T2}px`,r.style.top=`${_2.top}px`;else r.style.left=`${_2.left}px`,r.style.top=`${_2.top+z2-T2}px`;let p2=!1,f2=()=>{if(p2)return;p2=!0,r?.removeEventListener("transitionend",f2),V2()};r.addEventListener("transitionend",f2),setTimeout(f2,O2+50)},b2=(m)=>{if(F.destroyed||!B)return;if(E)return;if(O)X2();if(m.button!==0)return;let j2=m.target;if($){if(!j2.closest($))return}let Y2=f(j2);if(!Y2)return;let V2=x(Y2);if(V2<0)return;z=m.clientX,I=m.clientY,y=m.clientX,S=m.clientY,R=V2,h=!1,P=Y2;let _2=Y2.getBoundingClientRect();v=m.clientX-_2.left,Y=m.clientY-_2.top,document.addEventListener("pointermove",y2),document.addEventListener("pointerup",F2),document.addEventListener("pointercancel",H2)};function y2(m){if(!B)return;if(y=m.clientX,S=m.clientY,!h){let j2=y-z,Y2=S-I;if(Math.sqrt(j2*j2+Y2*Y2)<K)return;if(h=!0,E=!0,G=R,D.classList.add(W),document.body.style.cursor="grabbing",T=U.getSize(R),P)r=a(P),P.classList.add(k);let V2=W2();if(V2>=0){let T2=B.getItems()[V2];N=T2?T2.id:null}else N=null;B.emitter.emit("sort:start",{index:R}),E2()}if(E){if(m.preventDefault(),e(),!i)G2();else if(M2()){if(G!==R)G=R,Z2()}}}function F2(m){if(!h){document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",F2),document.removeEventListener("pointercancel",H2),P=null;return}m.preventDefault(),document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",F2),document.removeEventListener("pointercancel",H2),R2(),D2(R,G)}let k2=()=>{if(!h)return;document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",F2),document.removeEventListener("pointercancel",H2),R2(),Z2(),D2(R,R)};function H2(){k2()}let w2=()=>{let m=l.querySelectorAll(`.${g}`);for(let j2=0;j2<m.length;j2++)m[j2].classList.remove(g)},N2=()=>{w2();let m=l.querySelector(`[data-id="${p}"]`);if(m)m.classList.add(g)},L2=(m)=>{if(!B)return;let j2=B.getItems(),Y2=j2[m];if(!Y2)return;O=!0,p=Y2.id,s=m,o=m,u=[...j2],D.classList.add(W),B.emitter.emit("sort:start",{index:m}),N2(),$2(`Grabbed ${K2(m)}. Current position ${m+1} of ${B2()}. Use Up and Down arrow keys to move, Space to drop, Escape to cancel.`)},P2=()=>{if(!O||!B)return;O=!1;let m=o,j2=K2(m);q2("none"),D.classList.remove(W),w2(),J2(p),B.forceRender(),$2(`${j2} dropped. Final position ${m+1} of ${B2()}.`),u=[],requestAnimationFrame(()=>q2(""))},X2=()=>{if(!O||!B)return;O=!1;let m=s;if(q2("none"),D.classList.remove(W),w2(),o!==m)B.emitter.emit("sort:cancel",{originalItems:u});J2(p),B.forceRender(),n(m),$2(`Reorder cancelled. Returned to position ${m+1} of ${B2()}.`),u=[],requestAnimationFrame(()=>q2(""))},d=(m)=>{if(!O||!B)return;let j2=F.totalItems,Y2=o+m;if(Y2<0||Y2>=j2)return;let V2=o,_2=Y2;q2("none"),B.emitter.emit("sort:end",{fromIndex:V2,toIndex:_2}),o=_2,J2(p),B.forceRender(),n(_2),N2(),$2(`${K2(_2)} moved. New position ${_2+1} of ${B2()}.`),requestAnimationFrame(()=>q2(""))},U2=(m)=>{if(F.destroyed)return;if(E){if(m.key==="Escape")m.preventDefault(),m.stopImmediatePropagation(),k2();return}if(O)switch(m.key){case" ":case"Enter":m.preventDefault(),m.stopImmediatePropagation(),P2();return;case"Escape":m.preventDefault(),m.stopImmediatePropagation(),X2();return;case"ArrowUp":case"ArrowLeft":m.preventDefault(),m.stopImmediatePropagation(),d(-1);return;case"ArrowDown":case"ArrowRight":m.preventDefault(),m.stopImmediatePropagation(),d(1);return;default:if(!m.key.startsWith("F")&&m.key!=="Tab")m.preventDefault(),m.stopImmediatePropagation();return}if(m.key===" "&&!m.shiftKey&&!m.ctrlKey&&!m.metaKey){let j2=W2();if(j2>=0)m.preventDefault(),m.stopImmediatePropagation(),L2(j2)}};return{name:"sortable",priority:30,conflicts:["grid","masonry","table","scale"],setup(m){B=m,F=m.getState(),U=m.sizeCache,l=m.dom.content,V=m.dom.viewport,D=m.dom.root,b=m.config.classPrefix,A=m.config.horizontal,H=A?"translateX":"translateY",L=X>0?`transform ${X}ms ease`:"none",W=`${b}--sorting`,w=`${b}--settling`,k=`${b}-item--drag-source`,g=`${b}-item--kb-sorting`,m.registerMethod("isSorting",()=>E||O),l.addEventListener("pointerdown",b2),D.addEventListener("keydown",U2),Q=`${b}-sort-instructions`,_=document.createElement("div"),_.id=Q,_.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",_.textContent="Press Space to reorder. Use arrow keys to move, Space to drop, Escape to cancel.",D.appendChild(_),C=document.createElement("div"),C.setAttribute("role","status"),C.setAttribute("aria-live","assertive"),C.setAttribute("aria-atomic","true"),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",D.appendChild(C),m.registerDestroyHandler(()=>{if(O)X2();A2(),l.removeEventListener("pointerdown",b2),D.removeEventListener("keydown",U2),_?.remove(),C?.remove()})},hooks:{onCommit(){if(!B)return;let m=l.children;for(let j2=0;j2<m.length;j2++){let Y2=m[j2],V2=x(Y2);if(V2<0)continue;if(Y2.setAttribute("aria-roledescription","sortable item"),Y2.setAttribute("aria-describedby",Q),O)if(Y2.getAttribute("data-id")===String(p))Y2.classList.add(g);else Y2.classList.remove(g);if(E)if(V2===R)Y2.classList.add(k),P=Y2;else{Y2.classList.remove(k);let _2=0;if(G>R){if(V2>R&&V2<=G)_2=-T}else if(G<R){if(V2>=G&&V2<R)_2=T}let T2=Math.round(U.getOffset(V2)+_2);Y2.style.transform=`${H}(${T2}px)`}}}},destroy(){if(r&&r.parentNode)r.remove();r=null,R2(),_?.remove(),C?.remove(),B=null}}}var t1=50,e1=0.1;function O1(j){let $=0,q=0,X=0;function J(){return X>0?q/X:0}function Z(F){if($=F,F>e1&&F<t1)q+=F,X++}function K(){let F=j.getTotal();if(F===0)return 0;let U=j.getItemSize();if(U<=0)return 0;let B=j.getContainerSize();if(B<=0)return 0;let l=j.getScrollPosition(),V=typeof j.getColumns==="function"?j.getColumns():1,b=Math.ceil(F/V)*U,H=Math.min(b,S2)-B,L=b-B,W=H>0?L/H:1,w=l*W,k=Math.ceil((w+B)/U);return Math.min(k*V,F)}function M(){let F=j.getTotal(),U=K();return{progress:F>0?Math.min(100,Math.max(0,U/F*100)):0,velocity:$,velocityAvg:J(),itemCount:U,total:F}}return{getState:M,onVelocity:Z}}export{_0 as transition,E0 as table,R0 as sortable,M0 as snapshots,N0 as selection,U0 as scrollbar,K0 as scale,V0 as page,A0 as masonry,F0 as groups,B0 as grid,D0 as data,e0 as createVList,O1 as createStats,G0 as autosize,W0 as a11y};
1
+ var l2=3,b0="vlist";var r2=50;var y0=50,k0=2,P0=15,z0=6,S2=16000000,m2=150,Q0=1,s2=(j)=>j<0.5?2*j*j:1-(-2*j+2)**2/2,a2=300;var w0="x",v0=20,j0="_isPlaceholder",f2="__placeholder_";var o2={top:0,right:0,bottom:0,left:0},C0=(j)=>{if(j==null)return o2;if(typeof j==="number")return j===0?o2:{top:j,right:j,bottom:j,left:j};if(j.length===2){let[Z,B]=j;return Z===0&&B===0?o2:{top:Z,right:B,bottom:Z,left:B}}let[J,q,Y,$]=j;return J===0&&q===0&&Y===0&&$===0?o2:{top:J,right:q,bottom:Y,left:$}},f0=(j,J)=>J?j.left+j.right:j.top+j.bottom,h0=(j,J)=>J?j.top+j.bottom:j.left+j.right;function I0(j){let J={visibleIndices:new Int32Array(j),visibleOffsets:new Float64Array(j),visibleSizes:new Float64Array(j),visibleCount:0,startIndex:0,totalSize:0,capacity:j,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(q,Y,$=l2){if(Y<=0||q<=0)return;let Z=Math.ceil(q/Y)+$*2;if(Z<=J.capacity)return;let B=Z+8,A=new Int32Array(B),L=new Float64Array(B),M=new Float64Array(B);A.set(J.visibleIndices),L.set(J.visibleOffsets),M.set(J.visibleSizes),J.visibleIndices=A,J.visibleOffsets=L,J.visibleSizes=M,J.capacity=B},clear(){J.visibleCount=0,J.startIndex=0}};return J}var O1=(j,J)=>{let q=J;return{getOffset:(Y)=>Y*j,getSize:(Y)=>j,indexAtOffset:(Y)=>{if(q===0||j===0)return 0;return Math.max(0,Math.min(Math.floor(Y/j),q-1))},getTotalSize:()=>q*j,getTotal:()=>q,rebuild:(Y)=>{q=Y},isVariable:()=>!1}},E1=(j,J)=>{let q=J,Y=new Float64Array(0),$=(B)=>{q=B,Y=new Float64Array(B+1),Y[0]=0;for(let A=0;A<B;A++)Y[A+1]=Y[A]+j(A)};$(J);let Z=(B)=>{if(q===0)return 0;if(B<=0)return 0;if(B>=Y[q])return q-1;let A=0,L=q-1;while(A<L){let M=A+L+1>>>1;if(Y[M]<=B)A=M;else L=M-1}return A};return{getOffset:(B)=>{if(B<=0)return 0;if(B>=q)return Y[q];return Y[B]},getSize:(B)=>j(B),indexAtOffset:(B)=>Z(B),getTotalSize:()=>Y[q]??0,getTotal:()=>q,rebuild:(B)=>$(B),isVariable:()=>!0}},i2=(j,J)=>{if(typeof j==="number")return O1(j,J);return E1(j,J)},q0=(j,J,q,Y)=>{if(Y===0)return 0;if(!j.isVariable())return Math.ceil(q/j.getSize(0));let $=0,Z=0,B=J;while(B<Y&&Z<q)Z+=j.getSize(B),$++,B++;return Math.max(1,$)};function S0(j){let J=[],q=`${j}-item`,Y=document.createElement("div");return Y.className=q,{acquire(){if(J.length>0)return J.pop();return Y.cloneNode(!1)},release($){if($.className=q,$.removeAttribute("style"),$.removeAttribute("id"),$.removeAttribute("role"),$.removeAttribute("aria-selected"),$.removeAttribute("aria-posinset"),$.removeAttribute("aria-setsize"),$.removeAttribute("data-index"),$.removeAttribute("data-id"),$.innerHTML="",J.length<100)J.push($)},get size(){return J.length},clear(){J.length=0}}}function p0(j){if(typeof j==="string"){let J=document.querySelector(j);if(!J)throw Error(`[vlist] Container not found: ${j}`);return J}return j}function u0(j,J,q,Y,$){let Z=q?`${J} ${J}--horizontal`:J,B=q?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",A=q?"position:relative;height:100%":"position:relative;width:100%",L=` role="${Y?"listbox":"list"}"`;if(Y)L+=' tabindex="0"';if($)L+=` aria-label="${$.replace(/"/g,"&quot;")}"`;if(q)L+=' aria-orientation="horizontal"';j.insertAdjacentHTML("beforeend",`<div class="${Z}"><div class="${J}-viewport" style="${B}" tabindex="-1"><div class="${J}-content" style="${A}"${L}></div></div></div>`);let M=j.lastElementChild,U=M.firstElementChild,r=U.firstElementChild,N=document.createElement("div");return N.className=`${J}-live`,N.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",N.setAttribute("aria-live","polite"),N.setAttribute("aria-atomic","true"),N.setAttribute("role","status"),M.appendChild(N),{root:M,viewport:U,content:r,liveRegion:N}}function g0(j){let{state:J,viewport:q,isX:Y,wheelEnabled:$,onFrame:Z,onIdle:B}=j,A=j.idleTimeout||m2,L=j.scrollTarget??q,M=null,U=null;function r(){let X=Y?q.scrollLeft:q.scrollTop;if(Math.abs(X-J.scrollPosition)<0.5)return;J.prevScrollPosition=J.scrollPosition,J.scrollPosition=X,J.scrollDirection=X>J.prevScrollPosition?1:X<J.prevScrollPosition?-1:0,Z(),T()}function N(X){if(J.isCompressed)return;let y;if(Y){if(Math.abs(X.deltaX)>Math.abs(X.deltaY))return;let w=q.scrollLeft,V=q.scrollWidth-q.clientWidth;if(y=Math.max(0,Math.min(w+X.deltaY*Q0,V)),Math.abs(y-w)<1)return;X.preventDefault(),q.scrollLeft=y}else{let w=q.scrollWidth>q.clientWidth;if(w&&Math.abs(X.deltaX)>Math.abs(X.deltaY))return;if(w&&X.deltaX!==0)X.preventDefault(),q.scrollLeft+=X.deltaX;let V=q.scrollTop,D=q.scrollHeight-q.clientHeight;if(y=Math.max(0,Math.min(V+X.deltaY*Q0,D)),Math.abs(y-V)<1)return;X.preventDefault(),q.scrollTop=y}J.prevScrollPosition=J.scrollPosition,J.scrollPosition=y,J.scrollDirection=y>J.prevScrollPosition?1:-1,Z(),T()}function T(){if(M!==null)clearTimeout(M);M=setTimeout(()=>{M=null,J.scrollDirection=0,B()},A)}function H(){if(U!==null)cancelAnimationFrame(U),U=null}function E(X,y,w,V=s2,D){H();let O=J.scrollPosition,F=typeof X==="function"?X:()=>X,_=F();if(Math.abs(_-O)<1){if(w)w(_);else if(Y)q.scrollLeft=_;else q.scrollTop=_;D?.();return}let z=performance.now();function p(P){_=F();let h=P-z,u=Math.min(h/y,1),l=O+(_-O)*V(u);if(w)w(l);else if(Y)q.scrollLeft=l;else q.scrollTop=l;if(!w)J.scrollPosition=l;if(Z(),u<1)U=requestAnimationFrame(p);else U=null,D?.()}U=requestAnimationFrame(p)}return{attach(){if(L.addEventListener("scroll",r,{passive:!0}),$)L.addEventListener("wheel",N,{passive:!1})},detach(){if(L.removeEventListener("scroll",r),$)L.removeEventListener("wheel",N);if(H(),M!==null)clearTimeout(M),M=null},cancelScroll:H,smoothScrollTo:E}}var d2=[],R1={calculate:d2,commit:d2,afterScroll:d2,idle:d2,resize:d2};function x0(j){if(j.length===0)return R1;let J=[],q=[],Y=[],$=[],Z=[];for(let B=0;B<j.length;B++){let A=j[B].hooks;if(A===void 0)continue;if(A.onCalculate!==void 0)J.push(A.onCalculate);if(A.onCommit!==void 0)q.push(A.onCommit);if(A.onAfterScroll!==void 0)Y.push(A.onAfterScroll);if(A.onIdle!==void 0)$.push(A.onIdle);if(A.onResize!==void 0)Z.push(A.onResize)}return{calculate:J,commit:q,afterScroll:Y,idle:$,resize:Z}}function m0(j,J){for(let q=0;q<j.length;q++)j[q](J)}function d0(j,J){for(let q=0;q<j.length;q++)j[q](J)}function Y0(j,J,q){for(let Y=0;Y<j.length;Y++)j[Y](J,q)}function c0(j){for(let J=0;J<j.length;J++)j[J]()}function l0(j,J,q){for(let Y=0;Y<j.length;Y++)j[Y](J,q)}function r0(j,J,q,Y,$,Z,B,A,L){let M=$!==0||Z!==0;return{prefix:j,selectedClass:`${j}-item--selected`,focusedClass:`${j}-item--focused`,placeholderClass:`${j}-item--placeholder`,replacedClass:`${j}-item--replaced`,translateProp:J?"translateX(":"translateY(",sizeProp:J?"width":"height",itemRole:q?"option":"listitem",interactive:q,startPadding:Y,gap:A,hasCrossPad:M,crossStartProp:M?J?"top":"left":"",crossEndProp:M?J?"bottom":"right":"",crossStartVal:M?$+"px":"",crossEndVal:M?Z+"px":"",oddClass:B,emitter:L??null}}function T1(j,J,q,Y,$){if(j.containerSize<=0||j.totalItems===0)return j.clear(),!0;let{scrollPosition:Z,containerSize:B,totalItems:A}=j,L=$??0;j.totalSize=J.getTotalSize();let M=J.indexAtOffset(L>0?Math.max(0,Z-L):Z),U=J.indexAtOffset(Z+B);if(U<A-1)U++;M=Math.max(0,M),U=Math.min(A-1,Math.max(0,U));let r=Math.max(0,M-q),N=Math.min(A-1,U+q),T=Math.ceil(B/1)+q*2+10,H=N-r+1,E=Math.min(H,j.capacity,T);if(r===j.prevRangeStart&&N===j.prevRangeEnd&&!j.renderPending)return!1;j.visibleCount=E,j.startIndex=r;for(let X=0;X<E;X++){let y=r+X;j.visibleIndices[X]=y,j.visibleOffsets[X]=J.getOffset(y),j.visibleSizes[X]=J.getSize(y)}return m0(Y.calculate,j),j.prevRangeStart=r,j.prevRangeEnd=N,j.renderPending=!1,!0}var v2={selected:!1,focused:!1};function b1(j,J,q){for(let Y=0;Y<J;Y++)if(j[Y]===q)return!0;return!1}function y1(j,J,q,Y,$,Z,B,A,L,M){let U=L?null:$(),r=j.visibleCount,N=j.visibleIndices,T=B.interactive?String(j.totalItems):"",H=B.interactive&&j.totalItems!==j.prevAriaTotal,E=null;for(let X=0;X<r;X++){let y=N[X],w=j.visibleOffsets[X],V=j.visibleSizes[X],D=L?L(y):U[y];if(M)M(y,v2);else v2.selected=!1,v2.focused=!1;let O=Z.get(y),F=O;if(O===void 0){let _=J.acquire();if(D!==void 0){let P;try{P=Y(D,y,v2)}catch(h){if(B.emitter)B.emitter.emit("error",{error:h instanceof Error?h:Error(String(h)),context:`template:render:${y}`});J.release(_);continue}if(typeof P==="string")_.innerHTML=P;else _.innerHTML="",_.appendChild(P)}if(_.setAttribute("role",B.itemRole),_.setAttribute("data-index",String(y)),B.interactive)_.id=B.prefix+"-item-"+y,_.setAttribute("aria-posinset",String(y+1)),_.setAttribute("aria-setsize",T);if(D!==void 0){let P=String(D.id);if(_.setAttribute("data-id",P),P.startsWith(f2))_.classList.add(B.placeholderClass)}if(B.hasCrossPad)_.style.setProperty(B.crossStartProp,B.crossStartVal),_.style.setProperty(B.crossEndProp,B.crossEndVal);if(M){if(_.classList.toggle(B.selectedClass,v2.selected),_.classList.toggle(B.focusedClass,v2.focused),v2.selected)_.setAttribute("aria-selected","true");else _.removeAttribute("aria-selected");_._lastSelected=v2.selected,_._lastFocused=v2.focused}if(B.oddClass)_.classList.toggle(B.oddClass,(y&1)===1);let z=w+B.startPadding;_.style.transform=B.translateProp+z+"px)",_._lastOffset=z;let p=V-B.gap;if(_.style[B.sizeProp]=p+"px",_._lastSize=p,_._lastItem=D,Z.set(y,_),E===null)E=document.createDocumentFragment();E.appendChild(_)}else{if(H)O.setAttribute("aria-setsize",T);if(D!==void 0&&F._lastItem!==D){let p=O.getAttribute("data-id"),P=String(D.id),h;try{h=Y(D,y,v2)}catch(u){if(B.emitter)B.emitter.emit("error",{error:u instanceof Error?u:Error(String(u)),context:`template:render:${y}`});continue}if(typeof h==="string")O.innerHTML=h;else O.innerHTML="",O.appendChild(h);if(O.setAttribute("data-id",P),F._lastItem=D,p!==P){let u=p!==null&&p.startsWith(f2),l=P.startsWith(f2);if(u!==l)O.classList.toggle(B.placeholderClass,l);if(u&&!l)O.classList.add(B.replacedClass),setTimeout(()=>{O.classList.remove(B.replacedClass)},300)}}if(M){if(F._lastSelected!==v2.selected){if(O.classList.toggle(B.selectedClass,v2.selected),v2.selected)O.setAttribute("aria-selected","true");else O.removeAttribute("aria-selected");F._lastSelected=v2.selected}if(F._lastFocused!==v2.focused)O.classList.toggle(B.focusedClass,v2.focused),F._lastFocused=v2.focused}let _=w+B.startPadding;if(F._lastOffset!==_)O.style.transform=B.translateProp+_+"px)",F._lastOffset=_;let z=V-B.gap;if(F._lastSize!==z)O.style[B.sizeProp]=z+"px",F._lastSize=z}}if(E!==null)q.appendChild(E);for(let[X,y]of Z)if(!b1(N,r,X))y.remove(),J.release(y),Z.delete(X);if(B.interactive)j.prevAriaTotal=j.totalItems;d0(A.commit,j)}function Z0(j,J,q,Y,$,Z,B,A,L,M,U,r){if(T1(j,J,q,M,L.startPadding))y1(j,Y,$,Z,B,A,L,M,U,r)}var K0=()=>{let j={},J=(Z,B)=>{if(!j[Z])j[Z]=new Set;return j[Z].add(B),()=>q(Z,B)},q=(Z,B)=>{j[Z]?.delete(B)};return{on:J,off:q,emit:(Z,B)=>{j[Z]?.forEach((A)=>{try{A(B)}catch(L){console.error(`[vlist] Error in event handler for "${String(Z)}":`,L)}})},clear:(Z)=>{if(Z)delete j[Z];else for(let B in j)delete j[B]}}};var s0=2,a0=(j=0)=>({velocity:0,sampleCount:0}),o0=(j,J)=>{let q=performance.now(),Y=j._lt??q,$=j._lp??J,Z=q-Y;if(j._lp=J,j._lt=q,Z===0)return j.sampleCount=Math.min(j.sampleCount+1,5),j;if(Z>100)return j.velocity=0,j.sampleCount=1,j;return j.velocity=Math.abs(J-$)/Z,j.sampleCount=Math.min(j.sampleCount+1,5),j};function k1(j){let{item:J}=j;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(j.overscan!==void 0){if(typeof j.overscan!=="number"||!Number.isFinite(j.overscan)||j.overscan<0)throw Error(`vlist: overscan must be a non-negative number, got ${j.overscan}`)}}function P1(j,J){let q=j==="horizontal"?"x":"y";if(J.some(($)=>$.name==="grid"))return{primary:q,cross:q==="x"?"y":"x"};return{primary:q}}function z1(j,J){let q=P1(j.orientation,J),Y=q.primary==="x",$=C0(j.padding);return{axis:q,hasCrossAxis:q.cross!==void 0,overscan:j.overscan??l2,reverse:j.reverse??!1,classPrefix:j.classPrefix??b0,interactive:j.interactive??!0,mainAxisPadding:f0($,Y),crossAxisPadding:h0($,Y),startPadding:Y?$.left:$.top,endPadding:Y?$.right:$.bottom,crossPadStart:Y?$.top:$.left,crossPadEnd:Y?$.bottom:$.right,striped:j.item.striped||!1,gap:j.item.gap??0}}function w1(j,J){if(J)return j.item.width??j.item.estimatedWidth??100;return j.item.height??j.item.estimatedHeight??40}function v1(j){let J=[...j];return J.sort((q,Y)=>(q.priority??50)-(Y.priority??50)),J}function C1(j){let J=new Set;for(let q of j){if(J.has(q.name))throw Error(`[vlist] Duplicate plugin: ${q.name}`);J.add(q.name)}for(let q of j)if(q.conflicts){for(let Y of q.conflicts)if(J.has(Y))throw Error(`[vlist] Plugin "${q.name}" conflicts with "${Y}"`)}}function i0(j,J=[]){k1(j);let q=z1(j,J),Y=q.axis.primary==="x",$=w1(j,Y),Z=q.gap,B=Z>0?typeof $==="function"?(Z2)=>$(Z2)+Z:$+Z:$,A=typeof $==="number"?$:20,L=j.items?.length??0,M=q.striped?`${q.classPrefix}-item--odd`:"",U=K0(),r=r0(q.classPrefix,Y,q.interactive,q.startPadding,q.crossPadStart,q.crossPadEnd,M,Z,U),N=J.length>0?v1(J):J;if(J.length>0)C1(N);let T=p0(j.container),H=u0(T,q.classPrefix,Y,q.interactive,j.ariaLabel);if(j.scroll?.scrollbar==="none")H.viewport.classList.add(`${q.classPrefix}-viewport--no-scrollbar`);if(j.scroll?.gutter==="stable")H.viewport.classList.add(`${q.classPrefix}-viewport--gutter-stable`);let X=i2(B,L);if(Z>0){let Z2=X.getTotalSize;X.getTotalSize=()=>{let d=Z2();return d>0?d-Z:0}}let y=S0(q.classPrefix),w=Math.ceil(4096/A)+q.overscan*2+8,V=I0(w);V.totalItems=L;let D=j.items??[],O=()=>D,F=new Map,_=a0(),z={velocity:0,reliable:!1},p={range:{start:0,end:-1}},P={scrollPosition:0,direction:"down"},h={scrollPosition:0},u=-1,l=-1,c=-1,k=null,R=x0(N),v=new Map,K=[],W=[],b=[],S=null,i=null,s=null,g=null,Q=null,G=null,C=null,x=null,o=null,I=null,m=!1,a=!1,e=null,t=0,q2=0,K2=null,G2=null,M2=null,W2=null,J2=null;if(V.containerSize=Y?H.viewport.clientWidth:H.viewport.clientHeight,V.crossSize=Y?H.viewport.clientHeight:H.viewport.clientWidth,J.length>0){let Z2={dom:H,sizeCache:X,pool:y,config:q,emitter:U,template:j.item.template,registerMethod(d,f){v.set(d,f)},getMethod(d){return v.get(d)},registerClickHandler(d){K.push(d)},registerKeydownHandler(d){W.push(d)},registerDestroyHandler(d){b.push(d)},setSizeConfig(d){let f=i2(d,V.totalItems);Object.assign(X,f)},setScrollFns(d,f){i=d,s=f},setVirtualTotalFn(d){S=d},getItems:O,getItem(d){return G?G(d):D[d]},getState(){return V},rebuildSizeCache(){X.rebuild(V.totalItems)},updateContentSize(d){V.totalSize=d,H.content.style[Y?"width":"height"]=d+q.mainAxisPadding+"px"},setRenderFn(d,f){g=d,Q=f},renderIfNeeded(){L2()},forceRender(){F2()},setGetItemFn(d){G=d},setItemStateFn(d){C=d},getItemStateFn(){return C},get rawSizeSpec(){return $},scrollTo(d){if(s)s(d);else if(Y)H.viewport.scrollLeft=d;else H.viewport.scrollTop=d},smoothScrollTo(d,f,Q2,j2){if(M2)M2(d,f,void 0,Q2,j2);else Z2.scrollTo(typeof d==="function"?d():d)},disableDefaultScroll(){m=!0},disableDefaultResize(){a=!0},setScrollTarget(d){e=d},setScrollToPosFn(d){W2=d},setScrollToIndexFn(d){J2=d},onScrollFrame:X2,onScrollIdle:b2,removeItemById(d){if(x)return x(d);let f=D.findIndex((Q2)=>Q2.id===d);if(f===-1)return-1;return D.splice(f,1),V.totalItems=D.length,X.rebuild(V.totalItems),A2(),f},insertItemAt(d,f){if(o){o(d,f);return}D.splice(f,0,d),V.totalItems=D.length,X.rebuild(V.totalItems),A2()},setRemoveItemFn(d){x=d},setInsertItemFn(d){o=d},setUpdateItemFn(d){I=d},getRenderedElement(d){let f=v.get("_getRenderedElement");if(f)return f(d);return F.get(d)??null},setNavConfig(d){if(d.ud!==void 0)t=d.ud;if(d.lr!==void 0)q2=d.lr;if(d.scrollIndex)K2=d.scrollIndex;if(d.navigate)G2=d.navigate},getNavConfig:(()=>{let d={ud:0,lr:0,scrollIndex:null,navigate:null};return()=>{return d.ud=t,d.lr=q2,d.scrollIndex=K2,d.navigate=G2,d}})()};for(let d of N)if(d.setup)try{d.setup(Z2)}catch(f){U.emit("error",{error:f instanceof Error?f:Error(String(f)),context:`plugin:setup:${d.name}`})}}let n=q.classPrefix+"--scrolling",$2=!1,B2=j.scroll?.idleTimeout??m2;function U2(){if(P.scrollPosition=V.scrollPosition,Y)P.direction=V.scrollDirection>0?"right":"left";else P.direction=V.scrollDirection>0?"down":"up";if(U.emit("scroll",P),o0(_,V.scrollPosition),z.velocity=_.velocity,z.reliable=_.sampleCount>=s0,U.emit("velocity:change",z),V.startIndex!==u||V.prevRangeEnd!==l)u=V.startIndex,l=V.prevRangeEnd,p.range.start=V.startIndex,p.range.end=V.prevRangeEnd,U.emit("range:change",p)}let Y2=!1;function A2(){if(g)return;let Z2=X.getTotalSize();if(H.content.style[Y?"width":"height"]=Z2+q.mainAxisPadding+"px",!Y2&&Z2>S2)Y2=!0,U.emit("error",{error:Error(`Content size (${Z2}px) exceeds browser limit (${S2}px). Use the scale() plugin for large datasets.`),context:"content:size:overflow"})}function L2(){if(g)g();else Z0(V,X,q.overscan,y,H.content,j.item.template,O,F,r,R,G,C)}function X2(){if(!$2)$2=!0,H.root.classList.add(n);if(L2(),Y0(R.afterScroll,V.scrollPosition,V.scrollDirection),V.scrollPosition!==c)c=V.scrollPosition,U2()}function b2(){if($2)$2=!1,H.root.classList.remove(n);V.scrollDirection=0,c0(R.idle),z.velocity=0,z.reliable=!1,U.emit("velocity:change",z),h.scrollPosition=V.scrollPosition,U.emit("scroll:idle",h)}function F2(){if(V.renderPending=!0,Q)Q();else Z0(V,X,q.overscan,y,H.content,j.item.template,O,F,r,R,G,C);if(Y0(R.afterScroll,V.scrollPosition,V.scrollDirection),V.scrollPosition!==c){if(c=V.scrollPosition,U2(),k!==null)clearTimeout(k);k=setTimeout(b2,B2)}}let y2=g0({state:V,viewport:H.viewport,isX:Y,wheelEnabled:m?!1:j.scroll?.wheel!==!1,idleTimeout:j.scroll?.idleTimeout??m2,...e?{scrollTarget:e}:{},onFrame:X2,onIdle:b2});M2=y2.smoothScrollTo;function D2(Z2){let f=Z2.target.closest("[data-index]");if(!f)return null;let Q2=parseInt(f.getAttribute("data-index"),10);if(Number.isNaN(Q2))return null;let j2=D[Q2];if(j2===void 0)return null;return{item:j2,index:Q2}}function k2(Z2){for(let f=0;f<K.length;f++)K[f](Z2);let d=D2(Z2);if(d)U.emit("item:click",{item:d.item,index:d.index,event:Z2})}function H2(Z2){let d=D2(Z2);if(d)U.emit("item:dblclick",{item:d.item,index:d.index,event:Z2})}function z2(Z2){let d=D2(Z2);if(d)U.emit("item:contextmenu",{item:d.item,index:d.index,event:Z2})}function N2(Z2){for(let d=0;d<W.length;d++)W[d](Z2)}if(H.content.addEventListener("click",k2),H.content.addEventListener("dblclick",H2),H.content.addEventListener("contextmenu",z2),W.length>0)H.content.addEventListener("keydown",N2);let O2=null;if(!a)setTimeout(()=>{if(V.destroyed)return;O2=new ResizeObserver((d)=>{for(let f of d){let{width:Q2,height:j2}=f.contentRect,V2=Y?Q2:j2,_2=Y?j2:Q2;if(Math.abs(V2-V.containerSize)<1&&Math.abs(_2-V.crossSize)<1)continue;V.containerSize=V2,V.crossSize=_2,V.resizeCapacity(V2,A,q.overscan),F2(),l0(R.resize,Q2,j2),U.emit("resize",{width:Q2,height:j2})}}),O2.observe(H.viewport)},0);V.resizeCapacity(V.containerSize,A,q.overscan),A2(),V.initialized=!0;let R2=null;if(j.defer)R2=requestAnimationFrame(()=>{if(R2=null,!V.destroyed)L2()});else L2();if(!m)y2.attach();let P2={get element(){return H.root},get items(){return D},get total(){return S?S():D.length},setItems(Z2){D=[...Z2],V.totalItems=D.length,X.rebuild(V.totalItems),A2(),F2()},appendItems(Z2){D.push(...Z2),V.totalItems=D.length,X.rebuild(V.totalItems),A2(),F2()},prependItems(Z2){D.unshift(...Z2),V.totalItems=D.length,X.rebuild(V.totalItems),A2(),F2()},updateItem(Z2,d){if(I){if(!I(Z2,d))return}else{let f=D.findIndex((Q2)=>Q2.id===Z2);if(f===-1)return;D[f]={...D[f],...d}}F2()},insertItem(Z2,d){if(o)o(Z2,d??V.totalItems);else{if(d===void 0)D.push(Z2);else D.splice(d,0,Z2);V.totalItems=D.length,X.rebuild(V.totalItems),A2()}F2()},removeItem(Z2){if(x){if(x(Z2)<0)return}else{let d=D.findIndex((f)=>f.id===Z2);if(d===-1)return;D.splice(d,1),V.totalItems=D.length,X.rebuild(V.totalItems),A2()}F2()},removeItems(Z2){if(x){let j2=0;for(let V2 of Z2)if(x(V2)>=0)j2++;if(j2>0)F2();return j2}let d=new Set(Z2),f=D.length;D=D.filter((j2)=>!d.has(j2.id));let Q2=f-D.length;if(Q2>0)V.totalItems=D.length,X.rebuild(V.totalItems),A2(),V.renderPending=!0,L2();return Q2},getItemAt(Z2){return D[Z2]},getIndexById(Z2){return D.findIndex((d)=>d.id===Z2)},scrollToIndex(Z2,d="start"){let f=S?S():D.length;if(f===0)return;let Q2=Math.max(0,Math.min(Z2,f-1)),j2=typeof d==="string"?d:d.align??"start",V2=typeof d==="object"?d.behavior:void 0,_2=typeof d==="object"?d.duration:void 0,T2=typeof d==="object"?d.easing:void 0;if(J2&&J2(Q2,j2,V2,_2,T2)!==!1)return;let w2=X.getOffset(Q2),E2=X.getSize(Q2),C2=V.containerSize,I2=X.getTotalSize(),T0=q.mainAxisPadding,L1=Math.max(0,I2+T0-C2),h2;if(W2)h2=W2(Q2,X,C2,f,j2);else{let F1=q.startPadding;switch(j2){case"center":h2=F1+w2-(C2-E2)/2;break;case"end":h2=w2+E2+T0-C2;break;default:h2=w2}h2=Math.max(0,Math.min(h2,L1))}if(V2==="smooth")y2.smoothScrollTo(h2,_2??a2,s??void 0,T2);else if(s)s(h2);else if(Y)H.viewport.scrollLeft=h2;else H.viewport.scrollTop=h2},getScrollPosition(){return i?i():V.scrollPosition},on:U.on.bind(U),off:U.off.bind(U),destroy(){if(V.destroyed)return;if(V.destroyed=!0,$2)$2=!1,H.root.classList.remove(n);if(R2!==null)cancelAnimationFrame(R2),R2=null;if(k!==null)clearTimeout(k),k=null;y2.detach(),O2?.disconnect(),H.content.removeEventListener("click",k2),H.content.removeEventListener("dblclick",H2),H.content.removeEventListener("contextmenu",z2),H.content.removeEventListener("keydown",N2);let Z2=[];for(let d of b)try{d()}catch(f){Z2.push(f instanceof Error?f:Error(String(f)))}for(let d of N)if(d.destroy)try{d.destroy()}catch(f){Z2.push(f instanceof Error?f:Error(String(f)))}for(let[,d]of F)d.remove();if(F.clear(),y.clear(),H.root.remove(),U.emit("destroy",void 0),U.clear(),Z2.length>0)for(let d of Z2)console.error("vlist: error during destroy:",d)}};for(let[Z2,d]of v)P2[Z2]=d;return P2}var n0=(j,J,q)=>{let Y=J.getTotalSize(),$=q===!0||Y>S2,Z=Y>S2?S2:Y,B=Y>0?Z/Y:1;return{isCompressed:$,actualSize:Y,virtualSize:Z,ratio:B}},t0=(j,J,q,Y,$,Z)=>{if(Y===0||J===0)return Z.start=0,Z.end=-1,Z;if(!$.isCompressed||$.ratio===1){let T=q.indexAtOffset(j),H=q.indexAtOffset(j+J);if(H<Y-1)H++;return Z.start=Math.max(0,T),Z.end=Math.min(Y-1,Math.max(0,H)),Z}let{virtualSize:B}=$,A=j/B,L=q.getTotalSize(),M=A*L,U=q.indexAtOffset(M),r=q0(q,Math.max(0,U),J,Y),N=U+r;return Z.start=Math.max(0,U),Z.end=Math.min(Y-1,Math.max(0,N)),Z};var n2=(j,J,q,Y,$,Z,B)=>{if(!Z.isCompressed||Y===0)return q.getOffset(j);if(Z.ratio===1)return q.getOffset(j)-J;let{virtualSize:A}=Z,L=J/A,M=q.getTotalSize(),U=L*M;return q.getOffset(j)-U},e0=(j,J,q,Y,$,Z="start")=>{if(Y===0)return 0;let B;if($.isCompressed&&$.ratio!==1){B=j/Y*$.virtualSize;let U=J.getSize(j);switch(Z){case"center":B-=(q-U)/2*$.ratio;break;case"end":B-=(q-U)*$.ratio;break}return Math.max(0,B)}B=J.getOffset(j);let A=J.getSize(j);switch(Z){case"center":B-=(q-A)/2;break;case"end":B-=q-A;break}let L=$.virtualSize-q;return Math.max(0,Math.min(B,L))};var f1=(j)=>{if(typeof j!=="object"){let J=j??2;return{top:J,right:J,bottom:J,left:J}}return{top:j.top??2,right:j.right??2,bottom:j.bottom??2,left:j.left??2}},t2=(j,J,q={},Y="vlist",$=!1,Z)=>{let{autoHide:B=!0,autoHideDelay:A=1000,minThumbSize:L=15,showOnHover:M=!0,showOnViewportEnter:U=!0,clickBehavior:r="scroll"}=q,N=r==="page"?"scroll":r,T=Z??j,H=f1(q.padding),E=$?H.left:H.top,X=$?H.right:H.bottom,y=$?H.bottom:H.right,w=q.hoverZoneWidth??y+16,V=0,D=0,O=0,F=0,_=!1,z=!1,p=0,P=0,h=0,u=null,l=!1,c=null,k=0,R=0,v=null,K=null,W=null,b=$?"width":"height",S=$?"translateX":"translateY",i=$?(N2)=>N2.clientX:(N2)=>N2.clientY,s=$?"left":"top",g=document.createElement("div"),Q=document.createElement("div"),G=document.createElement("div"),C=$?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",x=()=>{if(T===j)return;let N2=j.offsetTop;g.style[$?"left":"top"]=N2?`calc(var(${C}) + ${N2}px)`:`var(${C})`,G.style[$?"left":"top"]=`${N2}px`},o=()=>{if(g.className=`${Y}-scrollbar`,Q.className=`${Y}-scrollbar__thumb`,$)g.classList.add(`${Y}-scrollbar--horizontal`);if(q.padding!==void 0)T.style.setProperty("--vlist-custom-scrollbar-padding-top",`${H.top}px`),T.style.setProperty("--vlist-custom-scrollbar-padding-right",`${H.right}px`),T.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${H.bottom}px`),T.style.setProperty("--vlist-custom-scrollbar-padding-left",`${H.left}px`);if(q.minThumbSize!==void 0)g.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${L}px`);if(g.appendChild(Q),T.appendChild(g),G.className=`${Y}-scrollbar__hover`,$)G.classList.add(`${Y}-scrollbar__hover--horizontal`),G.style.height=`${w}px`;else G.style.width=`${w}px`;if(T.appendChild(G),T!==j)x()},I=()=>{if(u)clearTimeout(u),u=null},m=()=>{if(!B)return;I(),u=setTimeout(e,A)},a=()=>{if(V<=D)return;if(I(),!l)g.classList.add(`${Y}-scrollbar--visible`),l=!0;if(B&&!_&&!z)m()},e=()=>{if(_||z)return;g.classList.remove(`${Y}-scrollbar--visible`),l=!1},t=(N2,O2)=>{if(V=N2,D=O2,x(),V<=D){g.style.display="none",e();return}g.style.display="";let R2=Math.max(0,D-E-X),P2=D/V;if(O=Math.max(L,P2*R2),Q.style[b]=`${O}px`,F=R2-O,q2(h),!B)a()},q2=(N2)=>{if(h=N2,V<=D||F<=0)return;let O2=V-D,R2=Math.min(1,Math.max(0,N2/O2));Q.style.transform=`${S}(${R2*F}px)`},K2=(N2)=>{if(N2.target===Q||N!=="jump"||F<=0)return;let O2=V-D,R2=g.getBoundingClientRect(),P2=i(N2)-R2[s],Z2=Math.max(0,Math.min(P2-O/2,F));J(Z2/F*O2),a()},G2=()=>{if(v!==null)clearTimeout(v),v=null;if(K!==null)cancelAnimationFrame(K),K=null;W=null},M2=(N2)=>{let O2=F>0?R/N2*F:0;if(k<O2)return-1;if(k>=O2+O)return 1;return 0},W2=()=>{let N2=V-D,O2=M2(N2);if(O2===0){G2();return}if(O2===-1){if(R<=0){G2();return}let R2=Math.max(0,R-D);R=R2,J(R2)}else{if(R>=N2){G2();return}let R2=Math.min(N2,R+D);R=R2,J(R2)}a()},J2=(N2)=>{if(W===null){W=N2,K=requestAnimationFrame(J2);return}let O2=V-D,R2=N2-W;W=N2;let P2=M2(O2);if(P2===0){G2();return}let Z2=12*D/1000,d=Math.min(Z2*R2,D);if(P2===-1){if(R<=0){G2();return}let f=Math.max(0,R-d);R=f,J(f)}else{if(R>=O2){G2();return}let f=Math.min(O2,R+d);R=f,J(f)}I(),K=requestAnimationFrame(J2)},n=()=>{G2(),m(),document.removeEventListener("mouseup",n)},$2=(N2)=>{if(N2.target===Q||N!=="scroll")return;N2.preventDefault();let O2=g.getBoundingClientRect();k=i(N2)-O2[s],R=h,W2(),v=setTimeout(()=>{K=requestAnimationFrame(J2)},350),document.addEventListener("mouseup",n)},B2=(N2)=>{N2.preventDefault(),N2.stopPropagation(),_=!0,p=i(N2),P=h,I(),g.classList.add(`${Y}-scrollbar--dragging`),document.addEventListener("mousemove",U2),document.addEventListener("mouseup",Y2)},U2=(N2)=>{if(!_)return;let O2=i(N2)-p,R2=F>0?O2/F:0,P2=V-D,Z2=R2*P2,d=Math.max(0,Math.min(P+Z2,P2));Q.style.transform=`${S}(${d/P2*F}px)`,J(d)},Y2=()=>{if(_=!1,g.classList.remove(`${Y}-scrollbar--dragging`),B&&!z)m();document.removeEventListener("mousemove",U2),document.removeEventListener("mouseup",Y2)},A2=$?(N2)=>N2.touches[0].clientX:(N2)=>N2.touches[0].clientY,L2=(N2)=>{N2.stopPropagation(),_=!0,p=A2(N2),P=h,I(),g.classList.add(`${Y}-scrollbar--dragging`)},X2=(N2)=>{if(!_)return;N2.preventDefault();let O2=A2(N2)-p,R2=F>0?O2/F:0,P2=V-D,Z2=R2*P2,d=Math.max(0,Math.min(P+Z2,P2));Q.style.transform=`${S}(${d/P2*F}px)`,J(d)},b2=()=>{if(_=!1,g.classList.remove(`${Y}-scrollbar--dragging`),B)m()},F2=(N2)=>{if(N2.target===Q)return;if(F<=0)return;let O2=N2.touches[0],R2=g.getBoundingClientRect(),P2=($?O2.clientX:O2.clientY)-R2[s];if(N==="jump"){let Z2=V-D,d=Math.max(0,Math.min(P2-O/2,F));J(d/F*Z2)}else k=P2,R=h,W2();a()},y2=()=>{if(U)a()},D2=()=>{if(!_){if(z=!1,B)m()}},k2=()=>{z=!0,I(),a()},H2=()=>{if(z=!1,!_&&B)m()},z2=()=>{if(I(),G2(),c!==null)cancelAnimationFrame(c),c=null;g.removeEventListener("click",K2),g.removeEventListener("mousedown",$2),g.removeEventListener("mouseenter",k2),document.removeEventListener("mouseup",n),g.removeEventListener("mouseleave",H2),g.removeEventListener("touchstart",F2),Q.removeEventListener("mousedown",B2),Q.removeEventListener("touchstart",L2),Q.removeEventListener("touchmove",X2),Q.removeEventListener("touchend",b2),j.removeEventListener("mouseenter",y2),j.removeEventListener("mouseleave",D2),document.removeEventListener("mousemove",U2),document.removeEventListener("mouseup",Y2),G.removeEventListener("click",K2),G.removeEventListener("mousedown",$2),G.removeEventListener("mouseenter",k2),G.removeEventListener("mouseleave",H2),G.remove(),T.style.removeProperty("--vlist-custom-scrollbar-padding-top"),T.style.removeProperty("--vlist-custom-scrollbar-padding-right"),T.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),T.style.removeProperty("--vlist-custom-scrollbar-padding-left"),g.remove()};if(o(),g.addEventListener("click",K2),g.addEventListener("mousedown",$2),g.addEventListener("mouseenter",k2),g.addEventListener("mouseleave",H2),g.addEventListener("touchstart",F2,{passive:!0}),Q.addEventListener("mousedown",B2),Q.addEventListener("touchstart",L2,{passive:!0}),Q.addEventListener("touchmove",X2,{passive:!1}),Q.addEventListener("touchend",b2,{passive:!0}),j.addEventListener("mouseenter",y2),j.addEventListener("mouseleave",D2),G.addEventListener("click",K2),G.addEventListener("mousedown",$2),M)G.addEventListener("mouseenter",k2),G.addEventListener("mouseleave",H2);return{show:a,hide:e,updateBounds:t,updatePosition:q2,isVisible:()=>l,destroy:z2}};var h1=0.65,$1=0.5,J1=1.7,I1=0.95,S1=0.1,x2=5,p1=100;function B0(j){let J=j?.force??!1,q,Y,$,Z,B,A={isCompressed:!1,actualSize:0,virtualSize:0,ratio:1},L=!1,M=0,U=null,r=!1,N=0,T=0,H=null,E=null,X=0,y=0,w=null,V=new Float64Array(x2),D=new Float64Array(x2),O=0,F=0,_={start:0,end:-1},z=-1,p=null;function P(){return Math.max(0,A.virtualSize+M-q.containerSize)}function h(){if(A.virtualSize<=0)return 0;return Math.max(0,q.containerSize*(1-A.ratio))}function u(Q){let G=q.totalItems;if(A=n0(G,Y,J),A.isCompressed&&!L)i(Q);else if(!A.isCompressed&&L)s(Q);if(A.isCompressed){if(M=h(),q.isCompressed=!0,q.compressionRatio=A.ratio,Q.updateContentSize(A.virtualSize+M),U)U.updateBounds(A.virtualSize+M,q.containerSize)}}let l=null,c=null,k=null,R=null,v=null;function K(Q){N=Q,T=Q,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=Q,q.scrollDirection=Q>q.prevScrollPosition?1:-1,p.forceRender()}function W(){if(H!==null)cancelAnimationFrame(H),H=null;if(E!==null)cancelAnimationFrame(E),E=null}function b(Q){W(),K(Math.max(0,Math.min(Q,P())))}function S(Q,G,C=s2){W();let x=Math.max(0,Math.min(Q,P())),o=N;if(Math.abs(x-o)<$1){K(x);return}let I=performance.now(),m=(a)=>{let e=Math.min((a-I)/G,1);if(K(o+(x-o)*C(e)),e<1)E=requestAnimationFrame(m);else E=null};E=requestAnimationFrame(m)}function i(Q){L=!0,q.isCompressed=!0;let G=Z?"scrollLeft":"scrollTop",C=Z?"overflowX":"overflow",x=$[G];if($.style[C]="hidden",$[G]=0,x>0)N=x,T=x,q.scrollPosition=x;M=h();let o=()=>{let t=T-N,q2=P();if(Math.abs(t)<$1)N=Math.max(0,Math.min(T,q2)),T=N,H=null;else N+=t*h1,N=Math.max(0,Math.min(N,q2)),H=requestAnimationFrame(o);q.prevScrollPosition=q.scrollPosition,q.scrollPosition=N,q.scrollDirection=N>q.prevScrollPosition?1:-1,Q.forceRender()};l=(t)=>{t.preventDefault();let q2=P();if(T=Math.max(0,Math.min(T+t.deltaY*A.ratio*J1,q2)),H===null)H=requestAnimationFrame(o)},$.addEventListener("wheel",l,{passive:!1});let I=()=>{if(w!==null)cancelAnimationFrame(w),w=null};c=(t)=>{if(I(),H!==null)cancelAnimationFrame(H),H=null;let q2=t.touches[0];if(!q2)return;let K2=Z?q2.clientX:q2.clientY;X=K2,y=N,O=1,F=0,V[0]=performance.now(),D[0]=K2},k=(t)=>{t.preventDefault();let q2=t.touches[0];if(!q2)return;let K2=Z?q2.clientX:q2.clientY,G2=performance.now(),M2=O<x2?O:F;if(V[M2]=G2,D[M2]=K2,O<x2)O++;else F=(F+1)%x2;let W2=X-K2,J2=P(),n=Math.max(0,Math.min(y+W2*A.ratio*J1,J2));N=n,T=n,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=n,q.scrollDirection=n>q.prevScrollPosition?1:-1,Q.forceRender()},R=()=>{let t=performance.now(),q2=1/0,K2=0,G2=-1,M2=0,W2=0;for(let B2=0;B2<O;B2++){let U2=(F+B2)%x2,Y2=V[U2];if(t-Y2>=p1)continue;W2++;let A2=D[U2];if(Y2<q2)q2=Y2,K2=A2;if(Y2>G2)G2=Y2,M2=A2}let J2=0;if(W2>=2){let B2=G2-q2;if(B2>0)J2=(K2-M2)/B2}if(O=0,F=0,Math.abs(J2)<S1)return;let n=J2*16,$2=()=>{if(n*=I1,Math.abs(n)<0.5){w=null;return}let B2=P(),U2=N+n;if(U2=Math.max(0,Math.min(U2,B2)),U2<=0&&n<0||U2>=B2&&n>0){N=U2,T=U2,q.scrollPosition=U2,Q.forceRender(),w=null;return}N=U2,T=U2,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=U2,q.scrollDirection=U2>q.prevScrollPosition?1:-1,Q.forceRender(),w=requestAnimationFrame($2)};w=requestAnimationFrame($2)},$.addEventListener("touchstart",c,{passive:!0}),$.addEventListener("touchmove",k,{passive:!1}),$.addEventListener("touchend",R,{passive:!0}),$.addEventListener("touchcancel",R,{passive:!0}),v=()=>{if($[G]!==0)$[G]=0},$.addEventListener("scroll",v,{passive:!0});let m=(t)=>{if(N=t,T=t,H!==null)cancelAnimationFrame(H),H=null;q.prevScrollPosition=q.scrollPosition,q.scrollPosition=t,q.scrollDirection=t>q.prevScrollPosition?1:-1,Q.forceRender()},a=Q.getMethod("_scrollbar:setCallback"),e=Q.getMethod("_scrollbar:getInstance");if(a&&e){a(m);let t=e();if(t)U=t,r=!1,U.updateBounds(A.virtualSize+M,q.containerSize)}else if(!U){let t=Q.config.classPrefix;if(U=t2($,m,{},t,Z,Q.dom.root),r=!0,!$.classList.contains(`${t}-viewport--custom-scrollbar`))$.classList.add(`${t}-viewport--custom-scrollbar`);U.updateBounds(A.virtualSize+M,q.containerSize)}}function s(Q){L=!1,q.isCompressed=!1,q.compressionRatio=1,N=0,T=0,O=0,F=0,g();let G=Z?"overflowX":"overflow";$.style[G]="auto",M=0,Q.updateContentSize(Y.getTotalSize())}function g(){if(H!==null)cancelAnimationFrame(H),H=null;if(E!==null)cancelAnimationFrame(E),E=null;if(w!==null)cancelAnimationFrame(w),w=null;if(l)$.removeEventListener("wheel",l),l=null;if(c)$.removeEventListener("touchstart",c),c=null;if(k)$.removeEventListener("touchmove",k),k=null;if(R)$.removeEventListener("touchend",R),$.removeEventListener("touchcancel",R),R=null;if(v)$.removeEventListener("scroll",v),v=null;if(U&&r)U.destroy();U=null,r=!1;let Q=Z?"scrollLeft":"scrollTop";if($&&$[Q]!==0)$[Q]=0}return{name:"scale",priority:20,setup(Q){q=Q.getState(),Y=Q.sizeCache,$=Q.dom.viewport,Z=Q.config.axis.primary==="x",B=Q.config.overscan,p=Q,Q.registerMethod("_updateCompressionMode",()=>u(Q)),Q.setScrollFns(()=>N,(G)=>{if(!A.isCompressed||!L){let x=Z?"scrollLeft":"scrollTop";$[x]=G;return}if(W(),w!==null)cancelAnimationFrame(w),w=null;let C=G*A.ratio;K(Math.max(0,Math.min(C,P())))}),Q.setScrollToIndexFn((G,C,x,o,I)=>{if(!A.isCompressed||!L)return!1;let m=e0(G,Y,q.containerSize,q.totalItems,A,C);if(x==="smooth")S(m,o??a2,I);else b(m)}),u(Q),z=q.totalItems,Q.registerDestroyHandler(g)},hooks:{onCalculate(Q){if(Q.totalItems!==z&&p)z=Q.totalItems,u(p);if(!A.isCompressed||!L)return;let G=Q.totalItems;if(G===0||Q.containerSize<=0){Q.visibleCount=0;return}t0(Q.scrollPosition,Q.containerSize,Y,G,A,_);let C=Math.max(0,_.start-B),x=Math.min(G-1,_.end+B),o=Math.min(x-C+1,Q.capacity);Q.visibleCount=o,Q.startIndex=C;for(let I=0;I<o;I++){let m=C+I;Q.visibleIndices[I]=m,Q.visibleOffsets[I]=n2(m,Q.scrollPosition,Y,G,Q.containerSize,A),Q.visibleSizes[I]=Y.getSize(m)}Q.prevRangeStart=C,Q.prevRangeEnd=x},onAfterScroll(Q){if(U&&L)U.updatePosition(Q),U.show()},onResize(){if(L){if(M=h(),U)U.updateBounds(A.virtualSize+M,q.containerSize);let Q=P();if(N>Q)N=Q,T=Q,q.scrollPosition=Q}}},destroy(){g()}}}function U0(j){let J=null,q,Y=0,$=0;return{name:"scrollbar",priority:15,setup(Z){let{dom:B,config:A}=Z,{classPrefix:L}=A,M=A.axis.primary==="x";q=Z.getState();let U=(r)=>{if(M)B.viewport.scrollLeft=r;else B.viewport.scrollTop=r};if(Z.registerMethod("_scrollbar:setCallback",(r)=>{U=r}),J=t2(B.viewport,(r)=>{U(r)},j,L,M,B.root),B.viewport.classList.add(`${L}-viewport--custom-scrollbar`),j?.gutter)B.viewport.classList.add(`${L}-viewport--gutter`);queueMicrotask(()=>{if(!q.isCompressed)J?.updateBounds(q.totalSize,q.containerSize)}),Z.registerMethod("_scrollbar:getInstance",()=>J),Z.registerDestroyHandler(()=>{if(J?.destroy(),J=null,B.viewport.classList.remove(`${L}-viewport--custom-scrollbar`),j?.gutter)B.viewport.classList.remove(`${L}-viewport--gutter`)})},hooks:{onAfterScroll(Z){if(!q.isCompressed){let{totalSize:B,containerSize:A}=q;if(B!==Y||A!==$)Y=B,$=A,J?.updateBounds(B,A)}J?.updatePosition(Z),J?.show()},onResize(){if(!q.isCompressed){let{totalSize:Z,containerSize:B}=q;Y=Z,$=B,J?.updateBounds(Z,B)}}},destroy(){J?.destroy(),J=null}}}var Q1=(j)=>{let J=Math.max(1,Math.floor(j.columns)),q=j.gap??0,Y=j.isHeaderFn,$={row:0,col:0},Z=(H)=>{if(H<=0)return 0;if(!Y)return Math.ceil(H/J);let E=0,X=0,y=0;for(let w=0;w<H;w++)if(Y(w)){if(y++,X)E++,X=0;E++,X=0}else if(X++,X>=J)E++,X=0;if(X)E++;return E},B=(H)=>{return $.row=A(H),$.col=L(H),$},A=(H)=>{if(!Y)return Math.floor(H/J);let E=0,X=0;for(let y=0;y<=H;y++)if(Y(y)){if(X)E++,X=0;if(y===H)return E;E++,X=0}else{if(y===H)return E;if(X++,X>=J)E++,X=0}return console.warn(`⚠️ getRow(${H}) fell through - returning ${E}`),E},L=(H)=>{if(!Y)return H%J;if(Y(H))return 0;let E=0;for(let X=0;X<=H;X++)if(Y(X))E=0;else{if(X===H)return E;if(E++,E>=J)E=0}return E},M=(H,E,X)=>{if(X<=0)return{start:0,end:-1};if(!Y){let O=Math.max(0,H*J),F=Math.min(X-1,(E+1)*J-1);return{start:O,end:F}}let y=-1,w=-1,V=0,D=0;for(let O=0;O<X;O++){if(Y(O)){if(D)V++,D=0;if(V>=H&&V<=E){if(y<0)y=O;w=O}V++,D=0}else{if(V>=H&&V<=E){if(y<0)y=O;w=O}if(D++,D>=J)V++,D=0}if(V>E&&!D)break}if(y<0)return{start:0,end:-1};return{start:y,end:w}},U=(H,E,X)=>{if(E<0||E>=J)return-1;let y=H*J+E;if(y<0||y>=X)return-1;return y},r=(H)=>{let E=(J-1)*q;return Math.max(0,(H-E)/J)};return{get columns(){return J},get gap(){return q},update:(H)=>{if(H.columns!==void 0)J=Math.max(1,Math.floor(H.columns));if(H.gap!==void 0)q=H.gap;if(H.isHeaderFn!==void 0)Y=H.isHeaderFn},getTotalRows:Z,getPosition:B,getRow:A,getCol:L,getItemRange:M,getItemIndex:U,getColumnWidth:r,getColumnOffset:(H,E)=>{let X=r(E);return H*(X+q)}}};var p2={selected:!1,focused:!1};function W0(j){if(!j.columns||j.columns<1)throw Error("[vlist] grid: columns must be >= 1");let J,q,Y,$,Z,B,A,L,M,U,r=null,N=new Map,T=0,H=-1,E=-1,X=!0;function y(){return J.getTotalRows(Y.totalItems)}function w(_){let z=J.getRow(_),p=J.getCol(_),P=J.getColumnOffset(p,T),h=q.getOffset(z);if(L)return`translate(${Math.round(h)}px, ${Math.round(P)}px)`;return`translate(${Math.round(P)}px, ${Math.round(h)}px)`}function V(_,z){let p=J.getRow(z),P=J.getColumnWidth(T),h=q.getSize(p)-J.gap;if(L)_.style.width=`${h}px`,_.style.height=`${P}px`;else _.style.width=`${P}px`,_.style.height=`${h}px`}function D(_,z,p,P){if(P)P(p,p2);else p2.selected=!1,p2.focused=!1;let h=B(z,p,p2);if(typeof h==="string")_.innerHTML=h;else _.innerHTML="",_.appendChild(h)}function O(){if(Y.destroyed)return;let{scrollPosition:_,containerSize:z}=Y;if(!X&&_===H&&z===E)return;H=_,E=z,X=!1;let p=y();if(z<=0||p===0)return;let P=q.indexAtOffset(_),h=q.indexAtOffset(_+z);if(h<p-1)h++;P=Math.max(0,P),h=Math.min(p-1,Math.max(0,h));let u=Math.max(0,P-U),l=Math.min(p-1,h+U);if(u===Y.prevRangeStart&&l===Y.prevRangeEnd&&!Y.renderPending)return;let c=J.getItemRange(u,l,Y.totalItems);N.forEach((S,i)=>{if(i<c.start||i>c.end)S.el.remove(),$.release(S.el),N.delete(i)});let k=`${M}-item ${M}-grid-item`,R=r?.()??null,v=R?`${M}-item--selected`:"",K=R?`${M}-item--focused`:"";for(let S=c.start;S<=c.end;S++){let i=A(S);if(!i)continue;let s=N.get(S);if(s===void 0){let g=$.acquire();g.className=k,g.setAttribute("data-index",String(S)),g.setAttribute("data-id",String(i.id)),D(g,i,S,R),s={el:g,lastItem:i},N.set(S,s),Z.appendChild(g)}else if(s.lastItem!==i)s.el.setAttribute("data-id",String(i.id)),s.lastItem=i,D(s.el,i,S,R);if(R)if(R(S,p2),s.el.classList.toggle(v,p2.selected),s.el.classList.toggle(K,p2.focused),p2.selected)s.el.setAttribute("aria-selected","true");else s.el.removeAttribute("aria-selected");V(s.el,S),s.el.style.transform=w(S)}let W=q.getTotalSize();Z.style[L?"width":"height"]=W+"px",Y.prevRangeStart=u,Y.prevRangeEnd=l,Y.renderPending=!1;let b=c.end-c.start+1;Y.visibleCount=Math.min(b,Y.capacity),Y.startIndex=c.start;for(let S=0;S<Y.visibleCount;S++){let i=c.start+S,s=J.getRow(i);Y.visibleIndices[S]=i,Y.visibleOffsets[S]=q.getOffset(s),Y.visibleSizes[S]=q.getSize(s)}}function F(){if(Y.destroyed)return;q.rebuild(y()),Y.prevRangeStart=-1,Y.prevRangeEnd=-1,Y.renderPending=!0,X=!0,O()}return{name:"grid",priority:10,conflicts:["masonry","table"],setup(_){let z=j.gap??0;J=Q1({columns:j.columns,gap:z}),q=_.sizeCache,Y=_.getState(),$=_.pool,Z=_.dom.content,B=_.template,L=_.config.axis.primary==="x",M=_.config.classPrefix,U=_.config.overscan,A=_.getItem.bind(_),r=()=>_.getItemStateFn(),T=Y.crossSize;let p=_.rawSizeSpec,P;if(typeof p==="function"){let u={columnWidth:J.getColumnWidth(T),columns:j.columns,gap:z};P=p(0,u),_.setSizeConfig((l)=>{u.columnWidth=J.getColumnWidth(T);let c=l*j.columns;return p(c,u)+z})}else if(P=p,z>0)_.setSizeConfig(P+z);if(q.rebuild(y()),z>0){let h=q.getTotalSize;q.getTotalSize=()=>{let u=h();return u>0?u-z:0}}_.setVirtualTotalFn(()=>y()),_.dom.root.classList.add(`${M}--grid`),_.setRenderFn(O,F),_.registerMethod("getGridLayout",()=>J),_.registerMethod("updateGrid",(h)=>{if(h.columns!==void 0){if(!Number.isInteger(h.columns)||h.columns<1)throw Error("[vlist] updateGrid: columns must be >= 1")}if(h.gap!==void 0&&h.gap<0)throw Error("[vlist] updateGrid: gap must be >= 0");if(J.update(h),h.gap!==void 0||h.columns!==void 0){let u=J.gap;if(typeof p==="function"){let l={columnWidth:J.getColumnWidth(T),columns:J.columns,gap:u};_.setSizeConfig((c)=>{l.columnWidth=J.getColumnWidth(T);let k=c*J.columns;return p(k,l)+u})}else _.setSizeConfig(P+u);q.rebuild(y())}if(h.columns!==void 0)_.setNavConfig({ud:J.columns});T=Y.crossSize,F()}),_.registerMethod("scrollToIndex",(h,u="start")=>{let l=J.getRow(h),c=y();if(c===0)return;let k=Math.max(0,Math.min(l,c-1)),R=q.getOffset(k),v=q.getSize(k),K=Y.containerSize,W=q.getTotalSize(),b=Math.max(0,W-K),S=typeof u==="string"?u:u.align??"start",i=typeof u==="object"?u.behavior:void 0,s=typeof u==="object"?u.duration:void 0,g;switch(S){case"center":g=R-(K-v)/2;break;case"end":g=R-K+v;break;default:g=R}if(g=Math.max(0,Math.min(g,b)),i==="smooth"&&s&&s>0)_.smoothScrollTo(g,s);else _.scrollTo(g)}),_.setNavConfig({total:()=>Y.totalItems,ud:j.columns,lr:1,scrollIndex:(h)=>J.getRow(h)}),_.registerDestroyHandler(()=>{for(let[,h]of N)h.el.remove();N.clear(),_.dom.root.classList.remove(`${M}--grid`)})},hooks:{onResize(_,z){let p=Y.crossSize;if(Math.abs(p-T)<1)return;T=p,N.forEach((P,h)=>{V(P.el,h),P.el.style.transform=w(h)})}},destroy(){N.clear()}}}function N0(){return{name:"a11y",priority:55,setup(j){if(j.getItemStateFn())return;let{dom:J,config:q,sizeCache:Y}=j,$=j.getState(),Z=j.emitter,B=q.classPrefix,A=J.liveRegion,L=-1,M=!1,U,r=-1,N=(z)=>j.getItem(z),T=()=>$.totalItems,H={id:0,index:0},E={selected:[],items:[]};j.setItemStateFn((z,p)=>{p.selected=r===z,p.focused=M&&L===z});function X(z){A.textContent="",A.textContent=z}let y=(z,p,P)=>{let h=z;while(h>=0&&h<P){let u=N(h);if(!u||!u.__groupHeader)return h;h+=p}h=z-p;while(h>=0&&h<P){let u=N(h);if(!u||!u.__groupHeader)return h;h-=p}return z},w=(z)=>{let p=j.getNavConfig(),P=p.scrollIndex?p.scrollIndex(z):z,h=Y.getOffset(P),u=Y.getSize(P),l=$.scrollPosition,c=$.containerSize,k=q.startPadding,R=q.endPadding,v=h+k,K=v+u,W=l;if(v<l)W=Math.max(0,h);else if(K>l+c)W=K+R-c;if(W!==l)$.scrollPosition=W,j.scrollTo(W)},V=(z,p)=>{if(J.content.setAttribute("aria-activedescendant",`${B}-item-${z}`),p)w(z);j.forceRender()},D=(z)=>{L=z,M=!0,V(z,!0);let p=N(z);if(p)H.id=p.id,H.index=z,Z.emit("focus:change",H),X(`Item ${z+1} of ${T()}`)},O=(z,p)=>{if(L=z,p)M=!0;let P=N(z);if(P&&U===P.id)U=void 0,r=-1;else U=P?.id,r=P?z:-1;if(V(z,p),U!==void 0&&P&&U===P.id)E.selected[0]=U,E.selected.length=1,E.items[0]=P,E.items.length=1,X(`Selected, item ${z+1} of ${T()}`);else E.selected.length=0,E.items.length=0,X("Deselected");Z.emit("selection:change",E)},F=()=>{if($.destroyed)return;if(!J.content.matches(":focus-visible"))return;let z=T();if(z===0)return;let p=L>=0?Math.min(L,z-1):0;p=y(p,1,z),D(p)},_=(z)=>{if($.destroyed)return;let p=z.relatedTarget;if(p&&J.root.contains(p))return;M=!1,J.content.removeAttribute("aria-activedescendant"),j.forceRender()};J.content.addEventListener("focusin",F),J.content.addEventListener("focusout",_),j.registerKeydownHandler((z)=>{if($.destroyed)return;let p=T();if(p===0)return;let P=L,h=P;if(z.key===" "||z.key==="Enter"){if(P>=0){let l=N(P);if(l&&!l.__groupHeader)O(P,!0)}z.preventDefault();return}let u=j.getNavConfig();if(u.navigate)switch(z.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":h=u.navigate(P,z.key,p);break;default:return}else{let l=u.ud||1,c=u.lr,k=q.axis.primary==="x";switch(z.key){case"ArrowUp":if(k&&!c)return;h=P-(k?c:l);break;case"ArrowDown":if(k&&!c)return;h=P+(k?c:l);break;case"ArrowLeft":if(!k&&!c)return;h=P-(k?l:c);break;case"ArrowRight":if(!k&&!c)return;h=P+(k?l:c);break;case"PageUp":case"PageDown":{let R=Y.getSize(Math.max(0,u.scrollIndex?u.scrollIndex(P):P)),K=Math.max(1,Math.floor($.containerSize/R))*l;h=z.key==="PageUp"?P-K:P+K;break}case"Home":h=0;break;case"End":h=p-1;break;default:return}}if(h<0)h=0;else if(h>=p)h=p-1;if(z.preventDefault(),h=y(h,h>=P?1:-1,p),h!==P)D(h)}),j.registerClickHandler((z)=>{if($.destroyed)return;let p=z.target.closest("[data-index]");if(!p)return;let P=parseInt(p.dataset.index??"-1",10);if(P<0)return;let h=N(P);if(!h||h.__groupHeader)return;M=!1,J.content.focus({preventScroll:!0}),O(P,!1)}),j.registerDestroyHandler(()=>{J.content.removeEventListener("focusin",F),J.content.removeEventListener("focusout",_)})}}}var c2=(j,J,q)=>{if(String(q).startsWith(f2))return!1;let Y=f2+J;if(j.has(Y))return j.delete(Y),j.add(q),!0;return!1},j1=(j)=>({selected:new Set(j??[]),focusedIndex:-1,focusVisible:!1});function u2(j,J,q,Y){if(q===0)return;let $=Y?-J:J,Z=j.focusedIndex+$;if(Z<0)Z=0;if(Z>=q)Z=q-1;j.focusedIndex=Z}function e2(j){return Array.from(j)}var u1={preventScroll:!0};function V0(j){let J=j?.mode??"single",q=j?.followFocus??!1,Y=j?.focusOnClick??!1,$,Z,B,A,L,M,U,r,N=-1,T=new Map,H=null,E=null,X=null,y=null,w,V=!1;function D(K){if(V)return;V=!0,H=K.getMethod("_layoutToDataIndex")??null,E=K.getMethod("_dataToLayoutIndex")??null,X=K.getMethod("_isGroupHeader")??null,y=K.getMethod("_scrollItemIntoView")??null;let W=K.getMethod("getGroupLayout");if(W){let b=W();w=()=>b.totalEntries}}let O=(K)=>H?H(K):K,F=(K)=>{let W=O(K);return W>=0?Z(W):void 0},_=(K,W,b)=>{if(!X)return K;let S=K;while(S>=0&&S<b){if(!X(S))return S;S+=W}S=K-W;while(S>=0&&S<b){if(!X(S))return S;S-=W}return K};function z(K,W){if(J==="single")$.selected.clear(),T.clear();if($.selected.add(K),W)T.set(K,W)}function p(K,W){if($.selected.has(K))$.selected.delete(K),T.delete(K);else z(K,W)}function P(){$.selected.clear(),T.clear()}function h(K){$.selected.delete(K),T.delete(K)}function u(K,W){let b=Math.min(K,W),S=Math.max(K,W);for(let i=b;i<=S;i++){let s=Z(i);if(s)$.selected.add(s.id),T.set(s.id,s)}}function l(){let K=U.totalItems;for(let W=0;W<K;W++){let b=Z(W);if(b)$.selected.add(b.id),T.set(b.id,b)}}function c(){if($.selected.size===0)return[];if(T.size>=$.selected.size){let S=[];for(let i of $.selected){let s=T.get(i);if(s)S.push(s)}if(S.length===$.selected.size)return S}let K=[],W=new Set($.selected),b=U.totalItems;for(let S=0;S<b&&W.size>0;S++){let i=Z(S);if(i&&W.has(i.id))K.push(i),T.set(i.id,i),W.delete(i.id)}return K}function k(){B(),A.emit("selection:change",{selected:e2($.selected),items:c()})}let R=null,v=-1;return{name:"selection",priority:50,setup(K){$=j1(j?.initial),Z=K.getItem.bind(K),B=K.forceRender.bind(K),A=K.emitter,L=K.dom;let W=K.config;if(M=K.sizeCache,U=K.getState(),r=K.scrollTo.bind(K),w=()=>U.totalItems,J==="none"){K.registerMethod("select",()=>{}),K.registerMethod("deselect",()=>{}),K.registerMethod("toggleSelect",()=>{}),K.registerMethod("selectAll",()=>{}),K.registerMethod("clearSelection",()=>{}),K.registerMethod("getSelected",()=>[]),K.registerMethod("getSelectedItems",()=>[]),K.registerMethod("selectNext",()=>{}),K.registerMethod("selectPrevious",()=>{}),K.registerMethod("_seedSelection",()=>{}),K.registerMethod("_getFocusedId",()=>{return}),K.registerMethod("_focusById",()=>{});return}let b=W.classPrefix;K.setItemStateFn((Q,G)=>{if(D(K),$.selected.size>0){let C=O(Q),x=C>=0?Z(C):void 0,o=x?.id;if(o!==void 0)if($.selected.has(o))G.selected=!0;else if(c2($.selected,C,o))G.selected=!0,T.delete(f2+C),T.set(o,x);else G.selected=!1;else G.selected=!1}else G.selected=!1;G.focused=$.focusVisible&&$.focusedIndex===Q}),K.registerMethod("_getSelectedIds",()=>$.selected),K.registerMethod("_getFocusedIndex",()=>$.focusVisible?$.focusedIndex:-1),L.root.classList.add(`${b}--selectable`);let S=(Q)=>{R=null,v=-1;let G=Q.target.closest("[data-index]");if(!G)return!1;let C=parseInt(G.dataset.index??"-1",10);if(C<0)return!1;let x=O(C);if(x<0)return!1;let o=Z(x);if(!o)return!1;return R=o,v=C,!0},i=(Q)=>{if(Q<0)return;if(y){y(Q);return}let G=K.getNavConfig(),C=G.scrollIndex?G.scrollIndex(Q):Q,x=M.getOffset(C),o=M.getSize(C),I=U.containerSize,m=U.scrollPosition;if(x<m)r(x);else if(x+o>m+I)r(x-I+o)},s=()=>{if(U.destroyed)return;if(D(K),!L.content.matches(":focus-visible")&&!L.root.matches(":focus-visible"))return;let Q=w();if(Q===0)return;let G=$.focusedIndex>=0?Math.min($.focusedIndex,Q-1):0;G=_(G,1,Q),$.focusedIndex=G,$.focusVisible=!0,L.content.setAttribute("aria-activedescendant",`${b}-item-${G}`),i(G),B()};L.root.addEventListener("focusin",s);let g=(Q)=>{if(U.destroyed)return;let G=Q.relatedTarget;if(G&&L.root.contains(G))return;$.focusVisible=!1,B(),L.content.removeAttribute("aria-activedescendant")};if(L.root.addEventListener("focusout",g),K.registerDestroyHandler(()=>{L.root.removeEventListener("focusin",s),L.root.removeEventListener("focusout",g)}),K.registerClickHandler((Q)=>{if(D(K),!S(Q))return;if(J==="multiple"&&Q.shiftKey&&$.focusedIndex>=0){let G=N>=0?N:$.focusedIndex,C=O(G),x=O(v);if(C>=0&&x>=0)u(C,x);$.focusedIndex=v,$.focusVisible=Y,N=v,k();return}$.focusedIndex=v,$.focusVisible=Y,N=v,L.content.focus(u1),p(R.id,R),k()}),W.interactive)K.registerKeydownHandler((Q)=>{D(K);let G=w();if(G===0)return;let C=K.getNavConfig(),x=$.focusedIndex,o=!1,I=!1;if(C.navigate&&(Q.key==="ArrowUp"||Q.key==="ArrowDown"||Q.key==="ArrowLeft"||Q.key==="ArrowRight"||Q.key==="PageUp"||Q.key==="PageDown"||Q.key==="Home"||Q.key==="End")){let a=C.navigate($.focusedIndex,Q.key,G);if(a!==$.focusedIndex)$.focusedIndex=Math.max(0,Math.min(a,G-1));$.focusVisible=!0,o=!0}else switch(Q.key){case"ArrowUp":{let a=C.ud||1,e=C.lr,t=W.axis.primary==="x";if(t&&!e)break;u2($,-(t?e:a),G,W.reverse),$.focusVisible=!0,o=!0;break}case"ArrowDown":{let a=C.ud||1,e=C.lr,t=W.axis.primary==="x";if(t&&!e)break;u2($,t?e:a,G,W.reverse),$.focusVisible=!0,o=!0;break}case"ArrowLeft":{let a=C.ud||1,e=C.lr,t=W.axis.primary==="x";if(!t&&!e)break;u2($,-(t?a:e),G,W.reverse),$.focusVisible=!0,o=!0;break}case"ArrowRight":{let a=C.ud||1,e=C.lr,t=W.axis.primary==="x";if(!t&&!e)break;u2($,t?a:e,G,W.reverse),$.focusVisible=!0,o=!0;break}case"Home":if(G>0)$.focusedIndex=0;$.focusVisible=!0,o=!0;break;case"End":if(G>0)$.focusedIndex=G-1;$.focusVisible=!0,o=!0;break;case"PageUp":case"PageDown":{let a=C.ud||1,e=Math.max(0,$.focusedIndex),t=C.scrollIndex?C.scrollIndex(e):e,q2=M.getSize(t),K2=U.containerSize,M2=(q2>0?Math.max(1,Math.floor(K2/q2)):10)*a;if(H&&E){let W2=H($.focusedIndex),J2=Q.key==="PageUp"?-M2:M2,n=U.totalItems-1;$.focusedIndex=E(Math.max(0,Math.min(n,W2+J2)))}else u2($,Q.key==="PageUp"?-M2:M2,G);$.focusVisible=!0,o=!0;break}case" ":case"Enter":if(Q.key===" "&&Q.shiftKey&&J==="multiple"&&$.focusedIndex>=0){if(N>=0){let a=O(N),e=O($.focusedIndex);if(a>=0&&e>=0)u(a,e)}$.focusVisible=!0,I=!0,o=!0;break}if($.focusedIndex>=0){let a=F($.focusedIndex);if(a)p(a.id,a),N=$.focusedIndex;$.focusVisible=!0,I=!0,o=!0}break;case"a":if((Q.ctrlKey||Q.metaKey)&&J==="multiple"){if($.selected.size===U.totalItems)P();else l();$.focusVisible=!0,I=!0,o=!0}break;case"Delete":case"Backspace":if($.selected.size>0)A.emit("delete",{selected:e2($.selected),items:c()}),o=!0;break}if($.focusedIndex!==x&&X){let a=$.focusedIndex>x?1:-1;$.focusedIndex=_($.focusedIndex,a,G)}let m=$.focusedIndex!==x;if(Q.shiftKey&&J==="multiple"&&!I&&m){if(Q.key==="ArrowUp"||Q.key==="ArrowDown"||Q.key==="ArrowLeft"||Q.key==="ArrowRight"){let t=F($.focusedIndex);if(t)p(t.id,t);N=$.focusedIndex,I=!0}if((Q.ctrlKey||Q.metaKey)&&(Q.key==="Home"||Q.key==="End")){let t=O(x>=0?x:$.focusedIndex),q2=O($.focusedIndex);if(t>=0&&q2>=0)u(t,q2);N=$.focusedIndex,I=!0}}if(q&&J==="single"&&!I&&m&&$.focusedIndex>=0){let a=F($.focusedIndex);if(a)z(a.id,a);I=!0}if(o){if(Q.preventDefault(),m&&$.focusedIndex>=0)i($.focusedIndex),L.content.setAttribute("aria-activedescendant",`${b}-item-${$.focusedIndex}`);if(I)k();else if(m){if(B(),$.focusedIndex>=0){let a=F($.focusedIndex);if(a)A.emit("focus:change",{id:a.id,index:$.focusedIndex})}}}});K.registerMethod("select",(...Q)=>{for(let G of Q)z(G);k()}),K.registerMethod("deselect",(...Q)=>{for(let G of Q)h(G);k()}),K.registerMethod("toggleSelect",(Q)=>{p(Q),k()}),K.registerMethod("selectAll",()=>{if(J!=="multiple")return;l(),k()}),K.registerMethod("clearSelection",()=>{P(),k()}),K.registerMethod("getSelected",()=>{return e2($.selected)}),K.registerMethod("getSelectedItems",()=>{return c()}),K.registerMethod("selectNext",()=>{D(K);let Q=w();if(Q===0)return;if(u2($,1,Q,W.reverse),X)$.focusedIndex=_($.focusedIndex,1,Q);let G=F($.focusedIndex);if(G)z(G.id,G);k()}),K.registerMethod("selectPrevious",()=>{D(K);let Q=w();if(Q===0)return;if(u2($,-1,Q,W.reverse),X)$.focusedIndex=_($.focusedIndex,-1,Q);let G=F($.focusedIndex);if(G)z(G.id,G);k()}),K.registerMethod("_seedSelection",(Q)=>{for(let G of Q)$.selected.add(G)}),K.registerMethod("_getFocusedId",()=>{if($.focusedIndex<0)return;return F($.focusedIndex)?.id}),K.registerMethod("_focusById",(Q)=>{let G=U.totalItems;for(let C=0;C<G;C++){let x=Z(C);if(x&&x.id===Q){let o=E?E(C):C;$.focusedIndex=o,A.emit("focus:change",{id:Q,index:o});return}}})},destroy(){T.clear()}}}var $0=(j)=>j==null?0:typeof j==="function"?j():j;function _0(j){let J=j?.scrollPadding,q,Y;return{name:"page",priority:5,setup($){let{dom:Z,sizeCache:B,config:A,emitter:L}=$,M=A.axis.primary==="x",U=window,r=$.getState();if($.disableDefaultScroll(),$.disableDefaultResize(),Z.root.style.overflow="visible",Z.root.style.height="auto",M)Z.viewport.style.overflowX="visible",Z.viewport.style.overflowY="visible";else Z.viewport.style.overflow="visible";Z.viewport.classList.remove(`${A.classPrefix}-viewport--custom-scrollbar`),$.setScrollFns(()=>{let y=Z.viewport.getBoundingClientRect();return Math.max(0,M?-y.left:-y.top)},(y)=>{let w=Z.viewport.getBoundingClientRect(),V=(M?w.left+U.scrollX:w.top+U.scrollY)+y;if(M)U.scrollTo({left:V,top:U.scrollY,behavior:"instant"});else U.scrollTo({left:U.scrollX,top:V,behavior:"instant"})}),r.containerSize=M?U.innerWidth:U.innerHeight,r.crossSize=M?U.innerHeight:U.innerWidth;let N=null,T=()=>{let y=Z.viewport.getBoundingClientRect(),w=Math.max(0,M?-y.left:-y.top);if(r.prevScrollPosition=r.scrollPosition,r.scrollPosition=w,r.scrollDirection=w>r.prevScrollPosition?1:w<r.prevScrollPosition?-1:0,$.onScrollFrame(),N!==null)clearTimeout(N);N=setTimeout(()=>{N=null,$.onScrollIdle()},150)};U.addEventListener("scroll",T,{passive:!0}),Y=()=>U.removeEventListener("scroll",T);let{innerWidth:H,innerHeight:E}=U,X=()=>{let{innerWidth:y,innerHeight:w}=U;if((M?Math.abs(y-H):Math.abs(w-E))<1)return;H=y,E=w,r.containerSize=M?y:w,r.crossSize=M?w:y,$.forceRender(),L.emit("resize",{width:y,height:w})};if(U.addEventListener("resize",X),q=()=>U.removeEventListener("resize",X),J)$.setScrollToPosFn((y,w,V,D,O)=>{let F=$0(M?J.left:J.top),_=$0(M?J.right:J.bottom);if(D===0)return 0;let z=Math.max(0,Math.min(y,D-1)),p=w.getOffset(z),P=w.getSize(z),h=w.getTotalSize(),u=Math.max(0,h-V+_),l;switch(O){case"center":l=p-F-(V-F-_-P)/2;break;case"end":l=p-V+P+_;break;default:l=p-F}return Math.max(-F,Math.min(l,u))}),$.registerMethod("_scrollItemIntoView",(y)=>{let w=M?U.innerWidth:U.innerHeight,V=$0(M?J.left:J.top),D=$0(M?J.right:J.bottom),O=Z.viewport.getBoundingClientRect(),F=M?U.scrollX:U.scrollY,_=M?O.left:O.top,z=_+F,p=B.getOffset(y),P=B.getSize(y),h=_+p,u=w-D,l=F;if(h<V)l=z+p-V;else if(h+P>u)l=z+p+P-u;if(l!==F)if(M)U.scrollTo({left:l,top:U.scrollY,behavior:"instant"});else U.scrollTo({left:U.scrollX,top:l,behavior:"instant"})});$.registerDestroyHandler(()=>{if(Y?.(),q?.(),N!==null)clearTimeout(N)})},destroy(){Y?.(),q?.(),Y=void 0,q=void 0}}}var g1=(j)=>{try{let J=sessionStorage.getItem(j);if(!J)return;return JSON.parse(J)}catch{return}};function M0(j){let J=j?.autoSave,q=J?g1(J):j?.restore,Y=!1,$=null;return{name:"snapshots",priority:50,setup(Z){let{sizeCache:B,emitter:A}=Z,L=Z.getState(),M=()=>{let{scrollPosition:N,totalItems:T}=L,E=Z.getMethod("getSelected")?.();if(T===0){let _={index:0,offsetInItem:0,total:0};if(E?.length)_.selectedIds=E;return _}let X,y;if(L.isCompressed&&L.compressionRatio!==1){let _=L.totalSize,p=N/_*T;X=Math.max(0,Math.min(Math.floor(p),T-1)),y=(p-X)*B.getSize(X)}else X=B.indexAtOffset(N),y=N-B.getOffset(X);y=Math.max(0,y);let w={index:X,offsetInItem:y,total:T,scrollTop:N},V=B.getSize(X);if(V)w.offsetRatio=y/V;let D=Z.getMethod("_layoutToDataIndex");if(D){let _=D(X);if(_<0){for(let z=X+1;z<T;z++)if(_=D(z),_>=0)break}if(_>=0)w.dataIndex=_}let O=Z.getMethod("_getTotal");if(O)w.dataTotal=O();if(E?.length)w.selectedIds=E;let F=Z.getMethod("_getFocusedId");if(F){let _=F();if(_!==void 0)w.focusedId=_}return w};Z.registerMethod("getScrollSnapshot",M);let U=(N,T=!0)=>{let{index:H,offsetInItem:E,selectedIds:X,focusedId:y}=N,w=L.totalItems,V=N.dataTotal??N.total;if(w===0&&V&&V>0){let k=Z.getMethod("_setTotal");if(k)k(V),w=L.totalItems;B.rebuild(w);let R=Z.getMethod("_updateCompressionMode");if(R)R();if(!L.isCompressed)Z.updateContentSize(B.getTotalSize()),L.totalSize=B.getTotalSize()}if(w===0)return;if(!Number.isFinite(H)||!Number.isFinite(E))return;if(B.getTotal()!==w){B.rebuild(w);let k=Z.getMethod("_updateCompressionMode");if(k)k();if(!L.isCompressed)Z.updateContentSize(B.getTotalSize()),L.totalSize=B.getTotalSize()}let O=Z.getMethod("_dataToLayoutIndex"),F=H;if(N.dataIndex!==void 0&&N.dataIndex>=0)F=O?O(N.dataIndex):N.dataIndex;else if(O)F=O(H);let _=Math.max(0,Math.min(F,w-1)),z=B.getSize(_),p=N.offsetRatio!==void 0?N.offsetRatio*z:Math.min(E,z),P;if(L.isCompressed&&L.compressionRatio!==1){let k=Z.getMethod("_getTotal")?.(),R=k!==void 0&&N.dataTotal===k;if(N.scrollTop!==void 0&&(N.total===w||R))P=N.scrollTop;else{let v=z?p/z:0;P=(_+v)/w*L.totalSize}}else P=B.getOffset(_)+p;let h=Math.max(0,L.totalSize-L.containerSize);P=Math.max(0,Math.min(P,h));let u=P===N.scrollTop;if(N.dataIndex!==void 0&&N.dataIndex>=0){let k=z?p/z:0;Z.registerMethod("_restoreAnchor",{dataIndex:N.dataIndex,fraction:k,skipAdjust:u}),Z.registerMethod("_suppressSave",1)}if(Z.scrollTo(P),T&&X?.length){let k=Z.getMethod("select");if(k)k(...X)}let l=Z.getMethod("loadVisibleRange"),c=()=>{if(y===void 0)return;let k=Z.getMethod("_focusById");if(k)k(y)};if(l){let k=0,R=()=>{if(L.containerSize>0){if(Math.abs(L.scrollPosition-P)>1)Z.scrollTo(P);l().then(c)}else if(++k<10)requestAnimationFrame(R)};requestAnimationFrame(R)}else{let k=Z.getMethod("reload");if(k)requestAnimationFrame(()=>{k().then(c)});else requestAnimationFrame(c)}};Z.registerMethod("restoreScroll",U);let r=!!(q&&J);if(Z.registerDestroyHandler(()=>{Y=!0}),J){$=()=>{if(Y||r||Z.getMethod("_suppressSave"))return;let w=M();try{sessionStorage.setItem(J,JSON.stringify(w))}catch{}},Z.registerMethod("_saveSnapshot",$);let N=0,T=()=>{if(N)return;N=requestAnimationFrame(()=>{if(N=0,$)$()})};A.on("selection:change",T),A.on("focus:change",T);let H=0,E=()=>{if(H=0,$)$()},X=()=>{if(H)clearTimeout(H);H=setTimeout(E,300)};A.on("scroll",X);let y=()=>{$?.()};if(window.addEventListener("beforeunload",y),Z.registerDestroyHandler(()=>{if(N)cancelAnimationFrame(N);if(H)clearTimeout(H);window.removeEventListener("beforeunload",y)}),q&&q.total&&q.total>0){let w=Z.getMethod("_cancelAutoLoad");if(w)w();let V=Z.getMethod("_setTotal");if(V)V(q.total)}}if(q){let N=!0;if(q.selectedIds?.length){let T=Z.getMethod("_seedSelection");if(T)T(q.selectedIds),N=!1}queueMicrotask(()=>{if(U(q,N),r=!1,$)$()})}},hooks:{onIdle(){if($&&!Y)$()}},destroy(){Y=!0,$=null}}}function q1(j,J){if(J===!1)return null;return{duration:Math.min(J?.duration??j.duration,1000),easing:J?.easing??j.easing}}function G0(j){let J=j?.duration??200,q=j?.easing??"cubic-bezier(0.2, 0, 0, 1)",Y={duration:J,easing:q},$=q1(Y,j?.remove),Z=q1(Y,j?.insert),B=null,A=null;return{name:"transition",conflicts:["grid","table","masonry"],priority:45,setup(L){let{sizeCache:M,emitter:U}=L,r=L.config,N=L.dom,T=L.getState(),H=r.reverse?"bottom center":"top center",E=r.axis.primary==="x"?"translateX":"translateY",X=L.getMethod("_dataToLayoutIndex")??null,y=(D)=>X?X(D):D,w=(D)=>{let O=String(D).replace(/"/g,"\\\""),F=N.content.querySelector(`[data-id="${O}"]`),_=F?parseInt(F.dataset.index??"-1",10):-1;return{el:F,layoutIndex:_}},V=()=>{let D=N.content.children;for(let O=0;O<D.length;O++)D[O].style.transition="none";N.content.offsetHeight;for(let O=0;O<D.length;O++)D[O].style.transition=""};if($){let D=(F)=>{if(B)B();let _=typeof document<"u"?document.activeElement:null,z=_&&N.content.contains(_)?parseInt(_.dataset?.index??"-1",10):-1,p=w(F),P=p.layoutIndex,h=p.el,u=P>=0?M.getSize(P):0,l=P>=0?M.getOffset(P):0;if(!h||P<0){if(L.removeItemById(F)<0)return!1;if(L.forceRender(),V(),U.emit("data:change",{type:"remove",id:F}),z>=0){let x=T.totalItems;if(x>0)L.getRenderedElement(Math.min(z,x-1))?.focus()}return U.emit("remove:end",{id:F}),!0}let c=h.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(`${r.classPrefix}-item--selected`);let k=r.axis.primary==="x"?"scrollLeft":"scrollTop",R=N.viewport[k];if(L.removeItemById(F)<0)return!1;L.forceRender(),V(),U.emit("data:change",{type:"remove",id:F});let K=R-N.viewport[k];c.style.zIndex="1",N.content.appendChild(c);let W=$,b={duration:W.duration,easing:W.easing},S=[],i=Math.round(l-K);S.push(c.animate([{transform:`${E}(${i}px) scaleY(1)`,opacity:1,transformOrigin:H},{transform:`${E}(${Math.round(l)}px) scaleY(0)`,opacity:0,transformOrigin:H}],b));let s=K>0,g=N.content.children;for(let C=0;C<g.length;C++){let x=g[C];if(x===c)continue;let o=parseInt(x.dataset?.index??"-1",10);if(o<0||!s&&o<P)continue;let I=M.getOffset(o),m=o>=P?Math.round(I+u-K):Math.round(I-K),a=Math.round(I);if(m===a)continue;S.push(x.animate([{transform:`${E}(${m}px)`},{transform:`${E}(${a}px)`}],b))}let Q=!1,G=()=>{if(Q)return;Q=!0,B=null,c.remove();for(let C of S)if(C.playState!=="finished")C.cancel();if(z>=0){let C=T.totalItems;if(C>0)L.getRenderedElement(Math.min(z,C-1))?.focus()}U.emit("remove:end",{id:F})};return B=G,Promise.all(S.map((C)=>C.finished)).then(G,G),setTimeout(G,W.duration+50),!0},O=(F)=>{if(F.length===0)return 0;if(F.length===1)return D(F[0])?1:0;if(B)B();if(A)A();let _=typeof document<"u"?document.activeElement:null,z=_&&N.content.contains(_)?parseInt(_.dataset?.index??"-1",10):-1,p=[];for(let Q of F){let G=w(Q);p.push({id:Q,layoutIndex:G.layoutIndex,el:G.el,size:G.layoutIndex>=0?M.getSize(G.layoutIndex):0,offset:G.layoutIndex>=0?M.getOffset(G.layoutIndex):0})}p.sort((Q,G)=>G.layoutIndex-Q.layoutIndex);let P=[];for(let Q of p){if(!Q.el||Q.layoutIndex<0)continue;let G=Q.el.cloneNode(!0);G.style.pointerEvents="none",G.style.overflow="hidden",G.removeAttribute("data-index"),G.removeAttribute("data-id"),G.removeAttribute("id"),G.removeAttribute("aria-selected"),G.classList.remove(`${r.classPrefix}-item--selected`),P.push({clone:G,offset:Q.offset,size:Q.size,layoutIndex:Q.layoutIndex})}let h=new Map,u=N.content.children;for(let Q=0;Q<u.length;Q++){let G=u[Q],C=G.dataset?.id,x=parseInt(G.dataset?.index??"-1",10);if(C&&x>=0)h.set(C,M.getOffset(x))}let l=r.axis.primary==="x"?"scrollLeft":"scrollTop",c=N.viewport[l],k=[];for(let Q of p)if(L.removeItemById(Q.id)>=0)k.push(Q.id);if(k.length===0)return 0;L.forceRender(),V();for(let Q of k)U.emit("data:change",{type:"remove",id:Q});if(P.length===0){if(z>=0){let Q=T.totalItems;if(Q>0)L.getRenderedElement(Math.min(z,Q-1))?.focus()}for(let Q of k)U.emit("remove:end",{id:Q});return k.length}let R=c-N.viewport[l],v=$,K={duration:v.duration,easing:v.easing},W=[];P.sort((Q,G)=>Q.layoutIndex-G.layoutIndex);let b=0;for(let Q of P){Q.clone.style.zIndex="1",N.content.appendChild(Q.clone);let G=Math.round(Q.offset-R),C=Math.round(Q.offset-b);W.push(Q.clone.animate([{transform:`${E}(${G}px) scaleY(1)`,opacity:1,transformOrigin:H},{transform:`${E}(${C}px) scaleY(0)`,opacity:0,transformOrigin:H}],K)),b+=Q.size}let S=new Set(P.map((Q)=>Q.clone)),i=N.content.children;for(let Q=0;Q<i.length;Q++){let G=i[Q];if(S.has(G))continue;let C=G.dataset?.id,x=parseInt(G.dataset?.index??"-1",10);if(!C||x<0)continue;let o=h.get(C);if(o===void 0)continue;let I=M.getOffset(x),m=Math.round(o-R),a=Math.round(I);if(m===a)continue;W.push(G.animate([{transform:`${E}(${m}px)`},{transform:`${E}(${a}px)`}],K))}let s=!1,g=()=>{if(s)return;s=!0,B=null;for(let{clone:Q}of P)Q.remove();for(let Q of W)if(Q.playState!=="finished")Q.cancel();if(z>=0){let Q=T.totalItems;if(Q>0)L.getRenderedElement(Math.min(z,Q-1))?.focus()}for(let Q of k)U.emit("remove:end",{id:Q})};return B=g,Promise.all(W.map((Q)=>Q.finished)).then(g,g),setTimeout(g,v.duration+50),k.length};L.registerMethod("removeItem",D),L.registerMethod("removeItems",O)}if(Z){let D=(O,F)=>{if(A)A();if(B)B();let _=F??0,z=new Map,p=N.content.children;for(let Q=0;Q<p.length;Q++){let G=p[Q],C=G.dataset?.id,x=parseInt(G.dataset?.index??"-1",10);if(C&&x>=0)z.set(C,M.getOffset(x))}let P=r.axis.primary==="x"?"scrollLeft":"scrollTop",h=r.axis.primary==="x"?"scrollWidth":"scrollHeight",u=r.axis.primary==="x"?"clientWidth":"clientHeight",l=N.viewport[P],c=N.viewport[h]-N.viewport[u],k=l>=c-1;L.insertItemAt(O,_),L.forceRender(),V(),U.emit("data:change",{type:"insert",id:O.id});let R=N.viewport[P]-l,v=y(_);if(r.reverse&&R===0&&k){N.viewport[P]=N.viewport[h]-N.viewport[u];let Q=N.viewport[P];if(T.prevScrollPosition=T.scrollPosition,T.scrollPosition=Q,R=Q-l,R>0)L.forceRender(),V()}let K=L.getRenderedElement(v),W=Z,b={duration:W.duration,easing:W.easing},S=[];if(K){let Q=M.getOffset(v);S.push(K.animate([{transform:`${E}(${Math.round(Q)}px) scaleY(0)`,opacity:0,transformOrigin:H},{transform:`${E}(${Math.round(Q)}px) scaleY(1)`,opacity:1,transformOrigin:H}],b))}let i=N.content.children;for(let Q=0;Q<i.length;Q++){let G=i[Q];if(G===K)continue;let C=G.dataset?.id,x=parseInt(G.dataset?.index??"-1",10);if(!C||x<0)continue;let o=z.get(C);if(o===void 0)continue;let I=M.getOffset(x),m=Math.round(o+R),a=Math.round(I);if(m===a)continue;S.push(G.animate([{transform:`${E}(${m}px)`},{transform:`${E}(${a}px)`}],b))}if(S.length===0)return;let s=!1,g=()=>{if(s)return;s=!0,A=null;for(let Q of S)if(Q.playState!=="finished")Q.cancel()};A=g,Promise.all(S.map((Q)=>Q.finished)).then(g,g),setTimeout(g,W.duration+50)};L.registerMethod("insertItem",D)}},destroy(){if(B)B();if(A)A()}}}function X0(j){let J=j?.gap??0,q=null,Y=null,$,Z,B,A,L=new Map,M=new WeakMap,U=0,r=!1,N=!1,T=!1,H=2;function E(V){return L.get(V)??A}function X(){let V=Y.dom.viewport,D=V.scrollHeight-V.clientHeight;return D>0&&$.scrollPosition>=D-H}function y(){let V=Y.dom.viewport;V.scrollHeight;let D=V.scrollHeight-V.clientHeight;if(D>$.scrollPosition)Y.scrollTo(D)}function w(){Y.updateContentSize(Y.sizeCache.getTotalSize())}return{name:"autosize",priority:5,setup(V){if(Y=V,$=V.getState(),Z=V.config.axis.primary==="x",B=Z?"width":"height",J===0)J=V.config.gap;if(A=typeof V.rawSizeSpec==="function"?V.rawSizeSpec(0)+J:V.rawSizeSpec+J,V.setSizeConfig(E),J>0){let F=V.sizeCache.getTotalSize;V.sizeCache.getTotalSize=()=>{let _=F();return _>0?_-J:0}}q=new ResizeObserver((F)=>{if($.destroyed||!Y)return;let _=!1,z=V.sizeCache.indexAtOffset($.scrollPosition);for(let l of F){let c=l.target,k=M.get(c);if(k===void 0)continue;if(c.getAttribute("data-index")!==String(k)){q.unobserve(c);continue}if(L.has(k))continue;let R=l.borderBoxSize[0];if(!R)continue;let v=Z?R.inlineSize:R.blockSize;if(v<=0)continue;let K=v+J,W=A;if(L.set(k,K),_=!0,k<z&&K!==W)U+=K-W;q.unobserve(c),c.style[B]=`${v}px`}if(!_)return;let p=X();if(V.rebuildSizeCache(),U)V.scrollTo($.scrollPosition+U),U=0;let P=$.scrollDirection!==0,h=$.totalItems>0&&$.prevRangeEnd>=$.totalItems-1,u=N&&!T;if(u||p||h||!P){if(w(),r=!1,u||p)y()}else r=!0;V.forceRender()}),V.setScrollToIndexFn((F,_,z,p,P)=>{let h=F>=$.totalItems-1&&_==="end";if(N=h,T=!1,!h)return!1;let u=V.config.mainAxisPadding,l=()=>{let c=V.sizeCache.getTotalSize();return Math.max(0,c+u-$.containerSize)};if(z==="smooth")T=!0,V.smoothScrollTo(l,p??300,P,()=>{T=!1});else V.scrollTo(l())});let D=()=>{N=!1},O=V.dom.viewport;O.addEventListener("wheel",D,{passive:!0}),O.addEventListener("touchstart",D,{passive:!0}),V.registerDestroyHandler(()=>{O.removeEventListener("wheel",D),O.removeEventListener("touchstart",D)}),V.registerMethod("isMeasured",(F)=>L.has(F)),V.registerMethod("setMeasuredSize",(F,_)=>{L.set(F,_)}),V.registerMethod("getMeasuredCount",()=>L.size),V.registerDestroyHandler(()=>{if(q)q.disconnect(),q=null})},hooks:{onCommit(V){if(!q||!Y)return;for(let D=0;D<V.visibleCount;D++){let O=V.visibleIndices[D];if(L.has(O))continue;let F=Y.getRenderedElement(O);if(!F)continue;F.style[B]="",M.set(F,O),q.observe(F)}},onIdle(){if(!Y||!r)return;let V=X();if(w(),r=!1,V)y(),Y.forceRender()}},destroy(){if(q)q.disconnect(),q=null;L.clear(),N=!1,T=!1,Y=null}}}var Y1=(j)=>{let J=Math.max(1,Math.floor(j.columns)),q=j.gap??0,Y=j.containerSize,$=0,Z=[],B=()=>{let E=(J-1)*q;$=Math.max(0,(Y-E)/J),Z=Array(J);let X=$+q;for(let y=0;y<J;y++)Z[y]=y*X};B();let A=[],L=0,M=[],U=(E,X)=>{if(E<=0)return L=0,A=[],[];let y=Array(J).fill(0),w=Array(J);for(let O=0;O<J;O++)w[O]=[];let V=Array(E);for(let O=0;O<E;O++){let F=0,_=y[0];for(let P=1;P<J;P++){let h=y[P];if(h<_)_=h,F=P}let z=X(O),p=y[F];V[O]={index:O,x:Z[F],y:p,lane:F,size:z,crossSize:$},w[F].push(O),y[F]=p+z+q}A=w;let D=0;for(let O=0;O<J;O++){let F=y[O],_=F>0?F-q:0;if(_>D)D=_}return L=D,V},r=(E)=>{if(E.length===0)return L;if(L)return L;let X=Array(J).fill(0);for(let w of E){let V=w.y+w.size,D=X[w.lane];if(V>D)X[w.lane]=V}let y=0;for(let w=0;w<J;w++)if(X[w]>y)y=X[w];return y},N=(E,X,y)=>{if(E.length===0||y<=X)return M.length=0,M;if(A.length===0||A.length!==J)return T(E,X,y);M.length=0;for(let w=0;w<J;w++){let V=A[w],D=V.length;if(!D)continue;let O=0,F=D;while(O<F){let _=O+F>>>1,z=E[V[_]];if(z.y+z.size<=X)O=_+1;else F=_}for(let _=O;_<D;_++){let z=E[V[_]];if(z.y>=y)break;M.push(z)}}return M},T=(E,X,y)=>{M.length=0;for(let w of E)if(w.y+w.size>X&&w.y<y)M.push(w);return M};return{get columns(){return J},get gap(){return q},get containerSize(){return Y},update:(E)=>{let X=!1;if(E.columns!==void 0){let y=Math.max(1,Math.floor(E.columns));if(y!==J)J=y,X=!0}if(E.gap!==void 0&&E.gap!==q)q=E.gap,X=!0;if(E.containerSize!==void 0&&E.containerSize!==Y)Y=E.containerSize,X=!0;if(X)B()},calculateLayout:U,getTotalSize:r,getVisibleItems:N}};var Z1=(j,J,q)=>{let Y=Array.from(J).sort((B,A)=>B-A);if(Y.length<=1)return;let $=[];for(let B=0;B<Y.length;B++){let A=q(Y[B]);if(A)$.push(A)}if($.length<=1)return;let Z=j.firstChild;for(let B=0;B<$.length;B++){let A=$[B];if(A===Z)Z=Z.nextSibling;else j.insertBefore(A,Z)}};var x1=(j=200)=>{let J=[];return{acquire:()=>{let Z=J.pop();if(Z)return Z;let B=document.createElement("div");return B.setAttribute("role","option"),B},release:(Z)=>{if(Z.remove(),J.length<j)Z.className="",Z.textContent="",Z.removeAttribute("style"),Z.removeAttribute("data-index"),Z.removeAttribute("data-id"),Z.removeAttribute("data-lane"),J.push(Z)},clear:()=>{J.length=0}}},m1=1,K1=(j,J,q,Y=!1,$,Z,B,A)=>{let L=x1(),M=new Map,U=new Set,r=0,N="",T=-1,H={selected:!1,focused:!1},E=(c,k)=>{return H.selected=c,H.focused=k,H},X=`${q}-item ${q}-masonry-item`,y=`${q}-group-header`,w=`${q}-item--selected`,V=`${q}-item--focused`,D=(c,k)=>{if(typeof k==="string")c.innerHTML=k;else c.replaceChildren(k)},O=(c,k,R)=>{c.classList.toggle(w,k),c.classList.toggle(V,R)},F=(c,k)=>{if(Y)c.style.transform=`translate(${Math.round(k.y)}px, ${Math.round(k.x)}px)`;else c.style.transform=`translate(${Math.round(k.x)}px, ${Math.round(k.y)}px)`},_=(c,k)=>{if(Y)c.style.width=`${k.size}px`,c.style.height=`${k.crossSize}px`;else c.style.width=`${k.crossSize}px`,c.style.height=`${k.size}px`},z=(c,k,R,v,K)=>{let W=L.acquire(),b=k.__groupHeader,S=E(v,K);if(W.className=b?y:X,W.dataset.index=String(c),W.dataset.id=String(k.id),W.dataset.lane=String(R.lane),b)W.setAttribute("role","presentation"),W.removeAttribute("aria-selected"),W.removeAttribute("aria-setsize"),W.removeAttribute("aria-posinset"),W.removeAttribute("id");else if(A!==!1){if(W.setAttribute("role","option"),W.ariaSelected=String(v),Z)W.id=`${Z}-item-${c}`;if($){let s=$();if(s!==T)T=s,N=String(s);W.setAttribute("aria-setsize",N);let g=B?B(c):c+1;W.setAttribute("aria-posinset",String(g))}}else if(W.setAttribute("role","listitem"),W.removeAttribute("aria-selected"),$){let s=$();if(s!==T)T=s,N=String(s);W.setAttribute("aria-setsize",N);let g=B?B(c):c+1;W.setAttribute("aria-posinset",String(g))}_(W,R);let i=J(k,c,S);return D(W,i),O(W,v,K),F(W,R),{element:W,lastItem:k,lastSelected:v,lastFocused:K,lastY:R.y,lastX:R.x,lastSize:R.size,lastCrossSize:R.crossSize,lastSeenFrame:r}},p=(c,k,R,v)=>{r++,U.clear();for(let W=0;W<k.length;W++)U.add(k[W].index);for(let[W,b]of M)if(U.has(W))b.lastSeenFrame=r;else if(r-b.lastSeenFrame>m1)L.release(b.element),M.delete(W);let K=null;for(let W=0;W<k.length;W++){let b=k[W],S=b.index,i=c(S);if(!i)continue;let s=R.has(i.id),g=S===v,Q=M.get(S);if(Q){let G=Q.lastItem!==i,C=Q.lastSelected!==s,x=Q.lastFocused!==g,o=Q.lastY!==b.y||Q.lastX!==b.x,I=Q.lastSize!==b.size||Q.lastCrossSize!==b.crossSize;if(G){let m=E(s,g),a=J(i,S,m);if(D(Q.element,a),Q.element.dataset.id=String(i.id),Q.lastItem=i,!i.__groupHeader){let t=B?B(S):S+1;Q.element.setAttribute("aria-posinset",String(t))}}if(G||C||x)O(Q.element,s,g),Q.element.ariaSelected=String(s),Q.lastSelected=s,Q.lastFocused=g;if(I)_(Q.element,b),Q.lastSize=b.size,Q.lastCrossSize=b.crossSize;if(o)F(Q.element,b),Q.lastY=b.y,Q.lastX=b.x}else{let G=z(S,i,b,s,g);if(!K)K=document.createDocumentFragment();K.appendChild(G.element),M.set(S,G)}}if(K)j.appendChild(K)},P=()=>{for(let c of M.values())L.release(c.element);M.clear(),j.innerHTML=""};return{render:p,getElement:(c)=>M.get(c)?.element,updateItemClasses:(c,k,R)=>{let v=M.get(c);if(!v)return;let K=v.lastSelected!==k,W=v.lastFocused!==R;if(K||W)O(v.element,k,R),v.lastSelected=k,v.lastFocused=R},sortDOM:()=>{Z1(j,M.keys(),(c)=>M.get(c)?.element)},clear:P,destroy:()=>{P(),L.clear()}}};var d1=100,c1=new Set;function A0(j){if(!j.columns||j.columns<1)throw Error("[vlist] masonry: columns must be >= 1");let J,q=null,Y,$=null,Z,B,A,L=[],M=-1,U=-1,r=!0,N=-1,T={columnWidth:0,columns:0,gap:0,containerWidth:0},H=[],E=(R)=>H[R],X=null,y=null,w=!1;function V(){if(w||!$)return;w=!0,X=$.getMethod("_getSelectedIds")??null,y=$.getMethod("_getFocusedIndex")??null}let D=[],O=new Int32Array(0),F=[];function _(){let R=J.columns,v=L.length;D=Array(R);for(let K=0;K<R;K++)D[K]=[];if(O.length<v)O=new Int32Array(v);for(let K=0;K<v;K++){let W=L[K],b=D[W.lane].length;D[W.lane].push(K),O[K]=b}F=Array(R);for(let K=0;K<R;K++){let W=D[K],b=new Float64Array(W.length);for(let S=0;S<W.length;S++){let i=L[W[S]];b[S]=i.y+i.size*0.5}F[K]=b}}function z(R,v){let K=R.length;if(!K)return-1;let W=0,b=K-1;while(W<b){let S=W+b>>1;if(R[S]<v)W=S+1;else b=S}if(W>0&&Math.abs(R[W-1]-v)<=Math.abs(R[W]-v))return W-1;return W}function p(R,v,K){let W=L[R];if(!W)return R;let b=W.lane,S=J.columns,i=O[R],s=D[b];switch(Z?v==="ArrowDown"?"ArrowRight":v==="ArrowUp"?"ArrowLeft":v==="ArrowRight"?"ArrowDown":v==="ArrowLeft"?"ArrowUp":v:v){case"ArrowDown":if(i+1<s.length)return s[i+1];return R;case"ArrowUp":if(i>0)return s[i-1];return R;case"ArrowRight":{if(b>=S-1)return R;let Q=b+1,G=W.y+W.size*0.5,C=D[Q];if(!C.length)return R;let x=z(F[Q],G);return x>=0?C[x]:R}case"ArrowLeft":{if(b<=0)return R;let Q=b-1,G=W.y+W.size*0.5,C=D[Q];if(!C.length)return R;let x=z(F[Q],G);return x>=0?C[x]:R}case"Home":return 0;case"End":return K-1;case"PageDown":{let Q=Y.containerSize,G=W.size>0?W.size:150,C=Math.max(1,Math.floor(Q/G)),x=Math.min(i+C,s.length-1);return s[x]}case"PageUp":{let Q=Y.containerSize,G=W.size>0?W.size:150,C=Math.max(1,Math.floor(Q/G)),x=Math.max(0,i-C);return s[x]}}return R}let P=null;function h(){if(j.size)return(R)=>j.size(R,T);if(P!==null&&typeof P==="function")return(R)=>P(R,T);return(R)=>$.sizeCache.getSize(R)}function u(){let{columns:R,gap:v}=J;T.containerWidth=J.containerSize,T.columns=R,T.gap=v,T.columnWidth=Math.max(0,(J.containerSize-(R-1)*v)/R)}function l(){if(!$)return;u();let R=Y.totalItems;L=J.calculateLayout(R,h()),N=R,_();let v=J.getTotalSize(L);$.updateContentSize(v)}function c(){if(Y.destroyed||!$||!q)return;if(Y.totalItems!==N)l();V();let{scrollPosition:R,containerSize:v}=Y;if(!r&&R===M&&v===U)return;if(M=R,U=v,r=!1,v<=0||L.length===0)return;let K=Math.max(0,R-A),W=R+v+A,b=J.getVisibleItems(L,K,W),S=X?.()??c1,i=y?.()??-1;H=$.getItems(),q.render(E,b,S,i);let s=b.length,g=s>0?b[0].index:0,Q=s>0?b[s-1].index:0;Y.prevRangeStart=g,Y.prevRangeEnd=Q,Y.renderPending=!1;let G=Math.min(s,Y.capacity);Y.visibleCount=G,Y.startIndex=g;for(let C=0;C<G;C++){let x=b[C];Y.visibleIndices[C]=x.index,Y.visibleOffsets[C]=x.y,Y.visibleSizes[C]=x.size}}function k(){if(Y.destroyed)return;l(),Y.prevRangeStart=-1,Y.prevRangeEnd=-1,Y.renderPending=!0,r=!0,c()}return{name:"masonry",priority:10,conflicts:["grid","table"],setup(R){if($=R,Y=R.getState(),P=R.rawSizeSpec,Z=R.config.axis.primary==="x",B=R.config.classPrefix,A=R.config.overscan*d1,R.config.reverse)throw Error("[vlist] masonry: cannot be combined with reverse mode");let v=Y.crossSize;J=Y1({columns:j.columns,gap:j.gap??0,containerSize:v}),q=K1(R.dom.content,R.template,B,Z,()=>Y.totalItems,void 0,void 0,R.config.interactive),R.dom.root.classList.add(`${B}--masonry`),R.setRenderFn(c,k),l(),R.registerMethod("getMasonryLayout",()=>J),R.registerMethod("updateMasonry",(K)=>{if(K.columns!==void 0&&K.columns<1)throw Error("[vlist] updateMasonry: columns must be >= 1");if(K.gap!==void 0&&K.gap<0)throw Error("[vlist] updateMasonry: gap must be >= 0");let W={};if(K.columns!==void 0)W.columns=K.columns;if(K.gap!==void 0)W.gap=K.gap;J.update(W),q?.clear(),k()}),R.registerMethod("scrollToIndex",(K,W="start")=>{let b=L[K];if(!b)return;let S=typeof W==="string"?W:W.align??"start",i=typeof W==="object"?W.behavior:void 0,s=typeof W==="object"?W.duration:void 0,g=Y.containerSize,Q=J.getTotalSize(L),G=Math.max(0,Q-g),C=b.y;if(S==="center")C=b.y-g/2+b.size/2;else if(S==="end"){if(C=b.y-g+b.size,K>=Y.totalItems-1&&b.y+b.size>G)C=G}if(C=Math.max(0,Math.min(C,G)),i==="smooth"&&s&&s>0)R.smoothScrollTo(C,s);else R.scrollTo(C)}),R.registerMethod("_scrollItemIntoView",(K)=>{let W=L[K];if(!W)return;let{scrollPosition:b,containerSize:S}=Y,i=W.y,s=i+W.size;if(i<b)R.scrollTo(Math.max(0,i));else if(s>b+S)R.scrollTo(s-S)}),R.setNavConfig({total:()=>Y.totalItems,navigate:p}),R.registerDestroyHandler(()=>{q?.destroy(),q=null,R.dom.root.classList.remove(`${B}--masonry`)})},hooks:{onResize(R,v){if(!J||!$)return;let K=Y.crossSize;if(Math.abs(K-J.containerSize)<1)return;J.update({containerSize:K}),q?.clear(),k()},onIdle(){q?.sortDOM()}},destroy(){q?.destroy(),q=null,L=[],$=null}}}var B1=(j={})=>{let{chunkSize:J=100,maxCachedItems:q=5000,evictionBuffer:Y=200,onEvict:$}=j,Z=new Map,B=0,A=0,L=(v)=>{let K=Z.get(v);if(!K)K={items:Array(J),count:0,lastAccess:Date.now()},Z.set(v,K);else K.lastAccess=Date.now();return K},M=(v)=>{return Math.floor(v/J)},U=(v)=>{return v%J},r=()=>B,N=(v)=>{B=v},T=(v)=>{if(v<0||v>=B)return;let K=M(v),W=Z.get(K);if(!W)return;return W.items[U(v)]},H=(v)=>{if(v<0||v>=B)return!1;let K=M(v),W=Z.get(K);if(!W)return!1;return W.items[U(v)]!==void 0},E=(v,K)=>{let W=M(v),b=L(W),S=U(v),i=b.items[S]===void 0;if(b.items[S]=K,i)b.count++,A++;if(v>=B)B=v+1},X=(v,K)=>{for(let W=0;W<K.length;W++){let b=K[W];if(b!==void 0)E(v+W,b)}},y=(v,K)=>{if(v<0||v>B)return;let W=M(v),b=Array.from(Z.keys()).filter((Q)=>Q>=W).sort((Q,G)=>Q-G),S=[];for(let Q of b){let G=Z.get(Q),C=Q*J;for(let x=0;x<J;x++){if(G.items[x]===void 0)continue;let o=C+x;if(o<v)continue;S.push({oldIndex:o,item:G.items[x]})}}for(let{oldIndex:Q}of S){let G=M(Q),C=Z.get(G);if(!C)continue;let x=U(Q);if(C.items[x]!==void 0){if(C.items[x]=void 0,C.count--,A--,C.count===0)Z.delete(G)}}B++;for(let{oldIndex:Q,item:G}of S){let C=Q+1,x=M(C),o=L(x),I=U(C);o.items[I]=G,o.count++,A++}let i=M(v),s=L(i),g=U(v);s.items[g]=K,s.count++,A++},w=(v)=>{if(v<0||v>=B)return!1;let K=M(v),W=Z.get(K),b=U(v);if(!(W!==void 0&&W.items[b]!==void 0))return!1;let i=K,s=Array.from(Z.keys()).filter((Q)=>Q>=i).sort((Q,G)=>Q-G),g=[];for(let Q of s){let G=Z.get(Q),C=Q*J;for(let x=0;x<J;x++){if(G.items[x]===void 0)continue;let o=C+x;if(o<=v)continue;g.push({oldIndex:o,item:G.items[x]})}}if(W.items[b]=void 0,W.count--,A--,W.count===0)Z.delete(K);for(let{oldIndex:Q}of g){let G=M(Q),C=Z.get(G);if(!C)continue;let x=U(Q);if(C.items[x]!==void 0){if(C.items[x]=void 0,C.count--,A--,C.count===0)Z.delete(G)}}for(let{oldIndex:Q,item:G}of g){let C=Q-1,x=M(C),o=L(x),I=U(C);o.items[I]=G,o.count++,A++}return B--,!0},V=(v,K)=>{let W=[];for(let b=v;b<=K&&b<B;b++)W.push(T(b));return W},D=(v,K)=>{for(let W=v;W<=K&&W<B;W++)if(!H(W))return!1;return!0},O=()=>{let v=[],K=null,W=Array.from(Z.keys()).sort((b,S)=>b-S);for(let b of W){let S=Z.get(b);if(!S)continue;let i=b*J;for(let s=0;s<J;s++){let g=i+s;if(g>=B)break;if(S.items[s]!==void 0)if(K===null)K={start:g,end:g};else if(g===K.end+1)K.end=g;else v.push(K),K={start:g,end:g};else if(K!==null)v.push(K),K=null}}if(K!==null)v.push(K);return v},F=(v,K)=>{let W=[],b=null;for(let S=v;S<=K&&S<B;S++)if(!H(S))if(b===null)b={start:S,end:S};else b.end=S;else if(b!==null)W.push(b),b=null;if(b!==null)W.push(b);return W},_=(v)=>{return Z.has(v)},z=(v)=>{let K=Z.get(v);if(!K)return!1;let W=v*J,b=Math.min(J,B-W);return K.count>=b},p=(v)=>{let K=Z.get(v);if(K)K.lastAccess=Date.now()},P=(v,K)=>{if(v>K||Z.size===0)return;let W=Date.now(),b=M(Math.max(0,v)),S=M(Math.min(B-1,K));for(let i=b;i<=S;i++){let s=Z.get(i);if(s)s.lastAccess=W}},h=(v,K)=>{if(A<=q)return 0;let W=Math.max(0,v-Y),b=Math.min(B-1,K+Y),S=M(W),i=M(b),s=0,g=[];for(let[Q,G]of Z)if(Q<S||Q>i)s+=G.count,g.push(Q),A-=G.count,Z.delete(Q);if(s>0&&$)$(s,g);return s},u=()=>{if(A<=q)return 0;let v=Array.from(Z.entries()).sort(([,b],[,S])=>b.lastAccess-S.lastAccess),K=0,W=[];for(let[b,S]of v){if(A<=q)break;K+=S.count,A-=S.count,W.push(b),Z.delete(b)}if(K>0&&$)$(K,W);return K},l=()=>{return{totalItems:B,cachedItems:A,cachedChunks:Z.size,chunkSize:J,maxCachedItems:q,memoryEfficiency:B>0?1-A/B:1}},c=()=>A,k=()=>{Z.clear(),A=0};return{chunkSize:J,maxCachedItems:q,getTotal:r,setTotal:N,get:T,has:H,set:E,setRange:X,insert:y,delete:w,getRange:V,isRangeLoaded:D,getLoadedRanges:O,findUnloadedRanges:F,getChunkIndex:M,isChunkLoaded:_,isChunkFullyLoaded:z,touchChunk:p,touchChunksForRange:P,evictDistant:h,evictToLimit:u,getStats:l,getCachedCount:c,clear:k,reset:()=>{k(),B=0}}};var U1=(j={})=>{let{maskCharacter:J=w0,maxSampleSize:q=v0}=j,Y=[],$=!1,Z=(U)=>{if($||U.length===0)return;let r=Math.min(U.length,q);for(let N=0;N<r;N++){let T=U[N];if(!T||typeof T!=="object")continue;let H={},E=!1;for(let[X,y]of Object.entries(T)){if(X.startsWith("_")||X==="id")continue;H[X]=String(y??"").length,E=!0}if(E)Y.push(H)}$=!0},B=()=>$,A=(U)=>{let r={id:`${f2}${U}`,[j0]:!0,_index:U};if(Y.length===0)return r.label=J.repeat(12),r;let N=Y[U%Y.length];for(let[T,H]of Object.entries(N))r[T]=J.repeat(Math.max(1,H));return r};return{analyzeStructure:Z,hasAnalyzedStructure:B,generate:A,generateRange:(U,r)=>{let N=[];for(let T=U;T<=r;T++)N.push(A(T));return N},clear:()=>{Y=[],$=!1}}},J0=(j)=>{if(!j||typeof j!=="object")return!1;return j[j0]===!0};var l1=50,W1=(j={})=>{let{adapter:J,initialItems:q,initialTotal:Y,storage:$,placeholder:Z,pageSize:B=l1,maxConcurrent:A=0,onStateChange:L,onDataChange:M,onItemsLoaded:U,onItemsEvicted:r}=j,N=B1({...$,onEvict:(J2,n)=>{r?.(J2),P(),p()}}),T=null,H=()=>{if(!T)T=U1(Z);return T},E=new Map,X=!1,y,w=!0,V,D,O=[],F=0,_=new Map,z=()=>{for(let J2 of _.values())J2[1].abort();_.clear()},p=()=>{L?.(W())},P=()=>{M?.()},h=()=>{E.clear();let J2=N.getLoadedRanges();for(let n of J2)for(let $2=n.start;$2<=n.end;$2++){let B2=N.get($2);if(B2&&!J0(B2))E.set(B2.id,$2)}},u=(J2,n)=>{if(!J0(n))E.set(n.id,J2)},l=(J2)=>{E.delete(J2)},c=(J2,n)=>{return`${J2}-${n}`},k=()=>N.getTotal(),R=()=>N.getCachedCount(),v=()=>X,K=()=>w,W=()=>({total:N.getTotal(),cached:N.getCachedCount(),isLoading:X,pendingRanges:O,error:y,hasMore:w,cursor:V}),b=()=>N,S=()=>H(),i=(J2)=>{let n=N.get(J2);if(n!==void 0)return n;if(J2>=0&&J2<N.getTotal())return H().generate(J2);return},s=(J2)=>{let n=E.get(J2);if(n===void 0)return;return N.get(n)},g=(J2)=>{return E.get(J2)??-1},Q=(J2)=>{let n=N.get(J2);return n!==void 0&&!J0(n)},G=(J2,n)=>{let $2=[],B2=N.getTotal();N.touchChunksForRange(J2,Math.min(n,B2-1));for(let U2=J2;U2<=n&&U2<B2;U2++){let Y2=N.get(U2);if(Y2!==void 0)$2.push(Y2);else $2.push(H().generate(U2))}return $2},C=(J2)=>{N.setTotal(J2),w=N.getCachedCount()<J2,P(),p()},x=(J2,n=0,$2)=>{if(J&&J2.length>0){let B2=H();if(!B2.hasAnalyzedStructure())B2.analyzeStructure(J2)}for(let B2=0;B2<J2.length;B2++){let U2=J2[B2];if(U2!==void 0){let Y2=n+B2;N.set(Y2,U2),u(Y2,U2)}}if($2!==void 0)N.setTotal($2);else if(n+J2.length>N.getTotal())N.setTotal(n+J2.length);if(N.getCachedCount()>=N.getTotal()&&N.getTotal()>0)w=!1;P(),p(),U?.(J2,n,N.getTotal())},o=(J2,n)=>{let $2=N.get(J2);if(!$2)return!1;let B2=$2.id,U2={...$2,...n};if(N.set(J2,U2),n.id!==void 0&&n.id!==B2)l(B2);return u(J2,U2),P(),p(),!0},I=(J2,n)=>{N.insert(n,J2),h(),z(),P(),p()},m=(J2)=>{let n=E.get(J2);if(n===void 0)return!1;if(!N.delete(n))return!1;return h(),z(),P(),p(),!0},a=async(J2,n)=>{if(!J)return;let $2=N.chunkSize,B2=Math.floor(J2/$2),U2=Math.floor(n/$2),Y2=$2*2;for(let[X2,b2]of _){let F2=X2.indexOf("-"),y2=parseInt(X2.slice(0,F2),10);if(Math.abs(y2-J2)>Y2)b2[1].abort(),_.delete(X2)}let A2=[],L2=[];for(let X2=B2;X2<=U2;X2++){let b2=X2*$2,F2=b2+$2-1,y2=c(b2,F2);if(N.isChunkFullyLoaded(X2))continue;let k2=_.get(y2);if(k2)L2.push(k2[0]);else A2.push({start:b2,end:F2})}if(A2.length===0){if(L2.length>0)await Promise.all(L2);return}if(A>0){let X2=_.size+A2.length;if(X2>A){let b2=(J2+n)/2,F2=Math.min(X2-A,_.size);while(F2>0){let D2=null,k2=-1,H2=null;for(let[z2,N2]of _){let O2=z2.indexOf("-"),R2=parseInt(z2.slice(0,O2),10),P2=parseInt(z2.slice(O2+1),10),Z2=Math.abs((R2+P2)/2-b2);if(Z2>k2)k2=Z2,D2=z2,H2=N2[1]}if(D2)H2.abort(),_.delete(D2);F2--}let y2=A-_.size;if(A2.length>y2)A2.sort((D2,k2)=>{let H2=Math.abs((D2.start+D2.end)/2-b2),z2=Math.abs((k2.start+k2.end)/2-b2);return H2-z2}),A2.length=Math.max(0,y2)}}if(A2.length===0){if(L2.length>0)await Promise.all(L2);return}for(let X2 of A2){let b2=c(X2.start,X2.end),F2=new AbortController,y2=(async()=>{O.push(X2),X=!0,y=void 0,p();try{let D2=X2.end-X2.start+1,k2={offset:X2.start,limit:D2,cursor:X2.start===D?V:void 0,signal:F2.signal},H2=await J.read(k2);if(x(H2.items,X2.start,H2.total),H2.cursor)V=H2.cursor,D=X2.start+H2.items.length;let z2=X2.start+H2.items.length;if(z2>=F){if(F=z2,H2.hasMore!==void 0)w=H2.hasMore;else if(H2.total!==void 0)w=z2<H2.total}}catch(D2){if(D2?.name==="AbortError")return;y=D2 instanceof Error?D2:Error(String(D2))}finally{_.delete(b2);let D2=O.findIndex((k2)=>k2.start===X2.start&&k2.end===X2.end);if(D2>=0)O.splice(D2,1);X=_.size>0,p()}})();_.set(b2,[y2,F2]),L2.push(y2)}await Promise.all(L2)},e=async(J2,n)=>{if(N.isRangeLoaded(J2,n))return;await a(J2,n)},t=async()=>{if(!J)return;await a(0,B-1)},q2=async()=>{if(!J||X||!w)return!1;let J2=N.getCachedCount(),n=N.getTotal(),$2=J2,B2=Math.min($2+B-1,n>0?n-1:$2+B-1);if($2>=n&&n>0)return w=!1,!1;return await a($2,B2),N.getCachedCount()>J2},K2=async()=>{if(N.clear(),N.setTotal(0),E.clear(),T)T.clear();z(),O=[],X=!1,V=void 0,D=void 0,w=!0,F=0,y=void 0,P(),p()},G2=(J2,n)=>{if(N.evictDistant(J2,n)>0)h()},M2=()=>{N.clear(),E.clear(),V=void 0,D=void 0,y=void 0,O=[],X=!1,P(),p()},W2=()=>{if(N.reset(),E.clear(),T)T.clear();V=void 0,D=void 0,w=!0,F=0,y=void 0,O=[],X=!1,P(),p()};if(q&&q.length>0)x(q,0,Y??q.length);else if(Y!==void 0)N.setTotal(Y),P(),p();return{getState:W,getTotal:k,getCached:R,getIsLoading:v,getHasMore:K,getStorage:b,getPlaceholders:S,getItem:i,getItemById:s,getIndexById:g,isItemLoaded:Q,getItemsInRange:G,setTotal:C,setItems:x,updateItem:o,insertItem:I,removeItem:m,loadRange:a,ensureRange:e,loadInitial:t,loadMore:q2,reload:K2,evictDistant:G2,clear:M2,reset:W2}};function D0(j){let{adapter:J,total:q,autoLoad:Y=!0,storage:$}=j,Z=j.loading?.cancelThreshold??P0,B=j.loading?.preloadThreshold??k0,A=j.loading?.preloadAhead??y0,L=j.loading?.maxConcurrent??z0,M,U,r,N,T,H,E=null,X=null,y=null,w=0,V=!1,D=-1,O=-1,F=$?.chunkSize??r2,_=()=>{if(E=null,X!==null)clearTimeout(X),X=null},z=(u,l)=>{return M.ensureRange(u,l)},p=(u,l=r2)=>{N.emit("load:start",{offset:u,limit:l})},P=(u)=>{N.emit("error",{error:u,context:"ensureRange"})},h=()=>{if(!E)return;E=null;let u={start:U.startIndex,end:U.startIndex+Math.max(0,U.visibleCount-1)};if(u.end<u.start)return;z(u.start,u.end).catch(P)};return{name:"data",priority:20,setup(u){U=u.getState(),r=u.sizeCache,N=u.emitter,T=u.dom,H=u.forceRender.bind(u);let l=null;u.setVirtualTotalFn(()=>l?.getTotal()??0),M=l=W1({adapter:J,...q!==void 0&&{initialTotal:q},pageSize:$?.chunkSize??r2,maxConcurrent:L,...$&&{storage:{...$.chunkSize!==void 0&&{chunkSize:$.chunkSize},...$.maxCachedItems!==void 0&&{maxCachedItems:$.maxCachedItems},...$.evictionBuffer!==void 0&&{evictionBuffer:$.evictionBuffer}}},onDataChange:()=>{if(U.initialized){let k=M.getTotal();U.totalItems=k;let R=r.getTotal();if(k!==R)r.rebuild(k);u.updateContentSize(r.getTotalSize()),u.renderIfNeeded()}},onItemsLoaded:(k)=>{if(U.initialized)H(),N.emit("load:end",{items:k,total:M.getTotal()})}}),u.setGetItemFn((k)=>M.getItem(k)),u.setRemoveItemFn((k)=>{let R=M.getIndexById(k);if(R<0)return-1;if(!M.removeItem(k))return-1;return R}),u.setInsertItemFn((k,R)=>{M.insertItem(k,R)}),u.setUpdateItemFn((k,R)=>{let v=M.getIndexById(k);if(v<0)return!1;return M.updateItem(v,R)}),u.registerMethod("reload",async()=>{if(E=null,D=-1,O=-1,u.forceRender(),await M.reload(),u.scrollTo(0),Y)p(0),await M.loadInitial(),u.forceRender()}),u.registerMethod("loadVisibleRange",async()=>{E=null,u.forceRender();let k=M.getTotal();if(U.visibleCount>0&&U.startIndex<k){let R=Math.min(U.startIndex+U.visibleCount-1,k-1);p(U.startIndex,R-U.startIndex+1),await z(U.startIndex,R)}}),u.registerMethod("getTotal",()=>{return M.getTotal()}),u.registerMethod("setTotal",(k)=>{M.setTotal(k)}),u.registerMethod("_getTotal",()=>M.getTotal()),u.registerMethod("_setTotal",(k)=>{M.setTotal(k)}),u.registerMethod("_cancelAutoLoad",()=>{V=!0}),u.registerMethod("_getLoadedItem",(k)=>{return M.getStorage().get(k)}),u.registerMethod("_getLoadedCount",()=>M.getCached()),N.on("load:start",()=>{T.root.setAttribute("aria-busy","true")}),N.on("load:end",()=>{T.root.removeAttribute("aria-busy")}),u.registerDestroyHandler(()=>{if(y!==null)clearTimeout(y),y=null;_()}),N.on("velocity:change",({velocity:k})=>{w=Math.abs(k)});let c=()=>{if(U.destroyed)return;if(U.visibleCount>0&&U.startIndex<M.getTotal()){let k=Math.min(U.startIndex+U.visibleCount-1,M.getTotal()-1);z(U.startIndex,k).catch(P)}h()};if(window.addEventListener("online",c),u.registerDestroyHandler(()=>{window.removeEventListener("online",c)}),Y)queueMicrotask(()=>{if(V)return;p(0),M.loadInitial().catch((k)=>{N.emit("error",{error:k,context:"loadInitial"})})});else if(q!==void 0)M.setTotal(q)},hooks:{onAfterScroll(){if(U.destroyed)return;let u=U.startIndex+Math.max(0,U.visibleCount-1);if(w>Z){if(X!==null)clearTimeout(X),X=null;E={start:U.startIndex,end:u};return}if(w>B){let k=Math.floor(U.startIndex/F),R=Math.floor(u/F);if(k!==D||R!==O){if(D=k,O=R,u>=U.startIndex)z(U.startIndex,u).catch(P)}let v=U.startIndex,K=u,W=U.scrollDirection;if(W>0)K=Math.min(K+A,M.getTotal()-1);else if(W<0)v=Math.max(0,v-A);if(E={start:v,end:K},X!==null)clearTimeout(X);X=setTimeout(()=>{if(X=null,U.destroyed||!E)return;let{start:b,end:S}=E;if(E=null,S>=b)z(b,S).catch(P)},100);return}_();let l=Math.floor(U.startIndex/F),c=Math.floor(u/F);if(l!==D||c!==O){if(D=l,O=c,u>=U.startIndex)z(U.startIndex,u).catch(P)}},onIdle(){if(U.destroyed)return;w=0,D=-1,O=-1,h(),_()}},destroy(){if(y!==null)clearTimeout(y);_()}}}var H0=(j,J)=>{let q=0,Y=j.length-1;while(q<Y){let $=q+Y+1>>>1;if(j[$].headerLayoutIndex<=J)q=$;else Y=$-1}return q},N1=(j,J)=>{let q=0,Y=j.length-1;while(q<Y){let $=q+Y+1>>>1;if(j[$].firstDataIndex<=J)q=$;else Y=$-1}return q},V1=(j,J,q)=>{if(j===0)return[];let Y=[],$=null,Z=0,B=0;for(let A=0;A<j;A++){let L=q?.(A);if(!L)continue;let M=J(A,L);if($===null)$=M,Z=0;else if(M!==$){let U=A-Z;Y.push({key:$,groupIndex:Y.length,headerLayoutIndex:B,firstDataIndex:Z,count:U}),B=B+1+U,$=M,Z=A}}if($!==null)Y.push({key:$,groupIndex:Y.length,headerLayoutIndex:B,firstDataIndex:Z,count:j-Z});return Y};var _1=(j,J,q)=>{let Y=V1(j,J.getGroupForIndex,q),$=j+Y.length,Z=J.header?.height??J.header?.width??J.headerHeight;return{get totalEntries(){return $},get groupCount(){return Y.length},get groups(){return Y},getEntry:(T)=>{if(Y.length===0)return{type:"item",dataIndex:T,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let H=H0(Y,T),E=Y[H];if(T===E.headerLayoutIndex)return{type:"header",group:E};let X=T-E.headerLayoutIndex-1;return{type:"item",dataIndex:E.firstDataIndex+X,group:E}},layoutToDataIndex:(T)=>{if(Y.length===0)return T;let H=H0(Y,T),E=Y[H];if(T===E.headerLayoutIndex)return-1;let X=T-E.headerLayoutIndex-1;return E.firstDataIndex+X},dataToLayoutIndex:(T)=>{if(Y.length===0)return T;let H=N1(Y,T),E=Y[H],X=T-E.firstDataIndex;return E.headerLayoutIndex+1+X},getGroupAtLayoutIndex:(T)=>{if(Y.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let H=H0(Y,T);return Y[H]},getGroupAtDataIndex:(T)=>{if(Y.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let H=N1(Y,T);return Y[H]},getHeaderHeight:typeof Z==="number"?(T)=>Z:(T)=>{let H=Y[T];if(!H)return 0;return Z(H.key,T)},rebuild:(T,H)=>{Y=V1(T,J.getGroupForIndex,H??q),$=T+Y.length}}};var L0=(j,J,q,Y,$=0)=>{let Z=q?"width":"height",B=document.createElement("div");return B.className=`${J}-sticky-header`,B.setAttribute("role","presentation"),B.setAttribute("aria-hidden","true"),B.style.cssText="position:relative;z-index:5;pointer-events:none;overflow:hidden;"+(q?`top:0;bottom:0;left:${$||0}px`:`top:${$||0}px`),B.style[Z]=`${Y}px`,j.insertBefore(B,j.firstChild),B},M1=(j,J,q,Y,$,Z=!1,B=0,A,L)=>{let M=Z?"width":"height",U=Z?"height":"width",r=Z?"X":"Y",N=(o,I)=>{o.style[M]=`${I}px`},T=L??L0(j,$,Z,0,B),H=()=>{let o=document.createElement("div");return o.className="sticky-group",o.style.position="absolute",o.style.willChange="transform",o.style[U]="100%",o},E=H(),X=H();T.append(E,X);let y=E,w=X,V=J.groups,D=[],O=[],F=[],_=0,z=()=>{V=J.groups,_=V.length,D=Array(_),O=Array(_),F=Array(_);let o=A?A():1;for(let I=0;I<_;I++)D[I]=q.getOffset(V[I].headerLayoutIndex)*o,O[I]=J.getHeaderHeight(I),F[I]=O[I]*o};z();let p=-1,P=0,h=0,u=-1,l=!1,c=0,k=!1,R=(o,I)=>{Y(o,I);let m=O[I];return N(o,m),m},v=(o)=>{o.replaceChildren(),o.style.transform=""},K=(o)=>{if(o===p)return;if(p=o,P=0,h=0,o<0||o>=_){v(y);return}P=R(y,o),h=F[o],N(T,P),y.style.transform=""},W=(o)=>{if(o===c)return;c=o;let I=Math.round(o);y.style.transform=`translate${r}(${I}px)`,w.style.transform=`translate${r}(${I+P}px)`},b=()=>{c=0,y.style.transform="",w.style.transform=""},S=()=>{if(!k)return;let o=y;y=w,w=o,p=u,P=p>=0?O[p]:0,h=p>=0?F[p]:0,N(T,P),v(w),u=-1,k=!1,b()},i=()=>{if(!k)return;v(w),u=-1,k=!1,b()},s=!!L,g=()=>{if(l)return;if(l=!0,s)T.style.visibility="";else T.style.display=""},Q=()=>{if(!l)return;if(l=!1,s)T.style.visibility="hidden";else T.style.display="none";v(y),p=-1,P=0,h=0,i()},G=(o)=>{if(_===0){Q();return}if(o<D[0]){Q();return}let I=0,m=_-1;while(I<m){let e=I+m+1>>>1;if(D[e]+F[e]<=o)I=e;else m=e-1}if(!l)g();K(I);let a=I+1;if(a<_){let e=D[a]-o;if(e<=0&&e>-h){if(u!==a||!k)u=a,R(w,a),k=!0;let t=h>0?e/h*P:e;W(t)}else if(e<=-h){if(k)S()}else if(k)i()}else if(k)i()},C=()=>{z();let o=p;if(p=-1,P=0,h=0,o>=0)K(o)},x=()=>{T.remove(),p=-1,P=0,h=0,u=-1,l=!1,k=!1};if(!L)T.style.display="none";return{update:G,refresh:C,show:g,hide:Q,destroy:x}};var g2={selected:!1,focused:!1},G1=typeof process<"u"&&process.env?.NODE_ENV!=="production";function F0(j){if(!j.getGroupForIndex)throw Error("[vlist] groups: getGroupForIndex is required");let J=j.header?.height??j.header?.width??j.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=j.header?.template??j.headerTemplate;if(!q)throw Error("[vlist] groups: header.template is required");let Y=q,$,Z=null,B,A,L,M,U,r,N,T=null,H,E,X,y=null,w,V,D=null,O,F=new Map,_=new Set,z=new Map,p=-1,P=-1,h=!0,u=-1,l=0,c=null,k;function R(){return $.totalEntries}function v(){let Q=A.totalItems;if(Q===u)return;if(G1)console.log(`[groups] syncLayout: ${u} → ${Q}`);let G=u>0;u=Q,$.rebuild(Q,T??N),k($.totalEntries);let C=B.getTotalSize();if(M.style[H?"width":"height"]=C+"px",Z)Z.refresh(),Z.update(A.scrollPosition);if(G)b();let x=D?.("_scrollbar:getInstance");if(x)x()?.updateBounds(C,A.containerSize)}function K(Q){let G=B.getOffset(Q);if(H)return`translate(${Math.round(G)}px, 0)`;return`translate(0, ${Math.round(G)}px)`}function W(Q,G){let C=B.getSize(G);if(H)Q.style.width=`${C}px`;else Q.style.height=`${C}px`}function b(){F.forEach((Q)=>{Q.remove();let G=Q.getAttribute("data-id");if(G)z.set(G,Q);else L.release(Q)}),F.clear(),_.clear()}function S(){if(z.size>0)z.forEach((Q)=>L.release(Q)),z.clear()}function i(Q,G,C,x){if(G.type==="header"){let t=`__group_header_${G.group.groupIndex}`;if(Q.getAttribute("data-id")===t)return!0;Q.className=V,Q.setAttribute("role","presentation"),Q.removeAttribute("aria-selected"),Q.setAttribute("data-id",t);let q2=Y(G.group.key,G.group.groupIndex);if(typeof q2==="string")Q.innerHTML=q2;else Q.innerHTML="",Q.appendChild(q2);return!0}let o=G.dataIndex,I=N(o);if(!I)return Q.innerHTML="",!1;let m=I._isPlaceholder===!0,a=String(I.id);if(!m&&Q.getAttribute("data-id")===a){if(O)Q.id=`${E}-item-${x}`,Q.setAttribute("aria-posinset",String(o+1)),Q.setAttribute("aria-setsize",String(A.totalItems));return!0}if(Q.className=w,Q.setAttribute("role","option"),Q.setAttribute("data-id",a),O)Q.id=`${E}-item-${x}`,Q.setAttribute("aria-posinset",String(o+1)),Q.setAttribute("aria-setsize",String(A.totalItems));if(m)Q.classList.add(`${E}-item--placeholder`);if(C)C(x,g2);else g2.selected=!1,g2.focused=!1;let e=r(I,o,g2);if(typeof e==="string")Q.innerHTML=e;else Q.innerHTML="",Q.appendChild(e);return!m}function s(){if(A.destroyed)return;v();let{scrollPosition:Q,containerSize:G}=A;if(!h&&Q===p&&G===P)return;p=Q,P=G;let C=h;h=!1;let x=R();if(G<=0||x===0){if(F.size>0)F.forEach((n)=>{n.remove(),L.release(n)}),F.clear(),_.clear();return}let o=B.indexAtOffset(Q),I=B.indexAtOffset(Q+G);if(I<x-1)I++;o=Math.max(0,o),I=Math.min(x-1,Math.max(0,I));let m=Math.max(0,o-X),a=Math.min(x-1,I+X);if(m===A.prevRangeStart&&a===A.prevRangeEnd&&!A.renderPending)return;F.forEach((n,$2)=>{if($2<m||$2>a)n.remove(),L.release(n),F.delete($2),_.delete($2)});let e=y?.()??null,t=e?`${E}-item--selected`:"",q2=e?`${E}-item--focused`:"",K2=null;for(let n=m;n<=a;n++){let $2=F.get(n),B2=!1;if($2===void 0){let U2=$.getEntry(n);B2=U2.type==="header";let Y2;if(U2.type==="header")Y2=`__group_header_${U2.group.groupIndex}`;else{let L2=N(U2.dataIndex);if(L2&&L2._isPlaceholder!==!0)Y2=String(L2.id)}if(Y2!==void 0){let L2=z.get(Y2);if(L2)z.delete(Y2),$2=L2}if(!$2)$2=L.acquire();if($2.setAttribute("data-index",String(n)),i($2,U2,e,n))_.delete(n);else _.add(n);if(W($2,n),$2.style.transform=K(n),F.set(n,$2),!K2)K2=document.createDocumentFragment();K2.appendChild($2)}else if(C&&_.has(n)){let U2=$.getEntry(n);if(U2.type==="item")if(i($2,U2,e,n))_.delete(n);else _.add(n)}else B2=$2.classList.contains(V);if(!B2&&e)if(e(n,g2),$2.classList.toggle(t,g2.selected),$2.classList.toggle(q2,g2.focused),g2.selected)$2.setAttribute("aria-selected","true");else $2.removeAttribute("aria-selected")}if(K2)M.appendChild(K2);S();let G2=B.getTotalSize();M.style[H?"width":"height"]=G2+"px",A.prevRangeStart=m,A.prevRangeEnd=a,A.renderPending=!1;let M2=0,W2=0,J2=!1;for(let n=m;n<=a&&M2<A.capacity;n++){let $2=$.getEntry(n);if($2.type==="item"){if(!J2)W2=$2.dataIndex,J2=!0;A.visibleIndices[M2]=$2.dataIndex,A.visibleOffsets[M2]=B.getOffset(n),A.visibleSizes[M2]=B.getSize(n),M2++}}A.visibleCount=M2,A.startIndex=W2}function g(){if(A.destroyed)return;if(G1)console.log(`[groups] forceRender, placeholders: ${_.size}, rendered: ${F.size}`);let Q=c?.()??0;if(Q!==l){l=Q;let G=$.groups,C=G.length;$.rebuild(u,T??N);let x=$.groups,o=x.length!==C;if(!o){for(let I=0;I<C;I++)if(x[I].headerLayoutIndex!==G[I].headerLayoutIndex){o=!0;break}}if(o){k($.totalEntries);let I=B.getTotalSize();if(M.style[H?"width":"height"]=I+"px",Z)Z.refresh(),Z.update(A.scrollPosition);let m=1/0,a=Math.min(C,x.length);for(let t=0;t<a;t++)if(x[t].headerLayoutIndex!==G[t].headerLayoutIndex){m=Math.min(x[t].headerLayoutIndex,G[t].headerLayoutIndex);break}if(x.length>C&&a<x.length)m=Math.min(m,x[a].headerLayoutIndex);else if(C>x.length&&a<C)m=Math.min(m,G[a].headerLayoutIndex);if(m<=A.prevRangeEnd)b();let e=D?.("_scrollbar:getInstance");if(e)e()?.updateBounds(I,A.containerSize)}}A.prevRangeStart=-1,A.prevRangeEnd=-1,A.renderPending=!0,h=!0,s()}return{name:"groups",priority:10,setup(Q){B=Q.sizeCache,A=Q.getState(),L=Q.pool,M=Q.dom.content,U=Q.dom.root,r=Q.template,H=Q.config.axis.primary==="x",E=Q.config.classPrefix,X=Q.config.overscan,N=Q.getItem.bind(Q),y=()=>Q.getItemStateFn(),D=Q.getMethod.bind(Q),O=Q.config.interactive,w=`${E}-item`,V=`${E}-group-header`,queueMicrotask(()=>{let I=D?.("_getLoadedItem");if(I)T=I;let m=D?.("_getLoadedCount");if(m)c=m});let G=A.totalItems;$=_1(G,j,T??N),u=G;let C=typeof J==="number"?(I)=>J:(I)=>{let m=$.groups[I];if(!m)return 0;return J(m.key,I)},x=B.getSize,o=(I)=>{let m=$.getEntry(I);if(m.type==="header"){if(j.sticky!==!1&&m.group.groupIndex===0)return 0;return C(m.group.groupIndex)}return x(m.dataIndex)};if(Q.setSizeConfig(o),k=B.rebuild,B.rebuild=(I)=>{k($.totalEntries)},B.rebuild($.totalEntries),Q.setVirtualTotalFn(()=>$.totalEntries),U.classList.add(`${E}--grouped`),j.sticky!==!1){let I=(e,t)=>{let q2=$.groups[t];if(!q2)return;let K2=Y(q2.key,t);if(typeof K2==="string")e.innerHTML=K2;else e.replaceChildren(K2)},m=$.getHeaderHeight(0),a=L0(U,E,H,m);if(Z=M1(U,$,B,I,E,H,0,void 0,a),Z.update(A.scrollPosition),!H)Q.dom.viewport.style.height=`calc(100% - ${m}px)`;else Q.dom.viewport.style.width=`calc(100% - ${m}px)`}Q.setRenderFn(s,g),Q.registerMethod("getGroupLayout",()=>$),Q.registerMethod("_dataToLayoutIndex",(I)=>$.dataToLayoutIndex(I)),Q.registerMethod("_layoutToDataIndex",(I)=>$.layoutToDataIndex(I)),Q.registerMethod("_getRenderedElement",(I)=>F.get(I)??null),Q.registerMethod("_isGroupHeader",(I)=>{return $.getEntry(I).type==="header"}),Q.registerMethod("scrollToIndex",(I,m="start")=>{let a=$.dataToLayoutIndex(I),e=$.totalEntries;if(e===0)return;let t=Math.max(0,Math.min(a,e-1)),q2=B.getOffset(t),K2=B.getSize(t),G2=A.containerSize,M2=B.getTotalSize(),W2=Math.max(0,M2-G2),J2=typeof m==="string"?m:m.align??"start",n=typeof m==="object"?m.behavior:void 0,$2=typeof m==="object"?m.duration:void 0,B2;switch(J2){case"center":B2=q2-(G2-K2)/2;break;case"end":B2=q2-G2+K2;break;default:B2=q2}if(B2=Math.max(0,Math.min(B2,W2)),n==="smooth"&&$2&&$2>0)Q.smoothScrollTo(B2,$2);else Q.scrollTo(B2)}),Q.registerDestroyHandler(()=>{for(let[,I]of F)I.remove();if(F.clear(),_.clear(),Z)Z.destroy(),Z=null;U.classList.remove(`${E}--grouped`)})},hooks:{onAfterScroll(Q,G){if(Z)Z.update(Q)}},destroy(){if(Z)Z.destroy(),Z=null;F.clear(),_.clear(),z.clear()}}}var X1=(j,J=50,q=1/0,Y=!0)=>{let $=j,Z=[],B=0,A=()=>{Z=$.map((X,y)=>({def:X,index:y,width:0,minWidth:r1(X.minWidth??J,1),maxWidth:X.maxWidth??q,resizable:X.resizable??Y,offset:0}))},L=(X)=>{if(Z.length===0){B=0;return}let y=0,w=0;for(let V=0;V<Z.length;V++){let D=Z[V],O=D.def;if(O.width!==void 0)D.width=O0(O.width,D.minWidth,D.maxWidth),y+=D.width;else w++}if(w){let D=Math.max(0,X-y)/w;for(let O=0;O<Z.length;O++){let F=Z[O];if(F.def.width===void 0)F.width=O0(D,F.minWidth,F.maxWidth)}}M()},M=()=>{let X=0;for(let y=0;y<Z.length;y++){let w=Z[y];w.offset=X,X+=w.width}B=X},U=(X,y)=>{if(X<0||X>=Z.length)return 0;let w=Z[X];if(!w.resizable)return w.width;let V=O0(y,w.minWidth,w.maxWidth);return w.width=V,M(),V},r=(X)=>{return Z[X]},N=(X)=>{if(Z.length===0)return;if(X<0)return Z[0];if(X>=B)return Z[Z.length-1];let y=0,w=Z.length-1;while(y<w){let V=y+w>>>1,D=Z[V];if(X<D.offset)w=V-1;else if(X>=D.offset+D.width)y=V+1;else return D}return Z[y]},T=(X)=>{if(X<0||X>=Z.length)return 0;return Z[X].offset},H=(X)=>{if(X<0||X>=Z.length)return 0;return Z[X].width},E=(X)=>{$=X,A()};return A(),{get columns(){return Z},get totalWidth(){return B},resolve:L,updateColumns:E,resizeColumn:U,getColumn:r,getColumnAtX:N,getColumnOffset:T,getColumnWidth:H}},O0=(j,J,q)=>Math.min(q,Math.max(J,j)),r1=(j,J)=>Math.max(J,j);var A1=(j,J,q,Y,$,Z)=>{let B=document.createElement("div");B.setAttribute("role","rowgroup");let A=document.createElement("div");A.className=`${q}-table-header`,A.setAttribute("role","row"),A.setAttribute("aria-rowindex","1"),A.style.height=`${J}px`;let L=document.createElement("div");L.className=`${q}-table-header-scroll`,L.setAttribute("role","presentation"),A.appendChild(L),B.appendChild(A),j.insertBefore(B,j.firstChild),j.style.setProperty("--vlist-table-header-height",`${J}px`);let M=[],U=[],r=!0,N=null,T="asc",H=null,E=!1,X=-1,y=0,w=0,V=0,D=(K,W)=>{let b=document.createElement("div");b.className=`${q}-table-header-cell`,b.setAttribute("role","columnheader"),b.setAttribute("aria-colindex",String(W+1)),b.setAttribute("tabindex",W===0?"0":"-1"),b.dataset.columnKey=K.def.key;let S=K.def.align;if(S==="center")b.classList.add(`${q}-table-header-cell--center`);else if(S==="right")b.classList.add(`${q}-table-header-cell--right`);let i=document.createElement("div");i.className=`${q}-table-header-content`;let s=K.def.header?K.def.header(K.def):K.def.label;if(typeof s==="string")i.textContent=s;else i.appendChild(s);if(b.appendChild(i),K.def.sortable){let g=document.createElement("span");g.className=`${q}-table-header-sort`,g.setAttribute("aria-hidden","true"),b.appendChild(g),U.push(g),b.classList.add(`${q}-table-header-cell--sortable`)}else U.push(null);if(K.resizable){let g=document.createElement("div");g.className=`${q}-table-header-resize`,g.dataset.resizeIndex=String(W),b.appendChild(g)}return b},O=(K)=>{H=K,L.textContent="",M=[],U=[];let W=K.columns;for(let b=0;b<W.length;b++){let S=W[b],i=D(S,b);M.push(i),L.appendChild(i)}if(F(K),N)_(N,T)},F=(K)=>{H=K;let W=K.columns;L.style.width=`${K.totalWidth}px`;for(let b=0;b<M.length&&b<W.length;b++){let S=M[b],i=W[b];S.style.width=`${i.width}px`}},_=(K,W)=>{if(N=K,T=W,!H)return;let b=H.columns;for(let S=0;S<U.length&&S<b.length;S++){let i=U[S];if(!i)continue;if(b[S].def.key===K)i.textContent=W==="asc"?"▲":"▼",i.style.opacity="0.7",M[S].setAttribute("aria-sort",W==="asc"?"ascending":"descending");else i.textContent="",i.style.opacity="0",M[S].removeAttribute("aria-sort")}},z=(K)=>{L.style.transform=`translateX(${-K}px)`},p=(K)=>{let W=K.target;if(!W.dataset.resizeIndex)return;if(K.preventDefault(),K.stopPropagation(),X=+W.dataset.resizeIndex,!H)return;let b=H.getColumn(X);if(!b?.resizable)return;E=!0,y=K.clientX,w=b.width,j.classList.add(`${q}--col-resizing`),j.style.cursor="col-resize",W.classList.add(`${q}-table-header-resize--active`),W.setPointerCapture(K.pointerId),W.addEventListener("pointermove",P),W.addEventListener("pointerup",h),W.addEventListener("pointercancel",h)},P=(K)=>{if(!E||!H)return;let W=K.clientX-y;if(Math.abs(W)<1)return;let b=Math.max(0,w+W);Y(X,b)},h=(K)=>{if(!E)return;let W=K.target;W.removeEventListener("pointermove",P),W.removeEventListener("pointerup",h),W.removeEventListener("pointercancel",h);try{W.releasePointerCapture(K.pointerId)}catch{}W.classList.remove(`${q}-table-header-resize--active`),j.classList.remove(`${q}--col-resizing`),j.style.cursor="",E=!1,X=-1},u=(K)=>{let W=K.target;if(W.dataset.resizeIndex)return;if(E)return;let b=W;while(b&&!b.dataset.columnKey)if(b=b.parentElement,b===A||b===null)return;let S=b.dataset.columnKey;if(!H)return;let i=H.columns,s=-1;for(let Q=0;Q<i.length;Q++)if(i[Q].def.key===S){s=Q;break}if(s===-1)return;let g=i[s];if(Z)Z({key:S,index:s,event:K});if(g.def.sortable&&$){let Q;if(N===S)Q=T==="asc"?"desc":null;else Q="asc";$({key:S,index:s,direction:Q})}},l=(K)=>{if(K<0||K>=M.length)return;M[V]?.setAttribute("tabindex","-1"),V=K;let W=M[V];W.setAttribute("tabindex","0"),W.focus()},c=(K)=>{let W=K.key;if(W==="ArrowRight"){if(K.ctrlKey||K.metaKey){if(!H)return;let b=H.getColumn(V);if(b?.resizable)Y(V,b.width+10),K.preventDefault()}else if(V<M.length-1)l(V+1),K.preventDefault();K.stopPropagation();return}if(W==="ArrowLeft"){if(K.ctrlKey||K.metaKey){if(!H)return;let b=H.getColumn(V);if(b?.resizable)Y(V,b.width-10),K.preventDefault()}else if(V>0)l(V-1),K.preventDefault();K.stopPropagation();return}if(W==="Home"){l(0),K.preventDefault(),K.stopPropagation();return}if(W==="End"){l(M.length-1),K.preventDefault(),K.stopPropagation();return}if(W==="Enter"||W===" "){if(!H)return;let b=H.getColumn(V);if(b?.def.sortable&&$){let S;if(N===b.def.key)S=T==="asc"?"desc":null;else S="asc";$({key:b.def.key,index:V,direction:S}),K.preventDefault()}K.stopPropagation();return}if(W==="ArrowDown"){j.focus(),K.preventDefault(),K.stopPropagation();return}};return A.addEventListener("pointerdown",p),A.addEventListener("click",u),A.addEventListener("keydown",c),{element:A,update:F,updateSort:_,rebuild:O,show:()=>{if(r)return;r=!0,A.style.display=""},hide:()=>{if(!r)return;r=!1,A.style.display="none"},destroy:()=>{A.removeEventListener("pointerdown",p),A.removeEventListener("click",u),A.removeEventListener("keydown",c),j.style.removeProperty("--vlist-table-header-height"),B.remove(),M=[],U=[],H=null,r=!1},syncScroll:z}};var s1=()=>{let j=[];return{acquire:()=>j.pop()||document.createElement("div"),release:(J)=>{if(J.parentNode?.removeChild(J),j.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="",j.push(J)},clear:()=>{j.length=0}}},D1=(j,J,q,Y,$,Z,B,A,L)=>{let M=s1(),U=new Map,r=-1,N=q,T=null,H=null,E=null,X=(I,m)=>{H=I,E=m},y=(I,m)=>{m?I.setAttribute("aria-selected","true"):I.removeAttribute("aria-selected")},w=(I,m,a,e)=>{I.setAttribute("role",m),I.setAttribute("data-id",String(a)),I.setAttribute("data-index",String(e))},V=(I)=>String(I).startsWith("__placeholder_"),D=`${$}-item ${$}-table-row`,O=`${$}-item--selected`,F=`${$}-item--focused`,_=`${$}-table-cell`,z=`${$}-table-cell--center`,p=`${$}-table-cell--right`,P=`${$}-item--odd`,h=`${$}-item--placeholder`,u=`${$}-item--replaced`,l=`${$}-item ${$}-table-row ${$}-table-group-header`,c=`${$}-table-group-header-content`,k=(I,m,a,e,t=!1)=>{if(a.def.cell){let q2=a.def.cell(m,a.def,e);if(typeof q2==="string")I.innerHTML=q2;else I.replaceChildren(q2)}else{let q2=m[a.def.key],K2=q2!=null?String(q2):"";if(t&&K2)I.innerHTML=`<span>${K2}</span>`;else I.textContent=K2}},R=(I,m,a,e,t=!1)=>{let q2=D;if(A){if(T){let K2=T(m);if(K2>=0&&(K2&1)===1)q2+=` ${P}`}else if((m&1)===1)q2+=` ${P}`}if(t)q2+=` ${h}`;if(a)q2+=` ${O}`;if(e)q2+=` ${F}`;I.className=q2},v=(I,m,a)=>{if(a?.compression?.isCompressed)return Math.round(n2(I,a.scrollPosition,m,a.totalItems,a.containerSize,a.compression,a.rangeStart));return m.getOffset(I)},K=(I,m)=>{let a=m.def.align;if(a==="center")I.classList.add(z),I.classList.remove(p);else if(a==="right")I.classList.add(p),I.classList.remove(z);else I.classList.remove(z,p)},W=(I,m)=>{let e=N.columns.length;if(m.length===e)return m;let t=[];for(let q2=0;q2<e;q2++){let K2;if(q2<m.length)K2=m[q2];else K2=document.createElement("div"),K2.className=_,I.appendChild(K2);t.push(K2)}for(let q2=e;q2<m.length;q2++)m[q2].remove();return t},b=(I,m,a,e)=>{let t=M.acquire(),q2=I,K2=a.getSize(m),G2=v(m,a,e);t.style.cssText=`width:${N.totalWidth}px;height:${K2}px;transform:translateY(${G2}px)`,t.className=l,w(t,"presentation",I.id,m),t.removeAttribute("aria-selected"),t.removeAttribute("aria-rowindex"),t.replaceChildren();let M2=document.createElement("div");if(M2.className=c,E){let W2=E(q2.groupKey,q2.groupIndex);if(typeof W2==="string")M2.innerHTML=W2;else M2.appendChild(W2)}return t.appendChild(M2),{element:t,cells:[],index:m,isGroupHeader:!0,lastItemId:I.id,lastSelected:!1,lastFocused:!1,lastOffset:G2,lastHeight:K2}},S=(I,m,a,e,t,q2)=>{let K2=M.acquire(),G2=t.getSize(m),M2=v(m,t,q2),W2=V(I.id);K2.style.cssText=`width:${N.totalWidth}px;height:${G2}px;transform:translateY(${M2}px)`,R(K2,m,a,e,W2),w(K2,"row",I.id,m),K2.id=`${Z}-item-${m}`,K2.setAttribute("aria-rowindex",String(m+2)),y(K2,a);let J2=W(K2,[]),n=N.columns;for(let $2=0;$2<J2.length&&$2<n.length;$2++){let B2=J2[$2],U2=n[$2];B2.style.cssText=`left:${U2.offset}px;width:${U2.width}px`,B2.setAttribute("role","gridcell"),B2.setAttribute("aria-colindex",String($2+1)),K(B2,U2),k(B2,I,U2,m,W2)}return{element:K2,cells:J2,index:m,isGroupHeader:!1,lastItemId:I.id,lastSelected:a,lastFocused:e,lastOffset:M2,lastHeight:G2}},i=(I,m,a,e,t)=>{for(let[W2,J2]of U)if(W2<m.start||W2>m.end)M.release(J2.element),U.delete(W2);let q2=!1,K2=B();if(K2!==r)r=K2,q2=!0;let G2=null,M2=J();T=typeof A==="string"&&L?L():null;for(let W2=m.start;W2<=m.end;W2++){let J2=W2-m.start,n=I[J2];if(!n)continue;let $2=a.has(n.id),B2=W2===e,U2=H?H(n):!1,Y2=U.get(W2);if(Y2){if(Y2.isGroupHeader!==U2){M.release(Y2.element),U.delete(W2);let A2=U2?b(n,W2,M2,t):S(n,W2,$2,B2,M2,t);if(U.set(W2,A2),!G2)G2=document.createDocumentFragment();G2.appendChild(A2.element);continue}if(U2){if(Y2.lastItemId!==n.id){let b2=n,F2=Y2.element.firstElementChild;if(F2&&E){let y2=E(b2.groupKey,b2.groupIndex);if(typeof y2==="string")F2.innerHTML=y2;else F2.replaceChildren(y2)}Y2.element.setAttribute("data-id",String(n.id)),Y2.lastItemId=n.id}let L2=v(W2,M2,t);if(Y2.lastOffset!==L2)Y2.lastOffset=L2,Y2.element.style.transform=`translateY(${L2}px)`;let X2=M2.getSize(W2);if(Y2.lastHeight!==X2)Y2.lastHeight=X2,Y2.element.style.height=`${X2}px`}else{let A2=Y2.lastItemId!==n.id,L2=Y2.lastSelected!==$2,X2=Y2.lastFocused!==B2;if(A2){let y2=Y2.lastItemId!=null&&V(Y2.lastItemId),D2=V(n.id);if(!D2&&c2(a,W2,n.id))$2=!0;let k2=N.columns;for(let H2=0;H2<Y2.cells.length&&H2<k2.length;H2++)k(Y2.cells[H2],n,k2[H2],W2,D2);if(R(Y2.element,W2,$2,B2,D2),Y2.element.setAttribute("data-id",String(n.id)),y(Y2.element,$2),y2&&!D2)Y2.element.classList.add(u),setTimeout(()=>{Y2.element.classList.remove(u)},300);Y2.lastItemId=n.id,Y2.lastSelected=$2,Y2.lastFocused=B2}else if(L2||X2)R(Y2.element,W2,$2,B2,V(n.id)),y(Y2.element,$2),Y2.lastSelected=$2,Y2.lastFocused=B2;let b2=v(W2,M2,t);if(Y2.lastOffset!==b2)Y2.lastOffset=b2,Y2.element.style.transform=`translateY(${b2}px)`;let F2=M2.getSize(W2);if(Y2.lastHeight!==F2)Y2.lastHeight=F2,Y2.element.style.height=`${F2}px`;if(q2)Y2.element.setAttribute("aria-rowindex",String(W2+2))}}else{if(c2(a,W2,n.id))$2=!0;let A2=U2?b(n,W2,M2,t):S(n,W2,$2,B2,M2,t);if(U.set(W2,A2),!G2)G2=document.createDocumentFragment();G2.appendChild(A2.element)}}if(G2)j.appendChild(G2)},s=(I)=>{let m=J();for(let[a,e]of U){let t=v(a,m,I);if(e.lastOffset!==t)e.lastOffset=t,e.element.style.transform=`translateY(${t}px)`}},g=(I,m,a,e)=>{let t=U.get(I);if(!t)return;if(t.isGroupHeader)return;let q2=N.columns;for(let K2=0;K2<t.cells.length&&K2<q2.length;K2++)k(t.cells[K2],m,q2[K2],I);t.element.setAttribute("data-id",String(m.id)),t.lastItemId=m.id,R(t.element,I,a,e),y(t.element,a),t.lastSelected=a,t.lastFocused=e},Q=(I,m,a)=>{let e=U.get(I);if(!e)return;if(e.isGroupHeader)return;let t=e.lastSelected!==m,q2=e.lastFocused!==a;if(t||q2)R(e.element,I,m,a),y(e.element,m),e.lastSelected=m,e.lastFocused=a},G=(I)=>{N=I;let m=I.columns;for(let[,a]of U)if(a.element.style.width=`${I.totalWidth}px`,a.cells.length>0)for(let e=0;e<a.cells.length&&e<m.length;e++){let t=a.cells[e],q2=m[e];t.style.left=`${q2.offset}px`,t.style.width=`${q2.width}px`}},C=(I)=>{return U.get(I)?.element},x=()=>{for(let[,I]of U)M.release(I.element);U.clear(),r=-1};return{render:i,updatePositions:s,updateItem:g,updateItemClasses:Q,getElement:C,updateColumnLayout:G,setGroupHeaderFn:X,clear:x,destroy:()=>{x(),M.clear()}}};var a1=new Set;function E0(j){if(!j.columns?.length)throw Error("[vlist] table: columns must be a non-empty array");if(j.rowHeight===void 0&&j.estimatedRowHeight===void 0)throw Error("[vlist] table: either rowHeight or estimatedRowHeight is required");let J=null,q=null,Y=null,$,Z,B=null,A=null,L=null,M=!1,U=-1,r=-1,N=-1,T=!0,H=-1;function E(){if(M||!B)return;M=!0,A=B.getMethod("_getSelectedIds")??null,L=B.getMethod("_getFocusedIndex")??null}let X=[],y={start:0,end:0};function w(){if($.destroyed||!B||!Y||!J)return;let{scrollPosition:D,containerSize:O,totalItems:F}=$;if(!T&&D===U&&O===r&&F===N)return;if(U=D,r=O,N=F,T=!1,O<=0||F===0)return;let _=F+1;if(_!==H)H=_,B.dom.root.setAttribute("aria-rowcount",`${_}`);let z=Z.indexAtOffset(D),p=Z.indexAtOffset(D+O);if(p<F-1)p++;z=Math.max(0,z),p=Math.min(F-1,p);let P=B.config.overscan,h=Math.max(0,z-P),u=Math.min(F-1,p+P);if(h===$.prevRangeStart&&u===$.prevRangeEnd&&!$.renderPending)return;E();let l=A?.()??a1,c=L?.()??-1;X.length=0;for(let R=h;R<=u;R++){let v=B.getItem(R);if(v)X.push(v)}y.start=h,y.end=u,Y.render(X,y,l,c),$.prevRangeStart=h,$.prevRangeEnd=u,$.renderPending=!1;let k=u-h+1;$.visibleCount=Math.min(k,$.capacity),$.startIndex=h;for(let R=0;R<$.visibleCount;R++){let v=h+R;$.visibleIndices[R]=v,$.visibleOffsets[R]=Z.getOffset(v),$.visibleSizes[R]=Z.getSize(v)}B.dom.content.style.height=Z.getTotalSize()+"px"}function V(){if($.destroyed)return;$.prevRangeStart=-1,$.prevRangeEnd=-1,$.renderPending=!0,T=!0,w()}return{name:"table",priority:10,conflicts:["grid","masonry"],setup(D){B=D,$=D.getState(),Z=D.sizeCache;let{dom:O,config:F,emitter:_}=D,{classPrefix:z}=F;if(F.axis.primary==="x")throw Error("[vlist] table: cannot be used with horizontal orientation");if(F.reverse)throw Error("[vlist] table: cannot be used with reverse mode");let p=j.resizable??!0,P=j.minColumnWidth??50,h=j.maxColumnWidth??1/0,u=j.rowBorders??!0,l=j.rowHeight,c=j.headerHeight??(typeof l==="number"?l:40),k=j.sort?.key??null,R=j.sort?.direction??"asc";if(J=X1(j.columns,P,h,p),typeof l==="function"||typeof l==="number")D.setSizeConfig(l);if(D.rebuildSizeCache(),O.root.classList.add(`${z}--table`),u)O.root.classList.add(`${z}--table-row-borders`);if(j.columnBorders)O.root.classList.add(`${z}--table-col-borders`);if(F.interactive)O.root.setAttribute("tabindex","0");O.root.setAttribute("role","grid"),O.root.setAttribute("aria-colcount",`${j.columns.length}`),O.viewport.setAttribute("role","none"),O.content.setAttribute("role","rowgroup");let v=$.crossSize;J.resolve(v);let K=()=>{if(!J)return;O.content.style.minWidth=`${J.totalWidth}px`},W=(g,Q)=>{if(!J)return;let G=J.getColumn(g);if(!G)return;let C=G.width,x=J.resizeColumn(g,Q);q?.update(J),Y?.updateColumnLayout(J),K(),_.emit("column:resize",{key:G.def.key,index:g,previousWidth:C,width:x})},b=(g)=>{k=g.direction===null?null:g.key,R=g.direction??"asc",q?.updateSort(k,R),_.emit("column:sort",g)};if(q=A1(O.root,c,z,W,b),q.rebuild(J),k)q.updateSort(k,R);K(),Y=D1(O.content,()=>Z,J,j.columns,z,z,()=>$.totalItems,F.striped||void 0),D.setRenderFn(w,V);let S=q,i=-1,s=()=>{let g=O.viewport.scrollLeft;if(g!==i)i=g,S?.syncScroll?.(g)};O.viewport.addEventListener("scroll",s,{passive:!0}),D.registerMethod("updateColumns",(g)=>{if(!J||!q)return;if(J.updateColumns(g),J.resolve($.crossSize),q.rebuild(J),k)q.updateSort(k,R);K(),Y?.updateColumnLayout(J),Y?.clear(),D.forceRender()}),D.registerMethod("resizeColumn",(g,Q)=>{if(!J)return;let G;if(typeof g==="string"){let C=J.columns;G=-1;for(let x=0;x<C.length;x++)if(C[x].def.key===g){G=x;break}if(G===-1)return}else G=g;W(G,Q)}),D.registerMethod("getColumnWidths",()=>{if(!J)return{};let g={},Q=J.columns;for(let G=0;G<Q.length;G++)g[Q[G].def.key]=Q[G].width;return g}),D.registerMethod("setSort",(g,Q)=>{k=g,R=Q??"asc",q?.updateSort(k,R)}),D.registerMethod("getSort",()=>{return{key:k,direction:R}}),D.registerMethod("_getTableLayout",()=>J),D.registerMethod("_getTableHeaderHeight",()=>c),D.registerMethod("_updateRenderedItem",(g,Q,G,C)=>{Y?.updateItem(g,Q,G,C)}),D.registerMethod("_replaceTableRenderer",(g)=>{Y=g}),D.registerMethod("_updateTableForGroups",(g,Q)=>{Y?.setGroupHeaderFn(g,Q)}),D.registerMethod("_updateItemClasses",(g,Q,G)=>{Y?.updateItemClasses(g,Q,G)}),D.registerKeydownHandler((g)=>{if(g.key!=="ArrowLeft"&&g.key!=="ArrowRight")return;if(!J)return;let Q=J.columns;if(Q.length===0)return;let G=O.viewport.clientWidth;if(J.totalWidth<=G)return;let C=O.viewport.scrollLeft;if(g.key==="ArrowRight"){for(let x=0;x<Q.length;x++)if(Q[x].offset>C+1){O.viewport.scrollLeft=Q[x].offset,g.preventDefault();return}}else{for(let x=Q.length-1;x>=0;x--)if(Q[x].offset<C-1){O.viewport.scrollLeft=Q[x].offset,g.preventDefault();return}if(C>0)O.viewport.scrollLeft=0,g.preventDefault()}}),D.registerDestroyHandler(()=>{O.viewport.removeEventListener("scroll",s),q?.destroy(),q=null,Y?.destroy(),Y=null,O.content.style.minWidth="",O.root.classList.remove(`${z}--table`),O.root.classList.remove(`${z}--table-row-borders`),O.root.classList.remove(`${z}--table-col-borders`),O.root.removeAttribute("role"),O.root.removeAttribute("aria-colcount"),O.root.removeAttribute("aria-rowcount"),O.root.removeAttribute("tabindex"),O.viewport.removeAttribute("role"),O.content.removeAttribute("role")})},hooks:{onResize(D,O){if(!J||!B)return;let F=$.crossSize;if(J.resolve(F),q?.update(J),Y?.updateColumnLayout(J),J)B.dom.content.style.minWidth=`${J.totalWidth}px`},onAfterScroll(){if(!B||!q)return;q?.syncScroll?.(B.dom.viewport.scrollLeft)}},destroy(){q?.destroy(),q=null,Y?.destroy(),Y=null,B=null}}}function R0(j){let J=j?.handle??null,q=j?.ghostClass??"vlist-sort-ghost",Y=j?.shiftDuration??150,$=j?.edgeScrollZone??40,Z=j?.edgeScrollSpeed??20,B=j?.dragThreshold??5,A=j?.ghostContainer??null,L,M,U=null,r,N,T,H,E,X,y,w,V,D,O=!1,F=-1,_=-1,z=0,p=0,P=0,h=0,u=!1,l=null,c=0,k=null,R=0,v=0,K=0,W=null,b=!1,S="",i=-1,s=-1,g=[],Q="",G=null,C=null,x="",o=!1,I=(f)=>{return f.closest("[data-index]")},m=(f)=>{let Q2=f.dataset.index;return Q2===void 0?-1:+Q2},a=(f)=>{let Q2=f.getBoundingClientRect(),j2=f.cloneNode(!0);return j2.className=`${H}-item ${q}`,j2.removeAttribute("data-index"),j2.style.cssText=`position:fixed;pointer-events:none;z-index:10000;width:${Q2.width}px;height:${Q2.height}px;left:${Q2.left}px;top:${Q2.top}px;transition:none;will-change:transform`,(A||document.body).appendChild(j2),j2},e=()=>{if(!l)return;l.style.left=`${P-v}px`,l.style.top=`${h-K}px`},t=()=>{let f=L.totalItems;if(f===0)return 0;let Q2=N.getBoundingClientRect(),j2=L.scrollPosition,V2=E?P-v-Q2.left+N.scrollLeft+j2:h-K-Q2.top+j2,_2=V2+R,T2=M.getOffset(F)+M.getSize(F);if(_2>T2){let E2=M.indexAtOffset(_2),C2=M.getOffset(E2)+M.getSize(E2)/2,I2=_2>C2?E2:E2-1;return Math.min(Math.max(I2,F),f-1)}let w2=M.getOffset(F);if(V2<w2){let E2=M.indexAtOffset(V2),C2=M.getOffset(E2)+M.getSize(E2)/2,I2=V2<C2?E2:E2+1;return Math.max(Math.min(I2,F),0)}return F},q2=()=>{let f=r.children,Q2=R;for(let j2=0;j2<f.length;j2++){let V2=f[j2],_2=m(V2);if(_2<0||_2===F)continue;let T2=0;if(_>F){if(_2>F&&_2<=_)T2=-Q2}else if(_<F){if(_2>=_&&_2<F)T2=Q2}let w2=M.getOffset(_2),E2=Math.round(w2+T2);V2.style.transition=y,V2.style.transform=`${X}(${E2}px)`}},K2=()=>{let f=r.children;for(let Q2=0;Q2<f.length;Q2++){let j2=f[Q2],V2=m(j2);if(V2>=0)j2.style.transform=`${X}(${Math.round(M.getOffset(V2))}px)`;j2.style.transition=""}},G2=()=>{if(!U)return;let f=t();if(f===_)return;_=f,q2(),U.emitter.emit("sort:move",{fromIndex:F,currentIndex:_})},M2=()=>{let f=N.getBoundingClientRect();if(E)return P<f.left||P>f.right;return h<f.top||h>f.bottom},W2=()=>{let f=U?.getMethod("_getFocusedIndex");return f?f():-1},J2=(f)=>{let Q2=U?.getMethod("_focusById");if(Q2)Q2(f)},n=(f)=>{if(!U)return;let Q2=E?N.clientWidth:N.clientHeight,j2=L.scrollPosition,V2=M.getOffset(f),_2=V2+M.getSize(f);if(V2<j2)U.scrollTo(Math.max(0,V2));else if(_2>j2+Q2)U.scrollTo(_2-Q2)},$2=(f)=>{if(!C)return;C.textContent="",C.offsetHeight,C.textContent=f},B2=(f)=>{if(!U)return"";let j2=U.getItems()[f];if(!j2)return"";return r.querySelector(`[data-index="${f}"]`)?.textContent?.trim()||String(j2.id)},U2=()=>String(L.totalItems),Y2=(f)=>{let Q2=r.children;for(let j2=0;j2<Q2.length;j2++)Q2[j2].style.transition=f},A2=()=>{let f=()=>{if(!O||!U)return;let Q2=N.getBoundingClientRect(),j2=0,V2=3;if(E){let T2=P-Q2.left,w2=Q2.right-P;if(T2<$){let E2=Math.min(V2,1-T2/$);j2=-Z*E2*E2}else if(w2<$){let E2=Math.min(V2,1-w2/$);j2=Z*E2*E2}}else{let T2=h-Q2.top,w2=Q2.bottom-h;if(T2<$){let E2=Math.min(V2,1-T2/$);j2=-Z*E2*E2}else if(w2<$){let E2=Math.min(V2,1-w2/$);j2=Z*E2*E2}}let _2=M2();if(j2!==0){let T2=L.scrollPosition,w2=M.getTotalSize()-(E?N.clientWidth:N.clientHeight);if(j2<0&&T2<=0||j2>0&&T2>=w2)o=_2;else o=!0,U.scrollTo(T2+j2)}else o=_2;c=requestAnimationFrame(f)};c=requestAnimationFrame(f)},L2=()=>{if(c)cancelAnimationFrame(c),c=0},X2=(f=!1)=>{if(O=!1,u=!1,l&&l.parentNode)l.remove();l=null,k=null;let Q2=r.children;for(let V2=0;V2<Q2.length;V2++){let _2=Q2[V2];_2.classList.remove(D);let T2=m(_2);if(T2>=0)_2.style.transform=`${X}(${Math.round(M.getOffset(T2))}px)`;_2.style.transition=""}L2(),T.classList.remove(w),document.body.style.cursor="";let j2=window.getSelection();if(j2)j2.removeAllRanges();if(document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),!f&&U)U.forceRender()},b2=(f,Q2)=>{if(!U)return;let j2=f!==Q2&&f>=0&&Q2>=0,V2=()=>{if(!U)return;if(O=!1,j2){if(T.classList.add(V),U.emitter.emit("sort:end",{fromIndex:f,toIndex:Q2}),W!==null)J2(W);X2(!0),requestAnimationFrame(()=>T.classList.remove(V))}else T.classList.add(V),U.emitter.emit("sort:cancel",{originalItems:[...U.getItems()]}),X2(!1),requestAnimationFrame(()=>T.classList.remove(V))};if(!l){V2();return}let _2=N.getBoundingClientRect(),T2=L.scrollPosition,w2=M.getOffset(Q2),E2=Y>0?Y:150;if(l.style.transition=`left ${E2}ms ease, top ${E2}ms ease`,E)l.style.left=`${_2.left-N.scrollLeft+w2-T2}px`,l.style.top=`${_2.top}px`;else l.style.left=`${_2.left}px`,l.style.top=`${_2.top+w2-T2}px`;let C2=!1,I2=()=>{if(C2)return;C2=!0,l?.removeEventListener("transitionend",I2),V2()};l.addEventListener("transitionend",I2),setTimeout(I2,E2+50)},F2=(f)=>{if(L.destroyed||!U)return;if(O)return;if(b)P2();if(f.button!==0)return;let Q2=f.target;if(J){if(!Q2.closest(J))return}let j2=I(Q2);if(!j2)return;let V2=m(j2);if(V2<0)return;z=f.clientX,p=f.clientY,P=f.clientX,h=f.clientY,F=V2,u=!1,k=j2;let _2=j2.getBoundingClientRect();v=f.clientX-_2.left,K=f.clientY-_2.top,document.addEventListener("pointermove",y2),document.addEventListener("pointerup",D2),document.addEventListener("pointercancel",H2)};function y2(f){if(!U)return;if(P=f.clientX,h=f.clientY,!u){let Q2=P-z,j2=h-p;if(Math.sqrt(Q2*Q2+j2*j2)<B)return;if(u=!0,O=!0,_=F,T.classList.add(w),document.body.style.cursor="grabbing",R=M.getSize(F),k)l=a(k),k.classList.add(D);let V2=W2();if(V2>=0){let T2=U.getItems()[V2];W=T2?T2.id:null}else W=null;U.emitter.emit("sort:start",{index:F}),A2()}if(O){if(f.preventDefault(),e(),!o)G2();else if(M2()){if(_!==F)_=F,K2()}}}function D2(f){if(!u){document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),k=null;return}f.preventDefault(),document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),L2(),b2(F,_)}let k2=()=>{if(!u)return;document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),L2(),K2(),b2(F,F)};function H2(){k2()}let z2=()=>{let f=r.querySelectorAll(`.${x}`);for(let Q2=0;Q2<f.length;Q2++)f[Q2].classList.remove(x)},N2=()=>{z2();let f=r.querySelector(`[data-id="${S}"]`);if(f)f.classList.add(x)},O2=(f)=>{if(!U)return;let Q2=U.getItems(),j2=Q2[f];if(!j2)return;b=!0,S=j2.id,i=f,s=f,g=[...Q2],T.classList.add(w),U.emitter.emit("sort:start",{index:f}),N2(),$2(`Grabbed ${B2(f)}. Current position ${f+1} of ${U2()}. Use Up and Down arrow keys to move, Space to drop, Escape to cancel.`)},R2=()=>{if(!b||!U)return;b=!1;let f=s,Q2=B2(f);Y2("none"),T.classList.remove(w),z2(),J2(S),U.forceRender(),$2(`${Q2} dropped. Final position ${f+1} of ${U2()}.`),g=[],requestAnimationFrame(()=>Y2(""))},P2=()=>{if(!b||!U)return;b=!1;let f=i;if(Y2("none"),T.classList.remove(w),z2(),s!==f)U.emitter.emit("sort:cancel",{originalItems:g});J2(S),U.forceRender(),n(f),$2(`Reorder cancelled. Returned to position ${f+1} of ${U2()}.`),g=[],requestAnimationFrame(()=>Y2(""))},Z2=(f)=>{if(!b||!U)return;let Q2=L.totalItems,j2=s+f;if(j2<0||j2>=Q2)return;let V2=s,_2=j2;Y2("none"),U.emitter.emit("sort:end",{fromIndex:V2,toIndex:_2}),s=_2,J2(S),U.forceRender(),n(_2),N2(),$2(`${B2(_2)} moved. New position ${_2+1} of ${U2()}.`),requestAnimationFrame(()=>Y2(""))},d=(f)=>{if(L.destroyed)return;if(O){if(f.key==="Escape")f.preventDefault(),f.stopImmediatePropagation(),k2();return}if(b)switch(f.key){case" ":case"Enter":f.preventDefault(),f.stopImmediatePropagation(),R2();return;case"Escape":f.preventDefault(),f.stopImmediatePropagation(),P2();return;case"ArrowUp":case"ArrowLeft":f.preventDefault(),f.stopImmediatePropagation(),Z2(-1);return;case"ArrowDown":case"ArrowRight":f.preventDefault(),f.stopImmediatePropagation(),Z2(1);return;default:if(!f.key.startsWith("F")&&f.key!=="Tab")f.preventDefault(),f.stopImmediatePropagation();return}if(f.key===" "&&!f.shiftKey&&!f.ctrlKey&&!f.metaKey){let Q2=W2();if(Q2>=0)f.preventDefault(),f.stopImmediatePropagation(),O2(Q2)}};return{name:"sortable",priority:30,conflicts:["grid","masonry","table","scale"],setup(f){U=f,L=f.getState(),M=f.sizeCache,r=f.dom.content,N=f.dom.viewport,T=f.dom.root,H=f.config.classPrefix,E=f.config.axis.primary==="x",X=E?"translateX":"translateY",y=Y>0?`transform ${Y}ms ease`:"none",w=`${H}--sorting`,V=`${H}--settling`,D=`${H}-item--drag-source`,x=`${H}-item--kb-sorting`,f.registerMethod("isSorting",()=>O||b),r.addEventListener("pointerdown",F2),T.addEventListener("keydown",d),Q=`${H}-sort-instructions`,G=document.createElement("div"),G.id=Q,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",G.textContent="Press Space to reorder. Use arrow keys to move, Space to drop, Escape to cancel.",T.appendChild(G),C=document.createElement("div"),C.setAttribute("role","status"),C.setAttribute("aria-live","assertive"),C.setAttribute("aria-atomic","true"),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",T.appendChild(C),f.registerDestroyHandler(()=>{if(b)P2();X2(),r.removeEventListener("pointerdown",F2),T.removeEventListener("keydown",d),G?.remove(),C?.remove()})},hooks:{onCommit(){if(!U)return;let f=r.children;for(let Q2=0;Q2<f.length;Q2++){let j2=f[Q2],V2=m(j2);if(V2<0)continue;if(j2.setAttribute("aria-roledescription","sortable item"),j2.setAttribute("aria-describedby",Q),b)if(j2.getAttribute("data-id")===String(S))j2.classList.add(x);else j2.classList.remove(x);if(O)if(V2===F)j2.classList.add(D),k=j2;else{j2.classList.remove(D);let _2=0;if(_>F){if(V2>F&&V2<=_)_2=-R}else if(_<F){if(V2>=_&&V2<F)_2=R}let T2=Math.round(M.getOffset(V2)+_2);j2.style.transform=`${X}(${T2}px)`}}}},destroy(){if(l&&l.parentNode)l.remove();l=null,L2(),G?.remove(),C?.remove(),U=null}}}var o1=50,i1=0.1;function H1(j){let J=0,q=0,Y=0;function $(){return Y>0?q/Y:0}function Z(L){if(J=L,L>i1&&L<o1)q+=L,Y++}function B(){let L=j.getTotal();if(L===0)return 0;let M=j.getItemSize();if(M<=0)return 0;let U=j.getContainerSize();if(U<=0)return 0;let r=j.getScrollPosition(),N=typeof j.getColumns==="function"?j.getColumns():1,H=Math.ceil(L/N)*M,X=Math.min(H,S2)-U,y=H-U,w=X>0?y/X:1,V=r*w,D=Math.ceil((V+U)/M);return Math.min(D*N,L)}function A(){let L=j.getTotal(),M=B();return{progress:L>0?Math.min(100,Math.max(0,M/L*100)):0,velocity:J,velocityAvg:$(),itemCount:M,total:L}}return{getState:A,onVelocity:Z}}export{G0 as transition,E0 as table,R0 as sortable,M0 as snapshots,V0 as selection,U0 as scrollbar,B0 as scale,_0 as page,A0 as masonry,F0 as groups,W0 as grid,D0 as data,i0 as createVList,H1 as createStats,X0 as autosize,N0 as a11y};