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