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