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