vlist 3.0.0 → 3.0.1-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.github.md +25 -25
- package/README.md +25 -25
- package/dist/config.d.ts +1 -1
- package/dist/config.js +1 -1
- package/dist/constants.d.ts +0 -16
- package/dist/core/adapter.d.ts +3 -3
- package/dist/core/create.d.ts +10 -5
- package/dist/core/fold.d.ts +3 -3
- package/dist/core/logical.d.ts +93 -0
- package/dist/core/runway.d.ts +20 -106
- package/dist/core/state.d.ts +2 -2
- package/dist/core/types.d.ts +4 -2
- package/dist/index.js +1 -1
- package/dist/internals.js +1 -1
- package/dist/plugins/carousel/plugin.d.ts +2 -3
- package/dist/size.json +1 -1
- package/dist/synthetic/driver.d.ts +26 -0
- package/dist/synthetic/handler.d.ts +4 -4
- package/dist/synthetic-driver.js +1 -0
- package/dist/synthetic.d.ts +7 -0
- package/dist/synthetic.js +1 -1
- package/dist/types.d.ts +22 -3
- package/dist/version.json +1 -0
- package/package.json +3 -2
package/dist/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var It=16777216,dt=3,Gt="vlist";var ut=50;var Bt=50,Nt=2,Wt=15,Kt=6,Tt=2000,Ut=30000,xt=16000000,ct=150,Lt=1,Yt=(e)=>e<0.5?2*e*e:1-(-2*e+2)**2/2,mt=300;var qt="x",Xt=20,Ct="_isPlaceholder",Ke="__placeholder_";function ft(e){let{state:t,viewport:r,isX:i,onFrame:o,onIdle:n}=e,s=e.idleTimeout||ct,a=null,w=null;function b(v=i?r.scrollLeft:r.scrollTop){t.prevScrollPosition=t.scrollPosition,t.scrollPosition=v,t.scrollDirection=v>t.prevScrollPosition?1:v<t.prevScrollPosition?-1:0,o(),l()}function l(){if(a!==null)clearTimeout(a);a=setTimeout(()=>{a=null,t.scrollDirection=0,n()},s)}function E(){if(w!==null)cancelAnimationFrame(w),w=null}function R(v,O,I,c=Yt,m){E();let f=t.scrollPosition,L=typeof v==="function"?v:()=>v,F=L();if(Math.abs(F-f)<1){if(I)I(F);else if(i)r.scrollLeft=F;else r.scrollTop=F;m?.();return}let h=performance.now();function z(H){F=L();let T=H-h,D=Math.min(T/O,1),d=f+(F-f)*c(D);if(I)I(d);else if(i)r.scrollLeft=d;else r.scrollTop=d;if(!I)b(d);if(D<1)w=requestAnimationFrame(z);else w=null,m?.()}w=requestAnimationFrame(z)}return{attach(){},detach(){if(E(),a!==null)clearTimeout(a),a=null},cancelScroll:E,smoothScrollTo:R,commitScroll:b}}function Zt(e){let{state:t,viewport:r,isX:i,wheelEnabled:o}=e,n=e.scrollTarget??r,s=ft(e),a=s.commitScroll;function w(){let l=i?r.scrollLeft:r.scrollTop;if(Math.abs(l-t.scrollPosition)<0.5)return;a(l)}function b(l){let E;if(i){if(Math.abs(l.deltaX)>Math.abs(l.deltaY))return;let R=r.scrollLeft,v=r.scrollWidth-r.clientWidth;if(E=Math.max(0,Math.min(R+l.deltaY*Lt,v)),Math.abs(E-R)<1)return;l.preventDefault(),r.scrollLeft=E}else{let R=r.scrollWidth>r.clientWidth;if(R&&Math.abs(l.deltaX)>Math.abs(l.deltaY))return;if(R&&l.deltaX!==0)l.preventDefault(),r.scrollLeft+=l.deltaX;let v=r.scrollTop,O=r.scrollHeight-r.clientHeight;if(E=Math.max(0,Math.min(v+l.deltaY*Lt,O)),Math.abs(E-v)<1)return;l.preventDefault(),r.scrollTop=E}a(E)}return{...s,attach(){if(n.addEventListener("scroll",w,{passive:!0}),o)n.addEventListener("wheel",b,{passive:!1})},detach(){if(n.removeEventListener("scroll",w),o)n.removeEventListener("wheel",b);s.detach()}}}var gt={top:0,right:0,bottom:0,left:0},jt=(e)=>{if(e==null)return gt;if(typeof e==="number")return e===0?gt:{top:e,right:e,bottom:e,left:e};if(e.length===2){let[n,s]=e;return n===0&&s===0?gt:{top:n,right:s,bottom:n,left:s}}let[t,r,i,o]=e;return t===0&&r===0&&i===0&&o===0?gt:{top:t,right:r,bottom:i,left:o}},Jt=(e,t)=>t?e.left+e.right:e.top+e.bottom,Qt=(e,t)=>t?e.top+e.bottom:e.left+e.right;function en(e){let t={visibleIndices:new Int32Array(e),visibleOffsets:new Float64Array(e),visibleSizes:new Float64Array(e),visibleCount:0,startIndex:0,totalSize:0,capacity:e,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,windowClamped:!1,windowClampReported:!1,prevAriaTotal:-1,ensureCapacity(r){if(r<=t.capacity)return;let i=r+8,o=new Int32Array(i),n=new Float64Array(i),s=new Float64Array(i);o.set(t.visibleIndices),n.set(t.visibleOffsets),s.set(t.visibleSizes),t.visibleIndices=o,t.visibleOffsets=n,t.visibleSizes=s,t.capacity=i},resizeCapacity(r,i,o=dt){if(i<=0||r<=0)return;t.ensureCapacity(Math.ceil(r/i)+o*2)},clear(){t.visibleCount=0,t.startIndex=0}};return t}var _n=(e,t,r)=>{let i=t;return{getOffset:(o)=>o*e,getSize:(o)=>e,indexAtOffset:(o)=>{if(i===0||e===0)return 0;return Math.max(0,Math.min(Math.floor(o/e),i-1))},getTotalSize:()=>{let o=i*e;return o>0?o-r:0},getTotal:()=>i,rebuild:(o)=>{i=o},invalidate:()=>{},isVariable:()=>!1}};var tn=(e,t,r,i)=>{while(t<r){let o=t+r+1>>>1;if(e[o]<=i)t=o;else r=o-1}return t},Hn=(e,t,r)=>{let i=0,o=0,n=new Float64Array(0),s=new Float64Array(0),a=new Float64Array(1),w=(l,E)=>{for(let R=l;R<o;R++){if(R<=E){let v=R<<9,O=Math.min(v+512,i),I=0;for(let c=v;c<O;c++)n[c]=I,I+=e(c);s[R]=I}a[R+1]=a[R]+s[R]}},b=(l)=>{i=l,o=Math.ceil(l/512),n=new Float64Array(l),s=new Float64Array(o),a=new Float64Array(o+1),w(0,o-1)};return b(t),{getOffset:(l)=>{if(l<=0)return 0;if(l>=i)return a[o];return a[l>>>9]+n[l]},getSize:(l)=>e(l),indexAtOffset:(l)=>{if(i===0||l<=0)return 0;if(l>=a[o])return i-1;let E=tn(a,0,o-1,l),R=E<<9;return tn(n,R,Math.min(R+512,i)-1,l-a[E])},getTotalSize:()=>{let l=a[o];return l>0?l-r:0},getTotal:()=>i,rebuild:(l)=>b(l),invalidate:(l,E=l)=>{if(l>=0&&E<i)w(l>>>9,E>>>9)},isVariable:()=>!0}},pt=(e,t,r=0)=>{if(typeof e==="number")return _n(e,t,r);return Hn(e,t,r)};function nn(e){let t=[],r=`${e}-item`,i=document.createElement("div");return i.className=r,{acquire(){if(t.length>0)return t.pop();return i.cloneNode(!1)},release(o){o.className=r,o.removeAttribute("style"),o.removeAttribute("id"),o.removeAttribute("role"),o.removeAttribute("aria-selected"),o.removeAttribute("aria-posinset"),o.removeAttribute("aria-setsize"),o.removeAttribute("data-index"),o.removeAttribute("data-id"),o.textContent="",t.push(o)},get size(){return t.length},trim(o){let n=o>0?o:0;if(t.length>n)t.length=n},clear(){t.length=0}}}function qe(e){let t=e.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let r=0;r<t.length;r++)t[r].setAttribute("tabindex","-1");e._stamp=0}function Et(e){if(typeof e==="string"){let t=document.querySelector(e);if(!t)throw Error(`[vlist] Container not found: ${e}`);return t}return e}function on(e,t,r,i){let o=r?`${t} ${t}--horizontal`:t,n=r?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",s=r?"position:relative;height:100%;overflow-anchor:none":"position:relative;width:100%;overflow-anchor:none",a=' role="list"';if(i)a+=` aria-label="${i.replace(/"/g,""")}"`;if(r)a+=' aria-orientation="horizontal"';e.insertAdjacentHTML("beforeend",`<div class="${o}"><div class="${t}-viewport" style="${n}" tabindex="-1"><div class="${t}-content" style="${s}"${a}></div></div></div>`);let w=e.lastElementChild,b=w.firstElementChild,l=b.firstElementChild,E=document.createElement("div");return E.className=`${t}-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"),w.appendChild(E),{root:w,viewport:b,content:l,liveRegion:E}}function Vn(e,t){if(e.getTotal()<=0)return{index:0,offsetPx:0};let i=t<=0?0:t,o=e.indexAtOffset(i),n=i-e.getOffset(o);return{index:o,offsetPx:n>0?n:0}}function Fn(e,t){let r=On(e,t);return e.getOffset(r.index)+r.offsetPx}function On(e,t){let r=e.getTotal();if(r<=0)return{index:0,offsetPx:0};let{index:i,offsetPx:o}=t;if(i<0)return{index:0,offsetPx:0};if(i>r-1)i=r-1;while(o>0&&i<r-1){let n=e.getSize(i);if(o<n)break;o-=n,i++}while(o<0&&i>0)i--,o+=e.getSize(i);if(o<0)o=0;return{index:i,offsetPx:o}}function rn(e){let{sizeCache:t,getPixel:r,setPixel:i,getContainerSize:o}=e;function n(){let a=t.getTotalSize()+e.padding-o();return a>0?a:0}function s(a){if(a<=0)return 0;let w=n();return a>w?w:a}return{getLogical(){return Vn(t,r())},setLogical(a){i(s(Fn(t,a)))},getPixelEquivalent(){return r()},setPixelEquivalent(a){i(s(a))},getMaxPixelEquivalent:n,getRenderOrigin:e.getRenderOrigin,scrollByPx(a){i(s(r()+a))}}}var rt=[],Dn={calculate:rt,commit:rt,afterScroll:rt,idle:rt,resize:rt};function sn(e){if(e.length===0)return Dn;let t=[],r=[],i=[],o=[],n=[];for(let s=0;s<e.length;s++){let a=e[s].hooks;if(a===void 0)continue;if(a.onCalculate!==void 0)t.push(a.onCalculate);if(a.onCommit!==void 0)r.push(a.onCommit);if(a.onAfterScroll!==void 0)i.push(a.onAfterScroll);if(a.onIdle!==void 0)o.push(a.onIdle);if(a.onResize!==void 0)n.push(a.onResize)}return{calculate:t,commit:r,afterScroll:i,idle:o,resize:n}}function ln(e,t){for(let r=0;r<e.length;r++)e[r](t)}function it(e,t){for(let r=0;r<e.length;r++)e[r](t)}function Pt(e,t,r){for(let i=0;i<e.length;i++)e[i](t,r)}function an(e){for(let t=0;t<e.length;t++)e[t]()}function dn(e,t,r){for(let i=0;i<e.length;i++)e[i](t,r)}function un(e,t,r,i,o,n,s,a){let w=i!==0||o!==0;return{prefix:e,selectedClass:`${e}-item--selected`,focusedClass:`${e}-item--focused`,placeholderClass:`${e}-item--placeholder`,replacedClass:`${e}-item--replaced`,translateProp:t?"translateX(":"translateY(",sizeProp:t?"width":"height",itemRole:"listitem",interactive:!1,startPadding:r,gap:s,hasCrossPad:w,crossStartProp:w?t?"top":"left":"",crossEndProp:w?t?"bottom":"right":"",crossStartVal:w?i+"px":"",crossEndVal:w?o+"px":"",oddClass:n,emitter:a??null,indexMap:null,ariaTotalFn:null}}function $n(e,t,r,i,o){if(e.containerSize<=0||e.totalItems===0)return e.clear(),!0;let{scrollPosition:n,containerSize:s,totalItems:a}=e,w=o??0;e.totalSize=t.getTotalSize();let b=t.indexAtOffset(w>0?Math.max(0,n-w):n),l=t.indexAtOffset(n+s);if(l<a-1)l++;b=Math.max(0,b),l=Math.min(a-1,Math.max(0,l));let E=Math.max(0,b-r),R=Math.min(a-1,l+r),v=Math.ceil(s)+r*2;if(R-E+1>v)R=E+v-1,e.windowClamped=!0;let O=R-E+1;if(O>e.capacity)e.ensureCapacity(O);let I=Math.min(O,e.capacity);if(E===e.prevRangeStart&&R===e.prevRangeEnd&&!e.renderPending&&e.baseOffset===e.prevBaseOffset)return!1;e.visibleCount=I,e.startIndex=E;for(let c=0;c<I;c++){let m=E+c;e.visibleIndices[c]=m,e.visibleOffsets[c]=t.getOffset(m),e.visibleSizes[c]=t.getSize(m)}return ln(i.calculate,e),e.prevRangeStart=E,e.prevRangeEnd=R,e.prevBaseOffset=e.baseOffset,e.renderPending=!1,!0}var Ge={selected:!1,focused:!1};function Gn(e,t,r){for(let i=0;i<t;i++)if(e[i]===r)return!0;return!1}function Bn(e,t){if(t<=1)return!0;let r=e[0];for(let i=1;i<t;i++){let o=e[i];if(o!==r+1)return!1;r=o}return!0}function Nn(e,t,r,i,o,n,s,a,w,b){let l=w?null:o(),{visibleCount:E,visibleIndices:R}=e,v=s.ariaTotalFn?s.ariaTotalFn():e.totalItems,O=s.interactive?String(v):"",I=s.interactive&&v!==e.prevAriaTotal,c=null,m=s.indexMap;for(let f=0;f<E;f++){let L=R[f],F=m?m(L):L,h=e.visibleOffsets[f],z=e.visibleSizes[f],H=w?w(L):l[L];if(b)b(F,Ge);else Ge.selected=!1,Ge.focused=!1;let T=n.get(L),D=T;if(T===void 0){let d=t.acquire();if(H!==void 0){let _;try{_=i(H,F,Ge)}catch(se){if(s.emitter)s.emitter.emit("error",{error:se instanceof Error?se:Error(String(se)),context:`template:render:${F}`});t.release(d);continue}if(typeof _==="string")d.innerHTML=_;else d.textContent="",d.appendChild(_);qe(d)}if(d.setAttribute("role",s.itemRole),d.setAttribute("data-index",String(F)),s.interactive)d.id=s.prefix+"-item-"+L,d.setAttribute("aria-posinset",String(F+1)),d.setAttribute("aria-setsize",O);if(H!==void 0){let _=String(H.id);if(d.setAttribute("data-id",_),_.startsWith(Ke))d.classList.add(s.placeholderClass)}if(s.hasCrossPad)d.style.setProperty(s.crossStartProp,s.crossStartVal),d.style.setProperty(s.crossEndProp,s.crossEndVal);if(b){if(d.classList.toggle(s.selectedClass,Ge.selected),d.classList.toggle(s.focusedClass,Ge.focused),Ge.selected)d.setAttribute("aria-selected","true");else d.removeAttribute("aria-selected");d._lastSelected=Ge.selected,d._lastFocused=Ge.focused}if(s.oddClass)d.classList.toggle(s.oddClass,(L&1)===1);let P=h-e.baseOffset+s.startPadding;d.style.transform=s.translateProp+P+"px)",d._lastOffset=P;let V=z-s.gap;if(d.style[s.sizeProp]=V+"px",d._lastSize=V,d._lastItem=H,n.set(L,d),c===null)c=document.createDocumentFragment();c.appendChild(d)}else{if(I)T.setAttribute("aria-setsize",O);if(H!==void 0&&D._lastItem!==H){let V=T.getAttribute("data-id"),_=String(H.id),se;try{se=i(H,F,Ge)}catch(me){if(s.emitter)s.emitter.emit("error",{error:me instanceof Error?me:Error(String(me)),context:`template:render:${F}`});continue}if(typeof se==="string")T.innerHTML=se;else T.textContent="",T.appendChild(se);if(qe(T),T.setAttribute("data-id",_),D._lastItem=H,V!==_){let me=V!==null&&V.startsWith(Ke),le=_.startsWith(Ke);if(me!==le)T.classList.toggle(s.placeholderClass,le);if(me&&!le)T.classList.add(s.replacedClass),setTimeout(()=>{T.classList.remove(s.replacedClass)},300)}}if(b){if(D._lastSelected!==Ge.selected){if(T.classList.toggle(s.selectedClass,Ge.selected),Ge.selected)T.setAttribute("aria-selected","true");else T.removeAttribute("aria-selected");D._lastSelected=Ge.selected}if(D._lastFocused!==Ge.focused)T.classList.toggle(s.focusedClass,Ge.focused),D._lastFocused=Ge.focused}let d=h-e.baseOffset+s.startPadding;if(D._lastOffset!==d)T.style.transform=s.translateProp+d+"px)",D._lastOffset=d;let P=z-s.gap;if(D._lastSize!==P)T.style[s.sizeProp]=P+"px",D._lastSize=P}}if(c!==null)r.appendChild(c);if(E>0&&Bn(R,E)){let f=R[0],L=R[E-1];for(let[F,h]of n)if(F<f||F>L)h.remove(),t.release(h),n.delete(F)}else for(let[f,L]of n)if(!Gn(R,E,f))L.remove(),t.release(L),n.delete(f);if(s.interactive)e.prevAriaTotal=e.totalItems;it(a.commit,e)}function Mt(e,t,r,i,o,n,s,a,w,b,l,E){let R=$n(e,t,r,b,w.startPadding);if(e.windowClamped&&!e.windowClampReported)e.windowClampReported=!0,queueMicrotask(()=>{if(e.destroyed)return;w.emitter?.emit("error",{error:Error("[vlist] render window capped to the viewport: the item size spec reports sizes below 1px"),context:"render:window-ceiling"})});if(R)Nn(e,i,o,n,s,a,w,b,l,E)}var zt=()=>{let e={},t=(n,s)=>{if(!e[n])e[n]=new Set;return e[n].add(s),()=>r(n,s)},r=(n,s)=>{e[n]?.delete(s)};return{on:t,off:r,emit:(n,s)=>{e[n]?.forEach((a)=>{try{a(s)}catch(w){}})},clear:(n)=>{if(n)delete e[n];else for(let s in e)delete e[s]}}};var cn=2,mn=(e=0)=>({velocity:0,sampleCount:0}),fn=(e,t)=>{let r=performance.now(),i=e._lt??r,o=e._lp??t,n=r-i;if(e._lp=t,e._lt=r,n===0)return e.sampleCount=Math.min(e.sampleCount+1,5),e;if(n>100)return e.velocity=0,e.sampleCount=1,e;return e.velocity=Math.abs(t-o)/n,e.sampleCount=Math.min(e.sampleCount+1,5),e};function Wn(e){let{item:t}=e;if(t.height!==void 0&&typeof t.height==="number"){if(!Number.isFinite(t.height)||t.height<=0)throw Error(`vlist: item.height must be a positive number, got ${t.height}`)}if(t.width!==void 0&&typeof t.width==="number"){if(!Number.isFinite(t.width)||t.width<=0)throw Error(`vlist: item.width must be a positive number, got ${t.width}`)}if(t.estimatedHeight!==void 0){if(!Number.isFinite(t.estimatedHeight)||t.estimatedHeight<=0)throw Error(`vlist: item.estimatedHeight must be a positive number, got ${t.estimatedHeight}`)}if(t.estimatedWidth!==void 0){if(!Number.isFinite(t.estimatedWidth)||t.estimatedWidth<=0)throw Error(`vlist: item.estimatedWidth must be a positive number, got ${t.estimatedWidth}`)}if(t.gap!==void 0){if(typeof t.gap!=="number"||!Number.isFinite(t.gap)||t.gap<0)throw Error(`vlist: item.gap must be a non-negative number, got ${t.gap}`)}if(e.overscan!==void 0){if(typeof e.overscan!=="number"||!Number.isFinite(e.overscan)||e.overscan<0)throw Error(`vlist: overscan must be a non-negative number, got ${e.overscan}`)}let r=e.scroll;if(r?.mode!==void 0||r?.runway!==void 0)throw Error('vlist 3.0: scroll.mode and scroll.runway were removed; bounded mode is gone. Use "vlist/synthetic" for huge lists or "vlist" for native scrolling.')}function Kn(e,t){let r=e==="horizontal"?"x":"y";if(t.some((o)=>o.name==="grid"))return{primary:r,cross:r==="x"?"y":"x"};return{primary:r}}function Un(e,t){let r=Kn(e.orientation,t),i=r.primary==="x",o=jt(e.padding);return{axis:r,hasCrossAxis:r.cross!==void 0,overscan:e.overscan??dt,reverse:e.reverse??!1,classPrefix:e.classPrefix??Gt,mainAxisPadding:Jt(o,i),crossAxisPadding:Qt(o,i),startPadding:i?o.left:o.top,endPadding:i?o.right:o.bottom,crossPadStart:i?o.top:o.left,crossPadEnd:i?o.bottom:o.right,striped:e.item.striped||!1,gap:e.item.gap??0}}function Yn(e,t){if(t)return e.item.width??e.item.estimatedWidth??100;return e.item.height??e.item.estimatedHeight??40}function qn(e){let t=[...e];return t.sort((r,i)=>(r.priority??50)-(i.priority??50)),t}function Xn(e){let t=new Set;for(let r of e){if(t.has(r.name))throw Error(`[vlist] Duplicate plugin: ${r.name}`);t.add(r.name)}for(let r of e)if(r.conflicts){for(let i of r.conflicts)if(t.has(i))throw Error(`[vlist] Plugin "${r.name}" conflicts with "${i}"`)}}function Zn(e,t){for(let r of e)r.validateConfig?.(t)}function gn(e,t=[]){let r=!1;return jn(e,t,void 0,{native:Zt,onContentSize(i,o){if(!r&&i>xt)r=!0,o.emit("error",{error:Error(`Content size (${i}px) exceeds browser limit (${xt}px). Use "vlist/synthetic" for large datasets.`),context:"content:size:overflow"})}})}function jn(e,t=[],r,i){if(Wn(e),r&&typeof e.scroll?.scrollbar==="string")throw Error('vlist 3.0: scroll.scrollbar strings require "vlist"; use the scrollbar() plugin with "vlist/synthetic".');if(e.orientation==="horizontal"&&getComputedStyle(Et(e.container)).direction==="rtl")throw Error("vlist: horizontal RTL lists are not supported; use a vertical list, or an LTR container");let o=Un(e,t),n=o.axis.primary==="x",s=Yn(e,n),a=o.gap,w=a>0?typeof s==="function"?(J)=>s(J)+a:s+a:s,b=typeof s==="number"?s:20,l=e.items?.length??0,E=o.striped?`${o.classPrefix}-item--odd`:"",R=zt(),v=un(o.classPrefix,n,o.startPadding,o.crossPadStart,o.crossPadEnd,E,a,R),O=t.length>0?qn(t):t;if(t.length>0)Xn(O),Zn(O,o);let I=Et(e.container),c=on(I,o.classPrefix,n,e.ariaLabel);if(e.scroll?.scrollbar==="none")c.viewport.classList.add(`${o.classPrefix}-viewport--no-scrollbar`);if(e.scroll?.gutter==="stable")c.viewport.classList.add(`${o.classPrefix}-viewport--gutter-stable`);let f=pt(w,l,a),L=nn(o.classPrefix),F=Math.ceil(4096/b)+o.overscan*2+8,h=en(F);h.totalItems=l;let z=e.items?[...e.items]:[],H=()=>z,T=new Map,D=mn(),d={velocity:0,reliable:!1},P={range:{start:0,end:-1}},V={scrollPosition:0,direction:"down"},_={scrollPosition:0},se=-1,me=-1,le=-1,p=null,x=sn(O),A=new Map,S=[],Q=[],g=[],C=(J)=>{let y=(be)=>{J.push(be instanceof Error?be:Error(String(be)))};for(let be of g)try{be()}catch(Me){y(Me)}for(let be of O)if(be.destroy)try{be.destroy()}catch(Me){y(Me)}},U=null,W=null,re,fe,ge=null,B=null,de=null,oe=null,G=null,N=null,ue=null,Ie=null,q=!1,k=!1,ie=null,ee=0,te=0,M=null,K=null,ae=null,u=null,ne=null,X=null,Y=null,pe=null,j=null,Z=null,ye=null;h.containerSize=n?c.viewport.clientWidth:c.viewport.clientHeight,h.crossSize=n?c.viewport.clientHeight:c.viewport.clientWidth;function Te(J){if(W)W(J);else{if(n)c.viewport.scrollLeft=J;else c.viewport.scrollTop=J;fe?.()}}let Ce=rn({sizeCache:f,getPixel:()=>h.scrollPosition,setPixel:Te,getRenderOrigin:()=>h.baseOffset,getContainerSize:()=>h.containerSize,padding:o.mainAxisPadding});if(t.length>0){let J={pool:L,config:o,emitter:R,template:e.item.template,getState(){return h},dom:{...c,renderedElement(y){let be=A.get("_getRenderedElement");if(be)return be(y);return T.get(y)??null},enableListbox(){let y=c.content.getAttribute("role");if(!y||y==="list")c.content.setAttribute("role","listbox"),c.content.setAttribute("tabindex","0");v.itemRole="option",v.interactive=!0}},scroll:{...Ce,to:Te,shiftBy(y){if(j?.shiftBy)j.shiftBy(y);else J.scroll.to(h.scrollPosition+y)},smoothTo(y,be,Me,Oe){if(ne)ne(y,be,W??void 0,Me,Oe);else J.scroll.to(typeof y==="function"?y():y)},cancel(){Be?.cancelScroll()},commit(y){fe(y)},setSource(y){W=y.write,re=y.onContentSize,q=!0},setTarget(y){ie=y},setBoundedWrap(y,be){Z=y,ye=be},setToPosFn(y){X=y},setToIndexFn(y){Y=y},onFrame:ze,onIdle:Fe,disableResize(){k=!0}},items:{all:H,at(y){return de?de(y):z[y]},removeById(y){if(G)return G(y);let be=z.findIndex((Me)=>Me.id===y);if(be===-1)return-1;return z.splice(be,1),h.totalItems=z.length,f.rebuild(h.totalItems),Ae(),be},insertAt(y,be){if(N){N(y,be);return}z.splice(be,0,y),h.totalItems=z.length,f.rebuild(h.totalItems),Ae()},setGetFn(y){de=y},setRemoveFn(y){G=y},setInsertFn(y){N=y},setUpdateFn(y){ue=y},setIndexByIdFn(y){Ie=y},setTotalFn(y){U=y,v.ariaTotalFn=y},setIndexMapFn(y){v.indexMap=y}},sizes:{cache:f,get rawSpec(){return s},setConfig(y,be=0){let Me=pt(y,h.totalItems,be),Oe=A.get("_setSizeCacheBase");if(Oe){let We=f.rebuild;Object.assign(f,Me),f.rebuild=We,Oe(Me.rebuild)}else Object.assign(f,Me)},rebuild(){f.rebuild(h.totalItems)}},render:{force(){$e()},ifNeeded(){ve()},contentSize:xe,setFn(y,be){ge=()=>{let{prevRangeStart:Me,prevRangeEnd:Oe}=h;if(y(),h.prevRangeStart!==Me||h.prevRangeEnd!==Oe)it(x.commit,h)},B=()=>{be(),it(x.commit,h)}},setStateFn(y){oe=y},getStateFn(){return oe}},hooks:{method(y,be){if(!y.startsWith("_")&&A.has(y))throw Error(`[vlist] duplicate method "${y}"; rename it or use a set*Fn hook`);A.set(y,be)},get(y){return A.get(y)},onClick(y){S.push(y)},onKeydown(y){Q.push(y)},onDestroy(y){g.push(y)}},nav:{set(y){if(y.ud!==void 0)ee=y.ud;if(y.lr!==void 0)te=y.lr;if(y.scrollIndex)M=y.scrollIndex;if(y.navigate)K=y.navigate;if(y.total)ae=y.total;if(y.reveal)u=y.reveal},get:(()=>{let y={ud:0,lr:0,scrollIndex:null,navigate:null,total:null,reveal:null};return()=>(y.ud=ee,y.lr=te,y.scrollIndex=M,y.navigate=K,y.total=ae,y.reveal=u,y)})()}};for(let y of O)if(y.setup)try{y.setup(J)}catch(be){let Me=be instanceof Error?be:Error(String(be));R.emit("error",{error:Me,context:`plugin:setup:${y.name}`})}}let Le=o.classPrefix+"--scrolling",Pe=!1,Re=e.scroll?.idleTimeout??ct;function he(){if(V.scrollPosition=h.scrollPosition,n)V.direction=h.scrollDirection>0?"right":"left";else V.direction=h.scrollDirection>0?"down":"up";if(R.emit("scroll",V),fn(D,h.scrollPosition),d.velocity=D.velocity,d.reliable=D.sampleCount>=cn,R.emit("velocity:change",d),h.startIndex!==se||h.prevRangeEnd!==me)se=h.startIndex,me=h.prevRangeEnd,P.range.start=h.startIndex,P.range.end=h.prevRangeEnd,R.emit("range:change",P)}function xe(J,y=!0){if(j){if(y)j.refresh(J);return}h.totalSize=J;let be=J+o.mainAxisPadding;if(re?.(be),y)c.content.style[n?"width":"height"]=be+"px"}function Ae(){let J=ge?h.totalSize:f.getTotalSize();if(xe(J,!ge),j||ge)return;i?.onContentSize(J,R)}function Se(){if(!pe)return;if((U?U():z.length)===0)return;let y=pe;pe=null,Ne.scrollToIndex(y.index,y.alignOrOptions)}function ve(){if(ge)ge();else Mt(h,f,o.overscan,L,c.content,e.item.template,H,T,v,x,de,oe);Se()}function ze(){if(!Pe)Pe=!0,c.root.classList.add(Le);if(ve(),Pt(x.afterScroll,h.scrollPosition,h.scrollDirection),h.scrollPosition!==le)le=h.scrollPosition,he()}function ke(){L.trim(T.size)}function Fe(){if(Pe)Pe=!1,c.root.classList.remove(Le);h.scrollDirection=0,ke(),an(x.idle),d.velocity=0,d.reliable=!1,R.emit("velocity:change",d),_.scrollPosition=h.scrollPosition,R.emit("scroll:idle",_)}function $e(){if(h.renderPending=!0,B)B();else Mt(h,f,o.overscan,L,c.content,e.item.template,H,T,v,x,de,oe);if(Se(),Pt(x.afterScroll,h.scrollPosition,h.scrollDirection),h.scrollPosition!==le){if(le=h.scrollPosition,he(),p!==null)clearTimeout(p);p=setTimeout(Fe,Re)}else if(!Pe)ke()}let De=q?!1:e.scroll?.wheel!==!1,Be;if(q&&Z)throw C([]),c.root.remove(),Error("vlist: page() is not compatible with the carousel plugin — bounded page-mode scrolling is not implemented yet.");if(!q&&(r||Z))j=(r??ye)({state:h,sizeCache:f,viewport:c.viewport,content:c.content,isX:n,wheelEnabled:De,idleTimeout:Re,...ie?{scrollTarget:ie}:{},mainAxisPadding:o.mainAxisPadding,...Z?{wrap:Z,rendered:T,classPrefix:o.classPrefix,oddClass:E,onFold(J){let y=D;if(y._lp!==void 0)y._lp-=J;le-=J}}:{},onFrame:ze,onIdle:Fe}),Be=j,W=(J)=>j.setLogical(J);else{let J=(q?ft:i.native)({state:h,viewport:c.viewport,isX:n,wheelEnabled:De,idleTimeout:Re,...ie?{scrollTarget:ie}:{},onFrame:ze,onIdle:Fe});Be=J,fe=J.commitScroll}ne=Be.smoothScrollTo;function Ue(J){let be=J.target.closest("[data-index]");if(!be)return null;let Me=parseInt(be.getAttribute("data-index"),10);if(Number.isNaN(Me))return null;let Oe=A.get("_layoutToDataIndex"),We,Xe=Me;if(Oe){let Ye=Oe(Me);if(Ye<0)return null;let et=A.get("_getItemAtLayout"),ot=A.get("_getItem");We=et?et(Me):ot?ot(Ye):de?de(Ye):z[Ye],Xe=Ye}else We=de?de(Me):z[Me];if(We===void 0)return null;return{item:We,index:Xe}}function _e(J){for(let be=0;be<S.length;be++)S[be](J);let y=Ue(J);if(y)R.emit("item:click",{item:y.item,index:y.index,event:J})}function ce(J){let y=Ue(J);if(y)R.emit("item:dblclick",{item:y.item,index:y.index,event:J})}function Ee(J){let y=Ue(J);if(y)R.emit("item:contextmenu",{item:y.item,index:y.index,event:J})}function we(J){let y=J.target?.tagName;if((y==="INPUT"||y==="TEXTAREA"||y==="SELECT")&&!((J.ctrlKey||J.metaKey)&&(J.key==="f"||J.key==="F")))return;for(let be=0;be<Q.length;be++)Q[be](J)}if(c.content.addEventListener("click",_e),c.content.addEventListener("dblclick",ce),c.content.addEventListener("contextmenu",Ee),Q.length>0)c.root.addEventListener("keydown",we);let He=null;if(!k)setTimeout(()=>{if(h.destroyed)return;He=new ResizeObserver((y)=>{for(let be of y){let{width:Me,height:Oe}=be.contentRect,We=n?Me:Oe,Xe=n?Oe:Me;if(Math.abs(We-h.containerSize)<1&&Math.abs(Xe-h.crossSize)<1)continue;if(h.containerSize=We,h.crossSize=Xe,h.resizeCapacity(We,b,o.overscan),j)j.refresh(f.getTotalSize());$e(),dn(x.resize,Me,Oe),R.emit("resize",{width:Me,height:Oe})}}),He.observe(c.viewport)},0);h.resizeCapacity(h.containerSize,b,o.overscan),Ae(),h.initialized=!0;let Ve=null;if(e.defer)Ve=requestAnimationFrame(()=>{if(Ve=null,!h.destroyed)ve()});else ve();if(!q)Be.attach();let Ne={get element(){return c.root},get items(){return z},get total(){return U?U():z.length},setItems(J){z=[...J],h.totalItems=z.length,f.rebuild(h.totalItems),Ae(),$e()},appendItems(J){let y=()=>Math.max(0,f.getTotalSize()+o.mainAxisPadding-h.containerSize),be=o.reverse&&h.scrollPosition>=y()-1;if(z.push(...J),h.totalItems=z.length,f.rebuild(h.totalItems),Ae(),$e(),be)Te(y())},prependItems(J){let y=h.totalItems>0,be=f.getTotalSize();if(z.unshift(...J),h.totalItems=z.length,f.rebuild(h.totalItems),Ae(),$e(),!o.reverse||!y)return;let Me=f.getTotalSize()-be;if(Me<=0)return;let Oe=Math.max(0,f.getTotalSize()+o.mainAxisPadding-h.containerSize);Te(Math.min(h.scrollPosition+Me,Oe))},updateItem(J,y){if(ue){if(!ue(J,y))return}else{let be=z.findIndex((Me)=>Me.id===J);if(be===-1)return;z[be]={...z[be],...y}}$e()},insertItem(J,y){if(N)N(J,y??h.totalItems);else{if(y===void 0)z.push(J);else z.splice(y,0,J);h.totalItems=z.length,f.rebuild(h.totalItems),Ae()}$e()},removeItem(J){if(G){if(G(J)<0)return}else{let y=z.findIndex((be)=>be.id===J);if(y===-1)return;z.splice(y,1),h.totalItems=z.length,f.rebuild(h.totalItems),Ae()}$e()},removeItems(J){if(G){let Oe=0;for(let We of J)if(G(We)>=0)Oe++;if(Oe>0)$e();return Oe}let y=new Set(J),be=z.length;z=z.filter((Oe)=>!y.has(Oe.id));let Me=be-z.length;if(Me>0)h.totalItems=z.length,f.rebuild(h.totalItems),Ae(),h.renderPending=!0,ve();return Me},getItemAt(J){if(v.indexMap){let be=A.get("_getLoadedItem");return be?be(J):z[J]}let y=A.get("_getItemAtLayout");if(y){let be=A.get("_dataToLayoutIndex");return y(be?be(J):J)}return de?de(J):z[J]},getIndexById(J){if(Ie)return Ie(J);return z.findIndex((y)=>y.id===J)},scrollToIndex(J,y="start"){let be=U?U():z.length;if(be===0){pe={index:J,alignOrOptions:y};return}let Me=typeof y==="string"?y:y.align??"start",Oe=typeof y==="object"?y.behavior:void 0,We=typeof y==="object"?y.duration:void 0,Xe=typeof y==="object"?y.easing:void 0;if(Y&&Y(J,Me,Oe,We,Xe)!==!1)return;let Ye=Math.max(0,Math.min(J,be-1)),et=f.getOffset(Ye),ot=f.getSize(Ye),at=h.containerSize,wn=f.getTotalSize(),$t=o.mainAxisPadding,kn=Math.max(0,wn+$t-at),Ze;if(X)Ze=X(Ye,f,at,be,Me);else{let Rn=o.startPadding;switch(Me){case"center":Ze=Rn+et-(at-ot)/2;break;case"end":Ze=et+ot+$t-at;break;default:Ze=et}Ze=Math.max(0,Math.min(Ze,kn))}if(Oe==="smooth")Be.smoothScrollTo(Ze,We??mt,W??void 0,Xe);else Te(Ze)},getScrollPosition(){return Ce.getPixelEquivalent()},on:R.on.bind(R),off:R.off.bind(R),destroy(){if(h.destroyed)return;if(h.destroyed=!0,Pe)Pe=!1,c.root.classList.remove(Le);if(Ve!==null)cancelAnimationFrame(Ve),Ve=null;if(p!==null)clearTimeout(p),p=null;Be.detach(),He?.disconnect(),c.content.removeEventListener("click",_e),c.content.removeEventListener("dblclick",ce),c.content.removeEventListener("contextmenu",Ee),c.root.removeEventListener("keydown",we);let J=[];C(J);for(let[,y]of T)y.remove();if(T.clear(),L.clear(),c.root.remove(),R.emit("destroy",void 0),R.clear(),J.length>0)for(let y of J)console.error("vlist: error during destroy:",y)}};for(let[J,y]of A){if(J.startsWith("_"))continue;Ne[J]=y}return Ne}var pn="_getScrollPadding",Jn={start:0,end:0};function bt(e){let t;return()=>{if(t===void 0)t=e.hooks.get("_getScrollPadding")??null;return t?t():Jn}}var bn=(e)=>e==null?0:typeof e==="function"?e():e;function At(e){let t=e?.scrollPadding,r,i;return{name:"page",priority:5,setup(o){let{dom:n,config:s,emitter:a}=o,w=o.sizes.cache,b=s.axis.primary==="x",l=window,E=o.getState();if(o.scroll.disableResize(),n.root.style.overflow="visible",n.root.style.height="auto",b)n.viewport.style.overflowX="visible",n.viewport.style.overflowY="visible";else n.viewport.style.overflow="visible";n.viewport.classList.remove(`${s.classPrefix}-viewport--custom-scrollbar`);let R=!1,v=!1;o.scroll.setSource({onContentSize(f){if(f>It&&!v){let L=`vlist: page() native document size ${f}px exceeds the ${It}px limit. Use the viewport-scrolled default for larger lists. See https://vlist.io/docs/rfcs/RFC-014-Scroll-Input-Model`;if(!R)throw i?.(),r?.(),n.root.remove(),Error(L);v=!0,console.warn(L)}R=!0},write(f){let L=n.viewport.getBoundingClientRect(),F=(b?L.left+l.scrollX:L.top+l.scrollY)+f;if(b)l.scrollTo({left:F,top:l.scrollY,behavior:"instant"});else l.scrollTo({left:l.scrollX,top:F,behavior:"instant"});o.scroll.commit(f)}}),E.containerSize=b?l.innerWidth:l.innerHeight,E.crossSize=b?l.innerHeight:l.innerWidth;let O=()=>{let f=n.viewport.getBoundingClientRect(),L=Math.max(0,b?-f.left:-f.top);if(Math.abs(L-o.scroll.getPixelEquivalent())<0.5)return;o.scroll.commit(L)};l.addEventListener("scroll",O,{passive:!0}),i=()=>l.removeEventListener("scroll",O);let{innerWidth:I,innerHeight:c}=l,m=()=>{let{innerWidth:f,innerHeight:L}=l;if((b?Math.abs(f-I):Math.abs(L-c))<1)return;I=f,c=L,E.containerSize=b?f:L,E.crossSize=b?L:f,o.render.force(),a.emit("resize",{width:f,height:L})};if(l.addEventListener("resize",m),r=()=>l.removeEventListener("resize",m),t){let f=()=>({start:bn(b?t.left:t.top),end:bn(b?t.right:t.bottom)});o.hooks.method(pn,f),o.scroll.setToPosFn((L,F,h,z,H)=>{let{start:T,end:D}=f();if(z===0)return 0;let d=Math.max(0,Math.min(L,z-1)),P=F.getOffset(d),V=F.getSize(d),_=F.getTotalSize(),se=Math.max(0,_-h+D),me;switch(H){case"center":me=P-T-(h-T-D-V)/2;break;case"end":me=P-h+V+D;break;default:me=P-T}return Math.max(-T,Math.min(me,se))}),o.hooks.method("_scrollItemIntoView",(L)=>{let F=b?l.innerWidth:l.innerHeight,{start:h,end:z}=f(),H=n.viewport.getBoundingClientRect(),T=b?l.scrollX:l.scrollY,D=b?H.left:H.top,d=D+T,P=w.getOffset(L),V=w.getSize(L),_=D+P,se=F-z,me=T;if(_<h)me=d+P-h;else if(_+V>se)me=d+P+V-se;if(me!==T)if(b)l.scrollTo({left:me,top:l.scrollY,behavior:"instant"});else l.scrollTo({left:l.scrollX,top:me,behavior:"instant"})})}o.hooks.onDestroy(()=>{i?.(),r?.()})},destroy(){i?.(),r?.(),i=void 0,r=void 0}}}function wt(e){let t=e?.gap??0,r=null,i=0,o=null,n,s,a,w,b,l=new Map,E=new Set,R=new WeakMap,v=0,O=!1,I=!1,c=!1,m=2;function f(d){return l.get(d)??b}function L(d){return l.has(d)&&!E.has(d)}function F(d){if(!o||n.destroyed)return;if(d===void 0){if(l.size===0)return;l.clear(),E.clear(),o.sizes.rebuild(),T()}else{if(!l.has(d))return;E.add(d)}o.render.force()}function h(){return Math.max(0,o.sizes.cache.getTotalSize()+o.config.mainAxisPadding-n.containerSize)}function z(){let d=h();return d>0&&s.getPixelEquivalent()>=d-m}function H(){let d=h();if(d>s.getPixelEquivalent())o.scroll.to(d)}function T(){o.render.contentSize(o.sizes.cache.getTotalSize())}function D(d,P){let V=o;if(V.hooks.get("_setSizeCacheBase"))V.sizes.rebuild();else V.sizes.cache.invalidate(d,P)}return{name:"autosize",priority:5,setup(d){if(i++,s=d.scroll,o=d,n=d.getState(),a=d.config.axis.primary==="x",w=a?"width":"height",t===0)t=d.config.gap;b=typeof d.sizes.rawSpec==="function"?d.sizes.rawSpec(0)+t:d.sizes.rawSpec+t,d.sizes.setConfig(f,t);let P=new ResizeObserver((le)=>{if(n.destroyed||!o)return;let p=!1,x=-1,A=-1,S=d.sizes.cache.indexAtOffset(s.getPixelEquivalent());for(let W of le){let re=W.target,fe=R.get(re);if(fe===void 0)continue;if(re.getAttribute("data-index")!==String(fe)){P.unobserve(re);continue}if(L(fe))continue;let ge=W.borderBoxSize?.[0],B;if(ge)B=a?ge.inlineSize:ge.blockSize;else{let N=re.getBoundingClientRect();B=a?N.width:N.height}if(B<=0)continue;let de=B+t,oe=l.has(fe),G=l.get(fe)??b;if(l.set(fe,de),E.delete(fe),!oe||de!==G){if(p=!0,x<0||fe<x)x=fe;if(fe>A)A=fe}if(fe<S&&de!==G)v+=de-G;P.unobserve(re),re.style[w]=`${B}px`}if(!p)return;let Q=z();if(D(x,A),v)d.scroll.shiftBy(v),v=0;let g=n.scrollDirection!==0,C=n.totalItems>0&&n.prevRangeEnd>=n.totalItems-1,U=I&&!c;if(U||Q||C||c||!g){if(T(),O=!1,U||Q)H()}else O=!0;d.render.force()});r=P,d.scroll.setToIndexFn((le,p,x,A,S)=>{let Q=le>=n.totalItems-1&&p==="end";if(I=Q,c=!1,!Q)return!1;let g=d.config.mainAxisPadding,C=()=>{let U=d.sizes.cache.getTotalSize();return Math.max(0,U+g-n.containerSize)};if(x==="smooth")c=!0,d.scroll.smoothTo(C,A??300,S,()=>{if(c=!1,O)T(),O=!1;H()});else d.scroll.to(C())});let V=()=>{I=!1},_=d.dom.viewport;_.addEventListener("wheel",V,{passive:!0}),_.addEventListener("touchstart",V,{passive:!0}),d.hooks.onDestroy(()=>{_.removeEventListener("wheel",V),_.removeEventListener("touchstart",V)});let se=d.dom.content,me=(le)=>{let p=le.target;if(!p||p===se)return;let x=p.closest("[data-index]");if(!x||x.parentNode!==se)return;let A=Number(x.getAttribute("data-index"));if(L(A))F(A)};se.addEventListener("load",me,!0),se.addEventListener("error",me,!0),d.hooks.onDestroy(()=>{se.removeEventListener("load",me,!0),se.removeEventListener("error",me,!0)}),d.hooks.method("isMeasured",L),d.hooks.method("remeasure",F),d.hooks.method("setMeasuredSize",(le,p)=>{l.set(le,p),D(le,le)}),d.hooks.method("getMeasuredCount",()=>l.size),d.hooks.onDestroy(()=>{if(P.disconnect(),r===P)r=null})},hooks:{onCommit(d){if(!r||!o)return;for(let P=0;P<d.visibleCount;P++){let V=d.visibleIndices[P];if(L(V))continue;let _=o.dom.renderedElement(V);if(!_)continue;_.style[w]="",R.set(_,V),r.observe(_)}},onIdle(){if(!o||!O)return;let d=z();if(T(),O=!1,d)H(),o.render.force()}},destroy(){if(i=Math.max(0,i-1),i>0)return;if(r)r.disconnect(),r=null;l.clear(),E.clear(),I=!1,c=!1,o=null}}}var hn=(e={})=>{let{chunkSize:t=100,maxCachedItems:r=5000,evictionBuffer:i=200,onEvict:o}=e,n=new Map,s=0,a=0,w=(p)=>{let x=n.get(p);if(!x)x={items:Array(t),count:0,lastAccess:Date.now()},n.set(p,x);else x.lastAccess=Date.now();return x},b=(p)=>Math.floor(p/t),l=(p)=>p%t,E=()=>s,R=(p)=>{s=p},v=(p)=>{if(p<0||p>=s)return;let x=b(p),A=n.get(x);if(!A)return;return A.items[l(p)]},O=(p)=>{if(p<0||p>=s)return!1;let x=b(p),A=n.get(x);if(!A)return!1;return A.items[l(p)]!==void 0},I=(p,x)=>{let A=b(p),S=w(A),Q=l(p),g=S.items[Q]===void 0;if(S.items[Q]=x,g)S.count++,a++;if(p>=s)s=p+1},c=(p,x)=>{for(let A=0;A<x.length;A++){let S=x[A];if(S!==void 0)I(p+A,S)}},m=(p,x)=>{if(p<0||p>s)return;let A=b(p),S=Array.from(n.keys()).filter((W)=>W>=A).sort((W,re)=>W-re),Q=[];for(let W of S){let re=n.get(W),fe=W*t;for(let ge=0;ge<t;ge++){if(re.items[ge]===void 0)continue;let B=fe+ge;if(B<p)continue;Q.push({oldIndex:B,item:re.items[ge]})}}for(let{oldIndex:W}of Q){let re=b(W),fe=n.get(re);if(!fe)continue;let ge=l(W);if(fe.items[ge]!==void 0){if(fe.items[ge]=void 0,fe.count--,a--,fe.count===0)n.delete(re)}}s++;for(let{oldIndex:W,item:re}of Q){let fe=W+1,ge=b(fe),B=w(ge),de=l(fe);B.items[de]=re,B.count++,a++}let g=b(p),C=w(g),U=l(p);C.items[U]=x,C.count++,a++},f=(p)=>{if(p<0||p>=s)return!1;let x=b(p),A=n.get(x),S=l(p);if(!(A!==void 0&&A.items[S]!==void 0))return!1;let g=x,C=Array.from(n.keys()).filter((W)=>W>=g).sort((W,re)=>W-re),U=[];for(let W of C){let re=n.get(W),fe=W*t;for(let ge=0;ge<t;ge++){if(re.items[ge]===void 0)continue;let B=fe+ge;if(B<=p)continue;U.push({oldIndex:B,item:re.items[ge]})}}if(A.items[S]=void 0,A.count--,a--,A.count===0)n.delete(x);for(let{oldIndex:W}of U){let re=b(W),fe=n.get(re);if(!fe)continue;let ge=l(W);if(fe.items[ge]!==void 0){if(fe.items[ge]=void 0,fe.count--,a--,fe.count===0)n.delete(re)}}for(let{oldIndex:W,item:re}of U){let fe=W-1,ge=b(fe),B=w(ge),de=l(fe);B.items[de]=re,B.count++,a++}return s--,!0},L=(p,x)=>{let A=[];for(let S=p;S<=x&&S<s;S++)A.push(v(S));return A},F=(p,x)=>{for(let A=p;A<=x&&A<s;A++)if(!O(A))return!1;return!0},h=()=>{let p=[],x=null,A=Array.from(n.keys()).sort((S,Q)=>S-Q);for(let S of A){let Q=n.get(S);if(!Q)continue;let g=S*t;for(let C=0;C<t;C++){let U=g+C;if(U>=s)break;if(Q.items[C]!==void 0)if(x===null)x={start:U,end:U};else if(U===x.end+1)x.end=U;else p.push(x),x={start:U,end:U};else if(x!==null)p.push(x),x=null}}if(x!==null)p.push(x);return p},z=(p,x)=>{let A=[],S=null;for(let Q=p;Q<=x&&Q<s;Q++)if(!O(Q))if(S===null)S={start:Q,end:Q};else S.end=Q;else if(S!==null)A.push(S),S=null;if(S!==null)A.push(S);return A},H=(p)=>n.has(p),T=(p)=>{let x=n.get(p);if(!x)return!1;let A=p*t,S=Math.min(t,s-A);return x.count>=S},D=(p)=>{let x=n.get(p);if(x)x.lastAccess=Date.now()},d=(p,x)=>{if(p>x||n.size===0)return;let A=Date.now(),S=b(Math.max(0,p)),Q=b(Math.min(s-1,x));for(let g=S;g<=Q;g++){let C=n.get(g);if(C)C.lastAccess=A}},P=(p,x)=>{if(a<=r)return 0;let A=Math.max(0,p-i),S=Math.min(s-1,x+i),Q=b(A),g=b(S),C=0,U=[];for(let[W,re]of n)if(W<Q||W>g)C+=re.count,U.push(W),a-=re.count,n.delete(W);if(C>0&&o)o(C,U);return C},V=()=>{if(a<=r)return 0;let p=Array.from(n.entries()).sort(([,S],[,Q])=>S.lastAccess-Q.lastAccess),x=0,A=[];for(let[S,Q]of p){if(a<=r)break;x+=Q.count,a-=Q.count,A.push(S),n.delete(S)}if(x>0&&o)o(x,A);return x},_=()=>({totalItems:s,cachedItems:a,cachedChunks:n.size,chunkSize:t,maxCachedItems:r,memoryEfficiency:s>0?1-a/s:1}),se=()=>a,me=()=>{n.clear(),a=0};return{chunkSize:t,maxCachedItems:r,getTotal:E,setTotal:R,get:v,has:O,set:I,setRange:c,insert:m,delete:f,getRange:L,isRangeLoaded:F,getLoadedRanges:h,findUnloadedRanges:z,getChunkIndex:b,isChunkLoaded:H,isChunkFullyLoaded:T,touchChunk:D,touchChunksForRange:d,evictDistant:P,evictToLimit:V,getStats:_,getCachedCount:se,clear:me,reset:()=>{me(),s=0}}};var vn=(e={})=>{let{maskCharacter:t=qt,maxSampleSize:r=Xt}=e,i=[],o=!1,n=(l)=>{if(o||l.length===0)return;let E=Math.min(l.length,r);for(let R=0;R<E;R++){let v=l[R];if(!v||typeof v!=="object")continue;let O={},I=!1;for(let[c,m]of Object.entries(v)){if(c.startsWith("_")||c==="id")continue;O[c]=String(m??"").length,I=!0}if(I)i.push(O)}o=!0},s=()=>o,a=(l)=>{let E={id:`${Ke}${l}`,[Ct]:!0,_index:l};if(i.length===0)return E.label=t.repeat(12),E;let R=i[l%i.length];for(let[v,O]of Object.entries(R))E[v]=t.repeat(Math.max(1,O));return E};return{analyzeStructure:n,hasAnalyzedStructure:s,generate:a,generateRange:(l,E)=>{let R=[];for(let v=l;v<=E;v++)R.push(a(v));return R},clear:()=>{i=[],o=!1}}},ht=(e)=>{if(!e||typeof e!=="object")return!1;return e[Ct]===!0};var Qn=50,yn=(e={})=>{let{adapter:t,initialItems:r,initialTotal:i,storage:o,placeholder:n,pageSize:s=Qn,maxConcurrent:a=0,onStateChange:w,onDataChange:b,onItemsLoaded:l,onItemsEvicted:E,onLoadError:R}=e,v=hn({...o,onEvict:(M,K)=>{E?.(M),P(),d()}}),O=null,I=()=>{if(!O)O=vn(n);return O},c=new Map,m=!1,f,L=!0,F,h,z=[],H=0,T=new Map,D=()=>{for(let M of T.values())M[1].abort();T.clear()},d=()=>{w?.(S())},P=()=>{b?.()},V=()=>{c.clear();let M=v.getLoadedRanges();for(let K of M)for(let ae=K.start;ae<=K.end;ae++){let u=v.get(ae);if(u&&!ht(u))c.set(u.id,ae)}},_=(M,K)=>{if(!ht(K))c.set(K.id,M)},se=(M)=>{c.delete(M)},me=(M,K)=>`${M}-${K}`,le=()=>v.getTotal(),p=()=>v.getCachedCount(),x=()=>m,A=()=>L,S=()=>({total:v.getTotal(),cached:v.getCachedCount(),isLoading:m,pendingRanges:z,error:f,hasMore:L,cursor:F}),Q=()=>v,g=()=>I(),C=(M)=>{let K=v.get(M);if(K!==void 0)return K;if(M>=0&&M<v.getTotal())return I().generate(M);return},U=(M)=>{let K=c.get(M);if(K===void 0)return;return v.get(K)},W=(M)=>c.get(M)??-1,re=(M)=>{let K=v.get(M);return K!==void 0&&!ht(K)},fe=(M,K)=>{let ae=[],u=v.getTotal();v.touchChunksForRange(M,Math.min(K,u-1));for(let ne=M;ne<=K&&ne<u;ne++){let X=v.get(ne);if(X!==void 0)ae.push(X);else ae.push(I().generate(ne))}return ae},ge=(M)=>{v.setTotal(M),L=v.getCachedCount()<M,P(),d()},B=(M,K=0,ae)=>{if(t&&M.length>0){let u=I();if(!u.hasAnalyzedStructure())u.analyzeStructure(M)}for(let u=0;u<M.length;u++){let ne=M[u];if(ne!==void 0){let X=K+u;v.set(X,ne),_(X,ne)}}if(ae!==void 0)v.setTotal(ae);else if(K+M.length>v.getTotal())v.setTotal(K+M.length);if(v.getCachedCount()>=v.getTotal()&&v.getTotal()>0)L=!1;P(),d(),l?.(M,K,v.getTotal())},de=(M,K)=>{let ae=v.get(M);if(!ae)return!1;let u=ae.id,ne={...ae,...K};if(v.set(M,ne),K.id!==void 0&&K.id!==u)se(u);return _(M,ne),P(),d(),!0},oe=(M,K)=>{v.insert(K,M),V(),D(),P(),d()},G=(M)=>{let K=c.get(M);if(K===void 0)return!1;if(!v.delete(K))return!1;return V(),D(),P(),d(),!0},N=async(M,K)=>{if(!t)return;let ae=v.chunkSize,u=Math.floor(M/ae),ne=Math.floor(K/ae),X=ae*2;for(let[j,Z]of T){let ye=j.indexOf("-"),Te=parseInt(j.slice(0,ye),10);if(Math.abs(Te-M)>X)Z[1].abort(),T.delete(j)}let Y=[],pe=[];for(let j=u;j<=ne;j++){let Z=j*ae,ye=Z+ae-1,Te=me(Z,ye);if(v.isChunkFullyLoaded(j))continue;let Le=T.get(Te);if(Le)pe.push(Le[0]);else Y.push({start:Z,end:ye})}if(Y.length===0){if(pe.length>0)await Promise.all(pe);return}if(a>0){let j=T.size+Y.length;if(j>a){let Z=(M+K)/2,ye=Math.min(j-a,T.size);while(ye>0){let Ce=null,Le=-1,Pe=null;for(let[Re,he]of T){let xe=Re.indexOf("-"),Ae=parseInt(Re.slice(0,xe),10),Se=parseInt(Re.slice(xe+1),10),ve=Math.abs((Ae+Se)/2-Z);if(ve>Le)Le=ve,Ce=Re,Pe=he[1]}if(Ce)Pe.abort(),T.delete(Ce);ye--}let Te=a-T.size;if(Y.length>Te)Y.sort((Ce,Le)=>{let Pe=Math.abs((Ce.start+Ce.end)/2-Z),Re=Math.abs((Le.start+Le.end)/2-Z);return Pe-Re}),Y.length=Math.max(0,Te)}}if(Y.length===0){if(pe.length>0)await Promise.all(pe);return}for(let j of Y){let Z=me(j.start,j.end),ye=new AbortController,Te=(async()=>{z.push(j),m=!0,f=void 0,d();try{let Ce=j.end-j.start+1,Le={offset:j.start,limit:Ce,cursor:j.start===h?F:void 0,signal:ye.signal},Pe=await t.read(Le);if(B(Pe.items,j.start,Pe.total),Pe.cursor)F=Pe.cursor,h=j.start+Pe.items.length;let Re=j.start+Pe.items.length;if(Re>=H){if(H=Re,Pe.hasMore!==void 0)L=Pe.hasMore;else if(Pe.total!==void 0)L=Re<Pe.total}}catch(Ce){if(Ce?.name==="AbortError")return;f=Ce instanceof Error?Ce:Error(String(Ce)),R?.(f,j)}finally{T.delete(Z);let Ce=z.findIndex((Le)=>Le.start===j.start&&Le.end===j.end);if(Ce>=0)z.splice(Ce,1);m=T.size>0,d()}})();T.set(Z,[Te,ye]),pe.push(Te)}await Promise.all(pe)},ue=async(M,K)=>{if(v.isRangeLoaded(M,K))return;await N(M,K)},Ie=async()=>{if(!t)return;await N(0,s-1)},q=async()=>{if(!t||m||!L)return!1;let M=v.getCachedCount(),K=v.getTotal(),ae=M,u=Math.min(ae+s-1,K>0?K-1:ae+s-1);if(ae>=K&&K>0)return L=!1,!1;return await N(ae,u),v.getCachedCount()>M},k=async()=>{if(v.clear(),c.clear(),O)O.clear();D(),z=[],m=!1,F=void 0,h=void 0,L=!0,H=0,f=void 0,P(),d()},ie=(M,K)=>{if(v.evictDistant(M,K)>0)V()},ee=()=>{v.clear(),c.clear(),F=void 0,h=void 0,f=void 0,z=[],m=!1,P(),d()},te=()=>{if(v.reset(),c.clear(),O)O.clear();F=void 0,h=void 0,L=!0,H=0,f=void 0,z=[],m=!1,P(),d()};if(r&&r.length>0)B(r,0,i??r.length);else if(i!==void 0)v.setTotal(i),P(),d();return{getState:S,getTotal:le,getCached:p,getIsLoading:x,getHasMore:A,getStorage:Q,getPlaceholders:g,getItem:C,getItemById:U,getIndexById:W,isItemLoaded:re,getItemsInRange:fe,setTotal:ge,setItems:B,updateItem:de,insertItem:oe,removeItem:G,loadRange:N,ensureRange:ue,loadInitial:Ie,loadMore:q,reload:k,evictDistant:ie,clear:ee,reset:te}};function kt(e){let{adapter:t,total:r,autoLoad:i=!0,storage:o}=e,n=e.loading?.cancelThreshold??Wt,s=e.loading?.preloadThreshold??Nt,a=e.loading?.preloadAhead??Bt,w=e.loading?.maxConcurrent??Kt,b,l,E,R,v,O,I=null,c=null,m=null,f=0,L=!1,F=null,h=Tt,z=-1,H=-1,T=-1,D=-1,d=o?.chunkSize??ut,P=()=>{if(I=null,c!==null)clearTimeout(c),c=null},V=(S,Q)=>b.ensureRange(S,Q),_=(S,Q=ut)=>{R.emit("load:start",{offset:S,limit:Q})},se=(S)=>{R.emit("error",{error:S,context:"ensureRange"})},me=()=>{I=null;let S={start:l.startIndex,end:l.startIndex+Math.max(0,l.visibleCount-1)};if(S.end<S.start)return;V(S.start,S.end).catch(se)},le=()=>{if(F!==null)clearTimeout(F),F=null},p=()=>{if(l.destroyed)return;let S=b.getTotal();if(l.visibleCount<=0||l.startIndex>=S)return;let Q=Math.min(l.startIndex+l.visibleCount-1,S-1);if(Q<l.startIndex)return;V(l.startIndex,Q).catch(se)},x=()=>{if(F!==null||l.destroyed)return;F=setTimeout(()=>{F=null,p()},h),h=Math.min(h*2,Ut)},A=()=>{le(),h=Tt};return{name:"data",priority:20,setup(S){l=S.getState(),E=S.sizes.cache,R=S.emitter,v=S.dom,O=S.render.force.bind(S);let Q=null;S.items.setTotalFn(()=>Q?.getTotal()??0),S.items.setIndexByIdFn((C)=>Q?.getIndexById(C)??-1),b=Q=yn({adapter:t,...r!==void 0&&{initialTotal:r},pageSize:o?.chunkSize??ut,maxConcurrent:w,...o&&{storage:{...o.chunkSize!==void 0&&{chunkSize:o.chunkSize},...o.maxCachedItems!==void 0&&{maxCachedItems:o.maxCachedItems},...o.evictionBuffer!==void 0&&{evictionBuffer:o.evictionBuffer}}},onDataChange:()=>{if(l.initialized){let C=b.getTotal(),U=b.getCached();if(l.totalItems=C,C!==z||U!==H)z=C,H=U,E.rebuild(C);S.render.contentSize(E.getTotalSize()),S.render.ifNeeded()}},onItemsLoaded:(C)=>{if(A(),l.initialized)S.render.contentSize(E.getTotalSize()),O(),R.emit("load:end",{items:C,total:b.getTotal()})},onLoadError:(C)=>{if(R.emit("error",{error:C,context:"load"}),l.initialized)S.render.ifNeeded();x()}}),S.items.setGetFn((C)=>b.getItem(C)),S.items.setRemoveFn((C)=>{let U=b.getIndexById(C);if(U<0)return-1;if(!b.removeItem(C))return-1;return U}),S.items.setInsertFn((C,U)=>{b.insertItem(C,U)}),S.items.setUpdateFn((C,U)=>{let W=b.getIndexById(C);if(W<0)return!1;return b.updateItem(W,U)}),S.hooks.method("reload",async()=>{if(I=null,T=-1,D=-1,A(),S.render.force(),await b.reload(),S.scroll.to(0),i)_(0),await b.loadInitial(),S.render.force()}),S.hooks.method("loadVisibleRange",async()=>{I=null,S.render.force();let C=b.getTotal();if(l.visibleCount>0&&l.startIndex<C){let U=Math.min(l.startIndex+l.visibleCount-1,C-1);_(l.startIndex,U-l.startIndex+1),await V(l.startIndex,U)}}),S.hooks.method("loadInitial",async()=>{_(0),await b.loadInitial(),S.render.force()}),S.hooks.method("getTotal",()=>b.getTotal()),S.hooks.method("setTotal",(C)=>{b.setTotal(C)}),S.hooks.method("_getTotal",()=>b.getTotal()),S.hooks.method("_setTotal",(C)=>{b.setTotal(C)}),S.hooks.method("_cancelAutoLoad",()=>{L=!0}),S.hooks.method("_getLoadedItem",(C)=>b.getStorage().get(C)),S.hooks.method("_getItem",(C)=>b.getItem(C)),S.hooks.method("_getLoadedCount",()=>b.getCached()),R.on("load:start",()=>{v.root.setAttribute("aria-busy","true")}),R.on("load:end",()=>{v.root.removeAttribute("aria-busy")}),S.hooks.onDestroy(()=>{if(m!==null)clearTimeout(m),m=null;P(),le()}),R.on("velocity:change",({velocity:C})=>{f=Math.abs(C)});let g=()=>{if(l.destroyed)return;A(),p(),me()};if(window.addEventListener("online",g),S.hooks.onDestroy(()=>{window.removeEventListener("online",g)}),i)queueMicrotask(()=>{if(L)return;_(0),b.loadInitial().catch((C)=>{R.emit("error",{error:C,context:"loadInitial"})})});else if(r!==void 0)b.setTotal(r)},hooks:{onAfterScroll(){if(l.destroyed)return;let S=l.startIndex+Math.max(0,l.visibleCount-1);if(f>n){if(c!==null)clearTimeout(c),c=null;I={start:l.startIndex,end:S};return}if(f>s){let C=Math.floor(l.startIndex/d),U=Math.floor(S/d);if(C!==T||U!==D){if(T=C,D=U,S>=l.startIndex)V(l.startIndex,S).catch(se)}let W=l.startIndex,re=S,fe=l.scrollDirection;if(fe>0)re=Math.min(re+a,b.getTotal()-1);else if(fe<0)W=Math.max(0,W-a);if(I={start:W,end:re},c!==null)clearTimeout(c);c=setTimeout(()=>{if(c=null,l.destroyed||!I)return;let{start:ge,end:B}=I;if(I=null,B>=ge)V(ge,B).catch(se)},100);return}P();let Q=Math.floor(l.startIndex/d),g=Math.floor(S/d);if(Q!==T||g!==D){if(T=Q,D=g,S>=l.startIndex)V(l.startIndex,S).catch(se)}},onIdle(){if(l.destroyed)return;f=0,T=-1,D=-1,me(),P()},onResize(){if(l.destroyed)return;let S=b.getTotal();if(S<=0)return;if(l.visibleCount<=0||l.startIndex>=S)return;let Q=Math.min(l.startIndex+l.visibleCount-1,S-1);if(Q<l.startIndex)return;_(l.startIndex,Q-l.startIndex+1),V(l.startIndex,Q).catch(se)}},destroy(){if(m!==null)clearTimeout(m);P(),le()}}}var Sn=(e)=>{let t=Math.max(1,Math.floor(e.columns)),r=e.gap??0,i=e.isHeaderFn,o={row:0,col:0},n=(I)=>{if(I<=0)return 0;if(!i)return Math.ceil(I/t);let c=0,m=0,f=0;for(let L=0;L<I;L++)if(i(L)){if(f++,m)c++,m=0;c++,m=0}else if(m++,m>=t)c++,m=0;if(m)c++;return c},s=(I)=>(o.row=a(I),o.col=w(I),o),a=(I)=>{if(!i)return Math.floor(I/t);let c=0,m=0;for(let f=0;f<=I;f++)if(i(f)){if(m)c++,m=0;if(f===I)return c;c++,m=0}else{if(f===I)return c;if(m++,m>=t)c++,m=0}return c},w=(I)=>{if(!i)return I%t;if(i(I))return 0;let c=0;for(let m=0;m<=I;m++)if(i(m))c=0;else{if(m===I)return c;if(c++,c>=t)c=0}return c},b=(I,c,m,f)=>{if(m<=0){f.start=0,f.end=-1;return}if(!i){f.start=Math.max(0,I*t),f.end=Math.min(m-1,(c+1)*t-1);return}let L=l(I,c,m);f.start=L.start,f.end=L.end},l=(I,c,m)=>{if(m<=0)return{start:0,end:-1};if(!i){let z=Math.max(0,I*t),H=Math.min(m-1,(c+1)*t-1);return{start:z,end:H}}let f=-1,L=-1,F=0,h=0;for(let z=0;z<m;z++){if(i(z)){if(h)F++,h=0;if(F>=I&&F<=c){if(f<0)f=z;L=z}F++,h=0}else{if(F>=I&&F<=c){if(f<0)f=z;L=z}if(h++,h>=t)F++,h=0}if(F>c&&!h)break}if(f<0)return{start:0,end:-1};return{start:f,end:L}},E=(I,c,m)=>{if(c<0||c>=t)return-1;let f=I*t+c;if(f<0||f>=m)return-1;return f},R=(I)=>{let c=(t-1)*r;return Math.max(0,(I-c)/t)};return{get columns(){return t},get gap(){return r},update:(I)=>{if(I.columns!==void 0)t=Math.max(1,Math.floor(I.columns));if(I.gap!==void 0)r=I.gap;if(I.isHeaderFn!==void 0)i=I.isHeaderFn},getTotalRows:n,getPosition:s,getRow:a,getCol:w,getItemRange:l,fillItemRange:b,getItemIndex:E,getColumnWidth:R,getColumnOffset:(I,c)=>{let m=R(c);return I*(m+r)}}};function tt(e,t,r,i,o){if(r==="smooth")e.smoothTo(t,i??mt,o);else e.to(t)}var je={selected:!1,focused:!1};function Rt(e){if(!e.columns||e.columns<1)throw Error("[vlist] grid: columns must be >= 1");let t,r,i,o,n=0,s,a=null,w=null,b=-1,l,E,R,v,O,I,c=null,m=0,f=0,L=0,F=0,h=new Map,z=0,H=0,T=0,D=0,d=null,P=!1,V="",_="",se="",me={start:0,end:-1},le=-1,p=-1,x=-1,A=!0,S,Q=!1;function g(){let oe=(H-1)*T;D=Math.max(0,(z-oe)/H)}function C(){if(P)return;P=!0,d=c?.()??null}function U(){if(w!==null||a===null)return;w=a.dom.content.getAttribute("role")==="listbox"}function W(){return t.getTotalRows(i.totalItems)}function re(oe,G){let N=oe/H|0,Ie=(oe-N*H)*(D+T)+m,q=r.getOffset(N)-G+L;if(v)return`translate(${Math.round(q)}px, ${Math.round(Ie)}px)`;return`translate(${Math.round(Ie)}px, ${Math.round(q)}px)`}function fe(oe,G){let N=r.getSize(G)-T;if(v)oe.style.width=`${N}px`,oe.style.height=`${D}px`;else oe.style.width=`${D}px`,oe.style.height=`${N}px`}function ge(oe,G,N){if(d)d(N,je);else je.selected=!1,je.focused=!1;let ue=E(G,N,je);if(typeof ue==="string")oe.innerHTML=ue;else oe.innerHTML="",oe.appendChild(ue);qe(oe)}function B(){if(i.destroyed)return;let oe=o.getRenderOrigin(),G=o.getPixelEquivalent(),N=i.containerSize;if(!A&&G===le&&N===p&&oe===n)return;le=G,p=N,A=!1;let ue=W();if(N<=0||ue===0)return;C(),U();let Ie=r.indexAtOffset(G),q=r.indexAtOffset(G+N);if(q<ue-1)q++;Ie=Math.max(0,Ie),q=Math.min(ue-1,Math.max(0,q));let k=Math.max(0,Ie-I),ie=Math.min(ue-1,q+I);if(k===i.prevRangeStart&&ie===i.prevRangeEnd&&!i.renderPending&&oe===n)return;t.fillItemRange(k,ie,i.totalItems,me);let{start:ee,end:te}=me;for(let[ae,u]of h)if(ae<ee||ae>te)u.el.remove(),s.release(u.el),h.delete(ae);if(w&&i.totalItems!==b){b=i.totalItems;let ae=String(i.totalItems);for(let[,u]of h)u.el.setAttribute("aria-setsize",ae)}for(let ae=ee;ae<=te;ae++){let u=R(ae);if(!u)continue;let ne=ae/H|0,X=ae-ne*H,Y=h.get(ae);if(Y===void 0){let Z=s.acquire();if(Z.className=V,Z.setAttribute("data-index",String(ae)),Z.setAttribute("data-id",String(u.id)),Z.setAttribute("role",w?"option":"listitem"),w)Z.id=`${O}-item-${ae}`,Z.setAttribute("aria-posinset",String(ae+1)),Z.setAttribute("aria-setsize",String(i.totalItems));ge(Z,u,ae),Y={el:Z,lastItem:u},h.set(ae,Y),l.appendChild(Z)}else if(Y.lastItem!==u)Y.el.setAttribute("data-id",String(u.id)),Y.lastItem=u,ge(Y.el,u,ae);else if(d)d(ae,je);if(d)if(Y.el.classList.toggle(_,je.selected),Y.el.classList.toggle(se,je.focused),je.selected)Y.el.setAttribute("aria-selected","true");else Y.el.removeAttribute("aria-selected");fe(Y.el,ne);let pe=X*(D+T)+m,j=r.getOffset(ne)-oe+L;Y.el.style.transform=v?`translate(${Math.round(j)}px, ${Math.round(pe)}px)`:`translate(${Math.round(pe)}px, ${Math.round(j)}px)`}let M=r.getTotalSize();if(M!==x)x=M,a?.render.contentSize(M);i.prevRangeStart=k,i.prevRangeEnd=ie,n=oe,i.renderPending=!1;let K=te-ee+1;i.visibleCount=Math.min(K,i.capacity),i.startIndex=ee;for(let ae=0;ae<i.visibleCount;ae++){let u=ee+ae,ne=u/H|0;i.visibleIndices[ae]=u,i.visibleOffsets[ae]=r.getOffset(ne),i.visibleSizes[ae]=r.getSize(ne)}}function de(){if(i.destroyed)return;S(W()),x=-1,i.prevRangeStart=-1,i.prevRangeEnd=-1,i.renderPending=!0,A=!0,B()}return{name:"grid",priority:10,conflicts:["masonry","table","autosize"],setup(oe){o=oe.scroll,H=Math.max(1,Math.floor(e.columns)),T=e.gap??0,t=Sn({columns:e.columns,gap:T}),r=oe.sizes.cache,i=oe.getState(),s=oe.pool,a=oe,l=oe.dom.content,E=oe.template,v=oe.config.axis.primary==="x",O=oe.config.classPrefix,I=oe.config.overscan,R=oe.items.at.bind(oe),c=()=>oe.render.getStateFn(),V=`${O}-item ${O}-grid-item`,_=`${O}-item--selected`,se=`${O}-item--focused`,m=oe.config.crossPadStart,f=oe.config.crossAxisPadding,L=oe.config.startPadding,F=oe.config.mainAxisPadding,z=i.crossSize-f,g();let G=oe.sizes.rawSpec,N;Q=typeof G==="function";function ue(ie,ee,te,M){let K=ie*ee;if(K>=i.totalItems)return N+te;return G(K,M)+te}if(typeof G==="function"){let ee={columnWidth:t.getColumnWidth(z),columns:e.columns,gap:T};N=i.totalItems>0?G(0,ee):0,oe.sizes.setConfig((te)=>(ee.columnWidth=t.getColumnWidth(z),ue(te,e.columns,T,ee)),T)}else if(N=G,T>0)oe.sizes.setConfig(N+T,T);let Ie=null,q=r.rebuild;function k(){if(r.rebuild===Ie)return;q=r.rebuild,S=(ie)=>q(ie),Ie=(ie)=>{S(Math.ceil(ie/H))},r.rebuild=Ie}oe.hooks.method("_setSizeCacheBase",(ie)=>{q=ie,S=(ee)=>q(ee)}),k(),S(W()),oe.items.setTotalFn(()=>i.totalItems),oe.hooks.method("_getTotal",()=>i.totalItems),oe.dom.root.classList.add(`${O}--grid`),oe.render.setFn(B,de),oe.hooks.method("getGridLayout",()=>t),oe.hooks.method("_getRowGap",()=>t.gap),oe.hooks.method("updateGrid",(ie)=>{if(ie.columns!==void 0){if(!Number.isInteger(ie.columns)||ie.columns<1)throw Error("[vlist] updateGrid: columns must be >= 1")}if(ie.gap!==void 0&&ie.gap<0)throw Error("[vlist] updateGrid: gap must be >= 0");if(t.update(ie),ie.columns!==void 0)H=Math.max(1,Math.floor(ie.columns));if(ie.gap!==void 0)T=ie.gap;if(ie.gap!==void 0||ie.columns!==void 0){let ee=t.gap;if(typeof G==="function"){let te={columnWidth:t.getColumnWidth(z),columns:t.columns,gap:ee};oe.sizes.setConfig((M)=>(te.columnWidth=t.getColumnWidth(z),ue(M,t.columns,ee,te)),ee)}else oe.sizes.setConfig(N+ee,ee);k(),S(W())}if(ie.columns!==void 0)oe.nav.set({ud:t.columns});z=i.crossSize-f,g(),de()}),oe.scroll.setToIndexFn((ie,ee,te,M,K)=>{let ae=t.getRow(ie),u=W();if(u===0)return!1;let ne=Math.max(0,Math.min(ae,u-1)),X=r.getOffset(ne)+L,Y=r.getSize(ne),pe=i.containerSize,j=r.getTotalSize()+F,Z=Math.max(0,j-pe),ye;switch(ee){case"center":ye=X-(pe-Y)/2;break;case"end":ye=X-pe+Y;break;default:ye=X}ye=Math.max(0,Math.min(ye,Z)),tt(oe.scroll,ye,te,M,K)}),oe.nav.set({total:()=>i.totalItems,ud:e.columns,lr:1,scrollIndex:(ie)=>t.getRow(ie)}),oe.hooks.onDestroy(()=>{for(let[,ie]of h)ie.el.remove();h.clear(),w=null,b=-1,oe.dom.root.classList.remove(`${O}--grid`)})},hooks:{onResize(oe,G){let N=i.crossSize-f;if(Math.abs(N-z)<1)return;if(z=N,g(),Q){de();return}let ue=o.getRenderOrigin();for(let[Ie,q]of h){let k=Ie/H|0;fe(q.el,k),q.el.style.transform=re(Ie,ue)}}},destroy(){h.clear()}}}var In=(e)=>{let t=Math.max(1,Math.floor(e.columns)),r=e.gap??0,i=e.containerSize,o=e.crossOffset??0,n=e.mainOffset??0,s=0,a=[],w=()=>{let m=(t-1)*r;s=Math.max(0,(i-m)/t),a=Array(t);let f=s+r;for(let L=0;L<t;L++)a[L]=o+L*f};w();let b=[],l=0,E=[],R=(m,f)=>{if(m<=0)return l=0,b=[],[];let L=Array(t).fill(n),F=Array(t);for(let H=0;H<t;H++)F[H]=[];let h=Array(m);for(let H=0;H<m;H++){let T=0,D=L[0];for(let V=1;V<t;V++){let _=L[V];if(_<D)D=_,T=V}let d=f(H),P=L[T];h[H]={index:H,x:a[T],y:P,lane:T,size:d,crossSize:s},F[T].push(H),L[T]=P+d+r}b=F;let z=0;for(let H=0;H<t;H++){let T=L[H],D=T>0?T-r:0;if(D>z)z=D}return l=z,h},v=(m)=>{if(m.length===0)return l;if(l)return l;let f=Array(t).fill(0);for(let F of m){let h=F.y+F.size,z=f[F.lane];if(h>z)f[F.lane]=h}let L=0;for(let F=0;F<t;F++)if(f[F]>L)L=f[F];return L},O=(m,f,L)=>{if(m.length===0||L<=f)return E.length=0,E;if(b.length===0||b.length!==t)return I(m,f,L);E.length=0;for(let F=0;F<t;F++){let h=b[F],z=h.length;if(!z)continue;let H=0,T=z;while(H<T){let D=H+T>>>1,d=m[h[D]];if(d.y+d.size<=f)H=D+1;else T=D}for(let D=H;D<z;D++){let d=m[h[D]];if(d.y>=L)break;E.push(d)}}return E},I=(m,f,L)=>{E.length=0;for(let F of m)if(F.y+F.size>f&&F.y<L)E.push(F);return E};return{get columns(){return t},get gap(){return r},get containerSize(){return i},update:(m)=>{let f=!1;if(m.columns!==void 0){let L=Math.max(1,Math.floor(m.columns));if(L!==t)t=L,f=!0}if(m.gap!==void 0&&m.gap!==r)r=m.gap,f=!0;if(m.containerSize!==void 0&&m.containerSize!==i)i=m.containerSize,f=!0;if(m.crossOffset!==void 0&&m.crossOffset!==o)o=m.crossOffset,f=!0;if(m.mainOffset!==void 0&&m.mainOffset!==n)n=m.mainOffset,f=!0;if(f)w()},calculateLayout:R,getTotalSize:v,getVisibleItems:O}};var Tn=(e,t,r)=>{let i=Array.from(t).sort((s,a)=>s-a);if(i.length<=1)return;let o=[];for(let s=0;s<i.length;s++){let a=r(i[s]);if(a)o.push(a)}if(o.length<=1)return;let n=e.firstChild;for(let s=0;s<o.length;s++){let a=o[s];if(a===n)n=n.nextSibling;else e.insertBefore(a,n)}};var eo=(e=200)=>{let t=[];return{acquire:()=>{let n=t.pop();if(n)return n;let s=document.createElement("div");return s.setAttribute("role","option"),s},release:(n)=>{if(n.remove(),t.length<e)n.className="",n.textContent="",n.removeAttribute("style"),n.removeAttribute("data-index"),n.removeAttribute("data-id"),n.removeAttribute("data-lane"),t.push(n)},clear:()=>{t.length=0}}},to=1,xn=(e,t,r,i=!1,o,n,s,a,w=()=>0)=>{let b=eo(),l=new Map,E=new Set,R=0,v="",O=-1,I=!1,c={selected:!1,focused:!1},m=(p,x)=>(c.selected=p,c.focused=x,c),f=`${r}-item ${r}-masonry-item`,L=`${r}-group-header`,F=`${r}-item--selected`,h=`${r}-item--focused`,z=(p,x)=>{if(typeof x==="string")p.innerHTML=x;else p.replaceChildren(x);qe(p)},H=(p,x,A)=>{p.classList.toggle(F,x),p.classList.toggle(h,A)},T=(p,x)=>{let A=Math.round(x.y-P);if(i)p.style.transform=`translate(${A}px, ${Math.round(x.x)}px)`;else p.style.transform=`translate(${Math.round(x.x)}px, ${A}px)`},D=(p,x)=>{if(i)p.style.width=`${x.size}px`,p.style.height=`${x.crossSize}px`;else p.style.width=`${x.crossSize}px`,p.style.height=`${x.size}px`},d=(p,x,A,S,Q)=>{let g=b.acquire(),C=x.__groupHeader,U=m(S,Q);if(g.className=C?L:f,g.dataset.index=String(p),g.dataset.id=String(x.id),g.dataset.lane=String(A.lane),C)g.setAttribute("role","presentation"),g.removeAttribute("aria-selected"),g.removeAttribute("aria-setsize"),g.removeAttribute("aria-posinset"),g.removeAttribute("id");else if(I){if(g.setAttribute("role","option"),g.ariaSelected=String(S),n)g.id=`${n}-item-${p}`;if(o){let re=o();if(re!==O)O=re,v=String(re);g.setAttribute("aria-setsize",v);let fe=s?s(p):p+1;g.setAttribute("aria-posinset",String(fe))}}else g.setAttribute("role","listitem"),g.removeAttribute("aria-selected"),g.removeAttribute("aria-setsize"),g.removeAttribute("aria-posinset"),g.removeAttribute("id");D(g,A);let W=t(x,p,U);return z(g,W),H(g,S,Q),T(g,A),{element:g,lastItem:x,lastSelected:S,lastFocused:Q,lastY:A.y-P,absY:A.y,lastX:A.x,lastSize:A.size,lastCrossSize:A.crossSize,lastSeenFrame:R}},P=0,V=(p,x,A,S,Q=w())=>{if(P=Q,R++,I=typeof a==="function"?a():a===!0,I&&o){let C=o();if(C!==O){O=C,v=String(C);for(let U of l.values())if(U.element.getAttribute("role")==="option")U.element.setAttribute("aria-setsize",v)}}E.clear();for(let C=0;C<x.length;C++)E.add(x[C].index);let g=null;for(let C=0;C<x.length;C++){let U=x[C],W=U.index,re=p(W);if(!re)continue;let fe=A.has(re.id),ge=W===S,B=l.get(W);if(B){let de=B.lastItem!==re,oe=B.lastSelected!==fe,G=B.lastFocused!==ge,N=B.lastY!==U.y-P||B.lastX!==U.x,ue=B.lastSize!==U.size||B.lastCrossSize!==U.crossSize;if(de){let Ie=m(fe,ge),q=t(re,W,Ie);if(z(B.element,q),B.element.dataset.id=String(re.id),B.lastItem=re,!re.__groupHeader&&I){let ie=s?s(W):W+1;B.element.setAttribute("aria-posinset",String(ie))}}if(de||oe||G){if(H(B.element,fe,ge),I)B.element.ariaSelected=String(fe);else B.element.removeAttribute("aria-selected");B.lastSelected=fe,B.lastFocused=ge}if(ue)D(B.element,U),B.lastSize=U.size,B.lastCrossSize=U.crossSize;if(N)T(B.element,U),B.lastY=U.y-P,B.absY=U.y,B.lastX=U.x}else{let de=d(W,re,U,fe,ge);if(!g)g=document.createDocumentFragment();g.appendChild(de.element),l.set(W,de)}}if(g)e.appendChild(g);for(let[C,U]of l)if(E.has(C))U.lastSeenFrame=R;else if(R-U.lastSeenFrame>to)b.release(U.element),l.delete(C);else{let W=Math.round(U.absY-P);if(W!==U.lastY){U.lastY=W;let re=Math.round(U.lastX);U.element.style.transform=i?`translate(${W}px, ${re}px)`:`translate(${re}px, ${W}px)`}}},_=()=>{for(let p of l.values())b.release(p.element);l.clear(),e.innerHTML=""};return{render:V,getElement:(p)=>l.get(p)?.element,updateItemClasses:(p,x,A)=>{let S=l.get(p);if(!S)return;let Q=S.lastSelected!==x,g=S.lastFocused!==A;if(Q||g)H(S.element,x,A),S.lastSelected=x,S.lastFocused=A},sortDOM:()=>{Tn(e,l.keys(),(p)=>l.get(p)?.element)},clear:_,destroy:()=>{_(),b.clear()}}};var no=100,oo=new Set;function _t(e){if(!e.columns||e.columns<1)throw Error("[vlist] masonry: columns must be >= 1");let t,r=null,i=0,o,n,s=0,a=null,w,b,l,E=[],R=-1,v=-1,O=!0,I=-1,c=-1,m=0,f=0,L=0,F=0,h={columnWidth:0,columns:0,gap:0,containerWidth:0},z=[],H=(k)=>C?C(k):z[k],T=null,D=null,d=!1,P=null;function V(){if(d||!a)return;d=!0,T=a.hooks.get("_getSelectedIds")??null,D=a.hooks.get("_getFocusedIndex")??null}function _(){if(P!==null)return P;if(!a)return!1;return P=a.dom.content.getAttribute("role")==="listbox",P}let se=[],me=new Int32Array(0),le=[],p=null,x=null,A=null,S=null,Q=!1,g=!0,C=null,U=!1;function W(){if(U||!a)return;if(C=a.hooks.get("_getLoadedItem")??null,C)U=!0}function re(){if(Q||!a)return;if(p=a.hooks.get("_getItemLane")??null,x=a.hooks.get("_getItemY")??null,A=a.hooks.get("_getItemH")??null,S=a.hooks.get("_isGroupHeader")??null,p||S)Q=!0}function fe(){re();let k=t.columns,ie=!!p;if(ie){let ee=o.totalItems;se=Array(k);for(let te=0;te<k;te++)se[te]=[];if(me.length<ee)me=new Int32Array(ee);for(let te=0;te<ee;te++){if(S?.(te))continue;let M=p(te);if(M<0||M>=k)continue;me[te]=se[M].length,se[M].push(te)}}else{let ee=E.length;se=Array(k);for(let te=0;te<k;te++)se[te]=[];if(me.length<ee)me=new Int32Array(ee);for(let te=0;te<ee;te++){let M=E[te];me[te]=se[M.lane].length,se[M.lane].push(te)}}le=Array(k);for(let ee=0;ee<k;ee++){let te=se[ee],M=new Float64Array(te.length);for(let K=0;K<te.length;K++){let ae=te[K];if(ie&&x&&A){let u=x(ae),ne=A(ae);M[K]=u>=0?u+(ne>0?ne*0.5:0):0}else{let u=E[ae];M[K]=u.y+u.size*0.5}}le[ee]=M}}function ge(k,ie){let ee=k.length;if(!ee)return-1;let te=0,M=ee-1;while(te<M){let K=te+M>>1;if(k[K]<ie)te=K+1;else M=K}if(te>0&&Math.abs(k[te-1]-ie)<=Math.abs(k[te]-ie))return te-1;return te}function B(k,ie,ee){if(g)fe(),g=!1;let te=!!p,M,K;if(te){if(S?.(k))return k;if(M=p(k),M<0)return k;K=me[k]}else{let X=E[k];if(!X)return k;M=X.lane,K=me[k]}let ae=t.columns,u=se[M];switch(w?ie==="ArrowDown"?"ArrowRight":ie==="ArrowUp"?"ArrowLeft":ie==="ArrowRight"?"ArrowDown":ie==="ArrowLeft"?"ArrowUp":ie:ie){case"ArrowDown":if(K+1<u.length)return u[K+1];return k;case"ArrowUp":if(K>0)return u[K-1];return k;case"ArrowRight":{if(M>=ae-1)return k;let X=M+1,Y=se[X];if(!Y.length)return k;let pe=ge(le[X],le[M]?.[K]??0);return pe>=0?Y[pe]:k}case"ArrowLeft":{if(M<=0)return k;let X=M-1,Y=se[X];if(!Y.length)return k;let pe=ge(le[X],le[M]?.[K]??0);return pe>=0?Y[pe]:k}case"Home":return 0;case"End":{let X=se[ae-1];return X.length>0?X[X.length-1]:k}case"PageDown":{let X=o.containerSize,Y=te?null:E[k],pe=Y&&Y.size>0?Y.size:150,j=Math.max(1,Math.floor(X/pe)),Z=Math.min(K+j,u.length-1);return u[Z]}case"PageUp":{let X=o.containerSize,Y=te?null:E[k],pe=Y&&Y.size>0?Y.size:150,j=Math.max(1,Math.floor(X/pe)),Z=Math.max(0,K-j);return u[Z]}}return k}let de=null;function oe(){if(e.size)return(k)=>e.size(k,h);if(de!==null&&typeof de==="function")return(k)=>de(k,h);return(k)=>a.sizes.cache.getSize(k)}function G(){let k=t.columns,ie=t.gap;h.containerWidth=t.containerSize,h.columns=k,h.gap=ie,h.columnWidth=Math.max(0,(t.containerSize-(k-1)*ie)/k)}function N(){if(!a)return;G();let k=o.totalItems;E=t.calculateLayout(k,oe()),I=k,g=!0,ue()}function ue(){if(!a)return;let k=t.getTotalSize(E)+F;if(k===c)return;c=k,a.render.contentSize(k)}function Ie(){if(o.destroyed||!a||!r)return;if(o.totalItems!==I)N();if(O)c=-1,ue();V(),W();let k=n.getRenderOrigin(),ie=n.getPixelEquivalent(),ee=o.containerSize;if(!O&&ie===R&&ee===v&&k===s)return;if(R=ie,v=ee,O=!1,ee<=0||E.length===0)return;let te=Math.max(0,ie-l),M=ie+ee+l,K=t.getVisibleItems(E,te,M),ae=T?.()??oo,u=D?.()??-1;z=a.items.all(),r.render(H,K,ae,u,k),s=k;let ne=K.length,X=ne>0?K[0].index:0,Y=ne>0?K[ne-1].index:0;o.prevRangeStart=X,o.prevRangeEnd=Y,o.renderPending=!1;let pe=Math.min(ne,o.capacity);o.visibleCount=pe,o.startIndex=X;for(let j=0;j<pe;j++){let Z=K[j];o.visibleIndices[j]=Z.index,o.visibleOffsets[j]=Z.y,o.visibleSizes[j]=Z.size}}function q(){if(o.destroyed)return;c=-1,N(),o.prevRangeStart=-1,o.prevRangeEnd=-1,o.renderPending=!0,O=!0,Ie()}return{name:"masonry",priority:10,conflicts:["grid","table"],validateConfig(k){if(k.reverse)throw Error("[vlist] masonry: cannot be combined with reverse mode")},setup(k){i++,n=k.scroll,a=k,o=k.getState(),de=k.sizes.rawSpec,w=k.config.axis.primary==="x",b=k.config.classPrefix,l=k.config.overscan*no,m=k.config.crossAxisPadding,f=k.config.crossPadStart,L=k.config.startPadding,F=k.config.endPadding;let ie=o.crossSize-m;t=In({columns:e.columns,gap:e.gap??0,containerSize:ie,crossOffset:f,mainOffset:L}),r=xn(k.dom.content,k.template,b,w,()=>o.totalItems,b,void 0,_,n.getRenderOrigin),k.dom.root.classList.add(`${b}--masonry`);let ee=bt(k);k.render.setFn(Ie,q),N(),k.hooks.method("getMasonryLayout",()=>t),k.hooks.method("updateMasonry",(M)=>{if(M.columns!==void 0&&M.columns<1)throw Error("[vlist] updateMasonry: columns must be >= 1");if(M.gap!==void 0&&M.gap<0)throw Error("[vlist] updateMasonry: gap must be >= 0");let K={};if(M.columns!==void 0)K.columns=M.columns;if(M.gap!==void 0)K.gap=M.gap;t.update(K),r?.clear(),q()}),k.scroll.setToIndexFn((M,K,ae,u,ne)=>{let X=E[M];if(!X)return!1;let Y=o.containerSize,pe=t.getTotalSize(E)+F,j=Math.max(0,pe-Y),Z=ee(),ye=X.y-Z.start;if(K==="center")ye=X.y-Z.start-(Y-Z.start-Z.end-X.size)/2;else if(K==="end"){if(ye=X.y-Y+X.size+Z.end,M>=o.totalItems-1&&X.y+X.size>j)ye=j+Z.end}let Te=Z.start>0?-Z.start:0;ye=Math.max(Te,Math.min(ye,j+Z.end)),tt(k.scroll,ye,ae,u,ne)}),k.hooks.method("_scrollItemIntoView",(M)=>{let K=E[M];if(!K)return;let ae=n.getPixelEquivalent(),u=o.containerSize,ne=t.getTotalSize(E)+F,X=Math.max(0,ne-u),Y=ee(),pe=L+Y.start,j=F+Y.end,Z=K.y,ye=Z+K.size,Te=Y.start>0?-Y.start:0;if(Z-pe<ae)k.scroll.to(Math.max(Te,Z-pe));else if(ye+j>ae+u){let Ce=se[t.columns-1];if(Ce&&Ce.length>0&&M===Ce[Ce.length-1]&&Z>=X)k.scroll.to(X+Y.end);else k.scroll.to(Math.min(ye+j-u,X+Y.end))}}),k.nav.set({total:()=>o.totalItems,navigate:B});let te=r;k.hooks.onDestroy(()=>{if(i=Math.max(0,i-1),te?.destroy(),r===te)r=null;if(i===0)P=null;k.dom.root.classList.remove(`${b}--masonry`)})},hooks:{onResize(k,ie){if(!t||!a)return;let ee=o.crossSize-m;if(Math.abs(ee-t.containerSize)<1)return;t.update({containerSize:ee}),r?.clear(),q()},onIdle(){r?.sortDOM()}},destroy(){if(i>0)return;r?.destroy(),r=null,E=[],P=null,a=null}}}var st={key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0},Ht=(e,t)=>{let r=0,i=e.length-1;while(r<i){let o=r+i+1>>>1;if(e[o].headerLayoutIndex<=t)r=o;else i=o-1}return r},Ln=(e,t)=>{let r=0,i=e.length-1;while(r<i){let o=r+i+1>>>1;if(e[o].firstDataIndex<=t)r=o;else i=o-1}return r},Cn=(e,t,r)=>{if(e===0)return[];let i=[],o=null,n=0,s=0;for(let a=0;a<e;a++){let w=r?.(a);if(!w)continue;let b=t(a,w);if(o===null)o=b,n=0;else if(b!==o){let l=a-n;i.push({key:o,groupIndex:i.length,headerLayoutIndex:s,firstDataIndex:n,count:l}),s=s+1+l,o=b,n=a}}if(o!==null)i.push({key:o,groupIndex:i.length,headerLayoutIndex:s,firstDataIndex:n,count:e-n});return i};var En=(e,t,r)=>{let i=Cn(e,t.getGroupForIndex,r),o=e+i.length,n=t.header?.height??t.header?.width??t.headerHeight,s=typeof n==="number"?(I)=>n:(I)=>{let c=i[I];if(!c)return 0;return n(c.key,I)},a={type:"header",group:st},w={type:"item",dataIndex:0,group:st};return{get totalEntries(){return o},get groupCount(){return i.length},get groups(){return i},getEntry:(I)=>{if(i.length===0)return w.dataIndex=I,w.group=st,w;let c=Ht(i,I),m=i[c];if(I===m.headerLayoutIndex)return a.group=m,a;let f=I-m.headerLayoutIndex-1;return w.dataIndex=m.firstDataIndex+f,w.group=m,w},layoutToDataIndex:(I)=>{if(i.length===0)return I;let c=Ht(i,I),m=i[c];if(I===m.headerLayoutIndex)return-1;let f=I-m.headerLayoutIndex-1;return m.firstDataIndex+f},dataToLayoutIndex:(I)=>{if(i.length===0)return I;let c=Ln(i,I),m=i[c],f=I-m.firstDataIndex;return m.headerLayoutIndex+1+f},getGroupAtLayoutIndex:(I)=>{if(i.length===0)return st;let c=Ht(i,I);return i[c]},getGroupAtDataIndex:(I)=>{if(i.length===0)return st;let c=Ln(i,I);return i[c]},getHeaderHeight:s,rebuild:(I,c)=>{i=Cn(I,t.getGroupForIndex,c??r),o=I+i.length}}};var Vt=(e,t,r,i,o=0)=>{let n=r?"width":"height",s=document.createElement("div");return s.className=`${t}-sticky-header`,s.setAttribute("role","presentation"),s.setAttribute("aria-hidden","true"),s.style.cssText="z-index:5;pointer-events:none;overflow:hidden;"+(r?`position:absolute;top:0;bottom:0;left:${o||0}px`:`position:relative;top:${o||0}px`),s.style[n]=`${i}px`,e.insertBefore(s,e.firstChild),s},Pn=(e,t,r,i,o,n=!1,s=0,a,w)=>{let b=n?"width":"height",l=n?"height":"width",E=n?"X":"Y",R=(B,de)=>{B.style[b]=`${de}px`},v=a??Vt(e,o,n,0,s),O=()=>{let B=document.createElement("div");return B.className="sticky-group",B.style.position="absolute",B.style.willChange="transform",B.style[l]="100%",B},I=O(),c=O();v.append(I,c);let m=I,f=c,L=t.groups,F=[],h=[],z=[],H=0,T=()=>{L=t.groups,H=L.length,F=Array(H),h=Array(H),z=Array(H);for(let B=0;B<H;B++)F[B]=w?w(L[B].headerLayoutIndex):r.getOffset(L[B].headerLayoutIndex),h[B]=t.getHeaderHeight(B),z[B]=h[B]};T();let D=-1,d=0,P=0,V=-1,_=!1,se=0,me=!1,le=(B,de)=>{i(B,de);let oe=h[de];return R(B,oe),oe},p=(B)=>{B.replaceChildren(),B.style.transform=""},x=(B)=>{if(B===D)return;if(D=B,d=0,P=0,B<0||B>=H){p(m);return}d=le(m,B),P=z[B],R(v,d),m.style.transform=""},A=(B)=>{if(B===se)return;se=B;let de=Math.round(B);m.style.transform=`translate${E}(${de}px)`,f.style.transform=`translate${E}(${de+d}px)`},S=()=>{se=0,m.style.transform="",f.style.transform=""},Q=()=>{if(!me)return;let B=m;m=f,f=B,D=V,d=D>=0?h[D]:0,P=D>=0?z[D]:0,R(v,d),p(f),V=-1,me=!1,S()},g=()=>{if(!me)return;p(f),V=-1,me=!1,S()},C=!!a,U=()=>{if(_)return;if(_=!0,C)v.style.visibility="";else v.style.display=""},W=()=>{if(!_)return;if(_=!1,C)v.style.visibility="hidden";else v.style.display="none";p(m),D=-1,d=0,P=0,g()},re=(B)=>{if(H===0){if(me)g();if(!_)U();x(-1);return}if(B<F[0]){W();return}let de=0,oe=H-1;while(de<oe){let N=de+oe+1>>>1;if(F[N]+z[N]<=B)de=N;else oe=N-1}if(!_)U();x(de);let G=de+1;if(G<H){let N=F[G]-B;if(N<=0&&N>-P){if(V!==G||!me)V=G,le(f,G),me=!0;let ue=P>0?N/P*d:N;A(ue)}else if(N<=-P){if(me)Q()}else if(me)g()}else if(me)g()},fe=()=>{T();let B=D;if(D=-1,d=0,P=0,B>=0)x(B)},ge=()=>{v.remove(),D=-1,d=0,P=0,V=-1,_=!1,me=!1};if(!a)v.style.display="none";return{update:re,refresh:fe,show:U,hide:W,destroy:ge}};var Je={selected:!1,focused:!1};function Ft(e){if(!e.getGroupForIndex)throw Error("[vlist] groups: getGroupForIndex is required");let t=e.header?.height??e.header?.width??e.headerHeight;if(t==null||typeof t==="number"&&t<=0)throw Error("[vlist] groups: header height/width must be a positive number or function");let r=e.header?.template??e.headerTemplate;if(!r)throw Error("[vlist] groups: header.template is required");let i=r,o,n=null,s,a,w,b,l,E=null,R,v,O,I=null,c,m,f,L=null,F,h,z=null,H=null,T=0,D=0,d=0,P=0,V=0,_=!1,se=null,me=null,le=new Map,p=new Set,x=new Map,A=-1,S=-1,Q=0,g=!0,C=-1,U=0,W=null,re;function fe(){return o.totalEntries}function ge(){let u=a.totalItems;if(u===C)return;let ne=C>0;C=u,o.rebuild(u,I??O),re(o.totalEntries),N();let X=de?ue():s.getTotalSize();if(E?.(X),n)n.refresh(),n.update(w.getPixelEquivalent());if(ne)k();let Y=z?.("_scrollbar:getInstance");if(Y)Y()?.updateBounds(X,a.containerSize)}let B=0,de=null,oe=null,G=null;function N(){if(T<=0){de=null,oe=null;return}B=((a.crossSize||l.clientWidth)-P-(T-1)*D)/T,de=new Map;let X=o.totalEntries,Y=Array(X),pe=0;if(_){let j=se??me??((Le)=>s.getSize(Le)),Z=new Float64Array(T),ye=[],Te=0,Ce=-1;for(let Le=0;Le<X;Le++){let Pe=o.getEntry(Le);if(Pe.type==="header"){let Re=0;for(let xe=0;xe<T;xe++)if(Z[xe]>Re)Re=Z[xe];if(Ce>=0)ye[Ce]=Te+Re;Te+=Re;let he=s.getSize(Le);de.set(Le,{col:-1,rowY:Te}),Y[pe++]=[Le,Te,Te+he],Te+=he,Z.fill(0),Ce=Pe.group.groupIndex}else{let Re=0,he=Z[0];for(let Se=1;Se<T;Se++)if(Z[Se]<he)he=Z[Se],Re=Se;let xe=j(Pe.dataIndex),Ae=Te+Z[Re];de.set(Le,{col:Re,rowY:Ae,h:xe}),Y[pe++]=[Le,Ae,Ae+xe],Z[Re]=Z[Re]+xe+D}}if(Ce>=0){let Le=0;for(let Pe=0;Pe<T;Pe++)if(Z[Pe]>Le)Le=Z[Pe];ye[Ce]=Te+Le}G=ye}else{G=null;let j=0,Z=0,ye=0;for(let Te=0;Te<X;Te++)if(o.getEntry(Te).type==="header"){if(Z>0&&ye>0)j+=ye;let Le=s.getSize(Te);de.set(Te,{col:-1,rowY:j}),Y[pe++]=[Te,j,j+Le],j+=Le,Z=0,ye=0}else{let Le=Z%T,Pe=s.getSize(Te);if(Le===0){if(Z>0&&ye>0)j+=ye+D;ye=Pe}else if(Pe>ye)ye=Pe;de.set(Te,{col:Le,rowY:j}),Y[pe++]=[Te,j,j+Pe],Z++}}Y.length=pe,oe=Y}function ue(){if(!de||de.size===0)return s.getTotalSize();let u=o.totalEntries;if(_)return G?.[G.length-1]??0;let ne=0;for(let X=u-1;X>=0;X--){let Y=de.get(X);if(Y){ne=Y.rowY+(Y.h??s.getSize(X));break}if(o.getEntry(X).type==="header"){ne=s.getOffset(X)+s.getSize(X);break}}return ne}function Ie(u,ne){if(de){let Y=de.get(u);if(Y){let pe=Y.col<0?0:d+Y.col*(B+D),j=Y.rowY-ne;if(c)return`translate(${Math.round(j)}px, ${Math.round(pe)}px)`;return`translate(${Math.round(pe)}px, ${Math.round(j)}px)`}}let X=s.getOffset(u)-ne;if(c)return`translate(${Math.round(X)}px, 0)`;return`translate(0, ${Math.round(X)}px)`}function q(u,ne){let X=de?.get(ne);if(X){let pe=X.h??s.getSize(ne);if(X.col<0)if(c)u.style.width=`${pe}px`,u.style.height="";else u.style.height=`${pe}px`,u.style.width="100%";else if(c)u.style.width=`${pe}px`,u.style.height=`${B}px`;else u.style.height=`${pe}px`,u.style.width=`${B}px`;return}let Y=s.getSize(ne);if(c)u.style.width=`${Y}px`;else u.style.height=`${Y}px`}function k(){le.forEach((u)=>{u.remove();let ne=u.getAttribute("data-id");if(ne)x.set(ne,u);else b.release(u)}),le.clear(),p.clear()}function ie(){if(x.size>0)x.forEach((u)=>b.release(u)),x.clear()}function ee(u,ne,X,Y){if(H===null)H=l.getAttribute("role")==="listbox";if(ne.type==="header"){let Ce=`__group_header_${ne.group.groupIndex}`;if(u.getAttribute("data-id")===Ce)return!0;if(u.className=h,u.setAttribute("role","presentation"),u.removeAttribute("aria-selected"),u.setAttribute("data-id",Ce),c&&n&&ne.group.groupIndex===0)u.style.display="none";else{u.style.display="";let Le=i(ne.group.key,ne.group.groupIndex);if(typeof Le==="string")u.innerHTML=Le;else u.innerHTML="",u.appendChild(Le)}return!0}let pe=ne.dataIndex,j=O(pe);if(!j)return u.innerHTML="",!1;let Z=j._isPlaceholder===!0,ye=String(j.id);if(!Z&&u.getAttribute("data-id")===ye){if(H)u.id=`${m}-item-${Y}`,u.setAttribute("aria-posinset",String(pe+1)),u.setAttribute("aria-setsize",String(a.totalItems));return!0}if(u.className=F,u.setAttribute("role",H?"option":"listitem"),u.setAttribute("data-id",ye),H)u.id=`${m}-item-${Y}`,u.setAttribute("aria-posinset",String(pe+1)),u.setAttribute("aria-setsize",String(a.totalItems));if(Z)u.classList.add(`${m}-item--placeholder`);if(X)X(Y,Je);else Je.selected=!1,Je.focused=!1;let Te=v(j,pe,Je);if(typeof Te==="string")u.innerHTML=Te;else u.innerHTML="",u.appendChild(Te);return qe(u),!Z}let te=0;function M(){if(T<=0)return;let u=a.crossSize;if(u===te)return;te=u,N();let ne=ue();if(E?.(ne),n)n.refresh(),n.update(w.getPixelEquivalent());g=!0}function K(){if(a.destroyed)return;ge(),M();let u=w.getPixelEquivalent(),ne=a.containerSize,X=w.getRenderOrigin(),Y=X!==Q;if(!g&&u===A&&ne===S&&!Y)return;A=u,S=ne;let pe=g;g=!1;let j=fe();if(ne<=0||j===0){if(le.size>0)le.forEach((Se)=>{Se.remove(),b.release(Se)}),le.clear(),p.clear();return}let Z,ye;if(oe){let Se=oe,ve=Se.length,ze=0,ke=ve-1;while(ze<ke){let _e=ze+ke>>>1;if(Se[_e][2]<=u)ze=_e+1;else ke=_e}let Fe=ze;ke=ve-1;while(ze<ke){let _e=ze+ke+1>>>1;if(Se[_e][1]>=u+ne)ke=_e-1;else ze=_e}let $e=ze,De=Se[Fe][0],Be=Se[$e][0];for(let _e=De-1;_e>=0;_e--)if(o.getEntry(_e).type==="header"){De=_e;break}let Ue=f*T;Z=Math.max(0,De-Ue),ye=Math.min(j-1,Be+Ue)}else{let Se=s.indexAtOffset(u),ve=s.indexAtOffset(u+ne);if(ve<j-1)ve++;Se=Math.max(0,Se),ve=Math.min(j-1,Math.max(0,ve)),Z=Math.max(0,Se-f),ye=Math.min(j-1,ve+f)}if(Z===a.prevRangeStart&&ye===a.prevRangeEnd&&!a.renderPending&&!Y)return;Q=X,le.forEach((Se,ve)=>{if(ve<Z||ve>ye)Se.remove(),b.release(Se),le.delete(ve),p.delete(ve)});let Te=L?.()??null,Ce=Te?`${m}-item--selected`:"",Le=Te?`${m}-item--focused`:"",Pe=null;for(let Se=Z;Se<=ye;Se++){let ve=le.get(Se),ze=!1;if(ve===void 0){let ke=o.getEntry(Se);ze=ke.type==="header";let Fe;if(ke.type==="header")Fe=`__group_header_${ke.group.groupIndex}`;else{let De=O(ke.dataIndex);if(De&&De._isPlaceholder!==!0)Fe=String(De.id)}if(Fe!==void 0){let De=x.get(Fe);if(De)x.delete(Fe),ve=De}if(!ve)ve=b.acquire();if(ve.setAttribute("data-index",String(Se)),ee(ve,ke,Te,Se))p.delete(Se);else p.add(Se);if(q(ve,Se),ve.style.transform=Ie(Se,X),le.set(Se,ve),!Pe)Pe=document.createDocumentFragment();Pe.appendChild(ve)}else if(pe&&p.has(Se)){let ke=o.getEntry(Se);if(ke.type==="item")if(ee(ve,ke,Te,Se))p.delete(Se);else p.add(Se)}else if(ze=ve.classList.contains(h),pe)q(ve,Se),ve.style.transform=Ie(Se,X);else if(Y)ve.style.transform=Ie(Se,X);if(!ze&&Te)if(Te(Se,Je),ve.classList.toggle(Ce,Je.selected),ve.classList.toggle(Le,Je.focused),Je.selected)ve.setAttribute("aria-selected","true");else ve.removeAttribute("aria-selected")}if(Pe)l.appendChild(Pe);ie();let Re=de?ue():s.getTotalSize();E?.(Re),a.prevRangeStart=Z,a.prevRangeEnd=ye,a.renderPending=!1;let he=0,xe=0,Ae=!1;for(let Se=Z;Se<=ye&&he<a.capacity;Se++){let ve=o.getEntry(Se);if(ve.type==="item"){if(!Ae)xe=ve.dataIndex,Ae=!0;a.visibleIndices[he]=ve.dataIndex,a.visibleOffsets[he]=s.getOffset(Se),a.visibleSizes[he]=s.getSize(Se),he++}}a.visibleCount=he,a.startIndex=xe}function ae(){if(a.destroyed)return;M();let u=W?.()??0;if(u!==U){U=u;let ne=o.groups,X=ne.length;o.rebuild(C,I??O);let Y=o.groups,pe=Y.length!==X;if(!pe){for(let j=0;j<X;j++)if(Y[j].headerLayoutIndex!==ne[j].headerLayoutIndex){pe=!0;break}}if(pe){re(o.totalEntries),N();let j=de?ue():s.getTotalSize();if(E?.(j),n)n.refresh(),n.update(w.getPixelEquivalent());let Z=1/0,ye=Math.min(X,Y.length);for(let Ce=0;Ce<ye;Ce++)if(Y[Ce].headerLayoutIndex!==ne[Ce].headerLayoutIndex){Z=Math.min(Y[Ce].headerLayoutIndex,ne[Ce].headerLayoutIndex);break}if(Y.length>X&&ye<Y.length)Z=Math.min(Z,Y[ye].headerLayoutIndex);else if(X>Y.length&&ye<X)Z=Math.min(Z,ne[ye].headerLayoutIndex);if(Z<=a.prevRangeEnd)k();let Te=z?.("_scrollbar:getInstance");if(Te)Te()?.updateBounds(j,a.containerSize)}}a.prevRangeStart=-1,a.prevRangeEnd=-1,a.renderPending=!0,g=!0,K()}return{name:"groups",priority:11,setup(u){w=u.scroll,s=u.sizes.cache,a=u.getState(),b=u.pool,l=u.dom.content,E=u.render.contentSize.bind(u),R=u.dom.root,v=u.template,c=u.config.axis.primary==="x",m=u.config.classPrefix,f=u.config.overscan,V=u.config.mainAxisPadding,O=u.items.at.bind(u),L=()=>u.render.getStateFn(),z=u.hooks.get.bind(u),H=null,F=`${m}-item`,h=`${m}-group-header`;let ne=z?.("getGridLayout"),X=z?.("getMasonryLayout");if(ne){let he=ne();T=he.columns,D=he.gap,d=u.config.crossPadStart,P=u.config.crossAxisPadding}else if(X){let he=X();T=he.columns,D=he.gap,d=u.config.crossPadStart,P=u.config.crossAxisPadding,_=!0;let xe=u.sizes.rawSpec;if(typeof xe==="function")se=(Ae)=>xe(Ae,{columnWidth:B})}queueMicrotask(()=>{let he=z?.("_getLoadedItem");if(he)I=he;let xe=z?.("_getLoadedCount");if(xe)W=xe});let Y=a.totalItems;o=En(Y,e,I??O),C=Y;let pe=typeof t==="number"?(he)=>t:(he)=>{let xe=o.groups[he];if(!xe)return 0;return t(xe.key,he)},j=s.getSize;me=j;let Z=(he)=>{let xe=o.getEntry(he);if(xe.type==="header"){if(e.sticky!==!1&&xe.group.groupIndex===0)return 0;return pe(xe.group.groupIndex)}return j(xe.dataIndex)};u.sizes.setConfig(Z,u.config.gap);let ye=!1,Te=-1;if(u.hooks.method("_setSizeCacheBase",(he)=>{re=he}),re=s.rebuild,s.rebuild=(he)=>{if(ye){if(!W)W=z?.("_getLoadedCount")??null;let xe=W?.()??0;if(he!==C||xe!==Te){if(C=he,Te=xe,!I)I=z?.("_getLoadedItem")??null;if(o.rebuild(he,I??((Ae)=>u.items.all()[Ae])),a.totalItems=o.totalEntries,n)n.refresh(),n.update(w.getPixelEquivalent())}}re(o.totalEntries)},s.rebuild(o.totalEntries),N(),u.items.setTotalFn(()=>o.totalEntries-o.groupCount),R.classList.add(`${m}--grouped`),e.sticky!==!1){let he=(ve,ze)=>{let ke=o.groups[ze];if(!ke)return;let Fe=i(ke.key,ze);if(typeof Fe==="string")ve.innerHTML=Fe;else ve.replaceChildren(Fe)},xe=o.getHeaderHeight(0),Ae=Vt(R,m,c,xe),Se=T>0?(ve)=>{let ze=de?.get(ve);return ze?ze.rowY:s.getOffset(ve)}:void 0;if(n=Pn(R,o,s,he,m,c,0,Ae,Se),n.update(w.getPixelEquivalent()),!c)u.dom.viewport.style.height=`calc(100% - ${xe}px)`;else u.dom.viewport.style.width=`calc(100% - ${xe}px)`,u.dom.viewport.style.marginLeft=`${xe}px`}let Ce=!!z?.("_updateTableForGroups");if(ye=Ce,Ce)a.totalItems=o.totalEntries,queueMicrotask(()=>{let he=z?.("_getItem")??null,xe=u.items.all.bind(u),Ae=(ve)=>{let ze=o.getEntry(ve);if(ze.type==="header")return{id:`__group_header_${ze.group.groupIndex}`,__groupHeader:!0,groupKey:ze.group.key,groupIndex:ze.group.groupIndex};return he?he(ze.dataIndex):xe()[ze.dataIndex]};u.items.setGetFn(Ae),u.hooks.method("_getItemAtLayout",Ae);let Se=z?.("_updateTableForGroups");if(Se)Se((ve)=>!!ve.__groupHeader,i);u.render.force()});else u.render.setFn(K,ae);if(u.hooks.method("getGroupLayout",()=>o),u.hooks.method("_getTotal",()=>o.totalEntries-o.groupCount),u.hooks.method("_dataToLayoutIndex",(he)=>o.dataToLayoutIndex(he)),u.hooks.method("_layoutToDataIndex",(he)=>o.layoutToDataIndex(he)),!ye)u.hooks.method("_getRenderedElement",(he)=>le.get(he)??null);u.hooks.method("_isGroupHeader",(he)=>o.getEntry(he).type==="header"),u.hooks.method("_getItemLane",(he)=>{let xe=de?.get(he);return xe?xe.col:-1}),u.hooks.method("_getItemY",(he)=>{let xe=de?.get(he);return xe?xe.rowY:-1}),u.hooks.method("_getItemH",(he)=>de?.get(he)?.h??-1);let Le=u.config.startPadding,Pe=V-Le,Re=bt(u);u.hooks.method("_scrollItemIntoView",(he)=>{if(he<0)return;let xe=de?.get(he),Ae=xe?xe.rowY:s.getOffset(he),Se=xe?.h??s.getSize(he),ve=a.containerSize,ze=w.getPixelEquivalent(),ke=Re(),Fe=Le+ke.start,$e=Pe+ke.end,De=ke.start>0?-ke.start:0;if(Ae<ze+Fe)u.scroll.to(Math.max(De,Ae-Fe));else if(Ae+Se+$e>ze+ve)u.scroll.to(Ae+Se+$e-ve)}),u.scroll.setToIndexFn((he,xe,Ae,Se,ve)=>{let ze=o.dataToLayoutIndex(he),ke=o.totalEntries;if(ke===0)return!1;let Fe=Math.max(0,Math.min(ze,ke-1)),$e=a.containerSize,De=de?.get(Fe),Be=De?De.rowY:s.getOffset(Fe),Ue=De?De.h??s.getSize(Fe):s.getSize(Fe),_e=de?ue()+V:s.getTotalSize(),ce=Math.max(0,_e-$e),Ee=Re(),we=(de?V:0)+Ee.end,He=Be+Ue;if(_&&G){let J=o.getEntry(Fe).group.groupIndex,y=G[J];if(y!==void 0)He=y}let Ve;switch(xe){case"center":Ve=Be-Ee.start-($e-Ee.start-Ee.end-Ue)/2;break;case"end":Ve=He-$e+we;break;default:Ve=Be-Ee.start}let Ne=Ee.start>0?-Ee.start:0;Ve=Math.max(Ne,Math.min(Ve,ce+Ee.end)),tt(u.scroll,Ve,Ae,Se,ve)}),u.hooks.onDestroy(()=>{for(let[,he]of le)he.remove();if(le.clear(),p.clear(),n)n.destroy(),n=null;R.classList.remove(`${m}--grouped`)})},hooks:{onAfterScroll(u,ne){if(n)n.update(u)},onResize(u,ne){if(T<=0)return;re(o.totalEntries),te=a.crossSize,N();let X=ue();if(E?.(X),n)n.refresh(),n.update(w.getPixelEquivalent());g=!0,K()}},destroy(){if(n)n.destroy(),n=null;le.clear(),p.clear(),x.clear()}}}function Qe(e,t,r,i){if(i<=0)return 0;let o=i-1;if(r<=1)return e<0?0:e>o?o:e;let n=(t%r+r)%r;if(e<0)return n;if(e>o){let s=Math.floor(o/r)*r;return Math.min(s+n,o)}return e}var Mn=(e,t,r)=>{if(String(r).startsWith(Ke))return!1;let i=Ke+t;if(e.has(i))return e.delete(i),e.add(r),!0;return!1},zn=(e)=>({selected:new Set(e??[]),focusedIndex:-1,focusVisible:!1});function nt(e,t,r,i){if(r===0)return;let o=i?-t:t,n=Math.abs(o);if(n>1&&e.focusedIndex>=0){e.focusedIndex=Qe(e.focusedIndex+o,e.focusedIndex,n,r);return}let s=e.focusedIndex+o;if(s<0)s=0;if(s>=r)s=r-1;e.focusedIndex=s}function vt(e){return Array.from(e)}var ro={preventScroll:!0};function Ot(e){let t=e?.mode??"single",r=e?.followFocus??!1,i=e?.focusOnClick??!1,o=e?.keyboard??!0,n,s,a,w,b,l,E,R,v=-1,O=new Map,I=null,c=null,m=null,f=null,L,F,h=!1;function z(g){if(h)return;h=!0,I=g.hooks.get("_layoutToDataIndex")??null,c=g.hooks.get("_dataToLayoutIndex")??null,m=g.hooks.get("_isGroupHeader")??null,f=g.hooks.get("_scrollItemIntoView")??null,T=g.hooks.get("_getLoadedItem")??null;let C=g.hooks.get("_getTotal");if(C)F=C;let U=g.hooks.get("getGroupLayout");if(U){let W=U();L=()=>W.totalEntries}}let H=(g)=>I?I(g):g,T=null,D=(g)=>{if(T)return T(g);return s()[g]},d=(g)=>{let C=H(g);return C>=0?D(C):void 0},P=(g,C,U)=>{if(!m)return g;let W=g;while(W>=0&&W<U){if(!m(W))return W;W+=C}W=g-C;while(W>=0&&W<U){if(!m(W))return W;W-=C}return g};function V(g,C){if(t==="single")n.selected.clear(),O.clear();if(n.selected.add(g),C)O.set(g,C)}function _(g,C){if(n.selected.has(g))n.selected.delete(g),O.delete(g);else V(g,C)}function se(){n.selected.clear(),O.clear()}function me(g){n.selected.delete(g),O.delete(g)}function le(g,C){let U=Math.min(g,C),W=Math.max(g,C);for(let re=U;re<=W;re++){if(m?.(re))continue;let fe=d(re);if(fe)n.selected.add(fe.id),O.set(fe.id,fe);else if(T){let ge=H(re);if(ge>=0)n.selected.add(Ke+ge)}}}function p(){let g=L();for(let C=0;C<g;C++){if(m?.(C))continue;let U=d(C);if(U)n.selected.add(U.id),O.set(U.id,U);else if(T){let W=H(C);if(W>=0)n.selected.add(Ke+W)}}}function x(){if(n.selected.size===0)return[];if(O.size>=n.selected.size){let W=[];for(let re of n.selected){let fe=O.get(re);if(fe)W.push(fe)}if(W.length===n.selected.size)return W}let g=[],C=new Set(n.selected),U=L();for(let W=0;W<U&&C.size>0;W++){if(m?.(W))continue;let re=d(W);if(re&&C.has(re.id))g.push(re),O.set(re.id,re),C.delete(re.id)}return g}function A(){a(),w.emit("selection:change",{selected:vt(n.selected),items:x()})}let S=null,Q=-1;return{name:"selection",priority:50,setup(g){n=zn(e?.initial),s=g.items.all.bind(g),a=g.render.force.bind(g),w=g.emitter,b=g.dom;let C=g.config;if(l=g.sizes.cache,E=g.getState(),R=g.scroll.to.bind(g),L=()=>E.totalItems,F=()=>E.totalItems,t==="none"){g.hooks.method("select",()=>{}),g.hooks.method("deselect",()=>{}),g.hooks.method("toggleSelect",()=>{}),g.hooks.method("selectAll",()=>{}),g.hooks.method("clearSelection",()=>{}),g.hooks.method("getSelected",()=>[]),g.hooks.method("getSelectedItems",()=>[]),g.hooks.method("selectNext",()=>{}),g.hooks.method("selectPrevious",()=>{}),g.hooks.method("_seedSelection",()=>{}),g.hooks.method("_getFocusedId",()=>{return}),g.hooks.method("_focusById",()=>{});return}g.dom.enableListbox();let U=C.classPrefix;g.render.setStateFn((G,N)=>{if(z(g),n.selected.size>0){let ue=H(G),Ie=ue>=0?d(G):void 0,q=Ie?.id;if(q!==void 0)if(n.selected.has(q))N.selected=!0;else if(Mn(n.selected,ue,q))N.selected=!0,O.delete(Ke+ue),O.set(q,Ie);else N.selected=!1;else N.selected=T!==null&&ue>=0&&n.selected.has(Ke+ue)}else N.selected=!1;N.focused=n.focusVisible&&n.focusedIndex===G}),g.hooks.method("_getSelectedIds",()=>n.selected),g.hooks.method("_getFocusedIndex",()=>n.focusVisible?n.focusedIndex:-1),b.root.classList.add(`${U}--selectable`);let W=(G)=>{S=null,Q=-1;let N=G.target.closest("[data-index]");if(!N)return!1;let ue=parseInt(N.dataset.index??"-1",10);if(ue<0)return!1;if(m?.(ue))return!1;if(H(ue)<0)return!1;let q=d(ue);if(!q)return!1;return S=q,Q=ue,!0},re=0,fe=(G)=>{if(G<0)return;if(g.scroll.cancel(),f){f(G);return}if(!re){let M=g.hooks.get("_getRowGap");re=M?M():0}let N=g.nav.get(),ue=N.scrollIndex?N.scrollIndex(G):G,Ie=l.getOffset(ue),q=l.getSize(ue)-re,k=E.containerSize,ie=g.scroll.getPixelEquivalent(),{startPadding:ee,endPadding:te}=C;if(Ie<ie)R(Ie);else if(ee+Ie+q+te>ie+k)R(ee+Ie+q+te-k)},ge=(G)=>{let N=b.content.querySelectorAll(`[data-index="${G}"]`),ue=null;for(let Ie=0;Ie<N.length;Ie++){let q=N[Ie];if(q.style.display!=="none"){ue=q;break}}if(!ue&&N.length>0)ue=N[0];b.content.setAttribute("aria-activedescendant",ue?.id??`${U}-item-${G}`)},B=()=>{if(E.destroyed)return;if(z(g),!b.content.matches(":focus-visible")&&!b.root.matches(":focus-visible"))return;let G=L();if(G===0)return;let N=n.focusedIndex>=0?Math.min(n.focusedIndex,G-1):0;N=P(N,1,G),n.focusedIndex=N,n.focusVisible=!0,ge(N),fe(N),a()};b.root.addEventListener("focusin",B);let de=(G)=>{if(E.destroyed)return;let N=G.relatedTarget;if(N&&b.root.contains(N))return;n.focusVisible=!1,a(),b.content.removeAttribute("aria-activedescendant")};if(b.root.addEventListener("focusout",de),g.hooks.onDestroy(()=>{b.root.removeEventListener("focusin",B),b.root.removeEventListener("focusout",de)}),g.hooks.onClick((G)=>{if(z(g),!W(G))return;if(t==="multiple"&&G.shiftKey&&n.focusedIndex>=0){let ue=v>=0?v:n.focusedIndex,Ie=H(ue),q=H(Q);if(Ie>=0&&q>=0)le(ue,Q);n.focusedIndex=Q,n.focusVisible=i,v=Q,A();return}if(n.focusedIndex=Q,n.focusVisible=i,v=Q,(b.content.getAttribute("tabindex")!==null?b.content:b.root).focus(ro),t==="single")V(S.id,S);else _(S.id,S);A()}),o)g.hooks.onKeydown((G)=>{z(g);let N=L();if(N===0)return;let ue=g.nav.get(),Ie=n.focusedIndex,q=!1,k=!1;if(ue.navigate&&(G.key==="ArrowUp"||G.key==="ArrowDown"||G.key==="ArrowLeft"||G.key==="ArrowRight"||G.key==="PageUp"||G.key==="PageDown"||G.key==="Home"||G.key==="End")){let ee=ue.total?ue.total():N,te=ue.navigate(n.focusedIndex,G.key,ee);if(te!==n.focusedIndex)n.focusedIndex=Math.max(0,Math.min(te,ee-1));n.focusVisible=!0,q=!0}else switch(G.key){case"ArrowUp":{let ee=ue.ud||1,te=ue.lr,M=C.axis.primary==="x";if(M&&!te)break;nt(n,-(M?te:ee),N,C.reverse),n.focusVisible=!0,q=!0;break}case"ArrowDown":{let ee=ue.ud||1,te=ue.lr,M=C.axis.primary==="x";if(M&&!te)break;nt(n,M?te:ee,N,C.reverse),n.focusVisible=!0,q=!0;break}case"ArrowLeft":{let ee=ue.ud||1,te=ue.lr,M=C.axis.primary==="x";if(!M&&!te)break;nt(n,-(M?ee:te),N,C.reverse),n.focusVisible=!0,q=!0;break}case"ArrowRight":{let ee=ue.ud||1,te=ue.lr,M=C.axis.primary==="x";if(!M&&!te)break;nt(n,M?ee:te,N,C.reverse),n.focusVisible=!0,q=!0;break}case"Home":if(N>0)n.focusedIndex=0;n.focusVisible=!0,q=!0;break;case"End":if(N>0)n.focusedIndex=N-1;n.focusVisible=!0,q=!0;break;case"PageUp":case"PageDown":{let ee=ue.ud||1,te=Math.max(0,n.focusedIndex),M=ue.scrollIndex?ue.scrollIndex(te):te,K=l.getSize(M),ae=E.containerSize,ne=(K>0?Math.max(1,Math.floor(ae/K)):10)*ee;if(I&&c){let X=I(n.focusedIndex),Y=G.key==="PageUp"?-ne:ne,pe=F()-1;n.focusedIndex=c(Qe(X+Y,X,ee,pe+1))}else{let X=G.key==="PageUp"?n.focusedIndex-ne:n.focusedIndex+ne;n.focusedIndex=Qe(X,n.focusedIndex,ee,N)}n.focusVisible=!0,q=!0;break}case" ":case"Enter":if(G.key===" "&&G.shiftKey&&t==="multiple"&&n.focusedIndex>=0){if(v>=0){let ee=H(v),te=H(n.focusedIndex);if(ee>=0&&te>=0)le(v,n.focusedIndex)}n.focusVisible=!0,k=!0,q=!0;break}if(n.focusedIndex>=0){let ee=d(n.focusedIndex);if(ee)_(ee.id,ee),v=n.focusedIndex;n.focusVisible=!0,k=!0,q=!0}break;case"a":if((G.ctrlKey||G.metaKey)&&t==="multiple"){if(n.selected.size===F())se();else p();n.focusVisible=!0,k=!0,q=!0}break;case"Delete":case"Backspace":if(n.selected.size>0)w.emit("delete",{selected:vt(n.selected),items:x()}),q=!0;break}if(n.focusedIndex!==Ie&&m){let ee=n.focusedIndex>Ie?1:-1;n.focusedIndex=P(n.focusedIndex,ee,N)}let ie=n.focusedIndex!==Ie;if(G.shiftKey&&t==="multiple"&&!k&&ie){if(G.key==="ArrowUp"||G.key==="ArrowDown"||G.key==="ArrowLeft"||G.key==="ArrowRight"){let M=d(n.focusedIndex);if(M)_(M.id,M);v=n.focusedIndex,k=!0}if((G.ctrlKey||G.metaKey)&&(G.key==="Home"||G.key==="End")){let M=Ie>=0?Ie:n.focusedIndex,K=H(M),ae=H(n.focusedIndex);if(K>=0&&ae>=0)le(M,n.focusedIndex);v=n.focusedIndex,k=!0}}if(r&&t==="single"&&!k&&ie&&n.focusedIndex>=0){let ee=d(n.focusedIndex);if(ee)V(ee.id,ee);k=!0}if(q){if(G.preventDefault(),ie&&n.focusedIndex>=0){if(f||!ue.navigate)fe(n.focusedIndex);ge(n.focusedIndex)}if(k)A();else if(ie){if(a(),n.focusedIndex>=0){let ee=d(n.focusedIndex);if(ee)w.emit("focus:change",{id:ee.id,index:n.focusedIndex})}}}});g.hooks.method("select",(...G)=>{for(let N of G)V(N);A()}),g.hooks.method("deselect",(...G)=>{for(let N of G)me(N);A()}),g.hooks.method("toggleSelect",(G)=>{_(G),A()}),g.hooks.method("selectAll",()=>{if(t!=="multiple")return;z(g),p(),A()}),g.hooks.method("clearSelection",()=>{se(),A()}),g.hooks.method("getSelected",()=>vt(n.selected)),g.hooks.method("getSelectedItems",()=>x());let oe=(G)=>{z(g);let N=g.nav.get(),ue=N.total?N.total():L();if(ue===0)return;if(nt(n,G,ue,C.reverse),m)n.focusedIndex=P(n.focusedIndex,G,ue);let Ie=d(n.focusedIndex);if(Ie)V(Ie.id,Ie);if(n.focusedIndex>=0){if(N.reveal)N.reveal(n.focusedIndex);else fe(n.focusedIndex);ge(n.focusedIndex)}A()};g.hooks.method("selectNext",()=>{oe(1)}),g.hooks.method("selectPrevious",()=>{oe(-1)}),g.hooks.method("_seedSelection",(G)=>{if(t==="single"){if(G.length===1)n.selected.add(G[0])}else for(let N of G)n.selected.add(N)}),g.hooks.method("_isFollowFocus",()=>r),g.hooks.method("_getFocusedId",()=>{if(n.focusedIndex<0)return;return d(n.focusedIndex)?.id}),g.hooks.method("_focusById",(G,N)=>{let ue=L();for(let Ie=0;Ie<ue;Ie++){if(m?.(Ie))continue;let q=d(Ie);if(q&&q.id===G){if(n.focusedIndex=Ie,N!=="preserve")n.focusVisible=N===!0||i;if(n.focusVisible)ge(Ie);else b.content.removeAttribute("aria-activedescendant");w.emit("focus:change",{id:G,index:Ie}),a();return}}})},destroy(){O.clear()}}}function yt(e){let t=e?.keyboard??!0;return{name:"a11y",priority:55,setup(r){if(r.render.getStateFn())return;r.dom.enableListbox();let{dom:i,config:o}=r,n=r.sizes.cache,s=r.getState(),a=r.emitter,w=o.classPrefix,b=i.liveRegion,l=-1,E=!1,R,v=-1,O=(d)=>r.items.at(d),I=()=>s.totalItems,c={id:0,index:0},m={selected:[],items:[]};r.render.setStateFn((d,P)=>{P.selected=v===d,P.focused=E&&l===d}),r.hooks.method("_getFocusedIndex",()=>E?l:-1),r.hooks.method("_getFocusedId",()=>{if(l<0)return;return O(l)?.id}),r.hooks.method("_focusById",(d,P)=>{let V=I();for(let _=0;_<V;_++){let se=O(_);if(!se||se.id!==d)continue;if(l=_,P!=="preserve")E=P===!0;if(E)i.content.setAttribute("aria-activedescendant",`${w}-item-${_}`);else i.content.removeAttribute("aria-activedescendant");c.id=d,c.index=_,a.emit("focus:change",c),r.render.force();return}});function f(d){b.textContent="",b.textContent=d}let L=(d,P,V)=>{let _=d;while(_>=0&&_<V){let se=O(_);if(!se||!se.__groupHeader)return _;_+=P}_=d-P;while(_>=0&&_<V){let se=O(_);if(!se||!se.__groupHeader)return _;_-=P}return d},F=(d)=>{let P=r.nav.get();if(P.reveal){P.reveal(d);return}let V=r.hooks.get("_scrollItemIntoView");if(V){r.scroll.cancel(),V(d);return}let _=P.scrollIndex?P.scrollIndex(d):d,se=n.getOffset(_),me=n.getSize(_),le=r.scroll.getPixelEquivalent(),p=s.containerSize,{startPadding:x,endPadding:A}=o,S=se+x,Q=S+me,g=le;if(S<le)g=Math.max(0,se);else if(Q>le+p)g=Q+A-p;if(g!==le)r.scroll.setPixelEquivalent(g)},h=(d,P)=>{if(i.content.setAttribute("aria-activedescendant",`${w}-item-${d}`),P)F(d);r.render.force()},z=(d)=>{l=d,E=!0,h(d,!0);let P=O(d);if(P)c.id=P.id,c.index=d,a.emit("focus:change",c),f(`Item ${d+1} of ${I()}`)},H=(d,P)=>{if(l=d,P)E=!0;let V=O(d);if(V&&R===V.id)R=void 0,v=-1;else R=V?.id,v=V?d:-1;if(h(d,P),R!==void 0&&V&&R===V.id)m.selected[0]=R,m.selected.length=1,m.items[0]=V,m.items.length=1,f(`Selected, item ${d+1} of ${I()}`);else m.selected.length=0,m.items.length=0,f("Deselected");a.emit("selection:change",m)},T=()=>{if(s.destroyed)return;if(!i.content.matches(":focus-visible"))return;let d=I();if(d===0)return;let P=l>=0?Math.min(l,d-1):0;P=L(P,1,d),z(P)},D=(d)=>{if(s.destroyed)return;let P=d.relatedTarget;if(P&&i.root.contains(P))return;E=!1,i.content.removeAttribute("aria-activedescendant"),r.render.force()};if(i.content.addEventListener("focusin",T),i.content.addEventListener("focusout",D),t)r.hooks.onKeydown((d)=>{if(s.destroyed)return;let P=I();if(P===0)return;let V=l,_=V;if(d.key===" "||d.key==="Enter"){if(V>=0){let me=O(V);if(me&&!me.__groupHeader)H(V,!0)}d.preventDefault();return}let se=r.nav.get();if(se.navigate)switch(d.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":_=se.navigate(V,d.key,P);break;default:return}else{let me=se.ud||1,le=se.lr,p=o.axis.primary==="x",x=(A)=>Math.abs(A)>1&&V>=0?Qe(V+A,V,Math.abs(A),P):V+A;switch(d.key){case"ArrowUp":if(p&&!le)return;_=x(-(p?le:me));break;case"ArrowDown":if(p&&!le)return;_=x(p?le:me);break;case"ArrowLeft":if(!p&&!le)return;_=x(-(p?me:le));break;case"ArrowRight":if(!p&&!le)return;_=x(p?me:le);break;case"PageUp":case"PageDown":{let A=n.getSize(Math.max(0,se.scrollIndex?se.scrollIndex(V):V)),Q=Math.max(1,Math.floor(s.containerSize/A))*me;_=Qe(d.key==="PageUp"?V-Q:V+Q,V,me,P);break}case"Home":_=0;break;case"End":_=P-1;break;default:return}}if(_<0)_=0;else if(_>=P)_=P-1;if(d.preventDefault(),_=L(_,_>=V?1:-1,P),_!==V)z(_)});r.hooks.onClick((d)=>{if(s.destroyed)return;let P=d.target.closest("[data-index]");if(!P)return;let V=parseInt(P.dataset.index??"-1",10);if(V<0)return;let _=O(V);if(!_||_.__groupHeader)return;E=!1,i.content.focus({preventScroll:!0}),H(V,!1)}),r.hooks.onDestroy(()=>{i.content.removeEventListener("focusin",T),i.content.removeEventListener("focusout",D)})}}}var io=0,so=1000,lo=15,ao=!0,uo=16,co=!0,lt=2,mo="scroll",fo=350,go=12,po=(e)=>{if(typeof e!=="object"){let t=e??lt;return{top:t,right:t,bottom:t,left:t}}return{top:e.top??lt,right:e.right??lt,bottom:e.bottom??lt,left:e.left??lt}},An=(e,t,r={},i="vlist",o=!1,n,s,a)=>{let w=navigator.userAgentData?.platform||navigator.platform+navigator.userAgent,b=r.platform?r.platform==="windows":!/Mac|Android/i.test(w),{autoHide:l=!b,autoHideDelay:E=so,minThumbSize:R=lo,showOnHover:v=ao,showOnViewportEnter:O=co,clickBehavior:I=mo}=r,c=I==="page"?"scroll":I,m=n??e,f=po(r.padding),L=o?f.left:f.top,F=o?f.right:f.bottom,h=o?f.bottom:f.right,z=r.hoverZoneWidth??h+uo,H=!0,T=0,D=0,d=0,P=0,V=!1,_=!1,se=0,me=0,le=0,p=null,x=!1,A=null,S=null,Q=-1,g=-1,C=-1,U=-1,W=-1,re=e.id?"":(()=>{let ce;do ce=`${i}-scrollport-${++io}`;while(document.getElementById(ce));return e.id=ce,ce})(),fe=0,ge=0,B=null,de=null,oe=null,G=o?"width":"height",N=o?"translateX":"translateY",ue=o?(ce)=>ce.clientX:(ce)=>ce.clientY,Ie=o?"left":"top",q=document.createElement("div"),k=document.createElement("div"),ie=document.createElement("div"),ee=o?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",te=()=>{if(m===e)return;let ce=e.offsetTop;q.style[o?"left":"top"]=ce?`calc(var(${ee}) + ${ce}px)`:`var(${ee})`,ie.style[o?"left":"top"]=`${ce}px`},M=()=>{if(q.className=`${i}-scrollbar`,q.setAttribute("role","scrollbar"),q.setAttribute("aria-controls",e.id),q.setAttribute("aria-orientation",o?"horizontal":"vertical"),q.setAttribute("aria-label",e.getAttribute("aria-label")||"Scroll"),q.setAttribute("aria-valuemin","0"),q.tabIndex=0,k.className=`${i}-scrollbar__thumb`,o)q.classList.add(`${i}-scrollbar--horizontal`);if(r.padding!==void 0)m.style.setProperty("--vlist-custom-scrollbar-padding-top",`${f.top}px`),m.style.setProperty("--vlist-custom-scrollbar-padding-right",`${f.right}px`),m.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${f.bottom}px`),m.style.setProperty("--vlist-custom-scrollbar-padding-left",`${f.left}px`);if(r.minThumbSize!==void 0)q.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${R}px`);if(q.appendChild(k),m.appendChild(q),ie.className=`${i}-scrollbar__hover`,o)ie.classList.add(`${i}-scrollbar__hover--horizontal`),ie.style.height=`${z}px`;else ie.style.width=`${z}px`;if(m.appendChild(ie),m!==e)te()},K=()=>{if(p)clearTimeout(p),p=null},ae=()=>{if(!l)return;K(),p=setTimeout(ne,E)},u=()=>{if(!H||T<=D)return;if(K(),!x)q.classList.add(`${i}-scrollbar--visible`),x=!0;if(l&&!V&&!_&&document.activeElement!==q)ae()},ne=()=>{if(V||_||document.activeElement===q)return;q.classList.remove(`${i}-scrollbar--visible`),x=!1},X=(ce,Ee)=>{if(T=ce,D=Ee,te(),Y(le),!H||T<=D){q.style.display="none",q.classList.remove(`${i}-scrollbar--visible`),x=!1;return}q.style.display="";let we=Math.max(0,D-L-F),He=D/T;if(d=Math.max(R,He*we),k.style[G]=`${d}px`,P=we-d,Y(le),!l)u()},Y=(ce)=>{let Ee=Math.max(0,T-D);if(le=Math.max(0,Math.min(ce,Ee)),Q!==Ee)Q=Ee,q.setAttribute("aria-valuemax",String(Ee));if(g!==le)g=le,q.setAttribute("aria-valuenow",String(le));let we=s?.(),He=we?.getTotal()??0,Ve=He?we.indexAtOffset(le)+1:0;if(Ve!==C||He!==U)C=Ve,U=He,q.setAttribute("aria-valuetext",`Row ${Ve} of ${He}`);if(Ee<=0||P<=0)return;let Ne=le/Ee*P;if(Ne!==W)W=Ne,k.style.transform=`${N}(${Ne}px)`},pe=(ce)=>{if(!H||ce.target!==q||document.activeElement!==q)return;if(ce.stopPropagation(),ce.altKey||ce.ctrlKey||ce.metaKey)return;let Ee=s?.(),we=Ee?.getSize(Ee.indexAtOffset(le))??40,He=le;switch(ce.key){case(o?"ArrowLeft":"ArrowUp"):He-=we;break;case(o?"ArrowRight":"ArrowDown"):He+=we;break;case"PageUp":He-=D;break;case"PageDown":He+=D;break;case"Home":He=0;break;case"End":He=T;break;default:return}ce.preventDefault(),t(Math.max(0,Math.min(He,Math.max(0,T-D)))),u()},j=(ce)=>{if(ce.target===k||c!=="jump"||P<=0)return;let Ee=T-D,we=q.getBoundingClientRect(),He=ue(ce)-we[Ie],Ve=Math.max(0,Math.min(He-d/2,P));t(Ve/P*Ee),u()},Z=()=>{if(B!==null)clearTimeout(B),B=null;if(de!==null)cancelAnimationFrame(de),de=null;oe=null},ye=(ce)=>{let Ee=P>0?ge/ce*P:0;if(fe<Ee)return-1;if(fe>=Ee+d)return 1;return 0},Te=()=>{let ce=T-D,Ee=ye(ce);if(Ee===0){Z();return}if(Ee===-1){if(ge<=0){Z();return}let we=Math.max(0,ge-D);ge=we,t(we)}else{if(ge>=ce){Z();return}let we=Math.min(ce,ge+D);ge=we,t(we)}u()},Ce=(ce)=>{if(oe===null){oe=ce,de=requestAnimationFrame(Ce);return}let Ee=T-D,we=ce-oe;oe=ce;let He=ye(Ee);if(He===0){Z();return}let Ve=go*D/1000,Ne=Math.min(Ve*we,D);if(He===-1){if(ge<=0){Z();return}let J=Math.max(0,ge-Ne);ge=J,t(J)}else{if(ge>=Ee){Z();return}let J=Math.min(Ee,ge+Ne);ge=J,t(J)}K(),de=requestAnimationFrame(Ce)},Le=(ce)=>{if(ce&&ce.pointerId!==A)return;let Ee=A,we=S;if(A=null,S=null,V=!1,q.classList.remove(`${i}-scrollbar--dragging`),Z(),Ee!==null&&we?.hasPointerCapture(Ee))we.releasePointerCapture(Ee);ae()},Pe=(ce)=>{if(!H||ce.button!==0||A!==null||P<=0)return;if(ce.preventDefault(),ce.stopPropagation(),A=ce.pointerId,V=ce.target===k,S=V?k:ce.currentTarget,S.setPointerCapture(A),K(),V)se=ue(ce),me=le,q.classList.add(`${i}-scrollbar--dragging`);else if(c==="jump")j(ce);else fe=ue(ce)-q.getBoundingClientRect()[Ie],ge=le,Te(),B=setTimeout(()=>{de=requestAnimationFrame(Ce)},fo);u()},Re=(ce)=>{if(!V||ce.pointerId!==A)return;ce.stopPropagation();let Ee=ue(ce)-se,we=Math.max(0,T-D),He=Math.max(0,Math.min(me+Ee/P*we,we));Y(He),t(He)},he=()=>{if(O)u()},xe=()=>{if(!V){if(_=!1,l)ae()}},Ae=()=>{_=!0,K(),u()},Se=()=>{if(_=!1,!V&&l)ae()},ve=["width","radius","thumb-color","track-color"],ze=(ce,Ee)=>m.style.setProperty(`--vlist-custom-scrollbar-${ce}`,Ee),ke=ve.map((ce)=>m.style.getPropertyValue(`--vlist-custom-scrollbar-${ce}`)),Fe=ke.slice(0,2),$e=[],De=()=>{for(let Ve=0;Ve<2;Ve++){let Ne=ve[Ve],J=m.style.getPropertyValue(`--vlist-custom-scrollbar-${Ne}`);if(J!==$e[Ve])Fe[Ve]=J;ze(Ne,Fe[Ve])}let ce=getComputedStyle(a??m),Ee=r.width??ce.getPropertyValue("scrollbar-width"),we=ce.getPropertyValue("scrollbar-color").match(/[\w-]+\([^)]*\)|\S+/g);H=r.enabled!==!1&&Ee!=="none";let He=[typeof r.width==="number"?`${r.width}px`:ce.getPropertyValue("--vlist-custom-scrollbar-width").trim()||(Ee==="thin"||!b?"6px":"14px"),typeof r.radius==="number"?`${r.radius}px`:ce.getPropertyValue("--vlist-custom-scrollbar-radius").trim()||(b?"0px":"4px"),r.thumbColor??(we?.length===2?we[0]:ke[2]),r.trackColor??(we?.length===2?we[1]:ke[3])];for(let Ve=0;Ve<ve.length;Ve++)ze(ve[Ve],He[Ve]);if($e=He.slice(0,2),ie.style.display=H?"":"none",e.classList.toggle(`${i}-viewport--gutter`,H&&!!r.gutter),!H)Le();X(T,D)},Be=()=>{K(),Z(),Le(),K();for(let ce of Ue)ce();for(let ce=0;ce<ve.length;ce++)ze(ve[ce],ke[ce]);if(e.classList.remove(`${i}-viewport--gutter`),ie.remove(),m.style.removeProperty("--vlist-custom-scrollbar-padding-top"),m.style.removeProperty("--vlist-custom-scrollbar-padding-right"),m.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),m.style.removeProperty("--vlist-custom-scrollbar-padding-left"),q.remove(),re&&e.id===re)e.removeAttribute("id")};M();let Ue=[],_e=(ce,Ee,we)=>{ce.addEventListener(Ee,we),Ue.push(()=>ce.removeEventListener(Ee,we))};for(let ce of[q,k,ie])_e(ce,"pointerdown",Pe),_e(ce,"pointermove",Re),_e(ce,"pointerup",Le),_e(ce,"pointercancel",Le),_e(ce,"lostpointercapture",Le);if(_e(q,"keydown",pe),_e(q,"focus",u),_e(q,"blur",ae),_e(e,"mouseenter",he),_e(e,"mouseleave",xe),_e(q,"mouseenter",Ae),_e(q,"mouseleave",Se),v)_e(ie,"mouseenter",Ae),_e(ie,"mouseleave",Se);return De(),{refresh:De,show:u,hide:ne,updateBounds:X,updatePosition:Y,isVisible:()=>x,destroy:Be}};function St(e){let t=null,r,i=0,o=0,n=0;return{name:"scrollbar",priority:15,setup(s){let{dom:a,config:w}=s,{classPrefix:b}=w,l=w.axis.primary==="x";r=s.getState(),i=w.mainAxisPadding,t=An(a.viewport,(E)=>{s.scroll.to(E)},e,b,l,a.root,()=>s.sizes.cache,a.root.parentElement),a.viewport.classList.add(`${b}-viewport--custom-scrollbar`),s.hooks.method("refreshScrollbar",()=>t?.refresh()),queueMicrotask(()=>{t?.updateBounds(r.totalSize+i,r.containerSize)}),s.hooks.method("_scrollbar:getInstance",()=>t),s.hooks.onDestroy(()=>{if(t?.destroy(),t=null,a.viewport.classList.remove(`${b}-viewport--custom-scrollbar`),e?.gutter)a.viewport.classList.remove(`${b}-viewport--gutter`)})},hooks:{onAfterScroll(s){let a=r.totalSize+i,w=r.containerSize;if(a!==o||w!==n)o=a,n=w,t?.updateBounds(a,w);t?.updatePosition(s),t?.show()},onResize(){let s=r.totalSize+i,a=r.containerSize;o=s,n=a,t?.updateBounds(s,a)}},destroy(){t?.destroy(),t=null}}}var bo=(e)=>{try{let t=sessionStorage.getItem(e);if(!t)return;return JSON.parse(t)}catch{return}};function Dt(e){let t=e?.autoSave,r=e?.restore??(t?bo(t):void 0),i=!1,o=null;return{name:"snapshots",priority:50,setup(n){let{emitter:s,scroll:a}=n,w=n.sizes.cache,b=n.getState(),l=()=>{let v=a.getPixelEquivalent(),O=b.totalItems,c=n.hooks.get("getSelected")?.();if(O===0){let T={index:0,offsetInItem:0,total:0};if(c?.length)T.selectedIds=c;return T}let m=w.indexAtOffset(v),f=v-w.getOffset(m);f=Math.max(0,f);let L={index:m,offsetInItem:f,total:O,scrollTop:v},F=w.getSize(m);if(F)L.offsetRatio=f/F;let h=n.hooks.get("_layoutToDataIndex");if(h){let T=h(m);if(T<0){for(let D=m+1;D<O;D++)if(T=h(D),T>=0)break}if(T>=0)L.dataIndex=T}let z=n.hooks.get("_getTotal");if(z)L.dataTotal=z();if(c?.length)L.selectedIds=c;let H=n.hooks.get("_getFocusedId");if(H){let T=H();if(T!==void 0)L.focusedId=T}return L};n.hooks.method("getScrollSnapshot",l);let E=(v,O=!0)=>{let{index:I,offsetInItem:c,selectedIds:m,focusedId:f}=v,L=b.totalItems,F=v.dataTotal??v.total;if(L===0&&F&&F>0){let p=n.hooks.get("_setTotal");if(p)p(F),L=b.totalItems;w.rebuild(L),n.render.contentSize(w.getTotalSize()),b.totalSize=w.getTotalSize()}if(L===0)return Promise.resolve();if(!Number.isFinite(I)||!Number.isFinite(c))return Promise.resolve();if(w.getTotal()===0)w.rebuild(L),n.render.contentSize(w.getTotalSize()),b.totalSize=w.getTotalSize();let z=n.hooks.get("_dataToLayoutIndex"),H=I;if(v.dataIndex!==void 0&&v.dataIndex>=0)H=z?z(v.dataIndex):v.dataIndex;else if(z)H=z(I);let T=Math.max(0,Math.min(H,L-1)),D=w.getSize(T),d=v.offsetRatio!==void 0?v.offsetRatio*D:Math.min(c,D),P=n.hooks.get("_getTotal")?.(),V=v.total===L||P!==void 0&&v.dataTotal===P,_;if(v.scrollTop!==void 0&&V)_=v.scrollTop;else _=w.getOffset(T)+d;let se=Math.max(0,b.totalSize-b.containerSize);if(_=Math.max(0,Math.min(_,se)),n.scroll.to(_),O&&m?.length){let p=n.hooks.get("select");if(p)p(...m)}let me=n.hooks.get("loadVisibleRange"),le=()=>{if(f===void 0)return;let p=n.hooks.get("_focusById");if(p)p(f,"preserve")};return new Promise((p)=>{let x=(A)=>{if(A)le();p()};if(me){let A=0,S=()=>{if(b.containerSize>0){if(Math.abs(a.getPixelEquivalent()-_)>1)n.scroll.to(_);me().then(()=>x(!0),()=>x(!1))}else if(++A<10)requestAnimationFrame(S);else x(!1)};requestAnimationFrame(S)}else{let A=n.hooks.get("reload");if(A)requestAnimationFrame(()=>{A().then(()=>x(!0),()=>x(!1))});else requestAnimationFrame(()=>x(!0))}})};n.hooks.method("restoreScroll",E);let R=!!(r&&t);if(n.hooks.onDestroy(()=>{i=!0}),t){o=()=>{if(i||R)return;let L=l();try{sessionStorage.setItem(t,JSON.stringify(L))}catch{}},n.hooks.method("_saveSnapshot",o);let v=0,O=()=>{if(v)return;v=requestAnimationFrame(()=>{if(v=0,o)o()})};s.on("selection:change",O),s.on("focus:change",O);let I=0,c=()=>{if(I=0,o)o()},m=()=>{if(I)clearTimeout(I);I=setTimeout(c,300)};s.on("scroll",m);let f=()=>{o?.()};if(window.addEventListener("beforeunload",f),n.hooks.onDestroy(()=>{if(v)cancelAnimationFrame(v);if(I)clearTimeout(I);window.removeEventListener("beforeunload",f)}),r&&r.total&&r.total>0){let L=n.hooks.get("_cancelAutoLoad");if(L)L();let F=n.hooks.get("_setTotal");if(F)F(r.total)}}if(r){let v=!0;if(r.selectedIds?.length){let O=n.hooks.get("_seedSelection");if(O)O(r.selectedIds),v=!1}queueMicrotask(()=>{if(E(r,v),R=!1,o)o()})}},hooks:{onIdle(){if(o&&!i)o()}},destroy(){i=!0,o=null}}}function ho(e){let t=[];if(typeof window<"u"&&e.scroll?.element===window)t.push(At());let r=e.item,i=e.orientation==="horizontal",o=i?r.width!=null:r.height!=null,n=i?r.estimatedWidth!=null:r.estimatedHeight!=null;if(!o&&n){if(e.layout==="grid")throw Error('[vlist] config: layout: "grid" needs a fixed item size. An estimate wires autosize(), which grid() cannot combine with: grid indexes its size cache by row, autosize measures items. Use item.height (item.width when horizontal).');t.push(wt())}if(e.adapter)t.push(kt({adapter:e.adapter,...e.loading&&{loading:e.loading}}));if(e.layout==="grid"){if(!e.grid)throw Error('[vlist] config: layout: "grid" requires a `grid` option, e.g. { columns: 3 }');t.push(Rt(e.grid))}if(e.layout==="masonry"){if(!e.masonry)throw Error('[vlist] config: layout: "masonry" requires a `masonry` option, e.g. { columns: 3 }');t.push(_t(e.masonry))}if(e.groups)t.push(Ft(e.groups));if(e.selection)t.push(Ot(e.selection));if(e.a11y)t.push(e.a11y===!0?yt():yt(e.a11y));let s=e.scroll?.scrollbar??e.scrollbar;if(s===!0)t.push(St({}));else if(s&&typeof s==="object")t.push(St(s));if(e.snapshots)t.push(Dt());if(e.plugins&&e.plugins.length>0){let a=new Set(e.plugins.map((b)=>b.name));return[...t.filter((b)=>!a.has(b.name)),...e.plugins]}return t}function Hi(e){let{factory:t,...r}=e;return(t??gn)(r,ho(e))}export{Hi as createVListFromConfig,ho as resolvePlugins};
|
|
1
|
+
var zt=16777216,gt=3,Jt="vlist";var pt=50;var Qt=50,en=2,tn=15,nn=6,At=2000,on=30000,at=16000000,bt=150,wt=1,rn=(e)=>e<0.5?2*e*e:1-(-2*e+2)**2/2,ht=300;var sn="x",ln=20,kt="_isPlaceholder",Ke="__placeholder_";function vt(e){let{state:n,viewport:o,isX:i,onFrame:r,onIdle:t}=e,s=e.idleTimeout||bt,a=null,A=null;function y(g=i?o.scrollLeft:o.scrollTop){n.prevScrollPosition=n.scrollPosition,n.scrollPosition=g,n.scrollDirection=g>n.prevScrollPosition?1:g<n.prevScrollPosition?-1:0,r(),l()}function l(){if(a!==null)clearTimeout(a);a=setTimeout(()=>{a=null,n.scrollDirection=0,t()},s)}function M(){if(A!==null)cancelAnimationFrame(A),A=null}function W(g,V,S,I=rn,d){M();let T=n.scrollPosition,p=typeof g==="function"?g:()=>g,_=p();if(Math.abs(_-T)<1){if(S)S(_);else if(i)o.scrollLeft=_;else o.scrollTop=_;d?.();return}let te=performance.now();function m(x){_=p();let L=x-te,F=Math.min(L/V,1),u=T+(_-T)*I(F);if(S)S(u);else{if(i)o.scrollLeft=u;else o.scrollTop=u;let E=i?o.scrollLeft:o.scrollTop;y(Math.abs(E-u)>1?E:u)}if(F<1)A=requestAnimationFrame(m);else A=null,d?.()}A=requestAnimationFrame(m)}return{attach(){},detach(){if(M(),a!==null)clearTimeout(a),a=null},cancelScroll:M,smoothScrollTo:W,commitScroll:y}}function an(e){let{state:n,viewport:o,isX:i,wheelEnabled:r}=e,t=e.scrollTarget??o,s=vt(e),a=s.commitScroll;function A(){let l=i?o.scrollLeft:o.scrollTop;if(Math.abs(l-n.scrollPosition)<0.5)return;a(l)}function y(l){let M;if(i){if(Math.abs(l.deltaX)>Math.abs(l.deltaY))return;let W=o.scrollLeft,g=o.scrollWidth-o.clientWidth;if(M=Math.max(0,Math.min(W+l.deltaY*wt,g)),Math.abs(M-W)<1)return;l.preventDefault(),o.scrollLeft=M}else{let W=o.scrollWidth>o.clientWidth;if(W&&Math.abs(l.deltaX)>Math.abs(l.deltaY))return;if(W&&l.deltaX!==0)l.preventDefault(),o.scrollLeft+=l.deltaX;let g=o.scrollTop,V=o.scrollHeight-o.clientHeight;if(M=Math.max(0,Math.min(g+l.deltaY*wt,V)),Math.abs(M-g)<1)return;l.preventDefault(),o.scrollTop=M}a(M)}return{...s,attach(){if(t.addEventListener("scroll",A,{passive:!0}),r)t.addEventListener("wheel",y,{passive:!1})},detach(){if(t.removeEventListener("scroll",A),r)t.removeEventListener("wheel",y);s.detach()}}}var yt={top:0,right:0,bottom:0,left:0},dn=(e)=>{if(e==null)return yt;if(typeof e==="number")return e===0?yt:{top:e,right:e,bottom:e,left:e};if(e.length===2){let[t,s]=e;return t===0&&s===0?yt:{top:t,right:s,bottom:t,left:s}}let[n,o,i,r]=e;return n===0&&o===0&&i===0&&r===0?yt:{top:n,right:o,bottom:i,left:r}},un=(e,n)=>n?e.left+e.right:e.top+e.bottom,cn=(e,n)=>n?e.top+e.bottom:e.left+e.right;function mn(e){let n={visibleIndices:new Int32Array(e),visibleOffsets:new Float64Array(e),visibleSizes:new Float64Array(e),visibleCount:0,startIndex:0,totalSize:0,capacity:e,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,windowClamped:!1,windowClampReported:!1,prevAriaTotal:-1,ensureCapacity(o){if(o<=n.capacity)return;let i=o+8,r=new Int32Array(i),t=new Float64Array(i),s=new Float64Array(i);r.set(n.visibleIndices),t.set(n.visibleOffsets),s.set(n.visibleSizes),n.visibleIndices=r,n.visibleOffsets=t,n.visibleSizes=s,n.capacity=i},resizeCapacity(o,i,r=gt){if(i<=0||o<=0)return;n.ensureCapacity(Math.ceil(o/i)+r*2)},clear(){n.visibleCount=0,n.startIndex=0}};return n}var Kn=(e,n,o)=>{let i=n;return{getOffset:(r)=>r*e,getSize:(r)=>e,indexAtOffset:(r)=>{if(i===0||e===0)return 0;return Math.max(0,Math.min(Math.floor(r/e),i-1))},getTotalSize:()=>{let r=i*e;return r>0?r-o:0},getTotal:()=>i,rebuild:(r)=>{i=r},invalidate:()=>{},isVariable:()=>!1}};var fn=(e,n,o,i)=>{while(n<o){let r=n+o+1>>>1;if(e[r]<=i)n=r;else o=r-1}return n},Yn=(e,n,o)=>{let i=0,r=0,t=new Float64Array(0),s=new Float64Array(0),a=new Float64Array(1),A=(l,M)=>{for(let W=l;W<r;W++){if(W<=M){let g=W<<9,V=Math.min(g+512,i),S=0;for(let I=g;I<V;I++)t[I]=S,S+=e(I);s[W]=S}a[W+1]=a[W]+s[W]}},y=(l)=>{i=l,r=Math.ceil(l/512),t=new Float64Array(l),s=new Float64Array(r),a=new Float64Array(r+1),A(0,r-1)};return y(n),{getOffset:(l)=>{if(l<=0)return 0;if(l>=i)return a[r];return a[l>>>9]+t[l]},getSize:(l)=>e(l),indexAtOffset:(l)=>{if(i===0||l<=0)return 0;if(l>=a[r])return i-1;let M=fn(a,0,r-1,l),W=M<<9;return fn(t,W,Math.min(W+512,i)-1,l-a[M])},getTotalSize:()=>{let l=a[r];return l>0?l-o:0},getTotal:()=>i,rebuild:(l)=>y(l),invalidate:(l,M=l)=>{if(l>=0&&M<i)A(l>>>9,M>>>9)},isVariable:()=>!0}},St=(e,n,o=0)=>{if(typeof e==="number")return Kn(e,n,o);return Yn(e,n,o)};function gn(e){let n=[],o=`${e}-item`,i=document.createElement("div");return i.className=o,{acquire(){if(n.length>0)return n.pop();return i.cloneNode(!1)},release(r){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="",n.push(r)},get size(){return n.length},trim(r){let t=r>0?r:0;if(n.length>t)n.length=t},clear(){n.length=0}}}function Xe(e){let n=e.querySelectorAll("a[href],button,input,select,textarea,[tabindex]");for(let o=0;o<n.length;o++)n[o].setAttribute("tabindex","-1");e._stamp=0}function Rt(e){if(typeof e==="string"){let n=document.querySelector(e);if(!n)throw Error(`[vlist] Container not found: ${e}`);return n}return e}function pn(e,n,o,i){let r=o?`${n} ${n}--horizontal`:n,t=o?"overflow-x:auto;overflow-y:hidden;height:100%;width:100%":"overflow:auto;height:100%;width:100%",s=o?"position:relative;height:100%;overflow-anchor:none":"position:relative;width:100%;overflow-anchor:none",a=' role="list"';if(i)a+=` aria-label="${i.replace(/"/g,""")}"`;if(o)a+=' aria-orientation="horizontal"';e.insertAdjacentHTML("beforeend",`<div class="${r}"><div class="${n}-viewport" style="${t}" tabindex="-1"><div class="${n}-content" style="${s}"${a}></div></div></div>`);let A=e.lastElementChild,y=A.firstElementChild,l=y.firstElementChild,M=document.createElement("div");return M.className=`${n}-live`,M.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",M.setAttribute("aria-live","polite"),M.setAttribute("aria-atomic","true"),M.setAttribute("role","status"),A.appendChild(M),{root:A,viewport:y,content:l,liveRegion:M}}function qn(e,n){if(e.getTotal()<=0)return{index:0,offsetPx:0};let i=n<=0?0:n,r=e.indexAtOffset(i),t=i-e.getOffset(r);return{index:r,offsetPx:t>0?t:0}}function Un(e,n){let o=Xn(e,n);return e.getOffset(o.index)+o.offsetPx}function Xn(e,n){let o=e.getTotal();if(o<=0)return{index:0,offsetPx:0};let{index:i,offsetPx:r}=n;if(i<0)return{index:0,offsetPx:0};if(i>o-1)i=o-1;while(r>0&&i<o-1){let t=e.getSize(i);if(r<t)break;r-=t,i++}while(r<0&&i>0)i--,r+=e.getSize(i);if(r<0)r=0;return{index:i,offsetPx:r}}function bn(e){let{sizeCache:n,getPixel:o,setPixel:i,getContainerSize:r}=e;function t(){let a=n.getTotalSize()+e.padding-r();return a>0?a:0}function s(a){if(a<=0)return 0;let A=t();return a>A?A:a}return{getLogical(){return qn(n,o())},setLogical(a){i(s(Un(n,a)))},getPixelEquivalent(){return o()},setPixelEquivalent(a){i(s(a))},getMaxPixelEquivalent:t,getRenderOrigin:e.getRenderOrigin,scrollByPx(a){i(s(o()+a))}}}var dt=[],Zn={calculate:dt,commit:dt,afterScroll:dt,idle:dt,resize:dt};function hn(e){if(e.length===0)return Zn;let n=[],o=[],i=[],r=[],t=[];for(let s=0;s<e.length;s++){let a=e[s].hooks;if(a===void 0)continue;if(a.onCalculate!==void 0)n.push(a.onCalculate);if(a.onCommit!==void 0)o.push(a.onCommit);if(a.onAfterScroll!==void 0)i.push(a.onAfterScroll);if(a.onIdle!==void 0)r.push(a.onIdle);if(a.onResize!==void 0)t.push(a.onResize)}return{calculate:n,commit:o,afterScroll:i,idle:r,resize:t}}function vn(e,n){for(let o=0;o<e.length;o++)e[o](n)}function ut(e,n){for(let o=0;o<e.length;o++)e[o](n)}function _t(e,n,o){for(let i=0;i<e.length;i++)e[i](n,o)}function yn(e){for(let n=0;n<e.length;n++)e[n]()}function Sn(e,n,o){for(let i=0;i<e.length;i++)e[i](n,o)}function In(e,n,o,i,r,t,s,a){let A=i!==0||r!==0;return{prefix:e,selectedClass:`${e}-item--selected`,focusedClass:`${e}-item--focused`,placeholderClass:`${e}-item--placeholder`,replacedClass:`${e}-item--replaced`,translateProp:n?"translateX(":"translateY(",sizeProp:n?"width":"height",itemRole:"listitem",interactive:!1,startPadding:o,gap:s,hasCrossPad:A,crossStartProp:A?n?"top":"left":"",crossEndProp:A?n?"bottom":"right":"",crossStartVal:A?i+"px":"",crossEndVal:A?r+"px":"",oddClass:t,emitter:a??null,indexMap:null,ariaTotalFn:null}}function jn(e,n,o,i,r){if(e.containerSize<=0||e.totalItems===0)return e.clear(),!0;let{scrollPosition:t,containerSize:s,totalItems:a}=e,A=r??0;e.totalSize=n.getTotalSize();let y=n.indexAtOffset(A>0?Math.max(0,t-A):t),l=n.indexAtOffset(t+s);if(l<a-1)l++;y=Math.max(0,y),l=Math.min(a-1,Math.max(0,l));let M=Math.max(0,y-o),W=Math.min(a-1,l+o),g=Math.ceil(s)+o*2;if(W-M+1>g)W=M+g-1,e.windowClamped=!0;let V=W-M+1;if(V>e.capacity)e.ensureCapacity(V);let S=Math.min(V,e.capacity);if(M===e.prevRangeStart&&W===e.prevRangeEnd&&!e.renderPending&&e.baseOffset===e.prevBaseOffset)return!1;e.visibleCount=S,e.startIndex=M;for(let I=0;I<S;I++){let d=M+I;e.visibleIndices[I]=d,e.visibleOffsets[I]=n.getOffset(d),e.visibleSizes[I]=n.getSize(d)}return vn(i.calculate,e),e.prevRangeStart=M,e.prevRangeEnd=W,e.prevBaseOffset=e.baseOffset,e.renderPending=!1,!0}var $e={selected:!1,focused:!1};function Jn(e,n,o){for(let i=0;i<n;i++)if(e[i]===o)return!0;return!1}function Qn(e,n){if(n<=1)return!0;let o=e[0];for(let i=1;i<n;i++){let r=e[i];if(r!==o+1)return!1;o=r}return!0}function eo(e,n,o,i,r,t,s,a,A,y){let l=A?null:r(),{visibleCount:M,visibleIndices:W}=e,g=s.ariaTotalFn?s.ariaTotalFn():e.totalItems,V=s.interactive?String(g):"",S=s.interactive&&g!==e.prevAriaTotal,I=null,d=s.indexMap;for(let T=0;T<M;T++){let p=W[T],_=d?d(p):p,te=e.visibleOffsets[T],m=e.visibleSizes[T],x=A?A(p):l[p];if(y)y(_,$e);else $e.selected=!1,$e.focused=!1;let L=t.get(p),F=L;if(L===void 0){let u=n.acquire();if(x!==void 0){let R;try{R=i(x,_,$e)}catch(ie){if(s.emitter)s.emitter.emit("error",{error:ie instanceof Error?ie:Error(String(ie)),context:`template:render:${_}`});n.release(u);continue}if(typeof R==="string")u.innerHTML=R;else u.textContent="",u.appendChild(R);Xe(u)}if(u.setAttribute("role",s.itemRole),u.setAttribute("data-index",String(_)),s.interactive)u.id=s.prefix+"-item-"+p,u.setAttribute("aria-posinset",String(_+1)),u.setAttribute("aria-setsize",V);if(x!==void 0){let R=String(x.id);if(u.setAttribute("data-id",R),R.startsWith(Ke))u.classList.add(s.placeholderClass)}if(s.hasCrossPad)u.style.setProperty(s.crossStartProp,s.crossStartVal),u.style.setProperty(s.crossEndProp,s.crossEndVal);if(y){if(u.classList.toggle(s.selectedClass,$e.selected),u.classList.toggle(s.focusedClass,$e.focused),$e.selected)u.setAttribute("aria-selected","true");else u.removeAttribute("aria-selected");u._lastSelected=$e.selected,u._lastFocused=$e.focused}if(s.oddClass)u.classList.toggle(s.oddClass,(p&1)===1);let E=te-e.baseOffset+s.startPadding;u.style.transform=s.translateProp+E+"px)",u._lastOffset=E;let H=m-s.gap;if(u.style[s.sizeProp]=H+"px",u._lastSize=H,u._lastItem=x,t.set(p,u),I===null)I=document.createDocumentFragment();I.appendChild(u)}else{if(S)L.setAttribute("aria-setsize",V);if(x!==void 0&&F._lastItem!==x){let H=L.getAttribute("data-id"),R=String(x.id),ie;try{ie=i(x,_,$e)}catch(ce){if(s.emitter)s.emitter.emit("error",{error:ce instanceof Error?ce:Error(String(ce)),context:`template:render:${_}`});continue}if(typeof ie==="string")L.innerHTML=ie;else L.textContent="",L.appendChild(ie);if(Xe(L),L.setAttribute("data-id",R),F._lastItem=x,H!==R){let ce=H!==null&&H.startsWith(Ke),de=R.startsWith(Ke);if(ce!==de)L.classList.toggle(s.placeholderClass,de);if(ce&&!de)L.classList.add(s.replacedClass),setTimeout(()=>{L.classList.remove(s.replacedClass)},300)}}if(y){if(F._lastSelected!==$e.selected){if(L.classList.toggle(s.selectedClass,$e.selected),$e.selected)L.setAttribute("aria-selected","true");else L.removeAttribute("aria-selected");F._lastSelected=$e.selected}if(F._lastFocused!==$e.focused)L.classList.toggle(s.focusedClass,$e.focused),F._lastFocused=$e.focused}let u=te-e.baseOffset+s.startPadding;if(F._lastOffset!==u)L.style.transform=s.translateProp+u+"px)",F._lastOffset=u;let E=m-s.gap;if(F._lastSize!==E)L.style[s.sizeProp]=E+"px",F._lastSize=E}}if(I!==null)o.appendChild(I);if(M>0&&Qn(W,M)){let T=W[0],p=W[M-1];for(let[_,te]of t)if(_<T||_>p)te.remove(),n.release(te),t.delete(_)}else for(let[T,p]of t)if(!Jn(W,M,T))p.remove(),n.release(p),t.delete(T);if(s.interactive)e.prevAriaTotal=e.totalItems;ut(a.commit,e)}function Ht(e,n,o,i,r,t,s,a,A,y,l,M){let W=jn(e,n,o,y,A.startPadding);if(e.windowClamped&&!e.windowClampReported)e.windowClampReported=!0,queueMicrotask(()=>{if(e.destroyed)return;A.emitter?.emit("error",{error:Error("[vlist] render window capped to the viewport: the item size spec reports sizes below 1px"),context:"render:window-ceiling"})});if(W)eo(e,i,r,t,s,a,A,y,l,M)}var Vt=()=>{let e={},n=(t,s)=>{if(!e[t])e[t]=new Set;return e[t].add(s),()=>o(t,s)},o=(t,s)=>{e[t]?.delete(s)};return{on:n,off:o,emit:(t,s)=>{e[t]?.forEach((a)=>{try{a(s)}catch(A){}})},clear:(t)=>{if(t)delete e[t];else for(let s in e)delete e[s]}}};var Tn=2,xn=(e=0)=>({velocity:0,sampleCount:0}),Ln=(e,n)=>{let o=performance.now(),i=e._lt??o,r=e._lp??n,t=o-i;if(e._lp=n,e._lt=o,t===0)return e.sampleCount=Math.min(e.sampleCount+1,5),e;if(t>100)return e.velocity=0,e.sampleCount=1,e;return e.velocity=Math.abs(n-r)/t,e.sampleCount=Math.min(e.sampleCount+1,5),e};function ot(e,n,o=!1){if(n===void 0)return;if(typeof n!=="number"||!Number.isFinite(n)||n<0||n===0&&!o)throw Error(`vlist: ${e} must be a ${o?"non-negative":"positive"} number, got ${n}`)}function to(e){let{item:n}=e;if(typeof n.height==="number")ot("item.height",n.height);if(typeof n.width==="number")ot("item.width",n.width);ot("item.estimatedHeight",n.estimatedHeight),ot("item.estimatedWidth",n.estimatedWidth),ot("item.gap",n.gap,!0),ot("overscan",e.overscan,!0);let o=e.scroll;if(o?.runway!==void 0||!/^(auto|native|synthetic)?$/.test(o?.mode??""))throw Error('vlist: scroll.mode is "auto", "native" or "synthetic" (bounded mode and scroll.runway were removed in 3.0)')}function no(e,n){let o=e==="horizontal"?"x":"y";if(n.some((r)=>r.name==="grid"))return{primary:o,cross:o==="x"?"y":"x"};return{primary:o}}function oo(e,n){let o=no(e.orientation,n),i=o.primary==="x",r=dn(e.padding);return{axis:o,hasCrossAxis:o.cross!==void 0,overscan:e.overscan??gt,reverse:e.reverse??!1,classPrefix:e.classPrefix??Jt,mainAxisPadding:un(r,i),crossAxisPadding:cn(r,i),startPadding:i?r.left:r.top,endPadding:i?r.right:r.bottom,crossPadStart:i?r.top:r.left,crossPadEnd:i?r.bottom:r.right,striped:e.item.striped||!1,gap:e.item.gap??0}}function ro(e,n){if(n)return e.item.width??e.item.estimatedWidth??100;return e.item.height??e.item.estimatedHeight??40}function io(e){let n=[...e];return n.sort((o,i)=>(o.priority??50)-(i.priority??50)),n}function so(e){let n=new Set;for(let o of e){if(n.has(o.name))throw Error(`[vlist] Duplicate plugin: ${o.name}`);n.add(o.name)}for(let o of e)if(o.conflicts){for(let i of o.conflicts)if(n.has(i))throw Error(`[vlist] Plugin "${o.name}" conflicts with "${i}"`)}}function lo(e,n){for(let o of e)o.validateConfig?.(n)}var It=null;function Cn(e,n=[]){let o=!1;return ao(e,n,void 0,{native:an,load:()=>import("./synthetic-driver.js"),onContentSize(i,r){if(!o&&i>at)o=!0,r.emit("error",{error:Error(`Content size (${i}px) exceeds browser limit (${at}px). Use scroll.mode "auto".`),context:"content:size:overflow"})}})}function ao(e,n=[],o,i){to(e);let r=o?"synthetic":e.scroll?.mode??"auto";if(r==="synthetic"&&e.scroll?.scrollbar==="native")throw Error('vlist: scroll.scrollbar "native" needs native scrolling');if(e.orientation==="horizontal"&&getComputedStyle(Rt(e.container)).direction==="rtl")throw Error("vlist: horizontal RTL lists are not supported; use a vertical list, or an LTR container");let t=oo(e,n),s=t.axis.primary==="x",a=ro(e,s),A=t.gap,y=A>0?typeof a==="function"?(oe)=>a(oe)+A:a+A:a,l=typeof a==="number"?a:20,M=e.items?.length??0,W=t.striped?`${t.classPrefix}-item--odd`:"",g=Vt(),V=In(t.classPrefix,s,t.startPadding,t.crossPadStart,t.crossPadEnd,W,A,g),S=n.length>0?io(n):n;if(n.length>0)so(S),lo(S,t);let I=Rt(e.container),d=pn(I,t.classPrefix,s,e.ariaLabel);if(e.scroll?.scrollbar==="none")d.viewport.classList.add(`${t.classPrefix}-viewport--no-scrollbar`);if(e.scroll?.gutter==="stable")d.viewport.classList.add(`${t.classPrefix}-viewport--gutter-stable`);let p=St(y,M,A),_=gn(t.classPrefix),te=Math.ceil(4096/l)+t.overscan*2+8,m=mn(te);m.totalItems=M;let x=e.items?[...e.items]:[],L=()=>x,F=new Map,u=xn(),E={velocity:0,reliable:!1},H={range:{start:0,end:-1}},R={scrollPosition:0,direction:"down"},ie={scrollPosition:0},ce=-1,de=-1,b=-1,C=null,w=hn(S),h=new Map,Q=[],f=[],P=[],Y=(oe)=>{let v=(ge)=>{oe.push(ge instanceof Error?ge:Error(String(ge)))};for(let ge of P)try{ge()}catch(ze){v(ze)}for(let ge of S)if(ge.destroy)try{ge.destroy()}catch(ze){v(ze)}},G=null,ee=null,pe,be,O=null,fe=null,j=null,B=null,D=null,se=null,Ie=null,Z=null,k=!1,ae=!1,J=null,ne=0,z=0,N=null,le=null,c=null,re=null,q=null,K=null,he=null,U=null,X=null,me=null,Le=(oe)=>me.setLogical(oe),Ce=!1,Te=!1,Pe=null,Re=null,ve=null,xe=null;m.containerSize=s?d.viewport.clientWidth:d.viewport.clientHeight,m.crossSize=s?d.viewport.clientHeight:d.viewport.clientWidth;function _e(oe){if(ee)ee(oe);else{if(s)d.viewport.scrollLeft=oe;else d.viewport.scrollTop=oe;if(be?.(),Te&&Math.abs(m.scrollPosition-oe)>1)Pe=oe}}let ye=bn({sizeCache:p,getPixel:()=>m.scrollPosition,setPixel:_e,getRenderOrigin:()=>m.baseOffset,getContainerSize:()=>m.containerSize,padding:t.mainAxisPadding});if(n.length>0){let oe={pool:_,config:t,emitter:g,template:e.item.template,getState(){return m},dom:{...d,renderedElement(v){let ge=h.get("_getRenderedElement");if(ge)return ge(v);return F.get(v)??null},enableListbox(){let v=d.content.getAttribute("role");if(!v||v==="list")d.content.setAttribute("role","listbox"),d.content.setAttribute("tabindex","0");V.itemRole="option",V.interactive=!0}},scroll:{...ye,to:_e,shiftBy(v){if(me?.shiftBy)me.shiftBy(v);else oe.scroll.to(m.scrollPosition+v)},smoothTo(v,ge,ze,De){if(U)U.smoothScrollTo(v,ge,ee??void 0,ze,De);else oe.scroll.to(typeof v==="function"?v():v)},cancel(){U?.cancelScroll()},commit(v){be(v)},setSource(v){ee=v.write,pe=v.onContentSize,k=!0},setTarget(v){J=v},setWrap(v,ge){ve=v,xe=ge},setBoundedWrap(v,ge){oe.scroll.setWrap(v,ge)},setToPosFn(v){q=v},setToIndexFn(v){K=v},onFrame:He,onIdle:Ve,disableResize(){ae=!0}},items:{all:L,at(v){return j?j(v):x[v]},removeById(v){if(D)return D(v);let ge=x.findIndex((ze)=>ze.id===v);if(ge===-1)return-1;return x.splice(ge,1),m.totalItems=x.length,p.rebuild(m.totalItems),Fe(),ge},insertAt(v,ge){if(se){se(v,ge);return}x.splice(ge,0,v),m.totalItems=x.length,p.rebuild(m.totalItems),Fe()},setGetFn(v){j=v},setRemoveFn(v){D=v},setInsertFn(v){se=v},setUpdateFn(v){Ie=v},setIndexByIdFn(v){Z=v},setTotalFn(v){G=v,V.ariaTotalFn=v},setIndexMapFn(v){V.indexMap=v}},sizes:{cache:p,get rawSpec(){return a},setConfig(v,ge=0){let ze=St(v,m.totalItems,ge),De=h.get("_setSizeCacheBase");if(De){let Be=p.rebuild;Object.assign(p,ze),p.rebuild=Be,De(ze.rebuild)}else Object.assign(p,ze)},rebuild(){p.rebuild(m.totalItems)}},render:{force(){ke()},ifNeeded(){Ne()},contentSize:Ge,setFn(v,ge){O=()=>{let{prevRangeStart:ze,prevRangeEnd:De}=m;if(v(),m.prevRangeStart!==ze||m.prevRangeEnd!==De)ut(w.commit,m)},fe=()=>{ge(),ut(w.commit,m)}},setStateFn(v){B=v},getStateFn(){return B}},hooks:{method(v,ge){if(!v.startsWith("_")&&h.has(v))throw Error(`[vlist] duplicate method "${v}"; rename it or use a set*Fn hook`);h.set(v,ge)},get(v){return h.get(v)},onClick(v){Q.push(v)},onKeydown(v){f.push(v)},onDestroy(v){P.push(v)}},nav:{set(v){if(v.ud!==void 0)ne=v.ud;if(v.lr!==void 0)z=v.lr;if(v.scrollIndex)N=v.scrollIndex;if(v.navigate)le=v.navigate;if(v.total)c=v.total;if(v.reveal)re=v.reveal},get:(()=>{let v={ud:0,lr:0,scrollIndex:null,navigate:null,total:null,reveal:null};return()=>(v.ud=ne,v.lr=z,v.scrollIndex=N,v.navigate=le,v.total=c,v.reveal=re,v)})()}};for(let v of S)if(v.setup)try{v.setup(oe)}catch(ge){let ze=ge instanceof Error?ge:Error(String(ge));g.emit("error",{error:ze,context:`plugin:setup:${v.name}`})}}let Se=t.classPrefix+"--scrolling",Me=!1,Ae=e.scroll?.idleTimeout??bt;function Oe(){if(R.scrollPosition=m.scrollPosition,s)R.direction=m.scrollDirection>0?"right":"left";else R.direction=m.scrollDirection>0?"down":"up";if(g.emit("scroll",R),Ln(u,m.scrollPosition),E.velocity=u.velocity,E.reliable=u.sampleCount>=Tn,g.emit("velocity:change",E),m.startIndex!==ce||m.prevRangeEnd!==de)ce=m.startIndex,de=m.prevRangeEnd,H.range.start=m.startIndex,H.range.end=m.prevRangeEnd,g.emit("range:change",H)}function Ge(oe,v=!0){let ge=oe+t.mainAxisPadding;if(Ce)Ee(ge);if(me){if(v)me.refresh(oe);return}if(m.totalSize=oe,pe?.(ge),v)d.content.style[s?"width":"height"]=Math.min(ge,at)+"px"}function Fe(){let oe=O?m.totalSize:p.getTotalSize();if(Ge(oe,!O),me||O||Ce)return;i?.onContentSize(oe,g)}function qe(){if(!he)return;if((G?G():x.length)===0)return;let v=he;he=null,Mt.scrollToIndex(v.index,v.alignOrOptions)}function Ne(){if(O)O();else Ht(m,p,t.overscan,_,d.content,e.item.template,L,F,V,w,j,B);qe()}function He(){if(Pe=null,!Me)Me=!0,d.root.classList.add(Se);if(Ne(),_t(w.afterScroll,m.scrollPosition,m.scrollDirection),Re?.sync(),m.scrollPosition!==b)b=m.scrollPosition,Oe()}function ue(){_.trim(F.size)}function Ee(oe){let v=!!me;if(Te=(r==="synthetic"||oe>at*(v?0.75:1))!==v,!Te)return;if(!It)i.load().then((ze)=>{if(It=ze,!m.destroyed)Fe()},(ze)=>g.emit("error",{error:ze,context:"scroll:mode"}));else if(!Me)we(oe)}function we(oe){let v=Pe??m.scrollPosition;if(Te=!1,U.detach(),Re?.destroy(),Re=null,me)U=X,me=ee=null,m.baseOffset=0,d.content.style[s?"width":"height"]=oe+"px",U.attach(),_e(v);else if(d.viewport[s?"scrollLeft":"scrollTop"]=0,U=me=Ye(It.createSyntheticScrollHandler),ee=Le,me.refresh(oe-t.mainAxisPadding),(Re=It.attachScrollbar(m,d,t,p,_e,e.scroll?.scrollbar))?.sync(),m.initialized)U.attach(),me.setLogical(v);g.emit("scroll:mode",{mode:me?"synthetic":"native"})}function Ve(){if(Me)Me=!1,d.root.classList.remove(Se);if(m.scrollDirection=0,ue(),yn(w.idle),E.velocity=0,E.reliable=!1,g.emit("velocity:change",E),ie.scrollPosition=m.scrollPosition,g.emit("scroll:idle",ie),Te)Fe()}function ke(){if(m.renderPending=!0,fe)fe();else Ht(m,p,t.overscan,_,d.content,e.item.template,L,F,V,w,j,B);if(qe(),_t(w.afterScroll,m.scrollPosition,m.scrollDirection),Re?.sync(),m.scrollPosition!==b){if(b=m.scrollPosition,Oe(),C!==null)clearTimeout(C);C=setTimeout(Ve,Ae)}else if(!Me)ue()}let We=k?!1:e.scroll?.wheel!==!1;if(k&&ve)throw Y([]),d.root.remove(),Error("vlist: page() is not compatible with the carousel plugin — document scrolling cannot wrap.");function Ye(oe){return oe({state:m,sizeCache:p,viewport:d.viewport,content:d.content,isX:s,wheelEnabled:We,idleTimeout:Ae,...J?{scrollTarget:J}:{},mainAxisPadding:t.mainAxisPadding,...ve?{wrap:ve,rendered:F,classPrefix:t.classPrefix,oddClass:W,onFold(v){let ge=u;if(ge._lp!==void 0)ge._lp-=v;b-=v}}:{},onFrame:He,onIdle:Ve})}if(!k&&(o||ve))U=me=Ye(o??xe),ee=Le;else X=(k?vt:i.native)({state:m,viewport:d.viewport,isX:s,wheelEnabled:We,idleTimeout:Ae,...J?{scrollTarget:J}:{},onFrame:He,onIdle:Ve}),U=X,be=X.commitScroll,Ce=!k&&r!=="native";function tt(oe){let ge=oe.target.closest("[data-index]");if(!ge)return null;let ze=parseInt(ge.getAttribute("data-index"),10);if(Number.isNaN(ze))return null;let De=h.get("_layoutToDataIndex"),Be,Ze=ze;if(De){let Ue=De(ze);if(Ue<0)return null;let nt=h.get("_getItemAtLayout"),lt=h.get("_getItem");Be=nt?nt(ze):lt?lt(Ue):j?j(Ue):x[Ue],Ze=Ue}else Be=j?j(ze):x[ze];if(Be===void 0)return null;return{item:Be,index:Ze}}function qt(oe){for(let ge=0;ge<Q.length;ge++)Q[ge](oe);let v=tt(oe);if(v)g.emit("item:click",{item:v.item,index:v.index,event:oe})}function Ut(oe){let v=tt(oe);if(v)g.emit("item:dblclick",{item:v.item,index:v.index,event:oe})}function Xt(oe){let v=tt(oe);if(v)g.emit("item:contextmenu",{item:v.item,index:v.index,event:oe})}function Zt(oe){let v=oe.target?.tagName;if((v==="INPUT"||v==="TEXTAREA"||v==="SELECT")&&!((oe.ctrlKey||oe.metaKey)&&(oe.key==="f"||oe.key==="F")))return;for(let ge=0;ge<f.length;ge++)f[ge](oe)}if(d.content.addEventListener("click",qt),d.content.addEventListener("dblclick",Ut),d.content.addEventListener("contextmenu",Xt),f.length>0)d.root.addEventListener("keydown",Zt);let Pt=null;if(!ae)setTimeout(()=>{if(m.destroyed)return;Pt=new ResizeObserver((v)=>{for(let ge of v){let{width:ze,height:De}=ge.contentRect,Be=s?ze:De,Ze=s?De:ze;if(Math.abs(Be-m.containerSize)<1&&Math.abs(Ze-m.crossSize)<1)continue;if(m.containerSize=Be,m.crossSize=Ze,m.resizeCapacity(Be,l,t.overscan),me)me.refresh(p.getTotalSize());ke(),Sn(w.resize,ze,De),g.emit("resize",{width:ze,height:De})}}),Pt.observe(d.viewport)},0);m.resizeCapacity(m.containerSize,l,t.overscan),Fe(),m.initialized=!0;let st=null;if(e.defer)st=requestAnimationFrame(()=>{if(st=null,!m.destroyed)Ne()});else Ne();if(!k)U.attach();let Mt={get element(){return d.root},get items(){return x},get total(){return G?G():x.length},setItems(oe){x=[...oe],m.totalItems=x.length,p.rebuild(m.totalItems),Fe(),ke()},appendItems(oe){let v=()=>Math.max(0,p.getTotalSize()+t.mainAxisPadding-m.containerSize),ge=t.reverse&&m.scrollPosition>=v()-1;if(x.push(...oe),m.totalItems=x.length,p.rebuild(m.totalItems),Fe(),ke(),ge)_e(v())},prependItems(oe){let v=m.totalItems>0,ge=p.getTotalSize();if(x.unshift(...oe),m.totalItems=x.length,p.rebuild(m.totalItems),Fe(),ke(),!t.reverse||!v)return;let ze=p.getTotalSize()-ge;if(ze<=0)return;let De=Math.max(0,p.getTotalSize()+t.mainAxisPadding-m.containerSize);_e(Math.min(m.scrollPosition+ze,De))},updateItem(oe,v){if(Ie){if(!Ie(oe,v))return}else{let ge=x.findIndex((ze)=>ze.id===oe);if(ge===-1)return;x[ge]={...x[ge],...v}}ke()},insertItem(oe,v){if(se)se(oe,v??m.totalItems);else{if(v===void 0)x.push(oe);else x.splice(v,0,oe);m.totalItems=x.length,p.rebuild(m.totalItems),Fe()}ke()},removeItem(oe){if(D){if(D(oe)<0)return}else{let v=x.findIndex((ge)=>ge.id===oe);if(v===-1)return;x.splice(v,1),m.totalItems=x.length,p.rebuild(m.totalItems),Fe()}ke()},removeItems(oe){if(D){let De=0;for(let Be of oe)if(D(Be)>=0)De++;if(De>0)ke();return De}let v=new Set(oe),ge=x.length;x=x.filter((De)=>!v.has(De.id));let ze=ge-x.length;if(ze>0)m.totalItems=x.length,p.rebuild(m.totalItems),Fe(),m.renderPending=!0,Ne();return ze},getItemAt(oe){if(V.indexMap){let ge=h.get("_getLoadedItem");return ge?ge(oe):x[oe]}let v=h.get("_getItemAtLayout");if(v){let ge=h.get("_dataToLayoutIndex");return v(ge?ge(oe):oe)}return j?j(oe):x[oe]},getIndexById(oe){if(Z)return Z(oe);return x.findIndex((v)=>v.id===oe)},scrollToIndex(oe,v="start"){let ge=G?G():x.length;if(ge===0){he={index:oe,alignOrOptions:v};return}let ze=typeof v==="string"?v:v.align??"start",De=typeof v==="object"?v.behavior:void 0,Be=typeof v==="object"?v.duration:void 0,Ze=typeof v==="object"?v.easing:void 0;if(K&&K(oe,ze,De,Be,Ze)!==!1)return;let Ue=Math.max(0,Math.min(oe,ge-1)),nt=p.getOffset(Ue),lt=p.getSize(Ue),ft=m.containerSize,Bn=p.getTotalSize(),jt=t.mainAxisPadding,Nn=Math.max(0,Bn+jt-ft),je;if(q)je=q(Ue,p,ft,ge,ze);else{let Wn=t.startPadding;switch(ze){case"center":je=Wn+nt-(ft-lt)/2;break;case"end":je=nt+lt+jt-ft;break;default:je=nt}je=Math.max(0,Math.min(je,Nn))}if(De==="smooth"&&!Te)U.smoothScrollTo(je,Be??ht,ee??void 0,Ze);else _e(je)},getScrollPosition(){return ye.getPixelEquivalent()},on:g.on.bind(g),off:g.off.bind(g),destroy(){if(m.destroyed)return;if(m.destroyed=!0,Me)Me=!1,d.root.classList.remove(Se);if(st!==null)cancelAnimationFrame(st),st=null;if(C!==null)clearTimeout(C),C=null;U.detach(),Re?.destroy(),Pt?.disconnect(),d.content.removeEventListener("click",qt),d.content.removeEventListener("dblclick",Ut),d.content.removeEventListener("contextmenu",Xt),d.root.removeEventListener("keydown",Zt);let oe=[];Y(oe);for(let[,v]of F)v.remove();if(F.clear(),_.clear(),d.root.remove(),g.emit("destroy",void 0),g.clear(),oe.length>0)for(let v of oe)console.error("vlist: error during destroy:",v)}};for(let[oe,v]of h){if(oe.startsWith("_"))continue;Mt[oe]=v}return Mt}var En="_getScrollPadding",uo={start:0,end:0};function Tt(e){let n;return()=>{if(n===void 0)n=e.hooks.get("_getScrollPadding")??null;return n?n():uo}}var Pn=(e)=>e==null?0:typeof e==="function"?e():e;function Ft(e){let n=e?.scrollPadding,o,i;return{name:"page",priority:5,setup(r){let{dom:t,config:s,emitter:a}=r,A=r.sizes.cache,y=s.axis.primary==="x",l=window,M=r.getState();if(r.scroll.disableResize(),t.root.style.overflow="visible",t.root.style.height="auto",y)t.viewport.style.overflowX="visible",t.viewport.style.overflowY="visible";else t.viewport.style.overflow="visible";t.viewport.classList.remove(`${s.classPrefix}-viewport--custom-scrollbar`);let W=!1,g=!1;r.scroll.setSource({onContentSize(T){if(T>zt&&!g){let p=`vlist: page() native document size ${T}px exceeds the ${zt}px limit. Use the viewport-scrolled default for larger lists. See https://vlist.io/docs/rfcs/RFC-014-Scroll-Input-Model`;if(!W)throw i?.(),o?.(),t.root.remove(),Error(p);g=!0,console.warn(p)}W=!0},write(T){let p=t.viewport.getBoundingClientRect(),_=(y?p.left+l.scrollX:p.top+l.scrollY)+T;if(y)l.scrollTo({left:_,top:l.scrollY,behavior:"instant"});else l.scrollTo({left:l.scrollX,top:_,behavior:"instant"});r.scroll.commit(T)}}),M.containerSize=y?l.innerWidth:l.innerHeight,M.crossSize=y?l.innerHeight:l.innerWidth;let V=()=>{let T=t.viewport.getBoundingClientRect(),p=Math.max(0,y?-T.left:-T.top);if(Math.abs(p-r.scroll.getPixelEquivalent())<0.5)return;r.scroll.commit(p)};l.addEventListener("scroll",V,{passive:!0}),i=()=>l.removeEventListener("scroll",V);let{innerWidth:S,innerHeight:I}=l,d=()=>{let{innerWidth:T,innerHeight:p}=l;if((y?Math.abs(T-S):Math.abs(p-I))<1)return;S=T,I=p,M.containerSize=y?T:p,M.crossSize=y?p:T,r.render.force(),a.emit("resize",{width:T,height:p})};if(l.addEventListener("resize",d),o=()=>l.removeEventListener("resize",d),n){let T=()=>({start:Pn(y?n.left:n.top),end:Pn(y?n.right:n.bottom)});r.hooks.method(En,T),r.scroll.setToPosFn((p,_,te,m,x)=>{let{start:L,end:F}=T();if(m===0)return 0;let u=Math.max(0,Math.min(p,m-1)),E=_.getOffset(u),H=_.getSize(u),R=_.getTotalSize(),ie=Math.max(0,R-te+F),ce;switch(x){case"center":ce=E-L-(te-L-F-H)/2;break;case"end":ce=E-te+H+F;break;default:ce=E-L}return Math.max(-L,Math.min(ce,ie))}),r.hooks.method("_scrollItemIntoView",(p)=>{let _=y?l.innerWidth:l.innerHeight,{start:te,end:m}=T(),x=t.viewport.getBoundingClientRect(),L=y?l.scrollX:l.scrollY,F=y?x.left:x.top,u=F+L,E=A.getOffset(p),H=A.getSize(p),R=F+E,ie=_-m,ce=L;if(R<te)ce=u+E-te;else if(R+H>ie)ce=u+E+H-ie;if(ce!==L)if(y)l.scrollTo({left:ce,top:l.scrollY,behavior:"instant"});else l.scrollTo({left:l.scrollX,top:ce,behavior:"instant"})})}r.hooks.onDestroy(()=>{i?.(),o?.()})},destroy(){i?.(),o?.(),i=void 0,o=void 0}}}function Ot(e){let n=e?.gap??0,o=null,i=0,r=null,t,s,a,A,y,l=new Map,M=new Set,W=new WeakMap,g=0,V=!1,S=!1,I=!1,d=2;function T(u){return l.get(u)??y}function p(u){return l.has(u)&&!M.has(u)}function _(u){if(!r||t.destroyed)return;if(u===void 0){if(l.size===0)return;l.clear(),M.clear(),r.sizes.rebuild(),L()}else{if(!l.has(u))return;M.add(u)}r.render.force()}function te(){return Math.max(0,r.sizes.cache.getTotalSize()+r.config.mainAxisPadding-t.containerSize)}function m(){let u=te();return u>0&&s.getPixelEquivalent()>=u-d}function x(){let u=te();if(u>s.getPixelEquivalent())r.scroll.to(u)}function L(){r.render.contentSize(r.sizes.cache.getTotalSize())}function F(u,E){let H=r;if(H.hooks.get("_setSizeCacheBase"))H.sizes.rebuild();else H.sizes.cache.invalidate(u,E)}return{name:"autosize",priority:5,setup(u){if(i++,s=u.scroll,r=u,t=u.getState(),a=u.config.axis.primary==="x",A=a?"width":"height",n===0)n=u.config.gap;y=typeof u.sizes.rawSpec==="function"?u.sizes.rawSpec(0)+n:u.sizes.rawSpec+n,u.sizes.setConfig(T,n);let E=new ResizeObserver((de)=>{if(t.destroyed||!r)return;let b=!1,C=-1,w=-1,h=u.sizes.cache.indexAtOffset(s.getPixelEquivalent());for(let G of de){let ee=G.target,pe=W.get(ee);if(pe===void 0)continue;if(ee.getAttribute("data-index")!==String(pe)){E.unobserve(ee);continue}if(p(pe))continue;let be=G.borderBoxSize?.[0],O;if(be)O=a?be.inlineSize:be.blockSize;else{let D=ee.getBoundingClientRect();O=a?D.width:D.height}if(O<=0)continue;let fe=O+n,j=l.has(pe),B=l.get(pe)??y;if(l.set(pe,fe),M.delete(pe),!j||fe!==B){if(b=!0,C<0||pe<C)C=pe;if(pe>w)w=pe}if(pe<h&&fe!==B)g+=fe-B;E.unobserve(ee),ee.style[A]=`${O}px`}if(!b)return;let Q=m();if(F(C,w),g)u.scroll.shiftBy(g),g=0;let f=t.scrollDirection!==0,P=t.totalItems>0&&t.prevRangeEnd>=t.totalItems-1,Y=S&&!I;if(Y||Q||P||I||!f){if(L(),V=!1,Y||Q)x()}else V=!0;u.render.force()});o=E,u.scroll.setToIndexFn((de,b,C,w,h)=>{let Q=de>=t.totalItems-1&&b==="end";if(S=Q,I=!1,!Q)return!1;let f=u.config.mainAxisPadding,P=()=>{let Y=u.sizes.cache.getTotalSize();return Math.max(0,Y+f-t.containerSize)};if(C==="smooth")I=!0,u.scroll.smoothTo(P,w??300,h,()=>{if(I=!1,V)L(),V=!1;x()});else u.scroll.to(P())});let H=()=>{S=!1},R=u.dom.viewport;R.addEventListener("wheel",H,{passive:!0}),R.addEventListener("touchstart",H,{passive:!0}),u.hooks.onDestroy(()=>{R.removeEventListener("wheel",H),R.removeEventListener("touchstart",H)});let ie=u.dom.content,ce=(de)=>{let b=de.target;if(!b||b===ie)return;let C=b.closest("[data-index]");if(!C||C.parentNode!==ie)return;let w=Number(C.getAttribute("data-index"));if(p(w))_(w)};ie.addEventListener("load",ce,!0),ie.addEventListener("error",ce,!0),u.hooks.onDestroy(()=>{ie.removeEventListener("load",ce,!0),ie.removeEventListener("error",ce,!0)}),u.hooks.method("isMeasured",p),u.hooks.method("remeasure",_),u.hooks.method("setMeasuredSize",(de,b)=>{l.set(de,b),F(de,de)}),u.hooks.method("getMeasuredCount",()=>l.size),u.hooks.onDestroy(()=>{if(E.disconnect(),o===E)o=null})},hooks:{onCommit(u){if(!o||!r)return;for(let E=0;E<u.visibleCount;E++){let H=u.visibleIndices[E];if(p(H))continue;let R=r.dom.renderedElement(H);if(!R)continue;R.style[A]="",W.set(R,H),o.observe(R)}},onIdle(){if(!r||!V)return;let u=m();if(L(),V=!1,u)x(),r.render.force()}},destroy(){if(i=Math.max(0,i-1),i>0)return;if(o)o.disconnect(),o=null;l.clear(),M.clear(),S=!1,I=!1,r=null}}}var Mn=(e={})=>{let{chunkSize:n=100,maxCachedItems:o=5000,evictionBuffer:i=200,onEvict:r}=e,t=new Map,s=0,a=0,A=(b)=>{let C=t.get(b);if(!C)C={items:Array(n),count:0,lastAccess:Date.now()},t.set(b,C);else C.lastAccess=Date.now();return C},y=(b)=>Math.floor(b/n),l=(b)=>b%n,M=()=>s,W=(b)=>{s=b},g=(b)=>{if(b<0||b>=s)return;let C=y(b),w=t.get(C);if(!w)return;return w.items[l(b)]},V=(b)=>{if(b<0||b>=s)return!1;let C=y(b),w=t.get(C);if(!w)return!1;return w.items[l(b)]!==void 0},S=(b,C)=>{let w=y(b),h=A(w),Q=l(b),f=h.items[Q]===void 0;if(h.items[Q]=C,f)h.count++,a++;if(b>=s)s=b+1},I=(b,C)=>{for(let w=0;w<C.length;w++){let h=C[w];if(h!==void 0)S(b+w,h)}},d=(b,C)=>{if(b<0||b>s)return;let w=y(b),h=Array.from(t.keys()).filter((G)=>G>=w).sort((G,ee)=>G-ee),Q=[];for(let G of h){let ee=t.get(G),pe=G*n;for(let be=0;be<n;be++){if(ee.items[be]===void 0)continue;let O=pe+be;if(O<b)continue;Q.push({oldIndex:O,item:ee.items[be]})}}for(let{oldIndex:G}of Q){let ee=y(G),pe=t.get(ee);if(!pe)continue;let be=l(G);if(pe.items[be]!==void 0){if(pe.items[be]=void 0,pe.count--,a--,pe.count===0)t.delete(ee)}}s++;for(let{oldIndex:G,item:ee}of Q){let pe=G+1,be=y(pe),O=A(be),fe=l(pe);O.items[fe]=ee,O.count++,a++}let f=y(b),P=A(f),Y=l(b);P.items[Y]=C,P.count++,a++},T=(b)=>{if(b<0||b>=s)return!1;let C=y(b),w=t.get(C),h=l(b);if(!(w!==void 0&&w.items[h]!==void 0))return!1;let f=C,P=Array.from(t.keys()).filter((G)=>G>=f).sort((G,ee)=>G-ee),Y=[];for(let G of P){let ee=t.get(G),pe=G*n;for(let be=0;be<n;be++){if(ee.items[be]===void 0)continue;let O=pe+be;if(O<=b)continue;Y.push({oldIndex:O,item:ee.items[be]})}}if(w.items[h]=void 0,w.count--,a--,w.count===0)t.delete(C);for(let{oldIndex:G}of Y){let ee=y(G),pe=t.get(ee);if(!pe)continue;let be=l(G);if(pe.items[be]!==void 0){if(pe.items[be]=void 0,pe.count--,a--,pe.count===0)t.delete(ee)}}for(let{oldIndex:G,item:ee}of Y){let pe=G-1,be=y(pe),O=A(be),fe=l(pe);O.items[fe]=ee,O.count++,a++}return s--,!0},p=(b,C)=>{let w=[];for(let h=b;h<=C&&h<s;h++)w.push(g(h));return w},_=(b,C)=>{for(let w=b;w<=C&&w<s;w++)if(!V(w))return!1;return!0},te=()=>{let b=[],C=null,w=Array.from(t.keys()).sort((h,Q)=>h-Q);for(let h of w){let Q=t.get(h);if(!Q)continue;let f=h*n;for(let P=0;P<n;P++){let Y=f+P;if(Y>=s)break;if(Q.items[P]!==void 0)if(C===null)C={start:Y,end:Y};else if(Y===C.end+1)C.end=Y;else b.push(C),C={start:Y,end:Y};else if(C!==null)b.push(C),C=null}}if(C!==null)b.push(C);return b},m=(b,C)=>{let w=[],h=null;for(let Q=b;Q<=C&&Q<s;Q++)if(!V(Q))if(h===null)h={start:Q,end:Q};else h.end=Q;else if(h!==null)w.push(h),h=null;if(h!==null)w.push(h);return w},x=(b)=>t.has(b),L=(b)=>{let C=t.get(b);if(!C)return!1;let w=b*n,h=Math.min(n,s-w);return C.count>=h},F=(b)=>{let C=t.get(b);if(C)C.lastAccess=Date.now()},u=(b,C)=>{if(b>C||t.size===0)return;let w=Date.now(),h=y(Math.max(0,b)),Q=y(Math.min(s-1,C));for(let f=h;f<=Q;f++){let P=t.get(f);if(P)P.lastAccess=w}},E=(b,C)=>{if(a<=o)return 0;let w=Math.max(0,b-i),h=Math.min(s-1,C+i),Q=y(w),f=y(h),P=0,Y=[];for(let[G,ee]of t)if(G<Q||G>f)P+=ee.count,Y.push(G),a-=ee.count,t.delete(G);if(P>0&&r)r(P,Y);return P},H=()=>{if(a<=o)return 0;let b=Array.from(t.entries()).sort(([,h],[,Q])=>h.lastAccess-Q.lastAccess),C=0,w=[];for(let[h,Q]of b){if(a<=o)break;C+=Q.count,a-=Q.count,w.push(h),t.delete(h)}if(C>0&&r)r(C,w);return C},R=()=>({totalItems:s,cachedItems:a,cachedChunks:t.size,chunkSize:n,maxCachedItems:o,memoryEfficiency:s>0?1-a/s:1}),ie=()=>a,ce=()=>{t.clear(),a=0};return{chunkSize:n,maxCachedItems:o,getTotal:M,setTotal:W,get:g,has:V,set:S,setRange:I,insert:d,delete:T,getRange:p,isRangeLoaded:_,getLoadedRanges:te,findUnloadedRanges:m,getChunkIndex:y,isChunkLoaded:x,isChunkFullyLoaded:L,touchChunk:F,touchChunksForRange:u,evictDistant:E,evictToLimit:H,getStats:R,getCachedCount:ie,clear:ce,reset:()=>{ce(),s=0}}};var zn=(e={})=>{let{maskCharacter:n=sn,maxSampleSize:o=ln}=e,i=[],r=!1,t=(l)=>{if(r||l.length===0)return;let M=Math.min(l.length,o);for(let W=0;W<M;W++){let g=l[W];if(!g||typeof g!=="object")continue;let V={},S=!1;for(let[I,d]of Object.entries(g)){if(I.startsWith("_")||I==="id")continue;V[I]=String(d??"").length,S=!0}if(S)i.push(V)}r=!0},s=()=>r,a=(l)=>{let M={id:`${Ke}${l}`,[kt]:!0,_index:l};if(i.length===0)return M.label=n.repeat(12),M;let W=i[l%i.length];for(let[g,V]of Object.entries(W))M[g]=n.repeat(Math.max(1,V));return M};return{analyzeStructure:t,hasAnalyzedStructure:s,generate:a,generateRange:(l,M)=>{let W=[];for(let g=l;g<=M;g++)W.push(a(g));return W},clear:()=>{i=[],r=!1}}},xt=(e)=>{if(!e||typeof e!=="object")return!1;return e[kt]===!0};var co=50,An=(e={})=>{let{adapter:n,initialItems:o,initialTotal:i,storage:r,placeholder:t,pageSize:s=co,maxConcurrent:a=0,onStateChange:A,onDataChange:y,onItemsLoaded:l,onItemsEvicted:M,onLoadError:W}=e,g=Mn({...r,onEvict:(z,N)=>{M?.(z),E(),u()}}),V=null,S=()=>{if(!V)V=zn(t);return V},I=new Map,d=!1,T,p=!0,_,te,m=[],x=0,L=new Map,F=()=>{for(let z of L.values())z[1].abort();L.clear()},u=()=>{A?.(h())},E=()=>{y?.()},H=()=>{I.clear();let z=g.getLoadedRanges();for(let N of z)for(let le=N.start;le<=N.end;le++){let c=g.get(le);if(c&&!xt(c))I.set(c.id,le)}},R=(z,N)=>{if(!xt(N))I.set(N.id,z)},ie=(z)=>{I.delete(z)},ce=(z,N)=>`${z}-${N}`,de=()=>g.getTotal(),b=()=>g.getCachedCount(),C=()=>d,w=()=>p,h=()=>({total:g.getTotal(),cached:g.getCachedCount(),isLoading:d,pendingRanges:m,error:T,hasMore:p,cursor:_}),Q=()=>g,f=()=>S(),P=(z)=>{let N=g.get(z);if(N!==void 0)return N;if(z>=0&&z<g.getTotal())return S().generate(z);return},Y=(z)=>{let N=I.get(z);if(N===void 0)return;return g.get(N)},G=(z)=>I.get(z)??-1,ee=(z)=>{let N=g.get(z);return N!==void 0&&!xt(N)},pe=(z,N)=>{let le=[],c=g.getTotal();g.touchChunksForRange(z,Math.min(N,c-1));for(let re=z;re<=N&&re<c;re++){let q=g.get(re);if(q!==void 0)le.push(q);else le.push(S().generate(re))}return le},be=(z)=>{g.setTotal(z),p=g.getCachedCount()<z,E(),u()},O=(z,N=0,le)=>{if(n&&z.length>0){let c=S();if(!c.hasAnalyzedStructure())c.analyzeStructure(z)}for(let c=0;c<z.length;c++){let re=z[c];if(re!==void 0){let q=N+c;g.set(q,re),R(q,re)}}if(le!==void 0)g.setTotal(le);else if(N+z.length>g.getTotal())g.setTotal(N+z.length);if(g.getCachedCount()>=g.getTotal()&&g.getTotal()>0)p=!1;E(),u(),l?.(z,N,g.getTotal())},fe=(z,N)=>{let le=g.get(z);if(!le)return!1;let c=le.id,re={...le,...N};if(g.set(z,re),N.id!==void 0&&N.id!==c)ie(c);return R(z,re),E(),u(),!0},j=(z,N)=>{g.insert(N,z),H(),F(),E(),u()},B=(z)=>{let N=I.get(z);if(N===void 0)return!1;if(!g.delete(N))return!1;return H(),F(),E(),u(),!0},D=async(z,N)=>{if(!n)return;let le=g.chunkSize,c=Math.floor(z/le),re=Math.floor(N/le),q=le*2;for(let[U,X]of L){let me=U.indexOf("-"),Le=parseInt(U.slice(0,me),10);if(Math.abs(Le-z)>q)X[1].abort(),L.delete(U)}let K=[],he=[];for(let U=c;U<=re;U++){let X=U*le,me=X+le-1,Le=ce(X,me);if(g.isChunkFullyLoaded(U))continue;let Te=L.get(Le);if(Te)he.push(Te[0]);else K.push({start:X,end:me})}if(K.length===0){if(he.length>0)await Promise.all(he);return}if(a>0){let U=L.size+K.length;if(U>a){let X=(z+N)/2,me=Math.min(U-a,L.size);while(me>0){let Ce=null,Te=-1,Pe=null;for(let[Re,ve]of L){let xe=Re.indexOf("-"),_e=parseInt(Re.slice(0,xe),10),ye=parseInt(Re.slice(xe+1),10),Se=Math.abs((_e+ye)/2-X);if(Se>Te)Te=Se,Ce=Re,Pe=ve[1]}if(Ce)Pe.abort(),L.delete(Ce);me--}let Le=a-L.size;if(K.length>Le)K.sort((Ce,Te)=>{let Pe=Math.abs((Ce.start+Ce.end)/2-X),Re=Math.abs((Te.start+Te.end)/2-X);return Pe-Re}),K.length=Math.max(0,Le)}}if(K.length===0){if(he.length>0)await Promise.all(he);return}for(let U of K){let X=ce(U.start,U.end),me=new AbortController,Le=(async()=>{m.push(U),d=!0,T=void 0,u();try{let Ce=U.end-U.start+1,Te={offset:U.start,limit:Ce,cursor:U.start===te?_:void 0,signal:me.signal},Pe=await n.read(Te);if(O(Pe.items,U.start,Pe.total),Pe.cursor)_=Pe.cursor,te=U.start+Pe.items.length;let Re=U.start+Pe.items.length;if(Re>=x){if(x=Re,Pe.hasMore!==void 0)p=Pe.hasMore;else if(Pe.total!==void 0)p=Re<Pe.total}}catch(Ce){if(Ce?.name==="AbortError")return;T=Ce instanceof Error?Ce:Error(String(Ce)),W?.(T,U)}finally{L.delete(X);let Ce=m.findIndex((Te)=>Te.start===U.start&&Te.end===U.end);if(Ce>=0)m.splice(Ce,1);d=L.size>0,u()}})();L.set(X,[Le,me]),he.push(Le)}await Promise.all(he)},se=async(z,N)=>{if(g.isRangeLoaded(z,N))return;await D(z,N)},Ie=async()=>{if(!n)return;await D(0,s-1)},Z=async()=>{if(!n||d||!p)return!1;let z=g.getCachedCount(),N=g.getTotal(),le=z,c=Math.min(le+s-1,N>0?N-1:le+s-1);if(le>=N&&N>0)return p=!1,!1;return await D(le,c),g.getCachedCount()>z},k=async()=>{if(g.clear(),I.clear(),V)V.clear();F(),m=[],d=!1,_=void 0,te=void 0,p=!0,x=0,T=void 0,E(),u()},ae=(z,N)=>{if(g.evictDistant(z,N)>0)H()},J=()=>{g.clear(),I.clear(),_=void 0,te=void 0,T=void 0,m=[],d=!1,E(),u()},ne=()=>{if(g.reset(),I.clear(),V)V.clear();_=void 0,te=void 0,p=!0,x=0,T=void 0,m=[],d=!1,E(),u()};if(o&&o.length>0)O(o,0,i??o.length);else if(i!==void 0)g.setTotal(i),E(),u();return{getState:h,getTotal:de,getCached:b,getIsLoading:C,getHasMore:w,getStorage:Q,getPlaceholders:f,getItem:P,getItemById:Y,getIndexById:G,isItemLoaded:ee,getItemsInRange:pe,setTotal:be,setItems:O,updateItem:fe,insertItem:j,removeItem:B,loadRange:D,ensureRange:se,loadInitial:Ie,loadMore:Z,reload:k,evictDistant:ae,clear:J,reset:ne}};function Dt(e){let{adapter:n,total:o,autoLoad:i=!0,storage:r}=e,t=e.loading?.cancelThreshold??tn,s=e.loading?.preloadThreshold??en,a=e.loading?.preloadAhead??Qt,A=e.loading?.maxConcurrent??nn,y,l,M,W,g,V,S=null,I=null,d=null,T=0,p=!1,_=null,te=At,m=-1,x=-1,L=-1,F=-1,u=r?.chunkSize??pt,E=()=>{if(S=null,I!==null)clearTimeout(I),I=null},H=(h,Q)=>y.ensureRange(h,Q),R=(h,Q=pt)=>{W.emit("load:start",{offset:h,limit:Q})},ie=(h)=>{W.emit("error",{error:h,context:"ensureRange"})},ce=()=>{S=null;let h={start:l.startIndex,end:l.startIndex+Math.max(0,l.visibleCount-1)};if(h.end<h.start)return;H(h.start,h.end).catch(ie)},de=()=>{if(_!==null)clearTimeout(_),_=null},b=()=>{if(l.destroyed)return;let h=y.getTotal();if(l.visibleCount<=0||l.startIndex>=h)return;let Q=Math.min(l.startIndex+l.visibleCount-1,h-1);if(Q<l.startIndex)return;H(l.startIndex,Q).catch(ie)},C=()=>{if(_!==null||l.destroyed)return;_=setTimeout(()=>{_=null,b()},te),te=Math.min(te*2,on)},w=()=>{de(),te=At};return{name:"data",priority:20,setup(h){l=h.getState(),M=h.sizes.cache,W=h.emitter,g=h.dom,V=h.render.force.bind(h);let Q=null;h.items.setTotalFn(()=>Q?.getTotal()??0),h.items.setIndexByIdFn((P)=>Q?.getIndexById(P)??-1),y=Q=An({adapter:n,...o!==void 0&&{initialTotal:o},pageSize:r?.chunkSize??pt,maxConcurrent:A,...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(l.initialized){let P=y.getTotal(),Y=y.getCached();if(l.totalItems=P,P!==m||Y!==x)m=P,x=Y,M.rebuild(P);h.render.contentSize(M.getTotalSize()),h.render.ifNeeded()}},onItemsLoaded:(P)=>{if(w(),l.initialized)h.render.contentSize(M.getTotalSize()),V(),W.emit("load:end",{items:P,total:y.getTotal()})},onLoadError:(P)=>{if(W.emit("error",{error:P,context:"load"}),l.initialized)h.render.ifNeeded();C()}}),h.items.setGetFn((P)=>y.getItem(P)),h.items.setRemoveFn((P)=>{let Y=y.getIndexById(P);if(Y<0)return-1;if(!y.removeItem(P))return-1;return Y}),h.items.setInsertFn((P,Y)=>{y.insertItem(P,Y)}),h.items.setUpdateFn((P,Y)=>{let G=y.getIndexById(P);if(G<0)return!1;return y.updateItem(G,Y)}),h.hooks.method("reload",async()=>{if(S=null,L=-1,F=-1,w(),h.render.force(),await y.reload(),h.scroll.to(0),i)R(0),await y.loadInitial(),h.render.force()}),h.hooks.method("loadVisibleRange",async()=>{S=null,h.render.force();let P=y.getTotal();if(l.visibleCount>0&&l.startIndex<P){let Y=Math.min(l.startIndex+l.visibleCount-1,P-1);R(l.startIndex,Y-l.startIndex+1),await H(l.startIndex,Y)}}),h.hooks.method("loadInitial",async()=>{R(0),await y.loadInitial(),h.render.force()}),h.hooks.method("getTotal",()=>y.getTotal()),h.hooks.method("setTotal",(P)=>{y.setTotal(P)}),h.hooks.method("_getTotal",()=>y.getTotal()),h.hooks.method("_setTotal",(P)=>{y.setTotal(P)}),h.hooks.method("_cancelAutoLoad",()=>{p=!0}),h.hooks.method("_getLoadedItem",(P)=>y.getStorage().get(P)),h.hooks.method("_getItem",(P)=>y.getItem(P)),h.hooks.method("_getLoadedCount",()=>y.getCached()),W.on("load:start",()=>{g.root.setAttribute("aria-busy","true")}),W.on("load:end",()=>{g.root.removeAttribute("aria-busy")}),h.hooks.onDestroy(()=>{if(d!==null)clearTimeout(d),d=null;E(),de()}),W.on("velocity:change",({velocity:P})=>{T=Math.abs(P)});let f=()=>{if(l.destroyed)return;w(),b(),ce()};if(window.addEventListener("online",f),h.hooks.onDestroy(()=>{window.removeEventListener("online",f)}),i)queueMicrotask(()=>{if(p)return;R(0),y.loadInitial().catch((P)=>{W.emit("error",{error:P,context:"loadInitial"})})});else if(o!==void 0)y.setTotal(o)},hooks:{onAfterScroll(){if(l.destroyed)return;let h=l.startIndex+Math.max(0,l.visibleCount-1);if(T>t){if(I!==null)clearTimeout(I),I=null;S={start:l.startIndex,end:h};return}if(T>s){let P=Math.floor(l.startIndex/u),Y=Math.floor(h/u);if(P!==L||Y!==F){if(L=P,F=Y,h>=l.startIndex)H(l.startIndex,h).catch(ie)}let G=l.startIndex,ee=h,pe=l.scrollDirection;if(pe>0)ee=Math.min(ee+a,y.getTotal()-1);else if(pe<0)G=Math.max(0,G-a);if(S={start:G,end:ee},I!==null)clearTimeout(I);I=setTimeout(()=>{if(I=null,l.destroyed||!S)return;let{start:be,end:O}=S;if(S=null,O>=be)H(be,O).catch(ie)},100);return}E();let Q=Math.floor(l.startIndex/u),f=Math.floor(h/u);if(Q!==L||f!==F){if(L=Q,F=f,h>=l.startIndex)H(l.startIndex,h).catch(ie)}},onIdle(){if(l.destroyed)return;T=0,L=-1,F=-1,ce(),E()},onResize(){if(l.destroyed)return;let h=y.getTotal();if(h<=0)return;if(l.visibleCount<=0||l.startIndex>=h)return;let Q=Math.min(l.startIndex+l.visibleCount-1,h-1);if(Q<l.startIndex)return;R(l.startIndex,Q-l.startIndex+1),H(l.startIndex,Q).catch(ie)}},destroy(){if(d!==null)clearTimeout(d);E(),de()}}}var wn=(e)=>{let n=Math.max(1,Math.floor(e.columns)),o=e.gap??0,i=e.isHeaderFn,r={row:0,col:0},t=(S)=>{if(S<=0)return 0;if(!i)return Math.ceil(S/n);let I=0,d=0,T=0;for(let p=0;p<S;p++)if(i(p)){if(T++,d)I++,d=0;I++,d=0}else if(d++,d>=n)I++,d=0;if(d)I++;return I},s=(S)=>(r.row=a(S),r.col=A(S),r),a=(S)=>{if(!i)return Math.floor(S/n);let I=0,d=0;for(let T=0;T<=S;T++)if(i(T)){if(d)I++,d=0;if(T===S)return I;I++,d=0}else{if(T===S)return I;if(d++,d>=n)I++,d=0}return I},A=(S)=>{if(!i)return S%n;if(i(S))return 0;let I=0;for(let d=0;d<=S;d++)if(i(d))I=0;else{if(d===S)return I;if(I++,I>=n)I=0}return I},y=(S,I,d,T)=>{if(d<=0){T.start=0,T.end=-1;return}if(!i){T.start=Math.max(0,S*n),T.end=Math.min(d-1,(I+1)*n-1);return}let p=l(S,I,d);T.start=p.start,T.end=p.end},l=(S,I,d)=>{if(d<=0)return{start:0,end:-1};if(!i){let m=Math.max(0,S*n),x=Math.min(d-1,(I+1)*n-1);return{start:m,end:x}}let T=-1,p=-1,_=0,te=0;for(let m=0;m<d;m++){if(i(m)){if(te)_++,te=0;if(_>=S&&_<=I){if(T<0)T=m;p=m}_++,te=0}else{if(_>=S&&_<=I){if(T<0)T=m;p=m}if(te++,te>=n)_++,te=0}if(_>I&&!te)break}if(T<0)return{start:0,end:-1};return{start:T,end:p}},M=(S,I,d)=>{if(I<0||I>=n)return-1;let T=S*n+I;if(T<0||T>=d)return-1;return T},W=(S)=>{let I=(n-1)*o;return Math.max(0,(S-I)/n)};return{get columns(){return n},get gap(){return o},update:(S)=>{if(S.columns!==void 0)n=Math.max(1,Math.floor(S.columns));if(S.gap!==void 0)o=S.gap;if(S.isHeaderFn!==void 0)i=S.isHeaderFn},getTotalRows:t,getPosition:s,getRow:a,getCol:A,getItemRange:l,fillItemRange:y,getItemIndex:M,getColumnWidth:W,getColumnOffset:(S,I)=>{let d=W(I);return S*(d+o)}}};function rt(e,n,o,i,r){if(o==="smooth")e.smoothTo(n,i??ht,r);else e.to(n)}var Je={selected:!1,focused:!1};function $t(e){if(!e.columns||e.columns<1)throw Error("[vlist] grid: columns must be >= 1");let n,o,i,r,t=0,s,a=null,A=null,y=-1,l,M,W,g,V,S,I=null,d=0,T=0,p=0,_=0,te=new Map,m=0,x=0,L=0,F=0,u=null,E=!1,H="",R="",ie="",ce={start:0,end:-1},de=-1,b=-1,C=-1,w=!0,h,Q=!1;function f(){let j=(x-1)*L;F=Math.max(0,(m-j)/x)}function P(){if(E)return;E=!0,u=I?.()??null}function Y(){if(A!==null||a===null)return;A=a.dom.content.getAttribute("role")==="listbox"}function G(){return n.getTotalRows(i.totalItems)}function ee(j,B){let D=j/x|0,Ie=(j-D*x)*(F+L)+d,Z=o.getOffset(D)-B+p;if(g)return`translate(${Math.round(Z)}px, ${Math.round(Ie)}px)`;return`translate(${Math.round(Ie)}px, ${Math.round(Z)}px)`}function pe(j,B){let D=o.getSize(B)-L;if(g)j.style.width=`${D}px`,j.style.height=`${F}px`;else j.style.width=`${F}px`,j.style.height=`${D}px`}function be(j,B,D){if(u)u(D,Je);else Je.selected=!1,Je.focused=!1;let se=M(B,D,Je);if(typeof se==="string")j.innerHTML=se;else j.innerHTML="",j.appendChild(se);Xe(j)}function O(){if(i.destroyed)return;let j=r.getRenderOrigin(),B=r.getPixelEquivalent(),D=i.containerSize;if(!w&&B===de&&D===b&&j===t)return;de=B,b=D,w=!1;let se=G();if(D<=0||se===0)return;P(),Y();let Ie=o.indexAtOffset(B),Z=o.indexAtOffset(B+D);if(Z<se-1)Z++;Ie=Math.max(0,Ie),Z=Math.min(se-1,Math.max(0,Z));let k=Math.max(0,Ie-S),ae=Math.min(se-1,Z+S);if(k===i.prevRangeStart&&ae===i.prevRangeEnd&&!i.renderPending&&j===t)return;n.fillItemRange(k,ae,i.totalItems,ce);let{start:J,end:ne}=ce;for(let[le,c]of te)if(le<J||le>ne)c.el.remove(),s.release(c.el),te.delete(le);if(A&&i.totalItems!==y){y=i.totalItems;let le=String(i.totalItems);for(let[,c]of te)c.el.setAttribute("aria-setsize",le)}for(let le=J;le<=ne;le++){let c=W(le);if(!c)continue;let re=le/x|0,q=le-re*x,K=te.get(le);if(K===void 0){let X=s.acquire();if(X.className=H,X.setAttribute("data-index",String(le)),X.setAttribute("data-id",String(c.id)),X.setAttribute("role",A?"option":"listitem"),A)X.id=`${V}-item-${le}`,X.setAttribute("aria-posinset",String(le+1)),X.setAttribute("aria-setsize",String(i.totalItems));be(X,c,le),K={el:X,lastItem:c},te.set(le,K),l.appendChild(X)}else if(K.lastItem!==c)K.el.setAttribute("data-id",String(c.id)),K.lastItem=c,be(K.el,c,le);else if(u)u(le,Je);if(u)if(K.el.classList.toggle(R,Je.selected),K.el.classList.toggle(ie,Je.focused),Je.selected)K.el.setAttribute("aria-selected","true");else K.el.removeAttribute("aria-selected");pe(K.el,re);let he=q*(F+L)+d,U=o.getOffset(re)-j+p;K.el.style.transform=g?`translate(${Math.round(U)}px, ${Math.round(he)}px)`:`translate(${Math.round(he)}px, ${Math.round(U)}px)`}let z=o.getTotalSize();if(z!==C)C=z,a?.render.contentSize(z);i.prevRangeStart=k,i.prevRangeEnd=ae,t=j,i.renderPending=!1;let N=ne-J+1;i.visibleCount=Math.min(N,i.capacity),i.startIndex=J;for(let le=0;le<i.visibleCount;le++){let c=J+le,re=c/x|0;i.visibleIndices[le]=c,i.visibleOffsets[le]=o.getOffset(re),i.visibleSizes[le]=o.getSize(re)}}function fe(){if(i.destroyed)return;h(G()),C=-1,i.prevRangeStart=-1,i.prevRangeEnd=-1,i.renderPending=!0,w=!0,O()}return{name:"grid",priority:10,conflicts:["masonry","table","autosize"],setup(j){r=j.scroll,x=Math.max(1,Math.floor(e.columns)),L=e.gap??0,n=wn({columns:e.columns,gap:L}),o=j.sizes.cache,i=j.getState(),s=j.pool,a=j,l=j.dom.content,M=j.template,g=j.config.axis.primary==="x",V=j.config.classPrefix,S=j.config.overscan,W=j.items.at.bind(j),I=()=>j.render.getStateFn(),H=`${V}-item ${V}-grid-item`,R=`${V}-item--selected`,ie=`${V}-item--focused`,d=j.config.crossPadStart,T=j.config.crossAxisPadding,p=j.config.startPadding,_=j.config.mainAxisPadding,m=i.crossSize-T,f();let B=j.sizes.rawSpec,D;Q=typeof B==="function";function se(ae,J,ne,z){let N=ae*J;if(N>=i.totalItems)return D+ne;return B(N,z)+ne}if(typeof B==="function"){let J={columnWidth:n.getColumnWidth(m),columns:e.columns,gap:L};D=i.totalItems>0?B(0,J):0,j.sizes.setConfig((ne)=>(J.columnWidth=n.getColumnWidth(m),se(ne,e.columns,L,J)),L)}else if(D=B,L>0)j.sizes.setConfig(D+L,L);let Ie=null,Z=o.rebuild;function k(){if(o.rebuild===Ie)return;Z=o.rebuild,h=(ae)=>Z(ae),Ie=(ae)=>{h(Math.ceil(ae/x))},o.rebuild=Ie}j.hooks.method("_setSizeCacheBase",(ae)=>{Z=ae,h=(J)=>Z(J)}),k(),h(G()),j.items.setTotalFn(()=>i.totalItems),j.hooks.method("_getTotal",()=>i.totalItems),j.dom.root.classList.add(`${V}--grid`),j.render.setFn(O,fe),j.hooks.method("getGridLayout",()=>n),j.hooks.method("_getRowGap",()=>n.gap),j.hooks.method("updateGrid",(ae)=>{if(ae.columns!==void 0){if(!Number.isInteger(ae.columns)||ae.columns<1)throw Error("[vlist] updateGrid: columns must be >= 1")}if(ae.gap!==void 0&&ae.gap<0)throw Error("[vlist] updateGrid: gap must be >= 0");if(n.update(ae),ae.columns!==void 0)x=Math.max(1,Math.floor(ae.columns));if(ae.gap!==void 0)L=ae.gap;if(ae.gap!==void 0||ae.columns!==void 0){let J=n.gap;if(typeof B==="function"){let ne={columnWidth:n.getColumnWidth(m),columns:n.columns,gap:J};j.sizes.setConfig((z)=>(ne.columnWidth=n.getColumnWidth(m),se(z,n.columns,J,ne)),J)}else j.sizes.setConfig(D+J,J);k(),h(G())}if(ae.columns!==void 0)j.nav.set({ud:n.columns});m=i.crossSize-T,f(),fe()}),j.scroll.setToIndexFn((ae,J,ne,z,N)=>{let le=n.getRow(ae),c=G();if(c===0)return!1;let re=Math.max(0,Math.min(le,c-1)),q=o.getOffset(re)+p,K=o.getSize(re),he=i.containerSize,U=o.getTotalSize()+_,X=Math.max(0,U-he),me;switch(J){case"center":me=q-(he-K)/2;break;case"end":me=q-he+K;break;default:me=q}me=Math.max(0,Math.min(me,X)),rt(j.scroll,me,ne,z,N)}),j.nav.set({total:()=>i.totalItems,ud:e.columns,lr:1,scrollIndex:(ae)=>n.getRow(ae)}),j.hooks.onDestroy(()=>{for(let[,ae]of te)ae.el.remove();te.clear(),A=null,y=-1,j.dom.root.classList.remove(`${V}--grid`)})},hooks:{onResize(j,B){let D=i.crossSize-T;if(Math.abs(D-m)<1)return;if(m=D,f(),Q){fe();return}let se=r.getRenderOrigin();for(let[Ie,Z]of te){let k=Ie/x|0;pe(Z.el,k),Z.el.style.transform=ee(Ie,se)}}},destroy(){te.clear()}}}var kn=(e)=>{let n=Math.max(1,Math.floor(e.columns)),o=e.gap??0,i=e.containerSize,r=e.crossOffset??0,t=e.mainOffset??0,s=0,a=[],A=()=>{let d=(n-1)*o;s=Math.max(0,(i-d)/n),a=Array(n);let T=s+o;for(let p=0;p<n;p++)a[p]=r+p*T};A();let y=[],l=0,M=[],W=(d,T)=>{if(d<=0)return l=0,y=[],[];let p=Array(n).fill(t),_=Array(n);for(let x=0;x<n;x++)_[x]=[];let te=Array(d);for(let x=0;x<d;x++){let L=0,F=p[0];for(let H=1;H<n;H++){let R=p[H];if(R<F)F=R,L=H}let u=T(x),E=p[L];te[x]={index:x,x:a[L],y:E,lane:L,size:u,crossSize:s},_[L].push(x),p[L]=E+u+o}y=_;let m=0;for(let x=0;x<n;x++){let L=p[x],F=L>0?L-o:0;if(F>m)m=F}return l=m,te},g=(d)=>{if(d.length===0)return l;if(l)return l;let T=Array(n).fill(0);for(let _ of d){let te=_.y+_.size,m=T[_.lane];if(te>m)T[_.lane]=te}let p=0;for(let _=0;_<n;_++)if(T[_]>p)p=T[_];return p},V=(d,T,p)=>{if(d.length===0||p<=T)return M.length=0,M;if(y.length===0||y.length!==n)return S(d,T,p);M.length=0;for(let _=0;_<n;_++){let te=y[_],m=te.length;if(!m)continue;let x=0,L=m;while(x<L){let F=x+L>>>1,u=d[te[F]];if(u.y+u.size<=T)x=F+1;else L=F}for(let F=x;F<m;F++){let u=d[te[F]];if(u.y>=p)break;M.push(u)}}return M},S=(d,T,p)=>{M.length=0;for(let _ of d)if(_.y+_.size>T&&_.y<p)M.push(_);return M};return{get columns(){return n},get gap(){return o},get containerSize(){return i},update:(d)=>{let T=!1;if(d.columns!==void 0){let p=Math.max(1,Math.floor(d.columns));if(p!==n)n=p,T=!0}if(d.gap!==void 0&&d.gap!==o)o=d.gap,T=!0;if(d.containerSize!==void 0&&d.containerSize!==i)i=d.containerSize,T=!0;if(d.crossOffset!==void 0&&d.crossOffset!==r)r=d.crossOffset,T=!0;if(d.mainOffset!==void 0&&d.mainOffset!==t)t=d.mainOffset,T=!0;if(T)A()},calculateLayout:W,getTotalSize:g,getVisibleItems:V}};var Rn=(e,n,o)=>{let i=Array.from(n).sort((s,a)=>s-a);if(i.length<=1)return;let r=[];for(let s=0;s<i.length;s++){let a=o(i[s]);if(a)r.push(a)}if(r.length<=1)return;let t=e.firstChild;for(let s=0;s<r.length;s++){let a=r[s];if(a===t)t=t.nextSibling;else e.insertBefore(a,t)}};var mo=(e=200)=>{let n=[];return{acquire:()=>{let t=n.pop();if(t)return t;let s=document.createElement("div");return s.setAttribute("role","option"),s},release:(t)=>{if(t.remove(),n.length<e)t.className="",t.textContent="",t.removeAttribute("style"),t.removeAttribute("data-index"),t.removeAttribute("data-id"),t.removeAttribute("data-lane"),n.push(t)},clear:()=>{n.length=0}}},fo=1,_n=(e,n,o,i=!1,r,t,s,a,A=()=>0)=>{let y=mo(),l=new Map,M=new Set,W=0,g="",V=-1,S=!1,I={selected:!1,focused:!1},d=(b,C)=>(I.selected=b,I.focused=C,I),T=`${o}-item ${o}-masonry-item`,p=`${o}-group-header`,_=`${o}-item--selected`,te=`${o}-item--focused`,m=(b,C)=>{if(typeof C==="string")b.innerHTML=C;else b.replaceChildren(C);Xe(b)},x=(b,C,w)=>{b.classList.toggle(_,C),b.classList.toggle(te,w)},L=(b,C)=>{let w=Math.round(C.y-E);if(i)b.style.transform=`translate(${w}px, ${Math.round(C.x)}px)`;else b.style.transform=`translate(${Math.round(C.x)}px, ${w}px)`},F=(b,C)=>{if(i)b.style.width=`${C.size}px`,b.style.height=`${C.crossSize}px`;else b.style.width=`${C.crossSize}px`,b.style.height=`${C.size}px`},u=(b,C,w,h,Q)=>{let f=y.acquire(),P=C.__groupHeader,Y=d(h,Q);if(f.className=P?p:T,f.dataset.index=String(b),f.dataset.id=String(C.id),f.dataset.lane=String(w.lane),P)f.setAttribute("role","presentation"),f.removeAttribute("aria-selected"),f.removeAttribute("aria-setsize"),f.removeAttribute("aria-posinset"),f.removeAttribute("id");else if(S){if(f.setAttribute("role","option"),f.ariaSelected=String(h),t)f.id=`${t}-item-${b}`;if(r){let ee=r();if(ee!==V)V=ee,g=String(ee);f.setAttribute("aria-setsize",g);let pe=s?s(b):b+1;f.setAttribute("aria-posinset",String(pe))}}else f.setAttribute("role","listitem"),f.removeAttribute("aria-selected"),f.removeAttribute("aria-setsize"),f.removeAttribute("aria-posinset"),f.removeAttribute("id");F(f,w);let G=n(C,b,Y);return m(f,G),x(f,h,Q),L(f,w),{element:f,lastItem:C,lastSelected:h,lastFocused:Q,lastY:w.y-E,absY:w.y,lastX:w.x,lastSize:w.size,lastCrossSize:w.crossSize,lastSeenFrame:W}},E=0,H=(b,C,w,h,Q=A())=>{if(E=Q,W++,S=typeof a==="function"?a():a===!0,S&&r){let P=r();if(P!==V){V=P,g=String(P);for(let Y of l.values())if(Y.element.getAttribute("role")==="option")Y.element.setAttribute("aria-setsize",g)}}M.clear();for(let P=0;P<C.length;P++)M.add(C[P].index);let f=null;for(let P=0;P<C.length;P++){let Y=C[P],G=Y.index,ee=b(G);if(!ee)continue;let pe=w.has(ee.id),be=G===h,O=l.get(G);if(O){let fe=O.lastItem!==ee,j=O.lastSelected!==pe,B=O.lastFocused!==be,D=O.lastY!==Y.y-E||O.lastX!==Y.x,se=O.lastSize!==Y.size||O.lastCrossSize!==Y.crossSize;if(fe){let Ie=d(pe,be),Z=n(ee,G,Ie);if(m(O.element,Z),O.element.dataset.id=String(ee.id),O.lastItem=ee,!ee.__groupHeader&&S){let ae=s?s(G):G+1;O.element.setAttribute("aria-posinset",String(ae))}}if(fe||j||B){if(x(O.element,pe,be),S)O.element.ariaSelected=String(pe);else O.element.removeAttribute("aria-selected");O.lastSelected=pe,O.lastFocused=be}if(se)F(O.element,Y),O.lastSize=Y.size,O.lastCrossSize=Y.crossSize;if(D)L(O.element,Y),O.lastY=Y.y-E,O.absY=Y.y,O.lastX=Y.x}else{let fe=u(G,ee,Y,pe,be);if(!f)f=document.createDocumentFragment();f.appendChild(fe.element),l.set(G,fe)}}if(f)e.appendChild(f);for(let[P,Y]of l)if(M.has(P))Y.lastSeenFrame=W;else if(W-Y.lastSeenFrame>fo)y.release(Y.element),l.delete(P);else{let G=Math.round(Y.absY-E);if(G!==Y.lastY){Y.lastY=G;let ee=Math.round(Y.lastX);Y.element.style.transform=i?`translate(${G}px, ${ee}px)`:`translate(${ee}px, ${G}px)`}}},R=()=>{for(let b of l.values())y.release(b.element);l.clear(),e.innerHTML=""};return{render:H,getElement:(b)=>l.get(b)?.element,updateItemClasses:(b,C,w)=>{let h=l.get(b);if(!h)return;let Q=h.lastSelected!==C,f=h.lastFocused!==w;if(Q||f)x(h.element,C,w),h.lastSelected=C,h.lastFocused=w},sortDOM:()=>{Rn(e,l.keys(),(b)=>l.get(b)?.element)},clear:R,destroy:()=>{R(),y.clear()}}};var go=100,po=new Set;function Gt(e){if(!e.columns||e.columns<1)throw Error("[vlist] masonry: columns must be >= 1");let n,o=null,i=0,r,t,s=0,a=null,A,y,l,M=[],W=-1,g=-1,V=!0,S=-1,I=-1,d=0,T=0,p=0,_=0,te={columnWidth:0,columns:0,gap:0,containerWidth:0},m=[],x=(k)=>P?P(k):m[k],L=null,F=null,u=!1,E=null;function H(){if(u||!a)return;u=!0,L=a.hooks.get("_getSelectedIds")??null,F=a.hooks.get("_getFocusedIndex")??null}function R(){if(E!==null)return E;if(!a)return!1;return E=a.dom.content.getAttribute("role")==="listbox",E}let ie=[],ce=new Int32Array(0),de=[],b=null,C=null,w=null,h=null,Q=!1,f=!0,P=null,Y=!1;function G(){if(Y||!a)return;if(P=a.hooks.get("_getLoadedItem")??null,P)Y=!0}function ee(){if(Q||!a)return;if(b=a.hooks.get("_getItemLane")??null,C=a.hooks.get("_getItemY")??null,w=a.hooks.get("_getItemH")??null,h=a.hooks.get("_isGroupHeader")??null,b||h)Q=!0}function pe(){ee();let k=n.columns,ae=!!b;if(ae){let J=r.totalItems;ie=Array(k);for(let ne=0;ne<k;ne++)ie[ne]=[];if(ce.length<J)ce=new Int32Array(J);for(let ne=0;ne<J;ne++){if(h?.(ne))continue;let z=b(ne);if(z<0||z>=k)continue;ce[ne]=ie[z].length,ie[z].push(ne)}}else{let J=M.length;ie=Array(k);for(let ne=0;ne<k;ne++)ie[ne]=[];if(ce.length<J)ce=new Int32Array(J);for(let ne=0;ne<J;ne++){let z=M[ne];ce[ne]=ie[z.lane].length,ie[z.lane].push(ne)}}de=Array(k);for(let J=0;J<k;J++){let ne=ie[J],z=new Float64Array(ne.length);for(let N=0;N<ne.length;N++){let le=ne[N];if(ae&&C&&w){let c=C(le),re=w(le);z[N]=c>=0?c+(re>0?re*0.5:0):0}else{let c=M[le];z[N]=c.y+c.size*0.5}}de[J]=z}}function be(k,ae){let J=k.length;if(!J)return-1;let ne=0,z=J-1;while(ne<z){let N=ne+z>>1;if(k[N]<ae)ne=N+1;else z=N}if(ne>0&&Math.abs(k[ne-1]-ae)<=Math.abs(k[ne]-ae))return ne-1;return ne}function O(k,ae,J){if(f)pe(),f=!1;let ne=!!b,z,N;if(ne){if(h?.(k))return k;if(z=b(k),z<0)return k;N=ce[k]}else{let q=M[k];if(!q)return k;z=q.lane,N=ce[k]}let le=n.columns,c=ie[z];switch(A?ae==="ArrowDown"?"ArrowRight":ae==="ArrowUp"?"ArrowLeft":ae==="ArrowRight"?"ArrowDown":ae==="ArrowLeft"?"ArrowUp":ae:ae){case"ArrowDown":if(N+1<c.length)return c[N+1];return k;case"ArrowUp":if(N>0)return c[N-1];return k;case"ArrowRight":{if(z>=le-1)return k;let q=z+1,K=ie[q];if(!K.length)return k;let he=be(de[q],de[z]?.[N]??0);return he>=0?K[he]:k}case"ArrowLeft":{if(z<=0)return k;let q=z-1,K=ie[q];if(!K.length)return k;let he=be(de[q],de[z]?.[N]??0);return he>=0?K[he]:k}case"Home":return 0;case"End":{let q=ie[le-1];return q.length>0?q[q.length-1]:k}case"PageDown":{let q=r.containerSize,K=ne?null:M[k],he=K&&K.size>0?K.size:150,U=Math.max(1,Math.floor(q/he)),X=Math.min(N+U,c.length-1);return c[X]}case"PageUp":{let q=r.containerSize,K=ne?null:M[k],he=K&&K.size>0?K.size:150,U=Math.max(1,Math.floor(q/he)),X=Math.max(0,N-U);return c[X]}}return k}let fe=null;function j(){if(e.size)return(k)=>e.size(k,te);if(fe!==null&&typeof fe==="function")return(k)=>fe(k,te);return(k)=>a.sizes.cache.getSize(k)}function B(){let k=n.columns,ae=n.gap;te.containerWidth=n.containerSize,te.columns=k,te.gap=ae,te.columnWidth=Math.max(0,(n.containerSize-(k-1)*ae)/k)}function D(){if(!a)return;B();let k=r.totalItems;M=n.calculateLayout(k,j()),S=k,f=!0,se()}function se(){if(!a)return;let k=n.getTotalSize(M)+_;if(k===I)return;I=k,a.render.contentSize(k)}function Ie(){if(r.destroyed||!a||!o)return;if(r.totalItems!==S)D();if(V)I=-1,se();H(),G();let k=t.getRenderOrigin(),ae=t.getPixelEquivalent(),J=r.containerSize;if(!V&&ae===W&&J===g&&k===s)return;if(W=ae,g=J,V=!1,J<=0||M.length===0)return;let ne=Math.max(0,ae-l),z=ae+J+l,N=n.getVisibleItems(M,ne,z),le=L?.()??po,c=F?.()??-1;m=a.items.all(),o.render(x,N,le,c,k),s=k;let re=N.length,q=re>0?N[0].index:0,K=re>0?N[re-1].index:0;r.prevRangeStart=q,r.prevRangeEnd=K,r.renderPending=!1;let he=Math.min(re,r.capacity);r.visibleCount=he,r.startIndex=q;for(let U=0;U<he;U++){let X=N[U];r.visibleIndices[U]=X.index,r.visibleOffsets[U]=X.y,r.visibleSizes[U]=X.size}}function Z(){if(r.destroyed)return;I=-1,D(),r.prevRangeStart=-1,r.prevRangeEnd=-1,r.renderPending=!0,V=!0,Ie()}return{name:"masonry",priority:10,conflicts:["grid","table"],validateConfig(k){if(k.reverse)throw Error("[vlist] masonry: cannot be combined with reverse mode")},setup(k){i++,t=k.scroll,a=k,r=k.getState(),fe=k.sizes.rawSpec,A=k.config.axis.primary==="x",y=k.config.classPrefix,l=k.config.overscan*go,d=k.config.crossAxisPadding,T=k.config.crossPadStart,p=k.config.startPadding,_=k.config.endPadding;let ae=r.crossSize-d;n=kn({columns:e.columns,gap:e.gap??0,containerSize:ae,crossOffset:T,mainOffset:p}),o=_n(k.dom.content,k.template,y,A,()=>r.totalItems,y,void 0,R,t.getRenderOrigin),k.dom.root.classList.add(`${y}--masonry`);let J=Tt(k);k.render.setFn(Ie,Z),D(),k.hooks.method("getMasonryLayout",()=>n),k.hooks.method("updateMasonry",(z)=>{if(z.columns!==void 0&&z.columns<1)throw Error("[vlist] updateMasonry: columns must be >= 1");if(z.gap!==void 0&&z.gap<0)throw Error("[vlist] updateMasonry: gap must be >= 0");let N={};if(z.columns!==void 0)N.columns=z.columns;if(z.gap!==void 0)N.gap=z.gap;n.update(N),o?.clear(),Z()}),k.scroll.setToIndexFn((z,N,le,c,re)=>{let q=M[z];if(!q)return!1;let K=r.containerSize,he=n.getTotalSize(M)+_,U=Math.max(0,he-K),X=J(),me=q.y-X.start;if(N==="center")me=q.y-X.start-(K-X.start-X.end-q.size)/2;else if(N==="end"){if(me=q.y-K+q.size+X.end,z>=r.totalItems-1&&q.y+q.size>U)me=U+X.end}let Le=X.start>0?-X.start:0;me=Math.max(Le,Math.min(me,U+X.end)),rt(k.scroll,me,le,c,re)}),k.hooks.method("_scrollItemIntoView",(z)=>{let N=M[z];if(!N)return;let le=t.getPixelEquivalent(),c=r.containerSize,re=n.getTotalSize(M)+_,q=Math.max(0,re-c),K=J(),he=p+K.start,U=_+K.end,X=N.y,me=X+N.size,Le=K.start>0?-K.start:0;if(X-he<le)k.scroll.to(Math.max(Le,X-he));else if(me+U>le+c){let Ce=ie[n.columns-1];if(Ce&&Ce.length>0&&z===Ce[Ce.length-1]&&X>=q)k.scroll.to(q+K.end);else k.scroll.to(Math.min(me+U-c,q+K.end))}}),k.nav.set({total:()=>r.totalItems,navigate:O});let ne=o;k.hooks.onDestroy(()=>{if(i=Math.max(0,i-1),ne?.destroy(),o===ne)o=null;if(i===0)E=null;k.dom.root.classList.remove(`${y}--masonry`)})},hooks:{onResize(k,ae){if(!n||!a)return;let J=r.crossSize-d;if(Math.abs(J-n.containerSize)<1)return;n.update({containerSize:J}),o?.clear(),Z()},onIdle(){o?.sortDOM()}},destroy(){if(i>0)return;o?.destroy(),o=null,M=[],E=null,a=null}}}var ct={key:"",groupIndex:0,headerLayoutIndex:0,firstDataIndex:0,count:0},Bt=(e,n)=>{let o=0,i=e.length-1;while(o<i){let r=o+i+1>>>1;if(e[r].headerLayoutIndex<=n)o=r;else i=r-1}return o},Hn=(e,n)=>{let o=0,i=e.length-1;while(o<i){let r=o+i+1>>>1;if(e[r].firstDataIndex<=n)o=r;else i=r-1}return o},Vn=(e,n,o)=>{if(e===0)return[];let i=[],r=null,t=0,s=0;for(let a=0;a<e;a++){let A=o?.(a);if(!A)continue;let y=n(a,A);if(r===null)r=y,t=0;else if(y!==r){let l=a-t;i.push({key:r,groupIndex:i.length,headerLayoutIndex:s,firstDataIndex:t,count:l}),s=s+1+l,r=y,t=a}}if(r!==null)i.push({key:r,groupIndex:i.length,headerLayoutIndex:s,firstDataIndex:t,count:e-t});return i};var Fn=(e,n,o)=>{let i=Vn(e,n.getGroupForIndex,o),r=e+i.length,t=n.header?.height??n.header?.width??n.headerHeight,s=typeof t==="number"?(S)=>t:(S)=>{let I=i[S];if(!I)return 0;return t(I.key,S)},a={type:"header",group:ct},A={type:"item",dataIndex:0,group:ct};return{get totalEntries(){return r},get groupCount(){return i.length},get groups(){return i},getEntry:(S)=>{if(i.length===0)return A.dataIndex=S,A.group=ct,A;let I=Bt(i,S),d=i[I];if(S===d.headerLayoutIndex)return a.group=d,a;let T=S-d.headerLayoutIndex-1;return A.dataIndex=d.firstDataIndex+T,A.group=d,A},layoutToDataIndex:(S)=>{if(i.length===0)return S;let I=Bt(i,S),d=i[I];if(S===d.headerLayoutIndex)return-1;let T=S-d.headerLayoutIndex-1;return d.firstDataIndex+T},dataToLayoutIndex:(S)=>{if(i.length===0)return S;let I=Hn(i,S),d=i[I],T=S-d.firstDataIndex;return d.headerLayoutIndex+1+T},getGroupAtLayoutIndex:(S)=>{if(i.length===0)return ct;let I=Bt(i,S);return i[I]},getGroupAtDataIndex:(S)=>{if(i.length===0)return ct;let I=Hn(i,S);return i[I]},getHeaderHeight:s,rebuild:(S,I)=>{i=Vn(S,n.getGroupForIndex,I??o),r=S+i.length}}};var Nt=(e,n,o,i,r=0)=>{let t=o?"width":"height",s=document.createElement("div");return s.className=`${n}-sticky-header`,s.setAttribute("role","presentation"),s.setAttribute("aria-hidden","true"),s.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`),s.style[t]=`${i}px`,e.insertBefore(s,e.firstChild),s},On=(e,n,o,i,r,t=!1,s=0,a,A)=>{let y=t?"width":"height",l=t?"height":"width",M=t?"X":"Y",W=(O,fe)=>{O.style[y]=`${fe}px`},g=a??Nt(e,r,t,0,s),V=()=>{let O=document.createElement("div");return O.className="sticky-group",O.style.position="absolute",O.style.willChange="transform",O.style[l]="100%",O},S=V(),I=V();g.append(S,I);let d=S,T=I,p=n.groups,_=[],te=[],m=[],x=0,L=()=>{p=n.groups,x=p.length,_=Array(x),te=Array(x),m=Array(x);for(let O=0;O<x;O++)_[O]=A?A(p[O].headerLayoutIndex):o.getOffset(p[O].headerLayoutIndex),te[O]=n.getHeaderHeight(O),m[O]=te[O]};L();let F=-1,u=0,E=0,H=-1,R=!1,ie=0,ce=!1,de=(O,fe)=>{i(O,fe);let j=te[fe];return W(O,j),j},b=(O)=>{O.replaceChildren(),O.style.transform=""},C=(O)=>{if(O===F)return;if(F=O,u=0,E=0,O<0||O>=x){b(d);return}u=de(d,O),E=m[O],W(g,u),d.style.transform=""},w=(O)=>{if(O===ie)return;ie=O;let fe=Math.round(O);d.style.transform=`translate${M}(${fe}px)`,T.style.transform=`translate${M}(${fe+u}px)`},h=()=>{ie=0,d.style.transform="",T.style.transform=""},Q=()=>{if(!ce)return;let O=d;d=T,T=O,F=H,u=F>=0?te[F]:0,E=F>=0?m[F]:0,W(g,u),b(T),H=-1,ce=!1,h()},f=()=>{if(!ce)return;b(T),H=-1,ce=!1,h()},P=!!a,Y=()=>{if(R)return;if(R=!0,P)g.style.visibility="";else g.style.display=""},G=()=>{if(!R)return;if(R=!1,P)g.style.visibility="hidden";else g.style.display="none";b(d),F=-1,u=0,E=0,f()},ee=(O)=>{if(x===0){if(ce)f();if(!R)Y();C(-1);return}if(O<_[0]){G();return}let fe=0,j=x-1;while(fe<j){let D=fe+j+1>>>1;if(_[D]+m[D]<=O)fe=D;else j=D-1}if(!R)Y();C(fe);let B=fe+1;if(B<x){let D=_[B]-O;if(D<=0&&D>-E){if(H!==B||!ce)H=B,de(T,B),ce=!0;let se=E>0?D/E*u:D;w(se)}else if(D<=-E){if(ce)Q()}else if(ce)f()}else if(ce)f()},pe=()=>{L();let O=F;if(F=-1,u=0,E=0,O>=0)C(O)},be=()=>{g.remove(),F=-1,u=0,E=0,H=-1,R=!1,ce=!1};if(!a)g.style.display="none";return{update:ee,refresh:pe,show:Y,hide:G,destroy:be}};var Qe={selected:!1,focused:!1};function Wt(e){if(!e.getGroupForIndex)throw Error("[vlist] groups: getGroupForIndex is required");let n=e.header?.height??e.header?.width??e.headerHeight;if(n==null||typeof n==="number"&&n<=0)throw Error("[vlist] groups: header height/width must be a positive number or function");let o=e.header?.template??e.headerTemplate;if(!o)throw Error("[vlist] groups: header.template is required");let i=o,r,t=null,s,a,A,y,l,M=null,W,g,V,S=null,I,d,T,p=null,_,te,m=null,x=null,L=0,F=0,u=0,E=0,H=0,R=!1,ie=null,ce=null,de=new Map,b=new Set,C=new Map,w=-1,h=-1,Q=0,f=!0,P=-1,Y=0,G=null,ee;function pe(){return r.totalEntries}function be(){let c=a.totalItems;if(c===P)return;let re=P>0;P=c,r.rebuild(c,S??V),ee(r.totalEntries),D();let q=fe?se():s.getTotalSize();if(M?.(q),t)t.refresh(),t.update(A.getPixelEquivalent());if(re)k();let K=m?.("_scrollbar:getInstance");if(K)K()?.updateBounds(q,a.containerSize)}let O=0,fe=null,j=null,B=null;function D(){if(L<=0){fe=null,j=null;return}O=((a.crossSize||l.clientWidth)-E-(L-1)*F)/L,fe=new Map;let q=r.totalEntries,K=Array(q),he=0;if(R){let U=ie??ce??((Te)=>s.getSize(Te)),X=new Float64Array(L),me=[],Le=0,Ce=-1;for(let Te=0;Te<q;Te++){let Pe=r.getEntry(Te);if(Pe.type==="header"){let Re=0;for(let xe=0;xe<L;xe++)if(X[xe]>Re)Re=X[xe];if(Ce>=0)me[Ce]=Le+Re;Le+=Re;let ve=s.getSize(Te);fe.set(Te,{col:-1,rowY:Le}),K[he++]=[Te,Le,Le+ve],Le+=ve,X.fill(0),Ce=Pe.group.groupIndex}else{let Re=0,ve=X[0];for(let ye=1;ye<L;ye++)if(X[ye]<ve)ve=X[ye],Re=ye;let xe=U(Pe.dataIndex),_e=Le+X[Re];fe.set(Te,{col:Re,rowY:_e,h:xe}),K[he++]=[Te,_e,_e+xe],X[Re]=X[Re]+xe+F}}if(Ce>=0){let Te=0;for(let Pe=0;Pe<L;Pe++)if(X[Pe]>Te)Te=X[Pe];me[Ce]=Le+Te}B=me}else{B=null;let U=0,X=0,me=0;for(let Le=0;Le<q;Le++)if(r.getEntry(Le).type==="header"){if(X>0&&me>0)U+=me;let Te=s.getSize(Le);fe.set(Le,{col:-1,rowY:U}),K[he++]=[Le,U,U+Te],U+=Te,X=0,me=0}else{let Te=X%L,Pe=s.getSize(Le);if(Te===0){if(X>0&&me>0)U+=me+F;me=Pe}else if(Pe>me)me=Pe;fe.set(Le,{col:Te,rowY:U}),K[he++]=[Le,U,U+Pe],X++}}K.length=he,j=K}function se(){if(!fe||fe.size===0)return s.getTotalSize();let c=r.totalEntries;if(R)return B?.[B.length-1]??0;let re=0;for(let q=c-1;q>=0;q--){let K=fe.get(q);if(K){re=K.rowY+(K.h??s.getSize(q));break}if(r.getEntry(q).type==="header"){re=s.getOffset(q)+s.getSize(q);break}}return re}function Ie(c,re){if(fe){let K=fe.get(c);if(K){let he=K.col<0?0:u+K.col*(O+F),U=K.rowY-re;if(I)return`translate(${Math.round(U)}px, ${Math.round(he)}px)`;return`translate(${Math.round(he)}px, ${Math.round(U)}px)`}}let q=s.getOffset(c)-re;if(I)return`translate(${Math.round(q)}px, 0)`;return`translate(0, ${Math.round(q)}px)`}function Z(c,re){let q=fe?.get(re);if(q){let he=q.h??s.getSize(re);if(q.col<0)if(I)c.style.width=`${he}px`,c.style.height="";else c.style.height=`${he}px`,c.style.width="100%";else if(I)c.style.width=`${he}px`,c.style.height=`${O}px`;else c.style.height=`${he}px`,c.style.width=`${O}px`;return}let K=s.getSize(re);if(I)c.style.width=`${K}px`;else c.style.height=`${K}px`}function k(){de.forEach((c)=>{c.remove();let re=c.getAttribute("data-id");if(re)C.set(re,c);else y.release(c)}),de.clear(),b.clear()}function ae(){if(C.size>0)C.forEach((c)=>y.release(c)),C.clear()}function J(c,re,q,K){if(x===null)x=l.getAttribute("role")==="listbox";if(re.type==="header"){let Ce=`__group_header_${re.group.groupIndex}`;if(c.getAttribute("data-id")===Ce)return!0;if(c.className=te,c.setAttribute("role","presentation"),c.removeAttribute("aria-selected"),c.setAttribute("data-id",Ce),I&&t&&re.group.groupIndex===0)c.style.display="none";else{c.style.display="";let Te=i(re.group.key,re.group.groupIndex);if(typeof Te==="string")c.innerHTML=Te;else c.innerHTML="",c.appendChild(Te)}return!0}let he=re.dataIndex,U=V(he);if(!U)return c.innerHTML="",!1;let X=U._isPlaceholder===!0,me=String(U.id);if(!X&&c.getAttribute("data-id")===me){if(x)c.id=`${d}-item-${K}`,c.setAttribute("aria-posinset",String(he+1)),c.setAttribute("aria-setsize",String(a.totalItems));return!0}if(c.className=_,c.setAttribute("role",x?"option":"listitem"),c.setAttribute("data-id",me),x)c.id=`${d}-item-${K}`,c.setAttribute("aria-posinset",String(he+1)),c.setAttribute("aria-setsize",String(a.totalItems));if(X)c.classList.add(`${d}-item--placeholder`);if(q)q(K,Qe);else Qe.selected=!1,Qe.focused=!1;let Le=g(U,he,Qe);if(typeof Le==="string")c.innerHTML=Le;else c.innerHTML="",c.appendChild(Le);return Xe(c),!X}let ne=0;function z(){if(L<=0)return;let c=a.crossSize;if(c===ne)return;ne=c,D();let re=se();if(M?.(re),t)t.refresh(),t.update(A.getPixelEquivalent());f=!0}function N(){if(a.destroyed)return;be(),z();let c=A.getPixelEquivalent(),re=a.containerSize,q=A.getRenderOrigin(),K=q!==Q;if(!f&&c===w&&re===h&&!K)return;w=c,h=re;let he=f;f=!1;let U=pe();if(re<=0||U===0){if(de.size>0)de.forEach((ye)=>{ye.remove(),y.release(ye)}),de.clear(),b.clear();return}let X,me;if(j){let ye=j,Se=ye.length,Me=0,Ae=Se-1;while(Me<Ae){let He=Me+Ae>>>1;if(ye[He][2]<=c)Me=He+1;else Ae=He}let Oe=Me;Ae=Se-1;while(Me<Ae){let He=Me+Ae+1>>>1;if(ye[He][1]>=c+re)Ae=He-1;else Me=He}let Ge=Me,Fe=ye[Oe][0],qe=ye[Ge][0];for(let He=Fe-1;He>=0;He--)if(r.getEntry(He).type==="header"){Fe=He;break}let Ne=T*L;X=Math.max(0,Fe-Ne),me=Math.min(U-1,qe+Ne)}else{let ye=s.indexAtOffset(c),Se=s.indexAtOffset(c+re);if(Se<U-1)Se++;ye=Math.max(0,ye),Se=Math.min(U-1,Math.max(0,Se)),X=Math.max(0,ye-T),me=Math.min(U-1,Se+T)}if(X===a.prevRangeStart&&me===a.prevRangeEnd&&!a.renderPending&&!K)return;Q=q,de.forEach((ye,Se)=>{if(Se<X||Se>me)ye.remove(),y.release(ye),de.delete(Se),b.delete(Se)});let Le=p?.()??null,Ce=Le?`${d}-item--selected`:"",Te=Le?`${d}-item--focused`:"",Pe=null;for(let ye=X;ye<=me;ye++){let Se=de.get(ye),Me=!1;if(Se===void 0){let Ae=r.getEntry(ye);Me=Ae.type==="header";let Oe;if(Ae.type==="header")Oe=`__group_header_${Ae.group.groupIndex}`;else{let Fe=V(Ae.dataIndex);if(Fe&&Fe._isPlaceholder!==!0)Oe=String(Fe.id)}if(Oe!==void 0){let Fe=C.get(Oe);if(Fe)C.delete(Oe),Se=Fe}if(!Se)Se=y.acquire();if(Se.setAttribute("data-index",String(ye)),J(Se,Ae,Le,ye))b.delete(ye);else b.add(ye);if(Z(Se,ye),Se.style.transform=Ie(ye,q),de.set(ye,Se),!Pe)Pe=document.createDocumentFragment();Pe.appendChild(Se)}else if(he&&b.has(ye)){let Ae=r.getEntry(ye);if(Ae.type==="item")if(J(Se,Ae,Le,ye))b.delete(ye);else b.add(ye)}else if(Me=Se.classList.contains(te),he)Z(Se,ye),Se.style.transform=Ie(ye,q);else if(K)Se.style.transform=Ie(ye,q);if(!Me&&Le)if(Le(ye,Qe),Se.classList.toggle(Ce,Qe.selected),Se.classList.toggle(Te,Qe.focused),Qe.selected)Se.setAttribute("aria-selected","true");else Se.removeAttribute("aria-selected")}if(Pe)l.appendChild(Pe);ae();let Re=fe?se():s.getTotalSize();M?.(Re),a.prevRangeStart=X,a.prevRangeEnd=me,a.renderPending=!1;let ve=0,xe=0,_e=!1;for(let ye=X;ye<=me&&ve<a.capacity;ye++){let Se=r.getEntry(ye);if(Se.type==="item"){if(!_e)xe=Se.dataIndex,_e=!0;a.visibleIndices[ve]=Se.dataIndex,a.visibleOffsets[ve]=s.getOffset(ye),a.visibleSizes[ve]=s.getSize(ye),ve++}}a.visibleCount=ve,a.startIndex=xe}function le(){if(a.destroyed)return;z();let c=G?.()??0;if(c!==Y){Y=c;let re=r.groups,q=re.length;r.rebuild(P,S??V);let K=r.groups,he=K.length!==q;if(!he){for(let U=0;U<q;U++)if(K[U].headerLayoutIndex!==re[U].headerLayoutIndex){he=!0;break}}if(he){ee(r.totalEntries),D();let U=fe?se():s.getTotalSize();if(M?.(U),t)t.refresh(),t.update(A.getPixelEquivalent());let X=1/0,me=Math.min(q,K.length);for(let Ce=0;Ce<me;Ce++)if(K[Ce].headerLayoutIndex!==re[Ce].headerLayoutIndex){X=Math.min(K[Ce].headerLayoutIndex,re[Ce].headerLayoutIndex);break}if(K.length>q&&me<K.length)X=Math.min(X,K[me].headerLayoutIndex);else if(q>K.length&&me<q)X=Math.min(X,re[me].headerLayoutIndex);if(X<=a.prevRangeEnd)k();let Le=m?.("_scrollbar:getInstance");if(Le)Le()?.updateBounds(U,a.containerSize)}}a.prevRangeStart=-1,a.prevRangeEnd=-1,a.renderPending=!0,f=!0,N()}return{name:"groups",priority:11,setup(c){A=c.scroll,s=c.sizes.cache,a=c.getState(),y=c.pool,l=c.dom.content,M=c.render.contentSize.bind(c),W=c.dom.root,g=c.template,I=c.config.axis.primary==="x",d=c.config.classPrefix,T=c.config.overscan,H=c.config.mainAxisPadding,V=c.items.at.bind(c),p=()=>c.render.getStateFn(),m=c.hooks.get.bind(c),x=null,_=`${d}-item`,te=`${d}-group-header`;let re=m?.("getGridLayout"),q=m?.("getMasonryLayout");if(re){let ve=re();L=ve.columns,F=ve.gap,u=c.config.crossPadStart,E=c.config.crossAxisPadding}else if(q){let ve=q();L=ve.columns,F=ve.gap,u=c.config.crossPadStart,E=c.config.crossAxisPadding,R=!0;let xe=c.sizes.rawSpec;if(typeof xe==="function")ie=(_e)=>xe(_e,{columnWidth:O})}queueMicrotask(()=>{let ve=m?.("_getLoadedItem");if(ve)S=ve;let xe=m?.("_getLoadedCount");if(xe)G=xe});let K=a.totalItems;r=Fn(K,e,S??V),P=K;let he=typeof n==="number"?(ve)=>n:(ve)=>{let xe=r.groups[ve];if(!xe)return 0;return n(xe.key,ve)},U=s.getSize;ce=U;let X=(ve)=>{let xe=r.getEntry(ve);if(xe.type==="header"){if(e.sticky!==!1&&xe.group.groupIndex===0)return 0;return he(xe.group.groupIndex)}return U(xe.dataIndex)};c.sizes.setConfig(X,c.config.gap);let me=!1,Le=-1;if(c.hooks.method("_setSizeCacheBase",(ve)=>{ee=ve}),ee=s.rebuild,s.rebuild=(ve)=>{if(me){if(!G)G=m?.("_getLoadedCount")??null;let xe=G?.()??0;if(ve!==P||xe!==Le){if(P=ve,Le=xe,!S)S=m?.("_getLoadedItem")??null;if(r.rebuild(ve,S??((_e)=>c.items.all()[_e])),a.totalItems=r.totalEntries,t)t.refresh(),t.update(A.getPixelEquivalent())}}ee(r.totalEntries)},s.rebuild(r.totalEntries),D(),c.items.setTotalFn(()=>r.totalEntries-r.groupCount),W.classList.add(`${d}--grouped`),e.sticky!==!1){let ve=(Se,Me)=>{let Ae=r.groups[Me];if(!Ae)return;let Oe=i(Ae.key,Me);if(typeof Oe==="string")Se.innerHTML=Oe;else Se.replaceChildren(Oe)},xe=r.getHeaderHeight(0),_e=Nt(W,d,I,xe),ye=L>0?(Se)=>{let Me=fe?.get(Se);return Me?Me.rowY:s.getOffset(Se)}:void 0;if(t=On(W,r,s,ve,d,I,0,_e,ye),t.update(A.getPixelEquivalent()),!I)c.dom.viewport.style.height=`calc(100% - ${xe}px)`;else c.dom.viewport.style.width=`calc(100% - ${xe}px)`,c.dom.viewport.style.marginLeft=`${xe}px`}let Ce=!!m?.("_updateTableForGroups");if(me=Ce,Ce)a.totalItems=r.totalEntries,queueMicrotask(()=>{let ve=m?.("_getItem")??null,xe=c.items.all.bind(c),_e=(Se)=>{let Me=r.getEntry(Se);if(Me.type==="header")return{id:`__group_header_${Me.group.groupIndex}`,__groupHeader:!0,groupKey:Me.group.key,groupIndex:Me.group.groupIndex};return ve?ve(Me.dataIndex):xe()[Me.dataIndex]};c.items.setGetFn(_e),c.hooks.method("_getItemAtLayout",_e);let ye=m?.("_updateTableForGroups");if(ye)ye((Se)=>!!Se.__groupHeader,i);c.render.force()});else c.render.setFn(N,le);if(c.hooks.method("getGroupLayout",()=>r),c.hooks.method("_getTotal",()=>r.totalEntries-r.groupCount),c.hooks.method("_dataToLayoutIndex",(ve)=>r.dataToLayoutIndex(ve)),c.hooks.method("_layoutToDataIndex",(ve)=>r.layoutToDataIndex(ve)),!me)c.hooks.method("_getRenderedElement",(ve)=>de.get(ve)??null);c.hooks.method("_isGroupHeader",(ve)=>r.getEntry(ve).type==="header"),c.hooks.method("_getItemLane",(ve)=>{let xe=fe?.get(ve);return xe?xe.col:-1}),c.hooks.method("_getItemY",(ve)=>{let xe=fe?.get(ve);return xe?xe.rowY:-1}),c.hooks.method("_getItemH",(ve)=>fe?.get(ve)?.h??-1);let Te=c.config.startPadding,Pe=H-Te,Re=Tt(c);c.hooks.method("_scrollItemIntoView",(ve)=>{if(ve<0)return;let xe=fe?.get(ve),_e=xe?xe.rowY:s.getOffset(ve),ye=xe?.h??s.getSize(ve),Se=a.containerSize,Me=A.getPixelEquivalent(),Ae=Re(),Oe=Te+Ae.start,Ge=Pe+Ae.end,Fe=Ae.start>0?-Ae.start:0;if(_e<Me+Oe)c.scroll.to(Math.max(Fe,_e-Oe));else if(_e+ye+Ge>Me+Se)c.scroll.to(_e+ye+Ge-Se)}),c.scroll.setToIndexFn((ve,xe,_e,ye,Se)=>{let Me=r.dataToLayoutIndex(ve),Ae=r.totalEntries;if(Ae===0)return!1;let Oe=Math.max(0,Math.min(Me,Ae-1)),Ge=a.containerSize,Fe=fe?.get(Oe),qe=Fe?Fe.rowY:s.getOffset(Oe),Ne=Fe?Fe.h??s.getSize(Oe):s.getSize(Oe),He=fe?se()+H:s.getTotalSize(),ue=Math.max(0,He-Ge),Ee=Re(),we=(fe?H:0)+Ee.end,Ve=qe+Ne;if(R&&B){let Ye=r.getEntry(Oe).group.groupIndex,tt=B[Ye];if(tt!==void 0)Ve=tt}let ke;switch(xe){case"center":ke=qe-Ee.start-(Ge-Ee.start-Ee.end-Ne)/2;break;case"end":ke=Ve-Ge+we;break;default:ke=qe-Ee.start}let We=Ee.start>0?-Ee.start:0;ke=Math.max(We,Math.min(ke,ue+Ee.end)),rt(c.scroll,ke,_e,ye,Se)}),c.hooks.onDestroy(()=>{for(let[,ve]of de)ve.remove();if(de.clear(),b.clear(),t)t.destroy(),t=null;W.classList.remove(`${d}--grouped`)})},hooks:{onAfterScroll(c,re){if(t)t.update(c)},onResize(c,re){if(L<=0)return;ee(r.totalEntries),ne=a.crossSize,D();let q=se();if(M?.(q),t)t.refresh(),t.update(A.getPixelEquivalent());f=!0,N()}},destroy(){if(t)t.destroy(),t=null;de.clear(),b.clear(),C.clear()}}}function et(e,n,o,i){if(i<=0)return 0;let r=i-1;if(o<=1)return e<0?0:e>r?r:e;let t=(n%o+o)%o;if(e<0)return t;if(e>r){let s=Math.floor(r/o)*o;return Math.min(s+t,r)}return e}var Dn=(e,n,o)=>{if(String(o).startsWith(Ke))return!1;let i=Ke+n;if(e.has(i))return e.delete(i),e.add(o),!0;return!1},$n=(e)=>({selected:new Set(e??[]),focusedIndex:-1,focusVisible:!1});function it(e,n,o,i){if(o===0)return;let r=i?-n:n,t=Math.abs(r);if(t>1&&e.focusedIndex>=0){e.focusedIndex=et(e.focusedIndex+r,e.focusedIndex,t,o);return}let s=e.focusedIndex+r;if(s<0)s=0;if(s>=o)s=o-1;e.focusedIndex=s}function Lt(e){return Array.from(e)}var bo={preventScroll:!0};function Kt(e){let n=e?.mode??"single",o=e?.followFocus??!1,i=e?.focusOnClick??!1,r=e?.keyboard??!0,t,s,a,A,y,l,M,W,g=-1,V=new Map,S=null,I=null,d=null,T=null,p,_,te=!1;function m(f){if(te)return;te=!0,S=f.hooks.get("_layoutToDataIndex")??null,I=f.hooks.get("_dataToLayoutIndex")??null,d=f.hooks.get("_isGroupHeader")??null,T=f.hooks.get("_scrollItemIntoView")??null,L=f.hooks.get("_getLoadedItem")??null;let P=f.hooks.get("_getTotal");if(P)_=P;let Y=f.hooks.get("getGroupLayout");if(Y){let G=Y();p=()=>G.totalEntries}}let x=(f)=>S?S(f):f,L=null,F=(f)=>{if(L)return L(f);return s()[f]},u=(f)=>{let P=x(f);return P>=0?F(P):void 0},E=(f,P,Y)=>{if(!d)return f;let G=f;while(G>=0&&G<Y){if(!d(G))return G;G+=P}G=f-P;while(G>=0&&G<Y){if(!d(G))return G;G-=P}return f};function H(f,P){if(n==="single")t.selected.clear(),V.clear();if(t.selected.add(f),P)V.set(f,P)}function R(f,P){if(t.selected.has(f))t.selected.delete(f),V.delete(f);else H(f,P)}function ie(){t.selected.clear(),V.clear()}function ce(f){t.selected.delete(f),V.delete(f)}function de(f,P){let Y=Math.min(f,P),G=Math.max(f,P);for(let ee=Y;ee<=G;ee++){if(d?.(ee))continue;let pe=u(ee);if(pe)t.selected.add(pe.id),V.set(pe.id,pe);else if(L){let be=x(ee);if(be>=0)t.selected.add(Ke+be)}}}function b(){let f=p();for(let P=0;P<f;P++){if(d?.(P))continue;let Y=u(P);if(Y)t.selected.add(Y.id),V.set(Y.id,Y);else if(L){let G=x(P);if(G>=0)t.selected.add(Ke+G)}}}function C(){if(t.selected.size===0)return[];if(V.size>=t.selected.size){let G=[];for(let ee of t.selected){let pe=V.get(ee);if(pe)G.push(pe)}if(G.length===t.selected.size)return G}let f=[],P=new Set(t.selected),Y=p();for(let G=0;G<Y&&P.size>0;G++){if(d?.(G))continue;let ee=u(G);if(ee&&P.has(ee.id))f.push(ee),V.set(ee.id,ee),P.delete(ee.id)}return f}function w(){a(),A.emit("selection:change",{selected:Lt(t.selected),items:C()})}let h=null,Q=-1;return{name:"selection",priority:50,setup(f){t=$n(e?.initial),s=f.items.all.bind(f),a=f.render.force.bind(f),A=f.emitter,y=f.dom;let P=f.config;if(l=f.sizes.cache,M=f.getState(),W=f.scroll.to.bind(f),p=()=>M.totalItems,_=()=>M.totalItems,n==="none"){f.hooks.method("select",()=>{}),f.hooks.method("deselect",()=>{}),f.hooks.method("toggleSelect",()=>{}),f.hooks.method("selectAll",()=>{}),f.hooks.method("clearSelection",()=>{}),f.hooks.method("getSelected",()=>[]),f.hooks.method("getSelectedItems",()=>[]),f.hooks.method("selectNext",()=>{}),f.hooks.method("selectPrevious",()=>{}),f.hooks.method("_seedSelection",()=>{}),f.hooks.method("_getFocusedId",()=>{return}),f.hooks.method("_focusById",()=>{});return}f.dom.enableListbox();let Y=P.classPrefix;f.render.setStateFn((B,D)=>{if(m(f),t.selected.size>0){let se=x(B),Ie=se>=0?u(B):void 0,Z=Ie?.id;if(Z!==void 0)if(t.selected.has(Z))D.selected=!0;else if(Dn(t.selected,se,Z))D.selected=!0,V.delete(Ke+se),V.set(Z,Ie);else D.selected=!1;else D.selected=L!==null&&se>=0&&t.selected.has(Ke+se)}else D.selected=!1;D.focused=t.focusVisible&&t.focusedIndex===B}),f.hooks.method("_getSelectedIds",()=>t.selected),f.hooks.method("_getFocusedIndex",()=>t.focusVisible?t.focusedIndex:-1),y.root.classList.add(`${Y}--selectable`);let G=(B)=>{h=null,Q=-1;let D=B.target.closest("[data-index]");if(!D)return!1;let se=parseInt(D.dataset.index??"-1",10);if(se<0)return!1;if(d?.(se))return!1;if(x(se)<0)return!1;let Z=u(se);if(!Z)return!1;return h=Z,Q=se,!0},ee=0,pe=(B)=>{if(B<0)return;if(f.scroll.cancel(),T){T(B);return}if(!ee){let z=f.hooks.get("_getRowGap");ee=z?z():0}let D=f.nav.get(),se=D.scrollIndex?D.scrollIndex(B):B,Ie=l.getOffset(se),Z=l.getSize(se)-ee,k=M.containerSize,ae=f.scroll.getPixelEquivalent(),{startPadding:J,endPadding:ne}=P;if(Ie<ae)W(Ie);else if(J+Ie+Z+ne>ae+k)W(J+Ie+Z+ne-k)},be=(B)=>{let D=y.content.querySelectorAll(`[data-index="${B}"]`),se=null;for(let Ie=0;Ie<D.length;Ie++){let Z=D[Ie];if(Z.style.display!=="none"){se=Z;break}}if(!se&&D.length>0)se=D[0];y.content.setAttribute("aria-activedescendant",se?.id??`${Y}-item-${B}`)},O=()=>{if(M.destroyed)return;if(m(f),!y.content.matches(":focus-visible")&&!y.root.matches(":focus-visible"))return;let B=p();if(B===0)return;let D=t.focusedIndex>=0?Math.min(t.focusedIndex,B-1):0;D=E(D,1,B),t.focusedIndex=D,t.focusVisible=!0,be(D),pe(D),a()};y.root.addEventListener("focusin",O);let fe=(B)=>{if(M.destroyed)return;let D=B.relatedTarget;if(D&&y.root.contains(D))return;t.focusVisible=!1,a(),y.content.removeAttribute("aria-activedescendant")};if(y.root.addEventListener("focusout",fe),f.hooks.onDestroy(()=>{y.root.removeEventListener("focusin",O),y.root.removeEventListener("focusout",fe)}),f.hooks.onClick((B)=>{if(m(f),!G(B))return;if(n==="multiple"&&B.shiftKey&&t.focusedIndex>=0){let se=g>=0?g:t.focusedIndex,Ie=x(se),Z=x(Q);if(Ie>=0&&Z>=0)de(se,Q);t.focusedIndex=Q,t.focusVisible=i,g=Q,w();return}if(t.focusedIndex=Q,t.focusVisible=i,g=Q,(y.content.getAttribute("tabindex")!==null?y.content:y.root).focus(bo),n==="single")H(h.id,h);else R(h.id,h);w()}),r)f.hooks.onKeydown((B)=>{m(f);let D=p();if(D===0)return;let se=f.nav.get(),Ie=t.focusedIndex,Z=!1,k=!1;if(se.navigate&&(B.key==="ArrowUp"||B.key==="ArrowDown"||B.key==="ArrowLeft"||B.key==="ArrowRight"||B.key==="PageUp"||B.key==="PageDown"||B.key==="Home"||B.key==="End")){let J=se.total?se.total():D,ne=se.navigate(t.focusedIndex,B.key,J);if(ne!==t.focusedIndex)t.focusedIndex=Math.max(0,Math.min(ne,J-1));t.focusVisible=!0,Z=!0}else switch(B.key){case"ArrowUp":{let J=se.ud||1,ne=se.lr,z=P.axis.primary==="x";if(z&&!ne)break;it(t,-(z?ne:J),D,P.reverse),t.focusVisible=!0,Z=!0;break}case"ArrowDown":{let J=se.ud||1,ne=se.lr,z=P.axis.primary==="x";if(z&&!ne)break;it(t,z?ne:J,D,P.reverse),t.focusVisible=!0,Z=!0;break}case"ArrowLeft":{let J=se.ud||1,ne=se.lr,z=P.axis.primary==="x";if(!z&&!ne)break;it(t,-(z?J:ne),D,P.reverse),t.focusVisible=!0,Z=!0;break}case"ArrowRight":{let J=se.ud||1,ne=se.lr,z=P.axis.primary==="x";if(!z&&!ne)break;it(t,z?J:ne,D,P.reverse),t.focusVisible=!0,Z=!0;break}case"Home":if(D>0)t.focusedIndex=0;t.focusVisible=!0,Z=!0;break;case"End":if(D>0)t.focusedIndex=D-1;t.focusVisible=!0,Z=!0;break;case"PageUp":case"PageDown":{let J=se.ud||1,ne=Math.max(0,t.focusedIndex),z=se.scrollIndex?se.scrollIndex(ne):ne,N=l.getSize(z),le=M.containerSize,re=(N>0?Math.max(1,Math.floor(le/N)):10)*J;if(S&&I){let q=S(t.focusedIndex),K=B.key==="PageUp"?-re:re,he=_()-1;t.focusedIndex=I(et(q+K,q,J,he+1))}else{let q=B.key==="PageUp"?t.focusedIndex-re:t.focusedIndex+re;t.focusedIndex=et(q,t.focusedIndex,J,D)}t.focusVisible=!0,Z=!0;break}case" ":case"Enter":if(B.key===" "&&B.shiftKey&&n==="multiple"&&t.focusedIndex>=0){if(g>=0){let J=x(g),ne=x(t.focusedIndex);if(J>=0&&ne>=0)de(g,t.focusedIndex)}t.focusVisible=!0,k=!0,Z=!0;break}if(t.focusedIndex>=0){let J=u(t.focusedIndex);if(J)R(J.id,J),g=t.focusedIndex;t.focusVisible=!0,k=!0,Z=!0}break;case"a":if((B.ctrlKey||B.metaKey)&&n==="multiple"){if(t.selected.size===_())ie();else b();t.focusVisible=!0,k=!0,Z=!0}break;case"Delete":case"Backspace":if(t.selected.size>0)A.emit("delete",{selected:Lt(t.selected),items:C()}),Z=!0;break}if(t.focusedIndex!==Ie&&d){let J=t.focusedIndex>Ie?1:-1;t.focusedIndex=E(t.focusedIndex,J,D)}let ae=t.focusedIndex!==Ie;if(B.shiftKey&&n==="multiple"&&!k&&ae){if(B.key==="ArrowUp"||B.key==="ArrowDown"||B.key==="ArrowLeft"||B.key==="ArrowRight"){let z=u(t.focusedIndex);if(z)R(z.id,z);g=t.focusedIndex,k=!0}if((B.ctrlKey||B.metaKey)&&(B.key==="Home"||B.key==="End")){let z=Ie>=0?Ie:t.focusedIndex,N=x(z),le=x(t.focusedIndex);if(N>=0&&le>=0)de(z,t.focusedIndex);g=t.focusedIndex,k=!0}}if(o&&n==="single"&&!k&&ae&&t.focusedIndex>=0){let J=u(t.focusedIndex);if(J)H(J.id,J);k=!0}if(Z){if(B.preventDefault(),ae&&t.focusedIndex>=0){if(T||!se.navigate)pe(t.focusedIndex);be(t.focusedIndex)}if(k)w();else if(ae){if(a(),t.focusedIndex>=0){let J=u(t.focusedIndex);if(J)A.emit("focus:change",{id:J.id,index:t.focusedIndex})}}}});f.hooks.method("select",(...B)=>{for(let D of B)H(D);w()}),f.hooks.method("deselect",(...B)=>{for(let D of B)ce(D);w()}),f.hooks.method("toggleSelect",(B)=>{R(B),w()}),f.hooks.method("selectAll",()=>{if(n!=="multiple")return;m(f),b(),w()}),f.hooks.method("clearSelection",()=>{ie(),w()}),f.hooks.method("getSelected",()=>Lt(t.selected)),f.hooks.method("getSelectedItems",()=>C());let j=(B)=>{m(f);let D=f.nav.get(),se=D.total?D.total():p();if(se===0)return;if(it(t,B,se,P.reverse),d)t.focusedIndex=E(t.focusedIndex,B,se);let Ie=u(t.focusedIndex);if(Ie)H(Ie.id,Ie);if(t.focusedIndex>=0){if(D.reveal)D.reveal(t.focusedIndex);else pe(t.focusedIndex);be(t.focusedIndex)}w()};f.hooks.method("selectNext",()=>{j(1)}),f.hooks.method("selectPrevious",()=>{j(-1)}),f.hooks.method("_seedSelection",(B)=>{if(n==="single"){if(B.length===1)t.selected.add(B[0])}else for(let D of B)t.selected.add(D)}),f.hooks.method("_isFollowFocus",()=>o),f.hooks.method("_getFocusedId",()=>{if(t.focusedIndex<0)return;return u(t.focusedIndex)?.id}),f.hooks.method("_focusById",(B,D)=>{let se=p();for(let Ie=0;Ie<se;Ie++){if(d?.(Ie))continue;let Z=u(Ie);if(Z&&Z.id===B){if(t.focusedIndex=Ie,D!=="preserve")t.focusVisible=D===!0||i;if(t.focusVisible)be(Ie);else y.content.removeAttribute("aria-activedescendant");A.emit("focus:change",{id:B,index:Ie}),a();return}}})},destroy(){V.clear()}}}function Ct(e){let n=e?.keyboard??!0;return{name:"a11y",priority:55,setup(o){if(o.render.getStateFn())return;o.dom.enableListbox();let{dom:i,config:r}=o,t=o.sizes.cache,s=o.getState(),a=o.emitter,A=r.classPrefix,y=i.liveRegion,l=-1,M=!1,W,g=-1,V=(u)=>o.items.at(u),S=()=>s.totalItems,I={id:0,index:0},d={selected:[],items:[]};o.render.setStateFn((u,E)=>{E.selected=g===u,E.focused=M&&l===u}),o.hooks.method("_getFocusedIndex",()=>M?l:-1),o.hooks.method("_getFocusedId",()=>{if(l<0)return;return V(l)?.id}),o.hooks.method("_focusById",(u,E)=>{let H=S();for(let R=0;R<H;R++){let ie=V(R);if(!ie||ie.id!==u)continue;if(l=R,E!=="preserve")M=E===!0;if(M)i.content.setAttribute("aria-activedescendant",`${A}-item-${R}`);else i.content.removeAttribute("aria-activedescendant");I.id=u,I.index=R,a.emit("focus:change",I),o.render.force();return}});function T(u){y.textContent="",y.textContent=u}let p=(u,E,H)=>{let R=u;while(R>=0&&R<H){let ie=V(R);if(!ie||!ie.__groupHeader)return R;R+=E}R=u-E;while(R>=0&&R<H){let ie=V(R);if(!ie||!ie.__groupHeader)return R;R-=E}return u},_=(u)=>{let E=o.nav.get();if(E.reveal){E.reveal(u);return}let H=o.hooks.get("_scrollItemIntoView");if(H){o.scroll.cancel(),H(u);return}let R=E.scrollIndex?E.scrollIndex(u):u,ie=t.getOffset(R),ce=t.getSize(R),de=o.scroll.getPixelEquivalent(),b=s.containerSize,{startPadding:C,endPadding:w}=r,h=ie+C,Q=h+ce,f=de;if(h<de)f=Math.max(0,ie);else if(Q>de+b)f=Q+w-b;if(f!==de)o.scroll.setPixelEquivalent(f)},te=(u,E)=>{if(i.content.setAttribute("aria-activedescendant",`${A}-item-${u}`),E)_(u);o.render.force()},m=(u)=>{l=u,M=!0,te(u,!0);let E=V(u);if(E)I.id=E.id,I.index=u,a.emit("focus:change",I),T(`Item ${u+1} of ${S()}`)},x=(u,E)=>{if(l=u,E)M=!0;let H=V(u);if(H&&W===H.id)W=void 0,g=-1;else W=H?.id,g=H?u:-1;if(te(u,E),W!==void 0&&H&&W===H.id)d.selected[0]=W,d.selected.length=1,d.items[0]=H,d.items.length=1,T(`Selected, item ${u+1} of ${S()}`);else d.selected.length=0,d.items.length=0,T("Deselected");a.emit("selection:change",d)},L=()=>{if(s.destroyed)return;if(!i.content.matches(":focus-visible"))return;let u=S();if(u===0)return;let E=l>=0?Math.min(l,u-1):0;E=p(E,1,u),m(E)},F=(u)=>{if(s.destroyed)return;let E=u.relatedTarget;if(E&&i.root.contains(E))return;M=!1,i.content.removeAttribute("aria-activedescendant"),o.render.force()};if(i.content.addEventListener("focusin",L),i.content.addEventListener("focusout",F),n)o.hooks.onKeydown((u)=>{if(s.destroyed)return;let E=S();if(E===0)return;let H=l,R=H;if(u.key===" "||u.key==="Enter"){if(H>=0){let ce=V(H);if(ce&&!ce.__groupHeader)x(H,!0)}u.preventDefault();return}let ie=o.nav.get();if(ie.navigate)switch(u.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"PageUp":case"PageDown":case"Home":case"End":R=ie.navigate(H,u.key,E);break;default:return}else{let ce=ie.ud||1,de=ie.lr,b=r.axis.primary==="x",C=(w)=>Math.abs(w)>1&&H>=0?et(H+w,H,Math.abs(w),E):H+w;switch(u.key){case"ArrowUp":if(b&&!de)return;R=C(-(b?de:ce));break;case"ArrowDown":if(b&&!de)return;R=C(b?de:ce);break;case"ArrowLeft":if(!b&&!de)return;R=C(-(b?ce:de));break;case"ArrowRight":if(!b&&!de)return;R=C(b?ce:de);break;case"PageUp":case"PageDown":{let w=t.getSize(Math.max(0,ie.scrollIndex?ie.scrollIndex(H):H)),Q=Math.max(1,Math.floor(s.containerSize/w))*ce;R=et(u.key==="PageUp"?H-Q:H+Q,H,ce,E);break}case"Home":R=0;break;case"End":R=E-1;break;default:return}}if(R<0)R=0;else if(R>=E)R=E-1;if(u.preventDefault(),R=p(R,R>=H?1:-1,E),R!==H)m(R)});o.hooks.onClick((u)=>{if(s.destroyed)return;let E=u.target.closest("[data-index]");if(!E)return;let H=parseInt(E.dataset.index??"-1",10);if(H<0)return;let R=V(H);if(!R||R.__groupHeader)return;M=!1,i.content.focus({preventScroll:!0}),x(H,!1)}),o.hooks.onDestroy(()=>{i.content.removeEventListener("focusin",L),i.content.removeEventListener("focusout",F)})}}}var ho=0,vo=1000,yo=15,So=!0,Io=16,To=!0,mt=2,xo="scroll",Lo=350,Co=12,Eo=(e)=>{if(typeof e!=="object"){let n=e??mt;return{top:n,right:n,bottom:n,left:n}}return{top:e.top??mt,right:e.right??mt,bottom:e.bottom??mt,left:e.left??mt}},Gn=(e,n,o={},i="vlist",r=!1,t,s,a)=>{let A=navigator.userAgentData?.platform||navigator.platform+navigator.userAgent,y=o.platform?o.platform==="windows":!/Mac|Android/i.test(A),{autoHide:l=!y,autoHideDelay:M=vo,minThumbSize:W=yo,showOnHover:g=So,showOnViewportEnter:V=To,clickBehavior:S=xo}=o,I=S==="page"?"scroll":S,d=t??e,T=Eo(o.padding),p=r?T.left:T.top,_=r?T.right:T.bottom,te=r?T.bottom:T.right,m=o.hoverZoneWidth??te+Io,x=!0,L=0,F=0,u=0,E=0,H=!1,R=!1,ie=0,ce=0,de=0,b=null,C=!1,w=null,h=null,Q=-1,f=-1,P=-1,Y=-1,G=-1,ee=e.id?"":(()=>{let ue;do ue=`${i}-scrollport-${++ho}`;while(document.getElementById(ue));return e.id=ue,ue})(),pe=0,be=0,O=null,fe=null,j=null,B=r?"width":"height",D=r?"translateX":"translateY",se=r?(ue)=>ue.clientX:(ue)=>ue.clientY,Ie=r?"left":"top",Z=document.createElement("div"),k=document.createElement("div"),ae=document.createElement("div"),J=r?"--vlist-custom-scrollbar-padding-left":"--vlist-custom-scrollbar-padding-top",ne=()=>{if(d===e)return;let ue=e.offsetTop;Z.style[r?"left":"top"]=ue?`calc(var(${J}) + ${ue}px)`:`var(${J})`,ae.style[r?"left":"top"]=`${ue}px`},z=()=>{if(Z.className=`${i}-scrollbar`,Z.setAttribute("role","scrollbar"),Z.setAttribute("aria-controls",e.id),Z.setAttribute("aria-orientation",r?"horizontal":"vertical"),Z.setAttribute("aria-label",e.getAttribute("aria-label")||"Scroll"),Z.setAttribute("aria-valuemin","0"),Z.tabIndex=0,k.className=`${i}-scrollbar__thumb`,r)Z.classList.add(`${i}-scrollbar--horizontal`);if(o.padding!==void 0)d.style.setProperty("--vlist-custom-scrollbar-padding-top",`${T.top}px`),d.style.setProperty("--vlist-custom-scrollbar-padding-right",`${T.right}px`),d.style.setProperty("--vlist-custom-scrollbar-padding-bottom",`${T.bottom}px`),d.style.setProperty("--vlist-custom-scrollbar-padding-left",`${T.left}px`);if(o.minThumbSize!==void 0)Z.style.setProperty("--vlist-custom-scrollbar-min-thumb-size",`${W}px`);if(Z.appendChild(k),d.appendChild(Z),ae.className=`${i}-scrollbar__hover`,r)ae.classList.add(`${i}-scrollbar__hover--horizontal`),ae.style.height=`${m}px`;else ae.style.width=`${m}px`;if(d.appendChild(ae),d!==e)ne()},N=()=>{if(b)clearTimeout(b),b=null},le=()=>{if(!l)return;N(),b=setTimeout(re,M)},c=()=>{if(!x||L<=F)return;if(N(),!C)Z.classList.add(`${i}-scrollbar--visible`),C=!0;if(l&&!H&&!R&&document.activeElement!==Z)le()},re=()=>{if(H||R||document.activeElement===Z)return;Z.classList.remove(`${i}-scrollbar--visible`),C=!1},q=(ue,Ee)=>{if(L=ue,F=Ee,ne(),K(de),!x||L<=F){Z.style.display="none",Z.classList.remove(`${i}-scrollbar--visible`),C=!1;return}Z.style.display="";let we=Math.max(0,F-p-_),Ve=F/L;if(u=Math.max(W,Ve*we),k.style[B]=`${u}px`,E=we-u,K(de),!l)c()},K=(ue)=>{let Ee=Math.max(0,L-F);if(de=Math.max(0,Math.min(ue,Ee)),Q!==Ee)Q=Ee,Z.setAttribute("aria-valuemax",String(Ee));if(f!==de)f=de,Z.setAttribute("aria-valuenow",String(de));let we=s?.(),Ve=we?.getTotal()??0,ke=Ve?we.indexAtOffset(de)+1:0;if(ke!==P||Ve!==Y)P=ke,Y=Ve,Z.setAttribute("aria-valuetext",`Row ${ke} of ${Ve}`);if(Ee<=0||E<=0)return;let We=de/Ee*E;if(We!==G)G=We,k.style.transform=`${D}(${We}px)`},he=(ue)=>{if(!x||ue.target!==Z||document.activeElement!==Z)return;if(ue.stopPropagation(),ue.altKey||ue.ctrlKey||ue.metaKey)return;let Ee=s?.(),we=Ee?.getSize(Ee.indexAtOffset(de))??40,Ve=de;switch(ue.key){case(r?"ArrowLeft":"ArrowUp"):Ve-=we;break;case(r?"ArrowRight":"ArrowDown"):Ve+=we;break;case"PageUp":Ve-=F;break;case"PageDown":Ve+=F;break;case"Home":Ve=0;break;case"End":Ve=L;break;default:return}ue.preventDefault(),n(Math.max(0,Math.min(Ve,Math.max(0,L-F)))),c()},U=(ue)=>{if(ue.target===k||I!=="jump"||E<=0)return;let Ee=L-F,we=Z.getBoundingClientRect(),Ve=se(ue)-we[Ie],ke=Math.max(0,Math.min(Ve-u/2,E));n(ke/E*Ee),c()},X=()=>{if(O!==null)clearTimeout(O),O=null;if(fe!==null)cancelAnimationFrame(fe),fe=null;j=null},me=(ue)=>{let Ee=E>0?be/ue*E:0;if(pe<Ee)return-1;if(pe>=Ee+u)return 1;return 0},Le=()=>{let ue=L-F,Ee=me(ue);if(Ee===0){X();return}if(Ee===-1){if(be<=0){X();return}let we=Math.max(0,be-F);be=we,n(we)}else{if(be>=ue){X();return}let we=Math.min(ue,be+F);be=we,n(we)}c()},Ce=(ue)=>{if(j===null){j=ue,fe=requestAnimationFrame(Ce);return}let Ee=L-F,we=ue-j;j=ue;let Ve=me(Ee);if(Ve===0){X();return}let ke=Co*F/1000,We=Math.min(ke*we,F);if(Ve===-1){if(be<=0){X();return}let Ye=Math.max(0,be-We);be=Ye,n(Ye)}else{if(be>=Ee){X();return}let Ye=Math.min(Ee,be+We);be=Ye,n(Ye)}N(),fe=requestAnimationFrame(Ce)},Te=(ue)=>{if(ue&&ue.pointerId!==w)return;let Ee=w,we=h;if(w=null,h=null,H=!1,Z.classList.remove(`${i}-scrollbar--dragging`),X(),Ee!==null&&we?.hasPointerCapture(Ee))we.releasePointerCapture(Ee);le()},Pe=(ue)=>{if(!x||ue.button!==0||w!==null||E<=0)return;if(ue.preventDefault(),ue.stopPropagation(),w=ue.pointerId,H=ue.target===k,h=H?k:ue.currentTarget,h.setPointerCapture(w),N(),H)ie=se(ue),ce=de,Z.classList.add(`${i}-scrollbar--dragging`);else if(I==="jump")U(ue);else pe=se(ue)-Z.getBoundingClientRect()[Ie],be=de,Le(),O=setTimeout(()=>{fe=requestAnimationFrame(Ce)},Lo);c()},Re=(ue)=>{if(!H||ue.pointerId!==w)return;ue.stopPropagation();let Ee=se(ue)-ie,we=Math.max(0,L-F),Ve=Math.max(0,Math.min(ce+Ee/E*we,we));K(Ve),n(Ve)},ve=()=>{if(V)c()},xe=()=>{if(!H){if(R=!1,l)le()}},_e=()=>{R=!0,N(),c()},ye=()=>{if(R=!1,!H&&l)le()},Se=["width","radius","thumb-color","track-color"],Me=(ue,Ee)=>d.style.setProperty(`--vlist-custom-scrollbar-${ue}`,Ee),Ae=Se.map((ue)=>d.style.getPropertyValue(`--vlist-custom-scrollbar-${ue}`)),Oe=Ae.slice(0,2),Ge=[],Fe=()=>{for(let ke=0;ke<2;ke++){let We=Se[ke],Ye=d.style.getPropertyValue(`--vlist-custom-scrollbar-${We}`);if(Ye!==Ge[ke])Oe[ke]=Ye;Me(We,Oe[ke])}let ue=getComputedStyle(a??d),Ee=o.width??ue.getPropertyValue("scrollbar-width"),we=ue.getPropertyValue("scrollbar-color").match(/[\w-]+\([^)]*\)|\S+/g);x=o.enabled!==!1&&Ee!=="none";let Ve=[typeof o.width==="number"?`${o.width}px`:ue.getPropertyValue("--vlist-custom-scrollbar-width").trim()||(Ee==="thin"||!y?"6px":"14px"),typeof o.radius==="number"?`${o.radius}px`:ue.getPropertyValue("--vlist-custom-scrollbar-radius").trim()||(y?"0px":"4px"),o.thumbColor??(we?.length===2?we[0]:Ae[2]),o.trackColor??(we?.length===2?we[1]:Ae[3])];for(let ke=0;ke<Se.length;ke++)Me(Se[ke],Ve[ke]);if(Ge=Ve.slice(0,2),ae.style.display=x?"":"none",e.classList.toggle(`${i}-viewport--gutter`,x&&!!o.gutter),!x)Te();q(L,F)},qe=()=>{N(),X(),Te(),N();for(let ue of Ne)ue();for(let ue=0;ue<Se.length;ue++)Me(Se[ue],Ae[ue]);if(e.classList.remove(`${i}-viewport--gutter`),ae.remove(),d.style.removeProperty("--vlist-custom-scrollbar-padding-top"),d.style.removeProperty("--vlist-custom-scrollbar-padding-right"),d.style.removeProperty("--vlist-custom-scrollbar-padding-bottom"),d.style.removeProperty("--vlist-custom-scrollbar-padding-left"),Z.remove(),ee&&e.id===ee)e.removeAttribute("id")};z();let Ne=[],He=(ue,Ee,we)=>{ue.addEventListener(Ee,we),Ne.push(()=>ue.removeEventListener(Ee,we))};for(let ue of[Z,k,ae])He(ue,"pointerdown",Pe),He(ue,"pointermove",Re),He(ue,"pointerup",Te),He(ue,"pointercancel",Te),He(ue,"lostpointercapture",Te);if(He(Z,"keydown",he),He(Z,"focus",c),He(Z,"blur",le),He(e,"mouseenter",ve),He(e,"mouseleave",xe),He(Z,"mouseenter",_e),He(Z,"mouseleave",ye),g)He(ae,"mouseenter",_e),He(ae,"mouseleave",ye);return Fe(),{refresh:Fe,show:c,hide:re,updateBounds:q,updatePosition:K,isVisible:()=>C,destroy:qe}};function Et(e){let n=null,o,i=0,r=0,t=0;return{name:"scrollbar",priority:15,setup(s){let{dom:a,config:A}=s,{classPrefix:y}=A,l=A.axis.primary==="x";o=s.getState(),i=A.mainAxisPadding,n=Gn(a.viewport,(M)=>{s.scroll.to(M)},e,y,l,a.root,()=>s.sizes.cache,a.root.parentElement),a.viewport.classList.add(`${y}-viewport--custom-scrollbar`),s.hooks.method("refreshScrollbar",()=>n?.refresh()),queueMicrotask(()=>{n?.updateBounds(o.totalSize+i,o.containerSize)}),s.hooks.method("_scrollbar:getInstance",()=>n),s.hooks.onDestroy(()=>{if(n?.destroy(),n=null,a.viewport.classList.remove(`${y}-viewport--custom-scrollbar`),e?.gutter)a.viewport.classList.remove(`${y}-viewport--gutter`)})},hooks:{onAfterScroll(s){let a=o.totalSize+i,A=o.containerSize;if(a!==r||A!==t)r=a,t=A,n?.updateBounds(a,A);n?.updatePosition(s),n?.show()},onResize(){let s=o.totalSize+i,a=o.containerSize;r=s,t=a,n?.updateBounds(s,a)}},destroy(){n?.destroy(),n=null}}}var Po=(e)=>{try{let n=sessionStorage.getItem(e);if(!n)return;return JSON.parse(n)}catch{return}};function Yt(e){let n=e?.autoSave,o=e?.restore??(n?Po(n):void 0),i=!1,r=null;return{name:"snapshots",priority:50,setup(t){let{emitter:s,scroll:a}=t,A=t.sizes.cache,y=t.getState(),l=()=>{let g=a.getPixelEquivalent(),V=y.totalItems,I=t.hooks.get("getSelected")?.();if(V===0){let L={index:0,offsetInItem:0,total:0};if(I?.length)L.selectedIds=I;return L}let d=A.indexAtOffset(g),T=g-A.getOffset(d);T=Math.max(0,T);let p={index:d,offsetInItem:T,total:V,scrollTop:g},_=A.getSize(d);if(_)p.offsetRatio=T/_;let te=t.hooks.get("_layoutToDataIndex");if(te){let L=te(d);if(L<0){for(let F=d+1;F<V;F++)if(L=te(F),L>=0)break}if(L>=0)p.dataIndex=L}let m=t.hooks.get("_getTotal");if(m)p.dataTotal=m();if(I?.length)p.selectedIds=I;let x=t.hooks.get("_getFocusedId");if(x){let L=x();if(L!==void 0)p.focusedId=L}return p};t.hooks.method("getScrollSnapshot",l);let M=(g,V=!0)=>{let{index:S,offsetInItem:I,selectedIds:d,focusedId:T}=g,p=y.totalItems,_=g.dataTotal??g.total;if(p===0&&_&&_>0){let b=t.hooks.get("_setTotal");if(b)b(_),p=y.totalItems;A.rebuild(p),t.render.contentSize(A.getTotalSize()),y.totalSize=A.getTotalSize()}if(p===0)return Promise.resolve();if(!Number.isFinite(S)||!Number.isFinite(I))return Promise.resolve();if(A.getTotal()===0)A.rebuild(p),t.render.contentSize(A.getTotalSize()),y.totalSize=A.getTotalSize();let m=t.hooks.get("_dataToLayoutIndex"),x=S;if(g.dataIndex!==void 0&&g.dataIndex>=0)x=m?m(g.dataIndex):g.dataIndex;else if(m)x=m(S);let L=Math.max(0,Math.min(x,p-1)),F=A.getSize(L),u=g.offsetRatio!==void 0?g.offsetRatio*F:Math.min(I,F),E=t.hooks.get("_getTotal")?.(),H=g.total===p||E!==void 0&&g.dataTotal===E,R;if(g.scrollTop!==void 0&&H)R=g.scrollTop;else R=A.getOffset(L)+u;let ie=Math.max(0,y.totalSize-y.containerSize);if(R=Math.max(0,Math.min(R,ie)),t.scroll.to(R),V&&d?.length){let b=t.hooks.get("select");if(b)b(...d)}let ce=t.hooks.get("loadVisibleRange"),de=()=>{if(T===void 0)return;let b=t.hooks.get("_focusById");if(b)b(T,"preserve")};return new Promise((b)=>{let C=(w)=>{if(w)de();b()};if(ce){let w=0,h=()=>{if(y.containerSize>0){if(Math.abs(a.getPixelEquivalent()-R)>1)t.scroll.to(R);ce().then(()=>C(!0),()=>C(!1))}else if(++w<10)requestAnimationFrame(h);else C(!1)};requestAnimationFrame(h)}else{let w=t.hooks.get("reload");if(w)requestAnimationFrame(()=>{w().then(()=>C(!0),()=>C(!1))});else requestAnimationFrame(()=>C(!0))}})};t.hooks.method("restoreScroll",M);let W=!!(o&&n);if(t.hooks.onDestroy(()=>{i=!0}),n){r=()=>{if(i||W)return;let p=l();try{sessionStorage.setItem(n,JSON.stringify(p))}catch{}},t.hooks.method("_saveSnapshot",r);let g=0,V=()=>{if(g)return;g=requestAnimationFrame(()=>{if(g=0,r)r()})};s.on("selection:change",V),s.on("focus:change",V);let S=0,I=()=>{if(S=0,r)r()},d=()=>{if(S)clearTimeout(S);S=setTimeout(I,300)};s.on("scroll",d);let T=()=>{r?.()};if(window.addEventListener("beforeunload",T),t.hooks.onDestroy(()=>{if(g)cancelAnimationFrame(g);if(S)clearTimeout(S);window.removeEventListener("beforeunload",T)}),o&&o.total&&o.total>0){let p=t.hooks.get("_cancelAutoLoad");if(p)p();let _=t.hooks.get("_setTotal");if(_)_(o.total)}}if(o){let g=!0;if(o.selectedIds?.length){let V=t.hooks.get("_seedSelection");if(V)V(o.selectedIds),g=!1}queueMicrotask(()=>{if(M(o,g),W=!1,r)r()})}},hooks:{onIdle(){if(r&&!i)r()}},destroy(){i=!0,r=null}}}function Mo(e){let n=[];if(typeof window<"u"&&e.scroll?.element===window)n.push(Ft());let o=e.item,i=e.orientation==="horizontal",r=i?o.width!=null:o.height!=null,t=i?o.estimatedWidth!=null:o.estimatedHeight!=null;if(!r&&t){if(e.layout==="grid")throw Error('[vlist] config: layout: "grid" needs a fixed item size. An estimate wires autosize(), which grid() cannot combine with: grid indexes its size cache by row, autosize measures items. Use item.height (item.width when horizontal).');n.push(Ot())}if(e.adapter)n.push(Dt({adapter:e.adapter,...e.loading&&{loading:e.loading}}));if(e.layout==="grid"){if(!e.grid)throw Error('[vlist] config: layout: "grid" requires a `grid` option, e.g. { columns: 3 }');n.push($t(e.grid))}if(e.layout==="masonry"){if(!e.masonry)throw Error('[vlist] config: layout: "masonry" requires a `masonry` option, e.g. { columns: 3 }');n.push(Gt(e.masonry))}if(e.groups)n.push(Wt(e.groups));if(e.selection)n.push(Kt(e.selection));if(e.a11y)n.push(e.a11y===!0?Ct():Ct(e.a11y));let s=e.scroll?.scrollbar??e.scrollbar;if(s===!0)n.push(Et({}));else if(s&&typeof s==="object")n.push(Et(s));if(e.snapshots)n.push(Yt());if(e.plugins&&e.plugins.length>0){let a=new Set(e.plugins.map((y)=>y.name));return[...n.filter((y)=>!a.has(y.name)),...e.plugins]}return n}function Yi(e){let{factory:n,...o}=e;return(n??Cn)(o,Mo(e))}export{Yi as createVListFromConfig,Mo as resolvePlugins};
|
package/dist/constants.d.ts
CHANGED
|
@@ -47,22 +47,6 @@ export declare const WHEEL_SENSITIVITY = 1;
|
|
|
47
47
|
export declare const SCROLL_EASING: (t: number) => number;
|
|
48
48
|
/** Default smooth scroll duration (ms) */
|
|
49
49
|
export declare const SCROLL_DURATION = 300;
|
|
50
|
-
/**
|
|
51
|
-
* Runway size as a multiple of the viewport. The bounded content element is
|
|
52
|
-
* sized to `containerSize × this` (capped at total size), giving the native
|
|
53
|
-
* scrollbar room to move before a rebase shifts the logical origin.
|
|
54
|
-
*/
|
|
55
|
-
export declare const BOUNDED_RUNWAY_FACTOR = 2;
|
|
56
|
-
/**
|
|
57
|
-
* Lower rebase trigger: when native scrollTop drops below this fraction of the
|
|
58
|
-
* runway (and we are not already at the logical start), shift the origin back.
|
|
59
|
-
*/
|
|
60
|
-
export declare const BOUNDED_REBASE_LOW = 0.25;
|
|
61
|
-
/**
|
|
62
|
-
* Upper rebase trigger: when native scrollTop rises above this fraction of the
|
|
63
|
-
* runway (and we are not already at the logical end), shift the origin forward.
|
|
64
|
-
*/
|
|
65
|
-
export declare const BOUNDED_REBASE_HIGH = 0.75;
|
|
66
50
|
/** Default auto-hide behavior */
|
|
67
51
|
export declare const SCROLLBAR_AUTO_HIDE = true;
|
|
68
52
|
/** Default auto-hide delay in milliseconds */
|