virtua 0.3.0 → 0.4.1

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