vlist 2.4.1 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.github.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  The virtual list library for every framework. Ultra efficient, batteries-included, and accessible with composable plugins — in 9.7 KB.
4
4
 
5
- **v2.4.1** — [Changelog](./CHANGELOG.md) · **New:** Bounded logical scroll model for 1M+ items (`scroll: { mode: "bounded" }`), `carousel()` plugin with infinite loop, snap, and focal scaling. `scale()` deprecated.
5
+ **v2.5.0** — [Changelog](./CHANGELOG.md) · **New:** Bounded logical scroll model for 1M+ items (`scroll: { mode: "bounded" }`), `carousel()` plugin with infinite loop, snap, and focal scaling. `scale()` deprecated.
6
6
 
7
7
  [![npm version](https://img.shields.io/npm/v/vlist.svg)](https://www.npmjs.com/package/vlist)
8
8
  [![bundle size](https://img.shields.io/bundlephobia/minzip/vlist)](https://bundlephobia.com/package/vlist)
@@ -103,7 +103,7 @@ const list = createVList({
103
103
  | `scrollbar()` | +2.0 KB | Custom scrollbar UI |
104
104
  | `grid()` | +2.4 KB | 2D grid layout |
105
105
  | `masonry()` | +4.0 KB | Pinterest-style masonry with lane-aware keyboard nav |
106
- | `carousel()` | +2.3 KB | Paged horizontal carousel with snap and keyboard nav |
106
+ | `carousel()` | +3.3 KB | Paged horizontal carousel with snap and keyboard nav |
107
107
  | `table()` | +5.8 KB | Data table with columns, resize, sort |
108
108
  | `tree()` | +5.0 KB | Collapsible tree with async loading and indent guides |
109
109
  | `page()` | +0.8 KB | Window-level scrolling |
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  The virtual list library for every framework. Ultra efficient, batteries-included, and accessible with composable plugins — in 9.7 KB.
4
4
 
5
- **v2.4.1** — [Changelog](https://github.com/floor/vlist/blob/main/CHANGELOG.md) · **New:** Bounded logical scroll model for 1M+ items (`scroll: { mode: "bounded" }`), `carousel()` plugin with infinite loop, snap, and focal scaling. `scale()` deprecated.
5
+ **v2.5.0** — [Changelog](https://github.com/floor/vlist/blob/main/CHANGELOG.md) · **New:** Bounded logical scroll model for 1M+ items (`scroll: { mode: "bounded" }`), `carousel()` plugin with infinite loop, snap, and focal scaling. `scale()` deprecated.
6
6
 
7
7
  [![npm version](https://img.shields.io/npm/v/vlist.svg)](https://www.npmjs.com/package/vlist)
8
8
  [![bundle size](https://img.shields.io/bundlephobia/minzip/vlist)](https://bundlephobia.com/package/vlist)
package/dist/index.d.ts CHANGED
@@ -37,8 +37,8 @@ export { tree } from "./plugins/tree";
37
37
  export type { TreePluginConfig, FlatNode } from "./plugins/tree";
38
38
  export { search, DEFAULT_SEARCH_TEXT } from "./plugins/search";
39
39
  export type { SearchPluginConfig, SearchText } from "./plugins/search";
40
- export { carousel } from "./plugins/carousel";
41
- export type { CarouselPluginConfig, CarouselVariant, CarouselDirection, CarouselState } from "./plugins/carousel";
40
+ export { carousel, registerPreset, getPreset, resolvePreset, full, hero, heroCenter, multi, uncontained } from "./plugins/carousel";
41
+ export type { CarouselPluginConfig, CarouselVariant, CarouselDirection, CarouselState, SlotConfig, SlotConfigResolver, TextFade } from "./plugins/carousel";
42
42
  /** @deprecated Use `scroll: { mode: "bounded" }` instead. Will be removed in vlist 3.0. */
43
43
  export { scale } from "./plugins/scale";
44
44
  export type { ScalePluginConfig } from "./plugins/scale";
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- var J2=3,g2="vlist";var $2=50;var x2=50,m2=2,c2=15,d2=6,B2=2000,l2=30000,o0=16000000,x0=150,a0=1,Q2=($)=>$<0.5?2*$*$:1-(-2*$+2)**2/2,r2=300,s2=2,o2=1.5,a2=0.25,i2=0.75;var n2="x",t2=20,N2="_isPlaceholder",I0="__placeholder_";var j2={top:0,right:0,bottom:0,left:0},e2=($)=>{if($==null)return j2;if(typeof $==="number")return $===0?j2:{top:$,right:$,bottom:$,left:$};if($.length===2){let[Z,q]=$;return Z===0&&q===0?j2:{top:Z,right:q,bottom:Z,left:q}}let[J,Q,j,U]=$;return J===0&&Q===0&&j===0&&U===0?j2:{top:J,right:Q,bottom:j,left:U}},J1=($,J)=>J?$.left+$.right:$.top+$.bottom,$1=($,J)=>J?$.top+$.bottom:$.left+$.right;function Q1($){let J={visibleIndices:new Int32Array($),visibleOffsets:new Float64Array($),visibleSizes:new Float64Array($),visibleCount:0,startIndex:0,totalSize:0,capacity:$,scrollPosition:0,prevScrollPosition:0,scrollDirection:0,baseOffset:0,containerSize:0,crossSize:0,totalItems:0,prevRangeStart:0,prevRangeEnd:-1,renderPending:!1,initialized:!1,destroyed:!1,prevAriaTotal:-1,resizeCapacity(Q,j,U=J2){if(j<=0||Q<=0)return;let Z=Math.ceil(Q/j)+U*2;if(Z<=J.capacity)return;let q=Z+8,K=new Int32Array(q),F=new Float64Array(q),_=new Float64Array(q);K.set(J.visibleIndices),F.set(J.visibleOffsets),_.set(J.visibleSizes),J.visibleIndices=K,J.visibleOffsets=F,J.visibleSizes=_,J.capacity=q},clear(){J.visibleCount=0,J.startIndex=0}};return J}var o1=($,J)=>{let Q=J;return{getOffset:(j)=>j*$,getSize:(j)=>$,indexAtOffset:(j)=>{if(Q===0||$===0)return 0;return Math.max(0,Math.min(Math.floor(j/$),Q-1))},getTotalSize:()=>Q*$,getTotal:()=>Q,rebuild:(j)=>{Q=j},isVariable:()=>!1}},a1=($,J)=>{let Q=J,j=new Float64Array(0),U=(q)=>{Q=q,j=new Float64Array(q+1),j[0]=0;for(let K=0;K<q;K++)j[K+1]=j[K]+$(K)};U(J);let Z=(q)=>{if(Q===0)return 0;if(q<=0)return 0;if(q>=j[Q])return Q-1;let K=0,F=Q-1;while(K<F){let _=K+F+1>>>1;if(j[_]<=q)K=_;else F=_-1}return K};return{getOffset:(q)=>{if(q<=0)return 0;if(q>=Q)return j[Q];return j[q]},getSize:(q)=>$(q),indexAtOffset:(q)=>Z(q),getTotalSize:()=>j[Q]??0,getTotal:()=>Q,rebuild:(q)=>U(q),isVariable:()=>!0}},Z2=($,J)=>{if(typeof $==="number")return o1($,J);return a1($,J)};function j1($){let J=[],Q=`${$}-item`,j=document.createElement("div");return j.className=Q,{acquire(){if(J.length>0)return J.pop();return j.cloneNode(!1)},release(U){if(U.className=Q,U.removeAttribute("style"),U.removeAttribute("id"),U.removeAttribute("role"),U.removeAttribute("aria-selected"),U.removeAttribute("aria-posinset"),U.removeAttribute("aria-setsize"),U.removeAttribute("data-index"),U.removeAttribute("data-id"),U.textContent="",J.length<100)J.push(U)},get size(){return J.length},clear(){J.length=0}}}function u0($){let J=$.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let Q=0;Q<J.length;Q++)J[Q].setAttribute("tabindex","-1")}function Z1($){if(typeof $==="string"){let J=document.querySelector($);if(!J)throw Error(`[vlist] Container not found: ${$}`);return J}return $}function U1($,J,Q,j){let U=Q?`${J} ${J}--horizontal`:J,Z=Q?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",q=Q?"position:relative;height:100%;overflow-anchor:none":"position:relative;width:100%;overflow-anchor:none",K=' role="list"';if(j)K+=` aria-label="${j.replace(/"/g,"&quot;")}"`;if(Q)K+=' aria-orientation="horizontal"';$.insertAdjacentHTML("beforeend",`<div class="${U}"><div class="${J}-viewport" style="${Z}" tabindex="-1"><div class="${J}-content" style="${q}"${K}></div></div></div>`);let F=$.lastElementChild,_=F.firstElementChild,N=_.firstElementChild,B=document.createElement("div");return B.className=`${J}-live`,B.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",B.setAttribute("aria-live","polite"),B.setAttribute("aria-atomic","true"),B.setAttribute("role","status"),F.appendChild(B),{root:F,viewport:_,content:N,liveRegion:B}}function K1($){let{state:J,viewport:Q,isX:j,wheelEnabled:U,onFrame:Z,onIdle:q}=$,K=$.idleTimeout||x0,F=$.scrollTarget??Q,_=null,N=null;function B(){let v=j?Q.scrollLeft:Q.scrollTop;if(Math.abs(v-J.scrollPosition)<0.5)return;J.prevScrollPosition=J.scrollPosition,J.scrollPosition=v,J.scrollDirection=v>J.prevScrollPosition?1:v<J.prevScrollPosition?-1:0,Z(),G()}function P(v){let V;if(j){if(Math.abs(v.deltaX)>Math.abs(v.deltaY))return;let M=Q.scrollLeft,L=Q.scrollWidth-Q.clientWidth;if(V=Math.max(0,Math.min(M+v.deltaY*a0,L)),Math.abs(V-M)<1)return;v.preventDefault(),Q.scrollLeft=V}else{let M=Q.scrollWidth>Q.clientWidth;if(M&&Math.abs(v.deltaX)>Math.abs(v.deltaY))return;if(M&&v.deltaX!==0)v.preventDefault(),Q.scrollLeft+=v.deltaX;let L=Q.scrollTop,Y=Q.scrollHeight-Q.clientHeight;if(V=Math.max(0,Math.min(L+v.deltaY*a0,Y)),Math.abs(V-L)<1)return;v.preventDefault(),Q.scrollTop=V}J.prevScrollPosition=J.scrollPosition,J.scrollPosition=V,J.scrollDirection=V>J.prevScrollPosition?1:-1,Z(),G()}function G(){if(_!==null)clearTimeout(_);_=setTimeout(()=>{_=null,J.scrollDirection=0,q()},K)}function E(){if(N!==null)cancelAnimationFrame(N),N=null}function A(v,V,M,L=Q2,Y){E();let y=J.scrollPosition,H=typeof v==="function"?v:()=>v,T=H();if(Math.abs(T-y)<1){if(M)M(T);else if(j)Q.scrollLeft=T;else Q.scrollTop=T;Y?.();return}let I=performance.now();function g(b){T=H();let d=b-I,r=Math.min(d/V,1),S=y+(T-y)*L(r);if(M)M(S);else if(j)Q.scrollLeft=S;else Q.scrollTop=S;if(!M)J.scrollPosition=S;if(Z(),r<1)N=requestAnimationFrame(g);else N=null,G(),Y?.()}N=requestAnimationFrame(g)}return{attach(){if(F.addEventListener("scroll",B,{passive:!0}),U)F.addEventListener("wheel",P,{passive:!1})},detach(){if(F.removeEventListener("scroll",B),U)F.removeEventListener("wheel",P);if(E(),_!==null)clearTimeout(_),_=null},cancelScroll:E,smoothScrollTo:A}}function r0($,J,Q){if($<J)return J;if($>Q)return Q;return $}function q1($){let{state:J,viewport:Q,content:j,isX:U,wheelEnabled:Z,onFrame:q,onIdle:K,mainAxisPadding:F}=$,_=$.idleTimeout||x0,N=$.runwayFactor??s2,B=$.wrap??null,P=B!==null,G=$.scrollTarget??Q,E=0,A=0,v=0,V=null,M=null;function L(){return U?Q.scrollLeft:Q.scrollTop}function Y(x){if(U)Q.scrollLeft=x;else Q.scrollTop=x}function y(x){let o=P?x:r0(x,0,A);J.prevScrollPosition=J.scrollPosition,J.scrollPosition=o,J.scrollDirection=o>J.prevScrollPosition?1:o<J.prevScrollPosition?-1:0;let l=E/2;if(P){J.baseOffset=o-l,Y(l);return}let X=r0(o-l,0,v);J.baseOffset=X,Y(r0(o-X,0,E))}function H(x){y(x),q(),d()}function T(){let x=L(),o=J.baseOffset+x;if(Math.abs(o-J.scrollPosition)<0.5)return;if(J.prevScrollPosition=J.scrollPosition,J.scrollPosition=o,J.scrollDirection=o>J.prevScrollPosition?1:o<J.prevScrollPosition?-1:0,I(x),P)g();q(),d()}function I(x){let o=E*a2,l=E*i2,X=E/2;if(P){if(x>=o&&x<=l)return;J.baseOffset=J.scrollPosition-X,Y(X);return}if(v<=0)return;let f=J.baseOffset,W=x<o&&f>0,O=x>l&&f<v;if(!W&&!O)return;let p=J.scrollPosition,a=r0(p-X,0,v);if(a===f)return;J.baseOffset=a,Y(r0(p-a,0,E))}function g(){let x=B.lapSize();if(x<=0)return;let o=J.scrollPosition-B.home(),l=Math.trunc(o/x);if(Math.abs(l)<B.thresholdLaps)return;let X=l*x;J.scrollPosition-=X,J.prevScrollPosition-=X,J.baseOffset-=X}function b(x){let o;if(U)if(Math.abs(x.deltaX)>Math.abs(x.deltaY)){if(!P)return;o=x.deltaX}else o=x.deltaY;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;o=x.deltaY}let l=J.scrollPosition,X=l+o*a0,f=P?X:r0(X,0,A);if(Math.abs(f-l)<1)return;if(x.preventDefault(),H(f),P)g()}function d(){if(V!==null)clearTimeout(V);V=setTimeout(()=>{V=null,J.scrollDirection=0,K()},_)}function r(){if(M!==null)cancelAnimationFrame(M),M=null}function S(x,o,l,X=Q2,f){r();let W=J.scrollPosition,O=typeof x==="function"?x:()=>x,p=O();if(Math.abs(p-W)<1){H(p),f?.();return}let a=performance.now();function c(R){p=O();let z=Math.min((R-a)/o,1);if(y(W+(p-W)*X(z)),q(),z<1)M=requestAnimationFrame(c);else M=null,d(),f?.()}M=requestAnimationFrame(c)}function e(x){let o=J.containerSize,l=x+F,X=o*N,f=P?X:Math.min(l,X);E=Math.max(0,f-o),A=Math.max(0,l-o),v=Math.max(0,l-f),J.totalSize=x,j.style[U?"width":"height"]=f+"px",y(J.scrollPosition)}return{attach(){if(G.addEventListener("scroll",T,{passive:!0}),Z)G.addEventListener("wheel",b,{passive:!1})},detach(){if(G.removeEventListener("scroll",T),Z)G.removeEventListener("wheel",b);if(r(),V!==null)clearTimeout(V),V=null},cancelScroll:r,smoothScrollTo:S,setLogical:H,getLogical(){return J.scrollPosition},getMaxLogical(){return A},refresh:e}}function i1($,J){if($.getTotal()<=0)return{index:0,offsetPx:0};let j=J<=0?0:J,U=$.indexAtOffset(j),Z=j-$.getOffset(U);return{index:U,offsetPx:Z>0?Z:0}}function n1($,J){let Q=t1($,J);return $.getOffset(Q.index)+Q.offsetPx}function t1($,J){let Q=$.getTotal();if(Q<=0)return{index:0,offsetPx:0};let{index:j,offsetPx:U}=J;if(j<0)return{index:0,offsetPx:0};if(j>Q-1)j=Q-1;while(U>0&&j<Q-1){let Z=$.getSize(j);if(U<Z)break;U-=Z,j++}while(U<0&&j>0)j--,U+=$.getSize(j);if(U<0)U=0;return{index:j,offsetPx:U}}function Y1($){let{sizeCache:J,getPixel:Q,setPixel:j,getContainerSize:U}=$;function Z(){let K=J.getTotalSize()-U();return K>0?K:0}function q(K){if(K<=0)return 0;let F=Z();return K>F?F:K}return{getLogical(){return i1(J,Q())},setLogical(K){j(q(n1(J,K)))},getPixelEquivalent(){return Q()},setPixelEquivalent(K){j(q(K))},getMaxPixelEquivalent:Z,scrollByPx(K){j(q(Q()+K))}}}var i0=[],e1={calculate:i0,commit:i0,afterScroll:i0,idle:i0,resize:i0};function _1($){if($.length===0)return e1;let J=[],Q=[],j=[],U=[],Z=[];for(let q=0;q<$.length;q++){let K=$[q].hooks;if(K===void 0)continue;if(K.onCalculate!==void 0)J.push(K.onCalculate);if(K.onCommit!==void 0)Q.push(K.onCommit);if(K.onAfterScroll!==void 0)j.push(K.onAfterScroll);if(K.onIdle!==void 0)U.push(K.onIdle);if(K.onResize!==void 0)Z.push(K.onResize)}return{calculate:J,commit:Q,afterScroll:j,idle:U,resize:Z}}function W1($,J){for(let Q=0;Q<$.length;Q++)$[Q](J)}function B1($,J){for(let Q=0;Q<$.length;Q++)$[Q](J)}function V2($,J,Q){for(let j=0;j<$.length;j++)$[j](J,Q)}function N1($){for(let J=0;J<$.length;J++)$[J]()}function V1($,J,Q){for(let j=0;j<$.length;j++)$[j](J,Q)}function M1($,J,Q,j,U,Z,q,K){let F=j!==0||U!==0;return{prefix:$,selectedClass:`${$}-item--selected`,focusedClass:`${$}-item--focused`,placeholderClass:`${$}-item--placeholder`,replacedClass:`${$}-item--replaced`,translateProp:J?"translateX(":"translateY(",sizeProp:J?"width":"height",itemRole:"listitem",interactive:!1,startPadding:Q,gap:q,hasCrossPad:F,crossStartProp:F?J?"top":"left":"",crossEndProp:F?J?"bottom":"right":"",crossStartVal:F?j+"px":"",crossEndVal:F?U+"px":"",oddClass:Z,emitter:K??null,indexMap:null,ariaTotalFn:null}}function J4($,J,Q,j,U){if($.containerSize<=0||$.totalItems===0)return $.clear(),!0;let{scrollPosition:Z,containerSize:q,totalItems:K}=$,F=U??0;$.totalSize=J.getTotalSize();let _=J.indexAtOffset(F>0?Math.max(0,Z-F):Z),N=J.indexAtOffset(Z+q);if(N<K-1)N++;_=Math.max(0,_),N=Math.min(K-1,Math.max(0,N));let B=Math.max(0,_-Q),P=Math.min(K-1,N+Q),G=Math.ceil(q/1)+Q*2+10,E=P-B+1,A=Math.min(E,$.capacity,G);if(B===$.prevRangeStart&&P===$.prevRangeEnd&&!$.renderPending)return!1;$.visibleCount=A,$.startIndex=B;for(let v=0;v<A;v++){let V=B+v;$.visibleIndices[v]=V,$.visibleOffsets[v]=J.getOffset(V),$.visibleSizes[v]=J.getSize(V)}return W1(j.calculate,$),$.prevRangeStart=B,$.prevRangeEnd=P,$.renderPending=!1,!0}var S0={selected:!1,focused:!1};function $4($,J,Q){for(let j=0;j<J;j++)if($[j]===Q)return!0;return!1}function Q4($,J){if(J<=1)return!0;let Q=$[0];for(let j=1;j<J;j++){let U=$[j];if(U!==Q+1)return!1;Q=U}return!0}function j4($,J,Q,j,U,Z,q,K,F,_){let N=F?null:U(),B=$.visibleCount,P=$.visibleIndices,G=q.ariaTotalFn?q.ariaTotalFn():$.totalItems,E=q.interactive?String(G):"",A=q.interactive&&G!==$.prevAriaTotal,v=null,V=q.indexMap;for(let M=0;M<B;M++){let L=P[M],Y=V?V(L):L,y=$.visibleOffsets[M],H=$.visibleSizes[M],T=F?F(L):N[L];if(_)_(Y,S0);else S0.selected=!1,S0.focused=!1;let I=Z.get(L),g=I;if(I===void 0){let b=J.acquire();if(T!==void 0){let S;try{S=j(T,Y,S0)}catch(e){if(q.emitter)q.emitter.emit("error",{error:e instanceof Error?e:Error(String(e)),context:`template:render:${Y}`});J.release(b);continue}if(typeof S==="string")b.innerHTML=S;else b.textContent="",b.appendChild(S);u0(b)}if(b.setAttribute("role",q.itemRole),b.setAttribute("data-index",String(Y)),q.interactive)b.id=q.prefix+"-item-"+L,b.setAttribute("aria-posinset",String(Y+1)),b.setAttribute("aria-setsize",E);if(T!==void 0){let S=String(T.id);if(b.setAttribute("data-id",S),S.startsWith(I0))b.classList.add(q.placeholderClass)}if(q.hasCrossPad)b.style.setProperty(q.crossStartProp,q.crossStartVal),b.style.setProperty(q.crossEndProp,q.crossEndVal);if(_){if(b.classList.toggle(q.selectedClass,S0.selected),b.classList.toggle(q.focusedClass,S0.focused),S0.selected)b.setAttribute("aria-selected","true");else b.removeAttribute("aria-selected");b._lastSelected=S0.selected,b._lastFocused=S0.focused}if(q.oddClass)b.classList.toggle(q.oddClass,(L&1)===1);let d=y-$.baseOffset+q.startPadding;b.style.transform=q.translateProp+d+"px)",b._lastOffset=d;let r=H-q.gap;if(b.style[q.sizeProp]=r+"px",b._lastSize=r,b._lastItem=T,Z.set(L,b),v===null)v=document.createDocumentFragment();v.appendChild(b)}else{if(A)I.setAttribute("aria-setsize",E);if(T!==void 0&&g._lastItem!==T){let r=I.getAttribute("data-id"),S=String(T.id),e;try{e=j(T,Y,S0)}catch(x){if(q.emitter)q.emitter.emit("error",{error:x instanceof Error?x:Error(String(x)),context:`template:render:${Y}`});continue}if(typeof e==="string")I.innerHTML=e;else I.textContent="",I.appendChild(e);if(u0(I),I.setAttribute("data-id",S),g._lastItem=T,r!==S){let x=r!==null&&r.startsWith(I0),o=S.startsWith(I0);if(x!==o)I.classList.toggle(q.placeholderClass,o);if(x&&!o)I.classList.add(q.replacedClass),setTimeout(()=>{I.classList.remove(q.replacedClass)},300)}}if(_){if(g._lastSelected!==S0.selected){if(I.classList.toggle(q.selectedClass,S0.selected),S0.selected)I.setAttribute("aria-selected","true");else I.removeAttribute("aria-selected");g._lastSelected=S0.selected}if(g._lastFocused!==S0.focused)I.classList.toggle(q.focusedClass,S0.focused),g._lastFocused=S0.focused}let b=y-$.baseOffset+q.startPadding;if(g._lastOffset!==b)I.style.transform=q.translateProp+b+"px)",g._lastOffset=b;let d=H-q.gap;if(g._lastSize!==d)I.style[q.sizeProp]=d+"px",g._lastSize=d}}if(v!==null)Q.appendChild(v);if(B>0&&Q4(P,B)){let M=P[0],L=P[B-1];for(let[Y,y]of Z)if(Y<M||Y>L)y.remove(),J.release(y),Z.delete(Y)}else for(let[M,L]of Z)if(!$4(P,B,M))L.remove(),J.release(L),Z.delete(M);if(q.interactive)$.prevAriaTotal=$.totalItems;B1(K.commit,$)}function M2($,J,Q,j,U,Z,q,K,F,_,N,B){if(J4($,J,Q,_,F.startPadding))j4($,j,U,Z,q,K,F,_,N,B)}var X2=()=>{let $={},J=(Z,q)=>{if(!$[Z])$[Z]=new Set;return $[Z].add(q),()=>Q(Z,q)},Q=(Z,q)=>{$[Z]?.delete(q)};return{on:J,off:Q,emit:(Z,q)=>{$[Z]?.forEach((K)=>{try{K(q)}catch(F){console.error(`[vlist] Error in event handler for "${String(Z)}":`,F)}})},clear:(Z)=>{if(Z)delete $[Z];else for(let q in $)delete $[q]}}};var X1=2,G1=($=0)=>({velocity:0,sampleCount:0}),A1=($,J)=>{let Q=performance.now(),j=$._lt??Q,U=$._lp??J,Z=Q-j;if($._lp=J,$._lt=Q,Z===0)return $.sampleCount=Math.min($.sampleCount+1,5),$;if(Z>100)return $.velocity=0,$.sampleCount=1,$;return $.velocity=Math.abs(J-U)/Z,$.sampleCount=Math.min($.sampleCount+1,5),$};function Z4($){let{item: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($.overscan!==void 0){if(typeof $.overscan!=="number"||!Number.isFinite($.overscan)||$.overscan<0)throw Error(`vlist: overscan must be a non-negative number, got ${$.overscan}`)}if($.scroll?.runway!==void 0){if(typeof $.scroll.runway!=="number"||!Number.isFinite($.scroll.runway)||$.scroll.runway<=0)throw Error(`vlist: scroll.runway must be a positive number, got ${$.scroll.runway}`)}}function U4($,J){let Q=$==="horizontal"?"x":"y";if(J.some((U)=>U.name==="grid"))return{primary:Q,cross:Q==="x"?"y":"x"};return{primary:Q}}function K4($,J){let Q=U4($.orientation,J),j=Q.primary==="x",U=e2($.padding);return{axis:Q,hasCrossAxis:Q.cross!==void 0,overscan:$.overscan??J2,reverse:$.reverse??!1,classPrefix:$.classPrefix??g2,mainAxisPadding:J1(U,j),crossAxisPadding:$1(U,j),startPadding:j?U.left:U.top,endPadding:j?U.right:U.bottom,crossPadStart:j?U.top:U.left,crossPadEnd:j?U.bottom:U.right,striped:$.item.striped||!1,gap:$.item.gap??0}}function q4($,J){if(J)return $.item.width??$.item.estimatedWidth??100;return $.item.height??$.item.estimatedHeight??40}function Y4($){let J=[...$];return J.sort((Q,j)=>(Q.priority??50)-(j.priority??50)),J}function _4($){let J=new Set;for(let Q of $){if(J.has(Q.name))throw Error(`[vlist] Duplicate plugin: ${Q.name}`);J.add(Q.name)}for(let Q of $)if(Q.conflicts){for(let j of Q.conflicts)if(J.has(j))throw Error(`[vlist] Plugin "${Q.name}" conflicts with "${j}"`)}}function D1($,J=[]){Z4($);let Q=K4($,J),j=Q.axis.primary==="x",U=$.scroll?.mode==="bounded",Z=q4($,j),q=Q.gap,K=q>0?typeof Z==="function"?(G0)=>Z(G0)+q:Z+q:Z,F=typeof Z==="number"?Z:20,_=$.items?.length??0,N=Q.striped?`${Q.classPrefix}-item--odd`:"",B=X2(),P=M1(Q.classPrefix,j,Q.startPadding,Q.crossPadStart,Q.crossPadEnd,N,q,B),G=J.length>0?Y4(J):J;if(J.length>0)_4(G);let E=Z1($.container),A=U1(E,Q.classPrefix,j,$.ariaLabel);if($.scroll?.scrollbar==="none")A.viewport.classList.add(`${Q.classPrefix}-viewport--no-scrollbar`);if($.scroll?.gutter==="stable")A.viewport.classList.add(`${Q.classPrefix}-viewport--gutter-stable`);let V=Z2(K,_);if(q>0){let G0=V.getTotalSize;V.getTotalSize=()=>{let i=G0();return i>0?i-q:0}}let M=j1(Q.classPrefix),L=Math.ceil(4096/F)+Q.overscan*2+8,Y=Q1(L);Y.totalItems=_;let y=$.items??[],H=()=>y,T=new Map,I=G1(),g={velocity:0,reliable:!1},b={range:{start:0,end:-1}},d={scrollPosition:0,direction:"down"},r={scrollPosition:0},S=-1,e=-1,x=-1,o=null,l=_1(G),X=new Map,f=[],W=[],O=[],p=null,a=null,c=null,R=null,z=null,n=null,U0=null,D=null,w=null,k=null,h=null,s=!1,J0=!1,M0=null,_0=0,V0=0,W0=null,O0=null,u=null,t=null,j0=null,B0=null,K0=null,D0=null;Y.containerSize=j?A.viewport.clientWidth:A.viewport.clientHeight,Y.crossSize=j?A.viewport.clientHeight:A.viewport.clientWidth;let R0=Y1({sizeCache:V,getPixel:()=>a?a():Y.scrollPosition,setPixel:(G0)=>{if(c)c(G0);else if(j)A.viewport.scrollLeft=G0;else A.viewport.scrollTop=G0},getContainerSize:()=>Y.containerSize});if(J.length>0){let G0={dom:A,sizeCache:V,scroll:R0,pool:M,config:Q,emitter:B,template:$.item.template,registerMethod(i,A0){X.set(i,A0)},getMethod(i){return X.get(i)},registerClickHandler(i){f.push(i)},registerKeydownHandler(i){W.push(i)},registerDestroyHandler(i){O.push(i)},enableListboxRole(){let i=A.content.getAttribute("role");if(!i||i==="list")A.content.setAttribute("role","listbox"),A.content.setAttribute("tabindex","0");P.itemRole="option",P.interactive=!0},setSizeConfig(i){let A0=Z2(i,Y.totalItems),v0=X.get("_setSizeCacheBase");if(v0){let C0=V.rebuild;Object.assign(V,A0),V.rebuild=C0,v0(A0.rebuild)}else Object.assign(V,A0)},setScrollFns(i,A0){a=i,c=A0},setBoundedWrap(i){D0=i},cancelScroll(){E0?.cancelScroll()},setVirtualTotalFn(i){p=i,P.ariaTotalFn=i},setIndexMapFn(i){P.indexMap=i},getItems:H,getItem(i){return n?n(i):y[i]},getState(){return Y},rebuildSizeCache(){V.rebuild(Y.totalItems)},updateContentSize(i){if(K0){K0.refresh(i);return}Y.totalSize=i,A.content.style[j?"width":"height"]=i+Q.mainAxisPadding+"px"},setRenderFn(i,A0){R=i,z=A0},renderIfNeeded(){Z0()},forceRender(){$0()},setGetItemFn(i){n=i},setItemStateFn(i){U0=i},getItemStateFn(){return U0},get rawSizeSpec(){return Z},scrollTo(i){if(c)c(i);else if(j)A.viewport.scrollLeft=i;else A.viewport.scrollTop=i},smoothScrollTo(i,A0,v0,C0){if(t)t(i,A0,c??void 0,v0,C0);else G0.scrollTo(typeof i==="function"?i():i)},disableDefaultScroll(){s=!0},disableDefaultResize(){J0=!0},setScrollTarget(i){M0=i},setScrollToPosFn(i){j0=i},setScrollToIndexFn(i){B0=i},onScrollFrame:Q0,onScrollIdle:N0,removeItemById(i){if(D)return D(i);let A0=y.findIndex((v0)=>v0.id===i);if(A0===-1)return-1;return y.splice(A0,1),Y.totalItems=y.length,V.rebuild(Y.totalItems),C(),A0},insertItemAt(i,A0){if(w){w(i,A0);return}y.splice(A0,0,i),Y.totalItems=y.length,V.rebuild(Y.totalItems),C()},setRemoveItemFn(i){D=i},setInsertItemFn(i){w=i},setUpdateItemFn(i){k=i},setGetIndexByIdFn(i){h=i},getRenderedElement(i){let A0=X.get("_getRenderedElement");if(A0)return A0(i);return T.get(i)??null},setNavConfig(i){if(i.ud!==void 0)_0=i.ud;if(i.lr!==void 0)V0=i.lr;if(i.scrollIndex)W0=i.scrollIndex;if(i.navigate)O0=i.navigate;if(i.total)u=i.total},getNavConfig:(()=>{let i={ud:0,lr:0,scrollIndex:null,navigate:null,total:null};return()=>{return i.ud=_0,i.lr=V0,i.scrollIndex=W0,i.navigate=O0,i.total=u,i}})()};for(let i of G)if(i.setup)try{i.setup(G0)}catch(A0){B.emit("error",{error:A0 instanceof Error?A0:Error(String(A0)),context:`plugin:setup:${i.name}`})}}let P0=Q.classPrefix+"--scrolling",b0=!1,F0=$.scroll?.idleTimeout??x0;function T0(){if(d.scrollPosition=R0.getPixelEquivalent(),j)d.direction=Y.scrollDirection>0?"right":"left";else d.direction=Y.scrollDirection>0?"down":"up";if(B.emit("scroll",d),A1(I,Y.scrollPosition),g.velocity=I.velocity,g.reliable=I.sampleCount>=X1,B.emit("velocity:change",g),Y.startIndex!==S||Y.prevRangeEnd!==e)S=Y.startIndex,e=Y.prevRangeEnd,b.range.start=Y.startIndex,b.range.end=Y.prevRangeEnd,B.emit("range:change",b)}let z0=!1;function C(){if(R)return;let G0=V.getTotalSize();if(K0){K0.refresh(G0);return}if(A.content.style[j?"width":"height"]=G0+Q.mainAxisPadding+"px",!z0&&G0>o0)z0=!0,B.emit("error",{error:Error(`Content size (${G0}px) exceeds browser limit (${o0}px). Enable bounded scroll (scroll: { mode: "bounded" }) for large datasets.`),context:"content:size:overflow"})}function Z0(){if(R)R();else M2(Y,V,Q.overscan,M,A.content,$.item.template,H,T,P,l,n,U0)}function Q0(){if(!b0)b0=!0,A.root.classList.add(P0);if(Z0(),V2(l.afterScroll,Y.scrollPosition,Y.scrollDirection),Y.scrollPosition!==x)x=Y.scrollPosition,T0()}function N0(){if(b0)b0=!1,A.root.classList.remove(P0);Y.scrollDirection=0,N1(l.idle),g.velocity=0,g.reliable=!1,B.emit("velocity:change",g),r.scrollPosition=R0.getPixelEquivalent(),B.emit("scroll:idle",r)}function $0(){if(Y.renderPending=!0,z)z();else M2(Y,V,Q.overscan,M,A.content,$.item.template,H,T,P,l,n,U0);if(V2(l.afterScroll,Y.scrollPosition,Y.scrollDirection),Y.scrollPosition!==x){if(x=Y.scrollPosition,T0(),o!==null)clearTimeout(o);o=setTimeout(N0,F0)}}let H0=s?!1:$.scroll?.wheel!==!1,E0;if(s&&(U||D0))throw Error(`vlist: page() is not compatible with ${D0?"the carousel plugin":'scroll: { mode: "bounded" }'} — bounded page-mode scrolling is not implemented yet.`);if(U||D0)K0=q1({state:Y,viewport:A.viewport,content:A.content,isX:j,wheelEnabled:H0,idleTimeout:$.scroll?.idleTimeout??x0,...M0?{scrollTarget:M0}:{},mainAxisPadding:Q.mainAxisPadding,...$.scroll?.runway!==void 0?{runwayFactor:Math.max(o2,$.scroll.runway)}:{},...D0?{wrap:D0}:{},onFrame:Q0,onIdle:N0}),E0=K0,a=()=>Y.scrollPosition,c=(G0)=>K0.setLogical(G0);else E0=K1({state:Y,viewport:A.viewport,isX:j,wheelEnabled:H0,idleTimeout:$.scroll?.idleTimeout??x0,...M0?{scrollTarget:M0}:{},onFrame:Q0,onIdle:N0});t=E0.smoothScrollTo;function w0(G0){let A0=G0.target.closest("[data-index]");if(!A0)return null;let v0=parseInt(A0.getAttribute("data-index"),10);if(Number.isNaN(v0))return null;let C0=X.get("_layoutToDataIndex"),h0;if(C0){let f0=C0(v0);if(f0<0)return null;let s0=X.get("_getItem");h0=s0?s0(f0):n?n(f0):y[f0]}else h0=n?n(v0):y[v0];if(h0===void 0)return null;return{item:h0,index:v0}}function y0(G0){for(let A0=0;A0<f.length;A0++)f[A0](G0);let i=w0(G0);if(i)B.emit("item:click",{item:i.item,index:i.index,event:G0})}function X0(G0){let i=w0(G0);if(i)B.emit("item:dblclick",{item:i.item,index:i.index,event:G0})}function m(G0){let i=w0(G0);if(i)B.emit("item:contextmenu",{item:i.item,index:i.index,event:G0})}function q0(G0){let i=G0.target?.tagName;if((i==="INPUT"||i==="TEXTAREA"||i==="SELECT")&&!((G0.ctrlKey||G0.metaKey)&&(G0.key==="f"||G0.key==="F")))return;for(let A0=0;A0<W.length;A0++)W[A0](G0)}if(A.content.addEventListener("click",y0),A.content.addEventListener("dblclick",X0),A.content.addEventListener("contextmenu",m),W.length>0)A.root.addEventListener("keydown",q0);let Y0=null;if(!J0)setTimeout(()=>{if(Y.destroyed)return;Y0=new ResizeObserver((i)=>{for(let A0 of i){let{width:v0,height:C0}=A0.contentRect,h0=j?v0:C0,f0=j?C0:v0;if(Math.abs(h0-Y.containerSize)<1&&Math.abs(f0-Y.crossSize)<1)continue;if(Y.containerSize=h0,Y.crossSize=f0,Y.resizeCapacity(h0,F,Q.overscan),K0)K0.refresh(V.getTotalSize());$0(),V1(l.resize,v0,C0),B.emit("resize",{width:v0,height:C0})}}),Y0.observe(A.viewport)},0);Y.resizeCapacity(Y.containerSize,F,Q.overscan),C(),Y.initialized=!0;let L0=null;if($.defer)L0=requestAnimationFrame(()=>{if(L0=null,!Y.destroyed)Z0()});else Z0();if(!s)E0.attach();let k0={get element(){return A.root},get items(){return y},get total(){return p?p():y.length},setItems(G0){y=[...G0],Y.totalItems=y.length,V.rebuild(Y.totalItems),C(),$0()},appendItems(G0){y.push(...G0),Y.totalItems=y.length,V.rebuild(Y.totalItems),C(),$0()},prependItems(G0){y.unshift(...G0),Y.totalItems=y.length,V.rebuild(Y.totalItems),C(),$0()},updateItem(G0,i){if(k){if(!k(G0,i))return}else{let A0=y.findIndex((v0)=>v0.id===G0);if(A0===-1)return;y[A0]={...y[A0],...i}}$0()},insertItem(G0,i){if(w)w(G0,i??Y.totalItems);else{if(i===void 0)y.push(G0);else y.splice(i,0,G0);Y.totalItems=y.length,V.rebuild(Y.totalItems),C()}$0()},removeItem(G0){if(D){if(D(G0)<0)return}else{let i=y.findIndex((A0)=>A0.id===G0);if(i===-1)return;y.splice(i,1),Y.totalItems=y.length,V.rebuild(Y.totalItems),C()}$0()},removeItems(G0){if(D){let C0=0;for(let h0 of G0)if(D(h0)>=0)C0++;if(C0>0)$0();return C0}let i=new Set(G0),A0=y.length;y=y.filter((C0)=>!i.has(C0.id));let v0=A0-y.length;if(v0>0)Y.totalItems=y.length,V.rebuild(Y.totalItems),C(),Y.renderPending=!0,Z0();return v0},getItemAt(G0){if(P.indexMap)return y[G0];return n?n(G0):y[G0]},getIndexById(G0){if(h)return h(G0);return y.findIndex((i)=>i.id===G0)},scrollToIndex(G0,i="start"){let A0=p?p():y.length;if(A0===0)return;let v0=Math.max(0,Math.min(G0,A0-1)),C0=typeof i==="string"?i:i.align??"start",h0=typeof i==="object"?i.behavior:void 0,f0=typeof i==="object"?i.duration:void 0,s0=typeof i==="object"?i.easing:void 0;if(B0&&B0(v0,C0,h0,f0,s0)!==!1)return;let W2=V.getOffset(v0),p2=V.getSize(v0),e0=Y.containerSize,l1=V.getTotalSize(),u2=Q.mainAxisPadding,r1=Math.max(0,l1+u2-e0),p0;if(j0)p0=j0(v0,V,e0,A0,C0);else{let s1=Q.startPadding;switch(C0){case"center":p0=s1+W2-(e0-p2)/2;break;case"end":p0=W2+p2+u2-e0;break;default:p0=W2}p0=Math.max(0,Math.min(p0,r1))}if(h0==="smooth")E0.smoothScrollTo(p0,f0??r2,c??void 0,s0);else if(c)c(p0);else if(j)A.viewport.scrollLeft=p0;else A.viewport.scrollTop=p0},getScrollPosition(){return R0.getPixelEquivalent()},on:B.on.bind(B),off:B.off.bind(B),destroy(){if(Y.destroyed)return;if(Y.destroyed=!0,b0)b0=!1,A.root.classList.remove(P0);if(L0!==null)cancelAnimationFrame(L0),L0=null;if(o!==null)clearTimeout(o),o=null;E0.detach(),Y0?.disconnect(),A.content.removeEventListener("click",y0),A.content.removeEventListener("dblclick",X0),A.content.removeEventListener("contextmenu",m),A.root.removeEventListener("keydown",q0);let G0=[];for(let i of O)try{i()}catch(A0){G0.push(A0 instanceof Error?A0:Error(String(A0)))}for(let i of G)if(i.destroy)try{i.destroy()}catch(A0){G0.push(A0 instanceof Error?A0:Error(String(A0)))}for(let[,i]of T)i.remove();if(T.clear(),M.clear(),A.root.remove(),B.emit("destroy",void 0),B.clear(),G0.length>0)for(let i of G0)console.error("vlist: error during destroy:",i)}};for(let[G0,i]of X)k0[G0]=i;return k0}var W4=($)=>{if(typeof $!=="object"){let J=$??2;return{top:J,right:J,bottom:J,left:J}}return{top:$.top??2,right:$.right??2,bottom:$.bottom??2,left:$.left??2}},H1=($,J,Q={},j="vlist",U=!1,Z)=>{let{autoHide:q=!0,autoHideDelay:K=1000,minThumbSize:F=15,showOnHover:_=!0,showOnViewportEnter:N=!0,clickBehavior:B="scroll"}=Q,P=B==="page"?"scroll":B,G=Z??$,E=W4(Q.padding),A=U?E.left:E.top,v=U?E.right:E.bottom,V=U?E.bottom:E.right,M=Q.hoverZoneWidth??V+16,L=0,Y=0,y=0,H=0,T=!1,I=!1,g=0,b=0,d=0,r=null,S=!1,e=null,x=0,o=0,l=null,X=null,f=null,W=U?"width":"height",O=U?"translateX":"translateY",p=U?($0)=>$0.clientX:($0)=>$0.clientY,a=U?"left":"top",c=document.createElement("div"),R=document.createElement("div"),z=document.createElement("div"),n=U?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",U0=()=>{if(G===$)return;let $0=$.offsetTop;c.style[U?"left":"top"]=$0?`calc(var(${n}) + ${$0}px)`:`var(${n})`,z.style[U?"left":"top"]=`${$0}px`},D=()=>{if(c.className=`${j}-scrollbar`,R.className=`${j}-scrollbar__thumb`,U)c.classList.add(`${j}-scrollbar--horizontal`);if(Q.padding!==void 0)G.style.setProperty("--vlist-custom-scrollbar-padding-top",`${E.top}px`),G.style.setProperty("--vlist-custom-scrollbar-padding-right",`${E.right}px`),G.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${E.bottom}px`),G.style.setProperty("--vlist-custom-scrollbar-padding-left",`${E.left}px`);if(Q.minThumbSize!==void 0)c.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${F}px`);if(c.appendChild(R),G.appendChild(c),z.className=`${j}-scrollbar__hover`,U)z.classList.add(`${j}-scrollbar__hover--horizontal`),z.style.height=`${M}px`;else z.style.width=`${M}px`;if(G.appendChild(z),G!==$)U0()},w=()=>{if(r)clearTimeout(r),r=null},k=()=>{if(!q)return;w(),r=setTimeout(s,K)},h=()=>{if(L<=Y)return;if(w(),!S)c.classList.add(`${j}-scrollbar--visible`),S=!0;if(q&&!T&&!I)k()},s=()=>{if(T||I)return;c.classList.remove(`${j}-scrollbar--visible`),S=!1},J0=($0,H0)=>{if(L=$0,Y=H0,U0(),L<=Y){c.style.display="none",s();return}c.style.display="";let E0=Math.max(0,Y-A-v),w0=Y/L;if(y=Math.max(F,w0*E0),R.style[W]=`${y}px`,H=E0-y,M0(d),!q)h()},M0=($0)=>{if(d=$0,L<=Y||H<=0)return;let H0=L-Y,E0=Math.min(1,Math.max(0,$0/H0));R.style.transform=`${O}(${E0*H}px)`},_0=($0)=>{if($0.target===R||P!=="jump"||H<=0)return;let H0=L-Y,E0=c.getBoundingClientRect(),w0=p($0)-E0[a],y0=Math.max(0,Math.min(w0-y/2,H));J(y0/H*H0),h()},V0=()=>{if(l!==null)clearTimeout(l),l=null;if(X!==null)cancelAnimationFrame(X),X=null;f=null},W0=($0)=>{let H0=H>0?o/$0*H:0;if(x<H0)return-1;if(x>=H0+y)return 1;return 0},O0=()=>{let $0=L-Y,H0=W0($0);if(H0===0){V0();return}if(H0===-1){if(o<=0){V0();return}let E0=Math.max(0,o-Y);o=E0,J(E0)}else{if(o>=$0){V0();return}let E0=Math.min($0,o+Y);o=E0,J(E0)}h()},u=($0)=>{if(f===null){f=$0,X=requestAnimationFrame(u);return}let H0=L-Y,E0=$0-f;f=$0;let w0=W0(H0);if(w0===0){V0();return}let y0=12*Y/1000,X0=Math.min(y0*E0,Y);if(w0===-1){if(o<=0){V0();return}let m=Math.max(0,o-X0);o=m,J(m)}else{if(o>=H0){V0();return}let m=Math.min(H0,o+X0);o=m,J(m)}w(),X=requestAnimationFrame(u)},t=()=>{V0(),k(),document.removeEventListener("mouseup",t)},j0=($0)=>{if($0.target===R||P!=="scroll")return;$0.preventDefault();let H0=c.getBoundingClientRect();x=p($0)-H0[a],o=d,O0(),l=setTimeout(()=>{X=requestAnimationFrame(u)},350),document.addEventListener("mouseup",t)},B0=($0)=>{$0.preventDefault(),$0.stopPropagation(),T=!0,g=p($0),b=d,w(),c.classList.add(`${j}-scrollbar--dragging`),document.addEventListener("mousemove",K0),document.addEventListener("mouseup",D0)},K0=($0)=>{if(!T)return;let H0=p($0)-g,E0=H>0?H0/H:0,w0=L-Y,y0=E0*w0,X0=Math.max(0,Math.min(b+y0,w0));R.style.transform=`${O}(${X0/w0*H}px)`,J(X0)},D0=()=>{if(T=!1,c.classList.remove(`${j}-scrollbar--dragging`),q&&!I)k();document.removeEventListener("mousemove",K0),document.removeEventListener("mouseup",D0)},R0=U?($0)=>$0.touches[0].clientX:($0)=>$0.touches[0].clientY,P0=($0)=>{$0.stopPropagation(),T=!0,g=R0($0),b=d,w(),c.classList.add(`${j}-scrollbar--dragging`)},b0=($0)=>{if(!T)return;$0.preventDefault();let H0=R0($0)-g,E0=H>0?H0/H:0,w0=L-Y,y0=E0*w0,X0=Math.max(0,Math.min(b+y0,w0));R.style.transform=`${O}(${X0/w0*H}px)`,J(X0)},F0=()=>{if(T=!1,c.classList.remove(`${j}-scrollbar--dragging`),q)k()},T0=($0)=>{if($0.target===R)return;if(H<=0)return;let H0=$0.touches[0],E0=c.getBoundingClientRect(),w0=(U?H0.clientX:H0.clientY)-E0[a];if(P==="jump"){let y0=L-Y,X0=Math.max(0,Math.min(w0-y/2,H));J(X0/H*y0)}else x=w0,o=d,O0();h()},z0=()=>{if(N)h()},C=()=>{if(!T){if(I=!1,q)k()}},Z0=()=>{I=!0,w(),h()},Q0=()=>{if(I=!1,!T&&q)k()},N0=()=>{if(w(),V0(),e!==null)cancelAnimationFrame(e),e=null;c.removeEventListener("click",_0),c.removeEventListener("mousedown",j0),c.removeEventListener("mouseenter",Z0),document.removeEventListener("mouseup",t),c.removeEventListener("mouseleave",Q0),c.removeEventListener("touchstart",T0),R.removeEventListener("mousedown",B0),R.removeEventListener("touchstart",P0),R.removeEventListener("touchmove",b0),R.removeEventListener("touchend",F0),$.removeEventListener("mouseenter",z0),$.removeEventListener("mouseleave",C),document.removeEventListener("mousemove",K0),document.removeEventListener("mouseup",D0),z.removeEventListener("click",_0),z.removeEventListener("mousedown",j0),z.removeEventListener("mouseenter",Z0),z.removeEventListener("mouseleave",Q0),z.remove(),G.style.removeProperty("--vlist-custom-scrollbar-padding-top"),G.style.removeProperty("--vlist-custom-scrollbar-padding-right"),G.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),G.style.removeProperty("--vlist-custom-scrollbar-padding-left"),c.remove()};if(D(),c.addEventListener("click",_0),c.addEventListener("mousedown",j0),c.addEventListener("mouseenter",Z0),c.addEventListener("mouseleave",Q0),c.addEventListener("touchstart",T0,{passive:!0}),R.addEventListener("mousedown",B0),R.addEventListener("touchstart",P0,{passive:!0}),R.addEventListener("touchmove",b0,{passive:!1}),R.addEventListener("touchend",F0,{passive:!0}),$.addEventListener("mouseenter",z0),$.addEventListener("mouseleave",C),z.addEventListener("click",_0),z.addEventListener("mousedown",j0),_)z.addEventListener("mouseenter",Z0),z.addEventListener("mouseleave",Q0);return{show:h,hide:s,updateBounds:J0,updatePosition:M0,isVisible:()=>S,destroy:N0}};function G2($){let J=null,Q,j=0,U=0,Z=0;return{name:"scrollbar",priority:15,setup(q){let{dom:K,config:F}=q,{classPrefix:_}=F,N=F.axis.primary==="x";Q=q.getState(),j=F.mainAxisPadding;let B=(P)=>{q.scrollTo(P)};if(q.registerMethod("_scrollbar:setCallback",(P)=>{B=P}),J=H1(K.viewport,(P)=>{B(P)},$,_,N,K.root),K.viewport.classList.add(`${_}-viewport--custom-scrollbar`),$?.gutter)K.viewport.classList.add(`${_}-viewport--gutter`);queueMicrotask(()=>{J?.updateBounds(Q.totalSize+j,Q.containerSize)}),q.registerMethod("_scrollbar:getInstance",()=>J),q.registerDestroyHandler(()=>{if(J?.destroy(),J=null,K.viewport.classList.remove(`${_}-viewport--custom-scrollbar`),$?.gutter)K.viewport.classList.remove(`${_}-viewport--gutter`)})},hooks:{onAfterScroll(q){let K=Q.totalSize+j,F=Q.containerSize;if(K!==U||F!==Z)U=K,Z=F,J?.updateBounds(K,F);J?.updatePosition(q),J?.show()},onResize(){let q=Q.totalSize+j,K=Q.containerSize;U=q,Z=K,J?.updateBounds(q,K)}},destroy(){J?.destroy(),J=null}}}var O1=($)=>{let J=Math.max(1,Math.floor($.columns)),Q=$.gap??0,j=$.isHeaderFn,U={row:0,col:0},Z=(A)=>{if(A<=0)return 0;if(!j)return Math.ceil(A/J);let v=0,V=0,M=0;for(let L=0;L<A;L++)if(j(L)){if(M++,V)v++,V=0;v++,V=0}else if(V++,V>=J)v++,V=0;if(V)v++;return v},q=(A)=>{return U.row=K(A),U.col=F(A),U},K=(A)=>{if(!j)return Math.floor(A/J);let v=0,V=0;for(let M=0;M<=A;M++)if(j(M)){if(V)v++,V=0;if(M===A)return v;v++,V=0}else{if(M===A)return v;if(V++,V>=J)v++,V=0}return console.warn(`⚠️ getRow(${A}) fell through - returning ${v}`),v},F=(A)=>{if(!j)return A%J;if(j(A))return 0;let v=0;for(let V=0;V<=A;V++)if(j(V))v=0;else{if(V===A)return v;if(v++,v>=J)v=0}return v},_=(A,v,V,M)=>{if(V<=0){M.start=0,M.end=-1;return}if(!j){M.start=Math.max(0,A*J),M.end=Math.min(V-1,(v+1)*J-1);return}let L=N(A,v,V);M.start=L.start,M.end=L.end},N=(A,v,V)=>{if(V<=0)return{start:0,end:-1};if(!j){let H=Math.max(0,A*J),T=Math.min(V-1,(v+1)*J-1);return{start:H,end:T}}let M=-1,L=-1,Y=0,y=0;for(let H=0;H<V;H++){if(j(H)){if(y)Y++,y=0;if(Y>=A&&Y<=v){if(M<0)M=H;L=H}Y++,y=0}else{if(Y>=A&&Y<=v){if(M<0)M=H;L=H}if(y++,y>=J)Y++,y=0}if(Y>v&&!y)break}if(M<0)return{start:0,end:-1};return{start:M,end:L}},B=(A,v,V)=>{if(v<0||v>=J)return-1;let M=A*J+v;if(M<0||M>=V)return-1;return M},P=(A)=>{let v=(J-1)*Q;return Math.max(0,(A-v)/J)};return{get columns(){return J},get gap(){return Q},update:(A)=>{if(A.columns!==void 0)J=Math.max(1,Math.floor(A.columns));if(A.gap!==void 0)Q=A.gap;if(A.isHeaderFn!==void 0)j=A.isHeaderFn},getTotalRows:Z,getPosition:q,getRow:K,getCol:F,getItemRange:N,fillItemRange:_,getItemIndex:B,getColumnWidth:P,getColumnOffset:(A,v)=>{let V=P(v);return A*(V+Q)}}};var m0={selected:!1,focused:!1};function A2($){if(!$.columns||$.columns<1)throw Error("[vlist] grid: columns must be >= 1");let J,Q,j,U,Z=null,q,K,F,_,N,B,P=null,G=0,E=0,A=0,v=0,V=new Map,M=0,L=0,Y=0,y=0,H=null,T=!1,I="",g="",b="",d={start:0,end:-1},r=-1,S=-1,e=-1,x=!0,o=(R)=>Q.rebuild(R);function l(){let R=(L-1)*Y;y=Math.max(0,(M-R)/L)}function X(){if(T)return;T=!0,H=P?.()??null}function f(){return J.getTotalRows(j.totalItems)}function W(R){let z=R/L|0,U0=(R-z*L)*(y+Y)+G,D=Q.getOffset(z)-j.baseOffset+A;if(_)return`translate(${Math.round(D)}px, ${Math.round(U0)}px)`;return`translate(${Math.round(U0)}px, ${Math.round(D)}px)`}function O(R,z){let n=Q.getSize(z)-Y;if(_)R.style.width=`${n}px`,R.style.height=`${y}px`;else R.style.width=`${y}px`,R.style.height=`${n}px`}function p(R,z,n){if(H)H(n,m0);else m0.selected=!1,m0.focused=!1;let U0=K(z,n,m0);if(typeof U0==="string")R.innerHTML=U0;else R.innerHTML="",R.appendChild(U0)}function a(){if(j.destroyed)return;let{scrollPosition:R,containerSize:z}=j;if(!x&&R===r&&z===S)return;r=R,S=z,x=!1;let n=f();if(z<=0||n===0)return;X();let U0=Q.indexAtOffset(R),D=Q.indexAtOffset(R+z);if(D<n-1)D++;U0=Math.max(0,U0),D=Math.min(n-1,Math.max(0,D));let w=Math.max(0,U0-B),k=Math.min(n-1,D+B);if(w===j.prevRangeStart&&k===j.prevRangeEnd&&!j.renderPending)return;J.fillItemRange(w,k,j.totalItems,d);let{start:h,end:s}=d;for(let[_0,V0]of V)if(_0<h||_0>s)V0.el.remove(),U.release(V0.el),V.delete(_0);for(let _0=h;_0<=s;_0++){let V0=F(_0);if(!V0)continue;let W0=_0/L|0,O0=_0-W0*L,u=V.get(_0);if(u===void 0){let B0=U.acquire();B0.className=I,B0.setAttribute("data-index",String(_0)),B0.setAttribute("data-id",String(V0.id)),p(B0,V0,_0),u={el:B0,lastItem:V0},V.set(_0,u),q.appendChild(B0)}else if(u.lastItem!==V0)u.el.setAttribute("data-id",String(V0.id)),u.lastItem=V0,p(u.el,V0,_0);else if(H)H(_0,m0);if(H)if(u.el.classList.toggle(g,m0.selected),u.el.classList.toggle(b,m0.focused),m0.selected)u.el.setAttribute("aria-selected","true");else u.el.removeAttribute("aria-selected");O(u.el,W0);let t=O0*(y+Y)+G,j0=Q.getOffset(W0)-j.baseOffset+A;u.el.style.transform=_?`translate(${Math.round(j0)}px, ${Math.round(t)}px)`:`translate(${Math.round(t)}px, ${Math.round(j0)}px)`}let J0=Q.getTotalSize();if(J0!==e)e=J0,Z?.updateContentSize(J0);j.prevRangeStart=w,j.prevRangeEnd=k,j.renderPending=!1;let M0=s-h+1;j.visibleCount=Math.min(M0,j.capacity),j.startIndex=h;for(let _0=0;_0<j.visibleCount;_0++){let V0=h+_0,W0=V0/L|0;j.visibleIndices[_0]=V0,j.visibleOffsets[_0]=Q.getOffset(W0),j.visibleSizes[_0]=Q.getSize(W0)}}function c(){if(j.destroyed)return;o(f()),e=-1,j.prevRangeStart=-1,j.prevRangeEnd=-1,j.renderPending=!0,x=!0,a()}return{name:"grid",priority:10,conflicts:["masonry","table"],setup(R){L=Math.max(1,Math.floor($.columns)),Y=$.gap??0,J=O1({columns:$.columns,gap:Y}),Q=R.sizeCache,j=R.getState(),U=R.pool,Z=R,q=R.dom.content,K=R.template,_=R.config.axis.primary==="x",N=R.config.classPrefix,B=R.config.overscan,F=R.getItem.bind(R),P=()=>R.getItemStateFn(),I=`${N}-item ${N}-grid-item`,g=`${N}-item--selected`,b=`${N}-item--focused`,G=R.config.crossPadStart,E=R.config.crossAxisPadding,A=R.config.startPadding,v=R.config.mainAxisPadding,M=j.crossSize-E,l();let z=R.rawSizeSpec,n;if(typeof z==="function"){let h={columnWidth:J.getColumnWidth(M),columns:$.columns,gap:Y};n=z(0,h),R.setSizeConfig((s)=>{h.columnWidth=J.getColumnWidth(M);let J0=s*$.columns;return z(J0,h)+Y})}else if(n=z,Y>0)R.setSizeConfig(n+Y);let U0=null,D=Q.rebuild;function w(){if(Q.rebuild===U0)return;D=Q.rebuild,o=(k)=>D(k),U0=(k)=>{o(Math.ceil(k/L))},Q.rebuild=U0}if(R.registerMethod("_setSizeCacheBase",(k)=>{D=k,o=(h)=>D(h)}),w(),o(f()),Y>0){let k=Q.getTotalSize;Q.getTotalSize=()=>{let h=k();return h>0?h-Y:0}}R.setVirtualTotalFn(()=>f()),R.dom.root.classList.add(`${N}--grid`),R.setRenderFn(a,c),R.registerMethod("getGridLayout",()=>J),R.registerMethod("_getRowGap",()=>J.gap),R.registerMethod("updateGrid",(k)=>{if(k.columns!==void 0){if(!Number.isInteger(k.columns)||k.columns<1)throw Error("[vlist] updateGrid: columns must be >= 1")}if(k.gap!==void 0&&k.gap<0)throw Error("[vlist] updateGrid: gap must be >= 0");if(J.update(k),k.columns!==void 0)L=Math.max(1,Math.floor(k.columns));if(k.gap!==void 0)Y=k.gap;if(k.gap!==void 0||k.columns!==void 0){let h=J.gap;if(typeof z==="function"){let s={columnWidth:J.getColumnWidth(M),columns:J.columns,gap:h};R.setSizeConfig((J0)=>{s.columnWidth=J.getColumnWidth(M);let M0=J0*J.columns;return z(M0,s)+h})}else R.setSizeConfig(n+h);w(),o(f())}if(k.columns!==void 0)R.setNavConfig({ud:J.columns});M=j.crossSize-E,l(),c()}),R.registerMethod("scrollToIndex",(k,h="start")=>{let s=J.getRow(k),J0=f();if(J0===0)return;let M0=Math.max(0,Math.min(s,J0-1)),_0=Q.getOffset(M0)+A,V0=Q.getSize(M0),W0=j.containerSize,O0=Q.getTotalSize()+v,u=Math.max(0,O0-W0),t=typeof h==="string"?h:h.align??"start",j0=typeof h==="object"?h.behavior:void 0,B0=typeof h==="object"?h.duration:void 0,K0;switch(t){case"center":K0=_0-(W0-V0)/2;break;case"end":K0=_0-W0+V0;break;default:K0=_0}if(K0=Math.max(0,Math.min(K0,u)),j0==="smooth"&&B0&&B0>0)R.smoothScrollTo(K0,B0);else R.scrollTo(K0)}),R.setNavConfig({total:()=>j.totalItems,ud:$.columns,lr:1,scrollIndex:(k)=>J.getRow(k)}),R.registerDestroyHandler(()=>{for(let[,k]of V)k.el.remove();V.clear(),R.dom.root.classList.remove(`${N}--grid`)})},hooks:{onResize(R,z){let n=j.crossSize-E;if(Math.abs(n-M)<1)return;M=n,l();for(let[U0,D]of V){let w=U0/L|0;O(D.el,w),D.el.style.transform=W(U0)}}},destroy(){V.clear()}}}function D2($){let J=$?.keyboard??!0;return{name:"a11y",priority:55,setup(Q){if(Q.getItemStateFn())return;Q.enableListboxRole();let{dom:j,config:U,sizeCache:Z}=Q,q=Q.getState(),K=Q.emitter,F=U.classPrefix,_=j.liveRegion,N=-1,B=!1,P,G=-1,E=(b)=>Q.getItem(b),A=()=>q.totalItems,v={id:0,index:0},V={selected:[],items:[]};Q.setItemStateFn((b,d)=>{d.selected=G===b,d.focused=B&&N===b});function M(b){_.textContent="",_.textContent=b}let L=(b,d,r)=>{let S=b;while(S>=0&&S<r){let e=E(S);if(!e||!e.__groupHeader)return S;S+=d}S=b-d;while(S>=0&&S<r){let e=E(S);if(!e||!e.__groupHeader)return S;S-=d}return b},Y=(b)=>{let d=Q.getNavConfig(),r=d.scrollIndex?d.scrollIndex(b):b,S=Z.getOffset(r),e=Z.getSize(r),x=q.scrollPosition,o=q.containerSize,l=U.startPadding,X=U.endPadding,f=S+l,W=f+e,O=x;if(f<x)O=Math.max(0,S);else if(W>x+o)O=W+X-o;if(O!==x)q.scrollPosition=O,Q.scrollTo(O)},y=(b,d)=>{if(j.content.setAttribute("aria-activedescendant",`${F}-item-${b}`),d)Y(b);Q.forceRender()},H=(b)=>{N=b,B=!0,y(b,!0);let d=E(b);if(d)v.id=d.id,v.index=b,K.emit("focus:change",v),M(`Item ${b+1} of ${A()}`)},T=(b,d)=>{if(N=b,d)B=!0;let r=E(b);if(r&&P===r.id)P=void 0,G=-1;else P=r?.id,G=r?b:-1;if(y(b,d),P!==void 0&&r&&P===r.id)V.selected[0]=P,V.selected.length=1,V.items[0]=r,V.items.length=1,M(`Selected, item ${b+1} of ${A()}`);else V.selected.length=0,V.items.length=0,M("Deselected");K.emit("selection:change",V)},I=()=>{if(q.destroyed)return;if(!j.content.matches(":focus-visible"))return;let b=A();if(b===0)return;let d=N>=0?Math.min(N,b-1):0;d=L(d,1,b),H(d)},g=(b)=>{if(q.destroyed)return;let d=b.relatedTarget;if(d&&j.root.contains(d))return;B=!1,j.content.removeAttribute("aria-activedescendant"),Q.forceRender()};if(j.content.addEventListener("focusin",I),j.content.addEventListener("focusout",g),J)Q.registerKeydownHandler((b)=>{if(q.destroyed)return;let d=A();if(d===0)return;let r=N,S=r;if(b.key===" "||b.key==="Enter"){if(r>=0){let x=E(r);if(x&&!x.__groupHeader)T(r,!0)}b.preventDefault();return}let e=Q.getNavConfig();if(e.navigate)switch(b.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":S=e.navigate(r,b.key,d);break;default:return}else{let x=e.ud||1,o=e.lr,l=U.axis.primary==="x";switch(b.key){case"ArrowUp":if(l&&!o)return;S=r-(l?o:x);break;case"ArrowDown":if(l&&!o)return;S=r+(l?o:x);break;case"ArrowLeft":if(!l&&!o)return;S=r-(l?x:o);break;case"ArrowRight":if(!l&&!o)return;S=r+(l?x:o);break;case"PageUp":case"PageDown":{let X=Z.getSize(Math.max(0,e.scrollIndex?e.scrollIndex(r):r)),W=Math.max(1,Math.floor(q.containerSize/X))*x;S=b.key==="PageUp"?r-W:r+W;break}case"Home":S=0;break;case"End":S=d-1;break;default:return}}if(S<0)S=0;else if(S>=d)S=d-1;if(b.preventDefault(),S=L(S,S>=r?1:-1,d),S!==r)H(S)});Q.registerClickHandler((b)=>{if(q.destroyed)return;let d=b.target.closest("[data-index]");if(!d)return;let r=parseInt(d.dataset.index??"-1",10);if(r<0)return;let S=E(r);if(!S||S.__groupHeader)return;B=!1,j.content.focus({preventScroll:!0}),T(r,!1)}),Q.registerDestroyHandler(()=>{j.content.removeEventListener("focusin",I),j.content.removeEventListener("focusout",g)})}}}var n0=($,J,Q)=>{if(String(Q).startsWith(I0))return!1;let j=I0+J;if($.has(j))return $.delete(j),$.add(Q),!0;return!1},L1=($)=>({selected:new Set($??[]),focusedIndex:-1,focusVisible:!1});function c0($,J,Q,j){if(Q===0)return;let U=j?-J:J,Z=$.focusedIndex+U;if(Z<0)Z=0;if(Z>=Q)Z=Q-1;$.focusedIndex=Z}function U2($){return Array.from($)}var B4={preventScroll:!0};function H2($){let J=$?.mode??"single",Q=$?.followFocus??!1,j=$?.focusOnClick??!1,U=$?.keyboard??!0,Z,q,K,F,_,N,B,P,G=-1,E=new Map,A=null,v=null,V=null,M=null,L,Y=!1;function y(O){if(Y)return;Y=!0,A=O.getMethod("_layoutToDataIndex")??null,v=O.getMethod("_dataToLayoutIndex")??null,V=O.getMethod("_isGroupHeader")??null,M=O.getMethod("_scrollItemIntoView")??null,T=O.getMethod("_getLoadedItem")??null;let p=O.getMethod("getGroupLayout");if(p){let a=p();L=()=>a.totalEntries}}let H=(O)=>A?A(O):O,T=null,I=(O)=>{if(T)return T(O);return q()[O]},g=(O)=>{let p=H(O);return p>=0?I(p):void 0},b=(O,p,a)=>{if(!V)return O;let c=O;while(c>=0&&c<a){if(!V(c))return c;c+=p}c=O-p;while(c>=0&&c<a){if(!V(c))return c;c-=p}return O};function d(O,p){if(J==="single")Z.selected.clear(),E.clear();if(Z.selected.add(O),p)E.set(O,p)}function r(O,p){if(Z.selected.has(O))Z.selected.delete(O),E.delete(O);else d(O,p)}function S(){Z.selected.clear(),E.clear()}function e(O){Z.selected.delete(O),E.delete(O)}function x(O,p){let a=Math.min(O,p),c=Math.max(O,p);for(let R=a;R<=c;R++){if(V?.(R))continue;let z=g(R);if(z)Z.selected.add(z.id),E.set(z.id,z)}}function o(){let O=B.totalItems;for(let p=0;p<O;p++){if(V?.(p))continue;let a=g(p);if(a)Z.selected.add(a.id),E.set(a.id,a)}}function l(){if(Z.selected.size===0)return[];if(E.size>=Z.selected.size){let c=[];for(let R of Z.selected){let z=E.get(R);if(z)c.push(z)}if(c.length===Z.selected.size)return c}let O=[],p=new Set(Z.selected),a=B.totalItems;for(let c=0;c<a&&p.size>0;c++){if(V?.(c))continue;let R=g(c);if(R&&p.has(R.id))O.push(R),E.set(R.id,R),p.delete(R.id)}return O}function X(){K(),F.emit("selection:change",{selected:U2(Z.selected),items:l()})}let f=null,W=-1;return{name:"selection",priority:50,setup(O){O.enableListboxRole(),Z=L1($?.initial),q=O.getItems.bind(O),K=O.forceRender.bind(O),F=O.emitter,_=O.dom;let p=O.config;if(N=O.sizeCache,B=O.getState(),P=O.scrollTo.bind(O),L=()=>B.totalItems,J==="none"){O.registerMethod("select",()=>{}),O.registerMethod("deselect",()=>{}),O.registerMethod("toggleSelect",()=>{}),O.registerMethod("selectAll",()=>{}),O.registerMethod("clearSelection",()=>{}),O.registerMethod("getSelected",()=>[]),O.registerMethod("getSelectedItems",()=>[]),O.registerMethod("selectNext",()=>{}),O.registerMethod("selectPrevious",()=>{}),O.registerMethod("_seedSelection",()=>{}),O.registerMethod("_getFocusedId",()=>{return}),O.registerMethod("_focusById",()=>{});return}let a=p.classPrefix;O.setItemStateFn((w,k)=>{if(y(O),Z.selected.size>0){let h=H(w),s=h>=0?g(w):void 0,J0=s?.id;if(J0!==void 0)if(Z.selected.has(J0))k.selected=!0;else if(n0(Z.selected,h,J0))k.selected=!0,E.delete(I0+h),E.set(J0,s);else k.selected=!1;else k.selected=!1}else k.selected=!1;k.focused=Z.focusVisible&&Z.focusedIndex===w}),O.registerMethod("_getSelectedIds",()=>Z.selected),O.registerMethod("_getFocusedIndex",()=>Z.focusVisible?Z.focusedIndex:-1),_.root.classList.add(`${a}--selectable`);let c=(w)=>{f=null,W=-1;let k=w.target.closest("[data-index]");if(!k)return!1;let h=parseInt(k.dataset.index??"-1",10);if(h<0)return!1;if(V?.(h))return!1;if(H(h)<0)return!1;let J0=g(h);if(!J0)return!1;return f=J0,W=h,!0},R=0,z=(w)=>{if(w<0)return;if(M){M(w);return}if(!R){let O0=O.getMethod("_getRowGap");R=O0?O0():0}let k=O.getNavConfig(),h=k.scrollIndex?k.scrollIndex(w):w,s=N.getOffset(h),J0=N.getSize(h)-R,M0=B.containerSize,_0=B.scrollPosition,V0=p.startPadding,W0=p.endPadding;if(s<_0)P(s);else if(V0+s+J0+W0>_0+M0)P(V0+s+J0+W0-M0)},n=(w)=>{let k=_.content.querySelectorAll(`[data-index="${w}"]`),h=null;for(let s=0;s<k.length;s++){let J0=k[s];if(J0.style.display!=="none"){h=J0;break}}if(!h&&k.length>0)h=k[0];_.content.setAttribute("aria-activedescendant",h?.id??`${a}-item-${w}`)},U0=()=>{if(B.destroyed)return;if(y(O),!_.content.matches(":focus-visible")&&!_.root.matches(":focus-visible"))return;let w=L();if(w===0)return;let k=Z.focusedIndex>=0?Math.min(Z.focusedIndex,w-1):0;k=b(k,1,w),Z.focusedIndex=k,Z.focusVisible=!0,n(k),z(k),K()};_.root.addEventListener("focusin",U0);let D=(w)=>{if(B.destroyed)return;let k=w.relatedTarget;if(k&&_.root.contains(k))return;Z.focusVisible=!1,K(),_.content.removeAttribute("aria-activedescendant")};if(_.root.addEventListener("focusout",D),O.registerDestroyHandler(()=>{_.root.removeEventListener("focusin",U0),_.root.removeEventListener("focusout",D)}),O.registerClickHandler((w)=>{if(y(O),!c(w))return;if(J==="multiple"&&w.shiftKey&&Z.focusedIndex>=0){let h=G>=0?G:Z.focusedIndex,s=H(h),J0=H(W);if(s>=0&&J0>=0)x(h,W);Z.focusedIndex=W,Z.focusVisible=j,G=W,X();return}if(Z.focusedIndex=W,Z.focusVisible=j,G=W,(_.content.getAttribute("tabindex")!==null?_.content:_.root).focus(B4),J==="single")d(f.id,f);else r(f.id,f);X()}),U)O.registerKeydownHandler((w)=>{y(O);let k=L();if(k===0)return;let h=O.getNavConfig(),s=Z.focusedIndex,J0=!1,M0=!1;if(h.navigate&&(w.key==="ArrowUp"||w.key==="ArrowDown"||w.key==="ArrowLeft"||w.key==="ArrowRight"||w.key==="PageUp"||w.key==="PageDown"||w.key==="Home"||w.key==="End")){let V0=h.total?h.total():k,W0=h.navigate(Z.focusedIndex,w.key,V0);if(W0!==Z.focusedIndex)Z.focusedIndex=Math.max(0,Math.min(W0,V0-1));Z.focusVisible=!0,J0=!0}else switch(w.key){case"ArrowUp":{let V0=h.ud||1,W0=h.lr,O0=p.axis.primary==="x";if(O0&&!W0)break;c0(Z,-(O0?W0:V0),k,p.reverse),Z.focusVisible=!0,J0=!0;break}case"ArrowDown":{let V0=h.ud||1,W0=h.lr,O0=p.axis.primary==="x";if(O0&&!W0)break;c0(Z,O0?W0:V0,k,p.reverse),Z.focusVisible=!0,J0=!0;break}case"ArrowLeft":{let V0=h.ud||1,W0=h.lr,O0=p.axis.primary==="x";if(!O0&&!W0)break;c0(Z,-(O0?V0:W0),k,p.reverse),Z.focusVisible=!0,J0=!0;break}case"ArrowRight":{let V0=h.ud||1,W0=h.lr,O0=p.axis.primary==="x";if(!O0&&!W0)break;c0(Z,O0?V0:W0,k,p.reverse),Z.focusVisible=!0,J0=!0;break}case"Home":if(k>0)Z.focusedIndex=0;Z.focusVisible=!0,J0=!0;break;case"End":if(k>0)Z.focusedIndex=k-1;Z.focusVisible=!0,J0=!0;break;case"PageUp":case"PageDown":{let V0=h.ud||1,W0=Math.max(0,Z.focusedIndex),O0=h.scrollIndex?h.scrollIndex(W0):W0,u=N.getSize(O0),t=B.containerSize,B0=(u>0?Math.max(1,Math.floor(t/u)):10)*V0;if(A&&v){let K0=A(Z.focusedIndex),D0=w.key==="PageUp"?-B0:B0,R0=B.totalItems-1;Z.focusedIndex=v(Math.max(0,Math.min(R0,K0+D0)))}else c0(Z,w.key==="PageUp"?-B0:B0,k);Z.focusVisible=!0,J0=!0;break}case" ":case"Enter":if(w.key===" "&&w.shiftKey&&J==="multiple"&&Z.focusedIndex>=0){if(G>=0){let V0=H(G),W0=H(Z.focusedIndex);if(V0>=0&&W0>=0)x(G,Z.focusedIndex)}Z.focusVisible=!0,M0=!0,J0=!0;break}if(Z.focusedIndex>=0){let V0=g(Z.focusedIndex);if(V0)r(V0.id,V0),G=Z.focusedIndex;Z.focusVisible=!0,M0=!0,J0=!0}break;case"a":if((w.ctrlKey||w.metaKey)&&J==="multiple"){if(Z.selected.size===B.totalItems)S();else o();Z.focusVisible=!0,M0=!0,J0=!0}break;case"Delete":case"Backspace":if(Z.selected.size>0)F.emit("delete",{selected:U2(Z.selected),items:l()}),J0=!0;break}if(Z.focusedIndex!==s&&V){let V0=Z.focusedIndex>s?1:-1;Z.focusedIndex=b(Z.focusedIndex,V0,k)}let _0=Z.focusedIndex!==s;if(w.shiftKey&&J==="multiple"&&!M0&&_0){if(w.key==="ArrowUp"||w.key==="ArrowDown"||w.key==="ArrowLeft"||w.key==="ArrowRight"){let O0=g(Z.focusedIndex);if(O0)r(O0.id,O0);G=Z.focusedIndex,M0=!0}if((w.ctrlKey||w.metaKey)&&(w.key==="Home"||w.key==="End")){let O0=s>=0?s:Z.focusedIndex,u=H(O0),t=H(Z.focusedIndex);if(u>=0&&t>=0)x(O0,Z.focusedIndex);G=Z.focusedIndex,M0=!0}}if(Q&&J==="single"&&!M0&&_0&&Z.focusedIndex>=0){let V0=g(Z.focusedIndex);if(V0)d(V0.id,V0);M0=!0}if(J0){if(w.preventDefault(),_0&&Z.focusedIndex>=0){if(M||!h.navigate)z(Z.focusedIndex);n(Z.focusedIndex)}if(M0)X();else if(_0){if(K(),Z.focusedIndex>=0){let V0=g(Z.focusedIndex);if(V0)F.emit("focus:change",{id:V0.id,index:Z.focusedIndex})}}}});O.registerMethod("select",(...w)=>{for(let k of w)d(k);X()}),O.registerMethod("deselect",(...w)=>{for(let k of w)e(k);X()}),O.registerMethod("toggleSelect",(w)=>{r(w),X()}),O.registerMethod("selectAll",()=>{if(J!=="multiple")return;o(),X()}),O.registerMethod("clearSelection",()=>{S(),X()}),O.registerMethod("getSelected",()=>{return U2(Z.selected)}),O.registerMethod("getSelectedItems",()=>{return l()}),O.registerMethod("selectNext",()=>{y(O);let w=L();if(w===0)return;if(c0(Z,1,w,p.reverse),V)Z.focusedIndex=b(Z.focusedIndex,1,w);let k=g(Z.focusedIndex);if(k)d(k.id,k);X()}),O.registerMethod("selectPrevious",()=>{y(O);let w=L();if(w===0)return;if(c0(Z,-1,w,p.reverse),V)Z.focusedIndex=b(Z.focusedIndex,-1,w);let k=g(Z.focusedIndex);if(k)d(k.id,k);X()}),O.registerMethod("_seedSelection",(w)=>{for(let k of w)Z.selected.add(k)}),O.registerMethod("_isFollowFocus",()=>Q),O.registerMethod("_getFocusedId",()=>{if(Z.focusedIndex<0)return;return g(Z.focusedIndex)?.id}),O.registerMethod("_focusById",(w)=>{let k=B.totalItems;for(let h=0;h<k;h++){if(V?.(h))continue;let s=g(h);if(s&&s.id===w){Z.focusedIndex=h,Z.focusVisible=j,F.emit("focus:change",{id:w,index:h});return}}})},destroy(){E.clear()}}}var K2=($)=>$==null?0:typeof $==="function"?$():$;function O2($){let J=$?.scrollPadding,Q,j;return{name:"page",priority:5,setup(U){let{dom:Z,sizeCache:q,config:K,emitter:F}=U,_=K.axis.primary==="x",N=window,B=U.getState();if(U.disableDefaultScroll(),U.disableDefaultResize(),Z.root.style.overflow="visible",Z.root.style.height="auto",_)Z.viewport.style.overflowX="visible",Z.viewport.style.overflowY="visible";else Z.viewport.style.overflow="visible";Z.viewport.classList.remove(`${K.classPrefix}-viewport--custom-scrollbar`),U.setScrollFns(()=>{let V=Z.viewport.getBoundingClientRect();return Math.max(0,_?-V.left:-V.top)},(V)=>{let M=Z.viewport.getBoundingClientRect(),L=(_?M.left+N.scrollX:M.top+N.scrollY)+V;if(_)N.scrollTo({left:L,top:N.scrollY,behavior:"instant"});else N.scrollTo({left:N.scrollX,top:L,behavior:"instant"})}),B.containerSize=_?N.innerWidth:N.innerHeight,B.crossSize=_?N.innerHeight:N.innerWidth;let P=null,G=()=>{let V=Z.viewport.getBoundingClientRect(),M=Math.max(0,_?-V.left:-V.top);if(B.prevScrollPosition=B.scrollPosition,B.scrollPosition=M,B.scrollDirection=M>B.prevScrollPosition?1:M<B.prevScrollPosition?-1:0,U.onScrollFrame(),P!==null)clearTimeout(P);P=setTimeout(()=>{P=null,U.onScrollIdle()},150)};N.addEventListener("scroll",G,{passive:!0}),j=()=>N.removeEventListener("scroll",G);let{innerWidth:E,innerHeight:A}=N,v=()=>{let{innerWidth:V,innerHeight:M}=N;if((_?Math.abs(V-E):Math.abs(M-A))<1)return;E=V,A=M,B.containerSize=_?V:M,B.crossSize=_?M:V,U.forceRender(),F.emit("resize",{width:V,height:M})};if(N.addEventListener("resize",v),Q=()=>N.removeEventListener("resize",v),J)U.setScrollToPosFn((V,M,L,Y,y)=>{let H=K2(_?J.left:J.top),T=K2(_?J.right:J.bottom);if(Y===0)return 0;let I=Math.max(0,Math.min(V,Y-1)),g=M.getOffset(I),b=M.getSize(I),d=M.getTotalSize(),r=Math.max(0,d-L+T),S;switch(y){case"center":S=g-H-(L-H-T-b)/2;break;case"end":S=g-L+b+T;break;default:S=g-H}return Math.max(-H,Math.min(S,r))}),U.registerMethod("_scrollItemIntoView",(V)=>{let M=_?N.innerWidth:N.innerHeight,L=K2(_?J.left:J.top),Y=K2(_?J.right:J.bottom),y=Z.viewport.getBoundingClientRect(),H=_?N.scrollX:N.scrollY,T=_?y.left:y.top,I=T+H,g=q.getOffset(V),b=q.getSize(V),d=T+g,r=M-Y,S=H;if(d<L)S=I+g-L;else if(d+b>r)S=I+g+b-r;if(S!==H)if(_)N.scrollTo({left:S,top:N.scrollY,behavior:"instant"});else N.scrollTo({left:N.scrollX,top:S,behavior:"instant"})});U.registerDestroyHandler(()=>{if(j?.(),Q?.(),P!==null)clearTimeout(P)})},destroy(){j?.(),Q?.(),j=void 0,Q=void 0}}}var N4=($)=>{try{let J=sessionStorage.getItem($);if(!J)return;return JSON.parse(J)}catch{return}};function t0($){let J=$?.autoSave,Q=J?N4(J):$?.restore,j=!1,U=null;return{name:"snapshots",priority:50,setup(Z){let{sizeCache:q,emitter:K}=Z,F=Z.getState(),_=()=>{let{scrollPosition:P,totalItems:G}=F,A=Z.getMethod("getSelected")?.();if(G===0){let T={index:0,offsetInItem:0,total:0};if(A?.length)T.selectedIds=A;return T}let v=q.indexAtOffset(P),V=P-q.getOffset(v);V=Math.max(0,V);let M={index:v,offsetInItem:V,total:G,scrollTop:P},L=q.getSize(v);if(L)M.offsetRatio=V/L;let Y=Z.getMethod("_layoutToDataIndex");if(Y){let T=Y(v);if(T<0){for(let I=v+1;I<G;I++)if(T=Y(I),T>=0)break}if(T>=0)M.dataIndex=T}let y=Z.getMethod("_getTotal");if(y)M.dataTotal=y();if(A?.length)M.selectedIds=A;let H=Z.getMethod("_getFocusedId");if(H){let T=H();if(T!==void 0)M.focusedId=T}return M};Z.registerMethod("getScrollSnapshot",_);let N=(P,G=!0)=>{let{index:E,offsetInItem:A,selectedIds:v,focusedId:V}=P,M=F.totalItems,L=P.dataTotal??P.total;if(M===0&&L&&L>0){let o=Z.getMethod("_setTotal");if(o)o(L),M=F.totalItems;q.rebuild(M),Z.updateContentSize(q.getTotalSize()),F.totalSize=q.getTotalSize()}if(M===0)return Promise.resolve();if(!Number.isFinite(E)||!Number.isFinite(A))return Promise.resolve();if(q.getTotal()===0)q.rebuild(M),Z.updateContentSize(q.getTotalSize()),F.totalSize=q.getTotalSize();let y=Z.getMethod("_dataToLayoutIndex"),H=E;if(P.dataIndex!==void 0&&P.dataIndex>=0)H=y?y(P.dataIndex):P.dataIndex;else if(y)H=y(E);let T=Math.max(0,Math.min(H,M-1)),I=q.getSize(T),g=P.offsetRatio!==void 0?P.offsetRatio*I:Math.min(A,I),b=Z.getMethod("_getTotal")?.(),d=P.total===M||b!==void 0&&P.dataTotal===b,r;if(P.scrollTop!==void 0&&d)r=P.scrollTop;else r=q.getOffset(T)+g;let S=Math.max(0,F.totalSize-F.containerSize);if(r=Math.max(0,Math.min(r,S)),Z.scrollTo(r),G&&v?.length){let o=Z.getMethod("select");if(o)o(...v)}let e=Z.getMethod("loadVisibleRange"),x=()=>{if(V===void 0)return;let o=Z.getMethod("_focusById");if(o)o(V)};return new Promise((o)=>{let l=(X)=>{if(X)x();o()};if(e){let X=0,f=()=>{if(F.containerSize>0){if(Math.abs(F.scrollPosition-r)>1)Z.scrollTo(r);e().then(()=>l(!0),()=>l(!1))}else if(++X<10)requestAnimationFrame(f);else l(!1)};requestAnimationFrame(f)}else{let X=Z.getMethod("reload");if(X)requestAnimationFrame(()=>{X().then(()=>l(!0),()=>l(!1))});else requestAnimationFrame(()=>l(!0))}})};Z.registerMethod("restoreScroll",N);let B=!!(Q&&J);if(Z.registerDestroyHandler(()=>{j=!0}),J){U=()=>{if(j||B)return;let M=_();try{sessionStorage.setItem(J,JSON.stringify(M))}catch{}},Z.registerMethod("_saveSnapshot",U);let P=0,G=()=>{if(P)return;P=requestAnimationFrame(()=>{if(P=0,U)U()})};K.on("selection:change",G),K.on("focus:change",G);let E=0,A=()=>{if(E=0,U)U()},v=()=>{if(E)clearTimeout(E);E=setTimeout(A,300)};K.on("scroll",v);let V=()=>{U?.()};if(window.addEventListener("beforeunload",V),Z.registerDestroyHandler(()=>{if(P)cancelAnimationFrame(P);if(E)clearTimeout(E);window.removeEventListener("beforeunload",V)}),Q&&Q.total&&Q.total>0){let M=Z.getMethod("_cancelAutoLoad");if(M)M();let L=Z.getMethod("_setTotal");if(L)L(Q.total)}}if(Q){let P=!0;if(Q.selectedIds?.length){let G=Z.getMethod("_seedSelection");if(G)G(Q.selectedIds),P=!1}queueMicrotask(()=>{if(N(Q,P),B=!1,U)U()})}},hooks:{onIdle(){if(U&&!j)U()}},destroy(){j=!0,U=null}}}function F1($,J){if(J===!1)return null;return{duration:Math.min(J?.duration??$.duration,1000),easing:J?.easing??$.easing}}function L2($){let J=$?.duration??200,Q=$?.easing??"cubic-bezier(0.2, 0, 0, 1)",j={duration:J,easing:Q},U=F1(j,$?.remove),Z=F1(j,$?.insert),q=null,K=null;return{name:"transition",conflicts:["grid","table","masonry"],priority:45,setup(F){let{sizeCache:_,emitter:N}=F,B=F.config,P=F.dom,G=F.getState(),E=B.reverse?"bottom center":"top center",A=B.axis.primary==="x"?"translateX":"translateY",v=F.getMethod("_dataToLayoutIndex")??null,V=(Y)=>v?v(Y):Y,M=(Y)=>{let y=String(Y).replace(/"/g,"\\\""),H=P.content.querySelector(`[data-id="${y}"]`),T=H?parseInt(H.dataset.index??"-1",10):-1;return{el:H,layoutIndex:T}},L=()=>{let Y=P.content.children;for(let y=0;y<Y.length;y++)Y[y].style.transition="none";P.content.offsetHeight;for(let y=0;y<Y.length;y++)Y[y].style.transition=""};if(U){let Y=(H)=>{if(q)q();let T=typeof document<"u"?document.activeElement:null,I=T&&P.content.contains(T)?parseInt(T.dataset?.index??"-1",10):-1,g=M(H),b=g.layoutIndex,d=g.el,r=b>=0?_.getSize(b):0,S=b>=0?_.getOffset(b):0;if(!d||b<0){if(F.removeItemById(H)<0)return!1;if(F.forceRender(),L(),N.emit("data:change",{type:"remove",id:H}),I>=0){let U0=G.totalItems;if(U0>0)F.getRenderedElement(Math.min(I,U0-1))?.focus()}return N.emit("remove:end",{id:H}),!0}let e=d.cloneNode(!0);e.style.pointerEvents="none",e.style.overflow="hidden",e.removeAttribute("data-index"),e.removeAttribute("data-id"),e.removeAttribute("id"),e.removeAttribute("aria-selected"),e.classList.remove(`${B.classPrefix}-item--selected`);let x=B.axis.primary==="x"?"scrollLeft":"scrollTop",o=P.viewport[x];if(F.removeItemById(H)<0)return!1;F.forceRender(),L(),N.emit("data:change",{type:"remove",id:H});let X=o-P.viewport[x];e.style.zIndex="1",P.content.appendChild(e);let f=U,W={duration:f.duration,easing:f.easing},O=[],p=Math.round(S-X);O.push(e.animate([{transform:`${A}(${p}px) scaleY(1)`,opacity:1,transformOrigin:E},{transform:`${A}(${Math.round(S)}px) scaleY(0)`,opacity:0,transformOrigin:E}],W));let a=X>0,c=P.content.children;for(let n=0;n<c.length;n++){let U0=c[n];if(U0===e)continue;let D=parseInt(U0.dataset?.index??"-1",10);if(D<0||!a&&D<b)continue;let w=_.getOffset(D),k=D>=b?Math.round(w+r-X):Math.round(w-X),h=Math.round(w);if(k===h)continue;O.push(U0.animate([{transform:`${A}(${k}px)`},{transform:`${A}(${h}px)`}],W))}let R=!1,z=()=>{if(R)return;R=!0,q=null,e.remove();for(let n of O)if(n.playState!=="finished")n.cancel();if(I>=0){let n=G.totalItems;if(n>0)F.getRenderedElement(Math.min(I,n-1))?.focus()}N.emit("remove:end",{id:H})};return q=z,Promise.all(O.map((n)=>n.finished)).then(z,z),setTimeout(z,f.duration+50),!0},y=(H)=>{if(H.length===0)return 0;if(H.length===1)return Y(H[0])?1:0;if(q)q();if(K)K();let T=typeof document<"u"?document.activeElement:null,I=T&&P.content.contains(T)?parseInt(T.dataset?.index??"-1",10):-1,g=[];for(let R of H){let z=M(R);g.push({id:R,layoutIndex:z.layoutIndex,el:z.el,size:z.layoutIndex>=0?_.getSize(z.layoutIndex):0,offset:z.layoutIndex>=0?_.getOffset(z.layoutIndex):0})}g.sort((R,z)=>z.layoutIndex-R.layoutIndex);let b=[];for(let R of g){if(!R.el||R.layoutIndex<0)continue;let z=R.el.cloneNode(!0);z.style.pointerEvents="none",z.style.overflow="hidden",z.removeAttribute("data-index"),z.removeAttribute("data-id"),z.removeAttribute("id"),z.removeAttribute("aria-selected"),z.classList.remove(`${B.classPrefix}-item--selected`),b.push({clone:z,offset:R.offset,size:R.size,layoutIndex:R.layoutIndex})}let d=new Map,r=P.content.children;for(let R=0;R<r.length;R++){let z=r[R],n=z.dataset?.id,U0=parseInt(z.dataset?.index??"-1",10);if(n&&U0>=0)d.set(n,_.getOffset(U0))}let S=B.axis.primary==="x"?"scrollLeft":"scrollTop",e=P.viewport[S],x=[];for(let R of g)if(F.removeItemById(R.id)>=0)x.push(R.id);if(x.length===0)return 0;F.forceRender(),L();for(let R of x)N.emit("data:change",{type:"remove",id:R});if(b.length===0){if(I>=0){let R=G.totalItems;if(R>0)F.getRenderedElement(Math.min(I,R-1))?.focus()}for(let R of x)N.emit("remove:end",{id:R});return x.length}let o=e-P.viewport[S],l=U,X={duration:l.duration,easing:l.easing},f=[];b.sort((R,z)=>R.layoutIndex-z.layoutIndex);let W=0;for(let R of b){R.clone.style.zIndex="1",P.content.appendChild(R.clone);let z=Math.round(R.offset-o),n=Math.round(R.offset-W);f.push(R.clone.animate([{transform:`${A}(${z}px) scaleY(1)`,opacity:1,transformOrigin:E},{transform:`${A}(${n}px) scaleY(0)`,opacity:0,transformOrigin:E}],X)),W+=R.size}let O=new Set(b.map((R)=>R.clone)),p=P.content.children;for(let R=0;R<p.length;R++){let z=p[R];if(O.has(z))continue;let n=z.dataset?.id,U0=parseInt(z.dataset?.index??"-1",10);if(!n||U0<0)continue;let D=d.get(n);if(D===void 0)continue;let w=_.getOffset(U0),k=Math.round(D-o),h=Math.round(w);if(k===h)continue;f.push(z.animate([{transform:`${A}(${k}px)`},{transform:`${A}(${h}px)`}],X))}let a=!1,c=()=>{if(a)return;a=!0,q=null;for(let{clone:R}of b)R.remove();for(let R of f)if(R.playState!=="finished")R.cancel();if(I>=0){let R=G.totalItems;if(R>0)F.getRenderedElement(Math.min(I,R-1))?.focus()}for(let R of x)N.emit("remove:end",{id:R})};return q=c,Promise.all(f.map((R)=>R.finished)).then(c,c),setTimeout(c,l.duration+50),x.length};F.registerMethod("removeItem",Y),F.registerMethod("removeItems",y)}if(Z){let Y=(y,H)=>{if(K)K();if(q)q();let T=H??0,I=new Map,g=P.content.children;for(let R=0;R<g.length;R++){let z=g[R],n=z.dataset?.id,U0=parseInt(z.dataset?.index??"-1",10);if(n&&U0>=0)I.set(n,_.getOffset(U0))}let b=B.axis.primary==="x"?"scrollLeft":"scrollTop",d=B.axis.primary==="x"?"scrollWidth":"scrollHeight",r=B.axis.primary==="x"?"clientWidth":"clientHeight",S=P.viewport[b],e=P.viewport[d]-P.viewport[r],x=S>=e-1;F.insertItemAt(y,T),F.forceRender(),L(),N.emit("data:change",{type:"insert",id:y.id});let o=P.viewport[b]-S,l=V(T);if(B.reverse&&o===0&&x){P.viewport[b]=P.viewport[d]-P.viewport[r];let R=P.viewport[b];if(G.prevScrollPosition=G.scrollPosition,G.scrollPosition=R,o=R-S,o>0)F.forceRender(),L()}let X=F.getRenderedElement(l),f=Z,W={duration:f.duration,easing:f.easing},O=[];if(X){let R=_.getOffset(l);O.push(X.animate([{transform:`${A}(${Math.round(R)}px) scaleY(0)`,opacity:0,transformOrigin:E},{transform:`${A}(${Math.round(R)}px) scaleY(1)`,opacity:1,transformOrigin:E}],W))}let p=P.content.children;for(let R=0;R<p.length;R++){let z=p[R];if(z===X)continue;let n=z.dataset?.id,U0=parseInt(z.dataset?.index??"-1",10);if(!n||U0<0)continue;let D=I.get(n);if(D===void 0)continue;let w=_.getOffset(U0),k=Math.round(D+o),h=Math.round(w);if(k===h)continue;O.push(z.animate([{transform:`${A}(${k}px)`},{transform:`${A}(${h}px)`}],W))}if(O.length===0)return;let a=!1,c=()=>{if(a)return;a=!0,K=null;for(let R of O)if(R.playState!=="finished")R.cancel()};K=c,Promise.all(O.map((R)=>R.finished)).then(c,c),setTimeout(c,f.duration+50)};F.registerMethod("insertItem",Y)}},destroy(){if(q)q();if(K)K()}}}function F2($){let J=$?.gap??0,Q=null,j=null,U,Z,q,K,F=new Map,_=new WeakMap,N=0,B=!1,P=!1,G=!1,E=2;function A(Y){return F.get(Y)??K}function v(){return Math.max(0,j.sizeCache.getTotalSize()+j.config.mainAxisPadding-U.containerSize)}function V(){let Y=v();return Y>0&&U.scrollPosition>=Y-E}function M(){let Y=v();if(Y>U.scrollPosition)j.scrollTo(Y)}function L(){j.updateContentSize(j.sizeCache.getTotalSize())}return{name:"autosize",priority:5,setup(Y){if(j=Y,U=Y.getState(),Z=Y.config.axis.primary==="x",q=Z?"width":"height",J===0)J=Y.config.gap;if(K=typeof Y.rawSizeSpec==="function"?Y.rawSizeSpec(0)+J:Y.rawSizeSpec+J,Y.setSizeConfig(A),J>0){let T=Y.sizeCache.getTotalSize;Y.sizeCache.getTotalSize=()=>{let I=T();return I>0?I-J:0}}Q=new ResizeObserver((T)=>{if(U.destroyed||!j)return;let I=!1,g=Y.sizeCache.indexAtOffset(U.scrollPosition);for(let e of T){let x=e.target,o=_.get(x);if(o===void 0)continue;if(x.getAttribute("data-index")!==String(o)){Q.unobserve(x);continue}if(F.has(o))continue;let l=e.borderBoxSize[0];if(!l)continue;let X=Z?l.inlineSize:l.blockSize;if(X<=0)continue;let f=X+J,W=K;if(F.set(o,f),I=!0,o<g&&f!==W)N+=f-W;Q.unobserve(x),x.style[q]=`${X}px`}if(!I)return;let b=V();if(Y.rebuildSizeCache(),N)Y.scrollTo(U.scrollPosition+N),N=0;let d=U.scrollDirection!==0,r=U.totalItems>0&&U.prevRangeEnd>=U.totalItems-1,S=P&&!G;if(S||b||r||!d){if(L(),B=!1,S||b)M()}else B=!0;Y.forceRender()}),Y.setScrollToIndexFn((T,I,g,b,d)=>{let r=T>=U.totalItems-1&&I==="end";if(P=r,G=!1,!r)return!1;let S=Y.config.mainAxisPadding,e=()=>{let x=Y.sizeCache.getTotalSize();return Math.max(0,x+S-U.containerSize)};if(g==="smooth")G=!0,Y.smoothScrollTo(e,b??300,d,()=>{G=!1});else Y.scrollTo(e())});let y=()=>{P=!1},H=Y.dom.viewport;H.addEventListener("wheel",y,{passive:!0}),H.addEventListener("touchstart",y,{passive:!0}),Y.registerDestroyHandler(()=>{H.removeEventListener("wheel",y),H.removeEventListener("touchstart",y)}),Y.registerMethod("isMeasured",(T)=>F.has(T)),Y.registerMethod("setMeasuredSize",(T,I)=>{F.set(T,I)}),Y.registerMethod("getMeasuredCount",()=>F.size),Y.registerDestroyHandler(()=>{if(Q)Q.disconnect(),Q=null})},hooks:{onCommit(Y){if(!Q||!j)return;for(let y=0;y<Y.visibleCount;y++){let H=Y.visibleIndices[y];if(F.has(H))continue;let T=j.getRenderedElement(H);if(!T)continue;T.style[q]="",_.set(T,H),Q.observe(T)}},onIdle(){if(!j||!B)return;let Y=V();if(L(),B=!1,Y)M(),j.forceRender()}},destroy(){if(Q)Q.disconnect(),Q=null;F.clear(),P=!1,G=!1,j=null}}}var R1=($)=>{let J=Math.max(1,Math.floor($.columns)),Q=$.gap??0,j=$.containerSize,U=$.crossOffset??0,Z=$.mainOffset??0,q=0,K=[],F=()=>{let V=(J-1)*Q;q=Math.max(0,(j-V)/J),K=Array(J);let M=q+Q;for(let L=0;L<J;L++)K[L]=U+L*M};F();let _=[],N=0,B=[],P=(V,M)=>{if(V<=0)return N=0,_=[],[];let L=Array(J).fill(Z),Y=Array(J);for(let T=0;T<J;T++)Y[T]=[];let y=Array(V);for(let T=0;T<V;T++){let I=0,g=L[0];for(let r=1;r<J;r++){let S=L[r];if(S<g)g=S,I=r}let b=M(T),d=L[I];y[T]={index:T,x:K[I],y:d,lane:I,size:b,crossSize:q},Y[I].push(T),L[I]=d+b+Q}_=Y;let H=0;for(let T=0;T<J;T++){let I=L[T],g=I>0?I-Q:0;if(g>H)H=g}return N=H,y},G=(V)=>{if(V.length===0)return N;if(N)return N;let M=Array(J).fill(0);for(let Y of V){let y=Y.y+Y.size,H=M[Y.lane];if(y>H)M[Y.lane]=y}let L=0;for(let Y=0;Y<J;Y++)if(M[Y]>L)L=M[Y];return L},E=(V,M,L)=>{if(V.length===0||L<=M)return B.length=0,B;if(_.length===0||_.length!==J)return A(V,M,L);B.length=0;for(let Y=0;Y<J;Y++){let y=_[Y],H=y.length;if(!H)continue;let T=0,I=H;while(T<I){let g=T+I>>>1,b=V[y[g]];if(b.y+b.size<=M)T=g+1;else I=g}for(let g=T;g<H;g++){let b=V[y[g]];if(b.y>=L)break;B.push(b)}}return B},A=(V,M,L)=>{B.length=0;for(let Y of V)if(Y.y+Y.size>M&&Y.y<L)B.push(Y);return B};return{get columns(){return J},get gap(){return Q},get containerSize(){return j},update:(V)=>{let M=!1;if(V.columns!==void 0){let L=Math.max(1,Math.floor(V.columns));if(L!==J)J=L,M=!0}if(V.gap!==void 0&&V.gap!==Q)Q=V.gap,M=!0;if(V.containerSize!==void 0&&V.containerSize!==j)j=V.containerSize,M=!0;if(V.crossOffset!==void 0&&V.crossOffset!==U)U=V.crossOffset,M=!0;if(V.mainOffset!==void 0&&V.mainOffset!==Z)Z=V.mainOffset,M=!0;if(M)F()},calculateLayout:P,getTotalSize:G,getVisibleItems:E}};var E1=($,J,Q)=>{let j=Array.from(J).sort((q,K)=>q-K);if(j.length<=1)return;let U=[];for(let q=0;q<j.length;q++){let K=Q(j[q]);if(K)U.push(K)}if(U.length<=1)return;let Z=$.firstChild;for(let q=0;q<U.length;q++){let K=U[q];if(K===Z)Z=Z.nextSibling;else $.insertBefore(K,Z)}};var V4=($=200)=>{let J=[];return{acquire:()=>{let Z=J.pop();if(Z)return Z;let q=document.createElement("div");return q.setAttribute("role","option"),q},release:(Z)=>{if(Z.remove(),J.length<$)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}}},M4=1,b1=($,J,Q,j=!1,U,Z,q,K,F=()=>0)=>{let _=V4(),N=new Map,B=new Set,P=0,G="",E=-1,A={selected:!1,focused:!1},v=(x,o)=>{return A.selected=x,A.focused=o,A},V=`${Q}-item ${Q}-masonry-item`,M=`${Q}-group-header`,L=`${Q}-item--selected`,Y=`${Q}-item--focused`,y=(x,o)=>{if(typeof o==="string")x.innerHTML=o;else x.replaceChildren(o);u0(x)},H=(x,o,l)=>{x.classList.toggle(L,o),x.classList.toggle(Y,l)},T=(x,o)=>{let l=Math.round(o.y-F());if(j)x.style.transform=`translate(${l}px, ${Math.round(o.x)}px)`;else x.style.transform=`translate(${Math.round(o.x)}px, ${l}px)`},I=(x,o)=>{if(j)x.style.width=`${o.size}px`,x.style.height=`${o.crossSize}px`;else x.style.width=`${o.crossSize}px`,x.style.height=`${o.size}px`},g=(x,o,l,X,f)=>{let W=_.acquire(),O=o.__groupHeader,p=v(X,f);if(W.className=O?M:V,W.dataset.index=String(x),W.dataset.id=String(o.id),W.dataset.lane=String(l.lane),O)W.setAttribute("role","presentation"),W.removeAttribute("aria-selected"),W.removeAttribute("aria-setsize"),W.removeAttribute("aria-posinset"),W.removeAttribute("id");else if(K===!0){if(W.setAttribute("role","option"),W.ariaSelected=String(X),Z)W.id=`${Z}-item-${x}`;if(U){let c=U();if(c!==E)E=c,G=String(c);W.setAttribute("aria-setsize",G);let R=q?q(x):x+1;W.setAttribute("aria-posinset",String(R))}}else if(W.setAttribute("role","listitem"),W.removeAttribute("aria-selected"),U){let c=U();if(c!==E)E=c,G=String(c);W.setAttribute("aria-setsize",G);let R=q?q(x):x+1;W.setAttribute("aria-posinset",String(R))}I(W,l);let a=J(o,x,p);return y(W,a),H(W,X,f),T(W,l),{element:W,lastItem:o,lastSelected:X,lastFocused:f,lastY:l.y-F(),lastX:l.x,lastSize:l.size,lastCrossSize:l.crossSize,lastSeenFrame:P}},b=(x,o,l,X)=>{P++,B.clear();for(let W=0;W<o.length;W++)B.add(o[W].index);let f=null;for(let W=0;W<o.length;W++){let O=o[W],p=O.index,a=x(p);if(!a)continue;let c=l.has(a.id),R=p===X,z=N.get(p);if(z){let n=z.lastItem!==a,U0=z.lastSelected!==c,D=z.lastFocused!==R,w=z.lastY!==O.y-F()||z.lastX!==O.x,k=z.lastSize!==O.size||z.lastCrossSize!==O.crossSize;if(n){let h=v(c,R),s=J(a,p,h);if(y(z.element,s),z.element.dataset.id=String(a.id),z.lastItem=a,!a.__groupHeader){let M0=q?q(p):p+1;z.element.setAttribute("aria-posinset",String(M0))}}if(n||U0||D)H(z.element,c,R),z.element.ariaSelected=String(c),z.lastSelected=c,z.lastFocused=R;if(k)I(z.element,O),z.lastSize=O.size,z.lastCrossSize=O.crossSize;if(w)T(z.element,O),z.lastY=O.y-F(),z.lastX=O.x}else{let n=g(p,a,O,c,R);if(!f)f=document.createDocumentFragment();f.appendChild(n.element),N.set(p,n)}}if(f)$.appendChild(f);for(let[W,O]of N)if(B.has(W))O.lastSeenFrame=P;else if(P-O.lastSeenFrame>M4)_.release(O.element),N.delete(W)},d=()=>{for(let x of N.values())_.release(x.element);N.clear(),$.innerHTML=""};return{render:b,getElement:(x)=>N.get(x)?.element,updateItemClasses:(x,o,l)=>{let X=N.get(x);if(!X)return;let f=X.lastSelected!==o,W=X.lastFocused!==l;if(f||W)H(X.element,o,l),X.lastSelected=o,X.lastFocused=l},sortDOM:()=>{E1($,N.keys(),(x)=>N.get(x)?.element)},clear:d,destroy:()=>{d(),_.clear()}}};var X4=100,G4=new Set;function R2($){if(!$.columns||$.columns<1)throw Error("[vlist] masonry: columns must be >= 1");let J,Q=null,j,U=null,Z,q,K,F=[],_=-1,N=-1,B=!0,P=-1,G=-1,E=0,A=0,v=0,V=0,M={columnWidth:0,columns:0,gap:0,containerWidth:0},L=[],Y=(D)=>L[D],y=null,H=null,T=!1;function I(){if(T||!U)return;T=!0,y=U.getMethod("_getSelectedIds")??null,H=U.getMethod("_getFocusedIndex")??null}let g=[],b=new Int32Array(0),d=[],r=null,S=null,e=null,x=null,o=!1,l=!0;function X(){if(o||!U)return;if(r=U.getMethod("_getItemLane")??null,S=U.getMethod("_getItemY")??null,e=U.getMethod("_getItemH")??null,x=U.getMethod("_isGroupHeader")??null,r||x)o=!0}function f(){X();let D=J.columns,w=!!r;if(w){let k=j.totalItems;g=Array(D);for(let h=0;h<D;h++)g[h]=[];if(b.length<k)b=new Int32Array(k);for(let h=0;h<k;h++){if(x?.(h))continue;let s=r(h);if(s<0||s>=D)continue;b[h]=g[s].length,g[s].push(h)}}else{let k=F.length;g=Array(D);for(let h=0;h<D;h++)g[h]=[];if(b.length<k)b=new Int32Array(k);for(let h=0;h<k;h++){let s=F[h];b[h]=g[s.lane].length,g[s.lane].push(h)}}d=Array(D);for(let k=0;k<D;k++){let h=g[k],s=new Float64Array(h.length);for(let J0=0;J0<h.length;J0++){let M0=h[J0];if(w&&S&&e){let _0=S(M0),V0=e(M0);s[J0]=_0>=0?_0+(V0>0?V0*0.5:0):0}else{let _0=F[M0];s[J0]=_0.y+_0.size*0.5}}d[k]=s}}function W(D,w){let k=D.length;if(!k)return-1;let h=0,s=k-1;while(h<s){let J0=h+s>>1;if(D[J0]<w)h=J0+1;else s=J0}if(h>0&&Math.abs(D[h-1]-w)<=Math.abs(D[h]-w))return h-1;return h}function O(D,w,k){if(l)f(),l=!1;let h=!!r,s,J0;if(h){if(x?.(D))return D;if(s=r(D),s<0)return D;J0=b[D]}else{let W0=F[D];if(!W0)return D;s=W0.lane,J0=b[D]}let M0=J.columns,_0=g[s];switch(Z?w==="ArrowDown"?"ArrowRight":w==="ArrowUp"?"ArrowLeft":w==="ArrowRight"?"ArrowDown":w==="ArrowLeft"?"ArrowUp":w:w){case"ArrowDown":if(J0+1<_0.length)return _0[J0+1];return D;case"ArrowUp":if(J0>0)return _0[J0-1];return D;case"ArrowRight":{if(s>=M0-1)return D;let W0=s+1,O0=g[W0];if(!O0.length)return D;let u=W(d[W0],d[s]?.[J0]??0);return u>=0?O0[u]:D}case"ArrowLeft":{if(s<=0)return D;let W0=s-1,O0=g[W0];if(!O0.length)return D;let u=W(d[W0],d[s]?.[J0]??0);return u>=0?O0[u]:D}case"Home":return 0;case"End":{let W0=g[M0-1];return W0.length>0?W0[W0.length-1]:D}case"PageDown":{let W0=j.containerSize,O0=h?null:F[D],u=O0&&O0.size>0?O0.size:150,t=Math.max(1,Math.floor(W0/u)),j0=Math.min(J0+t,_0.length-1);return _0[j0]}case"PageUp":{let W0=j.containerSize,O0=h?null:F[D],u=O0&&O0.size>0?O0.size:150,t=Math.max(1,Math.floor(W0/u)),j0=Math.max(0,J0-t);return _0[j0]}}return D}let p=null;function a(){if($.size)return(D)=>$.size(D,M);if(p!==null&&typeof p==="function")return(D)=>p(D,M);return(D)=>U.sizeCache.getSize(D)}function c(){let{columns:D,gap:w}=J;M.containerWidth=J.containerSize,M.columns=D,M.gap=w,M.columnWidth=Math.max(0,(J.containerSize-(D-1)*w)/D)}function R(){if(!U)return;c();let D=j.totalItems;F=J.calculateLayout(D,a()),P=D,l=!0,z()}function z(){if(!U)return;let D=J.getTotalSize(F)+V;if(D===G)return;G=D,U.updateContentSize(D)}function n(){if(j.destroyed||!U||!Q)return;if(j.totalItems!==P)R();if(B)G=-1,z();I();let{scrollPosition:D,containerSize:w}=j;if(!B&&D===_&&w===N)return;if(_=D,N=w,B=!1,w<=0||F.length===0)return;let k=Math.max(0,D-K),h=D+w+K,s=J.getVisibleItems(F,k,h),J0=y?.()??G4,M0=H?.()??-1;L=U.getItems(),Q.render(Y,s,J0,M0);let _0=s.length,V0=_0>0?s[0].index:0,W0=_0>0?s[_0-1].index:0;j.prevRangeStart=V0,j.prevRangeEnd=W0,j.renderPending=!1;let O0=Math.min(_0,j.capacity);j.visibleCount=O0,j.startIndex=V0;for(let u=0;u<O0;u++){let t=s[u];j.visibleIndices[u]=t.index,j.visibleOffsets[u]=t.y,j.visibleSizes[u]=t.size}}function U0(){if(j.destroyed)return;G=-1,R(),j.prevRangeStart=-1,j.prevRangeEnd=-1,j.renderPending=!0,B=!0,n()}return{name:"masonry",priority:10,conflicts:["grid","table"],setup(D){if(U=D,j=D.getState(),p=D.rawSizeSpec,Z=D.config.axis.primary==="x",q=D.config.classPrefix,K=D.config.overscan*X4,D.config.reverse)throw Error("[vlist] masonry: cannot be combined with reverse mode");E=D.config.crossAxisPadding,A=D.config.crossPadStart,v=D.config.startPadding,V=D.config.endPadding;let w=j.crossSize-E;J=R1({columns:$.columns,gap:$.gap??0,containerSize:w,crossOffset:A,mainOffset:v}),Q=b1(D.dom.content,D.template,q,Z,()=>j.totalItems,void 0,void 0,void 0,()=>j.baseOffset),D.dom.root.classList.add(`${q}--masonry`),D.setRenderFn(n,U0),R(),D.registerMethod("getMasonryLayout",()=>J),D.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 h={};if(k.columns!==void 0)h.columns=k.columns;if(k.gap!==void 0)h.gap=k.gap;J.update(h),Q?.clear(),U0()}),D.registerMethod("scrollToIndex",(k,h="start")=>{let s=F[k];if(!s)return;let J0=typeof h==="string"?h:h.align??"start",M0=typeof h==="object"?h.behavior:void 0,_0=typeof h==="object"?h.duration:void 0,V0=j.containerSize,W0=J.getTotalSize(F)+V,O0=Math.max(0,W0-V0),u=s.y;if(J0==="center")u=s.y-V0/2+s.size/2;else if(J0==="end"){if(u=s.y-V0+s.size,k>=j.totalItems-1&&s.y+s.size>O0)u=O0}if(u=Math.max(0,Math.min(u,O0)),M0==="smooth"&&_0&&_0>0)D.smoothScrollTo(u,_0);else D.scrollTo(u)}),D.registerMethod("_scrollItemIntoView",(k)=>{let h=F[k];if(!h)return;let{scrollPosition:s,containerSize:J0}=j,M0=J.getTotalSize(F)+V,_0=Math.max(0,M0-J0),V0=h.y,W0=V0+h.size;if(V0-v<s)D.scrollTo(Math.max(0,V0-v));else if(W0+V>s+J0){let O0=g[J.columns-1];if(O0&&O0.length>0&&k===O0[O0.length-1]&&V0>=_0)D.scrollTo(_0);else D.scrollTo(Math.min(W0+V-J0,_0))}}),D.setNavConfig({total:()=>j.totalItems,navigate:O}),D.registerDestroyHandler(()=>{Q?.destroy(),Q=null,D.dom.root.classList.remove(`${q}--masonry`)})},hooks:{onResize(D,w){if(!J||!U)return;let k=j.crossSize-E;if(Math.abs(k-J.containerSize)<1)return;J.update({containerSize:k}),Q?.clear(),U0()},onIdle(){Q?.sortDOM()}},destroy(){Q?.destroy(),Q=null,F=[],U=null}}}var T1=($={})=>{let{chunkSize:J=100,maxCachedItems:Q=5000,evictionBuffer:j=200,onEvict:U}=$,Z=new Map,q=0,K=0,F=(l)=>{let X=Z.get(l);if(!X)X={items:Array(J),count:0,lastAccess:Date.now()},Z.set(l,X);else X.lastAccess=Date.now();return X},_=(l)=>{return Math.floor(l/J)},N=(l)=>{return l%J},B=()=>q,P=(l)=>{q=l},G=(l)=>{if(l<0||l>=q)return;let X=_(l),f=Z.get(X);if(!f)return;return f.items[N(l)]},E=(l)=>{if(l<0||l>=q)return!1;let X=_(l),f=Z.get(X);if(!f)return!1;return f.items[N(l)]!==void 0},A=(l,X)=>{let f=_(l),W=F(f),O=N(l),p=W.items[O]===void 0;if(W.items[O]=X,p)W.count++,K++;if(l>=q)q=l+1},v=(l,X)=>{for(let f=0;f<X.length;f++){let W=X[f];if(W!==void 0)A(l+f,W)}},V=(l,X)=>{if(l<0||l>q)return;let f=_(l),W=Array.from(Z.keys()).filter((R)=>R>=f).sort((R,z)=>R-z),O=[];for(let R of W){let z=Z.get(R),n=R*J;for(let U0=0;U0<J;U0++){if(z.items[U0]===void 0)continue;let D=n+U0;if(D<l)continue;O.push({oldIndex:D,item:z.items[U0]})}}for(let{oldIndex:R}of O){let z=_(R),n=Z.get(z);if(!n)continue;let U0=N(R);if(n.items[U0]!==void 0){if(n.items[U0]=void 0,n.count--,K--,n.count===0)Z.delete(z)}}q++;for(let{oldIndex:R,item:z}of O){let n=R+1,U0=_(n),D=F(U0),w=N(n);D.items[w]=z,D.count++,K++}let p=_(l),a=F(p),c=N(l);a.items[c]=X,a.count++,K++},M=(l)=>{if(l<0||l>=q)return!1;let X=_(l),f=Z.get(X),W=N(l);if(!(f!==void 0&&f.items[W]!==void 0))return!1;let p=X,a=Array.from(Z.keys()).filter((R)=>R>=p).sort((R,z)=>R-z),c=[];for(let R of a){let z=Z.get(R),n=R*J;for(let U0=0;U0<J;U0++){if(z.items[U0]===void 0)continue;let D=n+U0;if(D<=l)continue;c.push({oldIndex:D,item:z.items[U0]})}}if(f.items[W]=void 0,f.count--,K--,f.count===0)Z.delete(X);for(let{oldIndex:R}of c){let z=_(R),n=Z.get(z);if(!n)continue;let U0=N(R);if(n.items[U0]!==void 0){if(n.items[U0]=void 0,n.count--,K--,n.count===0)Z.delete(z)}}for(let{oldIndex:R,item:z}of c){let n=R-1,U0=_(n),D=F(U0),w=N(n);D.items[w]=z,D.count++,K++}return q--,!0},L=(l,X)=>{let f=[];for(let W=l;W<=X&&W<q;W++)f.push(G(W));return f},Y=(l,X)=>{for(let f=l;f<=X&&f<q;f++)if(!E(f))return!1;return!0},y=()=>{let l=[],X=null,f=Array.from(Z.keys()).sort((W,O)=>W-O);for(let W of f){let O=Z.get(W);if(!O)continue;let p=W*J;for(let a=0;a<J;a++){let c=p+a;if(c>=q)break;if(O.items[a]!==void 0)if(X===null)X={start:c,end:c};else if(c===X.end+1)X.end=c;else l.push(X),X={start:c,end:c};else if(X!==null)l.push(X),X=null}}if(X!==null)l.push(X);return l},H=(l,X)=>{let f=[],W=null;for(let O=l;O<=X&&O<q;O++)if(!E(O))if(W===null)W={start:O,end:O};else W.end=O;else if(W!==null)f.push(W),W=null;if(W!==null)f.push(W);return f},T=(l)=>{return Z.has(l)},I=(l)=>{let X=Z.get(l);if(!X)return!1;let f=l*J,W=Math.min(J,q-f);return X.count>=W},g=(l)=>{let X=Z.get(l);if(X)X.lastAccess=Date.now()},b=(l,X)=>{if(l>X||Z.size===0)return;let f=Date.now(),W=_(Math.max(0,l)),O=_(Math.min(q-1,X));for(let p=W;p<=O;p++){let a=Z.get(p);if(a)a.lastAccess=f}},d=(l,X)=>{if(K<=Q)return 0;let f=Math.max(0,l-j),W=Math.min(q-1,X+j),O=_(f),p=_(W),a=0,c=[];for(let[R,z]of Z)if(R<O||R>p)a+=z.count,c.push(R),K-=z.count,Z.delete(R);if(a>0&&U)U(a,c);return a},r=()=>{if(K<=Q)return 0;let l=Array.from(Z.entries()).sort(([,W],[,O])=>W.lastAccess-O.lastAccess),X=0,f=[];for(let[W,O]of l){if(K<=Q)break;X+=O.count,K-=O.count,f.push(W),Z.delete(W)}if(X>0&&U)U(X,f);return X},S=()=>{return{totalItems:q,cachedItems:K,cachedChunks:Z.size,chunkSize:J,maxCachedItems:Q,memoryEfficiency:q>0?1-K/q:1}},e=()=>K,x=()=>{Z.clear(),K=0};return{chunkSize:J,maxCachedItems:Q,getTotal:B,setTotal:P,get:G,has:E,set:A,setRange:v,insert:V,delete:M,getRange:L,isRangeLoaded:Y,getLoadedRanges:y,findUnloadedRanges:H,getChunkIndex:_,isChunkLoaded:T,isChunkFullyLoaded:I,touchChunk:g,touchChunksForRange:b,evictDistant:d,evictToLimit:r,getStats:S,getCachedCount:e,clear:x,reset:()=>{x(),q=0}}};var k1=($={})=>{let{maskCharacter:J=n2,maxSampleSize:Q=t2}=$,j=[],U=!1,Z=(N)=>{if(U||N.length===0)return;let B=Math.min(N.length,Q);for(let P=0;P<B;P++){let G=N[P];if(!G||typeof G!=="object")continue;let E={},A=!1;for(let[v,V]of Object.entries(G)){if(v.startsWith("_")||v==="id")continue;E[v]=String(V??"").length,A=!0}if(A)j.push(E)}U=!0},q=()=>U,K=(N)=>{let B={id:`${I0}${N}`,[N2]:!0,_index:N};if(j.length===0)return B.label=J.repeat(12),B;let P=j[N%j.length];for(let[G,E]of Object.entries(P))B[G]=J.repeat(Math.max(1,E));return B};return{analyzeStructure:Z,hasAnalyzedStructure:q,generate:K,generateRange:(N,B)=>{let P=[];for(let G=N;G<=B;G++)P.push(K(G));return P},clear:()=>{j=[],U=!1}}},q2=($)=>{if(!$||typeof $!=="object")return!1;return $[N2]===!0};var A4=50,P1=($={})=>{let{adapter:J,initialItems:Q,initialTotal:j,storage:U,placeholder:Z,pageSize:q=A4,maxConcurrent:K=0,onStateChange:F,onDataChange:_,onItemsLoaded:N,onItemsEvicted:B,onLoadError:P}=$,G=T1({...U,onEvict:(t,j0)=>{B?.(t),d(),b()}}),E=null,A=()=>{if(!E)E=k1(Z);return E},v=new Map,V=!1,M,L=!0,Y,y,H=[],T=0,I=new Map,g=()=>{for(let t of I.values())t[1].abort();I.clear()},b=()=>{F?.(W())},d=()=>{_?.()},r=()=>{v.clear();let t=G.getLoadedRanges();for(let j0 of t)for(let B0=j0.start;B0<=j0.end;B0++){let K0=G.get(B0);if(K0&&!q2(K0))v.set(K0.id,B0)}},S=(t,j0)=>{if(!q2(j0))v.set(j0.id,t)},e=(t)=>{v.delete(t)},x=(t,j0)=>{return`${t}-${j0}`},o=()=>G.getTotal(),l=()=>G.getCachedCount(),X=()=>V,f=()=>L,W=()=>({total:G.getTotal(),cached:G.getCachedCount(),isLoading:V,pendingRanges:H,error:M,hasMore:L,cursor:Y}),O=()=>G,p=()=>A(),a=(t)=>{let j0=G.get(t);if(j0!==void 0)return j0;if(t>=0&&t<G.getTotal())return A().generate(t);return},c=(t)=>{let j0=v.get(t);if(j0===void 0)return;return G.get(j0)},R=(t)=>{return v.get(t)??-1},z=(t)=>{let j0=G.get(t);return j0!==void 0&&!q2(j0)},n=(t,j0)=>{let B0=[],K0=G.getTotal();G.touchChunksForRange(t,Math.min(j0,K0-1));for(let D0=t;D0<=j0&&D0<K0;D0++){let R0=G.get(D0);if(R0!==void 0)B0.push(R0);else B0.push(A().generate(D0))}return B0},U0=(t)=>{G.setTotal(t),L=G.getCachedCount()<t,d(),b()},D=(t,j0=0,B0)=>{if(J&&t.length>0){let K0=A();if(!K0.hasAnalyzedStructure())K0.analyzeStructure(t)}for(let K0=0;K0<t.length;K0++){let D0=t[K0];if(D0!==void 0){let R0=j0+K0;G.set(R0,D0),S(R0,D0)}}if(B0!==void 0)G.setTotal(B0);else if(j0+t.length>G.getTotal())G.setTotal(j0+t.length);if(G.getCachedCount()>=G.getTotal()&&G.getTotal()>0)L=!1;d(),b(),N?.(t,j0,G.getTotal())},w=(t,j0)=>{let B0=G.get(t);if(!B0)return!1;let K0=B0.id,D0={...B0,...j0};if(G.set(t,D0),j0.id!==void 0&&j0.id!==K0)e(K0);return S(t,D0),d(),b(),!0},k=(t,j0)=>{G.insert(j0,t),r(),g(),d(),b()},h=(t)=>{let j0=v.get(t);if(j0===void 0)return!1;if(!G.delete(j0))return!1;return r(),g(),d(),b(),!0},s=async(t,j0)=>{if(!J)return;let B0=G.chunkSize,K0=Math.floor(t/B0),D0=Math.floor(j0/B0),R0=B0*2;for(let[F0,T0]of I){let z0=F0.indexOf("-"),C=parseInt(F0.slice(0,z0),10);if(Math.abs(C-t)>R0)T0[1].abort(),I.delete(F0)}let P0=[],b0=[];for(let F0=K0;F0<=D0;F0++){let T0=F0*B0,z0=T0+B0-1,C=x(T0,z0);if(G.isChunkFullyLoaded(F0))continue;let Q0=I.get(C);if(Q0)b0.push(Q0[0]);else P0.push({start:T0,end:z0})}if(P0.length===0){if(b0.length>0)await Promise.all(b0);return}if(K>0){let F0=I.size+P0.length;if(F0>K){let T0=(t+j0)/2,z0=Math.min(F0-K,I.size);while(z0>0){let Z0=null,Q0=-1,N0=null;for(let[$0,H0]of I){let E0=$0.indexOf("-"),w0=parseInt($0.slice(0,E0),10),y0=parseInt($0.slice(E0+1),10),X0=Math.abs((w0+y0)/2-T0);if(X0>Q0)Q0=X0,Z0=$0,N0=H0[1]}if(Z0)N0.abort(),I.delete(Z0);z0--}let C=K-I.size;if(P0.length>C)P0.sort((Z0,Q0)=>{let N0=Math.abs((Z0.start+Z0.end)/2-T0),$0=Math.abs((Q0.start+Q0.end)/2-T0);return N0-$0}),P0.length=Math.max(0,C)}}if(P0.length===0){if(b0.length>0)await Promise.all(b0);return}for(let F0 of P0){let T0=x(F0.start,F0.end),z0=new AbortController,C=(async()=>{H.push(F0),V=!0,M=void 0,b();try{let Z0=F0.end-F0.start+1,Q0={offset:F0.start,limit:Z0,cursor:F0.start===y?Y:void 0,signal:z0.signal},N0=await J.read(Q0);if(D(N0.items,F0.start,N0.total),N0.cursor)Y=N0.cursor,y=F0.start+N0.items.length;let $0=F0.start+N0.items.length;if($0>=T){if(T=$0,N0.hasMore!==void 0)L=N0.hasMore;else if(N0.total!==void 0)L=$0<N0.total}}catch(Z0){if(Z0?.name==="AbortError")return;M=Z0 instanceof Error?Z0:Error(String(Z0)),P?.(M,F0)}finally{I.delete(T0);let Z0=H.findIndex((Q0)=>Q0.start===F0.start&&Q0.end===F0.end);if(Z0>=0)H.splice(Z0,1);V=I.size>0,b()}})();I.set(T0,[C,z0]),b0.push(C)}await Promise.all(b0)},J0=async(t,j0)=>{if(G.isRangeLoaded(t,j0))return;await s(t,j0)},M0=async()=>{if(!J)return;await s(0,q-1)},_0=async()=>{if(!J||V||!L)return!1;let t=G.getCachedCount(),j0=G.getTotal(),B0=t,K0=Math.min(B0+q-1,j0>0?j0-1:B0+q-1);if(B0>=j0&&j0>0)return L=!1,!1;return await s(B0,K0),G.getCachedCount()>t},V0=async()=>{if(G.clear(),v.clear(),E)E.clear();g(),H=[],V=!1,Y=void 0,y=void 0,L=!0,T=0,M=void 0,d(),b()},W0=(t,j0)=>{if(G.evictDistant(t,j0)>0)r()},O0=()=>{G.clear(),v.clear(),Y=void 0,y=void 0,M=void 0,H=[],V=!1,d(),b()},u=()=>{if(G.reset(),v.clear(),E)E.clear();Y=void 0,y=void 0,L=!0,T=0,M=void 0,H=[],V=!1,d(),b()};if(Q&&Q.length>0)D(Q,0,j??Q.length);else if(j!==void 0)G.setTotal(j),d(),b();return{getState:W,getTotal:o,getCached:l,getIsLoading:X,getHasMore:f,getStorage:O,getPlaceholders:p,getItem:a,getItemById:c,getIndexById:R,isItemLoaded:z,getItemsInRange:n,setTotal:U0,setItems:D,updateItem:w,insertItem:k,removeItem:h,loadRange:s,ensureRange:J0,loadInitial:M0,loadMore:_0,reload:V0,evictDistant:W0,clear:O0,reset:u}};function E2($){let{adapter:J,total:Q,autoLoad:j=!0,storage:U}=$,Z=$.loading?.cancelThreshold??c2,q=$.loading?.preloadThreshold??m2,K=$.loading?.preloadAhead??x2,F=$.loading?.maxConcurrent??d2,_,N,B,P,G,E,A=null,v=null,V=null,M=0,L=!1,Y=null,y=B2,H=-1,T=-1,I=-1,g=-1,b=U?.chunkSize??$2,d=()=>{if(A=null,v!==null)clearTimeout(v),v=null},r=(W,O)=>{return _.ensureRange(W,O)},S=(W,O=$2)=>{P.emit("load:start",{offset:W,limit:O})},e=(W)=>{P.emit("error",{error:W,context:"ensureRange"})},x=()=>{if(!A)return;A=null;let W={start:N.startIndex,end:N.startIndex+Math.max(0,N.visibleCount-1)};if(W.end<W.start)return;r(W.start,W.end).catch(e)},o=()=>{if(Y!==null)clearTimeout(Y),Y=null},l=()=>{if(N.destroyed)return;let W=_.getTotal();if(N.visibleCount<=0||N.startIndex>=W)return;let O=Math.min(N.startIndex+N.visibleCount-1,W-1);if(O<N.startIndex)return;r(N.startIndex,O).catch(e)},X=()=>{if(Y!==null||N.destroyed)return;Y=setTimeout(()=>{Y=null,l()},y),y=Math.min(y*2,l2)},f=()=>{o(),y=B2};return{name:"data",priority:20,setup(W){N=W.getState(),B=W.sizeCache,P=W.emitter,G=W.dom,E=W.forceRender.bind(W);let O=null;W.setVirtualTotalFn(()=>O?.getTotal()??0),W.setGetIndexByIdFn((a)=>O?.getIndexById(a)??-1),_=O=P1({adapter:J,...Q!==void 0&&{initialTotal:Q},pageSize:U?.chunkSize??$2,maxConcurrent:F,...U&&{storage:{...U.chunkSize!==void 0&&{chunkSize:U.chunkSize},...U.maxCachedItems!==void 0&&{maxCachedItems:U.maxCachedItems},...U.evictionBuffer!==void 0&&{evictionBuffer:U.evictionBuffer}}},onDataChange:()=>{if(N.initialized){let a=_.getTotal(),c=_.getCached();if(N.totalItems=a,a!==H||c!==T)H=a,T=c,B.rebuild(a);W.updateContentSize(B.getTotalSize()),W.renderIfNeeded()}},onItemsLoaded:(a)=>{if(f(),N.initialized)W.updateContentSize(B.getTotalSize()),E(),P.emit("load:end",{items:a,total:_.getTotal()})},onLoadError:(a)=>{if(P.emit("error",{error:a,context:"load"}),N.initialized)W.renderIfNeeded();X()}}),W.setGetItemFn((a)=>_.getItem(a)),W.setRemoveItemFn((a)=>{let c=_.getIndexById(a);if(c<0)return-1;if(!_.removeItem(a))return-1;return c}),W.setInsertItemFn((a,c)=>{_.insertItem(a,c)}),W.setUpdateItemFn((a,c)=>{let R=_.getIndexById(a);if(R<0)return!1;return _.updateItem(R,c)}),W.registerMethod("reload",async()=>{if(A=null,I=-1,g=-1,f(),W.forceRender(),await _.reload(),W.scrollTo(0),j)S(0),await _.loadInitial(),W.forceRender()}),W.registerMethod("loadVisibleRange",async()=>{A=null,W.forceRender();let a=_.getTotal();if(N.visibleCount>0&&N.startIndex<a){let c=Math.min(N.startIndex+N.visibleCount-1,a-1);S(N.startIndex,c-N.startIndex+1),await r(N.startIndex,c)}}),W.registerMethod("loadInitial",async()=>{S(0),await _.loadInitial(),W.forceRender()}),W.registerMethod("getTotal",()=>{return _.getTotal()}),W.registerMethod("setTotal",(a)=>{_.setTotal(a)}),W.registerMethod("_getTotal",()=>_.getTotal()),W.registerMethod("_setTotal",(a)=>{_.setTotal(a)}),W.registerMethod("_cancelAutoLoad",()=>{L=!0}),W.registerMethod("_getLoadedItem",(a)=>{return _.getStorage().get(a)}),W.registerMethod("_getItem",(a)=>{return _.getItem(a)}),W.registerMethod("_getLoadedCount",()=>_.getCached()),P.on("load:start",()=>{G.root.setAttribute("aria-busy","true")}),P.on("load:end",()=>{G.root.removeAttribute("aria-busy")}),W.registerDestroyHandler(()=>{if(V!==null)clearTimeout(V),V=null;d(),o()}),P.on("velocity:change",({velocity:a})=>{M=Math.abs(a)});let p=()=>{if(N.destroyed)return;f(),l(),x()};if(window.addEventListener("online",p),W.registerDestroyHandler(()=>{window.removeEventListener("online",p)}),j)queueMicrotask(()=>{if(L)return;S(0),_.loadInitial().catch((a)=>{P.emit("error",{error:a,context:"loadInitial"})})});else if(Q!==void 0)_.setTotal(Q)},hooks:{onAfterScroll(){if(N.destroyed)return;let W=N.startIndex+Math.max(0,N.visibleCount-1);if(M>Z){if(v!==null)clearTimeout(v),v=null;A={start:N.startIndex,end:W};return}if(M>q){let a=Math.floor(N.startIndex/b),c=Math.floor(W/b);if(a!==I||c!==g){if(I=a,g=c,W>=N.startIndex)r(N.startIndex,W).catch(e)}let R=N.startIndex,z=W,n=N.scrollDirection;if(n>0)z=Math.min(z+K,_.getTotal()-1);else if(n<0)R=Math.max(0,R-K);if(A={start:R,end:z},v!==null)clearTimeout(v);v=setTimeout(()=>{if(v=null,N.destroyed||!A)return;let{start:U0,end:D}=A;if(A=null,D>=U0)r(U0,D).catch(e)},100);return}d();let O=Math.floor(N.startIndex/b),p=Math.floor(W/b);if(O!==I||p!==g){if(I=O,g=p,W>=N.startIndex)r(N.startIndex,W).catch(e)}},onIdle(){if(N.destroyed)return;M=0,I=-1,g=-1,x(),d()},onResize(){if(N.destroyed)return;let W=_.getTotal();if(W<=0)return;if(N.visibleCount<=0||N.startIndex>=W)return;let O=Math.min(N.startIndex+N.visibleCount-1,W-1);if(O<N.startIndex)return;S(N.startIndex,O-N.startIndex+1),r(N.startIndex,O).catch(e)}},destroy(){if(V!==null)clearTimeout(V);d(),o()}}}var b2=($,J)=>{let Q=0,j=$.length-1;while(Q<j){let U=Q+j+1>>>1;if($[U].headerLayoutIndex<=J)Q=U;else j=U-1}return Q},z1=($,J)=>{let Q=0,j=$.length-1;while(Q<j){let U=Q+j+1>>>1;if($[U].firstDataIndex<=J)Q=U;else j=U-1}return Q},w1=($,J,Q)=>{if($===0)return[];let j=[],U=null,Z=0,q=0;for(let K=0;K<$;K++){let F=Q?.(K);if(!F)continue;let _=J(K,F);if(U===null)U=_,Z=0;else if(_!==U){let N=K-Z;j.push({key:U,groupIndex:j.length,headerLayoutIndex:q,firstDataIndex:Z,count:N}),q=q+1+N,U=_,Z=K}}if(U!==null)j.push({key:U,groupIndex:j.length,headerLayoutIndex:q,firstDataIndex:Z,count:$-Z});return j};var y1=($,J,Q)=>{let j=w1($,J.getGroupForIndex,Q),U=$+j.length,Z=J.header?.height??J.header?.width??J.headerHeight;return{get totalEntries(){return U},get groupCount(){return j.length},get groups(){return j},getEntry:(G)=>{if(j.length===0)return{type:"item",dataIndex:G,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let E=b2(j,G),A=j[E];if(G===A.headerLayoutIndex)return{type:"header",group:A};let v=G-A.headerLayoutIndex-1;return{type:"item",dataIndex:A.firstDataIndex+v,group:A}},layoutToDataIndex:(G)=>{if(j.length===0)return G;let E=b2(j,G),A=j[E];if(G===A.headerLayoutIndex)return-1;let v=G-A.headerLayoutIndex-1;return A.firstDataIndex+v},dataToLayoutIndex:(G)=>{if(j.length===0)return G;let E=z1(j,G),A=j[E],v=G-A.firstDataIndex;return A.headerLayoutIndex+1+v},getGroupAtLayoutIndex:(G)=>{if(j.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let E=b2(j,G);return j[E]},getGroupAtDataIndex:(G)=>{if(j.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let E=z1(j,G);return j[E]},getHeaderHeight:typeof Z==="number"?(G)=>Z:(G)=>{let E=j[G];if(!E)return 0;return Z(E.key,G)},rebuild:(G,E)=>{j=w1(G,J.getGroupForIndex,E??Q),U=G+j.length}}};var T2=($,J,Q,j,U=0)=>{let Z=Q?"width":"height",q=document.createElement("div");return q.className=`${J}-sticky-header`,q.setAttribute("role","presentation"),q.setAttribute("aria-hidden","true"),q.style.cssText="z-index:5;pointer-events:none;overflow:hidden;"+(Q?`position:absolute;top:0;bottom:0;left:${U||0}px`:`position:relative;top:${U||0}px`),q.style[Z]=`${j}px`,$.insertBefore(q,$.firstChild),q},v1=($,J,Q,j,U,Z=!1,q=0,K,F)=>{let _=Z?"width":"height",N=Z?"height":"width",B=Z?"X":"Y",P=(D,w)=>{D.style[_]=`${w}px`},G=K??T2($,U,Z,0,q),E=()=>{let D=document.createElement("div");return D.className="sticky-group",D.style.position="absolute",D.style.willChange="transform",D.style[N]="100%",D},A=E(),v=E();G.append(A,v);let V=A,M=v,L=J.groups,Y=[],y=[],H=[],T=0,I=()=>{L=J.groups,T=L.length,Y=Array(T),y=Array(T),H=Array(T);for(let D=0;D<T;D++)Y[D]=F?F(L[D].headerLayoutIndex):Q.getOffset(L[D].headerLayoutIndex),y[D]=J.getHeaderHeight(D),H[D]=y[D]};I();let g=-1,b=0,d=0,r=-1,S=!1,e=0,x=!1,o=(D,w)=>{j(D,w);let k=y[w];return P(D,k),k},l=(D)=>{D.replaceChildren(),D.style.transform=""},X=(D)=>{if(D===g)return;if(g=D,b=0,d=0,D<0||D>=T){l(V);return}b=o(V,D),d=H[D],P(G,b),V.style.transform=""},f=(D)=>{if(D===e)return;e=D;let w=Math.round(D);V.style.transform=`translate${B}(${w}px)`,M.style.transform=`translate${B}(${w+b}px)`},W=()=>{e=0,V.style.transform="",M.style.transform=""},O=()=>{if(!x)return;let D=V;V=M,M=D,g=r,b=g>=0?y[g]:0,d=g>=0?H[g]:0,P(G,b),l(M),r=-1,x=!1,W()},p=()=>{if(!x)return;l(M),r=-1,x=!1,W()},a=!!K,c=()=>{if(S)return;if(S=!0,a)G.style.visibility="";else G.style.display=""},R=()=>{if(!S)return;if(S=!1,a)G.style.visibility="hidden";else G.style.display="none";l(V),g=-1,b=0,d=0,p()},z=(D)=>{if(T===0){if(x)p();if(!S)c();X(-1);return}if(D<Y[0]){R();return}let w=0,k=T-1;while(w<k){let s=w+k+1>>>1;if(Y[s]+H[s]<=D)w=s;else k=s-1}if(!S)c();X(w);let h=w+1;if(h<T){let s=Y[h]-D;if(s<=0&&s>-d){if(r!==h||!x)r=h,o(M,h),x=!0;let J0=d>0?s/d*b:s;f(J0)}else if(s<=-d){if(x)O()}else if(x)p()}else if(x)p()},n=()=>{I();let D=g;if(g=-1,b=0,d=0,D>=0)X(D)},U0=()=>{G.remove(),g=-1,b=0,d=0,r=-1,S=!1,x=!1};if(!K)G.style.display="none";return{update:z,refresh:n,show:c,hide:R,destroy:U0}};var d0={selected:!1,focused:!1},C1=typeof process<"u"&&process.env?.NODE_ENV!=="production";function k2($){if(!$.getGroupForIndex)throw Error("[vlist] groups: getGroupForIndex is required");let J=$.header?.height??$.header?.width??$.headerHeight;if(J==null||typeof J==="number"&&J<=0)throw Error("[vlist] groups: header height/width must be a positive number or function");let Q=$.header?.template??$.headerTemplate;if(!Q)throw Error("[vlist] groups: header.template is required");let j=Q,U,Z=null,q,K,F,_,N,B,P,G=null,E,A,v,V=null,M,L,Y=null,y=null,H=0,T=0,I=0,g=0,b=0,d=!1,r=null,S=new Map,e=new Set,x=new Map,o=-1,l=-1,X=!0,f=-1,W=0,O=null,p;function a(){return U.totalEntries}function c(){let u=K.totalItems;if(u===f)return;if(C1)console.log(`[groups] syncLayout: ${f} → ${u}`);let t=f>0;f=u,U.rebuild(u,G??P),p(U.totalEntries),D();let j0=z?w():q.getTotalSize();if(_.style[E?"width":"height"]=j0+b+"px",Z)Z.refresh(),Z.update(K.scrollPosition);if(t)s();let B0=Y?.("_scrollbar:getInstance");if(B0)B0()?.updateBounds(j0,K.containerSize)}let R=0,z=null,n=null,U0=null;function D(){if(H<=0){z=null,n=null;return}R=((K.crossSize||_.clientWidth)-g-(H-1)*T)/H,z=new Map;let j0=U.totalEntries,B0=Array(j0),K0=0;if(d){let D0=r??((T0)=>q.getSize(T0)),R0=new Float64Array(H),P0=[],b0=0,F0=-1;for(let T0=0;T0<j0;T0++){let z0=U.getEntry(T0);if(z0.type==="header"){let C=0;for(let Q0=0;Q0<H;Q0++)if(R0[Q0]>C)C=R0[Q0];if(F0>=0)P0[F0]=b0+C;b0+=C;let Z0=q.getSize(T0);z.set(T0,{col:-1,rowY:b0}),B0[K0++]=[T0,b0,b0+Z0],b0+=Z0,R0.fill(0),F0=z0.group.groupIndex}else{let C=0,Z0=R0[0];for(let $0=1;$0<H;$0++)if(R0[$0]<Z0)Z0=R0[$0],C=$0;let Q0=D0(z0.dataIndex),N0=b0+R0[C];z.set(T0,{col:C,rowY:N0,h:Q0}),B0[K0++]=[T0,N0,N0+Q0],R0[C]=R0[C]+Q0+T}}if(F0>=0){let T0=0;for(let z0=0;z0<H;z0++)if(R0[z0]>T0)T0=R0[z0];P0[F0]=b0+T0}U0=P0}else{U0=null;let D0=0,R0=0,P0=0;for(let b0=0;b0<j0;b0++)if(U.getEntry(b0).type==="header"){if(R0>0&&P0>0)D0+=P0;let T0=q.getSize(b0);z.set(b0,{col:-1,rowY:D0}),B0[K0++]=[b0,D0,D0+T0],D0+=T0,R0=0,P0=0}else{let T0=R0%H,z0=q.getSize(b0);if(T0===0){if(R0>0&&P0>0)D0+=P0+T;P0=z0}else if(z0>P0)P0=z0;z.set(b0,{col:T0,rowY:D0}),B0[K0++]=[b0,D0,D0+z0],R0++}}B0.length=K0,n=B0}function w(){if(!z||z.size===0)return q.getTotalSize();let u=U.totalEntries;if(d)return U0?.[U0.length-1]??0;let t=0;for(let j0=u-1;j0>=0;j0--){let B0=z.get(j0);if(B0){t=B0.rowY+(B0.h??q.getSize(j0));break}if(U.getEntry(j0).type==="header"){t=q.getOffset(j0)+q.getSize(j0);break}}return t}function k(u){if(z){let j0=z.get(u);if(j0){let B0=j0.col<0?0:I+j0.col*(R+T),K0=j0.rowY;if(E)return`translate(${Math.round(K0)}px, ${Math.round(B0)}px)`;return`translate(${Math.round(B0)}px, ${Math.round(K0)}px)`}}let t=q.getOffset(u);if(E)return`translate(${Math.round(t)}px, 0)`;return`translate(0, ${Math.round(t)}px)`}function h(u,t){let j0=z?.get(t);if(j0){let K0=j0.h??q.getSize(t);if(j0.col<0)if(E)u.style.width=`${K0}px`,u.style.height="";else u.style.height=`${K0}px`,u.style.width="100%";else if(E)u.style.width=`${K0}px`,u.style.height=`${R}px`;else u.style.height=`${K0}px`,u.style.width=`${R}px`;return}let B0=q.getSize(t);if(E)u.style.width=`${B0}px`;else u.style.height=`${B0}px`}function s(){S.forEach((u)=>{u.remove();let t=u.getAttribute("data-id");if(t)x.set(t,u);else F.release(u)}),S.clear(),e.clear()}function J0(){if(x.size>0)x.forEach((u)=>F.release(u)),x.clear()}function M0(u,t,j0,B0){if(y===null)y=!!Y?.("_getSelectedIds");if(t.type==="header"){let F0=`__group_header_${t.group.groupIndex}`;if(u.getAttribute("data-id")===F0)return!0;if(u.className=L,u.setAttribute("role","presentation"),u.removeAttribute("aria-selected"),u.setAttribute("data-id",F0),E&&Z&&t.group.groupIndex===0)u.style.display="none";else{u.style.display="";let T0=j(t.group.key,t.group.groupIndex);if(typeof T0==="string")u.innerHTML=T0;else u.innerHTML="",u.appendChild(T0)}return!0}let K0=t.dataIndex,D0=P(K0);if(!D0)return u.innerHTML="",!1;let R0=D0._isPlaceholder===!0,P0=String(D0.id);if(!R0&&u.getAttribute("data-id")===P0){if(y)u.id=`${A}-item-${B0}`,u.setAttribute("aria-posinset",String(K0+1)),u.setAttribute("aria-setsize",String(K.totalItems));return!0}if(u.className=M,u.setAttribute("role",y?"option":"listitem"),u.setAttribute("data-id",P0),y)u.id=`${A}-item-${B0}`,u.setAttribute("aria-posinset",String(K0+1)),u.setAttribute("aria-setsize",String(K.totalItems));if(R0)u.classList.add(`${A}-item--placeholder`);if(j0)j0(B0,d0);else d0.selected=!1,d0.focused=!1;let b0=B(D0,K0,d0);if(typeof b0==="string")u.innerHTML=b0;else u.innerHTML="",u.appendChild(b0);return u0(u),!R0}let _0=0;function V0(){if(H<=0)return;let u=K.crossSize;if(u===_0)return;_0=u,D();let t=w();if(_.style[E?"width":"height"]=t+b+"px",Z)Z.refresh(),Z.update(K.scrollPosition);X=!0}function W0(){if(K.destroyed)return;c(),V0();let{scrollPosition:u,containerSize:t}=K;if(!X&&u===o&&t===l)return;o=u,l=t;let j0=X;X=!1;let B0=a();if(t<=0||B0===0){if(S.size>0)S.forEach((Q0)=>{Q0.remove(),F.release(Q0)}),S.clear(),e.clear();return}let K0,D0;if(n){let Q0=n,N0=Q0.length,$0=0,H0=N0-1;while($0<H0){let q0=$0+H0>>>1;if(Q0[q0][2]<=u)$0=q0+1;else H0=q0}let E0=$0;H0=N0-1;while($0<H0){let q0=$0+H0+1>>>1;if(Q0[q0][1]>=u+t)H0=q0-1;else $0=q0}let w0=$0,y0=Q0[E0][0],X0=Q0[w0][0];for(let q0=y0-1;q0>=0;q0--)if(U.getEntry(q0).type==="header"){y0=q0;break}let m=v*H;K0=Math.max(0,y0-m),D0=Math.min(B0-1,X0+m)}else{let Q0=q.indexAtOffset(u),N0=q.indexAtOffset(u+t);if(N0<B0-1)N0++;Q0=Math.max(0,Q0),N0=Math.min(B0-1,Math.max(0,N0)),K0=Math.max(0,Q0-v),D0=Math.min(B0-1,N0+v)}if(K0===K.prevRangeStart&&D0===K.prevRangeEnd&&!K.renderPending)return;S.forEach((Q0,N0)=>{if(N0<K0||N0>D0)Q0.remove(),F.release(Q0),S.delete(N0),e.delete(N0)});let R0=V?.()??null,P0=R0?`${A}-item--selected`:"",b0=R0?`${A}-item--focused`:"",F0=null;for(let Q0=K0;Q0<=D0;Q0++){let N0=S.get(Q0),$0=!1;if(N0===void 0){let H0=U.getEntry(Q0);$0=H0.type==="header";let E0;if(H0.type==="header")E0=`__group_header_${H0.group.groupIndex}`;else{let y0=P(H0.dataIndex);if(y0&&y0._isPlaceholder!==!0)E0=String(y0.id)}if(E0!==void 0){let y0=x.get(E0);if(y0)x.delete(E0),N0=y0}if(!N0)N0=F.acquire();if(N0.setAttribute("data-index",String(Q0)),M0(N0,H0,R0,Q0))e.delete(Q0);else e.add(Q0);if(h(N0,Q0),N0.style.transform=k(Q0),S.set(Q0,N0),!F0)F0=document.createDocumentFragment();F0.appendChild(N0)}else if(j0&&e.has(Q0)){let H0=U.getEntry(Q0);if(H0.type==="item")if(M0(N0,H0,R0,Q0))e.delete(Q0);else e.add(Q0)}else if($0=N0.classList.contains(L),j0)h(N0,Q0),N0.style.transform=k(Q0);if(!$0&&R0)if(R0(Q0,d0),N0.classList.toggle(P0,d0.selected),N0.classList.toggle(b0,d0.focused),d0.selected)N0.setAttribute("aria-selected","true");else N0.removeAttribute("aria-selected")}if(F0)_.appendChild(F0);J0();let T0=z?w():q.getTotalSize();_.style[E?"width":"height"]=T0+b+"px",K.prevRangeStart=K0,K.prevRangeEnd=D0,K.renderPending=!1;let z0=0,C=0,Z0=!1;for(let Q0=K0;Q0<=D0&&z0<K.capacity;Q0++){let N0=U.getEntry(Q0);if(N0.type==="item"){if(!Z0)C=N0.dataIndex,Z0=!0;K.visibleIndices[z0]=N0.dataIndex,K.visibleOffsets[z0]=q.getOffset(Q0),K.visibleSizes[z0]=q.getSize(Q0),z0++}}K.visibleCount=z0,K.startIndex=C}function O0(){if(K.destroyed)return;if(V0(),C1)console.log(`[groups] forceRender, placeholders: ${e.size}, rendered: ${S.size}`);let u=O?.()??0;if(u!==W){W=u;let t=U.groups,j0=t.length;U.rebuild(f,G??P);let B0=U.groups,K0=B0.length!==j0;if(!K0){for(let D0=0;D0<j0;D0++)if(B0[D0].headerLayoutIndex!==t[D0].headerLayoutIndex){K0=!0;break}}if(K0){p(U.totalEntries),D();let D0=z?w():q.getTotalSize();if(_.style[E?"width":"height"]=D0+"px",Z)Z.refresh(),Z.update(K.scrollPosition);let R0=1/0,P0=Math.min(j0,B0.length);for(let F0=0;F0<P0;F0++)if(B0[F0].headerLayoutIndex!==t[F0].headerLayoutIndex){R0=Math.min(B0[F0].headerLayoutIndex,t[F0].headerLayoutIndex);break}if(B0.length>j0&&P0<B0.length)R0=Math.min(R0,B0[P0].headerLayoutIndex);else if(j0>B0.length&&P0<j0)R0=Math.min(R0,t[P0].headerLayoutIndex);if(R0<=K.prevRangeEnd)s();let b0=Y?.("_scrollbar:getInstance");if(b0)b0()?.updateBounds(D0,K.containerSize)}}K.prevRangeStart=-1,K.prevRangeEnd=-1,K.renderPending=!0,X=!0,W0()}return{name:"groups",priority:10,setup(u){q=u.sizeCache,K=u.getState(),F=u.pool,_=u.dom.content,N=u.dom.root,B=u.template,E=u.config.axis.primary==="x",A=u.config.classPrefix,v=u.config.overscan,b=u.config.mainAxisPadding,P=u.getItem.bind(u),V=()=>u.getItemStateFn(),Y=u.getMethod.bind(u),y=null,M=`${A}-item`,L=`${A}-group-header`;let t=Y?.("getGridLayout"),j0=Y?.("getMasonryLayout");if(t){let C=t();H=C.columns,T=C.gap,I=u.config.crossPadStart,g=u.config.crossAxisPadding}else if(j0){let C=j0();H=C.columns,T=C.gap,I=u.config.crossPadStart,g=u.config.crossAxisPadding,d=!0;let Z0=u.rawSizeSpec;if(typeof Z0==="function")r=(Q0)=>{return Z0(Q0,{columnWidth:R})}}queueMicrotask(()=>{let C=Y?.("_getLoadedItem");if(C)G=C;let Z0=Y?.("_getLoadedCount");if(Z0)O=Z0});let B0=K.totalItems;U=y1(B0,$,G??P),f=B0;let K0=typeof J==="number"?(C)=>J:(C)=>{let Z0=U.groups[C];if(!Z0)return 0;return J(Z0.key,C)},D0=q.getSize,R0=(C)=>{let Z0=U.getEntry(C);if(Z0.type==="header"){if($.sticky!==!1&&Z0.group.groupIndex===0)return 0;return K0(Z0.group.groupIndex)}return D0(Z0.dataIndex)};u.setSizeConfig(R0);let P0=!1,b0=-1;if(u.registerMethod("_setSizeCacheBase",(C)=>{p=C}),p=q.rebuild,q.rebuild=(C)=>{if(P0){if(!O)O=Y?.("_getLoadedCount")??null;let Z0=O?.()??0;if(C!==f||Z0!==b0){if(f=C,b0=Z0,!G)G=Y?.("_getLoadedItem")??null;if(U.rebuild(C,G??((Q0)=>u.getItems()[Q0])),K.totalItems=U.totalEntries,Z)Z.refresh(),Z.update(K.scrollPosition)}}p(U.totalEntries)},q.rebuild(U.totalEntries),D(),u.setVirtualTotalFn(()=>U.totalEntries),N.classList.add(`${A}--grouped`),$.sticky!==!1){let C=($0,H0)=>{let E0=U.groups[H0];if(!E0)return;let w0=j(E0.key,H0);if(typeof w0==="string")$0.innerHTML=w0;else $0.replaceChildren(w0)},Z0=U.getHeaderHeight(0),Q0=T2(N,A,E,Z0),N0=H>0?($0)=>{let H0=z?.get($0);return H0?H0.rowY:q.getOffset($0)}:void 0;if(Z=v1(N,U,q,C,A,E,0,Q0,N0),Z.update(K.scrollPosition),!E)u.dom.viewport.style.height=`calc(100% - ${Z0}px)`;else u.dom.viewport.style.width=`calc(100% - ${Z0}px)`,u.dom.viewport.style.marginLeft=`${Z0}px`}let F0=!!Y?.("_updateTableForGroups");if(P0=F0,F0)queueMicrotask(()=>{let C=Y?.("_getItem")??null,Z0=u.getItems.bind(u);u.setGetItemFn((N0)=>{let $0=U.getEntry(N0);if($0.type==="header")return{id:`__group_header_${$0.group.groupIndex}`,__groupHeader:!0,groupKey:$0.group.key,groupIndex:$0.group.groupIndex};return C?C($0.dataIndex):Z0()[$0.dataIndex]});let Q0=Y?.("_updateTableForGroups");if(Q0)Q0((N0)=>!!N0.__groupHeader,j)});else u.setRenderFn(W0,O0);u.registerMethod("getGroupLayout",()=>U),u.registerMethod("_dataToLayoutIndex",(C)=>U.dataToLayoutIndex(C)),u.registerMethod("_layoutToDataIndex",(C)=>U.layoutToDataIndex(C)),u.registerMethod("_getRenderedElement",(C)=>S.get(C)??null),u.registerMethod("_isGroupHeader",(C)=>{return U.getEntry(C).type==="header"}),u.registerMethod("_getItemLane",(C)=>{let Z0=z?.get(C);return Z0?Z0.col:-1}),u.registerMethod("_getItemY",(C)=>{let Z0=z?.get(C);return Z0?Z0.rowY:-1}),u.registerMethod("_getItemH",(C)=>{return z?.get(C)?.h??-1});let T0=u.config.startPadding,z0=b-T0;u.registerMethod("_scrollItemIntoView",(C)=>{if(C<0)return;let Z0=z?.get(C),Q0=Z0?Z0.rowY:q.getOffset(C),N0=Z0?.h??q.getSize(C),$0=K.containerSize,H0=K.scrollPosition;if(Q0<H0+T0)u.scrollTo(Math.max(0,Q0-T0));else if(Q0+N0+z0>H0+$0)u.scrollTo(Q0+N0+z0-$0)}),u.registerMethod("scrollToIndex",(C,Z0="start")=>{let Q0=U.dataToLayoutIndex(C),N0=U.totalEntries;if(N0===0)return;let $0=Math.max(0,Math.min(Q0,N0-1)),H0=K.containerSize,E0=z?.get($0),w0=E0?E0.rowY:q.getOffset($0),y0=E0?E0.h??q.getSize($0):q.getSize($0),X0=z?w()+b:q.getTotalSize(),m=Math.max(0,X0-H0),q0=typeof Z0==="string"?Z0:Z0.align??"start",Y0=typeof Z0==="object"?Z0.behavior:void 0,L0=typeof Z0==="object"?Z0.duration:void 0,k0=z?b:0,G0=w0+y0;if(d&&U0){let A0=U.getEntry($0).group.groupIndex,v0=U0[A0];if(v0!==void 0)G0=v0}let i;switch(q0){case"center":i=w0-(H0-y0)/2;break;case"end":i=G0-H0+k0;break;default:i=w0}if(i=Math.max(0,Math.min(i,m)),Y0==="smooth"&&L0&&L0>0)u.smoothScrollTo(i,L0);else u.scrollTo(i)}),u.registerDestroyHandler(()=>{for(let[,C]of S)C.remove();if(S.clear(),e.clear(),Z)Z.destroy(),Z=null;N.classList.remove(`${A}--grouped`)})},hooks:{onAfterScroll(u,t){if(Z)Z.update(u)},onResize(u,t){if(H<=0)return;p(U.totalEntries),_0=K.crossSize,D();let j0=w();if(_.style[E?"width":"height"]=j0+b+"px",Z)Z.refresh(),Z.update(K.scrollPosition);X=!0,W0()}},destroy(){if(Z)Z.destroy(),Z=null;S.clear(),e.clear(),x.clear()}}}var S1=($,J=50,Q=1/0,j=!0,U="none")=>{let Z=$,q=[],K=0,F=0,_=()=>{q=Z.map((L,Y)=>({def:L,index:Y,width:0,minWidth:D4(L.minWidth??J,1),maxWidth:L.maxWidth??Q,resizable:L.resizable??j,offset:0}))},N=()=>{if(U==="none"||K<=0||K>=F)return;if(U==="spacer"){K=F;return}let L=F-K,Y=K;for(let y=0;y<q.length;y++){let H=q[y];H.width=Y2(H.width+L*(H.width/Y),H.minWidth,H.maxWidth)}P()},B=(L)=>{if(F=L,q.length===0){K=0;return}let Y=0,y=0;for(let H=0;H<q.length;H++){let T=q[H],I=T.def;if(I.width!==void 0)T.width=Y2(I.width,T.minWidth,T.maxWidth),Y+=T.width;else y++}if(y){let T=Math.max(0,L-Y)/y;for(let I=0;I<q.length;I++){let g=q[I];if(g.def.width===void 0)g.width=Y2(T,g.minWidth,g.maxWidth)}}P(),N()},P=()=>{let L=0;for(let Y=0;Y<q.length;Y++){let y=q[Y];y.offset=L,L+=y.width}K=L},G=(L,Y)=>{if(L<0||L>=q.length)return 0;let y=q[L];if(!y.resizable)return y.width;let H=Y2(Y,y.minWidth,y.maxWidth);if(y.width=H,P(),U==="spacer")N();return H},E=(L)=>{return q[L]},A=(L)=>{if(q.length===0)return;if(L<0)return q[0];if(L>=K)return q[q.length-1];let Y=0,y=q.length-1;while(Y<y){let H=Y+y>>>1,T=q[H];if(L<T.offset)y=H-1;else if(L>=T.offset+T.width)Y=H+1;else return T}return q[Y]},v=(L)=>{if(L<0||L>=q.length)return 0;return q[L].offset},V=(L)=>{if(L<0||L>=q.length)return 0;return q[L].width},M=(L)=>{Z=L,_()};return _(),{get columns(){return q},get totalWidth(){return K},resolve:B,updateColumns:M,resizeColumn:G,getColumn:E,getColumnAtX:A,getColumnOffset:v,getColumnWidth:V}},Y2=($,J,Q)=>Math.min(Q,Math.max(J,$)),D4=($,J)=>Math.max(J,$);var h1=($,J,Q,j,U,Z)=>{let q=document.createElement("div");q.setAttribute("role","rowgroup");let K=document.createElement("div");K.className=`${Q}-table-header`,K.setAttribute("role","row"),K.setAttribute("aria-rowindex","1"),K.style.height=`${J}px`;let F=document.createElement("div");F.className=`${Q}-table-header-scroll`,F.setAttribute("role","presentation"),K.appendChild(F),q.appendChild(K),$.insertBefore(q,$.firstChild),$.style.setProperty("--vlist-table-header-height",`${J}px`);let _=[],N=[],B=!0,P=null,G="asc",E=null,A=!1,v=-1,V=0,M=0,L=0,Y=(X,f)=>{let W=document.createElement("div");W.className=`${Q}-table-header-cell`,W.setAttribute("role","columnheader"),W.setAttribute("aria-colindex",String(f+1)),W.setAttribute("tabindex",f===0?"0":"-1"),W.dataset.columnKey=X.def.key;let O=X.def.align;if(O==="center")W.classList.add(`${Q}-table-header-cell--center`);else if(O==="right")W.classList.add(`${Q}-table-header-cell--right`);let p=document.createElement("div");p.className=`${Q}-table-header-content`;let a=X.def.header?X.def.header(X.def):X.def.label;if(typeof a==="string")p.textContent=a;else p.appendChild(a);if(W.appendChild(p),X.def.sortable){let c=document.createElement("span");c.className=`${Q}-table-header-sort`,c.setAttribute("aria-hidden","true"),W.appendChild(c),N.push(c),W.classList.add(`${Q}-table-header-cell--sortable`)}else N.push(null);if(X.resizable){let c=document.createElement("div");c.className=`${Q}-table-header-resize`,c.dataset.resizeIndex=String(f),W.appendChild(c)}return W},y=(X)=>{E=X,F.textContent="",_=[],N=[];let f=X.columns;for(let W=0;W<f.length;W++){let O=f[W],p=Y(O,W);_.push(p),F.appendChild(p)}if(H(X),P)T(P,G)},H=(X)=>{E=X;let f=X.columns;F.style.width=`${X.totalWidth}px`;for(let W=0;W<_.length&&W<f.length;W++){let O=_[W],p=f[W];O.style.width=`${p.width}px`}},T=(X,f)=>{if(P=X,G=f,!E)return;let W=E.columns;for(let O=0;O<N.length&&O<W.length;O++){let p=N[O];if(!p)continue;if(W[O].def.key===X)p.textContent=f==="asc"?"▲":"▼",p.style.opacity="0.7",_[O].setAttribute("aria-sort",f==="asc"?"ascending":"descending");else p.textContent="",p.style.opacity="0",_[O].removeAttribute("aria-sort")}},I=(X)=>{F.style.transform=`translateX(${-X}px)`},g=(X)=>{let f=X.target;if(!f.dataset.resizeIndex)return;if(X.preventDefault(),X.stopPropagation(),v=+f.dataset.resizeIndex,!E)return;let W=E.getColumn(v);if(!W?.resizable)return;A=!0,V=X.clientX,M=W.width,$.classList.add(`${Q}--col-resizing`),$.style.cursor="col-resize",f.classList.add(`${Q}-table-header-resize--active`),f.setPointerCapture(X.pointerId),f.addEventListener("pointermove",b),f.addEventListener("pointerup",d),f.addEventListener("pointercancel",d)},b=(X)=>{if(!A||!E)return;let f=X.clientX-V;if(Math.abs(f)<1)return;let W=Math.max(0,M+f);j(v,W)},d=(X)=>{if(!A)return;let f=X.target;f.removeEventListener("pointermove",b),f.removeEventListener("pointerup",d),f.removeEventListener("pointercancel",d);try{f.releasePointerCapture(X.pointerId)}catch{}f.classList.remove(`${Q}-table-header-resize--active`),$.classList.remove(`${Q}--col-resizing`),$.style.cursor="",A=!1,v=-1},r=(X)=>{let f=X.target;if(f.dataset.resizeIndex)return;if(A)return;let W=f;while(W&&!W.dataset.columnKey)if(W=W.parentElement,W===K||W===null)return;let O=W.dataset.columnKey;if(!E)return;let p=E.columns,a=-1;for(let R=0;R<p.length;R++)if(p[R].def.key===O){a=R;break}if(a===-1)return;let c=p[a];if(Z)Z({key:O,index:a,event:X});if(c.def.sortable&&U){let R;if(P===O)R=G==="asc"?"desc":null;else R="asc";U({key:O,index:a,direction:R})}},S=(X)=>{if(X<0||X>=_.length)return;_[L]?.setAttribute("tabindex","-1"),L=X;let f=_[L];f.setAttribute("tabindex","0"),f.focus()},e=(X)=>{let f=X.key;if(f==="ArrowRight"){if(X.ctrlKey||X.metaKey){if(!E)return;let W=E.getColumn(L);if(W?.resizable)j(L,W.width+10),X.preventDefault()}else if(L<_.length-1)S(L+1),X.preventDefault();X.stopPropagation();return}if(f==="ArrowLeft"){if(X.ctrlKey||X.metaKey){if(!E)return;let W=E.getColumn(L);if(W?.resizable)j(L,W.width-10),X.preventDefault()}else if(L>0)S(L-1),X.preventDefault();X.stopPropagation();return}if(f==="Home"){S(0),X.preventDefault(),X.stopPropagation();return}if(f==="End"){S(_.length-1),X.preventDefault(),X.stopPropagation();return}if(f==="Enter"||f===" "){if(!E)return;let W=E.getColumn(L);if(W?.def.sortable&&U){let O;if(P===W.def.key)O=G==="asc"?"desc":null;else O="asc";U({key:W.def.key,index:L,direction:O}),X.preventDefault()}X.stopPropagation();return}if(f==="ArrowDown"){$.focus(),X.preventDefault(),X.stopPropagation();return}};return K.addEventListener("pointerdown",g),K.addEventListener("click",r),K.addEventListener("keydown",e),{element:K,update:H,updateSort:T,rebuild:y,show:()=>{if(B)return;B=!0,K.style.display=""},hide:()=>{if(!B)return;B=!1,K.style.display="none"},destroy:()=>{K.removeEventListener("pointerdown",g),K.removeEventListener("click",r),K.removeEventListener("keydown",e),$.style.removeProperty("--vlist-table-header-height"),q.remove(),_=[],N=[],E=null,B=!1},syncScroll:I}};var H4=()=>{let $=[];return{acquire:()=>$.pop()||document.createElement("div"),release:(J)=>{if(J.parentNode?.removeChild(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="",$.push(J)},clear:()=>{$.length=0}}},I1=($,J,Q,j,U,Z,q,K,F,_=()=>0)=>{let N=H4(),B=new Map,P=-1,G=Q,E=null,A=null,v=null,V=(w,k)=>{A=w,v=k},M=(w,k)=>{k?w.setAttribute("aria-selected","true"):w.removeAttribute("aria-selected")},L=(w,k,h,s)=>{w.setAttribute("role",k),w.setAttribute("data-id",String(h)),w.setAttribute("data-index",String(s))},Y=(w)=>String(w).startsWith("__placeholder_"),y=`${U}-item ${U}-table-row`,H=`${U}-item--selected`,T=`${U}-item--focused`,I=`${U}-table-cell`,g=`${U}-table-cell--center`,b=`${U}-table-cell--right`,d=`${U}-table-cell-skeleton`,r=`${U}-item--odd`,S=`${U}-item--placeholder`,e=`${U}-item--replaced`,x=`${U}-table-row ${U}-table-group-header`,o=`${U}-table-group-header-content`,l=(w,k,h,s,J0=!1)=>{if(h.def.cell){let M0=h.def.cell(k,h.def,s);if(typeof M0==="string")w.innerHTML=M0;else w.replaceChildren(M0)}else{let M0=k[h.def.key],_0=M0!=null?String(M0):"";if(J0&&_0)w.innerHTML=`<span>${_0}</span>`;else w.textContent=_0}if(J0&&w.firstElementChild===null){w.replaceChildren();let M0=document.createElement("span");M0.className=d,w.appendChild(M0)}},X=(w,k,h,s,J0=!1)=>{let M0=y;if(K){if(E){let _0=E(k);if(_0>=0&&(_0&1)===1)M0+=` ${r}`}else if((k&1)===1)M0+=` ${r}`}if(J0)M0+=` ${S}`;if(h)M0+=` ${H}`;if(s)M0+=` ${T}`;w.className=M0},f=(w,k)=>{let h=k.def.align;if(h==="center")w.classList.add(g),w.classList.remove(b);else if(h==="right")w.classList.add(b),w.classList.remove(g);else w.classList.remove(g,b)},W=(w,k)=>{let s=G.columns.length;if(k.length===s)return k;let J0=[];for(let M0=0;M0<s;M0++){let _0;if(M0<k.length)_0=k[M0];else _0=document.createElement("div"),_0.className=I,w.appendChild(_0);J0.push(_0)}for(let M0=s;M0<k.length;M0++)k[M0].remove();return J0},O=(w,k,h)=>{let s=N.acquire(),J0=w,M0=h.getSize(k),_0=h.getOffset(k)-_();s.style.cssText=`width:${G.totalWidth}px;height:${M0}px;transform:translateY(${_0}px)`,s.className=x,L(s,"presentation",w.id,k),s.removeAttribute("aria-selected"),s.removeAttribute("aria-rowindex"),s.replaceChildren();let V0=document.createElement("div");if(V0.className=o,v){let W0=v(J0.groupKey,J0.groupIndex);if(typeof W0==="string")V0.innerHTML=W0;else V0.appendChild(W0)}return s.appendChild(V0),{element:s,cells:[],index:k,isGroupHeader:!0,_lastItem:w,lastItemId:w.id,lastSelected:!1,lastFocused:!1,lastOffset:_0,lastHeight:M0}},p=(w,k,h,s,J0)=>{let M0=N.acquire(),_0=J0.getSize(k),V0=J0.getOffset(k)-_(),W0=Y(w.id);M0.style.cssText=`width:${G.totalWidth}px;height:${_0}px;transform:translateY(${V0}px)`,X(M0,k,h,s,W0),L(M0,"row",w.id,k),M0.id=`${Z}-item-${k}`,M0.setAttribute("aria-rowindex",String(k+2)),M(M0,h);let O0=W(M0,[]),u=G.columns;for(let t=0;t<O0.length&&t<u.length;t++){let j0=O0[t],B0=u[t];j0.style.cssText=`left:${B0.offset}px;width:${B0.width}px`,j0.setAttribute("role","gridcell"),j0.setAttribute("aria-colindex",String(t+1)),f(j0,B0),l(j0,w,B0,k,W0)}return{element:M0,cells:O0,index:k,isGroupHeader:!1,_lastItem:w,lastItemId:w.id,lastSelected:h,lastFocused:s,lastOffset:V0,lastHeight:_0}},a=(w,k,h,s)=>{let J0=!1,M0=q();if(M0!==P)P=M0,J0=!0;let _0=null,V0=J();E=typeof K==="string"&&F?F():null;for(let W0=k.start;W0<=k.end;W0++){let O0=W0-k.start,u=w[O0];if(!u)continue;let t=h.has(u.id),j0=W0===s,B0=A?A(u):!1,K0=B.get(W0);if(K0){if(K0.isGroupHeader!==B0){N.release(K0.element),B.delete(W0);let D0=B0?O(u,W0,V0):p(u,W0,t,j0,V0);if(B.set(W0,D0),!_0)_0=document.createDocumentFragment();_0.appendChild(D0.element);continue}if(B0){if(K0._lastItem!==u){let b0=u,F0=K0.element.firstElementChild;if(F0&&v){let T0=v(b0.groupKey,b0.groupIndex);if(typeof T0==="string")F0.innerHTML=T0;else F0.replaceChildren(T0)}K0.element.setAttribute("data-id",String(u.id)),K0._lastItem=u,K0.lastItemId=u.id}let R0=V0.getOffset(W0)-_();if(K0.lastOffset!==R0)K0.lastOffset=R0,K0.element.style.transform=`translateY(${R0}px)`;let P0=V0.getSize(W0);if(K0.lastHeight!==P0)K0.lastHeight=P0,K0.element.style.height=`${P0}px`}else{let D0=K0._lastItem!==u,R0=K0.lastSelected!==t,P0=K0.lastFocused!==j0;if(D0){let T0=K0.lastItemId!=null&&Y(K0.lastItemId),z0=Y(u.id);if(!z0&&n0(h,W0,u.id))t=!0;let C=G.columns;for(let Z0=0;Z0<K0.cells.length&&Z0<C.length;Z0++)l(K0.cells[Z0],u,C[Z0],W0,z0);if(X(K0.element,W0,t,j0,z0),K0.element.setAttribute("data-id",String(u.id)),M(K0.element,t),T0&&!z0)K0.element.classList.add(e),setTimeout(()=>{K0.element.classList.remove(e)},300);K0._lastItem=u,K0.lastItemId=u.id,K0.lastSelected=t,K0.lastFocused=j0}else if(R0||P0)X(K0.element,W0,t,j0,Y(u.id)),M(K0.element,t),K0.lastSelected=t,K0.lastFocused=j0;let b0=V0.getOffset(W0)-_();if(K0.lastOffset!==b0)K0.lastOffset=b0,K0.element.style.transform=`translateY(${b0}px)`;let F0=V0.getSize(W0);if(K0.lastHeight!==F0)K0.lastHeight=F0,K0.element.style.height=`${F0}px`;if(J0)K0.element.setAttribute("aria-rowindex",String(W0+2))}}else{if(n0(h,W0,u.id))t=!0;let D0=B0?O(u,W0,V0):p(u,W0,t,j0,V0);if(B.set(W0,D0),!_0)_0=document.createDocumentFragment();_0.appendChild(D0.element)}}if(_0)$.appendChild(_0);for(let[W0,O0]of B)if(W0<k.start||W0>k.end)N.release(O0.element),B.delete(W0)},c=(w,k,h,s)=>{let J0=B.get(w);if(!J0)return;if(J0.isGroupHeader)return;let M0=G.columns;for(let _0=0;_0<J0.cells.length&&_0<M0.length;_0++)l(J0.cells[_0],k,M0[_0],w);J0.element.setAttribute("data-id",String(k.id)),J0._lastItem=k,J0.lastItemId=k.id,X(J0.element,w,h,s),M(J0.element,h),J0.lastSelected=h,J0.lastFocused=s},R=(w,k,h)=>{let s=B.get(w);if(!s)return;if(s.isGroupHeader)return;let J0=s.lastSelected!==k,M0=s.lastFocused!==h;if(J0||M0)X(s.element,w,k,h),M(s.element,k),s.lastSelected=k,s.lastFocused=h},z=(w)=>{G=w;let k=w.columns;for(let[,h]of B)if(h.element.style.width=`${w.totalWidth}px`,h.cells.length>0)for(let s=0;s<h.cells.length&&s<k.length;s++){let J0=h.cells[s],M0=k[s];J0.style.left=`${M0.offset}px`,J0.style.width=`${M0.width}px`}},n=(w)=>{return B.get(w)?.element},U0=()=>{for(let[,w]of B)N.release(w.element);B.clear(),P=-1};return{render:a,updateItem:c,updateItemClasses:R,getElement:n,updateColumnLayout:z,setGroupHeaderFn:V,clear:U0,destroy:()=>{U0(),N.clear()}}};var O4=new Set;function P2($){if(!$.columns?.length)throw Error("[vlist] table: columns must be a non-empty array");if($.rowHeight===void 0&&$.estimatedRowHeight===void 0)throw Error("[vlist] table: either rowHeight or estimatedRowHeight is required");let J=null,Q=null,j=null,U,Z,q=null,K=null,F=null,_=!1,N=-1,B=-1;function P(){if(_||!q)return;_=!0,K=q.getMethod("_getSelectedIds")??null,F=q.getMethod("_getFocusedIndex")??null}let G=[],E={start:0,end:0};function A(){if(U.destroyed||!q||!j||!J)return;let{containerSize:V,totalItems:M}=U;if(V<=0||M===0)return;let L=M+1;if(L!==N)N=L,q.dom.root.setAttribute("aria-rowcount",`${L}`);let Y=U.scrollPosition,y=q.config.overscan,H=Z.indexAtOffset(Y),T=Z.indexAtOffset(Y+V);if(T<M-1)T++;H=Math.max(0,H),T=Math.min(M-1,T);let I=Math.max(0,H-y),g=Math.min(M-1,T+y);if(I===U.prevRangeStart&&g===U.prevRangeEnd&&!U.renderPending)return;P();let b=K?.()??O4,d=F?.()??-1;G.length=0;for(let e=I;e<=g;e++){let x=q.getItem(e);if(x)G.push(x)}E.start=I,E.end=g,j.render(G,E,b,d),U.prevRangeStart=I,U.prevRangeEnd=g,U.renderPending=!1;let r=g-I+1;U.visibleCount=Math.min(r,U.capacity),U.startIndex=I;for(let e=0;e<U.visibleCount;e++){let x=I+e;U.visibleIndices[e]=x,U.visibleOffsets[e]=Z.getOffset(x),U.visibleSizes[e]=Z.getSize(x)}let S=Z.getTotalSize();if(S!==B)B=S,q.updateContentSize(S)}function v(){if(U.destroyed)return;B=-1,U.prevRangeStart=-1,U.prevRangeEnd=-1,U.renderPending=!0,A()}return{name:"table",priority:10,conflicts:["grid","masonry"],setup(V){q=V,U=V.getState(),Z=V.sizeCache;let{dom:M,config:L,emitter:Y}=V,{classPrefix:y}=L;if(L.axis.primary==="x")throw Error("[vlist] table: cannot be used with horizontal orientation");if(L.reverse)throw Error("[vlist] table: cannot be used with reverse mode");let H=$.resizable??!0,T=$.minColumnWidth??50,I=$.maxColumnWidth??1/0,g=$.fillWidth===!1?"none":$.fillWidth===!0?"stretch":$.fillWidth??"spacer",b=$.rowBorders??!0,d=$.rowHeight,r=$.headerHeight??(typeof d==="number"?d:40),S=$.sort?.key??null,e=$.sort?.direction??"asc";if(J=S1($.columns,T,I,H,g),typeof d==="function"||typeof d==="number")V.setSizeConfig(d);if(V.rebuildSizeCache(),M.root.classList.add(`${y}--table`),b)M.root.classList.add(`${y}--table-row-borders`);if($.columnBorders)M.root.classList.add(`${y}--table-col-borders`);queueMicrotask(()=>{if(V.getMethod("_getSelectedIds"))M.root.setAttribute("tabindex","0")}),M.root.setAttribute("role","grid"),M.root.setAttribute("aria-colcount",`${$.columns.length}`),M.viewport.setAttribute("role","none"),M.content.setAttribute("role","rowgroup");let x=U.crossSize;J.resolve(x);let o=()=>{if(!J)return;M.content.style.minWidth=`${J.totalWidth}px`},l=(p,a)=>{if(!J)return;let c=J.getColumn(p);if(!c)return;let R=c.width,z=J.resizeColumn(p,a);Q?.update(J),j?.updateColumnLayout(J),o(),Y.emit("column:resize",{key:c.def.key,index:p,previousWidth:R,width:z})},X=(p)=>{S=p.direction===null?null:p.key,e=p.direction??"asc",Q?.updateSort(S,e),Y.emit("column:sort",p)};if(Q=h1(M.root,r,y,l,X),Q.rebuild(J),S)Q.updateSort(S,e);o(),j=I1(M.content,()=>Z,J,$.columns,y,y,()=>U.totalItems,L.striped||void 0,void 0,()=>U.baseOffset),V.setRenderFn(A,v);let f=Q,W=-1,O=()=>{let p=M.viewport.scrollLeft;if(p!==W)W=p,f?.syncScroll?.(p)};M.viewport.addEventListener("scroll",O,{passive:!0}),V.registerMethod("updateColumns",(p)=>{if(!J||!Q)return;if(J.updateColumns(p),J.resolve(U.crossSize),Q.rebuild(J),S)Q.updateSort(S,e);o(),j?.updateColumnLayout(J),j?.clear(),V.forceRender()}),V.registerMethod("resizeColumn",(p,a)=>{if(!J)return;let c;if(typeof p==="string"){let R=J.columns;c=-1;for(let z=0;z<R.length;z++)if(R[z].def.key===p){c=z;break}if(c===-1)return}else c=p;l(c,a)}),V.registerMethod("getColumnWidths",()=>{if(!J)return{};let p={},a=J.columns;for(let c=0;c<a.length;c++)p[a[c].def.key]=a[c].width;return p}),V.registerMethod("setSort",(p,a)=>{S=p,e=a??"asc",Q?.updateSort(S,e)}),V.registerMethod("getSort",()=>{return{key:S,direction:e}}),V.registerMethod("_getTableLayout",()=>J),V.registerMethod("_getTableHeaderHeight",()=>r),V.registerMethod("_updateRenderedItem",(p,a,c,R)=>{j?.updateItem(p,a,c,R)}),V.registerMethod("_replaceTableRenderer",(p)=>{j=p}),V.registerMethod("_updateTableForGroups",(p,a)=>{j?.setGroupHeaderFn(p,a)}),V.registerMethod("_updateItemClasses",(p,a,c)=>{j?.updateItemClasses(p,a,c)}),V.registerKeydownHandler((p)=>{if(p.key!=="ArrowLeft"&&p.key!=="ArrowRight")return;if(!J)return;let a=J.columns;if(a.length===0)return;let c=M.viewport.clientWidth;if(J.totalWidth<=c)return;let R=M.viewport.scrollLeft;if(p.key==="ArrowRight"){for(let z=0;z<a.length;z++)if(a[z].offset>R+1){M.viewport.scrollLeft=a[z].offset,p.preventDefault();return}}else{for(let z=a.length-1;z>=0;z--)if(a[z].offset<R-1){M.viewport.scrollLeft=a[z].offset,p.preventDefault();return}if(R>0)M.viewport.scrollLeft=0,p.preventDefault()}}),V.registerDestroyHandler(()=>{M.viewport.removeEventListener("scroll",O),Q?.destroy(),Q=null,j?.destroy(),j=null,M.content.style.minWidth="",M.root.classList.remove(`${y}--table`),M.root.classList.remove(`${y}--table-row-borders`),M.root.classList.remove(`${y}--table-col-borders`),M.root.removeAttribute("role"),M.root.removeAttribute("aria-colcount"),M.root.removeAttribute("aria-rowcount"),M.root.removeAttribute("tabindex"),M.viewport.removeAttribute("role"),M.content.removeAttribute("role")})},hooks:{onResize(V,M){if(!J||!q)return;let L=U.crossSize;if(J.resolve(L),Q?.update(J),j?.updateColumnLayout(J),J)q.dom.content.style.minWidth=`${J.totalWidth}px`},onAfterScroll(){if(!q||!Q)return;Q?.syncScroll?.(q.dom.viewport.scrollLeft)}},destroy(){Q?.destroy(),Q=null,j?.destroy(),j=null,q=null}}}function z2($){let J=$?.handle??null,Q=$?.ghostClass??"vlist-sort-ghost",j=$?.shiftDuration??150,U=$?.edgeScrollZone??40,Z=$?.edgeScrollSpeed??20,q=$?.dragThreshold??5,K=$?.ghostContainer??null,F,_,N=null,B,P,G,E,A,v,V,M,L,Y,y=!1,H=-1,T=-1,I=0,g=0,b=0,d=0,r=!1,S=null,e=0,x=null,o=0,l=0,X=0,f=null,W=!1,O="",p=-1,a=-1,c=[],R="",z=null,n=null,U0="",D=!1,w=(m)=>{return m.closest("[data-index]")},k=(m)=>{let q0=m.dataset.index;return q0===void 0?-1:+q0},h=(m)=>{let q0=m.getBoundingClientRect(),Y0=m.cloneNode(!0);return Y0.className=`${E}-item ${Q}`,Y0.removeAttribute("data-index"),Y0.style.cssText=`position:fixed;pointer-events:none;z-index:10000;width:${q0.width}px;height:${q0.height}px;left:${q0.left}px;top:${q0.top}px;transition:none;will-change:transform`,(K||document.body).appendChild(Y0),Y0},s=()=>{if(!S)return;S.style.left=`${b-l}px`,S.style.top=`${d-X}px`},J0=()=>{let m=F.totalItems;if(m===0)return 0;let q0=P.getBoundingClientRect(),Y0=F.scrollPosition,L0=A?b-l-q0.left+P.scrollLeft+Y0:d-X-q0.top+Y0,k0=L0+o,G0=_.getOffset(H)+_.getSize(H);if(k0>G0){let A0=_.indexAtOffset(k0),v0=_.getOffset(A0)+_.getSize(A0)/2,C0=k0>v0?A0:A0-1;return Math.min(Math.max(C0,H),m-1)}let i=_.getOffset(H);if(L0<i){let A0=_.indexAtOffset(L0),v0=_.getOffset(A0)+_.getSize(A0)/2,C0=L0<v0?A0:A0+1;return Math.max(Math.min(C0,H),0)}return H},M0=()=>{let m=B.children,q0=o;for(let Y0=0;Y0<m.length;Y0++){let L0=m[Y0],k0=k(L0);if(k0<0||k0===H)continue;let G0=0;if(T>H){if(k0>H&&k0<=T)G0=-q0}else if(T<H){if(k0>=T&&k0<H)G0=q0}let i=_.getOffset(k0),A0=Math.round(i+G0);L0.style.transition=V,L0.style.transform=`${v}(${A0}px)`}},_0=()=>{let m=B.children;for(let q0=0;q0<m.length;q0++){let Y0=m[q0],L0=k(Y0);if(L0>=0)Y0.style.transform=`${v}(${Math.round(_.getOffset(L0))}px)`;Y0.style.transition=""}},V0=()=>{if(!N)return;let m=J0();if(m===T)return;T=m,M0(),N.emitter.emit("sort:move",{fromIndex:H,currentIndex:T})},W0=()=>{let m=P.getBoundingClientRect();if(A)return b<m.left||b>m.right;return d<m.top||d>m.bottom},O0=()=>{let m=N?.getMethod("_getFocusedIndex");return m?m():-1},u=(m)=>{let q0=N?.getMethod("_focusById");if(q0)q0(m)},t=(m)=>{if(!N)return;let q0=A?P.clientWidth:P.clientHeight,Y0=F.scrollPosition,L0=_.getOffset(m),k0=L0+_.getSize(m);if(L0<Y0)N.scrollTo(Math.max(0,L0));else if(k0>Y0+q0)N.scrollTo(k0-q0)},j0=(m)=>{if(!n)return;n.textContent="",n.offsetHeight,n.textContent=m},B0=(m)=>{if(!N)return"";let Y0=N.getItems()[m];if(!Y0)return"";return B.querySelector(`[data-index="${m}"]`)?.textContent?.trim()||String(Y0.id)},K0=()=>String(F.totalItems),D0=(m)=>{let q0=B.children;for(let Y0=0;Y0<q0.length;Y0++)q0[Y0].style.transition=m},R0=()=>{let m=()=>{if(!y||!N)return;let q0=P.getBoundingClientRect(),Y0=0,L0=3;if(A){let G0=b-q0.left,i=q0.right-b;if(G0<U){let A0=Math.min(L0,1-G0/U);Y0=-Z*A0*A0}else if(i<U){let A0=Math.min(L0,1-i/U);Y0=Z*A0*A0}}else{let G0=d-q0.top,i=q0.bottom-d;if(G0<U){let A0=Math.min(L0,1-G0/U);Y0=-Z*A0*A0}else if(i<U){let A0=Math.min(L0,1-i/U);Y0=Z*A0*A0}}let k0=W0();if(Y0!==0){let G0=F.scrollPosition,i=_.getTotalSize()-(A?P.clientWidth:P.clientHeight);if(Y0<0&&G0<=0||Y0>0&&G0>=i)D=k0;else D=!0,N.scrollTo(G0+Y0)}else D=k0;e=requestAnimationFrame(m)};e=requestAnimationFrame(m)},P0=()=>{if(e)cancelAnimationFrame(e),e=0},b0=(m=!1)=>{if(y=!1,r=!1,S&&S.parentNode)S.remove();S=null,x=null;let q0=B.children;for(let L0=0;L0<q0.length;L0++){let k0=q0[L0];k0.classList.remove(Y);let G0=k(k0);if(G0>=0)k0.style.transform=`${v}(${Math.round(_.getOffset(G0))}px)`;k0.style.transition=""}P0(),G.classList.remove(M),document.body.style.cursor="";let Y0=window.getSelection();if(Y0)Y0.removeAllRanges();if(document.removeEventListener("pointermove",z0),document.removeEventListener("pointerup",C),document.removeEventListener("pointercancel",Q0),!m&&N)N.forceRender()},F0=(m,q0)=>{if(!N)return;let Y0=m!==q0&&m>=0&&q0>=0,L0=()=>{if(!N)return;if(y=!1,Y0){if(G.classList.add(L),N.emitter.emit("sort:end",{fromIndex:m,toIndex:q0}),f!==null)u(f);b0(!0),requestAnimationFrame(()=>G.classList.remove(L))}else G.classList.add(L),N.emitter.emit("sort:cancel",{originalItems:[...N.getItems()]}),b0(!1),requestAnimationFrame(()=>G.classList.remove(L))};if(!S){L0();return}let k0=P.getBoundingClientRect(),G0=F.scrollPosition,i=_.getOffset(q0),A0=j>0?j:150;if(S.style.transition=`left ${A0}ms ease, top ${A0}ms ease`,A)S.style.left=`${k0.left-P.scrollLeft+i-G0}px`,S.style.top=`${k0.top}px`;else S.style.left=`${k0.left}px`,S.style.top=`${k0.top+i-G0}px`;let v0=!1,C0=()=>{if(v0)return;v0=!0,S?.removeEventListener("transitionend",C0),L0()};S.addEventListener("transitionend",C0),setTimeout(C0,A0+50)},T0=(m)=>{if(F.destroyed||!N)return;if(y)return;if(W)w0();if(m.button!==0)return;let q0=m.target;if(J){if(!q0.closest(J))return}let Y0=w(q0);if(!Y0)return;let L0=k(Y0);if(L0<0)return;I=m.clientX,g=m.clientY,b=m.clientX,d=m.clientY,H=L0,r=!1,x=Y0;let k0=Y0.getBoundingClientRect();l=m.clientX-k0.left,X=m.clientY-k0.top,document.addEventListener("pointermove",z0),document.addEventListener("pointerup",C),document.addEventListener("pointercancel",Q0)};function z0(m){if(!N)return;if(b=m.clientX,d=m.clientY,!r){let q0=b-I,Y0=d-g;if(Math.sqrt(q0*q0+Y0*Y0)<q)return;if(r=!0,y=!0,T=H,G.classList.add(M),document.body.style.cursor="grabbing",o=_.getSize(H),x)S=h(x),x.classList.add(Y);let L0=O0();if(L0>=0){let G0=N.getItems()[L0];f=G0?G0.id:null}else f=null;N.emitter.emit("sort:start",{index:H}),R0()}if(y){if(m.preventDefault(),s(),!D)V0();else if(W0()){if(T!==H)T=H,_0()}}}function C(m){if(!r){document.removeEventListener("pointermove",z0),document.removeEventListener("pointerup",C),document.removeEventListener("pointercancel",Q0),x=null;return}m.preventDefault(),document.removeEventListener("pointermove",z0),document.removeEventListener("pointerup",C),document.removeEventListener("pointercancel",Q0),P0(),F0(H,T)}let Z0=()=>{if(!r)return;document.removeEventListener("pointermove",z0),document.removeEventListener("pointerup",C),document.removeEventListener("pointercancel",Q0),P0(),_0(),F0(H,H)};function Q0(){Z0()}let N0=()=>{let m=B.querySelectorAll(`.${U0}`);for(let q0=0;q0<m.length;q0++)m[q0].classList.remove(U0)},$0=()=>{N0();let m=B.querySelector(`[data-id="${O}"]`);if(m)m.classList.add(U0)},H0=(m)=>{if(!N)return;let q0=N.getItems(),Y0=q0[m];if(!Y0)return;W=!0,O=Y0.id,p=m,a=m,c=[...q0],G.classList.add(M),N.emitter.emit("sort:start",{index:m}),$0(),j0(`Grabbed ${B0(m)}. Current position ${m+1} of ${K0()}. Use Up and Down arrow keys to move, Space to drop, Escape to cancel.`)},E0=()=>{if(!W||!N)return;W=!1;let m=a,q0=B0(m);D0("none"),G.classList.remove(M),N0(),u(O),N.forceRender(),j0(`${q0} dropped. Final position ${m+1} of ${K0()}.`),c=[],requestAnimationFrame(()=>D0(""))},w0=()=>{if(!W||!N)return;W=!1;let m=p;if(D0("none"),G.classList.remove(M),N0(),a!==m)N.emitter.emit("sort:cancel",{originalItems:c});u(O),N.forceRender(),t(m),j0(`Reorder cancelled. Returned to position ${m+1} of ${K0()}.`),c=[],requestAnimationFrame(()=>D0(""))},y0=(m)=>{if(!W||!N)return;let q0=F.totalItems,Y0=a+m;if(Y0<0||Y0>=q0)return;let L0=a,k0=Y0;D0("none"),N.emitter.emit("sort:end",{fromIndex:L0,toIndex:k0}),a=k0,u(O),N.forceRender(),t(k0),$0(),j0(`${B0(k0)} moved. New position ${k0+1} of ${K0()}.`),requestAnimationFrame(()=>D0(""))},X0=(m)=>{if(F.destroyed)return;if(y){if(m.key==="Escape")m.preventDefault(),m.stopImmediatePropagation(),Z0();return}if(W)switch(m.key){case" ":case"Enter":m.preventDefault(),m.stopImmediatePropagation(),E0();return;case"Escape":m.preventDefault(),m.stopImmediatePropagation(),w0();return;case"ArrowUp":case"ArrowLeft":m.preventDefault(),m.stopImmediatePropagation(),y0(-1);return;case"ArrowDown":case"ArrowRight":m.preventDefault(),m.stopImmediatePropagation(),y0(1);return;default:if(!m.key.startsWith("F")&&m.key!=="Tab")m.preventDefault(),m.stopImmediatePropagation();return}if(m.key===" "&&!m.shiftKey&&!m.ctrlKey&&!m.metaKey){let q0=O0();if(q0>=0)m.preventDefault(),m.stopImmediatePropagation(),H0(q0)}};return{name:"sortable",priority:30,conflicts:["grid","masonry","table","scale","tree"],setup(m){N=m,F=m.getState(),_=m.sizeCache,B=m.dom.content,P=m.dom.viewport,G=m.dom.root,E=m.config.classPrefix,A=m.config.axis.primary==="x",v=A?"translateX":"translateY",V=j>0?`transform ${j}ms ease`:"none",M=`${E}--sorting`,L=`${E}--settling`,Y=`${E}-item--drag-source`,U0=`${E}-item--kb-sorting`,m.registerMethod("isSorting",()=>y||W),B.addEventListener("pointerdown",T0),G.addEventListener("keydown",X0),R=`${E}-sort-instructions`,z=document.createElement("div"),z.id=R,z.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.textContent="Press Space to reorder. Use arrow keys to move, Space to drop, Escape to cancel.",G.appendChild(z),n=document.createElement("div"),n.setAttribute("role","status"),n.setAttribute("aria-live","assertive"),n.setAttribute("aria-atomic","true"),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",G.appendChild(n),m.registerDestroyHandler(()=>{if(W)w0();b0(),B.removeEventListener("pointerdown",T0),G.removeEventListener("keydown",X0),z?.remove(),n?.remove()})},hooks:{onCommit(){if(!N)return;let m=B.children;for(let q0=0;q0<m.length;q0++){let Y0=m[q0],L0=k(Y0);if(L0<0)continue;if(Y0.setAttribute("aria-roledescription","sortable item"),Y0.setAttribute("aria-describedby",R),W)if(Y0.getAttribute("data-id")===String(O))Y0.classList.add(U0);else Y0.classList.remove(U0);if(y)if(L0===H)Y0.classList.add(Y),x=Y0;else{Y0.classList.remove(Y);let k0=0;if(T>H){if(L0>H&&L0<=T)k0=-o}else if(T<H){if(L0>=T&&L0<H)k0=o}let G0=Math.round(_.getOffset(L0)+k0);Y0.style.transform=`${v}(${G0}px)`}}}},destroy(){if(S&&S.parentNode)S.remove();S=null,P0(),z?.remove(),n?.remove(),N=null}}}function w2($,J){let Q=[],j=J,U=new Map,Z=[];function q(){U.clear();for(let H=0;H<Q.length;H++)U.set(Q[H].id,H)}function K(H){let T=Q[H].depth,I=0;for(let g=H+1;g<Q.length;g++){if(Q[g].depth<=T)break;I++}return I}function F(H,T,I,g){for(let b=0;b<H.length;b++){let d=H[b],r=d.id,S=$(d),e=S.length>0,x=e&&j.has(r);if(g.push({item:d,id:r,depth:I,parentId:T,hasChildren:e,expanded:x,childCount:S.length,siblingCount:H.length,positionInSiblings:b,isLastChild:b===H.length-1,loading:!1}),x)F(S,r,I+1,g)}}function _(H,T,I){for(let g of H){if(g.id===T)return g;let b=$(g);if(b.length>0){I?.push(g.id);let d=_(b,T,I);if(d)return d;I?.pop()}}return}function N(H,T){if(T===null)return Z;let I=_(Z,T);return I?$(I):[]}function B(H,T){let I=_(Z,T);if(!I)return!1;return _($(I),H)!==void 0}function P(H){let T=new Set;function I(g){for(let b of g){if(T.has(b.id))throw Error(`[vlist] tree: duplicate id "${b.id}"`);T.add(b.id);let d=$(b);if(d.length>0)I(d)}}I(H)}function G(H,T){if(Z=H,!T)P(H);Q.length=0,F(H,null,0,Q),q()}function E(H){let T=U.get(H);if(T===void 0)return 0;let I=Q[T];if(!I.hasChildren||I.expanded)return 0;let g=[],b=$(I.item);if(F(b,H,I.depth+1,g),g.length===0)return 0;I.expanded=!0,j.add(H);let d=T+1,r=Q.splice(d);for(let S=0;S<g.length;S++)Q.push(g[S]);for(let S=0;S<r.length;S++)Q.push(r[S]);return q(),g.length}function A(H){let T=U.get(H);if(T===void 0)return 0;let I=Q[T];if(!I.hasChildren||!I.expanded)return 0;I.expanded=!1,j.delete(H);let g=K(T);if(g>0)Q.splice(T+1,g),q();return g}function v(H){function T(I){for(let g of I){let b=$(g);if(b.length>0)j.add(g.id),T(b)}}T(H),G(H)}function V(){j.clear(),G(Z,!0)}function M(H){let T=[];if(!_(Z,H,T))return;for(let I of T)j.add(I);G(Z,!0)}function L(H,T,I){if(U.has(T.id)||_(Z,T.id))throw Error(`[vlist] tree: duplicate id "${T.id}"`);if(H===null){let S=Z,e=I??S.length;S.splice(e,0,T),G(Z,!0);return}let g=U.get(H);if(g===void 0)throw Error(`[vlist] tree: parent "${H}" not found`);let b=Q[g],d=$(b.item),r=I??d.length;if(d.splice(r,0,T),!b.hasChildren)b.hasChildren=!0,b.childCount=1,b.expanded=!1;else b.childCount=d.length;if(b.expanded)G(Z,!0);else q()}function Y(H){let T=U.get(H);if(T===void 0)return 0;let I=Q[T],b=K(T)+1;for(let S=T;S<T+b;S++)j.delete(Q[S].id);if(Q.splice(T,b),I.parentId!==null){let S=U.get(I.parentId);if(S!==void 0){let e=Q[S];if(e.childCount--,e.childCount===0)e.hasChildren=!1,e.expanded=!1,j.delete(e.id)}}let d=N(H,I.parentId),r=d.findIndex((S)=>S.id===H);if(r>=0)d.splice(r,1);return G(Z,!0),b}function y(H,T,I){if(T!==null&&B(T,H))throw Error(`[vlist] tree: cannot move "${H}" to its own descendant "${T}"`);if(H===T)throw Error(`[vlist] tree: cannot move "${H}" to itself`);let g=U.get(H);if(g===void 0)return;let b=Q[g],d=N(H,b.parentId),r=d.findIndex((S)=>S.id===H);if(r>=0)d.splice(r,1);if(T===null){let S=Z,e=I??S.length;S.splice(e,0,b.item)}else{let S=_(Z,T);if(!S)throw Error(`[vlist] tree: new parent "${T}" not found`);let e=$(S),x=I??e.length;e.splice(x,0,b.item)}G(Z,!0)}return{flatNodes:Q,expandedIds:j,idToIndex:U,rebuild:G,expand:E,collapse:A,expandAll:v,collapseAll:V,expandTo:M,getSubtreeSize:K,addChild:L,removeNode:Y,moveNode:y,get totalVisible(){return Q.length},get rootItems(){return Z}}}var L4=()=>[];function F4($){let{children:J,parentId:Q}=$;if(Q!==void 0)return L4;if(J===void 0||J==="children")return(j)=>j.children??[];if(typeof J==="string"){let j=J;return(U)=>U[j]??[]}return J}function R4($){let{label:J}=$;if(J===void 0)return(Q)=>{let j=Q;return String(j.name??j.label??j.title??Q.id)};if(typeof J==="string"){let Q=J;return(j)=>String(j[Q]??j.id)}return J}function E4($,J,Q){let{expanded:j}=$,U=new Set;if(j===void 0||j===!1)return U;if(Array.isArray(j)){for(let K of j)U.add(K);return U}let Z=j===!0?null:j;function q(K){for(let F of K){let _=Q(F);if(_.length>0){if(!Z||Z(F))U.add(F.id);q(_)}}}return q(J),U}function f1($,J){let{parentId:Q}=J;if(Q===void 0)throw Error("[vlist] tree: parentId not set");let j=typeof Q==="string"?(K)=>K[Q]??null:Q,U=(K)=>j(K)??null,Z=new Map,q=new Map;for(let K of $){q.set(K.id,K);let F=U(K),_=Z.get(F);if(!_)_=[],Z.set(F,_);_.push(K)}for(let K of $){let F=U(K);if(F!==null&&F!==void 0&&!q.has(F))console.warn(`[vlist] tree: orphaned node "${K.id}" — parentId "${F}" not found`)}return{roots:Z.get(null)??[],getChildren:(K)=>{let F=Z.get(K.id);if(!F)F=[],Z.set(K.id,F);return F}}}var g0={selected:!1,focused:!1},l0={depth:0,expanded:!1,hasChildren:!1,isLeaf:!0,isLastChild:!1,loading:!1};g0.tree=l0;function y2($){let J=$??{},Q=J.indent??24,j=J.paddingStart??0,U=J.expandOnClick??!1,Z=J.connectorLines??!1,q=J.parentId!==void 0,K,F,_,N,B,P,G,E,A,v,V=null,M,L,Y,y,H,T,I,g,b,d,r=new Map,S=-1,e=-1,x=-1,o=!0,l=null,X=!1,f,W=-1,O=!1,p=!1,a="",c=null;function R(){if(p){let C=M("_getFocusedIndex");return C?C():-1}return O?W:-1}let z,n,U0;function D(){if(n!==void 0)return;z=M("select")??null,n=M("_focusById")??null,U0=M("_isFollowFocus")??null}function w(C){if(C<0||C>=K.totalVisible)return;let Z0=K.flatNodes[C];if(!Z0)return;if(p){if(D(),n)n(Z0.id);if(U0?.()&&z)z(Z0.id);else s();k(C)}else W=C,O=!0,B.setAttribute("aria-activedescendant",`${A}-item-${C}`),k(C),s()}function k(C){let Z0=F.getOffset(C),Q0=F.getSize(C),N0=_.scrollPosition,$0=_.containerSize;if(Z0<N0)h(Z0);else if(Z0+Q0>N0+$0)h(Z0-$0+Q0)}let h,s,J0;function M0(C){return E?`translate(${Math.round(C)}px, 0)`:`translate(0, ${Math.round(C)}px)`}function _0(C){if(C===x)return;x=C,B.style[E?"width":"height"]=C+"px"}function V0(){r.forEach((C)=>{C.remove(),N.release(C)}),r.clear()}let W0=0;function O0(){let C=J0();if(C===l&&C.length===W0)return;if(l=C,W0=C.length,q){let{roots:Z0,getChildren:Q0}=f1(C,J),N0=J.loadChildren?($0)=>j0.get($0.id)??Q0($0):Q0;K=w2(N0,K.expandedIds),K.rebuild(Z0,!0)}else K.rebuild(C,!0);u(),V0()}function u(){_.totalItems=K.totalVisible,f(K.totalVisible);let C=F.getTotalSize();_0(C);let Z0=M("_scrollbar:getInstance");if(Z0)Z0()?.updateBounds(C,_.containerSize)}function t(){u(),V0(),s()}let j0=new Map,B0=new Set;async function K0(C){if(!J.loadChildren||B0.has(C))return;let Z0=K.idToIndex.get(C);if(Z0===void 0)return;let Q0=K.flatNodes[Z0];B0.add(C),Q0.loading=!0,queueMicrotask(()=>s());try{let N0=await J.loadChildren(Q0.item);B0.delete(C);let $0=K.idToIndex.get(C);if($0===void 0)return;let H0=K.flatNodes[$0];if(H0.loading=!1,j0.set(C,N0),H0.hasChildren=N0.length>0,H0.childCount=N0.length,N0.length>0)H0.expanded=!0,K.expandedIds.add(C),K.rebuild(K.rootItems);t(),L.emit("tree:load",{id:C,item:H0.item,children:N0})}catch(N0){B0.delete(C),j0.set(C,[]);let $0=K.idToIndex.get(C);if($0!==void 0)K.flatNodes[$0].loading=!1;s(),L.emit("tree:load:error",{id:C,item:Q0.item,error:N0})}}function D0(C){let Z0=K.idToIndex.get(C);if(Z0===void 0)return;let Q0=K.flatNodes[Z0];if(J.loadChildren&&!Q0.hasChildren&&!Q0.loading){if(!j0.has(C)){K0(C);return}}if(K.expand(C)===0)return;t(),L.emit("tree:expand",{id:C,item:Q0.item,depth:Q0.depth})}function R0(C){let Z0=K.idToIndex.get(C);if(Z0===void 0)return;let Q0=K.flatNodes[Z0],N0=K.collapse(C);if(N0===0)return;if(!p&&W>Z0){if(W<=Z0+N0)W=Z0;else W-=N0;if(O)B.setAttribute("aria-activedescendant",`${A}-item-${W}`)}t(),L.emit("tree:collapse",{id:C,item:Q0.item,depth:Q0.depth})}function P0(C,Z0,Q0,N0){let{depth:$0,expanded:H0,hasChildren:E0,loading:w0,siblingCount:y0,positionInSiblings:X0,isLastChild:m,id:q0}=Z0;if(C.className=y,H0)C.classList.add(H);if(!E0)C.classList.add(T);if(w0)C.classList.add(I);if(Z&&m)C.classList.add(g);if(C.setAttribute("role","treeitem"),C.setAttribute("data-index",String(Q0)),C.setAttribute("data-id",String(q0)),C.id=`${A}-item-${Q0}`,C.setAttribute("aria-level",String($0+1)),C.setAttribute("aria-setsize",String(y0)),C.setAttribute("aria-posinset",String(X0+1)),E0)C.setAttribute("aria-expanded",String(H0));else C.removeAttribute("aria-expanded");if(C.style.paddingLeft=`${j+$0*Q}px`,C.style.setProperty("--vlist-tree-depth",String($0)),Z)C.style.setProperty("--vlist-tree-indent",`${Q}px`),C.style.setProperty("--vlist-tree-pad",`${j}px`);if(N0)N0(Q0,g0);else g0.selected=!1,g0.focused=!1;l0.depth=$0,l0.expanded=H0,l0.hasChildren=E0,l0.isLeaf=!E0,l0.isLastChild=m,l0.loading=w0;let Y0=G(Z0.item,Q0,g0);if(typeof Y0==="string")C.innerHTML=Y0;else C.innerHTML="",C.appendChild(Y0);u0(C)}function b0(){if(_.destroyed)return;if(O0(),!X){if(X=!0,B.setAttribute("role","tree"),B.setAttribute("tabindex","0"),P.classList.add(`${A}--tree`),Z)P.classList.add(`${A}--tree-lines`)}let{scrollPosition:C,containerSize:Z0}=_;if(!o&&C===S&&Z0===e)return;S=C,e=Z0,o=!1;let Q0=K.totalVisible;if(Z0<=0||Q0===0){if(r.size>0)V0();return}let N0=F.indexAtOffset(C),$0=F.indexAtOffset(C+Z0);if($0<Q0-1)$0++;N0=Math.max(0,N0),$0=Math.min(Q0-1,Math.max(0,$0));let H0=Math.max(0,N0-v),E0=Math.min(Q0-1,$0+v);if(H0===_.prevRangeStart&&E0===_.prevRangeEnd&&!_.renderPending)return;r.forEach((m,q0)=>{if(q0<H0||q0>E0)m.remove(),N.release(m),r.delete(q0)});let w0=V?.()??null,y0=null;for(let m=H0;m<=E0;m++){let q0=K.flatNodes[m],Y0=r.get(m);if(Y0===void 0){if(Y0=N.acquire(),P0(Y0,q0,m,w0),Y0.style[E?"width":"height"]=`${F.getSize(m)}px`,r.set(m,Y0),!y0)y0=document.createDocumentFragment();y0.appendChild(Y0)}else if(Y0.getAttribute("data-id")!==String(q0.id)||Y0.classList.contains(I)!==q0.loading)P0(Y0,q0,m,w0);if(Y0.style.transform=M0(F.getOffset(m)),w0)if(w0(m,g0),Y0.classList.toggle(b,g0.selected),Y0.classList.toggle(d,g0.focused),g0.selected)Y0.setAttribute("aria-selected","true");else Y0.removeAttribute("aria-selected");else if(!p){let L0=O&&W===m;Y0.classList.toggle(d,L0)}}if(y0)B.appendChild(y0);_0(F.getTotalSize()),_.prevRangeStart=H0,_.prevRangeEnd=E0,_.renderPending=!1;let X0=0;for(let m=H0;m<=E0&&X0<_.capacity;m++)_.visibleIndices[X0]=m,_.visibleOffsets[X0]=F.getOffset(m),_.visibleSizes[X0]=F.getSize(m),X0++;_.visibleCount=X0,_.startIndex=H0}function F0(){if(_.destroyed)return;_.prevRangeStart=-1,_.prevRangeEnd=-1,_.renderPending=!0,o=!0,b0()}function T0(C,Z0){if(a+=C.toLowerCase(),c!==null)clearTimeout(c);c=setTimeout(()=>{a="",c=null},500);let Q0=K.totalVisible;for(let N0=1;N0<=Q0;N0++){let $0=(Z0+N0)%Q0,H0=K.flatNodes[$0];if(Y(H0.item).toLowerCase().startsWith(a)){w($0);return}}}function z0(C){let Z0=!1;for(let Q0 of K.flatNodes)if(Q0.parentId===C.parentId&&Q0.hasChildren&&!Q0.expanded)K.expandedIds.add(Q0.id),Z0=!0;if(!Z0)return;K.rebuild(K.rootItems,!0),t()}return{name:"tree",priority:10,conflicts:["groups","grid","masonry","table"],setup(C){F=C.sizeCache,_=C.getState(),N=C.pool,B=C.dom.content,P=C.dom.root,G=C.template,E=C.config.axis.primary==="x",A=C.config.classPrefix,v=C.config.overscan,L=C.emitter,V=C.getItemStateFn.bind(C),M=C.getMethod.bind(C),h=C.scrollTo.bind(C),s=C.forceRender.bind(C),J0=C.getItems.bind(C),y=`${A}-item ${A}-tree-node`,H=`${A}-tree-node--expanded`,T=`${A}-tree-node--leaf`,I=`${A}-tree-node--loading`,g=`${A}-tree-node--last`,b=`${A}-item--selected`,d=`${A}-item--focused`;let Z0=C.getItems();l=Z0,W0=Z0.length;let Q0,N0;if(q){let X0=f1(Z0,J);Q0=X0.getChildren,N0=X0.roots}else Q0=F4(J),N0=Z0;let $0=J.loadChildren?(X0)=>j0.get(X0.id)??Q0(X0):Q0;Y=R4(J);let H0=E4(J,N0,$0);K=w2($0,H0),K.rebuild(N0),f=F.rebuild,F.rebuild=(X0)=>{f(K.totalVisible)},F.rebuild(K.totalVisible),_.totalItems=K.totalVisible,C.setVirtualTotalFn(()=>K.totalVisible),C.setGetItemFn((X0)=>{let m=K.flatNodes[X0];return m?m.item:void 0}),C.setGetIndexByIdFn((X0)=>{return K.idToIndex.get(X0)??-1}),C.setRenderFn(b0,F0),C.registerMethod("_layoutToDataIndex",(X0)=>X0),C.registerMethod("_dataToLayoutIndex",(X0)=>X0),C.registerMethod("_getLoadedItem",(X0)=>{let m=K.flatNodes[X0];return m?m.item:void 0}),C.registerMethod("_getRenderedElement",(X0)=>r.get(X0)??null),queueMicrotask(()=>{p=!!(M("_getFocusedIndex")||C.getItemStateFn())}),C.setInsertItemFn((X0,m)=>{let q0=J0(),Y0=Math.min(m,q0.length);q0.splice(Y0,0,X0),W0=q0.length,K.rebuild(q0),t()}),C.setRemoveItemFn((X0)=>{let m=K.idToIndex.get(X0),q0=null;if(q&&m!==void 0){q0=new Set,q0.add(X0);let L0=K.getSubtreeSize(m);for(let k0=m+1;k0<=m+L0;k0++)q0.add(K.flatNodes[k0].id)}let Y0=K.removeNode(X0);if(Y0===0)return-1;if(!p&&m!==void 0&&W>=m)W=Math.max(0,Math.min(W-Y0,K.totalVisible-1));if(q&&q0){let L0=J0();for(let k0=L0.length-1;k0>=0;k0--)if(q0.has(L0[k0].id))L0.splice(k0,1)}return W0=J0().length,t(),L.emit("data:change",{type:"remove",id:X0}),Y0}),C.setUpdateItemFn((X0,m)=>{let q0=K.idToIndex.get(X0);if(q0===void 0)return!1;let Y0=K.flatNodes[q0];Object.assign(Y0.item,m);let L0=r.get(q0);if(L0)P0(L0,Y0,q0,V?.()??null);return L.emit("data:change",{type:"update",id:X0}),!0}),C.registerClickHandler((X0)=>{let m=X0.target.closest("[data-index]");if(!m)return;let q0=parseInt(m.dataset.index??"-1",10);if(q0<0)return;let Y0=K.flatNodes[q0];if(!Y0)return;let L0=Y0.id,k0=!1;if(U&&(Y0.hasChildren||J.loadChildren&&!Y0.loading&&!j0.has(L0))){let G0=K.totalVisible;if(Y0.expanded)R0(L0);else D0(L0);k0=K.totalVisible!==G0}if(p&&k0){if(D(),n)n(L0);if(z)z(L0)}else if(!p)W=K.idToIndex.get(L0)??q0,O=!1,B.focus({preventScroll:!0})});let E0=()=>{if(_.destroyed||p)return;if(!B.matches(":focus-visible")&&!P.matches(":focus-visible"))return;let X0=K.totalVisible;if(X0===0)return;W=W>=0?Math.min(W,X0-1):0,O=!0,B.setAttribute("aria-activedescendant",`${A}-item-${W}`),k(W),F0()};P.addEventListener("focusin",E0);let w0=(X0)=>{if(_.destroyed||p)return;let m=X0.relatedTarget;if(m&&P.contains(m))return;O=!1,B.removeAttribute("aria-activedescendant"),F0()};P.addEventListener("focusout",w0),C.registerKeydownHandler((X0)=>{if(_.destroyed)return;let m=K.totalVisible;if(m===0)return;let q0=R();if(q0<0&&!p&&(X0.key==="ArrowDown"||X0.key==="Home")){w(0),X0.preventDefault();return}if(q0<0)return;let Y0=K.flatNodes[q0];if(!Y0)return;switch(X0.key){case"ArrowRight":{if(Y0.hasChildren||J.loadChildren&&!Y0.loading)if(!Y0.expanded)D0(Y0.id);else w(q0+1);X0.preventDefault();break}case"ArrowLeft":{if(Y0.hasChildren&&Y0.expanded)R0(Y0.id);else if(Y0.parentId!==null){let L0=K.idToIndex.get(Y0.parentId);if(L0!==void 0)w(L0)}X0.preventDefault();break}case"*":{z0(Y0),X0.preventDefault();break}default:{if(!p){if(X0.key==="ArrowDown"){if(q0<m-1)w(q0+1);X0.preventDefault();break}if(X0.key==="ArrowUp"){if(q0>0)w(q0-1);X0.preventDefault();break}if(X0.key==="Home"){w(0),X0.preventDefault();break}if(X0.key==="End"){w(m-1),X0.preventDefault();break}if(X0.key==="Enter"){L.emit("item:click",{item:Y0.item,index:q0,event:X0}),X0.preventDefault();break}}if(X0.key.length===1&&!X0.ctrlKey&&!X0.altKey&&!X0.metaKey)T0(X0.key,q0),X0.preventDefault()}}}),C.registerMethod("expand",D0),C.registerMethod("collapse",R0),C.registerMethod("toggle",(X0)=>{let m=K.idToIndex.get(X0);if(m===void 0)return;if(K.flatNodes[m].expanded)R0(X0);else D0(X0)}),C.registerMethod("expandAll",()=>{K.expandAll(K.rootItems),t()}),C.registerMethod("collapseAll",()=>{K.collapseAll(),t()}),C.registerMethod("expandTo",(X0)=>{K.expandTo(X0),t();let m=K.idToIndex.get(X0);if(m!==void 0)k(m)}),C.registerMethod("getExpanded",()=>Array.from(K.expandedIds)),C.registerMethod("isExpanded",(X0)=>K.expandedIds.has(X0));let y0=q&&typeof J.parentId==="string"?J.parentId:null;C.registerMethod("addChild",(X0,m,q0)=>{if(y0)m[y0]=X0;if(q){let Y0=J0();Y0.push(m),W0=Y0.length}K.addChild(X0,m,q0),t(),L.emit("data:change",{type:"add",id:m.id})}),C.registerMethod("moveNode",(X0,m,q0)=>{if(y0){let Y0=K.idToIndex.get(X0);if(Y0!==void 0)K.flatNodes[Y0].item[y0]=m}K.moveNode(X0,m,q0),t()}),C.registerMethod("getTreeLayout",()=>({totalVisible:K.totalVisible,flatNodes:K.flatNodes})),C.registerDestroyHandler(()=>{if(P.removeEventListener("focusin",E0),P.removeEventListener("focusout",w0),V0(),P.classList.remove(`${A}--tree`),P.classList.remove(`${A}--tree-lines`),c!==null)clearTimeout(c)})},destroy(){if(r.clear(),c!==null)clearTimeout(c)}}}var p1=($)=>{if(typeof $==="function")return $;if(typeof $==="string")return(J)=>{let Q=J[$];return Q==null?"":String(Q)};return(J)=>{if(J==null)return"";let Q="";for(let j in J){let U=J[j];if(typeof U==="string")Q+=Q?" "+U:U}return Q}},v2=($,J,Q)=>{if(!J)return!1;return(Q?$:$.toLowerCase()).includes(J)},b4=($,J)=>{let Q=$.querySelectorAll(`mark.${J}`);for(let j=Q.length-1;j>=0;j--){let U=Q[j],Z=U.parentNode;if(!Z)continue;let q=document.createTextNode(U.textContent??"");Z.replaceChild(q,U),Z.normalize()}},C2=($,J,Q,j)=>{if(!J)return;b4($,j);let U=Q?J:J.toLowerCase(),Z=J.length,q=document.createTreeWalker($,NodeFilter.SHOW_TEXT,{acceptNode(_){let N=_.nodeValue??"";return(Q?N:N.toLowerCase()).includes(U)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),K=[],F;while((F=q.nextNode())!==null)K.push(F);for(let _ of K){let N=_.nodeValue??"",B=Q?N:N.toLowerCase(),P=document.createDocumentFragment(),G=0,E=B.indexOf(U,0);while(E!==-1){if(E>G)P.appendChild(document.createTextNode(N.slice(G,E)));let A=document.createElement("mark");A.className=j,A.textContent=N.slice(E,E+Z),P.appendChild(A),G=E+Z,E=B.indexOf(U,G)}if(G<N.length)P.appendChild(document.createTextNode(N.slice(G)));_.parentNode?.replaceChild(P,_)}};var S2=($,J,Q,j)=>{let U=document.createElement("button");return U.type="button",U.className=$,U.tabIndex=j,U.setAttribute("aria-label",J),U.innerHTML=Q,U},u1=($,J,Q,j,U,Z,q)=>{let K=`${Q}-search`,F=document.createElement("div");if(F.className=`${K} ${K}--bar ${K}--${j}`,F.setAttribute("role","search"),F.setAttribute("aria-disabled","false"),U.region)F.setAttribute("aria-label",U.region);let _=document.createElement("div");_.className=`${K}__container`;let N=document.createElement("span");N.className=`${K}__leading-icon`,N.setAttribute("aria-hidden","true"),N.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M0 0h24v24H0z" fill="none"></path><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path></svg>';let B=document.createElement("div");B.className=`${K}__input-wrapper`;let P=document.createElement("input");if(P.type="text",P.className=`${K}__input`,P.placeholder=U.placeholder,P.spellcheck=!1,P.autocomplete="off",P.setAttribute("aria-label",U.placeholder),Z)P.setAttribute("aria-controls",Z);B.appendChild(P);let G=document.createElement("span");G.className=`${K}__counter`,G.setAttribute("aria-live","polite");let E=S2(`${K}__nav-prev`,U.previous,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M7.41 15.41 12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path></svg>',-1),A=S2(`${K}__nav-next`,U.next,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z"></path></svg>',-1),v=S2(`${K}__clear-button ${K}__clear-button--hidden`,U.clear,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M0 0h24v24H0z" fill="none"></path><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>',-1);if(_.append(N,B,G,E,A,v),F.appendChild(_),j==="top"&&J)$.insertBefore(F,J);else if(j==="top")$.insertBefore(F,$.firstChild);else $.appendChild(F);let V=()=>{v.classList.toggle(`${K}__clear-button--hidden`,P.value.length===0)},M=()=>{V(),q.onInput(P.value)},L=(I)=>q.onKeydown(I),Y=()=>P.focus(),y=()=>{q.onClear(),P.focus()},H=()=>q.onPrev(),T=()=>q.onNext();return P.addEventListener("input",M),P.addEventListener("keydown",L),N.addEventListener("click",Y),v.addEventListener("click",y),E.addEventListener("click",H),A.addEventListener("click",T),{root:F,input:P,setCounter(I){G.textContent=I},showNav(I){E.classList.toggle(`${K}__nav-prev--hidden`,!I),A.classList.toggle(`${K}__nav-next--hidden`,!I)},focus(){P.focus(),P.select()},setValue(I){P.value=I,V()},destroy(){P.removeEventListener("input",M),P.removeEventListener("keydown",L),N.removeEventListener("click",Y),v.removeEventListener("click",y),E.removeEventListener("click",H),A.removeEventListener("click",T),F.remove()}}};var h2={placeholder:"Search…",clear:"Clear search",previous:"Previous match",next:"Next match",noResults:"No results",results:($)=>`${$} result${$===1?"":"s"}`,position:($,J)=>`${$} of ${J}`,region:""};function I2($={}){let J=$.mode??"filter",Q=$.position??"top",j={...h2,...$.text},U=$.caseSensitive??!1,Z=$.highlight!==!1,q=typeof $.highlight==="object"&&$.highlight!==null?$.highlight.within:void 0,K=$.minLength??1,F=$.cancelTimeout??0,_=$.variant??"default",N=p1($.field),B,P,G,E,A,v=null,V=!1,M="",L=[],Y=new Set,y=0,H=!1,T=null,I=!1,g=null,b=null,d=null,r=()=>{if(I)return;I=!0,g=B.getMethod("scrollToIndex")??null,b=B.getMethod("filterTree")??null,d=B.getMethod("clearTreeFilter")??null},S=()=>{if(L=[],Y.clear(),M.length<K)return;let D=U?M:M.toLowerCase(),w=B.getItems();for(let k=0;k<w.length;k++){let h=w[k];if(h!==void 0&&v2(N(h),D,U))L.push(k),Y.add(k)}},e=()=>{if(r(),b){let k=U?M:M.toLowerCase();b((h)=>v2(N(h),k,U)),H=!0;return}let D=B.getItems(),w=L;B.setGetItemFn((k)=>D[w[k]]),B.setVirtualTotalFn(()=>w.length),P.totalItems=w.length,B.rebuildSizeCache(),B.updateContentSize(B.sizeCache.getTotalSize()),H=!0},x=()=>{if(!H)return;if(H=!1,d){d();return}B.setGetItemFn((D)=>B.getItems()[D]),B.setVirtualTotalFn(()=>B.getItems().length),P.totalItems=B.getItems().length,B.rebuildSizeCache(),B.updateContentSize(B.sizeCache.getTotalSize())},o=()=>{r();let D=L[y];if(D===void 0)return;if(g)g(D,"center");else B.scrollTo(Math.max(0,B.sizeCache.getOffset(D)-B.getState().containerSize/2));let w=B.getItem(D);B.emitter.emit("search:match",{index:D,item:w,matchIndex:y,matches:L.length})},l=()=>{if(!v)return;if(M.length<K)v.setCounter("");else if(L.length===0)v.setCounter(j.noResults);else if(J==="navigate")v.setCounter(j.position(y+1,L.length));else v.setCounter(j.results(L.length))},X=()=>{let D=V&&M.length>=K;B.dom.root.classList.toggle(`${G}--searching`,D)},f=(D)=>{if(M=D,v?.setValue(M),S(),y=0,J==="filter")if(M.length>=K)e();else x();if(X(),l(),B.forceRender(),J==="navigate"&&L.length>0)o();B.emitter.emit("search:change",{query:M,matches:L.length,total:B.getItems().length}),c()},W=()=>{if(!V)V=!0,B.dom.root.classList.add(`${G}--search-open`),B.emitter.emit("search:open",void 0);v?.focus(),c()},O=()=>{a();let D=V||M.length>0;if(V=!1,M.length>0)f("");if(B.dom.root.classList.remove(`${G}--search-open`),X(),D)B.emitter.emit("search:close",void 0)},p=(D)=>{if(L.length===0)return;if(y=(y+D+L.length)%L.length,l(),J==="navigate")o(),B.forceRender()},a=()=>{if(T!==null)clearTimeout(T),T=null},c=()=>{if(a(),F>0&&V)T=setTimeout(()=>{T=null,O()},F)},R=(D)=>{if(!Z||M.length<K)return;let w=D.startIndex,k=w+Math.max(0,D.visibleCount-1),h=J==="navigate"?L[y]:-1;for(let s=w;s<=k;s++){let J0=B.getRenderedElement(s);if(!J0)continue;if(q){let M0=J0.querySelectorAll(q);for(let _0=0;_0<M0.length;_0++)C2(M0[_0],M,U,E)}else C2(J0,M,U,E);if(J==="navigate"){let M0=s===h,_0=J0.querySelectorAll(`.${E}`);for(let V0=0;V0<_0.length;V0++)_0[V0].classList.toggle(A,M0)}}},z=(D)=>D.key.length===1&&!D.ctrlKey&&!D.metaKey&&!D.altKey,n=(D)=>{if((D.ctrlKey||D.metaKey)&&(D.key==="f"||D.key==="F")){D.preventDefault(),W();return}if(!V){if(Q==="none"&&z(D))D.preventDefault(),W(),f(M+D.key);return}switch(D.key){case"Escape":D.preventDefault(),O();break;case"Enter":D.preventDefault(),p(D.shiftKey?-1:1);break;case"ArrowDown":D.preventDefault(),p(1);break;case"ArrowUp":D.preventDefault(),p(-1);break;default:if(Q==="none"){if(D.key==="Backspace"){if(D.preventDefault(),f(M.slice(0,-1)),M.length===0)O()}else if(z(D))D.preventDefault(),f(M+D.key)}}},U0=(D)=>{if(D.key==="Escape"||D.key==="Enter"||D.key==="ArrowDown"||D.key==="ArrowUp")n(D)};return{name:"search",priority:55,setup(D){if(B=D,P=B.getState(),G=B.config.classPrefix,E=`${G}-search-match`,A=`${G}-search-match--current`,Q!=="none"){let k=B.dom.root.id||void 0;if(v=u1(B.dom.root,B.dom.viewport,G,Q,{placeholder:j.placeholder,clear:j.clear,previous:j.previous,next:j.next,region:j.region},k,{onInput:(h)=>f(h),onClear:()=>f(""),onPrev:()=>p(-1),onNext:()=>p(1),onKeydown:U0}),v.showNav(J==="navigate"),_!=="default")v.root.classList.add(`${G}-search--${_}`);B.dom.root.classList.add(`${G}--has-search`)}let w=B.getItemStateFn();B.setItemStateFn((k,h)=>{if(w)w(k,h);if(M.length<K){delete h.search;return}if(J==="filter")h.search={matched:!0,query:M,matchIndex:k,isCurrent:!1};else{let s=L.indexOf(k);h.search={matched:Y.has(k),query:M,matchIndex:s,isCurrent:s!==-1&&s===y}}}),B.registerMethod("openSearch",W),B.registerMethod("closeSearch",O),B.registerMethod("setQuery",(k)=>{if(!V)W();f(k)}),B.registerMethod("getQuery",()=>M),B.registerMethod("nextMatch",()=>p(1)),B.registerMethod("prevMatch",()=>p(-1)),B.registerMethod("getMatches",()=>L.slice()),B.registerKeydownHandler(n),B.registerDestroyHandler(()=>{a(),x(),v?.destroy(),v=null,B.dom.root.classList.remove(`${G}--search-open`,`${G}--searching`,`${G}--has-search`)})},hooks:{onCommit(D){R(D)}}}}function g1($){let{slots:J,focalSlot:Q,containerSize:j,gap:U=0}=$,Z=J.length,q=Math.max(0,Z-1)*U,K=j-q,F=J.map((A)=>Math.round(A*K)),_=K-F.reduce((A,v)=>A+v,0);if(Q<F.length)F[Q]+=_;let N=(F[Q]??0)+U;function B(A,v,V){let M=A-v,L=Q+M,Y=L-1,y=P(L),H=P(Y);return y+V*(H-y)}function P(A){if(A<0||A>=Z)return 0;return F[A]??0}function G(A,v,V,M){let L=A-v,Y=B(A,v,V),y=M;if(L>0)for(let r=0;r<L;r++){let S=B(v+r,v,V);y+=S+(S>0?U:0)}else if(L<0)for(let r=-1;r>=L;r--){let S=B(v+r,v,V);y-=S+(S>0?U:0)}let H=Q+L,T=H-1,I;if(H===Q)I=V;else if(T===Q)I=1-V;else I=1;let g=F[Q]??0,b=g>0?Y/g:0,d=b>0.6?"large":b>0.3?"medium":"small";return{size:Y,offset:y,progress:I,relOffset:L,role:d}}function E(A,v){if(Q===0)return 0;let V=0;for(let M=-1;M>=-Q;M--){let L=B(A+M,A,v);V+=L+(L>0?U:0)}return V}return{slotWidths:F,stepSize:N,focalSlot:Q,getItemLayout:G,getItemSize:B,getAnchorOffset:E}}function T4(){return{slots:[1],focalSlot:0}}function k4($,J){return{slots:[($-J)/$,J/$],focalSlot:0}}function P4($,J){return{slots:[J/$,($-2*J)/$,J/$],focalSlot:1}}function z4(){return{slots:[0.4,0.3,0.2,0.09999999999999998],focalSlot:0}}function w4($){let J=Math.max(2,Math.floor($/($*0.33))),Q=1/J;return{slots:Array.from({length:J},()=>Q),focalSlot:0}}function x1($,J,Q){switch($){case"hero":return k4(J,Q);case"hero-center":return P4(J,Q);case"multi":return z4();case"uncontained":return w4(J);case"full":return T4();case"static":default:return null}}var m1=101,_2=50,y4=10;function f2($){let J=$?.variant??"full",Q=typeof J==="object",j=Q?"custom":J,U=Q?J:null,Z=$?.snap??j!=="free",q=$?.snapDuration??400,K=$?.initialIndex??0,F=$?.peek??"auto",_,N,B=null,P,G=K,E=0,A=0,v=0,V=0,M=!1,L="vlist",Y=-1;function y(X){if(E<=0)return 0;return(X%E+E)%E}function H(X,f,W){if(E<=1)return 0;let O=((f-X)%E+E)%E,p=E-O;if(W==="forward")return O;if(W==="backward")return-p;return O<=p?O:-p}function T(X){return _2*E+X}function I(X){if(E<=0)return 0;return(X%E+E)%E}function g(X){if(j==="full")return 0;if(typeof F==="number")return F;if(typeof F==="string"&&F.endsWith("%"))return Math.round(X*parseFloat(F)/100);return Math.max(40,Math.min(Math.round(X*0.15),120))}function b(X){return X*A}function d(X){if(A<=0)return 0;return Math.round(X/A)}function r(){if(Y>=0)return Y;return d(_.scrollPosition)}function S(X,f){B?.smoothScrollTo(X,f)}let e=null;function x(){if(!B)return;let X=B.getItems().length;if(X===E)return;let f=G;if(E=X,V=E*m1,v=A*E,_.totalItems=V,E>1){let W=f<E?f:0;G=W,B.scrollTo((_2*E+W)*A)}}function o(){if(!B||E<=0||!e)return;let f=B.dom.content.children,W=_.scrollPosition,O=Math.floor(W/A),p=A>0?W/A-O:0,a=P?"width":"height",c=W+e.getAnchorOffset(O,p),R=_.baseOffset,z=O-O%E;for(let n=0;n<f.length;n++){let U0=f[n],D=U0.dataset.index;if(D===void 0)continue;let w=parseInt(D,10),k=z+w;if(k-O>E/2)k-=E;if(O-k>E/2)k+=E;let h=e.getItemLayout(k,O,p,c),s=Math.max(0,Math.round(h.size)),J0=Math.round(h.offset-R);if(s<=0)U0.style.display="none",U0.classList.remove(`${L}-item--focused`,`${L}-item--selected`),U0.removeAttribute("aria-selected");else U0.style.display="",U0.style[a]=s+"px",U0.style.transform=P?`translateX(${J0}px)`:`translateY(${J0}px)`;U0.style.setProperty("--vlist-carousel-progress",h.progress.toFixed(3)),U0.style.setProperty("--vlist-carousel-offset",String(h.relOffset)),U0.style.setProperty("--vlist-carousel-role",h.role),U0.style.setProperty("--vlist-carousel-width",s+"px")}}function l(X,f,W){if(!B)return;if(G=X,E<=1)return;let O=r(),p=I(O),a=((X-p)%E+E)%E,c=E-a,R=a<=c?a:-c,z=O+R;Y=z;let n=b(z);if(f)S(n,W);else B.scrollTo(n),o()}return{name:"carousel",priority:10,conflicts:["scale"],setup(X){_=X.getState(),N=X.sizeCache,B=X,P=X.config.axis.primary==="x",L=X.config.classPrefix,E=_.totalItems;let f=E>0?N.getSize(0):0,W=_.containerSize,O=g(W),p=U??x1(j,W,O);if(p)e=g1({slots:p.slots,focalSlot:p.focalSlot,containerSize:W,gap:$?.gap??0}),A=e.stepSize;else A=f;if(v=A*E,V=E*m1,G=y(K),E>1)X.setGetItemFn((z)=>{let n=I(z);return X.getItems()[n]}),N.getTotalSize=()=>V*A,N.getOffset=(z)=>z*A,N.getSize=(z)=>A,N.indexAtOffset=(z)=>{if(A<=0)return 0;return Math.max(0,Math.min(Math.floor(z/A),V-1))},N.getTotal=()=>V,_.totalItems=V,X.setVirtualTotalFn(()=>E),X.setIndexMapFn(I),X.registerMethod("_layoutToDataIndex",I),X.setBoundedWrap({lapSize:()=>v,home:()=>_2*v,thresholdLaps:_2-y4}),M=!0;if(X.registerMethod("next",(z,n)=>{if(E<=1)return;let U0=z??1,D=G,w=n?.behavior!=="auto",k=n?.duration??q;B.cancelScroll();let s=r()+U0;Y=s,G=I(s);let J0=b(s);if(w)S(J0,k);else B.scrollTo(J0),o();if(G!==D)B.emitter.emit("carousel:change",{index:G,scrollPosition:_.scrollPosition})}),X.registerMethod("prev",(z,n)=>{if(E<=1)return;let U0=z??1,D=G,w=n?.behavior!=="auto",k=n?.duration??q;B.cancelScroll();let s=r()-U0;Y=s,G=I(s);let J0=b(s);if(w)S(J0,k);else B.scrollTo(J0),o();if(G!==D)B.emitter.emit("carousel:change",{index:G,scrollPosition:_.scrollPosition})}),X.registerMethod("goTo",(z,n)=>{if(E<=0)return;let U0=y(z),D=n?.direction??"auto",w=n?.behavior==="smooth",k=n?.duration??q;if(E<=1){G=U0;return}if(B.cancelScroll(),D==="forward"||D==="backward"){let h=H(G,U0,D==="forward"?"forward":"backward");G=U0;let J0=r()+h;Y=J0;let M0=b(J0);if(w)S(M0,k);else B.scrollTo(M0),o()}else l(U0,w,k)}),X.registerMethod("getCarouselState",()=>{let z=_.scrollPosition,n=E>0&&v>0?(z%v+v)%v:0;return{index:G,progress:0,offset:0,scrollPosition:n,role:"large"}}),X.setScrollToIndexFn((z,n,U0,D,w)=>{if(E<=1)return!1;let k=y(z);l(k,U0==="smooth",D??q)}),X.setNavConfig({total:()=>E,navigate:(z,n,U0)=>{let D=z;if(n==="ArrowRight"||n==="ArrowDown")D=(z+1)%U0;else if(n==="ArrowLeft"||n==="ArrowUp")D=(z-1+U0)%U0;else if(n==="Home")D=0;else if(n==="End")D=U0-1;if(D!==z)l(D,!1,0),B?.forceRender(),o();return D}}),!X.dom.content.getAttribute("tabindex"))X.dom.content.setAttribute("tabindex","0");let a=X.getMethod("next"),c=X.getMethod("prev"),R=X.getMethod("goTo");X.registerKeydownHandler((z)=>{let n=z.key;if(n==="ArrowRight"||n==="ArrowDown")z.preventDefault(),a(1,{behavior:"smooth",duration:q});else if(n==="ArrowLeft"||n==="ArrowUp")z.preventDefault(),c(1,{behavior:"smooth",duration:q});else if(n==="Home")z.preventDefault(),R(0,{behavior:"smooth",duration:q});else if(n==="End")z.preventDefault(),R(E-1,{behavior:"smooth",duration:q})}),X.registerDestroyHandler(()=>{B?.cancelScroll()})},destroy(){B?.cancelScroll(),B=null},hooks:{onCommit(){if(!M||!B)return;M=!1;let X=b(T(G));B.scrollTo(X),B.forceRender(),o()},onAfterScroll(X){if(M||!B)return;if(x(),E<=1)return;if(Y<0){let f=_.scrollPosition,W=d(f),O=I(W);if(O!==G)G=O,B.emitter.emit("carousel:change",{index:G,scrollPosition:f})}o()},onIdle(){if(Y=-1,!Z||!B||E<=1)return;let X=_.scrollPosition,f=Math.round(X/A),W=f*A;if(Math.abs(X-W)>1)G=I(f),S(W,q)}}}}var v4=50,C4=0.1;function c1($){let J=0,Q=0,j=0;function U(){return j>0?Q/j:0}function Z(F){if(J=F,F>C4&&F<v4)Q+=F,j++}function q(){let F=$.getTotal();if(F===0)return 0;let _=$.getItemSize();if(_<=0)return 0;let N=$.getContainerSize();if(N<=0)return 0;let B=$.getScrollPosition(),P=typeof $.getColumns==="function"?$.getColumns():1,E=Math.ceil(F/P)*_,v=Math.min(E,o0)-N,V=E-N,M=v>0?V/v:1,L=B*M,Y=Math.ceil((L+N)/_);return Math.min(Y*P,F)}function K(){let F=$.getTotal(),_=q();return{progress:F>0?Math.min(100,Math.max(0,_/F*100)):0,velocity:J,velocityAvg:U(),itemCount:_,total:F}}return{getState:K,onVelocity:Z}}async function d1($,J,Q){let j=Q?.key,U;if($){let E=$.getScrollSnapshot;if(typeof E==="function")U=E()}if(U&&j)try{sessionStorage.setItem(j,JSON.stringify(U))}catch{}let Z=t0(j?{autoSave:j}:U?{restore:U}:void 0),q=J(Z),K=q.element;if(K.style.position="absolute",K.style.inset="0",K.style.visibility="hidden",Q?.ready)await Q.ready(q);else await new Promise((E)=>requestAnimationFrame(()=>E()));let F=Q?.delay;if(F&&F>0)await new Promise((E)=>setTimeout(E,F));let _=Q?.transition,N=typeof _==="number"?_:_?.fadeIn??0,B=typeof _==="number"?_:_?.fadeOut??0,P=typeof _==="object"?_?.fadeOutDelay??0:0,G=Math.max(N,B+P);if(G>0&&$){let E=$.element;K.style.visibility="",K.style.opacity="0",K.offsetHeight,K.style.transition=`opacity ${N}ms ease`,E.style.transition=`opacity ${B}ms ease ${P}ms`,K.style.opacity="1",E.style.opacity="0",await new Promise((A)=>{setTimeout(A,G+50)}),K.style.transition="",K.style.opacity="",E.style.transition="",E.style.opacity=""}else K.style.visibility="";if(K.style.position="",K.style.inset="",$)$.destroy();return q}export{y2 as tree,L2 as transition,P2 as table,z2 as sortable,t0 as snapshots,H2 as selection,I2 as search,G2 as scrollbar,d1 as rebuild,O2 as page,R2 as masonry,k2 as groups,A2 as grid,E2 as data,D1 as createVList,c1 as createStats,f2 as carousel,F2 as autosize,D2 as a11y};
1
+ var Q0=3,n0="vlist";var j0=50;var t0=50,e0=2,J1=15,$1=6,D0=2000,Q1=30000,a2=16000000,x2=150,i2=1,Z0=($)=>$<0.5?2*$*$:1-(-2*$+2)**2/2,j1=300,Z1=2,U1=1.5,K1=0.25,q1=0.75;var Y1="x",B1=20,H0="_isPlaceholder",h2="__placeholder_";var U0={top:0,right:0,bottom:0,left:0},_1=($)=>{if($==null)return U0;if(typeof $==="number")return $===0?U0:{top:$,right:$,bottom:$,left:$};if($.length===2){let[Z,q]=$;return Z===0&&q===0?U0:{top:Z,right:q,bottom:Z,left:q}}let[J,Q,j,U]=$;return J===0&&Q===0&&j===0&&U===0?U0:{top:J,right:Q,bottom:j,left:U}},W1=($,J)=>J?$.left+$.right:$.top+$.bottom,N1=($,J)=>J?$.top+$.bottom:$.left+$.right;function V1($){let J={visibleIndices:new Int32Array($),visibleOffsets:new Float64Array($),visibleSizes:new Float64Array($),visibleCount:0,startIndex:0,totalSize:0,capacity:$,scrollPosition:0,prevScrollPosition:0,scrollDirection:0,baseOffset:0,containerSize:0,crossSize:0,totalItems:0,prevRangeStart:0,prevRangeEnd:-1,renderPending:!1,initialized:!1,destroyed:!1,prevAriaTotal:-1,resizeCapacity(Q,j,U=Q0){if(j<=0||Q<=0)return;let Z=Math.ceil(Q/j)+U*2;if(Z<=J.capacity)return;let q=Z+8,K=new Int32Array(q),A=new Float64Array(q),W=new Float64Array(q);K.set(J.visibleIndices),A.set(J.visibleOffsets),W.set(J.visibleSizes),J.visibleIndices=K,J.visibleOffsets=A,J.visibleSizes=W,J.capacity=q},clear(){J.visibleCount=0,J.startIndex=0}};return J}var j4=($,J)=>{let Q=J;return{getOffset:(j)=>j*$,getSize:(j)=>$,indexAtOffset:(j)=>{if(Q===0||$===0)return 0;return Math.max(0,Math.min(Math.floor(j/$),Q-1))},getTotalSize:()=>Q*$,getTotal:()=>Q,rebuild:(j)=>{Q=j},isVariable:()=>!1}},Z4=($,J)=>{let Q=J,j=new Float64Array(0),U=(q)=>{Q=q,j=new Float64Array(q+1),j[0]=0;for(let K=0;K<q;K++)j[K+1]=j[K]+$(K)};U(J);let Z=(q)=>{if(Q===0)return 0;if(q<=0)return 0;if(q>=j[Q])return Q-1;let K=0,A=Q-1;while(K<A){let W=K+A+1>>>1;if(j[W]<=q)K=W;else A=W-1}return K};return{getOffset:(q)=>{if(q<=0)return 0;if(q>=Q)return j[Q];return j[q]},getSize:(q)=>$(q),indexAtOffset:(q)=>Z(q),getTotalSize:()=>j[Q]??0,getTotal:()=>Q,rebuild:(q)=>U(q),isVariable:()=>!0}},K0=($,J)=>{if(typeof $==="number")return j4($,J);return Z4($,J)};function M1($){let J=[],Q=`${$}-item`,j=document.createElement("div");return j.className=Q,{acquire(){if(J.length>0)return J.pop();return j.cloneNode(!1)},release(U){if(U.className=Q,U.removeAttribute("style"),U.removeAttribute("id"),U.removeAttribute("role"),U.removeAttribute("aria-selected"),U.removeAttribute("aria-posinset"),U.removeAttribute("aria-setsize"),U.removeAttribute("data-index"),U.removeAttribute("data-id"),U.textContent="",J.length<100)J.push(U)},get size(){return J.length},clear(){J.length=0}}}function u2($){let J=$.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let Q=0;Q<J.length;Q++)J[Q].setAttribute("tabindex","-1")}function X1($){if(typeof $==="string"){let J=document.querySelector($);if(!J)throw Error(`[vlist] Container not found: ${$}`);return J}return $}function G1($,J,Q,j){let U=Q?`${J} ${J}--horizontal`:J,Z=Q?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",q=Q?"position:relative;height:100%;overflow-anchor:none":"position:relative;width:100%;overflow-anchor:none",K=' role="list"';if(j)K+=` aria-label="${j.replace(/"/g,"&quot;")}"`;if(Q)K+=' aria-orientation="horizontal"';$.insertAdjacentHTML("beforeend",`<div class="${U}"><div class="${J}-viewport" style="${Z}" tabindex="-1"><div class="${J}-content" style="${q}"${K}></div></div></div>`);let A=$.lastElementChild,W=A.firstElementChild,_=W.firstElementChild,D=document.createElement("div");return D.className=`${J}-live`,D.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",D.setAttribute("aria-live","polite"),D.setAttribute("aria-atomic","true"),D.setAttribute("role","status"),A.appendChild(D),{root:A,viewport:W,content:_,liveRegion:D}}function A1($){let{state:J,viewport:Q,isX:j,wheelEnabled:U,onFrame:Z,onIdle:q}=$,K=$.idleTimeout||x2,A=$.scrollTarget??Q,W=null,_=null;function D(){let C=j?Q.scrollLeft:Q.scrollTop;if(Math.abs(C-J.scrollPosition)<0.5)return;J.prevScrollPosition=J.scrollPosition,J.scrollPosition=C,J.scrollDirection=C>J.prevScrollPosition?1:C<J.prevScrollPosition?-1:0,Z(),Y()}function F(C){let M;if(j){if(Math.abs(C.deltaX)>Math.abs(C.deltaY))return;let X=Q.scrollLeft,L=Q.scrollWidth-Q.clientWidth;if(M=Math.max(0,Math.min(X+C.deltaY*i2,L)),Math.abs(M-X)<1)return;C.preventDefault(),Q.scrollLeft=M}else{let X=Q.scrollWidth>Q.clientWidth;if(X&&Math.abs(C.deltaX)>Math.abs(C.deltaY))return;if(X&&C.deltaX!==0)C.preventDefault(),Q.scrollLeft+=C.deltaX;let L=Q.scrollTop,B=Q.scrollHeight-Q.clientHeight;if(M=Math.max(0,Math.min(L+C.deltaY*i2,B)),Math.abs(M-L)<1)return;C.preventDefault(),Q.scrollTop=M}J.prevScrollPosition=J.scrollPosition,J.scrollPosition=M,J.scrollDirection=M>J.prevScrollPosition?1:-1,Z(),Y()}function Y(){if(W!==null)clearTimeout(W);W=setTimeout(()=>{W=null,J.scrollDirection=0,q()},K)}function f(){if(_!==null)cancelAnimationFrame(_),_=null}function R(C,M,X,L=Z0,B){f();let v=J.scrollPosition,G=typeof C==="function"?C:()=>C,O=G();if(Math.abs(O-v)<1){if(X)X(O);else if(j)Q.scrollLeft=O;else Q.scrollTop=O;B?.();return}let p=performance.now();function m(k){O=G();let l=k-p,s=Math.min(l/M,1),h=v+(O-v)*L(s);if(X)X(h);else if(j)Q.scrollLeft=h;else Q.scrollTop=h;if(!X)J.scrollPosition=h;if(Z(),s<1)_=requestAnimationFrame(m);else _=null,Y(),B?.()}_=requestAnimationFrame(m)}return{attach(){if(A.addEventListener("scroll",D,{passive:!0}),U)A.addEventListener("wheel",F,{passive:!1})},detach(){if(A.removeEventListener("scroll",D),U)A.removeEventListener("wheel",F);if(f(),W!==null)clearTimeout(W),W=null},cancelScroll:f,smoothScrollTo:R}}function s2($,J,Q){if($<J)return J;if($>Q)return Q;return $}function D1($){let{state:J,viewport:Q,content:j,isX:U,wheelEnabled:Z,onFrame:q,onIdle:K,mainAxisPadding:A}=$,W=$.idleTimeout||x2,_=$.runwayFactor??Z1,D=$.wrap??null,F=D!==null,Y=$.scrollTarget??Q,f=0,R=0,C=0,M=null,X=null;function L(){return U?Q.scrollLeft:Q.scrollTop}function B(c){if(U)Q.scrollLeft=c;else Q.scrollTop=c}function v(c){let o=F?c:s2(c,0,R);J.prevScrollPosition=J.scrollPosition,J.scrollPosition=o,J.scrollDirection=o>J.prevScrollPosition?1:o<J.prevScrollPosition?-1:0;let r=f/2;if(F){J.baseOffset=o-r,B(r);return}let y=s2(o-r,0,C);J.baseOffset=y,B(s2(o-y,0,f))}function G(c){v(c),q(),l()}function O(){let c=L(),o=J.baseOffset+c;if(Math.abs(o-J.scrollPosition)<0.5)return;if(J.prevScrollPosition=J.scrollPosition,J.scrollPosition=o,J.scrollDirection=o>J.prevScrollPosition?1:o<J.prevScrollPosition?-1:0,p(c),F)m();q(),l()}function p(c){let o=f*K1,r=f*q1,y=f/2;if(F){if(c>=o&&c<=r)return;J.baseOffset=J.scrollPosition-y,B(y);return}if(C<=0)return;let x=J.baseOffset,V=c<o&&x>0,b=c>r&&x<C;if(!V&&!b)return;let u=J.scrollPosition,a=s2(u-y,0,C);if(a===x)return;J.baseOffset=a,B(s2(u-a,0,f))}function m(){let c=D.lapSize();if(c<=0)return;let o=J.scrollPosition-D.home(),r=Math.trunc(o/c);if(Math.abs(r)<D.thresholdLaps)return;let y=r*c;J.scrollPosition-=y,J.prevScrollPosition-=y,J.baseOffset-=y}function k(c){let o;if(U)if(Math.abs(c.deltaX)>Math.abs(c.deltaY)){if(!F)return;o=c.deltaX}else o=c.deltaY;else{let V=Q.scrollWidth>Q.clientWidth;if(V&&Math.abs(c.deltaX)>Math.abs(c.deltaY))return;if(V&&c.deltaX!==0)c.preventDefault(),Q.scrollLeft+=c.deltaX;o=c.deltaY}let r=J.scrollPosition,y=r+o*i2,x=F?y:s2(y,0,R);if(Math.abs(x-r)<1)return;if(c.preventDefault(),G(x),F)m()}function l(){if(M!==null)clearTimeout(M);M=setTimeout(()=>{M=null,J.scrollDirection=0,K()},W)}function s(){if(X!==null)cancelAnimationFrame(X),X=null}function h(c,o,r,y=Z0,x){s();let V=J.scrollPosition,b=typeof c==="function"?c:()=>c,u=b();if(Math.abs(u-V)<1){G(u),x?.();return}let a=performance.now();function T(N){u=b();let P=Math.min((N-a)/o,1);if(v(V+(u-V)*y(P)),q(),P<1)X=requestAnimationFrame(T);else X=null,l(),x?.()}X=requestAnimationFrame(T)}function e(c){let o=J.containerSize,r=c+A,y=o*_,x=F?y:Math.min(r,y);f=Math.max(0,x-o),R=Math.max(0,r-o),C=Math.max(0,r-x),J.totalSize=c,j.style[U?"width":"height"]=x+"px",v(J.scrollPosition)}return{attach(){if(Y.addEventListener("scroll",O,{passive:!0}),Z)Y.addEventListener("wheel",k,{passive:!1})},detach(){if(Y.removeEventListener("scroll",O),Z)Y.removeEventListener("wheel",k);if(s(),M!==null)clearTimeout(M),M=null},cancelScroll:s,smoothScrollTo:h,setLogical:G,getLogical(){return J.scrollPosition},getMaxLogical(){return R},refresh:e}}function U4($,J){if($.getTotal()<=0)return{index:0,offsetPx:0};let j=J<=0?0:J,U=$.indexAtOffset(j),Z=j-$.getOffset(U);return{index:U,offsetPx:Z>0?Z:0}}function K4($,J){let Q=q4($,J);return $.getOffset(Q.index)+Q.offsetPx}function q4($,J){let Q=$.getTotal();if(Q<=0)return{index:0,offsetPx:0};let{index:j,offsetPx:U}=J;if(j<0)return{index:0,offsetPx:0};if(j>Q-1)j=Q-1;while(U>0&&j<Q-1){let Z=$.getSize(j);if(U<Z)break;U-=Z,j++}while(U<0&&j>0)j--,U+=$.getSize(j);if(U<0)U=0;return{index:j,offsetPx:U}}function H1($){let{sizeCache:J,getPixel:Q,setPixel:j,getContainerSize:U}=$;function Z(){let K=J.getTotalSize()-U();return K>0?K:0}function q(K){if(K<=0)return 0;let A=Z();return K>A?A:K}return{getLogical(){return U4(J,Q())},setLogical(K){j(q(K4(J,K)))},getPixelEquivalent(){return Q()},setPixelEquivalent(K){j(q(K))},getMaxPixelEquivalent:Z,scrollByPx(K){j(q(Q()+K))}}}var n2=[],Y4={calculate:n2,commit:n2,afterScroll:n2,idle:n2,resize:n2};function O1($){if($.length===0)return Y4;let J=[],Q=[],j=[],U=[],Z=[];for(let q=0;q<$.length;q++){let K=$[q].hooks;if(K===void 0)continue;if(K.onCalculate!==void 0)J.push(K.onCalculate);if(K.onCommit!==void 0)Q.push(K.onCommit);if(K.onAfterScroll!==void 0)j.push(K.onAfterScroll);if(K.onIdle!==void 0)U.push(K.onIdle);if(K.onResize!==void 0)Z.push(K.onResize)}return{calculate:J,commit:Q,afterScroll:j,idle:U,resize:Z}}function L1($,J){for(let Q=0;Q<$.length;Q++)$[Q](J)}function F1($,J){for(let Q=0;Q<$.length;Q++)$[Q](J)}function O0($,J,Q){for(let j=0;j<$.length;j++)$[j](J,Q)}function R1($){for(let J=0;J<$.length;J++)$[J]()}function E1($,J,Q){for(let j=0;j<$.length;j++)$[j](J,Q)}function k1($,J,Q,j,U,Z,q,K){let A=j!==0||U!==0;return{prefix:$,selectedClass:`${$}-item--selected`,focusedClass:`${$}-item--focused`,placeholderClass:`${$}-item--placeholder`,replacedClass:`${$}-item--replaced`,translateProp:J?"translateX(":"translateY(",sizeProp:J?"width":"height",itemRole:"listitem",interactive:!1,startPadding:Q,gap:q,hasCrossPad:A,crossStartProp:A?J?"top":"left":"",crossEndProp:A?J?"bottom":"right":"",crossStartVal:A?j+"px":"",crossEndVal:A?U+"px":"",oddClass:Z,emitter:K??null,indexMap:null,ariaTotalFn:null}}function B4($,J,Q,j,U){if($.containerSize<=0||$.totalItems===0)return $.clear(),!0;let{scrollPosition:Z,containerSize:q,totalItems:K}=$,A=U??0;$.totalSize=J.getTotalSize();let W=J.indexAtOffset(A>0?Math.max(0,Z-A):Z),_=J.indexAtOffset(Z+q);if(_<K-1)_++;W=Math.max(0,W),_=Math.min(K-1,Math.max(0,_));let D=Math.max(0,W-Q),F=Math.min(K-1,_+Q),Y=Math.ceil(q/1)+Q*2+10,f=F-D+1,R=Math.min(f,$.capacity,Y);if(D===$.prevRangeStart&&F===$.prevRangeEnd&&!$.renderPending)return!1;$.visibleCount=R,$.startIndex=D;for(let C=0;C<R;C++){let M=D+C;$.visibleIndices[C]=M,$.visibleOffsets[C]=J.getOffset(M),$.visibleSizes[C]=J.getSize(M)}return L1(j.calculate,$),$.prevRangeStart=D,$.prevRangeEnd=F,$.renderPending=!1,!0}var S2={selected:!1,focused:!1};function _4($,J,Q){for(let j=0;j<J;j++)if($[j]===Q)return!0;return!1}function W4($,J){if(J<=1)return!0;let Q=$[0];for(let j=1;j<J;j++){let U=$[j];if(U!==Q+1)return!1;Q=U}return!0}function N4($,J,Q,j,U,Z,q,K,A,W){let _=A?null:U(),D=$.visibleCount,F=$.visibleIndices,Y=q.ariaTotalFn?q.ariaTotalFn():$.totalItems,f=q.interactive?String(Y):"",R=q.interactive&&Y!==$.prevAriaTotal,C=null,M=q.indexMap;for(let X=0;X<D;X++){let L=F[X],B=M?M(L):L,v=$.visibleOffsets[X],G=$.visibleSizes[X],O=A?A(L):_[L];if(W)W(B,S2);else S2.selected=!1,S2.focused=!1;let p=Z.get(L),m=p;if(p===void 0){let k=J.acquire();if(O!==void 0){let h;try{h=j(O,B,S2)}catch(e){if(q.emitter)q.emitter.emit("error",{error:e instanceof Error?e:Error(String(e)),context:`template:render:${B}`});J.release(k);continue}if(typeof h==="string")k.innerHTML=h;else k.textContent="",k.appendChild(h);u2(k)}if(k.setAttribute("role",q.itemRole),k.setAttribute("data-index",String(B)),q.interactive)k.id=q.prefix+"-item-"+L,k.setAttribute("aria-posinset",String(B+1)),k.setAttribute("aria-setsize",f);if(O!==void 0){let h=String(O.id);if(k.setAttribute("data-id",h),h.startsWith(h2))k.classList.add(q.placeholderClass)}if(q.hasCrossPad)k.style.setProperty(q.crossStartProp,q.crossStartVal),k.style.setProperty(q.crossEndProp,q.crossEndVal);if(W){if(k.classList.toggle(q.selectedClass,S2.selected),k.classList.toggle(q.focusedClass,S2.focused),S2.selected)k.setAttribute("aria-selected","true");else k.removeAttribute("aria-selected");k._lastSelected=S2.selected,k._lastFocused=S2.focused}if(q.oddClass)k.classList.toggle(q.oddClass,(L&1)===1);let l=v-$.baseOffset+q.startPadding;k.style.transform=q.translateProp+l+"px)",k._lastOffset=l;let s=G-q.gap;if(k.style[q.sizeProp]=s+"px",k._lastSize=s,k._lastItem=O,Z.set(L,k),C===null)C=document.createDocumentFragment();C.appendChild(k)}else{if(R)p.setAttribute("aria-setsize",f);if(O!==void 0&&m._lastItem!==O){let s=p.getAttribute("data-id"),h=String(O.id),e;try{e=j(O,B,S2)}catch(c){if(q.emitter)q.emitter.emit("error",{error:c instanceof Error?c:Error(String(c)),context:`template:render:${B}`});continue}if(typeof e==="string")p.innerHTML=e;else p.textContent="",p.appendChild(e);if(u2(p),p.setAttribute("data-id",h),m._lastItem=O,s!==h){let c=s!==null&&s.startsWith(h2),o=h.startsWith(h2);if(c!==o)p.classList.toggle(q.placeholderClass,o);if(c&&!o)p.classList.add(q.replacedClass),setTimeout(()=>{p.classList.remove(q.replacedClass)},300)}}if(W){if(m._lastSelected!==S2.selected){if(p.classList.toggle(q.selectedClass,S2.selected),S2.selected)p.setAttribute("aria-selected","true");else p.removeAttribute("aria-selected");m._lastSelected=S2.selected}if(m._lastFocused!==S2.focused)p.classList.toggle(q.focusedClass,S2.focused),m._lastFocused=S2.focused}let k=v-$.baseOffset+q.startPadding;if(m._lastOffset!==k)p.style.transform=q.translateProp+k+"px)",m._lastOffset=k;let l=G-q.gap;if(m._lastSize!==l)p.style[q.sizeProp]=l+"px",m._lastSize=l}}if(C!==null)Q.appendChild(C);if(D>0&&W4(F,D)){let X=F[0],L=F[D-1];for(let[B,v]of Z)if(B<X||B>L)v.remove(),J.release(v),Z.delete(B)}else for(let[X,L]of Z)if(!_4(F,D,X))L.remove(),J.release(L),Z.delete(X);if(q.interactive)$.prevAriaTotal=$.totalItems;F1(K.commit,$)}function L0($,J,Q,j,U,Z,q,K,A,W,_,D){if(B4($,J,Q,W,A.startPadding))N4($,j,U,Z,q,K,A,W,_,D)}var F0=()=>{let $={},J=(Z,q)=>{if(!$[Z])$[Z]=new Set;return $[Z].add(q),()=>Q(Z,q)},Q=(Z,q)=>{$[Z]?.delete(q)};return{on:J,off:Q,emit:(Z,q)=>{$[Z]?.forEach((K)=>{try{K(q)}catch(A){console.error(`[vlist] Error in event handler for "${String(Z)}":`,A)}})},clear:(Z)=>{if(Z)delete $[Z];else for(let q in $)delete $[q]}}};var T1=2,b1=($=0)=>({velocity:0,sampleCount:0}),P1=($,J)=>{let Q=performance.now(),j=$._lt??Q,U=$._lp??J,Z=Q-j;if($._lp=J,$._lt=Q,Z===0)return $.sampleCount=Math.min($.sampleCount+1,5),$;if(Z>100)return $.velocity=0,$.sampleCount=1,$;return $.velocity=Math.abs(J-U)/Z,$.sampleCount=Math.min($.sampleCount+1,5),$};function V4($){let{item: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($.overscan!==void 0){if(typeof $.overscan!=="number"||!Number.isFinite($.overscan)||$.overscan<0)throw Error(`vlist: overscan must be a non-negative number, got ${$.overscan}`)}if($.scroll?.runway!==void 0){if(typeof $.scroll.runway!=="number"||!Number.isFinite($.scroll.runway)||$.scroll.runway<=0)throw Error(`vlist: scroll.runway must be a positive number, got ${$.scroll.runway}`)}}function M4($,J){let Q=$==="horizontal"?"x":"y";if(J.some((U)=>U.name==="grid"))return{primary:Q,cross:Q==="x"?"y":"x"};return{primary:Q}}function X4($,J){let Q=M4($.orientation,J),j=Q.primary==="x",U=_1($.padding);return{axis:Q,hasCrossAxis:Q.cross!==void 0,overscan:$.overscan??Q0,reverse:$.reverse??!1,classPrefix:$.classPrefix??n0,mainAxisPadding:W1(U,j),crossAxisPadding:N1(U,j),startPadding:j?U.left:U.top,endPadding:j?U.right:U.bottom,crossPadStart:j?U.top:U.left,crossPadEnd:j?U.bottom:U.right,striped:$.item.striped||!1,gap:$.item.gap??0}}function G4($,J){if(J)return $.item.width??$.item.estimatedWidth??100;return $.item.height??$.item.estimatedHeight??40}function A4($){let J=[...$];return J.sort((Q,j)=>(Q.priority??50)-(j.priority??50)),J}function D4($){let J=new Set;for(let Q of $){if(J.has(Q.name))throw Error(`[vlist] Duplicate plugin: ${Q.name}`);J.add(Q.name)}for(let Q of $)if(Q.conflicts){for(let j of Q.conflicts)if(J.has(j))throw Error(`[vlist] Plugin "${Q.name}" conflicts with "${j}"`)}}function w1($,J=[]){V4($);let Q=X4($,J),j=Q.axis.primary==="x",U=$.scroll?.mode==="bounded",Z=G4($,j),q=Q.gap,K=q>0?typeof Z==="function"?(G2)=>Z(G2)+q:Z+q:Z,A=typeof Z==="number"?Z:20,W=$.items?.length??0,_=Q.striped?`${Q.classPrefix}-item--odd`:"",D=F0(),F=k1(Q.classPrefix,j,Q.startPadding,Q.crossPadStart,Q.crossPadEnd,_,q,D),Y=J.length>0?A4(J):J;if(J.length>0)D4(Y);let f=X1($.container),R=G1(f,Q.classPrefix,j,$.ariaLabel);if($.scroll?.scrollbar==="none")R.viewport.classList.add(`${Q.classPrefix}-viewport--no-scrollbar`);if($.scroll?.gutter==="stable")R.viewport.classList.add(`${Q.classPrefix}-viewport--gutter-stable`);let M=K0(K,W);if(q>0){let G2=M.getTotalSize;M.getTotalSize=()=>{let n=G2();return n>0?n-q:0}}let X=M1(Q.classPrefix),L=Math.ceil(4096/A)+Q.overscan*2+8,B=V1(L);B.totalItems=W;let v=$.items??[],G=()=>v,O=new Map,p=b1(),m={velocity:0,reliable:!1},k={range:{start:0,end:-1}},l={scrollPosition:0,direction:"down"},s={scrollPosition:0},h=-1,e=-1,c=-1,o=null,r=O1(Y),y=new Map,x=[],V=[],b=[],u=null,a=null,T=null,N=null,P=null,t=null,W2=null,H=null,w=null,z=null,E=null,g=!1,J2=!1,Q2=null,$2=0,Y2=0,B2=null,A2=null,S=null,i=null,j2=null,V2=null,U2=null,D2=null;B.containerSize=j?R.viewport.clientWidth:R.viewport.clientHeight,B.crossSize=j?R.viewport.clientHeight:R.viewport.clientWidth;let R2=H1({sizeCache:M,getPixel:()=>a?a():B.scrollPosition,setPixel:(G2)=>{if(T)T(G2);else if(j)R.viewport.scrollLeft=G2;else R.viewport.scrollTop=G2},getContainerSize:()=>B.containerSize});if(J.length>0){let G2={dom:R,sizeCache:M,scroll:R2,pool:X,config:Q,emitter:D,template:$.item.template,registerMethod(n,H2){y.set(n,H2)},getMethod(n){return y.get(n)},registerClickHandler(n){x.push(n)},registerKeydownHandler(n){V.push(n)},registerDestroyHandler(n){b.push(n)},enableListboxRole(){let n=R.content.getAttribute("role");if(!n||n==="list")R.content.setAttribute("role","listbox"),R.content.setAttribute("tabindex","0");F.itemRole="option",F.interactive=!0},setSizeConfig(n){let H2=K0(n,B.totalItems),v2=y.get("_setSizeCacheBase");if(v2){let C2=M.rebuild;Object.assign(M,H2),M.rebuild=C2,v2(H2.rebuild)}else Object.assign(M,H2)},setScrollFns(n,H2){a=n,T=H2},setBoundedWrap(n){D2=n},cancelScroll(){E2?.cancelScroll()},setVirtualTotalFn(n){u=n,F.ariaTotalFn=n},setIndexMapFn(n){F.indexMap=n},getItems:G,getItem(n){return t?t(n):v[n]},getState(){return B},rebuildSizeCache(){M.rebuild(B.totalItems)},updateContentSize(n){if(U2){U2.refresh(n);return}B.totalSize=n,R.content.style[j?"width":"height"]=n+Q.mainAxisPadding+"px"},setRenderFn(n,H2){N=n,P=H2},renderIfNeeded(){q2()},forceRender(){Z2()},setGetItemFn(n){t=n},setItemStateFn(n){W2=n},getItemStateFn(){return W2},get rawSizeSpec(){return Z},scrollTo(n){if(T)T(n);else if(j)R.viewport.scrollLeft=n;else R.viewport.scrollTop=n},smoothScrollTo(n,H2,v2,C2){if(i)i(n,H2,T??void 0,v2,C2);else G2.scrollTo(typeof n==="function"?n():n)},disableDefaultScroll(){g=!0},disableDefaultResize(){J2=!0},setScrollTarget(n){Q2=n},setScrollToPosFn(n){j2=n},setScrollToIndexFn(n){V2=n},onScrollFrame:K2,onScrollIdle:M2,removeItemById(n){if(H)return H(n);let H2=v.findIndex((v2)=>v2.id===n);if(H2===-1)return-1;return v.splice(H2,1),B.totalItems=v.length,M.rebuild(B.totalItems),I(),H2},insertItemAt(n,H2){if(w){w(n,H2);return}v.splice(H2,0,n),B.totalItems=v.length,M.rebuild(B.totalItems),I()},setRemoveItemFn(n){H=n},setInsertItemFn(n){w=n},setUpdateItemFn(n){z=n},setGetIndexByIdFn(n){E=n},getRenderedElement(n){let H2=y.get("_getRenderedElement");if(H2)return H2(n);return O.get(n)??null},setNavConfig(n){if(n.ud!==void 0)$2=n.ud;if(n.lr!==void 0)Y2=n.lr;if(n.scrollIndex)B2=n.scrollIndex;if(n.navigate)A2=n.navigate;if(n.total)S=n.total},getNavConfig:(()=>{let n={ud:0,lr:0,scrollIndex:null,navigate:null,total:null};return()=>{return n.ud=$2,n.lr=Y2,n.scrollIndex=B2,n.navigate=A2,n.total=S,n}})()};for(let n of Y)if(n.setup)try{n.setup(G2)}catch(H2){D.emit("error",{error:H2 instanceof Error?H2:Error(String(H2)),context:`plugin:setup:${n.name}`})}}let T2=Q.classPrefix+"--scrolling",k2=!1,F2=$.scroll?.idleTimeout??x2;function b2(){if(l.scrollPosition=R2.getPixelEquivalent(),j)l.direction=B.scrollDirection>0?"right":"left";else l.direction=B.scrollDirection>0?"down":"up";if(D.emit("scroll",l),P1(p,B.scrollPosition),m.velocity=p.velocity,m.reliable=p.sampleCount>=T1,D.emit("velocity:change",m),B.startIndex!==h||B.prevRangeEnd!==e)h=B.startIndex,e=B.prevRangeEnd,k.range.start=B.startIndex,k.range.end=B.prevRangeEnd,D.emit("range:change",k)}let w2=!1;function I(){if(N)return;let G2=M.getTotalSize();if(U2){U2.refresh(G2);return}if(R.content.style[j?"width":"height"]=G2+Q.mainAxisPadding+"px",!w2&&G2>a2)w2=!0,D.emit("error",{error:Error(`Content size (${G2}px) exceeds browser limit (${a2}px). Enable bounded scroll (scroll: { mode: "bounded" }) for large datasets.`),context:"content:size:overflow"})}function q2(){if(N)N();else L0(B,M,Q.overscan,X,R.content,$.item.template,G,O,F,r,t,W2)}function K2(){if(!k2)k2=!0,R.root.classList.add(T2);if(q2(),O0(r.afterScroll,B.scrollPosition,B.scrollDirection),B.scrollPosition!==c)c=B.scrollPosition,b2()}function M2(){if(k2)k2=!1,R.root.classList.remove(T2);B.scrollDirection=0,R1(r.idle),m.velocity=0,m.reliable=!1,D.emit("velocity:change",m),s.scrollPosition=R2.getPixelEquivalent(),D.emit("scroll:idle",s)}function Z2(){if(B.renderPending=!0,P)P();else L0(B,M,Q.overscan,X,R.content,$.item.template,G,O,F,r,t,W2);if(O0(r.afterScroll,B.scrollPosition,B.scrollDirection),B.scrollPosition!==c){if(c=B.scrollPosition,b2(),o!==null)clearTimeout(o);o=setTimeout(M2,F2)}}let O2=g?!1:$.scroll?.wheel!==!1,E2;if(g&&(U||D2))throw Error(`vlist: page() is not compatible with ${D2?"the carousel plugin":'scroll: { mode: "bounded" }'} — bounded page-mode scrolling is not implemented yet.`);if(U||D2)U2=D1({state:B,viewport:R.viewport,content:R.content,isX:j,wheelEnabled:O2,idleTimeout:$.scroll?.idleTimeout??x2,...Q2?{scrollTarget:Q2}:{},mainAxisPadding:Q.mainAxisPadding,...$.scroll?.runway!==void 0?{runwayFactor:Math.max(U1,$.scroll.runway)}:{},...D2?{wrap:D2}:{},onFrame:K2,onIdle:M2}),E2=U2,a=()=>B.scrollPosition,T=(G2)=>U2.setLogical(G2);else E2=A1({state:B,viewport:R.viewport,isX:j,wheelEnabled:O2,idleTimeout:$.scroll?.idleTimeout??x2,...Q2?{scrollTarget:Q2}:{},onFrame:K2,onIdle:M2});i=E2.smoothScrollTo;function z2(G2){let H2=G2.target.closest("[data-index]");if(!H2)return null;let v2=parseInt(H2.getAttribute("data-index"),10);if(Number.isNaN(v2))return null;let C2=y.get("_layoutToDataIndex"),I2;if(C2){let f2=C2(v2);if(f2<0)return null;let o2=y.get("_getItem");I2=o2?o2(f2):t?t(f2):v[f2]}else I2=t?t(v2):v[v2];if(I2===void 0)return null;return{item:I2,index:v2}}function y2(G2){for(let H2=0;H2<x.length;H2++)x[H2](G2);let n=z2(G2);if(n)D.emit("item:click",{item:n.item,index:n.index,event:G2})}function X2(G2){let n=z2(G2);if(n)D.emit("item:dblclick",{item:n.item,index:n.index,event:G2})}function d(G2){let n=z2(G2);if(n)D.emit("item:contextmenu",{item:n.item,index:n.index,event:G2})}function _2(G2){let n=G2.target?.tagName;if((n==="INPUT"||n==="TEXTAREA"||n==="SELECT")&&!((G2.ctrlKey||G2.metaKey)&&(G2.key==="f"||G2.key==="F")))return;for(let H2=0;H2<V.length;H2++)V[H2](G2)}if(R.content.addEventListener("click",y2),R.content.addEventListener("dblclick",X2),R.content.addEventListener("contextmenu",d),V.length>0)R.root.addEventListener("keydown",_2);let N2=null;if(!J2)setTimeout(()=>{if(B.destroyed)return;N2=new ResizeObserver((n)=>{for(let H2 of n){let{width:v2,height:C2}=H2.contentRect,I2=j?v2:C2,f2=j?C2:v2;if(Math.abs(I2-B.containerSize)<1&&Math.abs(f2-B.crossSize)<1)continue;if(B.containerSize=I2,B.crossSize=f2,B.resizeCapacity(I2,A,Q.overscan),U2)U2.refresh(M.getTotalSize());Z2(),E1(r.resize,v2,C2),D.emit("resize",{width:v2,height:C2})}}),N2.observe(R.viewport)},0);B.resizeCapacity(B.containerSize,A,Q.overscan),I(),B.initialized=!0;let L2=null;if($.defer)L2=requestAnimationFrame(()=>{if(L2=null,!B.destroyed)q2()});else q2();if(!g)E2.attach();let P2={get element(){return R.root},get items(){return v},get total(){return u?u():v.length},setItems(G2){v=[...G2],B.totalItems=v.length,M.rebuild(B.totalItems),I(),Z2()},appendItems(G2){v.push(...G2),B.totalItems=v.length,M.rebuild(B.totalItems),I(),Z2()},prependItems(G2){v.unshift(...G2),B.totalItems=v.length,M.rebuild(B.totalItems),I(),Z2()},updateItem(G2,n){if(z){if(!z(G2,n))return}else{let H2=v.findIndex((v2)=>v2.id===G2);if(H2===-1)return;v[H2]={...v[H2],...n}}Z2()},insertItem(G2,n){if(w)w(G2,n??B.totalItems);else{if(n===void 0)v.push(G2);else v.splice(n,0,G2);B.totalItems=v.length,M.rebuild(B.totalItems),I()}Z2()},removeItem(G2){if(H){if(H(G2)<0)return}else{let n=v.findIndex((H2)=>H2.id===G2);if(n===-1)return;v.splice(n,1),B.totalItems=v.length,M.rebuild(B.totalItems),I()}Z2()},removeItems(G2){if(H){let C2=0;for(let I2 of G2)if(H(I2)>=0)C2++;if(C2>0)Z2();return C2}let n=new Set(G2),H2=v.length;v=v.filter((C2)=>!n.has(C2.id));let v2=H2-v.length;if(v2>0)B.totalItems=v.length,M.rebuild(B.totalItems),I(),B.renderPending=!0,q2();return v2},getItemAt(G2){if(F.indexMap)return v[G2];return t?t(G2):v[G2]},getIndexById(G2){if(E)return E(G2);return v.findIndex((n)=>n.id===G2)},scrollToIndex(G2,n="start"){let H2=u?u():v.length;if(H2===0)return;let v2=Math.max(0,Math.min(G2,H2-1)),C2=typeof n==="string"?n:n.align??"start",I2=typeof n==="object"?n.behavior:void 0,f2=typeof n==="object"?n.duration:void 0,o2=typeof n==="object"?n.easing:void 0;if(V2&&V2(v2,C2,I2,f2,o2)!==!1)return;let A0=M.getOffset(v2),a0=M.getSize(v2),$0=B.containerSize,J4=M.getTotalSize(),i0=Q.mainAxisPadding,$4=Math.max(0,J4+i0-$0),p2;if(j2)p2=j2(v2,M,$0,H2,C2);else{let Q4=Q.startPadding;switch(C2){case"center":p2=Q4+A0-($0-a0)/2;break;case"end":p2=A0+a0+i0-$0;break;default:p2=A0}p2=Math.max(0,Math.min(p2,$4))}if(I2==="smooth")E2.smoothScrollTo(p2,f2??j1,T??void 0,o2);else if(T)T(p2);else if(j)R.viewport.scrollLeft=p2;else R.viewport.scrollTop=p2},getScrollPosition(){return R2.getPixelEquivalent()},on:D.on.bind(D),off:D.off.bind(D),destroy(){if(B.destroyed)return;if(B.destroyed=!0,k2)k2=!1,R.root.classList.remove(T2);if(L2!==null)cancelAnimationFrame(L2),L2=null;if(o!==null)clearTimeout(o),o=null;E2.detach(),N2?.disconnect(),R.content.removeEventListener("click",y2),R.content.removeEventListener("dblclick",X2),R.content.removeEventListener("contextmenu",d),R.root.removeEventListener("keydown",_2);let G2=[];for(let n of b)try{n()}catch(H2){G2.push(H2 instanceof Error?H2:Error(String(H2)))}for(let n of Y)if(n.destroy)try{n.destroy()}catch(H2){G2.push(H2 instanceof Error?H2:Error(String(H2)))}for(let[,n]of O)n.remove();if(O.clear(),X.clear(),R.root.remove(),D.emit("destroy",void 0),D.clear(),G2.length>0)for(let n of G2)console.error("vlist: error during destroy:",n)}};for(let[G2,n]of y)P2[G2]=n;return P2}var H4=($)=>{if(typeof $!=="object"){let J=$??2;return{top:J,right:J,bottom:J,left:J}}return{top:$.top??2,right:$.right??2,bottom:$.bottom??2,left:$.left??2}},z1=($,J,Q={},j="vlist",U=!1,Z)=>{let{autoHide:q=!0,autoHideDelay:K=1000,minThumbSize:A=15,showOnHover:W=!0,showOnViewportEnter:_=!0,clickBehavior:D="scroll"}=Q,F=D==="page"?"scroll":D,Y=Z??$,f=H4(Q.padding),R=U?f.left:f.top,C=U?f.right:f.bottom,M=U?f.bottom:f.right,X=Q.hoverZoneWidth??M+16,L=0,B=0,v=0,G=0,O=!1,p=!1,m=0,k=0,l=0,s=null,h=!1,e=null,c=0,o=0,r=null,y=null,x=null,V=U?"width":"height",b=U?"translateX":"translateY",u=U?(Z2)=>Z2.clientX:(Z2)=>Z2.clientY,a=U?"left":"top",T=document.createElement("div"),N=document.createElement("div"),P=document.createElement("div"),t=U?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",W2=()=>{if(Y===$)return;let Z2=$.offsetTop;T.style[U?"left":"top"]=Z2?`calc(var(${t}) + ${Z2}px)`:`var(${t})`,P.style[U?"left":"top"]=`${Z2}px`},H=()=>{if(T.className=`${j}-scrollbar`,N.className=`${j}-scrollbar__thumb`,U)T.classList.add(`${j}-scrollbar--horizontal`);if(Q.padding!==void 0)Y.style.setProperty("--vlist-custom-scrollbar-padding-top",`${f.top}px`),Y.style.setProperty("--vlist-custom-scrollbar-padding-right",`${f.right}px`),Y.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${f.bottom}px`),Y.style.setProperty("--vlist-custom-scrollbar-padding-left",`${f.left}px`);if(Q.minThumbSize!==void 0)T.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${A}px`);if(T.appendChild(N),Y.appendChild(T),P.className=`${j}-scrollbar__hover`,U)P.classList.add(`${j}-scrollbar__hover--horizontal`),P.style.height=`${X}px`;else P.style.width=`${X}px`;if(Y.appendChild(P),Y!==$)W2()},w=()=>{if(s)clearTimeout(s),s=null},z=()=>{if(!q)return;w(),s=setTimeout(g,K)},E=()=>{if(L<=B)return;if(w(),!h)T.classList.add(`${j}-scrollbar--visible`),h=!0;if(q&&!O&&!p)z()},g=()=>{if(O||p)return;T.classList.remove(`${j}-scrollbar--visible`),h=!1},J2=(Z2,O2)=>{if(L=Z2,B=O2,W2(),L<=B){T.style.display="none",g();return}T.style.display="";let E2=Math.max(0,B-R-C),z2=B/L;if(v=Math.max(A,z2*E2),N.style[V]=`${v}px`,G=E2-v,Q2(l),!q)E()},Q2=(Z2)=>{if(l=Z2,L<=B||G<=0)return;let O2=L-B,E2=Math.min(1,Math.max(0,Z2/O2));N.style.transform=`${b}(${E2*G}px)`},$2=(Z2)=>{if(Z2.target===N||F!=="jump"||G<=0)return;let O2=L-B,E2=T.getBoundingClientRect(),z2=u(Z2)-E2[a],y2=Math.max(0,Math.min(z2-v/2,G));J(y2/G*O2),E()},Y2=()=>{if(r!==null)clearTimeout(r),r=null;if(y!==null)cancelAnimationFrame(y),y=null;x=null},B2=(Z2)=>{let O2=G>0?o/Z2*G:0;if(c<O2)return-1;if(c>=O2+v)return 1;return 0},A2=()=>{let Z2=L-B,O2=B2(Z2);if(O2===0){Y2();return}if(O2===-1){if(o<=0){Y2();return}let E2=Math.max(0,o-B);o=E2,J(E2)}else{if(o>=Z2){Y2();return}let E2=Math.min(Z2,o+B);o=E2,J(E2)}E()},S=(Z2)=>{if(x===null){x=Z2,y=requestAnimationFrame(S);return}let O2=L-B,E2=Z2-x;x=Z2;let z2=B2(O2);if(z2===0){Y2();return}let y2=12*B/1000,X2=Math.min(y2*E2,B);if(z2===-1){if(o<=0){Y2();return}let d=Math.max(0,o-X2);o=d,J(d)}else{if(o>=O2){Y2();return}let d=Math.min(O2,o+X2);o=d,J(d)}w(),y=requestAnimationFrame(S)},i=()=>{Y2(),z(),document.removeEventListener("mouseup",i)},j2=(Z2)=>{if(Z2.target===N||F!=="scroll")return;Z2.preventDefault();let O2=T.getBoundingClientRect();c=u(Z2)-O2[a],o=l,A2(),r=setTimeout(()=>{y=requestAnimationFrame(S)},350),document.addEventListener("mouseup",i)},V2=(Z2)=>{Z2.preventDefault(),Z2.stopPropagation(),O=!0,m=u(Z2),k=l,w(),T.classList.add(`${j}-scrollbar--dragging`),document.addEventListener("mousemove",U2),document.addEventListener("mouseup",D2)},U2=(Z2)=>{if(!O)return;let O2=u(Z2)-m,E2=G>0?O2/G:0,z2=L-B,y2=E2*z2,X2=Math.max(0,Math.min(k+y2,z2));N.style.transform=`${b}(${X2/z2*G}px)`,J(X2)},D2=()=>{if(O=!1,T.classList.remove(`${j}-scrollbar--dragging`),q&&!p)z();document.removeEventListener("mousemove",U2),document.removeEventListener("mouseup",D2)},R2=U?(Z2)=>Z2.touches[0].clientX:(Z2)=>Z2.touches[0].clientY,T2=(Z2)=>{Z2.stopPropagation(),O=!0,m=R2(Z2),k=l,w(),T.classList.add(`${j}-scrollbar--dragging`)},k2=(Z2)=>{if(!O)return;Z2.preventDefault();let O2=R2(Z2)-m,E2=G>0?O2/G:0,z2=L-B,y2=E2*z2,X2=Math.max(0,Math.min(k+y2,z2));N.style.transform=`${b}(${X2/z2*G}px)`,J(X2)},F2=()=>{if(O=!1,T.classList.remove(`${j}-scrollbar--dragging`),q)z()},b2=(Z2)=>{if(Z2.target===N)return;if(G<=0)return;let O2=Z2.touches[0],E2=T.getBoundingClientRect(),z2=(U?O2.clientX:O2.clientY)-E2[a];if(F==="jump"){let y2=L-B,X2=Math.max(0,Math.min(z2-v/2,G));J(X2/G*y2)}else c=z2,o=l,A2();E()},w2=()=>{if(_)E()},I=()=>{if(!O){if(p=!1,q)z()}},q2=()=>{p=!0,w(),E()},K2=()=>{if(p=!1,!O&&q)z()},M2=()=>{if(w(),Y2(),e!==null)cancelAnimationFrame(e),e=null;T.removeEventListener("click",$2),T.removeEventListener("mousedown",j2),T.removeEventListener("mouseenter",q2),document.removeEventListener("mouseup",i),T.removeEventListener("mouseleave",K2),T.removeEventListener("touchstart",b2),N.removeEventListener("mousedown",V2),N.removeEventListener("touchstart",T2),N.removeEventListener("touchmove",k2),N.removeEventListener("touchend",F2),$.removeEventListener("mouseenter",w2),$.removeEventListener("mouseleave",I),document.removeEventListener("mousemove",U2),document.removeEventListener("mouseup",D2),P.removeEventListener("click",$2),P.removeEventListener("mousedown",j2),P.removeEventListener("mouseenter",q2),P.removeEventListener("mouseleave",K2),P.remove(),Y.style.removeProperty("--vlist-custom-scrollbar-padding-top"),Y.style.removeProperty("--vlist-custom-scrollbar-padding-right"),Y.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),Y.style.removeProperty("--vlist-custom-scrollbar-padding-left"),T.remove()};if(H(),T.addEventListener("click",$2),T.addEventListener("mousedown",j2),T.addEventListener("mouseenter",q2),T.addEventListener("mouseleave",K2),T.addEventListener("touchstart",b2,{passive:!0}),N.addEventListener("mousedown",V2),N.addEventListener("touchstart",T2,{passive:!0}),N.addEventListener("touchmove",k2,{passive:!1}),N.addEventListener("touchend",F2,{passive:!0}),$.addEventListener("mouseenter",w2),$.addEventListener("mouseleave",I),P.addEventListener("click",$2),P.addEventListener("mousedown",j2),W)P.addEventListener("mouseenter",q2),P.addEventListener("mouseleave",K2);return{show:E,hide:g,updateBounds:J2,updatePosition:Q2,isVisible:()=>h,destroy:M2}};function R0($){let J=null,Q,j=0,U=0,Z=0;return{name:"scrollbar",priority:15,setup(q){let{dom:K,config:A}=q,{classPrefix:W}=A,_=A.axis.primary==="x";Q=q.getState(),j=A.mainAxisPadding;let D=(F)=>{q.scrollTo(F)};if(q.registerMethod("_scrollbar:setCallback",(F)=>{D=F}),J=z1(K.viewport,(F)=>{D(F)},$,W,_,K.root),K.viewport.classList.add(`${W}-viewport--custom-scrollbar`),$?.gutter)K.viewport.classList.add(`${W}-viewport--gutter`);queueMicrotask(()=>{J?.updateBounds(Q.totalSize+j,Q.containerSize)}),q.registerMethod("_scrollbar:getInstance",()=>J),q.registerDestroyHandler(()=>{if(J?.destroy(),J=null,K.viewport.classList.remove(`${W}-viewport--custom-scrollbar`),$?.gutter)K.viewport.classList.remove(`${W}-viewport--gutter`)})},hooks:{onAfterScroll(q){let K=Q.totalSize+j,A=Q.containerSize;if(K!==U||A!==Z)U=K,Z=A,J?.updateBounds(K,A);J?.updatePosition(q),J?.show()},onResize(){let q=Q.totalSize+j,K=Q.containerSize;U=q,Z=K,J?.updateBounds(q,K)}},destroy(){J?.destroy(),J=null}}}var y1=($)=>{let J=Math.max(1,Math.floor($.columns)),Q=$.gap??0,j=$.isHeaderFn,U={row:0,col:0},Z=(R)=>{if(R<=0)return 0;if(!j)return Math.ceil(R/J);let C=0,M=0,X=0;for(let L=0;L<R;L++)if(j(L)){if(X++,M)C++,M=0;C++,M=0}else if(M++,M>=J)C++,M=0;if(M)C++;return C},q=(R)=>{return U.row=K(R),U.col=A(R),U},K=(R)=>{if(!j)return Math.floor(R/J);let C=0,M=0;for(let X=0;X<=R;X++)if(j(X)){if(M)C++,M=0;if(X===R)return C;C++,M=0}else{if(X===R)return C;if(M++,M>=J)C++,M=0}return console.warn(`⚠️ getRow(${R}) fell through - returning ${C}`),C},A=(R)=>{if(!j)return R%J;if(j(R))return 0;let C=0;for(let M=0;M<=R;M++)if(j(M))C=0;else{if(M===R)return C;if(C++,C>=J)C=0}return C},W=(R,C,M,X)=>{if(M<=0){X.start=0,X.end=-1;return}if(!j){X.start=Math.max(0,R*J),X.end=Math.min(M-1,(C+1)*J-1);return}let L=_(R,C,M);X.start=L.start,X.end=L.end},_=(R,C,M)=>{if(M<=0)return{start:0,end:-1};if(!j){let G=Math.max(0,R*J),O=Math.min(M-1,(C+1)*J-1);return{start:G,end:O}}let X=-1,L=-1,B=0,v=0;for(let G=0;G<M;G++){if(j(G)){if(v)B++,v=0;if(B>=R&&B<=C){if(X<0)X=G;L=G}B++,v=0}else{if(B>=R&&B<=C){if(X<0)X=G;L=G}if(v++,v>=J)B++,v=0}if(B>C&&!v)break}if(X<0)return{start:0,end:-1};return{start:X,end:L}},D=(R,C,M)=>{if(C<0||C>=J)return-1;let X=R*J+C;if(X<0||X>=M)return-1;return X},F=(R)=>{let C=(J-1)*Q;return Math.max(0,(R-C)/J)};return{get columns(){return J},get gap(){return Q},update:(R)=>{if(R.columns!==void 0)J=Math.max(1,Math.floor(R.columns));if(R.gap!==void 0)Q=R.gap;if(R.isHeaderFn!==void 0)j=R.isHeaderFn},getTotalRows:Z,getPosition:q,getRow:K,getCol:A,getItemRange:_,fillItemRange:W,getItemIndex:D,getColumnWidth:F,getColumnOffset:(R,C)=>{let M=F(C);return R*(M+Q)}}};var m2={selected:!1,focused:!1};function E0($){if(!$.columns||$.columns<1)throw Error("[vlist] grid: columns must be >= 1");let J,Q,j,U,Z=null,q,K,A,W,_,D,F=null,Y=0,f=0,R=0,C=0,M=new Map,X=0,L=0,B=0,v=0,G=null,O=!1,p="",m="",k="",l={start:0,end:-1},s=-1,h=-1,e=-1,c=!0,o=(N)=>Q.rebuild(N);function r(){let N=(L-1)*B;v=Math.max(0,(X-N)/L)}function y(){if(O)return;O=!0,G=F?.()??null}function x(){return J.getTotalRows(j.totalItems)}function V(N){let P=N/L|0,W2=(N-P*L)*(v+B)+Y,H=Q.getOffset(P)-j.baseOffset+R;if(W)return`translate(${Math.round(H)}px, ${Math.round(W2)}px)`;return`translate(${Math.round(W2)}px, ${Math.round(H)}px)`}function b(N,P){let t=Q.getSize(P)-B;if(W)N.style.width=`${t}px`,N.style.height=`${v}px`;else N.style.width=`${v}px`,N.style.height=`${t}px`}function u(N,P,t){if(G)G(t,m2);else m2.selected=!1,m2.focused=!1;let W2=K(P,t,m2);if(typeof W2==="string")N.innerHTML=W2;else N.innerHTML="",N.appendChild(W2)}function a(){if(j.destroyed)return;let{scrollPosition:N,containerSize:P}=j;if(!c&&N===s&&P===h)return;s=N,h=P,c=!1;let t=x();if(P<=0||t===0)return;y();let W2=Q.indexAtOffset(N),H=Q.indexAtOffset(N+P);if(H<t-1)H++;W2=Math.max(0,W2),H=Math.min(t-1,Math.max(0,H));let w=Math.max(0,W2-D),z=Math.min(t-1,H+D);if(w===j.prevRangeStart&&z===j.prevRangeEnd&&!j.renderPending)return;J.fillItemRange(w,z,j.totalItems,l);let{start:E,end:g}=l;for(let[$2,Y2]of M)if($2<E||$2>g)Y2.el.remove(),U.release(Y2.el),M.delete($2);for(let $2=E;$2<=g;$2++){let Y2=A($2);if(!Y2)continue;let B2=$2/L|0,A2=$2-B2*L,S=M.get($2);if(S===void 0){let V2=U.acquire();V2.className=p,V2.setAttribute("data-index",String($2)),V2.setAttribute("data-id",String(Y2.id)),u(V2,Y2,$2),S={el:V2,lastItem:Y2},M.set($2,S),q.appendChild(V2)}else if(S.lastItem!==Y2)S.el.setAttribute("data-id",String(Y2.id)),S.lastItem=Y2,u(S.el,Y2,$2);else if(G)G($2,m2);if(G)if(S.el.classList.toggle(m,m2.selected),S.el.classList.toggle(k,m2.focused),m2.selected)S.el.setAttribute("aria-selected","true");else S.el.removeAttribute("aria-selected");b(S.el,B2);let i=A2*(v+B)+Y,j2=Q.getOffset(B2)-j.baseOffset+R;S.el.style.transform=W?`translate(${Math.round(j2)}px, ${Math.round(i)}px)`:`translate(${Math.round(i)}px, ${Math.round(j2)}px)`}let J2=Q.getTotalSize();if(J2!==e)e=J2,Z?.updateContentSize(J2);j.prevRangeStart=w,j.prevRangeEnd=z,j.renderPending=!1;let Q2=g-E+1;j.visibleCount=Math.min(Q2,j.capacity),j.startIndex=E;for(let $2=0;$2<j.visibleCount;$2++){let Y2=E+$2,B2=Y2/L|0;j.visibleIndices[$2]=Y2,j.visibleOffsets[$2]=Q.getOffset(B2),j.visibleSizes[$2]=Q.getSize(B2)}}function T(){if(j.destroyed)return;o(x()),e=-1,j.prevRangeStart=-1,j.prevRangeEnd=-1,j.renderPending=!0,c=!0,a()}return{name:"grid",priority:10,conflicts:["masonry","table"],setup(N){L=Math.max(1,Math.floor($.columns)),B=$.gap??0,J=y1({columns:$.columns,gap:B}),Q=N.sizeCache,j=N.getState(),U=N.pool,Z=N,q=N.dom.content,K=N.template,W=N.config.axis.primary==="x",_=N.config.classPrefix,D=N.config.overscan,A=N.getItem.bind(N),F=()=>N.getItemStateFn(),p=`${_}-item ${_}-grid-item`,m=`${_}-item--selected`,k=`${_}-item--focused`,Y=N.config.crossPadStart,f=N.config.crossAxisPadding,R=N.config.startPadding,C=N.config.mainAxisPadding,X=j.crossSize-f,r();let P=N.rawSizeSpec,t;if(typeof P==="function"){let E={columnWidth:J.getColumnWidth(X),columns:$.columns,gap:B};t=P(0,E),N.setSizeConfig((g)=>{E.columnWidth=J.getColumnWidth(X);let J2=g*$.columns;return P(J2,E)+B})}else if(t=P,B>0)N.setSizeConfig(t+B);let W2=null,H=Q.rebuild;function w(){if(Q.rebuild===W2)return;H=Q.rebuild,o=(z)=>H(z),W2=(z)=>{o(Math.ceil(z/L))},Q.rebuild=W2}if(N.registerMethod("_setSizeCacheBase",(z)=>{H=z,o=(E)=>H(E)}),w(),o(x()),B>0){let z=Q.getTotalSize;Q.getTotalSize=()=>{let E=z();return E>0?E-B:0}}N.setVirtualTotalFn(()=>x()),N.dom.root.classList.add(`${_}--grid`),N.setRenderFn(a,T),N.registerMethod("getGridLayout",()=>J),N.registerMethod("_getRowGap",()=>J.gap),N.registerMethod("updateGrid",(z)=>{if(z.columns!==void 0){if(!Number.isInteger(z.columns)||z.columns<1)throw Error("[vlist] updateGrid: columns must be >= 1")}if(z.gap!==void 0&&z.gap<0)throw Error("[vlist] updateGrid: gap must be >= 0");if(J.update(z),z.columns!==void 0)L=Math.max(1,Math.floor(z.columns));if(z.gap!==void 0)B=z.gap;if(z.gap!==void 0||z.columns!==void 0){let E=J.gap;if(typeof P==="function"){let g={columnWidth:J.getColumnWidth(X),columns:J.columns,gap:E};N.setSizeConfig((J2)=>{g.columnWidth=J.getColumnWidth(X);let Q2=J2*J.columns;return P(Q2,g)+E})}else N.setSizeConfig(t+E);w(),o(x())}if(z.columns!==void 0)N.setNavConfig({ud:J.columns});X=j.crossSize-f,r(),T()}),N.registerMethod("scrollToIndex",(z,E="start")=>{let g=J.getRow(z),J2=x();if(J2===0)return;let Q2=Math.max(0,Math.min(g,J2-1)),$2=Q.getOffset(Q2)+R,Y2=Q.getSize(Q2),B2=j.containerSize,A2=Q.getTotalSize()+C,S=Math.max(0,A2-B2),i=typeof E==="string"?E:E.align??"start",j2=typeof E==="object"?E.behavior:void 0,V2=typeof E==="object"?E.duration:void 0,U2;switch(i){case"center":U2=$2-(B2-Y2)/2;break;case"end":U2=$2-B2+Y2;break;default:U2=$2}if(U2=Math.max(0,Math.min(U2,S)),j2==="smooth"&&V2&&V2>0)N.smoothScrollTo(U2,V2);else N.scrollTo(U2)}),N.setNavConfig({total:()=>j.totalItems,ud:$.columns,lr:1,scrollIndex:(z)=>J.getRow(z)}),N.registerDestroyHandler(()=>{for(let[,z]of M)z.el.remove();M.clear(),N.dom.root.classList.remove(`${_}--grid`)})},hooks:{onResize(N,P){let t=j.crossSize-f;if(Math.abs(t-X)<1)return;X=t,r();for(let[W2,H]of M){let w=W2/L|0;b(H.el,w),H.el.style.transform=V(W2)}}},destroy(){M.clear()}}}function k0($){let J=$?.keyboard??!0;return{name:"a11y",priority:55,setup(Q){if(Q.getItemStateFn())return;Q.enableListboxRole();let{dom:j,config:U,sizeCache:Z}=Q,q=Q.getState(),K=Q.emitter,A=U.classPrefix,W=j.liveRegion,_=-1,D=!1,F,Y=-1,f=(k)=>Q.getItem(k),R=()=>q.totalItems,C={id:0,index:0},M={selected:[],items:[]};Q.setItemStateFn((k,l)=>{l.selected=Y===k,l.focused=D&&_===k});function X(k){W.textContent="",W.textContent=k}let L=(k,l,s)=>{let h=k;while(h>=0&&h<s){let e=f(h);if(!e||!e.__groupHeader)return h;h+=l}h=k-l;while(h>=0&&h<s){let e=f(h);if(!e||!e.__groupHeader)return h;h-=l}return k},B=(k)=>{let l=Q.getNavConfig(),s=l.scrollIndex?l.scrollIndex(k):k,h=Z.getOffset(s),e=Z.getSize(s),c=q.scrollPosition,o=q.containerSize,r=U.startPadding,y=U.endPadding,x=h+r,V=x+e,b=c;if(x<c)b=Math.max(0,h);else if(V>c+o)b=V+y-o;if(b!==c)q.scrollPosition=b,Q.scrollTo(b)},v=(k,l)=>{if(j.content.setAttribute("aria-activedescendant",`${A}-item-${k}`),l)B(k);Q.forceRender()},G=(k)=>{_=k,D=!0,v(k,!0);let l=f(k);if(l)C.id=l.id,C.index=k,K.emit("focus:change",C),X(`Item ${k+1} of ${R()}`)},O=(k,l)=>{if(_=k,l)D=!0;let s=f(k);if(s&&F===s.id)F=void 0,Y=-1;else F=s?.id,Y=s?k:-1;if(v(k,l),F!==void 0&&s&&F===s.id)M.selected[0]=F,M.selected.length=1,M.items[0]=s,M.items.length=1,X(`Selected, item ${k+1} of ${R()}`);else M.selected.length=0,M.items.length=0,X("Deselected");K.emit("selection:change",M)},p=()=>{if(q.destroyed)return;if(!j.content.matches(":focus-visible"))return;let k=R();if(k===0)return;let l=_>=0?Math.min(_,k-1):0;l=L(l,1,k),G(l)},m=(k)=>{if(q.destroyed)return;let l=k.relatedTarget;if(l&&j.root.contains(l))return;D=!1,j.content.removeAttribute("aria-activedescendant"),Q.forceRender()};if(j.content.addEventListener("focusin",p),j.content.addEventListener("focusout",m),J)Q.registerKeydownHandler((k)=>{if(q.destroyed)return;let l=R();if(l===0)return;let s=_,h=s;if(k.key===" "||k.key==="Enter"){if(s>=0){let c=f(s);if(c&&!c.__groupHeader)O(s,!0)}k.preventDefault();return}let e=Q.getNavConfig();if(e.navigate)switch(k.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":h=e.navigate(s,k.key,l);break;default:return}else{let c=e.ud||1,o=e.lr,r=U.axis.primary==="x";switch(k.key){case"ArrowUp":if(r&&!o)return;h=s-(r?o:c);break;case"ArrowDown":if(r&&!o)return;h=s+(r?o:c);break;case"ArrowLeft":if(!r&&!o)return;h=s-(r?c:o);break;case"ArrowRight":if(!r&&!o)return;h=s+(r?c:o);break;case"PageUp":case"PageDown":{let y=Z.getSize(Math.max(0,e.scrollIndex?e.scrollIndex(s):s)),V=Math.max(1,Math.floor(q.containerSize/y))*c;h=k.key==="PageUp"?s-V:s+V;break}case"Home":h=0;break;case"End":h=l-1;break;default:return}}if(h<0)h=0;else if(h>=l)h=l-1;if(k.preventDefault(),h=L(h,h>=s?1:-1,l),h!==s)G(h)});Q.registerClickHandler((k)=>{if(q.destroyed)return;let l=k.target.closest("[data-index]");if(!l)return;let s=parseInt(l.dataset.index??"-1",10);if(s<0)return;let h=f(s);if(!h||h.__groupHeader)return;D=!1,j.content.focus({preventScroll:!0}),O(s,!1)}),Q.registerDestroyHandler(()=>{j.content.removeEventListener("focusin",p),j.content.removeEventListener("focusout",m)})}}}var t2=($,J,Q)=>{if(String(Q).startsWith(h2))return!1;let j=h2+J;if($.has(j))return $.delete(j),$.add(Q),!0;return!1},v1=($)=>({selected:new Set($??[]),focusedIndex:-1,focusVisible:!1});function c2($,J,Q,j){if(Q===0)return;let U=j?-J:J,Z=$.focusedIndex+U;if(Z<0)Z=0;if(Z>=Q)Z=Q-1;$.focusedIndex=Z}function q0($){return Array.from($)}var O4={preventScroll:!0};function T0($){let J=$?.mode??"single",Q=$?.followFocus??!1,j=$?.focusOnClick??!1,U=$?.keyboard??!0,Z,q,K,A,W,_,D,F,Y=-1,f=new Map,R=null,C=null,M=null,X=null,L,B=!1;function v(b){if(B)return;B=!0,R=b.getMethod("_layoutToDataIndex")??null,C=b.getMethod("_dataToLayoutIndex")??null,M=b.getMethod("_isGroupHeader")??null,X=b.getMethod("_scrollItemIntoView")??null,O=b.getMethod("_getLoadedItem")??null;let u=b.getMethod("getGroupLayout");if(u){let a=u();L=()=>a.totalEntries}}let G=(b)=>R?R(b):b,O=null,p=(b)=>{if(O)return O(b);return q()[b]},m=(b)=>{let u=G(b);return u>=0?p(u):void 0},k=(b,u,a)=>{if(!M)return b;let T=b;while(T>=0&&T<a){if(!M(T))return T;T+=u}T=b-u;while(T>=0&&T<a){if(!M(T))return T;T-=u}return b};function l(b,u){if(J==="single")Z.selected.clear(),f.clear();if(Z.selected.add(b),u)f.set(b,u)}function s(b,u){if(Z.selected.has(b))Z.selected.delete(b),f.delete(b);else l(b,u)}function h(){Z.selected.clear(),f.clear()}function e(b){Z.selected.delete(b),f.delete(b)}function c(b,u){let a=Math.min(b,u),T=Math.max(b,u);for(let N=a;N<=T;N++){if(M?.(N))continue;let P=m(N);if(P)Z.selected.add(P.id),f.set(P.id,P);else if(O){let t=G(N);if(t>=0)Z.selected.add(h2+t)}}}function o(){let b=D.totalItems;for(let u=0;u<b;u++){if(M?.(u))continue;let a=m(u);if(a)Z.selected.add(a.id),f.set(a.id,a);else if(O){let T=G(u);if(T>=0)Z.selected.add(h2+T)}}}function r(){if(Z.selected.size===0)return[];if(f.size>=Z.selected.size){let T=[];for(let N of Z.selected){let P=f.get(N);if(P)T.push(P)}if(T.length===Z.selected.size)return T}let b=[],u=new Set(Z.selected),a=D.totalItems;for(let T=0;T<a&&u.size>0;T++){if(M?.(T))continue;let N=m(T);if(N&&u.has(N.id))b.push(N),f.set(N.id,N),u.delete(N.id)}return b}function y(){K(),A.emit("selection:change",{selected:q0(Z.selected),items:r()})}let x=null,V=-1;return{name:"selection",priority:50,setup(b){b.enableListboxRole(),Z=v1($?.initial),q=b.getItems.bind(b),K=b.forceRender.bind(b),A=b.emitter,W=b.dom;let u=b.config;if(_=b.sizeCache,D=b.getState(),F=b.scrollTo.bind(b),L=()=>D.totalItems,J==="none"){b.registerMethod("select",()=>{}),b.registerMethod("deselect",()=>{}),b.registerMethod("toggleSelect",()=>{}),b.registerMethod("selectAll",()=>{}),b.registerMethod("clearSelection",()=>{}),b.registerMethod("getSelected",()=>[]),b.registerMethod("getSelectedItems",()=>[]),b.registerMethod("selectNext",()=>{}),b.registerMethod("selectPrevious",()=>{}),b.registerMethod("_seedSelection",()=>{}),b.registerMethod("_getFocusedId",()=>{return}),b.registerMethod("_focusById",()=>{});return}let a=u.classPrefix;b.setItemStateFn((w,z)=>{if(v(b),Z.selected.size>0){let E=G(w),g=E>=0?m(w):void 0,J2=g?.id;if(J2!==void 0)if(Z.selected.has(J2))z.selected=!0;else if(t2(Z.selected,E,J2))z.selected=!0,f.delete(h2+E),f.set(J2,g);else z.selected=!1;else z.selected=O!==null&&E>=0&&Z.selected.has(h2+E)}else z.selected=!1;z.focused=Z.focusVisible&&Z.focusedIndex===w}),b.registerMethod("_getSelectedIds",()=>Z.selected),b.registerMethod("_getFocusedIndex",()=>Z.focusVisible?Z.focusedIndex:-1),W.root.classList.add(`${a}--selectable`);let T=(w)=>{x=null,V=-1;let z=w.target.closest("[data-index]");if(!z)return!1;let E=parseInt(z.dataset.index??"-1",10);if(E<0)return!1;if(M?.(E))return!1;if(G(E)<0)return!1;let J2=m(E);if(!J2)return!1;return x=J2,V=E,!0},N=0,P=(w)=>{if(w<0)return;if(X){X(w);return}if(!N){let A2=b.getMethod("_getRowGap");N=A2?A2():0}let z=b.getNavConfig(),E=z.scrollIndex?z.scrollIndex(w):w,g=_.getOffset(E),J2=_.getSize(E)-N,Q2=D.containerSize,$2=D.scrollPosition,Y2=u.startPadding,B2=u.endPadding;if(g<$2)F(g);else if(Y2+g+J2+B2>$2+Q2)F(Y2+g+J2+B2-Q2)},t=(w)=>{let z=W.content.querySelectorAll(`[data-index="${w}"]`),E=null;for(let g=0;g<z.length;g++){let J2=z[g];if(J2.style.display!=="none"){E=J2;break}}if(!E&&z.length>0)E=z[0];W.content.setAttribute("aria-activedescendant",E?.id??`${a}-item-${w}`)},W2=()=>{if(D.destroyed)return;if(v(b),!W.content.matches(":focus-visible")&&!W.root.matches(":focus-visible"))return;let w=L();if(w===0)return;let z=Z.focusedIndex>=0?Math.min(Z.focusedIndex,w-1):0;z=k(z,1,w),Z.focusedIndex=z,Z.focusVisible=!0,t(z),P(z),K()};W.root.addEventListener("focusin",W2);let H=(w)=>{if(D.destroyed)return;let z=w.relatedTarget;if(z&&W.root.contains(z))return;Z.focusVisible=!1,K(),W.content.removeAttribute("aria-activedescendant")};if(W.root.addEventListener("focusout",H),b.registerDestroyHandler(()=>{W.root.removeEventListener("focusin",W2),W.root.removeEventListener("focusout",H)}),b.registerClickHandler((w)=>{if(v(b),!T(w))return;if(J==="multiple"&&w.shiftKey&&Z.focusedIndex>=0){let E=Y>=0?Y:Z.focusedIndex,g=G(E),J2=G(V);if(g>=0&&J2>=0)c(E,V);Z.focusedIndex=V,Z.focusVisible=j,Y=V,y();return}if(Z.focusedIndex=V,Z.focusVisible=j,Y=V,(W.content.getAttribute("tabindex")!==null?W.content:W.root).focus(O4),J==="single")l(x.id,x);else s(x.id,x);y()}),U)b.registerKeydownHandler((w)=>{v(b);let z=L();if(z===0)return;let E=b.getNavConfig(),g=Z.focusedIndex,J2=!1,Q2=!1;if(E.navigate&&(w.key==="ArrowUp"||w.key==="ArrowDown"||w.key==="ArrowLeft"||w.key==="ArrowRight"||w.key==="PageUp"||w.key==="PageDown"||w.key==="Home"||w.key==="End")){let Y2=E.total?E.total():z,B2=E.navigate(Z.focusedIndex,w.key,Y2);if(B2!==Z.focusedIndex)Z.focusedIndex=Math.max(0,Math.min(B2,Y2-1));Z.focusVisible=!0,J2=!0}else switch(w.key){case"ArrowUp":{let Y2=E.ud||1,B2=E.lr,A2=u.axis.primary==="x";if(A2&&!B2)break;c2(Z,-(A2?B2:Y2),z,u.reverse),Z.focusVisible=!0,J2=!0;break}case"ArrowDown":{let Y2=E.ud||1,B2=E.lr,A2=u.axis.primary==="x";if(A2&&!B2)break;c2(Z,A2?B2:Y2,z,u.reverse),Z.focusVisible=!0,J2=!0;break}case"ArrowLeft":{let Y2=E.ud||1,B2=E.lr,A2=u.axis.primary==="x";if(!A2&&!B2)break;c2(Z,-(A2?Y2:B2),z,u.reverse),Z.focusVisible=!0,J2=!0;break}case"ArrowRight":{let Y2=E.ud||1,B2=E.lr,A2=u.axis.primary==="x";if(!A2&&!B2)break;c2(Z,A2?Y2:B2,z,u.reverse),Z.focusVisible=!0,J2=!0;break}case"Home":if(z>0)Z.focusedIndex=0;Z.focusVisible=!0,J2=!0;break;case"End":if(z>0)Z.focusedIndex=z-1;Z.focusVisible=!0,J2=!0;break;case"PageUp":case"PageDown":{let Y2=E.ud||1,B2=Math.max(0,Z.focusedIndex),A2=E.scrollIndex?E.scrollIndex(B2):B2,S=_.getSize(A2),i=D.containerSize,V2=(S>0?Math.max(1,Math.floor(i/S)):10)*Y2;if(R&&C){let U2=R(Z.focusedIndex),D2=w.key==="PageUp"?-V2:V2,R2=D.totalItems-1;Z.focusedIndex=C(Math.max(0,Math.min(R2,U2+D2)))}else c2(Z,w.key==="PageUp"?-V2:V2,z);Z.focusVisible=!0,J2=!0;break}case" ":case"Enter":if(w.key===" "&&w.shiftKey&&J==="multiple"&&Z.focusedIndex>=0){if(Y>=0){let Y2=G(Y),B2=G(Z.focusedIndex);if(Y2>=0&&B2>=0)c(Y,Z.focusedIndex)}Z.focusVisible=!0,Q2=!0,J2=!0;break}if(Z.focusedIndex>=0){let Y2=m(Z.focusedIndex);if(Y2)s(Y2.id,Y2),Y=Z.focusedIndex;Z.focusVisible=!0,Q2=!0,J2=!0}break;case"a":if((w.ctrlKey||w.metaKey)&&J==="multiple"){if(Z.selected.size===D.totalItems)h();else o();Z.focusVisible=!0,Q2=!0,J2=!0}break;case"Delete":case"Backspace":if(Z.selected.size>0)A.emit("delete",{selected:q0(Z.selected),items:r()}),J2=!0;break}if(Z.focusedIndex!==g&&M){let Y2=Z.focusedIndex>g?1:-1;Z.focusedIndex=k(Z.focusedIndex,Y2,z)}let $2=Z.focusedIndex!==g;if(w.shiftKey&&J==="multiple"&&!Q2&&$2){if(w.key==="ArrowUp"||w.key==="ArrowDown"||w.key==="ArrowLeft"||w.key==="ArrowRight"){let A2=m(Z.focusedIndex);if(A2)s(A2.id,A2);Y=Z.focusedIndex,Q2=!0}if((w.ctrlKey||w.metaKey)&&(w.key==="Home"||w.key==="End")){let A2=g>=0?g:Z.focusedIndex,S=G(A2),i=G(Z.focusedIndex);if(S>=0&&i>=0)c(A2,Z.focusedIndex);Y=Z.focusedIndex,Q2=!0}}if(Q&&J==="single"&&!Q2&&$2&&Z.focusedIndex>=0){let Y2=m(Z.focusedIndex);if(Y2)l(Y2.id,Y2);Q2=!0}if(J2){if(w.preventDefault(),$2&&Z.focusedIndex>=0){if(X||!E.navigate)P(Z.focusedIndex);t(Z.focusedIndex)}if(Q2)y();else if($2){if(K(),Z.focusedIndex>=0){let Y2=m(Z.focusedIndex);if(Y2)A.emit("focus:change",{id:Y2.id,index:Z.focusedIndex})}}}});b.registerMethod("select",(...w)=>{for(let z of w)l(z);y()}),b.registerMethod("deselect",(...w)=>{for(let z of w)e(z);y()}),b.registerMethod("toggleSelect",(w)=>{s(w),y()}),b.registerMethod("selectAll",()=>{if(J!=="multiple")return;v(b),o(),y()}),b.registerMethod("clearSelection",()=>{h(),y()}),b.registerMethod("getSelected",()=>{return q0(Z.selected)}),b.registerMethod("getSelectedItems",()=>{return r()}),b.registerMethod("selectNext",()=>{v(b);let w=L();if(w===0)return;if(c2(Z,1,w,u.reverse),M)Z.focusedIndex=k(Z.focusedIndex,1,w);let z=m(Z.focusedIndex);if(z)l(z.id,z);y()}),b.registerMethod("selectPrevious",()=>{v(b);let w=L();if(w===0)return;if(c2(Z,-1,w,u.reverse),M)Z.focusedIndex=k(Z.focusedIndex,-1,w);let z=m(Z.focusedIndex);if(z)l(z.id,z);y()}),b.registerMethod("_seedSelection",(w)=>{if(J==="single"){if(w.length===1)Z.selected.add(w[0])}else for(let z of w)Z.selected.add(z)}),b.registerMethod("_isFollowFocus",()=>Q),b.registerMethod("_getFocusedId",()=>{if(Z.focusedIndex<0)return;return m(Z.focusedIndex)?.id}),b.registerMethod("_focusById",(w)=>{let z=D.totalItems;for(let E=0;E<z;E++){if(M?.(E))continue;let g=m(E);if(g&&g.id===w){Z.focusedIndex=E,Z.focusVisible=j,A.emit("focus:change",{id:w,index:E});return}}})},destroy(){f.clear()}}}var Y0=($)=>$==null?0:typeof $==="function"?$():$;function b0($){let J=$?.scrollPadding,Q,j;return{name:"page",priority:5,setup(U){let{dom:Z,sizeCache:q,config:K,emitter:A}=U,W=K.axis.primary==="x",_=window,D=U.getState();if(U.disableDefaultScroll(),U.disableDefaultResize(),Z.root.style.overflow="visible",Z.root.style.height="auto",W)Z.viewport.style.overflowX="visible",Z.viewport.style.overflowY="visible";else Z.viewport.style.overflow="visible";Z.viewport.classList.remove(`${K.classPrefix}-viewport--custom-scrollbar`),U.setScrollFns(()=>{let M=Z.viewport.getBoundingClientRect();return Math.max(0,W?-M.left:-M.top)},(M)=>{let X=Z.viewport.getBoundingClientRect(),L=(W?X.left+_.scrollX:X.top+_.scrollY)+M;if(W)_.scrollTo({left:L,top:_.scrollY,behavior:"instant"});else _.scrollTo({left:_.scrollX,top:L,behavior:"instant"})}),D.containerSize=W?_.innerWidth:_.innerHeight,D.crossSize=W?_.innerHeight:_.innerWidth;let F=null,Y=()=>{let M=Z.viewport.getBoundingClientRect(),X=Math.max(0,W?-M.left:-M.top);if(D.prevScrollPosition=D.scrollPosition,D.scrollPosition=X,D.scrollDirection=X>D.prevScrollPosition?1:X<D.prevScrollPosition?-1:0,U.onScrollFrame(),F!==null)clearTimeout(F);F=setTimeout(()=>{F=null,U.onScrollIdle()},150)};_.addEventListener("scroll",Y,{passive:!0}),j=()=>_.removeEventListener("scroll",Y);let{innerWidth:f,innerHeight:R}=_,C=()=>{let{innerWidth:M,innerHeight:X}=_;if((W?Math.abs(M-f):Math.abs(X-R))<1)return;f=M,R=X,D.containerSize=W?M:X,D.crossSize=W?X:M,U.forceRender(),A.emit("resize",{width:M,height:X})};if(_.addEventListener("resize",C),Q=()=>_.removeEventListener("resize",C),J)U.setScrollToPosFn((M,X,L,B,v)=>{let G=Y0(W?J.left:J.top),O=Y0(W?J.right:J.bottom);if(B===0)return 0;let p=Math.max(0,Math.min(M,B-1)),m=X.getOffset(p),k=X.getSize(p),l=X.getTotalSize(),s=Math.max(0,l-L+O),h;switch(v){case"center":h=m-G-(L-G-O-k)/2;break;case"end":h=m-L+k+O;break;default:h=m-G}return Math.max(-G,Math.min(h,s))}),U.registerMethod("_scrollItemIntoView",(M)=>{let X=W?_.innerWidth:_.innerHeight,L=Y0(W?J.left:J.top),B=Y0(W?J.right:J.bottom),v=Z.viewport.getBoundingClientRect(),G=W?_.scrollX:_.scrollY,O=W?v.left:v.top,p=O+G,m=q.getOffset(M),k=q.getSize(M),l=O+m,s=X-B,h=G;if(l<L)h=p+m-L;else if(l+k>s)h=p+m+k-s;if(h!==G)if(W)_.scrollTo({left:h,top:_.scrollY,behavior:"instant"});else _.scrollTo({left:_.scrollX,top:h,behavior:"instant"})});U.registerDestroyHandler(()=>{if(j?.(),Q?.(),F!==null)clearTimeout(F)})},destroy(){j?.(),Q?.(),j=void 0,Q=void 0}}}var L4=($)=>{try{let J=sessionStorage.getItem($);if(!J)return;return JSON.parse(J)}catch{return}};function e2($){let J=$?.autoSave,Q=J?L4(J):$?.restore,j=!1,U=null;return{name:"snapshots",priority:50,setup(Z){let{sizeCache:q,emitter:K}=Z,A=Z.getState(),W=()=>{let{scrollPosition:F,totalItems:Y}=A,R=Z.getMethod("getSelected")?.();if(Y===0){let O={index:0,offsetInItem:0,total:0};if(R?.length)O.selectedIds=R;return O}let C=q.indexAtOffset(F),M=F-q.getOffset(C);M=Math.max(0,M);let X={index:C,offsetInItem:M,total:Y,scrollTop:F},L=q.getSize(C);if(L)X.offsetRatio=M/L;let B=Z.getMethod("_layoutToDataIndex");if(B){let O=B(C);if(O<0){for(let p=C+1;p<Y;p++)if(O=B(p),O>=0)break}if(O>=0)X.dataIndex=O}let v=Z.getMethod("_getTotal");if(v)X.dataTotal=v();if(R?.length)X.selectedIds=R;let G=Z.getMethod("_getFocusedId");if(G){let O=G();if(O!==void 0)X.focusedId=O}return X};Z.registerMethod("getScrollSnapshot",W);let _=(F,Y=!0)=>{let{index:f,offsetInItem:R,selectedIds:C,focusedId:M}=F,X=A.totalItems,L=F.dataTotal??F.total;if(X===0&&L&&L>0){let o=Z.getMethod("_setTotal");if(o)o(L),X=A.totalItems;q.rebuild(X),Z.updateContentSize(q.getTotalSize()),A.totalSize=q.getTotalSize()}if(X===0)return Promise.resolve();if(!Number.isFinite(f)||!Number.isFinite(R))return Promise.resolve();if(q.getTotal()===0)q.rebuild(X),Z.updateContentSize(q.getTotalSize()),A.totalSize=q.getTotalSize();let v=Z.getMethod("_dataToLayoutIndex"),G=f;if(F.dataIndex!==void 0&&F.dataIndex>=0)G=v?v(F.dataIndex):F.dataIndex;else if(v)G=v(f);let O=Math.max(0,Math.min(G,X-1)),p=q.getSize(O),m=F.offsetRatio!==void 0?F.offsetRatio*p:Math.min(R,p),k=Z.getMethod("_getTotal")?.(),l=F.total===X||k!==void 0&&F.dataTotal===k,s;if(F.scrollTop!==void 0&&l)s=F.scrollTop;else s=q.getOffset(O)+m;let h=Math.max(0,A.totalSize-A.containerSize);if(s=Math.max(0,Math.min(s,h)),Z.scrollTo(s),Y&&C?.length){let o=Z.getMethod("select");if(o)o(...C)}let e=Z.getMethod("loadVisibleRange"),c=()=>{if(M===void 0)return;let o=Z.getMethod("_focusById");if(o)o(M)};return new Promise((o)=>{let r=(y)=>{if(y)c();o()};if(e){let y=0,x=()=>{if(A.containerSize>0){if(Math.abs(A.scrollPosition-s)>1)Z.scrollTo(s);e().then(()=>r(!0),()=>r(!1))}else if(++y<10)requestAnimationFrame(x);else r(!1)};requestAnimationFrame(x)}else{let y=Z.getMethod("reload");if(y)requestAnimationFrame(()=>{y().then(()=>r(!0),()=>r(!1))});else requestAnimationFrame(()=>r(!0))}})};Z.registerMethod("restoreScroll",_);let D=!!(Q&&J);if(Z.registerDestroyHandler(()=>{j=!0}),J){U=()=>{if(j||D)return;let X=W();try{sessionStorage.setItem(J,JSON.stringify(X))}catch{}},Z.registerMethod("_saveSnapshot",U);let F=0,Y=()=>{if(F)return;F=requestAnimationFrame(()=>{if(F=0,U)U()})};K.on("selection:change",Y),K.on("focus:change",Y);let f=0,R=()=>{if(f=0,U)U()},C=()=>{if(f)clearTimeout(f);f=setTimeout(R,300)};K.on("scroll",C);let M=()=>{U?.()};if(window.addEventListener("beforeunload",M),Z.registerDestroyHandler(()=>{if(F)cancelAnimationFrame(F);if(f)clearTimeout(f);window.removeEventListener("beforeunload",M)}),Q&&Q.total&&Q.total>0){let X=Z.getMethod("_cancelAutoLoad");if(X)X();let L=Z.getMethod("_setTotal");if(L)L(Q.total)}}if(Q){let F=!0;if(Q.selectedIds?.length){let Y=Z.getMethod("_seedSelection");if(Y)Y(Q.selectedIds),F=!1}queueMicrotask(()=>{if(_(Q,F),D=!1,U)U()})}},hooks:{onIdle(){if(U&&!j)U()}},destroy(){j=!0,U=null}}}function C1($,J){if(J===!1)return null;return{duration:Math.min(J?.duration??$.duration,1000),easing:J?.easing??$.easing}}function P0($){let J=$?.duration??200,Q=$?.easing??"cubic-bezier(0.2, 0, 0, 1)",j={duration:J,easing:Q},U=C1(j,$?.remove),Z=C1(j,$?.insert),q=null,K=null;return{name:"transition",conflicts:["grid","table","masonry"],priority:45,setup(A){let{sizeCache:W,emitter:_}=A,D=A.config,F=A.dom,Y=A.getState(),f=D.reverse?"bottom center":"top center",R=D.axis.primary==="x"?"translateX":"translateY",C=A.getMethod("_dataToLayoutIndex")??null,M=(B)=>C?C(B):B,X=(B)=>{let v=String(B).replace(/"/g,"\\\""),G=F.content.querySelector(`[data-id="${v}"]`),O=G?parseInt(G.dataset.index??"-1",10):-1;return{el:G,layoutIndex:O}},L=()=>{let B=F.content.children;for(let v=0;v<B.length;v++)B[v].style.transition="none";F.content.offsetHeight;for(let v=0;v<B.length;v++)B[v].style.transition=""};if(U){let B=(G)=>{if(q)q();let O=typeof document<"u"?document.activeElement:null,p=O&&F.content.contains(O)?parseInt(O.dataset?.index??"-1",10):-1,m=X(G),k=m.layoutIndex,l=m.el,s=k>=0?W.getSize(k):0,h=k>=0?W.getOffset(k):0;if(!l||k<0){if(A.removeItemById(G)<0)return!1;if(A.forceRender(),L(),_.emit("data:change",{type:"remove",id:G}),p>=0){let W2=Y.totalItems;if(W2>0)A.getRenderedElement(Math.min(p,W2-1))?.focus()}return _.emit("remove:end",{id:G}),!0}let e=l.cloneNode(!0);e.style.pointerEvents="none",e.style.overflow="hidden",e.removeAttribute("data-index"),e.removeAttribute("data-id"),e.removeAttribute("id"),e.removeAttribute("aria-selected"),e.classList.remove(`${D.classPrefix}-item--selected`);let c=D.axis.primary==="x"?"scrollLeft":"scrollTop",o=F.viewport[c];if(A.removeItemById(G)<0)return!1;A.forceRender(),L(),_.emit("data:change",{type:"remove",id:G});let y=o-F.viewport[c];e.style.zIndex="1",F.content.appendChild(e);let x=U,V={duration:x.duration,easing:x.easing},b=[],u=Math.round(h-y);b.push(e.animate([{transform:`${R}(${u}px) scaleY(1)`,opacity:1,transformOrigin:f},{transform:`${R}(${Math.round(h)}px) scaleY(0)`,opacity:0,transformOrigin:f}],V));let a=y>0,T=F.content.children;for(let t=0;t<T.length;t++){let W2=T[t];if(W2===e)continue;let H=parseInt(W2.dataset?.index??"-1",10);if(H<0||!a&&H<k)continue;let w=W.getOffset(H),z=H>=k?Math.round(w+s-y):Math.round(w-y),E=Math.round(w);if(z===E)continue;b.push(W2.animate([{transform:`${R}(${z}px)`},{transform:`${R}(${E}px)`}],V))}let N=!1,P=()=>{if(N)return;N=!0,q=null,e.remove();for(let t of b)if(t.playState!=="finished")t.cancel();if(p>=0){let t=Y.totalItems;if(t>0)A.getRenderedElement(Math.min(p,t-1))?.focus()}_.emit("remove:end",{id:G})};return q=P,Promise.all(b.map((t)=>t.finished)).then(P,P),setTimeout(P,x.duration+50),!0},v=(G)=>{if(G.length===0)return 0;if(G.length===1)return B(G[0])?1:0;if(q)q();if(K)K();let O=typeof document<"u"?document.activeElement:null,p=O&&F.content.contains(O)?parseInt(O.dataset?.index??"-1",10):-1,m=[];for(let N of G){let P=X(N);m.push({id:N,layoutIndex:P.layoutIndex,el:P.el,size:P.layoutIndex>=0?W.getSize(P.layoutIndex):0,offset:P.layoutIndex>=0?W.getOffset(P.layoutIndex):0})}m.sort((N,P)=>P.layoutIndex-N.layoutIndex);let k=[];for(let N of m){if(!N.el||N.layoutIndex<0)continue;let P=N.el.cloneNode(!0);P.style.pointerEvents="none",P.style.overflow="hidden",P.removeAttribute("data-index"),P.removeAttribute("data-id"),P.removeAttribute("id"),P.removeAttribute("aria-selected"),P.classList.remove(`${D.classPrefix}-item--selected`),k.push({clone:P,offset:N.offset,size:N.size,layoutIndex:N.layoutIndex})}let l=new Map,s=F.content.children;for(let N=0;N<s.length;N++){let P=s[N],t=P.dataset?.id,W2=parseInt(P.dataset?.index??"-1",10);if(t&&W2>=0)l.set(t,W.getOffset(W2))}let h=D.axis.primary==="x"?"scrollLeft":"scrollTop",e=F.viewport[h],c=[];for(let N of m)if(A.removeItemById(N.id)>=0)c.push(N.id);if(c.length===0)return 0;A.forceRender(),L();for(let N of c)_.emit("data:change",{type:"remove",id:N});if(k.length===0){if(p>=0){let N=Y.totalItems;if(N>0)A.getRenderedElement(Math.min(p,N-1))?.focus()}for(let N of c)_.emit("remove:end",{id:N});return c.length}let o=e-F.viewport[h],r=U,y={duration:r.duration,easing:r.easing},x=[];k.sort((N,P)=>N.layoutIndex-P.layoutIndex);let V=0;for(let N of k){N.clone.style.zIndex="1",F.content.appendChild(N.clone);let P=Math.round(N.offset-o),t=Math.round(N.offset-V);x.push(N.clone.animate([{transform:`${R}(${P}px) scaleY(1)`,opacity:1,transformOrigin:f},{transform:`${R}(${t}px) scaleY(0)`,opacity:0,transformOrigin:f}],y)),V+=N.size}let b=new Set(k.map((N)=>N.clone)),u=F.content.children;for(let N=0;N<u.length;N++){let P=u[N];if(b.has(P))continue;let t=P.dataset?.id,W2=parseInt(P.dataset?.index??"-1",10);if(!t||W2<0)continue;let H=l.get(t);if(H===void 0)continue;let w=W.getOffset(W2),z=Math.round(H-o),E=Math.round(w);if(z===E)continue;x.push(P.animate([{transform:`${R}(${z}px)`},{transform:`${R}(${E}px)`}],y))}let a=!1,T=()=>{if(a)return;a=!0,q=null;for(let{clone:N}of k)N.remove();for(let N of x)if(N.playState!=="finished")N.cancel();if(p>=0){let N=Y.totalItems;if(N>0)A.getRenderedElement(Math.min(p,N-1))?.focus()}for(let N of c)_.emit("remove:end",{id:N})};return q=T,Promise.all(x.map((N)=>N.finished)).then(T,T),setTimeout(T,r.duration+50),c.length};A.registerMethod("removeItem",B),A.registerMethod("removeItems",v)}if(Z){let B=(v,G)=>{if(K)K();if(q)q();let O=G??0,p=new Map,m=F.content.children;for(let N=0;N<m.length;N++){let P=m[N],t=P.dataset?.id,W2=parseInt(P.dataset?.index??"-1",10);if(t&&W2>=0)p.set(t,W.getOffset(W2))}let k=D.axis.primary==="x"?"scrollLeft":"scrollTop",l=D.axis.primary==="x"?"scrollWidth":"scrollHeight",s=D.axis.primary==="x"?"clientWidth":"clientHeight",h=F.viewport[k],e=F.viewport[l]-F.viewport[s],c=h>=e-1;A.insertItemAt(v,O),A.forceRender(),L(),_.emit("data:change",{type:"insert",id:v.id});let o=F.viewport[k]-h,r=M(O);if(D.reverse&&o===0&&c){F.viewport[k]=F.viewport[l]-F.viewport[s];let N=F.viewport[k];if(Y.prevScrollPosition=Y.scrollPosition,Y.scrollPosition=N,o=N-h,o>0)A.forceRender(),L()}let y=A.getRenderedElement(r),x=Z,V={duration:x.duration,easing:x.easing},b=[];if(y){let N=W.getOffset(r);b.push(y.animate([{transform:`${R}(${Math.round(N)}px) scaleY(0)`,opacity:0,transformOrigin:f},{transform:`${R}(${Math.round(N)}px) scaleY(1)`,opacity:1,transformOrigin:f}],V))}let u=F.content.children;for(let N=0;N<u.length;N++){let P=u[N];if(P===y)continue;let t=P.dataset?.id,W2=parseInt(P.dataset?.index??"-1",10);if(!t||W2<0)continue;let H=p.get(t);if(H===void 0)continue;let w=W.getOffset(W2),z=Math.round(H+o),E=Math.round(w);if(z===E)continue;b.push(P.animate([{transform:`${R}(${z}px)`},{transform:`${R}(${E}px)`}],V))}if(b.length===0)return;let a=!1,T=()=>{if(a)return;a=!0,K=null;for(let N of b)if(N.playState!=="finished")N.cancel()};K=T,Promise.all(b.map((N)=>N.finished)).then(T,T),setTimeout(T,x.duration+50)};A.registerMethod("insertItem",B)}},destroy(){if(q)q();if(K)K()}}}function w0($){let J=$?.gap??0,Q=null,j=null,U,Z,q,K,A=new Map,W=new WeakMap,_=0,D=!1,F=!1,Y=!1,f=2;function R(B){return A.get(B)??K}function C(){return Math.max(0,j.sizeCache.getTotalSize()+j.config.mainAxisPadding-U.containerSize)}function M(){let B=C();return B>0&&U.scrollPosition>=B-f}function X(){let B=C();if(B>U.scrollPosition)j.scrollTo(B)}function L(){j.updateContentSize(j.sizeCache.getTotalSize())}return{name:"autosize",priority:5,setup(B){if(j=B,U=B.getState(),Z=B.config.axis.primary==="x",q=Z?"width":"height",J===0)J=B.config.gap;if(K=typeof B.rawSizeSpec==="function"?B.rawSizeSpec(0)+J:B.rawSizeSpec+J,B.setSizeConfig(R),J>0){let O=B.sizeCache.getTotalSize;B.sizeCache.getTotalSize=()=>{let p=O();return p>0?p-J:0}}Q=new ResizeObserver((O)=>{if(U.destroyed||!j)return;let p=!1,m=B.sizeCache.indexAtOffset(U.scrollPosition);for(let e of O){let c=e.target,o=W.get(c);if(o===void 0)continue;if(c.getAttribute("data-index")!==String(o)){Q.unobserve(c);continue}if(A.has(o))continue;let r=e.borderBoxSize[0];if(!r)continue;let y=Z?r.inlineSize:r.blockSize;if(y<=0)continue;let x=y+J,V=K;if(A.set(o,x),p=!0,o<m&&x!==V)_+=x-V;Q.unobserve(c),c.style[q]=`${y}px`}if(!p)return;let k=M();if(B.rebuildSizeCache(),_)B.scrollTo(U.scrollPosition+_),_=0;let l=U.scrollDirection!==0,s=U.totalItems>0&&U.prevRangeEnd>=U.totalItems-1,h=F&&!Y;if(h||k||s||!l){if(L(),D=!1,h||k)X()}else D=!0;B.forceRender()}),B.setScrollToIndexFn((O,p,m,k,l)=>{let s=O>=U.totalItems-1&&p==="end";if(F=s,Y=!1,!s)return!1;let h=B.config.mainAxisPadding,e=()=>{let c=B.sizeCache.getTotalSize();return Math.max(0,c+h-U.containerSize)};if(m==="smooth")Y=!0,B.smoothScrollTo(e,k??300,l,()=>{Y=!1});else B.scrollTo(e())});let v=()=>{F=!1},G=B.dom.viewport;G.addEventListener("wheel",v,{passive:!0}),G.addEventListener("touchstart",v,{passive:!0}),B.registerDestroyHandler(()=>{G.removeEventListener("wheel",v),G.removeEventListener("touchstart",v)}),B.registerMethod("isMeasured",(O)=>A.has(O)),B.registerMethod("setMeasuredSize",(O,p)=>{A.set(O,p)}),B.registerMethod("getMeasuredCount",()=>A.size),B.registerDestroyHandler(()=>{if(Q)Q.disconnect(),Q=null})},hooks:{onCommit(B){if(!Q||!j)return;for(let v=0;v<B.visibleCount;v++){let G=B.visibleIndices[v];if(A.has(G))continue;let O=j.getRenderedElement(G);if(!O)continue;O.style[q]="",W.set(O,G),Q.observe(O)}},onIdle(){if(!j||!D)return;let B=M();if(L(),D=!1,B)X(),j.forceRender()}},destroy(){if(Q)Q.disconnect(),Q=null;A.clear(),F=!1,Y=!1,j=null}}}var S1=($)=>{let J=Math.max(1,Math.floor($.columns)),Q=$.gap??0,j=$.containerSize,U=$.crossOffset??0,Z=$.mainOffset??0,q=0,K=[],A=()=>{let M=(J-1)*Q;q=Math.max(0,(j-M)/J),K=Array(J);let X=q+Q;for(let L=0;L<J;L++)K[L]=U+L*X};A();let W=[],_=0,D=[],F=(M,X)=>{if(M<=0)return _=0,W=[],[];let L=Array(J).fill(Z),B=Array(J);for(let O=0;O<J;O++)B[O]=[];let v=Array(M);for(let O=0;O<M;O++){let p=0,m=L[0];for(let s=1;s<J;s++){let h=L[s];if(h<m)m=h,p=s}let k=X(O),l=L[p];v[O]={index:O,x:K[p],y:l,lane:p,size:k,crossSize:q},B[p].push(O),L[p]=l+k+Q}W=B;let G=0;for(let O=0;O<J;O++){let p=L[O],m=p>0?p-Q:0;if(m>G)G=m}return _=G,v},Y=(M)=>{if(M.length===0)return _;if(_)return _;let X=Array(J).fill(0);for(let B of M){let v=B.y+B.size,G=X[B.lane];if(v>G)X[B.lane]=v}let L=0;for(let B=0;B<J;B++)if(X[B]>L)L=X[B];return L},f=(M,X,L)=>{if(M.length===0||L<=X)return D.length=0,D;if(W.length===0||W.length!==J)return R(M,X,L);D.length=0;for(let B=0;B<J;B++){let v=W[B],G=v.length;if(!G)continue;let O=0,p=G;while(O<p){let m=O+p>>>1,k=M[v[m]];if(k.y+k.size<=X)O=m+1;else p=m}for(let m=O;m<G;m++){let k=M[v[m]];if(k.y>=L)break;D.push(k)}}return D},R=(M,X,L)=>{D.length=0;for(let B of M)if(B.y+B.size>X&&B.y<L)D.push(B);return D};return{get columns(){return J},get gap(){return Q},get containerSize(){return j},update:(M)=>{let X=!1;if(M.columns!==void 0){let L=Math.max(1,Math.floor(M.columns));if(L!==J)J=L,X=!0}if(M.gap!==void 0&&M.gap!==Q)Q=M.gap,X=!0;if(M.containerSize!==void 0&&M.containerSize!==j)j=M.containerSize,X=!0;if(M.crossOffset!==void 0&&M.crossOffset!==U)U=M.crossOffset,X=!0;if(M.mainOffset!==void 0&&M.mainOffset!==Z)Z=M.mainOffset,X=!0;if(X)A()},calculateLayout:F,getTotalSize:Y,getVisibleItems:f}};var h1=($,J,Q)=>{let j=Array.from(J).sort((q,K)=>q-K);if(j.length<=1)return;let U=[];for(let q=0;q<j.length;q++){let K=Q(j[q]);if(K)U.push(K)}if(U.length<=1)return;let Z=$.firstChild;for(let q=0;q<U.length;q++){let K=U[q];if(K===Z)Z=Z.nextSibling;else $.insertBefore(K,Z)}};var F4=($=200)=>{let J=[];return{acquire:()=>{let Z=J.pop();if(Z)return Z;let q=document.createElement("div");return q.setAttribute("role","option"),q},release:(Z)=>{if(Z.remove(),J.length<$)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}}},R4=1,I1=($,J,Q,j=!1,U,Z,q,K,A=()=>0)=>{let W=F4(),_=new Map,D=new Set,F=0,Y="",f=-1,R={selected:!1,focused:!1},C=(c,o)=>{return R.selected=c,R.focused=o,R},M=`${Q}-item ${Q}-masonry-item`,X=`${Q}-group-header`,L=`${Q}-item--selected`,B=`${Q}-item--focused`,v=(c,o)=>{if(typeof o==="string")c.innerHTML=o;else c.replaceChildren(o);u2(c)},G=(c,o,r)=>{c.classList.toggle(L,o),c.classList.toggle(B,r)},O=(c,o)=>{let r=Math.round(o.y-A());if(j)c.style.transform=`translate(${r}px, ${Math.round(o.x)}px)`;else c.style.transform=`translate(${Math.round(o.x)}px, ${r}px)`},p=(c,o)=>{if(j)c.style.width=`${o.size}px`,c.style.height=`${o.crossSize}px`;else c.style.width=`${o.crossSize}px`,c.style.height=`${o.size}px`},m=(c,o,r,y,x)=>{let V=W.acquire(),b=o.__groupHeader,u=C(y,x);if(V.className=b?X:M,V.dataset.index=String(c),V.dataset.id=String(o.id),V.dataset.lane=String(r.lane),b)V.setAttribute("role","presentation"),V.removeAttribute("aria-selected"),V.removeAttribute("aria-setsize"),V.removeAttribute("aria-posinset"),V.removeAttribute("id");else if(K===!0){if(V.setAttribute("role","option"),V.ariaSelected=String(y),Z)V.id=`${Z}-item-${c}`;if(U){let T=U();if(T!==f)f=T,Y=String(T);V.setAttribute("aria-setsize",Y);let N=q?q(c):c+1;V.setAttribute("aria-posinset",String(N))}}else if(V.setAttribute("role","listitem"),V.removeAttribute("aria-selected"),U){let T=U();if(T!==f)f=T,Y=String(T);V.setAttribute("aria-setsize",Y);let N=q?q(c):c+1;V.setAttribute("aria-posinset",String(N))}p(V,r);let a=J(o,c,u);return v(V,a),G(V,y,x),O(V,r),{element:V,lastItem:o,lastSelected:y,lastFocused:x,lastY:r.y-A(),lastX:r.x,lastSize:r.size,lastCrossSize:r.crossSize,lastSeenFrame:F}},k=(c,o,r,y)=>{F++,D.clear();for(let V=0;V<o.length;V++)D.add(o[V].index);let x=null;for(let V=0;V<o.length;V++){let b=o[V],u=b.index,a=c(u);if(!a)continue;let T=r.has(a.id),N=u===y,P=_.get(u);if(P){let t=P.lastItem!==a,W2=P.lastSelected!==T,H=P.lastFocused!==N,w=P.lastY!==b.y-A()||P.lastX!==b.x,z=P.lastSize!==b.size||P.lastCrossSize!==b.crossSize;if(t){let E=C(T,N),g=J(a,u,E);if(v(P.element,g),P.element.dataset.id=String(a.id),P.lastItem=a,!a.__groupHeader){let Q2=q?q(u):u+1;P.element.setAttribute("aria-posinset",String(Q2))}}if(t||W2||H)G(P.element,T,N),P.element.ariaSelected=String(T),P.lastSelected=T,P.lastFocused=N;if(z)p(P.element,b),P.lastSize=b.size,P.lastCrossSize=b.crossSize;if(w)O(P.element,b),P.lastY=b.y-A(),P.lastX=b.x}else{let t=m(u,a,b,T,N);if(!x)x=document.createDocumentFragment();x.appendChild(t.element),_.set(u,t)}}if(x)$.appendChild(x);for(let[V,b]of _)if(D.has(V))b.lastSeenFrame=F;else if(F-b.lastSeenFrame>R4)W.release(b.element),_.delete(V)},l=()=>{for(let c of _.values())W.release(c.element);_.clear(),$.innerHTML=""};return{render:k,getElement:(c)=>_.get(c)?.element,updateItemClasses:(c,o,r)=>{let y=_.get(c);if(!y)return;let x=y.lastSelected!==o,V=y.lastFocused!==r;if(x||V)G(y.element,o,r),y.lastSelected=o,y.lastFocused=r},sortDOM:()=>{h1($,_.keys(),(c)=>_.get(c)?.element)},clear:l,destroy:()=>{l(),W.clear()}}};var E4=100,k4=new Set;function z0($){if(!$.columns||$.columns<1)throw Error("[vlist] masonry: columns must be >= 1");let J,Q=null,j,U=null,Z,q,K,A=[],W=-1,_=-1,D=!0,F=-1,Y=-1,f=0,R=0,C=0,M=0,X={columnWidth:0,columns:0,gap:0,containerWidth:0},L=[],B=(H)=>L[H],v=null,G=null,O=!1;function p(){if(O||!U)return;O=!0,v=U.getMethod("_getSelectedIds")??null,G=U.getMethod("_getFocusedIndex")??null}let m=[],k=new Int32Array(0),l=[],s=null,h=null,e=null,c=null,o=!1,r=!0;function y(){if(o||!U)return;if(s=U.getMethod("_getItemLane")??null,h=U.getMethod("_getItemY")??null,e=U.getMethod("_getItemH")??null,c=U.getMethod("_isGroupHeader")??null,s||c)o=!0}function x(){y();let H=J.columns,w=!!s;if(w){let z=j.totalItems;m=Array(H);for(let E=0;E<H;E++)m[E]=[];if(k.length<z)k=new Int32Array(z);for(let E=0;E<z;E++){if(c?.(E))continue;let g=s(E);if(g<0||g>=H)continue;k[E]=m[g].length,m[g].push(E)}}else{let z=A.length;m=Array(H);for(let E=0;E<H;E++)m[E]=[];if(k.length<z)k=new Int32Array(z);for(let E=0;E<z;E++){let g=A[E];k[E]=m[g.lane].length,m[g.lane].push(E)}}l=Array(H);for(let z=0;z<H;z++){let E=m[z],g=new Float64Array(E.length);for(let J2=0;J2<E.length;J2++){let Q2=E[J2];if(w&&h&&e){let $2=h(Q2),Y2=e(Q2);g[J2]=$2>=0?$2+(Y2>0?Y2*0.5:0):0}else{let $2=A[Q2];g[J2]=$2.y+$2.size*0.5}}l[z]=g}}function V(H,w){let z=H.length;if(!z)return-1;let E=0,g=z-1;while(E<g){let J2=E+g>>1;if(H[J2]<w)E=J2+1;else g=J2}if(E>0&&Math.abs(H[E-1]-w)<=Math.abs(H[E]-w))return E-1;return E}function b(H,w,z){if(r)x(),r=!1;let E=!!s,g,J2;if(E){if(c?.(H))return H;if(g=s(H),g<0)return H;J2=k[H]}else{let B2=A[H];if(!B2)return H;g=B2.lane,J2=k[H]}let Q2=J.columns,$2=m[g];switch(Z?w==="ArrowDown"?"ArrowRight":w==="ArrowUp"?"ArrowLeft":w==="ArrowRight"?"ArrowDown":w==="ArrowLeft"?"ArrowUp":w:w){case"ArrowDown":if(J2+1<$2.length)return $2[J2+1];return H;case"ArrowUp":if(J2>0)return $2[J2-1];return H;case"ArrowRight":{if(g>=Q2-1)return H;let B2=g+1,A2=m[B2];if(!A2.length)return H;let S=V(l[B2],l[g]?.[J2]??0);return S>=0?A2[S]:H}case"ArrowLeft":{if(g<=0)return H;let B2=g-1,A2=m[B2];if(!A2.length)return H;let S=V(l[B2],l[g]?.[J2]??0);return S>=0?A2[S]:H}case"Home":return 0;case"End":{let B2=m[Q2-1];return B2.length>0?B2[B2.length-1]:H}case"PageDown":{let B2=j.containerSize,A2=E?null:A[H],S=A2&&A2.size>0?A2.size:150,i=Math.max(1,Math.floor(B2/S)),j2=Math.min(J2+i,$2.length-1);return $2[j2]}case"PageUp":{let B2=j.containerSize,A2=E?null:A[H],S=A2&&A2.size>0?A2.size:150,i=Math.max(1,Math.floor(B2/S)),j2=Math.max(0,J2-i);return $2[j2]}}return H}let u=null;function a(){if($.size)return(H)=>$.size(H,X);if(u!==null&&typeof u==="function")return(H)=>u(H,X);return(H)=>U.sizeCache.getSize(H)}function T(){let{columns:H,gap:w}=J;X.containerWidth=J.containerSize,X.columns=H,X.gap=w,X.columnWidth=Math.max(0,(J.containerSize-(H-1)*w)/H)}function N(){if(!U)return;T();let H=j.totalItems;A=J.calculateLayout(H,a()),F=H,r=!0,P()}function P(){if(!U)return;let H=J.getTotalSize(A)+M;if(H===Y)return;Y=H,U.updateContentSize(H)}function t(){if(j.destroyed||!U||!Q)return;if(j.totalItems!==F)N();if(D)Y=-1,P();p();let{scrollPosition:H,containerSize:w}=j;if(!D&&H===W&&w===_)return;if(W=H,_=w,D=!1,w<=0||A.length===0)return;let z=Math.max(0,H-K),E=H+w+K,g=J.getVisibleItems(A,z,E),J2=v?.()??k4,Q2=G?.()??-1;L=U.getItems(),Q.render(B,g,J2,Q2);let $2=g.length,Y2=$2>0?g[0].index:0,B2=$2>0?g[$2-1].index:0;j.prevRangeStart=Y2,j.prevRangeEnd=B2,j.renderPending=!1;let A2=Math.min($2,j.capacity);j.visibleCount=A2,j.startIndex=Y2;for(let S=0;S<A2;S++){let i=g[S];j.visibleIndices[S]=i.index,j.visibleOffsets[S]=i.y,j.visibleSizes[S]=i.size}}function W2(){if(j.destroyed)return;Y=-1,N(),j.prevRangeStart=-1,j.prevRangeEnd=-1,j.renderPending=!0,D=!0,t()}return{name:"masonry",priority:10,conflicts:["grid","table"],setup(H){if(U=H,j=H.getState(),u=H.rawSizeSpec,Z=H.config.axis.primary==="x",q=H.config.classPrefix,K=H.config.overscan*E4,H.config.reverse)throw Error("[vlist] masonry: cannot be combined with reverse mode");f=H.config.crossAxisPadding,R=H.config.crossPadStart,C=H.config.startPadding,M=H.config.endPadding;let w=j.crossSize-f;J=S1({columns:$.columns,gap:$.gap??0,containerSize:w,crossOffset:R,mainOffset:C}),Q=I1(H.dom.content,H.template,q,Z,()=>j.totalItems,void 0,void 0,void 0,()=>j.baseOffset),H.dom.root.classList.add(`${q}--masonry`),H.setRenderFn(t,W2),N(),H.registerMethod("getMasonryLayout",()=>J),H.registerMethod("updateMasonry",(z)=>{if(z.columns!==void 0&&z.columns<1)throw Error("[vlist] updateMasonry: columns must be >= 1");if(z.gap!==void 0&&z.gap<0)throw Error("[vlist] updateMasonry: gap must be >= 0");let E={};if(z.columns!==void 0)E.columns=z.columns;if(z.gap!==void 0)E.gap=z.gap;J.update(E),Q?.clear(),W2()}),H.registerMethod("scrollToIndex",(z,E="start")=>{let g=A[z];if(!g)return;let J2=typeof E==="string"?E:E.align??"start",Q2=typeof E==="object"?E.behavior:void 0,$2=typeof E==="object"?E.duration:void 0,Y2=j.containerSize,B2=J.getTotalSize(A)+M,A2=Math.max(0,B2-Y2),S=g.y;if(J2==="center")S=g.y-Y2/2+g.size/2;else if(J2==="end"){if(S=g.y-Y2+g.size,z>=j.totalItems-1&&g.y+g.size>A2)S=A2}if(S=Math.max(0,Math.min(S,A2)),Q2==="smooth"&&$2&&$2>0)H.smoothScrollTo(S,$2);else H.scrollTo(S)}),H.registerMethod("_scrollItemIntoView",(z)=>{let E=A[z];if(!E)return;let{scrollPosition:g,containerSize:J2}=j,Q2=J.getTotalSize(A)+M,$2=Math.max(0,Q2-J2),Y2=E.y,B2=Y2+E.size;if(Y2-C<g)H.scrollTo(Math.max(0,Y2-C));else if(B2+M>g+J2){let A2=m[J.columns-1];if(A2&&A2.length>0&&z===A2[A2.length-1]&&Y2>=$2)H.scrollTo($2);else H.scrollTo(Math.min(B2+M-J2,$2))}}),H.setNavConfig({total:()=>j.totalItems,navigate:b}),H.registerDestroyHandler(()=>{Q?.destroy(),Q=null,H.dom.root.classList.remove(`${q}--masonry`)})},hooks:{onResize(H,w){if(!J||!U)return;let z=j.crossSize-f;if(Math.abs(z-J.containerSize)<1)return;J.update({containerSize:z}),Q?.clear(),W2()},onIdle(){Q?.sortDOM()}},destroy(){Q?.destroy(),Q=null,A=[],U=null}}}var f1=($={})=>{let{chunkSize:J=100,maxCachedItems:Q=5000,evictionBuffer:j=200,onEvict:U}=$,Z=new Map,q=0,K=0,A=(r)=>{let y=Z.get(r);if(!y)y={items:Array(J),count:0,lastAccess:Date.now()},Z.set(r,y);else y.lastAccess=Date.now();return y},W=(r)=>{return Math.floor(r/J)},_=(r)=>{return r%J},D=()=>q,F=(r)=>{q=r},Y=(r)=>{if(r<0||r>=q)return;let y=W(r),x=Z.get(y);if(!x)return;return x.items[_(r)]},f=(r)=>{if(r<0||r>=q)return!1;let y=W(r),x=Z.get(y);if(!x)return!1;return x.items[_(r)]!==void 0},R=(r,y)=>{let x=W(r),V=A(x),b=_(r),u=V.items[b]===void 0;if(V.items[b]=y,u)V.count++,K++;if(r>=q)q=r+1},C=(r,y)=>{for(let x=0;x<y.length;x++){let V=y[x];if(V!==void 0)R(r+x,V)}},M=(r,y)=>{if(r<0||r>q)return;let x=W(r),V=Array.from(Z.keys()).filter((N)=>N>=x).sort((N,P)=>N-P),b=[];for(let N of V){let P=Z.get(N),t=N*J;for(let W2=0;W2<J;W2++){if(P.items[W2]===void 0)continue;let H=t+W2;if(H<r)continue;b.push({oldIndex:H,item:P.items[W2]})}}for(let{oldIndex:N}of b){let P=W(N),t=Z.get(P);if(!t)continue;let W2=_(N);if(t.items[W2]!==void 0){if(t.items[W2]=void 0,t.count--,K--,t.count===0)Z.delete(P)}}q++;for(let{oldIndex:N,item:P}of b){let t=N+1,W2=W(t),H=A(W2),w=_(t);H.items[w]=P,H.count++,K++}let u=W(r),a=A(u),T=_(r);a.items[T]=y,a.count++,K++},X=(r)=>{if(r<0||r>=q)return!1;let y=W(r),x=Z.get(y),V=_(r);if(!(x!==void 0&&x.items[V]!==void 0))return!1;let u=y,a=Array.from(Z.keys()).filter((N)=>N>=u).sort((N,P)=>N-P),T=[];for(let N of a){let P=Z.get(N),t=N*J;for(let W2=0;W2<J;W2++){if(P.items[W2]===void 0)continue;let H=t+W2;if(H<=r)continue;T.push({oldIndex:H,item:P.items[W2]})}}if(x.items[V]=void 0,x.count--,K--,x.count===0)Z.delete(y);for(let{oldIndex:N}of T){let P=W(N),t=Z.get(P);if(!t)continue;let W2=_(N);if(t.items[W2]!==void 0){if(t.items[W2]=void 0,t.count--,K--,t.count===0)Z.delete(P)}}for(let{oldIndex:N,item:P}of T){let t=N-1,W2=W(t),H=A(W2),w=_(t);H.items[w]=P,H.count++,K++}return q--,!0},L=(r,y)=>{let x=[];for(let V=r;V<=y&&V<q;V++)x.push(Y(V));return x},B=(r,y)=>{for(let x=r;x<=y&&x<q;x++)if(!f(x))return!1;return!0},v=()=>{let r=[],y=null,x=Array.from(Z.keys()).sort((V,b)=>V-b);for(let V of x){let b=Z.get(V);if(!b)continue;let u=V*J;for(let a=0;a<J;a++){let T=u+a;if(T>=q)break;if(b.items[a]!==void 0)if(y===null)y={start:T,end:T};else if(T===y.end+1)y.end=T;else r.push(y),y={start:T,end:T};else if(y!==null)r.push(y),y=null}}if(y!==null)r.push(y);return r},G=(r,y)=>{let x=[],V=null;for(let b=r;b<=y&&b<q;b++)if(!f(b))if(V===null)V={start:b,end:b};else V.end=b;else if(V!==null)x.push(V),V=null;if(V!==null)x.push(V);return x},O=(r)=>{return Z.has(r)},p=(r)=>{let y=Z.get(r);if(!y)return!1;let x=r*J,V=Math.min(J,q-x);return y.count>=V},m=(r)=>{let y=Z.get(r);if(y)y.lastAccess=Date.now()},k=(r,y)=>{if(r>y||Z.size===0)return;let x=Date.now(),V=W(Math.max(0,r)),b=W(Math.min(q-1,y));for(let u=V;u<=b;u++){let a=Z.get(u);if(a)a.lastAccess=x}},l=(r,y)=>{if(K<=Q)return 0;let x=Math.max(0,r-j),V=Math.min(q-1,y+j),b=W(x),u=W(V),a=0,T=[];for(let[N,P]of Z)if(N<b||N>u)a+=P.count,T.push(N),K-=P.count,Z.delete(N);if(a>0&&U)U(a,T);return a},s=()=>{if(K<=Q)return 0;let r=Array.from(Z.entries()).sort(([,V],[,b])=>V.lastAccess-b.lastAccess),y=0,x=[];for(let[V,b]of r){if(K<=Q)break;y+=b.count,K-=b.count,x.push(V),Z.delete(V)}if(y>0&&U)U(y,x);return y},h=()=>{return{totalItems:q,cachedItems:K,cachedChunks:Z.size,chunkSize:J,maxCachedItems:Q,memoryEfficiency:q>0?1-K/q:1}},e=()=>K,c=()=>{Z.clear(),K=0};return{chunkSize:J,maxCachedItems:Q,getTotal:D,setTotal:F,get:Y,has:f,set:R,setRange:C,insert:M,delete:X,getRange:L,isRangeLoaded:B,getLoadedRanges:v,findUnloadedRanges:G,getChunkIndex:W,isChunkLoaded:O,isChunkFullyLoaded:p,touchChunk:m,touchChunksForRange:k,evictDistant:l,evictToLimit:s,getStats:h,getCachedCount:e,clear:c,reset:()=>{c(),q=0}}};var p1=($={})=>{let{maskCharacter:J=Y1,maxSampleSize:Q=B1}=$,j=[],U=!1,Z=(_)=>{if(U||_.length===0)return;let D=Math.min(_.length,Q);for(let F=0;F<D;F++){let Y=_[F];if(!Y||typeof Y!=="object")continue;let f={},R=!1;for(let[C,M]of Object.entries(Y)){if(C.startsWith("_")||C==="id")continue;f[C]=String(M??"").length,R=!0}if(R)j.push(f)}U=!0},q=()=>U,K=(_)=>{let D={id:`${h2}${_}`,[H0]:!0,_index:_};if(j.length===0)return D.label=J.repeat(12),D;let F=j[_%j.length];for(let[Y,f]of Object.entries(F))D[Y]=J.repeat(Math.max(1,f));return D};return{analyzeStructure:Z,hasAnalyzedStructure:q,generate:K,generateRange:(_,D)=>{let F=[];for(let Y=_;Y<=D;Y++)F.push(K(Y));return F},clear:()=>{j=[],U=!1}}},B0=($)=>{if(!$||typeof $!=="object")return!1;return $[H0]===!0};var T4=50,u1=($={})=>{let{adapter:J,initialItems:Q,initialTotal:j,storage:U,placeholder:Z,pageSize:q=T4,maxConcurrent:K=0,onStateChange:A,onDataChange:W,onItemsLoaded:_,onItemsEvicted:D,onLoadError:F}=$,Y=f1({...U,onEvict:(i,j2)=>{D?.(i),l(),k()}}),f=null,R=()=>{if(!f)f=p1(Z);return f},C=new Map,M=!1,X,L=!0,B,v,G=[],O=0,p=new Map,m=()=>{for(let i of p.values())i[1].abort();p.clear()},k=()=>{A?.(V())},l=()=>{W?.()},s=()=>{C.clear();let i=Y.getLoadedRanges();for(let j2 of i)for(let V2=j2.start;V2<=j2.end;V2++){let U2=Y.get(V2);if(U2&&!B0(U2))C.set(U2.id,V2)}},h=(i,j2)=>{if(!B0(j2))C.set(j2.id,i)},e=(i)=>{C.delete(i)},c=(i,j2)=>{return`${i}-${j2}`},o=()=>Y.getTotal(),r=()=>Y.getCachedCount(),y=()=>M,x=()=>L,V=()=>({total:Y.getTotal(),cached:Y.getCachedCount(),isLoading:M,pendingRanges:G,error:X,hasMore:L,cursor:B}),b=()=>Y,u=()=>R(),a=(i)=>{let j2=Y.get(i);if(j2!==void 0)return j2;if(i>=0&&i<Y.getTotal())return R().generate(i);return},T=(i)=>{let j2=C.get(i);if(j2===void 0)return;return Y.get(j2)},N=(i)=>{return C.get(i)??-1},P=(i)=>{let j2=Y.get(i);return j2!==void 0&&!B0(j2)},t=(i,j2)=>{let V2=[],U2=Y.getTotal();Y.touchChunksForRange(i,Math.min(j2,U2-1));for(let D2=i;D2<=j2&&D2<U2;D2++){let R2=Y.get(D2);if(R2!==void 0)V2.push(R2);else V2.push(R().generate(D2))}return V2},W2=(i)=>{Y.setTotal(i),L=Y.getCachedCount()<i,l(),k()},H=(i,j2=0,V2)=>{if(J&&i.length>0){let U2=R();if(!U2.hasAnalyzedStructure())U2.analyzeStructure(i)}for(let U2=0;U2<i.length;U2++){let D2=i[U2];if(D2!==void 0){let R2=j2+U2;Y.set(R2,D2),h(R2,D2)}}if(V2!==void 0)Y.setTotal(V2);else if(j2+i.length>Y.getTotal())Y.setTotal(j2+i.length);if(Y.getCachedCount()>=Y.getTotal()&&Y.getTotal()>0)L=!1;l(),k(),_?.(i,j2,Y.getTotal())},w=(i,j2)=>{let V2=Y.get(i);if(!V2)return!1;let U2=V2.id,D2={...V2,...j2};if(Y.set(i,D2),j2.id!==void 0&&j2.id!==U2)e(U2);return h(i,D2),l(),k(),!0},z=(i,j2)=>{Y.insert(j2,i),s(),m(),l(),k()},E=(i)=>{let j2=C.get(i);if(j2===void 0)return!1;if(!Y.delete(j2))return!1;return s(),m(),l(),k(),!0},g=async(i,j2)=>{if(!J)return;let V2=Y.chunkSize,U2=Math.floor(i/V2),D2=Math.floor(j2/V2),R2=V2*2;for(let[F2,b2]of p){let w2=F2.indexOf("-"),I=parseInt(F2.slice(0,w2),10);if(Math.abs(I-i)>R2)b2[1].abort(),p.delete(F2)}let T2=[],k2=[];for(let F2=U2;F2<=D2;F2++){let b2=F2*V2,w2=b2+V2-1,I=c(b2,w2);if(Y.isChunkFullyLoaded(F2))continue;let K2=p.get(I);if(K2)k2.push(K2[0]);else T2.push({start:b2,end:w2})}if(T2.length===0){if(k2.length>0)await Promise.all(k2);return}if(K>0){let F2=p.size+T2.length;if(F2>K){let b2=(i+j2)/2,w2=Math.min(F2-K,p.size);while(w2>0){let q2=null,K2=-1,M2=null;for(let[Z2,O2]of p){let E2=Z2.indexOf("-"),z2=parseInt(Z2.slice(0,E2),10),y2=parseInt(Z2.slice(E2+1),10),X2=Math.abs((z2+y2)/2-b2);if(X2>K2)K2=X2,q2=Z2,M2=O2[1]}if(q2)M2.abort(),p.delete(q2);w2--}let I=K-p.size;if(T2.length>I)T2.sort((q2,K2)=>{let M2=Math.abs((q2.start+q2.end)/2-b2),Z2=Math.abs((K2.start+K2.end)/2-b2);return M2-Z2}),T2.length=Math.max(0,I)}}if(T2.length===0){if(k2.length>0)await Promise.all(k2);return}for(let F2 of T2){let b2=c(F2.start,F2.end),w2=new AbortController,I=(async()=>{G.push(F2),M=!0,X=void 0,k();try{let q2=F2.end-F2.start+1,K2={offset:F2.start,limit:q2,cursor:F2.start===v?B:void 0,signal:w2.signal},M2=await J.read(K2);if(H(M2.items,F2.start,M2.total),M2.cursor)B=M2.cursor,v=F2.start+M2.items.length;let Z2=F2.start+M2.items.length;if(Z2>=O){if(O=Z2,M2.hasMore!==void 0)L=M2.hasMore;else if(M2.total!==void 0)L=Z2<M2.total}}catch(q2){if(q2?.name==="AbortError")return;X=q2 instanceof Error?q2:Error(String(q2)),F?.(X,F2)}finally{p.delete(b2);let q2=G.findIndex((K2)=>K2.start===F2.start&&K2.end===F2.end);if(q2>=0)G.splice(q2,1);M=p.size>0,k()}})();p.set(b2,[I,w2]),k2.push(I)}await Promise.all(k2)},J2=async(i,j2)=>{if(Y.isRangeLoaded(i,j2))return;await g(i,j2)},Q2=async()=>{if(!J)return;await g(0,q-1)},$2=async()=>{if(!J||M||!L)return!1;let i=Y.getCachedCount(),j2=Y.getTotal(),V2=i,U2=Math.min(V2+q-1,j2>0?j2-1:V2+q-1);if(V2>=j2&&j2>0)return L=!1,!1;return await g(V2,U2),Y.getCachedCount()>i},Y2=async()=>{if(Y.clear(),C.clear(),f)f.clear();m(),G=[],M=!1,B=void 0,v=void 0,L=!0,O=0,X=void 0,l(),k()},B2=(i,j2)=>{if(Y.evictDistant(i,j2)>0)s()},A2=()=>{Y.clear(),C.clear(),B=void 0,v=void 0,X=void 0,G=[],M=!1,l(),k()},S=()=>{if(Y.reset(),C.clear(),f)f.clear();B=void 0,v=void 0,L=!0,O=0,X=void 0,G=[],M=!1,l(),k()};if(Q&&Q.length>0)H(Q,0,j??Q.length);else if(j!==void 0)Y.setTotal(j),l(),k();return{getState:V,getTotal:o,getCached:r,getIsLoading:y,getHasMore:x,getStorage:b,getPlaceholders:u,getItem:a,getItemById:T,getIndexById:N,isItemLoaded:P,getItemsInRange:t,setTotal:W2,setItems:H,updateItem:w,insertItem:z,removeItem:E,loadRange:g,ensureRange:J2,loadInitial:Q2,loadMore:$2,reload:Y2,evictDistant:B2,clear:A2,reset:S}};function y0($){let{adapter:J,total:Q,autoLoad:j=!0,storage:U}=$,Z=$.loading?.cancelThreshold??J1,q=$.loading?.preloadThreshold??e0,K=$.loading?.preloadAhead??t0,A=$.loading?.maxConcurrent??$1,W,_,D,F,Y,f,R=null,C=null,M=null,X=0,L=!1,B=null,v=D0,G=-1,O=-1,p=-1,m=-1,k=U?.chunkSize??j0,l=()=>{if(R=null,C!==null)clearTimeout(C),C=null},s=(V,b)=>{return W.ensureRange(V,b)},h=(V,b=j0)=>{F.emit("load:start",{offset:V,limit:b})},e=(V)=>{F.emit("error",{error:V,context:"ensureRange"})},c=()=>{if(!R)return;R=null;let V={start:_.startIndex,end:_.startIndex+Math.max(0,_.visibleCount-1)};if(V.end<V.start)return;s(V.start,V.end).catch(e)},o=()=>{if(B!==null)clearTimeout(B),B=null},r=()=>{if(_.destroyed)return;let V=W.getTotal();if(_.visibleCount<=0||_.startIndex>=V)return;let b=Math.min(_.startIndex+_.visibleCount-1,V-1);if(b<_.startIndex)return;s(_.startIndex,b).catch(e)},y=()=>{if(B!==null||_.destroyed)return;B=setTimeout(()=>{B=null,r()},v),v=Math.min(v*2,Q1)},x=()=>{o(),v=D0};return{name:"data",priority:20,setup(V){_=V.getState(),D=V.sizeCache,F=V.emitter,Y=V.dom,f=V.forceRender.bind(V);let b=null;V.setVirtualTotalFn(()=>b?.getTotal()??0),V.setGetIndexByIdFn((a)=>b?.getIndexById(a)??-1),W=b=u1({adapter:J,...Q!==void 0&&{initialTotal:Q},pageSize:U?.chunkSize??j0,maxConcurrent:A,...U&&{storage:{...U.chunkSize!==void 0&&{chunkSize:U.chunkSize},...U.maxCachedItems!==void 0&&{maxCachedItems:U.maxCachedItems},...U.evictionBuffer!==void 0&&{evictionBuffer:U.evictionBuffer}}},onDataChange:()=>{if(_.initialized){let a=W.getTotal(),T=W.getCached();if(_.totalItems=a,a!==G||T!==O)G=a,O=T,D.rebuild(a);V.updateContentSize(D.getTotalSize()),V.renderIfNeeded()}},onItemsLoaded:(a)=>{if(x(),_.initialized)V.updateContentSize(D.getTotalSize()),f(),F.emit("load:end",{items:a,total:W.getTotal()})},onLoadError:(a)=>{if(F.emit("error",{error:a,context:"load"}),_.initialized)V.renderIfNeeded();y()}}),V.setGetItemFn((a)=>W.getItem(a)),V.setRemoveItemFn((a)=>{let T=W.getIndexById(a);if(T<0)return-1;if(!W.removeItem(a))return-1;return T}),V.setInsertItemFn((a,T)=>{W.insertItem(a,T)}),V.setUpdateItemFn((a,T)=>{let N=W.getIndexById(a);if(N<0)return!1;return W.updateItem(N,T)}),V.registerMethod("reload",async()=>{if(R=null,p=-1,m=-1,x(),V.forceRender(),await W.reload(),V.scrollTo(0),j)h(0),await W.loadInitial(),V.forceRender()}),V.registerMethod("loadVisibleRange",async()=>{R=null,V.forceRender();let a=W.getTotal();if(_.visibleCount>0&&_.startIndex<a){let T=Math.min(_.startIndex+_.visibleCount-1,a-1);h(_.startIndex,T-_.startIndex+1),await s(_.startIndex,T)}}),V.registerMethod("loadInitial",async()=>{h(0),await W.loadInitial(),V.forceRender()}),V.registerMethod("getTotal",()=>{return W.getTotal()}),V.registerMethod("setTotal",(a)=>{W.setTotal(a)}),V.registerMethod("_getTotal",()=>W.getTotal()),V.registerMethod("_setTotal",(a)=>{W.setTotal(a)}),V.registerMethod("_cancelAutoLoad",()=>{L=!0}),V.registerMethod("_getLoadedItem",(a)=>{return W.getStorage().get(a)}),V.registerMethod("_getItem",(a)=>{return W.getItem(a)}),V.registerMethod("_getLoadedCount",()=>W.getCached()),F.on("load:start",()=>{Y.root.setAttribute("aria-busy","true")}),F.on("load:end",()=>{Y.root.removeAttribute("aria-busy")}),V.registerDestroyHandler(()=>{if(M!==null)clearTimeout(M),M=null;l(),o()}),F.on("velocity:change",({velocity:a})=>{X=Math.abs(a)});let u=()=>{if(_.destroyed)return;x(),r(),c()};if(window.addEventListener("online",u),V.registerDestroyHandler(()=>{window.removeEventListener("online",u)}),j)queueMicrotask(()=>{if(L)return;h(0),W.loadInitial().catch((a)=>{F.emit("error",{error:a,context:"loadInitial"})})});else if(Q!==void 0)W.setTotal(Q)},hooks:{onAfterScroll(){if(_.destroyed)return;let V=_.startIndex+Math.max(0,_.visibleCount-1);if(X>Z){if(C!==null)clearTimeout(C),C=null;R={start:_.startIndex,end:V};return}if(X>q){let a=Math.floor(_.startIndex/k),T=Math.floor(V/k);if(a!==p||T!==m){if(p=a,m=T,V>=_.startIndex)s(_.startIndex,V).catch(e)}let N=_.startIndex,P=V,t=_.scrollDirection;if(t>0)P=Math.min(P+K,W.getTotal()-1);else if(t<0)N=Math.max(0,N-K);if(R={start:N,end:P},C!==null)clearTimeout(C);C=setTimeout(()=>{if(C=null,_.destroyed||!R)return;let{start:W2,end:H}=R;if(R=null,H>=W2)s(W2,H).catch(e)},100);return}l();let b=Math.floor(_.startIndex/k),u=Math.floor(V/k);if(b!==p||u!==m){if(p=b,m=u,V>=_.startIndex)s(_.startIndex,V).catch(e)}},onIdle(){if(_.destroyed)return;X=0,p=-1,m=-1,c(),l()},onResize(){if(_.destroyed)return;let V=W.getTotal();if(V<=0)return;if(_.visibleCount<=0||_.startIndex>=V)return;let b=Math.min(_.startIndex+_.visibleCount-1,V-1);if(b<_.startIndex)return;h(_.startIndex,b-_.startIndex+1),s(_.startIndex,b).catch(e)}},destroy(){if(M!==null)clearTimeout(M);l(),o()}}}var v0=($,J)=>{let Q=0,j=$.length-1;while(Q<j){let U=Q+j+1>>>1;if($[U].headerLayoutIndex<=J)Q=U;else j=U-1}return Q},g1=($,J)=>{let Q=0,j=$.length-1;while(Q<j){let U=Q+j+1>>>1;if($[U].firstDataIndex<=J)Q=U;else j=U-1}return Q},x1=($,J,Q)=>{if($===0)return[];let j=[],U=null,Z=0,q=0;for(let K=0;K<$;K++){let A=Q?.(K);if(!A)continue;let W=J(K,A);if(U===null)U=W,Z=0;else if(W!==U){let _=K-Z;j.push({key:U,groupIndex:j.length,headerLayoutIndex:q,firstDataIndex:Z,count:_}),q=q+1+_,U=W,Z=K}}if(U!==null)j.push({key:U,groupIndex:j.length,headerLayoutIndex:q,firstDataIndex:Z,count:$-Z});return j};var m1=($,J,Q)=>{let j=x1($,J.getGroupForIndex,Q),U=$+j.length,Z=J.header?.height??J.header?.width??J.headerHeight;return{get totalEntries(){return U},get groupCount(){return j.length},get groups(){return j},getEntry:(Y)=>{if(j.length===0)return{type:"item",dataIndex:Y,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let f=v0(j,Y),R=j[f];if(Y===R.headerLayoutIndex)return{type:"header",group:R};let C=Y-R.headerLayoutIndex-1;return{type:"item",dataIndex:R.firstDataIndex+C,group:R}},layoutToDataIndex:(Y)=>{if(j.length===0)return Y;let f=v0(j,Y),R=j[f];if(Y===R.headerLayoutIndex)return-1;let C=Y-R.headerLayoutIndex-1;return R.firstDataIndex+C},dataToLayoutIndex:(Y)=>{if(j.length===0)return Y;let f=g1(j,Y),R=j[f],C=Y-R.firstDataIndex;return R.headerLayoutIndex+1+C},getGroupAtLayoutIndex:(Y)=>{if(j.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let f=v0(j,Y);return j[f]},getGroupAtDataIndex:(Y)=>{if(j.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let f=g1(j,Y);return j[f]},getHeaderHeight:typeof Z==="number"?(Y)=>Z:(Y)=>{let f=j[Y];if(!f)return 0;return Z(f.key,Y)},rebuild:(Y,f)=>{j=x1(Y,J.getGroupForIndex,f??Q),U=Y+j.length}}};var C0=($,J,Q,j,U=0)=>{let Z=Q?"width":"height",q=document.createElement("div");return q.className=`${J}-sticky-header`,q.setAttribute("role","presentation"),q.setAttribute("aria-hidden","true"),q.style.cssText="z-index:5;pointer-events:none;overflow:hidden;"+(Q?`position:absolute;top:0;bottom:0;left:${U||0}px`:`position:relative;top:${U||0}px`),q.style[Z]=`${j}px`,$.insertBefore(q,$.firstChild),q},c1=($,J,Q,j,U,Z=!1,q=0,K,A)=>{let W=Z?"width":"height",_=Z?"height":"width",D=Z?"X":"Y",F=(H,w)=>{H.style[W]=`${w}px`},Y=K??C0($,U,Z,0,q),f=()=>{let H=document.createElement("div");return H.className="sticky-group",H.style.position="absolute",H.style.willChange="transform",H.style[_]="100%",H},R=f(),C=f();Y.append(R,C);let M=R,X=C,L=J.groups,B=[],v=[],G=[],O=0,p=()=>{L=J.groups,O=L.length,B=Array(O),v=Array(O),G=Array(O);for(let H=0;H<O;H++)B[H]=A?A(L[H].headerLayoutIndex):Q.getOffset(L[H].headerLayoutIndex),v[H]=J.getHeaderHeight(H),G[H]=v[H]};p();let m=-1,k=0,l=0,s=-1,h=!1,e=0,c=!1,o=(H,w)=>{j(H,w);let z=v[w];return F(H,z),z},r=(H)=>{H.replaceChildren(),H.style.transform=""},y=(H)=>{if(H===m)return;if(m=H,k=0,l=0,H<0||H>=O){r(M);return}k=o(M,H),l=G[H],F(Y,k),M.style.transform=""},x=(H)=>{if(H===e)return;e=H;let w=Math.round(H);M.style.transform=`translate${D}(${w}px)`,X.style.transform=`translate${D}(${w+k}px)`},V=()=>{e=0,M.style.transform="",X.style.transform=""},b=()=>{if(!c)return;let H=M;M=X,X=H,m=s,k=m>=0?v[m]:0,l=m>=0?G[m]:0,F(Y,k),r(X),s=-1,c=!1,V()},u=()=>{if(!c)return;r(X),s=-1,c=!1,V()},a=!!K,T=()=>{if(h)return;if(h=!0,a)Y.style.visibility="";else Y.style.display=""},N=()=>{if(!h)return;if(h=!1,a)Y.style.visibility="hidden";else Y.style.display="none";r(M),m=-1,k=0,l=0,u()},P=(H)=>{if(O===0){if(c)u();if(!h)T();y(-1);return}if(H<B[0]){N();return}let w=0,z=O-1;while(w<z){let g=w+z+1>>>1;if(B[g]+G[g]<=H)w=g;else z=g-1}if(!h)T();y(w);let E=w+1;if(E<O){let g=B[E]-H;if(g<=0&&g>-l){if(s!==E||!c)s=E,o(X,E),c=!0;let J2=l>0?g/l*k:g;x(J2)}else if(g<=-l){if(c)b()}else if(c)u()}else if(c)u()},t=()=>{p();let H=m;if(m=-1,k=0,l=0,H>=0)y(H)},W2=()=>{Y.remove(),m=-1,k=0,l=0,s=-1,h=!1,c=!1};if(!K)Y.style.display="none";return{update:P,refresh:t,show:T,hide:N,destroy:W2}};var d2={selected:!1,focused:!1},d1=typeof process<"u"&&process.env?.NODE_ENV!=="production";function S0($){if(!$.getGroupForIndex)throw Error("[vlist] groups: getGroupForIndex is required");let J=$.header?.height??$.header?.width??$.headerHeight;if(J==null||typeof J==="number"&&J<=0)throw Error("[vlist] groups: header height/width must be a positive number or function");let Q=$.header?.template??$.headerTemplate;if(!Q)throw Error("[vlist] groups: header.template is required");let j=Q,U,Z=null,q,K,A,W,_,D,F,Y=null,f,R,C,M=null,X,L,B=null,v=null,G=0,O=0,p=0,m=0,k=0,l=!1,s=null,h=new Map,e=new Set,c=new Map,o=-1,r=-1,y=!0,x=-1,V=0,b=null,u;function a(){return U.totalEntries}function T(){let S=K.totalItems;if(S===x)return;if(d1)console.log(`[groups] syncLayout: ${x} → ${S}`);let i=x>0;x=S,U.rebuild(S,Y??F),u(U.totalEntries),H();let j2=P?w():q.getTotalSize();if(W.style[f?"width":"height"]=j2+k+"px",Z)Z.refresh(),Z.update(K.scrollPosition);if(i)g();let V2=B?.("_scrollbar:getInstance");if(V2)V2()?.updateBounds(j2,K.containerSize)}let N=0,P=null,t=null,W2=null;function H(){if(G<=0){P=null,t=null;return}N=((K.crossSize||W.clientWidth)-m-(G-1)*O)/G,P=new Map;let j2=U.totalEntries,V2=Array(j2),U2=0;if(l){let D2=s??((b2)=>q.getSize(b2)),R2=new Float64Array(G),T2=[],k2=0,F2=-1;for(let b2=0;b2<j2;b2++){let w2=U.getEntry(b2);if(w2.type==="header"){let I=0;for(let K2=0;K2<G;K2++)if(R2[K2]>I)I=R2[K2];if(F2>=0)T2[F2]=k2+I;k2+=I;let q2=q.getSize(b2);P.set(b2,{col:-1,rowY:k2}),V2[U2++]=[b2,k2,k2+q2],k2+=q2,R2.fill(0),F2=w2.group.groupIndex}else{let I=0,q2=R2[0];for(let Z2=1;Z2<G;Z2++)if(R2[Z2]<q2)q2=R2[Z2],I=Z2;let K2=D2(w2.dataIndex),M2=k2+R2[I];P.set(b2,{col:I,rowY:M2,h:K2}),V2[U2++]=[b2,M2,M2+K2],R2[I]=R2[I]+K2+O}}if(F2>=0){let b2=0;for(let w2=0;w2<G;w2++)if(R2[w2]>b2)b2=R2[w2];T2[F2]=k2+b2}W2=T2}else{W2=null;let D2=0,R2=0,T2=0;for(let k2=0;k2<j2;k2++)if(U.getEntry(k2).type==="header"){if(R2>0&&T2>0)D2+=T2;let b2=q.getSize(k2);P.set(k2,{col:-1,rowY:D2}),V2[U2++]=[k2,D2,D2+b2],D2+=b2,R2=0,T2=0}else{let b2=R2%G,w2=q.getSize(k2);if(b2===0){if(R2>0&&T2>0)D2+=T2+O;T2=w2}else if(w2>T2)T2=w2;P.set(k2,{col:b2,rowY:D2}),V2[U2++]=[k2,D2,D2+w2],R2++}}V2.length=U2,t=V2}function w(){if(!P||P.size===0)return q.getTotalSize();let S=U.totalEntries;if(l)return W2?.[W2.length-1]??0;let i=0;for(let j2=S-1;j2>=0;j2--){let V2=P.get(j2);if(V2){i=V2.rowY+(V2.h??q.getSize(j2));break}if(U.getEntry(j2).type==="header"){i=q.getOffset(j2)+q.getSize(j2);break}}return i}function z(S){if(P){let j2=P.get(S);if(j2){let V2=j2.col<0?0:p+j2.col*(N+O),U2=j2.rowY;if(f)return`translate(${Math.round(U2)}px, ${Math.round(V2)}px)`;return`translate(${Math.round(V2)}px, ${Math.round(U2)}px)`}}let i=q.getOffset(S);if(f)return`translate(${Math.round(i)}px, 0)`;return`translate(0, ${Math.round(i)}px)`}function E(S,i){let j2=P?.get(i);if(j2){let U2=j2.h??q.getSize(i);if(j2.col<0)if(f)S.style.width=`${U2}px`,S.style.height="";else S.style.height=`${U2}px`,S.style.width="100%";else if(f)S.style.width=`${U2}px`,S.style.height=`${N}px`;else S.style.height=`${U2}px`,S.style.width=`${N}px`;return}let V2=q.getSize(i);if(f)S.style.width=`${V2}px`;else S.style.height=`${V2}px`}function g(){h.forEach((S)=>{S.remove();let i=S.getAttribute("data-id");if(i)c.set(i,S);else A.release(S)}),h.clear(),e.clear()}function J2(){if(c.size>0)c.forEach((S)=>A.release(S)),c.clear()}function Q2(S,i,j2,V2){if(v===null)v=!!B?.("_getSelectedIds");if(i.type==="header"){let F2=`__group_header_${i.group.groupIndex}`;if(S.getAttribute("data-id")===F2)return!0;if(S.className=L,S.setAttribute("role","presentation"),S.removeAttribute("aria-selected"),S.setAttribute("data-id",F2),f&&Z&&i.group.groupIndex===0)S.style.display="none";else{S.style.display="";let b2=j(i.group.key,i.group.groupIndex);if(typeof b2==="string")S.innerHTML=b2;else S.innerHTML="",S.appendChild(b2)}return!0}let U2=i.dataIndex,D2=F(U2);if(!D2)return S.innerHTML="",!1;let R2=D2._isPlaceholder===!0,T2=String(D2.id);if(!R2&&S.getAttribute("data-id")===T2){if(v)S.id=`${R}-item-${V2}`,S.setAttribute("aria-posinset",String(U2+1)),S.setAttribute("aria-setsize",String(K.totalItems));return!0}if(S.className=X,S.setAttribute("role",v?"option":"listitem"),S.setAttribute("data-id",T2),v)S.id=`${R}-item-${V2}`,S.setAttribute("aria-posinset",String(U2+1)),S.setAttribute("aria-setsize",String(K.totalItems));if(R2)S.classList.add(`${R}-item--placeholder`);if(j2)j2(V2,d2);else d2.selected=!1,d2.focused=!1;let k2=D(D2,U2,d2);if(typeof k2==="string")S.innerHTML=k2;else S.innerHTML="",S.appendChild(k2);return u2(S),!R2}let $2=0;function Y2(){if(G<=0)return;let S=K.crossSize;if(S===$2)return;$2=S,H();let i=w();if(W.style[f?"width":"height"]=i+k+"px",Z)Z.refresh(),Z.update(K.scrollPosition);y=!0}function B2(){if(K.destroyed)return;T(),Y2();let{scrollPosition:S,containerSize:i}=K;if(!y&&S===o&&i===r)return;o=S,r=i;let j2=y;y=!1;let V2=a();if(i<=0||V2===0){if(h.size>0)h.forEach((K2)=>{K2.remove(),A.release(K2)}),h.clear(),e.clear();return}let U2,D2;if(t){let K2=t,M2=K2.length,Z2=0,O2=M2-1;while(Z2<O2){let _2=Z2+O2>>>1;if(K2[_2][2]<=S)Z2=_2+1;else O2=_2}let E2=Z2;O2=M2-1;while(Z2<O2){let _2=Z2+O2+1>>>1;if(K2[_2][1]>=S+i)O2=_2-1;else Z2=_2}let z2=Z2,y2=K2[E2][0],X2=K2[z2][0];for(let _2=y2-1;_2>=0;_2--)if(U.getEntry(_2).type==="header"){y2=_2;break}let d=C*G;U2=Math.max(0,y2-d),D2=Math.min(V2-1,X2+d)}else{let K2=q.indexAtOffset(S),M2=q.indexAtOffset(S+i);if(M2<V2-1)M2++;K2=Math.max(0,K2),M2=Math.min(V2-1,Math.max(0,M2)),U2=Math.max(0,K2-C),D2=Math.min(V2-1,M2+C)}if(U2===K.prevRangeStart&&D2===K.prevRangeEnd&&!K.renderPending)return;h.forEach((K2,M2)=>{if(M2<U2||M2>D2)K2.remove(),A.release(K2),h.delete(M2),e.delete(M2)});let R2=M?.()??null,T2=R2?`${R}-item--selected`:"",k2=R2?`${R}-item--focused`:"",F2=null;for(let K2=U2;K2<=D2;K2++){let M2=h.get(K2),Z2=!1;if(M2===void 0){let O2=U.getEntry(K2);Z2=O2.type==="header";let E2;if(O2.type==="header")E2=`__group_header_${O2.group.groupIndex}`;else{let y2=F(O2.dataIndex);if(y2&&y2._isPlaceholder!==!0)E2=String(y2.id)}if(E2!==void 0){let y2=c.get(E2);if(y2)c.delete(E2),M2=y2}if(!M2)M2=A.acquire();if(M2.setAttribute("data-index",String(K2)),Q2(M2,O2,R2,K2))e.delete(K2);else e.add(K2);if(E(M2,K2),M2.style.transform=z(K2),h.set(K2,M2),!F2)F2=document.createDocumentFragment();F2.appendChild(M2)}else if(j2&&e.has(K2)){let O2=U.getEntry(K2);if(O2.type==="item")if(Q2(M2,O2,R2,K2))e.delete(K2);else e.add(K2)}else if(Z2=M2.classList.contains(L),j2)E(M2,K2),M2.style.transform=z(K2);if(!Z2&&R2)if(R2(K2,d2),M2.classList.toggle(T2,d2.selected),M2.classList.toggle(k2,d2.focused),d2.selected)M2.setAttribute("aria-selected","true");else M2.removeAttribute("aria-selected")}if(F2)W.appendChild(F2);J2();let b2=P?w():q.getTotalSize();W.style[f?"width":"height"]=b2+k+"px",K.prevRangeStart=U2,K.prevRangeEnd=D2,K.renderPending=!1;let w2=0,I=0,q2=!1;for(let K2=U2;K2<=D2&&w2<K.capacity;K2++){let M2=U.getEntry(K2);if(M2.type==="item"){if(!q2)I=M2.dataIndex,q2=!0;K.visibleIndices[w2]=M2.dataIndex,K.visibleOffsets[w2]=q.getOffset(K2),K.visibleSizes[w2]=q.getSize(K2),w2++}}K.visibleCount=w2,K.startIndex=I}function A2(){if(K.destroyed)return;if(Y2(),d1)console.log(`[groups] forceRender, placeholders: ${e.size}, rendered: ${h.size}`);let S=b?.()??0;if(S!==V){V=S;let i=U.groups,j2=i.length;U.rebuild(x,Y??F);let V2=U.groups,U2=V2.length!==j2;if(!U2){for(let D2=0;D2<j2;D2++)if(V2[D2].headerLayoutIndex!==i[D2].headerLayoutIndex){U2=!0;break}}if(U2){u(U.totalEntries),H();let D2=P?w():q.getTotalSize();if(W.style[f?"width":"height"]=D2+"px",Z)Z.refresh(),Z.update(K.scrollPosition);let R2=1/0,T2=Math.min(j2,V2.length);for(let F2=0;F2<T2;F2++)if(V2[F2].headerLayoutIndex!==i[F2].headerLayoutIndex){R2=Math.min(V2[F2].headerLayoutIndex,i[F2].headerLayoutIndex);break}if(V2.length>j2&&T2<V2.length)R2=Math.min(R2,V2[T2].headerLayoutIndex);else if(j2>V2.length&&T2<j2)R2=Math.min(R2,i[T2].headerLayoutIndex);if(R2<=K.prevRangeEnd)g();let k2=B?.("_scrollbar:getInstance");if(k2)k2()?.updateBounds(D2,K.containerSize)}}K.prevRangeStart=-1,K.prevRangeEnd=-1,K.renderPending=!0,y=!0,B2()}return{name:"groups",priority:10,setup(S){q=S.sizeCache,K=S.getState(),A=S.pool,W=S.dom.content,_=S.dom.root,D=S.template,f=S.config.axis.primary==="x",R=S.config.classPrefix,C=S.config.overscan,k=S.config.mainAxisPadding,F=S.getItem.bind(S),M=()=>S.getItemStateFn(),B=S.getMethod.bind(S),v=null,X=`${R}-item`,L=`${R}-group-header`;let i=B?.("getGridLayout"),j2=B?.("getMasonryLayout");if(i){let I=i();G=I.columns,O=I.gap,p=S.config.crossPadStart,m=S.config.crossAxisPadding}else if(j2){let I=j2();G=I.columns,O=I.gap,p=S.config.crossPadStart,m=S.config.crossAxisPadding,l=!0;let q2=S.rawSizeSpec;if(typeof q2==="function")s=(K2)=>{return q2(K2,{columnWidth:N})}}queueMicrotask(()=>{let I=B?.("_getLoadedItem");if(I)Y=I;let q2=B?.("_getLoadedCount");if(q2)b=q2});let V2=K.totalItems;U=m1(V2,$,Y??F),x=V2;let U2=typeof J==="number"?(I)=>J:(I)=>{let q2=U.groups[I];if(!q2)return 0;return J(q2.key,I)},D2=q.getSize,R2=(I)=>{let q2=U.getEntry(I);if(q2.type==="header"){if($.sticky!==!1&&q2.group.groupIndex===0)return 0;return U2(q2.group.groupIndex)}return D2(q2.dataIndex)};S.setSizeConfig(R2);let T2=!1,k2=-1;if(S.registerMethod("_setSizeCacheBase",(I)=>{u=I}),u=q.rebuild,q.rebuild=(I)=>{if(T2){if(!b)b=B?.("_getLoadedCount")??null;let q2=b?.()??0;if(I!==x||q2!==k2){if(x=I,k2=q2,!Y)Y=B?.("_getLoadedItem")??null;if(U.rebuild(I,Y??((K2)=>S.getItems()[K2])),K.totalItems=U.totalEntries,Z)Z.refresh(),Z.update(K.scrollPosition)}}u(U.totalEntries)},q.rebuild(U.totalEntries),H(),S.setVirtualTotalFn(()=>U.totalEntries),_.classList.add(`${R}--grouped`),$.sticky!==!1){let I=(Z2,O2)=>{let E2=U.groups[O2];if(!E2)return;let z2=j(E2.key,O2);if(typeof z2==="string")Z2.innerHTML=z2;else Z2.replaceChildren(z2)},q2=U.getHeaderHeight(0),K2=C0(_,R,f,q2),M2=G>0?(Z2)=>{let O2=P?.get(Z2);return O2?O2.rowY:q.getOffset(Z2)}:void 0;if(Z=c1(_,U,q,I,R,f,0,K2,M2),Z.update(K.scrollPosition),!f)S.dom.viewport.style.height=`calc(100% - ${q2}px)`;else S.dom.viewport.style.width=`calc(100% - ${q2}px)`,S.dom.viewport.style.marginLeft=`${q2}px`}let F2=!!B?.("_updateTableForGroups");if(T2=F2,F2)queueMicrotask(()=>{let I=B?.("_getItem")??null,q2=S.getItems.bind(S);S.setGetItemFn((M2)=>{let Z2=U.getEntry(M2);if(Z2.type==="header")return{id:`__group_header_${Z2.group.groupIndex}`,__groupHeader:!0,groupKey:Z2.group.key,groupIndex:Z2.group.groupIndex};return I?I(Z2.dataIndex):q2()[Z2.dataIndex]});let K2=B?.("_updateTableForGroups");if(K2)K2((M2)=>!!M2.__groupHeader,j)});else S.setRenderFn(B2,A2);S.registerMethod("getGroupLayout",()=>U),S.registerMethod("_dataToLayoutIndex",(I)=>U.dataToLayoutIndex(I)),S.registerMethod("_layoutToDataIndex",(I)=>U.layoutToDataIndex(I)),S.registerMethod("_getRenderedElement",(I)=>h.get(I)??null),S.registerMethod("_isGroupHeader",(I)=>{return U.getEntry(I).type==="header"}),S.registerMethod("_getItemLane",(I)=>{let q2=P?.get(I);return q2?q2.col:-1}),S.registerMethod("_getItemY",(I)=>{let q2=P?.get(I);return q2?q2.rowY:-1}),S.registerMethod("_getItemH",(I)=>{return P?.get(I)?.h??-1});let b2=S.config.startPadding,w2=k-b2;S.registerMethod("_scrollItemIntoView",(I)=>{if(I<0)return;let q2=P?.get(I),K2=q2?q2.rowY:q.getOffset(I),M2=q2?.h??q.getSize(I),Z2=K.containerSize,O2=K.scrollPosition;if(K2<O2+b2)S.scrollTo(Math.max(0,K2-b2));else if(K2+M2+w2>O2+Z2)S.scrollTo(K2+M2+w2-Z2)}),S.registerMethod("scrollToIndex",(I,q2="start")=>{let K2=U.dataToLayoutIndex(I),M2=U.totalEntries;if(M2===0)return;let Z2=Math.max(0,Math.min(K2,M2-1)),O2=K.containerSize,E2=P?.get(Z2),z2=E2?E2.rowY:q.getOffset(Z2),y2=E2?E2.h??q.getSize(Z2):q.getSize(Z2),X2=P?w()+k:q.getTotalSize(),d=Math.max(0,X2-O2),_2=typeof q2==="string"?q2:q2.align??"start",N2=typeof q2==="object"?q2.behavior:void 0,L2=typeof q2==="object"?q2.duration:void 0,P2=P?k:0,G2=z2+y2;if(l&&W2){let H2=U.getEntry(Z2).group.groupIndex,v2=W2[H2];if(v2!==void 0)G2=v2}let n;switch(_2){case"center":n=z2-(O2-y2)/2;break;case"end":n=G2-O2+P2;break;default:n=z2}if(n=Math.max(0,Math.min(n,d)),N2==="smooth"&&L2&&L2>0)S.smoothScrollTo(n,L2);else S.scrollTo(n)}),S.registerDestroyHandler(()=>{for(let[,I]of h)I.remove();if(h.clear(),e.clear(),Z)Z.destroy(),Z=null;_.classList.remove(`${R}--grouped`)})},hooks:{onAfterScroll(S,i){if(Z)Z.update(S)},onResize(S,i){if(G<=0)return;u(U.totalEntries),$2=K.crossSize,H();let j2=w();if(W.style[f?"width":"height"]=j2+k+"px",Z)Z.refresh(),Z.update(K.scrollPosition);y=!0,B2()}},destroy(){if(Z)Z.destroy(),Z=null;h.clear(),e.clear(),c.clear()}}}var l1=($,J=50,Q=1/0,j=!0,U="none")=>{let Z=$,q=[],K=0,A=0,W=()=>{q=Z.map((L,B)=>({def:L,index:B,width:0,minWidth:b4(L.minWidth??J,1),maxWidth:L.maxWidth??Q,resizable:L.resizable??j,offset:0}))},_=()=>{if(U==="none"||K<=0||K>=A)return;if(U==="spacer"){K=A;return}let L=A-K,B=K;for(let v=0;v<q.length;v++){let G=q[v];G.width=_0(G.width+L*(G.width/B),G.minWidth,G.maxWidth)}F()},D=(L)=>{if(A=L,q.length===0){K=0;return}let B=0,v=0;for(let G=0;G<q.length;G++){let O=q[G],p=O.def;if(p.width!==void 0)O.width=_0(p.width,O.minWidth,O.maxWidth),B+=O.width;else v++}if(v){let O=Math.max(0,L-B)/v;for(let p=0;p<q.length;p++){let m=q[p];if(m.def.width===void 0)m.width=_0(O,m.minWidth,m.maxWidth)}}F(),_()},F=()=>{let L=0;for(let B=0;B<q.length;B++){let v=q[B];v.offset=L,L+=v.width}K=L},Y=(L,B)=>{if(L<0||L>=q.length)return 0;let v=q[L];if(!v.resizable)return v.width;let G=_0(B,v.minWidth,v.maxWidth);if(v.width=G,F(),U==="spacer")_();return G},f=(L)=>{return q[L]},R=(L)=>{if(q.length===0)return;if(L<0)return q[0];if(L>=K)return q[q.length-1];let B=0,v=q.length-1;while(B<v){let G=B+v>>>1,O=q[G];if(L<O.offset)v=G-1;else if(L>=O.offset+O.width)B=G+1;else return O}return q[B]},C=(L)=>{if(L<0||L>=q.length)return 0;return q[L].offset},M=(L)=>{if(L<0||L>=q.length)return 0;return q[L].width},X=(L)=>{Z=L,W()};return W(),{get columns(){return q},get totalWidth(){return K},resolve:D,updateColumns:X,resizeColumn:Y,getColumn:f,getColumnAtX:R,getColumnOffset:C,getColumnWidth:M}},_0=($,J,Q)=>Math.min(Q,Math.max(J,$)),b4=($,J)=>Math.max(J,$);var r1=($,J,Q,j,U,Z)=>{let q=document.createElement("div");q.setAttribute("role","rowgroup");let K=document.createElement("div");K.className=`${Q}-table-header`,K.setAttribute("role","row"),K.setAttribute("aria-rowindex","1"),K.style.height=`${J}px`;let A=document.createElement("div");A.className=`${Q}-table-header-scroll`,A.setAttribute("role","presentation"),K.appendChild(A),q.appendChild(K),$.insertBefore(q,$.firstChild),$.style.setProperty("--vlist-table-header-height",`${J}px`);let W=[],_=[],D=!0,F=null,Y="asc",f=null,R=!1,C=-1,M=0,X=0,L=0,B=(y,x)=>{let V=document.createElement("div");V.className=`${Q}-table-header-cell`,V.setAttribute("role","columnheader"),V.setAttribute("aria-colindex",String(x+1)),V.setAttribute("tabindex",x===0?"0":"-1"),V.dataset.columnKey=y.def.key;let b=y.def.align;if(b==="center")V.classList.add(`${Q}-table-header-cell--center`);else if(b==="right")V.classList.add(`${Q}-table-header-cell--right`);let u=document.createElement("div");u.className=`${Q}-table-header-content`;let a=y.def.header?y.def.header(y.def):y.def.label;if(typeof a==="string")u.textContent=a;else u.appendChild(a);if(V.appendChild(u),y.def.sortable){let T=document.createElement("span");T.className=`${Q}-table-header-sort`,T.setAttribute("aria-hidden","true"),V.appendChild(T),_.push(T),V.classList.add(`${Q}-table-header-cell--sortable`)}else _.push(null);if(y.resizable){let T=document.createElement("div");T.className=`${Q}-table-header-resize`,T.dataset.resizeIndex=String(x),V.appendChild(T)}return V},v=(y)=>{f=y,A.textContent="",W=[],_=[];let x=y.columns;for(let V=0;V<x.length;V++){let b=x[V],u=B(b,V);W.push(u),A.appendChild(u)}if(G(y),F)O(F,Y)},G=(y)=>{f=y;let x=y.columns;A.style.width=`${y.totalWidth}px`;for(let V=0;V<W.length&&V<x.length;V++){let b=W[V],u=x[V];b.style.width=`${u.width}px`}},O=(y,x)=>{if(F=y,Y=x,!f)return;let V=f.columns;for(let b=0;b<_.length&&b<V.length;b++){let u=_[b];if(!u)continue;if(V[b].def.key===y)u.textContent=x==="asc"?"▲":"▼",u.style.opacity="0.7",W[b].setAttribute("aria-sort",x==="asc"?"ascending":"descending");else u.textContent="",u.style.opacity="0",W[b].removeAttribute("aria-sort")}},p=(y)=>{A.style.transform=`translateX(${-y}px)`},m=(y)=>{let x=y.target;if(!x.dataset.resizeIndex)return;if(y.preventDefault(),y.stopPropagation(),C=+x.dataset.resizeIndex,!f)return;let V=f.getColumn(C);if(!V?.resizable)return;R=!0,M=y.clientX,X=V.width,$.classList.add(`${Q}--col-resizing`),$.style.cursor="col-resize",x.classList.add(`${Q}-table-header-resize--active`),x.setPointerCapture(y.pointerId),x.addEventListener("pointermove",k),x.addEventListener("pointerup",l),x.addEventListener("pointercancel",l)},k=(y)=>{if(!R||!f)return;let x=y.clientX-M;if(Math.abs(x)<1)return;let V=Math.max(0,X+x);j(C,V)},l=(y)=>{if(!R)return;let x=y.target;x.removeEventListener("pointermove",k),x.removeEventListener("pointerup",l),x.removeEventListener("pointercancel",l);try{x.releasePointerCapture(y.pointerId)}catch{}x.classList.remove(`${Q}-table-header-resize--active`),$.classList.remove(`${Q}--col-resizing`),$.style.cursor="",R=!1,C=-1},s=(y)=>{let x=y.target;if(x.dataset.resizeIndex)return;if(R)return;let V=x;while(V&&!V.dataset.columnKey)if(V=V.parentElement,V===K||V===null)return;let b=V.dataset.columnKey;if(!f)return;let u=f.columns,a=-1;for(let N=0;N<u.length;N++)if(u[N].def.key===b){a=N;break}if(a===-1)return;let T=u[a];if(Z)Z({key:b,index:a,event:y});if(T.def.sortable&&U){let N;if(F===b)N=Y==="asc"?"desc":null;else N="asc";U({key:b,index:a,direction:N})}},h=(y)=>{if(y<0||y>=W.length)return;W[L]?.setAttribute("tabindex","-1"),L=y;let x=W[L];x.setAttribute("tabindex","0"),x.focus()},e=(y)=>{let x=y.key;if(x==="ArrowRight"){if(y.ctrlKey||y.metaKey){if(!f)return;let V=f.getColumn(L);if(V?.resizable)j(L,V.width+10),y.preventDefault()}else if(L<W.length-1)h(L+1),y.preventDefault();y.stopPropagation();return}if(x==="ArrowLeft"){if(y.ctrlKey||y.metaKey){if(!f)return;let V=f.getColumn(L);if(V?.resizable)j(L,V.width-10),y.preventDefault()}else if(L>0)h(L-1),y.preventDefault();y.stopPropagation();return}if(x==="Home"){h(0),y.preventDefault(),y.stopPropagation();return}if(x==="End"){h(W.length-1),y.preventDefault(),y.stopPropagation();return}if(x==="Enter"||x===" "){if(!f)return;let V=f.getColumn(L);if(V?.def.sortable&&U){let b;if(F===V.def.key)b=Y==="asc"?"desc":null;else b="asc";U({key:V.def.key,index:L,direction:b}),y.preventDefault()}y.stopPropagation();return}if(x==="ArrowDown"){$.focus(),y.preventDefault(),y.stopPropagation();return}};return K.addEventListener("pointerdown",m),K.addEventListener("click",s),K.addEventListener("keydown",e),{element:K,update:G,updateSort:O,rebuild:v,show:()=>{if(D)return;D=!0,K.style.display=""},hide:()=>{if(!D)return;D=!1,K.style.display="none"},destroy:()=>{K.removeEventListener("pointerdown",m),K.removeEventListener("click",s),K.removeEventListener("keydown",e),$.style.removeProperty("--vlist-table-header-height"),q.remove(),W=[],_=[],f=null,D=!1},syncScroll:p}};var P4=()=>{let $=[];return{acquire:()=>$.pop()||document.createElement("div"),release:(J)=>{if(J.parentNode?.removeChild(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="",$.push(J)},clear:()=>{$.length=0}}},s1=($,J,Q,j,U,Z,q,K,A,W=()=>0)=>{let _=P4(),D=new Map,F=-1,Y=Q,f=null,R=null,C=null,M=(w,z)=>{R=w,C=z},X=(w,z)=>{z?w.setAttribute("aria-selected","true"):w.removeAttribute("aria-selected")},L=(w,z,E,g)=>{w.setAttribute("role",z),w.setAttribute("data-id",String(E)),w.setAttribute("data-index",String(g))},B=(w)=>String(w).startsWith("__placeholder_"),v=`${U}-item ${U}-table-row`,G=`${U}-item--selected`,O=`${U}-item--focused`,p=`${U}-table-cell`,m=`${U}-table-cell--center`,k=`${U}-table-cell--right`,l=`${U}-table-cell-skeleton`,s=`${U}-item--odd`,h=`${U}-item--placeholder`,e=`${U}-item--replaced`,c=`${U}-table-row ${U}-table-group-header`,o=`${U}-table-group-header-content`,r=(w,z,E,g,J2=!1)=>{if(E.def.cell){let Q2=E.def.cell(z,E.def,g);if(typeof Q2==="string")w.innerHTML=Q2;else w.replaceChildren(Q2)}else{let Q2=z[E.def.key],$2=Q2!=null?String(Q2):"";if(J2&&$2)w.innerHTML=`<span>${$2}</span>`;else w.textContent=$2}if(J2&&w.firstElementChild===null){w.replaceChildren();let Q2=document.createElement("span");Q2.className=l,w.appendChild(Q2)}},y=(w,z,E,g,J2=!1)=>{let Q2=v;if(K){if(f){let $2=f(z);if($2>=0&&($2&1)===1)Q2+=` ${s}`}else if((z&1)===1)Q2+=` ${s}`}if(J2)Q2+=` ${h}`;if(E)Q2+=` ${G}`;if(g)Q2+=` ${O}`;w.className=Q2},x=(w,z)=>{let E=z.def.align;if(E==="center")w.classList.add(m),w.classList.remove(k);else if(E==="right")w.classList.add(k),w.classList.remove(m);else w.classList.remove(m,k)},V=(w,z)=>{let g=Y.columns.length;if(z.length===g)return z;let J2=[];for(let Q2=0;Q2<g;Q2++){let $2;if(Q2<z.length)$2=z[Q2];else $2=document.createElement("div"),$2.className=p,w.appendChild($2);J2.push($2)}for(let Q2=g;Q2<z.length;Q2++)z[Q2].remove();return J2},b=(w,z,E)=>{let g=_.acquire(),J2=w,Q2=E.getSize(z),$2=E.getOffset(z)-W();g.style.cssText=`width:${Y.totalWidth}px;height:${Q2}px;transform:translateY(${$2}px)`,g.className=c,L(g,"presentation",w.id,z),g.removeAttribute("aria-selected"),g.removeAttribute("aria-rowindex"),g.replaceChildren();let Y2=document.createElement("div");if(Y2.className=o,C){let B2=C(J2.groupKey,J2.groupIndex);if(typeof B2==="string")Y2.innerHTML=B2;else Y2.appendChild(B2)}return g.appendChild(Y2),{element:g,cells:[],index:z,isGroupHeader:!0,_lastItem:w,lastItemId:w.id,lastSelected:!1,lastFocused:!1,lastOffset:$2,lastHeight:Q2}},u=(w,z,E,g,J2)=>{let Q2=_.acquire(),$2=J2.getSize(z),Y2=J2.getOffset(z)-W(),B2=B(w.id);Q2.style.cssText=`width:${Y.totalWidth}px;height:${$2}px;transform:translateY(${Y2}px)`,y(Q2,z,E,g,B2),L(Q2,"row",w.id,z),Q2.id=`${Z}-item-${z}`,Q2.setAttribute("aria-rowindex",String(z+2)),X(Q2,E);let A2=V(Q2,[]),S=Y.columns;for(let i=0;i<A2.length&&i<S.length;i++){let j2=A2[i],V2=S[i];j2.style.cssText=`left:${V2.offset}px;width:${V2.width}px`,j2.setAttribute("role","gridcell"),j2.setAttribute("aria-colindex",String(i+1)),x(j2,V2),r(j2,w,V2,z,B2)}return{element:Q2,cells:A2,index:z,isGroupHeader:!1,_lastItem:w,lastItemId:w.id,lastSelected:E,lastFocused:g,lastOffset:Y2,lastHeight:$2}},a=(w,z,E,g)=>{let J2=!1,Q2=q();if(Q2!==F)F=Q2,J2=!0;let $2=null,Y2=J();f=typeof K==="string"&&A?A():null;for(let B2=z.start;B2<=z.end;B2++){let A2=B2-z.start,S=w[A2];if(!S)continue;let i=E.has(S.id),j2=B2===g,V2=R?R(S):!1,U2=D.get(B2);if(U2){if(U2.isGroupHeader!==V2){_.release(U2.element),D.delete(B2);let D2=V2?b(S,B2,Y2):u(S,B2,i,j2,Y2);if(D.set(B2,D2),!$2)$2=document.createDocumentFragment();$2.appendChild(D2.element);continue}if(V2){if(U2._lastItem!==S){let k2=S,F2=U2.element.firstElementChild;if(F2&&C){let b2=C(k2.groupKey,k2.groupIndex);if(typeof b2==="string")F2.innerHTML=b2;else F2.replaceChildren(b2)}U2.element.setAttribute("data-id",String(S.id)),U2._lastItem=S,U2.lastItemId=S.id}let R2=Y2.getOffset(B2)-W();if(U2.lastOffset!==R2)U2.lastOffset=R2,U2.element.style.transform=`translateY(${R2}px)`;let T2=Y2.getSize(B2);if(U2.lastHeight!==T2)U2.lastHeight=T2,U2.element.style.height=`${T2}px`}else{let D2=U2._lastItem!==S,R2=U2.lastSelected!==i,T2=U2.lastFocused!==j2;if(D2){let b2=U2.lastItemId!=null&&B(U2.lastItemId),w2=B(S.id);if(!w2&&t2(E,B2,S.id))i=!0;let I=Y.columns;for(let q2=0;q2<U2.cells.length&&q2<I.length;q2++)r(U2.cells[q2],S,I[q2],B2,w2);if(y(U2.element,B2,i,j2,w2),U2.element.setAttribute("data-id",String(S.id)),X(U2.element,i),b2&&!w2)U2.element.classList.add(e),setTimeout(()=>{U2.element.classList.remove(e)},300);U2._lastItem=S,U2.lastItemId=S.id,U2.lastSelected=i,U2.lastFocused=j2}else if(R2||T2)y(U2.element,B2,i,j2,B(S.id)),X(U2.element,i),U2.lastSelected=i,U2.lastFocused=j2;let k2=Y2.getOffset(B2)-W();if(U2.lastOffset!==k2)U2.lastOffset=k2,U2.element.style.transform=`translateY(${k2}px)`;let F2=Y2.getSize(B2);if(U2.lastHeight!==F2)U2.lastHeight=F2,U2.element.style.height=`${F2}px`;if(J2)U2.element.setAttribute("aria-rowindex",String(B2+2))}}else{if(t2(E,B2,S.id))i=!0;let D2=V2?b(S,B2,Y2):u(S,B2,i,j2,Y2);if(D.set(B2,D2),!$2)$2=document.createDocumentFragment();$2.appendChild(D2.element)}}if($2)$.appendChild($2);for(let[B2,A2]of D)if(B2<z.start||B2>z.end)_.release(A2.element),D.delete(B2)},T=(w,z,E,g)=>{let J2=D.get(w);if(!J2)return;if(J2.isGroupHeader)return;let Q2=Y.columns;for(let $2=0;$2<J2.cells.length&&$2<Q2.length;$2++)r(J2.cells[$2],z,Q2[$2],w);J2.element.setAttribute("data-id",String(z.id)),J2._lastItem=z,J2.lastItemId=z.id,y(J2.element,w,E,g),X(J2.element,E),J2.lastSelected=E,J2.lastFocused=g},N=(w,z,E)=>{let g=D.get(w);if(!g)return;if(g.isGroupHeader)return;let J2=g.lastSelected!==z,Q2=g.lastFocused!==E;if(J2||Q2)y(g.element,w,z,E),X(g.element,z),g.lastSelected=z,g.lastFocused=E},P=(w)=>{Y=w;let z=w.columns;for(let[,E]of D)if(E.element.style.width=`${w.totalWidth}px`,E.cells.length>0)for(let g=0;g<E.cells.length&&g<z.length;g++){let J2=E.cells[g],Q2=z[g];J2.style.left=`${Q2.offset}px`,J2.style.width=`${Q2.width}px`}},t=(w)=>{return D.get(w)?.element},W2=()=>{for(let[,w]of D)_.release(w.element);D.clear(),F=-1};return{render:a,updateItem:T,updateItemClasses:N,getElement:t,updateColumnLayout:P,setGroupHeaderFn:M,clear:W2,destroy:()=>{W2(),_.clear()}}};var w4=new Set;function h0($){if(!$.columns?.length)throw Error("[vlist] table: columns must be a non-empty array");if($.rowHeight===void 0&&$.estimatedRowHeight===void 0)throw Error("[vlist] table: either rowHeight or estimatedRowHeight is required");let J=null,Q=null,j=null,U,Z,q=null,K=null,A=null,W=!1,_=-1,D=-1;function F(){if(W||!q)return;W=!0,K=q.getMethod("_getSelectedIds")??null,A=q.getMethod("_getFocusedIndex")??null}let Y=[],f={start:0,end:0};function R(){if(U.destroyed||!q||!j||!J)return;let{containerSize:M,totalItems:X}=U;if(M<=0||X===0)return;let L=X+1;if(L!==_)_=L,q.dom.root.setAttribute("aria-rowcount",`${L}`);let B=U.scrollPosition,v=q.config.overscan,G=Z.indexAtOffset(B),O=Z.indexAtOffset(B+M);if(O<X-1)O++;G=Math.max(0,G),O=Math.min(X-1,O);let p=Math.max(0,G-v),m=Math.min(X-1,O+v);if(p===U.prevRangeStart&&m===U.prevRangeEnd&&!U.renderPending)return;F();let k=K?.()??w4,l=A?.()??-1;Y.length=0;for(let e=p;e<=m;e++){let c=q.getItem(e);if(c)Y.push(c)}f.start=p,f.end=m,j.render(Y,f,k,l),U.prevRangeStart=p,U.prevRangeEnd=m,U.renderPending=!1;let s=m-p+1;U.visibleCount=Math.min(s,U.capacity),U.startIndex=p;for(let e=0;e<U.visibleCount;e++){let c=p+e;U.visibleIndices[e]=c,U.visibleOffsets[e]=Z.getOffset(c),U.visibleSizes[e]=Z.getSize(c)}let h=Z.getTotalSize();if(h!==D)D=h,q.updateContentSize(h)}function C(){if(U.destroyed)return;D=-1,U.prevRangeStart=-1,U.prevRangeEnd=-1,U.renderPending=!0,R()}return{name:"table",priority:10,conflicts:["grid","masonry"],setup(M){q=M,U=M.getState(),Z=M.sizeCache;let{dom:X,config:L,emitter:B}=M,{classPrefix:v}=L;if(L.axis.primary==="x")throw Error("[vlist] table: cannot be used with horizontal orientation");if(L.reverse)throw Error("[vlist] table: cannot be used with reverse mode");let G=$.resizable??!0,O=$.minColumnWidth??50,p=$.maxColumnWidth??1/0,m=$.fillWidth===!1?"none":$.fillWidth===!0?"stretch":$.fillWidth??"spacer",k=$.rowBorders??!0,l=$.rowHeight,s=$.headerHeight??(typeof l==="number"?l:40),h=$.sort?.key??null,e=$.sort?.direction??"asc";if(J=l1($.columns,O,p,G,m),typeof l==="function"||typeof l==="number")M.setSizeConfig(l);if(M.rebuildSizeCache(),X.root.classList.add(`${v}--table`),k)X.root.classList.add(`${v}--table-row-borders`);if($.columnBorders)X.root.classList.add(`${v}--table-col-borders`);queueMicrotask(()=>{if(M.getMethod("_getSelectedIds"))X.root.setAttribute("tabindex","0")}),X.root.setAttribute("role","grid"),X.root.setAttribute("aria-colcount",`${$.columns.length}`),X.viewport.setAttribute("role","none"),X.content.setAttribute("role","rowgroup");let c=U.crossSize;J.resolve(c);let o=()=>{if(!J)return;X.content.style.minWidth=`${J.totalWidth}px`},r=(u,a)=>{if(!J)return;let T=J.getColumn(u);if(!T)return;let N=T.width,P=J.resizeColumn(u,a);Q?.update(J),j?.updateColumnLayout(J),o(),B.emit("column:resize",{key:T.def.key,index:u,previousWidth:N,width:P})},y=(u)=>{h=u.direction===null?null:u.key,e=u.direction??"asc",Q?.updateSort(h,e),B.emit("column:sort",u)};if(Q=r1(X.root,s,v,r,y),Q.rebuild(J),h)Q.updateSort(h,e);o(),j=s1(X.content,()=>Z,J,$.columns,v,v,()=>U.totalItems,L.striped||void 0,void 0,()=>U.baseOffset),M.setRenderFn(R,C);let x=Q,V=-1,b=()=>{let u=X.viewport.scrollLeft;if(u!==V)V=u,x?.syncScroll?.(u)};X.viewport.addEventListener("scroll",b,{passive:!0}),M.registerMethod("updateColumns",(u)=>{if(!J||!Q)return;if(J.updateColumns(u),J.resolve(U.crossSize),Q.rebuild(J),h)Q.updateSort(h,e);o(),j?.updateColumnLayout(J),j?.clear(),M.forceRender()}),M.registerMethod("resizeColumn",(u,a)=>{if(!J)return;let T;if(typeof u==="string"){let N=J.columns;T=-1;for(let P=0;P<N.length;P++)if(N[P].def.key===u){T=P;break}if(T===-1)return}else T=u;r(T,a)}),M.registerMethod("getColumnWidths",()=>{if(!J)return{};let u={},a=J.columns;for(let T=0;T<a.length;T++)u[a[T].def.key]=a[T].width;return u}),M.registerMethod("setSort",(u,a)=>{h=u,e=a??"asc",Q?.updateSort(h,e)}),M.registerMethod("getSort",()=>{return{key:h,direction:e}}),M.registerMethod("_getTableLayout",()=>J),M.registerMethod("_getTableHeaderHeight",()=>s),M.registerMethod("_updateRenderedItem",(u,a,T,N)=>{j?.updateItem(u,a,T,N)}),M.registerMethod("_replaceTableRenderer",(u)=>{j=u}),M.registerMethod("_updateTableForGroups",(u,a)=>{j?.setGroupHeaderFn(u,a)}),M.registerMethod("_updateItemClasses",(u,a,T)=>{j?.updateItemClasses(u,a,T)}),M.registerKeydownHandler((u)=>{if(u.key!=="ArrowLeft"&&u.key!=="ArrowRight")return;if(!J)return;let a=J.columns;if(a.length===0)return;let T=X.viewport.clientWidth;if(J.totalWidth<=T)return;let N=X.viewport.scrollLeft;if(u.key==="ArrowRight"){for(let P=0;P<a.length;P++)if(a[P].offset>N+1){X.viewport.scrollLeft=a[P].offset,u.preventDefault();return}}else{for(let P=a.length-1;P>=0;P--)if(a[P].offset<N-1){X.viewport.scrollLeft=a[P].offset,u.preventDefault();return}if(N>0)X.viewport.scrollLeft=0,u.preventDefault()}}),M.registerDestroyHandler(()=>{X.viewport.removeEventListener("scroll",b),Q?.destroy(),Q=null,j?.destroy(),j=null,X.content.style.minWidth="",X.root.classList.remove(`${v}--table`),X.root.classList.remove(`${v}--table-row-borders`),X.root.classList.remove(`${v}--table-col-borders`),X.root.removeAttribute("role"),X.root.removeAttribute("aria-colcount"),X.root.removeAttribute("aria-rowcount"),X.root.removeAttribute("tabindex"),X.viewport.removeAttribute("role"),X.content.removeAttribute("role")})},hooks:{onResize(M,X){if(!J||!q)return;let L=U.crossSize;if(J.resolve(L),Q?.update(J),j?.updateColumnLayout(J),J)q.dom.content.style.minWidth=`${J.totalWidth}px`},onAfterScroll(){if(!q||!Q)return;Q?.syncScroll?.(q.dom.viewport.scrollLeft)}},destroy(){Q?.destroy(),Q=null,j?.destroy(),j=null,q=null}}}function I0($){let J=$?.handle??null,Q=$?.ghostClass??"vlist-sort-ghost",j=$?.shiftDuration??150,U=$?.edgeScrollZone??40,Z=$?.edgeScrollSpeed??20,q=$?.dragThreshold??5,K=$?.ghostContainer??null,A,W,_=null,D,F,Y,f,R,C,M,X,L,B,v=!1,G=-1,O=-1,p=0,m=0,k=0,l=0,s=!1,h=null,e=0,c=null,o=0,r=0,y=0,x=null,V=!1,b="",u=-1,a=-1,T=[],N="",P=null,t=null,W2="",H=!1,w=(d)=>{return d.closest("[data-index]")},z=(d)=>{let _2=d.dataset.index;return _2===void 0?-1:+_2},E=(d)=>{let _2=d.getBoundingClientRect(),N2=d.cloneNode(!0);return N2.className=`${f}-item ${Q}`,N2.removeAttribute("data-index"),N2.style.cssText=`position:fixed;pointer-events:none;z-index:10000;width:${_2.width}px;height:${_2.height}px;left:${_2.left}px;top:${_2.top}px;transition:none;will-change:transform`,(K||document.body).appendChild(N2),N2},g=()=>{if(!h)return;h.style.left=`${k-r}px`,h.style.top=`${l-y}px`},J2=()=>{let d=A.totalItems;if(d===0)return 0;let _2=F.getBoundingClientRect(),N2=A.scrollPosition,L2=R?k-r-_2.left+F.scrollLeft+N2:l-y-_2.top+N2,P2=L2+o,G2=W.getOffset(G)+W.getSize(G);if(P2>G2){let H2=W.indexAtOffset(P2),v2=W.getOffset(H2)+W.getSize(H2)/2,C2=P2>v2?H2:H2-1;return Math.min(Math.max(C2,G),d-1)}let n=W.getOffset(G);if(L2<n){let H2=W.indexAtOffset(L2),v2=W.getOffset(H2)+W.getSize(H2)/2,C2=L2<v2?H2:H2+1;return Math.max(Math.min(C2,G),0)}return G},Q2=()=>{let d=D.children,_2=o;for(let N2=0;N2<d.length;N2++){let L2=d[N2],P2=z(L2);if(P2<0||P2===G)continue;let G2=0;if(O>G){if(P2>G&&P2<=O)G2=-_2}else if(O<G){if(P2>=O&&P2<G)G2=_2}let n=W.getOffset(P2),H2=Math.round(n+G2);L2.style.transition=M,L2.style.transform=`${C}(${H2}px)`}},$2=()=>{let d=D.children;for(let _2=0;_2<d.length;_2++){let N2=d[_2],L2=z(N2);if(L2>=0)N2.style.transform=`${C}(${Math.round(W.getOffset(L2))}px)`;N2.style.transition=""}},Y2=()=>{if(!_)return;let d=J2();if(d===O)return;O=d,Q2(),_.emitter.emit("sort:move",{fromIndex:G,currentIndex:O})},B2=()=>{let d=F.getBoundingClientRect();if(R)return k<d.left||k>d.right;return l<d.top||l>d.bottom},A2=()=>{let d=_?.getMethod("_getFocusedIndex");return d?d():-1},S=(d)=>{let _2=_?.getMethod("_focusById");if(_2)_2(d)},i=(d)=>{if(!_)return;let _2=R?F.clientWidth:F.clientHeight,N2=A.scrollPosition,L2=W.getOffset(d),P2=L2+W.getSize(d);if(L2<N2)_.scrollTo(Math.max(0,L2));else if(P2>N2+_2)_.scrollTo(P2-_2)},j2=(d)=>{if(!t)return;t.textContent="",t.offsetHeight,t.textContent=d},V2=(d)=>{if(!_)return"";let N2=_.getItems()[d];if(!N2)return"";return D.querySelector(`[data-index="${d}"]`)?.textContent?.trim()||String(N2.id)},U2=()=>String(A.totalItems),D2=(d)=>{let _2=D.children;for(let N2=0;N2<_2.length;N2++)_2[N2].style.transition=d},R2=()=>{let d=()=>{if(!v||!_)return;let _2=F.getBoundingClientRect(),N2=0,L2=3;if(R){let G2=k-_2.left,n=_2.right-k;if(G2<U){let H2=Math.min(L2,1-G2/U);N2=-Z*H2*H2}else if(n<U){let H2=Math.min(L2,1-n/U);N2=Z*H2*H2}}else{let G2=l-_2.top,n=_2.bottom-l;if(G2<U){let H2=Math.min(L2,1-G2/U);N2=-Z*H2*H2}else if(n<U){let H2=Math.min(L2,1-n/U);N2=Z*H2*H2}}let P2=B2();if(N2!==0){let G2=A.scrollPosition,n=W.getTotalSize()-(R?F.clientWidth:F.clientHeight);if(N2<0&&G2<=0||N2>0&&G2>=n)H=P2;else H=!0,_.scrollTo(G2+N2)}else H=P2;e=requestAnimationFrame(d)};e=requestAnimationFrame(d)},T2=()=>{if(e)cancelAnimationFrame(e),e=0},k2=(d=!1)=>{if(v=!1,s=!1,h&&h.parentNode)h.remove();h=null,c=null;let _2=D.children;for(let L2=0;L2<_2.length;L2++){let P2=_2[L2];P2.classList.remove(B);let G2=z(P2);if(G2>=0)P2.style.transform=`${C}(${Math.round(W.getOffset(G2))}px)`;P2.style.transition=""}T2(),Y.classList.remove(X),document.body.style.cursor="";let N2=window.getSelection();if(N2)N2.removeAllRanges();if(document.removeEventListener("pointermove",w2),document.removeEventListener("pointerup",I),document.removeEventListener("pointercancel",K2),!d&&_)_.forceRender()},F2=(d,_2)=>{if(!_)return;let N2=d!==_2&&d>=0&&_2>=0,L2=()=>{if(!_)return;if(v=!1,N2){if(Y.classList.add(L),_.emitter.emit("sort:end",{fromIndex:d,toIndex:_2}),x!==null)S(x);k2(!0),requestAnimationFrame(()=>Y.classList.remove(L))}else Y.classList.add(L),_.emitter.emit("sort:cancel",{originalItems:[..._.getItems()]}),k2(!1),requestAnimationFrame(()=>Y.classList.remove(L))};if(!h){L2();return}let P2=F.getBoundingClientRect(),G2=A.scrollPosition,n=W.getOffset(_2),H2=j>0?j:150;if(h.style.transition=`left ${H2}ms ease, top ${H2}ms ease`,R)h.style.left=`${P2.left-F.scrollLeft+n-G2}px`,h.style.top=`${P2.top}px`;else h.style.left=`${P2.left}px`,h.style.top=`${P2.top+n-G2}px`;let v2=!1,C2=()=>{if(v2)return;v2=!0,h?.removeEventListener("transitionend",C2),L2()};h.addEventListener("transitionend",C2),setTimeout(C2,H2+50)},b2=(d)=>{if(A.destroyed||!_)return;if(v)return;if(V)z2();if(d.button!==0)return;let _2=d.target;if(J){if(!_2.closest(J))return}let N2=w(_2);if(!N2)return;let L2=z(N2);if(L2<0)return;p=d.clientX,m=d.clientY,k=d.clientX,l=d.clientY,G=L2,s=!1,c=N2;let P2=N2.getBoundingClientRect();r=d.clientX-P2.left,y=d.clientY-P2.top,document.addEventListener("pointermove",w2),document.addEventListener("pointerup",I),document.addEventListener("pointercancel",K2)};function w2(d){if(!_)return;if(k=d.clientX,l=d.clientY,!s){let _2=k-p,N2=l-m;if(Math.sqrt(_2*_2+N2*N2)<q)return;if(s=!0,v=!0,O=G,Y.classList.add(X),document.body.style.cursor="grabbing",o=W.getSize(G),c)h=E(c),c.classList.add(B);let L2=A2();if(L2>=0){let G2=_.getItems()[L2];x=G2?G2.id:null}else x=null;_.emitter.emit("sort:start",{index:G}),R2()}if(v){if(d.preventDefault(),g(),!H)Y2();else if(B2()){if(O!==G)O=G,$2()}}}function I(d){if(!s){document.removeEventListener("pointermove",w2),document.removeEventListener("pointerup",I),document.removeEventListener("pointercancel",K2),c=null;return}d.preventDefault(),document.removeEventListener("pointermove",w2),document.removeEventListener("pointerup",I),document.removeEventListener("pointercancel",K2),T2(),F2(G,O)}let q2=()=>{if(!s)return;document.removeEventListener("pointermove",w2),document.removeEventListener("pointerup",I),document.removeEventListener("pointercancel",K2),T2(),$2(),F2(G,G)};function K2(){q2()}let M2=()=>{let d=D.querySelectorAll(`.${W2}`);for(let _2=0;_2<d.length;_2++)d[_2].classList.remove(W2)},Z2=()=>{M2();let d=D.querySelector(`[data-id="${b}"]`);if(d)d.classList.add(W2)},O2=(d)=>{if(!_)return;let _2=_.getItems(),N2=_2[d];if(!N2)return;V=!0,b=N2.id,u=d,a=d,T=[..._2],Y.classList.add(X),_.emitter.emit("sort:start",{index:d}),Z2(),j2(`Grabbed ${V2(d)}. Current position ${d+1} of ${U2()}. Use Up and Down arrow keys to move, Space to drop, Escape to cancel.`)},E2=()=>{if(!V||!_)return;V=!1;let d=a,_2=V2(d);D2("none"),Y.classList.remove(X),M2(),S(b),_.forceRender(),j2(`${_2} dropped. Final position ${d+1} of ${U2()}.`),T=[],requestAnimationFrame(()=>D2(""))},z2=()=>{if(!V||!_)return;V=!1;let d=u;if(D2("none"),Y.classList.remove(X),M2(),a!==d)_.emitter.emit("sort:cancel",{originalItems:T});S(b),_.forceRender(),i(d),j2(`Reorder cancelled. Returned to position ${d+1} of ${U2()}.`),T=[],requestAnimationFrame(()=>D2(""))},y2=(d)=>{if(!V||!_)return;let _2=A.totalItems,N2=a+d;if(N2<0||N2>=_2)return;let L2=a,P2=N2;D2("none"),_.emitter.emit("sort:end",{fromIndex:L2,toIndex:P2}),a=P2,S(b),_.forceRender(),i(P2),Z2(),j2(`${V2(P2)} moved. New position ${P2+1} of ${U2()}.`),requestAnimationFrame(()=>D2(""))},X2=(d)=>{if(A.destroyed)return;if(v){if(d.key==="Escape")d.preventDefault(),d.stopImmediatePropagation(),q2();return}if(V)switch(d.key){case" ":case"Enter":d.preventDefault(),d.stopImmediatePropagation(),E2();return;case"Escape":d.preventDefault(),d.stopImmediatePropagation(),z2();return;case"ArrowUp":case"ArrowLeft":d.preventDefault(),d.stopImmediatePropagation(),y2(-1);return;case"ArrowDown":case"ArrowRight":d.preventDefault(),d.stopImmediatePropagation(),y2(1);return;default:if(!d.key.startsWith("F")&&d.key!=="Tab")d.preventDefault(),d.stopImmediatePropagation();return}if(d.key===" "&&!d.shiftKey&&!d.ctrlKey&&!d.metaKey){let _2=A2();if(_2>=0)d.preventDefault(),d.stopImmediatePropagation(),O2(_2)}};return{name:"sortable",priority:30,conflicts:["grid","masonry","table","scale","tree"],setup(d){_=d,A=d.getState(),W=d.sizeCache,D=d.dom.content,F=d.dom.viewport,Y=d.dom.root,f=d.config.classPrefix,R=d.config.axis.primary==="x",C=R?"translateX":"translateY",M=j>0?`transform ${j}ms ease`:"none",X=`${f}--sorting`,L=`${f}--settling`,B=`${f}-item--drag-source`,W2=`${f}-item--kb-sorting`,d.registerMethod("isSorting",()=>v||V),D.addEventListener("pointerdown",b2),Y.addEventListener("keydown",X2),N=`${f}-sort-instructions`,P=document.createElement("div"),P.id=N,P.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",P.textContent="Press Space to reorder. Use arrow keys to move, Space to drop, Escape to cancel.",Y.appendChild(P),t=document.createElement("div"),t.setAttribute("role","status"),t.setAttribute("aria-live","assertive"),t.setAttribute("aria-atomic","true"),t.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",Y.appendChild(t),d.registerDestroyHandler(()=>{if(V)z2();k2(),D.removeEventListener("pointerdown",b2),Y.removeEventListener("keydown",X2),P?.remove(),t?.remove()})},hooks:{onCommit(){if(!_)return;let d=D.children;for(let _2=0;_2<d.length;_2++){let N2=d[_2],L2=z(N2);if(L2<0)continue;if(N2.setAttribute("aria-roledescription","sortable item"),N2.setAttribute("aria-describedby",N),V)if(N2.getAttribute("data-id")===String(b))N2.classList.add(W2);else N2.classList.remove(W2);if(v)if(L2===G)N2.classList.add(B),c=N2;else{N2.classList.remove(B);let P2=0;if(O>G){if(L2>G&&L2<=O)P2=-o}else if(O<G){if(L2>=O&&L2<G)P2=o}let G2=Math.round(W.getOffset(L2)+P2);N2.style.transform=`${C}(${G2}px)`}}}},destroy(){if(h&&h.parentNode)h.remove();h=null,T2(),P?.remove(),t?.remove(),_=null}}}function f0($,J){let Q=[],j=J,U=new Map,Z=[];function q(){U.clear();for(let G=0;G<Q.length;G++)U.set(Q[G].id,G)}function K(G){let O=Q[G].depth,p=0;for(let m=G+1;m<Q.length;m++){if(Q[m].depth<=O)break;p++}return p}function A(G,O,p,m){for(let k=0;k<G.length;k++){let l=G[k],s=l.id,h=$(l),e=h.length>0,c=e&&j.has(s);if(m.push({item:l,id:s,depth:p,parentId:O,hasChildren:e,expanded:c,childCount:h.length,siblingCount:G.length,positionInSiblings:k,isLastChild:k===G.length-1,loading:!1}),c)A(h,s,p+1,m)}}function W(G,O,p){for(let m of G){if(m.id===O)return m;let k=$(m);if(k.length>0){p?.push(m.id);let l=W(k,O,p);if(l)return l;p?.pop()}}return}function _(G,O){if(O===null)return Z;let p=W(Z,O);return p?$(p):[]}function D(G,O){let p=W(Z,O);if(!p)return!1;return W($(p),G)!==void 0}function F(G){let O=new Set;function p(m){for(let k of m){if(O.has(k.id))throw Error(`[vlist] tree: duplicate id "${k.id}"`);O.add(k.id);let l=$(k);if(l.length>0)p(l)}}p(G)}function Y(G,O){if(Z=G,!O)F(G);Q.length=0,A(G,null,0,Q),q()}function f(G){let O=U.get(G);if(O===void 0)return 0;let p=Q[O];if(!p.hasChildren||p.expanded)return 0;let m=[],k=$(p.item);if(A(k,G,p.depth+1,m),m.length===0)return 0;p.expanded=!0,j.add(G);let l=O+1,s=Q.splice(l);for(let h=0;h<m.length;h++)Q.push(m[h]);for(let h=0;h<s.length;h++)Q.push(s[h]);return q(),m.length}function R(G){let O=U.get(G);if(O===void 0)return 0;let p=Q[O];if(!p.hasChildren||!p.expanded)return 0;p.expanded=!1,j.delete(G);let m=K(O);if(m>0)Q.splice(O+1,m),q();return m}function C(G){function O(p){for(let m of p){let k=$(m);if(k.length>0)j.add(m.id),O(k)}}O(G),Y(G)}function M(){j.clear(),Y(Z,!0)}function X(G){let O=[];if(!W(Z,G,O))return;for(let p of O)j.add(p);Y(Z,!0)}function L(G,O,p){if(U.has(O.id)||W(Z,O.id))throw Error(`[vlist] tree: duplicate id "${O.id}"`);if(G===null){let h=Z,e=p??h.length;h.splice(e,0,O),Y(Z,!0);return}let m=U.get(G);if(m===void 0)throw Error(`[vlist] tree: parent "${G}" not found`);let k=Q[m],l=$(k.item),s=p??l.length;if(l.splice(s,0,O),!k.hasChildren)k.hasChildren=!0,k.childCount=1,k.expanded=!1;else k.childCount=l.length;if(k.expanded)Y(Z,!0);else q()}function B(G){let O=U.get(G);if(O===void 0)return 0;let p=Q[O],k=K(O)+1;for(let h=O;h<O+k;h++)j.delete(Q[h].id);if(Q.splice(O,k),p.parentId!==null){let h=U.get(p.parentId);if(h!==void 0){let e=Q[h];if(e.childCount--,e.childCount===0)e.hasChildren=!1,e.expanded=!1,j.delete(e.id)}}let l=_(G,p.parentId),s=l.findIndex((h)=>h.id===G);if(s>=0)l.splice(s,1);return Y(Z,!0),k}function v(G,O,p){if(O!==null&&D(O,G))throw Error(`[vlist] tree: cannot move "${G}" to its own descendant "${O}"`);if(G===O)throw Error(`[vlist] tree: cannot move "${G}" to itself`);let m=U.get(G);if(m===void 0)return;let k=Q[m],l=_(G,k.parentId),s=l.findIndex((h)=>h.id===G);if(s>=0)l.splice(s,1);if(O===null){let h=Z,e=p??h.length;h.splice(e,0,k.item)}else{let h=W(Z,O);if(!h)throw Error(`[vlist] tree: new parent "${O}" not found`);let e=$(h),c=p??e.length;e.splice(c,0,k.item)}Y(Z,!0)}return{flatNodes:Q,expandedIds:j,idToIndex:U,rebuild:Y,expand:f,collapse:R,expandAll:C,collapseAll:M,expandTo:X,getSubtreeSize:K,addChild:L,removeNode:B,moveNode:v,get totalVisible(){return Q.length},get rootItems(){return Z}}}var z4=()=>[];function y4($){let{children:J,parentId:Q}=$;if(Q!==void 0)return z4;if(J===void 0||J==="children")return(j)=>j.children??[];if(typeof J==="string"){let j=J;return(U)=>U[j]??[]}return J}function v4($){let{label:J}=$;if(J===void 0)return(Q)=>{let j=Q;return String(j.name??j.label??j.title??Q.id)};if(typeof J==="string"){let Q=J;return(j)=>String(j[Q]??j.id)}return J}function C4($,J,Q){let{expanded:j}=$,U=new Set;if(j===void 0||j===!1)return U;if(Array.isArray(j)){for(let K of j)U.add(K);return U}let Z=j===!0?null:j;function q(K){for(let A of K){let W=Q(A);if(W.length>0){if(!Z||Z(A))U.add(A.id);q(W)}}}return q(J),U}function o1($,J){let{parentId:Q}=J;if(Q===void 0)throw Error("[vlist] tree: parentId not set");let j=typeof Q==="string"?(K)=>K[Q]??null:Q,U=(K)=>j(K)??null,Z=new Map,q=new Map;for(let K of $){q.set(K.id,K);let A=U(K),W=Z.get(A);if(!W)W=[],Z.set(A,W);W.push(K)}for(let K of $){let A=U(K);if(A!==null&&A!==void 0&&!q.has(A))console.warn(`[vlist] tree: orphaned node "${K.id}" — parentId "${A}" not found`)}return{roots:Z.get(null)??[],getChildren:(K)=>{let A=Z.get(K.id);if(!A)A=[],Z.set(K.id,A);return A}}}var g2={selected:!1,focused:!1},r2={depth:0,expanded:!1,hasChildren:!1,isLeaf:!0,isLastChild:!1,loading:!1};g2.tree=r2;function p0($){let J=$??{},Q=J.indent??24,j=J.paddingStart??0,U=J.expandOnClick??!1,Z=J.connectorLines??!1,q=J.parentId!==void 0,K,A,W,_,D,F,Y,f,R,C,M=null,X,L,B,v,G,O,p,m,k,l,s=new Map,h=-1,e=-1,c=-1,o=!0,r=null,y=!1,x,V=-1,b=!1,u=!1,a="",T=null;function N(){if(u){let I=X("_getFocusedIndex");return I?I():-1}return b?V:-1}let P,t,W2;function H(){if(t!==void 0)return;P=X("select")??null,t=X("_focusById")??null,W2=X("_isFollowFocus")??null}function w(I){if(I<0||I>=K.totalVisible)return;let q2=K.flatNodes[I];if(!q2)return;if(u){if(H(),t)t(q2.id);if(W2?.()&&P)P(q2.id);else g();z(I)}else V=I,b=!0,D.setAttribute("aria-activedescendant",`${R}-item-${I}`),z(I),g()}function z(I){let q2=A.getOffset(I),K2=A.getSize(I),M2=W.scrollPosition,Z2=W.containerSize;if(q2<M2)E(q2);else if(q2+K2>M2+Z2)E(q2-Z2+K2)}let E,g,J2;function Q2(I){return f?`translate(${Math.round(I)}px, 0)`:`translate(0, ${Math.round(I)}px)`}function $2(I){if(I===c)return;c=I,D.style[f?"width":"height"]=I+"px"}function Y2(){s.forEach((I)=>{I.remove(),_.release(I)}),s.clear()}let B2=0;function A2(){let I=J2();if(I===r&&I.length===B2)return;if(r=I,B2=I.length,q){let{roots:q2,getChildren:K2}=o1(I,J),M2=J.loadChildren?(Z2)=>j2.get(Z2.id)??K2(Z2):K2;K=f0(M2,K.expandedIds),K.rebuild(q2,!0)}else K.rebuild(I,!0);S(),Y2()}function S(){W.totalItems=K.totalVisible,x(K.totalVisible);let I=A.getTotalSize();$2(I);let q2=X("_scrollbar:getInstance");if(q2)q2()?.updateBounds(I,W.containerSize)}function i(){S(),Y2(),g()}let j2=new Map,V2=new Set;async function U2(I){if(!J.loadChildren||V2.has(I))return;let q2=K.idToIndex.get(I);if(q2===void 0)return;let K2=K.flatNodes[q2];V2.add(I),K2.loading=!0,queueMicrotask(()=>g());try{let M2=await J.loadChildren(K2.item);V2.delete(I);let Z2=K.idToIndex.get(I);if(Z2===void 0)return;let O2=K.flatNodes[Z2];if(O2.loading=!1,j2.set(I,M2),O2.hasChildren=M2.length>0,O2.childCount=M2.length,M2.length>0)O2.expanded=!0,K.expandedIds.add(I),K.rebuild(K.rootItems);i(),L.emit("tree:load",{id:I,item:O2.item,children:M2})}catch(M2){V2.delete(I),j2.set(I,[]);let Z2=K.idToIndex.get(I);if(Z2!==void 0)K.flatNodes[Z2].loading=!1;g(),L.emit("tree:load:error",{id:I,item:K2.item,error:M2})}}function D2(I){let q2=K.idToIndex.get(I);if(q2===void 0)return;let K2=K.flatNodes[q2];if(J.loadChildren&&!K2.hasChildren&&!K2.loading){if(!j2.has(I)){U2(I);return}}if(K.expand(I)===0)return;i(),L.emit("tree:expand",{id:I,item:K2.item,depth:K2.depth})}function R2(I){let q2=K.idToIndex.get(I);if(q2===void 0)return;let K2=K.flatNodes[q2],M2=K.collapse(I);if(M2===0)return;if(!u&&V>q2){if(V<=q2+M2)V=q2;else V-=M2;if(b)D.setAttribute("aria-activedescendant",`${R}-item-${V}`)}i(),L.emit("tree:collapse",{id:I,item:K2.item,depth:K2.depth})}function T2(I,q2,K2,M2){let{depth:Z2,expanded:O2,hasChildren:E2,loading:z2,siblingCount:y2,positionInSiblings:X2,isLastChild:d,id:_2}=q2;if(I.className=v,O2)I.classList.add(G);if(!E2)I.classList.add(O);if(z2)I.classList.add(p);if(Z&&d)I.classList.add(m);if(I.setAttribute("role","treeitem"),I.setAttribute("data-index",String(K2)),I.setAttribute("data-id",String(_2)),I.id=`${R}-item-${K2}`,I.setAttribute("aria-level",String(Z2+1)),I.setAttribute("aria-setsize",String(y2)),I.setAttribute("aria-posinset",String(X2+1)),E2)I.setAttribute("aria-expanded",String(O2));else I.removeAttribute("aria-expanded");if(I.style.paddingLeft=`${j+Z2*Q}px`,I.style.setProperty("--vlist-tree-depth",String(Z2)),Z)I.style.setProperty("--vlist-tree-indent",`${Q}px`),I.style.setProperty("--vlist-tree-pad",`${j}px`);if(M2)M2(K2,g2);else g2.selected=!1,g2.focused=!1;r2.depth=Z2,r2.expanded=O2,r2.hasChildren=E2,r2.isLeaf=!E2,r2.isLastChild=d,r2.loading=z2;let N2=Y(q2.item,K2,g2);if(typeof N2==="string")I.innerHTML=N2;else I.innerHTML="",I.appendChild(N2);u2(I)}function k2(){if(W.destroyed)return;if(A2(),!y){if(y=!0,D.setAttribute("role","tree"),D.setAttribute("tabindex","0"),F.classList.add(`${R}--tree`),Z)F.classList.add(`${R}--tree-lines`)}let{scrollPosition:I,containerSize:q2}=W;if(!o&&I===h&&q2===e)return;h=I,e=q2,o=!1;let K2=K.totalVisible;if(q2<=0||K2===0){if(s.size>0)Y2();return}let M2=A.indexAtOffset(I),Z2=A.indexAtOffset(I+q2);if(Z2<K2-1)Z2++;M2=Math.max(0,M2),Z2=Math.min(K2-1,Math.max(0,Z2));let O2=Math.max(0,M2-C),E2=Math.min(K2-1,Z2+C);if(O2===W.prevRangeStart&&E2===W.prevRangeEnd&&!W.renderPending)return;s.forEach((d,_2)=>{if(_2<O2||_2>E2)d.remove(),_.release(d),s.delete(_2)});let z2=M?.()??null,y2=null;for(let d=O2;d<=E2;d++){let _2=K.flatNodes[d],N2=s.get(d);if(N2===void 0){if(N2=_.acquire(),T2(N2,_2,d,z2),N2.style[f?"width":"height"]=`${A.getSize(d)}px`,s.set(d,N2),!y2)y2=document.createDocumentFragment();y2.appendChild(N2)}else if(N2.getAttribute("data-id")!==String(_2.id)||N2.classList.contains(p)!==_2.loading)T2(N2,_2,d,z2);if(N2.style.transform=Q2(A.getOffset(d)),z2)if(z2(d,g2),N2.classList.toggle(k,g2.selected),N2.classList.toggle(l,g2.focused),g2.selected)N2.setAttribute("aria-selected","true");else N2.removeAttribute("aria-selected");else if(!u){let L2=b&&V===d;N2.classList.toggle(l,L2)}}if(y2)D.appendChild(y2);$2(A.getTotalSize()),W.prevRangeStart=O2,W.prevRangeEnd=E2,W.renderPending=!1;let X2=0;for(let d=O2;d<=E2&&X2<W.capacity;d++)W.visibleIndices[X2]=d,W.visibleOffsets[X2]=A.getOffset(d),W.visibleSizes[X2]=A.getSize(d),X2++;W.visibleCount=X2,W.startIndex=O2}function F2(){if(W.destroyed)return;W.prevRangeStart=-1,W.prevRangeEnd=-1,W.renderPending=!0,o=!0,k2()}function b2(I,q2){if(a+=I.toLowerCase(),T!==null)clearTimeout(T);T=setTimeout(()=>{a="",T=null},500);let K2=K.totalVisible;for(let M2=1;M2<=K2;M2++){let Z2=(q2+M2)%K2,O2=K.flatNodes[Z2];if(B(O2.item).toLowerCase().startsWith(a)){w(Z2);return}}}function w2(I){let q2=!1;for(let K2 of K.flatNodes)if(K2.parentId===I.parentId&&K2.hasChildren&&!K2.expanded)K.expandedIds.add(K2.id),q2=!0;if(!q2)return;K.rebuild(K.rootItems,!0),i()}return{name:"tree",priority:10,conflicts:["groups","grid","masonry","table"],setup(I){A=I.sizeCache,W=I.getState(),_=I.pool,D=I.dom.content,F=I.dom.root,Y=I.template,f=I.config.axis.primary==="x",R=I.config.classPrefix,C=I.config.overscan,L=I.emitter,M=I.getItemStateFn.bind(I),X=I.getMethod.bind(I),E=I.scrollTo.bind(I),g=I.forceRender.bind(I),J2=I.getItems.bind(I),v=`${R}-item ${R}-tree-node`,G=`${R}-tree-node--expanded`,O=`${R}-tree-node--leaf`,p=`${R}-tree-node--loading`,m=`${R}-tree-node--last`,k=`${R}-item--selected`,l=`${R}-item--focused`;let q2=I.getItems();r=q2,B2=q2.length;let K2,M2;if(q){let X2=o1(q2,J);K2=X2.getChildren,M2=X2.roots}else K2=y4(J),M2=q2;let Z2=J.loadChildren?(X2)=>j2.get(X2.id)??K2(X2):K2;B=v4(J);let O2=C4(J,M2,Z2);K=f0(Z2,O2),K.rebuild(M2),x=A.rebuild,A.rebuild=(X2)=>{x(K.totalVisible)},A.rebuild(K.totalVisible),W.totalItems=K.totalVisible,I.setVirtualTotalFn(()=>K.totalVisible),I.setGetItemFn((X2)=>{let d=K.flatNodes[X2];return d?d.item:void 0}),I.setGetIndexByIdFn((X2)=>{return K.idToIndex.get(X2)??-1}),I.setRenderFn(k2,F2),I.registerMethod("_layoutToDataIndex",(X2)=>X2),I.registerMethod("_dataToLayoutIndex",(X2)=>X2),I.registerMethod("_getLoadedItem",(X2)=>{let d=K.flatNodes[X2];return d?d.item:void 0}),I.registerMethod("_getRenderedElement",(X2)=>s.get(X2)??null),queueMicrotask(()=>{u=!!(X("_getFocusedIndex")||I.getItemStateFn())}),I.setInsertItemFn((X2,d)=>{let _2=J2(),N2=Math.min(d,_2.length);_2.splice(N2,0,X2),B2=_2.length,K.rebuild(_2),i()}),I.setRemoveItemFn((X2)=>{let d=K.idToIndex.get(X2),_2=null;if(q&&d!==void 0){_2=new Set,_2.add(X2);let L2=K.getSubtreeSize(d);for(let P2=d+1;P2<=d+L2;P2++)_2.add(K.flatNodes[P2].id)}let N2=K.removeNode(X2);if(N2===0)return-1;if(!u&&d!==void 0&&V>=d)V=Math.max(0,Math.min(V-N2,K.totalVisible-1));if(q&&_2){let L2=J2();for(let P2=L2.length-1;P2>=0;P2--)if(_2.has(L2[P2].id))L2.splice(P2,1)}return B2=J2().length,i(),L.emit("data:change",{type:"remove",id:X2}),N2}),I.setUpdateItemFn((X2,d)=>{let _2=K.idToIndex.get(X2);if(_2===void 0)return!1;let N2=K.flatNodes[_2];Object.assign(N2.item,d);let L2=s.get(_2);if(L2)T2(L2,N2,_2,M?.()??null);return L.emit("data:change",{type:"update",id:X2}),!0}),I.registerClickHandler((X2)=>{let d=X2.target.closest("[data-index]");if(!d)return;let _2=parseInt(d.dataset.index??"-1",10);if(_2<0)return;let N2=K.flatNodes[_2];if(!N2)return;let L2=N2.id,P2=!1;if(U&&(N2.hasChildren||J.loadChildren&&!N2.loading&&!j2.has(L2))){let G2=K.totalVisible;if(N2.expanded)R2(L2);else D2(L2);P2=K.totalVisible!==G2}if(u&&P2){if(H(),t)t(L2);if(P)P(L2)}else if(!u)V=K.idToIndex.get(L2)??_2,b=!1,D.focus({preventScroll:!0})});let E2=()=>{if(W.destroyed||u)return;if(!D.matches(":focus-visible")&&!F.matches(":focus-visible"))return;let X2=K.totalVisible;if(X2===0)return;V=V>=0?Math.min(V,X2-1):0,b=!0,D.setAttribute("aria-activedescendant",`${R}-item-${V}`),z(V),F2()};F.addEventListener("focusin",E2);let z2=(X2)=>{if(W.destroyed||u)return;let d=X2.relatedTarget;if(d&&F.contains(d))return;b=!1,D.removeAttribute("aria-activedescendant"),F2()};F.addEventListener("focusout",z2),I.registerKeydownHandler((X2)=>{if(W.destroyed)return;let d=K.totalVisible;if(d===0)return;let _2=N();if(_2<0&&!u&&(X2.key==="ArrowDown"||X2.key==="Home")){w(0),X2.preventDefault();return}if(_2<0)return;let N2=K.flatNodes[_2];if(!N2)return;switch(X2.key){case"ArrowRight":{if(N2.hasChildren||J.loadChildren&&!N2.loading)if(!N2.expanded)D2(N2.id);else w(_2+1);X2.preventDefault();break}case"ArrowLeft":{if(N2.hasChildren&&N2.expanded)R2(N2.id);else if(N2.parentId!==null){let L2=K.idToIndex.get(N2.parentId);if(L2!==void 0)w(L2)}X2.preventDefault();break}case"*":{w2(N2),X2.preventDefault();break}default:{if(!u){if(X2.key==="ArrowDown"){if(_2<d-1)w(_2+1);X2.preventDefault();break}if(X2.key==="ArrowUp"){if(_2>0)w(_2-1);X2.preventDefault();break}if(X2.key==="Home"){w(0),X2.preventDefault();break}if(X2.key==="End"){w(d-1),X2.preventDefault();break}if(X2.key==="Enter"){L.emit("item:click",{item:N2.item,index:_2,event:X2}),X2.preventDefault();break}}if(X2.key.length===1&&!X2.ctrlKey&&!X2.altKey&&!X2.metaKey)b2(X2.key,_2),X2.preventDefault()}}}),I.registerMethod("expand",D2),I.registerMethod("collapse",R2),I.registerMethod("toggle",(X2)=>{let d=K.idToIndex.get(X2);if(d===void 0)return;if(K.flatNodes[d].expanded)R2(X2);else D2(X2)}),I.registerMethod("expandAll",()=>{K.expandAll(K.rootItems),i()}),I.registerMethod("collapseAll",()=>{K.collapseAll(),i()}),I.registerMethod("expandTo",(X2)=>{K.expandTo(X2),i();let d=K.idToIndex.get(X2);if(d!==void 0)z(d)}),I.registerMethod("getExpanded",()=>Array.from(K.expandedIds)),I.registerMethod("isExpanded",(X2)=>K.expandedIds.has(X2));let y2=q&&typeof J.parentId==="string"?J.parentId:null;I.registerMethod("addChild",(X2,d,_2)=>{if(y2)d[y2]=X2;if(q){let N2=J2();N2.push(d),B2=N2.length}K.addChild(X2,d,_2),i(),L.emit("data:change",{type:"add",id:d.id})}),I.registerMethod("moveNode",(X2,d,_2)=>{if(y2){let N2=K.idToIndex.get(X2);if(N2!==void 0)K.flatNodes[N2].item[y2]=d}K.moveNode(X2,d,_2),i()}),I.registerMethod("getTreeLayout",()=>({totalVisible:K.totalVisible,flatNodes:K.flatNodes})),I.registerDestroyHandler(()=>{if(F.removeEventListener("focusin",E2),F.removeEventListener("focusout",z2),Y2(),F.classList.remove(`${R}--tree`),F.classList.remove(`${R}--tree-lines`),T!==null)clearTimeout(T)})},destroy(){if(s.clear(),T!==null)clearTimeout(T)}}}var a1=($)=>{if(typeof $==="function")return $;if(typeof $==="string")return(J)=>{let Q=J[$];return Q==null?"":String(Q)};return(J)=>{if(J==null)return"";let Q="";for(let j in J){let U=J[j];if(typeof U==="string")Q+=Q?" "+U:U}return Q}},u0=($,J,Q)=>{if(!J)return!1;return(Q?$:$.toLowerCase()).includes(J)},S4=($,J)=>{let Q=$.querySelectorAll(`mark.${J}`);for(let j=Q.length-1;j>=0;j--){let U=Q[j],Z=U.parentNode;if(!Z)continue;let q=document.createTextNode(U.textContent??"");Z.replaceChild(q,U),Z.normalize()}},g0=($,J,Q,j)=>{if(!J)return;S4($,j);let U=Q?J:J.toLowerCase(),Z=J.length,q=document.createTreeWalker($,NodeFilter.SHOW_TEXT,{acceptNode(W){let _=W.nodeValue??"";return(Q?_:_.toLowerCase()).includes(U)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),K=[],A;while((A=q.nextNode())!==null)K.push(A);for(let W of K){let _=W.nodeValue??"",D=Q?_:_.toLowerCase(),F=document.createDocumentFragment(),Y=0,f=D.indexOf(U,0);while(f!==-1){if(f>Y)F.appendChild(document.createTextNode(_.slice(Y,f)));let R=document.createElement("mark");R.className=j,R.textContent=_.slice(f,f+Z),F.appendChild(R),Y=f+Z,f=D.indexOf(U,Y)}if(Y<_.length)F.appendChild(document.createTextNode(_.slice(Y)));W.parentNode?.replaceChild(F,W)}};var x0=($,J,Q,j)=>{let U=document.createElement("button");return U.type="button",U.className=$,U.tabIndex=j,U.setAttribute("aria-label",J),U.innerHTML=Q,U},i1=($,J,Q,j,U,Z,q)=>{let K=`${Q}-search`,A=document.createElement("div");if(A.className=`${K} ${K}--bar ${K}--${j}`,A.setAttribute("role","search"),A.setAttribute("aria-disabled","false"),U.region)A.setAttribute("aria-label",U.region);let W=document.createElement("div");W.className=`${K}__container`;let _=document.createElement("span");_.className=`${K}__leading-icon`,_.setAttribute("aria-hidden","true"),_.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M0 0h24v24H0z" fill="none"></path><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path></svg>';let D=document.createElement("div");D.className=`${K}__input-wrapper`;let F=document.createElement("input");if(F.type="text",F.className=`${K}__input`,F.placeholder=U.placeholder,F.spellcheck=!1,F.autocomplete="off",F.setAttribute("aria-label",U.placeholder),Z)F.setAttribute("aria-controls",Z);D.appendChild(F);let Y=document.createElement("span");Y.className=`${K}__counter`,Y.setAttribute("aria-live","polite");let f=x0(`${K}__nav-prev`,U.previous,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M7.41 15.41 12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path></svg>',-1),R=x0(`${K}__nav-next`,U.next,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z"></path></svg>',-1),C=x0(`${K}__clear-button ${K}__clear-button--hidden`,U.clear,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M0 0h24v24H0z" fill="none"></path><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>',-1);if(W.append(_,D,Y,f,R,C),A.appendChild(W),j==="top"&&J)$.insertBefore(A,J);else if(j==="top")$.insertBefore(A,$.firstChild);else $.appendChild(A);let M=()=>{C.classList.toggle(`${K}__clear-button--hidden`,F.value.length===0)},X=()=>{M(),q.onInput(F.value)},L=(p)=>q.onKeydown(p),B=()=>F.focus(),v=()=>{q.onClear(),F.focus()},G=()=>q.onPrev(),O=()=>q.onNext();return F.addEventListener("input",X),F.addEventListener("keydown",L),_.addEventListener("click",B),C.addEventListener("click",v),f.addEventListener("click",G),R.addEventListener("click",O),{root:A,input:F,setCounter(p){Y.textContent=p},showNav(p){f.classList.toggle(`${K}__nav-prev--hidden`,!p),R.classList.toggle(`${K}__nav-next--hidden`,!p)},focus(){F.focus(),F.select()},setValue(p){F.value=p,M()},destroy(){F.removeEventListener("input",X),F.removeEventListener("keydown",L),_.removeEventListener("click",B),C.removeEventListener("click",v),f.removeEventListener("click",G),R.removeEventListener("click",O),A.remove()}}};var m0={placeholder:"Search…",clear:"Clear search",previous:"Previous match",next:"Next match",noResults:"No results",results:($)=>`${$} result${$===1?"":"s"}`,position:($,J)=>`${$} of ${J}`,region:""};function c0($={}){let J=$.mode??"filter",Q=$.position??"top",j={...m0,...$.text},U=$.caseSensitive??!1,Z=$.highlight!==!1,q=typeof $.highlight==="object"&&$.highlight!==null?$.highlight.within:void 0,K=$.minLength??1,A=$.cancelTimeout??0,W=$.variant??"default",_=a1($.field),D,F,Y,f,R,C=null,M=!1,X="",L=[],B=new Set,v=0,G=!1,O=null,p=!1,m=null,k=null,l=null,s=()=>{if(p)return;p=!0,m=D.getMethod("scrollToIndex")??null,k=D.getMethod("filterTree")??null,l=D.getMethod("clearTreeFilter")??null},h=()=>{if(L=[],B.clear(),X.length<K)return;let H=U?X:X.toLowerCase(),w=D.getItems();for(let z=0;z<w.length;z++){let E=w[z];if(E!==void 0&&u0(_(E),H,U))L.push(z),B.add(z)}},e=()=>{if(s(),k){let z=U?X:X.toLowerCase();k((E)=>u0(_(E),z,U)),G=!0;return}let H=D.getItems(),w=L;D.setGetItemFn((z)=>H[w[z]]),D.setVirtualTotalFn(()=>w.length),F.totalItems=w.length,D.rebuildSizeCache(),D.updateContentSize(D.sizeCache.getTotalSize()),G=!0},c=()=>{if(!G)return;if(G=!1,l){l();return}D.setGetItemFn((H)=>D.getItems()[H]),D.setVirtualTotalFn(()=>D.getItems().length),F.totalItems=D.getItems().length,D.rebuildSizeCache(),D.updateContentSize(D.sizeCache.getTotalSize())},o=()=>{s();let H=L[v];if(H===void 0)return;if(m)m(H,"center");else D.scrollTo(Math.max(0,D.sizeCache.getOffset(H)-D.getState().containerSize/2));let w=D.getItem(H);D.emitter.emit("search:match",{index:H,item:w,matchIndex:v,matches:L.length})},r=()=>{if(!C)return;if(X.length<K)C.setCounter("");else if(L.length===0)C.setCounter(j.noResults);else if(J==="navigate")C.setCounter(j.position(v+1,L.length));else C.setCounter(j.results(L.length))},y=()=>{let H=M&&X.length>=K;D.dom.root.classList.toggle(`${Y}--searching`,H)},x=(H)=>{if(X=H,C?.setValue(X),h(),v=0,J==="filter")if(X.length>=K)e();else c();if(y(),r(),D.forceRender(),J==="navigate"&&L.length>0)o();D.emitter.emit("search:change",{query:X,matches:L.length,total:D.getItems().length}),T()},V=()=>{if(!M)M=!0,D.dom.root.classList.add(`${Y}--search-open`),D.emitter.emit("search:open",void 0);C?.focus(),T()},b=()=>{a();let H=M||X.length>0;if(M=!1,X.length>0)x("");if(D.dom.root.classList.remove(`${Y}--search-open`),y(),H)D.emitter.emit("search:close",void 0)},u=(H)=>{if(L.length===0)return;if(v=(v+H+L.length)%L.length,r(),J==="navigate")o(),D.forceRender()},a=()=>{if(O!==null)clearTimeout(O),O=null},T=()=>{if(a(),A>0&&M)O=setTimeout(()=>{O=null,b()},A)},N=(H)=>{if(!Z||X.length<K)return;let w=H.startIndex,z=w+Math.max(0,H.visibleCount-1),E=J==="navigate"?L[v]:-1;for(let g=w;g<=z;g++){let J2=D.getRenderedElement(g);if(!J2)continue;if(q){let Q2=J2.querySelectorAll(q);for(let $2=0;$2<Q2.length;$2++)g0(Q2[$2],X,U,f)}else g0(J2,X,U,f);if(J==="navigate"){let Q2=g===E,$2=J2.querySelectorAll(`.${f}`);for(let Y2=0;Y2<$2.length;Y2++)$2[Y2].classList.toggle(R,Q2)}}},P=(H)=>H.key.length===1&&!H.ctrlKey&&!H.metaKey&&!H.altKey,t=(H)=>{if((H.ctrlKey||H.metaKey)&&(H.key==="f"||H.key==="F")){H.preventDefault(),V();return}if(!M){if(Q==="none"&&P(H))H.preventDefault(),V(),x(X+H.key);return}switch(H.key){case"Escape":H.preventDefault(),b();break;case"Enter":H.preventDefault(),u(H.shiftKey?-1:1);break;case"ArrowDown":H.preventDefault(),u(1);break;case"ArrowUp":H.preventDefault(),u(-1);break;default:if(Q==="none"){if(H.key==="Backspace"){if(H.preventDefault(),x(X.slice(0,-1)),X.length===0)b()}else if(P(H))H.preventDefault(),x(X+H.key)}}},W2=(H)=>{if(H.key==="Escape"||H.key==="Enter"||H.key==="ArrowDown"||H.key==="ArrowUp")t(H)};return{name:"search",priority:55,setup(H){if(D=H,F=D.getState(),Y=D.config.classPrefix,f=`${Y}-search-match`,R=`${Y}-search-match--current`,Q!=="none"){let z=D.dom.root.id||void 0;if(C=i1(D.dom.root,D.dom.viewport,Y,Q,{placeholder:j.placeholder,clear:j.clear,previous:j.previous,next:j.next,region:j.region},z,{onInput:(E)=>x(E),onClear:()=>x(""),onPrev:()=>u(-1),onNext:()=>u(1),onKeydown:W2}),C.showNav(J==="navigate"),W!=="default")C.root.classList.add(`${Y}-search--${W}`);D.dom.root.classList.add(`${Y}--has-search`)}let w=D.getItemStateFn();D.setItemStateFn((z,E)=>{if(w)w(z,E);if(X.length<K){delete E.search;return}if(J==="filter")E.search={matched:!0,query:X,matchIndex:z,isCurrent:!1};else{let g=L.indexOf(z);E.search={matched:B.has(z),query:X,matchIndex:g,isCurrent:g!==-1&&g===v}}}),D.registerMethod("openSearch",V),D.registerMethod("closeSearch",b),D.registerMethod("setQuery",(z)=>{if(!M)V();x(z)}),D.registerMethod("getQuery",()=>X),D.registerMethod("nextMatch",()=>u(1)),D.registerMethod("prevMatch",()=>u(-1)),D.registerMethod("getMatches",()=>L.slice()),D.registerKeydownHandler(t),D.registerDestroyHandler(()=>{a(),c(),C?.destroy(),C=null,D.dom.root.classList.remove(`${Y}--search-open`,`${Y}--searching`,`${Y}--has-search`)})},hooks:{onCommit(H){N(H)}}}}function n1($){let{slots:J,focalSlot:Q,containerSize:j,gap:U=0}=$,Z=J.length,q=Math.max(0,Z-1)*U,K=j-q,A=J.map((C)=>Math.round(C*K)),W=K-A.reduce((C,M)=>C+M,0);if(Q<A.length)A[Q]+=W;let _=(A[Q]??0)+U,D=(C)=>C>=U?U:Math.max(0,C);function F(C,M,X){let L=C-M,B=Q+L,v=B-1,G=Y(B),O=Y(v);return G+X*(O-G)}function Y(C){if(C<0||C>=Z)return 0;return A[C]??0}function f(C,M,X,L){let B=C-M,v=F(C,M,X),G=L;if(B>0)for(let h=0;h<B;h++){let e=F(M+h,M,X);G+=e+D(e)}else if(B<0)for(let h=-1;h>=B;h--){let e=F(M+h,M,X);G-=e+D(e)}let O=Q+B,p=O-1,m;if(O===Q)m=X;else if(p===Q)m=1-X;else m=1;let k=A[Q]??0,l=k>0?v/k:0,s=l>0.6?"large":l>0.3?"medium":"small";return{size:v,offset:G,progress:m,relOffset:B,role:s}}function R(C,M){if(Q===0)return 0;let X=0;for(let L=-1;L>=-Q;L--){let B=F(C+L,C,M);X+=B+D(B)}return X}return{slotWidths:A,stepSize:_,focalSlot:Q,getItemLayout:f,getItemSize:F,getAnchorOffset:R}}var d0=new Map;function l2($,J){d0.set($,J)}function l0($){return d0.get($)}function J0($,J,Q){let j=d0.get($);return j?j(J,Q):null}function r0($){return $!==null&&"slots"in $}var W0=()=>{return{slots:[1],focalSlot:0}},N0=($,J)=>{return{slots:[($-J)/$,J/$],focalSlot:0}},V0=($,J)=>{return{slots:[J/$,($-2*J)/$,J/$],focalSlot:1}},M0=()=>{return{slots:[0.4,0.3,0.2,0.09999999999999998],focalSlot:0}},X0=($)=>{let J=Math.max(2,Math.floor($/($*0.33))),Q=1/J;return{slots:Array.from({length:J},()=>Q),focalSlot:0,textFade:"size"}};l2("full",W0);l2("hero",N0);l2("hero-center",V0);l2("multi",M0);l2("uncontained",X0);var s0=101,G0=50,h4=10;function I4($){if(typeof $==="function")return{variant:"custom",resolveSlots:$};if(typeof $==="object"){let J=$;return{variant:"custom",resolveSlots:()=>J}}return{variant:$,resolveSlots:(J,Q)=>J0($,J,Q)}}function o0($){let J=$?.variant??"full",{variant:Q,resolveSlots:j}=I4(J),U=$?.snap??Q!=="free",Z=$?.snapDuration??400,q=$?.initialIndex??0,K=$?.peek??"auto",A,W,_=null,D,F=q,Y=0,f=0,R=0,C=0,M=!1,X="vlist",L=-1,B=[],v=[],G=!1,O="role",p=$?.gap??0;function m(T){if(Y<=0)return 0;return(T%Y+Y)%Y}function k(T,N,P){if(Y<=1)return 0;let t=((N-T)%Y+Y)%Y,W2=Y-t;if(P==="forward")return t;if(P==="backward")return-W2;return t<=W2?t:-W2}function l(T){return G0*Y+T}function s(T){if(Y<=0)return 0;return(T%Y+Y)%Y}function h(T){B=T;let N=T.length;v=Array(N+1),v[0]=0;for(let P=0;P<N;P++)v[P+1]=v[P]+T[P];R=N>0?v[N]:0}function e(T){if(Y<=0||R<=0)return{vi:0,frac:0};let N=Math.floor(T/R),P=T-N*R;if(P<0)P=0;if(!G){let E=B[0],g=Math.min(Math.floor(P/E),Y-1);return{vi:N*Y+g,frac:E>0?P/E-g:0}}let t=0,W2=Y-1;while(t<W2){let E=t+W2+1>>1;if(v[E]<=P)t=E;else W2=E-1}let H=v[t],w=B[t],z=w>0?Math.max(0,Math.min((P-H)/w,1)):0;return{vi:N*Y+t,frac:z}}function c(T){if(typeof K==="number")return K;if(typeof K==="string"&&K.endsWith("%"))return Math.round(T*parseFloat(K)/100);return Math.max(40,Math.min(Math.round(T*0.15),120))}function o(T){if(Y<=0||R<=0)return 0;let N=Math.floor(T/Y),P=(T%Y+Y)%Y;return N*R+(v[P]??0)}function r(T){let{vi:N,frac:P}=e(T);return P>=0.5?N+1:N}function y(){if(L>=0)return L;return r(A.scrollPosition)}function x(T,N){_?.smoothScrollTo(T,N)}let V=null;function b(){if(!_)return;let T=_.getItems().length;if(T===Y)return;let N=F;if(Y=T,G){let P=_.rawSizeSpec,t=typeof P==="function"?(W2)=>P(W2)+p:()=>P+p;h(Array.from({length:Y},(W2,H)=>t(H)))}else h(Array.from({length:Y},()=>B[0]??f));if(C=Y*s0,A.totalItems=C,Y>1){let P=N<Y?N:0;F=P,_.scrollTo(o(G0*Y+P))}}function u(){if(!_||Y<=0)return;if(!V&&!G)return;let N=_.dom.content.children,P=A.scrollPosition,t=A.baseOffset,W2=Math.round(P-t),H=D?"width":"height",{vi:w,frac:z}=e(P),E=w-(w%Y+Y)%Y,g=V?V.slotWidths[V.focalSlot]??0:0;if(V){let J2=P+V.getAnchorOffset(w,z);for(let Q2=0;Q2<N.length;Q2++){let $2=N[Q2],Y2=$2.dataset.index;if(Y2===void 0)continue;let B2=parseInt(Y2,10),A2=E+B2;if(A2-w>Y/2)A2-=Y;if(w-A2>Y/2)A2+=Y;let S=V.getItemLayout(A2,w,z,J2),i=Math.max(0,Math.round(S.size)),j2=Math.round(S.offset-t);if(i<=0)$2.style.display="none",$2.classList.remove(`${X}-item--focused`,`${X}-item--selected`),$2.removeAttribute("aria-selected");else $2.style.display="",$2.style[H]=i+"px",$2.style.transform=D?`translateX(${j2}px)`:`translateY(${j2}px)`;let V2;if(O==="size"){let U2=V.slotWidths[V.focalSlot]??1;V2=Math.min(1,Math.max(0,i/U2))}else if(O==="viewport"){let U2=j2-W2,D2=Math.max(0,U2),R2=Math.min(A.containerSize,U2+i),T2=i>0?Math.max(0,(R2-D2)/i):0;V2=Math.min(1,T2)}else V2=S.role==="large"?1-S.progress:0;$2.style.setProperty("--vlist-carousel-progress",S.progress.toFixed(3)),$2.style.setProperty("--vlist-carousel-offset",String(S.relOffset)),$2.style.setProperty("--vlist-carousel-role",S.role),$2.style.setProperty("--vlist-carousel-role-weight",V2.toFixed(3)),$2.style.setProperty("--vlist-carousel-width",i+"px"),$2.style.setProperty("--vlist-carousel-focal-width",g+"px")}}else for(let J2=0;J2<N.length;J2++){let Q2=N[J2],$2=Q2.dataset.index;if($2===void 0)continue;let Y2=parseInt($2,10),B2=E+Y2;if(B2-w>Y/2)B2-=Y;if(w-B2>Y/2)B2+=Y;let A2=s(B2),S=Math.max(0,Math.round((B[A2]??0)-p)),i=o(B2),j2=Math.round(i-t);if(S<=0)Q2.style.display="none";else Q2.style.display="",Q2.style[H]=S+"px",Q2.style.transform=D?`translateX(${j2}px)`:`translateY(${j2}px)`;let V2=B2-w,U2=Math.min(1,Math.abs(V2)+(V2===0?z:0)),D2;if(O==="viewport"||O==="size"){let R2=j2-W2,T2=Math.max(0,R2),k2=Math.min(A.containerSize,R2+S),F2=S>0?Math.max(0,(k2-T2)/S):0;D2=Math.min(1,F2)}else D2=1-U2;Q2.style.setProperty("--vlist-carousel-progress",U2.toFixed(3)),Q2.style.setProperty("--vlist-carousel-offset",String(V2)),Q2.style.setProperty("--vlist-carousel-role","large"),Q2.style.setProperty("--vlist-carousel-role-weight",D2.toFixed(3)),Q2.style.setProperty("--vlist-carousel-width",S+"px")}}function a(T,N,P){if(!_)return;if(F=T,Y<=1)return;let t=y(),W2=s(t),H=((T-W2)%Y+Y)%Y,w=Y-H,z=H<=w?H:-w,E=t+z;L=E;let g=o(E);if(N)x(g,P);else _.scrollTo(g),u()}return{name:"carousel",priority:10,conflicts:["scale"],setup(T){A=T.getState(),W=T.sizeCache,_=T,D=T.config.axis.primary==="x",X=T.config.classPrefix,Y=A.totalItems;let N=Y>0?W.getSize(0):0,P=A.containerSize,t=c(P),W2=j(P,t);if(r0(W2))O=W2.textFade??"role",V=n1({slots:W2.slots,focalSlot:W2.focalSlot,containerSize:P,gap:p}),f=V.stepSize,h(Array.from({length:Math.max(1,Y)},()=>f)),G=!1;else if(typeof T.rawSizeSpec==="function"){O=W2?.textFade??"viewport";let E=T.rawSizeSpec;h(Array.from({length:Y},(g,J2)=>E(J2)+p)),f=B[0]??N,G=!0}else O=W2?.textFade??"viewport",f=N,h(Array.from({length:Math.max(1,Y)},()=>f)),G=!1;if(C=Y*s0,F=m(q),Y>1)T.setGetItemFn((E)=>{let g=s(E);return T.getItems()[g]}),W.getTotalSize=()=>R*s0,W.getOffset=(E)=>o(E),W.getSize=(E)=>{let g=s(E);return B[g]??B[0]??0},W.indexAtOffset=(E)=>{if(R<=0)return 0;let g=Math.floor(E/R),J2=E-g*R;if(!G){let Y2=B[0]??1;return Math.max(0,Math.min(g*Y+Math.floor(J2/Y2),C-1))}let Q2=0,$2=Y-1;while(Q2<$2){let Y2=Q2+$2+1>>1;if(v[Y2]<=J2)Q2=Y2;else $2=Y2-1}return Math.max(0,Math.min(g*Y+Q2,C-1))},W.getTotal=()=>C,A.totalItems=C,T.setVirtualTotalFn(()=>Y),T.setIndexMapFn(s),T.registerMethod("_layoutToDataIndex",s),T.setBoundedWrap({lapSize:()=>R,home:()=>G0*R,thresholdLaps:G0-h4}),M=!0;if(T.registerMethod("next",(E,g)=>{if(Y<=1)return;let J2=E??1,Q2=F,$2=g?.behavior!=="auto",Y2=g?.duration??Z;_.cancelScroll();let A2=y()+J2;L=A2,F=s(A2);let S=o(A2);if($2)x(S,Y2);else _.scrollTo(S),u();if(F!==Q2)_.emitter.emit("carousel:change",{index:F,scrollPosition:A.scrollPosition})}),T.registerMethod("prev",(E,g)=>{if(Y<=1)return;let J2=E??1,Q2=F,$2=g?.behavior!=="auto",Y2=g?.duration??Z;_.cancelScroll();let A2=y()-J2;L=A2,F=s(A2);let S=o(A2);if($2)x(S,Y2);else _.scrollTo(S),u();if(F!==Q2)_.emitter.emit("carousel:change",{index:F,scrollPosition:A.scrollPosition})}),T.registerMethod("goTo",(E,g)=>{if(Y<=0)return;let J2=m(E),Q2=g?.direction??"auto",$2=g?.behavior==="smooth",Y2=g?.duration??Z;if(Y<=1){F=J2;return}if(_.cancelScroll(),Q2==="forward"||Q2==="backward"){let B2=k(F,J2,Q2==="forward"?"forward":"backward");F=J2;let S=y()+B2;L=S;let i=o(S);if($2)x(i,Y2);else _.scrollTo(i),u()}else a(J2,$2,Y2)}),T.registerMethod("getCarouselState",()=>{let E=A.scrollPosition,g=Y>0&&R>0?(E%R+R)%R:0;return{index:F,progress:0,offset:0,scrollPosition:g,role:"large"}}),T.setScrollToIndexFn((E,g,J2,Q2,$2)=>{if(Y<=1)return!1;let Y2=m(E);a(Y2,J2==="smooth",Q2??Z)}),T.setNavConfig({total:()=>Y,navigate:(E,g,J2)=>{let Q2=E;if(g==="ArrowRight"||g==="ArrowDown")Q2=(E+1)%J2;else if(g==="ArrowLeft"||g==="ArrowUp")Q2=(E-1+J2)%J2;else if(g==="Home")Q2=0;else if(g==="End")Q2=J2-1;if(Q2!==E)a(Q2,!1,0),_?.forceRender(),u();return Q2}}),!T.dom.content.getAttribute("tabindex"))T.dom.content.setAttribute("tabindex","0");let H=T.getMethod("next"),w=T.getMethod("prev"),z=T.getMethod("goTo");T.registerKeydownHandler((E)=>{let g=E.key;if(g==="ArrowRight"||g==="ArrowDown")E.preventDefault(),H(1,{behavior:"smooth",duration:Z});else if(g==="ArrowLeft"||g==="ArrowUp")E.preventDefault(),w(1,{behavior:"smooth",duration:Z});else if(g==="Home")E.preventDefault(),z(0,{behavior:"smooth",duration:Z});else if(g==="End")E.preventDefault(),z(Y-1,{behavior:"smooth",duration:Z})}),T.registerDestroyHandler(()=>{_?.cancelScroll()})},destroy(){_?.cancelScroll(),_=null},hooks:{onCommit(){if(!M||!_)return;M=!1;let T=o(l(F));_.scrollTo(T),_.forceRender(),u()},onAfterScroll(T){if(M||!_)return;if(b(),Y<=1)return;if(L<0){let N=A.scrollPosition,P=r(N),t=s(P);if(t!==F)F=t,_.emitter.emit("carousel:change",{index:F,scrollPosition:N})}u()},onIdle(){if(L=-1,!U||!_||Y<=1)return;let T=A.scrollPosition,N=r(T),P=o(N);if(Math.abs(T-P)>1)F=s(N),x(P,Z)}}}}var f4=50,p4=0.1;function t1($){let J=0,Q=0,j=0;function U(){return j>0?Q/j:0}function Z(A){if(J=A,A>p4&&A<f4)Q+=A,j++}function q(){let A=$.getTotal();if(A===0)return 0;let W=$.getItemSize();if(W<=0)return 0;let _=$.getContainerSize();if(_<=0)return 0;let D=$.getScrollPosition(),F=typeof $.getColumns==="function"?$.getColumns():1,f=Math.ceil(A/F)*W,C=Math.min(f,a2)-_,M=f-_,X=C>0?M/C:1,L=D*X,B=Math.ceil((L+_)/W);return Math.min(B*F,A)}function K(){let A=$.getTotal(),W=q();return{progress:A>0?Math.min(100,Math.max(0,W/A*100)):0,velocity:J,velocityAvg:U(),itemCount:W,total:A}}return{getState:K,onVelocity:Z}}async function e1($,J,Q){let j=Q?.key,U;if($){let f=$.getScrollSnapshot;if(typeof f==="function")U=f()}if(U&&j)try{sessionStorage.setItem(j,JSON.stringify(U))}catch{}let Z=e2(j?{autoSave:j}:U?{restore:U}:void 0),q=J(Z),K=q.element;if(K.style.position="absolute",K.style.inset="0",K.style.visibility="hidden",Q?.ready)await Q.ready(q);else await new Promise((f)=>requestAnimationFrame(()=>f()));let A=Q?.delay;if(A&&A>0)await new Promise((f)=>setTimeout(f,A));let W=Q?.transition,_=typeof W==="number"?W:W?.fadeIn??0,D=typeof W==="number"?W:W?.fadeOut??0,F=typeof W==="object"?W?.fadeOutDelay??0:0,Y=Math.max(_,D+F);if(Y>0&&$){let f=$.element;K.style.visibility="",K.style.opacity="0",K.offsetHeight,K.style.transition=`opacity ${_}ms ease`,f.style.transition=`opacity ${D}ms ease ${F}ms`,K.style.opacity="1",f.style.opacity="0",await new Promise((R)=>{setTimeout(R,Y+50)}),K.style.transition="",K.style.opacity="",f.style.transition="",f.style.opacity=""}else K.style.visibility="";if(K.style.position="",K.style.inset="",$)$.destroy();return q}export{X0 as uncontained,p0 as tree,P0 as transition,h0 as table,I0 as sortable,e2 as snapshots,T0 as selection,c0 as search,R0 as scrollbar,J0 as resolvePreset,l2 as registerPreset,e1 as rebuild,b0 as page,M0 as multi,z0 as masonry,V0 as heroCenter,N0 as hero,S0 as groups,E0 as grid,l0 as getPreset,W0 as full,y0 as data,w1 as createVList,t1 as createStats,o0 as carousel,w0 as autosize,k0 as a11y};
@@ -2,6 +2,6 @@ export { carousel } from "./plugin";
2
2
  export type { CarouselPluginConfig, CarouselVariant, CarouselDirection, CarouselState } from "./plugin";
3
3
  export { createLayoutEngine } from "./engine";
4
4
  export type { LayoutConfig, ItemLayout } from "./engine";
5
- export { resolvePreset, full, hero, heroCenter, multi, uncontained } from "./presets";
6
- export type { SlotConfig } from "./presets";
5
+ export { resolvePreset, registerPreset, getPreset, hasSlots, full, hero, heroCenter, multi, uncontained } from "./presets";
6
+ export type { SlotConfig, NoEngineConfig, PresetResult, SlotConfigResolver, TextFade } from "./presets";
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -17,11 +17,11 @@
17
17
  */
18
18
  import type { VListItem } from "../../types";
19
19
  import type { VListPlugin } from "../../core/types";
20
- import type { SlotConfig } from "./presets";
21
- export type CarouselVariant = "static" | "full" | "hero" | "hero-center" | "multi" | "uncontained" | "free";
20
+ import type { SlotConfig, SlotConfigResolver } from "./presets";
21
+ export type CarouselVariant = "static" | "full" | "hero" | "hero-center" | "multi" | "uncontained" | "multi-aspect" | "free" | (string & {});
22
22
  export type CarouselDirection = "auto" | "forward" | "backward";
23
23
  export interface CarouselPluginConfig {
24
- variant?: CarouselVariant | SlotConfig;
24
+ variant?: CarouselVariant | SlotConfig | SlotConfigResolver;
25
25
  snap?: boolean;
26
26
  snapDuration?: number;
27
27
  peek?: number | string | "auto";
@@ -1,18 +1,39 @@
1
1
  /**
2
2
  * vlist v2 — Carousel Presets
3
3
  *
4
- * Each preset maps a variant name to a slot configuration
5
- * for the layout engine. Adding a new variant = adding a
6
- * new function to this file.
4
+ * Registry-based preset system. Each preset is a `SlotConfigResolver`
5
+ * registered by name. Built-in presets are pre-registered; users can
6
+ * add or override presets via `registerPreset()`.
7
+ *
8
+ * Returning `null` from a resolver means "no layout engine" — the
9
+ * plugin falls back to variable-width item rendering with default
10
+ * textFade: "viewport".
7
11
  */
12
+ export type TextFade = "role" | "viewport" | "size";
8
13
  export interface SlotConfig {
9
14
  slots: number[];
10
15
  focalSlot: number;
16
+ textFade?: TextFade;
17
+ }
18
+ /** Config without a layout engine — just behavioral options. */
19
+ export interface NoEngineConfig {
20
+ textFade?: TextFade;
11
21
  }
12
- export declare function full(): SlotConfig;
13
- export declare function hero(containerSize: number, peek: number): SlotConfig;
14
- export declare function heroCenter(containerSize: number, peek: number): SlotConfig;
15
- export declare function multi(): SlotConfig;
16
- export declare function uncontained(containerSize: number): SlotConfig;
17
- export declare function resolvePreset(variant: string, containerSize: number, peek: number): SlotConfig | null;
22
+ /** What a preset resolver can return. */
23
+ export type PresetResult = SlotConfig | NoEngineConfig | null;
24
+ /** Resolves a variant name to a preset configuration. */
25
+ export type SlotConfigResolver = (containerSize: number, peek: number) => PresetResult;
26
+ /** Register a named preset. Overwrites any existing preset with the same name. */
27
+ export declare function registerPreset(name: string, resolver: SlotConfigResolver): void;
28
+ /** Get a preset resolver by name, or undefined if not registered. */
29
+ export declare function getPreset(name: string): SlotConfigResolver | undefined;
30
+ /** Resolve a named preset. Returns null if the name is unknown. */
31
+ export declare function resolvePreset(variant: string, containerSize: number, peek: number): PresetResult;
32
+ /** Type guard: does the result have a layout engine? */
33
+ export declare function hasSlots(result: PresetResult): result is SlotConfig;
34
+ export declare const full: SlotConfigResolver;
35
+ export declare const hero: SlotConfigResolver;
36
+ export declare const heroCenter: SlotConfigResolver;
37
+ export declare const multi: SlotConfigResolver;
38
+ export declare const uncontained: SlotConfigResolver;
18
39
  //# sourceMappingURL=presets.d.ts.map
package/dist/size.json CHANGED
@@ -1 +1 @@
1
- {"base":{"minified":"27.4","gzipped":"9.9","minBytes":28063,"gzBytes":10126},"a11y":{"minified":"30.5","gzipped":"11.0","minBytes":31210,"gzBytes":11273},"selection":{"minified":"36.4","gzipped":"12.5","minBytes":37246,"gzBytes":12851},"data":{"minified":"41.1","gzipped":"14.7","minBytes":42094,"gzBytes":15075},"scrollbar":{"minified":"34.5","gzipped":"11.9","minBytes":35325,"gzBytes":12177},"sortable":{"minified":"36.8","gzipped":"12.9","minBytes":37696,"gzBytes":13195},"groups":{"minified":"43.3","gzipped":"15.2","minBytes":44384,"gzBytes":15547},"page":{"minified":"29.8","gzipped":"10.7","minBytes":30549,"gzBytes":10910},"snapshots":{"minified":"30.7","gzipped":"11.0","minBytes":31407,"gzBytes":11307},"transition":{"minified":"34.2","gzipped":"11.7","minBytes":34987,"gzBytes":11998},"autosize":{"minified":"29.8","gzipped":"10.7","minBytes":30539,"gzBytes":10996},"grid":{"minified":"34.4","gzipped":"12.3","minBytes":35246,"gzBytes":12622},"table":{"minified":"45.6","gzipped":"15.6","minBytes":46680,"gzBytes":16009},"masonry":{"minified":"38.5","gzipped":"13.9","minBytes":39384,"gzBytes":14234},"tree":{"minified":"42.5","gzipped":"14.9","minBytes":43550,"gzBytes":15271},"search":{"minified":"36.5","gzipped":"13.1","minBytes":37376,"gzBytes":13371},"carousel":{"minified":"34.0","gzipped":"12.3","minBytes":34781,"gzBytes":12578}}
1
+ {"base":{"minified":"27.4","gzipped":"9.9","minBytes":28063,"gzBytes":10126},"a11y":{"minified":"30.5","gzipped":"11.0","minBytes":31210,"gzBytes":11273},"selection":{"minified":"36.6","gzipped":"12.6","minBytes":37451,"gzBytes":12911},"data":{"minified":"41.1","gzipped":"14.7","minBytes":42094,"gzBytes":15075},"scrollbar":{"minified":"34.5","gzipped":"11.9","minBytes":35325,"gzBytes":12177},"sortable":{"minified":"36.8","gzipped":"12.9","minBytes":37696,"gzBytes":13195},"groups":{"minified":"43.3","gzipped":"15.2","minBytes":44384,"gzBytes":15547},"page":{"minified":"29.8","gzipped":"10.7","minBytes":30549,"gzBytes":10910},"snapshots":{"minified":"30.7","gzipped":"11.0","minBytes":31407,"gzBytes":11307},"transition":{"minified":"34.2","gzipped":"11.7","minBytes":34987,"gzBytes":11998},"autosize":{"minified":"29.8","gzipped":"10.7","minBytes":30539,"gzBytes":10996},"grid":{"minified":"34.4","gzipped":"12.3","minBytes":35246,"gzBytes":12622},"table":{"minified":"45.6","gzipped":"15.6","minBytes":46680,"gzBytes":16009},"masonry":{"minified":"38.5","gzipped":"13.9","minBytes":39384,"gzBytes":14234},"tree":{"minified":"42.5","gzipped":"14.9","minBytes":43550,"gzBytes":15271},"search":{"minified":"36.5","gzipped":"13.1","minBytes":37376,"gzBytes":13371},"carousel":{"minified":"36.7","gzipped":"13.2","minBytes":37545,"gzBytes":13540}}
@@ -0,0 +1 @@
1
+ .vlist-carousel-slide{position:relative;width:100%;height:100%;overflow:hidden;border-radius:var(--vlist-carousel-radius,0)}.vlist-carousel-slide__media{position:absolute;left:50%;top:0;transform:translateX(-50%);width:var(--vlist-carousel-focal-width,100%);min-width:var(--vlist-carousel-focal-width,100%);height:100%;object-fit:cover}.vlist-carousel-slide__overlay{position:absolute;bottom:0;left:0;right:0;opacity:var(--vlist-carousel-role-weight,0);pointer-events:none;overflow:hidden}.vlist-carousel-slide__title,.vlist-carousel-slide__subtitle{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vlist",
3
- "version": "2.4.1",
3
+ "version": "2.5.0",
4
4
  "description": "Lightweight, high-performance virtual list with zero dependencies",
5
5
  "author": {
6
6
  "name": "Floor IO",
@@ -46,6 +46,7 @@
46
46
  "./styles/extras": "./dist/vlist-extras.css",
47
47
  "./styles/tree": "./dist/vlist-tree.css",
48
48
  "./styles/search": "./dist/vlist-search.css",
49
+ "./styles/carousel": "./dist/vlist-carousel.css",
49
50
  "./package.json": "./package.json"
50
51
  },
51
52
  "files": [