vlist 2.0.3 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.github.md +9 -9
- package/README.md +10 -10
- package/dist/core/dom.d.ts +2 -1
- package/dist/core/pipeline.d.ts +3 -3
- package/dist/core/types.d.ts +1 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -1
- package/dist/internals.js +1 -1
- package/dist/plugins/masonry/layout.d.ts +2 -0
- package/dist/plugins/masonry/types.d.ts +2 -0
- package/dist/plugins/table/renderer.d.ts +1 -1
- package/dist/size.json +1 -1
- package/dist/utils/rebuild.d.ts +40 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
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,""")}"`;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};
|
|
1
|
+
var a2=3,z0="vlist";var o2=50;var P0=50,w0=2,v0=15,C0=6,S2=16000000,l2=150,Y0=1,i2=(j)=>j<0.5?2*j*j:1-(-2*j+2)**2/2,n2=300;var f0="x",I0=20,Z0="_isPlaceholder",f2="__placeholder_";var t2={top:0,right:0,bottom:0,left:0},h0=(j)=>{if(j==null)return t2;if(typeof j==="number")return j===0?t2:{top:j,right:j,bottom:j,left:j};if(j.length===2){let[Z,B]=j;return Z===0&&B===0?t2:{top:Z,right:B,bottom:Z,left:B}}let[$,q,Y,J]=j;return $===0&&q===0&&Y===0&&J===0?t2:{top:$,right:q,bottom:Y,left:J}},S0=(j,$)=>$?j.left+j.right:j.top+j.bottom,p0=(j,$)=>$?j.top+j.bottom:j.left+j.right;function u0(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,Y,J=a2){if(Y<=0||q<=0)return;let Z=Math.ceil(q/Y)+J*2;if(Z<=$.capacity)return;let B=Z+8,X=new Int32Array(B),L=new Float64Array(B),A=new Float64Array(B);X.set($.visibleIndices),L.set($.visibleOffsets),A.set($.visibleSizes),$.visibleIndices=X,$.visibleOffsets=L,$.visibleSizes=A,$.capacity=B},clear(){$.visibleCount=0,$.startIndex=0}};return $}var E1=(j,$)=>{let q=$;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}},R1=(j,$)=>{let q=$,Y=new Float64Array(0),J=(B)=>{q=B,Y=new Float64Array(B+1),Y[0]=0;for(let X=0;X<B;X++)Y[X+1]=Y[X]+j(X)};J($);let Z=(B)=>{if(q===0)return 0;if(B<=0)return 0;if(B>=Y[q])return q-1;let X=0,L=q-1;while(X<L){let A=X+L+1>>>1;if(Y[A]<=B)X=A;else L=A-1}return X};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)=>J(B),isVariable:()=>!0}},e2=(j,$)=>{if(typeof j==="number")return E1(j,$);return R1(j,$)},K0=(j,$,q,Y)=>{if(Y===0)return 0;if(!j.isVariable())return Math.ceil(q/j.getSize(0));let J=0,Z=0,B=$;while(B<Y&&Z<q)Z+=j.getSize(B),J++,B++;return Math.max(1,J)};function g0(j){let $=[],q=`${j}-item`,Y=document.createElement("div");return Y.className=q,{acquire(){if($.length>0)return $.pop();return Y.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.textContent="",$.length<100)$.push(J)},get size(){return $.length},clear(){$.length=0}}}function x2(j){let $=j.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let q=0;q<$.length;q++)$[q].setAttribute("tabindex","-1")}function x0(j){if(typeof j==="string"){let $=document.querySelector(j);if(!$)throw Error(`[vlist] Container not found: ${j}`);return $}return j}function m0(j,$,q,Y){let J=q?`${$} ${$}--horizontal`:$,Z=q?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",B=q?"position:relative;height:100%":"position:relative;width:100%",X=' role="list"';if(Y)X+=` aria-label="${Y.replace(/"/g,""")}"`;if(q)X+=' aria-orientation="horizontal"';j.insertAdjacentHTML("beforeend",`<div class="${J}"><div class="${$}-viewport" style="${Z}" tabindex="-1"><div class="${$}-content" style="${B}"${X}></div></div></div>`);let L=j.lastElementChild,A=L.firstElementChild,U=A.firstElementChild,c=document.createElement("div");return c.className=`${$}-live`,c.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",c.setAttribute("aria-live","polite"),c.setAttribute("aria-atomic","true"),c.setAttribute("role","status"),L.appendChild(c),{root:L,viewport:A,content:U,liveRegion:c}}function d0(j){let{state:$,viewport:q,isX:Y,wheelEnabled:J,onFrame:Z,onIdle:B}=j,X=j.idleTimeout||l2,L=j.scrollTarget??q,A=null,U=null;function c(){let H=Y?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(),z()}function M(H){if($.isCompressed)return;let O;if(Y){if(Math.abs(H.deltaX)>Math.abs(H.deltaY))return;let P=q.scrollLeft,W=q.scrollWidth-q.clientWidth;if(O=Math.max(0,Math.min(P+H.deltaY*Y0,W)),Math.abs(O-P)<1)return;H.preventDefault(),q.scrollLeft=O}else{let P=q.scrollWidth>q.clientWidth;if(P&&Math.abs(H.deltaX)>Math.abs(H.deltaY))return;if(P&&H.deltaX!==0)H.preventDefault(),q.scrollLeft+=H.deltaX;let W=q.scrollTop,G=q.scrollHeight-q.clientHeight;if(O=Math.max(0,Math.min(W+H.deltaY*Y0,G)),Math.abs(O-W)<1)return;H.preventDefault(),q.scrollTop=O}$.prevScrollPosition=$.scrollPosition,$.scrollPosition=O,$.scrollDirection=O>$.prevScrollPosition?1:-1,Z(),z()}function z(){if(A!==null)clearTimeout(A);A=setTimeout(()=>{A=null,$.scrollDirection=0,B()},X)}function D(){if(U!==null)cancelAnimationFrame(U),U=null}function y(H,O,P,W=i2,G){D();let E=$.scrollPosition,T=typeof H==="function"?H:()=>H,R=T();if(Math.abs(R-E)<1){if(P)P(R);else if(Y)q.scrollLeft=R;else q.scrollTop=R;G?.();return}let w=performance.now();function g(C){R=T();let a=C-w,d=Math.min(a/O,1),o=E+(R-E)*W(d);if(P)P(o);else if(Y)q.scrollLeft=o;else q.scrollTop=o;if(!P)$.scrollPosition=o;if(Z(),d<1)U=requestAnimationFrame(g);else U=null,G?.()}U=requestAnimationFrame(g)}return{attach(){if(L.addEventListener("scroll",c,{passive:!0}),J)L.addEventListener("wheel",M,{passive:!1})},detach(){if(L.removeEventListener("scroll",c),J)L.removeEventListener("wheel",M);if(D(),A!==null)clearTimeout(A),A=null},cancelScroll:D,smoothScrollTo:y}}var r2=[],T1={calculate:r2,commit:r2,afterScroll:r2,idle:r2,resize:r2};function c0(j){if(j.length===0)return T1;let $=[],q=[],Y=[],J=[],Z=[];for(let B=0;B<j.length;B++){let X=j[B].hooks;if(X===void 0)continue;if(X.onCalculate!==void 0)$.push(X.onCalculate);if(X.onCommit!==void 0)q.push(X.onCommit);if(X.onAfterScroll!==void 0)Y.push(X.onAfterScroll);if(X.onIdle!==void 0)J.push(X.onIdle);if(X.onResize!==void 0)Z.push(X.onResize)}return{calculate:$,commit:q,afterScroll:Y,idle:J,resize:Z}}function l0(j,$){for(let q=0;q<j.length;q++)j[q]($)}function r0(j,$){for(let q=0;q<j.length;q++)j[q]($)}function B0(j,$,q){for(let Y=0;Y<j.length;Y++)j[Y]($,q)}function s0(j){for(let $=0;$<j.length;$++)j[$]()}function a0(j,$,q){for(let Y=0;Y<j.length;Y++)j[Y]($,q)}function o0(j,$,q,Y,J,Z,B,X){let L=Y!==0||J!==0;return{prefix:j,selectedClass:`${j}-item--selected`,focusedClass:`${j}-item--focused`,placeholderClass:`${j}-item--placeholder`,replacedClass:`${j}-item--replaced`,translateProp:$?"translateX(":"translateY(",sizeProp:$?"width":"height",itemRole:"listitem",interactive:!1,startPadding:q,gap:B,hasCrossPad:L,crossStartProp:L?$?"top":"left":"",crossEndProp:L?$?"bottom":"right":"",crossStartVal:L?Y+"px":"",crossEndVal:L?J+"px":"",oddClass:Z,emitter:X??null}}function b1(j,$,q,Y,J){if(j.containerSize<=0||j.totalItems===0)return j.clear(),!0;let{scrollPosition:Z,containerSize:B,totalItems:X}=j,L=J??0;j.totalSize=$.getTotalSize();let A=$.indexAtOffset(L>0?Math.max(0,Z-L):Z),U=$.indexAtOffset(Z+B);if(U<X-1)U++;A=Math.max(0,A),U=Math.min(X-1,Math.max(0,U));let c=Math.max(0,A-q),M=Math.min(X-1,U+q),z=Math.ceil(B/1)+q*2+10,D=M-c+1,y=Math.min(D,j.capacity,z);if(c===j.prevRangeStart&&M===j.prevRangeEnd&&!j.renderPending)return!1;j.visibleCount=y,j.startIndex=c;for(let H=0;H<y;H++){let O=c+H;j.visibleIndices[H]=O,j.visibleOffsets[H]=$.getOffset(O),j.visibleSizes[H]=$.getSize(O)}return l0(Y.calculate,j),j.prevRangeStart=c,j.prevRangeEnd=M,j.renderPending=!1,!0}var v2={selected:!1,focused:!1};function y1(j,$,q){for(let Y=0;Y<$;Y++)if(j[Y]===q)return!0;return!1}function k1(j,$){if($<=1)return!0;let q=j[0];for(let Y=1;Y<$;Y++){let J=j[Y];if(J!==q+1)return!1;q=J}return!0}function z1(j,$,q,Y,J,Z,B,X,L,A){let U=L?null:J(),c=j.visibleCount,M=j.visibleIndices,z=B.interactive?String(j.totalItems):"",D=B.interactive&&j.totalItems!==j.prevAriaTotal,y=null;for(let H=0;H<c;H++){let O=M[H],P=j.visibleOffsets[H],W=j.visibleSizes[H],G=L?L(O):U[O];if(A)A(O,v2);else v2.selected=!1,v2.focused=!1;let E=Z.get(O),T=E;if(E===void 0){let R=$.acquire();if(G!==void 0){let C;try{C=Y(G,O,v2)}catch(a){if(B.emitter)B.emitter.emit("error",{error:a instanceof Error?a:Error(String(a)),context:`template:render:${O}`});$.release(R);continue}if(typeof C==="string")R.innerHTML=C;else R.textContent="",R.appendChild(C);x2(R)}if(R.setAttribute("role",B.itemRole),R.setAttribute("data-index",String(O)),B.interactive)R.id=B.prefix+"-item-"+O,R.setAttribute("aria-posinset",String(O+1)),R.setAttribute("aria-setsize",z);if(G!==void 0){let C=String(G.id);if(R.setAttribute("data-id",C),C.startsWith(f2))R.classList.add(B.placeholderClass)}if(B.hasCrossPad)R.style.setProperty(B.crossStartProp,B.crossStartVal),R.style.setProperty(B.crossEndProp,B.crossEndVal);if(A){if(R.classList.toggle(B.selectedClass,v2.selected),R.classList.toggle(B.focusedClass,v2.focused),v2.selected)R.setAttribute("aria-selected","true");else R.removeAttribute("aria-selected");R._lastSelected=v2.selected,R._lastFocused=v2.focused}if(B.oddClass)R.classList.toggle(B.oddClass,(O&1)===1);let w=P+B.startPadding;R.style.transform=B.translateProp+w+"px)",R._lastOffset=w;let g=W-B.gap;if(R.style[B.sizeProp]=g+"px",R._lastSize=g,R._lastItem=G,Z.set(O,R),y===null)y=document.createDocumentFragment();y.appendChild(R)}else{if(D)E.setAttribute("aria-setsize",z);if(G!==void 0&&T._lastItem!==G){let g=E.getAttribute("data-id"),C=String(G.id),a;try{a=Y(G,O,v2)}catch(d){if(B.emitter)B.emitter.emit("error",{error:d instanceof Error?d:Error(String(d)),context:`template:render:${O}`});continue}if(typeof a==="string")E.innerHTML=a;else E.textContent="",E.appendChild(a);if(x2(E),E.setAttribute("data-id",C),T._lastItem=G,g!==C){let d=g!==null&&g.startsWith(f2),o=C.startsWith(f2);if(d!==o)E.classList.toggle(B.placeholderClass,o);if(d&&!o)E.classList.add(B.replacedClass),setTimeout(()=>{E.classList.remove(B.replacedClass)},300)}}if(A){if(T._lastSelected!==v2.selected){if(E.classList.toggle(B.selectedClass,v2.selected),v2.selected)E.setAttribute("aria-selected","true");else E.removeAttribute("aria-selected");T._lastSelected=v2.selected}if(T._lastFocused!==v2.focused)E.classList.toggle(B.focusedClass,v2.focused),T._lastFocused=v2.focused}let R=P+B.startPadding;if(T._lastOffset!==R)E.style.transform=B.translateProp+R+"px)",T._lastOffset=R;let w=W-B.gap;if(T._lastSize!==w)E.style[B.sizeProp]=w+"px",T._lastSize=w}}if(y!==null)q.appendChild(y);if(c>0&&k1(M,c)){let H=M[0],O=M[c-1];for(let[P,W]of Z)if(P<H||P>O)W.remove(),$.release(W),Z.delete(P)}else for(let[H,O]of Z)if(!y1(M,c,H))O.remove(),$.release(O),Z.delete(H);if(B.interactive)j.prevAriaTotal=j.totalItems;r0(X.commit,j)}function U0(j,$,q,Y,J,Z,B,X,L,A,U,c){if(b1(j,$,q,A,L.startPadding))z1(j,Y,J,Z,B,X,L,A,U,c)}var N0=()=>{let 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:$,off:q,emit:(Z,B)=>{j[Z]?.forEach((X)=>{try{X(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 i0=2,n0=(j=0)=>({velocity:0,sampleCount:0}),t0=(j,$)=>{let q=performance.now(),Y=j._lt??q,J=j._lp??$,Z=q-Y;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 P1(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 w1(j,$){let q=j==="horizontal"?"x":"y";if($.some((J)=>J.name==="grid"))return{primary:q,cross:q==="x"?"y":"x"};return{primary:q}}function v1(j,$){let q=w1(j.orientation,$),Y=q.primary==="x",J=h0(j.padding);return{axis:q,hasCrossAxis:q.cross!==void 0,overscan:j.overscan??a2,reverse:j.reverse??!1,classPrefix:j.classPrefix??z0,mainAxisPadding:S0(J,Y),crossAxisPadding:p0(J,Y),startPadding:Y?J.left:J.top,endPadding:Y?J.right:J.bottom,crossPadStart:Y?J.top:J.left,crossPadEnd:Y?J.bottom:J.right,striped:j.item.striped||!1,gap:j.item.gap??0}}function C1(j,$){if($)return j.item.width??j.item.estimatedWidth??100;return j.item.height??j.item.estimatedHeight??40}function f1(j){let $=[...j];return $.sort((q,Y)=>(q.priority??50)-(Y.priority??50)),$}function I1(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 Y of q.conflicts)if($.has(Y))throw Error(`[vlist] Plugin "${q.name}" conflicts with "${Y}"`)}}function e0(j,$=[]){P1(j);let q=v1(j,$),Y=q.axis.primary==="x",J=C1(j,Y),Z=q.gap,B=Z>0?typeof J==="function"?(K2)=>J(K2)+Z:J+Z:J,X=typeof J==="number"?J:20,L=j.items?.length??0,A=q.striped?`${q.classPrefix}-item--odd`:"",U=N0(),c=o0(q.classPrefix,Y,q.startPadding,q.crossPadStart,q.crossPadEnd,A,Z,U),M=$.length>0?f1($):$;if($.length>0)I1(M);let z=x0(j.container),D=m0(z,q.classPrefix,Y,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 H=e2(B,L);if(Z>0){let K2=H.getTotalSize;H.getTotalSize=()=>{let r=K2();return r>0?r-Z:0}}let O=g0(q.classPrefix),P=Math.ceil(4096/X)+q.overscan*2+8,W=u0(P);W.totalItems=L;let G=j.items??[],E=()=>G,T=new Map,R=n0(),w={velocity:0,reliable:!1},g={range:{start:0,end:-1}},C={scrollPosition:0,direction:"down"},a={scrollPosition:0},d=-1,o=-1,i=-1,k=null,S=c0(M),u=new Map,K=[],V=[],N=[],v=null,s=null,l=null,I=null,Q=null,_=null,h=null,x=null,f=null,F=null,b=!1,m=!1,e=null,n=0,Q2=0,Z2=null,G2=null,M2=null,N2=null,J2=null;if(W.containerSize=Y?D.viewport.clientWidth:D.viewport.clientHeight,W.crossSize=Y?D.viewport.clientHeight:D.viewport.clientWidth,$.length>0){let K2={dom:D,sizeCache:H,pool:O,config:q,emitter:U,template:j.item.template,registerMethod(r,p){u.set(r,p)},getMethod(r){return u.get(r)},registerClickHandler(r){K.push(r)},registerKeydownHandler(r){V.push(r)},registerDestroyHandler(r){N.push(r)},enableListboxRole(){let r=D.content.getAttribute("role");if(!r||r==="list")D.content.setAttribute("role","listbox"),D.content.setAttribute("tabindex","0");c.itemRole="option",c.interactive=!0},setSizeConfig(r){let p=e2(r,W.totalItems);Object.assign(H,p)},setScrollFns(r,p){s=r,l=p},setVirtualTotalFn(r){v=r},getItems:E,getItem(r){return _?_(r):G[r]},getState(){return W},rebuildSizeCache(){H.rebuild(W.totalItems)},updateContentSize(r){W.totalSize=r,D.content.style[Y?"width":"height"]=r+q.mainAxisPadding+"px"},setRenderFn(r,p){I=r,Q=p},renderIfNeeded(){L2()},forceRender(){F2()},setGetItemFn(r){_=r},setItemStateFn(r){h=r},getItemStateFn(){return h},get rawSizeSpec(){return J},scrollTo(r){if(l)l(r);else if(Y)D.viewport.scrollLeft=r;else D.viewport.scrollTop=r},smoothScrollTo(r,p,j2,q2){if(M2)M2(r,p,l??void 0,j2,q2);else K2.scrollTo(typeof r==="function"?r():r)},disableDefaultScroll(){b=!0},disableDefaultResize(){m=!0},setScrollTarget(r){e=r},setScrollToPosFn(r){N2=r},setScrollToIndexFn(r){J2=r},onScrollFrame:X2,onScrollIdle:b2,removeItemById(r){if(x)return x(r);let p=G.findIndex((j2)=>j2.id===r);if(p===-1)return-1;return G.splice(p,1),W.totalItems=G.length,H.rebuild(W.totalItems),A2(),p},insertItemAt(r,p){if(f){f(r,p);return}G.splice(p,0,r),W.totalItems=G.length,H.rebuild(W.totalItems),A2()},setRemoveItemFn(r){x=r},setInsertItemFn(r){f=r},setUpdateItemFn(r){F=r},getRenderedElement(r){let p=u.get("_getRenderedElement");if(p)return p(r);return T.get(r)??null},setNavConfig(r){if(r.ud!==void 0)n=r.ud;if(r.lr!==void 0)Q2=r.lr;if(r.scrollIndex)Z2=r.scrollIndex;if(r.navigate)G2=r.navigate},getNavConfig:(()=>{let r={ud:0,lr:0,scrollIndex:null,navigate:null};return()=>{return r.ud=n,r.lr=Q2,r.scrollIndex=Z2,r.navigate=G2,r}})()};for(let r of M)if(r.setup)try{r.setup(K2)}catch(p){U.emit("error",{error:p instanceof Error?p:Error(String(p)),context:`plugin:setup:${r.name}`})}}let t=q.classPrefix+"--scrolling",$2=!1,B2=j.scroll?.idleTimeout??l2;function U2(){if(C.scrollPosition=W.scrollPosition,Y)C.direction=W.scrollDirection>0?"right":"left";else C.direction=W.scrollDirection>0?"down":"up";if(U.emit("scroll",C),t0(R,W.scrollPosition),w.velocity=R.velocity,w.reliable=R.sampleCount>=i0,U.emit("velocity:change",w),W.startIndex!==d||W.prevRangeEnd!==o)d=W.startIndex,o=W.prevRangeEnd,g.range.start=W.startIndex,g.range.end=W.prevRangeEnd,U.emit("range:change",g)}let Y2=!1;function A2(){if(I)return;let K2=H.getTotalSize();if(D.content.style[Y?"width":"height"]=K2+q.mainAxisPadding+"px",!Y2&&K2>S2)Y2=!0,U.emit("error",{error:Error(`Content size (${K2}px) exceeds browser limit (${S2}px). Use the scale() plugin for large datasets.`),context:"content:size:overflow"})}function L2(){if(I)I();else U0(W,H,q.overscan,O,D.content,j.item.template,E,T,c,S,_,h)}function X2(){if(!$2)$2=!0,D.root.classList.add(t);if(L2(),B0(S.afterScroll,W.scrollPosition,W.scrollDirection),W.scrollPosition!==i)i=W.scrollPosition,U2()}function b2(){if($2)$2=!1,D.root.classList.remove(t);W.scrollDirection=0,s0(S.idle),w.velocity=0,w.reliable=!1,U.emit("velocity:change",w),a.scrollPosition=W.scrollPosition,U.emit("scroll:idle",a)}function F2(){if(W.renderPending=!0,Q)Q();else U0(W,H,q.overscan,O,D.content,j.item.template,E,T,c,S,_,h);if(B0(S.afterScroll,W.scrollPosition,W.scrollDirection),W.scrollPosition!==i){if(i=W.scrollPosition,U2(),k!==null)clearTimeout(k);k=setTimeout(b2,B2)}}let y2=d0({state:W,viewport:D.viewport,isX:Y,wheelEnabled:b?!1:j.scroll?.wheel!==!1,idleTimeout:j.scroll?.idleTimeout??l2,...e?{scrollTarget:e}:{},onFrame:X2,onIdle:b2});M2=y2.smoothScrollTo;function D2(K2){let p=K2.target.closest("[data-index]");if(!p)return null;let j2=parseInt(p.getAttribute("data-index"),10);if(Number.isNaN(j2))return null;let q2=G[j2];if(q2===void 0)return null;return{item:q2,index:j2}}function k2(K2){for(let p=0;p<K.length;p++)K[p](K2);let r=D2(K2);if(r)U.emit("item:click",{item:r.item,index:r.index,event:K2})}function H2(K2){let r=D2(K2);if(r)U.emit("item:dblclick",{item:r.item,index:r.index,event:K2})}function P2(K2){let r=D2(K2);if(r)U.emit("item:contextmenu",{item:r.item,index:r.index,event:K2})}function W2(K2){for(let r=0;r<V.length;r++)V[r](K2)}if(D.content.addEventListener("click",k2),D.content.addEventListener("dblclick",H2),D.content.addEventListener("contextmenu",P2),V.length>0)D.content.addEventListener("keydown",W2);let O2=null;if(!m)setTimeout(()=>{if(W.destroyed)return;O2=new ResizeObserver((r)=>{for(let p of r){let{width:j2,height:q2}=p.contentRect,V2=Y?j2:q2,_2=Y?q2:j2;if(Math.abs(V2-W.containerSize)<1&&Math.abs(_2-W.crossSize)<1)continue;W.containerSize=V2,W.crossSize=_2,W.resizeCapacity(V2,X,q.overscan),F2(),a0(S.resize,j2,q2),U.emit("resize",{width:j2,height:q2})}}),O2.observe(D.viewport)},0);W.resizeCapacity(W.containerSize,X,q.overscan),A2(),W.initialized=!0;let R2=null;if(j.defer)R2=requestAnimationFrame(()=>{if(R2=null,!W.destroyed)L2()});else L2();if(!b)y2.attach();let z2={get element(){return D.root},get items(){return G},get total(){return v?v():G.length},setItems(K2){G=[...K2],W.totalItems=G.length,H.rebuild(W.totalItems),A2(),F2()},appendItems(K2){G.push(...K2),W.totalItems=G.length,H.rebuild(W.totalItems),A2(),F2()},prependItems(K2){G.unshift(...K2),W.totalItems=G.length,H.rebuild(W.totalItems),A2(),F2()},updateItem(K2,r){if(F){if(!F(K2,r))return}else{let p=G.findIndex((j2)=>j2.id===K2);if(p===-1)return;G[p]={...G[p],...r}}F2()},insertItem(K2,r){if(f)f(K2,r??W.totalItems);else{if(r===void 0)G.push(K2);else G.splice(r,0,K2);W.totalItems=G.length,H.rebuild(W.totalItems),A2()}F2()},removeItem(K2){if(x){if(x(K2)<0)return}else{let r=G.findIndex((p)=>p.id===K2);if(r===-1)return;G.splice(r,1),W.totalItems=G.length,H.rebuild(W.totalItems),A2()}F2()},removeItems(K2){if(x){let q2=0;for(let V2 of K2)if(x(V2)>=0)q2++;if(q2>0)F2();return q2}let r=new Set(K2),p=G.length;G=G.filter((q2)=>!r.has(q2.id));let j2=p-G.length;if(j2>0)W.totalItems=G.length,H.rebuild(W.totalItems),A2(),W.renderPending=!0,L2();return j2},getItemAt(K2){return G[K2]},getIndexById(K2){return G.findIndex((r)=>r.id===K2)},scrollToIndex(K2,r="start"){let p=v?v():G.length;if(p===0)return;let j2=Math.max(0,Math.min(K2,p-1)),q2=typeof r==="string"?r:r.align??"start",V2=typeof r==="object"?r.behavior:void 0,_2=typeof r==="object"?r.duration:void 0,T2=typeof r==="object"?r.easing:void 0;if(J2&&J2(j2,q2,V2,_2,T2)!==!1)return;let w2=H.getOffset(j2),E2=H.getSize(j2),C2=W.containerSize,h2=H.getTotalSize(),k0=q.mainAxisPadding,F1=Math.max(0,h2+k0-C2),I2;if(N2)I2=N2(j2,H,C2,p,q2);else{let O1=q.startPadding;switch(q2){case"center":I2=O1+w2-(C2-E2)/2;break;case"end":I2=w2+E2+k0-C2;break;default:I2=w2}I2=Math.max(0,Math.min(I2,F1))}if(V2==="smooth")y2.smoothScrollTo(I2,_2??n2,l??void 0,T2);else if(l)l(I2);else if(Y)D.viewport.scrollLeft=I2;else D.viewport.scrollTop=I2},getScrollPosition(){return s?s():W.scrollPosition},on:U.on.bind(U),off:U.off.bind(U),destroy(){if(W.destroyed)return;if(W.destroyed=!0,$2)$2=!1,D.root.classList.remove(t);if(R2!==null)cancelAnimationFrame(R2),R2=null;if(k!==null)clearTimeout(k),k=null;y2.detach(),O2?.disconnect(),D.content.removeEventListener("click",k2),D.content.removeEventListener("dblclick",H2),D.content.removeEventListener("contextmenu",P2),D.content.removeEventListener("keydown",W2);let K2=[];for(let r of N)try{r()}catch(p){K2.push(p instanceof Error?p:Error(String(p)))}for(let r of M)if(r.destroy)try{r.destroy()}catch(p){K2.push(p instanceof Error?p:Error(String(p)))}for(let[,r]of T)r.remove();if(T.clear(),O.clear(),D.root.remove(),U.emit("destroy",void 0),U.clear(),K2.length>0)for(let r of K2)console.error("vlist: error during destroy:",r)}};for(let[K2,r]of u)z2[K2]=r;return z2}var $1=(j,$,q)=>{let Y=$.getTotalSize(),J=q===!0||Y>S2,Z=Y>S2?S2:Y,B=Y>0?Z/Y:1;return{isCompressed:J,actualSize:Y,virtualSize:Z,ratio:B}},d2=(j,$,q,Y,J,Z)=>{if(Y===0||$===0)return Z.start=0,Z.end=-1,Z;if(!J.isCompressed||J.ratio===1){let z=q.indexAtOffset(j),D=q.indexAtOffset(j+$);if(D<Y-1)D++;return Z.start=Math.max(0,z),Z.end=Math.min(Y-1,Math.max(0,D)),Z}let{virtualSize:B}=J,X=j/B,L=q.getTotalSize(),A=X*L,U=q.indexAtOffset(A),c=K0(q,Math.max(0,U),$,Y),M=U+c;return Z.start=Math.max(0,U),Z.end=Math.min(Y-1,Math.max(0,M)),Z};var m2=(j,$,q,Y,J,Z,B)=>{if(!Z.isCompressed||Y===0)return q.getOffset(j);if(Z.ratio===1)return q.getOffset(j)-$;let{virtualSize:X}=Z,L=$/X,A=q.getTotalSize(),U=L*A;return q.getOffset(j)-U},$0=(j,$,q,Y,J,Z="start")=>{if(Y===0)return 0;let B;if(J.isCompressed&&J.ratio!==1){B=j/Y*J.virtualSize;let U=$.getSize(j);switch(Z){case"center":B-=(q-U)/2*J.ratio;break;case"end":B-=(q-U)*J.ratio;break}return Math.max(0,B)}B=$.getOffset(j);let X=$.getSize(j);switch(Z){case"center":B-=(q-X)/2;break;case"end":B-=q-X;break}let L=J.virtualSize-q;return Math.max(0,Math.min(B,L))};var h1=(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}},J0=(j,$,q={},Y="vlist",J=!1,Z)=>{let{autoHide:B=!0,autoHideDelay:X=1000,minThumbSize:L=15,showOnHover:A=!0,showOnViewportEnter:U=!0,clickBehavior:c="scroll"}=q,M=c==="page"?"scroll":c,z=Z??j,D=h1(q.padding),y=J?D.left:D.top,H=J?D.right:D.bottom,O=J?D.bottom:D.right,P=q.hoverZoneWidth??O+16,W=0,G=0,E=0,T=0,R=!1,w=!1,g=0,C=0,a=0,d=null,o=!1,i=null,k=0,S=0,u=null,K=null,V=null,N=J?"width":"height",v=J?"translateX":"translateY",s=J?(W2)=>W2.clientX:(W2)=>W2.clientY,l=J?"left":"top",I=document.createElement("div"),Q=document.createElement("div"),_=document.createElement("div"),h=J?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",x=()=>{if(z===j)return;let W2=j.offsetTop;I.style[J?"left":"top"]=W2?`calc(var(${h}) + ${W2}px)`:`var(${h})`,_.style[J?"left":"top"]=`${W2}px`},f=()=>{if(I.className=`${Y}-scrollbar`,Q.className=`${Y}-scrollbar__thumb`,J)I.classList.add(`${Y}-scrollbar--horizontal`);if(q.padding!==void 0)z.style.setProperty("--vlist-custom-scrollbar-padding-top",`${D.top}px`),z.style.setProperty("--vlist-custom-scrollbar-padding-right",`${D.right}px`),z.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${D.bottom}px`),z.style.setProperty("--vlist-custom-scrollbar-padding-left",`${D.left}px`);if(q.minThumbSize!==void 0)I.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${L}px`);if(I.appendChild(Q),z.appendChild(I),_.className=`${Y}-scrollbar__hover`,J)_.classList.add(`${Y}-scrollbar__hover--horizontal`),_.style.height=`${P}px`;else _.style.width=`${P}px`;if(z.appendChild(_),z!==j)x()},F=()=>{if(d)clearTimeout(d),d=null},b=()=>{if(!B)return;F(),d=setTimeout(e,X)},m=()=>{if(W<=G)return;if(F(),!o)I.classList.add(`${Y}-scrollbar--visible`),o=!0;if(B&&!R&&!w)b()},e=()=>{if(R||w)return;I.classList.remove(`${Y}-scrollbar--visible`),o=!1},n=(W2,O2)=>{if(W=W2,G=O2,x(),W<=G){I.style.display="none",e();return}I.style.display="";let R2=Math.max(0,G-y-H),z2=G/W;if(E=Math.max(L,z2*R2),Q.style[N]=`${E}px`,T=R2-E,Q2(a),!B)m()},Q2=(W2)=>{if(a=W2,W<=G||T<=0)return;let O2=W-G,R2=Math.min(1,Math.max(0,W2/O2));Q.style.transform=`${v}(${R2*T}px)`},Z2=(W2)=>{if(W2.target===Q||M!=="jump"||T<=0)return;let O2=W-G,R2=I.getBoundingClientRect(),z2=s(W2)-R2[l],K2=Math.max(0,Math.min(z2-E/2,T));$(K2/T*O2),m()},G2=()=>{if(u!==null)clearTimeout(u),u=null;if(K!==null)cancelAnimationFrame(K),K=null;V=null},M2=(W2)=>{let O2=T>0?S/W2*T:0;if(k<O2)return-1;if(k>=O2+E)return 1;return 0},N2=()=>{let W2=W-G,O2=M2(W2);if(O2===0){G2();return}if(O2===-1){if(S<=0){G2();return}let R2=Math.max(0,S-G);S=R2,$(R2)}else{if(S>=W2){G2();return}let R2=Math.min(W2,S+G);S=R2,$(R2)}m()},J2=(W2)=>{if(V===null){V=W2,K=requestAnimationFrame(J2);return}let O2=W-G,R2=W2-V;V=W2;let z2=M2(O2);if(z2===0){G2();return}let K2=12*G/1000,r=Math.min(K2*R2,G);if(z2===-1){if(S<=0){G2();return}let p=Math.max(0,S-r);S=p,$(p)}else{if(S>=O2){G2();return}let p=Math.min(O2,S+r);S=p,$(p)}F(),K=requestAnimationFrame(J2)},t=()=>{G2(),b(),document.removeEventListener("mouseup",t)},$2=(W2)=>{if(W2.target===Q||M!=="scroll")return;W2.preventDefault();let O2=I.getBoundingClientRect();k=s(W2)-O2[l],S=a,N2(),u=setTimeout(()=>{K=requestAnimationFrame(J2)},350),document.addEventListener("mouseup",t)},B2=(W2)=>{W2.preventDefault(),W2.stopPropagation(),R=!0,g=s(W2),C=a,F(),I.classList.add(`${Y}-scrollbar--dragging`),document.addEventListener("mousemove",U2),document.addEventListener("mouseup",Y2)},U2=(W2)=>{if(!R)return;let O2=s(W2)-g,R2=T>0?O2/T:0,z2=W-G,K2=R2*z2,r=Math.max(0,Math.min(C+K2,z2));Q.style.transform=`${v}(${r/z2*T}px)`,$(r)},Y2=()=>{if(R=!1,I.classList.remove(`${Y}-scrollbar--dragging`),B&&!w)b();document.removeEventListener("mousemove",U2),document.removeEventListener("mouseup",Y2)},A2=J?(W2)=>W2.touches[0].clientX:(W2)=>W2.touches[0].clientY,L2=(W2)=>{W2.stopPropagation(),R=!0,g=A2(W2),C=a,F(),I.classList.add(`${Y}-scrollbar--dragging`)},X2=(W2)=>{if(!R)return;W2.preventDefault();let O2=A2(W2)-g,R2=T>0?O2/T:0,z2=W-G,K2=R2*z2,r=Math.max(0,Math.min(C+K2,z2));Q.style.transform=`${v}(${r/z2*T}px)`,$(r)},b2=()=>{if(R=!1,I.classList.remove(`${Y}-scrollbar--dragging`),B)b()},F2=(W2)=>{if(W2.target===Q)return;if(T<=0)return;let O2=W2.touches[0],R2=I.getBoundingClientRect(),z2=(J?O2.clientX:O2.clientY)-R2[l];if(M==="jump"){let K2=W-G,r=Math.max(0,Math.min(z2-E/2,T));$(r/T*K2)}else k=z2,S=a,N2();m()},y2=()=>{if(U)m()},D2=()=>{if(!R){if(w=!1,B)b()}},k2=()=>{w=!0,F(),m()},H2=()=>{if(w=!1,!R&&B)b()},P2=()=>{if(F(),G2(),i!==null)cancelAnimationFrame(i),i=null;I.removeEventListener("click",Z2),I.removeEventListener("mousedown",$2),I.removeEventListener("mouseenter",k2),document.removeEventListener("mouseup",t),I.removeEventListener("mouseleave",H2),I.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),_.removeEventListener("click",Z2),_.removeEventListener("mousedown",$2),_.removeEventListener("mouseenter",k2),_.removeEventListener("mouseleave",H2),_.remove(),z.style.removeProperty("--vlist-custom-scrollbar-padding-top"),z.style.removeProperty("--vlist-custom-scrollbar-padding-right"),z.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),z.style.removeProperty("--vlist-custom-scrollbar-padding-left"),I.remove()};if(f(),I.addEventListener("click",Z2),I.addEventListener("mousedown",$2),I.addEventListener("mouseenter",k2),I.addEventListener("mouseleave",H2),I.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),_.addEventListener("click",Z2),_.addEventListener("mousedown",$2),A)_.addEventListener("mouseenter",k2),_.addEventListener("mouseleave",H2);return{show:m,hide:e,updateBounds:n,updatePosition:Q2,isVisible:()=>o,destroy:P2}};var S1=0.65,J1=0.5,Q1=1.7,p1=0.95,u1=0.1,c2=5,g1=100;function W0(j){let $=j?.force??!1,q,Y,J,Z,B,X={isCompressed:!1,actualSize:0,virtualSize:0,ratio:1},L=!1,A=0,U=null,c=!1,M=0,z=0,D=null,y=null,H=0,O=0,P=null,W=new Float64Array(c2),G=new Float64Array(c2),E=0,T=0,R={start:0,end:-1},w=-1,g=null;function C(){return Math.max(0,X.virtualSize+A-q.containerSize)}function a(){if(X.virtualSize<=0)return 0;return Math.max(0,q.containerSize*(1-X.ratio))}function d(Q){let _=q.totalItems;if(X=$1(_,Y,$),X.isCompressed&&!L)s(Q);else if(!X.isCompressed&&L)l(Q);if(X.isCompressed){if(A=a(),q.isCompressed=!0,q.compressionRatio=X.ratio,Q.updateContentSize(X.virtualSize+A),U)U.updateBounds(X.virtualSize+A,q.containerSize)}}let o=null,i=null,k=null,S=null,u=null;function K(Q){M=Q,z=Q,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=Q,q.scrollDirection=Q>q.prevScrollPosition?1:-1,g.forceRender()}function V(){if(D!==null)cancelAnimationFrame(D),D=null;if(y!==null)cancelAnimationFrame(y),y=null}function N(Q){V(),K(Math.max(0,Math.min(Q,C())))}function v(Q,_,h=i2){V();let x=Math.max(0,Math.min(Q,C())),f=M;if(Math.abs(x-f)<J1){K(x);return}let F=performance.now(),b=(m)=>{let e=Math.min((m-F)/_,1);if(K(f+(x-f)*h(e)),e<1)y=requestAnimationFrame(b);else y=null};y=requestAnimationFrame(b)}function s(Q){L=!0,q.isCompressed=!0;let _=Z?"scrollLeft":"scrollTop",h=Z?"overflowX":"overflow",x=J[_];if(J.style[h]="hidden",J[_]=0,x>0)M=x,z=x,q.scrollPosition=x;A=a();let f=()=>{let n=z-M,Q2=C();if(Math.abs(n)<J1)M=Math.max(0,Math.min(z,Q2)),z=M,D=null;else M+=n*S1,M=Math.max(0,Math.min(M,Q2)),D=requestAnimationFrame(f);q.prevScrollPosition=q.scrollPosition,q.scrollPosition=M,q.scrollDirection=M>q.prevScrollPosition?1:-1,Q.forceRender()};o=(n)=>{n.preventDefault();let Q2=C();if(z=Math.max(0,Math.min(z+n.deltaY*X.ratio*Q1,Q2)),D===null)D=requestAnimationFrame(f)},J.addEventListener("wheel",o,{passive:!1});let F=()=>{if(P!==null)cancelAnimationFrame(P),P=null};i=(n)=>{if(F(),D!==null)cancelAnimationFrame(D),D=null;let Q2=n.touches[0];if(!Q2)return;let Z2=Z?Q2.clientX:Q2.clientY;H=Z2,O=M,E=1,T=0,W[0]=performance.now(),G[0]=Z2},k=(n)=>{n.preventDefault();let Q2=n.touches[0];if(!Q2)return;let Z2=Z?Q2.clientX:Q2.clientY,G2=performance.now(),M2=E<c2?E:T;if(W[M2]=G2,G[M2]=Z2,E<c2)E++;else T=(T+1)%c2;let N2=H-Z2,J2=C(),t=Math.max(0,Math.min(O+N2*X.ratio*Q1,J2));M=t,z=t,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=t,q.scrollDirection=t>q.prevScrollPosition?1:-1,Q.forceRender()},S=()=>{let n=performance.now(),Q2=1/0,Z2=0,G2=-1,M2=0,N2=0;for(let B2=0;B2<E;B2++){let U2=(T+B2)%c2,Y2=W[U2];if(n-Y2>=g1)continue;N2++;let A2=G[U2];if(Y2<Q2)Q2=Y2,Z2=A2;if(Y2>G2)G2=Y2,M2=A2}let J2=0;if(N2>=2){let B2=G2-Q2;if(B2>0)J2=(Z2-M2)/B2}if(E=0,T=0,Math.abs(J2)<u1)return;let t=J2*16,$2=()=>{if(t*=p1,Math.abs(t)<0.5){P=null;return}let B2=C(),U2=M+t;if(U2=Math.max(0,Math.min(U2,B2)),U2<=0&&t<0||U2>=B2&&t>0){M=U2,z=U2,q.scrollPosition=U2,Q.forceRender(),P=null;return}M=U2,z=U2,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=U2,q.scrollDirection=U2>q.prevScrollPosition?1:-1,Q.forceRender(),P=requestAnimationFrame($2)};P=requestAnimationFrame($2)},J.addEventListener("touchstart",i,{passive:!0}),J.addEventListener("touchmove",k,{passive:!1}),J.addEventListener("touchend",S,{passive:!0}),J.addEventListener("touchcancel",S,{passive:!0}),u=()=>{if(J[_]!==0)J[_]=0},J.addEventListener("scroll",u,{passive:!0});let b=(n)=>{if(M=n,z=n,D!==null)cancelAnimationFrame(D),D=null;q.prevScrollPosition=q.scrollPosition,q.scrollPosition=n,q.scrollDirection=n>q.prevScrollPosition?1:-1,Q.forceRender()},m=Q.getMethod("_scrollbar:setCallback"),e=Q.getMethod("_scrollbar:getInstance");if(m&&e){m(b);let n=e();if(n)U=n,c=!1,U.updateBounds(X.virtualSize+A,q.containerSize)}else if(!U){let n=Q.config.classPrefix;if(U=J0(J,b,{},n,Z,Q.dom.root),c=!0,!J.classList.contains(`${n}-viewport--custom-scrollbar`))J.classList.add(`${n}-viewport--custom-scrollbar`);U.updateBounds(X.virtualSize+A,q.containerSize)}}function l(Q){L=!1,q.isCompressed=!1,q.compressionRatio=1,M=0,z=0,E=0,T=0,I();let _=Z?"overflowX":"overflow";J.style[_]="auto",A=0,Q.updateContentSize(Y.getTotalSize())}function I(){if(D!==null)cancelAnimationFrame(D),D=null;if(y!==null)cancelAnimationFrame(y),y=null;if(P!==null)cancelAnimationFrame(P),P=null;if(o)J.removeEventListener("wheel",o),o=null;if(i)J.removeEventListener("touchstart",i),i=null;if(k)J.removeEventListener("touchmove",k),k=null;if(S)J.removeEventListener("touchend",S),J.removeEventListener("touchcancel",S),S=null;if(u)J.removeEventListener("scroll",u),u=null;if(U&&c)U.destroy();U=null,c=!1;let Q=Z?"scrollLeft":"scrollTop";if(J&&J[Q]!==0)J[Q]=0}return{name:"scale",priority:20,setup(Q){q=Q.getState(),Y=Q.sizeCache,J=Q.dom.viewport,Z=Q.config.axis.primary==="x",B=Q.config.overscan,g=Q,Q.registerMethod("_updateCompressionMode",()=>d(Q)),Q.registerMethod("_scale:getCompression",()=>X),Q.registerMethod("_scale:easedScrollTo",(_,h)=>v(_,h)),Q.setScrollFns(()=>M,(_)=>{if(!X.isCompressed||!L){let x=Z?"scrollLeft":"scrollTop";J[x]=_;return}if(V(),P!==null)cancelAnimationFrame(P),P=null;let h=_*X.ratio;K(Math.max(0,Math.min(h,C())))}),Q.setScrollToIndexFn((_,h,x,f,F)=>{if(!X.isCompressed||!L)return!1;let b=$0(_,Y,q.containerSize,q.totalItems,X,h);if(x==="smooth")v(b,f??n2,F);else N(b)}),d(Q),w=q.totalItems,Q.registerDestroyHandler(I)},hooks:{onCalculate(Q){if(Q.totalItems!==w&&g)w=Q.totalItems,d(g);if(!X.isCompressed||!L)return;let _=Q.totalItems;if(_===0||Q.containerSize<=0){Q.visibleCount=0;return}d2(Q.scrollPosition,Q.containerSize,Y,_,X,R);let h=Math.max(0,R.start-B),x=Math.min(_-1,R.end+B),f=Math.min(x-h+1,Q.capacity);Q.visibleCount=f,Q.startIndex=h;for(let F=0;F<f;F++){let b=h+F;Q.visibleIndices[F]=b,Q.visibleOffsets[F]=m2(b,Q.scrollPosition,Y,_,Q.containerSize,X),Q.visibleSizes[F]=Y.getSize(b)}Q.prevRangeStart=h,Q.prevRangeEnd=x},onAfterScroll(Q){if(U&&L)U.updatePosition(Q),U.show()},onResize(){if(L){if(A=a(),U)U.updateBounds(X.virtualSize+A,q.containerSize);let Q=C();if(M>Q)M=Q,z=Q,q.scrollPosition=Q}}},destroy(){I()}}}function V0(j){let $=null,q,Y=0,J=0;return{name:"scrollbar",priority:15,setup(Z){let{dom:B,config:X}=Z,{classPrefix:L}=X,A=X.axis.primary==="x";q=Z.getState();let U=(c)=>{if(A)B.viewport.scrollLeft=c;else B.viewport.scrollTop=c};if(Z.registerMethod("_scrollbar:setCallback",(c)=>{U=c}),$=J0(B.viewport,(c)=>{U(c)},j,L,A,B.root),B.viewport.classList.add(`${L}-viewport--custom-scrollbar`),j?.gutter)B.viewport.classList.add(`${L}-viewport--gutter`);queueMicrotask(()=>{if(!q.isCompressed)$?.updateBounds(q.totalSize,q.containerSize)}),Z.registerMethod("_scrollbar:getInstance",()=>$),Z.registerDestroyHandler(()=>{if($?.destroy(),$=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:X}=q;if(B!==Y||X!==J)Y=B,J=X,$?.updateBounds(B,X)}$?.updatePosition(Z),$?.show()},onResize(){if(!q.isCompressed){let{totalSize:Z,containerSize:B}=q;Y=Z,J=B,$?.updateBounds(Z,B)}}},destroy(){$?.destroy(),$=null}}}var j1=(j)=>{let $=Math.max(1,Math.floor(j.columns)),q=j.gap??0,Y=j.isHeaderFn,J={row:0,col:0},Z=(D)=>{if(D<=0)return 0;if(!Y)return Math.ceil(D/$);let y=0,H=0,O=0;for(let P=0;P<D;P++)if(Y(P)){if(O++,H)y++,H=0;y++,H=0}else if(H++,H>=$)y++,H=0;if(H)y++;return y},B=(D)=>{return J.row=X(D),J.col=L(D),J},X=(D)=>{if(!Y)return Math.floor(D/$);let y=0,H=0;for(let O=0;O<=D;O++)if(Y(O)){if(H)y++,H=0;if(O===D)return y;y++,H=0}else{if(O===D)return y;if(H++,H>=$)y++,H=0}return console.warn(`⚠️ getRow(${D}) fell through - returning ${y}`),y},L=(D)=>{if(!Y)return D%$;if(Y(D))return 0;let y=0;for(let H=0;H<=D;H++)if(Y(H))y=0;else{if(H===D)return y;if(y++,y>=$)y=0}return y},A=(D,y,H)=>{if(H<=0)return{start:0,end:-1};if(!Y){let E=Math.max(0,D*$),T=Math.min(H-1,(y+1)*$-1);return{start:E,end:T}}let O=-1,P=-1,W=0,G=0;for(let E=0;E<H;E++){if(Y(E)){if(G)W++,G=0;if(W>=D&&W<=y){if(O<0)O=E;P=E}W++,G=0}else{if(W>=D&&W<=y){if(O<0)O=E;P=E}if(G++,G>=$)W++,G=0}if(W>y&&!G)break}if(O<0)return{start:0,end:-1};return{start:O,end:P}},U=(D,y,H)=>{if(y<0||y>=$)return-1;let O=D*$+y;if(O<0||O>=H)return-1;return O},c=(D)=>{let y=($-1)*q;return Math.max(0,(D-y)/$)};return{get columns(){return $},get gap(){return q},update:(D)=>{if(D.columns!==void 0)$=Math.max(1,Math.floor(D.columns));if(D.gap!==void 0)q=D.gap;if(D.isHeaderFn!==void 0)Y=D.isHeaderFn},getTotalRows:Z,getPosition:B,getRow:X,getCol:L,getItemRange:A,getItemIndex:U,getColumnWidth:c,getColumnOffset:(D,y)=>{let H=c(y);return D*(H+q)}}};var p2={selected:!1,focused:!1};function _0(j){if(!j.columns||j.columns<1)throw Error("[vlist] grid: columns must be >= 1");let $,q,Y,J,Z,B,X,L,A,U,c=null,M=null,z=!1,D=null,y=0,H=0,O=0,P=0,W=new Map,G=0,E={start:0,end:-1},T=-1,R=-1,w=!0;function g(){if(z||!D)return;z=!0,M=D("_scale:getCompression")??null}function C(){return $.getTotalRows(Y.totalItems)}function a(S){let u=$.getRow(S),K=$.getCol(S),V=$.getColumnOffset(K,G)+y,N=q.getOffset(u)+O;if(L)return`translate(${Math.round(N)}px, ${Math.round(V)}px)`;return`translate(${Math.round(V)}px, ${Math.round(N)}px)`}function d(S,u){let K=$.getRow(u),V=$.getColumnWidth(G),N=q.getSize(K)-$.gap;if(L)S.style.width=`${N}px`,S.style.height=`${V}px`;else S.style.width=`${V}px`,S.style.height=`${N}px`}function o(S,u,K,V){if(V)V(K,p2);else p2.selected=!1,p2.focused=!1;let N=B(u,K,p2);if(typeof N==="string")S.innerHTML=N;else S.innerHTML="",S.appendChild(N)}function i(){if(Y.destroyed)return;let{scrollPosition:S,containerSize:u}=Y;if(!w&&S===T&&u===R)return;T=S,R=u,w=!1;let K=C();if(u<=0||K===0)return;g();let V=M?.()??null,N=V!==null&&V.isCompressed,v,s;if(N)d2(S,u,q,K,V,E),v=Math.max(0,E.start-U),s=Math.min(K-1,E.end+U);else{let f=q.indexAtOffset(S),F=q.indexAtOffset(S+u);if(F<K-1)F++;f=Math.max(0,f),F=Math.min(K-1,Math.max(0,F)),v=Math.max(0,f-U),s=Math.min(K-1,F+U)}if(v===Y.prevRangeStart&&s===Y.prevRangeEnd&&!Y.renderPending)return;let l=$.getItemRange(v,s,Y.totalItems);W.forEach((f,F)=>{if(F<l.start||F>l.end)f.el.remove(),J.release(f.el),W.delete(F)});let I=`${A}-item ${A}-grid-item`,Q=c?.()??null,_=Q?`${A}-item--selected`:"",h=Q?`${A}-item--focused`:"";for(let f=l.start;f<=l.end;f++){let F=X(f);if(!F)continue;let b=W.get(f);if(b===void 0){let m=J.acquire();m.className=I,m.setAttribute("data-index",String(f)),m.setAttribute("data-id",String(F.id)),o(m,F,f,Q),b={el:m,lastItem:F},W.set(f,b),Z.appendChild(m)}else if(b.lastItem!==F)b.el.setAttribute("data-id",String(F.id)),b.lastItem=F,o(b.el,F,f,Q);if(Q)if(Q(f,p2),b.el.classList.toggle(_,p2.selected),b.el.classList.toggle(h,p2.focused),p2.selected)b.el.setAttribute("aria-selected","true");else b.el.removeAttribute("aria-selected");if(d(b.el,f),N){let m=$.getRow(f),e=$.getCol(f),n=$.getColumnOffset(e,G)+y,Q2=m2(m,S,q,K,u,V)+O;b.el.style.transform=L?`translate(${Math.round(Q2)}px, ${Math.round(n)}px)`:`translate(${Math.round(n)}px, ${Math.round(Q2)}px)`}else b.el.style.transform=a(f)}if(!N){let f=q.getTotalSize()+P;Z.style[L?"width":"height"]=f+"px"}Y.totalSize=q.getTotalSize()+P,Y.prevRangeStart=v,Y.prevRangeEnd=s,Y.renderPending=!1;let x=l.end-l.start+1;Y.visibleCount=Math.min(x,Y.capacity),Y.startIndex=l.start;for(let f=0;f<Y.visibleCount;f++){let F=l.start+f,b=$.getRow(F);Y.visibleIndices[f]=F,Y.visibleOffsets[f]=N?m2(b,S,q,K,u,V):q.getOffset(b),Y.visibleSizes[f]=q.getSize(b)}}function k(){if(Y.destroyed)return;q.rebuild(C()),Y.prevRangeStart=-1,Y.prevRangeEnd=-1,Y.renderPending=!0,w=!0,i()}return{name:"grid",priority:10,conflicts:["masonry","table"],setup(S){let u=j.gap??0;$=j1({columns:j.columns,gap:u}),q=S.sizeCache,Y=S.getState(),J=S.pool,Z=S.dom.content,B=S.template,L=S.config.axis.primary==="x",A=S.config.classPrefix,U=S.config.overscan,X=S.getItem.bind(S),c=()=>S.getItemStateFn(),D=S.getMethod.bind(S),y=S.config.crossPadStart,H=S.config.crossAxisPadding,O=S.config.startPadding,P=S.config.mainAxisPadding,G=Y.crossSize-H;let K=S.rawSizeSpec,V;if(typeof K==="function"){let v={columnWidth:$.getColumnWidth(G),columns:j.columns,gap:u};V=K(0,v),S.setSizeConfig((s)=>{v.columnWidth=$.getColumnWidth(G);let l=s*j.columns;return K(l,v)+u})}else if(V=K,u>0)S.setSizeConfig(V+u);if(q.rebuild(C()),u>0){let N=q.getTotalSize;q.getTotalSize=()=>{let v=N();return v>0?v-u:0}}S.setVirtualTotalFn(()=>C()),S.dom.root.classList.add(`${A}--grid`),S.setRenderFn(i,k),S.registerMethod("getGridLayout",()=>$),S.registerMethod("updateGrid",(N)=>{if(N.columns!==void 0){if(!Number.isInteger(N.columns)||N.columns<1)throw Error("[vlist] updateGrid: columns must be >= 1")}if(N.gap!==void 0&&N.gap<0)throw Error("[vlist] updateGrid: gap must be >= 0");if($.update(N),N.gap!==void 0||N.columns!==void 0){let v=$.gap;if(typeof K==="function"){let s={columnWidth:$.getColumnWidth(G),columns:$.columns,gap:v};S.setSizeConfig((l)=>{s.columnWidth=$.getColumnWidth(G);let I=l*$.columns;return K(I,s)+v})}else S.setSizeConfig(V+v);q.rebuild(C())}if(N.columns!==void 0)S.setNavConfig({ud:$.columns});G=Y.crossSize-H,k()}),S.registerMethod("scrollToIndex",(N,v="start")=>{let s=$.getRow(N),l=C();if(l===0)return;let I=Math.max(0,Math.min(s,l-1)),Q=q.getOffset(I)+O,_=q.getSize(I),h=Y.containerSize,x=q.getTotalSize()+P,f=Math.max(0,x-h),F=typeof v==="string"?v:v.align??"start",b=typeof v==="object"?v.behavior:void 0,m=typeof v==="object"?v.duration:void 0,e;switch(F){case"center":e=Q-(h-_)/2;break;case"end":e=Q-h+_;break;default:e=Q}e=Math.max(0,Math.min(e,f)),g();let n=M?.()??null;if(n?.isCompressed&&b==="smooth"&&m&&m>0){let Q2=$0(I,q,h,l,n,F),Z2=D?.("_scale:easedScrollTo");if(Z2)Z2(Q2,m);else S.scrollTo(e)}else if(b==="smooth"&&m&&m>0)S.smoothScrollTo(e,m);else S.scrollTo(e)}),S.setNavConfig({total:()=>Y.totalItems,ud:j.columns,lr:1,scrollIndex:(N)=>$.getRow(N)}),S.registerDestroyHandler(()=>{for(let[,N]of W)N.el.remove();W.clear(),S.dom.root.classList.remove(`${A}--grid`)})},hooks:{onResize(S,u){let K=Y.crossSize-H;if(Math.abs(K-G)<1)return;if(G=K,(M?.()??null)?.isCompressed)k();else W.forEach((N,v)=>{d(N.el,v),N.el.style.transform=a(v)})}},destroy(){W.clear()}}}function M0(){return{name:"a11y",priority:55,setup(j){if(j.getItemStateFn())return;j.enableListboxRole();let{dom:$,config:q,sizeCache:Y}=j,J=j.getState(),Z=j.emitter,B=q.classPrefix,X=$.liveRegion,L=-1,A=!1,U,c=-1,M=(w)=>j.getItem(w),z=()=>J.totalItems,D={id:0,index:0},y={selected:[],items:[]};j.setItemStateFn((w,g)=>{g.selected=c===w,g.focused=A&&L===w});function H(w){X.textContent="",X.textContent=w}let O=(w,g,C)=>{let a=w;while(a>=0&&a<C){let d=M(a);if(!d||!d.__groupHeader)return a;a+=g}a=w-g;while(a>=0&&a<C){let d=M(a);if(!d||!d.__groupHeader)return a;a-=g}return w},P=(w)=>{let g=j.getNavConfig(),C=g.scrollIndex?g.scrollIndex(w):w,a=Y.getOffset(C),d=Y.getSize(C),o=J.scrollPosition,i=J.containerSize,k=q.startPadding,S=q.endPadding,u=a+k,K=u+d,V=o;if(u<o)V=Math.max(0,a);else if(K>o+i)V=K+S-i;if(V!==o)J.scrollPosition=V,j.scrollTo(V)},W=(w,g)=>{if($.content.setAttribute("aria-activedescendant",`${B}-item-${w}`),g)P(w);j.forceRender()},G=(w)=>{L=w,A=!0,W(w,!0);let g=M(w);if(g)D.id=g.id,D.index=w,Z.emit("focus:change",D),H(`Item ${w+1} of ${z()}`)},E=(w,g)=>{if(L=w,g)A=!0;let C=M(w);if(C&&U===C.id)U=void 0,c=-1;else U=C?.id,c=C?w:-1;if(W(w,g),U!==void 0&&C&&U===C.id)y.selected[0]=U,y.selected.length=1,y.items[0]=C,y.items.length=1,H(`Selected, item ${w+1} of ${z()}`);else y.selected.length=0,y.items.length=0,H("Deselected");Z.emit("selection:change",y)},T=()=>{if(J.destroyed)return;if(!$.content.matches(":focus-visible"))return;let w=z();if(w===0)return;let g=L>=0?Math.min(L,w-1):0;g=O(g,1,w),G(g)},R=(w)=>{if(J.destroyed)return;let g=w.relatedTarget;if(g&&$.root.contains(g))return;A=!1,$.content.removeAttribute("aria-activedescendant"),j.forceRender()};$.content.addEventListener("focusin",T),$.content.addEventListener("focusout",R),j.registerKeydownHandler((w)=>{if(J.destroyed)return;let g=z();if(g===0)return;let C=L,a=C;if(w.key===" "||w.key==="Enter"){if(C>=0){let o=M(C);if(o&&!o.__groupHeader)E(C,!0)}w.preventDefault();return}let d=j.getNavConfig();if(d.navigate)switch(w.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":a=d.navigate(C,w.key,g);break;default:return}else{let o=d.ud||1,i=d.lr,k=q.axis.primary==="x";switch(w.key){case"ArrowUp":if(k&&!i)return;a=C-(k?i:o);break;case"ArrowDown":if(k&&!i)return;a=C+(k?i:o);break;case"ArrowLeft":if(!k&&!i)return;a=C-(k?o:i);break;case"ArrowRight":if(!k&&!i)return;a=C+(k?o:i);break;case"PageUp":case"PageDown":{let S=Y.getSize(Math.max(0,d.scrollIndex?d.scrollIndex(C):C)),K=Math.max(1,Math.floor(J.containerSize/S))*o;a=w.key==="PageUp"?C-K:C+K;break}case"Home":a=0;break;case"End":a=g-1;break;default:return}}if(a<0)a=0;else if(a>=g)a=g-1;if(w.preventDefault(),a=O(a,a>=C?1:-1,g),a!==C)G(a)}),j.registerClickHandler((w)=>{if(J.destroyed)return;let g=w.target.closest("[data-index]");if(!g)return;let C=parseInt(g.dataset.index??"-1",10);if(C<0)return;let a=M(C);if(!a||a.__groupHeader)return;A=!1,$.content.focus({preventScroll:!0}),E(C,!1)}),j.registerDestroyHandler(()=>{$.content.removeEventListener("focusin",T),$.content.removeEventListener("focusout",R)})}}}var s2=(j,$,q)=>{if(String(q).startsWith(f2))return!1;let Y=f2+$;if(j.has(Y))return j.delete(Y),j.add(q),!0;return!1},q1=(j)=>({selected:new Set(j??[]),focusedIndex:-1,focusVisible:!1});function u2(j,$,q,Y){if(q===0)return;let J=Y?-$:$,Z=j.focusedIndex+J;if(Z<0)Z=0;if(Z>=q)Z=q-1;j.focusedIndex=Z}function Q0(j){return Array.from(j)}var x1={preventScroll:!0};function G0(j){let $=j?.mode??"single",q=j?.followFocus??!1,Y=j?.focusOnClick??!1,J,Z,B,X,L,A,U,c,M=-1,z=new Map,D=null,y=null,H=null,O=null,P,W=!1;function G(K){if(W)return;W=!0,D=K.getMethod("_layoutToDataIndex")??null,y=K.getMethod("_dataToLayoutIndex")??null,H=K.getMethod("_isGroupHeader")??null,O=K.getMethod("_scrollItemIntoView")??null;let V=K.getMethod("getGroupLayout");if(V){let N=V();P=()=>N.totalEntries}}let E=(K)=>D?D(K):K,T=(K)=>{let V=E(K);return V>=0?Z(V):void 0},R=(K,V,N)=>{if(!H)return K;let v=K;while(v>=0&&v<N){if(!H(v))return v;v+=V}v=K-V;while(v>=0&&v<N){if(!H(v))return v;v-=V}return K};function w(K,V){if($==="single")J.selected.clear(),z.clear();if(J.selected.add(K),V)z.set(K,V)}function g(K,V){if(J.selected.has(K))J.selected.delete(K),z.delete(K);else w(K,V)}function C(){J.selected.clear(),z.clear()}function a(K){J.selected.delete(K),z.delete(K)}function d(K,V){let N=Math.min(K,V),v=Math.max(K,V);for(let s=N;s<=v;s++){let l=Z(s);if(l)J.selected.add(l.id),z.set(l.id,l)}}function o(){let K=U.totalItems;for(let V=0;V<K;V++){let N=Z(V);if(N)J.selected.add(N.id),z.set(N.id,N)}}function i(){if(J.selected.size===0)return[];if(z.size>=J.selected.size){let v=[];for(let s of J.selected){let l=z.get(s);if(l)v.push(l)}if(v.length===J.selected.size)return v}let K=[],V=new Set(J.selected),N=U.totalItems;for(let v=0;v<N&&V.size>0;v++){let s=Z(v);if(s&&V.has(s.id))K.push(s),z.set(s.id,s),V.delete(s.id)}return K}function k(){B(),X.emit("selection:change",{selected:Q0(J.selected),items:i()})}let S=null,u=-1;return{name:"selection",priority:50,setup(K){K.enableListboxRole(),J=q1(j?.initial),Z=K.getItem.bind(K),B=K.forceRender.bind(K),X=K.emitter,L=K.dom;let V=K.config;if(A=K.sizeCache,U=K.getState(),c=K.scrollTo.bind(K),P=()=>U.totalItems,$==="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 N=V.classPrefix;K.setItemStateFn((Q,_)=>{if(G(K),J.selected.size>0){let h=E(Q),x=h>=0?Z(h):void 0,f=x?.id;if(f!==void 0)if(J.selected.has(f))_.selected=!0;else if(s2(J.selected,h,f))_.selected=!0,z.delete(f2+h),z.set(f,x);else _.selected=!1;else _.selected=!1}else _.selected=!1;_.focused=J.focusVisible&&J.focusedIndex===Q}),K.registerMethod("_getSelectedIds",()=>J.selected),K.registerMethod("_getFocusedIndex",()=>J.focusVisible?J.focusedIndex:-1),L.root.classList.add(`${N}--selectable`);let v=(Q)=>{S=null,u=-1;let _=Q.target.closest("[data-index]");if(!_)return!1;let h=parseInt(_.dataset.index??"-1",10);if(h<0)return!1;let x=E(h);if(x<0)return!1;let f=Z(x);if(!f)return!1;return S=f,u=h,!0},s=(Q)=>{if(Q<0)return;if(O){O(Q);return}let _=K.getNavConfig(),h=_.scrollIndex?_.scrollIndex(Q):Q,x=A.getOffset(h),f=A.getSize(h),F=U.containerSize,b=U.scrollPosition;if(x<b)c(x);else if(x+f>b+F)c(x-F+f)},l=()=>{if(U.destroyed)return;if(G(K),!L.content.matches(":focus-visible")&&!L.root.matches(":focus-visible"))return;let Q=P();if(Q===0)return;let _=J.focusedIndex>=0?Math.min(J.focusedIndex,Q-1):0;_=R(_,1,Q),J.focusedIndex=_,J.focusVisible=!0,L.content.setAttribute("aria-activedescendant",`${N}-item-${_}`),s(_),B()};L.root.addEventListener("focusin",l);let I=(Q)=>{if(U.destroyed)return;let _=Q.relatedTarget;if(_&&L.root.contains(_))return;J.focusVisible=!1,B(),L.content.removeAttribute("aria-activedescendant")};L.root.addEventListener("focusout",I),K.registerDestroyHandler(()=>{L.root.removeEventListener("focusin",l),L.root.removeEventListener("focusout",I)}),K.registerClickHandler((Q)=>{if(G(K),!v(Q))return;if($==="multiple"&&Q.shiftKey&&J.focusedIndex>=0){let _=M>=0?M:J.focusedIndex,h=E(_),x=E(u);if(h>=0&&x>=0)d(h,x);J.focusedIndex=u,J.focusVisible=Y,M=u,k();return}J.focusedIndex=u,J.focusVisible=Y,M=u,L.content.focus(x1),g(S.id,S),k()}),K.registerKeydownHandler((Q)=>{G(K);let _=P();if(_===0)return;let h=K.getNavConfig(),x=J.focusedIndex,f=!1,F=!1;if(h.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 m=h.navigate(J.focusedIndex,Q.key,_);if(m!==J.focusedIndex)J.focusedIndex=Math.max(0,Math.min(m,_-1));J.focusVisible=!0,f=!0}else switch(Q.key){case"ArrowUp":{let m=h.ud||1,e=h.lr,n=V.axis.primary==="x";if(n&&!e)break;u2(J,-(n?e:m),_,V.reverse),J.focusVisible=!0,f=!0;break}case"ArrowDown":{let m=h.ud||1,e=h.lr,n=V.axis.primary==="x";if(n&&!e)break;u2(J,n?e:m,_,V.reverse),J.focusVisible=!0,f=!0;break}case"ArrowLeft":{let m=h.ud||1,e=h.lr,n=V.axis.primary==="x";if(!n&&!e)break;u2(J,-(n?m:e),_,V.reverse),J.focusVisible=!0,f=!0;break}case"ArrowRight":{let m=h.ud||1,e=h.lr,n=V.axis.primary==="x";if(!n&&!e)break;u2(J,n?m:e,_,V.reverse),J.focusVisible=!0,f=!0;break}case"Home":if(_>0)J.focusedIndex=0;J.focusVisible=!0,f=!0;break;case"End":if(_>0)J.focusedIndex=_-1;J.focusVisible=!0,f=!0;break;case"PageUp":case"PageDown":{let m=h.ud||1,e=Math.max(0,J.focusedIndex),n=h.scrollIndex?h.scrollIndex(e):e,Q2=A.getSize(n),Z2=U.containerSize,M2=(Q2>0?Math.max(1,Math.floor(Z2/Q2)):10)*m;if(D&&y){let N2=D(J.focusedIndex),J2=Q.key==="PageUp"?-M2:M2,t=U.totalItems-1;J.focusedIndex=y(Math.max(0,Math.min(t,N2+J2)))}else u2(J,Q.key==="PageUp"?-M2:M2,_);J.focusVisible=!0,f=!0;break}case" ":case"Enter":if(Q.key===" "&&Q.shiftKey&&$==="multiple"&&J.focusedIndex>=0){if(M>=0){let m=E(M),e=E(J.focusedIndex);if(m>=0&&e>=0)d(m,e)}J.focusVisible=!0,F=!0,f=!0;break}if(J.focusedIndex>=0){let m=T(J.focusedIndex);if(m)g(m.id,m),M=J.focusedIndex;J.focusVisible=!0,F=!0,f=!0}break;case"a":if((Q.ctrlKey||Q.metaKey)&&$==="multiple"){if(J.selected.size===U.totalItems)C();else o();J.focusVisible=!0,F=!0,f=!0}break;case"Delete":case"Backspace":if(J.selected.size>0)X.emit("delete",{selected:Q0(J.selected),items:i()}),f=!0;break}if(J.focusedIndex!==x&&H){let m=J.focusedIndex>x?1:-1;J.focusedIndex=R(J.focusedIndex,m,_)}let b=J.focusedIndex!==x;if(Q.shiftKey&&$==="multiple"&&!F&&b){if(Q.key==="ArrowUp"||Q.key==="ArrowDown"||Q.key==="ArrowLeft"||Q.key==="ArrowRight"){let n=T(J.focusedIndex);if(n)g(n.id,n);M=J.focusedIndex,F=!0}if((Q.ctrlKey||Q.metaKey)&&(Q.key==="Home"||Q.key==="End")){let n=E(x>=0?x:J.focusedIndex),Q2=E(J.focusedIndex);if(n>=0&&Q2>=0)d(n,Q2);M=J.focusedIndex,F=!0}}if(q&&$==="single"&&!F&&b&&J.focusedIndex>=0){let m=T(J.focusedIndex);if(m)w(m.id,m);F=!0}if(f){if(Q.preventDefault(),b&&J.focusedIndex>=0)s(J.focusedIndex),L.content.setAttribute("aria-activedescendant",`${N}-item-${J.focusedIndex}`);if(F)k();else if(b){if(B(),J.focusedIndex>=0){let m=T(J.focusedIndex);if(m)X.emit("focus:change",{id:m.id,index:J.focusedIndex})}}}}),K.registerMethod("select",(...Q)=>{for(let _ of Q)w(_);k()}),K.registerMethod("deselect",(...Q)=>{for(let _ of Q)a(_);k()}),K.registerMethod("toggleSelect",(Q)=>{g(Q),k()}),K.registerMethod("selectAll",()=>{if($!=="multiple")return;o(),k()}),K.registerMethod("clearSelection",()=>{C(),k()}),K.registerMethod("getSelected",()=>{return Q0(J.selected)}),K.registerMethod("getSelectedItems",()=>{return i()}),K.registerMethod("selectNext",()=>{G(K);let Q=P();if(Q===0)return;if(u2(J,1,Q,V.reverse),H)J.focusedIndex=R(J.focusedIndex,1,Q);let _=T(J.focusedIndex);if(_)w(_.id,_);k()}),K.registerMethod("selectPrevious",()=>{G(K);let Q=P();if(Q===0)return;if(u2(J,-1,Q,V.reverse),H)J.focusedIndex=R(J.focusedIndex,-1,Q);let _=T(J.focusedIndex);if(_)w(_.id,_);k()}),K.registerMethod("_seedSelection",(Q)=>{for(let _ of Q)J.selected.add(_)}),K.registerMethod("_getFocusedId",()=>{if(J.focusedIndex<0)return;return T(J.focusedIndex)?.id}),K.registerMethod("_focusById",(Q)=>{let _=U.totalItems;for(let h=0;h<_;h++){let x=Z(h);if(x&&x.id===Q){let f=y?y(h):h;J.focusedIndex=f,X.emit("focus:change",{id:Q,index:f});return}}})},destroy(){z.clear()}}}var j0=(j)=>j==null?0:typeof j==="function"?j():j;function X0(j){let $=j?.scrollPadding,q,Y;return{name:"page",priority:5,setup(J){let{dom:Z,sizeCache:B,config:X,emitter:L}=J,A=X.axis.primary==="x",U=window,c=J.getState();if(J.disableDefaultScroll(),J.disableDefaultResize(),Z.root.style.overflow="visible",Z.root.style.height="auto",A)Z.viewport.style.overflowX="visible",Z.viewport.style.overflowY="visible";else Z.viewport.style.overflow="visible";Z.viewport.classList.remove(`${X.classPrefix}-viewport--custom-scrollbar`),J.setScrollFns(()=>{let O=Z.viewport.getBoundingClientRect();return Math.max(0,A?-O.left:-O.top)},(O)=>{let P=Z.viewport.getBoundingClientRect(),W=(A?P.left+U.scrollX:P.top+U.scrollY)+O;if(A)U.scrollTo({left:W,top:U.scrollY,behavior:"instant"});else U.scrollTo({left:U.scrollX,top:W,behavior:"instant"})}),c.containerSize=A?U.innerWidth:U.innerHeight,c.crossSize=A?U.innerHeight:U.innerWidth;let M=null,z=()=>{let O=Z.viewport.getBoundingClientRect(),P=Math.max(0,A?-O.left:-O.top);if(c.prevScrollPosition=c.scrollPosition,c.scrollPosition=P,c.scrollDirection=P>c.prevScrollPosition?1:P<c.prevScrollPosition?-1:0,J.onScrollFrame(),M!==null)clearTimeout(M);M=setTimeout(()=>{M=null,J.onScrollIdle()},150)};U.addEventListener("scroll",z,{passive:!0}),Y=()=>U.removeEventListener("scroll",z);let{innerWidth:D,innerHeight:y}=U,H=()=>{let{innerWidth:O,innerHeight:P}=U;if((A?Math.abs(O-D):Math.abs(P-y))<1)return;D=O,y=P,c.containerSize=A?O:P,c.crossSize=A?P:O,J.forceRender(),L.emit("resize",{width:O,height:P})};if(U.addEventListener("resize",H),q=()=>U.removeEventListener("resize",H),$)J.setScrollToPosFn((O,P,W,G,E)=>{let T=j0(A?$.left:$.top),R=j0(A?$.right:$.bottom);if(G===0)return 0;let w=Math.max(0,Math.min(O,G-1)),g=P.getOffset(w),C=P.getSize(w),a=P.getTotalSize(),d=Math.max(0,a-W+R),o;switch(E){case"center":o=g-T-(W-T-R-C)/2;break;case"end":o=g-W+C+R;break;default:o=g-T}return Math.max(-T,Math.min(o,d))}),J.registerMethod("_scrollItemIntoView",(O)=>{let P=A?U.innerWidth:U.innerHeight,W=j0(A?$.left:$.top),G=j0(A?$.right:$.bottom),E=Z.viewport.getBoundingClientRect(),T=A?U.scrollX:U.scrollY,R=A?E.left:E.top,w=R+T,g=B.getOffset(O),C=B.getSize(O),a=R+g,d=P-G,o=T;if(a<W)o=w+g-W;else if(a+C>d)o=w+g+C-d;if(o!==T)if(A)U.scrollTo({left:o,top:U.scrollY,behavior:"instant"});else U.scrollTo({left:U.scrollX,top:o,behavior:"instant"})});J.registerDestroyHandler(()=>{if(Y?.(),q?.(),M!==null)clearTimeout(M)})},destroy(){Y?.(),q?.(),Y=void 0,q=void 0}}}var m1=(j)=>{try{let $=sessionStorage.getItem(j);if(!$)return;return JSON.parse($)}catch{return}};function A0(j){let $=j?.autoSave,q=$?m1($):j?.restore,Y=!1,J=null;return{name:"snapshots",priority:50,setup(Z){let{sizeCache:B,emitter:X}=Z,L=Z.getState(),A=()=>{let{scrollPosition:M,totalItems:z}=L,y=Z.getMethod("getSelected")?.();if(z===0){let R={index:0,offsetInItem:0,total:0};if(y?.length)R.selectedIds=y;return R}let H,O;if(L.isCompressed&&L.compressionRatio!==1){let R=L.totalSize,g=M/R*z;H=Math.max(0,Math.min(Math.floor(g),z-1)),O=(g-H)*B.getSize(H)}else H=B.indexAtOffset(M),O=M-B.getOffset(H);O=Math.max(0,O);let P={index:H,offsetInItem:O,total:z,scrollTop:M},W=B.getSize(H);if(W)P.offsetRatio=O/W;let G=Z.getMethod("_layoutToDataIndex");if(G){let R=G(H);if(R<0){for(let w=H+1;w<z;w++)if(R=G(w),R>=0)break}if(R>=0)P.dataIndex=R}let E=Z.getMethod("_getTotal");if(E)P.dataTotal=E();if(y?.length)P.selectedIds=y;let T=Z.getMethod("_getFocusedId");if(T){let R=T();if(R!==void 0)P.focusedId=R}return P};Z.registerMethod("getScrollSnapshot",A);let U=(M,z=!0)=>{let{index:D,offsetInItem:y,selectedIds:H,focusedId:O}=M,P=L.totalItems,W=M.dataTotal??M.total;if(P===0&&W&&W>0){let k=Z.getMethod("_setTotal");if(k)k(W),P=L.totalItems;B.rebuild(P);let S=Z.getMethod("_updateCompressionMode");if(S)S();if(!L.isCompressed)Z.updateContentSize(B.getTotalSize()),L.totalSize=B.getTotalSize()}if(P===0)return;if(!Number.isFinite(D)||!Number.isFinite(y))return;if(B.getTotal()===0){B.rebuild(P);let k=Z.getMethod("_updateCompressionMode");if(k)k();if(!L.isCompressed)Z.updateContentSize(B.getTotalSize()),L.totalSize=B.getTotalSize()}let E=Z.getMethod("_dataToLayoutIndex"),T=D;if(M.dataIndex!==void 0&&M.dataIndex>=0)T=E?E(M.dataIndex):M.dataIndex;else if(E)T=E(D);let R=Math.max(0,Math.min(T,P-1)),w=B.getSize(R),g=M.offsetRatio!==void 0?M.offsetRatio*w:Math.min(y,w),C;if(L.isCompressed&&L.compressionRatio!==1){let k=Z.getMethod("_getTotal")?.(),S=k!==void 0&&M.dataTotal===k;if(M.scrollTop!==void 0&&(M.total===P||S))C=M.scrollTop;else{let u=w?g/w:0;C=(R+u)/P*L.totalSize}}else C=B.getOffset(R)+g;let a=Math.max(0,L.totalSize-L.containerSize);C=Math.max(0,Math.min(C,a));let d=C===M.scrollTop;if(M.dataIndex!==void 0&&M.dataIndex>=0){let k=w?g/w:0;Z.registerMethod("_restoreAnchor",{dataIndex:M.dataIndex,fraction:k,skipAdjust:d}),Z.registerMethod("_suppressSave",1)}if(Z.scrollTo(C),z&&H?.length){let k=Z.getMethod("select");if(k)k(...H)}let o=Z.getMethod("loadVisibleRange"),i=()=>{if(O===void 0)return;let k=Z.getMethod("_focusById");if(k)k(O)};if(o){let k=0,S=()=>{if(L.containerSize>0){if(Math.abs(L.scrollPosition-C)>1)Z.scrollTo(C);o().then(i)}else if(++k<10)requestAnimationFrame(S)};requestAnimationFrame(S)}else{let k=Z.getMethod("reload");if(k)requestAnimationFrame(()=>{k().then(i)});else requestAnimationFrame(i)}};Z.registerMethod("restoreScroll",U);let c=!!(q&&$);if(Z.registerDestroyHandler(()=>{Y=!0}),$){J=()=>{if(Y||c||Z.getMethod("_suppressSave"))return;let P=A();try{sessionStorage.setItem($,JSON.stringify(P))}catch{}},Z.registerMethod("_saveSnapshot",J);let M=0,z=()=>{if(M)return;M=requestAnimationFrame(()=>{if(M=0,J)J()})};X.on("selection:change",z),X.on("focus:change",z);let D=0,y=()=>{if(D=0,J)J()},H=()=>{if(D)clearTimeout(D);D=setTimeout(y,300)};X.on("scroll",H);let O=()=>{J?.()};if(window.addEventListener("beforeunload",O),Z.registerDestroyHandler(()=>{if(M)cancelAnimationFrame(M);if(D)clearTimeout(D);window.removeEventListener("beforeunload",O)}),q&&q.total&&q.total>0){let P=Z.getMethod("_cancelAutoLoad");if(P)P();let W=Z.getMethod("_setTotal");if(W)W(q.total)}}if(q){let M=!0;if(q.selectedIds?.length){let z=Z.getMethod("_seedSelection");if(z)z(q.selectedIds),M=!1}queueMicrotask(()=>{if(U(q,M),c=!1,J)J()})}},hooks:{onIdle(){if(J&&!Y)J()}},destroy(){Y=!0,J=null}}}function Y1(j,$){if($===!1)return null;return{duration:Math.min($?.duration??j.duration,1000),easing:$?.easing??j.easing}}function D0(j){let $=j?.duration??200,q=j?.easing??"cubic-bezier(0.2, 0, 0, 1)",Y={duration:$,easing:q},J=Y1(Y,j?.remove),Z=Y1(Y,j?.insert),B=null,X=null;return{name:"transition",conflicts:["grid","table","masonry"],priority:45,setup(L){let{sizeCache:A,emitter:U}=L,c=L.config,M=L.dom,z=L.getState(),D=c.reverse?"bottom center":"top center",y=c.axis.primary==="x"?"translateX":"translateY",H=L.getMethod("_dataToLayoutIndex")??null,O=(G)=>H?H(G):G,P=(G)=>{let E=String(G).replace(/"/g,"\\\""),T=M.content.querySelector(`[data-id="${E}"]`),R=T?parseInt(T.dataset.index??"-1",10):-1;return{el:T,layoutIndex:R}},W=()=>{let G=M.content.children;for(let E=0;E<G.length;E++)G[E].style.transition="none";M.content.offsetHeight;for(let E=0;E<G.length;E++)G[E].style.transition=""};if(J){let G=(T)=>{if(B)B();let R=typeof document<"u"?document.activeElement:null,w=R&&M.content.contains(R)?parseInt(R.dataset?.index??"-1",10):-1,g=P(T),C=g.layoutIndex,a=g.el,d=C>=0?A.getSize(C):0,o=C>=0?A.getOffset(C):0;if(!a||C<0){if(L.removeItemById(T)<0)return!1;if(L.forceRender(),W(),U.emit("data:change",{type:"remove",id:T}),w>=0){let x=z.totalItems;if(x>0)L.getRenderedElement(Math.min(w,x-1))?.focus()}return U.emit("remove:end",{id:T}),!0}let i=a.cloneNode(!0);i.style.pointerEvents="none",i.style.overflow="hidden",i.removeAttribute("data-index"),i.removeAttribute("data-id"),i.removeAttribute("id"),i.removeAttribute("aria-selected"),i.classList.remove(`${c.classPrefix}-item--selected`);let k=c.axis.primary==="x"?"scrollLeft":"scrollTop",S=M.viewport[k];if(L.removeItemById(T)<0)return!1;L.forceRender(),W(),U.emit("data:change",{type:"remove",id:T});let K=S-M.viewport[k];i.style.zIndex="1",M.content.appendChild(i);let V=J,N={duration:V.duration,easing:V.easing},v=[],s=Math.round(o-K);v.push(i.animate([{transform:`${y}(${s}px) scaleY(1)`,opacity:1,transformOrigin:D},{transform:`${y}(${Math.round(o)}px) scaleY(0)`,opacity:0,transformOrigin:D}],N));let l=K>0,I=M.content.children;for(let h=0;h<I.length;h++){let x=I[h];if(x===i)continue;let f=parseInt(x.dataset?.index??"-1",10);if(f<0||!l&&f<C)continue;let F=A.getOffset(f),b=f>=C?Math.round(F+d-K):Math.round(F-K),m=Math.round(F);if(b===m)continue;v.push(x.animate([{transform:`${y}(${b}px)`},{transform:`${y}(${m}px)`}],N))}let Q=!1,_=()=>{if(Q)return;Q=!0,B=null,i.remove();for(let h of v)if(h.playState!=="finished")h.cancel();if(w>=0){let h=z.totalItems;if(h>0)L.getRenderedElement(Math.min(w,h-1))?.focus()}U.emit("remove:end",{id:T})};return B=_,Promise.all(v.map((h)=>h.finished)).then(_,_),setTimeout(_,V.duration+50),!0},E=(T)=>{if(T.length===0)return 0;if(T.length===1)return G(T[0])?1:0;if(B)B();if(X)X();let R=typeof document<"u"?document.activeElement:null,w=R&&M.content.contains(R)?parseInt(R.dataset?.index??"-1",10):-1,g=[];for(let Q of T){let _=P(Q);g.push({id:Q,layoutIndex:_.layoutIndex,el:_.el,size:_.layoutIndex>=0?A.getSize(_.layoutIndex):0,offset:_.layoutIndex>=0?A.getOffset(_.layoutIndex):0})}g.sort((Q,_)=>_.layoutIndex-Q.layoutIndex);let C=[];for(let Q of g){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(`${c.classPrefix}-item--selected`),C.push({clone:_,offset:Q.offset,size:Q.size,layoutIndex:Q.layoutIndex})}let a=new Map,d=M.content.children;for(let Q=0;Q<d.length;Q++){let _=d[Q],h=_.dataset?.id,x=parseInt(_.dataset?.index??"-1",10);if(h&&x>=0)a.set(h,A.getOffset(x))}let o=c.axis.primary==="x"?"scrollLeft":"scrollTop",i=M.viewport[o],k=[];for(let Q of g)if(L.removeItemById(Q.id)>=0)k.push(Q.id);if(k.length===0)return 0;L.forceRender(),W();for(let Q of k)U.emit("data:change",{type:"remove",id:Q});if(C.length===0){if(w>=0){let Q=z.totalItems;if(Q>0)L.getRenderedElement(Math.min(w,Q-1))?.focus()}for(let Q of k)U.emit("remove:end",{id:Q});return k.length}let S=i-M.viewport[o],u=J,K={duration:u.duration,easing:u.easing},V=[];C.sort((Q,_)=>Q.layoutIndex-_.layoutIndex);let N=0;for(let Q of C){Q.clone.style.zIndex="1",M.content.appendChild(Q.clone);let _=Math.round(Q.offset-S),h=Math.round(Q.offset-N);V.push(Q.clone.animate([{transform:`${y}(${_}px) scaleY(1)`,opacity:1,transformOrigin:D},{transform:`${y}(${h}px) scaleY(0)`,opacity:0,transformOrigin:D}],K)),N+=Q.size}let v=new Set(C.map((Q)=>Q.clone)),s=M.content.children;for(let Q=0;Q<s.length;Q++){let _=s[Q];if(v.has(_))continue;let h=_.dataset?.id,x=parseInt(_.dataset?.index??"-1",10);if(!h||x<0)continue;let f=a.get(h);if(f===void 0)continue;let F=A.getOffset(x),b=Math.round(f-S),m=Math.round(F);if(b===m)continue;V.push(_.animate([{transform:`${y}(${b}px)`},{transform:`${y}(${m}px)`}],K))}let l=!1,I=()=>{if(l)return;l=!0,B=null;for(let{clone:Q}of C)Q.remove();for(let Q of V)if(Q.playState!=="finished")Q.cancel();if(w>=0){let Q=z.totalItems;if(Q>0)L.getRenderedElement(Math.min(w,Q-1))?.focus()}for(let Q of k)U.emit("remove:end",{id:Q})};return B=I,Promise.all(V.map((Q)=>Q.finished)).then(I,I),setTimeout(I,u.duration+50),k.length};L.registerMethod("removeItem",G),L.registerMethod("removeItems",E)}if(Z){let G=(E,T)=>{if(X)X();if(B)B();let R=T??0,w=new Map,g=M.content.children;for(let Q=0;Q<g.length;Q++){let _=g[Q],h=_.dataset?.id,x=parseInt(_.dataset?.index??"-1",10);if(h&&x>=0)w.set(h,A.getOffset(x))}let C=c.axis.primary==="x"?"scrollLeft":"scrollTop",a=c.axis.primary==="x"?"scrollWidth":"scrollHeight",d=c.axis.primary==="x"?"clientWidth":"clientHeight",o=M.viewport[C],i=M.viewport[a]-M.viewport[d],k=o>=i-1;L.insertItemAt(E,R),L.forceRender(),W(),U.emit("data:change",{type:"insert",id:E.id});let S=M.viewport[C]-o,u=O(R);if(c.reverse&&S===0&&k){M.viewport[C]=M.viewport[a]-M.viewport[d];let Q=M.viewport[C];if(z.prevScrollPosition=z.scrollPosition,z.scrollPosition=Q,S=Q-o,S>0)L.forceRender(),W()}let K=L.getRenderedElement(u),V=Z,N={duration:V.duration,easing:V.easing},v=[];if(K){let Q=A.getOffset(u);v.push(K.animate([{transform:`${y}(${Math.round(Q)}px) scaleY(0)`,opacity:0,transformOrigin:D},{transform:`${y}(${Math.round(Q)}px) scaleY(1)`,opacity:1,transformOrigin:D}],N))}let s=M.content.children;for(let Q=0;Q<s.length;Q++){let _=s[Q];if(_===K)continue;let h=_.dataset?.id,x=parseInt(_.dataset?.index??"-1",10);if(!h||x<0)continue;let f=w.get(h);if(f===void 0)continue;let F=A.getOffset(x),b=Math.round(f+S),m=Math.round(F);if(b===m)continue;v.push(_.animate([{transform:`${y}(${b}px)`},{transform:`${y}(${m}px)`}],N))}if(v.length===0)return;let l=!1,I=()=>{if(l)return;l=!0,X=null;for(let Q of v)if(Q.playState!=="finished")Q.cancel()};X=I,Promise.all(v.map((Q)=>Q.finished)).then(I,I),setTimeout(I,V.duration+50)};L.registerMethod("insertItem",G)}},destroy(){if(B)B();if(X)X()}}}function H0(j){let $=j?.gap??0,q=null,Y=null,J,Z,B,X,L=new Map,A=new WeakMap,U=0,c=!1,M=!1,z=!1,D=2;function y(W){return L.get(W)??X}function H(){let W=Y.dom.viewport,G=W.scrollHeight-W.clientHeight;return G>0&&J.scrollPosition>=G-D}function O(){let W=Y.dom.viewport;W.scrollHeight;let G=W.scrollHeight-W.clientHeight;if(G>J.scrollPosition)Y.scrollTo(G)}function P(){Y.updateContentSize(Y.sizeCache.getTotalSize())}return{name:"autosize",priority:5,setup(W){if(Y=W,J=W.getState(),Z=W.config.axis.primary==="x",B=Z?"width":"height",$===0)$=W.config.gap;if(X=typeof W.rawSizeSpec==="function"?W.rawSizeSpec(0)+$:W.rawSizeSpec+$,W.setSizeConfig(y),$>0){let T=W.sizeCache.getTotalSize;W.sizeCache.getTotalSize=()=>{let R=T();return R>0?R-$:0}}q=new ResizeObserver((T)=>{if(J.destroyed||!Y)return;let R=!1,w=W.sizeCache.indexAtOffset(J.scrollPosition);for(let o of T){let i=o.target,k=A.get(i);if(k===void 0)continue;if(i.getAttribute("data-index")!==String(k)){q.unobserve(i);continue}if(L.has(k))continue;let S=o.borderBoxSize[0];if(!S)continue;let u=Z?S.inlineSize:S.blockSize;if(u<=0)continue;let K=u+$,V=X;if(L.set(k,K),R=!0,k<w&&K!==V)U+=K-V;q.unobserve(i),i.style[B]=`${u}px`}if(!R)return;let g=H();if(W.rebuildSizeCache(),U)W.scrollTo(J.scrollPosition+U),U=0;let C=J.scrollDirection!==0,a=J.totalItems>0&&J.prevRangeEnd>=J.totalItems-1,d=M&&!z;if(d||g||a||!C){if(P(),c=!1,d||g)O()}else c=!0;W.forceRender()}),W.setScrollToIndexFn((T,R,w,g,C)=>{let a=T>=J.totalItems-1&&R==="end";if(M=a,z=!1,!a)return!1;let d=W.config.mainAxisPadding,o=()=>{let i=W.sizeCache.getTotalSize();return Math.max(0,i+d-J.containerSize)};if(w==="smooth")z=!0,W.smoothScrollTo(o,g??300,C,()=>{z=!1});else W.scrollTo(o())});let G=()=>{M=!1},E=W.dom.viewport;E.addEventListener("wheel",G,{passive:!0}),E.addEventListener("touchstart",G,{passive:!0}),W.registerDestroyHandler(()=>{E.removeEventListener("wheel",G),E.removeEventListener("touchstart",G)}),W.registerMethod("isMeasured",(T)=>L.has(T)),W.registerMethod("setMeasuredSize",(T,R)=>{L.set(T,R)}),W.registerMethod("getMeasuredCount",()=>L.size),W.registerDestroyHandler(()=>{if(q)q.disconnect(),q=null})},hooks:{onCommit(W){if(!q||!Y)return;for(let G=0;G<W.visibleCount;G++){let E=W.visibleIndices[G];if(L.has(E))continue;let T=Y.getRenderedElement(E);if(!T)continue;T.style[B]="",A.set(T,E),q.observe(T)}},onIdle(){if(!Y||!c)return;let W=H();if(P(),c=!1,W)O(),Y.forceRender()}},destroy(){if(q)q.disconnect(),q=null;L.clear(),M=!1,z=!1,Y=null}}}var Z1=(j)=>{let $=Math.max(1,Math.floor(j.columns)),q=j.gap??0,Y=j.containerSize,J=j.crossOffset??0,Z=j.mainOffset??0,B=0,X=[],L=()=>{let O=($-1)*q;B=Math.max(0,(Y-O)/$),X=Array($);let P=B+q;for(let W=0;W<$;W++)X[W]=J+W*P};L();let A=[],U=0,c=[],M=(O,P)=>{if(O<=0)return U=0,A=[],[];let W=Array($).fill(Z),G=Array($);for(let R=0;R<$;R++)G[R]=[];let E=Array(O);for(let R=0;R<O;R++){let w=0,g=W[0];for(let d=1;d<$;d++){let o=W[d];if(o<g)g=o,w=d}let C=P(R),a=W[w];E[R]={index:R,x:X[w],y:a,lane:w,size:C,crossSize:B},G[w].push(R),W[w]=a+C+q}A=G;let T=0;for(let R=0;R<$;R++){let w=W[R],g=w>0?w-q:0;if(g>T)T=g}return U=T,E},z=(O)=>{if(O.length===0)return U;if(U)return U;let P=Array($).fill(0);for(let G of O){let E=G.y+G.size,T=P[G.lane];if(E>T)P[G.lane]=E}let W=0;for(let G=0;G<$;G++)if(P[G]>W)W=P[G];return W},D=(O,P,W)=>{if(O.length===0||W<=P)return c.length=0,c;if(A.length===0||A.length!==$)return y(O,P,W);c.length=0;for(let G=0;G<$;G++){let E=A[G],T=E.length;if(!T)continue;let R=0,w=T;while(R<w){let g=R+w>>>1,C=O[E[g]];if(C.y+C.size<=P)R=g+1;else w=g}for(let g=R;g<T;g++){let C=O[E[g]];if(C.y>=W)break;c.push(C)}}return c},y=(O,P,W)=>{c.length=0;for(let G of O)if(G.y+G.size>P&&G.y<W)c.push(G);return c};return{get columns(){return $},get gap(){return q},get containerSize(){return Y},update:(O)=>{let P=!1;if(O.columns!==void 0){let W=Math.max(1,Math.floor(O.columns));if(W!==$)$=W,P=!0}if(O.gap!==void 0&&O.gap!==q)q=O.gap,P=!0;if(O.containerSize!==void 0&&O.containerSize!==Y)Y=O.containerSize,P=!0;if(O.crossOffset!==void 0&&O.crossOffset!==J)J=O.crossOffset,P=!0;if(O.mainOffset!==void 0&&O.mainOffset!==Z)Z=O.mainOffset,P=!0;if(P)L()},calculateLayout:M,getTotalSize:z,getVisibleItems:D}};var K1=(j,$,q)=>{let Y=Array.from($).sort((B,X)=>B-X);if(Y.length<=1)return;let J=[];for(let B=0;B<Y.length;B++){let X=q(Y[B]);if(X)J.push(X)}if(J.length<=1)return;let Z=j.firstChild;for(let B=0;B<J.length;B++){let X=J[B];if(X===Z)Z=Z.nextSibling;else j.insertBefore(X,Z)}};var d1=(j=200)=>{let $=[];return{acquire:()=>{let Z=$.pop();if(Z)return Z;let B=document.createElement("div");return B.setAttribute("role","option"),B},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}}},c1=1,B1=(j,$,q,Y=!1,J,Z,B,X)=>{let L=d1(),A=new Map,U=new Set,c=0,M="",z=-1,D={selected:!1,focused:!1},y=(i,k)=>{return D.selected=i,D.focused=k,D},H=`${q}-item ${q}-masonry-item`,O=`${q}-group-header`,P=`${q}-item--selected`,W=`${q}-item--focused`,G=(i,k)=>{if(typeof k==="string")i.innerHTML=k;else i.replaceChildren(k);x2(i)},E=(i,k,S)=>{i.classList.toggle(P,k),i.classList.toggle(W,S)},T=(i,k)=>{if(Y)i.style.transform=`translate(${Math.round(k.y)}px, ${Math.round(k.x)}px)`;else i.style.transform=`translate(${Math.round(k.x)}px, ${Math.round(k.y)}px)`},R=(i,k)=>{if(Y)i.style.width=`${k.size}px`,i.style.height=`${k.crossSize}px`;else i.style.width=`${k.crossSize}px`,i.style.height=`${k.size}px`},w=(i,k,S,u,K)=>{let V=L.acquire(),N=k.__groupHeader,v=y(u,K);if(V.className=N?O:H,V.dataset.index=String(i),V.dataset.id=String(k.id),V.dataset.lane=String(S.lane),N)V.setAttribute("role","presentation"),V.removeAttribute("aria-selected"),V.removeAttribute("aria-setsize"),V.removeAttribute("aria-posinset"),V.removeAttribute("id");else if(X===!0){if(V.setAttribute("role","option"),V.ariaSelected=String(u),Z)V.id=`${Z}-item-${i}`;if(J){let l=J();if(l!==z)z=l,M=String(l);V.setAttribute("aria-setsize",M);let I=B?B(i):i+1;V.setAttribute("aria-posinset",String(I))}}else if(V.setAttribute("role","listitem"),V.removeAttribute("aria-selected"),J){let l=J();if(l!==z)z=l,M=String(l);V.setAttribute("aria-setsize",M);let I=B?B(i):i+1;V.setAttribute("aria-posinset",String(I))}R(V,S);let s=$(k,i,v);return G(V,s),E(V,u,K),T(V,S),{element:V,lastItem:k,lastSelected:u,lastFocused:K,lastY:S.y,lastX:S.x,lastSize:S.size,lastCrossSize:S.crossSize,lastSeenFrame:c}},g=(i,k,S,u)=>{c++,U.clear();for(let V=0;V<k.length;V++)U.add(k[V].index);let K=null;for(let V=0;V<k.length;V++){let N=k[V],v=N.index,s=i(v);if(!s)continue;let l=S.has(s.id),I=v===u,Q=A.get(v);if(Q){let _=Q.lastItem!==s,h=Q.lastSelected!==l,x=Q.lastFocused!==I,f=Q.lastY!==N.y||Q.lastX!==N.x,F=Q.lastSize!==N.size||Q.lastCrossSize!==N.crossSize;if(_){let b=y(l,I),m=$(s,v,b);if(G(Q.element,m),Q.element.dataset.id=String(s.id),Q.lastItem=s,!s.__groupHeader){let n=B?B(v):v+1;Q.element.setAttribute("aria-posinset",String(n))}}if(_||h||x)E(Q.element,l,I),Q.element.ariaSelected=String(l),Q.lastSelected=l,Q.lastFocused=I;if(F)R(Q.element,N),Q.lastSize=N.size,Q.lastCrossSize=N.crossSize;if(f)T(Q.element,N),Q.lastY=N.y,Q.lastX=N.x}else{let _=w(v,s,N,l,I);if(!K)K=document.createDocumentFragment();K.appendChild(_.element),A.set(v,_)}}if(K)j.appendChild(K);for(let[V,N]of A)if(U.has(V))N.lastSeenFrame=c;else if(c-N.lastSeenFrame>c1)L.release(N.element),A.delete(V)},C=()=>{for(let i of A.values())L.release(i.element);A.clear(),j.innerHTML=""};return{render:g,getElement:(i)=>A.get(i)?.element,updateItemClasses:(i,k,S)=>{let u=A.get(i);if(!u)return;let K=u.lastSelected!==k,V=u.lastFocused!==S;if(K||V)E(u.element,k,S),u.lastSelected=k,u.lastFocused=S},sortDOM:()=>{K1(j,A.keys(),(i)=>A.get(i)?.element)},clear:C,destroy:()=>{C(),L.clear()}}};var l1=100,r1=new Set;function L0(j){if(!j.columns||j.columns<1)throw Error("[vlist] masonry: columns must be >= 1");let $,q=null,Y,J=null,Z,B,X,L=[],A=-1,U=-1,c=!0,M=-1,z=0,D=0,y=0,H=0,O={columnWidth:0,columns:0,gap:0,containerWidth:0},P=[],W=(N)=>P[N],G=null,E=null,T=!1;function R(){if(T||!J)return;T=!0,G=J.getMethod("_getSelectedIds")??null,E=J.getMethod("_getFocusedIndex")??null}let w=[],g=new Int32Array(0),C=[];function a(){let N=$.columns,v=L.length;w=Array(N);for(let s=0;s<N;s++)w[s]=[];if(g.length<v)g=new Int32Array(v);for(let s=0;s<v;s++){let l=L[s],I=w[l.lane].length;w[l.lane].push(s),g[s]=I}C=Array(N);for(let s=0;s<N;s++){let l=w[s],I=new Float64Array(l.length);for(let Q=0;Q<l.length;Q++){let _=L[l[Q]];I[Q]=_.y+_.size*0.5}C[s]=I}}function d(N,v){let s=N.length;if(!s)return-1;let l=0,I=s-1;while(l<I){let Q=l+I>>1;if(N[Q]<v)l=Q+1;else I=Q}if(l>0&&Math.abs(N[l-1]-v)<=Math.abs(N[l]-v))return l-1;return l}function o(N,v,s){let l=L[N];if(!l)return N;let I=l.lane,Q=$.columns,_=g[N],h=w[I];switch(Z?v==="ArrowDown"?"ArrowRight":v==="ArrowUp"?"ArrowLeft":v==="ArrowRight"?"ArrowDown":v==="ArrowLeft"?"ArrowUp":v:v){case"ArrowDown":if(_+1<h.length)return h[_+1];return N;case"ArrowUp":if(_>0)return h[_-1];return N;case"ArrowRight":{if(I>=Q-1)return N;let f=I+1,F=l.y+l.size*0.5,b=w[f];if(!b.length)return N;let m=d(C[f],F);return m>=0?b[m]:N}case"ArrowLeft":{if(I<=0)return N;let f=I-1,F=l.y+l.size*0.5,b=w[f];if(!b.length)return N;let m=d(C[f],F);return m>=0?b[m]:N}case"Home":return 0;case"End":{let f=w[Q-1];return f.length>0?f[f.length-1]:s-1}case"PageDown":{let f=Y.containerSize,F=l.size>0?l.size:150,b=Math.max(1,Math.floor(f/F)),m=Math.min(_+b,h.length-1);return h[m]}case"PageUp":{let f=Y.containerSize,F=l.size>0?l.size:150,b=Math.max(1,Math.floor(f/F)),m=Math.max(0,_-b);return h[m]}}return N}let i=null;function k(){if(j.size)return(N)=>j.size(N,O);if(i!==null&&typeof i==="function")return(N)=>i(N,O);return(N)=>J.sizeCache.getSize(N)}function S(){let{columns:N,gap:v}=$;O.containerWidth=$.containerSize,O.columns=N,O.gap=v,O.columnWidth=Math.max(0,($.containerSize-(N-1)*v)/N)}function u(){if(!J)return;S();let N=Y.totalItems;L=$.calculateLayout(N,k()),M=N,a();let v=$.getTotalSize(L)+H;J.updateContentSize(v)}function K(){if(Y.destroyed||!J||!q)return;if(Y.totalItems!==M)u();R();let{scrollPosition:N,containerSize:v}=Y;if(!c&&N===A&&v===U)return;if(A=N,U=v,c=!1,v<=0||L.length===0)return;let s=Math.max(0,N-X),l=N+v+X,I=$.getVisibleItems(L,s,l),Q=G?.()??r1,_=E?.()??-1;P=J.getItems(),q.render(W,I,Q,_);let h=I.length,x=h>0?I[0].index:0,f=h>0?I[h-1].index:0;Y.prevRangeStart=x,Y.prevRangeEnd=f,Y.renderPending=!1;let F=Math.min(h,Y.capacity);Y.visibleCount=F,Y.startIndex=x;for(let b=0;b<F;b++){let m=I[b];Y.visibleIndices[b]=m.index,Y.visibleOffsets[b]=m.y,Y.visibleSizes[b]=m.size}}function V(){if(Y.destroyed)return;u(),Y.prevRangeStart=-1,Y.prevRangeEnd=-1,Y.renderPending=!0,c=!0,K()}return{name:"masonry",priority:10,conflicts:["grid","table"],setup(N){if(J=N,Y=N.getState(),i=N.rawSizeSpec,Z=N.config.axis.primary==="x",B=N.config.classPrefix,X=N.config.overscan*l1,N.config.reverse)throw Error("[vlist] masonry: cannot be combined with reverse mode");z=N.config.crossAxisPadding,D=N.config.crossPadStart,y=N.config.startPadding,H=N.config.endPadding;let v=Y.crossSize-z;$=Z1({columns:j.columns,gap:j.gap??0,containerSize:v,crossOffset:D,mainOffset:y}),q=B1(N.dom.content,N.template,B,Z,()=>Y.totalItems),N.dom.root.classList.add(`${B}--masonry`),N.setRenderFn(K,V),u(),N.registerMethod("getMasonryLayout",()=>$),N.registerMethod("updateMasonry",(s)=>{if(s.columns!==void 0&&s.columns<1)throw Error("[vlist] updateMasonry: columns must be >= 1");if(s.gap!==void 0&&s.gap<0)throw Error("[vlist] updateMasonry: gap must be >= 0");let l={};if(s.columns!==void 0)l.columns=s.columns;if(s.gap!==void 0)l.gap=s.gap;$.update(l),q?.clear(),V()}),N.registerMethod("scrollToIndex",(s,l="start")=>{let I=L[s];if(!I)return;let Q=typeof l==="string"?l:l.align??"start",_=typeof l==="object"?l.behavior:void 0,h=typeof l==="object"?l.duration:void 0,x=Y.containerSize,f=$.getTotalSize(L)+H,F=Math.max(0,f-x),b=I.y;if(Q==="center")b=I.y-x/2+I.size/2;else if(Q==="end"){if(b=I.y-x+I.size,s>=Y.totalItems-1&&I.y+I.size>F)b=F}if(b=Math.max(0,Math.min(b,F)),_==="smooth"&&h&&h>0)N.smoothScrollTo(b,h);else N.scrollTo(b)}),N.registerMethod("_scrollItemIntoView",(s)=>{let l=L[s];if(!l)return;let{scrollPosition:I,containerSize:Q}=Y,_=$.getTotalSize(L)+H,h=Math.max(0,_-Q),x=l.y,f=x+l.size;if(x-y<I)N.scrollTo(Math.max(0,x-y));else if(f+H>I+Q){let F=w[$.columns-1];if(F&&F.length>0&&s===F[F.length-1]&&x>=h)N.scrollTo(h);else N.scrollTo(Math.min(f+H-Q,h))}}),N.setNavConfig({total:()=>Y.totalItems,navigate:o}),N.registerDestroyHandler(()=>{q?.destroy(),q=null,N.dom.root.classList.remove(`${B}--masonry`)})},hooks:{onResize(N,v){if(!$||!J)return;let s=Y.crossSize-z;if(Math.abs(s-$.containerSize)<1)return;$.update({containerSize:s}),q?.clear(),V()},onIdle(){q?.sortDOM()}},destroy(){q?.destroy(),q=null,L=[],J=null}}}var U1=(j={})=>{let{chunkSize:$=100,maxCachedItems:q=5000,evictionBuffer:Y=200,onEvict:J}=j,Z=new Map,B=0,X=0,L=(u)=>{let K=Z.get(u);if(!K)K={items:Array($),count:0,lastAccess:Date.now()},Z.set(u,K);else K.lastAccess=Date.now();return K},A=(u)=>{return Math.floor(u/$)},U=(u)=>{return u%$},c=()=>B,M=(u)=>{B=u},z=(u)=>{if(u<0||u>=B)return;let K=A(u),V=Z.get(K);if(!V)return;return V.items[U(u)]},D=(u)=>{if(u<0||u>=B)return!1;let K=A(u),V=Z.get(K);if(!V)return!1;return V.items[U(u)]!==void 0},y=(u,K)=>{let V=A(u),N=L(V),v=U(u),s=N.items[v]===void 0;if(N.items[v]=K,s)N.count++,X++;if(u>=B)B=u+1},H=(u,K)=>{for(let V=0;V<K.length;V++){let N=K[V];if(N!==void 0)y(u+V,N)}},O=(u,K)=>{if(u<0||u>B)return;let V=A(u),N=Array.from(Z.keys()).filter((Q)=>Q>=V).sort((Q,_)=>Q-_),v=[];for(let Q of N){let _=Z.get(Q),h=Q*$;for(let x=0;x<$;x++){if(_.items[x]===void 0)continue;let f=h+x;if(f<u)continue;v.push({oldIndex:f,item:_.items[x]})}}for(let{oldIndex:Q}of v){let _=A(Q),h=Z.get(_);if(!h)continue;let x=U(Q);if(h.items[x]!==void 0){if(h.items[x]=void 0,h.count--,X--,h.count===0)Z.delete(_)}}B++;for(let{oldIndex:Q,item:_}of v){let h=Q+1,x=A(h),f=L(x),F=U(h);f.items[F]=_,f.count++,X++}let s=A(u),l=L(s),I=U(u);l.items[I]=K,l.count++,X++},P=(u)=>{if(u<0||u>=B)return!1;let K=A(u),V=Z.get(K),N=U(u);if(!(V!==void 0&&V.items[N]!==void 0))return!1;let s=K,l=Array.from(Z.keys()).filter((Q)=>Q>=s).sort((Q,_)=>Q-_),I=[];for(let Q of l){let _=Z.get(Q),h=Q*$;for(let x=0;x<$;x++){if(_.items[x]===void 0)continue;let f=h+x;if(f<=u)continue;I.push({oldIndex:f,item:_.items[x]})}}if(V.items[N]=void 0,V.count--,X--,V.count===0)Z.delete(K);for(let{oldIndex:Q}of I){let _=A(Q),h=Z.get(_);if(!h)continue;let x=U(Q);if(h.items[x]!==void 0){if(h.items[x]=void 0,h.count--,X--,h.count===0)Z.delete(_)}}for(let{oldIndex:Q,item:_}of I){let h=Q-1,x=A(h),f=L(x),F=U(h);f.items[F]=_,f.count++,X++}return B--,!0},W=(u,K)=>{let V=[];for(let N=u;N<=K&&N<B;N++)V.push(z(N));return V},G=(u,K)=>{for(let V=u;V<=K&&V<B;V++)if(!D(V))return!1;return!0},E=()=>{let u=[],K=null,V=Array.from(Z.keys()).sort((N,v)=>N-v);for(let N of V){let v=Z.get(N);if(!v)continue;let s=N*$;for(let l=0;l<$;l++){let I=s+l;if(I>=B)break;if(v.items[l]!==void 0)if(K===null)K={start:I,end:I};else if(I===K.end+1)K.end=I;else u.push(K),K={start:I,end:I};else if(K!==null)u.push(K),K=null}}if(K!==null)u.push(K);return u},T=(u,K)=>{let V=[],N=null;for(let v=u;v<=K&&v<B;v++)if(!D(v))if(N===null)N={start:v,end:v};else N.end=v;else if(N!==null)V.push(N),N=null;if(N!==null)V.push(N);return V},R=(u)=>{return Z.has(u)},w=(u)=>{let K=Z.get(u);if(!K)return!1;let V=u*$,N=Math.min($,B-V);return K.count>=N},g=(u)=>{let K=Z.get(u);if(K)K.lastAccess=Date.now()},C=(u,K)=>{if(u>K||Z.size===0)return;let V=Date.now(),N=A(Math.max(0,u)),v=A(Math.min(B-1,K));for(let s=N;s<=v;s++){let l=Z.get(s);if(l)l.lastAccess=V}},a=(u,K)=>{if(X<=q)return 0;let V=Math.max(0,u-Y),N=Math.min(B-1,K+Y),v=A(V),s=A(N),l=0,I=[];for(let[Q,_]of Z)if(Q<v||Q>s)l+=_.count,I.push(Q),X-=_.count,Z.delete(Q);if(l>0&&J)J(l,I);return l},d=()=>{if(X<=q)return 0;let u=Array.from(Z.entries()).sort(([,N],[,v])=>N.lastAccess-v.lastAccess),K=0,V=[];for(let[N,v]of u){if(X<=q)break;K+=v.count,X-=v.count,V.push(N),Z.delete(N)}if(K>0&&J)J(K,V);return K},o=()=>{return{totalItems:B,cachedItems:X,cachedChunks:Z.size,chunkSize:$,maxCachedItems:q,memoryEfficiency:B>0?1-X/B:1}},i=()=>X,k=()=>{Z.clear(),X=0};return{chunkSize:$,maxCachedItems:q,getTotal:c,setTotal:M,get:z,has:D,set:y,setRange:H,insert:O,delete:P,getRange:W,isRangeLoaded:G,getLoadedRanges:E,findUnloadedRanges:T,getChunkIndex:A,isChunkLoaded:R,isChunkFullyLoaded:w,touchChunk:g,touchChunksForRange:C,evictDistant:a,evictToLimit:d,getStats:o,getCachedCount:i,clear:k,reset:()=>{k(),B=0}}};var N1=(j={})=>{let{maskCharacter:$=f0,maxSampleSize:q=I0}=j,Y=[],J=!1,Z=(U)=>{if(J||U.length===0)return;let c=Math.min(U.length,q);for(let M=0;M<c;M++){let z=U[M];if(!z||typeof z!=="object")continue;let D={},y=!1;for(let[H,O]of Object.entries(z)){if(H.startsWith("_")||H==="id")continue;D[H]=String(O??"").length,y=!0}if(y)Y.push(D)}J=!0},B=()=>J,X=(U)=>{let c={id:`${f2}${U}`,[Z0]:!0,_index:U};if(Y.length===0)return c.label=$.repeat(12),c;let M=Y[U%Y.length];for(let[z,D]of Object.entries(M))c[z]=$.repeat(Math.max(1,D));return c};return{analyzeStructure:Z,hasAnalyzedStructure:B,generate:X,generateRange:(U,c)=>{let M=[];for(let z=U;z<=c;z++)M.push(X(z));return M},clear:()=>{Y=[],J=!1}}},q0=(j)=>{if(!j||typeof j!=="object")return!1;return j[Z0]===!0};var s1=50,W1=(j={})=>{let{adapter:$,initialItems:q,initialTotal:Y,storage:J,placeholder:Z,pageSize:B=s1,maxConcurrent:X=0,onStateChange:L,onDataChange:A,onItemsLoaded:U,onItemsEvicted:c}=j,M=U1({...J,onEvict:(J2,t)=>{c?.(J2),C(),g()}}),z=null,D=()=>{if(!z)z=N1(Z);return z},y=new Map,H=!1,O,P=!0,W,G,E=[],T=0,R=new Map,w=()=>{for(let J2 of R.values())J2[1].abort();R.clear()},g=()=>{L?.(V())},C=()=>{A?.()},a=()=>{y.clear();let J2=M.getLoadedRanges();for(let t of J2)for(let $2=t.start;$2<=t.end;$2++){let B2=M.get($2);if(B2&&!q0(B2))y.set(B2.id,$2)}},d=(J2,t)=>{if(!q0(t))y.set(t.id,J2)},o=(J2)=>{y.delete(J2)},i=(J2,t)=>{return`${J2}-${t}`},k=()=>M.getTotal(),S=()=>M.getCachedCount(),u=()=>H,K=()=>P,V=()=>({total:M.getTotal(),cached:M.getCachedCount(),isLoading:H,pendingRanges:E,error:O,hasMore:P,cursor:W}),N=()=>M,v=()=>D(),s=(J2)=>{let t=M.get(J2);if(t!==void 0)return t;if(J2>=0&&J2<M.getTotal())return D().generate(J2);return},l=(J2)=>{let t=y.get(J2);if(t===void 0)return;return M.get(t)},I=(J2)=>{return y.get(J2)??-1},Q=(J2)=>{let t=M.get(J2);return t!==void 0&&!q0(t)},_=(J2,t)=>{let $2=[],B2=M.getTotal();M.touchChunksForRange(J2,Math.min(t,B2-1));for(let U2=J2;U2<=t&&U2<B2;U2++){let Y2=M.get(U2);if(Y2!==void 0)$2.push(Y2);else $2.push(D().generate(U2))}return $2},h=(J2)=>{M.setTotal(J2),P=M.getCachedCount()<J2,C(),g()},x=(J2,t=0,$2)=>{if($&&J2.length>0){let B2=D();if(!B2.hasAnalyzedStructure())B2.analyzeStructure(J2)}for(let B2=0;B2<J2.length;B2++){let U2=J2[B2];if(U2!==void 0){let Y2=t+B2;M.set(Y2,U2),d(Y2,U2)}}if($2!==void 0)M.setTotal($2);else if(t+J2.length>M.getTotal())M.setTotal(t+J2.length);if(M.getCachedCount()>=M.getTotal()&&M.getTotal()>0)P=!1;C(),g(),U?.(J2,t,M.getTotal())},f=(J2,t)=>{let $2=M.get(J2);if(!$2)return!1;let B2=$2.id,U2={...$2,...t};if(M.set(J2,U2),t.id!==void 0&&t.id!==B2)o(B2);return d(J2,U2),C(),g(),!0},F=(J2,t)=>{M.insert(t,J2),a(),w(),C(),g()},b=(J2)=>{let t=y.get(J2);if(t===void 0)return!1;if(!M.delete(t))return!1;return a(),w(),C(),g(),!0},m=async(J2,t)=>{if(!$)return;let $2=M.chunkSize,B2=Math.floor(J2/$2),U2=Math.floor(t/$2),Y2=$2*2;for(let[X2,b2]of R){let F2=X2.indexOf("-"),y2=parseInt(X2.slice(0,F2),10);if(Math.abs(y2-J2)>Y2)b2[1].abort(),R.delete(X2)}let A2=[],L2=[];for(let X2=B2;X2<=U2;X2++){let b2=X2*$2,F2=b2+$2-1,y2=i(b2,F2);if(M.isChunkFullyLoaded(X2))continue;let k2=R.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(X>0){let X2=R.size+A2.length;if(X2>X){let b2=(J2+t)/2,F2=Math.min(X2-X,R.size);while(F2>0){let D2=null,k2=-1,H2=null;for(let[P2,W2]of R){let O2=P2.indexOf("-"),R2=parseInt(P2.slice(0,O2),10),z2=parseInt(P2.slice(O2+1),10),K2=Math.abs((R2+z2)/2-b2);if(K2>k2)k2=K2,D2=P2,H2=W2[1]}if(D2)H2.abort(),R.delete(D2);F2--}let y2=X-R.size;if(A2.length>y2)A2.sort((D2,k2)=>{let H2=Math.abs((D2.start+D2.end)/2-b2),P2=Math.abs((k2.start+k2.end)/2-b2);return H2-P2}),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=i(X2.start,X2.end),F2=new AbortController,y2=(async()=>{E.push(X2),H=!0,O=void 0,g();try{let D2=X2.end-X2.start+1,k2={offset:X2.start,limit:D2,cursor:X2.start===G?W:void 0,signal:F2.signal},H2=await $.read(k2);if(x(H2.items,X2.start,H2.total),H2.cursor)W=H2.cursor,G=X2.start+H2.items.length;let P2=X2.start+H2.items.length;if(P2>=T){if(T=P2,H2.hasMore!==void 0)P=H2.hasMore;else if(H2.total!==void 0)P=P2<H2.total}}catch(D2){if(D2?.name==="AbortError")return;O=D2 instanceof Error?D2:Error(String(D2))}finally{R.delete(b2);let D2=E.findIndex((k2)=>k2.start===X2.start&&k2.end===X2.end);if(D2>=0)E.splice(D2,1);H=R.size>0,g()}})();R.set(b2,[y2,F2]),L2.push(y2)}await Promise.all(L2)},e=async(J2,t)=>{if(M.isRangeLoaded(J2,t))return;await m(J2,t)},n=async()=>{if(!$)return;await m(0,B-1)},Q2=async()=>{if(!$||H||!P)return!1;let J2=M.getCachedCount(),t=M.getTotal(),$2=J2,B2=Math.min($2+B-1,t>0?t-1:$2+B-1);if($2>=t&&t>0)return P=!1,!1;return await m($2,B2),M.getCachedCount()>J2},Z2=async()=>{if(M.clear(),M.setTotal(0),y.clear(),z)z.clear();w(),E=[],H=!1,W=void 0,G=void 0,P=!0,T=0,O=void 0,C(),g()},G2=(J2,t)=>{if(M.evictDistant(J2,t)>0)a()},M2=()=>{M.clear(),y.clear(),W=void 0,G=void 0,O=void 0,E=[],H=!1,C(),g()},N2=()=>{if(M.reset(),y.clear(),z)z.clear();W=void 0,G=void 0,P=!0,T=0,O=void 0,E=[],H=!1,C(),g()};if(q&&q.length>0)x(q,0,Y??q.length);else if(Y!==void 0)M.setTotal(Y),C(),g();return{getState:V,getTotal:k,getCached:S,getIsLoading:u,getHasMore:K,getStorage:N,getPlaceholders:v,getItem:s,getItemById:l,getIndexById:I,isItemLoaded:Q,getItemsInRange:_,setTotal:h,setItems:x,updateItem:f,insertItem:F,removeItem:b,loadRange:m,ensureRange:e,loadInitial:n,loadMore:Q2,reload:Z2,evictDistant:G2,clear:M2,reset:N2}};function F0(j){let{adapter:$,total:q,autoLoad:Y=!0,storage:J}=j,Z=j.loading?.cancelThreshold??v0,B=j.loading?.preloadThreshold??w0,X=j.loading?.preloadAhead??P0,L=j.loading?.maxConcurrent??C0,A,U,c,M,z,D,y=null,H=null,O=null,P=0,W=!1,G=-1,E=-1,T=J?.chunkSize??o2,R=()=>{if(y=null,H!==null)clearTimeout(H),H=null},w=(d,o)=>{return A.ensureRange(d,o)},g=(d,o=o2)=>{M.emit("load:start",{offset:d,limit:o})},C=(d)=>{M.emit("error",{error:d,context:"ensureRange"})},a=()=>{if(!y)return;y=null;let d={start:U.startIndex,end:U.startIndex+Math.max(0,U.visibleCount-1)};if(d.end<d.start)return;w(d.start,d.end).catch(C)};return{name:"data",priority:20,setup(d){U=d.getState(),c=d.sizeCache,M=d.emitter,z=d.dom,D=d.forceRender.bind(d);let o=null;d.setVirtualTotalFn(()=>o?.getTotal()??0),A=o=W1({adapter:$,...q!==void 0&&{initialTotal:q},pageSize:J?.chunkSize??o2,maxConcurrent:L,...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(U.initialized){let k=A.getTotal();U.totalItems=k;let S=c.getTotal();if(k!==S)c.rebuild(k);d.updateContentSize(c.getTotalSize()),d.renderIfNeeded()}},onItemsLoaded:(k)=>{if(U.initialized)D(),M.emit("load:end",{items:k,total:A.getTotal()})}}),d.setGetItemFn((k)=>A.getItem(k)),d.setRemoveItemFn((k)=>{let S=A.getIndexById(k);if(S<0)return-1;if(!A.removeItem(k))return-1;return S}),d.setInsertItemFn((k,S)=>{A.insertItem(k,S)}),d.setUpdateItemFn((k,S)=>{let u=A.getIndexById(k);if(u<0)return!1;return A.updateItem(u,S)}),d.registerMethod("reload",async()=>{if(y=null,G=-1,E=-1,d.forceRender(),await A.reload(),d.scrollTo(0),Y)g(0),await A.loadInitial(),d.forceRender()}),d.registerMethod("loadVisibleRange",async()=>{y=null,d.forceRender();let k=A.getTotal();if(U.visibleCount>0&&U.startIndex<k){let S=Math.min(U.startIndex+U.visibleCount-1,k-1);g(U.startIndex,S-U.startIndex+1),await w(U.startIndex,S)}}),d.registerMethod("getTotal",()=>{return A.getTotal()}),d.registerMethod("setTotal",(k)=>{A.setTotal(k)}),d.registerMethod("_getTotal",()=>A.getTotal()),d.registerMethod("_setTotal",(k)=>{A.setTotal(k)}),d.registerMethod("_cancelAutoLoad",()=>{W=!0}),d.registerMethod("_getLoadedItem",(k)=>{return A.getStorage().get(k)}),d.registerMethod("_getLoadedCount",()=>A.getCached()),M.on("load:start",()=>{z.root.setAttribute("aria-busy","true")}),M.on("load:end",()=>{z.root.removeAttribute("aria-busy")}),d.registerDestroyHandler(()=>{if(O!==null)clearTimeout(O),O=null;R()}),M.on("velocity:change",({velocity:k})=>{P=Math.abs(k)});let i=()=>{if(U.destroyed)return;if(U.visibleCount>0&&U.startIndex<A.getTotal()){let k=Math.min(U.startIndex+U.visibleCount-1,A.getTotal()-1);w(U.startIndex,k).catch(C)}a()};if(window.addEventListener("online",i),d.registerDestroyHandler(()=>{window.removeEventListener("online",i)}),Y)queueMicrotask(()=>{if(W)return;g(0),A.loadInitial().catch((k)=>{M.emit("error",{error:k,context:"loadInitial"})})});else if(q!==void 0)A.setTotal(q)},hooks:{onAfterScroll(){if(U.destroyed)return;let d=U.startIndex+Math.max(0,U.visibleCount-1);if(P>Z){if(H!==null)clearTimeout(H),H=null;y={start:U.startIndex,end:d};return}if(P>B){let k=Math.floor(U.startIndex/T),S=Math.floor(d/T);if(k!==G||S!==E){if(G=k,E=S,d>=U.startIndex)w(U.startIndex,d).catch(C)}let u=U.startIndex,K=d,V=U.scrollDirection;if(V>0)K=Math.min(K+X,A.getTotal()-1);else if(V<0)u=Math.max(0,u-X);if(y={start:u,end:K},H!==null)clearTimeout(H);H=setTimeout(()=>{if(H=null,U.destroyed||!y)return;let{start:N,end:v}=y;if(y=null,v>=N)w(N,v).catch(C)},100);return}R();let o=Math.floor(U.startIndex/T),i=Math.floor(d/T);if(o!==G||i!==E){if(G=o,E=i,d>=U.startIndex)w(U.startIndex,d).catch(C)}},onIdle(){if(U.destroyed)return;P=0,G=-1,E=-1,a(),R()}},destroy(){if(O!==null)clearTimeout(O);R()}}}var O0=(j,$)=>{let q=0,Y=j.length-1;while(q<Y){let J=q+Y+1>>>1;if(j[J].headerLayoutIndex<=$)q=J;else Y=J-1}return q},V1=(j,$)=>{let q=0,Y=j.length-1;while(q<Y){let J=q+Y+1>>>1;if(j[J].firstDataIndex<=$)q=J;else Y=J-1}return q},_1=(j,$,q)=>{if(j===0)return[];let Y=[],J=null,Z=0,B=0;for(let X=0;X<j;X++){let L=q?.(X);if(!L)continue;let A=$(X,L);if(J===null)J=A,Z=0;else if(A!==J){let U=X-Z;Y.push({key:J,groupIndex:Y.length,headerLayoutIndex:B,firstDataIndex:Z,count:U}),B=B+1+U,J=A,Z=X}}if(J!==null)Y.push({key:J,groupIndex:Y.length,headerLayoutIndex:B,firstDataIndex:Z,count:j-Z});return Y};var M1=(j,$,q)=>{let Y=_1(j,$.getGroupForIndex,q),J=j+Y.length,Z=$.header?.height??$.header?.width??$.headerHeight;return{get totalEntries(){return J},get groupCount(){return Y.length},get groups(){return Y},getEntry:(z)=>{if(Y.length===0)return{type:"item",dataIndex:z,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let D=O0(Y,z),y=Y[D];if(z===y.headerLayoutIndex)return{type:"header",group:y};let H=z-y.headerLayoutIndex-1;return{type:"item",dataIndex:y.firstDataIndex+H,group:y}},layoutToDataIndex:(z)=>{if(Y.length===0)return z;let D=O0(Y,z),y=Y[D];if(z===y.headerLayoutIndex)return-1;let H=z-y.headerLayoutIndex-1;return y.firstDataIndex+H},dataToLayoutIndex:(z)=>{if(Y.length===0)return z;let D=V1(Y,z),y=Y[D],H=z-y.firstDataIndex;return y.headerLayoutIndex+1+H},getGroupAtLayoutIndex:(z)=>{if(Y.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let D=O0(Y,z);return Y[D]},getGroupAtDataIndex:(z)=>{if(Y.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let D=V1(Y,z);return Y[D]},getHeaderHeight:typeof Z==="number"?(z)=>Z:(z)=>{let D=Y[z];if(!D)return 0;return Z(D.key,z)},rebuild:(z,D)=>{Y=_1(z,$.getGroupForIndex,D??q),J=z+Y.length}}};var E0=(j,$,q,Y,J=0)=>{let Z=q?"width":"height",B=document.createElement("div");return B.className=`${$}-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:${J||0}px`:`top:${J||0}px`),B.style[Z]=`${Y}px`,j.insertBefore(B,j.firstChild),B},G1=(j,$,q,Y,J,Z=!1,B=0,X,L)=>{let A=Z?"width":"height",U=Z?"height":"width",c=Z?"X":"Y",M=(f,F)=>{f.style[A]=`${F}px`},z=L??E0(j,J,Z,0,B),D=()=>{let f=document.createElement("div");return f.className="sticky-group",f.style.position="absolute",f.style.willChange="transform",f.style[U]="100%",f},y=D(),H=D();z.append(y,H);let O=y,P=H,W=$.groups,G=[],E=[],T=[],R=0,w=()=>{W=$.groups,R=W.length,G=Array(R),E=Array(R),T=Array(R);let f=X?X():1;for(let F=0;F<R;F++)G[F]=q.getOffset(W[F].headerLayoutIndex)*f,E[F]=$.getHeaderHeight(F),T[F]=E[F]*f};w();let g=-1,C=0,a=0,d=-1,o=!1,i=0,k=!1,S=(f,F)=>{Y(f,F);let b=E[F];return M(f,b),b},u=(f)=>{f.replaceChildren(),f.style.transform=""},K=(f)=>{if(f===g)return;if(g=f,C=0,a=0,f<0||f>=R){u(O);return}C=S(O,f),a=T[f],M(z,C),O.style.transform=""},V=(f)=>{if(f===i)return;i=f;let F=Math.round(f);O.style.transform=`translate${c}(${F}px)`,P.style.transform=`translate${c}(${F+C}px)`},N=()=>{i=0,O.style.transform="",P.style.transform=""},v=()=>{if(!k)return;let f=O;O=P,P=f,g=d,C=g>=0?E[g]:0,a=g>=0?T[g]:0,M(z,C),u(P),d=-1,k=!1,N()},s=()=>{if(!k)return;u(P),d=-1,k=!1,N()},l=!!L,I=()=>{if(o)return;if(o=!0,l)z.style.visibility="";else z.style.display=""},Q=()=>{if(!o)return;if(o=!1,l)z.style.visibility="hidden";else z.style.display="none";u(O),g=-1,C=0,a=0,s()},_=(f)=>{if(R===0){Q();return}if(f<G[0]){Q();return}let F=0,b=R-1;while(F<b){let e=F+b+1>>>1;if(G[e]+T[e]<=f)F=e;else b=e-1}if(!o)I();K(F);let m=F+1;if(m<R){let e=G[m]-f;if(e<=0&&e>-a){if(d!==m||!k)d=m,S(P,m),k=!0;let n=a>0?e/a*C:e;V(n)}else if(e<=-a){if(k)v()}else if(k)s()}else if(k)s()},h=()=>{w();let f=g;if(g=-1,C=0,a=0,f>=0)K(f)},x=()=>{z.remove(),g=-1,C=0,a=0,d=-1,o=!1,k=!1};if(!L)z.style.display="none";return{update:_,refresh:h,show:I,hide:Q,destroy:x}};var g2={selected:!1,focused:!1},X1=typeof process<"u"&&process.env?.NODE_ENV!=="production";function R0(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 Y=q,J,Z=null,B,X,L,A,U,c,M,z=null,D,y,H,O=null,P,W,G=null,E=null,T=new Map,R=new Set,w=new Map,g=-1,C=-1,a=!0,d=-1,o=0,i=null,k;function S(){return J.totalEntries}function u(){let Q=X.totalItems;if(Q===d)return;if(X1)console.log(`[groups] syncLayout: ${d} → ${Q}`);let _=d>0;d=Q,J.rebuild(Q,z??M),k(J.totalEntries);let h=B.getTotalSize();if(A.style[D?"width":"height"]=h+"px",Z)Z.refresh(),Z.update(X.scrollPosition);if(_)N();let x=G?.("_scrollbar:getInstance");if(x)x()?.updateBounds(h,X.containerSize)}function K(Q){let _=B.getOffset(Q);if(D)return`translate(${Math.round(_)}px, 0)`;return`translate(0, ${Math.round(_)}px)`}function V(Q,_){let h=B.getSize(_);if(D)Q.style.width=`${h}px`;else Q.style.height=`${h}px`}function N(){T.forEach((Q)=>{Q.remove();let _=Q.getAttribute("data-id");if(_)w.set(_,Q);else L.release(Q)}),T.clear(),R.clear()}function v(){if(w.size>0)w.forEach((Q)=>L.release(Q)),w.clear()}function s(Q,_,h,x){if(E===null)E=!!G?.("_getSelectedIds");if(_.type==="header"){let n=`__group_header_${_.group.groupIndex}`;if(Q.getAttribute("data-id")===n)return!0;Q.className=W,Q.setAttribute("role","presentation"),Q.removeAttribute("aria-selected"),Q.setAttribute("data-id",n);let Q2=Y(_.group.key,_.group.groupIndex);if(typeof Q2==="string")Q.innerHTML=Q2;else Q.innerHTML="",Q.appendChild(Q2);return!0}let f=_.dataIndex,F=M(f);if(!F)return Q.innerHTML="",!1;let b=F._isPlaceholder===!0,m=String(F.id);if(!b&&Q.getAttribute("data-id")===m){if(E)Q.id=`${y}-item-${x}`,Q.setAttribute("aria-posinset",String(f+1)),Q.setAttribute("aria-setsize",String(X.totalItems));return!0}if(Q.className=P,Q.setAttribute("role",E?"option":"listitem"),Q.setAttribute("data-id",m),E)Q.id=`${y}-item-${x}`,Q.setAttribute("aria-posinset",String(f+1)),Q.setAttribute("aria-setsize",String(X.totalItems));if(b)Q.classList.add(`${y}-item--placeholder`);if(h)h(x,g2);else g2.selected=!1,g2.focused=!1;let e=c(F,f,g2);if(typeof e==="string")Q.innerHTML=e;else Q.innerHTML="",Q.appendChild(e);return x2(Q),!b}function l(){if(X.destroyed)return;u();let{scrollPosition:Q,containerSize:_}=X;if(!a&&Q===g&&_===C)return;g=Q,C=_;let h=a;a=!1;let x=S();if(_<=0||x===0){if(T.size>0)T.forEach((t)=>{t.remove(),L.release(t)}),T.clear(),R.clear();return}let f=B.indexAtOffset(Q),F=B.indexAtOffset(Q+_);if(F<x-1)F++;f=Math.max(0,f),F=Math.min(x-1,Math.max(0,F));let b=Math.max(0,f-H),m=Math.min(x-1,F+H);if(b===X.prevRangeStart&&m===X.prevRangeEnd&&!X.renderPending)return;T.forEach((t,$2)=>{if($2<b||$2>m)t.remove(),L.release(t),T.delete($2),R.delete($2)});let e=O?.()??null,n=e?`${y}-item--selected`:"",Q2=e?`${y}-item--focused`:"",Z2=null;for(let t=b;t<=m;t++){let $2=T.get(t),B2=!1;if($2===void 0){let U2=J.getEntry(t);B2=U2.type==="header";let Y2;if(U2.type==="header")Y2=`__group_header_${U2.group.groupIndex}`;else{let L2=M(U2.dataIndex);if(L2&&L2._isPlaceholder!==!0)Y2=String(L2.id)}if(Y2!==void 0){let L2=w.get(Y2);if(L2)w.delete(Y2),$2=L2}if(!$2)$2=L.acquire();if($2.setAttribute("data-index",String(t)),s($2,U2,e,t))R.delete(t);else R.add(t);if(V($2,t),$2.style.transform=K(t),T.set(t,$2),!Z2)Z2=document.createDocumentFragment();Z2.appendChild($2)}else if(h&&R.has(t)){let U2=J.getEntry(t);if(U2.type==="item")if(s($2,U2,e,t))R.delete(t);else R.add(t)}else B2=$2.classList.contains(W);if(!B2&&e)if(e(t,g2),$2.classList.toggle(n,g2.selected),$2.classList.toggle(Q2,g2.focused),g2.selected)$2.setAttribute("aria-selected","true");else $2.removeAttribute("aria-selected")}if(Z2)A.appendChild(Z2);v();let G2=B.getTotalSize();A.style[D?"width":"height"]=G2+"px",X.prevRangeStart=b,X.prevRangeEnd=m,X.renderPending=!1;let M2=0,N2=0,J2=!1;for(let t=b;t<=m&&M2<X.capacity;t++){let $2=J.getEntry(t);if($2.type==="item"){if(!J2)N2=$2.dataIndex,J2=!0;X.visibleIndices[M2]=$2.dataIndex,X.visibleOffsets[M2]=B.getOffset(t),X.visibleSizes[M2]=B.getSize(t),M2++}}X.visibleCount=M2,X.startIndex=N2}function I(){if(X.destroyed)return;if(X1)console.log(`[groups] forceRender, placeholders: ${R.size}, rendered: ${T.size}`);let Q=i?.()??0;if(Q!==o){o=Q;let _=J.groups,h=_.length;J.rebuild(d,z??M);let x=J.groups,f=x.length!==h;if(!f){for(let F=0;F<h;F++)if(x[F].headerLayoutIndex!==_[F].headerLayoutIndex){f=!0;break}}if(f){k(J.totalEntries);let F=B.getTotalSize();if(A.style[D?"width":"height"]=F+"px",Z)Z.refresh(),Z.update(X.scrollPosition);let b=1/0,m=Math.min(h,x.length);for(let n=0;n<m;n++)if(x[n].headerLayoutIndex!==_[n].headerLayoutIndex){b=Math.min(x[n].headerLayoutIndex,_[n].headerLayoutIndex);break}if(x.length>h&&m<x.length)b=Math.min(b,x[m].headerLayoutIndex);else if(h>x.length&&m<h)b=Math.min(b,_[m].headerLayoutIndex);if(b<=X.prevRangeEnd)N();let e=G?.("_scrollbar:getInstance");if(e)e()?.updateBounds(F,X.containerSize)}}X.prevRangeStart=-1,X.prevRangeEnd=-1,X.renderPending=!0,a=!0,l()}return{name:"groups",priority:10,setup(Q){B=Q.sizeCache,X=Q.getState(),L=Q.pool,A=Q.dom.content,U=Q.dom.root,c=Q.template,D=Q.config.axis.primary==="x",y=Q.config.classPrefix,H=Q.config.overscan,M=Q.getItem.bind(Q),O=()=>Q.getItemStateFn(),G=Q.getMethod.bind(Q),E=null,P=`${y}-item`,W=`${y}-group-header`,queueMicrotask(()=>{let F=G?.("_getLoadedItem");if(F)z=F;let b=G?.("_getLoadedCount");if(b)i=b});let _=X.totalItems;J=M1(_,j,z??M),d=_;let h=typeof $==="number"?(F)=>$:(F)=>{let b=J.groups[F];if(!b)return 0;return $(b.key,F)},x=B.getSize,f=(F)=>{let b=J.getEntry(F);if(b.type==="header"){if(j.sticky!==!1&&b.group.groupIndex===0)return 0;return h(b.group.groupIndex)}return x(b.dataIndex)};if(Q.setSizeConfig(f),k=B.rebuild,B.rebuild=(F)=>{k(J.totalEntries)},B.rebuild(J.totalEntries),Q.setVirtualTotalFn(()=>J.totalEntries),U.classList.add(`${y}--grouped`),j.sticky!==!1){let F=(e,n)=>{let Q2=J.groups[n];if(!Q2)return;let Z2=Y(Q2.key,n);if(typeof Z2==="string")e.innerHTML=Z2;else e.replaceChildren(Z2)},b=J.getHeaderHeight(0),m=E0(U,y,D,b);if(Z=G1(U,J,B,F,y,D,0,void 0,m),Z.update(X.scrollPosition),!D)Q.dom.viewport.style.height=`calc(100% - ${b}px)`;else Q.dom.viewport.style.width=`calc(100% - ${b}px)`}Q.setRenderFn(l,I),Q.registerMethod("getGroupLayout",()=>J),Q.registerMethod("_dataToLayoutIndex",(F)=>J.dataToLayoutIndex(F)),Q.registerMethod("_layoutToDataIndex",(F)=>J.layoutToDataIndex(F)),Q.registerMethod("_getRenderedElement",(F)=>T.get(F)??null),Q.registerMethod("_isGroupHeader",(F)=>{return J.getEntry(F).type==="header"}),Q.registerMethod("scrollToIndex",(F,b="start")=>{let m=J.dataToLayoutIndex(F),e=J.totalEntries;if(e===0)return;let n=Math.max(0,Math.min(m,e-1)),Q2=B.getOffset(n),Z2=B.getSize(n),G2=X.containerSize,M2=B.getTotalSize(),N2=Math.max(0,M2-G2),J2=typeof b==="string"?b:b.align??"start",t=typeof b==="object"?b.behavior:void 0,$2=typeof b==="object"?b.duration:void 0,B2;switch(J2){case"center":B2=Q2-(G2-Z2)/2;break;case"end":B2=Q2-G2+Z2;break;default:B2=Q2}if(B2=Math.max(0,Math.min(B2,N2)),t==="smooth"&&$2&&$2>0)Q.smoothScrollTo(B2,$2);else Q.scrollTo(B2)}),Q.registerDestroyHandler(()=>{for(let[,F]of T)F.remove();if(T.clear(),R.clear(),Z)Z.destroy(),Z=null;U.classList.remove(`${y}--grouped`)})},hooks:{onAfterScroll(Q,_){if(Z)Z.update(Q)}},destroy(){if(Z)Z.destroy(),Z=null;T.clear(),R.clear(),w.clear()}}}var A1=(j,$=50,q=1/0,Y=!0)=>{let J=j,Z=[],B=0,X=()=>{Z=J.map((H,O)=>({def:H,index:O,width:0,minWidth:a1(H.minWidth??$,1),maxWidth:H.maxWidth??q,resizable:H.resizable??Y,offset:0}))},L=(H)=>{if(Z.length===0){B=0;return}let O=0,P=0;for(let W=0;W<Z.length;W++){let G=Z[W],E=G.def;if(E.width!==void 0)G.width=T0(E.width,G.minWidth,G.maxWidth),O+=G.width;else P++}if(P){let G=Math.max(0,H-O)/P;for(let E=0;E<Z.length;E++){let T=Z[E];if(T.def.width===void 0)T.width=T0(G,T.minWidth,T.maxWidth)}}A()},A=()=>{let H=0;for(let O=0;O<Z.length;O++){let P=Z[O];P.offset=H,H+=P.width}B=H},U=(H,O)=>{if(H<0||H>=Z.length)return 0;let P=Z[H];if(!P.resizable)return P.width;let W=T0(O,P.minWidth,P.maxWidth);return P.width=W,A(),W},c=(H)=>{return Z[H]},M=(H)=>{if(Z.length===0)return;if(H<0)return Z[0];if(H>=B)return Z[Z.length-1];let O=0,P=Z.length-1;while(O<P){let W=O+P>>>1,G=Z[W];if(H<G.offset)P=W-1;else if(H>=G.offset+G.width)O=W+1;else return G}return Z[O]},z=(H)=>{if(H<0||H>=Z.length)return 0;return Z[H].offset},D=(H)=>{if(H<0||H>=Z.length)return 0;return Z[H].width},y=(H)=>{J=H,X()};return X(),{get columns(){return Z},get totalWidth(){return B},resolve:L,updateColumns:y,resizeColumn:U,getColumn:c,getColumnAtX:M,getColumnOffset:z,getColumnWidth:D}},T0=(j,$,q)=>Math.min(q,Math.max($,j)),a1=(j,$)=>Math.max($,j);var D1=(j,$,q,Y,J,Z)=>{let B=document.createElement("div");B.setAttribute("role","rowgroup");let X=document.createElement("div");X.className=`${q}-table-header`,X.setAttribute("role","row"),X.setAttribute("aria-rowindex","1"),X.style.height=`${$}px`;let L=document.createElement("div");L.className=`${q}-table-header-scroll`,L.setAttribute("role","presentation"),X.appendChild(L),B.appendChild(X),j.insertBefore(B,j.firstChild),j.style.setProperty("--vlist-table-header-height",`${$}px`);let A=[],U=[],c=!0,M=null,z="asc",D=null,y=!1,H=-1,O=0,P=0,W=0,G=(K,V)=>{let N=document.createElement("div");N.className=`${q}-table-header-cell`,N.setAttribute("role","columnheader"),N.setAttribute("aria-colindex",String(V+1)),N.setAttribute("tabindex",V===0?"0":"-1"),N.dataset.columnKey=K.def.key;let v=K.def.align;if(v==="center")N.classList.add(`${q}-table-header-cell--center`);else if(v==="right")N.classList.add(`${q}-table-header-cell--right`);let s=document.createElement("div");s.className=`${q}-table-header-content`;let l=K.def.header?K.def.header(K.def):K.def.label;if(typeof l==="string")s.textContent=l;else s.appendChild(l);if(N.appendChild(s),K.def.sortable){let I=document.createElement("span");I.className=`${q}-table-header-sort`,I.setAttribute("aria-hidden","true"),N.appendChild(I),U.push(I),N.classList.add(`${q}-table-header-cell--sortable`)}else U.push(null);if(K.resizable){let I=document.createElement("div");I.className=`${q}-table-header-resize`,I.dataset.resizeIndex=String(V),N.appendChild(I)}return N},E=(K)=>{D=K,L.textContent="",A=[],U=[];let V=K.columns;for(let N=0;N<V.length;N++){let v=V[N],s=G(v,N);A.push(s),L.appendChild(s)}if(T(K),M)R(M,z)},T=(K)=>{D=K;let V=K.columns;L.style.width=`${K.totalWidth}px`;for(let N=0;N<A.length&&N<V.length;N++){let v=A[N],s=V[N];v.style.width=`${s.width}px`}},R=(K,V)=>{if(M=K,z=V,!D)return;let N=D.columns;for(let v=0;v<U.length&&v<N.length;v++){let s=U[v];if(!s)continue;if(N[v].def.key===K)s.textContent=V==="asc"?"▲":"▼",s.style.opacity="0.7",A[v].setAttribute("aria-sort",V==="asc"?"ascending":"descending");else s.textContent="",s.style.opacity="0",A[v].removeAttribute("aria-sort")}},w=(K)=>{L.style.transform=`translateX(${-K}px)`},g=(K)=>{let V=K.target;if(!V.dataset.resizeIndex)return;if(K.preventDefault(),K.stopPropagation(),H=+V.dataset.resizeIndex,!D)return;let N=D.getColumn(H);if(!N?.resizable)return;y=!0,O=K.clientX,P=N.width,j.classList.add(`${q}--col-resizing`),j.style.cursor="col-resize",V.classList.add(`${q}-table-header-resize--active`),V.setPointerCapture(K.pointerId),V.addEventListener("pointermove",C),V.addEventListener("pointerup",a),V.addEventListener("pointercancel",a)},C=(K)=>{if(!y||!D)return;let V=K.clientX-O;if(Math.abs(V)<1)return;let N=Math.max(0,P+V);Y(H,N)},a=(K)=>{if(!y)return;let V=K.target;V.removeEventListener("pointermove",C),V.removeEventListener("pointerup",a),V.removeEventListener("pointercancel",a);try{V.releasePointerCapture(K.pointerId)}catch{}V.classList.remove(`${q}-table-header-resize--active`),j.classList.remove(`${q}--col-resizing`),j.style.cursor="",y=!1,H=-1},d=(K)=>{let V=K.target;if(V.dataset.resizeIndex)return;if(y)return;let N=V;while(N&&!N.dataset.columnKey)if(N=N.parentElement,N===X||N===null)return;let v=N.dataset.columnKey;if(!D)return;let s=D.columns,l=-1;for(let Q=0;Q<s.length;Q++)if(s[Q].def.key===v){l=Q;break}if(l===-1)return;let I=s[l];if(Z)Z({key:v,index:l,event:K});if(I.def.sortable&&J){let Q;if(M===v)Q=z==="asc"?"desc":null;else Q="asc";J({key:v,index:l,direction:Q})}},o=(K)=>{if(K<0||K>=A.length)return;A[W]?.setAttribute("tabindex","-1"),W=K;let V=A[W];V.setAttribute("tabindex","0"),V.focus()},i=(K)=>{let V=K.key;if(V==="ArrowRight"){if(K.ctrlKey||K.metaKey){if(!D)return;let N=D.getColumn(W);if(N?.resizable)Y(W,N.width+10),K.preventDefault()}else if(W<A.length-1)o(W+1),K.preventDefault();K.stopPropagation();return}if(V==="ArrowLeft"){if(K.ctrlKey||K.metaKey){if(!D)return;let N=D.getColumn(W);if(N?.resizable)Y(W,N.width-10),K.preventDefault()}else if(W>0)o(W-1),K.preventDefault();K.stopPropagation();return}if(V==="Home"){o(0),K.preventDefault(),K.stopPropagation();return}if(V==="End"){o(A.length-1),K.preventDefault(),K.stopPropagation();return}if(V==="Enter"||V===" "){if(!D)return;let N=D.getColumn(W);if(N?.def.sortable&&J){let v;if(M===N.def.key)v=z==="asc"?"desc":null;else v="asc";J({key:N.def.key,index:W,direction:v}),K.preventDefault()}K.stopPropagation();return}if(V==="ArrowDown"){j.focus(),K.preventDefault(),K.stopPropagation();return}};return X.addEventListener("pointerdown",g),X.addEventListener("click",d),X.addEventListener("keydown",i),{element:X,update:T,updateSort:R,rebuild:E,show:()=>{if(c)return;c=!0,X.style.display=""},hide:()=>{if(!c)return;c=!1,X.style.display="none"},destroy:()=>{X.removeEventListener("pointerdown",g),X.removeEventListener("click",d),X.removeEventListener("keydown",i),j.style.removeProperty("--vlist-table-header-height"),B.remove(),A=[],U=[],D=null,c=!1},syncScroll:w}};var o1=()=>{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}}},H1=(j,$,q,Y,J,Z,B,X,L)=>{let A=o1(),U=new Map,c=-1,M=q,z=null,D=null,y=null,H=(F,b)=>{D=F,y=b},O=(F,b)=>{b?F.setAttribute("aria-selected","true"):F.removeAttribute("aria-selected")},P=(F,b,m,e)=>{F.setAttribute("role",b),F.setAttribute("data-id",String(m)),F.setAttribute("data-index",String(e))},W=(F)=>String(F).startsWith("__placeholder_"),G=`${J}-item ${J}-table-row`,E=`${J}-item--selected`,T=`${J}-item--focused`,R=`${J}-table-cell`,w=`${J}-table-cell--center`,g=`${J}-table-cell--right`,C=`${J}-item--odd`,a=`${J}-item--placeholder`,d=`${J}-item--replaced`,o=`${J}-item ${J}-table-row ${J}-table-group-header`,i=`${J}-table-group-header-content`,k=(F,b,m,e,n=!1)=>{if(m.def.cell){let Q2=m.def.cell(b,m.def,e);if(typeof Q2==="string")F.innerHTML=Q2;else F.replaceChildren(Q2)}else{let Q2=b[m.def.key],Z2=Q2!=null?String(Q2):"";if(n&&Z2)F.innerHTML=`<span>${Z2}</span>`;else F.textContent=Z2}},S=(F,b,m,e,n=!1)=>{let Q2=G;if(X){if(z){let Z2=z(b);if(Z2>=0&&(Z2&1)===1)Q2+=` ${C}`}else if((b&1)===1)Q2+=` ${C}`}if(n)Q2+=` ${a}`;if(m)Q2+=` ${E}`;if(e)Q2+=` ${T}`;F.className=Q2},u=(F,b,m)=>{if(m?.compression?.isCompressed)return Math.round(m2(F,m.scrollPosition,b,m.totalItems,m.containerSize,m.compression,m.rangeStart));return b.getOffset(F)},K=(F,b)=>{let m=b.def.align;if(m==="center")F.classList.add(w),F.classList.remove(g);else if(m==="right")F.classList.add(g),F.classList.remove(w);else F.classList.remove(w,g)},V=(F,b)=>{let e=M.columns.length;if(b.length===e)return b;let n=[];for(let Q2=0;Q2<e;Q2++){let Z2;if(Q2<b.length)Z2=b[Q2];else Z2=document.createElement("div"),Z2.className=R,F.appendChild(Z2);n.push(Z2)}for(let Q2=e;Q2<b.length;Q2++)b[Q2].remove();return n},N=(F,b,m,e)=>{let n=A.acquire(),Q2=F,Z2=m.getSize(b),G2=u(b,m,e);n.style.cssText=`width:${M.totalWidth}px;height:${Z2}px;transform:translateY(${G2}px)`,n.className=o,P(n,"presentation",F.id,b),n.removeAttribute("aria-selected"),n.removeAttribute("aria-rowindex"),n.replaceChildren();let M2=document.createElement("div");if(M2.className=i,y){let N2=y(Q2.groupKey,Q2.groupIndex);if(typeof N2==="string")M2.innerHTML=N2;else M2.appendChild(N2)}return n.appendChild(M2),{element:n,cells:[],index:b,isGroupHeader:!0,_lastItem:F,lastItemId:F.id,lastSelected:!1,lastFocused:!1,lastOffset:G2,lastHeight:Z2}},v=(F,b,m,e,n,Q2)=>{let Z2=A.acquire(),G2=n.getSize(b),M2=u(b,n,Q2),N2=W(F.id);Z2.style.cssText=`width:${M.totalWidth}px;height:${G2}px;transform:translateY(${M2}px)`,S(Z2,b,m,e,N2),P(Z2,"row",F.id,b),Z2.id=`${Z}-item-${b}`,Z2.setAttribute("aria-rowindex",String(b+2)),O(Z2,m);let J2=V(Z2,[]),t=M.columns;for(let $2=0;$2<J2.length&&$2<t.length;$2++){let B2=J2[$2],U2=t[$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,F,U2,b,N2)}return{element:Z2,cells:J2,index:b,isGroupHeader:!1,_lastItem:F,lastItemId:F.id,lastSelected:m,lastFocused:e,lastOffset:M2,lastHeight:G2}},s=(F,b,m,e,n)=>{let Q2=!1,Z2=B();if(Z2!==c)c=Z2,Q2=!0;let G2=null,M2=$();z=typeof X==="string"&&L?L():null;for(let N2=b.start;N2<=b.end;N2++){let J2=N2-b.start,t=F[J2];if(!t)continue;let $2=m.has(t.id),B2=N2===e,U2=D?D(t):!1,Y2=U.get(N2);if(Y2){if(Y2.isGroupHeader!==U2){A.release(Y2.element),U.delete(N2);let A2=U2?N(t,N2,M2,n):v(t,N2,$2,B2,M2,n);if(U.set(N2,A2),!G2)G2=document.createDocumentFragment();G2.appendChild(A2.element);continue}if(U2){if(Y2._lastItem!==t){let b2=t,F2=Y2.element.firstElementChild;if(F2&&y){let y2=y(b2.groupKey,b2.groupIndex);if(typeof y2==="string")F2.innerHTML=y2;else F2.replaceChildren(y2)}Y2.element.setAttribute("data-id",String(t.id)),Y2._lastItem=t,Y2.lastItemId=t.id}let L2=u(N2,M2,n);if(Y2.lastOffset!==L2)Y2.lastOffset=L2,Y2.element.style.transform=`translateY(${L2}px)`;let X2=M2.getSize(N2);if(Y2.lastHeight!==X2)Y2.lastHeight=X2,Y2.element.style.height=`${X2}px`}else{let A2=Y2._lastItem!==t,L2=Y2.lastSelected!==$2,X2=Y2.lastFocused!==B2;if(A2){let y2=Y2.lastItemId!=null&&W(Y2.lastItemId),D2=W(t.id);if(!D2&&s2(m,N2,t.id))$2=!0;let k2=M.columns;for(let H2=0;H2<Y2.cells.length&&H2<k2.length;H2++)k(Y2.cells[H2],t,k2[H2],N2,D2);if(S(Y2.element,N2,$2,B2,D2),Y2.element.setAttribute("data-id",String(t.id)),O(Y2.element,$2),y2&&!D2)Y2.element.classList.add(d),setTimeout(()=>{Y2.element.classList.remove(d)},300);Y2._lastItem=t,Y2.lastItemId=t.id,Y2.lastSelected=$2,Y2.lastFocused=B2}else if(L2||X2)S(Y2.element,N2,$2,B2,W(t.id)),O(Y2.element,$2),Y2.lastSelected=$2,Y2.lastFocused=B2;let b2=u(N2,M2,n);if(Y2.lastOffset!==b2)Y2.lastOffset=b2,Y2.element.style.transform=`translateY(${b2}px)`;let F2=M2.getSize(N2);if(Y2.lastHeight!==F2)Y2.lastHeight=F2,Y2.element.style.height=`${F2}px`;if(Q2)Y2.element.setAttribute("aria-rowindex",String(N2+2))}}else{if(s2(m,N2,t.id))$2=!0;let A2=U2?N(t,N2,M2,n):v(t,N2,$2,B2,M2,n);if(U.set(N2,A2),!G2)G2=document.createDocumentFragment();G2.appendChild(A2.element)}}if(G2)j.appendChild(G2);for(let[N2,J2]of U)if(N2<b.start||N2>b.end)A.release(J2.element),U.delete(N2)},l=(F)=>{let b=$();for(let[m,e]of U){let n=u(m,b,F);if(e.lastOffset!==n)e.lastOffset=n,e.element.style.transform=`translateY(${n}px)`}},I=(F,b,m,e)=>{let n=U.get(F);if(!n)return;if(n.isGroupHeader)return;let Q2=M.columns;for(let Z2=0;Z2<n.cells.length&&Z2<Q2.length;Z2++)k(n.cells[Z2],b,Q2[Z2],F);n.element.setAttribute("data-id",String(b.id)),n._lastItem=b,n.lastItemId=b.id,S(n.element,F,m,e),O(n.element,m),n.lastSelected=m,n.lastFocused=e},Q=(F,b,m)=>{let e=U.get(F);if(!e)return;if(e.isGroupHeader)return;let n=e.lastSelected!==b,Q2=e.lastFocused!==m;if(n||Q2)S(e.element,F,b,m),O(e.element,b),e.lastSelected=b,e.lastFocused=m},_=(F)=>{M=F;let b=F.columns;for(let[,m]of U)if(m.element.style.width=`${F.totalWidth}px`,m.cells.length>0)for(let e=0;e<m.cells.length&&e<b.length;e++){let n=m.cells[e],Q2=b[e];n.style.left=`${Q2.offset}px`,n.style.width=`${Q2.width}px`}},h=(F)=>{return U.get(F)?.element},x=()=>{for(let[,F]of U)A.release(F.element);U.clear(),c=-1};return{render:s,updatePositions:l,updateItem:I,updateItemClasses:Q,getElement:h,updateColumnLayout:_,setGroupHeaderFn:H,clear:x,destroy:()=>{x(),A.clear()}}};var i1=new Set;function b0(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,Y=null,J,Z,B=null,X=null,L=null,A=!1,U=-1,c=null,M=!1;function z(){if(A||!B)return;A=!0,X=B.getMethod("_getSelectedIds")??null,L=B.getMethod("_getFocusedIndex")??null}function D(){if(M||!B)return;M=!0,c=B.getMethod("_scale:getCompression")??null}let y=[],H={start:0,end:0},O={start:0,end:-1};function P(){if(J.destroyed||!B||!Y||!$)return;let{containerSize:G,totalItems:E}=J;if(G<=0||E===0)return;let T=E+1;if(T!==U)U=T,B.dom.root.setAttribute("aria-rowcount",`${T}`);D();let R=J.scrollPosition,w=c?.()??null,g=w!==null&&w.isCompressed,C=B.config.overscan,a,d;if(g)d2(R,G,Z,E,w,O),a=Math.max(0,O.start-C),d=Math.min(E-1,O.end+C);else{let K=Z.indexAtOffset(R),V=Z.indexAtOffset(R+G);if(V<E-1)V++;K=Math.max(0,K),V=Math.min(E-1,V),a=Math.max(0,K-C),d=Math.min(E-1,V+C)}if(a===J.prevRangeStart&&d===J.prevRangeEnd&&!J.renderPending)return;z();let o=X?.()??i1,i=L?.()??-1;y.length=0;for(let K=a;K<=d;K++){let V=B.getItem(K);if(V)y.push(V)}H.start=a,H.end=d;let k;if(g)k={scrollPosition:R,totalItems:E,containerSize:G,rangeStart:a,compression:w};Y.render(y,H,o,i,k),J.prevRangeStart=a,J.prevRangeEnd=d,J.renderPending=!1;let S=d-a+1;J.visibleCount=Math.min(S,J.capacity),J.startIndex=a;for(let K=0;K<J.visibleCount;K++){let V=a+K;J.visibleIndices[K]=V,J.visibleOffsets[K]=Z.getOffset(V),J.visibleSizes[K]=Z.getSize(V)}let u=Z.getTotalSize();J.totalSize=u,B.dom.content.style.height=u+"px"}function W(){if(J.destroyed)return;J.prevRangeStart=-1,J.prevRangeEnd=-1,J.renderPending=!0,P()}return{name:"table",priority:10,conflicts:["grid","masonry"],setup(G){B=G,J=G.getState(),Z=G.sizeCache;let{dom:E,config:T,emitter:R}=G,{classPrefix:w}=T;if(T.axis.primary==="x")throw Error("[vlist] table: cannot be used with horizontal orientation");if(T.reverse)throw Error("[vlist] table: cannot be used with reverse mode");let g=j.resizable??!0,C=j.minColumnWidth??50,a=j.maxColumnWidth??1/0,d=j.rowBorders??!0,o=j.rowHeight,i=j.headerHeight??(typeof o==="number"?o:40),k=j.sort?.key??null,S=j.sort?.direction??"asc";if($=A1(j.columns,C,a,g),typeof o==="function"||typeof o==="number")G.setSizeConfig(o);if(G.rebuildSizeCache(),E.root.classList.add(`${w}--table`),d)E.root.classList.add(`${w}--table-row-borders`);if(j.columnBorders)E.root.classList.add(`${w}--table-col-borders`);queueMicrotask(()=>{if(G.getMethod("_getSelectedIds"))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 u=J.crossSize;$.resolve(u);let K=()=>{if(!$)return;E.content.style.minWidth=`${$.totalWidth}px`},V=(I,Q)=>{if(!$)return;let _=$.getColumn(I);if(!_)return;let h=_.width,x=$.resizeColumn(I,Q);q?.update($),Y?.updateColumnLayout($),K(),R.emit("column:resize",{key:_.def.key,index:I,previousWidth:h,width:x})},N=(I)=>{k=I.direction===null?null:I.key,S=I.direction??"asc",q?.updateSort(k,S),R.emit("column:sort",I)};if(q=D1(E.root,i,w,V,N),q.rebuild($),k)q.updateSort(k,S);K(),Y=H1(E.content,()=>Z,$,j.columns,w,w,()=>J.totalItems,T.striped||void 0),G.setRenderFn(P,W);let v=q,s=-1,l=()=>{let I=E.viewport.scrollLeft;if(I!==s)s=I,v?.syncScroll?.(I)};E.viewport.addEventListener("scroll",l,{passive:!0}),G.registerMethod("updateColumns",(I)=>{if(!$||!q)return;if($.updateColumns(I),$.resolve(J.crossSize),q.rebuild($),k)q.updateSort(k,S);K(),Y?.updateColumnLayout($),Y?.clear(),G.forceRender()}),G.registerMethod("resizeColumn",(I,Q)=>{if(!$)return;let _;if(typeof I==="string"){let h=$.columns;_=-1;for(let x=0;x<h.length;x++)if(h[x].def.key===I){_=x;break}if(_===-1)return}else _=I;V(_,Q)}),G.registerMethod("getColumnWidths",()=>{if(!$)return{};let I={},Q=$.columns;for(let _=0;_<Q.length;_++)I[Q[_].def.key]=Q[_].width;return I}),G.registerMethod("setSort",(I,Q)=>{k=I,S=Q??"asc",q?.updateSort(k,S)}),G.registerMethod("getSort",()=>{return{key:k,direction:S}}),G.registerMethod("_getTableLayout",()=>$),G.registerMethod("_getTableHeaderHeight",()=>i),G.registerMethod("_updateRenderedItem",(I,Q,_,h)=>{Y?.updateItem(I,Q,_,h)}),G.registerMethod("_replaceTableRenderer",(I)=>{Y=I}),G.registerMethod("_updateTableForGroups",(I,Q)=>{Y?.setGroupHeaderFn(I,Q)}),G.registerMethod("_updateItemClasses",(I,Q,_)=>{Y?.updateItemClasses(I,Q,_)}),G.registerKeydownHandler((I)=>{if(I.key!=="ArrowLeft"&&I.key!=="ArrowRight")return;if(!$)return;let Q=$.columns;if(Q.length===0)return;let _=E.viewport.clientWidth;if($.totalWidth<=_)return;let h=E.viewport.scrollLeft;if(I.key==="ArrowRight"){for(let x=0;x<Q.length;x++)if(Q[x].offset>h+1){E.viewport.scrollLeft=Q[x].offset,I.preventDefault();return}}else{for(let x=Q.length-1;x>=0;x--)if(Q[x].offset<h-1){E.viewport.scrollLeft=Q[x].offset,I.preventDefault();return}if(h>0)E.viewport.scrollLeft=0,I.preventDefault()}}),G.registerDestroyHandler(()=>{E.viewport.removeEventListener("scroll",l),q?.destroy(),q=null,Y?.destroy(),Y=null,E.content.style.minWidth="",E.root.classList.remove(`${w}--table`),E.root.classList.remove(`${w}--table-row-borders`),E.root.classList.remove(`${w}--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(G,E){if(!$||!B)return;let T=J.crossSize;if($.resolve(T),q?.update($),Y?.updateColumnLayout($),$)B.dom.content.style.minWidth=`${$.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 y0(j){let $=j?.handle??null,q=j?.ghostClass??"vlist-sort-ghost",Y=j?.shiftDuration??150,J=j?.edgeScrollZone??40,Z=j?.edgeScrollSpeed??20,B=j?.dragThreshold??5,X=j?.ghostContainer??null,L,A,U=null,c,M,z,D,y,H,O,P,W,G,E=!1,T=-1,R=-1,w=0,g=0,C=0,a=0,d=!1,o=null,i=0,k=null,S=0,u=0,K=0,V=null,N=!1,v="",s=-1,l=-1,I=[],Q="",_=null,h=null,x="",f=!1,F=(p)=>{return p.closest("[data-index]")},b=(p)=>{let j2=p.dataset.index;return j2===void 0?-1:+j2},m=(p)=>{let j2=p.getBoundingClientRect(),q2=p.cloneNode(!0);return q2.className=`${D}-item ${q}`,q2.removeAttribute("data-index"),q2.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`,(X||document.body).appendChild(q2),q2},e=()=>{if(!o)return;o.style.left=`${C-u}px`,o.style.top=`${a-K}px`},n=()=>{let p=L.totalItems;if(p===0)return 0;let j2=M.getBoundingClientRect(),q2=L.scrollPosition,V2=y?C-u-j2.left+M.scrollLeft+q2:a-K-j2.top+q2,_2=V2+S,T2=A.getOffset(T)+A.getSize(T);if(_2>T2){let E2=A.indexAtOffset(_2),C2=A.getOffset(E2)+A.getSize(E2)/2,h2=_2>C2?E2:E2-1;return Math.min(Math.max(h2,T),p-1)}let w2=A.getOffset(T);if(V2<w2){let E2=A.indexAtOffset(V2),C2=A.getOffset(E2)+A.getSize(E2)/2,h2=V2<C2?E2:E2+1;return Math.max(Math.min(h2,T),0)}return T},Q2=()=>{let p=c.children,j2=S;for(let q2=0;q2<p.length;q2++){let V2=p[q2],_2=b(V2);if(_2<0||_2===T)continue;let T2=0;if(R>T){if(_2>T&&_2<=R)T2=-j2}else if(R<T){if(_2>=R&&_2<T)T2=j2}let w2=A.getOffset(_2),E2=Math.round(w2+T2);V2.style.transition=O,V2.style.transform=`${H}(${E2}px)`}},Z2=()=>{let p=c.children;for(let j2=0;j2<p.length;j2++){let q2=p[j2],V2=b(q2);if(V2>=0)q2.style.transform=`${H}(${Math.round(A.getOffset(V2))}px)`;q2.style.transition=""}},G2=()=>{if(!U)return;let p=n();if(p===R)return;R=p,Q2(),U.emitter.emit("sort:move",{fromIndex:T,currentIndex:R})},M2=()=>{let p=M.getBoundingClientRect();if(y)return C<p.left||C>p.right;return a<p.top||a>p.bottom},N2=()=>{let p=U?.getMethod("_getFocusedIndex");return p?p():-1},J2=(p)=>{let j2=U?.getMethod("_focusById");if(j2)j2(p)},t=(p)=>{if(!U)return;let j2=y?M.clientWidth:M.clientHeight,q2=L.scrollPosition,V2=A.getOffset(p),_2=V2+A.getSize(p);if(V2<q2)U.scrollTo(Math.max(0,V2));else if(_2>q2+j2)U.scrollTo(_2-j2)},$2=(p)=>{if(!h)return;h.textContent="",h.offsetHeight,h.textContent=p},B2=(p)=>{if(!U)return"";let q2=U.getItems()[p];if(!q2)return"";return c.querySelector(`[data-index="${p}"]`)?.textContent?.trim()||String(q2.id)},U2=()=>String(L.totalItems),Y2=(p)=>{let j2=c.children;for(let q2=0;q2<j2.length;q2++)j2[q2].style.transition=p},A2=()=>{let p=()=>{if(!E||!U)return;let j2=M.getBoundingClientRect(),q2=0,V2=3;if(y){let T2=C-j2.left,w2=j2.right-C;if(T2<J){let E2=Math.min(V2,1-T2/J);q2=-Z*E2*E2}else if(w2<J){let E2=Math.min(V2,1-w2/J);q2=Z*E2*E2}}else{let T2=a-j2.top,w2=j2.bottom-a;if(T2<J){let E2=Math.min(V2,1-T2/J);q2=-Z*E2*E2}else if(w2<J){let E2=Math.min(V2,1-w2/J);q2=Z*E2*E2}}let _2=M2();if(q2!==0){let T2=L.scrollPosition,w2=A.getTotalSize()-(y?M.clientWidth:M.clientHeight);if(q2<0&&T2<=0||q2>0&&T2>=w2)f=_2;else f=!0,U.scrollTo(T2+q2)}else f=_2;i=requestAnimationFrame(p)};i=requestAnimationFrame(p)},L2=()=>{if(i)cancelAnimationFrame(i),i=0},X2=(p=!1)=>{if(E=!1,d=!1,o&&o.parentNode)o.remove();o=null,k=null;let j2=c.children;for(let V2=0;V2<j2.length;V2++){let _2=j2[V2];_2.classList.remove(G);let T2=b(_2);if(T2>=0)_2.style.transform=`${H}(${Math.round(A.getOffset(T2))}px)`;_2.style.transition=""}L2(),z.classList.remove(P),document.body.style.cursor="";let q2=window.getSelection();if(q2)q2.removeAllRanges();if(document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),!p&&U)U.forceRender()},b2=(p,j2)=>{if(!U)return;let q2=p!==j2&&p>=0&&j2>=0,V2=()=>{if(!U)return;if(E=!1,q2){if(z.classList.add(W),U.emitter.emit("sort:end",{fromIndex:p,toIndex:j2}),V!==null)J2(V);X2(!0),requestAnimationFrame(()=>z.classList.remove(W))}else z.classList.add(W),U.emitter.emit("sort:cancel",{originalItems:[...U.getItems()]}),X2(!1),requestAnimationFrame(()=>z.classList.remove(W))};if(!o){V2();return}let _2=M.getBoundingClientRect(),T2=L.scrollPosition,w2=A.getOffset(j2),E2=Y>0?Y:150;if(o.style.transition=`left ${E2}ms ease, top ${E2}ms ease`,y)o.style.left=`${_2.left-M.scrollLeft+w2-T2}px`,o.style.top=`${_2.top}px`;else o.style.left=`${_2.left}px`,o.style.top=`${_2.top+w2-T2}px`;let C2=!1,h2=()=>{if(C2)return;C2=!0,o?.removeEventListener("transitionend",h2),V2()};o.addEventListener("transitionend",h2),setTimeout(h2,E2+50)},F2=(p)=>{if(L.destroyed||!U)return;if(E)return;if(N)z2();if(p.button!==0)return;let j2=p.target;if($){if(!j2.closest($))return}let q2=F(j2);if(!q2)return;let V2=b(q2);if(V2<0)return;w=p.clientX,g=p.clientY,C=p.clientX,a=p.clientY,T=V2,d=!1,k=q2;let _2=q2.getBoundingClientRect();u=p.clientX-_2.left,K=p.clientY-_2.top,document.addEventListener("pointermove",y2),document.addEventListener("pointerup",D2),document.addEventListener("pointercancel",H2)};function y2(p){if(!U)return;if(C=p.clientX,a=p.clientY,!d){let j2=C-w,q2=a-g;if(Math.sqrt(j2*j2+q2*q2)<B)return;if(d=!0,E=!0,R=T,z.classList.add(P),document.body.style.cursor="grabbing",S=A.getSize(T),k)o=m(k),k.classList.add(G);let V2=N2();if(V2>=0){let T2=U.getItems()[V2];V=T2?T2.id:null}else V=null;U.emitter.emit("sort:start",{index:T}),A2()}if(E){if(p.preventDefault(),e(),!f)G2();else if(M2()){if(R!==T)R=T,Z2()}}}function D2(p){if(!d){document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),k=null;return}p.preventDefault(),document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),L2(),b2(T,R)}let k2=()=>{if(!d)return;document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),L2(),Z2(),b2(T,T)};function H2(){k2()}let P2=()=>{let p=c.querySelectorAll(`.${x}`);for(let j2=0;j2<p.length;j2++)p[j2].classList.remove(x)},W2=()=>{P2();let p=c.querySelector(`[data-id="${v}"]`);if(p)p.classList.add(x)},O2=(p)=>{if(!U)return;let j2=U.getItems(),q2=j2[p];if(!q2)return;N=!0,v=q2.id,s=p,l=p,I=[...j2],z.classList.add(P),U.emitter.emit("sort:start",{index:p}),W2(),$2(`Grabbed ${B2(p)}. Current position ${p+1} of ${U2()}. Use Up and Down arrow keys to move, Space to drop, Escape to cancel.`)},R2=()=>{if(!N||!U)return;N=!1;let p=l,j2=B2(p);Y2("none"),z.classList.remove(P),P2(),J2(v),U.forceRender(),$2(`${j2} dropped. Final position ${p+1} of ${U2()}.`),I=[],requestAnimationFrame(()=>Y2(""))},z2=()=>{if(!N||!U)return;N=!1;let p=s;if(Y2("none"),z.classList.remove(P),P2(),l!==p)U.emitter.emit("sort:cancel",{originalItems:I});J2(v),U.forceRender(),t(p),$2(`Reorder cancelled. Returned to position ${p+1} of ${U2()}.`),I=[],requestAnimationFrame(()=>Y2(""))},K2=(p)=>{if(!N||!U)return;let j2=L.totalItems,q2=l+p;if(q2<0||q2>=j2)return;let V2=l,_2=q2;Y2("none"),U.emitter.emit("sort:end",{fromIndex:V2,toIndex:_2}),l=_2,J2(v),U.forceRender(),t(_2),W2(),$2(`${B2(_2)} moved. New position ${_2+1} of ${U2()}.`),requestAnimationFrame(()=>Y2(""))},r=(p)=>{if(L.destroyed)return;if(E){if(p.key==="Escape")p.preventDefault(),p.stopImmediatePropagation(),k2();return}if(N)switch(p.key){case" ":case"Enter":p.preventDefault(),p.stopImmediatePropagation(),R2();return;case"Escape":p.preventDefault(),p.stopImmediatePropagation(),z2();return;case"ArrowUp":case"ArrowLeft":p.preventDefault(),p.stopImmediatePropagation(),K2(-1);return;case"ArrowDown":case"ArrowRight":p.preventDefault(),p.stopImmediatePropagation(),K2(1);return;default:if(!p.key.startsWith("F")&&p.key!=="Tab")p.preventDefault(),p.stopImmediatePropagation();return}if(p.key===" "&&!p.shiftKey&&!p.ctrlKey&&!p.metaKey){let j2=N2();if(j2>=0)p.preventDefault(),p.stopImmediatePropagation(),O2(j2)}};return{name:"sortable",priority:30,conflicts:["grid","masonry","table","scale"],setup(p){U=p,L=p.getState(),A=p.sizeCache,c=p.dom.content,M=p.dom.viewport,z=p.dom.root,D=p.config.classPrefix,y=p.config.axis.primary==="x",H=y?"translateX":"translateY",O=Y>0?`transform ${Y}ms ease`:"none",P=`${D}--sorting`,W=`${D}--settling`,G=`${D}-item--drag-source`,x=`${D}-item--kb-sorting`,p.registerMethod("isSorting",()=>E||N),c.addEventListener("pointerdown",F2),z.addEventListener("keydown",r),Q=`${D}-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.",z.appendChild(_),h=document.createElement("div"),h.setAttribute("role","status"),h.setAttribute("aria-live","assertive"),h.setAttribute("aria-atomic","true"),h.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",z.appendChild(h),p.registerDestroyHandler(()=>{if(N)z2();X2(),c.removeEventListener("pointerdown",F2),z.removeEventListener("keydown",r),_?.remove(),h?.remove()})},hooks:{onCommit(){if(!U)return;let p=c.children;for(let j2=0;j2<p.length;j2++){let q2=p[j2],V2=b(q2);if(V2<0)continue;if(q2.setAttribute("aria-roledescription","sortable item"),q2.setAttribute("aria-describedby",Q),N)if(q2.getAttribute("data-id")===String(v))q2.classList.add(x);else q2.classList.remove(x);if(E)if(V2===T)q2.classList.add(G),k=q2;else{q2.classList.remove(G);let _2=0;if(R>T){if(V2>T&&V2<=R)_2=-S}else if(R<T){if(V2>=R&&V2<T)_2=S}let T2=Math.round(A.getOffset(V2)+_2);q2.style.transform=`${H}(${T2}px)`}}}},destroy(){if(o&&o.parentNode)o.remove();o=null,L2(),_?.remove(),h?.remove(),U=null}}}var n1=50,t1=0.1;function L1(j){let $=0,q=0,Y=0;function J(){return Y>0?q/Y:0}function Z(L){if($=L,L>t1&&L<n1)q+=L,Y++}function B(){let L=j.getTotal();if(L===0)return 0;let A=j.getItemSize();if(A<=0)return 0;let U=j.getContainerSize();if(U<=0)return 0;let c=j.getScrollPosition(),M=typeof j.getColumns==="function"?j.getColumns():1,D=Math.ceil(L/M)*A,H=Math.min(D,S2)-U,O=D-U,P=H>0?O/H:1,W=c*P,G=Math.ceil((W+U)/A);return Math.min(G*M,L)}function X(){let L=j.getTotal(),A=B();return{progress:L>0?Math.min(100,Math.max(0,A/L*100)):0,velocity:$,velocityAvg:J(),itemCount:A,total:L}}return{getState:X,onVelocity:Z}}export{D0 as transition,b0 as table,y0 as sortable,A0 as snapshots,G0 as selection,V0 as scrollbar,W0 as scale,X0 as page,L0 as masonry,R0 as groups,_0 as grid,F0 as data,e0 as createVList,L1 as createStats,H0 as autosize,M0 as a11y};
|