virtua 0.12.0 → 0.13.0
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/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
var e=require("react/jsx-runtime"),t=require("react"),n=require("react-dom");const r=Math.min,o=Math.max,s=Math.abs,i=Date.now,c=Object.values,l=Array.isArray,u=setTimeout,a=(e,t,n)=>r(n,o(t,e)),d=e=>null!=e,h=(e,t)=>{let n;const r=()=>{d(n)&&clearTimeout(n)},o=()=>{r(),n=u((()=>{n=null,e()}),t)};return o.t=r,o},f=e=>{let t,n;return(...r)=>(t||(t=!0,n=e(...r)),n)},_=e=>getComputedStyle(e),w=e=>e?parseFloat(e):0,g=-1,p=(e,t)=>{const n=e.o[t];return n===g?e.i:n},m=(e,t)=>{if(!e.l)return 0;if(e.u>=t)return e.h[t];let n=e.u,r=e.h[n];for(;n<t;)r+=p(e,n),e.h[++n]=r;return e.u=t,r},v=(e,t,n)=>{let r=m(e,n);for(;n>=0&&n<e.l;)if(r<=t){const o=p(e,n);if(r+o>t)break;r+=o,n++}else r-=p(e,--n);return a(n,0,e.l-1)},b=(e,t,n,o)=>{const s=v(e,t,r(n,e.l-1));return[s,v(e,t+o,s)]},S=(e,t,n)=>{const r=n?"unshift":"push";for(let n=e.l;n<t;n++)e.o[r](g),e.h.push(0===n?0:g);e.l=t},I=(e,t,n)=>{const r=t-e.l,o=r<0;let s;return o?(s=(n?e.o.splice(0,-r):e.o.splice(r)).reduce(((t,n)=>t+(n===g?e.i:n)),0),e.h.splice(r)):(s=e.i*r,S(e,e.l+r,n)),e.u=n?0:a(t-1,0,e.u),e.l=t,[s,o]},z=(e,t,n)=>t.reduce(((t,[r,o])=>{const s=o-p(e,r);return(!n||s>0)&&(t+=s),t}),0),x=(e,t,n=40,i=0,c=((e,t)=>{const n={i:t,l:0,u:0,o:[],h:[]};return S(n,e),n})(t,n),l,u)=>{let d=n*o(i-1,0),h=0,f=0,_=0,w=0,v=!1,x=!1,y=!1,R=[0,i];const k=new Set,O=()=>(e=>e.l?m(e,e.l-1)+p(e,e.l-1):0)(c),C=()=>O()-d,T=e=>a(e,0,C()),M=e=>{const t=w;return w=e,w!==t};return{_:()=>JSON.parse(JSON.stringify(c)),g(){const[e,t]=R,[n,r]=b(c,h,e,d);return e===n&&t===r?R:R=[n,r]},p:e=>c.o[e]===g,m(e){const[t,n]=b(c,e,R[0],d);return((e,t,n)=>e.o.slice(o(0,t-1),r(e.l-1,n+1)+1).includes(g))(c,t,n)},v(e){const t=m(c,e);return l?t+o(0,d-O()):t},S:e=>p(c,e),I:()=>c.l,R:()=>h,k:C,O:()=>w,C:()=>d,T:()=>o(O(),d),M:()=>f,H(){const e=_;return _=0,e},J(e,t){const n=[e,t];return k.add(n),()=>{k.delete(n)}},W(t,n){let o,i=0;switch(t){case 1:{const e=n.filter((([e,t])=>c.o[e]!==t));if(!e.length)break;let t=0;if(v||x){const[n]=R;0===h||(t=h>C()-1.5?z(c,e,!0):z(c,e.filter((([e])=>e<n))))}else 2===w&&(t=z(c,e));t&&(_=t,f++,i+=4);let s=!1;e.forEach((([e,t])=>{((e,t,n)=>{const o=e.o[t]===g;return e.o[t]=n,e.u=r(t,e.u),o})(c,e,t)&&(s=!0)})),u&&s&&!h&&(e=>{const t=e.o.filter((e=>e!==g)),n=t[0];e.i=t.every((e=>e===n))?n:(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]})(t)})(c),i+=2,y=o=!0;break}case 2:d!==n&&(d=n,i=2);break;case 3:if(n[1]){const e=C()-h,[t,o]=I(c,n[0],!0),s=o?-r(t,e):t;_+=s,h=T(h+s),f++,i=5,v=!0}else I(c,n[0]);break;case 4:case 5:if(h===n)break;if(4===t){const e=n-h,t=y;y=!1,0!==w&&t||x||M(e<0?2:1)&&(i+=8),o=s(e)>d,i+=16,t||(v=!1)}h=T(n),i+=1;break;case 6:M(0)&&(i=8),v=x=!1;break;case 7:x=!0}if(i){const t=()=>{k.forEach((([e,t])=>{i&e&&t()}))};o?e(t):t()}}}},y="undefined"!=typeof window,R=/*#__PURE__*/f((e=>{const t="scrollLeft",n=e[t];e[t]=1;const r=e[t]<1;return e[t]=n,r})),k=/*#__PURE__*/f((()=>!!y&&"rtl"===_(document.body).direction)),O=y?t.useLayoutEffect:t.useEffect,C="current",T={},M=(e,t)=>{if(l(e))for(const n of e)M(n,t);else d(e)&&"boolean"!=typeof e&&t.push(e)},H=e=>{const t=[];return M(e,t),t},J=(e,t,n)=>o(e-(1===n?1:o(1,t)),0),W=(e,t,n,s)=>r(e+(2===n?1:o(1,t)),s-1),L=e=>{const n=t.useRef(e);return O((()=>{n[C]=e}),[e]),n},$=(e,n,r,o)=>{const[s,i]=t.useState(n),c=L(n);if(O((()=>e.J(r,(()=>{i((()=>c[C]()))}))),[]),o){const e=n();s!==e&&i(e)}return s},q=(e,t,n)=>(()=>{let r=i()-50;return(...o)=>{const s=i();r+50<s&&(r=s,(r=>{if(0!==e.O()&&!r.ctrlKey&&(t?r.deltaX:r.deltaY)){const t=e.R();t>0&&t<e.k()&&n()}})(...o))}})(),B=(e,t,n,r)=>R(e)||r?-n:t.k()-n,j=(e,t)=>{let n,r;const o=t?"scrollLeft":"scrollTop",s=(r,o)=>t&&k()?B(n,e,r,o):r,i=async t=>{if(!n)return;const i=()=>a(t(),0,e.k());for(;;){const t=i();if(e.W(5,t),!e.m(t))break;r&&r[1]();const n=e.J(2,(()=>{r&&r[0]()}));try{await new Promise(((e,t)=>{let n=!1;const o=()=>{n||(n=!0,e(),r=void 0)};r=[o,t],u(o,250)}))}catch(e){return}finally{n()}}n[o]=s(i()),e.W(7)};return{L(r){n=r;const i=()=>{e.W(4,s(r[o]))},c=h((()=>{i(),e.W(6)}),150),l=()=>{i(),c()},u=q(e,t,c);return r.addEventListener("scroll",l),r.addEventListener("wheel",u,{passive:!0}),()=>{r.removeEventListener("scroll",l),r.removeEventListener("wheel",u),c.t()}},$(e){i((()=>e))},q(t){t+=e.R(),i((()=>t))},B(t,n){t=a(t,0,e.I()-1),i("end"===n?()=>e.v(t)+e.S(t)-e.C():()=>e.v(t))},j:e=>{n&&(n[o]+=s(e,!0))}}},D=(e,t)=>{let n;const r=t?"scrollX":"scrollY",o=t?"offsetLeft":"offsetTop",s=(r,o)=>t&&k()?B(n,e,r,o):r;return{L(i){n=i;let c=!1;const l=(e,n)=>{const r=n+(t&&k()?window.innerWidth-e[o]-e.offsetWidth:e[o]),s=e.offsetParent;return e!==document.body&&s?l(s,r):r},u=()=>{c&&e.W(4,s(window[r])-l(i,0))},a=h((()=>{u(),e.W(6)}),150),d=()=>{u(),a()},f=q(e,t,a),_=new IntersectionObserver((([e])=>{c=e.isIntersecting}));return _.observe(i),window.addEventListener("scroll",d),window.addEventListener("wheel",f,{passive:!0}),()=>{_.disconnect(),window.removeEventListener("scroll",d),window.removeEventListener("wheel",f),a.t()}},j:e=>{window.scrollBy(t?s(e,!0):0,t?0:e)}}},N=e=>{const n=t.useRef();return n[C]||(n[C]=e())},U={box:"border-box"},V=(e,t)=>{let n;const r=t?"width":"height",o=new WeakMap,s=f((()=>new ResizeObserver((s=>{const i=[];for(const{target:c,contentRect:l}of s)if(c.offsetParent)if(c===n)e.W(2,l[r]+l[t?"left":"top"]+w(_(n)[t?"paddingRight":"paddingBottom"]));else{const e=o.get(c);d(e)&&i.push([e,l[r]])}i.length&&e.W(1,i)}))));return{D(e){n=e;const t=s();return t.observe(e,U),()=>{t.disconnect()}},N(e,t){const n=s();return o.set(e,t),n.observe(e),()=>{o.delete(e),n.unobserve(e)}}}},A=(e,t)=>{const n=t?"width":"height",r=t?"innerWidth":"innerHeight",o=new WeakMap,s=f((()=>new ResizeObserver((t=>{const r=[];for(const{target:e,contentRect:s}of t){if(!e.offsetParent)continue;const t=o.get(e);d(t)&&r.push([t,s[n]])}r.length&&e.W(1,r)}))));return{D(){const t=()=>{e.W(2,window[r])};return window.addEventListener("resize",t),t(),()=>{window.removeEventListener("resize",t),s().disconnect()}},N(e,t){const n=s();return o.set(e,t),n.observe(e),()=>{o.delete(e),n.unobserve(e)}}}},E=(e,t)=>{let n;const r="height",s="width",i=new WeakMap,c=new Set,l=new Set,u=new Map,a=(e,t)=>`${e}-${t}`,d=f((()=>new ResizeObserver((d=>{const h=new Set,f=new Set;for(const{target:o,contentRect:c}of d)if(o.offsetParent)if(o===n){const o=_(n);e.W(2,c[r]+c.top+w(o.paddingBottom)),t.W(2,c[s]+c.left+w(o.paddingRight))}else{const e=i.get(o);if(e){const[t,n]=e,o=a(t,n),i=u.get(o),l=[c[r],c[s]];let d,_;i?(i[0]!==l[0]&&(d=!0),i[1]!==l[1]&&(_=!0)):d=_=!0,d&&h.add(t),_&&f.add(n),(d||_)&&u.set(o,l)}}if(h.size){const t=[];h.forEach((e=>{let n=0;l.forEach((t=>{const r=u.get(a(e,t));r&&(n=o(n,r[0]))})),n&&t.push([e,n])})),e.W(1,t)}if(f.size){const e=[];f.forEach((t=>{let n=0;c.forEach((e=>{const r=u.get(a(e,t));r&&(n=o(n,r[1]))})),n&&e.push([t,n])})),t.W(1,e)}}))));return{D(e){n=e;const t=d();return t.observe(e,U),()=>{t.disconnect()}},N(e,t,n){const r=d();return i.set(e,[t,n]),c.add(t),l.add(n),r.observe(e),()=>{i.delete(e),r.unobserve(e)}}}},F=t.forwardRef((({children:n,attrs:r,width:o,height:s,scrolling:i},c)=>e.jsx("div",{ref:c,...r,children:e.jsx("div",{style:t.useMemo((()=>({position:"relative",visibility:"hidden",width:null!=o?o:"100%",height:null!=s?s:"100%",pointerEvents:i?"none":"auto"})),[o,s,i]),children:n})}))),P=t.memo((({U:n,V:r,A:o,F:s,P:i,X:c})=>{const l=t.useRef(null),u=$(o,(()=>o.v(s)),2,!0),a=$(o,(()=>o.p(s)),2,!0);return O((()=>r.N(l[C],s)),[s]),e.jsx(i,{ref:l,style:t.useMemo((()=>{const e=k()?"right":"left",t={margin:0,padding:0,position:"absolute",[c?"height":"width"]:"100%",[c?"top":e]:0,[c?e:"top"]:u,visibility:a?"hidden":"visible"};return c&&(t.display="flex"),t}),[u,a]),children:n})})),X=t.forwardRef((({children:r,overscan:o=4,initialItemSize:s,initialItemCount:i,shift:l,horizontal:u,reverse:a,cache:h,components:{Root:f=F,Item:_="div"}=T,onScroll:w,onScrollStop:g,onRangeChange:p,...m},v)=>{const b=t.useMemo((()=>H(r)),[r]),S=b.length,I=L(w),z=L(g),[y,R,k,M]=N((()=>{const e=!!u,t=x(n.flushSync,S,s,i,h,!!a,!s);return[t,V(t,e),j(t,e),e]}));S!==y.I()&&y.W(3,[S,l]);const[q,B]=$(y,y.g,3),D=$(y,y.O,8),U=$(y,y.M,4),A=$(y,y.T,2,!0),E=t.useRef(null),X=0!==D;O((()=>{const e=E[C],t=R.D(e),n=k.L(e),r=y.J(16,(()=>{I[C]&&I[C](y.R())}));return()=>{t(),n(),r()}}),[]),O((()=>{const e=y.H();e&&k.j(e)}),[U]),t.useEffect((()=>{X||z[C]&&z[C]()}),[X]),t.useEffect((()=>{p&&p(q,B)}),[q,B]),t.useImperativeHandle(v,(()=>({get cache(){return y._()},get scrollOffset(){return y.R()},get scrollSize(){return y.T()},get viewportSize(){return y.C()},scrollToIndex:k.B,scrollTo:k.$,scrollBy:k.q})),[]);const Y=J(q,o,D),G=W(B,o,D,S),K=t.useMemo((()=>{const t=[];for(let n=Y;n<=G;n++){const r=b[n],o=r.key;t.push(e.jsx(P,{V:R,A:y,F:n,P:_,U:r,X:M},d(o)?o:"_"+n))}return t}),[b,Y,G]);return e.jsx(f,{ref:E,width:M?A:void 0,height:M?void 0:A,scrolling:X,attrs:t.useMemo((()=>({...m,style:{overflow:"auto",display:M?"inline-block":"block",contain:"strict",width:"100%",height:"100%",...m.style}})),c(m)),children:K})})),Y=(e,t)=>`${e}-${t}`,G=t.memo((({U:n,V:r,Y:o,G:s,K:i,Z:c,P:l})=>{const u=t.useRef(null),a=$(o,(()=>o.v(i)),2,!0),d=$(s,(()=>s.v(c)),2,!0),h=$(o,(()=>o.p(i)),2,!0),f=$(s,(()=>s.p(c)),2,!0),_=$(o,(()=>o.S(i)),2,!0),w=$(s,(()=>s.S(c)),2,!0);return O((()=>r.N(u[C],i,c)),[c,i]),e.jsx(l,{ref:u,style:t.useMemo((()=>({display:"grid",margin:0,padding:0,position:"absolute",top:a,[k()?"right":"left"]:d,visibility:h||f?"hidden":"visible",minHeight:_,minWidth:w})),[a,d,w,_,h,f]),children:n})})),K=t.forwardRef((({children:r,row:o,col:s,cellHeight:i=40,cellWidth:l=100,overscan:u=2,initialRowCount:a,initialColCount:d,components:{Root:h=F,Cell:f="div"}=T,..._},w)=>{const[g,p,m,v,b]=N((()=>{const e=x(n.flushSync,o,i,a),t=x(n.flushSync,s,l,d);return[e,t,E(e,t),j(e,!1),j(t,!0)]}));o!==g.I()&&g.W(3,[o]),s!==p.I()&&p.W(3,[s]);const[S,I]=$(g,g.g,3),[z,y]=$(p,p.g,3),R=$(g,g.O,8),k=$(p,p.O,8),M=$(g,g.M,4),H=$(p,p.M,4),L=$(g,g.T,2,!0),q=$(p,p.T,2,!0),B=t.useRef(null),D=0!==R,U=0!==k;O((()=>{const e=B[C],t=m.D(e),n=v.L(e),r=b.L(e);return()=>{t(),n(),r()}}),[]),O((()=>{const e=g.H();e&&v.j(e)}),[M]),O((()=>{const e=p.H();e&&b.j(e)}),[H]),t.useImperativeHandle(w,(()=>({get scrollOffset(){return[p.R(),g.R()]},get scrollSize(){return[p.T(),g.T()]},get viewportSize(){return[p.C(),g.C()]},scrollToIndex(e,t){b.B(e),v.B(t)},scrollTo(e,t){b.$(e),v.$(t)},scrollBy(e,t){b.q(e),v.q(t)}})),[]);const V=t.useMemo((()=>{const e=new Map;return(t,n)=>{let o=e.get(Y(t,n));return o||e.set(Y(t,n),o=r({rowIndex:t,colIndex:n})),o}}),[r]),A=J(S,u,R),P=W(I,u,R,o),X=J(z,u,k),K=W(y,u,k,s),Q=t.useMemo((()=>{const t=[];for(let n=A;n<=P;n++)for(let r=X;r<=K;r++)t.push(e.jsx(G,{V:m,Y:g,G:p,K:n,Z:r,P:f,U:V(n,r)},Y(n,r)));return t}),[V,A,P,X,K]);return e.jsx(h,{ref:B,width:q,height:L,scrolling:D||U,attrs:t.useMemo((()=>({..._,style:{overflow:"auto",contain:"strict",width:"100%",height:"100%",..._.style}})),c(_)),children:Q})})),Q=t.forwardRef((({children:r,overscan:o=4,initialItemSize:s,initialItemCount:i,horizontal:l,cache:u,components:{Root:a=F,Item:h="div"}=T,onScrollStop:f,onRangeChange:_,...w},g)=>{const p=t.useMemo((()=>H(r)),[r]),m=p.length,v=L(f),[b,S,I,z]=N((()=>{const e=!!l,t=x(n.flushSync,m,s,i,u,!1,!s);return[t,A(t,e),D(t,e),e]}));m!==b.I()&&b.W(3,[m]);const[y,R]=$(b,b.g,3),k=$(b,b.O,8),M=$(b,b.M,4),q=$(b,b.T,2,!0),B=t.useRef(null),j=0!==k;O((()=>{const e=B[C],t=S.D(e),n=I.L(e);return()=>{t(),n()}}),[]),O((()=>{const e=b.H();e&&I.j(e)}),[M]),t.useEffect((()=>{j||v[C]&&v[C]()}),[j]),t.useEffect((()=>{_&&_(y,R)}),[y,R]),t.useImperativeHandle(g,(()=>({get cache(){return b._()}})),[]);const U=J(y,o,k),V=W(R,o,k,m),E=t.useMemo((()=>{const t=[];for(let n=U;n<=V;n++){const r=p[n],o=r.key;t.push(e.jsx(P,{V:S,A:b,F:n,P:h,U:r,X:z},d(o)?o:"_"+n))}return t}),[p,U,V]);return e.jsx(a,{ref:B,width:z?q:void 0,height:z?void 0:q,scrolling:j,attrs:t.useMemo((()=>({...w,style:{display:z?"inline-block":"block",width:z?"auto":"100%",height:z?"100%":"auto",...w.style}})),c(w)),children:E})}));exports.VGrid=K,exports.VList=X,exports.WVList=Q;
|
|
2
|
+
var e=require("react/jsx-runtime"),t=require("react"),n=require("react-dom");const r=Math.min,o=Math.max,s=Math.abs,i=Date.now,c=Object.values,l=Array.isArray,u=setTimeout,a=(e,t,n)=>r(n,o(t,e)),d=e=>null!=e,h=(e,t)=>{let n;const r=()=>{d(n)&&clearTimeout(n)},o=()=>{r(),n=u((()=>{n=null,e()}),t)};return o.t=r,o},f=e=>{let t,n;return(...r)=>(t||(t=!0,n=e(...r)),n)},_=e=>getComputedStyle(e),w=e=>e?parseFloat(e):0,g=-1,p=(e,t)=>{const n=e.o[t];return n===g?e.i:n},m=(e,t)=>{if(!e.l)return 0;if(e.u>=t)return e.h[t];let n=e.u,r=e.h[n];for(;n<t;)r+=p(e,n),e.h[++n]=r;return e.u=t,r},v=(e,t,n)=>{let r=m(e,n);for(;n>=0&&n<e.l;)if(r<=t){const o=p(e,n);if(r+o>t)break;r+=o,n++}else r-=p(e,--n);return a(n,0,e.l-1)},b=(e,t,n,o)=>{const s=v(e,t,r(n,e.l-1));return[s,v(e,t+o,s)]},S=(e,t,n)=>{const r=n?"unshift":"push";for(let n=e.l;n<t;n++)e.o[r](g),e.h.push(0===n?0:g);e.l=t},I=(e,t,n)=>{const r=t-e.l,o=r<0;let s;return o?(s=(n?e.o.splice(0,-r):e.o.splice(r)).reduce(((t,n)=>t+(n===g?e.i:n)),0),e.h.splice(r)):(s=e.i*r,S(e,e.l+r,n)),e.u=n?0:a(t-1,0,e.u),e.l=t,[s,o]},z=(e,t,n)=>t.reduce(((t,[r,o])=>{const s=o-p(e,r);return(!n||s>0)&&(t+=s),t}),0),x=(e,t,n=40,i=0,c=((e,t)=>{const n={i:t,l:0,u:0,o:[],h:[]};return S(n,e),n})(t,n),l,u)=>{let d=n*o(i-1,0),h=0,f=0,_=0,w=0,v=!1,x=!1,y=!1,R=[0,i];const k=new Set,O=()=>(e=>e.l?m(e,e.l-1)+p(e,e.l-1):0)(c),C=()=>O()-d,T=e=>a(e,0,C()),M=e=>{const t=w;return w=e,w!==t};return{_:()=>JSON.parse(JSON.stringify(c)),g(){const[e,t]=R,[n,r]=b(c,h,e,d);return e===n&&t===r?R:R=[n,r]},p:e=>c.o[e]===g,m(e){const[t,n]=b(c,e,R[0],d);return((e,t,n)=>e.o.slice(o(0,t-1),r(e.l-1,n+1)+1).includes(g))(c,t,n)},v(e){const t=m(c,e);return l?t+o(0,d-O()):t},S:e=>p(c,e),I:()=>c.l,R:()=>h,k:C,O:()=>w,C:()=>d,T:()=>o(O(),d),M:()=>f,H(){const e=_;return _=0,e},J(e,t){const n=[e,t];return k.add(n),()=>{k.delete(n)}},W(t,n){let o,i=0;switch(t){case 1:{const e=n.filter((([e,t])=>c.o[e]!==t));if(!e.length)break;let t=0;if(!v){const[n]=R;0===h||(t=h>C()-1.5?z(c,e,!0):z(c,e.filter((([e])=>e<n))))}t&&(_=t,f++,i+=4);let s=!1;e.forEach((([e,t])=>{((e,t,n)=>{const o=e.o[t]===g;return e.o[t]=n,e.u=r(t,e.u),o})(c,e,t)&&(s=!0)})),u&&s&&!h&&(e=>{const t=e.o.filter((e=>e!==g)),n=t[0];e.i=t.every((e=>e===n))?n:(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]})(t)})(c),i+=2,y=o=!0;break}case 2:d!==n&&(d=n,i=2);break;case 3:if(n[1]){const e=C()-h,[t,o]=I(c,n[0],!0),s=o?-r(t,e):t;_+=s,h=T(h+s),f++,i=5}else I(c,n[0]);break;case 4:case 5:if(h===n)break;if(4===t){const e=n-h,t=y;y=!1,0!==w&&t||x||M(e<0?2:1)&&(i+=8),o=s(e)>d,i+=16}else v=!0;h=T(n),i+=1;break;case 6:M(0)&&(i=8),x=v=!1;break;case 7:v=!1,x=!0}if(i){const t=()=>{k.forEach((([e,t])=>{i&e&&t()}))};o?e(t):t()}}}},y="undefined"!=typeof window,R=/*#__PURE__*/f((e=>{const t="scrollLeft",n=e[t];e[t]=1;const r=e[t]<1;return e[t]=n,r})),k=/*#__PURE__*/f((()=>!!y&&"rtl"===_(document.body).direction)),O=y?t.useLayoutEffect:t.useEffect,C="current",T={},M=(e,t)=>{if(l(e))for(const n of e)M(n,t);else d(e)&&"boolean"!=typeof e&&t.push(e)},H=e=>{const t=[];return M(e,t),t},J=(e,t,n)=>o(e-(1===n?1:o(1,t)),0),W=(e,t,n,s)=>r(e+(2===n?1:o(1,t)),s-1),L=e=>{const n=t.useRef(e);return O((()=>{n[C]=e}),[e]),n},$=(e,n,r,o)=>{const[s,i]=t.useState(n),c=L(n);if(O((()=>e.J(r,(()=>{i((()=>c[C]()))}))),[]),o){const e=n();s!==e&&i(e)}return s},q=(e,t,n)=>(()=>{let r=i()-50;return(...o)=>{const s=i();r+50<s&&(r=s,(r=>{if(0!==e.O()&&!r.ctrlKey&&(t?r.deltaX:r.deltaY)){const t=e.R();t>0&&t<e.k()&&n()}})(...o))}})(),B=(e,t,n,r)=>R(e)||r?-n:t.k()-n,j=(e,t)=>{let n,r;const o=t?"scrollLeft":"scrollTop",s=(r,o)=>t&&k()?B(n,e,r,o):r,i=async t=>{if(!n)return;const i=()=>a(t(),0,e.k());for(;;){const t=i();if(e.W(5,t),!e.m(t))break;r&&r[1]();const n=e.J(2,(()=>{r&&r[0]()}));try{await new Promise(((e,t)=>{let n=!1;const o=()=>{n||(n=!0,e(),r=void 0)};r=[o,t],u(o,250)}))}catch(e){return}finally{n()}}n[o]=s(i()),e.W(7)};return{L(r){n=r;const i=()=>{e.W(4,s(r[o]))},c=h((()=>{i(),e.W(6)}),150),l=()=>{i(),c()},u=q(e,t,c);return r.addEventListener("scroll",l),r.addEventListener("wheel",u,{passive:!0}),()=>{r.removeEventListener("scroll",l),r.removeEventListener("wheel",u),c.t()}},$(e){i((()=>e))},q(t){t+=e.R(),i((()=>t))},B(t,n){t=a(t,0,e.I()-1),i("end"===n?()=>e.v(t)+e.S(t)-e.C():()=>e.v(t))},j:e=>{n&&(n[o]+=s(e,!0))}}},D=(e,t)=>{let n;const r=t?"scrollX":"scrollY",o=t?"offsetLeft":"offsetTop",s=(r,o)=>t&&k()?B(n,e,r,o):r;return{L(i){n=i;let c=!1;const l=(e,n)=>{const r=n+(t&&k()?window.innerWidth-e[o]-e.offsetWidth:e[o]),s=e.offsetParent;return e!==document.body&&s?l(s,r):r},u=()=>{c&&e.W(4,s(window[r])-l(i,0))},a=h((()=>{u(),e.W(6)}),150),d=()=>{u(),a()},f=q(e,t,a),_=new IntersectionObserver((([e])=>{c=e.isIntersecting}));return _.observe(i),window.addEventListener("scroll",d),window.addEventListener("wheel",f,{passive:!0}),()=>{_.disconnect(),window.removeEventListener("scroll",d),window.removeEventListener("wheel",f),a.t()}},j:e=>{window.scrollBy(t?s(e,!0):0,t?0:e)}}},N=e=>{const n=t.useRef();return n[C]||(n[C]=e())},U={box:"border-box"},V=(e,t)=>{let n;const r=t?"width":"height",o=new WeakMap,s=f((()=>new ResizeObserver((s=>{const i=[];for(const{target:c,contentRect:l}of s)if(c.offsetParent)if(c===n)e.W(2,l[r]+l[t?"left":"top"]+w(_(n)[t?"paddingRight":"paddingBottom"]));else{const e=o.get(c);d(e)&&i.push([e,l[r]])}i.length&&e.W(1,i)}))));return{D(e){n=e;const t=s();return t.observe(e,U),()=>{t.disconnect()}},N(e,t){const n=s();return o.set(e,t),n.observe(e),()=>{o.delete(e),n.unobserve(e)}}}},A=(e,t)=>{const n=t?"width":"height",r=t?"innerWidth":"innerHeight",o=new WeakMap,s=f((()=>new ResizeObserver((t=>{const r=[];for(const{target:e,contentRect:s}of t){if(!e.offsetParent)continue;const t=o.get(e);d(t)&&r.push([t,s[n]])}r.length&&e.W(1,r)}))));return{D(){const t=()=>{e.W(2,window[r])};return window.addEventListener("resize",t),t(),()=>{window.removeEventListener("resize",t),s().disconnect()}},N(e,t){const n=s();return o.set(e,t),n.observe(e),()=>{o.delete(e),n.unobserve(e)}}}},E=(e,t)=>{let n;const r="height",s="width",i=new WeakMap,c=new Set,l=new Set,u=new Map,a=(e,t)=>`${e}-${t}`,d=f((()=>new ResizeObserver((d=>{const h=new Set,f=new Set;for(const{target:o,contentRect:c}of d)if(o.offsetParent)if(o===n){const o=_(n);e.W(2,c[r]+c.top+w(o.paddingBottom)),t.W(2,c[s]+c.left+w(o.paddingRight))}else{const e=i.get(o);if(e){const[t,n]=e,o=a(t,n),i=u.get(o),l=[c[r],c[s]];let d,_;i?(i[0]!==l[0]&&(d=!0),i[1]!==l[1]&&(_=!0)):d=_=!0,d&&h.add(t),_&&f.add(n),(d||_)&&u.set(o,l)}}if(h.size){const t=[];h.forEach((e=>{let n=0;l.forEach((t=>{const r=u.get(a(e,t));r&&(n=o(n,r[0]))})),n&&t.push([e,n])})),e.W(1,t)}if(f.size){const e=[];f.forEach((t=>{let n=0;c.forEach((e=>{const r=u.get(a(e,t));r&&(n=o(n,r[1]))})),n&&e.push([t,n])})),t.W(1,e)}}))));return{D(e){n=e;const t=d();return t.observe(e,U),()=>{t.disconnect()}},N(e,t,n){const r=d();return i.set(e,[t,n]),c.add(t),l.add(n),r.observe(e),()=>{i.delete(e),r.unobserve(e)}}}},F=t.forwardRef((({children:n,attrs:r,width:o,height:s,scrolling:i},c)=>e.jsx("div",{ref:c,...r,children:e.jsx("div",{style:t.useMemo((()=>({position:"relative",visibility:"hidden",width:null!=o?o:"100%",height:null!=s?s:"100%",pointerEvents:i?"none":"auto"})),[o,s,i]),children:n})}))),P=t.memo((({U:n,V:r,A:o,F:s,P:i,X:c})=>{const l=t.useRef(null),u=$(o,(()=>o.v(s)),2,!0),a=$(o,(()=>o.p(s)),2,!0);return O((()=>r.N(l[C],s)),[s]),e.jsx(i,{ref:l,style:t.useMemo((()=>{const e=k()?"right":"left",t={margin:0,padding:0,position:"absolute",[c?"height":"width"]:"100%",[c?"top":e]:0,[c?e:"top"]:u,visibility:a?"hidden":"visible"};return c&&(t.display="flex"),t}),[u,a]),children:n})})),X=t.forwardRef((({children:r,overscan:o=4,initialItemSize:s,initialItemCount:i,shift:l,horizontal:u,reverse:a,cache:h,components:{Root:f=F,Item:_="div"}=T,onScroll:w,onScrollStop:g,onRangeChange:p,...m},v)=>{const b=t.useMemo((()=>H(r)),[r]),S=b.length,I=L(w),z=L(g),[y,R,k,M]=N((()=>{const e=!!u,t=x(n.flushSync,S,s,i,h,!!a,!s);return[t,V(t,e),j(t,e),e]}));S!==y.I()&&y.W(3,[S,l]);const[q,B]=$(y,y.g,3),D=$(y,y.O,8),U=$(y,y.M,4),A=$(y,y.T,2,!0),E=t.useRef(null),X=0!==D;O((()=>{const e=E[C],t=R.D(e),n=k.L(e),r=y.J(16,(()=>{I[C]&&I[C](y.R())}));return()=>{t(),n(),r()}}),[]),O((()=>{const e=y.H();e&&k.j(e)}),[U]),t.useEffect((()=>{X||z[C]&&z[C]()}),[X]),t.useEffect((()=>{p&&p(q,B)}),[q,B]),t.useImperativeHandle(v,(()=>({get cache(){return y._()},get scrollOffset(){return y.R()},get scrollSize(){return y.T()},get viewportSize(){return y.C()},scrollToIndex:k.B,scrollTo:k.$,scrollBy:k.q})),[]);const Y=J(q,o,D),G=W(B,o,D,S),K=t.useMemo((()=>{const t=[];for(let n=Y;n<=G;n++){const r=b[n],o=r.key;t.push(e.jsx(P,{V:R,A:y,F:n,P:_,U:r,X:M},d(o)?o:"_"+n))}return t}),[b,Y,G]);return e.jsx(f,{ref:E,width:M?A:void 0,height:M?void 0:A,scrolling:X,attrs:t.useMemo((()=>({...m,style:{overflow:"auto",display:M?"inline-block":"block",contain:"strict",width:"100%",height:"100%",...m.style}})),c(m)),children:K})})),Y=(e,t)=>`${e}-${t}`,G=t.memo((({U:n,V:r,Y:o,G:s,K:i,Z:c,P:l})=>{const u=t.useRef(null),a=$(o,(()=>o.v(i)),2,!0),d=$(s,(()=>s.v(c)),2,!0),h=$(o,(()=>o.p(i)),2,!0),f=$(s,(()=>s.p(c)),2,!0),_=$(o,(()=>o.S(i)),2,!0),w=$(s,(()=>s.S(c)),2,!0);return O((()=>r.N(u[C],i,c)),[c,i]),e.jsx(l,{ref:u,style:t.useMemo((()=>({display:"grid",margin:0,padding:0,position:"absolute",top:a,[k()?"right":"left"]:d,visibility:h||f?"hidden":"visible",minHeight:_,minWidth:w})),[a,d,w,_,h,f]),children:n})})),K=t.forwardRef((({children:r,row:o,col:s,cellHeight:i=40,cellWidth:l=100,overscan:u=2,initialRowCount:a,initialColCount:d,components:{Root:h=F,Cell:f="div"}=T,..._},w)=>{const[g,p,m,v,b]=N((()=>{const e=x(n.flushSync,o,i,a),t=x(n.flushSync,s,l,d);return[e,t,E(e,t),j(e,!1),j(t,!0)]}));o!==g.I()&&g.W(3,[o]),s!==p.I()&&p.W(3,[s]);const[S,I]=$(g,g.g,3),[z,y]=$(p,p.g,3),R=$(g,g.O,8),k=$(p,p.O,8),M=$(g,g.M,4),H=$(p,p.M,4),L=$(g,g.T,2,!0),q=$(p,p.T,2,!0),B=t.useRef(null),D=0!==R,U=0!==k;O((()=>{const e=B[C],t=m.D(e),n=v.L(e),r=b.L(e);return()=>{t(),n(),r()}}),[]),O((()=>{const e=g.H();e&&v.j(e)}),[M]),O((()=>{const e=p.H();e&&b.j(e)}),[H]),t.useImperativeHandle(w,(()=>({get scrollOffset(){return[p.R(),g.R()]},get scrollSize(){return[p.T(),g.T()]},get viewportSize(){return[p.C(),g.C()]},scrollToIndex(e,t){b.B(e),v.B(t)},scrollTo(e,t){b.$(e),v.$(t)},scrollBy(e,t){b.q(e),v.q(t)}})),[]);const V=t.useMemo((()=>{const e=new Map;return(t,n)=>{let o=e.get(Y(t,n));return o||e.set(Y(t,n),o=r({rowIndex:t,colIndex:n})),o}}),[r]),A=J(S,u,R),P=W(I,u,R,o),X=J(z,u,k),K=W(y,u,k,s),Q=t.useMemo((()=>{const t=[];for(let n=A;n<=P;n++)for(let r=X;r<=K;r++)t.push(e.jsx(G,{V:m,Y:g,G:p,K:n,Z:r,P:f,U:V(n,r)},Y(n,r)));return t}),[V,A,P,X,K]);return e.jsx(h,{ref:B,width:q,height:L,scrolling:D||U,attrs:t.useMemo((()=>({..._,style:{overflow:"auto",contain:"strict",width:"100%",height:"100%",..._.style}})),c(_)),children:Q})})),Q=t.forwardRef((({children:r,overscan:o=4,initialItemSize:s,initialItemCount:i,horizontal:l,cache:u,components:{Root:a=F,Item:h="div"}=T,onScrollStop:f,onRangeChange:_,...w},g)=>{const p=t.useMemo((()=>H(r)),[r]),m=p.length,v=L(f),[b,S,I,z]=N((()=>{const e=!!l,t=x(n.flushSync,m,s,i,u,!1,!s);return[t,A(t,e),D(t,e),e]}));m!==b.I()&&b.W(3,[m]);const[y,R]=$(b,b.g,3),k=$(b,b.O,8),M=$(b,b.M,4),q=$(b,b.T,2,!0),B=t.useRef(null),j=0!==k;O((()=>{const e=B[C],t=S.D(e),n=I.L(e);return()=>{t(),n()}}),[]),O((()=>{const e=b.H();e&&I.j(e)}),[M]),t.useEffect((()=>{j||v[C]&&v[C]()}),[j]),t.useEffect((()=>{_&&_(y,R)}),[y,R]),t.useImperativeHandle(g,(()=>({get cache(){return b._()}})),[]);const U=J(y,o,k),V=W(R,o,k,m),E=t.useMemo((()=>{const t=[];for(let n=U;n<=V;n++){const r=p[n],o=r.key;t.push(e.jsx(P,{V:S,A:b,F:n,P:h,U:r,X:z},d(o)?o:"_"+n))}return t}),[p,U,V]);return e.jsx(a,{ref:B,width:z?q:void 0,height:z?void 0:q,scrolling:j,attrs:t.useMemo((()=>({...w,style:{display:z?"inline-block":"block",width:z?"auto":"100%",height:z?"100%":"auto",...w.style}})),c(w)),children:E})}));exports.VGrid=K,exports.VList=X,exports.WVList=Q;
|
|
3
3
|
//# sourceMappingURL=index.js.map
|