virtua 0.43.0 → 0.43.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{jsx as e}from"react/jsx-runtime";import{useLayoutEffect as t,useEffect as o,useRef as n,memo as r,useMemo as i,forwardRef as s,useReducer as l,useImperativeHandle as c,useCallback as f}from"react";import{flushSync as d}from"react-dom";const u=null,{min:a,max:h,abs:v,floor:p}=Math,m=(e,t,o)=>a(o,h(t,e)),g=e=>[...e].sort(((e,t)=>e-t)),_="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},w=e=>{let t;return()=>(e&&(t=e(),e=void 0),t)},S=-1,$=(e,t,o)=>{const n=o?"unshift":"push";for(let o=0;o<t;o++)e[n](S);return e},y=(e,t)=>{const o=e.t[t];return o===S?e.o:o},x=(e,t,o)=>{const n=e.t[t]===S;return e.t[t]=o,e.i=a(t,e.i),n},I=(e,t)=>{if(!e.l)return 0;if(e.i>=t)return e.u[t];e.i<0&&(e.u[0]=0,e.i=0);let o=e.i,n=e.u[o];for(;o<t;)n+=y(e,o),e.u[++o]=n;return e.i=t,n},b=(e,t,o=0,n=e.l-1)=>{for(;o<=n;){const r=p((o+n)/2),i=I(e,r);if(i<=t){if(i+y(e,r)>t)return r;o=r+1}else n=r-1}return m(o,0,e.l-1)},z=(e,t,o)=>{const n=t-e.l;return e.i=o?-1:a(t-1,e.i),e.l=t,n>0?($(e.u,n),$(e.t,n,o),e.o*n):(e.u.splice(n),(o?e.t.splice(0,-n):e.t.splice(n)).reduce(((t,o)=>t-(o===S?e.o:o)),0))},k="undefined"!=typeof window,R=()=>document.documentElement,T=e=>e.ownerDocument,C=e=>e.defaultView,E=/*#__PURE__*/w((()=>!!k&&"rtl"===getComputedStyle(R()).direction)),M=/*#__PURE__*/w((()=>/iP(hone|od|ad)/.test(navigator.userAgent))),H=/*#__PURE__*/w((()=>"scrollBehavior"in R().style)),W=e=>h(e.h(),e.v()),O=e=>!!e.v(),B=(e,t=40,o=4,n=0,r,i=!1)=>{let s=!!n,l=1,c=0,f=0,d=0,p=0,m=0,_=0,w=0,k=0,R=s?[0,h(n-1,0)]:u,T=[0,0],C=0;const E=((e,t,o)=>({o:o?o[1]:t,t:o&&o[0]?$(o[0].slice(0,a(e,o[0].length)),h(0,e-o[0].length)):$([],e),l:e,i:-1,u:$([],e)}))(e,t,r),H=new Set,W=()=>d-f,O=()=>W()+m+p,B=e=>((e,t,o,n)=>{if(n=a(n,e.l-1),I(e,n)<=t){const r=b(e,t+o,n);return[b(e,t,n,r),r]}{const r=b(e,t,void 0,n);return[r,b(e,t+o,r)]}})(E,e,c,T[0]),J=()=>(e=>e.l?I(e,e.l-1)+y(e,e.l-1):0)(E),A=e=>I(E,e)-m,L=e=>y(E,e),P=e=>{e&&(M()&&0!==w?m+=e:p+=e)};return{p:()=>l,m:()=>(e=>[e.t.slice(),e.o])(E),_:()=>{let e,t;return _?[e,t]=T:([e,t]=T=B(h(0,O())),R&&(e=a(e,R[0]),t=h(t,R[1]))),1!==w&&(e-=h(0,o)),2!==w&&(t+=h(0,o)),[h(e,0),a(t,E.l-1)]},S:()=>b(E,O()),$:()=>b(E,O()+c),I:e=>E.t[e]===S,k:()=>!!R&&E.t.slice(h(0,R[0]-1),a(E.l-1,R[1]+1)+1).includes(S),R:A,T:L,C:()=>E.l,M:()=>d,H:()=>0!==w,v:()=>c,W:()=>f,h:J,O:()=>(_=p,p=0,[_,2===k||W()+c>=J()]),B:(e,t)=>{const o=[e,t];return H.add(o),()=>{H.delete(o)}},J:(e,t)=>{let o,n,r=0;switch(e){case 1:{const e=_;_=0;const o=t-d,i=v(o);e&&i<v(e)+1||0!==k||(w=o<0?2:1),s&&(R=u,s=!1),d=t,r=4;const l=W();l>=-c&&l<=J()&&(r+=1,n=i>c);break}case 2:r=8,0!==w&&(o=!0,r+=1),w=0,k=0,R=u;break;case 3:{const e=t.filter((([e,t])=>E.t[e]!==t));if(!e.length)break;P(e.reduce(((e,[t,o])=>((2===k||(R?!s&&t<R[0]:A(t)+(0===w&&0===k?L(t):0)<W()))&&(e+=o-L(t)),e)),0));for(const[t,o]of e){const e=L(t),n=x(E,t,o);i&&(C+=n?o:o-e)}i&&c&&C>c&&(P(((e,t)=>{let o=0;const n=[];e.t.forEach(((e,r)=>{e!==S&&(n.push(e),r<t&&o++)})),e.i=-1;const r=g(n),i=r.length,s=i/2|0,l=i%2==0?(r[s-1]+r[s])/2:r[s],c=e.o;return((e.o=l)-c)*h(t-o,0)})(E,b(E,O()))),i=!1),r=3,n=!0;break}case 4:c!==t&&(c=t,r=3);break;case 5:t[1]?(P(z(E,t[0],!0)),k=2,r=1):(z(E,t[0]),r=1);break;case 6:f=t;break;case 7:k=1;break;case 8:R=B(t),r=1}r&&(l=1+(2147483647&l),o&&m&&(p+=m,m=0),H.forEach((([e,t])=>{r&e&&t(n)})))}}},J=setTimeout,A=(e,t)=>t&&E()?-e:e,L=(e,t,o,n,r,i)=>{const s=Date.now;let l=0,c=!1,f=!1,d=!1,a=!1;const h=(()=>{let t;const o=()=>{t!=u&&clearTimeout(t)},n=()=>{o(),t=J((()=>{t=u,(()=>{if(c||f)return c=!1,void h();d=!1,e.J(2)})()}),150)};return n.A=o,n})(),v=()=>{l=s(),d&&(a=!0),i&&e.J(6,i()),e.J(1,n()),h()},p=t=>{if(c||!e.H()||t.ctrlKey)return;const n=s()-l;150>n&&50<n&&(o?t.deltaX:t.deltaY)&&(c=!0)},m=()=>{f=!0,d=a=!1},g=()=>{f=!1,M()&&(d=!0)};return t.addEventListener("scroll",v),t.addEventListener("wheel",p,{passive:!0}),t.addEventListener("touchstart",m,{passive:!0}),t.addEventListener("touchend",g,{passive:!0}),{L:()=>{t.removeEventListener("scroll",v),t.removeEventListener("wheel",p),t.removeEventListener("touchstart",m),t.removeEventListener("touchend",g),h.A()},P:()=>{const[t,i]=e.O();t&&(r(A(t,o),i,a),a=!1,i&&e.v()>e.h()&&e.J(1,n()))}}},P=(e,t)=>{let o,n,r;const i=t?"scrollLeft":"scrollTop",s=t?"overflowX":"overflowY",l=async(n,s)=>{if(!o)return void _((()=>l(n,s)));r&&r();const c=()=>{let t;return[new Promise(((o,n)=>{t=o,r=n,O(e)&&J(n,150)})),e.B(2,(()=>{t&&t()}))]};if(s&&H()){for(;e.J(8,n()),e.k();){const[e,t]=c();try{await e}catch(e){return}finally{t()}}o.scrollTo({[t?"left":"top"]:A(n(),t),behavior:"smooth"})}else for(;;){const[r,s]=c();try{o[i]=A(n(),t),e.J(7),await r}catch(e){return}finally{s()}}};return{D(l){o=l,n=L(e,l,t,(()=>A(l[i],t)),((t,o,n)=>{if(n){const e=l.style,t=e[s];e[s]="hidden",J((()=>{e[s]=t}))}o?(l[i]=e.M()+t,r&&r()):l[i]+=t}))},V(){n&&n.L()},X(e){l((()=>e))},Y(t){t+=e.M(),l((()=>t))},j(t,{align:o,smooth:n,offset:r=0}={}){if(t=m(t,0,e.C()-1),"nearest"===o){const n=e.R(t),r=e.M();if(n<r)o="start";else{if(!(n+e.T(t)>r+e.v()))return;o="end"}}l((()=>r+e.W()+e.R(t)+("end"===o?e.T(t)-e.v():"center"===o?(e.T(t)-e.v())/2:0)),n)},q:()=>{n&&n.P()}}},D=(e,t)=>{let o,n,r;const i=(e,t,o,n,r=0)=>{const s=n?"offsetLeft":"offsetTop",l=r+(n&&E()?o.innerWidth-e[s]-e.offsetWidth:e[s]),c=e.offsetParent;return e!==t&&c?i(c,t,o,n,l):l},s=async(n,i)=>{if(!o)return void _((()=>s(n,i)));r&&r();const l=()=>{let t;return[new Promise(((o,n)=>{t=o,r=n,O(e)&&J(n,150)})),e.B(2,(()=>{t&&t()}))]},c=C(T(o));if(i&&H()){for(;e.J(8,n()),e.k();){const[e,t]=l();try{await e}catch(e){return}finally{t()}}c.scroll({[t?"left":"top"]:A(n(),t),behavior:"smooth"})}else for(;;){const[o,r]=l();try{c.scroll({[t?"left":"top"]:A(n(),t)}),e.J(7),await o}catch(e){return}finally{r()}}};return{D(r){o=r;const s=t?"scrollX":"scrollY",l=T(r),c=C(l),f=l.body;n=L(e,c,t,(()=>A(c[s],t)),((o,n)=>{n?c.scroll({[t?"left":"top"]:e.M()+o}):c.scrollBy(t?o:0,t?0:o)}),(()=>i(r,f,c,t)))},V(){n&&n.L(),o=void 0},q:()=>{n&&n.P()},j(n,{align:r,smooth:l,offset:c=0}={}){if(!o)return;if(n=m(n,0,e.C()-1),"nearest"===r){const t=e.R(n),o=e.M();if(t<o)r="start";else{if(!(t+e.T(n)>o+e.v()))return;r="end"}}const f=T(o),d=C(f),u=f.documentElement,a=()=>e.v()-(t?u.clientWidth:u.clientHeight);s((()=>c+i(o,f.body,d,t)+e.R(n)+("end"===r?e.T(n)-(e.v()-a()):"center"===r?(e.T(n)-(e.v()-a()))/2:0)),l)}}},V=(e,t)=>{const o=P(e,!1),n=P(t,!0);return{D(e){o.D(e),n.D(e)},V(){o.V(),n.V()},X(e,t){o.X(t),n.X(e)},Y(e,t){o.Y(t),n.Y(e)},j(e,t){o.j(t),n.j(e)},q(){o.q(),n.q()}}},X=e=>{let t;return{U(o){(t||(t=new(C(T(o)).ResizeObserver)(e))).observe(o)},F(e){t.unobserve(e)},L(){t&&t.disconnect()}}},Y=(e,t)=>{let o;const n=t?"width":"height",r=new WeakMap,i=X((t=>{const i=[];for(const{target:s,contentRect:l}of t)if(s.offsetParent)if(s===o)e.J(4,l[n]);else{const e=r.get(s);e!=u&&i.push([e,l[n]])}i.length&&e.J(3,i)}));return{G(e){i.U(o=e)},K:(e,t)=>(r.set(e,t),i.U(e),()=>{r.delete(e),i.F(e)}),V:i.L}},j=(e,t)=>{const o=t?"width":"height",n=t?"innerWidth":"innerHeight",r=new WeakMap,i=X((t=>{const n=[];for(const{target:e,contentRect:i}of t){if(!e.offsetParent)continue;const t=r.get(e);t!=u&&n.push([t,i[o]])}n.length&&e.J(3,n)}));let s;return{G(t){const o=C(T(t)),r=()=>{e.J(4,o[n])};o.addEventListener("resize",r),r(),s=()=>{o.removeEventListener("resize",r)}},K:(e,t)=>(r.set(e,t),i.U(e),()=>{r.delete(e),i.F(e)}),V(){s&&s(),i.L()}}},q=(e,t)=>{let o;const n="height",r="width",i=new WeakMap,s=new Set,l=new Set,c=new Map,f=(e,t)=>`${e}-${t}`,d=X((d=>{const u=new Set,a=new Set;for(const{target:s,contentRect:l}of d)if(s.offsetParent)if(s===o)e.J(4,l[n]),t.J(4,l[r]);else{const e=i.get(s);if(e){const[t,o]=e,i=f(t,o),s=c.get(i),d=[l[n],l[r]];let h,v;s?(s[0]!==d[0]&&(h=!0),s[1]!==d[1]&&(v=!0)):h=v=!0,h&&u.add(t),v&&a.add(o),(h||v)&&c.set(i,d)}}if(u.size){const t=[];u.forEach((e=>{let o=0;l.forEach((t=>{const n=c.get(f(e,t));n&&(o=h(o,n[0]))})),o&&t.push([e,o])})),e.J(3,t)}if(a.size){const e=[];a.forEach((t=>{let o=0;s.forEach((e=>{const n=c.get(f(e,t));n&&(o=h(o,n[1]))})),o&&e.push([t,o])})),t.J(3,e)}}));return{G(e){d.U(o=e)},K:(e,t,o)=>(i.set(e,[t,o]),s.add(t),l.add(o),d.U(e),()=>{i.delete(e),d.F(e)}),N(o){for(const[t]of o)for(let o=0;o<e.C();o++)c.delete(f(o,t));t.J(3,o)},Z(o){for(const[e]of o)for(let o=0;o<t.C();o++)c.delete(f(e,o));e.J(3,o)},V:d.L}},U=k?t:o,F="current",G=(e,t)=>{if(Array.isArray(e))for(const o of e)G(o,t);else null==e||"boolean"==typeof e||t.push(e)},K=(e,t)=>{const o=e.key;return null!=o?o:"_"+t},N=e=>{const t=n(null);return t[F]||(t[F]=e())},Q=e=>{const t=n(e);return U((()=>{t[F]=e}),[e]),t},Z=/*#__PURE__*/r((({ee:t,te:o,oe:r,ne:s,re:l,ie:c,se:f,le:d})=>{const u=n(null);U((()=>o(u[F],r)),[r]);const a=i((()=>{const e={contain:"layout style",position:l&&d?void 0:"absolute",[f?"height":"width"]:"100%",[f?"top":"left"]:0,[f?E()?"right":"left":"top"]:s,visibility:!l||d?"visible":"hidden"};return f&&(e.display="inline-flex"),e}),[s,l,d,f]);return e(c,"string"==typeof c?{ref:u,style:a,children:t}:{ref:u,style:a,index:r,children:t})})),ee=(e,t)=>i((()=>{if("function"==typeof e)return[e,t||0];const o=(e=>{const t=[];return G(e,t),t})(e);return[e=>o[e],o.length]}),[e,t]),te=/*#__PURE__*/s((({children:t,count:o,overscan:r,itemSize:i,shift:s,horizontal:f,keepMounted:u,cache:a,startMargin:h=0,ssrCount:v,as:p="div",item:m="div",scrollRef:w,onScroll:S,onScrollEnd:$},y)=>{const[x,I]=ee(t,o),b=n(null),z=n(!!v),k=Q(S),R=Q($),[T,C,E,M]=N((()=>{const e=!!f,t=B(I,i,r,v,a,!i);return[t,Y(t,e),P(t,e),e]}));I!==T.C()&&T.J(5,[I,s]),h!==T.W()&&T.J(6,h);const[H,O]=l(T.p,void 0,T.p),[J,A]=T._(),L=T.H(),D=T.h(),V=[],X=t=>{const o=x(t);return e(Z,{te:C.K,oe:t,ne:T.R(t),re:T.I(t),ie:m,ee:o,se:M,le:z[F]},K(o,t))};U((()=>{z[F]=!1;const e=T.B(1,(e=>{e?d(O):O()})),t=T.B(4,(()=>{k[F]&&k[F](T.M())})),o=T.B(8,(()=>{R[F]&&R[F]()})),n=e=>{C.G(e),E.D(e)};return w?_((()=>{w[F]&&n(w[F])})):n(b[F].parentElement),()=>{e(),t(),o(),C.V(),E.V()}}),[]),U((()=>{E.q()}),[H]),c(y,(()=>({get cache(){return T.m()},get scrollOffset(){return T.M()},get scrollSize(){return W(T)},get viewportSize(){return T.v()},findStartIndex:T.S,findEndIndex:T.$,getItemOffset:T.R,getItemSize:T.T,scrollToIndex:E.j,scrollTo:E.X,scrollBy:E.Y})),[]);for(let e=J,t=A;e<=t;e++)V.push(X(e));if(u){const e=[],t=[];g(u).forEach((o=>{o<J&&e.push(X(o)),o>A&&t.push(X(o))})),V.unshift(...e),V.push(...t)}return e(p,{ref:b,style:{contain:"strict",overflowAnchor:"none",overflow:"clip",flex:"none",position:"relative",width:M?D:"100%",height:M?"100%":D,pointerEvents:L?"none":void 0},children:V})})),oe=/*#__PURE__*/s((({children:t,count:o,overscan:r,itemSize:i,shift:s,horizontal:l,keepMounted:c,reverse:f,cache:d,ssrCount:u,item:a,onScroll:h,onScrollEnd:v,style:p,...m},g)=>{const _=n(null),w=f&&!l;let S=e(te,{ref:g,scrollRef:w?_:void 0,count:o,overscan:r,itemSize:i,shift:s,horizontal:l,keepMounted:c,cache:d,ssrCount:u,item:a,onScroll:h,onScrollEnd:v,children:t});return w&&(S=e("div",{style:{display:"flex",flexDirection:"column",justifyContent:"flex-end",minHeight:"100%"},children:S})),e("div",{ref:_,...m,style:{display:l?"inline-block":"block",[l?"overflowX":"overflowY"]:"auto",contain:"strict",width:"100%",height:"100%",...p},children:S})})),ne=/*#__PURE__*/s((({children:t,count:o,overscan:r,itemSize:i,shift:s,horizontal:f,cache:u,ssrCount:a,as:h="div",item:v="div",onScroll:p,onScrollEnd:m},g)=>{const[_,w]=ee(t,o),S=n(null),$=Q(p),y=Q(m),x=n(!!a),[I,b,z,k]=N((()=>{const e=!!f,t=B(w,i,r,a,u,!i);return[t,j(t,e),D(t,e),e]}));w!==I.C()&&I.J(5,[w,s]);const[R,T]=l(I.p,void 0,I.p),[C,E]=I._(),M=I.H(),H=I.h(),W=[];U((()=>{x[F]=!1;const e=I.B(1,(e=>{e?d(T):T()})),t=I.B(4,(()=>{$[F]&&$[F]()})),o=I.B(8,(()=>{y[F]&&y[F]()})),n=S[F];return b.G(n),z.D(n),()=>{e(),t(),o(),b.V(),z.V()}}),[]),U((()=>{z.q()}),[R]),c(g,(()=>({get cache(){return I.m()},findStartIndex:I.S,findEndIndex:I.$,scrollToIndex:z.j})),[]);for(let t=C,o=E;t<=o;t++){const o=_(t);W.push(e(Z,{te:b.K,oe:t,ne:I.R(t),re:I.I(t),ie:v,ee:o,se:k,le:x[F]},K(o,t)))}return e(h,{ref:S,style:{contain:"strict",overflowAnchor:"none",overflow:"clip",flex:"none",position:"relative",width:k?H:"100%",height:k?"100%":H,pointerEvents:M?"none":void 0},children:W})}));function re(...e){return f((t=>{for(const o of e)o&&ie(o,t)}),e)}function ie(e,t){"function"==typeof e?e(t):e&&(e.current=t)}const se=(e,t)=>`${e}-${t}`,le=/*#__PURE__*/r((({ee:t,te:o,ce:r,fe:s,de:l,ue:c,ae:f,he:d,re:u,ve:a})=>{const h=n(null);return U((()=>o.K(h[F],r,s)),[s,r]),e(a,{ref:h,style:i((()=>({contain:"layout style",display:"grid",position:"absolute",top:l,[E()?"right":"left"]:c,visibility:u?"hidden":"visible",minHeight:f,minWidth:d})),[l,c,d,f,u]),children:t})})),ce=/*#__PURE__*/s((({children:t,row:o,col:r,cellHeight:s=40,cellWidth:f=100,overscan:u=2,initialRowCount:a,initialColCount:h,item:v="div",domRef:p,innerDomRef:m,onScroll:g,onScrollEnd:_,style:w,...S},$)=>{const[y,x,I,b]=N((()=>{const e=B(o,s,u,a),t=B(r,f,u,h);return[e,t,q(e,t),V(e,t)]}));o!==y.C()&&y.J(5,[o]),r!==x.C()&&x.J(5,[r]);const[z,k]=l(y.p,void 0,y.p),[R,T]=l(x.p,void 0,x.p),[C,E]=y._(),[M,H]=x._(),O=y.H(),J=x.H(),A=W(y),L=W(x),P=n(null),D=Q(g),X=Q(_);U((()=>{const e=P[F],t=y.B(1,(e=>{e?d(k):k()})),o=x.B(1,(e=>{e?d(T):T()})),n=y.B(4,(()=>{D[F]&&D[F](y.M())})),r=y.B(8,(()=>{X[F]&&X[F]()}));return I.G(e),b.D(e),()=>{t(),o(),I.V(),b.V(),n(),r()}}),[]),U((()=>{b.q()}),[z,R]),c($,(()=>({get scrollTop(){return y.M()},get scrollLeft(){return x.M()},get scrollHeight(){return W(y)},get scrollWidth(){return W(x)},get viewportHeight(){return y.v()},get viewportWidth(){return x.v()},findStartIndex:()=>[x.S(),y.S()],findEndIndex:()=>[x.$(),y.$()],getItemOffset:(e,t)=>[x.R(e),y.R(t)],getItemSize:(e,t)=>[x.T(e),y.T(t)],resizeCols(e){I.N(e)},resizeRows(e){I.Z(e)},scrollToIndex:b.j,scrollTo:b.X,scrollBy:b.Y})),[]);const Y=i((()=>{const e=new Map;return(o,n)=>{let r=e.get(se(o,n));return r||e.set(se(o,n),r=t({rowIndex:o,colIndex:n})),r}}),[t]),j=[];for(let t=C;t<=E;t++)for(let o=M;o<=H;o++)j.push(e(le,{te:I,ce:t,fe:o,de:y.R(t),ue:x.R(o),ae:y.T(t),he:x.T(o),re:y.I(t)||x.I(o),ve:v,ee:Y(t,o)},se(t,o)));return e("div",{ref:re(P,p),...S,style:{overflow:"auto",contain:"strict",width:"100%",height:"100%",...w},children:e("div",{ref:m,style:{contain:"strict",overflowAnchor:"none",overflow:"clip",flex:"none",position:"relative",width:L,height:A,pointerEvents:O||J?"none":void 0},children:j})})}));export{oe as VList,te as Virtualizer,ne as WindowVirtualizer,ce as experimental_VGrid};
2
+ import{jsx as e}from"react/jsx-runtime";import{useLayoutEffect as t,useEffect as o,useRef as n,memo as r,useMemo as i,forwardRef as s,useReducer as l,useImperativeHandle as c,useCallback as f}from"react";import{flushSync as d}from"react-dom";const a=null,{min:u,max:h,abs:p,floor:v}=Math,g=(e,t,o)=>u(o,h(t,e)),m=e=>[...e].sort(((e,t)=>e-t)),_="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},w=()=>{let e,t;return[new Promise(((o,n)=>{e=o,t=n})),e,t]},S=e=>{let t;return()=>(e&&(t=e(),e=void 0),t)},$=-1,y=(e,t,o)=>{const n=o?"unshift":"push";for(let o=0;o<t;o++)e[n]($);return e},x=(e,t)=>{const o=e.t[t];return o===$?e.o:o},I=(e,t,o)=>{const n=e.t[t]===$;return e.t[t]=o,e.i=u(t,e.i),n},b=(e,t)=>{if(!e.l)return 0;if(e.i>=t)return e.u[t];e.i<0&&(e.u[0]=0,e.i=0);let o=e.i,n=e.u[o];for(;o<t;)n+=x(e,o),e.u[++o]=n;return e.i=t,n},z=(e,t,o=0,n=e.l-1)=>{for(;o<=n;){const r=v((o+n)/2),i=b(e,r);if(i<=t){if(i+x(e,r)>t)return r;o=r+1}else n=r-1}return g(o,0,e.l-1)},k=(e,t,o)=>{const n=t-e.l;return e.i=o?-1:u(t-1,e.i),e.l=t,n>0?(y(e.u,n),y(e.t,n,o),e.o*n):(e.u.splice(n),(o?e.t.splice(0,-n):e.t.splice(n)).reduce(((t,o)=>t-(o===$?e.o:o)),0))},R="undefined"!=typeof window,T=()=>document.documentElement,C=e=>e.ownerDocument,E=e=>e.defaultView,M=/*#__PURE__*/S((()=>!!R&&"rtl"===getComputedStyle(T()).direction)),H=/*#__PURE__*/S((()=>/iP(hone|od|ad)/.test(navigator.userAgent))),W=/*#__PURE__*/S((()=>"scrollBehavior"in T().style)),O=e=>h(e.h(),e.p()),B=e=>!!e.p(),J=(e,t=40,o=4,n=0,r,i=!1)=>{let s=!!n,l=1,c=0,f=0,d=0,v=0,g=0,_=0,w=0,S=0,R=s?[0,h(n-1,0)]:a,T=[0,0],C=0;const E=((e,t,o)=>({o:o?o[1]:t,t:o&&o[0]?y(o[0].slice(0,u(e,o[0].length)),h(0,e-o[0].length)):y([],e),l:e,i:-1,u:y([],e)}))(e,t,r),M=new Set,W=()=>d-f,O=()=>W()+g+v,B=e=>((e,t,o,n)=>{if(n=u(n,e.l-1),b(e,n)<=t){const r=z(e,t+o,n);return[z(e,t,n,r),r]}{const r=z(e,t,void 0,n);return[r,z(e,t+o,r)]}})(E,e,c,T[0]),J=()=>(e=>e.l?b(e,e.l-1)+x(e,e.l-1):0)(E),A=e=>b(E,e)-g,L=e=>x(E,e),D=e=>{e&&(H()&&0!==w?g+=e:v+=e)};return{v:()=>l,m:()=>(e=>[e.t.slice(),e.o])(E),_:()=>{let e,t;return _?[e,t]=T:([e,t]=T=B(h(0,O())),R&&(e=u(e,R[0]),t=h(t,R[1]))),1!==w&&(e-=h(0,o)),2!==w&&(t+=h(0,o)),[h(e,0),u(t,E.l-1)]},S:()=>z(E,O()),$:()=>z(E,O()+c),I:e=>E.t[e]===$,k:()=>!!R&&E.t.slice(h(0,R[0]-1),u(E.l-1,R[1]+1)+1).includes($),R:A,T:L,C:()=>E.l,M:()=>d,H:()=>0!==w,p:()=>c,W:()=>f,h:J,O:()=>(_=v,v=0,[_,2===S||W()+c>=J()]),B:(e,t)=>{const o=[e,t];return M.add(o),()=>{M.delete(o)}},J:(e,t)=>{let o,n,r=0;switch(e){case 1:{const e=_;_=0;const o=t-d,i=p(o);e&&i<p(e)+1||0!==S||(w=o<0?2:1),s&&(R=a,s=!1),d=t,r=4;const l=W();l>=-c&&l<=J()&&(r+=1,n=i>c);break}case 2:r=8,0!==w&&(o=!0,r+=1),w=0,S=0,R=a;break;case 3:{const e=t.filter((([e,t])=>E.t[e]!==t));if(!e.length)break;D(e.reduce(((e,[t,o])=>((2===S||(R?!s&&t<R[0]:A(t)+(0===w&&0===S?L(t):0)<W()))&&(e+=o-L(t)),e)),0));for(const[t,o]of e){const e=L(t),n=I(E,t,o);i&&(C+=n?o:o-e)}i&&c&&C>c&&(D(((e,t)=>{let o=0;const n=[];e.t.forEach(((e,r)=>{e!==$&&(n.push(e),r<t&&o++)})),e.i=-1;const r=m(n),i=r.length,s=i/2|0,l=i%2==0?(r[s-1]+r[s])/2:r[s],c=e.o;return((e.o=l)-c)*h(t-o,0)})(E,z(E,O()))),i=!1),r=3,n=!0;break}case 4:c!==t&&(c=t,r=3);break;case 5:t[1]?(D(k(E,t[0],!0)),S=2,r=1):(k(E,t[0]),r=1);break;case 6:f=t;break;case 7:S=1;break;case 8:R=B(t),r=1}r&&(l=1+(2147483647&l),o&&g&&(v+=g,g=0),M.forEach((([e,t])=>{r&e&&t(n)})))}}},A=setTimeout,L=(e,t)=>t&&M()?-e:e,D=(e,t,o,n,r,i)=>{const s=Date.now;let l=0,c=!1,f=!1,d=!1,u=!1;const h=(()=>{let t;const o=()=>{t!=a&&clearTimeout(t)},n=()=>{o(),t=A((()=>{t=a,(()=>{if(c||f)return c=!1,void h();d=!1,e.J(2)})()}),150)};return n.A=o,n})(),p=()=>{l=s(),d&&(u=!0),i&&e.J(6,i()),e.J(1,n()),h()},v=t=>{if(c||!e.H()||t.ctrlKey)return;const n=s()-l;150>n&&50<n&&(o?t.deltaX:t.deltaY)&&(c=!0)},g=()=>{f=!0,d=u=!1},m=()=>{f=!1,H()&&(d=!0)};return t.addEventListener("scroll",p),t.addEventListener("wheel",v,{passive:!0}),t.addEventListener("touchstart",g,{passive:!0}),t.addEventListener("touchend",m,{passive:!0}),{L:()=>{t.removeEventListener("scroll",p),t.removeEventListener("wheel",v),t.removeEventListener("touchstart",g),t.removeEventListener("touchend",m),h.A()},D:()=>{const[t,i]=e.O();t&&(r(L(t,o),i,u),u=!1,i&&e.p()>e.h()&&e.J(1,n()))}}},P=(e,t)=>{let o,n,r;const[i,s,l]=w(),c=t?"scrollLeft":"scrollTop",f=t?"overflowX":"overflowY",d=async(n,s)=>{await i,r&&r();const l=()=>{const[t,o,n]=w();return r=n,B(e)&&A(n,150),[t,e.B(2,(()=>{o()}))]};if(s&&W()){for(;e.J(8,n()),e.k();){const[e,t]=l();try{await e}catch(e){return}finally{t()}}o.scrollTo({[t?"left":"top"]:L(n(),t),behavior:"smooth"})}else for(;;){const[r,i]=l();try{o[c]=L(n(),t),e.J(7),await r}catch(e){return}finally{i()}}};return{P(i){o=i,n=D(e,i,t,(()=>L(i[c],t)),((t,o,n)=>{if(n){const e=i.style,t=e[f];e[f]="hidden",A((()=>{e[f]=t}))}o?(i[c]=e.M()+t,r&&r()):i[c]+=t})),s()},V(){n&&n.L(),l()},X(e){d((()=>e))},Y(t){t+=e.M(),d((()=>t))},j(t,{align:o,smooth:n,offset:r=0}={}){if(t=g(t,0,e.C()-1),"nearest"===o){const n=e.R(t),r=e.M();if(n<r)o="start";else{if(!(n+e.T(t)>r+e.p()))return;o="end"}}d((()=>r+e.W()+e.R(t)+("end"===o?e.T(t)-e.p():"center"===o?(e.T(t)-e.p())/2:0)),n)},q:()=>{n&&n.D()}}},V=(e,t)=>{let o,n,r;const[i,s,l]=w(),c=(e,t,o,n,r=0)=>{const i=n?"offsetLeft":"offsetTop",s=r+(n&&M()?o.innerWidth-e[i]-e.offsetWidth:e[i]),l=e.offsetParent;return e!==t&&l?c(l,t,o,n,s):s};return{P(r){o=r;const i=t?"scrollX":"scrollY",l=C(r),f=E(l),d=l.body;n=D(e,f,t,(()=>L(f[i],t)),((o,n)=>{n?f.scroll({[t?"left":"top"]:e.M()+o}):f.scrollBy(t?o:0,t?0:o)}),(()=>c(r,d,f,t))),s()},V(){n&&n.L(),o=void 0,l()},q:()=>{n&&n.D()},j(n,{align:s,smooth:l,offset:f=0}={}){if(!o)return;if(n=g(n,0,e.C()-1),"nearest"===s){const t=e.R(n),o=e.M();if(t<o)s="start";else{if(!(t+e.T(n)>o+e.p()))return;s="end"}}const d=C(o),a=E(d),u=d.documentElement,h=()=>e.p()-(t?u.clientWidth:u.clientHeight);(async(n,s)=>{await i,r&&r();const l=()=>{const[t,o,n]=w();return r=n,B(e)&&A(n,150),[t,e.B(2,(()=>{o()}))]},c=E(C(o));if(s&&W()){for(;e.J(8,n()),e.k();){const[e,t]=l();try{await e}catch(e){return}finally{t()}}c.scroll({[t?"left":"top"]:L(n(),t),behavior:"smooth"})}else for(;;){const[o,r]=l();try{c.scroll({[t?"left":"top"]:L(n(),t)}),e.J(7),await o}catch(e){return}finally{r()}}})((()=>f+c(o,d.body,a,t)+e.R(n)+("end"===s?e.T(n)-(e.p()-h()):"center"===s?(e.T(n)-(e.p()-h()))/2:0)),l)}}},X=(e,t)=>{const o=P(e,!1),n=P(t,!0);return{P(e){o.P(e),n.P(e)},V(){o.V(),n.V()},X(e,t){o.X(t),n.X(e)},Y(e,t){o.Y(t),n.Y(e)},j(e,t){o.j(t),n.j(e)},q(){o.q(),n.q()}}},Y=e=>{let t;return{U(o){(t||(t=new(E(C(o)).ResizeObserver)(e))).observe(o)},F(e){t.unobserve(e)},L(){t&&t.disconnect()}}},j=(e,t)=>{let o;const n=t?"width":"height",r=new WeakMap,i=Y((t=>{const i=[];for(const{target:s,contentRect:l}of t)if(s.offsetParent)if(s===o)e.J(4,l[n]);else{const e=r.get(s);e!=a&&i.push([e,l[n]])}i.length&&e.J(3,i)}));return{G(e){i.U(o=e)},K:(e,t)=>(r.set(e,t),i.U(e),()=>{r.delete(e),i.F(e)}),V:i.L}},q=(e,t)=>{const o=t?"width":"height",n=t?"innerWidth":"innerHeight",r=new WeakMap,i=Y((t=>{const n=[];for(const{target:e,contentRect:i}of t){if(!e.offsetParent)continue;const t=r.get(e);t!=a&&n.push([t,i[o]])}n.length&&e.J(3,n)}));let s;return{G(t){const o=E(C(t)),r=()=>{e.J(4,o[n])};o.addEventListener("resize",r),r(),s=()=>{o.removeEventListener("resize",r)}},K:(e,t)=>(r.set(e,t),i.U(e),()=>{r.delete(e),i.F(e)}),V(){s&&s(),i.L()}}},U=(e,t)=>{let o;const n="height",r="width",i=new WeakMap,s=new Set,l=new Set,c=new Map,f=(e,t)=>`${e}-${t}`,d=Y((d=>{const a=new Set,u=new Set;for(const{target:s,contentRect:l}of d)if(s.offsetParent)if(s===o)e.J(4,l[n]),t.J(4,l[r]);else{const e=i.get(s);if(e){const[t,o]=e,i=f(t,o),s=c.get(i),d=[l[n],l[r]];let h,p;s?(s[0]!==d[0]&&(h=!0),s[1]!==d[1]&&(p=!0)):h=p=!0,h&&a.add(t),p&&u.add(o),(h||p)&&c.set(i,d)}}if(a.size){const t=[];a.forEach((e=>{let o=0;l.forEach((t=>{const n=c.get(f(e,t));n&&(o=h(o,n[0]))})),o&&t.push([e,o])})),e.J(3,t)}if(u.size){const e=[];u.forEach((t=>{let o=0;s.forEach((e=>{const n=c.get(f(e,t));n&&(o=h(o,n[1]))})),o&&e.push([t,o])})),t.J(3,e)}}));return{G(e){d.U(o=e)},K:(e,t,o)=>(i.set(e,[t,o]),s.add(t),l.add(o),d.U(e),()=>{i.delete(e),d.F(e)}),N(o){for(const[t]of o)for(let o=0;o<e.C();o++)c.delete(f(o,t));t.J(3,o)},Z(o){for(const[e]of o)for(let o=0;o<t.C();o++)c.delete(f(e,o));e.J(3,o)},V:d.L}},F=R?t:o,G="current",K=(e,t)=>{if(Array.isArray(e))for(const o of e)K(o,t);else null==e||"boolean"==typeof e||t.push(e)},N=(e,t)=>{const o=e.key;return null!=o?o:"_"+t},Q=e=>{const t=n(null);return t[G]||(t[G]=e())},Z=e=>{const t=n(e);return F((()=>{t[G]=e}),[e]),t},ee=/*#__PURE__*/r((({ee:t,te:o,oe:r,ne:s,re:l,ie:c,se:f,le:d})=>{const a=n(null);F((()=>o(a[G],r)),[r]);const u=i((()=>{const e={contain:"layout style",position:l&&d?void 0:"absolute",[f?"height":"width"]:"100%",[f?"top":"left"]:0,[f?M()?"right":"left":"top"]:s,visibility:!l||d?"visible":"hidden"};return f&&(e.display="inline-flex"),e}),[s,l,d,f]);return e(c,"string"==typeof c?{ref:a,style:u,children:t}:{ref:a,style:u,index:r,children:t})})),te=(e,t)=>i((()=>{if("function"==typeof e)return[e,t||0];const o=(e=>{const t=[];return K(e,t),t})(e);return[e=>o[e],o.length]}),[e,t]),oe=/*#__PURE__*/s((({children:t,count:o,overscan:r,itemSize:i,shift:s,horizontal:f,keepMounted:a,cache:u,startMargin:h=0,ssrCount:p,as:v="div",item:g="div",scrollRef:w,onScroll:S,onScrollEnd:$},y)=>{const[x,I]=te(t,o),b=n(null),z=n(!!p),k=Z(S),R=Z($),[T,C,E,M]=Q((()=>{const e=!!f,t=J(I,i,r,p,u,!i);return[t,j(t,e),P(t,e),e]}));I!==T.C()&&T.J(5,[I,s]),h!==T.W()&&T.J(6,h);const[H,W]=l(T.v,void 0,T.v),[B,A]=T._(),L=T.H(),D=T.h(),V=[],X=t=>{const o=x(t);return e(ee,{te:C.K,oe:t,ne:T.R(t),re:T.I(t),ie:g,ee:o,se:M,le:z[G]},N(o,t))};F((()=>{z[G]=!1;const e=T.B(1,(e=>{e?d(W):W()})),t=T.B(4,(()=>{k[G]&&k[G](T.M())})),o=T.B(8,(()=>{R[G]&&R[G]()})),n=e=>{C.G(e),E.P(e)};return w?_((()=>{w[G]&&n(w[G])})):n(b[G].parentElement),()=>{e(),t(),o(),C.V(),E.V()}}),[]),F((()=>{E.q()}),[H]),c(y,(()=>({get cache(){return T.m()},get scrollOffset(){return T.M()},get scrollSize(){return O(T)},get viewportSize(){return T.p()},findStartIndex:T.S,findEndIndex:T.$,getItemOffset:T.R,getItemSize:T.T,scrollToIndex:E.j,scrollTo:E.X,scrollBy:E.Y})),[]);for(let e=B,t=A;e<=t;e++)V.push(X(e));if(a){const e=[],t=[];m(a).forEach((o=>{o<B&&e.push(X(o)),o>A&&t.push(X(o))})),V.unshift(...e),V.push(...t)}return e(v,{ref:b,style:{contain:"strict",overflowAnchor:"none",overflow:"clip",flex:"none",position:"relative",width:M?D:"100%",height:M?"100%":D,pointerEvents:L?"none":void 0},children:V})})),ne=/*#__PURE__*/s((({children:t,count:o,overscan:r,itemSize:i,shift:s,horizontal:l,keepMounted:c,reverse:f,cache:d,ssrCount:a,item:u,onScroll:h,onScrollEnd:p,style:v,...g},m)=>{const _=n(null),w=f&&!l;let S=e(oe,{ref:m,scrollRef:w?_:void 0,count:o,overscan:r,itemSize:i,shift:s,horizontal:l,keepMounted:c,cache:d,ssrCount:a,item:u,onScroll:h,onScrollEnd:p,children:t});return w&&(S=e("div",{style:{display:"flex",flexDirection:"column",justifyContent:"flex-end",minHeight:"100%"},children:S})),e("div",{ref:_,...g,style:{display:l?"inline-block":"block",[l?"overflowX":"overflowY"]:"auto",contain:"strict",width:"100%",height:"100%",...v},children:S})})),re=/*#__PURE__*/s((({children:t,count:o,overscan:r,itemSize:i,shift:s,horizontal:f,cache:a,ssrCount:u,as:h="div",item:p="div",onScroll:v,onScrollEnd:g},m)=>{const[_,w]=te(t,o),S=n(null),$=Z(v),y=Z(g),x=n(!!u),[I,b,z,k]=Q((()=>{const e=!!f,t=J(w,i,r,u,a,!i);return[t,q(t,e),V(t,e),e]}));w!==I.C()&&I.J(5,[w,s]);const[R,T]=l(I.v,void 0,I.v),[C,E]=I._(),M=I.H(),H=I.h(),W=[];F((()=>{x[G]=!1;const e=I.B(1,(e=>{e?d(T):T()})),t=I.B(4,(()=>{$[G]&&$[G]()})),o=I.B(8,(()=>{y[G]&&y[G]()})),n=S[G];return b.G(n),z.P(n),()=>{e(),t(),o(),b.V(),z.V()}}),[]),F((()=>{z.q()}),[R]),c(m,(()=>({get cache(){return I.m()},findStartIndex:I.S,findEndIndex:I.$,scrollToIndex:z.j})),[]);for(let t=C,o=E;t<=o;t++){const o=_(t);W.push(e(ee,{te:b.K,oe:t,ne:I.R(t),re:I.I(t),ie:p,ee:o,se:k,le:x[G]},N(o,t)))}return e(h,{ref:S,style:{contain:"strict",overflowAnchor:"none",overflow:"clip",flex:"none",position:"relative",width:k?H:"100%",height:k?"100%":H,pointerEvents:M?"none":void 0},children:W})}));function ie(...e){return f((t=>{for(const o of e)o&&se(o,t)}),e)}function se(e,t){"function"==typeof e?e(t):e&&(e.current=t)}const le=(e,t)=>`${e}-${t}`,ce=/*#__PURE__*/r((({ee:t,te:o,ce:r,fe:s,de:l,ae:c,ue:f,he:d,re:a,pe:u})=>{const h=n(null);return F((()=>o.K(h[G],r,s)),[s,r]),e(u,{ref:h,style:i((()=>({contain:"layout style",display:"grid",position:"absolute",top:l,[M()?"right":"left"]:c,visibility:a?"hidden":"visible",minHeight:f,minWidth:d})),[l,c,d,f,a]),children:t})})),fe=/*#__PURE__*/s((({children:t,row:o,col:r,cellHeight:s=40,cellWidth:f=100,overscan:a=2,initialRowCount:u,initialColCount:h,item:p="div",domRef:v,innerDomRef:g,onScroll:m,onScrollEnd:_,style:w,...S},$)=>{const[y,x,I,b]=Q((()=>{const e=J(o,s,a,u),t=J(r,f,a,h);return[e,t,U(e,t),X(e,t)]}));o!==y.C()&&y.J(5,[o]),r!==x.C()&&x.J(5,[r]);const[z,k]=l(y.v,void 0,y.v),[R,T]=l(x.v,void 0,x.v),[C,E]=y._(),[M,H]=x._(),W=y.H(),B=x.H(),A=O(y),L=O(x),D=n(null),P=Z(m),V=Z(_);F((()=>{const e=D[G],t=y.B(1,(e=>{e?d(k):k()})),o=x.B(1,(e=>{e?d(T):T()})),n=y.B(4,(()=>{P[G]&&P[G](y.M())})),r=y.B(8,(()=>{V[G]&&V[G]()}));return I.G(e),b.P(e),()=>{t(),o(),I.V(),b.V(),n(),r()}}),[]),F((()=>{b.q()}),[z,R]),c($,(()=>({get scrollTop(){return y.M()},get scrollLeft(){return x.M()},get scrollHeight(){return O(y)},get scrollWidth(){return O(x)},get viewportHeight(){return y.p()},get viewportWidth(){return x.p()},findStartIndex:()=>[x.S(),y.S()],findEndIndex:()=>[x.$(),y.$()],getItemOffset:(e,t)=>[x.R(e),y.R(t)],getItemSize:(e,t)=>[x.T(e),y.T(t)],resizeCols(e){I.N(e)},resizeRows(e){I.Z(e)},scrollToIndex:b.j,scrollTo:b.X,scrollBy:b.Y})),[]);const Y=i((()=>{const e=new Map;return(o,n)=>{let r=e.get(le(o,n));return r||e.set(le(o,n),r=t({rowIndex:o,colIndex:n})),r}}),[t]),j=[];for(let t=C;t<=E;t++)for(let o=M;o<=H;o++)j.push(e(ce,{te:I,ce:t,fe:o,de:y.R(t),ae:x.R(o),ue:y.T(t),he:x.T(o),re:y.I(t)||x.I(o),pe:p,ee:Y(t,o)},le(t,o)));return e("div",{ref:ie(D,v),...S,style:{overflow:"auto",contain:"strict",width:"100%",height:"100%",...w},children:e("div",{ref:g,style:{contain:"strict",overflowAnchor:"none",overflow:"clip",flex:"none",position:"relative",width:L,height:A,pointerEvents:W||B?"none":void 0},children:j})})}));export{ne as VList,oe as Virtualizer,re as WindowVirtualizer,fe as experimental_VGrid};
3
3
  //# sourceMappingURL=index.mjs.map