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