vlist 2.7.0 → 2.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- var 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,n,o,r]=t;return e===0&&n===0&&o===0&&r===0?ut:{top:e,right:n,bottom:o,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(n,o,r=lt){if(o<=0||n<=0)return;let s=Math.ceil(n/o)+r*2;if(s<=e.capacity)return;let l=s+8,i=new Int32Array(l),v=new Float64Array(l),c=new Float64Array(l);i.set(e.visibleIndices),v.set(e.visibleOffsets),c.set(e.visibleSizes),e.visibleIndices=i,e.visibleOffsets=v,e.visibleSizes=c,e.capacity=l},clear(){e.visibleCount=0,e.startIndex=0}};return e}var uo=(t,e)=>{let n=e;return{getOffset:(o)=>o*t,getSize:(o)=>t,indexAtOffset:(o)=>{if(n===0||t===0)return 0;return Math.max(0,Math.min(Math.floor(o/t),n-1))},getTotalSize:()=>n*t,getTotal:()=>n,rebuild:(o)=>{n=o},isVariable:()=>!1}},co=(t,e)=>{let n=e,o=new Float64Array(0),r=(l)=>{n=l,o=new Float64Array(l+1),o[0]=0;for(let i=0;i<l;i++)o[i+1]=o[i]+t(i)};r(e);let s=(l)=>{if(n===0)return 0;if(l<=0)return 0;if(l>=o[n])return n-1;let i=0,v=n-1;while(i<v){let c=i+v+1>>>1;if(o[c]<=l)i=c;else v=c-1}return i};return{getOffset:(l)=>{if(l<=0)return 0;if(l>=n)return o[n];return o[l]},getSize:(l)=>t(l),indexAtOffset:(l)=>s(l),getTotalSize:()=>o[n]??0,getTotal:()=>n,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=[],n=`${t}-item`,o=document.createElement("div");return o.className=n,{acquire(){if(e.length>0)return e.pop();return o.cloneNode(!1)},release(r){if(r.className=n,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 n=0;n<e.length;n++)e[n].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,n,o){let r=n?`${e} ${e}--horizontal`:e,s=n?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",l=n?"position:relative;height:100%;overflow-anchor:none":"position:relative;width:100%;overflow-anchor:none",i=' role="list"';if(o)i+=` aria-label="${o.replace(/"/g,"&quot;")}"`;if(n)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,c=v.firstElementChild,u=c.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:c,content:u,liveRegion:E}}function xn(t){let{state:e,viewport:n,isX:o,wheelEnabled:r,onFrame:s,onIdle:l}=t,i=t.idleTimeout||Ke,v=t.scrollTarget??n,c=null,u=null;function E(){let y=o?n.scrollLeft:n.scrollTop;if(Math.abs(y-e.scrollPosition)<0.5)return;e.prevScrollPosition=e.scrollPosition,e.scrollPosition=y,e.scrollDirection=y>e.prevScrollPosition?1:y<e.prevScrollPosition?-1:0,s(),p()}function T(y){let C;if(o){if(Math.abs(y.deltaX)>Math.abs(y.deltaY))return;let f=n.scrollLeft,b=n.scrollWidth-n.clientWidth;if(C=Math.max(0,Math.min(f+y.deltaY*et,b)),Math.abs(C-f)<1)return;y.preventDefault(),n.scrollLeft=C}else{let f=n.scrollWidth>n.clientWidth;if(f&&Math.abs(y.deltaX)>Math.abs(y.deltaY))return;if(f&&y.deltaX!==0)y.preventDefault(),n.scrollLeft+=y.deltaX;let b=n.scrollTop,R=n.scrollHeight-n.clientHeight;if(C=Math.max(0,Math.min(b+y.deltaY*et,R)),Math.abs(C-b)<1)return;y.preventDefault(),n.scrollTop=C}e.prevScrollPosition=e.scrollPosition,e.scrollPosition=C,e.scrollDirection=C>e.prevScrollPosition?1:-1,s(),p()}function p(){if(c!==null)clearTimeout(c);c=setTimeout(()=>{c=null,e.scrollDirection=0,l()},i)}function k(){if(u!==null)cancelAnimationFrame(u),u=null}function h(y,C,f,b=dt,R){k();let M=e.scrollPosition,g=typeof y==="function"?y:()=>y,a=g();if(Math.abs(a-M)<1){if(f)f(a);else if(o)n.scrollLeft=a;else n.scrollTop=a;R?.();return}let F=performance.now();function D(L){a=g();let B=L-F,X=Math.min(B/C,1),_=M+(a-M)*b(X);if(f)f(_);else if(o)n.scrollLeft=_;else n.scrollTop=_;if(!f)e.scrollPosition=_;if(s(),X<1)u=requestAnimationFrame(D);else u=null,p(),R?.()}u=requestAnimationFrame(D)}return{attach(){if(v.addEventListener("scroll",E,{passive:!0}),r)v.addEventListener("wheel",T,{passive:!1})},detach(){if(v.removeEventListener("scroll",E),r)v.removeEventListener("wheel",T);if(k(),c!==null)clearTimeout(c),c=null},cancelScroll:k,smoothScrollTo:h}}function Ze(t,e,n){if(t<e)return e;if(t>n)return n;return t}function Ln(t){let{state:e,viewport:n,content:o,isX:r,wheelEnabled:s,onFrame:l,onIdle:i,mainAxisPadding:v}=t,c=t.idleTimeout||Ke,u=t.runwayFactor??un,E=t.wrap??null,T=E!==null,p=t.scrollTarget??n,k=0,h=0,y=0,C=null,f=null;function b(){return r?n.scrollLeft:n.scrollTop}function R(V){if(r)n.scrollLeft=V;else n.scrollTop=V}function M(V){let q=T?V:Ze(V,0,h);e.prevScrollPosition=e.scrollPosition,e.scrollPosition=q,e.scrollDirection=q>e.prevScrollPosition?1:q<e.prevScrollPosition?-1:0;let G=k/2;if(T){e.baseOffset=q-G,R(G);return}let w=Ze(q-G,0,y);e.baseOffset=w,R(Ze(q-w,0,k))}function g(V){M(V),l(),B()}function a(){let V=b(),q=e.baseOffset+V;if(Math.abs(q-e.scrollPosition)<0.5)return;if(e.prevScrollPosition=e.scrollPosition,e.scrollPosition=q,e.scrollDirection=q>e.prevScrollPosition?1:q<e.prevScrollPosition?-1:0,F(V),T)D();l(),B()}function F(V){let q=k*mn,G=k*fn,w=k/2;if(T){if(V>=q&&V<=G)return;e.baseOffset=e.scrollPosition-w,R(w);return}if(y<=0)return;let N=e.baseOffset,m=V<q&&N>0,x=V>G&&N<y;if(!m&&!x)return;let Z=e.scrollPosition,J=Ze(Z-w,0,y);if(J===N)return;e.baseOffset=J,R(Ze(Z-J,0,k))}function D(){let V=E.lapSize();if(V<=0)return;let q=e.scrollPosition-E.home(),G=Math.trunc(q/V);if(Math.abs(G)<E.thresholdLaps)return;let w=G*V;e.scrollPosition-=w,e.prevScrollPosition-=w,e.baseOffset-=w}function L(V){let q;if(r)if(Math.abs(V.deltaX)>Math.abs(V.deltaY)){if(!T)return;q=V.deltaX}else q=V.deltaY;else{let m=n.scrollWidth>n.clientWidth;if(m&&Math.abs(V.deltaX)>Math.abs(V.deltaY))return;if(m&&V.deltaX!==0)V.preventDefault(),n.scrollLeft+=V.deltaX;q=V.deltaY}let G=e.scrollPosition,w=G+q*et,N=T?w:Ze(w,0,h);if(Math.abs(N-G)<1)return;if(V.preventDefault(),g(N),T)D()}function B(){if(C!==null)clearTimeout(C);C=setTimeout(()=>{C=null,e.scrollDirection=0,i()},c)}function X(){if(f!==null)cancelAnimationFrame(f),f=null}function _(V,q,G,w=dt,N){X();let m=e.scrollPosition,x=typeof V==="function"?V:()=>V,Z=x();if(Math.abs(Z-m)<1){g(Z),N?.();return}let J=performance.now();function O(P){Z=x();let j=Math.min((P-J)/q,1);if(M(m+(Z-m)*w(j)),l(),j<1)f=requestAnimationFrame(O);else f=null,B(),N?.()}f=requestAnimationFrame(O)}function se(V){let q=e.containerSize,G=V+v,w=q*u,N=T?w:Math.min(G,w);k=Math.max(0,N-q),h=Math.max(0,G-q),y=Math.max(0,G-N),e.totalSize=V,o.style[r?"width":"height"]=N+"px",M(e.scrollPosition)}return{attach(){if(p.addEventListener("scroll",a,{passive:!0}),s)p.addEventListener("wheel",L,{passive:!1})},detach(){if(p.removeEventListener("scroll",a),s)p.removeEventListener("wheel",L);if(X(),C!==null)clearTimeout(C),C=null},cancelScroll:X,smoothScrollTo:_,setLogical:g,getLogical(){return e.scrollPosition},getMaxLogical(){return h},refresh:se}}function mo(t,e){if(t.getTotal()<=0)return{index:0,offsetPx:0};let o=e<=0?0:e,r=t.indexAtOffset(o),s=o-t.getOffset(r);return{index:r,offsetPx:s>0?s:0}}function fo(t,e){let n=go(t,e);return t.getOffset(n.index)+n.offsetPx}function go(t,e){let n=t.getTotal();if(n<=0)return{index:0,offsetPx:0};let{index:o,offsetPx:r}=e;if(o<0)return{index:0,offsetPx:0};if(o>n-1)o=n-1;while(r>0&&o<n-1){let s=t.getSize(o);if(r<s)break;r-=s,o++}while(r<0&&o>0)o--,r+=t.getSize(o);if(r<0)r=0;return{index:o,offsetPx:r}}function Cn(t){let{sizeCache:e,getPixel:n,setPixel:o,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,n())},setLogical(i){o(l(fo(e,i)))},getPixelEquivalent(){return n()},setPixelEquivalent(i){o(l(i))},getMaxPixelEquivalent:s,scrollByPx(i){o(l(n()+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=[],n=[],o=[],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)n.push(i.onCommit);if(i.onAfterScroll!==void 0)o.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:n,afterScroll:o,idle:r,resize:s}}function Mn(t,e){for(let n=0;n<t.length;n++)t[n](e)}function Pn(t,e){for(let n=0;n<t.length;n++)t[n](e)}function Ct(t,e,n){for(let o=0;o<t.length;o++)t[o](e,n)}function wn(t){for(let e=0;e<t.length;e++)t[e]()}function An(t,e,n){for(let o=0;o<t.length;o++)t[o](e,n)}function zn(t,e,n,o,r,s,l,i){let v=o!==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:n,gap:l,hasCrossPad:v,crossStartProp:v?e?"top":"left":"",crossEndProp:v?e?"bottom":"right":"",crossStartVal:v?o+"px":"",crossEndVal:v?r+"px":"",oddClass:s,emitter:i??null,indexMap:null,ariaTotalFn:null}}function bo(t,e,n,o,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 c=e.indexAtOffset(v>0?Math.max(0,s-v):s),u=e.indexAtOffset(s+l);if(u<i-1)u++;c=Math.max(0,c),u=Math.min(i-1,Math.max(0,u));let E=Math.max(0,c-n),T=Math.min(i-1,u+n),p=Math.ceil(l/1)+n*2+10,k=T-E+1,h=Math.min(k,t.capacity,p);if(E===t.prevRangeStart&&T===t.prevRangeEnd&&!t.renderPending&&t.baseOffset===t.prevBaseOffset)return!1;t.visibleCount=h,t.startIndex=E;for(let y=0;y<h;y++){let C=E+y;t.visibleIndices[y]=C,t.visibleOffsets[y]=e.getOffset(C),t.visibleSizes[y]=e.getSize(C)}return Mn(o.calculate,t),t.prevRangeStart=E,t.prevRangeEnd=T,t.prevBaseOffset=t.baseOffset,t.renderPending=!1,!0}var Ve={selected:!1,focused:!1};function ho(t,e,n){for(let o=0;o<e;o++)if(t[o]===n)return!0;return!1}function vo(t,e){if(e<=1)return!0;let n=t[0];for(let o=1;o<e;o++){let r=t[o];if(r!==n+1)return!1;n=r}return!0}function yo(t,e,n,o,r,s,l,i,v,c){let u=v?null:r(),{visibleCount:E,visibleIndices:T}=t,p=l.ariaTotalFn?l.ariaTotalFn():t.totalItems,k=l.interactive?String(p):"",h=l.interactive&&p!==t.prevAriaTotal,y=null,C=l.indexMap;for(let f=0;f<E;f++){let b=T[f],R=C?C(b):b,M=t.visibleOffsets[f],g=t.visibleSizes[f],a=v?v(b):u[b];if(c)c(R,Ve);else Ve.selected=!1,Ve.focused=!1;let F=s.get(b),D=F;if(F===void 0){let L=e.acquire();if(a!==void 0){let _;try{_=o(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(L);continue}if(typeof _==="string")L.innerHTML=_;else L.textContent="",L.appendChild(_);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",k);if(a!==void 0){let _=String(a.id);if(L.setAttribute("data-id",_),_.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(c){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 B=M-t.baseOffset+l.startPadding;L.style.transform=l.translateProp+B+"px)",L._lastOffset=B;let X=g-l.gap;if(L.style[l.sizeProp]=X+"px",L._lastSize=X,L._lastItem=a,s.set(b,L),y===null)y=document.createDocumentFragment();y.appendChild(L)}else{if(h)F.setAttribute("aria-setsize",k);if(a!==void 0&&D._lastItem!==a){let X=F.getAttribute("data-id"),_=String(a.id),se;try{se=o(a,R,Ve)}catch(V){if(l.emitter)l.emitter.emit("error",{error:V instanceof Error?V:Error(String(V)),context:`template:render:${R}`});continue}if(typeof se==="string")F.innerHTML=se;else F.textContent="",F.appendChild(se);if(Be(F),F.setAttribute("data-id",_),D._lastItem=a,X!==_){let V=X!==null&&X.startsWith($e),q=_.startsWith($e);if(V!==q)F.classList.toggle(l.placeholderClass,q);if(V&&!q)F.classList.add(l.replacedClass),setTimeout(()=>{F.classList.remove(l.replacedClass)},300)}}if(c){if(D._lastSelected!==Ve.selected){if(F.classList.toggle(l.selectedClass,Ve.selected),Ve.selected)F.setAttribute("aria-selected","true");else F.removeAttribute("aria-selected");D._lastSelected=Ve.selected}if(D._lastFocused!==Ve.focused)F.classList.toggle(l.focusedClass,Ve.focused),D._lastFocused=Ve.focused}let L=M-t.baseOffset+l.startPadding;if(D._lastOffset!==L)F.style.transform=l.translateProp+L+"px)",D._lastOffset=L;let B=g-l.gap;if(D._lastSize!==B)F.style[l.sizeProp]=B+"px",D._lastSize=B}}if(y!==null)n.appendChild(y);if(E>0&&vo(T,E)){let f=T[0],b=T[E-1];for(let[R,M]of s)if(R<f||R>b)M.remove(),e.release(M),s.delete(R)}else for(let[f,b]of s)if(!ho(T,E,f))b.remove(),e.release(b),s.delete(f);if(l.interactive)t.prevAriaTotal=t.totalItems;Pn(i.commit,t)}function Et(t,e,n,o,r,s,l,i,v,c,u,E){if(bo(t,e,n,c,v.startPadding))yo(t,o,r,s,l,i,v,c,u,E)}var Mt=()=>{let t={},e=(s,l)=>{if(!t[s])t[s]=new Set;return t[s].add(l),()=>n(s,l)},n=(s,l)=>{t[s]?.delete(l)};return{on:e,off:n,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 n=performance.now(),o=t._lt??n,r=t._lp??e,s=n-o;if(t._lp=e,t._lt=n,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 n=t==="horizontal"?"x":"y";if(e.some((r)=>r.name==="grid"))return{primary:n,cross:n==="x"?"y":"x"};return{primary:n}}function Io(t,e){let n=To(t.orientation,e),o=n.primary==="x",r=bn(t.padding);return{axis:n,hasCrossAxis:n.cross!==void 0,overscan:t.overscan??lt,reverse:t.reverse??!1,classPrefix:t.classPrefix??nn,mainAxisPadding:hn(r,o),crossAxisPadding:vn(r,o),startPadding:o?r.left:r.top,endPadding:o?r.right:r.bottom,crossPadStart:o?r.top:r.left,crossPadEnd:o?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((n,o)=>(n.priority??50)-(o.priority??50)),e}function Co(t){let e=new Set;for(let n of t){if(e.has(n.name))throw Error(`[vlist] Duplicate plugin: ${n.name}`);e.add(n.name)}for(let n of t)if(n.conflicts){for(let o of n.conflicts)if(e.has(o))throw Error(`[vlist] Plugin "${n.name}" conflicts with "${o}"`)}}function _n(t,e=[],n){So(t);let o=Io(t,e),r=o.axis.primary==="x",s=t.scroll?.mode==="bounded"||!!n,l=xo(t,r),i=o.gap,v=i>0?typeof l==="function"?(Te)=>l(Te)+i:l+i:l,c=typeof l==="number"?l:20,u=t.items?.length??0,E=o.striped?`${o.classPrefix}-item--odd`:"",T=Mt(),p=zn(o.classPrefix,r,o.startPadding,o.crossPadStart,o.crossPadEnd,E,i,T),k=e.length>0?Lo(e):e;if(e.length>0)Co(k);let h=Tn(t.container),y=In(h,o.classPrefix,r,t.ariaLabel);if(t.scroll?.scrollbar==="none")y.viewport.classList.add(`${o.classPrefix}-viewport--no-scrollbar`);if(t.scroll?.gutter==="stable")y.viewport.classList.add(`${o.classPrefix}-viewport--gutter-stable`);let f=ct(v,u);if(i>0){let Te=f.getTotalSize;f.getTotalSize=()=>{let ee=Te();return ee>0?ee-i:0}}let b=Sn(o.classPrefix),R=Math.ceil(4096/c)+o.overscan*2+8,M=yn(R);M.totalItems=u;let g=t.items??[],a=()=>g,F=new Map,D=Hn(),L={velocity:0,reliable:!1},B={range:{start:0,end:-1}},X={scrollPosition:0,direction:"down"},_={scrollPosition:0},se=-1,V=-1,q=-1,G=null,w=En(k),N=new Map,m=[],x=[],Z=[],J=null,O=null,P=null,j=null,z=null,K=null,d=null,I=null,S=null,A=null,Y=null,ne=!1,oe=!1,Q=null,ie=0,te=0,he=null,be=null,ce=null,H=null,le=null,re=null,ye=null,Le=null,xe=null;M.containerSize=r?y.viewport.clientWidth:y.viewport.clientHeight,M.crossSize=r?y.viewport.clientHeight:y.viewport.clientWidth;let Ce=Cn({sizeCache:f,getPixel:()=>O?O():M.scrollPosition,setPixel:(Te)=>{if(P)P(Te);else if(r)y.viewport.scrollLeft=Te;else y.viewport.scrollTop=Te},getContainerSize:()=>M.containerSize});if(e.length>0){let Te={dom:y,sizeCache:f,scroll:Ce,pool:b,config:o,emitter:T,template:t.item.template,registerMethod(ee,Ae){N.set(ee,Ae)},getMethod(ee){return N.get(ee)},registerClickHandler(ee){m.push(ee)},registerKeydownHandler(ee){x.push(ee)},registerDestroyHandler(ee){Z.push(ee)},enableListboxRole(){let ee=y.content.getAttribute("role");if(!ee||ee==="list")y.content.setAttribute("role","listbox"),y.content.setAttribute("tabindex","0");p.itemRole="option",p.interactive=!0},setSizeConfig(ee){let Ae=ct(ee,M.totalItems),_e=N.get("_setSizeCacheBase");if(_e){let De=f.rebuild;Object.assign(f,Ae),f.rebuild=De,_e(Ae.rebuild)}else Object.assign(f,Ae)},setScrollFns(ee,Ae){O=ee,P=Ae},setBoundedWrap(ee){xe=ee},cancelScroll(){ue?.cancelScroll()},setVirtualTotalFn(ee){J=ee,p.ariaTotalFn=ee},setIndexMapFn(ee){p.indexMap=ee},getItems:a,getItem(ee){return K?K(ee):g[ee]},getState(){return M},rebuildSizeCache(){f.rebuild(M.totalItems)},updateContentSize(ee){if(Le){Le.refresh(ee);return}M.totalSize=ee,y.content.style[r?"width":"height"]=ee+o.mainAxisPadding+"px"},setRenderFn(ee,Ae){j=ee,z=Ae},renderIfNeeded(){me()},forceRender(){Se()},setGetItemFn(ee){K=ee},setItemStateFn(ee){d=ee},getItemStateFn(){return d},get rawSizeSpec(){return l},scrollTo(ee){if(P)P(ee);else if(r)y.viewport.scrollLeft=ee;else y.viewport.scrollTop=ee},shiftScroll(ee){if(Le?.shiftBy)Le.shiftBy(ee);else Te.scrollTo(M.scrollPosition+ee)},smoothScrollTo(ee,Ae,_e,De){if(H)H(ee,Ae,P??void 0,_e,De);else Te.scrollTo(typeof ee==="function"?ee():ee)},disableDefaultScroll(){ne=!0},disableDefaultResize(){oe=!0},setScrollTarget(ee){Q=ee},setScrollToPosFn(ee){le=ee},setScrollToIndexFn(ee){re=ee},onScrollFrame:Me,onScrollIdle:ge,removeItemById(ee){if(I)return I(ee);let Ae=g.findIndex((_e)=>_e.id===ee);if(Ae===-1)return-1;return g.splice(Ae,1),M.totalItems=g.length,f.rebuild(M.totalItems),ae(),Ae},insertItemAt(ee,Ae){if(S){S(ee,Ae);return}g.splice(Ae,0,ee),M.totalItems=g.length,f.rebuild(M.totalItems),ae()},setRemoveItemFn(ee){I=ee},setInsertItemFn(ee){S=ee},setUpdateItemFn(ee){A=ee},setGetIndexByIdFn(ee){Y=ee},getRenderedElement(ee){let Ae=N.get("_getRenderedElement");if(Ae)return Ae(ee);return F.get(ee)??null},setNavConfig(ee){if(ee.ud!==void 0)ie=ee.ud;if(ee.lr!==void 0)te=ee.lr;if(ee.scrollIndex)he=ee.scrollIndex;if(ee.navigate)be=ee.navigate;if(ee.total)ce=ee.total},getNavConfig:(()=>{let ee={ud:0,lr:0,scrollIndex:null,navigate:null,total:null};return()=>(ee.ud=ie,ee.lr=te,ee.scrollIndex=he,ee.navigate=be,ee.total=ce,ee)})()};for(let ee of k)if(ee.setup)try{ee.setup(Te)}catch(Ae){T.emit("error",{error:Ae instanceof Error?Ae:Error(String(Ae)),context:`plugin:setup:${ee.name}`})}}let Ie=o.classPrefix+"--scrolling",Ee=!1,ze=t.scroll?.idleTimeout??Ke;function U(){if(X.scrollPosition=Ce.getPixelEquivalent(),r)X.direction=M.scrollDirection>0?"right":"left";else X.direction=M.scrollDirection>0?"down":"up";if(T.emit("scroll",X),kn(D,M.scrollPosition),L.velocity=D.velocity,L.reliable=D.sampleCount>=Rn,T.emit("velocity:change",L),M.startIndex!==se||M.prevRangeEnd!==V)se=M.startIndex,V=M.prevRangeEnd,B.range.start=M.startIndex,B.range.end=M.prevRangeEnd,T.emit("range:change",B)}let ve=!1;function ae(){if(j)return;let Te=f.getTotalSize();if(Le){Le.refresh(Te);return}if(y.content.style[r?"width":"height"]=Te+o.mainAxisPadding+"px",!ve&&Te>Qe)ve=!0,T.emit("error",{error:Error(`Content size (${Te}px) exceeds browser limit (${Qe}px). Enable bounded scroll (scroll: { mode: "bounded" }) for large datasets.`),context:"content:size:overflow"})}function pe(){if(!ye)return;if((J?J():g.length)===0)return;let ee=ye;ye=null,ke.scrollToIndex(ee.index,ee.alignOrOptions)}function me(){if(pe(),j)j();else Et(M,f,o.overscan,b,y.content,t.item.template,a,F,p,w,K,d)}function Me(){if(!Ee)Ee=!0,y.root.classList.add(Ie);if(me(),Ct(w.afterScroll,M.scrollPosition,M.scrollDirection),M.scrollPosition!==q)q=M.scrollPosition,U()}function ge(){if(Ee)Ee=!1,y.root.classList.remove(Ie);M.scrollDirection=0,wn(w.idle),L.velocity=0,L.reliable=!1,T.emit("velocity:change",L),_.scrollPosition=Ce.getPixelEquivalent(),T.emit("scroll:idle",_)}function Se(){if(pe(),M.renderPending=!0,z)z();else Et(M,f,o.overscan,b,y.content,t.item.template,a,F,p,w,K,d);if(Ct(w.afterScroll,M.scrollPosition,M.scrollDirection),M.scrollPosition!==q){if(q=M.scrollPosition,U(),G!==null)clearTimeout(G);G=setTimeout(ge,ze)}}let Re=ne?!1:t.scroll?.wheel!==!1,ue;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=(n??Ln)({state:M,sizeCache:f,viewport:y.viewport,content:y.content,isX:r,wheelEnabled:Re,idleTimeout:t.scroll?.idleTimeout??Ke,...Q?{scrollTarget:Q}:{},mainAxisPadding:o.mainAxisPadding,...t.scroll?.runway!==void 0?{runwayFactor:Math.max(cn,t.scroll.runway)}:{},...xe?{wrap:xe}:{},onFrame:Me,onIdle:ge}),ue=Le,O=()=>M.scrollPosition,P=(Te)=>Le.setLogical(Te);else ue=xn({state:M,viewport:y.viewport,isX:r,wheelEnabled:Re,idleTimeout:t.scroll?.idleTimeout??Ke,...Q?{scrollTarget:Q}:{},onFrame:Me,onIdle:ge});H=ue.smoothScrollTo;function W(Te){let Ae=Te.target.closest("[data-index]");if(!Ae)return null;let _e=parseInt(Ae.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):K?K(Ne):g[Ne]}else Oe=K?K(_e):g[_e];if(Oe===void 0)return null;return{item:Oe,index:_e}}function fe(Te){for(let Ae=0;Ae<m.length;Ae++)m[Ae](Te);let ee=W(Te);if(ee)T.emit("item:click",{item:ee.item,index:ee.index,event:Te})}function de(Te){let ee=W(Te);if(ee)T.emit("item:dblclick",{item:ee.item,index:ee.index,event:Te})}function Pe(Te){let ee=W(Te);if(ee)T.emit("item:contextmenu",{item:ee.item,index:ee.index,event:Te})}function we(Te){let ee=Te.target?.tagName;if((ee==="INPUT"||ee==="TEXTAREA"||ee==="SELECT")&&!((Te.ctrlKey||Te.metaKey)&&(Te.key==="f"||Te.key==="F")))return;for(let Ae=0;Ae<x.length;Ae++)x[Ae](Te)}if(y.content.addEventListener("click",fe),y.content.addEventListener("dblclick",de),y.content.addEventListener("contextmenu",Pe),x.length>0)y.root.addEventListener("keydown",we);let He=null;if(!oe)setTimeout(()=>{if(M.destroyed)return;He=new ResizeObserver((ee)=>{for(let Ae of ee){let{width:_e,height:De}=Ae.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,c,o.overscan),Le)Le.refresh(f.getTotalSize());Se(),An(w.resize,_e,De),T.emit("resize",{width:_e,height:De})}}),He.observe(y.viewport)},0);M.resizeCapacity(M.containerSize,c,o.overscan),ae(),M.initialized=!0;let Fe=null;if(t.defer)Fe=requestAnimationFrame(()=>{if(Fe=null,!M.destroyed)me()});else me();if(!ne)ue.attach();let ke={get element(){return y.root},get items(){return g},get total(){return J?J():g.length},setItems(Te){g=[...Te],M.totalItems=g.length,f.rebuild(M.totalItems),ae(),Se()},appendItems(Te){g.push(...Te),M.totalItems=g.length,f.rebuild(M.totalItems),ae(),Se()},prependItems(Te){g.unshift(...Te),M.totalItems=g.length,f.rebuild(M.totalItems),ae(),Se()},updateItem(Te,ee){if(A){if(!A(Te,ee))return}else{let Ae=g.findIndex((_e)=>_e.id===Te);if(Ae===-1)return;g[Ae]={...g[Ae],...ee}}Se()},insertItem(Te,ee){if(S)S(Te,ee??M.totalItems);else{if(ee===void 0)g.push(Te);else g.splice(ee,0,Te);M.totalItems=g.length,f.rebuild(M.totalItems),ae()}Se()},removeItem(Te){if(I){if(I(Te)<0)return}else{let ee=g.findIndex((Ae)=>Ae.id===Te);if(ee===-1)return;g.splice(ee,1),M.totalItems=g.length,f.rebuild(M.totalItems),ae()}Se()},removeItems(Te){if(I){let De=0;for(let Oe of Te)if(I(Oe)>=0)De++;if(De>0)Se();return De}let ee=new Set(Te),Ae=g.length;g=g.filter((De)=>!ee.has(De.id));let _e=Ae-g.length;if(_e>0)M.totalItems=g.length,f.rebuild(M.totalItems),ae(),M.renderPending=!0,me();return _e},getItemAt(Te){if(p.indexMap)return g[Te];return K?K(Te):g[Te]},getIndexById(Te){if(Y)return Y(Te);return g.findIndex((ee)=>ee.id===Te)},scrollToIndex(Te,ee="start"){let Ae=J?J():g.length;if(Ae===0){ye={index:Te,alignOrOptions:ee};return}let _e=Math.max(0,Math.min(Te,Ae-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=f.getOffset(_e),en=f.getSize(_e),it=M.containerSize,io=f.getTotalSize(),tn=o.mainAxisPadding,lo=Math.max(0,io+tn-it),Ge;if(le)Ge=le(_e,f,it,Ae,De);else{let ao=o.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")ue.smoothScrollTo(Ge,Ne??dn,P??void 0,Je);else if(P)P(Ge);else if(r)y.viewport.scrollLeft=Ge;else y.viewport.scrollTop=Ge},getScrollPosition(){return Ce.getPixelEquivalent()},on:T.on.bind(T),off:T.off.bind(T),destroy(){if(M.destroyed)return;if(M.destroyed=!0,Ee)Ee=!1,y.root.classList.remove(Ie);if(Fe!==null)cancelAnimationFrame(Fe),Fe=null;if(G!==null)clearTimeout(G),G=null;ue.detach(),He?.disconnect(),y.content.removeEventListener("click",fe),y.content.removeEventListener("dblclick",de),y.content.removeEventListener("contextmenu",Pe),y.root.removeEventListener("keydown",we);let Te=[];for(let ee of Z)try{ee()}catch(Ae){Te.push(Ae instanceof Error?Ae:Error(String(Ae)))}for(let ee of k)if(ee.destroy)try{ee.destroy()}catch(Ae){Te.push(Ae instanceof Error?Ae:Error(String(Ae)))}for(let[,ee]of F)ee.remove();if(F.clear(),b.clear(),y.root.remove(),T.emit("destroy",void 0),T.clear(),Te.length>0)for(let ee of Te)console.error("vlist: error during destroy:",ee)}};for(let[Te,ee]of N)ke[Te]=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,n={},o="vlist",r=!1,s)=>{let{autoHide:l=!0,autoHideDelay:i=1000,minThumbSize:v=15,showOnHover:c=!0,showOnViewportEnter:u=!0,clickBehavior:E="scroll"}=n,T=E==="page"?"scroll":E,p=s??t,k=Eo(n.padding),h=r?k.left:k.top,y=r?k.right:k.bottom,C=r?k.bottom:k.right,f=n.hoverZoneWidth??C+16,b=0,R=0,M=0,g=0,a=!1,F=!1,D=0,L=0,B=0,X=null,_=!1,se=null,V=0,q=0,G=null,w=null,N=null,m=r?"width":"height",x=r?"translateX":"translateY",Z=r?(me)=>me.clientX:(me)=>me.clientY,J=r?"left":"top",O=document.createElement("div"),P=document.createElement("div"),j=document.createElement("div"),z=r?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",K=()=>{if(p===t)return;let me=t.offsetTop;O.style[r?"left":"top"]=me?`calc(var(${z}) + ${me}px)`:`var(${z})`,j.style[r?"left":"top"]=`${me}px`},d=()=>{if(O.className=`${o}-scrollbar`,P.className=`${o}-scrollbar__thumb`,r)O.classList.add(`${o}-scrollbar--horizontal`);if(n.padding!==void 0)p.style.setProperty("--vlist-custom-scrollbar-padding-top",`${k.top}px`),p.style.setProperty("--vlist-custom-scrollbar-padding-right",`${k.right}px`),p.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${k.bottom}px`),p.style.setProperty("--vlist-custom-scrollbar-padding-left",`${k.left}px`);if(n.minThumbSize!==void 0)O.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${v}px`);if(O.appendChild(P),p.appendChild(O),j.className=`${o}-scrollbar__hover`,r)j.classList.add(`${o}-scrollbar__hover--horizontal`),j.style.height=`${f}px`;else j.style.width=`${f}px`;if(p.appendChild(j),p!==t)K()},I=()=>{if(X)clearTimeout(X),X=null},S=()=>{if(!l)return;I(),X=setTimeout(Y,i)},A=()=>{if(b<=R)return;if(I(),!_)O.classList.add(`${o}-scrollbar--visible`),_=!0;if(l&&!a&&!F)S()},Y=()=>{if(a||F)return;O.classList.remove(`${o}-scrollbar--visible`),_=!1},ne=(me,Me)=>{if(b=me,R=Me,K(),b<=R){O.style.display="none",Y();return}O.style.display="";let ge=Math.max(0,R-h-y),Se=R/b;if(M=Math.max(v,Se*ge),P.style[m]=`${M}px`,g=ge-M,oe(B),!l)A()},oe=(me)=>{if(B=me,b<=R||g<=0)return;let Me=b-R,ge=Math.min(1,Math.max(0,me/Me));P.style.transform=`${x}(${ge*g}px)`},Q=(me)=>{if(me.target===P||T!=="jump"||g<=0)return;let Me=b-R,ge=O.getBoundingClientRect(),Se=Z(me)-ge[J],Re=Math.max(0,Math.min(Se-M/2,g));e(Re/g*Me),A()},ie=()=>{if(G!==null)clearTimeout(G),G=null;if(w!==null)cancelAnimationFrame(w),w=null;N=null},te=(me)=>{let Me=g>0?q/me*g:0;if(V<Me)return-1;if(V>=Me+M)return 1;return 0},he=()=>{let me=b-R,Me=te(me);if(Me===0){ie();return}if(Me===-1){if(q<=0){ie();return}let ge=Math.max(0,q-R);q=ge,e(ge)}else{if(q>=me){ie();return}let ge=Math.min(me,q+R);q=ge,e(ge)}A()},be=(me)=>{if(N===null){N=me,w=requestAnimationFrame(be);return}let Me=b-R,ge=me-N;N=me;let Se=te(Me);if(Se===0){ie();return}let Re=12*R/1000,ue=Math.min(Re*ge,R);if(Se===-1){if(q<=0){ie();return}let W=Math.max(0,q-ue);q=W,e(W)}else{if(q>=Me){ie();return}let W=Math.min(Me,q+ue);q=W,e(W)}I(),w=requestAnimationFrame(be)},ce=()=>{ie(),S(),document.removeEventListener("mouseup",ce)},H=(me)=>{if(me.target===P||T!=="scroll")return;me.preventDefault();let Me=O.getBoundingClientRect();V=Z(me)-Me[J],q=B,he(),G=setTimeout(()=>{w=requestAnimationFrame(be)},350),document.addEventListener("mouseup",ce)},le=(me)=>{me.preventDefault(),me.stopPropagation(),a=!0,D=Z(me),L=B,I(),O.classList.add(`${o}-scrollbar--dragging`),document.addEventListener("mousemove",re),document.addEventListener("mouseup",ye)},re=(me)=>{if(!a)return;let Me=Z(me)-D,ge=g>0?Me/g:0,Se=b-R,Re=ge*Se,ue=Math.max(0,Math.min(L+Re,Se));P.style.transform=`${x}(${ue/Se*g}px)`,e(ue)},ye=()=>{if(a=!1,O.classList.remove(`${o}-scrollbar--dragging`),l&&!F)S();document.removeEventListener("mousemove",re),document.removeEventListener("mouseup",ye)},Le=r?(me)=>me.touches[0].clientX:(me)=>me.touches[0].clientY,xe=(me)=>{me.stopPropagation(),a=!0,D=Le(me),L=B,I(),O.classList.add(`${o}-scrollbar--dragging`)},Ce=(me)=>{if(!a)return;me.preventDefault();let Me=Le(me)-D,ge=g>0?Me/g:0,Se=b-R,Re=ge*Se,ue=Math.max(0,Math.min(L+Re,Se));P.style.transform=`${x}(${ue/Se*g}px)`,e(ue)},Ie=()=>{if(a=!1,O.classList.remove(`${o}-scrollbar--dragging`),l)S()},Ee=(me)=>{if(me.target===P)return;if(g<=0)return;let Me=me.touches[0],ge=O.getBoundingClientRect(),Se=(r?Me.clientX:Me.clientY)-ge[J];if(T==="jump"){let Re=b-R,ue=Math.max(0,Math.min(Se-M/2,g));e(ue/g*Re)}else V=Se,q=B,he();A()},ze=()=>{if(u)A()},U=()=>{if(!a){if(F=!1,l)S()}},ve=()=>{F=!0,I(),A()},ae=()=>{if(F=!1,!a&&l)S()},pe=()=>{if(I(),ie(),se!==null)cancelAnimationFrame(se),se=null;O.removeEventListener("click",Q),O.removeEventListener("mousedown",H),O.removeEventListener("mouseenter",ve),document.removeEventListener("mouseup",ce),O.removeEventListener("mouseleave",ae),O.removeEventListener("touchstart",Ee),P.removeEventListener("mousedown",le),P.removeEventListener("touchstart",xe),P.removeEventListener("touchmove",Ce),P.removeEventListener("touchend",Ie),t.removeEventListener("mouseenter",ze),t.removeEventListener("mouseleave",U),document.removeEventListener("mousemove",re),document.removeEventListener("mouseup",ye),j.removeEventListener("click",Q),j.removeEventListener("mousedown",H),j.removeEventListener("mouseenter",ve),j.removeEventListener("mouseleave",ae),j.remove(),p.style.removeProperty("--vlist-custom-scrollbar-padding-top"),p.style.removeProperty("--vlist-custom-scrollbar-padding-right"),p.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),p.style.removeProperty("--vlist-custom-scrollbar-padding-left"),O.remove()};if(d(),O.addEventListener("click",Q),O.addEventListener("mousedown",H),O.addEventListener("mouseenter",ve),O.addEventListener("mouseleave",ae),O.addEventListener("touchstart",Ee,{passive:!0}),P.addEventListener("mousedown",le),P.addEventListener("touchstart",xe,{passive:!0}),P.addEventListener("touchmove",Ce,{passive:!1}),P.addEventListener("touchend",Ie,{passive:!0}),t.addEventListener("mouseenter",ze),t.addEventListener("mouseleave",U),j.addEventListener("click",Q),j.addEventListener("mousedown",H),c)j.addEventListener("mouseenter",ve),j.addEventListener("mouseleave",ae);return{show:A,hide:Y,updateBounds:ne,updatePosition:oe,isVisible:()=>_,destroy:pe}};function Pt(t){let e=null,n,o=0,r=0,s=0;return{name:"scrollbar",priority:15,setup(l){let{dom:i,config:v}=l,{classPrefix:c}=v,u=v.axis.primary==="x";n=l.getState(),o=v.mainAxisPadding;let E=(T)=>{l.scrollTo(T)};if(l.registerMethod("_scrollbar:setCallback",(T)=>{E=T}),e=Fn(i.viewport,(T)=>{E(T)},t,c,u,i.root),i.viewport.classList.add(`${c}-viewport--custom-scrollbar`),t?.gutter)i.viewport.classList.add(`${c}-viewport--gutter`);queueMicrotask(()=>{e?.updateBounds(n.totalSize+o,n.containerSize)}),l.registerMethod("_scrollbar:getInstance",()=>e),l.registerDestroyHandler(()=>{if(e?.destroy(),e=null,i.viewport.classList.remove(`${c}-viewport--custom-scrollbar`),t?.gutter)i.viewport.classList.remove(`${c}-viewport--gutter`)})},hooks:{onAfterScroll(l){let i=n.totalSize+o,v=n.containerSize;if(i!==r||v!==s)r=i,s=v,e?.updateBounds(i,v);e?.updatePosition(l),e?.show()},onResize(){let l=n.totalSize+o,i=n.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)),n=t.gap??0,o=t.isHeaderFn,r={row:0,col:0},s=(h)=>{if(h<=0)return 0;if(!o)return Math.ceil(h/e);let y=0,C=0,f=0;for(let b=0;b<h;b++)if(o(b)){if(f++,C)y++,C=0;y++,C=0}else if(C++,C>=e)y++,C=0;if(C)y++;return y},l=(h)=>(r.row=i(h),r.col=v(h),r),i=(h)=>{if(!o)return Math.floor(h/e);let y=0,C=0;for(let f=0;f<=h;f++)if(o(f)){if(C)y++,C=0;if(f===h)return y;y++,C=0}else{if(f===h)return y;if(C++,C>=e)y++,C=0}return console.warn(`⚠️ getRow(${h}) fell through - returning ${y}`),y},v=(h)=>{if(!o)return h%e;if(o(h))return 0;let y=0;for(let C=0;C<=h;C++)if(o(C))y=0;else{if(C===h)return y;if(y++,y>=e)y=0}return y},c=(h,y,C,f)=>{if(C<=0){f.start=0,f.end=-1;return}if(!o){f.start=Math.max(0,h*e),f.end=Math.min(C-1,(y+1)*e-1);return}let b=u(h,y,C);f.start=b.start,f.end=b.end},u=(h,y,C)=>{if(C<=0)return{start:0,end:-1};if(!o){let g=Math.max(0,h*e),a=Math.min(C-1,(y+1)*e-1);return{start:g,end:a}}let f=-1,b=-1,R=0,M=0;for(let g=0;g<C;g++){if(o(g)){if(M)R++,M=0;if(R>=h&&R<=y){if(f<0)f=g;b=g}R++,M=0}else{if(R>=h&&R<=y){if(f<0)f=g;b=g}if(M++,M>=e)R++,M=0}if(R>y&&!M)break}if(f<0)return{start:0,end:-1};return{start:f,end:b}},E=(h,y,C)=>{if(y<0||y>=e)return-1;let f=h*e+y;if(f<0||f>=C)return-1;return f},T=(h)=>{let y=(e-1)*n;return Math.max(0,(h-y)/e)};return{get columns(){return e},get gap(){return n},update:(h)=>{if(h.columns!==void 0)e=Math.max(1,Math.floor(h.columns));if(h.gap!==void 0)n=h.gap;if(h.isHeaderFn!==void 0)o=h.isHeaderFn},getTotalRows:s,getPosition:l,getRow:i,getCol:v,getItemRange:u,fillItemRange:c,getItemIndex:E,getColumnWidth:T,getColumnOffset:(h,y)=>{let C=T(y);return h*(C+n)}}};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,n,o,r,s=null,l,i,v,c,u,E,T=null,p=0,k=0,h=0,y=0,C=new Map,f=0,b=0,R=0,M=0,g=null,a=!1,F="",D="",L="",B={start:0,end:-1},X=-1,_=-1,se=-1,V=!0,q=(P)=>n.rebuild(P);function G(){let P=(b-1)*R;M=Math.max(0,(f-P)/b)}function w(){if(a)return;a=!0,g=T?.()??null}function N(){return e.getTotalRows(o.totalItems)}function m(P){let j=P/b|0,K=(P-j*b)*(M+R)+p,d=n.getOffset(j)-o.baseOffset+h;if(c)return`translate(${Math.round(d)}px, ${Math.round(K)}px)`;return`translate(${Math.round(K)}px, ${Math.round(d)}px)`}function x(P,j){let z=n.getSize(j)-R;if(c)P.style.width=`${z}px`,P.style.height=`${M}px`;else P.style.width=`${M}px`,P.style.height=`${z}px`}function Z(P,j,z){if(g)g(z,Ue);else Ue.selected=!1,Ue.focused=!1;let K=i(j,z,Ue);if(typeof K==="string")P.innerHTML=K;else P.innerHTML="",P.appendChild(K)}function J(){if(o.destroyed)return;let P=o.scrollPosition,j=o.containerSize;if(!V&&P===X&&j===_)return;X=P,_=j,V=!1;let z=N();if(j<=0||z===0)return;w();let K=n.indexAtOffset(P),d=n.indexAtOffset(P+j);if(d<z-1)d++;K=Math.max(0,K),d=Math.min(z-1,Math.max(0,d));let I=Math.max(0,K-E),S=Math.min(z-1,d+E);if(I===o.prevRangeStart&&S===o.prevRangeEnd&&!o.renderPending)return;e.fillItemRange(I,S,o.totalItems,B);let{start:A,end:Y}=B;for(let[Q,ie]of C)if(Q<A||Q>Y)ie.el.remove(),r.release(ie.el),C.delete(Q);for(let Q=A;Q<=Y;Q++){let ie=v(Q);if(!ie)continue;let te=Q/b|0,he=Q-te*b,be=C.get(Q);if(be===void 0){let le=r.acquire();le.className=F,le.setAttribute("data-index",String(Q)),le.setAttribute("data-id",String(ie.id)),Z(le,ie,Q),be={el:le,lastItem:ie},C.set(Q,be),l.appendChild(le)}else if(be.lastItem!==ie)be.el.setAttribute("data-id",String(ie.id)),be.lastItem=ie,Z(be.el,ie,Q);else if(g)g(Q,Ue);if(g)if(be.el.classList.toggle(D,Ue.selected),be.el.classList.toggle(L,Ue.focused),Ue.selected)be.el.setAttribute("aria-selected","true");else be.el.removeAttribute("aria-selected");x(be.el,te);let ce=he*(M+R)+p,H=n.getOffset(te)-o.baseOffset+h;be.el.style.transform=c?`translate(${Math.round(H)}px, ${Math.round(ce)}px)`:`translate(${Math.round(ce)}px, ${Math.round(H)}px)`}let ne=n.getTotalSize();if(ne!==se)se=ne,s?.updateContentSize(ne);o.prevRangeStart=I,o.prevRangeEnd=S,o.renderPending=!1;let oe=Y-A+1;o.visibleCount=Math.min(oe,o.capacity),o.startIndex=A;for(let Q=0;Q<o.visibleCount;Q++){let ie=A+Q,te=ie/b|0;o.visibleIndices[Q]=ie,o.visibleOffsets[Q]=n.getOffset(te),o.visibleSizes[Q]=n.getSize(te)}}function O(){if(o.destroyed)return;q(N()),se=-1,o.prevRangeStart=-1,o.prevRangeEnd=-1,o.renderPending=!0,V=!0,J()}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}),n=P.sizeCache,o=P.getState(),r=P.pool,s=P,l=P.dom.content,i=P.template,c=P.config.axis.primary==="x",u=P.config.classPrefix,E=P.config.overscan,v=P.getItem.bind(P),T=()=>P.getItemStateFn(),F=`${u}-item ${u}-grid-item`,D=`${u}-item--selected`,L=`${u}-item--focused`,p=P.config.crossPadStart,k=P.config.crossAxisPadding,h=P.config.startPadding,y=P.config.mainAxisPadding,f=o.crossSize-k,G();let j=P.rawSizeSpec,z;if(typeof j==="function"){let A={columnWidth:e.getColumnWidth(f),columns:t.columns,gap:R};z=j(0,A),P.setSizeConfig((Y)=>{A.columnWidth=e.getColumnWidth(f);let ne=Y*t.columns;return j(ne,A)+R})}else if(z=j,R>0)P.setSizeConfig(z+R);let K=null,d=n.rebuild;function I(){if(n.rebuild===K)return;d=n.rebuild,q=(S)=>d(S),K=(S)=>{q(Math.ceil(S/b))},n.rebuild=K}if(P.registerMethod("_setSizeCacheBase",(S)=>{d=S,q=(A)=>d(A)}),I(),q(N()),R>0){let S=n.getTotalSize;n.getTotalSize=()=>{let A=S();return A>0?A-R:0}}P.setVirtualTotalFn(()=>N()),P.dom.root.classList.add(`${u}--grid`),P.setRenderFn(J,O),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 A=e.gap;if(typeof j==="function"){let Y={columnWidth:e.getColumnWidth(f),columns:e.columns,gap:A};P.setSizeConfig((ne)=>{Y.columnWidth=e.getColumnWidth(f);let oe=ne*e.columns;return j(oe,Y)+A})}else P.setSizeConfig(z+A);I(),q(N())}if(S.columns!==void 0)P.setNavConfig({ud:e.columns});f=o.crossSize-k,G(),O()}),P.registerMethod("scrollToIndex",(S,A="start")=>{let Y=e.getRow(S),ne=N();if(ne===0)return;let oe=Math.max(0,Math.min(Y,ne-1)),Q=n.getOffset(oe)+h,ie=n.getSize(oe),te=o.containerSize,he=n.getTotalSize()+y,be=Math.max(0,he-te),ce=typeof A==="string"?A:A.align??"start",H=typeof A==="object"?A.behavior:void 0,le=typeof A==="object"?A.duration:void 0,re;switch(ce){case"center":re=Q-(te-ie)/2;break;case"end":re=Q-te+ie;break;default:re=Q}if(re=Math.max(0,Math.min(re,be)),H==="smooth"&&le&&le>0)P.smoothScrollTo(re,le);else P.scrollTo(re)}),P.setNavConfig({total:()=>o.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(`${u}--grid`)})},hooks:{onResize(P,j){let z=o.crossSize-k;if(Math.abs(z-f)<1)return;f=z,G();for(let[K,d]of C){let I=K/b|0;x(d.el,I),d.el.style.transform=m(K)}}},destroy(){C.clear()}}}function nt(t,e,n,o){if(o<=0)return 0;let r=o-1;if(n<=1)return t<0?0:t>r?r:t;let s=(e%n+n)%n;if(t<0)return s;if(t>r){let l=Math.floor(r/n)*n;return Math.min(l+s,r)}return t}function At(t){let e=t?.keyboard??!0;return{name:"a11y",priority:55,setup(n){if(n.getItemStateFn())return;n.enableListboxRole();let{dom:o,config:r,sizeCache:s}=n,l=n.getState(),i=n.emitter,v=r.classPrefix,c=o.liveRegion,u=-1,E=!1,T,p=-1,k=(L)=>n.getItem(L),h=()=>l.totalItems,y={id:0,index:0},C={selected:[],items:[]};n.setItemStateFn((L,B)=>{B.selected=p===L,B.focused=E&&u===L});function f(L){c.textContent="",c.textContent=L}let b=(L,B,X)=>{let _=L;while(_>=0&&_<X){let se=k(_);if(!se||!se.__groupHeader)return _;_+=B}_=L-B;while(_>=0&&_<X){let se=k(_);if(!se||!se.__groupHeader)return _;_-=B}return L},R=(L)=>{let B=n.getNavConfig(),X=B.scrollIndex?B.scrollIndex(L):L,_=s.getOffset(X),se=s.getSize(X),{scrollPosition:V,containerSize:q}=l,{startPadding:G,endPadding:w}=r,N=_+G,m=N+se,x=V;if(N<V)x=Math.max(0,_);else if(m>V+q)x=m+w-q;if(x!==V)l.scrollPosition=x,n.scrollTo(x)},M=(L,B)=>{if(o.content.setAttribute("aria-activedescendant",`${v}-item-${L}`),B)R(L);n.forceRender()},g=(L)=>{u=L,E=!0,M(L,!0);let B=k(L);if(B)y.id=B.id,y.index=L,i.emit("focus:change",y),f(`Item ${L+1} of ${h()}`)},a=(L,B)=>{if(u=L,B)E=!0;let X=k(L);if(X&&T===X.id)T=void 0,p=-1;else T=X?.id,p=X?L:-1;if(M(L,B),T!==void 0&&X&&T===X.id)C.selected[0]=T,C.selected.length=1,C.items[0]=X,C.items.length=1,f(`Selected, item ${L+1} of ${h()}`);else C.selected.length=0,C.items.length=0,f("Deselected");i.emit("selection:change",C)},F=()=>{if(l.destroyed)return;if(!o.content.matches(":focus-visible"))return;let L=h();if(L===0)return;let B=u>=0?Math.min(u,L-1):0;B=b(B,1,L),g(B)},D=(L)=>{if(l.destroyed)return;let B=L.relatedTarget;if(B&&o.root.contains(B))return;E=!1,o.content.removeAttribute("aria-activedescendant"),n.forceRender()};if(o.content.addEventListener("focusin",F),o.content.addEventListener("focusout",D),e)n.registerKeydownHandler((L)=>{if(l.destroyed)return;let B=h();if(B===0)return;let X=u,_=X;if(L.key===" "||L.key==="Enter"){if(X>=0){let V=k(X);if(V&&!V.__groupHeader)a(X,!0)}L.preventDefault();return}let se=n.getNavConfig();if(se.navigate)switch(L.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":_=se.navigate(X,L.key,B);break;default:return}else{let V=se.ud||1,q=se.lr,G=r.axis.primary==="x";switch(L.key){case"ArrowUp":if(G&&!q)return;_=X-(G?q:V);break;case"ArrowDown":if(G&&!q)return;_=X+(G?q:V);break;case"ArrowLeft":if(!G&&!q)return;_=X-(G?V:q);break;case"ArrowRight":if(!G&&!q)return;_=X+(G?V:q);break;case"PageUp":case"PageDown":{let w=s.getSize(Math.max(0,se.scrollIndex?se.scrollIndex(X):X)),m=Math.max(1,Math.floor(l.containerSize/w))*V;_=nt(L.key==="PageUp"?X-m:X+m,X,V,B);break}case"Home":_=0;break;case"End":_=B-1;break;default:return}}if(_<0)_=0;else if(_>=B)_=B-1;if(L.preventDefault(),_=b(_,_>=X?1:-1,B),_!==X)g(_)});n.registerClickHandler((L)=>{if(l.destroyed)return;let B=L.target.closest("[data-index]");if(!B)return;let X=parseInt(B.dataset.index??"-1",10);if(X<0)return;let _=k(X);if(!_||_.__groupHeader)return;E=!1,o.content.focus({preventScroll:!0}),a(X,!1)}),n.registerDestroyHandler(()=>{o.content.removeEventListener("focusin",F),o.content.removeEventListener("focusout",D)})}}}var ot=(t,e,n)=>{if(String(n).startsWith($e))return!1;let o=$e+e;if(t.has(o))return t.delete(o),t.add(n),!0;return!1},Vn=(t)=>({selected:new Set(t??[]),focusedIndex:-1,focusVisible:!1});function qe(t,e,n,o){if(n===0)return;let r=o?-e:e,s=t.focusedIndex+r;if(s<0)s=0;if(s>=n)s=n-1;t.focusedIndex=s}function mt(t){return Array.from(t)}var Mo={preventScroll:!0};function zt(t){let e=t?.mode??"single",n=t?.followFocus??!1,o=t?.focusOnClick??!1,r=t?.keyboard??!0,s,l,i,v,c,u,E,T,p=-1,k=new Map,h=null,y=null,C=null,f=null,b,R=!1;function M(x){if(R)return;R=!0,h=x.getMethod("_layoutToDataIndex")??null,y=x.getMethod("_dataToLayoutIndex")??null,C=x.getMethod("_isGroupHeader")??null,f=x.getMethod("_scrollItemIntoView")??null,a=x.getMethod("_getLoadedItem")??null;let Z=x.getMethod("getGroupLayout");if(Z){let J=Z();b=()=>J.totalEntries}}let g=(x)=>h?h(x):x,a=null,F=(x)=>{if(a)return a(x);return l()[x]},D=(x)=>{let Z=g(x);return Z>=0?F(Z):void 0},L=(x,Z,J)=>{if(!C)return x;let O=x;while(O>=0&&O<J){if(!C(O))return O;O+=Z}O=x-Z;while(O>=0&&O<J){if(!C(O))return O;O-=Z}return x};function B(x,Z){if(e==="single")s.selected.clear(),k.clear();if(s.selected.add(x),Z)k.set(x,Z)}function X(x,Z){if(s.selected.has(x))s.selected.delete(x),k.delete(x);else B(x,Z)}function _(){s.selected.clear(),k.clear()}function se(x){s.selected.delete(x),k.delete(x)}function V(x,Z){let J=Math.min(x,Z),O=Math.max(x,Z);for(let P=J;P<=O;P++){if(C?.(P))continue;let j=D(P);if(j)s.selected.add(j.id),k.set(j.id,j);else if(a){let z=g(P);if(z>=0)s.selected.add($e+z)}}}function q(){let x=E.totalItems;for(let Z=0;Z<x;Z++){if(C?.(Z))continue;let J=D(Z);if(J)s.selected.add(J.id),k.set(J.id,J);else if(a){let O=g(Z);if(O>=0)s.selected.add($e+O)}}}function G(){if(s.selected.size===0)return[];if(k.size>=s.selected.size){let O=[];for(let P of s.selected){let j=k.get(P);if(j)O.push(j)}if(O.length===s.selected.size)return O}let x=[],Z=new Set(s.selected),J=E.totalItems;for(let O=0;O<J&&Z.size>0;O++){if(C?.(O))continue;let P=D(O);if(P&&Z.has(P.id))x.push(P),k.set(P.id,P),Z.delete(P.id)}return x}function w(){i(),v.emit("selection:change",{selected:mt(s.selected),items:G()})}let N=null,m=-1;return{name:"selection",priority:50,setup(x){x.enableListboxRole(),s=Vn(t?.initial),l=x.getItems.bind(x),i=x.forceRender.bind(x),v=x.emitter,c=x.dom;let Z=x.config;if(u=x.sizeCache,E=x.getState(),T=x.scrollTo.bind(x),b=()=>E.totalItems,e==="none"){x.registerMethod("select",()=>{}),x.registerMethod("deselect",()=>{}),x.registerMethod("toggleSelect",()=>{}),x.registerMethod("selectAll",()=>{}),x.registerMethod("clearSelection",()=>{}),x.registerMethod("getSelected",()=>[]),x.registerMethod("getSelectedItems",()=>[]),x.registerMethod("selectNext",()=>{}),x.registerMethod("selectPrevious",()=>{}),x.registerMethod("_seedSelection",()=>{}),x.registerMethod("_getFocusedId",()=>{return}),x.registerMethod("_focusById",()=>{});return}let J=Z.classPrefix;x.setItemStateFn((I,S)=>{if(M(x),s.selected.size>0){let A=g(I),Y=A>=0?D(I):void 0,ne=Y?.id;if(ne!==void 0)if(s.selected.has(ne))S.selected=!0;else if(ot(s.selected,A,ne))S.selected=!0,k.delete($e+A),k.set(ne,Y);else S.selected=!1;else S.selected=a!==null&&A>=0&&s.selected.has($e+A)}else S.selected=!1;S.focused=s.focusVisible&&s.focusedIndex===I}),x.registerMethod("_getSelectedIds",()=>s.selected),x.registerMethod("_getFocusedIndex",()=>s.focusVisible?s.focusedIndex:-1),c.root.classList.add(`${J}--selectable`);let O=(I)=>{N=null,m=-1;let S=I.target.closest("[data-index]");if(!S)return!1;let A=parseInt(S.dataset.index??"-1",10);if(A<0)return!1;if(C?.(A))return!1;if(g(A)<0)return!1;let ne=D(A);if(!ne)return!1;return N=ne,m=A,!0},P=0,j=(I)=>{if(I<0)return;if(f){f(I);return}if(!P){let he=x.getMethod("_getRowGap");P=he?he():0}let S=x.getNavConfig(),A=S.scrollIndex?S.scrollIndex(I):I,Y=u.getOffset(A),ne=u.getSize(A)-P,oe=E.containerSize,Q=E.scrollPosition,{startPadding:ie,endPadding:te}=Z;if(Y<Q)T(Y);else if(ie+Y+ne+te>Q+oe)T(ie+Y+ne+te-oe)},z=(I)=>{let S=c.content.querySelectorAll(`[data-index="${I}"]`),A=null;for(let Y=0;Y<S.length;Y++){let ne=S[Y];if(ne.style.display!=="none"){A=ne;break}}if(!A&&S.length>0)A=S[0];c.content.setAttribute("aria-activedescendant",A?.id??`${J}-item-${I}`)},K=()=>{if(E.destroyed)return;if(M(x),!c.content.matches(":focus-visible")&&!c.root.matches(":focus-visible"))return;let I=b();if(I===0)return;let S=s.focusedIndex>=0?Math.min(s.focusedIndex,I-1):0;S=L(S,1,I),s.focusedIndex=S,s.focusVisible=!0,z(S),j(S),i()};c.root.addEventListener("focusin",K);let d=(I)=>{if(E.destroyed)return;let S=I.relatedTarget;if(S&&c.root.contains(S))return;s.focusVisible=!1,i(),c.content.removeAttribute("aria-activedescendant")};if(c.root.addEventListener("focusout",d),x.registerDestroyHandler(()=>{c.root.removeEventListener("focusin",K),c.root.removeEventListener("focusout",d)}),x.registerClickHandler((I)=>{if(M(x),!O(I))return;if(e==="multiple"&&I.shiftKey&&s.focusedIndex>=0){let A=p>=0?p:s.focusedIndex,Y=g(A),ne=g(m);if(Y>=0&&ne>=0)V(A,m);s.focusedIndex=m,s.focusVisible=o,p=m,w();return}if(s.focusedIndex=m,s.focusVisible=o,p=m,(c.content.getAttribute("tabindex")!==null?c.content:c.root).focus(Mo),e==="single")B(N.id,N);else X(N.id,N);w()}),r)x.registerKeydownHandler((I)=>{M(x);let S=b();if(S===0)return;let A=x.getNavConfig(),Y=s.focusedIndex,ne=!1,oe=!1;if(A.navigate&&(I.key==="ArrowUp"||I.key==="ArrowDown"||I.key==="ArrowLeft"||I.key==="ArrowRight"||I.key==="PageUp"||I.key==="PageDown"||I.key==="Home"||I.key==="End")){let ie=A.total?A.total():S,te=A.navigate(s.focusedIndex,I.key,ie);if(te!==s.focusedIndex)s.focusedIndex=Math.max(0,Math.min(te,ie-1));s.focusVisible=!0,ne=!0}else switch(I.key){case"ArrowUp":{let ie=A.ud||1,te=A.lr,he=Z.axis.primary==="x";if(he&&!te)break;qe(s,-(he?te:ie),S,Z.reverse),s.focusVisible=!0,ne=!0;break}case"ArrowDown":{let ie=A.ud||1,te=A.lr,he=Z.axis.primary==="x";if(he&&!te)break;qe(s,he?te:ie,S,Z.reverse),s.focusVisible=!0,ne=!0;break}case"ArrowLeft":{let ie=A.ud||1,te=A.lr,he=Z.axis.primary==="x";if(!he&&!te)break;qe(s,-(he?ie:te),S,Z.reverse),s.focusVisible=!0,ne=!0;break}case"ArrowRight":{let ie=A.ud||1,te=A.lr,he=Z.axis.primary==="x";if(!he&&!te)break;qe(s,he?ie:te,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 ie=A.ud||1,te=Math.max(0,s.focusedIndex),he=A.scrollIndex?A.scrollIndex(te):te,be=u.getSize(he),ce=E.containerSize,le=(be>0?Math.max(1,Math.floor(ce/be)):10)*ie;if(h&&y){let re=h(s.focusedIndex),ye=I.key==="PageUp"?-le:le,Le=E.totalItems-1;s.focusedIndex=y(nt(re+ye,re,ie,Le+1))}else{let re=I.key==="PageUp"?s.focusedIndex-le:s.focusedIndex+le;s.focusedIndex=nt(re,s.focusedIndex,ie,S)}s.focusVisible=!0,ne=!0;break}case" ":case"Enter":if(I.key===" "&&I.shiftKey&&e==="multiple"&&s.focusedIndex>=0){if(p>=0){let ie=g(p),te=g(s.focusedIndex);if(ie>=0&&te>=0)V(p,s.focusedIndex)}s.focusVisible=!0,oe=!0,ne=!0;break}if(s.focusedIndex>=0){let ie=D(s.focusedIndex);if(ie)X(ie.id,ie),p=s.focusedIndex;s.focusVisible=!0,oe=!0,ne=!0}break;case"a":if((I.ctrlKey||I.metaKey)&&e==="multiple"){if(s.selected.size===E.totalItems)_();else q();s.focusVisible=!0,oe=!0,ne=!0}break;case"Delete":case"Backspace":if(s.selected.size>0)v.emit("delete",{selected:mt(s.selected),items:G()}),ne=!0;break}if(s.focusedIndex!==Y&&C){let ie=s.focusedIndex>Y?1:-1;s.focusedIndex=L(s.focusedIndex,ie,S)}let Q=s.focusedIndex!==Y;if(I.shiftKey&&e==="multiple"&&!oe&&Q){if(I.key==="ArrowUp"||I.key==="ArrowDown"||I.key==="ArrowLeft"||I.key==="ArrowRight"){let he=D(s.focusedIndex);if(he)X(he.id,he);p=s.focusedIndex,oe=!0}if((I.ctrlKey||I.metaKey)&&(I.key==="Home"||I.key==="End")){let he=Y>=0?Y:s.focusedIndex,be=g(he),ce=g(s.focusedIndex);if(be>=0&&ce>=0)V(he,s.focusedIndex);p=s.focusedIndex,oe=!0}}if(n&&e==="single"&&!oe&&Q&&s.focusedIndex>=0){let ie=D(s.focusedIndex);if(ie)B(ie.id,ie);oe=!0}if(ne){if(I.preventDefault(),Q&&s.focusedIndex>=0){if(f||!A.navigate)j(s.focusedIndex);z(s.focusedIndex)}if(oe)w();else if(Q){if(i(),s.focusedIndex>=0){let ie=D(s.focusedIndex);if(ie)v.emit("focus:change",{id:ie.id,index:s.focusedIndex})}}}});x.registerMethod("select",(...I)=>{for(let S of I)B(S);w()}),x.registerMethod("deselect",(...I)=>{for(let S of I)se(S);w()}),x.registerMethod("toggleSelect",(I)=>{X(I),w()}),x.registerMethod("selectAll",()=>{if(e!=="multiple")return;M(x),q(),w()}),x.registerMethod("clearSelection",()=>{_(),w()}),x.registerMethod("getSelected",()=>mt(s.selected)),x.registerMethod("getSelectedItems",()=>G()),x.registerMethod("selectNext",()=>{M(x);let I=b();if(I===0)return;if(qe(s,1,I,Z.reverse),C)s.focusedIndex=L(s.focusedIndex,1,I);let S=D(s.focusedIndex);if(S)B(S.id,S);w()}),x.registerMethod("selectPrevious",()=>{M(x);let I=b();if(I===0)return;if(qe(s,-1,I,Z.reverse),C)s.focusedIndex=L(s.focusedIndex,-1,I);let S=D(s.focusedIndex);if(S)B(S.id,S);w()}),x.registerMethod("_seedSelection",(I)=>{if(e==="single"){if(I.length===1)s.selected.add(I[0])}else for(let S of I)s.selected.add(S)}),x.registerMethod("_isFollowFocus",()=>n),x.registerMethod("_getFocusedId",()=>{if(s.focusedIndex<0)return;return D(s.focusedIndex)?.id}),x.registerMethod("_focusById",(I)=>{let S=E.totalItems;for(let A=0;A<S;A++){if(C?.(A))continue;let Y=D(A);if(Y&&Y.id===I){s.focusedIndex=A,s.focusVisible=o,v.emit("focus:change",{id:I,index:A});return}}})},destroy(){k.clear()}}}var ft=(t)=>t==null?0:typeof t==="function"?t():t;function Rt(t){let e=t?.scrollPadding,n,o;return{name:"page",priority:5,setup(r){let{dom:s,sizeCache:l,config:i,emitter:v}=r,c=i.axis.primary==="x",u=window,E=r.getState();if(r.disableDefaultScroll(),r.disableDefaultResize(),s.root.style.overflow="visible",s.root.style.height="auto",c)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,c?-C.left:-C.top)},(C)=>{let f=s.viewport.getBoundingClientRect(),b=(c?f.left+u.scrollX:f.top+u.scrollY)+C;if(c)u.scrollTo({left:b,top:u.scrollY,behavior:"instant"});else u.scrollTo({left:u.scrollX,top:b,behavior:"instant"})}),E.containerSize=c?u.innerWidth:u.innerHeight,E.crossSize=c?u.innerHeight:u.innerWidth;let T=null,p=()=>{let C=s.viewport.getBoundingClientRect(),f=Math.max(0,c?-C.left:-C.top);if(E.prevScrollPosition=E.scrollPosition,E.scrollPosition=f,E.scrollDirection=f>E.prevScrollPosition?1:f<E.prevScrollPosition?-1:0,r.onScrollFrame(),T!==null)clearTimeout(T);T=setTimeout(()=>{T=null,r.onScrollIdle()},150)};u.addEventListener("scroll",p,{passive:!0}),o=()=>u.removeEventListener("scroll",p);let{innerWidth:k,innerHeight:h}=u,y=()=>{let{innerWidth:C,innerHeight:f}=u;if((c?Math.abs(C-k):Math.abs(f-h))<1)return;k=C,h=f,E.containerSize=c?C:f,E.crossSize=c?f:C,r.forceRender(),v.emit("resize",{width:C,height:f})};if(u.addEventListener("resize",y),n=()=>u.removeEventListener("resize",y),e)r.setScrollToPosFn((C,f,b,R,M)=>{let g=ft(c?e.left:e.top),a=ft(c?e.right:e.bottom);if(R===0)return 0;let F=Math.max(0,Math.min(C,R-1)),D=f.getOffset(F),L=f.getSize(F),B=f.getTotalSize(),X=Math.max(0,B-b+a),_;switch(M){case"center":_=D-g-(b-g-a-L)/2;break;case"end":_=D-b+L+a;break;default:_=D-g}return Math.max(-g,Math.min(_,X))}),r.registerMethod("_scrollItemIntoView",(C)=>{let f=c?u.innerWidth:u.innerHeight,b=ft(c?e.left:e.top),R=ft(c?e.right:e.bottom),M=s.viewport.getBoundingClientRect(),g=c?u.scrollX:u.scrollY,a=c?M.left:M.top,F=a+g,D=l.getOffset(C),L=l.getSize(C),B=a+D,X=f-R,_=g;if(B<b)_=F+D-b;else if(B+L>X)_=F+D+L-X;if(_!==g)if(c)u.scrollTo({left:_,top:u.scrollY,behavior:"instant"});else u.scrollTo({left:u.scrollX,top:_,behavior:"instant"})});r.registerDestroyHandler(()=>{if(o?.(),n?.(),T!==null)clearTimeout(T)})},destroy(){o?.(),n?.(),o=void 0,n=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,n=t?.restore??(e?Po(e):void 0),o=!1,r=null;return{name:"snapshots",priority:50,setup(s){let{sizeCache:l,emitter:i}=s,v=s.getState(),c=()=>{let{scrollPosition:T,totalItems:p}=v,h=s.getMethod("getSelected")?.();if(p===0){let a={index:0,offsetInItem:0,total:0};if(h?.length)a.selectedIds=h;return a}let y=l.indexAtOffset(T),C=T-l.getOffset(y);C=Math.max(0,C);let f={index:y,offsetInItem:C,total:p,scrollTop:T},b=l.getSize(y);if(b)f.offsetRatio=C/b;let R=s.getMethod("_layoutToDataIndex");if(R){let a=R(y);if(a<0){for(let F=y+1;F<p;F++)if(a=R(F),a>=0)break}if(a>=0)f.dataIndex=a}let M=s.getMethod("_getTotal");if(M)f.dataTotal=M();if(h?.length)f.selectedIds=h;let g=s.getMethod("_getFocusedId");if(g){let a=g();if(a!==void 0)f.focusedId=a}return f};s.registerMethod("getScrollSnapshot",c);let u=(T,p=!0)=>{let{index:k,offsetInItem:h,selectedIds:y,focusedId:C}=T,f=v.totalItems,b=T.dataTotal??T.total;if(f===0&&b&&b>0){let q=s.getMethod("_setTotal");if(q)q(b),f=v.totalItems;l.rebuild(f),s.updateContentSize(l.getTotalSize()),v.totalSize=l.getTotalSize()}if(f===0)return Promise.resolve();if(!Number.isFinite(k)||!Number.isFinite(h))return Promise.resolve();if(l.getTotal()===0)l.rebuild(f),s.updateContentSize(l.getTotalSize()),v.totalSize=l.getTotalSize();let M=s.getMethod("_dataToLayoutIndex"),g=k;if(T.dataIndex!==void 0&&T.dataIndex>=0)g=M?M(T.dataIndex):T.dataIndex;else if(M)g=M(k);let a=Math.max(0,Math.min(g,f-1)),F=l.getSize(a),D=T.offsetRatio!==void 0?T.offsetRatio*F:Math.min(h,F),L=s.getMethod("_getTotal")?.(),B=T.total===f||L!==void 0&&T.dataTotal===L,X;if(T.scrollTop!==void 0&&B)X=T.scrollTop;else X=l.getOffset(a)+D;let _=Math.max(0,v.totalSize-v.containerSize);if(X=Math.max(0,Math.min(X,_)),s.scrollTo(X),p&&y?.length){let q=s.getMethod("select");if(q)q(...y)}let se=s.getMethod("loadVisibleRange"),V=()=>{if(C===void 0)return;let q=s.getMethod("_focusById");if(q)q(C)};return new Promise((q)=>{let G=(w)=>{if(w)V();q()};if(se){let w=0,N=()=>{if(v.containerSize>0){if(Math.abs(v.scrollPosition-X)>1)s.scrollTo(X);se().then(()=>G(!0),()=>G(!1))}else if(++w<10)requestAnimationFrame(N);else G(!1)};requestAnimationFrame(N)}else{let w=s.getMethod("reload");if(w)requestAnimationFrame(()=>{w().then(()=>G(!0),()=>G(!1))});else requestAnimationFrame(()=>G(!0))}})};s.registerMethod("restoreScroll",u);let E=!!(n&&e);if(s.registerDestroyHandler(()=>{o=!0}),e){r=()=>{if(o||E)return;let f=c();try{sessionStorage.setItem(e,JSON.stringify(f))}catch{}},s.registerMethod("_saveSnapshot",r);let T=0,p=()=>{if(T)return;T=requestAnimationFrame(()=>{if(T=0,r)r()})};i.on("selection:change",p),i.on("focus:change",p);let k=0,h=()=>{if(k=0,r)r()},y=()=>{if(k)clearTimeout(k);k=setTimeout(h,300)};i.on("scroll",y);let C=()=>{r?.()};if(window.addEventListener("beforeunload",C),s.registerDestroyHandler(()=>{if(T)cancelAnimationFrame(T);if(k)clearTimeout(k);window.removeEventListener("beforeunload",C)}),n&&n.total&&n.total>0){let f=s.getMethod("_cancelAutoLoad");if(f)f();let b=s.getMethod("_setTotal");if(b)b(n.total)}}if(n){let T=!0;if(n.selectedIds?.length){let p=s.getMethod("_seedSelection");if(p)p(n.selectedIds),T=!1}queueMicrotask(()=>{if(u(n,T),E=!1,r)r()})}},hooks:{onIdle(){if(r&&!o)r()}},destroy(){o=!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,n=t?.easing??"cubic-bezier(0.2, 0, 0, 1)",o={duration:e,easing:n},r=$n(o,t?.remove),s=$n(o,t?.insert),l=null,i=null;return{name:"transition",conflicts:["grid","table","masonry"],priority:45,setup(v){let{sizeCache:c,emitter:u}=v,{config:E,dom:T}=v,p=v.getState(),k=E.reverse?"bottom center":"top center",h=E.axis.primary==="x"?"translateX":"translateY",y=()=>Math.max(0,c.getTotalSize()+E.mainAxisPadding-p.containerSize),C=()=>{let a=Math.min(0,y()-p.scrollPosition);if(a){let F=p.scrollPosition+a;v.shiftScroll(a),p.scrollPosition=F}},f=(a)=>Math.round(a-p.baseOffset),b=v.getMethod("_dataToLayoutIndex")??null,R=(a)=>b?b(a):a,M=(a)=>{let F=String(a).replace(/"/g,"\\\""),D=T.content.querySelector(`[data-id="${F}"]`),L=D?parseInt(D.dataset.index??"-1",10):-1;return{el:D,layoutIndex:L}},g=()=>{let a=T.content.children;for(let F=0;F<a.length;F++)a[F].style.transition="none";T.content.offsetHeight;for(let F=0;F<a.length;F++)a[F].style.transition=""};if(r){let a=(D)=>{if(l)l();let L=typeof document<"u"?document.activeElement:null,B=L&&T.content.contains(L)?parseInt(L.dataset?.index??"-1",10):-1,X=M(D),{layoutIndex:_,el:se}=X,V=_>=0?c.getSize(_):0,q=_>=0?c.getOffset(_):0;if(!se||_<0){if(v.removeItemById(D)<0)return!1;if(C(),v.forceRender(),g(),u.emit("data:change",{type:"remove",id:D}),B>=0){let I=p.totalItems;if(I>0)v.getRenderedElement(Math.min(B,I-1))?.focus()}return u.emit("remove:end",{id:D}),!0}let G=se.cloneNode(!0);G.style.pointerEvents="none",G.style.overflow="hidden",G.removeAttribute("data-index"),G.removeAttribute("data-id"),G.removeAttribute("id"),G.removeAttribute("aria-selected"),G.classList.remove(`${E.classPrefix}-item--selected`);let w=p.scrollPosition;if(v.removeItemById(D)<0)return!1;C(),v.forceRender(),g(),u.emit("data:change",{type:"remove",id:D});let m=w-p.scrollPosition;G.style.zIndex="1",T.content.appendChild(G);let x=r,Z={duration:x.duration,easing:x.easing},J=[],O=f(q-m);J.push(G.animate([{transform:`${h}(${O}px) scaleY(1)`,opacity:1,transformOrigin:k},{transform:`${h}(${f(q)}px) scaleY(0)`,opacity:0,transformOrigin:k}],Z));let P=m>0,j=T.content.children;for(let d=0;d<j.length;d++){let I=j[d];if(I===G)continue;let S=parseInt(I.dataset?.index??"-1",10);if(S<0||!P&&S<_)continue;let A=c.getOffset(S),Y=S>=_?f(A+V-m):f(A-m),ne=f(A);if(Y===ne)continue;J.push(I.animate([{transform:`${h}(${Y}px)`},{transform:`${h}(${ne}px)`}],Z))}let z=!1,K=()=>{if(z)return;z=!0,l=null,G.remove();for(let d of J)if(d.playState!=="finished")d.cancel();if(B>=0){let d=p.totalItems;if(d>0)v.getRenderedElement(Math.min(B,d-1))?.focus()}u.emit("remove:end",{id:D})};return l=K,Promise.all(J.map((d)=>d.finished)).then(K,K),setTimeout(K,x.duration+50),!0},F=(D)=>{if(D.length===0)return 0;if(D.length===1)return a(D[0])?1:0;if(l)l();if(i)i();let L=typeof document<"u"?document.activeElement:null,B=L&&T.content.contains(L)?parseInt(L.dataset?.index??"-1",10):-1,X=[];for(let z of D){let K=M(z);X.push({id:z,layoutIndex:K.layoutIndex,el:K.el,size:K.layoutIndex>=0?c.getSize(K.layoutIndex):0,offset:K.layoutIndex>=0?c.getOffset(K.layoutIndex):0})}X.sort((z,K)=>K.layoutIndex-z.layoutIndex);let _=[];for(let z of X){if(!z.el||z.layoutIndex<0)continue;let K=z.el.cloneNode(!0);K.style.pointerEvents="none",K.style.overflow="hidden",K.removeAttribute("data-index"),K.removeAttribute("data-id"),K.removeAttribute("id"),K.removeAttribute("aria-selected"),K.classList.remove(`${E.classPrefix}-item--selected`),_.push({clone:K,offset:z.offset,size:z.size,layoutIndex:z.layoutIndex})}let se=new Map,V=T.content.children;for(let z=0;z<V.length;z++){let K=V[z],d=K.dataset?.id,I=parseInt(K.dataset?.index??"-1",10);if(d&&I>=0)se.set(d,c.getOffset(I))}let q=p.scrollPosition,G=[];for(let z of X)if(v.removeItemById(z.id)>=0)G.push(z.id);if(G.length===0)return 0;C(),v.forceRender(),g();for(let z of G)u.emit("data:change",{type:"remove",id:z});if(_.length===0){if(B>=0){let z=p.totalItems;if(z>0)v.getRenderedElement(Math.min(B,z-1))?.focus()}for(let z of G)u.emit("remove:end",{id:z});return G.length}let w=q-p.scrollPosition,N=r,m={duration:N.duration,easing:N.easing},x=[];_.sort((z,K)=>z.layoutIndex-K.layoutIndex);let Z=0;for(let z of _){z.clone.style.zIndex="1",T.content.appendChild(z.clone);let K=f(z.offset-w),d=f(z.offset-Z);x.push(z.clone.animate([{transform:`${h}(${K}px) scaleY(1)`,opacity:1,transformOrigin:k},{transform:`${h}(${d}px) scaleY(0)`,opacity:0,transformOrigin:k}],m)),Z+=z.size}let J=new Set(_.map((z)=>z.clone)),O=T.content.children;for(let z=0;z<O.length;z++){let K=O[z];if(J.has(K))continue;let d=K.dataset?.id,I=parseInt(K.dataset?.index??"-1",10);if(!d||I<0)continue;let S=se.get(d);if(S===void 0)continue;let A=c.getOffset(I),Y=f(S-w),ne=f(A);if(Y===ne)continue;x.push(K.animate([{transform:`${h}(${Y}px)`},{transform:`${h}(${ne}px)`}],m))}let P=!1,j=()=>{if(P)return;P=!0,l=null;for(let{clone:z}of _)z.remove();for(let z of x)if(z.playState!=="finished")z.cancel();if(B>=0){let z=p.totalItems;if(z>0)v.getRenderedElement(Math.min(B,z-1))?.focus()}for(let z of G)u.emit("remove:end",{id:z})};return l=j,Promise.all(x.map((z)=>z.finished)).then(j,j),setTimeout(j,N.duration+50),G.length};v.registerMethod("removeItem",a),v.registerMethod("removeItems",F)}if(s){let a=(F,D)=>{if(i)i();if(l)l();let L=D??0,B=new Map,X=T.content.children;for(let P=0;P<X.length;P++){let j=X[P],z=j.dataset?.id,K=parseInt(j.dataset?.index??"-1",10);if(z&&K>=0)B.set(z,c.getOffset(K))}let _=p.scrollPosition,se=y(),V=_>=se-1;v.insertItemAt(F,L),v.forceRender(),g(),u.emit("data:change",{type:"insert",id:F.id});let q=p.scrollPosition-_,G=R(L);if(E.reverse&&q===0&&V){let P=y();if(v.shiftScroll(P-p.scrollPosition),p.prevScrollPosition=p.scrollPosition,p.scrollPosition=P,q=P-_,q>0)v.forceRender(),g()}let w=v.getRenderedElement(G),N=s,m={duration:N.duration,easing:N.easing},x=[];if(w){let P=c.getOffset(G);x.push(w.animate([{transform:`${h}(${f(P)}px) scaleY(0)`,opacity:0,transformOrigin:k},{transform:`${h}(${f(P)}px) scaleY(1)`,opacity:1,transformOrigin:k}],m))}let Z=T.content.children;for(let P=0;P<Z.length;P++){let j=Z[P];if(j===w)continue;let z=j.dataset?.id,K=parseInt(j.dataset?.index??"-1",10);if(!z||K<0)continue;let d=B.get(z);if(d===void 0)continue;let I=c.getOffset(K),S=f(d+q),A=f(I);if(S===A)continue;x.push(j.animate([{transform:`${h}(${S}px)`},{transform:`${h}(${A}px)`}],m))}if(x.length===0)return;let J=!1,O=()=>{if(J)return;J=!0,i=null;for(let P of x)if(P.playState!=="finished")P.cancel()};i=O,Promise.all(x.map((P)=>P.finished)).then(O,O),setTimeout(O,N.duration+50)};v.registerMethod("insertItem",a)}},destroy(){if(l)l();if(i)i()}}}function kt(t){let e=t?.gap??0,n=null,o=null,r,s,l,i,v=new Map,c=new Set,u=new WeakMap,E=0,T=!1,p=!1,k=!1,h=2;function y(a){return v.get(a)??i}function C(a){return v.has(a)&&!c.has(a)}function f(a){if(!o||r.destroyed)return;if(!v.has(a))return;c.add(a),o.forceRender()}function b(){return Math.max(0,o.sizeCache.getTotalSize()+o.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)o.scrollTo(a)}function g(){o.updateContentSize(o.sizeCache.getTotalSize())}return{name:"autosize",priority:5,setup(a){if(o=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(y),e>0){let X=a.sizeCache.getTotalSize;a.sizeCache.getTotalSize=()=>{let _=X();return _>0?_-e:0}}n=new ResizeObserver((X)=>{if(r.destroyed||!o)return;let _=!1,se=a.sizeCache.indexAtOffset(r.scrollPosition);for(let N of X){let m=N.target,x=u.get(m);if(x===void 0)continue;if(m.getAttribute("data-index")!==String(x)){n.unobserve(m);continue}if(C(x))continue;let Z=N.borderBoxSize[0];if(!Z)continue;let J=s?Z.inlineSize:Z.blockSize;if(J<=0)continue;let O=J+e,P=v.has(x),j=v.get(x)??i;if(v.set(x,O),c.delete(x),!P||O!==j)_=!0;if(x<se&&O!==j)E+=O-j;n.unobserve(m),m.style[l]=`${J}px`}if(!_)return;let V=R();if(a.rebuildSizeCache(),E)a.shiftScroll(E),E=0;let q=r.scrollDirection!==0,G=r.totalItems>0&&r.prevRangeEnd>=r.totalItems-1,w=p&&!k;if(w||V||G||!q){if(g(),T=!1,w||V)M()}else T=!0;a.forceRender()}),a.setScrollToIndexFn((X,_,se,V,q)=>{let G=X>=r.totalItems-1&&_==="end";if(p=G,k=!1,!G)return!1;let w=a.config.mainAxisPadding,N=()=>{let m=a.sizeCache.getTotalSize();return Math.max(0,m+w-r.containerSize)};if(se==="smooth")k=!0,a.smoothScrollTo(N,V??300,q,()=>{k=!1});else a.scrollTo(N())});let F=()=>{p=!1},D=a.dom.viewport;D.addEventListener("wheel",F,{passive:!0}),D.addEventListener("touchstart",F,{passive:!0}),a.registerDestroyHandler(()=>{D.removeEventListener("wheel",F),D.removeEventListener("touchstart",F)});let L=a.dom.content,B=(X)=>{let _=X.target;if(!_||_===L)return;let se=_.closest("[data-index]");if(!se||se.parentNode!==L)return;let V=Number(se.getAttribute("data-index"));if(C(V))f(V)};L.addEventListener("load",B,!0),L.addEventListener("error",B,!0),a.registerDestroyHandler(()=>{L.removeEventListener("load",B,!0),L.removeEventListener("error",B,!0)}),a.registerMethod("isMeasured",C),a.registerMethod("setMeasuredSize",(X,_)=>{v.set(X,_)}),a.registerMethod("getMeasuredCount",()=>v.size),a.registerDestroyHandler(()=>{if(n)n.disconnect(),n=null})},hooks:{onCommit(a){if(!n||!o)return;for(let F=0;F<a.visibleCount;F++){let D=a.visibleIndices[F];if(C(D))continue;let L=o.getRenderedElement(D);if(!L)continue;L.style[l]="",u.set(L,D),n.observe(L)}},onIdle(){if(!o||!T)return;let a=R();if(g(),T=!1,a)M(),o.forceRender()}},destroy(){if(n)n.disconnect(),n=null;v.clear(),c.clear(),p=!1,k=!1,o=null}}}var On=(t)=>{let e=Math.max(1,Math.floor(t.columns)),n=t.gap??0,o=t.containerSize,r=t.crossOffset??0,s=t.mainOffset??0,l=0,i=[],v=()=>{let C=(e-1)*n;l=Math.max(0,(o-C)/e),i=Array(e);let f=l+n;for(let b=0;b<e;b++)i[b]=r+b*f};v();let c=[],u=0,E=[],T=(C,f)=>{if(C<=0)return u=0,c=[],[];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 F=0,D=b[0];for(let X=1;X<e;X++){let _=b[X];if(_<D)D=_,F=X}let L=f(a),B=b[F];M[a]={index:a,x:i[F],y:B,lane:F,size:L,crossSize:l},R[F].push(a),b[F]=B+L+n}c=R;let g=0;for(let a=0;a<e;a++){let F=b[a],D=F>0?F-n:0;if(D>g)g=D}return u=g,M},p=(C)=>{if(C.length===0)return u;if(u)return u;let f=Array(e).fill(0);for(let R of C){let M=R.y+R.size,g=f[R.lane];if(M>g)f[R.lane]=M}let b=0;for(let R=0;R<e;R++)if(f[R]>b)b=f[R];return b},k=(C,f,b)=>{if(C.length===0||b<=f)return E.length=0,E;if(c.length===0||c.length!==e)return h(C,f,b);E.length=0;for(let R=0;R<e;R++){let M=c[R],g=M.length;if(!g)continue;let a=0,F=g;while(a<F){let D=a+F>>>1,L=C[M[D]];if(L.y+L.size<=f)a=D+1;else F=D}for(let D=a;D<g;D++){let L=C[M[D]];if(L.y>=b)break;E.push(L)}}return E},h=(C,f,b)=>{E.length=0;for(let R of C)if(R.y+R.size>f&&R.y<b)E.push(R);return E};return{get columns(){return e},get gap(){return n},get containerSize(){return o},update:(C)=>{let f=!1;if(C.columns!==void 0){let b=Math.max(1,Math.floor(C.columns));if(b!==e)e=b,f=!0}if(C.gap!==void 0&&C.gap!==n)n=C.gap,f=!0;if(C.containerSize!==void 0&&C.containerSize!==o)o=C.containerSize,f=!0;if(C.crossOffset!==void 0&&C.crossOffset!==r)r=C.crossOffset,f=!0;if(C.mainOffset!==void 0&&C.mainOffset!==s)s=C.mainOffset,f=!0;if(f)v()},calculateLayout:T,getTotalSize:p,getVisibleItems:k}};var Nn=(t,e,n)=>{let o=Array.from(e).sort((l,i)=>l-i);if(o.length<=1)return;let r=[];for(let l=0;l<o.length;l++){let i=n(o[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}}},Ao=1,Gn=(t,e,n,o=!1,r,s,l,i,v=()=>0)=>{let c=wo(),u=new Map,E=new Set,T=0,p="",k=-1,h={selected:!1,focused:!1},y=(V,q)=>(h.selected=V,h.focused=q,h),C=`${n}-item ${n}-masonry-item`,f=`${n}-group-header`,b=`${n}-item--selected`,R=`${n}-item--focused`,M=(V,q)=>{if(typeof q==="string")V.innerHTML=q;else V.replaceChildren(q);Be(V)},g=(V,q,G)=>{V.classList.toggle(b,q),V.classList.toggle(R,G)},a=(V,q)=>{let G=Math.round(q.y-v());if(o)V.style.transform=`translate(${G}px, ${Math.round(q.x)}px)`;else V.style.transform=`translate(${Math.round(q.x)}px, ${G}px)`},F=(V,q)=>{if(o)V.style.width=`${q.size}px`,V.style.height=`${q.crossSize}px`;else V.style.width=`${q.crossSize}px`,V.style.height=`${q.size}px`},D=(V,q,G,w,N)=>{let m=c.acquire(),x=q.__groupHeader,Z=y(w,N);if(m.className=x?f:C,m.dataset.index=String(V),m.dataset.id=String(q.id),m.dataset.lane=String(G.lane),x)m.setAttribute("role","presentation"),m.removeAttribute("aria-selected"),m.removeAttribute("aria-setsize"),m.removeAttribute("aria-posinset"),m.removeAttribute("id");else if(i===!0){if(m.setAttribute("role","option"),m.ariaSelected=String(w),s)m.id=`${s}-item-${V}`;if(r){let O=r();if(O!==k)k=O,p=String(O);m.setAttribute("aria-setsize",p);let P=l?l(V):V+1;m.setAttribute("aria-posinset",String(P))}}else if(m.setAttribute("role","listitem"),m.removeAttribute("aria-selected"),r){let O=r();if(O!==k)k=O,p=String(O);m.setAttribute("aria-setsize",p);let P=l?l(V):V+1;m.setAttribute("aria-posinset",String(P))}F(m,G);let J=e(q,V,Z);return M(m,J),g(m,w,N),a(m,G),{element:m,lastItem:q,lastSelected:w,lastFocused:N,lastY:G.y-v(),lastX:G.x,lastSize:G.size,lastCrossSize:G.crossSize,lastSeenFrame:T}},L=(V,q,G,w)=>{T++,E.clear();for(let m=0;m<q.length;m++)E.add(q[m].index);let N=null;for(let m=0;m<q.length;m++){let x=q[m],Z=x.index,J=V(Z);if(!J)continue;let O=G.has(J.id),P=Z===w,j=u.get(Z);if(j){let z=j.lastItem!==J,K=j.lastSelected!==O,d=j.lastFocused!==P,I=j.lastY!==x.y-v()||j.lastX!==x.x,S=j.lastSize!==x.size||j.lastCrossSize!==x.crossSize;if(z){let A=y(O,P),Y=e(J,Z,A);if(M(j.element,Y),j.element.dataset.id=String(J.id),j.lastItem=J,!J.__groupHeader){let oe=l?l(Z):Z+1;j.element.setAttribute("aria-posinset",String(oe))}}if(z||K||d)g(j.element,O,P),j.element.ariaSelected=String(O),j.lastSelected=O,j.lastFocused=P;if(S)F(j.element,x),j.lastSize=x.size,j.lastCrossSize=x.crossSize;if(I)a(j.element,x),j.lastY=x.y-v(),j.lastX=x.x}else{let z=D(Z,J,x,O,P);if(!N)N=document.createDocumentFragment();N.appendChild(z.element),u.set(Z,z)}}if(N)t.appendChild(N);for(let[m,x]of u)if(E.has(m))x.lastSeenFrame=T;else if(T-x.lastSeenFrame>Ao)c.release(x.element),u.delete(m)},B=()=>{for(let V of u.values())c.release(V.element);u.clear(),t.innerHTML=""};return{render:L,getElement:(V)=>u.get(V)?.element,updateItemClasses:(V,q,G)=>{let w=u.get(V);if(!w)return;let N=w.lastSelected!==q,m=w.lastFocused!==G;if(N||m)g(w.element,q,G),w.lastSelected=q,w.lastFocused=G},sortDOM:()=>{Nn(t,u.keys(),(V)=>u.get(V)?.element)},clear:B,destroy:()=>{B(),c.clear()}}};var zo=100,Ro=new Set;function _t(t){if(!t.columns||t.columns<1)throw Error("[vlist] masonry: columns must be >= 1");let e,n=null,o,r=null,s,l,i,v=[],c=-1,u=-1,E=!0,T=-1,p=-1,k=0,h=0,y=0,C=0,f={columnWidth:0,columns:0,gap:0,containerWidth:0},b=[],R=(d)=>b[d],M=null,g=null,a=!1;function F(){if(a||!r)return;a=!0,M=r.getMethod("_getSelectedIds")??null,g=r.getMethod("_getFocusedIndex")??null}let D=[],L=new Int32Array(0),B=[],X=null,_=null,se=null,V=null,q=!1,G=!0;function w(){if(q||!r)return;if(X=r.getMethod("_getItemLane")??null,_=r.getMethod("_getItemY")??null,se=r.getMethod("_getItemH")??null,V=r.getMethod("_isGroupHeader")??null,X||V)q=!0}function N(){w();let d=e.columns,I=!!X;if(I){let S=o.totalItems;D=Array(d);for(let A=0;A<d;A++)D[A]=[];if(L.length<S)L=new Int32Array(S);for(let A=0;A<S;A++){if(V?.(A))continue;let Y=X(A);if(Y<0||Y>=d)continue;L[A]=D[Y].length,D[Y].push(A)}}else{let S=v.length;D=Array(d);for(let A=0;A<d;A++)D[A]=[];if(L.length<S)L=new Int32Array(S);for(let A=0;A<S;A++){let Y=v[A];L[A]=D[Y.lane].length,D[Y.lane].push(A)}}B=Array(d);for(let S=0;S<d;S++){let A=D[S],Y=new Float64Array(A.length);for(let ne=0;ne<A.length;ne++){let oe=A[ne];if(I&&_&&se){let Q=_(oe),ie=se(oe);Y[ne]=Q>=0?Q+(ie>0?ie*0.5:0):0}else{let Q=v[oe];Y[ne]=Q.y+Q.size*0.5}}B[S]=Y}}function m(d,I){let S=d.length;if(!S)return-1;let A=0,Y=S-1;while(A<Y){let ne=A+Y>>1;if(d[ne]<I)A=ne+1;else Y=ne}if(A>0&&Math.abs(d[A-1]-I)<=Math.abs(d[A]-I))return A-1;return A}function x(d,I,S){if(G)N(),G=!1;let A=!!X,Y,ne;if(A){if(V?.(d))return d;if(Y=X(d),Y<0)return d;ne=L[d]}else{let te=v[d];if(!te)return d;Y=te.lane,ne=L[d]}let oe=e.columns,Q=D[Y];switch(s?I==="ArrowDown"?"ArrowRight":I==="ArrowUp"?"ArrowLeft":I==="ArrowRight"?"ArrowDown":I==="ArrowLeft"?"ArrowUp":I:I){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>=oe-1)return d;let te=Y+1,he=D[te];if(!he.length)return d;let be=m(B[te],B[Y]?.[ne]??0);return be>=0?he[be]:d}case"ArrowLeft":{if(Y<=0)return d;let te=Y-1,he=D[te];if(!he.length)return d;let be=m(B[te],B[Y]?.[ne]??0);return be>=0?he[be]:d}case"Home":return 0;case"End":{let te=D[oe-1];return te.length>0?te[te.length-1]:d}case"PageDown":{let te=o.containerSize,he=A?null:v[d],be=he&&he.size>0?he.size:150,ce=Math.max(1,Math.floor(te/be)),H=Math.min(ne+ce,Q.length-1);return Q[H]}case"PageUp":{let te=o.containerSize,he=A?null:v[d],be=he&&he.size>0?he.size:150,ce=Math.max(1,Math.floor(te/be)),H=Math.max(0,ne-ce);return Q[H]}}return d}let Z=null;function J(){if(t.size)return(d)=>t.size(d,f);if(Z!==null&&typeof Z==="function")return(d)=>Z(d,f);return(d)=>r.sizeCache.getSize(d)}function O(){let d=e.columns,I=e.gap;f.containerWidth=e.containerSize,f.columns=d,f.gap=I,f.columnWidth=Math.max(0,(e.containerSize-(d-1)*I)/d)}function P(){if(!r)return;O();let d=o.totalItems;v=e.calculateLayout(d,J()),T=d,G=!0,j()}function j(){if(!r)return;let d=e.getTotalSize(v)+C;if(d===p)return;p=d,r.updateContentSize(d)}function z(){if(o.destroyed||!r||!n)return;if(o.totalItems!==T)P();if(E)p=-1,j();F();let d=o.scrollPosition,I=o.containerSize;if(!E&&d===c&&I===u)return;if(c=d,u=I,E=!1,I<=0||v.length===0)return;let S=Math.max(0,d-i),A=d+I+i,Y=e.getVisibleItems(v,S,A),ne=M?.()??Ro,oe=g?.()??-1;b=r.getItems(),n.render(R,Y,ne,oe);let Q=Y.length,ie=Q>0?Y[0].index:0,te=Q>0?Y[Q-1].index:0;o.prevRangeStart=ie,o.prevRangeEnd=te,o.renderPending=!1;let he=Math.min(Q,o.capacity);o.visibleCount=he,o.startIndex=ie;for(let be=0;be<he;be++){let ce=Y[be];o.visibleIndices[be]=ce.index,o.visibleOffsets[be]=ce.y,o.visibleSizes[be]=ce.size}}function K(){if(o.destroyed)return;p=-1,P(),o.prevRangeStart=-1,o.prevRangeEnd=-1,o.renderPending=!0,E=!0,z()}return{name:"masonry",priority:10,conflicts:["grid","table"],setup(d){if(r=d,o=d.getState(),Z=d.rawSizeSpec,s=d.config.axis.primary==="x",l=d.config.classPrefix,i=d.config.overscan*zo,d.config.reverse)throw Error("[vlist] masonry: cannot be combined with reverse mode");k=d.config.crossAxisPadding,h=d.config.crossPadStart,y=d.config.startPadding,C=d.config.endPadding;let I=o.crossSize-k;e=On({columns:t.columns,gap:t.gap??0,containerSize:I,crossOffset:h,mainOffset:y}),n=Gn(d.dom.content,d.template,l,s,()=>o.totalItems,void 0,void 0,void 0,()=>o.baseOffset),d.dom.root.classList.add(`${l}--masonry`),d.setRenderFn(z,K),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 A={};if(S.columns!==void 0)A.columns=S.columns;if(S.gap!==void 0)A.gap=S.gap;e.update(A),n?.clear(),K()}),d.registerMethod("scrollToIndex",(S,A="start")=>{let Y=v[S];if(!Y)return;let ne=typeof A==="string"?A:A.align??"start",oe=typeof A==="object"?A.behavior:void 0,Q=typeof A==="object"?A.duration:void 0,ie=o.containerSize,te=e.getTotalSize(v)+C,he=Math.max(0,te-ie),be=Y.y;if(ne==="center")be=Y.y-ie/2+Y.size/2;else if(ne==="end"){if(be=Y.y-ie+Y.size,S>=o.totalItems-1&&Y.y+Y.size>he)be=he}if(be=Math.max(0,Math.min(be,he)),oe==="smooth"&&Q&&Q>0)d.smoothScrollTo(be,Q);else d.scrollTo(be)}),d.registerMethod("_scrollItemIntoView",(S)=>{let A=v[S];if(!A)return;let Y=o.scrollPosition,ne=o.containerSize,oe=e.getTotalSize(v)+C,Q=Math.max(0,oe-ne),ie=A.y,te=ie+A.size;if(ie-y<Y)d.scrollTo(Math.max(0,ie-y));else if(te+C>Y+ne){let he=D[e.columns-1];if(he&&he.length>0&&S===he[he.length-1]&&ie>=Q)d.scrollTo(Q);else d.scrollTo(Math.min(te+C-ne,Q))}}),d.setNavConfig({total:()=>o.totalItems,navigate:x}),d.registerDestroyHandler(()=>{n?.destroy(),n=null,d.dom.root.classList.remove(`${l}--masonry`)})},hooks:{onResize(d,I){if(!e||!r)return;let S=o.crossSize-k;if(Math.abs(S-e.containerSize)<1)return;e.update({containerSize:S}),n?.clear(),K()},onIdle(){n?.sortDOM()}},destroy(){n?.destroy(),n=null,v=[],r=null}}}var Bn=(t={})=>{let{chunkSize:e=100,maxCachedItems:n=5000,evictionBuffer:o=200,onEvict:r}=t,s=new Map,l=0,i=0,v=(G)=>{let w=s.get(G);if(!w)w={items:Array(e),count:0,lastAccess:Date.now()},s.set(G,w);else w.lastAccess=Date.now();return w},c=(G)=>Math.floor(G/e),u=(G)=>G%e,E=()=>l,T=(G)=>{l=G},p=(G)=>{if(G<0||G>=l)return;let w=c(G),N=s.get(w);if(!N)return;return N.items[u(G)]},k=(G)=>{if(G<0||G>=l)return!1;let w=c(G),N=s.get(w);if(!N)return!1;return N.items[u(G)]!==void 0},h=(G,w)=>{let N=c(G),m=v(N),x=u(G),Z=m.items[x]===void 0;if(m.items[x]=w,Z)m.count++,i++;if(G>=l)l=G+1},y=(G,w)=>{for(let N=0;N<w.length;N++){let m=w[N];if(m!==void 0)h(G+N,m)}},C=(G,w)=>{if(G<0||G>l)return;let N=c(G),m=Array.from(s.keys()).filter((P)=>P>=N).sort((P,j)=>P-j),x=[];for(let P of m){let j=s.get(P),z=P*e;for(let K=0;K<e;K++){if(j.items[K]===void 0)continue;let d=z+K;if(d<G)continue;x.push({oldIndex:d,item:j.items[K]})}}for(let{oldIndex:P}of x){let j=c(P),z=s.get(j);if(!z)continue;let K=u(P);if(z.items[K]!==void 0){if(z.items[K]=void 0,z.count--,i--,z.count===0)s.delete(j)}}l++;for(let{oldIndex:P,item:j}of x){let z=P+1,K=c(z),d=v(K),I=u(z);d.items[I]=j,d.count++,i++}let Z=c(G),J=v(Z),O=u(G);J.items[O]=w,J.count++,i++},f=(G)=>{if(G<0||G>=l)return!1;let w=c(G),N=s.get(w),m=u(G);if(!(N!==void 0&&N.items[m]!==void 0))return!1;let Z=w,J=Array.from(s.keys()).filter((P)=>P>=Z).sort((P,j)=>P-j),O=[];for(let P of J){let j=s.get(P),z=P*e;for(let K=0;K<e;K++){if(j.items[K]===void 0)continue;let d=z+K;if(d<=G)continue;O.push({oldIndex:d,item:j.items[K]})}}if(N.items[m]=void 0,N.count--,i--,N.count===0)s.delete(w);for(let{oldIndex:P}of O){let j=c(P),z=s.get(j);if(!z)continue;let K=u(P);if(z.items[K]!==void 0){if(z.items[K]=void 0,z.count--,i--,z.count===0)s.delete(j)}}for(let{oldIndex:P,item:j}of O){let z=P-1,K=c(z),d=v(K),I=u(z);d.items[I]=j,d.count++,i++}return l--,!0},b=(G,w)=>{let N=[];for(let m=G;m<=w&&m<l;m++)N.push(p(m));return N},R=(G,w)=>{for(let N=G;N<=w&&N<l;N++)if(!k(N))return!1;return!0},M=()=>{let G=[],w=null,N=Array.from(s.keys()).sort((m,x)=>m-x);for(let m of N){let x=s.get(m);if(!x)continue;let Z=m*e;for(let J=0;J<e;J++){let O=Z+J;if(O>=l)break;if(x.items[J]!==void 0)if(w===null)w={start:O,end:O};else if(O===w.end+1)w.end=O;else G.push(w),w={start:O,end:O};else if(w!==null)G.push(w),w=null}}if(w!==null)G.push(w);return G},g=(G,w)=>{let N=[],m=null;for(let x=G;x<=w&&x<l;x++)if(!k(x))if(m===null)m={start:x,end:x};else m.end=x;else if(m!==null)N.push(m),m=null;if(m!==null)N.push(m);return N},a=(G)=>s.has(G),F=(G)=>{let w=s.get(G);if(!w)return!1;let N=G*e,m=Math.min(e,l-N);return w.count>=m},D=(G)=>{let w=s.get(G);if(w)w.lastAccess=Date.now()},L=(G,w)=>{if(G>w||s.size===0)return;let N=Date.now(),m=c(Math.max(0,G)),x=c(Math.min(l-1,w));for(let Z=m;Z<=x;Z++){let J=s.get(Z);if(J)J.lastAccess=N}},B=(G,w)=>{if(i<=n)return 0;let N=Math.max(0,G-o),m=Math.min(l-1,w+o),x=c(N),Z=c(m),J=0,O=[];for(let[P,j]of s)if(P<x||P>Z)J+=j.count,O.push(P),i-=j.count,s.delete(P);if(J>0&&r)r(J,O);return J},X=()=>{if(i<=n)return 0;let G=Array.from(s.entries()).sort(([,m],[,x])=>m.lastAccess-x.lastAccess),w=0,N=[];for(let[m,x]of G){if(i<=n)break;w+=x.count,i-=x.count,N.push(m),s.delete(m)}if(w>0&&r)r(w,N);return w},_=()=>({totalItems:l,cachedItems:i,cachedChunks:s.size,chunkSize:e,maxCachedItems:n,memoryEfficiency:l>0?1-i/l:1}),se=()=>i,V=()=>{s.clear(),i=0};return{chunkSize:e,maxCachedItems:n,getTotal:E,setTotal:T,get:p,has:k,set:h,setRange:y,insert:C,delete:f,getRange:b,isRangeLoaded:R,getLoadedRanges:M,findUnloadedRanges:g,getChunkIndex:c,isChunkLoaded:a,isChunkFullyLoaded:F,touchChunk:D,touchChunksForRange:L,evictDistant:B,evictToLimit:X,getStats:_,getCachedCount:se,clear:V,reset:()=>{V(),l=0}}};var Wn=(t={})=>{let{maskCharacter:e=gn,maxSampleSize:n=pn}=t,o=[],r=!1,s=(u)=>{if(r||u.length===0)return;let E=Math.min(u.length,n);for(let T=0;T<E;T++){let p=u[T];if(!p||typeof p!=="object")continue;let k={},h=!1;for(let[y,C]of Object.entries(p)){if(y.startsWith("_")||y==="id")continue;k[y]=String(C??"").length,h=!0}if(h)o.push(k)}r=!0},l=()=>r,i=(u)=>{let E={id:`${$e}${u}`,[Lt]:!0,_index:u};if(o.length===0)return E.label=e.repeat(12),E;let T=o[u%o.length];for(let[p,k]of Object.entries(T))E[p]=e.repeat(Math.max(1,k));return E};return{analyzeStructure:s,hasAnalyzedStructure:l,generate:i,generateRange:(u,E)=>{let T=[];for(let p=u;p<=E;p++)T.push(i(p));return T},clear:()=>{o=[],r=!1}}},gt=(t)=>{if(!t||typeof t!=="object")return!1;return t[Lt]===!0};var Ho=50,Kn=(t={})=>{let{adapter:e,initialItems:n,initialTotal:o,storage:r,placeholder:s,pageSize:l=Ho,maxConcurrent:i=0,onStateChange:v,onDataChange:c,onItemsLoaded:u,onItemsEvicted:E,onLoadError:T}=t,p=Bn({...r,onEvict:(ce,H)=>{E?.(ce),B(),L()}}),k=null,h=()=>{if(!k)k=Wn(s);return k},y=new Map,C=!1,f,b=!0,R,M,g=[],a=0,F=new Map,D=()=>{for(let ce of F.values())ce[1].abort();F.clear()},L=()=>{v?.(m())},B=()=>{c?.()},X=()=>{y.clear();let ce=p.getLoadedRanges();for(let H of ce)for(let le=H.start;le<=H.end;le++){let re=p.get(le);if(re&&!gt(re))y.set(re.id,le)}},_=(ce,H)=>{if(!gt(H))y.set(H.id,ce)},se=(ce)=>{y.delete(ce)},V=(ce,H)=>`${ce}-${H}`,q=()=>p.getTotal(),G=()=>p.getCachedCount(),w=()=>C,N=()=>b,m=()=>({total:p.getTotal(),cached:p.getCachedCount(),isLoading:C,pendingRanges:g,error:f,hasMore:b,cursor:R}),x=()=>p,Z=()=>h(),J=(ce)=>{let H=p.get(ce);if(H!==void 0)return H;if(ce>=0&&ce<p.getTotal())return h().generate(ce);return},O=(ce)=>{let H=y.get(ce);if(H===void 0)return;return p.get(H)},P=(ce)=>y.get(ce)??-1,j=(ce)=>{let H=p.get(ce);return H!==void 0&&!gt(H)},z=(ce,H)=>{let le=[],re=p.getTotal();p.touchChunksForRange(ce,Math.min(H,re-1));for(let ye=ce;ye<=H&&ye<re;ye++){let Le=p.get(ye);if(Le!==void 0)le.push(Le);else le.push(h().generate(ye))}return le},K=(ce)=>{p.setTotal(ce),b=p.getCachedCount()<ce,B(),L()},d=(ce,H=0,le)=>{if(e&&ce.length>0){let re=h();if(!re.hasAnalyzedStructure())re.analyzeStructure(ce)}for(let re=0;re<ce.length;re++){let ye=ce[re];if(ye!==void 0){let Le=H+re;p.set(Le,ye),_(Le,ye)}}if(le!==void 0)p.setTotal(le);else if(H+ce.length>p.getTotal())p.setTotal(H+ce.length);if(p.getCachedCount()>=p.getTotal()&&p.getTotal()>0)b=!1;B(),L(),u?.(ce,H,p.getTotal())},I=(ce,H)=>{let le=p.get(ce);if(!le)return!1;let re=le.id,ye={...le,...H};if(p.set(ce,ye),H.id!==void 0&&H.id!==re)se(re);return _(ce,ye),B(),L(),!0},S=(ce,H)=>{p.insert(H,ce),X(),D(),B(),L()},A=(ce)=>{let H=y.get(ce);if(H===void 0)return!1;if(!p.delete(H))return!1;return X(),D(),B(),L(),!0},Y=async(ce,H)=>{if(!e)return;let le=p.chunkSize,re=Math.floor(ce/le),ye=Math.floor(H/le),Le=le*2;for(let[Ie,Ee]of F){let ze=Ie.indexOf("-"),U=parseInt(Ie.slice(0,ze),10);if(Math.abs(U-ce)>Le)Ee[1].abort(),F.delete(Ie)}let xe=[],Ce=[];for(let Ie=re;Ie<=ye;Ie++){let Ee=Ie*le,ze=Ee+le-1,U=V(Ee,ze);if(p.isChunkFullyLoaded(Ie))continue;let ae=F.get(U);if(ae)Ce.push(ae[0]);else xe.push({start:Ee,end:ze})}if(xe.length===0){if(Ce.length>0)await Promise.all(Ce);return}if(i>0){let Ie=F.size+xe.length;if(Ie>i){let Ee=(ce+H)/2,ze=Math.min(Ie-i,F.size);while(ze>0){let ve=null,ae=-1,pe=null;for(let[me,Me]of F){let ge=me.indexOf("-"),Se=parseInt(me.slice(0,ge),10),Re=parseInt(me.slice(ge+1),10),ue=Math.abs((Se+Re)/2-Ee);if(ue>ae)ae=ue,ve=me,pe=Me[1]}if(ve)pe.abort(),F.delete(ve);ze--}let U=i-F.size;if(xe.length>U)xe.sort((ve,ae)=>{let pe=Math.abs((ve.start+ve.end)/2-Ee),me=Math.abs((ae.start+ae.end)/2-Ee);return pe-me}),xe.length=Math.max(0,U)}}if(xe.length===0){if(Ce.length>0)await Promise.all(Ce);return}for(let Ie of xe){let Ee=V(Ie.start,Ie.end),ze=new AbortController,U=(async()=>{g.push(Ie),C=!0,f=void 0,L();try{let ve=Ie.end-Ie.start+1,ae={offset:Ie.start,limit:ve,cursor:Ie.start===M?R:void 0,signal:ze.signal},pe=await e.read(ae);if(d(pe.items,Ie.start,pe.total),pe.cursor)R=pe.cursor,M=Ie.start+pe.items.length;let me=Ie.start+pe.items.length;if(me>=a){if(a=me,pe.hasMore!==void 0)b=pe.hasMore;else if(pe.total!==void 0)b=me<pe.total}}catch(ve){if(ve?.name==="AbortError")return;f=ve instanceof Error?ve:Error(String(ve)),T?.(f,Ie)}finally{F.delete(Ee);let ve=g.findIndex((ae)=>ae.start===Ie.start&&ae.end===Ie.end);if(ve>=0)g.splice(ve,1);C=F.size>0,L()}})();F.set(Ee,[U,ze]),Ce.push(U)}await Promise.all(Ce)},ne=async(ce,H)=>{if(p.isRangeLoaded(ce,H))return;await Y(ce,H)},oe=async()=>{if(!e)return;await Y(0,l-1)},Q=async()=>{if(!e||C||!b)return!1;let ce=p.getCachedCount(),H=p.getTotal(),le=ce,re=Math.min(le+l-1,H>0?H-1:le+l-1);if(le>=H&&H>0)return b=!1,!1;return await Y(le,re),p.getCachedCount()>ce},ie=async()=>{if(p.clear(),y.clear(),k)k.clear();D(),g=[],C=!1,R=void 0,M=void 0,b=!0,a=0,f=void 0,B(),L()},te=(ce,H)=>{if(p.evictDistant(ce,H)>0)X()},he=()=>{p.clear(),y.clear(),R=void 0,M=void 0,f=void 0,g=[],C=!1,B(),L()},be=()=>{if(p.reset(),y.clear(),k)k.clear();R=void 0,M=void 0,b=!0,a=0,f=void 0,g=[],C=!1,B(),L()};if(n&&n.length>0)d(n,0,o??n.length);else if(o!==void 0)p.setTotal(o),B(),L();return{getState:m,getTotal:q,getCached:G,getIsLoading:w,getHasMore:N,getStorage:x,getPlaceholders:Z,getItem:J,getItemById:O,getIndexById:P,isItemLoaded:j,getItemsInRange:z,setTotal:K,setItems:d,updateItem:I,insertItem:S,removeItem:A,loadRange:Y,ensureRange:ne,loadInitial:oe,loadMore:Q,reload:ie,evictDistant:te,clear:he,reset:be}};function Ft(t){let{adapter:e,total:n,autoLoad:o=!0,storage:r}=t,s=t.loading?.cancelThreshold??sn,l=t.loading?.preloadThreshold??rn,i=t.loading?.preloadAhead??on,v=t.loading?.maxConcurrent??ln,c,u,E,T,p,k,h=null,y=null,C=null,f=0,b=!1,R=null,M=xt,g=-1,a=-1,F=-1,D=-1,L=r?.chunkSize??at,B=()=>{if(h=null,y!==null)clearTimeout(y),y=null},X=(m,x)=>c.ensureRange(m,x),_=(m,x=at)=>{T.emit("load:start",{offset:m,limit:x})},se=(m)=>{T.emit("error",{error:m,context:"ensureRange"})},V=()=>{h=null;let m={start:u.startIndex,end:u.startIndex+Math.max(0,u.visibleCount-1)};if(m.end<m.start)return;X(m.start,m.end).catch(se)},q=()=>{if(R!==null)clearTimeout(R),R=null},G=()=>{if(u.destroyed)return;let m=c.getTotal();if(u.visibleCount<=0||u.startIndex>=m)return;let x=Math.min(u.startIndex+u.visibleCount-1,m-1);if(x<u.startIndex)return;X(u.startIndex,x).catch(se)},w=()=>{if(R!==null||u.destroyed)return;R=setTimeout(()=>{R=null,G()},M),M=Math.min(M*2,an)},N=()=>{q(),M=xt};return{name:"data",priority:20,setup(m){u=m.getState(),E=m.sizeCache,T=m.emitter,p=m.dom,k=m.forceRender.bind(m);let x=null;m.setVirtualTotalFn(()=>x?.getTotal()??0),m.setGetIndexByIdFn((J)=>x?.getIndexById(J)??-1),c=x=Kn({adapter:e,...n!==void 0&&{initialTotal:n},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(u.initialized){let J=c.getTotal(),O=c.getCached();if(u.totalItems=J,J!==g||O!==a)g=J,a=O,E.rebuild(J);m.updateContentSize(E.getTotalSize()),m.renderIfNeeded()}},onItemsLoaded:(J)=>{if(N(),u.initialized)m.updateContentSize(E.getTotalSize()),k(),T.emit("load:end",{items:J,total:c.getTotal()})},onLoadError:(J)=>{if(T.emit("error",{error:J,context:"load"}),u.initialized)m.renderIfNeeded();w()}}),m.setGetItemFn((J)=>c.getItem(J)),m.setRemoveItemFn((J)=>{let O=c.getIndexById(J);if(O<0)return-1;if(!c.removeItem(J))return-1;return O}),m.setInsertItemFn((J,O)=>{c.insertItem(J,O)}),m.setUpdateItemFn((J,O)=>{let P=c.getIndexById(J);if(P<0)return!1;return c.updateItem(P,O)}),m.registerMethod("reload",async()=>{if(h=null,F=-1,D=-1,N(),m.forceRender(),await c.reload(),m.scrollTo(0),o)_(0),await c.loadInitial(),m.forceRender()}),m.registerMethod("loadVisibleRange",async()=>{h=null,m.forceRender();let J=c.getTotal();if(u.visibleCount>0&&u.startIndex<J){let O=Math.min(u.startIndex+u.visibleCount-1,J-1);_(u.startIndex,O-u.startIndex+1),await X(u.startIndex,O)}}),m.registerMethod("loadInitial",async()=>{_(0),await c.loadInitial(),m.forceRender()}),m.registerMethod("getTotal",()=>c.getTotal()),m.registerMethod("setTotal",(J)=>{c.setTotal(J)}),m.registerMethod("_getTotal",()=>c.getTotal()),m.registerMethod("_setTotal",(J)=>{c.setTotal(J)}),m.registerMethod("_cancelAutoLoad",()=>{b=!0}),m.registerMethod("_getLoadedItem",(J)=>c.getStorage().get(J)),m.registerMethod("_getItem",(J)=>c.getItem(J)),m.registerMethod("_getLoadedCount",()=>c.getCached()),T.on("load:start",()=>{p.root.setAttribute("aria-busy","true")}),T.on("load:end",()=>{p.root.removeAttribute("aria-busy")}),m.registerDestroyHandler(()=>{if(C!==null)clearTimeout(C),C=null;B(),q()}),T.on("velocity:change",({velocity:J})=>{f=Math.abs(J)});let Z=()=>{if(u.destroyed)return;N(),G(),V()};if(window.addEventListener("online",Z),m.registerDestroyHandler(()=>{window.removeEventListener("online",Z)}),o)queueMicrotask(()=>{if(b)return;_(0),c.loadInitial().catch((J)=>{T.emit("error",{error:J,context:"loadInitial"})})});else if(n!==void 0)c.setTotal(n)},hooks:{onAfterScroll(){if(u.destroyed)return;let m=u.startIndex+Math.max(0,u.visibleCount-1);if(f>s){if(y!==null)clearTimeout(y),y=null;h={start:u.startIndex,end:m};return}if(f>l){let J=Math.floor(u.startIndex/L),O=Math.floor(m/L);if(J!==F||O!==D){if(F=J,D=O,m>=u.startIndex)X(u.startIndex,m).catch(se)}let P=u.startIndex,j=m,z=u.scrollDirection;if(z>0)j=Math.min(j+i,c.getTotal()-1);else if(z<0)P=Math.max(0,P-i);if(h={start:P,end:j},y!==null)clearTimeout(y);y=setTimeout(()=>{if(y=null,u.destroyed||!h)return;let{start:K,end:d}=h;if(h=null,d>=K)X(K,d).catch(se)},100);return}B();let x=Math.floor(u.startIndex/L),Z=Math.floor(m/L);if(x!==F||Z!==D){if(F=x,D=Z,m>=u.startIndex)X(u.startIndex,m).catch(se)}},onIdle(){if(u.destroyed)return;f=0,F=-1,D=-1,V(),B()},onResize(){if(u.destroyed)return;let m=c.getTotal();if(m<=0)return;if(u.visibleCount<=0||u.startIndex>=m)return;let x=Math.min(u.startIndex+u.visibleCount-1,m-1);if(x<u.startIndex)return;_(u.startIndex,x-u.startIndex+1),X(u.startIndex,x).catch(se)}},destroy(){if(C!==null)clearTimeout(C);B(),q()}}}var Dt=(t,e)=>{let n=0,o=t.length-1;while(n<o){let r=n+o+1>>>1;if(t[r].headerLayoutIndex<=e)n=r;else o=r-1}return n},Un=(t,e)=>{let n=0,o=t.length-1;while(n<o){let r=n+o+1>>>1;if(t[r].firstDataIndex<=e)n=r;else o=r-1}return n},Yn=(t,e,n)=>{if(t===0)return[];let o=[],r=null,s=0,l=0;for(let i=0;i<t;i++){let v=n?.(i);if(!v)continue;let c=e(i,v);if(r===null)r=c,s=0;else if(c!==r){let u=i-s;o.push({key:r,groupIndex:o.length,headerLayoutIndex:l,firstDataIndex:s,count:u}),l=l+1+u,r=c,s=i}}if(r!==null)o.push({key:r,groupIndex:o.length,headerLayoutIndex:l,firstDataIndex:s,count:t-s});return o};var Xn=(t,e,n)=>{let o=Yn(t,e.getGroupForIndex,n),r=t+o.length,s=e.header?.height??e.header?.width??e.headerHeight;return{get totalEntries(){return r},get groupCount(){return o.length},get groups(){return o},getEntry:(p)=>{if(o.length===0)return{type:"item",dataIndex:p,group:{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0}};let k=Dt(o,p),h=o[k];if(p===h.headerLayoutIndex)return{type:"header",group:h};let y=p-h.headerLayoutIndex-1;return{type:"item",dataIndex:h.firstDataIndex+y,group:h}},layoutToDataIndex:(p)=>{if(o.length===0)return p;let k=Dt(o,p),h=o[k];if(p===h.headerLayoutIndex)return-1;let y=p-h.headerLayoutIndex-1;return h.firstDataIndex+y},dataToLayoutIndex:(p)=>{if(o.length===0)return p;let k=Un(o,p),h=o[k],y=p-h.firstDataIndex;return h.headerLayoutIndex+1+y},getGroupAtLayoutIndex:(p)=>{if(o.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let k=Dt(o,p);return o[k]},getGroupAtDataIndex:(p)=>{if(o.length===0)return{key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0};let k=Un(o,p);return o[k]},getHeaderHeight:typeof s==="number"?(p)=>s:(p)=>{let k=o[p];if(!k)return 0;return s(k.key,p)},rebuild:(p,k)=>{o=Yn(p,e.getGroupForIndex,k??n),r=p+o.length}}};var Vt=(t,e,n,o,r=0)=>{let s=n?"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;"+(n?`position:absolute;top:0;bottom:0;left:${r||0}px`:`position:relative;top:${r||0}px`),l.style[s]=`${o}px`,t.insertBefore(l,t.firstChild),l},qn=(t,e,n,o,r,s=!1,l=0,i,v)=>{let c=s?"width":"height",u=s?"height":"width",E=s?"X":"Y",T=(d,I)=>{d.style[c]=`${I}px`},p=i??Vt(t,r,s,0,l),k=()=>{let d=document.createElement("div");return d.className="sticky-group",d.style.position="absolute",d.style.willChange="transform",d.style[u]="100%",d},h=k(),y=k();p.append(h,y);let C=h,f=y,b=e.groups,R=[],M=[],g=[],a=0,F=()=>{b=e.groups,a=b.length,R=Array(a),M=Array(a),g=Array(a);for(let d=0;d<a;d++)R[d]=v?v(b[d].headerLayoutIndex):n.getOffset(b[d].headerLayoutIndex),M[d]=e.getHeaderHeight(d),g[d]=M[d]};F();let D=-1,L=0,B=0,X=-1,_=!1,se=0,V=!1,q=(d,I)=>{o(d,I);let S=M[I];return T(d,S),S},G=(d)=>{d.replaceChildren(),d.style.transform=""},w=(d)=>{if(d===D)return;if(D=d,L=0,B=0,d<0||d>=a){G(C);return}L=q(C,d),B=g[d],T(p,L),C.style.transform=""},N=(d)=>{if(d===se)return;se=d;let I=Math.round(d);C.style.transform=`translate${E}(${I}px)`,f.style.transform=`translate${E}(${I+L}px)`},m=()=>{se=0,C.style.transform="",f.style.transform=""},x=()=>{if(!V)return;let d=C;C=f,f=d,D=X,L=D>=0?M[D]:0,B=D>=0?g[D]:0,T(p,L),G(f),X=-1,V=!1,m()},Z=()=>{if(!V)return;G(f),X=-1,V=!1,m()},J=!!i,O=()=>{if(_)return;if(_=!0,J)p.style.visibility="";else p.style.display=""},P=()=>{if(!_)return;if(_=!1,J)p.style.visibility="hidden";else p.style.display="none";G(C),D=-1,L=0,B=0,Z()},j=(d)=>{if(a===0){if(V)Z();if(!_)O();w(-1);return}if(d<R[0]){P();return}let I=0,S=a-1;while(I<S){let Y=I+S+1>>>1;if(R[Y]+g[Y]<=d)I=Y;else S=Y-1}if(!_)O();w(I);let A=I+1;if(A<a){let Y=R[A]-d;if(Y<=0&&Y>-B){if(X!==A||!V)X=A,q(f,A),V=!0;let ne=B>0?Y/B*L:Y;N(ne)}else if(Y<=-B){if(V)x()}else if(V)Z()}else if(V)Z()},z=()=>{F();let d=D;if(D=-1,L=0,B=0,d>=0)w(d)},K=()=>{p.remove(),D=-1,L=0,B=0,X=-1,_=!1,V=!1};if(!i)p.style.display="none";return{update:j,refresh:z,show:O,hide:P,destroy:K}};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 n=t.header?.template??t.headerTemplate;if(!n)throw Error("[vlist] groups: header.template is required");let o=n,r,s=null,l,i,v,c,u=null,E,T,p,k=null,h,y,C,f=null,b,R,M=null,g=null,a=0,F=0,D=0,L=0,B=0,X=!1,_=null,se=new Map,V=new Set,q=new Map,G=-1,w=-1,N=0,m=!0,x=-1,Z=0,J=null,O;function P(){return r.totalEntries}function j(){let H=i.totalItems;if(H===x)return;if(jn)console.log(`[groups] syncLayout: ${x} → ${H}`);let le=x>0;x=H,r.rebuild(H,k??p),O(r.totalEntries),S();let re=K?A():l.getTotalSize();if(u?.(re),s)s.refresh(),s.update(i.scrollPosition);if(le)oe();let ye=M?.("_scrollbar:getInstance");if(ye)ye()?.updateBounds(re,i.containerSize)}let z=0,K=null,d=null,I=null;function S(){if(a<=0){K=null,d=null;return}z=((i.crossSize||c.clientWidth)-L-(a-1)*F)/a,K=new Map;let re=r.totalEntries,ye=Array(re),Le=0;if(X){let xe=_??((U)=>l.getSize(U)),Ce=new Float64Array(a),Ie=[],Ee=0,ze=-1;for(let U=0;U<re;U++){let ve=r.getEntry(U);if(ve.type==="header"){let ae=0;for(let me=0;me<a;me++)if(Ce[me]>ae)ae=Ce[me];if(ze>=0)Ie[ze]=Ee+ae;Ee+=ae;let pe=l.getSize(U);K.set(U,{col:-1,rowY:Ee}),ye[Le++]=[U,Ee,Ee+pe],Ee+=pe,Ce.fill(0),ze=ve.group.groupIndex}else{let ae=0,pe=Ce[0];for(let ge=1;ge<a;ge++)if(Ce[ge]<pe)pe=Ce[ge],ae=ge;let me=xe(ve.dataIndex),Me=Ee+Ce[ae];K.set(U,{col:ae,rowY:Me,h:me}),ye[Le++]=[U,Me,Me+me],Ce[ae]=Ce[ae]+me+F}}if(ze>=0){let U=0;for(let ve=0;ve<a;ve++)if(Ce[ve]>U)U=Ce[ve];Ie[ze]=Ee+U}I=Ie}else{I=null;let xe=0,Ce=0,Ie=0;for(let Ee=0;Ee<re;Ee++)if(r.getEntry(Ee).type==="header"){if(Ce>0&&Ie>0)xe+=Ie;let U=l.getSize(Ee);K.set(Ee,{col:-1,rowY:xe}),ye[Le++]=[Ee,xe,xe+U],xe+=U,Ce=0,Ie=0}else{let U=Ce%a,ve=l.getSize(Ee);if(U===0){if(Ce>0&&Ie>0)xe+=Ie+F;Ie=ve}else if(ve>Ie)Ie=ve;K.set(Ee,{col:U,rowY:xe}),ye[Le++]=[Ee,xe,xe+ve],Ce++}}ye.length=Le,d=ye}function A(){if(!K||K.size===0)return l.getTotalSize();let H=r.totalEntries;if(X)return I?.[I.length-1]??0;let le=0;for(let re=H-1;re>=0;re--){let ye=K.get(re);if(ye){le=ye.rowY+(ye.h??l.getSize(re));break}if(r.getEntry(re).type==="header"){le=l.getOffset(re)+l.getSize(re);break}}return le}function Y(H){let le=i.baseOffset;if(K){let ye=K.get(H);if(ye){let Le=ye.col<0?0:D+ye.col*(z+F),xe=ye.rowY-le;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)-le;if(h)return`translate(${Math.round(re)}px, 0)`;return`translate(0, ${Math.round(re)}px)`}function ne(H,le){let re=K?.get(le);if(re){let Le=re.h??l.getSize(le);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=`${z}px`;else H.style.height=`${Le}px`,H.style.width=`${z}px`;return}let ye=l.getSize(le);if(h)H.style.width=`${ye}px`;else H.style.height=`${ye}px`}function oe(){se.forEach((H)=>{H.remove();let le=H.getAttribute("data-id");if(le)q.set(le,H);else v.release(H)}),se.clear(),V.clear()}function Q(){if(q.size>0)q.forEach((H)=>v.release(H)),q.clear()}function ie(H,le,re,ye){if(g===null)g=!!M?.("_getSelectedIds");if(le.type==="header"){let ze=`__group_header_${le.group.groupIndex}`;if(H.getAttribute("data-id")===ze)return!0;if(H.className=R,H.setAttribute("role","presentation"),H.removeAttribute("aria-selected"),H.setAttribute("data-id",ze),h&&s&&le.group.groupIndex===0)H.style.display="none";else{H.style.display="";let U=o(le.group.key,le.group.groupIndex);if(typeof U==="string")H.innerHTML=U;else H.innerHTML="",H.appendChild(U)}return!0}let Le=le.dataIndex,xe=p(Le);if(!xe)return H.innerHTML="",!1;let Ce=xe._isPlaceholder===!0,Ie=String(xe.id);if(!Ce&&H.getAttribute("data-id")===Ie){if(g)H.id=`${y}-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",g?"option":"listitem"),H.setAttribute("data-id",Ie),g)H.id=`${y}-item-${ye}`,H.setAttribute("aria-posinset",String(Le+1)),H.setAttribute("aria-setsize",String(i.totalItems));if(Ce)H.classList.add(`${y}-item--placeholder`);if(re)re(ye,Ye);else Ye.selected=!1,Ye.focused=!1;let Ee=T(xe,Le,Ye);if(typeof Ee==="string")H.innerHTML=Ee;else H.innerHTML="",H.appendChild(Ee);return Be(H),!Ce}let te=0;function he(){if(a<=0)return;let H=i.crossSize;if(H===te)return;te=H,S();let le=A();if(u?.(le),s)s.refresh(),s.update(i.scrollPosition);m=!0}function be(){if(i.destroyed)return;j(),he();let H=i.scrollPosition,le=i.containerSize,re=i.baseOffset,ye=re!==N;if(!m&&H===G&&le===w&&!ye)return;G=H,w=le;let Le=m;m=!1;let xe=P();if(le<=0||xe===0){if(se.size>0)se.forEach((ge)=>{ge.remove(),v.release(ge)}),se.clear(),V.clear();return}let Ce,Ie;if(d){let ge=d,Se=ge.length,Re=0,ue=Se-1;while(Re<ue){let He=Re+ue>>>1;if(ge[He][2]<=H)Re=He+1;else ue=He}let W=Re;ue=Se-1;while(Re<ue){let He=Re+ue+1>>>1;if(ge[He][1]>=H+le)ue=He-1;else Re=He}let fe=Re,de=ge[W][0],Pe=ge[fe][0];for(let He=de-1;He>=0;He--)if(r.getEntry(He).type==="header"){de=He;break}let we=C*a;Ce=Math.max(0,de-we),Ie=Math.min(xe-1,Pe+we)}else{let ge=l.indexAtOffset(H),Se=l.indexAtOffset(H+le);if(Se<xe-1)Se++;ge=Math.max(0,ge),Se=Math.min(xe-1,Math.max(0,Se)),Ce=Math.max(0,ge-C),Ie=Math.min(xe-1,Se+C)}if(Ce===i.prevRangeStart&&Ie===i.prevRangeEnd&&!i.renderPending&&!ye)return;N=re,se.forEach((ge,Se)=>{if(Se<Ce||Se>Ie)ge.remove(),v.release(ge),se.delete(Se),V.delete(Se)});let Ee=f?.()??null,ze=Ee?`${y}-item--selected`:"",U=Ee?`${y}-item--focused`:"",ve=null;for(let ge=Ce;ge<=Ie;ge++){let Se=se.get(ge),Re=!1;if(Se===void 0){let ue=r.getEntry(ge);Re=ue.type==="header";let W;if(ue.type==="header")W=`__group_header_${ue.group.groupIndex}`;else{let de=p(ue.dataIndex);if(de&&de._isPlaceholder!==!0)W=String(de.id)}if(W!==void 0){let de=q.get(W);if(de)q.delete(W),Se=de}if(!Se)Se=v.acquire();if(Se.setAttribute("data-index",String(ge)),ie(Se,ue,Ee,ge))V.delete(ge);else V.add(ge);if(ne(Se,ge),Se.style.transform=Y(ge),se.set(ge,Se),!ve)ve=document.createDocumentFragment();ve.appendChild(Se)}else if(Le&&V.has(ge)){let ue=r.getEntry(ge);if(ue.type==="item")if(ie(Se,ue,Ee,ge))V.delete(ge);else V.add(ge)}else if(Re=Se.classList.contains(R),Le)ne(Se,ge),Se.style.transform=Y(ge);else if(ye)Se.style.transform=Y(ge);if(!Re&&Ee)if(Ee(ge,Ye),Se.classList.toggle(ze,Ye.selected),Se.classList.toggle(U,Ye.focused),Ye.selected)Se.setAttribute("aria-selected","true");else Se.removeAttribute("aria-selected")}if(ve)c.appendChild(ve);Q();let ae=K?A():l.getTotalSize();u?.(ae),i.prevRangeStart=Ce,i.prevRangeEnd=Ie,i.renderPending=!1;let pe=0,me=0,Me=!1;for(let ge=Ce;ge<=Ie&&pe<i.capacity;ge++){let Se=r.getEntry(ge);if(Se.type==="item"){if(!Me)me=Se.dataIndex,Me=!0;i.visibleIndices[pe]=Se.dataIndex,i.visibleOffsets[pe]=l.getOffset(ge),i.visibleSizes[pe]=l.getSize(ge),pe++}}i.visibleCount=pe,i.startIndex=me}function ce(){if(i.destroyed)return;if(he(),jn)console.log(`[groups] forceRender, placeholders: ${V.size}, rendered: ${se.size}`);let H=J?.()??0;if(H!==Z){Z=H;let le=r.groups,re=le.length;r.rebuild(x,k??p);let ye=r.groups,Le=ye.length!==re;if(!Le){for(let xe=0;xe<re;xe++)if(ye[xe].headerLayoutIndex!==le[xe].headerLayoutIndex){Le=!0;break}}if(Le){O(r.totalEntries),S();let xe=K?A():l.getTotalSize();if(u?.(xe),s)s.refresh(),s.update(i.scrollPosition);let Ce=1/0,Ie=Math.min(re,ye.length);for(let ze=0;ze<Ie;ze++)if(ye[ze].headerLayoutIndex!==le[ze].headerLayoutIndex){Ce=Math.min(ye[ze].headerLayoutIndex,le[ze].headerLayoutIndex);break}if(ye.length>re&&Ie<ye.length)Ce=Math.min(Ce,ye[Ie].headerLayoutIndex);else if(re>ye.length&&Ie<re)Ce=Math.min(Ce,le[Ie].headerLayoutIndex);if(Ce<=i.prevRangeEnd)oe();let Ee=M?.("_scrollbar:getInstance");if(Ee)Ee()?.updateBounds(xe,i.containerSize)}}i.prevRangeStart=-1,i.prevRangeEnd=-1,i.renderPending=!0,m=!0,be()}return{name:"groups",priority:10,setup(H){l=H.sizeCache,i=H.getState(),v=H.pool,c=H.dom.content,u=H.updateContentSize.bind(H),E=H.dom.root,T=H.template,h=H.config.axis.primary==="x",y=H.config.classPrefix,C=H.config.overscan,B=H.config.mainAxisPadding,p=H.getItem.bind(H),f=()=>H.getItemStateFn(),M=H.getMethod.bind(H),g=null,b=`${y}-item`,R=`${y}-group-header`;let le=M?.("getGridLayout"),re=M?.("getMasonryLayout");if(le){let ae=le();a=ae.columns,F=ae.gap,D=H.config.crossPadStart,L=H.config.crossAxisPadding}else if(re){let ae=re();a=ae.columns,F=ae.gap,D=H.config.crossPadStart,L=H.config.crossAxisPadding,X=!0;let pe=H.rawSizeSpec;if(typeof pe==="function")_=(me)=>pe(me,{columnWidth:z})}queueMicrotask(()=>{let ae=M?.("_getLoadedItem");if(ae)k=ae;let pe=M?.("_getLoadedCount");if(pe)J=pe});let ye=i.totalItems;r=Xn(ye,t,k??p),x=ye;let Le=typeof e==="number"?(ae)=>e:(ae)=>{let pe=r.groups[ae];if(!pe)return 0;return e(pe.key,ae)},xe=l.getSize,Ce=(ae)=>{let pe=r.getEntry(ae);if(pe.type==="header"){if(t.sticky!==!1&&pe.group.groupIndex===0)return 0;return Le(pe.group.groupIndex)}return xe(pe.dataIndex)};H.setSizeConfig(Ce);let Ie=!1,Ee=-1;if(H.registerMethod("_setSizeCacheBase",(ae)=>{O=ae}),O=l.rebuild,l.rebuild=(ae)=>{if(Ie){if(!J)J=M?.("_getLoadedCount")??null;let pe=J?.()??0;if(ae!==x||pe!==Ee){if(x=ae,Ee=pe,!k)k=M?.("_getLoadedItem")??null;if(r.rebuild(ae,k??((me)=>H.getItems()[me])),i.totalItems=r.totalEntries,s)s.refresh(),s.update(i.scrollPosition)}}O(r.totalEntries)},l.rebuild(r.totalEntries),S(),H.setVirtualTotalFn(()=>r.totalEntries),E.classList.add(`${y}--grouped`),t.sticky!==!1){let ae=(ge,Se)=>{let Re=r.groups[Se];if(!Re)return;let ue=o(Re.key,Se);if(typeof ue==="string")ge.innerHTML=ue;else ge.replaceChildren(ue)},pe=r.getHeaderHeight(0),me=Vt(E,y,h,pe),Me=a>0?(ge)=>{let Se=K?.get(ge);return Se?Se.rowY:l.getOffset(ge)}:void 0;if(s=qn(E,r,l,ae,y,h,0,me,Me),s.update(i.scrollPosition),!h)H.dom.viewport.style.height=`calc(100% - ${pe}px)`;else H.dom.viewport.style.width=`calc(100% - ${pe}px)`,H.dom.viewport.style.marginLeft=`${pe}px`}let ze=!!M?.("_updateTableForGroups");if(Ie=ze,ze)queueMicrotask(()=>{let ae=M?.("_getItem")??null,pe=H.getItems.bind(H);H.setGetItemFn((Me)=>{let ge=r.getEntry(Me);if(ge.type==="header")return{id:`__group_header_${ge.group.groupIndex}`,__groupHeader:!0,groupKey:ge.group.key,groupIndex:ge.group.groupIndex};return ae?ae(ge.dataIndex):pe()[ge.dataIndex]});let me=M?.("_updateTableForGroups");if(me)me((Me)=>!!Me.__groupHeader,o)});else H.setRenderFn(be,ce);H.registerMethod("getGroupLayout",()=>r),H.registerMethod("_dataToLayoutIndex",(ae)=>r.dataToLayoutIndex(ae)),H.registerMethod("_layoutToDataIndex",(ae)=>r.layoutToDataIndex(ae)),H.registerMethod("_getRenderedElement",(ae)=>se.get(ae)??null),H.registerMethod("_isGroupHeader",(ae)=>r.getEntry(ae).type==="header"),H.registerMethod("_getItemLane",(ae)=>{let pe=K?.get(ae);return pe?pe.col:-1}),H.registerMethod("_getItemY",(ae)=>{let pe=K?.get(ae);return pe?pe.rowY:-1}),H.registerMethod("_getItemH",(ae)=>K?.get(ae)?.h??-1);let U=H.config.startPadding,ve=B-U;H.registerMethod("_scrollItemIntoView",(ae)=>{if(ae<0)return;let pe=K?.get(ae),me=pe?pe.rowY:l.getOffset(ae),Me=pe?.h??l.getSize(ae),ge=i.containerSize,Se=i.scrollPosition;if(me<Se+U)H.scrollTo(Math.max(0,me-U));else if(me+Me+ve>Se+ge)H.scrollTo(me+Me+ve-ge)}),H.registerMethod("scrollToIndex",(ae,pe="start")=>{let me=r.dataToLayoutIndex(ae),Me=r.totalEntries;if(Me===0)return;let ge=Math.max(0,Math.min(me,Me-1)),Se=i.containerSize,Re=K?.get(ge),ue=Re?Re.rowY:l.getOffset(ge),W=Re?Re.h??l.getSize(ge):l.getSize(ge),fe=K?A()+B:l.getTotalSize(),de=Math.max(0,fe-Se),Pe=typeof pe==="string"?pe:pe.align??"start",we=typeof pe==="object"?pe.behavior:void 0,He=typeof pe==="object"?pe.duration:void 0,Fe=K?B:0,ke=ue+W;if(X&&I){let ee=r.getEntry(ge).group.groupIndex,Ae=I[ee];if(Ae!==void 0)ke=Ae}let Te;switch(Pe){case"center":Te=ue-(Se-W)/2;break;case"end":Te=ke-Se+Fe;break;default:Te=ue}if(Te=Math.max(0,Math.min(Te,de)),we==="smooth"&&He&&He>0)H.smoothScrollTo(Te,He);else H.scrollTo(Te)}),H.registerDestroyHandler(()=>{for(let[,ae]of se)ae.remove();if(se.clear(),V.clear(),s)s.destroy(),s=null;E.classList.remove(`${y}--grouped`)})},hooks:{onAfterScroll(H,le){if(s)s.update(H)},onResize(H,le){if(a<=0)return;O(r.totalEntries),te=i.crossSize,S();let re=A();if(u?.(re),s)s.refresh(),s.update(i.scrollPosition);m=!0,be()}},destroy(){if(s)s.destroy(),s=null;se.clear(),V.clear(),q.clear()}}}var Zn=(t,e=50,n=1/0,o=!0,r="none")=>{let s=t,l=[],i=0,v=0,c=()=>{l=s.map((b,R)=>({def:b,index:R,width:0,minWidth:ko(b.minWidth??e,1),maxWidth:b.maxWidth??n,resizable:b.resizable??o,offset:0}))},u=()=>{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 g=l[M];g.width=pt(g.width+b*(g.width/R),g.minWidth,g.maxWidth)}T()},E=(b)=>{if(v=b,l.length===0){i=0;return}let R=0,M=0;for(let g=0;g<l.length;g++){let a=l[g],F=a.def;if(F.width!==void 0)a.width=pt(F.width,a.minWidth,a.maxWidth),R+=a.width;else M++}if(M){let a=Math.max(0,b-R)/M;for(let F=0;F<l.length;F++){let D=l[F];if(D.def.width===void 0)D.width=pt(a,D.minWidth,D.maxWidth)}}T(),u()},T=()=>{let b=0;for(let R=0;R<l.length;R++){let M=l[R];M.offset=b,b+=M.width}i=b},p=(b,R)=>{if(b<0||b>=l.length)return 0;let M=l[b];if(!M.resizable)return M.width;let g=pt(R,M.minWidth,M.maxWidth);if(M.width=g,T(),r==="spacer")u();return g},k=(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 g=R+M>>>1,a=l[g];if(b<a.offset)M=g-1;else if(b>=a.offset+a.width)R=g+1;else return a}return l[R]},y=(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},f=(b)=>{s=b,c()};return c(),{get columns(){return l},get totalWidth(){return i},resolve:E,updateColumns:f,resizeColumn:p,getColumn:k,getColumnAtX:h,getColumnOffset:y,getColumnWidth:C}},pt=(t,e,n)=>Math.min(n,Math.max(e,t)),ko=(t,e)=>Math.max(e,t);var Jn=(t,e,n,o,r,s)=>{let l=document.createElement("div");l.setAttribute("role","rowgroup");let i=document.createElement("div");i.className=`${n}-table-header`,i.setAttribute("role","row"),i.setAttribute("aria-rowindex","1"),i.style.height=`${e}px`;let v=document.createElement("div");v.className=`${n}-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 c=[],u=[],E=!0,T=null,p="asc",k=null,h=!1,y=-1,C=0,f=0,b=0,R=(w,N)=>{let m=document.createElement("div");m.className=`${n}-table-header-cell`,m.setAttribute("role","columnheader"),m.setAttribute("aria-colindex",String(N+1)),m.setAttribute("tabindex",N===0?"0":"-1"),m.dataset.columnKey=w.def.key;let x=w.def.align;if(x==="center")m.classList.add(`${n}-table-header-cell--center`);else if(x==="right")m.classList.add(`${n}-table-header-cell--right`);let Z=document.createElement("div");Z.className=`${n}-table-header-content`;let J=w.def.header?w.def.header(w.def):w.def.label;if(typeof J==="string")Z.textContent=J;else Z.appendChild(J);if(m.appendChild(Z),w.def.sortable){let O=document.createElement("span");O.className=`${n}-table-header-sort`,O.setAttribute("aria-hidden","true"),m.appendChild(O),u.push(O),m.classList.add(`${n}-table-header-cell--sortable`)}else u.push(null);if(w.resizable){let O=document.createElement("div");O.className=`${n}-table-header-resize`,O.dataset.resizeIndex=String(N),m.appendChild(O)}return m},M=(w)=>{k=w,v.textContent="",c=[],u=[];let N=w.columns;for(let m=0;m<N.length;m++){let x=N[m],Z=R(x,m);c.push(Z),v.appendChild(Z)}if(g(w),T)a(T,p)},g=(w)=>{k=w;let N=w.columns;v.style.width=`${w.totalWidth}px`;for(let m=0;m<c.length&&m<N.length;m++){let x=c[m],Z=N[m];x.style.width=`${Z.width}px`}},a=(w,N)=>{if(T=w,p=N,!k)return;let m=k.columns;for(let x=0;x<u.length&&x<m.length;x++){let Z=u[x];if(!Z)continue;if(m[x].def.key===w)Z.textContent=N==="asc"?"▲":"▼",Z.style.opacity="0.7",c[x].setAttribute("aria-sort",N==="asc"?"ascending":"descending");else Z.textContent="",Z.style.opacity="0",c[x].removeAttribute("aria-sort")}},F=(w)=>{v.style.transform=`translateX(${-w}px)`},D=(w)=>{let N=w.target;if(!N.dataset.resizeIndex)return;if(w.preventDefault(),w.stopPropagation(),y=+N.dataset.resizeIndex,!k)return;let m=k.getColumn(y);if(!m?.resizable)return;h=!0,C=w.clientX,f=m.width,t.classList.add(`${n}--col-resizing`),t.style.cursor="col-resize",N.classList.add(`${n}-table-header-resize--active`),N.setPointerCapture(w.pointerId),N.addEventListener("pointermove",L),N.addEventListener("pointerup",B),N.addEventListener("pointercancel",B)},L=(w)=>{if(!h||!k)return;let N=w.clientX-C;if(Math.abs(N)<1)return;let m=Math.max(0,f+N);o(y,m)},B=(w)=>{if(!h)return;let N=w.target;N.removeEventListener("pointermove",L),N.removeEventListener("pointerup",B),N.removeEventListener("pointercancel",B);try{N.releasePointerCapture(w.pointerId)}catch{}N.classList.remove(`${n}-table-header-resize--active`),t.classList.remove(`${n}--col-resizing`),t.style.cursor="",h=!1,y=-1},X=(w)=>{let N=w.target;if(N.dataset.resizeIndex)return;if(h)return;let m=N;while(m&&!m.dataset.columnKey)if(m=m.parentElement,m===i||m===null)return;let x=m.dataset.columnKey;if(!k)return;let Z=k.columns,J=-1;for(let P=0;P<Z.length;P++)if(Z[P].def.key===x){J=P;break}if(J===-1)return;let O=Z[J];if(s)s({key:x,index:J,event:w});if(O.def.sortable&&r){let P;if(T===x)P=p==="asc"?"desc":null;else P="asc";r({key:x,index:J,direction:P})}},_=(w)=>{if(w<0||w>=c.length)return;c[b]?.setAttribute("tabindex","-1"),b=w;let N=c[b];N.setAttribute("tabindex","0"),N.focus()},se=(w)=>{let N=w.key;if(N==="ArrowRight"){if(w.ctrlKey||w.metaKey){if(!k)return;let m=k.getColumn(b);if(m?.resizable)o(b,m.width+10),w.preventDefault()}else if(b<c.length-1)_(b+1),w.preventDefault();w.stopPropagation();return}if(N==="ArrowLeft"){if(w.ctrlKey||w.metaKey){if(!k)return;let m=k.getColumn(b);if(m?.resizable)o(b,m.width-10),w.preventDefault()}else if(b>0)_(b-1),w.preventDefault();w.stopPropagation();return}if(N==="Home"){_(0),w.preventDefault(),w.stopPropagation();return}if(N==="End"){_(c.length-1),w.preventDefault(),w.stopPropagation();return}if(N==="Enter"||N===" "){if(!k)return;let m=k.getColumn(b);if(m?.def.sortable&&r){let x;if(T===m.def.key)x=p==="asc"?"desc":null;else x="asc";r({key:m.def.key,index:b,direction:x}),w.preventDefault()}w.stopPropagation();return}if(N==="ArrowDown"){t.focus(),w.preventDefault(),w.stopPropagation();return}};return i.addEventListener("pointerdown",D),i.addEventListener("click",X),i.addEventListener("keydown",se),{element:i,update:g,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",D),i.removeEventListener("click",X),i.removeEventListener("keydown",se),t.style.removeProperty("--vlist-table-header-height"),l.remove(),c=[],u=[],k=null,E=!1},syncScroll:F}};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,n,o,r,s,l,i,v,c=()=>0)=>{let u=_o(),E=new Map,T=-1,p=n,k=null,h=null,y=null,C=(I,S)=>{h=I,y=S},f=(I,S)=>{S?I.setAttribute("aria-selected","true"):I.removeAttribute("aria-selected")},b=(I,S,A,Y)=>{I.setAttribute("role",S),I.setAttribute("data-id",String(A)),I.setAttribute("data-index",String(Y))},R=(I)=>String(I).startsWith("__placeholder_"),M=`${r}-item ${r}-table-row`,g=`${r}-item--selected`,a=`${r}-item--focused`,F=`${r}-table-cell`,D=`${r}-table-cell--center`,L=`${r}-table-cell--right`,B=`${r}-table-cell-skeleton`,X=`${r}-item--odd`,_=`${r}-item--placeholder`,se=`${r}-item--replaced`,V=`${r}-table-row ${r}-table-group-header`,q=`${r}-table-group-header-content`,G=(I,S,A,Y,ne=!1)=>{if(A.def.cell){let oe=A.def.cell(S,A.def,Y);if(typeof oe==="string")I.innerHTML=oe;else I.replaceChildren(oe)}else{let oe=S[A.def.key],Q=oe!=null?String(oe):"";if(ne&&Q)I.innerHTML=`<span>${Q}</span>`;else I.textContent=Q}if(ne&&I.firstElementChild===null){I.replaceChildren();let oe=document.createElement("span");oe.className=B,I.appendChild(oe)}},w=(I,S,A,Y,ne=!1)=>{let oe=M;if(i){if(k){let Q=k(S);if(Q>=0&&(Q&1)===1)oe+=` ${X}`}else if((S&1)===1)oe+=` ${X}`}if(ne)oe+=` ${_}`;if(A)oe+=` ${g}`;if(Y)oe+=` ${a}`;I.className=oe},N=(I,S)=>{let A=S.def.align;if(A==="center")I.classList.add(D),I.classList.remove(L);else if(A==="right")I.classList.add(L),I.classList.remove(D);else I.classList.remove(D,L)},m=(I,S)=>{let Y=p.columns.length;if(S.length===Y)return S;let ne=[];for(let oe=0;oe<Y;oe++){let Q;if(oe<S.length)Q=S[oe];else Q=document.createElement("div"),Q.className=F,I.appendChild(Q);ne.push(Q)}for(let oe=Y;oe<S.length;oe++)S[oe].remove();return ne},x=(I,S,A)=>{let Y=u.acquire(),ne=I,oe=A.getSize(S),Q=A.getOffset(S)-c();Y.style.cssText=`width:${p.totalWidth}px;height:${oe}px;transform:translateY(${Q}px)`,Y.className=V,b(Y,"presentation",I.id,S),Y.removeAttribute("aria-selected"),Y.removeAttribute("aria-rowindex"),Y.replaceChildren();let ie=document.createElement("div");if(ie.className=q,y){let te=y(ne.groupKey,ne.groupIndex);if(typeof te==="string")ie.innerHTML=te;else ie.appendChild(te)}return Y.appendChild(ie),{element:Y,cells:[],index:S,isGroupHeader:!0,_lastItem:I,lastItemId:I.id,lastSelected:!1,lastFocused:!1,lastOffset:Q,lastHeight:oe}},Z=(I,S,A,Y,ne)=>{let oe=u.acquire(),Q=ne.getSize(S),ie=ne.getOffset(S)-c(),te=R(I.id);oe.style.cssText=`width:${p.totalWidth}px;height:${Q}px;transform:translateY(${ie}px)`,w(oe,S,A,Y,te),b(oe,"row",I.id,S),oe.id=`${s}-item-${S}`,oe.setAttribute("aria-rowindex",String(S+2)),f(oe,A);let he=m(oe,[]),be=p.columns;for(let ce=0;ce<he.length&&ce<be.length;ce++){let H=he[ce],le=be[ce];H.style.cssText=`left:${le.offset}px;width:${le.width}px`,H.setAttribute("role","gridcell"),H.setAttribute("aria-colindex",String(ce+1)),N(H,le),G(H,I,le,S,te)}return{element:oe,cells:he,index:S,isGroupHeader:!1,_lastItem:I,lastItemId:I.id,lastSelected:A,lastFocused:Y,lastOffset:ie,lastHeight:Q}},J=(I,S,A,Y)=>{let ne=!1,oe=l();if(oe!==T)T=oe,ne=!0;let Q=null,ie=e();k=typeof i==="string"&&v?v():null;for(let te=S.start;te<=S.end;te++){let he=te-S.start,be=I[he];if(!be)continue;let ce=A.has(be.id),H=te===Y,le=h?h(be):!1,re=E.get(te);if(re){if(re.isGroupHeader!==le){u.release(re.element),E.delete(te);let ye=le?x(be,te,ie):Z(be,te,ce,H,ie);if(E.set(te,ye),!Q)Q=document.createDocumentFragment();Q.appendChild(ye.element);continue}if(le){if(re._lastItem!==be){let Ce=be,Ie=re.element.firstElementChild;if(Ie&&y){let Ee=y(Ce.groupKey,Ce.groupIndex);if(typeof Ee==="string")Ie.innerHTML=Ee;else Ie.replaceChildren(Ee)}re.element.setAttribute("data-id",String(be.id)),re._lastItem=be,re.lastItemId=be.id}let Le=ie.getOffset(te)-c();if(re.lastOffset!==Le)re.lastOffset=Le,re.element.style.transform=`translateY(${Le}px)`;let xe=ie.getSize(te);if(re.lastHeight!==xe)re.lastHeight=xe,re.element.style.height=`${xe}px`}else{let ye=re._lastItem!==be,Le=re.lastSelected!==ce,xe=re.lastFocused!==H;if(ye){let Ee=re.lastItemId!=null&&R(re.lastItemId),ze=R(be.id);if(!ze&&ot(A,te,be.id))ce=!0;let U=p.columns;for(let ve=0;ve<re.cells.length&&ve<U.length;ve++)G(re.cells[ve],be,U[ve],te,ze);if(w(re.element,te,ce,H,ze),re.element.setAttribute("data-id",String(be.id)),f(re.element,ce),Ee&&!ze)re.element.classList.add(se),setTimeout(()=>{re.element.classList.remove(se)},300);re._lastItem=be,re.lastItemId=be.id,re.lastSelected=ce,re.lastFocused=H}else if(Le||xe)w(re.element,te,ce,H,R(be.id)),f(re.element,ce),re.lastSelected=ce,re.lastFocused=H;let Ce=ie.getOffset(te)-c();if(re.lastOffset!==Ce)re.lastOffset=Ce,re.element.style.transform=`translateY(${Ce}px)`;let Ie=ie.getSize(te);if(re.lastHeight!==Ie)re.lastHeight=Ie,re.element.style.height=`${Ie}px`;if(ne)re.element.setAttribute("aria-rowindex",String(te+2))}}else{if(ot(A,te,be.id))ce=!0;let ye=le?x(be,te,ie):Z(be,te,ce,H,ie);if(E.set(te,ye),!Q)Q=document.createDocumentFragment();Q.appendChild(ye.element)}}if(Q)t.appendChild(Q);for(let[te,he]of E)if(te<S.start||te>S.end)u.release(he.element),E.delete(te)},O=(I,S,A,Y)=>{let ne=E.get(I);if(!ne)return;if(ne.isGroupHeader)return;let oe=p.columns;for(let Q=0;Q<ne.cells.length&&Q<oe.length;Q++)G(ne.cells[Q],S,oe[Q],I);ne.element.setAttribute("data-id",String(S.id)),ne._lastItem=S,ne.lastItemId=S.id,w(ne.element,I,A,Y),f(ne.element,A),ne.lastSelected=A,ne.lastFocused=Y},P=(I,S,A)=>{let Y=E.get(I);if(!Y)return;if(Y.isGroupHeader)return;let ne=Y.lastSelected!==S,oe=Y.lastFocused!==A;if(ne||oe)w(Y.element,I,S,A),f(Y.element,S),Y.lastSelected=S,Y.lastFocused=A},j=(I)=>{p=I;let S=I.columns;for(let[,A]of E)if(A.element.style.width=`${I.totalWidth}px`,A.cells.length>0)for(let Y=0;Y<A.cells.length&&Y<S.length;Y++){let ne=A.cells[Y],oe=S[Y];ne.style.left=`${oe.offset}px`,ne.style.width=`${oe.width}px`}},z=(I)=>E.get(I)?.element,K=()=>{for(let[,I]of E)u.release(I.element);E.clear(),T=-1};return{render:J,updateItem:O,updateItemClasses:P,getElement:z,updateColumnLayout:j,setGroupHeaderFn:C,clear:K,destroy:()=>{K(),u.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,n=null,o=null,r,s,l=null,i=null,v=null,c=!1,u=-1,E=-1,T=null,p=!1;function k(){if(c||!l)return;c=!0,i=l.getMethod("_getSelectedIds")??null,v=l.getMethod("_getFocusedIndex")??null}let h=[],y={start:0,end:0};function C(){if(r.destroyed||!l||!o||!e)return;let b=r.containerSize,R=r.totalItems;if(b<=0||R===0)return;let M=R+1;if(M!==u)u=M,l.dom.root.setAttribute("aria-rowcount",`${M}`);let g=r.scrollPosition,a=l.config.overscan,F=s.indexAtOffset(g),D=s.indexAtOffset(g+b);if(D<R-1)D++;F=Math.max(0,F),D=Math.min(R-1,D);let L=Math.max(0,F-a),B=Math.min(R-1,D+a);if(L===r.prevRangeStart&&B===r.prevRangeEnd&&!r.renderPending)return;k();let X=i?.()??Fo,_=v?.()??-1;h.length=0;for(let V=L;V<=B;V++){let q=l.getItem(V);if(q)h.push(q)}if(y.start=L,y.end=B,o.render(h,y,X,_),r.prevRangeStart=L,r.prevRangeEnd=B,r.renderPending=!1,!p)p=!0,T=l.getMethod?.("_layoutToDataIndex")??null;if(T){let V=T,q=-1;for(let w=L;w<=B;w++){let N=V(w);if(N>=0){q=N;break}}let G=-1;for(let w=B;w>=L;w--){let N=V(w);if(N>=0){G=N;break}}r.startIndex=q<0?L:q,r.visibleCount=q<0?0:G-q+1}else r.startIndex=L,r.visibleCount=B-L+1;let se=s.getTotalSize();if(se!==E)E=se,l.updateContentSize(se)}function f(){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:g}=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 F=t.resizable??!0,D=t.minColumnWidth??50,L=t.maxColumnWidth??1/0,B=t.fillWidth===!1?"none":t.fillWidth===!0?"stretch":t.fillWidth??"spacer",X=t.rowBorders??!0,_=t.rowHeight,se=t.headerHeight??(typeof _==="number"?_:40),V=t.sort?.key??null,q=t.sort?.direction??"asc";if(e=Zn(t.columns,D,L,F,B),typeof _==="function"||typeof _==="number")b.setSizeConfig(_);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 G=r.crossSize;e.resolve(G);let w=()=>{if(!e)return;R.content.style.minWidth=`${e.totalWidth}px`},N=(O,P)=>{if(!e)return;let j=e.getColumn(O);if(!j)return;let z=j.width,K=e.resizeColumn(O,P);n?.update(e),o?.updateColumnLayout(e),w(),g.emit("column:resize",{key:j.def.key,index:O,previousWidth:z,width:K})},m=(O)=>{V=O.direction===null?null:O.key,q=O.direction??"asc",n?.updateSort(V,q),g.emit("column:sort",O)};if(n=Jn(R.root,se,a,N,m),n.rebuild(e),V)n.updateSort(V,q);w(),o=Qn(R.content,()=>s,e,t.columns,a,a,()=>r.totalItems,M.striped||void 0,void 0,()=>r.baseOffset),b.setRenderFn(C,f);let x=n,Z=-1,J=()=>{let O=R.viewport.scrollLeft;if(O!==Z)Z=O,x?.syncScroll?.(O)};R.viewport.addEventListener("scroll",J,{passive:!0}),b.registerMethod("updateColumns",(O)=>{if(!e||!n)return;if(e.updateColumns(O),e.resolve(r.crossSize),n.rebuild(e),V)n.updateSort(V,q);w(),o?.updateColumnLayout(e),o?.clear(),b.forceRender()}),b.registerMethod("resizeColumn",(O,P)=>{if(!e)return;let j;if(typeof O==="string"){let z=e.columns;j=-1;for(let K=0;K<z.length;K++)if(z[K].def.key===O){j=K;break}if(j===-1)return}else j=O;N(j,P)}),b.registerMethod("getColumnWidths",()=>{if(!e)return{};let O={},P=e.columns;for(let j=0;j<P.length;j++)O[P[j].def.key]=P[j].width;return O}),b.registerMethod("setSort",(O,P)=>{V=O,q=P??"asc",n?.updateSort(V,q)}),b.registerMethod("getSort",()=>({key:V,direction:q})),b.registerMethod("_getTableLayout",()=>e),b.registerMethod("_getTableHeaderHeight",()=>se),b.registerMethod("_updateRenderedItem",(O,P,j,z)=>{o?.updateItem(O,P,j,z)}),b.registerMethod("_replaceTableRenderer",(O)=>{o=O}),b.registerMethod("_updateTableForGroups",(O,P)=>{o?.setGroupHeaderFn(O,P)}),b.registerMethod("_updateItemClasses",(O,P,j)=>{o?.updateItemClasses(O,P,j)}),b.registerKeydownHandler((O)=>{if(O.key!=="ArrowLeft"&&O.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 z=R.viewport.scrollLeft;if(O.key==="ArrowRight"){for(let K=0;K<P.length;K++)if(P[K].offset>z+1){R.viewport.scrollLeft=P[K].offset,O.preventDefault();return}}else{for(let K=P.length-1;K>=0;K--)if(P[K].offset<z-1){R.viewport.scrollLeft=P[K].offset,O.preventDefault();return}if(z>0)R.viewport.scrollLeft=0,O.preventDefault()}}),b.registerDestroyHandler(()=>{R.viewport.removeEventListener("scroll",J),n?.destroy(),n=null,o?.destroy(),o=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),n?.update(e),o?.updateColumnLayout(e),e)l.dom.content.style.minWidth=`${e.totalWidth}px`},onAfterScroll(){if(!l||!n)return;n?.syncScroll?.(l.dom.viewport.scrollLeft)}},destroy(){n?.destroy(),n=null,o?.destroy(),o=null,l=null}}}function Nt(t){let e=t?.handle??null,n=t?.ghostClass??"vlist-sort-ghost",o=t?.shiftDuration??150,r=t?.edgeScrollZone??40,s=t?.edgeScrollSpeed??20,l=t?.dragThreshold??5,i=t?.ghostContainer??null,v,c,u=null,E,T,p,k,h,y,C,f,b,R,M=!1,g=-1,a=-1,F=0,D=0,L=0,B=0,X=!1,_=null,se=0,V=null,q=0,G=0,w=0,N=null,m=!1,x="",Z=-1,J=-1,O=[],P="",j=null,z=null,K="",d=!1,I=(W)=>W.closest("[data-index]"),S=(W)=>{let fe=W.dataset.index;return fe===void 0?-1:+fe},A=(W)=>{let fe=W.getBoundingClientRect(),de=W.cloneNode(!0);return de.className=`${k}-item ${n}`,de.removeAttribute("data-index"),de.style.cssText=`position:fixed;pointer-events:none;z-index:10000;width:${fe.width}px;height:${fe.height}px;left:${fe.left}px;top:${fe.top}px;transition:none;will-change:transform`,(i||document.body).appendChild(de),de},Y=()=>{if(!_)return;_.style.left=`${L-G}px`,_.style.top=`${B-w}px`},ne=()=>{let W=v.totalItems;if(W===0)return 0;let fe=T.getBoundingClientRect(),de=v.scrollPosition,Pe=h?L-G-fe.left+T.scrollLeft+de:B-w-fe.top+de,we=Pe+q,He=c.getOffset(g)+c.getSize(g);if(we>He){let ke=c.indexAtOffset(we),Te=c.getOffset(ke)+c.getSize(ke)/2,ee=we>Te?ke:ke-1;return Math.min(Math.max(ee,g),W-1)}let Fe=c.getOffset(g);if(Pe<Fe){let ke=c.indexAtOffset(Pe),Te=c.getOffset(ke)+c.getSize(ke)/2,ee=Pe<Te?ke:ke+1;return Math.max(Math.min(ee,g),0)}return g},oe=()=>{let W=E.children,fe=q;for(let de=0;de<W.length;de++){let Pe=W[de],we=S(Pe);if(we<0||we===g)continue;let He=0;if(a>g){if(we>g&&we<=a)He=-fe}else if(a<g){if(we>=a&&we<g)He=fe}let Fe=c.getOffset(we),ke=Math.round(Fe+He);Pe.style.transition=C,Pe.style.transform=`${y}(${ke}px)`}},Q=()=>{let W=E.children;for(let fe=0;fe<W.length;fe++){let de=W[fe],Pe=S(de);if(Pe>=0)de.style.transform=`${y}(${Math.round(c.getOffset(Pe))}px)`;de.style.transition=""}},ie=()=>{if(!u)return;let W=ne();if(W===a)return;a=W,oe(),u.emitter.emit("sort:move",{fromIndex:g,currentIndex:a})},te=()=>{let W=T.getBoundingClientRect();if(h)return L<W.left||L>W.right;return B<W.top||B>W.bottom},he=()=>{let W=u?.getMethod("_getFocusedIndex");return W?W():-1},be=(W)=>{let fe=u?.getMethod("_focusById");if(fe)fe(W)},ce=(W)=>{if(!u)return;let fe=h?T.clientWidth:T.clientHeight,de=v.scrollPosition,Pe=c.getOffset(W),we=Pe+c.getSize(W);if(Pe<de)u.scrollTo(Math.max(0,Pe));else if(we>de+fe)u.scrollTo(we-fe)},H=(W)=>{if(!z)return;z.textContent="",z.offsetHeight,z.textContent=W},le=(W)=>{if(!u)return"";let de=u.getItems()[W];if(!de)return"";return E.querySelector(`[data-index="${W}"]`)?.textContent?.trim()||String(de.id)},re=()=>String(v.totalItems),ye=(W)=>{let fe=E.children;for(let de=0;de<fe.length;de++)fe[de].style.transition=W},Le=()=>{let W=()=>{if(!M||!u)return;let fe=T.getBoundingClientRect(),de=0,Pe=3;if(h){let He=L-fe.left,Fe=fe.right-L;if(He<r){let ke=Math.min(Pe,1-He/r);de=-s*ke*ke}else if(Fe<r){let ke=Math.min(Pe,1-Fe/r);de=s*ke*ke}}else{let He=B-fe.top,Fe=fe.bottom-B;if(He<r){let ke=Math.min(Pe,1-He/r);de=-s*ke*ke}else if(Fe<r){let ke=Math.min(Pe,1-Fe/r);de=s*ke*ke}}let we=te();if(de!==0){let He=v.scrollPosition,Fe=c.getTotalSize()-(h?T.clientWidth:T.clientHeight);if(de<0&&He<=0||de>0&&He>=Fe)d=we;else d=!0,u.scrollTo(He+de)}else d=we;se=requestAnimationFrame(W)};se=requestAnimationFrame(W)},xe=()=>{if(se)cancelAnimationFrame(se),se=0},Ce=(W=!1)=>{if(M=!1,X=!1,_&&_.parentNode)_.remove();_=null,V=null;let fe=E.children;for(let Pe=0;Pe<fe.length;Pe++){let we=fe[Pe];we.classList.remove(R);let He=S(we);if(He>=0)we.style.transform=`${y}(${Math.round(c.getOffset(He))}px)`;we.style.transition=""}xe(),p.classList.remove(f),document.body.style.cursor="";let de=window.getSelection();if(de)de.removeAllRanges();if(document.removeEventListener("pointermove",ze),document.removeEventListener("pointerup",U),document.removeEventListener("pointercancel",ae),!W&&u)u.forceRender()},Ie=(W,fe)=>{if(!u)return;let de=W!==fe&&W>=0&&fe>=0,Pe=()=>{if(!u)return;if(M=!1,de){if(p.classList.add(b),u.emitter.emit("sort:end",{fromIndex:W,toIndex:fe}),N!==null)be(N);Ce(!0),requestAnimationFrame(()=>p.classList.remove(b))}else p.classList.add(b),u.emitter.emit("sort:cancel",{originalItems:[...u.getItems()]}),Ce(!1),requestAnimationFrame(()=>p.classList.remove(b))};if(!_){Pe();return}let we=T.getBoundingClientRect(),He=v.scrollPosition,Fe=c.getOffset(fe),ke=o>0?o:150;if(_.style.transition=`left ${ke}ms ease, top ${ke}ms ease`,h)_.style.left=`${we.left-T.scrollLeft+Fe-He}px`,_.style.top=`${we.top}px`;else _.style.left=`${we.left}px`,_.style.top=`${we.top+Fe-He}px`;let Te=!1,ee=()=>{if(Te)return;Te=!0,_?.removeEventListener("transitionend",ee),Pe()};_.addEventListener("transitionend",ee),setTimeout(ee,ke+50)},Ee=(W)=>{if(v.destroyed||!u)return;if(M)return;if(m)Se();if(W.button!==0)return;let fe=W.target;if(e){if(!fe.closest(e))return}let de=I(fe);if(!de)return;let Pe=S(de);if(Pe<0)return;F=W.clientX,D=W.clientY,L=W.clientX,B=W.clientY,g=Pe,X=!1,V=de;let we=de.getBoundingClientRect();G=W.clientX-we.left,w=W.clientY-we.top,document.addEventListener("pointermove",ze),document.addEventListener("pointerup",U),document.addEventListener("pointercancel",ae)};function ze(W){if(!u)return;if(L=W.clientX,B=W.clientY,!X){let fe=L-F,de=B-D;if(Math.sqrt(fe*fe+de*de)<l)return;if(X=!0,M=!0,a=g,p.classList.add(f),document.body.style.cursor="grabbing",q=c.getSize(g),V)_=A(V),V.classList.add(R);let Pe=he();if(Pe>=0){let He=u.getItems()[Pe];N=He?He.id:null}else N=null;u.emitter.emit("sort:start",{index:g}),Le()}if(M){if(W.preventDefault(),Y(),!d)ie();else if(te()){if(a!==g)a=g,Q()}}}function U(W){if(!X){document.removeEventListener("pointermove",ze),document.removeEventListener("pointerup",U),document.removeEventListener("pointercancel",ae),V=null;return}W.preventDefault(),document.removeEventListener("pointermove",ze),document.removeEventListener("pointerup",U),document.removeEventListener("pointercancel",ae),xe(),Ie(g,a)}let ve=()=>{if(!X)return;document.removeEventListener("pointermove",ze),document.removeEventListener("pointerup",U),document.removeEventListener("pointercancel",ae),xe(),Q(),Ie(g,g)};function ae(){ve()}let pe=()=>{let W=E.querySelectorAll(`.${K}`);for(let fe=0;fe<W.length;fe++)W[fe].classList.remove(K)},me=()=>{pe();let W=E.querySelector(`[data-id="${x}"]`);if(W)W.classList.add(K)},Me=(W)=>{if(!u)return;let fe=u.getItems(),de=fe[W];if(!de)return;m=!0,x=de.id,Z=W,J=W,O=[...fe],p.classList.add(f),u.emitter.emit("sort:start",{index:W}),me(),H(`Grabbed ${le(W)}. Current position ${W+1} of ${re()}. Use Up and Down arrow keys to move, Space to drop, Escape to cancel.`)},ge=()=>{if(!m||!u)return;m=!1;let W=J,fe=le(W);ye("none"),p.classList.remove(f),pe(),be(x),u.forceRender(),H(`${fe} dropped. Final position ${W+1} of ${re()}.`),O=[],requestAnimationFrame(()=>ye(""))},Se=()=>{if(!m||!u)return;m=!1;let W=Z;if(ye("none"),p.classList.remove(f),pe(),J!==W)u.emitter.emit("sort:cancel",{originalItems:O});be(x),u.forceRender(),ce(W),H(`Reorder cancelled. Returned to position ${W+1} of ${re()}.`),O=[],requestAnimationFrame(()=>ye(""))},Re=(W)=>{if(!m||!u)return;let fe=v.totalItems,de=J+W;if(de<0||de>=fe)return;let Pe=J,we=de;ye("none"),u.emitter.emit("sort:end",{fromIndex:Pe,toIndex:we}),J=we,be(x),u.forceRender(),ce(we),me(),H(`${le(we)} moved. New position ${we+1} of ${re()}.`),requestAnimationFrame(()=>ye(""))},ue=(W)=>{if(v.destroyed)return;if(M){if(W.key==="Escape")W.preventDefault(),W.stopImmediatePropagation(),ve();return}if(m)switch(W.key){case" ":case"Enter":W.preventDefault(),W.stopImmediatePropagation(),ge();return;case"Escape":W.preventDefault(),W.stopImmediatePropagation(),Se();return;case"ArrowUp":case"ArrowLeft":W.preventDefault(),W.stopImmediatePropagation(),Re(-1);return;case"ArrowDown":case"ArrowRight":W.preventDefault(),W.stopImmediatePropagation(),Re(1);return;default:if(!W.key.startsWith("F")&&W.key!=="Tab")W.preventDefault(),W.stopImmediatePropagation();return}if(W.key===" "&&!W.shiftKey&&!W.ctrlKey&&!W.metaKey){let fe=he();if(fe>=0)W.preventDefault(),W.stopImmediatePropagation(),Me(fe)}};return{name:"sortable",priority:30,conflicts:["grid","masonry","table","scale","tree"],setup(W){u=W,v=W.getState(),c=W.sizeCache,E=W.dom.content,T=W.dom.viewport,p=W.dom.root,k=W.config.classPrefix,h=W.config.axis.primary==="x",y=h?"translateX":"translateY",C=o>0?`transform ${o}ms ease`:"none",f=`${k}--sorting`,b=`${k}--settling`,R=`${k}-item--drag-source`,K=`${k}-item--kb-sorting`,W.registerMethod("isSorting",()=>M||m),E.addEventListener("pointerdown",Ee),p.addEventListener("keydown",ue),P=`${k}-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.",p.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",p.appendChild(z),W.registerDestroyHandler(()=>{if(m)Se();Ce(),E.removeEventListener("pointerdown",Ee),p.removeEventListener("keydown",ue),j?.remove(),z?.remove()})},hooks:{onCommit(){if(!u)return;let W=E.children;for(let fe=0;fe<W.length;fe++){let de=W[fe],Pe=S(de);if(Pe<0)continue;if(de.setAttribute("aria-roledescription","sortable item"),de.setAttribute("aria-describedby",P),m)if(de.getAttribute("data-id")===String(x))de.classList.add(K);else de.classList.remove(K);if(M)if(Pe===g)de.classList.add(R),V=de;else{de.classList.remove(R);let we=0;if(a>g){if(Pe>g&&Pe<=a)we=-q}else if(a<g){if(Pe>=a&&Pe<g)we=q}let He=Math.round(c.getOffset(Pe)+we);de.style.transform=`${y}(${He}px)`}}}},destroy(){if(_&&_.parentNode)_.remove();_=null,xe(),j?.remove(),z?.remove(),u=null}}}function Gt(t,e){let n=[],o=e,r=new Map,s=[];function l(){r.clear();for(let g=0;g<n.length;g++)r.set(n[g].id,g)}function i(g){let a=n[g].depth,F=0;for(let D=g+1;D<n.length;D++){if(n[D].depth<=a)break;F++}return F}function v(g,a,F,D){for(let L=0;L<g.length;L++){let B=g[L],X=B.id,_=t(B),se=_.length>0,V=se&&o.has(X);if(D.push({item:B,id:X,depth:F,parentId:a,hasChildren:se,expanded:V,childCount:_.length,siblingCount:g.length,positionInSiblings:L,isLastChild:L===g.length-1,loading:!1}),V)v(_,X,F+1,D)}}function c(g,a,F){for(let D of g){if(D.id===a)return D;let L=t(D);if(L.length>0){F?.push(D.id);let B=c(L,a,F);if(B)return B;F?.pop()}}return}function u(g,a){if(a===null)return s;let F=c(s,a);return F?t(F):[]}function E(g,a){let F=c(s,a);if(!F)return!1;return c(t(F),g)!==void 0}function T(g){let a=new Set;function F(D){for(let L of D){if(a.has(L.id))throw Error(`[vlist] tree: duplicate id "${L.id}"`);a.add(L.id);let B=t(L);if(B.length>0)F(B)}}F(g)}function p(g,a){if(s=g,!a)T(g);n.length=0,v(g,null,0,n),l()}function k(g){let a=r.get(g);if(a===void 0)return 0;let F=n[a];if(!F.hasChildren||F.expanded)return 0;let D=[],L=t(F.item);if(v(L,g,F.depth+1,D),D.length===0)return 0;F.expanded=!0,o.add(g);let B=a+1,X=n.splice(B);for(let _=0;_<D.length;_++)n.push(D[_]);for(let _=0;_<X.length;_++)n.push(X[_]);return l(),D.length}function h(g){let a=r.get(g);if(a===void 0)return 0;let F=n[a];if(!F.hasChildren||!F.expanded)return 0;F.expanded=!1,o.delete(g);let D=i(a);if(D>0)n.splice(a+1,D),l();return D}function y(g){function a(F){for(let D of F){let L=t(D);if(L.length>0)o.add(D.id),a(L)}}a(g),p(g)}function C(){o.clear(),p(s,!0)}function f(g){let a=[];if(!c(s,g,a))return;for(let F of a)o.add(F);p(s,!0)}function b(g,a,F){if(r.has(a.id)||c(s,a.id))throw Error(`[vlist] tree: duplicate id "${a.id}"`);if(g===null){let _=s,se=F??_.length;_.splice(se,0,a),p(s,!0);return}let D=r.get(g);if(D===void 0)throw Error(`[vlist] tree: parent "${g}" not found`);let L=n[D],B=t(L.item),X=F??B.length;if(B.splice(X,0,a),!L.hasChildren)L.hasChildren=!0,L.childCount=1,L.expanded=!1;else L.childCount=B.length;if(L.expanded)p(s,!0);else l()}function R(g){let a=r.get(g);if(a===void 0)return 0;let F=n[a],L=i(a)+1;for(let _=a;_<a+L;_++)o.delete(n[_].id);if(n.splice(a,L),F.parentId!==null){let _=r.get(F.parentId);if(_!==void 0){let se=n[_];if(se.childCount--,se.childCount===0)se.hasChildren=!1,se.expanded=!1,o.delete(se.id)}}let B=u(g,F.parentId),X=B.findIndex((_)=>_.id===g);if(X>=0)B.splice(X,1);return p(s,!0),L}function M(g,a,F){if(a!==null&&E(a,g))throw Error(`[vlist] tree: cannot move "${g}" to its own descendant "${a}"`);if(g===a)throw Error(`[vlist] tree: cannot move "${g}" to itself`);let D=r.get(g);if(D===void 0)return;let L=n[D],B=u(g,L.parentId),X=B.findIndex((_)=>_.id===g);if(X>=0)B.splice(X,1);if(a===null){let _=s,se=F??_.length;_.splice(se,0,L.item)}else{let _=c(s,a);if(!_)throw Error(`[vlist] tree: new parent "${a}" not found`);let se=t(_),V=F??se.length;se.splice(V,0,L.item)}p(s,!0)}return{flatNodes:n,expandedIds:o,idToIndex:r,rebuild:p,expand:k,collapse:h,expandAll:y,collapseAll:C,expandTo:f,getSubtreeSize:i,addChild:b,removeNode:R,moveNode:M,get totalVisible(){return n.length},get rootItems(){return s}}}var Do=()=>[];function Vo(t){let{children:e,parentId:n}=t;if(n!==void 0)return Do;if(e===void 0||e==="children")return(o)=>o.children??[];if(typeof e==="string"){let o=e;return(r)=>r[o]??[]}return e}function $o(t){let{label:e}=t;if(e===void 0)return(n)=>{let o=n;return String(o.name??o.label??o.title??n.id)};if(typeof e==="string"){let n=e;return(o)=>String(o[n]??o.id)}return e}function Oo(t,e,n){let{expanded:o}=t,r=new Set;if(o===void 0||o===!1)return r;if(Array.isArray(o)){for(let i of o)r.add(i);return r}let s=o===!0?null:o;function l(i){for(let v of i){let c=n(v);if(c.length>0){if(!s||s(v))r.add(v.id);l(c)}}}return l(e),r}function eo(t,e){let{parentId:n}=e;if(n===void 0)throw Error("[vlist] tree: parentId not set");let o=typeof n==="string"?(i)=>i[n]??null:n,r=(i)=>o(i)??null,s=new Map,l=new Map;for(let i of t){l.set(i.id,i);let v=r(i),c=s.get(v);if(!c)c=[],s.set(v,c);c.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??{},n=e.indent??24,o=e.paddingStart??0,r=e.expandOnClick??!1,s=e.connectorLines??!1,l=e.parentId!==void 0,i,v,c,u,E,T,p,k,h,y,C=null,f,b,R,M,g,a,F,D,L,B,X=new Map,_=-1,se=-1,V=-1,q=!0,G=null,w=!1,N,m=-1,x=!1,Z=!1,J="",O=null;function P(){if(Z){let U=f("_getFocusedIndex");return U?U():-1}return x?m:-1}let j,z,K;function d(){if(z!==void 0)return;j=f("select")??null,z=f("_focusById")??null,K=f("_isFollowFocus")??null}function I(U){if(U<0||U>=i.totalVisible)return;let ve=i.flatNodes[U];if(!ve)return;if(Z){if(d(),z)z(ve.id);if(K?.()&&j)j(ve.id);else Y();S(U)}else m=U,x=!0,E.setAttribute("aria-activedescendant",`${h}-item-${U}`),S(U),Y()}function S(U){let ve=v.getOffset(U),ae=v.getSize(U),pe=c.scrollPosition,me=c.containerSize;if(ve<pe)A(ve);else if(ve+ae>pe+me)A(ve-me+ae)}let A,Y,ne;function oe(U){return k?`translate(${Math.round(U)}px, 0)`:`translate(0, ${Math.round(U)}px)`}function Q(U){if(U===V)return;V=U,E.style[k?"width":"height"]=U+"px"}function ie(){X.forEach((U)=>{U.remove(),u.release(U)}),X.clear()}let te=0;function he(){let U=ne();if(U===G&&U.length===te)return;if(G=U,te=U.length,l){let{roots:ve,getChildren:ae}=eo(U,e),pe=e.loadChildren?(me)=>H.get(me.id)??ae(me):ae;i=Gt(pe,i.expandedIds),i.rebuild(ve,!0)}else i.rebuild(U,!0);be(),ie()}function be(){c.totalItems=i.totalVisible,N(i.totalVisible);let U=v.getTotalSize();Q(U);let ve=f("_scrollbar:getInstance");if(ve)ve()?.updateBounds(U,c.containerSize)}function ce(){be(),ie(),Y()}let H=new Map,le=new Set;async function re(U){if(!e.loadChildren||le.has(U))return;let ve=i.idToIndex.get(U);if(ve===void 0)return;let ae=i.flatNodes[ve];le.add(U),ae.loading=!0,queueMicrotask(()=>Y());try{let pe=await e.loadChildren(ae.item);le.delete(U);let me=i.idToIndex.get(U);if(me===void 0)return;let Me=i.flatNodes[me];if(Me.loading=!1,H.set(U,pe),Me.hasChildren=pe.length>0,Me.childCount=pe.length,pe.length>0)Me.expanded=!0,i.expandedIds.add(U),i.rebuild(i.rootItems);ce(),b.emit("tree:load",{id:U,item:Me.item,children:pe})}catch(pe){le.delete(U),H.set(U,[]);let me=i.idToIndex.get(U);if(me!==void 0)i.flatNodes[me].loading=!1;Y(),b.emit("tree:load:error",{id:U,item:ae.item,error:pe})}}function ye(U){let ve=i.idToIndex.get(U);if(ve===void 0)return;let ae=i.flatNodes[ve];if(e.loadChildren&&!ae.hasChildren&&!ae.loading){if(!H.has(U)){re(U);return}}if(i.expand(U)===0)return;ce(),b.emit("tree:expand",{id:U,item:ae.item,depth:ae.depth})}function Le(U){let ve=i.idToIndex.get(U);if(ve===void 0)return;let ae=i.flatNodes[ve],pe=i.collapse(U);if(pe===0)return;if(!Z&&m>ve){if(m<=ve+pe)m=ve;else m-=pe;if(x)E.setAttribute("aria-activedescendant",`${h}-item-${m}`)}ce(),b.emit("tree:collapse",{id:U,item:ae.item,depth:ae.depth})}function xe(U,ve,ae,pe){let{depth:me,expanded:Me,hasChildren:ge,loading:Se,siblingCount:Re,positionInSiblings:ue,isLastChild:W,id:fe}=ve;if(U.className=M,Me)U.classList.add(g);if(!ge)U.classList.add(a);if(Se)U.classList.add(F);if(s&&W)U.classList.add(D);if(U.setAttribute("role","treeitem"),U.setAttribute("data-index",String(ae)),U.setAttribute("data-id",String(fe)),U.id=`${h}-item-${ae}`,U.setAttribute("aria-level",String(me+1)),U.setAttribute("aria-setsize",String(Re)),U.setAttribute("aria-posinset",String(ue+1)),ge)U.setAttribute("aria-expanded",String(Me));else U.removeAttribute("aria-expanded");if(U.style.paddingLeft=`${o+me*n}px`,U.style.setProperty("--vlist-tree-depth",String(me)),s)U.style.setProperty("--vlist-tree-indent",`${n}px`),U.style.setProperty("--vlist-tree-pad",`${o}px`);if(pe)pe(ae,We);else We.selected=!1,We.focused=!1;je.depth=me,je.expanded=Me,je.hasChildren=ge,je.isLeaf=!ge,je.isLastChild=W,je.loading=Se;let de=p(ve.item,ae,We);if(typeof de==="string")U.innerHTML=de;else U.innerHTML="",U.appendChild(de);Be(U)}function Ce(){if(c.destroyed)return;if(he(),!w){if(w=!0,E.setAttribute("role","tree"),E.setAttribute("tabindex","0"),T.classList.add(`${h}--tree`),s)T.classList.add(`${h}--tree-lines`)}let U=c.scrollPosition,ve=c.containerSize;if(!q&&U===_&&ve===se)return;_=U,se=ve,q=!1;let ae=i.totalVisible;if(ve<=0||ae===0){if(X.size>0)ie();return}let pe=v.indexAtOffset(U),me=v.indexAtOffset(U+ve);if(me<ae-1)me++;pe=Math.max(0,pe),me=Math.min(ae-1,Math.max(0,me));let Me=Math.max(0,pe-y),ge=Math.min(ae-1,me+y);if(Me===c.prevRangeStart&&ge===c.prevRangeEnd&&!c.renderPending)return;X.forEach((W,fe)=>{if(fe<Me||fe>ge)W.remove(),u.release(W),X.delete(fe)});let Se=C?.()??null,Re=null;for(let W=Me;W<=ge;W++){let fe=i.flatNodes[W],de=X.get(W);if(de===void 0){if(de=u.acquire(),xe(de,fe,W,Se),de.style[k?"width":"height"]=`${v.getSize(W)}px`,X.set(W,de),!Re)Re=document.createDocumentFragment();Re.appendChild(de)}else if(de.getAttribute("data-id")!==String(fe.id)||de.classList.contains(F)!==fe.loading)xe(de,fe,W,Se);if(de.style.transform=oe(v.getOffset(W)),Se)if(Se(W,We),de.classList.toggle(L,We.selected),de.classList.toggle(B,We.focused),We.selected)de.setAttribute("aria-selected","true");else de.removeAttribute("aria-selected");else if(!Z){let Pe=x&&m===W;de.classList.toggle(B,Pe)}}if(Re)E.appendChild(Re);Q(v.getTotalSize()),c.prevRangeStart=Me,c.prevRangeEnd=ge,c.renderPending=!1;let ue=0;for(let W=Me;W<=ge&&ue<c.capacity;W++)c.visibleIndices[ue]=W,c.visibleOffsets[ue]=v.getOffset(W),c.visibleSizes[ue]=v.getSize(W),ue++;c.visibleCount=ue,c.startIndex=Me}function Ie(){if(c.destroyed)return;c.prevRangeStart=-1,c.prevRangeEnd=-1,c.renderPending=!0,q=!0,Ce()}function Ee(U,ve){if(J+=U.toLowerCase(),O!==null)clearTimeout(O);O=setTimeout(()=>{J="",O=null},500);let ae=i.totalVisible;for(let pe=1;pe<=ae;pe++){let me=(ve+pe)%ae,Me=i.flatNodes[me];if(R(Me.item).toLowerCase().startsWith(J)){I(me);return}}}function ze(U){let ve=!1;for(let ae of i.flatNodes)if(ae.parentId===U.parentId&&ae.hasChildren&&!ae.expanded)i.expandedIds.add(ae.id),ve=!0;if(!ve)return;i.rebuild(i.rootItems,!0),ce()}return{name:"tree",priority:10,conflicts:["groups","grid","masonry","table"],setup(U){v=U.sizeCache,c=U.getState(),u=U.pool,E=U.dom.content,T=U.dom.root,p=U.template,k=U.config.axis.primary==="x",h=U.config.classPrefix,y=U.config.overscan,b=U.emitter,C=U.getItemStateFn.bind(U),f=U.getMethod.bind(U),A=U.scrollTo.bind(U),Y=U.forceRender.bind(U),ne=U.getItems.bind(U),M=`${h}-item ${h}-tree-node`,g=`${h}-tree-node--expanded`,a=`${h}-tree-node--leaf`,F=`${h}-tree-node--loading`,D=`${h}-tree-node--last`,L=`${h}-item--selected`,B=`${h}-item--focused`;let ve=U.getItems();G=ve,te=ve.length;let ae,pe;if(l){let ue=eo(ve,e);ae=ue.getChildren,pe=ue.roots}else ae=Vo(e),pe=ve;let me=e.loadChildren?(ue)=>H.get(ue.id)??ae(ue):ae;R=$o(e);let Me=Oo(e,pe,me);i=Gt(me,Me),i.rebuild(pe),N=v.rebuild,v.rebuild=(ue)=>{N(i.totalVisible)},v.rebuild(i.totalVisible),c.totalItems=i.totalVisible,U.setVirtualTotalFn(()=>i.totalVisible),U.setGetItemFn((ue)=>{let W=i.flatNodes[ue];return W?W.item:void 0}),U.setGetIndexByIdFn((ue)=>i.idToIndex.get(ue)??-1),U.setRenderFn(Ce,Ie),U.registerMethod("_layoutToDataIndex",(ue)=>ue),U.registerMethod("_dataToLayoutIndex",(ue)=>ue),U.registerMethod("_getLoadedItem",(ue)=>{let W=i.flatNodes[ue];return W?W.item:void 0}),U.registerMethod("_getRenderedElement",(ue)=>X.get(ue)??null),queueMicrotask(()=>{Z=!!(f("_getFocusedIndex")||U.getItemStateFn())}),U.setInsertItemFn((ue,W)=>{let fe=ne(),de=Math.min(W,fe.length);fe.splice(de,0,ue),te=fe.length,i.rebuild(fe),ce()}),U.setRemoveItemFn((ue)=>{let W=i.idToIndex.get(ue),fe=null;if(l&&W!==void 0){fe=new Set,fe.add(ue);let Pe=i.getSubtreeSize(W);for(let we=W+1;we<=W+Pe;we++)fe.add(i.flatNodes[we].id)}let de=i.removeNode(ue);if(de===0)return-1;if(!Z&&W!==void 0&&m>=W)m=Math.max(0,Math.min(m-de,i.totalVisible-1));if(l&&fe){let Pe=ne();for(let we=Pe.length-1;we>=0;we--)if(fe.has(Pe[we].id))Pe.splice(we,1)}return te=ne().length,ce(),b.emit("data:change",{type:"remove",id:ue}),de}),U.setUpdateItemFn((ue,W)=>{let fe=i.idToIndex.get(ue);if(fe===void 0)return!1;let de=i.flatNodes[fe];Object.assign(de.item,W);let Pe=X.get(fe);if(Pe)xe(Pe,de,fe,C?.()??null);return b.emit("data:change",{type:"update",id:ue}),!0}),U.registerClickHandler((ue)=>{let W=ue.target.closest("[data-index]");if(!W)return;let fe=parseInt(W.dataset.index??"-1",10);if(fe<0)return;let de=i.flatNodes[fe];if(!de)return;let Pe=de.id,we=!1;if(r&&(de.hasChildren||e.loadChildren&&!de.loading&&!H.has(Pe))){let He=i.totalVisible;if(de.expanded)Le(Pe);else ye(Pe);we=i.totalVisible!==He}if(Z&&we){if(d(),z)z(Pe);if(j)j(Pe)}else if(!Z)m=i.idToIndex.get(Pe)??fe,x=!1,E.focus({preventScroll:!0})});let ge=()=>{if(c.destroyed||Z)return;if(!E.matches(":focus-visible")&&!T.matches(":focus-visible"))return;let ue=i.totalVisible;if(ue===0)return;m=m>=0?Math.min(m,ue-1):0,x=!0,E.setAttribute("aria-activedescendant",`${h}-item-${m}`),S(m),Ie()};T.addEventListener("focusin",ge);let Se=(ue)=>{if(c.destroyed||Z)return;let W=ue.relatedTarget;if(W&&T.contains(W))return;x=!1,E.removeAttribute("aria-activedescendant"),Ie()};T.addEventListener("focusout",Se),U.registerKeydownHandler((ue)=>{if(c.destroyed)return;let W=i.totalVisible;if(W===0)return;let fe=P();if(fe<0&&!Z&&(ue.key==="ArrowDown"||ue.key==="Home")){I(0),ue.preventDefault();return}if(fe<0)return;let de=i.flatNodes[fe];if(!de)return;switch(ue.key){case"ArrowRight":{if(de.hasChildren||e.loadChildren&&!de.loading)if(!de.expanded)ye(de.id);else I(fe+1);ue.preventDefault();break}case"ArrowLeft":{if(de.hasChildren&&de.expanded)Le(de.id);else if(de.parentId!==null){let Pe=i.idToIndex.get(de.parentId);if(Pe!==void 0)I(Pe)}ue.preventDefault();break}case"*":{ze(de),ue.preventDefault();break}default:{if(!Z){if(ue.key==="ArrowDown"){if(fe<W-1)I(fe+1);ue.preventDefault();break}if(ue.key==="ArrowUp"){if(fe>0)I(fe-1);ue.preventDefault();break}if(ue.key==="Home"){I(0),ue.preventDefault();break}if(ue.key==="End"){I(W-1),ue.preventDefault();break}if(ue.key==="Enter"){b.emit("item:click",{item:de.item,index:fe,event:ue}),ue.preventDefault();break}}if(ue.key.length===1&&!ue.ctrlKey&&!ue.altKey&&!ue.metaKey)Ee(ue.key,fe),ue.preventDefault()}}}),U.registerMethod("expand",ye),U.registerMethod("collapse",Le),U.registerMethod("toggle",(ue)=>{let W=i.idToIndex.get(ue);if(W===void 0)return;if(i.flatNodes[W].expanded)Le(ue);else ye(ue)}),U.registerMethod("expandAll",()=>{i.expandAll(i.rootItems),ce()}),U.registerMethod("collapseAll",()=>{i.collapseAll(),ce()}),U.registerMethod("expandTo",(ue)=>{i.expandTo(ue),ce();let W=i.idToIndex.get(ue);if(W!==void 0)S(W)}),U.registerMethod("getExpanded",()=>Array.from(i.expandedIds)),U.registerMethod("isExpanded",(ue)=>i.expandedIds.has(ue));let Re=l&&typeof e.parentId==="string"?e.parentId:null;U.registerMethod("addChild",(ue,W,fe)=>{if(Re)W[Re]=ue;if(l){let de=ne();de.push(W),te=de.length}i.addChild(ue,W,fe),ce(),b.emit("data:change",{type:"add",id:W.id})}),U.registerMethod("moveNode",(ue,W,fe)=>{if(Re){let de=i.idToIndex.get(ue);if(de!==void 0)i.flatNodes[de].item[Re]=W}i.moveNode(ue,W,fe),ce()}),U.registerMethod("getTreeLayout",()=>({totalVisible:i.totalVisible,flatNodes:i.flatNodes})),U.registerDestroyHandler(()=>{if(T.removeEventListener("focusin",ge),T.removeEventListener("focusout",Se),ie(),T.classList.remove(`${h}--tree`),T.classList.remove(`${h}--tree-lines`),O!==null)clearTimeout(O)})},destroy(){if(X.clear(),O!==null)clearTimeout(O)}}}var to=(t)=>{if(typeof t==="function")return t;if(typeof t==="string")return(e)=>{let n=e[t];return n==null?"":String(n)};return(e)=>{if(e==null)return"";let n="";for(let o in e){let r=e[o];if(typeof r==="string")n+=n?" "+r:r}return n}},Wt=(t,e,n)=>{if(!e)return!1;return(n?t:t.toLowerCase()).includes(e)},No=(t,e)=>{let n=t.querySelectorAll(`mark.${e}`);for(let o=n.length-1;o>=0;o--){let r=n[o],s=r.parentNode;if(!s)continue;let l=document.createTextNode(r.textContent??"");s.replaceChild(l,r),s.normalize()}},Kt=(t,e,n,o)=>{if(!e)return;No(t,o);let r=n?e:e.toLowerCase(),s=e.length,l=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,{acceptNode(c){let u=c.nodeValue??"";return(n?u:u.toLowerCase()).includes(r)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),i=[],v;while((v=l.nextNode())!==null)i.push(v);for(let c of i){let u=c.nodeValue??"",E=n?u:u.toLowerCase(),T=document.createDocumentFragment(),p=0,k=E.indexOf(r,0);while(k!==-1){if(k>p)T.appendChild(document.createTextNode(u.slice(p,k)));let h=document.createElement("mark");h.className=o,h.textContent=u.slice(k,k+s),T.appendChild(h),p=k+s,k=E.indexOf(r,p)}if(p<u.length)T.appendChild(document.createTextNode(u.slice(p)));c.parentNode?.replaceChild(T,c)}};var Ut=(t,e,n,o)=>{let r=document.createElement("button");return r.type="button",r.className=t,r.tabIndex=o,r.setAttribute("aria-label",e),r.innerHTML=n,r},no=(t,e,n,o,r,s,l)=>{let i=`${n}-search`,v=document.createElement("div");if(v.className=`${i} ${i}--bar ${i}--${o}`,v.setAttribute("role","search"),v.setAttribute("aria-disabled","false"),r.region)v.setAttribute("aria-label",r.region);let c=document.createElement("div");c.className=`${i}__container`;let u=document.createElement("span");u.className=`${i}__leading-icon`,u.setAttribute("aria-hidden","true"),u.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 T=document.createElement("input");if(T.type="text",T.className=`${i}__input`,T.placeholder=r.placeholder,T.spellcheck=!1,T.autocomplete="off",T.setAttribute("aria-label",r.placeholder),s)T.setAttribute("aria-controls",s);E.appendChild(T);let p=document.createElement("span");p.className=`${i}__counter`,p.setAttribute("aria-live","polite");let k=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),y=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(c.append(u,E,p,k,h,y),v.appendChild(c),o==="top"&&e)t.insertBefore(v,e);else if(o==="top")t.insertBefore(v,t.firstChild);else t.appendChild(v);let C=()=>{y.classList.toggle(`${i}__clear-button--hidden`,T.value.length===0)},f=()=>{C(),l.onInput(T.value)},b=(F)=>l.onKeydown(F),R=()=>T.focus(),M=()=>{l.onClear(),T.focus()},g=()=>l.onPrev(),a=()=>l.onNext();return T.addEventListener("input",f),T.addEventListener("keydown",b),u.addEventListener("click",R),y.addEventListener("click",M),k.addEventListener("click",g),h.addEventListener("click",a),{root:v,input:T,setCounter(F){p.textContent=F},showNav(F){k.classList.toggle(`${i}__nav-prev--hidden`,!F),h.classList.toggle(`${i}__nav-next--hidden`,!F)},focus(){T.focus(),T.select()},setValue(F){T.value=F,C()},destroy(){T.removeEventListener("input",f),T.removeEventListener("keydown",b),u.removeEventListener("click",R),y.removeEventListener("click",M),k.removeEventListener("click",g),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",n=t.position??"top",o={...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,c=t.variant??"default",u=to(t.field),E,T,p,k,h,y=null,C=!1,f="",b=[],R=new Set,M=0,g=!1,a=null,F=!1,D=null,L=null,B=null,X=()=>{if(F)return;F=!0,D=E.getMethod("scrollToIndex")??null,L=E.getMethod("filterTree")??null,B=E.getMethod("clearTreeFilter")??null},_=()=>{if(b=[],R.clear(),f.length<i)return;let d=r?f:f.toLowerCase(),I=E.getItems();for(let S=0;S<I.length;S++){let A=I[S];if(A!==void 0&&Wt(u(A),d,r))b.push(S),R.add(S)}},se=()=>{if(X(),L){let S=r?f:f.toLowerCase();L((A)=>Wt(u(A),S,r)),g=!0;return}let d=E.getItems(),I=b;E.setGetItemFn((S)=>d[I[S]]),E.setVirtualTotalFn(()=>I.length),T.totalItems=I.length,E.rebuildSizeCache(),E.updateContentSize(E.sizeCache.getTotalSize()),g=!0},V=()=>{if(!g)return;if(g=!1,B){B();return}E.setGetItemFn((d)=>E.getItems()[d]),E.setVirtualTotalFn(()=>E.getItems().length),T.totalItems=E.getItems().length,E.rebuildSizeCache(),E.updateContentSize(E.sizeCache.getTotalSize())},q=()=>{X();let d=b[M];if(d===void 0)return;if(D)D(d,"center");else E.scrollTo(Math.max(0,E.sizeCache.getOffset(d)-E.getState().containerSize/2));let I=E.getItem(d);E.emitter.emit("search:match",{index:d,item:I,matchIndex:M,matches:b.length})},G=()=>{if(!y)return;if(f.length<i)y.setCounter("");else if(b.length===0)y.setCounter(o.noResults);else if(e==="navigate")y.setCounter(o.position(M+1,b.length));else y.setCounter(o.results(b.length))},w=()=>{let d=C&&f.length>=i;E.dom.root.classList.toggle(`${p}--searching`,d)},N=(d)=>{if(f=d,y?.setValue(f),_(),M=0,e==="filter")if(f.length>=i)se();else V();if(w(),G(),E.forceRender(),e==="navigate"&&b.length>0)q();E.emitter.emit("search:change",{query:f,matches:b.length,total:E.getItems().length}),O()},m=()=>{if(!C)C=!0,E.dom.root.classList.add(`${p}--search-open`),E.emitter.emit("search:open",void 0);y?.focus(),O()},x=()=>{J();let d=C||f.length>0;if(C=!1,f.length>0)N("");if(E.dom.root.classList.remove(`${p}--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,G(),e==="navigate")q(),E.forceRender()},J=()=>{if(a!==null)clearTimeout(a),a=null},O=()=>{if(J(),v>0&&C)a=setTimeout(()=>{a=null,x()},v)},P=(d)=>{if(!s||f.length<i)return;let I=d.startIndex,S=I+Math.max(0,d.visibleCount-1),A=e==="navigate"?b[M]:-1;for(let Y=I;Y<=S;Y++){let ne=E.getRenderedElement(Y);if(!ne)continue;if(l){let oe=ne.querySelectorAll(l);for(let Q=0;Q<oe.length;Q++)Kt(oe[Q],f,r,k)}else Kt(ne,f,r,k);if(e==="navigate"){let oe=Y===A,Q=ne.querySelectorAll(`.${k}`);for(let ie=0;ie<Q.length;ie++)Q[ie].classList.toggle(h,oe)}}},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(),m();return}if(!C){if(n==="none"&&j(d))d.preventDefault(),m(),N(f+d.key);return}switch(d.key){case"Escape":d.preventDefault(),x();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(n==="none"){if(d.key==="Backspace"){if(d.preventDefault(),N(f.slice(0,-1)),f.length===0)x()}else if(j(d))d.preventDefault(),N(f+d.key)}}},K=(d)=>{if(d.key==="Escape"||d.key==="Enter"||d.key==="ArrowDown"||d.key==="ArrowUp")z(d)};return{name:"search",priority:55,setup(d){if(E=d,T=E.getState(),p=E.config.classPrefix,k=`${p}-search-match`,h=`${p}-search-match--current`,n!=="none"){let S=E.dom.root.id||void 0;if(y=no(E.dom.root,E.dom.viewport,p,n,{placeholder:o.placeholder,clear:o.clear,previous:o.previous,next:o.next,region:o.region},S,{onInput:(A)=>N(A),onClear:()=>N(""),onPrev:()=>Z(-1),onNext:()=>Z(1),onKeydown:K}),y.showNav(e==="navigate"),c!=="default")y.root.classList.add(`${p}-search--${c}`);E.dom.root.classList.add(`${p}--has-search`)}let I=E.getItemStateFn();E.setItemStateFn((S,A)=>{if(I)I(S,A);if(f.length<i){delete A.search;return}if(e==="filter")A.search={matched:!0,query:f,matchIndex:S,isCurrent:!1};else{let Y=b.indexOf(S);A.search={matched:R.has(S),query:f,matchIndex:Y,isCurrent:Y!==-1&&Y===M}}}),E.registerMethod("openSearch",m),E.registerMethod("closeSearch",x),E.registerMethod("setQuery",(S)=>{if(!C)m();N(S)}),E.registerMethod("getQuery",()=>f),E.registerMethod("nextMatch",()=>Z(1)),E.registerMethod("prevMatch",()=>Z(-1)),E.registerMethod("getMatches",()=>b.slice()),E.registerKeydownHandler(z),E.registerDestroyHandler(()=>{J(),V(),y?.destroy(),y=null,E.dom.root.classList.remove(`${p}--search-open`,`${p}--searching`,`${p}--has-search`)})},hooks:{onCommit(d){P(d)}}}}function oo(t){let{slots:e,focalSlot:n,containerSize:o,gap:r=0}=t,s=e.length,l=Math.max(0,s-1)*r,i=o-l,v=e.map((y)=>Math.round(y*i)),c=i-v.reduce((y,C)=>y+C,0);if(n<v.length)v[n]+=c;let u=(v[n]??0)+r,E=(y)=>y>=r?r:Math.max(0,y);function T(y,C,f){let b=y-C,R=n+b,M=R-1,g=p(R),a=p(M);return g+f*(a-g)}function p(y){if(y<0||y>=s)return 0;return v[y]??0}function k(y,C,f,b){let R=y-C,M=T(y,C,f),g=b;if(R>0)for(let _=0;_<R;_++){let se=T(C+_,C,f);g+=se+E(se)}else if(R<0)for(let _=-1;_>=R;_--){let se=T(C+_,C,f);g-=se+E(se)}let a=n+R,F=a-1,D;if(a===n)D=f;else if(F===n)D=1-f;else D=1;let L=v[n]??0,B=L>0?M/L:0,X=B>0.6?"large":B>0.3?"medium":"small";return{size:M,offset:g,progress:D,relOffset:R,role:X}}function h(y,C){if(n===0)return 0;let f=0;for(let b=-1;b>=-n;b--){let R=T(y+b,y,C);f+=R+E(R)}return f}return{slotWidths:v,stepSize:u,focalSlot:n,getItemLayout:k,getItemSize:T,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,n){let o=qt.get(t);return o?o(e,n):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))),n=1/e;return{slots:Array.from({length:e},()=>n),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,n)=>st(t,e,n)}}function Qt(t){let e=t?.variant??"full",{variant:n,resolveSlots:o}=Bo(e),r=n==="full"||(t?.snap??n!=="free"),s=t?.snapDirection??!0,l=t?.snapDuration??400,i=t?.snapEasing,v=t?.initialIndex??0,c=t?.peek??"auto",u,E,T=null,p,k=v,h=0,y=0,C=0,f=0,b=!1,R="vlist",M=-1,g=0,a=[],F=[],D=!1,L="role",B=t?.gap??0;function X(z){if(h<=0)return 0;return(z%h+h)%h}function _(z,K,d){if(h<=1)return 0;let I=((K-z)%h+h)%h,S=h-I;if(d==="forward")return I;if(d==="backward")return-S;return I<=S?I:-S}function se(z){return Tt*h+z}function V(z){if(h<=0)return 0;return(z%h+h)%h}function q(z){a=z;let K=z.length;F=Array(K+1),F[0]=0;for(let d=0;d<K;d++)F[d+1]=F[d]+z[d];C=K>0?F[K]:0}function G(z){if(h<=0||C<=0)return{vi:0,frac:0};let K=Math.floor(z/C),d=z-K*C;if(d<0)d=0;if(!D){let oe=a[0],Q=Math.min(Math.floor(d/oe),h-1);return{vi:K*h+Q,frac:oe>0?d/oe-Q:0}}let I=0,S=h-1;while(I<S){let oe=I+S+1>>1;if(F[oe]<=d)I=oe;else S=oe-1}let A=F[I],Y=a[I],ne=Y>0?Math.max(0,Math.min((d-A)/Y,1)):0;return{vi:K*h+I,frac:ne}}function w(z){if(typeof c==="number")return c;if(typeof c==="string"&&c.endsWith("%"))return Math.round(z*parseFloat(c)/100);return Math.max(40,Math.min(Math.round(z*0.15),120))}function N(z){if(h<=0||C<=0)return 0;let K=Math.floor(z/h),d=(z%h+h)%h;return K*C+(F[d]??0)}function m(z){let{vi:K,frac:d}=G(z);return d>=0.5?K+1:K}function x(){if(M>=0)return M;return m(u.scrollPosition)}function Z(z,K){T?.smoothScrollTo(z,K,i)}let J=null;function O(){if(!T)return;let z=T.getItems().length;if(z===h)return;let K=k;if(h=z,D){let d=T.rawSizeSpec,I=typeof d==="function"?(S)=>d(S)+B:()=>d+B;q(Array.from({length:h},(S,A)=>I(A)))}else q(Array.from({length:h},()=>a[0]??y));if(f=h*Jt,u.totalItems=f,h>1){let d=K<h?K:0;k=d,T.scrollTo(N(Tt*h+d))}}function P(){if(!T||h<=0)return;if(!J&&!D&&h<=1)return;let K=T.dom.content.children,d=u.scrollPosition,I=u.baseOffset,S=Math.round(d-I),A=p?"width":"height",{vi:Y,frac:ne}=G(d),oe=Y-(Y%h+h)%h,Q=J?J.slotWidths[J.focalSlot]??0:0;if(J){let ie=d+J.getAnchorOffset(Y,ne);for(let te=0;te<K.length;te++){let he=K[te],be=he.dataset.index;if(be===void 0)continue;let ce=parseInt(be,10),H=oe+ce;if(H-Y>h/2)H-=h;if(Y-H>h/2)H+=h;let le=J.getItemLayout(H,Y,ne,ie),re=Math.max(0,Math.round(le.size)),ye=Math.round(le.offset-I);if(re<=0)he.style.display="none",he.classList.remove(`${R}-item--focused`,`${R}-item--selected`),he.removeAttribute("aria-selected");else he.style.display="",he.style[A]=re+"px",he.style.transform=p?`translateX(${ye}px)`:`translateY(${ye}px)`;let Le;if(L==="size"){let xe=J.slotWidths[J.focalSlot]??1;Le=Math.min(1,Math.max(0,re/xe))}else if(L==="viewport"){let xe=ye-S,Ce=Math.max(0,xe),Ie=Math.min(u.containerSize,xe+re),Ee=re>0?Math.max(0,(Ie-Ce)/re):0;Le=Math.min(1,Ee)}else Le=le.role==="large"?1-le.progress:0;he.style.setProperty("--vlist-carousel-progress",le.progress.toFixed(3)),he.style.setProperty("--vlist-carousel-offset",String(le.relOffset)),he.style.setProperty("--vlist-carousel-role",le.role),he.style.setProperty("--vlist-carousel-role-weight",Le.toFixed(3)),he.style.setProperty("--vlist-carousel-width",re+"px"),he.style.setProperty("--vlist-carousel-focal-width",Q+"px")}}else for(let ie=0;ie<K.length;ie++){let te=K[ie],he=te.dataset.index;if(he===void 0)continue;let be=parseInt(he,10),ce=oe+be;if(ce-Y>h/2)ce-=h;if(Y-ce>h/2)ce+=h;let H=V(ce),le=Math.max(0,Math.round((a[H]??0)-B)),re=N(ce),ye=Math.round(re-I);if(le<=0)te.style.display="none";else te.style.display="",te.style[A]=le+"px",te.style.transform=p?`translateX(${ye}px)`:`translateY(${ye}px)`;let Le=ce-Y,xe=Math.min(1,Math.abs(Le)+(Le===0?ne:0)),Ce;if(L==="viewport"||L==="size"){let Ie=ye-S,Ee=Math.max(0,Ie),ze=Math.min(u.containerSize,Ie+le),U=le>0?Math.max(0,(ze-Ee)/le):0;Ce=Math.min(1,U)}else Ce=1-xe;te.style.setProperty("--vlist-carousel-progress",xe.toFixed(3)),te.style.setProperty("--vlist-carousel-offset",String(Le)),te.style.setProperty("--vlist-carousel-role","large"),te.style.setProperty("--vlist-carousel-role-weight",Ce.toFixed(3)),te.style.setProperty("--vlist-carousel-width",le+"px")}}function j(z,K,d){if(!T)return;if(k=z,h<=1)return;let I=x(),S=V(I),A=((z-S)%h+h)%h,Y=h-A,ne=A<=Y?A:-Y,oe=I+ne;M=oe;let Q=N(oe);if(K)Z(Q,d);else T.scrollTo(Q),P()}return{name:"carousel",priority:10,conflicts:["scale"],setup(z){u=z.getState(),E=z.sizeCache,T=z,p=z.config.axis.primary==="x",R=z.config.classPrefix,h=u.totalItems;let K=h>0?E.getSize(0):0,d=u.containerSize,I=w(d),S=o(d,I);if(Zt(S))L=S.textFade??"role",J=oo({slots:S.slots,focalSlot:S.focalSlot,containerSize:d,gap:B}),y=J.stepSize,q(Array.from({length:Math.max(1,h)},()=>y)),D=!1;else if(typeof z.rawSizeSpec==="function"){L=S?.textFade??"viewport";let oe=z.rawSizeSpec;q(Array.from({length:h},(Q,ie)=>oe(ie)+B)),y=a[0]??K,D=!0}else L=S?.textFade??"viewport",y=K,q(Array.from({length:Math.max(1,h)},()=>y)),D=!1;if(f=h*Jt,k=X(v),h>1)z.setGetItemFn((oe)=>{let Q=V(oe);return z.getItems()[Q]}),E.getTotalSize=()=>C*Jt,E.getOffset=(oe)=>N(oe),E.getSize=(oe)=>{let Q=V(oe);return a[Q]??a[0]??0},E.indexAtOffset=(oe)=>{if(C<=0)return 0;let Q=Math.floor(oe/C),ie=oe-Q*C;if(!D){let be=a[0]??1;return Math.max(0,Math.min(Q*h+Math.floor(ie/be),f-1))}let te=0,he=h-1;while(te<he){let be=te+he+1>>1;if(F[be]<=ie)te=be;else he=be-1}return Math.max(0,Math.min(Q*h+te,f-1))},E.getTotal=()=>f,u.totalItems=f,z.setVirtualTotalFn(()=>h),z.setIndexMapFn(V),z.registerMethod("_layoutToDataIndex",V),z.setBoundedWrap({lapSize:()=>C,home:()=>Tt*C,thresholdLaps:Tt-Go}),b=!0;if(z.registerMethod("next",(oe,Q)=>{if(h<=1)return;let ie=oe??1,te=k,he=Q?.behavior!=="auto",be=Q?.duration??l;T.cancelScroll();let H=x()+ie;M=H,k=V(H);let le=N(H);if(he)Z(le,be);else T.scrollTo(le),P();if(k!==te)T.emitter.emit("carousel:change",{index:k,scrollPosition:u.scrollPosition})}),z.registerMethod("prev",(oe,Q)=>{if(h<=1)return;let ie=oe??1,te=k,he=Q?.behavior!=="auto",be=Q?.duration??l;T.cancelScroll();let H=x()-ie;M=H,k=V(H);let le=N(H);if(he)Z(le,be);else T.scrollTo(le),P();if(k!==te)T.emitter.emit("carousel:change",{index:k,scrollPosition:u.scrollPosition})}),z.registerMethod("goTo",(oe,Q)=>{if(h<=0)return;let ie=X(oe),te=Q?.direction??"auto",he=Q?.behavior==="smooth",be=Q?.duration??l;if(h<=1){k=ie;return}if(T.cancelScroll(),te==="forward"||te==="backward"){let ce=_(k,ie,te==="forward"?"forward":"backward");k=ie;let le=x()+ce;M=le;let re=N(le);if(he)Z(re,be);else T.scrollTo(re),P()}else j(ie,he,be)}),z.registerMethod("getCarouselState",()=>{let oe=u.scrollPosition,Q=h>0&&C>0?(oe%C+C)%C:0;return{index:k,progress:0,offset:0,scrollPosition:Q,role:"large"}}),z.setScrollToIndexFn((oe,Q,ie,te,he)=>{if(h<=1)return!1;let be=X(oe);j(be,ie==="smooth",te??l)}),z.setNavConfig({total:()=>h,navigate:(oe,Q,ie)=>{let te=oe;if(Q==="ArrowRight"||Q==="ArrowDown")te=(oe+1)%ie;else if(Q==="ArrowLeft"||Q==="ArrowUp")te=(oe-1+ie)%ie;else if(Q==="Home")te=0;else if(Q==="End")te=ie-1;if(te!==oe)j(te,!1,0),T?.forceRender(),P();return te}}),!z.dom.content.getAttribute("tabindex"))z.dom.content.setAttribute("tabindex","0");let A=z.getMethod("next"),Y=z.getMethod("prev"),ne=z.getMethod("goTo");z.registerKeydownHandler((oe)=>{let Q=oe.key;if(Q==="ArrowRight"||Q==="ArrowDown")oe.preventDefault(),A(1,{behavior:"smooth",duration:l});else if(Q==="ArrowLeft"||Q==="ArrowUp")oe.preventDefault(),Y(1,{behavior:"smooth",duration:l});else if(Q==="Home")oe.preventDefault(),ne(0,{behavior:"smooth",duration:l});else if(Q==="End")oe.preventDefault(),ne(h-1,{behavior:"smooth",duration:l})}),z.registerDestroyHandler(()=>{T?.cancelScroll()})},destroy(){T?.cancelScroll(),T=null},hooks:{onCommit(){if(!b||!T)return;b=!1;let z=N(se(k));T.scrollTo(z),T.forceRender(),P()},onAfterScroll(z){if(b||!T)return;if(O(),h<=1)return;if(u.scrollDirection!==0)g=u.scrollDirection;if(M<0){let K=u.scrollPosition,d=m(K),I=V(d);if(I!==k)k=I,T.emitter.emit("carousel:change",{index:k,scrollPosition:K})}P()},onIdle(){let z=g;if(M=-1,g=0,!r||!T||h<=1)return;let K=u.scrollPosition,{vi:d,frac:I}=G(K),S;if(s&&z!==0&&I>0.02&&I<0.98)S=z>0?d+1:d;else S=I>=0.5?d+1:d;let A=N(S);if(Math.abs(K-A)>1)k=V(S),Z(A,l)}}}}var Wo=50,Ko=0.1;function ro(t){let e=0,n=0,o=0;function r(){return o>0?n/o:0}function s(v){if(e=v,v>Ko&&v<Wo)n+=v,o++}function l(){let v=t.getTotal();if(v===0)return 0;let c=t.getItemSize();if(c<=0)return 0;let u=t.getContainerSize();if(u<=0)return 0;let E=t.getScrollPosition(),T=typeof t.getColumns==="function"?t.getColumns():1,k=Math.ceil(v/T)*c,y=Math.min(k,Qe)-u,C=k-u,f=y>0?C/y:1,b=E*f,R=Math.ceil((b+u)/c);return Math.min(R*T,v)}function i(){let v=t.getTotal(),c=l();return{progress:v>0?Math.min(100,Math.max(0,c/v*100)):0,velocity:e,velocityAvg:r(),itemCount:c,total:v}}return{getState:i,onVelocity:s}}async function so(t,e,n){let o=n?.key,r=t?.getScrollSnapshot,s=typeof r==="function"?r():void 0,l=rt(s?o?{restore:s,autoSave:o}:{restore:s}:o?{autoSave:o}:void 0),i=e(l),v=i.element;if(v.style.position="absolute",v.style.inset="0",v.style.visibility="hidden",n?.ready)await n.ready(i);else await new Promise((p)=>requestAnimationFrame(()=>p()));if(n?.delay&&n.delay>0)await new Promise((p)=>setTimeout(p,n.delay));let c=n?.transition,u=typeof c==="number"?c:c?.fadeIn??0,E=typeof c==="number"?c:c?.fadeOut??0,T=typeof c==="object"?c?.fadeOutDelay??0:0;if(t&&(u>0||E>0)){let p=t.element;v.style.visibility="",v.style.opacity="0",v.offsetHeight,v.style.transition=`opacity ${u}ms ease`,p.style.transition=`opacity ${E}ms ease ${T}ms`,v.style.opacity="1",p.style.opacity="0",await new Promise((k)=>setTimeout(k,Math.max(u,E+T)+50)),v.style.transition="",v.style.opacity="",p.style.transition="",p.style.opacity=""}else v.style.visibility="";if(v.style.position="",v.style.inset="",t)t.destroy();return i}export{At 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,zt as selection,rt as snapshots,Nt as sortable,Ot as table,Ht as transition,Bt as tree,St as uncontained};
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),S=new Float64Array(l),u=new Float64Array(l);i.set(e.visibleIndices),S.set(e.visibleOffsets),u.set(e.visibleSizes),e.visibleIndices=i,e.visibleOffsets=S,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,S=o-1;while(i<S){let u=i+S+1>>>1;if(n[u]<=l)i=u;else S=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 S=t.lastElementChild,u=S.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"),S.appendChild(E),{root:S,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,S=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(S.addEventListener("scroll",E,{passive:!0}),r)S.addEventListener("wheel",I,{passive:!1})},detach(){if(S.removeEventListener("scroll",E),r)S.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:S}=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,v=O<X&&N>0,p=O>B&&N<T;if(!v&&!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 v=o.scrollWidth>o.clientWidth;if(v&&Math.abs(O.deltaX)>Math.abs(O.deltaY))return;if(v&&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 v=e.scrollPosition,p=typeof O==="function"?O:()=>O,Z=p();if(Math.abs(Z-v)<1){f(Z),N?.();return}let q=performance.now();function G(P){Z=p();let J=Math.min((P-q)/X,1);if(M(v+(Z-v)*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+S,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 S=s();return i>S?S: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 An(t,e,o){for(let n=0;n<t.length;n++)t[n](e,o)}function zn(t,e,o,n,r,s,l,i){let S=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:S,crossStartProp:S?e?"top":"left":"",crossEndProp:S?e?"bottom":"right":"",crossStartVal:S?n+"px":"",crossEndVal:S?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,S=r??0;t.totalSize=e.getTotalSize();let u=e.indexAtOffset(S>0?Math.max(0,s-S):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,S,u){let c=S?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=S?S(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,S,u,c,E){if(bo(t,e,o,u,S.startPadding))yo(t,n,r,s,l,i,S,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(S){console.error(`[vlist] Error in event handler for "${String(s)}":`,S)}})},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,S=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=zn(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(S,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,v=[],p=[],Z=[],q=null,G=null,P=null,J=null,z=null,W=null,d=null,L=null,y=null,A=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){v.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,z=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(y){y(ee,we);return}f.splice(we,0,ee),M.totalItems=f.length,m.rebuild(M.totalItems),le()},setRemoveItemFn(ee){L=ee},setInsertItemFn(ee){y=ee},setUpdateItemFn(ee){A=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 ze(){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,ze()}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,z)z();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,ze(),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<v.length;we++)v[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 Ae=null;if(!te)setTimeout(()=>{if(M.destroyed)return;Ae=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(),An(w.resize,_e,De),I.emit("resize",{width:_e,height:De})}}),Ae.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(A){if(!A(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(y)y(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(),Ae?.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:S=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,v=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"),z=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(${z}) + ${ue}px)`:`var(${z})`,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",`${S}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},y=()=>{if(!l)return;L(),j=setTimeout(Y,i)},A=()=>{if(b<=R)return;if(L(),!k)G.classList.add(`${n}-scrollbar--visible`),k=!0;if(l&&!a&&!D)y()},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(S,ve*ge),P.style[v]=`${M}px`,f=ge-M,te(K),!l)A()},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),A()},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)}A()},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(),y(),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)y();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)y()},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();A()},Re=()=>{if(c)A()},ze=()=>{if(!a){if(D=!1,l)y()}},U=()=>{D=!0,L(),A()},le=()=>{if(D=!1,!a&&l)y()},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",ze),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",ze),J.addEventListener("click",Q),J.addEventListener("mousedown",H),u)J.addEventListener("mouseenter",U),J.addEventListener("mouseleave",le);return{show:A,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:S}=l,{classPrefix:u}=S,c=S.axis.primary==="x";o=l.getState(),n=S.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,S=o.containerSize;if(i!==r||S!==s)r=i,s=S,e?.updateBounds(i,S);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=S(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},S=(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:S,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,S,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 v(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 z=o.getSize(J)-R;if(u)P.style.width=`${z}px`,P.style.height=`${M}px`;else P.style.width=`${M}px`,P.style.height=`${z}px`}function Z(P,J,z){if(f)f(z,Ue);else Ue.selected=!1,Ue.focused=!1;let W=i(J,z,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 z=N();if(J<=0||z===0)return;w();let W=o.indexAtOffset(P),d=o.indexAtOffset(P+J);if(d<z-1)d++;W=Math.max(0,W),d=Math.min(z-1,Math.max(0,d));let L=Math.max(0,W-E),y=Math.min(z-1,d+E);if(L===n.prevRangeStart&&y===n.prevRangeEnd&&!n.renderPending&&n.baseOffset===n.prevBaseOffset)return;e.fillItemRange(L,y,n.totalItems,K);let{start:A,end:Y}=K;for(let[Q,ae]of C)if(Q<A||Q>Y)ae.el.remove(),r.release(ae.el),C.delete(Q);for(let Q=A;Q<=Y;Q++){let ae=S(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=y,n.prevBaseOffset=n.baseOffset,n.renderPending=!1;let te=Y-A+1;n.visibleCount=Math.min(te,n.capacity),n.startIndex=A;for(let Q=0;Q<n.visibleCount;Q++){let ae=A+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,S=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,z;if(typeof J==="function"){let A={columnWidth:e.getColumnWidth(m),columns:t.columns,gap:R};z=J(0,A),P.setSizeConfig((Y)=>{A.columnWidth=e.getColumnWidth(m);let ne=Y*t.columns;return J(ne,A)+R})}else if(z=J,R>0)P.setSizeConfig(z+R);let W=null,d=o.rebuild;function L(){if(o.rebuild===W)return;d=o.rebuild,X=(y)=>d(y),W=(y)=>{X(Math.ceil(y/b))},o.rebuild=W}if(P.registerMethod("_setSizeCacheBase",(y)=>{d=y,X=(A)=>d(A)}),L(),X(N()),R>0){let y=o.getTotalSize;o.getTotalSize=()=>{let A=y();return A>0?A-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",(y)=>{if(y.columns!==void 0){if(!Number.isInteger(y.columns)||y.columns<1)throw Error("[vlist] updateGrid: columns must be >= 1")}if(y.gap!==void 0&&y.gap<0)throw Error("[vlist] updateGrid: gap must be >= 0");if(e.update(y),y.columns!==void 0)b=Math.max(1,Math.floor(y.columns));if(y.gap!==void 0)R=y.gap;if(y.gap!==void 0||y.columns!==void 0){let A=e.gap;if(typeof J==="function"){let Y={columnWidth:e.getColumnWidth(m),columns:e.columns,gap:A};P.setSizeConfig((ne)=>{Y.columnWidth=e.getColumnWidth(m);let te=ne*e.columns;return J(te,Y)+A})}else P.setSizeConfig(z+A);L(),X(N())}if(y.columns!==void 0)P.setNavConfig({ud:e.columns});m=n.crossSize-_,B(),G()}),P.registerMethod("scrollToIndex",(y,A="start")=>{let Y=e.getRow(y),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 A==="string"?A:A.align??"start",H=typeof A==="object"?A.behavior:void 0,ie=typeof A==="object"?A.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:(y)=>e.getRow(y)}),P.registerDestroyHandler(()=>{for(let[,y]of C)y.el.remove();C.clear(),P.dom.root.classList.remove(`${c}--grid`)})},hooks:{onResize(P,J){let z=n.crossSize-_;if(Math.abs(z-m)<1)return;m=z,B();for(let[W,d]of C){let L=W/b|0;p(d.el,L),d.el.style.transform=v(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 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,S=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,v=N+se,p=O;if(N<O)p=Math.max(0,k);else if(v>O+X)p=v+w-X;if(p!==O)l.scrollPosition=p,o.scrollTo(p)},M=(x,K)=>{if(n.content.setAttribute("aria-activedescendant",`${S}-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)),v=Math.max(1,Math.floor(l.containerSize/w))*O;k=nt(x.key==="PageUp"?j-v:j+v,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 zt(t){let e=t?.mode??"single",o=t?.followFocus??!1,n=t?.focusOnClick??!1,r=t?.keyboard??!0,s,l,i,S,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 z=f(P);if(z>=0)s.selected.add($e+z)}}}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(),S.emit("selection:change",{selected:mt(s.selected),items:B()})}let N=null,v=-1;return{name:"selection",priority:50,setup(p){p.enableListboxRole(),s=Vn(t?.initial),l=p.getItems.bind(p),i=p.forceRender.bind(p),S=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,y)=>{if(M(p),s.selected.size>0){let A=f(L),Y=A>=0?V(L):void 0,ne=Y?.id;if(ne!==void 0)if(s.selected.has(ne))y.selected=!0;else if(ot(s.selected,A,ne))y.selected=!0,_.delete($e+A),_.set(ne,Y);else y.selected=!1;else y.selected=a!==null&&A>=0&&s.selected.has($e+A)}else y.selected=!1;y.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,v=-1;let y=L.target.closest("[data-index]");if(!y)return!1;let A=parseInt(y.dataset.index??"-1",10);if(A<0)return!1;if(C?.(A))return!1;if(f(A)<0)return!1;let ne=V(A);if(!ne)return!1;return N=ne,v=A,!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 y=p.getNavConfig(),A=y.scrollIndex?y.scrollIndex(L):L,Y=c.getOffset(A),ne=c.getSize(A)-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)},z=(L)=>{let y=u.content.querySelectorAll(`[data-index="${L}"]`),A=null;for(let Y=0;Y<y.length;Y++){let ne=y[Y];if(ne.style.display!=="none"){A=ne;break}}if(!A&&y.length>0)A=y[0];u.content.setAttribute("aria-activedescendant",A?.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 y=s.focusedIndex>=0?Math.min(s.focusedIndex,L-1):0;y=x(y,1,L),s.focusedIndex=y,s.focusVisible=!0,z(y),J(y),i()};u.root.addEventListener("focusin",W);let d=(L)=>{if(E.destroyed)return;let y=L.relatedTarget;if(y&&u.root.contains(y))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 A=g>=0?g:s.focusedIndex,Y=f(A),ne=f(v);if(Y>=0&&ne>=0)O(A,v);s.focusedIndex=v,s.focusVisible=n,g=v,w();return}if(s.focusedIndex=v,s.focusVisible=n,g=v,(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 y=b();if(y===0)return;let A=p.getNavConfig(),Y=s.focusedIndex,ne=!1,te=!1;if(A.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=A.total?A.total():y,oe=A.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=A.ud||1,oe=A.lr,pe=Z.axis.primary==="x";if(pe&&!oe)break;qe(s,-(pe?oe:ae),y,Z.reverse),s.focusVisible=!0,ne=!0;break}case"ArrowDown":{let ae=A.ud||1,oe=A.lr,pe=Z.axis.primary==="x";if(pe&&!oe)break;qe(s,pe?oe:ae,y,Z.reverse),s.focusVisible=!0,ne=!0;break}case"ArrowLeft":{let ae=A.ud||1,oe=A.lr,pe=Z.axis.primary==="x";if(!pe&&!oe)break;qe(s,-(pe?ae:oe),y,Z.reverse),s.focusVisible=!0,ne=!0;break}case"ArrowRight":{let ae=A.ud||1,oe=A.lr,pe=Z.axis.primary==="x";if(!pe&&!oe)break;qe(s,pe?ae:oe,y,Z.reverse),s.focusVisible=!0,ne=!0;break}case"Home":if(y>0)s.focusedIndex=0;s.focusVisible=!0,ne=!0;break;case"End":if(y>0)s.focusedIndex=y-1;s.focusVisible=!0,ne=!0;break;case"PageUp":case"PageDown":{let ae=A.ud||1,oe=Math.max(0,s.focusedIndex),pe=A.scrollIndex?A.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,y)}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)S.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,y)}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||!A.navigate)J(s.focusedIndex);z(s.focusedIndex)}if(te)w();else if(Q){if(i(),s.focusedIndex>=0){let ae=V(s.focusedIndex);if(ae)S.emit("focus:change",{id:ae.id,index:s.focusedIndex})}}}});p.registerMethod("select",(...L)=>{for(let y of L)K(y);w()}),p.registerMethod("deselect",(...L)=>{for(let y of L)se(y);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 y=V(s.focusedIndex);if(y)K(y.id,y);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 y=V(s.focusedIndex);if(y)K(y.id,y);w()}),p.registerMethod("_seedSelection",(L)=>{if(e==="single"){if(L.length===1)s.selected.add(L[0])}else for(let y of L)s.selected.add(y)}),p.registerMethod("_isFollowFocus",()=>o),p.registerMethod("_getFocusedId",()=>{if(s.focusedIndex<0)return;return V(s.focusedIndex)?.id}),p.registerMethod("_focusById",(L)=>{let y=E.totalItems;for(let A=0;A<y;A++){if(C?.(A))continue;let Y=V(A);if(Y&&Y.id===L){s.focusedIndex=A,s.focusVisible=n,S.emit("focus:change",{id:L,index:A});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:S}=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(),S.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,S=s.getState(),u=()=>{let{scrollPosition:I,totalItems:g}=S,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=S.totalItems,b=I.dataTotal??I.total;if(m===0&&b&&b>0){let X=s.getMethod("_setTotal");if(X)X(b),m=S.totalItems;l.rebuild(m),s.updateContentSize(l.getTotalSize()),S.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()),S.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,S.totalSize-S.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(S.containerSize>0){if(Math.abs(S.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(S){let{sizeCache:u,emitter:c}=S,{config:E,dom:I}=S,g=S.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;S.shiftScroll(a),g.scrollPosition=D}},m=(a)=>Math.round(a-g.baseOffset),b=S.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(S.removeItemById(V)<0)return!1;if(C(),S.forceRender(),f(),c.emit("data:change",{type:"remove",id:V}),K>=0){let L=g.totalItems;if(L>0)S.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(S.removeItemById(V)<0)return!1;C(),S.forceRender(),f(),c.emit("data:change",{type:"remove",id:V});let v=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-v);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=v>0,J=I.content.children;for(let d=0;d<J.length;d++){let L=J[d];if(L===B)continue;let y=parseInt(L.dataset?.index??"-1",10);if(y<0||!P&&y<k)continue;let A=u.getOffset(y),Y=y>=k?m(A+O-v):m(A-v),ne=m(A);if(Y===ne)continue;q.push(L.animate([{transform:`${h}(${Y}px)`},{transform:`${h}(${ne}px)`}],Z))}let z=!1,W=()=>{if(z)return;z=!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)S.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 z of V){let W=M(z);j.push({id:z,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((z,W)=>W.layoutIndex-z.layoutIndex);let k=[];for(let z of j){if(!z.el||z.layoutIndex<0)continue;let W=z.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:z.offset,size:z.size,layoutIndex:z.layoutIndex})}let se=new Map,O=I.content.children;for(let z=0;z<O.length;z++){let W=O[z],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 z of j)if(S.removeItemById(z.id)>=0)B.push(z.id);if(B.length===0)return 0;C(),S.forceRender(),f();for(let z of B)c.emit("data:change",{type:"remove",id:z});if(k.length===0){if(K>=0){let z=g.totalItems;if(z>0)S.getRenderedElement(Math.min(K,z-1))?.focus()}for(let z of B)c.emit("remove:end",{id:z});return B.length}let w=X-g.scrollPosition,N=r,v={duration:N.duration,easing:N.easing},p=[];k.sort((z,W)=>z.layoutIndex-W.layoutIndex);let Z=0;for(let z of k){z.clone.style.zIndex="1",I.content.appendChild(z.clone);let W=m(z.offset-w),d=m(z.offset-Z);p.push(z.clone.animate([{transform:`${h}(${W}px) scaleY(1)`,opacity:1,transformOrigin:_},{transform:`${h}(${d}px) scaleY(0)`,opacity:0,transformOrigin:_}],v)),Z+=z.size}let q=new Set(k.map((z)=>z.clone)),G=I.content.children;for(let z=0;z<G.length;z++){let W=G[z];if(q.has(W))continue;let d=W.dataset?.id,L=parseInt(W.dataset?.index??"-1",10);if(!d||L<0)continue;let y=se.get(d);if(y===void 0)continue;let A=u.getOffset(L),Y=m(y-w),ne=m(A);if(Y===ne)continue;p.push(W.animate([{transform:`${h}(${Y}px)`},{transform:`${h}(${ne}px)`}],v))}let P=!1,J=()=>{if(P)return;P=!0,l=null;for(let{clone:z}of k)z.remove();for(let z of p)if(z.playState!=="finished")z.cancel();if(K>=0){let z=g.totalItems;if(z>0)S.getRenderedElement(Math.min(K,z-1))?.focus()}for(let z of B)c.emit("remove:end",{id:z})};return l=J,Promise.all(p.map((z)=>z.finished)).then(J,J),setTimeout(J,N.duration+50),B.length};S.registerMethod("removeItem",a),S.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],z=J.dataset?.id,W=parseInt(J.dataset?.index??"-1",10);if(z&&W>=0)K.set(z,u.getOffset(W))}let k=g.scrollPosition,se=T(),O=k>=se-1;S.insertItemAt(D,x),S.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(S.shiftScroll(P-g.scrollPosition),g.prevScrollPosition=g.scrollPosition,g.scrollPosition=P,X=P-k,X>0)S.forceRender(),f()}let w=S.getRenderedElement(B),N=s,v={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:_}],v))}let Z=I.content.children;for(let P=0;P<Z.length;P++){let J=Z[P];if(J===w)continue;let z=J.dataset?.id,W=parseInt(J.dataset?.index??"-1",10);if(!z||W<0)continue;let d=K.get(z);if(d===void 0)continue;let L=u.getOffset(W),y=m(d+X),A=m(L);if(y===A)continue;p.push(J.animate([{transform:`${h}(${y}px)`},{transform:`${h}(${A}px)`}],v))}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)};S.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,S=new Map,u=new Set,c=new WeakMap,E=0,I=!1,g=!1,_=!1,h=2;function T(a){return S.get(a)??i}function C(a){return S.has(a)&&!u.has(a)}function m(a){if(!n||r.destroyed)return;if(!S.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 v=N.target,p=c.get(v);if(p===void 0)continue;if(v.getAttribute("data-index")!==String(p)){o.unobserve(v);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=S.has(p),J=S.get(p)??i;if(S.set(p,G),u.delete(p),!P||G!==J)k=!0;if(p<se&&G!==J)E+=G-J;o.unobserve(v),v.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 v=a.sizeCache.getTotalSize();return Math.max(0,v+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("setMeasuredSize",(j,k)=>{S.set(j,k)}),a.registerMethod("getMeasuredCount",()=>S.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;S.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=[],S=()=>{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};S();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)S()},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}}},Ao=1,Gn=(t,e,o,n=!1,r,s,l,i,S=()=>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-S());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 v=u.acquire(),p=X.__groupHeader,Z=T(w,N);if(v.className=p?m:C,v.dataset.index=String(O),v.dataset.id=String(X.id),v.dataset.lane=String(B.lane),p)v.setAttribute("role","presentation"),v.removeAttribute("aria-selected"),v.removeAttribute("aria-setsize"),v.removeAttribute("aria-posinset"),v.removeAttribute("id");else if(i===!0){if(v.setAttribute("role","option"),v.ariaSelected=String(w),s)v.id=`${s}-item-${O}`;if(r){let G=r();if(G!==_)_=G,g=String(G);v.setAttribute("aria-setsize",g);let P=l?l(O):O+1;v.setAttribute("aria-posinset",String(P))}}else if(v.setAttribute("role","listitem"),v.removeAttribute("aria-selected"),r){let G=r();if(G!==_)_=G,g=String(G);v.setAttribute("aria-setsize",g);let P=l?l(O):O+1;v.setAttribute("aria-posinset",String(P))}D(v,B);let q=e(X,O,Z);return M(v,q),f(v,w,N),a(v,B),{element:v,lastItem:X,lastSelected:w,lastFocused:N,lastY:B.y-S(),absY:B.y,lastX:B.x,lastSize:B.size,lastCrossSize:B.crossSize,lastSeenFrame:I}},x=(O,X,B,w)=>{I++,E.clear();for(let v=0;v<X.length;v++)E.add(X[v].index);let N=null;for(let v=0;v<X.length;v++){let p=X[v],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 z=J.lastItem!==q,W=J.lastSelected!==G,d=J.lastFocused!==P,L=J.lastY!==p.y-S()||J.lastX!==p.x,y=J.lastSize!==p.size||J.lastCrossSize!==p.crossSize;if(z){let A=T(G,P),Y=e(q,Z,A);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(z||W||d)f(J.element,G,P),J.element.ariaSelected=String(G),J.lastSelected=G,J.lastFocused=P;if(y)D(J.element,p),J.lastSize=p.size,J.lastCrossSize=p.crossSize;if(L)a(J.element,p),J.lastY=p.y-S(),J.absY=p.y,J.lastX=p.x}else{let z=V(Z,q,p,G,P);if(!N)N=document.createDocumentFragment();N.appendChild(z.element),c.set(Z,z)}}if(N)t.appendChild(N);for(let[v,p]of c)if(E.has(v))p.lastSeenFrame=I;else if(I-p.lastSeenFrame>Ao)u.release(p.element),c.delete(v);else{let Z=Math.round(p.absY-S());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,v=w.lastFocused!==B;if(N||v)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 zo=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,S=[],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 y=n.totalItems;V=Array(d);for(let A=0;A<d;A++)V[A]=[];if(x.length<y)x=new Int32Array(y);for(let A=0;A<y;A++){if(O?.(A))continue;let Y=j(A);if(Y<0||Y>=d)continue;x[A]=V[Y].length,V[Y].push(A)}}else{let y=S.length;V=Array(d);for(let A=0;A<d;A++)V[A]=[];if(x.length<y)x=new Int32Array(y);for(let A=0;A<y;A++){let Y=S[A];x[A]=V[Y.lane].length,V[Y.lane].push(A)}}K=Array(d);for(let y=0;y<d;y++){let A=V[y],Y=new Float64Array(A.length);for(let ne=0;ne<A.length;ne++){let te=A[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=S[te];Y[ne]=Q.y+Q.size*0.5}}K[y]=Y}}function v(d,L){let y=d.length;if(!y)return-1;let A=0,Y=y-1;while(A<Y){let ne=A+Y>>1;if(d[ne]<L)A=ne+1;else Y=ne}if(A>0&&Math.abs(d[A-1]-L)<=Math.abs(d[A]-L))return A-1;return A}function p(d,L,y){if(B)N(),B=!1;let A=!!j,Y,ne;if(A){if(O?.(d))return d;if(Y=j(d),Y<0)return d;ne=x[d]}else{let oe=S[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=v(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=v(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=A?null:S[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=A?null:S[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;S=e.calculateLayout(d,q()),I=d,B=!0,J()}function J(){if(!r)return;let d=e.getTotalSize(S)+C;if(d===g)return;g=d,r.updateContentSize(d)}function z(){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||S.length===0)return;let y=Math.max(0,d-i),A=d+L+i,Y=e.getVisibleItems(S,y,A),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,z()}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*zo,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(z,W),P(),d.registerMethod("getMasonryLayout",()=>e),d.registerMethod("updateMasonry",(y)=>{if(y.columns!==void 0&&y.columns<1)throw Error("[vlist] updateMasonry: columns must be >= 1");if(y.gap!==void 0&&y.gap<0)throw Error("[vlist] updateMasonry: gap must be >= 0");let A={};if(y.columns!==void 0)A.columns=y.columns;if(y.gap!==void 0)A.gap=y.gap;e.update(A),o?.clear(),W()}),d.registerMethod("scrollToIndex",(y,A="start")=>{let Y=S[y];if(!Y)return;let ne=typeof A==="string"?A:A.align??"start",te=typeof A==="object"?A.behavior:void 0,Q=typeof A==="object"?A.duration:void 0,ae=n.containerSize,oe=e.getTotalSize(S)+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,y>=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",(y)=>{let A=S[y];if(!A)return;let Y=n.scrollPosition,ne=n.containerSize,te=e.getTotalSize(S)+C,Q=Math.max(0,te-ne),ae=A.y,oe=ae+A.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&&y===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 y=n.crossSize-_;if(Math.abs(y-e.containerSize)<1)return;e.update({containerSize:y}),o?.clear(),W()},onIdle(){o?.sortDOM()}},destroy(){o?.destroy(),o=null,S=[],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,S=(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),v=S(N),p=c(B),Z=v.items[p]===void 0;if(v.items[p]=w,Z)v.count++,i++;if(B>=l)l=B+1},T=(B,w)=>{for(let N=0;N<w.length;N++){let v=w[N];if(v!==void 0)h(B+N,v)}},C=(B,w)=>{if(B<0||B>l)return;let N=u(B),v=Array.from(s.keys()).filter((P)=>P>=N).sort((P,J)=>P-J),p=[];for(let P of v){let J=s.get(P),z=P*e;for(let W=0;W<e;W++){if(J.items[W]===void 0)continue;let d=z+W;if(d<B)continue;p.push({oldIndex:d,item:J.items[W]})}}for(let{oldIndex:P}of p){let J=u(P),z=s.get(J);if(!z)continue;let W=c(P);if(z.items[W]!==void 0){if(z.items[W]=void 0,z.count--,i--,z.count===0)s.delete(J)}}l++;for(let{oldIndex:P,item:J}of p){let z=P+1,W=u(z),d=S(W),L=c(z);d.items[L]=J,d.count++,i++}let Z=u(B),q=S(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),v=c(B);if(!(N!==void 0&&N.items[v]!==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),z=P*e;for(let W=0;W<e;W++){if(J.items[W]===void 0)continue;let d=z+W;if(d<=B)continue;G.push({oldIndex:d,item:J.items[W]})}}if(N.items[v]=void 0,N.count--,i--,N.count===0)s.delete(w);for(let{oldIndex:P}of G){let J=u(P),z=s.get(J);if(!z)continue;let W=c(P);if(z.items[W]!==void 0){if(z.items[W]=void 0,z.count--,i--,z.count===0)s.delete(J)}}for(let{oldIndex:P,item:J}of G){let z=P-1,W=u(z),d=S(W),L=c(z);d.items[L]=J,d.count++,i++}return l--,!0},b=(B,w)=>{let N=[];for(let v=B;v<=w&&v<l;v++)N.push(g(v));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((v,p)=>v-p);for(let v of N){let p=s.get(v);if(!p)continue;let Z=v*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=[],v=null;for(let p=B;p<=w&&p<l;p++)if(!_(p))if(v===null)v={start:p,end:p};else v.end=p;else if(v!==null)N.push(v),v=null;if(v!==null)N.push(v);return N},a=(B)=>s.has(B),D=(B)=>{let w=s.get(B);if(!w)return!1;let N=B*e,v=Math.min(e,l-N);return w.count>=v},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(),v=u(Math.max(0,B)),p=u(Math.min(l-1,w));for(let Z=v;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),v=Math.min(l-1,w+n),p=u(N),Z=u(v),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(([,v],[,p])=>v.lastAccess-p.lastAccess),w=0,N=[];for(let[v,p]of B){if(i<=o)break;w+=p.count,i-=p.count,N.push(v),s.delete(v)}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:S,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=()=>{S?.(v())},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,v=()=>({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)},z=(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},y=(fe,H)=>{g.insert(H,fe),j(),V(),K(),x()},A=(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("-"),ze=parseInt(Te.slice(0,Re),10);if(Math.abs(ze-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,ze=O(Ee,Re);if(g.isChunkFullyLoaded(Te))continue;let le=D.get(ze);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 ze=i-D.size;if(xe.length>ze)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,ze)}}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,ze=(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,[ze,Re]),Ce.push(ze)}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:v,getTotal:X,getCached:B,getIsLoading:w,getHasMore:N,getStorage:p,getPlaceholders:Z,getItem:q,getItemById:G,getIndexById:P,isItemLoaded:J,getItemsInRange:z,setTotal:W,setItems:d,updateItem:L,insertItem:y,removeItem:A,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,S=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=(v,p)=>u.ensureRange(v,p),k=(v,p=at)=>{I.emit("load:start",{offset:v,limit:p})},se=(v)=>{I.emit("error",{error:v,context:"ensureRange"})},O=()=>{h=null;let v={start:c.startIndex,end:c.startIndex+Math.max(0,c.visibleCount-1)};if(v.end<v.start)return;j(v.start,v.end).catch(se)},X=()=>{if(R!==null)clearTimeout(R),R=null},B=()=>{if(c.destroyed)return;let v=u.getTotal();if(c.visibleCount<=0||c.startIndex>=v)return;let p=Math.min(c.startIndex+c.visibleCount-1,v-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(v){c=v.getState(),E=v.sizeCache,I=v.emitter,g=v.dom,_=v.forceRender.bind(v);let p=null;v.setVirtualTotalFn(()=>p?.getTotal()??0),v.setGetIndexByIdFn((q)=>p?.getIndexById(q)??-1),u=p=Kn({adapter:e,...o!==void 0&&{initialTotal:o},pageSize:r?.chunkSize??at,maxConcurrent:S,...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);v.updateContentSize(E.getTotalSize()),v.renderIfNeeded()}},onItemsLoaded:(q)=>{if(N(),c.initialized)v.updateContentSize(E.getTotalSize()),_(),I.emit("load:end",{items:q,total:u.getTotal()})},onLoadError:(q)=>{if(I.emit("error",{error:q,context:"load"}),c.initialized)v.renderIfNeeded();w()}}),v.setGetItemFn((q)=>u.getItem(q)),v.setRemoveItemFn((q)=>{let G=u.getIndexById(q);if(G<0)return-1;if(!u.removeItem(q))return-1;return G}),v.setInsertItemFn((q,G)=>{u.insertItem(q,G)}),v.setUpdateItemFn((q,G)=>{let P=u.getIndexById(q);if(P<0)return!1;return u.updateItem(P,G)}),v.registerMethod("reload",async()=>{if(h=null,D=-1,V=-1,N(),v.forceRender(),await u.reload(),v.scrollTo(0),n)k(0),await u.loadInitial(),v.forceRender()}),v.registerMethod("loadVisibleRange",async()=>{h=null,v.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)}}),v.registerMethod("loadInitial",async()=>{k(0),await u.loadInitial(),v.forceRender()}),v.registerMethod("getTotal",()=>u.getTotal()),v.registerMethod("setTotal",(q)=>{u.setTotal(q)}),v.registerMethod("_getTotal",()=>u.getTotal()),v.registerMethod("_setTotal",(q)=>{u.setTotal(q)}),v.registerMethod("_cancelAutoLoad",()=>{b=!0}),v.registerMethod("_getLoadedItem",(q)=>u.getStorage().get(q)),v.registerMethod("_getItem",(q)=>u.getItem(q)),v.registerMethod("_getLoadedCount",()=>u.getCached()),I.on("load:start",()=>{g.root.setAttribute("aria-busy","true")}),I.on("load:end",()=>{g.root.removeAttribute("aria-busy")}),v.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),v.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 v=c.startIndex+Math.max(0,c.visibleCount-1);if(m>s){if(T!==null)clearTimeout(T),T=null;h={start:c.startIndex,end:v};return}if(m>l){let q=Math.floor(c.startIndex/x),G=Math.floor(v/x);if(q!==D||G!==V){if(D=q,V=G,v>=c.startIndex)j(c.startIndex,v).catch(se)}let P=c.startIndex,J=v,z=c.scrollDirection;if(z>0)J=Math.min(J+i,u.getTotal()-1);else if(z<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(v/x);if(p!==D||Z!==V){if(D=p,V=Z,v>=c.startIndex)j(c.startIndex,v).catch(se)}},onIdle(){if(c.destroyed)return;m=0,D=-1,V=-1,O(),K()},onResize(){if(c.destroyed)return;let v=u.getTotal();if(v<=0)return;if(c.visibleCount<=0||c.startIndex>=v)return;let p=Math.min(c.startIndex+c.visibleCount-1,v-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 S=o?.(i);if(!S)continue;let u=e(i,S);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,S)=>{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]=S?S(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 y=M[L];return I(d,y),y},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)`},v=()=>{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,v()},Z=()=>{if(!O)return;B(m),j=-1,O=!1,v()},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,y=a-1;while(L<y){let Y=L+y+1>>>1;if(R[Y]+f[Y]<=d)L=Y;else y=Y-1}if(!k)G();w(L);let A=L+1;if(A<a){let Y=R[A]-d;if(Y<=0&&Y>-K){if(j!==A||!O)j=A,X(m,A),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()},z=()=>{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:z,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,S,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,v=!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),y();let re=W?A():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 z=0,W=null,d=null,L=null;function y(){if(a<=0){W=null,d=null;return}z=((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??((ze)=>l.getSize(ze)),Ce=new Float64Array(a),Te=[],Ee=0,Re=-1;for(let ze=0;ze<re;ze++){let U=r.getEntry(ze);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(ze);W.set(ze,{col:-1,rowY:Ee}),ye[Le++]=[ze,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(ze,{col:le,rowY:Ie,h:ue}),ye[Le++]=[ze,Ie,Ie+ue],Ce[le]=Ce[le]+ue+D}}if(Re>=0){let ze=0;for(let U=0;U<a;U++)if(Ce[U]>ze)ze=Ce[U];Te[Re]=Ee+ze}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 ze=l.getSize(Ee);W.set(Ee,{col:-1,rowY:xe}),ye[Le++]=[Ee,xe,xe+ze],xe+=ze,Ce=0,Te=0}else{let ze=Ce%a,U=l.getSize(Ee);if(ze===0){if(Ce>0&&Te>0)xe+=Te+D;Te=U}else if(U>Te)Te=U;W.set(Ee,{col:ze,rowY:xe}),ye[Le++]=[Ee,xe,xe+U],Ce++}}ye.length=Le,d=ye}function A(){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*(z+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=`${z}px`;else H.style.height=`${Le}px`,H.style.width=`${z}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 S.release(H)}),se.clear(),O.clear()}function Q(){if(X.size>0)X.forEach((H)=>S.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 ze=n(ie.group.key,ie.group.groupIndex);if(typeof ze==="string")H.innerHTML=ze;else H.innerHTML="",H.appendChild(ze)}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,y();let ie=A();if(c?.(ie),s)s.refresh(),s.update(i.scrollPosition);v=!0}function be(){if(i.destroyed)return;J(),pe();let H=i.scrollPosition,ie=i.containerSize,re=i.baseOffset,ye=re!==N;if(!v&&H===B&&ie===w&&!ye)return;B=H,w=ie;let Le=v;v=!1;let xe=P();if(ie<=0||xe===0){if(se.size>0)se.forEach((ge)=>{ge.remove(),S.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 Ae=He+Pe>>>1;if(ge[Ae][2]<=H)He=Ae+1;else Pe=Ae}let F=He;Pe=ve-1;while(He<Pe){let Ae=He+Pe+1>>>1;if(ge[Ae][1]>=H+ie)Pe=Ae-1;else He=Ae}let de=He,ce=ge[F][0],he=ge[de][0];for(let Ae=ce-1;Ae>=0;Ae--)if(r.getEntry(Ae).type==="header"){ce=Ae;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(),S.release(ge),se.delete(ve),O.delete(ve)});let Ee=m?.()??null,Re=Ee?`${T}-item--selected`:"",ze=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=S.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(ze,Ye.focused),Ye.selected)ve.setAttribute("aria-selected","true");else ve.removeAttribute("aria-selected")}if(U)u.appendChild(U);Q();let le=W?A():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),y();let xe=W?A():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,v=!0,be()}return{name:"groups",priority:10,setup(H){l=H.sizeCache,i=H.getState(),S=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:z})}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),y(),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 ze=H.config.startPadding,U=K-ze;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+ze)H.scrollTo(Math.max(0,ue-ze));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?A()+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,Ae=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"&&Ae&&Ae>0)H.smoothScrollTo(Se,Ae);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,y();let re=A();if(c?.(re),s)s.refresh(),s.update(i.scrollPosition);v=!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,S=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>=S)return;if(r==="spacer"){i=S;return}let b=S-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(S=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 S=document.createElement("div");S.className=`${o}-table-header-scroll`,S.setAttribute("role","presentation"),i.appendChild(S),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 v=document.createElement("div");v.className=`${o}-table-header-cell`,v.setAttribute("role","columnheader"),v.setAttribute("aria-colindex",String(N+1)),v.setAttribute("tabindex",N===0?"0":"-1"),v.dataset.columnKey=w.def.key;let p=w.def.align;if(p==="center")v.classList.add(`${o}-table-header-cell--center`);else if(p==="right")v.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(v.appendChild(Z),w.def.sortable){let G=document.createElement("span");G.className=`${o}-table-header-sort`,G.setAttribute("aria-hidden","true"),v.appendChild(G),c.push(G),v.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),v.appendChild(G)}return v},M=(w)=>{_=w,S.textContent="",u=[],c=[];let N=w.columns;for(let v=0;v<N.length;v++){let p=N[v],Z=R(p,v);u.push(Z),S.appendChild(Z)}if(f(w),I)a(I,g)},f=(w)=>{_=w;let N=w.columns;S.style.width=`${w.totalWidth}px`;for(let v=0;v<u.length&&v<N.length;v++){let p=u[v],Z=N[v];p.style.width=`${Z.width}px`}},a=(w,N)=>{if(I=w,g=N,!_)return;let v=_.columns;for(let p=0;p<c.length&&p<v.length;p++){let Z=c[p];if(!Z)continue;if(v[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)=>{S.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 v=_.getColumn(T);if(!v?.resizable)return;h=!0,C=w.clientX,m=v.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 v=Math.max(0,m+N);n(T,v)},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 v=N;while(v&&!v.dataset.columnKey)if(v=v.parentElement,v===i||v===null)return;let p=v.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 v=_.getColumn(b);if(v?.resizable)n(b,v.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 v=_.getColumn(b);if(v?.resizable)n(b,v.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 v=_.getColumn(b);if(v?.def.sortable&&r){let p;if(I===v.def.key)p=g==="asc"?"desc":null;else p="asc";r({key:v.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,S,u=()=>0)=>{let c=_o(),E=new Map,I=-1,g=o,_=null,h=null,T=null,C=(L,y)=>{h=L,T=y},m=(L,y)=>{y?L.setAttribute("aria-selected","true"):L.removeAttribute("aria-selected")},b=(L,y,A,Y)=>{L.setAttribute("role",y),L.setAttribute("data-id",String(A)),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,y,A,Y,ne=!1)=>{if(A.def.cell){let te=A.def.cell(y,A.def,Y);if(typeof te==="string")L.innerHTML=te;else L.replaceChildren(te)}else{let te=y[A.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,y,A,Y,ne=!1)=>{let te=M;if(i){if(_){let Q=_(y);if(Q>=0&&(Q&1)===1)te+=` ${j}`}else if((y&1)===1)te+=` ${j}`}if(ne)te+=` ${k}`;if(A)te+=` ${f}`;if(Y)te+=` ${a}`;L.className=te},N=(L,y)=>{let A=y.def.align;if(A==="center")L.classList.add(V),L.classList.remove(x);else if(A==="right")L.classList.add(x),L.classList.remove(V);else L.classList.remove(V,x)},v=(L,y)=>{let Y=g.columns.length;if(y.length===Y)return y;let ne=[];for(let te=0;te<Y;te++){let Q;if(te<y.length)Q=y[te];else Q=document.createElement("div"),Q.className=D,L.appendChild(Q);ne.push(Q)}for(let te=Y;te<y.length;te++)y[te].remove();return ne},p=(L,y,A)=>{let Y=c.acquire(),ne=L,te=A.getSize(y),Q=A.getOffset(y)-u();Y.style.cssText=`width:${g.totalWidth}px;height:${te}px;transform:translateY(${Q}px)`,Y.className=O,b(Y,"presentation",L.id,y),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:y,isGroupHeader:!0,_lastItem:L,lastItemId:L.id,lastSelected:!1,lastFocused:!1,lastOffset:Q,lastHeight:te}},Z=(L,y,A,Y,ne)=>{let te=c.acquire(),Q=ne.getSize(y),ae=ne.getOffset(y)-u(),oe=R(L.id);te.style.cssText=`width:${g.totalWidth}px;height:${Q}px;transform:translateY(${ae}px)`,w(te,y,A,Y,oe),b(te,"row",L.id,y),te.id=`${s}-item-${y}`,te.setAttribute("aria-rowindex",String(y+2)),m(te,A);let pe=v(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,y,oe)}return{element:te,cells:pe,index:y,isGroupHeader:!1,_lastItem:L,lastItemId:L.id,lastSelected:A,lastFocused:Y,lastOffset:ae,lastHeight:Q}},q=(L,y,A,Y)=>{let ne=!1,te=l();if(te!==I)I=te,ne=!0;let Q=null,ae=e();_=typeof i==="string"&&S?S():null;for(let oe=y.start;oe<=y.end;oe++){let pe=oe-y.start,be=L[pe];if(!be)continue;let fe=A.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(A,oe,be.id))fe=!0;let ze=g.columns;for(let U=0;U<re.cells.length&&U<ze.length;U++)B(re.cells[U],be,ze[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(A,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<y.start||oe>y.end)c.release(pe.element),E.delete(oe)},G=(L,y,A,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],y,te[Q],L);ne.element.setAttribute("data-id",String(y.id)),ne._lastItem=y,ne.lastItemId=y.id,w(ne.element,L,A,Y),m(ne.element,A),ne.lastSelected=A,ne.lastFocused=Y},P=(L,y,A)=>{let Y=E.get(L);if(!Y)return;if(Y.isGroupHeader)return;let ne=Y.lastSelected!==y,te=Y.lastFocused!==A;if(ne||te)w(Y.element,L,y,A),m(Y.element,y),Y.lastSelected=y,Y.lastFocused=A},J=(L)=>{g=L;let y=L.columns;for(let[,A]of E)if(A.element.style.width=`${L.totalWidth}px`,A.cells.length>0)for(let Y=0;Y<A.cells.length&&Y<y.length;Y++){let ne=A.cells[Y],te=y[Y];ne.style.left=`${te.offset}px`,ne.style.width=`${te.width}px`}},z=(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:z,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,S=null,u=!1,c=-1,E=-1,I=null,g=!1;function _(){if(u||!l)return;u=!0,i=l.getMethod("_getSelectedIds")??null,S=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=S?.()??-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 z=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:z,width:W})},v=(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,v),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 z=e.columns;J=-1;for(let W=0;W<z.length;W++)if(z[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,z)=>{n?.updateItem(G,P,J,z)}),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 z=R.viewport.scrollLeft;if(G.key==="ArrowRight"){for(let W=0;W<P.length;W++)if(P[W].offset>z+1){R.viewport.scrollLeft=P[W].offset,G.preventDefault();return}}else{for(let W=P.length-1;W>=0;W--)if(P[W].offset<z-1){R.viewport.scrollLeft=P[W].offset,G.preventDefault();return}if(z>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,S,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,v=!1,p="",Z=-1,q=-1,G=[],P="",J=null,z=null,W="",d=!1,L=(F)=>F.closest("[data-index]"),y=(F)=>{let de=F.dataset.index;return de===void 0?-1:+de},A=(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=S.totalItems;if(F===0)return 0;let de=I.getBoundingClientRect(),ce=S.scrollPosition,he=h?x-B-de.left+I.scrollLeft+ce:K-w-de.top+ce,Me=he+X,Ae=u.getOffset(f)+u.getSize(f);if(Me>Ae){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=y(he);if(Me<0||Me===f)continue;let Ae=0;if(a>f){if(Me>f&&Me<=a)Ae=-de}else if(a<f){if(Me>=a&&Me<f)Ae=de}let Fe=u.getOffset(Me),ke=Math.round(Fe+Ae);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=y(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=S.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(!z)return;z.textContent="",z.offsetHeight,z.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(S.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 Ae=x-de.left,Fe=de.right-x;if(Ae<r){let ke=Math.min(he,1-Ae/r);ce=-s*ke*ke}else if(Fe<r){let ke=Math.min(he,1-Fe/r);ce=s*ke*ke}}else{let Ae=K-de.top,Fe=de.bottom-K;if(Ae<r){let ke=Math.min(he,1-Ae/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 Ae=S.scrollPosition,Fe=u.getTotalSize()-(h?I.clientWidth:I.clientHeight);if(ce<0&&Ae<=0||ce>0&&Ae>=Fe)d=Me;else d=!0,c.scrollTo(Ae+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 Ae=y(Me);if(Ae>=0)Me.style.transform=`${T}(${Math.round(u.getOffset(Ae))}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",ze),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(),Ae=S.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-Ae}px`,k.style.top=`${Me.top}px`;else k.style.left=`${Me.left}px`,k.style.top=`${Me.top+Fe-Ae}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(S.destroyed||!c)return;if(M)return;if(v)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=y(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",ze),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=A(O),O.classList.add(R);let he=pe();if(he>=0){let Ae=c.getItems()[he];N=Ae?Ae.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 ze(F){if(!j){document.removeEventListener("pointermove",Re),document.removeEventListener("pointerup",ze),document.removeEventListener("pointercancel",le),O=null;return}F.preventDefault(),document.removeEventListener("pointermove",Re),document.removeEventListener("pointerup",ze),document.removeEventListener("pointercancel",le),xe(),Te(f,a)}let U=()=>{if(!j)return;document.removeEventListener("pointermove",Re),document.removeEventListener("pointerup",ze),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;v=!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(!v||!c)return;v=!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(!v||!c)return;v=!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(!v||!c)return;let de=S.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(S.destroyed)return;if(M){if(F.key==="Escape")F.preventDefault(),F.stopImmediatePropagation(),U();return}if(v)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,S=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||v),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),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(v)ve();Ce(),E.removeEventListener("pointerdown",Ee),g.removeEventListener("keydown",Pe),J?.remove(),z?.remove()})},hooks:{onCommit(){if(!c)return;let F=E.children;for(let de=0;de<F.length;de++){let ce=F[de],he=y(ce);if(he<0)continue;if(ce.setAttribute("aria-roledescription","sortable item"),ce.setAttribute("aria-describedby",P),v)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 Ae=Math.round(u.getOffset(he)+Me);ce.style.transform=`${T}(${Ae}px)`}}}},destroy(){if(k&&k.parentNode)k.remove();k=null,xe(),J?.remove(),z?.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 S(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)S(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,S(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(S(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 S of i){let u=o(S);if(u.length>0){if(!s||s(S))r.add(S.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 S=r(i),u=s.get(S);if(!u)u=[],s.set(S,u);u.push(i)}for(let i of t){let S=r(i);if(S!==null&&S!==void 0&&!l.has(S))console.warn(`[vlist] tree: orphaned node "${i.id}" — parentId "${S}" not found`)}return{roots:s.get(null)??[],getChildren:(i)=>{let S=s.get(i.id);if(!S)S=[],s.set(i.id,S);return S}}}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,S,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,v,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 z,W,d;function L(){if(W!==void 0)return;z=m("select")??null,W=m("_focusById")??null,d=m("_isFollowFocus")??null}function y(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?.()&&z)z(le.id);else ne();A(U)}else p=U,Z=!0,E.setAttribute("aria-activedescendant",`${h}-item-${U}`),A(U),ne()}function A(U){let le=S.getOffset(U),me=S.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,v(i.totalVisible);let U=S.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=S.indexAtOffset(U),Ie=S.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"]=`${S.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(S.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(S.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]=S.getOffset(de),u.visibleSizes[F]=S.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)){y(Ie);return}}}function ze(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){S=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),v=S.rebuild,S.rebuild=(F)=>{v(i.totalVisible)},S.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 Ae=de+1;Ae<=de+Me;Ae++)ce.add(i.flatNodes[Ae].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 Ae=Me.length-1;Ae>=0;Ae--)if(ce.has(Me[Ae].id))Me.splice(Ae,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,Ae=!1;if(r&&(he.hasChildren||e.loadChildren&&!he.loading&&!ie.has(Me))){let Fe=i.totalVisible;if(he.expanded)xe(Me);else Le(Me);Ae=i.totalVisible!==Fe}if(q&&Ae){if(L(),W)W(Me);if(z)z(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}`),A(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")){y(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 y(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)y(Me)}F.preventDefault();break}case"*":{ze(he),F.preventDefault();break}default:{if(!q){if(F.key==="ArrowDown"){if(ce<de-1)y(ce+1);F.preventDefault();break}if(F.key==="ArrowUp"){if(ce>0)y(ce-1);F.preventDefault();break}if(F.key==="Home"){y(0),F.preventDefault();break}if(F.key==="End"){y(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)A(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=[],S;while((S=l.nextNode())!==null)i.push(S);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`,S=document.createElement("div");if(S.className=`${i} ${i}--bar ${i}--${n}`,S.setAttribute("role","search"),S.setAttribute("aria-disabled","false"),r.region)S.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),S.appendChild(u),n==="top"&&e)t.insertBefore(S,e);else if(n==="top")t.insertBefore(S,t.firstChild);else t.appendChild(S);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:S,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),S.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,S=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 y=0;y<L.length;y++){let A=L[y];if(A!==void 0&&Wt(c(A),d,r))b.push(y),R.add(y)}},se=()=>{if(j(),x){let y=r?m:m.toLowerCase();x((A)=>Wt(c(A),y,r)),f=!0;return}let d=E.getItems(),L=b;E.setGetItemFn((y)=>d[L[y]]),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()},v=()=>{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(),S>0&&C)a=setTimeout(()=>{a=null,p()},S)},P=(d)=>{if(!s||m.length<i)return;let L=d.startIndex,y=L+Math.max(0,d.visibleCount-1),A=e==="navigate"?b[M]:-1;for(let Y=L;Y<=y;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===A,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,z=(d)=>{if((d.ctrlKey||d.metaKey)&&(d.key==="f"||d.key==="F")){d.preventDefault(),v();return}if(!C){if(o==="none"&&J(d))d.preventDefault(),v(),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")z(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 y=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},y,{onInput:(A)=>N(A),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((y,A)=>{if(L)L(y,A);if(m.length<i){delete A.search;return}if(e==="filter")A.search={matched:!0,query:m,matchIndex:y,isCurrent:!1};else{let Y=b.indexOf(y);A.search={matched:R.has(y),query:m,matchIndex:Y,isCurrent:Y!==-1&&Y===M}}}),E.registerMethod("openSearch",v),E.registerMethod("closeSearch",p),E.registerMethod("setQuery",(y)=>{if(!C)v();N(y)}),E.registerMethod("getQuery",()=>m),E.registerMethod("nextMatch",()=>Z(1)),E.registerMethod("prevMatch",()=>Z(-1)),E.registerMethod("getMatches",()=>b.slice()),E.registerKeydownHandler(z),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,S=e.map((T)=>Math.round(T*i)),u=i-S.reduce((T,C)=>T+C,0);if(o<S.length)S[o]+=u;let c=(S[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 S[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=S[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:S,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,S=t?.initialIndex??0,u=t?.peek??"auto",c,E,I=null,g,_=S,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(z){if(h<=0)return 0;return(z%h+h)%h}function k(z,W,d){if(h<=1)return 0;let L=((W-z)%h+h)%h,y=h-L;if(d==="forward")return L;if(d==="backward")return-y;return L<=y?L:-y}function se(z){return Tt*h+z}function O(z){if(h<=0)return 0;return(z%h+h)%h}function X(z){a=z;let W=z.length;D=Array(W+1),D[0]=0;for(let d=0;d<W;d++)D[d+1]=D[d]+z[d];C=W>0?D[W]:0}function B(z){if(h<=0||C<=0)return{vi:0,frac:0};let W=Math.floor(z/C),d=z-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,y=h-1;while(L<y){let te=L+y+1>>1;if(D[te]<=d)L=te;else y=te-1}let A=D[L],Y=a[L],ne=Y>0?Math.max(0,Math.min((d-A)/Y,1)):0;return{vi:W*h+L,frac:ne}}function w(z){if(typeof u==="number")return u;if(typeof u==="string"&&u.endsWith("%"))return Math.round(z*parseFloat(u)/100);return Math.max(40,Math.min(Math.round(z*0.15),120))}function N(z){if(h<=0||C<=0)return 0;let W=Math.floor(z/h),d=(z%h+h)%h;return W*C+(D[d]??0)}function v(z){let{vi:W,frac:d}=B(z);return d>=0.5?W+1:W}function p(){if(M>=0)return M;return v(c.scrollPosition)}function Z(z,W){I?.smoothScrollTo(z,W,i)}let q=null;function G(){if(!I)return;let z=I.getItems().length;if(z===h)return;let W=_;if(h=z,V){let d=I.rawSizeSpec,L=typeof d==="function"?(y)=>d(y)+K:()=>d+K;X(Array.from({length:h},(y,A)=>L(A)))}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,y=Math.round(d-L),A=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[A]=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-y,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[A]=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-y,Ee=Math.max(0,Te),Re=Math.min(c.containerSize,Te+ie),ze=ie>0?Math.max(0,(Re-Ee)/ie):0;Ce=Math.min(1,ze)}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(z,W,d){if(!I)return;if(_=z,h<=1)return;let L=p(),y=O(L),A=((z-y)%h+h)%h,Y=h-A,ne=A<=Y?A:-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(z){c=z.getState(),E=z.sizeCache,I=z,g=z.config.axis.primary==="x",R=z.config.classPrefix,h=c.totalItems;let W=h>0?E.getSize(0):0,d=c.containerSize,L=w(d),y=n(d,L);if(Zt(y))x=y.textFade??"role",q=oo({slots:y.slots,focalSlot:y.focalSlot,containerSize:d,gap:K}),T=q.stepSize,X(Array.from({length:Math.max(1,h)},()=>T)),V=!1;else if(typeof z.rawSizeSpec==="function"){x=y?.textFade??"viewport";let te=z.rawSizeSpec;X(Array.from({length:h},(Q,ae)=>te(ae)+K)),T=a[0]??W,V=!0}else x=y?.textFade??"viewport",T=W,X(Array.from({length:Math.max(1,h)},()=>T)),V=!1;if(m=h*Jt,_=j(S),h>1)z.setGetItemFn((te)=>{let Q=O(te);return z.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,z.setVirtualTotalFn(()=>h),z.setIndexMapFn(O),z.registerMethod("_layoutToDataIndex",O),z.setBoundedWrap({lapSize:()=>C,home:()=>Tt*C,thresholdLaps:Tt-Go}),b=!0;if(z.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})}),z.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})}),z.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)}),z.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"}}),z.setScrollToIndexFn((te,Q,ae,oe,pe)=>{if(h<=1)return!1;let be=j(te);J(be,ae==="smooth",oe??l)}),z.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}}),!z.dom.content.getAttribute("tabindex"))z.dom.content.setAttribute("tabindex","0");let A=z.getMethod("next"),Y=z.getMethod("prev"),ne=z.getMethod("goTo");z.registerKeydownHandler((te)=>{let Q=te.key;if(Q==="ArrowRight"||Q==="ArrowDown")te.preventDefault(),A(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})}),z.registerDestroyHandler(()=>{I?.cancelScroll()})},destroy(){I?.cancelScroll(),I=null},hooks:{onCommit(){if(!b||!I)return;b=!1;let z=N(se(_));I.scrollTo(z),I.forceRender(),P()},onAfterScroll(z){if(b||!I)return;if(G(),h<=1)return;if(c.scrollDirection!==0)f=c.scrollDirection;if(M<0){let W=c.scrollPosition,d=v(W),L=O(d);if(L!==_)_=L,I.emitter.emit("carousel:change",{index:_,scrollPosition:W})}P()},onIdle(){let z=f;if(M=-1,f=0,!r||!I||h<=1)return;let W=c.scrollPosition,{vi:d,frac:L}=B(W),y;if(s&&z!==0&&L>0.02&&L<0.98)y=z>0?d+1:d;else y=L>=0.5?d+1:d;let A=N(y);if(Math.abs(W-A)>1)_=O(y),Z(A,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(S){if(e=S,S>Ko&&S<Wo)o+=S,n++}function l(){let S=t.getTotal();if(S===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(S/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,S)}function i(){let S=t.getTotal(),u=l();return{progress:S>0?Math.min(100,Math.max(0,u/S*100)):0,velocity:e,velocityAvg:r(),itemCount:u,total:S}}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),S=i.element;if(S.style.position="absolute",S.style.inset="0",S.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;S.style.visibility="",S.style.opacity="0",S.offsetHeight,S.style.transition=`opacity ${c}ms ease`,g.style.transition=`opacity ${E}ms ease ${I}ms`,S.style.opacity="1",g.style.opacity="0",await new Promise((_)=>setTimeout(_,Math.max(c,E+I)+50)),S.style.transition="",S.style.opacity="",g.style.transition="",g.style.opacity=""}else S.style.visibility="";if(S.style.position="",S.style.inset="",t)t.destroy();return i}export{At 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,zt as selection,rt as snapshots,Nt as sortable,Ot as table,Ht as transition,Bt as tree,St as uncontained};