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