virtua 0.4.3 → 0.4.5

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.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,Children as r,useRef as o,useState as i,forwardRef as l,useMemo as s,memo as c,useImperativeHandle as u}from"react";import{flushSync as d}from"react-dom";const a=Math.min,h=Math.max,f=Math.abs,_=Date.now,w=Object.values,g=setTimeout,m=e=>null!=e,v=(e,t)=>Array.from({length:e},((e,n)=>t(n))),p=(e,t)=>{let n;const r=()=>{m(n)&&clearTimeout(n)},o=()=>{r(),n=g((()=>{n=null,e()}),t)};return o.t=r,o},S=e=>{let t,n;return(...r)=>(t||(t=!0,n=e(...r)),n)},b=-1,z=(e,t)=>{const n=e.o[t];return n===b?e.i:n},I=(e,t,n)=>{if(!e.l)return 0;if(e.u>=t)return n?e.h[t]+z(e,t):e.h[t];let r=e.u,o=e.h[r];for(;r<=t&&(e.h[r]=o,r!==t||n);)o+=z(e,r),r++;return e.u=t,o},R=(e,t)=>I(e,t),x=(e,t,n)=>{let r=0;if(n>=0)for(;t<e.l-1;){const o=z(e,t++);if((r+=o)>=n){r-o/2>=n&&t--;break}}else for(;t>0;){const o=z(e,--t);if((r-=o)<=n){r+o/2<n&&t++;break}}return a(h(t,0),e.l-1)},y=(e,t,n,r)=>x(e,n,t-r),k=(e,t,n)=>({i:n?n.i:t,l:e,u:n?a(n.u,e-1):0,o:v(e,(e=>{const t=n&&n.o[e];return m(t)?t:b})),h:v(e,(e=>{if(0===e)return 0;const t=n&&n.h[e];return m(t)?t:b}))}),O=e=>e.reduce(((e,[t])=>e+t),0),T=(e,t)=>t.map((([t,n])=>[n-z(e,t),t])),C=(e,t,n=0,r,o,i)=>{const l=!t,s=t||40;let c,u,d=s*h(n-1,0),_=0,w=0,v=k(e,s),p=0,S=!1,C=[0,n];const M=new Set,H=()=>(e=>I(e,e.l-1,!0))(v),W=()=>H()-d,L=e=>{const t=p;return p=e,0!==p&&(0===t&&(1===p||2===p)||void 0)};return{_(){const[e,t]=C,n=R(v,e),r=y(v,_,e,n),o=x(v,r,d);return e===r&&t===o?C:C=[r,o]},g:e=>v.o[e]===b,m:e=>((e,t,n)=>{for(let r=t;r<=n;r++)if(e.o[r]===b)return!0;return!1})(v,h(0,e-2),a(v.l-1,e+2)),v(e){const t=R(v,e);return r?t+h(0,d-H()):t},p:e=>z(v,e),S:()=>v.l,I:()=>_,R:W,k:()=>d,O:H,T:()=>h(H(),d),C:()=>w,M(){const e=c;return c=void 0,e},H:e=>y(v,e,0,0),W:()=>(u&&u[1](),new Promise(((e,t)=>{let n=!1;const r=()=>{n||(n=!0,e(),u=void 0)};u=[r,t],g(r,250)}))),L:e=>(M.add(e),()=>{M.delete(e)}),J(e,t){let n,r,s=!1;switch(e){case 1:{const e=t.filter((([e,t])=>v.o[e]!==t));if(!e.length)break;let r=0;if(2===p)r=O(T(v,e));else if(3===p){const t=T(v,e),[n]=C;0===_||(r=_>W()-1.5?O(t):O(t.filter((([,e])=>e<n))))}r&&(c=r,w++);let o=!1;e.forEach((([e,t])=>{((e,t,n)=>{const r=e.o[t]===b;return e.o[t]=n,e.u=a(t,e.u),r})(v,e,t)&&(o=!0)})),l&&o&&!_&&(e=>{const t=e.o.filter((e=>e!==b)),n=t[0];e.i=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)})(v),S=n=s=!0;break}case 2:s=d!==t,d=t;break;case 3:case 4:if(_===t)break;if(3===e){const e=(()=>{const e=S;return S=!1,e})();0!==p&&e||3===p||(r=L(_>t?2:1)),n=f(_-t)>d}_=t,s=!0;break;case 5:r=L(t?3:0)}s&&(M.forEach((e=>{e(n)})),3===e&&i(_)),u&&1===e&&u[0](),m(r)&&o(r)},$:()=>p,D(e){v.l!==e&&(v=k(e,s,v))}}},M="undefined"!=typeof window?t:n,H="current",W=e=>{const t=[];return r.forEach(e,(e=>{m(e)&&"boolean"!=typeof e&&t.push(e)})),t},L=e=>{const t=o(e);return M((()=>{t[H]=e}),[e]),t},E=(e,n,r)=>{const[o,l]=i(n),s=L(n);if(t((()=>{const t=()=>{l((()=>s[H]()))};return e.L((e=>{e?d(t):t()}))}),[]),r){const e=n();o!==e&&l(e)}return o},J=/*#__PURE__*/S((e=>{const t="scrollLeft",n=e[t];e[t]=1;const r=e[t]<1;return e[t]=n,r})),$=(e,t,n)=>(()=>{let r=_()-50;return(...o)=>{const i=_();r+50<i&&(r=i,(r=>{if(0!==e.$()&&!r.ctrlKey&&(t?r.deltaX:r.deltaY)){const t=e.I();t>0&&t<e.R()&&n()}})(...o))}})(),D=(e,t,n)=>{let r;const o=t?"scrollLeft":"scrollTop",i=()=>r?t?r.scrollWidth:r.scrollHeight:0,l=(o,i)=>t&&n?J(r)||i?-o:e.R()-o:o,s=async(t,n)=>{if(!r)return;const s=()=>a(n(),i()-e.k());for(;e.J(4,s()),e.m(t);)try{await e.W()}catch(e){return}r[o]=l(s()),e.J(5,!0)};return{j(n){r=n;const i=()=>{e.J(3,l(n[o]))},s=p((()=>{i(),e.J(5,!1)}),150),c=()=>{i(),s()},u=$(e,t,s);return n.addEventListener("scroll",c),n.addEventListener("wheel",u,{passive:!0}),()=>{n.removeEventListener("scroll",c),n.removeEventListener("wheel",u),s.t()}},A:i,B(t){t=h(t,0),s(e.H(t),(()=>t))},F(t){t=h(a(t,e.S()-1),0),s(t,(()=>e.v(t)))},U:e=>{r&&(r[o]+=l(e,!0))}}},j=(e,t)=>{const n=t?"scrollX":"scrollY",r=t?"offsetLeft":"offsetTop";return{j(o){let i=!1;const l=(e,t)=>{const n=t+e[r],o=e.offsetParent;return e!==document.body&&o?l(o,n):n},s=()=>{i&&e.J(3,window[n]-l(o,0))},c=p((()=>{s(),e.J(5,!1)}),150),u=()=>{s(),c()},d=$(e,t,c),a=new IntersectionObserver((([e])=>{i=e.isIntersecting}));return a.observe(o),window.addEventListener("scroll",u),window.addEventListener("wheel",d,{passive:!0}),()=>{a.disconnect(),window.removeEventListener("scroll",u),window.removeEventListener("wheel",d),c.t()}},U:e=>{window.scrollBy(t?e:0,t?0:e)}}},A=e=>{const t=o();return t[H]||(t[H]=e())},B=(e,t)=>{let n;const r=t?"width":"height",o=new WeakMap,i=S((()=>new ResizeObserver((t=>{const i=[];for(const{target:l,contentRect:s}of t)if(l===n)e.J(2,s[r]);else{const e=o.get(l);m(e)&&i.push([e,s[r]])}i.length&&e.J(1,i)}))));return{P(e){n=e;const t=i();return t.observe(e),()=>{t.disconnect()}},V(e,t){const n=i();return o.set(e,t),n.observe(e),()=>{o.delete(e),n.unobserve(e)}}}},F=(e,t)=>{const n=t?"width":"height",r=t?"innerWidth":"innerHeight",o=new WeakMap,i=S((()=>new ResizeObserver((t=>{const r=[];for(const{target:e,contentRect:i}of t){const t=o.get(e);m(t)&&r.push([t,i[n]])}r.length&&e.J(1,r)}))));return{P(){const t=()=>{e.J(2,window[r])};return window.addEventListener("resize",t),t(),()=>{window.removeEventListener("resize",t),i().disconnect()}},V(e,t){const n=i();return o.set(e,t),n.observe(e),()=>{o.delete(e),n.unobserve(e)}}}},U=(e,t)=>{let n;const r="height",o="width",i=new WeakMap,l=new Set,s=new Set,c=new Map,u=(e,t)=>`${e}-${t}`,d=S((()=>new ResizeObserver((d=>{const a=new Set,f=new Set;for(const{target:l,contentRect:s}of d)if(l===n)e.J(2,s[r]),t.J(2,s[o]);else{const e=i.get(l);if(e){const[t,n]=e,i=u(t,n),l=c.get(i),d=[s[r],s[o]];let h,_;l?(l[0]!==d[0]&&(h=!0),l[1]!==d[1]&&(_=!0)):h=_=!0,h&&a.add(t),_&&f.add(n),(h||_)&&c.set(i,d)}}if(a.size){const t=[];a.forEach((e=>{let n=0;s.forEach((t=>{const r=c.get(u(e,t));r&&(n=h(n,r[0]))})),n&&t.push([e,n])})),e.J(1,t)}if(f.size){const e=[];f.forEach((t=>{let n=0;l.forEach((e=>{const r=c.get(u(e,t));r&&(n=h(n,r[1]))})),n&&e.push([t,n])})),t.J(1,e)}}))));return{P(e){n=e;const t=d();return t.observe(e),()=>{t.disconnect()}},V(e,t,n){const r=d();return i.set(e,[t,n]),l.add(t),s.add(n),r.observe(e),()=>{i.delete(e),r.unobserve(e)}}}},P=/*#__PURE__*/l((({children:t,attrs:n,width:r,height:o,scrolling:i},l)=>e("div",{ref:l,...n,children:e("div",{style:s((()=>({position:"relative",visibility:"hidden",width:null!=r?r:"100%",height:null!=o?o:"100%",pointerEvents:i?"none":"auto"})),[r,o,i]),children:t})}))),V=/*#__PURE__*/c((({X:t,Y:n,q:r,G:i,K:l,N:c,Z:u})=>{const d=o(null),a=E(r,(()=>r.v(i)),!0),h=E(r,(()=>r.g(i)),!0);return M((()=>n.V(d[H],i)),[i]),e(l,{ref:d,style:s((()=>{const e=u?"right":"left",t={margin:0,padding:0,position:"absolute",[c?"height":"width"]:"100%",[c?"top":e]:0,[c?e:"top"]:a,visibility:h?"hidden":"visible"};return c&&(t.display="flex"),t}),[a,h]),children:t})})),X=/*#__PURE__*/l((({children:t,overscan:r=4,initialItemSize:l,initialItemCount:c,horizontal:d,mode:f,element:_=P,itemElement:g="div",onScroll:v,onScrollStop:p,onRangeChange:S,...b},z)=>{const I=s((()=>W(t)),[t]),R=I.length,x=L(v),y=L(p),[k,O]=i(!1),[T,J,$,j,F]=A((()=>{const e=!!d,t="rtl"===f,n=C(R,l,c,"reverse"===f,(e=>{O(e),e||y[H]&&y[H]()}),(e=>{x[H]&&x[H](e)}));return[n,B(n,e),D(n,e,t),e,t]}));T.D(R);const[U,X]=E(T,T._),Y=E(T,T.C),q=E(T,T.T,!0),G=o(null);M((()=>{const e=G[H],t=J.P(e),n=$.j(e);return()=>{t(),n()}}),[]),M((()=>{const e=T.M();e&&$.U(e)}),[Y]),n((()=>{S&&S({start:U,end:X,count:R})}),[U,X]),u(z,(()=>({get scrollOffset(){return T.I()},get scrollSize(){return $.A()},get viewportSize(){return T.k()},scrollToIndex:$.F,scrollTo:$.B,scrollBy(e){$.B(T.I()+e)}})),[]);const K=h(U-r,0),N=a(X+r,R-1),Q=s((()=>{const t=[];for(let n=K;n<=N;n++){const r=I[n];m(r)&&t.push(e(V,{Y:J,q:T,G:n,K:g,X:r,N:j,Z:F},(null==r?void 0:r.key)||n))}return t}),[I,K,N]);return e(_,{ref:G,width:j?q:void 0,height:j?void 0:q,scrolling:k,attrs:s((()=>({...b,style:{overflow:j?"auto hidden":"hidden auto",display:j?"inline-block":"block",contain:"strict",width:"100%",height:"100%",padding:0,margin:0,...b.style}})),w(b)),children:Q})})),Y=(e,t)=>`${e}-${t}`,q=/*#__PURE__*/c((({X:t,Y:n,ee:r,te:i,ne:l,re:c,K:u,Z:d})=>{const a=o(null),h=E(r,(()=>r.v(l)),!0),f=E(i,(()=>i.v(c)),!0),_=E(r,(()=>r.g(l)),!0),w=E(i,(()=>i.g(c)),!0),g=E(r,(()=>r.p(l)),!0),m=E(i,(()=>i.p(c)),!0);return M((()=>n.V(a[H],l,c)),[c,l]),e(u,{ref:a,style:s((()=>({display:"grid",margin:0,padding:0,position:"absolute",top:h,[d?"right":"left"]:f,visibility:_||w?"hidden":"visible",minHeight:g,minWidth:m})),[h,f,m,g,_,w]),children:t})})),G=/*#__PURE__*/l((({children:t,row:n,col:r,cellHeight:l=40,cellWidth:c=100,overscan:d=2,initialRowCount:f,initialColCount:_,rtl:g,element:m=P,cellElement:v="div",...p},S)=>{const[b,z]=i(!1),[I,R]=i(!1),[x,y,k,O,T,W]=A((()=>{const e=!!g,t=()=>{},o=C(n,l,f,!1,z,t),i=C(r,c,_,!1,R,t);return[o,i,U(o,i),D(o,!1,e),D(i,!0,e),e]}));x.D(n),y.D(r);const[L,J]=E(x,x._),[$,j]=E(y,y._),B=E(x,x.C),F=E(y,y.C),V=E(x,x.T,!0),X=E(y,y.T,!0),G=o(null);M((()=>{const e=G[H],t=k.P(e),n=O.j(e),r=T.j(e);return()=>{t(),n(),r()}}),[]),M((()=>{const e=x.M();e&&O.U(e)}),[B]),M((()=>{const e=y.M();e&&T.U(e)}),[F]),u(S,(()=>({get scrollOffset(){return[y.I(),x.I()]},get scrollSize(){return[T.A(),O.A()]},get viewportSize(){return[y.k(),x.k()]},scrollToIndex(e,t){T.F(e),O.F(t)},scrollTo(e,t){T.B(e),O.B(t)},scrollBy(e,t){T.B(y.I()+e),O.B(x.I()+t)}})),[]);const K=s((()=>{const e=new Map;return(n,r)=>{let o=e.get(Y(n,r));return o||e.set(Y(n,r),o=t({rowIndex:n,colIndex:r})),o}}),[t]),N=h(L-d,0),Q=a(J+d,n-1),Z=h($-d,0),ee=a(j+d,r-1),te=s((()=>{const t=[];for(let n=N;n<=Q;n++)for(let r=Z;r<=ee;r++)t.push(e(q,{Y:k,ee:x,te:y,ne:n,re:r,K:v,X:K(n,r),Z:W},Y(n,r)));return t}),[K,N,Q,Z,ee]);return e(m,{ref:G,width:X,height:V,scrolling:b||I,attrs:s((()=>({...p,style:{overflow:"auto",contain:"strict",width:"100%",height:"100%",padding:0,margin:0,...p.style}})),w(p)),children:te})})),K=({children:t,overscan:r=4,initialItemSize:l,initialItemCount:c,horizontal:u,element:d=P,itemElement:f="div",onScroll:_,onScrollStop:g,onRangeChange:v,...p})=>{const S=s((()=>W(t)),[t]),b=S.length,z=L(_),I=L(g),[R,x]=i(!1),[y,k,O,T]=A((()=>{const e=!!u,t=C(b,l,c,!1,(e=>{x(e),e||I[H]&&I[H]()}),(e=>{z[H]&&z[H](e)}));return[t,F(t,e),j(t,e),e]}));y.D(b);const[J,$]=E(y,y._),D=E(y,y.C),B=E(y,y.T,!0),U=o(null);M((()=>{const e=U[H],t=k.P(e),n=O.j(e);return()=>{t(),n()}}),[]),M((()=>{const e=y.M();e&&O.U(e)}),[D]),n((()=>{v&&v({start:J,end:$,count:b})}),[J,$]);const X=h(J-r,0),Y=a($+r,b-1),q=s((()=>{const t=[];for(let n=X;n<=Y;n++){const r=S[n];m(r)&&t.push(e(V,{Y:k,q:y,G:n,K:f,X:r,N:T,Z:!1},(null==r?void 0:r.key)||n))}return t}),[S,X,Y]);return e(d,{ref:U,width:T?B:void 0,height:T?void 0:B,scrolling:R,attrs:s((()=>({...p,style:{overflow:"visible",display:T?"inline-block":"block",width:T?"auto":"100%",height:T?"100%":"auto",padding:0,margin:0,...p.style}})),w(p)),children:q})};export{G as VGrid,X as VList,K as WVList};
2
+ import{jsx as e}from"react/jsx-runtime";import{useLayoutEffect as t,useEffect as n,Children as r,useRef as o,useState as i,forwardRef as l,useMemo as s,memo as c,useImperativeHandle as u}from"react";import{flushSync as a}from"react-dom";const d=Math.min,h=Math.max,f=Math.abs,_=Date.now,g=Object.values,w=setTimeout,m=e=>null!=e,v=(e,t)=>{let n;const r=()=>{m(n)&&clearTimeout(n)},o=()=>{r(),n=w((()=>{n=null,e()}),t)};return o.t=r,o},p=e=>{let t,n;return(...r)=>(t||(t=!0,n=e(...r)),n)},S=-1,b=(e,t)=>{const n=e.o[t];return n===S?e.i:n},z=(e,t,n)=>{if(!e.l)return 0;if(e.u>=t)return n?e.h[t]+b(e,t):e.h[t];let r=e.u,o=e.h[r];for(;r<=t&&(e.h[r]=o,r!==t||n);)o+=b(e,r),r++;return e.u=t,o},I=(e,t)=>z(e,t),R=(e,t,n)=>{let r=0;if(n>=0)for(;t<e.l-1;){const o=b(e,t++);if((r+=o)>=n){r-o/2>=n&&t--;break}}else for(;t>0;){const o=b(e,--t);if((r-=o)<=n){r+o/2<n&&t++;break}}return d(h(t,0),e.l-1)},x=(e,t,n,r)=>R(e,n,t-r),y=(e,t,n)=>{const r=[],o=[];for(let t=0;t<e;t++){const e=n&&n.o[t];if(r.push(m(e)?e:S),0===t)o.push(0);else{const e=n&&n.h[t];o.push(m(e)?e:S)}}return{i:n?n.i:t,l:e,u:n?d(n.u,e-1):0,o:r,h:o}},k=e=>e.reduce(((e,[t])=>e+t),0),O=(e,t)=>t.map((([t,n])=>[n-b(e,t),t])),C=(e,t,n=0,r,o,i,l)=>{var s;const c=!t,u=t||40;let a=u*h(n-1,0),_=0,g=0,w=0,v=null!==(s=i)&&void 0!==s?s:y(e,u),p=0,C=!1,T=[0,n];const M=new Set,H=()=>(e=>z(e,e.l-1,!0))(v),J=()=>H()-a,W=e=>{const t=p;return p=e,0!==p&&(0===t&&(1===p||2===p)||void 0)};return{_:()=>JSON.parse(JSON.stringify(v)),g(){const[e,t]=T,n=I(v,e),r=x(v,_,e,n),o=R(v,r,a);return e===r&&t===o?T:T=[r,o]},m:e=>v.o[e]===S,v:e=>((e,t,n)=>{for(let r=t;r<=n;r++)if(e.o[r]===S)return!0;return!1})(v,h(0,e-2),d(v.l-1,e+2)),p(e){const t=I(v,e);return r?t+h(0,a-H()):t},S:e=>b(v,e),I:()=>v.l,R:()=>_,k:J,O:()=>a,C:H,T:()=>h(H(),a),M:()=>g,H(){const e=w;return w=0,e},J:e=>x(v,e,0,0),W(e,t){const n=[e,t];return M.add(n),()=>{M.delete(n)}},L(e,t){let n,r,i=0;switch(e){case 1:{const e=t.filter((([e,t])=>v.o[e]!==t));if(!e.length)break;let r=0;if(2===p)r=k(O(v,e));else if(3===p){const t=O(v,e),[n]=T;0===_||(r=_>J()-1.5?k(t):k(t.filter((([,e])=>e<n))))}r&&(w=r,g++,i+=4);let o=!1;e.forEach((([e,t])=>{((e,t,n)=>{const r=e.o[t]===S;return e.o[t]=n,e.u=d(t,e.u),r})(v,e,t)&&(o=!0)})),c&&o&&!_&&(e=>{const t=e.o.filter((e=>e!==S)),n=t[0];e.i=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)})(v),i+=2,C=n=!0;break}case 2:a!==t&&(a=t,i=2);break;case 3:case 4:if(_===t)break;if(3===e){const e=(()=>{const e=C;return C=!1,e})();0!==p&&e||3===p||(r=W(_>t?2:1)),n=f(_-t)>a}_=h(0,d(J(),t)),i=1;break;case 5:r=W(t?3:0)}i&&(M.forEach((([e,t])=>{i&e&&t(n)})),3===e&&l&&l(_)),m(r)&&o(r)},$:()=>p,j(e){v.l!==e&&(v=y(e,u,v))}}},T="undefined"!=typeof window?t:n,M="current",H=e=>{const t=[];return r.forEach(e,(e=>{m(e)&&"boolean"!=typeof e&&t.push(e)})),t},J=e=>{const t=o(e);return T((()=>{t[M]=e}),[e]),t},W=(e,n,r)=>{const[o,l]=i(n),s=J(n);if(t((()=>{let t;t=n===e.g?3:n===e.T?2:n===e.M?4:2;const r=()=>{l((()=>s[M]()))};return e.W(t,(e=>{e?a(r):r()}))}),[]),r){const e=n();o!==e&&l(e)}return o},L=/*#__PURE__*/p((e=>{const t="scrollLeft",n=e[t];e[t]=1;const r=e[t]<1;return e[t]=n,r})),E=(e,t,n)=>(()=>{let r=_()-50;return(...o)=>{const i=_();r+50<i&&(r=i,(r=>{if(0!==e.$()&&!r.ctrlKey&&(t?r.deltaX:r.deltaY)){const t=e.R();t>0&&t<e.k()&&n()}})(...o))}})(),$=(e,t,n)=>{let r,o;const i=t?"scrollLeft":"scrollTop",l=()=>r?t?r.scrollWidth:r.scrollHeight:0,s=(o,i)=>t&&n?L(r)||i?-o:e.k()-o:o,c=async(t,n)=>{if(!r)return;const c=()=>d(n(),l()-e.O());for(;e.L(4,c()),e.v(t);){o&&o[1]();const t=e.W(2,(()=>{o&&o[0]()}));try{await new Promise(((e,t)=>{let n=!1;const r=()=>{n||(n=!0,e(),o=void 0)};o=[r,t],w(r,250)}))}catch(e){return}finally{t()}}r[i]=s(c()),e.L(5,!0)};return{B(n){r=n;const o=()=>{e.L(3,s(n[i]))},l=v((()=>{o(),e.L(5,!1)}),150),c=()=>{o(),l()},u=E(e,t,l);return n.addEventListener("scroll",c),n.addEventListener("wheel",u,{passive:!0}),()=>{n.removeEventListener("scroll",c),n.removeEventListener("wheel",u),l.t()}},D:l,N(t){t=h(t,0),c(e.J(t),(()=>t))},U(t){t=h(d(t,e.I()-1),0),c(t,(()=>e.p(t)))},A:e=>{r&&(r[i]+=s(e,!0))}}},j=(e,t)=>{const n=t?"scrollX":"scrollY",r=t?"offsetLeft":"offsetTop";return{B(o){let i=!1;const l=(e,t)=>{const n=t+e[r],o=e.offsetParent;return e!==document.body&&o?l(o,n):n},s=()=>{i&&e.L(3,window[n]-l(o,0))},c=v((()=>{s(),e.L(5,!1)}),150),u=()=>{s(),c()},a=E(e,t,c),d=new IntersectionObserver((([e])=>{i=e.isIntersecting}));return d.observe(o),window.addEventListener("scroll",u),window.addEventListener("wheel",a,{passive:!0}),()=>{d.disconnect(),window.removeEventListener("scroll",u),window.removeEventListener("wheel",a),c.t()}},A:e=>{window.scrollBy(t?e:0,t?0:e)}}},B=e=>{const t=o();return t[M]||(t[M]=e())},D=(e,t)=>{let n;const r=t?"width":"height",o=new WeakMap,i=p((()=>new ResizeObserver((t=>{const i=[];for(const{target:l,contentRect:s}of t)if(l===n)e.L(2,s[r]);else{const e=o.get(l);m(e)&&i.push([e,s[r]])}i.length&&e.L(1,i)}))));return{F(e){n=e;const t=i();return t.observe(e),()=>{t.disconnect()}},P(e,t){const n=i();return o.set(e,t),n.observe(e),()=>{o.delete(e),n.unobserve(e)}}}},N=(e,t)=>{const n=t?"width":"height",r=t?"innerWidth":"innerHeight",o=new WeakMap,i=p((()=>new ResizeObserver((t=>{const r=[];for(const{target:e,contentRect:i}of t){const t=o.get(e);m(t)&&r.push([t,i[n]])}r.length&&e.L(1,r)}))));return{F(){const t=()=>{e.L(2,window[r])};return window.addEventListener("resize",t),t(),()=>{window.removeEventListener("resize",t),i().disconnect()}},P(e,t){const n=i();return o.set(e,t),n.observe(e),()=>{o.delete(e),n.unobserve(e)}}}},U=(e,t)=>{let n;const r="height",o="width",i=new WeakMap,l=new Set,s=new Set,c=new Map,u=(e,t)=>`${e}-${t}`,a=p((()=>new ResizeObserver((a=>{const d=new Set,f=new Set;for(const{target:l,contentRect:s}of a)if(l===n)e.L(2,s[r]),t.L(2,s[o]);else{const e=i.get(l);if(e){const[t,n]=e,i=u(t,n),l=c.get(i),a=[s[r],s[o]];let h,_;l?(l[0]!==a[0]&&(h=!0),l[1]!==a[1]&&(_=!0)):h=_=!0,h&&d.add(t),_&&f.add(n),(h||_)&&c.set(i,a)}}if(d.size){const t=[];d.forEach((e=>{let n=0;s.forEach((t=>{const r=c.get(u(e,t));r&&(n=h(n,r[0]))})),n&&t.push([e,n])})),e.L(1,t)}if(f.size){const e=[];f.forEach((t=>{let n=0;l.forEach((e=>{const r=c.get(u(e,t));r&&(n=h(n,r[1]))})),n&&e.push([t,n])})),t.L(1,e)}}))));return{F(e){n=e;const t=a();return t.observe(e),()=>{t.disconnect()}},P(e,t,n){const r=a();return i.set(e,[t,n]),l.add(t),s.add(n),r.observe(e),()=>{i.delete(e),r.unobserve(e)}}}},A=/*#__PURE__*/l((({children:t,attrs:n,width:r,height:o,scrolling:i},l)=>e("div",{ref:l,...n,children:e("div",{style:s((()=>({position:"relative",visibility:"hidden",width:null!=r?r:"100%",height:null!=o?o:"100%",pointerEvents:i?"none":"auto"})),[r,o,i]),children:t})}))),F=/*#__PURE__*/c((({V:t,X:n,Y:r,q:i,G:l,K:c,Z:u})=>{const a=o(null),d=W(r,(()=>r.p(i)),!0),h=W(r,(()=>r.m(i)),!0);return T((()=>n.P(a[M],i)),[i]),e(l,{ref:a,style:s((()=>{const e=u?"right":"left",t={margin:0,padding:0,position:"absolute",[c?"height":"width"]:"100%",[c?"top":e]:0,[c?e:"top"]:d,visibility:h?"hidden":"visible"};return c&&(t.display="flex"),t}),[d,h]),children:t})})),P=/*#__PURE__*/l((({children:t,overscan:r=4,initialItemSize:l,initialItemCount:c,horizontal:a,mode:f,cache:_,element:w=A,itemElement:v="div",onScroll:p,onScrollStop:S,onRangeChange:b,...z},I)=>{const R=s((()=>H(t)),[t]),x=R.length,y=J(p),k=J(S),[O,L]=i(!1),[E,j,N,U,P]=B((()=>{const e=!!a,t="rtl"===f,n=C(x,l,c,"reverse"===f,(e=>{L(e),e||k[M]&&k[M]()}),_,(e=>{y[M]&&y[M](e)}));return[n,D(n,e),$(n,e,t),e,t]}));E.j(x);const[V,X]=W(E,E.g),Y=W(E,E.M),q=W(E,E.T,!0),G=o(null);T((()=>{const e=G[M],t=j.F(e),n=N.B(e);return()=>{t(),n()}}),[]),T((()=>{const e=E.H();e&&N.A(e)}),[Y]),n((()=>{b&&b({start:V,end:X,count:x})}),[V,X]),u(I,(()=>({get cache(){return E._()},get scrollOffset(){return E.R()},get scrollSize(){return N.D()},get viewportSize(){return E.O()},scrollToIndex:N.U,scrollTo:N.N,scrollBy(e){N.N(E.R()+e)}})),[]);const K=h(V-r,0),Q=d(X+r,x-1),Z=s((()=>{const t=[];for(let n=K;n<=Q;n++){const r=R[n];m(r)&&t.push(e(F,{X:j,Y:E,q:n,G:v,V:r,K:U,Z:P},r.key||n))}return t}),[R,K,Q]);return e(w,{ref:G,width:U?q:void 0,height:U?void 0:q,scrolling:O,attrs:s((()=>({...z,style:{overflow:U?"auto hidden":"hidden auto",display:U?"inline-block":"block",contain:"strict",width:"100%",height:"100%",padding:0,margin:0,...z.style}})),g(z)),children:Z})})),V=(e,t)=>`${e}-${t}`,X=/*#__PURE__*/c((({V:t,X:n,ee:r,te:i,ne:l,re:c,G:u,Z:a})=>{const d=o(null),h=W(r,(()=>r.p(l)),!0),f=W(i,(()=>i.p(c)),!0),_=W(r,(()=>r.m(l)),!0),g=W(i,(()=>i.m(c)),!0),w=W(r,(()=>r.S(l)),!0),m=W(i,(()=>i.S(c)),!0);return T((()=>n.P(d[M],l,c)),[c,l]),e(u,{ref:d,style:s((()=>({display:"grid",margin:0,padding:0,position:"absolute",top:h,[a?"right":"left"]:f,visibility:_||g?"hidden":"visible",minHeight:w,minWidth:m})),[h,f,m,w,_,g]),children:t})})),Y=/*#__PURE__*/l((({children:t,row:n,col:r,cellHeight:l=40,cellWidth:c=100,overscan:a=2,initialRowCount:f,initialColCount:_,rtl:w,element:m=A,cellElement:v="div",...p},S)=>{const[b,z]=i(!1),[I,R]=i(!1),[x,y,k,O,H,J]=B((()=>{const e=!!w,t=C(n,l,f,!1,z),o=C(r,c,_,!1,R);return[t,o,U(t,o),$(t,!1,e),$(o,!0,e),e]}));x.j(n),y.j(r);const[L,E]=W(x,x.g),[j,D]=W(y,y.g),N=W(x,x.M),F=W(y,y.M),P=W(x,x.T,!0),Y=W(y,y.T,!0),q=o(null);T((()=>{const e=q[M],t=k.F(e),n=O.B(e),r=H.B(e);return()=>{t(),n(),r()}}),[]),T((()=>{const e=x.H();e&&O.A(e)}),[N]),T((()=>{const e=y.H();e&&H.A(e)}),[F]),u(S,(()=>({get scrollOffset(){return[y.R(),x.R()]},get scrollSize(){return[H.D(),O.D()]},get viewportSize(){return[y.O(),x.O()]},scrollToIndex(e,t){H.U(e),O.U(t)},scrollTo(e,t){H.N(e),O.N(t)},scrollBy(e,t){H.N(y.R()+e),O.N(x.R()+t)}})),[]);const G=s((()=>{const e=new Map;return(n,r)=>{let o=e.get(V(n,r));return o||e.set(V(n,r),o=t({rowIndex:n,colIndex:r})),o}}),[t]),K=h(L-a,0),Q=d(E+a,n-1),Z=h(j-a,0),ee=d(D+a,r-1),te=s((()=>{const t=[];for(let n=K;n<=Q;n++)for(let r=Z;r<=ee;r++)t.push(e(X,{X:k,ee:x,te:y,ne:n,re:r,G:v,V:G(n,r),Z:J},V(n,r)));return t}),[G,K,Q,Z,ee]);return e(m,{ref:q,width:Y,height:P,scrolling:b||I,attrs:s((()=>({...p,style:{overflow:"auto",contain:"strict",width:"100%",height:"100%",padding:0,margin:0,...p.style}})),g(p)),children:te})})),q=/*#__PURE__*/l((({children:t,overscan:r=4,initialItemSize:l,initialItemCount:c,horizontal:a,cache:f,element:_=A,itemElement:w="div",onScrollStop:v,onRangeChange:p,...S},b)=>{const z=s((()=>H(t)),[t]),I=z.length,R=J(v),[x,y]=i(!1),[k,O,L,E]=B((()=>{const e=!!a,t=C(I,l,c,!1,(e=>{y(e),e||R[M]&&R[M]()}),f);return[t,N(t,e),j(t,e),e]}));k.j(I);const[$,D]=W(k,k.g),U=W(k,k.M),P=W(k,k.T,!0),V=o(null);T((()=>{const e=V[M],t=O.F(e),n=L.B(e);return()=>{t(),n()}}),[]),T((()=>{const e=k.H();e&&L.A(e)}),[U]),n((()=>{p&&p({start:$,end:D,count:I})}),[$,D]),u(b,(()=>({get cache(){return k._()}})),[]);const X=h($-r,0),Y=d(D+r,I-1),q=s((()=>{const t=[];for(let n=X;n<=Y;n++){const r=z[n];m(r)&&t.push(e(F,{X:O,Y:k,q:n,G:w,V:r,K:E,Z:!1},r.key||n))}return t}),[z,X,Y]);return e(_,{ref:V,width:E?P:void 0,height:E?void 0:P,scrolling:x,attrs:s((()=>({...S,style:{overflow:"visible",display:E?"inline-block":"block",width:E?"auto":"100%",height:E?"100%":"auto",padding:0,margin:0,...S.style}})),g(S)),children:q})}));export{Y as VGrid,P as VList,q as WVList};
3
3
  //# sourceMappingURL=index.mjs.map