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.
@@ -1,5 +1,5 @@
1
1
  import { JSX, ReactElement, ReactNode, RefObject } from "react";
2
- import { CacheSnapshot, ScrollToIndexOpts } from "../core/types";
2
+ import { CacheSnapshot, ScrollToIndexOpts } from "../core";
3
3
  import { CustomContainerComponent, CustomItemComponent } from "./types";
4
4
  /**
5
5
  * Methods of {@link Virtualizer}.
@@ -1,5 +1,5 @@
1
1
  import { JSX, ReactElement, ReactNode } from "react";
2
- import { CacheSnapshot, ScrollToIndexOpts } from "../core/types";
2
+ import { CacheSnapshot, ScrollToIndexOpts } from "../core";
3
3
  import { CustomContainerComponent, CustomItemComponent } from "./types";
4
4
  /**
5
5
  * Methods of {@link WindowVirtualizer}.
@@ -2,7 +2,7 @@
2
2
  * @jsxImportSource solid-js
3
3
  */
4
4
  import { JSX, type ValidComponent } from "solid-js";
5
- import { ScrollToIndexOpts } from "../core/types";
5
+ import { ScrollToIndexOpts } from "../core";
6
6
  /**
7
7
  * Methods of {@link Virtualizer}.
8
8
  */
@@ -2,7 +2,7 @@
2
2
  * @jsxImportSource solid-js
3
3
  */
4
4
  import { JSX } from "solid-js";
5
- import { ScrollToIndexOpts } from "../core/types";
5
+ import { ScrollToIndexOpts } from "../core";
6
6
  /**
7
7
  * Methods of {@link WindowVirtualizer}.
8
8
  */
@@ -1,2 +1,2 @@
1
- var e=require("solid-js/web"),t=require("solid-js");const r=null,{min:n,max:o,abs:s,floor:i}=Math,l=setTimeout,c=(e,t,r)=>n(r,o(t,e)),u="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},a=e=>{let t,r;return()=>(t||(t=!0,r=e()),r)},f=-1,d=(e,t,r)=>{const n=r?"unshift":"push";for(let r=0;r<t;r++)e[n](f);return e},h=(e,t)=>{const r=e.o[t];return r===f?e.i:r},_=(e,t,r)=>{const o=e.o[t]===f;return e.o[t]=r,e.l=n(t,e.l),o},g=(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+=h(e,r),e.h[++r]=n;return e.l=t,n},v=(e,t,r=0,n=e.u-1)=>{for(;r<=n;){const o=i((r+n)/2),s=g(e,o);if(s<=t){if(s+h(e,o)>t)return o;r=o+1}else n=o-1}return c(r,0,e.u-1)},p=(e,t,r)=>{const o=t-e.u;return e.l=r?-1:n(t-1,e.l),e.u=t,o>0?(d(e.h,o),d(e.o,o,r),e.i*o):(e.h.splice(o),(r?e.o.splice(0,-o):e.o.splice(o)).reduce(((t,r)=>t-(r===f?e.i:r)),0))},m="undefined"!=typeof window,w=()=>document.documentElement,S=e=>e.ownerDocument,x=e=>e.defaultView,b=/*#__PURE__*/a((()=>!!m&&"rtl"===getComputedStyle(w()).direction)),y=/*#__PURE__*/a((()=>/iP(hone|od|ad)/.test(navigator.userAgent))),z=/*#__PURE__*/a((()=>"scrollBehavior"in w().style)),I=e=>!!e._(),k=(e,t=40,i=4,l=0,c,u=!1)=>{let a=!!l,m=[],w=0,S=0,x=0,b=0,z=0,I=0,k=0,T=0,M=0,E=a?[0,o(l-1,0)]:r,R=[0,0],J=0;const O=((e,t)=>({i:t,o:d([],e),u:e,l:-1,h:d([],e)}))(e,t),q=new Set,P=()=>x-S,B=()=>P()+I+z,C=e=>((e,t,r,o)=>{if(o=n(o,e.u-1),g(e,o)<=t){const n=v(e,t+r,o);return[v(e,t,o,n),n]}{const n=v(e,t,void 0,o);return[n,v(e,t+r,n)]}})(O,e,w,R[0]),H=()=>(e=>e.u?g(e,e.u-1)+h(e,e.u-1):0)(O),L=e=>g(O,e)-I,W=e=>h(O,e),j=e=>{e&&(y()&&0!==T?I+=e:(z+=e,b++))};return{v:()=>m,p:()=>(e=>[e.o.slice(),e.i])(O),m:()=>{if(k)return R;let[e,t]=C(o(0,B()));return E&&(e=n(e,E[0]),t=o(t,E[1])),1!==T&&(e-=o(0,i)),2!==T&&(t+=o(0,i)),R=[o(e,0),n(t,O.u-1)]},S:()=>v(O,B()),I:()=>v(O,B()+w),k:e=>O.o[e]===f,T:()=>!!E&&O.o.slice(o(0,E[0]-1),n(O.u-1,E[1]+1)+1).includes(f),M:L,R:W,J:()=>O.u,O:()=>x,q:()=>0!==T,_:()=>w,P:()=>S,B:H,C:()=>b,H:()=>(k=z,z=0,[k,2===M||P()+w>=H()]),L:(e,t)=>{const r=[e,t];return q.add(r),()=>{q.delete(r)}},W:(e,t)=>{let n,i,l=0;switch(e){case 1:{const e=k;k=0;const n=t-x,o=s(n);e&&o<s(e)+1||0!==M||(T=n<0?2:1),a&&(E=r,a=!1),x=t,l=4;const c=P();c>=-w&&c<=H()&&(l+=1,i=o>w);break}case 2:l=8,0!==T&&(n=!0,l+=1),T=0,M=0,E=r;break;case 3:{const e=t.filter((([e,t])=>O.o[e]!==t));if(!e.length)break;j(e.reduce(((e,[t,r])=>((2===M||(E?t<E[0]:L(t)+(0===T&&0===M?W(t):0)<P()))&&(e+=r-W(t)),e)),0));for(const[t,r]of e){const e=W(t),n=_(O,t,r);u&&(J+=n?r:r-e)}u&&w&&J>w&&(j(((e,t)=>{let r=0;const n=e.o.filter(((e,n)=>{const o=e!==f;return o&&n<t&&r++,o})),s=e.i;return e.l=-1,((e.i=(e=>{const t=(e=>[...e].sort(((e,t)=>e-t)))(e),r=e.length/2|0;return t.length%2==0?(t[r-1]+t[r])/2:t[r]})(n))-s)*o(t-r,0)})(O,v(O,B()))),u=!1),l=3,i=!0;break}case 4:w!==t&&(w=t,l=3);break;case 5:t[1]?(j(p(O,t[0],!0)),M=2,l=1):p(O,t[0]);break;case 6:S=t;break;case 7:M=1;break;case 8:E=C(t),l=1}l&&(m=[],n&&I&&(z+=I,I=0,b++),q.forEach((([e,t])=>{l&e&&t(i)})))}}},T=e=>{let t;return{j(r){(t||(t=new(x(S(r)).ResizeObserver)(e))).observe(r)},U(e){t.unobserve(e)},V(){t&&t.disconnect()}}},M=(e,t)=>t&&b()?-e:e,E=(e,t,n,o,s,i)=>{const c=Date.now;let u=0,a=!1,f=!1,d=!1,h=!1;const _=(()=>{let t;const n=()=>{t!=r&&clearTimeout(t)},o=()=>{n(),t=l((()=>{t=r,(()=>{if(a||f)return a=!1,void _();d=!1,e.W(2)})()}),150)};return o.X=n,o})(),g=()=>{u=c(),d&&(h=!0),i&&e.W(6,i()),e.W(1,o()),_()},v=t=>{if(a||!e.q()||t.ctrlKey)return;const r=c()-u;150>r&&50<r&&(n?t.deltaX:t.deltaY)&&(a=!0)},p=()=>{f=!0,d=h=!1},m=()=>{f=!1,y()&&(d=!0)};return t.addEventListener("scroll",g),t.addEventListener("wheel",v,{passive:!0}),t.addEventListener("touchstart",p,{passive:!0}),t.addEventListener("touchend",m,{passive:!0}),{V:()=>{t.removeEventListener("scroll",g),t.removeEventListener("wheel",v),t.removeEventListener("touchstart",p),t.removeEventListener("touchend",m),_.X()},Y:()=>{const[t,r]=e.H();t&&(s(M(t,n),r,h),h=!1,r&&e._()>e.B()&&e.W(1,o()))}}},R=r=>{let n;r=t.mergeProps({D:"div"},r),t.createEffect((()=>{n&&t.onCleanup(r.F(n,r.A))}));const o=t.createMemo((()=>{const e=r.G,t={position:"absolute",[e?"height":"width"]:"100%",[e?"top":"left"]:"0px",[e?b()?"right":"left":"top"]:r.K+"px",visibility:r.N?"hidden":"visible"};return e&&(t.display="flex"),t}));return e.createComponent(e.Dynamic,{get component(){return r.D},ref(e){"function"==typeof n?n(e):n=e},get style(){return o()},get children(){return r.Z}})},J=e=>{let r=new Map;return t.onCleanup((()=>{for(const e of r.values())e.V()})),t.createMemo((()=>{const n=e.$,[o,s]=e.ee,i=new Map,l=[];for(let c=o;c<=s;c++){const o=n[c],s=r.get(c);l.push(s?s.te:t.createRoot((r=>{const n=t.createSignal(o),s=e.re(n[0],c);return i.set(c,{ne:n,te:s,V:r}),s}))),s&&(o!==s.ne&&s.ne[1](o),i.set(c,s))}for(const[e,t]of r.entries())i.has(e)||t.V();return r=i,l}))},O=(e,t)=>e[0]===t[0]&&e[1]===t[1],q=n=>{let s;const{itemSize:i,horizontal:a=!1,overscan:f}=n;n=t.mergeProps({as:"div"},n);const d=k(n.data.length,i,f,void 0,0,!i),h=((e,t)=>{let n;const o=t?"width":"height",s=new WeakMap,i=T((t=>{const i=[];for(const{target:l,contentRect:c}of t)if(l.offsetParent)if(l===n)e.W(4,c[o]);else{const e=s.get(l);e!=r&&i.push([e,c[o]])}i.length&&e.W(3,i)}));return{oe(e){i.j(n=e)},se:(e,t)=>(s.set(e,t),i.j(e),()=>{s.delete(e),i.U(e)}),V:i.V}})(d,a),_=((e,t)=>{let r,n,o;const s=t?"scrollLeft":"scrollTop",i=t?"overflowX":"overflowY",a=async(n,i)=>{if(!r)return void u((()=>a(n,i)));o&&o();const c=()=>{let t;return[new Promise(((r,n)=>{t=r,o=n,I(e)&&l(n,150)})),e.L(2,(()=>{t&&t()}))]};if(i&&z()){for(;e.W(8,n()),e.T();){const[e,t]=c();try{await e}catch(e){return}finally{t()}}r.scrollTo({[t?"left":"top"]:M(n(),t),behavior:"smooth"})}else for(;;){const[o,i]=c();try{r[s]=M(n(),t),e.W(7),await o}catch(e){return}finally{i()}}};return{j(c){r=c,n=E(e,c,t,(()=>M(c[s],t)),((t,r,n)=>{if(n){const e=c.style,t=e[i];e[i]="hidden",l((()=>{e[i]=t}))}r?(c[s]=e.O()+t,o&&o()):c[s]+=t}))},V(){n&&n.V()},ie(e){a((()=>e))},le(t){t+=e.O(),a((()=>t))},ce(t,{align:r,smooth:n,offset:o=0}={}){if(t=c(t,0,e.J()-1),"nearest"===r){const n=e.M(t),o=e.O();if(n<o)r="start";else{if(!(n+e.R(t)>o+e._()))return;r="end"}}a((()=>o+e.P()+e.M(t)+("end"===r?e.R(t)-e._():"center"===r?(e.R(t)-e._())/2:0)),n)},Y:()=>{n&&n.Y()}}})(d,a),[g,v]=t.createSignal(d.v()),p=d.L(1,(()=>{v(d.v())})),m=d.L(4,(()=>{var e;null===(e=n.onScroll)||void 0===e||e.call(n,d.O())})),w=d.L(8,(()=>{var e;null===(e=n.onScrollEnd)||void 0===e||e.call(n)})),S=t.createMemo((e=>{g();const t=d.m();return e&&O(e,t)?e:t})),x=t.createMemo((()=>g()&&d.q())),b=t.createMemo((()=>g()&&d.B())),y=t.createMemo((()=>g()&&d.C()));return t.onMount((()=>{n.ref&&n.ref({get scrollOffset(){return d.O()},get scrollSize(){return(e=>o(e.B(),e._()))(d)},get viewportSize(){return d._()},findStartIndex:d.S,findEndIndex:d.I,getItemOffset:d.M,getItemSize:d.R,scrollToIndex:_.ce,scrollTo:_.ie,scrollBy:_.le});const e=n.scrollRef||s.parentElement;h.oe(e),_.j(e),t.onCleanup((()=>{n.ref&&n.ref(),p(),m(),w(),h.V(),_.V()}))})),t.createComputed(t.on((()=>n.data.length),(e=>{e!==d.J()&&d.W(5,[e,n.shift])}))),t.createComputed(t.on((()=>n.startMargin||0),(e=>{e!==d.P()&&d.W(6,e)}))),t.createEffect(t.on(y,(()=>{_.Y()}))),e.createComponent(e.Dynamic,{get component(){return n.as},ref(e){"function"==typeof s?s(e):s=e},get style(){return{"overflow-anchor":"none",flex:"none",position:"relative",visibility:"hidden",width:a?b()+"px":"100%",height:a?"100%":b()+"px","pointer-events":x()?"none":void 0}},get children(){return e.createComponent(J,{get $(){return n.data},get ee(){return S()},re:(r,o)=>{const s=t.createMemo((()=>(g(),d.M(o)))),i=t.createMemo((()=>(g(),d.k(o))));return e.createComponent(R,{get D(){return n.item},A:o,get F(){return h.se},get K(){return s()},get N(){return i()},get Z(){return n.children(r(),o)},G:a})}})}})};var P=/*#__PURE__*/e.template("<div>"),B=/*#__PURE__*/e.template("<div>");exports.VList=t=>{const{ref:r,data:n,children:o,overscan:s,itemSize:i,shift:l,horizontal:c,onScroll:u,onScrollEnd:a,style:f,...d}=t;return h=P(),e.spread(h,e.mergeProps(d,{get style(){return{display:c?"inline-block":"block",[c?"overflow-x":"overflow-y"]:"auto",contain:"strict",width:"100%",height:"100%",...t.style}}}),!1,!0),e.insert(h,e.createComponent(q,{ref(e){var r=t.ref;"function"==typeof r?r(e):t.ref=e},get data(){return t.data},get overscan(){return t.overscan},get itemSize(){return t.itemSize},get shift(){return t.shift},horizontal:c,get onScroll(){return t.onScroll},get onScrollEnd(){return t.onScrollEnd},get children(){return t.children}})),h;var h},exports.Virtualizer=q,exports.WindowVirtualizer=n=>{let o;const{ref:s,data:i,children:a,overscan:f,itemSize:d,shift:h,horizontal:_=!1,onScrollEnd:g}=n,v=k(n.data.length,d,f,void 0,0,!d),p=((e,t)=>{const n=t?"width":"height",o=t?"innerWidth":"innerHeight",s=new WeakMap,i=T((t=>{const o=[];for(const{target:e,contentRect:i}of t){if(!e.offsetParent)continue;const t=s.get(e);t!=r&&o.push([t,i[n]])}o.length&&e.W(3,o)}));let l;return{oe(t){const r=x(S(t)),n=()=>{e.W(4,r[o])};r.addEventListener("resize",n),n(),l=()=>{r.removeEventListener("resize",n)}},se:(e,t)=>(s.set(e,t),i.j(e),()=>{s.delete(e),i.U(e)}),V(){l&&l(),i.V()}}})(v,_),m=((e,t)=>{let r,n,o;const s=(e,t,r,n,o=0)=>{const i=n?"offsetLeft":"offsetTop",l=o+(n&&b()?r.innerWidth-e[i]-e.offsetWidth:e[i]),c=e.offsetParent;return e!==t&&c?s(c,t,r,n,l):l},i=async(n,s)=>{if(!r)return void u((()=>i(n,s)));o&&o();const c=()=>{let t;return[new Promise(((r,n)=>{t=r,o=n,I(e)&&l(n,150)})),e.L(2,(()=>{t&&t()}))]},a=x(S(r));if(s&&z()){for(;e.W(8,n()),e.T();){const[e,t]=c();try{await e}catch(e){return}finally{t()}}a.scroll({[t?"left":"top"]:M(n(),t),behavior:"smooth"})}else for(;;){const[r,o]=c();try{a.scroll({[t?"left":"top"]:M(n(),t)}),e.W(7),await r}catch(e){return}finally{o()}}};return{j(o){r=o;const i=t?"scrollX":"scrollY",l=S(o),c=x(l),u=l.body;n=E(e,c,t,(()=>M(c[i],t)),((r,n)=>{n?c.scroll({[t?"left":"top"]:e.O()+r}):c.scrollBy(t?r:0,t?0:r)}),(()=>s(o,u,c,t)))},V(){n&&n.V(),r=void 0},Y:()=>{n&&n.Y()},ce(n,{align:o,smooth:l,offset:u=0}={}){if(!r)return;if(n=c(n,0,e.J()-1),"nearest"===o){const t=e.M(n),r=e.O();if(t<r)o="start";else{if(!(t+e.R(n)>r+e._()))return;o="end"}}const a=S(r),f=x(a);i((()=>{const i=s(r,a.body,f,t),l=f.innerHeight-a.documentElement.clientHeight,c=f.innerHeight-a.documentElement.clientWidth,d="end"===o||"center"===o?t?c:l:0;return u+i+e.M(n)+("end"===o?e.R(n)-(e._()-d):"center"===o?(e.R(n)-(e._()-d))/2:0)}),l)}}})(v,_),[w,y]=t.createSignal(v.v()),q=v.L(1,(()=>{y(v.v())})),P=v.L(4,(()=>{var e;null===(e=n.onScroll)||void 0===e||e.call(n,v.O())})),C=v.L(8,(()=>{var e;null===(e=n.onScrollEnd)||void 0===e||e.call(n)})),H=t.createMemo((e=>{w();const t=v.m();return e&&O(e,t)?e:t})),L=t.createMemo((()=>w()&&v.q())),W=t.createMemo((()=>w()&&v.B())),j=t.createMemo((()=>w()&&v.C()));return t.onMount((()=>{n.ref&&n.ref({findStartIndex:v.S,findEndIndex:v.I,scrollToIndex:m.ce}),p.oe(o),m.j(o),t.onCleanup((()=>{n.ref&&n.ref(),q(),P(),C(),p.V(),m.V()}))})),t.createComputed(t.on((()=>n.data.length),(e=>{e!==v.J()&&v.W(5,[e,n.shift])}))),t.createEffect(t.on(j,(()=>{m.Y()}))),U=B(),"function"==typeof(V=o)?e.use(V,U):o=U,U.style.setProperty("overflow-anchor","none"),U.style.setProperty("flex","none"),U.style.setProperty("position","relative"),U.style.setProperty("visibility","hidden"),e.insert(U,e.createComponent(J,{get $(){return n.data},get ee(){return H()},re:(r,o)=>{const s=t.createMemo((()=>(w(),v.M(o)))),i=t.createMemo((()=>(w(),v.k(o))));return e.createComponent(R,{A:o,get F(){return p.se},get K(){return s()},get N(){return i()},get Z(){return n.children(r(),o)},G:_})}})),e.effect((e=>{var t=_?W()+"px":"100%",r=_?"100%":W()+"px",n=L()?"none":void 0;return t!==e.e&&(null!=(e.e=t)?U.style.setProperty("width",t):U.style.removeProperty("width")),r!==e.t&&(null!=(e.t=r)?U.style.setProperty("height",r):U.style.removeProperty("height")),n!==e.a&&(null!=(e.a=n)?U.style.setProperty("pointer-events",n):U.style.removeProperty("pointer-events")),e}),{e:void 0,t:void 0,a:void 0}),U;var U,V};
1
+ var e=require("solid-js/web"),t=require("solid-js");const r=null,{min:n,max:o,abs:s,floor:i}=Math,l=setTimeout,c=(e,t,r)=>n(r,o(t,e)),u="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},a=e=>{let t,r;return()=>(t||(t=!0,r=e()),r)},f=-1,d=(e,t,r)=>{const n=r?"unshift":"push";for(let r=0;r<t;r++)e[n](f);return e},h=(e,t)=>{const r=e.o[t];return r===f?e.i:r},v=(e,t,r)=>{const o=e.o[t]===f;return e.o[t]=r,e.l=n(t,e.l),o},g=(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+=h(e,r),e.h[++r]=n;return e.l=t,n},p=(e,t,r=0,n=e.u-1)=>{for(;r<=n;){const o=i((r+n)/2),s=g(e,o);if(s<=t){if(s+h(e,o)>t)return o;r=o+1}else n=o-1}return c(r,0,e.u-1)},m=(e,t,r)=>{const o=t-e.u;return e.l=r?-1:n(t-1,e.l),e.u=t,o>0?(d(e.h,o),d(e.o,o,r),e.i*o):(e.h.splice(o),(r?e.o.splice(0,-o):e.o.splice(o)).reduce(((t,r)=>t-(r===f?e.i:r)),0))},_="undefined"!=typeof window,w=()=>document.documentElement,$=e=>e.ownerDocument,S=e=>e.defaultView,x=/*#__PURE__*/a((()=>!!_&&"rtl"===getComputedStyle(w()).direction)),b=/*#__PURE__*/a((()=>/iP(hone|od|ad)/.test(navigator.userAgent))),y=/*#__PURE__*/a((()=>"scrollBehavior"in w().style)),z=e=>!!e.v(),I=(e,t=40,i=4,l=0,c,u=!1)=>{let a=!!l,_=[],w=0,$=0,S=0,x=0,y=0,z=0,I=0,k=0,T=0,M=a?[0,o(l-1,0)]:r,E=[0,0],R=0;const J=((e,t)=>({i:t,o:d([],e),u:e,l:-1,h:d([],e)}))(e,t),O=new Set,q=()=>S-$,P=()=>q()+z+y,B=e=>((e,t,r,o)=>{if(o=n(o,e.u-1),g(e,o)<=t){const n=p(e,t+r,o);return[p(e,t,o,n),n]}{const n=p(e,t,void 0,o);return[n,p(e,t+r,n)]}})(J,e,w,E[0]),C=()=>(e=>e.u?g(e,e.u-1)+h(e,e.u-1):0)(J),H=e=>g(J,e)-z,L=e=>h(J,e),W=e=>{e&&(b()&&0!==k?z+=e:(y+=e,x++))};return{p:()=>_,m:()=>(e=>[e.o.slice(),e.i])(J),_:()=>{if(I)return E;let[e,t]=B(o(0,P()));return M&&(e=n(e,M[0]),t=o(t,M[1])),1!==k&&(e-=o(0,i)),2!==k&&(t+=o(0,i)),E=[o(e,0),n(t,J.u-1)]},$:()=>p(J,P()),S:()=>p(J,P()+w),I:e=>J.o[e]===f,k:()=>!!M&&J.o.slice(o(0,M[0]-1),n(J.u-1,M[1]+1)+1).includes(f),T:H,M:L,R:()=>J.u,J:()=>S,O:()=>0!==k,v:()=>w,q:()=>$,P:C,B:()=>x,C:()=>(I=y,y=0,[I,2===T||q()+w>=C()]),H:(e,t)=>{const r=[e,t];return O.add(r),()=>{O.delete(r)}},L:(e,t)=>{let n,i,l=0;switch(e){case 1:{const e=I;I=0;const n=t-S,o=s(n);e&&o<s(e)+1||0!==T||(k=n<0?2:1),a&&(M=r,a=!1),S=t,l=4;const c=q();c>=-w&&c<=C()&&(l+=1,i=o>w);break}case 2:l=8,0!==k&&(n=!0,l+=1),k=0,T=0,M=r;break;case 3:{const e=t.filter((([e,t])=>J.o[e]!==t));if(!e.length)break;W(e.reduce(((e,[t,r])=>((2===T||(M?t<M[0]:H(t)+(0===k&&0===T?L(t):0)<q()))&&(e+=r-L(t)),e)),0));for(const[t,r]of e){const e=L(t),n=v(J,t,r);u&&(R+=n?r:r-e)}u&&w&&R>w&&(W(((e,t)=>{let r=0;const n=[];e.o.forEach(((e,o)=>{e!==f&&(n.push(e),o<t&&r++)})),e.l=-1;const s=(i=n,[...i].sort(((e,t)=>e-t)));var i;const l=s.length,c=l/2|0,u=l%2==0?(s[c-1]+s[c])/2:s[c],a=e.i;return((e.i=u)-a)*o(t-r,0)})(J,p(J,P()))),u=!1),l=3,i=!0;break}case 4:w!==t&&(w=t,l=3);break;case 5:t[1]?(W(m(J,t[0],!0)),T=2,l=1):m(J,t[0]);break;case 6:$=t;break;case 7:T=1;break;case 8:M=B(t),l=1}l&&(_=[],n&&z&&(y+=z,z=0,x++),O.forEach((([e,t])=>{l&e&&t(i)})))}}},k=(e,t)=>t&&x()?-e:e,T=(e,t,n,o,s,i)=>{const c=Date.now;let u=0,a=!1,f=!1,d=!1,h=!1;const v=(()=>{let t;const n=()=>{t!=r&&clearTimeout(t)},o=()=>{n(),t=l((()=>{t=r,(()=>{if(a||f)return a=!1,void v();d=!1,e.L(2)})()}),150)};return o.W=n,o})(),g=()=>{u=c(),d&&(h=!0),i&&e.L(6,i()),e.L(1,o()),v()},p=t=>{if(a||!e.O()||t.ctrlKey)return;const r=c()-u;150>r&&50<r&&(n?t.deltaX:t.deltaY)&&(a=!0)},m=()=>{f=!0,d=h=!1},_=()=>{f=!1,b()&&(d=!0)};return t.addEventListener("scroll",g),t.addEventListener("wheel",p,{passive:!0}),t.addEventListener("touchstart",m,{passive:!0}),t.addEventListener("touchend",_,{passive:!0}),{j:()=>{t.removeEventListener("scroll",g),t.removeEventListener("wheel",p),t.removeEventListener("touchstart",m),t.removeEventListener("touchend",_),v.W()},U:()=>{const[t,r]=e.C();t&&(s(k(t,n),r,h),h=!1,r&&e.v()>e.P()&&e.L(1,o()))}}},M=e=>{let t;return{V(r){(t||(t=new(S($(r)).ResizeObserver)(e))).observe(r)},X(e){t.unobserve(e)},j(){t&&t.disconnect()}}},E=r=>{let n;r=t.mergeProps({Y:"div"},r),t.createEffect((()=>{n&&t.onCleanup(r.D(n,r.F))}));const o=t.createMemo((()=>{const e=r.A,t={position:"absolute",[e?"height":"width"]:"100%",[e?"top":"left"]:"0px",[e?x()?"right":"left":"top"]:r.G+"px",visibility:r.K?"hidden":"visible"};return e&&(t.display="flex"),t}));return e.createComponent(e.Dynamic,{get component(){return r.Y},ref(e){"function"==typeof n?n(e):n=e},get style(){return o()},get children(){return r.N}})},R=e=>{let r=new Map;return t.onCleanup((()=>{for(const e of r.values())e.j()})),t.createMemo((()=>{const n=e.Z,[o,s]=e.ee,i=new Map,l=[];for(let c=o;c<=s;c++){const o=n[c],s=r.get(c);l.push(s?s.te:t.createRoot((r=>{const n=t.createSignal(o),s=e.re(n[0],c);return i.set(c,{ne:n,te:s,j:r}),s}))),s&&(o!==s.ne&&s.ne[1](o),i.set(c,s))}for(const[e,t]of r.entries())i.has(e)||t.j();return r=i,l}))},J=(e,t)=>e[0]===t[0]&&e[1]===t[1],O=n=>{let s;const{itemSize:i,horizontal:a=!1,overscan:f}=n;n=t.mergeProps({as:"div"},n);const d=I(n.data.length,i,f,void 0,0,!i),h=((e,t)=>{let n;const o=t?"width":"height",s=new WeakMap,i=M((t=>{const i=[];for(const{target:l,contentRect:c}of t)if(l.offsetParent)if(l===n)e.L(4,c[o]);else{const e=s.get(l);e!=r&&i.push([e,c[o]])}i.length&&e.L(3,i)}));return{oe(e){i.V(n=e)},se:(e,t)=>(s.set(e,t),i.V(e),()=>{s.delete(e),i.X(e)}),ie:i.j}})(d,a),v=((e,t)=>{let r,n,o;const s=t?"scrollLeft":"scrollTop",i=t?"overflowX":"overflowY",a=async(n,i)=>{if(!r)return void u((()=>a(n,i)));o&&o();const c=()=>{let t;return[new Promise(((r,n)=>{t=r,o=n,z(e)&&l(n,150)})),e.H(2,(()=>{t&&t()}))]};if(i&&y()){for(;e.L(8,n()),e.k();){const[e,t]=c();try{await e}catch(e){return}finally{t()}}r.scrollTo({[t?"left":"top"]:k(n(),t),behavior:"smooth"})}else for(;;){const[o,i]=c();try{r[s]=k(n(),t),e.L(7),await o}catch(e){return}finally{i()}}};return{le(c){r=c,n=T(e,c,t,(()=>k(c[s],t)),((t,r,n)=>{if(n){const e=c.style,t=e[i];e[i]="hidden",l((()=>{e[i]=t}))}r?(c[s]=e.J()+t,o&&o()):c[s]+=t}))},ie(){n&&n.j()},ce(e){a((()=>e))},ue(t){t+=e.J(),a((()=>t))},ae(t,{align:r,smooth:n,offset:o=0}={}){if(t=c(t,0,e.R()-1),"nearest"===r){const n=e.T(t),o=e.J();if(n<o)r="start";else{if(!(n+e.M(t)>o+e.v()))return;r="end"}}a((()=>o+e.q()+e.T(t)+("end"===r?e.M(t)-e.v():"center"===r?(e.M(t)-e.v())/2:0)),n)},fe:()=>{n&&n.U()}}})(d,a),[g,p]=t.createSignal(d.p()),m=d.H(1,(()=>{p(d.p())})),_=d.H(4,(()=>{var e;null===(e=n.onScroll)||void 0===e||e.call(n,d.J())})),w=d.H(8,(()=>{var e;null===(e=n.onScrollEnd)||void 0===e||e.call(n)})),$=t.createMemo((e=>{g();const t=d._();return e&&J(e,t)?e:t})),S=t.createMemo((()=>g()&&d.O())),x=t.createMemo((()=>g()&&d.P())),b=t.createMemo((()=>g()&&d.B()));return t.onMount((()=>{n.ref&&n.ref({get scrollOffset(){return d.J()},get scrollSize(){return(e=>o(e.P(),e.v()))(d)},get viewportSize(){return d.v()},findStartIndex:d.$,findEndIndex:d.S,getItemOffset:d.T,getItemSize:d.M,scrollToIndex:v.ae,scrollTo:v.ce,scrollBy:v.ue});const e=n.scrollRef||s.parentElement;h.oe(e),v.le(e),t.onCleanup((()=>{n.ref&&n.ref(),m(),_(),w(),h.ie(),v.ie()}))})),t.createComputed(t.on((()=>n.data.length),(e=>{e!==d.R()&&d.L(5,[e,n.shift])}))),t.createComputed(t.on((()=>n.startMargin||0),(e=>{e!==d.q()&&d.L(6,e)}))),t.createEffect(t.on(b,(()=>{v.fe()}))),e.createComponent(e.Dynamic,{get component(){return n.as},ref(e){"function"==typeof s?s(e):s=e},get style(){return{"overflow-anchor":"none",flex:"none",position:"relative",visibility:"hidden",width:a?x()+"px":"100%",height:a?"100%":x()+"px","pointer-events":S()?"none":void 0}},get children(){return e.createComponent(R,{get Z(){return n.data},get ee(){return $()},re:(r,o)=>{const s=t.createMemo((()=>(g(),d.T(o)))),i=t.createMemo((()=>(g(),d.I(o))));return e.createComponent(E,{get Y(){return n.item},F:o,get D(){return h.se},get G(){return s()},get K(){return i()},get N(){return n.children(r(),o)},A:a})}})}})};var q=/*#__PURE__*/e.template("<div>"),P=/*#__PURE__*/e.template("<div>");exports.VList=t=>{const{ref:r,data:n,children:o,overscan:s,itemSize:i,shift:l,horizontal:c,onScroll:u,onScrollEnd:a,style:f,...d}=t;return h=q(),e.spread(h,e.mergeProps(d,{get style(){return{display:c?"inline-block":"block",[c?"overflow-x":"overflow-y"]:"auto",contain:"strict",width:"100%",height:"100%",...t.style}}}),!1,!0),e.insert(h,e.createComponent(O,{ref(e){var r=t.ref;"function"==typeof r?r(e):t.ref=e},get data(){return t.data},get overscan(){return t.overscan},get itemSize(){return t.itemSize},get shift(){return t.shift},horizontal:c,get onScroll(){return t.onScroll},get onScrollEnd(){return t.onScrollEnd},get children(){return t.children}})),h;var h},exports.Virtualizer=O,exports.WindowVirtualizer=n=>{let o;const{ref:s,data:i,children:a,overscan:f,itemSize:d,shift:h,horizontal:v=!1,onScrollEnd:g}=n,p=I(n.data.length,d,f,void 0,0,!d),m=((e,t)=>{const n=t?"width":"height",o=t?"innerWidth":"innerHeight",s=new WeakMap,i=M((t=>{const o=[];for(const{target:e,contentRect:i}of t){if(!e.offsetParent)continue;const t=s.get(e);t!=r&&o.push([t,i[n]])}o.length&&e.L(3,o)}));let l;return{oe(t){const r=S($(t)),n=()=>{e.L(4,r[o])};r.addEventListener("resize",n),n(),l=()=>{r.removeEventListener("resize",n)}},se:(e,t)=>(s.set(e,t),i.V(e),()=>{s.delete(e),i.X(e)}),ie(){l&&l(),i.j()}}})(p,v),_=((e,t)=>{let r,n,o;const s=(e,t,r,n,o=0)=>{const i=n?"offsetLeft":"offsetTop",l=o+(n&&x()?r.innerWidth-e[i]-e.offsetWidth:e[i]),c=e.offsetParent;return e!==t&&c?s(c,t,r,n,l):l},i=async(n,s)=>{if(!r)return void u((()=>i(n,s)));o&&o();const c=()=>{let t;return[new Promise(((r,n)=>{t=r,o=n,z(e)&&l(n,150)})),e.H(2,(()=>{t&&t()}))]},a=S($(r));if(s&&y()){for(;e.L(8,n()),e.k();){const[e,t]=c();try{await e}catch(e){return}finally{t()}}a.scroll({[t?"left":"top"]:k(n(),t),behavior:"smooth"})}else for(;;){const[r,o]=c();try{a.scroll({[t?"left":"top"]:k(n(),t)}),e.L(7),await r}catch(e){return}finally{o()}}};return{le(o){r=o;const i=t?"scrollX":"scrollY",l=$(o),c=S(l),u=l.body;n=T(e,c,t,(()=>k(c[i],t)),((r,n)=>{n?c.scroll({[t?"left":"top"]:e.J()+r}):c.scrollBy(t?r:0,t?0:r)}),(()=>s(o,u,c,t)))},ie(){n&&n.j(),r=void 0},fe:()=>{n&&n.U()},ae(n,{align:o,smooth:l,offset:u=0}={}){if(!r)return;if(n=c(n,0,e.R()-1),"nearest"===o){const t=e.T(n),r=e.J();if(t<r)o="start";else{if(!(t+e.M(n)>r+e.v()))return;o="end"}}const a=$(r),f=S(a);i((()=>{const i=s(r,a.body,f,t),l=f.innerHeight-a.documentElement.clientHeight,c=f.innerHeight-a.documentElement.clientWidth,d="end"===o||"center"===o?t?c:l:0;return u+i+e.T(n)+("end"===o?e.M(n)-(e.v()-d):"center"===o?(e.M(n)-(e.v()-d))/2:0)}),l)}}})(p,v),[w,b]=t.createSignal(p.p()),O=p.H(1,(()=>{b(p.p())})),q=p.H(4,(()=>{var e;null===(e=n.onScroll)||void 0===e||e.call(n,p.J())})),B=p.H(8,(()=>{var e;null===(e=n.onScrollEnd)||void 0===e||e.call(n)})),C=t.createMemo((e=>{w();const t=p._();return e&&J(e,t)?e:t})),H=t.createMemo((()=>w()&&p.O())),L=t.createMemo((()=>w()&&p.P())),W=t.createMemo((()=>w()&&p.B()));return t.onMount((()=>{n.ref&&n.ref({findStartIndex:p.$,findEndIndex:p.S,scrollToIndex:_.ae}),m.oe(o),_.le(o),t.onCleanup((()=>{n.ref&&n.ref(),O(),q(),B(),m.ie(),_.ie()}))})),t.createComputed(t.on((()=>n.data.length),(e=>{e!==p.R()&&p.L(5,[e,n.shift])}))),t.createEffect(t.on(W,(()=>{_.fe()}))),j=P(),"function"==typeof(U=o)?e.use(U,j):o=j,j.style.setProperty("overflow-anchor","none"),j.style.setProperty("flex","none"),j.style.setProperty("position","relative"),j.style.setProperty("visibility","hidden"),e.insert(j,e.createComponent(R,{get Z(){return n.data},get ee(){return C()},re:(r,o)=>{const s=t.createMemo((()=>(w(),p.T(o)))),i=t.createMemo((()=>(w(),p.I(o))));return e.createComponent(E,{F:o,get D(){return m.se},get G(){return s()},get K(){return i()},get N(){return n.children(r(),o)},A:v})}})),e.effect((e=>{var t=v?L()+"px":"100%",r=v?"100%":L()+"px",n=H()?"none":void 0;return t!==e.e&&(null!=(e.e=t)?j.style.setProperty("width",t):j.style.removeProperty("width")),r!==e.t&&(null!=(e.t=r)?j.style.setProperty("height",r):j.style.removeProperty("height")),n!==e.a&&(null!=(e.a=n)?j.style.setProperty("pointer-events",n):j.style.removeProperty("pointer-events")),e}),{e:void 0,t:void 0,a:void 0}),j;var j,U};
2
2
  //# sourceMappingURL=index.js.map