virtua 0.37.4 → 0.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/core/index.d.ts +7 -0
- package/lib/core/index.js +1 -0
- 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 +1 -1
- package/lib/react/WindowVirtualizer.d.ts +1 -1
- package/lib/solid/Virtualizer.d.ts +1 -1
- package/lib/solid/WindowVirtualizer.d.ts +1 -1
- package/lib/solid/index.js +1 -1
- package/lib/solid/index.js.map +1 -1
- package/lib/solid/index.mjs +1 -1
- package/lib/solid/index.mjs.map +1 -1
- package/lib/svelte/ListItem.svelte +1 -1
- package/lib/svelte/ListItem.svelte.d.ts +1 -1
- package/lib/svelte/VList.svelte.d.ts +4 -2
- package/lib/svelte/Virtualizer.svelte +70 -78
- package/lib/svelte/Virtualizer.svelte.d.ts +4 -2
- package/lib/svelte/Virtualizer.type.d.ts +1 -1
- package/lib/svelte/WindowVirtualizer.svelte +48 -46
- package/lib/svelte/WindowVirtualizer.svelte.d.ts +4 -2
- package/lib/svelte/WindowVirtualizer.type.d.ts +1 -1
- package/lib/svelte/types.js +1 -0
- package/lib/svelte/utils.d.ts +1 -1
- package/lib/vue/Virtualizer.d.ts +1 -1
- package/lib/vue/WindowVirtualizer.d.ts +1 -1
- package/lib/vue/index.js +1 -1
- package/lib/vue/index.js.map +1 -1
- package/lib/vue/index.mjs +1 -1
- package/lib/vue/index.mjs.map +1 -1
- package/package.json +31 -31
- package/lib/svelte/core.d.ts +0 -80
- package/lib/svelte/core.js +0 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
export { ACTION_ITEMS_LENGTH_CHANGE, ACTION_START_OFFSET_CHANGE, UPDATE_VIRTUAL_STATE, UPDATE_SCROLL_END_EVENT, UPDATE_SCROLL_EVENT, createVirtualStore, type VirtualStore, getScrollSize, type StateVersion, } from "./store";
|
|
3
|
+
export { createScroller, createWindowScroller, createGridScroller, } from "./scroller";
|
|
4
|
+
export { createResizer, createWindowResizer, type ItemResizeObserver, createGridResizer, type GridResizer, } from "./resizer";
|
|
5
|
+
export { isRTLDocument, isBrowser } from "./environment";
|
|
6
|
+
export { microtask, sort } from "./utils";
|
|
7
|
+
export type { CacheSnapshot, ScrollToIndexOpts, ItemsRange } from "./types";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=null,{min:t,max:o,abs:n,floor:r}=Math,s=setTimeout,c=(e,n,r)=>t(r,o(n,e)),i=e=>[...e].sort(((e,t)=>e-t)),l="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},f=e=>{let t,o;return()=>(t||(t=!0,o=e()),o)},a=-1,u=(e,t,o)=>{const n=o?"unshift":"push";for(let o=0;o<t;o++)e[n](a);return e},d=(e,t)=>{const o=e.t[t];return o===a?e.o:o},$=(e,o,n)=>{const r=e.t[o]===a;return e.t[o]=n,e.i=t(o,e.i),r},h=(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+=d(e,o),e.u[++o]=n;return e.i=t,n},p=(e,t,o=0,n=e.l-1)=>{for(;o<=n;){const s=r((o+n)/2),c=h(e,s);if(c<=t){if(c+d(e,s)>t)return s;o=s+1}else n=s-1}return c(o,0,e.l-1)},m=(e,o,n)=>{const r=o-e.l;return e.i=n?-1:t(o-1,e.i),e.l=o,r>0?(u(e.u,r),u(e.t,r,n),e.o*r):(e.u.splice(r),(n?e.t.splice(0,-r):e.t.splice(r)).reduce(((t,o)=>t-(o===a?e.o:o)),0))},g="undefined"!=typeof window,w=()=>document.documentElement,v=e=>e.ownerDocument,b=e=>e.defaultView,S=/*#__PURE__*/f((()=>!!g&&"rtl"===getComputedStyle(w()).direction)),I=/*#__PURE__*/f((()=>/iP(hone|od|ad)/.test(navigator.userAgent))),y=/*#__PURE__*/f((()=>"scrollBehavior"in w().style)),k=5,x=6,_=1,T=4,z=8,R=e=>o(e.$getTotalSize(),e.$getViewportSize()),M=e=>!!e.$getViewportSize(),J=(r,s=40,c=4,l=0,f,g=!1)=>{let w=!!l,v=[],b=0,S=0,y=0,k=0,x=0,_=0,T=0,z=0,R=0,M=w?[0,o(l-1,0)]:e,J=[0,0],P=0;const W=((e,n,r)=>({o:r?r[1]:n,t:r&&r[0]?u(r[0].slice(0,t(e,r[0].length)),o(0,e-r[0].length)):u([],e),l:e,i:-1,u:u([],e)}))(r,s,f),B=new Set,C=()=>y-S,L=()=>C()+_+x,O=e=>((e,o,n,r)=>{if(r=t(r,e.l-1),h(e,r)<=o){const t=p(e,o+n,r);return[p(e,o,r,t),t]}{const t=p(e,o,void 0,r);return[t,p(e,o+n,t)]}})(W,e,b,J[0]),q=()=>(e=>e.l?h(e,e.l-1)+d(e,e.l-1):0)(W),U=e=>h(W,e)-_,V=e=>d(W,e),X=e=>{e&&(I()&&0!==z?_+=e:(x+=e,k++))};return{$getStateVersion:()=>v,$getCacheSnapshot:()=>(e=>[e.t.slice(),e.o])(W),$getRange:()=>{if(T)return J;let[e,n]=O(o(0,L()));return M&&(e=t(e,M[0]),n=o(n,M[1])),1!==z&&(e-=o(0,c)),2!==z&&(n+=o(0,c)),J=[o(e,0),t(n,W.l-1)]},$findStartIndex:()=>p(W,L()),$findEndIndex:()=>p(W,L()+b),$isUnmeasuredItem:e=>W.t[e]===a,$:()=>!!M&&W.t.slice(o(0,M[0]-1),t(W.l-1,M[1]+1)+1).includes(a),$getItemOffset:U,$getItemSize:V,$getItemsLength:()=>W.l,$getScrollOffset:()=>y,$isScrolling:()=>0!==z,$getViewportSize:()=>b,$getStartSpacerSize:()=>S,$getTotalSize:q,$getJumpCount:()=>k,h:()=>(T=x,x=0,[T,2===R||C()+b>=q()]),$subscribe:(e,t)=>{const o=[e,t];return B.add(o),()=>{B.delete(o)}},$update:(t,r)=>{let s,c,l=0;switch(t){case 1:{const t=T;T=0;const o=r-y,s=n(o);t&&s<n(t)+1||0!==R||(z=o<0?2:1),w&&(M=e,w=!1),y=r,l=4;const i=C();i>=-b&&i<=q()&&(l+=1,c=s>b);break}case 2:l=8,0!==z&&(s=!0,l+=1),z=0,R=0,M=e;break;case 3:{const e=r.filter((([e,t])=>W.t[e]!==t));if(!e.length)break;X(e.reduce(((e,[t,o])=>((2===R||(M?t<M[0]:U(t)+(0===z&&0===R?V(t):0)<C()))&&(e+=o-V(t)),e)),0));for(const[t,o]of e){const e=V(t),n=$(W,t,o);g&&(P+=n?o:o-e)}g&&b&&P>b&&(X(((e,t)=>{let n=0;const r=[];e.t.forEach(((e,o)=>{e!==a&&(r.push(e),o<t&&n++)})),e.i=-1;const s=i(r),c=s.length,l=c/2|0,f=c%2==0?(s[l-1]+s[l])/2:s[l],u=e.o;return((e.o=f)-u)*o(t-n,0)})(W,p(W,L()))),g=!1),l=3,c=!0;break}case 4:b!==r&&(b=r,l=3);break;case 5:r[1]?(X(m(W,r[0],!0)),R=2,l=1):m(W,r[0]);break;case 6:S=r;break;case 7:R=1;break;case 8:M=O(r),l=1}l&&(v=[],s&&_&&(x+=_,_=0,k++),B.forEach((([e,t])=>{l&e&&t(c)})))}}},P=(e,t)=>t&&S()?-e:e,W=(t,o,n,r,c,i)=>{const l=Date.now;let f=0,a=!1,u=!1,d=!1,$=!1;const h=(()=>{let o;const n=()=>{o!=e&&clearTimeout(o)},r=()=>{n(),o=s((()=>{o=e,(()=>{if(a||u)return a=!1,void h();d=!1,t.$update(2)})()}),150)};return r.p=n,r})(),p=()=>{f=l(),d&&($=!0),i&&t.$update(6,i()),t.$update(1,r()),h()},m=e=>{if(a||!t.$isScrolling()||e.ctrlKey)return;const o=l()-f;150>o&&50<o&&(n?e.deltaX:e.deltaY)&&(a=!0)},g=()=>{u=!0,d=$=!1},w=()=>{u=!1,I()&&(d=!0)};return o.addEventListener("scroll",p),o.addEventListener("wheel",m,{passive:!0}),o.addEventListener("touchstart",g,{passive:!0}),o.addEventListener("touchend",w,{passive:!0}),{m:()=>{o.removeEventListener("scroll",p),o.removeEventListener("wheel",m),o.removeEventListener("touchstart",g),o.removeEventListener("touchend",w),h.p()},v:()=>{const[e,o]=t.h();e&&(c(P(e,n),o,$),$=!1,o&&t.$getViewportSize()>t.$getTotalSize()&&t.$update(1,r()))}}},B=(e,t)=>{let o,n,r;const i=t?"scrollLeft":"scrollTop",f=t?"overflowX":"overflowY",a=async(n,c)=>{if(!o)return void l((()=>a(n,c)));r&&r();const f=()=>{let t;return[new Promise(((o,n)=>{t=o,r=n,M(e)&&s(n,150)})),e.$subscribe(2,(()=>{t&&t()}))]};if(c&&y()){for(;e.$update(8,n()),e.$();){const[e,t]=f();try{await e}catch(e){return}finally{t()}}o.scrollTo({[t?"left":"top"]:P(n(),t),behavior:"smooth"})}else for(;;){const[r,s]=f();try{o[i]=P(n(),t),e.$update(7),await r}catch(e){return}finally{s()}}};return{$observe(c){o=c,n=W(e,c,t,(()=>P(c[i],t)),((t,o,n)=>{if(n){const e=c.style,t=e[f];e[f]="hidden",s((()=>{e[f]=t}))}o?(c[i]=e.$getScrollOffset()+t,r&&r()):c[i]+=t}))},$dispose(){n&&n.m()},$scrollTo(e){a((()=>e))},$scrollBy(t){t+=e.$getScrollOffset(),a((()=>t))},$scrollToIndex(t,{align:o,smooth:n,offset:r=0}={}){if(t=c(t,0,e.$getItemsLength()-1),"nearest"===o){const n=e.$getItemOffset(t),r=e.$getScrollOffset();if(n<r)o="start";else{if(!(n+e.$getItemSize(t)>r+e.$getViewportSize()))return;o="end"}}a((()=>r+e.$getStartSpacerSize()+e.$getItemOffset(t)+("end"===o?e.$getItemSize(t)-e.$getViewportSize():"center"===o?(e.$getItemSize(t)-e.$getViewportSize())/2:0)),n)},$fixScrollJump:()=>{n&&n.v()}}},C=(e,t)=>{let o,n,r;const i=(e,t,o,n,r=0)=>{const s=n?"offsetLeft":"offsetTop",c=r+(n&&S()?o.innerWidth-e[s]-e.offsetWidth:e[s]),l=e.offsetParent;return e!==t&&l?i(l,t,o,n,c):c},f=async(n,c)=>{if(!o)return void l((()=>f(n,c)));r&&r();const i=()=>{let t;return[new Promise(((o,n)=>{t=o,r=n,M(e)&&s(n,150)})),e.$subscribe(2,(()=>{t&&t()}))]},a=b(v(o));if(c&&y()){for(;e.$update(8,n()),e.$();){const[e,t]=i();try{await e}catch(e){return}finally{t()}}a.scroll({[t?"left":"top"]:P(n(),t),behavior:"smooth"})}else for(;;){const[o,r]=i();try{a.scroll({[t?"left":"top"]:P(n(),t)}),e.$update(7),await o}catch(e){return}finally{r()}}};return{$observe(r){o=r;const s=t?"scrollX":"scrollY",c=v(r),l=b(c),f=c.body;n=W(e,l,t,(()=>P(l[s],t)),((o,n)=>{n?l.scroll({[t?"left":"top"]:e.$getScrollOffset()+o}):l.scrollBy(t?o:0,t?0:o)}),(()=>i(r,f,l,t)))},$dispose(){n&&n.m(),o=void 0},$fixScrollJump:()=>{n&&n.v()},$scrollToIndex(n,{align:r,smooth:s,offset:l=0}={}){if(!o)return;if(n=c(n,0,e.$getItemsLength()-1),"nearest"===r){const t=e.$getItemOffset(n),o=e.$getScrollOffset();if(t<o)r="start";else{if(!(t+e.$getItemSize(n)>o+e.$getViewportSize()))return;r="end"}}const a=v(o),u=b(a);f((()=>{const s=i(o,a.body,u,t),c=u.innerHeight-a.documentElement.clientHeight,f=u.innerHeight-a.documentElement.clientWidth,d="end"===r||"center"===r?t?f:c:0;return l+s+e.$getItemOffset(n)+("end"===r?e.$getItemSize(n)-(e.$getViewportSize()-d):"center"===r?(e.$getItemSize(n)-(e.$getViewportSize()-d))/2:0)}),s)}}},L=(e,t)=>{const o=B(e,!1),n=B(t,!0);return{$observe(e){o.$observe(e),n.$observe(e)},$dispose(){o.$dispose(),n.$dispose()},$scrollTo(e,t){o.$scrollTo(t),n.$scrollTo(e)},$scrollBy(e,t){o.$scrollBy(t),n.$scrollBy(e)},$scrollToIndex(e,t){o.$scrollToIndex(t),n.$scrollToIndex(e)},$fixScrollJump(){o.$fixScrollJump(),n.$fixScrollJump()}}},O=e=>{let t;return{S(o){(t||(t=new(b(v(o)).ResizeObserver)(e))).observe(o)},I(e){t.unobserve(e)},m(){t&&t.disconnect()}}},q=(t,o)=>{let n;const r=o?"width":"height",s=new WeakMap,c=O((o=>{const c=[];for(const{target:i,contentRect:l}of o)if(i.offsetParent)if(i===n)t.$update(4,l[r]);else{const t=s.get(i);t!=e&&c.push([t,l[r]])}c.length&&t.$update(3,c)}));return{$observeRoot(e){c.S(n=e)},$observeItem:(e,t)=>(s.set(e,t),c.S(e),()=>{s.delete(e),c.I(e)}),$dispose:c.m}},U=(t,o)=>{const n=o?"width":"height",r=o?"innerWidth":"innerHeight",s=new WeakMap,c=O((o=>{const r=[];for(const{target:t,contentRect:c}of o){if(!t.offsetParent)continue;const o=s.get(t);o!=e&&r.push([o,c[n]])}r.length&&t.$update(3,r)}));let i;return{$observeRoot(e){const o=b(v(e)),n=()=>{t.$update(4,o[r])};o.addEventListener("resize",n),n(),i=()=>{o.removeEventListener("resize",n)}},$observeItem:(e,t)=>(s.set(e,t),c.S(e),()=>{s.delete(e),c.I(e)}),$dispose(){i&&i(),c.m()}}},V=(e,t)=>{let n;const r="height",s="width",c=new WeakMap,i=new Set,l=new Set,f=new Map,a=(e,t)=>`${e}-${t}`,u=O((u=>{const d=new Set,$=new Set;for(const{target:o,contentRect:i}of u)if(o.offsetParent)if(o===n)e.$update(4,i[r]),t.$update(4,i[s]);else{const e=c.get(o);if(e){const[t,o]=e,n=a(t,o),c=f.get(n),l=[i[r],i[s]];let u,h;c?(c[0]!==l[0]&&(u=!0),c[1]!==l[1]&&(h=!0)):u=h=!0,u&&d.add(t),h&&$.add(o),(u||h)&&f.set(n,l)}}if(d.size){const t=[];d.forEach((e=>{let n=0;l.forEach((t=>{const r=f.get(a(e,t));r&&(n=o(n,r[0]))})),n&&t.push([e,n])})),e.$update(3,t)}if($.size){const e=[];$.forEach((t=>{let n=0;i.forEach((e=>{const r=f.get(a(e,t));r&&(n=o(n,r[1]))})),n&&e.push([t,n])})),t.$update(3,e)}}));return{$observeRoot(e){u.S(n=e)},$observeItem:(e,t,o)=>(c.set(e,[t,o]),i.add(t),l.add(o),u.S(e),()=>{c.delete(e),u.I(e)}),$dispose:u.m}};export{k as ACTION_ITEMS_LENGTH_CHANGE,x as ACTION_START_OFFSET_CHANGE,z as UPDATE_SCROLL_END_EVENT,T as UPDATE_SCROLL_EVENT,_ as UPDATE_VIRTUAL_STATE,V as createGridResizer,L as createGridScroller,q as createResizer,B as createScroller,J as createVirtualStore,U as createWindowResizer,C as createWindowScroller,R as getScrollSize,g as isBrowser,S as isRTLDocument,l as microtask,i as sort};
|
package/lib/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
var e=require("react/jsx-runtime"),t=require("react"),n=require("react-dom");const r=null,{min:o,max:i,abs:s,floor:l}=Math,c=Array.isArray,d=setTimeout,f=(e,t,n)=>o(n,i(t,e)),u=e=>[...e].sort(((e,t)=>e-t)),a="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},h=e=>{let t,n;return()=>(t||(t=!0,n=e()),n)},_=-1,v=(e,t,n)=>{const r=n?"unshift":"push";for(let n=0;n<t;n++)e[r](_);return e},p=(e,t)=>{const n=e.t[t];return n===_?e.o:n},g=(e,t,n)=>{const r=e.t[t]===_;return e.t[t]=n,e.i=o(t,e.i),r},m=(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,r=e.u[n];for(;n<t;)r+=p(e,n),e.u[++n]=r;return e.i=t,r},w=(e,t,n=0,r=e.l-1)=>{for(;n<=r;){const o=l((n+r)/2),i=m(e,o);if(i<=t){if(i+p(e,o)>t)return o;n=o+1}else r=o-1}return f(n,0,e.l-1)},S=(e,t,n)=>{const r=t-e.l;return e.i=n?-1:o(t-1,e.i),e.l=t,r>0?(v(e.u,r),v(e.t,r,n),e.o*r):(e.u.splice(r),(n?e.t.splice(0,-r):e.t.splice(r)).reduce(((t,n)=>t-(n===_?e.o:n)),0))},y="undefined"!=typeof window,x=()=>document.documentElement,b=e=>e.ownerDocument,I=e=>e.defaultView,z=/*#__PURE__*/h((()=>!!y&&"rtl"===getComputedStyle(x()).direction)),k=/*#__PURE__*/h((()=>/iP(hone|od|ad)/.test(navigator.userAgent))),T=/*#__PURE__*/h((()=>"scrollBehavior"in x().style)),R=e=>i(e.h(),e._()),M=e=>!!e._(),C=(e,t=40,n=4,l=0,c,d=!1)=>{let f=!!l,a=[],h=0,y=0,x=0,b=0,I=0,z=0,T=0,R=0,M=0,C=f?[0,i(l-1,0)]:r,E=[0,0],H=0;const W=((e,t,n)=>({o:n?n[1]:t,t:n&&n[0]?v(n[0].slice(0,o(e,n[0].length)),i(0,e-n[0].length)):v([],e),l:e,i:-1,u:v([],e)}))(e,t,c),J=new Set,q=()=>x-y,B=()=>q()+z+I,O=e=>((e,t,n,r)=>{if(r=o(r,e.l-1),m(e,r)<=t){const o=w(e,t+n,r);return[w(e,t,r,o),o]}{const o=w(e,t,void 0,r);return[o,w(e,t+n,o)]}})(W,e,h,E[0]),L=()=>(e=>e.l?m(e,e.l-1)+p(e,e.l-1):0)(W),P=e=>m(W,e)-z,$=e=>p(W,e),A=e=>{e&&(k()&&0!==R?z+=e:(I+=e,b++))};return{v:()=>a,p:()=>(e=>[e.t.slice(),e.o])(W),m:()=>{if(T)return E;let[e,t]=O(i(0,B()));return C&&(e=o(e,C[0]),t=i(t,C[1])),1!==R&&(e-=i(0,n)),2!==R&&(t+=i(0,n)),E=[i(e,0),o(t,W.l-1)]},S:()=>w(W,B()),I:()=>w(W,B()+h),k:e=>W.t[e]===_,T:()=>!!C&&W.t.slice(i(0,C[0]-1),o(W.l-1,C[1]+1)+1).includes(_),R:P,M:$,C:()=>W.l,H:()=>x,W:()=>0!==R,_:()=>h,J:()=>y,h:L,q:()=>b,B:()=>(T=I,I=0,[T,2===M||q()+h>=L()]),O:(e,t)=>{const n=[e,t];return J.add(n),()=>{J.delete(n)}},L:(e,t)=>{let n,o,l=0;switch(e){case 1:{const e=T;T=0;const n=t-x,i=s(n);e&&i<s(e)+1||0!==M||(R=n<0?2:1),f&&(C=r,f=!1),x=t,l=4;const c=q();c>=-h&&c<=L()&&(l+=1,o=i>h);break}case 2:l=8,0!==R&&(n=!0,l+=1),R=0,M=0,C=r;break;case 3:{const e=t.filter((([e,t])=>W.t[e]!==t));if(!e.length)break;A(e.reduce(((e,[t,n])=>((2===M||(C?t<C[0]:P(t)+(0===R&&0===M?$(t):0)<q()))&&(e+=n-$(t)),e)),0));for(const[t,n]of e){const e=$(t),r=g(W,t,n);d&&(H+=r?n:n-e)}d&&h&&H>h&&(A(((e,t)=>{let n=0;const r=e.t.filter(((e,r)=>{const o=e!==_;return o&&r<t&&n++,o})),o=e.o;return e.i=-1,((e.o=(e=>{const t=u(e),n=e.length/2|0;return t.length%2==0?(t[n-1]+t[n])/2:t[n]})(r))-o)*i(t-n,0)})(W,w(W,B()))),d=!1),l=3,o=!0;break}case 4:h!==t&&(h=t,l=3);break;case 5:t[1]?(A(S(W,t[0],!0)),M=2,l=1):S(W,t[0]);break;case 6:y=t;break;case 7:M=1;break;case 8:C=O(t),l=1}l&&(a=[],n&&z&&(I+=z,z=0,b++),J.forEach((([e,t])=>{l&e&&t(o)})))}}},E=y?t.useLayoutEffect:t.useEffect,H=(e,t)=>t&&z()?-e:e,W=(e,t,n,o,i,s)=>{const l=Date.now;let c=0,f=!1,u=!1,a=!1,h=!1;const _=(()=>{let t;const n=()=>{t!=r&&clearTimeout(t)},o=()=>{n(),t=d((()=>{t=r,(()=>{if(f||u)return f=!1,void _();a=!1,e.L(2)})()}),150)};return o.P=n,o})(),v=()=>{c=l(),a&&(h=!0),s&&e.L(6,s()),e.L(1,o()),_()},p=t=>{if(f||!e.W()||t.ctrlKey)return;const r=l()-c;150>r&&50<r&&(n?t.deltaX:t.deltaY)&&(f=!0)},g=()=>{u=!0,a=h=!1},m=()=>{u=!1,k()&&(a=!0)};return t.addEventListener("scroll",v),t.addEventListener("wheel",p,{passive:!0}),t.addEventListener("touchstart",g,{passive:!0}),t.addEventListener("touchend",m,{passive:!0}),{$:()=>{t.removeEventListener("scroll",v),t.removeEventListener("wheel",p),t.removeEventListener("touchstart",g),t.removeEventListener("touchend",m),_.P()},A:()=>{const[t,r]=e.B();t&&(i(H(t,n),r,h),h=!1,r&&e._()>e.h()&&e.L(1,o()))}}},J=(e,t)=>{let n,r,o;const i=t?"scrollLeft":"scrollTop",s=t?"overflowX":"overflowY",l=async(r,s)=>{if(!n)return void a((()=>l(r,s)));o&&o();const c=()=>{let t;return[new Promise(((n,r)=>{t=n,o=r,M(e)&&d(r,150)})),e.O(2,(()=>{t&&t()}))]};if(s&&T()){for(;e.L(8,r()),e.T();){const[e,t]=c();try{await e}catch(e){return}finally{t()}}n.scrollTo({[t?"left":"top"]:H(r(),t),behavior:"smooth"})}else for(;;){const[o,s]=c();try{n[i]=H(r(),t),e.L(7),await o}catch(e){return}finally{s()}}};return{X(l){n=l,r=W(e,l,t,(()=>H(l[i],t)),((t,n,r)=>{if(r){const e=l.style,t=e[s];e[s]="hidden",d((()=>{e[s]=t}))}n?(l[i]=e.H()+t,o&&o()):l[i]+=t}))},$(){r&&r.$()},Y(e){l((()=>e))},j(t){t+=e.H(),l((()=>t))},D(t,{align:n,smooth:r,offset:o=0}={}){if(t=f(t,0,e.C()-1),"nearest"===n){const r=e.R(t),o=e.H();if(r<o)n="start";else{if(!(r+e.M(t)>o+e._()))return;n="end"}}l((()=>o+e.J()+e.R(t)+("end"===n?e.M(t)-e._():"center"===n?(e.M(t)-e._())/2:0)),r)},A:()=>{r&&r.A()}}},q=(e,t)=>{let n,r,o;const i=(e,t,n,r,o=0)=>{const s=r?"offsetLeft":"offsetTop",l=o+(r&&z()?n.innerWidth-e[s]-e.offsetWidth:e[s]),c=e.offsetParent;return e!==t&&c?i(c,t,n,r,l):l},s=async(r,i)=>{if(!n)return void a((()=>s(r,i)));o&&o();const l=()=>{let t;return[new Promise(((n,r)=>{t=n,o=r,M(e)&&d(r,150)})),e.O(2,(()=>{t&&t()}))]},c=I(b(n));if(i&&T()){for(;e.L(8,r()),e.T();){const[e,t]=l();try{await e}catch(e){return}finally{t()}}c.scroll({[t?"left":"top"]:H(r(),t),behavior:"smooth"})}else for(;;){const[n,o]=l();try{c.scroll({[t?"left":"top"]:H(r(),t)}),e.L(7),await n}catch(e){return}finally{o()}}};return{X(o){n=o;const s=t?"scrollX":"scrollY",l=b(o),c=I(l),d=l.body;r=W(e,c,t,(()=>H(c[s],t)),((n,r)=>{r?c.scroll({[t?"left":"top"]:e.H()+n}):c.scrollBy(t?n:0,t?0:n)}),(()=>i(o,d,c,t)))},$(){r&&r.$(),n=void 0},A:()=>{r&&r.A()},D(r,{align:o,smooth:l,offset:c=0}={}){if(!n)return;if(r=f(r,0,e.C()-1),"nearest"===o){const t=e.R(r),n=e.H();if(t<n)o="start";else{if(!(t+e.M(r)>n+e._()))return;o="end"}}const d=b(n),u=I(d);s((()=>{const s=i(n,d.body,u,t),l=u.innerHeight-d.documentElement.clientHeight,f=u.innerHeight-d.documentElement.clientWidth,a="end"===o||"center"===o?t?f:l:0;return c+s+e.R(r)+("end"===o?e.M(r)-(e._()-a):"center"===o?(e.M(r)-(e._()-a))/2:0)}),l)}}},B=(e,t)=>{const n=J(e,!1),r=J(t,!0);return{X(e){n.X(e),r.X(e)},$(){n.$(),r.$()},Y(e,t){n.Y(t),r.Y(e)},j(e,t){n.j(t),r.j(e)},D(e,t){n.D(t),r.D(e)},A(){n.A(),r.A()}}},O="current",L=(e,t)=>{if(c(e))for(const n of e)L(n,t);else e==r||"boolean"==typeof e||t.push(e)},P=(e,t)=>{const n=e.key;return n!=r?n:"_"+t},$=e=>{const n=t.useRef();return n[O]||(n[O]=e())},A=e=>{const n=t.useRef(e);return E((()=>{n[O]=e}),[e]),n},X=e=>{let t;return{X(n){(t||(t=new(I(b(n)).ResizeObserver)(e))).observe(n)},U(e){t.unobserve(e)},$(){t&&t.disconnect()}}},Y=(e,t)=>{let n;const o=t?"width":"height",i=new WeakMap,s=X((t=>{const s=[];for(const{target:l,contentRect:c}of t)if(l.offsetParent)if(l===n)e.L(4,c[o]);else{const e=i.get(l);e!=r&&s.push([e,c[o]])}s.length&&e.L(3,s)}));return{V(e){s.X(n=e)},F:(e,t)=>(i.set(e,t),s.X(e),()=>{i.delete(e),s.U(e)}),$:s.$}},j=(e,t)=>{const n=t?"width":"height",o=t?"innerWidth":"innerHeight",i=new WeakMap,s=X((t=>{const o=[];for(const{target:e,contentRect:s}of t){if(!e.offsetParent)continue;const t=i.get(e);t!=r&&o.push([t,s[n]])}o.length&&e.L(3,o)}));let l;return{V(t){const n=I(b(t)),r=()=>{e.L(4,n[o])};n.addEventListener("resize",r),r(),l=()=>{n.removeEventListener("resize",r)}},F:(e,t)=>(i.set(e,t),s.X(e),()=>{i.delete(e),s.U(e)}),$(){l&&l(),s.$()}}},D=(e,t)=>{let n;const r="height",o="width",s=new WeakMap,l=new Set,c=new Set,d=new Map,f=(e,t)=>`${e}-${t}`,u=X((u=>{const a=new Set,h=new Set;for(const{target:i,contentRect:l}of u)if(i.offsetParent)if(i===n)e.L(4,l[r]),t.L(4,l[o]);else{const e=s.get(i);if(e){const[t,n]=e,i=f(t,n),s=d.get(i),c=[l[r],l[o]];let u,_;s?(s[0]!==c[0]&&(u=!0),s[1]!==c[1]&&(_=!0)):u=_=!0,u&&a.add(t),_&&h.add(n),(u||_)&&d.set(i,c)}}if(a.size){const t=[];a.forEach((e=>{let n=0;c.forEach((t=>{const r=d.get(f(e,t));r&&(n=i(n,r[0]))})),n&&t.push([e,n])})),e.L(3,t)}if(h.size){const e=[];h.forEach((t=>{let n=0;l.forEach((e=>{const r=d.get(f(e,t));r&&(n=i(n,r[1]))})),n&&e.push([t,n])})),t.L(3,e)}}));return{V(e){u.X(n=e)},F:(e,t,n)=>(s.set(e,[t,n]),l.add(t),c.add(n),u.X(e),()=>{s.delete(e),u.U(e)}),$:u.$}},U=t.memo((({G:n,K:o,N:i,Z:s,ee:l,te:c,ne:d,re:f})=>{const u=t.useRef(r);E((()=>o(u[O],i)),[i]);const a=t.useMemo((()=>{const e={position:l&&f?void 0:"absolute",[d?"height":"width"]:"100%",[d?"top":"left"]:0,[d?z()?"right":"left":"top"]:s,visibility:!l||f?"visible":"hidden"};return d&&(e.display="flex"),e}),[s,l,f,d]);return"string"==typeof c?e.jsx(c,{ref:u,style:a,children:n}):e.jsx(c,{ref:u,style:a,index:i,children:n})})),V=e=>t.useReducer(e.v,void 0,e.v)[1],F=(e,n)=>t.useMemo((()=>{if("function"==typeof e)return[e,n||0];const t=(e=>{const t=[];return L(e,t),t})(e);return[e=>t[e],t.length]}),[e,n]),G=t.forwardRef((({children:o,count:i,overscan:s,itemSize:l,shift:c,horizontal:d,keepMounted:f,cache:h,startMargin:_=0,ssrCount:v,as:p="div",item:g="div",scrollRef:m,onScroll:w,onScrollEnd:S},y)=>{const[x,b]=F(o,i),I=t.useRef(r),z=t.useRef(!!v),k=A(w),T=A(S),[M,H,W,q]=$((()=>{const e=!!d,t=C(b,l,s,v,h,!l);return[t,Y(t,e),J(t,e),e]}));b!==M.C()&&M.L(5,[b,c]),_!==M.J()&&M.L(6,_);const B=V(M),[L,X]=M.m(),j=M.W(),D=M.q(),G=M.h(),K=[],N=t=>{const n=x(t);return e.jsx(U,{K:H.F,N:t,Z:M.R(t),ee:M.k(t),te:g,G:n,ne:q,re:z[O]},P(n,t))};E((()=>{z[O]=!1;const e=M.O(1,(e=>{e?n.flushSync(B):B()})),t=M.O(4,(()=>{k[O]&&k[O](M.H())})),r=M.O(8,(()=>{T[O]&&T[O]()})),o=e=>{H.V(e),W.X(e)};return m?a((()=>o(m[O]))):o(I[O].parentElement),()=>{e(),t(),r(),H.$(),W.$()}}),[]),E((()=>{W.A()}),[D]),t.useImperativeHandle(y,(()=>({get cache(){return M.p()},get scrollOffset(){return M.H()},get scrollSize(){return R(M)},get viewportSize(){return M._()},findStartIndex:M.S,findEndIndex:M.I,getItemOffset:M.R,getItemSize:M.M,scrollToIndex:W.D,scrollTo:W.Y,scrollBy:W.j})),[]);for(let e=L,t=X;e<=t;e++)K.push(N(e));if(f){const e=[],t=[];u(f).forEach((n=>{n<L&&e.push(N(n)),n>X&&t.push(N(n))})),K.unshift(...e),K.push(...t)}return e.jsx(p,{ref:I,style:{overflowAnchor:"none",flex:"none",position:"relative",visibility:"hidden",width:q?G:"100%",height:q?"100%":G,pointerEvents:j?"none":void 0},children:K})})),K=t.forwardRef((({children:n,count:o,overscan:i,itemSize:s,shift:l,horizontal:c,keepMounted:d,reverse:f,cache:u,ssrCount:a,item:h,onScroll:_,onScrollEnd:v,style:p,...g},m)=>{const w=t.useRef(r),S=f&&!c;let y=e.jsx(G,{ref:m,scrollRef:S?w:void 0,count:o,overscan:i,itemSize:s,shift:l,horizontal:c,keepMounted:d,cache:u,ssrCount:a,item:h,onScroll:_,onScrollEnd:v,children:n});return S&&(y=e.jsx("div",{style:{visibility:"hidden",display:"flex",flexDirection:"column",justifyContent:"flex-end",minHeight:"100%"},children:y})),e.jsx("div",{ref:w,...g,style:{display:c?"inline-block":"block",[c?"overflowX":"overflowY"]:"auto",contain:"strict",width:"100%",height:"100%",...p},children:y})})),N=t.forwardRef((({children:o,count:i,overscan:s,itemSize:l,shift:c,horizontal:d,cache:f,ssrCount:u,as:a="div",item:h="div",onScroll:_,onScrollEnd:v},p)=>{const[g,m]=F(o,i),w=t.useRef(r),S=A(_),y=A(v),x=t.useRef(!!u),[b,I,z,k]=$((()=>{const e=!!d,t=C(m,l,s,u,f,!l);return[t,j(t,e),q(t,e),e]}));m!==b.C()&&b.L(5,[m,c]);const T=V(b),[R,M]=b.m(),H=b.W(),W=b.q(),J=b.h(),B=[];E((()=>{x[O]=!1;const e=b.O(1,(e=>{e?n.flushSync(T):T()})),t=b.O(4,(()=>{S[O]&&S[O](b.H())})),r=b.O(8,(()=>{y[O]&&y[O]()})),o=w[O];return I.V(o),z.X(o),()=>{e(),t(),r(),I.$(),z.$()}}),[]),E((()=>{z.A()}),[W]),t.useImperativeHandle(p,(()=>({get cache(){return b.p()},findStartIndex:b.S,findEndIndex:b.I,scrollToIndex:z.D})),[]);for(let t=R,n=M;t<=n;t++){const n=g(t);B.push(e.jsx(U,{K:I.F,N:t,Z:b.R(t),ee:b.k(t),te:h,G:n,ne:k,re:x[O]},P(n,t)))}return e.jsx(a,{ref:w,style:{flex:"none",position:"relative",visibility:"hidden",width:k?J:"100%",height:k?"100%":J,pointerEvents:H?"none":void 0},children:B})})),Q=(e,t)=>`${e}-${t}`,Z=t.memo((({G:n,K:o,oe:i,ie:s,se:l,le:c,ce:d,de:f,ee:u,fe:a})=>{const h=t.useRef(r);return E((()=>o.F(h[O],i,s)),[s,i]),e.jsx(a,{ref:h,style:t.useMemo((()=>({display:"grid",position:"absolute",top:l,[z()?"right":"left"]:c,visibility:u?"hidden":"visible",minHeight:d,minWidth:f})),[l,c,f,d,u]),children:n})})),ee=t.forwardRef((({children:o,row:i,col:s,cellHeight:l=40,cellWidth:c=100,overscan:d=2,initialRowCount:f,initialColCount:u,item:a="div",style:h,..._},v)=>{const[p,g,m,w]=$((()=>{const e=C(i,l,d,f),t=C(s,c,d,u);return[e,t,D(e,t),B(e,t)]}));i!==p.C()&&p.L(5,[i]),s!==g.C()&&g.L(5,[s]);const S=V(p),y=V(g),[x,b]=p.m(),[I,z]=g.m(),k=p.W(),T=g.W(),M=p.q(),H=g.q(),W=R(p),J=R(g),q=t.useRef(r);E((()=>{const e=q[O],t=p.O(1,(e=>{e?n.flushSync(S):S()})),r=g.O(1,(e=>{e?n.flushSync(y):y()}));return m.V(e),w.X(e),()=>{t(),r(),m.$(),w.$()}}),[]),E((()=>{w.A()}),[M,H]),t.useImperativeHandle(v,(()=>({get scrollTop(){return p.H()},get scrollLeft(){return g.H()},get scrollHeight(){return R(p)},get scrollWidth(){return R(g)},get viewportHeight(){return p._()},get viewportWidth(){return g._()},scrollToIndex:w.D,scrollTo:w.Y,scrollBy:w.j})),[]);const L=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]),P=[];for(let t=x;t<=b;t++)for(let n=I;n<=z;n++)P.push(e.jsx(Z,{K:m,oe:t,ie:n,se:p.R(t),le:g.R(n),ce:p.M(t),de:g.M(n),ee:p.k(t)||g.k(n),fe:a,G:L(t,n)},Q(t,n)));return e.jsx("div",{ref:q,..._,style:{overflow:"auto",contain:"strict",width:"100%",height:"100%",...h},children:e.jsx("div",{style:{overflowAnchor:"none",flex:"none",position:"relative",visibility:"hidden",width:J,height:W,pointerEvents:k||T?"none":void 0},children:P})})}));exports.VList=K,exports.Virtualizer=G,exports.WindowVirtualizer=N,exports.experimental_VGrid=ee;
|
|
2
|
+
var e=require("react/jsx-runtime"),t=require("react"),n=require("react-dom");const r=null,{min:o,max:i,abs:s,floor:l}=Math,c=setTimeout,d=(e,t,n)=>o(n,i(t,e)),f=e=>[...e].sort(((e,t)=>e-t)),u="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},a=e=>{let t,n;return()=>(t||(t=!0,n=e()),n)},h=-1,v=(e,t,n)=>{const r=n?"unshift":"push";for(let n=0;n<t;n++)e[r](h);return e},p=(e,t)=>{const n=e.t[t];return n===h?e.o:n},g=(e,t,n)=>{const r=e.t[t]===h;return e.t[t]=n,e.i=o(t,e.i),r},_=(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,r=e.u[n];for(;n<t;)r+=p(e,n),e.u[++n]=r;return e.i=t,r},m=(e,t,n=0,r=e.l-1)=>{for(;n<=r;){const o=l((n+r)/2),i=_(e,o);if(i<=t){if(i+p(e,o)>t)return o;n=o+1}else r=o-1}return d(n,0,e.l-1)},w=(e,t,n)=>{const r=t-e.l;return e.i=n?-1:o(t-1,e.i),e.l=t,r>0?(v(e.u,r),v(e.t,r,n),e.o*r):(e.u.splice(r),(n?e.t.splice(0,-r):e.t.splice(r)).reduce(((t,n)=>t-(n===h?e.o:n)),0))},$="undefined"!=typeof window,S=()=>document.documentElement,y=e=>e.ownerDocument,x=e=>e.defaultView,b=/*#__PURE__*/a((()=>!!$&&"rtl"===getComputedStyle(S()).direction)),I=/*#__PURE__*/a((()=>/iP(hone|od|ad)/.test(navigator.userAgent))),z=/*#__PURE__*/a((()=>"scrollBehavior"in S().style)),k=e=>i(e.h(),e.v()),T=e=>!!e.v(),R=(e,t=40,n=4,l=0,c,d=!1)=>{let u=!!l,a=[],$=0,S=0,y=0,x=0,b=0,z=0,k=0,T=0,R=0,M=u?[0,i(l-1,0)]:r,C=[0,0],E=0;const H=((e,t,n)=>({o:n?n[1]:t,t:n&&n[0]?v(n[0].slice(0,o(e,n[0].length)),i(0,e-n[0].length)):v([],e),l:e,i:-1,u:v([],e)}))(e,t,c),W=new Set,J=()=>y-S,q=()=>J()+z+b,B=e=>((e,t,n,r)=>{if(r=o(r,e.l-1),_(e,r)<=t){const o=m(e,t+n,r);return[m(e,t,r,o),o]}{const o=m(e,t,void 0,r);return[o,m(e,t+n,o)]}})(H,e,$,C[0]),O=()=>(e=>e.l?_(e,e.l-1)+p(e,e.l-1):0)(H),L=e=>_(H,e)-z,P=e=>p(H,e),A=e=>{e&&(I()&&0!==T?z+=e:(b+=e,x++))};return{p:()=>a,_:()=>(e=>[e.t.slice(),e.o])(H),m:()=>{if(k)return C;let[e,t]=B(i(0,q()));return M&&(e=o(e,M[0]),t=i(t,M[1])),1!==T&&(e-=i(0,n)),2!==T&&(t+=i(0,n)),C=[i(e,0),o(t,H.l-1)]},$:()=>m(H,q()),S:()=>m(H,q()+$),I:e=>H.t[e]===h,k:()=>!!M&&H.t.slice(i(0,M[0]-1),o(H.l-1,M[1]+1)+1).includes(h),T:L,R:P,M:()=>H.l,C:()=>y,H:()=>0!==T,v:()=>$,W:()=>S,h:O,J:()=>x,q:()=>(k=b,b=0,[k,2===R||J()+$>=O()]),B:(e,t)=>{const n=[e,t];return W.add(n),()=>{W.delete(n)}},O:(e,t)=>{let n,o,l=0;switch(e){case 1:{const e=k;k=0;const n=t-y,i=s(n);e&&i<s(e)+1||0!==R||(T=n<0?2:1),u&&(M=r,u=!1),y=t,l=4;const c=J();c>=-$&&c<=O()&&(l+=1,o=i>$);break}case 2:l=8,0!==T&&(n=!0,l+=1),T=0,R=0,M=r;break;case 3:{const e=t.filter((([e,t])=>H.t[e]!==t));if(!e.length)break;A(e.reduce(((e,[t,n])=>((2===R||(M?t<M[0]:L(t)+(0===T&&0===R?P(t):0)<J()))&&(e+=n-P(t)),e)),0));for(const[t,n]of e){const e=P(t),r=g(H,t,n);d&&(E+=r?n:n-e)}d&&$&&E>$&&(A(((e,t)=>{let n=0;const r=[];e.t.forEach(((e,o)=>{e!==h&&(r.push(e),o<t&&n++)})),e.i=-1;const o=f(r),s=o.length,l=s/2|0,c=s%2==0?(o[l-1]+o[l])/2:o[l],d=e.o;return((e.o=c)-d)*i(t-n,0)})(H,m(H,q()))),d=!1),l=3,o=!0;break}case 4:$!==t&&($=t,l=3);break;case 5:t[1]?(A(w(H,t[0],!0)),R=2,l=1):w(H,t[0]);break;case 6:S=t;break;case 7:R=1;break;case 8:M=B(t),l=1}l&&(a=[],n&&z&&(b+=z,z=0,x++),W.forEach((([e,t])=>{l&e&&t(o)})))}}},M=(e,t)=>t&&b()?-e:e,C=(e,t,n,o,i,s)=>{const l=Date.now;let d=0,f=!1,u=!1,a=!1,h=!1;const v=(()=>{let t;const n=()=>{t!=r&&clearTimeout(t)},o=()=>{n(),t=c((()=>{t=r,(()=>{if(f||u)return f=!1,void v();a=!1,e.O(2)})()}),150)};return o.L=n,o})(),p=()=>{d=l(),a&&(h=!0),s&&e.O(6,s()),e.O(1,o()),v()},g=t=>{if(f||!e.H()||t.ctrlKey)return;const r=l()-d;150>r&&50<r&&(n?t.deltaX:t.deltaY)&&(f=!0)},_=()=>{u=!0,a=h=!1},m=()=>{u=!1,I()&&(a=!0)};return t.addEventListener("scroll",p),t.addEventListener("wheel",g,{passive:!0}),t.addEventListener("touchstart",_,{passive:!0}),t.addEventListener("touchend",m,{passive:!0}),{P:()=>{t.removeEventListener("scroll",p),t.removeEventListener("wheel",g),t.removeEventListener("touchstart",_),t.removeEventListener("touchend",m),v.L()},A:()=>{const[t,r]=e.q();t&&(i(M(t,n),r,h),h=!1,r&&e.v()>e.h()&&e.O(1,o()))}}},E=(e,t)=>{let n,r,o;const i=t?"scrollLeft":"scrollTop",s=t?"overflowX":"overflowY",l=async(r,s)=>{if(!n)return void u((()=>l(r,s)));o&&o();const d=()=>{let t;return[new Promise(((n,r)=>{t=n,o=r,T(e)&&c(r,150)})),e.B(2,(()=>{t&&t()}))]};if(s&&z()){for(;e.O(8,r()),e.k();){const[e,t]=d();try{await e}catch(e){return}finally{t()}}n.scrollTo({[t?"left":"top"]:M(r(),t),behavior:"smooth"})}else for(;;){const[o,s]=d();try{n[i]=M(r(),t),e.O(7),await o}catch(e){return}finally{s()}}};return{X(l){n=l,r=C(e,l,t,(()=>M(l[i],t)),((t,n,r)=>{if(r){const e=l.style,t=e[s];e[s]="hidden",c((()=>{e[s]=t}))}n?(l[i]=e.C()+t,o&&o()):l[i]+=t}))},Y(){r&&r.P()},j(e){l((()=>e))},D(t){t+=e.C(),l((()=>t))},U(t,{align:n,smooth:r,offset:o=0}={}){if(t=d(t,0,e.M()-1),"nearest"===n){const r=e.T(t),o=e.C();if(r<o)n="start";else{if(!(r+e.R(t)>o+e.v()))return;n="end"}}l((()=>o+e.W()+e.T(t)+("end"===n?e.R(t)-e.v():"center"===n?(e.R(t)-e.v())/2:0)),r)},V:()=>{r&&r.A()}}},H=(e,t)=>{let n,r,o;const i=(e,t,n,r,o=0)=>{const s=r?"offsetLeft":"offsetTop",l=o+(r&&b()?n.innerWidth-e[s]-e.offsetWidth:e[s]),c=e.offsetParent;return e!==t&&c?i(c,t,n,r,l):l},s=async(r,i)=>{if(!n)return void u((()=>s(r,i)));o&&o();const l=()=>{let t;return[new Promise(((n,r)=>{t=n,o=r,T(e)&&c(r,150)})),e.B(2,(()=>{t&&t()}))]},d=x(y(n));if(i&&z()){for(;e.O(8,r()),e.k();){const[e,t]=l();try{await e}catch(e){return}finally{t()}}d.scroll({[t?"left":"top"]:M(r(),t),behavior:"smooth"})}else for(;;){const[n,o]=l();try{d.scroll({[t?"left":"top"]:M(r(),t)}),e.O(7),await n}catch(e){return}finally{o()}}};return{X(o){n=o;const s=t?"scrollX":"scrollY",l=y(o),c=x(l),d=l.body;r=C(e,c,t,(()=>M(c[s],t)),((n,r)=>{r?c.scroll({[t?"left":"top"]:e.C()+n}):c.scrollBy(t?n:0,t?0:n)}),(()=>i(o,d,c,t)))},Y(){r&&r.P(),n=void 0},V:()=>{r&&r.A()},U(r,{align:o,smooth:l,offset:c=0}={}){if(!n)return;if(r=d(r,0,e.M()-1),"nearest"===o){const t=e.T(r),n=e.C();if(t<n)o="start";else{if(!(t+e.R(r)>n+e.v()))return;o="end"}}const f=y(n),u=x(f);s((()=>{const s=i(n,f.body,u,t),l=u.innerHeight-f.documentElement.clientHeight,d=u.innerHeight-f.documentElement.clientWidth,a="end"===o||"center"===o?t?d:l:0;return c+s+e.T(r)+("end"===o?e.R(r)-(e.v()-a):"center"===o?(e.R(r)-(e.v()-a))/2:0)}),l)}}},W=(e,t)=>{const n=E(e,!1),r=E(t,!0);return{X(e){n.X(e),r.X(e)},Y(){n.Y(),r.Y()},j(e,t){n.j(t),r.j(e)},D(e,t){n.D(t),r.D(e)},U(e,t){n.U(t),r.U(e)},V(){n.V(),r.V()}}},J=e=>{let t;return{F(n){(t||(t=new(x(y(n)).ResizeObserver)(e))).observe(n)},G(e){t.unobserve(e)},P(){t&&t.disconnect()}}},q=(e,t)=>{let n;const o=t?"width":"height",i=new WeakMap,s=J((t=>{const s=[];for(const{target:l,contentRect:c}of t)if(l.offsetParent)if(l===n)e.O(4,c[o]);else{const e=i.get(l);e!=r&&s.push([e,c[o]])}s.length&&e.O(3,s)}));return{K(e){s.F(n=e)},N:(e,t)=>(i.set(e,t),s.F(e),()=>{i.delete(e),s.G(e)}),Y:s.P}},B=(e,t)=>{const n=t?"width":"height",o=t?"innerWidth":"innerHeight",i=new WeakMap,s=J((t=>{const o=[];for(const{target:e,contentRect:s}of t){if(!e.offsetParent)continue;const t=i.get(e);t!=r&&o.push([t,s[n]])}o.length&&e.O(3,o)}));let l;return{K(t){const n=x(y(t)),r=()=>{e.O(4,n[o])};n.addEventListener("resize",r),r(),l=()=>{n.removeEventListener("resize",r)}},N:(e,t)=>(i.set(e,t),s.F(e),()=>{i.delete(e),s.G(e)}),Y(){l&&l(),s.P()}}},O=(e,t)=>{let n;const r="height",o="width",s=new WeakMap,l=new Set,c=new Set,d=new Map,f=(e,t)=>`${e}-${t}`,u=J((u=>{const a=new Set,h=new Set;for(const{target:i,contentRect:l}of u)if(i.offsetParent)if(i===n)e.O(4,l[r]),t.O(4,l[o]);else{const e=s.get(i);if(e){const[t,n]=e,i=f(t,n),s=d.get(i),c=[l[r],l[o]];let u,v;s?(s[0]!==c[0]&&(u=!0),s[1]!==c[1]&&(v=!0)):u=v=!0,u&&a.add(t),v&&h.add(n),(u||v)&&d.set(i,c)}}if(a.size){const t=[];a.forEach((e=>{let n=0;c.forEach((t=>{const r=d.get(f(e,t));r&&(n=i(n,r[0]))})),n&&t.push([e,n])})),e.O(3,t)}if(h.size){const e=[];h.forEach((t=>{let n=0;l.forEach((e=>{const r=d.get(f(e,t));r&&(n=i(n,r[1]))})),n&&e.push([t,n])})),t.O(3,e)}}));return{K(e){u.F(n=e)},N:(e,t,n)=>(s.set(e,[t,n]),l.add(t),c.add(n),u.F(e),()=>{s.delete(e),u.G(e)}),Y:u.P}},L=$?t.useLayoutEffect:t.useEffect,P="current",A=(e,t)=>{if(Array.isArray(e))for(const n of e)A(n,t);else null==e||"boolean"==typeof e||t.push(e)},X=(e,t)=>{const n=e.key;return null!=n?n:"_"+t},Y=e=>{const n=t.useRef();return n[P]||(n[P]=e())},j=e=>{const n=t.useRef(e);return L((()=>{n[P]=e}),[e]),n},D=t.memo((({Z:n,ee:r,te:o,ne:i,re:s,oe:l,ie:c,se:d})=>{const f=t.useRef(null);L((()=>r(f[P],o)),[o]);const u=t.useMemo((()=>{const e={position:s&&d?void 0:"absolute",[c?"height":"width"]:"100%",[c?"top":"left"]:0,[c?b()?"right":"left":"top"]:i,visibility:!s||d?"visible":"hidden"};return c&&(e.display="flex"),e}),[i,s,d,c]);return"string"==typeof l?e.jsx(l,{ref:f,style:u,children:n}):e.jsx(l,{ref:f,style:u,index:o,children:n})})),U=e=>t.useReducer(e.p,void 0,e.p)[1],V=(e,n)=>t.useMemo((()=>{if("function"==typeof e)return[e,n||0];const t=(e=>{const t=[];return A(e,t),t})(e);return[e=>t[e],t.length]}),[e,n]),F=t.forwardRef((({children:r,count:o,overscan:i,itemSize:s,shift:l,horizontal:c,keepMounted:d,cache:a,startMargin:h=0,ssrCount:v,as:p="div",item:g="div",scrollRef:_,onScroll:m,onScrollEnd:w},$)=>{const[S,y]=V(r,o),x=t.useRef(null),b=t.useRef(!!v),I=j(m),z=j(w),[T,M,C,H]=Y((()=>{const e=!!c,t=R(y,s,i,v,a,!s);return[t,q(t,e),E(t,e),e]}));y!==T.M()&&T.O(5,[y,l]),h!==T.W()&&T.O(6,h);const W=U(T),[J,B]=T.m(),O=T.H(),A=T.J(),F=T.h(),G=[],K=t=>{const n=S(t);return e.jsx(D,{ee:M.N,te:t,ne:T.T(t),re:T.I(t),oe:g,Z:n,ie:H,se:b[P]},X(n,t))};L((()=>{b[P]=!1;const e=T.B(1,(e=>{e?n.flushSync(W):W()})),t=T.B(4,(()=>{I[P]&&I[P](T.C())})),r=T.B(8,(()=>{z[P]&&z[P]()})),o=e=>{M.K(e),C.X(e)};return _?u((()=>o(_[P]))):o(x[P].parentElement),()=>{e(),t(),r(),M.Y(),C.Y()}}),[]),L((()=>{C.V()}),[A]),t.useImperativeHandle($,(()=>({get cache(){return T._()},get scrollOffset(){return T.C()},get scrollSize(){return k(T)},get viewportSize(){return T.v()},findStartIndex:T.$,findEndIndex:T.S,getItemOffset:T.T,getItemSize:T.R,scrollToIndex:C.U,scrollTo:C.j,scrollBy:C.D})),[]);for(let e=J,t=B;e<=t;e++)G.push(K(e));if(d){const e=[],t=[];f(d).forEach((n=>{n<J&&e.push(K(n)),n>B&&t.push(K(n))})),G.unshift(...e),G.push(...t)}return e.jsx(p,{ref:x,style:{overflowAnchor:"none",flex:"none",position:"relative",visibility:"hidden",width:H?F:"100%",height:H?"100%":F,pointerEvents:O?"none":void 0},children:G})})),G=t.forwardRef((({children:n,count:r,overscan:o,itemSize:i,shift:s,horizontal:l,keepMounted:c,reverse:d,cache:f,ssrCount:u,item:a,onScroll:h,onScrollEnd:v,style:p,...g},_)=>{const m=t.useRef(null),w=d&&!l;let $=e.jsx(F,{ref:_,scrollRef:w?m:void 0,count:r,overscan:o,itemSize:i,shift:s,horizontal:l,keepMounted:c,cache:f,ssrCount:u,item:a,onScroll:h,onScrollEnd:v,children:n});return w&&($=e.jsx("div",{style:{visibility:"hidden",display:"flex",flexDirection:"column",justifyContent:"flex-end",minHeight:"100%"},children:$})),e.jsx("div",{ref:m,...g,style:{display:l?"inline-block":"block",[l?"overflowX":"overflowY"]:"auto",contain:"strict",width:"100%",height:"100%",...p},children:$})})),K=t.forwardRef((({children:r,count:o,overscan:i,itemSize:s,shift:l,horizontal:c,cache:d,ssrCount:f,as:u="div",item:a="div",onScroll:h,onScrollEnd:v},p)=>{const[g,_]=V(r,o),m=t.useRef(null),w=j(h),$=j(v),S=t.useRef(!!f),[y,x,b,I]=Y((()=>{const e=!!c,t=R(_,s,i,f,d,!s);return[t,B(t,e),H(t,e),e]}));_!==y.M()&&y.O(5,[_,l]);const z=U(y),[k,T]=y.m(),M=y.H(),C=y.J(),E=y.h(),W=[];L((()=>{S[P]=!1;const e=y.B(1,(e=>{e?n.flushSync(z):z()})),t=y.B(4,(()=>{w[P]&&w[P](y.C())})),r=y.B(8,(()=>{$[P]&&$[P]()})),o=m[P];return x.K(o),b.X(o),()=>{e(),t(),r(),x.Y(),b.Y()}}),[]),L((()=>{b.V()}),[C]),t.useImperativeHandle(p,(()=>({get cache(){return y._()},findStartIndex:y.$,findEndIndex:y.S,scrollToIndex:b.U})),[]);for(let t=k,n=T;t<=n;t++){const n=g(t);W.push(e.jsx(D,{ee:x.N,te:t,ne:y.T(t),re:y.I(t),oe:a,Z:n,ie:I,se:S[P]},X(n,t)))}return e.jsx(u,{ref:m,style:{flex:"none",position:"relative",visibility:"hidden",width:I?E:"100%",height:I?"100%":E,pointerEvents:M?"none":void 0},children:W})})),N=(e,t)=>`${e}-${t}`,Q=t.memo((({Z:n,ee:r,le:o,ce:i,de:s,fe:l,ue:c,ae:d,re:f,he:u})=>{const a=t.useRef(null);return L((()=>r.N(a[P],o,i)),[i,o]),e.jsx(u,{ref:a,style:t.useMemo((()=>({display:"grid",position:"absolute",top:s,[b()?"right":"left"]:l,visibility:f?"hidden":"visible",minHeight:c,minWidth:d})),[s,l,d,c,f]),children:n})})),Z=t.forwardRef((({children:r,row:o,col:i,cellHeight:s=40,cellWidth:l=100,overscan:c=2,initialRowCount:d,initialColCount:f,item:u="div",style:a,...h},v)=>{const[p,g,_,m]=Y((()=>{const e=R(o,s,c,d),t=R(i,l,c,f);return[e,t,O(e,t),W(e,t)]}));o!==p.M()&&p.O(5,[o]),i!==g.M()&&g.O(5,[i]);const w=U(p),$=U(g),[S,y]=p.m(),[x,b]=g.m(),I=p.H(),z=g.H(),T=p.J(),M=g.J(),C=k(p),E=k(g),H=t.useRef(null);L((()=>{const e=H[P],t=p.B(1,(e=>{e?n.flushSync(w):w()})),r=g.B(1,(e=>{e?n.flushSync($):$()}));return _.K(e),m.X(e),()=>{t(),r(),_.Y(),m.Y()}}),[]),L((()=>{m.V()}),[T,M]),t.useImperativeHandle(v,(()=>({get scrollTop(){return p.C()},get scrollLeft(){return g.C()},get scrollHeight(){return k(p)},get scrollWidth(){return k(g)},get viewportHeight(){return p.v()},get viewportWidth(){return g.v()},scrollToIndex:m.U,scrollTo:m.j,scrollBy:m.D})),[]);const J=t.useMemo((()=>{const e=new Map;return(t,n)=>{let o=e.get(N(t,n));return o||e.set(N(t,n),o=r({rowIndex:t,colIndex:n})),o}}),[r]),q=[];for(let t=S;t<=y;t++)for(let n=x;n<=b;n++)q.push(e.jsx(Q,{ee:_,le:t,ce:n,de:p.T(t),fe:g.T(n),ue:p.R(t),ae:g.R(n),re:p.I(t)||g.I(n),he:u,Z:J(t,n)},N(t,n)));return e.jsx("div",{ref:H,...h,style:{overflow:"auto",contain:"strict",width:"100%",height:"100%",...a},children:e.jsx("div",{style:{overflowAnchor:"none",flex:"none",position:"relative",visibility:"hidden",width:E,height:C,pointerEvents:I||z?"none":void 0},children:q})})}));exports.VList=G,exports.Virtualizer=F,exports.WindowVirtualizer=K,exports.experimental_VGrid=Z;
|
|
3
3
|
//# sourceMappingURL=index.js.map
|