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