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