vlist 2.0.3 → 2.0.4
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 +7 -7
- package/README.md +8 -8
- package/dist/index.js +1 -1
- package/dist/internals.js +1 -1
- package/dist/plugins/table/renderer.d.ts +1 -1
- package/dist/size.json +1 -1
- package/package.json +1 -1
package/README.github.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# vlist
|
|
2
2
|
|
|
3
|
-
The virtual list library for every framework. Ultra efficient, batteries-included, and accessible with composable plugins — in 7.
|
|
3
|
+
The virtual list library for every framework. Ultra efficient, batteries-included, and accessible with composable plugins — in 7.8 KB.
|
|
4
4
|
|
|
5
|
-
**v2.0.
|
|
5
|
+
**v2.0.4** — [Changelog](./CHANGELOG.md) · **v2 is a ground-up rewrite** with a new plugin API. Coming from v1? See [Migration Guide](https://vlist.io/docs/migration).
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/vlist)
|
|
8
8
|
[](https://bundlephobia.com/package/vlist)
|
|
@@ -11,7 +11,7 @@ The virtual list library for every framework. Ultra efficient, batteries-include
|
|
|
11
11
|
|
|
12
12
|
- **Accessible** — WAI-ARIA, 2D keyboard navigation, focus recovery, screen-reader DOM ordering
|
|
13
13
|
- **Zero dependencies** — framework-agnostic core with tiny adapters for Vue, Svelte, Solid, React
|
|
14
|
-
- **7.
|
|
14
|
+
- **7.8 KB gzipped** — composable plugins with perfect tree-shaking
|
|
15
15
|
- **Constant memory** — ~0.1 MB overhead at any scale, from 10K to 1M+ items
|
|
16
16
|
- **Grid, masonry, table, groups, data, selection, sortable, transition, scale** — all opt-in
|
|
17
17
|
- **Axis-neutral** — vertical and horizontal scrolling through a single code path, all plugins work in both orientations
|
|
@@ -94,16 +94,16 @@ const list = createVList({
|
|
|
94
94
|
|
|
95
95
|
| Plugin | Size | Description |
|
|
96
96
|
|--------|------|-------------|
|
|
97
|
-
| **Base** | 7.
|
|
97
|
+
| **Base** | 7.8 KB | Virtualization, ARIA, keyboard nav, gap, padding |
|
|
98
98
|
| `data()` | +4.7 KB | Lazy loading with velocity-aware fetching |
|
|
99
99
|
| `selection()` | +2.4 KB | Single/multiple selection with 2D keyboard nav |
|
|
100
100
|
| `scale()` | +3.9 KB | 1M+ items via scroll compression |
|
|
101
101
|
| `groups()` | +3.7 KB | Sticky/inline headers with async group discovery |
|
|
102
|
-
| `autosize()` | +0.
|
|
102
|
+
| `autosize()` | +0.8 KB | Auto-measure items via ResizeObserver |
|
|
103
103
|
| `scrollbar()` | +2.0 KB | Custom scrollbar UI |
|
|
104
|
-
| `grid()` | +2.
|
|
104
|
+
| `grid()` | +2.7 KB | 2D grid layout |
|
|
105
105
|
| `masonry()` | +3.5 KB | Pinterest-style masonry with lane-aware keyboard nav |
|
|
106
|
-
| `table()` | +
|
|
106
|
+
| `table()` | +6.1 KB | Data table with columns, resize, sort |
|
|
107
107
|
| `page()` | +0.8 KB | Window-level scrolling |
|
|
108
108
|
| `sortable()` | +2.9 KB | Drag-and-drop reordering with auto-scroll |
|
|
109
109
|
| `snapshots()` | +1.3 KB | Scroll position save/restore |
|
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# vlist
|
|
2
2
|
|
|
3
|
-
The virtual list library for every framework. Ultra efficient, batteries-included, and accessible with composable plugins — in 7.
|
|
3
|
+
The virtual list library for every framework. Ultra efficient, batteries-included, and accessible with composable plugins — in 7.8 KB.
|
|
4
4
|
|
|
5
|
-
**v2.0.
|
|
5
|
+
**v2.0.4** — [Changelog](https://github.com/floor/vlist/blob/main/CHANGELOG.md) · **v2 is a ground-up rewrite** with a new plugin API. Coming from v1? See [Migration Guide](https://vlist.io/docs/migration).
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/vlist)
|
|
8
8
|
[](https://bundlephobia.com/package/vlist)
|
|
@@ -11,7 +11,7 @@ The virtual list library for every framework. Ultra efficient, batteries-include
|
|
|
11
11
|
|
|
12
12
|
- **Accessible** — WAI-ARIA, 2D keyboard navigation, focus recovery, screen-reader DOM ordering
|
|
13
13
|
- **Zero dependencies** — framework-agnostic core, tiny adapters for Vue, Svelte, Solid, React
|
|
14
|
-
- **7.
|
|
14
|
+
- **7.8 KB gzipped** — composable plugins with perfect tree-shaking
|
|
15
15
|
- **Constant memory** — ~0.1 MB overhead at any scale, from 10K to 1M+ items
|
|
16
16
|
- **Axis-neutral** — vertical and horizontal scrolling through a single code path, all plugins work in both orientations
|
|
17
17
|
|
|
@@ -56,17 +56,17 @@ const list = createVList({ container: '#app', items, item: { height: 200, templa
|
|
|
56
56
|
|
|
57
57
|
| Plugin | Size | Description |
|
|
58
58
|
|--------|------|-------------|
|
|
59
|
-
| **Base** | 7.
|
|
59
|
+
| **Base** | 7.8 KB | Virtualization, ARIA, keyboard nav, gap, padding |
|
|
60
60
|
| `data()` | +4.7 KB | Lazy loading with velocity-aware fetching |
|
|
61
61
|
| `selection()` | +2.4 KB | Single/multiple selection with 2D keyboard nav |
|
|
62
62
|
| `scale()` | +3.9 KB | 1M+ items via scroll compression |
|
|
63
63
|
| `groups()` | +3.7 KB | Sticky/inline headers with async group discovery |
|
|
64
|
-
| `autosize()` | +0.
|
|
64
|
+
| `autosize()` | +0.8 KB | Auto-measure items via ResizeObserver |
|
|
65
65
|
| `scrollbar()` | +2.0 KB | Custom scrollbar UI |
|
|
66
|
-
| `grid()` | +2.
|
|
66
|
+
| `grid()` | +2.7 KB | 2D grid layout |
|
|
67
67
|
| `masonry()` | +3.5 KB | Pinterest-style masonry with lane-aware keyboard nav |
|
|
68
|
-
| `table()` | +
|
|
69
|
-
| `page()` | +0.
|
|
68
|
+
| `table()` | +6.1 KB | Data table with columns, resize, sort |
|
|
69
|
+
| `page()` | +0.8 KB | Window-level scrolling |
|
|
70
70
|
| `sortable()` | +2.9 KB | Drag-and-drop reordering with auto-scroll |
|
|
71
71
|
| `snapshots()` | +1.3 KB | Scroll position save/restore |
|
|
72
72
|
| `transition()` | +1.8 KB | FLIP-based enter/exit animations for insert & remove |
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var l2=3,b0="vlist";var r2=50;var y0=50,k0=2,P0=15,z0=6,S2=16000000,m2=150,Q0=1,s2=(j)=>j<0.5?2*j*j:1-(-2*j+2)**2/2,a2=300;var w0="x",v0=20,j0="_isPlaceholder",f2="__placeholder_";var o2={top:0,right:0,bottom:0,left:0},C0=(j)=>{if(j==null)return o2;if(typeof j==="number")return j===0?o2:{top:j,right:j,bottom:j,left:j};if(j.length===2){let[Z,B]=j;return Z===0&&B===0?o2:{top:Z,right:B,bottom:Z,left:B}}let[J,q,Y,$]=j;return J===0&&q===0&&Y===0&&$===0?o2:{top:J,right:q,bottom:Y,left:$}},f0=(j,J)=>J?j.left+j.right:j.top+j.bottom,h0=(j,J)=>J?j.top+j.bottom:j.left+j.right;function I0(j){let J={visibleIndices:new Int32Array(j),visibleOffsets:new Float64Array(j),visibleSizes:new Float64Array(j),visibleCount:0,startIndex:0,totalSize:0,capacity:j,scrollPosition:0,prevScrollPosition:0,scrollDirection:0,containerSize:0,crossSize:0,totalItems:0,prevRangeStart:0,prevRangeEnd:-1,renderPending:!1,initialized:!1,destroyed:!1,isCompressed:!1,compressionRatio:1,prevAriaTotal:-1,resizeCapacity(q,Y,$=l2){if(Y<=0||q<=0)return;let Z=Math.ceil(q/Y)+$*2;if(Z<=J.capacity)return;let B=Z+8,A=new Int32Array(B),L=new Float64Array(B),M=new Float64Array(B);A.set(J.visibleIndices),L.set(J.visibleOffsets),M.set(J.visibleSizes),J.visibleIndices=A,J.visibleOffsets=L,J.visibleSizes=M,J.capacity=B},clear(){J.visibleCount=0,J.startIndex=0}};return J}var O1=(j,J)=>{let q=J;return{getOffset:(Y)=>Y*j,getSize:(Y)=>j,indexAtOffset:(Y)=>{if(q===0||j===0)return 0;return Math.max(0,Math.min(Math.floor(Y/j),q-1))},getTotalSize:()=>q*j,getTotal:()=>q,rebuild:(Y)=>{q=Y},isVariable:()=>!1}},E1=(j,J)=>{let q=J,Y=new Float64Array(0),$=(B)=>{q=B,Y=new Float64Array(B+1),Y[0]=0;for(let A=0;A<B;A++)Y[A+1]=Y[A]+j(A)};$(J);let Z=(B)=>{if(q===0)return 0;if(B<=0)return 0;if(B>=Y[q])return q-1;let A=0,L=q-1;while(A<L){let M=A+L+1>>>1;if(Y[M]<=B)A=M;else L=M-1}return A};return{getOffset:(B)=>{if(B<=0)return 0;if(B>=q)return Y[q];return Y[B]},getSize:(B)=>j(B),indexAtOffset:(B)=>Z(B),getTotalSize:()=>Y[q]??0,getTotal:()=>q,rebuild:(B)=>$(B),isVariable:()=>!0}},i2=(j,J)=>{if(typeof j==="number")return O1(j,J);return E1(j,J)},q0=(j,J,q,Y)=>{if(Y===0)return 0;if(!j.isVariable())return Math.ceil(q/j.getSize(0));let $=0,Z=0,B=J;while(B<Y&&Z<q)Z+=j.getSize(B),$++,B++;return Math.max(1,$)};function S0(j){let J=[],q=`${j}-item`,Y=document.createElement("div");return Y.className=q,{acquire(){if(J.length>0)return J.pop();return Y.cloneNode(!1)},release($){if($.className=q,$.removeAttribute("style"),$.removeAttribute("id"),$.removeAttribute("role"),$.removeAttribute("aria-selected"),$.removeAttribute("aria-posinset"),$.removeAttribute("aria-setsize"),$.removeAttribute("data-index"),$.removeAttribute("data-id"),$.innerHTML="",J.length<100)J.push($)},get size(){return J.length},clear(){J.length=0}}}function p0(j){if(typeof j==="string"){let J=document.querySelector(j);if(!J)throw Error(`[vlist] Container not found: ${j}`);return J}return j}function u0(j,J,q,Y,$){let Z=q?`${J} ${J}--horizontal`:J,B=q?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",A=q?"position:relative;height:100%":"position:relative;width:100%",L=` role="${Y?"listbox":"list"}"`;if(Y)L+=' tabindex="0"';if($)L+=` aria-label="${$.replace(/"/g,""")}"`;if(q)L+=' aria-orientation="horizontal"';j.insertAdjacentHTML("beforeend",`<div class="${Z}"><div class="${J}-viewport" style="${B}" tabindex="-1"><div class="${J}-content" style="${A}"${L}></div></div></div>`);let M=j.lastElementChild,U=M.firstElementChild,r=U.firstElementChild,N=document.createElement("div");return N.className=`${J}-live`,N.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",N.setAttribute("aria-live","polite"),N.setAttribute("aria-atomic","true"),N.setAttribute("role","status"),M.appendChild(N),{root:M,viewport:U,content:r,liveRegion:N}}function g0(j){let{state:J,viewport:q,isX:Y,wheelEnabled:$,onFrame:Z,onIdle:B}=j,A=j.idleTimeout||m2,L=j.scrollTarget??q,M=null,U=null;function r(){let X=Y?q.scrollLeft:q.scrollTop;if(Math.abs(X-J.scrollPosition)<0.5)return;J.prevScrollPosition=J.scrollPosition,J.scrollPosition=X,J.scrollDirection=X>J.prevScrollPosition?1:X<J.prevScrollPosition?-1:0,Z(),T()}function N(X){if(J.isCompressed)return;let y;if(Y){if(Math.abs(X.deltaX)>Math.abs(X.deltaY))return;let w=q.scrollLeft,V=q.scrollWidth-q.clientWidth;if(y=Math.max(0,Math.min(w+X.deltaY*Q0,V)),Math.abs(y-w)<1)return;X.preventDefault(),q.scrollLeft=y}else{let w=q.scrollWidth>q.clientWidth;if(w&&Math.abs(X.deltaX)>Math.abs(X.deltaY))return;if(w&&X.deltaX!==0)X.preventDefault(),q.scrollLeft+=X.deltaX;let V=q.scrollTop,D=q.scrollHeight-q.clientHeight;if(y=Math.max(0,Math.min(V+X.deltaY*Q0,D)),Math.abs(y-V)<1)return;X.preventDefault(),q.scrollTop=y}J.prevScrollPosition=J.scrollPosition,J.scrollPosition=y,J.scrollDirection=y>J.prevScrollPosition?1:-1,Z(),T()}function T(){if(M!==null)clearTimeout(M);M=setTimeout(()=>{M=null,J.scrollDirection=0,B()},A)}function H(){if(U!==null)cancelAnimationFrame(U),U=null}function E(X,y,w,V=s2,D){H();let O=J.scrollPosition,F=typeof X==="function"?X:()=>X,_=F();if(Math.abs(_-O)<1){if(w)w(_);else if(Y)q.scrollLeft=_;else q.scrollTop=_;D?.();return}let z=performance.now();function p(P){_=F();let h=P-z,u=Math.min(h/y,1),l=O+(_-O)*V(u);if(w)w(l);else if(Y)q.scrollLeft=l;else q.scrollTop=l;if(!w)J.scrollPosition=l;if(Z(),u<1)U=requestAnimationFrame(p);else U=null,D?.()}U=requestAnimationFrame(p)}return{attach(){if(L.addEventListener("scroll",r,{passive:!0}),$)L.addEventListener("wheel",N,{passive:!1})},detach(){if(L.removeEventListener("scroll",r),$)L.removeEventListener("wheel",N);if(H(),M!==null)clearTimeout(M),M=null},cancelScroll:H,smoothScrollTo:E}}var d2=[],R1={calculate:d2,commit:d2,afterScroll:d2,idle:d2,resize:d2};function x0(j){if(j.length===0)return R1;let J=[],q=[],Y=[],$=[],Z=[];for(let B=0;B<j.length;B++){let A=j[B].hooks;if(A===void 0)continue;if(A.onCalculate!==void 0)J.push(A.onCalculate);if(A.onCommit!==void 0)q.push(A.onCommit);if(A.onAfterScroll!==void 0)Y.push(A.onAfterScroll);if(A.onIdle!==void 0)$.push(A.onIdle);if(A.onResize!==void 0)Z.push(A.onResize)}return{calculate:J,commit:q,afterScroll:Y,idle:$,resize:Z}}function m0(j,J){for(let q=0;q<j.length;q++)j[q](J)}function d0(j,J){for(let q=0;q<j.length;q++)j[q](J)}function Y0(j,J,q){for(let Y=0;Y<j.length;Y++)j[Y](J,q)}function c0(j){for(let J=0;J<j.length;J++)j[J]()}function l0(j,J,q){for(let Y=0;Y<j.length;Y++)j[Y](J,q)}function r0(j,J,q,Y,$,Z,B,A,L){let M=$!==0||Z!==0;return{prefix:j,selectedClass:`${j}-item--selected`,focusedClass:`${j}-item--focused`,placeholderClass:`${j}-item--placeholder`,replacedClass:`${j}-item--replaced`,translateProp:J?"translateX(":"translateY(",sizeProp:J?"width":"height",itemRole:q?"option":"listitem",interactive:q,startPadding:Y,gap:A,hasCrossPad:M,crossStartProp:M?J?"top":"left":"",crossEndProp:M?J?"bottom":"right":"",crossStartVal:M?$+"px":"",crossEndVal:M?Z+"px":"",oddClass:B,emitter:L??null}}function T1(j,J,q,Y,$){if(j.containerSize<=0||j.totalItems===0)return j.clear(),!0;let{scrollPosition:Z,containerSize:B,totalItems:A}=j,L=$??0;j.totalSize=J.getTotalSize();let M=J.indexAtOffset(L>0?Math.max(0,Z-L):Z),U=J.indexAtOffset(Z+B);if(U<A-1)U++;M=Math.max(0,M),U=Math.min(A-1,Math.max(0,U));let r=Math.max(0,M-q),N=Math.min(A-1,U+q),T=Math.ceil(B/1)+q*2+10,H=N-r+1,E=Math.min(H,j.capacity,T);if(r===j.prevRangeStart&&N===j.prevRangeEnd&&!j.renderPending)return!1;j.visibleCount=E,j.startIndex=r;for(let X=0;X<E;X++){let y=r+X;j.visibleIndices[X]=y,j.visibleOffsets[X]=J.getOffset(y),j.visibleSizes[X]=J.getSize(y)}return m0(Y.calculate,j),j.prevRangeStart=r,j.prevRangeEnd=N,j.renderPending=!1,!0}var v2={selected:!1,focused:!1};function b1(j,J,q){for(let Y=0;Y<J;Y++)if(j[Y]===q)return!0;return!1}function y1(j,J,q,Y,$,Z,B,A,L,M){let U=L?null:$(),r=j.visibleCount,N=j.visibleIndices,T=B.interactive?String(j.totalItems):"",H=B.interactive&&j.totalItems!==j.prevAriaTotal,E=null;for(let X=0;X<r;X++){let y=N[X],w=j.visibleOffsets[X],V=j.visibleSizes[X],D=L?L(y):U[y];if(M)M(y,v2);else v2.selected=!1,v2.focused=!1;let O=Z.get(y),F=O;if(O===void 0){let _=J.acquire();if(D!==void 0){let P;try{P=Y(D,y,v2)}catch(h){if(B.emitter)B.emitter.emit("error",{error:h instanceof Error?h:Error(String(h)),context:`template:render:${y}`});J.release(_);continue}if(typeof P==="string")_.innerHTML=P;else _.innerHTML="",_.appendChild(P)}if(_.setAttribute("role",B.itemRole),_.setAttribute("data-index",String(y)),B.interactive)_.id=B.prefix+"-item-"+y,_.setAttribute("aria-posinset",String(y+1)),_.setAttribute("aria-setsize",T);if(D!==void 0){let P=String(D.id);if(_.setAttribute("data-id",P),P.startsWith(f2))_.classList.add(B.placeholderClass)}if(B.hasCrossPad)_.style.setProperty(B.crossStartProp,B.crossStartVal),_.style.setProperty(B.crossEndProp,B.crossEndVal);if(M){if(_.classList.toggle(B.selectedClass,v2.selected),_.classList.toggle(B.focusedClass,v2.focused),v2.selected)_.setAttribute("aria-selected","true");else _.removeAttribute("aria-selected");_._lastSelected=v2.selected,_._lastFocused=v2.focused}if(B.oddClass)_.classList.toggle(B.oddClass,(y&1)===1);let z=w+B.startPadding;_.style.transform=B.translateProp+z+"px)",_._lastOffset=z;let p=V-B.gap;if(_.style[B.sizeProp]=p+"px",_._lastSize=p,_._lastItem=D,Z.set(y,_),E===null)E=document.createDocumentFragment();E.appendChild(_)}else{if(H)O.setAttribute("aria-setsize",T);if(D!==void 0&&F._lastItem!==D){let p=O.getAttribute("data-id"),P=String(D.id),h;try{h=Y(D,y,v2)}catch(u){if(B.emitter)B.emitter.emit("error",{error:u instanceof Error?u:Error(String(u)),context:`template:render:${y}`});continue}if(typeof h==="string")O.innerHTML=h;else O.innerHTML="",O.appendChild(h);if(O.setAttribute("data-id",P),F._lastItem=D,p!==P){let u=p!==null&&p.startsWith(f2),l=P.startsWith(f2);if(u!==l)O.classList.toggle(B.placeholderClass,l);if(u&&!l)O.classList.add(B.replacedClass),setTimeout(()=>{O.classList.remove(B.replacedClass)},300)}}if(M){if(F._lastSelected!==v2.selected){if(O.classList.toggle(B.selectedClass,v2.selected),v2.selected)O.setAttribute("aria-selected","true");else O.removeAttribute("aria-selected");F._lastSelected=v2.selected}if(F._lastFocused!==v2.focused)O.classList.toggle(B.focusedClass,v2.focused),F._lastFocused=v2.focused}let _=w+B.startPadding;if(F._lastOffset!==_)O.style.transform=B.translateProp+_+"px)",F._lastOffset=_;let z=V-B.gap;if(F._lastSize!==z)O.style[B.sizeProp]=z+"px",F._lastSize=z}}if(E!==null)q.appendChild(E);for(let[X,y]of Z)if(!b1(N,r,X))y.remove(),J.release(y),Z.delete(X);if(B.interactive)j.prevAriaTotal=j.totalItems;d0(A.commit,j)}function Z0(j,J,q,Y,$,Z,B,A,L,M,U,r){if(T1(j,J,q,M,L.startPadding))y1(j,Y,$,Z,B,A,L,M,U,r)}var K0=()=>{let j={},J=(Z,B)=>{if(!j[Z])j[Z]=new Set;return j[Z].add(B),()=>q(Z,B)},q=(Z,B)=>{j[Z]?.delete(B)};return{on:J,off:q,emit:(Z,B)=>{j[Z]?.forEach((A)=>{try{A(B)}catch(L){console.error(`[vlist] Error in event handler for "${String(Z)}":`,L)}})},clear:(Z)=>{if(Z)delete j[Z];else for(let B in j)delete j[B]}}};var s0=2,a0=(j=0)=>({velocity:0,sampleCount:0}),o0=(j,J)=>{let q=performance.now(),Y=j._lt??q,$=j._lp??J,Z=q-Y;if(j._lp=J,j._lt=q,Z===0)return j.sampleCount=Math.min(j.sampleCount+1,5),j;if(Z>100)return j.velocity=0,j.sampleCount=1,j;return j.velocity=Math.abs(J-$)/Z,j.sampleCount=Math.min(j.sampleCount+1,5),j};function k1(j){let{item:J}=j;if(J.height!==void 0&&typeof J.height==="number"){if(!Number.isFinite(J.height)||J.height<=0)throw Error(`vlist: item.height must be a positive number, got ${J.height}`)}if(J.width!==void 0&&typeof J.width==="number"){if(!Number.isFinite(J.width)||J.width<=0)throw Error(`vlist: item.width must be a positive number, got ${J.width}`)}if(J.estimatedHeight!==void 0){if(!Number.isFinite(J.estimatedHeight)||J.estimatedHeight<=0)throw Error(`vlist: item.estimatedHeight must be a positive number, got ${J.estimatedHeight}`)}if(J.estimatedWidth!==void 0){if(!Number.isFinite(J.estimatedWidth)||J.estimatedWidth<=0)throw Error(`vlist: item.estimatedWidth must be a positive number, got ${J.estimatedWidth}`)}if(J.gap!==void 0){if(typeof J.gap!=="number"||!Number.isFinite(J.gap)||J.gap<0)throw Error(`vlist: item.gap must be a non-negative number, got ${J.gap}`)}if(j.overscan!==void 0){if(typeof j.overscan!=="number"||!Number.isFinite(j.overscan)||j.overscan<0)throw Error(`vlist: overscan must be a non-negative number, got ${j.overscan}`)}}function P1(j,J){let q=j==="horizontal"?"x":"y";if(J.some(($)=>$.name==="grid"))return{primary:q,cross:q==="x"?"y":"x"};return{primary:q}}function z1(j,J){let q=P1(j.orientation,J),Y=q.primary==="x",$=C0(j.padding);return{axis:q,hasCrossAxis:q.cross!==void 0,overscan:j.overscan??l2,reverse:j.reverse??!1,classPrefix:j.classPrefix??b0,interactive:j.interactive??!0,mainAxisPadding:f0($,Y),crossAxisPadding:h0($,Y),startPadding:Y?$.left:$.top,endPadding:Y?$.right:$.bottom,crossPadStart:Y?$.top:$.left,crossPadEnd:Y?$.bottom:$.right,striped:j.item.striped||!1,gap:j.item.gap??0}}function w1(j,J){if(J)return j.item.width??j.item.estimatedWidth??100;return j.item.height??j.item.estimatedHeight??40}function v1(j){let J=[...j];return J.sort((q,Y)=>(q.priority??50)-(Y.priority??50)),J}function C1(j){let J=new Set;for(let q of j){if(J.has(q.name))throw Error(`[vlist] Duplicate plugin: ${q.name}`);J.add(q.name)}for(let q of j)if(q.conflicts){for(let Y of q.conflicts)if(J.has(Y))throw Error(`[vlist] Plugin "${q.name}" conflicts with "${Y}"`)}}function i0(j,J=[]){k1(j);let q=z1(j,J),Y=q.axis.primary==="x",$=w1(j,Y),Z=q.gap,B=Z>0?typeof $==="function"?(Z2)=>$(Z2)+Z:$+Z:$,A=typeof $==="number"?$:20,L=j.items?.length??0,M=q.striped?`${q.classPrefix}-item--odd`:"",U=K0(),r=r0(q.classPrefix,Y,q.interactive,q.startPadding,q.crossPadStart,q.crossPadEnd,M,Z,U),N=J.length>0?v1(J):J;if(J.length>0)C1(N);let T=p0(j.container),H=u0(T,q.classPrefix,Y,q.interactive,j.ariaLabel);if(j.scroll?.scrollbar==="none")H.viewport.classList.add(`${q.classPrefix}-viewport--no-scrollbar`);if(j.scroll?.gutter==="stable")H.viewport.classList.add(`${q.classPrefix}-viewport--gutter-stable`);let X=i2(B,L);if(Z>0){let Z2=X.getTotalSize;X.getTotalSize=()=>{let d=Z2();return d>0?d-Z:0}}let y=S0(q.classPrefix),w=Math.ceil(4096/A)+q.overscan*2+8,V=I0(w);V.totalItems=L;let D=j.items??[],O=()=>D,F=new Map,_=a0(),z={velocity:0,reliable:!1},p={range:{start:0,end:-1}},P={scrollPosition:0,direction:"down"},h={scrollPosition:0},u=-1,l=-1,c=-1,k=null,R=x0(N),v=new Map,K=[],W=[],b=[],S=null,i=null,s=null,g=null,Q=null,G=null,C=null,x=null,o=null,I=null,m=!1,a=!1,e=null,t=0,q2=0,K2=null,G2=null,M2=null,W2=null,J2=null;if(V.containerSize=Y?H.viewport.clientWidth:H.viewport.clientHeight,V.crossSize=Y?H.viewport.clientHeight:H.viewport.clientWidth,J.length>0){let Z2={dom:H,sizeCache:X,pool:y,config:q,emitter:U,template:j.item.template,registerMethod(d,f){v.set(d,f)},getMethod(d){return v.get(d)},registerClickHandler(d){K.push(d)},registerKeydownHandler(d){W.push(d)},registerDestroyHandler(d){b.push(d)},setSizeConfig(d){let f=i2(d,V.totalItems);Object.assign(X,f)},setScrollFns(d,f){i=d,s=f},setVirtualTotalFn(d){S=d},getItems:O,getItem(d){return G?G(d):D[d]},getState(){return V},rebuildSizeCache(){X.rebuild(V.totalItems)},updateContentSize(d){V.totalSize=d,H.content.style[Y?"width":"height"]=d+q.mainAxisPadding+"px"},setRenderFn(d,f){g=d,Q=f},renderIfNeeded(){L2()},forceRender(){F2()},setGetItemFn(d){G=d},setItemStateFn(d){C=d},getItemStateFn(){return C},get rawSizeSpec(){return $},scrollTo(d){if(s)s(d);else if(Y)H.viewport.scrollLeft=d;else H.viewport.scrollTop=d},smoothScrollTo(d,f,Q2,j2){if(M2)M2(d,f,void 0,Q2,j2);else Z2.scrollTo(typeof d==="function"?d():d)},disableDefaultScroll(){m=!0},disableDefaultResize(){a=!0},setScrollTarget(d){e=d},setScrollToPosFn(d){W2=d},setScrollToIndexFn(d){J2=d},onScrollFrame:X2,onScrollIdle:b2,removeItemById(d){if(x)return x(d);let f=D.findIndex((Q2)=>Q2.id===d);if(f===-1)return-1;return D.splice(f,1),V.totalItems=D.length,X.rebuild(V.totalItems),A2(),f},insertItemAt(d,f){if(o){o(d,f);return}D.splice(f,0,d),V.totalItems=D.length,X.rebuild(V.totalItems),A2()},setRemoveItemFn(d){x=d},setInsertItemFn(d){o=d},setUpdateItemFn(d){I=d},getRenderedElement(d){let f=v.get("_getRenderedElement");if(f)return f(d);return F.get(d)??null},setNavConfig(d){if(d.ud!==void 0)t=d.ud;if(d.lr!==void 0)q2=d.lr;if(d.scrollIndex)K2=d.scrollIndex;if(d.navigate)G2=d.navigate},getNavConfig:(()=>{let d={ud:0,lr:0,scrollIndex:null,navigate:null};return()=>{return d.ud=t,d.lr=q2,d.scrollIndex=K2,d.navigate=G2,d}})()};for(let d of N)if(d.setup)try{d.setup(Z2)}catch(f){U.emit("error",{error:f instanceof Error?f:Error(String(f)),context:`plugin:setup:${d.name}`})}}let n=q.classPrefix+"--scrolling",$2=!1,B2=j.scroll?.idleTimeout??m2;function U2(){if(P.scrollPosition=V.scrollPosition,Y)P.direction=V.scrollDirection>0?"right":"left";else P.direction=V.scrollDirection>0?"down":"up";if(U.emit("scroll",P),o0(_,V.scrollPosition),z.velocity=_.velocity,z.reliable=_.sampleCount>=s0,U.emit("velocity:change",z),V.startIndex!==u||V.prevRangeEnd!==l)u=V.startIndex,l=V.prevRangeEnd,p.range.start=V.startIndex,p.range.end=V.prevRangeEnd,U.emit("range:change",p)}let Y2=!1;function A2(){if(g)return;let Z2=X.getTotalSize();if(H.content.style[Y?"width":"height"]=Z2+q.mainAxisPadding+"px",!Y2&&Z2>S2)Y2=!0,U.emit("error",{error:Error(`Content size (${Z2}px) exceeds browser limit (${S2}px). Use the scale() plugin for large datasets.`),context:"content:size:overflow"})}function L2(){if(g)g();else Z0(V,X,q.overscan,y,H.content,j.item.template,O,F,r,R,G,C)}function X2(){if(!$2)$2=!0,H.root.classList.add(n);if(L2(),Y0(R.afterScroll,V.scrollPosition,V.scrollDirection),V.scrollPosition!==c)c=V.scrollPosition,U2()}function b2(){if($2)$2=!1,H.root.classList.remove(n);V.scrollDirection=0,c0(R.idle),z.velocity=0,z.reliable=!1,U.emit("velocity:change",z),h.scrollPosition=V.scrollPosition,U.emit("scroll:idle",h)}function F2(){if(V.renderPending=!0,Q)Q();else Z0(V,X,q.overscan,y,H.content,j.item.template,O,F,r,R,G,C);if(Y0(R.afterScroll,V.scrollPosition,V.scrollDirection),V.scrollPosition!==c){if(c=V.scrollPosition,U2(),k!==null)clearTimeout(k);k=setTimeout(b2,B2)}}let y2=g0({state:V,viewport:H.viewport,isX:Y,wheelEnabled:m?!1:j.scroll?.wheel!==!1,idleTimeout:j.scroll?.idleTimeout??m2,...e?{scrollTarget:e}:{},onFrame:X2,onIdle:b2});M2=y2.smoothScrollTo;function D2(Z2){let f=Z2.target.closest("[data-index]");if(!f)return null;let Q2=parseInt(f.getAttribute("data-index"),10);if(Number.isNaN(Q2))return null;let j2=D[Q2];if(j2===void 0)return null;return{item:j2,index:Q2}}function k2(Z2){for(let f=0;f<K.length;f++)K[f](Z2);let d=D2(Z2);if(d)U.emit("item:click",{item:d.item,index:d.index,event:Z2})}function H2(Z2){let d=D2(Z2);if(d)U.emit("item:dblclick",{item:d.item,index:d.index,event:Z2})}function z2(Z2){let d=D2(Z2);if(d)U.emit("item:contextmenu",{item:d.item,index:d.index,event:Z2})}function N2(Z2){for(let d=0;d<W.length;d++)W[d](Z2)}if(H.content.addEventListener("click",k2),H.content.addEventListener("dblclick",H2),H.content.addEventListener("contextmenu",z2),W.length>0)H.content.addEventListener("keydown",N2);let O2=null;if(!a)setTimeout(()=>{if(V.destroyed)return;O2=new ResizeObserver((d)=>{for(let f of d){let{width:Q2,height:j2}=f.contentRect,V2=Y?Q2:j2,_2=Y?j2:Q2;if(Math.abs(V2-V.containerSize)<1&&Math.abs(_2-V.crossSize)<1)continue;V.containerSize=V2,V.crossSize=_2,V.resizeCapacity(V2,A,q.overscan),F2(),l0(R.resize,Q2,j2),U.emit("resize",{width:Q2,height:j2})}}),O2.observe(H.viewport)},0);V.resizeCapacity(V.containerSize,A,q.overscan),A2(),V.initialized=!0;let R2=null;if(j.defer)R2=requestAnimationFrame(()=>{if(R2=null,!V.destroyed)L2()});else L2();if(!m)y2.attach();let P2={get element(){return H.root},get items(){return D},get total(){return S?S():D.length},setItems(Z2){D=[...Z2],V.totalItems=D.length,X.rebuild(V.totalItems),A2(),F2()},appendItems(Z2){D.push(...Z2),V.totalItems=D.length,X.rebuild(V.totalItems),A2(),F2()},prependItems(Z2){D.unshift(...Z2),V.totalItems=D.length,X.rebuild(V.totalItems),A2(),F2()},updateItem(Z2,d){if(I){if(!I(Z2,d))return}else{let f=D.findIndex((Q2)=>Q2.id===Z2);if(f===-1)return;D[f]={...D[f],...d}}F2()},insertItem(Z2,d){if(o)o(Z2,d??V.totalItems);else{if(d===void 0)D.push(Z2);else D.splice(d,0,Z2);V.totalItems=D.length,X.rebuild(V.totalItems),A2()}F2()},removeItem(Z2){if(x){if(x(Z2)<0)return}else{let d=D.findIndex((f)=>f.id===Z2);if(d===-1)return;D.splice(d,1),V.totalItems=D.length,X.rebuild(V.totalItems),A2()}F2()},removeItems(Z2){if(x){let j2=0;for(let V2 of Z2)if(x(V2)>=0)j2++;if(j2>0)F2();return j2}let d=new Set(Z2),f=D.length;D=D.filter((j2)=>!d.has(j2.id));let Q2=f-D.length;if(Q2>0)V.totalItems=D.length,X.rebuild(V.totalItems),A2(),V.renderPending=!0,L2();return Q2},getItemAt(Z2){return D[Z2]},getIndexById(Z2){return D.findIndex((d)=>d.id===Z2)},scrollToIndex(Z2,d="start"){let f=S?S():D.length;if(f===0)return;let Q2=Math.max(0,Math.min(Z2,f-1)),j2=typeof d==="string"?d:d.align??"start",V2=typeof d==="object"?d.behavior:void 0,_2=typeof d==="object"?d.duration:void 0,T2=typeof d==="object"?d.easing:void 0;if(J2&&J2(Q2,j2,V2,_2,T2)!==!1)return;let w2=X.getOffset(Q2),E2=X.getSize(Q2),C2=V.containerSize,I2=X.getTotalSize(),T0=q.mainAxisPadding,L1=Math.max(0,I2+T0-C2),h2;if(W2)h2=W2(Q2,X,C2,f,j2);else{let F1=q.startPadding;switch(j2){case"center":h2=F1+w2-(C2-E2)/2;break;case"end":h2=w2+E2+T0-C2;break;default:h2=w2}h2=Math.max(0,Math.min(h2,L1))}if(V2==="smooth")y2.smoothScrollTo(h2,_2??a2,s??void 0,T2);else if(s)s(h2);else if(Y)H.viewport.scrollLeft=h2;else H.viewport.scrollTop=h2},getScrollPosition(){return i?i():V.scrollPosition},on:U.on.bind(U),off:U.off.bind(U),destroy(){if(V.destroyed)return;if(V.destroyed=!0,$2)$2=!1,H.root.classList.remove(n);if(R2!==null)cancelAnimationFrame(R2),R2=null;if(k!==null)clearTimeout(k),k=null;y2.detach(),O2?.disconnect(),H.content.removeEventListener("click",k2),H.content.removeEventListener("dblclick",H2),H.content.removeEventListener("contextmenu",z2),H.content.removeEventListener("keydown",N2);let Z2=[];for(let d of b)try{d()}catch(f){Z2.push(f instanceof Error?f:Error(String(f)))}for(let d of N)if(d.destroy)try{d.destroy()}catch(f){Z2.push(f instanceof Error?f:Error(String(f)))}for(let[,d]of F)d.remove();if(F.clear(),y.clear(),H.root.remove(),U.emit("destroy",void 0),U.clear(),Z2.length>0)for(let d of Z2)console.error("vlist: error during destroy:",d)}};for(let[Z2,d]of v)P2[Z2]=d;return P2}var n0=(j,J,q)=>{let Y=J.getTotalSize(),$=q===!0||Y>S2,Z=Y>S2?S2:Y,B=Y>0?Z/Y:1;return{isCompressed:$,actualSize:Y,virtualSize:Z,ratio:B}},t0=(j,J,q,Y,$,Z)=>{if(Y===0||J===0)return Z.start=0,Z.end=-1,Z;if(!$.isCompressed||$.ratio===1){let T=q.indexAtOffset(j),H=q.indexAtOffset(j+J);if(H<Y-1)H++;return Z.start=Math.max(0,T),Z.end=Math.min(Y-1,Math.max(0,H)),Z}let{virtualSize:B}=$,A=j/B,L=q.getTotalSize(),M=A*L,U=q.indexAtOffset(M),r=q0(q,Math.max(0,U),J,Y),N=U+r;return Z.start=Math.max(0,U),Z.end=Math.min(Y-1,Math.max(0,N)),Z};var n2=(j,J,q,Y,$,Z,B)=>{if(!Z.isCompressed||Y===0)return q.getOffset(j);if(Z.ratio===1)return q.getOffset(j)-J;let{virtualSize:A}=Z,L=J/A,M=q.getTotalSize(),U=L*M;return q.getOffset(j)-U},e0=(j,J,q,Y,$,Z="start")=>{if(Y===0)return 0;let B;if($.isCompressed&&$.ratio!==1){B=j/Y*$.virtualSize;let U=J.getSize(j);switch(Z){case"center":B-=(q-U)/2*$.ratio;break;case"end":B-=(q-U)*$.ratio;break}return Math.max(0,B)}B=J.getOffset(j);let A=J.getSize(j);switch(Z){case"center":B-=(q-A)/2;break;case"end":B-=q-A;break}let L=$.virtualSize-q;return Math.max(0,Math.min(B,L))};var f1=(j)=>{if(typeof j!=="object"){let J=j??2;return{top:J,right:J,bottom:J,left:J}}return{top:j.top??2,right:j.right??2,bottom:j.bottom??2,left:j.left??2}},t2=(j,J,q={},Y="vlist",$=!1,Z)=>{let{autoHide:B=!0,autoHideDelay:A=1000,minThumbSize:L=15,showOnHover:M=!0,showOnViewportEnter:U=!0,clickBehavior:r="scroll"}=q,N=r==="page"?"scroll":r,T=Z??j,H=f1(q.padding),E=$?H.left:H.top,X=$?H.right:H.bottom,y=$?H.bottom:H.right,w=q.hoverZoneWidth??y+16,V=0,D=0,O=0,F=0,_=!1,z=!1,p=0,P=0,h=0,u=null,l=!1,c=null,k=0,R=0,v=null,K=null,W=null,b=$?"width":"height",S=$?"translateX":"translateY",i=$?(N2)=>N2.clientX:(N2)=>N2.clientY,s=$?"left":"top",g=document.createElement("div"),Q=document.createElement("div"),G=document.createElement("div"),C=$?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",x=()=>{if(T===j)return;let N2=j.offsetTop;g.style[$?"left":"top"]=N2?`calc(var(${C}) + ${N2}px)`:`var(${C})`,G.style[$?"left":"top"]=`${N2}px`},o=()=>{if(g.className=`${Y}-scrollbar`,Q.className=`${Y}-scrollbar__thumb`,$)g.classList.add(`${Y}-scrollbar--horizontal`);if(q.padding!==void 0)T.style.setProperty("--vlist-custom-scrollbar-padding-top",`${H.top}px`),T.style.setProperty("--vlist-custom-scrollbar-padding-right",`${H.right}px`),T.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${H.bottom}px`),T.style.setProperty("--vlist-custom-scrollbar-padding-left",`${H.left}px`);if(q.minThumbSize!==void 0)g.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${L}px`);if(g.appendChild(Q),T.appendChild(g),G.className=`${Y}-scrollbar__hover`,$)G.classList.add(`${Y}-scrollbar__hover--horizontal`),G.style.height=`${w}px`;else G.style.width=`${w}px`;if(T.appendChild(G),T!==j)x()},I=()=>{if(u)clearTimeout(u),u=null},m=()=>{if(!B)return;I(),u=setTimeout(e,A)},a=()=>{if(V<=D)return;if(I(),!l)g.classList.add(`${Y}-scrollbar--visible`),l=!0;if(B&&!_&&!z)m()},e=()=>{if(_||z)return;g.classList.remove(`${Y}-scrollbar--visible`),l=!1},t=(N2,O2)=>{if(V=N2,D=O2,x(),V<=D){g.style.display="none",e();return}g.style.display="";let R2=Math.max(0,D-E-X),P2=D/V;if(O=Math.max(L,P2*R2),Q.style[b]=`${O}px`,F=R2-O,q2(h),!B)a()},q2=(N2)=>{if(h=N2,V<=D||F<=0)return;let O2=V-D,R2=Math.min(1,Math.max(0,N2/O2));Q.style.transform=`${S}(${R2*F}px)`},K2=(N2)=>{if(N2.target===Q||N!=="jump"||F<=0)return;let O2=V-D,R2=g.getBoundingClientRect(),P2=i(N2)-R2[s],Z2=Math.max(0,Math.min(P2-O/2,F));J(Z2/F*O2),a()},G2=()=>{if(v!==null)clearTimeout(v),v=null;if(K!==null)cancelAnimationFrame(K),K=null;W=null},M2=(N2)=>{let O2=F>0?R/N2*F:0;if(k<O2)return-1;if(k>=O2+O)return 1;return 0},W2=()=>{let N2=V-D,O2=M2(N2);if(O2===0){G2();return}if(O2===-1){if(R<=0){G2();return}let R2=Math.max(0,R-D);R=R2,J(R2)}else{if(R>=N2){G2();return}let R2=Math.min(N2,R+D);R=R2,J(R2)}a()},J2=(N2)=>{if(W===null){W=N2,K=requestAnimationFrame(J2);return}let O2=V-D,R2=N2-W;W=N2;let P2=M2(O2);if(P2===0){G2();return}let Z2=12*D/1000,d=Math.min(Z2*R2,D);if(P2===-1){if(R<=0){G2();return}let f=Math.max(0,R-d);R=f,J(f)}else{if(R>=O2){G2();return}let f=Math.min(O2,R+d);R=f,J(f)}I(),K=requestAnimationFrame(J2)},n=()=>{G2(),m(),document.removeEventListener("mouseup",n)},$2=(N2)=>{if(N2.target===Q||N!=="scroll")return;N2.preventDefault();let O2=g.getBoundingClientRect();k=i(N2)-O2[s],R=h,W2(),v=setTimeout(()=>{K=requestAnimationFrame(J2)},350),document.addEventListener("mouseup",n)},B2=(N2)=>{N2.preventDefault(),N2.stopPropagation(),_=!0,p=i(N2),P=h,I(),g.classList.add(`${Y}-scrollbar--dragging`),document.addEventListener("mousemove",U2),document.addEventListener("mouseup",Y2)},U2=(N2)=>{if(!_)return;let O2=i(N2)-p,R2=F>0?O2/F:0,P2=V-D,Z2=R2*P2,d=Math.max(0,Math.min(P+Z2,P2));Q.style.transform=`${S}(${d/P2*F}px)`,J(d)},Y2=()=>{if(_=!1,g.classList.remove(`${Y}-scrollbar--dragging`),B&&!z)m();document.removeEventListener("mousemove",U2),document.removeEventListener("mouseup",Y2)},A2=$?(N2)=>N2.touches[0].clientX:(N2)=>N2.touches[0].clientY,L2=(N2)=>{N2.stopPropagation(),_=!0,p=A2(N2),P=h,I(),g.classList.add(`${Y}-scrollbar--dragging`)},X2=(N2)=>{if(!_)return;N2.preventDefault();let O2=A2(N2)-p,R2=F>0?O2/F:0,P2=V-D,Z2=R2*P2,d=Math.max(0,Math.min(P+Z2,P2));Q.style.transform=`${S}(${d/P2*F}px)`,J(d)},b2=()=>{if(_=!1,g.classList.remove(`${Y}-scrollbar--dragging`),B)m()},F2=(N2)=>{if(N2.target===Q)return;if(F<=0)return;let O2=N2.touches[0],R2=g.getBoundingClientRect(),P2=($?O2.clientX:O2.clientY)-R2[s];if(N==="jump"){let Z2=V-D,d=Math.max(0,Math.min(P2-O/2,F));J(d/F*Z2)}else k=P2,R=h,W2();a()},y2=()=>{if(U)a()},D2=()=>{if(!_){if(z=!1,B)m()}},k2=()=>{z=!0,I(),a()},H2=()=>{if(z=!1,!_&&B)m()},z2=()=>{if(I(),G2(),c!==null)cancelAnimationFrame(c),c=null;g.removeEventListener("click",K2),g.removeEventListener("mousedown",$2),g.removeEventListener("mouseenter",k2),document.removeEventListener("mouseup",n),g.removeEventListener("mouseleave",H2),g.removeEventListener("touchstart",F2),Q.removeEventListener("mousedown",B2),Q.removeEventListener("touchstart",L2),Q.removeEventListener("touchmove",X2),Q.removeEventListener("touchend",b2),j.removeEventListener("mouseenter",y2),j.removeEventListener("mouseleave",D2),document.removeEventListener("mousemove",U2),document.removeEventListener("mouseup",Y2),G.removeEventListener("click",K2),G.removeEventListener("mousedown",$2),G.removeEventListener("mouseenter",k2),G.removeEventListener("mouseleave",H2),G.remove(),T.style.removeProperty("--vlist-custom-scrollbar-padding-top"),T.style.removeProperty("--vlist-custom-scrollbar-padding-right"),T.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),T.style.removeProperty("--vlist-custom-scrollbar-padding-left"),g.remove()};if(o(),g.addEventListener("click",K2),g.addEventListener("mousedown",$2),g.addEventListener("mouseenter",k2),g.addEventListener("mouseleave",H2),g.addEventListener("touchstart",F2,{passive:!0}),Q.addEventListener("mousedown",B2),Q.addEventListener("touchstart",L2,{passive:!0}),Q.addEventListener("touchmove",X2,{passive:!1}),Q.addEventListener("touchend",b2,{passive:!0}),j.addEventListener("mouseenter",y2),j.addEventListener("mouseleave",D2),G.addEventListener("click",K2),G.addEventListener("mousedown",$2),M)G.addEventListener("mouseenter",k2),G.addEventListener("mouseleave",H2);return{show:a,hide:e,updateBounds:t,updatePosition:q2,isVisible:()=>l,destroy:z2}};var h1=0.65,$1=0.5,J1=1.7,I1=0.95,S1=0.1,x2=5,p1=100;function B0(j){let J=j?.force??!1,q,Y,$,Z,B,A={isCompressed:!1,actualSize:0,virtualSize:0,ratio:1},L=!1,M=0,U=null,r=!1,N=0,T=0,H=null,E=null,X=0,y=0,w=null,V=new Float64Array(x2),D=new Float64Array(x2),O=0,F=0,_={start:0,end:-1},z=-1,p=null;function P(){return Math.max(0,A.virtualSize+M-q.containerSize)}function h(){if(A.virtualSize<=0)return 0;return Math.max(0,q.containerSize*(1-A.ratio))}function u(Q){let G=q.totalItems;if(A=n0(G,Y,J),A.isCompressed&&!L)i(Q);else if(!A.isCompressed&&L)s(Q);if(A.isCompressed){if(M=h(),q.isCompressed=!0,q.compressionRatio=A.ratio,Q.updateContentSize(A.virtualSize+M),U)U.updateBounds(A.virtualSize+M,q.containerSize)}}let l=null,c=null,k=null,R=null,v=null;function K(Q){N=Q,T=Q,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=Q,q.scrollDirection=Q>q.prevScrollPosition?1:-1,p.forceRender()}function W(){if(H!==null)cancelAnimationFrame(H),H=null;if(E!==null)cancelAnimationFrame(E),E=null}function b(Q){W(),K(Math.max(0,Math.min(Q,P())))}function S(Q,G,C=s2){W();let x=Math.max(0,Math.min(Q,P())),o=N;if(Math.abs(x-o)<$1){K(x);return}let I=performance.now(),m=(a)=>{let e=Math.min((a-I)/G,1);if(K(o+(x-o)*C(e)),e<1)E=requestAnimationFrame(m);else E=null};E=requestAnimationFrame(m)}function i(Q){L=!0,q.isCompressed=!0;let G=Z?"scrollLeft":"scrollTop",C=Z?"overflowX":"overflow",x=$[G];if($.style[C]="hidden",$[G]=0,x>0)N=x,T=x,q.scrollPosition=x;M=h();let o=()=>{let t=T-N,q2=P();if(Math.abs(t)<$1)N=Math.max(0,Math.min(T,q2)),T=N,H=null;else N+=t*h1,N=Math.max(0,Math.min(N,q2)),H=requestAnimationFrame(o);q.prevScrollPosition=q.scrollPosition,q.scrollPosition=N,q.scrollDirection=N>q.prevScrollPosition?1:-1,Q.forceRender()};l=(t)=>{t.preventDefault();let q2=P();if(T=Math.max(0,Math.min(T+t.deltaY*A.ratio*J1,q2)),H===null)H=requestAnimationFrame(o)},$.addEventListener("wheel",l,{passive:!1});let I=()=>{if(w!==null)cancelAnimationFrame(w),w=null};c=(t)=>{if(I(),H!==null)cancelAnimationFrame(H),H=null;let q2=t.touches[0];if(!q2)return;let K2=Z?q2.clientX:q2.clientY;X=K2,y=N,O=1,F=0,V[0]=performance.now(),D[0]=K2},k=(t)=>{t.preventDefault();let q2=t.touches[0];if(!q2)return;let K2=Z?q2.clientX:q2.clientY,G2=performance.now(),M2=O<x2?O:F;if(V[M2]=G2,D[M2]=K2,O<x2)O++;else F=(F+1)%x2;let W2=X-K2,J2=P(),n=Math.max(0,Math.min(y+W2*A.ratio*J1,J2));N=n,T=n,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=n,q.scrollDirection=n>q.prevScrollPosition?1:-1,Q.forceRender()},R=()=>{let t=performance.now(),q2=1/0,K2=0,G2=-1,M2=0,W2=0;for(let B2=0;B2<O;B2++){let U2=(F+B2)%x2,Y2=V[U2];if(t-Y2>=p1)continue;W2++;let A2=D[U2];if(Y2<q2)q2=Y2,K2=A2;if(Y2>G2)G2=Y2,M2=A2}let J2=0;if(W2>=2){let B2=G2-q2;if(B2>0)J2=(K2-M2)/B2}if(O=0,F=0,Math.abs(J2)<S1)return;let n=J2*16,$2=()=>{if(n*=I1,Math.abs(n)<0.5){w=null;return}let B2=P(),U2=N+n;if(U2=Math.max(0,Math.min(U2,B2)),U2<=0&&n<0||U2>=B2&&n>0){N=U2,T=U2,q.scrollPosition=U2,Q.forceRender(),w=null;return}N=U2,T=U2,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=U2,q.scrollDirection=U2>q.prevScrollPosition?1:-1,Q.forceRender(),w=requestAnimationFrame($2)};w=requestAnimationFrame($2)},$.addEventListener("touchstart",c,{passive:!0}),$.addEventListener("touchmove",k,{passive:!1}),$.addEventListener("touchend",R,{passive:!0}),$.addEventListener("touchcancel",R,{passive:!0}),v=()=>{if($[G]!==0)$[G]=0},$.addEventListener("scroll",v,{passive:!0});let m=(t)=>{if(N=t,T=t,H!==null)cancelAnimationFrame(H),H=null;q.prevScrollPosition=q.scrollPosition,q.scrollPosition=t,q.scrollDirection=t>q.prevScrollPosition?1:-1,Q.forceRender()},a=Q.getMethod("_scrollbar:setCallback"),e=Q.getMethod("_scrollbar:getInstance");if(a&&e){a(m);let t=e();if(t)U=t,r=!1,U.updateBounds(A.virtualSize+M,q.containerSize)}else if(!U){let t=Q.config.classPrefix;if(U=t2($,m,{},t,Z,Q.dom.root),r=!0,!$.classList.contains(`${t}-viewport--custom-scrollbar`))$.classList.add(`${t}-viewport--custom-scrollbar`);U.updateBounds(A.virtualSize+M,q.containerSize)}}function s(Q){L=!1,q.isCompressed=!1,q.compressionRatio=1,N=0,T=0,O=0,F=0,g();let G=Z?"overflowX":"overflow";$.style[G]="auto",M=0,Q.updateContentSize(Y.getTotalSize())}function g(){if(H!==null)cancelAnimationFrame(H),H=null;if(E!==null)cancelAnimationFrame(E),E=null;if(w!==null)cancelAnimationFrame(w),w=null;if(l)$.removeEventListener("wheel",l),l=null;if(c)$.removeEventListener("touchstart",c),c=null;if(k)$.removeEventListener("touchmove",k),k=null;if(R)$.removeEventListener("touchend",R),$.removeEventListener("touchcancel",R),R=null;if(v)$.removeEventListener("scroll",v),v=null;if(U&&r)U.destroy();U=null,r=!1;let Q=Z?"scrollLeft":"scrollTop";if($&&$[Q]!==0)$[Q]=0}return{name:"scale",priority:20,setup(Q){q=Q.getState(),Y=Q.sizeCache,$=Q.dom.viewport,Z=Q.config.axis.primary==="x",B=Q.config.overscan,p=Q,Q.registerMethod("_updateCompressionMode",()=>u(Q)),Q.setScrollFns(()=>N,(G)=>{if(!A.isCompressed||!L){let x=Z?"scrollLeft":"scrollTop";$[x]=G;return}if(W(),w!==null)cancelAnimationFrame(w),w=null;let C=G*A.ratio;K(Math.max(0,Math.min(C,P())))}),Q.setScrollToIndexFn((G,C,x,o,I)=>{if(!A.isCompressed||!L)return!1;let m=e0(G,Y,q.containerSize,q.totalItems,A,C);if(x==="smooth")S(m,o??a2,I);else b(m)}),u(Q),z=q.totalItems,Q.registerDestroyHandler(g)},hooks:{onCalculate(Q){if(Q.totalItems!==z&&p)z=Q.totalItems,u(p);if(!A.isCompressed||!L)return;let G=Q.totalItems;if(G===0||Q.containerSize<=0){Q.visibleCount=0;return}t0(Q.scrollPosition,Q.containerSize,Y,G,A,_);let C=Math.max(0,_.start-B),x=Math.min(G-1,_.end+B),o=Math.min(x-C+1,Q.capacity);Q.visibleCount=o,Q.startIndex=C;for(let I=0;I<o;I++){let m=C+I;Q.visibleIndices[I]=m,Q.visibleOffsets[I]=n2(m,Q.scrollPosition,Y,G,Q.containerSize,A),Q.visibleSizes[I]=Y.getSize(m)}Q.prevRangeStart=C,Q.prevRangeEnd=x},onAfterScroll(Q){if(U&&L)U.updatePosition(Q),U.show()},onResize(){if(L){if(M=h(),U)U.updateBounds(A.virtualSize+M,q.containerSize);let Q=P();if(N>Q)N=Q,T=Q,q.scrollPosition=Q}}},destroy(){g()}}}function U0(j){let J=null,q,Y=0,$=0;return{name:"scrollbar",priority:15,setup(Z){let{dom:B,config:A}=Z,{classPrefix:L}=A,M=A.axis.primary==="x";q=Z.getState();let U=(r)=>{if(M)B.viewport.scrollLeft=r;else B.viewport.scrollTop=r};if(Z.registerMethod("_scrollbar:setCallback",(r)=>{U=r}),J=t2(B.viewport,(r)=>{U(r)},j,L,M,B.root),B.viewport.classList.add(`${L}-viewport--custom-scrollbar`),j?.gutter)B.viewport.classList.add(`${L}-viewport--gutter`);queueMicrotask(()=>{if(!q.isCompressed)J?.updateBounds(q.totalSize,q.containerSize)}),Z.registerMethod("_scrollbar:getInstance",()=>J),Z.registerDestroyHandler(()=>{if(J?.destroy(),J=null,B.viewport.classList.remove(`${L}-viewport--custom-scrollbar`),j?.gutter)B.viewport.classList.remove(`${L}-viewport--gutter`)})},hooks:{onAfterScroll(Z){if(!q.isCompressed){let{totalSize:B,containerSize:A}=q;if(B!==Y||A!==$)Y=B,$=A,J?.updateBounds(B,A)}J?.updatePosition(Z),J?.show()},onResize(){if(!q.isCompressed){let{totalSize:Z,containerSize:B}=q;Y=Z,$=B,J?.updateBounds(Z,B)}}},destroy(){J?.destroy(),J=null}}}var Q1=(j)=>{let J=Math.max(1,Math.floor(j.columns)),q=j.gap??0,Y=j.isHeaderFn,$={row:0,col:0},Z=(H)=>{if(H<=0)return 0;if(!Y)return Math.ceil(H/J);let E=0,X=0,y=0;for(let w=0;w<H;w++)if(Y(w)){if(y++,X)E++,X=0;E++,X=0}else if(X++,X>=J)E++,X=0;if(X)E++;return E},B=(H)=>{return $.row=A(H),$.col=L(H),$},A=(H)=>{if(!Y)return Math.floor(H/J);let E=0,X=0;for(let y=0;y<=H;y++)if(Y(y)){if(X)E++,X=0;if(y===H)return E;E++,X=0}else{if(y===H)return E;if(X++,X>=J)E++,X=0}return console.warn(`⚠️ getRow(${H}) fell through - returning ${E}`),E},L=(H)=>{if(!Y)return H%J;if(Y(H))return 0;let E=0;for(let X=0;X<=H;X++)if(Y(X))E=0;else{if(X===H)return E;if(E++,E>=J)E=0}return E},M=(H,E,X)=>{if(X<=0)return{start:0,end:-1};if(!Y){let O=Math.max(0,H*J),F=Math.min(X-1,(E+1)*J-1);return{start:O,end:F}}let y=-1,w=-1,V=0,D=0;for(let O=0;O<X;O++){if(Y(O)){if(D)V++,D=0;if(V>=H&&V<=E){if(y<0)y=O;w=O}V++,D=0}else{if(V>=H&&V<=E){if(y<0)y=O;w=O}if(D++,D>=J)V++,D=0}if(V>E&&!D)break}if(y<0)return{start:0,end:-1};return{start:y,end:w}},U=(H,E,X)=>{if(E<0||E>=J)return-1;let y=H*J+E;if(y<0||y>=X)return-1;return y},r=(H)=>{let E=(J-1)*q;return Math.max(0,(H-E)/J)};return{get columns(){return J},get gap(){return q},update:(H)=>{if(H.columns!==void 0)J=Math.max(1,Math.floor(H.columns));if(H.gap!==void 0)q=H.gap;if(H.isHeaderFn!==void 0)Y=H.isHeaderFn},getTotalRows:Z,getPosition:B,getRow:A,getCol:L,getItemRange:M,getItemIndex:U,getColumnWidth:r,getColumnOffset:(H,E)=>{let X=r(E);return H*(X+q)}}};var p2={selected:!1,focused:!1};function W0(j){if(!j.columns||j.columns<1)throw Error("[vlist] grid: columns must be >= 1");let J,q,Y,$,Z,B,A,L,M,U,r=null,N=new Map,T=0,H=-1,E=-1,X=!0;function y(){return J.getTotalRows(Y.totalItems)}function w(_){let z=J.getRow(_),p=J.getCol(_),P=J.getColumnOffset(p,T),h=q.getOffset(z);if(L)return`translate(${Math.round(h)}px, ${Math.round(P)}px)`;return`translate(${Math.round(P)}px, ${Math.round(h)}px)`}function V(_,z){let p=J.getRow(z),P=J.getColumnWidth(T),h=q.getSize(p)-J.gap;if(L)_.style.width=`${h}px`,_.style.height=`${P}px`;else _.style.width=`${P}px`,_.style.height=`${h}px`}function D(_,z,p,P){if(P)P(p,p2);else p2.selected=!1,p2.focused=!1;let h=B(z,p,p2);if(typeof h==="string")_.innerHTML=h;else _.innerHTML="",_.appendChild(h)}function O(){if(Y.destroyed)return;let{scrollPosition:_,containerSize:z}=Y;if(!X&&_===H&&z===E)return;H=_,E=z,X=!1;let p=y();if(z<=0||p===0)return;let P=q.indexAtOffset(_),h=q.indexAtOffset(_+z);if(h<p-1)h++;P=Math.max(0,P),h=Math.min(p-1,Math.max(0,h));let u=Math.max(0,P-U),l=Math.min(p-1,h+U);if(u===Y.prevRangeStart&&l===Y.prevRangeEnd&&!Y.renderPending)return;let c=J.getItemRange(u,l,Y.totalItems);N.forEach((S,i)=>{if(i<c.start||i>c.end)S.el.remove(),$.release(S.el),N.delete(i)});let k=`${M}-item ${M}-grid-item`,R=r?.()??null,v=R?`${M}-item--selected`:"",K=R?`${M}-item--focused`:"";for(let S=c.start;S<=c.end;S++){let i=A(S);if(!i)continue;let s=N.get(S);if(s===void 0){let g=$.acquire();g.className=k,g.setAttribute("data-index",String(S)),g.setAttribute("data-id",String(i.id)),D(g,i,S,R),s={el:g,lastItem:i},N.set(S,s),Z.appendChild(g)}else if(s.lastItem!==i)s.el.setAttribute("data-id",String(i.id)),s.lastItem=i,D(s.el,i,S,R);if(R)if(R(S,p2),s.el.classList.toggle(v,p2.selected),s.el.classList.toggle(K,p2.focused),p2.selected)s.el.setAttribute("aria-selected","true");else s.el.removeAttribute("aria-selected");V(s.el,S),s.el.style.transform=w(S)}let W=q.getTotalSize();Z.style[L?"width":"height"]=W+"px",Y.prevRangeStart=u,Y.prevRangeEnd=l,Y.renderPending=!1;let b=c.end-c.start+1;Y.visibleCount=Math.min(b,Y.capacity),Y.startIndex=c.start;for(let S=0;S<Y.visibleCount;S++){let i=c.start+S,s=J.getRow(i);Y.visibleIndices[S]=i,Y.visibleOffsets[S]=q.getOffset(s),Y.visibleSizes[S]=q.getSize(s)}}function F(){if(Y.destroyed)return;q.rebuild(y()),Y.prevRangeStart=-1,Y.prevRangeEnd=-1,Y.renderPending=!0,X=!0,O()}return{name:"grid",priority:10,conflicts:["masonry","table"],setup(_){let z=j.gap??0;J=Q1({columns:j.columns,gap:z}),q=_.sizeCache,Y=_.getState(),$=_.pool,Z=_.dom.content,B=_.template,L=_.config.axis.primary==="x",M=_.config.classPrefix,U=_.config.overscan,A=_.getItem.bind(_),r=()=>_.getItemStateFn(),T=Y.crossSize;let p=_.rawSizeSpec,P;if(typeof p==="function"){let u={columnWidth:J.getColumnWidth(T),columns:j.columns,gap:z};P=p(0,u),_.setSizeConfig((l)=>{u.columnWidth=J.getColumnWidth(T);let c=l*j.columns;return p(c,u)+z})}else if(P=p,z>0)_.setSizeConfig(P+z);if(q.rebuild(y()),z>0){let h=q.getTotalSize;q.getTotalSize=()=>{let u=h();return u>0?u-z:0}}_.setVirtualTotalFn(()=>y()),_.dom.root.classList.add(`${M}--grid`),_.setRenderFn(O,F),_.registerMethod("getGridLayout",()=>J),_.registerMethod("updateGrid",(h)=>{if(h.columns!==void 0){if(!Number.isInteger(h.columns)||h.columns<1)throw Error("[vlist] updateGrid: columns must be >= 1")}if(h.gap!==void 0&&h.gap<0)throw Error("[vlist] updateGrid: gap must be >= 0");if(J.update(h),h.gap!==void 0||h.columns!==void 0){let u=J.gap;if(typeof p==="function"){let l={columnWidth:J.getColumnWidth(T),columns:J.columns,gap:u};_.setSizeConfig((c)=>{l.columnWidth=J.getColumnWidth(T);let k=c*J.columns;return p(k,l)+u})}else _.setSizeConfig(P+u);q.rebuild(y())}if(h.columns!==void 0)_.setNavConfig({ud:J.columns});T=Y.crossSize,F()}),_.registerMethod("scrollToIndex",(h,u="start")=>{let l=J.getRow(h),c=y();if(c===0)return;let k=Math.max(0,Math.min(l,c-1)),R=q.getOffset(k),v=q.getSize(k),K=Y.containerSize,W=q.getTotalSize(),b=Math.max(0,W-K),S=typeof u==="string"?u:u.align??"start",i=typeof u==="object"?u.behavior:void 0,s=typeof u==="object"?u.duration:void 0,g;switch(S){case"center":g=R-(K-v)/2;break;case"end":g=R-K+v;break;default:g=R}if(g=Math.max(0,Math.min(g,b)),i==="smooth"&&s&&s>0)_.smoothScrollTo(g,s);else _.scrollTo(g)}),_.setNavConfig({total:()=>Y.totalItems,ud:j.columns,lr:1,scrollIndex:(h)=>J.getRow(h)}),_.registerDestroyHandler(()=>{for(let[,h]of N)h.el.remove();N.clear(),_.dom.root.classList.remove(`${M}--grid`)})},hooks:{onResize(_,z){let p=Y.crossSize;if(Math.abs(p-T)<1)return;T=p,N.forEach((P,h)=>{V(P.el,h),P.el.style.transform=w(h)})}},destroy(){N.clear()}}}function N0(){return{name:"a11y",priority:55,setup(j){if(j.getItemStateFn())return;let{dom:J,config:q,sizeCache:Y}=j,$=j.getState(),Z=j.emitter,B=q.classPrefix,A=J.liveRegion,L=-1,M=!1,U,r=-1,N=(z)=>j.getItem(z),T=()=>$.totalItems,H={id:0,index:0},E={selected:[],items:[]};j.setItemStateFn((z,p)=>{p.selected=r===z,p.focused=M&&L===z});function X(z){A.textContent="",A.textContent=z}let y=(z,p,P)=>{let h=z;while(h>=0&&h<P){let u=N(h);if(!u||!u.__groupHeader)return h;h+=p}h=z-p;while(h>=0&&h<P){let u=N(h);if(!u||!u.__groupHeader)return h;h-=p}return z},w=(z)=>{let p=j.getNavConfig(),P=p.scrollIndex?p.scrollIndex(z):z,h=Y.getOffset(P),u=Y.getSize(P),l=$.scrollPosition,c=$.containerSize,k=q.startPadding,R=q.endPadding,v=h+k,K=v+u,W=l;if(v<l)W=Math.max(0,h);else if(K>l+c)W=K+R-c;if(W!==l)$.scrollPosition=W,j.scrollTo(W)},V=(z,p)=>{if(J.content.setAttribute("aria-activedescendant",`${B}-item-${z}`),p)w(z);j.forceRender()},D=(z)=>{L=z,M=!0,V(z,!0);let p=N(z);if(p)H.id=p.id,H.index=z,Z.emit("focus:change",H),X(`Item ${z+1} of ${T()}`)},O=(z,p)=>{if(L=z,p)M=!0;let P=N(z);if(P&&U===P.id)U=void 0,r=-1;else U=P?.id,r=P?z:-1;if(V(z,p),U!==void 0&&P&&U===P.id)E.selected[0]=U,E.selected.length=1,E.items[0]=P,E.items.length=1,X(`Selected, item ${z+1} of ${T()}`);else E.selected.length=0,E.items.length=0,X("Deselected");Z.emit("selection:change",E)},F=()=>{if($.destroyed)return;if(!J.content.matches(":focus-visible"))return;let z=T();if(z===0)return;let p=L>=0?Math.min(L,z-1):0;p=y(p,1,z),D(p)},_=(z)=>{if($.destroyed)return;let p=z.relatedTarget;if(p&&J.root.contains(p))return;M=!1,J.content.removeAttribute("aria-activedescendant"),j.forceRender()};J.content.addEventListener("focusin",F),J.content.addEventListener("focusout",_),j.registerKeydownHandler((z)=>{if($.destroyed)return;let p=T();if(p===0)return;let P=L,h=P;if(z.key===" "||z.key==="Enter"){if(P>=0){let l=N(P);if(l&&!l.__groupHeader)O(P,!0)}z.preventDefault();return}let u=j.getNavConfig();if(u.navigate)switch(z.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":h=u.navigate(P,z.key,p);break;default:return}else{let l=u.ud||1,c=u.lr,k=q.axis.primary==="x";switch(z.key){case"ArrowUp":if(k&&!c)return;h=P-(k?c:l);break;case"ArrowDown":if(k&&!c)return;h=P+(k?c:l);break;case"ArrowLeft":if(!k&&!c)return;h=P-(k?l:c);break;case"ArrowRight":if(!k&&!c)return;h=P+(k?l:c);break;case"PageUp":case"PageDown":{let R=Y.getSize(Math.max(0,u.scrollIndex?u.scrollIndex(P):P)),K=Math.max(1,Math.floor($.containerSize/R))*l;h=z.key==="PageUp"?P-K:P+K;break}case"Home":h=0;break;case"End":h=p-1;break;default:return}}if(h<0)h=0;else if(h>=p)h=p-1;if(z.preventDefault(),h=y(h,h>=P?1:-1,p),h!==P)D(h)}),j.registerClickHandler((z)=>{if($.destroyed)return;let p=z.target.closest("[data-index]");if(!p)return;let P=parseInt(p.dataset.index??"-1",10);if(P<0)return;let h=N(P);if(!h||h.__groupHeader)return;M=!1,J.content.focus({preventScroll:!0}),O(P,!1)}),j.registerDestroyHandler(()=>{J.content.removeEventListener("focusin",F),J.content.removeEventListener("focusout",_)})}}}var c2=(j,J,q)=>{if(String(q).startsWith(f2))return!1;let Y=f2+J;if(j.has(Y))return j.delete(Y),j.add(q),!0;return!1},j1=(j)=>({selected:new Set(j??[]),focusedIndex:-1,focusVisible:!1});function u2(j,J,q,Y){if(q===0)return;let $=Y?-J:J,Z=j.focusedIndex+$;if(Z<0)Z=0;if(Z>=q)Z=q-1;j.focusedIndex=Z}function e2(j){return Array.from(j)}var u1={preventScroll:!0};function V0(j){let J=j?.mode??"single",q=j?.followFocus??!1,Y=j?.focusOnClick??!1,$,Z,B,A,L,M,U,r,N=-1,T=new Map,H=null,E=null,X=null,y=null,w,V=!1;function D(K){if(V)return;V=!0,H=K.getMethod("_layoutToDataIndex")??null,E=K.getMethod("_dataToLayoutIndex")??null,X=K.getMethod("_isGroupHeader")??null,y=K.getMethod("_scrollItemIntoView")??null;let W=K.getMethod("getGroupLayout");if(W){let b=W();w=()=>b.totalEntries}}let O=(K)=>H?H(K):K,F=(K)=>{let W=O(K);return W>=0?Z(W):void 0},_=(K,W,b)=>{if(!X)return K;let S=K;while(S>=0&&S<b){if(!X(S))return S;S+=W}S=K-W;while(S>=0&&S<b){if(!X(S))return S;S-=W}return K};function z(K,W){if(J==="single")$.selected.clear(),T.clear();if($.selected.add(K),W)T.set(K,W)}function p(K,W){if($.selected.has(K))$.selected.delete(K),T.delete(K);else z(K,W)}function P(){$.selected.clear(),T.clear()}function h(K){$.selected.delete(K),T.delete(K)}function u(K,W){let b=Math.min(K,W),S=Math.max(K,W);for(let i=b;i<=S;i++){let s=Z(i);if(s)$.selected.add(s.id),T.set(s.id,s)}}function l(){let K=U.totalItems;for(let W=0;W<K;W++){let b=Z(W);if(b)$.selected.add(b.id),T.set(b.id,b)}}function c(){if($.selected.size===0)return[];if(T.size>=$.selected.size){let S=[];for(let i of $.selected){let s=T.get(i);if(s)S.push(s)}if(S.length===$.selected.size)return S}let K=[],W=new Set($.selected),b=U.totalItems;for(let S=0;S<b&&W.size>0;S++){let i=Z(S);if(i&&W.has(i.id))K.push(i),T.set(i.id,i),W.delete(i.id)}return K}function k(){B(),A.emit("selection:change",{selected:e2($.selected),items:c()})}let R=null,v=-1;return{name:"selection",priority:50,setup(K){$=j1(j?.initial),Z=K.getItem.bind(K),B=K.forceRender.bind(K),A=K.emitter,L=K.dom;let W=K.config;if(M=K.sizeCache,U=K.getState(),r=K.scrollTo.bind(K),w=()=>U.totalItems,J==="none"){K.registerMethod("select",()=>{}),K.registerMethod("deselect",()=>{}),K.registerMethod("toggleSelect",()=>{}),K.registerMethod("selectAll",()=>{}),K.registerMethod("clearSelection",()=>{}),K.registerMethod("getSelected",()=>[]),K.registerMethod("getSelectedItems",()=>[]),K.registerMethod("selectNext",()=>{}),K.registerMethod("selectPrevious",()=>{}),K.registerMethod("_seedSelection",()=>{}),K.registerMethod("_getFocusedId",()=>{return}),K.registerMethod("_focusById",()=>{});return}let b=W.classPrefix;K.setItemStateFn((Q,G)=>{if(D(K),$.selected.size>0){let C=O(Q),x=C>=0?Z(C):void 0,o=x?.id;if(o!==void 0)if($.selected.has(o))G.selected=!0;else if(c2($.selected,C,o))G.selected=!0,T.delete(f2+C),T.set(o,x);else G.selected=!1;else G.selected=!1}else G.selected=!1;G.focused=$.focusVisible&&$.focusedIndex===Q}),K.registerMethod("_getSelectedIds",()=>$.selected),K.registerMethod("_getFocusedIndex",()=>$.focusVisible?$.focusedIndex:-1),L.root.classList.add(`${b}--selectable`);let S=(Q)=>{R=null,v=-1;let G=Q.target.closest("[data-index]");if(!G)return!1;let C=parseInt(G.dataset.index??"-1",10);if(C<0)return!1;let x=O(C);if(x<0)return!1;let o=Z(x);if(!o)return!1;return R=o,v=C,!0},i=(Q)=>{if(Q<0)return;if(y){y(Q);return}let G=K.getNavConfig(),C=G.scrollIndex?G.scrollIndex(Q):Q,x=M.getOffset(C),o=M.getSize(C),I=U.containerSize,m=U.scrollPosition;if(x<m)r(x);else if(x+o>m+I)r(x-I+o)},s=()=>{if(U.destroyed)return;if(D(K),!L.content.matches(":focus-visible")&&!L.root.matches(":focus-visible"))return;let Q=w();if(Q===0)return;let G=$.focusedIndex>=0?Math.min($.focusedIndex,Q-1):0;G=_(G,1,Q),$.focusedIndex=G,$.focusVisible=!0,L.content.setAttribute("aria-activedescendant",`${b}-item-${G}`),i(G),B()};L.root.addEventListener("focusin",s);let g=(Q)=>{if(U.destroyed)return;let G=Q.relatedTarget;if(G&&L.root.contains(G))return;$.focusVisible=!1,B(),L.content.removeAttribute("aria-activedescendant")};if(L.root.addEventListener("focusout",g),K.registerDestroyHandler(()=>{L.root.removeEventListener("focusin",s),L.root.removeEventListener("focusout",g)}),K.registerClickHandler((Q)=>{if(D(K),!S(Q))return;if(J==="multiple"&&Q.shiftKey&&$.focusedIndex>=0){let G=N>=0?N:$.focusedIndex,C=O(G),x=O(v);if(C>=0&&x>=0)u(C,x);$.focusedIndex=v,$.focusVisible=Y,N=v,k();return}$.focusedIndex=v,$.focusVisible=Y,N=v,L.content.focus(u1),p(R.id,R),k()}),W.interactive)K.registerKeydownHandler((Q)=>{D(K);let G=w();if(G===0)return;let C=K.getNavConfig(),x=$.focusedIndex,o=!1,I=!1;if(C.navigate&&(Q.key==="ArrowUp"||Q.key==="ArrowDown"||Q.key==="ArrowLeft"||Q.key==="ArrowRight"||Q.key==="PageUp"||Q.key==="PageDown"||Q.key==="Home"||Q.key==="End")){let a=C.navigate($.focusedIndex,Q.key,G);if(a!==$.focusedIndex)$.focusedIndex=Math.max(0,Math.min(a,G-1));$.focusVisible=!0,o=!0}else switch(Q.key){case"ArrowUp":{let a=C.ud||1,e=C.lr,t=W.axis.primary==="x";if(t&&!e)break;u2($,-(t?e:a),G,W.reverse),$.focusVisible=!0,o=!0;break}case"ArrowDown":{let a=C.ud||1,e=C.lr,t=W.axis.primary==="x";if(t&&!e)break;u2($,t?e:a,G,W.reverse),$.focusVisible=!0,o=!0;break}case"ArrowLeft":{let a=C.ud||1,e=C.lr,t=W.axis.primary==="x";if(!t&&!e)break;u2($,-(t?a:e),G,W.reverse),$.focusVisible=!0,o=!0;break}case"ArrowRight":{let a=C.ud||1,e=C.lr,t=W.axis.primary==="x";if(!t&&!e)break;u2($,t?a:e,G,W.reverse),$.focusVisible=!0,o=!0;break}case"Home":if(G>0)$.focusedIndex=0;$.focusVisible=!0,o=!0;break;case"End":if(G>0)$.focusedIndex=G-1;$.focusVisible=!0,o=!0;break;case"PageUp":case"PageDown":{let a=C.ud||1,e=Math.max(0,$.focusedIndex),t=C.scrollIndex?C.scrollIndex(e):e,q2=M.getSize(t),K2=U.containerSize,M2=(q2>0?Math.max(1,Math.floor(K2/q2)):10)*a;if(H&&E){let W2=H($.focusedIndex),J2=Q.key==="PageUp"?-M2:M2,n=U.totalItems-1;$.focusedIndex=E(Math.max(0,Math.min(n,W2+J2)))}else u2($,Q.key==="PageUp"?-M2:M2,G);$.focusVisible=!0,o=!0;break}case" ":case"Enter":if(Q.key===" "&&Q.shiftKey&&J==="multiple"&&$.focusedIndex>=0){if(N>=0){let a=O(N),e=O($.focusedIndex);if(a>=0&&e>=0)u(a,e)}$.focusVisible=!0,I=!0,o=!0;break}if($.focusedIndex>=0){let a=F($.focusedIndex);if(a)p(a.id,a),N=$.focusedIndex;$.focusVisible=!0,I=!0,o=!0}break;case"a":if((Q.ctrlKey||Q.metaKey)&&J==="multiple"){if($.selected.size===U.totalItems)P();else l();$.focusVisible=!0,I=!0,o=!0}break;case"Delete":case"Backspace":if($.selected.size>0)A.emit("delete",{selected:e2($.selected),items:c()}),o=!0;break}if($.focusedIndex!==x&&X){let a=$.focusedIndex>x?1:-1;$.focusedIndex=_($.focusedIndex,a,G)}let m=$.focusedIndex!==x;if(Q.shiftKey&&J==="multiple"&&!I&&m){if(Q.key==="ArrowUp"||Q.key==="ArrowDown"||Q.key==="ArrowLeft"||Q.key==="ArrowRight"){let t=F($.focusedIndex);if(t)p(t.id,t);N=$.focusedIndex,I=!0}if((Q.ctrlKey||Q.metaKey)&&(Q.key==="Home"||Q.key==="End")){let t=O(x>=0?x:$.focusedIndex),q2=O($.focusedIndex);if(t>=0&&q2>=0)u(t,q2);N=$.focusedIndex,I=!0}}if(q&&J==="single"&&!I&&m&&$.focusedIndex>=0){let a=F($.focusedIndex);if(a)z(a.id,a);I=!0}if(o){if(Q.preventDefault(),m&&$.focusedIndex>=0)i($.focusedIndex),L.content.setAttribute("aria-activedescendant",`${b}-item-${$.focusedIndex}`);if(I)k();else if(m){if(B(),$.focusedIndex>=0){let a=F($.focusedIndex);if(a)A.emit("focus:change",{id:a.id,index:$.focusedIndex})}}}});K.registerMethod("select",(...Q)=>{for(let G of Q)z(G);k()}),K.registerMethod("deselect",(...Q)=>{for(let G of Q)h(G);k()}),K.registerMethod("toggleSelect",(Q)=>{p(Q),k()}),K.registerMethod("selectAll",()=>{if(J!=="multiple")return;l(),k()}),K.registerMethod("clearSelection",()=>{P(),k()}),K.registerMethod("getSelected",()=>{return e2($.selected)}),K.registerMethod("getSelectedItems",()=>{return c()}),K.registerMethod("selectNext",()=>{D(K);let Q=w();if(Q===0)return;if(u2($,1,Q,W.reverse),X)$.focusedIndex=_($.focusedIndex,1,Q);let G=F($.focusedIndex);if(G)z(G.id,G);k()}),K.registerMethod("selectPrevious",()=>{D(K);let Q=w();if(Q===0)return;if(u2($,-1,Q,W.reverse),X)$.focusedIndex=_($.focusedIndex,-1,Q);let G=F($.focusedIndex);if(G)z(G.id,G);k()}),K.registerMethod("_seedSelection",(Q)=>{for(let G of Q)$.selected.add(G)}),K.registerMethod("_getFocusedId",()=>{if($.focusedIndex<0)return;return F($.focusedIndex)?.id}),K.registerMethod("_focusById",(Q)=>{let G=U.totalItems;for(let C=0;C<G;C++){let x=Z(C);if(x&&x.id===Q){let o=E?E(C):C;$.focusedIndex=o,A.emit("focus:change",{id:Q,index:o});return}}})},destroy(){T.clear()}}}var $0=(j)=>j==null?0:typeof j==="function"?j():j;function _0(j){let J=j?.scrollPadding,q,Y;return{name:"page",priority:5,setup($){let{dom:Z,sizeCache:B,config:A,emitter:L}=$,M=A.axis.primary==="x",U=window,r=$.getState();if($.disableDefaultScroll(),$.disableDefaultResize(),Z.root.style.overflow="visible",Z.root.style.height="auto",M)Z.viewport.style.overflowX="visible",Z.viewport.style.overflowY="visible";else Z.viewport.style.overflow="visible";Z.viewport.classList.remove(`${A.classPrefix}-viewport--custom-scrollbar`),$.setScrollFns(()=>{let y=Z.viewport.getBoundingClientRect();return Math.max(0,M?-y.left:-y.top)},(y)=>{let w=Z.viewport.getBoundingClientRect(),V=(M?w.left+U.scrollX:w.top+U.scrollY)+y;if(M)U.scrollTo({left:V,top:U.scrollY,behavior:"instant"});else U.scrollTo({left:U.scrollX,top:V,behavior:"instant"})}),r.containerSize=M?U.innerWidth:U.innerHeight,r.crossSize=M?U.innerHeight:U.innerWidth;let N=null,T=()=>{let y=Z.viewport.getBoundingClientRect(),w=Math.max(0,M?-y.left:-y.top);if(r.prevScrollPosition=r.scrollPosition,r.scrollPosition=w,r.scrollDirection=w>r.prevScrollPosition?1:w<r.prevScrollPosition?-1:0,$.onScrollFrame(),N!==null)clearTimeout(N);N=setTimeout(()=>{N=null,$.onScrollIdle()},150)};U.addEventListener("scroll",T,{passive:!0}),Y=()=>U.removeEventListener("scroll",T);let{innerWidth:H,innerHeight:E}=U,X=()=>{let{innerWidth:y,innerHeight:w}=U;if((M?Math.abs(y-H):Math.abs(w-E))<1)return;H=y,E=w,r.containerSize=M?y:w,r.crossSize=M?w:y,$.forceRender(),L.emit("resize",{width:y,height:w})};if(U.addEventListener("resize",X),q=()=>U.removeEventListener("resize",X),J)$.setScrollToPosFn((y,w,V,D,O)=>{let F=$0(M?J.left:J.top),_=$0(M?J.right:J.bottom);if(D===0)return 0;let z=Math.max(0,Math.min(y,D-1)),p=w.getOffset(z),P=w.getSize(z),h=w.getTotalSize(),u=Math.max(0,h-V+_),l;switch(O){case"center":l=p-F-(V-F-_-P)/2;break;case"end":l=p-V+P+_;break;default:l=p-F}return Math.max(-F,Math.min(l,u))}),$.registerMethod("_scrollItemIntoView",(y)=>{let w=M?U.innerWidth:U.innerHeight,V=$0(M?J.left:J.top),D=$0(M?J.right:J.bottom),O=Z.viewport.getBoundingClientRect(),F=M?U.scrollX:U.scrollY,_=M?O.left:O.top,z=_+F,p=B.getOffset(y),P=B.getSize(y),h=_+p,u=w-D,l=F;if(h<V)l=z+p-V;else if(h+P>u)l=z+p+P-u;if(l!==F)if(M)U.scrollTo({left:l,top:U.scrollY,behavior:"instant"});else U.scrollTo({left:U.scrollX,top:l,behavior:"instant"})});$.registerDestroyHandler(()=>{if(Y?.(),q?.(),N!==null)clearTimeout(N)})},destroy(){Y?.(),q?.(),Y=void 0,q=void 0}}}var g1=(j)=>{try{let J=sessionStorage.getItem(j);if(!J)return;return JSON.parse(J)}catch{return}};function M0(j){let J=j?.autoSave,q=J?g1(J):j?.restore,Y=!1,$=null;return{name:"snapshots",priority:50,setup(Z){let{sizeCache:B,emitter:A}=Z,L=Z.getState(),M=()=>{let{scrollPosition:N,totalItems:T}=L,E=Z.getMethod("getSelected")?.();if(T===0){let _={index:0,offsetInItem:0,total:0};if(E?.length)_.selectedIds=E;return _}let X,y;if(L.isCompressed&&L.compressionRatio!==1){let _=L.totalSize,p=N/_*T;X=Math.max(0,Math.min(Math.floor(p),T-1)),y=(p-X)*B.getSize(X)}else X=B.indexAtOffset(N),y=N-B.getOffset(X);y=Math.max(0,y);let w={index:X,offsetInItem:y,total:T,scrollTop:N},V=B.getSize(X);if(V)w.offsetRatio=y/V;let D=Z.getMethod("_layoutToDataIndex");if(D){let _=D(X);if(_<0){for(let z=X+1;z<T;z++)if(_=D(z),_>=0)break}if(_>=0)w.dataIndex=_}let O=Z.getMethod("_getTotal");if(O)w.dataTotal=O();if(E?.length)w.selectedIds=E;let F=Z.getMethod("_getFocusedId");if(F){let _=F();if(_!==void 0)w.focusedId=_}return w};Z.registerMethod("getScrollSnapshot",M);let U=(N,T=!0)=>{let{index:H,offsetInItem:E,selectedIds:X,focusedId:y}=N,w=L.totalItems,V=N.dataTotal??N.total;if(w===0&&V&&V>0){let k=Z.getMethod("_setTotal");if(k)k(V),w=L.totalItems;B.rebuild(w);let R=Z.getMethod("_updateCompressionMode");if(R)R();if(!L.isCompressed)Z.updateContentSize(B.getTotalSize()),L.totalSize=B.getTotalSize()}if(w===0)return;if(!Number.isFinite(H)||!Number.isFinite(E))return;if(B.getTotal()!==w){B.rebuild(w);let k=Z.getMethod("_updateCompressionMode");if(k)k();if(!L.isCompressed)Z.updateContentSize(B.getTotalSize()),L.totalSize=B.getTotalSize()}let O=Z.getMethod("_dataToLayoutIndex"),F=H;if(N.dataIndex!==void 0&&N.dataIndex>=0)F=O?O(N.dataIndex):N.dataIndex;else if(O)F=O(H);let _=Math.max(0,Math.min(F,w-1)),z=B.getSize(_),p=N.offsetRatio!==void 0?N.offsetRatio*z:Math.min(E,z),P;if(L.isCompressed&&L.compressionRatio!==1){let k=Z.getMethod("_getTotal")?.(),R=k!==void 0&&N.dataTotal===k;if(N.scrollTop!==void 0&&(N.total===w||R))P=N.scrollTop;else{let v=z?p/z:0;P=(_+v)/w*L.totalSize}}else P=B.getOffset(_)+p;let h=Math.max(0,L.totalSize-L.containerSize);P=Math.max(0,Math.min(P,h));let u=P===N.scrollTop;if(N.dataIndex!==void 0&&N.dataIndex>=0){let k=z?p/z:0;Z.registerMethod("_restoreAnchor",{dataIndex:N.dataIndex,fraction:k,skipAdjust:u}),Z.registerMethod("_suppressSave",1)}if(Z.scrollTo(P),T&&X?.length){let k=Z.getMethod("select");if(k)k(...X)}let l=Z.getMethod("loadVisibleRange"),c=()=>{if(y===void 0)return;let k=Z.getMethod("_focusById");if(k)k(y)};if(l){let k=0,R=()=>{if(L.containerSize>0){if(Math.abs(L.scrollPosition-P)>1)Z.scrollTo(P);l().then(c)}else if(++k<10)requestAnimationFrame(R)};requestAnimationFrame(R)}else{let k=Z.getMethod("reload");if(k)requestAnimationFrame(()=>{k().then(c)});else requestAnimationFrame(c)}};Z.registerMethod("restoreScroll",U);let r=!!(q&&J);if(Z.registerDestroyHandler(()=>{Y=!0}),J){$=()=>{if(Y||r||Z.getMethod("_suppressSave"))return;let w=M();try{sessionStorage.setItem(J,JSON.stringify(w))}catch{}},Z.registerMethod("_saveSnapshot",$);let N=0,T=()=>{if(N)return;N=requestAnimationFrame(()=>{if(N=0,$)$()})};A.on("selection:change",T),A.on("focus:change",T);let H=0,E=()=>{if(H=0,$)$()},X=()=>{if(H)clearTimeout(H);H=setTimeout(E,300)};A.on("scroll",X);let y=()=>{$?.()};if(window.addEventListener("beforeunload",y),Z.registerDestroyHandler(()=>{if(N)cancelAnimationFrame(N);if(H)clearTimeout(H);window.removeEventListener("beforeunload",y)}),q&&q.total&&q.total>0){let w=Z.getMethod("_cancelAutoLoad");if(w)w();let V=Z.getMethod("_setTotal");if(V)V(q.total)}}if(q){let N=!0;if(q.selectedIds?.length){let T=Z.getMethod("_seedSelection");if(T)T(q.selectedIds),N=!1}queueMicrotask(()=>{if(U(q,N),r=!1,$)$()})}},hooks:{onIdle(){if($&&!Y)$()}},destroy(){Y=!0,$=null}}}function q1(j,J){if(J===!1)return null;return{duration:Math.min(J?.duration??j.duration,1000),easing:J?.easing??j.easing}}function G0(j){let J=j?.duration??200,q=j?.easing??"cubic-bezier(0.2, 0, 0, 1)",Y={duration:J,easing:q},$=q1(Y,j?.remove),Z=q1(Y,j?.insert),B=null,A=null;return{name:"transition",conflicts:["grid","table","masonry"],priority:45,setup(L){let{sizeCache:M,emitter:U}=L,r=L.config,N=L.dom,T=L.getState(),H=r.reverse?"bottom center":"top center",E=r.axis.primary==="x"?"translateX":"translateY",X=L.getMethod("_dataToLayoutIndex")??null,y=(D)=>X?X(D):D,w=(D)=>{let O=String(D).replace(/"/g,"\\\""),F=N.content.querySelector(`[data-id="${O}"]`),_=F?parseInt(F.dataset.index??"-1",10):-1;return{el:F,layoutIndex:_}},V=()=>{let D=N.content.children;for(let O=0;O<D.length;O++)D[O].style.transition="none";N.content.offsetHeight;for(let O=0;O<D.length;O++)D[O].style.transition=""};if($){let D=(F)=>{if(B)B();let _=typeof document<"u"?document.activeElement:null,z=_&&N.content.contains(_)?parseInt(_.dataset?.index??"-1",10):-1,p=w(F),P=p.layoutIndex,h=p.el,u=P>=0?M.getSize(P):0,l=P>=0?M.getOffset(P):0;if(!h||P<0){if(L.removeItemById(F)<0)return!1;if(L.forceRender(),V(),U.emit("data:change",{type:"remove",id:F}),z>=0){let x=T.totalItems;if(x>0)L.getRenderedElement(Math.min(z,x-1))?.focus()}return U.emit("remove:end",{id:F}),!0}let c=h.cloneNode(!0);c.style.pointerEvents="none",c.style.overflow="hidden",c.removeAttribute("data-index"),c.removeAttribute("data-id"),c.removeAttribute("id"),c.removeAttribute("aria-selected"),c.classList.remove(`${r.classPrefix}-item--selected`);let k=r.axis.primary==="x"?"scrollLeft":"scrollTop",R=N.viewport[k];if(L.removeItemById(F)<0)return!1;L.forceRender(),V(),U.emit("data:change",{type:"remove",id:F});let K=R-N.viewport[k];c.style.zIndex="1",N.content.appendChild(c);let W=$,b={duration:W.duration,easing:W.easing},S=[],i=Math.round(l-K);S.push(c.animate([{transform:`${E}(${i}px) scaleY(1)`,opacity:1,transformOrigin:H},{transform:`${E}(${Math.round(l)}px) scaleY(0)`,opacity:0,transformOrigin:H}],b));let s=K>0,g=N.content.children;for(let C=0;C<g.length;C++){let x=g[C];if(x===c)continue;let o=parseInt(x.dataset?.index??"-1",10);if(o<0||!s&&o<P)continue;let I=M.getOffset(o),m=o>=P?Math.round(I+u-K):Math.round(I-K),a=Math.round(I);if(m===a)continue;S.push(x.animate([{transform:`${E}(${m}px)`},{transform:`${E}(${a}px)`}],b))}let Q=!1,G=()=>{if(Q)return;Q=!0,B=null,c.remove();for(let C of S)if(C.playState!=="finished")C.cancel();if(z>=0){let C=T.totalItems;if(C>0)L.getRenderedElement(Math.min(z,C-1))?.focus()}U.emit("remove:end",{id:F})};return B=G,Promise.all(S.map((C)=>C.finished)).then(G,G),setTimeout(G,W.duration+50),!0},O=(F)=>{if(F.length===0)return 0;if(F.length===1)return D(F[0])?1:0;if(B)B();if(A)A();let _=typeof document<"u"?document.activeElement:null,z=_&&N.content.contains(_)?parseInt(_.dataset?.index??"-1",10):-1,p=[];for(let Q of F){let G=w(Q);p.push({id:Q,layoutIndex:G.layoutIndex,el:G.el,size:G.layoutIndex>=0?M.getSize(G.layoutIndex):0,offset:G.layoutIndex>=0?M.getOffset(G.layoutIndex):0})}p.sort((Q,G)=>G.layoutIndex-Q.layoutIndex);let P=[];for(let Q of p){if(!Q.el||Q.layoutIndex<0)continue;let G=Q.el.cloneNode(!0);G.style.pointerEvents="none",G.style.overflow="hidden",G.removeAttribute("data-index"),G.removeAttribute("data-id"),G.removeAttribute("id"),G.removeAttribute("aria-selected"),G.classList.remove(`${r.classPrefix}-item--selected`),P.push({clone:G,offset:Q.offset,size:Q.size,layoutIndex:Q.layoutIndex})}let h=new Map,u=N.content.children;for(let Q=0;Q<u.length;Q++){let G=u[Q],C=G.dataset?.id,x=parseInt(G.dataset?.index??"-1",10);if(C&&x>=0)h.set(C,M.getOffset(x))}let l=r.axis.primary==="x"?"scrollLeft":"scrollTop",c=N.viewport[l],k=[];for(let Q of p)if(L.removeItemById(Q.id)>=0)k.push(Q.id);if(k.length===0)return 0;L.forceRender(),V();for(let Q of k)U.emit("data:change",{type:"remove",id:Q});if(P.length===0){if(z>=0){let Q=T.totalItems;if(Q>0)L.getRenderedElement(Math.min(z,Q-1))?.focus()}for(let Q of k)U.emit("remove:end",{id:Q});return k.length}let R=c-N.viewport[l],v=$,K={duration:v.duration,easing:v.easing},W=[];P.sort((Q,G)=>Q.layoutIndex-G.layoutIndex);let b=0;for(let Q of P){Q.clone.style.zIndex="1",N.content.appendChild(Q.clone);let G=Math.round(Q.offset-R),C=Math.round(Q.offset-b);W.push(Q.clone.animate([{transform:`${E}(${G}px) scaleY(1)`,opacity:1,transformOrigin:H},{transform:`${E}(${C}px) scaleY(0)`,opacity:0,transformOrigin:H}],K)),b+=Q.size}let S=new Set(P.map((Q)=>Q.clone)),i=N.content.children;for(let Q=0;Q<i.length;Q++){let G=i[Q];if(S.has(G))continue;let C=G.dataset?.id,x=parseInt(G.dataset?.index??"-1",10);if(!C||x<0)continue;let o=h.get(C);if(o===void 0)continue;let I=M.getOffset(x),m=Math.round(o-R),a=Math.round(I);if(m===a)continue;W.push(G.animate([{transform:`${E}(${m}px)`},{transform:`${E}(${a}px)`}],K))}let s=!1,g=()=>{if(s)return;s=!0,B=null;for(let{clone:Q}of P)Q.remove();for(let Q of W)if(Q.playState!=="finished")Q.cancel();if(z>=0){let Q=T.totalItems;if(Q>0)L.getRenderedElement(Math.min(z,Q-1))?.focus()}for(let Q of k)U.emit("remove:end",{id:Q})};return B=g,Promise.all(W.map((Q)=>Q.finished)).then(g,g),setTimeout(g,v.duration+50),k.length};L.registerMethod("removeItem",D),L.registerMethod("removeItems",O)}if(Z){let D=(O,F)=>{if(A)A();if(B)B();let _=F??0,z=new Map,p=N.content.children;for(let Q=0;Q<p.length;Q++){let G=p[Q],C=G.dataset?.id,x=parseInt(G.dataset?.index??"-1",10);if(C&&x>=0)z.set(C,M.getOffset(x))}let P=r.axis.primary==="x"?"scrollLeft":"scrollTop",h=r.axis.primary==="x"?"scrollWidth":"scrollHeight",u=r.axis.primary==="x"?"clientWidth":"clientHeight",l=N.viewport[P],c=N.viewport[h]-N.viewport[u],k=l>=c-1;L.insertItemAt(O,_),L.forceRender(),V(),U.emit("data:change",{type:"insert",id:O.id});let R=N.viewport[P]-l,v=y(_);if(r.reverse&&R===0&&k){N.viewport[P]=N.viewport[h]-N.viewport[u];let Q=N.viewport[P];if(T.prevScrollPosition=T.scrollPosition,T.scrollPosition=Q,R=Q-l,R>0)L.forceRender(),V()}let K=L.getRenderedElement(v),W=Z,b={duration:W.duration,easing:W.easing},S=[];if(K){let Q=M.getOffset(v);S.push(K.animate([{transform:`${E}(${Math.round(Q)}px) scaleY(0)`,opacity:0,transformOrigin:H},{transform:`${E}(${Math.round(Q)}px) scaleY(1)`,opacity:1,transformOrigin:H}],b))}let i=N.content.children;for(let Q=0;Q<i.length;Q++){let G=i[Q];if(G===K)continue;let C=G.dataset?.id,x=parseInt(G.dataset?.index??"-1",10);if(!C||x<0)continue;let o=z.get(C);if(o===void 0)continue;let I=M.getOffset(x),m=Math.round(o+R),a=Math.round(I);if(m===a)continue;S.push(G.animate([{transform:`${E}(${m}px)`},{transform:`${E}(${a}px)`}],b))}if(S.length===0)return;let s=!1,g=()=>{if(s)return;s=!0,A=null;for(let Q of S)if(Q.playState!=="finished")Q.cancel()};A=g,Promise.all(S.map((Q)=>Q.finished)).then(g,g),setTimeout(g,W.duration+50)};L.registerMethod("insertItem",D)}},destroy(){if(B)B();if(A)A()}}}function X0(j){let J=j?.gap??0,q=null,Y=null,$,Z,B,A,L=new Map,M=new WeakMap,U=0,r=!1,N=!1,T=!1,H=2;function E(V){return L.get(V)??A}function X(){let V=Y.dom.viewport,D=V.scrollHeight-V.clientHeight;return D>0&&$.scrollPosition>=D-H}function y(){let V=Y.dom.viewport;V.scrollHeight;let D=V.scrollHeight-V.clientHeight;if(D>$.scrollPosition)Y.scrollTo(D)}function w(){Y.updateContentSize(Y.sizeCache.getTotalSize())}return{name:"autosize",priority:5,setup(V){if(Y=V,$=V.getState(),Z=V.config.axis.primary==="x",B=Z?"width":"height",J===0)J=V.config.gap;if(A=typeof V.rawSizeSpec==="function"?V.rawSizeSpec(0)+J:V.rawSizeSpec+J,V.setSizeConfig(E),J>0){let F=V.sizeCache.getTotalSize;V.sizeCache.getTotalSize=()=>{let _=F();return _>0?_-J:0}}q=new ResizeObserver((F)=>{if($.destroyed||!Y)return;let _=!1,z=V.sizeCache.indexAtOffset($.scrollPosition);for(let l of F){let c=l.target,k=M.get(c);if(k===void 0)continue;if(c.getAttribute("data-index")!==String(k)){q.unobserve(c);continue}if(L.has(k))continue;let R=l.borderBoxSize[0];if(!R)continue;let v=Z?R.inlineSize:R.blockSize;if(v<=0)continue;let K=v+J,W=A;if(L.set(k,K),_=!0,k<z&&K!==W)U+=K-W;q.unobserve(c),c.style[B]=`${v}px`}if(!_)return;let p=X();if(V.rebuildSizeCache(),U)V.scrollTo($.scrollPosition+U),U=0;let P=$.scrollDirection!==0,h=$.totalItems>0&&$.prevRangeEnd>=$.totalItems-1,u=N&&!T;if(u||p||h||!P){if(w(),r=!1,u||p)y()}else r=!0;V.forceRender()}),V.setScrollToIndexFn((F,_,z,p,P)=>{let h=F>=$.totalItems-1&&_==="end";if(N=h,T=!1,!h)return!1;let u=V.config.mainAxisPadding,l=()=>{let c=V.sizeCache.getTotalSize();return Math.max(0,c+u-$.containerSize)};if(z==="smooth")T=!0,V.smoothScrollTo(l,p??300,P,()=>{T=!1});else V.scrollTo(l())});let D=()=>{N=!1},O=V.dom.viewport;O.addEventListener("wheel",D,{passive:!0}),O.addEventListener("touchstart",D,{passive:!0}),V.registerDestroyHandler(()=>{O.removeEventListener("wheel",D),O.removeEventListener("touchstart",D)}),V.registerMethod("isMeasured",(F)=>L.has(F)),V.registerMethod("setMeasuredSize",(F,_)=>{L.set(F,_)}),V.registerMethod("getMeasuredCount",()=>L.size),V.registerDestroyHandler(()=>{if(q)q.disconnect(),q=null})},hooks:{onCommit(V){if(!q||!Y)return;for(let D=0;D<V.visibleCount;D++){let O=V.visibleIndices[D];if(L.has(O))continue;let F=Y.getRenderedElement(O);if(!F)continue;F.style[B]="",M.set(F,O),q.observe(F)}},onIdle(){if(!Y||!r)return;let V=X();if(w(),r=!1,V)y(),Y.forceRender()}},destroy(){if(q)q.disconnect(),q=null;L.clear(),N=!1,T=!1,Y=null}}}var Y1=(j)=>{let J=Math.max(1,Math.floor(j.columns)),q=j.gap??0,Y=j.containerSize,$=0,Z=[],B=()=>{let E=(J-1)*q;$=Math.max(0,(Y-E)/J),Z=Array(J);let X=$+q;for(let y=0;y<J;y++)Z[y]=y*X};B();let A=[],L=0,M=[],U=(E,X)=>{if(E<=0)return L=0,A=[],[];let y=Array(J).fill(0),w=Array(J);for(let O=0;O<J;O++)w[O]=[];let V=Array(E);for(let O=0;O<E;O++){let F=0,_=y[0];for(let P=1;P<J;P++){let h=y[P];if(h<_)_=h,F=P}let z=X(O),p=y[F];V[O]={index:O,x:Z[F],y:p,lane:F,size:z,crossSize:$},w[F].push(O),y[F]=p+z+q}A=w;let D=0;for(let O=0;O<J;O++){let F=y[O],_=F>0?F-q:0;if(_>D)D=_}return L=D,V},r=(E)=>{if(E.length===0)return L;if(L)return L;let X=Array(J).fill(0);for(let w of E){let V=w.y+w.size,D=X[w.lane];if(V>D)X[w.lane]=V}let y=0;for(let w=0;w<J;w++)if(X[w]>y)y=X[w];return y},N=(E,X,y)=>{if(E.length===0||y<=X)return M.length=0,M;if(A.length===0||A.length!==J)return T(E,X,y);M.length=0;for(let w=0;w<J;w++){let V=A[w],D=V.length;if(!D)continue;let O=0,F=D;while(O<F){let _=O+F>>>1,z=E[V[_]];if(z.y+z.size<=X)O=_+1;else F=_}for(let _=O;_<D;_++){let z=E[V[_]];if(z.y>=y)break;M.push(z)}}return M},T=(E,X,y)=>{M.length=0;for(let w of E)if(w.y+w.size>X&&w.y<y)M.push(w);return M};return{get columns(){return J},get gap(){return q},get containerSize(){return Y},update:(E)=>{let X=!1;if(E.columns!==void 0){let y=Math.max(1,Math.floor(E.columns));if(y!==J)J=y,X=!0}if(E.gap!==void 0&&E.gap!==q)q=E.gap,X=!0;if(E.containerSize!==void 0&&E.containerSize!==Y)Y=E.containerSize,X=!0;if(X)B()},calculateLayout:U,getTotalSize:r,getVisibleItems:N}};var Z1=(j,J,q)=>{let Y=Array.from(J).sort((B,A)=>B-A);if(Y.length<=1)return;let $=[];for(let B=0;B<Y.length;B++){let A=q(Y[B]);if(A)$.push(A)}if($.length<=1)return;let Z=j.firstChild;for(let B=0;B<$.length;B++){let A=$[B];if(A===Z)Z=Z.nextSibling;else j.insertBefore(A,Z)}};var x1=(j=200)=>{let J=[];return{acquire:()=>{let Z=J.pop();if(Z)return Z;let B=document.createElement("div");return B.setAttribute("role","option"),B},release:(Z)=>{if(Z.remove(),J.length<j)Z.className="",Z.textContent="",Z.removeAttribute("style"),Z.removeAttribute("data-index"),Z.removeAttribute("data-id"),Z.removeAttribute("data-lane"),J.push(Z)},clear:()=>{J.length=0}}},m1=1,K1=(j,J,q,Y=!1,$,Z,B,A)=>{let L=x1(),M=new Map,U=new Set,r=0,N="",T=-1,H={selected:!1,focused:!1},E=(c,k)=>{return H.selected=c,H.focused=k,H},X=`${q}-item ${q}-masonry-item`,y=`${q}-group-header`,w=`${q}-item--selected`,V=`${q}-item--focused`,D=(c,k)=>{if(typeof k==="string")c.innerHTML=k;else c.replaceChildren(k)},O=(c,k,R)=>{c.classList.toggle(w,k),c.classList.toggle(V,R)},F=(c,k)=>{if(Y)c.style.transform=`translate(${Math.round(k.y)}px, ${Math.round(k.x)}px)`;else c.style.transform=`translate(${Math.round(k.x)}px, ${Math.round(k.y)}px)`},_=(c,k)=>{if(Y)c.style.width=`${k.size}px`,c.style.height=`${k.crossSize}px`;else c.style.width=`${k.crossSize}px`,c.style.height=`${k.size}px`},z=(c,k,R,v,K)=>{let W=L.acquire(),b=k.__groupHeader,S=E(v,K);if(W.className=b?y:X,W.dataset.index=String(c),W.dataset.id=String(k.id),W.dataset.lane=String(R.lane),b)W.setAttribute("role","presentation"),W.removeAttribute("aria-selected"),W.removeAttribute("aria-setsize"),W.removeAttribute("aria-posinset"),W.removeAttribute("id");else if(A!==!1){if(W.setAttribute("role","option"),W.ariaSelected=String(v),Z)W.id=`${Z}-item-${c}`;if($){let s=$();if(s!==T)T=s,N=String(s);W.setAttribute("aria-setsize",N);let g=B?B(c):c+1;W.setAttribute("aria-posinset",String(g))}}else if(W.setAttribute("role","listitem"),W.removeAttribute("aria-selected"),$){let s=$();if(s!==T)T=s,N=String(s);W.setAttribute("aria-setsize",N);let g=B?B(c):c+1;W.setAttribute("aria-posinset",String(g))}_(W,R);let i=J(k,c,S);return D(W,i),O(W,v,K),F(W,R),{element:W,lastItem:k,lastSelected:v,lastFocused:K,lastY:R.y,lastX:R.x,lastSize:R.size,lastCrossSize:R.crossSize,lastSeenFrame:r}},p=(c,k,R,v)=>{r++,U.clear();for(let W=0;W<k.length;W++)U.add(k[W].index);for(let[W,b]of M)if(U.has(W))b.lastSeenFrame=r;else if(r-b.lastSeenFrame>m1)L.release(b.element),M.delete(W);let K=null;for(let W=0;W<k.length;W++){let b=k[W],S=b.index,i=c(S);if(!i)continue;let s=R.has(i.id),g=S===v,Q=M.get(S);if(Q){let G=Q.lastItem!==i,C=Q.lastSelected!==s,x=Q.lastFocused!==g,o=Q.lastY!==b.y||Q.lastX!==b.x,I=Q.lastSize!==b.size||Q.lastCrossSize!==b.crossSize;if(G){let m=E(s,g),a=J(i,S,m);if(D(Q.element,a),Q.element.dataset.id=String(i.id),Q.lastItem=i,!i.__groupHeader){let t=B?B(S):S+1;Q.element.setAttribute("aria-posinset",String(t))}}if(G||C||x)O(Q.element,s,g),Q.element.ariaSelected=String(s),Q.lastSelected=s,Q.lastFocused=g;if(I)_(Q.element,b),Q.lastSize=b.size,Q.lastCrossSize=b.crossSize;if(o)F(Q.element,b),Q.lastY=b.y,Q.lastX=b.x}else{let G=z(S,i,b,s,g);if(!K)K=document.createDocumentFragment();K.appendChild(G.element),M.set(S,G)}}if(K)j.appendChild(K)},P=()=>{for(let c of M.values())L.release(c.element);M.clear(),j.innerHTML=""};return{render:p,getElement:(c)=>M.get(c)?.element,updateItemClasses:(c,k,R)=>{let v=M.get(c);if(!v)return;let K=v.lastSelected!==k,W=v.lastFocused!==R;if(K||W)O(v.element,k,R),v.lastSelected=k,v.lastFocused=R},sortDOM:()=>{Z1(j,M.keys(),(c)=>M.get(c)?.element)},clear:P,destroy:()=>{P(),L.clear()}}};var d1=100,c1=new Set;function A0(j){if(!j.columns||j.columns<1)throw Error("[vlist] masonry: columns must be >= 1");let J,q=null,Y,$=null,Z,B,A,L=[],M=-1,U=-1,r=!0,N=-1,T={columnWidth:0,columns:0,gap:0,containerWidth:0},H=[],E=(R)=>H[R],X=null,y=null,w=!1;function V(){if(w||!$)return;w=!0,X=$.getMethod("_getSelectedIds")??null,y=$.getMethod("_getFocusedIndex")??null}let D=[],O=new Int32Array(0),F=[];function _(){let R=J.columns,v=L.length;D=Array(R);for(let K=0;K<R;K++)D[K]=[];if(O.length<v)O=new Int32Array(v);for(let K=0;K<v;K++){let W=L[K],b=D[W.lane].length;D[W.lane].push(K),O[K]=b}F=Array(R);for(let K=0;K<R;K++){let W=D[K],b=new Float64Array(W.length);for(let S=0;S<W.length;S++){let i=L[W[S]];b[S]=i.y+i.size*0.5}F[K]=b}}function z(R,v){let K=R.length;if(!K)return-1;let W=0,b=K-1;while(W<b){let S=W+b>>1;if(R[S]<v)W=S+1;else b=S}if(W>0&&Math.abs(R[W-1]-v)<=Math.abs(R[W]-v))return W-1;return W}function p(R,v,K){let W=L[R];if(!W)return R;let b=W.lane,S=J.columns,i=O[R],s=D[b];switch(Z?v==="ArrowDown"?"ArrowRight":v==="ArrowUp"?"ArrowLeft":v==="ArrowRight"?"ArrowDown":v==="ArrowLeft"?"ArrowUp":v:v){case"ArrowDown":if(i+1<s.length)return s[i+1];return R;case"ArrowUp":if(i>0)return s[i-1];return R;case"ArrowRight":{if(b>=S-1)return R;let Q=b+1,G=W.y+W.size*0.5,C=D[Q];if(!C.length)return R;let x=z(F[Q],G);return x>=0?C[x]:R}case"ArrowLeft":{if(b<=0)return R;let Q=b-1,G=W.y+W.size*0.5,C=D[Q];if(!C.length)return R;let x=z(F[Q],G);return x>=0?C[x]:R}case"Home":return 0;case"End":return K-1;case"PageDown":{let Q=Y.containerSize,G=W.size>0?W.size:150,C=Math.max(1,Math.floor(Q/G)),x=Math.min(i+C,s.length-1);return s[x]}case"PageUp":{let Q=Y.containerSize,G=W.size>0?W.size:150,C=Math.max(1,Math.floor(Q/G)),x=Math.max(0,i-C);return s[x]}}return R}let P=null;function h(){if(j.size)return(R)=>j.size(R,T);if(P!==null&&typeof P==="function")return(R)=>P(R,T);return(R)=>$.sizeCache.getSize(R)}function u(){let{columns:R,gap:v}=J;T.containerWidth=J.containerSize,T.columns=R,T.gap=v,T.columnWidth=Math.max(0,(J.containerSize-(R-1)*v)/R)}function l(){if(!$)return;u();let R=Y.totalItems;L=J.calculateLayout(R,h()),N=R,_();let v=J.getTotalSize(L);$.updateContentSize(v)}function c(){if(Y.destroyed||!$||!q)return;if(Y.totalItems!==N)l();V();let{scrollPosition:R,containerSize:v}=Y;if(!r&&R===M&&v===U)return;if(M=R,U=v,r=!1,v<=0||L.length===0)return;let K=Math.max(0,R-A),W=R+v+A,b=J.getVisibleItems(L,K,W),S=X?.()??c1,i=y?.()??-1;H=$.getItems(),q.render(E,b,S,i);let s=b.length,g=s>0?b[0].index:0,Q=s>0?b[s-1].index:0;Y.prevRangeStart=g,Y.prevRangeEnd=Q,Y.renderPending=!1;let G=Math.min(s,Y.capacity);Y.visibleCount=G,Y.startIndex=g;for(let C=0;C<G;C++){let x=b[C];Y.visibleIndices[C]=x.index,Y.visibleOffsets[C]=x.y,Y.visibleSizes[C]=x.size}}function k(){if(Y.destroyed)return;l(),Y.prevRangeStart=-1,Y.prevRangeEnd=-1,Y.renderPending=!0,r=!0,c()}return{name:"masonry",priority:10,conflicts:["grid","table"],setup(R){if($=R,Y=R.getState(),P=R.rawSizeSpec,Z=R.config.axis.primary==="x",B=R.config.classPrefix,A=R.config.overscan*d1,R.config.reverse)throw Error("[vlist] masonry: cannot be combined with reverse mode");let v=Y.crossSize;J=Y1({columns:j.columns,gap:j.gap??0,containerSize:v}),q=K1(R.dom.content,R.template,B,Z,()=>Y.totalItems,void 0,void 0,R.config.interactive),R.dom.root.classList.add(`${B}--masonry`),R.setRenderFn(c,k),l(),R.registerMethod("getMasonryLayout",()=>J),R.registerMethod("updateMasonry",(K)=>{if(K.columns!==void 0&&K.columns<1)throw Error("[vlist] updateMasonry: columns must be >= 1");if(K.gap!==void 0&&K.gap<0)throw Error("[vlist] updateMasonry: gap must be >= 0");let W={};if(K.columns!==void 0)W.columns=K.columns;if(K.gap!==void 0)W.gap=K.gap;J.update(W),q?.clear(),k()}),R.registerMethod("scrollToIndex",(K,W="start")=>{let b=L[K];if(!b)return;let S=typeof W==="string"?W:W.align??"start",i=typeof W==="object"?W.behavior:void 0,s=typeof W==="object"?W.duration:void 0,g=Y.containerSize,Q=J.getTotalSize(L),G=Math.max(0,Q-g),C=b.y;if(S==="center")C=b.y-g/2+b.size/2;else if(S==="end"){if(C=b.y-g+b.size,K>=Y.totalItems-1&&b.y+b.size>G)C=G}if(C=Math.max(0,Math.min(C,G)),i==="smooth"&&s&&s>0)R.smoothScrollTo(C,s);else R.scrollTo(C)}),R.registerMethod("_scrollItemIntoView",(K)=>{let W=L[K];if(!W)return;let{scrollPosition:b,containerSize:S}=Y,i=W.y,s=i+W.size;if(i<b)R.scrollTo(Math.max(0,i));else if(s>b+S)R.scrollTo(s-S)}),R.setNavConfig({total:()=>Y.totalItems,navigate:p}),R.registerDestroyHandler(()=>{q?.destroy(),q=null,R.dom.root.classList.remove(`${B}--masonry`)})},hooks:{onResize(R,v){if(!J||!$)return;let K=Y.crossSize;if(Math.abs(K-J.containerSize)<1)return;J.update({containerSize:K}),q?.clear(),k()},onIdle(){q?.sortDOM()}},destroy(){q?.destroy(),q=null,L=[],$=null}}}var B1=(j={})=>{let{chunkSize:J=100,maxCachedItems:q=5000,evictionBuffer:Y=200,onEvict:$}=j,Z=new Map,B=0,A=0,L=(v)=>{let K=Z.get(v);if(!K)K={items:Array(J),count:0,lastAccess:Date.now()},Z.set(v,K);else K.lastAccess=Date.now();return K},M=(v)=>{return Math.floor(v/J)},U=(v)=>{return v%J},r=()=>B,N=(v)=>{B=v},T=(v)=>{if(v<0||v>=B)return;let K=M(v),W=Z.get(K);if(!W)return;return W.items[U(v)]},H=(v)=>{if(v<0||v>=B)return!1;let K=M(v),W=Z.get(K);if(!W)return!1;return W.items[U(v)]!==void 0},E=(v,K)=>{let W=M(v),b=L(W),S=U(v),i=b.items[S]===void 0;if(b.items[S]=K,i)b.count++,A++;if(v>=B)B=v+1},X=(v,K)=>{for(let W=0;W<K.length;W++){let b=K[W];if(b!==void 0)E(v+W,b)}},y=(v,K)=>{if(v<0||v>B)return;let W=M(v),b=Array.from(Z.keys()).filter((Q)=>Q>=W).sort((Q,G)=>Q-G),S=[];for(let Q of b){let G=Z.get(Q),C=Q*J;for(let x=0;x<J;x++){if(G.items[x]===void 0)continue;let o=C+x;if(o<v)continue;S.push({oldIndex:o,item:G.items[x]})}}for(let{oldIndex:Q}of S){let G=M(Q),C=Z.get(G);if(!C)continue;let x=U(Q);if(C.items[x]!==void 0){if(C.items[x]=void 0,C.count--,A--,C.count===0)Z.delete(G)}}B++;for(let{oldIndex:Q,item:G}of S){let C=Q+1,x=M(C),o=L(x),I=U(C);o.items[I]=G,o.count++,A++}let i=M(v),s=L(i),g=U(v);s.items[g]=K,s.count++,A++},w=(v)=>{if(v<0||v>=B)return!1;let K=M(v),W=Z.get(K),b=U(v);if(!(W!==void 0&&W.items[b]!==void 0))return!1;let i=K,s=Array.from(Z.keys()).filter((Q)=>Q>=i).sort((Q,G)=>Q-G),g=[];for(let Q of s){let G=Z.get(Q),C=Q*J;for(let x=0;x<J;x++){if(G.items[x]===void 0)continue;let o=C+x;if(o<=v)continue;g.push({oldIndex:o,item:G.items[x]})}}if(W.items[b]=void 0,W.count--,A--,W.count===0)Z.delete(K);for(let{oldIndex:Q}of g){let G=M(Q),C=Z.get(G);if(!C)continue;let x=U(Q);if(C.items[x]!==void 0){if(C.items[x]=void 0,C.count--,A--,C.count===0)Z.delete(G)}}for(let{oldIndex:Q,item:G}of g){let C=Q-1,x=M(C),o=L(x),I=U(C);o.items[I]=G,o.count++,A++}return B--,!0},V=(v,K)=>{let W=[];for(let b=v;b<=K&&b<B;b++)W.push(T(b));return W},D=(v,K)=>{for(let W=v;W<=K&&W<B;W++)if(!H(W))return!1;return!0},O=()=>{let v=[],K=null,W=Array.from(Z.keys()).sort((b,S)=>b-S);for(let b of W){let S=Z.get(b);if(!S)continue;let i=b*J;for(let s=0;s<J;s++){let g=i+s;if(g>=B)break;if(S.items[s]!==void 0)if(K===null)K={start:g,end:g};else if(g===K.end+1)K.end=g;else v.push(K),K={start:g,end:g};else if(K!==null)v.push(K),K=null}}if(K!==null)v.push(K);return v},F=(v,K)=>{let W=[],b=null;for(let S=v;S<=K&&S<B;S++)if(!H(S))if(b===null)b={start:S,end:S};else b.end=S;else if(b!==null)W.push(b),b=null;if(b!==null)W.push(b);return W},_=(v)=>{return Z.has(v)},z=(v)=>{let K=Z.get(v);if(!K)return!1;let W=v*J,b=Math.min(J,B-W);return K.count>=b},p=(v)=>{let K=Z.get(v);if(K)K.lastAccess=Date.now()},P=(v,K)=>{if(v>K||Z.size===0)return;let W=Date.now(),b=M(Math.max(0,v)),S=M(Math.min(B-1,K));for(let i=b;i<=S;i++){let s=Z.get(i);if(s)s.lastAccess=W}},h=(v,K)=>{if(A<=q)return 0;let W=Math.max(0,v-Y),b=Math.min(B-1,K+Y),S=M(W),i=M(b),s=0,g=[];for(let[Q,G]of Z)if(Q<S||Q>i)s+=G.count,g.push(Q),A-=G.count,Z.delete(Q);if(s>0&&$)$(s,g);return s},u=()=>{if(A<=q)return 0;let v=Array.from(Z.entries()).sort(([,b],[,S])=>b.lastAccess-S.lastAccess),K=0,W=[];for(let[b,S]of v){if(A<=q)break;K+=S.count,A-=S.count,W.push(b),Z.delete(b)}if(K>0&&$)$(K,W);return K},l=()=>{return{totalItems:B,cachedItems:A,cachedChunks:Z.size,chunkSize:J,maxCachedItems:q,memoryEfficiency:B>0?1-A/B:1}},c=()=>A,k=()=>{Z.clear(),A=0};return{chunkSize:J,maxCachedItems:q,getTotal:r,setTotal:N,get:T,has:H,set:E,setRange:X,insert:y,delete:w,getRange:V,isRangeLoaded:D,getLoadedRanges:O,findUnloadedRanges:F,getChunkIndex:M,isChunkLoaded:_,isChunkFullyLoaded:z,touchChunk:p,touchChunksForRange:P,evictDistant:h,evictToLimit:u,getStats:l,getCachedCount:c,clear:k,reset:()=>{k(),B=0}}};var U1=(j={})=>{let{maskCharacter:J=w0,maxSampleSize:q=v0}=j,Y=[],$=!1,Z=(U)=>{if($||U.length===0)return;let r=Math.min(U.length,q);for(let N=0;N<r;N++){let T=U[N];if(!T||typeof T!=="object")continue;let H={},E=!1;for(let[X,y]of Object.entries(T)){if(X.startsWith("_")||X==="id")continue;H[X]=String(y??"").length,E=!0}if(E)Y.push(H)}$=!0},B=()=>$,A=(U)=>{let r={id:`${f2}${U}`,[j0]:!0,_index:U};if(Y.length===0)return r.label=J.repeat(12),r;let N=Y[U%Y.length];for(let[T,H]of Object.entries(N))r[T]=J.repeat(Math.max(1,H));return r};return{analyzeStructure:Z,hasAnalyzedStructure:B,generate:A,generateRange:(U,r)=>{let N=[];for(let T=U;T<=r;T++)N.push(A(T));return N},clear:()=>{Y=[],$=!1}}},J0=(j)=>{if(!j||typeof j!=="object")return!1;return j[j0]===!0};var l1=50,W1=(j={})=>{let{adapter:J,initialItems:q,initialTotal:Y,storage:$,placeholder:Z,pageSize:B=l1,maxConcurrent:A=0,onStateChange:L,onDataChange:M,onItemsLoaded:U,onItemsEvicted:r}=j,N=B1({...$,onEvict:(J2,n)=>{r?.(J2),P(),p()}}),T=null,H=()=>{if(!T)T=U1(Z);return T},E=new Map,X=!1,y,w=!0,V,D,O=[],F=0,_=new Map,z=()=>{for(let J2 of _.values())J2[1].abort();_.clear()},p=()=>{L?.(W())},P=()=>{M?.()},h=()=>{E.clear();let J2=N.getLoadedRanges();for(let n of J2)for(let $2=n.start;$2<=n.end;$2++){let B2=N.get($2);if(B2&&!J0(B2))E.set(B2.id,$2)}},u=(J2,n)=>{if(!J0(n))E.set(n.id,J2)},l=(J2)=>{E.delete(J2)},c=(J2,n)=>{return`${J2}-${n}`},k=()=>N.getTotal(),R=()=>N.getCachedCount(),v=()=>X,K=()=>w,W=()=>({total:N.getTotal(),cached:N.getCachedCount(),isLoading:X,pendingRanges:O,error:y,hasMore:w,cursor:V}),b=()=>N,S=()=>H(),i=(J2)=>{let n=N.get(J2);if(n!==void 0)return n;if(J2>=0&&J2<N.getTotal())return H().generate(J2);return},s=(J2)=>{let n=E.get(J2);if(n===void 0)return;return N.get(n)},g=(J2)=>{return E.get(J2)??-1},Q=(J2)=>{let n=N.get(J2);return n!==void 0&&!J0(n)},G=(J2,n)=>{let $2=[],B2=N.getTotal();N.touchChunksForRange(J2,Math.min(n,B2-1));for(let U2=J2;U2<=n&&U2<B2;U2++){let Y2=N.get(U2);if(Y2!==void 0)$2.push(Y2);else $2.push(H().generate(U2))}return $2},C=(J2)=>{N.setTotal(J2),w=N.getCachedCount()<J2,P(),p()},x=(J2,n=0,$2)=>{if(J&&J2.length>0){let B2=H();if(!B2.hasAnalyzedStructure())B2.analyzeStructure(J2)}for(let B2=0;B2<J2.length;B2++){let U2=J2[B2];if(U2!==void 0){let Y2=n+B2;N.set(Y2,U2),u(Y2,U2)}}if($2!==void 0)N.setTotal($2);else if(n+J2.length>N.getTotal())N.setTotal(n+J2.length);if(N.getCachedCount()>=N.getTotal()&&N.getTotal()>0)w=!1;P(),p(),U?.(J2,n,N.getTotal())},o=(J2,n)=>{let $2=N.get(J2);if(!$2)return!1;let B2=$2.id,U2={...$2,...n};if(N.set(J2,U2),n.id!==void 0&&n.id!==B2)l(B2);return u(J2,U2),P(),p(),!0},I=(J2,n)=>{N.insert(n,J2),h(),z(),P(),p()},m=(J2)=>{let n=E.get(J2);if(n===void 0)return!1;if(!N.delete(n))return!1;return h(),z(),P(),p(),!0},a=async(J2,n)=>{if(!J)return;let $2=N.chunkSize,B2=Math.floor(J2/$2),U2=Math.floor(n/$2),Y2=$2*2;for(let[X2,b2]of _){let F2=X2.indexOf("-"),y2=parseInt(X2.slice(0,F2),10);if(Math.abs(y2-J2)>Y2)b2[1].abort(),_.delete(X2)}let A2=[],L2=[];for(let X2=B2;X2<=U2;X2++){let b2=X2*$2,F2=b2+$2-1,y2=c(b2,F2);if(N.isChunkFullyLoaded(X2))continue;let k2=_.get(y2);if(k2)L2.push(k2[0]);else A2.push({start:b2,end:F2})}if(A2.length===0){if(L2.length>0)await Promise.all(L2);return}if(A>0){let X2=_.size+A2.length;if(X2>A){let b2=(J2+n)/2,F2=Math.min(X2-A,_.size);while(F2>0){let D2=null,k2=-1,H2=null;for(let[z2,N2]of _){let O2=z2.indexOf("-"),R2=parseInt(z2.slice(0,O2),10),P2=parseInt(z2.slice(O2+1),10),Z2=Math.abs((R2+P2)/2-b2);if(Z2>k2)k2=Z2,D2=z2,H2=N2[1]}if(D2)H2.abort(),_.delete(D2);F2--}let y2=A-_.size;if(A2.length>y2)A2.sort((D2,k2)=>{let H2=Math.abs((D2.start+D2.end)/2-b2),z2=Math.abs((k2.start+k2.end)/2-b2);return H2-z2}),A2.length=Math.max(0,y2)}}if(A2.length===0){if(L2.length>0)await Promise.all(L2);return}for(let X2 of A2){let b2=c(X2.start,X2.end),F2=new AbortController,y2=(async()=>{O.push(X2),X=!0,y=void 0,p();try{let D2=X2.end-X2.start+1,k2={offset:X2.start,limit:D2,cursor:X2.start===D?V:void 0,signal:F2.signal},H2=await J.read(k2);if(x(H2.items,X2.start,H2.total),H2.cursor)V=H2.cursor,D=X2.start+H2.items.length;let z2=X2.start+H2.items.length;if(z2>=F){if(F=z2,H2.hasMore!==void 0)w=H2.hasMore;else if(H2.total!==void 0)w=z2<H2.total}}catch(D2){if(D2?.name==="AbortError")return;y=D2 instanceof Error?D2:Error(String(D2))}finally{_.delete(b2);let D2=O.findIndex((k2)=>k2.start===X2.start&&k2.end===X2.end);if(D2>=0)O.splice(D2,1);X=_.size>0,p()}})();_.set(b2,[y2,F2]),L2.push(y2)}await Promise.all(L2)},e=async(J2,n)=>{if(N.isRangeLoaded(J2,n))return;await a(J2,n)},t=async()=>{if(!J)return;await a(0,B-1)},q2=async()=>{if(!J||X||!w)return!1;let J2=N.getCachedCount(),n=N.getTotal(),$2=J2,B2=Math.min($2+B-1,n>0?n-1:$2+B-1);if($2>=n&&n>0)return w=!1,!1;return await a($2,B2),N.getCachedCount()>J2},K2=async()=>{if(N.clear(),N.setTotal(0),E.clear(),T)T.clear();z(),O=[],X=!1,V=void 0,D=void 0,w=!0,F=0,y=void 0,P(),p()},G2=(J2,n)=>{if(N.evictDistant(J2,n)>0)h()},M2=()=>{N.clear(),E.clear(),V=void 0,D=void 0,y=void 0,O=[],X=!1,P(),p()},W2=()=>{if(N.reset(),E.clear(),T)T.clear();V=void 0,D=void 0,w=!0,F=0,y=void 0,O=[],X=!1,P(),p()};if(q&&q.length>0)x(q,0,Y??q.length);else if(Y!==void 0)N.setTotal(Y),P(),p();return{getState:W,getTotal:k,getCached:R,getIsLoading:v,getHasMore:K,getStorage:b,getPlaceholders:S,getItem:i,getItemById:s,getIndexById:g,isItemLoaded:Q,getItemsInRange:G,setTotal:C,setItems:x,updateItem:o,insertItem:I,removeItem:m,loadRange:a,ensureRange:e,loadInitial:t,loadMore:q2,reload:K2,evictDistant:G2,clear:M2,reset:W2}};function D0(j){let{adapter:J,total:q,autoLoad:Y=!0,storage:$}=j,Z=j.loading?.cancelThreshold??P0,B=j.loading?.preloadThreshold??k0,A=j.loading?.preloadAhead??y0,L=j.loading?.maxConcurrent??z0,M,U,r,N,T,H,E=null,X=null,y=null,w=0,V=!1,D=-1,O=-1,F=$?.chunkSize??r2,_=()=>{if(E=null,X!==null)clearTimeout(X),X=null},z=(u,l)=>{return M.ensureRange(u,l)},p=(u,l=r2)=>{N.emit("load:start",{offset:u,limit:l})},P=(u)=>{N.emit("error",{error:u,context:"ensureRange"})},h=()=>{if(!E)return;E=null;let u={start:U.startIndex,end:U.startIndex+Math.max(0,U.visibleCount-1)};if(u.end<u.start)return;z(u.start,u.end).catch(P)};return{name:"data",priority:20,setup(u){U=u.getState(),r=u.sizeCache,N=u.emitter,T=u.dom,H=u.forceRender.bind(u);let l=null;u.setVirtualTotalFn(()=>l?.getTotal()??0),M=l=W1({adapter:J,...q!==void 0&&{initialTotal:q},pageSize:$?.chunkSize??r2,maxConcurrent:L,...$&&{storage:{...$.chunkSize!==void 0&&{chunkSize:$.chunkSize},...$.maxCachedItems!==void 0&&{maxCachedItems:$.maxCachedItems},...$.evictionBuffer!==void 0&&{evictionBuffer:$.evictionBuffer}}},onDataChange:()=>{if(U.initialized){let k=M.getTotal();U.totalItems=k;let R=r.getTotal();if(k!==R)r.rebuild(k);u.updateContentSize(r.getTotalSize()),u.renderIfNeeded()}},onItemsLoaded:(k)=>{if(U.initialized)H(),N.emit("load:end",{items:k,total:M.getTotal()})}}),u.setGetItemFn((k)=>M.getItem(k)),u.setRemoveItemFn((k)=>{let R=M.getIndexById(k);if(R<0)return-1;if(!M.removeItem(k))return-1;return R}),u.setInsertItemFn((k,R)=>{M.insertItem(k,R)}),u.setUpdateItemFn((k,R)=>{let v=M.getIndexById(k);if(v<0)return!1;return M.updateItem(v,R)}),u.registerMethod("reload",async()=>{if(E=null,D=-1,O=-1,u.forceRender(),await M.reload(),u.scrollTo(0),Y)p(0),await M.loadInitial(),u.forceRender()}),u.registerMethod("loadVisibleRange",async()=>{E=null,u.forceRender();let k=M.getTotal();if(U.visibleCount>0&&U.startIndex<k){let R=Math.min(U.startIndex+U.visibleCount-1,k-1);p(U.startIndex,R-U.startIndex+1),await z(U.startIndex,R)}}),u.registerMethod("getTotal",()=>{return M.getTotal()}),u.registerMethod("setTotal",(k)=>{M.setTotal(k)}),u.registerMethod("_getTotal",()=>M.getTotal()),u.registerMethod("_setTotal",(k)=>{M.setTotal(k)}),u.registerMethod("_cancelAutoLoad",()=>{V=!0}),u.registerMethod("_getLoadedItem",(k)=>{return M.getStorage().get(k)}),u.registerMethod("_getLoadedCount",()=>M.getCached()),N.on("load:start",()=>{T.root.setAttribute("aria-busy","true")}),N.on("load:end",()=>{T.root.removeAttribute("aria-busy")}),u.registerDestroyHandler(()=>{if(y!==null)clearTimeout(y),y=null;_()}),N.on("velocity:change",({velocity:k})=>{w=Math.abs(k)});let c=()=>{if(U.destroyed)return;if(U.visibleCount>0&&U.startIndex<M.getTotal()){let k=Math.min(U.startIndex+U.visibleCount-1,M.getTotal()-1);z(U.startIndex,k).catch(P)}h()};if(window.addEventListener("online",c),u.registerDestroyHandler(()=>{window.removeEventListener("online",c)}),Y)queueMicrotask(()=>{if(V)return;p(0),M.loadInitial().catch((k)=>{N.emit("error",{error:k,context:"loadInitial"})})});else if(q!==void 0)M.setTotal(q)},hooks:{onAfterScroll(){if(U.destroyed)return;let u=U.startIndex+Math.max(0,U.visibleCount-1);if(w>Z){if(X!==null)clearTimeout(X),X=null;E={start:U.startIndex,end:u};return}if(w>B){let k=Math.floor(U.startIndex/F),R=Math.floor(u/F);if(k!==D||R!==O){if(D=k,O=R,u>=U.startIndex)z(U.startIndex,u).catch(P)}let v=U.startIndex,K=u,W=U.scrollDirection;if(W>0)K=Math.min(K+A,M.getTotal()-1);else if(W<0)v=Math.max(0,v-A);if(E={start:v,end:K},X!==null)clearTimeout(X);X=setTimeout(()=>{if(X=null,U.destroyed||!E)return;let{start:b,end:S}=E;if(E=null,S>=b)z(b,S).catch(P)},100);return}_();let l=Math.floor(U.startIndex/F),c=Math.floor(u/F);if(l!==D||c!==O){if(D=l,O=c,u>=U.startIndex)z(U.startIndex,u).catch(P)}},onIdle(){if(U.destroyed)return;w=0,D=-1,O=-1,h(),_()}},destroy(){if(y!==null)clearTimeout(y);_()}}}var H0=(j,J)=>{let q=0,Y=j.length-1;while(q<Y){let $=q+Y+1>>>1;if(j[$].headerLayoutIndex<=J)q=$;else Y=$-1}return q},N1=(j,J)=>{let q=0,Y=j.length-1;while(q<Y){let $=q+Y+1>>>1;if(j[$].firstDataIndex<=J)q=$;else Y=$-1}return q},V1=(j,J,q)=>{if(j===0)return[];let Y=[],$=null,Z=0,B=0;for(let A=0;A<j;A++){let L=q?.(A);if(!L)continue;let M=J(A,L);if($===null)$=M,Z=0;else if(M!==$){let U=A-Z;Y.push({key:$,groupIndex:Y.length,headerLayoutIndex:B,firstDataIndex:Z,count:U}),B=B+1+U,$=M,Z=A}}if($!==null)Y.push({key:$,groupIndex:Y.length,headerLayoutIndex:B,firstDataIndex:Z,count:j-Z});return Y};var _1=(j,J,q)=>{let Y=V1(j,J.getGroupForIndex,q),$=j+Y.length,Z=J.header?.height??J.header?.width??J.headerHeight;return{get totalEntries(){return $},get groupCount(){return Y.length},get groups(){return Y},getEntry:(T)=>{if(Y.length===0)return{type:"item",dataIndex:T,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let H=H0(Y,T),E=Y[H];if(T===E.headerLayoutIndex)return{type:"header",group:E};let X=T-E.headerLayoutIndex-1;return{type:"item",dataIndex:E.firstDataIndex+X,group:E}},layoutToDataIndex:(T)=>{if(Y.length===0)return T;let H=H0(Y,T),E=Y[H];if(T===E.headerLayoutIndex)return-1;let X=T-E.headerLayoutIndex-1;return E.firstDataIndex+X},dataToLayoutIndex:(T)=>{if(Y.length===0)return T;let H=N1(Y,T),E=Y[H],X=T-E.firstDataIndex;return E.headerLayoutIndex+1+X},getGroupAtLayoutIndex:(T)=>{if(Y.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let H=H0(Y,T);return Y[H]},getGroupAtDataIndex:(T)=>{if(Y.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let H=N1(Y,T);return Y[H]},getHeaderHeight:typeof Z==="number"?(T)=>Z:(T)=>{let H=Y[T];if(!H)return 0;return Z(H.key,T)},rebuild:(T,H)=>{Y=V1(T,J.getGroupForIndex,H??q),$=T+Y.length}}};var L0=(j,J,q,Y,$=0)=>{let Z=q?"width":"height",B=document.createElement("div");return B.className=`${J}-sticky-header`,B.setAttribute("role","presentation"),B.setAttribute("aria-hidden","true"),B.style.cssText="position:relative;z-index:5;pointer-events:none;overflow:hidden;"+(q?`top:0;bottom:0;left:${$||0}px`:`top:${$||0}px`),B.style[Z]=`${Y}px`,j.insertBefore(B,j.firstChild),B},M1=(j,J,q,Y,$,Z=!1,B=0,A,L)=>{let M=Z?"width":"height",U=Z?"height":"width",r=Z?"X":"Y",N=(o,I)=>{o.style[M]=`${I}px`},T=L??L0(j,$,Z,0,B),H=()=>{let o=document.createElement("div");return o.className="sticky-group",o.style.position="absolute",o.style.willChange="transform",o.style[U]="100%",o},E=H(),X=H();T.append(E,X);let y=E,w=X,V=J.groups,D=[],O=[],F=[],_=0,z=()=>{V=J.groups,_=V.length,D=Array(_),O=Array(_),F=Array(_);let o=A?A():1;for(let I=0;I<_;I++)D[I]=q.getOffset(V[I].headerLayoutIndex)*o,O[I]=J.getHeaderHeight(I),F[I]=O[I]*o};z();let p=-1,P=0,h=0,u=-1,l=!1,c=0,k=!1,R=(o,I)=>{Y(o,I);let m=O[I];return N(o,m),m},v=(o)=>{o.replaceChildren(),o.style.transform=""},K=(o)=>{if(o===p)return;if(p=o,P=0,h=0,o<0||o>=_){v(y);return}P=R(y,o),h=F[o],N(T,P),y.style.transform=""},W=(o)=>{if(o===c)return;c=o;let I=Math.round(o);y.style.transform=`translate${r}(${I}px)`,w.style.transform=`translate${r}(${I+P}px)`},b=()=>{c=0,y.style.transform="",w.style.transform=""},S=()=>{if(!k)return;let o=y;y=w,w=o,p=u,P=p>=0?O[p]:0,h=p>=0?F[p]:0,N(T,P),v(w),u=-1,k=!1,b()},i=()=>{if(!k)return;v(w),u=-1,k=!1,b()},s=!!L,g=()=>{if(l)return;if(l=!0,s)T.style.visibility="";else T.style.display=""},Q=()=>{if(!l)return;if(l=!1,s)T.style.visibility="hidden";else T.style.display="none";v(y),p=-1,P=0,h=0,i()},G=(o)=>{if(_===0){Q();return}if(o<D[0]){Q();return}let I=0,m=_-1;while(I<m){let e=I+m+1>>>1;if(D[e]+F[e]<=o)I=e;else m=e-1}if(!l)g();K(I);let a=I+1;if(a<_){let e=D[a]-o;if(e<=0&&e>-h){if(u!==a||!k)u=a,R(w,a),k=!0;let t=h>0?e/h*P:e;W(t)}else if(e<=-h){if(k)S()}else if(k)i()}else if(k)i()},C=()=>{z();let o=p;if(p=-1,P=0,h=0,o>=0)K(o)},x=()=>{T.remove(),p=-1,P=0,h=0,u=-1,l=!1,k=!1};if(!L)T.style.display="none";return{update:G,refresh:C,show:g,hide:Q,destroy:x}};var g2={selected:!1,focused:!1},G1=typeof process<"u"&&process.env?.NODE_ENV!=="production";function F0(j){if(!j.getGroupForIndex)throw Error("[vlist] groups: getGroupForIndex is required");let J=j.header?.height??j.header?.width??j.headerHeight;if(J==null||typeof J==="number"&&J<=0)throw Error("[vlist] groups: header height/width must be a positive number or function");let q=j.header?.template??j.headerTemplate;if(!q)throw Error("[vlist] groups: header.template is required");let Y=q,$,Z=null,B,A,L,M,U,r,N,T=null,H,E,X,y=null,w,V,D=null,O,F=new Map,_=new Set,z=new Map,p=-1,P=-1,h=!0,u=-1,l=0,c=null,k;function R(){return $.totalEntries}function v(){let Q=A.totalItems;if(Q===u)return;if(G1)console.log(`[groups] syncLayout: ${u} → ${Q}`);let G=u>0;u=Q,$.rebuild(Q,T??N),k($.totalEntries);let C=B.getTotalSize();if(M.style[H?"width":"height"]=C+"px",Z)Z.refresh(),Z.update(A.scrollPosition);if(G)b();let x=D?.("_scrollbar:getInstance");if(x)x()?.updateBounds(C,A.containerSize)}function K(Q){let G=B.getOffset(Q);if(H)return`translate(${Math.round(G)}px, 0)`;return`translate(0, ${Math.round(G)}px)`}function W(Q,G){let C=B.getSize(G);if(H)Q.style.width=`${C}px`;else Q.style.height=`${C}px`}function b(){F.forEach((Q)=>{Q.remove();let G=Q.getAttribute("data-id");if(G)z.set(G,Q);else L.release(Q)}),F.clear(),_.clear()}function S(){if(z.size>0)z.forEach((Q)=>L.release(Q)),z.clear()}function i(Q,G,C,x){if(G.type==="header"){let t=`__group_header_${G.group.groupIndex}`;if(Q.getAttribute("data-id")===t)return!0;Q.className=V,Q.setAttribute("role","presentation"),Q.removeAttribute("aria-selected"),Q.setAttribute("data-id",t);let q2=Y(G.group.key,G.group.groupIndex);if(typeof q2==="string")Q.innerHTML=q2;else Q.innerHTML="",Q.appendChild(q2);return!0}let o=G.dataIndex,I=N(o);if(!I)return Q.innerHTML="",!1;let m=I._isPlaceholder===!0,a=String(I.id);if(!m&&Q.getAttribute("data-id")===a){if(O)Q.id=`${E}-item-${x}`,Q.setAttribute("aria-posinset",String(o+1)),Q.setAttribute("aria-setsize",String(A.totalItems));return!0}if(Q.className=w,Q.setAttribute("role","option"),Q.setAttribute("data-id",a),O)Q.id=`${E}-item-${x}`,Q.setAttribute("aria-posinset",String(o+1)),Q.setAttribute("aria-setsize",String(A.totalItems));if(m)Q.classList.add(`${E}-item--placeholder`);if(C)C(x,g2);else g2.selected=!1,g2.focused=!1;let e=r(I,o,g2);if(typeof e==="string")Q.innerHTML=e;else Q.innerHTML="",Q.appendChild(e);return!m}function s(){if(A.destroyed)return;v();let{scrollPosition:Q,containerSize:G}=A;if(!h&&Q===p&&G===P)return;p=Q,P=G;let C=h;h=!1;let x=R();if(G<=0||x===0){if(F.size>0)F.forEach((n)=>{n.remove(),L.release(n)}),F.clear(),_.clear();return}let o=B.indexAtOffset(Q),I=B.indexAtOffset(Q+G);if(I<x-1)I++;o=Math.max(0,o),I=Math.min(x-1,Math.max(0,I));let m=Math.max(0,o-X),a=Math.min(x-1,I+X);if(m===A.prevRangeStart&&a===A.prevRangeEnd&&!A.renderPending)return;F.forEach((n,$2)=>{if($2<m||$2>a)n.remove(),L.release(n),F.delete($2),_.delete($2)});let e=y?.()??null,t=e?`${E}-item--selected`:"",q2=e?`${E}-item--focused`:"",K2=null;for(let n=m;n<=a;n++){let $2=F.get(n),B2=!1;if($2===void 0){let U2=$.getEntry(n);B2=U2.type==="header";let Y2;if(U2.type==="header")Y2=`__group_header_${U2.group.groupIndex}`;else{let L2=N(U2.dataIndex);if(L2&&L2._isPlaceholder!==!0)Y2=String(L2.id)}if(Y2!==void 0){let L2=z.get(Y2);if(L2)z.delete(Y2),$2=L2}if(!$2)$2=L.acquire();if($2.setAttribute("data-index",String(n)),i($2,U2,e,n))_.delete(n);else _.add(n);if(W($2,n),$2.style.transform=K(n),F.set(n,$2),!K2)K2=document.createDocumentFragment();K2.appendChild($2)}else if(C&&_.has(n)){let U2=$.getEntry(n);if(U2.type==="item")if(i($2,U2,e,n))_.delete(n);else _.add(n)}else B2=$2.classList.contains(V);if(!B2&&e)if(e(n,g2),$2.classList.toggle(t,g2.selected),$2.classList.toggle(q2,g2.focused),g2.selected)$2.setAttribute("aria-selected","true");else $2.removeAttribute("aria-selected")}if(K2)M.appendChild(K2);S();let G2=B.getTotalSize();M.style[H?"width":"height"]=G2+"px",A.prevRangeStart=m,A.prevRangeEnd=a,A.renderPending=!1;let M2=0,W2=0,J2=!1;for(let n=m;n<=a&&M2<A.capacity;n++){let $2=$.getEntry(n);if($2.type==="item"){if(!J2)W2=$2.dataIndex,J2=!0;A.visibleIndices[M2]=$2.dataIndex,A.visibleOffsets[M2]=B.getOffset(n),A.visibleSizes[M2]=B.getSize(n),M2++}}A.visibleCount=M2,A.startIndex=W2}function g(){if(A.destroyed)return;if(G1)console.log(`[groups] forceRender, placeholders: ${_.size}, rendered: ${F.size}`);let Q=c?.()??0;if(Q!==l){l=Q;let G=$.groups,C=G.length;$.rebuild(u,T??N);let x=$.groups,o=x.length!==C;if(!o){for(let I=0;I<C;I++)if(x[I].headerLayoutIndex!==G[I].headerLayoutIndex){o=!0;break}}if(o){k($.totalEntries);let I=B.getTotalSize();if(M.style[H?"width":"height"]=I+"px",Z)Z.refresh(),Z.update(A.scrollPosition);let m=1/0,a=Math.min(C,x.length);for(let t=0;t<a;t++)if(x[t].headerLayoutIndex!==G[t].headerLayoutIndex){m=Math.min(x[t].headerLayoutIndex,G[t].headerLayoutIndex);break}if(x.length>C&&a<x.length)m=Math.min(m,x[a].headerLayoutIndex);else if(C>x.length&&a<C)m=Math.min(m,G[a].headerLayoutIndex);if(m<=A.prevRangeEnd)b();let e=D?.("_scrollbar:getInstance");if(e)e()?.updateBounds(I,A.containerSize)}}A.prevRangeStart=-1,A.prevRangeEnd=-1,A.renderPending=!0,h=!0,s()}return{name:"groups",priority:10,setup(Q){B=Q.sizeCache,A=Q.getState(),L=Q.pool,M=Q.dom.content,U=Q.dom.root,r=Q.template,H=Q.config.axis.primary==="x",E=Q.config.classPrefix,X=Q.config.overscan,N=Q.getItem.bind(Q),y=()=>Q.getItemStateFn(),D=Q.getMethod.bind(Q),O=Q.config.interactive,w=`${E}-item`,V=`${E}-group-header`,queueMicrotask(()=>{let I=D?.("_getLoadedItem");if(I)T=I;let m=D?.("_getLoadedCount");if(m)c=m});let G=A.totalItems;$=_1(G,j,T??N),u=G;let C=typeof J==="number"?(I)=>J:(I)=>{let m=$.groups[I];if(!m)return 0;return J(m.key,I)},x=B.getSize,o=(I)=>{let m=$.getEntry(I);if(m.type==="header"){if(j.sticky!==!1&&m.group.groupIndex===0)return 0;return C(m.group.groupIndex)}return x(m.dataIndex)};if(Q.setSizeConfig(o),k=B.rebuild,B.rebuild=(I)=>{k($.totalEntries)},B.rebuild($.totalEntries),Q.setVirtualTotalFn(()=>$.totalEntries),U.classList.add(`${E}--grouped`),j.sticky!==!1){let I=(e,t)=>{let q2=$.groups[t];if(!q2)return;let K2=Y(q2.key,t);if(typeof K2==="string")e.innerHTML=K2;else e.replaceChildren(K2)},m=$.getHeaderHeight(0),a=L0(U,E,H,m);if(Z=M1(U,$,B,I,E,H,0,void 0,a),Z.update(A.scrollPosition),!H)Q.dom.viewport.style.height=`calc(100% - ${m}px)`;else Q.dom.viewport.style.width=`calc(100% - ${m}px)`}Q.setRenderFn(s,g),Q.registerMethod("getGroupLayout",()=>$),Q.registerMethod("_dataToLayoutIndex",(I)=>$.dataToLayoutIndex(I)),Q.registerMethod("_layoutToDataIndex",(I)=>$.layoutToDataIndex(I)),Q.registerMethod("_getRenderedElement",(I)=>F.get(I)??null),Q.registerMethod("_isGroupHeader",(I)=>{return $.getEntry(I).type==="header"}),Q.registerMethod("scrollToIndex",(I,m="start")=>{let a=$.dataToLayoutIndex(I),e=$.totalEntries;if(e===0)return;let t=Math.max(0,Math.min(a,e-1)),q2=B.getOffset(t),K2=B.getSize(t),G2=A.containerSize,M2=B.getTotalSize(),W2=Math.max(0,M2-G2),J2=typeof m==="string"?m:m.align??"start",n=typeof m==="object"?m.behavior:void 0,$2=typeof m==="object"?m.duration:void 0,B2;switch(J2){case"center":B2=q2-(G2-K2)/2;break;case"end":B2=q2-G2+K2;break;default:B2=q2}if(B2=Math.max(0,Math.min(B2,W2)),n==="smooth"&&$2&&$2>0)Q.smoothScrollTo(B2,$2);else Q.scrollTo(B2)}),Q.registerDestroyHandler(()=>{for(let[,I]of F)I.remove();if(F.clear(),_.clear(),Z)Z.destroy(),Z=null;U.classList.remove(`${E}--grouped`)})},hooks:{onAfterScroll(Q,G){if(Z)Z.update(Q)}},destroy(){if(Z)Z.destroy(),Z=null;F.clear(),_.clear(),z.clear()}}}var X1=(j,J=50,q=1/0,Y=!0)=>{let $=j,Z=[],B=0,A=()=>{Z=$.map((X,y)=>({def:X,index:y,width:0,minWidth:r1(X.minWidth??J,1),maxWidth:X.maxWidth??q,resizable:X.resizable??Y,offset:0}))},L=(X)=>{if(Z.length===0){B=0;return}let y=0,w=0;for(let V=0;V<Z.length;V++){let D=Z[V],O=D.def;if(O.width!==void 0)D.width=O0(O.width,D.minWidth,D.maxWidth),y+=D.width;else w++}if(w){let D=Math.max(0,X-y)/w;for(let O=0;O<Z.length;O++){let F=Z[O];if(F.def.width===void 0)F.width=O0(D,F.minWidth,F.maxWidth)}}M()},M=()=>{let X=0;for(let y=0;y<Z.length;y++){let w=Z[y];w.offset=X,X+=w.width}B=X},U=(X,y)=>{if(X<0||X>=Z.length)return 0;let w=Z[X];if(!w.resizable)return w.width;let V=O0(y,w.minWidth,w.maxWidth);return w.width=V,M(),V},r=(X)=>{return Z[X]},N=(X)=>{if(Z.length===0)return;if(X<0)return Z[0];if(X>=B)return Z[Z.length-1];let y=0,w=Z.length-1;while(y<w){let V=y+w>>>1,D=Z[V];if(X<D.offset)w=V-1;else if(X>=D.offset+D.width)y=V+1;else return D}return Z[y]},T=(X)=>{if(X<0||X>=Z.length)return 0;return Z[X].offset},H=(X)=>{if(X<0||X>=Z.length)return 0;return Z[X].width},E=(X)=>{$=X,A()};return A(),{get columns(){return Z},get totalWidth(){return B},resolve:L,updateColumns:E,resizeColumn:U,getColumn:r,getColumnAtX:N,getColumnOffset:T,getColumnWidth:H}},O0=(j,J,q)=>Math.min(q,Math.max(J,j)),r1=(j,J)=>Math.max(J,j);var A1=(j,J,q,Y,$,Z)=>{let B=document.createElement("div");B.setAttribute("role","rowgroup");let A=document.createElement("div");A.className=`${q}-table-header`,A.setAttribute("role","row"),A.setAttribute("aria-rowindex","1"),A.style.height=`${J}px`;let L=document.createElement("div");L.className=`${q}-table-header-scroll`,L.setAttribute("role","presentation"),A.appendChild(L),B.appendChild(A),j.insertBefore(B,j.firstChild),j.style.setProperty("--vlist-table-header-height",`${J}px`);let M=[],U=[],r=!0,N=null,T="asc",H=null,E=!1,X=-1,y=0,w=0,V=0,D=(K,W)=>{let b=document.createElement("div");b.className=`${q}-table-header-cell`,b.setAttribute("role","columnheader"),b.setAttribute("aria-colindex",String(W+1)),b.setAttribute("tabindex",W===0?"0":"-1"),b.dataset.columnKey=K.def.key;let S=K.def.align;if(S==="center")b.classList.add(`${q}-table-header-cell--center`);else if(S==="right")b.classList.add(`${q}-table-header-cell--right`);let i=document.createElement("div");i.className=`${q}-table-header-content`;let s=K.def.header?K.def.header(K.def):K.def.label;if(typeof s==="string")i.textContent=s;else i.appendChild(s);if(b.appendChild(i),K.def.sortable){let g=document.createElement("span");g.className=`${q}-table-header-sort`,g.setAttribute("aria-hidden","true"),b.appendChild(g),U.push(g),b.classList.add(`${q}-table-header-cell--sortable`)}else U.push(null);if(K.resizable){let g=document.createElement("div");g.className=`${q}-table-header-resize`,g.dataset.resizeIndex=String(W),b.appendChild(g)}return b},O=(K)=>{H=K,L.textContent="",M=[],U=[];let W=K.columns;for(let b=0;b<W.length;b++){let S=W[b],i=D(S,b);M.push(i),L.appendChild(i)}if(F(K),N)_(N,T)},F=(K)=>{H=K;let W=K.columns;L.style.width=`${K.totalWidth}px`;for(let b=0;b<M.length&&b<W.length;b++){let S=M[b],i=W[b];S.style.width=`${i.width}px`}},_=(K,W)=>{if(N=K,T=W,!H)return;let b=H.columns;for(let S=0;S<U.length&&S<b.length;S++){let i=U[S];if(!i)continue;if(b[S].def.key===K)i.textContent=W==="asc"?"▲":"▼",i.style.opacity="0.7",M[S].setAttribute("aria-sort",W==="asc"?"ascending":"descending");else i.textContent="",i.style.opacity="0",M[S].removeAttribute("aria-sort")}},z=(K)=>{L.style.transform=`translateX(${-K}px)`},p=(K)=>{let W=K.target;if(!W.dataset.resizeIndex)return;if(K.preventDefault(),K.stopPropagation(),X=+W.dataset.resizeIndex,!H)return;let b=H.getColumn(X);if(!b?.resizable)return;E=!0,y=K.clientX,w=b.width,j.classList.add(`${q}--col-resizing`),j.style.cursor="col-resize",W.classList.add(`${q}-table-header-resize--active`),W.setPointerCapture(K.pointerId),W.addEventListener("pointermove",P),W.addEventListener("pointerup",h),W.addEventListener("pointercancel",h)},P=(K)=>{if(!E||!H)return;let W=K.clientX-y;if(Math.abs(W)<1)return;let b=Math.max(0,w+W);Y(X,b)},h=(K)=>{if(!E)return;let W=K.target;W.removeEventListener("pointermove",P),W.removeEventListener("pointerup",h),W.removeEventListener("pointercancel",h);try{W.releasePointerCapture(K.pointerId)}catch{}W.classList.remove(`${q}-table-header-resize--active`),j.classList.remove(`${q}--col-resizing`),j.style.cursor="",E=!1,X=-1},u=(K)=>{let W=K.target;if(W.dataset.resizeIndex)return;if(E)return;let b=W;while(b&&!b.dataset.columnKey)if(b=b.parentElement,b===A||b===null)return;let S=b.dataset.columnKey;if(!H)return;let i=H.columns,s=-1;for(let Q=0;Q<i.length;Q++)if(i[Q].def.key===S){s=Q;break}if(s===-1)return;let g=i[s];if(Z)Z({key:S,index:s,event:K});if(g.def.sortable&&$){let Q;if(N===S)Q=T==="asc"?"desc":null;else Q="asc";$({key:S,index:s,direction:Q})}},l=(K)=>{if(K<0||K>=M.length)return;M[V]?.setAttribute("tabindex","-1"),V=K;let W=M[V];W.setAttribute("tabindex","0"),W.focus()},c=(K)=>{let W=K.key;if(W==="ArrowRight"){if(K.ctrlKey||K.metaKey){if(!H)return;let b=H.getColumn(V);if(b?.resizable)Y(V,b.width+10),K.preventDefault()}else if(V<M.length-1)l(V+1),K.preventDefault();K.stopPropagation();return}if(W==="ArrowLeft"){if(K.ctrlKey||K.metaKey){if(!H)return;let b=H.getColumn(V);if(b?.resizable)Y(V,b.width-10),K.preventDefault()}else if(V>0)l(V-1),K.preventDefault();K.stopPropagation();return}if(W==="Home"){l(0),K.preventDefault(),K.stopPropagation();return}if(W==="End"){l(M.length-1),K.preventDefault(),K.stopPropagation();return}if(W==="Enter"||W===" "){if(!H)return;let b=H.getColumn(V);if(b?.def.sortable&&$){let S;if(N===b.def.key)S=T==="asc"?"desc":null;else S="asc";$({key:b.def.key,index:V,direction:S}),K.preventDefault()}K.stopPropagation();return}if(W==="ArrowDown"){j.focus(),K.preventDefault(),K.stopPropagation();return}};return A.addEventListener("pointerdown",p),A.addEventListener("click",u),A.addEventListener("keydown",c),{element:A,update:F,updateSort:_,rebuild:O,show:()=>{if(r)return;r=!0,A.style.display=""},hide:()=>{if(!r)return;r=!1,A.style.display="none"},destroy:()=>{A.removeEventListener("pointerdown",p),A.removeEventListener("click",u),A.removeEventListener("keydown",c),j.style.removeProperty("--vlist-table-header-height"),B.remove(),M=[],U=[],H=null,r=!1},syncScroll:z}};var s1=()=>{let j=[];return{acquire:()=>j.pop()||document.createElement("div"),release:(J)=>{if(J.parentNode?.removeChild(J),j.length<200)J.className="",J.removeAttribute("data-id"),J.removeAttribute("data-index"),J.removeAttribute("aria-selected"),J.removeAttribute("aria-rowindex"),J.removeAttribute("role"),J.style.cssText="",J.textContent="",j.push(J)},clear:()=>{j.length=0}}},D1=(j,J,q,Y,$,Z,B,A,L)=>{let M=s1(),U=new Map,r=-1,N=q,T=null,H=null,E=null,X=(I,m)=>{H=I,E=m},y=(I,m)=>{m?I.setAttribute("aria-selected","true"):I.removeAttribute("aria-selected")},w=(I,m,a,e)=>{I.setAttribute("role",m),I.setAttribute("data-id",String(a)),I.setAttribute("data-index",String(e))},V=(I)=>String(I).startsWith("__placeholder_"),D=`${$}-item ${$}-table-row`,O=`${$}-item--selected`,F=`${$}-item--focused`,_=`${$}-table-cell`,z=`${$}-table-cell--center`,p=`${$}-table-cell--right`,P=`${$}-item--odd`,h=`${$}-item--placeholder`,u=`${$}-item--replaced`,l=`${$}-item ${$}-table-row ${$}-table-group-header`,c=`${$}-table-group-header-content`,k=(I,m,a,e,t=!1)=>{if(a.def.cell){let q2=a.def.cell(m,a.def,e);if(typeof q2==="string")I.innerHTML=q2;else I.replaceChildren(q2)}else{let q2=m[a.def.key],K2=q2!=null?String(q2):"";if(t&&K2)I.innerHTML=`<span>${K2}</span>`;else I.textContent=K2}},R=(I,m,a,e,t=!1)=>{let q2=D;if(A){if(T){let K2=T(m);if(K2>=0&&(K2&1)===1)q2+=` ${P}`}else if((m&1)===1)q2+=` ${P}`}if(t)q2+=` ${h}`;if(a)q2+=` ${O}`;if(e)q2+=` ${F}`;I.className=q2},v=(I,m,a)=>{if(a?.compression?.isCompressed)return Math.round(n2(I,a.scrollPosition,m,a.totalItems,a.containerSize,a.compression,a.rangeStart));return m.getOffset(I)},K=(I,m)=>{let a=m.def.align;if(a==="center")I.classList.add(z),I.classList.remove(p);else if(a==="right")I.classList.add(p),I.classList.remove(z);else I.classList.remove(z,p)},W=(I,m)=>{let e=N.columns.length;if(m.length===e)return m;let t=[];for(let q2=0;q2<e;q2++){let K2;if(q2<m.length)K2=m[q2];else K2=document.createElement("div"),K2.className=_,I.appendChild(K2);t.push(K2)}for(let q2=e;q2<m.length;q2++)m[q2].remove();return t},b=(I,m,a,e)=>{let t=M.acquire(),q2=I,K2=a.getSize(m),G2=v(m,a,e);t.style.cssText=`width:${N.totalWidth}px;height:${K2}px;transform:translateY(${G2}px)`,t.className=l,w(t,"presentation",I.id,m),t.removeAttribute("aria-selected"),t.removeAttribute("aria-rowindex"),t.replaceChildren();let M2=document.createElement("div");if(M2.className=c,E){let W2=E(q2.groupKey,q2.groupIndex);if(typeof W2==="string")M2.innerHTML=W2;else M2.appendChild(W2)}return t.appendChild(M2),{element:t,cells:[],index:m,isGroupHeader:!0,lastItemId:I.id,lastSelected:!1,lastFocused:!1,lastOffset:G2,lastHeight:K2}},S=(I,m,a,e,t,q2)=>{let K2=M.acquire(),G2=t.getSize(m),M2=v(m,t,q2),W2=V(I.id);K2.style.cssText=`width:${N.totalWidth}px;height:${G2}px;transform:translateY(${M2}px)`,R(K2,m,a,e,W2),w(K2,"row",I.id,m),K2.id=`${Z}-item-${m}`,K2.setAttribute("aria-rowindex",String(m+2)),y(K2,a);let J2=W(K2,[]),n=N.columns;for(let $2=0;$2<J2.length&&$2<n.length;$2++){let B2=J2[$2],U2=n[$2];B2.style.cssText=`left:${U2.offset}px;width:${U2.width}px`,B2.setAttribute("role","gridcell"),B2.setAttribute("aria-colindex",String($2+1)),K(B2,U2),k(B2,I,U2,m,W2)}return{element:K2,cells:J2,index:m,isGroupHeader:!1,lastItemId:I.id,lastSelected:a,lastFocused:e,lastOffset:M2,lastHeight:G2}},i=(I,m,a,e,t)=>{for(let[W2,J2]of U)if(W2<m.start||W2>m.end)M.release(J2.element),U.delete(W2);let q2=!1,K2=B();if(K2!==r)r=K2,q2=!0;let G2=null,M2=J();T=typeof A==="string"&&L?L():null;for(let W2=m.start;W2<=m.end;W2++){let J2=W2-m.start,n=I[J2];if(!n)continue;let $2=a.has(n.id),B2=W2===e,U2=H?H(n):!1,Y2=U.get(W2);if(Y2){if(Y2.isGroupHeader!==U2){M.release(Y2.element),U.delete(W2);let A2=U2?b(n,W2,M2,t):S(n,W2,$2,B2,M2,t);if(U.set(W2,A2),!G2)G2=document.createDocumentFragment();G2.appendChild(A2.element);continue}if(U2){if(Y2.lastItemId!==n.id){let b2=n,F2=Y2.element.firstElementChild;if(F2&&E){let y2=E(b2.groupKey,b2.groupIndex);if(typeof y2==="string")F2.innerHTML=y2;else F2.replaceChildren(y2)}Y2.element.setAttribute("data-id",String(n.id)),Y2.lastItemId=n.id}let L2=v(W2,M2,t);if(Y2.lastOffset!==L2)Y2.lastOffset=L2,Y2.element.style.transform=`translateY(${L2}px)`;let X2=M2.getSize(W2);if(Y2.lastHeight!==X2)Y2.lastHeight=X2,Y2.element.style.height=`${X2}px`}else{let A2=Y2.lastItemId!==n.id,L2=Y2.lastSelected!==$2,X2=Y2.lastFocused!==B2;if(A2){let y2=Y2.lastItemId!=null&&V(Y2.lastItemId),D2=V(n.id);if(!D2&&c2(a,W2,n.id))$2=!0;let k2=N.columns;for(let H2=0;H2<Y2.cells.length&&H2<k2.length;H2++)k(Y2.cells[H2],n,k2[H2],W2,D2);if(R(Y2.element,W2,$2,B2,D2),Y2.element.setAttribute("data-id",String(n.id)),y(Y2.element,$2),y2&&!D2)Y2.element.classList.add(u),setTimeout(()=>{Y2.element.classList.remove(u)},300);Y2.lastItemId=n.id,Y2.lastSelected=$2,Y2.lastFocused=B2}else if(L2||X2)R(Y2.element,W2,$2,B2,V(n.id)),y(Y2.element,$2),Y2.lastSelected=$2,Y2.lastFocused=B2;let b2=v(W2,M2,t);if(Y2.lastOffset!==b2)Y2.lastOffset=b2,Y2.element.style.transform=`translateY(${b2}px)`;let F2=M2.getSize(W2);if(Y2.lastHeight!==F2)Y2.lastHeight=F2,Y2.element.style.height=`${F2}px`;if(q2)Y2.element.setAttribute("aria-rowindex",String(W2+2))}}else{if(c2(a,W2,n.id))$2=!0;let A2=U2?b(n,W2,M2,t):S(n,W2,$2,B2,M2,t);if(U.set(W2,A2),!G2)G2=document.createDocumentFragment();G2.appendChild(A2.element)}}if(G2)j.appendChild(G2)},s=(I)=>{let m=J();for(let[a,e]of U){let t=v(a,m,I);if(e.lastOffset!==t)e.lastOffset=t,e.element.style.transform=`translateY(${t}px)`}},g=(I,m,a,e)=>{let t=U.get(I);if(!t)return;if(t.isGroupHeader)return;let q2=N.columns;for(let K2=0;K2<t.cells.length&&K2<q2.length;K2++)k(t.cells[K2],m,q2[K2],I);t.element.setAttribute("data-id",String(m.id)),t.lastItemId=m.id,R(t.element,I,a,e),y(t.element,a),t.lastSelected=a,t.lastFocused=e},Q=(I,m,a)=>{let e=U.get(I);if(!e)return;if(e.isGroupHeader)return;let t=e.lastSelected!==m,q2=e.lastFocused!==a;if(t||q2)R(e.element,I,m,a),y(e.element,m),e.lastSelected=m,e.lastFocused=a},G=(I)=>{N=I;let m=I.columns;for(let[,a]of U)if(a.element.style.width=`${I.totalWidth}px`,a.cells.length>0)for(let e=0;e<a.cells.length&&e<m.length;e++){let t=a.cells[e],q2=m[e];t.style.left=`${q2.offset}px`,t.style.width=`${q2.width}px`}},C=(I)=>{return U.get(I)?.element},x=()=>{for(let[,I]of U)M.release(I.element);U.clear(),r=-1};return{render:i,updatePositions:s,updateItem:g,updateItemClasses:Q,getElement:C,updateColumnLayout:G,setGroupHeaderFn:X,clear:x,destroy:()=>{x(),M.clear()}}};var a1=new Set;function E0(j){if(!j.columns?.length)throw Error("[vlist] table: columns must be a non-empty array");if(j.rowHeight===void 0&&j.estimatedRowHeight===void 0)throw Error("[vlist] table: either rowHeight or estimatedRowHeight is required");let J=null,q=null,Y=null,$,Z,B=null,A=null,L=null,M=!1,U=-1,r=-1,N=-1,T=!0,H=-1;function E(){if(M||!B)return;M=!0,A=B.getMethod("_getSelectedIds")??null,L=B.getMethod("_getFocusedIndex")??null}let X=[],y={start:0,end:0};function w(){if($.destroyed||!B||!Y||!J)return;let{scrollPosition:D,containerSize:O,totalItems:F}=$;if(!T&&D===U&&O===r&&F===N)return;if(U=D,r=O,N=F,T=!1,O<=0||F===0)return;let _=F+1;if(_!==H)H=_,B.dom.root.setAttribute("aria-rowcount",`${_}`);let z=Z.indexAtOffset(D),p=Z.indexAtOffset(D+O);if(p<F-1)p++;z=Math.max(0,z),p=Math.min(F-1,p);let P=B.config.overscan,h=Math.max(0,z-P),u=Math.min(F-1,p+P);if(h===$.prevRangeStart&&u===$.prevRangeEnd&&!$.renderPending)return;E();let l=A?.()??a1,c=L?.()??-1;X.length=0;for(let R=h;R<=u;R++){let v=B.getItem(R);if(v)X.push(v)}y.start=h,y.end=u,Y.render(X,y,l,c),$.prevRangeStart=h,$.prevRangeEnd=u,$.renderPending=!1;let k=u-h+1;$.visibleCount=Math.min(k,$.capacity),$.startIndex=h;for(let R=0;R<$.visibleCount;R++){let v=h+R;$.visibleIndices[R]=v,$.visibleOffsets[R]=Z.getOffset(v),$.visibleSizes[R]=Z.getSize(v)}B.dom.content.style.height=Z.getTotalSize()+"px"}function V(){if($.destroyed)return;$.prevRangeStart=-1,$.prevRangeEnd=-1,$.renderPending=!0,T=!0,w()}return{name:"table",priority:10,conflicts:["grid","masonry"],setup(D){B=D,$=D.getState(),Z=D.sizeCache;let{dom:O,config:F,emitter:_}=D,{classPrefix:z}=F;if(F.axis.primary==="x")throw Error("[vlist] table: cannot be used with horizontal orientation");if(F.reverse)throw Error("[vlist] table: cannot be used with reverse mode");let p=j.resizable??!0,P=j.minColumnWidth??50,h=j.maxColumnWidth??1/0,u=j.rowBorders??!0,l=j.rowHeight,c=j.headerHeight??(typeof l==="number"?l:40),k=j.sort?.key??null,R=j.sort?.direction??"asc";if(J=X1(j.columns,P,h,p),typeof l==="function"||typeof l==="number")D.setSizeConfig(l);if(D.rebuildSizeCache(),O.root.classList.add(`${z}--table`),u)O.root.classList.add(`${z}--table-row-borders`);if(j.columnBorders)O.root.classList.add(`${z}--table-col-borders`);if(F.interactive)O.root.setAttribute("tabindex","0");O.root.setAttribute("role","grid"),O.root.setAttribute("aria-colcount",`${j.columns.length}`),O.viewport.setAttribute("role","none"),O.content.setAttribute("role","rowgroup");let v=$.crossSize;J.resolve(v);let K=()=>{if(!J)return;O.content.style.minWidth=`${J.totalWidth}px`},W=(g,Q)=>{if(!J)return;let G=J.getColumn(g);if(!G)return;let C=G.width,x=J.resizeColumn(g,Q);q?.update(J),Y?.updateColumnLayout(J),K(),_.emit("column:resize",{key:G.def.key,index:g,previousWidth:C,width:x})},b=(g)=>{k=g.direction===null?null:g.key,R=g.direction??"asc",q?.updateSort(k,R),_.emit("column:sort",g)};if(q=A1(O.root,c,z,W,b),q.rebuild(J),k)q.updateSort(k,R);K(),Y=D1(O.content,()=>Z,J,j.columns,z,z,()=>$.totalItems,F.striped||void 0),D.setRenderFn(w,V);let S=q,i=-1,s=()=>{let g=O.viewport.scrollLeft;if(g!==i)i=g,S?.syncScroll?.(g)};O.viewport.addEventListener("scroll",s,{passive:!0}),D.registerMethod("updateColumns",(g)=>{if(!J||!q)return;if(J.updateColumns(g),J.resolve($.crossSize),q.rebuild(J),k)q.updateSort(k,R);K(),Y?.updateColumnLayout(J),Y?.clear(),D.forceRender()}),D.registerMethod("resizeColumn",(g,Q)=>{if(!J)return;let G;if(typeof g==="string"){let C=J.columns;G=-1;for(let x=0;x<C.length;x++)if(C[x].def.key===g){G=x;break}if(G===-1)return}else G=g;W(G,Q)}),D.registerMethod("getColumnWidths",()=>{if(!J)return{};let g={},Q=J.columns;for(let G=0;G<Q.length;G++)g[Q[G].def.key]=Q[G].width;return g}),D.registerMethod("setSort",(g,Q)=>{k=g,R=Q??"asc",q?.updateSort(k,R)}),D.registerMethod("getSort",()=>{return{key:k,direction:R}}),D.registerMethod("_getTableLayout",()=>J),D.registerMethod("_getTableHeaderHeight",()=>c),D.registerMethod("_updateRenderedItem",(g,Q,G,C)=>{Y?.updateItem(g,Q,G,C)}),D.registerMethod("_replaceTableRenderer",(g)=>{Y=g}),D.registerMethod("_updateTableForGroups",(g,Q)=>{Y?.setGroupHeaderFn(g,Q)}),D.registerMethod("_updateItemClasses",(g,Q,G)=>{Y?.updateItemClasses(g,Q,G)}),D.registerKeydownHandler((g)=>{if(g.key!=="ArrowLeft"&&g.key!=="ArrowRight")return;if(!J)return;let Q=J.columns;if(Q.length===0)return;let G=O.viewport.clientWidth;if(J.totalWidth<=G)return;let C=O.viewport.scrollLeft;if(g.key==="ArrowRight"){for(let x=0;x<Q.length;x++)if(Q[x].offset>C+1){O.viewport.scrollLeft=Q[x].offset,g.preventDefault();return}}else{for(let x=Q.length-1;x>=0;x--)if(Q[x].offset<C-1){O.viewport.scrollLeft=Q[x].offset,g.preventDefault();return}if(C>0)O.viewport.scrollLeft=0,g.preventDefault()}}),D.registerDestroyHandler(()=>{O.viewport.removeEventListener("scroll",s),q?.destroy(),q=null,Y?.destroy(),Y=null,O.content.style.minWidth="",O.root.classList.remove(`${z}--table`),O.root.classList.remove(`${z}--table-row-borders`),O.root.classList.remove(`${z}--table-col-borders`),O.root.removeAttribute("role"),O.root.removeAttribute("aria-colcount"),O.root.removeAttribute("aria-rowcount"),O.root.removeAttribute("tabindex"),O.viewport.removeAttribute("role"),O.content.removeAttribute("role")})},hooks:{onResize(D,O){if(!J||!B)return;let F=$.crossSize;if(J.resolve(F),q?.update(J),Y?.updateColumnLayout(J),J)B.dom.content.style.minWidth=`${J.totalWidth}px`},onAfterScroll(){if(!B||!q)return;q?.syncScroll?.(B.dom.viewport.scrollLeft)}},destroy(){q?.destroy(),q=null,Y?.destroy(),Y=null,B=null}}}function R0(j){let J=j?.handle??null,q=j?.ghostClass??"vlist-sort-ghost",Y=j?.shiftDuration??150,$=j?.edgeScrollZone??40,Z=j?.edgeScrollSpeed??20,B=j?.dragThreshold??5,A=j?.ghostContainer??null,L,M,U=null,r,N,T,H,E,X,y,w,V,D,O=!1,F=-1,_=-1,z=0,p=0,P=0,h=0,u=!1,l=null,c=0,k=null,R=0,v=0,K=0,W=null,b=!1,S="",i=-1,s=-1,g=[],Q="",G=null,C=null,x="",o=!1,I=(f)=>{return f.closest("[data-index]")},m=(f)=>{let Q2=f.dataset.index;return Q2===void 0?-1:+Q2},a=(f)=>{let Q2=f.getBoundingClientRect(),j2=f.cloneNode(!0);return j2.className=`${H}-item ${q}`,j2.removeAttribute("data-index"),j2.style.cssText=`position:fixed;pointer-events:none;z-index:10000;width:${Q2.width}px;height:${Q2.height}px;left:${Q2.left}px;top:${Q2.top}px;transition:none;will-change:transform`,(A||document.body).appendChild(j2),j2},e=()=>{if(!l)return;l.style.left=`${P-v}px`,l.style.top=`${h-K}px`},t=()=>{let f=L.totalItems;if(f===0)return 0;let Q2=N.getBoundingClientRect(),j2=L.scrollPosition,V2=E?P-v-Q2.left+N.scrollLeft+j2:h-K-Q2.top+j2,_2=V2+R,T2=M.getOffset(F)+M.getSize(F);if(_2>T2){let E2=M.indexAtOffset(_2),C2=M.getOffset(E2)+M.getSize(E2)/2,I2=_2>C2?E2:E2-1;return Math.min(Math.max(I2,F),f-1)}let w2=M.getOffset(F);if(V2<w2){let E2=M.indexAtOffset(V2),C2=M.getOffset(E2)+M.getSize(E2)/2,I2=V2<C2?E2:E2+1;return Math.max(Math.min(I2,F),0)}return F},q2=()=>{let f=r.children,Q2=R;for(let j2=0;j2<f.length;j2++){let V2=f[j2],_2=m(V2);if(_2<0||_2===F)continue;let T2=0;if(_>F){if(_2>F&&_2<=_)T2=-Q2}else if(_<F){if(_2>=_&&_2<F)T2=Q2}let w2=M.getOffset(_2),E2=Math.round(w2+T2);V2.style.transition=y,V2.style.transform=`${X}(${E2}px)`}},K2=()=>{let f=r.children;for(let Q2=0;Q2<f.length;Q2++){let j2=f[Q2],V2=m(j2);if(V2>=0)j2.style.transform=`${X}(${Math.round(M.getOffset(V2))}px)`;j2.style.transition=""}},G2=()=>{if(!U)return;let f=t();if(f===_)return;_=f,q2(),U.emitter.emit("sort:move",{fromIndex:F,currentIndex:_})},M2=()=>{let f=N.getBoundingClientRect();if(E)return P<f.left||P>f.right;return h<f.top||h>f.bottom},W2=()=>{let f=U?.getMethod("_getFocusedIndex");return f?f():-1},J2=(f)=>{let Q2=U?.getMethod("_focusById");if(Q2)Q2(f)},n=(f)=>{if(!U)return;let Q2=E?N.clientWidth:N.clientHeight,j2=L.scrollPosition,V2=M.getOffset(f),_2=V2+M.getSize(f);if(V2<j2)U.scrollTo(Math.max(0,V2));else if(_2>j2+Q2)U.scrollTo(_2-Q2)},$2=(f)=>{if(!C)return;C.textContent="",C.offsetHeight,C.textContent=f},B2=(f)=>{if(!U)return"";let j2=U.getItems()[f];if(!j2)return"";return r.querySelector(`[data-index="${f}"]`)?.textContent?.trim()||String(j2.id)},U2=()=>String(L.totalItems),Y2=(f)=>{let Q2=r.children;for(let j2=0;j2<Q2.length;j2++)Q2[j2].style.transition=f},A2=()=>{let f=()=>{if(!O||!U)return;let Q2=N.getBoundingClientRect(),j2=0,V2=3;if(E){let T2=P-Q2.left,w2=Q2.right-P;if(T2<$){let E2=Math.min(V2,1-T2/$);j2=-Z*E2*E2}else if(w2<$){let E2=Math.min(V2,1-w2/$);j2=Z*E2*E2}}else{let T2=h-Q2.top,w2=Q2.bottom-h;if(T2<$){let E2=Math.min(V2,1-T2/$);j2=-Z*E2*E2}else if(w2<$){let E2=Math.min(V2,1-w2/$);j2=Z*E2*E2}}let _2=M2();if(j2!==0){let T2=L.scrollPosition,w2=M.getTotalSize()-(E?N.clientWidth:N.clientHeight);if(j2<0&&T2<=0||j2>0&&T2>=w2)o=_2;else o=!0,U.scrollTo(T2+j2)}else o=_2;c=requestAnimationFrame(f)};c=requestAnimationFrame(f)},L2=()=>{if(c)cancelAnimationFrame(c),c=0},X2=(f=!1)=>{if(O=!1,u=!1,l&&l.parentNode)l.remove();l=null,k=null;let Q2=r.children;for(let V2=0;V2<Q2.length;V2++){let _2=Q2[V2];_2.classList.remove(D);let T2=m(_2);if(T2>=0)_2.style.transform=`${X}(${Math.round(M.getOffset(T2))}px)`;_2.style.transition=""}L2(),T.classList.remove(w),document.body.style.cursor="";let j2=window.getSelection();if(j2)j2.removeAllRanges();if(document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),!f&&U)U.forceRender()},b2=(f,Q2)=>{if(!U)return;let j2=f!==Q2&&f>=0&&Q2>=0,V2=()=>{if(!U)return;if(O=!1,j2){if(T.classList.add(V),U.emitter.emit("sort:end",{fromIndex:f,toIndex:Q2}),W!==null)J2(W);X2(!0),requestAnimationFrame(()=>T.classList.remove(V))}else T.classList.add(V),U.emitter.emit("sort:cancel",{originalItems:[...U.getItems()]}),X2(!1),requestAnimationFrame(()=>T.classList.remove(V))};if(!l){V2();return}let _2=N.getBoundingClientRect(),T2=L.scrollPosition,w2=M.getOffset(Q2),E2=Y>0?Y:150;if(l.style.transition=`left ${E2}ms ease, top ${E2}ms ease`,E)l.style.left=`${_2.left-N.scrollLeft+w2-T2}px`,l.style.top=`${_2.top}px`;else l.style.left=`${_2.left}px`,l.style.top=`${_2.top+w2-T2}px`;let C2=!1,I2=()=>{if(C2)return;C2=!0,l?.removeEventListener("transitionend",I2),V2()};l.addEventListener("transitionend",I2),setTimeout(I2,E2+50)},F2=(f)=>{if(L.destroyed||!U)return;if(O)return;if(b)P2();if(f.button!==0)return;let Q2=f.target;if(J){if(!Q2.closest(J))return}let j2=I(Q2);if(!j2)return;let V2=m(j2);if(V2<0)return;z=f.clientX,p=f.clientY,P=f.clientX,h=f.clientY,F=V2,u=!1,k=j2;let _2=j2.getBoundingClientRect();v=f.clientX-_2.left,K=f.clientY-_2.top,document.addEventListener("pointermove",y2),document.addEventListener("pointerup",D2),document.addEventListener("pointercancel",H2)};function y2(f){if(!U)return;if(P=f.clientX,h=f.clientY,!u){let Q2=P-z,j2=h-p;if(Math.sqrt(Q2*Q2+j2*j2)<B)return;if(u=!0,O=!0,_=F,T.classList.add(w),document.body.style.cursor="grabbing",R=M.getSize(F),k)l=a(k),k.classList.add(D);let V2=W2();if(V2>=0){let T2=U.getItems()[V2];W=T2?T2.id:null}else W=null;U.emitter.emit("sort:start",{index:F}),A2()}if(O){if(f.preventDefault(),e(),!o)G2();else if(M2()){if(_!==F)_=F,K2()}}}function D2(f){if(!u){document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),k=null;return}f.preventDefault(),document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),L2(),b2(F,_)}let k2=()=>{if(!u)return;document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),L2(),K2(),b2(F,F)};function H2(){k2()}let z2=()=>{let f=r.querySelectorAll(`.${x}`);for(let Q2=0;Q2<f.length;Q2++)f[Q2].classList.remove(x)},N2=()=>{z2();let f=r.querySelector(`[data-id="${S}"]`);if(f)f.classList.add(x)},O2=(f)=>{if(!U)return;let Q2=U.getItems(),j2=Q2[f];if(!j2)return;b=!0,S=j2.id,i=f,s=f,g=[...Q2],T.classList.add(w),U.emitter.emit("sort:start",{index:f}),N2(),$2(`Grabbed ${B2(f)}. Current position ${f+1} of ${U2()}. Use Up and Down arrow keys to move, Space to drop, Escape to cancel.`)},R2=()=>{if(!b||!U)return;b=!1;let f=s,Q2=B2(f);Y2("none"),T.classList.remove(w),z2(),J2(S),U.forceRender(),$2(`${Q2} dropped. Final position ${f+1} of ${U2()}.`),g=[],requestAnimationFrame(()=>Y2(""))},P2=()=>{if(!b||!U)return;b=!1;let f=i;if(Y2("none"),T.classList.remove(w),z2(),s!==f)U.emitter.emit("sort:cancel",{originalItems:g});J2(S),U.forceRender(),n(f),$2(`Reorder cancelled. Returned to position ${f+1} of ${U2()}.`),g=[],requestAnimationFrame(()=>Y2(""))},Z2=(f)=>{if(!b||!U)return;let Q2=L.totalItems,j2=s+f;if(j2<0||j2>=Q2)return;let V2=s,_2=j2;Y2("none"),U.emitter.emit("sort:end",{fromIndex:V2,toIndex:_2}),s=_2,J2(S),U.forceRender(),n(_2),N2(),$2(`${B2(_2)} moved. New position ${_2+1} of ${U2()}.`),requestAnimationFrame(()=>Y2(""))},d=(f)=>{if(L.destroyed)return;if(O){if(f.key==="Escape")f.preventDefault(),f.stopImmediatePropagation(),k2();return}if(b)switch(f.key){case" ":case"Enter":f.preventDefault(),f.stopImmediatePropagation(),R2();return;case"Escape":f.preventDefault(),f.stopImmediatePropagation(),P2();return;case"ArrowUp":case"ArrowLeft":f.preventDefault(),f.stopImmediatePropagation(),Z2(-1);return;case"ArrowDown":case"ArrowRight":f.preventDefault(),f.stopImmediatePropagation(),Z2(1);return;default:if(!f.key.startsWith("F")&&f.key!=="Tab")f.preventDefault(),f.stopImmediatePropagation();return}if(f.key===" "&&!f.shiftKey&&!f.ctrlKey&&!f.metaKey){let Q2=W2();if(Q2>=0)f.preventDefault(),f.stopImmediatePropagation(),O2(Q2)}};return{name:"sortable",priority:30,conflicts:["grid","masonry","table","scale"],setup(f){U=f,L=f.getState(),M=f.sizeCache,r=f.dom.content,N=f.dom.viewport,T=f.dom.root,H=f.config.classPrefix,E=f.config.axis.primary==="x",X=E?"translateX":"translateY",y=Y>0?`transform ${Y}ms ease`:"none",w=`${H}--sorting`,V=`${H}--settling`,D=`${H}-item--drag-source`,x=`${H}-item--kb-sorting`,f.registerMethod("isSorting",()=>O||b),r.addEventListener("pointerdown",F2),T.addEventListener("keydown",d),Q=`${H}-sort-instructions`,G=document.createElement("div"),G.id=Q,G.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",G.textContent="Press Space to reorder. Use arrow keys to move, Space to drop, Escape to cancel.",T.appendChild(G),C=document.createElement("div"),C.setAttribute("role","status"),C.setAttribute("aria-live","assertive"),C.setAttribute("aria-atomic","true"),C.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",T.appendChild(C),f.registerDestroyHandler(()=>{if(b)P2();X2(),r.removeEventListener("pointerdown",F2),T.removeEventListener("keydown",d),G?.remove(),C?.remove()})},hooks:{onCommit(){if(!U)return;let f=r.children;for(let Q2=0;Q2<f.length;Q2++){let j2=f[Q2],V2=m(j2);if(V2<0)continue;if(j2.setAttribute("aria-roledescription","sortable item"),j2.setAttribute("aria-describedby",Q),b)if(j2.getAttribute("data-id")===String(S))j2.classList.add(x);else j2.classList.remove(x);if(O)if(V2===F)j2.classList.add(D),k=j2;else{j2.classList.remove(D);let _2=0;if(_>F){if(V2>F&&V2<=_)_2=-R}else if(_<F){if(V2>=_&&V2<F)_2=R}let T2=Math.round(M.getOffset(V2)+_2);j2.style.transform=`${X}(${T2}px)`}}}},destroy(){if(l&&l.parentNode)l.remove();l=null,L2(),G?.remove(),C?.remove(),U=null}}}var o1=50,i1=0.1;function H1(j){let J=0,q=0,Y=0;function $(){return Y>0?q/Y:0}function Z(L){if(J=L,L>i1&&L<o1)q+=L,Y++}function B(){let L=j.getTotal();if(L===0)return 0;let M=j.getItemSize();if(M<=0)return 0;let U=j.getContainerSize();if(U<=0)return 0;let r=j.getScrollPosition(),N=typeof j.getColumns==="function"?j.getColumns():1,H=Math.ceil(L/N)*M,X=Math.min(H,S2)-U,y=H-U,w=X>0?y/X:1,V=r*w,D=Math.ceil((V+U)/M);return Math.min(D*N,L)}function A(){let L=j.getTotal(),M=B();return{progress:L>0?Math.min(100,Math.max(0,M/L*100)):0,velocity:J,velocityAvg:$(),itemCount:M,total:L}}return{getState:A,onVelocity:Z}}export{G0 as transition,E0 as table,R0 as sortable,M0 as snapshots,V0 as selection,U0 as scrollbar,B0 as scale,_0 as page,A0 as masonry,F0 as groups,W0 as grid,D0 as data,i0 as createVList,H1 as createStats,X0 as autosize,N0 as a11y};
|
|
1
|
+
var s2=3,k0="vlist";var a2=50;var P0=50,z0=2,w0=15,v0=6,S2=16000000,c2=150,q0=1,o2=(j)=>j<0.5?2*j*j:1-(-2*j+2)**2/2,i2=300;var C0="x",f0=20,Y0="_isPlaceholder",f2="__placeholder_";var n2={top:0,right:0,bottom:0,left:0},h0=(j)=>{if(j==null)return n2;if(typeof j==="number")return j===0?n2:{top:j,right:j,bottom:j,left:j};if(j.length===2){let[K,B]=j;return K===0&&B===0?n2:{top:K,right:B,bottom:K,left:B}}let[Q,q,Y,J]=j;return Q===0&&q===0&&Y===0&&J===0?n2:{top:Q,right:q,bottom:Y,left:J}},I0=(j,Q)=>Q?j.left+j.right:j.top+j.bottom,S0=(j,Q)=>Q?j.top+j.bottom:j.left+j.right;function p0(j){let Q={visibleIndices:new Int32Array(j),visibleOffsets:new Float64Array(j),visibleSizes:new Float64Array(j),visibleCount:0,startIndex:0,totalSize:0,capacity:j,scrollPosition:0,prevScrollPosition:0,scrollDirection:0,containerSize:0,crossSize:0,totalItems:0,prevRangeStart:0,prevRangeEnd:-1,renderPending:!1,initialized:!1,destroyed:!1,isCompressed:!1,compressionRatio:1,prevAriaTotal:-1,resizeCapacity(q,Y,J=s2){if(Y<=0||q<=0)return;let K=Math.ceil(q/Y)+J*2;if(K<=Q.capacity)return;let B=K+8,X=new Int32Array(B),H=new Float64Array(B),G=new Float64Array(B);X.set(Q.visibleIndices),H.set(Q.visibleOffsets),G.set(Q.visibleSizes),Q.visibleIndices=X,Q.visibleOffsets=H,Q.visibleSizes=G,Q.capacity=B},clear(){Q.visibleCount=0,Q.startIndex=0}};return Q}var O1=(j,Q)=>{let q=Q;return{getOffset:(Y)=>Y*j,getSize:(Y)=>j,indexAtOffset:(Y)=>{if(q===0||j===0)return 0;return Math.max(0,Math.min(Math.floor(Y/j),q-1))},getTotalSize:()=>q*j,getTotal:()=>q,rebuild:(Y)=>{q=Y},isVariable:()=>!1}},E1=(j,Q)=>{let q=Q,Y=new Float64Array(0),J=(B)=>{q=B,Y=new Float64Array(B+1),Y[0]=0;for(let X=0;X<B;X++)Y[X+1]=Y[X]+j(X)};J(Q);let K=(B)=>{if(q===0)return 0;if(B<=0)return 0;if(B>=Y[q])return q-1;let X=0,H=q-1;while(X<H){let G=X+H+1>>>1;if(Y[G]<=B)X=G;else H=G-1}return X};return{getOffset:(B)=>{if(B<=0)return 0;if(B>=q)return Y[q];return Y[B]},getSize:(B)=>j(B),indexAtOffset:(B)=>K(B),getTotalSize:()=>Y[q]??0,getTotal:()=>q,rebuild:(B)=>J(B),isVariable:()=>!0}},t2=(j,Q)=>{if(typeof j==="number")return O1(j,Q);return E1(j,Q)},Z0=(j,Q,q,Y)=>{if(Y===0)return 0;if(!j.isVariable())return Math.ceil(q/j.getSize(0));let J=0,K=0,B=Q;while(B<Y&&K<q)K+=j.getSize(B),J++,B++;return Math.max(1,J)};function u0(j){let Q=[],q=`${j}-item`,Y=document.createElement("div");return Y.className=q,{acquire(){if(Q.length>0)return Q.pop();return Y.cloneNode(!1)},release(J){if(J.className=q,J.removeAttribute("style"),J.removeAttribute("id"),J.removeAttribute("role"),J.removeAttribute("aria-selected"),J.removeAttribute("aria-posinset"),J.removeAttribute("aria-setsize"),J.removeAttribute("data-index"),J.removeAttribute("data-id"),J.textContent="",Q.length<100)Q.push(J)},get size(){return Q.length},clear(){Q.length=0}}}function g0(j){if(typeof j==="string"){let Q=document.querySelector(j);if(!Q)throw Error(`[vlist] Container not found: ${j}`);return Q}return j}function x0(j,Q,q,Y,J){let K=q?`${Q} ${Q}--horizontal`:Q,B=q?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",X=q?"position:relative;height:100%":"position:relative;width:100%",H=` role="${Y?"listbox":"list"}"`;if(Y)H+=' tabindex="0"';if(J)H+=` aria-label="${J.replace(/"/g,""")}"`;if(q)H+=' aria-orientation="horizontal"';j.insertAdjacentHTML("beforeend",`<div class="${K}"><div class="${Q}-viewport" style="${B}" tabindex="-1"><div class="${Q}-content" style="${X}"${H}></div></div></div>`);let G=j.lastElementChild,N=G.firstElementChild,l=N.firstElementChild,V=document.createElement("div");return V.className=`${Q}-live`,V.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",V.setAttribute("aria-live","polite"),V.setAttribute("aria-atomic","true"),V.setAttribute("role","status"),G.appendChild(V),{root:G,viewport:N,content:l,liveRegion:V}}function m0(j){let{state:Q,viewport:q,isX:Y,wheelEnabled:J,onFrame:K,onIdle:B}=j,X=j.idleTimeout||c2,H=j.scrollTarget??q,G=null,N=null;function l(){let _=Y?q.scrollLeft:q.scrollTop;if(Math.abs(_-Q.scrollPosition)<0.5)return;Q.prevScrollPosition=Q.scrollPosition,Q.scrollPosition=_,Q.scrollDirection=_>Q.prevScrollPosition?1:_<Q.prevScrollPosition?-1:0,K(),w()}function V(_){if(Q.isCompressed)return;let z;if(Y){if(Math.abs(_.deltaX)>Math.abs(_.deltaY))return;let v=q.scrollLeft,M=q.scrollWidth-q.clientWidth;if(z=Math.max(0,Math.min(v+_.deltaY*q0,M)),Math.abs(z-v)<1)return;_.preventDefault(),q.scrollLeft=z}else{let v=q.scrollWidth>q.clientWidth;if(v&&Math.abs(_.deltaX)>Math.abs(_.deltaY))return;if(v&&_.deltaX!==0)_.preventDefault(),q.scrollLeft+=_.deltaX;let M=q.scrollTop,A=q.scrollHeight-q.clientHeight;if(z=Math.max(0,Math.min(M+_.deltaY*q0,A)),Math.abs(z-M)<1)return;_.preventDefault(),q.scrollTop=z}Q.prevScrollPosition=Q.scrollPosition,Q.scrollPosition=z,Q.scrollDirection=z>Q.prevScrollPosition?1:-1,K(),w()}function w(){if(G!==null)clearTimeout(G);G=setTimeout(()=>{G=null,Q.scrollDirection=0,B()},X)}function D(){if(N!==null)cancelAnimationFrame(N),N=null}function F(_,z,v,M=o2,A){D();let O=Q.scrollPosition,E=typeof _==="function"?_:()=>_,y=E();if(Math.abs(y-O)<1){if(v)v(y);else if(Y)q.scrollLeft=y;else q.scrollTop=y;A?.();return}let S=performance.now();function d(f){y=E();let c=f-S,k=Math.min(c/z,1),g=O+(y-O)*M(k);if(v)v(g);else if(Y)q.scrollLeft=g;else q.scrollTop=g;if(!v)Q.scrollPosition=g;if(K(),k<1)N=requestAnimationFrame(d);else N=null,A?.()}N=requestAnimationFrame(d)}return{attach(){if(H.addEventListener("scroll",l,{passive:!0}),J)H.addEventListener("wheel",V,{passive:!1})},detach(){if(H.removeEventListener("scroll",l),J)H.removeEventListener("wheel",V);if(D(),G!==null)clearTimeout(G),G=null},cancelScroll:D,smoothScrollTo:F}}var l2=[],R1={calculate:l2,commit:l2,afterScroll:l2,idle:l2,resize:l2};function d0(j){if(j.length===0)return R1;let Q=[],q=[],Y=[],J=[],K=[];for(let B=0;B<j.length;B++){let X=j[B].hooks;if(X===void 0)continue;if(X.onCalculate!==void 0)Q.push(X.onCalculate);if(X.onCommit!==void 0)q.push(X.onCommit);if(X.onAfterScroll!==void 0)Y.push(X.onAfterScroll);if(X.onIdle!==void 0)J.push(X.onIdle);if(X.onResize!==void 0)K.push(X.onResize)}return{calculate:Q,commit:q,afterScroll:Y,idle:J,resize:K}}function c0(j,Q){for(let q=0;q<j.length;q++)j[q](Q)}function l0(j,Q){for(let q=0;q<j.length;q++)j[q](Q)}function K0(j,Q,q){for(let Y=0;Y<j.length;Y++)j[Y](Q,q)}function r0(j){for(let Q=0;Q<j.length;Q++)j[Q]()}function s0(j,Q,q){for(let Y=0;Y<j.length;Y++)j[Y](Q,q)}function a0(j,Q,q,Y,J,K,B,X,H){let G=J!==0||K!==0;return{prefix:j,selectedClass:`${j}-item--selected`,focusedClass:`${j}-item--focused`,placeholderClass:`${j}-item--placeholder`,replacedClass:`${j}-item--replaced`,translateProp:Q?"translateX(":"translateY(",sizeProp:Q?"width":"height",itemRole:q?"option":"listitem",interactive:q,startPadding:Y,gap:X,hasCrossPad:G,crossStartProp:G?Q?"top":"left":"",crossEndProp:G?Q?"bottom":"right":"",crossStartVal:G?J+"px":"",crossEndVal:G?K+"px":"",oddClass:B,emitter:H??null}}function T1(j,Q,q,Y,J){if(j.containerSize<=0||j.totalItems===0)return j.clear(),!0;let{scrollPosition:K,containerSize:B,totalItems:X}=j,H=J??0;j.totalSize=Q.getTotalSize();let G=Q.indexAtOffset(H>0?Math.max(0,K-H):K),N=Q.indexAtOffset(K+B);if(N<X-1)N++;G=Math.max(0,G),N=Math.min(X-1,Math.max(0,N));let l=Math.max(0,G-q),V=Math.min(X-1,N+q),w=Math.ceil(B/1)+q*2+10,D=V-l+1,F=Math.min(D,j.capacity,w);if(l===j.prevRangeStart&&V===j.prevRangeEnd&&!j.renderPending)return!1;j.visibleCount=F,j.startIndex=l;for(let _=0;_<F;_++){let z=l+_;j.visibleIndices[_]=z,j.visibleOffsets[_]=Q.getOffset(z),j.visibleSizes[_]=Q.getSize(z)}return c0(Y.calculate,j),j.prevRangeStart=l,j.prevRangeEnd=V,j.renderPending=!1,!0}var v2={selected:!1,focused:!1};function b1(j,Q,q){for(let Y=0;Y<Q;Y++)if(j[Y]===q)return!0;return!1}function y1(j,Q){if(Q<=1)return!0;let q=j[0];for(let Y=1;Y<Q;Y++){let J=j[Y];if(J!==q+1)return!1;q=J}return!0}function k1(j,Q,q,Y,J,K,B,X,H,G){let N=H?null:J(),l=j.visibleCount,V=j.visibleIndices,w=B.interactive?String(j.totalItems):"",D=B.interactive&&j.totalItems!==j.prevAriaTotal,F=null;for(let _=0;_<l;_++){let z=V[_],v=j.visibleOffsets[_],M=j.visibleSizes[_],A=H?H(z):N[z];if(G)G(z,v2);else v2.selected=!1,v2.focused=!1;let O=K.get(z),E=O;if(O===void 0){let y=Q.acquire();if(A!==void 0){let f;try{f=Y(A,z,v2)}catch(c){if(B.emitter)B.emitter.emit("error",{error:c instanceof Error?c:Error(String(c)),context:`template:render:${z}`});Q.release(y);continue}if(typeof f==="string")y.innerHTML=f;else y.textContent="",y.appendChild(f)}if(y.setAttribute("role",B.itemRole),y.setAttribute("data-index",String(z)),B.interactive)y.id=B.prefix+"-item-"+z,y.setAttribute("aria-posinset",String(z+1)),y.setAttribute("aria-setsize",w);if(A!==void 0){let f=String(A.id);if(y.setAttribute("data-id",f),f.startsWith(f2))y.classList.add(B.placeholderClass)}if(B.hasCrossPad)y.style.setProperty(B.crossStartProp,B.crossStartVal),y.style.setProperty(B.crossEndProp,B.crossEndVal);if(G){if(y.classList.toggle(B.selectedClass,v2.selected),y.classList.toggle(B.focusedClass,v2.focused),v2.selected)y.setAttribute("aria-selected","true");else y.removeAttribute("aria-selected");y._lastSelected=v2.selected,y._lastFocused=v2.focused}if(B.oddClass)y.classList.toggle(B.oddClass,(z&1)===1);let S=v+B.startPadding;y.style.transform=B.translateProp+S+"px)",y._lastOffset=S;let d=M-B.gap;if(y.style[B.sizeProp]=d+"px",y._lastSize=d,y._lastItem=A,K.set(z,y),F===null)F=document.createDocumentFragment();F.appendChild(y)}else{if(D)O.setAttribute("aria-setsize",w);if(A!==void 0&&E._lastItem!==A){let d=O.getAttribute("data-id"),f=String(A.id),c;try{c=Y(A,z,v2)}catch(k){if(B.emitter)B.emitter.emit("error",{error:k instanceof Error?k:Error(String(k)),context:`template:render:${z}`});continue}if(typeof c==="string")O.innerHTML=c;else O.textContent="",O.appendChild(c);if(O.setAttribute("data-id",f),E._lastItem=A,d!==f){let k=d!==null&&d.startsWith(f2),g=f.startsWith(f2);if(k!==g)O.classList.toggle(B.placeholderClass,g);if(k&&!g)O.classList.add(B.replacedClass),setTimeout(()=>{O.classList.remove(B.replacedClass)},300)}}if(G){if(E._lastSelected!==v2.selected){if(O.classList.toggle(B.selectedClass,v2.selected),v2.selected)O.setAttribute("aria-selected","true");else O.removeAttribute("aria-selected");E._lastSelected=v2.selected}if(E._lastFocused!==v2.focused)O.classList.toggle(B.focusedClass,v2.focused),E._lastFocused=v2.focused}let y=v+B.startPadding;if(E._lastOffset!==y)O.style.transform=B.translateProp+y+"px)",E._lastOffset=y;let S=M-B.gap;if(E._lastSize!==S)O.style[B.sizeProp]=S+"px",E._lastSize=S}}if(F!==null)q.appendChild(F);if(l>0&&y1(V,l)){let _=V[0],z=V[l-1];for(let[v,M]of K)if(v<_||v>z)M.remove(),Q.release(M),K.delete(v)}else for(let[_,z]of K)if(!b1(V,l,_))z.remove(),Q.release(z),K.delete(_);if(B.interactive)j.prevAriaTotal=j.totalItems;l0(X.commit,j)}function B0(j,Q,q,Y,J,K,B,X,H,G,N,l){if(T1(j,Q,q,G,H.startPadding))k1(j,Y,J,K,B,X,H,G,N,l)}var U0=()=>{let j={},Q=(K,B)=>{if(!j[K])j[K]=new Set;return j[K].add(B),()=>q(K,B)},q=(K,B)=>{j[K]?.delete(B)};return{on:Q,off:q,emit:(K,B)=>{j[K]?.forEach((X)=>{try{X(B)}catch(H){console.error(`[vlist] Error in event handler for "${String(K)}":`,H)}})},clear:(K)=>{if(K)delete j[K];else for(let B in j)delete j[B]}}};var o0=2,i0=(j=0)=>({velocity:0,sampleCount:0}),n0=(j,Q)=>{let q=performance.now(),Y=j._lt??q,J=j._lp??Q,K=q-Y;if(j._lp=Q,j._lt=q,K===0)return j.sampleCount=Math.min(j.sampleCount+1,5),j;if(K>100)return j.velocity=0,j.sampleCount=1,j;return j.velocity=Math.abs(Q-J)/K,j.sampleCount=Math.min(j.sampleCount+1,5),j};function P1(j){let{item:Q}=j;if(Q.height!==void 0&&typeof Q.height==="number"){if(!Number.isFinite(Q.height)||Q.height<=0)throw Error(`vlist: item.height must be a positive number, got ${Q.height}`)}if(Q.width!==void 0&&typeof Q.width==="number"){if(!Number.isFinite(Q.width)||Q.width<=0)throw Error(`vlist: item.width must be a positive number, got ${Q.width}`)}if(Q.estimatedHeight!==void 0){if(!Number.isFinite(Q.estimatedHeight)||Q.estimatedHeight<=0)throw Error(`vlist: item.estimatedHeight must be a positive number, got ${Q.estimatedHeight}`)}if(Q.estimatedWidth!==void 0){if(!Number.isFinite(Q.estimatedWidth)||Q.estimatedWidth<=0)throw Error(`vlist: item.estimatedWidth must be a positive number, got ${Q.estimatedWidth}`)}if(Q.gap!==void 0){if(typeof Q.gap!=="number"||!Number.isFinite(Q.gap)||Q.gap<0)throw Error(`vlist: item.gap must be a non-negative number, got ${Q.gap}`)}if(j.overscan!==void 0){if(typeof j.overscan!=="number"||!Number.isFinite(j.overscan)||j.overscan<0)throw Error(`vlist: overscan must be a non-negative number, got ${j.overscan}`)}}function z1(j,Q){let q=j==="horizontal"?"x":"y";if(Q.some((J)=>J.name==="grid"))return{primary:q,cross:q==="x"?"y":"x"};return{primary:q}}function w1(j,Q){let q=z1(j.orientation,Q),Y=q.primary==="x",J=h0(j.padding);return{axis:q,hasCrossAxis:q.cross!==void 0,overscan:j.overscan??s2,reverse:j.reverse??!1,classPrefix:j.classPrefix??k0,interactive:j.interactive??!0,mainAxisPadding:I0(J,Y),crossAxisPadding:S0(J,Y),startPadding:Y?J.left:J.top,endPadding:Y?J.right:J.bottom,crossPadStart:Y?J.top:J.left,crossPadEnd:Y?J.bottom:J.right,striped:j.item.striped||!1,gap:j.item.gap??0}}function v1(j,Q){if(Q)return j.item.width??j.item.estimatedWidth??100;return j.item.height??j.item.estimatedHeight??40}function C1(j){let Q=[...j];return Q.sort((q,Y)=>(q.priority??50)-(Y.priority??50)),Q}function f1(j){let Q=new Set;for(let q of j){if(Q.has(q.name))throw Error(`[vlist] Duplicate plugin: ${q.name}`);Q.add(q.name)}for(let q of j)if(q.conflicts){for(let Y of q.conflicts)if(Q.has(Y))throw Error(`[vlist] Plugin "${q.name}" conflicts with "${Y}"`)}}function t0(j,Q=[]){P1(j);let q=w1(j,Q),Y=q.axis.primary==="x",J=v1(j,Y),K=q.gap,B=K>0?typeof J==="function"?(Z2)=>J(Z2)+K:J+K:J,X=typeof J==="number"?J:20,H=j.items?.length??0,G=q.striped?`${q.classPrefix}-item--odd`:"",N=U0(),l=a0(q.classPrefix,Y,q.interactive,q.startPadding,q.crossPadStart,q.crossPadEnd,G,K,N),V=Q.length>0?C1(Q):Q;if(Q.length>0)f1(V);let w=g0(j.container),D=x0(w,q.classPrefix,Y,q.interactive,j.ariaLabel);if(j.scroll?.scrollbar==="none")D.viewport.classList.add(`${q.classPrefix}-viewport--no-scrollbar`);if(j.scroll?.gutter==="stable")D.viewport.classList.add(`${q.classPrefix}-viewport--gutter-stable`);let _=t2(B,H);if(K>0){let Z2=_.getTotalSize;_.getTotalSize=()=>{let r=Z2();return r>0?r-K:0}}let z=u0(q.classPrefix),v=Math.ceil(4096/X)+q.overscan*2+8,M=p0(v);M.totalItems=H;let A=j.items??[],O=()=>A,E=new Map,y=i0(),S={velocity:0,reliable:!1},d={range:{start:0,end:-1}},f={scrollPosition:0,direction:"down"},c={scrollPosition:0},k=-1,g=-1,x=-1,R=null,L=d0(V),b=new Map,Z=[],U=[],T=[],p=null,t=null,n=null,m=null,$=null,W=null,P=null,I=null,s=null,C=null,u=!1,a=!1,e=null,i=0,q2=0,K2=null,G2=null,M2=null,N2=null,J2=null;if(M.containerSize=Y?D.viewport.clientWidth:D.viewport.clientHeight,M.crossSize=Y?D.viewport.clientHeight:D.viewport.clientWidth,Q.length>0){let Z2={dom:D,sizeCache:_,pool:z,config:q,emitter:N,template:j.item.template,registerMethod(r,h){b.set(r,h)},getMethod(r){return b.get(r)},registerClickHandler(r){Z.push(r)},registerKeydownHandler(r){U.push(r)},registerDestroyHandler(r){T.push(r)},setSizeConfig(r){let h=t2(r,M.totalItems);Object.assign(_,h)},setScrollFns(r,h){t=r,n=h},setVirtualTotalFn(r){p=r},getItems:O,getItem(r){return W?W(r):A[r]},getState(){return M},rebuildSizeCache(){_.rebuild(M.totalItems)},updateContentSize(r){M.totalSize=r,D.content.style[Y?"width":"height"]=r+q.mainAxisPadding+"px"},setRenderFn(r,h){m=r,$=h},renderIfNeeded(){L2()},forceRender(){F2()},setGetItemFn(r){W=r},setItemStateFn(r){P=r},getItemStateFn(){return P},get rawSizeSpec(){return J},scrollTo(r){if(n)n(r);else if(Y)D.viewport.scrollLeft=r;else D.viewport.scrollTop=r},smoothScrollTo(r,h,Q2,j2){if(M2)M2(r,h,n??void 0,Q2,j2);else Z2.scrollTo(typeof r==="function"?r():r)},disableDefaultScroll(){u=!0},disableDefaultResize(){a=!0},setScrollTarget(r){e=r},setScrollToPosFn(r){N2=r},setScrollToIndexFn(r){J2=r},onScrollFrame:X2,onScrollIdle:b2,removeItemById(r){if(I)return I(r);let h=A.findIndex((Q2)=>Q2.id===r);if(h===-1)return-1;return A.splice(h,1),M.totalItems=A.length,_.rebuild(M.totalItems),A2(),h},insertItemAt(r,h){if(s){s(r,h);return}A.splice(h,0,r),M.totalItems=A.length,_.rebuild(M.totalItems),A2()},setRemoveItemFn(r){I=r},setInsertItemFn(r){s=r},setUpdateItemFn(r){C=r},getRenderedElement(r){let h=b.get("_getRenderedElement");if(h)return h(r);return E.get(r)??null},setNavConfig(r){if(r.ud!==void 0)i=r.ud;if(r.lr!==void 0)q2=r.lr;if(r.scrollIndex)K2=r.scrollIndex;if(r.navigate)G2=r.navigate},getNavConfig:(()=>{let r={ud:0,lr:0,scrollIndex:null,navigate:null};return()=>{return r.ud=i,r.lr=q2,r.scrollIndex=K2,r.navigate=G2,r}})()};for(let r of V)if(r.setup)try{r.setup(Z2)}catch(h){N.emit("error",{error:h instanceof Error?h:Error(String(h)),context:`plugin:setup:${r.name}`})}}let o=q.classPrefix+"--scrolling",$2=!1,B2=j.scroll?.idleTimeout??c2;function U2(){if(f.scrollPosition=M.scrollPosition,Y)f.direction=M.scrollDirection>0?"right":"left";else f.direction=M.scrollDirection>0?"down":"up";if(N.emit("scroll",f),n0(y,M.scrollPosition),S.velocity=y.velocity,S.reliable=y.sampleCount>=o0,N.emit("velocity:change",S),M.startIndex!==k||M.prevRangeEnd!==g)k=M.startIndex,g=M.prevRangeEnd,d.range.start=M.startIndex,d.range.end=M.prevRangeEnd,N.emit("range:change",d)}let Y2=!1;function A2(){if(m)return;let Z2=_.getTotalSize();if(D.content.style[Y?"width":"height"]=Z2+q.mainAxisPadding+"px",!Y2&&Z2>S2)Y2=!0,N.emit("error",{error:Error(`Content size (${Z2}px) exceeds browser limit (${S2}px). Use the scale() plugin for large datasets.`),context:"content:size:overflow"})}function L2(){if(m)m();else B0(M,_,q.overscan,z,D.content,j.item.template,O,E,l,L,W,P)}function X2(){if(!$2)$2=!0,D.root.classList.add(o);if(L2(),K0(L.afterScroll,M.scrollPosition,M.scrollDirection),M.scrollPosition!==x)x=M.scrollPosition,U2()}function b2(){if($2)$2=!1,D.root.classList.remove(o);M.scrollDirection=0,r0(L.idle),S.velocity=0,S.reliable=!1,N.emit("velocity:change",S),c.scrollPosition=M.scrollPosition,N.emit("scroll:idle",c)}function F2(){if(M.renderPending=!0,$)$();else B0(M,_,q.overscan,z,D.content,j.item.template,O,E,l,L,W,P);if(K0(L.afterScroll,M.scrollPosition,M.scrollDirection),M.scrollPosition!==x){if(x=M.scrollPosition,U2(),R!==null)clearTimeout(R);R=setTimeout(b2,B2)}}let y2=m0({state:M,viewport:D.viewport,isX:Y,wheelEnabled:u?!1:j.scroll?.wheel!==!1,idleTimeout:j.scroll?.idleTimeout??c2,...e?{scrollTarget:e}:{},onFrame:X2,onIdle:b2});M2=y2.smoothScrollTo;function D2(Z2){let h=Z2.target.closest("[data-index]");if(!h)return null;let Q2=parseInt(h.getAttribute("data-index"),10);if(Number.isNaN(Q2))return null;let j2=A[Q2];if(j2===void 0)return null;return{item:j2,index:Q2}}function k2(Z2){for(let h=0;h<Z.length;h++)Z[h](Z2);let r=D2(Z2);if(r)N.emit("item:click",{item:r.item,index:r.index,event:Z2})}function H2(Z2){let r=D2(Z2);if(r)N.emit("item:dblclick",{item:r.item,index:r.index,event:Z2})}function z2(Z2){let r=D2(Z2);if(r)N.emit("item:contextmenu",{item:r.item,index:r.index,event:Z2})}function W2(Z2){for(let r=0;r<U.length;r++)U[r](Z2)}if(D.content.addEventListener("click",k2),D.content.addEventListener("dblclick",H2),D.content.addEventListener("contextmenu",z2),U.length>0)D.content.addEventListener("keydown",W2);let O2=null;if(!a)setTimeout(()=>{if(M.destroyed)return;O2=new ResizeObserver((r)=>{for(let h of r){let{width:Q2,height:j2}=h.contentRect,V2=Y?Q2:j2,_2=Y?j2:Q2;if(Math.abs(V2-M.containerSize)<1&&Math.abs(_2-M.crossSize)<1)continue;M.containerSize=V2,M.crossSize=_2,M.resizeCapacity(V2,X,q.overscan),F2(),s0(L.resize,Q2,j2),N.emit("resize",{width:Q2,height:j2})}}),O2.observe(D.viewport)},0);M.resizeCapacity(M.containerSize,X,q.overscan),A2(),M.initialized=!0;let R2=null;if(j.defer)R2=requestAnimationFrame(()=>{if(R2=null,!M.destroyed)L2()});else L2();if(!u)y2.attach();let P2={get element(){return D.root},get items(){return A},get total(){return p?p():A.length},setItems(Z2){A=[...Z2],M.totalItems=A.length,_.rebuild(M.totalItems),A2(),F2()},appendItems(Z2){A.push(...Z2),M.totalItems=A.length,_.rebuild(M.totalItems),A2(),F2()},prependItems(Z2){A.unshift(...Z2),M.totalItems=A.length,_.rebuild(M.totalItems),A2(),F2()},updateItem(Z2,r){if(C){if(!C(Z2,r))return}else{let h=A.findIndex((Q2)=>Q2.id===Z2);if(h===-1)return;A[h]={...A[h],...r}}F2()},insertItem(Z2,r){if(s)s(Z2,r??M.totalItems);else{if(r===void 0)A.push(Z2);else A.splice(r,0,Z2);M.totalItems=A.length,_.rebuild(M.totalItems),A2()}F2()},removeItem(Z2){if(I){if(I(Z2)<0)return}else{let r=A.findIndex((h)=>h.id===Z2);if(r===-1)return;A.splice(r,1),M.totalItems=A.length,_.rebuild(M.totalItems),A2()}F2()},removeItems(Z2){if(I){let j2=0;for(let V2 of Z2)if(I(V2)>=0)j2++;if(j2>0)F2();return j2}let r=new Set(Z2),h=A.length;A=A.filter((j2)=>!r.has(j2.id));let Q2=h-A.length;if(Q2>0)M.totalItems=A.length,_.rebuild(M.totalItems),A2(),M.renderPending=!0,L2();return Q2},getItemAt(Z2){return A[Z2]},getIndexById(Z2){return A.findIndex((r)=>r.id===Z2)},scrollToIndex(Z2,r="start"){let h=p?p():A.length;if(h===0)return;let Q2=Math.max(0,Math.min(Z2,h-1)),j2=typeof r==="string"?r:r.align??"start",V2=typeof r==="object"?r.behavior:void 0,_2=typeof r==="object"?r.duration:void 0,T2=typeof r==="object"?r.easing:void 0;if(J2&&J2(Q2,j2,V2,_2,T2)!==!1)return;let w2=_.getOffset(Q2),E2=_.getSize(Q2),C2=M.containerSize,I2=_.getTotalSize(),y0=q.mainAxisPadding,L1=Math.max(0,I2+y0-C2),h2;if(N2)h2=N2(Q2,_,C2,h,j2);else{let F1=q.startPadding;switch(j2){case"center":h2=F1+w2-(C2-E2)/2;break;case"end":h2=w2+E2+y0-C2;break;default:h2=w2}h2=Math.max(0,Math.min(h2,L1))}if(V2==="smooth")y2.smoothScrollTo(h2,_2??i2,n??void 0,T2);else if(n)n(h2);else if(Y)D.viewport.scrollLeft=h2;else D.viewport.scrollTop=h2},getScrollPosition(){return t?t():M.scrollPosition},on:N.on.bind(N),off:N.off.bind(N),destroy(){if(M.destroyed)return;if(M.destroyed=!0,$2)$2=!1,D.root.classList.remove(o);if(R2!==null)cancelAnimationFrame(R2),R2=null;if(R!==null)clearTimeout(R),R=null;y2.detach(),O2?.disconnect(),D.content.removeEventListener("click",k2),D.content.removeEventListener("dblclick",H2),D.content.removeEventListener("contextmenu",z2),D.content.removeEventListener("keydown",W2);let Z2=[];for(let r of T)try{r()}catch(h){Z2.push(h instanceof Error?h:Error(String(h)))}for(let r of V)if(r.destroy)try{r.destroy()}catch(h){Z2.push(h instanceof Error?h:Error(String(h)))}for(let[,r]of E)r.remove();if(E.clear(),z.clear(),D.root.remove(),N.emit("destroy",void 0),N.clear(),Z2.length>0)for(let r of Z2)console.error("vlist: error during destroy:",r)}};for(let[Z2,r]of b)P2[Z2]=r;return P2}var e0=(j,Q,q)=>{let Y=Q.getTotalSize(),J=q===!0||Y>S2,K=Y>S2?S2:Y,B=Y>0?K/Y:1;return{isCompressed:J,actualSize:Y,virtualSize:K,ratio:B}},m2=(j,Q,q,Y,J,K)=>{if(Y===0||Q===0)return K.start=0,K.end=-1,K;if(!J.isCompressed||J.ratio===1){let w=q.indexAtOffset(j),D=q.indexAtOffset(j+Q);if(D<Y-1)D++;return K.start=Math.max(0,w),K.end=Math.min(Y-1,Math.max(0,D)),K}let{virtualSize:B}=J,X=j/B,H=q.getTotalSize(),G=X*H,N=q.indexAtOffset(G),l=Z0(q,Math.max(0,N),Q,Y),V=N+l;return K.start=Math.max(0,N),K.end=Math.min(Y-1,Math.max(0,V)),K};var x2=(j,Q,q,Y,J,K,B)=>{if(!K.isCompressed||Y===0)return q.getOffset(j);if(K.ratio===1)return q.getOffset(j)-Q;let{virtualSize:X}=K,H=Q/X,G=q.getTotalSize(),N=H*G;return q.getOffset(j)-N},e2=(j,Q,q,Y,J,K="start")=>{if(Y===0)return 0;let B;if(J.isCompressed&&J.ratio!==1){B=j/Y*J.virtualSize;let N=Q.getSize(j);switch(K){case"center":B-=(q-N)/2*J.ratio;break;case"end":B-=(q-N)*J.ratio;break}return Math.max(0,B)}B=Q.getOffset(j);let X=Q.getSize(j);switch(K){case"center":B-=(q-X)/2;break;case"end":B-=q-X;break}let H=J.virtualSize-q;return Math.max(0,Math.min(B,H))};var h1=(j)=>{if(typeof j!=="object"){let Q=j??2;return{top:Q,right:Q,bottom:Q,left:Q}}return{top:j.top??2,right:j.right??2,bottom:j.bottom??2,left:j.left??2}},$0=(j,Q,q={},Y="vlist",J=!1,K)=>{let{autoHide:B=!0,autoHideDelay:X=1000,minThumbSize:H=15,showOnHover:G=!0,showOnViewportEnter:N=!0,clickBehavior:l="scroll"}=q,V=l==="page"?"scroll":l,w=K??j,D=h1(q.padding),F=J?D.left:D.top,_=J?D.right:D.bottom,z=J?D.bottom:D.right,v=q.hoverZoneWidth??z+16,M=0,A=0,O=0,E=0,y=!1,S=!1,d=0,f=0,c=0,k=null,g=!1,x=null,R=0,L=0,b=null,Z=null,U=null,T=J?"width":"height",p=J?"translateX":"translateY",t=J?(W2)=>W2.clientX:(W2)=>W2.clientY,n=J?"left":"top",m=document.createElement("div"),$=document.createElement("div"),W=document.createElement("div"),P=J?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",I=()=>{if(w===j)return;let W2=j.offsetTop;m.style[J?"left":"top"]=W2?`calc(var(${P}) + ${W2}px)`:`var(${P})`,W.style[J?"left":"top"]=`${W2}px`},s=()=>{if(m.className=`${Y}-scrollbar`,$.className=`${Y}-scrollbar__thumb`,J)m.classList.add(`${Y}-scrollbar--horizontal`);if(q.padding!==void 0)w.style.setProperty("--vlist-custom-scrollbar-padding-top",`${D.top}px`),w.style.setProperty("--vlist-custom-scrollbar-padding-right",`${D.right}px`),w.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${D.bottom}px`),w.style.setProperty("--vlist-custom-scrollbar-padding-left",`${D.left}px`);if(q.minThumbSize!==void 0)m.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${H}px`);if(m.appendChild($),w.appendChild(m),W.className=`${Y}-scrollbar__hover`,J)W.classList.add(`${Y}-scrollbar__hover--horizontal`),W.style.height=`${v}px`;else W.style.width=`${v}px`;if(w.appendChild(W),w!==j)I()},C=()=>{if(k)clearTimeout(k),k=null},u=()=>{if(!B)return;C(),k=setTimeout(e,X)},a=()=>{if(M<=A)return;if(C(),!g)m.classList.add(`${Y}-scrollbar--visible`),g=!0;if(B&&!y&&!S)u()},e=()=>{if(y||S)return;m.classList.remove(`${Y}-scrollbar--visible`),g=!1},i=(W2,O2)=>{if(M=W2,A=O2,I(),M<=A){m.style.display="none",e();return}m.style.display="";let R2=Math.max(0,A-F-_),P2=A/M;if(O=Math.max(H,P2*R2),$.style[T]=`${O}px`,E=R2-O,q2(c),!B)a()},q2=(W2)=>{if(c=W2,M<=A||E<=0)return;let O2=M-A,R2=Math.min(1,Math.max(0,W2/O2));$.style.transform=`${p}(${R2*E}px)`},K2=(W2)=>{if(W2.target===$||V!=="jump"||E<=0)return;let O2=M-A,R2=m.getBoundingClientRect(),P2=t(W2)-R2[n],Z2=Math.max(0,Math.min(P2-O/2,E));Q(Z2/E*O2),a()},G2=()=>{if(b!==null)clearTimeout(b),b=null;if(Z!==null)cancelAnimationFrame(Z),Z=null;U=null},M2=(W2)=>{let O2=E>0?L/W2*E:0;if(R<O2)return-1;if(R>=O2+O)return 1;return 0},N2=()=>{let W2=M-A,O2=M2(W2);if(O2===0){G2();return}if(O2===-1){if(L<=0){G2();return}let R2=Math.max(0,L-A);L=R2,Q(R2)}else{if(L>=W2){G2();return}let R2=Math.min(W2,L+A);L=R2,Q(R2)}a()},J2=(W2)=>{if(U===null){U=W2,Z=requestAnimationFrame(J2);return}let O2=M-A,R2=W2-U;U=W2;let P2=M2(O2);if(P2===0){G2();return}let Z2=12*A/1000,r=Math.min(Z2*R2,A);if(P2===-1){if(L<=0){G2();return}let h=Math.max(0,L-r);L=h,Q(h)}else{if(L>=O2){G2();return}let h=Math.min(O2,L+r);L=h,Q(h)}C(),Z=requestAnimationFrame(J2)},o=()=>{G2(),u(),document.removeEventListener("mouseup",o)},$2=(W2)=>{if(W2.target===$||V!=="scroll")return;W2.preventDefault();let O2=m.getBoundingClientRect();R=t(W2)-O2[n],L=c,N2(),b=setTimeout(()=>{Z=requestAnimationFrame(J2)},350),document.addEventListener("mouseup",o)},B2=(W2)=>{W2.preventDefault(),W2.stopPropagation(),y=!0,d=t(W2),f=c,C(),m.classList.add(`${Y}-scrollbar--dragging`),document.addEventListener("mousemove",U2),document.addEventListener("mouseup",Y2)},U2=(W2)=>{if(!y)return;let O2=t(W2)-d,R2=E>0?O2/E:0,P2=M-A,Z2=R2*P2,r=Math.max(0,Math.min(f+Z2,P2));$.style.transform=`${p}(${r/P2*E}px)`,Q(r)},Y2=()=>{if(y=!1,m.classList.remove(`${Y}-scrollbar--dragging`),B&&!S)u();document.removeEventListener("mousemove",U2),document.removeEventListener("mouseup",Y2)},A2=J?(W2)=>W2.touches[0].clientX:(W2)=>W2.touches[0].clientY,L2=(W2)=>{W2.stopPropagation(),y=!0,d=A2(W2),f=c,C(),m.classList.add(`${Y}-scrollbar--dragging`)},X2=(W2)=>{if(!y)return;W2.preventDefault();let O2=A2(W2)-d,R2=E>0?O2/E:0,P2=M-A,Z2=R2*P2,r=Math.max(0,Math.min(f+Z2,P2));$.style.transform=`${p}(${r/P2*E}px)`,Q(r)},b2=()=>{if(y=!1,m.classList.remove(`${Y}-scrollbar--dragging`),B)u()},F2=(W2)=>{if(W2.target===$)return;if(E<=0)return;let O2=W2.touches[0],R2=m.getBoundingClientRect(),P2=(J?O2.clientX:O2.clientY)-R2[n];if(V==="jump"){let Z2=M-A,r=Math.max(0,Math.min(P2-O/2,E));Q(r/E*Z2)}else R=P2,L=c,N2();a()},y2=()=>{if(N)a()},D2=()=>{if(!y){if(S=!1,B)u()}},k2=()=>{S=!0,C(),a()},H2=()=>{if(S=!1,!y&&B)u()},z2=()=>{if(C(),G2(),x!==null)cancelAnimationFrame(x),x=null;m.removeEventListener("click",K2),m.removeEventListener("mousedown",$2),m.removeEventListener("mouseenter",k2),document.removeEventListener("mouseup",o),m.removeEventListener("mouseleave",H2),m.removeEventListener("touchstart",F2),$.removeEventListener("mousedown",B2),$.removeEventListener("touchstart",L2),$.removeEventListener("touchmove",X2),$.removeEventListener("touchend",b2),j.removeEventListener("mouseenter",y2),j.removeEventListener("mouseleave",D2),document.removeEventListener("mousemove",U2),document.removeEventListener("mouseup",Y2),W.removeEventListener("click",K2),W.removeEventListener("mousedown",$2),W.removeEventListener("mouseenter",k2),W.removeEventListener("mouseleave",H2),W.remove(),w.style.removeProperty("--vlist-custom-scrollbar-padding-top"),w.style.removeProperty("--vlist-custom-scrollbar-padding-right"),w.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),w.style.removeProperty("--vlist-custom-scrollbar-padding-left"),m.remove()};if(s(),m.addEventListener("click",K2),m.addEventListener("mousedown",$2),m.addEventListener("mouseenter",k2),m.addEventListener("mouseleave",H2),m.addEventListener("touchstart",F2,{passive:!0}),$.addEventListener("mousedown",B2),$.addEventListener("touchstart",L2,{passive:!0}),$.addEventListener("touchmove",X2,{passive:!1}),$.addEventListener("touchend",b2,{passive:!0}),j.addEventListener("mouseenter",y2),j.addEventListener("mouseleave",D2),W.addEventListener("click",K2),W.addEventListener("mousedown",$2),G)W.addEventListener("mouseenter",k2),W.addEventListener("mouseleave",H2);return{show:a,hide:e,updateBounds:i,updatePosition:q2,isVisible:()=>g,destroy:z2}};var I1=0.65,$1=0.5,J1=1.7,S1=0.95,p1=0.1,d2=5,u1=100;function N0(j){let Q=j?.force??!1,q,Y,J,K,B,X={isCompressed:!1,actualSize:0,virtualSize:0,ratio:1},H=!1,G=0,N=null,l=!1,V=0,w=0,D=null,F=null,_=0,z=0,v=null,M=new Float64Array(d2),A=new Float64Array(d2),O=0,E=0,y={start:0,end:-1},S=-1,d=null;function f(){return Math.max(0,X.virtualSize+G-q.containerSize)}function c(){if(X.virtualSize<=0)return 0;return Math.max(0,q.containerSize*(1-X.ratio))}function k($){let W=q.totalItems;if(X=e0(W,Y,Q),X.isCompressed&&!H)t($);else if(!X.isCompressed&&H)n($);if(X.isCompressed){if(G=c(),q.isCompressed=!0,q.compressionRatio=X.ratio,$.updateContentSize(X.virtualSize+G),N)N.updateBounds(X.virtualSize+G,q.containerSize)}}let g=null,x=null,R=null,L=null,b=null;function Z($){V=$,w=$,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=$,q.scrollDirection=$>q.prevScrollPosition?1:-1,d.forceRender()}function U(){if(D!==null)cancelAnimationFrame(D),D=null;if(F!==null)cancelAnimationFrame(F),F=null}function T($){U(),Z(Math.max(0,Math.min($,f())))}function p($,W,P=o2){U();let I=Math.max(0,Math.min($,f())),s=V;if(Math.abs(I-s)<$1){Z(I);return}let C=performance.now(),u=(a)=>{let e=Math.min((a-C)/W,1);if(Z(s+(I-s)*P(e)),e<1)F=requestAnimationFrame(u);else F=null};F=requestAnimationFrame(u)}function t($){H=!0,q.isCompressed=!0;let W=K?"scrollLeft":"scrollTop",P=K?"overflowX":"overflow",I=J[W];if(J.style[P]="hidden",J[W]=0,I>0)V=I,w=I,q.scrollPosition=I;G=c();let s=()=>{let i=w-V,q2=f();if(Math.abs(i)<$1)V=Math.max(0,Math.min(w,q2)),w=V,D=null;else V+=i*I1,V=Math.max(0,Math.min(V,q2)),D=requestAnimationFrame(s);q.prevScrollPosition=q.scrollPosition,q.scrollPosition=V,q.scrollDirection=V>q.prevScrollPosition?1:-1,$.forceRender()};g=(i)=>{i.preventDefault();let q2=f();if(w=Math.max(0,Math.min(w+i.deltaY*X.ratio*J1,q2)),D===null)D=requestAnimationFrame(s)},J.addEventListener("wheel",g,{passive:!1});let C=()=>{if(v!==null)cancelAnimationFrame(v),v=null};x=(i)=>{if(C(),D!==null)cancelAnimationFrame(D),D=null;let q2=i.touches[0];if(!q2)return;let K2=K?q2.clientX:q2.clientY;_=K2,z=V,O=1,E=0,M[0]=performance.now(),A[0]=K2},R=(i)=>{i.preventDefault();let q2=i.touches[0];if(!q2)return;let K2=K?q2.clientX:q2.clientY,G2=performance.now(),M2=O<d2?O:E;if(M[M2]=G2,A[M2]=K2,O<d2)O++;else E=(E+1)%d2;let N2=_-K2,J2=f(),o=Math.max(0,Math.min(z+N2*X.ratio*J1,J2));V=o,w=o,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=o,q.scrollDirection=o>q.prevScrollPosition?1:-1,$.forceRender()},L=()=>{let i=performance.now(),q2=1/0,K2=0,G2=-1,M2=0,N2=0;for(let B2=0;B2<O;B2++){let U2=(E+B2)%d2,Y2=M[U2];if(i-Y2>=u1)continue;N2++;let A2=A[U2];if(Y2<q2)q2=Y2,K2=A2;if(Y2>G2)G2=Y2,M2=A2}let J2=0;if(N2>=2){let B2=G2-q2;if(B2>0)J2=(K2-M2)/B2}if(O=0,E=0,Math.abs(J2)<p1)return;let o=J2*16,$2=()=>{if(o*=S1,Math.abs(o)<0.5){v=null;return}let B2=f(),U2=V+o;if(U2=Math.max(0,Math.min(U2,B2)),U2<=0&&o<0||U2>=B2&&o>0){V=U2,w=U2,q.scrollPosition=U2,$.forceRender(),v=null;return}V=U2,w=U2,q.prevScrollPosition=q.scrollPosition,q.scrollPosition=U2,q.scrollDirection=U2>q.prevScrollPosition?1:-1,$.forceRender(),v=requestAnimationFrame($2)};v=requestAnimationFrame($2)},J.addEventListener("touchstart",x,{passive:!0}),J.addEventListener("touchmove",R,{passive:!1}),J.addEventListener("touchend",L,{passive:!0}),J.addEventListener("touchcancel",L,{passive:!0}),b=()=>{if(J[W]!==0)J[W]=0},J.addEventListener("scroll",b,{passive:!0});let u=(i)=>{if(V=i,w=i,D!==null)cancelAnimationFrame(D),D=null;q.prevScrollPosition=q.scrollPosition,q.scrollPosition=i,q.scrollDirection=i>q.prevScrollPosition?1:-1,$.forceRender()},a=$.getMethod("_scrollbar:setCallback"),e=$.getMethod("_scrollbar:getInstance");if(a&&e){a(u);let i=e();if(i)N=i,l=!1,N.updateBounds(X.virtualSize+G,q.containerSize)}else if(!N){let i=$.config.classPrefix;if(N=$0(J,u,{},i,K,$.dom.root),l=!0,!J.classList.contains(`${i}-viewport--custom-scrollbar`))J.classList.add(`${i}-viewport--custom-scrollbar`);N.updateBounds(X.virtualSize+G,q.containerSize)}}function n($){H=!1,q.isCompressed=!1,q.compressionRatio=1,V=0,w=0,O=0,E=0,m();let W=K?"overflowX":"overflow";J.style[W]="auto",G=0,$.updateContentSize(Y.getTotalSize())}function m(){if(D!==null)cancelAnimationFrame(D),D=null;if(F!==null)cancelAnimationFrame(F),F=null;if(v!==null)cancelAnimationFrame(v),v=null;if(g)J.removeEventListener("wheel",g),g=null;if(x)J.removeEventListener("touchstart",x),x=null;if(R)J.removeEventListener("touchmove",R),R=null;if(L)J.removeEventListener("touchend",L),J.removeEventListener("touchcancel",L),L=null;if(b)J.removeEventListener("scroll",b),b=null;if(N&&l)N.destroy();N=null,l=!1;let $=K?"scrollLeft":"scrollTop";if(J&&J[$]!==0)J[$]=0}return{name:"scale",priority:20,setup($){q=$.getState(),Y=$.sizeCache,J=$.dom.viewport,K=$.config.axis.primary==="x",B=$.config.overscan,d=$,$.registerMethod("_updateCompressionMode",()=>k($)),$.registerMethod("_scale:getCompression",()=>X),$.registerMethod("_scale:easedScrollTo",(W,P)=>p(W,P)),$.setScrollFns(()=>V,(W)=>{if(!X.isCompressed||!H){let I=K?"scrollLeft":"scrollTop";J[I]=W;return}if(U(),v!==null)cancelAnimationFrame(v),v=null;let P=W*X.ratio;Z(Math.max(0,Math.min(P,f())))}),$.setScrollToIndexFn((W,P,I,s,C)=>{if(!X.isCompressed||!H)return!1;let u=e2(W,Y,q.containerSize,q.totalItems,X,P);if(I==="smooth")p(u,s??i2,C);else T(u)}),k($),S=q.totalItems,$.registerDestroyHandler(m)},hooks:{onCalculate($){if($.totalItems!==S&&d)S=$.totalItems,k(d);if(!X.isCompressed||!H)return;let W=$.totalItems;if(W===0||$.containerSize<=0){$.visibleCount=0;return}m2($.scrollPosition,$.containerSize,Y,W,X,y);let P=Math.max(0,y.start-B),I=Math.min(W-1,y.end+B),s=Math.min(I-P+1,$.capacity);$.visibleCount=s,$.startIndex=P;for(let C=0;C<s;C++){let u=P+C;$.visibleIndices[C]=u,$.visibleOffsets[C]=x2(u,$.scrollPosition,Y,W,$.containerSize,X),$.visibleSizes[C]=Y.getSize(u)}$.prevRangeStart=P,$.prevRangeEnd=I},onAfterScroll($){if(N&&H)N.updatePosition($),N.show()},onResize(){if(H){if(G=c(),N)N.updateBounds(X.virtualSize+G,q.containerSize);let $=f();if(V>$)V=$,w=$,q.scrollPosition=$}}},destroy(){m()}}}function W0(j){let Q=null,q,Y=0,J=0;return{name:"scrollbar",priority:15,setup(K){let{dom:B,config:X}=K,{classPrefix:H}=X,G=X.axis.primary==="x";q=K.getState();let N=(l)=>{if(G)B.viewport.scrollLeft=l;else B.viewport.scrollTop=l};if(K.registerMethod("_scrollbar:setCallback",(l)=>{N=l}),Q=$0(B.viewport,(l)=>{N(l)},j,H,G,B.root),B.viewport.classList.add(`${H}-viewport--custom-scrollbar`),j?.gutter)B.viewport.classList.add(`${H}-viewport--gutter`);queueMicrotask(()=>{if(!q.isCompressed)Q?.updateBounds(q.totalSize,q.containerSize)}),K.registerMethod("_scrollbar:getInstance",()=>Q),K.registerDestroyHandler(()=>{if(Q?.destroy(),Q=null,B.viewport.classList.remove(`${H}-viewport--custom-scrollbar`),j?.gutter)B.viewport.classList.remove(`${H}-viewport--gutter`)})},hooks:{onAfterScroll(K){if(!q.isCompressed){let{totalSize:B,containerSize:X}=q;if(B!==Y||X!==J)Y=B,J=X,Q?.updateBounds(B,X)}Q?.updatePosition(K),Q?.show()},onResize(){if(!q.isCompressed){let{totalSize:K,containerSize:B}=q;Y=K,J=B,Q?.updateBounds(K,B)}}},destroy(){Q?.destroy(),Q=null}}}var Q1=(j)=>{let Q=Math.max(1,Math.floor(j.columns)),q=j.gap??0,Y=j.isHeaderFn,J={row:0,col:0},K=(D)=>{if(D<=0)return 0;if(!Y)return Math.ceil(D/Q);let F=0,_=0,z=0;for(let v=0;v<D;v++)if(Y(v)){if(z++,_)F++,_=0;F++,_=0}else if(_++,_>=Q)F++,_=0;if(_)F++;return F},B=(D)=>{return J.row=X(D),J.col=H(D),J},X=(D)=>{if(!Y)return Math.floor(D/Q);let F=0,_=0;for(let z=0;z<=D;z++)if(Y(z)){if(_)F++,_=0;if(z===D)return F;F++,_=0}else{if(z===D)return F;if(_++,_>=Q)F++,_=0}return console.warn(`⚠️ getRow(${D}) fell through - returning ${F}`),F},H=(D)=>{if(!Y)return D%Q;if(Y(D))return 0;let F=0;for(let _=0;_<=D;_++)if(Y(_))F=0;else{if(_===D)return F;if(F++,F>=Q)F=0}return F},G=(D,F,_)=>{if(_<=0)return{start:0,end:-1};if(!Y){let O=Math.max(0,D*Q),E=Math.min(_-1,(F+1)*Q-1);return{start:O,end:E}}let z=-1,v=-1,M=0,A=0;for(let O=0;O<_;O++){if(Y(O)){if(A)M++,A=0;if(M>=D&&M<=F){if(z<0)z=O;v=O}M++,A=0}else{if(M>=D&&M<=F){if(z<0)z=O;v=O}if(A++,A>=Q)M++,A=0}if(M>F&&!A)break}if(z<0)return{start:0,end:-1};return{start:z,end:v}},N=(D,F,_)=>{if(F<0||F>=Q)return-1;let z=D*Q+F;if(z<0||z>=_)return-1;return z},l=(D)=>{let F=(Q-1)*q;return Math.max(0,(D-F)/Q)};return{get columns(){return Q},get gap(){return q},update:(D)=>{if(D.columns!==void 0)Q=Math.max(1,Math.floor(D.columns));if(D.gap!==void 0)q=D.gap;if(D.isHeaderFn!==void 0)Y=D.isHeaderFn},getTotalRows:K,getPosition:B,getRow:X,getCol:H,getItemRange:G,getItemIndex:N,getColumnWidth:l,getColumnOffset:(D,F)=>{let _=l(F);return D*(_+q)}}};var p2={selected:!1,focused:!1};function V0(j){if(!j.columns||j.columns<1)throw Error("[vlist] grid: columns must be >= 1");let Q,q,Y,J,K,B,X,H,G,N,l=null,V=null,w=!1,D=null,F=new Map,_=0,z={start:0,end:-1},v=-1,M=-1,A=!0;function O(){if(w||!D)return;w=!0,V=D("_scale:getCompression")??null}function E(){return Q.getTotalRows(Y.totalItems)}function y(k){let g=Q.getRow(k),x=Q.getCol(k),R=Q.getColumnOffset(x,_),L=q.getOffset(g);if(H)return`translate(${Math.round(L)}px, ${Math.round(R)}px)`;return`translate(${Math.round(R)}px, ${Math.round(L)}px)`}function S(k,g){let x=Q.getRow(g),R=Q.getColumnWidth(_),L=q.getSize(x)-Q.gap;if(H)k.style.width=`${L}px`,k.style.height=`${R}px`;else k.style.width=`${R}px`,k.style.height=`${L}px`}function d(k,g,x,R){if(R)R(x,p2);else p2.selected=!1,p2.focused=!1;let L=B(g,x,p2);if(typeof L==="string")k.innerHTML=L;else k.innerHTML="",k.appendChild(L)}function f(){if(Y.destroyed)return;let{scrollPosition:k,containerSize:g}=Y;if(!A&&k===v&&g===M)return;v=k,M=g,A=!1;let x=E();if(g<=0||x===0)return;O();let R=V?.()??null,L=R!==null&&R.isCompressed,b,Z;if(L)m2(k,g,q,x,R,z),b=Math.max(0,z.start-N),Z=Math.min(x-1,z.end+N);else{let $=q.indexAtOffset(k),W=q.indexAtOffset(k+g);if(W<x-1)W++;$=Math.max(0,$),W=Math.min(x-1,Math.max(0,W)),b=Math.max(0,$-N),Z=Math.min(x-1,W+N)}if(b===Y.prevRangeStart&&Z===Y.prevRangeEnd&&!Y.renderPending)return;let U=Q.getItemRange(b,Z,Y.totalItems);F.forEach(($,W)=>{if(W<U.start||W>U.end)$.el.remove(),J.release($.el),F.delete(W)});let T=`${G}-item ${G}-grid-item`,p=l?.()??null,t=p?`${G}-item--selected`:"",n=p?`${G}-item--focused`:"";for(let $=U.start;$<=U.end;$++){let W=X($);if(!W)continue;let P=F.get($);if(P===void 0){let I=J.acquire();I.className=T,I.setAttribute("data-index",String($)),I.setAttribute("data-id",String(W.id)),d(I,W,$,p),P={el:I,lastItem:W},F.set($,P),K.appendChild(I)}else if(P.lastItem!==W)P.el.setAttribute("data-id",String(W.id)),P.lastItem=W,d(P.el,W,$,p);if(p)if(p($,p2),P.el.classList.toggle(t,p2.selected),P.el.classList.toggle(n,p2.focused),p2.selected)P.el.setAttribute("aria-selected","true");else P.el.removeAttribute("aria-selected");if(S(P.el,$),L){let I=Q.getRow($),s=Q.getCol($),C=Q.getColumnOffset(s,_),u=x2(I,k,q,x,g,R);P.el.style.transform=H?`translate(${Math.round(u)}px, ${Math.round(C)}px)`:`translate(${Math.round(C)}px, ${Math.round(u)}px)`}else P.el.style.transform=y($)}if(!L){let $=q.getTotalSize();K.style[H?"width":"height"]=$+"px"}Y.totalSize=q.getTotalSize(),Y.prevRangeStart=b,Y.prevRangeEnd=Z,Y.renderPending=!1;let m=U.end-U.start+1;Y.visibleCount=Math.min(m,Y.capacity),Y.startIndex=U.start;for(let $=0;$<Y.visibleCount;$++){let W=U.start+$,P=Q.getRow(W);Y.visibleIndices[$]=W,Y.visibleOffsets[$]=L?x2(P,k,q,x,g,R):q.getOffset(P),Y.visibleSizes[$]=q.getSize(P)}}function c(){if(Y.destroyed)return;q.rebuild(E()),Y.prevRangeStart=-1,Y.prevRangeEnd=-1,Y.renderPending=!0,A=!0,f()}return{name:"grid",priority:10,conflicts:["masonry","table"],setup(k){let g=j.gap??0;Q=Q1({columns:j.columns,gap:g}),q=k.sizeCache,Y=k.getState(),J=k.pool,K=k.dom.content,B=k.template,H=k.config.axis.primary==="x",G=k.config.classPrefix,N=k.config.overscan,X=k.getItem.bind(k),l=()=>k.getItemStateFn(),D=k.getMethod.bind(k),_=Y.crossSize;let x=k.rawSizeSpec,R;if(typeof x==="function"){let b={columnWidth:Q.getColumnWidth(_),columns:j.columns,gap:g};R=x(0,b),k.setSizeConfig((Z)=>{b.columnWidth=Q.getColumnWidth(_);let U=Z*j.columns;return x(U,b)+g})}else if(R=x,g>0)k.setSizeConfig(R+g);if(q.rebuild(E()),g>0){let L=q.getTotalSize;q.getTotalSize=()=>{let b=L();return b>0?b-g:0}}k.setVirtualTotalFn(()=>E()),k.dom.root.classList.add(`${G}--grid`),k.setRenderFn(f,c),k.registerMethod("getGridLayout",()=>Q),k.registerMethod("updateGrid",(L)=>{if(L.columns!==void 0){if(!Number.isInteger(L.columns)||L.columns<1)throw Error("[vlist] updateGrid: columns must be >= 1")}if(L.gap!==void 0&&L.gap<0)throw Error("[vlist] updateGrid: gap must be >= 0");if(Q.update(L),L.gap!==void 0||L.columns!==void 0){let b=Q.gap;if(typeof x==="function"){let Z={columnWidth:Q.getColumnWidth(_),columns:Q.columns,gap:b};k.setSizeConfig((U)=>{Z.columnWidth=Q.getColumnWidth(_);let T=U*Q.columns;return x(T,Z)+b})}else k.setSizeConfig(R+b);q.rebuild(E())}if(L.columns!==void 0)k.setNavConfig({ud:Q.columns});_=Y.crossSize,c()}),k.registerMethod("scrollToIndex",(L,b="start")=>{let Z=Q.getRow(L),U=E();if(U===0)return;let T=Math.max(0,Math.min(Z,U-1)),p=q.getOffset(T),t=q.getSize(T),n=Y.containerSize,m=q.getTotalSize(),$=Math.max(0,m-n),W=typeof b==="string"?b:b.align??"start",P=typeof b==="object"?b.behavior:void 0,I=typeof b==="object"?b.duration:void 0,s;switch(W){case"center":s=p-(n-t)/2;break;case"end":s=p-n+t;break;default:s=p}s=Math.max(0,Math.min(s,$)),O();let C=V?.()??null;if(C?.isCompressed&&P==="smooth"&&I&&I>0){let u=e2(T,q,n,U,C,W),a=D?.("_scale:easedScrollTo");if(a)a(u,I);else k.scrollTo(s)}else if(P==="smooth"&&I&&I>0)k.smoothScrollTo(s,I);else k.scrollTo(s)}),k.setNavConfig({total:()=>Y.totalItems,ud:j.columns,lr:1,scrollIndex:(L)=>Q.getRow(L)}),k.registerDestroyHandler(()=>{for(let[,L]of F)L.el.remove();F.clear(),k.dom.root.classList.remove(`${G}--grid`)})},hooks:{onResize(k,g){let x=Y.crossSize;if(Math.abs(x-_)<1)return;if(_=x,(V?.()??null)?.isCompressed)c();else F.forEach((L,b)=>{S(L.el,b),L.el.style.transform=y(b)})}},destroy(){F.clear()}}}function _0(){return{name:"a11y",priority:55,setup(j){if(j.getItemStateFn())return;let{dom:Q,config:q,sizeCache:Y}=j,J=j.getState(),K=j.emitter,B=q.classPrefix,X=Q.liveRegion,H=-1,G=!1,N,l=-1,V=(S)=>j.getItem(S),w=()=>J.totalItems,D={id:0,index:0},F={selected:[],items:[]};j.setItemStateFn((S,d)=>{d.selected=l===S,d.focused=G&&H===S});function _(S){X.textContent="",X.textContent=S}let z=(S,d,f)=>{let c=S;while(c>=0&&c<f){let k=V(c);if(!k||!k.__groupHeader)return c;c+=d}c=S-d;while(c>=0&&c<f){let k=V(c);if(!k||!k.__groupHeader)return c;c-=d}return S},v=(S)=>{let d=j.getNavConfig(),f=d.scrollIndex?d.scrollIndex(S):S,c=Y.getOffset(f),k=Y.getSize(f),g=J.scrollPosition,x=J.containerSize,R=q.startPadding,L=q.endPadding,b=c+R,Z=b+k,U=g;if(b<g)U=Math.max(0,c);else if(Z>g+x)U=Z+L-x;if(U!==g)J.scrollPosition=U,j.scrollTo(U)},M=(S,d)=>{if(Q.content.setAttribute("aria-activedescendant",`${B}-item-${S}`),d)v(S);j.forceRender()},A=(S)=>{H=S,G=!0,M(S,!0);let d=V(S);if(d)D.id=d.id,D.index=S,K.emit("focus:change",D),_(`Item ${S+1} of ${w()}`)},O=(S,d)=>{if(H=S,d)G=!0;let f=V(S);if(f&&N===f.id)N=void 0,l=-1;else N=f?.id,l=f?S:-1;if(M(S,d),N!==void 0&&f&&N===f.id)F.selected[0]=N,F.selected.length=1,F.items[0]=f,F.items.length=1,_(`Selected, item ${S+1} of ${w()}`);else F.selected.length=0,F.items.length=0,_("Deselected");K.emit("selection:change",F)},E=()=>{if(J.destroyed)return;if(!Q.content.matches(":focus-visible"))return;let S=w();if(S===0)return;let d=H>=0?Math.min(H,S-1):0;d=z(d,1,S),A(d)},y=(S)=>{if(J.destroyed)return;let d=S.relatedTarget;if(d&&Q.root.contains(d))return;G=!1,Q.content.removeAttribute("aria-activedescendant"),j.forceRender()};Q.content.addEventListener("focusin",E),Q.content.addEventListener("focusout",y),j.registerKeydownHandler((S)=>{if(J.destroyed)return;let d=w();if(d===0)return;let f=H,c=f;if(S.key===" "||S.key==="Enter"){if(f>=0){let g=V(f);if(g&&!g.__groupHeader)O(f,!0)}S.preventDefault();return}let k=j.getNavConfig();if(k.navigate)switch(S.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":c=k.navigate(f,S.key,d);break;default:return}else{let g=k.ud||1,x=k.lr,R=q.axis.primary==="x";switch(S.key){case"ArrowUp":if(R&&!x)return;c=f-(R?x:g);break;case"ArrowDown":if(R&&!x)return;c=f+(R?x:g);break;case"ArrowLeft":if(!R&&!x)return;c=f-(R?g:x);break;case"ArrowRight":if(!R&&!x)return;c=f+(R?g:x);break;case"PageUp":case"PageDown":{let L=Y.getSize(Math.max(0,k.scrollIndex?k.scrollIndex(f):f)),Z=Math.max(1,Math.floor(J.containerSize/L))*g;c=S.key==="PageUp"?f-Z:f+Z;break}case"Home":c=0;break;case"End":c=d-1;break;default:return}}if(c<0)c=0;else if(c>=d)c=d-1;if(S.preventDefault(),c=z(c,c>=f?1:-1,d),c!==f)A(c)}),j.registerClickHandler((S)=>{if(J.destroyed)return;let d=S.target.closest("[data-index]");if(!d)return;let f=parseInt(d.dataset.index??"-1",10);if(f<0)return;let c=V(f);if(!c||c.__groupHeader)return;G=!1,Q.content.focus({preventScroll:!0}),O(f,!1)}),j.registerDestroyHandler(()=>{Q.content.removeEventListener("focusin",E),Q.content.removeEventListener("focusout",y)})}}}var r2=(j,Q,q)=>{if(String(q).startsWith(f2))return!1;let Y=f2+Q;if(j.has(Y))return j.delete(Y),j.add(q),!0;return!1},j1=(j)=>({selected:new Set(j??[]),focusedIndex:-1,focusVisible:!1});function u2(j,Q,q,Y){if(q===0)return;let J=Y?-Q:Q,K=j.focusedIndex+J;if(K<0)K=0;if(K>=q)K=q-1;j.focusedIndex=K}function J0(j){return Array.from(j)}var g1={preventScroll:!0};function M0(j){let Q=j?.mode??"single",q=j?.followFocus??!1,Y=j?.focusOnClick??!1,J,K,B,X,H,G,N,l,V=-1,w=new Map,D=null,F=null,_=null,z=null,v,M=!1;function A(Z){if(M)return;M=!0,D=Z.getMethod("_layoutToDataIndex")??null,F=Z.getMethod("_dataToLayoutIndex")??null,_=Z.getMethod("_isGroupHeader")??null,z=Z.getMethod("_scrollItemIntoView")??null;let U=Z.getMethod("getGroupLayout");if(U){let T=U();v=()=>T.totalEntries}}let O=(Z)=>D?D(Z):Z,E=(Z)=>{let U=O(Z);return U>=0?K(U):void 0},y=(Z,U,T)=>{if(!_)return Z;let p=Z;while(p>=0&&p<T){if(!_(p))return p;p+=U}p=Z-U;while(p>=0&&p<T){if(!_(p))return p;p-=U}return Z};function S(Z,U){if(Q==="single")J.selected.clear(),w.clear();if(J.selected.add(Z),U)w.set(Z,U)}function d(Z,U){if(J.selected.has(Z))J.selected.delete(Z),w.delete(Z);else S(Z,U)}function f(){J.selected.clear(),w.clear()}function c(Z){J.selected.delete(Z),w.delete(Z)}function k(Z,U){let T=Math.min(Z,U),p=Math.max(Z,U);for(let t=T;t<=p;t++){let n=K(t);if(n)J.selected.add(n.id),w.set(n.id,n)}}function g(){let Z=N.totalItems;for(let U=0;U<Z;U++){let T=K(U);if(T)J.selected.add(T.id),w.set(T.id,T)}}function x(){if(J.selected.size===0)return[];if(w.size>=J.selected.size){let p=[];for(let t of J.selected){let n=w.get(t);if(n)p.push(n)}if(p.length===J.selected.size)return p}let Z=[],U=new Set(J.selected),T=N.totalItems;for(let p=0;p<T&&U.size>0;p++){let t=K(p);if(t&&U.has(t.id))Z.push(t),w.set(t.id,t),U.delete(t.id)}return Z}function R(){B(),X.emit("selection:change",{selected:J0(J.selected),items:x()})}let L=null,b=-1;return{name:"selection",priority:50,setup(Z){J=j1(j?.initial),K=Z.getItem.bind(Z),B=Z.forceRender.bind(Z),X=Z.emitter,H=Z.dom;let U=Z.config;if(G=Z.sizeCache,N=Z.getState(),l=Z.scrollTo.bind(Z),v=()=>N.totalItems,Q==="none"){Z.registerMethod("select",()=>{}),Z.registerMethod("deselect",()=>{}),Z.registerMethod("toggleSelect",()=>{}),Z.registerMethod("selectAll",()=>{}),Z.registerMethod("clearSelection",()=>{}),Z.registerMethod("getSelected",()=>[]),Z.registerMethod("getSelectedItems",()=>[]),Z.registerMethod("selectNext",()=>{}),Z.registerMethod("selectPrevious",()=>{}),Z.registerMethod("_seedSelection",()=>{}),Z.registerMethod("_getFocusedId",()=>{return}),Z.registerMethod("_focusById",()=>{});return}let T=U.classPrefix;Z.setItemStateFn(($,W)=>{if(A(Z),J.selected.size>0){let P=O($),I=P>=0?K(P):void 0,s=I?.id;if(s!==void 0)if(J.selected.has(s))W.selected=!0;else if(r2(J.selected,P,s))W.selected=!0,w.delete(f2+P),w.set(s,I);else W.selected=!1;else W.selected=!1}else W.selected=!1;W.focused=J.focusVisible&&J.focusedIndex===$}),Z.registerMethod("_getSelectedIds",()=>J.selected),Z.registerMethod("_getFocusedIndex",()=>J.focusVisible?J.focusedIndex:-1),H.root.classList.add(`${T}--selectable`);let p=($)=>{L=null,b=-1;let W=$.target.closest("[data-index]");if(!W)return!1;let P=parseInt(W.dataset.index??"-1",10);if(P<0)return!1;let I=O(P);if(I<0)return!1;let s=K(I);if(!s)return!1;return L=s,b=P,!0},t=($)=>{if($<0)return;if(z){z($);return}let W=Z.getNavConfig(),P=W.scrollIndex?W.scrollIndex($):$,I=G.getOffset(P),s=G.getSize(P),C=N.containerSize,u=N.scrollPosition;if(I<u)l(I);else if(I+s>u+C)l(I-C+s)},n=()=>{if(N.destroyed)return;if(A(Z),!H.content.matches(":focus-visible")&&!H.root.matches(":focus-visible"))return;let $=v();if($===0)return;let W=J.focusedIndex>=0?Math.min(J.focusedIndex,$-1):0;W=y(W,1,$),J.focusedIndex=W,J.focusVisible=!0,H.content.setAttribute("aria-activedescendant",`${T}-item-${W}`),t(W),B()};H.root.addEventListener("focusin",n);let m=($)=>{if(N.destroyed)return;let W=$.relatedTarget;if(W&&H.root.contains(W))return;J.focusVisible=!1,B(),H.content.removeAttribute("aria-activedescendant")};if(H.root.addEventListener("focusout",m),Z.registerDestroyHandler(()=>{H.root.removeEventListener("focusin",n),H.root.removeEventListener("focusout",m)}),Z.registerClickHandler(($)=>{if(A(Z),!p($))return;if(Q==="multiple"&&$.shiftKey&&J.focusedIndex>=0){let W=V>=0?V:J.focusedIndex,P=O(W),I=O(b);if(P>=0&&I>=0)k(P,I);J.focusedIndex=b,J.focusVisible=Y,V=b,R();return}J.focusedIndex=b,J.focusVisible=Y,V=b,H.content.focus(g1),d(L.id,L),R()}),U.interactive)Z.registerKeydownHandler(($)=>{A(Z);let W=v();if(W===0)return;let P=Z.getNavConfig(),I=J.focusedIndex,s=!1,C=!1;if(P.navigate&&($.key==="ArrowUp"||$.key==="ArrowDown"||$.key==="ArrowLeft"||$.key==="ArrowRight"||$.key==="PageUp"||$.key==="PageDown"||$.key==="Home"||$.key==="End")){let a=P.navigate(J.focusedIndex,$.key,W);if(a!==J.focusedIndex)J.focusedIndex=Math.max(0,Math.min(a,W-1));J.focusVisible=!0,s=!0}else switch($.key){case"ArrowUp":{let a=P.ud||1,e=P.lr,i=U.axis.primary==="x";if(i&&!e)break;u2(J,-(i?e:a),W,U.reverse),J.focusVisible=!0,s=!0;break}case"ArrowDown":{let a=P.ud||1,e=P.lr,i=U.axis.primary==="x";if(i&&!e)break;u2(J,i?e:a,W,U.reverse),J.focusVisible=!0,s=!0;break}case"ArrowLeft":{let a=P.ud||1,e=P.lr,i=U.axis.primary==="x";if(!i&&!e)break;u2(J,-(i?a:e),W,U.reverse),J.focusVisible=!0,s=!0;break}case"ArrowRight":{let a=P.ud||1,e=P.lr,i=U.axis.primary==="x";if(!i&&!e)break;u2(J,i?a:e,W,U.reverse),J.focusVisible=!0,s=!0;break}case"Home":if(W>0)J.focusedIndex=0;J.focusVisible=!0,s=!0;break;case"End":if(W>0)J.focusedIndex=W-1;J.focusVisible=!0,s=!0;break;case"PageUp":case"PageDown":{let a=P.ud||1,e=Math.max(0,J.focusedIndex),i=P.scrollIndex?P.scrollIndex(e):e,q2=G.getSize(i),K2=N.containerSize,M2=(q2>0?Math.max(1,Math.floor(K2/q2)):10)*a;if(D&&F){let N2=D(J.focusedIndex),J2=$.key==="PageUp"?-M2:M2,o=N.totalItems-1;J.focusedIndex=F(Math.max(0,Math.min(o,N2+J2)))}else u2(J,$.key==="PageUp"?-M2:M2,W);J.focusVisible=!0,s=!0;break}case" ":case"Enter":if($.key===" "&&$.shiftKey&&Q==="multiple"&&J.focusedIndex>=0){if(V>=0){let a=O(V),e=O(J.focusedIndex);if(a>=0&&e>=0)k(a,e)}J.focusVisible=!0,C=!0,s=!0;break}if(J.focusedIndex>=0){let a=E(J.focusedIndex);if(a)d(a.id,a),V=J.focusedIndex;J.focusVisible=!0,C=!0,s=!0}break;case"a":if(($.ctrlKey||$.metaKey)&&Q==="multiple"){if(J.selected.size===N.totalItems)f();else g();J.focusVisible=!0,C=!0,s=!0}break;case"Delete":case"Backspace":if(J.selected.size>0)X.emit("delete",{selected:J0(J.selected),items:x()}),s=!0;break}if(J.focusedIndex!==I&&_){let a=J.focusedIndex>I?1:-1;J.focusedIndex=y(J.focusedIndex,a,W)}let u=J.focusedIndex!==I;if($.shiftKey&&Q==="multiple"&&!C&&u){if($.key==="ArrowUp"||$.key==="ArrowDown"||$.key==="ArrowLeft"||$.key==="ArrowRight"){let i=E(J.focusedIndex);if(i)d(i.id,i);V=J.focusedIndex,C=!0}if(($.ctrlKey||$.metaKey)&&($.key==="Home"||$.key==="End")){let i=O(I>=0?I:J.focusedIndex),q2=O(J.focusedIndex);if(i>=0&&q2>=0)k(i,q2);V=J.focusedIndex,C=!0}}if(q&&Q==="single"&&!C&&u&&J.focusedIndex>=0){let a=E(J.focusedIndex);if(a)S(a.id,a);C=!0}if(s){if($.preventDefault(),u&&J.focusedIndex>=0)t(J.focusedIndex),H.content.setAttribute("aria-activedescendant",`${T}-item-${J.focusedIndex}`);if(C)R();else if(u){if(B(),J.focusedIndex>=0){let a=E(J.focusedIndex);if(a)X.emit("focus:change",{id:a.id,index:J.focusedIndex})}}}});Z.registerMethod("select",(...$)=>{for(let W of $)S(W);R()}),Z.registerMethod("deselect",(...$)=>{for(let W of $)c(W);R()}),Z.registerMethod("toggleSelect",($)=>{d($),R()}),Z.registerMethod("selectAll",()=>{if(Q!=="multiple")return;g(),R()}),Z.registerMethod("clearSelection",()=>{f(),R()}),Z.registerMethod("getSelected",()=>{return J0(J.selected)}),Z.registerMethod("getSelectedItems",()=>{return x()}),Z.registerMethod("selectNext",()=>{A(Z);let $=v();if($===0)return;if(u2(J,1,$,U.reverse),_)J.focusedIndex=y(J.focusedIndex,1,$);let W=E(J.focusedIndex);if(W)S(W.id,W);R()}),Z.registerMethod("selectPrevious",()=>{A(Z);let $=v();if($===0)return;if(u2(J,-1,$,U.reverse),_)J.focusedIndex=y(J.focusedIndex,-1,$);let W=E(J.focusedIndex);if(W)S(W.id,W);R()}),Z.registerMethod("_seedSelection",($)=>{for(let W of $)J.selected.add(W)}),Z.registerMethod("_getFocusedId",()=>{if(J.focusedIndex<0)return;return E(J.focusedIndex)?.id}),Z.registerMethod("_focusById",($)=>{let W=N.totalItems;for(let P=0;P<W;P++){let I=K(P);if(I&&I.id===$){let s=F?F(P):P;J.focusedIndex=s,X.emit("focus:change",{id:$,index:s});return}}})},destroy(){w.clear()}}}var Q0=(j)=>j==null?0:typeof j==="function"?j():j;function G0(j){let Q=j?.scrollPadding,q,Y;return{name:"page",priority:5,setup(J){let{dom:K,sizeCache:B,config:X,emitter:H}=J,G=X.axis.primary==="x",N=window,l=J.getState();if(J.disableDefaultScroll(),J.disableDefaultResize(),K.root.style.overflow="visible",K.root.style.height="auto",G)K.viewport.style.overflowX="visible",K.viewport.style.overflowY="visible";else K.viewport.style.overflow="visible";K.viewport.classList.remove(`${X.classPrefix}-viewport--custom-scrollbar`),J.setScrollFns(()=>{let z=K.viewport.getBoundingClientRect();return Math.max(0,G?-z.left:-z.top)},(z)=>{let v=K.viewport.getBoundingClientRect(),M=(G?v.left+N.scrollX:v.top+N.scrollY)+z;if(G)N.scrollTo({left:M,top:N.scrollY,behavior:"instant"});else N.scrollTo({left:N.scrollX,top:M,behavior:"instant"})}),l.containerSize=G?N.innerWidth:N.innerHeight,l.crossSize=G?N.innerHeight:N.innerWidth;let V=null,w=()=>{let z=K.viewport.getBoundingClientRect(),v=Math.max(0,G?-z.left:-z.top);if(l.prevScrollPosition=l.scrollPosition,l.scrollPosition=v,l.scrollDirection=v>l.prevScrollPosition?1:v<l.prevScrollPosition?-1:0,J.onScrollFrame(),V!==null)clearTimeout(V);V=setTimeout(()=>{V=null,J.onScrollIdle()},150)};N.addEventListener("scroll",w,{passive:!0}),Y=()=>N.removeEventListener("scroll",w);let{innerWidth:D,innerHeight:F}=N,_=()=>{let{innerWidth:z,innerHeight:v}=N;if((G?Math.abs(z-D):Math.abs(v-F))<1)return;D=z,F=v,l.containerSize=G?z:v,l.crossSize=G?v:z,J.forceRender(),H.emit("resize",{width:z,height:v})};if(N.addEventListener("resize",_),q=()=>N.removeEventListener("resize",_),Q)J.setScrollToPosFn((z,v,M,A,O)=>{let E=Q0(G?Q.left:Q.top),y=Q0(G?Q.right:Q.bottom);if(A===0)return 0;let S=Math.max(0,Math.min(z,A-1)),d=v.getOffset(S),f=v.getSize(S),c=v.getTotalSize(),k=Math.max(0,c-M+y),g;switch(O){case"center":g=d-E-(M-E-y-f)/2;break;case"end":g=d-M+f+y;break;default:g=d-E}return Math.max(-E,Math.min(g,k))}),J.registerMethod("_scrollItemIntoView",(z)=>{let v=G?N.innerWidth:N.innerHeight,M=Q0(G?Q.left:Q.top),A=Q0(G?Q.right:Q.bottom),O=K.viewport.getBoundingClientRect(),E=G?N.scrollX:N.scrollY,y=G?O.left:O.top,S=y+E,d=B.getOffset(z),f=B.getSize(z),c=y+d,k=v-A,g=E;if(c<M)g=S+d-M;else if(c+f>k)g=S+d+f-k;if(g!==E)if(G)N.scrollTo({left:g,top:N.scrollY,behavior:"instant"});else N.scrollTo({left:N.scrollX,top:g,behavior:"instant"})});J.registerDestroyHandler(()=>{if(Y?.(),q?.(),V!==null)clearTimeout(V)})},destroy(){Y?.(),q?.(),Y=void 0,q=void 0}}}var x1=(j)=>{try{let Q=sessionStorage.getItem(j);if(!Q)return;return JSON.parse(Q)}catch{return}};function X0(j){let Q=j?.autoSave,q=Q?x1(Q):j?.restore,Y=!1,J=null;return{name:"snapshots",priority:50,setup(K){let{sizeCache:B,emitter:X}=K,H=K.getState(),G=()=>{let{scrollPosition:V,totalItems:w}=H,F=K.getMethod("getSelected")?.();if(w===0){let y={index:0,offsetInItem:0,total:0};if(F?.length)y.selectedIds=F;return y}let _,z;if(H.isCompressed&&H.compressionRatio!==1){let y=H.totalSize,d=V/y*w;_=Math.max(0,Math.min(Math.floor(d),w-1)),z=(d-_)*B.getSize(_)}else _=B.indexAtOffset(V),z=V-B.getOffset(_);z=Math.max(0,z);let v={index:_,offsetInItem:z,total:w,scrollTop:V},M=B.getSize(_);if(M)v.offsetRatio=z/M;let A=K.getMethod("_layoutToDataIndex");if(A){let y=A(_);if(y<0){for(let S=_+1;S<w;S++)if(y=A(S),y>=0)break}if(y>=0)v.dataIndex=y}let O=K.getMethod("_getTotal");if(O)v.dataTotal=O();if(F?.length)v.selectedIds=F;let E=K.getMethod("_getFocusedId");if(E){let y=E();if(y!==void 0)v.focusedId=y}return v};K.registerMethod("getScrollSnapshot",G);let N=(V,w=!0)=>{let{index:D,offsetInItem:F,selectedIds:_,focusedId:z}=V,v=H.totalItems,M=V.dataTotal??V.total;if(v===0&&M&&M>0){let R=K.getMethod("_setTotal");if(R)R(M),v=H.totalItems;B.rebuild(v);let L=K.getMethod("_updateCompressionMode");if(L)L();if(!H.isCompressed)K.updateContentSize(B.getTotalSize()),H.totalSize=B.getTotalSize()}if(v===0)return;if(!Number.isFinite(D)||!Number.isFinite(F))return;if(B.getTotal()!==v){B.rebuild(v);let R=K.getMethod("_updateCompressionMode");if(R)R();if(!H.isCompressed)K.updateContentSize(B.getTotalSize()),H.totalSize=B.getTotalSize()}let O=K.getMethod("_dataToLayoutIndex"),E=D;if(V.dataIndex!==void 0&&V.dataIndex>=0)E=O?O(V.dataIndex):V.dataIndex;else if(O)E=O(D);let y=Math.max(0,Math.min(E,v-1)),S=B.getSize(y),d=V.offsetRatio!==void 0?V.offsetRatio*S:Math.min(F,S),f;if(H.isCompressed&&H.compressionRatio!==1){let R=K.getMethod("_getTotal")?.(),L=R!==void 0&&V.dataTotal===R;if(V.scrollTop!==void 0&&(V.total===v||L))f=V.scrollTop;else{let b=S?d/S:0;f=(y+b)/v*H.totalSize}}else f=B.getOffset(y)+d;let c=Math.max(0,H.totalSize-H.containerSize);f=Math.max(0,Math.min(f,c));let k=f===V.scrollTop;if(V.dataIndex!==void 0&&V.dataIndex>=0){let R=S?d/S:0;K.registerMethod("_restoreAnchor",{dataIndex:V.dataIndex,fraction:R,skipAdjust:k}),K.registerMethod("_suppressSave",1)}if(K.scrollTo(f),w&&_?.length){let R=K.getMethod("select");if(R)R(..._)}let g=K.getMethod("loadVisibleRange"),x=()=>{if(z===void 0)return;let R=K.getMethod("_focusById");if(R)R(z)};if(g){let R=0,L=()=>{if(H.containerSize>0){if(Math.abs(H.scrollPosition-f)>1)K.scrollTo(f);g().then(x)}else if(++R<10)requestAnimationFrame(L)};requestAnimationFrame(L)}else{let R=K.getMethod("reload");if(R)requestAnimationFrame(()=>{R().then(x)});else requestAnimationFrame(x)}};K.registerMethod("restoreScroll",N);let l=!!(q&&Q);if(K.registerDestroyHandler(()=>{Y=!0}),Q){J=()=>{if(Y||l||K.getMethod("_suppressSave"))return;let v=G();try{sessionStorage.setItem(Q,JSON.stringify(v))}catch{}},K.registerMethod("_saveSnapshot",J);let V=0,w=()=>{if(V)return;V=requestAnimationFrame(()=>{if(V=0,J)J()})};X.on("selection:change",w),X.on("focus:change",w);let D=0,F=()=>{if(D=0,J)J()},_=()=>{if(D)clearTimeout(D);D=setTimeout(F,300)};X.on("scroll",_);let z=()=>{J?.()};if(window.addEventListener("beforeunload",z),K.registerDestroyHandler(()=>{if(V)cancelAnimationFrame(V);if(D)clearTimeout(D);window.removeEventListener("beforeunload",z)}),q&&q.total&&q.total>0){let v=K.getMethod("_cancelAutoLoad");if(v)v();let M=K.getMethod("_setTotal");if(M)M(q.total)}}if(q){let V=!0;if(q.selectedIds?.length){let w=K.getMethod("_seedSelection");if(w)w(q.selectedIds),V=!1}queueMicrotask(()=>{if(N(q,V),l=!1,J)J()})}},hooks:{onIdle(){if(J&&!Y)J()}},destroy(){Y=!0,J=null}}}function q1(j,Q){if(Q===!1)return null;return{duration:Math.min(Q?.duration??j.duration,1000),easing:Q?.easing??j.easing}}function A0(j){let Q=j?.duration??200,q=j?.easing??"cubic-bezier(0.2, 0, 0, 1)",Y={duration:Q,easing:q},J=q1(Y,j?.remove),K=q1(Y,j?.insert),B=null,X=null;return{name:"transition",conflicts:["grid","table","masonry"],priority:45,setup(H){let{sizeCache:G,emitter:N}=H,l=H.config,V=H.dom,w=H.getState(),D=l.reverse?"bottom center":"top center",F=l.axis.primary==="x"?"translateX":"translateY",_=H.getMethod("_dataToLayoutIndex")??null,z=(A)=>_?_(A):A,v=(A)=>{let O=String(A).replace(/"/g,"\\\""),E=V.content.querySelector(`[data-id="${O}"]`),y=E?parseInt(E.dataset.index??"-1",10):-1;return{el:E,layoutIndex:y}},M=()=>{let A=V.content.children;for(let O=0;O<A.length;O++)A[O].style.transition="none";V.content.offsetHeight;for(let O=0;O<A.length;O++)A[O].style.transition=""};if(J){let A=(E)=>{if(B)B();let y=typeof document<"u"?document.activeElement:null,S=y&&V.content.contains(y)?parseInt(y.dataset?.index??"-1",10):-1,d=v(E),f=d.layoutIndex,c=d.el,k=f>=0?G.getSize(f):0,g=f>=0?G.getOffset(f):0;if(!c||f<0){if(H.removeItemById(E)<0)return!1;if(H.forceRender(),M(),N.emit("data:change",{type:"remove",id:E}),S>=0){let I=w.totalItems;if(I>0)H.getRenderedElement(Math.min(S,I-1))?.focus()}return N.emit("remove:end",{id:E}),!0}let x=c.cloneNode(!0);x.style.pointerEvents="none",x.style.overflow="hidden",x.removeAttribute("data-index"),x.removeAttribute("data-id"),x.removeAttribute("id"),x.removeAttribute("aria-selected"),x.classList.remove(`${l.classPrefix}-item--selected`);let R=l.axis.primary==="x"?"scrollLeft":"scrollTop",L=V.viewport[R];if(H.removeItemById(E)<0)return!1;H.forceRender(),M(),N.emit("data:change",{type:"remove",id:E});let Z=L-V.viewport[R];x.style.zIndex="1",V.content.appendChild(x);let U=J,T={duration:U.duration,easing:U.easing},p=[],t=Math.round(g-Z);p.push(x.animate([{transform:`${F}(${t}px) scaleY(1)`,opacity:1,transformOrigin:D},{transform:`${F}(${Math.round(g)}px) scaleY(0)`,opacity:0,transformOrigin:D}],T));let n=Z>0,m=V.content.children;for(let P=0;P<m.length;P++){let I=m[P];if(I===x)continue;let s=parseInt(I.dataset?.index??"-1",10);if(s<0||!n&&s<f)continue;let C=G.getOffset(s),u=s>=f?Math.round(C+k-Z):Math.round(C-Z),a=Math.round(C);if(u===a)continue;p.push(I.animate([{transform:`${F}(${u}px)`},{transform:`${F}(${a}px)`}],T))}let $=!1,W=()=>{if($)return;$=!0,B=null,x.remove();for(let P of p)if(P.playState!=="finished")P.cancel();if(S>=0){let P=w.totalItems;if(P>0)H.getRenderedElement(Math.min(S,P-1))?.focus()}N.emit("remove:end",{id:E})};return B=W,Promise.all(p.map((P)=>P.finished)).then(W,W),setTimeout(W,U.duration+50),!0},O=(E)=>{if(E.length===0)return 0;if(E.length===1)return A(E[0])?1:0;if(B)B();if(X)X();let y=typeof document<"u"?document.activeElement:null,S=y&&V.content.contains(y)?parseInt(y.dataset?.index??"-1",10):-1,d=[];for(let $ of E){let W=v($);d.push({id:$,layoutIndex:W.layoutIndex,el:W.el,size:W.layoutIndex>=0?G.getSize(W.layoutIndex):0,offset:W.layoutIndex>=0?G.getOffset(W.layoutIndex):0})}d.sort(($,W)=>W.layoutIndex-$.layoutIndex);let f=[];for(let $ of d){if(!$.el||$.layoutIndex<0)continue;let W=$.el.cloneNode(!0);W.style.pointerEvents="none",W.style.overflow="hidden",W.removeAttribute("data-index"),W.removeAttribute("data-id"),W.removeAttribute("id"),W.removeAttribute("aria-selected"),W.classList.remove(`${l.classPrefix}-item--selected`),f.push({clone:W,offset:$.offset,size:$.size,layoutIndex:$.layoutIndex})}let c=new Map,k=V.content.children;for(let $=0;$<k.length;$++){let W=k[$],P=W.dataset?.id,I=parseInt(W.dataset?.index??"-1",10);if(P&&I>=0)c.set(P,G.getOffset(I))}let g=l.axis.primary==="x"?"scrollLeft":"scrollTop",x=V.viewport[g],R=[];for(let $ of d)if(H.removeItemById($.id)>=0)R.push($.id);if(R.length===0)return 0;H.forceRender(),M();for(let $ of R)N.emit("data:change",{type:"remove",id:$});if(f.length===0){if(S>=0){let $=w.totalItems;if($>0)H.getRenderedElement(Math.min(S,$-1))?.focus()}for(let $ of R)N.emit("remove:end",{id:$});return R.length}let L=x-V.viewport[g],b=J,Z={duration:b.duration,easing:b.easing},U=[];f.sort(($,W)=>$.layoutIndex-W.layoutIndex);let T=0;for(let $ of f){$.clone.style.zIndex="1",V.content.appendChild($.clone);let W=Math.round($.offset-L),P=Math.round($.offset-T);U.push($.clone.animate([{transform:`${F}(${W}px) scaleY(1)`,opacity:1,transformOrigin:D},{transform:`${F}(${P}px) scaleY(0)`,opacity:0,transformOrigin:D}],Z)),T+=$.size}let p=new Set(f.map(($)=>$.clone)),t=V.content.children;for(let $=0;$<t.length;$++){let W=t[$];if(p.has(W))continue;let P=W.dataset?.id,I=parseInt(W.dataset?.index??"-1",10);if(!P||I<0)continue;let s=c.get(P);if(s===void 0)continue;let C=G.getOffset(I),u=Math.round(s-L),a=Math.round(C);if(u===a)continue;U.push(W.animate([{transform:`${F}(${u}px)`},{transform:`${F}(${a}px)`}],Z))}let n=!1,m=()=>{if(n)return;n=!0,B=null;for(let{clone:$}of f)$.remove();for(let $ of U)if($.playState!=="finished")$.cancel();if(S>=0){let $=w.totalItems;if($>0)H.getRenderedElement(Math.min(S,$-1))?.focus()}for(let $ of R)N.emit("remove:end",{id:$})};return B=m,Promise.all(U.map(($)=>$.finished)).then(m,m),setTimeout(m,b.duration+50),R.length};H.registerMethod("removeItem",A),H.registerMethod("removeItems",O)}if(K){let A=(O,E)=>{if(X)X();if(B)B();let y=E??0,S=new Map,d=V.content.children;for(let $=0;$<d.length;$++){let W=d[$],P=W.dataset?.id,I=parseInt(W.dataset?.index??"-1",10);if(P&&I>=0)S.set(P,G.getOffset(I))}let f=l.axis.primary==="x"?"scrollLeft":"scrollTop",c=l.axis.primary==="x"?"scrollWidth":"scrollHeight",k=l.axis.primary==="x"?"clientWidth":"clientHeight",g=V.viewport[f],x=V.viewport[c]-V.viewport[k],R=g>=x-1;H.insertItemAt(O,y),H.forceRender(),M(),N.emit("data:change",{type:"insert",id:O.id});let L=V.viewport[f]-g,b=z(y);if(l.reverse&&L===0&&R){V.viewport[f]=V.viewport[c]-V.viewport[k];let $=V.viewport[f];if(w.prevScrollPosition=w.scrollPosition,w.scrollPosition=$,L=$-g,L>0)H.forceRender(),M()}let Z=H.getRenderedElement(b),U=K,T={duration:U.duration,easing:U.easing},p=[];if(Z){let $=G.getOffset(b);p.push(Z.animate([{transform:`${F}(${Math.round($)}px) scaleY(0)`,opacity:0,transformOrigin:D},{transform:`${F}(${Math.round($)}px) scaleY(1)`,opacity:1,transformOrigin:D}],T))}let t=V.content.children;for(let $=0;$<t.length;$++){let W=t[$];if(W===Z)continue;let P=W.dataset?.id,I=parseInt(W.dataset?.index??"-1",10);if(!P||I<0)continue;let s=S.get(P);if(s===void 0)continue;let C=G.getOffset(I),u=Math.round(s+L),a=Math.round(C);if(u===a)continue;p.push(W.animate([{transform:`${F}(${u}px)`},{transform:`${F}(${a}px)`}],T))}if(p.length===0)return;let n=!1,m=()=>{if(n)return;n=!0,X=null;for(let $ of p)if($.playState!=="finished")$.cancel()};X=m,Promise.all(p.map(($)=>$.finished)).then(m,m),setTimeout(m,U.duration+50)};H.registerMethod("insertItem",A)}},destroy(){if(B)B();if(X)X()}}}function D0(j){let Q=j?.gap??0,q=null,Y=null,J,K,B,X,H=new Map,G=new WeakMap,N=0,l=!1,V=!1,w=!1,D=2;function F(M){return H.get(M)??X}function _(){let M=Y.dom.viewport,A=M.scrollHeight-M.clientHeight;return A>0&&J.scrollPosition>=A-D}function z(){let M=Y.dom.viewport;M.scrollHeight;let A=M.scrollHeight-M.clientHeight;if(A>J.scrollPosition)Y.scrollTo(A)}function v(){Y.updateContentSize(Y.sizeCache.getTotalSize())}return{name:"autosize",priority:5,setup(M){if(Y=M,J=M.getState(),K=M.config.axis.primary==="x",B=K?"width":"height",Q===0)Q=M.config.gap;if(X=typeof M.rawSizeSpec==="function"?M.rawSizeSpec(0)+Q:M.rawSizeSpec+Q,M.setSizeConfig(F),Q>0){let E=M.sizeCache.getTotalSize;M.sizeCache.getTotalSize=()=>{let y=E();return y>0?y-Q:0}}q=new ResizeObserver((E)=>{if(J.destroyed||!Y)return;let y=!1,S=M.sizeCache.indexAtOffset(J.scrollPosition);for(let g of E){let x=g.target,R=G.get(x);if(R===void 0)continue;if(x.getAttribute("data-index")!==String(R)){q.unobserve(x);continue}if(H.has(R))continue;let L=g.borderBoxSize[0];if(!L)continue;let b=K?L.inlineSize:L.blockSize;if(b<=0)continue;let Z=b+Q,U=X;if(H.set(R,Z),y=!0,R<S&&Z!==U)N+=Z-U;q.unobserve(x),x.style[B]=`${b}px`}if(!y)return;let d=_();if(M.rebuildSizeCache(),N)M.scrollTo(J.scrollPosition+N),N=0;let f=J.scrollDirection!==0,c=J.totalItems>0&&J.prevRangeEnd>=J.totalItems-1,k=V&&!w;if(k||d||c||!f){if(v(),l=!1,k||d)z()}else l=!0;M.forceRender()}),M.setScrollToIndexFn((E,y,S,d,f)=>{let c=E>=J.totalItems-1&&y==="end";if(V=c,w=!1,!c)return!1;let k=M.config.mainAxisPadding,g=()=>{let x=M.sizeCache.getTotalSize();return Math.max(0,x+k-J.containerSize)};if(S==="smooth")w=!0,M.smoothScrollTo(g,d??300,f,()=>{w=!1});else M.scrollTo(g())});let A=()=>{V=!1},O=M.dom.viewport;O.addEventListener("wheel",A,{passive:!0}),O.addEventListener("touchstart",A,{passive:!0}),M.registerDestroyHandler(()=>{O.removeEventListener("wheel",A),O.removeEventListener("touchstart",A)}),M.registerMethod("isMeasured",(E)=>H.has(E)),M.registerMethod("setMeasuredSize",(E,y)=>{H.set(E,y)}),M.registerMethod("getMeasuredCount",()=>H.size),M.registerDestroyHandler(()=>{if(q)q.disconnect(),q=null})},hooks:{onCommit(M){if(!q||!Y)return;for(let A=0;A<M.visibleCount;A++){let O=M.visibleIndices[A];if(H.has(O))continue;let E=Y.getRenderedElement(O);if(!E)continue;E.style[B]="",G.set(E,O),q.observe(E)}},onIdle(){if(!Y||!l)return;let M=_();if(v(),l=!1,M)z(),Y.forceRender()}},destroy(){if(q)q.disconnect(),q=null;H.clear(),V=!1,w=!1,Y=null}}}var Y1=(j)=>{let Q=Math.max(1,Math.floor(j.columns)),q=j.gap??0,Y=j.containerSize,J=0,K=[],B=()=>{let F=(Q-1)*q;J=Math.max(0,(Y-F)/Q),K=Array(Q);let _=J+q;for(let z=0;z<Q;z++)K[z]=z*_};B();let X=[],H=0,G=[],N=(F,_)=>{if(F<=0)return H=0,X=[],[];let z=Array(Q).fill(0),v=Array(Q);for(let O=0;O<Q;O++)v[O]=[];let M=Array(F);for(let O=0;O<F;O++){let E=0,y=z[0];for(let f=1;f<Q;f++){let c=z[f];if(c<y)y=c,E=f}let S=_(O),d=z[E];M[O]={index:O,x:K[E],y:d,lane:E,size:S,crossSize:J},v[E].push(O),z[E]=d+S+q}X=v;let A=0;for(let O=0;O<Q;O++){let E=z[O],y=E>0?E-q:0;if(y>A)A=y}return H=A,M},l=(F)=>{if(F.length===0)return H;if(H)return H;let _=Array(Q).fill(0);for(let v of F){let M=v.y+v.size,A=_[v.lane];if(M>A)_[v.lane]=M}let z=0;for(let v=0;v<Q;v++)if(_[v]>z)z=_[v];return z},V=(F,_,z)=>{if(F.length===0||z<=_)return G.length=0,G;if(X.length===0||X.length!==Q)return w(F,_,z);G.length=0;for(let v=0;v<Q;v++){let M=X[v],A=M.length;if(!A)continue;let O=0,E=A;while(O<E){let y=O+E>>>1,S=F[M[y]];if(S.y+S.size<=_)O=y+1;else E=y}for(let y=O;y<A;y++){let S=F[M[y]];if(S.y>=z)break;G.push(S)}}return G},w=(F,_,z)=>{G.length=0;for(let v of F)if(v.y+v.size>_&&v.y<z)G.push(v);return G};return{get columns(){return Q},get gap(){return q},get containerSize(){return Y},update:(F)=>{let _=!1;if(F.columns!==void 0){let z=Math.max(1,Math.floor(F.columns));if(z!==Q)Q=z,_=!0}if(F.gap!==void 0&&F.gap!==q)q=F.gap,_=!0;if(F.containerSize!==void 0&&F.containerSize!==Y)Y=F.containerSize,_=!0;if(_)B()},calculateLayout:N,getTotalSize:l,getVisibleItems:V}};var Z1=(j,Q,q)=>{let Y=Array.from(Q).sort((B,X)=>B-X);if(Y.length<=1)return;let J=[];for(let B=0;B<Y.length;B++){let X=q(Y[B]);if(X)J.push(X)}if(J.length<=1)return;let K=j.firstChild;for(let B=0;B<J.length;B++){let X=J[B];if(X===K)K=K.nextSibling;else j.insertBefore(X,K)}};var m1=(j=200)=>{let Q=[];return{acquire:()=>{let K=Q.pop();if(K)return K;let B=document.createElement("div");return B.setAttribute("role","option"),B},release:(K)=>{if(K.remove(),Q.length<j)K.className="",K.textContent="",K.removeAttribute("style"),K.removeAttribute("data-index"),K.removeAttribute("data-id"),K.removeAttribute("data-lane"),Q.push(K)},clear:()=>{Q.length=0}}},d1=1,K1=(j,Q,q,Y=!1,J,K,B,X)=>{let H=m1(),G=new Map,N=new Set,l=0,V="",w=-1,D={selected:!1,focused:!1},F=(x,R)=>{return D.selected=x,D.focused=R,D},_=`${q}-item ${q}-masonry-item`,z=`${q}-group-header`,v=`${q}-item--selected`,M=`${q}-item--focused`,A=(x,R)=>{if(typeof R==="string")x.innerHTML=R;else x.replaceChildren(R)},O=(x,R,L)=>{x.classList.toggle(v,R),x.classList.toggle(M,L)},E=(x,R)=>{if(Y)x.style.transform=`translate(${Math.round(R.y)}px, ${Math.round(R.x)}px)`;else x.style.transform=`translate(${Math.round(R.x)}px, ${Math.round(R.y)}px)`},y=(x,R)=>{if(Y)x.style.width=`${R.size}px`,x.style.height=`${R.crossSize}px`;else x.style.width=`${R.crossSize}px`,x.style.height=`${R.size}px`},S=(x,R,L,b,Z)=>{let U=H.acquire(),T=R.__groupHeader,p=F(b,Z);if(U.className=T?z:_,U.dataset.index=String(x),U.dataset.id=String(R.id),U.dataset.lane=String(L.lane),T)U.setAttribute("role","presentation"),U.removeAttribute("aria-selected"),U.removeAttribute("aria-setsize"),U.removeAttribute("aria-posinset"),U.removeAttribute("id");else if(X!==!1){if(U.setAttribute("role","option"),U.ariaSelected=String(b),K)U.id=`${K}-item-${x}`;if(J){let n=J();if(n!==w)w=n,V=String(n);U.setAttribute("aria-setsize",V);let m=B?B(x):x+1;U.setAttribute("aria-posinset",String(m))}}else if(U.setAttribute("role","listitem"),U.removeAttribute("aria-selected"),J){let n=J();if(n!==w)w=n,V=String(n);U.setAttribute("aria-setsize",V);let m=B?B(x):x+1;U.setAttribute("aria-posinset",String(m))}y(U,L);let t=Q(R,x,p);return A(U,t),O(U,b,Z),E(U,L),{element:U,lastItem:R,lastSelected:b,lastFocused:Z,lastY:L.y,lastX:L.x,lastSize:L.size,lastCrossSize:L.crossSize,lastSeenFrame:l}},d=(x,R,L,b)=>{l++,N.clear();for(let U=0;U<R.length;U++)N.add(R[U].index);let Z=null;for(let U=0;U<R.length;U++){let T=R[U],p=T.index,t=x(p);if(!t)continue;let n=L.has(t.id),m=p===b,$=G.get(p);if($){let W=$.lastItem!==t,P=$.lastSelected!==n,I=$.lastFocused!==m,s=$.lastY!==T.y||$.lastX!==T.x,C=$.lastSize!==T.size||$.lastCrossSize!==T.crossSize;if(W){let u=F(n,m),a=Q(t,p,u);if(A($.element,a),$.element.dataset.id=String(t.id),$.lastItem=t,!t.__groupHeader){let i=B?B(p):p+1;$.element.setAttribute("aria-posinset",String(i))}}if(W||P||I)O($.element,n,m),$.element.ariaSelected=String(n),$.lastSelected=n,$.lastFocused=m;if(C)y($.element,T),$.lastSize=T.size,$.lastCrossSize=T.crossSize;if(s)E($.element,T),$.lastY=T.y,$.lastX=T.x}else{let W=S(p,t,T,n,m);if(!Z)Z=document.createDocumentFragment();Z.appendChild(W.element),G.set(p,W)}}if(Z)j.appendChild(Z);for(let[U,T]of G)if(N.has(U))T.lastSeenFrame=l;else if(l-T.lastSeenFrame>d1)H.release(T.element),G.delete(U)},f=()=>{for(let x of G.values())H.release(x.element);G.clear(),j.innerHTML=""};return{render:d,getElement:(x)=>G.get(x)?.element,updateItemClasses:(x,R,L)=>{let b=G.get(x);if(!b)return;let Z=b.lastSelected!==R,U=b.lastFocused!==L;if(Z||U)O(b.element,R,L),b.lastSelected=R,b.lastFocused=L},sortDOM:()=>{Z1(j,G.keys(),(x)=>G.get(x)?.element)},clear:f,destroy:()=>{f(),H.clear()}}};var c1=100,l1=new Set;function H0(j){if(!j.columns||j.columns<1)throw Error("[vlist] masonry: columns must be >= 1");let Q,q=null,Y,J=null,K,B,X,H=[],G=-1,N=-1,l=!0,V=-1,w={columnWidth:0,columns:0,gap:0,containerWidth:0},D=[],F=(L)=>D[L],_=null,z=null,v=!1;function M(){if(v||!J)return;v=!0,_=J.getMethod("_getSelectedIds")??null,z=J.getMethod("_getFocusedIndex")??null}let A=[],O=new Int32Array(0),E=[];function y(){let L=Q.columns,b=H.length;A=Array(L);for(let Z=0;Z<L;Z++)A[Z]=[];if(O.length<b)O=new Int32Array(b);for(let Z=0;Z<b;Z++){let U=H[Z],T=A[U.lane].length;A[U.lane].push(Z),O[Z]=T}E=Array(L);for(let Z=0;Z<L;Z++){let U=A[Z],T=new Float64Array(U.length);for(let p=0;p<U.length;p++){let t=H[U[p]];T[p]=t.y+t.size*0.5}E[Z]=T}}function S(L,b){let Z=L.length;if(!Z)return-1;let U=0,T=Z-1;while(U<T){let p=U+T>>1;if(L[p]<b)U=p+1;else T=p}if(U>0&&Math.abs(L[U-1]-b)<=Math.abs(L[U]-b))return U-1;return U}function d(L,b,Z){let U=H[L];if(!U)return L;let T=U.lane,p=Q.columns,t=O[L],n=A[T];switch(K?b==="ArrowDown"?"ArrowRight":b==="ArrowUp"?"ArrowLeft":b==="ArrowRight"?"ArrowDown":b==="ArrowLeft"?"ArrowUp":b:b){case"ArrowDown":if(t+1<n.length)return n[t+1];return L;case"ArrowUp":if(t>0)return n[t-1];return L;case"ArrowRight":{if(T>=p-1)return L;let $=T+1,W=U.y+U.size*0.5,P=A[$];if(!P.length)return L;let I=S(E[$],W);return I>=0?P[I]:L}case"ArrowLeft":{if(T<=0)return L;let $=T-1,W=U.y+U.size*0.5,P=A[$];if(!P.length)return L;let I=S(E[$],W);return I>=0?P[I]:L}case"Home":return 0;case"End":return Z-1;case"PageDown":{let $=Y.containerSize,W=U.size>0?U.size:150,P=Math.max(1,Math.floor($/W)),I=Math.min(t+P,n.length-1);return n[I]}case"PageUp":{let $=Y.containerSize,W=U.size>0?U.size:150,P=Math.max(1,Math.floor($/W)),I=Math.max(0,t-P);return n[I]}}return L}let f=null;function c(){if(j.size)return(L)=>j.size(L,w);if(f!==null&&typeof f==="function")return(L)=>f(L,w);return(L)=>J.sizeCache.getSize(L)}function k(){let{columns:L,gap:b}=Q;w.containerWidth=Q.containerSize,w.columns=L,w.gap=b,w.columnWidth=Math.max(0,(Q.containerSize-(L-1)*b)/L)}function g(){if(!J)return;k();let L=Y.totalItems;H=Q.calculateLayout(L,c()),V=L,y();let b=Q.getTotalSize(H);J.updateContentSize(b)}function x(){if(Y.destroyed||!J||!q)return;if(Y.totalItems!==V)g();M();let{scrollPosition:L,containerSize:b}=Y;if(!l&&L===G&&b===N)return;if(G=L,N=b,l=!1,b<=0||H.length===0)return;let Z=Math.max(0,L-X),U=L+b+X,T=Q.getVisibleItems(H,Z,U),p=_?.()??l1,t=z?.()??-1;D=J.getItems(),q.render(F,T,p,t);let n=T.length,m=n>0?T[0].index:0,$=n>0?T[n-1].index:0;Y.prevRangeStart=m,Y.prevRangeEnd=$,Y.renderPending=!1;let W=Math.min(n,Y.capacity);Y.visibleCount=W,Y.startIndex=m;for(let P=0;P<W;P++){let I=T[P];Y.visibleIndices[P]=I.index,Y.visibleOffsets[P]=I.y,Y.visibleSizes[P]=I.size}}function R(){if(Y.destroyed)return;g(),Y.prevRangeStart=-1,Y.prevRangeEnd=-1,Y.renderPending=!0,l=!0,x()}return{name:"masonry",priority:10,conflicts:["grid","table"],setup(L){if(J=L,Y=L.getState(),f=L.rawSizeSpec,K=L.config.axis.primary==="x",B=L.config.classPrefix,X=L.config.overscan*c1,L.config.reverse)throw Error("[vlist] masonry: cannot be combined with reverse mode");let b=Y.crossSize;Q=Y1({columns:j.columns,gap:j.gap??0,containerSize:b}),q=K1(L.dom.content,L.template,B,K,()=>Y.totalItems,void 0,void 0,L.config.interactive),L.dom.root.classList.add(`${B}--masonry`),L.setRenderFn(x,R),g(),L.registerMethod("getMasonryLayout",()=>Q),L.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 U={};if(Z.columns!==void 0)U.columns=Z.columns;if(Z.gap!==void 0)U.gap=Z.gap;Q.update(U),q?.clear(),R()}),L.registerMethod("scrollToIndex",(Z,U="start")=>{let T=H[Z];if(!T)return;let p=typeof U==="string"?U:U.align??"start",t=typeof U==="object"?U.behavior:void 0,n=typeof U==="object"?U.duration:void 0,m=Y.containerSize,$=Q.getTotalSize(H),W=Math.max(0,$-m),P=T.y;if(p==="center")P=T.y-m/2+T.size/2;else if(p==="end"){if(P=T.y-m+T.size,Z>=Y.totalItems-1&&T.y+T.size>W)P=W}if(P=Math.max(0,Math.min(P,W)),t==="smooth"&&n&&n>0)L.smoothScrollTo(P,n);else L.scrollTo(P)}),L.registerMethod("_scrollItemIntoView",(Z)=>{let U=H[Z];if(!U)return;let{scrollPosition:T,containerSize:p}=Y,t=U.y,n=t+U.size;if(t<T)L.scrollTo(Math.max(0,t));else if(n>T+p)L.scrollTo(n-p)}),L.setNavConfig({total:()=>Y.totalItems,navigate:d}),L.registerDestroyHandler(()=>{q?.destroy(),q=null,L.dom.root.classList.remove(`${B}--masonry`)})},hooks:{onResize(L,b){if(!Q||!J)return;let Z=Y.crossSize;if(Math.abs(Z-Q.containerSize)<1)return;Q.update({containerSize:Z}),q?.clear(),R()},onIdle(){q?.sortDOM()}},destroy(){q?.destroy(),q=null,H=[],J=null}}}var B1=(j={})=>{let{chunkSize:Q=100,maxCachedItems:q=5000,evictionBuffer:Y=200,onEvict:J}=j,K=new Map,B=0,X=0,H=(b)=>{let Z=K.get(b);if(!Z)Z={items:Array(Q),count:0,lastAccess:Date.now()},K.set(b,Z);else Z.lastAccess=Date.now();return Z},G=(b)=>{return Math.floor(b/Q)},N=(b)=>{return b%Q},l=()=>B,V=(b)=>{B=b},w=(b)=>{if(b<0||b>=B)return;let Z=G(b),U=K.get(Z);if(!U)return;return U.items[N(b)]},D=(b)=>{if(b<0||b>=B)return!1;let Z=G(b),U=K.get(Z);if(!U)return!1;return U.items[N(b)]!==void 0},F=(b,Z)=>{let U=G(b),T=H(U),p=N(b),t=T.items[p]===void 0;if(T.items[p]=Z,t)T.count++,X++;if(b>=B)B=b+1},_=(b,Z)=>{for(let U=0;U<Z.length;U++){let T=Z[U];if(T!==void 0)F(b+U,T)}},z=(b,Z)=>{if(b<0||b>B)return;let U=G(b),T=Array.from(K.keys()).filter(($)=>$>=U).sort(($,W)=>$-W),p=[];for(let $ of T){let W=K.get($),P=$*Q;for(let I=0;I<Q;I++){if(W.items[I]===void 0)continue;let s=P+I;if(s<b)continue;p.push({oldIndex:s,item:W.items[I]})}}for(let{oldIndex:$}of p){let W=G($),P=K.get(W);if(!P)continue;let I=N($);if(P.items[I]!==void 0){if(P.items[I]=void 0,P.count--,X--,P.count===0)K.delete(W)}}B++;for(let{oldIndex:$,item:W}of p){let P=$+1,I=G(P),s=H(I),C=N(P);s.items[C]=W,s.count++,X++}let t=G(b),n=H(t),m=N(b);n.items[m]=Z,n.count++,X++},v=(b)=>{if(b<0||b>=B)return!1;let Z=G(b),U=K.get(Z),T=N(b);if(!(U!==void 0&&U.items[T]!==void 0))return!1;let t=Z,n=Array.from(K.keys()).filter(($)=>$>=t).sort(($,W)=>$-W),m=[];for(let $ of n){let W=K.get($),P=$*Q;for(let I=0;I<Q;I++){if(W.items[I]===void 0)continue;let s=P+I;if(s<=b)continue;m.push({oldIndex:s,item:W.items[I]})}}if(U.items[T]=void 0,U.count--,X--,U.count===0)K.delete(Z);for(let{oldIndex:$}of m){let W=G($),P=K.get(W);if(!P)continue;let I=N($);if(P.items[I]!==void 0){if(P.items[I]=void 0,P.count--,X--,P.count===0)K.delete(W)}}for(let{oldIndex:$,item:W}of m){let P=$-1,I=G(P),s=H(I),C=N(P);s.items[C]=W,s.count++,X++}return B--,!0},M=(b,Z)=>{let U=[];for(let T=b;T<=Z&&T<B;T++)U.push(w(T));return U},A=(b,Z)=>{for(let U=b;U<=Z&&U<B;U++)if(!D(U))return!1;return!0},O=()=>{let b=[],Z=null,U=Array.from(K.keys()).sort((T,p)=>T-p);for(let T of U){let p=K.get(T);if(!p)continue;let t=T*Q;for(let n=0;n<Q;n++){let m=t+n;if(m>=B)break;if(p.items[n]!==void 0)if(Z===null)Z={start:m,end:m};else if(m===Z.end+1)Z.end=m;else b.push(Z),Z={start:m,end:m};else if(Z!==null)b.push(Z),Z=null}}if(Z!==null)b.push(Z);return b},E=(b,Z)=>{let U=[],T=null;for(let p=b;p<=Z&&p<B;p++)if(!D(p))if(T===null)T={start:p,end:p};else T.end=p;else if(T!==null)U.push(T),T=null;if(T!==null)U.push(T);return U},y=(b)=>{return K.has(b)},S=(b)=>{let Z=K.get(b);if(!Z)return!1;let U=b*Q,T=Math.min(Q,B-U);return Z.count>=T},d=(b)=>{let Z=K.get(b);if(Z)Z.lastAccess=Date.now()},f=(b,Z)=>{if(b>Z||K.size===0)return;let U=Date.now(),T=G(Math.max(0,b)),p=G(Math.min(B-1,Z));for(let t=T;t<=p;t++){let n=K.get(t);if(n)n.lastAccess=U}},c=(b,Z)=>{if(X<=q)return 0;let U=Math.max(0,b-Y),T=Math.min(B-1,Z+Y),p=G(U),t=G(T),n=0,m=[];for(let[$,W]of K)if($<p||$>t)n+=W.count,m.push($),X-=W.count,K.delete($);if(n>0&&J)J(n,m);return n},k=()=>{if(X<=q)return 0;let b=Array.from(K.entries()).sort(([,T],[,p])=>T.lastAccess-p.lastAccess),Z=0,U=[];for(let[T,p]of b){if(X<=q)break;Z+=p.count,X-=p.count,U.push(T),K.delete(T)}if(Z>0&&J)J(Z,U);return Z},g=()=>{return{totalItems:B,cachedItems:X,cachedChunks:K.size,chunkSize:Q,maxCachedItems:q,memoryEfficiency:B>0?1-X/B:1}},x=()=>X,R=()=>{K.clear(),X=0};return{chunkSize:Q,maxCachedItems:q,getTotal:l,setTotal:V,get:w,has:D,set:F,setRange:_,insert:z,delete:v,getRange:M,isRangeLoaded:A,getLoadedRanges:O,findUnloadedRanges:E,getChunkIndex:G,isChunkLoaded:y,isChunkFullyLoaded:S,touchChunk:d,touchChunksForRange:f,evictDistant:c,evictToLimit:k,getStats:g,getCachedCount:x,clear:R,reset:()=>{R(),B=0}}};var U1=(j={})=>{let{maskCharacter:Q=C0,maxSampleSize:q=f0}=j,Y=[],J=!1,K=(N)=>{if(J||N.length===0)return;let l=Math.min(N.length,q);for(let V=0;V<l;V++){let w=N[V];if(!w||typeof w!=="object")continue;let D={},F=!1;for(let[_,z]of Object.entries(w)){if(_.startsWith("_")||_==="id")continue;D[_]=String(z??"").length,F=!0}if(F)Y.push(D)}J=!0},B=()=>J,X=(N)=>{let l={id:`${f2}${N}`,[Y0]:!0,_index:N};if(Y.length===0)return l.label=Q.repeat(12),l;let V=Y[N%Y.length];for(let[w,D]of Object.entries(V))l[w]=Q.repeat(Math.max(1,D));return l};return{analyzeStructure:K,hasAnalyzedStructure:B,generate:X,generateRange:(N,l)=>{let V=[];for(let w=N;w<=l;w++)V.push(X(w));return V},clear:()=>{Y=[],J=!1}}},j0=(j)=>{if(!j||typeof j!=="object")return!1;return j[Y0]===!0};var r1=50,N1=(j={})=>{let{adapter:Q,initialItems:q,initialTotal:Y,storage:J,placeholder:K,pageSize:B=r1,maxConcurrent:X=0,onStateChange:H,onDataChange:G,onItemsLoaded:N,onItemsEvicted:l}=j,V=B1({...J,onEvict:(J2,o)=>{l?.(J2),f(),d()}}),w=null,D=()=>{if(!w)w=U1(K);return w},F=new Map,_=!1,z,v=!0,M,A,O=[],E=0,y=new Map,S=()=>{for(let J2 of y.values())J2[1].abort();y.clear()},d=()=>{H?.(U())},f=()=>{G?.()},c=()=>{F.clear();let J2=V.getLoadedRanges();for(let o of J2)for(let $2=o.start;$2<=o.end;$2++){let B2=V.get($2);if(B2&&!j0(B2))F.set(B2.id,$2)}},k=(J2,o)=>{if(!j0(o))F.set(o.id,J2)},g=(J2)=>{F.delete(J2)},x=(J2,o)=>{return`${J2}-${o}`},R=()=>V.getTotal(),L=()=>V.getCachedCount(),b=()=>_,Z=()=>v,U=()=>({total:V.getTotal(),cached:V.getCachedCount(),isLoading:_,pendingRanges:O,error:z,hasMore:v,cursor:M}),T=()=>V,p=()=>D(),t=(J2)=>{let o=V.get(J2);if(o!==void 0)return o;if(J2>=0&&J2<V.getTotal())return D().generate(J2);return},n=(J2)=>{let o=F.get(J2);if(o===void 0)return;return V.get(o)},m=(J2)=>{return F.get(J2)??-1},$=(J2)=>{let o=V.get(J2);return o!==void 0&&!j0(o)},W=(J2,o)=>{let $2=[],B2=V.getTotal();V.touchChunksForRange(J2,Math.min(o,B2-1));for(let U2=J2;U2<=o&&U2<B2;U2++){let Y2=V.get(U2);if(Y2!==void 0)$2.push(Y2);else $2.push(D().generate(U2))}return $2},P=(J2)=>{V.setTotal(J2),v=V.getCachedCount()<J2,f(),d()},I=(J2,o=0,$2)=>{if(Q&&J2.length>0){let B2=D();if(!B2.hasAnalyzedStructure())B2.analyzeStructure(J2)}for(let B2=0;B2<J2.length;B2++){let U2=J2[B2];if(U2!==void 0){let Y2=o+B2;V.set(Y2,U2),k(Y2,U2)}}if($2!==void 0)V.setTotal($2);else if(o+J2.length>V.getTotal())V.setTotal(o+J2.length);if(V.getCachedCount()>=V.getTotal()&&V.getTotal()>0)v=!1;f(),d(),N?.(J2,o,V.getTotal())},s=(J2,o)=>{let $2=V.get(J2);if(!$2)return!1;let B2=$2.id,U2={...$2,...o};if(V.set(J2,U2),o.id!==void 0&&o.id!==B2)g(B2);return k(J2,U2),f(),d(),!0},C=(J2,o)=>{V.insert(o,J2),c(),S(),f(),d()},u=(J2)=>{let o=F.get(J2);if(o===void 0)return!1;if(!V.delete(o))return!1;return c(),S(),f(),d(),!0},a=async(J2,o)=>{if(!Q)return;let $2=V.chunkSize,B2=Math.floor(J2/$2),U2=Math.floor(o/$2),Y2=$2*2;for(let[X2,b2]of y){let F2=X2.indexOf("-"),y2=parseInt(X2.slice(0,F2),10);if(Math.abs(y2-J2)>Y2)b2[1].abort(),y.delete(X2)}let A2=[],L2=[];for(let X2=B2;X2<=U2;X2++){let b2=X2*$2,F2=b2+$2-1,y2=x(b2,F2);if(V.isChunkFullyLoaded(X2))continue;let k2=y.get(y2);if(k2)L2.push(k2[0]);else A2.push({start:b2,end:F2})}if(A2.length===0){if(L2.length>0)await Promise.all(L2);return}if(X>0){let X2=y.size+A2.length;if(X2>X){let b2=(J2+o)/2,F2=Math.min(X2-X,y.size);while(F2>0){let D2=null,k2=-1,H2=null;for(let[z2,W2]of y){let O2=z2.indexOf("-"),R2=parseInt(z2.slice(0,O2),10),P2=parseInt(z2.slice(O2+1),10),Z2=Math.abs((R2+P2)/2-b2);if(Z2>k2)k2=Z2,D2=z2,H2=W2[1]}if(D2)H2.abort(),y.delete(D2);F2--}let y2=X-y.size;if(A2.length>y2)A2.sort((D2,k2)=>{let H2=Math.abs((D2.start+D2.end)/2-b2),z2=Math.abs((k2.start+k2.end)/2-b2);return H2-z2}),A2.length=Math.max(0,y2)}}if(A2.length===0){if(L2.length>0)await Promise.all(L2);return}for(let X2 of A2){let b2=x(X2.start,X2.end),F2=new AbortController,y2=(async()=>{O.push(X2),_=!0,z=void 0,d();try{let D2=X2.end-X2.start+1,k2={offset:X2.start,limit:D2,cursor:X2.start===A?M:void 0,signal:F2.signal},H2=await Q.read(k2);if(I(H2.items,X2.start,H2.total),H2.cursor)M=H2.cursor,A=X2.start+H2.items.length;let z2=X2.start+H2.items.length;if(z2>=E){if(E=z2,H2.hasMore!==void 0)v=H2.hasMore;else if(H2.total!==void 0)v=z2<H2.total}}catch(D2){if(D2?.name==="AbortError")return;z=D2 instanceof Error?D2:Error(String(D2))}finally{y.delete(b2);let D2=O.findIndex((k2)=>k2.start===X2.start&&k2.end===X2.end);if(D2>=0)O.splice(D2,1);_=y.size>0,d()}})();y.set(b2,[y2,F2]),L2.push(y2)}await Promise.all(L2)},e=async(J2,o)=>{if(V.isRangeLoaded(J2,o))return;await a(J2,o)},i=async()=>{if(!Q)return;await a(0,B-1)},q2=async()=>{if(!Q||_||!v)return!1;let J2=V.getCachedCount(),o=V.getTotal(),$2=J2,B2=Math.min($2+B-1,o>0?o-1:$2+B-1);if($2>=o&&o>0)return v=!1,!1;return await a($2,B2),V.getCachedCount()>J2},K2=async()=>{if(V.clear(),V.setTotal(0),F.clear(),w)w.clear();S(),O=[],_=!1,M=void 0,A=void 0,v=!0,E=0,z=void 0,f(),d()},G2=(J2,o)=>{if(V.evictDistant(J2,o)>0)c()},M2=()=>{V.clear(),F.clear(),M=void 0,A=void 0,z=void 0,O=[],_=!1,f(),d()},N2=()=>{if(V.reset(),F.clear(),w)w.clear();M=void 0,A=void 0,v=!0,E=0,z=void 0,O=[],_=!1,f(),d()};if(q&&q.length>0)I(q,0,Y??q.length);else if(Y!==void 0)V.setTotal(Y),f(),d();return{getState:U,getTotal:R,getCached:L,getIsLoading:b,getHasMore:Z,getStorage:T,getPlaceholders:p,getItem:t,getItemById:n,getIndexById:m,isItemLoaded:$,getItemsInRange:W,setTotal:P,setItems:I,updateItem:s,insertItem:C,removeItem:u,loadRange:a,ensureRange:e,loadInitial:i,loadMore:q2,reload:K2,evictDistant:G2,clear:M2,reset:N2}};function L0(j){let{adapter:Q,total:q,autoLoad:Y=!0,storage:J}=j,K=j.loading?.cancelThreshold??w0,B=j.loading?.preloadThreshold??z0,X=j.loading?.preloadAhead??P0,H=j.loading?.maxConcurrent??v0,G,N,l,V,w,D,F=null,_=null,z=null,v=0,M=!1,A=-1,O=-1,E=J?.chunkSize??a2,y=()=>{if(F=null,_!==null)clearTimeout(_),_=null},S=(k,g)=>{return G.ensureRange(k,g)},d=(k,g=a2)=>{V.emit("load:start",{offset:k,limit:g})},f=(k)=>{V.emit("error",{error:k,context:"ensureRange"})},c=()=>{if(!F)return;F=null;let k={start:N.startIndex,end:N.startIndex+Math.max(0,N.visibleCount-1)};if(k.end<k.start)return;S(k.start,k.end).catch(f)};return{name:"data",priority:20,setup(k){N=k.getState(),l=k.sizeCache,V=k.emitter,w=k.dom,D=k.forceRender.bind(k);let g=null;k.setVirtualTotalFn(()=>g?.getTotal()??0),G=g=N1({adapter:Q,...q!==void 0&&{initialTotal:q},pageSize:J?.chunkSize??a2,maxConcurrent:H,...J&&{storage:{...J.chunkSize!==void 0&&{chunkSize:J.chunkSize},...J.maxCachedItems!==void 0&&{maxCachedItems:J.maxCachedItems},...J.evictionBuffer!==void 0&&{evictionBuffer:J.evictionBuffer}}},onDataChange:()=>{if(N.initialized){let R=G.getTotal();N.totalItems=R;let L=l.getTotal();if(R!==L)l.rebuild(R);k.updateContentSize(l.getTotalSize()),k.renderIfNeeded()}},onItemsLoaded:(R)=>{if(N.initialized)D(),V.emit("load:end",{items:R,total:G.getTotal()})}}),k.setGetItemFn((R)=>G.getItem(R)),k.setRemoveItemFn((R)=>{let L=G.getIndexById(R);if(L<0)return-1;if(!G.removeItem(R))return-1;return L}),k.setInsertItemFn((R,L)=>{G.insertItem(R,L)}),k.setUpdateItemFn((R,L)=>{let b=G.getIndexById(R);if(b<0)return!1;return G.updateItem(b,L)}),k.registerMethod("reload",async()=>{if(F=null,A=-1,O=-1,k.forceRender(),await G.reload(),k.scrollTo(0),Y)d(0),await G.loadInitial(),k.forceRender()}),k.registerMethod("loadVisibleRange",async()=>{F=null,k.forceRender();let R=G.getTotal();if(N.visibleCount>0&&N.startIndex<R){let L=Math.min(N.startIndex+N.visibleCount-1,R-1);d(N.startIndex,L-N.startIndex+1),await S(N.startIndex,L)}}),k.registerMethod("getTotal",()=>{return G.getTotal()}),k.registerMethod("setTotal",(R)=>{G.setTotal(R)}),k.registerMethod("_getTotal",()=>G.getTotal()),k.registerMethod("_setTotal",(R)=>{G.setTotal(R)}),k.registerMethod("_cancelAutoLoad",()=>{M=!0}),k.registerMethod("_getLoadedItem",(R)=>{return G.getStorage().get(R)}),k.registerMethod("_getLoadedCount",()=>G.getCached()),V.on("load:start",()=>{w.root.setAttribute("aria-busy","true")}),V.on("load:end",()=>{w.root.removeAttribute("aria-busy")}),k.registerDestroyHandler(()=>{if(z!==null)clearTimeout(z),z=null;y()}),V.on("velocity:change",({velocity:R})=>{v=Math.abs(R)});let x=()=>{if(N.destroyed)return;if(N.visibleCount>0&&N.startIndex<G.getTotal()){let R=Math.min(N.startIndex+N.visibleCount-1,G.getTotal()-1);S(N.startIndex,R).catch(f)}c()};if(window.addEventListener("online",x),k.registerDestroyHandler(()=>{window.removeEventListener("online",x)}),Y)queueMicrotask(()=>{if(M)return;d(0),G.loadInitial().catch((R)=>{V.emit("error",{error:R,context:"loadInitial"})})});else if(q!==void 0)G.setTotal(q)},hooks:{onAfterScroll(){if(N.destroyed)return;let k=N.startIndex+Math.max(0,N.visibleCount-1);if(v>K){if(_!==null)clearTimeout(_),_=null;F={start:N.startIndex,end:k};return}if(v>B){let R=Math.floor(N.startIndex/E),L=Math.floor(k/E);if(R!==A||L!==O){if(A=R,O=L,k>=N.startIndex)S(N.startIndex,k).catch(f)}let b=N.startIndex,Z=k,U=N.scrollDirection;if(U>0)Z=Math.min(Z+X,G.getTotal()-1);else if(U<0)b=Math.max(0,b-X);if(F={start:b,end:Z},_!==null)clearTimeout(_);_=setTimeout(()=>{if(_=null,N.destroyed||!F)return;let{start:T,end:p}=F;if(F=null,p>=T)S(T,p).catch(f)},100);return}y();let g=Math.floor(N.startIndex/E),x=Math.floor(k/E);if(g!==A||x!==O){if(A=g,O=x,k>=N.startIndex)S(N.startIndex,k).catch(f)}},onIdle(){if(N.destroyed)return;v=0,A=-1,O=-1,c(),y()}},destroy(){if(z!==null)clearTimeout(z);y()}}}var F0=(j,Q)=>{let q=0,Y=j.length-1;while(q<Y){let J=q+Y+1>>>1;if(j[J].headerLayoutIndex<=Q)q=J;else Y=J-1}return q},W1=(j,Q)=>{let q=0,Y=j.length-1;while(q<Y){let J=q+Y+1>>>1;if(j[J].firstDataIndex<=Q)q=J;else Y=J-1}return q},V1=(j,Q,q)=>{if(j===0)return[];let Y=[],J=null,K=0,B=0;for(let X=0;X<j;X++){let H=q?.(X);if(!H)continue;let G=Q(X,H);if(J===null)J=G,K=0;else if(G!==J){let N=X-K;Y.push({key:J,groupIndex:Y.length,headerLayoutIndex:B,firstDataIndex:K,count:N}),B=B+1+N,J=G,K=X}}if(J!==null)Y.push({key:J,groupIndex:Y.length,headerLayoutIndex:B,firstDataIndex:K,count:j-K});return Y};var _1=(j,Q,q)=>{let Y=V1(j,Q.getGroupForIndex,q),J=j+Y.length,K=Q.header?.height??Q.header?.width??Q.headerHeight;return{get totalEntries(){return J},get groupCount(){return Y.length},get groups(){return Y},getEntry:(w)=>{if(Y.length===0)return{type:"item",dataIndex:w,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let D=F0(Y,w),F=Y[D];if(w===F.headerLayoutIndex)return{type:"header",group:F};let _=w-F.headerLayoutIndex-1;return{type:"item",dataIndex:F.firstDataIndex+_,group:F}},layoutToDataIndex:(w)=>{if(Y.length===0)return w;let D=F0(Y,w),F=Y[D];if(w===F.headerLayoutIndex)return-1;let _=w-F.headerLayoutIndex-1;return F.firstDataIndex+_},dataToLayoutIndex:(w)=>{if(Y.length===0)return w;let D=W1(Y,w),F=Y[D],_=w-F.firstDataIndex;return F.headerLayoutIndex+1+_},getGroupAtLayoutIndex:(w)=>{if(Y.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let D=F0(Y,w);return Y[D]},getGroupAtDataIndex:(w)=>{if(Y.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let D=W1(Y,w);return Y[D]},getHeaderHeight:typeof K==="number"?(w)=>K:(w)=>{let D=Y[w];if(!D)return 0;return K(D.key,w)},rebuild:(w,D)=>{Y=V1(w,Q.getGroupForIndex,D??q),J=w+Y.length}}};var O0=(j,Q,q,Y,J=0)=>{let K=q?"width":"height",B=document.createElement("div");return B.className=`${Q}-sticky-header`,B.setAttribute("role","presentation"),B.setAttribute("aria-hidden","true"),B.style.cssText="position:relative;z-index:5;pointer-events:none;overflow:hidden;"+(q?`top:0;bottom:0;left:${J||0}px`:`top:${J||0}px`),B.style[K]=`${Y}px`,j.insertBefore(B,j.firstChild),B},M1=(j,Q,q,Y,J,K=!1,B=0,X,H)=>{let G=K?"width":"height",N=K?"height":"width",l=K?"X":"Y",V=(s,C)=>{s.style[G]=`${C}px`},w=H??O0(j,J,K,0,B),D=()=>{let s=document.createElement("div");return s.className="sticky-group",s.style.position="absolute",s.style.willChange="transform",s.style[N]="100%",s},F=D(),_=D();w.append(F,_);let z=F,v=_,M=Q.groups,A=[],O=[],E=[],y=0,S=()=>{M=Q.groups,y=M.length,A=Array(y),O=Array(y),E=Array(y);let s=X?X():1;for(let C=0;C<y;C++)A[C]=q.getOffset(M[C].headerLayoutIndex)*s,O[C]=Q.getHeaderHeight(C),E[C]=O[C]*s};S();let d=-1,f=0,c=0,k=-1,g=!1,x=0,R=!1,L=(s,C)=>{Y(s,C);let u=O[C];return V(s,u),u},b=(s)=>{s.replaceChildren(),s.style.transform=""},Z=(s)=>{if(s===d)return;if(d=s,f=0,c=0,s<0||s>=y){b(z);return}f=L(z,s),c=E[s],V(w,f),z.style.transform=""},U=(s)=>{if(s===x)return;x=s;let C=Math.round(s);z.style.transform=`translate${l}(${C}px)`,v.style.transform=`translate${l}(${C+f}px)`},T=()=>{x=0,z.style.transform="",v.style.transform=""},p=()=>{if(!R)return;let s=z;z=v,v=s,d=k,f=d>=0?O[d]:0,c=d>=0?E[d]:0,V(w,f),b(v),k=-1,R=!1,T()},t=()=>{if(!R)return;b(v),k=-1,R=!1,T()},n=!!H,m=()=>{if(g)return;if(g=!0,n)w.style.visibility="";else w.style.display=""},$=()=>{if(!g)return;if(g=!1,n)w.style.visibility="hidden";else w.style.display="none";b(z),d=-1,f=0,c=0,t()},W=(s)=>{if(y===0){$();return}if(s<A[0]){$();return}let C=0,u=y-1;while(C<u){let e=C+u+1>>>1;if(A[e]+E[e]<=s)C=e;else u=e-1}if(!g)m();Z(C);let a=C+1;if(a<y){let e=A[a]-s;if(e<=0&&e>-c){if(k!==a||!R)k=a,L(v,a),R=!0;let i=c>0?e/c*f:e;U(i)}else if(e<=-c){if(R)p()}else if(R)t()}else if(R)t()},P=()=>{S();let s=d;if(d=-1,f=0,c=0,s>=0)Z(s)},I=()=>{w.remove(),d=-1,f=0,c=0,k=-1,g=!1,R=!1};if(!H)w.style.display="none";return{update:W,refresh:P,show:m,hide:$,destroy:I}};var g2={selected:!1,focused:!1},G1=typeof process<"u"&&process.env?.NODE_ENV!=="production";function E0(j){if(!j.getGroupForIndex)throw Error("[vlist] groups: getGroupForIndex is required");let Q=j.header?.height??j.header?.width??j.headerHeight;if(Q==null||typeof Q==="number"&&Q<=0)throw Error("[vlist] groups: header height/width must be a positive number or function");let q=j.header?.template??j.headerTemplate;if(!q)throw Error("[vlist] groups: header.template is required");let Y=q,J,K=null,B,X,H,G,N,l,V,w=null,D,F,_,z=null,v,M,A=null,O,E=new Map,y=new Set,S=new Map,d=-1,f=-1,c=!0,k=-1,g=0,x=null,R;function L(){return J.totalEntries}function b(){let $=X.totalItems;if($===k)return;if(G1)console.log(`[groups] syncLayout: ${k} → ${$}`);let W=k>0;k=$,J.rebuild($,w??V),R(J.totalEntries);let P=B.getTotalSize();if(G.style[D?"width":"height"]=P+"px",K)K.refresh(),K.update(X.scrollPosition);if(W)T();let I=A?.("_scrollbar:getInstance");if(I)I()?.updateBounds(P,X.containerSize)}function Z($){let W=B.getOffset($);if(D)return`translate(${Math.round(W)}px, 0)`;return`translate(0, ${Math.round(W)}px)`}function U($,W){let P=B.getSize(W);if(D)$.style.width=`${P}px`;else $.style.height=`${P}px`}function T(){E.forEach(($)=>{$.remove();let W=$.getAttribute("data-id");if(W)S.set(W,$);else H.release($)}),E.clear(),y.clear()}function p(){if(S.size>0)S.forEach(($)=>H.release($)),S.clear()}function t($,W,P,I){if(W.type==="header"){let i=`__group_header_${W.group.groupIndex}`;if($.getAttribute("data-id")===i)return!0;$.className=M,$.setAttribute("role","presentation"),$.removeAttribute("aria-selected"),$.setAttribute("data-id",i);let q2=Y(W.group.key,W.group.groupIndex);if(typeof q2==="string")$.innerHTML=q2;else $.innerHTML="",$.appendChild(q2);return!0}let s=W.dataIndex,C=V(s);if(!C)return $.innerHTML="",!1;let u=C._isPlaceholder===!0,a=String(C.id);if(!u&&$.getAttribute("data-id")===a){if(O)$.id=`${F}-item-${I}`,$.setAttribute("aria-posinset",String(s+1)),$.setAttribute("aria-setsize",String(X.totalItems));return!0}if($.className=v,$.setAttribute("role","option"),$.setAttribute("data-id",a),O)$.id=`${F}-item-${I}`,$.setAttribute("aria-posinset",String(s+1)),$.setAttribute("aria-setsize",String(X.totalItems));if(u)$.classList.add(`${F}-item--placeholder`);if(P)P(I,g2);else g2.selected=!1,g2.focused=!1;let e=l(C,s,g2);if(typeof e==="string")$.innerHTML=e;else $.innerHTML="",$.appendChild(e);return!u}function n(){if(X.destroyed)return;b();let{scrollPosition:$,containerSize:W}=X;if(!c&&$===d&&W===f)return;d=$,f=W;let P=c;c=!1;let I=L();if(W<=0||I===0){if(E.size>0)E.forEach((o)=>{o.remove(),H.release(o)}),E.clear(),y.clear();return}let s=B.indexAtOffset($),C=B.indexAtOffset($+W);if(C<I-1)C++;s=Math.max(0,s),C=Math.min(I-1,Math.max(0,C));let u=Math.max(0,s-_),a=Math.min(I-1,C+_);if(u===X.prevRangeStart&&a===X.prevRangeEnd&&!X.renderPending)return;E.forEach((o,$2)=>{if($2<u||$2>a)o.remove(),H.release(o),E.delete($2),y.delete($2)});let e=z?.()??null,i=e?`${F}-item--selected`:"",q2=e?`${F}-item--focused`:"",K2=null;for(let o=u;o<=a;o++){let $2=E.get(o),B2=!1;if($2===void 0){let U2=J.getEntry(o);B2=U2.type==="header";let Y2;if(U2.type==="header")Y2=`__group_header_${U2.group.groupIndex}`;else{let L2=V(U2.dataIndex);if(L2&&L2._isPlaceholder!==!0)Y2=String(L2.id)}if(Y2!==void 0){let L2=S.get(Y2);if(L2)S.delete(Y2),$2=L2}if(!$2)$2=H.acquire();if($2.setAttribute("data-index",String(o)),t($2,U2,e,o))y.delete(o);else y.add(o);if(U($2,o),$2.style.transform=Z(o),E.set(o,$2),!K2)K2=document.createDocumentFragment();K2.appendChild($2)}else if(P&&y.has(o)){let U2=J.getEntry(o);if(U2.type==="item")if(t($2,U2,e,o))y.delete(o);else y.add(o)}else B2=$2.classList.contains(M);if(!B2&&e)if(e(o,g2),$2.classList.toggle(i,g2.selected),$2.classList.toggle(q2,g2.focused),g2.selected)$2.setAttribute("aria-selected","true");else $2.removeAttribute("aria-selected")}if(K2)G.appendChild(K2);p();let G2=B.getTotalSize();G.style[D?"width":"height"]=G2+"px",X.prevRangeStart=u,X.prevRangeEnd=a,X.renderPending=!1;let M2=0,N2=0,J2=!1;for(let o=u;o<=a&&M2<X.capacity;o++){let $2=J.getEntry(o);if($2.type==="item"){if(!J2)N2=$2.dataIndex,J2=!0;X.visibleIndices[M2]=$2.dataIndex,X.visibleOffsets[M2]=B.getOffset(o),X.visibleSizes[M2]=B.getSize(o),M2++}}X.visibleCount=M2,X.startIndex=N2}function m(){if(X.destroyed)return;if(G1)console.log(`[groups] forceRender, placeholders: ${y.size}, rendered: ${E.size}`);let $=x?.()??0;if($!==g){g=$;let W=J.groups,P=W.length;J.rebuild(k,w??V);let I=J.groups,s=I.length!==P;if(!s){for(let C=0;C<P;C++)if(I[C].headerLayoutIndex!==W[C].headerLayoutIndex){s=!0;break}}if(s){R(J.totalEntries);let C=B.getTotalSize();if(G.style[D?"width":"height"]=C+"px",K)K.refresh(),K.update(X.scrollPosition);let u=1/0,a=Math.min(P,I.length);for(let i=0;i<a;i++)if(I[i].headerLayoutIndex!==W[i].headerLayoutIndex){u=Math.min(I[i].headerLayoutIndex,W[i].headerLayoutIndex);break}if(I.length>P&&a<I.length)u=Math.min(u,I[a].headerLayoutIndex);else if(P>I.length&&a<P)u=Math.min(u,W[a].headerLayoutIndex);if(u<=X.prevRangeEnd)T();let e=A?.("_scrollbar:getInstance");if(e)e()?.updateBounds(C,X.containerSize)}}X.prevRangeStart=-1,X.prevRangeEnd=-1,X.renderPending=!0,c=!0,n()}return{name:"groups",priority:10,setup($){B=$.sizeCache,X=$.getState(),H=$.pool,G=$.dom.content,N=$.dom.root,l=$.template,D=$.config.axis.primary==="x",F=$.config.classPrefix,_=$.config.overscan,V=$.getItem.bind($),z=()=>$.getItemStateFn(),A=$.getMethod.bind($),O=$.config.interactive,v=`${F}-item`,M=`${F}-group-header`,queueMicrotask(()=>{let C=A?.("_getLoadedItem");if(C)w=C;let u=A?.("_getLoadedCount");if(u)x=u});let W=X.totalItems;J=_1(W,j,w??V),k=W;let P=typeof Q==="number"?(C)=>Q:(C)=>{let u=J.groups[C];if(!u)return 0;return Q(u.key,C)},I=B.getSize,s=(C)=>{let u=J.getEntry(C);if(u.type==="header"){if(j.sticky!==!1&&u.group.groupIndex===0)return 0;return P(u.group.groupIndex)}return I(u.dataIndex)};if($.setSizeConfig(s),R=B.rebuild,B.rebuild=(C)=>{R(J.totalEntries)},B.rebuild(J.totalEntries),$.setVirtualTotalFn(()=>J.totalEntries),N.classList.add(`${F}--grouped`),j.sticky!==!1){let C=(e,i)=>{let q2=J.groups[i];if(!q2)return;let K2=Y(q2.key,i);if(typeof K2==="string")e.innerHTML=K2;else e.replaceChildren(K2)},u=J.getHeaderHeight(0),a=O0(N,F,D,u);if(K=M1(N,J,B,C,F,D,0,void 0,a),K.update(X.scrollPosition),!D)$.dom.viewport.style.height=`calc(100% - ${u}px)`;else $.dom.viewport.style.width=`calc(100% - ${u}px)`}$.setRenderFn(n,m),$.registerMethod("getGroupLayout",()=>J),$.registerMethod("_dataToLayoutIndex",(C)=>J.dataToLayoutIndex(C)),$.registerMethod("_layoutToDataIndex",(C)=>J.layoutToDataIndex(C)),$.registerMethod("_getRenderedElement",(C)=>E.get(C)??null),$.registerMethod("_isGroupHeader",(C)=>{return J.getEntry(C).type==="header"}),$.registerMethod("scrollToIndex",(C,u="start")=>{let a=J.dataToLayoutIndex(C),e=J.totalEntries;if(e===0)return;let i=Math.max(0,Math.min(a,e-1)),q2=B.getOffset(i),K2=B.getSize(i),G2=X.containerSize,M2=B.getTotalSize(),N2=Math.max(0,M2-G2),J2=typeof u==="string"?u:u.align??"start",o=typeof u==="object"?u.behavior:void 0,$2=typeof u==="object"?u.duration:void 0,B2;switch(J2){case"center":B2=q2-(G2-K2)/2;break;case"end":B2=q2-G2+K2;break;default:B2=q2}if(B2=Math.max(0,Math.min(B2,N2)),o==="smooth"&&$2&&$2>0)$.smoothScrollTo(B2,$2);else $.scrollTo(B2)}),$.registerDestroyHandler(()=>{for(let[,C]of E)C.remove();if(E.clear(),y.clear(),K)K.destroy(),K=null;N.classList.remove(`${F}--grouped`)})},hooks:{onAfterScroll($,W){if(K)K.update($)}},destroy(){if(K)K.destroy(),K=null;E.clear(),y.clear(),S.clear()}}}var X1=(j,Q=50,q=1/0,Y=!0)=>{let J=j,K=[],B=0,X=()=>{K=J.map((_,z)=>({def:_,index:z,width:0,minWidth:s1(_.minWidth??Q,1),maxWidth:_.maxWidth??q,resizable:_.resizable??Y,offset:0}))},H=(_)=>{if(K.length===0){B=0;return}let z=0,v=0;for(let M=0;M<K.length;M++){let A=K[M],O=A.def;if(O.width!==void 0)A.width=R0(O.width,A.minWidth,A.maxWidth),z+=A.width;else v++}if(v){let A=Math.max(0,_-z)/v;for(let O=0;O<K.length;O++){let E=K[O];if(E.def.width===void 0)E.width=R0(A,E.minWidth,E.maxWidth)}}G()},G=()=>{let _=0;for(let z=0;z<K.length;z++){let v=K[z];v.offset=_,_+=v.width}B=_},N=(_,z)=>{if(_<0||_>=K.length)return 0;let v=K[_];if(!v.resizable)return v.width;let M=R0(z,v.minWidth,v.maxWidth);return v.width=M,G(),M},l=(_)=>{return K[_]},V=(_)=>{if(K.length===0)return;if(_<0)return K[0];if(_>=B)return K[K.length-1];let z=0,v=K.length-1;while(z<v){let M=z+v>>>1,A=K[M];if(_<A.offset)v=M-1;else if(_>=A.offset+A.width)z=M+1;else return A}return K[z]},w=(_)=>{if(_<0||_>=K.length)return 0;return K[_].offset},D=(_)=>{if(_<0||_>=K.length)return 0;return K[_].width},F=(_)=>{J=_,X()};return X(),{get columns(){return K},get totalWidth(){return B},resolve:H,updateColumns:F,resizeColumn:N,getColumn:l,getColumnAtX:V,getColumnOffset:w,getColumnWidth:D}},R0=(j,Q,q)=>Math.min(q,Math.max(Q,j)),s1=(j,Q)=>Math.max(Q,j);var A1=(j,Q,q,Y,J,K)=>{let B=document.createElement("div");B.setAttribute("role","rowgroup");let X=document.createElement("div");X.className=`${q}-table-header`,X.setAttribute("role","row"),X.setAttribute("aria-rowindex","1"),X.style.height=`${Q}px`;let H=document.createElement("div");H.className=`${q}-table-header-scroll`,H.setAttribute("role","presentation"),X.appendChild(H),B.appendChild(X),j.insertBefore(B,j.firstChild),j.style.setProperty("--vlist-table-header-height",`${Q}px`);let G=[],N=[],l=!0,V=null,w="asc",D=null,F=!1,_=-1,z=0,v=0,M=0,A=(Z,U)=>{let T=document.createElement("div");T.className=`${q}-table-header-cell`,T.setAttribute("role","columnheader"),T.setAttribute("aria-colindex",String(U+1)),T.setAttribute("tabindex",U===0?"0":"-1"),T.dataset.columnKey=Z.def.key;let p=Z.def.align;if(p==="center")T.classList.add(`${q}-table-header-cell--center`);else if(p==="right")T.classList.add(`${q}-table-header-cell--right`);let t=document.createElement("div");t.className=`${q}-table-header-content`;let n=Z.def.header?Z.def.header(Z.def):Z.def.label;if(typeof n==="string")t.textContent=n;else t.appendChild(n);if(T.appendChild(t),Z.def.sortable){let m=document.createElement("span");m.className=`${q}-table-header-sort`,m.setAttribute("aria-hidden","true"),T.appendChild(m),N.push(m),T.classList.add(`${q}-table-header-cell--sortable`)}else N.push(null);if(Z.resizable){let m=document.createElement("div");m.className=`${q}-table-header-resize`,m.dataset.resizeIndex=String(U),T.appendChild(m)}return T},O=(Z)=>{D=Z,H.textContent="",G=[],N=[];let U=Z.columns;for(let T=0;T<U.length;T++){let p=U[T],t=A(p,T);G.push(t),H.appendChild(t)}if(E(Z),V)y(V,w)},E=(Z)=>{D=Z;let U=Z.columns;H.style.width=`${Z.totalWidth}px`;for(let T=0;T<G.length&&T<U.length;T++){let p=G[T],t=U[T];p.style.width=`${t.width}px`}},y=(Z,U)=>{if(V=Z,w=U,!D)return;let T=D.columns;for(let p=0;p<N.length&&p<T.length;p++){let t=N[p];if(!t)continue;if(T[p].def.key===Z)t.textContent=U==="asc"?"▲":"▼",t.style.opacity="0.7",G[p].setAttribute("aria-sort",U==="asc"?"ascending":"descending");else t.textContent="",t.style.opacity="0",G[p].removeAttribute("aria-sort")}},S=(Z)=>{H.style.transform=`translateX(${-Z}px)`},d=(Z)=>{let U=Z.target;if(!U.dataset.resizeIndex)return;if(Z.preventDefault(),Z.stopPropagation(),_=+U.dataset.resizeIndex,!D)return;let T=D.getColumn(_);if(!T?.resizable)return;F=!0,z=Z.clientX,v=T.width,j.classList.add(`${q}--col-resizing`),j.style.cursor="col-resize",U.classList.add(`${q}-table-header-resize--active`),U.setPointerCapture(Z.pointerId),U.addEventListener("pointermove",f),U.addEventListener("pointerup",c),U.addEventListener("pointercancel",c)},f=(Z)=>{if(!F||!D)return;let U=Z.clientX-z;if(Math.abs(U)<1)return;let T=Math.max(0,v+U);Y(_,T)},c=(Z)=>{if(!F)return;let U=Z.target;U.removeEventListener("pointermove",f),U.removeEventListener("pointerup",c),U.removeEventListener("pointercancel",c);try{U.releasePointerCapture(Z.pointerId)}catch{}U.classList.remove(`${q}-table-header-resize--active`),j.classList.remove(`${q}--col-resizing`),j.style.cursor="",F=!1,_=-1},k=(Z)=>{let U=Z.target;if(U.dataset.resizeIndex)return;if(F)return;let T=U;while(T&&!T.dataset.columnKey)if(T=T.parentElement,T===X||T===null)return;let p=T.dataset.columnKey;if(!D)return;let t=D.columns,n=-1;for(let $=0;$<t.length;$++)if(t[$].def.key===p){n=$;break}if(n===-1)return;let m=t[n];if(K)K({key:p,index:n,event:Z});if(m.def.sortable&&J){let $;if(V===p)$=w==="asc"?"desc":null;else $="asc";J({key:p,index:n,direction:$})}},g=(Z)=>{if(Z<0||Z>=G.length)return;G[M]?.setAttribute("tabindex","-1"),M=Z;let U=G[M];U.setAttribute("tabindex","0"),U.focus()},x=(Z)=>{let U=Z.key;if(U==="ArrowRight"){if(Z.ctrlKey||Z.metaKey){if(!D)return;let T=D.getColumn(M);if(T?.resizable)Y(M,T.width+10),Z.preventDefault()}else if(M<G.length-1)g(M+1),Z.preventDefault();Z.stopPropagation();return}if(U==="ArrowLeft"){if(Z.ctrlKey||Z.metaKey){if(!D)return;let T=D.getColumn(M);if(T?.resizable)Y(M,T.width-10),Z.preventDefault()}else if(M>0)g(M-1),Z.preventDefault();Z.stopPropagation();return}if(U==="Home"){g(0),Z.preventDefault(),Z.stopPropagation();return}if(U==="End"){g(G.length-1),Z.preventDefault(),Z.stopPropagation();return}if(U==="Enter"||U===" "){if(!D)return;let T=D.getColumn(M);if(T?.def.sortable&&J){let p;if(V===T.def.key)p=w==="asc"?"desc":null;else p="asc";J({key:T.def.key,index:M,direction:p}),Z.preventDefault()}Z.stopPropagation();return}if(U==="ArrowDown"){j.focus(),Z.preventDefault(),Z.stopPropagation();return}};return X.addEventListener("pointerdown",d),X.addEventListener("click",k),X.addEventListener("keydown",x),{element:X,update:E,updateSort:y,rebuild:O,show:()=>{if(l)return;l=!0,X.style.display=""},hide:()=>{if(!l)return;l=!1,X.style.display="none"},destroy:()=>{X.removeEventListener("pointerdown",d),X.removeEventListener("click",k),X.removeEventListener("keydown",x),j.style.removeProperty("--vlist-table-header-height"),B.remove(),G=[],N=[],D=null,l=!1},syncScroll:S}};var a1=()=>{let j=[];return{acquire:()=>j.pop()||document.createElement("div"),release:(Q)=>{if(Q.parentNode?.removeChild(Q),j.length<200)Q.className="",Q.removeAttribute("data-id"),Q.removeAttribute("data-index"),Q.removeAttribute("aria-selected"),Q.removeAttribute("aria-rowindex"),Q.removeAttribute("role"),Q.style.cssText="",Q.textContent="",j.push(Q)},clear:()=>{j.length=0}}},D1=(j,Q,q,Y,J,K,B,X,H)=>{let G=a1(),N=new Map,l=-1,V=q,w=null,D=null,F=null,_=(C,u)=>{D=C,F=u},z=(C,u)=>{u?C.setAttribute("aria-selected","true"):C.removeAttribute("aria-selected")},v=(C,u,a,e)=>{C.setAttribute("role",u),C.setAttribute("data-id",String(a)),C.setAttribute("data-index",String(e))},M=(C)=>String(C).startsWith("__placeholder_"),A=`${J}-item ${J}-table-row`,O=`${J}-item--selected`,E=`${J}-item--focused`,y=`${J}-table-cell`,S=`${J}-table-cell--center`,d=`${J}-table-cell--right`,f=`${J}-item--odd`,c=`${J}-item--placeholder`,k=`${J}-item--replaced`,g=`${J}-item ${J}-table-row ${J}-table-group-header`,x=`${J}-table-group-header-content`,R=(C,u,a,e,i=!1)=>{if(a.def.cell){let q2=a.def.cell(u,a.def,e);if(typeof q2==="string")C.innerHTML=q2;else C.replaceChildren(q2)}else{let q2=u[a.def.key],K2=q2!=null?String(q2):"";if(i&&K2)C.innerHTML=`<span>${K2}</span>`;else C.textContent=K2}},L=(C,u,a,e,i=!1)=>{let q2=A;if(X){if(w){let K2=w(u);if(K2>=0&&(K2&1)===1)q2+=` ${f}`}else if((u&1)===1)q2+=` ${f}`}if(i)q2+=` ${c}`;if(a)q2+=` ${O}`;if(e)q2+=` ${E}`;C.className=q2},b=(C,u,a)=>{if(a?.compression?.isCompressed)return Math.round(x2(C,a.scrollPosition,u,a.totalItems,a.containerSize,a.compression,a.rangeStart));return u.getOffset(C)},Z=(C,u)=>{let a=u.def.align;if(a==="center")C.classList.add(S),C.classList.remove(d);else if(a==="right")C.classList.add(d),C.classList.remove(S);else C.classList.remove(S,d)},U=(C,u)=>{let e=V.columns.length;if(u.length===e)return u;let i=[];for(let q2=0;q2<e;q2++){let K2;if(q2<u.length)K2=u[q2];else K2=document.createElement("div"),K2.className=y,C.appendChild(K2);i.push(K2)}for(let q2=e;q2<u.length;q2++)u[q2].remove();return i},T=(C,u,a,e)=>{let i=G.acquire(),q2=C,K2=a.getSize(u),G2=b(u,a,e);i.style.cssText=`width:${V.totalWidth}px;height:${K2}px;transform:translateY(${G2}px)`,i.className=g,v(i,"presentation",C.id,u),i.removeAttribute("aria-selected"),i.removeAttribute("aria-rowindex"),i.replaceChildren();let M2=document.createElement("div");if(M2.className=x,F){let N2=F(q2.groupKey,q2.groupIndex);if(typeof N2==="string")M2.innerHTML=N2;else M2.appendChild(N2)}return i.appendChild(M2),{element:i,cells:[],index:u,isGroupHeader:!0,_lastItem:C,lastItemId:C.id,lastSelected:!1,lastFocused:!1,lastOffset:G2,lastHeight:K2}},p=(C,u,a,e,i,q2)=>{let K2=G.acquire(),G2=i.getSize(u),M2=b(u,i,q2),N2=M(C.id);K2.style.cssText=`width:${V.totalWidth}px;height:${G2}px;transform:translateY(${M2}px)`,L(K2,u,a,e,N2),v(K2,"row",C.id,u),K2.id=`${K}-item-${u}`,K2.setAttribute("aria-rowindex",String(u+2)),z(K2,a);let J2=U(K2,[]),o=V.columns;for(let $2=0;$2<J2.length&&$2<o.length;$2++){let B2=J2[$2],U2=o[$2];B2.style.cssText=`left:${U2.offset}px;width:${U2.width}px`,B2.setAttribute("role","gridcell"),B2.setAttribute("aria-colindex",String($2+1)),Z(B2,U2),R(B2,C,U2,u,N2)}return{element:K2,cells:J2,index:u,isGroupHeader:!1,_lastItem:C,lastItemId:C.id,lastSelected:a,lastFocused:e,lastOffset:M2,lastHeight:G2}},t=(C,u,a,e,i)=>{let q2=!1,K2=B();if(K2!==l)l=K2,q2=!0;let G2=null,M2=Q();w=typeof X==="string"&&H?H():null;for(let N2=u.start;N2<=u.end;N2++){let J2=N2-u.start,o=C[J2];if(!o)continue;let $2=a.has(o.id),B2=N2===e,U2=D?D(o):!1,Y2=N.get(N2);if(Y2){if(Y2.isGroupHeader!==U2){G.release(Y2.element),N.delete(N2);let A2=U2?T(o,N2,M2,i):p(o,N2,$2,B2,M2,i);if(N.set(N2,A2),!G2)G2=document.createDocumentFragment();G2.appendChild(A2.element);continue}if(U2){if(Y2._lastItem!==o){let b2=o,F2=Y2.element.firstElementChild;if(F2&&F){let y2=F(b2.groupKey,b2.groupIndex);if(typeof y2==="string")F2.innerHTML=y2;else F2.replaceChildren(y2)}Y2.element.setAttribute("data-id",String(o.id)),Y2._lastItem=o,Y2.lastItemId=o.id}let L2=b(N2,M2,i);if(Y2.lastOffset!==L2)Y2.lastOffset=L2,Y2.element.style.transform=`translateY(${L2}px)`;let X2=M2.getSize(N2);if(Y2.lastHeight!==X2)Y2.lastHeight=X2,Y2.element.style.height=`${X2}px`}else{let A2=Y2._lastItem!==o,L2=Y2.lastSelected!==$2,X2=Y2.lastFocused!==B2;if(A2){let y2=Y2.lastItemId!=null&&M(Y2.lastItemId),D2=M(o.id);if(!D2&&r2(a,N2,o.id))$2=!0;let k2=V.columns;for(let H2=0;H2<Y2.cells.length&&H2<k2.length;H2++)R(Y2.cells[H2],o,k2[H2],N2,D2);if(L(Y2.element,N2,$2,B2,D2),Y2.element.setAttribute("data-id",String(o.id)),z(Y2.element,$2),y2&&!D2)Y2.element.classList.add(k),setTimeout(()=>{Y2.element.classList.remove(k)},300);Y2._lastItem=o,Y2.lastItemId=o.id,Y2.lastSelected=$2,Y2.lastFocused=B2}else if(L2||X2)L(Y2.element,N2,$2,B2,M(o.id)),z(Y2.element,$2),Y2.lastSelected=$2,Y2.lastFocused=B2;let b2=b(N2,M2,i);if(Y2.lastOffset!==b2)Y2.lastOffset=b2,Y2.element.style.transform=`translateY(${b2}px)`;let F2=M2.getSize(N2);if(Y2.lastHeight!==F2)Y2.lastHeight=F2,Y2.element.style.height=`${F2}px`;if(q2)Y2.element.setAttribute("aria-rowindex",String(N2+2))}}else{if(r2(a,N2,o.id))$2=!0;let A2=U2?T(o,N2,M2,i):p(o,N2,$2,B2,M2,i);if(N.set(N2,A2),!G2)G2=document.createDocumentFragment();G2.appendChild(A2.element)}}if(G2)j.appendChild(G2);for(let[N2,J2]of N)if(N2<u.start||N2>u.end)G.release(J2.element),N.delete(N2)},n=(C)=>{let u=Q();for(let[a,e]of N){let i=b(a,u,C);if(e.lastOffset!==i)e.lastOffset=i,e.element.style.transform=`translateY(${i}px)`}},m=(C,u,a,e)=>{let i=N.get(C);if(!i)return;if(i.isGroupHeader)return;let q2=V.columns;for(let K2=0;K2<i.cells.length&&K2<q2.length;K2++)R(i.cells[K2],u,q2[K2],C);i.element.setAttribute("data-id",String(u.id)),i._lastItem=u,i.lastItemId=u.id,L(i.element,C,a,e),z(i.element,a),i.lastSelected=a,i.lastFocused=e},$=(C,u,a)=>{let e=N.get(C);if(!e)return;if(e.isGroupHeader)return;let i=e.lastSelected!==u,q2=e.lastFocused!==a;if(i||q2)L(e.element,C,u,a),z(e.element,u),e.lastSelected=u,e.lastFocused=a},W=(C)=>{V=C;let u=C.columns;for(let[,a]of N)if(a.element.style.width=`${C.totalWidth}px`,a.cells.length>0)for(let e=0;e<a.cells.length&&e<u.length;e++){let i=a.cells[e],q2=u[e];i.style.left=`${q2.offset}px`,i.style.width=`${q2.width}px`}},P=(C)=>{return N.get(C)?.element},I=()=>{for(let[,C]of N)G.release(C.element);N.clear(),l=-1};return{render:t,updatePositions:n,updateItem:m,updateItemClasses:$,getElement:P,updateColumnLayout:W,setGroupHeaderFn:_,clear:I,destroy:()=>{I(),G.clear()}}};var o1=new Set;function T0(j){if(!j.columns?.length)throw Error("[vlist] table: columns must be a non-empty array");if(j.rowHeight===void 0&&j.estimatedRowHeight===void 0)throw Error("[vlist] table: either rowHeight or estimatedRowHeight is required");let Q=null,q=null,Y=null,J,K,B=null,X=null,H=null,G=!1,N=-1,l=null,V=!1;function w(){if(G||!B)return;G=!0,X=B.getMethod("_getSelectedIds")??null,H=B.getMethod("_getFocusedIndex")??null}function D(){if(V||!B)return;V=!0,l=B.getMethod("_scale:getCompression")??null}let F=[],_={start:0,end:0},z={start:0,end:-1};function v(){if(J.destroyed||!B||!Y||!Q)return;let{containerSize:A,totalItems:O}=J;if(A<=0||O===0)return;let E=O+1;if(E!==N)N=E,B.dom.root.setAttribute("aria-rowcount",`${E}`);D();let y=J.scrollPosition,S=l?.()??null,d=S!==null&&S.isCompressed,f=B.config.overscan,c,k;if(d)m2(y,A,K,O,S,z),c=Math.max(0,z.start-f),k=Math.min(O-1,z.end+f);else{let Z=K.indexAtOffset(y),U=K.indexAtOffset(y+A);if(U<O-1)U++;Z=Math.max(0,Z),U=Math.min(O-1,U),c=Math.max(0,Z-f),k=Math.min(O-1,U+f)}if(c===J.prevRangeStart&&k===J.prevRangeEnd&&!J.renderPending)return;w();let g=X?.()??o1,x=H?.()??-1;F.length=0;for(let Z=c;Z<=k;Z++){let U=B.getItem(Z);if(U)F.push(U)}_.start=c,_.end=k;let R;if(d)R={scrollPosition:y,totalItems:O,containerSize:A,rangeStart:c,compression:S};Y.render(F,_,g,x,R),J.prevRangeStart=c,J.prevRangeEnd=k,J.renderPending=!1;let L=k-c+1;J.visibleCount=Math.min(L,J.capacity),J.startIndex=c;for(let Z=0;Z<J.visibleCount;Z++){let U=c+Z;J.visibleIndices[Z]=U,J.visibleOffsets[Z]=K.getOffset(U),J.visibleSizes[Z]=K.getSize(U)}let b=K.getTotalSize();J.totalSize=b,B.dom.content.style.height=b+"px"}function M(){if(J.destroyed)return;J.prevRangeStart=-1,J.prevRangeEnd=-1,J.renderPending=!0,v()}return{name:"table",priority:10,conflicts:["grid","masonry"],setup(A){B=A,J=A.getState(),K=A.sizeCache;let{dom:O,config:E,emitter:y}=A,{classPrefix:S}=E;if(E.axis.primary==="x")throw Error("[vlist] table: cannot be used with horizontal orientation");if(E.reverse)throw Error("[vlist] table: cannot be used with reverse mode");let d=j.resizable??!0,f=j.minColumnWidth??50,c=j.maxColumnWidth??1/0,k=j.rowBorders??!0,g=j.rowHeight,x=j.headerHeight??(typeof g==="number"?g:40),R=j.sort?.key??null,L=j.sort?.direction??"asc";if(Q=X1(j.columns,f,c,d),typeof g==="function"||typeof g==="number")A.setSizeConfig(g);if(A.rebuildSizeCache(),O.root.classList.add(`${S}--table`),k)O.root.classList.add(`${S}--table-row-borders`);if(j.columnBorders)O.root.classList.add(`${S}--table-col-borders`);if(E.interactive)O.root.setAttribute("tabindex","0");O.root.setAttribute("role","grid"),O.root.setAttribute("aria-colcount",`${j.columns.length}`),O.viewport.setAttribute("role","none"),O.content.setAttribute("role","rowgroup");let b=J.crossSize;Q.resolve(b);let Z=()=>{if(!Q)return;O.content.style.minWidth=`${Q.totalWidth}px`},U=(m,$)=>{if(!Q)return;let W=Q.getColumn(m);if(!W)return;let P=W.width,I=Q.resizeColumn(m,$);q?.update(Q),Y?.updateColumnLayout(Q),Z(),y.emit("column:resize",{key:W.def.key,index:m,previousWidth:P,width:I})},T=(m)=>{R=m.direction===null?null:m.key,L=m.direction??"asc",q?.updateSort(R,L),y.emit("column:sort",m)};if(q=A1(O.root,x,S,U,T),q.rebuild(Q),R)q.updateSort(R,L);Z(),Y=D1(O.content,()=>K,Q,j.columns,S,S,()=>J.totalItems,E.striped||void 0),A.setRenderFn(v,M);let p=q,t=-1,n=()=>{let m=O.viewport.scrollLeft;if(m!==t)t=m,p?.syncScroll?.(m)};O.viewport.addEventListener("scroll",n,{passive:!0}),A.registerMethod("updateColumns",(m)=>{if(!Q||!q)return;if(Q.updateColumns(m),Q.resolve(J.crossSize),q.rebuild(Q),R)q.updateSort(R,L);Z(),Y?.updateColumnLayout(Q),Y?.clear(),A.forceRender()}),A.registerMethod("resizeColumn",(m,$)=>{if(!Q)return;let W;if(typeof m==="string"){let P=Q.columns;W=-1;for(let I=0;I<P.length;I++)if(P[I].def.key===m){W=I;break}if(W===-1)return}else W=m;U(W,$)}),A.registerMethod("getColumnWidths",()=>{if(!Q)return{};let m={},$=Q.columns;for(let W=0;W<$.length;W++)m[$[W].def.key]=$[W].width;return m}),A.registerMethod("setSort",(m,$)=>{R=m,L=$??"asc",q?.updateSort(R,L)}),A.registerMethod("getSort",()=>{return{key:R,direction:L}}),A.registerMethod("_getTableLayout",()=>Q),A.registerMethod("_getTableHeaderHeight",()=>x),A.registerMethod("_updateRenderedItem",(m,$,W,P)=>{Y?.updateItem(m,$,W,P)}),A.registerMethod("_replaceTableRenderer",(m)=>{Y=m}),A.registerMethod("_updateTableForGroups",(m,$)=>{Y?.setGroupHeaderFn(m,$)}),A.registerMethod("_updateItemClasses",(m,$,W)=>{Y?.updateItemClasses(m,$,W)}),A.registerKeydownHandler((m)=>{if(m.key!=="ArrowLeft"&&m.key!=="ArrowRight")return;if(!Q)return;let $=Q.columns;if($.length===0)return;let W=O.viewport.clientWidth;if(Q.totalWidth<=W)return;let P=O.viewport.scrollLeft;if(m.key==="ArrowRight"){for(let I=0;I<$.length;I++)if($[I].offset>P+1){O.viewport.scrollLeft=$[I].offset,m.preventDefault();return}}else{for(let I=$.length-1;I>=0;I--)if($[I].offset<P-1){O.viewport.scrollLeft=$[I].offset,m.preventDefault();return}if(P>0)O.viewport.scrollLeft=0,m.preventDefault()}}),A.registerDestroyHandler(()=>{O.viewport.removeEventListener("scroll",n),q?.destroy(),q=null,Y?.destroy(),Y=null,O.content.style.minWidth="",O.root.classList.remove(`${S}--table`),O.root.classList.remove(`${S}--table-row-borders`),O.root.classList.remove(`${S}--table-col-borders`),O.root.removeAttribute("role"),O.root.removeAttribute("aria-colcount"),O.root.removeAttribute("aria-rowcount"),O.root.removeAttribute("tabindex"),O.viewport.removeAttribute("role"),O.content.removeAttribute("role")})},hooks:{onResize(A,O){if(!Q||!B)return;let E=J.crossSize;if(Q.resolve(E),q?.update(Q),Y?.updateColumnLayout(Q),Q)B.dom.content.style.minWidth=`${Q.totalWidth}px`},onAfterScroll(){if(!B||!q)return;q?.syncScroll?.(B.dom.viewport.scrollLeft)}},destroy(){q?.destroy(),q=null,Y?.destroy(),Y=null,B=null}}}function b0(j){let Q=j?.handle??null,q=j?.ghostClass??"vlist-sort-ghost",Y=j?.shiftDuration??150,J=j?.edgeScrollZone??40,K=j?.edgeScrollSpeed??20,B=j?.dragThreshold??5,X=j?.ghostContainer??null,H,G,N=null,l,V,w,D,F,_,z,v,M,A,O=!1,E=-1,y=-1,S=0,d=0,f=0,c=0,k=!1,g=null,x=0,R=null,L=0,b=0,Z=0,U=null,T=!1,p="",t=-1,n=-1,m=[],$="",W=null,P=null,I="",s=!1,C=(h)=>{return h.closest("[data-index]")},u=(h)=>{let Q2=h.dataset.index;return Q2===void 0?-1:+Q2},a=(h)=>{let Q2=h.getBoundingClientRect(),j2=h.cloneNode(!0);return j2.className=`${D}-item ${q}`,j2.removeAttribute("data-index"),j2.style.cssText=`position:fixed;pointer-events:none;z-index:10000;width:${Q2.width}px;height:${Q2.height}px;left:${Q2.left}px;top:${Q2.top}px;transition:none;will-change:transform`,(X||document.body).appendChild(j2),j2},e=()=>{if(!g)return;g.style.left=`${f-b}px`,g.style.top=`${c-Z}px`},i=()=>{let h=H.totalItems;if(h===0)return 0;let Q2=V.getBoundingClientRect(),j2=H.scrollPosition,V2=F?f-b-Q2.left+V.scrollLeft+j2:c-Z-Q2.top+j2,_2=V2+L,T2=G.getOffset(E)+G.getSize(E);if(_2>T2){let E2=G.indexAtOffset(_2),C2=G.getOffset(E2)+G.getSize(E2)/2,I2=_2>C2?E2:E2-1;return Math.min(Math.max(I2,E),h-1)}let w2=G.getOffset(E);if(V2<w2){let E2=G.indexAtOffset(V2),C2=G.getOffset(E2)+G.getSize(E2)/2,I2=V2<C2?E2:E2+1;return Math.max(Math.min(I2,E),0)}return E},q2=()=>{let h=l.children,Q2=L;for(let j2=0;j2<h.length;j2++){let V2=h[j2],_2=u(V2);if(_2<0||_2===E)continue;let T2=0;if(y>E){if(_2>E&&_2<=y)T2=-Q2}else if(y<E){if(_2>=y&&_2<E)T2=Q2}let w2=G.getOffset(_2),E2=Math.round(w2+T2);V2.style.transition=z,V2.style.transform=`${_}(${E2}px)`}},K2=()=>{let h=l.children;for(let Q2=0;Q2<h.length;Q2++){let j2=h[Q2],V2=u(j2);if(V2>=0)j2.style.transform=`${_}(${Math.round(G.getOffset(V2))}px)`;j2.style.transition=""}},G2=()=>{if(!N)return;let h=i();if(h===y)return;y=h,q2(),N.emitter.emit("sort:move",{fromIndex:E,currentIndex:y})},M2=()=>{let h=V.getBoundingClientRect();if(F)return f<h.left||f>h.right;return c<h.top||c>h.bottom},N2=()=>{let h=N?.getMethod("_getFocusedIndex");return h?h():-1},J2=(h)=>{let Q2=N?.getMethod("_focusById");if(Q2)Q2(h)},o=(h)=>{if(!N)return;let Q2=F?V.clientWidth:V.clientHeight,j2=H.scrollPosition,V2=G.getOffset(h),_2=V2+G.getSize(h);if(V2<j2)N.scrollTo(Math.max(0,V2));else if(_2>j2+Q2)N.scrollTo(_2-Q2)},$2=(h)=>{if(!P)return;P.textContent="",P.offsetHeight,P.textContent=h},B2=(h)=>{if(!N)return"";let j2=N.getItems()[h];if(!j2)return"";return l.querySelector(`[data-index="${h}"]`)?.textContent?.trim()||String(j2.id)},U2=()=>String(H.totalItems),Y2=(h)=>{let Q2=l.children;for(let j2=0;j2<Q2.length;j2++)Q2[j2].style.transition=h},A2=()=>{let h=()=>{if(!O||!N)return;let Q2=V.getBoundingClientRect(),j2=0,V2=3;if(F){let T2=f-Q2.left,w2=Q2.right-f;if(T2<J){let E2=Math.min(V2,1-T2/J);j2=-K*E2*E2}else if(w2<J){let E2=Math.min(V2,1-w2/J);j2=K*E2*E2}}else{let T2=c-Q2.top,w2=Q2.bottom-c;if(T2<J){let E2=Math.min(V2,1-T2/J);j2=-K*E2*E2}else if(w2<J){let E2=Math.min(V2,1-w2/J);j2=K*E2*E2}}let _2=M2();if(j2!==0){let T2=H.scrollPosition,w2=G.getTotalSize()-(F?V.clientWidth:V.clientHeight);if(j2<0&&T2<=0||j2>0&&T2>=w2)s=_2;else s=!0,N.scrollTo(T2+j2)}else s=_2;x=requestAnimationFrame(h)};x=requestAnimationFrame(h)},L2=()=>{if(x)cancelAnimationFrame(x),x=0},X2=(h=!1)=>{if(O=!1,k=!1,g&&g.parentNode)g.remove();g=null,R=null;let Q2=l.children;for(let V2=0;V2<Q2.length;V2++){let _2=Q2[V2];_2.classList.remove(A);let T2=u(_2);if(T2>=0)_2.style.transform=`${_}(${Math.round(G.getOffset(T2))}px)`;_2.style.transition=""}L2(),w.classList.remove(v),document.body.style.cursor="";let j2=window.getSelection();if(j2)j2.removeAllRanges();if(document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),!h&&N)N.forceRender()},b2=(h,Q2)=>{if(!N)return;let j2=h!==Q2&&h>=0&&Q2>=0,V2=()=>{if(!N)return;if(O=!1,j2){if(w.classList.add(M),N.emitter.emit("sort:end",{fromIndex:h,toIndex:Q2}),U!==null)J2(U);X2(!0),requestAnimationFrame(()=>w.classList.remove(M))}else w.classList.add(M),N.emitter.emit("sort:cancel",{originalItems:[...N.getItems()]}),X2(!1),requestAnimationFrame(()=>w.classList.remove(M))};if(!g){V2();return}let _2=V.getBoundingClientRect(),T2=H.scrollPosition,w2=G.getOffset(Q2),E2=Y>0?Y:150;if(g.style.transition=`left ${E2}ms ease, top ${E2}ms ease`,F)g.style.left=`${_2.left-V.scrollLeft+w2-T2}px`,g.style.top=`${_2.top}px`;else g.style.left=`${_2.left}px`,g.style.top=`${_2.top+w2-T2}px`;let C2=!1,I2=()=>{if(C2)return;C2=!0,g?.removeEventListener("transitionend",I2),V2()};g.addEventListener("transitionend",I2),setTimeout(I2,E2+50)},F2=(h)=>{if(H.destroyed||!N)return;if(O)return;if(T)P2();if(h.button!==0)return;let Q2=h.target;if(Q){if(!Q2.closest(Q))return}let j2=C(Q2);if(!j2)return;let V2=u(j2);if(V2<0)return;S=h.clientX,d=h.clientY,f=h.clientX,c=h.clientY,E=V2,k=!1,R=j2;let _2=j2.getBoundingClientRect();b=h.clientX-_2.left,Z=h.clientY-_2.top,document.addEventListener("pointermove",y2),document.addEventListener("pointerup",D2),document.addEventListener("pointercancel",H2)};function y2(h){if(!N)return;if(f=h.clientX,c=h.clientY,!k){let Q2=f-S,j2=c-d;if(Math.sqrt(Q2*Q2+j2*j2)<B)return;if(k=!0,O=!0,y=E,w.classList.add(v),document.body.style.cursor="grabbing",L=G.getSize(E),R)g=a(R),R.classList.add(A);let V2=N2();if(V2>=0){let T2=N.getItems()[V2];U=T2?T2.id:null}else U=null;N.emitter.emit("sort:start",{index:E}),A2()}if(O){if(h.preventDefault(),e(),!s)G2();else if(M2()){if(y!==E)y=E,K2()}}}function D2(h){if(!k){document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),R=null;return}h.preventDefault(),document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),L2(),b2(E,y)}let k2=()=>{if(!k)return;document.removeEventListener("pointermove",y2),document.removeEventListener("pointerup",D2),document.removeEventListener("pointercancel",H2),L2(),K2(),b2(E,E)};function H2(){k2()}let z2=()=>{let h=l.querySelectorAll(`.${I}`);for(let Q2=0;Q2<h.length;Q2++)h[Q2].classList.remove(I)},W2=()=>{z2();let h=l.querySelector(`[data-id="${p}"]`);if(h)h.classList.add(I)},O2=(h)=>{if(!N)return;let Q2=N.getItems(),j2=Q2[h];if(!j2)return;T=!0,p=j2.id,t=h,n=h,m=[...Q2],w.classList.add(v),N.emitter.emit("sort:start",{index:h}),W2(),$2(`Grabbed ${B2(h)}. Current position ${h+1} of ${U2()}. Use Up and Down arrow keys to move, Space to drop, Escape to cancel.`)},R2=()=>{if(!T||!N)return;T=!1;let h=n,Q2=B2(h);Y2("none"),w.classList.remove(v),z2(),J2(p),N.forceRender(),$2(`${Q2} dropped. Final position ${h+1} of ${U2()}.`),m=[],requestAnimationFrame(()=>Y2(""))},P2=()=>{if(!T||!N)return;T=!1;let h=t;if(Y2("none"),w.classList.remove(v),z2(),n!==h)N.emitter.emit("sort:cancel",{originalItems:m});J2(p),N.forceRender(),o(h),$2(`Reorder cancelled. Returned to position ${h+1} of ${U2()}.`),m=[],requestAnimationFrame(()=>Y2(""))},Z2=(h)=>{if(!T||!N)return;let Q2=H.totalItems,j2=n+h;if(j2<0||j2>=Q2)return;let V2=n,_2=j2;Y2("none"),N.emitter.emit("sort:end",{fromIndex:V2,toIndex:_2}),n=_2,J2(p),N.forceRender(),o(_2),W2(),$2(`${B2(_2)} moved. New position ${_2+1} of ${U2()}.`),requestAnimationFrame(()=>Y2(""))},r=(h)=>{if(H.destroyed)return;if(O){if(h.key==="Escape")h.preventDefault(),h.stopImmediatePropagation(),k2();return}if(T)switch(h.key){case" ":case"Enter":h.preventDefault(),h.stopImmediatePropagation(),R2();return;case"Escape":h.preventDefault(),h.stopImmediatePropagation(),P2();return;case"ArrowUp":case"ArrowLeft":h.preventDefault(),h.stopImmediatePropagation(),Z2(-1);return;case"ArrowDown":case"ArrowRight":h.preventDefault(),h.stopImmediatePropagation(),Z2(1);return;default:if(!h.key.startsWith("F")&&h.key!=="Tab")h.preventDefault(),h.stopImmediatePropagation();return}if(h.key===" "&&!h.shiftKey&&!h.ctrlKey&&!h.metaKey){let Q2=N2();if(Q2>=0)h.preventDefault(),h.stopImmediatePropagation(),O2(Q2)}};return{name:"sortable",priority:30,conflicts:["grid","masonry","table","scale"],setup(h){N=h,H=h.getState(),G=h.sizeCache,l=h.dom.content,V=h.dom.viewport,w=h.dom.root,D=h.config.classPrefix,F=h.config.axis.primary==="x",_=F?"translateX":"translateY",z=Y>0?`transform ${Y}ms ease`:"none",v=`${D}--sorting`,M=`${D}--settling`,A=`${D}-item--drag-source`,I=`${D}-item--kb-sorting`,h.registerMethod("isSorting",()=>O||T),l.addEventListener("pointerdown",F2),w.addEventListener("keydown",r),$=`${D}-sort-instructions`,W=document.createElement("div"),W.id=$,W.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",W.textContent="Press Space to reorder. Use arrow keys to move, Space to drop, Escape to cancel.",w.appendChild(W),P=document.createElement("div"),P.setAttribute("role","status"),P.setAttribute("aria-live","assertive"),P.setAttribute("aria-atomic","true"),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",w.appendChild(P),h.registerDestroyHandler(()=>{if(T)P2();X2(),l.removeEventListener("pointerdown",F2),w.removeEventListener("keydown",r),W?.remove(),P?.remove()})},hooks:{onCommit(){if(!N)return;let h=l.children;for(let Q2=0;Q2<h.length;Q2++){let j2=h[Q2],V2=u(j2);if(V2<0)continue;if(j2.setAttribute("aria-roledescription","sortable item"),j2.setAttribute("aria-describedby",$),T)if(j2.getAttribute("data-id")===String(p))j2.classList.add(I);else j2.classList.remove(I);if(O)if(V2===E)j2.classList.add(A),R=j2;else{j2.classList.remove(A);let _2=0;if(y>E){if(V2>E&&V2<=y)_2=-L}else if(y<E){if(V2>=y&&V2<E)_2=L}let T2=Math.round(G.getOffset(V2)+_2);j2.style.transform=`${_}(${T2}px)`}}}},destroy(){if(g&&g.parentNode)g.remove();g=null,L2(),W?.remove(),P?.remove(),N=null}}}var i1=50,n1=0.1;function H1(j){let Q=0,q=0,Y=0;function J(){return Y>0?q/Y:0}function K(H){if(Q=H,H>n1&&H<i1)q+=H,Y++}function B(){let H=j.getTotal();if(H===0)return 0;let G=j.getItemSize();if(G<=0)return 0;let N=j.getContainerSize();if(N<=0)return 0;let l=j.getScrollPosition(),V=typeof j.getColumns==="function"?j.getColumns():1,D=Math.ceil(H/V)*G,_=Math.min(D,S2)-N,z=D-N,v=_>0?z/_:1,M=l*v,A=Math.ceil((M+N)/G);return Math.min(A*V,H)}function X(){let H=j.getTotal(),G=B();return{progress:H>0?Math.min(100,Math.max(0,G/H*100)):0,velocity:Q,velocityAvg:J(),itemCount:G,total:H}}return{getState:X,onVelocity:K}}export{A0 as transition,T0 as table,b0 as sortable,X0 as snapshots,M0 as selection,W0 as scrollbar,N0 as scale,G0 as page,H0 as masonry,E0 as groups,V0 as grid,L0 as data,t0 as createVList,H1 as createStats,D0 as autosize,_0 as a11y};
|
package/dist/internals.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var v2=(J)=>{return J!==null&&typeof J==="object"&&J.__groupHeader===!0};var x2=(J,Q)=>{let q=0,$=J.length-1;while(q<$){let j=q+$+1>>>1;if(J[j].headerLayoutIndex<=Q)q=j;else $=j-1}return q},a2=(J,Q)=>{let q=0,$=J.length-1;while(q<$){let j=q+$+1>>>1;if(J[j].firstDataIndex<=Q)q=j;else $=j-1}return q},n2=(J,Q,q)=>{if(J===0)return[];let $=[],j=null,Y=0,B=0;for(let G=0;G<J;G++){let P=q?.(G);if(!P)continue;let M=Q(G,P);if(j===null)j=M,Y=0;else if(M!==j){let y=G-Y;$.push({key:j,groupIndex:$.length,headerLayoutIndex:B,firstDataIndex:Y,count:y}),B=B+1+y,j=M,Y=G}}if(j!==null)$.push({key:j,groupIndex:$.length,headerLayoutIndex:B,firstDataIndex:Y,count:J-Y});return $},s2=(J,Q)=>{if(J.length===0||Q.length===0)return[];let q=J.length+Q.length,$=Array(q),j=0;for(let Y of Q){$[j]={id:`__group_header_${Y.groupIndex}`,__groupHeader:!0,groupKey:Y.key,groupIndex:Y.groupIndex},j++;for(let B=0;B<Y.count;B++)$[j]=J[Y.firstDataIndex+B],j++}return $},o2=(J,Q,q=!1)=>{let $=typeof Q==="number"?(j)=>Q:Q;return(j)=>{let Y=J.getEntry(j);if(Y.type==="header"){if(q&&Y.group.groupIndex===0)return 0;return J.getHeaderHeight(Y.group.groupIndex)}return $(Y.dataIndex)}},i2=(J,Q,q)=>{let $=n2(J,Q.getGroupForIndex,q),j=J+$.length,Y=Q.header?.height??Q.header?.width??Q.headerHeight;return{get totalEntries(){return j},get groupCount(){return $.length},get groups(){return $},getEntry:(F)=>{if($.length===0)return{type:"item",dataIndex:F,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let V=x2($,F),W=$[V];if(F===W.headerLayoutIndex)return{type:"header",group:W};let _=F-W.headerLayoutIndex-1;return{type:"item",dataIndex:W.firstDataIndex+_,group:W}},layoutToDataIndex:(F)=>{if($.length===0)return F;let V=x2($,F),W=$[V];if(F===W.headerLayoutIndex)return-1;let _=F-W.headerLayoutIndex-1;return W.firstDataIndex+_},dataToLayoutIndex:(F)=>{if($.length===0)return F;let V=a2($,F),W=$[V],_=F-W.firstDataIndex;return W.headerLayoutIndex+1+_},getGroupAtLayoutIndex:(F)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let V=x2($,F);return $[V]},getGroupAtDataIndex:(F)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let V=a2($,F);return $[V]},getHeaderHeight:typeof Y==="number"?(F)=>Y:(F)=>{let V=$[F];if(!V)return 0;return Y(V.key,F)},rebuild:(F,V)=>{$=n2(F,Q.getGroupForIndex,V??q),j=F+$.length}}};var xJ=(J,Q,q,$,j=0)=>{let Y=q?"width":"height",B=document.createElement("div");return B.className=`${Q}-sticky-header`,B.setAttribute("role","presentation"),B.setAttribute("aria-hidden","true"),B.style.cssText="position:relative;z-index:5;pointer-events:none;overflow:hidden;"+(q?`top:0;bottom:0;left:${j||0}px`:`top:${j||0}px`),B.style[Y]=`${$}px`,J.insertBefore(B,J.firstChild),B},t2=(J,Q,q,$,j,Y=!1,B=0,G,P)=>{let M=Y?"width":"height",y=Y?"height":"width",v=Y?"X":"Y",O=(E,U)=>{E.style[M]=`${U}px`},F=P??xJ(J,j,Y,0,B),V=()=>{let E=document.createElement("div");return E.className="sticky-group",E.style.position="absolute",E.style.willChange="transform",E.style[y]="100%",E},W=V(),_=V();F.append(W,_);let X=W,T=_,k=Q.groups,w=[],I=[],g=[],u=0,Y2=()=>{k=Q.groups,u=k.length,w=Array(u),I=Array(u),g=Array(u);let E=G?G():1;for(let U=0;U<u;U++)w[U]=q.getOffset(k[U].headerLayoutIndex)*E,I[U]=Q.getHeaderHeight(U),g[U]=I[U]*E};Y2();let o=-1,i=0,$2=0,N2=-1,j2=!1,r=0,d=!1,J2=(E,U)=>{$(E,U);let R=I[U];return O(E,R),R},L=(E)=>{E.replaceChildren(),E.style.transform=""},N=(E)=>{if(E===o)return;if(o=E,i=0,$2=0,E<0||E>=u){L(X);return}i=J2(X,E),$2=g[E],O(F,i),X.style.transform=""},K=(E)=>{if(E===r)return;r=E;let U=Math.round(E);X.style.transform=`translate${v}(${U}px)`,T.style.transform=`translate${v}(${U+i}px)`},D=()=>{r=0,X.style.transform="",T.style.transform=""},C=()=>{if(!d)return;let E=X;X=T,T=E,o=N2,i=o>=0?I[o]:0,$2=o>=0?g[o]:0,O(F,i),L(T),N2=-1,d=!1,D()},c=()=>{if(!d)return;L(T),N2=-1,d=!1,D()},l=!!P,S=()=>{if(j2)return;if(j2=!0,l)F.style.visibility="";else F.style.display=""},Z=()=>{if(!j2)return;if(j2=!1,l)F.style.visibility="hidden";else F.style.display="none";L(X),o=-1,i=0,$2=0,c()},H=(E)=>{if(u===0){Z();return}if(E<w[0]){Z();return}let U=0,R=u-1;while(U<R){let x=U+R+1>>>1;if(w[x]+g[x]<=E)U=x;else R=x-1}if(!j2)S();N(U);let b=U+1;if(b<u){let x=w[b]-E;if(x<=0&&x>-$2){if(N2!==b||!d)N2=b,J2(T,b),d=!0;let p=$2>0?x/$2*i:x;K(p)}else if(x<=-$2){if(d)C()}else if(d)c()}else if(d)c()},A=()=>{Y2();let E=o;if(o=-1,i=0,$2=0,E>=0)N(E)},z=()=>{F.remove(),o=-1,i=0,$2=0,N2=-1,j2=!1,d=!1};if(!P)F.style.display="none";return{update:H,refresh:A,show:S,hide:Z,destroy:z}};var e2=(J)=>{let Q=Math.max(1,Math.floor(J.columns)),q=J.gap??0,$=J.isHeaderFn,j={row:0,col:0},Y=(V)=>{if(V<=0)return 0;if(!$)return Math.ceil(V/Q);let W=0,_=0,X=0;for(let T=0;T<V;T++)if($(T)){if(X++,_)W++,_=0;W++,_=0}else if(_++,_>=Q)W++,_=0;if(_)W++;return W},B=(V)=>{return j.row=G(V),j.col=P(V),j},G=(V)=>{if(!$)return Math.floor(V/Q);let W=0,_=0;for(let X=0;X<=V;X++)if($(X)){if(_)W++,_=0;if(X===V)return W;W++,_=0}else{if(X===V)return W;if(_++,_>=Q)W++,_=0}return console.warn(`⚠️ getRow(${V}) fell through - returning ${W}`),W},P=(V)=>{if(!$)return V%Q;if($(V))return 0;let W=0;for(let _=0;_<=V;_++)if($(_))W=0;else{if(_===V)return W;if(W++,W>=Q)W=0}return W},M=(V,W,_)=>{if(_<=0)return{start:0,end:-1};if(!$){let I=Math.max(0,V*Q),g=Math.min(_-1,(W+1)*Q-1);return{start:I,end:g}}let X=-1,T=-1,k=0,w=0;for(let I=0;I<_;I++){if($(I)){if(w)k++,w=0;if(k>=V&&k<=W){if(X<0)X=I;T=I}k++,w=0}else{if(k>=V&&k<=W){if(X<0)X=I;T=I}if(w++,w>=Q)k++,w=0}if(k>W&&!w)break}if(X<0)return{start:0,end:-1};return{start:X,end:T}},y=(V,W,_)=>{if(W<0||W>=Q)return-1;let X=V*Q+W;if(X<0||X>=_)return-1;return X},v=(V)=>{let W=(Q-1)*q;return Math.max(0,(V-W)/Q)};return{get columns(){return Q},get gap(){return q},update:(V)=>{if(V.columns!==void 0)Q=Math.max(1,Math.floor(V.columns));if(V.gap!==void 0)q=V.gap;if(V.isHeaderFn!==void 0)$=V.isHeaderFn},getTotalRows:Y,getPosition:B,getRow:G,getCol:P,getItemRange:M,getItemIndex:y,getColumnWidth:v,getColumnOffset:(V,W)=>{let _=v(W);return V*(_+q)}}};var H2=16000000;var JJ="x",QJ=20,g2="_isPlaceholder",R2="__placeholder_";var y2=(J,Q,q)=>{if(String(q).startsWith(R2))return!1;let $=R2+Q;if(J.has($))return J.delete($),J.add(q),!0;return!1},$J=(J)=>({selected:new Set(J??[]),focusedIndex:-1,focusVisible:!1}),u2=(J,Q,q)=>{if(q==="none")return J;let $=new Set(J.selected);if(q==="single"){if($.clear(),Q.length>0)$.add(Q[0])}else for(let j of Q)$.add(j);return{...J,selected:$}},m2=(J,Q)=>{let q=new Set(J.selected);for(let $ of Q)q.delete($);return{...J,selected:q}},qJ=(J,Q,q)=>{if(q==="none")return J;if(J.selected.has(Q))return m2(J,[Q]);else return u2(J,[Q],q)},YJ=(J,Q,q)=>{if(q!=="multiple")return J;return{...J,selected:new Set(Q.map(($)=>$.id))}},jJ=(J)=>({...J,selected:new Set});var BJ=(J,Q)=>{return J.selected.has(Q)},UJ=(J)=>{return Array.from(J.selected)},NJ=(J,Q)=>{let q=[];for(let $ of J.selected){let j=Q($);if(j)q.push(j)}return q};var gJ=(J,Q)=>{let q=Q;return{getOffset:($)=>$*J,getSize:($)=>J,indexAtOffset:($)=>{if(q===0||J===0)return 0;return Math.max(0,Math.min(Math.floor($/J),q-1))},getTotalSize:()=>q*J,getTotal:()=>q,rebuild:($)=>{q=$},isVariable:()=>!1}},uJ=(J,Q)=>{let q=Q,$=new Float64Array(0),j=(B)=>{q=B,$=new Float64Array(B+1),$[0]=0;for(let G=0;G<B;G++)$[G+1]=$[G]+J(G)};j(Q);let Y=(B)=>{if(q===0)return 0;if(B<=0)return 0;if(B>=$[q])return q-1;let G=0,P=q-1;while(G<P){let M=G+P+1>>>1;if($[M]<=B)G=M;else P=M-1}return G};return{getOffset:(B)=>{if(B<=0)return 0;if(B>=q)return $[q];return $[B]},getSize:(B)=>J(B),indexAtOffset:(B)=>Y(B),getTotalSize:()=>$[q]??0,getTotal:()=>q,rebuild:(B)=>j(B),isVariable:()=>!0}},k2=(J,Q)=>{if(typeof J==="number")return gJ(J,Q);return uJ(J,Q)},d2=(J,Q,q,$)=>{if($===0)return 0;if(!J.isVariable())return Math.ceil(q/J.getSize(0));let j=0,Y=0,B=Q;while(B<$&&Y<q)Y+=J.getSize(B),j++,B++;return Math.max(1,j)};var w2=(J,Q,q)=>{let $=Q.getTotalSize(),j=q===!0||$>H2,Y=$>H2?H2:$,B=$>0?Y/$:1;return{isCompressed:j,actualSize:$,virtualSize:Y,ratio:B}},KJ=(J,Q,q,$,j,Y)=>{if($===0||Q===0)return Y.start=0,Y.end=-1,Y;if(!j.isCompressed||j.ratio===1){let F=q.indexAtOffset(J),V=q.indexAtOffset(J+Q);if(V<$-1)V++;return Y.start=Math.max(0,F),Y.end=Math.min($-1,Math.max(0,V)),Y}let{virtualSize:B}=j,G=J/B,P=q.getTotalSize(),M=G*P,y=q.indexAtOffset(M),v=d2(q,Math.max(0,y),Q,$),O=y+v;return Y.start=Math.max(0,y),Y.end=Math.min($-1,Math.max(0,O)),Y},ZJ=(J,Q,q,$)=>{if(q===0)return $.start=0,$.end=-1,$;return $.start=Math.max(0,J.start-Q),$.end=Math.min(q-1,J.end+Q),$},P2=(J,Q,q,$,j,Y,B)=>{if(!Y.isCompressed||$===0)return q.getOffset(J);if(Y.ratio===1)return q.getOffset(J)-Q;let{virtualSize:G}=Y,P=Q/G,M=q.getTotalSize(),y=P*M;return q.getOffset(J)-y},_J=(J,Q,q,$,j,Y="start")=>{if($===0)return 0;let B;if(j.isCompressed&&j.ratio!==1){B=J/$*j.virtualSize;let y=Q.getSize(J);switch(Y){case"center":B-=(q-y)/2*j.ratio;break;case"end":B-=(q-y)*j.ratio;break}return Math.max(0,B)}B=Q.getOffset(J);let G=Q.getSize(J);switch(Y){case"center":B-=(q-G)/2;break;case"end":B-=q-G;break}let P=j.virtualSize-q;return Math.max(0,Math.min(B,P))},WJ=(J,Q,q,$)=>{if(q===0)return 0;if($.isCompressed&&$.ratio!==1){let j=J/$.virtualSize;return Math.floor(j*q)}return Q.indexAtOffset(J)},VJ=(J,Q)=>{if(typeof Q==="number")return J*Q>H2;return Q.getTotalSize()>H2},MJ=(J)=>{if(J<=0)return 0;return Math.floor(H2/J)},DJ=(J,Q,q)=>{let $=w2(J,Q,q);if(!$.isCompressed)return`No compression needed (${J} items, ${($.actualSize/1e6).toFixed(2)}M px)`;return`Compressed to ${($.ratio*100).toFixed(1)}% (${J} items, ${($.actualSize/1e6).toFixed(1)}M px → ${($.virtualSize/1e6).toFixed(1)}M px virtual)`};var C2=(J,Q,q)=>{let $=Array.from(Q).sort((B,G)=>B-G);if($.length<=1)return;let j=[];for(let B=0;B<$.length;B++){let G=q($[B]);if(G)j.push(G)}if(j.length<=1)return;let Y=J.firstChild;for(let B=0;B<j.length;B++){let G=j[B];if(G===Y)Y=Y.nextSibling;else J.insertBefore(G,Y)}};var mJ=(J=200)=>{let Q=[];return{acquire:()=>{let Y=Q.pop();if(Y)return Y;let B=document.createElement("div");return B.setAttribute("role","option"),B},release:(Y)=>{if(Y.remove(),Q.length<J)Y.className="",Y.textContent="",Y.removeAttribute("style"),Y.removeAttribute("data-index"),Y.removeAttribute("data-id"),Y.removeAttribute("data-row"),Y.removeAttribute("data-col"),Q.push(Y)},clear:()=>{Q.length=0}}},dJ=1,cJ=(J,Q,q,$,j,Y,B,G,P=!1,M,y)=>{let v=mJ(),O=new Map,F=Y,V=!1,W=0,_="",X=-1,T={selected:!1,focused:!1},k=(Z,H)=>{return T.selected=Z,T.focused=H,T},w=`${j}-item ${j}-grid-item`,I=`${j}-group-header`,g=`${j}-item--selected`,u=`${j}-item--focused`,Y2=`${j}-item--placeholder`,o=`${j}-item--replaced`,i=(Z,H)=>{if(typeof H==="string")Z.innerHTML=H;else Z.replaceChildren(H)},$2=(Z,H,A)=>{Z.classList.toggle(g,H),Z.classList.toggle(u,A)},N2=(Z,H)=>{let A=$.getRow(Z);if(H?.compression?.isCompressed)return P2(A,H.scrollPosition,q,H.totalItems,H.containerSize,H.compression,H.rangeStart);return q.getOffset(A)},j2=(Z,H)=>{let A=$.getCol(Z),E=V&&A===0?0:$.getColumnOffset(A,F),U;if(V){let R=$.getRow(Z),b=0,x=-1;for(let p=0;p<Z;p++){let m=$.getRow(p);if(m<R&&m!==x){let s=q.getSize(p);b+=s,x=m}}U=b}else U=N2(Z,H);if(P)return`translate(${Math.round(U)}px, ${Math.round(E)}px)`;return`translate(${Math.round(E)}px, ${Math.round(U)}px)`},r=(Z,H)=>{let A=Z.classList.contains(I),z=A?F:$.getColumnWidth(F),E;if(V||A)E=q.getSize(H)-$.gap;else{let U=$.getRow(H);E=q.getSize(U)-$.gap}if(P)Z.style.width=`${E}px`,Z.style.height=`${z}px`;else Z.style.width=`${z}px`,Z.style.height=`${E}px`},d=(Z,H,A,z,E)=>{let U=v.acquire(),R=!!H.__groupHeader,b=k(A,z);if(U.className=R?I:w,U.dataset.index=String(Z),U.dataset.id=String(H.id),U.dataset.row=String($.getRow(Z)),U.dataset.col=String($.getCol(Z)),R)U.setAttribute("role","presentation"),U.removeAttribute("aria-selected"),U.removeAttribute("aria-setsize"),U.removeAttribute("aria-posinset"),U.removeAttribute("id");else if(y!==!1){if(U.setAttribute("role","option"),U.ariaSelected=String(A),G)U.id=`${G}-item-${Z}`;if(B){let m=B();if(m!==X)X=m,_=String(m);U.setAttribute("aria-setsize",_);let s=M?M(Z):Z+1;U.setAttribute("aria-posinset",String(s))}}else if(U.setAttribute("role","listitem"),U.removeAttribute("aria-selected"),B){let m=B();if(m!==X)X=m,_=String(m);U.setAttribute("aria-setsize",_);let s=M?M(Z):Z+1;U.setAttribute("aria-posinset",String(s))}r(U,Z);let x=Q(H,Z,b);if(i(U,x),String(H.id).startsWith(R2))U.classList.add(Y2);return $2(U,A,z),U.style.transform=E,{element:U,lastItem:H,lastSelected:A,lastFocused:z,lastTransform:E,lastSeenFrame:W}},J2=(Z,H,A,z,E)=>{if(W++,H.start===0&&Z.length)V=v2(Z[0]);for(let[b,x]of O)if(b>=H.start&&b<=H.end)x.lastSeenFrame=W;else if(W-x.lastSeenFrame>dJ)v.release(x.element),O.delete(b);let U=!1;if(B){let b=B();if(b!==X)X=b,_=String(b),U=!0}let R=null;for(let b=H.start;b<=H.end;b++){let x=b-H.start,p=Z[x];if(!p)continue;let m=A.has(p.id),s=b===z,e=O.get(b);if(e){let Z2=e.lastItem!==p,Q2=e.lastSelected!==m,h=e.lastFocused!==s;if(Z2){let a=e.element.dataset.id??"",q2=String(p.id),U2=a.startsWith(R2),n=q2.startsWith(R2);if(!n&&y2(A,b,p.id))m=!0;let M2=k(m,s),E2=Q(p,b,M2);if(i(e.element,E2),e.element.dataset.id=q2,e.element.dataset.row=String($.getRow(b)),e.element.dataset.col=String($.getCol(b)),r(e.element,b),e.element.classList.toggle(Y2,n),U2&&!n)e.element.classList.add(o),setTimeout(()=>e.element.classList.remove(o),300);if(e.lastItem=p,!p.__groupHeader){let V2=M?M(b):b+1;e.element.setAttribute("aria-posinset",String(V2))}}if(Z2||Q2||h)$2(e.element,m,s),e.element.ariaSelected=String(m),e.lastSelected=m,e.lastFocused=s;let f=j2(b,E);if(e.lastTransform!==f)e.element.style.transform=f,e.lastTransform=f;if(U&&!p.__groupHeader)e.element.setAttribute("aria-setsize",_)}else{if(y2(A,b,p.id))m=!0;let Z2=j2(b,E),Q2=d(b,p,m,s,Z2);if(!R)R=document.createDocumentFragment();R.appendChild(Q2.element),O.set(b,Q2)}}if(R)J.appendChild(R)},L=(Z)=>{for(let[H,A]of O){let z=j2(H,Z);if(A.lastTransform!==z)A.element.style.transform=z,A.lastTransform=z}},N=(Z,H,A,z)=>{let E=O.get(Z);if(!E)return;let U=k(A,z),R=Q(H,Z,U);i(E.element,R),$2(E.element,A,z),E.element.dataset.id=String(H.id),E.element.ariaSelected=String(A),r(E.element,Z),E.lastItem=H,E.lastSelected=A,E.lastFocused=z},K=(Z,H,A)=>{let z=O.get(Z);if(!z)return;let E=z.lastSelected!==H,U=z.lastFocused!==A;if(E||U)$2(z.element,H,A),z.lastSelected=H,z.lastFocused=A},D=(Z)=>{return O.get(Z)?.element},C=(Z)=>{if(Math.abs(Z-F)<1)return;F=Z;for(let[H,A]of O){r(A.element,H);let z=j2(H);A.element.style.transform=z,A.lastTransform=z}},c=()=>{C2(J,O.keys(),(Z)=>O.get(Z)?.element)},l=()=>{for(let[,Z]of O)v.release(Z.element);O.clear()};return{render:J2,updatePositions:L,updateItem:N,updateItemClasses:K,getElement:D,sortDOM:c,updateContainerWidth:C,clear:l,destroy:()=>{l(),v.clear()}}};var GJ=(J,Q=50,q=1/0,$=!0)=>{let j=J,Y=[],B=0,G=()=>{Y=j.map((_,X)=>({def:_,index:X,width:0,minWidth:rJ(_.minWidth??Q,1),maxWidth:_.maxWidth??q,resizable:_.resizable??$,offset:0}))},P=(_)=>{if(Y.length===0){B=0;return}let X=0,T=0;for(let k=0;k<Y.length;k++){let w=Y[k],I=w.def;if(I.width!==void 0)w.width=c2(I.width,w.minWidth,w.maxWidth),X+=w.width;else T++}if(T){let w=Math.max(0,_-X)/T;for(let I=0;I<Y.length;I++){let g=Y[I];if(g.def.width===void 0)g.width=c2(w,g.minWidth,g.maxWidth)}}M()},M=()=>{let _=0;for(let X=0;X<Y.length;X++){let T=Y[X];T.offset=_,_+=T.width}B=_},y=(_,X)=>{if(_<0||_>=Y.length)return 0;let T=Y[_];if(!T.resizable)return T.width;let k=c2(X,T.minWidth,T.maxWidth);return T.width=k,M(),k},v=(_)=>{return Y[_]},O=(_)=>{if(Y.length===0)return;if(_<0)return Y[0];if(_>=B)return Y[Y.length-1];let X=0,T=Y.length-1;while(X<T){let k=X+T>>>1,w=Y[k];if(_<w.offset)T=k-1;else if(_>=w.offset+w.width)X=k+1;else return w}return Y[X]},F=(_)=>{if(_<0||_>=Y.length)return 0;return Y[_].offset},V=(_)=>{if(_<0||_>=Y.length)return 0;return Y[_].width},W=(_)=>{j=_,G()};return G(),{get columns(){return Y},get totalWidth(){return B},resolve:P,updateColumns:W,resizeColumn:y,getColumn:v,getColumnAtX:O,getColumnOffset:F,getColumnWidth:V}},c2=(J,Q,q)=>Math.min(q,Math.max(Q,J)),rJ=(J,Q)=>Math.max(Q,J);var OJ=(J,Q,q,$,j,Y)=>{let B=document.createElement("div");B.setAttribute("role","rowgroup");let G=document.createElement("div");G.className=`${q}-table-header`,G.setAttribute("role","row"),G.setAttribute("aria-rowindex","1"),G.style.height=`${Q}px`;let P=document.createElement("div");P.className=`${q}-table-header-scroll`,P.setAttribute("role","presentation"),G.appendChild(P),B.appendChild(G),J.insertBefore(B,J.firstChild),J.style.setProperty("--vlist-table-header-height",`${Q}px`);let M=[],y=[],v=!0,O=null,F="asc",V=null,W=!1,_=-1,X=0,T=0,k=0,w=(N,K)=>{let D=document.createElement("div");D.className=`${q}-table-header-cell`,D.setAttribute("role","columnheader"),D.setAttribute("aria-colindex",String(K+1)),D.setAttribute("tabindex",K===0?"0":"-1"),D.dataset.columnKey=N.def.key;let C=N.def.align;if(C==="center")D.classList.add(`${q}-table-header-cell--center`);else if(C==="right")D.classList.add(`${q}-table-header-cell--right`);let c=document.createElement("div");c.className=`${q}-table-header-content`;let l=N.def.header?N.def.header(N.def):N.def.label;if(typeof l==="string")c.textContent=l;else c.appendChild(l);if(D.appendChild(c),N.def.sortable){let S=document.createElement("span");S.className=`${q}-table-header-sort`,S.setAttribute("aria-hidden","true"),D.appendChild(S),y.push(S),D.classList.add(`${q}-table-header-cell--sortable`)}else y.push(null);if(N.resizable){let S=document.createElement("div");S.className=`${q}-table-header-resize`,S.dataset.resizeIndex=String(K),D.appendChild(S)}return D},I=(N)=>{V=N,P.textContent="",M=[],y=[];let K=N.columns;for(let D=0;D<K.length;D++){let C=K[D],c=w(C,D);M.push(c),P.appendChild(c)}if(g(N),O)u(O,F)},g=(N)=>{V=N;let K=N.columns;P.style.width=`${N.totalWidth}px`;for(let D=0;D<M.length&&D<K.length;D++){let C=M[D],c=K[D];C.style.width=`${c.width}px`}},u=(N,K)=>{if(O=N,F=K,!V)return;let D=V.columns;for(let C=0;C<y.length&&C<D.length;C++){let c=y[C];if(!c)continue;if(D[C].def.key===N)c.textContent=K==="asc"?"▲":"▼",c.style.opacity="0.7",M[C].setAttribute("aria-sort",K==="asc"?"ascending":"descending");else c.textContent="",c.style.opacity="0",M[C].removeAttribute("aria-sort")}},Y2=(N)=>{P.style.transform=`translateX(${-N}px)`},o=(N)=>{let K=N.target;if(!K.dataset.resizeIndex)return;if(N.preventDefault(),N.stopPropagation(),_=+K.dataset.resizeIndex,!V)return;let D=V.getColumn(_);if(!D?.resizable)return;W=!0,X=N.clientX,T=D.width,J.classList.add(`${q}--col-resizing`),J.style.cursor="col-resize",K.classList.add(`${q}-table-header-resize--active`),K.setPointerCapture(N.pointerId),K.addEventListener("pointermove",i),K.addEventListener("pointerup",$2),K.addEventListener("pointercancel",$2)},i=(N)=>{if(!W||!V)return;let K=N.clientX-X;if(Math.abs(K)<1)return;let D=Math.max(0,T+K);$(_,D)},$2=(N)=>{if(!W)return;let K=N.target;K.removeEventListener("pointermove",i),K.removeEventListener("pointerup",$2),K.removeEventListener("pointercancel",$2);try{K.releasePointerCapture(N.pointerId)}catch{}K.classList.remove(`${q}-table-header-resize--active`),J.classList.remove(`${q}--col-resizing`),J.style.cursor="",W=!1,_=-1},N2=(N)=>{let K=N.target;if(K.dataset.resizeIndex)return;if(W)return;let D=K;while(D&&!D.dataset.columnKey)if(D=D.parentElement,D===G||D===null)return;let C=D.dataset.columnKey;if(!V)return;let c=V.columns,l=-1;for(let Z=0;Z<c.length;Z++)if(c[Z].def.key===C){l=Z;break}if(l===-1)return;let S=c[l];if(Y)Y({key:C,index:l,event:N});if(S.def.sortable&&j){let Z;if(O===C)Z=F==="asc"?"desc":null;else Z="asc";j({key:C,index:l,direction:Z})}},j2=(N)=>{if(N<0||N>=M.length)return;M[k]?.setAttribute("tabindex","-1"),k=N;let K=M[k];K.setAttribute("tabindex","0"),K.focus()},r=(N)=>{let K=N.key;if(K==="ArrowRight"){if(N.ctrlKey||N.metaKey){if(!V)return;let D=V.getColumn(k);if(D?.resizable)$(k,D.width+10),N.preventDefault()}else if(k<M.length-1)j2(k+1),N.preventDefault();N.stopPropagation();return}if(K==="ArrowLeft"){if(N.ctrlKey||N.metaKey){if(!V)return;let D=V.getColumn(k);if(D?.resizable)$(k,D.width-10),N.preventDefault()}else if(k>0)j2(k-1),N.preventDefault();N.stopPropagation();return}if(K==="Home"){j2(0),N.preventDefault(),N.stopPropagation();return}if(K==="End"){j2(M.length-1),N.preventDefault(),N.stopPropagation();return}if(K==="Enter"||K===" "){if(!V)return;let D=V.getColumn(k);if(D?.def.sortable&&j){let C;if(O===D.def.key)C=F==="asc"?"desc":null;else C="asc";j({key:D.def.key,index:k,direction:C}),N.preventDefault()}N.stopPropagation();return}if(K==="ArrowDown"){J.focus(),N.preventDefault(),N.stopPropagation();return}};return G.addEventListener("pointerdown",o),G.addEventListener("click",N2),G.addEventListener("keydown",r),{element:G,update:g,updateSort:u,rebuild:I,show:()=>{if(v)return;v=!0,G.style.display=""},hide:()=>{if(!v)return;v=!1,G.style.display="none"},destroy:()=>{G.removeEventListener("pointerdown",o),G.removeEventListener("click",N2),G.removeEventListener("keydown",r),J.style.removeProperty("--vlist-table-header-height"),B.remove(),M=[],y=[],V=null,v=!1},syncScroll:Y2}};var lJ=()=>{let J=[];return{acquire:()=>J.pop()||document.createElement("div"),release:(Q)=>{if(Q.parentNode?.removeChild(Q),J.length<200)Q.className="",Q.removeAttribute("data-id"),Q.removeAttribute("data-index"),Q.removeAttribute("aria-selected"),Q.removeAttribute("aria-rowindex"),Q.removeAttribute("role"),Q.style.cssText="",Q.textContent="",J.push(Q)},clear:()=>{J.length=0}}},XJ=(J,Q,q,$,j,Y,B,G,P)=>{let M=lJ(),y=new Map,v=-1,O=q,F=null,V=null,W=null,_=(U,R)=>{V=U,W=R},X=(U,R)=>{R?U.setAttribute("aria-selected","true"):U.removeAttribute("aria-selected")},T=(U,R,b,x)=>{U.setAttribute("role",R),U.setAttribute("data-id",String(b)),U.setAttribute("data-index",String(x))},k=(U)=>String(U).startsWith("__placeholder_"),w=`${j}-item ${j}-table-row`,I=`${j}-item--selected`,g=`${j}-item--focused`,u=`${j}-table-cell`,Y2=`${j}-table-cell--center`,o=`${j}-table-cell--right`,i=`${j}-item--odd`,$2=`${j}-item--placeholder`,N2=`${j}-item--replaced`,j2=`${j}-item ${j}-table-row ${j}-table-group-header`,r=`${j}-table-group-header-content`,d=(U,R,b,x,p=!1)=>{if(b.def.cell){let m=b.def.cell(R,b.def,x);if(typeof m==="string")U.innerHTML=m;else U.replaceChildren(m)}else{let m=R[b.def.key],s=m!=null?String(m):"";if(p&&s)U.innerHTML=`<span>${s}</span>`;else U.textContent=s}},J2=(U,R,b,x,p=!1)=>{let m=w;if(G){if(F){let s=F(R);if(s>=0&&(s&1)===1)m+=` ${i}`}else if((R&1)===1)m+=` ${i}`}if(p)m+=` ${$2}`;if(b)m+=` ${I}`;if(x)m+=` ${g}`;U.className=m},L=(U,R,b)=>{if(b?.compression?.isCompressed)return Math.round(P2(U,b.scrollPosition,R,b.totalItems,b.containerSize,b.compression,b.rangeStart));return R.getOffset(U)},N=(U,R)=>{let b=R.def.align;if(b==="center")U.classList.add(Y2),U.classList.remove(o);else if(b==="right")U.classList.add(o),U.classList.remove(Y2);else U.classList.remove(Y2,o)},K=(U,R)=>{let x=O.columns.length;if(R.length===x)return R;let p=[];for(let m=0;m<x;m++){let s;if(m<R.length)s=R[m];else s=document.createElement("div"),s.className=u,U.appendChild(s);p.push(s)}for(let m=x;m<R.length;m++)R[m].remove();return p},D=(U,R,b,x)=>{let p=M.acquire(),m=U,s=b.getSize(R),e=L(R,b,x);p.style.cssText=`width:${O.totalWidth}px;height:${s}px;transform:translateY(${e}px)`,p.className=j2,T(p,"presentation",U.id,R),p.removeAttribute("aria-selected"),p.removeAttribute("aria-rowindex"),p.replaceChildren();let Z2=document.createElement("div");if(Z2.className=r,W){let Q2=W(m.groupKey,m.groupIndex);if(typeof Q2==="string")Z2.innerHTML=Q2;else Z2.appendChild(Q2)}return p.appendChild(Z2),{element:p,cells:[],index:R,isGroupHeader:!0,lastItemId:U.id,lastSelected:!1,lastFocused:!1,lastOffset:e,lastHeight:s}},C=(U,R,b,x,p,m)=>{let s=M.acquire(),e=p.getSize(R),Z2=L(R,p,m),Q2=k(U.id);s.style.cssText=`width:${O.totalWidth}px;height:${e}px;transform:translateY(${Z2}px)`,J2(s,R,b,x,Q2),T(s,"row",U.id,R),s.id=`${Y}-item-${R}`,s.setAttribute("aria-rowindex",String(R+2)),X(s,b);let h=K(s,[]),f=O.columns;for(let a=0;a<h.length&&a<f.length;a++){let q2=h[a],U2=f[a];q2.style.cssText=`left:${U2.offset}px;width:${U2.width}px`,q2.setAttribute("role","gridcell"),q2.setAttribute("aria-colindex",String(a+1)),N(q2,U2),d(q2,U,U2,R,Q2)}return{element:s,cells:h,index:R,isGroupHeader:!1,lastItemId:U.id,lastSelected:b,lastFocused:x,lastOffset:Z2,lastHeight:e}},c=(U,R,b,x,p)=>{for(let[Q2,h]of y)if(Q2<R.start||Q2>R.end)M.release(h.element),y.delete(Q2);let m=!1,s=B();if(s!==v)v=s,m=!0;let e=null,Z2=Q();F=typeof G==="string"&&P?P():null;for(let Q2=R.start;Q2<=R.end;Q2++){let h=Q2-R.start,f=U[h];if(!f)continue;let a=b.has(f.id),q2=Q2===x,U2=V?V(f):!1,n=y.get(Q2);if(n){if(n.isGroupHeader!==U2){M.release(n.element),y.delete(Q2);let M2=U2?D(f,Q2,Z2,p):C(f,Q2,a,q2,Z2,p);if(y.set(Q2,M2),!e)e=document.createDocumentFragment();e.appendChild(M2.element);continue}if(U2){if(n.lastItemId!==f.id){let V2=f,G2=n.element.firstElementChild;if(G2&&W){let A2=W(V2.groupKey,V2.groupIndex);if(typeof A2==="string")G2.innerHTML=A2;else G2.replaceChildren(A2)}n.element.setAttribute("data-id",String(f.id)),n.lastItemId=f.id}let E2=L(Q2,Z2,p);if(n.lastOffset!==E2)n.lastOffset=E2,n.element.style.transform=`translateY(${E2}px)`;let B2=Z2.getSize(Q2);if(n.lastHeight!==B2)n.lastHeight=B2,n.element.style.height=`${B2}px`}else{let M2=n.lastItemId!==f.id,E2=n.lastSelected!==a,B2=n.lastFocused!==q2;if(M2){let A2=n.lastItemId!=null&&k(n.lastItemId),W2=k(f.id);if(!W2&&y2(b,Q2,f.id))a=!0;let O2=O.columns;for(let _2=0;_2<n.cells.length&&_2<O2.length;_2++)d(n.cells[_2],f,O2[_2],Q2,W2);if(J2(n.element,Q2,a,q2,W2),n.element.setAttribute("data-id",String(f.id)),X(n.element,a),A2&&!W2)n.element.classList.add(N2),setTimeout(()=>{n.element.classList.remove(N2)},300);n.lastItemId=f.id,n.lastSelected=a,n.lastFocused=q2}else if(E2||B2)J2(n.element,Q2,a,q2,k(f.id)),X(n.element,a),n.lastSelected=a,n.lastFocused=q2;let V2=L(Q2,Z2,p);if(n.lastOffset!==V2)n.lastOffset=V2,n.element.style.transform=`translateY(${V2}px)`;let G2=Z2.getSize(Q2);if(n.lastHeight!==G2)n.lastHeight=G2,n.element.style.height=`${G2}px`;if(m)n.element.setAttribute("aria-rowindex",String(Q2+2))}}else{if(y2(b,Q2,f.id))a=!0;let M2=U2?D(f,Q2,Z2,p):C(f,Q2,a,q2,Z2,p);if(y.set(Q2,M2),!e)e=document.createDocumentFragment();e.appendChild(M2.element)}}if(e)J.appendChild(e)},l=(U)=>{let R=Q();for(let[b,x]of y){let p=L(b,R,U);if(x.lastOffset!==p)x.lastOffset=p,x.element.style.transform=`translateY(${p}px)`}},S=(U,R,b,x)=>{let p=y.get(U);if(!p)return;if(p.isGroupHeader)return;let m=O.columns;for(let s=0;s<p.cells.length&&s<m.length;s++)d(p.cells[s],R,m[s],U);p.element.setAttribute("data-id",String(R.id)),p.lastItemId=R.id,J2(p.element,U,b,x),X(p.element,b),p.lastSelected=b,p.lastFocused=x},Z=(U,R,b)=>{let x=y.get(U);if(!x)return;if(x.isGroupHeader)return;let p=x.lastSelected!==R,m=x.lastFocused!==b;if(p||m)J2(x.element,U,R,b),X(x.element,R),x.lastSelected=R,x.lastFocused=b},H=(U)=>{O=U;let R=U.columns;for(let[,b]of y)if(b.element.style.width=`${U.totalWidth}px`,b.cells.length>0)for(let x=0;x<b.cells.length&&x<R.length;x++){let p=b.cells[x],m=R[x];p.style.left=`${m.offset}px`,p.style.width=`${m.width}px`}},A=(U)=>{return y.get(U)?.element},z=()=>{for(let[,U]of y)M.release(U.element);y.clear(),v=-1};return{render:c,updatePositions:l,updateItem:S,updateItemClasses:Z,getElement:A,updateColumnLayout:H,setGroupHeaderFn:_,clear:z,destroy:()=>{z(),M.clear()}}};var EJ=(J)=>{let Q=Math.max(1,Math.floor(J.columns)),q=J.gap??0,$=J.containerSize,j=0,Y=[],B=()=>{let W=(Q-1)*q;j=Math.max(0,($-W)/Q),Y=Array(Q);let _=j+q;for(let X=0;X<Q;X++)Y[X]=X*_};B();let G=[],P=0,M=[],y=(W,_)=>{if(W<=0)return P=0,G=[],[];let X=Array(Q).fill(0),T=Array(Q);for(let I=0;I<Q;I++)T[I]=[];let k=Array(W);for(let I=0;I<W;I++){let g=0,u=X[0];for(let i=1;i<Q;i++){let $2=X[i];if($2<u)u=$2,g=i}let Y2=_(I),o=X[g];k[I]={index:I,x:Y[g],y:o,lane:g,size:Y2,crossSize:j},T[g].push(I),X[g]=o+Y2+q}G=T;let w=0;for(let I=0;I<Q;I++){let g=X[I],u=g>0?g-q:0;if(u>w)w=u}return P=w,k},v=(W)=>{if(W.length===0)return P;if(P)return P;let _=Array(Q).fill(0);for(let T of W){let k=T.y+T.size,w=_[T.lane];if(k>w)_[T.lane]=k}let X=0;for(let T=0;T<Q;T++)if(_[T]>X)X=_[T];return X},O=(W,_,X)=>{if(W.length===0||X<=_)return M.length=0,M;if(G.length===0||G.length!==Q)return F(W,_,X);M.length=0;for(let T=0;T<Q;T++){let k=G[T],w=k.length;if(!w)continue;let I=0,g=w;while(I<g){let u=I+g>>>1,Y2=W[k[u]];if(Y2.y+Y2.size<=_)I=u+1;else g=u}for(let u=I;u<w;u++){let Y2=W[k[u]];if(Y2.y>=X)break;M.push(Y2)}}return M},F=(W,_,X)=>{M.length=0;for(let T of W)if(T.y+T.size>_&&T.y<X)M.push(T);return M};return{get columns(){return Q},get gap(){return q},get containerSize(){return $},update:(W)=>{let _=!1;if(W.columns!==void 0){let X=Math.max(1,Math.floor(W.columns));if(X!==Q)Q=X,_=!0}if(W.gap!==void 0&&W.gap!==q)q=W.gap,_=!0;if(W.containerSize!==void 0&&W.containerSize!==$)$=W.containerSize,_=!0;if(_)B()},calculateLayout:y,getTotalSize:v,getVisibleItems:O}};var aJ=(J=200)=>{let Q=[];return{acquire:()=>{let Y=Q.pop();if(Y)return Y;let B=document.createElement("div");return B.setAttribute("role","option"),B},release:(Y)=>{if(Y.remove(),Q.length<J)Y.className="",Y.textContent="",Y.removeAttribute("style"),Y.removeAttribute("data-index"),Y.removeAttribute("data-id"),Y.removeAttribute("data-lane"),Q.push(Y)},clear:()=>{Q.length=0}}},nJ=1,AJ=(J,Q,q,$=!1,j,Y,B,G)=>{let P=aJ(),M=new Map,y=new Set,v=0,O="",F=-1,V={selected:!1,focused:!1},W=(r,d)=>{return V.selected=r,V.focused=d,V},_=`${q}-item ${q}-masonry-item`,X=`${q}-group-header`,T=`${q}-item--selected`,k=`${q}-item--focused`,w=(r,d)=>{if(typeof d==="string")r.innerHTML=d;else r.replaceChildren(d)},I=(r,d,J2)=>{r.classList.toggle(T,d),r.classList.toggle(k,J2)},g=(r,d)=>{if($)r.style.transform=`translate(${Math.round(d.y)}px, ${Math.round(d.x)}px)`;else r.style.transform=`translate(${Math.round(d.x)}px, ${Math.round(d.y)}px)`},u=(r,d)=>{if($)r.style.width=`${d.size}px`,r.style.height=`${d.crossSize}px`;else r.style.width=`${d.crossSize}px`,r.style.height=`${d.size}px`},Y2=(r,d,J2,L,N)=>{let K=P.acquire(),D=d.__groupHeader,C=W(L,N);if(K.className=D?X:_,K.dataset.index=String(r),K.dataset.id=String(d.id),K.dataset.lane=String(J2.lane),D)K.setAttribute("role","presentation"),K.removeAttribute("aria-selected"),K.removeAttribute("aria-setsize"),K.removeAttribute("aria-posinset"),K.removeAttribute("id");else if(G!==!1){if(K.setAttribute("role","option"),K.ariaSelected=String(L),Y)K.id=`${Y}-item-${r}`;if(j){let l=j();if(l!==F)F=l,O=String(l);K.setAttribute("aria-setsize",O);let S=B?B(r):r+1;K.setAttribute("aria-posinset",String(S))}}else if(K.setAttribute("role","listitem"),K.removeAttribute("aria-selected"),j){let l=j();if(l!==F)F=l,O=String(l);K.setAttribute("aria-setsize",O);let S=B?B(r):r+1;K.setAttribute("aria-posinset",String(S))}u(K,J2);let c=Q(d,r,C);return w(K,c),I(K,L,N),g(K,J2),{element:K,lastItem:d,lastSelected:L,lastFocused:N,lastY:J2.y,lastX:J2.x,lastSize:J2.size,lastCrossSize:J2.crossSize,lastSeenFrame:v}},o=(r,d,J2,L)=>{v++,y.clear();for(let K=0;K<d.length;K++)y.add(d[K].index);for(let[K,D]of M)if(y.has(K))D.lastSeenFrame=v;else if(v-D.lastSeenFrame>nJ)P.release(D.element),M.delete(K);let N=null;for(let K=0;K<d.length;K++){let D=d[K],C=D.index,c=r(C);if(!c)continue;let l=J2.has(c.id),S=C===L,Z=M.get(C);if(Z){let H=Z.lastItem!==c,A=Z.lastSelected!==l,z=Z.lastFocused!==S,E=Z.lastY!==D.y||Z.lastX!==D.x,U=Z.lastSize!==D.size||Z.lastCrossSize!==D.crossSize;if(H){let R=W(l,S),b=Q(c,C,R);if(w(Z.element,b),Z.element.dataset.id=String(c.id),Z.lastItem=c,!c.__groupHeader){let p=B?B(C):C+1;Z.element.setAttribute("aria-posinset",String(p))}}if(H||A||z)I(Z.element,l,S),Z.element.ariaSelected=String(l),Z.lastSelected=l,Z.lastFocused=S;if(U)u(Z.element,D),Z.lastSize=D.size,Z.lastCrossSize=D.crossSize;if(E)g(Z.element,D),Z.lastY=D.y,Z.lastX=D.x}else{let H=Y2(C,c,D,l,S);if(!N)N=document.createDocumentFragment();N.appendChild(H.element),M.set(C,H)}}if(N)J.appendChild(N)},i=()=>{for(let r of M.values())P.release(r.element);M.clear(),J.innerHTML=""};return{render:o,getElement:(r)=>M.get(r)?.element,updateItemClasses:(r,d,J2)=>{let L=M.get(r);if(!L)return;let N=L.lastSelected!==d,K=L.lastFocused!==J2;if(N||K)I(L.element,d,J2),L.lastSelected=d,L.lastFocused=J2},sortDOM:()=>{C2(J,M.keys(),(r)=>M.get(r)?.element)},clear:i,destroy:()=>{i(),P.clear()}}};var FJ=(J,Q)=>{let q=new Map,$=(Y)=>q.get(Y)??J,j=k2($,Q);return{getOffset(Y){return j.getOffset(Y)},getSize(Y){return $(Y)},indexAtOffset(Y){return j.indexAtOffset(Y)},getTotalSize(){return j.getTotalSize()},getTotal(){return j.getTotal()},rebuild(Y){if(Y<j.getTotal()){for(let B of q.keys())if(B>=Y)q.delete(B)}j=k2($,Y)},isVariable(){return!0},setMeasuredSize(Y,B){q.set(Y,B)},isMeasured(Y){return q.has(Y)},getEstimatedSize(){return J},measuredCount(){return q.size}}};var LJ=(J,Q,q,$,j,Y)=>{if($===0||Q===0)return Y.start=0,Y.end=-1,Y;let B=q.indexAtOffset(J),G=q.indexAtOffset(J+Q);if(G<$-1)G++;return Y.start=Math.max(0,B),Y.end=Math.min($-1,Math.max(0,G)),Y},HJ=(J,Q,q,$)=>{if(q===0)return $.start=0,$.end=-1,$;return $.start=Math.max(0,J.start-Q),$.end=Math.min(q-1,J.end+Q),$},bJ=(J,Q,q,$,j,Y)=>{if($===0)return 0;let B=Math.max(0,Math.min(J,$-1)),G=Q.getOffset(B),P=Q.getSize(B),M=Q.getTotalSize(),y=Math.max(0,M-q),v;switch(Y){case"center":v=G-q/2+P/2;break;case"end":v=G-q+P;break;case"start":default:v=G;break}return Math.max(0,Math.min(v,y))},RJ=(J,Q,q)=>{if(q&&q.isCompressed)return q.virtualSize;return Q.getTotalSize()},TJ=(J,Q)=>{return Q.getTotalSize()},yJ=(J,Q)=>{return Q.getOffset(J)},PJ=(J,Q,q)=>{let $=Math.max(0,Q-q);return Math.max(0,Math.min(J,$))};var zJ=(J,Q,q,$,j="start",Y,B=bJ)=>{return B(J,Q,q,$,Y,j)},kJ=(J,Q)=>{return J.start===Q.start&&J.end===Q.end},wJ=(J,Q)=>{return J>=Q.start&&J<=Q.end},vJ=(J)=>{if(J.end<J.start)return 0;return J.end-J.start+1};var CJ=(J,Q)=>{let q=[],$=[];for(let j=J.start;j<=J.end;j++)if(j<Q.start||j>Q.end)$.push(j);for(let j=Q.start;j<=Q.end;j++)if(j<J.start||j>J.end)q.push(j);return{add:q,remove:$}};var fJ=()=>{let J={},Q=(Y,B)=>{if(!J[Y])J[Y]=new Set;return J[Y].add(B),()=>q(Y,B)},q=(Y,B)=>{J[Y]?.delete(B)};return{on:Q,off:q,emit:(Y,B)=>{J[Y]?.forEach((G)=>{try{G(B)}catch(P){console.error(`[vlist] Error in event handler for "${String(Y)}":`,P)}})},clear:(Y)=>{if(Y)delete J[Y];else for(let B in J)delete J[B]}}};var f2=(J={})=>{let{chunkSize:Q=100,maxCachedItems:q=5000,evictionBuffer:$=200,onEvict:j}=J,Y=new Map,B=0,G=0,P=(L)=>{let N=Y.get(L);if(!N)N={items:Array(Q),count:0,lastAccess:Date.now()},Y.set(L,N);else N.lastAccess=Date.now();return N},M=(L)=>{return Math.floor(L/Q)},y=(L)=>{return L%Q},v=()=>B,O=(L)=>{B=L},F=(L)=>{if(L<0||L>=B)return;let N=M(L),K=Y.get(N);if(!K)return;return K.items[y(L)]},V=(L)=>{if(L<0||L>=B)return!1;let N=M(L),K=Y.get(N);if(!K)return!1;return K.items[y(L)]!==void 0},W=(L,N)=>{let K=M(L),D=P(K),C=y(L),c=D.items[C]===void 0;if(D.items[C]=N,c)D.count++,G++;if(L>=B)B=L+1},_=(L,N)=>{for(let K=0;K<N.length;K++){let D=N[K];if(D!==void 0)W(L+K,D)}},X=(L,N)=>{if(L<0||L>B)return;let K=M(L),D=Array.from(Y.keys()).filter((Z)=>Z>=K).sort((Z,H)=>Z-H),C=[];for(let Z of D){let H=Y.get(Z),A=Z*Q;for(let z=0;z<Q;z++){if(H.items[z]===void 0)continue;let E=A+z;if(E<L)continue;C.push({oldIndex:E,item:H.items[z]})}}for(let{oldIndex:Z}of C){let H=M(Z),A=Y.get(H);if(!A)continue;let z=y(Z);if(A.items[z]!==void 0){if(A.items[z]=void 0,A.count--,G--,A.count===0)Y.delete(H)}}B++;for(let{oldIndex:Z,item:H}of C){let A=Z+1,z=M(A),E=P(z),U=y(A);E.items[U]=H,E.count++,G++}let c=M(L),l=P(c),S=y(L);l.items[S]=N,l.count++,G++},T=(L)=>{if(L<0||L>=B)return!1;let N=M(L),K=Y.get(N),D=y(L);if(!(K!==void 0&&K.items[D]!==void 0))return!1;let c=N,l=Array.from(Y.keys()).filter((Z)=>Z>=c).sort((Z,H)=>Z-H),S=[];for(let Z of l){let H=Y.get(Z),A=Z*Q;for(let z=0;z<Q;z++){if(H.items[z]===void 0)continue;let E=A+z;if(E<=L)continue;S.push({oldIndex:E,item:H.items[z]})}}if(K.items[D]=void 0,K.count--,G--,K.count===0)Y.delete(N);for(let{oldIndex:Z}of S){let H=M(Z),A=Y.get(H);if(!A)continue;let z=y(Z);if(A.items[z]!==void 0){if(A.items[z]=void 0,A.count--,G--,A.count===0)Y.delete(H)}}for(let{oldIndex:Z,item:H}of S){let A=Z-1,z=M(A),E=P(z),U=y(A);E.items[U]=H,E.count++,G++}return B--,!0},k=(L,N)=>{let K=[];for(let D=L;D<=N&&D<B;D++)K.push(F(D));return K},w=(L,N)=>{for(let K=L;K<=N&&K<B;K++)if(!V(K))return!1;return!0},I=()=>{let L=[],N=null,K=Array.from(Y.keys()).sort((D,C)=>D-C);for(let D of K){let C=Y.get(D);if(!C)continue;let c=D*Q;for(let l=0;l<Q;l++){let S=c+l;if(S>=B)break;if(C.items[l]!==void 0)if(N===null)N={start:S,end:S};else if(S===N.end+1)N.end=S;else L.push(N),N={start:S,end:S};else if(N!==null)L.push(N),N=null}}if(N!==null)L.push(N);return L},g=(L,N)=>{let K=[],D=null;for(let C=L;C<=N&&C<B;C++)if(!V(C))if(D===null)D={start:C,end:C};else D.end=C;else if(D!==null)K.push(D),D=null;if(D!==null)K.push(D);return K},u=(L)=>{return Y.has(L)},Y2=(L)=>{let N=Y.get(L);if(!N)return!1;let K=L*Q,D=Math.min(Q,B-K);return N.count>=D},o=(L)=>{let N=Y.get(L);if(N)N.lastAccess=Date.now()},i=(L,N)=>{if(L>N||Y.size===0)return;let K=Date.now(),D=M(Math.max(0,L)),C=M(Math.min(B-1,N));for(let c=D;c<=C;c++){let l=Y.get(c);if(l)l.lastAccess=K}},$2=(L,N)=>{if(G<=q)return 0;let K=Math.max(0,L-$),D=Math.min(B-1,N+$),C=M(K),c=M(D),l=0,S=[];for(let[Z,H]of Y)if(Z<C||Z>c)l+=H.count,S.push(Z),G-=H.count,Y.delete(Z);if(l>0&&j)j(l,S);return l},N2=()=>{if(G<=q)return 0;let L=Array.from(Y.entries()).sort(([,D],[,C])=>D.lastAccess-C.lastAccess),N=0,K=[];for(let[D,C]of L){if(G<=q)break;N+=C.count,G-=C.count,K.push(D),Y.delete(D)}if(N>0&&j)j(N,K);return N},j2=()=>{return{totalItems:B,cachedItems:G,cachedChunks:Y.size,chunkSize:Q,maxCachedItems:q,memoryEfficiency:B>0?1-G/B:1}},r=()=>G,d=()=>{Y.clear(),G=0};return{chunkSize:Q,maxCachedItems:q,getTotal:v,setTotal:O,get:F,has:V,set:W,setRange:_,insert:X,delete:T,getRange:k,isRangeLoaded:w,getLoadedRanges:I,findUnloadedRanges:g,getChunkIndex:M,isChunkLoaded:u,isChunkFullyLoaded:Y2,touchChunk:o,touchChunksForRange:i,evictDistant:$2,evictToLimit:N2,getStats:j2,getCachedCount:r,clear:d,reset:()=>{d(),B=0}}},S2=(J)=>{if(J.length===0)return[];let Q=[...J].sort(($,j)=>$.start-j.start),q=[{...Q[0]}];for(let $=1;$<Q.length;$++){let j=Q[$],Y=q[q.length-1];if(j.start<=Y.end+1)Y.end=Math.max(Y.end,j.end);else q.push({...j})}return q},r2=(J,Q,q)=>{let $=Math.floor(J.start/q)*q,j=Math.ceil((J.end+1)/q)*q-1,Y={start:$,end:j};if(Q.length===0)return[Y];let B=[],G=S2(Q),P=Y.start;for(let M of G){if(M.end<P)continue;if(M.start>Y.end)break;if(M.start>P)B.push({start:P,end:Math.min(M.start-1,Y.end)});if(P=M.end+1,P>Y.end)break}if(P<=Y.end)B.push({start:P,end:Y.end});return B};var I2=(J={})=>{let{maskCharacter:Q=JJ,maxSampleSize:q=QJ}=J,$=[],j=!1,Y=(y)=>{if(j||y.length===0)return;let v=Math.min(y.length,q);for(let O=0;O<v;O++){let F=y[O];if(!F||typeof F!=="object")continue;let V={},W=!1;for(let[_,X]of Object.entries(F)){if(_.startsWith("_")||_==="id")continue;V[_]=String(X??"").length,W=!0}if(W)$.push(V)}j=!0},B=()=>j,G=(y)=>{let v={id:`${R2}${y}`,[g2]:!0,_index:y};if($.length===0)return v.label=Q.repeat(12),v;let O=$[y%$.length];for(let[F,V]of Object.entries(O))v[F]=Q.repeat(Math.max(1,V));return v};return{analyzeStructure:Y,hasAnalyzedStructure:B,generate:G,generateRange:(y,v)=>{let O=[];for(let F=y;F<=v;F++)O.push(G(F));return O},clear:()=>{$=[],j=!1}}},T2=(J)=>{if(!J||typeof J!=="object")return!1;return J[g2]===!0},l2=(J)=>{return J.filter((Q)=>!T2(Q))};var oJ=50,SJ=(J={})=>{let{adapter:Q,initialItems:q,initialTotal:$,storage:j,placeholder:Y,pageSize:B=oJ,maxConcurrent:G=0,onStateChange:P,onDataChange:M,onItemsLoaded:y,onItemsEvicted:v}=J,O=f2({...j,onEvict:(h,f)=>{v?.(h),i(),o()}}),F=null,V=()=>{if(!F)F=I2(Y);return F},W=new Map,_=!1,X,T=!0,k,w,I=[],g=0,u=new Map,Y2=()=>{for(let h of u.values())h[1].abort();u.clear()},o=()=>{P?.(K())},i=()=>{M?.()},$2=()=>{W.clear();let h=O.getLoadedRanges();for(let f of h)for(let a=f.start;a<=f.end;a++){let q2=O.get(a);if(q2&&!T2(q2))W.set(q2.id,a)}},N2=(h,f)=>{if(!T2(f))W.set(f.id,h)},j2=(h)=>{W.delete(h)},r=(h,f)=>{return`${h}-${f}`},d=()=>O.getTotal(),J2=()=>O.getCachedCount(),L=()=>_,N=()=>T,K=()=>({total:O.getTotal(),cached:O.getCachedCount(),isLoading:_,pendingRanges:I,error:X,hasMore:T,cursor:k}),D=()=>O,C=()=>V(),c=(h)=>{let f=O.get(h);if(f!==void 0)return f;if(h>=0&&h<O.getTotal())return V().generate(h);return},l=(h)=>{let f=W.get(h);if(f===void 0)return;return O.get(f)},S=(h)=>{return W.get(h)??-1},Z=(h)=>{let f=O.get(h);return f!==void 0&&!T2(f)},H=(h,f)=>{let a=[],q2=O.getTotal();O.touchChunksForRange(h,Math.min(f,q2-1));for(let U2=h;U2<=f&&U2<q2;U2++){let n=O.get(U2);if(n!==void 0)a.push(n);else a.push(V().generate(U2))}return a},A=(h)=>{O.setTotal(h),T=O.getCachedCount()<h,i(),o()},z=(h,f=0,a)=>{if(Q&&h.length>0){let q2=V();if(!q2.hasAnalyzedStructure())q2.analyzeStructure(h)}for(let q2=0;q2<h.length;q2++){let U2=h[q2];if(U2!==void 0){let n=f+q2;O.set(n,U2),N2(n,U2)}}if(a!==void 0)O.setTotal(a);else if(f+h.length>O.getTotal())O.setTotal(f+h.length);if(O.getCachedCount()>=O.getTotal()&&O.getTotal()>0)T=!1;i(),o(),y?.(h,f,O.getTotal())},E=(h,f)=>{let a=O.get(h);if(!a)return!1;let q2=a.id,U2={...a,...f};if(O.set(h,U2),f.id!==void 0&&f.id!==q2)j2(q2);return N2(h,U2),i(),o(),!0},U=(h,f)=>{O.insert(f,h),$2(),Y2(),i(),o()},R=(h)=>{let f=W.get(h);if(f===void 0)return!1;if(!O.delete(f))return!1;return $2(),Y2(),i(),o(),!0},b=async(h,f)=>{if(!Q)return;let a=O.chunkSize,q2=Math.floor(h/a),U2=Math.floor(f/a),n=a*2;for(let[B2,V2]of u){let G2=B2.indexOf("-"),A2=parseInt(B2.slice(0,G2),10);if(Math.abs(A2-h)>n)V2[1].abort(),u.delete(B2)}let M2=[],E2=[];for(let B2=q2;B2<=U2;B2++){let V2=B2*a,G2=V2+a-1,A2=r(V2,G2);if(O.isChunkFullyLoaded(B2))continue;let O2=u.get(A2);if(O2)E2.push(O2[0]);else M2.push({start:V2,end:G2})}if(M2.length===0){if(E2.length>0)await Promise.all(E2);return}if(G>0){let B2=u.size+M2.length;if(B2>G){let V2=(h+f)/2,G2=Math.min(B2-G,u.size);while(G2>0){let W2=null,O2=-1,_2=null;for(let[F2,t]of u){let K2=F2.indexOf("-"),D2=parseInt(F2.slice(0,K2),10),X2=parseInt(F2.slice(K2+1),10),L2=Math.abs((D2+X2)/2-V2);if(L2>O2)O2=L2,W2=F2,_2=t[1]}if(W2)_2.abort(),u.delete(W2);G2--}let A2=G-u.size;if(M2.length>A2)M2.sort((W2,O2)=>{let _2=Math.abs((W2.start+W2.end)/2-V2),F2=Math.abs((O2.start+O2.end)/2-V2);return _2-F2}),M2.length=Math.max(0,A2)}}if(M2.length===0){if(E2.length>0)await Promise.all(E2);return}for(let B2 of M2){let V2=r(B2.start,B2.end),G2=new AbortController,A2=(async()=>{I.push(B2),_=!0,X=void 0,o();try{let W2=B2.end-B2.start+1,O2={offset:B2.start,limit:W2,cursor:B2.start===w?k:void 0,signal:G2.signal},_2=await Q.read(O2);if(z(_2.items,B2.start,_2.total),_2.cursor)k=_2.cursor,w=B2.start+_2.items.length;let F2=B2.start+_2.items.length;if(F2>=g){if(g=F2,_2.hasMore!==void 0)T=_2.hasMore;else if(_2.total!==void 0)T=F2<_2.total}}catch(W2){if(W2?.name==="AbortError")return;X=W2 instanceof Error?W2:Error(String(W2))}finally{u.delete(V2);let W2=I.findIndex((O2)=>O2.start===B2.start&&O2.end===B2.end);if(W2>=0)I.splice(W2,1);_=u.size>0,o()}})();u.set(V2,[A2,G2]),E2.push(A2)}await Promise.all(E2)},x=async(h,f)=>{if(O.isRangeLoaded(h,f))return;await b(h,f)},p=async()=>{if(!Q)return;await b(0,B-1)},m=async()=>{if(!Q||_||!T)return!1;let h=O.getCachedCount(),f=O.getTotal(),a=h,q2=Math.min(a+B-1,f>0?f-1:a+B-1);if(a>=f&&f>0)return T=!1,!1;return await b(a,q2),O.getCachedCount()>h},s=async()=>{if(O.clear(),O.setTotal(0),W.clear(),F)F.clear();Y2(),I=[],_=!1,k=void 0,w=void 0,T=!0,g=0,X=void 0,i(),o()},e=(h,f)=>{if(O.evictDistant(h,f)>0)$2()},Z2=()=>{O.clear(),W.clear(),k=void 0,w=void 0,X=void 0,I=[],_=!1,i(),o()},Q2=()=>{if(O.reset(),W.clear(),F)F.clear();k=void 0,w=void 0,T=!0,g=0,X=void 0,I=[],_=!1,i(),o()};if(q&&q.length>0)z(q,0,$??q.length);else if($!==void 0)O.setTotal($),i(),o();return{getState:K,getTotal:d,getCached:J2,getIsLoading:L,getHasMore:N,getStorage:D,getPlaceholders:C,getItem:c,getItemById:l,getIndexById:S,isItemLoaded:Z,getItemsInRange:H,setTotal:A,setItems:z,updateItem:E,insertItem:U,removeItem:R,loadRange:b,ensureRange:x,loadInitial:p,loadMore:m,reload:s,evictDistant:e,clear:Z2,reset:Q2}};var iJ=(J)=>{if(typeof J!=="object"){let Q=J??2;return{top:Q,right:Q,bottom:Q,left:Q}}return{top:J.top??2,right:J.right??2,bottom:J.bottom??2,left:J.left??2}},IJ=(J,Q,q={},$="vlist",j=!1,Y)=>{let{autoHide:B=!0,autoHideDelay:G=1000,minThumbSize:P=15,showOnHover:M=!0,showOnViewportEnter:y=!0,clickBehavior:v="scroll"}=q,O=v==="page"?"scroll":v,F=Y??J,V=iJ(q.padding),W=j?V.left:V.top,_=j?V.right:V.bottom,X=j?V.bottom:V.right,T=q.hoverZoneWidth??X+16,k=0,w=0,I=0,g=0,u=!1,Y2=!1,o=0,i=0,$2=0,N2=null,j2=!1,r=null,d=0,J2=0,L=null,N=null,K=null,D=j?"width":"height",C=j?"translateX":"translateY",c=j?(t)=>t.clientX:(t)=>t.clientY,l=j?"left":"top",S=document.createElement("div"),Z=document.createElement("div"),H=document.createElement("div"),A=j?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",z=()=>{if(F===J)return;let t=J.offsetTop;S.style[j?"left":"top"]=t?`calc(var(${A}) + ${t}px)`:`var(${A})`,H.style[j?"left":"top"]=`${t}px`},E=()=>{if(S.className=`${$}-scrollbar`,Z.className=`${$}-scrollbar__thumb`,j)S.classList.add(`${$}-scrollbar--horizontal`);if(q.padding!==void 0)F.style.setProperty("--vlist-custom-scrollbar-padding-top",`${V.top}px`),F.style.setProperty("--vlist-custom-scrollbar-padding-right",`${V.right}px`),F.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${V.bottom}px`),F.style.setProperty("--vlist-custom-scrollbar-padding-left",`${V.left}px`);if(q.minThumbSize!==void 0)S.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${P}px`);if(S.appendChild(Z),F.appendChild(S),H.className=`${$}-scrollbar__hover`,j)H.classList.add(`${$}-scrollbar__hover--horizontal`),H.style.height=`${T}px`;else H.style.width=`${T}px`;if(F.appendChild(H),F!==J)z()},U=()=>{if(N2)clearTimeout(N2),N2=null},R=()=>{if(!B)return;U(),N2=setTimeout(x,G)},b=()=>{if(k<=w)return;if(U(),!j2)S.classList.add(`${$}-scrollbar--visible`),j2=!0;if(B&&!u&&!Y2)R()},x=()=>{if(u||Y2)return;S.classList.remove(`${$}-scrollbar--visible`),j2=!1},p=(t,K2)=>{if(k=t,w=K2,z(),k<=w){S.style.display="none",x();return}S.style.display="";let D2=Math.max(0,w-W-_),X2=w/k;if(I=Math.max(P,X2*D2),Z.style[D]=`${I}px`,g=D2-I,m($2),!B)b()},m=(t)=>{if($2=t,k<=w||g<=0)return;let K2=k-w,D2=Math.min(1,Math.max(0,t/K2));Z.style.transform=`${C}(${D2*g}px)`},s=(t)=>{if(t.target===Z||O!=="jump"||g<=0)return;let K2=k-w,D2=S.getBoundingClientRect(),X2=c(t)-D2[l],L2=Math.max(0,Math.min(X2-I/2,g));Q(L2/g*K2),b()},e=()=>{if(L!==null)clearTimeout(L),L=null;if(N!==null)cancelAnimationFrame(N),N=null;K=null},Z2=(t)=>{let K2=g>0?J2/t*g:0;if(d<K2)return-1;if(d>=K2+I)return 1;return 0},Q2=()=>{let t=k-w,K2=Z2(t);if(K2===0){e();return}if(K2===-1){if(J2<=0){e();return}let D2=Math.max(0,J2-w);J2=D2,Q(D2)}else{if(J2>=t){e();return}let D2=Math.min(t,J2+w);J2=D2,Q(D2)}b()},h=(t)=>{if(K===null){K=t,N=requestAnimationFrame(h);return}let K2=k-w,D2=t-K;K=t;let X2=Z2(K2);if(X2===0){e();return}let L2=12*w/1000,b2=Math.min(L2*D2,w);if(X2===-1){if(J2<=0){e();return}let z2=Math.max(0,J2-b2);J2=z2,Q(z2)}else{if(J2>=K2){e();return}let z2=Math.min(K2,J2+b2);J2=z2,Q(z2)}U(),N=requestAnimationFrame(h)},f=()=>{e(),R(),document.removeEventListener("mouseup",f)},a=(t)=>{if(t.target===Z||O!=="scroll")return;t.preventDefault();let K2=S.getBoundingClientRect();d=c(t)-K2[l],J2=$2,Q2(),L=setTimeout(()=>{N=requestAnimationFrame(h)},350),document.addEventListener("mouseup",f)},q2=(t)=>{t.preventDefault(),t.stopPropagation(),u=!0,o=c(t),i=$2,U(),S.classList.add(`${$}-scrollbar--dragging`),document.addEventListener("mousemove",U2),document.addEventListener("mouseup",n)},U2=(t)=>{if(!u)return;let K2=c(t)-o,D2=g>0?K2/g:0,X2=k-w,L2=D2*X2,b2=Math.max(0,Math.min(i+L2,X2));Z.style.transform=`${C}(${b2/X2*g}px)`,Q(b2)},n=()=>{if(u=!1,S.classList.remove(`${$}-scrollbar--dragging`),B&&!Y2)R();document.removeEventListener("mousemove",U2),document.removeEventListener("mouseup",n)},M2=j?(t)=>t.touches[0].clientX:(t)=>t.touches[0].clientY,E2=(t)=>{t.stopPropagation(),u=!0,o=M2(t),i=$2,U(),S.classList.add(`${$}-scrollbar--dragging`)},B2=(t)=>{if(!u)return;t.preventDefault();let K2=M2(t)-o,D2=g>0?K2/g:0,X2=k-w,L2=D2*X2,b2=Math.max(0,Math.min(i+L2,X2));Z.style.transform=`${C}(${b2/X2*g}px)`,Q(b2)},V2=()=>{if(u=!1,S.classList.remove(`${$}-scrollbar--dragging`),B)R()},G2=(t)=>{if(t.target===Z)return;if(g<=0)return;let K2=t.touches[0],D2=S.getBoundingClientRect(),X2=(j?K2.clientX:K2.clientY)-D2[l];if(O==="jump"){let L2=k-w,b2=Math.max(0,Math.min(X2-I/2,g));Q(b2/g*L2)}else d=X2,J2=$2,Q2();b()},A2=()=>{if(y)b()},W2=()=>{if(!u){if(Y2=!1,B)R()}},O2=()=>{Y2=!0,U(),b()},_2=()=>{if(Y2=!1,!u&&B)R()},F2=()=>{if(U(),e(),r!==null)cancelAnimationFrame(r),r=null;S.removeEventListener("click",s),S.removeEventListener("mousedown",a),S.removeEventListener("mouseenter",O2),document.removeEventListener("mouseup",f),S.removeEventListener("mouseleave",_2),S.removeEventListener("touchstart",G2),Z.removeEventListener("mousedown",q2),Z.removeEventListener("touchstart",E2),Z.removeEventListener("touchmove",B2),Z.removeEventListener("touchend",V2),J.removeEventListener("mouseenter",A2),J.removeEventListener("mouseleave",W2),document.removeEventListener("mousemove",U2),document.removeEventListener("mouseup",n),H.removeEventListener("click",s),H.removeEventListener("mousedown",a),H.removeEventListener("mouseenter",O2),H.removeEventListener("mouseleave",_2),H.remove(),F.style.removeProperty("--vlist-custom-scrollbar-padding-top"),F.style.removeProperty("--vlist-custom-scrollbar-padding-right"),F.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),F.style.removeProperty("--vlist-custom-scrollbar-padding-left"),S.remove()};if(E(),S.addEventListener("click",s),S.addEventListener("mousedown",a),S.addEventListener("mouseenter",O2),S.addEventListener("mouseleave",_2),S.addEventListener("touchstart",G2,{passive:!0}),Z.addEventListener("mousedown",q2),Z.addEventListener("touchstart",E2,{passive:!0}),Z.addEventListener("touchmove",B2,{passive:!1}),Z.addEventListener("touchend",V2,{passive:!0}),J.addEventListener("mouseenter",A2),J.addEventListener("mouseleave",W2),H.addEventListener("click",s),H.addEventListener("mousedown",a),M)H.addEventListener("mouseenter",O2),H.addEventListener("mouseleave",_2);return{show:b,hide:x,updateBounds:p,updatePosition:m,isVisible:()=>j2,destroy:F2}};var pJ=(J=0)=>{let Q=[,,,,,,,,];for(let q=0;q<8;q++)Q[q]={position:0,time:0};return{velocity:0,lastPosition:J,lastTime:performance.now(),samples:Q,sampleIndex:0,sampleCount:0}},p2=(J,Q)=>{let q=performance.now(),$=q-J.lastTime;if($===0)return J;if($>100){J.sampleCount=0,J.sampleIndex=0,J.velocity=0;let Y=J.samples[0];return Y.position=Q,Y.time=q,J.sampleIndex=1,J.sampleCount=1,J.lastPosition=Q,J.lastTime=q,J}let j=J.samples[J.sampleIndex];if(j.position=Q,j.time=q,J.sampleIndex=(J.sampleIndex+1)%8,J.sampleCount=Math.min(J.sampleCount+1,8),J.sampleCount>=2){let Y=(J.sampleIndex-J.sampleCount+8)%8,B=J.samples[Y],G=Q-B.position,P=q-B.time;J.velocity=P>0?G/P:0}return J.lastPosition=Q,J.lastTime=q,J},tJ=(J)=>J.sampleCount>=3,hJ=(J,Q={})=>{let{wheel:q=!0,sensitivity:$=1,smoothing:j=!1,idleTimeout:Y=150,onScroll:B,onIdle:G,scrollElement:P,isX:M=!1}=Q,y=!!P,v=0,O=0,F=y?M?window.innerWidth:window.innerHeight:M?J.clientWidth:J.clientHeight,V=Q.compressed??!1,W=Q.compression,_=pJ(),X=!1,T=null,w=h2(()=>{let A=M?J.scrollLeft:J.scrollTop,z=M?A>=v?"right":"left":A>=v?"down":"up";if(_=p2(_,A),v=A,B)B({scrollTop:v,direction:z,velocity:_.velocity});i()}),g=h2(()=>{let A=J.getBoundingClientRect(),z=M?Math.max(0,-A.left):Math.max(0,-A.top),E=M?z>=v?"right":"left":z>=v?"down":"up";if(_=p2(_,z),v=z,!X)X=!0;if(B)B({scrollTop:v,direction:E,velocity:_.velocity});i()}),u=(A)=>{A.preventDefault()},Y2=(A)=>{if(A.deltaX)return;A.preventDefault(),J.scrollLeft+=A.deltaY},o=(A)=>{if(!V)return;A.preventDefault();let z=(M?A.deltaX||A.deltaY:A.deltaY)*$,E=v+z;if(j)E=v+z*0.3;if(E=Math.max(0,Math.min(E,O)),E!==v){let U=v,R=M?E>=U?"right":"left":E>=U?"down":"up";if(_=p2(_,E),v=E,!X)X=!0;if(B)B({scrollTop:v,direction:R,velocity:_.velocity});i()}},i=()=>{if(T)clearTimeout(T);T=setTimeout(()=>{if(X=!1,_=pJ(v),G)G()},Y)},$2=(A)=>{if(V)return;if(V=!0,W=A,O=A.virtualSize-F,y)return;if(w.cancel(),J.removeEventListener("scroll",w),!q)J.removeEventListener("wheel",u);else if(M)J.removeEventListener("wheel",Y2);if(M)J.style.overflowX="hidden";else J.style.overflow="hidden";if(q)J.addEventListener("wheel",o,{passive:!1});let z=M?J.scrollLeft:J.scrollTop;if(z>0){let E=M?W?.actualSize??J.scrollWidth:W?.actualSize??J.scrollHeight;v=z/E*O}if(M)J.scrollLeft=0;else J.scrollTop=0},N2=()=>{if(!V)return;if(V=!1,y){W=void 0;return}if(J.removeEventListener("wheel",o),M)J.style.overflowX="auto";else J.style.overflow="auto";if(J.addEventListener("scroll",w,{passive:!0}),!q)J.addEventListener("wheel",u,{passive:!1});else if(M)J.addEventListener("wheel",Y2,{passive:!1});if(W&&v>0){let z=v/O*(W.actualSize-F);if(M)J.scrollLeft=z;else J.scrollTop=z}W=void 0},j2=()=>{if(y||V)return v;return M?J.scrollLeft:J.scrollTop},r=(A,z=!1)=>{let E=Math.max(0,Math.min(A,O||1/0));if(y){let U=J.getBoundingClientRect();if(M){let R=U.left+window.scrollX;window.scrollTo({left:R+E,behavior:z?"smooth":"auto"})}else{let R=U.top+window.scrollY;window.scrollTo({top:R+E,behavior:z?"smooth":"auto"})}}else if(V){if(E===v)return;let U=v,R=M?E>=U?"right":"left":E>=U?"down":"up";if(_=p2(_,E),v=E,!X)X=!0;if(B)B({scrollTop:v,direction:R,velocity:_.velocity});i()}else if(M)J.scrollTo({left:E,behavior:z?"smooth":"auto"});else J.scrollTo({top:E,behavior:z?"smooth":"auto"})},d=(A)=>{r(j2()+A)},J2=()=>{return j2()<=0},L=(A=0)=>{let z=j2(),E=y||V?O:M?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;return z>=E-A},N=()=>{let A=j2(),z=y||V?O:M?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;if(z<=0)return 0;return Math.min(1,Math.max(0,A/z))},K=(A)=>{if(A.compression)W=A.compression,O=W.virtualSize-F},D=()=>V,C=()=>Math.abs(_.velocity),c=()=>tJ(_),l=()=>X,S=()=>y,Z=(A)=>{if(F=A,W)O=W.virtualSize-F},H=()=>{if(T)clearTimeout(T);if(y)g.cancel(),window.removeEventListener("scroll",g);else w.cancel(),J.removeEventListener("scroll",w),J.removeEventListener("wheel",o),J.removeEventListener("wheel",u),J.removeEventListener("wheel",Y2)};if(y){if(V&&W)O=W.virtualSize-F;window.addEventListener("scroll",g,{passive:!0})}else if(V&&W){if(O=W.virtualSize-F,M)J.style.overflowX="hidden";else J.style.overflow="hidden";if(q)J.addEventListener("wheel",o,{passive:!1})}else{if(M)J.style.overflowX="auto",J.style.overflowY="hidden";else J.style.overflow="auto";if(J.addEventListener("scroll",w,{passive:!0}),!q)J.addEventListener("wheel",u,{passive:!1});else if(M)J.addEventListener("wheel",Y2,{passive:!1})}return{getScrollTop:j2,scrollTo:r,scrollBy:d,isAtTop:J2,isAtBottom:L,getScrollPercentage:N,getVelocity:C,isTracking:c,isScrolling:l,updateConfig:K,enableCompression:$2,disableCompression:N2,isCompressed:D,isWindowMode:S,updateContainerHeight:Z,destroy:H}},h2=(J)=>{let Q=null,q=null,$=(...j)=>{if(q=j,Q===null)Q=requestAnimationFrame(()=>{if(Q=null,q)J(...q)})};return $.cancel=()=>{if(Q!==null)cancelAnimationFrame(Q),Q=null},$};var eJ=50,JQ=0.1;function QQ(J){let Q=0,q=0,$=0;function j(){return $>0?q/$:0}function Y(P){if(Q=P,P>JQ&&P<eJ)q+=P,$++}function B(){let P=J.getTotal();if(P===0)return 0;let M=J.getItemSize();if(M<=0)return 0;let y=J.getContainerSize();if(y<=0)return 0;let v=J.getScrollPosition(),O=typeof J.getColumns==="function"?J.getColumns():1,V=Math.ceil(P/O)*M,_=Math.min(V,H2)-y,X=V-y,T=_>0?X/_:1,k=v*T,w=Math.ceil((k+y)/M);return Math.min(w*O,P)}function G(){let P=J.getTotal(),M=B();return{progress:P>0?Math.min(100,Math.max(0,M/P*100)):0,velocity:Q,velocityAvg:j(),itemCount:M,total:P}}return{getState:G,onVelocity:Y}}export{qJ as toggleSelection,LJ as simpleVisibleRange,u2 as selectItems,YJ as selectAll,kJ as rangesEqual,h2 as rafThrottle,VJ as needsScaling,S2 as mergeRanges,BJ as isSelected,T2 as isPlaceholderItem,wJ as isInRange,v2 as isGroupHeader,NJ as getSelectedItems,UJ as getSelectedIds,w2 as getScaleState,DJ as getScaleInfo,w2 as getScale,vJ as getRangeCount,MJ as getMaxItemsWithoutScaling,l2 as filterPlaceholders,CJ as diffRanges,m2 as deselectItems,XJ as createTableRenderer,GJ as createTableLayout,OJ as createTableHeader,t2 as createStickyHeader,QQ as createStats,f2 as createSparseStorage,k2 as createSizeCache,$J as createSelectionState,IJ as createScrollbar,hJ as createScrollController,I2 as createPlaceholderManager,FJ as createMeasuredSizeCache,AJ as createMasonryRenderer,EJ as createMasonryLayout,o2 as createGroupedSizeFn,i2 as createGroupLayout,cJ as createGridRenderer,e2 as createGridLayout,fJ as createEmitter,SJ as createAsyncManager,jJ as clearSelection,PJ as clampScrollPosition,RJ as calculateTotalSize,zJ as calculateScrollToIndex,KJ as calculateScaledVisibleRange,_J as calculateScaledScrollToIndex,ZJ as calculateScaledRenderRange,P2 as calculateScaledItemPosition,HJ as calculateRenderRange,r2 as calculateMissingRanges,yJ as calculateItemOffset,WJ as calculateIndexFromScrollPosition,TJ as calculateActualSize,s2 as buildLayoutItems,H2 as MAX_VIRTUAL_SIZE};
|
|
1
|
+
var v2=(J)=>{return J!==null&&typeof J==="object"&&J.__groupHeader===!0};var x2=(J,Q)=>{let q=0,$=J.length-1;while(q<$){let j=q+$+1>>>1;if(J[j].headerLayoutIndex<=Q)q=j;else $=j-1}return q},a2=(J,Q)=>{let q=0,$=J.length-1;while(q<$){let j=q+$+1>>>1;if(J[j].firstDataIndex<=Q)q=j;else $=j-1}return q},n2=(J,Q,q)=>{if(J===0)return[];let $=[],j=null,Y=0,B=0;for(let G=0;G<J;G++){let P=q?.(G);if(!P)continue;let M=Q(G,P);if(j===null)j=M,Y=0;else if(M!==j){let y=G-Y;$.push({key:j,groupIndex:$.length,headerLayoutIndex:B,firstDataIndex:Y,count:y}),B=B+1+y,j=M,Y=G}}if(j!==null)$.push({key:j,groupIndex:$.length,headerLayoutIndex:B,firstDataIndex:Y,count:J-Y});return $},s2=(J,Q)=>{if(J.length===0||Q.length===0)return[];let q=J.length+Q.length,$=Array(q),j=0;for(let Y of Q){$[j]={id:`__group_header_${Y.groupIndex}`,__groupHeader:!0,groupKey:Y.key,groupIndex:Y.groupIndex},j++;for(let B=0;B<Y.count;B++)$[j]=J[Y.firstDataIndex+B],j++}return $},o2=(J,Q,q=!1)=>{let $=typeof Q==="number"?(j)=>Q:Q;return(j)=>{let Y=J.getEntry(j);if(Y.type==="header"){if(q&&Y.group.groupIndex===0)return 0;return J.getHeaderHeight(Y.group.groupIndex)}return $(Y.dataIndex)}},i2=(J,Q,q)=>{let $=n2(J,Q.getGroupForIndex,q),j=J+$.length,Y=Q.header?.height??Q.header?.width??Q.headerHeight;return{get totalEntries(){return j},get groupCount(){return $.length},get groups(){return $},getEntry:(F)=>{if($.length===0)return{type:"item",dataIndex:F,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let V=x2($,F),W=$[V];if(F===W.headerLayoutIndex)return{type:"header",group:W};let _=F-W.headerLayoutIndex-1;return{type:"item",dataIndex:W.firstDataIndex+_,group:W}},layoutToDataIndex:(F)=>{if($.length===0)return F;let V=x2($,F),W=$[V];if(F===W.headerLayoutIndex)return-1;let _=F-W.headerLayoutIndex-1;return W.firstDataIndex+_},dataToLayoutIndex:(F)=>{if($.length===0)return F;let V=a2($,F),W=$[V],_=F-W.firstDataIndex;return W.headerLayoutIndex+1+_},getGroupAtLayoutIndex:(F)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let V=x2($,F);return $[V]},getGroupAtDataIndex:(F)=>{if($.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let V=a2($,F);return $[V]},getHeaderHeight:typeof Y==="number"?(F)=>Y:(F)=>{let V=$[F];if(!V)return 0;return Y(V.key,F)},rebuild:(F,V)=>{$=n2(F,Q.getGroupForIndex,V??q),j=F+$.length}}};var xJ=(J,Q,q,$,j=0)=>{let Y=q?"width":"height",B=document.createElement("div");return B.className=`${Q}-sticky-header`,B.setAttribute("role","presentation"),B.setAttribute("aria-hidden","true"),B.style.cssText="position:relative;z-index:5;pointer-events:none;overflow:hidden;"+(q?`top:0;bottom:0;left:${j||0}px`:`top:${j||0}px`),B.style[Y]=`${$}px`,J.insertBefore(B,J.firstChild),B},t2=(J,Q,q,$,j,Y=!1,B=0,G,P)=>{let M=Y?"width":"height",y=Y?"height":"width",C=Y?"X":"Y",O=(E,U)=>{E.style[M]=`${U}px`},F=P??xJ(J,j,Y,0,B),V=()=>{let E=document.createElement("div");return E.className="sticky-group",E.style.position="absolute",E.style.willChange="transform",E.style[y]="100%",E},W=V(),_=V();F.append(W,_);let X=W,T=_,k=Q.groups,w=[],p=[],g=[],u=0,Y2=()=>{k=Q.groups,u=k.length,w=Array(u),p=Array(u),g=Array(u);let E=G?G():1;for(let U=0;U<u;U++)w[U]=q.getOffset(k[U].headerLayoutIndex)*E,p[U]=Q.getHeaderHeight(U),g[U]=p[U]*E};Y2();let o=-1,i=0,$2=0,N2=-1,j2=!1,r=0,d=!1,J2=(E,U)=>{$(E,U);let b=p[U];return O(E,b),b},L=(E)=>{E.replaceChildren(),E.style.transform=""},N=(E)=>{if(E===o)return;if(o=E,i=0,$2=0,E<0||E>=u){L(X);return}i=J2(X,E),$2=g[E],O(F,i),X.style.transform=""},K=(E)=>{if(E===r)return;r=E;let U=Math.round(E);X.style.transform=`translate${C}(${U}px)`,T.style.transform=`translate${C}(${U+i}px)`},D=()=>{r=0,X.style.transform="",T.style.transform=""},f=()=>{if(!d)return;let E=X;X=T,T=E,o=N2,i=o>=0?p[o]:0,$2=o>=0?g[o]:0,O(F,i),L(T),N2=-1,d=!1,D()},c=()=>{if(!d)return;L(T),N2=-1,d=!1,D()},l=!!P,S=()=>{if(j2)return;if(j2=!0,l)F.style.visibility="";else F.style.display=""},Z=()=>{if(!j2)return;if(j2=!1,l)F.style.visibility="hidden";else F.style.display="none";L(X),o=-1,i=0,$2=0,c()},H=(E)=>{if(u===0){Z();return}if(E<w[0]){Z();return}let U=0,b=u-1;while(U<b){let x=U+b+1>>>1;if(w[x]+g[x]<=E)U=x;else b=x-1}if(!j2)S();N(U);let R=U+1;if(R<u){let x=w[R]-E;if(x<=0&&x>-$2){if(N2!==R||!d)N2=R,J2(T,R),d=!0;let I=$2>0?x/$2*i:x;K(I)}else if(x<=-$2){if(d)f()}else if(d)c()}else if(d)c()},A=()=>{Y2();let E=o;if(o=-1,i=0,$2=0,E>=0)N(E)},z=()=>{F.remove(),o=-1,i=0,$2=0,N2=-1,j2=!1,d=!1};if(!P)F.style.display="none";return{update:H,refresh:A,show:S,hide:Z,destroy:z}};var e2=(J)=>{let Q=Math.max(1,Math.floor(J.columns)),q=J.gap??0,$=J.isHeaderFn,j={row:0,col:0},Y=(V)=>{if(V<=0)return 0;if(!$)return Math.ceil(V/Q);let W=0,_=0,X=0;for(let T=0;T<V;T++)if($(T)){if(X++,_)W++,_=0;W++,_=0}else if(_++,_>=Q)W++,_=0;if(_)W++;return W},B=(V)=>{return j.row=G(V),j.col=P(V),j},G=(V)=>{if(!$)return Math.floor(V/Q);let W=0,_=0;for(let X=0;X<=V;X++)if($(X)){if(_)W++,_=0;if(X===V)return W;W++,_=0}else{if(X===V)return W;if(_++,_>=Q)W++,_=0}return console.warn(`⚠️ getRow(${V}) fell through - returning ${W}`),W},P=(V)=>{if(!$)return V%Q;if($(V))return 0;let W=0;for(let _=0;_<=V;_++)if($(_))W=0;else{if(_===V)return W;if(W++,W>=Q)W=0}return W},M=(V,W,_)=>{if(_<=0)return{start:0,end:-1};if(!$){let p=Math.max(0,V*Q),g=Math.min(_-1,(W+1)*Q-1);return{start:p,end:g}}let X=-1,T=-1,k=0,w=0;for(let p=0;p<_;p++){if($(p)){if(w)k++,w=0;if(k>=V&&k<=W){if(X<0)X=p;T=p}k++,w=0}else{if(k>=V&&k<=W){if(X<0)X=p;T=p}if(w++,w>=Q)k++,w=0}if(k>W&&!w)break}if(X<0)return{start:0,end:-1};return{start:X,end:T}},y=(V,W,_)=>{if(W<0||W>=Q)return-1;let X=V*Q+W;if(X<0||X>=_)return-1;return X},C=(V)=>{let W=(Q-1)*q;return Math.max(0,(V-W)/Q)};return{get columns(){return Q},get gap(){return q},update:(V)=>{if(V.columns!==void 0)Q=Math.max(1,Math.floor(V.columns));if(V.gap!==void 0)q=V.gap;if(V.isHeaderFn!==void 0)$=V.isHeaderFn},getTotalRows:Y,getPosition:B,getRow:G,getCol:P,getItemRange:M,getItemIndex:y,getColumnWidth:C,getColumnOffset:(V,W)=>{let _=C(W);return V*(_+q)}}};var H2=16000000;var JJ="x",QJ=20,g2="_isPlaceholder",R2="__placeholder_";var y2=(J,Q,q)=>{if(String(q).startsWith(R2))return!1;let $=R2+Q;if(J.has($))return J.delete($),J.add(q),!0;return!1},$J=(J)=>({selected:new Set(J??[]),focusedIndex:-1,focusVisible:!1}),u2=(J,Q,q)=>{if(q==="none")return J;let $=new Set(J.selected);if(q==="single"){if($.clear(),Q.length>0)$.add(Q[0])}else for(let j of Q)$.add(j);return{...J,selected:$}},m2=(J,Q)=>{let q=new Set(J.selected);for(let $ of Q)q.delete($);return{...J,selected:q}},qJ=(J,Q,q)=>{if(q==="none")return J;if(J.selected.has(Q))return m2(J,[Q]);else return u2(J,[Q],q)},YJ=(J,Q,q)=>{if(q!=="multiple")return J;return{...J,selected:new Set(Q.map(($)=>$.id))}},jJ=(J)=>({...J,selected:new Set});var BJ=(J,Q)=>{return J.selected.has(Q)},UJ=(J)=>{return Array.from(J.selected)},NJ=(J,Q)=>{let q=[];for(let $ of J.selected){let j=Q($);if(j)q.push(j)}return q};var gJ=(J,Q)=>{let q=Q;return{getOffset:($)=>$*J,getSize:($)=>J,indexAtOffset:($)=>{if(q===0||J===0)return 0;return Math.max(0,Math.min(Math.floor($/J),q-1))},getTotalSize:()=>q*J,getTotal:()=>q,rebuild:($)=>{q=$},isVariable:()=>!1}},uJ=(J,Q)=>{let q=Q,$=new Float64Array(0),j=(B)=>{q=B,$=new Float64Array(B+1),$[0]=0;for(let G=0;G<B;G++)$[G+1]=$[G]+J(G)};j(Q);let Y=(B)=>{if(q===0)return 0;if(B<=0)return 0;if(B>=$[q])return q-1;let G=0,P=q-1;while(G<P){let M=G+P+1>>>1;if($[M]<=B)G=M;else P=M-1}return G};return{getOffset:(B)=>{if(B<=0)return 0;if(B>=q)return $[q];return $[B]},getSize:(B)=>J(B),indexAtOffset:(B)=>Y(B),getTotalSize:()=>$[q]??0,getTotal:()=>q,rebuild:(B)=>j(B),isVariable:()=>!0}},k2=(J,Q)=>{if(typeof J==="number")return gJ(J,Q);return uJ(J,Q)},d2=(J,Q,q,$)=>{if($===0)return 0;if(!J.isVariable())return Math.ceil(q/J.getSize(0));let j=0,Y=0,B=Q;while(B<$&&Y<q)Y+=J.getSize(B),j++,B++;return Math.max(1,j)};var w2=(J,Q,q)=>{let $=Q.getTotalSize(),j=q===!0||$>H2,Y=$>H2?H2:$,B=$>0?Y/$:1;return{isCompressed:j,actualSize:$,virtualSize:Y,ratio:B}},KJ=(J,Q,q,$,j,Y)=>{if($===0||Q===0)return Y.start=0,Y.end=-1,Y;if(!j.isCompressed||j.ratio===1){let F=q.indexAtOffset(J),V=q.indexAtOffset(J+Q);if(V<$-1)V++;return Y.start=Math.max(0,F),Y.end=Math.min($-1,Math.max(0,V)),Y}let{virtualSize:B}=j,G=J/B,P=q.getTotalSize(),M=G*P,y=q.indexAtOffset(M),C=d2(q,Math.max(0,y),Q,$),O=y+C;return Y.start=Math.max(0,y),Y.end=Math.min($-1,Math.max(0,O)),Y},ZJ=(J,Q,q,$)=>{if(q===0)return $.start=0,$.end=-1,$;return $.start=Math.max(0,J.start-Q),$.end=Math.min(q-1,J.end+Q),$},P2=(J,Q,q,$,j,Y,B)=>{if(!Y.isCompressed||$===0)return q.getOffset(J);if(Y.ratio===1)return q.getOffset(J)-Q;let{virtualSize:G}=Y,P=Q/G,M=q.getTotalSize(),y=P*M;return q.getOffset(J)-y},_J=(J,Q,q,$,j,Y="start")=>{if($===0)return 0;let B;if(j.isCompressed&&j.ratio!==1){B=J/$*j.virtualSize;let y=Q.getSize(J);switch(Y){case"center":B-=(q-y)/2*j.ratio;break;case"end":B-=(q-y)*j.ratio;break}return Math.max(0,B)}B=Q.getOffset(J);let G=Q.getSize(J);switch(Y){case"center":B-=(q-G)/2;break;case"end":B-=q-G;break}let P=j.virtualSize-q;return Math.max(0,Math.min(B,P))},WJ=(J,Q,q,$)=>{if(q===0)return 0;if($.isCompressed&&$.ratio!==1){let j=J/$.virtualSize;return Math.floor(j*q)}return Q.indexAtOffset(J)},VJ=(J,Q)=>{if(typeof Q==="number")return J*Q>H2;return Q.getTotalSize()>H2},MJ=(J)=>{if(J<=0)return 0;return Math.floor(H2/J)},DJ=(J,Q,q)=>{let $=w2(J,Q,q);if(!$.isCompressed)return`No compression needed (${J} items, ${($.actualSize/1e6).toFixed(2)}M px)`;return`Compressed to ${($.ratio*100).toFixed(1)}% (${J} items, ${($.actualSize/1e6).toFixed(1)}M px → ${($.virtualSize/1e6).toFixed(1)}M px virtual)`};var C2=(J,Q,q)=>{let $=Array.from(Q).sort((B,G)=>B-G);if($.length<=1)return;let j=[];for(let B=0;B<$.length;B++){let G=q($[B]);if(G)j.push(G)}if(j.length<=1)return;let Y=J.firstChild;for(let B=0;B<j.length;B++){let G=j[B];if(G===Y)Y=Y.nextSibling;else J.insertBefore(G,Y)}};var mJ=(J=200)=>{let Q=[];return{acquire:()=>{let Y=Q.pop();if(Y)return Y;let B=document.createElement("div");return B.setAttribute("role","option"),B},release:(Y)=>{if(Y.remove(),Q.length<J)Y.className="",Y.textContent="",Y.removeAttribute("style"),Y.removeAttribute("data-index"),Y.removeAttribute("data-id"),Y.removeAttribute("data-row"),Y.removeAttribute("data-col"),Q.push(Y)},clear:()=>{Q.length=0}}},dJ=1,cJ=(J,Q,q,$,j,Y,B,G,P=!1,M,y)=>{let C=mJ(),O=new Map,F=Y,V=!1,W=0,_="",X=-1,T={selected:!1,focused:!1},k=(Z,H)=>{return T.selected=Z,T.focused=H,T},w=`${j}-item ${j}-grid-item`,p=`${j}-group-header`,g=`${j}-item--selected`,u=`${j}-item--focused`,Y2=`${j}-item--placeholder`,o=`${j}-item--replaced`,i=(Z,H)=>{if(typeof H==="string")Z.innerHTML=H;else Z.replaceChildren(H)},$2=(Z,H,A)=>{Z.classList.toggle(g,H),Z.classList.toggle(u,A)},N2=(Z,H)=>{let A=$.getRow(Z);if(H?.compression?.isCompressed)return P2(A,H.scrollPosition,q,H.totalItems,H.containerSize,H.compression,H.rangeStart);return q.getOffset(A)},j2=(Z,H)=>{let A=$.getCol(Z),E=V&&A===0?0:$.getColumnOffset(A,F),U;if(V){let b=$.getRow(Z),R=0,x=-1;for(let I=0;I<Z;I++){let m=$.getRow(I);if(m<b&&m!==x){let s=q.getSize(I);R+=s,x=m}}U=R}else U=N2(Z,H);if(P)return`translate(${Math.round(U)}px, ${Math.round(E)}px)`;return`translate(${Math.round(E)}px, ${Math.round(U)}px)`},r=(Z,H)=>{let A=Z.classList.contains(p),z=A?F:$.getColumnWidth(F),E;if(V||A)E=q.getSize(H)-$.gap;else{let U=$.getRow(H);E=q.getSize(U)-$.gap}if(P)Z.style.width=`${E}px`,Z.style.height=`${z}px`;else Z.style.width=`${z}px`,Z.style.height=`${E}px`},d=(Z,H,A,z,E)=>{let U=C.acquire(),b=!!H.__groupHeader,R=k(A,z);if(U.className=b?p:w,U.dataset.index=String(Z),U.dataset.id=String(H.id),U.dataset.row=String($.getRow(Z)),U.dataset.col=String($.getCol(Z)),b)U.setAttribute("role","presentation"),U.removeAttribute("aria-selected"),U.removeAttribute("aria-setsize"),U.removeAttribute("aria-posinset"),U.removeAttribute("id");else if(y!==!1){if(U.setAttribute("role","option"),U.ariaSelected=String(A),G)U.id=`${G}-item-${Z}`;if(B){let m=B();if(m!==X)X=m,_=String(m);U.setAttribute("aria-setsize",_);let s=M?M(Z):Z+1;U.setAttribute("aria-posinset",String(s))}}else if(U.setAttribute("role","listitem"),U.removeAttribute("aria-selected"),B){let m=B();if(m!==X)X=m,_=String(m);U.setAttribute("aria-setsize",_);let s=M?M(Z):Z+1;U.setAttribute("aria-posinset",String(s))}r(U,Z);let x=Q(H,Z,R);if(i(U,x),String(H.id).startsWith(R2))U.classList.add(Y2);return $2(U,A,z),U.style.transform=E,{element:U,lastItem:H,lastSelected:A,lastFocused:z,lastTransform:E,lastSeenFrame:W}},J2=(Z,H,A,z,E)=>{if(W++,H.start===0&&Z.length)V=v2(Z[0]);let U=!1;if(B){let R=B();if(R!==X)X=R,_=String(R),U=!0}let b=null;for(let R=H.start;R<=H.end;R++){let x=R-H.start,I=Z[x];if(!I)continue;let m=A.has(I.id),s=R===z,e=O.get(R);if(e){let Z2=e.lastItem!==I,Q2=e.lastSelected!==m,h=e.lastFocused!==s;if(Z2){let n=e.element.dataset.id??"",q2=String(I.id),U2=n.startsWith(R2),a=q2.startsWith(R2);if(!a&&y2(A,R,I.id))m=!0;let M2=k(m,s),E2=Q(I,R,M2);if(i(e.element,E2),e.element.dataset.id=q2,e.element.dataset.row=String($.getRow(R)),e.element.dataset.col=String($.getCol(R)),r(e.element,R),e.element.classList.toggle(Y2,a),U2&&!a)e.element.classList.add(o),setTimeout(()=>e.element.classList.remove(o),300);if(e.lastItem=I,!I.__groupHeader){let V2=M?M(R):R+1;e.element.setAttribute("aria-posinset",String(V2))}}if(Z2||Q2||h)$2(e.element,m,s),e.element.ariaSelected=String(m),e.lastSelected=m,e.lastFocused=s;let v=j2(R,E);if(e.lastTransform!==v)e.element.style.transform=v,e.lastTransform=v;if(U&&!I.__groupHeader)e.element.setAttribute("aria-setsize",_)}else{if(y2(A,R,I.id))m=!0;let Z2=j2(R,E),Q2=d(R,I,m,s,Z2);if(!b)b=document.createDocumentFragment();b.appendChild(Q2.element),O.set(R,Q2)}}if(b)J.appendChild(b);for(let[R,x]of O)if(R>=H.start&&R<=H.end)x.lastSeenFrame=W;else if(W-x.lastSeenFrame>dJ)C.release(x.element),O.delete(R)},L=(Z)=>{for(let[H,A]of O){let z=j2(H,Z);if(A.lastTransform!==z)A.element.style.transform=z,A.lastTransform=z}},N=(Z,H,A,z)=>{let E=O.get(Z);if(!E)return;let U=k(A,z),b=Q(H,Z,U);i(E.element,b),$2(E.element,A,z),E.element.dataset.id=String(H.id),E.element.ariaSelected=String(A),r(E.element,Z),E.lastItem=H,E.lastSelected=A,E.lastFocused=z},K=(Z,H,A)=>{let z=O.get(Z);if(!z)return;let E=z.lastSelected!==H,U=z.lastFocused!==A;if(E||U)$2(z.element,H,A),z.lastSelected=H,z.lastFocused=A},D=(Z)=>{return O.get(Z)?.element},f=(Z)=>{if(Math.abs(Z-F)<1)return;F=Z;for(let[H,A]of O){r(A.element,H);let z=j2(H);A.element.style.transform=z,A.lastTransform=z}},c=()=>{C2(J,O.keys(),(Z)=>O.get(Z)?.element)},l=()=>{for(let[,Z]of O)C.release(Z.element);O.clear()};return{render:J2,updatePositions:L,updateItem:N,updateItemClasses:K,getElement:D,sortDOM:c,updateContainerWidth:f,clear:l,destroy:()=>{l(),C.clear()}}};var GJ=(J,Q=50,q=1/0,$=!0)=>{let j=J,Y=[],B=0,G=()=>{Y=j.map((_,X)=>({def:_,index:X,width:0,minWidth:rJ(_.minWidth??Q,1),maxWidth:_.maxWidth??q,resizable:_.resizable??$,offset:0}))},P=(_)=>{if(Y.length===0){B=0;return}let X=0,T=0;for(let k=0;k<Y.length;k++){let w=Y[k],p=w.def;if(p.width!==void 0)w.width=c2(p.width,w.minWidth,w.maxWidth),X+=w.width;else T++}if(T){let w=Math.max(0,_-X)/T;for(let p=0;p<Y.length;p++){let g=Y[p];if(g.def.width===void 0)g.width=c2(w,g.minWidth,g.maxWidth)}}M()},M=()=>{let _=0;for(let X=0;X<Y.length;X++){let T=Y[X];T.offset=_,_+=T.width}B=_},y=(_,X)=>{if(_<0||_>=Y.length)return 0;let T=Y[_];if(!T.resizable)return T.width;let k=c2(X,T.minWidth,T.maxWidth);return T.width=k,M(),k},C=(_)=>{return Y[_]},O=(_)=>{if(Y.length===0)return;if(_<0)return Y[0];if(_>=B)return Y[Y.length-1];let X=0,T=Y.length-1;while(X<T){let k=X+T>>>1,w=Y[k];if(_<w.offset)T=k-1;else if(_>=w.offset+w.width)X=k+1;else return w}return Y[X]},F=(_)=>{if(_<0||_>=Y.length)return 0;return Y[_].offset},V=(_)=>{if(_<0||_>=Y.length)return 0;return Y[_].width},W=(_)=>{j=_,G()};return G(),{get columns(){return Y},get totalWidth(){return B},resolve:P,updateColumns:W,resizeColumn:y,getColumn:C,getColumnAtX:O,getColumnOffset:F,getColumnWidth:V}},c2=(J,Q,q)=>Math.min(q,Math.max(Q,J)),rJ=(J,Q)=>Math.max(Q,J);var OJ=(J,Q,q,$,j,Y)=>{let B=document.createElement("div");B.setAttribute("role","rowgroup");let G=document.createElement("div");G.className=`${q}-table-header`,G.setAttribute("role","row"),G.setAttribute("aria-rowindex","1"),G.style.height=`${Q}px`;let P=document.createElement("div");P.className=`${q}-table-header-scroll`,P.setAttribute("role","presentation"),G.appendChild(P),B.appendChild(G),J.insertBefore(B,J.firstChild),J.style.setProperty("--vlist-table-header-height",`${Q}px`);let M=[],y=[],C=!0,O=null,F="asc",V=null,W=!1,_=-1,X=0,T=0,k=0,w=(N,K)=>{let D=document.createElement("div");D.className=`${q}-table-header-cell`,D.setAttribute("role","columnheader"),D.setAttribute("aria-colindex",String(K+1)),D.setAttribute("tabindex",K===0?"0":"-1"),D.dataset.columnKey=N.def.key;let f=N.def.align;if(f==="center")D.classList.add(`${q}-table-header-cell--center`);else if(f==="right")D.classList.add(`${q}-table-header-cell--right`);let c=document.createElement("div");c.className=`${q}-table-header-content`;let l=N.def.header?N.def.header(N.def):N.def.label;if(typeof l==="string")c.textContent=l;else c.appendChild(l);if(D.appendChild(c),N.def.sortable){let S=document.createElement("span");S.className=`${q}-table-header-sort`,S.setAttribute("aria-hidden","true"),D.appendChild(S),y.push(S),D.classList.add(`${q}-table-header-cell--sortable`)}else y.push(null);if(N.resizable){let S=document.createElement("div");S.className=`${q}-table-header-resize`,S.dataset.resizeIndex=String(K),D.appendChild(S)}return D},p=(N)=>{V=N,P.textContent="",M=[],y=[];let K=N.columns;for(let D=0;D<K.length;D++){let f=K[D],c=w(f,D);M.push(c),P.appendChild(c)}if(g(N),O)u(O,F)},g=(N)=>{V=N;let K=N.columns;P.style.width=`${N.totalWidth}px`;for(let D=0;D<M.length&&D<K.length;D++){let f=M[D],c=K[D];f.style.width=`${c.width}px`}},u=(N,K)=>{if(O=N,F=K,!V)return;let D=V.columns;for(let f=0;f<y.length&&f<D.length;f++){let c=y[f];if(!c)continue;if(D[f].def.key===N)c.textContent=K==="asc"?"▲":"▼",c.style.opacity="0.7",M[f].setAttribute("aria-sort",K==="asc"?"ascending":"descending");else c.textContent="",c.style.opacity="0",M[f].removeAttribute("aria-sort")}},Y2=(N)=>{P.style.transform=`translateX(${-N}px)`},o=(N)=>{let K=N.target;if(!K.dataset.resizeIndex)return;if(N.preventDefault(),N.stopPropagation(),_=+K.dataset.resizeIndex,!V)return;let D=V.getColumn(_);if(!D?.resizable)return;W=!0,X=N.clientX,T=D.width,J.classList.add(`${q}--col-resizing`),J.style.cursor="col-resize",K.classList.add(`${q}-table-header-resize--active`),K.setPointerCapture(N.pointerId),K.addEventListener("pointermove",i),K.addEventListener("pointerup",$2),K.addEventListener("pointercancel",$2)},i=(N)=>{if(!W||!V)return;let K=N.clientX-X;if(Math.abs(K)<1)return;let D=Math.max(0,T+K);$(_,D)},$2=(N)=>{if(!W)return;let K=N.target;K.removeEventListener("pointermove",i),K.removeEventListener("pointerup",$2),K.removeEventListener("pointercancel",$2);try{K.releasePointerCapture(N.pointerId)}catch{}K.classList.remove(`${q}-table-header-resize--active`),J.classList.remove(`${q}--col-resizing`),J.style.cursor="",W=!1,_=-1},N2=(N)=>{let K=N.target;if(K.dataset.resizeIndex)return;if(W)return;let D=K;while(D&&!D.dataset.columnKey)if(D=D.parentElement,D===G||D===null)return;let f=D.dataset.columnKey;if(!V)return;let c=V.columns,l=-1;for(let Z=0;Z<c.length;Z++)if(c[Z].def.key===f){l=Z;break}if(l===-1)return;let S=c[l];if(Y)Y({key:f,index:l,event:N});if(S.def.sortable&&j){let Z;if(O===f)Z=F==="asc"?"desc":null;else Z="asc";j({key:f,index:l,direction:Z})}},j2=(N)=>{if(N<0||N>=M.length)return;M[k]?.setAttribute("tabindex","-1"),k=N;let K=M[k];K.setAttribute("tabindex","0"),K.focus()},r=(N)=>{let K=N.key;if(K==="ArrowRight"){if(N.ctrlKey||N.metaKey){if(!V)return;let D=V.getColumn(k);if(D?.resizable)$(k,D.width+10),N.preventDefault()}else if(k<M.length-1)j2(k+1),N.preventDefault();N.stopPropagation();return}if(K==="ArrowLeft"){if(N.ctrlKey||N.metaKey){if(!V)return;let D=V.getColumn(k);if(D?.resizable)$(k,D.width-10),N.preventDefault()}else if(k>0)j2(k-1),N.preventDefault();N.stopPropagation();return}if(K==="Home"){j2(0),N.preventDefault(),N.stopPropagation();return}if(K==="End"){j2(M.length-1),N.preventDefault(),N.stopPropagation();return}if(K==="Enter"||K===" "){if(!V)return;let D=V.getColumn(k);if(D?.def.sortable&&j){let f;if(O===D.def.key)f=F==="asc"?"desc":null;else f="asc";j({key:D.def.key,index:k,direction:f}),N.preventDefault()}N.stopPropagation();return}if(K==="ArrowDown"){J.focus(),N.preventDefault(),N.stopPropagation();return}};return G.addEventListener("pointerdown",o),G.addEventListener("click",N2),G.addEventListener("keydown",r),{element:G,update:g,updateSort:u,rebuild:p,show:()=>{if(C)return;C=!0,G.style.display=""},hide:()=>{if(!C)return;C=!1,G.style.display="none"},destroy:()=>{G.removeEventListener("pointerdown",o),G.removeEventListener("click",N2),G.removeEventListener("keydown",r),J.style.removeProperty("--vlist-table-header-height"),B.remove(),M=[],y=[],V=null,C=!1},syncScroll:Y2}};var lJ=()=>{let J=[];return{acquire:()=>J.pop()||document.createElement("div"),release:(Q)=>{if(Q.parentNode?.removeChild(Q),J.length<200)Q.className="",Q.removeAttribute("data-id"),Q.removeAttribute("data-index"),Q.removeAttribute("aria-selected"),Q.removeAttribute("aria-rowindex"),Q.removeAttribute("role"),Q.style.cssText="",Q.textContent="",J.push(Q)},clear:()=>{J.length=0}}},XJ=(J,Q,q,$,j,Y,B,G,P)=>{let M=lJ(),y=new Map,C=-1,O=q,F=null,V=null,W=null,_=(U,b)=>{V=U,W=b},X=(U,b)=>{b?U.setAttribute("aria-selected","true"):U.removeAttribute("aria-selected")},T=(U,b,R,x)=>{U.setAttribute("role",b),U.setAttribute("data-id",String(R)),U.setAttribute("data-index",String(x))},k=(U)=>String(U).startsWith("__placeholder_"),w=`${j}-item ${j}-table-row`,p=`${j}-item--selected`,g=`${j}-item--focused`,u=`${j}-table-cell`,Y2=`${j}-table-cell--center`,o=`${j}-table-cell--right`,i=`${j}-item--odd`,$2=`${j}-item--placeholder`,N2=`${j}-item--replaced`,j2=`${j}-item ${j}-table-row ${j}-table-group-header`,r=`${j}-table-group-header-content`,d=(U,b,R,x,I=!1)=>{if(R.def.cell){let m=R.def.cell(b,R.def,x);if(typeof m==="string")U.innerHTML=m;else U.replaceChildren(m)}else{let m=b[R.def.key],s=m!=null?String(m):"";if(I&&s)U.innerHTML=`<span>${s}</span>`;else U.textContent=s}},J2=(U,b,R,x,I=!1)=>{let m=w;if(G){if(F){let s=F(b);if(s>=0&&(s&1)===1)m+=` ${i}`}else if((b&1)===1)m+=` ${i}`}if(I)m+=` ${$2}`;if(R)m+=` ${p}`;if(x)m+=` ${g}`;U.className=m},L=(U,b,R)=>{if(R?.compression?.isCompressed)return Math.round(P2(U,R.scrollPosition,b,R.totalItems,R.containerSize,R.compression,R.rangeStart));return b.getOffset(U)},N=(U,b)=>{let R=b.def.align;if(R==="center")U.classList.add(Y2),U.classList.remove(o);else if(R==="right")U.classList.add(o),U.classList.remove(Y2);else U.classList.remove(Y2,o)},K=(U,b)=>{let x=O.columns.length;if(b.length===x)return b;let I=[];for(let m=0;m<x;m++){let s;if(m<b.length)s=b[m];else s=document.createElement("div"),s.className=u,U.appendChild(s);I.push(s)}for(let m=x;m<b.length;m++)b[m].remove();return I},D=(U,b,R,x)=>{let I=M.acquire(),m=U,s=R.getSize(b),e=L(b,R,x);I.style.cssText=`width:${O.totalWidth}px;height:${s}px;transform:translateY(${e}px)`,I.className=j2,T(I,"presentation",U.id,b),I.removeAttribute("aria-selected"),I.removeAttribute("aria-rowindex"),I.replaceChildren();let Z2=document.createElement("div");if(Z2.className=r,W){let Q2=W(m.groupKey,m.groupIndex);if(typeof Q2==="string")Z2.innerHTML=Q2;else Z2.appendChild(Q2)}return I.appendChild(Z2),{element:I,cells:[],index:b,isGroupHeader:!0,_lastItem:U,lastItemId:U.id,lastSelected:!1,lastFocused:!1,lastOffset:e,lastHeight:s}},f=(U,b,R,x,I,m)=>{let s=M.acquire(),e=I.getSize(b),Z2=L(b,I,m),Q2=k(U.id);s.style.cssText=`width:${O.totalWidth}px;height:${e}px;transform:translateY(${Z2}px)`,J2(s,b,R,x,Q2),T(s,"row",U.id,b),s.id=`${Y}-item-${b}`,s.setAttribute("aria-rowindex",String(b+2)),X(s,R);let h=K(s,[]),v=O.columns;for(let n=0;n<h.length&&n<v.length;n++){let q2=h[n],U2=v[n];q2.style.cssText=`left:${U2.offset}px;width:${U2.width}px`,q2.setAttribute("role","gridcell"),q2.setAttribute("aria-colindex",String(n+1)),N(q2,U2),d(q2,U,U2,b,Q2)}return{element:s,cells:h,index:b,isGroupHeader:!1,_lastItem:U,lastItemId:U.id,lastSelected:R,lastFocused:x,lastOffset:Z2,lastHeight:e}},c=(U,b,R,x,I)=>{let m=!1,s=B();if(s!==C)C=s,m=!0;let e=null,Z2=Q();F=typeof G==="string"&&P?P():null;for(let Q2=b.start;Q2<=b.end;Q2++){let h=Q2-b.start,v=U[h];if(!v)continue;let n=R.has(v.id),q2=Q2===x,U2=V?V(v):!1,a=y.get(Q2);if(a){if(a.isGroupHeader!==U2){M.release(a.element),y.delete(Q2);let M2=U2?D(v,Q2,Z2,I):f(v,Q2,n,q2,Z2,I);if(y.set(Q2,M2),!e)e=document.createDocumentFragment();e.appendChild(M2.element);continue}if(U2){if(a._lastItem!==v){let V2=v,G2=a.element.firstElementChild;if(G2&&W){let A2=W(V2.groupKey,V2.groupIndex);if(typeof A2==="string")G2.innerHTML=A2;else G2.replaceChildren(A2)}a.element.setAttribute("data-id",String(v.id)),a._lastItem=v,a.lastItemId=v.id}let E2=L(Q2,Z2,I);if(a.lastOffset!==E2)a.lastOffset=E2,a.element.style.transform=`translateY(${E2}px)`;let B2=Z2.getSize(Q2);if(a.lastHeight!==B2)a.lastHeight=B2,a.element.style.height=`${B2}px`}else{let M2=a._lastItem!==v,E2=a.lastSelected!==n,B2=a.lastFocused!==q2;if(M2){let A2=a.lastItemId!=null&&k(a.lastItemId),W2=k(v.id);if(!W2&&y2(R,Q2,v.id))n=!0;let O2=O.columns;for(let _2=0;_2<a.cells.length&&_2<O2.length;_2++)d(a.cells[_2],v,O2[_2],Q2,W2);if(J2(a.element,Q2,n,q2,W2),a.element.setAttribute("data-id",String(v.id)),X(a.element,n),A2&&!W2)a.element.classList.add(N2),setTimeout(()=>{a.element.classList.remove(N2)},300);a._lastItem=v,a.lastItemId=v.id,a.lastSelected=n,a.lastFocused=q2}else if(E2||B2)J2(a.element,Q2,n,q2,k(v.id)),X(a.element,n),a.lastSelected=n,a.lastFocused=q2;let V2=L(Q2,Z2,I);if(a.lastOffset!==V2)a.lastOffset=V2,a.element.style.transform=`translateY(${V2}px)`;let G2=Z2.getSize(Q2);if(a.lastHeight!==G2)a.lastHeight=G2,a.element.style.height=`${G2}px`;if(m)a.element.setAttribute("aria-rowindex",String(Q2+2))}}else{if(y2(R,Q2,v.id))n=!0;let M2=U2?D(v,Q2,Z2,I):f(v,Q2,n,q2,Z2,I);if(y.set(Q2,M2),!e)e=document.createDocumentFragment();e.appendChild(M2.element)}}if(e)J.appendChild(e);for(let[Q2,h]of y)if(Q2<b.start||Q2>b.end)M.release(h.element),y.delete(Q2)},l=(U)=>{let b=Q();for(let[R,x]of y){let I=L(R,b,U);if(x.lastOffset!==I)x.lastOffset=I,x.element.style.transform=`translateY(${I}px)`}},S=(U,b,R,x)=>{let I=y.get(U);if(!I)return;if(I.isGroupHeader)return;let m=O.columns;for(let s=0;s<I.cells.length&&s<m.length;s++)d(I.cells[s],b,m[s],U);I.element.setAttribute("data-id",String(b.id)),I._lastItem=b,I.lastItemId=b.id,J2(I.element,U,R,x),X(I.element,R),I.lastSelected=R,I.lastFocused=x},Z=(U,b,R)=>{let x=y.get(U);if(!x)return;if(x.isGroupHeader)return;let I=x.lastSelected!==b,m=x.lastFocused!==R;if(I||m)J2(x.element,U,b,R),X(x.element,b),x.lastSelected=b,x.lastFocused=R},H=(U)=>{O=U;let b=U.columns;for(let[,R]of y)if(R.element.style.width=`${U.totalWidth}px`,R.cells.length>0)for(let x=0;x<R.cells.length&&x<b.length;x++){let I=R.cells[x],m=b[x];I.style.left=`${m.offset}px`,I.style.width=`${m.width}px`}},A=(U)=>{return y.get(U)?.element},z=()=>{for(let[,U]of y)M.release(U.element);y.clear(),C=-1};return{render:c,updatePositions:l,updateItem:S,updateItemClasses:Z,getElement:A,updateColumnLayout:H,setGroupHeaderFn:_,clear:z,destroy:()=>{z(),M.clear()}}};var EJ=(J)=>{let Q=Math.max(1,Math.floor(J.columns)),q=J.gap??0,$=J.containerSize,j=0,Y=[],B=()=>{let W=(Q-1)*q;j=Math.max(0,($-W)/Q),Y=Array(Q);let _=j+q;for(let X=0;X<Q;X++)Y[X]=X*_};B();let G=[],P=0,M=[],y=(W,_)=>{if(W<=0)return P=0,G=[],[];let X=Array(Q).fill(0),T=Array(Q);for(let p=0;p<Q;p++)T[p]=[];let k=Array(W);for(let p=0;p<W;p++){let g=0,u=X[0];for(let i=1;i<Q;i++){let $2=X[i];if($2<u)u=$2,g=i}let Y2=_(p),o=X[g];k[p]={index:p,x:Y[g],y:o,lane:g,size:Y2,crossSize:j},T[g].push(p),X[g]=o+Y2+q}G=T;let w=0;for(let p=0;p<Q;p++){let g=X[p],u=g>0?g-q:0;if(u>w)w=u}return P=w,k},C=(W)=>{if(W.length===0)return P;if(P)return P;let _=Array(Q).fill(0);for(let T of W){let k=T.y+T.size,w=_[T.lane];if(k>w)_[T.lane]=k}let X=0;for(let T=0;T<Q;T++)if(_[T]>X)X=_[T];return X},O=(W,_,X)=>{if(W.length===0||X<=_)return M.length=0,M;if(G.length===0||G.length!==Q)return F(W,_,X);M.length=0;for(let T=0;T<Q;T++){let k=G[T],w=k.length;if(!w)continue;let p=0,g=w;while(p<g){let u=p+g>>>1,Y2=W[k[u]];if(Y2.y+Y2.size<=_)p=u+1;else g=u}for(let u=p;u<w;u++){let Y2=W[k[u]];if(Y2.y>=X)break;M.push(Y2)}}return M},F=(W,_,X)=>{M.length=0;for(let T of W)if(T.y+T.size>_&&T.y<X)M.push(T);return M};return{get columns(){return Q},get gap(){return q},get containerSize(){return $},update:(W)=>{let _=!1;if(W.columns!==void 0){let X=Math.max(1,Math.floor(W.columns));if(X!==Q)Q=X,_=!0}if(W.gap!==void 0&&W.gap!==q)q=W.gap,_=!0;if(W.containerSize!==void 0&&W.containerSize!==$)$=W.containerSize,_=!0;if(_)B()},calculateLayout:y,getTotalSize:C,getVisibleItems:O}};var aJ=(J=200)=>{let Q=[];return{acquire:()=>{let Y=Q.pop();if(Y)return Y;let B=document.createElement("div");return B.setAttribute("role","option"),B},release:(Y)=>{if(Y.remove(),Q.length<J)Y.className="",Y.textContent="",Y.removeAttribute("style"),Y.removeAttribute("data-index"),Y.removeAttribute("data-id"),Y.removeAttribute("data-lane"),Q.push(Y)},clear:()=>{Q.length=0}}},nJ=1,AJ=(J,Q,q,$=!1,j,Y,B,G)=>{let P=aJ(),M=new Map,y=new Set,C=0,O="",F=-1,V={selected:!1,focused:!1},W=(r,d)=>{return V.selected=r,V.focused=d,V},_=`${q}-item ${q}-masonry-item`,X=`${q}-group-header`,T=`${q}-item--selected`,k=`${q}-item--focused`,w=(r,d)=>{if(typeof d==="string")r.innerHTML=d;else r.replaceChildren(d)},p=(r,d,J2)=>{r.classList.toggle(T,d),r.classList.toggle(k,J2)},g=(r,d)=>{if($)r.style.transform=`translate(${Math.round(d.y)}px, ${Math.round(d.x)}px)`;else r.style.transform=`translate(${Math.round(d.x)}px, ${Math.round(d.y)}px)`},u=(r,d)=>{if($)r.style.width=`${d.size}px`,r.style.height=`${d.crossSize}px`;else r.style.width=`${d.crossSize}px`,r.style.height=`${d.size}px`},Y2=(r,d,J2,L,N)=>{let K=P.acquire(),D=d.__groupHeader,f=W(L,N);if(K.className=D?X:_,K.dataset.index=String(r),K.dataset.id=String(d.id),K.dataset.lane=String(J2.lane),D)K.setAttribute("role","presentation"),K.removeAttribute("aria-selected"),K.removeAttribute("aria-setsize"),K.removeAttribute("aria-posinset"),K.removeAttribute("id");else if(G!==!1){if(K.setAttribute("role","option"),K.ariaSelected=String(L),Y)K.id=`${Y}-item-${r}`;if(j){let l=j();if(l!==F)F=l,O=String(l);K.setAttribute("aria-setsize",O);let S=B?B(r):r+1;K.setAttribute("aria-posinset",String(S))}}else if(K.setAttribute("role","listitem"),K.removeAttribute("aria-selected"),j){let l=j();if(l!==F)F=l,O=String(l);K.setAttribute("aria-setsize",O);let S=B?B(r):r+1;K.setAttribute("aria-posinset",String(S))}u(K,J2);let c=Q(d,r,f);return w(K,c),p(K,L,N),g(K,J2),{element:K,lastItem:d,lastSelected:L,lastFocused:N,lastY:J2.y,lastX:J2.x,lastSize:J2.size,lastCrossSize:J2.crossSize,lastSeenFrame:C}},o=(r,d,J2,L)=>{C++,y.clear();for(let K=0;K<d.length;K++)y.add(d[K].index);let N=null;for(let K=0;K<d.length;K++){let D=d[K],f=D.index,c=r(f);if(!c)continue;let l=J2.has(c.id),S=f===L,Z=M.get(f);if(Z){let H=Z.lastItem!==c,A=Z.lastSelected!==l,z=Z.lastFocused!==S,E=Z.lastY!==D.y||Z.lastX!==D.x,U=Z.lastSize!==D.size||Z.lastCrossSize!==D.crossSize;if(H){let b=W(l,S),R=Q(c,f,b);if(w(Z.element,R),Z.element.dataset.id=String(c.id),Z.lastItem=c,!c.__groupHeader){let I=B?B(f):f+1;Z.element.setAttribute("aria-posinset",String(I))}}if(H||A||z)p(Z.element,l,S),Z.element.ariaSelected=String(l),Z.lastSelected=l,Z.lastFocused=S;if(U)u(Z.element,D),Z.lastSize=D.size,Z.lastCrossSize=D.crossSize;if(E)g(Z.element,D),Z.lastY=D.y,Z.lastX=D.x}else{let H=Y2(f,c,D,l,S);if(!N)N=document.createDocumentFragment();N.appendChild(H.element),M.set(f,H)}}if(N)J.appendChild(N);for(let[K,D]of M)if(y.has(K))D.lastSeenFrame=C;else if(C-D.lastSeenFrame>nJ)P.release(D.element),M.delete(K)},i=()=>{for(let r of M.values())P.release(r.element);M.clear(),J.innerHTML=""};return{render:o,getElement:(r)=>M.get(r)?.element,updateItemClasses:(r,d,J2)=>{let L=M.get(r);if(!L)return;let N=L.lastSelected!==d,K=L.lastFocused!==J2;if(N||K)p(L.element,d,J2),L.lastSelected=d,L.lastFocused=J2},sortDOM:()=>{C2(J,M.keys(),(r)=>M.get(r)?.element)},clear:i,destroy:()=>{i(),P.clear()}}};var FJ=(J,Q)=>{let q=new Map,$=(Y)=>q.get(Y)??J,j=k2($,Q);return{getOffset(Y){return j.getOffset(Y)},getSize(Y){return $(Y)},indexAtOffset(Y){return j.indexAtOffset(Y)},getTotalSize(){return j.getTotalSize()},getTotal(){return j.getTotal()},rebuild(Y){if(Y<j.getTotal()){for(let B of q.keys())if(B>=Y)q.delete(B)}j=k2($,Y)},isVariable(){return!0},setMeasuredSize(Y,B){q.set(Y,B)},isMeasured(Y){return q.has(Y)},getEstimatedSize(){return J},measuredCount(){return q.size}}};var LJ=(J,Q,q,$,j,Y)=>{if($===0||Q===0)return Y.start=0,Y.end=-1,Y;let B=q.indexAtOffset(J),G=q.indexAtOffset(J+Q);if(G<$-1)G++;return Y.start=Math.max(0,B),Y.end=Math.min($-1,Math.max(0,G)),Y},HJ=(J,Q,q,$)=>{if(q===0)return $.start=0,$.end=-1,$;return $.start=Math.max(0,J.start-Q),$.end=Math.min(q-1,J.end+Q),$},bJ=(J,Q,q,$,j,Y)=>{if($===0)return 0;let B=Math.max(0,Math.min(J,$-1)),G=Q.getOffset(B),P=Q.getSize(B),M=Q.getTotalSize(),y=Math.max(0,M-q),C;switch(Y){case"center":C=G-q/2+P/2;break;case"end":C=G-q+P;break;case"start":default:C=G;break}return Math.max(0,Math.min(C,y))},RJ=(J,Q,q)=>{if(q&&q.isCompressed)return q.virtualSize;return Q.getTotalSize()},TJ=(J,Q)=>{return Q.getTotalSize()},yJ=(J,Q)=>{return Q.getOffset(J)},PJ=(J,Q,q)=>{let $=Math.max(0,Q-q);return Math.max(0,Math.min(J,$))};var zJ=(J,Q,q,$,j="start",Y,B=bJ)=>{return B(J,Q,q,$,Y,j)},kJ=(J,Q)=>{return J.start===Q.start&&J.end===Q.end},wJ=(J,Q)=>{return J>=Q.start&&J<=Q.end},vJ=(J)=>{if(J.end<J.start)return 0;return J.end-J.start+1};var CJ=(J,Q)=>{let q=[],$=[];for(let j=J.start;j<=J.end;j++)if(j<Q.start||j>Q.end)$.push(j);for(let j=Q.start;j<=Q.end;j++)if(j<J.start||j>J.end)q.push(j);return{add:q,remove:$}};var fJ=()=>{let J={},Q=(Y,B)=>{if(!J[Y])J[Y]=new Set;return J[Y].add(B),()=>q(Y,B)},q=(Y,B)=>{J[Y]?.delete(B)};return{on:Q,off:q,emit:(Y,B)=>{J[Y]?.forEach((G)=>{try{G(B)}catch(P){console.error(`[vlist] Error in event handler for "${String(Y)}":`,P)}})},clear:(Y)=>{if(Y)delete J[Y];else for(let B in J)delete J[B]}}};var f2=(J={})=>{let{chunkSize:Q=100,maxCachedItems:q=5000,evictionBuffer:$=200,onEvict:j}=J,Y=new Map,B=0,G=0,P=(L)=>{let N=Y.get(L);if(!N)N={items:Array(Q),count:0,lastAccess:Date.now()},Y.set(L,N);else N.lastAccess=Date.now();return N},M=(L)=>{return Math.floor(L/Q)},y=(L)=>{return L%Q},C=()=>B,O=(L)=>{B=L},F=(L)=>{if(L<0||L>=B)return;let N=M(L),K=Y.get(N);if(!K)return;return K.items[y(L)]},V=(L)=>{if(L<0||L>=B)return!1;let N=M(L),K=Y.get(N);if(!K)return!1;return K.items[y(L)]!==void 0},W=(L,N)=>{let K=M(L),D=P(K),f=y(L),c=D.items[f]===void 0;if(D.items[f]=N,c)D.count++,G++;if(L>=B)B=L+1},_=(L,N)=>{for(let K=0;K<N.length;K++){let D=N[K];if(D!==void 0)W(L+K,D)}},X=(L,N)=>{if(L<0||L>B)return;let K=M(L),D=Array.from(Y.keys()).filter((Z)=>Z>=K).sort((Z,H)=>Z-H),f=[];for(let Z of D){let H=Y.get(Z),A=Z*Q;for(let z=0;z<Q;z++){if(H.items[z]===void 0)continue;let E=A+z;if(E<L)continue;f.push({oldIndex:E,item:H.items[z]})}}for(let{oldIndex:Z}of f){let H=M(Z),A=Y.get(H);if(!A)continue;let z=y(Z);if(A.items[z]!==void 0){if(A.items[z]=void 0,A.count--,G--,A.count===0)Y.delete(H)}}B++;for(let{oldIndex:Z,item:H}of f){let A=Z+1,z=M(A),E=P(z),U=y(A);E.items[U]=H,E.count++,G++}let c=M(L),l=P(c),S=y(L);l.items[S]=N,l.count++,G++},T=(L)=>{if(L<0||L>=B)return!1;let N=M(L),K=Y.get(N),D=y(L);if(!(K!==void 0&&K.items[D]!==void 0))return!1;let c=N,l=Array.from(Y.keys()).filter((Z)=>Z>=c).sort((Z,H)=>Z-H),S=[];for(let Z of l){let H=Y.get(Z),A=Z*Q;for(let z=0;z<Q;z++){if(H.items[z]===void 0)continue;let E=A+z;if(E<=L)continue;S.push({oldIndex:E,item:H.items[z]})}}if(K.items[D]=void 0,K.count--,G--,K.count===0)Y.delete(N);for(let{oldIndex:Z}of S){let H=M(Z),A=Y.get(H);if(!A)continue;let z=y(Z);if(A.items[z]!==void 0){if(A.items[z]=void 0,A.count--,G--,A.count===0)Y.delete(H)}}for(let{oldIndex:Z,item:H}of S){let A=Z-1,z=M(A),E=P(z),U=y(A);E.items[U]=H,E.count++,G++}return B--,!0},k=(L,N)=>{let K=[];for(let D=L;D<=N&&D<B;D++)K.push(F(D));return K},w=(L,N)=>{for(let K=L;K<=N&&K<B;K++)if(!V(K))return!1;return!0},p=()=>{let L=[],N=null,K=Array.from(Y.keys()).sort((D,f)=>D-f);for(let D of K){let f=Y.get(D);if(!f)continue;let c=D*Q;for(let l=0;l<Q;l++){let S=c+l;if(S>=B)break;if(f.items[l]!==void 0)if(N===null)N={start:S,end:S};else if(S===N.end+1)N.end=S;else L.push(N),N={start:S,end:S};else if(N!==null)L.push(N),N=null}}if(N!==null)L.push(N);return L},g=(L,N)=>{let K=[],D=null;for(let f=L;f<=N&&f<B;f++)if(!V(f))if(D===null)D={start:f,end:f};else D.end=f;else if(D!==null)K.push(D),D=null;if(D!==null)K.push(D);return K},u=(L)=>{return Y.has(L)},Y2=(L)=>{let N=Y.get(L);if(!N)return!1;let K=L*Q,D=Math.min(Q,B-K);return N.count>=D},o=(L)=>{let N=Y.get(L);if(N)N.lastAccess=Date.now()},i=(L,N)=>{if(L>N||Y.size===0)return;let K=Date.now(),D=M(Math.max(0,L)),f=M(Math.min(B-1,N));for(let c=D;c<=f;c++){let l=Y.get(c);if(l)l.lastAccess=K}},$2=(L,N)=>{if(G<=q)return 0;let K=Math.max(0,L-$),D=Math.min(B-1,N+$),f=M(K),c=M(D),l=0,S=[];for(let[Z,H]of Y)if(Z<f||Z>c)l+=H.count,S.push(Z),G-=H.count,Y.delete(Z);if(l>0&&j)j(l,S);return l},N2=()=>{if(G<=q)return 0;let L=Array.from(Y.entries()).sort(([,D],[,f])=>D.lastAccess-f.lastAccess),N=0,K=[];for(let[D,f]of L){if(G<=q)break;N+=f.count,G-=f.count,K.push(D),Y.delete(D)}if(N>0&&j)j(N,K);return N},j2=()=>{return{totalItems:B,cachedItems:G,cachedChunks:Y.size,chunkSize:Q,maxCachedItems:q,memoryEfficiency:B>0?1-G/B:1}},r=()=>G,d=()=>{Y.clear(),G=0};return{chunkSize:Q,maxCachedItems:q,getTotal:C,setTotal:O,get:F,has:V,set:W,setRange:_,insert:X,delete:T,getRange:k,isRangeLoaded:w,getLoadedRanges:p,findUnloadedRanges:g,getChunkIndex:M,isChunkLoaded:u,isChunkFullyLoaded:Y2,touchChunk:o,touchChunksForRange:i,evictDistant:$2,evictToLimit:N2,getStats:j2,getCachedCount:r,clear:d,reset:()=>{d(),B=0}}},S2=(J)=>{if(J.length===0)return[];let Q=[...J].sort(($,j)=>$.start-j.start),q=[{...Q[0]}];for(let $=1;$<Q.length;$++){let j=Q[$],Y=q[q.length-1];if(j.start<=Y.end+1)Y.end=Math.max(Y.end,j.end);else q.push({...j})}return q},r2=(J,Q,q)=>{let $=Math.floor(J.start/q)*q,j=Math.ceil((J.end+1)/q)*q-1,Y={start:$,end:j};if(Q.length===0)return[Y];let B=[],G=S2(Q),P=Y.start;for(let M of G){if(M.end<P)continue;if(M.start>Y.end)break;if(M.start>P)B.push({start:P,end:Math.min(M.start-1,Y.end)});if(P=M.end+1,P>Y.end)break}if(P<=Y.end)B.push({start:P,end:Y.end});return B};var I2=(J={})=>{let{maskCharacter:Q=JJ,maxSampleSize:q=QJ}=J,$=[],j=!1,Y=(y)=>{if(j||y.length===0)return;let C=Math.min(y.length,q);for(let O=0;O<C;O++){let F=y[O];if(!F||typeof F!=="object")continue;let V={},W=!1;for(let[_,X]of Object.entries(F)){if(_.startsWith("_")||_==="id")continue;V[_]=String(X??"").length,W=!0}if(W)$.push(V)}j=!0},B=()=>j,G=(y)=>{let C={id:`${R2}${y}`,[g2]:!0,_index:y};if($.length===0)return C.label=Q.repeat(12),C;let O=$[y%$.length];for(let[F,V]of Object.entries(O))C[F]=Q.repeat(Math.max(1,V));return C};return{analyzeStructure:Y,hasAnalyzedStructure:B,generate:G,generateRange:(y,C)=>{let O=[];for(let F=y;F<=C;F++)O.push(G(F));return O},clear:()=>{$=[],j=!1}}},T2=(J)=>{if(!J||typeof J!=="object")return!1;return J[g2]===!0},l2=(J)=>{return J.filter((Q)=>!T2(Q))};var oJ=50,SJ=(J={})=>{let{adapter:Q,initialItems:q,initialTotal:$,storage:j,placeholder:Y,pageSize:B=oJ,maxConcurrent:G=0,onStateChange:P,onDataChange:M,onItemsLoaded:y,onItemsEvicted:C}=J,O=f2({...j,onEvict:(h,v)=>{C?.(h),i(),o()}}),F=null,V=()=>{if(!F)F=I2(Y);return F},W=new Map,_=!1,X,T=!0,k,w,p=[],g=0,u=new Map,Y2=()=>{for(let h of u.values())h[1].abort();u.clear()},o=()=>{P?.(K())},i=()=>{M?.()},$2=()=>{W.clear();let h=O.getLoadedRanges();for(let v of h)for(let n=v.start;n<=v.end;n++){let q2=O.get(n);if(q2&&!T2(q2))W.set(q2.id,n)}},N2=(h,v)=>{if(!T2(v))W.set(v.id,h)},j2=(h)=>{W.delete(h)},r=(h,v)=>{return`${h}-${v}`},d=()=>O.getTotal(),J2=()=>O.getCachedCount(),L=()=>_,N=()=>T,K=()=>({total:O.getTotal(),cached:O.getCachedCount(),isLoading:_,pendingRanges:p,error:X,hasMore:T,cursor:k}),D=()=>O,f=()=>V(),c=(h)=>{let v=O.get(h);if(v!==void 0)return v;if(h>=0&&h<O.getTotal())return V().generate(h);return},l=(h)=>{let v=W.get(h);if(v===void 0)return;return O.get(v)},S=(h)=>{return W.get(h)??-1},Z=(h)=>{let v=O.get(h);return v!==void 0&&!T2(v)},H=(h,v)=>{let n=[],q2=O.getTotal();O.touchChunksForRange(h,Math.min(v,q2-1));for(let U2=h;U2<=v&&U2<q2;U2++){let a=O.get(U2);if(a!==void 0)n.push(a);else n.push(V().generate(U2))}return n},A=(h)=>{O.setTotal(h),T=O.getCachedCount()<h,i(),o()},z=(h,v=0,n)=>{if(Q&&h.length>0){let q2=V();if(!q2.hasAnalyzedStructure())q2.analyzeStructure(h)}for(let q2=0;q2<h.length;q2++){let U2=h[q2];if(U2!==void 0){let a=v+q2;O.set(a,U2),N2(a,U2)}}if(n!==void 0)O.setTotal(n);else if(v+h.length>O.getTotal())O.setTotal(v+h.length);if(O.getCachedCount()>=O.getTotal()&&O.getTotal()>0)T=!1;i(),o(),y?.(h,v,O.getTotal())},E=(h,v)=>{let n=O.get(h);if(!n)return!1;let q2=n.id,U2={...n,...v};if(O.set(h,U2),v.id!==void 0&&v.id!==q2)j2(q2);return N2(h,U2),i(),o(),!0},U=(h,v)=>{O.insert(v,h),$2(),Y2(),i(),o()},b=(h)=>{let v=W.get(h);if(v===void 0)return!1;if(!O.delete(v))return!1;return $2(),Y2(),i(),o(),!0},R=async(h,v)=>{if(!Q)return;let n=O.chunkSize,q2=Math.floor(h/n),U2=Math.floor(v/n),a=n*2;for(let[B2,V2]of u){let G2=B2.indexOf("-"),A2=parseInt(B2.slice(0,G2),10);if(Math.abs(A2-h)>a)V2[1].abort(),u.delete(B2)}let M2=[],E2=[];for(let B2=q2;B2<=U2;B2++){let V2=B2*n,G2=V2+n-1,A2=r(V2,G2);if(O.isChunkFullyLoaded(B2))continue;let O2=u.get(A2);if(O2)E2.push(O2[0]);else M2.push({start:V2,end:G2})}if(M2.length===0){if(E2.length>0)await Promise.all(E2);return}if(G>0){let B2=u.size+M2.length;if(B2>G){let V2=(h+v)/2,G2=Math.min(B2-G,u.size);while(G2>0){let W2=null,O2=-1,_2=null;for(let[F2,t]of u){let K2=F2.indexOf("-"),D2=parseInt(F2.slice(0,K2),10),X2=parseInt(F2.slice(K2+1),10),L2=Math.abs((D2+X2)/2-V2);if(L2>O2)O2=L2,W2=F2,_2=t[1]}if(W2)_2.abort(),u.delete(W2);G2--}let A2=G-u.size;if(M2.length>A2)M2.sort((W2,O2)=>{let _2=Math.abs((W2.start+W2.end)/2-V2),F2=Math.abs((O2.start+O2.end)/2-V2);return _2-F2}),M2.length=Math.max(0,A2)}}if(M2.length===0){if(E2.length>0)await Promise.all(E2);return}for(let B2 of M2){let V2=r(B2.start,B2.end),G2=new AbortController,A2=(async()=>{p.push(B2),_=!0,X=void 0,o();try{let W2=B2.end-B2.start+1,O2={offset:B2.start,limit:W2,cursor:B2.start===w?k:void 0,signal:G2.signal},_2=await Q.read(O2);if(z(_2.items,B2.start,_2.total),_2.cursor)k=_2.cursor,w=B2.start+_2.items.length;let F2=B2.start+_2.items.length;if(F2>=g){if(g=F2,_2.hasMore!==void 0)T=_2.hasMore;else if(_2.total!==void 0)T=F2<_2.total}}catch(W2){if(W2?.name==="AbortError")return;X=W2 instanceof Error?W2:Error(String(W2))}finally{u.delete(V2);let W2=p.findIndex((O2)=>O2.start===B2.start&&O2.end===B2.end);if(W2>=0)p.splice(W2,1);_=u.size>0,o()}})();u.set(V2,[A2,G2]),E2.push(A2)}await Promise.all(E2)},x=async(h,v)=>{if(O.isRangeLoaded(h,v))return;await R(h,v)},I=async()=>{if(!Q)return;await R(0,B-1)},m=async()=>{if(!Q||_||!T)return!1;let h=O.getCachedCount(),v=O.getTotal(),n=h,q2=Math.min(n+B-1,v>0?v-1:n+B-1);if(n>=v&&v>0)return T=!1,!1;return await R(n,q2),O.getCachedCount()>h},s=async()=>{if(O.clear(),O.setTotal(0),W.clear(),F)F.clear();Y2(),p=[],_=!1,k=void 0,w=void 0,T=!0,g=0,X=void 0,i(),o()},e=(h,v)=>{if(O.evictDistant(h,v)>0)$2()},Z2=()=>{O.clear(),W.clear(),k=void 0,w=void 0,X=void 0,p=[],_=!1,i(),o()},Q2=()=>{if(O.reset(),W.clear(),F)F.clear();k=void 0,w=void 0,T=!0,g=0,X=void 0,p=[],_=!1,i(),o()};if(q&&q.length>0)z(q,0,$??q.length);else if($!==void 0)O.setTotal($),i(),o();return{getState:K,getTotal:d,getCached:J2,getIsLoading:L,getHasMore:N,getStorage:D,getPlaceholders:f,getItem:c,getItemById:l,getIndexById:S,isItemLoaded:Z,getItemsInRange:H,setTotal:A,setItems:z,updateItem:E,insertItem:U,removeItem:b,loadRange:R,ensureRange:x,loadInitial:I,loadMore:m,reload:s,evictDistant:e,clear:Z2,reset:Q2}};var iJ=(J)=>{if(typeof J!=="object"){let Q=J??2;return{top:Q,right:Q,bottom:Q,left:Q}}return{top:J.top??2,right:J.right??2,bottom:J.bottom??2,left:J.left??2}},IJ=(J,Q,q={},$="vlist",j=!1,Y)=>{let{autoHide:B=!0,autoHideDelay:G=1000,minThumbSize:P=15,showOnHover:M=!0,showOnViewportEnter:y=!0,clickBehavior:C="scroll"}=q,O=C==="page"?"scroll":C,F=Y??J,V=iJ(q.padding),W=j?V.left:V.top,_=j?V.right:V.bottom,X=j?V.bottom:V.right,T=q.hoverZoneWidth??X+16,k=0,w=0,p=0,g=0,u=!1,Y2=!1,o=0,i=0,$2=0,N2=null,j2=!1,r=null,d=0,J2=0,L=null,N=null,K=null,D=j?"width":"height",f=j?"translateX":"translateY",c=j?(t)=>t.clientX:(t)=>t.clientY,l=j?"left":"top",S=document.createElement("div"),Z=document.createElement("div"),H=document.createElement("div"),A=j?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",z=()=>{if(F===J)return;let t=J.offsetTop;S.style[j?"left":"top"]=t?`calc(var(${A}) + ${t}px)`:`var(${A})`,H.style[j?"left":"top"]=`${t}px`},E=()=>{if(S.className=`${$}-scrollbar`,Z.className=`${$}-scrollbar__thumb`,j)S.classList.add(`${$}-scrollbar--horizontal`);if(q.padding!==void 0)F.style.setProperty("--vlist-custom-scrollbar-padding-top",`${V.top}px`),F.style.setProperty("--vlist-custom-scrollbar-padding-right",`${V.right}px`),F.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${V.bottom}px`),F.style.setProperty("--vlist-custom-scrollbar-padding-left",`${V.left}px`);if(q.minThumbSize!==void 0)S.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${P}px`);if(S.appendChild(Z),F.appendChild(S),H.className=`${$}-scrollbar__hover`,j)H.classList.add(`${$}-scrollbar__hover--horizontal`),H.style.height=`${T}px`;else H.style.width=`${T}px`;if(F.appendChild(H),F!==J)z()},U=()=>{if(N2)clearTimeout(N2),N2=null},b=()=>{if(!B)return;U(),N2=setTimeout(x,G)},R=()=>{if(k<=w)return;if(U(),!j2)S.classList.add(`${$}-scrollbar--visible`),j2=!0;if(B&&!u&&!Y2)b()},x=()=>{if(u||Y2)return;S.classList.remove(`${$}-scrollbar--visible`),j2=!1},I=(t,K2)=>{if(k=t,w=K2,z(),k<=w){S.style.display="none",x();return}S.style.display="";let D2=Math.max(0,w-W-_),X2=w/k;if(p=Math.max(P,X2*D2),Z.style[D]=`${p}px`,g=D2-p,m($2),!B)R()},m=(t)=>{if($2=t,k<=w||g<=0)return;let K2=k-w,D2=Math.min(1,Math.max(0,t/K2));Z.style.transform=`${f}(${D2*g}px)`},s=(t)=>{if(t.target===Z||O!=="jump"||g<=0)return;let K2=k-w,D2=S.getBoundingClientRect(),X2=c(t)-D2[l],L2=Math.max(0,Math.min(X2-p/2,g));Q(L2/g*K2),R()},e=()=>{if(L!==null)clearTimeout(L),L=null;if(N!==null)cancelAnimationFrame(N),N=null;K=null},Z2=(t)=>{let K2=g>0?J2/t*g:0;if(d<K2)return-1;if(d>=K2+p)return 1;return 0},Q2=()=>{let t=k-w,K2=Z2(t);if(K2===0){e();return}if(K2===-1){if(J2<=0){e();return}let D2=Math.max(0,J2-w);J2=D2,Q(D2)}else{if(J2>=t){e();return}let D2=Math.min(t,J2+w);J2=D2,Q(D2)}R()},h=(t)=>{if(K===null){K=t,N=requestAnimationFrame(h);return}let K2=k-w,D2=t-K;K=t;let X2=Z2(K2);if(X2===0){e();return}let L2=12*w/1000,b2=Math.min(L2*D2,w);if(X2===-1){if(J2<=0){e();return}let z2=Math.max(0,J2-b2);J2=z2,Q(z2)}else{if(J2>=K2){e();return}let z2=Math.min(K2,J2+b2);J2=z2,Q(z2)}U(),N=requestAnimationFrame(h)},v=()=>{e(),b(),document.removeEventListener("mouseup",v)},n=(t)=>{if(t.target===Z||O!=="scroll")return;t.preventDefault();let K2=S.getBoundingClientRect();d=c(t)-K2[l],J2=$2,Q2(),L=setTimeout(()=>{N=requestAnimationFrame(h)},350),document.addEventListener("mouseup",v)},q2=(t)=>{t.preventDefault(),t.stopPropagation(),u=!0,o=c(t),i=$2,U(),S.classList.add(`${$}-scrollbar--dragging`),document.addEventListener("mousemove",U2),document.addEventListener("mouseup",a)},U2=(t)=>{if(!u)return;let K2=c(t)-o,D2=g>0?K2/g:0,X2=k-w,L2=D2*X2,b2=Math.max(0,Math.min(i+L2,X2));Z.style.transform=`${f}(${b2/X2*g}px)`,Q(b2)},a=()=>{if(u=!1,S.classList.remove(`${$}-scrollbar--dragging`),B&&!Y2)b();document.removeEventListener("mousemove",U2),document.removeEventListener("mouseup",a)},M2=j?(t)=>t.touches[0].clientX:(t)=>t.touches[0].clientY,E2=(t)=>{t.stopPropagation(),u=!0,o=M2(t),i=$2,U(),S.classList.add(`${$}-scrollbar--dragging`)},B2=(t)=>{if(!u)return;t.preventDefault();let K2=M2(t)-o,D2=g>0?K2/g:0,X2=k-w,L2=D2*X2,b2=Math.max(0,Math.min(i+L2,X2));Z.style.transform=`${f}(${b2/X2*g}px)`,Q(b2)},V2=()=>{if(u=!1,S.classList.remove(`${$}-scrollbar--dragging`),B)b()},G2=(t)=>{if(t.target===Z)return;if(g<=0)return;let K2=t.touches[0],D2=S.getBoundingClientRect(),X2=(j?K2.clientX:K2.clientY)-D2[l];if(O==="jump"){let L2=k-w,b2=Math.max(0,Math.min(X2-p/2,g));Q(b2/g*L2)}else d=X2,J2=$2,Q2();R()},A2=()=>{if(y)R()},W2=()=>{if(!u){if(Y2=!1,B)b()}},O2=()=>{Y2=!0,U(),R()},_2=()=>{if(Y2=!1,!u&&B)b()},F2=()=>{if(U(),e(),r!==null)cancelAnimationFrame(r),r=null;S.removeEventListener("click",s),S.removeEventListener("mousedown",n),S.removeEventListener("mouseenter",O2),document.removeEventListener("mouseup",v),S.removeEventListener("mouseleave",_2),S.removeEventListener("touchstart",G2),Z.removeEventListener("mousedown",q2),Z.removeEventListener("touchstart",E2),Z.removeEventListener("touchmove",B2),Z.removeEventListener("touchend",V2),J.removeEventListener("mouseenter",A2),J.removeEventListener("mouseleave",W2),document.removeEventListener("mousemove",U2),document.removeEventListener("mouseup",a),H.removeEventListener("click",s),H.removeEventListener("mousedown",n),H.removeEventListener("mouseenter",O2),H.removeEventListener("mouseleave",_2),H.remove(),F.style.removeProperty("--vlist-custom-scrollbar-padding-top"),F.style.removeProperty("--vlist-custom-scrollbar-padding-right"),F.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),F.style.removeProperty("--vlist-custom-scrollbar-padding-left"),S.remove()};if(E(),S.addEventListener("click",s),S.addEventListener("mousedown",n),S.addEventListener("mouseenter",O2),S.addEventListener("mouseleave",_2),S.addEventListener("touchstart",G2,{passive:!0}),Z.addEventListener("mousedown",q2),Z.addEventListener("touchstart",E2,{passive:!0}),Z.addEventListener("touchmove",B2,{passive:!1}),Z.addEventListener("touchend",V2,{passive:!0}),J.addEventListener("mouseenter",A2),J.addEventListener("mouseleave",W2),H.addEventListener("click",s),H.addEventListener("mousedown",n),M)H.addEventListener("mouseenter",O2),H.addEventListener("mouseleave",_2);return{show:R,hide:x,updateBounds:I,updatePosition:m,isVisible:()=>j2,destroy:F2}};var pJ=(J=0)=>{let Q=[,,,,,,,,];for(let q=0;q<8;q++)Q[q]={position:0,time:0};return{velocity:0,lastPosition:J,lastTime:performance.now(),samples:Q,sampleIndex:0,sampleCount:0}},p2=(J,Q)=>{let q=performance.now(),$=q-J.lastTime;if($===0)return J;if($>100){J.sampleCount=0,J.sampleIndex=0,J.velocity=0;let Y=J.samples[0];return Y.position=Q,Y.time=q,J.sampleIndex=1,J.sampleCount=1,J.lastPosition=Q,J.lastTime=q,J}let j=J.samples[J.sampleIndex];if(j.position=Q,j.time=q,J.sampleIndex=(J.sampleIndex+1)%8,J.sampleCount=Math.min(J.sampleCount+1,8),J.sampleCount>=2){let Y=(J.sampleIndex-J.sampleCount+8)%8,B=J.samples[Y],G=Q-B.position,P=q-B.time;J.velocity=P>0?G/P:0}return J.lastPosition=Q,J.lastTime=q,J},tJ=(J)=>J.sampleCount>=3,hJ=(J,Q={})=>{let{wheel:q=!0,sensitivity:$=1,smoothing:j=!1,idleTimeout:Y=150,onScroll:B,onIdle:G,scrollElement:P,isX:M=!1}=Q,y=!!P,C=0,O=0,F=y?M?window.innerWidth:window.innerHeight:M?J.clientWidth:J.clientHeight,V=Q.compressed??!1,W=Q.compression,_=pJ(),X=!1,T=null,w=h2(()=>{let A=M?J.scrollLeft:J.scrollTop,z=M?A>=C?"right":"left":A>=C?"down":"up";if(_=p2(_,A),C=A,B)B({scrollTop:C,direction:z,velocity:_.velocity});i()}),g=h2(()=>{let A=J.getBoundingClientRect(),z=M?Math.max(0,-A.left):Math.max(0,-A.top),E=M?z>=C?"right":"left":z>=C?"down":"up";if(_=p2(_,z),C=z,!X)X=!0;if(B)B({scrollTop:C,direction:E,velocity:_.velocity});i()}),u=(A)=>{A.preventDefault()},Y2=(A)=>{if(A.deltaX)return;A.preventDefault(),J.scrollLeft+=A.deltaY},o=(A)=>{if(!V)return;A.preventDefault();let z=(M?A.deltaX||A.deltaY:A.deltaY)*$,E=C+z;if(j)E=C+z*0.3;if(E=Math.max(0,Math.min(E,O)),E!==C){let U=C,b=M?E>=U?"right":"left":E>=U?"down":"up";if(_=p2(_,E),C=E,!X)X=!0;if(B)B({scrollTop:C,direction:b,velocity:_.velocity});i()}},i=()=>{if(T)clearTimeout(T);T=setTimeout(()=>{if(X=!1,_=pJ(C),G)G()},Y)},$2=(A)=>{if(V)return;if(V=!0,W=A,O=A.virtualSize-F,y)return;if(w.cancel(),J.removeEventListener("scroll",w),!q)J.removeEventListener("wheel",u);else if(M)J.removeEventListener("wheel",Y2);if(M)J.style.overflowX="hidden";else J.style.overflow="hidden";if(q)J.addEventListener("wheel",o,{passive:!1});let z=M?J.scrollLeft:J.scrollTop;if(z>0){let E=M?W?.actualSize??J.scrollWidth:W?.actualSize??J.scrollHeight;C=z/E*O}if(M)J.scrollLeft=0;else J.scrollTop=0},N2=()=>{if(!V)return;if(V=!1,y){W=void 0;return}if(J.removeEventListener("wheel",o),M)J.style.overflowX="auto";else J.style.overflow="auto";if(J.addEventListener("scroll",w,{passive:!0}),!q)J.addEventListener("wheel",u,{passive:!1});else if(M)J.addEventListener("wheel",Y2,{passive:!1});if(W&&C>0){let z=C/O*(W.actualSize-F);if(M)J.scrollLeft=z;else J.scrollTop=z}W=void 0},j2=()=>{if(y||V)return C;return M?J.scrollLeft:J.scrollTop},r=(A,z=!1)=>{let E=Math.max(0,Math.min(A,O||1/0));if(y){let U=J.getBoundingClientRect();if(M){let b=U.left+window.scrollX;window.scrollTo({left:b+E,behavior:z?"smooth":"auto"})}else{let b=U.top+window.scrollY;window.scrollTo({top:b+E,behavior:z?"smooth":"auto"})}}else if(V){if(E===C)return;let U=C,b=M?E>=U?"right":"left":E>=U?"down":"up";if(_=p2(_,E),C=E,!X)X=!0;if(B)B({scrollTop:C,direction:b,velocity:_.velocity});i()}else if(M)J.scrollTo({left:E,behavior:z?"smooth":"auto"});else J.scrollTo({top:E,behavior:z?"smooth":"auto"})},d=(A)=>{r(j2()+A)},J2=()=>{return j2()<=0},L=(A=0)=>{let z=j2(),E=y||V?O:M?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;return z>=E-A},N=()=>{let A=j2(),z=y||V?O:M?J.scrollWidth-J.clientWidth:J.scrollHeight-J.clientHeight;if(z<=0)return 0;return Math.min(1,Math.max(0,A/z))},K=(A)=>{if(A.compression)W=A.compression,O=W.virtualSize-F},D=()=>V,f=()=>Math.abs(_.velocity),c=()=>tJ(_),l=()=>X,S=()=>y,Z=(A)=>{if(F=A,W)O=W.virtualSize-F},H=()=>{if(T)clearTimeout(T);if(y)g.cancel(),window.removeEventListener("scroll",g);else w.cancel(),J.removeEventListener("scroll",w),J.removeEventListener("wheel",o),J.removeEventListener("wheel",u),J.removeEventListener("wheel",Y2)};if(y){if(V&&W)O=W.virtualSize-F;window.addEventListener("scroll",g,{passive:!0})}else if(V&&W){if(O=W.virtualSize-F,M)J.style.overflowX="hidden";else J.style.overflow="hidden";if(q)J.addEventListener("wheel",o,{passive:!1})}else{if(M)J.style.overflowX="auto",J.style.overflowY="hidden";else J.style.overflow="auto";if(J.addEventListener("scroll",w,{passive:!0}),!q)J.addEventListener("wheel",u,{passive:!1});else if(M)J.addEventListener("wheel",Y2,{passive:!1})}return{getScrollTop:j2,scrollTo:r,scrollBy:d,isAtTop:J2,isAtBottom:L,getScrollPercentage:N,getVelocity:f,isTracking:c,isScrolling:l,updateConfig:K,enableCompression:$2,disableCompression:N2,isCompressed:D,isWindowMode:S,updateContainerHeight:Z,destroy:H}},h2=(J)=>{let Q=null,q=null,$=(...j)=>{if(q=j,Q===null)Q=requestAnimationFrame(()=>{if(Q=null,q)J(...q)})};return $.cancel=()=>{if(Q!==null)cancelAnimationFrame(Q),Q=null},$};var eJ=50,JQ=0.1;function QQ(J){let Q=0,q=0,$=0;function j(){return $>0?q/$:0}function Y(P){if(Q=P,P>JQ&&P<eJ)q+=P,$++}function B(){let P=J.getTotal();if(P===0)return 0;let M=J.getItemSize();if(M<=0)return 0;let y=J.getContainerSize();if(y<=0)return 0;let C=J.getScrollPosition(),O=typeof J.getColumns==="function"?J.getColumns():1,V=Math.ceil(P/O)*M,_=Math.min(V,H2)-y,X=V-y,T=_>0?X/_:1,k=C*T,w=Math.ceil((k+y)/M);return Math.min(w*O,P)}function G(){let P=J.getTotal(),M=B();return{progress:P>0?Math.min(100,Math.max(0,M/P*100)):0,velocity:Q,velocityAvg:j(),itemCount:M,total:P}}return{getState:G,onVelocity:Y}}export{qJ as toggleSelection,LJ as simpleVisibleRange,u2 as selectItems,YJ as selectAll,kJ as rangesEqual,h2 as rafThrottle,VJ as needsScaling,S2 as mergeRanges,BJ as isSelected,T2 as isPlaceholderItem,wJ as isInRange,v2 as isGroupHeader,NJ as getSelectedItems,UJ as getSelectedIds,w2 as getScaleState,DJ as getScaleInfo,w2 as getScale,vJ as getRangeCount,MJ as getMaxItemsWithoutScaling,l2 as filterPlaceholders,CJ as diffRanges,m2 as deselectItems,XJ as createTableRenderer,GJ as createTableLayout,OJ as createTableHeader,t2 as createStickyHeader,QQ as createStats,f2 as createSparseStorage,k2 as createSizeCache,$J as createSelectionState,IJ as createScrollbar,hJ as createScrollController,I2 as createPlaceholderManager,FJ as createMeasuredSizeCache,AJ as createMasonryRenderer,EJ as createMasonryLayout,o2 as createGroupedSizeFn,i2 as createGroupLayout,cJ as createGridRenderer,e2 as createGridLayout,fJ as createEmitter,SJ as createAsyncManager,jJ as clearSelection,PJ as clampScrollPosition,RJ as calculateTotalSize,zJ as calculateScrollToIndex,KJ as calculateScaledVisibleRange,_J as calculateScaledScrollToIndex,ZJ as calculateScaledRenderRange,P2 as calculateScaledItemPosition,HJ as calculateRenderRange,r2 as calculateMissingRanges,yJ as calculateItemOffset,WJ as calculateIndexFromScrollPosition,TJ as calculateActualSize,s2 as buildLayoutItems,H2 as MAX_VIRTUAL_SIZE};
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* - Template re-evaluation skipped when item id + selection/focus state unchanged
|
|
22
22
|
* - Position update skipped when coordinates unchanged (position tracking)
|
|
23
23
|
* - Cell widths are only updated when column layout changes (not every scroll frame)
|
|
24
|
-
* -
|
|
24
|
+
* - Stale elements released after new ones are in the DOM (no single-frame gaps)
|
|
25
25
|
*
|
|
26
26
|
* DOM structure per row:
|
|
27
27
|
* .vlist-item.vlist-table-row (position: absolute, translateY)
|
package/dist/size.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"base":{"minified":"21.
|
|
1
|
+
{"base":{"minified":"21.8","gzipped":"8.0","minBytes":22333,"gzBytes":8167},"a11y":{"minified":"24.8","gzipped":"9.1","minBytes":25434,"gzBytes":9287},"selection":{"minified":"30.1","gzipped":"10.4","minBytes":30833,"gzBytes":10643},"data":{"minified":"34.6","gzipped":"12.6","minBytes":35480,"gzBytes":12928},"scrollbar":{"minified":"28.9","gzipped":"10.0","minBytes":29632,"gzBytes":10238},"sortable":{"minified":"31.2","gzipped":"10.9","minBytes":31944,"gzBytes":11132},"groups":{"minified":"33.1","gzipped":"11.7","minBytes":33901,"gzBytes":11974},"scale":{"minified":"35.1","gzipped":"11.9","minBytes":35949,"gzBytes":12192},"page":{"minified":"24.2","gzipped":"8.7","minBytes":24819,"gzBytes":8955},"snapshots":{"minified":"25.5","gzipped":"9.3","minBytes":26137,"gzBytes":9496},"transition":{"minified":"28.6","gzipped":"9.8","minBytes":29263,"gzBytes":10044},"autosize":{"minified":"24.2","gzipped":"8.8","minBytes":24816,"gzBytes":9046},"grid":{"minified":"29.6","gzipped":"10.7","minBytes":30334,"gzBytes":10926},"table":{"minified":"40.8","gzipped":"14.0","minBytes":41819,"gzBytes":14385},"masonry":{"minified":"31.5","gzipped":"11.5","minBytes":32278,"gzBytes":11778}}
|