virtua 0.45.2 → 0.45.3

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.js 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 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;return[new Promise((t=>{e=t})),e]},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},b=(e,t,o)=>{const n=e.t[t]===$;return e.t[t]=o,e.i=u(t,e.i),n},z=(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},I=(e,t,o=0,n=e.l-1)=>{for(;o<=n;){const r=v((o+n)/2),i=z(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,M=e=>e.ownerDocument,C=e=>e.defaultView,E=/*#__PURE__*/S((()=>!!R&&"rtl"===getComputedStyle(T()).direction)),H=/*#__PURE__*/S((()=>!!/iP(hone|od|ad)/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>0)),W=/*#__PURE__*/S((()=>"scrollBehavior"in T().style)),O=e=>h(e.h(),e.p()),B=(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],M=0;const C=((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),E=new Set,W=()=>d-f,O=()=>W()+g+v,B=e=>((e,t,o,n)=>{if(n=u(n,e.l-1),z(e,n)<=t){const r=I(e,t+o,n);return[I(e,t,n,r),r]}{const r=I(e,t,void 0,n);return[r,I(e,t+o,r)]}})(C,e,c,T[0]),J=()=>(e=>e.l?z(e,e.l-1)+x(e,e.l-1):0)(C),A=e=>z(C,e)-g,L=e=>x(C,e),D=e=>{e&&(H()&&0!==w||R&&1===S?g+=e:v+=e)};return{v:()=>l,m:()=>(e=>[e.t.slice(),e.o])(C),_:()=>{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,C.l-1)]},S:()=>I(C,O()),$:()=>I(C,O()+c),I:e=>C.t[e]===$,k:A,R:L,T:()=>C.l,M:()=>d,C:()=>0!==w,p:()=>c,H:()=>f,h:J,W:()=>(_=v,v=0,[_,2===S]),O:(e,t)=>{const o=[e,t];return E.add(o),()=>{E.delete(o)}},B:(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])=>C.t[e]!==t));if(!e.length)break;D(e.reduce(((e,[t,o])=>((2===S||(R&&1===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=b(C,t,o);i&&(M+=n?o:o-e)}i&&c&&M>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)})(C,I(C,O()))),i=!1),r=3,n=!0;break}case 4:c!==t&&(c=t,r=3);break;case 5:t[1]?(D(k(C,t[0],!0)),S=2,r=1):(k(C,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),E.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,u=!1;const h=(()=>{let t;const o=()=>{t!=a&&clearTimeout(t)},n=()=>{o(),t=J((()=>{t=a,(()=>{if(c||f)return c=!1,void h();d=!1,e.B(2)})()}),150)};return n.J=o,n})(),p=()=>{l=s(),d&&(u=!0),i&&e.B(6,i()),e.B(1,n()),h()},v=t=>{if(c||!e.C()||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}),{A:()=>{t.removeEventListener("scroll",p),t.removeEventListener("wheel",v),t.removeEventListener("touchstart",g),t.removeEventListener("touchend",m),h.J()},L:()=>{const[t,i]=e.W();t&&(r(A(t,o),i,u),u=!1,i&&e.p()>e.h()&&e.B(1,n()))}}},D=(e,t,o)=>{let n;return[async(r,i)=>{if(!await t())return;n&&n();const s=()=>{const[t,o]=w();return n=()=>{o(!1)},e.p()&&J(n,150),[t,e.O(2,(()=>{o(!0)}))]};if(i&&W())e.B(8,r()),_((async()=>{for(;;){let t=!0;for(let[o,n]=e._();o<=n;o++)if(e.I(o)){t=!1;break}if(t)break;const[o,n]=s();try{if(!await o)return}finally{n()}}e.B(7),o(r(),i)}));else for(;;){const[t,n]=s();try{if(e.B(7),o(r()),!await t)return}finally{n()}}},()=>{n&&n()}]},P=(e,t)=>{let o,n,r=w();const i=t?"scrollLeft":"scrollTop",s=t?"overflowX":"overflowY",[l,c]=D(e,(()=>r[0]),((e,n)=>{e=A(e,t),n?o.scrollTo({[t?"left":"top"]:e,behavior:"smooth"}):o[i]=e}));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}))}l[i]=e.M()+t,o&&c()})),r[1](!0)},P(){n&&n.A(),r[1](!1),r=w()},V(e){l((()=>e))},X(t){t+=e.M(),l((()=>t))},Y(t,{align:o,smooth:n,offset:r=0}={}){if(t=g(t,0,e.T()-1),"nearest"===o){const n=e.k(t),r=e.M();if(n<r)o="start";else{if(!(n+e.R(t)>r+e.p()))return;o="end"}}l((()=>r+e.H()+e.k(t)+("end"===o?e.R(t)-e.p():"center"===o?(e.R(t)-e.p())/2:0)),n)},j:()=>{n&&n.L()}}},V=(e,t)=>{let o,n,r=w();const i=t?"left":"top",[s]=D(e,(()=>r[0]),((e,n)=>{e=A(e,t);const r=C(M(o));n?r.scroll({[i]:e,behavior:"smooth"}):r.scroll({[i]:e})})),l=(e,t,o,n,r=0)=>{const i=n?"offsetLeft":"offsetTop",s=r+(n&&E()?o.innerWidth-e[i]-e.offsetWidth:e[i]),c=e.offsetParent;return e!==t&&c?l(c,t,o,n,s):s};return{D(s){o=s;const c=t?"scrollX":"scrollY",f=M(s),d=C(f);n=L(e,d,t,(()=>A(d[c],t)),(t=>{d.scroll({[i]:e.M()+t})}),(()=>l(s,f.body,d,t))),r[1](!0)},P(){n&&n.A(),o=void 0,r[1](!1),r=w()},j:()=>{n&&n.L()},Y(n,{align:r,smooth:i,offset:c=0}={}){if(!o)return;if(n=g(n,0,e.T()-1),"nearest"===r){const t=e.k(n),o=e.M();if(t<o)r="start";else{if(!(t+e.R(n)>o+e.p()))return;r="end"}}const f=M(o),d=C(f),a=f.documentElement,u=()=>e.p()-(t?a.clientWidth:a.clientHeight);s((()=>c+l(o,f.body,d,t)+e.k(n)+("end"===r?e.R(n)-(e.p()-u()):"center"===r?(e.R(n)-(e.p()-u()))/2:0)),i)}}},X=(e,t)=>{const o=P(e,!1),n=P(t,!0);return{D(e){o.D(e),n.D(e)},P(){o.P(),n.P()},V(e,t){o.V(t),n.V(e)},X(e,t){o.X(t),n.X(e)},Y(e,t){o.Y(t),n.Y(e)},j(){o.j(),n.j()}}},Y=e=>{let t;return{q(o){(t||(t=new(C(M(o)).ResizeObserver)(e))).observe(o)},G(e){t.unobserve(e)},A(){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.B(4,l[n]);else{const e=r.get(s);e!=a&&i.push([e,l[n]])}i.length&&e.B(3,i)}));return{U(e){i.q(o=e)},F:(e,t)=>(r.set(e,t),i.q(e),()=>{r.delete(e),i.G(e)}),P:i.A}},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.B(3,n)}));let s;return{U(t){const o=C(M(t)),r=()=>{e.B(4,o[n])};o.addEventListener("resize",r),r(),s=()=>{o.removeEventListener("resize",r)}},F:(e,t)=>(r.set(e,t),i.q(e),()=>{r.delete(e),i.G(e)}),P(){s&&s(),i.A()}}},G=(e,t)=>{let o;const n=new WeakMap,r=new Set,i=new Set,s=new Map,l=(e,t)=>`${e}-${t}`,c=Y((c=>{const f=new Set,d=new Set;for(const{target:r,contentRect:{width:i,height:a}}of c)if(r.offsetParent)if(r===o)e.B(4,a),t.B(4,i);else{const e=n.get(r);if(e){const[t,o]=e,n=l(t,o),r=s.get(n);let c,u;r?(r[0]!==a&&(c=!0),r[1]!==i&&(u=!0)):c=u=!0,c&&f.add(t),u&&d.add(o),(c||u)&&s.set(n,[a,i])}}if(f.size){const t=[];f.forEach((e=>{let o=0;i.forEach((t=>{const n=s.get(l(e,t));n&&(o=h(o,n[0]))})),o&&t.push([e,o])})),e.B(3,t)}if(d.size){const e=[];d.forEach((t=>{let o=0;r.forEach((e=>{const n=s.get(l(e,t));n&&(o=h(o,n[1]))})),o&&e.push([t,o])})),t.B(3,e)}}));return{U(e){c.q(o=e)},F:(e,t,o)=>(n.set(e,[t,o]),r.add(t),i.add(o),c.q(e),()=>{n.delete(e),c.G(e)}),K(o){for(const[t]of o)for(let o=0;o<e.T();o++)s.delete(l(o,t));t.B(3,o)},N(o){for(const[e]of o)for(let o=0;o<t.T();o++)s.delete(l(e,o));e.B(3,o)},P:c.A}},U=R?t:o,F="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[F]||(t[F]=e())},Z=e=>{const t=n(e);return U((()=>{t[F]=e}),[e]),t},ee=/*#__PURE__*/r((({Z:t,ee:o,te:r,oe:s,ne:l,re:c,ie:f,se:d})=>{const a=n(null);U((()=>o(a[F],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?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:a,style:u,children:t}:{ref:a,style:u,index:r,children:t})})),te=(e,t)=>i((()=>{if("function"==typeof e)return[o=>e(t[o],o),t.length];const o=(e=>{const t=[];return K(e,t),t})(e);return[e=>o[e],o.length]}),[e,t]),oe=/*#__PURE__*/s((({children:t,data: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,b]=te(t,o),z=n(null),I=n(!!p),k=Z(S),R=Z($),[T,M,C,E]=Q((()=>{const e=!!f,t=B(b,i,r,p,u,!i);return[t,j(t,e),P(t,e),e]}));b!==T.T()&&T.B(5,[b,s]),h!==T.H()&&T.B(6,h);const[H,W]=l(T.v,void 0,T.v),[J,A]=T._(),L=T.C(),D=T.h(),V=[],X=t=>{const o=x(t);return e(ee,{ee:M.F,te:t,oe:T.k(t),ne:T.I(t),re:g,Z:o,ie:E,se:I[F]},N(o,t))};if(U((()=>{I[F]=!1;const e=T.O(1,(e=>{e?d(W):W()})),t=T.O(4,(()=>{k[F]&&k[F](T.M())})),o=T.O(8,(()=>{R[F]&&R[F]()})),n=e=>{M.U(e),C.D(e)};return w?_((()=>{w[F]&&n(w[F])})):n(z[F].parentElement),()=>{e(),t(),o(),M.P(),C.P()}}),[]),U((()=>{C.j()}),[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.k,getItemSize:T.R,scrollToIndex:C.Y,scrollTo:C.V,scrollBy:C.X})),[]),a){const e=new Set(a);for(let t=J,o=A;t<=o;t++)e.add(t);m([...e]).forEach((e=>{V.push(X(e))}))}else for(let e=J,t=A;e<=t;e++)V.push(X(e));return e(v,{ref:z,style:{contain:"size paint style",overflowAnchor:"none",overflow:"clip",flex:"none",position:"relative",width:E?D:"100%",height:E?"100%":D,pointerEvents:L?"none":void 0},children:V})})),ne=/*#__PURE__*/s((({children:t,data: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,data: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,data: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),[b,z,I,k]=Q((()=>{const e=!!f,t=B(w,i,r,u,a,!i);return[t,q(t,e),V(t,e),e]}));w!==b.T()&&b.B(5,[w,s]);const[R,T]=l(b.v,void 0,b.v),[M,C]=b._(),E=b.C(),H=b.h(),W=[];U((()=>{x[F]=!1;const e=b.O(1,(e=>{e?d(T):T()})),t=b.O(4,(()=>{$[F]&&$[F]()})),o=b.O(8,(()=>{y[F]&&y[F]()})),n=S[F];return z.U(n),I.D(n),()=>{e(),t(),o(),z.P(),I.P()}}),[]),U((()=>{I.j()}),[R]),c(m,(()=>({get cache(){return b.m()},findStartIndex:b.S,findEndIndex:b.$,scrollToIndex:I.Y})),[]);for(let t=M,o=C;t<=o;t++){const o=_(t);W.push(e(ee,{ee:z.F,te:t,oe:b.k(t),ne:b.I(t),re:p,Z:o,ie:k,se:x[F]},N(o,t)))}return e(h,{ref:S,style:{contain:"size paint style",overflowAnchor:"none",overflow:"clip",flex:"none",position:"relative",width:k?H:"100%",height:k?"100%":H,pointerEvents:E?"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((({Z:t,ee:o,le:r,ce:s,fe:l,de:c,ae:f,ue:d,ne:a,he:u})=>{const h=n(null);return U((()=>o.F(h[F],r,s)),[s,r]),e(u,{ref:h,style:i((()=>({contain:"layout style",display:"grid",position:"absolute",top:l,[E()?"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,b,z]=Q((()=>{const e=B(o,s,a,u),t=B(r,f,a,h);return[e,t,G(e,t),X(e,t)]}));o!==y.T()&&y.B(5,[o]),r!==x.T()&&x.B(5,[r]);const[I,k]=l(y.v,void 0,y.v),[R,T]=l(x.v,void 0,x.v),[M,C]=y._(),[E,H]=x._(),W=y.C(),J=x.C(),A=O(y),L=O(x),D=n(null),P=Z(m),V=Z(_);U((()=>{const e=D[F],t=y.O(1,(e=>{e?d(k):k()})),o=x.O(1,(e=>{e?d(T):T()})),n=y.O(4,(()=>{P[F]&&P[F](y.M())})),r=y.O(8,(()=>{V[F]&&V[F]()}));return b.U(e),z.D(e),()=>{t(),o(),b.P(),z.P(),n(),r()}}),[]),U((()=>{z.j()}),[I,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.k(e),y.k(t)],getItemSize:(e,t)=>[x.R(e),y.R(t)],resizeCols(e){b.K(e)},resizeRows(e){b.N(e)},scrollToIndex:z.Y,scrollTo:z.V,scrollBy:z.X})),[]);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=M;t<=C;t++)for(let o=E;o<=H;o++)j.push(e(ce,{ee:b,le:t,ce:o,fe:y.k(t),de:x.k(o),ae:y.R(t),ue:x.R(o),ne:y.I(t)||x.I(o),he:p,Z: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:"size paint style",overflowAnchor:"none",overflow:"clip",flex:"none",position:"relative",width:L,height:A,pointerEvents:W||J?"none":void 0},children:j})})}));export{ne as VList,oe as Virtualizer,re as WindowVirtualizer,fe 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;return[new Promise((t=>{e=t})),e]},S=e=>{let t;return()=>(e&&(t=e(),e=void 0),t)},$=(e,t,o)=>{const n=o?"unshift":"push";for(let o=0;o<t;o++)e[n](-1);return e},y=(e,t)=>{const o=e.t[t];return-1===o?e.o:o},x=(e,t,o)=>{const n=-1===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+=y(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+y(e,r)>t)return r;o=r+1}else n=r-1}return g(o,0,e.l-1)},I=(e,t,o)=>{const n=t-e.l;return e.i=o?-1:u(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-(-1===o?e.o:o)),0))},k="undefined"!=typeof window,R=()=>document.documentElement,T=e=>e.ownerDocument,M=e=>e.defaultView,C=/*#__PURE__*/S((()=>!!k&&"rtl"===getComputedStyle(R()).direction)),E=/*#__PURE__*/S((()=>!!/iP(hone|od|ad)/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>0)),H=/*#__PURE__*/S((()=>"scrollBehavior"in R().style)),W=e=>h(e.h(),e.p()),O=(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,k=s?[0,h(n-1,0)]:a,R=[0,0],T=0;const M=((e,t,o)=>({o:o?o[1]:t,t:o&&o[0]?$(o[0].slice(0,u(e,o[0].length)),h(0,e-o[0].length)):$([],e),l:e,i:-1,u:$([],e)}))(e,t,r),C=new Set,H=()=>d-f,W=()=>H()+g+v,O=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)]}})(M,e,c,R[0]),B=()=>(e=>e.l?b(e,e.l-1)+y(e,e.l-1):0)(M),J=e=>b(M,e)-g,A=e=>y(M,e),L=(e,t=-1)=>M.t[e]===t,D=e=>{e&&(E()&&0!==w||k&&1===S?g+=e:v+=e)};return{v:()=>l,m:()=>(e=>[e.t.slice(),e.o])(M),_:()=>{let e,t;return _?[e,t]=R:([e,t]=R=O(h(0,W())),k&&(e=u(e,k[0]),t=h(t,k[1]))),1!==w&&(e-=h(0,o)),2!==w&&(t+=h(0,o)),[h(e,0),u(t,M.l-1)]},S:()=>z(M,W()),$:()=>z(M,W()+c),I:L,k:J,R:A,T:()=>M.l,M:()=>d,C:()=>0!==w,p:()=>c,H:()=>f,h:B,W:()=>(_=v,v=0,[_,2===S]),O:(e,t)=>{const o=[e,t];return C.add(o),()=>{C.delete(o)}},B:(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&&(k=a,s=!1),d=t,r=4;const l=H();l>=-c&&l<=B()&&(r+=1,n=i>c);break}case 2:r=8,0!==w&&(o=!0,r+=1),w=0,S=0,k=a;break;case 3:{const e=t.filter((([e,t])=>!L(e,t)));if(!e.length)break;D(e.reduce(((e,[t,o])=>((2===S||(k&&1===S?t<k[0]:J(t)+(0===w&&0===S?A(t):0)<H()))&&(e+=o-A(t)),e)),0));for(const[t,o]of e){const e=A(t),n=x(M,t,o);i&&(T+=n?o:o-e)}i&&c&&T>c&&(D(((e,t)=>{let o=0;const n=[];e.t.forEach(((e,r)=>{-1!==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)})(M,z(M,W()))),i=!1),r=3,n=!0;break}case 4:c!==t&&(c=t,r=3);break;case 5:t[1]?(D(I(M,t[0],!0)),S=2,r=1):(I(M,t[0]),r=1);break;case 6:f=t;break;case 7:S=1;break;case 8:k=O(t),r=1}r&&(l=1+(2147483647&l),o&&g&&(v+=g,g=0),C.forEach((([e,t])=>{r&e&&t(n)})))}}},B=setTimeout,J=(e,t)=>t&&C()?-e:e,A=(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=B((()=>{t=a,(()=>{if(c||f)return c=!1,void h();d=!1,e.B(2)})()}),150)};return n.J=o,n})(),p=()=>{l=s(),d&&(u=!0),i&&e.B(6,i()),e.B(1,n()),h()},v=t=>{if(c||!e.C()||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,E()&&(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}),{A:()=>{t.removeEventListener("scroll",p),t.removeEventListener("wheel",v),t.removeEventListener("touchstart",g),t.removeEventListener("touchend",m),h.J()},L:()=>{const[t,i]=e.W();t&&(r(J(t,o),i,u),u=!1,i&&e.p()>e.h()&&e.B(1,n()))}}},L=(e,t,o)=>{let n;return[async(r,i)=>{if(!await t())return;n&&n();const s=()=>{const[t,o]=w();return n=()=>{o(!1)},e.p()&&B(n,150),[t,e.O(2,(()=>{o(!0)}))]};if(i&&H())e.B(8,r()),_((async()=>{for(;;){let t=!0;for(let[o,n]=e._();o<=n;o++)if(e.I(o)){t=!1;break}if(t)break;const[o,n]=s();try{if(!await o)return}finally{n()}}e.B(7),o(r(),i)}));else for(;;){const[t,n]=s();try{if(e.B(7),o(r()),!await t)return}finally{n()}}},()=>{n&&n()}]},D=(e,t)=>{let o,n,r=w();const i=t?"scrollLeft":"scrollTop",s=t?"overflowX":"overflowY",[l,c]=L(e,(()=>r[0]),((e,n)=>{e=J(e,t),n?o.scrollTo({[t?"left":"top"]:e,behavior:"smooth"}):o[i]=e}));return{D(l){o=l,n=A(e,l,t,(()=>J(l[i],t)),((t,o,n)=>{if(n){const e=l.style,t=e[s];e[s]="hidden",B((()=>{e[s]=t}))}l[i]=e.M()+t,o&&c()})),r[1](!0)},P(){n&&n.A(),r[1](!1),r=w()},V(e){l((()=>e))},X(t){t+=e.M(),l((()=>t))},Y(t,{align:o,smooth:n,offset:r=0}={}){if(t=g(t,0,e.T()-1),"nearest"===o){const n=e.k(t),r=e.M();if(n<r)o="start";else{if(!(n+e.R(t)>r+e.p()))return;o="end"}}l((()=>r+e.H()+e.k(t)+("end"===o?e.R(t)-e.p():"center"===o?(e.R(t)-e.p())/2:0)),n)},j:()=>{n&&n.L()}}},P=(e,t)=>{let o,n,r=w();const i=t?"left":"top",[s]=L(e,(()=>r[0]),((e,n)=>{e=J(e,t);const r=M(T(o));n?r.scroll({[i]:e,behavior:"smooth"}):r.scroll({[i]:e})})),l=(e,t,o,n,r=0)=>{const i=n?"offsetLeft":"offsetTop",s=r+(n&&C()?o.innerWidth-e[i]-e.offsetWidth:e[i]),c=e.offsetParent;return e!==t&&c?l(c,t,o,n,s):s};return{D(s){o=s;const c=t?"scrollX":"scrollY",f=T(s),d=M(f);n=A(e,d,t,(()=>J(d[c],t)),(t=>{d.scroll({[i]:e.M()+t})}),(()=>l(s,f.body,d,t))),r[1](!0)},P(){n&&n.A(),o=void 0,r[1](!1),r=w()},j:()=>{n&&n.L()},Y(n,{align:r,smooth:i,offset:c=0}={}){if(!o)return;if(n=g(n,0,e.T()-1),"nearest"===r){const t=e.k(n),o=e.M();if(t<o)r="start";else{if(!(t+e.R(n)>o+e.p()))return;r="end"}}const f=T(o),d=M(f),a=f.documentElement,u=()=>e.p()-(t?a.clientWidth:a.clientHeight);s((()=>c+l(o,f.body,d,t)+e.k(n)+("end"===r?e.R(n)-(e.p()-u()):"center"===r?(e.R(n)-(e.p()-u()))/2:0)),i)}}},V=(e,t)=>{const o=D(e,!1),n=D(t,!0);return{D(e){o.D(e),n.D(e)},P(){o.P(),n.P()},V(e,t){o.V(t),n.V(e)},X(e,t){o.X(t),n.X(e)},Y(e,t){o.Y(t),n.Y(e)},j(){o.j(),n.j()}}},X=e=>{let t;return{q(o){(t||(t=new(M(T(o)).ResizeObserver)(e))).observe(o)},G(e){t.unobserve(e)},A(){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.B(4,l[n]);else{const e=r.get(s);e!=a&&i.push([e,l[n]])}i.length&&e.B(3,i)}));return{U(e){i.q(o=e)},F:(e,t)=>(r.set(e,t),i.q(e),()=>{r.delete(e),i.G(e)}),P:i.A}},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!=a&&n.push([t,i[o]])}n.length&&e.B(3,n)}));let s;return{U(t){const o=M(T(t)),r=()=>{e.B(4,o[n])};o.addEventListener("resize",r),r(),s=()=>{o.removeEventListener("resize",r)}},F:(e,t)=>(r.set(e,t),i.q(e),()=>{r.delete(e),i.G(e)}),P(){s&&s(),i.A()}}},q=(e,t)=>{let o;const n=new WeakMap,r=new Set,i=new Set,s=new Map,l=(e,t)=>`${e}-${t}`,c=X((c=>{const f=new Set,d=new Set;for(const{target:r,contentRect:{width:i,height:a}}of c)if(r.offsetParent)if(r===o)e.B(4,a),t.B(4,i);else{const e=n.get(r);if(e){const[t,o]=e,n=l(t,o),r=s.get(n);let c,u;r?(r[0]!==a&&(c=!0),r[1]!==i&&(u=!0)):c=u=!0,c&&f.add(t),u&&d.add(o),(c||u)&&s.set(n,[a,i])}}if(f.size){const t=[];f.forEach((e=>{let o=0;i.forEach((t=>{const n=s.get(l(e,t));n&&(o=h(o,n[0]))})),o&&t.push([e,o])})),e.B(3,t)}if(d.size){const e=[];d.forEach((t=>{let o=0;r.forEach((e=>{const n=s.get(l(e,t));n&&(o=h(o,n[1]))})),o&&e.push([t,o])})),t.B(3,e)}}));return{U(e){c.q(o=e)},F:(e,t,o)=>(n.set(e,[t,o]),r.add(t),i.add(o),c.q(e),()=>{n.delete(e),c.G(e)}),K(o){for(const[t]of o)for(let o=0;o<e.T();o++)s.delete(l(o,t));t.B(3,o)},N(o){for(const[e]of o)for(let o=0;o<t.T();o++)s.delete(l(e,o));e.B(3,o)},P:c.A}},G=k?t:o,U="current",F=(e,t)=>{if(Array.isArray(e))for(const o of e)F(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[U]||(t[U]=e())},Q=e=>{const t=n(e);return G((()=>{t[U]=e}),[e]),t},Z=/*#__PURE__*/r((({Z:t,ee:o,te:r,oe:s,ne:l,re:c,ie:f,se:d})=>{const a=n(null);G((()=>o(a[U],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?C()?"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})})),ee=(e,t)=>i((()=>{if("function"==typeof e)return[o=>e(t[o],o),t.length];const o=(e=>{const t=[];return F(e,t),t})(e);return[e=>o[e],o.length]}),[e,t]),te=/*#__PURE__*/s((({children:t,data: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,b]=ee(t,o),z=n(null),I=n(!!p),k=Q(S),R=Q($),[T,M,C,E]=N((()=>{const e=!!f,t=O(b,i,r,p,u,!i);return[t,Y(t,e),D(t,e),e]}));b!==T.T()&&T.B(5,[b,s]),h!==T.H()&&T.B(6,h);const[H,B]=l(T.v,void 0,T.v),J=T.C(),A=T.h(),L=[],P=t=>{const o=x(t);return e(Z,{ee:M.F,te:t,oe:T.k(t),ne:T.I(t),re:g,Z:o,ie:E,se:I[U]},K(o,t))};if(G((()=>{I[U]=!1;const e=T.O(1,(e=>{e?d(B):B()})),t=T.O(4,(()=>{k[U]&&k[U](T.M())})),o=T.O(8,(()=>{R[U]&&R[U]()})),n=e=>{M.U(e),C.D(e)};return w?_((()=>{w[U]&&n(w[U])})):n(z[U].parentElement),()=>{e(),t(),o(),M.P(),C.P()}}),[]),G((()=>{C.j()}),[H]),c(y,(()=>({get cache(){return T.m()},get scrollOffset(){return T.M()},get scrollSize(){return W(T)},get viewportSize(){return T.p()},findStartIndex:T.S,findEndIndex:T.$,getItemOffset:T.k,getItemSize:T.R,scrollToIndex:C.Y,scrollTo:C.V,scrollBy:C.X})),[]),a){const e=new Set(a);for(let[t,o]=T._();t<=o;t++)e.add(t);m([...e]).forEach((e=>{L.push(P(e))}))}else for(let[e,t]=T._();e<=t;e++)L.push(P(e));return e(v,{ref:z,style:{contain:"size paint style",overflowAnchor:"none",overflow:"clip",flex:"none",position:"relative",width:E?A:"100%",height:E?"100%":A,pointerEvents:J?"none":void 0},children:L})})),oe=/*#__PURE__*/s((({children:t,data: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(te,{ref:m,scrollRef:w?_:void 0,data: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})})),ne=/*#__PURE__*/s((({children:t,data: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]=ee(t,o),S=n(null),$=Q(v),y=Q(g),x=n(!!u),[b,z,I,k]=N((()=>{const e=!!f,t=O(w,i,r,u,a,!i);return[t,j(t,e),P(t,e),e]}));w!==b.T()&&b.B(5,[w,s]);const[R,T]=l(b.v,void 0,b.v),M=b.C(),C=b.h(),E=[];G((()=>{x[U]=!1;const e=b.O(1,(e=>{e?d(T):T()})),t=b.O(4,(()=>{$[U]&&$[U]()})),o=b.O(8,(()=>{y[U]&&y[U]()})),n=S[U];return z.U(n),I.D(n),()=>{e(),t(),o(),z.P(),I.P()}}),[]),G((()=>{I.j()}),[R]),c(m,(()=>({get cache(){return b.m()},findStartIndex:b.S,findEndIndex:b.$,scrollToIndex:I.Y})),[]);for(let[t,o]=b._();t<=o;t++){const o=_(t);E.push(e(Z,{ee:z.F,te:t,oe:b.k(t),ne:b.I(t),re:p,Z:o,ie:k,se:x[U]},K(o,t)))}return e(h,{ref:S,style:{contain:"size paint style",overflowAnchor:"none",overflow:"clip",flex:"none",position:"relative",width:k?C:"100%",height:k?"100%":C,pointerEvents:M?"none":void 0},children:E})}));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((({Z:t,ee:o,le:r,ce:s,fe:l,de:c,ae:f,ue:d,ne:a,he:u})=>{const h=n(null);return G((()=>o.F(h[U],r,s)),[s,r]),e(u,{ref:h,style:i((()=>({contain:"layout style",display:"grid",position:"absolute",top:l,[C()?"right":"left"]:c,visibility:a?"hidden":"visible",minHeight:f,minWidth:d})),[l,c,d,f,a]),children:t})})),ce=/*#__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,b,z]=N((()=>{const e=O(o,s,a,u),t=O(r,f,a,h);return[e,t,q(e,t),V(e,t)]}));o!==y.T()&&y.B(5,[o]),r!==x.T()&&x.B(5,[r]);const[I,k]=l(y.v,void 0,y.v),[R,T]=l(x.v,void 0,x.v),M=y.C(),C=x.C(),E=W(y),H=W(x),B=n(null),J=Q(m),A=Q(_);G((()=>{const e=B[U],t=y.O(1,(e=>{e?d(k):k()})),o=x.O(1,(e=>{e?d(T):T()})),n=y.O(4,(()=>{J[U]&&J[U](y.M())})),r=y.O(8,(()=>{A[U]&&A[U]()}));return b.U(e),z.D(e),()=>{t(),o(),b.P(),z.P(),n(),r()}}),[]),G((()=>{z.j()}),[I,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.p()},get viewportWidth(){return x.p()},findStartIndex:()=>[x.S(),y.S()],findEndIndex:()=>[x.$(),y.$()],getItemOffset:(e,t)=>[x.k(e),y.k(t)],getItemSize:(e,t)=>[x.R(e),y.R(t)],resizeCols(e){b.K(e)},resizeRows(e){b.N(e)},scrollToIndex:z.Y,scrollTo:z.V,scrollBy:z.X})),[]);const L=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]),[D,P]=y._(),[X,Y]=x._(),j=[];for(let t=D;t<=P;t++)for(let o=X;o<=Y;o++)j.push(e(le,{ee:b,le:t,ce:o,fe:y.k(t),de:x.k(o),ae:y.R(t),ue:x.R(o),ne:y.I(t)||x.I(o),he:p,Z:L(t,o)},se(t,o)));return e("div",{ref:re(B,v),...S,style:{overflow:"auto",contain:"strict",width:"100%",height:"100%",...w},children:e("div",{ref:g,style:{contain:"size paint style",overflowAnchor:"none",overflow:"clip",flex:"none",position:"relative",width:H,height:E,pointerEvents:M||C?"none":void 0},children:j})})}));export{oe as VList,te as Virtualizer,ne as WindowVirtualizer,ce as experimental_VGrid};
3
3
  //# sourceMappingURL=index.js.map