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