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