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