vlist 2.8.0 → 2.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.github.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  The virtual list library for every framework. Ultra efficient, batteries-included, and accessible with composable plugins — in 9.9 KB.
4
4
 
5
- **v2.8.0** — [Changelog](./CHANGELOG.md) · autosize `remeasure(index?)`; framework adapters can select the `vlist/synthetic` entry via `VListConfig.factory`; `vlist/config` no longer warns about the scale stub; deprecation notices for 3.0 (`scroll.mode`, `scroll.runway`, native scrollbar values, old plugin hooks).
5
+ **v2.8.1** — [Changelog](./CHANGELOG.md) · deprecation notices corrected for the revised 3.0 shape (native stays the default, synthetic input stays opt-in, the scrollbar strings are not deprecated); carousel slots follow container resizes; prerelease-aware publish workflow.
6
6
 
7
7
  [![npm version](https://img.shields.io/npm/v/vlist.svg)](https://www.npmjs.com/package/vlist)
8
8
  [![bundle size](https://img.shields.io/bundlephobia/minzip/vlist)](https://bundlephobia.com/package/vlist)
@@ -139,18 +139,16 @@ Measurement corrections from autosize preserve ongoing motion. Synthetic input a
139
139
 
140
140
  ## Deprecated in 2.8, removed in 3.0
141
141
 
142
- These notices prepare the 3.0 migration; 2.x behavior and defaults stay unchanged. `vlist/native` and `setScrollSource` are 3.0 replacements, not 2.8 APIs. Bounded mode remains supported in 2.x, including carousel and sortable; it emits no deprecation warning.
142
+ These notices prepare the 3.0 migration; 2.x behavior and defaults stay unchanged. Native scrolling stays the default in 3.0, and synthetic input stays the opt-in `vlist/synthetic` entry. Bounded mode remains supported in 2.x, including carousel and sortable; it emits no deprecation warning.
143
143
 
144
- | Option or API | Replacement | Since |
144
+ | Option or API | In 3.0 | Since |
145
145
  |---|---|---|
146
- | `scroll.mode` | In 3.0, synthetic input in core; import `vlist/native` for native scrolling. Bounded is removed. | 2.8 |
147
- | `scroll.runway` | Remove it when moving to 3.0 synthetic core. | 2.8 |
148
- | `scroll.scrollbar: "native"` | In 3.0 use `vlist/native` for a browser scrollbar, or `scrollbar()` in synthetic core. | 2.8 |
149
- | `scroll.scrollbar: "none"` | In 3.0 synthetic core has no native main-axis scrollbar to hide; native hiding belongs to `vlist/native`. | 2.8 |
150
- | `PluginContext.setScrollFns`, `disableDefaultScroll` | Use `setScrollSource` when upgrading to 3.0. | 2.8 |
151
- | `scale()` | Use `scroll: { mode: "synthetic" }` from `vlist/synthetic`; bounded remains available in 2.x. | 2.4; guidance updated in 2.8 |
146
+ | `scroll.mode` | Removed. `vlist` is native by default; for lists beyond the browser's element size limit, import `createVList` from `vlist/synthetic` instead of using bounded mode. | 2.8 |
147
+ | `scroll.runway` | Removed with bounded mode. | 2.8 |
148
+ | `PluginContext.setScrollFns`, `disableDefaultScroll` | Removed; use `setScrollSource`. | 2.8 |
149
+ | `scale()` | Removed; use `vlist/synthetic` for huge lists. | 2.4 |
152
150
 
153
- Only explicit `scale()` calls warn, once per process. The `vlist/config` compatibility stub is silent in 2.x and will no longer be installed in 3.0. Its scrollbar omission/options convenience remains supported and maps to `scrollbar()`; only the two string values above are deprecated. See the [RFC-014 migration contract](https://vlist.io/docs/rfcs/RFC-014-Scroll-Input-Model).
151
+ `scroll.scrollbar: "native"` and `"none"` are not deprecated: they stay available on the native default in 3.0. Only explicit `scale()` calls warn, once per process, and 3.0's `vlist/config` no longer installs the scale compatibility stub. Release 2.8.0 described native scrolling and the scrollbar strings as moving to a `vlist/native` entry in 3.0; that plan was revised. See the [v2 to v3 migration guide](https://vlist.io/docs/migration-v3).
154
152
 
155
153
  ## Plugins
156
154
 
@@ -166,12 +164,12 @@ Only explicit `scale()` calls warn, once per process. The `vlist/config` compati
166
164
  | `scrollbar()` | +2.0 KB | Custom scrollbar UI |
167
165
  | `grid()` | +2.5 KB | 2D grid layout |
168
166
  | `masonry()` | +4.1 KB | Pinterest-style masonry with lane-aware keyboard nav |
169
- | `carousel()` | +3.5 KB | Paged horizontal carousel with snap and keyboard nav |
167
+ | `carousel()` | +3.6 KB | Paged horizontal carousel with snap and keyboard nav |
170
168
  | `table()` | +5.8 KB | Data table with columns, resize, sort |
171
169
  | `tree()` | +5.0 KB | Collapsible tree with async loading and indent guides |
172
170
  | `page()` | +0.8 KB | Window-level scrolling |
173
171
  | `sortable()` | +3.0 KB | Drag-and-drop reordering with auto-scroll |
174
- | `snapshots()` | +1.1 KB | Scroll position save/restore |
172
+ | `snapshots()` | +1.2 KB | Scroll position save/restore |
175
173
  | `transition()` | +2.0 KB | FLIP-based enter/exit animations for insert & remove |
176
174
 
177
175
  ## Examples
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  The virtual list library for every framework. Ultra efficient, batteries-included, and accessible with composable plugins — in 9.9 KB.
4
4
 
5
- **v2.8.0** — [Changelog](https://github.com/floor/vlist/blob/main/CHANGELOG.md) · autosize `remeasure(index?)`; framework adapters can select the `vlist/synthetic` entry via `VListConfig.factory`; `vlist/config` no longer warns about the scale stub; deprecation notices for 3.0 (`scroll.mode`, `scroll.runway`, native scrollbar values, old plugin hooks).
5
+ **v2.8.1** — [Changelog](https://github.com/floor/vlist/blob/main/CHANGELOG.md) · deprecation notices corrected for the revised 3.0 shape (native stays the default, synthetic input stays opt-in, the scrollbar strings are not deprecated); carousel slots follow container resizes; prerelease-aware publish workflow.
6
6
 
7
7
  [![npm version](https://img.shields.io/npm/v/vlist.svg)](https://www.npmjs.com/package/vlist)
8
8
  [![bundle size](https://img.shields.io/bundlephobia/minzip/vlist)](https://bundlephobia.com/package/vlist)
@@ -85,18 +85,16 @@ Measurement corrections from autosize preserve ongoing motion. Synthetic input a
85
85
 
86
86
  ## Deprecated in 2.8, removed in 3.0
87
87
 
88
- These notices prepare the 3.0 migration; 2.x behavior and defaults stay unchanged. `vlist/native` and `setScrollSource` are 3.0 replacements, not 2.8 APIs. Bounded mode remains supported in 2.x, including carousel and sortable; it emits no deprecation warning.
88
+ These notices prepare the 3.0 migration; 2.x behavior and defaults stay unchanged. Native scrolling stays the default in 3.0, and synthetic input stays the opt-in `vlist/synthetic` entry. Bounded mode remains supported in 2.x, including carousel and sortable; it emits no deprecation warning.
89
89
 
90
- | Option or API | Replacement | Since |
90
+ | Option or API | In 3.0 | Since |
91
91
  |---|---|---|
92
- | `scroll.mode` | In 3.0, synthetic input in core; import `vlist/native` for native scrolling. Bounded is removed. | 2.8 |
93
- | `scroll.runway` | Remove it when moving to 3.0 synthetic core. | 2.8 |
94
- | `scroll.scrollbar: "native"` | In 3.0 use `vlist/native` for a browser scrollbar, or `scrollbar()` in synthetic core. | 2.8 |
95
- | `scroll.scrollbar: "none"` | In 3.0 synthetic core has no native main-axis scrollbar to hide; native hiding belongs to `vlist/native`. | 2.8 |
96
- | `PluginContext.setScrollFns`, `disableDefaultScroll` | Use `setScrollSource` when upgrading to 3.0. | 2.8 |
97
- | `scale()` | Use `scroll: { mode: "synthetic" }` from `vlist/synthetic`; bounded remains available in 2.x. | 2.4; guidance updated in 2.8 |
92
+ | `scroll.mode` | Removed. `vlist` is native by default; for lists beyond the browser's element size limit, import `createVList` from `vlist/synthetic` instead of using bounded mode. | 2.8 |
93
+ | `scroll.runway` | Removed with bounded mode. | 2.8 |
94
+ | `PluginContext.setScrollFns`, `disableDefaultScroll` | Removed; use `setScrollSource`. | 2.8 |
95
+ | `scale()` | Removed; use `vlist/synthetic` for huge lists. | 2.4 |
98
96
 
99
- Only explicit `scale()` calls warn, once per process. The `vlist/config` compatibility stub is silent in 2.x and will no longer be installed in 3.0. Its scrollbar omission/options convenience remains supported and maps to `scrollbar()`; only the two string values above are deprecated. See the [RFC-014 migration contract](https://vlist.io/docs/rfcs/RFC-014-Scroll-Input-Model).
97
+ `scroll.scrollbar: "native"` and `"none"` are not deprecated: they stay available on the native default in 3.0. Only explicit `scale()` calls warn, once per process, and 3.0's `vlist/config` no longer installs the scale compatibility stub. Release 2.8.0 described native scrolling and the scrollbar strings as moving to a `vlist/native` entry in 3.0; that plan was revised. See the [v2 to v3 migration guide](https://vlist.io/docs/migration-v3).
100
98
 
101
99
  ## Plugins
102
100
 
@@ -112,12 +110,12 @@ Only explicit `scale()` calls warn, once per process. The `vlist/config` compati
112
110
  | `scrollbar()` | +2.0 KB | Custom scrollbar UI |
113
111
  | `grid()` | +2.5 KB | 2D grid layout |
114
112
  | `masonry()` | +4.1 KB | Pinterest-style masonry with lane-aware keyboard nav |
115
- | `carousel()` | +3.5 KB | Paged horizontal carousel with snap and keyboard nav |
113
+ | `carousel()` | +3.6 KB | Paged horizontal carousel with snap and keyboard nav |
116
114
  | `table()` | +5.8 KB | Data table with columns, resize, sort |
117
115
  | `tree()` | +5.0 KB | Collapsible tree with async loading and indent guides |
118
116
  | `page()` | +0.8 KB | Window-level scrolling |
119
117
  | `sortable()` | +3.0 KB | Drag-and-drop reordering with auto-scroll |
120
- | `snapshots()` | +1.1 KB | Scroll position save/restore |
118
+ | `snapshots()` | +1.2 KB | Scroll position save/restore |
121
119
  | `transition()` | +2.0 KB | FLIP-based enter/exit animations for insert & remove |
122
120
 
123
121
  ## Framework Adapters
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- var lt=3,nn="vlist";var at=50;var on=50,rn=2,sn=15,ln=6,xt=2000,an=30000,Qe=16000000,Ke=150,et=1,dt=(t)=>t<0.5?2*t*t:1-(-2*t+2)**2/2,dn=300,un=2,cn=1.5,mn=0.25,fn=0.75;var gn="x",pn=20,Lt="_isPlaceholder",$e="__placeholder_";var ut={top:0,right:0,bottom:0,left:0},bn=(t)=>{if(t==null)return ut;if(typeof t==="number")return t===0?ut:{top:t,right:t,bottom:t,left:t};if(t.length===2){let[s,l]=t;return s===0&&l===0?ut:{top:s,right:l,bottom:s,left:l}}let[e,o,n,r]=t;return e===0&&o===0&&n===0&&r===0?ut:{top:e,right:o,bottom:n,left:r}},hn=(t,e)=>e?t.left+t.right:t.top+t.bottom,vn=(t,e)=>e?t.top+t.bottom:t.left+t.right;function yn(t){let e={visibleIndices:new Int32Array(t),visibleOffsets:new Float64Array(t),visibleSizes:new Float64Array(t),visibleCount:0,startIndex:0,totalSize:0,capacity:t,scrollPosition:0,prevScrollPosition:0,scrollDirection:0,baseOffset:0,prevBaseOffset:0,containerSize:0,crossSize:0,totalItems:0,prevRangeStart:0,prevRangeEnd:-1,renderPending:!1,initialized:!1,destroyed:!1,prevAriaTotal:-1,resizeCapacity(o,n,r=lt){if(n<=0||o<=0)return;let s=Math.ceil(o/n)+r*2;if(s<=e.capacity)return;let l=s+8,i=new Int32Array(l),v=new Float64Array(l),u=new Float64Array(l);i.set(e.visibleIndices),v.set(e.visibleOffsets),u.set(e.visibleSizes),e.visibleIndices=i,e.visibleOffsets=v,e.visibleSizes=u,e.capacity=l},clear(){e.visibleCount=0,e.startIndex=0}};return e}var uo=(t,e)=>{let o=e;return{getOffset:(n)=>n*t,getSize:(n)=>t,indexAtOffset:(n)=>{if(o===0||t===0)return 0;return Math.max(0,Math.min(Math.floor(n/t),o-1))},getTotalSize:()=>o*t,getTotal:()=>o,rebuild:(n)=>{o=n},isVariable:()=>!1}},co=(t,e)=>{let o=e,n=new Float64Array(0),r=(l)=>{o=l,n=new Float64Array(l+1),n[0]=0;for(let i=0;i<l;i++)n[i+1]=n[i]+t(i)};r(e);let s=(l)=>{if(o===0)return 0;if(l<=0)return 0;if(l>=n[o])return o-1;let i=0,v=o-1;while(i<v){let u=i+v+1>>>1;if(n[u]<=l)i=u;else v=u-1}return i};return{getOffset:(l)=>{if(l<=0)return 0;if(l>=o)return n[o];return n[l]},getSize:(l)=>t(l),indexAtOffset:(l)=>s(l),getTotalSize:()=>n[o]??0,getTotal:()=>o,rebuild:(l)=>r(l),isVariable:()=>!0}},ct=(t,e)=>{if(typeof t==="number")return uo(t,e);return co(t,e)};function Sn(t){let e=[],o=`${t}-item`,n=document.createElement("div");return n.className=o,{acquire(){if(e.length>0)return e.pop();return n.cloneNode(!1)},release(r){if(r.className=o,r.removeAttribute("style"),r.removeAttribute("id"),r.removeAttribute("role"),r.removeAttribute("aria-selected"),r.removeAttribute("aria-posinset"),r.removeAttribute("aria-setsize"),r.removeAttribute("data-index"),r.removeAttribute("data-id"),r.textContent="",e.length<100)e.push(r)},get size(){return e.length},clear(){e.length=0}}}function Be(t){let e=t.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let o=0;o<e.length;o++)e[o].setAttribute("tabindex","-1")}function Tn(t){if(typeof t==="string"){let e=document.querySelector(t);if(!e)throw Error(`[vlist] Container not found: ${t}`);return e}return t}function In(t,e,o,n){let r=o?`${e} ${e}--horizontal`:e,s=o?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",l=o?"position:relative;height:100%;overflow-anchor:none":"position:relative;width:100%;overflow-anchor:none",i=' role="list"';if(n)i+=` aria-label="${n.replace(/"/g,"&quot;")}"`;if(o)i+=' aria-orientation="horizontal"';t.insertAdjacentHTML("beforeend",`<div class="${r}"><div class="${e}-viewport" style="${s}" tabindex="-1"><div class="${e}-content" style="${l}"${i}></div></div></div>`);let v=t.lastElementChild,u=v.firstElementChild,c=u.firstElementChild,E=document.createElement("div");return E.className=`${e}-live`,E.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",E.setAttribute("aria-live","polite"),E.setAttribute("aria-atomic","true"),E.setAttribute("role","status"),v.appendChild(E),{root:v,viewport:u,content:c,liveRegion:E}}function xn(t){let{state:e,viewport:o,isX:n,wheelEnabled:r,onFrame:s,onIdle:l}=t,i=t.idleTimeout||Ke,v=t.scrollTarget??o,u=null,c=null;function E(){let T=n?o.scrollLeft:o.scrollTop;if(Math.abs(T-e.scrollPosition)<0.5)return;e.prevScrollPosition=e.scrollPosition,e.scrollPosition=T,e.scrollDirection=T>e.prevScrollPosition?1:T<e.prevScrollPosition?-1:0,s(),g()}function I(T){let C;if(n){if(Math.abs(T.deltaX)>Math.abs(T.deltaY))return;let m=o.scrollLeft,b=o.scrollWidth-o.clientWidth;if(C=Math.max(0,Math.min(m+T.deltaY*et,b)),Math.abs(C-m)<1)return;T.preventDefault(),o.scrollLeft=C}else{let m=o.scrollWidth>o.clientWidth;if(m&&Math.abs(T.deltaX)>Math.abs(T.deltaY))return;if(m&&T.deltaX!==0)T.preventDefault(),o.scrollLeft+=T.deltaX;let b=o.scrollTop,R=o.scrollHeight-o.clientHeight;if(C=Math.max(0,Math.min(b+T.deltaY*et,R)),Math.abs(C-b)<1)return;T.preventDefault(),o.scrollTop=C}e.prevScrollPosition=e.scrollPosition,e.scrollPosition=C,e.scrollDirection=C>e.prevScrollPosition?1:-1,s(),g()}function g(){if(u!==null)clearTimeout(u);u=setTimeout(()=>{u=null,e.scrollDirection=0,l()},i)}function _(){if(c!==null)cancelAnimationFrame(c),c=null}function h(T,C,m,b=dt,R){_();let M=e.scrollPosition,f=typeof T==="function"?T:()=>T,a=f();if(Math.abs(a-M)<1){if(m)m(a);else if(n)o.scrollLeft=a;else o.scrollTop=a;R?.();return}let D=performance.now();function V(x){a=f();let K=x-D,j=Math.min(K/C,1),k=M+(a-M)*b(j);if(m)m(k);else if(n)o.scrollLeft=k;else o.scrollTop=k;if(!m)e.scrollPosition=k;if(s(),j<1)c=requestAnimationFrame(V);else c=null,g(),R?.()}c=requestAnimationFrame(V)}return{attach(){if(v.addEventListener("scroll",E,{passive:!0}),r)v.addEventListener("wheel",I,{passive:!1})},detach(){if(v.removeEventListener("scroll",E),r)v.removeEventListener("wheel",I);if(_(),u!==null)clearTimeout(u),u=null},cancelScroll:_,smoothScrollTo:h}}function Ze(t,e,o){if(t<e)return e;if(t>o)return o;return t}function Ln(t){let{state:e,viewport:o,content:n,isX:r,wheelEnabled:s,onFrame:l,onIdle:i,mainAxisPadding:v}=t,u=t.idleTimeout||Ke,c=t.runwayFactor??un,E=t.wrap??null,I=E!==null,g=t.scrollTarget??o,_=0,h=0,T=0,C=null,m=null;function b(){return r?o.scrollLeft:o.scrollTop}function R(O){if(r)o.scrollLeft=O;else o.scrollTop=O}function M(O){let X=I?O:Ze(O,0,h);e.prevScrollPosition=e.scrollPosition,e.scrollPosition=X,e.scrollDirection=X>e.prevScrollPosition?1:X<e.prevScrollPosition?-1:0;let B=_/2;if(I){e.baseOffset=X-B,R(B);return}let w=Ze(X-B,0,T);e.baseOffset=w,R(Ze(X-w,0,_))}function f(O){M(O),l(),K()}function a(){let O=b(),X=e.baseOffset+O;if(Math.abs(X-e.scrollPosition)<0.5)return;if(e.prevScrollPosition=e.scrollPosition,e.scrollPosition=X,e.scrollDirection=X>e.prevScrollPosition?1:X<e.prevScrollPosition?-1:0,D(O),I)V();l(),K()}function D(O){let X=_*mn,B=_*fn,w=_/2;if(I){if(O>=X&&O<=B)return;e.baseOffset=e.scrollPosition-w,R(w);return}if(T<=0)return;let N=e.baseOffset,y=O<X&&N>0,p=O>B&&N<T;if(!y&&!p)return;let Z=e.scrollPosition,q=Ze(Z-w,0,T);if(q===N)return;e.baseOffset=q,R(Ze(Z-q,0,_))}function V(){let O=E.lapSize();if(O<=0)return;let X=e.scrollPosition-E.home(),B=Math.trunc(X/O);if(Math.abs(B)<E.thresholdLaps)return;let w=B*O;e.scrollPosition-=w,e.prevScrollPosition-=w,e.baseOffset-=w}function x(O){let X;if(r)if(Math.abs(O.deltaX)>Math.abs(O.deltaY)){if(!I)return;X=O.deltaX}else X=O.deltaY;else{let y=o.scrollWidth>o.clientWidth;if(y&&Math.abs(O.deltaX)>Math.abs(O.deltaY))return;if(y&&O.deltaX!==0)O.preventDefault(),o.scrollLeft+=O.deltaX;X=O.deltaY}let B=e.scrollPosition,w=B+X*et,N=I?w:Ze(w,0,h);if(Math.abs(N-B)<1)return;if(O.preventDefault(),f(N),I)V()}function K(){if(C!==null)clearTimeout(C);C=setTimeout(()=>{C=null,e.scrollDirection=0,i()},u)}function j(){if(m!==null)cancelAnimationFrame(m),m=null}function k(O,X,B,w=dt,N){j();let y=e.scrollPosition,p=typeof O==="function"?O:()=>O,Z=p();if(Math.abs(Z-y)<1){f(Z),N?.();return}let q=performance.now();function G(P){Z=p();let J=Math.min((P-q)/X,1);if(M(y+(Z-y)*w(J)),l(),J<1)m=requestAnimationFrame(G);else m=null,K(),N?.()}m=requestAnimationFrame(G)}function se(O){let X=e.containerSize,B=O+v,w=X*c,N=I?w:Math.min(B,w);_=Math.max(0,N-X),h=Math.max(0,B-X),T=Math.max(0,B-N),e.totalSize=O,n.style[r?"width":"height"]=N+"px",M(e.scrollPosition)}return{attach(){if(g.addEventListener("scroll",a,{passive:!0}),s)g.addEventListener("wheel",x,{passive:!1})},detach(){if(g.removeEventListener("scroll",a),s)g.removeEventListener("wheel",x);if(j(),C!==null)clearTimeout(C),C=null},cancelScroll:j,smoothScrollTo:k,setLogical:f,getLogical(){return e.scrollPosition},getMaxLogical(){return h},refresh:se}}function mo(t,e){if(t.getTotal()<=0)return{index:0,offsetPx:0};let n=e<=0?0:e,r=t.indexAtOffset(n),s=n-t.getOffset(r);return{index:r,offsetPx:s>0?s:0}}function fo(t,e){let o=go(t,e);return t.getOffset(o.index)+o.offsetPx}function go(t,e){let o=t.getTotal();if(o<=0)return{index:0,offsetPx:0};let{index:n,offsetPx:r}=e;if(n<0)return{index:0,offsetPx:0};if(n>o-1)n=o-1;while(r>0&&n<o-1){let s=t.getSize(n);if(r<s)break;r-=s,n++}while(r<0&&n>0)n--,r+=t.getSize(n);if(r<0)r=0;return{index:n,offsetPx:r}}function Cn(t){let{sizeCache:e,getPixel:o,setPixel:n,getContainerSize:r}=t;function s(){let i=e.getTotalSize()-r();return i>0?i:0}function l(i){if(i<=0)return 0;let v=s();return i>v?v:i}return{getLogical(){return mo(e,o())},setLogical(i){n(l(fo(e,i)))},getPixelEquivalent(){return o()},setPixelEquivalent(i){n(l(i))},getMaxPixelEquivalent:s,scrollByPx(i){n(l(o()+i))}}}var tt=[],po={calculate:tt,commit:tt,afterScroll:tt,idle:tt,resize:tt};function En(t){if(t.length===0)return po;let e=[],o=[],n=[],r=[],s=[];for(let l=0;l<t.length;l++){let i=t[l].hooks;if(i===void 0)continue;if(i.onCalculate!==void 0)e.push(i.onCalculate);if(i.onCommit!==void 0)o.push(i.onCommit);if(i.onAfterScroll!==void 0)n.push(i.onAfterScroll);if(i.onIdle!==void 0)r.push(i.onIdle);if(i.onResize!==void 0)s.push(i.onResize)}return{calculate:e,commit:o,afterScroll:n,idle:r,resize:s}}function Mn(t,e){for(let o=0;o<t.length;o++)t[o](e)}function Pn(t,e){for(let o=0;o<t.length;o++)t[o](e)}function Ct(t,e,o){for(let n=0;n<t.length;n++)t[n](e,o)}function wn(t){for(let e=0;e<t.length;e++)t[e]()}function zn(t,e,o){for(let n=0;n<t.length;n++)t[n](e,o)}function An(t,e,o,n,r,s,l,i){let v=n!==0||r!==0;return{prefix:t,selectedClass:`${t}-item--selected`,focusedClass:`${t}-item--focused`,placeholderClass:`${t}-item--placeholder`,replacedClass:`${t}-item--replaced`,translateProp:e?"translateX(":"translateY(",sizeProp:e?"width":"height",itemRole:"listitem",interactive:!1,startPadding:o,gap:l,hasCrossPad:v,crossStartProp:v?e?"top":"left":"",crossEndProp:v?e?"bottom":"right":"",crossStartVal:v?n+"px":"",crossEndVal:v?r+"px":"",oddClass:s,emitter:i??null,indexMap:null,ariaTotalFn:null}}function bo(t,e,o,n,r){if(t.containerSize<=0||t.totalItems===0)return t.clear(),!0;let{scrollPosition:s,containerSize:l,totalItems:i}=t,v=r??0;t.totalSize=e.getTotalSize();let u=e.indexAtOffset(v>0?Math.max(0,s-v):s),c=e.indexAtOffset(s+l);if(c<i-1)c++;u=Math.max(0,u),c=Math.min(i-1,Math.max(0,c));let E=Math.max(0,u-o),I=Math.min(i-1,c+o),g=Math.ceil(l/1)+o*2+10,_=I-E+1,h=Math.min(_,t.capacity,g);if(E===t.prevRangeStart&&I===t.prevRangeEnd&&!t.renderPending&&t.baseOffset===t.prevBaseOffset)return!1;t.visibleCount=h,t.startIndex=E;for(let T=0;T<h;T++){let C=E+T;t.visibleIndices[T]=C,t.visibleOffsets[T]=e.getOffset(C),t.visibleSizes[T]=e.getSize(C)}return Mn(n.calculate,t),t.prevRangeStart=E,t.prevRangeEnd=I,t.prevBaseOffset=t.baseOffset,t.renderPending=!1,!0}var Ve={selected:!1,focused:!1};function ho(t,e,o){for(let n=0;n<e;n++)if(t[n]===o)return!0;return!1}function vo(t,e){if(e<=1)return!0;let o=t[0];for(let n=1;n<e;n++){let r=t[n];if(r!==o+1)return!1;o=r}return!0}function yo(t,e,o,n,r,s,l,i,v,u){let c=v?null:r(),{visibleCount:E,visibleIndices:I}=t,g=l.ariaTotalFn?l.ariaTotalFn():t.totalItems,_=l.interactive?String(g):"",h=l.interactive&&g!==t.prevAriaTotal,T=null,C=l.indexMap;for(let m=0;m<E;m++){let b=I[m],R=C?C(b):b,M=t.visibleOffsets[m],f=t.visibleSizes[m],a=v?v(b):c[b];if(u)u(R,Ve);else Ve.selected=!1,Ve.focused=!1;let D=s.get(b),V=D;if(D===void 0){let x=e.acquire();if(a!==void 0){let k;try{k=n(a,R,Ve)}catch(se){if(l.emitter)l.emitter.emit("error",{error:se instanceof Error?se:Error(String(se)),context:`template:render:${R}`});e.release(x);continue}if(typeof k==="string")x.innerHTML=k;else x.textContent="",x.appendChild(k);Be(x)}if(x.setAttribute("role",l.itemRole),x.setAttribute("data-index",String(R)),l.interactive)x.id=l.prefix+"-item-"+b,x.setAttribute("aria-posinset",String(R+1)),x.setAttribute("aria-setsize",_);if(a!==void 0){let k=String(a.id);if(x.setAttribute("data-id",k),k.startsWith($e))x.classList.add(l.placeholderClass)}if(l.hasCrossPad)x.style.setProperty(l.crossStartProp,l.crossStartVal),x.style.setProperty(l.crossEndProp,l.crossEndVal);if(u){if(x.classList.toggle(l.selectedClass,Ve.selected),x.classList.toggle(l.focusedClass,Ve.focused),Ve.selected)x.setAttribute("aria-selected","true");else x.removeAttribute("aria-selected");x._lastSelected=Ve.selected,x._lastFocused=Ve.focused}if(l.oddClass)x.classList.toggle(l.oddClass,(b&1)===1);let K=M-t.baseOffset+l.startPadding;x.style.transform=l.translateProp+K+"px)",x._lastOffset=K;let j=f-l.gap;if(x.style[l.sizeProp]=j+"px",x._lastSize=j,x._lastItem=a,s.set(b,x),T===null)T=document.createDocumentFragment();T.appendChild(x)}else{if(h)D.setAttribute("aria-setsize",_);if(a!==void 0&&V._lastItem!==a){let j=D.getAttribute("data-id"),k=String(a.id),se;try{se=n(a,R,Ve)}catch(O){if(l.emitter)l.emitter.emit("error",{error:O instanceof Error?O:Error(String(O)),context:`template:render:${R}`});continue}if(typeof se==="string")D.innerHTML=se;else D.textContent="",D.appendChild(se);if(Be(D),D.setAttribute("data-id",k),V._lastItem=a,j!==k){let O=j!==null&&j.startsWith($e),X=k.startsWith($e);if(O!==X)D.classList.toggle(l.placeholderClass,X);if(O&&!X)D.classList.add(l.replacedClass),setTimeout(()=>{D.classList.remove(l.replacedClass)},300)}}if(u){if(V._lastSelected!==Ve.selected){if(D.classList.toggle(l.selectedClass,Ve.selected),Ve.selected)D.setAttribute("aria-selected","true");else D.removeAttribute("aria-selected");V._lastSelected=Ve.selected}if(V._lastFocused!==Ve.focused)D.classList.toggle(l.focusedClass,Ve.focused),V._lastFocused=Ve.focused}let x=M-t.baseOffset+l.startPadding;if(V._lastOffset!==x)D.style.transform=l.translateProp+x+"px)",V._lastOffset=x;let K=f-l.gap;if(V._lastSize!==K)D.style[l.sizeProp]=K+"px",V._lastSize=K}}if(T!==null)o.appendChild(T);if(E>0&&vo(I,E)){let m=I[0],b=I[E-1];for(let[R,M]of s)if(R<m||R>b)M.remove(),e.release(M),s.delete(R)}else for(let[m,b]of s)if(!ho(I,E,m))b.remove(),e.release(b),s.delete(m);if(l.interactive)t.prevAriaTotal=t.totalItems;Pn(i.commit,t)}function Et(t,e,o,n,r,s,l,i,v,u,c,E){if(bo(t,e,o,u,v.startPadding))yo(t,n,r,s,l,i,v,u,c,E)}var Mt=()=>{let t={},e=(s,l)=>{if(!t[s])t[s]=new Set;return t[s].add(l),()=>o(s,l)},o=(s,l)=>{t[s]?.delete(l)};return{on:e,off:o,emit:(s,l)=>{t[s]?.forEach((i)=>{try{i(l)}catch(v){console.error(`[vlist] Error in event handler for "${String(s)}":`,v)}})},clear:(s)=>{if(s)delete t[s];else for(let l in t)delete t[l]}}};var Rn=2,Hn=(t=0)=>({velocity:0,sampleCount:0}),kn=(t,e)=>{let o=performance.now(),n=t._lt??o,r=t._lp??e,s=o-n;if(t._lp=e,t._lt=o,s===0)return t.sampleCount=Math.min(t.sampleCount+1,5),t;if(s>100)return t.velocity=0,t.sampleCount=1,t;return t.velocity=Math.abs(e-r)/s,t.sampleCount=Math.min(t.sampleCount+1,5),t};function So(t){let{item:e}=t;if(e.height!==void 0&&typeof e.height==="number"){if(!Number.isFinite(e.height)||e.height<=0)throw Error(`vlist: item.height must be a positive number, got ${e.height}`)}if(e.width!==void 0&&typeof e.width==="number"){if(!Number.isFinite(e.width)||e.width<=0)throw Error(`vlist: item.width must be a positive number, got ${e.width}`)}if(e.estimatedHeight!==void 0){if(!Number.isFinite(e.estimatedHeight)||e.estimatedHeight<=0)throw Error(`vlist: item.estimatedHeight must be a positive number, got ${e.estimatedHeight}`)}if(e.estimatedWidth!==void 0){if(!Number.isFinite(e.estimatedWidth)||e.estimatedWidth<=0)throw Error(`vlist: item.estimatedWidth must be a positive number, got ${e.estimatedWidth}`)}if(e.gap!==void 0){if(typeof e.gap!=="number"||!Number.isFinite(e.gap)||e.gap<0)throw Error(`vlist: item.gap must be a non-negative number, got ${e.gap}`)}if(t.overscan!==void 0){if(typeof t.overscan!=="number"||!Number.isFinite(t.overscan)||t.overscan<0)throw Error(`vlist: overscan must be a non-negative number, got ${t.overscan}`)}if(t.scroll?.runway!==void 0){if(typeof t.scroll.runway!=="number"||!Number.isFinite(t.scroll.runway)||t.scroll.runway<=0)throw Error(`vlist: scroll.runway must be a positive number, got ${t.scroll.runway}`)}}function To(t,e){let o=t==="horizontal"?"x":"y";if(e.some((r)=>r.name==="grid"))return{primary:o,cross:o==="x"?"y":"x"};return{primary:o}}function Io(t,e){let o=To(t.orientation,e),n=o.primary==="x",r=bn(t.padding);return{axis:o,hasCrossAxis:o.cross!==void 0,overscan:t.overscan??lt,reverse:t.reverse??!1,classPrefix:t.classPrefix??nn,mainAxisPadding:hn(r,n),crossAxisPadding:vn(r,n),startPadding:n?r.left:r.top,endPadding:n?r.right:r.bottom,crossPadStart:n?r.top:r.left,crossPadEnd:n?r.bottom:r.right,striped:t.item.striped||!1,gap:t.item.gap??0}}function xo(t,e){if(e)return t.item.width??t.item.estimatedWidth??100;return t.item.height??t.item.estimatedHeight??40}function Lo(t){let e=[...t];return e.sort((o,n)=>(o.priority??50)-(n.priority??50)),e}function Co(t){let e=new Set;for(let o of t){if(e.has(o.name))throw Error(`[vlist] Duplicate plugin: ${o.name}`);e.add(o.name)}for(let o of t)if(o.conflicts){for(let n of o.conflicts)if(e.has(n))throw Error(`[vlist] Plugin "${o.name}" conflicts with "${n}"`)}}function _n(t,e=[],o){So(t);let n=Io(t,e),r=n.axis.primary==="x",s=t.scroll?.mode==="bounded"||!!o,l=xo(t,r),i=n.gap,v=i>0?typeof l==="function"?(Se)=>l(Se)+i:l+i:l,u=typeof l==="number"?l:20,c=t.items?.length??0,E=n.striped?`${n.classPrefix}-item--odd`:"",I=Mt(),g=An(n.classPrefix,r,n.startPadding,n.crossPadStart,n.crossPadEnd,E,i,I),_=e.length>0?Lo(e):e;if(e.length>0)Co(_);let h=Tn(t.container),T=In(h,n.classPrefix,r,t.ariaLabel);if(t.scroll?.scrollbar==="none")T.viewport.classList.add(`${n.classPrefix}-viewport--no-scrollbar`);if(t.scroll?.gutter==="stable")T.viewport.classList.add(`${n.classPrefix}-viewport--gutter-stable`);let m=ct(v,c);if(i>0){let Se=m.getTotalSize;m.getTotalSize=()=>{let ee=Se();return ee>0?ee-i:0}}let b=Sn(n.classPrefix),R=Math.ceil(4096/u)+n.overscan*2+8,M=yn(R);M.totalItems=c;let f=t.items??[],a=()=>f,D=new Map,V=Hn(),x={velocity:0,reliable:!1},K={range:{start:0,end:-1}},j={scrollPosition:0,direction:"down"},k={scrollPosition:0},se=-1,O=-1,X=-1,B=null,w=En(_),N=new Map,y=[],p=[],Z=[],q=null,G=null,P=null,J=null,A=null,W=null,d=null,L=null,S=null,z=null,Y=null,ne=!1,te=!1,Q=null,ae=0,oe=0,pe=null,be=null,fe=null,H=null,ie=null,re=null,ye=null,Le=null,xe=null;M.containerSize=r?T.viewport.clientWidth:T.viewport.clientHeight,M.crossSize=r?T.viewport.clientHeight:T.viewport.clientWidth;let Ce=Cn({sizeCache:m,getPixel:()=>G?G():M.scrollPosition,setPixel:(Se)=>{if(P)P(Se);else if(r)T.viewport.scrollLeft=Se;else T.viewport.scrollTop=Se},getContainerSize:()=>M.containerSize});if(e.length>0){let Se={dom:T,sizeCache:m,scroll:Ce,pool:b,config:n,emitter:I,template:t.item.template,registerMethod(ee,we){N.set(ee,we)},getMethod(ee){return N.get(ee)},registerClickHandler(ee){y.push(ee)},registerKeydownHandler(ee){p.push(ee)},registerDestroyHandler(ee){Z.push(ee)},enableListboxRole(){let ee=T.content.getAttribute("role");if(!ee||ee==="list")T.content.setAttribute("role","listbox"),T.content.setAttribute("tabindex","0");g.itemRole="option",g.interactive=!0},setSizeConfig(ee){let we=ct(ee,M.totalItems),_e=N.get("_setSizeCacheBase");if(_e){let De=m.rebuild;Object.assign(m,we),m.rebuild=De,_e(we.rebuild)}else Object.assign(m,we)},setScrollFns(ee,we){G=ee,P=we},setBoundedWrap(ee){xe=ee},cancelScroll(){Pe?.cancelScroll()},setVirtualTotalFn(ee){q=ee,g.ariaTotalFn=ee},setIndexMapFn(ee){g.indexMap=ee},getItems:a,getItem(ee){return W?W(ee):f[ee]},getState(){return M},rebuildSizeCache(){m.rebuild(M.totalItems)},updateContentSize(ee){if(Le){Le.refresh(ee);return}M.totalSize=ee,T.content.style[r?"width":"height"]=ee+n.mainAxisPadding+"px"},setRenderFn(ee,we){J=ee,A=we},renderIfNeeded(){ue()},forceRender(){ve()},setGetItemFn(ee){W=ee},setItemStateFn(ee){d=ee},getItemStateFn(){return d},get rawSizeSpec(){return l},scrollTo(ee){if(P)P(ee);else if(r)T.viewport.scrollLeft=ee;else T.viewport.scrollTop=ee},shiftScroll(ee){if(Le?.shiftBy)Le.shiftBy(ee);else Se.scrollTo(M.scrollPosition+ee)},smoothScrollTo(ee,we,_e,De){if(H)H(ee,we,P??void 0,_e,De);else Se.scrollTo(typeof ee==="function"?ee():ee)},disableDefaultScroll(){ne=!0},disableDefaultResize(){te=!0},setScrollTarget(ee){Q=ee},setScrollToPosFn(ee){ie=ee},setScrollToIndexFn(ee){re=ee},onScrollFrame:Ie,onScrollIdle:ge,removeItemById(ee){if(L)return L(ee);let we=f.findIndex((_e)=>_e.id===ee);if(we===-1)return-1;return f.splice(we,1),M.totalItems=f.length,m.rebuild(M.totalItems),le(),we},insertItemAt(ee,we){if(S){S(ee,we);return}f.splice(we,0,ee),M.totalItems=f.length,m.rebuild(M.totalItems),le()},setRemoveItemFn(ee){L=ee},setInsertItemFn(ee){S=ee},setUpdateItemFn(ee){z=ee},setGetIndexByIdFn(ee){Y=ee},getRenderedElement(ee){let we=N.get("_getRenderedElement");if(we)return we(ee);return D.get(ee)??null},setNavConfig(ee){if(ee.ud!==void 0)ae=ee.ud;if(ee.lr!==void 0)oe=ee.lr;if(ee.scrollIndex)pe=ee.scrollIndex;if(ee.navigate)be=ee.navigate;if(ee.total)fe=ee.total},getNavConfig:(()=>{let ee={ud:0,lr:0,scrollIndex:null,navigate:null,total:null};return()=>(ee.ud=ae,ee.lr=oe,ee.scrollIndex=pe,ee.navigate=be,ee.total=fe,ee)})()};for(let ee of _)if(ee.setup)try{ee.setup(Se)}catch(we){I.emit("error",{error:we instanceof Error?we:Error(String(we)),context:`plugin:setup:${ee.name}`})}}let Te=n.classPrefix+"--scrolling",Ee=!1,Re=t.scroll?.idleTimeout??Ke;function Ae(){if(j.scrollPosition=Ce.getPixelEquivalent(),r)j.direction=M.scrollDirection>0?"right":"left";else j.direction=M.scrollDirection>0?"down":"up";if(I.emit("scroll",j),kn(V,M.scrollPosition),x.velocity=V.velocity,x.reliable=V.sampleCount>=Rn,I.emit("velocity:change",x),M.startIndex!==se||M.prevRangeEnd!==O)se=M.startIndex,O=M.prevRangeEnd,K.range.start=M.startIndex,K.range.end=M.prevRangeEnd,I.emit("range:change",K)}let U=!1;function le(){if(J)return;let Se=m.getTotalSize();if(Le){Le.refresh(Se);return}if(T.content.style[r?"width":"height"]=Se+n.mainAxisPadding+"px",!U&&Se>Qe)U=!0,I.emit("error",{error:Error(`Content size (${Se}px) exceeds browser limit (${Qe}px). Enable bounded scroll (scroll: { mode: "bounded" }) for large datasets.`),context:"content:size:overflow"})}function me(){if(!ye)return;if((q?q():f.length)===0)return;let ee=ye;ye=null,ke.scrollToIndex(ee.index,ee.alignOrOptions)}function ue(){if(me(),J)J();else Et(M,m,n.overscan,b,T.content,t.item.template,a,D,g,w,W,d)}function Ie(){if(!Ee)Ee=!0,T.root.classList.add(Te);if(ue(),Ct(w.afterScroll,M.scrollPosition,M.scrollDirection),M.scrollPosition!==X)X=M.scrollPosition,Ae()}function ge(){if(Ee)Ee=!1,T.root.classList.remove(Te);M.scrollDirection=0,wn(w.idle),x.velocity=0,x.reliable=!1,I.emit("velocity:change",x),k.scrollPosition=Ce.getPixelEquivalent(),I.emit("scroll:idle",k)}function ve(){if(me(),M.renderPending=!0,A)A();else Et(M,m,n.overscan,b,T.content,t.item.template,a,D,g,w,W,d);if(Ct(w.afterScroll,M.scrollPosition,M.scrollDirection),M.scrollPosition!==X){if(X=M.scrollPosition,Ae(),B!==null)clearTimeout(B);B=setTimeout(ge,Re)}}let He=ne?!1:t.scroll?.wheel!==!1,Pe;if(ne&&(s||xe))throw Error(`vlist: page() is not compatible with ${xe?"the carousel plugin":'scroll: { mode: "bounded" }'} — bounded page-mode scrolling is not implemented yet.`);if(s||xe)Le=(o??Ln)({state:M,sizeCache:m,viewport:T.viewport,content:T.content,isX:r,wheelEnabled:He,idleTimeout:t.scroll?.idleTimeout??Ke,...Q?{scrollTarget:Q}:{},mainAxisPadding:n.mainAxisPadding,...t.scroll?.runway!==void 0?{runwayFactor:Math.max(cn,t.scroll.runway)}:{},...xe?{wrap:xe}:{},onFrame:Ie,onIdle:ge}),Pe=Le,G=()=>M.scrollPosition,P=(Se)=>Le.setLogical(Se);else Pe=xn({state:M,viewport:T.viewport,isX:r,wheelEnabled:He,idleTimeout:t.scroll?.idleTimeout??Ke,...Q?{scrollTarget:Q}:{},onFrame:Ie,onIdle:ge});H=Pe.smoothScrollTo;function F(Se){let we=Se.target.closest("[data-index]");if(!we)return null;let _e=parseInt(we.getAttribute("data-index"),10);if(Number.isNaN(_e))return null;let De=N.get("_layoutToDataIndex"),Oe;if(De){let Ne=De(_e);if(Ne<0)return null;let Je=N.get("_getItem");Oe=Je?Je(Ne):W?W(Ne):f[Ne]}else Oe=W?W(_e):f[_e];if(Oe===void 0)return null;return{item:Oe,index:_e}}function de(Se){for(let we=0;we<y.length;we++)y[we](Se);let ee=F(Se);if(ee)I.emit("item:click",{item:ee.item,index:ee.index,event:Se})}function ce(Se){let ee=F(Se);if(ee)I.emit("item:dblclick",{item:ee.item,index:ee.index,event:Se})}function he(Se){let ee=F(Se);if(ee)I.emit("item:contextmenu",{item:ee.item,index:ee.index,event:Se})}function Me(Se){let ee=Se.target?.tagName;if((ee==="INPUT"||ee==="TEXTAREA"||ee==="SELECT")&&!((Se.ctrlKey||Se.metaKey)&&(Se.key==="f"||Se.key==="F")))return;for(let we=0;we<p.length;we++)p[we](Se)}if(T.content.addEventListener("click",de),T.content.addEventListener("dblclick",ce),T.content.addEventListener("contextmenu",he),p.length>0)T.root.addEventListener("keydown",Me);let ze=null;if(!te)setTimeout(()=>{if(M.destroyed)return;ze=new ResizeObserver((ee)=>{for(let we of ee){let{width:_e,height:De}=we.contentRect,Oe=r?_e:De,Ne=r?De:_e;if(Math.abs(Oe-M.containerSize)<1&&Math.abs(Ne-M.crossSize)<1)continue;if(M.containerSize=Oe,M.crossSize=Ne,M.resizeCapacity(Oe,u,n.overscan),Le)Le.refresh(m.getTotalSize());ve(),zn(w.resize,_e,De),I.emit("resize",{width:_e,height:De})}}),ze.observe(T.viewport)},0);M.resizeCapacity(M.containerSize,u,n.overscan),le(),M.initialized=!0;let Fe=null;if(t.defer)Fe=requestAnimationFrame(()=>{if(Fe=null,!M.destroyed)ue()});else ue();if(!ne)Pe.attach();let ke={get element(){return T.root},get items(){return f},get total(){return q?q():f.length},setItems(Se){f=[...Se],M.totalItems=f.length,m.rebuild(M.totalItems),le(),ve()},appendItems(Se){f.push(...Se),M.totalItems=f.length,m.rebuild(M.totalItems),le(),ve()},prependItems(Se){f.unshift(...Se),M.totalItems=f.length,m.rebuild(M.totalItems),le(),ve()},updateItem(Se,ee){if(z){if(!z(Se,ee))return}else{let we=f.findIndex((_e)=>_e.id===Se);if(we===-1)return;f[we]={...f[we],...ee}}ve()},insertItem(Se,ee){if(S)S(Se,ee??M.totalItems);else{if(ee===void 0)f.push(Se);else f.splice(ee,0,Se);M.totalItems=f.length,m.rebuild(M.totalItems),le()}ve()},removeItem(Se){if(L){if(L(Se)<0)return}else{let ee=f.findIndex((we)=>we.id===Se);if(ee===-1)return;f.splice(ee,1),M.totalItems=f.length,m.rebuild(M.totalItems),le()}ve()},removeItems(Se){if(L){let De=0;for(let Oe of Se)if(L(Oe)>=0)De++;if(De>0)ve();return De}let ee=new Set(Se),we=f.length;f=f.filter((De)=>!ee.has(De.id));let _e=we-f.length;if(_e>0)M.totalItems=f.length,m.rebuild(M.totalItems),le(),M.renderPending=!0,ue();return _e},getItemAt(Se){if(g.indexMap)return f[Se];return W?W(Se):f[Se]},getIndexById(Se){if(Y)return Y(Se);return f.findIndex((ee)=>ee.id===Se)},scrollToIndex(Se,ee="start"){let we=q?q():f.length;if(we===0){ye={index:Se,alignOrOptions:ee};return}let _e=Math.max(0,Math.min(Se,we-1)),De=typeof ee==="string"?ee:ee.align??"start",Oe=typeof ee==="object"?ee.behavior:void 0,Ne=typeof ee==="object"?ee.duration:void 0,Je=typeof ee==="object"?ee.easing:void 0;if(re&&re(_e,De,Oe,Ne,Je)!==!1)return;let It=m.getOffset(_e),en=m.getSize(_e),it=M.containerSize,io=m.getTotalSize(),tn=n.mainAxisPadding,lo=Math.max(0,io+tn-it),Ge;if(ie)Ge=ie(_e,m,it,we,De);else{let ao=n.startPadding;switch(De){case"center":Ge=ao+It-(it-en)/2;break;case"end":Ge=It+en+tn-it;break;default:Ge=It}Ge=Math.max(0,Math.min(Ge,lo))}if(Oe==="smooth")Pe.smoothScrollTo(Ge,Ne??dn,P??void 0,Je);else if(P)P(Ge);else if(r)T.viewport.scrollLeft=Ge;else T.viewport.scrollTop=Ge},getScrollPosition(){return Ce.getPixelEquivalent()},on:I.on.bind(I),off:I.off.bind(I),destroy(){if(M.destroyed)return;if(M.destroyed=!0,Ee)Ee=!1,T.root.classList.remove(Te);if(Fe!==null)cancelAnimationFrame(Fe),Fe=null;if(B!==null)clearTimeout(B),B=null;Pe.detach(),ze?.disconnect(),T.content.removeEventListener("click",de),T.content.removeEventListener("dblclick",ce),T.content.removeEventListener("contextmenu",he),T.root.removeEventListener("keydown",Me);let Se=[];for(let ee of Z)try{ee()}catch(we){Se.push(we instanceof Error?we:Error(String(we)))}for(let ee of _)if(ee.destroy)try{ee.destroy()}catch(we){Se.push(we instanceof Error?we:Error(String(we)))}for(let[,ee]of D)ee.remove();if(D.clear(),b.clear(),T.root.remove(),I.emit("destroy",void 0),I.clear(),Se.length>0)for(let ee of Se)console.error("vlist: error during destroy:",ee)}};for(let[Se,ee]of N)ke[Se]=ee;return ke}var Eo=(t)=>{if(typeof t!=="object"){let e=t??2;return{top:e,right:e,bottom:e,left:e}}return{top:t.top??2,right:t.right??2,bottom:t.bottom??2,left:t.left??2}},Fn=(t,e,o={},n="vlist",r=!1,s)=>{let{autoHide:l=!0,autoHideDelay:i=1000,minThumbSize:v=15,showOnHover:u=!0,showOnViewportEnter:c=!0,clickBehavior:E="scroll"}=o,I=E==="page"?"scroll":E,g=s??t,_=Eo(o.padding),h=r?_.left:_.top,T=r?_.right:_.bottom,C=r?_.bottom:_.right,m=o.hoverZoneWidth??C+16,b=0,R=0,M=0,f=0,a=!1,D=!1,V=0,x=0,K=0,j=null,k=!1,se=null,O=0,X=0,B=null,w=null,N=null,y=r?"width":"height",p=r?"translateX":"translateY",Z=r?(ue)=>ue.clientX:(ue)=>ue.clientY,q=r?"left":"top",G=document.createElement("div"),P=document.createElement("div"),J=document.createElement("div"),A=r?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",W=()=>{if(g===t)return;let ue=t.offsetTop;G.style[r?"left":"top"]=ue?`calc(var(${A}) + ${ue}px)`:`var(${A})`,J.style[r?"left":"top"]=`${ue}px`},d=()=>{if(G.className=`${n}-scrollbar`,P.className=`${n}-scrollbar__thumb`,r)G.classList.add(`${n}-scrollbar--horizontal`);if(o.padding!==void 0)g.style.setProperty("--vlist-custom-scrollbar-padding-top",`${_.top}px`),g.style.setProperty("--vlist-custom-scrollbar-padding-right",`${_.right}px`),g.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${_.bottom}px`),g.style.setProperty("--vlist-custom-scrollbar-padding-left",`${_.left}px`);if(o.minThumbSize!==void 0)G.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${v}px`);if(G.appendChild(P),g.appendChild(G),J.className=`${n}-scrollbar__hover`,r)J.classList.add(`${n}-scrollbar__hover--horizontal`),J.style.height=`${m}px`;else J.style.width=`${m}px`;if(g.appendChild(J),g!==t)W()},L=()=>{if(j)clearTimeout(j),j=null},S=()=>{if(!l)return;L(),j=setTimeout(Y,i)},z=()=>{if(b<=R)return;if(L(),!k)G.classList.add(`${n}-scrollbar--visible`),k=!0;if(l&&!a&&!D)S()},Y=()=>{if(a||D)return;G.classList.remove(`${n}-scrollbar--visible`),k=!1},ne=(ue,Ie)=>{if(b=ue,R=Ie,W(),b<=R){G.style.display="none",Y();return}G.style.display="";let ge=Math.max(0,R-h-T),ve=R/b;if(M=Math.max(v,ve*ge),P.style[y]=`${M}px`,f=ge-M,te(K),!l)z()},te=(ue)=>{if(K=ue,b<=R||f<=0)return;let Ie=b-R,ge=Math.min(1,Math.max(0,ue/Ie));P.style.transform=`${p}(${ge*f}px)`},Q=(ue)=>{if(ue.target===P||I!=="jump"||f<=0)return;let Ie=b-R,ge=G.getBoundingClientRect(),ve=Z(ue)-ge[q],He=Math.max(0,Math.min(ve-M/2,f));e(He/f*Ie),z()},ae=()=>{if(B!==null)clearTimeout(B),B=null;if(w!==null)cancelAnimationFrame(w),w=null;N=null},oe=(ue)=>{let Ie=f>0?X/ue*f:0;if(O<Ie)return-1;if(O>=Ie+M)return 1;return 0},pe=()=>{let ue=b-R,Ie=oe(ue);if(Ie===0){ae();return}if(Ie===-1){if(X<=0){ae();return}let ge=Math.max(0,X-R);X=ge,e(ge)}else{if(X>=ue){ae();return}let ge=Math.min(ue,X+R);X=ge,e(ge)}z()},be=(ue)=>{if(N===null){N=ue,w=requestAnimationFrame(be);return}let Ie=b-R,ge=ue-N;N=ue;let ve=oe(Ie);if(ve===0){ae();return}let He=12*R/1000,Pe=Math.min(He*ge,R);if(ve===-1){if(X<=0){ae();return}let F=Math.max(0,X-Pe);X=F,e(F)}else{if(X>=Ie){ae();return}let F=Math.min(Ie,X+Pe);X=F,e(F)}L(),w=requestAnimationFrame(be)},fe=()=>{ae(),S(),document.removeEventListener("mouseup",fe)},H=(ue)=>{if(ue.target===P||I!=="scroll")return;ue.preventDefault();let Ie=G.getBoundingClientRect();O=Z(ue)-Ie[q],X=K,pe(),B=setTimeout(()=>{w=requestAnimationFrame(be)},350),document.addEventListener("mouseup",fe)},ie=(ue)=>{ue.preventDefault(),ue.stopPropagation(),a=!0,V=Z(ue),x=K,L(),G.classList.add(`${n}-scrollbar--dragging`),document.addEventListener("mousemove",re),document.addEventListener("mouseup",ye)},re=(ue)=>{if(!a)return;let Ie=Z(ue)-V,ge=f>0?Ie/f:0,ve=b-R,He=ge*ve,Pe=Math.max(0,Math.min(x+He,ve));P.style.transform=`${p}(${Pe/ve*f}px)`,e(Pe)},ye=()=>{if(a=!1,G.classList.remove(`${n}-scrollbar--dragging`),l&&!D)S();document.removeEventListener("mousemove",re),document.removeEventListener("mouseup",ye)},Le=r?(ue)=>ue.touches[0].clientX:(ue)=>ue.touches[0].clientY,xe=(ue)=>{ue.stopPropagation(),a=!0,V=Le(ue),x=K,L(),G.classList.add(`${n}-scrollbar--dragging`)},Ce=(ue)=>{if(!a)return;ue.preventDefault();let Ie=Le(ue)-V,ge=f>0?Ie/f:0,ve=b-R,He=ge*ve,Pe=Math.max(0,Math.min(x+He,ve));P.style.transform=`${p}(${Pe/ve*f}px)`,e(Pe)},Te=()=>{if(a=!1,G.classList.remove(`${n}-scrollbar--dragging`),l)S()},Ee=(ue)=>{if(ue.target===P)return;if(f<=0)return;let Ie=ue.touches[0],ge=G.getBoundingClientRect(),ve=(r?Ie.clientX:Ie.clientY)-ge[q];if(I==="jump"){let He=b-R,Pe=Math.max(0,Math.min(ve-M/2,f));e(Pe/f*He)}else O=ve,X=K,pe();z()},Re=()=>{if(c)z()},Ae=()=>{if(!a){if(D=!1,l)S()}},U=()=>{D=!0,L(),z()},le=()=>{if(D=!1,!a&&l)S()},me=()=>{if(L(),ae(),se!==null)cancelAnimationFrame(se),se=null;G.removeEventListener("click",Q),G.removeEventListener("mousedown",H),G.removeEventListener("mouseenter",U),document.removeEventListener("mouseup",fe),G.removeEventListener("mouseleave",le),G.removeEventListener("touchstart",Ee),P.removeEventListener("mousedown",ie),P.removeEventListener("touchstart",xe),P.removeEventListener("touchmove",Ce),P.removeEventListener("touchend",Te),t.removeEventListener("mouseenter",Re),t.removeEventListener("mouseleave",Ae),document.removeEventListener("mousemove",re),document.removeEventListener("mouseup",ye),J.removeEventListener("click",Q),J.removeEventListener("mousedown",H),J.removeEventListener("mouseenter",U),J.removeEventListener("mouseleave",le),J.remove(),g.style.removeProperty("--vlist-custom-scrollbar-padding-top"),g.style.removeProperty("--vlist-custom-scrollbar-padding-right"),g.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),g.style.removeProperty("--vlist-custom-scrollbar-padding-left"),G.remove()};if(d(),G.addEventListener("click",Q),G.addEventListener("mousedown",H),G.addEventListener("mouseenter",U),G.addEventListener("mouseleave",le),G.addEventListener("touchstart",Ee,{passive:!0}),P.addEventListener("mousedown",ie),P.addEventListener("touchstart",xe,{passive:!0}),P.addEventListener("touchmove",Ce,{passive:!1}),P.addEventListener("touchend",Te,{passive:!0}),t.addEventListener("mouseenter",Re),t.addEventListener("mouseleave",Ae),J.addEventListener("click",Q),J.addEventListener("mousedown",H),u)J.addEventListener("mouseenter",U),J.addEventListener("mouseleave",le);return{show:z,hide:Y,updateBounds:ne,updatePosition:te,isVisible:()=>k,destroy:me}};function Pt(t){let e=null,o,n=0,r=0,s=0;return{name:"scrollbar",priority:15,setup(l){let{dom:i,config:v}=l,{classPrefix:u}=v,c=v.axis.primary==="x";o=l.getState(),n=v.mainAxisPadding;let E=(I)=>{l.scrollTo(I)};if(l.registerMethod("_scrollbar:setCallback",(I)=>{E=I}),e=Fn(i.viewport,(I)=>{E(I)},t,u,c,i.root),i.viewport.classList.add(`${u}-viewport--custom-scrollbar`),t?.gutter)i.viewport.classList.add(`${u}-viewport--gutter`);queueMicrotask(()=>{e?.updateBounds(o.totalSize+n,o.containerSize)}),l.registerMethod("_scrollbar:getInstance",()=>e),l.registerDestroyHandler(()=>{if(e?.destroy(),e=null,i.viewport.classList.remove(`${u}-viewport--custom-scrollbar`),t?.gutter)i.viewport.classList.remove(`${u}-viewport--gutter`)})},hooks:{onAfterScroll(l){let i=o.totalSize+n,v=o.containerSize;if(i!==r||v!==s)r=i,s=v,e?.updateBounds(i,v);e?.updatePosition(l),e?.show()},onResize(){let l=o.totalSize+n,i=o.containerSize;r=l,s=i,e?.updateBounds(l,i)}},destroy(){e?.destroy(),e=null}}}var Dn=(t)=>{let e=Math.max(1,Math.floor(t.columns)),o=t.gap??0,n=t.isHeaderFn,r={row:0,col:0},s=(h)=>{if(h<=0)return 0;if(!n)return Math.ceil(h/e);let T=0,C=0,m=0;for(let b=0;b<h;b++)if(n(b)){if(m++,C)T++,C=0;T++,C=0}else if(C++,C>=e)T++,C=0;if(C)T++;return T},l=(h)=>(r.row=i(h),r.col=v(h),r),i=(h)=>{if(!n)return Math.floor(h/e);let T=0,C=0;for(let m=0;m<=h;m++)if(n(m)){if(C)T++,C=0;if(m===h)return T;T++,C=0}else{if(m===h)return T;if(C++,C>=e)T++,C=0}return console.warn(`⚠️ getRow(${h}) fell through - returning ${T}`),T},v=(h)=>{if(!n)return h%e;if(n(h))return 0;let T=0;for(let C=0;C<=h;C++)if(n(C))T=0;else{if(C===h)return T;if(T++,T>=e)T=0}return T},u=(h,T,C,m)=>{if(C<=0){m.start=0,m.end=-1;return}if(!n){m.start=Math.max(0,h*e),m.end=Math.min(C-1,(T+1)*e-1);return}let b=c(h,T,C);m.start=b.start,m.end=b.end},c=(h,T,C)=>{if(C<=0)return{start:0,end:-1};if(!n){let f=Math.max(0,h*e),a=Math.min(C-1,(T+1)*e-1);return{start:f,end:a}}let m=-1,b=-1,R=0,M=0;for(let f=0;f<C;f++){if(n(f)){if(M)R++,M=0;if(R>=h&&R<=T){if(m<0)m=f;b=f}R++,M=0}else{if(R>=h&&R<=T){if(m<0)m=f;b=f}if(M++,M>=e)R++,M=0}if(R>T&&!M)break}if(m<0)return{start:0,end:-1};return{start:m,end:b}},E=(h,T,C)=>{if(T<0||T>=e)return-1;let m=h*e+T;if(m<0||m>=C)return-1;return m},I=(h)=>{let T=(e-1)*o;return Math.max(0,(h-T)/e)};return{get columns(){return e},get gap(){return o},update:(h)=>{if(h.columns!==void 0)e=Math.max(1,Math.floor(h.columns));if(h.gap!==void 0)o=h.gap;if(h.isHeaderFn!==void 0)n=h.isHeaderFn},getTotalRows:s,getPosition:l,getRow:i,getCol:v,getItemRange:c,fillItemRange:u,getItemIndex:E,getColumnWidth:I,getColumnOffset:(h,T)=>{let C=I(T);return h*(C+o)}}};var Ue={selected:!1,focused:!1};function wt(t){if(!t.columns||t.columns<1)throw Error("[vlist] grid: columns must be >= 1");let e,o,n,r,s=null,l,i,v,u,c,E,I=null,g=0,_=0,h=0,T=0,C=new Map,m=0,b=0,R=0,M=0,f=null,a=!1,D="",V="",x="",K={start:0,end:-1},j=-1,k=-1,se=-1,O=!0,X=(P)=>o.rebuild(P);function B(){let P=(b-1)*R;M=Math.max(0,(m-P)/b)}function w(){if(a)return;a=!0,f=I?.()??null}function N(){return e.getTotalRows(n.totalItems)}function y(P){let J=P/b|0,W=(P-J*b)*(M+R)+g,d=o.getOffset(J)-n.baseOffset+h;if(u)return`translate(${Math.round(d)}px, ${Math.round(W)}px)`;return`translate(${Math.round(W)}px, ${Math.round(d)}px)`}function p(P,J){let A=o.getSize(J)-R;if(u)P.style.width=`${A}px`,P.style.height=`${M}px`;else P.style.width=`${M}px`,P.style.height=`${A}px`}function Z(P,J,A){if(f)f(A,Ue);else Ue.selected=!1,Ue.focused=!1;let W=i(J,A,Ue);if(typeof W==="string")P.innerHTML=W;else P.innerHTML="",P.appendChild(W)}function q(){if(n.destroyed)return;let P=n.scrollPosition,J=n.containerSize;if(!O&&P===j&&J===k)return;j=P,k=J,O=!1;let A=N();if(J<=0||A===0)return;w();let W=o.indexAtOffset(P),d=o.indexAtOffset(P+J);if(d<A-1)d++;W=Math.max(0,W),d=Math.min(A-1,Math.max(0,d));let L=Math.max(0,W-E),S=Math.min(A-1,d+E);if(L===n.prevRangeStart&&S===n.prevRangeEnd&&!n.renderPending&&n.baseOffset===n.prevBaseOffset)return;e.fillItemRange(L,S,n.totalItems,K);let{start:z,end:Y}=K;for(let[Q,ae]of C)if(Q<z||Q>Y)ae.el.remove(),r.release(ae.el),C.delete(Q);for(let Q=z;Q<=Y;Q++){let ae=v(Q);if(!ae)continue;let oe=Q/b|0,pe=Q-oe*b,be=C.get(Q);if(be===void 0){let ie=r.acquire();ie.className=D,ie.setAttribute("data-index",String(Q)),ie.setAttribute("data-id",String(ae.id)),Z(ie,ae,Q),be={el:ie,lastItem:ae},C.set(Q,be),l.appendChild(ie)}else if(be.lastItem!==ae)be.el.setAttribute("data-id",String(ae.id)),be.lastItem=ae,Z(be.el,ae,Q);else if(f)f(Q,Ue);if(f)if(be.el.classList.toggle(V,Ue.selected),be.el.classList.toggle(x,Ue.focused),Ue.selected)be.el.setAttribute("aria-selected","true");else be.el.removeAttribute("aria-selected");p(be.el,oe);let fe=pe*(M+R)+g,H=o.getOffset(oe)-n.baseOffset+h;be.el.style.transform=u?`translate(${Math.round(H)}px, ${Math.round(fe)}px)`:`translate(${Math.round(fe)}px, ${Math.round(H)}px)`}let ne=o.getTotalSize();if(ne!==se)se=ne,s?.updateContentSize(ne);n.prevRangeStart=L,n.prevRangeEnd=S,n.prevBaseOffset=n.baseOffset,n.renderPending=!1;let te=Y-z+1;n.visibleCount=Math.min(te,n.capacity),n.startIndex=z;for(let Q=0;Q<n.visibleCount;Q++){let ae=z+Q,oe=ae/b|0;n.visibleIndices[Q]=ae,n.visibleOffsets[Q]=o.getOffset(oe),n.visibleSizes[Q]=o.getSize(oe)}}function G(){if(n.destroyed)return;X(N()),se=-1,n.prevRangeStart=-1,n.prevRangeEnd=-1,n.renderPending=!0,O=!0,q()}return{name:"grid",priority:10,conflicts:["masonry","table"],setup(P){b=Math.max(1,Math.floor(t.columns)),R=t.gap??0,e=Dn({columns:t.columns,gap:R}),o=P.sizeCache,n=P.getState(),r=P.pool,s=P,l=P.dom.content,i=P.template,u=P.config.axis.primary==="x",c=P.config.classPrefix,E=P.config.overscan,v=P.getItem.bind(P),I=()=>P.getItemStateFn(),D=`${c}-item ${c}-grid-item`,V=`${c}-item--selected`,x=`${c}-item--focused`,g=P.config.crossPadStart,_=P.config.crossAxisPadding,h=P.config.startPadding,T=P.config.mainAxisPadding,m=n.crossSize-_,B();let J=P.rawSizeSpec,A;if(typeof J==="function"){let z={columnWidth:e.getColumnWidth(m),columns:t.columns,gap:R};A=J(0,z),P.setSizeConfig((Y)=>{z.columnWidth=e.getColumnWidth(m);let ne=Y*t.columns;return J(ne,z)+R})}else if(A=J,R>0)P.setSizeConfig(A+R);let W=null,d=o.rebuild;function L(){if(o.rebuild===W)return;d=o.rebuild,X=(S)=>d(S),W=(S)=>{X(Math.ceil(S/b))},o.rebuild=W}if(P.registerMethod("_setSizeCacheBase",(S)=>{d=S,X=(z)=>d(z)}),L(),X(N()),R>0){let S=o.getTotalSize;o.getTotalSize=()=>{let z=S();return z>0?z-R:0}}P.setVirtualTotalFn(()=>N()),P.dom.root.classList.add(`${c}--grid`),P.setRenderFn(q,G),P.registerMethod("getGridLayout",()=>e),P.registerMethod("_getRowGap",()=>e.gap),P.registerMethod("updateGrid",(S)=>{if(S.columns!==void 0){if(!Number.isInteger(S.columns)||S.columns<1)throw Error("[vlist] updateGrid: columns must be >= 1")}if(S.gap!==void 0&&S.gap<0)throw Error("[vlist] updateGrid: gap must be >= 0");if(e.update(S),S.columns!==void 0)b=Math.max(1,Math.floor(S.columns));if(S.gap!==void 0)R=S.gap;if(S.gap!==void 0||S.columns!==void 0){let z=e.gap;if(typeof J==="function"){let Y={columnWidth:e.getColumnWidth(m),columns:e.columns,gap:z};P.setSizeConfig((ne)=>{Y.columnWidth=e.getColumnWidth(m);let te=ne*e.columns;return J(te,Y)+z})}else P.setSizeConfig(A+z);L(),X(N())}if(S.columns!==void 0)P.setNavConfig({ud:e.columns});m=n.crossSize-_,B(),G()}),P.registerMethod("scrollToIndex",(S,z="start")=>{let Y=e.getRow(S),ne=N();if(ne===0)return;let te=Math.max(0,Math.min(Y,ne-1)),Q=o.getOffset(te)+h,ae=o.getSize(te),oe=n.containerSize,pe=o.getTotalSize()+T,be=Math.max(0,pe-oe),fe=typeof z==="string"?z:z.align??"start",H=typeof z==="object"?z.behavior:void 0,ie=typeof z==="object"?z.duration:void 0,re;switch(fe){case"center":re=Q-(oe-ae)/2;break;case"end":re=Q-oe+ae;break;default:re=Q}if(re=Math.max(0,Math.min(re,be)),H==="smooth"&&ie&&ie>0)P.smoothScrollTo(re,ie);else P.scrollTo(re)}),P.setNavConfig({total:()=>n.totalItems,ud:t.columns,lr:1,scrollIndex:(S)=>e.getRow(S)}),P.registerDestroyHandler(()=>{for(let[,S]of C)S.el.remove();C.clear(),P.dom.root.classList.remove(`${c}--grid`)})},hooks:{onResize(P,J){let A=n.crossSize-_;if(Math.abs(A-m)<1)return;m=A,B();for(let[W,d]of C){let L=W/b|0;p(d.el,L),d.el.style.transform=y(W)}}},destroy(){C.clear()}}}function nt(t,e,o,n){if(n<=0)return 0;let r=n-1;if(o<=1)return t<0?0:t>r?r:t;let s=(e%o+o)%o;if(t<0)return s;if(t>r){let l=Math.floor(r/o)*o;return Math.min(l+s,r)}return t}function zt(t){let e=t?.keyboard??!0;return{name:"a11y",priority:55,setup(o){if(o.getItemStateFn())return;o.enableListboxRole();let{dom:n,config:r,sizeCache:s}=o,l=o.getState(),i=o.emitter,v=r.classPrefix,u=n.liveRegion,c=-1,E=!1,I,g=-1,_=(x)=>o.getItem(x),h=()=>l.totalItems,T={id:0,index:0},C={selected:[],items:[]};o.setItemStateFn((x,K)=>{K.selected=g===x,K.focused=E&&c===x});function m(x){u.textContent="",u.textContent=x}let b=(x,K,j)=>{let k=x;while(k>=0&&k<j){let se=_(k);if(!se||!se.__groupHeader)return k;k+=K}k=x-K;while(k>=0&&k<j){let se=_(k);if(!se||!se.__groupHeader)return k;k-=K}return x},R=(x)=>{let K=o.getNavConfig(),j=K.scrollIndex?K.scrollIndex(x):x,k=s.getOffset(j),se=s.getSize(j),{scrollPosition:O,containerSize:X}=l,{startPadding:B,endPadding:w}=r,N=k+B,y=N+se,p=O;if(N<O)p=Math.max(0,k);else if(y>O+X)p=y+w-X;if(p!==O)l.scrollPosition=p,o.scrollTo(p)},M=(x,K)=>{if(n.content.setAttribute("aria-activedescendant",`${v}-item-${x}`),K)R(x);o.forceRender()},f=(x)=>{c=x,E=!0,M(x,!0);let K=_(x);if(K)T.id=K.id,T.index=x,i.emit("focus:change",T),m(`Item ${x+1} of ${h()}`)},a=(x,K)=>{if(c=x,K)E=!0;let j=_(x);if(j&&I===j.id)I=void 0,g=-1;else I=j?.id,g=j?x:-1;if(M(x,K),I!==void 0&&j&&I===j.id)C.selected[0]=I,C.selected.length=1,C.items[0]=j,C.items.length=1,m(`Selected, item ${x+1} of ${h()}`);else C.selected.length=0,C.items.length=0,m("Deselected");i.emit("selection:change",C)},D=()=>{if(l.destroyed)return;if(!n.content.matches(":focus-visible"))return;let x=h();if(x===0)return;let K=c>=0?Math.min(c,x-1):0;K=b(K,1,x),f(K)},V=(x)=>{if(l.destroyed)return;let K=x.relatedTarget;if(K&&n.root.contains(K))return;E=!1,n.content.removeAttribute("aria-activedescendant"),o.forceRender()};if(n.content.addEventListener("focusin",D),n.content.addEventListener("focusout",V),e)o.registerKeydownHandler((x)=>{if(l.destroyed)return;let K=h();if(K===0)return;let j=c,k=j;if(x.key===" "||x.key==="Enter"){if(j>=0){let O=_(j);if(O&&!O.__groupHeader)a(j,!0)}x.preventDefault();return}let se=o.getNavConfig();if(se.navigate)switch(x.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":k=se.navigate(j,x.key,K);break;default:return}else{let O=se.ud||1,X=se.lr,B=r.axis.primary==="x";switch(x.key){case"ArrowUp":if(B&&!X)return;k=j-(B?X:O);break;case"ArrowDown":if(B&&!X)return;k=j+(B?X:O);break;case"ArrowLeft":if(!B&&!X)return;k=j-(B?O:X);break;case"ArrowRight":if(!B&&!X)return;k=j+(B?O:X);break;case"PageUp":case"PageDown":{let w=s.getSize(Math.max(0,se.scrollIndex?se.scrollIndex(j):j)),y=Math.max(1,Math.floor(l.containerSize/w))*O;k=nt(x.key==="PageUp"?j-y:j+y,j,O,K);break}case"Home":k=0;break;case"End":k=K-1;break;default:return}}if(k<0)k=0;else if(k>=K)k=K-1;if(x.preventDefault(),k=b(k,k>=j?1:-1,K),k!==j)f(k)});o.registerClickHandler((x)=>{if(l.destroyed)return;let K=x.target.closest("[data-index]");if(!K)return;let j=parseInt(K.dataset.index??"-1",10);if(j<0)return;let k=_(j);if(!k||k.__groupHeader)return;E=!1,n.content.focus({preventScroll:!0}),a(j,!1)}),o.registerDestroyHandler(()=>{n.content.removeEventListener("focusin",D),n.content.removeEventListener("focusout",V)})}}}var ot=(t,e,o)=>{if(String(o).startsWith($e))return!1;let n=$e+e;if(t.has(n))return t.delete(n),t.add(o),!0;return!1},Vn=(t)=>({selected:new Set(t??[]),focusedIndex:-1,focusVisible:!1});function qe(t,e,o,n){if(o===0)return;let r=n?-e:e,s=t.focusedIndex+r;if(s<0)s=0;if(s>=o)s=o-1;t.focusedIndex=s}function mt(t){return Array.from(t)}var Mo={preventScroll:!0};function At(t){let e=t?.mode??"single",o=t?.followFocus??!1,n=t?.focusOnClick??!1,r=t?.keyboard??!0,s,l,i,v,u,c,E,I,g=-1,_=new Map,h=null,T=null,C=null,m=null,b,R=!1;function M(p){if(R)return;R=!0,h=p.getMethod("_layoutToDataIndex")??null,T=p.getMethod("_dataToLayoutIndex")??null,C=p.getMethod("_isGroupHeader")??null,m=p.getMethod("_scrollItemIntoView")??null,a=p.getMethod("_getLoadedItem")??null;let Z=p.getMethod("getGroupLayout");if(Z){let q=Z();b=()=>q.totalEntries}}let f=(p)=>h?h(p):p,a=null,D=(p)=>{if(a)return a(p);return l()[p]},V=(p)=>{let Z=f(p);return Z>=0?D(Z):void 0},x=(p,Z,q)=>{if(!C)return p;let G=p;while(G>=0&&G<q){if(!C(G))return G;G+=Z}G=p-Z;while(G>=0&&G<q){if(!C(G))return G;G-=Z}return p};function K(p,Z){if(e==="single")s.selected.clear(),_.clear();if(s.selected.add(p),Z)_.set(p,Z)}function j(p,Z){if(s.selected.has(p))s.selected.delete(p),_.delete(p);else K(p,Z)}function k(){s.selected.clear(),_.clear()}function se(p){s.selected.delete(p),_.delete(p)}function O(p,Z){let q=Math.min(p,Z),G=Math.max(p,Z);for(let P=q;P<=G;P++){if(C?.(P))continue;let J=V(P);if(J)s.selected.add(J.id),_.set(J.id,J);else if(a){let A=f(P);if(A>=0)s.selected.add($e+A)}}}function X(){let p=E.totalItems;for(let Z=0;Z<p;Z++){if(C?.(Z))continue;let q=V(Z);if(q)s.selected.add(q.id),_.set(q.id,q);else if(a){let G=f(Z);if(G>=0)s.selected.add($e+G)}}}function B(){if(s.selected.size===0)return[];if(_.size>=s.selected.size){let G=[];for(let P of s.selected){let J=_.get(P);if(J)G.push(J)}if(G.length===s.selected.size)return G}let p=[],Z=new Set(s.selected),q=E.totalItems;for(let G=0;G<q&&Z.size>0;G++){if(C?.(G))continue;let P=V(G);if(P&&Z.has(P.id))p.push(P),_.set(P.id,P),Z.delete(P.id)}return p}function w(){i(),v.emit("selection:change",{selected:mt(s.selected),items:B()})}let N=null,y=-1;return{name:"selection",priority:50,setup(p){p.enableListboxRole(),s=Vn(t?.initial),l=p.getItems.bind(p),i=p.forceRender.bind(p),v=p.emitter,u=p.dom;let Z=p.config;if(c=p.sizeCache,E=p.getState(),I=p.scrollTo.bind(p),b=()=>E.totalItems,e==="none"){p.registerMethod("select",()=>{}),p.registerMethod("deselect",()=>{}),p.registerMethod("toggleSelect",()=>{}),p.registerMethod("selectAll",()=>{}),p.registerMethod("clearSelection",()=>{}),p.registerMethod("getSelected",()=>[]),p.registerMethod("getSelectedItems",()=>[]),p.registerMethod("selectNext",()=>{}),p.registerMethod("selectPrevious",()=>{}),p.registerMethod("_seedSelection",()=>{}),p.registerMethod("_getFocusedId",()=>{return}),p.registerMethod("_focusById",()=>{});return}let q=Z.classPrefix;p.setItemStateFn((L,S)=>{if(M(p),s.selected.size>0){let z=f(L),Y=z>=0?V(L):void 0,ne=Y?.id;if(ne!==void 0)if(s.selected.has(ne))S.selected=!0;else if(ot(s.selected,z,ne))S.selected=!0,_.delete($e+z),_.set(ne,Y);else S.selected=!1;else S.selected=a!==null&&z>=0&&s.selected.has($e+z)}else S.selected=!1;S.focused=s.focusVisible&&s.focusedIndex===L}),p.registerMethod("_getSelectedIds",()=>s.selected),p.registerMethod("_getFocusedIndex",()=>s.focusVisible?s.focusedIndex:-1),u.root.classList.add(`${q}--selectable`);let G=(L)=>{N=null,y=-1;let S=L.target.closest("[data-index]");if(!S)return!1;let z=parseInt(S.dataset.index??"-1",10);if(z<0)return!1;if(C?.(z))return!1;if(f(z)<0)return!1;let ne=V(z);if(!ne)return!1;return N=ne,y=z,!0},P=0,J=(L)=>{if(L<0)return;if(m){m(L);return}if(!P){let pe=p.getMethod("_getRowGap");P=pe?pe():0}let S=p.getNavConfig(),z=S.scrollIndex?S.scrollIndex(L):L,Y=c.getOffset(z),ne=c.getSize(z)-P,te=E.containerSize,Q=E.scrollPosition,{startPadding:ae,endPadding:oe}=Z;if(Y<Q)I(Y);else if(ae+Y+ne+oe>Q+te)I(ae+Y+ne+oe-te)},A=(L)=>{let S=u.content.querySelectorAll(`[data-index="${L}"]`),z=null;for(let Y=0;Y<S.length;Y++){let ne=S[Y];if(ne.style.display!=="none"){z=ne;break}}if(!z&&S.length>0)z=S[0];u.content.setAttribute("aria-activedescendant",z?.id??`${q}-item-${L}`)},W=()=>{if(E.destroyed)return;if(M(p),!u.content.matches(":focus-visible")&&!u.root.matches(":focus-visible"))return;let L=b();if(L===0)return;let S=s.focusedIndex>=0?Math.min(s.focusedIndex,L-1):0;S=x(S,1,L),s.focusedIndex=S,s.focusVisible=!0,A(S),J(S),i()};u.root.addEventListener("focusin",W);let d=(L)=>{if(E.destroyed)return;let S=L.relatedTarget;if(S&&u.root.contains(S))return;s.focusVisible=!1,i(),u.content.removeAttribute("aria-activedescendant")};if(u.root.addEventListener("focusout",d),p.registerDestroyHandler(()=>{u.root.removeEventListener("focusin",W),u.root.removeEventListener("focusout",d)}),p.registerClickHandler((L)=>{if(M(p),!G(L))return;if(e==="multiple"&&L.shiftKey&&s.focusedIndex>=0){let z=g>=0?g:s.focusedIndex,Y=f(z),ne=f(y);if(Y>=0&&ne>=0)O(z,y);s.focusedIndex=y,s.focusVisible=n,g=y,w();return}if(s.focusedIndex=y,s.focusVisible=n,g=y,(u.content.getAttribute("tabindex")!==null?u.content:u.root).focus(Mo),e==="single")K(N.id,N);else j(N.id,N);w()}),r)p.registerKeydownHandler((L)=>{M(p);let S=b();if(S===0)return;let z=p.getNavConfig(),Y=s.focusedIndex,ne=!1,te=!1;if(z.navigate&&(L.key==="ArrowUp"||L.key==="ArrowDown"||L.key==="ArrowLeft"||L.key==="ArrowRight"||L.key==="PageUp"||L.key==="PageDown"||L.key==="Home"||L.key==="End")){let ae=z.total?z.total():S,oe=z.navigate(s.focusedIndex,L.key,ae);if(oe!==s.focusedIndex)s.focusedIndex=Math.max(0,Math.min(oe,ae-1));s.focusVisible=!0,ne=!0}else switch(L.key){case"ArrowUp":{let ae=z.ud||1,oe=z.lr,pe=Z.axis.primary==="x";if(pe&&!oe)break;qe(s,-(pe?oe:ae),S,Z.reverse),s.focusVisible=!0,ne=!0;break}case"ArrowDown":{let ae=z.ud||1,oe=z.lr,pe=Z.axis.primary==="x";if(pe&&!oe)break;qe(s,pe?oe:ae,S,Z.reverse),s.focusVisible=!0,ne=!0;break}case"ArrowLeft":{let ae=z.ud||1,oe=z.lr,pe=Z.axis.primary==="x";if(!pe&&!oe)break;qe(s,-(pe?ae:oe),S,Z.reverse),s.focusVisible=!0,ne=!0;break}case"ArrowRight":{let ae=z.ud||1,oe=z.lr,pe=Z.axis.primary==="x";if(!pe&&!oe)break;qe(s,pe?ae:oe,S,Z.reverse),s.focusVisible=!0,ne=!0;break}case"Home":if(S>0)s.focusedIndex=0;s.focusVisible=!0,ne=!0;break;case"End":if(S>0)s.focusedIndex=S-1;s.focusVisible=!0,ne=!0;break;case"PageUp":case"PageDown":{let ae=z.ud||1,oe=Math.max(0,s.focusedIndex),pe=z.scrollIndex?z.scrollIndex(oe):oe,be=c.getSize(pe),fe=E.containerSize,ie=(be>0?Math.max(1,Math.floor(fe/be)):10)*ae;if(h&&T){let re=h(s.focusedIndex),ye=L.key==="PageUp"?-ie:ie,Le=E.totalItems-1;s.focusedIndex=T(nt(re+ye,re,ae,Le+1))}else{let re=L.key==="PageUp"?s.focusedIndex-ie:s.focusedIndex+ie;s.focusedIndex=nt(re,s.focusedIndex,ae,S)}s.focusVisible=!0,ne=!0;break}case" ":case"Enter":if(L.key===" "&&L.shiftKey&&e==="multiple"&&s.focusedIndex>=0){if(g>=0){let ae=f(g),oe=f(s.focusedIndex);if(ae>=0&&oe>=0)O(g,s.focusedIndex)}s.focusVisible=!0,te=!0,ne=!0;break}if(s.focusedIndex>=0){let ae=V(s.focusedIndex);if(ae)j(ae.id,ae),g=s.focusedIndex;s.focusVisible=!0,te=!0,ne=!0}break;case"a":if((L.ctrlKey||L.metaKey)&&e==="multiple"){if(s.selected.size===E.totalItems)k();else X();s.focusVisible=!0,te=!0,ne=!0}break;case"Delete":case"Backspace":if(s.selected.size>0)v.emit("delete",{selected:mt(s.selected),items:B()}),ne=!0;break}if(s.focusedIndex!==Y&&C){let ae=s.focusedIndex>Y?1:-1;s.focusedIndex=x(s.focusedIndex,ae,S)}let Q=s.focusedIndex!==Y;if(L.shiftKey&&e==="multiple"&&!te&&Q){if(L.key==="ArrowUp"||L.key==="ArrowDown"||L.key==="ArrowLeft"||L.key==="ArrowRight"){let pe=V(s.focusedIndex);if(pe)j(pe.id,pe);g=s.focusedIndex,te=!0}if((L.ctrlKey||L.metaKey)&&(L.key==="Home"||L.key==="End")){let pe=Y>=0?Y:s.focusedIndex,be=f(pe),fe=f(s.focusedIndex);if(be>=0&&fe>=0)O(pe,s.focusedIndex);g=s.focusedIndex,te=!0}}if(o&&e==="single"&&!te&&Q&&s.focusedIndex>=0){let ae=V(s.focusedIndex);if(ae)K(ae.id,ae);te=!0}if(ne){if(L.preventDefault(),Q&&s.focusedIndex>=0){if(m||!z.navigate)J(s.focusedIndex);A(s.focusedIndex)}if(te)w();else if(Q){if(i(),s.focusedIndex>=0){let ae=V(s.focusedIndex);if(ae)v.emit("focus:change",{id:ae.id,index:s.focusedIndex})}}}});p.registerMethod("select",(...L)=>{for(let S of L)K(S);w()}),p.registerMethod("deselect",(...L)=>{for(let S of L)se(S);w()}),p.registerMethod("toggleSelect",(L)=>{j(L),w()}),p.registerMethod("selectAll",()=>{if(e!=="multiple")return;M(p),X(),w()}),p.registerMethod("clearSelection",()=>{k(),w()}),p.registerMethod("getSelected",()=>mt(s.selected)),p.registerMethod("getSelectedItems",()=>B()),p.registerMethod("selectNext",()=>{M(p);let L=b();if(L===0)return;if(qe(s,1,L,Z.reverse),C)s.focusedIndex=x(s.focusedIndex,1,L);let S=V(s.focusedIndex);if(S)K(S.id,S);w()}),p.registerMethod("selectPrevious",()=>{M(p);let L=b();if(L===0)return;if(qe(s,-1,L,Z.reverse),C)s.focusedIndex=x(s.focusedIndex,-1,L);let S=V(s.focusedIndex);if(S)K(S.id,S);w()}),p.registerMethod("_seedSelection",(L)=>{if(e==="single"){if(L.length===1)s.selected.add(L[0])}else for(let S of L)s.selected.add(S)}),p.registerMethod("_isFollowFocus",()=>o),p.registerMethod("_getFocusedId",()=>{if(s.focusedIndex<0)return;return V(s.focusedIndex)?.id}),p.registerMethod("_focusById",(L)=>{let S=E.totalItems;for(let z=0;z<S;z++){if(C?.(z))continue;let Y=V(z);if(Y&&Y.id===L){s.focusedIndex=z,s.focusVisible=n,v.emit("focus:change",{id:L,index:z});return}}})},destroy(){_.clear()}}}var ft=(t)=>t==null?0:typeof t==="function"?t():t;function Rt(t){let e=t?.scrollPadding,o,n;return{name:"page",priority:5,setup(r){let{dom:s,sizeCache:l,config:i,emitter:v}=r,u=i.axis.primary==="x",c=window,E=r.getState();if(r.disableDefaultScroll(),r.disableDefaultResize(),s.root.style.overflow="visible",s.root.style.height="auto",u)s.viewport.style.overflowX="visible",s.viewport.style.overflowY="visible";else s.viewport.style.overflow="visible";s.viewport.classList.remove(`${i.classPrefix}-viewport--custom-scrollbar`),r.setScrollFns(()=>{let C=s.viewport.getBoundingClientRect();return Math.max(0,u?-C.left:-C.top)},(C)=>{let m=s.viewport.getBoundingClientRect(),b=(u?m.left+c.scrollX:m.top+c.scrollY)+C;if(u)c.scrollTo({left:b,top:c.scrollY,behavior:"instant"});else c.scrollTo({left:c.scrollX,top:b,behavior:"instant"})}),E.containerSize=u?c.innerWidth:c.innerHeight,E.crossSize=u?c.innerHeight:c.innerWidth;let I=null,g=()=>{let C=s.viewport.getBoundingClientRect(),m=Math.max(0,u?-C.left:-C.top);if(E.prevScrollPosition=E.scrollPosition,E.scrollPosition=m,E.scrollDirection=m>E.prevScrollPosition?1:m<E.prevScrollPosition?-1:0,r.onScrollFrame(),I!==null)clearTimeout(I);I=setTimeout(()=>{I=null,r.onScrollIdle()},150)};c.addEventListener("scroll",g,{passive:!0}),n=()=>c.removeEventListener("scroll",g);let{innerWidth:_,innerHeight:h}=c,T=()=>{let{innerWidth:C,innerHeight:m}=c;if((u?Math.abs(C-_):Math.abs(m-h))<1)return;_=C,h=m,E.containerSize=u?C:m,E.crossSize=u?m:C,r.forceRender(),v.emit("resize",{width:C,height:m})};if(c.addEventListener("resize",T),o=()=>c.removeEventListener("resize",T),e)r.setScrollToPosFn((C,m,b,R,M)=>{let f=ft(u?e.left:e.top),a=ft(u?e.right:e.bottom);if(R===0)return 0;let D=Math.max(0,Math.min(C,R-1)),V=m.getOffset(D),x=m.getSize(D),K=m.getTotalSize(),j=Math.max(0,K-b+a),k;switch(M){case"center":k=V-f-(b-f-a-x)/2;break;case"end":k=V-b+x+a;break;default:k=V-f}return Math.max(-f,Math.min(k,j))}),r.registerMethod("_scrollItemIntoView",(C)=>{let m=u?c.innerWidth:c.innerHeight,b=ft(u?e.left:e.top),R=ft(u?e.right:e.bottom),M=s.viewport.getBoundingClientRect(),f=u?c.scrollX:c.scrollY,a=u?M.left:M.top,D=a+f,V=l.getOffset(C),x=l.getSize(C),K=a+V,j=m-R,k=f;if(K<b)k=D+V-b;else if(K+x>j)k=D+V+x-j;if(k!==f)if(u)c.scrollTo({left:k,top:c.scrollY,behavior:"instant"});else c.scrollTo({left:c.scrollX,top:k,behavior:"instant"})});r.registerDestroyHandler(()=>{if(n?.(),o?.(),I!==null)clearTimeout(I)})},destroy(){n?.(),o?.(),n=void 0,o=void 0}}}var Po=(t)=>{try{let e=sessionStorage.getItem(t);if(!e)return;return JSON.parse(e)}catch{return}};function rt(t){let e=t?.autoSave,o=t?.restore??(e?Po(e):void 0),n=!1,r=null;return{name:"snapshots",priority:50,setup(s){let{sizeCache:l,emitter:i}=s,v=s.getState(),u=()=>{let{scrollPosition:I,totalItems:g}=v,h=s.getMethod("getSelected")?.();if(g===0){let a={index:0,offsetInItem:0,total:0};if(h?.length)a.selectedIds=h;return a}let T=l.indexAtOffset(I),C=I-l.getOffset(T);C=Math.max(0,C);let m={index:T,offsetInItem:C,total:g,scrollTop:I},b=l.getSize(T);if(b)m.offsetRatio=C/b;let R=s.getMethod("_layoutToDataIndex");if(R){let a=R(T);if(a<0){for(let D=T+1;D<g;D++)if(a=R(D),a>=0)break}if(a>=0)m.dataIndex=a}let M=s.getMethod("_getTotal");if(M)m.dataTotal=M();if(h?.length)m.selectedIds=h;let f=s.getMethod("_getFocusedId");if(f){let a=f();if(a!==void 0)m.focusedId=a}return m};s.registerMethod("getScrollSnapshot",u);let c=(I,g=!0)=>{let{index:_,offsetInItem:h,selectedIds:T,focusedId:C}=I,m=v.totalItems,b=I.dataTotal??I.total;if(m===0&&b&&b>0){let X=s.getMethod("_setTotal");if(X)X(b),m=v.totalItems;l.rebuild(m),s.updateContentSize(l.getTotalSize()),v.totalSize=l.getTotalSize()}if(m===0)return Promise.resolve();if(!Number.isFinite(_)||!Number.isFinite(h))return Promise.resolve();if(l.getTotal()===0)l.rebuild(m),s.updateContentSize(l.getTotalSize()),v.totalSize=l.getTotalSize();let M=s.getMethod("_dataToLayoutIndex"),f=_;if(I.dataIndex!==void 0&&I.dataIndex>=0)f=M?M(I.dataIndex):I.dataIndex;else if(M)f=M(_);let a=Math.max(0,Math.min(f,m-1)),D=l.getSize(a),V=I.offsetRatio!==void 0?I.offsetRatio*D:Math.min(h,D),x=s.getMethod("_getTotal")?.(),K=I.total===m||x!==void 0&&I.dataTotal===x,j;if(I.scrollTop!==void 0&&K)j=I.scrollTop;else j=l.getOffset(a)+V;let k=Math.max(0,v.totalSize-v.containerSize);if(j=Math.max(0,Math.min(j,k)),s.scrollTo(j),g&&T?.length){let X=s.getMethod("select");if(X)X(...T)}let se=s.getMethod("loadVisibleRange"),O=()=>{if(C===void 0)return;let X=s.getMethod("_focusById");if(X)X(C)};return new Promise((X)=>{let B=(w)=>{if(w)O();X()};if(se){let w=0,N=()=>{if(v.containerSize>0){if(Math.abs(v.scrollPosition-j)>1)s.scrollTo(j);se().then(()=>B(!0),()=>B(!1))}else if(++w<10)requestAnimationFrame(N);else B(!1)};requestAnimationFrame(N)}else{let w=s.getMethod("reload");if(w)requestAnimationFrame(()=>{w().then(()=>B(!0),()=>B(!1))});else requestAnimationFrame(()=>B(!0))}})};s.registerMethod("restoreScroll",c);let E=!!(o&&e);if(s.registerDestroyHandler(()=>{n=!0}),e){r=()=>{if(n||E)return;let m=u();try{sessionStorage.setItem(e,JSON.stringify(m))}catch{}},s.registerMethod("_saveSnapshot",r);let I=0,g=()=>{if(I)return;I=requestAnimationFrame(()=>{if(I=0,r)r()})};i.on("selection:change",g),i.on("focus:change",g);let _=0,h=()=>{if(_=0,r)r()},T=()=>{if(_)clearTimeout(_);_=setTimeout(h,300)};i.on("scroll",T);let C=()=>{r?.()};if(window.addEventListener("beforeunload",C),s.registerDestroyHandler(()=>{if(I)cancelAnimationFrame(I);if(_)clearTimeout(_);window.removeEventListener("beforeunload",C)}),o&&o.total&&o.total>0){let m=s.getMethod("_cancelAutoLoad");if(m)m();let b=s.getMethod("_setTotal");if(b)b(o.total)}}if(o){let I=!0;if(o.selectedIds?.length){let g=s.getMethod("_seedSelection");if(g)g(o.selectedIds),I=!1}queueMicrotask(()=>{if(c(o,I),E=!1,r)r()})}},hooks:{onIdle(){if(r&&!n)r()}},destroy(){n=!0,r=null}}}function $n(t,e){if(e===!1)return null;return{duration:Math.min(e?.duration??t.duration,1000),easing:e?.easing??t.easing}}function Ht(t){let e=t?.duration??200,o=t?.easing??"cubic-bezier(0.2, 0, 0, 1)",n={duration:e,easing:o},r=$n(n,t?.remove),s=$n(n,t?.insert),l=null,i=null;return{name:"transition",conflicts:["grid","table","masonry"],priority:45,setup(v){let{sizeCache:u,emitter:c}=v,{config:E,dom:I}=v,g=v.getState(),_=E.reverse?"bottom center":"top center",h=E.axis.primary==="x"?"translateX":"translateY",T=()=>Math.max(0,u.getTotalSize()+E.mainAxisPadding-g.containerSize),C=()=>{let a=Math.min(0,T()-g.scrollPosition);if(a){let D=g.scrollPosition+a;v.shiftScroll(a),g.scrollPosition=D}},m=(a)=>Math.round(a-g.baseOffset),b=v.getMethod("_dataToLayoutIndex")??null,R=(a)=>b?b(a):a,M=(a)=>{let D=String(a).replace(/"/g,"\\\""),V=I.content.querySelector(`[data-id="${D}"]`),x=V?parseInt(V.dataset.index??"-1",10):-1;return{el:V,layoutIndex:x}},f=()=>{let a=I.content.children;for(let D=0;D<a.length;D++)a[D].style.transition="none";I.content.offsetHeight;for(let D=0;D<a.length;D++)a[D].style.transition=""};if(r){let a=(V)=>{if(l)l();let x=typeof document<"u"?document.activeElement:null,K=x&&I.content.contains(x)?parseInt(x.dataset?.index??"-1",10):-1,j=M(V),{layoutIndex:k,el:se}=j,O=k>=0?u.getSize(k):0,X=k>=0?u.getOffset(k):0;if(!se||k<0){if(v.removeItemById(V)<0)return!1;if(C(),v.forceRender(),f(),c.emit("data:change",{type:"remove",id:V}),K>=0){let L=g.totalItems;if(L>0)v.getRenderedElement(Math.min(K,L-1))?.focus()}return c.emit("remove:end",{id:V}),!0}let B=se.cloneNode(!0);B.style.pointerEvents="none",B.style.overflow="hidden",B.removeAttribute("data-index"),B.removeAttribute("data-id"),B.removeAttribute("id"),B.removeAttribute("aria-selected"),B.classList.remove(`${E.classPrefix}-item--selected`);let w=g.scrollPosition;if(v.removeItemById(V)<0)return!1;C(),v.forceRender(),f(),c.emit("data:change",{type:"remove",id:V});let y=w-g.scrollPosition;B.style.zIndex="1",I.content.appendChild(B);let p=r,Z={duration:p.duration,easing:p.easing},q=[],G=m(X-y);q.push(B.animate([{transform:`${h}(${G}px) scaleY(1)`,opacity:1,transformOrigin:_},{transform:`${h}(${m(X)}px) scaleY(0)`,opacity:0,transformOrigin:_}],Z));let P=y>0,J=I.content.children;for(let d=0;d<J.length;d++){let L=J[d];if(L===B)continue;let S=parseInt(L.dataset?.index??"-1",10);if(S<0||!P&&S<k)continue;let z=u.getOffset(S),Y=S>=k?m(z+O-y):m(z-y),ne=m(z);if(Y===ne)continue;q.push(L.animate([{transform:`${h}(${Y}px)`},{transform:`${h}(${ne}px)`}],Z))}let A=!1,W=()=>{if(A)return;A=!0,l=null,B.remove();for(let d of q)if(d.playState!=="finished")d.cancel();if(K>=0){let d=g.totalItems;if(d>0)v.getRenderedElement(Math.min(K,d-1))?.focus()}c.emit("remove:end",{id:V})};return l=W,Promise.all(q.map((d)=>d.finished)).then(W,W),setTimeout(W,p.duration+50),!0},D=(V)=>{if(V.length===0)return 0;if(V.length===1)return a(V[0])?1:0;if(l)l();if(i)i();let x=typeof document<"u"?document.activeElement:null,K=x&&I.content.contains(x)?parseInt(x.dataset?.index??"-1",10):-1,j=[];for(let A of V){let W=M(A);j.push({id:A,layoutIndex:W.layoutIndex,el:W.el,size:W.layoutIndex>=0?u.getSize(W.layoutIndex):0,offset:W.layoutIndex>=0?u.getOffset(W.layoutIndex):0})}j.sort((A,W)=>W.layoutIndex-A.layoutIndex);let k=[];for(let A of j){if(!A.el||A.layoutIndex<0)continue;let W=A.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(`${E.classPrefix}-item--selected`),k.push({clone:W,offset:A.offset,size:A.size,layoutIndex:A.layoutIndex})}let se=new Map,O=I.content.children;for(let A=0;A<O.length;A++){let W=O[A],d=W.dataset?.id,L=parseInt(W.dataset?.index??"-1",10);if(d&&L>=0)se.set(d,u.getOffset(L))}let X=g.scrollPosition,B=[];for(let A of j)if(v.removeItemById(A.id)>=0)B.push(A.id);if(B.length===0)return 0;C(),v.forceRender(),f();for(let A of B)c.emit("data:change",{type:"remove",id:A});if(k.length===0){if(K>=0){let A=g.totalItems;if(A>0)v.getRenderedElement(Math.min(K,A-1))?.focus()}for(let A of B)c.emit("remove:end",{id:A});return B.length}let w=X-g.scrollPosition,N=r,y={duration:N.duration,easing:N.easing},p=[];k.sort((A,W)=>A.layoutIndex-W.layoutIndex);let Z=0;for(let A of k){A.clone.style.zIndex="1",I.content.appendChild(A.clone);let W=m(A.offset-w),d=m(A.offset-Z);p.push(A.clone.animate([{transform:`${h}(${W}px) scaleY(1)`,opacity:1,transformOrigin:_},{transform:`${h}(${d}px) scaleY(0)`,opacity:0,transformOrigin:_}],y)),Z+=A.size}let q=new Set(k.map((A)=>A.clone)),G=I.content.children;for(let A=0;A<G.length;A++){let W=G[A];if(q.has(W))continue;let d=W.dataset?.id,L=parseInt(W.dataset?.index??"-1",10);if(!d||L<0)continue;let S=se.get(d);if(S===void 0)continue;let z=u.getOffset(L),Y=m(S-w),ne=m(z);if(Y===ne)continue;p.push(W.animate([{transform:`${h}(${Y}px)`},{transform:`${h}(${ne}px)`}],y))}let P=!1,J=()=>{if(P)return;P=!0,l=null;for(let{clone:A}of k)A.remove();for(let A of p)if(A.playState!=="finished")A.cancel();if(K>=0){let A=g.totalItems;if(A>0)v.getRenderedElement(Math.min(K,A-1))?.focus()}for(let A of B)c.emit("remove:end",{id:A})};return l=J,Promise.all(p.map((A)=>A.finished)).then(J,J),setTimeout(J,N.duration+50),B.length};v.registerMethod("removeItem",a),v.registerMethod("removeItems",D)}if(s){let a=(D,V)=>{if(i)i();if(l)l();let x=V??0,K=new Map,j=I.content.children;for(let P=0;P<j.length;P++){let J=j[P],A=J.dataset?.id,W=parseInt(J.dataset?.index??"-1",10);if(A&&W>=0)K.set(A,u.getOffset(W))}let k=g.scrollPosition,se=T(),O=k>=se-1;v.insertItemAt(D,x),v.forceRender(),f(),c.emit("data:change",{type:"insert",id:D.id});let X=g.scrollPosition-k,B=R(x);if(E.reverse&&X===0&&O){let P=T();if(v.shiftScroll(P-g.scrollPosition),g.prevScrollPosition=g.scrollPosition,g.scrollPosition=P,X=P-k,X>0)v.forceRender(),f()}let w=v.getRenderedElement(B),N=s,y={duration:N.duration,easing:N.easing},p=[];if(w){let P=u.getOffset(B);p.push(w.animate([{transform:`${h}(${m(P)}px) scaleY(0)`,opacity:0,transformOrigin:_},{transform:`${h}(${m(P)}px) scaleY(1)`,opacity:1,transformOrigin:_}],y))}let Z=I.content.children;for(let P=0;P<Z.length;P++){let J=Z[P];if(J===w)continue;let A=J.dataset?.id,W=parseInt(J.dataset?.index??"-1",10);if(!A||W<0)continue;let d=K.get(A);if(d===void 0)continue;let L=u.getOffset(W),S=m(d+X),z=m(L);if(S===z)continue;p.push(J.animate([{transform:`${h}(${S}px)`},{transform:`${h}(${z}px)`}],y))}if(p.length===0)return;let q=!1,G=()=>{if(q)return;q=!0,i=null;for(let P of p)if(P.playState!=="finished")P.cancel()};i=G,Promise.all(p.map((P)=>P.finished)).then(G,G),setTimeout(G,N.duration+50)};v.registerMethod("insertItem",a)}},destroy(){if(l)l();if(i)i()}}}function kt(t){let e=t?.gap??0,o=null,n=null,r,s,l,i,v=new Map,u=new Set,c=new WeakMap,E=0,I=!1,g=!1,_=!1,h=2;function T(a){return v.get(a)??i}function C(a){return v.has(a)&&!u.has(a)}function m(a){if(!n||r.destroyed)return;if(a===void 0){if(v.size===0)return;v.clear(),u.clear(),n.rebuildSizeCache(),f()}else{if(!v.has(a))return;u.add(a)}n.forceRender()}function b(){return Math.max(0,n.sizeCache.getTotalSize()+n.config.mainAxisPadding-r.containerSize)}function R(){let a=b();return a>0&&r.scrollPosition>=a-h}function M(){let a=b();if(a>r.scrollPosition)n.scrollTo(a)}function f(){n.updateContentSize(n.sizeCache.getTotalSize())}return{name:"autosize",priority:5,setup(a){if(n=a,r=a.getState(),s=a.config.axis.primary==="x",l=s?"width":"height",e===0)e=a.config.gap;if(i=typeof a.rawSizeSpec==="function"?a.rawSizeSpec(0)+e:a.rawSizeSpec+e,a.setSizeConfig(T),e>0){let j=a.sizeCache.getTotalSize;a.sizeCache.getTotalSize=()=>{let k=j();return k>0?k-e:0}}o=new ResizeObserver((j)=>{if(r.destroyed||!n)return;let k=!1,se=a.sizeCache.indexAtOffset(r.scrollPosition);for(let N of j){let y=N.target,p=c.get(y);if(p===void 0)continue;if(y.getAttribute("data-index")!==String(p)){o.unobserve(y);continue}if(C(p))continue;let Z=N.borderBoxSize[0];if(!Z)continue;let q=s?Z.inlineSize:Z.blockSize;if(q<=0)continue;let G=q+e,P=v.has(p),J=v.get(p)??i;if(v.set(p,G),u.delete(p),!P||G!==J)k=!0;if(p<se&&G!==J)E+=G-J;o.unobserve(y),y.style[l]=`${q}px`}if(!k)return;let O=R();if(a.rebuildSizeCache(),E)a.shiftScroll(E),E=0;let X=r.scrollDirection!==0,B=r.totalItems>0&&r.prevRangeEnd>=r.totalItems-1,w=g&&!_;if(w||O||B||!X){if(f(),I=!1,w||O)M()}else I=!0;a.forceRender()}),a.setScrollToIndexFn((j,k,se,O,X)=>{let B=j>=r.totalItems-1&&k==="end";if(g=B,_=!1,!B)return!1;let w=a.config.mainAxisPadding,N=()=>{let y=a.sizeCache.getTotalSize();return Math.max(0,y+w-r.containerSize)};if(se==="smooth")_=!0,a.smoothScrollTo(N,O??300,X,()=>{_=!1});else a.scrollTo(N())});let D=()=>{g=!1},V=a.dom.viewport;V.addEventListener("wheel",D,{passive:!0}),V.addEventListener("touchstart",D,{passive:!0}),a.registerDestroyHandler(()=>{V.removeEventListener("wheel",D),V.removeEventListener("touchstart",D)});let x=a.dom.content,K=(j)=>{let k=j.target;if(!k||k===x)return;let se=k.closest("[data-index]");if(!se||se.parentNode!==x)return;let O=Number(se.getAttribute("data-index"));if(C(O))m(O)};x.addEventListener("load",K,!0),x.addEventListener("error",K,!0),a.registerDestroyHandler(()=>{x.removeEventListener("load",K,!0),x.removeEventListener("error",K,!0)}),a.registerMethod("isMeasured",C),a.registerMethod("remeasure",m),a.registerMethod("setMeasuredSize",(j,k)=>{v.set(j,k)}),a.registerMethod("getMeasuredCount",()=>v.size),a.registerDestroyHandler(()=>{if(o)o.disconnect(),o=null})},hooks:{onCommit(a){if(!o||!n)return;for(let D=0;D<a.visibleCount;D++){let V=a.visibleIndices[D];if(C(V))continue;let x=n.getRenderedElement(V);if(!x)continue;x.style[l]="",c.set(x,V),o.observe(x)}},onIdle(){if(!n||!I)return;let a=R();if(f(),I=!1,a)M(),n.forceRender()}},destroy(){if(o)o.disconnect(),o=null;v.clear(),u.clear(),g=!1,_=!1,n=null}}}var On=(t)=>{let e=Math.max(1,Math.floor(t.columns)),o=t.gap??0,n=t.containerSize,r=t.crossOffset??0,s=t.mainOffset??0,l=0,i=[],v=()=>{let C=(e-1)*o;l=Math.max(0,(n-C)/e),i=Array(e);let m=l+o;for(let b=0;b<e;b++)i[b]=r+b*m};v();let u=[],c=0,E=[],I=(C,m)=>{if(C<=0)return c=0,u=[],[];let b=Array(e).fill(s),R=Array(e);for(let a=0;a<e;a++)R[a]=[];let M=Array(C);for(let a=0;a<C;a++){let D=0,V=b[0];for(let j=1;j<e;j++){let k=b[j];if(k<V)V=k,D=j}let x=m(a),K=b[D];M[a]={index:a,x:i[D],y:K,lane:D,size:x,crossSize:l},R[D].push(a),b[D]=K+x+o}u=R;let f=0;for(let a=0;a<e;a++){let D=b[a],V=D>0?D-o:0;if(V>f)f=V}return c=f,M},g=(C)=>{if(C.length===0)return c;if(c)return c;let m=Array(e).fill(0);for(let R of C){let M=R.y+R.size,f=m[R.lane];if(M>f)m[R.lane]=M}let b=0;for(let R=0;R<e;R++)if(m[R]>b)b=m[R];return b},_=(C,m,b)=>{if(C.length===0||b<=m)return E.length=0,E;if(u.length===0||u.length!==e)return h(C,m,b);E.length=0;for(let R=0;R<e;R++){let M=u[R],f=M.length;if(!f)continue;let a=0,D=f;while(a<D){let V=a+D>>>1,x=C[M[V]];if(x.y+x.size<=m)a=V+1;else D=V}for(let V=a;V<f;V++){let x=C[M[V]];if(x.y>=b)break;E.push(x)}}return E},h=(C,m,b)=>{E.length=0;for(let R of C)if(R.y+R.size>m&&R.y<b)E.push(R);return E};return{get columns(){return e},get gap(){return o},get containerSize(){return n},update:(C)=>{let m=!1;if(C.columns!==void 0){let b=Math.max(1,Math.floor(C.columns));if(b!==e)e=b,m=!0}if(C.gap!==void 0&&C.gap!==o)o=C.gap,m=!0;if(C.containerSize!==void 0&&C.containerSize!==n)n=C.containerSize,m=!0;if(C.crossOffset!==void 0&&C.crossOffset!==r)r=C.crossOffset,m=!0;if(C.mainOffset!==void 0&&C.mainOffset!==s)s=C.mainOffset,m=!0;if(m)v()},calculateLayout:I,getTotalSize:g,getVisibleItems:_}};var Nn=(t,e,o)=>{let n=Array.from(e).sort((l,i)=>l-i);if(n.length<=1)return;let r=[];for(let l=0;l<n.length;l++){let i=o(n[l]);if(i)r.push(i)}if(r.length<=1)return;let s=t.firstChild;for(let l=0;l<r.length;l++){let i=r[l];if(i===s)s=s.nextSibling;else t.insertBefore(i,s)}};var wo=(t=200)=>{let e=[];return{acquire:()=>{let s=e.pop();if(s)return s;let l=document.createElement("div");return l.setAttribute("role","option"),l},release:(s)=>{if(s.remove(),e.length<t)s.className="",s.textContent="",s.removeAttribute("style"),s.removeAttribute("data-index"),s.removeAttribute("data-id"),s.removeAttribute("data-lane"),e.push(s)},clear:()=>{e.length=0}}},zo=1,Gn=(t,e,o,n=!1,r,s,l,i,v=()=>0)=>{let u=wo(),c=new Map,E=new Set,I=0,g="",_=-1,h={selected:!1,focused:!1},T=(O,X)=>(h.selected=O,h.focused=X,h),C=`${o}-item ${o}-masonry-item`,m=`${o}-group-header`,b=`${o}-item--selected`,R=`${o}-item--focused`,M=(O,X)=>{if(typeof X==="string")O.innerHTML=X;else O.replaceChildren(X);Be(O)},f=(O,X,B)=>{O.classList.toggle(b,X),O.classList.toggle(R,B)},a=(O,X)=>{let B=Math.round(X.y-v());if(n)O.style.transform=`translate(${B}px, ${Math.round(X.x)}px)`;else O.style.transform=`translate(${Math.round(X.x)}px, ${B}px)`},D=(O,X)=>{if(n)O.style.width=`${X.size}px`,O.style.height=`${X.crossSize}px`;else O.style.width=`${X.crossSize}px`,O.style.height=`${X.size}px`},V=(O,X,B,w,N)=>{let y=u.acquire(),p=X.__groupHeader,Z=T(w,N);if(y.className=p?m:C,y.dataset.index=String(O),y.dataset.id=String(X.id),y.dataset.lane=String(B.lane),p)y.setAttribute("role","presentation"),y.removeAttribute("aria-selected"),y.removeAttribute("aria-setsize"),y.removeAttribute("aria-posinset"),y.removeAttribute("id");else if(i===!0){if(y.setAttribute("role","option"),y.ariaSelected=String(w),s)y.id=`${s}-item-${O}`;if(r){let G=r();if(G!==_)_=G,g=String(G);y.setAttribute("aria-setsize",g);let P=l?l(O):O+1;y.setAttribute("aria-posinset",String(P))}}else if(y.setAttribute("role","listitem"),y.removeAttribute("aria-selected"),r){let G=r();if(G!==_)_=G,g=String(G);y.setAttribute("aria-setsize",g);let P=l?l(O):O+1;y.setAttribute("aria-posinset",String(P))}D(y,B);let q=e(X,O,Z);return M(y,q),f(y,w,N),a(y,B),{element:y,lastItem:X,lastSelected:w,lastFocused:N,lastY:B.y-v(),absY:B.y,lastX:B.x,lastSize:B.size,lastCrossSize:B.crossSize,lastSeenFrame:I}},x=(O,X,B,w)=>{I++,E.clear();for(let y=0;y<X.length;y++)E.add(X[y].index);let N=null;for(let y=0;y<X.length;y++){let p=X[y],Z=p.index,q=O(Z);if(!q)continue;let G=B.has(q.id),P=Z===w,J=c.get(Z);if(J){let A=J.lastItem!==q,W=J.lastSelected!==G,d=J.lastFocused!==P,L=J.lastY!==p.y-v()||J.lastX!==p.x,S=J.lastSize!==p.size||J.lastCrossSize!==p.crossSize;if(A){let z=T(G,P),Y=e(q,Z,z);if(M(J.element,Y),J.element.dataset.id=String(q.id),J.lastItem=q,!q.__groupHeader){let te=l?l(Z):Z+1;J.element.setAttribute("aria-posinset",String(te))}}if(A||W||d)f(J.element,G,P),J.element.ariaSelected=String(G),J.lastSelected=G,J.lastFocused=P;if(S)D(J.element,p),J.lastSize=p.size,J.lastCrossSize=p.crossSize;if(L)a(J.element,p),J.lastY=p.y-v(),J.absY=p.y,J.lastX=p.x}else{let A=V(Z,q,p,G,P);if(!N)N=document.createDocumentFragment();N.appendChild(A.element),c.set(Z,A)}}if(N)t.appendChild(N);for(let[y,p]of c)if(E.has(y))p.lastSeenFrame=I;else if(I-p.lastSeenFrame>zo)u.release(p.element),c.delete(y);else{let Z=Math.round(p.absY-v());if(Z!==p.lastY){p.lastY=Z;let q=Math.round(p.lastX);p.element.style.transform=n?`translate(${Z}px, ${q}px)`:`translate(${q}px, ${Z}px)`}}},K=()=>{for(let O of c.values())u.release(O.element);c.clear(),t.innerHTML=""};return{render:x,getElement:(O)=>c.get(O)?.element,updateItemClasses:(O,X,B)=>{let w=c.get(O);if(!w)return;let N=w.lastSelected!==X,y=w.lastFocused!==B;if(N||y)f(w.element,X,B),w.lastSelected=X,w.lastFocused=B},sortDOM:()=>{Nn(t,c.keys(),(O)=>c.get(O)?.element)},clear:K,destroy:()=>{K(),u.clear()}}};var Ao=100,Ro=new Set;function _t(t){if(!t.columns||t.columns<1)throw Error("[vlist] masonry: columns must be >= 1");let e,o=null,n,r=null,s,l,i,v=[],u=-1,c=-1,E=!0,I=-1,g=-1,_=0,h=0,T=0,C=0,m={columnWidth:0,columns:0,gap:0,containerWidth:0},b=[],R=(d)=>b[d],M=null,f=null,a=!1;function D(){if(a||!r)return;a=!0,M=r.getMethod("_getSelectedIds")??null,f=r.getMethod("_getFocusedIndex")??null}let V=[],x=new Int32Array(0),K=[],j=null,k=null,se=null,O=null,X=!1,B=!0;function w(){if(X||!r)return;if(j=r.getMethod("_getItemLane")??null,k=r.getMethod("_getItemY")??null,se=r.getMethod("_getItemH")??null,O=r.getMethod("_isGroupHeader")??null,j||O)X=!0}function N(){w();let d=e.columns,L=!!j;if(L){let S=n.totalItems;V=Array(d);for(let z=0;z<d;z++)V[z]=[];if(x.length<S)x=new Int32Array(S);for(let z=0;z<S;z++){if(O?.(z))continue;let Y=j(z);if(Y<0||Y>=d)continue;x[z]=V[Y].length,V[Y].push(z)}}else{let S=v.length;V=Array(d);for(let z=0;z<d;z++)V[z]=[];if(x.length<S)x=new Int32Array(S);for(let z=0;z<S;z++){let Y=v[z];x[z]=V[Y.lane].length,V[Y.lane].push(z)}}K=Array(d);for(let S=0;S<d;S++){let z=V[S],Y=new Float64Array(z.length);for(let ne=0;ne<z.length;ne++){let te=z[ne];if(L&&k&&se){let Q=k(te),ae=se(te);Y[ne]=Q>=0?Q+(ae>0?ae*0.5:0):0}else{let Q=v[te];Y[ne]=Q.y+Q.size*0.5}}K[S]=Y}}function y(d,L){let S=d.length;if(!S)return-1;let z=0,Y=S-1;while(z<Y){let ne=z+Y>>1;if(d[ne]<L)z=ne+1;else Y=ne}if(z>0&&Math.abs(d[z-1]-L)<=Math.abs(d[z]-L))return z-1;return z}function p(d,L,S){if(B)N(),B=!1;let z=!!j,Y,ne;if(z){if(O?.(d))return d;if(Y=j(d),Y<0)return d;ne=x[d]}else{let oe=v[d];if(!oe)return d;Y=oe.lane,ne=x[d]}let te=e.columns,Q=V[Y];switch(s?L==="ArrowDown"?"ArrowRight":L==="ArrowUp"?"ArrowLeft":L==="ArrowRight"?"ArrowDown":L==="ArrowLeft"?"ArrowUp":L:L){case"ArrowDown":if(ne+1<Q.length)return Q[ne+1];return d;case"ArrowUp":if(ne>0)return Q[ne-1];return d;case"ArrowRight":{if(Y>=te-1)return d;let oe=Y+1,pe=V[oe];if(!pe.length)return d;let be=y(K[oe],K[Y]?.[ne]??0);return be>=0?pe[be]:d}case"ArrowLeft":{if(Y<=0)return d;let oe=Y-1,pe=V[oe];if(!pe.length)return d;let be=y(K[oe],K[Y]?.[ne]??0);return be>=0?pe[be]:d}case"Home":return 0;case"End":{let oe=V[te-1];return oe.length>0?oe[oe.length-1]:d}case"PageDown":{let oe=n.containerSize,pe=z?null:v[d],be=pe&&pe.size>0?pe.size:150,fe=Math.max(1,Math.floor(oe/be)),H=Math.min(ne+fe,Q.length-1);return Q[H]}case"PageUp":{let oe=n.containerSize,pe=z?null:v[d],be=pe&&pe.size>0?pe.size:150,fe=Math.max(1,Math.floor(oe/be)),H=Math.max(0,ne-fe);return Q[H]}}return d}let Z=null;function q(){if(t.size)return(d)=>t.size(d,m);if(Z!==null&&typeof Z==="function")return(d)=>Z(d,m);return(d)=>r.sizeCache.getSize(d)}function G(){let d=e.columns,L=e.gap;m.containerWidth=e.containerSize,m.columns=d,m.gap=L,m.columnWidth=Math.max(0,(e.containerSize-(d-1)*L)/d)}function P(){if(!r)return;G();let d=n.totalItems;v=e.calculateLayout(d,q()),I=d,B=!0,J()}function J(){if(!r)return;let d=e.getTotalSize(v)+C;if(d===g)return;g=d,r.updateContentSize(d)}function A(){if(n.destroyed||!r||!o)return;if(n.totalItems!==I)P();if(E)g=-1,J();D();let d=n.scrollPosition,L=n.containerSize;if(!E&&d===u&&L===c)return;if(u=d,c=L,E=!1,L<=0||v.length===0)return;let S=Math.max(0,d-i),z=d+L+i,Y=e.getVisibleItems(v,S,z),ne=M?.()??Ro,te=f?.()??-1;b=r.getItems(),o.render(R,Y,ne,te);let Q=Y.length,ae=Q>0?Y[0].index:0,oe=Q>0?Y[Q-1].index:0;n.prevRangeStart=ae,n.prevRangeEnd=oe,n.renderPending=!1;let pe=Math.min(Q,n.capacity);n.visibleCount=pe,n.startIndex=ae;for(let be=0;be<pe;be++){let fe=Y[be];n.visibleIndices[be]=fe.index,n.visibleOffsets[be]=fe.y,n.visibleSizes[be]=fe.size}}function W(){if(n.destroyed)return;g=-1,P(),n.prevRangeStart=-1,n.prevRangeEnd=-1,n.renderPending=!0,E=!0,A()}return{name:"masonry",priority:10,conflicts:["grid","table"],setup(d){if(r=d,n=d.getState(),Z=d.rawSizeSpec,s=d.config.axis.primary==="x",l=d.config.classPrefix,i=d.config.overscan*Ao,d.config.reverse)throw Error("[vlist] masonry: cannot be combined with reverse mode");_=d.config.crossAxisPadding,h=d.config.crossPadStart,T=d.config.startPadding,C=d.config.endPadding;let L=n.crossSize-_;e=On({columns:t.columns,gap:t.gap??0,containerSize:L,crossOffset:h,mainOffset:T}),o=Gn(d.dom.content,d.template,l,s,()=>n.totalItems,void 0,void 0,void 0,()=>n.baseOffset),d.dom.root.classList.add(`${l}--masonry`),d.setRenderFn(A,W),P(),d.registerMethod("getMasonryLayout",()=>e),d.registerMethod("updateMasonry",(S)=>{if(S.columns!==void 0&&S.columns<1)throw Error("[vlist] updateMasonry: columns must be >= 1");if(S.gap!==void 0&&S.gap<0)throw Error("[vlist] updateMasonry: gap must be >= 0");let z={};if(S.columns!==void 0)z.columns=S.columns;if(S.gap!==void 0)z.gap=S.gap;e.update(z),o?.clear(),W()}),d.registerMethod("scrollToIndex",(S,z="start")=>{let Y=v[S];if(!Y)return;let ne=typeof z==="string"?z:z.align??"start",te=typeof z==="object"?z.behavior:void 0,Q=typeof z==="object"?z.duration:void 0,ae=n.containerSize,oe=e.getTotalSize(v)+C,pe=Math.max(0,oe-ae),be=Y.y;if(ne==="center")be=Y.y-ae/2+Y.size/2;else if(ne==="end"){if(be=Y.y-ae+Y.size,S>=n.totalItems-1&&Y.y+Y.size>pe)be=pe}if(be=Math.max(0,Math.min(be,pe)),te==="smooth"&&Q&&Q>0)d.smoothScrollTo(be,Q);else d.scrollTo(be)}),d.registerMethod("_scrollItemIntoView",(S)=>{let z=v[S];if(!z)return;let Y=n.scrollPosition,ne=n.containerSize,te=e.getTotalSize(v)+C,Q=Math.max(0,te-ne),ae=z.y,oe=ae+z.size;if(ae-T<Y)d.scrollTo(Math.max(0,ae-T));else if(oe+C>Y+ne){let pe=V[e.columns-1];if(pe&&pe.length>0&&S===pe[pe.length-1]&&ae>=Q)d.scrollTo(Q);else d.scrollTo(Math.min(oe+C-ne,Q))}}),d.setNavConfig({total:()=>n.totalItems,navigate:p}),d.registerDestroyHandler(()=>{o?.destroy(),o=null,d.dom.root.classList.remove(`${l}--masonry`)})},hooks:{onResize(d,L){if(!e||!r)return;let S=n.crossSize-_;if(Math.abs(S-e.containerSize)<1)return;e.update({containerSize:S}),o?.clear(),W()},onIdle(){o?.sortDOM()}},destroy(){o?.destroy(),o=null,v=[],r=null}}}var Bn=(t={})=>{let{chunkSize:e=100,maxCachedItems:o=5000,evictionBuffer:n=200,onEvict:r}=t,s=new Map,l=0,i=0,v=(B)=>{let w=s.get(B);if(!w)w={items:Array(e),count:0,lastAccess:Date.now()},s.set(B,w);else w.lastAccess=Date.now();return w},u=(B)=>Math.floor(B/e),c=(B)=>B%e,E=()=>l,I=(B)=>{l=B},g=(B)=>{if(B<0||B>=l)return;let w=u(B),N=s.get(w);if(!N)return;return N.items[c(B)]},_=(B)=>{if(B<0||B>=l)return!1;let w=u(B),N=s.get(w);if(!N)return!1;return N.items[c(B)]!==void 0},h=(B,w)=>{let N=u(B),y=v(N),p=c(B),Z=y.items[p]===void 0;if(y.items[p]=w,Z)y.count++,i++;if(B>=l)l=B+1},T=(B,w)=>{for(let N=0;N<w.length;N++){let y=w[N];if(y!==void 0)h(B+N,y)}},C=(B,w)=>{if(B<0||B>l)return;let N=u(B),y=Array.from(s.keys()).filter((P)=>P>=N).sort((P,J)=>P-J),p=[];for(let P of y){let J=s.get(P),A=P*e;for(let W=0;W<e;W++){if(J.items[W]===void 0)continue;let d=A+W;if(d<B)continue;p.push({oldIndex:d,item:J.items[W]})}}for(let{oldIndex:P}of p){let J=u(P),A=s.get(J);if(!A)continue;let W=c(P);if(A.items[W]!==void 0){if(A.items[W]=void 0,A.count--,i--,A.count===0)s.delete(J)}}l++;for(let{oldIndex:P,item:J}of p){let A=P+1,W=u(A),d=v(W),L=c(A);d.items[L]=J,d.count++,i++}let Z=u(B),q=v(Z),G=c(B);q.items[G]=w,q.count++,i++},m=(B)=>{if(B<0||B>=l)return!1;let w=u(B),N=s.get(w),y=c(B);if(!(N!==void 0&&N.items[y]!==void 0))return!1;let Z=w,q=Array.from(s.keys()).filter((P)=>P>=Z).sort((P,J)=>P-J),G=[];for(let P of q){let J=s.get(P),A=P*e;for(let W=0;W<e;W++){if(J.items[W]===void 0)continue;let d=A+W;if(d<=B)continue;G.push({oldIndex:d,item:J.items[W]})}}if(N.items[y]=void 0,N.count--,i--,N.count===0)s.delete(w);for(let{oldIndex:P}of G){let J=u(P),A=s.get(J);if(!A)continue;let W=c(P);if(A.items[W]!==void 0){if(A.items[W]=void 0,A.count--,i--,A.count===0)s.delete(J)}}for(let{oldIndex:P,item:J}of G){let A=P-1,W=u(A),d=v(W),L=c(A);d.items[L]=J,d.count++,i++}return l--,!0},b=(B,w)=>{let N=[];for(let y=B;y<=w&&y<l;y++)N.push(g(y));return N},R=(B,w)=>{for(let N=B;N<=w&&N<l;N++)if(!_(N))return!1;return!0},M=()=>{let B=[],w=null,N=Array.from(s.keys()).sort((y,p)=>y-p);for(let y of N){let p=s.get(y);if(!p)continue;let Z=y*e;for(let q=0;q<e;q++){let G=Z+q;if(G>=l)break;if(p.items[q]!==void 0)if(w===null)w={start:G,end:G};else if(G===w.end+1)w.end=G;else B.push(w),w={start:G,end:G};else if(w!==null)B.push(w),w=null}}if(w!==null)B.push(w);return B},f=(B,w)=>{let N=[],y=null;for(let p=B;p<=w&&p<l;p++)if(!_(p))if(y===null)y={start:p,end:p};else y.end=p;else if(y!==null)N.push(y),y=null;if(y!==null)N.push(y);return N},a=(B)=>s.has(B),D=(B)=>{let w=s.get(B);if(!w)return!1;let N=B*e,y=Math.min(e,l-N);return w.count>=y},V=(B)=>{let w=s.get(B);if(w)w.lastAccess=Date.now()},x=(B,w)=>{if(B>w||s.size===0)return;let N=Date.now(),y=u(Math.max(0,B)),p=u(Math.min(l-1,w));for(let Z=y;Z<=p;Z++){let q=s.get(Z);if(q)q.lastAccess=N}},K=(B,w)=>{if(i<=o)return 0;let N=Math.max(0,B-n),y=Math.min(l-1,w+n),p=u(N),Z=u(y),q=0,G=[];for(let[P,J]of s)if(P<p||P>Z)q+=J.count,G.push(P),i-=J.count,s.delete(P);if(q>0&&r)r(q,G);return q},j=()=>{if(i<=o)return 0;let B=Array.from(s.entries()).sort(([,y],[,p])=>y.lastAccess-p.lastAccess),w=0,N=[];for(let[y,p]of B){if(i<=o)break;w+=p.count,i-=p.count,N.push(y),s.delete(y)}if(w>0&&r)r(w,N);return w},k=()=>({totalItems:l,cachedItems:i,cachedChunks:s.size,chunkSize:e,maxCachedItems:o,memoryEfficiency:l>0?1-i/l:1}),se=()=>i,O=()=>{s.clear(),i=0};return{chunkSize:e,maxCachedItems:o,getTotal:E,setTotal:I,get:g,has:_,set:h,setRange:T,insert:C,delete:m,getRange:b,isRangeLoaded:R,getLoadedRanges:M,findUnloadedRanges:f,getChunkIndex:u,isChunkLoaded:a,isChunkFullyLoaded:D,touchChunk:V,touchChunksForRange:x,evictDistant:K,evictToLimit:j,getStats:k,getCachedCount:se,clear:O,reset:()=>{O(),l=0}}};var Wn=(t={})=>{let{maskCharacter:e=gn,maxSampleSize:o=pn}=t,n=[],r=!1,s=(c)=>{if(r||c.length===0)return;let E=Math.min(c.length,o);for(let I=0;I<E;I++){let g=c[I];if(!g||typeof g!=="object")continue;let _={},h=!1;for(let[T,C]of Object.entries(g)){if(T.startsWith("_")||T==="id")continue;_[T]=String(C??"").length,h=!0}if(h)n.push(_)}r=!0},l=()=>r,i=(c)=>{let E={id:`${$e}${c}`,[Lt]:!0,_index:c};if(n.length===0)return E.label=e.repeat(12),E;let I=n[c%n.length];for(let[g,_]of Object.entries(I))E[g]=e.repeat(Math.max(1,_));return E};return{analyzeStructure:s,hasAnalyzedStructure:l,generate:i,generateRange:(c,E)=>{let I=[];for(let g=c;g<=E;g++)I.push(i(g));return I},clear:()=>{n=[],r=!1}}},gt=(t)=>{if(!t||typeof t!=="object")return!1;return t[Lt]===!0};var Ho=50,Kn=(t={})=>{let{adapter:e,initialItems:o,initialTotal:n,storage:r,placeholder:s,pageSize:l=Ho,maxConcurrent:i=0,onStateChange:v,onDataChange:u,onItemsLoaded:c,onItemsEvicted:E,onLoadError:I}=t,g=Bn({...r,onEvict:(fe,H)=>{E?.(fe),K(),x()}}),_=null,h=()=>{if(!_)_=Wn(s);return _},T=new Map,C=!1,m,b=!0,R,M,f=[],a=0,D=new Map,V=()=>{for(let fe of D.values())fe[1].abort();D.clear()},x=()=>{v?.(y())},K=()=>{u?.()},j=()=>{T.clear();let fe=g.getLoadedRanges();for(let H of fe)for(let ie=H.start;ie<=H.end;ie++){let re=g.get(ie);if(re&&!gt(re))T.set(re.id,ie)}},k=(fe,H)=>{if(!gt(H))T.set(H.id,fe)},se=(fe)=>{T.delete(fe)},O=(fe,H)=>`${fe}-${H}`,X=()=>g.getTotal(),B=()=>g.getCachedCount(),w=()=>C,N=()=>b,y=()=>({total:g.getTotal(),cached:g.getCachedCount(),isLoading:C,pendingRanges:f,error:m,hasMore:b,cursor:R}),p=()=>g,Z=()=>h(),q=(fe)=>{let H=g.get(fe);if(H!==void 0)return H;if(fe>=0&&fe<g.getTotal())return h().generate(fe);return},G=(fe)=>{let H=T.get(fe);if(H===void 0)return;return g.get(H)},P=(fe)=>T.get(fe)??-1,J=(fe)=>{let H=g.get(fe);return H!==void 0&&!gt(H)},A=(fe,H)=>{let ie=[],re=g.getTotal();g.touchChunksForRange(fe,Math.min(H,re-1));for(let ye=fe;ye<=H&&ye<re;ye++){let Le=g.get(ye);if(Le!==void 0)ie.push(Le);else ie.push(h().generate(ye))}return ie},W=(fe)=>{g.setTotal(fe),b=g.getCachedCount()<fe,K(),x()},d=(fe,H=0,ie)=>{if(e&&fe.length>0){let re=h();if(!re.hasAnalyzedStructure())re.analyzeStructure(fe)}for(let re=0;re<fe.length;re++){let ye=fe[re];if(ye!==void 0){let Le=H+re;g.set(Le,ye),k(Le,ye)}}if(ie!==void 0)g.setTotal(ie);else if(H+fe.length>g.getTotal())g.setTotal(H+fe.length);if(g.getCachedCount()>=g.getTotal()&&g.getTotal()>0)b=!1;K(),x(),c?.(fe,H,g.getTotal())},L=(fe,H)=>{let ie=g.get(fe);if(!ie)return!1;let re=ie.id,ye={...ie,...H};if(g.set(fe,ye),H.id!==void 0&&H.id!==re)se(re);return k(fe,ye),K(),x(),!0},S=(fe,H)=>{g.insert(H,fe),j(),V(),K(),x()},z=(fe)=>{let H=T.get(fe);if(H===void 0)return!1;if(!g.delete(H))return!1;return j(),V(),K(),x(),!0},Y=async(fe,H)=>{if(!e)return;let ie=g.chunkSize,re=Math.floor(fe/ie),ye=Math.floor(H/ie),Le=ie*2;for(let[Te,Ee]of D){let Re=Te.indexOf("-"),Ae=parseInt(Te.slice(0,Re),10);if(Math.abs(Ae-fe)>Le)Ee[1].abort(),D.delete(Te)}let xe=[],Ce=[];for(let Te=re;Te<=ye;Te++){let Ee=Te*ie,Re=Ee+ie-1,Ae=O(Ee,Re);if(g.isChunkFullyLoaded(Te))continue;let le=D.get(Ae);if(le)Ce.push(le[0]);else xe.push({start:Ee,end:Re})}if(xe.length===0){if(Ce.length>0)await Promise.all(Ce);return}if(i>0){let Te=D.size+xe.length;if(Te>i){let Ee=(fe+H)/2,Re=Math.min(Te-i,D.size);while(Re>0){let U=null,le=-1,me=null;for(let[ue,Ie]of D){let ge=ue.indexOf("-"),ve=parseInt(ue.slice(0,ge),10),He=parseInt(ue.slice(ge+1),10),Pe=Math.abs((ve+He)/2-Ee);if(Pe>le)le=Pe,U=ue,me=Ie[1]}if(U)me.abort(),D.delete(U);Re--}let Ae=i-D.size;if(xe.length>Ae)xe.sort((U,le)=>{let me=Math.abs((U.start+U.end)/2-Ee),ue=Math.abs((le.start+le.end)/2-Ee);return me-ue}),xe.length=Math.max(0,Ae)}}if(xe.length===0){if(Ce.length>0)await Promise.all(Ce);return}for(let Te of xe){let Ee=O(Te.start,Te.end),Re=new AbortController,Ae=(async()=>{f.push(Te),C=!0,m=void 0,x();try{let U=Te.end-Te.start+1,le={offset:Te.start,limit:U,cursor:Te.start===M?R:void 0,signal:Re.signal},me=await e.read(le);if(d(me.items,Te.start,me.total),me.cursor)R=me.cursor,M=Te.start+me.items.length;let ue=Te.start+me.items.length;if(ue>=a){if(a=ue,me.hasMore!==void 0)b=me.hasMore;else if(me.total!==void 0)b=ue<me.total}}catch(U){if(U?.name==="AbortError")return;m=U instanceof Error?U:Error(String(U)),I?.(m,Te)}finally{D.delete(Ee);let U=f.findIndex((le)=>le.start===Te.start&&le.end===Te.end);if(U>=0)f.splice(U,1);C=D.size>0,x()}})();D.set(Ee,[Ae,Re]),Ce.push(Ae)}await Promise.all(Ce)},ne=async(fe,H)=>{if(g.isRangeLoaded(fe,H))return;await Y(fe,H)},te=async()=>{if(!e)return;await Y(0,l-1)},Q=async()=>{if(!e||C||!b)return!1;let fe=g.getCachedCount(),H=g.getTotal(),ie=fe,re=Math.min(ie+l-1,H>0?H-1:ie+l-1);if(ie>=H&&H>0)return b=!1,!1;return await Y(ie,re),g.getCachedCount()>fe},ae=async()=>{if(g.clear(),T.clear(),_)_.clear();V(),f=[],C=!1,R=void 0,M=void 0,b=!0,a=0,m=void 0,K(),x()},oe=(fe,H)=>{if(g.evictDistant(fe,H)>0)j()},pe=()=>{g.clear(),T.clear(),R=void 0,M=void 0,m=void 0,f=[],C=!1,K(),x()},be=()=>{if(g.reset(),T.clear(),_)_.clear();R=void 0,M=void 0,b=!0,a=0,m=void 0,f=[],C=!1,K(),x()};if(o&&o.length>0)d(o,0,n??o.length);else if(n!==void 0)g.setTotal(n),K(),x();return{getState:y,getTotal:X,getCached:B,getIsLoading:w,getHasMore:N,getStorage:p,getPlaceholders:Z,getItem:q,getItemById:G,getIndexById:P,isItemLoaded:J,getItemsInRange:A,setTotal:W,setItems:d,updateItem:L,insertItem:S,removeItem:z,loadRange:Y,ensureRange:ne,loadInitial:te,loadMore:Q,reload:ae,evictDistant:oe,clear:pe,reset:be}};function Ft(t){let{adapter:e,total:o,autoLoad:n=!0,storage:r}=t,s=t.loading?.cancelThreshold??sn,l=t.loading?.preloadThreshold??rn,i=t.loading?.preloadAhead??on,v=t.loading?.maxConcurrent??ln,u,c,E,I,g,_,h=null,T=null,C=null,m=0,b=!1,R=null,M=xt,f=-1,a=-1,D=-1,V=-1,x=r?.chunkSize??at,K=()=>{if(h=null,T!==null)clearTimeout(T),T=null},j=(y,p)=>u.ensureRange(y,p),k=(y,p=at)=>{I.emit("load:start",{offset:y,limit:p})},se=(y)=>{I.emit("error",{error:y,context:"ensureRange"})},O=()=>{h=null;let y={start:c.startIndex,end:c.startIndex+Math.max(0,c.visibleCount-1)};if(y.end<y.start)return;j(y.start,y.end).catch(se)},X=()=>{if(R!==null)clearTimeout(R),R=null},B=()=>{if(c.destroyed)return;let y=u.getTotal();if(c.visibleCount<=0||c.startIndex>=y)return;let p=Math.min(c.startIndex+c.visibleCount-1,y-1);if(p<c.startIndex)return;j(c.startIndex,p).catch(se)},w=()=>{if(R!==null||c.destroyed)return;R=setTimeout(()=>{R=null,B()},M),M=Math.min(M*2,an)},N=()=>{X(),M=xt};return{name:"data",priority:20,setup(y){c=y.getState(),E=y.sizeCache,I=y.emitter,g=y.dom,_=y.forceRender.bind(y);let p=null;y.setVirtualTotalFn(()=>p?.getTotal()??0),y.setGetIndexByIdFn((q)=>p?.getIndexById(q)??-1),u=p=Kn({adapter:e,...o!==void 0&&{initialTotal:o},pageSize:r?.chunkSize??at,maxConcurrent:v,...r&&{storage:{...r.chunkSize!==void 0&&{chunkSize:r.chunkSize},...r.maxCachedItems!==void 0&&{maxCachedItems:r.maxCachedItems},...r.evictionBuffer!==void 0&&{evictionBuffer:r.evictionBuffer}}},onDataChange:()=>{if(c.initialized){let q=u.getTotal(),G=u.getCached();if(c.totalItems=q,q!==f||G!==a)f=q,a=G,E.rebuild(q);y.updateContentSize(E.getTotalSize()),y.renderIfNeeded()}},onItemsLoaded:(q)=>{if(N(),c.initialized)y.updateContentSize(E.getTotalSize()),_(),I.emit("load:end",{items:q,total:u.getTotal()})},onLoadError:(q)=>{if(I.emit("error",{error:q,context:"load"}),c.initialized)y.renderIfNeeded();w()}}),y.setGetItemFn((q)=>u.getItem(q)),y.setRemoveItemFn((q)=>{let G=u.getIndexById(q);if(G<0)return-1;if(!u.removeItem(q))return-1;return G}),y.setInsertItemFn((q,G)=>{u.insertItem(q,G)}),y.setUpdateItemFn((q,G)=>{let P=u.getIndexById(q);if(P<0)return!1;return u.updateItem(P,G)}),y.registerMethod("reload",async()=>{if(h=null,D=-1,V=-1,N(),y.forceRender(),await u.reload(),y.scrollTo(0),n)k(0),await u.loadInitial(),y.forceRender()}),y.registerMethod("loadVisibleRange",async()=>{h=null,y.forceRender();let q=u.getTotal();if(c.visibleCount>0&&c.startIndex<q){let G=Math.min(c.startIndex+c.visibleCount-1,q-1);k(c.startIndex,G-c.startIndex+1),await j(c.startIndex,G)}}),y.registerMethod("loadInitial",async()=>{k(0),await u.loadInitial(),y.forceRender()}),y.registerMethod("getTotal",()=>u.getTotal()),y.registerMethod("setTotal",(q)=>{u.setTotal(q)}),y.registerMethod("_getTotal",()=>u.getTotal()),y.registerMethod("_setTotal",(q)=>{u.setTotal(q)}),y.registerMethod("_cancelAutoLoad",()=>{b=!0}),y.registerMethod("_getLoadedItem",(q)=>u.getStorage().get(q)),y.registerMethod("_getItem",(q)=>u.getItem(q)),y.registerMethod("_getLoadedCount",()=>u.getCached()),I.on("load:start",()=>{g.root.setAttribute("aria-busy","true")}),I.on("load:end",()=>{g.root.removeAttribute("aria-busy")}),y.registerDestroyHandler(()=>{if(C!==null)clearTimeout(C),C=null;K(),X()}),I.on("velocity:change",({velocity:q})=>{m=Math.abs(q)});let Z=()=>{if(c.destroyed)return;N(),B(),O()};if(window.addEventListener("online",Z),y.registerDestroyHandler(()=>{window.removeEventListener("online",Z)}),n)queueMicrotask(()=>{if(b)return;k(0),u.loadInitial().catch((q)=>{I.emit("error",{error:q,context:"loadInitial"})})});else if(o!==void 0)u.setTotal(o)},hooks:{onAfterScroll(){if(c.destroyed)return;let y=c.startIndex+Math.max(0,c.visibleCount-1);if(m>s){if(T!==null)clearTimeout(T),T=null;h={start:c.startIndex,end:y};return}if(m>l){let q=Math.floor(c.startIndex/x),G=Math.floor(y/x);if(q!==D||G!==V){if(D=q,V=G,y>=c.startIndex)j(c.startIndex,y).catch(se)}let P=c.startIndex,J=y,A=c.scrollDirection;if(A>0)J=Math.min(J+i,u.getTotal()-1);else if(A<0)P=Math.max(0,P-i);if(h={start:P,end:J},T!==null)clearTimeout(T);T=setTimeout(()=>{if(T=null,c.destroyed||!h)return;let{start:W,end:d}=h;if(h=null,d>=W)j(W,d).catch(se)},100);return}K();let p=Math.floor(c.startIndex/x),Z=Math.floor(y/x);if(p!==D||Z!==V){if(D=p,V=Z,y>=c.startIndex)j(c.startIndex,y).catch(se)}},onIdle(){if(c.destroyed)return;m=0,D=-1,V=-1,O(),K()},onResize(){if(c.destroyed)return;let y=u.getTotal();if(y<=0)return;if(c.visibleCount<=0||c.startIndex>=y)return;let p=Math.min(c.startIndex+c.visibleCount-1,y-1);if(p<c.startIndex)return;k(c.startIndex,p-c.startIndex+1),j(c.startIndex,p).catch(se)}},destroy(){if(C!==null)clearTimeout(C);K(),X()}}}var Dt=(t,e)=>{let o=0,n=t.length-1;while(o<n){let r=o+n+1>>>1;if(t[r].headerLayoutIndex<=e)o=r;else n=r-1}return o},Un=(t,e)=>{let o=0,n=t.length-1;while(o<n){let r=o+n+1>>>1;if(t[r].firstDataIndex<=e)o=r;else n=r-1}return o},Yn=(t,e,o)=>{if(t===0)return[];let n=[],r=null,s=0,l=0;for(let i=0;i<t;i++){let v=o?.(i);if(!v)continue;let u=e(i,v);if(r===null)r=u,s=0;else if(u!==r){let c=i-s;n.push({key:r,groupIndex:n.length,headerLayoutIndex:l,firstDataIndex:s,count:c}),l=l+1+c,r=u,s=i}}if(r!==null)n.push({key:r,groupIndex:n.length,headerLayoutIndex:l,firstDataIndex:s,count:t-s});return n};var Xn=(t,e,o)=>{let n=Yn(t,e.getGroupForIndex,o),r=t+n.length,s=e.header?.height??e.header?.width??e.headerHeight;return{get totalEntries(){return r},get groupCount(){return n.length},get groups(){return n},getEntry:(g)=>{if(n.length===0)return{type:"item",dataIndex:g,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let _=Dt(n,g),h=n[_];if(g===h.headerLayoutIndex)return{type:"header",group:h};let T=g-h.headerLayoutIndex-1;return{type:"item",dataIndex:h.firstDataIndex+T,group:h}},layoutToDataIndex:(g)=>{if(n.length===0)return g;let _=Dt(n,g),h=n[_];if(g===h.headerLayoutIndex)return-1;let T=g-h.headerLayoutIndex-1;return h.firstDataIndex+T},dataToLayoutIndex:(g)=>{if(n.length===0)return g;let _=Un(n,g),h=n[_],T=g-h.firstDataIndex;return h.headerLayoutIndex+1+T},getGroupAtLayoutIndex:(g)=>{if(n.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let _=Dt(n,g);return n[_]},getGroupAtDataIndex:(g)=>{if(n.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let _=Un(n,g);return n[_]},getHeaderHeight:typeof s==="number"?(g)=>s:(g)=>{let _=n[g];if(!_)return 0;return s(_.key,g)},rebuild:(g,_)=>{n=Yn(g,e.getGroupForIndex,_??o),r=g+n.length}}};var Vt=(t,e,o,n,r=0)=>{let s=o?"width":"height",l=document.createElement("div");return l.className=`${e}-sticky-header`,l.setAttribute("role","presentation"),l.setAttribute("aria-hidden","true"),l.style.cssText="z-index:5;pointer-events:none;overflow:hidden;"+(o?`position:absolute;top:0;bottom:0;left:${r||0}px`:`position:relative;top:${r||0}px`),l.style[s]=`${n}px`,t.insertBefore(l,t.firstChild),l},qn=(t,e,o,n,r,s=!1,l=0,i,v)=>{let u=s?"width":"height",c=s?"height":"width",E=s?"X":"Y",I=(d,L)=>{d.style[u]=`${L}px`},g=i??Vt(t,r,s,0,l),_=()=>{let d=document.createElement("div");return d.className="sticky-group",d.style.position="absolute",d.style.willChange="transform",d.style[c]="100%",d},h=_(),T=_();g.append(h,T);let C=h,m=T,b=e.groups,R=[],M=[],f=[],a=0,D=()=>{b=e.groups,a=b.length,R=Array(a),M=Array(a),f=Array(a);for(let d=0;d<a;d++)R[d]=v?v(b[d].headerLayoutIndex):o.getOffset(b[d].headerLayoutIndex),M[d]=e.getHeaderHeight(d),f[d]=M[d]};D();let V=-1,x=0,K=0,j=-1,k=!1,se=0,O=!1,X=(d,L)=>{n(d,L);let S=M[L];return I(d,S),S},B=(d)=>{d.replaceChildren(),d.style.transform=""},w=(d)=>{if(d===V)return;if(V=d,x=0,K=0,d<0||d>=a){B(C);return}x=X(C,d),K=f[d],I(g,x),C.style.transform=""},N=(d)=>{if(d===se)return;se=d;let L=Math.round(d);C.style.transform=`translate${E}(${L}px)`,m.style.transform=`translate${E}(${L+x}px)`},y=()=>{se=0,C.style.transform="",m.style.transform=""},p=()=>{if(!O)return;let d=C;C=m,m=d,V=j,x=V>=0?M[V]:0,K=V>=0?f[V]:0,I(g,x),B(m),j=-1,O=!1,y()},Z=()=>{if(!O)return;B(m),j=-1,O=!1,y()},q=!!i,G=()=>{if(k)return;if(k=!0,q)g.style.visibility="";else g.style.display=""},P=()=>{if(!k)return;if(k=!1,q)g.style.visibility="hidden";else g.style.display="none";B(C),V=-1,x=0,K=0,Z()},J=(d)=>{if(a===0){if(O)Z();if(!k)G();w(-1);return}if(d<R[0]){P();return}let L=0,S=a-1;while(L<S){let Y=L+S+1>>>1;if(R[Y]+f[Y]<=d)L=Y;else S=Y-1}if(!k)G();w(L);let z=L+1;if(z<a){let Y=R[z]-d;if(Y<=0&&Y>-K){if(j!==z||!O)j=z,X(m,z),O=!0;let ne=K>0?Y/K*x:Y;N(ne)}else if(Y<=-K){if(O)p()}else if(O)Z()}else if(O)Z()},A=()=>{D();let d=V;if(V=-1,x=0,K=0,d>=0)w(d)},W=()=>{g.remove(),V=-1,x=0,K=0,j=-1,k=!1,O=!1};if(!i)g.style.display="none";return{update:J,refresh:A,show:G,hide:P,destroy:W}};var Ye={selected:!1,focused:!1},jn=typeof process<"u"&&process.env?.NODE_ENV!=="production";function $t(t){if(!t.getGroupForIndex)throw Error("[vlist] groups: getGroupForIndex is required");let e=t.header?.height??t.header?.width??t.headerHeight;if(e==null||typeof e==="number"&&e<=0)throw Error("[vlist] groups: header height/width must be a positive number or function");let o=t.header?.template??t.headerTemplate;if(!o)throw Error("[vlist] groups: header.template is required");let n=o,r,s=null,l,i,v,u,c=null,E,I,g,_=null,h,T,C,m=null,b,R,M=null,f=null,a=0,D=0,V=0,x=0,K=0,j=!1,k=null,se=new Map,O=new Set,X=new Map,B=-1,w=-1,N=0,y=!0,p=-1,Z=0,q=null,G;function P(){return r.totalEntries}function J(){let H=i.totalItems;if(H===p)return;if(jn)console.log(`[groups] syncLayout: ${p} → ${H}`);let ie=p>0;p=H,r.rebuild(H,_??g),G(r.totalEntries),S();let re=W?z():l.getTotalSize();if(c?.(re),s)s.refresh(),s.update(i.scrollPosition);if(ie)te();let ye=M?.("_scrollbar:getInstance");if(ye)ye()?.updateBounds(re,i.containerSize)}let A=0,W=null,d=null,L=null;function S(){if(a<=0){W=null,d=null;return}A=((i.crossSize||u.clientWidth)-x-(a-1)*D)/a,W=new Map;let re=r.totalEntries,ye=Array(re),Le=0;if(j){let xe=k??((Ae)=>l.getSize(Ae)),Ce=new Float64Array(a),Te=[],Ee=0,Re=-1;for(let Ae=0;Ae<re;Ae++){let U=r.getEntry(Ae);if(U.type==="header"){let le=0;for(let ue=0;ue<a;ue++)if(Ce[ue]>le)le=Ce[ue];if(Re>=0)Te[Re]=Ee+le;Ee+=le;let me=l.getSize(Ae);W.set(Ae,{col:-1,rowY:Ee}),ye[Le++]=[Ae,Ee,Ee+me],Ee+=me,Ce.fill(0),Re=U.group.groupIndex}else{let le=0,me=Ce[0];for(let ge=1;ge<a;ge++)if(Ce[ge]<me)me=Ce[ge],le=ge;let ue=xe(U.dataIndex),Ie=Ee+Ce[le];W.set(Ae,{col:le,rowY:Ie,h:ue}),ye[Le++]=[Ae,Ie,Ie+ue],Ce[le]=Ce[le]+ue+D}}if(Re>=0){let Ae=0;for(let U=0;U<a;U++)if(Ce[U]>Ae)Ae=Ce[U];Te[Re]=Ee+Ae}L=Te}else{L=null;let xe=0,Ce=0,Te=0;for(let Ee=0;Ee<re;Ee++)if(r.getEntry(Ee).type==="header"){if(Ce>0&&Te>0)xe+=Te;let Ae=l.getSize(Ee);W.set(Ee,{col:-1,rowY:xe}),ye[Le++]=[Ee,xe,xe+Ae],xe+=Ae,Ce=0,Te=0}else{let Ae=Ce%a,U=l.getSize(Ee);if(Ae===0){if(Ce>0&&Te>0)xe+=Te+D;Te=U}else if(U>Te)Te=U;W.set(Ee,{col:Ae,rowY:xe}),ye[Le++]=[Ee,xe,xe+U],Ce++}}ye.length=Le,d=ye}function z(){if(!W||W.size===0)return l.getTotalSize();let H=r.totalEntries;if(j)return L?.[L.length-1]??0;let ie=0;for(let re=H-1;re>=0;re--){let ye=W.get(re);if(ye){ie=ye.rowY+(ye.h??l.getSize(re));break}if(r.getEntry(re).type==="header"){ie=l.getOffset(re)+l.getSize(re);break}}return ie}function Y(H){let ie=i.baseOffset;if(W){let ye=W.get(H);if(ye){let Le=ye.col<0?0:V+ye.col*(A+D),xe=ye.rowY-ie;if(h)return`translate(${Math.round(xe)}px, ${Math.round(Le)}px)`;return`translate(${Math.round(Le)}px, ${Math.round(xe)}px)`}}let re=l.getOffset(H)-ie;if(h)return`translate(${Math.round(re)}px, 0)`;return`translate(0, ${Math.round(re)}px)`}function ne(H,ie){let re=W?.get(ie);if(re){let Le=re.h??l.getSize(ie);if(re.col<0)if(h)H.style.width=`${Le}px`,H.style.height="";else H.style.height=`${Le}px`,H.style.width="100%";else if(h)H.style.width=`${Le}px`,H.style.height=`${A}px`;else H.style.height=`${Le}px`,H.style.width=`${A}px`;return}let ye=l.getSize(ie);if(h)H.style.width=`${ye}px`;else H.style.height=`${ye}px`}function te(){se.forEach((H)=>{H.remove();let ie=H.getAttribute("data-id");if(ie)X.set(ie,H);else v.release(H)}),se.clear(),O.clear()}function Q(){if(X.size>0)X.forEach((H)=>v.release(H)),X.clear()}function ae(H,ie,re,ye){if(f===null)f=!!M?.("_getSelectedIds");if(ie.type==="header"){let Re=`__group_header_${ie.group.groupIndex}`;if(H.getAttribute("data-id")===Re)return!0;if(H.className=R,H.setAttribute("role","presentation"),H.removeAttribute("aria-selected"),H.setAttribute("data-id",Re),h&&s&&ie.group.groupIndex===0)H.style.display="none";else{H.style.display="";let Ae=n(ie.group.key,ie.group.groupIndex);if(typeof Ae==="string")H.innerHTML=Ae;else H.innerHTML="",H.appendChild(Ae)}return!0}let Le=ie.dataIndex,xe=g(Le);if(!xe)return H.innerHTML="",!1;let Ce=xe._isPlaceholder===!0,Te=String(xe.id);if(!Ce&&H.getAttribute("data-id")===Te){if(f)H.id=`${T}-item-${ye}`,H.setAttribute("aria-posinset",String(Le+1)),H.setAttribute("aria-setsize",String(i.totalItems));return!0}if(H.className=b,H.setAttribute("role",f?"option":"listitem"),H.setAttribute("data-id",Te),f)H.id=`${T}-item-${ye}`,H.setAttribute("aria-posinset",String(Le+1)),H.setAttribute("aria-setsize",String(i.totalItems));if(Ce)H.classList.add(`${T}-item--placeholder`);if(re)re(ye,Ye);else Ye.selected=!1,Ye.focused=!1;let Ee=I(xe,Le,Ye);if(typeof Ee==="string")H.innerHTML=Ee;else H.innerHTML="",H.appendChild(Ee);return Be(H),!Ce}let oe=0;function pe(){if(a<=0)return;let H=i.crossSize;if(H===oe)return;oe=H,S();let ie=z();if(c?.(ie),s)s.refresh(),s.update(i.scrollPosition);y=!0}function be(){if(i.destroyed)return;J(),pe();let H=i.scrollPosition,ie=i.containerSize,re=i.baseOffset,ye=re!==N;if(!y&&H===B&&ie===w&&!ye)return;B=H,w=ie;let Le=y;y=!1;let xe=P();if(ie<=0||xe===0){if(se.size>0)se.forEach((ge)=>{ge.remove(),v.release(ge)}),se.clear(),O.clear();return}let Ce,Te;if(d){let ge=d,ve=ge.length,He=0,Pe=ve-1;while(He<Pe){let ze=He+Pe>>>1;if(ge[ze][2]<=H)He=ze+1;else Pe=ze}let F=He;Pe=ve-1;while(He<Pe){let ze=He+Pe+1>>>1;if(ge[ze][1]>=H+ie)Pe=ze-1;else He=ze}let de=He,ce=ge[F][0],he=ge[de][0];for(let ze=ce-1;ze>=0;ze--)if(r.getEntry(ze).type==="header"){ce=ze;break}let Me=C*a;Ce=Math.max(0,ce-Me),Te=Math.min(xe-1,he+Me)}else{let ge=l.indexAtOffset(H),ve=l.indexAtOffset(H+ie);if(ve<xe-1)ve++;ge=Math.max(0,ge),ve=Math.min(xe-1,Math.max(0,ve)),Ce=Math.max(0,ge-C),Te=Math.min(xe-1,ve+C)}if(Ce===i.prevRangeStart&&Te===i.prevRangeEnd&&!i.renderPending&&!ye)return;N=re,se.forEach((ge,ve)=>{if(ve<Ce||ve>Te)ge.remove(),v.release(ge),se.delete(ve),O.delete(ve)});let Ee=m?.()??null,Re=Ee?`${T}-item--selected`:"",Ae=Ee?`${T}-item--focused`:"",U=null;for(let ge=Ce;ge<=Te;ge++){let ve=se.get(ge),He=!1;if(ve===void 0){let Pe=r.getEntry(ge);He=Pe.type==="header";let F;if(Pe.type==="header")F=`__group_header_${Pe.group.groupIndex}`;else{let ce=g(Pe.dataIndex);if(ce&&ce._isPlaceholder!==!0)F=String(ce.id)}if(F!==void 0){let ce=X.get(F);if(ce)X.delete(F),ve=ce}if(!ve)ve=v.acquire();if(ve.setAttribute("data-index",String(ge)),ae(ve,Pe,Ee,ge))O.delete(ge);else O.add(ge);if(ne(ve,ge),ve.style.transform=Y(ge),se.set(ge,ve),!U)U=document.createDocumentFragment();U.appendChild(ve)}else if(Le&&O.has(ge)){let Pe=r.getEntry(ge);if(Pe.type==="item")if(ae(ve,Pe,Ee,ge))O.delete(ge);else O.add(ge)}else if(He=ve.classList.contains(R),Le)ne(ve,ge),ve.style.transform=Y(ge);else if(ye)ve.style.transform=Y(ge);if(!He&&Ee)if(Ee(ge,Ye),ve.classList.toggle(Re,Ye.selected),ve.classList.toggle(Ae,Ye.focused),Ye.selected)ve.setAttribute("aria-selected","true");else ve.removeAttribute("aria-selected")}if(U)u.appendChild(U);Q();let le=W?z():l.getTotalSize();c?.(le),i.prevRangeStart=Ce,i.prevRangeEnd=Te,i.renderPending=!1;let me=0,ue=0,Ie=!1;for(let ge=Ce;ge<=Te&&me<i.capacity;ge++){let ve=r.getEntry(ge);if(ve.type==="item"){if(!Ie)ue=ve.dataIndex,Ie=!0;i.visibleIndices[me]=ve.dataIndex,i.visibleOffsets[me]=l.getOffset(ge),i.visibleSizes[me]=l.getSize(ge),me++}}i.visibleCount=me,i.startIndex=ue}function fe(){if(i.destroyed)return;if(pe(),jn)console.log(`[groups] forceRender, placeholders: ${O.size}, rendered: ${se.size}`);let H=q?.()??0;if(H!==Z){Z=H;let ie=r.groups,re=ie.length;r.rebuild(p,_??g);let ye=r.groups,Le=ye.length!==re;if(!Le){for(let xe=0;xe<re;xe++)if(ye[xe].headerLayoutIndex!==ie[xe].headerLayoutIndex){Le=!0;break}}if(Le){G(r.totalEntries),S();let xe=W?z():l.getTotalSize();if(c?.(xe),s)s.refresh(),s.update(i.scrollPosition);let Ce=1/0,Te=Math.min(re,ye.length);for(let Re=0;Re<Te;Re++)if(ye[Re].headerLayoutIndex!==ie[Re].headerLayoutIndex){Ce=Math.min(ye[Re].headerLayoutIndex,ie[Re].headerLayoutIndex);break}if(ye.length>re&&Te<ye.length)Ce=Math.min(Ce,ye[Te].headerLayoutIndex);else if(re>ye.length&&Te<re)Ce=Math.min(Ce,ie[Te].headerLayoutIndex);if(Ce<=i.prevRangeEnd)te();let Ee=M?.("_scrollbar:getInstance");if(Ee)Ee()?.updateBounds(xe,i.containerSize)}}i.prevRangeStart=-1,i.prevRangeEnd=-1,i.renderPending=!0,y=!0,be()}return{name:"groups",priority:10,setup(H){l=H.sizeCache,i=H.getState(),v=H.pool,u=H.dom.content,c=H.updateContentSize.bind(H),E=H.dom.root,I=H.template,h=H.config.axis.primary==="x",T=H.config.classPrefix,C=H.config.overscan,K=H.config.mainAxisPadding,g=H.getItem.bind(H),m=()=>H.getItemStateFn(),M=H.getMethod.bind(H),f=null,b=`${T}-item`,R=`${T}-group-header`;let ie=M?.("getGridLayout"),re=M?.("getMasonryLayout");if(ie){let le=ie();a=le.columns,D=le.gap,V=H.config.crossPadStart,x=H.config.crossAxisPadding}else if(re){let le=re();a=le.columns,D=le.gap,V=H.config.crossPadStart,x=H.config.crossAxisPadding,j=!0;let me=H.rawSizeSpec;if(typeof me==="function")k=(ue)=>me(ue,{columnWidth:A})}queueMicrotask(()=>{let le=M?.("_getLoadedItem");if(le)_=le;let me=M?.("_getLoadedCount");if(me)q=me});let ye=i.totalItems;r=Xn(ye,t,_??g),p=ye;let Le=typeof e==="number"?(le)=>e:(le)=>{let me=r.groups[le];if(!me)return 0;return e(me.key,le)},xe=l.getSize,Ce=(le)=>{let me=r.getEntry(le);if(me.type==="header"){if(t.sticky!==!1&&me.group.groupIndex===0)return 0;return Le(me.group.groupIndex)}return xe(me.dataIndex)};H.setSizeConfig(Ce);let Te=!1,Ee=-1;if(H.registerMethod("_setSizeCacheBase",(le)=>{G=le}),G=l.rebuild,l.rebuild=(le)=>{if(Te){if(!q)q=M?.("_getLoadedCount")??null;let me=q?.()??0;if(le!==p||me!==Ee){if(p=le,Ee=me,!_)_=M?.("_getLoadedItem")??null;if(r.rebuild(le,_??((ue)=>H.getItems()[ue])),i.totalItems=r.totalEntries,s)s.refresh(),s.update(i.scrollPosition)}}G(r.totalEntries)},l.rebuild(r.totalEntries),S(),H.setVirtualTotalFn(()=>r.totalEntries),E.classList.add(`${T}--grouped`),t.sticky!==!1){let le=(ge,ve)=>{let He=r.groups[ve];if(!He)return;let Pe=n(He.key,ve);if(typeof Pe==="string")ge.innerHTML=Pe;else ge.replaceChildren(Pe)},me=r.getHeaderHeight(0),ue=Vt(E,T,h,me),Ie=a>0?(ge)=>{let ve=W?.get(ge);return ve?ve.rowY:l.getOffset(ge)}:void 0;if(s=qn(E,r,l,le,T,h,0,ue,Ie),s.update(i.scrollPosition),!h)H.dom.viewport.style.height=`calc(100% - ${me}px)`;else H.dom.viewport.style.width=`calc(100% - ${me}px)`,H.dom.viewport.style.marginLeft=`${me}px`}let Re=!!M?.("_updateTableForGroups");if(Te=Re,Re)queueMicrotask(()=>{let le=M?.("_getItem")??null,me=H.getItems.bind(H);H.setGetItemFn((Ie)=>{let ge=r.getEntry(Ie);if(ge.type==="header")return{id:`__group_header_${ge.group.groupIndex}`,__groupHeader:!0,groupKey:ge.group.key,groupIndex:ge.group.groupIndex};return le?le(ge.dataIndex):me()[ge.dataIndex]});let ue=M?.("_updateTableForGroups");if(ue)ue((Ie)=>!!Ie.__groupHeader,n)});else H.setRenderFn(be,fe);H.registerMethod("getGroupLayout",()=>r),H.registerMethod("_dataToLayoutIndex",(le)=>r.dataToLayoutIndex(le)),H.registerMethod("_layoutToDataIndex",(le)=>r.layoutToDataIndex(le)),H.registerMethod("_getRenderedElement",(le)=>se.get(le)??null),H.registerMethod("_isGroupHeader",(le)=>r.getEntry(le).type==="header"),H.registerMethod("_getItemLane",(le)=>{let me=W?.get(le);return me?me.col:-1}),H.registerMethod("_getItemY",(le)=>{let me=W?.get(le);return me?me.rowY:-1}),H.registerMethod("_getItemH",(le)=>W?.get(le)?.h??-1);let Ae=H.config.startPadding,U=K-Ae;H.registerMethod("_scrollItemIntoView",(le)=>{if(le<0)return;let me=W?.get(le),ue=me?me.rowY:l.getOffset(le),Ie=me?.h??l.getSize(le),ge=i.containerSize,ve=i.scrollPosition;if(ue<ve+Ae)H.scrollTo(Math.max(0,ue-Ae));else if(ue+Ie+U>ve+ge)H.scrollTo(ue+Ie+U-ge)}),H.registerMethod("scrollToIndex",(le,me="start")=>{let ue=r.dataToLayoutIndex(le),Ie=r.totalEntries;if(Ie===0)return;let ge=Math.max(0,Math.min(ue,Ie-1)),ve=i.containerSize,He=W?.get(ge),Pe=He?He.rowY:l.getOffset(ge),F=He?He.h??l.getSize(ge):l.getSize(ge),de=W?z()+K:l.getTotalSize(),ce=Math.max(0,de-ve),he=typeof me==="string"?me:me.align??"start",Me=typeof me==="object"?me.behavior:void 0,ze=typeof me==="object"?me.duration:void 0,Fe=W?K:0,ke=Pe+F;if(j&&L){let ee=r.getEntry(ge).group.groupIndex,we=L[ee];if(we!==void 0)ke=we}let Se;switch(he){case"center":Se=Pe-(ve-F)/2;break;case"end":Se=ke-ve+Fe;break;default:Se=Pe}if(Se=Math.max(0,Math.min(Se,ce)),Me==="smooth"&&ze&&ze>0)H.smoothScrollTo(Se,ze);else H.scrollTo(Se)}),H.registerDestroyHandler(()=>{for(let[,le]of se)le.remove();if(se.clear(),O.clear(),s)s.destroy(),s=null;E.classList.remove(`${T}--grouped`)})},hooks:{onAfterScroll(H,ie){if(s)s.update(H)},onResize(H,ie){if(a<=0)return;G(r.totalEntries),oe=i.crossSize,S();let re=z();if(c?.(re),s)s.refresh(),s.update(i.scrollPosition);y=!0,be()}},destroy(){if(s)s.destroy(),s=null;se.clear(),O.clear(),X.clear()}}}var Zn=(t,e=50,o=1/0,n=!0,r="none")=>{let s=t,l=[],i=0,v=0,u=()=>{l=s.map((b,R)=>({def:b,index:R,width:0,minWidth:ko(b.minWidth??e,1),maxWidth:b.maxWidth??o,resizable:b.resizable??n,offset:0}))},c=()=>{if(r==="none"||i<=0||i>=v)return;if(r==="spacer"){i=v;return}let b=v-i,R=i;for(let M=0;M<l.length;M++){let f=l[M];f.width=pt(f.width+b*(f.width/R),f.minWidth,f.maxWidth)}I()},E=(b)=>{if(v=b,l.length===0){i=0;return}let R=0,M=0;for(let f=0;f<l.length;f++){let a=l[f],D=a.def;if(D.width!==void 0)a.width=pt(D.width,a.minWidth,a.maxWidth),R+=a.width;else M++}if(M){let a=Math.max(0,b-R)/M;for(let D=0;D<l.length;D++){let V=l[D];if(V.def.width===void 0)V.width=pt(a,V.minWidth,V.maxWidth)}}I(),c()},I=()=>{let b=0;for(let R=0;R<l.length;R++){let M=l[R];M.offset=b,b+=M.width}i=b},g=(b,R)=>{if(b<0||b>=l.length)return 0;let M=l[b];if(!M.resizable)return M.width;let f=pt(R,M.minWidth,M.maxWidth);if(M.width=f,I(),r==="spacer")c();return f},_=(b)=>l[b],h=(b)=>{if(l.length===0)return;if(b<0)return l[0];if(b>=i)return l[l.length-1];let R=0,M=l.length-1;while(R<M){let f=R+M>>>1,a=l[f];if(b<a.offset)M=f-1;else if(b>=a.offset+a.width)R=f+1;else return a}return l[R]},T=(b)=>{if(b<0||b>=l.length)return 0;return l[b].offset},C=(b)=>{if(b<0||b>=l.length)return 0;return l[b].width},m=(b)=>{s=b,u()};return u(),{get columns(){return l},get totalWidth(){return i},resolve:E,updateColumns:m,resizeColumn:g,getColumn:_,getColumnAtX:h,getColumnOffset:T,getColumnWidth:C}},pt=(t,e,o)=>Math.min(o,Math.max(e,t)),ko=(t,e)=>Math.max(e,t);var Jn=(t,e,o,n,r,s)=>{let l=document.createElement("div");l.setAttribute("role","rowgroup");let i=document.createElement("div");i.className=`${o}-table-header`,i.setAttribute("role","row"),i.setAttribute("aria-rowindex","1"),i.style.height=`${e}px`;let v=document.createElement("div");v.className=`${o}-table-header-scroll`,v.setAttribute("role","presentation"),i.appendChild(v),l.appendChild(i),t.insertBefore(l,t.firstChild),t.style.setProperty("--vlist-table-header-height",`${e}px`);let u=[],c=[],E=!0,I=null,g="asc",_=null,h=!1,T=-1,C=0,m=0,b=0,R=(w,N)=>{let y=document.createElement("div");y.className=`${o}-table-header-cell`,y.setAttribute("role","columnheader"),y.setAttribute("aria-colindex",String(N+1)),y.setAttribute("tabindex",N===0?"0":"-1"),y.dataset.columnKey=w.def.key;let p=w.def.align;if(p==="center")y.classList.add(`${o}-table-header-cell--center`);else if(p==="right")y.classList.add(`${o}-table-header-cell--right`);let Z=document.createElement("div");Z.className=`${o}-table-header-content`;let q=w.def.header?w.def.header(w.def):w.def.label;if(typeof q==="string")Z.textContent=q;else Z.appendChild(q);if(y.appendChild(Z),w.def.sortable){let G=document.createElement("span");G.className=`${o}-table-header-sort`,G.setAttribute("aria-hidden","true"),y.appendChild(G),c.push(G),y.classList.add(`${o}-table-header-cell--sortable`)}else c.push(null);if(w.resizable){let G=document.createElement("div");G.className=`${o}-table-header-resize`,G.dataset.resizeIndex=String(N),y.appendChild(G)}return y},M=(w)=>{_=w,v.textContent="",u=[],c=[];let N=w.columns;for(let y=0;y<N.length;y++){let p=N[y],Z=R(p,y);u.push(Z),v.appendChild(Z)}if(f(w),I)a(I,g)},f=(w)=>{_=w;let N=w.columns;v.style.width=`${w.totalWidth}px`;for(let y=0;y<u.length&&y<N.length;y++){let p=u[y],Z=N[y];p.style.width=`${Z.width}px`}},a=(w,N)=>{if(I=w,g=N,!_)return;let y=_.columns;for(let p=0;p<c.length&&p<y.length;p++){let Z=c[p];if(!Z)continue;if(y[p].def.key===w)Z.textContent=N==="asc"?"▲":"▼",Z.style.opacity="0.7",u[p].setAttribute("aria-sort",N==="asc"?"ascending":"descending");else Z.textContent="",Z.style.opacity="0",u[p].removeAttribute("aria-sort")}},D=(w)=>{v.style.transform=`translateX(${-w}px)`},V=(w)=>{let N=w.target;if(!N.dataset.resizeIndex)return;if(w.preventDefault(),w.stopPropagation(),T=+N.dataset.resizeIndex,!_)return;let y=_.getColumn(T);if(!y?.resizable)return;h=!0,C=w.clientX,m=y.width,t.classList.add(`${o}--col-resizing`),t.style.cursor="col-resize",N.classList.add(`${o}-table-header-resize--active`),N.setPointerCapture(w.pointerId),N.addEventListener("pointermove",x),N.addEventListener("pointerup",K),N.addEventListener("pointercancel",K)},x=(w)=>{if(!h||!_)return;let N=w.clientX-C;if(Math.abs(N)<1)return;let y=Math.max(0,m+N);n(T,y)},K=(w)=>{if(!h)return;let N=w.target;N.removeEventListener("pointermove",x),N.removeEventListener("pointerup",K),N.removeEventListener("pointercancel",K);try{N.releasePointerCapture(w.pointerId)}catch{}N.classList.remove(`${o}-table-header-resize--active`),t.classList.remove(`${o}--col-resizing`),t.style.cursor="",h=!1,T=-1},j=(w)=>{let N=w.target;if(N.dataset.resizeIndex)return;if(h)return;let y=N;while(y&&!y.dataset.columnKey)if(y=y.parentElement,y===i||y===null)return;let p=y.dataset.columnKey;if(!_)return;let Z=_.columns,q=-1;for(let P=0;P<Z.length;P++)if(Z[P].def.key===p){q=P;break}if(q===-1)return;let G=Z[q];if(s)s({key:p,index:q,event:w});if(G.def.sortable&&r){let P;if(I===p)P=g==="asc"?"desc":null;else P="asc";r({key:p,index:q,direction:P})}},k=(w)=>{if(w<0||w>=u.length)return;u[b]?.setAttribute("tabindex","-1"),b=w;let N=u[b];N.setAttribute("tabindex","0"),N.focus()},se=(w)=>{let N=w.key;if(N==="ArrowRight"){if(w.ctrlKey||w.metaKey){if(!_)return;let y=_.getColumn(b);if(y?.resizable)n(b,y.width+10),w.preventDefault()}else if(b<u.length-1)k(b+1),w.preventDefault();w.stopPropagation();return}if(N==="ArrowLeft"){if(w.ctrlKey||w.metaKey){if(!_)return;let y=_.getColumn(b);if(y?.resizable)n(b,y.width-10),w.preventDefault()}else if(b>0)k(b-1),w.preventDefault();w.stopPropagation();return}if(N==="Home"){k(0),w.preventDefault(),w.stopPropagation();return}if(N==="End"){k(u.length-1),w.preventDefault(),w.stopPropagation();return}if(N==="Enter"||N===" "){if(!_)return;let y=_.getColumn(b);if(y?.def.sortable&&r){let p;if(I===y.def.key)p=g==="asc"?"desc":null;else p="asc";r({key:y.def.key,index:b,direction:p}),w.preventDefault()}w.stopPropagation();return}if(N==="ArrowDown"){t.focus(),w.preventDefault(),w.stopPropagation();return}};return i.addEventListener("pointerdown",V),i.addEventListener("click",j),i.addEventListener("keydown",se),{element:i,update:f,updateSort:a,rebuild:M,show:()=>{if(E)return;E=!0,i.style.display=""},hide:()=>{if(!E)return;E=!1,i.style.display="none"},destroy:()=>{i.removeEventListener("pointerdown",V),i.removeEventListener("click",j),i.removeEventListener("keydown",se),t.style.removeProperty("--vlist-table-header-height"),l.remove(),u=[],c=[],_=null,E=!1},syncScroll:D}};var _o=()=>{let t=[];return{acquire:()=>t.pop()||document.createElement("div"),release:(e)=>{if(e.parentNode?.removeChild(e),t.length<200)e.className="",e.removeAttribute("data-id"),e.removeAttribute("data-index"),e.removeAttribute("aria-selected"),e.removeAttribute("aria-rowindex"),e.removeAttribute("role"),e.style.cssText="",e.textContent="",t.push(e)},clear:()=>{t.length=0}}},Qn=(t,e,o,n,r,s,l,i,v,u=()=>0)=>{let c=_o(),E=new Map,I=-1,g=o,_=null,h=null,T=null,C=(L,S)=>{h=L,T=S},m=(L,S)=>{S?L.setAttribute("aria-selected","true"):L.removeAttribute("aria-selected")},b=(L,S,z,Y)=>{L.setAttribute("role",S),L.setAttribute("data-id",String(z)),L.setAttribute("data-index",String(Y))},R=(L)=>String(L).startsWith("__placeholder_"),M=`${r}-item ${r}-table-row`,f=`${r}-item--selected`,a=`${r}-item--focused`,D=`${r}-table-cell`,V=`${r}-table-cell--center`,x=`${r}-table-cell--right`,K=`${r}-table-cell-skeleton`,j=`${r}-item--odd`,k=`${r}-item--placeholder`,se=`${r}-item--replaced`,O=`${r}-table-row ${r}-table-group-header`,X=`${r}-table-group-header-content`,B=(L,S,z,Y,ne=!1)=>{if(z.def.cell){let te=z.def.cell(S,z.def,Y);if(typeof te==="string")L.innerHTML=te;else L.replaceChildren(te)}else{let te=S[z.def.key],Q=te!=null?String(te):"";if(ne&&Q)L.innerHTML=`<span>${Q}</span>`;else L.textContent=Q}if(ne&&L.firstElementChild===null){L.replaceChildren();let te=document.createElement("span");te.className=K,L.appendChild(te)}},w=(L,S,z,Y,ne=!1)=>{let te=M;if(i){if(_){let Q=_(S);if(Q>=0&&(Q&1)===1)te+=` ${j}`}else if((S&1)===1)te+=` ${j}`}if(ne)te+=` ${k}`;if(z)te+=` ${f}`;if(Y)te+=` ${a}`;L.className=te},N=(L,S)=>{let z=S.def.align;if(z==="center")L.classList.add(V),L.classList.remove(x);else if(z==="right")L.classList.add(x),L.classList.remove(V);else L.classList.remove(V,x)},y=(L,S)=>{let Y=g.columns.length;if(S.length===Y)return S;let ne=[];for(let te=0;te<Y;te++){let Q;if(te<S.length)Q=S[te];else Q=document.createElement("div"),Q.className=D,L.appendChild(Q);ne.push(Q)}for(let te=Y;te<S.length;te++)S[te].remove();return ne},p=(L,S,z)=>{let Y=c.acquire(),ne=L,te=z.getSize(S),Q=z.getOffset(S)-u();Y.style.cssText=`width:${g.totalWidth}px;height:${te}px;transform:translateY(${Q}px)`,Y.className=O,b(Y,"presentation",L.id,S),Y.removeAttribute("aria-selected"),Y.removeAttribute("aria-rowindex"),Y.replaceChildren();let ae=document.createElement("div");if(ae.className=X,T){let oe=T(ne.groupKey,ne.groupIndex);if(typeof oe==="string")ae.innerHTML=oe;else ae.appendChild(oe)}return Y.appendChild(ae),{element:Y,cells:[],index:S,isGroupHeader:!0,_lastItem:L,lastItemId:L.id,lastSelected:!1,lastFocused:!1,lastOffset:Q,lastHeight:te}},Z=(L,S,z,Y,ne)=>{let te=c.acquire(),Q=ne.getSize(S),ae=ne.getOffset(S)-u(),oe=R(L.id);te.style.cssText=`width:${g.totalWidth}px;height:${Q}px;transform:translateY(${ae}px)`,w(te,S,z,Y,oe),b(te,"row",L.id,S),te.id=`${s}-item-${S}`,te.setAttribute("aria-rowindex",String(S+2)),m(te,z);let pe=y(te,[]),be=g.columns;for(let fe=0;fe<pe.length&&fe<be.length;fe++){let H=pe[fe],ie=be[fe];H.style.cssText=`left:${ie.offset}px;width:${ie.width}px`,H.setAttribute("role","gridcell"),H.setAttribute("aria-colindex",String(fe+1)),N(H,ie),B(H,L,ie,S,oe)}return{element:te,cells:pe,index:S,isGroupHeader:!1,_lastItem:L,lastItemId:L.id,lastSelected:z,lastFocused:Y,lastOffset:ae,lastHeight:Q}},q=(L,S,z,Y)=>{let ne=!1,te=l();if(te!==I)I=te,ne=!0;let Q=null,ae=e();_=typeof i==="string"&&v?v():null;for(let oe=S.start;oe<=S.end;oe++){let pe=oe-S.start,be=L[pe];if(!be)continue;let fe=z.has(be.id),H=oe===Y,ie=h?h(be):!1,re=E.get(oe);if(re){if(re.isGroupHeader!==ie){c.release(re.element),E.delete(oe);let ye=ie?p(be,oe,ae):Z(be,oe,fe,H,ae);if(E.set(oe,ye),!Q)Q=document.createDocumentFragment();Q.appendChild(ye.element);continue}if(ie){if(re._lastItem!==be){let Ce=be,Te=re.element.firstElementChild;if(Te&&T){let Ee=T(Ce.groupKey,Ce.groupIndex);if(typeof Ee==="string")Te.innerHTML=Ee;else Te.replaceChildren(Ee)}re.element.setAttribute("data-id",String(be.id)),re._lastItem=be,re.lastItemId=be.id}let Le=ae.getOffset(oe)-u();if(re.lastOffset!==Le)re.lastOffset=Le,re.element.style.transform=`translateY(${Le}px)`;let xe=ae.getSize(oe);if(re.lastHeight!==xe)re.lastHeight=xe,re.element.style.height=`${xe}px`}else{let ye=re._lastItem!==be,Le=re.lastSelected!==fe,xe=re.lastFocused!==H;if(ye){let Ee=re.lastItemId!=null&&R(re.lastItemId),Re=R(be.id);if(!Re&&ot(z,oe,be.id))fe=!0;let Ae=g.columns;for(let U=0;U<re.cells.length&&U<Ae.length;U++)B(re.cells[U],be,Ae[U],oe,Re);if(w(re.element,oe,fe,H,Re),re.element.setAttribute("data-id",String(be.id)),m(re.element,fe),Ee&&!Re)re.element.classList.add(se),setTimeout(()=>{re.element.classList.remove(se)},300);re._lastItem=be,re.lastItemId=be.id,re.lastSelected=fe,re.lastFocused=H}else if(Le||xe)w(re.element,oe,fe,H,R(be.id)),m(re.element,fe),re.lastSelected=fe,re.lastFocused=H;let Ce=ae.getOffset(oe)-u();if(re.lastOffset!==Ce)re.lastOffset=Ce,re.element.style.transform=`translateY(${Ce}px)`;let Te=ae.getSize(oe);if(re.lastHeight!==Te)re.lastHeight=Te,re.element.style.height=`${Te}px`;if(ne)re.element.setAttribute("aria-rowindex",String(oe+2))}}else{if(ot(z,oe,be.id))fe=!0;let ye=ie?p(be,oe,ae):Z(be,oe,fe,H,ae);if(E.set(oe,ye),!Q)Q=document.createDocumentFragment();Q.appendChild(ye.element)}}if(Q)t.appendChild(Q);for(let[oe,pe]of E)if(oe<S.start||oe>S.end)c.release(pe.element),E.delete(oe)},G=(L,S,z,Y)=>{let ne=E.get(L);if(!ne)return;if(ne.isGroupHeader)return;let te=g.columns;for(let Q=0;Q<ne.cells.length&&Q<te.length;Q++)B(ne.cells[Q],S,te[Q],L);ne.element.setAttribute("data-id",String(S.id)),ne._lastItem=S,ne.lastItemId=S.id,w(ne.element,L,z,Y),m(ne.element,z),ne.lastSelected=z,ne.lastFocused=Y},P=(L,S,z)=>{let Y=E.get(L);if(!Y)return;if(Y.isGroupHeader)return;let ne=Y.lastSelected!==S,te=Y.lastFocused!==z;if(ne||te)w(Y.element,L,S,z),m(Y.element,S),Y.lastSelected=S,Y.lastFocused=z},J=(L)=>{g=L;let S=L.columns;for(let[,z]of E)if(z.element.style.width=`${L.totalWidth}px`,z.cells.length>0)for(let Y=0;Y<z.cells.length&&Y<S.length;Y++){let ne=z.cells[Y],te=S[Y];ne.style.left=`${te.offset}px`,ne.style.width=`${te.width}px`}},A=(L)=>E.get(L)?.element,W=()=>{for(let[,L]of E)c.release(L.element);E.clear(),I=-1};return{render:q,updateItem:G,updateItemClasses:P,getElement:A,updateColumnLayout:J,setGroupHeaderFn:C,clear:W,destroy:()=>{W(),c.clear()}}};var Fo=new Set;function Ot(t){if(!t.columns?.length)throw Error("[vlist] table: columns must be a non-empty array");if(t.rowHeight===void 0&&t.estimatedRowHeight===void 0)throw Error("[vlist] table: either rowHeight or estimatedRowHeight is required");let e=null,o=null,n=null,r,s,l=null,i=null,v=null,u=!1,c=-1,E=-1,I=null,g=!1;function _(){if(u||!l)return;u=!0,i=l.getMethod("_getSelectedIds")??null,v=l.getMethod("_getFocusedIndex")??null}let h=[],T={start:0,end:0};function C(){if(r.destroyed||!l||!n||!e)return;let b=r.containerSize,R=r.totalItems;if(b<=0||R===0)return;let M=R+1;if(M!==c)c=M,l.dom.root.setAttribute("aria-rowcount",`${M}`);let f=r.scrollPosition,a=l.config.overscan,D=s.indexAtOffset(f),V=s.indexAtOffset(f+b);if(V<R-1)V++;D=Math.max(0,D),V=Math.min(R-1,V);let x=Math.max(0,D-a),K=Math.min(R-1,V+a);if(x===r.prevRangeStart&&K===r.prevRangeEnd&&!r.renderPending&&r.baseOffset===r.prevBaseOffset)return;_();let j=i?.()??Fo,k=v?.()??-1;h.length=0;for(let O=x;O<=K;O++){let X=l.getItem(O);if(X)h.push(X)}if(T.start=x,T.end=K,n.render(h,T,j,k),r.prevRangeStart=x,r.prevRangeEnd=K,r.prevBaseOffset=r.baseOffset,r.renderPending=!1,!g)g=!0,I=l.getMethod?.("_layoutToDataIndex")??null;if(I){let O=I,X=-1;for(let w=x;w<=K;w++){let N=O(w);if(N>=0){X=N;break}}let B=-1;for(let w=K;w>=x;w--){let N=O(w);if(N>=0){B=N;break}}r.startIndex=X<0?x:X,r.visibleCount=X<0?0:B-X+1}else r.startIndex=x,r.visibleCount=K-x+1;let se=s.getTotalSize();if(se!==E)E=se,l.updateContentSize(se)}function m(){if(r.destroyed)return;E=-1,r.prevRangeStart=-1,r.prevRangeEnd=-1,r.renderPending=!0,C()}return{name:"table",priority:10,conflicts:["grid","masonry"],setup(b){l=b,r=b.getState(),s=b.sizeCache;let{dom:R,config:M,emitter:f}=b,{classPrefix:a}=M;if(M.axis.primary==="x")throw Error("[vlist] table: cannot be used with horizontal orientation");if(M.reverse)throw Error("[vlist] table: cannot be used with reverse mode");let D=t.resizable??!0,V=t.minColumnWidth??50,x=t.maxColumnWidth??1/0,K=t.fillWidth===!1?"none":t.fillWidth===!0?"stretch":t.fillWidth??"spacer",j=t.rowBorders??!0,k=t.rowHeight,se=t.headerHeight??(typeof k==="number"?k:40),O=t.sort?.key??null,X=t.sort?.direction??"asc";if(e=Zn(t.columns,V,x,D,K),typeof k==="function"||typeof k==="number")b.setSizeConfig(k);if(b.rebuildSizeCache(),R.root.classList.add(`${a}--table`),j)R.root.classList.add(`${a}--table-row-borders`);if(t.columnBorders)R.root.classList.add(`${a}--table-col-borders`);queueMicrotask(()=>{if(b.getMethod("_getSelectedIds"))R.root.setAttribute("tabindex","0")}),R.root.setAttribute("role","grid"),R.root.setAttribute("aria-colcount",`${t.columns.length}`),R.viewport.setAttribute("role","none"),R.content.setAttribute("role","rowgroup");let B=r.crossSize;e.resolve(B);let w=()=>{if(!e)return;R.content.style.minWidth=`${e.totalWidth}px`},N=(G,P)=>{if(!e)return;let J=e.getColumn(G);if(!J)return;let A=J.width,W=e.resizeColumn(G,P);o?.update(e),n?.updateColumnLayout(e),w(),f.emit("column:resize",{key:J.def.key,index:G,previousWidth:A,width:W})},y=(G)=>{O=G.direction===null?null:G.key,X=G.direction??"asc",o?.updateSort(O,X),f.emit("column:sort",G)};if(o=Jn(R.root,se,a,N,y),o.rebuild(e),O)o.updateSort(O,X);w(),n=Qn(R.content,()=>s,e,t.columns,a,a,()=>r.totalItems,M.striped||void 0,void 0,()=>r.baseOffset),b.setRenderFn(C,m);let p=o,Z=-1,q=()=>{let G=R.viewport.scrollLeft;if(G!==Z)Z=G,p?.syncScroll?.(G)};R.viewport.addEventListener("scroll",q,{passive:!0}),b.registerMethod("updateColumns",(G)=>{if(!e||!o)return;if(e.updateColumns(G),e.resolve(r.crossSize),o.rebuild(e),O)o.updateSort(O,X);w(),n?.updateColumnLayout(e),n?.clear(),b.forceRender()}),b.registerMethod("resizeColumn",(G,P)=>{if(!e)return;let J;if(typeof G==="string"){let A=e.columns;J=-1;for(let W=0;W<A.length;W++)if(A[W].def.key===G){J=W;break}if(J===-1)return}else J=G;N(J,P)}),b.registerMethod("getColumnWidths",()=>{if(!e)return{};let G={},P=e.columns;for(let J=0;J<P.length;J++)G[P[J].def.key]=P[J].width;return G}),b.registerMethod("setSort",(G,P)=>{O=G,X=P??"asc",o?.updateSort(O,X)}),b.registerMethod("getSort",()=>({key:O,direction:X})),b.registerMethod("_getTableLayout",()=>e),b.registerMethod("_getTableHeaderHeight",()=>se),b.registerMethod("_updateRenderedItem",(G,P,J,A)=>{n?.updateItem(G,P,J,A)}),b.registerMethod("_replaceTableRenderer",(G)=>{n=G}),b.registerMethod("_updateTableForGroups",(G,P)=>{n?.setGroupHeaderFn(G,P)}),b.registerMethod("_updateItemClasses",(G,P,J)=>{n?.updateItemClasses(G,P,J)}),b.registerKeydownHandler((G)=>{if(G.key!=="ArrowLeft"&&G.key!=="ArrowRight")return;if(!e)return;let P=e.columns;if(P.length===0)return;let J=R.viewport.clientWidth;if(e.totalWidth<=J)return;let A=R.viewport.scrollLeft;if(G.key==="ArrowRight"){for(let W=0;W<P.length;W++)if(P[W].offset>A+1){R.viewport.scrollLeft=P[W].offset,G.preventDefault();return}}else{for(let W=P.length-1;W>=0;W--)if(P[W].offset<A-1){R.viewport.scrollLeft=P[W].offset,G.preventDefault();return}if(A>0)R.viewport.scrollLeft=0,G.preventDefault()}}),b.registerDestroyHandler(()=>{R.viewport.removeEventListener("scroll",q),o?.destroy(),o=null,n?.destroy(),n=null,R.content.style.minWidth="",R.root.classList.remove(`${a}--table`),R.root.classList.remove(`${a}--table-row-borders`),R.root.classList.remove(`${a}--table-col-borders`),R.root.removeAttribute("role"),R.root.removeAttribute("aria-colcount"),R.root.removeAttribute("aria-rowcount"),R.root.removeAttribute("tabindex"),R.viewport.removeAttribute("role"),R.content.removeAttribute("role")})},hooks:{onResize(b,R){if(!e||!l)return;let M=r.crossSize;if(e.resolve(M),o?.update(e),n?.updateColumnLayout(e),e)l.dom.content.style.minWidth=`${e.totalWidth}px`},onAfterScroll(){if(!l||!o)return;o?.syncScroll?.(l.dom.viewport.scrollLeft)}},destroy(){o?.destroy(),o=null,n?.destroy(),n=null,l=null}}}function Nt(t){let e=t?.handle??null,o=t?.ghostClass??"vlist-sort-ghost",n=t?.shiftDuration??150,r=t?.edgeScrollZone??40,s=t?.edgeScrollSpeed??20,l=t?.dragThreshold??5,i=t?.ghostContainer??null,v,u,c=null,E,I,g,_,h,T,C,m,b,R,M=!1,f=-1,a=-1,D=0,V=0,x=0,K=0,j=!1,k=null,se=0,O=null,X=0,B=0,w=0,N=null,y=!1,p="",Z=-1,q=-1,G=[],P="",J=null,A=null,W="",d=!1,L=(F)=>F.closest("[data-index]"),S=(F)=>{let de=F.dataset.index;return de===void 0?-1:+de},z=(F)=>{let de=F.getBoundingClientRect(),ce=F.cloneNode(!0);return ce.className=`${_}-item ${o}`,ce.removeAttribute("data-index"),ce.style.cssText=`position:fixed;pointer-events:none;z-index:10000;width:${de.width}px;height:${de.height}px;left:${de.left}px;top:${de.top}px;transition:none;will-change:transform`,(i||document.body).appendChild(ce),ce},Y=()=>{if(!k)return;k.style.left=`${x-B}px`,k.style.top=`${K-w}px`},ne=()=>{let F=v.totalItems;if(F===0)return 0;let de=I.getBoundingClientRect(),ce=v.scrollPosition,he=h?x-B-de.left+I.scrollLeft+ce:K-w-de.top+ce,Me=he+X,ze=u.getOffset(f)+u.getSize(f);if(Me>ze){let ke=u.indexAtOffset(Me),Se=u.getOffset(ke)+u.getSize(ke)/2,ee=Me>Se?ke:ke-1;return Math.min(Math.max(ee,f),F-1)}let Fe=u.getOffset(f);if(he<Fe){let ke=u.indexAtOffset(he),Se=u.getOffset(ke)+u.getSize(ke)/2,ee=he<Se?ke:ke+1;return Math.max(Math.min(ee,f),0)}return f},te=()=>{let F=E.children,de=X;for(let ce=0;ce<F.length;ce++){let he=F[ce],Me=S(he);if(Me<0||Me===f)continue;let ze=0;if(a>f){if(Me>f&&Me<=a)ze=-de}else if(a<f){if(Me>=a&&Me<f)ze=de}let Fe=u.getOffset(Me),ke=Math.round(Fe+ze);he.style.transition=C,he.style.transform=`${T}(${ke}px)`}},Q=()=>{let F=E.children;for(let de=0;de<F.length;de++){let ce=F[de],he=S(ce);if(he>=0)ce.style.transform=`${T}(${Math.round(u.getOffset(he))}px)`;ce.style.transition=""}},ae=()=>{if(!c)return;let F=ne();if(F===a)return;a=F,te(),c.emitter.emit("sort:move",{fromIndex:f,currentIndex:a})},oe=()=>{let F=I.getBoundingClientRect();if(h)return x<F.left||x>F.right;return K<F.top||K>F.bottom},pe=()=>{let F=c?.getMethod("_getFocusedIndex");return F?F():-1},be=(F)=>{let de=c?.getMethod("_focusById");if(de)de(F)},fe=(F)=>{if(!c)return;let de=h?I.clientWidth:I.clientHeight,ce=v.scrollPosition,he=u.getOffset(F),Me=he+u.getSize(F);if(he<ce)c.scrollTo(Math.max(0,he));else if(Me>ce+de)c.scrollTo(Me-de)},H=(F)=>{if(!A)return;A.textContent="",A.offsetHeight,A.textContent=F},ie=(F)=>{if(!c)return"";let ce=c.getItems()[F];if(!ce)return"";return E.querySelector(`[data-index="${F}"]`)?.textContent?.trim()||String(ce.id)},re=()=>String(v.totalItems),ye=(F)=>{let de=E.children;for(let ce=0;ce<de.length;ce++)de[ce].style.transition=F},Le=()=>{let F=()=>{if(!M||!c)return;let de=I.getBoundingClientRect(),ce=0,he=3;if(h){let ze=x-de.left,Fe=de.right-x;if(ze<r){let ke=Math.min(he,1-ze/r);ce=-s*ke*ke}else if(Fe<r){let ke=Math.min(he,1-Fe/r);ce=s*ke*ke}}else{let ze=K-de.top,Fe=de.bottom-K;if(ze<r){let ke=Math.min(he,1-ze/r);ce=-s*ke*ke}else if(Fe<r){let ke=Math.min(he,1-Fe/r);ce=s*ke*ke}}let Me=oe();if(ce!==0){let ze=v.scrollPosition,Fe=u.getTotalSize()-(h?I.clientWidth:I.clientHeight);if(ce<0&&ze<=0||ce>0&&ze>=Fe)d=Me;else d=!0,c.scrollTo(ze+ce)}else d=Me;se=requestAnimationFrame(F)};se=requestAnimationFrame(F)},xe=()=>{if(se)cancelAnimationFrame(se),se=0},Ce=(F=!1)=>{if(M=!1,j=!1,k&&k.parentNode)k.remove();k=null,O=null;let de=E.children;for(let he=0;he<de.length;he++){let Me=de[he];Me.classList.remove(R);let ze=S(Me);if(ze>=0)Me.style.transform=`${T}(${Math.round(u.getOffset(ze))}px)`;Me.style.transition=""}xe(),g.classList.remove(m),document.body.style.cursor="";let ce=window.getSelection();if(ce)ce.removeAllRanges();if(document.removeEventListener("pointermove",Re),document.removeEventListener("pointerup",Ae),document.removeEventListener("pointercancel",le),!F&&c)c.forceRender()},Te=(F,de)=>{if(!c)return;let ce=F!==de&&F>=0&&de>=0,he=()=>{if(!c)return;if(M=!1,ce){if(g.classList.add(b),c.emitter.emit("sort:end",{fromIndex:F,toIndex:de}),N!==null)be(N);Ce(!0),requestAnimationFrame(()=>g.classList.remove(b))}else g.classList.add(b),c.emitter.emit("sort:cancel",{originalItems:[...c.getItems()]}),Ce(!1),requestAnimationFrame(()=>g.classList.remove(b))};if(!k){he();return}let Me=I.getBoundingClientRect(),ze=v.scrollPosition,Fe=u.getOffset(de),ke=n>0?n:150;if(k.style.transition=`left ${ke}ms ease, top ${ke}ms ease`,h)k.style.left=`${Me.left-I.scrollLeft+Fe-ze}px`,k.style.top=`${Me.top}px`;else k.style.left=`${Me.left}px`,k.style.top=`${Me.top+Fe-ze}px`;let Se=!1,ee=()=>{if(Se)return;Se=!0,k?.removeEventListener("transitionend",ee),he()};k.addEventListener("transitionend",ee),setTimeout(ee,ke+50)},Ee=(F)=>{if(v.destroyed||!c)return;if(M)return;if(y)ve();if(F.button!==0)return;let de=F.target;if(e){if(!de.closest(e))return}let ce=L(de);if(!ce)return;let he=S(ce);if(he<0)return;D=F.clientX,V=F.clientY,x=F.clientX,K=F.clientY,f=he,j=!1,O=ce;let Me=ce.getBoundingClientRect();B=F.clientX-Me.left,w=F.clientY-Me.top,document.addEventListener("pointermove",Re),document.addEventListener("pointerup",Ae),document.addEventListener("pointercancel",le)};function Re(F){if(!c)return;if(x=F.clientX,K=F.clientY,!j){let de=x-D,ce=K-V;if(Math.sqrt(de*de+ce*ce)<l)return;if(j=!0,M=!0,a=f,g.classList.add(m),document.body.style.cursor="grabbing",X=u.getSize(f),O)k=z(O),O.classList.add(R);let he=pe();if(he>=0){let ze=c.getItems()[he];N=ze?ze.id:null}else N=null;c.emitter.emit("sort:start",{index:f}),Le()}if(M){if(F.preventDefault(),Y(),!d)ae();else if(oe()){if(a!==f)a=f,Q()}}}function Ae(F){if(!j){document.removeEventListener("pointermove",Re),document.removeEventListener("pointerup",Ae),document.removeEventListener("pointercancel",le),O=null;return}F.preventDefault(),document.removeEventListener("pointermove",Re),document.removeEventListener("pointerup",Ae),document.removeEventListener("pointercancel",le),xe(),Te(f,a)}let U=()=>{if(!j)return;document.removeEventListener("pointermove",Re),document.removeEventListener("pointerup",Ae),document.removeEventListener("pointercancel",le),xe(),Q(),Te(f,f)};function le(){U()}let me=()=>{let F=E.querySelectorAll(`.${W}`);for(let de=0;de<F.length;de++)F[de].classList.remove(W)},ue=()=>{me();let F=E.querySelector(`[data-id="${p}"]`);if(F)F.classList.add(W)},Ie=(F)=>{if(!c)return;let de=c.getItems(),ce=de[F];if(!ce)return;y=!0,p=ce.id,Z=F,q=F,G=[...de],g.classList.add(m),c.emitter.emit("sort:start",{index:F}),ue(),H(`Grabbed ${ie(F)}. Current position ${F+1} of ${re()}. Use Up and Down arrow keys to move, Space to drop, Escape to cancel.`)},ge=()=>{if(!y||!c)return;y=!1;let F=q,de=ie(F);ye("none"),g.classList.remove(m),me(),be(p),c.forceRender(),H(`${de} dropped. Final position ${F+1} of ${re()}.`),G=[],requestAnimationFrame(()=>ye(""))},ve=()=>{if(!y||!c)return;y=!1;let F=Z;if(ye("none"),g.classList.remove(m),me(),q!==F)c.emitter.emit("sort:cancel",{originalItems:G});be(p),c.forceRender(),fe(F),H(`Reorder cancelled. Returned to position ${F+1} of ${re()}.`),G=[],requestAnimationFrame(()=>ye(""))},He=(F)=>{if(!y||!c)return;let de=v.totalItems,ce=q+F;if(ce<0||ce>=de)return;let he=q,Me=ce;ye("none"),c.emitter.emit("sort:end",{fromIndex:he,toIndex:Me}),q=Me,be(p),c.forceRender(),fe(Me),ue(),H(`${ie(Me)} moved. New position ${Me+1} of ${re()}.`),requestAnimationFrame(()=>ye(""))},Pe=(F)=>{if(v.destroyed)return;if(M){if(F.key==="Escape")F.preventDefault(),F.stopImmediatePropagation(),U();return}if(y)switch(F.key){case" ":case"Enter":F.preventDefault(),F.stopImmediatePropagation(),ge();return;case"Escape":F.preventDefault(),F.stopImmediatePropagation(),ve();return;case"ArrowUp":case"ArrowLeft":F.preventDefault(),F.stopImmediatePropagation(),He(-1);return;case"ArrowDown":case"ArrowRight":F.preventDefault(),F.stopImmediatePropagation(),He(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 de=pe();if(de>=0)F.preventDefault(),F.stopImmediatePropagation(),Ie(de)}};return{name:"sortable",priority:30,conflicts:["grid","masonry","table","scale","tree"],setup(F){c=F,v=F.getState(),u=F.sizeCache,E=F.dom.content,I=F.dom.viewport,g=F.dom.root,_=F.config.classPrefix,h=F.config.axis.primary==="x",T=h?"translateX":"translateY",C=n>0?`transform ${n}ms ease`:"none",m=`${_}--sorting`,b=`${_}--settling`,R=`${_}-item--drag-source`,W=`${_}-item--kb-sorting`,F.registerMethod("isSorting",()=>M||y),E.addEventListener("pointerdown",Ee),g.addEventListener("keydown",Pe),P=`${_}-sort-instructions`,J=document.createElement("div"),J.id=P,J.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",J.textContent="Press Space to reorder. Use arrow keys to move, Space to drop, Escape to cancel.",g.appendChild(J),A=document.createElement("div"),A.setAttribute("role","status"),A.setAttribute("aria-live","assertive"),A.setAttribute("aria-atomic","true"),A.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",g.appendChild(A),F.registerDestroyHandler(()=>{if(y)ve();Ce(),E.removeEventListener("pointerdown",Ee),g.removeEventListener("keydown",Pe),J?.remove(),A?.remove()})},hooks:{onCommit(){if(!c)return;let F=E.children;for(let de=0;de<F.length;de++){let ce=F[de],he=S(ce);if(he<0)continue;if(ce.setAttribute("aria-roledescription","sortable item"),ce.setAttribute("aria-describedby",P),y)if(ce.getAttribute("data-id")===String(p))ce.classList.add(W);else ce.classList.remove(W);if(M)if(he===f)ce.classList.add(R),O=ce;else{ce.classList.remove(R);let Me=0;if(a>f){if(he>f&&he<=a)Me=-X}else if(a<f){if(he>=a&&he<f)Me=X}let ze=Math.round(u.getOffset(he)+Me);ce.style.transform=`${T}(${ze}px)`}}}},destroy(){if(k&&k.parentNode)k.remove();k=null,xe(),J?.remove(),A?.remove(),c=null}}}function Gt(t,e){let o=[],n=e,r=new Map,s=[];function l(){r.clear();for(let f=0;f<o.length;f++)r.set(o[f].id,f)}function i(f){let a=o[f].depth,D=0;for(let V=f+1;V<o.length;V++){if(o[V].depth<=a)break;D++}return D}function v(f,a,D,V){for(let x=0;x<f.length;x++){let K=f[x],j=K.id,k=t(K),se=k.length>0,O=se&&n.has(j);if(V.push({item:K,id:j,depth:D,parentId:a,hasChildren:se,expanded:O,childCount:k.length,siblingCount:f.length,positionInSiblings:x,isLastChild:x===f.length-1,loading:!1}),O)v(k,j,D+1,V)}}function u(f,a,D){for(let V of f){if(V.id===a)return V;let x=t(V);if(x.length>0){D?.push(V.id);let K=u(x,a,D);if(K)return K;D?.pop()}}return}function c(f,a){if(a===null)return s;let D=u(s,a);return D?t(D):[]}function E(f,a){let D=u(s,a);if(!D)return!1;return u(t(D),f)!==void 0}function I(f){let a=new Set;function D(V){for(let x of V){if(a.has(x.id))throw Error(`[vlist] tree: duplicate id "${x.id}"`);a.add(x.id);let K=t(x);if(K.length>0)D(K)}}D(f)}function g(f,a){if(s=f,!a)I(f);o.length=0,v(f,null,0,o),l()}function _(f){let a=r.get(f);if(a===void 0)return 0;let D=o[a];if(!D.hasChildren||D.expanded)return 0;let V=[],x=t(D.item);if(v(x,f,D.depth+1,V),V.length===0)return 0;D.expanded=!0,n.add(f);let K=a+1,j=o.splice(K);for(let k=0;k<V.length;k++)o.push(V[k]);for(let k=0;k<j.length;k++)o.push(j[k]);return l(),V.length}function h(f){let a=r.get(f);if(a===void 0)return 0;let D=o[a];if(!D.hasChildren||!D.expanded)return 0;D.expanded=!1,n.delete(f);let V=i(a);if(V>0)o.splice(a+1,V),l();return V}function T(f){function a(D){for(let V of D){let x=t(V);if(x.length>0)n.add(V.id),a(x)}}a(f),g(f)}function C(){n.clear(),g(s,!0)}function m(f){let a=[];if(!u(s,f,a))return;for(let D of a)n.add(D);g(s,!0)}function b(f,a,D){if(r.has(a.id)||u(s,a.id))throw Error(`[vlist] tree: duplicate id "${a.id}"`);if(f===null){let k=s,se=D??k.length;k.splice(se,0,a),g(s,!0);return}let V=r.get(f);if(V===void 0)throw Error(`[vlist] tree: parent "${f}" not found`);let x=o[V],K=t(x.item),j=D??K.length;if(K.splice(j,0,a),!x.hasChildren)x.hasChildren=!0,x.childCount=1,x.expanded=!1;else x.childCount=K.length;if(x.expanded)g(s,!0);else l()}function R(f){let a=r.get(f);if(a===void 0)return 0;let D=o[a],x=i(a)+1;for(let k=a;k<a+x;k++)n.delete(o[k].id);if(o.splice(a,x),D.parentId!==null){let k=r.get(D.parentId);if(k!==void 0){let se=o[k];if(se.childCount--,se.childCount===0)se.hasChildren=!1,se.expanded=!1,n.delete(se.id)}}let K=c(f,D.parentId),j=K.findIndex((k)=>k.id===f);if(j>=0)K.splice(j,1);return g(s,!0),x}function M(f,a,D){if(a!==null&&E(a,f))throw Error(`[vlist] tree: cannot move "${f}" to its own descendant "${a}"`);if(f===a)throw Error(`[vlist] tree: cannot move "${f}" to itself`);let V=r.get(f);if(V===void 0)return;let x=o[V],K=c(f,x.parentId),j=K.findIndex((k)=>k.id===f);if(j>=0)K.splice(j,1);if(a===null){let k=s,se=D??k.length;k.splice(se,0,x.item)}else{let k=u(s,a);if(!k)throw Error(`[vlist] tree: new parent "${a}" not found`);let se=t(k),O=D??se.length;se.splice(O,0,x.item)}g(s,!0)}return{flatNodes:o,expandedIds:n,idToIndex:r,rebuild:g,expand:_,collapse:h,expandAll:T,collapseAll:C,expandTo:m,getSubtreeSize:i,addChild:b,removeNode:R,moveNode:M,get totalVisible(){return o.length},get rootItems(){return s}}}var Do=()=>[];function Vo(t){let{children:e,parentId:o}=t;if(o!==void 0)return Do;if(e===void 0||e==="children")return(n)=>n.children??[];if(typeof e==="string"){let n=e;return(r)=>r[n]??[]}return e}function $o(t){let{label:e}=t;if(e===void 0)return(o)=>{let n=o;return String(n.name??n.label??n.title??o.id)};if(typeof e==="string"){let o=e;return(n)=>String(n[o]??n.id)}return e}function Oo(t,e,o){let{expanded:n}=t,r=new Set;if(n===void 0||n===!1)return r;if(Array.isArray(n)){for(let i of n)r.add(i);return r}let s=n===!0?null:n;function l(i){for(let v of i){let u=o(v);if(u.length>0){if(!s||s(v))r.add(v.id);l(u)}}}return l(e),r}function eo(t,e){let{parentId:o}=e;if(o===void 0)throw Error("[vlist] tree: parentId not set");let n=typeof o==="string"?(i)=>i[o]??null:o,r=(i)=>n(i)??null,s=new Map,l=new Map;for(let i of t){l.set(i.id,i);let v=r(i),u=s.get(v);if(!u)u=[],s.set(v,u);u.push(i)}for(let i of t){let v=r(i);if(v!==null&&v!==void 0&&!l.has(v))console.warn(`[vlist] tree: orphaned node "${i.id}" — parentId "${v}" not found`)}return{roots:s.get(null)??[],getChildren:(i)=>{let v=s.get(i.id);if(!v)v=[],s.set(i.id,v);return v}}}var We={selected:!1,focused:!1},je={depth:0,expanded:!1,hasChildren:!1,isLeaf:!0,isLastChild:!1,loading:!1};We.tree=je;function Bt(t){let e=t??{},o=e.indent??24,n=e.paddingStart??0,r=e.expandOnClick??!1,s=e.connectorLines??!1,l=e.parentId!==void 0,i,v,u,c,E,I,g,_,h,T,C=null,m,b,R=null,M,f,a,D,V,x,K,j,k=new Map,se=-1,O=-1,X=-1,B=!0,w=null,N=!1,y,p=-1,Z=!1,q=!1,G="",P=null;function J(){if(q){let U=m("_getFocusedIndex");return U?U():-1}return Z?p:-1}let A,W,d;function L(){if(W!==void 0)return;A=m("select")??null,W=m("_focusById")??null,d=m("_isFollowFocus")??null}function S(U){if(U<0||U>=i.totalVisible)return;let le=i.flatNodes[U];if(!le)return;if(q){if(L(),W)W(le.id);if(d?.()&&A)A(le.id);else ne();z(U)}else p=U,Z=!0,E.setAttribute("aria-activedescendant",`${h}-item-${U}`),z(U),ne()}function z(U){let le=v.getOffset(U),me=v.getSize(U),ue=u.scrollPosition,Ie=u.containerSize;if(le<ue)Y(le);else if(le+me>ue+Ie)Y(le-Ie+me)}let Y,ne,te;function Q(U){return _?`translate(${Math.round(U)}px, 0)`:`translate(0, ${Math.round(U)}px)`}function ae(U){if(U===X)return;if(X=U,R)R(U);else E.style[_?"width":"height"]=U+"px"}function oe(){k.forEach((U)=>{U.remove(),c.release(U)}),k.clear()}let pe=0;function be(){let U=te();if(U===w&&U.length===pe)return;if(w=U,pe=U.length,l){let{roots:le,getChildren:me}=eo(U,e),ue=e.loadChildren?(Ie)=>ie.get(Ie.id)??me(Ie):me;i=Gt(ue,i.expandedIds),i.rebuild(le,!0)}else i.rebuild(U,!0);fe(),oe()}function fe(){u.totalItems=i.totalVisible,y(i.totalVisible);let U=v.getTotalSize();ae(U);let le=m("_scrollbar:getInstance");if(le)le()?.updateBounds(U,u.containerSize)}function H(){fe(),oe(),ne()}let ie=new Map,re=new Set;async function ye(U){if(!e.loadChildren||re.has(U))return;let le=i.idToIndex.get(U);if(le===void 0)return;let me=i.flatNodes[le];re.add(U),me.loading=!0,queueMicrotask(()=>ne());try{let ue=await e.loadChildren(me.item);re.delete(U);let Ie=i.idToIndex.get(U);if(Ie===void 0)return;let ge=i.flatNodes[Ie];if(ge.loading=!1,ie.set(U,ue),ge.hasChildren=ue.length>0,ge.childCount=ue.length,ue.length>0)ge.expanded=!0,i.expandedIds.add(U),i.rebuild(i.rootItems);H(),b.emit("tree:load",{id:U,item:ge.item,children:ue})}catch(ue){re.delete(U),ie.set(U,[]);let Ie=i.idToIndex.get(U);if(Ie!==void 0)i.flatNodes[Ie].loading=!1;ne(),b.emit("tree:load:error",{id:U,item:me.item,error:ue})}}function Le(U){let le=i.idToIndex.get(U);if(le===void 0)return;let me=i.flatNodes[le];if(e.loadChildren&&!me.hasChildren&&!me.loading){if(!ie.has(U)){ye(U);return}}if(i.expand(U)===0)return;H(),b.emit("tree:expand",{id:U,item:me.item,depth:me.depth})}function xe(U){let le=i.idToIndex.get(U);if(le===void 0)return;let me=i.flatNodes[le],ue=i.collapse(U);if(ue===0)return;if(!q&&p>le){if(p<=le+ue)p=le;else p-=ue;if(Z)E.setAttribute("aria-activedescendant",`${h}-item-${p}`)}H(),b.emit("tree:collapse",{id:U,item:me.item,depth:me.depth})}function Ce(U,le,me,ue){let{depth:Ie,expanded:ge,hasChildren:ve,loading:He,siblingCount:Pe,positionInSiblings:F,isLastChild:de,id:ce}=le;if(U.className=f,ge)U.classList.add(a);if(!ve)U.classList.add(D);if(He)U.classList.add(V);if(s&&de)U.classList.add(x);if(U.setAttribute("role","treeitem"),U.setAttribute("data-index",String(me)),U.setAttribute("data-id",String(ce)),U.id=`${h}-item-${me}`,U.setAttribute("aria-level",String(Ie+1)),U.setAttribute("aria-setsize",String(Pe)),U.setAttribute("aria-posinset",String(F+1)),ve)U.setAttribute("aria-expanded",String(ge));else U.removeAttribute("aria-expanded");if(U.style.paddingLeft=`${n+Ie*o}px`,U.style.setProperty("--vlist-tree-depth",String(Ie)),s)U.style.setProperty("--vlist-tree-indent",`${o}px`),U.style.setProperty("--vlist-tree-pad",`${n}px`);if(ue)ue(me,We);else We.selected=!1,We.focused=!1;je.depth=Ie,je.expanded=ge,je.hasChildren=ve,je.isLeaf=!ve,je.isLastChild=de,je.loading=He;let he=g(le.item,me,We);if(typeof he==="string")U.innerHTML=he;else U.innerHTML="",U.appendChild(he);Be(U)}function Te(){if(u.destroyed)return;if(be(),!N){if(N=!0,E.setAttribute("role","tree"),E.setAttribute("tabindex","0"),I.classList.add(`${h}--tree`),s)I.classList.add(`${h}--tree-lines`)}let U=u.scrollPosition,le=u.containerSize;if(!B&&U===se&&le===O)return;se=U,O=le,B=!1;let me=i.totalVisible;if(le<=0||me===0){if(k.size>0)oe();return}let ue=v.indexAtOffset(U),Ie=v.indexAtOffset(U+le);if(Ie<me-1)Ie++;ue=Math.max(0,ue),Ie=Math.min(me-1,Math.max(0,Ie));let ge=Math.max(0,ue-T),ve=Math.min(me-1,Ie+T);if(ge===u.prevRangeStart&&ve===u.prevRangeEnd&&!u.renderPending&&u.baseOffset===u.prevBaseOffset)return;k.forEach((de,ce)=>{if(ce<ge||ce>ve)de.remove(),c.release(de),k.delete(ce)});let He=C?.()??null,Pe=null;for(let de=ge;de<=ve;de++){let ce=i.flatNodes[de],he=k.get(de);if(he===void 0){if(he=c.acquire(),Ce(he,ce,de,He),he.style[_?"width":"height"]=`${v.getSize(de)}px`,k.set(de,he),!Pe)Pe=document.createDocumentFragment();Pe.appendChild(he)}else if(he.getAttribute("data-id")!==String(ce.id)||he.classList.contains(V)!==ce.loading)Ce(he,ce,de,He);if(he.style.transform=Q(v.getOffset(de)-u.baseOffset),He)if(He(de,We),he.classList.toggle(K,We.selected),he.classList.toggle(j,We.focused),We.selected)he.setAttribute("aria-selected","true");else he.removeAttribute("aria-selected");else if(!q){let Me=Z&&p===de;he.classList.toggle(j,Me)}}if(Pe)E.appendChild(Pe);ae(v.getTotalSize()),u.prevRangeStart=ge,u.prevRangeEnd=ve,u.prevBaseOffset=u.baseOffset,u.renderPending=!1;let F=0;for(let de=ge;de<=ve&&F<u.capacity;de++)u.visibleIndices[F]=de,u.visibleOffsets[F]=v.getOffset(de),u.visibleSizes[F]=v.getSize(de),F++;u.visibleCount=F,u.startIndex=ge}function Ee(){if(u.destroyed)return;u.prevRangeStart=-1,u.prevRangeEnd=-1,u.renderPending=!0,B=!0,Te()}function Re(U,le){if(G+=U.toLowerCase(),P!==null)clearTimeout(P);P=setTimeout(()=>{G="",P=null},500);let me=i.totalVisible;for(let ue=1;ue<=me;ue++){let Ie=(le+ue)%me,ge=i.flatNodes[Ie];if(M(ge.item).toLowerCase().startsWith(G)){S(Ie);return}}}function Ae(U){let le=!1;for(let me of i.flatNodes)if(me.parentId===U.parentId&&me.hasChildren&&!me.expanded)i.expandedIds.add(me.id),le=!0;if(!le)return;i.rebuild(i.rootItems,!0),H()}return{name:"tree",priority:10,conflicts:["groups","grid","masonry","table"],setup(U){v=U.sizeCache,u=U.getState(),c=U.pool,E=U.dom.content,R=U.updateContentSize.bind(U),I=U.dom.root,g=U.template,_=U.config.axis.primary==="x",h=U.config.classPrefix,T=U.config.overscan,b=U.emitter,C=U.getItemStateFn.bind(U),m=U.getMethod.bind(U),Y=U.scrollTo.bind(U),ne=U.forceRender.bind(U),te=U.getItems.bind(U),f=`${h}-item ${h}-tree-node`,a=`${h}-tree-node--expanded`,D=`${h}-tree-node--leaf`,V=`${h}-tree-node--loading`,x=`${h}-tree-node--last`,K=`${h}-item--selected`,j=`${h}-item--focused`;let le=U.getItems();w=le,pe=le.length;let me,ue;if(l){let F=eo(le,e);me=F.getChildren,ue=F.roots}else me=Vo(e),ue=le;let Ie=e.loadChildren?(F)=>ie.get(F.id)??me(F):me;M=$o(e);let ge=Oo(e,ue,Ie);i=Gt(Ie,ge),i.rebuild(ue),y=v.rebuild,v.rebuild=(F)=>{y(i.totalVisible)},v.rebuild(i.totalVisible),u.totalItems=i.totalVisible,U.setVirtualTotalFn(()=>i.totalVisible),U.setGetItemFn((F)=>{let de=i.flatNodes[F];return de?de.item:void 0}),U.setGetIndexByIdFn((F)=>i.idToIndex.get(F)??-1),U.setRenderFn(Te,Ee),U.registerMethod("_layoutToDataIndex",(F)=>F),U.registerMethod("_dataToLayoutIndex",(F)=>F),U.registerMethod("_getLoadedItem",(F)=>{let de=i.flatNodes[F];return de?de.item:void 0}),U.registerMethod("_getRenderedElement",(F)=>k.get(F)??null),queueMicrotask(()=>{q=!!(m("_getFocusedIndex")||U.getItemStateFn())}),U.setInsertItemFn((F,de)=>{let ce=te(),he=Math.min(de,ce.length);ce.splice(he,0,F),pe=ce.length,i.rebuild(ce),H()}),U.setRemoveItemFn((F)=>{let de=i.idToIndex.get(F),ce=null;if(l&&de!==void 0){ce=new Set,ce.add(F);let Me=i.getSubtreeSize(de);for(let ze=de+1;ze<=de+Me;ze++)ce.add(i.flatNodes[ze].id)}let he=i.removeNode(F);if(he===0)return-1;if(!q&&de!==void 0&&p>=de)p=Math.max(0,Math.min(p-he,i.totalVisible-1));if(l&&ce){let Me=te();for(let ze=Me.length-1;ze>=0;ze--)if(ce.has(Me[ze].id))Me.splice(ze,1)}return pe=te().length,H(),b.emit("data:change",{type:"remove",id:F}),he}),U.setUpdateItemFn((F,de)=>{let ce=i.idToIndex.get(F);if(ce===void 0)return!1;let he=i.flatNodes[ce];Object.assign(he.item,de);let Me=k.get(ce);if(Me)Ce(Me,he,ce,C?.()??null);return b.emit("data:change",{type:"update",id:F}),!0}),U.registerClickHandler((F)=>{let de=F.target.closest("[data-index]");if(!de)return;let ce=parseInt(de.dataset.index??"-1",10);if(ce<0)return;let he=i.flatNodes[ce];if(!he)return;let Me=he.id,ze=!1;if(r&&(he.hasChildren||e.loadChildren&&!he.loading&&!ie.has(Me))){let Fe=i.totalVisible;if(he.expanded)xe(Me);else Le(Me);ze=i.totalVisible!==Fe}if(q&&ze){if(L(),W)W(Me);if(A)A(Me)}else if(!q)p=i.idToIndex.get(Me)??ce,Z=!1,E.focus({preventScroll:!0})});let ve=()=>{if(u.destroyed||q)return;if(!E.matches(":focus-visible")&&!I.matches(":focus-visible"))return;let F=i.totalVisible;if(F===0)return;p=p>=0?Math.min(p,F-1):0,Z=!0,E.setAttribute("aria-activedescendant",`${h}-item-${p}`),z(p),Ee()};I.addEventListener("focusin",ve);let He=(F)=>{if(u.destroyed||q)return;let de=F.relatedTarget;if(de&&I.contains(de))return;Z=!1,E.removeAttribute("aria-activedescendant"),Ee()};I.addEventListener("focusout",He),U.registerKeydownHandler((F)=>{if(u.destroyed)return;let de=i.totalVisible;if(de===0)return;let ce=J();if(ce<0&&!q&&(F.key==="ArrowDown"||F.key==="Home")){S(0),F.preventDefault();return}if(ce<0)return;let he=i.flatNodes[ce];if(!he)return;switch(F.key){case"ArrowRight":{if(he.hasChildren||e.loadChildren&&!he.loading)if(!he.expanded)Le(he.id);else S(ce+1);F.preventDefault();break}case"ArrowLeft":{if(he.hasChildren&&he.expanded)xe(he.id);else if(he.parentId!==null){let Me=i.idToIndex.get(he.parentId);if(Me!==void 0)S(Me)}F.preventDefault();break}case"*":{Ae(he),F.preventDefault();break}default:{if(!q){if(F.key==="ArrowDown"){if(ce<de-1)S(ce+1);F.preventDefault();break}if(F.key==="ArrowUp"){if(ce>0)S(ce-1);F.preventDefault();break}if(F.key==="Home"){S(0),F.preventDefault();break}if(F.key==="End"){S(de-1),F.preventDefault();break}if(F.key==="Enter"){b.emit("item:click",{item:he.item,index:ce,event:F}),F.preventDefault();break}}if(F.key.length===1&&!F.ctrlKey&&!F.altKey&&!F.metaKey)Re(F.key,ce),F.preventDefault()}}}),U.registerMethod("expand",Le),U.registerMethod("collapse",xe),U.registerMethod("toggle",(F)=>{let de=i.idToIndex.get(F);if(de===void 0)return;if(i.flatNodes[de].expanded)xe(F);else Le(F)}),U.registerMethod("expandAll",()=>{i.expandAll(i.rootItems),H()}),U.registerMethod("collapseAll",()=>{i.collapseAll(),H()}),U.registerMethod("expandTo",(F)=>{i.expandTo(F),H();let de=i.idToIndex.get(F);if(de!==void 0)z(de)}),U.registerMethod("getExpanded",()=>Array.from(i.expandedIds)),U.registerMethod("isExpanded",(F)=>i.expandedIds.has(F));let Pe=l&&typeof e.parentId==="string"?e.parentId:null;U.registerMethod("addChild",(F,de,ce)=>{if(Pe)de[Pe]=F;if(l){let he=te();he.push(de),pe=he.length}i.addChild(F,de,ce),H(),b.emit("data:change",{type:"add",id:de.id})}),U.registerMethod("moveNode",(F,de,ce)=>{if(Pe){let he=i.idToIndex.get(F);if(he!==void 0)i.flatNodes[he].item[Pe]=de}i.moveNode(F,de,ce),H()}),U.registerMethod("getTreeLayout",()=>({totalVisible:i.totalVisible,flatNodes:i.flatNodes})),U.registerDestroyHandler(()=>{if(I.removeEventListener("focusin",ve),I.removeEventListener("focusout",He),oe(),I.classList.remove(`${h}--tree`),I.classList.remove(`${h}--tree-lines`),P!==null)clearTimeout(P)})},destroy(){if(k.clear(),P!==null)clearTimeout(P)}}}var to=(t)=>{if(typeof t==="function")return t;if(typeof t==="string")return(e)=>{let o=e[t];return o==null?"":String(o)};return(e)=>{if(e==null)return"";let o="";for(let n in e){let r=e[n];if(typeof r==="string")o+=o?" "+r:r}return o}},Wt=(t,e,o)=>{if(!e)return!1;return(o?t:t.toLowerCase()).includes(e)},No=(t,e)=>{let o=t.querySelectorAll(`mark.${e}`);for(let n=o.length-1;n>=0;n--){let r=o[n],s=r.parentNode;if(!s)continue;let l=document.createTextNode(r.textContent??"");s.replaceChild(l,r),s.normalize()}},Kt=(t,e,o,n)=>{if(!e)return;No(t,n);let r=o?e:e.toLowerCase(),s=e.length,l=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,{acceptNode(u){let c=u.nodeValue??"";return(o?c:c.toLowerCase()).includes(r)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),i=[],v;while((v=l.nextNode())!==null)i.push(v);for(let u of i){let c=u.nodeValue??"",E=o?c:c.toLowerCase(),I=document.createDocumentFragment(),g=0,_=E.indexOf(r,0);while(_!==-1){if(_>g)I.appendChild(document.createTextNode(c.slice(g,_)));let h=document.createElement("mark");h.className=n,h.textContent=c.slice(_,_+s),I.appendChild(h),g=_+s,_=E.indexOf(r,g)}if(g<c.length)I.appendChild(document.createTextNode(c.slice(g)));u.parentNode?.replaceChild(I,u)}};var Ut=(t,e,o,n)=>{let r=document.createElement("button");return r.type="button",r.className=t,r.tabIndex=n,r.setAttribute("aria-label",e),r.innerHTML=o,r},no=(t,e,o,n,r,s,l)=>{let i=`${o}-search`,v=document.createElement("div");if(v.className=`${i} ${i}--bar ${i}--${n}`,v.setAttribute("role","search"),v.setAttribute("aria-disabled","false"),r.region)v.setAttribute("aria-label",r.region);let u=document.createElement("div");u.className=`${i}__container`;let c=document.createElement("span");c.className=`${i}__leading-icon`,c.setAttribute("aria-hidden","true"),c.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M0 0h24v24H0z" fill="none"></path><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path></svg>';let E=document.createElement("div");E.className=`${i}__input-wrapper`;let I=document.createElement("input");if(I.type="text",I.className=`${i}__input`,I.placeholder=r.placeholder,I.spellcheck=!1,I.autocomplete="off",I.setAttribute("aria-label",r.placeholder),s)I.setAttribute("aria-controls",s);E.appendChild(I);let g=document.createElement("span");g.className=`${i}__counter`,g.setAttribute("aria-live","polite");let _=Ut(`${i}__nav-prev`,r.previous,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M7.41 15.41 12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path></svg>',-1),h=Ut(`${i}__nav-next`,r.next,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z"></path></svg>',-1),T=Ut(`${i}__clear-button ${i}__clear-button--hidden`,r.clear,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M0 0h24v24H0z" fill="none"></path><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>',-1);if(u.append(c,E,g,_,h,T),v.appendChild(u),n==="top"&&e)t.insertBefore(v,e);else if(n==="top")t.insertBefore(v,t.firstChild);else t.appendChild(v);let C=()=>{T.classList.toggle(`${i}__clear-button--hidden`,I.value.length===0)},m=()=>{C(),l.onInput(I.value)},b=(D)=>l.onKeydown(D),R=()=>I.focus(),M=()=>{l.onClear(),I.focus()},f=()=>l.onPrev(),a=()=>l.onNext();return I.addEventListener("input",m),I.addEventListener("keydown",b),c.addEventListener("click",R),T.addEventListener("click",M),_.addEventListener("click",f),h.addEventListener("click",a),{root:v,input:I,setCounter(D){g.textContent=D},showNav(D){_.classList.toggle(`${i}__nav-prev--hidden`,!D),h.classList.toggle(`${i}__nav-next--hidden`,!D)},focus(){I.focus(),I.select()},setValue(D){I.value=D,C()},destroy(){I.removeEventListener("input",m),I.removeEventListener("keydown",b),c.removeEventListener("click",R),T.removeEventListener("click",M),_.removeEventListener("click",f),h.removeEventListener("click",a),v.remove()}}};var Yt={placeholder:"Search…",clear:"Clear search",previous:"Previous match",next:"Next match",noResults:"No results",results:(t)=>`${t} result${t===1?"":"s"}`,position:(t,e)=>`${t} of ${e}`,region:""};function Xt(t={}){let e=t.mode??"filter",o=t.position??"top",n={...Yt,...t.text},r=t.caseSensitive??!1,s=t.highlight!==!1,l=typeof t.highlight==="object"&&t.highlight!==null?t.highlight.within:void 0,i=t.minLength??1,v=t.cancelTimeout??0,u=t.variant??"default",c=to(t.field),E,I,g,_,h,T=null,C=!1,m="",b=[],R=new Set,M=0,f=!1,a=null,D=!1,V=null,x=null,K=null,j=()=>{if(D)return;D=!0,V=E.getMethod("scrollToIndex")??null,x=E.getMethod("filterTree")??null,K=E.getMethod("clearTreeFilter")??null},k=()=>{if(b=[],R.clear(),m.length<i)return;let d=r?m:m.toLowerCase(),L=E.getItems();for(let S=0;S<L.length;S++){let z=L[S];if(z!==void 0&&Wt(c(z),d,r))b.push(S),R.add(S)}},se=()=>{if(j(),x){let S=r?m:m.toLowerCase();x((z)=>Wt(c(z),S,r)),f=!0;return}let d=E.getItems(),L=b;E.setGetItemFn((S)=>d[L[S]]),E.setVirtualTotalFn(()=>L.length),I.totalItems=L.length,E.rebuildSizeCache(),E.updateContentSize(E.sizeCache.getTotalSize()),f=!0},O=()=>{if(!f)return;if(f=!1,K){K();return}E.setGetItemFn((d)=>E.getItems()[d]),E.setVirtualTotalFn(()=>E.getItems().length),I.totalItems=E.getItems().length,E.rebuildSizeCache(),E.updateContentSize(E.sizeCache.getTotalSize())},X=()=>{j();let d=b[M];if(d===void 0)return;if(V)V(d,"center");else E.scrollTo(Math.max(0,E.sizeCache.getOffset(d)-E.getState().containerSize/2));let L=E.getItem(d);E.emitter.emit("search:match",{index:d,item:L,matchIndex:M,matches:b.length})},B=()=>{if(!T)return;if(m.length<i)T.setCounter("");else if(b.length===0)T.setCounter(n.noResults);else if(e==="navigate")T.setCounter(n.position(M+1,b.length));else T.setCounter(n.results(b.length))},w=()=>{let d=C&&m.length>=i;E.dom.root.classList.toggle(`${g}--searching`,d)},N=(d)=>{if(m=d,T?.setValue(m),k(),M=0,e==="filter")if(m.length>=i)se();else O();if(w(),B(),E.forceRender(),e==="navigate"&&b.length>0)X();E.emitter.emit("search:change",{query:m,matches:b.length,total:E.getItems().length}),G()},y=()=>{if(!C)C=!0,E.dom.root.classList.add(`${g}--search-open`),E.emitter.emit("search:open",void 0);T?.focus(),G()},p=()=>{q();let d=C||m.length>0;if(C=!1,m.length>0)N("");if(E.dom.root.classList.remove(`${g}--search-open`),w(),d)E.emitter.emit("search:close",void 0)},Z=(d)=>{if(b.length===0)return;if(M=(M+d+b.length)%b.length,B(),e==="navigate")X(),E.forceRender()},q=()=>{if(a!==null)clearTimeout(a),a=null},G=()=>{if(q(),v>0&&C)a=setTimeout(()=>{a=null,p()},v)},P=(d)=>{if(!s||m.length<i)return;let L=d.startIndex,S=L+Math.max(0,d.visibleCount-1),z=e==="navigate"?b[M]:-1;for(let Y=L;Y<=S;Y++){let ne=E.getRenderedElement(Y);if(!ne)continue;if(l){let te=ne.querySelectorAll(l);for(let Q=0;Q<te.length;Q++)Kt(te[Q],m,r,_)}else Kt(ne,m,r,_);if(e==="navigate"){let te=Y===z,Q=ne.querySelectorAll(`.${_}`);for(let ae=0;ae<Q.length;ae++)Q[ae].classList.toggle(h,te)}}},J=(d)=>d.key.length===1&&!d.ctrlKey&&!d.metaKey&&!d.altKey,A=(d)=>{if((d.ctrlKey||d.metaKey)&&(d.key==="f"||d.key==="F")){d.preventDefault(),y();return}if(!C){if(o==="none"&&J(d))d.preventDefault(),y(),N(m+d.key);return}switch(d.key){case"Escape":d.preventDefault(),p();break;case"Enter":d.preventDefault(),Z(d.shiftKey?-1:1);break;case"ArrowDown":d.preventDefault(),Z(1);break;case"ArrowUp":d.preventDefault(),Z(-1);break;default:if(o==="none"){if(d.key==="Backspace"){if(d.preventDefault(),N(m.slice(0,-1)),m.length===0)p()}else if(J(d))d.preventDefault(),N(m+d.key)}}},W=(d)=>{if(d.key==="Escape"||d.key==="Enter"||d.key==="ArrowDown"||d.key==="ArrowUp")A(d)};return{name:"search",priority:55,setup(d){if(E=d,I=E.getState(),g=E.config.classPrefix,_=`${g}-search-match`,h=`${g}-search-match--current`,o!=="none"){let S=E.dom.root.id||void 0;if(T=no(E.dom.root,E.dom.viewport,g,o,{placeholder:n.placeholder,clear:n.clear,previous:n.previous,next:n.next,region:n.region},S,{onInput:(z)=>N(z),onClear:()=>N(""),onPrev:()=>Z(-1),onNext:()=>Z(1),onKeydown:W}),T.showNav(e==="navigate"),u!=="default")T.root.classList.add(`${g}-search--${u}`);E.dom.root.classList.add(`${g}--has-search`)}let L=E.getItemStateFn();E.setItemStateFn((S,z)=>{if(L)L(S,z);if(m.length<i){delete z.search;return}if(e==="filter")z.search={matched:!0,query:m,matchIndex:S,isCurrent:!1};else{let Y=b.indexOf(S);z.search={matched:R.has(S),query:m,matchIndex:Y,isCurrent:Y!==-1&&Y===M}}}),E.registerMethod("openSearch",y),E.registerMethod("closeSearch",p),E.registerMethod("setQuery",(S)=>{if(!C)y();N(S)}),E.registerMethod("getQuery",()=>m),E.registerMethod("nextMatch",()=>Z(1)),E.registerMethod("prevMatch",()=>Z(-1)),E.registerMethod("getMatches",()=>b.slice()),E.registerKeydownHandler(A),E.registerDestroyHandler(()=>{q(),O(),T?.destroy(),T=null,E.dom.root.classList.remove(`${g}--search-open`,`${g}--searching`,`${g}--has-search`)})},hooks:{onCommit(d){P(d)}}}}function oo(t){let{slots:e,focalSlot:o,containerSize:n,gap:r=0}=t,s=e.length,l=Math.max(0,s-1)*r,i=n-l,v=e.map((T)=>Math.round(T*i)),u=i-v.reduce((T,C)=>T+C,0);if(o<v.length)v[o]+=u;let c=(v[o]??0)+r,E=(T)=>T>=r?r:Math.max(0,T);function I(T,C,m){let b=T-C,R=o+b,M=R-1,f=g(R),a=g(M);return f+m*(a-f)}function g(T){if(T<0||T>=s)return 0;return v[T]??0}function _(T,C,m,b){let R=T-C,M=I(T,C,m),f=b;if(R>0)for(let k=0;k<R;k++){let se=I(C+k,C,m);f+=se+E(se)}else if(R<0)for(let k=-1;k>=R;k--){let se=I(C+k,C,m);f-=se+E(se)}let a=o+R,D=a-1,V;if(a===o)V=m;else if(D===o)V=1-m;else V=1;let x=v[o]??0,K=x>0?M/x:0,j=K>0.6?"large":K>0.3?"medium":"small";return{size:M,offset:f,progress:V,relOffset:R,role:j}}function h(T,C){if(o===0)return 0;let m=0;for(let b=-1;b>=-o;b--){let R=I(T+b,T,C);m+=R+E(R)}return m}return{slotWidths:v,stepSize:c,focalSlot:o,getItemLayout:_,getItemSize:I,getAnchorOffset:h}}var qt=new Map;function Xe(t,e){qt.set(t,e)}function jt(t){return qt.get(t)}function st(t,e,o){let n=qt.get(t);return n?n(e,o):null}function Zt(t){return t!==null&&"slots"in t}var bt=()=>({slots:[1],focalSlot:0}),ht=(t,e)=>({slots:[(t-e)/t,e/t],focalSlot:0}),vt=(t,e)=>({slots:[e/t,(t-2*e)/t,e/t],focalSlot:1}),yt=()=>({slots:[0.4,0.3,0.2,0.09999999999999998],focalSlot:0}),St=(t)=>{let e=Math.max(2,Math.floor(t/(t*0.33))),o=1/e;return{slots:Array.from({length:e},()=>o),focalSlot:0,textFade:"size"}};Xe("full",bt);Xe("hero",ht);Xe("hero-center",vt);Xe("multi",yt);Xe("uncontained",St);var Jt=101,Tt=50,Go=10;function Bo(t){if(typeof t==="function")return{variant:"custom",resolveSlots:t};if(typeof t==="object"){let e=t;return{variant:"custom",resolveSlots:()=>e}}return{variant:t,resolveSlots:(e,o)=>st(t,e,o)}}function Qt(t){let e=t?.variant??"full",{variant:o,resolveSlots:n}=Bo(e),r=o==="full"||(t?.snap??o!=="free"),s=t?.snapDirection??!0,l=t?.snapDuration??400,i=t?.snapEasing,v=t?.initialIndex??0,u=t?.peek??"auto",c,E,I=null,g,_=v,h=0,T=0,C=0,m=0,b=!1,R="vlist",M=-1,f=0,a=[],D=[],V=!1,x="role",K=t?.gap??0;function j(A){if(h<=0)return 0;return(A%h+h)%h}function k(A,W,d){if(h<=1)return 0;let L=((W-A)%h+h)%h,S=h-L;if(d==="forward")return L;if(d==="backward")return-S;return L<=S?L:-S}function se(A){return Tt*h+A}function O(A){if(h<=0)return 0;return(A%h+h)%h}function X(A){a=A;let W=A.length;D=Array(W+1),D[0]=0;for(let d=0;d<W;d++)D[d+1]=D[d]+A[d];C=W>0?D[W]:0}function B(A){if(h<=0||C<=0)return{vi:0,frac:0};let W=Math.floor(A/C),d=A-W*C;if(d<0)d=0;if(!V){let te=a[0],Q=Math.min(Math.floor(d/te),h-1);return{vi:W*h+Q,frac:te>0?d/te-Q:0}}let L=0,S=h-1;while(L<S){let te=L+S+1>>1;if(D[te]<=d)L=te;else S=te-1}let z=D[L],Y=a[L],ne=Y>0?Math.max(0,Math.min((d-z)/Y,1)):0;return{vi:W*h+L,frac:ne}}function w(A){if(typeof u==="number")return u;if(typeof u==="string"&&u.endsWith("%"))return Math.round(A*parseFloat(u)/100);return Math.max(40,Math.min(Math.round(A*0.15),120))}function N(A){if(h<=0||C<=0)return 0;let W=Math.floor(A/h),d=(A%h+h)%h;return W*C+(D[d]??0)}function y(A){let{vi:W,frac:d}=B(A);return d>=0.5?W+1:W}function p(){if(M>=0)return M;return y(c.scrollPosition)}function Z(A,W){I?.smoothScrollTo(A,W,i)}let q=null;function G(){if(!I)return;let A=I.getItems().length;if(A===h)return;let W=_;if(h=A,V){let d=I.rawSizeSpec,L=typeof d==="function"?(S)=>d(S)+K:()=>d+K;X(Array.from({length:h},(S,z)=>L(z)))}else X(Array.from({length:h},()=>a[0]??T));if(m=h*Jt,c.totalItems=m,h>1){let d=W<h?W:0;_=d,I.scrollTo(N(Tt*h+d))}}function P(){if(!I||h<=0)return;if(!q&&!V&&h<=1)return;let W=I.dom.content.children,d=c.scrollPosition,L=c.baseOffset,S=Math.round(d-L),z=g?"width":"height",{vi:Y,frac:ne}=B(d),te=Y-(Y%h+h)%h,Q=q?q.slotWidths[q.focalSlot]??0:0;if(q){let ae=d+q.getAnchorOffset(Y,ne);for(let oe=0;oe<W.length;oe++){let pe=W[oe],be=pe.dataset.index;if(be===void 0)continue;let fe=parseInt(be,10),H=te+fe;if(H-Y>h/2)H-=h;if(Y-H>h/2)H+=h;let ie=q.getItemLayout(H,Y,ne,ae),re=Math.max(0,Math.round(ie.size)),ye=Math.round(ie.offset-L);if(re<=0)pe.style.display="none",pe.classList.remove(`${R}-item--focused`,`${R}-item--selected`),pe.removeAttribute("aria-selected");else pe.style.display="",pe.style[z]=re+"px",pe.style.transform=g?`translateX(${ye}px)`:`translateY(${ye}px)`;let Le;if(x==="size"){let xe=q.slotWidths[q.focalSlot]??1;Le=Math.min(1,Math.max(0,re/xe))}else if(x==="viewport"){let xe=ye-S,Ce=Math.max(0,xe),Te=Math.min(c.containerSize,xe+re),Ee=re>0?Math.max(0,(Te-Ce)/re):0;Le=Math.min(1,Ee)}else Le=ie.role==="large"?1-ie.progress:0;pe.style.setProperty("--vlist-carousel-progress",ie.progress.toFixed(3)),pe.style.setProperty("--vlist-carousel-offset",String(ie.relOffset)),pe.style.setProperty("--vlist-carousel-role",ie.role),pe.style.setProperty("--vlist-carousel-role-weight",Le.toFixed(3)),pe.style.setProperty("--vlist-carousel-width",re+"px"),pe.style.setProperty("--vlist-carousel-focal-width",Q+"px")}}else for(let ae=0;ae<W.length;ae++){let oe=W[ae],pe=oe.dataset.index;if(pe===void 0)continue;let be=parseInt(pe,10),fe=te+be;if(fe-Y>h/2)fe-=h;if(Y-fe>h/2)fe+=h;let H=O(fe),ie=Math.max(0,Math.round((a[H]??0)-K)),re=N(fe),ye=Math.round(re-L);if(ie<=0)oe.style.display="none";else oe.style.display="",oe.style[z]=ie+"px",oe.style.transform=g?`translateX(${ye}px)`:`translateY(${ye}px)`;let Le=fe-Y,xe=Math.min(1,Math.abs(Le)+(Le===0?ne:0)),Ce;if(x==="viewport"||x==="size"){let Te=ye-S,Ee=Math.max(0,Te),Re=Math.min(c.containerSize,Te+ie),Ae=ie>0?Math.max(0,(Re-Ee)/ie):0;Ce=Math.min(1,Ae)}else Ce=1-xe;oe.style.setProperty("--vlist-carousel-progress",xe.toFixed(3)),oe.style.setProperty("--vlist-carousel-offset",String(Le)),oe.style.setProperty("--vlist-carousel-role","large"),oe.style.setProperty("--vlist-carousel-role-weight",Ce.toFixed(3)),oe.style.setProperty("--vlist-carousel-width",ie+"px")}}function J(A,W,d){if(!I)return;if(_=A,h<=1)return;let L=p(),S=O(L),z=((A-S)%h+h)%h,Y=h-z,ne=z<=Y?z:-Y,te=L+ne;M=te;let Q=N(te);if(W)Z(Q,d);else I.scrollTo(Q),P()}return{name:"carousel",priority:10,conflicts:["scale"],setup(A){c=A.getState(),E=A.sizeCache,I=A,g=A.config.axis.primary==="x",R=A.config.classPrefix,h=c.totalItems;let W=h>0?E.getSize(0):0,d=c.containerSize,L=w(d),S=n(d,L);if(Zt(S))x=S.textFade??"role",q=oo({slots:S.slots,focalSlot:S.focalSlot,containerSize:d,gap:K}),T=q.stepSize,X(Array.from({length:Math.max(1,h)},()=>T)),V=!1;else if(typeof A.rawSizeSpec==="function"){x=S?.textFade??"viewport";let te=A.rawSizeSpec;X(Array.from({length:h},(Q,ae)=>te(ae)+K)),T=a[0]??W,V=!0}else x=S?.textFade??"viewport",T=W,X(Array.from({length:Math.max(1,h)},()=>T)),V=!1;if(m=h*Jt,_=j(v),h>1)A.setGetItemFn((te)=>{let Q=O(te);return A.getItems()[Q]}),E.getTotalSize=()=>C*Jt,E.getOffset=(te)=>N(te),E.getSize=(te)=>{let Q=O(te);return a[Q]??a[0]??0},E.indexAtOffset=(te)=>{if(C<=0)return 0;let Q=Math.floor(te/C),ae=te-Q*C;if(!V){let be=a[0]??1;return Math.max(0,Math.min(Q*h+Math.floor(ae/be),m-1))}let oe=0,pe=h-1;while(oe<pe){let be=oe+pe+1>>1;if(D[be]<=ae)oe=be;else pe=be-1}return Math.max(0,Math.min(Q*h+oe,m-1))},E.getTotal=()=>m,c.totalItems=m,A.setVirtualTotalFn(()=>h),A.setIndexMapFn(O),A.registerMethod("_layoutToDataIndex",O),A.setBoundedWrap({lapSize:()=>C,home:()=>Tt*C,thresholdLaps:Tt-Go}),b=!0;if(A.registerMethod("next",(te,Q)=>{if(h<=1)return;let ae=te??1,oe=_,pe=Q?.behavior!=="auto",be=Q?.duration??l;I.cancelScroll();let H=p()+ae;M=H,_=O(H);let ie=N(H);if(pe)Z(ie,be);else I.scrollTo(ie),P();if(_!==oe)I.emitter.emit("carousel:change",{index:_,scrollPosition:c.scrollPosition})}),A.registerMethod("prev",(te,Q)=>{if(h<=1)return;let ae=te??1,oe=_,pe=Q?.behavior!=="auto",be=Q?.duration??l;I.cancelScroll();let H=p()-ae;M=H,_=O(H);let ie=N(H);if(pe)Z(ie,be);else I.scrollTo(ie),P();if(_!==oe)I.emitter.emit("carousel:change",{index:_,scrollPosition:c.scrollPosition})}),A.registerMethod("goTo",(te,Q)=>{if(h<=0)return;let ae=j(te),oe=Q?.direction??"auto",pe=Q?.behavior==="smooth",be=Q?.duration??l;if(h<=1){_=ae;return}if(I.cancelScroll(),oe==="forward"||oe==="backward"){let fe=k(_,ae,oe==="forward"?"forward":"backward");_=ae;let ie=p()+fe;M=ie;let re=N(ie);if(pe)Z(re,be);else I.scrollTo(re),P()}else J(ae,pe,be)}),A.registerMethod("getCarouselState",()=>{let te=c.scrollPosition,Q=h>0&&C>0?(te%C+C)%C:0;return{index:_,progress:0,offset:0,scrollPosition:Q,role:"large"}}),A.setScrollToIndexFn((te,Q,ae,oe,pe)=>{if(h<=1)return!1;let be=j(te);J(be,ae==="smooth",oe??l)}),A.setNavConfig({total:()=>h,navigate:(te,Q,ae)=>{let oe=te;if(Q==="ArrowRight"||Q==="ArrowDown")oe=(te+1)%ae;else if(Q==="ArrowLeft"||Q==="ArrowUp")oe=(te-1+ae)%ae;else if(Q==="Home")oe=0;else if(Q==="End")oe=ae-1;if(oe!==te)J(oe,!1,0),I?.forceRender(),P();return oe}}),!A.dom.content.getAttribute("tabindex"))A.dom.content.setAttribute("tabindex","0");let z=A.getMethod("next"),Y=A.getMethod("prev"),ne=A.getMethod("goTo");A.registerKeydownHandler((te)=>{let Q=te.key;if(Q==="ArrowRight"||Q==="ArrowDown")te.preventDefault(),z(1,{behavior:"smooth",duration:l});else if(Q==="ArrowLeft"||Q==="ArrowUp")te.preventDefault(),Y(1,{behavior:"smooth",duration:l});else if(Q==="Home")te.preventDefault(),ne(0,{behavior:"smooth",duration:l});else if(Q==="End")te.preventDefault(),ne(h-1,{behavior:"smooth",duration:l})}),A.registerDestroyHandler(()=>{I?.cancelScroll()})},destroy(){I?.cancelScroll(),I=null},hooks:{onCommit(){if(!b||!I)return;b=!1;let A=N(se(_));I.scrollTo(A),I.forceRender(),P()},onAfterScroll(A){if(b||!I)return;if(G(),h<=1)return;if(c.scrollDirection!==0)f=c.scrollDirection;if(M<0){let W=c.scrollPosition,d=y(W),L=O(d);if(L!==_)_=L,I.emitter.emit("carousel:change",{index:_,scrollPosition:W})}P()},onIdle(){let A=f;if(M=-1,f=0,!r||!I||h<=1)return;let W=c.scrollPosition,{vi:d,frac:L}=B(W),S;if(s&&A!==0&&L>0.02&&L<0.98)S=A>0?d+1:d;else S=L>=0.5?d+1:d;let z=N(S);if(Math.abs(W-z)>1)_=O(S),Z(z,l)}}}}var Wo=50,Ko=0.1;function ro(t){let e=0,o=0,n=0;function r(){return n>0?o/n:0}function s(v){if(e=v,v>Ko&&v<Wo)o+=v,n++}function l(){let v=t.getTotal();if(v===0)return 0;let u=t.getItemSize();if(u<=0)return 0;let c=t.getContainerSize();if(c<=0)return 0;let E=t.getScrollPosition(),I=typeof t.getColumns==="function"?t.getColumns():1,_=Math.ceil(v/I)*u,T=Math.min(_,Qe)-c,C=_-c,m=T>0?C/T:1,b=E*m,R=Math.ceil((b+c)/u);return Math.min(R*I,v)}function i(){let v=t.getTotal(),u=l();return{progress:v>0?Math.min(100,Math.max(0,u/v*100)):0,velocity:e,velocityAvg:r(),itemCount:u,total:v}}return{getState:i,onVelocity:s}}async function so(t,e,o){let n=o?.key,r=t?.getScrollSnapshot,s=typeof r==="function"?r():void 0,l=rt(s?n?{restore:s,autoSave:n}:{restore:s}:n?{autoSave:n}:void 0),i=e(l),v=i.element;if(v.style.position="absolute",v.style.inset="0",v.style.visibility="hidden",o?.ready)await o.ready(i);else await new Promise((g)=>requestAnimationFrame(()=>g()));if(o?.delay&&o.delay>0)await new Promise((g)=>setTimeout(g,o.delay));let u=o?.transition,c=typeof u==="number"?u:u?.fadeIn??0,E=typeof u==="number"?u:u?.fadeOut??0,I=typeof u==="object"?u?.fadeOutDelay??0:0;if(t&&(c>0||E>0)){let g=t.element;v.style.visibility="",v.style.opacity="0",v.offsetHeight,v.style.transition=`opacity ${c}ms ease`,g.style.transition=`opacity ${E}ms ease ${I}ms`,v.style.opacity="1",g.style.opacity="0",await new Promise((_)=>setTimeout(_,Math.max(c,E+I)+50)),v.style.transition="",v.style.opacity="",g.style.transition="",g.style.opacity=""}else v.style.visibility="";if(v.style.position="",v.style.inset="",t)t.destroy();return i}export{zt as a11y,kt as autosize,Qt as carousel,ro as createStats,_n as createVList,Ft as data,bt as full,jt as getPreset,wt as grid,$t as groups,ht as hero,vt as heroCenter,_t as masonry,yt as multi,Rt as page,so as rebuild,Xe as registerPreset,st as resolvePreset,Pt as scrollbar,Xt as search,At as selection,rt as snapshots,Nt as sortable,Ot as table,Ht as transition,Bt as tree,St as uncontained};
1
+ var lt=3,on="vlist";var at=50;var rn=50,sn=2,ln=15,an=6,Lt=2000,dn=30000,Qe=16000000,Ke=150,et=1,dt=(t)=>t<0.5?2*t*t:1-(-2*t+2)**2/2,un=300,cn=2,mn=1.5,fn=0.25,gn=0.75;var pn="x",bn=20,Ct="_isPlaceholder",$e="__placeholder_";var ut={top:0,right:0,bottom:0,left:0},hn=(t)=>{if(t==null)return ut;if(typeof t==="number")return t===0?ut:{top:t,right:t,bottom:t,left:t};if(t.length===2){let[s,l]=t;return s===0&&l===0?ut:{top:s,right:l,bottom:s,left:l}}let[e,o,n,r]=t;return e===0&&o===0&&n===0&&r===0?ut:{top:e,right:o,bottom:n,left:r}},vn=(t,e)=>e?t.left+t.right:t.top+t.bottom,yn=(t,e)=>e?t.top+t.bottom:t.left+t.right;function Sn(t){let e={visibleIndices:new Int32Array(t),visibleOffsets:new Float64Array(t),visibleSizes:new Float64Array(t),visibleCount:0,startIndex:0,totalSize:0,capacity:t,scrollPosition:0,prevScrollPosition:0,scrollDirection:0,baseOffset:0,prevBaseOffset:0,containerSize:0,crossSize:0,totalItems:0,prevRangeStart:0,prevRangeEnd:-1,renderPending:!1,initialized:!1,destroyed:!1,prevAriaTotal:-1,resizeCapacity(o,n,r=lt){if(n<=0||o<=0)return;let s=Math.ceil(o/n)+r*2;if(s<=e.capacity)return;let l=s+8,i=new Int32Array(l),T=new Float64Array(l),u=new Float64Array(l);i.set(e.visibleIndices),T.set(e.visibleOffsets),u.set(e.visibleSizes),e.visibleIndices=i,e.visibleOffsets=T,e.visibleSizes=u,e.capacity=l},clear(){e.visibleCount=0,e.startIndex=0}};return e}var uo=(t,e)=>{let o=e;return{getOffset:(n)=>n*t,getSize:(n)=>t,indexAtOffset:(n)=>{if(o===0||t===0)return 0;return Math.max(0,Math.min(Math.floor(n/t),o-1))},getTotalSize:()=>o*t,getTotal:()=>o,rebuild:(n)=>{o=n},isVariable:()=>!1}},co=(t,e)=>{let o=e,n=new Float64Array(0),r=(l)=>{o=l,n=new Float64Array(l+1),n[0]=0;for(let i=0;i<l;i++)n[i+1]=n[i]+t(i)};r(e);let s=(l)=>{if(o===0)return 0;if(l<=0)return 0;if(l>=n[o])return o-1;let i=0,T=o-1;while(i<T){let u=i+T+1>>>1;if(n[u]<=l)i=u;else T=u-1}return i};return{getOffset:(l)=>{if(l<=0)return 0;if(l>=o)return n[o];return n[l]},getSize:(l)=>t(l),indexAtOffset:(l)=>s(l),getTotalSize:()=>n[o]??0,getTotal:()=>o,rebuild:(l)=>r(l),isVariable:()=>!0}},ct=(t,e)=>{if(typeof t==="number")return uo(t,e);return co(t,e)};function Tn(t){let e=[],o=`${t}-item`,n=document.createElement("div");return n.className=o,{acquire(){if(e.length>0)return e.pop();return n.cloneNode(!1)},release(r){if(r.className=o,r.removeAttribute("style"),r.removeAttribute("id"),r.removeAttribute("role"),r.removeAttribute("aria-selected"),r.removeAttribute("aria-posinset"),r.removeAttribute("aria-setsize"),r.removeAttribute("data-index"),r.removeAttribute("data-id"),r.textContent="",e.length<100)e.push(r)},get size(){return e.length},clear(){e.length=0}}}function Be(t){let e=t.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let o=0;o<e.length;o++)e[o].setAttribute("tabindex","-1")}function In(t){if(typeof t==="string"){let e=document.querySelector(t);if(!e)throw Error(`[vlist] Container not found: ${t}`);return e}return t}function xn(t,e,o,n){let r=o?`${e} ${e}--horizontal`:e,s=o?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",l=o?"position:relative;height:100%;overflow-anchor:none":"position:relative;width:100%;overflow-anchor:none",i=' role="list"';if(n)i+=` aria-label="${n.replace(/"/g,"&quot;")}"`;if(o)i+=' aria-orientation="horizontal"';t.insertAdjacentHTML("beforeend",`<div class="${r}"><div class="${e}-viewport" style="${s}" tabindex="-1"><div class="${e}-content" style="${l}"${i}></div></div></div>`);let T=t.lastElementChild,u=T.firstElementChild,c=u.firstElementChild,C=document.createElement("div");return C.className=`${e}-live`,C.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",C.setAttribute("aria-live","polite"),C.setAttribute("aria-atomic","true"),C.setAttribute("role","status"),T.appendChild(C),{root:T,viewport:u,content:c,liveRegion:C}}function Ln(t){let{state:e,viewport:o,isX:n,wheelEnabled:r,onFrame:s,onIdle:l}=t,i=t.idleTimeout||Ke,T=t.scrollTarget??o,u=null,c=null;function C(){let I=n?o.scrollLeft:o.scrollTop;if(Math.abs(I-e.scrollPosition)<0.5)return;e.prevScrollPosition=e.scrollPosition,e.scrollPosition=I,e.scrollDirection=I>e.prevScrollPosition?1:I<e.prevScrollPosition?-1:0,s(),g()}function x(I){let E;if(n){if(Math.abs(I.deltaX)>Math.abs(I.deltaY))return;let m=o.scrollLeft,b=o.scrollWidth-o.clientWidth;if(E=Math.max(0,Math.min(m+I.deltaY*et,b)),Math.abs(E-m)<1)return;I.preventDefault(),o.scrollLeft=E}else{let m=o.scrollWidth>o.clientWidth;if(m&&Math.abs(I.deltaX)>Math.abs(I.deltaY))return;if(m&&I.deltaX!==0)I.preventDefault(),o.scrollLeft+=I.deltaX;let b=o.scrollTop,R=o.scrollHeight-o.clientHeight;if(E=Math.max(0,Math.min(b+I.deltaY*et,R)),Math.abs(E-b)<1)return;I.preventDefault(),o.scrollTop=E}e.prevScrollPosition=e.scrollPosition,e.scrollPosition=E,e.scrollDirection=E>e.prevScrollPosition?1:-1,s(),g()}function g(){if(u!==null)clearTimeout(u);u=setTimeout(()=>{u=null,e.scrollDirection=0,l()},i)}function _(){if(c!==null)cancelAnimationFrame(c),c=null}function v(I,E,m,b=dt,R){_();let P=e.scrollPosition,f=typeof I==="function"?I:()=>I,a=f();if(Math.abs(a-P)<1){if(m)m(a);else if(n)o.scrollLeft=a;else o.scrollTop=a;R?.();return}let D=performance.now();function V(L){a=f();let G=L-D,X=Math.min(G/E,1),H=P+(a-P)*b(X);if(m)m(H);else if(n)o.scrollLeft=H;else o.scrollTop=H;if(!m)e.scrollPosition=H;if(s(),X<1)c=requestAnimationFrame(V);else c=null,g(),R?.()}c=requestAnimationFrame(V)}return{attach(){if(T.addEventListener("scroll",C,{passive:!0}),r)T.addEventListener("wheel",x,{passive:!1})},detach(){if(T.removeEventListener("scroll",C),r)T.removeEventListener("wheel",x);if(_(),u!==null)clearTimeout(u),u=null},cancelScroll:_,smoothScrollTo:v}}function Ze(t,e,o){if(t<e)return e;if(t>o)return o;return t}function Cn(t){let{state:e,viewport:o,content:n,isX:r,wheelEnabled:s,onFrame:l,onIdle:i,mainAxisPadding:T}=t,u=t.idleTimeout||Ke,c=t.runwayFactor??cn,C=t.wrap??null,x=C!==null,g=t.scrollTarget??o,_=0,v=0,I=0,E=null,m=null;function b(){return r?o.scrollLeft:o.scrollTop}function R(B){if(r)o.scrollLeft=B;else o.scrollTop=B}function P(B){let U=x?B:Ze(B,0,v);e.prevScrollPosition=e.scrollPosition,e.scrollPosition=U,e.scrollDirection=U>e.prevScrollPosition?1:U<e.prevScrollPosition?-1:0;let N=_/2;if(x){e.baseOffset=U-N,R(N);return}let w=Ze(U-N,0,I);e.baseOffset=w,R(Ze(U-w,0,_))}function f(B){P(B),l(),G()}function a(){let B=b(),U=e.baseOffset+B;if(Math.abs(U-e.scrollPosition)<0.5)return;if(e.prevScrollPosition=e.scrollPosition,e.scrollPosition=U,e.scrollDirection=U>e.prevScrollPosition?1:U<e.prevScrollPosition?-1:0,D(B),x)V();l(),G()}function D(B){let U=_*fn,N=_*gn,w=_/2;if(x){if(B>=U&&B<=N)return;e.baseOffset=e.scrollPosition-w,R(w);return}if(I<=0)return;let W=e.baseOffset,p=B<U&&W>0,h=B>N&&W<I;if(!p&&!h)return;let J=e.scrollPosition,q=Ze(J-w,0,I);if(q===W)return;e.baseOffset=q,R(Ze(J-q,0,_))}function V(){let B=C.lapSize();if(B<=0)return;let U=e.scrollPosition-C.home(),N=Math.trunc(U/B);if(Math.abs(N)<C.thresholdLaps)return;let w=N*B;e.scrollPosition-=w,e.prevScrollPosition-=w,e.baseOffset-=w}function L(B){let U;if(r)if(Math.abs(B.deltaX)>Math.abs(B.deltaY)){if(!x)return;U=B.deltaX}else U=B.deltaY;else{let p=o.scrollWidth>o.clientWidth;if(p&&Math.abs(B.deltaX)>Math.abs(B.deltaY))return;if(p&&B.deltaX!==0)B.preventDefault(),o.scrollLeft+=B.deltaX;U=B.deltaY}let N=e.scrollPosition,w=N+U*et,W=x?w:Ze(w,0,v);if(Math.abs(W-N)<1)return;if(B.preventDefault(),f(W),x)V()}function G(){if(E!==null)clearTimeout(E);E=setTimeout(()=>{E=null,e.scrollDirection=0,i()},u)}function X(){if(m!==null)cancelAnimationFrame(m),m=null}function H(B,U,N,w=dt,W){X();let p=e.scrollPosition,h=typeof B==="function"?B:()=>B,J=h();if(Math.abs(J-p)<1){f(J),W?.();return}let q=performance.now();function O(z){J=h();let j=Math.min((z-q)/U,1);if(P(p+(J-p)*w(j)),l(),j<1)m=requestAnimationFrame(O);else m=null,G(),W?.()}m=requestAnimationFrame(O)}function re(B){let U=e.containerSize,N=B+T,w=U*c,W=x?w:Math.min(N,w);_=Math.max(0,W-U),v=Math.max(0,N-U),I=Math.max(0,N-W),e.totalSize=B,n.style[r?"width":"height"]=W+"px",P(e.scrollPosition)}return{attach(){if(g.addEventListener("scroll",a,{passive:!0}),s)g.addEventListener("wheel",L,{passive:!1})},detach(){if(g.removeEventListener("scroll",a),s)g.removeEventListener("wheel",L);if(X(),E!==null)clearTimeout(E),E=null},cancelScroll:X,smoothScrollTo:H,setLogical:f,getLogical(){return e.scrollPosition},getMaxLogical(){return v},refresh:re}}function mo(t,e){if(t.getTotal()<=0)return{index:0,offsetPx:0};let n=e<=0?0:e,r=t.indexAtOffset(n),s=n-t.getOffset(r);return{index:r,offsetPx:s>0?s:0}}function fo(t,e){let o=go(t,e);return t.getOffset(o.index)+o.offsetPx}function go(t,e){let o=t.getTotal();if(o<=0)return{index:0,offsetPx:0};let{index:n,offsetPx:r}=e;if(n<0)return{index:0,offsetPx:0};if(n>o-1)n=o-1;while(r>0&&n<o-1){let s=t.getSize(n);if(r<s)break;r-=s,n++}while(r<0&&n>0)n--,r+=t.getSize(n);if(r<0)r=0;return{index:n,offsetPx:r}}function En(t){let{sizeCache:e,getPixel:o,setPixel:n,getContainerSize:r}=t;function s(){let i=e.getTotalSize()-r();return i>0?i:0}function l(i){if(i<=0)return 0;let T=s();return i>T?T:i}return{getLogical(){return mo(e,o())},setLogical(i){n(l(fo(e,i)))},getPixelEquivalent(){return o()},setPixelEquivalent(i){n(l(i))},getMaxPixelEquivalent:s,scrollByPx(i){n(l(o()+i))}}}var tt=[],po={calculate:tt,commit:tt,afterScroll:tt,idle:tt,resize:tt};function Mn(t){if(t.length===0)return po;let e=[],o=[],n=[],r=[],s=[];for(let l=0;l<t.length;l++){let i=t[l].hooks;if(i===void 0)continue;if(i.onCalculate!==void 0)e.push(i.onCalculate);if(i.onCommit!==void 0)o.push(i.onCommit);if(i.onAfterScroll!==void 0)n.push(i.onAfterScroll);if(i.onIdle!==void 0)r.push(i.onIdle);if(i.onResize!==void 0)s.push(i.onResize)}return{calculate:e,commit:o,afterScroll:n,idle:r,resize:s}}function Pn(t,e){for(let o=0;o<t.length;o++)t[o](e)}function wn(t,e){for(let o=0;o<t.length;o++)t[o](e)}function Et(t,e,o){for(let n=0;n<t.length;n++)t[n](e,o)}function zn(t){for(let e=0;e<t.length;e++)t[e]()}function An(t,e,o){for(let n=0;n<t.length;n++)t[n](e,o)}function Rn(t,e,o,n,r,s,l,i){let T=n!==0||r!==0;return{prefix:t,selectedClass:`${t}-item--selected`,focusedClass:`${t}-item--focused`,placeholderClass:`${t}-item--placeholder`,replacedClass:`${t}-item--replaced`,translateProp:e?"translateX(":"translateY(",sizeProp:e?"width":"height",itemRole:"listitem",interactive:!1,startPadding:o,gap:l,hasCrossPad:T,crossStartProp:T?e?"top":"left":"",crossEndProp:T?e?"bottom":"right":"",crossStartVal:T?n+"px":"",crossEndVal:T?r+"px":"",oddClass:s,emitter:i??null,indexMap:null,ariaTotalFn:null}}function bo(t,e,o,n,r){if(t.containerSize<=0||t.totalItems===0)return t.clear(),!0;let{scrollPosition:s,containerSize:l,totalItems:i}=t,T=r??0;t.totalSize=e.getTotalSize();let u=e.indexAtOffset(T>0?Math.max(0,s-T):s),c=e.indexAtOffset(s+l);if(c<i-1)c++;u=Math.max(0,u),c=Math.min(i-1,Math.max(0,c));let C=Math.max(0,u-o),x=Math.min(i-1,c+o),g=Math.ceil(l/1)+o*2+10,_=x-C+1,v=Math.min(_,t.capacity,g);if(C===t.prevRangeStart&&x===t.prevRangeEnd&&!t.renderPending&&t.baseOffset===t.prevBaseOffset)return!1;t.visibleCount=v,t.startIndex=C;for(let I=0;I<v;I++){let E=C+I;t.visibleIndices[I]=E,t.visibleOffsets[I]=e.getOffset(E),t.visibleSizes[I]=e.getSize(E)}return Pn(n.calculate,t),t.prevRangeStart=C,t.prevRangeEnd=x,t.prevBaseOffset=t.baseOffset,t.renderPending=!1,!0}var Ve={selected:!1,focused:!1};function ho(t,e,o){for(let n=0;n<e;n++)if(t[n]===o)return!0;return!1}function vo(t,e){if(e<=1)return!0;let o=t[0];for(let n=1;n<e;n++){let r=t[n];if(r!==o+1)return!1;o=r}return!0}function yo(t,e,o,n,r,s,l,i,T,u){let c=T?null:r(),{visibleCount:C,visibleIndices:x}=t,g=l.ariaTotalFn?l.ariaTotalFn():t.totalItems,_=l.interactive?String(g):"",v=l.interactive&&g!==t.prevAriaTotal,I=null,E=l.indexMap;for(let m=0;m<C;m++){let b=x[m],R=E?E(b):b,P=t.visibleOffsets[m],f=t.visibleSizes[m],a=T?T(b):c[b];if(u)u(R,Ve);else Ve.selected=!1,Ve.focused=!1;let D=s.get(b),V=D;if(D===void 0){let L=e.acquire();if(a!==void 0){let H;try{H=n(a,R,Ve)}catch(re){if(l.emitter)l.emitter.emit("error",{error:re instanceof Error?re:Error(String(re)),context:`template:render:${R}`});e.release(L);continue}if(typeof H==="string")L.innerHTML=H;else L.textContent="",L.appendChild(H);Be(L)}if(L.setAttribute("role",l.itemRole),L.setAttribute("data-index",String(R)),l.interactive)L.id=l.prefix+"-item-"+b,L.setAttribute("aria-posinset",String(R+1)),L.setAttribute("aria-setsize",_);if(a!==void 0){let H=String(a.id);if(L.setAttribute("data-id",H),H.startsWith($e))L.classList.add(l.placeholderClass)}if(l.hasCrossPad)L.style.setProperty(l.crossStartProp,l.crossStartVal),L.style.setProperty(l.crossEndProp,l.crossEndVal);if(u){if(L.classList.toggle(l.selectedClass,Ve.selected),L.classList.toggle(l.focusedClass,Ve.focused),Ve.selected)L.setAttribute("aria-selected","true");else L.removeAttribute("aria-selected");L._lastSelected=Ve.selected,L._lastFocused=Ve.focused}if(l.oddClass)L.classList.toggle(l.oddClass,(b&1)===1);let G=P-t.baseOffset+l.startPadding;L.style.transform=l.translateProp+G+"px)",L._lastOffset=G;let X=f-l.gap;if(L.style[l.sizeProp]=X+"px",L._lastSize=X,L._lastItem=a,s.set(b,L),I===null)I=document.createDocumentFragment();I.appendChild(L)}else{if(v)D.setAttribute("aria-setsize",_);if(a!==void 0&&V._lastItem!==a){let X=D.getAttribute("data-id"),H=String(a.id),re;try{re=n(a,R,Ve)}catch(B){if(l.emitter)l.emitter.emit("error",{error:B instanceof Error?B:Error(String(B)),context:`template:render:${R}`});continue}if(typeof re==="string")D.innerHTML=re;else D.textContent="",D.appendChild(re);if(Be(D),D.setAttribute("data-id",H),V._lastItem=a,X!==H){let B=X!==null&&X.startsWith($e),U=H.startsWith($e);if(B!==U)D.classList.toggle(l.placeholderClass,U);if(B&&!U)D.classList.add(l.replacedClass),setTimeout(()=>{D.classList.remove(l.replacedClass)},300)}}if(u){if(V._lastSelected!==Ve.selected){if(D.classList.toggle(l.selectedClass,Ve.selected),Ve.selected)D.setAttribute("aria-selected","true");else D.removeAttribute("aria-selected");V._lastSelected=Ve.selected}if(V._lastFocused!==Ve.focused)D.classList.toggle(l.focusedClass,Ve.focused),V._lastFocused=Ve.focused}let L=P-t.baseOffset+l.startPadding;if(V._lastOffset!==L)D.style.transform=l.translateProp+L+"px)",V._lastOffset=L;let G=f-l.gap;if(V._lastSize!==G)D.style[l.sizeProp]=G+"px",V._lastSize=G}}if(I!==null)o.appendChild(I);if(C>0&&vo(x,C)){let m=x[0],b=x[C-1];for(let[R,P]of s)if(R<m||R>b)P.remove(),e.release(P),s.delete(R)}else for(let[m,b]of s)if(!ho(x,C,m))b.remove(),e.release(b),s.delete(m);if(l.interactive)t.prevAriaTotal=t.totalItems;wn(i.commit,t)}function Mt(t,e,o,n,r,s,l,i,T,u,c,C){if(bo(t,e,o,u,T.startPadding))yo(t,n,r,s,l,i,T,u,c,C)}var Pt=()=>{let t={},e=(s,l)=>{if(!t[s])t[s]=new Set;return t[s].add(l),()=>o(s,l)},o=(s,l)=>{t[s]?.delete(l)};return{on:e,off:o,emit:(s,l)=>{t[s]?.forEach((i)=>{try{i(l)}catch(T){console.error(`[vlist] Error in event handler for "${String(s)}":`,T)}})},clear:(s)=>{if(s)delete t[s];else for(let l in t)delete t[l]}}};var Hn=2,kn=(t=0)=>({velocity:0,sampleCount:0}),_n=(t,e)=>{let o=performance.now(),n=t._lt??o,r=t._lp??e,s=o-n;if(t._lp=e,t._lt=o,s===0)return t.sampleCount=Math.min(t.sampleCount+1,5),t;if(s>100)return t.velocity=0,t.sampleCount=1,t;return t.velocity=Math.abs(e-r)/s,t.sampleCount=Math.min(t.sampleCount+1,5),t};function So(t){let{item:e}=t;if(e.height!==void 0&&typeof e.height==="number"){if(!Number.isFinite(e.height)||e.height<=0)throw Error(`vlist: item.height must be a positive number, got ${e.height}`)}if(e.width!==void 0&&typeof e.width==="number"){if(!Number.isFinite(e.width)||e.width<=0)throw Error(`vlist: item.width must be a positive number, got ${e.width}`)}if(e.estimatedHeight!==void 0){if(!Number.isFinite(e.estimatedHeight)||e.estimatedHeight<=0)throw Error(`vlist: item.estimatedHeight must be a positive number, got ${e.estimatedHeight}`)}if(e.estimatedWidth!==void 0){if(!Number.isFinite(e.estimatedWidth)||e.estimatedWidth<=0)throw Error(`vlist: item.estimatedWidth must be a positive number, got ${e.estimatedWidth}`)}if(e.gap!==void 0){if(typeof e.gap!=="number"||!Number.isFinite(e.gap)||e.gap<0)throw Error(`vlist: item.gap must be a non-negative number, got ${e.gap}`)}if(t.overscan!==void 0){if(typeof t.overscan!=="number"||!Number.isFinite(t.overscan)||t.overscan<0)throw Error(`vlist: overscan must be a non-negative number, got ${t.overscan}`)}if(t.scroll?.runway!==void 0){if(typeof t.scroll.runway!=="number"||!Number.isFinite(t.scroll.runway)||t.scroll.runway<=0)throw Error(`vlist: scroll.runway must be a positive number, got ${t.scroll.runway}`)}}function To(t,e){let o=t==="horizontal"?"x":"y";if(e.some((r)=>r.name==="grid"))return{primary:o,cross:o==="x"?"y":"x"};return{primary:o}}function Io(t,e){let o=To(t.orientation,e),n=o.primary==="x",r=hn(t.padding);return{axis:o,hasCrossAxis:o.cross!==void 0,overscan:t.overscan??lt,reverse:t.reverse??!1,classPrefix:t.classPrefix??on,mainAxisPadding:vn(r,n),crossAxisPadding:yn(r,n),startPadding:n?r.left:r.top,endPadding:n?r.right:r.bottom,crossPadStart:n?r.top:r.left,crossPadEnd:n?r.bottom:r.right,striped:t.item.striped||!1,gap:t.item.gap??0}}function xo(t,e){if(e)return t.item.width??t.item.estimatedWidth??100;return t.item.height??t.item.estimatedHeight??40}function Lo(t){let e=[...t];return e.sort((o,n)=>(o.priority??50)-(n.priority??50)),e}function Co(t){let e=new Set;for(let o of t){if(e.has(o.name))throw Error(`[vlist] Duplicate plugin: ${o.name}`);e.add(o.name)}for(let o of t)if(o.conflicts){for(let n of o.conflicts)if(e.has(n))throw Error(`[vlist] Plugin "${o.name}" conflicts with "${n}"`)}}function Fn(t,e=[],o){So(t);let n=Io(t,e),r=n.axis.primary==="x",s=t.scroll?.mode==="bounded"||!!o,l=xo(t,r),i=n.gap,T=i>0?typeof l==="function"?(Se)=>l(Se)+i:l+i:l,u=typeof l==="number"?l:20,c=t.items?.length??0,C=n.striped?`${n.classPrefix}-item--odd`:"",x=Pt(),g=Rn(n.classPrefix,r,n.startPadding,n.crossPadStart,n.crossPadEnd,C,i,x),_=e.length>0?Lo(e):e;if(e.length>0)Co(_);let v=In(t.container),I=xn(v,n.classPrefix,r,t.ariaLabel);if(t.scroll?.scrollbar==="none")I.viewport.classList.add(`${n.classPrefix}-viewport--no-scrollbar`);if(t.scroll?.gutter==="stable")I.viewport.classList.add(`${n.classPrefix}-viewport--gutter-stable`);let m=ct(T,c);if(i>0){let Se=m.getTotalSize;m.getTotalSize=()=>{let ee=Se();return ee>0?ee-i:0}}let b=Tn(n.classPrefix),R=Math.ceil(4096/u)+n.overscan*2+8,P=Sn(R);P.totalItems=c;let f=t.items??[],a=()=>f,D=new Map,V=kn(),L={velocity:0,reliable:!1},G={range:{start:0,end:-1}},X={scrollPosition:0,direction:"down"},H={scrollPosition:0},re=-1,B=-1,U=-1,N=null,w=Mn(_),W=new Map,p=[],h=[],J=[],q=null,O=null,z=null,j=null,Z=null,A=null,d=null,y=null,S=null,M=null,Y=null,ne=!1,be=!1,Q=null,oe=0,ie=0,ge=null,pe=null,ce=null,k=null,ae=null,te=null,ve=null,Ee=null,xe=null;P.containerSize=r?I.viewport.clientWidth:I.viewport.clientHeight,P.crossSize=r?I.viewport.clientHeight:I.viewport.clientWidth;let Le=En({sizeCache:m,getPixel:()=>O?O():P.scrollPosition,setPixel:(Se)=>{if(z)z(Se);else if(r)I.viewport.scrollLeft=Se;else I.viewport.scrollTop=Se},getContainerSize:()=>P.containerSize});if(e.length>0){let Se={dom:I,sizeCache:m,scroll:Le,pool:b,config:n,emitter:x,template:t.item.template,registerMethod(ee,we){W.set(ee,we)},getMethod(ee){return W.get(ee)},registerClickHandler(ee){p.push(ee)},registerKeydownHandler(ee){h.push(ee)},registerDestroyHandler(ee){J.push(ee)},enableListboxRole(){let ee=I.content.getAttribute("role");if(!ee||ee==="list")I.content.setAttribute("role","listbox"),I.content.setAttribute("tabindex","0");g.itemRole="option",g.interactive=!0},setSizeConfig(ee){let we=ct(ee,P.totalItems),_e=W.get("_setSizeCacheBase");if(_e){let De=m.rebuild;Object.assign(m,we),m.rebuild=De,_e(we.rebuild)}else Object.assign(m,we)},setScrollFns(ee,we){O=ee,z=we},setBoundedWrap(ee){xe=ee},cancelScroll(){Pe?.cancelScroll()},setVirtualTotalFn(ee){q=ee,g.ariaTotalFn=ee},setIndexMapFn(ee){g.indexMap=ee},getItems:a,getItem(ee){return A?A(ee):f[ee]},getState(){return P},rebuildSizeCache(){m.rebuild(P.totalItems)},updateContentSize(ee){if(Ee){Ee.refresh(ee);return}P.totalSize=ee,I.content.style[r?"width":"height"]=ee+n.mainAxisPadding+"px"},setRenderFn(ee,we){j=ee,Z=we},renderIfNeeded(){de()},forceRender(){ye()},setGetItemFn(ee){A=ee},setItemStateFn(ee){d=ee},getItemStateFn(){return d},get rawSizeSpec(){return l},scrollTo(ee){if(z)z(ee);else if(r)I.viewport.scrollLeft=ee;else I.viewport.scrollTop=ee},shiftScroll(ee){if(Ee?.shiftBy)Ee.shiftBy(ee);else Se.scrollTo(P.scrollPosition+ee)},smoothScrollTo(ee,we,_e,De){if(k)k(ee,we,z??void 0,_e,De);else Se.scrollTo(typeof ee==="function"?ee():ee)},disableDefaultScroll(){ne=!0},disableDefaultResize(){be=!0},setScrollTarget(ee){Q=ee},setScrollToPosFn(ee){ae=ee},setScrollToIndexFn(ee){te=ee},onScrollFrame:Ie,onScrollIdle:fe,removeItemById(ee){if(y)return y(ee);let we=f.findIndex((_e)=>_e.id===ee);if(we===-1)return-1;return f.splice(we,1),P.totalItems=f.length,m.rebuild(P.totalItems),se(),we},insertItemAt(ee,we){if(S){S(ee,we);return}f.splice(we,0,ee),P.totalItems=f.length,m.rebuild(P.totalItems),se()},setRemoveItemFn(ee){y=ee},setInsertItemFn(ee){S=ee},setUpdateItemFn(ee){M=ee},setGetIndexByIdFn(ee){Y=ee},getRenderedElement(ee){let we=W.get("_getRenderedElement");if(we)return we(ee);return D.get(ee)??null},setNavConfig(ee){if(ee.ud!==void 0)oe=ee.ud;if(ee.lr!==void 0)ie=ee.lr;if(ee.scrollIndex)ge=ee.scrollIndex;if(ee.navigate)pe=ee.navigate;if(ee.total)ce=ee.total},getNavConfig:(()=>{let ee={ud:0,lr:0,scrollIndex:null,navigate:null,total:null};return()=>(ee.ud=oe,ee.lr=ie,ee.scrollIndex=ge,ee.navigate=pe,ee.total=ce,ee)})()};for(let ee of _)if(ee.setup)try{ee.setup(Se)}catch(we){x.emit("error",{error:we instanceof Error?we:Error(String(we)),context:`plugin:setup:${ee.name}`})}}let Te=n.classPrefix+"--scrolling",Ce=!1,Re=t.scroll?.idleTimeout??Ke;function Ae(){if(X.scrollPosition=Le.getPixelEquivalent(),r)X.direction=P.scrollDirection>0?"right":"left";else X.direction=P.scrollDirection>0?"down":"up";if(x.emit("scroll",X),_n(V,P.scrollPosition),L.velocity=V.velocity,L.reliable=V.sampleCount>=Hn,x.emit("velocity:change",L),P.startIndex!==re||P.prevRangeEnd!==B)re=P.startIndex,B=P.prevRangeEnd,G.range.start=P.startIndex,G.range.end=P.prevRangeEnd,x.emit("range:change",G)}let K=!1;function se(){if(j)return;let Se=m.getTotalSize();if(Ee){Ee.refresh(Se);return}if(I.content.style[r?"width":"height"]=Se+n.mainAxisPadding+"px",!K&&Se>Qe)K=!0,x.emit("error",{error:Error(`Content size (${Se}px) exceeds browser limit (${Qe}px). Enable bounded scroll (scroll: { mode: "bounded" }) for large datasets.`),context:"content:size:overflow"})}function me(){if(!ve)return;if((q?q():f.length)===0)return;let ee=ve;ve=null,ke.scrollToIndex(ee.index,ee.alignOrOptions)}function de(){if(me(),j)j();else Mt(P,m,n.overscan,b,I.content,t.item.template,a,D,g,w,A,d)}function Ie(){if(!Ce)Ce=!0,I.root.classList.add(Te);if(de(),Et(w.afterScroll,P.scrollPosition,P.scrollDirection),P.scrollPosition!==U)U=P.scrollPosition,Ae()}function fe(){if(Ce)Ce=!1,I.root.classList.remove(Te);P.scrollDirection=0,zn(w.idle),L.velocity=0,L.reliable=!1,x.emit("velocity:change",L),H.scrollPosition=Le.getPixelEquivalent(),x.emit("scroll:idle",H)}function ye(){if(me(),P.renderPending=!0,Z)Z();else Mt(P,m,n.overscan,b,I.content,t.item.template,a,D,g,w,A,d);if(Et(w.afterScroll,P.scrollPosition,P.scrollDirection),P.scrollPosition!==U){if(U=P.scrollPosition,Ae(),N!==null)clearTimeout(N);N=setTimeout(fe,Re)}}let He=ne?!1:t.scroll?.wheel!==!1,Pe;if(ne&&(s||xe))throw Error(`vlist: page() is not compatible with ${xe?"the carousel plugin":'scroll: { mode: "bounded" }'} — bounded page-mode scrolling is not implemented yet.`);if(s||xe)Ee=(o??Cn)({state:P,sizeCache:m,viewport:I.viewport,content:I.content,isX:r,wheelEnabled:He,idleTimeout:t.scroll?.idleTimeout??Ke,...Q?{scrollTarget:Q}:{},mainAxisPadding:n.mainAxisPadding,...t.scroll?.runway!==void 0?{runwayFactor:Math.max(mn,t.scroll.runway)}:{},...xe?{wrap:xe}:{},onFrame:Ie,onIdle:fe}),Pe=Ee,O=()=>P.scrollPosition,z=(Se)=>Ee.setLogical(Se);else Pe=Ln({state:P,viewport:I.viewport,isX:r,wheelEnabled:He,idleTimeout:t.scroll?.idleTimeout??Ke,...Q?{scrollTarget:Q}:{},onFrame:Ie,onIdle:fe});k=Pe.smoothScrollTo;function F(Se){let we=Se.target.closest("[data-index]");if(!we)return null;let _e=parseInt(we.getAttribute("data-index"),10);if(Number.isNaN(_e))return null;let De=W.get("_layoutToDataIndex"),Oe;if(De){let Ne=De(_e);if(Ne<0)return null;let Je=W.get("_getItem");Oe=Je?Je(Ne):A?A(Ne):f[Ne]}else Oe=A?A(_e):f[_e];if(Oe===void 0)return null;return{item:Oe,index:_e}}function le(Se){for(let we=0;we<p.length;we++)p[we](Se);let ee=F(Se);if(ee)x.emit("item:click",{item:ee.item,index:ee.index,event:Se})}function ue(Se){let ee=F(Se);if(ee)x.emit("item:dblclick",{item:ee.item,index:ee.index,event:Se})}function he(Se){let ee=F(Se);if(ee)x.emit("item:contextmenu",{item:ee.item,index:ee.index,event:Se})}function Me(Se){let ee=Se.target?.tagName;if((ee==="INPUT"||ee==="TEXTAREA"||ee==="SELECT")&&!((Se.ctrlKey||Se.metaKey)&&(Se.key==="f"||Se.key==="F")))return;for(let we=0;we<h.length;we++)h[we](Se)}if(I.content.addEventListener("click",le),I.content.addEventListener("dblclick",ue),I.content.addEventListener("contextmenu",he),h.length>0)I.root.addEventListener("keydown",Me);let ze=null;if(!be)setTimeout(()=>{if(P.destroyed)return;ze=new ResizeObserver((ee)=>{for(let we of ee){let{width:_e,height:De}=we.contentRect,Oe=r?_e:De,Ne=r?De:_e;if(Math.abs(Oe-P.containerSize)<1&&Math.abs(Ne-P.crossSize)<1)continue;if(P.containerSize=Oe,P.crossSize=Ne,P.resizeCapacity(Oe,u,n.overscan),Ee)Ee.refresh(m.getTotalSize());ye(),An(w.resize,_e,De),x.emit("resize",{width:_e,height:De})}}),ze.observe(I.viewport)},0);P.resizeCapacity(P.containerSize,u,n.overscan),se(),P.initialized=!0;let Fe=null;if(t.defer)Fe=requestAnimationFrame(()=>{if(Fe=null,!P.destroyed)de()});else de();if(!ne)Pe.attach();let ke={get element(){return I.root},get items(){return f},get total(){return q?q():f.length},setItems(Se){f=[...Se],P.totalItems=f.length,m.rebuild(P.totalItems),se(),ye()},appendItems(Se){f.push(...Se),P.totalItems=f.length,m.rebuild(P.totalItems),se(),ye()},prependItems(Se){f.unshift(...Se),P.totalItems=f.length,m.rebuild(P.totalItems),se(),ye()},updateItem(Se,ee){if(M){if(!M(Se,ee))return}else{let we=f.findIndex((_e)=>_e.id===Se);if(we===-1)return;f[we]={...f[we],...ee}}ye()},insertItem(Se,ee){if(S)S(Se,ee??P.totalItems);else{if(ee===void 0)f.push(Se);else f.splice(ee,0,Se);P.totalItems=f.length,m.rebuild(P.totalItems),se()}ye()},removeItem(Se){if(y){if(y(Se)<0)return}else{let ee=f.findIndex((we)=>we.id===Se);if(ee===-1)return;f.splice(ee,1),P.totalItems=f.length,m.rebuild(P.totalItems),se()}ye()},removeItems(Se){if(y){let De=0;for(let Oe of Se)if(y(Oe)>=0)De++;if(De>0)ye();return De}let ee=new Set(Se),we=f.length;f=f.filter((De)=>!ee.has(De.id));let _e=we-f.length;if(_e>0)P.totalItems=f.length,m.rebuild(P.totalItems),se(),P.renderPending=!0,de();return _e},getItemAt(Se){if(g.indexMap)return f[Se];return A?A(Se):f[Se]},getIndexById(Se){if(Y)return Y(Se);return f.findIndex((ee)=>ee.id===Se)},scrollToIndex(Se,ee="start"){let we=q?q():f.length;if(we===0){ve={index:Se,alignOrOptions:ee};return}let _e=Math.max(0,Math.min(Se,we-1)),De=typeof ee==="string"?ee:ee.align??"start",Oe=typeof ee==="object"?ee.behavior:void 0,Ne=typeof ee==="object"?ee.duration:void 0,Je=typeof ee==="object"?ee.easing:void 0;if(te&&te(_e,De,Oe,Ne,Je)!==!1)return;let xt=m.getOffset(_e),tn=m.getSize(_e),it=P.containerSize,io=m.getTotalSize(),nn=n.mainAxisPadding,lo=Math.max(0,io+nn-it),Ge;if(ae)Ge=ae(_e,m,it,we,De);else{let ao=n.startPadding;switch(De){case"center":Ge=ao+xt-(it-tn)/2;break;case"end":Ge=xt+tn+nn-it;break;default:Ge=xt}Ge=Math.max(0,Math.min(Ge,lo))}if(Oe==="smooth")Pe.smoothScrollTo(Ge,Ne??un,z??void 0,Je);else if(z)z(Ge);else if(r)I.viewport.scrollLeft=Ge;else I.viewport.scrollTop=Ge},getScrollPosition(){return Le.getPixelEquivalent()},on:x.on.bind(x),off:x.off.bind(x),destroy(){if(P.destroyed)return;if(P.destroyed=!0,Ce)Ce=!1,I.root.classList.remove(Te);if(Fe!==null)cancelAnimationFrame(Fe),Fe=null;if(N!==null)clearTimeout(N),N=null;Pe.detach(),ze?.disconnect(),I.content.removeEventListener("click",le),I.content.removeEventListener("dblclick",ue),I.content.removeEventListener("contextmenu",he),I.root.removeEventListener("keydown",Me);let Se=[];for(let ee of J)try{ee()}catch(we){Se.push(we instanceof Error?we:Error(String(we)))}for(let ee of _)if(ee.destroy)try{ee.destroy()}catch(we){Se.push(we instanceof Error?we:Error(String(we)))}for(let[,ee]of D)ee.remove();if(D.clear(),b.clear(),I.root.remove(),x.emit("destroy",void 0),x.clear(),Se.length>0)for(let ee of Se)console.error("vlist: error during destroy:",ee)}};for(let[Se,ee]of W)ke[Se]=ee;return ke}var Eo=(t)=>{if(typeof t!=="object"){let e=t??2;return{top:e,right:e,bottom:e,left:e}}return{top:t.top??2,right:t.right??2,bottom:t.bottom??2,left:t.left??2}},Dn=(t,e,o={},n="vlist",r=!1,s)=>{let{autoHide:l=!0,autoHideDelay:i=1000,minThumbSize:T=15,showOnHover:u=!0,showOnViewportEnter:c=!0,clickBehavior:C="scroll"}=o,x=C==="page"?"scroll":C,g=s??t,_=Eo(o.padding),v=r?_.left:_.top,I=r?_.right:_.bottom,E=r?_.bottom:_.right,m=o.hoverZoneWidth??E+16,b=0,R=0,P=0,f=0,a=!1,D=!1,V=0,L=0,G=0,X=null,H=!1,re=null,B=0,U=0,N=null,w=null,W=null,p=r?"width":"height",h=r?"translateX":"translateY",J=r?(de)=>de.clientX:(de)=>de.clientY,q=r?"left":"top",O=document.createElement("div"),z=document.createElement("div"),j=document.createElement("div"),Z=r?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",A=()=>{if(g===t)return;let de=t.offsetTop;O.style[r?"left":"top"]=de?`calc(var(${Z}) + ${de}px)`:`var(${Z})`,j.style[r?"left":"top"]=`${de}px`},d=()=>{if(O.className=`${n}-scrollbar`,z.className=`${n}-scrollbar__thumb`,r)O.classList.add(`${n}-scrollbar--horizontal`);if(o.padding!==void 0)g.style.setProperty("--vlist-custom-scrollbar-padding-top",`${_.top}px`),g.style.setProperty("--vlist-custom-scrollbar-padding-right",`${_.right}px`),g.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${_.bottom}px`),g.style.setProperty("--vlist-custom-scrollbar-padding-left",`${_.left}px`);if(o.minThumbSize!==void 0)O.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${T}px`);if(O.appendChild(z),g.appendChild(O),j.className=`${n}-scrollbar__hover`,r)j.classList.add(`${n}-scrollbar__hover--horizontal`),j.style.height=`${m}px`;else j.style.width=`${m}px`;if(g.appendChild(j),g!==t)A()},y=()=>{if(X)clearTimeout(X),X=null},S=()=>{if(!l)return;y(),X=setTimeout(Y,i)},M=()=>{if(b<=R)return;if(y(),!H)O.classList.add(`${n}-scrollbar--visible`),H=!0;if(l&&!a&&!D)S()},Y=()=>{if(a||D)return;O.classList.remove(`${n}-scrollbar--visible`),H=!1},ne=(de,Ie)=>{if(b=de,R=Ie,A(),b<=R){O.style.display="none",Y();return}O.style.display="";let fe=Math.max(0,R-v-I),ye=R/b;if(P=Math.max(T,ye*fe),z.style[p]=`${P}px`,f=fe-P,be(G),!l)M()},be=(de)=>{if(G=de,b<=R||f<=0)return;let Ie=b-R,fe=Math.min(1,Math.max(0,de/Ie));z.style.transform=`${h}(${fe*f}px)`},Q=(de)=>{if(de.target===z||x!=="jump"||f<=0)return;let Ie=b-R,fe=O.getBoundingClientRect(),ye=J(de)-fe[q],He=Math.max(0,Math.min(ye-P/2,f));e(He/f*Ie),M()},oe=()=>{if(N!==null)clearTimeout(N),N=null;if(w!==null)cancelAnimationFrame(w),w=null;W=null},ie=(de)=>{let Ie=f>0?U/de*f:0;if(B<Ie)return-1;if(B>=Ie+P)return 1;return 0},ge=()=>{let de=b-R,Ie=ie(de);if(Ie===0){oe();return}if(Ie===-1){if(U<=0){oe();return}let fe=Math.max(0,U-R);U=fe,e(fe)}else{if(U>=de){oe();return}let fe=Math.min(de,U+R);U=fe,e(fe)}M()},pe=(de)=>{if(W===null){W=de,w=requestAnimationFrame(pe);return}let Ie=b-R,fe=de-W;W=de;let ye=ie(Ie);if(ye===0){oe();return}let He=12*R/1000,Pe=Math.min(He*fe,R);if(ye===-1){if(U<=0){oe();return}let F=Math.max(0,U-Pe);U=F,e(F)}else{if(U>=Ie){oe();return}let F=Math.min(Ie,U+Pe);U=F,e(F)}y(),w=requestAnimationFrame(pe)},ce=()=>{oe(),S(),document.removeEventListener("mouseup",ce)},k=(de)=>{if(de.target===z||x!=="scroll")return;de.preventDefault();let Ie=O.getBoundingClientRect();B=J(de)-Ie[q],U=G,ge(),N=setTimeout(()=>{w=requestAnimationFrame(pe)},350),document.addEventListener("mouseup",ce)},ae=(de)=>{de.preventDefault(),de.stopPropagation(),a=!0,V=J(de),L=G,y(),O.classList.add(`${n}-scrollbar--dragging`),document.addEventListener("mousemove",te),document.addEventListener("mouseup",ve)},te=(de)=>{if(!a)return;let Ie=J(de)-V,fe=f>0?Ie/f:0,ye=b-R,He=fe*ye,Pe=Math.max(0,Math.min(L+He,ye));z.style.transform=`${h}(${Pe/ye*f}px)`,e(Pe)},ve=()=>{if(a=!1,O.classList.remove(`${n}-scrollbar--dragging`),l&&!D)S();document.removeEventListener("mousemove",te),document.removeEventListener("mouseup",ve)},Ee=r?(de)=>de.touches[0].clientX:(de)=>de.touches[0].clientY,xe=(de)=>{de.stopPropagation(),a=!0,V=Ee(de),L=G,y(),O.classList.add(`${n}-scrollbar--dragging`)},Le=(de)=>{if(!a)return;de.preventDefault();let Ie=Ee(de)-V,fe=f>0?Ie/f:0,ye=b-R,He=fe*ye,Pe=Math.max(0,Math.min(L+He,ye));z.style.transform=`${h}(${Pe/ye*f}px)`,e(Pe)},Te=()=>{if(a=!1,O.classList.remove(`${n}-scrollbar--dragging`),l)S()},Ce=(de)=>{if(de.target===z)return;if(f<=0)return;let Ie=de.touches[0],fe=O.getBoundingClientRect(),ye=(r?Ie.clientX:Ie.clientY)-fe[q];if(x==="jump"){let He=b-R,Pe=Math.max(0,Math.min(ye-P/2,f));e(Pe/f*He)}else B=ye,U=G,ge();M()},Re=()=>{if(c)M()},Ae=()=>{if(!a){if(D=!1,l)S()}},K=()=>{D=!0,y(),M()},se=()=>{if(D=!1,!a&&l)S()},me=()=>{if(y(),oe(),re!==null)cancelAnimationFrame(re),re=null;O.removeEventListener("click",Q),O.removeEventListener("mousedown",k),O.removeEventListener("mouseenter",K),document.removeEventListener("mouseup",ce),O.removeEventListener("mouseleave",se),O.removeEventListener("touchstart",Ce),z.removeEventListener("mousedown",ae),z.removeEventListener("touchstart",xe),z.removeEventListener("touchmove",Le),z.removeEventListener("touchend",Te),t.removeEventListener("mouseenter",Re),t.removeEventListener("mouseleave",Ae),document.removeEventListener("mousemove",te),document.removeEventListener("mouseup",ve),j.removeEventListener("click",Q),j.removeEventListener("mousedown",k),j.removeEventListener("mouseenter",K),j.removeEventListener("mouseleave",se),j.remove(),g.style.removeProperty("--vlist-custom-scrollbar-padding-top"),g.style.removeProperty("--vlist-custom-scrollbar-padding-right"),g.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),g.style.removeProperty("--vlist-custom-scrollbar-padding-left"),O.remove()};if(d(),O.addEventListener("click",Q),O.addEventListener("mousedown",k),O.addEventListener("mouseenter",K),O.addEventListener("mouseleave",se),O.addEventListener("touchstart",Ce,{passive:!0}),z.addEventListener("mousedown",ae),z.addEventListener("touchstart",xe,{passive:!0}),z.addEventListener("touchmove",Le,{passive:!1}),z.addEventListener("touchend",Te,{passive:!0}),t.addEventListener("mouseenter",Re),t.addEventListener("mouseleave",Ae),j.addEventListener("click",Q),j.addEventListener("mousedown",k),u)j.addEventListener("mouseenter",K),j.addEventListener("mouseleave",se);return{show:M,hide:Y,updateBounds:ne,updatePosition:be,isVisible:()=>H,destroy:me}};function wt(t){let e=null,o,n=0,r=0,s=0;return{name:"scrollbar",priority:15,setup(l){let{dom:i,config:T}=l,{classPrefix:u}=T,c=T.axis.primary==="x";o=l.getState(),n=T.mainAxisPadding;let C=(x)=>{l.scrollTo(x)};if(l.registerMethod("_scrollbar:setCallback",(x)=>{C=x}),e=Dn(i.viewport,(x)=>{C(x)},t,u,c,i.root),i.viewport.classList.add(`${u}-viewport--custom-scrollbar`),t?.gutter)i.viewport.classList.add(`${u}-viewport--gutter`);queueMicrotask(()=>{e?.updateBounds(o.totalSize+n,o.containerSize)}),l.registerMethod("_scrollbar:getInstance",()=>e),l.registerDestroyHandler(()=>{if(e?.destroy(),e=null,i.viewport.classList.remove(`${u}-viewport--custom-scrollbar`),t?.gutter)i.viewport.classList.remove(`${u}-viewport--gutter`)})},hooks:{onAfterScroll(l){let i=o.totalSize+n,T=o.containerSize;if(i!==r||T!==s)r=i,s=T,e?.updateBounds(i,T);e?.updatePosition(l),e?.show()},onResize(){let l=o.totalSize+n,i=o.containerSize;r=l,s=i,e?.updateBounds(l,i)}},destroy(){e?.destroy(),e=null}}}var Vn=(t)=>{let e=Math.max(1,Math.floor(t.columns)),o=t.gap??0,n=t.isHeaderFn,r={row:0,col:0},s=(v)=>{if(v<=0)return 0;if(!n)return Math.ceil(v/e);let I=0,E=0,m=0;for(let b=0;b<v;b++)if(n(b)){if(m++,E)I++,E=0;I++,E=0}else if(E++,E>=e)I++,E=0;if(E)I++;return I},l=(v)=>(r.row=i(v),r.col=T(v),r),i=(v)=>{if(!n)return Math.floor(v/e);let I=0,E=0;for(let m=0;m<=v;m++)if(n(m)){if(E)I++,E=0;if(m===v)return I;I++,E=0}else{if(m===v)return I;if(E++,E>=e)I++,E=0}return console.warn(`⚠️ getRow(${v}) fell through - returning ${I}`),I},T=(v)=>{if(!n)return v%e;if(n(v))return 0;let I=0;for(let E=0;E<=v;E++)if(n(E))I=0;else{if(E===v)return I;if(I++,I>=e)I=0}return I},u=(v,I,E,m)=>{if(E<=0){m.start=0,m.end=-1;return}if(!n){m.start=Math.max(0,v*e),m.end=Math.min(E-1,(I+1)*e-1);return}let b=c(v,I,E);m.start=b.start,m.end=b.end},c=(v,I,E)=>{if(E<=0)return{start:0,end:-1};if(!n){let f=Math.max(0,v*e),a=Math.min(E-1,(I+1)*e-1);return{start:f,end:a}}let m=-1,b=-1,R=0,P=0;for(let f=0;f<E;f++){if(n(f)){if(P)R++,P=0;if(R>=v&&R<=I){if(m<0)m=f;b=f}R++,P=0}else{if(R>=v&&R<=I){if(m<0)m=f;b=f}if(P++,P>=e)R++,P=0}if(R>I&&!P)break}if(m<0)return{start:0,end:-1};return{start:m,end:b}},C=(v,I,E)=>{if(I<0||I>=e)return-1;let m=v*e+I;if(m<0||m>=E)return-1;return m},x=(v)=>{let I=(e-1)*o;return Math.max(0,(v-I)/e)};return{get columns(){return e},get gap(){return o},update:(v)=>{if(v.columns!==void 0)e=Math.max(1,Math.floor(v.columns));if(v.gap!==void 0)o=v.gap;if(v.isHeaderFn!==void 0)n=v.isHeaderFn},getTotalRows:s,getPosition:l,getRow:i,getCol:T,getItemRange:c,fillItemRange:u,getItemIndex:C,getColumnWidth:x,getColumnOffset:(v,I)=>{let E=x(I);return v*(E+o)}}};var Ue={selected:!1,focused:!1};function zt(t){if(!t.columns||t.columns<1)throw Error("[vlist] grid: columns must be >= 1");let e,o,n,r,s=null,l,i,T,u,c,C,x=null,g=0,_=0,v=0,I=0,E=new Map,m=0,b=0,R=0,P=0,f=null,a=!1,D="",V="",L="",G={start:0,end:-1},X=-1,H=-1,re=-1,B=!0,U=(z)=>o.rebuild(z);function N(){let z=(b-1)*R;P=Math.max(0,(m-z)/b)}function w(){if(a)return;a=!0,f=x?.()??null}function W(){return e.getTotalRows(n.totalItems)}function p(z){let j=z/b|0,A=(z-j*b)*(P+R)+g,d=o.getOffset(j)-n.baseOffset+v;if(u)return`translate(${Math.round(d)}px, ${Math.round(A)}px)`;return`translate(${Math.round(A)}px, ${Math.round(d)}px)`}function h(z,j){let Z=o.getSize(j)-R;if(u)z.style.width=`${Z}px`,z.style.height=`${P}px`;else z.style.width=`${P}px`,z.style.height=`${Z}px`}function J(z,j,Z){if(f)f(Z,Ue);else Ue.selected=!1,Ue.focused=!1;let A=i(j,Z,Ue);if(typeof A==="string")z.innerHTML=A;else z.innerHTML="",z.appendChild(A)}function q(){if(n.destroyed)return;let z=n.scrollPosition,j=n.containerSize;if(!B&&z===X&&j===H)return;X=z,H=j,B=!1;let Z=W();if(j<=0||Z===0)return;w();let A=o.indexAtOffset(z),d=o.indexAtOffset(z+j);if(d<Z-1)d++;A=Math.max(0,A),d=Math.min(Z-1,Math.max(0,d));let y=Math.max(0,A-C),S=Math.min(Z-1,d+C);if(y===n.prevRangeStart&&S===n.prevRangeEnd&&!n.renderPending&&n.baseOffset===n.prevBaseOffset)return;e.fillItemRange(y,S,n.totalItems,G);let{start:M,end:Y}=G;for(let[Q,oe]of E)if(Q<M||Q>Y)oe.el.remove(),r.release(oe.el),E.delete(Q);for(let Q=M;Q<=Y;Q++){let oe=T(Q);if(!oe)continue;let ie=Q/b|0,ge=Q-ie*b,pe=E.get(Q);if(pe===void 0){let ae=r.acquire();ae.className=D,ae.setAttribute("data-index",String(Q)),ae.setAttribute("data-id",String(oe.id)),J(ae,oe,Q),pe={el:ae,lastItem:oe},E.set(Q,pe),l.appendChild(ae)}else if(pe.lastItem!==oe)pe.el.setAttribute("data-id",String(oe.id)),pe.lastItem=oe,J(pe.el,oe,Q);else if(f)f(Q,Ue);if(f)if(pe.el.classList.toggle(V,Ue.selected),pe.el.classList.toggle(L,Ue.focused),Ue.selected)pe.el.setAttribute("aria-selected","true");else pe.el.removeAttribute("aria-selected");h(pe.el,ie);let ce=ge*(P+R)+g,k=o.getOffset(ie)-n.baseOffset+v;pe.el.style.transform=u?`translate(${Math.round(k)}px, ${Math.round(ce)}px)`:`translate(${Math.round(ce)}px, ${Math.round(k)}px)`}let ne=o.getTotalSize();if(ne!==re)re=ne,s?.updateContentSize(ne);n.prevRangeStart=y,n.prevRangeEnd=S,n.prevBaseOffset=n.baseOffset,n.renderPending=!1;let be=Y-M+1;n.visibleCount=Math.min(be,n.capacity),n.startIndex=M;for(let Q=0;Q<n.visibleCount;Q++){let oe=M+Q,ie=oe/b|0;n.visibleIndices[Q]=oe,n.visibleOffsets[Q]=o.getOffset(ie),n.visibleSizes[Q]=o.getSize(ie)}}function O(){if(n.destroyed)return;U(W()),re=-1,n.prevRangeStart=-1,n.prevRangeEnd=-1,n.renderPending=!0,B=!0,q()}return{name:"grid",priority:10,conflicts:["masonry","table"],setup(z){b=Math.max(1,Math.floor(t.columns)),R=t.gap??0,e=Vn({columns:t.columns,gap:R}),o=z.sizeCache,n=z.getState(),r=z.pool,s=z,l=z.dom.content,i=z.template,u=z.config.axis.primary==="x",c=z.config.classPrefix,C=z.config.overscan,T=z.getItem.bind(z),x=()=>z.getItemStateFn(),D=`${c}-item ${c}-grid-item`,V=`${c}-item--selected`,L=`${c}-item--focused`,g=z.config.crossPadStart,_=z.config.crossAxisPadding,v=z.config.startPadding,I=z.config.mainAxisPadding,m=n.crossSize-_,N();let j=z.rawSizeSpec,Z;if(typeof j==="function"){let M={columnWidth:e.getColumnWidth(m),columns:t.columns,gap:R};Z=j(0,M),z.setSizeConfig((Y)=>{M.columnWidth=e.getColumnWidth(m);let ne=Y*t.columns;return j(ne,M)+R})}else if(Z=j,R>0)z.setSizeConfig(Z+R);let A=null,d=o.rebuild;function y(){if(o.rebuild===A)return;d=o.rebuild,U=(S)=>d(S),A=(S)=>{U(Math.ceil(S/b))},o.rebuild=A}if(z.registerMethod("_setSizeCacheBase",(S)=>{d=S,U=(M)=>d(M)}),y(),U(W()),R>0){let S=o.getTotalSize;o.getTotalSize=()=>{let M=S();return M>0?M-R:0}}z.setVirtualTotalFn(()=>W()),z.dom.root.classList.add(`${c}--grid`),z.setRenderFn(q,O),z.registerMethod("getGridLayout",()=>e),z.registerMethod("_getRowGap",()=>e.gap),z.registerMethod("updateGrid",(S)=>{if(S.columns!==void 0){if(!Number.isInteger(S.columns)||S.columns<1)throw Error("[vlist] updateGrid: columns must be >= 1")}if(S.gap!==void 0&&S.gap<0)throw Error("[vlist] updateGrid: gap must be >= 0");if(e.update(S),S.columns!==void 0)b=Math.max(1,Math.floor(S.columns));if(S.gap!==void 0)R=S.gap;if(S.gap!==void 0||S.columns!==void 0){let M=e.gap;if(typeof j==="function"){let Y={columnWidth:e.getColumnWidth(m),columns:e.columns,gap:M};z.setSizeConfig((ne)=>{Y.columnWidth=e.getColumnWidth(m);let be=ne*e.columns;return j(be,Y)+M})}else z.setSizeConfig(Z+M);y(),U(W())}if(S.columns!==void 0)z.setNavConfig({ud:e.columns});m=n.crossSize-_,N(),O()}),z.registerMethod("scrollToIndex",(S,M="start")=>{let Y=e.getRow(S),ne=W();if(ne===0)return;let be=Math.max(0,Math.min(Y,ne-1)),Q=o.getOffset(be)+v,oe=o.getSize(be),ie=n.containerSize,ge=o.getTotalSize()+I,pe=Math.max(0,ge-ie),ce=typeof M==="string"?M:M.align??"start",k=typeof M==="object"?M.behavior:void 0,ae=typeof M==="object"?M.duration:void 0,te;switch(ce){case"center":te=Q-(ie-oe)/2;break;case"end":te=Q-ie+oe;break;default:te=Q}if(te=Math.max(0,Math.min(te,pe)),k==="smooth"&&ae&&ae>0)z.smoothScrollTo(te,ae);else z.scrollTo(te)}),z.setNavConfig({total:()=>n.totalItems,ud:t.columns,lr:1,scrollIndex:(S)=>e.getRow(S)}),z.registerDestroyHandler(()=>{for(let[,S]of E)S.el.remove();E.clear(),z.dom.root.classList.remove(`${c}--grid`)})},hooks:{onResize(z,j){let Z=n.crossSize-_;if(Math.abs(Z-m)<1)return;m=Z,N();for(let[A,d]of E){let y=A/b|0;h(d.el,y),d.el.style.transform=p(A)}}},destroy(){E.clear()}}}function nt(t,e,o,n){if(n<=0)return 0;let r=n-1;if(o<=1)return t<0?0:t>r?r:t;let s=(e%o+o)%o;if(t<0)return s;if(t>r){let l=Math.floor(r/o)*o;return Math.min(l+s,r)}return t}function At(t){let e=t?.keyboard??!0;return{name:"a11y",priority:55,setup(o){if(o.getItemStateFn())return;o.enableListboxRole();let{dom:n,config:r,sizeCache:s}=o,l=o.getState(),i=o.emitter,T=r.classPrefix,u=n.liveRegion,c=-1,C=!1,x,g=-1,_=(L)=>o.getItem(L),v=()=>l.totalItems,I={id:0,index:0},E={selected:[],items:[]};o.setItemStateFn((L,G)=>{G.selected=g===L,G.focused=C&&c===L});function m(L){u.textContent="",u.textContent=L}let b=(L,G,X)=>{let H=L;while(H>=0&&H<X){let re=_(H);if(!re||!re.__groupHeader)return H;H+=G}H=L-G;while(H>=0&&H<X){let re=_(H);if(!re||!re.__groupHeader)return H;H-=G}return L},R=(L)=>{let G=o.getNavConfig(),X=G.scrollIndex?G.scrollIndex(L):L,H=s.getOffset(X),re=s.getSize(X),{scrollPosition:B,containerSize:U}=l,{startPadding:N,endPadding:w}=r,W=H+N,p=W+re,h=B;if(W<B)h=Math.max(0,H);else if(p>B+U)h=p+w-U;if(h!==B)l.scrollPosition=h,o.scrollTo(h)},P=(L,G)=>{if(n.content.setAttribute("aria-activedescendant",`${T}-item-${L}`),G)R(L);o.forceRender()},f=(L)=>{c=L,C=!0,P(L,!0);let G=_(L);if(G)I.id=G.id,I.index=L,i.emit("focus:change",I),m(`Item ${L+1} of ${v()}`)},a=(L,G)=>{if(c=L,G)C=!0;let X=_(L);if(X&&x===X.id)x=void 0,g=-1;else x=X?.id,g=X?L:-1;if(P(L,G),x!==void 0&&X&&x===X.id)E.selected[0]=x,E.selected.length=1,E.items[0]=X,E.items.length=1,m(`Selected, item ${L+1} of ${v()}`);else E.selected.length=0,E.items.length=0,m("Deselected");i.emit("selection:change",E)},D=()=>{if(l.destroyed)return;if(!n.content.matches(":focus-visible"))return;let L=v();if(L===0)return;let G=c>=0?Math.min(c,L-1):0;G=b(G,1,L),f(G)},V=(L)=>{if(l.destroyed)return;let G=L.relatedTarget;if(G&&n.root.contains(G))return;C=!1,n.content.removeAttribute("aria-activedescendant"),o.forceRender()};if(n.content.addEventListener("focusin",D),n.content.addEventListener("focusout",V),e)o.registerKeydownHandler((L)=>{if(l.destroyed)return;let G=v();if(G===0)return;let X=c,H=X;if(L.key===" "||L.key==="Enter"){if(X>=0){let B=_(X);if(B&&!B.__groupHeader)a(X,!0)}L.preventDefault();return}let re=o.getNavConfig();if(re.navigate)switch(L.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":H=re.navigate(X,L.key,G);break;default:return}else{let B=re.ud||1,U=re.lr,N=r.axis.primary==="x";switch(L.key){case"ArrowUp":if(N&&!U)return;H=X-(N?U:B);break;case"ArrowDown":if(N&&!U)return;H=X+(N?U:B);break;case"ArrowLeft":if(!N&&!U)return;H=X-(N?B:U);break;case"ArrowRight":if(!N&&!U)return;H=X+(N?B:U);break;case"PageUp":case"PageDown":{let w=s.getSize(Math.max(0,re.scrollIndex?re.scrollIndex(X):X)),p=Math.max(1,Math.floor(l.containerSize/w))*B;H=nt(L.key==="PageUp"?X-p:X+p,X,B,G);break}case"Home":H=0;break;case"End":H=G-1;break;default:return}}if(H<0)H=0;else if(H>=G)H=G-1;if(L.preventDefault(),H=b(H,H>=X?1:-1,G),H!==X)f(H)});o.registerClickHandler((L)=>{if(l.destroyed)return;let G=L.target.closest("[data-index]");if(!G)return;let X=parseInt(G.dataset.index??"-1",10);if(X<0)return;let H=_(X);if(!H||H.__groupHeader)return;C=!1,n.content.focus({preventScroll:!0}),a(X,!1)}),o.registerDestroyHandler(()=>{n.content.removeEventListener("focusin",D),n.content.removeEventListener("focusout",V)})}}}var ot=(t,e,o)=>{if(String(o).startsWith($e))return!1;let n=$e+e;if(t.has(n))return t.delete(n),t.add(o),!0;return!1},$n=(t)=>({selected:new Set(t??[]),focusedIndex:-1,focusVisible:!1});function qe(t,e,o,n){if(o===0)return;let r=n?-e:e,s=t.focusedIndex+r;if(s<0)s=0;if(s>=o)s=o-1;t.focusedIndex=s}function mt(t){return Array.from(t)}var Mo={preventScroll:!0};function Rt(t){let e=t?.mode??"single",o=t?.followFocus??!1,n=t?.focusOnClick??!1,r=t?.keyboard??!0,s,l,i,T,u,c,C,x,g=-1,_=new Map,v=null,I=null,E=null,m=null,b,R=!1;function P(h){if(R)return;R=!0,v=h.getMethod("_layoutToDataIndex")??null,I=h.getMethod("_dataToLayoutIndex")??null,E=h.getMethod("_isGroupHeader")??null,m=h.getMethod("_scrollItemIntoView")??null,a=h.getMethod("_getLoadedItem")??null;let J=h.getMethod("getGroupLayout");if(J){let q=J();b=()=>q.totalEntries}}let f=(h)=>v?v(h):h,a=null,D=(h)=>{if(a)return a(h);return l()[h]},V=(h)=>{let J=f(h);return J>=0?D(J):void 0},L=(h,J,q)=>{if(!E)return h;let O=h;while(O>=0&&O<q){if(!E(O))return O;O+=J}O=h-J;while(O>=0&&O<q){if(!E(O))return O;O-=J}return h};function G(h,J){if(e==="single")s.selected.clear(),_.clear();if(s.selected.add(h),J)_.set(h,J)}function X(h,J){if(s.selected.has(h))s.selected.delete(h),_.delete(h);else G(h,J)}function H(){s.selected.clear(),_.clear()}function re(h){s.selected.delete(h),_.delete(h)}function B(h,J){let q=Math.min(h,J),O=Math.max(h,J);for(let z=q;z<=O;z++){if(E?.(z))continue;let j=V(z);if(j)s.selected.add(j.id),_.set(j.id,j);else if(a){let Z=f(z);if(Z>=0)s.selected.add($e+Z)}}}function U(){let h=C.totalItems;for(let J=0;J<h;J++){if(E?.(J))continue;let q=V(J);if(q)s.selected.add(q.id),_.set(q.id,q);else if(a){let O=f(J);if(O>=0)s.selected.add($e+O)}}}function N(){if(s.selected.size===0)return[];if(_.size>=s.selected.size){let O=[];for(let z of s.selected){let j=_.get(z);if(j)O.push(j)}if(O.length===s.selected.size)return O}let h=[],J=new Set(s.selected),q=C.totalItems;for(let O=0;O<q&&J.size>0;O++){if(E?.(O))continue;let z=V(O);if(z&&J.has(z.id))h.push(z),_.set(z.id,z),J.delete(z.id)}return h}function w(){i(),T.emit("selection:change",{selected:mt(s.selected),items:N()})}let W=null,p=-1;return{name:"selection",priority:50,setup(h){h.enableListboxRole(),s=$n(t?.initial),l=h.getItems.bind(h),i=h.forceRender.bind(h),T=h.emitter,u=h.dom;let J=h.config;if(c=h.sizeCache,C=h.getState(),x=h.scrollTo.bind(h),b=()=>C.totalItems,e==="none"){h.registerMethod("select",()=>{}),h.registerMethod("deselect",()=>{}),h.registerMethod("toggleSelect",()=>{}),h.registerMethod("selectAll",()=>{}),h.registerMethod("clearSelection",()=>{}),h.registerMethod("getSelected",()=>[]),h.registerMethod("getSelectedItems",()=>[]),h.registerMethod("selectNext",()=>{}),h.registerMethod("selectPrevious",()=>{}),h.registerMethod("_seedSelection",()=>{}),h.registerMethod("_getFocusedId",()=>{return}),h.registerMethod("_focusById",()=>{});return}let q=J.classPrefix;h.setItemStateFn((y,S)=>{if(P(h),s.selected.size>0){let M=f(y),Y=M>=0?V(y):void 0,ne=Y?.id;if(ne!==void 0)if(s.selected.has(ne))S.selected=!0;else if(ot(s.selected,M,ne))S.selected=!0,_.delete($e+M),_.set(ne,Y);else S.selected=!1;else S.selected=a!==null&&M>=0&&s.selected.has($e+M)}else S.selected=!1;S.focused=s.focusVisible&&s.focusedIndex===y}),h.registerMethod("_getSelectedIds",()=>s.selected),h.registerMethod("_getFocusedIndex",()=>s.focusVisible?s.focusedIndex:-1),u.root.classList.add(`${q}--selectable`);let O=(y)=>{W=null,p=-1;let S=y.target.closest("[data-index]");if(!S)return!1;let M=parseInt(S.dataset.index??"-1",10);if(M<0)return!1;if(E?.(M))return!1;if(f(M)<0)return!1;let ne=V(M);if(!ne)return!1;return W=ne,p=M,!0},z=0,j=(y)=>{if(y<0)return;if(m){m(y);return}if(!z){let ge=h.getMethod("_getRowGap");z=ge?ge():0}let S=h.getNavConfig(),M=S.scrollIndex?S.scrollIndex(y):y,Y=c.getOffset(M),ne=c.getSize(M)-z,be=C.containerSize,Q=C.scrollPosition,{startPadding:oe,endPadding:ie}=J;if(Y<Q)x(Y);else if(oe+Y+ne+ie>Q+be)x(oe+Y+ne+ie-be)},Z=(y)=>{let S=u.content.querySelectorAll(`[data-index="${y}"]`),M=null;for(let Y=0;Y<S.length;Y++){let ne=S[Y];if(ne.style.display!=="none"){M=ne;break}}if(!M&&S.length>0)M=S[0];u.content.setAttribute("aria-activedescendant",M?.id??`${q}-item-${y}`)},A=()=>{if(C.destroyed)return;if(P(h),!u.content.matches(":focus-visible")&&!u.root.matches(":focus-visible"))return;let y=b();if(y===0)return;let S=s.focusedIndex>=0?Math.min(s.focusedIndex,y-1):0;S=L(S,1,y),s.focusedIndex=S,s.focusVisible=!0,Z(S),j(S),i()};u.root.addEventListener("focusin",A);let d=(y)=>{if(C.destroyed)return;let S=y.relatedTarget;if(S&&u.root.contains(S))return;s.focusVisible=!1,i(),u.content.removeAttribute("aria-activedescendant")};if(u.root.addEventListener("focusout",d),h.registerDestroyHandler(()=>{u.root.removeEventListener("focusin",A),u.root.removeEventListener("focusout",d)}),h.registerClickHandler((y)=>{if(P(h),!O(y))return;if(e==="multiple"&&y.shiftKey&&s.focusedIndex>=0){let M=g>=0?g:s.focusedIndex,Y=f(M),ne=f(p);if(Y>=0&&ne>=0)B(M,p);s.focusedIndex=p,s.focusVisible=n,g=p,w();return}if(s.focusedIndex=p,s.focusVisible=n,g=p,(u.content.getAttribute("tabindex")!==null?u.content:u.root).focus(Mo),e==="single")G(W.id,W);else X(W.id,W);w()}),r)h.registerKeydownHandler((y)=>{P(h);let S=b();if(S===0)return;let M=h.getNavConfig(),Y=s.focusedIndex,ne=!1,be=!1;if(M.navigate&&(y.key==="ArrowUp"||y.key==="ArrowDown"||y.key==="ArrowLeft"||y.key==="ArrowRight"||y.key==="PageUp"||y.key==="PageDown"||y.key==="Home"||y.key==="End")){let oe=M.total?M.total():S,ie=M.navigate(s.focusedIndex,y.key,oe);if(ie!==s.focusedIndex)s.focusedIndex=Math.max(0,Math.min(ie,oe-1));s.focusVisible=!0,ne=!0}else switch(y.key){case"ArrowUp":{let oe=M.ud||1,ie=M.lr,ge=J.axis.primary==="x";if(ge&&!ie)break;qe(s,-(ge?ie:oe),S,J.reverse),s.focusVisible=!0,ne=!0;break}case"ArrowDown":{let oe=M.ud||1,ie=M.lr,ge=J.axis.primary==="x";if(ge&&!ie)break;qe(s,ge?ie:oe,S,J.reverse),s.focusVisible=!0,ne=!0;break}case"ArrowLeft":{let oe=M.ud||1,ie=M.lr,ge=J.axis.primary==="x";if(!ge&&!ie)break;qe(s,-(ge?oe:ie),S,J.reverse),s.focusVisible=!0,ne=!0;break}case"ArrowRight":{let oe=M.ud||1,ie=M.lr,ge=J.axis.primary==="x";if(!ge&&!ie)break;qe(s,ge?oe:ie,S,J.reverse),s.focusVisible=!0,ne=!0;break}case"Home":if(S>0)s.focusedIndex=0;s.focusVisible=!0,ne=!0;break;case"End":if(S>0)s.focusedIndex=S-1;s.focusVisible=!0,ne=!0;break;case"PageUp":case"PageDown":{let oe=M.ud||1,ie=Math.max(0,s.focusedIndex),ge=M.scrollIndex?M.scrollIndex(ie):ie,pe=c.getSize(ge),ce=C.containerSize,ae=(pe>0?Math.max(1,Math.floor(ce/pe)):10)*oe;if(v&&I){let te=v(s.focusedIndex),ve=y.key==="PageUp"?-ae:ae,Ee=C.totalItems-1;s.focusedIndex=I(nt(te+ve,te,oe,Ee+1))}else{let te=y.key==="PageUp"?s.focusedIndex-ae:s.focusedIndex+ae;s.focusedIndex=nt(te,s.focusedIndex,oe,S)}s.focusVisible=!0,ne=!0;break}case" ":case"Enter":if(y.key===" "&&y.shiftKey&&e==="multiple"&&s.focusedIndex>=0){if(g>=0){let oe=f(g),ie=f(s.focusedIndex);if(oe>=0&&ie>=0)B(g,s.focusedIndex)}s.focusVisible=!0,be=!0,ne=!0;break}if(s.focusedIndex>=0){let oe=V(s.focusedIndex);if(oe)X(oe.id,oe),g=s.focusedIndex;s.focusVisible=!0,be=!0,ne=!0}break;case"a":if((y.ctrlKey||y.metaKey)&&e==="multiple"){if(s.selected.size===C.totalItems)H();else U();s.focusVisible=!0,be=!0,ne=!0}break;case"Delete":case"Backspace":if(s.selected.size>0)T.emit("delete",{selected:mt(s.selected),items:N()}),ne=!0;break}if(s.focusedIndex!==Y&&E){let oe=s.focusedIndex>Y?1:-1;s.focusedIndex=L(s.focusedIndex,oe,S)}let Q=s.focusedIndex!==Y;if(y.shiftKey&&e==="multiple"&&!be&&Q){if(y.key==="ArrowUp"||y.key==="ArrowDown"||y.key==="ArrowLeft"||y.key==="ArrowRight"){let ge=V(s.focusedIndex);if(ge)X(ge.id,ge);g=s.focusedIndex,be=!0}if((y.ctrlKey||y.metaKey)&&(y.key==="Home"||y.key==="End")){let ge=Y>=0?Y:s.focusedIndex,pe=f(ge),ce=f(s.focusedIndex);if(pe>=0&&ce>=0)B(ge,s.focusedIndex);g=s.focusedIndex,be=!0}}if(o&&e==="single"&&!be&&Q&&s.focusedIndex>=0){let oe=V(s.focusedIndex);if(oe)G(oe.id,oe);be=!0}if(ne){if(y.preventDefault(),Q&&s.focusedIndex>=0){if(m||!M.navigate)j(s.focusedIndex);Z(s.focusedIndex)}if(be)w();else if(Q){if(i(),s.focusedIndex>=0){let oe=V(s.focusedIndex);if(oe)T.emit("focus:change",{id:oe.id,index:s.focusedIndex})}}}});h.registerMethod("select",(...y)=>{for(let S of y)G(S);w()}),h.registerMethod("deselect",(...y)=>{for(let S of y)re(S);w()}),h.registerMethod("toggleSelect",(y)=>{X(y),w()}),h.registerMethod("selectAll",()=>{if(e!=="multiple")return;P(h),U(),w()}),h.registerMethod("clearSelection",()=>{H(),w()}),h.registerMethod("getSelected",()=>mt(s.selected)),h.registerMethod("getSelectedItems",()=>N()),h.registerMethod("selectNext",()=>{P(h);let y=b();if(y===0)return;if(qe(s,1,y,J.reverse),E)s.focusedIndex=L(s.focusedIndex,1,y);let S=V(s.focusedIndex);if(S)G(S.id,S);w()}),h.registerMethod("selectPrevious",()=>{P(h);let y=b();if(y===0)return;if(qe(s,-1,y,J.reverse),E)s.focusedIndex=L(s.focusedIndex,-1,y);let S=V(s.focusedIndex);if(S)G(S.id,S);w()}),h.registerMethod("_seedSelection",(y)=>{if(e==="single"){if(y.length===1)s.selected.add(y[0])}else for(let S of y)s.selected.add(S)}),h.registerMethod("_isFollowFocus",()=>o),h.registerMethod("_getFocusedId",()=>{if(s.focusedIndex<0)return;return V(s.focusedIndex)?.id}),h.registerMethod("_focusById",(y)=>{let S=C.totalItems;for(let M=0;M<S;M++){if(E?.(M))continue;let Y=V(M);if(Y&&Y.id===y){s.focusedIndex=M,s.focusVisible=n,T.emit("focus:change",{id:y,index:M});return}}})},destroy(){_.clear()}}}var ft=(t)=>t==null?0:typeof t==="function"?t():t;function Ht(t){let e=t?.scrollPadding,o,n;return{name:"page",priority:5,setup(r){let{dom:s,sizeCache:l,config:i,emitter:T}=r,u=i.axis.primary==="x",c=window,C=r.getState();if(r.disableDefaultScroll(),r.disableDefaultResize(),s.root.style.overflow="visible",s.root.style.height="auto",u)s.viewport.style.overflowX="visible",s.viewport.style.overflowY="visible";else s.viewport.style.overflow="visible";s.viewport.classList.remove(`${i.classPrefix}-viewport--custom-scrollbar`),r.setScrollFns(()=>{let E=s.viewport.getBoundingClientRect();return Math.max(0,u?-E.left:-E.top)},(E)=>{let m=s.viewport.getBoundingClientRect(),b=(u?m.left+c.scrollX:m.top+c.scrollY)+E;if(u)c.scrollTo({left:b,top:c.scrollY,behavior:"instant"});else c.scrollTo({left:c.scrollX,top:b,behavior:"instant"})}),C.containerSize=u?c.innerWidth:c.innerHeight,C.crossSize=u?c.innerHeight:c.innerWidth;let x=null,g=()=>{let E=s.viewport.getBoundingClientRect(),m=Math.max(0,u?-E.left:-E.top);if(C.prevScrollPosition=C.scrollPosition,C.scrollPosition=m,C.scrollDirection=m>C.prevScrollPosition?1:m<C.prevScrollPosition?-1:0,r.onScrollFrame(),x!==null)clearTimeout(x);x=setTimeout(()=>{x=null,r.onScrollIdle()},150)};c.addEventListener("scroll",g,{passive:!0}),n=()=>c.removeEventListener("scroll",g);let{innerWidth:_,innerHeight:v}=c,I=()=>{let{innerWidth:E,innerHeight:m}=c;if((u?Math.abs(E-_):Math.abs(m-v))<1)return;_=E,v=m,C.containerSize=u?E:m,C.crossSize=u?m:E,r.forceRender(),T.emit("resize",{width:E,height:m})};if(c.addEventListener("resize",I),o=()=>c.removeEventListener("resize",I),e)r.setScrollToPosFn((E,m,b,R,P)=>{let f=ft(u?e.left:e.top),a=ft(u?e.right:e.bottom);if(R===0)return 0;let D=Math.max(0,Math.min(E,R-1)),V=m.getOffset(D),L=m.getSize(D),G=m.getTotalSize(),X=Math.max(0,G-b+a),H;switch(P){case"center":H=V-f-(b-f-a-L)/2;break;case"end":H=V-b+L+a;break;default:H=V-f}return Math.max(-f,Math.min(H,X))}),r.registerMethod("_scrollItemIntoView",(E)=>{let m=u?c.innerWidth:c.innerHeight,b=ft(u?e.left:e.top),R=ft(u?e.right:e.bottom),P=s.viewport.getBoundingClientRect(),f=u?c.scrollX:c.scrollY,a=u?P.left:P.top,D=a+f,V=l.getOffset(E),L=l.getSize(E),G=a+V,X=m-R,H=f;if(G<b)H=D+V-b;else if(G+L>X)H=D+V+L-X;if(H!==f)if(u)c.scrollTo({left:H,top:c.scrollY,behavior:"instant"});else c.scrollTo({left:c.scrollX,top:H,behavior:"instant"})});r.registerDestroyHandler(()=>{if(n?.(),o?.(),x!==null)clearTimeout(x)})},destroy(){n?.(),o?.(),n=void 0,o=void 0}}}var Po=(t)=>{try{let e=sessionStorage.getItem(t);if(!e)return;return JSON.parse(e)}catch{return}};function rt(t){let e=t?.autoSave,o=t?.restore??(e?Po(e):void 0),n=!1,r=null;return{name:"snapshots",priority:50,setup(s){let{sizeCache:l,emitter:i}=s,T=s.getState(),u=()=>{let{scrollPosition:x,totalItems:g}=T,v=s.getMethod("getSelected")?.();if(g===0){let a={index:0,offsetInItem:0,total:0};if(v?.length)a.selectedIds=v;return a}let I=l.indexAtOffset(x),E=x-l.getOffset(I);E=Math.max(0,E);let m={index:I,offsetInItem:E,total:g,scrollTop:x},b=l.getSize(I);if(b)m.offsetRatio=E/b;let R=s.getMethod("_layoutToDataIndex");if(R){let a=R(I);if(a<0){for(let D=I+1;D<g;D++)if(a=R(D),a>=0)break}if(a>=0)m.dataIndex=a}let P=s.getMethod("_getTotal");if(P)m.dataTotal=P();if(v?.length)m.selectedIds=v;let f=s.getMethod("_getFocusedId");if(f){let a=f();if(a!==void 0)m.focusedId=a}return m};s.registerMethod("getScrollSnapshot",u);let c=(x,g=!0)=>{let{index:_,offsetInItem:v,selectedIds:I,focusedId:E}=x,m=T.totalItems,b=x.dataTotal??x.total;if(m===0&&b&&b>0){let U=s.getMethod("_setTotal");if(U)U(b),m=T.totalItems;l.rebuild(m),s.updateContentSize(l.getTotalSize()),T.totalSize=l.getTotalSize()}if(m===0)return Promise.resolve();if(!Number.isFinite(_)||!Number.isFinite(v))return Promise.resolve();if(l.getTotal()===0)l.rebuild(m),s.updateContentSize(l.getTotalSize()),T.totalSize=l.getTotalSize();let P=s.getMethod("_dataToLayoutIndex"),f=_;if(x.dataIndex!==void 0&&x.dataIndex>=0)f=P?P(x.dataIndex):x.dataIndex;else if(P)f=P(_);let a=Math.max(0,Math.min(f,m-1)),D=l.getSize(a),V=x.offsetRatio!==void 0?x.offsetRatio*D:Math.min(v,D),L=s.getMethod("_getTotal")?.(),G=x.total===m||L!==void 0&&x.dataTotal===L,X;if(x.scrollTop!==void 0&&G)X=x.scrollTop;else X=l.getOffset(a)+V;let H=Math.max(0,T.totalSize-T.containerSize);if(X=Math.max(0,Math.min(X,H)),s.scrollTo(X),g&&I?.length){let U=s.getMethod("select");if(U)U(...I)}let re=s.getMethod("loadVisibleRange"),B=()=>{if(E===void 0)return;let U=s.getMethod("_focusById");if(U)U(E)};return new Promise((U)=>{let N=(w)=>{if(w)B();U()};if(re){let w=0,W=()=>{if(T.containerSize>0){if(Math.abs(T.scrollPosition-X)>1)s.scrollTo(X);re().then(()=>N(!0),()=>N(!1))}else if(++w<10)requestAnimationFrame(W);else N(!1)};requestAnimationFrame(W)}else{let w=s.getMethod("reload");if(w)requestAnimationFrame(()=>{w().then(()=>N(!0),()=>N(!1))});else requestAnimationFrame(()=>N(!0))}})};s.registerMethod("restoreScroll",c);let C=!!(o&&e);if(s.registerDestroyHandler(()=>{n=!0}),e){r=()=>{if(n||C)return;let m=u();try{sessionStorage.setItem(e,JSON.stringify(m))}catch{}},s.registerMethod("_saveSnapshot",r);let x=0,g=()=>{if(x)return;x=requestAnimationFrame(()=>{if(x=0,r)r()})};i.on("selection:change",g),i.on("focus:change",g);let _=0,v=()=>{if(_=0,r)r()},I=()=>{if(_)clearTimeout(_);_=setTimeout(v,300)};i.on("scroll",I);let E=()=>{r?.()};if(window.addEventListener("beforeunload",E),s.registerDestroyHandler(()=>{if(x)cancelAnimationFrame(x);if(_)clearTimeout(_);window.removeEventListener("beforeunload",E)}),o&&o.total&&o.total>0){let m=s.getMethod("_cancelAutoLoad");if(m)m();let b=s.getMethod("_setTotal");if(b)b(o.total)}}if(o){let x=!0;if(o.selectedIds?.length){let g=s.getMethod("_seedSelection");if(g)g(o.selectedIds),x=!1}queueMicrotask(()=>{if(c(o,x),C=!1,r)r()})}},hooks:{onIdle(){if(r&&!n)r()}},destroy(){n=!0,r=null}}}function On(t,e){if(e===!1)return null;return{duration:Math.min(e?.duration??t.duration,1000),easing:e?.easing??t.easing}}function kt(t){let e=t?.duration??200,o=t?.easing??"cubic-bezier(0.2, 0, 0, 1)",n={duration:e,easing:o},r=On(n,t?.remove),s=On(n,t?.insert),l=null,i=null;return{name:"transition",conflicts:["grid","table","masonry"],priority:45,setup(T){let{sizeCache:u,emitter:c}=T,{config:C,dom:x}=T,g=T.getState(),_=C.reverse?"bottom center":"top center",v=C.axis.primary==="x"?"translateX":"translateY",I=()=>Math.max(0,u.getTotalSize()+C.mainAxisPadding-g.containerSize),E=()=>{let a=Math.min(0,I()-g.scrollPosition);if(a){let D=g.scrollPosition+a;T.shiftScroll(a),g.scrollPosition=D}},m=(a)=>Math.round(a-g.baseOffset),b=T.getMethod("_dataToLayoutIndex")??null,R=(a)=>b?b(a):a,P=(a)=>{let D=String(a).replace(/"/g,"\\\""),V=x.content.querySelector(`[data-id="${D}"]`),L=V?parseInt(V.dataset.index??"-1",10):-1;return{el:V,layoutIndex:L}},f=()=>{let a=x.content.children;for(let D=0;D<a.length;D++)a[D].style.transition="none";x.content.offsetHeight;for(let D=0;D<a.length;D++)a[D].style.transition=""};if(r){let a=(V)=>{if(l)l();let L=typeof document<"u"?document.activeElement:null,G=L&&x.content.contains(L)?parseInt(L.dataset?.index??"-1",10):-1,X=P(V),{layoutIndex:H,el:re}=X,B=H>=0?u.getSize(H):0,U=H>=0?u.getOffset(H):0;if(!re||H<0){if(T.removeItemById(V)<0)return!1;if(E(),T.forceRender(),f(),c.emit("data:change",{type:"remove",id:V}),G>=0){let y=g.totalItems;if(y>0)T.getRenderedElement(Math.min(G,y-1))?.focus()}return c.emit("remove:end",{id:V}),!0}let N=re.cloneNode(!0);N.style.pointerEvents="none",N.style.overflow="hidden",N.removeAttribute("data-index"),N.removeAttribute("data-id"),N.removeAttribute("id"),N.removeAttribute("aria-selected"),N.classList.remove(`${C.classPrefix}-item--selected`);let w=g.scrollPosition;if(T.removeItemById(V)<0)return!1;E(),T.forceRender(),f(),c.emit("data:change",{type:"remove",id:V});let p=w-g.scrollPosition;N.style.zIndex="1",x.content.appendChild(N);let h=r,J={duration:h.duration,easing:h.easing},q=[],O=m(U-p);q.push(N.animate([{transform:`${v}(${O}px) scaleY(1)`,opacity:1,transformOrigin:_},{transform:`${v}(${m(U)}px) scaleY(0)`,opacity:0,transformOrigin:_}],J));let z=p>0,j=x.content.children;for(let d=0;d<j.length;d++){let y=j[d];if(y===N)continue;let S=parseInt(y.dataset?.index??"-1",10);if(S<0||!z&&S<H)continue;let M=u.getOffset(S),Y=S>=H?m(M+B-p):m(M-p),ne=m(M);if(Y===ne)continue;q.push(y.animate([{transform:`${v}(${Y}px)`},{transform:`${v}(${ne}px)`}],J))}let Z=!1,A=()=>{if(Z)return;Z=!0,l=null,N.remove();for(let d of q)if(d.playState!=="finished")d.cancel();if(G>=0){let d=g.totalItems;if(d>0)T.getRenderedElement(Math.min(G,d-1))?.focus()}c.emit("remove:end",{id:V})};return l=A,Promise.all(q.map((d)=>d.finished)).then(A,A),setTimeout(A,h.duration+50),!0},D=(V)=>{if(V.length===0)return 0;if(V.length===1)return a(V[0])?1:0;if(l)l();if(i)i();let L=typeof document<"u"?document.activeElement:null,G=L&&x.content.contains(L)?parseInt(L.dataset?.index??"-1",10):-1,X=[];for(let Z of V){let A=P(Z);X.push({id:Z,layoutIndex:A.layoutIndex,el:A.el,size:A.layoutIndex>=0?u.getSize(A.layoutIndex):0,offset:A.layoutIndex>=0?u.getOffset(A.layoutIndex):0})}X.sort((Z,A)=>A.layoutIndex-Z.layoutIndex);let H=[];for(let Z of X){if(!Z.el||Z.layoutIndex<0)continue;let A=Z.el.cloneNode(!0);A.style.pointerEvents="none",A.style.overflow="hidden",A.removeAttribute("data-index"),A.removeAttribute("data-id"),A.removeAttribute("id"),A.removeAttribute("aria-selected"),A.classList.remove(`${C.classPrefix}-item--selected`),H.push({clone:A,offset:Z.offset,size:Z.size,layoutIndex:Z.layoutIndex})}let re=new Map,B=x.content.children;for(let Z=0;Z<B.length;Z++){let A=B[Z],d=A.dataset?.id,y=parseInt(A.dataset?.index??"-1",10);if(d&&y>=0)re.set(d,u.getOffset(y))}let U=g.scrollPosition,N=[];for(let Z of X)if(T.removeItemById(Z.id)>=0)N.push(Z.id);if(N.length===0)return 0;E(),T.forceRender(),f();for(let Z of N)c.emit("data:change",{type:"remove",id:Z});if(H.length===0){if(G>=0){let Z=g.totalItems;if(Z>0)T.getRenderedElement(Math.min(G,Z-1))?.focus()}for(let Z of N)c.emit("remove:end",{id:Z});return N.length}let w=U-g.scrollPosition,W=r,p={duration:W.duration,easing:W.easing},h=[];H.sort((Z,A)=>Z.layoutIndex-A.layoutIndex);let J=0;for(let Z of H){Z.clone.style.zIndex="1",x.content.appendChild(Z.clone);let A=m(Z.offset-w),d=m(Z.offset-J);h.push(Z.clone.animate([{transform:`${v}(${A}px) scaleY(1)`,opacity:1,transformOrigin:_},{transform:`${v}(${d}px) scaleY(0)`,opacity:0,transformOrigin:_}],p)),J+=Z.size}let q=new Set(H.map((Z)=>Z.clone)),O=x.content.children;for(let Z=0;Z<O.length;Z++){let A=O[Z];if(q.has(A))continue;let d=A.dataset?.id,y=parseInt(A.dataset?.index??"-1",10);if(!d||y<0)continue;let S=re.get(d);if(S===void 0)continue;let M=u.getOffset(y),Y=m(S-w),ne=m(M);if(Y===ne)continue;h.push(A.animate([{transform:`${v}(${Y}px)`},{transform:`${v}(${ne}px)`}],p))}let z=!1,j=()=>{if(z)return;z=!0,l=null;for(let{clone:Z}of H)Z.remove();for(let Z of h)if(Z.playState!=="finished")Z.cancel();if(G>=0){let Z=g.totalItems;if(Z>0)T.getRenderedElement(Math.min(G,Z-1))?.focus()}for(let Z of N)c.emit("remove:end",{id:Z})};return l=j,Promise.all(h.map((Z)=>Z.finished)).then(j,j),setTimeout(j,W.duration+50),N.length};T.registerMethod("removeItem",a),T.registerMethod("removeItems",D)}if(s){let a=(D,V)=>{if(i)i();if(l)l();let L=V??0,G=new Map,X=x.content.children;for(let z=0;z<X.length;z++){let j=X[z],Z=j.dataset?.id,A=parseInt(j.dataset?.index??"-1",10);if(Z&&A>=0)G.set(Z,u.getOffset(A))}let H=g.scrollPosition,re=I(),B=H>=re-1;T.insertItemAt(D,L),T.forceRender(),f(),c.emit("data:change",{type:"insert",id:D.id});let U=g.scrollPosition-H,N=R(L);if(C.reverse&&U===0&&B){let z=I();if(T.shiftScroll(z-g.scrollPosition),g.prevScrollPosition=g.scrollPosition,g.scrollPosition=z,U=z-H,U>0)T.forceRender(),f()}let w=T.getRenderedElement(N),W=s,p={duration:W.duration,easing:W.easing},h=[];if(w){let z=u.getOffset(N);h.push(w.animate([{transform:`${v}(${m(z)}px) scaleY(0)`,opacity:0,transformOrigin:_},{transform:`${v}(${m(z)}px) scaleY(1)`,opacity:1,transformOrigin:_}],p))}let J=x.content.children;for(let z=0;z<J.length;z++){let j=J[z];if(j===w)continue;let Z=j.dataset?.id,A=parseInt(j.dataset?.index??"-1",10);if(!Z||A<0)continue;let d=G.get(Z);if(d===void 0)continue;let y=u.getOffset(A),S=m(d+U),M=m(y);if(S===M)continue;h.push(j.animate([{transform:`${v}(${S}px)`},{transform:`${v}(${M}px)`}],p))}if(h.length===0)return;let q=!1,O=()=>{if(q)return;q=!0,i=null;for(let z of h)if(z.playState!=="finished")z.cancel()};i=O,Promise.all(h.map((z)=>z.finished)).then(O,O),setTimeout(O,W.duration+50)};T.registerMethod("insertItem",a)}},destroy(){if(l)l();if(i)i()}}}function _t(t){let e=t?.gap??0,o=null,n=null,r,s,l,i,T=new Map,u=new Set,c=new WeakMap,C=0,x=!1,g=!1,_=!1,v=2;function I(a){return T.get(a)??i}function E(a){return T.has(a)&&!u.has(a)}function m(a){if(!n||r.destroyed)return;if(a===void 0){if(T.size===0)return;T.clear(),u.clear(),n.rebuildSizeCache(),f()}else{if(!T.has(a))return;u.add(a)}n.forceRender()}function b(){return Math.max(0,n.sizeCache.getTotalSize()+n.config.mainAxisPadding-r.containerSize)}function R(){let a=b();return a>0&&r.scrollPosition>=a-v}function P(){let a=b();if(a>r.scrollPosition)n.scrollTo(a)}function f(){n.updateContentSize(n.sizeCache.getTotalSize())}return{name:"autosize",priority:5,setup(a){if(n=a,r=a.getState(),s=a.config.axis.primary==="x",l=s?"width":"height",e===0)e=a.config.gap;if(i=typeof a.rawSizeSpec==="function"?a.rawSizeSpec(0)+e:a.rawSizeSpec+e,a.setSizeConfig(I),e>0){let X=a.sizeCache.getTotalSize;a.sizeCache.getTotalSize=()=>{let H=X();return H>0?H-e:0}}o=new ResizeObserver((X)=>{if(r.destroyed||!n)return;let H=!1,re=a.sizeCache.indexAtOffset(r.scrollPosition);for(let W of X){let p=W.target,h=c.get(p);if(h===void 0)continue;if(p.getAttribute("data-index")!==String(h)){o.unobserve(p);continue}if(E(h))continue;let J=W.borderBoxSize[0];if(!J)continue;let q=s?J.inlineSize:J.blockSize;if(q<=0)continue;let O=q+e,z=T.has(h),j=T.get(h)??i;if(T.set(h,O),u.delete(h),!z||O!==j)H=!0;if(h<re&&O!==j)C+=O-j;o.unobserve(p),p.style[l]=`${q}px`}if(!H)return;let B=R();if(a.rebuildSizeCache(),C)a.shiftScroll(C),C=0;let U=r.scrollDirection!==0,N=r.totalItems>0&&r.prevRangeEnd>=r.totalItems-1,w=g&&!_;if(w||B||N||!U){if(f(),x=!1,w||B)P()}else x=!0;a.forceRender()}),a.setScrollToIndexFn((X,H,re,B,U)=>{let N=X>=r.totalItems-1&&H==="end";if(g=N,_=!1,!N)return!1;let w=a.config.mainAxisPadding,W=()=>{let p=a.sizeCache.getTotalSize();return Math.max(0,p+w-r.containerSize)};if(re==="smooth")_=!0,a.smoothScrollTo(W,B??300,U,()=>{_=!1});else a.scrollTo(W())});let D=()=>{g=!1},V=a.dom.viewport;V.addEventListener("wheel",D,{passive:!0}),V.addEventListener("touchstart",D,{passive:!0}),a.registerDestroyHandler(()=>{V.removeEventListener("wheel",D),V.removeEventListener("touchstart",D)});let L=a.dom.content,G=(X)=>{let H=X.target;if(!H||H===L)return;let re=H.closest("[data-index]");if(!re||re.parentNode!==L)return;let B=Number(re.getAttribute("data-index"));if(E(B))m(B)};L.addEventListener("load",G,!0),L.addEventListener("error",G,!0),a.registerDestroyHandler(()=>{L.removeEventListener("load",G,!0),L.removeEventListener("error",G,!0)}),a.registerMethod("isMeasured",E),a.registerMethod("remeasure",m),a.registerMethod("setMeasuredSize",(X,H)=>{T.set(X,H)}),a.registerMethod("getMeasuredCount",()=>T.size),a.registerDestroyHandler(()=>{if(o)o.disconnect(),o=null})},hooks:{onCommit(a){if(!o||!n)return;for(let D=0;D<a.visibleCount;D++){let V=a.visibleIndices[D];if(E(V))continue;let L=n.getRenderedElement(V);if(!L)continue;L.style[l]="",c.set(L,V),o.observe(L)}},onIdle(){if(!n||!x)return;let a=R();if(f(),x=!1,a)P(),n.forceRender()}},destroy(){if(o)o.disconnect(),o=null;T.clear(),u.clear(),g=!1,_=!1,n=null}}}var Nn=(t)=>{let e=Math.max(1,Math.floor(t.columns)),o=t.gap??0,n=t.containerSize,r=t.crossOffset??0,s=t.mainOffset??0,l=0,i=[],T=()=>{let E=(e-1)*o;l=Math.max(0,(n-E)/e),i=Array(e);let m=l+o;for(let b=0;b<e;b++)i[b]=r+b*m};T();let u=[],c=0,C=[],x=(E,m)=>{if(E<=0)return c=0,u=[],[];let b=Array(e).fill(s),R=Array(e);for(let a=0;a<e;a++)R[a]=[];let P=Array(E);for(let a=0;a<E;a++){let D=0,V=b[0];for(let X=1;X<e;X++){let H=b[X];if(H<V)V=H,D=X}let L=m(a),G=b[D];P[a]={index:a,x:i[D],y:G,lane:D,size:L,crossSize:l},R[D].push(a),b[D]=G+L+o}u=R;let f=0;for(let a=0;a<e;a++){let D=b[a],V=D>0?D-o:0;if(V>f)f=V}return c=f,P},g=(E)=>{if(E.length===0)return c;if(c)return c;let m=Array(e).fill(0);for(let R of E){let P=R.y+R.size,f=m[R.lane];if(P>f)m[R.lane]=P}let b=0;for(let R=0;R<e;R++)if(m[R]>b)b=m[R];return b},_=(E,m,b)=>{if(E.length===0||b<=m)return C.length=0,C;if(u.length===0||u.length!==e)return v(E,m,b);C.length=0;for(let R=0;R<e;R++){let P=u[R],f=P.length;if(!f)continue;let a=0,D=f;while(a<D){let V=a+D>>>1,L=E[P[V]];if(L.y+L.size<=m)a=V+1;else D=V}for(let V=a;V<f;V++){let L=E[P[V]];if(L.y>=b)break;C.push(L)}}return C},v=(E,m,b)=>{C.length=0;for(let R of E)if(R.y+R.size>m&&R.y<b)C.push(R);return C};return{get columns(){return e},get gap(){return o},get containerSize(){return n},update:(E)=>{let m=!1;if(E.columns!==void 0){let b=Math.max(1,Math.floor(E.columns));if(b!==e)e=b,m=!0}if(E.gap!==void 0&&E.gap!==o)o=E.gap,m=!0;if(E.containerSize!==void 0&&E.containerSize!==n)n=E.containerSize,m=!0;if(E.crossOffset!==void 0&&E.crossOffset!==r)r=E.crossOffset,m=!0;if(E.mainOffset!==void 0&&E.mainOffset!==s)s=E.mainOffset,m=!0;if(m)T()},calculateLayout:x,getTotalSize:g,getVisibleItems:_}};var Gn=(t,e,o)=>{let n=Array.from(e).sort((l,i)=>l-i);if(n.length<=1)return;let r=[];for(let l=0;l<n.length;l++){let i=o(n[l]);if(i)r.push(i)}if(r.length<=1)return;let s=t.firstChild;for(let l=0;l<r.length;l++){let i=r[l];if(i===s)s=s.nextSibling;else t.insertBefore(i,s)}};var wo=(t=200)=>{let e=[];return{acquire:()=>{let s=e.pop();if(s)return s;let l=document.createElement("div");return l.setAttribute("role","option"),l},release:(s)=>{if(s.remove(),e.length<t)s.className="",s.textContent="",s.removeAttribute("style"),s.removeAttribute("data-index"),s.removeAttribute("data-id"),s.removeAttribute("data-lane"),e.push(s)},clear:()=>{e.length=0}}},zo=1,Bn=(t,e,o,n=!1,r,s,l,i,T=()=>0)=>{let u=wo(),c=new Map,C=new Set,x=0,g="",_=-1,v={selected:!1,focused:!1},I=(B,U)=>(v.selected=B,v.focused=U,v),E=`${o}-item ${o}-masonry-item`,m=`${o}-group-header`,b=`${o}-item--selected`,R=`${o}-item--focused`,P=(B,U)=>{if(typeof U==="string")B.innerHTML=U;else B.replaceChildren(U);Be(B)},f=(B,U,N)=>{B.classList.toggle(b,U),B.classList.toggle(R,N)},a=(B,U)=>{let N=Math.round(U.y-T());if(n)B.style.transform=`translate(${N}px, ${Math.round(U.x)}px)`;else B.style.transform=`translate(${Math.round(U.x)}px, ${N}px)`},D=(B,U)=>{if(n)B.style.width=`${U.size}px`,B.style.height=`${U.crossSize}px`;else B.style.width=`${U.crossSize}px`,B.style.height=`${U.size}px`},V=(B,U,N,w,W)=>{let p=u.acquire(),h=U.__groupHeader,J=I(w,W);if(p.className=h?m:E,p.dataset.index=String(B),p.dataset.id=String(U.id),p.dataset.lane=String(N.lane),h)p.setAttribute("role","presentation"),p.removeAttribute("aria-selected"),p.removeAttribute("aria-setsize"),p.removeAttribute("aria-posinset"),p.removeAttribute("id");else if(i===!0){if(p.setAttribute("role","option"),p.ariaSelected=String(w),s)p.id=`${s}-item-${B}`;if(r){let O=r();if(O!==_)_=O,g=String(O);p.setAttribute("aria-setsize",g);let z=l?l(B):B+1;p.setAttribute("aria-posinset",String(z))}}else if(p.setAttribute("role","listitem"),p.removeAttribute("aria-selected"),r){let O=r();if(O!==_)_=O,g=String(O);p.setAttribute("aria-setsize",g);let z=l?l(B):B+1;p.setAttribute("aria-posinset",String(z))}D(p,N);let q=e(U,B,J);return P(p,q),f(p,w,W),a(p,N),{element:p,lastItem:U,lastSelected:w,lastFocused:W,lastY:N.y-T(),absY:N.y,lastX:N.x,lastSize:N.size,lastCrossSize:N.crossSize,lastSeenFrame:x}},L=(B,U,N,w)=>{x++,C.clear();for(let p=0;p<U.length;p++)C.add(U[p].index);let W=null;for(let p=0;p<U.length;p++){let h=U[p],J=h.index,q=B(J);if(!q)continue;let O=N.has(q.id),z=J===w,j=c.get(J);if(j){let Z=j.lastItem!==q,A=j.lastSelected!==O,d=j.lastFocused!==z,y=j.lastY!==h.y-T()||j.lastX!==h.x,S=j.lastSize!==h.size||j.lastCrossSize!==h.crossSize;if(Z){let M=I(O,z),Y=e(q,J,M);if(P(j.element,Y),j.element.dataset.id=String(q.id),j.lastItem=q,!q.__groupHeader){let be=l?l(J):J+1;j.element.setAttribute("aria-posinset",String(be))}}if(Z||A||d)f(j.element,O,z),j.element.ariaSelected=String(O),j.lastSelected=O,j.lastFocused=z;if(S)D(j.element,h),j.lastSize=h.size,j.lastCrossSize=h.crossSize;if(y)a(j.element,h),j.lastY=h.y-T(),j.absY=h.y,j.lastX=h.x}else{let Z=V(J,q,h,O,z);if(!W)W=document.createDocumentFragment();W.appendChild(Z.element),c.set(J,Z)}}if(W)t.appendChild(W);for(let[p,h]of c)if(C.has(p))h.lastSeenFrame=x;else if(x-h.lastSeenFrame>zo)u.release(h.element),c.delete(p);else{let J=Math.round(h.absY-T());if(J!==h.lastY){h.lastY=J;let q=Math.round(h.lastX);h.element.style.transform=n?`translate(${J}px, ${q}px)`:`translate(${q}px, ${J}px)`}}},G=()=>{for(let B of c.values())u.release(B.element);c.clear(),t.innerHTML=""};return{render:L,getElement:(B)=>c.get(B)?.element,updateItemClasses:(B,U,N)=>{let w=c.get(B);if(!w)return;let W=w.lastSelected!==U,p=w.lastFocused!==N;if(W||p)f(w.element,U,N),w.lastSelected=U,w.lastFocused=N},sortDOM:()=>{Gn(t,c.keys(),(B)=>c.get(B)?.element)},clear:G,destroy:()=>{G(),u.clear()}}};var Ao=100,Ro=new Set;function Ft(t){if(!t.columns||t.columns<1)throw Error("[vlist] masonry: columns must be >= 1");let e,o=null,n,r=null,s,l,i,T=[],u=-1,c=-1,C=!0,x=-1,g=-1,_=0,v=0,I=0,E=0,m={columnWidth:0,columns:0,gap:0,containerWidth:0},b=[],R=(d)=>b[d],P=null,f=null,a=!1;function D(){if(a||!r)return;a=!0,P=r.getMethod("_getSelectedIds")??null,f=r.getMethod("_getFocusedIndex")??null}let V=[],L=new Int32Array(0),G=[],X=null,H=null,re=null,B=null,U=!1,N=!0;function w(){if(U||!r)return;if(X=r.getMethod("_getItemLane")??null,H=r.getMethod("_getItemY")??null,re=r.getMethod("_getItemH")??null,B=r.getMethod("_isGroupHeader")??null,X||B)U=!0}function W(){w();let d=e.columns,y=!!X;if(y){let S=n.totalItems;V=Array(d);for(let M=0;M<d;M++)V[M]=[];if(L.length<S)L=new Int32Array(S);for(let M=0;M<S;M++){if(B?.(M))continue;let Y=X(M);if(Y<0||Y>=d)continue;L[M]=V[Y].length,V[Y].push(M)}}else{let S=T.length;V=Array(d);for(let M=0;M<d;M++)V[M]=[];if(L.length<S)L=new Int32Array(S);for(let M=0;M<S;M++){let Y=T[M];L[M]=V[Y.lane].length,V[Y.lane].push(M)}}G=Array(d);for(let S=0;S<d;S++){let M=V[S],Y=new Float64Array(M.length);for(let ne=0;ne<M.length;ne++){let be=M[ne];if(y&&H&&re){let Q=H(be),oe=re(be);Y[ne]=Q>=0?Q+(oe>0?oe*0.5:0):0}else{let Q=T[be];Y[ne]=Q.y+Q.size*0.5}}G[S]=Y}}function p(d,y){let S=d.length;if(!S)return-1;let M=0,Y=S-1;while(M<Y){let ne=M+Y>>1;if(d[ne]<y)M=ne+1;else Y=ne}if(M>0&&Math.abs(d[M-1]-y)<=Math.abs(d[M]-y))return M-1;return M}function h(d,y,S){if(N)W(),N=!1;let M=!!X,Y,ne;if(M){if(B?.(d))return d;if(Y=X(d),Y<0)return d;ne=L[d]}else{let ie=T[d];if(!ie)return d;Y=ie.lane,ne=L[d]}let be=e.columns,Q=V[Y];switch(s?y==="ArrowDown"?"ArrowRight":y==="ArrowUp"?"ArrowLeft":y==="ArrowRight"?"ArrowDown":y==="ArrowLeft"?"ArrowUp":y:y){case"ArrowDown":if(ne+1<Q.length)return Q[ne+1];return d;case"ArrowUp":if(ne>0)return Q[ne-1];return d;case"ArrowRight":{if(Y>=be-1)return d;let ie=Y+1,ge=V[ie];if(!ge.length)return d;let pe=p(G[ie],G[Y]?.[ne]??0);return pe>=0?ge[pe]:d}case"ArrowLeft":{if(Y<=0)return d;let ie=Y-1,ge=V[ie];if(!ge.length)return d;let pe=p(G[ie],G[Y]?.[ne]??0);return pe>=0?ge[pe]:d}case"Home":return 0;case"End":{let ie=V[be-1];return ie.length>0?ie[ie.length-1]:d}case"PageDown":{let ie=n.containerSize,ge=M?null:T[d],pe=ge&&ge.size>0?ge.size:150,ce=Math.max(1,Math.floor(ie/pe)),k=Math.min(ne+ce,Q.length-1);return Q[k]}case"PageUp":{let ie=n.containerSize,ge=M?null:T[d],pe=ge&&ge.size>0?ge.size:150,ce=Math.max(1,Math.floor(ie/pe)),k=Math.max(0,ne-ce);return Q[k]}}return d}let J=null;function q(){if(t.size)return(d)=>t.size(d,m);if(J!==null&&typeof J==="function")return(d)=>J(d,m);return(d)=>r.sizeCache.getSize(d)}function O(){let d=e.columns,y=e.gap;m.containerWidth=e.containerSize,m.columns=d,m.gap=y,m.columnWidth=Math.max(0,(e.containerSize-(d-1)*y)/d)}function z(){if(!r)return;O();let d=n.totalItems;T=e.calculateLayout(d,q()),x=d,N=!0,j()}function j(){if(!r)return;let d=e.getTotalSize(T)+E;if(d===g)return;g=d,r.updateContentSize(d)}function Z(){if(n.destroyed||!r||!o)return;if(n.totalItems!==x)z();if(C)g=-1,j();D();let d=n.scrollPosition,y=n.containerSize;if(!C&&d===u&&y===c)return;if(u=d,c=y,C=!1,y<=0||T.length===0)return;let S=Math.max(0,d-i),M=d+y+i,Y=e.getVisibleItems(T,S,M),ne=P?.()??Ro,be=f?.()??-1;b=r.getItems(),o.render(R,Y,ne,be);let Q=Y.length,oe=Q>0?Y[0].index:0,ie=Q>0?Y[Q-1].index:0;n.prevRangeStart=oe,n.prevRangeEnd=ie,n.renderPending=!1;let ge=Math.min(Q,n.capacity);n.visibleCount=ge,n.startIndex=oe;for(let pe=0;pe<ge;pe++){let ce=Y[pe];n.visibleIndices[pe]=ce.index,n.visibleOffsets[pe]=ce.y,n.visibleSizes[pe]=ce.size}}function A(){if(n.destroyed)return;g=-1,z(),n.prevRangeStart=-1,n.prevRangeEnd=-1,n.renderPending=!0,C=!0,Z()}return{name:"masonry",priority:10,conflicts:["grid","table"],setup(d){if(r=d,n=d.getState(),J=d.rawSizeSpec,s=d.config.axis.primary==="x",l=d.config.classPrefix,i=d.config.overscan*Ao,d.config.reverse)throw Error("[vlist] masonry: cannot be combined with reverse mode");_=d.config.crossAxisPadding,v=d.config.crossPadStart,I=d.config.startPadding,E=d.config.endPadding;let y=n.crossSize-_;e=Nn({columns:t.columns,gap:t.gap??0,containerSize:y,crossOffset:v,mainOffset:I}),o=Bn(d.dom.content,d.template,l,s,()=>n.totalItems,void 0,void 0,void 0,()=>n.baseOffset),d.dom.root.classList.add(`${l}--masonry`),d.setRenderFn(Z,A),z(),d.registerMethod("getMasonryLayout",()=>e),d.registerMethod("updateMasonry",(S)=>{if(S.columns!==void 0&&S.columns<1)throw Error("[vlist] updateMasonry: columns must be >= 1");if(S.gap!==void 0&&S.gap<0)throw Error("[vlist] updateMasonry: gap must be >= 0");let M={};if(S.columns!==void 0)M.columns=S.columns;if(S.gap!==void 0)M.gap=S.gap;e.update(M),o?.clear(),A()}),d.registerMethod("scrollToIndex",(S,M="start")=>{let Y=T[S];if(!Y)return;let ne=typeof M==="string"?M:M.align??"start",be=typeof M==="object"?M.behavior:void 0,Q=typeof M==="object"?M.duration:void 0,oe=n.containerSize,ie=e.getTotalSize(T)+E,ge=Math.max(0,ie-oe),pe=Y.y;if(ne==="center")pe=Y.y-oe/2+Y.size/2;else if(ne==="end"){if(pe=Y.y-oe+Y.size,S>=n.totalItems-1&&Y.y+Y.size>ge)pe=ge}if(pe=Math.max(0,Math.min(pe,ge)),be==="smooth"&&Q&&Q>0)d.smoothScrollTo(pe,Q);else d.scrollTo(pe)}),d.registerMethod("_scrollItemIntoView",(S)=>{let M=T[S];if(!M)return;let Y=n.scrollPosition,ne=n.containerSize,be=e.getTotalSize(T)+E,Q=Math.max(0,be-ne),oe=M.y,ie=oe+M.size;if(oe-I<Y)d.scrollTo(Math.max(0,oe-I));else if(ie+E>Y+ne){let ge=V[e.columns-1];if(ge&&ge.length>0&&S===ge[ge.length-1]&&oe>=Q)d.scrollTo(Q);else d.scrollTo(Math.min(ie+E-ne,Q))}}),d.setNavConfig({total:()=>n.totalItems,navigate:h}),d.registerDestroyHandler(()=>{o?.destroy(),o=null,d.dom.root.classList.remove(`${l}--masonry`)})},hooks:{onResize(d,y){if(!e||!r)return;let S=n.crossSize-_;if(Math.abs(S-e.containerSize)<1)return;e.update({containerSize:S}),o?.clear(),A()},onIdle(){o?.sortDOM()}},destroy(){o?.destroy(),o=null,T=[],r=null}}}var Wn=(t={})=>{let{chunkSize:e=100,maxCachedItems:o=5000,evictionBuffer:n=200,onEvict:r}=t,s=new Map,l=0,i=0,T=(N)=>{let w=s.get(N);if(!w)w={items:Array(e),count:0,lastAccess:Date.now()},s.set(N,w);else w.lastAccess=Date.now();return w},u=(N)=>Math.floor(N/e),c=(N)=>N%e,C=()=>l,x=(N)=>{l=N},g=(N)=>{if(N<0||N>=l)return;let w=u(N),W=s.get(w);if(!W)return;return W.items[c(N)]},_=(N)=>{if(N<0||N>=l)return!1;let w=u(N),W=s.get(w);if(!W)return!1;return W.items[c(N)]!==void 0},v=(N,w)=>{let W=u(N),p=T(W),h=c(N),J=p.items[h]===void 0;if(p.items[h]=w,J)p.count++,i++;if(N>=l)l=N+1},I=(N,w)=>{for(let W=0;W<w.length;W++){let p=w[W];if(p!==void 0)v(N+W,p)}},E=(N,w)=>{if(N<0||N>l)return;let W=u(N),p=Array.from(s.keys()).filter((z)=>z>=W).sort((z,j)=>z-j),h=[];for(let z of p){let j=s.get(z),Z=z*e;for(let A=0;A<e;A++){if(j.items[A]===void 0)continue;let d=Z+A;if(d<N)continue;h.push({oldIndex:d,item:j.items[A]})}}for(let{oldIndex:z}of h){let j=u(z),Z=s.get(j);if(!Z)continue;let A=c(z);if(Z.items[A]!==void 0){if(Z.items[A]=void 0,Z.count--,i--,Z.count===0)s.delete(j)}}l++;for(let{oldIndex:z,item:j}of h){let Z=z+1,A=u(Z),d=T(A),y=c(Z);d.items[y]=j,d.count++,i++}let J=u(N),q=T(J),O=c(N);q.items[O]=w,q.count++,i++},m=(N)=>{if(N<0||N>=l)return!1;let w=u(N),W=s.get(w),p=c(N);if(!(W!==void 0&&W.items[p]!==void 0))return!1;let J=w,q=Array.from(s.keys()).filter((z)=>z>=J).sort((z,j)=>z-j),O=[];for(let z of q){let j=s.get(z),Z=z*e;for(let A=0;A<e;A++){if(j.items[A]===void 0)continue;let d=Z+A;if(d<=N)continue;O.push({oldIndex:d,item:j.items[A]})}}if(W.items[p]=void 0,W.count--,i--,W.count===0)s.delete(w);for(let{oldIndex:z}of O){let j=u(z),Z=s.get(j);if(!Z)continue;let A=c(z);if(Z.items[A]!==void 0){if(Z.items[A]=void 0,Z.count--,i--,Z.count===0)s.delete(j)}}for(let{oldIndex:z,item:j}of O){let Z=z-1,A=u(Z),d=T(A),y=c(Z);d.items[y]=j,d.count++,i++}return l--,!0},b=(N,w)=>{let W=[];for(let p=N;p<=w&&p<l;p++)W.push(g(p));return W},R=(N,w)=>{for(let W=N;W<=w&&W<l;W++)if(!_(W))return!1;return!0},P=()=>{let N=[],w=null,W=Array.from(s.keys()).sort((p,h)=>p-h);for(let p of W){let h=s.get(p);if(!h)continue;let J=p*e;for(let q=0;q<e;q++){let O=J+q;if(O>=l)break;if(h.items[q]!==void 0)if(w===null)w={start:O,end:O};else if(O===w.end+1)w.end=O;else N.push(w),w={start:O,end:O};else if(w!==null)N.push(w),w=null}}if(w!==null)N.push(w);return N},f=(N,w)=>{let W=[],p=null;for(let h=N;h<=w&&h<l;h++)if(!_(h))if(p===null)p={start:h,end:h};else p.end=h;else if(p!==null)W.push(p),p=null;if(p!==null)W.push(p);return W},a=(N)=>s.has(N),D=(N)=>{let w=s.get(N);if(!w)return!1;let W=N*e,p=Math.min(e,l-W);return w.count>=p},V=(N)=>{let w=s.get(N);if(w)w.lastAccess=Date.now()},L=(N,w)=>{if(N>w||s.size===0)return;let W=Date.now(),p=u(Math.max(0,N)),h=u(Math.min(l-1,w));for(let J=p;J<=h;J++){let q=s.get(J);if(q)q.lastAccess=W}},G=(N,w)=>{if(i<=o)return 0;let W=Math.max(0,N-n),p=Math.min(l-1,w+n),h=u(W),J=u(p),q=0,O=[];for(let[z,j]of s)if(z<h||z>J)q+=j.count,O.push(z),i-=j.count,s.delete(z);if(q>0&&r)r(q,O);return q},X=()=>{if(i<=o)return 0;let N=Array.from(s.entries()).sort(([,p],[,h])=>p.lastAccess-h.lastAccess),w=0,W=[];for(let[p,h]of N){if(i<=o)break;w+=h.count,i-=h.count,W.push(p),s.delete(p)}if(w>0&&r)r(w,W);return w},H=()=>({totalItems:l,cachedItems:i,cachedChunks:s.size,chunkSize:e,maxCachedItems:o,memoryEfficiency:l>0?1-i/l:1}),re=()=>i,B=()=>{s.clear(),i=0};return{chunkSize:e,maxCachedItems:o,getTotal:C,setTotal:x,get:g,has:_,set:v,setRange:I,insert:E,delete:m,getRange:b,isRangeLoaded:R,getLoadedRanges:P,findUnloadedRanges:f,getChunkIndex:u,isChunkLoaded:a,isChunkFullyLoaded:D,touchChunk:V,touchChunksForRange:L,evictDistant:G,evictToLimit:X,getStats:H,getCachedCount:re,clear:B,reset:()=>{B(),l=0}}};var Kn=(t={})=>{let{maskCharacter:e=pn,maxSampleSize:o=bn}=t,n=[],r=!1,s=(c)=>{if(r||c.length===0)return;let C=Math.min(c.length,o);for(let x=0;x<C;x++){let g=c[x];if(!g||typeof g!=="object")continue;let _={},v=!1;for(let[I,E]of Object.entries(g)){if(I.startsWith("_")||I==="id")continue;_[I]=String(E??"").length,v=!0}if(v)n.push(_)}r=!0},l=()=>r,i=(c)=>{let C={id:`${$e}${c}`,[Ct]:!0,_index:c};if(n.length===0)return C.label=e.repeat(12),C;let x=n[c%n.length];for(let[g,_]of Object.entries(x))C[g]=e.repeat(Math.max(1,_));return C};return{analyzeStructure:s,hasAnalyzedStructure:l,generate:i,generateRange:(c,C)=>{let x=[];for(let g=c;g<=C;g++)x.push(i(g));return x},clear:()=>{n=[],r=!1}}},gt=(t)=>{if(!t||typeof t!=="object")return!1;return t[Ct]===!0};var Ho=50,Un=(t={})=>{let{adapter:e,initialItems:o,initialTotal:n,storage:r,placeholder:s,pageSize:l=Ho,maxConcurrent:i=0,onStateChange:T,onDataChange:u,onItemsLoaded:c,onItemsEvicted:C,onLoadError:x}=t,g=Wn({...r,onEvict:(ce,k)=>{C?.(ce),G(),L()}}),_=null,v=()=>{if(!_)_=Kn(s);return _},I=new Map,E=!1,m,b=!0,R,P,f=[],a=0,D=new Map,V=()=>{for(let ce of D.values())ce[1].abort();D.clear()},L=()=>{T?.(p())},G=()=>{u?.()},X=()=>{I.clear();let ce=g.getLoadedRanges();for(let k of ce)for(let ae=k.start;ae<=k.end;ae++){let te=g.get(ae);if(te&&!gt(te))I.set(te.id,ae)}},H=(ce,k)=>{if(!gt(k))I.set(k.id,ce)},re=(ce)=>{I.delete(ce)},B=(ce,k)=>`${ce}-${k}`,U=()=>g.getTotal(),N=()=>g.getCachedCount(),w=()=>E,W=()=>b,p=()=>({total:g.getTotal(),cached:g.getCachedCount(),isLoading:E,pendingRanges:f,error:m,hasMore:b,cursor:R}),h=()=>g,J=()=>v(),q=(ce)=>{let k=g.get(ce);if(k!==void 0)return k;if(ce>=0&&ce<g.getTotal())return v().generate(ce);return},O=(ce)=>{let k=I.get(ce);if(k===void 0)return;return g.get(k)},z=(ce)=>I.get(ce)??-1,j=(ce)=>{let k=g.get(ce);return k!==void 0&&!gt(k)},Z=(ce,k)=>{let ae=[],te=g.getTotal();g.touchChunksForRange(ce,Math.min(k,te-1));for(let ve=ce;ve<=k&&ve<te;ve++){let Ee=g.get(ve);if(Ee!==void 0)ae.push(Ee);else ae.push(v().generate(ve))}return ae},A=(ce)=>{g.setTotal(ce),b=g.getCachedCount()<ce,G(),L()},d=(ce,k=0,ae)=>{if(e&&ce.length>0){let te=v();if(!te.hasAnalyzedStructure())te.analyzeStructure(ce)}for(let te=0;te<ce.length;te++){let ve=ce[te];if(ve!==void 0){let Ee=k+te;g.set(Ee,ve),H(Ee,ve)}}if(ae!==void 0)g.setTotal(ae);else if(k+ce.length>g.getTotal())g.setTotal(k+ce.length);if(g.getCachedCount()>=g.getTotal()&&g.getTotal()>0)b=!1;G(),L(),c?.(ce,k,g.getTotal())},y=(ce,k)=>{let ae=g.get(ce);if(!ae)return!1;let te=ae.id,ve={...ae,...k};if(g.set(ce,ve),k.id!==void 0&&k.id!==te)re(te);return H(ce,ve),G(),L(),!0},S=(ce,k)=>{g.insert(k,ce),X(),V(),G(),L()},M=(ce)=>{let k=I.get(ce);if(k===void 0)return!1;if(!g.delete(k))return!1;return X(),V(),G(),L(),!0},Y=async(ce,k)=>{if(!e)return;let ae=g.chunkSize,te=Math.floor(ce/ae),ve=Math.floor(k/ae),Ee=ae*2;for(let[Te,Ce]of D){let Re=Te.indexOf("-"),Ae=parseInt(Te.slice(0,Re),10);if(Math.abs(Ae-ce)>Ee)Ce[1].abort(),D.delete(Te)}let xe=[],Le=[];for(let Te=te;Te<=ve;Te++){let Ce=Te*ae,Re=Ce+ae-1,Ae=B(Ce,Re);if(g.isChunkFullyLoaded(Te))continue;let se=D.get(Ae);if(se)Le.push(se[0]);else xe.push({start:Ce,end:Re})}if(xe.length===0){if(Le.length>0)await Promise.all(Le);return}if(i>0){let Te=D.size+xe.length;if(Te>i){let Ce=(ce+k)/2,Re=Math.min(Te-i,D.size);while(Re>0){let K=null,se=-1,me=null;for(let[de,Ie]of D){let fe=de.indexOf("-"),ye=parseInt(de.slice(0,fe),10),He=parseInt(de.slice(fe+1),10),Pe=Math.abs((ye+He)/2-Ce);if(Pe>se)se=Pe,K=de,me=Ie[1]}if(K)me.abort(),D.delete(K);Re--}let Ae=i-D.size;if(xe.length>Ae)xe.sort((K,se)=>{let me=Math.abs((K.start+K.end)/2-Ce),de=Math.abs((se.start+se.end)/2-Ce);return me-de}),xe.length=Math.max(0,Ae)}}if(xe.length===0){if(Le.length>0)await Promise.all(Le);return}for(let Te of xe){let Ce=B(Te.start,Te.end),Re=new AbortController,Ae=(async()=>{f.push(Te),E=!0,m=void 0,L();try{let K=Te.end-Te.start+1,se={offset:Te.start,limit:K,cursor:Te.start===P?R:void 0,signal:Re.signal},me=await e.read(se);if(d(me.items,Te.start,me.total),me.cursor)R=me.cursor,P=Te.start+me.items.length;let de=Te.start+me.items.length;if(de>=a){if(a=de,me.hasMore!==void 0)b=me.hasMore;else if(me.total!==void 0)b=de<me.total}}catch(K){if(K?.name==="AbortError")return;m=K instanceof Error?K:Error(String(K)),x?.(m,Te)}finally{D.delete(Ce);let K=f.findIndex((se)=>se.start===Te.start&&se.end===Te.end);if(K>=0)f.splice(K,1);E=D.size>0,L()}})();D.set(Ce,[Ae,Re]),Le.push(Ae)}await Promise.all(Le)},ne=async(ce,k)=>{if(g.isRangeLoaded(ce,k))return;await Y(ce,k)},be=async()=>{if(!e)return;await Y(0,l-1)},Q=async()=>{if(!e||E||!b)return!1;let ce=g.getCachedCount(),k=g.getTotal(),ae=ce,te=Math.min(ae+l-1,k>0?k-1:ae+l-1);if(ae>=k&&k>0)return b=!1,!1;return await Y(ae,te),g.getCachedCount()>ce},oe=async()=>{if(g.clear(),I.clear(),_)_.clear();V(),f=[],E=!1,R=void 0,P=void 0,b=!0,a=0,m=void 0,G(),L()},ie=(ce,k)=>{if(g.evictDistant(ce,k)>0)X()},ge=()=>{g.clear(),I.clear(),R=void 0,P=void 0,m=void 0,f=[],E=!1,G(),L()},pe=()=>{if(g.reset(),I.clear(),_)_.clear();R=void 0,P=void 0,b=!0,a=0,m=void 0,f=[],E=!1,G(),L()};if(o&&o.length>0)d(o,0,n??o.length);else if(n!==void 0)g.setTotal(n),G(),L();return{getState:p,getTotal:U,getCached:N,getIsLoading:w,getHasMore:W,getStorage:h,getPlaceholders:J,getItem:q,getItemById:O,getIndexById:z,isItemLoaded:j,getItemsInRange:Z,setTotal:A,setItems:d,updateItem:y,insertItem:S,removeItem:M,loadRange:Y,ensureRange:ne,loadInitial:be,loadMore:Q,reload:oe,evictDistant:ie,clear:ge,reset:pe}};function Dt(t){let{adapter:e,total:o,autoLoad:n=!0,storage:r}=t,s=t.loading?.cancelThreshold??ln,l=t.loading?.preloadThreshold??sn,i=t.loading?.preloadAhead??rn,T=t.loading?.maxConcurrent??an,u,c,C,x,g,_,v=null,I=null,E=null,m=0,b=!1,R=null,P=Lt,f=-1,a=-1,D=-1,V=-1,L=r?.chunkSize??at,G=()=>{if(v=null,I!==null)clearTimeout(I),I=null},X=(p,h)=>u.ensureRange(p,h),H=(p,h=at)=>{x.emit("load:start",{offset:p,limit:h})},re=(p)=>{x.emit("error",{error:p,context:"ensureRange"})},B=()=>{v=null;let p={start:c.startIndex,end:c.startIndex+Math.max(0,c.visibleCount-1)};if(p.end<p.start)return;X(p.start,p.end).catch(re)},U=()=>{if(R!==null)clearTimeout(R),R=null},N=()=>{if(c.destroyed)return;let p=u.getTotal();if(c.visibleCount<=0||c.startIndex>=p)return;let h=Math.min(c.startIndex+c.visibleCount-1,p-1);if(h<c.startIndex)return;X(c.startIndex,h).catch(re)},w=()=>{if(R!==null||c.destroyed)return;R=setTimeout(()=>{R=null,N()},P),P=Math.min(P*2,dn)},W=()=>{U(),P=Lt};return{name:"data",priority:20,setup(p){c=p.getState(),C=p.sizeCache,x=p.emitter,g=p.dom,_=p.forceRender.bind(p);let h=null;p.setVirtualTotalFn(()=>h?.getTotal()??0),p.setGetIndexByIdFn((q)=>h?.getIndexById(q)??-1),u=h=Un({adapter:e,...o!==void 0&&{initialTotal:o},pageSize:r?.chunkSize??at,maxConcurrent:T,...r&&{storage:{...r.chunkSize!==void 0&&{chunkSize:r.chunkSize},...r.maxCachedItems!==void 0&&{maxCachedItems:r.maxCachedItems},...r.evictionBuffer!==void 0&&{evictionBuffer:r.evictionBuffer}}},onDataChange:()=>{if(c.initialized){let q=u.getTotal(),O=u.getCached();if(c.totalItems=q,q!==f||O!==a)f=q,a=O,C.rebuild(q);p.updateContentSize(C.getTotalSize()),p.renderIfNeeded()}},onItemsLoaded:(q)=>{if(W(),c.initialized)p.updateContentSize(C.getTotalSize()),_(),x.emit("load:end",{items:q,total:u.getTotal()})},onLoadError:(q)=>{if(x.emit("error",{error:q,context:"load"}),c.initialized)p.renderIfNeeded();w()}}),p.setGetItemFn((q)=>u.getItem(q)),p.setRemoveItemFn((q)=>{let O=u.getIndexById(q);if(O<0)return-1;if(!u.removeItem(q))return-1;return O}),p.setInsertItemFn((q,O)=>{u.insertItem(q,O)}),p.setUpdateItemFn((q,O)=>{let z=u.getIndexById(q);if(z<0)return!1;return u.updateItem(z,O)}),p.registerMethod("reload",async()=>{if(v=null,D=-1,V=-1,W(),p.forceRender(),await u.reload(),p.scrollTo(0),n)H(0),await u.loadInitial(),p.forceRender()}),p.registerMethod("loadVisibleRange",async()=>{v=null,p.forceRender();let q=u.getTotal();if(c.visibleCount>0&&c.startIndex<q){let O=Math.min(c.startIndex+c.visibleCount-1,q-1);H(c.startIndex,O-c.startIndex+1),await X(c.startIndex,O)}}),p.registerMethod("loadInitial",async()=>{H(0),await u.loadInitial(),p.forceRender()}),p.registerMethod("getTotal",()=>u.getTotal()),p.registerMethod("setTotal",(q)=>{u.setTotal(q)}),p.registerMethod("_getTotal",()=>u.getTotal()),p.registerMethod("_setTotal",(q)=>{u.setTotal(q)}),p.registerMethod("_cancelAutoLoad",()=>{b=!0}),p.registerMethod("_getLoadedItem",(q)=>u.getStorage().get(q)),p.registerMethod("_getItem",(q)=>u.getItem(q)),p.registerMethod("_getLoadedCount",()=>u.getCached()),x.on("load:start",()=>{g.root.setAttribute("aria-busy","true")}),x.on("load:end",()=>{g.root.removeAttribute("aria-busy")}),p.registerDestroyHandler(()=>{if(E!==null)clearTimeout(E),E=null;G(),U()}),x.on("velocity:change",({velocity:q})=>{m=Math.abs(q)});let J=()=>{if(c.destroyed)return;W(),N(),B()};if(window.addEventListener("online",J),p.registerDestroyHandler(()=>{window.removeEventListener("online",J)}),n)queueMicrotask(()=>{if(b)return;H(0),u.loadInitial().catch((q)=>{x.emit("error",{error:q,context:"loadInitial"})})});else if(o!==void 0)u.setTotal(o)},hooks:{onAfterScroll(){if(c.destroyed)return;let p=c.startIndex+Math.max(0,c.visibleCount-1);if(m>s){if(I!==null)clearTimeout(I),I=null;v={start:c.startIndex,end:p};return}if(m>l){let q=Math.floor(c.startIndex/L),O=Math.floor(p/L);if(q!==D||O!==V){if(D=q,V=O,p>=c.startIndex)X(c.startIndex,p).catch(re)}let z=c.startIndex,j=p,Z=c.scrollDirection;if(Z>0)j=Math.min(j+i,u.getTotal()-1);else if(Z<0)z=Math.max(0,z-i);if(v={start:z,end:j},I!==null)clearTimeout(I);I=setTimeout(()=>{if(I=null,c.destroyed||!v)return;let{start:A,end:d}=v;if(v=null,d>=A)X(A,d).catch(re)},100);return}G();let h=Math.floor(c.startIndex/L),J=Math.floor(p/L);if(h!==D||J!==V){if(D=h,V=J,p>=c.startIndex)X(c.startIndex,p).catch(re)}},onIdle(){if(c.destroyed)return;m=0,D=-1,V=-1,B(),G()},onResize(){if(c.destroyed)return;let p=u.getTotal();if(p<=0)return;if(c.visibleCount<=0||c.startIndex>=p)return;let h=Math.min(c.startIndex+c.visibleCount-1,p-1);if(h<c.startIndex)return;H(c.startIndex,h-c.startIndex+1),X(c.startIndex,h).catch(re)}},destroy(){if(E!==null)clearTimeout(E);G(),U()}}}var Vt=(t,e)=>{let o=0,n=t.length-1;while(o<n){let r=o+n+1>>>1;if(t[r].headerLayoutIndex<=e)o=r;else n=r-1}return o},Yn=(t,e)=>{let o=0,n=t.length-1;while(o<n){let r=o+n+1>>>1;if(t[r].firstDataIndex<=e)o=r;else n=r-1}return o},Xn=(t,e,o)=>{if(t===0)return[];let n=[],r=null,s=0,l=0;for(let i=0;i<t;i++){let T=o?.(i);if(!T)continue;let u=e(i,T);if(r===null)r=u,s=0;else if(u!==r){let c=i-s;n.push({key:r,groupIndex:n.length,headerLayoutIndex:l,firstDataIndex:s,count:c}),l=l+1+c,r=u,s=i}}if(r!==null)n.push({key:r,groupIndex:n.length,headerLayoutIndex:l,firstDataIndex:s,count:t-s});return n};var qn=(t,e,o)=>{let n=Xn(t,e.getGroupForIndex,o),r=t+n.length,s=e.header?.height??e.header?.width??e.headerHeight;return{get totalEntries(){return r},get groupCount(){return n.length},get groups(){return n},getEntry:(g)=>{if(n.length===0)return{type:"item",dataIndex:g,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let _=Vt(n,g),v=n[_];if(g===v.headerLayoutIndex)return{type:"header",group:v};let I=g-v.headerLayoutIndex-1;return{type:"item",dataIndex:v.firstDataIndex+I,group:v}},layoutToDataIndex:(g)=>{if(n.length===0)return g;let _=Vt(n,g),v=n[_];if(g===v.headerLayoutIndex)return-1;let I=g-v.headerLayoutIndex-1;return v.firstDataIndex+I},dataToLayoutIndex:(g)=>{if(n.length===0)return g;let _=Yn(n,g),v=n[_],I=g-v.firstDataIndex;return v.headerLayoutIndex+1+I},getGroupAtLayoutIndex:(g)=>{if(n.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let _=Vt(n,g);return n[_]},getGroupAtDataIndex:(g)=>{if(n.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let _=Yn(n,g);return n[_]},getHeaderHeight:typeof s==="number"?(g)=>s:(g)=>{let _=n[g];if(!_)return 0;return s(_.key,g)},rebuild:(g,_)=>{n=Xn(g,e.getGroupForIndex,_??o),r=g+n.length}}};var $t=(t,e,o,n,r=0)=>{let s=o?"width":"height",l=document.createElement("div");return l.className=`${e}-sticky-header`,l.setAttribute("role","presentation"),l.setAttribute("aria-hidden","true"),l.style.cssText="z-index:5;pointer-events:none;overflow:hidden;"+(o?`position:absolute;top:0;bottom:0;left:${r||0}px`:`position:relative;top:${r||0}px`),l.style[s]=`${n}px`,t.insertBefore(l,t.firstChild),l},jn=(t,e,o,n,r,s=!1,l=0,i,T)=>{let u=s?"width":"height",c=s?"height":"width",C=s?"X":"Y",x=(d,y)=>{d.style[u]=`${y}px`},g=i??$t(t,r,s,0,l),_=()=>{let d=document.createElement("div");return d.className="sticky-group",d.style.position="absolute",d.style.willChange="transform",d.style[c]="100%",d},v=_(),I=_();g.append(v,I);let E=v,m=I,b=e.groups,R=[],P=[],f=[],a=0,D=()=>{b=e.groups,a=b.length,R=Array(a),P=Array(a),f=Array(a);for(let d=0;d<a;d++)R[d]=T?T(b[d].headerLayoutIndex):o.getOffset(b[d].headerLayoutIndex),P[d]=e.getHeaderHeight(d),f[d]=P[d]};D();let V=-1,L=0,G=0,X=-1,H=!1,re=0,B=!1,U=(d,y)=>{n(d,y);let S=P[y];return x(d,S),S},N=(d)=>{d.replaceChildren(),d.style.transform=""},w=(d)=>{if(d===V)return;if(V=d,L=0,G=0,d<0||d>=a){N(E);return}L=U(E,d),G=f[d],x(g,L),E.style.transform=""},W=(d)=>{if(d===re)return;re=d;let y=Math.round(d);E.style.transform=`translate${C}(${y}px)`,m.style.transform=`translate${C}(${y+L}px)`},p=()=>{re=0,E.style.transform="",m.style.transform=""},h=()=>{if(!B)return;let d=E;E=m,m=d,V=X,L=V>=0?P[V]:0,G=V>=0?f[V]:0,x(g,L),N(m),X=-1,B=!1,p()},J=()=>{if(!B)return;N(m),X=-1,B=!1,p()},q=!!i,O=()=>{if(H)return;if(H=!0,q)g.style.visibility="";else g.style.display=""},z=()=>{if(!H)return;if(H=!1,q)g.style.visibility="hidden";else g.style.display="none";N(E),V=-1,L=0,G=0,J()},j=(d)=>{if(a===0){if(B)J();if(!H)O();w(-1);return}if(d<R[0]){z();return}let y=0,S=a-1;while(y<S){let Y=y+S+1>>>1;if(R[Y]+f[Y]<=d)y=Y;else S=Y-1}if(!H)O();w(y);let M=y+1;if(M<a){let Y=R[M]-d;if(Y<=0&&Y>-G){if(X!==M||!B)X=M,U(m,M),B=!0;let ne=G>0?Y/G*L:Y;W(ne)}else if(Y<=-G){if(B)h()}else if(B)J()}else if(B)J()},Z=()=>{D();let d=V;if(V=-1,L=0,G=0,d>=0)w(d)},A=()=>{g.remove(),V=-1,L=0,G=0,X=-1,H=!1,B=!1};if(!i)g.style.display="none";return{update:j,refresh:Z,show:O,hide:z,destroy:A}};var Ye={selected:!1,focused:!1},Zn=typeof process<"u"&&process.env?.NODE_ENV!=="production";function Ot(t){if(!t.getGroupForIndex)throw Error("[vlist] groups: getGroupForIndex is required");let e=t.header?.height??t.header?.width??t.headerHeight;if(e==null||typeof e==="number"&&e<=0)throw Error("[vlist] groups: header height/width must be a positive number or function");let o=t.header?.template??t.headerTemplate;if(!o)throw Error("[vlist] groups: header.template is required");let n=o,r,s=null,l,i,T,u,c=null,C,x,g,_=null,v,I,E,m=null,b,R,P=null,f=null,a=0,D=0,V=0,L=0,G=0,X=!1,H=null,re=new Map,B=new Set,U=new Map,N=-1,w=-1,W=0,p=!0,h=-1,J=0,q=null,O;function z(){return r.totalEntries}function j(){let k=i.totalItems;if(k===h)return;if(Zn)console.log(`[groups] syncLayout: ${h} → ${k}`);let ae=h>0;h=k,r.rebuild(k,_??g),O(r.totalEntries),S();let te=A?M():l.getTotalSize();if(c?.(te),s)s.refresh(),s.update(i.scrollPosition);if(ae)be();let ve=P?.("_scrollbar:getInstance");if(ve)ve()?.updateBounds(te,i.containerSize)}let Z=0,A=null,d=null,y=null;function S(){if(a<=0){A=null,d=null;return}Z=((i.crossSize||u.clientWidth)-L-(a-1)*D)/a,A=new Map;let te=r.totalEntries,ve=Array(te),Ee=0;if(X){let xe=H??((Ae)=>l.getSize(Ae)),Le=new Float64Array(a),Te=[],Ce=0,Re=-1;for(let Ae=0;Ae<te;Ae++){let K=r.getEntry(Ae);if(K.type==="header"){let se=0;for(let de=0;de<a;de++)if(Le[de]>se)se=Le[de];if(Re>=0)Te[Re]=Ce+se;Ce+=se;let me=l.getSize(Ae);A.set(Ae,{col:-1,rowY:Ce}),ve[Ee++]=[Ae,Ce,Ce+me],Ce+=me,Le.fill(0),Re=K.group.groupIndex}else{let se=0,me=Le[0];for(let fe=1;fe<a;fe++)if(Le[fe]<me)me=Le[fe],se=fe;let de=xe(K.dataIndex),Ie=Ce+Le[se];A.set(Ae,{col:se,rowY:Ie,h:de}),ve[Ee++]=[Ae,Ie,Ie+de],Le[se]=Le[se]+de+D}}if(Re>=0){let Ae=0;for(let K=0;K<a;K++)if(Le[K]>Ae)Ae=Le[K];Te[Re]=Ce+Ae}y=Te}else{y=null;let xe=0,Le=0,Te=0;for(let Ce=0;Ce<te;Ce++)if(r.getEntry(Ce).type==="header"){if(Le>0&&Te>0)xe+=Te;let Ae=l.getSize(Ce);A.set(Ce,{col:-1,rowY:xe}),ve[Ee++]=[Ce,xe,xe+Ae],xe+=Ae,Le=0,Te=0}else{let Ae=Le%a,K=l.getSize(Ce);if(Ae===0){if(Le>0&&Te>0)xe+=Te+D;Te=K}else if(K>Te)Te=K;A.set(Ce,{col:Ae,rowY:xe}),ve[Ee++]=[Ce,xe,xe+K],Le++}}ve.length=Ee,d=ve}function M(){if(!A||A.size===0)return l.getTotalSize();let k=r.totalEntries;if(X)return y?.[y.length-1]??0;let ae=0;for(let te=k-1;te>=0;te--){let ve=A.get(te);if(ve){ae=ve.rowY+(ve.h??l.getSize(te));break}if(r.getEntry(te).type==="header"){ae=l.getOffset(te)+l.getSize(te);break}}return ae}function Y(k){let ae=i.baseOffset;if(A){let ve=A.get(k);if(ve){let Ee=ve.col<0?0:V+ve.col*(Z+D),xe=ve.rowY-ae;if(v)return`translate(${Math.round(xe)}px, ${Math.round(Ee)}px)`;return`translate(${Math.round(Ee)}px, ${Math.round(xe)}px)`}}let te=l.getOffset(k)-ae;if(v)return`translate(${Math.round(te)}px, 0)`;return`translate(0, ${Math.round(te)}px)`}function ne(k,ae){let te=A?.get(ae);if(te){let Ee=te.h??l.getSize(ae);if(te.col<0)if(v)k.style.width=`${Ee}px`,k.style.height="";else k.style.height=`${Ee}px`,k.style.width="100%";else if(v)k.style.width=`${Ee}px`,k.style.height=`${Z}px`;else k.style.height=`${Ee}px`,k.style.width=`${Z}px`;return}let ve=l.getSize(ae);if(v)k.style.width=`${ve}px`;else k.style.height=`${ve}px`}function be(){re.forEach((k)=>{k.remove();let ae=k.getAttribute("data-id");if(ae)U.set(ae,k);else T.release(k)}),re.clear(),B.clear()}function Q(){if(U.size>0)U.forEach((k)=>T.release(k)),U.clear()}function oe(k,ae,te,ve){if(f===null)f=!!P?.("_getSelectedIds");if(ae.type==="header"){let Re=`__group_header_${ae.group.groupIndex}`;if(k.getAttribute("data-id")===Re)return!0;if(k.className=R,k.setAttribute("role","presentation"),k.removeAttribute("aria-selected"),k.setAttribute("data-id",Re),v&&s&&ae.group.groupIndex===0)k.style.display="none";else{k.style.display="";let Ae=n(ae.group.key,ae.group.groupIndex);if(typeof Ae==="string")k.innerHTML=Ae;else k.innerHTML="",k.appendChild(Ae)}return!0}let Ee=ae.dataIndex,xe=g(Ee);if(!xe)return k.innerHTML="",!1;let Le=xe._isPlaceholder===!0,Te=String(xe.id);if(!Le&&k.getAttribute("data-id")===Te){if(f)k.id=`${I}-item-${ve}`,k.setAttribute("aria-posinset",String(Ee+1)),k.setAttribute("aria-setsize",String(i.totalItems));return!0}if(k.className=b,k.setAttribute("role",f?"option":"listitem"),k.setAttribute("data-id",Te),f)k.id=`${I}-item-${ve}`,k.setAttribute("aria-posinset",String(Ee+1)),k.setAttribute("aria-setsize",String(i.totalItems));if(Le)k.classList.add(`${I}-item--placeholder`);if(te)te(ve,Ye);else Ye.selected=!1,Ye.focused=!1;let Ce=x(xe,Ee,Ye);if(typeof Ce==="string")k.innerHTML=Ce;else k.innerHTML="",k.appendChild(Ce);return Be(k),!Le}let ie=0;function ge(){if(a<=0)return;let k=i.crossSize;if(k===ie)return;ie=k,S();let ae=M();if(c?.(ae),s)s.refresh(),s.update(i.scrollPosition);p=!0}function pe(){if(i.destroyed)return;j(),ge();let k=i.scrollPosition,ae=i.containerSize,te=i.baseOffset,ve=te!==W;if(!p&&k===N&&ae===w&&!ve)return;N=k,w=ae;let Ee=p;p=!1;let xe=z();if(ae<=0||xe===0){if(re.size>0)re.forEach((fe)=>{fe.remove(),T.release(fe)}),re.clear(),B.clear();return}let Le,Te;if(d){let fe=d,ye=fe.length,He=0,Pe=ye-1;while(He<Pe){let ze=He+Pe>>>1;if(fe[ze][2]<=k)He=ze+1;else Pe=ze}let F=He;Pe=ye-1;while(He<Pe){let ze=He+Pe+1>>>1;if(fe[ze][1]>=k+ae)Pe=ze-1;else He=ze}let le=He,ue=fe[F][0],he=fe[le][0];for(let ze=ue-1;ze>=0;ze--)if(r.getEntry(ze).type==="header"){ue=ze;break}let Me=E*a;Le=Math.max(0,ue-Me),Te=Math.min(xe-1,he+Me)}else{let fe=l.indexAtOffset(k),ye=l.indexAtOffset(k+ae);if(ye<xe-1)ye++;fe=Math.max(0,fe),ye=Math.min(xe-1,Math.max(0,ye)),Le=Math.max(0,fe-E),Te=Math.min(xe-1,ye+E)}if(Le===i.prevRangeStart&&Te===i.prevRangeEnd&&!i.renderPending&&!ve)return;W=te,re.forEach((fe,ye)=>{if(ye<Le||ye>Te)fe.remove(),T.release(fe),re.delete(ye),B.delete(ye)});let Ce=m?.()??null,Re=Ce?`${I}-item--selected`:"",Ae=Ce?`${I}-item--focused`:"",K=null;for(let fe=Le;fe<=Te;fe++){let ye=re.get(fe),He=!1;if(ye===void 0){let Pe=r.getEntry(fe);He=Pe.type==="header";let F;if(Pe.type==="header")F=`__group_header_${Pe.group.groupIndex}`;else{let ue=g(Pe.dataIndex);if(ue&&ue._isPlaceholder!==!0)F=String(ue.id)}if(F!==void 0){let ue=U.get(F);if(ue)U.delete(F),ye=ue}if(!ye)ye=T.acquire();if(ye.setAttribute("data-index",String(fe)),oe(ye,Pe,Ce,fe))B.delete(fe);else B.add(fe);if(ne(ye,fe),ye.style.transform=Y(fe),re.set(fe,ye),!K)K=document.createDocumentFragment();K.appendChild(ye)}else if(Ee&&B.has(fe)){let Pe=r.getEntry(fe);if(Pe.type==="item")if(oe(ye,Pe,Ce,fe))B.delete(fe);else B.add(fe)}else if(He=ye.classList.contains(R),Ee)ne(ye,fe),ye.style.transform=Y(fe);else if(ve)ye.style.transform=Y(fe);if(!He&&Ce)if(Ce(fe,Ye),ye.classList.toggle(Re,Ye.selected),ye.classList.toggle(Ae,Ye.focused),Ye.selected)ye.setAttribute("aria-selected","true");else ye.removeAttribute("aria-selected")}if(K)u.appendChild(K);Q();let se=A?M():l.getTotalSize();c?.(se),i.prevRangeStart=Le,i.prevRangeEnd=Te,i.renderPending=!1;let me=0,de=0,Ie=!1;for(let fe=Le;fe<=Te&&me<i.capacity;fe++){let ye=r.getEntry(fe);if(ye.type==="item"){if(!Ie)de=ye.dataIndex,Ie=!0;i.visibleIndices[me]=ye.dataIndex,i.visibleOffsets[me]=l.getOffset(fe),i.visibleSizes[me]=l.getSize(fe),me++}}i.visibleCount=me,i.startIndex=de}function ce(){if(i.destroyed)return;if(ge(),Zn)console.log(`[groups] forceRender, placeholders: ${B.size}, rendered: ${re.size}`);let k=q?.()??0;if(k!==J){J=k;let ae=r.groups,te=ae.length;r.rebuild(h,_??g);let ve=r.groups,Ee=ve.length!==te;if(!Ee){for(let xe=0;xe<te;xe++)if(ve[xe].headerLayoutIndex!==ae[xe].headerLayoutIndex){Ee=!0;break}}if(Ee){O(r.totalEntries),S();let xe=A?M():l.getTotalSize();if(c?.(xe),s)s.refresh(),s.update(i.scrollPosition);let Le=1/0,Te=Math.min(te,ve.length);for(let Re=0;Re<Te;Re++)if(ve[Re].headerLayoutIndex!==ae[Re].headerLayoutIndex){Le=Math.min(ve[Re].headerLayoutIndex,ae[Re].headerLayoutIndex);break}if(ve.length>te&&Te<ve.length)Le=Math.min(Le,ve[Te].headerLayoutIndex);else if(te>ve.length&&Te<te)Le=Math.min(Le,ae[Te].headerLayoutIndex);if(Le<=i.prevRangeEnd)be();let Ce=P?.("_scrollbar:getInstance");if(Ce)Ce()?.updateBounds(xe,i.containerSize)}}i.prevRangeStart=-1,i.prevRangeEnd=-1,i.renderPending=!0,p=!0,pe()}return{name:"groups",priority:10,setup(k){l=k.sizeCache,i=k.getState(),T=k.pool,u=k.dom.content,c=k.updateContentSize.bind(k),C=k.dom.root,x=k.template,v=k.config.axis.primary==="x",I=k.config.classPrefix,E=k.config.overscan,G=k.config.mainAxisPadding,g=k.getItem.bind(k),m=()=>k.getItemStateFn(),P=k.getMethod.bind(k),f=null,b=`${I}-item`,R=`${I}-group-header`;let ae=P?.("getGridLayout"),te=P?.("getMasonryLayout");if(ae){let se=ae();a=se.columns,D=se.gap,V=k.config.crossPadStart,L=k.config.crossAxisPadding}else if(te){let se=te();a=se.columns,D=se.gap,V=k.config.crossPadStart,L=k.config.crossAxisPadding,X=!0;let me=k.rawSizeSpec;if(typeof me==="function")H=(de)=>me(de,{columnWidth:Z})}queueMicrotask(()=>{let se=P?.("_getLoadedItem");if(se)_=se;let me=P?.("_getLoadedCount");if(me)q=me});let ve=i.totalItems;r=qn(ve,t,_??g),h=ve;let Ee=typeof e==="number"?(se)=>e:(se)=>{let me=r.groups[se];if(!me)return 0;return e(me.key,se)},xe=l.getSize,Le=(se)=>{let me=r.getEntry(se);if(me.type==="header"){if(t.sticky!==!1&&me.group.groupIndex===0)return 0;return Ee(me.group.groupIndex)}return xe(me.dataIndex)};k.setSizeConfig(Le);let Te=!1,Ce=-1;if(k.registerMethod("_setSizeCacheBase",(se)=>{O=se}),O=l.rebuild,l.rebuild=(se)=>{if(Te){if(!q)q=P?.("_getLoadedCount")??null;let me=q?.()??0;if(se!==h||me!==Ce){if(h=se,Ce=me,!_)_=P?.("_getLoadedItem")??null;if(r.rebuild(se,_??((de)=>k.getItems()[de])),i.totalItems=r.totalEntries,s)s.refresh(),s.update(i.scrollPosition)}}O(r.totalEntries)},l.rebuild(r.totalEntries),S(),k.setVirtualTotalFn(()=>r.totalEntries),C.classList.add(`${I}--grouped`),t.sticky!==!1){let se=(fe,ye)=>{let He=r.groups[ye];if(!He)return;let Pe=n(He.key,ye);if(typeof Pe==="string")fe.innerHTML=Pe;else fe.replaceChildren(Pe)},me=r.getHeaderHeight(0),de=$t(C,I,v,me),Ie=a>0?(fe)=>{let ye=A?.get(fe);return ye?ye.rowY:l.getOffset(fe)}:void 0;if(s=jn(C,r,l,se,I,v,0,de,Ie),s.update(i.scrollPosition),!v)k.dom.viewport.style.height=`calc(100% - ${me}px)`;else k.dom.viewport.style.width=`calc(100% - ${me}px)`,k.dom.viewport.style.marginLeft=`${me}px`}let Re=!!P?.("_updateTableForGroups");if(Te=Re,Re)queueMicrotask(()=>{let se=P?.("_getItem")??null,me=k.getItems.bind(k);k.setGetItemFn((Ie)=>{let fe=r.getEntry(Ie);if(fe.type==="header")return{id:`__group_header_${fe.group.groupIndex}`,__groupHeader:!0,groupKey:fe.group.key,groupIndex:fe.group.groupIndex};return se?se(fe.dataIndex):me()[fe.dataIndex]});let de=P?.("_updateTableForGroups");if(de)de((Ie)=>!!Ie.__groupHeader,n)});else k.setRenderFn(pe,ce);k.registerMethod("getGroupLayout",()=>r),k.registerMethod("_dataToLayoutIndex",(se)=>r.dataToLayoutIndex(se)),k.registerMethod("_layoutToDataIndex",(se)=>r.layoutToDataIndex(se)),k.registerMethod("_getRenderedElement",(se)=>re.get(se)??null),k.registerMethod("_isGroupHeader",(se)=>r.getEntry(se).type==="header"),k.registerMethod("_getItemLane",(se)=>{let me=A?.get(se);return me?me.col:-1}),k.registerMethod("_getItemY",(se)=>{let me=A?.get(se);return me?me.rowY:-1}),k.registerMethod("_getItemH",(se)=>A?.get(se)?.h??-1);let Ae=k.config.startPadding,K=G-Ae;k.registerMethod("_scrollItemIntoView",(se)=>{if(se<0)return;let me=A?.get(se),de=me?me.rowY:l.getOffset(se),Ie=me?.h??l.getSize(se),fe=i.containerSize,ye=i.scrollPosition;if(de<ye+Ae)k.scrollTo(Math.max(0,de-Ae));else if(de+Ie+K>ye+fe)k.scrollTo(de+Ie+K-fe)}),k.registerMethod("scrollToIndex",(se,me="start")=>{let de=r.dataToLayoutIndex(se),Ie=r.totalEntries;if(Ie===0)return;let fe=Math.max(0,Math.min(de,Ie-1)),ye=i.containerSize,He=A?.get(fe),Pe=He?He.rowY:l.getOffset(fe),F=He?He.h??l.getSize(fe):l.getSize(fe),le=A?M()+G:l.getTotalSize(),ue=Math.max(0,le-ye),he=typeof me==="string"?me:me.align??"start",Me=typeof me==="object"?me.behavior:void 0,ze=typeof me==="object"?me.duration:void 0,Fe=A?G:0,ke=Pe+F;if(X&&y){let ee=r.getEntry(fe).group.groupIndex,we=y[ee];if(we!==void 0)ke=we}let Se;switch(he){case"center":Se=Pe-(ye-F)/2;break;case"end":Se=ke-ye+Fe;break;default:Se=Pe}if(Se=Math.max(0,Math.min(Se,ue)),Me==="smooth"&&ze&&ze>0)k.smoothScrollTo(Se,ze);else k.scrollTo(Se)}),k.registerDestroyHandler(()=>{for(let[,se]of re)se.remove();if(re.clear(),B.clear(),s)s.destroy(),s=null;C.classList.remove(`${I}--grouped`)})},hooks:{onAfterScroll(k,ae){if(s)s.update(k)},onResize(k,ae){if(a<=0)return;O(r.totalEntries),ie=i.crossSize,S();let te=M();if(c?.(te),s)s.refresh(),s.update(i.scrollPosition);p=!0,pe()}},destroy(){if(s)s.destroy(),s=null;re.clear(),B.clear(),U.clear()}}}var Jn=(t,e=50,o=1/0,n=!0,r="none")=>{let s=t,l=[],i=0,T=0,u=()=>{l=s.map((b,R)=>({def:b,index:R,width:0,minWidth:ko(b.minWidth??e,1),maxWidth:b.maxWidth??o,resizable:b.resizable??n,offset:0}))},c=()=>{if(r==="none"||i<=0||i>=T)return;if(r==="spacer"){i=T;return}let b=T-i,R=i;for(let P=0;P<l.length;P++){let f=l[P];f.width=pt(f.width+b*(f.width/R),f.minWidth,f.maxWidth)}x()},C=(b)=>{if(T=b,l.length===0){i=0;return}let R=0,P=0;for(let f=0;f<l.length;f++){let a=l[f],D=a.def;if(D.width!==void 0)a.width=pt(D.width,a.minWidth,a.maxWidth),R+=a.width;else P++}if(P){let a=Math.max(0,b-R)/P;for(let D=0;D<l.length;D++){let V=l[D];if(V.def.width===void 0)V.width=pt(a,V.minWidth,V.maxWidth)}}x(),c()},x=()=>{let b=0;for(let R=0;R<l.length;R++){let P=l[R];P.offset=b,b+=P.width}i=b},g=(b,R)=>{if(b<0||b>=l.length)return 0;let P=l[b];if(!P.resizable)return P.width;let f=pt(R,P.minWidth,P.maxWidth);if(P.width=f,x(),r==="spacer")c();return f},_=(b)=>l[b],v=(b)=>{if(l.length===0)return;if(b<0)return l[0];if(b>=i)return l[l.length-1];let R=0,P=l.length-1;while(R<P){let f=R+P>>>1,a=l[f];if(b<a.offset)P=f-1;else if(b>=a.offset+a.width)R=f+1;else return a}return l[R]},I=(b)=>{if(b<0||b>=l.length)return 0;return l[b].offset},E=(b)=>{if(b<0||b>=l.length)return 0;return l[b].width},m=(b)=>{s=b,u()};return u(),{get columns(){return l},get totalWidth(){return i},resolve:C,updateColumns:m,resizeColumn:g,getColumn:_,getColumnAtX:v,getColumnOffset:I,getColumnWidth:E}},pt=(t,e,o)=>Math.min(o,Math.max(e,t)),ko=(t,e)=>Math.max(e,t);var Qn=(t,e,o,n,r,s)=>{let l=document.createElement("div");l.setAttribute("role","rowgroup");let i=document.createElement("div");i.className=`${o}-table-header`,i.setAttribute("role","row"),i.setAttribute("aria-rowindex","1"),i.style.height=`${e}px`;let T=document.createElement("div");T.className=`${o}-table-header-scroll`,T.setAttribute("role","presentation"),i.appendChild(T),l.appendChild(i),t.insertBefore(l,t.firstChild),t.style.setProperty("--vlist-table-header-height",`${e}px`);let u=[],c=[],C=!0,x=null,g="asc",_=null,v=!1,I=-1,E=0,m=0,b=0,R=(w,W)=>{let p=document.createElement("div");p.className=`${o}-table-header-cell`,p.setAttribute("role","columnheader"),p.setAttribute("aria-colindex",String(W+1)),p.setAttribute("tabindex",W===0?"0":"-1"),p.dataset.columnKey=w.def.key;let h=w.def.align;if(h==="center")p.classList.add(`${o}-table-header-cell--center`);else if(h==="right")p.classList.add(`${o}-table-header-cell--right`);let J=document.createElement("div");J.className=`${o}-table-header-content`;let q=w.def.header?w.def.header(w.def):w.def.label;if(typeof q==="string")J.textContent=q;else J.appendChild(q);if(p.appendChild(J),w.def.sortable){let O=document.createElement("span");O.className=`${o}-table-header-sort`,O.setAttribute("aria-hidden","true"),p.appendChild(O),c.push(O),p.classList.add(`${o}-table-header-cell--sortable`)}else c.push(null);if(w.resizable){let O=document.createElement("div");O.className=`${o}-table-header-resize`,O.dataset.resizeIndex=String(W),p.appendChild(O)}return p},P=(w)=>{_=w,T.textContent="",u=[],c=[];let W=w.columns;for(let p=0;p<W.length;p++){let h=W[p],J=R(h,p);u.push(J),T.appendChild(J)}if(f(w),x)a(x,g)},f=(w)=>{_=w;let W=w.columns;T.style.width=`${w.totalWidth}px`;for(let p=0;p<u.length&&p<W.length;p++){let h=u[p],J=W[p];h.style.width=`${J.width}px`}},a=(w,W)=>{if(x=w,g=W,!_)return;let p=_.columns;for(let h=0;h<c.length&&h<p.length;h++){let J=c[h];if(!J)continue;if(p[h].def.key===w)J.textContent=W==="asc"?"▲":"▼",J.style.opacity="0.7",u[h].setAttribute("aria-sort",W==="asc"?"ascending":"descending");else J.textContent="",J.style.opacity="0",u[h].removeAttribute("aria-sort")}},D=(w)=>{T.style.transform=`translateX(${-w}px)`},V=(w)=>{let W=w.target;if(!W.dataset.resizeIndex)return;if(w.preventDefault(),w.stopPropagation(),I=+W.dataset.resizeIndex,!_)return;let p=_.getColumn(I);if(!p?.resizable)return;v=!0,E=w.clientX,m=p.width,t.classList.add(`${o}--col-resizing`),t.style.cursor="col-resize",W.classList.add(`${o}-table-header-resize--active`),W.setPointerCapture(w.pointerId),W.addEventListener("pointermove",L),W.addEventListener("pointerup",G),W.addEventListener("pointercancel",G)},L=(w)=>{if(!v||!_)return;let W=w.clientX-E;if(Math.abs(W)<1)return;let p=Math.max(0,m+W);n(I,p)},G=(w)=>{if(!v)return;let W=w.target;W.removeEventListener("pointermove",L),W.removeEventListener("pointerup",G),W.removeEventListener("pointercancel",G);try{W.releasePointerCapture(w.pointerId)}catch{}W.classList.remove(`${o}-table-header-resize--active`),t.classList.remove(`${o}--col-resizing`),t.style.cursor="",v=!1,I=-1},X=(w)=>{let W=w.target;if(W.dataset.resizeIndex)return;if(v)return;let p=W;while(p&&!p.dataset.columnKey)if(p=p.parentElement,p===i||p===null)return;let h=p.dataset.columnKey;if(!_)return;let J=_.columns,q=-1;for(let z=0;z<J.length;z++)if(J[z].def.key===h){q=z;break}if(q===-1)return;let O=J[q];if(s)s({key:h,index:q,event:w});if(O.def.sortable&&r){let z;if(x===h)z=g==="asc"?"desc":null;else z="asc";r({key:h,index:q,direction:z})}},H=(w)=>{if(w<0||w>=u.length)return;u[b]?.setAttribute("tabindex","-1"),b=w;let W=u[b];W.setAttribute("tabindex","0"),W.focus()},re=(w)=>{let W=w.key;if(W==="ArrowRight"){if(w.ctrlKey||w.metaKey){if(!_)return;let p=_.getColumn(b);if(p?.resizable)n(b,p.width+10),w.preventDefault()}else if(b<u.length-1)H(b+1),w.preventDefault();w.stopPropagation();return}if(W==="ArrowLeft"){if(w.ctrlKey||w.metaKey){if(!_)return;let p=_.getColumn(b);if(p?.resizable)n(b,p.width-10),w.preventDefault()}else if(b>0)H(b-1),w.preventDefault();w.stopPropagation();return}if(W==="Home"){H(0),w.preventDefault(),w.stopPropagation();return}if(W==="End"){H(u.length-1),w.preventDefault(),w.stopPropagation();return}if(W==="Enter"||W===" "){if(!_)return;let p=_.getColumn(b);if(p?.def.sortable&&r){let h;if(x===p.def.key)h=g==="asc"?"desc":null;else h="asc";r({key:p.def.key,index:b,direction:h}),w.preventDefault()}w.stopPropagation();return}if(W==="ArrowDown"){t.focus(),w.preventDefault(),w.stopPropagation();return}};return i.addEventListener("pointerdown",V),i.addEventListener("click",X),i.addEventListener("keydown",re),{element:i,update:f,updateSort:a,rebuild:P,show:()=>{if(C)return;C=!0,i.style.display=""},hide:()=>{if(!C)return;C=!1,i.style.display="none"},destroy:()=>{i.removeEventListener("pointerdown",V),i.removeEventListener("click",X),i.removeEventListener("keydown",re),t.style.removeProperty("--vlist-table-header-height"),l.remove(),u=[],c=[],_=null,C=!1},syncScroll:D}};var _o=()=>{let t=[];return{acquire:()=>t.pop()||document.createElement("div"),release:(e)=>{if(e.parentNode?.removeChild(e),t.length<200)e.className="",e.removeAttribute("data-id"),e.removeAttribute("data-index"),e.removeAttribute("aria-selected"),e.removeAttribute("aria-rowindex"),e.removeAttribute("role"),e.style.cssText="",e.textContent="",t.push(e)},clear:()=>{t.length=0}}},eo=(t,e,o,n,r,s,l,i,T,u=()=>0)=>{let c=_o(),C=new Map,x=-1,g=o,_=null,v=null,I=null,E=(y,S)=>{v=y,I=S},m=(y,S)=>{S?y.setAttribute("aria-selected","true"):y.removeAttribute("aria-selected")},b=(y,S,M,Y)=>{y.setAttribute("role",S),y.setAttribute("data-id",String(M)),y.setAttribute("data-index",String(Y))},R=(y)=>String(y).startsWith("__placeholder_"),P=`${r}-item ${r}-table-row`,f=`${r}-item--selected`,a=`${r}-item--focused`,D=`${r}-table-cell`,V=`${r}-table-cell--center`,L=`${r}-table-cell--right`,G=`${r}-table-cell-skeleton`,X=`${r}-item--odd`,H=`${r}-item--placeholder`,re=`${r}-item--replaced`,B=`${r}-table-row ${r}-table-group-header`,U=`${r}-table-group-header-content`,N=(y,S,M,Y,ne=!1)=>{if(M.def.cell){let be=M.def.cell(S,M.def,Y);if(typeof be==="string")y.innerHTML=be;else y.replaceChildren(be)}else{let be=S[M.def.key],Q=be!=null?String(be):"";if(ne&&Q)y.innerHTML=`<span>${Q}</span>`;else y.textContent=Q}if(ne&&y.firstElementChild===null){y.replaceChildren();let be=document.createElement("span");be.className=G,y.appendChild(be)}},w=(y,S,M,Y,ne=!1)=>{let be=P;if(i){if(_){let Q=_(S);if(Q>=0&&(Q&1)===1)be+=` ${X}`}else if((S&1)===1)be+=` ${X}`}if(ne)be+=` ${H}`;if(M)be+=` ${f}`;if(Y)be+=` ${a}`;y.className=be},W=(y,S)=>{let M=S.def.align;if(M==="center")y.classList.add(V),y.classList.remove(L);else if(M==="right")y.classList.add(L),y.classList.remove(V);else y.classList.remove(V,L)},p=(y,S)=>{let Y=g.columns.length;if(S.length===Y)return S;let ne=[];for(let be=0;be<Y;be++){let Q;if(be<S.length)Q=S[be];else Q=document.createElement("div"),Q.className=D,y.appendChild(Q);ne.push(Q)}for(let be=Y;be<S.length;be++)S[be].remove();return ne},h=(y,S,M)=>{let Y=c.acquire(),ne=y,be=M.getSize(S),Q=M.getOffset(S)-u();Y.style.cssText=`width:${g.totalWidth}px;height:${be}px;transform:translateY(${Q}px)`,Y.className=B,b(Y,"presentation",y.id,S),Y.removeAttribute("aria-selected"),Y.removeAttribute("aria-rowindex"),Y.replaceChildren();let oe=document.createElement("div");if(oe.className=U,I){let ie=I(ne.groupKey,ne.groupIndex);if(typeof ie==="string")oe.innerHTML=ie;else oe.appendChild(ie)}return Y.appendChild(oe),{element:Y,cells:[],index:S,isGroupHeader:!0,_lastItem:y,lastItemId:y.id,lastSelected:!1,lastFocused:!1,lastOffset:Q,lastHeight:be}},J=(y,S,M,Y,ne)=>{let be=c.acquire(),Q=ne.getSize(S),oe=ne.getOffset(S)-u(),ie=R(y.id);be.style.cssText=`width:${g.totalWidth}px;height:${Q}px;transform:translateY(${oe}px)`,w(be,S,M,Y,ie),b(be,"row",y.id,S),be.id=`${s}-item-${S}`,be.setAttribute("aria-rowindex",String(S+2)),m(be,M);let ge=p(be,[]),pe=g.columns;for(let ce=0;ce<ge.length&&ce<pe.length;ce++){let k=ge[ce],ae=pe[ce];k.style.cssText=`left:${ae.offset}px;width:${ae.width}px`,k.setAttribute("role","gridcell"),k.setAttribute("aria-colindex",String(ce+1)),W(k,ae),N(k,y,ae,S,ie)}return{element:be,cells:ge,index:S,isGroupHeader:!1,_lastItem:y,lastItemId:y.id,lastSelected:M,lastFocused:Y,lastOffset:oe,lastHeight:Q}},q=(y,S,M,Y)=>{let ne=!1,be=l();if(be!==x)x=be,ne=!0;let Q=null,oe=e();_=typeof i==="string"&&T?T():null;for(let ie=S.start;ie<=S.end;ie++){let ge=ie-S.start,pe=y[ge];if(!pe)continue;let ce=M.has(pe.id),k=ie===Y,ae=v?v(pe):!1,te=C.get(ie);if(te){if(te.isGroupHeader!==ae){c.release(te.element),C.delete(ie);let ve=ae?h(pe,ie,oe):J(pe,ie,ce,k,oe);if(C.set(ie,ve),!Q)Q=document.createDocumentFragment();Q.appendChild(ve.element);continue}if(ae){if(te._lastItem!==pe){let Le=pe,Te=te.element.firstElementChild;if(Te&&I){let Ce=I(Le.groupKey,Le.groupIndex);if(typeof Ce==="string")Te.innerHTML=Ce;else Te.replaceChildren(Ce)}te.element.setAttribute("data-id",String(pe.id)),te._lastItem=pe,te.lastItemId=pe.id}let Ee=oe.getOffset(ie)-u();if(te.lastOffset!==Ee)te.lastOffset=Ee,te.element.style.transform=`translateY(${Ee}px)`;let xe=oe.getSize(ie);if(te.lastHeight!==xe)te.lastHeight=xe,te.element.style.height=`${xe}px`}else{let ve=te._lastItem!==pe,Ee=te.lastSelected!==ce,xe=te.lastFocused!==k;if(ve){let Ce=te.lastItemId!=null&&R(te.lastItemId),Re=R(pe.id);if(!Re&&ot(M,ie,pe.id))ce=!0;let Ae=g.columns;for(let K=0;K<te.cells.length&&K<Ae.length;K++)N(te.cells[K],pe,Ae[K],ie,Re);if(w(te.element,ie,ce,k,Re),te.element.setAttribute("data-id",String(pe.id)),m(te.element,ce),Ce&&!Re)te.element.classList.add(re),setTimeout(()=>{te.element.classList.remove(re)},300);te._lastItem=pe,te.lastItemId=pe.id,te.lastSelected=ce,te.lastFocused=k}else if(Ee||xe)w(te.element,ie,ce,k,R(pe.id)),m(te.element,ce),te.lastSelected=ce,te.lastFocused=k;let Le=oe.getOffset(ie)-u();if(te.lastOffset!==Le)te.lastOffset=Le,te.element.style.transform=`translateY(${Le}px)`;let Te=oe.getSize(ie);if(te.lastHeight!==Te)te.lastHeight=Te,te.element.style.height=`${Te}px`;if(ne)te.element.setAttribute("aria-rowindex",String(ie+2))}}else{if(ot(M,ie,pe.id))ce=!0;let ve=ae?h(pe,ie,oe):J(pe,ie,ce,k,oe);if(C.set(ie,ve),!Q)Q=document.createDocumentFragment();Q.appendChild(ve.element)}}if(Q)t.appendChild(Q);for(let[ie,ge]of C)if(ie<S.start||ie>S.end)c.release(ge.element),C.delete(ie)},O=(y,S,M,Y)=>{let ne=C.get(y);if(!ne)return;if(ne.isGroupHeader)return;let be=g.columns;for(let Q=0;Q<ne.cells.length&&Q<be.length;Q++)N(ne.cells[Q],S,be[Q],y);ne.element.setAttribute("data-id",String(S.id)),ne._lastItem=S,ne.lastItemId=S.id,w(ne.element,y,M,Y),m(ne.element,M),ne.lastSelected=M,ne.lastFocused=Y},z=(y,S,M)=>{let Y=C.get(y);if(!Y)return;if(Y.isGroupHeader)return;let ne=Y.lastSelected!==S,be=Y.lastFocused!==M;if(ne||be)w(Y.element,y,S,M),m(Y.element,S),Y.lastSelected=S,Y.lastFocused=M},j=(y)=>{g=y;let S=y.columns;for(let[,M]of C)if(M.element.style.width=`${y.totalWidth}px`,M.cells.length>0)for(let Y=0;Y<M.cells.length&&Y<S.length;Y++){let ne=M.cells[Y],be=S[Y];ne.style.left=`${be.offset}px`,ne.style.width=`${be.width}px`}},Z=(y)=>C.get(y)?.element,A=()=>{for(let[,y]of C)c.release(y.element);C.clear(),x=-1};return{render:q,updateItem:O,updateItemClasses:z,getElement:Z,updateColumnLayout:j,setGroupHeaderFn:E,clear:A,destroy:()=>{A(),c.clear()}}};var Fo=new Set;function Nt(t){if(!t.columns?.length)throw Error("[vlist] table: columns must be a non-empty array");if(t.rowHeight===void 0&&t.estimatedRowHeight===void 0)throw Error("[vlist] table: either rowHeight or estimatedRowHeight is required");let e=null,o=null,n=null,r,s,l=null,i=null,T=null,u=!1,c=-1,C=-1,x=null,g=!1;function _(){if(u||!l)return;u=!0,i=l.getMethod("_getSelectedIds")??null,T=l.getMethod("_getFocusedIndex")??null}let v=[],I={start:0,end:0};function E(){if(r.destroyed||!l||!n||!e)return;let b=r.containerSize,R=r.totalItems;if(b<=0||R===0)return;let P=R+1;if(P!==c)c=P,l.dom.root.setAttribute("aria-rowcount",`${P}`);let f=r.scrollPosition,a=l.config.overscan,D=s.indexAtOffset(f),V=s.indexAtOffset(f+b);if(V<R-1)V++;D=Math.max(0,D),V=Math.min(R-1,V);let L=Math.max(0,D-a),G=Math.min(R-1,V+a);if(L===r.prevRangeStart&&G===r.prevRangeEnd&&!r.renderPending&&r.baseOffset===r.prevBaseOffset)return;_();let X=i?.()??Fo,H=T?.()??-1;v.length=0;for(let B=L;B<=G;B++){let U=l.getItem(B);if(U)v.push(U)}if(I.start=L,I.end=G,n.render(v,I,X,H),r.prevRangeStart=L,r.prevRangeEnd=G,r.prevBaseOffset=r.baseOffset,r.renderPending=!1,!g)g=!0,x=l.getMethod?.("_layoutToDataIndex")??null;if(x){let B=x,U=-1;for(let w=L;w<=G;w++){let W=B(w);if(W>=0){U=W;break}}let N=-1;for(let w=G;w>=L;w--){let W=B(w);if(W>=0){N=W;break}}r.startIndex=U<0?L:U,r.visibleCount=U<0?0:N-U+1}else r.startIndex=L,r.visibleCount=G-L+1;let re=s.getTotalSize();if(re!==C)C=re,l.updateContentSize(re)}function m(){if(r.destroyed)return;C=-1,r.prevRangeStart=-1,r.prevRangeEnd=-1,r.renderPending=!0,E()}return{name:"table",priority:10,conflicts:["grid","masonry"],setup(b){l=b,r=b.getState(),s=b.sizeCache;let{dom:R,config:P,emitter:f}=b,{classPrefix:a}=P;if(P.axis.primary==="x")throw Error("[vlist] table: cannot be used with horizontal orientation");if(P.reverse)throw Error("[vlist] table: cannot be used with reverse mode");let D=t.resizable??!0,V=t.minColumnWidth??50,L=t.maxColumnWidth??1/0,G=t.fillWidth===!1?"none":t.fillWidth===!0?"stretch":t.fillWidth??"spacer",X=t.rowBorders??!0,H=t.rowHeight,re=t.headerHeight??(typeof H==="number"?H:40),B=t.sort?.key??null,U=t.sort?.direction??"asc";if(e=Jn(t.columns,V,L,D,G),typeof H==="function"||typeof H==="number")b.setSizeConfig(H);if(b.rebuildSizeCache(),R.root.classList.add(`${a}--table`),X)R.root.classList.add(`${a}--table-row-borders`);if(t.columnBorders)R.root.classList.add(`${a}--table-col-borders`);queueMicrotask(()=>{if(b.getMethod("_getSelectedIds"))R.root.setAttribute("tabindex","0")}),R.root.setAttribute("role","grid"),R.root.setAttribute("aria-colcount",`${t.columns.length}`),R.viewport.setAttribute("role","none"),R.content.setAttribute("role","rowgroup");let N=r.crossSize;e.resolve(N);let w=()=>{if(!e)return;R.content.style.minWidth=`${e.totalWidth}px`},W=(O,z)=>{if(!e)return;let j=e.getColumn(O);if(!j)return;let Z=j.width,A=e.resizeColumn(O,z);o?.update(e),n?.updateColumnLayout(e),w(),f.emit("column:resize",{key:j.def.key,index:O,previousWidth:Z,width:A})},p=(O)=>{B=O.direction===null?null:O.key,U=O.direction??"asc",o?.updateSort(B,U),f.emit("column:sort",O)};if(o=Qn(R.root,re,a,W,p),o.rebuild(e),B)o.updateSort(B,U);w(),n=eo(R.content,()=>s,e,t.columns,a,a,()=>r.totalItems,P.striped||void 0,void 0,()=>r.baseOffset),b.setRenderFn(E,m);let h=o,J=-1,q=()=>{let O=R.viewport.scrollLeft;if(O!==J)J=O,h?.syncScroll?.(O)};R.viewport.addEventListener("scroll",q,{passive:!0}),b.registerMethod("updateColumns",(O)=>{if(!e||!o)return;if(e.updateColumns(O),e.resolve(r.crossSize),o.rebuild(e),B)o.updateSort(B,U);w(),n?.updateColumnLayout(e),n?.clear(),b.forceRender()}),b.registerMethod("resizeColumn",(O,z)=>{if(!e)return;let j;if(typeof O==="string"){let Z=e.columns;j=-1;for(let A=0;A<Z.length;A++)if(Z[A].def.key===O){j=A;break}if(j===-1)return}else j=O;W(j,z)}),b.registerMethod("getColumnWidths",()=>{if(!e)return{};let O={},z=e.columns;for(let j=0;j<z.length;j++)O[z[j].def.key]=z[j].width;return O}),b.registerMethod("setSort",(O,z)=>{B=O,U=z??"asc",o?.updateSort(B,U)}),b.registerMethod("getSort",()=>({key:B,direction:U})),b.registerMethod("_getTableLayout",()=>e),b.registerMethod("_getTableHeaderHeight",()=>re),b.registerMethod("_updateRenderedItem",(O,z,j,Z)=>{n?.updateItem(O,z,j,Z)}),b.registerMethod("_replaceTableRenderer",(O)=>{n=O}),b.registerMethod("_updateTableForGroups",(O,z)=>{n?.setGroupHeaderFn(O,z)}),b.registerMethod("_updateItemClasses",(O,z,j)=>{n?.updateItemClasses(O,z,j)}),b.registerKeydownHandler((O)=>{if(O.key!=="ArrowLeft"&&O.key!=="ArrowRight")return;if(!e)return;let z=e.columns;if(z.length===0)return;let j=R.viewport.clientWidth;if(e.totalWidth<=j)return;let Z=R.viewport.scrollLeft;if(O.key==="ArrowRight"){for(let A=0;A<z.length;A++)if(z[A].offset>Z+1){R.viewport.scrollLeft=z[A].offset,O.preventDefault();return}}else{for(let A=z.length-1;A>=0;A--)if(z[A].offset<Z-1){R.viewport.scrollLeft=z[A].offset,O.preventDefault();return}if(Z>0)R.viewport.scrollLeft=0,O.preventDefault()}}),b.registerDestroyHandler(()=>{R.viewport.removeEventListener("scroll",q),o?.destroy(),o=null,n?.destroy(),n=null,R.content.style.minWidth="",R.root.classList.remove(`${a}--table`),R.root.classList.remove(`${a}--table-row-borders`),R.root.classList.remove(`${a}--table-col-borders`),R.root.removeAttribute("role"),R.root.removeAttribute("aria-colcount"),R.root.removeAttribute("aria-rowcount"),R.root.removeAttribute("tabindex"),R.viewport.removeAttribute("role"),R.content.removeAttribute("role")})},hooks:{onResize(b,R){if(!e||!l)return;let P=r.crossSize;if(e.resolve(P),o?.update(e),n?.updateColumnLayout(e),e)l.dom.content.style.minWidth=`${e.totalWidth}px`},onAfterScroll(){if(!l||!o)return;o?.syncScroll?.(l.dom.viewport.scrollLeft)}},destroy(){o?.destroy(),o=null,n?.destroy(),n=null,l=null}}}function Gt(t){let e=t?.handle??null,o=t?.ghostClass??"vlist-sort-ghost",n=t?.shiftDuration??150,r=t?.edgeScrollZone??40,s=t?.edgeScrollSpeed??20,l=t?.dragThreshold??5,i=t?.ghostContainer??null,T,u,c=null,C,x,g,_,v,I,E,m,b,R,P=!1,f=-1,a=-1,D=0,V=0,L=0,G=0,X=!1,H=null,re=0,B=null,U=0,N=0,w=0,W=null,p=!1,h="",J=-1,q=-1,O=[],z="",j=null,Z=null,A="",d=!1,y=(F)=>F.closest("[data-index]"),S=(F)=>{let le=F.dataset.index;return le===void 0?-1:+le},M=(F)=>{let le=F.getBoundingClientRect(),ue=F.cloneNode(!0);return ue.className=`${_}-item ${o}`,ue.removeAttribute("data-index"),ue.style.cssText=`position:fixed;pointer-events:none;z-index:10000;width:${le.width}px;height:${le.height}px;left:${le.left}px;top:${le.top}px;transition:none;will-change:transform`,(i||document.body).appendChild(ue),ue},Y=()=>{if(!H)return;H.style.left=`${L-N}px`,H.style.top=`${G-w}px`},ne=()=>{let F=T.totalItems;if(F===0)return 0;let le=x.getBoundingClientRect(),ue=T.scrollPosition,he=v?L-N-le.left+x.scrollLeft+ue:G-w-le.top+ue,Me=he+U,ze=u.getOffset(f)+u.getSize(f);if(Me>ze){let ke=u.indexAtOffset(Me),Se=u.getOffset(ke)+u.getSize(ke)/2,ee=Me>Se?ke:ke-1;return Math.min(Math.max(ee,f),F-1)}let Fe=u.getOffset(f);if(he<Fe){let ke=u.indexAtOffset(he),Se=u.getOffset(ke)+u.getSize(ke)/2,ee=he<Se?ke:ke+1;return Math.max(Math.min(ee,f),0)}return f},be=()=>{let F=C.children,le=U;for(let ue=0;ue<F.length;ue++){let he=F[ue],Me=S(he);if(Me<0||Me===f)continue;let ze=0;if(a>f){if(Me>f&&Me<=a)ze=-le}else if(a<f){if(Me>=a&&Me<f)ze=le}let Fe=u.getOffset(Me),ke=Math.round(Fe+ze);he.style.transition=E,he.style.transform=`${I}(${ke}px)`}},Q=()=>{let F=C.children;for(let le=0;le<F.length;le++){let ue=F[le],he=S(ue);if(he>=0)ue.style.transform=`${I}(${Math.round(u.getOffset(he))}px)`;ue.style.transition=""}},oe=()=>{if(!c)return;let F=ne();if(F===a)return;a=F,be(),c.emitter.emit("sort:move",{fromIndex:f,currentIndex:a})},ie=()=>{let F=x.getBoundingClientRect();if(v)return L<F.left||L>F.right;return G<F.top||G>F.bottom},ge=()=>{let F=c?.getMethod("_getFocusedIndex");return F?F():-1},pe=(F)=>{let le=c?.getMethod("_focusById");if(le)le(F)},ce=(F)=>{if(!c)return;let le=v?x.clientWidth:x.clientHeight,ue=T.scrollPosition,he=u.getOffset(F),Me=he+u.getSize(F);if(he<ue)c.scrollTo(Math.max(0,he));else if(Me>ue+le)c.scrollTo(Me-le)},k=(F)=>{if(!Z)return;Z.textContent="",Z.offsetHeight,Z.textContent=F},ae=(F)=>{if(!c)return"";let ue=c.getItems()[F];if(!ue)return"";return C.querySelector(`[data-index="${F}"]`)?.textContent?.trim()||String(ue.id)},te=()=>String(T.totalItems),ve=(F)=>{let le=C.children;for(let ue=0;ue<le.length;ue++)le[ue].style.transition=F},Ee=()=>{let F=()=>{if(!P||!c)return;let le=x.getBoundingClientRect(),ue=0,he=3;if(v){let ze=L-le.left,Fe=le.right-L;if(ze<r){let ke=Math.min(he,1-ze/r);ue=-s*ke*ke}else if(Fe<r){let ke=Math.min(he,1-Fe/r);ue=s*ke*ke}}else{let ze=G-le.top,Fe=le.bottom-G;if(ze<r){let ke=Math.min(he,1-ze/r);ue=-s*ke*ke}else if(Fe<r){let ke=Math.min(he,1-Fe/r);ue=s*ke*ke}}let Me=ie();if(ue!==0){let ze=T.scrollPosition,Fe=u.getTotalSize()-(v?x.clientWidth:x.clientHeight);if(ue<0&&ze<=0||ue>0&&ze>=Fe)d=Me;else d=!0,c.scrollTo(ze+ue)}else d=Me;re=requestAnimationFrame(F)};re=requestAnimationFrame(F)},xe=()=>{if(re)cancelAnimationFrame(re),re=0},Le=(F=!1)=>{if(P=!1,X=!1,H&&H.parentNode)H.remove();H=null,B=null;let le=C.children;for(let he=0;he<le.length;he++){let Me=le[he];Me.classList.remove(R);let ze=S(Me);if(ze>=0)Me.style.transform=`${I}(${Math.round(u.getOffset(ze))}px)`;Me.style.transition=""}xe(),g.classList.remove(m),document.body.style.cursor="";let ue=window.getSelection();if(ue)ue.removeAllRanges();if(document.removeEventListener("pointermove",Re),document.removeEventListener("pointerup",Ae),document.removeEventListener("pointercancel",se),!F&&c)c.forceRender()},Te=(F,le)=>{if(!c)return;let ue=F!==le&&F>=0&&le>=0,he=()=>{if(!c)return;if(P=!1,ue){if(g.classList.add(b),c.emitter.emit("sort:end",{fromIndex:F,toIndex:le}),W!==null)pe(W);Le(!0),requestAnimationFrame(()=>g.classList.remove(b))}else g.classList.add(b),c.emitter.emit("sort:cancel",{originalItems:[...c.getItems()]}),Le(!1),requestAnimationFrame(()=>g.classList.remove(b))};if(!H){he();return}let Me=x.getBoundingClientRect(),ze=T.scrollPosition,Fe=u.getOffset(le),ke=n>0?n:150;if(H.style.transition=`left ${ke}ms ease, top ${ke}ms ease`,v)H.style.left=`${Me.left-x.scrollLeft+Fe-ze}px`,H.style.top=`${Me.top}px`;else H.style.left=`${Me.left}px`,H.style.top=`${Me.top+Fe-ze}px`;let Se=!1,ee=()=>{if(Se)return;Se=!0,H?.removeEventListener("transitionend",ee),he()};H.addEventListener("transitionend",ee),setTimeout(ee,ke+50)},Ce=(F)=>{if(T.destroyed||!c)return;if(P)return;if(p)ye();if(F.button!==0)return;let le=F.target;if(e){if(!le.closest(e))return}let ue=y(le);if(!ue)return;let he=S(ue);if(he<0)return;D=F.clientX,V=F.clientY,L=F.clientX,G=F.clientY,f=he,X=!1,B=ue;let Me=ue.getBoundingClientRect();N=F.clientX-Me.left,w=F.clientY-Me.top,document.addEventListener("pointermove",Re),document.addEventListener("pointerup",Ae),document.addEventListener("pointercancel",se)};function Re(F){if(!c)return;if(L=F.clientX,G=F.clientY,!X){let le=L-D,ue=G-V;if(Math.sqrt(le*le+ue*ue)<l)return;if(X=!0,P=!0,a=f,g.classList.add(m),document.body.style.cursor="grabbing",U=u.getSize(f),B)H=M(B),B.classList.add(R);let he=ge();if(he>=0){let ze=c.getItems()[he];W=ze?ze.id:null}else W=null;c.emitter.emit("sort:start",{index:f}),Ee()}if(P){if(F.preventDefault(),Y(),!d)oe();else if(ie()){if(a!==f)a=f,Q()}}}function Ae(F){if(!X){document.removeEventListener("pointermove",Re),document.removeEventListener("pointerup",Ae),document.removeEventListener("pointercancel",se),B=null;return}F.preventDefault(),document.removeEventListener("pointermove",Re),document.removeEventListener("pointerup",Ae),document.removeEventListener("pointercancel",se),xe(),Te(f,a)}let K=()=>{if(!X)return;document.removeEventListener("pointermove",Re),document.removeEventListener("pointerup",Ae),document.removeEventListener("pointercancel",se),xe(),Q(),Te(f,f)};function se(){K()}let me=()=>{let F=C.querySelectorAll(`.${A}`);for(let le=0;le<F.length;le++)F[le].classList.remove(A)},de=()=>{me();let F=C.querySelector(`[data-id="${h}"]`);if(F)F.classList.add(A)},Ie=(F)=>{if(!c)return;let le=c.getItems(),ue=le[F];if(!ue)return;p=!0,h=ue.id,J=F,q=F,O=[...le],g.classList.add(m),c.emitter.emit("sort:start",{index:F}),de(),k(`Grabbed ${ae(F)}. Current position ${F+1} of ${te()}. Use Up and Down arrow keys to move, Space to drop, Escape to cancel.`)},fe=()=>{if(!p||!c)return;p=!1;let F=q,le=ae(F);ve("none"),g.classList.remove(m),me(),pe(h),c.forceRender(),k(`${le} dropped. Final position ${F+1} of ${te()}.`),O=[],requestAnimationFrame(()=>ve(""))},ye=()=>{if(!p||!c)return;p=!1;let F=J;if(ve("none"),g.classList.remove(m),me(),q!==F)c.emitter.emit("sort:cancel",{originalItems:O});pe(h),c.forceRender(),ce(F),k(`Reorder cancelled. Returned to position ${F+1} of ${te()}.`),O=[],requestAnimationFrame(()=>ve(""))},He=(F)=>{if(!p||!c)return;let le=T.totalItems,ue=q+F;if(ue<0||ue>=le)return;let he=q,Me=ue;ve("none"),c.emitter.emit("sort:end",{fromIndex:he,toIndex:Me}),q=Me,pe(h),c.forceRender(),ce(Me),de(),k(`${ae(Me)} moved. New position ${Me+1} of ${te()}.`),requestAnimationFrame(()=>ve(""))},Pe=(F)=>{if(T.destroyed)return;if(P){if(F.key==="Escape")F.preventDefault(),F.stopImmediatePropagation(),K();return}if(p)switch(F.key){case" ":case"Enter":F.preventDefault(),F.stopImmediatePropagation(),fe();return;case"Escape":F.preventDefault(),F.stopImmediatePropagation(),ye();return;case"ArrowUp":case"ArrowLeft":F.preventDefault(),F.stopImmediatePropagation(),He(-1);return;case"ArrowDown":case"ArrowRight":F.preventDefault(),F.stopImmediatePropagation(),He(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 le=ge();if(le>=0)F.preventDefault(),F.stopImmediatePropagation(),Ie(le)}};return{name:"sortable",priority:30,conflicts:["grid","masonry","table","scale","tree"],setup(F){c=F,T=F.getState(),u=F.sizeCache,C=F.dom.content,x=F.dom.viewport,g=F.dom.root,_=F.config.classPrefix,v=F.config.axis.primary==="x",I=v?"translateX":"translateY",E=n>0?`transform ${n}ms ease`:"none",m=`${_}--sorting`,b=`${_}--settling`,R=`${_}-item--drag-source`,A=`${_}-item--kb-sorting`,F.registerMethod("isSorting",()=>P||p),C.addEventListener("pointerdown",Ce),g.addEventListener("keydown",Pe),z=`${_}-sort-instructions`,j=document.createElement("div"),j.id=z,j.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",j.textContent="Press Space to reorder. Use arrow keys to move, Space to drop, Escape to cancel.",g.appendChild(j),Z=document.createElement("div"),Z.setAttribute("role","status"),Z.setAttribute("aria-live","assertive"),Z.setAttribute("aria-atomic","true"),Z.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",g.appendChild(Z),F.registerDestroyHandler(()=>{if(p)ye();Le(),C.removeEventListener("pointerdown",Ce),g.removeEventListener("keydown",Pe),j?.remove(),Z?.remove()})},hooks:{onCommit(){if(!c)return;let F=C.children;for(let le=0;le<F.length;le++){let ue=F[le],he=S(ue);if(he<0)continue;if(ue.setAttribute("aria-roledescription","sortable item"),ue.setAttribute("aria-describedby",z),p)if(ue.getAttribute("data-id")===String(h))ue.classList.add(A);else ue.classList.remove(A);if(P)if(he===f)ue.classList.add(R),B=ue;else{ue.classList.remove(R);let Me=0;if(a>f){if(he>f&&he<=a)Me=-U}else if(a<f){if(he>=a&&he<f)Me=U}let ze=Math.round(u.getOffset(he)+Me);ue.style.transform=`${I}(${ze}px)`}}}},destroy(){if(H&&H.parentNode)H.remove();H=null,xe(),j?.remove(),Z?.remove(),c=null}}}function Bt(t,e){let o=[],n=e,r=new Map,s=[];function l(){r.clear();for(let f=0;f<o.length;f++)r.set(o[f].id,f)}function i(f){let a=o[f].depth,D=0;for(let V=f+1;V<o.length;V++){if(o[V].depth<=a)break;D++}return D}function T(f,a,D,V){for(let L=0;L<f.length;L++){let G=f[L],X=G.id,H=t(G),re=H.length>0,B=re&&n.has(X);if(V.push({item:G,id:X,depth:D,parentId:a,hasChildren:re,expanded:B,childCount:H.length,siblingCount:f.length,positionInSiblings:L,isLastChild:L===f.length-1,loading:!1}),B)T(H,X,D+1,V)}}function u(f,a,D){for(let V of f){if(V.id===a)return V;let L=t(V);if(L.length>0){D?.push(V.id);let G=u(L,a,D);if(G)return G;D?.pop()}}return}function c(f,a){if(a===null)return s;let D=u(s,a);return D?t(D):[]}function C(f,a){let D=u(s,a);if(!D)return!1;return u(t(D),f)!==void 0}function x(f){let a=new Set;function D(V){for(let L of V){if(a.has(L.id))throw Error(`[vlist] tree: duplicate id "${L.id}"`);a.add(L.id);let G=t(L);if(G.length>0)D(G)}}D(f)}function g(f,a){if(s=f,!a)x(f);o.length=0,T(f,null,0,o),l()}function _(f){let a=r.get(f);if(a===void 0)return 0;let D=o[a];if(!D.hasChildren||D.expanded)return 0;let V=[],L=t(D.item);if(T(L,f,D.depth+1,V),V.length===0)return 0;D.expanded=!0,n.add(f);let G=a+1,X=o.splice(G);for(let H=0;H<V.length;H++)o.push(V[H]);for(let H=0;H<X.length;H++)o.push(X[H]);return l(),V.length}function v(f){let a=r.get(f);if(a===void 0)return 0;let D=o[a];if(!D.hasChildren||!D.expanded)return 0;D.expanded=!1,n.delete(f);let V=i(a);if(V>0)o.splice(a+1,V),l();return V}function I(f){function a(D){for(let V of D){let L=t(V);if(L.length>0)n.add(V.id),a(L)}}a(f),g(f)}function E(){n.clear(),g(s,!0)}function m(f){let a=[];if(!u(s,f,a))return;for(let D of a)n.add(D);g(s,!0)}function b(f,a,D){if(r.has(a.id)||u(s,a.id))throw Error(`[vlist] tree: duplicate id "${a.id}"`);if(f===null){let H=s,re=D??H.length;H.splice(re,0,a),g(s,!0);return}let V=r.get(f);if(V===void 0)throw Error(`[vlist] tree: parent "${f}" not found`);let L=o[V],G=t(L.item),X=D??G.length;if(G.splice(X,0,a),!L.hasChildren)L.hasChildren=!0,L.childCount=1,L.expanded=!1;else L.childCount=G.length;if(L.expanded)g(s,!0);else l()}function R(f){let a=r.get(f);if(a===void 0)return 0;let D=o[a],L=i(a)+1;for(let H=a;H<a+L;H++)n.delete(o[H].id);if(o.splice(a,L),D.parentId!==null){let H=r.get(D.parentId);if(H!==void 0){let re=o[H];if(re.childCount--,re.childCount===0)re.hasChildren=!1,re.expanded=!1,n.delete(re.id)}}let G=c(f,D.parentId),X=G.findIndex((H)=>H.id===f);if(X>=0)G.splice(X,1);return g(s,!0),L}function P(f,a,D){if(a!==null&&C(a,f))throw Error(`[vlist] tree: cannot move "${f}" to its own descendant "${a}"`);if(f===a)throw Error(`[vlist] tree: cannot move "${f}" to itself`);let V=r.get(f);if(V===void 0)return;let L=o[V],G=c(f,L.parentId),X=G.findIndex((H)=>H.id===f);if(X>=0)G.splice(X,1);if(a===null){let H=s,re=D??H.length;H.splice(re,0,L.item)}else{let H=u(s,a);if(!H)throw Error(`[vlist] tree: new parent "${a}" not found`);let re=t(H),B=D??re.length;re.splice(B,0,L.item)}g(s,!0)}return{flatNodes:o,expandedIds:n,idToIndex:r,rebuild:g,expand:_,collapse:v,expandAll:I,collapseAll:E,expandTo:m,getSubtreeSize:i,addChild:b,removeNode:R,moveNode:P,get totalVisible(){return o.length},get rootItems(){return s}}}var Do=()=>[];function Vo(t){let{children:e,parentId:o}=t;if(o!==void 0)return Do;if(e===void 0||e==="children")return(n)=>n.children??[];if(typeof e==="string"){let n=e;return(r)=>r[n]??[]}return e}function $o(t){let{label:e}=t;if(e===void 0)return(o)=>{let n=o;return String(n.name??n.label??n.title??o.id)};if(typeof e==="string"){let o=e;return(n)=>String(n[o]??n.id)}return e}function Oo(t,e,o){let{expanded:n}=t,r=new Set;if(n===void 0||n===!1)return r;if(Array.isArray(n)){for(let i of n)r.add(i);return r}let s=n===!0?null:n;function l(i){for(let T of i){let u=o(T);if(u.length>0){if(!s||s(T))r.add(T.id);l(u)}}}return l(e),r}function to(t,e){let{parentId:o}=e;if(o===void 0)throw Error("[vlist] tree: parentId not set");let n=typeof o==="string"?(i)=>i[o]??null:o,r=(i)=>n(i)??null,s=new Map,l=new Map;for(let i of t){l.set(i.id,i);let T=r(i),u=s.get(T);if(!u)u=[],s.set(T,u);u.push(i)}for(let i of t){let T=r(i);if(T!==null&&T!==void 0&&!l.has(T))console.warn(`[vlist] tree: orphaned node "${i.id}" — parentId "${T}" not found`)}return{roots:s.get(null)??[],getChildren:(i)=>{let T=s.get(i.id);if(!T)T=[],s.set(i.id,T);return T}}}var We={selected:!1,focused:!1},je={depth:0,expanded:!1,hasChildren:!1,isLeaf:!0,isLastChild:!1,loading:!1};We.tree=je;function Wt(t){let e=t??{},o=e.indent??24,n=e.paddingStart??0,r=e.expandOnClick??!1,s=e.connectorLines??!1,l=e.parentId!==void 0,i,T,u,c,C,x,g,_,v,I,E=null,m,b,R=null,P,f,a,D,V,L,G,X,H=new Map,re=-1,B=-1,U=-1,N=!0,w=null,W=!1,p,h=-1,J=!1,q=!1,O="",z=null;function j(){if(q){let K=m("_getFocusedIndex");return K?K():-1}return J?h:-1}let Z,A,d;function y(){if(A!==void 0)return;Z=m("select")??null,A=m("_focusById")??null,d=m("_isFollowFocus")??null}function S(K){if(K<0||K>=i.totalVisible)return;let se=i.flatNodes[K];if(!se)return;if(q){if(y(),A)A(se.id);if(d?.()&&Z)Z(se.id);else ne();M(K)}else h=K,J=!0,C.setAttribute("aria-activedescendant",`${v}-item-${K}`),M(K),ne()}function M(K){let se=T.getOffset(K),me=T.getSize(K),de=u.scrollPosition,Ie=u.containerSize;if(se<de)Y(se);else if(se+me>de+Ie)Y(se-Ie+me)}let Y,ne,be;function Q(K){return _?`translate(${Math.round(K)}px, 0)`:`translate(0, ${Math.round(K)}px)`}function oe(K){if(K===U)return;if(U=K,R)R(K);else C.style[_?"width":"height"]=K+"px"}function ie(){H.forEach((K)=>{K.remove(),c.release(K)}),H.clear()}let ge=0;function pe(){let K=be();if(K===w&&K.length===ge)return;if(w=K,ge=K.length,l){let{roots:se,getChildren:me}=to(K,e),de=e.loadChildren?(Ie)=>ae.get(Ie.id)??me(Ie):me;i=Bt(de,i.expandedIds),i.rebuild(se,!0)}else i.rebuild(K,!0);ce(),ie()}function ce(){u.totalItems=i.totalVisible,p(i.totalVisible);let K=T.getTotalSize();oe(K);let se=m("_scrollbar:getInstance");if(se)se()?.updateBounds(K,u.containerSize)}function k(){ce(),ie(),ne()}let ae=new Map,te=new Set;async function ve(K){if(!e.loadChildren||te.has(K))return;let se=i.idToIndex.get(K);if(se===void 0)return;let me=i.flatNodes[se];te.add(K),me.loading=!0,queueMicrotask(()=>ne());try{let de=await e.loadChildren(me.item);te.delete(K);let Ie=i.idToIndex.get(K);if(Ie===void 0)return;let fe=i.flatNodes[Ie];if(fe.loading=!1,ae.set(K,de),fe.hasChildren=de.length>0,fe.childCount=de.length,de.length>0)fe.expanded=!0,i.expandedIds.add(K),i.rebuild(i.rootItems);k(),b.emit("tree:load",{id:K,item:fe.item,children:de})}catch(de){te.delete(K),ae.set(K,[]);let Ie=i.idToIndex.get(K);if(Ie!==void 0)i.flatNodes[Ie].loading=!1;ne(),b.emit("tree:load:error",{id:K,item:me.item,error:de})}}function Ee(K){let se=i.idToIndex.get(K);if(se===void 0)return;let me=i.flatNodes[se];if(e.loadChildren&&!me.hasChildren&&!me.loading){if(!ae.has(K)){ve(K);return}}if(i.expand(K)===0)return;k(),b.emit("tree:expand",{id:K,item:me.item,depth:me.depth})}function xe(K){let se=i.idToIndex.get(K);if(se===void 0)return;let me=i.flatNodes[se],de=i.collapse(K);if(de===0)return;if(!q&&h>se){if(h<=se+de)h=se;else h-=de;if(J)C.setAttribute("aria-activedescendant",`${v}-item-${h}`)}k(),b.emit("tree:collapse",{id:K,item:me.item,depth:me.depth})}function Le(K,se,me,de){let{depth:Ie,expanded:fe,hasChildren:ye,loading:He,siblingCount:Pe,positionInSiblings:F,isLastChild:le,id:ue}=se;if(K.className=f,fe)K.classList.add(a);if(!ye)K.classList.add(D);if(He)K.classList.add(V);if(s&&le)K.classList.add(L);if(K.setAttribute("role","treeitem"),K.setAttribute("data-index",String(me)),K.setAttribute("data-id",String(ue)),K.id=`${v}-item-${me}`,K.setAttribute("aria-level",String(Ie+1)),K.setAttribute("aria-setsize",String(Pe)),K.setAttribute("aria-posinset",String(F+1)),ye)K.setAttribute("aria-expanded",String(fe));else K.removeAttribute("aria-expanded");if(K.style.paddingLeft=`${n+Ie*o}px`,K.style.setProperty("--vlist-tree-depth",String(Ie)),s)K.style.setProperty("--vlist-tree-indent",`${o}px`),K.style.setProperty("--vlist-tree-pad",`${n}px`);if(de)de(me,We);else We.selected=!1,We.focused=!1;je.depth=Ie,je.expanded=fe,je.hasChildren=ye,je.isLeaf=!ye,je.isLastChild=le,je.loading=He;let he=g(se.item,me,We);if(typeof he==="string")K.innerHTML=he;else K.innerHTML="",K.appendChild(he);Be(K)}function Te(){if(u.destroyed)return;if(pe(),!W){if(W=!0,C.setAttribute("role","tree"),C.setAttribute("tabindex","0"),x.classList.add(`${v}--tree`),s)x.classList.add(`${v}--tree-lines`)}let K=u.scrollPosition,se=u.containerSize;if(!N&&K===re&&se===B)return;re=K,B=se,N=!1;let me=i.totalVisible;if(se<=0||me===0){if(H.size>0)ie();return}let de=T.indexAtOffset(K),Ie=T.indexAtOffset(K+se);if(Ie<me-1)Ie++;de=Math.max(0,de),Ie=Math.min(me-1,Math.max(0,Ie));let fe=Math.max(0,de-I),ye=Math.min(me-1,Ie+I);if(fe===u.prevRangeStart&&ye===u.prevRangeEnd&&!u.renderPending&&u.baseOffset===u.prevBaseOffset)return;H.forEach((le,ue)=>{if(ue<fe||ue>ye)le.remove(),c.release(le),H.delete(ue)});let He=E?.()??null,Pe=null;for(let le=fe;le<=ye;le++){let ue=i.flatNodes[le],he=H.get(le);if(he===void 0){if(he=c.acquire(),Le(he,ue,le,He),he.style[_?"width":"height"]=`${T.getSize(le)}px`,H.set(le,he),!Pe)Pe=document.createDocumentFragment();Pe.appendChild(he)}else if(he.getAttribute("data-id")!==String(ue.id)||he.classList.contains(V)!==ue.loading)Le(he,ue,le,He);if(he.style.transform=Q(T.getOffset(le)-u.baseOffset),He)if(He(le,We),he.classList.toggle(G,We.selected),he.classList.toggle(X,We.focused),We.selected)he.setAttribute("aria-selected","true");else he.removeAttribute("aria-selected");else if(!q){let Me=J&&h===le;he.classList.toggle(X,Me)}}if(Pe)C.appendChild(Pe);oe(T.getTotalSize()),u.prevRangeStart=fe,u.prevRangeEnd=ye,u.prevBaseOffset=u.baseOffset,u.renderPending=!1;let F=0;for(let le=fe;le<=ye&&F<u.capacity;le++)u.visibleIndices[F]=le,u.visibleOffsets[F]=T.getOffset(le),u.visibleSizes[F]=T.getSize(le),F++;u.visibleCount=F,u.startIndex=fe}function Ce(){if(u.destroyed)return;u.prevRangeStart=-1,u.prevRangeEnd=-1,u.renderPending=!0,N=!0,Te()}function Re(K,se){if(O+=K.toLowerCase(),z!==null)clearTimeout(z);z=setTimeout(()=>{O="",z=null},500);let me=i.totalVisible;for(let de=1;de<=me;de++){let Ie=(se+de)%me,fe=i.flatNodes[Ie];if(P(fe.item).toLowerCase().startsWith(O)){S(Ie);return}}}function Ae(K){let se=!1;for(let me of i.flatNodes)if(me.parentId===K.parentId&&me.hasChildren&&!me.expanded)i.expandedIds.add(me.id),se=!0;if(!se)return;i.rebuild(i.rootItems,!0),k()}return{name:"tree",priority:10,conflicts:["groups","grid","masonry","table"],setup(K){T=K.sizeCache,u=K.getState(),c=K.pool,C=K.dom.content,R=K.updateContentSize.bind(K),x=K.dom.root,g=K.template,_=K.config.axis.primary==="x",v=K.config.classPrefix,I=K.config.overscan,b=K.emitter,E=K.getItemStateFn.bind(K),m=K.getMethod.bind(K),Y=K.scrollTo.bind(K),ne=K.forceRender.bind(K),be=K.getItems.bind(K),f=`${v}-item ${v}-tree-node`,a=`${v}-tree-node--expanded`,D=`${v}-tree-node--leaf`,V=`${v}-tree-node--loading`,L=`${v}-tree-node--last`,G=`${v}-item--selected`,X=`${v}-item--focused`;let se=K.getItems();w=se,ge=se.length;let me,de;if(l){let F=to(se,e);me=F.getChildren,de=F.roots}else me=Vo(e),de=se;let Ie=e.loadChildren?(F)=>ae.get(F.id)??me(F):me;P=$o(e);let fe=Oo(e,de,Ie);i=Bt(Ie,fe),i.rebuild(de),p=T.rebuild,T.rebuild=(F)=>{p(i.totalVisible)},T.rebuild(i.totalVisible),u.totalItems=i.totalVisible,K.setVirtualTotalFn(()=>i.totalVisible),K.setGetItemFn((F)=>{let le=i.flatNodes[F];return le?le.item:void 0}),K.setGetIndexByIdFn((F)=>i.idToIndex.get(F)??-1),K.setRenderFn(Te,Ce),K.registerMethod("_layoutToDataIndex",(F)=>F),K.registerMethod("_dataToLayoutIndex",(F)=>F),K.registerMethod("_getLoadedItem",(F)=>{let le=i.flatNodes[F];return le?le.item:void 0}),K.registerMethod("_getRenderedElement",(F)=>H.get(F)??null),queueMicrotask(()=>{q=!!(m("_getFocusedIndex")||K.getItemStateFn())}),K.setInsertItemFn((F,le)=>{let ue=be(),he=Math.min(le,ue.length);ue.splice(he,0,F),ge=ue.length,i.rebuild(ue),k()}),K.setRemoveItemFn((F)=>{let le=i.idToIndex.get(F),ue=null;if(l&&le!==void 0){ue=new Set,ue.add(F);let Me=i.getSubtreeSize(le);for(let ze=le+1;ze<=le+Me;ze++)ue.add(i.flatNodes[ze].id)}let he=i.removeNode(F);if(he===0)return-1;if(!q&&le!==void 0&&h>=le)h=Math.max(0,Math.min(h-he,i.totalVisible-1));if(l&&ue){let Me=be();for(let ze=Me.length-1;ze>=0;ze--)if(ue.has(Me[ze].id))Me.splice(ze,1)}return ge=be().length,k(),b.emit("data:change",{type:"remove",id:F}),he}),K.setUpdateItemFn((F,le)=>{let ue=i.idToIndex.get(F);if(ue===void 0)return!1;let he=i.flatNodes[ue];Object.assign(he.item,le);let Me=H.get(ue);if(Me)Le(Me,he,ue,E?.()??null);return b.emit("data:change",{type:"update",id:F}),!0}),K.registerClickHandler((F)=>{let le=F.target.closest("[data-index]");if(!le)return;let ue=parseInt(le.dataset.index??"-1",10);if(ue<0)return;let he=i.flatNodes[ue];if(!he)return;let Me=he.id,ze=!1;if(r&&(he.hasChildren||e.loadChildren&&!he.loading&&!ae.has(Me))){let Fe=i.totalVisible;if(he.expanded)xe(Me);else Ee(Me);ze=i.totalVisible!==Fe}if(q&&ze){if(y(),A)A(Me);if(Z)Z(Me)}else if(!q)h=i.idToIndex.get(Me)??ue,J=!1,C.focus({preventScroll:!0})});let ye=()=>{if(u.destroyed||q)return;if(!C.matches(":focus-visible")&&!x.matches(":focus-visible"))return;let F=i.totalVisible;if(F===0)return;h=h>=0?Math.min(h,F-1):0,J=!0,C.setAttribute("aria-activedescendant",`${v}-item-${h}`),M(h),Ce()};x.addEventListener("focusin",ye);let He=(F)=>{if(u.destroyed||q)return;let le=F.relatedTarget;if(le&&x.contains(le))return;J=!1,C.removeAttribute("aria-activedescendant"),Ce()};x.addEventListener("focusout",He),K.registerKeydownHandler((F)=>{if(u.destroyed)return;let le=i.totalVisible;if(le===0)return;let ue=j();if(ue<0&&!q&&(F.key==="ArrowDown"||F.key==="Home")){S(0),F.preventDefault();return}if(ue<0)return;let he=i.flatNodes[ue];if(!he)return;switch(F.key){case"ArrowRight":{if(he.hasChildren||e.loadChildren&&!he.loading)if(!he.expanded)Ee(he.id);else S(ue+1);F.preventDefault();break}case"ArrowLeft":{if(he.hasChildren&&he.expanded)xe(he.id);else if(he.parentId!==null){let Me=i.idToIndex.get(he.parentId);if(Me!==void 0)S(Me)}F.preventDefault();break}case"*":{Ae(he),F.preventDefault();break}default:{if(!q){if(F.key==="ArrowDown"){if(ue<le-1)S(ue+1);F.preventDefault();break}if(F.key==="ArrowUp"){if(ue>0)S(ue-1);F.preventDefault();break}if(F.key==="Home"){S(0),F.preventDefault();break}if(F.key==="End"){S(le-1),F.preventDefault();break}if(F.key==="Enter"){b.emit("item:click",{item:he.item,index:ue,event:F}),F.preventDefault();break}}if(F.key.length===1&&!F.ctrlKey&&!F.altKey&&!F.metaKey)Re(F.key,ue),F.preventDefault()}}}),K.registerMethod("expand",Ee),K.registerMethod("collapse",xe),K.registerMethod("toggle",(F)=>{let le=i.idToIndex.get(F);if(le===void 0)return;if(i.flatNodes[le].expanded)xe(F);else Ee(F)}),K.registerMethod("expandAll",()=>{i.expandAll(i.rootItems),k()}),K.registerMethod("collapseAll",()=>{i.collapseAll(),k()}),K.registerMethod("expandTo",(F)=>{i.expandTo(F),k();let le=i.idToIndex.get(F);if(le!==void 0)M(le)}),K.registerMethod("getExpanded",()=>Array.from(i.expandedIds)),K.registerMethod("isExpanded",(F)=>i.expandedIds.has(F));let Pe=l&&typeof e.parentId==="string"?e.parentId:null;K.registerMethod("addChild",(F,le,ue)=>{if(Pe)le[Pe]=F;if(l){let he=be();he.push(le),ge=he.length}i.addChild(F,le,ue),k(),b.emit("data:change",{type:"add",id:le.id})}),K.registerMethod("moveNode",(F,le,ue)=>{if(Pe){let he=i.idToIndex.get(F);if(he!==void 0)i.flatNodes[he].item[Pe]=le}i.moveNode(F,le,ue),k()}),K.registerMethod("getTreeLayout",()=>({totalVisible:i.totalVisible,flatNodes:i.flatNodes})),K.registerDestroyHandler(()=>{if(x.removeEventListener("focusin",ye),x.removeEventListener("focusout",He),ie(),x.classList.remove(`${v}--tree`),x.classList.remove(`${v}--tree-lines`),z!==null)clearTimeout(z)})},destroy(){if(H.clear(),z!==null)clearTimeout(z)}}}var no=(t)=>{if(typeof t==="function")return t;if(typeof t==="string")return(e)=>{let o=e[t];return o==null?"":String(o)};return(e)=>{if(e==null)return"";let o="";for(let n in e){let r=e[n];if(typeof r==="string")o+=o?" "+r:r}return o}},Kt=(t,e,o)=>{if(!e)return!1;return(o?t:t.toLowerCase()).includes(e)},No=(t,e)=>{let o=t.querySelectorAll(`mark.${e}`);for(let n=o.length-1;n>=0;n--){let r=o[n],s=r.parentNode;if(!s)continue;let l=document.createTextNode(r.textContent??"");s.replaceChild(l,r),s.normalize()}},Ut=(t,e,o,n)=>{if(!e)return;No(t,n);let r=o?e:e.toLowerCase(),s=e.length,l=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,{acceptNode(u){let c=u.nodeValue??"";return(o?c:c.toLowerCase()).includes(r)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),i=[],T;while((T=l.nextNode())!==null)i.push(T);for(let u of i){let c=u.nodeValue??"",C=o?c:c.toLowerCase(),x=document.createDocumentFragment(),g=0,_=C.indexOf(r,0);while(_!==-1){if(_>g)x.appendChild(document.createTextNode(c.slice(g,_)));let v=document.createElement("mark");v.className=n,v.textContent=c.slice(_,_+s),x.appendChild(v),g=_+s,_=C.indexOf(r,g)}if(g<c.length)x.appendChild(document.createTextNode(c.slice(g)));u.parentNode?.replaceChild(x,u)}};var Yt=(t,e,o,n)=>{let r=document.createElement("button");return r.type="button",r.className=t,r.tabIndex=n,r.setAttribute("aria-label",e),r.innerHTML=o,r},oo=(t,e,o,n,r,s,l)=>{let i=`${o}-search`,T=document.createElement("div");if(T.className=`${i} ${i}--bar ${i}--${n}`,T.setAttribute("role","search"),T.setAttribute("aria-disabled","false"),r.region)T.setAttribute("aria-label",r.region);let u=document.createElement("div");u.className=`${i}__container`;let c=document.createElement("span");c.className=`${i}__leading-icon`,c.setAttribute("aria-hidden","true"),c.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M0 0h24v24H0z" fill="none"></path><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path></svg>';let C=document.createElement("div");C.className=`${i}__input-wrapper`;let x=document.createElement("input");if(x.type="text",x.className=`${i}__input`,x.placeholder=r.placeholder,x.spellcheck=!1,x.autocomplete="off",x.setAttribute("aria-label",r.placeholder),s)x.setAttribute("aria-controls",s);C.appendChild(x);let g=document.createElement("span");g.className=`${i}__counter`,g.setAttribute("aria-live","polite");let _=Yt(`${i}__nav-prev`,r.previous,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M7.41 15.41 12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path></svg>',-1),v=Yt(`${i}__nav-next`,r.next,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z"></path></svg>',-1),I=Yt(`${i}__clear-button ${i}__clear-button--hidden`,r.clear,'<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" aria-hidden="true"><path d="M0 0h24v24H0z" fill="none"></path><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg>',-1);if(u.append(c,C,g,_,v,I),T.appendChild(u),n==="top"&&e)t.insertBefore(T,e);else if(n==="top")t.insertBefore(T,t.firstChild);else t.appendChild(T);let E=()=>{I.classList.toggle(`${i}__clear-button--hidden`,x.value.length===0)},m=()=>{E(),l.onInput(x.value)},b=(D)=>l.onKeydown(D),R=()=>x.focus(),P=()=>{l.onClear(),x.focus()},f=()=>l.onPrev(),a=()=>l.onNext();return x.addEventListener("input",m),x.addEventListener("keydown",b),c.addEventListener("click",R),I.addEventListener("click",P),_.addEventListener("click",f),v.addEventListener("click",a),{root:T,input:x,setCounter(D){g.textContent=D},showNav(D){_.classList.toggle(`${i}__nav-prev--hidden`,!D),v.classList.toggle(`${i}__nav-next--hidden`,!D)},focus(){x.focus(),x.select()},setValue(D){x.value=D,E()},destroy(){x.removeEventListener("input",m),x.removeEventListener("keydown",b),c.removeEventListener("click",R),I.removeEventListener("click",P),_.removeEventListener("click",f),v.removeEventListener("click",a),T.remove()}}};var Xt={placeholder:"Search…",clear:"Clear search",previous:"Previous match",next:"Next match",noResults:"No results",results:(t)=>`${t} result${t===1?"":"s"}`,position:(t,e)=>`${t} of ${e}`,region:""};function qt(t={}){let e=t.mode??"filter",o=t.position??"top",n={...Xt,...t.text},r=t.caseSensitive??!1,s=t.highlight!==!1,l=typeof t.highlight==="object"&&t.highlight!==null?t.highlight.within:void 0,i=t.minLength??1,T=t.cancelTimeout??0,u=t.variant??"default",c=no(t.field),C,x,g,_,v,I=null,E=!1,m="",b=[],R=new Set,P=0,f=!1,a=null,D=!1,V=null,L=null,G=null,X=()=>{if(D)return;D=!0,V=C.getMethod("scrollToIndex")??null,L=C.getMethod("filterTree")??null,G=C.getMethod("clearTreeFilter")??null},H=()=>{if(b=[],R.clear(),m.length<i)return;let d=r?m:m.toLowerCase(),y=C.getItems();for(let S=0;S<y.length;S++){let M=y[S];if(M!==void 0&&Kt(c(M),d,r))b.push(S),R.add(S)}},re=()=>{if(X(),L){let S=r?m:m.toLowerCase();L((M)=>Kt(c(M),S,r)),f=!0;return}let d=C.getItems(),y=b;C.setGetItemFn((S)=>d[y[S]]),C.setVirtualTotalFn(()=>y.length),x.totalItems=y.length,C.rebuildSizeCache(),C.updateContentSize(C.sizeCache.getTotalSize()),f=!0},B=()=>{if(!f)return;if(f=!1,G){G();return}C.setGetItemFn((d)=>C.getItems()[d]),C.setVirtualTotalFn(()=>C.getItems().length),x.totalItems=C.getItems().length,C.rebuildSizeCache(),C.updateContentSize(C.sizeCache.getTotalSize())},U=()=>{X();let d=b[P];if(d===void 0)return;if(V)V(d,"center");else C.scrollTo(Math.max(0,C.sizeCache.getOffset(d)-C.getState().containerSize/2));let y=C.getItem(d);C.emitter.emit("search:match",{index:d,item:y,matchIndex:P,matches:b.length})},N=()=>{if(!I)return;if(m.length<i)I.setCounter("");else if(b.length===0)I.setCounter(n.noResults);else if(e==="navigate")I.setCounter(n.position(P+1,b.length));else I.setCounter(n.results(b.length))},w=()=>{let d=E&&m.length>=i;C.dom.root.classList.toggle(`${g}--searching`,d)},W=(d)=>{if(m=d,I?.setValue(m),H(),P=0,e==="filter")if(m.length>=i)re();else B();if(w(),N(),C.forceRender(),e==="navigate"&&b.length>0)U();C.emitter.emit("search:change",{query:m,matches:b.length,total:C.getItems().length}),O()},p=()=>{if(!E)E=!0,C.dom.root.classList.add(`${g}--search-open`),C.emitter.emit("search:open",void 0);I?.focus(),O()},h=()=>{q();let d=E||m.length>0;if(E=!1,m.length>0)W("");if(C.dom.root.classList.remove(`${g}--search-open`),w(),d)C.emitter.emit("search:close",void 0)},J=(d)=>{if(b.length===0)return;if(P=(P+d+b.length)%b.length,N(),e==="navigate")U(),C.forceRender()},q=()=>{if(a!==null)clearTimeout(a),a=null},O=()=>{if(q(),T>0&&E)a=setTimeout(()=>{a=null,h()},T)},z=(d)=>{if(!s||m.length<i)return;let y=d.startIndex,S=y+Math.max(0,d.visibleCount-1),M=e==="navigate"?b[P]:-1;for(let Y=y;Y<=S;Y++){let ne=C.getRenderedElement(Y);if(!ne)continue;if(l){let be=ne.querySelectorAll(l);for(let Q=0;Q<be.length;Q++)Ut(be[Q],m,r,_)}else Ut(ne,m,r,_);if(e==="navigate"){let be=Y===M,Q=ne.querySelectorAll(`.${_}`);for(let oe=0;oe<Q.length;oe++)Q[oe].classList.toggle(v,be)}}},j=(d)=>d.key.length===1&&!d.ctrlKey&&!d.metaKey&&!d.altKey,Z=(d)=>{if((d.ctrlKey||d.metaKey)&&(d.key==="f"||d.key==="F")){d.preventDefault(),p();return}if(!E){if(o==="none"&&j(d))d.preventDefault(),p(),W(m+d.key);return}switch(d.key){case"Escape":d.preventDefault(),h();break;case"Enter":d.preventDefault(),J(d.shiftKey?-1:1);break;case"ArrowDown":d.preventDefault(),J(1);break;case"ArrowUp":d.preventDefault(),J(-1);break;default:if(o==="none"){if(d.key==="Backspace"){if(d.preventDefault(),W(m.slice(0,-1)),m.length===0)h()}else if(j(d))d.preventDefault(),W(m+d.key)}}},A=(d)=>{if(d.key==="Escape"||d.key==="Enter"||d.key==="ArrowDown"||d.key==="ArrowUp")Z(d)};return{name:"search",priority:55,setup(d){if(C=d,x=C.getState(),g=C.config.classPrefix,_=`${g}-search-match`,v=`${g}-search-match--current`,o!=="none"){let S=C.dom.root.id||void 0;if(I=oo(C.dom.root,C.dom.viewport,g,o,{placeholder:n.placeholder,clear:n.clear,previous:n.previous,next:n.next,region:n.region},S,{onInput:(M)=>W(M),onClear:()=>W(""),onPrev:()=>J(-1),onNext:()=>J(1),onKeydown:A}),I.showNav(e==="navigate"),u!=="default")I.root.classList.add(`${g}-search--${u}`);C.dom.root.classList.add(`${g}--has-search`)}let y=C.getItemStateFn();C.setItemStateFn((S,M)=>{if(y)y(S,M);if(m.length<i){delete M.search;return}if(e==="filter")M.search={matched:!0,query:m,matchIndex:S,isCurrent:!1};else{let Y=b.indexOf(S);M.search={matched:R.has(S),query:m,matchIndex:Y,isCurrent:Y!==-1&&Y===P}}}),C.registerMethod("openSearch",p),C.registerMethod("closeSearch",h),C.registerMethod("setQuery",(S)=>{if(!E)p();W(S)}),C.registerMethod("getQuery",()=>m),C.registerMethod("nextMatch",()=>J(1)),C.registerMethod("prevMatch",()=>J(-1)),C.registerMethod("getMatches",()=>b.slice()),C.registerKeydownHandler(Z),C.registerDestroyHandler(()=>{q(),B(),I?.destroy(),I=null,C.dom.root.classList.remove(`${g}--search-open`,`${g}--searching`,`${g}--has-search`)})},hooks:{onCommit(d){z(d)}}}}function jt(t){let{slots:e,focalSlot:o,containerSize:n,gap:r=0}=t,s=e.length,l=Math.max(0,s-1)*r,i=n-l,T=e.map((I)=>Math.round(I*i)),u=i-T.reduce((I,E)=>I+E,0);if(o<T.length)T[o]+=u;let c=(T[o]??0)+r,C=(I)=>I>=r?r:Math.max(0,I);function x(I,E,m){let b=I-E,R=o+b,P=R-1,f=g(R),a=g(P);return f+m*(a-f)}function g(I){if(I<0||I>=s)return 0;return T[I]??0}function _(I,E,m,b){let R=I-E,P=x(I,E,m),f=b;if(R>0)for(let H=0;H<R;H++){let re=x(E+H,E,m);f+=re+C(re)}else if(R<0)for(let H=-1;H>=R;H--){let re=x(E+H,E,m);f-=re+C(re)}let a=o+R,D=a-1,V;if(a===o)V=m;else if(D===o)V=1-m;else V=1;let L=T[o]??0,G=L>0?P/L:0,X=G>0.6?"large":G>0.3?"medium":"small";return{size:P,offset:f,progress:V,relOffset:R,role:X}}function v(I,E){if(o===0)return 0;let m=0;for(let b=-1;b>=-o;b--){let R=x(I+b,I,E);m+=R+C(R)}return m}return{slotWidths:T,stepSize:c,focalSlot:o,getItemLayout:_,getItemSize:x,getAnchorOffset:v}}var Zt=new Map;function Xe(t,e){Zt.set(t,e)}function Jt(t){return Zt.get(t)}function st(t,e,o){let n=Zt.get(t);return n?n(e,o):null}function bt(t){return t!==null&&"slots"in t}var ht=()=>({slots:[1],focalSlot:0}),vt=(t,e)=>({slots:[(t-e)/t,e/t],focalSlot:0}),yt=(t,e)=>({slots:[e/t,(t-2*e)/t,e/t],focalSlot:1}),St=()=>({slots:[0.4,0.3,0.2,0.09999999999999998],focalSlot:0}),Tt=(t)=>{let e=Math.max(2,Math.floor(t/(t*0.33))),o=1/e;return{slots:Array.from({length:e},()=>o),focalSlot:0,textFade:"size"}};Xe("full",ht);Xe("hero",vt);Xe("hero-center",yt);Xe("multi",St);Xe("uncontained",Tt);var Qt=101,It=50,Go=10;function Bo(t){if(typeof t==="function")return{variant:"custom",resolveSlots:t};if(typeof t==="object"){let e=t;return{variant:"custom",resolveSlots:()=>e}}return{variant:t,resolveSlots:(e,o)=>st(t,e,o)}}function en(t){let e=t?.variant??"full",{variant:o,resolveSlots:n}=Bo(e),r=o==="full"||(t?.snap??o!=="free"),s=t?.snapDirection??!0,l=t?.snapDuration??400,i=t?.snapEasing,T=t?.initialIndex??0,u=t?.peek??"auto",c,C,x=null,g,_=T,v=0,I=0,E=0,m=0,b=0,R=!1,P="vlist",f=-1,a=0,D=[],V=[],L=!1,G="role",X=t?.gap??0;function H(A){if(v<=0)return 0;return(A%v+v)%v}function re(A,d,y){if(v<=1)return 0;let S=((d-A)%v+v)%v,M=v-S;if(y==="forward")return S;if(y==="backward")return-M;return S<=M?S:-M}function B(A){return It*v+A}function U(A){if(v<=0)return 0;return(A%v+v)%v}function N(A){D=A;let d=A.length;V=Array(d+1),V[0]=0;for(let y=0;y<d;y++)V[y+1]=V[y]+A[y];m=d>0?V[d]:0}function w(A){if(v<=0||m<=0)return{vi:0,frac:0};let d=Math.floor(A/m),y=A-d*m;if(y<0)y=0;if(!L){let Q=D[0],oe=Math.min(Math.floor(y/Q),v-1);return{vi:d*v+oe,frac:Q>0?y/Q-oe:0}}let S=0,M=v-1;while(S<M){let Q=S+M+1>>1;if(V[Q]<=y)S=Q;else M=Q-1}let Y=V[S],ne=D[S],be=ne>0?Math.max(0,Math.min((y-Y)/ne,1)):0;return{vi:d*v+S,frac:be}}function W(A){if(typeof u==="number")return u;if(typeof u==="string"&&u.endsWith("%"))return Math.round(A*parseFloat(u)/100);return Math.max(40,Math.min(Math.round(A*0.15),120))}function p(A){if(v<=0||m<=0)return 0;let d=Math.floor(A/v),y=(A%v+v)%v;return d*m+(V[y]??0)}function h(A){let{vi:d,frac:y}=w(A);return y>=0.5?d+1:d}function J(){if(f>=0)return f;return h(c.scrollPosition)}function q(A,d){x?.smoothScrollTo(A,d,i)}let O=null;function z(){if(!x)return;let A=x.getItems().length;if(A===v)return;let d=_;if(v=A,L){let y=x.rawSizeSpec,S=typeof y==="function"?(M)=>y(M)+X:()=>y+X;N(Array.from({length:v},(M,Y)=>S(Y)))}else N(Array.from({length:v},()=>D[0]??I));if(b=v*Qt,c.totalItems=b,v>1){let y=d<v?d:0;_=y,x.scrollTo(p(It*v+y))}}function j(){if(!x||v<=0)return;if(!O&&!L&&v<=1)return;let d=x.dom.content.children,y=c.scrollPosition,S=c.baseOffset,M=Math.round(y-S),Y=g?"width":"height",{vi:ne,frac:be}=w(y),Q=ne-(ne%v+v)%v,oe=O?O.slotWidths[O.focalSlot]??0:0;if(O){let ie=y+O.getAnchorOffset(ne,be);for(let ge=0;ge<d.length;ge++){let pe=d[ge],ce=pe.dataset.index;if(ce===void 0)continue;let k=parseInt(ce,10),ae=Q+k;if(ae-ne>v/2)ae-=v;if(ne-ae>v/2)ae+=v;let te=O.getItemLayout(ae,ne,be,ie),ve=Math.max(0,Math.round(te.size)),Ee=Math.round(te.offset-S);if(ve<=0)pe.style.display="none",pe.classList.remove(`${P}-item--focused`,`${P}-item--selected`),pe.removeAttribute("aria-selected");else pe.style.display="",pe.style[Y]=ve+"px",pe.style.transform=g?`translateX(${Ee}px)`:`translateY(${Ee}px)`;let xe;if(G==="size"){let Le=O.slotWidths[O.focalSlot]??1;xe=Math.min(1,Math.max(0,ve/Le))}else if(G==="viewport"){let Le=Ee-M,Te=Math.max(0,Le),Ce=Math.min(c.containerSize,Le+ve),Re=ve>0?Math.max(0,(Ce-Te)/ve):0;xe=Math.min(1,Re)}else xe=te.role==="large"?1-te.progress:0;pe.style.setProperty("--vlist-carousel-progress",te.progress.toFixed(3)),pe.style.setProperty("--vlist-carousel-offset",String(te.relOffset)),pe.style.setProperty("--vlist-carousel-role",te.role),pe.style.setProperty("--vlist-carousel-role-weight",xe.toFixed(3)),pe.style.setProperty("--vlist-carousel-width",ve+"px"),pe.style.setProperty("--vlist-carousel-focal-width",oe+"px")}}else for(let ie=0;ie<d.length;ie++){let ge=d[ie],pe=ge.dataset.index;if(pe===void 0)continue;let ce=parseInt(pe,10),k=Q+ce;if(k-ne>v/2)k-=v;if(ne-k>v/2)k+=v;let ae=U(k),te=Math.max(0,Math.round((D[ae]??0)-X)),ve=p(k),Ee=Math.round(ve-S);if(te<=0)ge.style.display="none";else ge.style.display="",ge.style[Y]=te+"px",ge.style.transform=g?`translateX(${Ee}px)`:`translateY(${Ee}px)`;let xe=k-ne,Le=Math.min(1,Math.abs(xe)+(xe===0?be:0)),Te;if(G==="viewport"||G==="size"){let Ce=Ee-M,Re=Math.max(0,Ce),Ae=Math.min(c.containerSize,Ce+te),K=te>0?Math.max(0,(Ae-Re)/te):0;Te=Math.min(1,K)}else Te=1-Le;ge.style.setProperty("--vlist-carousel-progress",Le.toFixed(3)),ge.style.setProperty("--vlist-carousel-offset",String(xe)),ge.style.setProperty("--vlist-carousel-role","large"),ge.style.setProperty("--vlist-carousel-role-weight",Te.toFixed(3)),ge.style.setProperty("--vlist-carousel-width",te+"px")}}function Z(A,d,y){if(!x)return;if(_=A,v<=1)return;let S=J(),M=U(S),Y=((A-M)%v+v)%v,ne=v-Y,be=Y<=ne?Y:-ne,Q=S+be;f=Q;let oe=p(Q);if(d)q(oe,y);else x.scrollTo(oe),j()}return{name:"carousel",priority:10,conflicts:["scale"],setup(A){c=A.getState(),C=A.sizeCache,x=A,g=A.config.axis.primary==="x",P=A.config.classPrefix,v=c.totalItems;let d=v>0?C.getSize(0):0,y=c.containerSize;E=y;let S=W(y),M=n(y,S);if(bt(M))G=M.textFade??"role",O=jt({slots:M.slots,focalSlot:M.focalSlot,containerSize:y,gap:X}),I=O.stepSize,N(Array.from({length:Math.max(1,v)},()=>I)),L=!1;else if(typeof A.rawSizeSpec==="function"){G=M?.textFade??"viewport";let Q=A.rawSizeSpec;N(Array.from({length:v},(oe,ie)=>Q(ie)+X)),I=D[0]??d,L=!0}else G=M?.textFade??"viewport",I=d,N(Array.from({length:Math.max(1,v)},()=>I)),L=!1;if(b=v*Qt,_=H(T),v>1)A.setGetItemFn((Q)=>{let oe=U(Q);return A.getItems()[oe]}),C.getTotalSize=()=>m*Qt,C.getOffset=(Q)=>p(Q),C.getSize=(Q)=>{let oe=U(Q);return D[oe]??D[0]??0},C.indexAtOffset=(Q)=>{if(m<=0)return 0;let oe=Math.floor(Q/m),ie=Q-oe*m;if(!L){let ce=D[0]??1;return Math.max(0,Math.min(oe*v+Math.floor(ie/ce),b-1))}let ge=0,pe=v-1;while(ge<pe){let ce=ge+pe+1>>1;if(V[ce]<=ie)ge=ce;else pe=ce-1}return Math.max(0,Math.min(oe*v+ge,b-1))},C.getTotal=()=>b,c.totalItems=b,A.setVirtualTotalFn(()=>v),A.setIndexMapFn(U),A.registerMethod("_layoutToDataIndex",U),A.setBoundedWrap({lapSize:()=>m,home:()=>It*m,thresholdLaps:It-Go}),R=!0;if(A.registerMethod("next",(Q,oe)=>{if(v<=1)return;let ie=Q??1,ge=_,pe=oe?.behavior!=="auto",ce=oe?.duration??l;x.cancelScroll();let ae=J()+ie;f=ae,_=U(ae);let te=p(ae);if(pe)q(te,ce);else x.scrollTo(te),j();if(_!==ge)x.emitter.emit("carousel:change",{index:_,scrollPosition:c.scrollPosition})}),A.registerMethod("prev",(Q,oe)=>{if(v<=1)return;let ie=Q??1,ge=_,pe=oe?.behavior!=="auto",ce=oe?.duration??l;x.cancelScroll();let ae=J()-ie;f=ae,_=U(ae);let te=p(ae);if(pe)q(te,ce);else x.scrollTo(te),j();if(_!==ge)x.emitter.emit("carousel:change",{index:_,scrollPosition:c.scrollPosition})}),A.registerMethod("goTo",(Q,oe)=>{if(v<=0)return;let ie=H(Q),ge=oe?.direction??"auto",pe=oe?.behavior==="smooth",ce=oe?.duration??l;if(v<=1){_=ie;return}if(x.cancelScroll(),ge==="forward"||ge==="backward"){let k=re(_,ie,ge==="forward"?"forward":"backward");_=ie;let te=J()+k;f=te;let ve=p(te);if(pe)q(ve,ce);else x.scrollTo(ve),j()}else Z(ie,pe,ce)}),A.registerMethod("getCarouselState",()=>{let Q=c.scrollPosition,oe=v>0&&m>0?(Q%m+m)%m:0;return{index:_,progress:0,offset:0,scrollPosition:oe,role:"large"}}),A.setScrollToIndexFn((Q,oe,ie,ge,pe)=>{if(v<=1)return!1;let ce=H(Q);Z(ce,ie==="smooth",ge??l)}),A.setNavConfig({total:()=>v,navigate:(Q,oe,ie)=>{let ge=Q;if(oe==="ArrowRight"||oe==="ArrowDown")ge=(Q+1)%ie;else if(oe==="ArrowLeft"||oe==="ArrowUp")ge=(Q-1+ie)%ie;else if(oe==="Home")ge=0;else if(oe==="End")ge=ie-1;if(ge!==Q)Z(ge,!1,0),x?.forceRender(),j();return ge}}),!A.dom.content.getAttribute("tabindex"))A.dom.content.setAttribute("tabindex","0");let Y=A.getMethod("next"),ne=A.getMethod("prev"),be=A.getMethod("goTo");A.registerKeydownHandler((Q)=>{let oe=Q.key;if(oe==="ArrowRight"||oe==="ArrowDown")Q.preventDefault(),Y(1,{behavior:"smooth",duration:l});else if(oe==="ArrowLeft"||oe==="ArrowUp")Q.preventDefault(),ne(1,{behavior:"smooth",duration:l});else if(oe==="Home")Q.preventDefault(),be(0,{behavior:"smooth",duration:l});else if(oe==="End")Q.preventDefault(),be(v-1,{behavior:"smooth",duration:l})}),A.registerDestroyHandler(()=>{x?.cancelScroll()})},destroy(){x?.cancelScroll(),x=null},hooks:{onResize(){if(!x)return;let A=c.containerSize;if(Math.abs(A-E)<1)return;E=A;let d=n(A,W(A));if(!bt(d))return;O=jt({slots:d.slots,focalSlot:d.focalSlot,containerSize:A,gap:X}),G=d.textFade??"role",I=O.stepSize,N(Array.from({length:Math.max(1,v)},()=>I)),L=!1,f=B(_),a=0,x.updateContentSize(C.getTotalSize()),x.scrollTo(p(f)),x.forceRender(),j(),f=-1},onCommit(){if(!R||!x)return;R=!1;let A=p(B(_));x.scrollTo(A),x.forceRender(),j()},onAfterScroll(A){if(R||!x)return;if(z(),v<=1)return;if(c.scrollDirection!==0)a=c.scrollDirection;if(f<0){let d=c.scrollPosition,y=h(d),S=U(y);if(S!==_)_=S,x.emitter.emit("carousel:change",{index:_,scrollPosition:d})}j()},onIdle(){let A=a;if(f=-1,a=0,!r||!x||v<=1)return;let d=c.scrollPosition,{vi:y,frac:S}=w(d),M;if(s&&A!==0&&S>0.02&&S<0.98)M=A>0?y+1:y;else M=S>=0.5?y+1:y;let Y=p(M);if(Math.abs(d-Y)>1)_=U(M),q(Y,l)}}}}var Wo=50,Ko=0.1;function ro(t){let e=0,o=0,n=0;function r(){return n>0?o/n:0}function s(T){if(e=T,T>Ko&&T<Wo)o+=T,n++}function l(){let T=t.getTotal();if(T===0)return 0;let u=t.getItemSize();if(u<=0)return 0;let c=t.getContainerSize();if(c<=0)return 0;let C=t.getScrollPosition(),x=typeof t.getColumns==="function"?t.getColumns():1,_=Math.ceil(T/x)*u,I=Math.min(_,Qe)-c,E=_-c,m=I>0?E/I:1,b=C*m,R=Math.ceil((b+c)/u);return Math.min(R*x,T)}function i(){let T=t.getTotal(),u=l();return{progress:T>0?Math.min(100,Math.max(0,u/T*100)):0,velocity:e,velocityAvg:r(),itemCount:u,total:T}}return{getState:i,onVelocity:s}}async function so(t,e,o){let n=o?.key,r=t?.getScrollSnapshot,s=typeof r==="function"?r():void 0,l=rt(s?n?{restore:s,autoSave:n}:{restore:s}:n?{autoSave:n}:void 0),i=e(l),T=i.element;if(T.style.position="absolute",T.style.inset="0",T.style.visibility="hidden",o?.ready)await o.ready(i);else await new Promise((g)=>requestAnimationFrame(()=>g()));if(o?.delay&&o.delay>0)await new Promise((g)=>setTimeout(g,o.delay));let u=o?.transition,c=typeof u==="number"?u:u?.fadeIn??0,C=typeof u==="number"?u:u?.fadeOut??0,x=typeof u==="object"?u?.fadeOutDelay??0:0;if(t&&(c>0||C>0)){let g=t.element;T.style.visibility="",T.style.opacity="0",T.offsetHeight,T.style.transition=`opacity ${c}ms ease`,g.style.transition=`opacity ${C}ms ease ${x}ms`,T.style.opacity="1",g.style.opacity="0",await new Promise((_)=>setTimeout(_,Math.max(c,C+x)+50)),T.style.transition="",T.style.opacity="",g.style.transition="",g.style.opacity=""}else T.style.visibility="";if(T.style.position="",T.style.inset="",t)t.destroy();return i}export{At as a11y,_t as autosize,en as carousel,ro as createStats,Fn as createVList,Dt as data,ht as full,Jt as getPreset,zt as grid,Ot as groups,vt as hero,yt as heroCenter,Ft as masonry,St as multi,Ht as page,so as rebuild,Xe as registerPreset,st as resolvePreset,wt as scrollbar,qt as search,Rt as selection,rt as snapshots,Gt as sortable,Nt as table,kt as transition,Wt as tree,Tt as uncontained};
package/dist/size.json CHANGED
@@ -1 +1 @@
1
- {"base":{"minified":"27.8","gzipped":"9.9","minBytes":28421,"gzBytes":10106},"synthetic":{"minified":"35.0","gzipped":"12.5","minBytes":35888,"gzBytes":12764},"a11y":{"minified":"31.0","gzipped":"11.1","minBytes":31753,"gzBytes":11336},"selection":{"minified":"37.1","gzipped":"12.7","minBytes":38030,"gzBytes":12989},"data":{"minified":"41.4","gzipped":"14.7","minBytes":42378,"gzBytes":15034},"scrollbar":{"minified":"34.8","gzipped":"11.9","minBytes":35686,"gzBytes":12164},"sortable":{"minified":"37.2","gzipped":"12.9","minBytes":38099,"gzBytes":13194},"groups":{"minified":"43.7","gzipped":"15.2","minBytes":44759,"gzBytes":15564},"page":{"minified":"30.2","gzipped":"10.6","minBytes":30907,"gzBytes":10881},"snapshots":{"minified":"31.0","gzipped":"11.0","minBytes":31775,"gzBytes":11288},"transition":{"minified":"34.4","gzipped":"11.8","minBytes":35208,"gzBytes":12123},"autosize":{"minified":"30.8","gzipped":"10.9","minBytes":31529,"gzBytes":11174},"grid":{"minified":"34.8","gzipped":"12.3","minBytes":35665,"gzBytes":12628},"table":{"minified":"46.1","gzipped":"15.7","minBytes":47219,"gzBytes":16074},"masonry":{"minified":"39.0","gzipped":"14.0","minBytes":39947,"gzBytes":14298},"tree":{"minified":"43.0","gzipped":"14.9","minBytes":44065,"gzBytes":15269},"search":{"minified":"36.9","gzipped":"13.0","minBytes":37743,"gzBytes":13361},"carousel":{"minified":"37.2","gzipped":"13.3","minBytes":38126,"gzBytes":13644}}
1
+ {"base":{"minified":"27.8","gzipped":"9.9","minBytes":28421,"gzBytes":10106},"synthetic":{"minified":"35.0","gzipped":"12.5","minBytes":35888,"gzBytes":12764},"a11y":{"minified":"31.0","gzipped":"11.1","minBytes":31753,"gzBytes":11336},"selection":{"minified":"37.1","gzipped":"12.7","minBytes":38030,"gzBytes":12989},"data":{"minified":"41.4","gzipped":"14.7","minBytes":42378,"gzBytes":15034},"scrollbar":{"minified":"34.8","gzipped":"11.9","minBytes":35686,"gzBytes":12164},"sortable":{"minified":"37.2","gzipped":"12.9","minBytes":38099,"gzBytes":13194},"groups":{"minified":"43.7","gzipped":"15.2","minBytes":44759,"gzBytes":15564},"page":{"minified":"30.2","gzipped":"10.6","minBytes":30907,"gzBytes":10881},"snapshots":{"minified":"31.0","gzipped":"11.0","minBytes":31775,"gzBytes":11288},"transition":{"minified":"34.4","gzipped":"11.8","minBytes":35208,"gzBytes":12123},"autosize":{"minified":"30.8","gzipped":"10.9","minBytes":31529,"gzBytes":11174},"grid":{"minified":"34.8","gzipped":"12.3","minBytes":35665,"gzBytes":12628},"table":{"minified":"46.1","gzipped":"15.7","minBytes":47219,"gzBytes":16074},"masonry":{"minified":"39.0","gzipped":"14.0","minBytes":39947,"gzBytes":14298},"tree":{"minified":"43.0","gzipped":"14.9","minBytes":44065,"gzBytes":15269},"search":{"minified":"36.9","gzipped":"13.0","minBytes":37743,"gzBytes":13361},"carousel":{"minified":"37.6","gzipped":"13.4","minBytes":38503,"gzBytes":13746}}
package/dist/types.d.ts CHANGED
@@ -300,13 +300,10 @@ export interface ScrollConfig {
300
300
  * controls its own native-scrollbar hiding independently.
301
301
  */
302
302
  scrollbar?:
303
- /** @deprecated In 3.0, native scrollbar visibility belongs to `vlist/native`.
304
- * Synthetic core has no native main-axis scrollbar; use `scrollbar()` instead.
305
- * See https://vlist.io/docs/rfcs/RFC-014-Scroll-Input-Model */
303
+ /** Browser scrollbar. Stays available on the native default in 3.0; the
304
+ * `vlist/synthetic` entry has no browser scrollbar and uses `scrollbar()`. */
306
305
  "native"
307
- /** @deprecated In 3.0, native scrollbar hiding belongs to `vlist/native`.
308
- * Synthetic core needs no option to hide a native main-axis scrollbar.
309
- * See https://vlist.io/docs/rfcs/RFC-014-Scroll-Input-Model */
306
+ /** Hide the browser scrollbar. Stays available on the native default in 3.0. */
310
307
  | "none" | ScrollbarOptions;
311
308
  /** External scroll element for window scrolling */
312
309
  element?: Window;
@@ -319,9 +316,10 @@ export interface ScrollConfig {
319
316
  * logical origin near the edges, supporting unbounded item counts without
320
317
  * compressing the scroll space.
321
318
  *
322
- * @deprecated In 3.0 synthetic input is the only model in core, native scrolling
323
- * moves to `vlist/native`, and bounded is removed. Bounded remains supported in 2.x.
324
- * See https://vlist.io/docs/rfcs/RFC-014-Scroll-Input-Model
319
+ * @deprecated Removed in 3.0. Native scrolling stays the default of `vlist`; for
320
+ * lists beyond the browser's element size limit, import `createVList` from
321
+ * `vlist/synthetic` instead of using bounded mode. Bounded remains supported in 2.x.
322
+ * See https://vlist.io/docs/migration-v3
325
323
  */
326
324
  mode?: "native" | "bounded";
327
325
  /**
@@ -332,8 +330,8 @@ export interface ScrollConfig {
332
330
  * bigger content element. Clamped up to a minimum of 1.5 so native scroll and
333
331
  * touch momentum always have some room.
334
332
  *
335
- * @deprecated Removed with bounded scrolling in 3.0; synthetic core needs no runway.
336
- * See https://vlist.io/docs/rfcs/RFC-014-Scroll-Input-Model
333
+ * @deprecated Removed with bounded mode in 3.0.
334
+ * See https://vlist.io/docs/migration-v3
337
335
  */
338
336
  runway?: number;
339
337
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vlist",
3
- "version": "2.8.0",
3
+ "version": "2.8.1",
4
4
  "description": "Lightweight, high-performance virtual list with zero dependencies",
5
5
  "author": {
6
6
  "name": "Floor IO",