virtua 0.48.4 → 0.48.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.
@@ -1,2 +1,699 @@
1
- import{createComponent as e,Dynamic as t,template as r,spread as n,mergeProps as o,insert as s,use as i,setStyleProperty as c,effect as l}from"solid-js/web";import{mergeProps as u,createEffect as a,createMemo as f,onCleanup as d,createSignal as g,onMount as h,createComputed as v,on as p,untrack as m,For as S,splitProps as $}from"solid-js";const b=null,{min:z,max:w,abs:x,floor:y}=Math,_=(e,t,r)=>z(r,w(t,e)),I=e=>[...e].sort(((e,t)=>e-t)),k="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},T=()=>{let e;return[new Promise((t=>{e=t})),e]},M=e=>{let t;return()=>(e&&(t=e(),e=void 0),t)},O=(e,t,r)=>{const n=r?"unshift":"push";for(let r=0;r<t;r++)e[n](-1);return e},R=(e,t)=>{const r=e.o[t];return-1===r?e.i:r},J=(e,t,r)=>{const n=-1===e.o[t];return e.o[t]=r,e.l=z(t,e.l),n},P=(e,t)=>{if(!e.u)return 0;if(e.l>=t)return e.h[t];e.l<0&&(e.h[0]=0,e.l=0);let r=e.l,n=e.h[r];for(;r<t;)n+=R(e,r),e.h[++r]=n;return e.l=t,n},B=(e,t,r=0,n=e.u-1)=>{let o=r;for(;r<=n;){const s=y((r+n)/2);P(e,s)<=t?(o=s,r=s+1):n=s-1}return _(o,0,e.u-1)},C=(e,t,r)=>{const n=t-e.u;return e.l=r?-1:z(t-1,e.l),e.u=t,n>0?(O(e.h,n),O(e.o,n,r),e.i*n):(e.h.splice(n),(r?e.o.splice(0,-n):e.o.splice(n)).reduce(((t,r)=>t-(-1===r?e.i:r)),0))},E=e=>e.documentElement,H=e=>e.ownerDocument,L=e=>e.defaultView,W=/*#__PURE__*/M((()=>!!/iP(hone|od|ad)/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>0)),j=/*#__PURE__*/M((()=>"scrollBehavior"in E(document).style)),q=(e,t=40,r=0,n,o=!1)=>{let s=!!r,i=1,c=0,l=0,u=0,a=0,f=0,d=0,g=0,h=0,v=b,p=[0,s?w(r-1,0):-1],m=0,S=!1;const $=((e,t,r)=>({i:t,o:r?O(r.slice(0,z(e,r.length)),w(0,e-r.length)):O([],e),u:e,l:-1,h:O([],e+1)}))(e,n?n[1]:t,n&&n[0]),y=new Set,_=()=>u-l,k=()=>_()+f+a,T=(e,t)=>((e,t,r,n)=>{if(n=z(n,e.u-1),P(e,n)<=t){const o=B(e,r,n);return[B(e,t,n,o),o]}{const o=B(e,t,void 0,n);return[o,B(e,r,o)]}})($,e,t,p[0]),M=()=>P($,$.u),E=(e,t)=>{const r=P($,e)-f;return t?M()-r-H(e):r},H=e=>R($,e),L=(e,t=-1)=>$.o[e]===t,j=e=>{e&&(W()&&0!==g||v&&1===h?f+=e:a+=e)};return{v:()=>{y.clear()},p:()=>i,m:()=>(e=>[e.o.slice(),e.i])($),S:(e=200)=>{if(!S||s)return p;let t,r;if(d)[t,r]=p;else{let n=w(0,k()),s=n+c;o||(e=w(0,e),1!==g&&(n-=e),2!==g&&(s+=e)),[t,r]=p=T(w(0,n),w(0,s)),v&&(t=z(t,v[0]),r=w(r,v[1]))}return[w(t,0),z(r,$.u-1)]},$:e=>B($,e-l),_:L,I:E,k:H,T:()=>$.u,M:()=>u,O:()=>0!==g,R:()=>c,J:()=>l,P:M,B:()=>(d=a,a=0,[d,2===h]),C:(e,t)=>{const r=[e,t];return y.add(r),()=>{y.delete(r)}},H:(e,t)=>{let r,n,p=0;switch(e){case 1:{if(t===u&&0===h)break;const e=d;d=0;const r=t-u,o=x(r);e&&o<x(e)+1||0!==h||(g=r<0?2:1),s&&(s=!1),u=t,p=4;const i=_();i>=-c&&i<=M()&&(p+=1,n=o>c);break}case 2:p=8,0!==g&&(r=!0,p+=1),g=0,h=0,v=b;break;case 3:{const e=t.filter((([e,t])=>!L(e,t)));if(!e.length)break;j(e.reduce(((e,[t,r])=>((2===h||(v&&1===h?t<v[0]:E(t+(0===g&&0===h?1:0))<_()))&&(e+=r-H(t)),e)),0));for(const[t,r]of e){const e=H(t),n=J($,t,r);o&&(m+=n?r:r-e)}o&&c&&m>c&&(j(((e,t)=>{let r=0;const n=[];e.o.forEach(((e,o)=>{-1!==e&&(n.push(e),o<t&&r++)})),e.l=-1;const o=I(n),s=o.length,i=s/2|0,c=s%2==0?(o[i-1]+o[i])/2:o[i],l=e.i;return((e.i=c)-l)*w(t-r,0)})($,B($,k()))),o=!1),p=3,n=!0;break}case 4:c!==t&&(c||(S=n=!0),c=t,p=3);break;case 5:t[1]?(j(C($,t[0],!0)),h=2,p=1):(C($,t[0]),p=1);break;case 6:l=t;break;case 7:h=1;break;case 8:v=T(t,t+c),p=1}p&&(i=1+(2147483647&i),r&&f&&(a+=f,f=0),y.forEach((([e,t])=>{p&e&&t(n)})))}}},N=setTimeout,V=(e,t)=>t?-e:e,X=(e,t,r,n,o,s)=>{const i=Date.now;let c=0,l=!1,u=!1,a=!1,f=!1;const d=(()=>{let t;const r=()=>{t!=b&&clearTimeout(t)},n=()=>{r(),t=N((()=>{t=b,(()=>{if(l||u)return l=!1,void d();a=!1,e.H(2)})()}),150)};return n.L=r,n})(),g=()=>{c=i(),a&&(f=!0),s&&e.H(6,s()),e.H(1,n()),d()},h=t=>{if(l||!e.O()||t.ctrlKey)return;const n=i()-c;150>n&&50<n&&(r?t.deltaX:t.deltaY)&&(l=!0)},v=()=>{u=!0,a=f=!1},p=()=>{u=!1,W()&&(a=!0)};return t.addEventListener("scroll",g),t.addEventListener("wheel",h,{passive:!0}),t.addEventListener("touchstart",v,{passive:!0}),t.addEventListener("touchend",p,{passive:!0}),{W:()=>{t.removeEventListener("scroll",g),t.removeEventListener("wheel",h),t.removeEventListener("touchstart",v),t.removeEventListener("touchend",p),d.L()},j:()=>{const[t,r]=e.B();t&&(o(t,r,f),f=!1,r&&e.R()>e.P()&&e.H(1,n()))}}},Y=(e,t,r)=>{let n;return[async(o,s)=>{if(!await t())return;n&&n();const i=()=>{const[t,r]=T();return n=()=>{r(!1)},e.R()&&N(n,150),[t,e.C(2,(()=>{r(!0)}))]};if(s&&j())e.H(8,o()),k((async()=>{for(;;){let t=!0;for(let[r,n]=e.S();r<=n;r++)if(e._(r)){t=!1;break}if(t)break;const[r,n]=i();try{if(!await r)return}finally{n()}}e.H(7),r(o(),s)}));else for(;;){const[t,n]=i();try{if(e.H(7),r(o()),!await t)return}finally{n()}}},()=>{n&&n()}]},D=e=>{let t;return{q(r){(t||(t=new(L(H(r)).ResizeObserver)(e))).observe(r)},N(e){t.unobserve(e)},W(){t&&t.disconnect()}}},U=r=>{let n;r=u({V:"div"},r),a((()=>{n&&d(r.X(n,r.Y))}));const o=f((()=>{const e=r.D,t={contain:"layout style",position:"absolute",[e?"height":"width"]:"100%",[e?"top":"left"]:"0px",[e?"left":"top"]:r.U+"px",visibility:r.A?"hidden":void 0};return e&&(t.display="inline-flex"),t}));return e(t,{get component(){return r.V},get index(){return r.Y},ref(e){"function"==typeof n?n(e):n=e},get style(){return o()},get children(){return r.F}})},A=(e,t)=>e[0]===t[0]&&e[1]===t[1],F=r=>{let n;const{itemSize:o,horizontal:s=!1,cache:i}=r;r=u({as:"div"},r);const c=q(r.data.length,o,void 0,i,!o),l=((e,t)=>{let r;const n=t?"width":"height",o=new WeakMap,s=D((t=>{const s=[];for(const{target:i,contentRect:c}of t)if(i.offsetParent)if(i===r)e.H(4,c[n]);else{const e=o.get(i);e!=b&&s.push([e,c[n]])}s.length&&e.H(3,s)}));return{G(e){s.q(r=e)},K:(e,t)=>(o.set(e,t),s.q(e),()=>{o.delete(e),s.N(e)}),v:s.W}})(c,s),$=((e,t)=>{let r,n,o=T(),s=!1;const i=t?"scrollLeft":"scrollTop",c=t?"overflowX":"overflowY",[l,u]=Y(e,(()=>o[0]),((e,n)=>{e=V(e,s),n?r.scrollTo({[t?"left":"top"]:e,behavior:"smooth"}):r[i]=e}));return{Z(l,a){r=a,t&&(s="rtl"===getComputedStyle(a).direction),n=X(e,a,t,(()=>V(a[i],s)),((t,r,n)=>{if(n){const e=a.style,t=e[c];e[c]="hidden",N((()=>{e[c]=t}))}a[i]=V(e.M()+t,s),r&&u()})),o[1](!0)},v(){n&&n.W(),o[1](!1),o=T()},ee:()=>s,te(e){l((()=>e))},re(t){t+=e.M(),l((()=>t))},ne(t,{align:r,smooth:n,offset:o=0}={}){if(t=_(t,0,e.T()-1),"nearest"===r){const n=e.I(t),o=e.M();if(n<o)r="start";else{if(!(n+e.k(t)>o+e.R()))return;r="end"}}l((()=>o+e.J()+e.I(t)+("end"===r?e.k(t)-e.R():"center"===r?(e.k(t)-e.R())/2:0)),n)},oe:()=>{n&&n.j()}}})(c,s),[z,x]=g(c.p());c.C(1,(()=>{x(c.p())})),c.C(4,(()=>{var e;null===(e=r.onScroll)||void 0===e||e.call(r,c.M())})),c.C(8,(()=>{var e;null===(e=r.onScrollEnd)||void 0===e||e.call(r)}));const y=f((e=>{z();const t=c.S(r.bufferSize);return e&&A(e,t)?e:t})),k=f((()=>z()&&c.O())),M=f((()=>z()&&c.P())),O=f((()=>z()&&$.ee()));h((()=>{r.ref&&r.ref({get cache(){return c.m()},get scrollOffset(){return c.M()},get scrollSize(){return(e=>w(e.P(),e.R()))(c)},get viewportSize(){return c.R()},findItemIndex:c.$,getItemOffset:c.I,getItemSize:c.k,scrollToIndex:$.ne,scrollTo:$.te,scrollBy:$.re});const e=n,t=r.scrollRef||e.parentElement;l.G(t),$.Z(e,t),d((()=>{r.ref&&r.ref(),c.v(),l.v(),$.v()}))})),v(p((()=>r.startMargin||0),(e=>{e!==c.J()&&c.H(6,e)}))),a(p(z,(()=>{$.oe()})));const R=f((()=>{const e=r.data.length;m((()=>{e!==c.T()&&c.H(5,[e,r.shift])}));const t=[],n=[];if(r.keepMounted){const e=new Set(r.keepMounted);for(let[t,r]=y();t<=r;t++)e.add(t);I([...e]).forEach((e=>{t.push(r.data[e]),n.push(e)}))}else for(let[e,o]=y();e<=o;e++)t.push(r.data[e]),n.push(e);return{se:t,ie:n}}));return e(t,{get component(){return r.as},ref(e){"function"==typeof n?n(e):n=e},get style(){return{contain:"size style","overflow-anchor":"none",flex:"none",position:"relative",width:s?M()+"px":"100%",height:s?"100%":M()+"px","pointer-events":k()?"none":void 0}},get children(){return e(S,{get each(){return R().se},children:(t,n)=>((t,n)=>{const o=f((()=>(z(),c.I(n(),O())))),i=f((()=>(z(),c._(n())))),u=f((()=>m((()=>r.children(t,n)))));return e(U,{get V(){return r.item},get Y(){return n()},get X(){return l.K},get U(){return o()},get A(){return i()},get F(){return u()},D:s})})(t,f((()=>R().ie[n()])))})}})};var G=/*#__PURE__*/r("<div>");const K=t=>{const[r,i]=$(t,["ref","data","children","bufferSize","itemSize","shift","horizontal","keepMounted","cache","item","onScroll","onScrollEnd","style"]);return c=G(),n(c,o(i,{get style(){return{display:r.horizontal?"inline-block":"block",[r.horizontal?"overflow-x":"overflow-y"]:"auto",contain:"strict",width:"100%",height:"100%",...r.style}}}),!1,!0),s(c,e(F,{ref(e){var t=r.ref;"function"==typeof t?t(e):r.ref=e},get data(){return r.data},get bufferSize(){return r.bufferSize},get itemSize(){return r.itemSize},get shift(){return r.shift},get horizontal(){return r.horizontal},get keepMounted(){return r.keepMounted},get cache(){return r.cache},get item(){return r.item},get onScroll(){return r.onScroll},get onScrollEnd(){return r.onScrollEnd},get children(){return r.children}})),c;var c};var Q=/*#__PURE__*/r("<div style=overflow-anchor:none>");const Z=t=>{let r;const{ref:n,data:o,children:u,itemSize:v,shift:$,horizontal:z=!1,cache:w,onScrollEnd:x}=t,y=q(t.data.length,v,void 0,w,!v),I=((e,t)=>{const r=t?"width":"height",n=t?"innerWidth":"innerHeight",o=new WeakMap,s=D((t=>{const n=[];for(const{target:e,contentRect:s}of t){if(!e.offsetParent)continue;const t=o.get(e);t!=b&&n.push([t,s[r]])}n.length&&e.H(3,n)}));let i;return{G(t){const r=L(H(t)),o=()=>{e.H(4,r[n])};r.addEventListener("resize",o),k(o),i=()=>{r.removeEventListener("resize",o)}},K:(e,t)=>(o.set(e,t),s.q(e),()=>{o.delete(e),s.N(e)}),v(){i&&i(),s.W()}}})(y,z),M=((e,t)=>{let r,n,o=T(),s=!1;const i=t?"left":"top",[c]=Y(e,(()=>o[0]),((e,t)=>{e=V(e,s);const n=L(H(r));t?n.scroll({[i]:e,behavior:"smooth"}):n.scroll({[i]:e})})),l=(e,t,r,n,o=0)=>{const i=n?"offsetLeft":"offsetTop",c=o+(n&&s?r.innerWidth-e[i]-e.offsetWidth:e[i]),u=e.offsetParent;return e!==t&&u?l(u,t,r,n,c):c};return{Z(c){r=c;const u=t?"scrollX":"scrollY",a=H(c),f=L(a);t&&(s="rtl"===getComputedStyle(E(a)).direction),n=X(e,f,t,(()=>V(f[u],s)),((t,r)=>{r?f.scroll({[i]:V(e.M()+t,s)}):f.scrollBy({[i]:V(t,s)})}),(()=>l(c,a.body,f,t))),o[1](!0)},v(){n&&n.W(),r=void 0,o[1](!1),o=T()},ee:()=>s,oe:()=>{n&&n.j()},ne(n,{align:o,smooth:s,offset:i=0}={}){if(!r)return;if(n=_(n,0,e.T()-1),"nearest"===o){const t=e.I(n),r=e.M();if(t<r)o="start";else{if(!(t+e.k(n)>r+e.R()))return;o="end"}}const u=H(r),a=L(u),f=E(u),d=()=>e.R()-(t?f.clientWidth:f.clientHeight);c((()=>i+l(r,u.body,a,t)+e.I(n)+("end"===o?e.k(n)-(e.R()-d()):"center"===o?(e.k(n)-(e.R()-d()))/2:0)),s)}}})(y,z),[O,R]=g(y.p());y.C(1,(()=>{R(y.p())})),y.C(4,(()=>{var e;null===(e=t.onScroll)||void 0===e||e.call(t)})),y.C(8,(()=>{var e;null===(e=t.onScrollEnd)||void 0===e||e.call(t)}));const J=f((e=>{O();const r=y.S(t.bufferSize);return e&&A(e,r)?e:r})),P=f((()=>O()&&y.O())),B=f((()=>O()&&y.P())),C=f((()=>O()&&M.ee()));h((()=>{t.ref&&t.ref({get cache(){return y.m()},get scrollOffset(){return y.M()},get viewportSize(){return y.R()},findItemIndex:y.$,getItemOffset:y.I,getItemSize:y.k,scrollToIndex:M.ne}),I.G(r),M.Z(r),d((()=>{t.ref&&t.ref(),y.v(),I.v(),M.v()}))})),a(p(O,(()=>{M.oe()})));const W=f((()=>{const e=t.data.length;m((()=>{e!==y.T()&&y.H(5,[e,t.shift])}));const r=[];for(let[e,n]=J();e<=n;e++)r.push(t.data[e]);return r}));return j=Q(),"function"==typeof r?i(r,j):r=j,c(j,"contain","size style"),c(j,"flex","none"),c(j,"position","relative"),s(j,e(S,{get each(){return W()},children:(r,n)=>{const o=f((()=>J()[0]+n())),s=f((()=>(O(),y.I(o(),C())))),i=f((()=>(O(),y._(o())))),c=f((()=>m((()=>t.children(r,o)))));return e(U,{get Y(){return o()},get X(){return I.K},get U(){return s()},get A(){return i()},get F(){return c()},D:z})}})),l((e=>{var t=z?B()+"px":"100%",r=z?"100%":B()+"px",n=P()?"none":void 0;return t!==e.e&&c(j,"width",e.e=t),r!==e.t&&c(j,"height",e.t=r),n!==e.a&&c(j,"pointer-events",e.a=n),e}),{e:void 0,t:void 0,a:void 0}),j;var j};export{K as VList,F as Virtualizer,Z as WindowVirtualizer};
1
+ import { createComponent as e, Dynamic as t, template as r, spread as n, mergeProps as o, insert as s, use as i, setStyleProperty as c, effect as l } from "solid-js/web";
2
+
3
+ import { mergeProps as u, createEffect as a, createMemo as f, onCleanup as d, createSignal as g, onMount as h, createComputed as v, on as p, untrack as m, For as S, splitProps as $ } from "solid-js";
4
+
5
+ const b = null, {min: z, max: w, abs: x, floor: y} = Math, _ = (e, t, r) => z(r, w(t, e)), I = e => [ ...e ].sort(((e, t) => e - t)), k = "function" == typeof queueMicrotask ? queueMicrotask : e => {
6
+ Promise.resolve().then(e);
7
+ }, T = () => {
8
+ let e;
9
+ return [ new Promise((t => {
10
+ e = t;
11
+ })), e ];
12
+ }, M = e => {
13
+ let t;
14
+ return () => (e && (t = e(), e = void 0), t);
15
+ }, O = (e, t, r) => {
16
+ const n = r ? "unshift" : "push";
17
+ for (let r = 0; r < t; r++) e[n](-1);
18
+ return e;
19
+ }, R = (e, t) => {
20
+ const r = e.o[t];
21
+ return -1 === r ? e.i : r;
22
+ }, J = (e, t, r) => {
23
+ const n = -1 === e.o[t];
24
+ return e.o[t] = r, e.l = z(t, e.l), n;
25
+ }, P = (e, t) => {
26
+ if (!e.u) return 0;
27
+ if (e.l >= t) return e.h[t];
28
+ e.l < 0 && (e.h[0] = 0, e.l = 0);
29
+ let r = e.l, n = e.h[r];
30
+ for (;r < t; ) n += R(e, r), e.h[++r] = n;
31
+ return e.l = t, n;
32
+ }, B = (e, t, r = 0, n = e.u - 1) => {
33
+ let o = r;
34
+ for (;r <= n; ) {
35
+ const s = y((r + n) / 2);
36
+ P(e, s) <= t ? (o = s, r = s + 1) : n = s - 1;
37
+ }
38
+ return _(o, 0, e.u - 1);
39
+ }, C = (e, t, r) => {
40
+ const n = t - e.u;
41
+ return e.l = r ? -1 : z(t - 1, e.l), e.u = t, n > 0 ? (O(e.h, n), O(e.o, n, r),
42
+ e.i * n) : (e.h.splice(n), (r ? e.o.splice(0, -n) : e.o.splice(n)).reduce(((t, r) => t - (-1 === r ? e.i : r)), 0));
43
+ }, E = e => e.documentElement, H = e => e.ownerDocument, L = e => e.defaultView, W = /*#__PURE__*/ M((() => !!/iP(hone|od|ad)/.test(navigator.userAgent) || "MacIntel" === navigator.platform && navigator.maxTouchPoints > 0)), j = /*#__PURE__*/ M((() => "scrollBehavior" in E(document).style)), q = (e, t = 40, r = 0, n, o = !1) => {
44
+ let s = !!r, i = 1, c = 0, l = 0, u = 0, a = 0, f = 0, d = 0, g = 0, h = 0, v = b, p = [ 0, s ? w(r - 1, 0) : -1 ], m = 0, S = !1;
45
+ const $ = ((e, t, r) => ({
46
+ i: t,
47
+ o: r ? O(r.slice(0, z(e, r.length)), w(0, e - r.length)) : O([], e),
48
+ u: e,
49
+ l: -1,
50
+ h: O([], e + 1)
51
+ }))(e, n ? n[1] : t, n && n[0]), y = new Set, _ = () => u - l, k = () => _() + f + a, T = (e, t) => ((e, t, r, n) => {
52
+ if (n = z(n, e.u - 1), P(e, n) <= t) {
53
+ const o = B(e, r, n);
54
+ return [ B(e, t, n, o), o ];
55
+ }
56
+ {
57
+ const o = B(e, t, void 0, n);
58
+ return [ o, B(e, r, o) ];
59
+ }
60
+ })($, e, t, p[0]), M = () => P($, $.u), E = (e, t) => {
61
+ const r = P($, e) - f;
62
+ return t ? M() - r - H(e) : r;
63
+ }, H = e => R($, e), L = (e, t = -1) => $.o[e] === t, j = e => {
64
+ e && (W() && 0 !== g || v && 1 === h ? f += e : a += e);
65
+ };
66
+ return {
67
+ v: () => {
68
+ y.clear();
69
+ },
70
+ p: () => i,
71
+ m: () => (e => [ e.o.slice(), e.i ])($),
72
+ S: (e = 200) => {
73
+ if (!S || s) return p;
74
+ let t, r;
75
+ if (d) [t, r] = p; else {
76
+ let n = w(0, k()), s = n + c;
77
+ o || (e = w(0, e), 1 !== g && (n -= e), 2 !== g && (s += e)), [t, r] = p = T(w(0, n), w(0, s)),
78
+ v && (t = z(t, v[0]), r = w(r, v[1]));
79
+ }
80
+ return [ w(t, 0), z(r, $.u - 1) ];
81
+ },
82
+ $: e => B($, e - l),
83
+ _: L,
84
+ I: E,
85
+ k: H,
86
+ T: () => $.u,
87
+ M: () => u,
88
+ O: () => 0 !== g,
89
+ R: () => c,
90
+ J: () => l,
91
+ P: M,
92
+ B: () => (d = a, a = 0, [ d, 2 === h ]),
93
+ C: (e, t) => {
94
+ const r = [ e, t ];
95
+ return y.add(r), () => {
96
+ y.delete(r);
97
+ };
98
+ },
99
+ H: (e, t) => {
100
+ let r, n, p = 0;
101
+ switch (e) {
102
+ case 1:
103
+ {
104
+ if (t === u && 0 === h) break;
105
+ const e = d;
106
+ d = 0;
107
+ const r = t - u, o = x(r);
108
+ e && o < x(e) + 1 || 0 !== h || (g = r < 0 ? 2 : 1), s && (s = !1), u = t, p = 4;
109
+ const i = _();
110
+ i >= -c && i <= M() && (p += 1, n = o > c);
111
+ break;
112
+ }
113
+
114
+ case 2:
115
+ p = 8, 0 !== g && (r = !0, p += 1), g = 0, h = 0, v = b;
116
+ break;
117
+
118
+ case 3:
119
+ {
120
+ const e = t.filter((([e, t]) => !L(e, t)));
121
+ if (!e.length) break;
122
+ j(e.reduce(((e, [t, r]) => ((2 === h || (v && 1 === h ? t < v[0] : E(t + (0 === g && 0 === h ? 1 : 0)) < _())) && (e += r - H(t)),
123
+ e)), 0));
124
+ for (const [t, r] of e) {
125
+ const e = H(t), n = J($, t, r);
126
+ o && (m += n ? r : r - e);
127
+ }
128
+ o && c && m > c && (j(((e, t) => {
129
+ let r = 0;
130
+ const n = [];
131
+ e.o.forEach(((e, o) => {
132
+ -1 !== e && (n.push(e), o < t && r++);
133
+ })), e.l = -1;
134
+ const o = I(n), s = o.length, i = s / 2 | 0, c = s % 2 == 0 ? (o[i - 1] + o[i]) / 2 : o[i], l = e.i;
135
+ return ((e.i = c) - l) * w(t - r, 0);
136
+ })($, B($, k()))), o = !1), p = 3, n = !0;
137
+ break;
138
+ }
139
+
140
+ case 4:
141
+ c !== t && (c || (S = n = !0), c = t, p = 3);
142
+ break;
143
+
144
+ case 5:
145
+ t[1] ? (j(C($, t[0], !0)), h = 2, p = 1) : (C($, t[0]), p = 1);
146
+ break;
147
+
148
+ case 6:
149
+ l = t;
150
+ break;
151
+
152
+ case 7:
153
+ h = 1;
154
+ break;
155
+
156
+ case 8:
157
+ v = T(t, t + c), p = 1;
158
+ }
159
+ p && (i = 1 + (2147483647 & i), r && f && (a += f, f = 0), y.forEach((([e, t]) => {
160
+ p & e && t(n);
161
+ })));
162
+ }
163
+ };
164
+ }, N = setTimeout, V = (e, t) => t ? -e : e, X = (e, t, r, n, o, s) => {
165
+ const i = Date.now;
166
+ let c = 0, l = !1, u = !1, a = !1, f = !1;
167
+ const d = (() => {
168
+ let t;
169
+ const r = () => {
170
+ t != b && clearTimeout(t);
171
+ }, n = () => {
172
+ r(), t = N((() => {
173
+ t = b, (() => {
174
+ if (l || u) return l = !1, void d();
175
+ a = !1, e.H(2);
176
+ })();
177
+ }), 150);
178
+ };
179
+ return n.L = r, n;
180
+ })(), g = () => {
181
+ c = i(), a && (f = !0), s && e.H(6, s()), e.H(1, n()), d();
182
+ }, h = t => {
183
+ if (l || !e.O() || t.ctrlKey) return;
184
+ const n = i() - c;
185
+ 150 > n && 50 < n && (r ? t.deltaX : t.deltaY) && (l = !0);
186
+ }, v = () => {
187
+ u = !0, a = f = !1;
188
+ }, p = () => {
189
+ u = !1, W() && (a = !0);
190
+ };
191
+ return t.addEventListener("scroll", g), t.addEventListener("wheel", h, {
192
+ passive: !0
193
+ }), t.addEventListener("touchstart", v, {
194
+ passive: !0
195
+ }), t.addEventListener("touchend", p, {
196
+ passive: !0
197
+ }), {
198
+ W: () => {
199
+ t.removeEventListener("scroll", g), t.removeEventListener("wheel", h), t.removeEventListener("touchstart", v),
200
+ t.removeEventListener("touchend", p), d.L();
201
+ },
202
+ j: () => {
203
+ const [t, r] = e.B();
204
+ t && (o(t, r, f), f = !1, r && e.R() > e.P() && e.H(1, n()));
205
+ }
206
+ };
207
+ }, Y = (e, t, r) => {
208
+ let n;
209
+ return [ async (o, s) => {
210
+ if (!await t()) return;
211
+ n && n();
212
+ const i = () => {
213
+ const [t, r] = T();
214
+ return n = () => {
215
+ r(!1);
216
+ }, e.R() && N(n, 150), [ t, e.C(2, (() => {
217
+ r(!0);
218
+ })) ];
219
+ };
220
+ if (s && j()) e.H(8, o()), k((async () => {
221
+ for (;;) {
222
+ let t = !0;
223
+ for (let [r, n] = e.S(); r <= n; r++) if (e._(r)) {
224
+ t = !1;
225
+ break;
226
+ }
227
+ if (t) break;
228
+ const [r, n] = i();
229
+ try {
230
+ if (!await r) return;
231
+ } finally {
232
+ n();
233
+ }
234
+ }
235
+ e.H(7), r(o(), s);
236
+ })); else for (;;) {
237
+ const [t, n] = i();
238
+ try {
239
+ if (e.H(7), r(o()), !await t) return;
240
+ } finally {
241
+ n();
242
+ }
243
+ }
244
+ }, () => {
245
+ n && n();
246
+ } ];
247
+ }, D = e => {
248
+ let t;
249
+ return {
250
+ q(r) {
251
+ (t || (t = new (L(H(r)).ResizeObserver)(e))).observe(r);
252
+ },
253
+ N(e) {
254
+ t.unobserve(e);
255
+ },
256
+ W() {
257
+ t && t.disconnect();
258
+ }
259
+ };
260
+ }, U = r => {
261
+ let n;
262
+ r = u({
263
+ V: "div"
264
+ }, r), a((() => {
265
+ n && d(r.X(n, r.Y));
266
+ }));
267
+ const o = f((() => {
268
+ const e = r.D, t = {
269
+ contain: "layout style",
270
+ position: "absolute",
271
+ [e ? "height" : "width"]: "100%",
272
+ [e ? "top" : "left"]: "0px",
273
+ [e ? "left" : "top"]: r.U + "px",
274
+ visibility: r.A ? "hidden" : void 0
275
+ };
276
+ return e && (t.display = "inline-flex"), t;
277
+ }));
278
+ return e(t, {
279
+ get component() {
280
+ return r.V;
281
+ },
282
+ get index() {
283
+ return r.Y;
284
+ },
285
+ ref(e) {
286
+ "function" == typeof n ? n(e) : n = e;
287
+ },
288
+ get style() {
289
+ return o();
290
+ },
291
+ get children() {
292
+ return r.F;
293
+ }
294
+ });
295
+ }, A = (e, t) => e[0] === t[0] && e[1] === t[1], F = r => {
296
+ let n;
297
+ const {itemSize: o, horizontal: s = !1, cache: i} = r;
298
+ r = u({
299
+ as: "div"
300
+ }, r);
301
+ const c = q(r.data.length, o, void 0, i, !o), l = ((e, t) => {
302
+ let r;
303
+ const n = t ? "width" : "height", o = new WeakMap, s = D((t => {
304
+ const s = [];
305
+ for (const {target: i, contentRect: c} of t) if (i.offsetParent) if (i === r) e.H(4, c[n]); else {
306
+ const e = o.get(i);
307
+ e != b && s.push([ e, c[n] ]);
308
+ }
309
+ s.length && e.H(3, s);
310
+ }));
311
+ return {
312
+ G(e) {
313
+ s.q(r = e);
314
+ },
315
+ K: (e, t) => (o.set(e, t), s.q(e), () => {
316
+ o.delete(e), s.N(e);
317
+ }),
318
+ v: s.W
319
+ };
320
+ })(c, s), $ = ((e, t) => {
321
+ let r, n, o = T(), s = !1;
322
+ const i = t ? "scrollLeft" : "scrollTop", c = t ? "overflowX" : "overflowY", [l, u] = Y(e, (() => o[0]), ((e, n) => {
323
+ e = V(e, s), n ? r.scrollTo({
324
+ [t ? "left" : "top"]: e,
325
+ behavior: "smooth"
326
+ }) : r[i] = e;
327
+ }));
328
+ return {
329
+ Z(l, a) {
330
+ r = a, t && (s = "rtl" === getComputedStyle(a).direction), n = X(e, a, t, (() => V(a[i], s)), ((t, r, n) => {
331
+ if (n) {
332
+ const e = a.style, t = e[c];
333
+ e[c] = "hidden", N((() => {
334
+ e[c] = t;
335
+ }));
336
+ }
337
+ a[i] = V(e.M() + t, s), r && u();
338
+ })), o[1](!0);
339
+ },
340
+ v() {
341
+ n && n.W(), o[1](!1), o = T();
342
+ },
343
+ ee: () => s,
344
+ te(e) {
345
+ l((() => e));
346
+ },
347
+ re(t) {
348
+ t += e.M(), l((() => t));
349
+ },
350
+ ne(t, {align: r, smooth: n, offset: o = 0} = {}) {
351
+ if (t = _(t, 0, e.T() - 1), "nearest" === r) {
352
+ const n = e.I(t), o = e.M();
353
+ if (n < o) r = "start"; else {
354
+ if (!(n + e.k(t) > o + e.R())) return;
355
+ r = "end";
356
+ }
357
+ }
358
+ l((() => o + e.J() + e.I(t) + ("end" === r ? e.k(t) - e.R() : "center" === r ? (e.k(t) - e.R()) / 2 : 0)), n);
359
+ },
360
+ oe: () => {
361
+ n && n.j();
362
+ }
363
+ };
364
+ })(c, s), [z, x] = g(c.p());
365
+ c.C(1, (() => {
366
+ x(c.p());
367
+ })), c.C(4, (() => {
368
+ var e;
369
+ null === (e = r.onScroll) || void 0 === e || e.call(r, c.M());
370
+ })), c.C(8, (() => {
371
+ var e;
372
+ null === (e = r.onScrollEnd) || void 0 === e || e.call(r);
373
+ }));
374
+ const y = f((e => {
375
+ z();
376
+ const t = c.S(r.bufferSize);
377
+ return e && A(e, t) ? e : t;
378
+ })), k = f((() => z() && c.O())), M = f((() => z() && c.P())), O = f((() => z() && $.ee()));
379
+ h((() => {
380
+ r.ref && r.ref({
381
+ get cache() {
382
+ return c.m();
383
+ },
384
+ get scrollOffset() {
385
+ return c.M();
386
+ },
387
+ get scrollSize() {
388
+ return (e => w(e.P(), e.R()))(c);
389
+ },
390
+ get viewportSize() {
391
+ return c.R();
392
+ },
393
+ findItemIndex: c.$,
394
+ getItemOffset: c.I,
395
+ getItemSize: c.k,
396
+ scrollToIndex: $.ne,
397
+ scrollTo: $.te,
398
+ scrollBy: $.re
399
+ });
400
+ const e = n, t = r.scrollRef || e.parentElement;
401
+ l.G(t), $.Z(e, t), d((() => {
402
+ r.ref && r.ref(), c.v(), l.v(), $.v();
403
+ }));
404
+ })), v(p((() => r.startMargin || 0), (e => {
405
+ e !== c.J() && c.H(6, e);
406
+ }))), a(p(z, (() => {
407
+ $.oe();
408
+ })));
409
+ const R = f((() => {
410
+ const e = r.data.length;
411
+ m((() => {
412
+ e !== c.T() && c.H(5, [ e, r.shift ]);
413
+ }));
414
+ const t = [], n = [];
415
+ if (r.keepMounted) {
416
+ const e = new Set(r.keepMounted);
417
+ for (let [t, r] = y(); t <= r; t++) e.add(t);
418
+ I([ ...e ]).forEach((e => {
419
+ t.push(r.data[e]), n.push(e);
420
+ }));
421
+ } else for (let [e, o] = y(); e <= o; e++) t.push(r.data[e]), n.push(e);
422
+ return {
423
+ se: t,
424
+ ie: n
425
+ };
426
+ }));
427
+ return e(t, {
428
+ get component() {
429
+ return r.as;
430
+ },
431
+ ref(e) {
432
+ "function" == typeof n ? n(e) : n = e;
433
+ },
434
+ get style() {
435
+ return {
436
+ contain: "size style",
437
+ "overflow-anchor": "none",
438
+ flex: "none",
439
+ position: "relative",
440
+ width: s ? M() + "px" : "100%",
441
+ height: s ? "100%" : M() + "px",
442
+ "pointer-events": k() ? "none" : void 0
443
+ };
444
+ },
445
+ get children() {
446
+ return e(S, {
447
+ get each() {
448
+ return R().se;
449
+ },
450
+ children: (t, n) => ((t, n) => {
451
+ const o = f((() => (z(), c.I(n(), O())))), i = f((() => (z(), c._(n())))), u = f((() => m((() => r.children(t, n)))));
452
+ return e(U, {
453
+ get V() {
454
+ return r.item;
455
+ },
456
+ get Y() {
457
+ return n();
458
+ },
459
+ get X() {
460
+ return l.K;
461
+ },
462
+ get U() {
463
+ return o();
464
+ },
465
+ get A() {
466
+ return i();
467
+ },
468
+ get F() {
469
+ return u();
470
+ },
471
+ D: s
472
+ });
473
+ })(t, f((() => R().ie[n()])))
474
+ });
475
+ }
476
+ });
477
+ };
478
+
479
+ var G = /*#__PURE__*/ r("<div>");
480
+
481
+ const K = t => {
482
+ const [r, i] = $(t, [ "ref", "data", "children", "bufferSize", "itemSize", "shift", "horizontal", "keepMounted", "cache", "item", "onScroll", "onScrollEnd", "style" ]);
483
+ return c = G(), n(c, o(i, {
484
+ get style() {
485
+ return {
486
+ display: r.horizontal ? "inline-block" : "block",
487
+ [r.horizontal ? "overflow-x" : "overflow-y"]: "auto",
488
+ contain: "strict",
489
+ width: "100%",
490
+ height: "100%",
491
+ ...r.style
492
+ };
493
+ }
494
+ }), !1, !0), s(c, e(F, {
495
+ ref(e) {
496
+ var t = r.ref;
497
+ "function" == typeof t ? t(e) : r.ref = e;
498
+ },
499
+ get data() {
500
+ return r.data;
501
+ },
502
+ get bufferSize() {
503
+ return r.bufferSize;
504
+ },
505
+ get itemSize() {
506
+ return r.itemSize;
507
+ },
508
+ get shift() {
509
+ return r.shift;
510
+ },
511
+ get horizontal() {
512
+ return r.horizontal;
513
+ },
514
+ get keepMounted() {
515
+ return r.keepMounted;
516
+ },
517
+ get cache() {
518
+ return r.cache;
519
+ },
520
+ get item() {
521
+ return r.item;
522
+ },
523
+ get onScroll() {
524
+ return r.onScroll;
525
+ },
526
+ get onScrollEnd() {
527
+ return r.onScrollEnd;
528
+ },
529
+ get children() {
530
+ return r.children;
531
+ }
532
+ })), c;
533
+ var c;
534
+ };
535
+
536
+ var Q = /*#__PURE__*/ r("<div style=overflow-anchor:none>");
537
+
538
+ const Z = t => {
539
+ let r;
540
+ const {ref: n, data: o, children: u, itemSize: v, shift: $, horizontal: z = !1, cache: w, onScrollEnd: x} = t, y = q(t.data.length, v, void 0, w, !v), I = ((e, t) => {
541
+ const r = t ? "width" : "height", n = t ? "innerWidth" : "innerHeight", o = new WeakMap, s = D((t => {
542
+ const n = [];
543
+ for (const {target: e, contentRect: s} of t) {
544
+ if (!e.offsetParent) continue;
545
+ const t = o.get(e);
546
+ t != b && n.push([ t, s[r] ]);
547
+ }
548
+ n.length && e.H(3, n);
549
+ }));
550
+ let i;
551
+ return {
552
+ G(t) {
553
+ const r = L(H(t)), o = () => {
554
+ e.H(4, r[n]);
555
+ };
556
+ r.addEventListener("resize", o), k(o), i = () => {
557
+ r.removeEventListener("resize", o);
558
+ };
559
+ },
560
+ K: (e, t) => (o.set(e, t), s.q(e), () => {
561
+ o.delete(e), s.N(e);
562
+ }),
563
+ v() {
564
+ i && i(), s.W();
565
+ }
566
+ };
567
+ })(y, z), M = ((e, t) => {
568
+ let r, n, o = T(), s = !1;
569
+ const i = t ? "left" : "top", [c] = Y(e, (() => o[0]), ((e, t) => {
570
+ e = V(e, s);
571
+ const n = L(H(r));
572
+ t ? n.scroll({
573
+ [i]: e,
574
+ behavior: "smooth"
575
+ }) : n.scroll({
576
+ [i]: e
577
+ });
578
+ })), l = (e, t, r, n, o = 0) => {
579
+ const i = n ? "offsetLeft" : "offsetTop", c = o + (n && s ? r.innerWidth - e[i] - e.offsetWidth : e[i]), u = e.offsetParent;
580
+ return e !== t && u ? l(u, t, r, n, c) : c;
581
+ };
582
+ return {
583
+ Z(c) {
584
+ r = c;
585
+ const u = t ? "scrollX" : "scrollY", a = H(c), f = L(a);
586
+ t && (s = "rtl" === getComputedStyle(E(a)).direction), n = X(e, f, t, (() => V(f[u], s)), ((t, r) => {
587
+ r ? f.scroll({
588
+ [i]: V(e.M() + t, s)
589
+ }) : f.scrollBy({
590
+ [i]: V(t, s)
591
+ });
592
+ }), (() => l(c, a.body, f, t))), o[1](!0);
593
+ },
594
+ v() {
595
+ n && n.W(), r = void 0, o[1](!1), o = T();
596
+ },
597
+ ee: () => s,
598
+ oe: () => {
599
+ n && n.j();
600
+ },
601
+ ne(n, {align: o, smooth: s, offset: i = 0} = {}) {
602
+ if (!r) return;
603
+ if (n = _(n, 0, e.T() - 1), "nearest" === o) {
604
+ const t = e.I(n), r = e.M();
605
+ if (t < r) o = "start"; else {
606
+ if (!(t + e.k(n) > r + e.R())) return;
607
+ o = "end";
608
+ }
609
+ }
610
+ const u = H(r), a = L(u), f = E(u), d = () => e.R() - (t ? f.clientWidth : f.clientHeight);
611
+ c((() => i + l(r, u.body, a, t) + e.I(n) + ("end" === o ? e.k(n) - (e.R() - d()) : "center" === o ? (e.k(n) - (e.R() - d())) / 2 : 0)), s);
612
+ }
613
+ };
614
+ })(y, z), [O, R] = g(y.p());
615
+ y.C(1, (() => {
616
+ R(y.p());
617
+ })), y.C(4, (() => {
618
+ var e;
619
+ null === (e = t.onScroll) || void 0 === e || e.call(t);
620
+ })), y.C(8, (() => {
621
+ var e;
622
+ null === (e = t.onScrollEnd) || void 0 === e || e.call(t);
623
+ }));
624
+ const J = f((e => {
625
+ O();
626
+ const r = y.S(t.bufferSize);
627
+ return e && A(e, r) ? e : r;
628
+ })), P = f((() => O() && y.O())), B = f((() => O() && y.P())), C = f((() => O() && M.ee()));
629
+ h((() => {
630
+ t.ref && t.ref({
631
+ get cache() {
632
+ return y.m();
633
+ },
634
+ get scrollOffset() {
635
+ return y.M();
636
+ },
637
+ get viewportSize() {
638
+ return y.R();
639
+ },
640
+ findItemIndex: y.$,
641
+ getItemOffset: y.I,
642
+ getItemSize: y.k,
643
+ scrollToIndex: M.ne
644
+ }), I.G(r), M.Z(r), d((() => {
645
+ t.ref && t.ref(), y.v(), I.v(), M.v();
646
+ }));
647
+ })), a(p(O, (() => {
648
+ M.oe();
649
+ })));
650
+ const W = f((() => {
651
+ const e = t.data.length;
652
+ m((() => {
653
+ e !== y.T() && y.H(5, [ e, t.shift ]);
654
+ }));
655
+ const r = [];
656
+ for (let [e, n] = J(); e <= n; e++) r.push(t.data[e]);
657
+ return r;
658
+ }));
659
+ return j = Q(), "function" == typeof r ? i(r, j) : r = j, c(j, "contain", "size style"),
660
+ c(j, "flex", "none"), c(j, "position", "relative"), s(j, e(S, {
661
+ get each() {
662
+ return W();
663
+ },
664
+ children: (r, n) => {
665
+ const o = f((() => J()[0] + n())), s = f((() => (O(), y.I(o(), C())))), i = f((() => (O(),
666
+ y._(o())))), c = f((() => m((() => t.children(r, o)))));
667
+ return e(U, {
668
+ get Y() {
669
+ return o();
670
+ },
671
+ get X() {
672
+ return I.K;
673
+ },
674
+ get U() {
675
+ return s();
676
+ },
677
+ get A() {
678
+ return i();
679
+ },
680
+ get F() {
681
+ return c();
682
+ },
683
+ D: z
684
+ });
685
+ }
686
+ })), l((e => {
687
+ var t = z ? B() + "px" : "100%", r = z ? "100%" : B() + "px", n = P() ? "none" : void 0;
688
+ return t !== e.e && c(j, "width", e.e = t), r !== e.t && c(j, "height", e.t = r),
689
+ n !== e.a && c(j, "pointer-events", e.a = n), e;
690
+ }), {
691
+ e: void 0,
692
+ t: void 0,
693
+ a: void 0
694
+ }), j;
695
+ var j;
696
+ };
697
+
698
+ export { K as VList, F as Virtualizer, Z as WindowVirtualizer };
2
699
  //# sourceMappingURL=index.js.map