virtua 0.45.0 → 0.45.2
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/README.md +1 -1
- package/lib/core/index.cjs +1 -1
- package/lib/core/index.cjs.map +1 -1
- package/lib/core/index.js +1 -1
- package/lib/core/index.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.cjs.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/react/VList.d.ts +1 -1
- package/lib/react/Virtualizer.d.ts +1 -1
- package/lib/react/WindowVirtualizer.d.ts +1 -1
- package/lib/solid/index.cjs +1 -1
- package/lib/solid/index.cjs.map +1 -1
- package/lib/solid/index.js +1 -1
- package/lib/solid/index.js.map +1 -1
- package/lib/solid/index.jsx +24 -23
- package/lib/solid/index.jsx.map +1 -1
- package/lib/vue/index.cjs +1 -1
- package/lib/vue/index.cjs.map +1 -1
- package/lib/vue/index.js +1 -1
- package/lib/vue/index.js.map +1 -1
- package/package.json +1 -1
package/lib/react/VList.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export interface VListHandle extends VirtualizerHandle {
|
|
|
9
9
|
/**
|
|
10
10
|
* Props of {@link VList}.
|
|
11
11
|
*/
|
|
12
|
-
export interface VListProps<T =
|
|
12
|
+
export interface VListProps<T = unknown> extends Pick<VirtualizerProps<T>, "children" | "data" | "overscan" | "itemSize" | "shift" | "horizontal" | "cache" | "ssrCount" | "item" | "onScroll" | "onScrollEnd" | "keepMounted">, ViewportComponentAttributes {
|
|
13
13
|
/**
|
|
14
14
|
* If true, items are aligned to the end of the list when total size of items are smaller than viewport size. It's useful for chat like app.
|
|
15
15
|
*/
|
|
@@ -27,7 +27,7 @@ export interface WindowVirtualizerHandle {
|
|
|
27
27
|
/**
|
|
28
28
|
* Props of {@link WindowVirtualizer}.
|
|
29
29
|
*/
|
|
30
|
-
export interface WindowVirtualizerProps<T =
|
|
30
|
+
export interface WindowVirtualizerProps<T = unknown> {
|
|
31
31
|
/**
|
|
32
32
|
* Elements rendered by this component.
|
|
33
33
|
*
|
package/lib/solid/index.cjs
CHANGED
|
@@ -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,c=(e,t,r)=>n(r,o(t,e)),l=e=>[...e].sort(((e,t)=>e-t)),u="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},a=()=>{let e;return[new Promise((t=>{e=t})),e]},f=e=>{let t;return()=>(e&&(t=e(),e=void 0),t)},d=-1,h=(e,t,r)=>{const n=r?"unshift":"push";for(let r=0;r<t;r++)e[n](d);return e},g=(e,t)=>{const r=e.o[t];return r===d?e.i:r},v=(e,t,r)=>{const o=e.o[t]===d;return e.o[t]=r,e.l=n(t,e.l),o},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+=g(e,r),e.h[++r]=n;return e.l=t,n},m=(e,t,r=0,n=e.u-1)=>{for(;r<=n;){const o=i((r+n)/2),s=p(e,o);if(s<=t){if(s+g(e,o)>t)return o;r=o+1}else n=o-1}return c(r,0,e.u-1)},x=(e,t,r)=>{const o=t-e.u;return e.l=r?-1:n(t-1,e.l),e.u=t,o>0?(h(e.h,o),h(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===d?e.i:r)),0))},S="undefined"!=typeof window,$=()=>document.documentElement,w=e=>e.ownerDocument,b=e=>e.defaultView,y=/*#__PURE__*/f((()=>!!S&&"rtl"===getComputedStyle($()).direction)),_=/*#__PURE__*/f((()=>/iP(hone|od|ad)/.test(navigator.userAgent))),z=/*#__PURE__*/f((()=>"scrollBehavior"in $().style)),I=(e,t=40,i=4,c=0,u,a=!1)=>{let f=!!c,S=1,$=0,w=0,b=0,y=0,z=0,I=0,k=0,T=0,M=f?[0,o(c-1,0)]:r,E=[0,0],O=0;const R=((e,t,r)=>({i:r?r[1]:t,o:r&&r[0]?h(r[0].slice(0,n(e,r[0].length)),o(0,e-r[0].length)):h([],e),u:e,l:-1,h:h([],e)}))(e,t,u),q=new Set,J=()=>b-w,B=()=>J()+z+y,H=e=>((e,t,r,o)=>{if(o=n(o,e.u-1),p(e,o)<=t){const n=m(e,t+r,o);return[m(e,t,o,n),n]}{const n=m(e,t,void 0,o);return[n,m(e,t+r,n)]}})(R,e,$,E[0]),L=()=>(e=>e.u?p(e,e.u-1)+g(e,e.u-1):0)(R),P=e=>p(R,e)-z,W=e=>g(R,e),j=e=>{e&&(_()&&0!==k||M&&1===T?z+=e:y+=e)};return{v:()=>S,p:()=>(e=>[e.o.slice(),e.i])(R),m:()=>{let e,t;return I?[e,t]=E:([e,t]=E=H(o(0,B())),M&&(e=n(e,M[0]),t=o(t,M[1]))),1!==k&&(e-=o(0,i)),2!==k&&(t+=o(0,i)),[o(e,0),n(t,R.u-1)]},S:()=>m(R,B()),$:()=>m(R,B()+$),_:e=>R.o[e]===d,I:P,k:W,T:()=>R.u,M:()=>b,O:()=>0!==k,R:()=>$,q:()=>w,J:L,B:()=>(I=y,y=0,[I,2===T]),H:(e,t)=>{const r=[e,t];return q.add(r),()=>{q.delete(r)}},L:(e,t)=>{let n,i,c=0;switch(e){case 1:{const e=I;I=0;const n=t-b,o=s(n);e&&o<s(e)+1||0!==T||(k=n<0?2:1),f&&(M=r,f=!1),b=t,c=4;const l=J();l>=-$&&l<=L()&&(c+=1,i=o>$);break}case 2:c=8,0!==k&&(n=!0,c+=1),k=0,T=0,M=r;break;case 3:{const e=t.filter((([e,t])=>R.o[e]!==t));if(!e.length)break;j(e.reduce(((e,[t,r])=>((2===T||(M&&1===T?t<M[0]:P(t)+(0===k&&0===T?W(t):0)<J()))&&(e+=r-W(t)),e)),0));for(const[t,r]of e){const e=W(t),n=v(R,t,r);a&&(O+=n?r:r-e)}a&&$&&O>$&&(j(((e,t)=>{let r=0;const n=[];e.o.forEach(((e,o)=>{e!==d&&(n.push(e),o<t&&r++)})),e.l=-1;const s=l(n),i=s.length,c=i/2|0,u=i%2==0?(s[c-1]+s[c])/2:s[c],a=e.i;return((e.i=u)-a)*o(t-r,0)})(R,m(R,B()))),a=!1),c=3,i=!0;break}case 4:$!==t&&($=t,c=3);break;case 5:t[1]?(j(x(R,t[0],!0)),T=2,c=1):(x(R,t[0]),c=1);break;case 6:w=t;break;case 7:T=1;break;case 8:M=H(t),c=1}c&&(S=1+(2147483647&S),n&&z&&(y+=z,z=0),q.forEach((([e,t])=>{c&e&&t(i)})))}}},k=setTimeout,T=(e,t)=>t&&y()?-e:e,M=(e,t,n,o,s,i)=>{const c=Date.now;let l=0,u=!1,a=!1,f=!1,d=!1;const h=(()=>{let t;const n=()=>{t!=r&&clearTimeout(t)},o=()=>{n(),t=k((()=>{t=r,(()=>{if(u||a)return u=!1,void h();f=!1,e.L(2)})()}),150)};return o.P=n,o})(),g=()=>{l=c(),f&&(d=!0),i&&e.L(6,i()),e.L(1,o()),h()},v=t=>{if(u||!e.O()||t.ctrlKey)return;const r=c()-l;150>r&&50<r&&(n?t.deltaX:t.deltaY)&&(u=!0)},p=()=>{a=!0,f=d=!1},m=()=>{a=!1,_()&&(f=!0)};return t.addEventListener("scroll",g),t.addEventListener("wheel",v,{passive:!0}),t.addEventListener("touchstart",p,{passive:!0}),t.addEventListener("touchend",m,{passive:!0}),{W:()=>{t.removeEventListener("scroll",g),t.removeEventListener("wheel",v),t.removeEventListener("touchstart",p),t.removeEventListener("touchend",m),h.P()},j:()=>{const[t,r]=e.B();t&&(s(T(t,n),r,d),d=!1,r&&e.R()>e.J()&&e.L(1,o()))}}},E=(e,t,r)=>{let n;return[async(o,s)=>{if(!await t())return;n&&n();const i=()=>{const[t,r]=a();return n=()=>{r(!1)},e.R()&&k(n,150),[t,e.H(2,(()=>{r(!0)}))]};if(s&&z())e.L(8,o()),u((async()=>{for(;;){let t=!0;for(let[r,n]=e.m();r<=n;r++)if(e._(r)){t=!1;break}if(t)break;const[r,n]=i();try{if(!await r)return}finally{n()}}e.L(7),r(o(),s)}));else for(;;){const[t,n]=i();try{if(e.L(7),r(o()),!await t)return}finally{n()}}},()=>{n&&n()}]},O=e=>{let t;return{C(r){(t||(t=new(b(w(r)).ResizeObserver)(e))).observe(r)},V(e){t.unobserve(e)},W(){t&&t.disconnect()}}},R=r=>{let n;r=t.mergeProps({X:"div"},r),t.createEffect((()=>{n&&t.onCleanup(r.Y(n,r.D))}));const o=t.createMemo((()=>{const e=r.U,t={contain:"layout style",position:"absolute",[e?"height":"width"]:"100%",[e?"top":"left"]:"0px",[e?y()?"right":"left":"top"]:r.A+"px",visibility:r.F?"hidden":"visible"};return e&&(t.display="inline-flex"),t}));return e.createComponent(e.Dynamic,{get component(){return r.X},get index(){return r.D},ref(e){"function"==typeof n?n(e):n=e},get style(){return o()},get children(){return r.G}})},q=(e,t)=>e[0]===t[0]&&e[1]===t[1],J=n=>{let s;const{itemSize:i,horizontal:u=!1,overscan:f,cache:d}=n;n=t.mergeProps({as:"div"},n);const h=I(n.data.length,i,f,void 0,d,!i),g=((e,t)=>{let n;const o=t?"width":"height",s=new WeakMap,i=O((t=>{const i=[];for(const{target:c,contentRect:l}of t)if(c.offsetParent)if(c===n)e.L(4,l[o]);else{const e=s.get(c);e!=r&&i.push([e,l[o]])}i.length&&e.L(3,i)}));return{K(e){i.C(n=e)},N:(e,t)=>(s.set(e,t),i.C(e),()=>{s.delete(e),i.V(e)}),Z:i.W}})(h,u),v=((e,t)=>{let r,n,o=a();const s=t?"scrollLeft":"scrollTop",i=t?"overflowX":"overflowY",[l,u]=E(e,(()=>o[0]),((e,n)=>{e=T(e,t),n?r.scrollTo({[t?"left":"top"]:e,behavior:"smooth"}):r[s]=e}));return{ee(c){r=c,n=M(e,c,t,(()=>T(c[s],t)),((t,r,n)=>{if(n){const e=c.style,t=e[i];e[i]="hidden",k((()=>{e[i]=t}))}c[s]=e.M()+t,r&&u()})),o[1](!0)},Z(){n&&n.W(),o[1](!1),o=a()},te(e){l((()=>e))},re(t){t+=e.M(),l((()=>t))},ne(t,{align:r,smooth:n,offset:o=0}={}){if(t=c(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.q()+e.I(t)+("end"===r?e.k(t)-e.R():"center"===r?(e.k(t)-e.R())/2:0)),n)},oe:()=>{n&&n.j()}}})(h,u),[p,m]=t.createSignal(h.v()),x=h.H(1,(()=>{m(h.v())})),S=h.H(4,(()=>{var e;null===(e=n.onScroll)||void 0===e||e.call(n,h.M())})),$=h.H(8,(()=>{var e;null===(e=n.onScrollEnd)||void 0===e||e.call(n)})),w=t.createMemo((e=>{p();const t=h.m();return e&&q(e,t)?e:t})),b=t.createMemo((()=>p()&&h.O())),y=t.createMemo((()=>p()&&h.J()));t.onMount((()=>{n.ref&&n.ref({get cache(){return h.p()},get scrollOffset(){return h.M()},get scrollSize(){return(e=>o(e.J(),e.R()))(h)},get viewportSize(){return h.R()},findStartIndex:h.S,findEndIndex:h.$,getItemOffset:h.I,getItemSize:h.k,scrollToIndex:v.ne,scrollTo:v.te,scrollBy:v.re});const e=n.scrollRef||s.parentElement;g.K(e),v.ee(e),t.onCleanup((()=>{n.ref&&n.ref(),x(),S(),$(),g.Z(),v.Z()}))})),t.createComputed(t.on((()=>n.startMargin||0),(e=>{e!==h.q()&&h.L(6,e)}))),t.createEffect(t.on(p,(()=>{v.oe()})));const _=t.createMemo((()=>{const e=n.data.length;t.untrack((()=>{e!==h.T()&&h.L(5,[e,n.shift])}));const[r,o]=w(),s=[],i=[];if(n.keepMounted){const e=new Set(n.keepMounted);for(let t=r,n=o;t<=n;t++)e.add(t);l([...e]).forEach((e=>{s.push(n.data[e]),i.push(e)}))}else for(let e=r,t=o;e<=t;e++)s.push(n.data[e]),i.push(e);return{se:s,ie:i}}));return e.createComponent(e.Dynamic,{get component(){return n.as},ref(e){"function"==typeof s?s(e):s=e},get style(){return{contain:"size paint style","overflow-anchor":"none",overflow:"clip",flex:"none",position:"relative",width:u?y()+"px":"100%",height:u?"100%":y()+"px","pointer-events":b()?"none":void 0}},get children(){return e.createComponent(t.For,{get each(){return _().se},children:(r,o)=>((r,o)=>{const s=t.createMemo((()=>(p(),h.I(o())))),i=t.createMemo((()=>(p(),h._(o())))),c=t.createMemo((()=>t.untrack((()=>n.children(r,o)))));return e.createComponent(R,{get X(){return n.item},get D(){return o()},get Y(){return g.N},get A(){return s()},get F(){return i()},get G(){return c()},U:u})})(r,t.createMemo((()=>_().ie[o()])))})}})};var B=/*#__PURE__*/e.template("<div>"),H=/*#__PURE__*/e.template("<div style=overflow-anchor:none>");exports.VList=r=>{const[n,o]=t.splitProps(r,["ref","data","children","overscan","itemSize","shift","horizontal","keepMounted","cache","item","onScroll","onScrollEnd","style"]);return s=B(),e.spread(s,e.mergeProps(o,{get style(){return{display:n.horizontal?"inline-block":"block",[n.horizontal?"overflow-x":"overflow-y"]:"auto",contain:"strict",width:"100%",height:"100%",...n.style}}}),!1,!0),e.insert(s,e.createComponent(J,{ref(e){var t=n.ref;"function"==typeof t?t(e):n.ref=e},get data(){return n.data},get overscan(){return n.overscan},get itemSize(){return n.itemSize},get shift(){return n.shift},get horizontal(){return n.horizontal},get keepMounted(){return n.keepMounted},get cache(){return n.cache},get item(){return n.item},get onScroll(){return n.onScroll},get onScrollEnd(){return n.onScrollEnd},get children(){return n.children}})),s;var s},exports.Virtualizer=J,exports.WindowVirtualizer=n=>{let o;const{ref:s,data:i,children:l,overscan:u,itemSize:f,shift:d,horizontal:h=!1,cache:g,onScrollEnd:v}=n,p=I(n.data.length,f,u,void 0,g,!f),m=((e,t)=>{const n=t?"width":"height",o=t?"innerWidth":"innerHeight",s=new WeakMap,i=O((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 c;return{K(t){const r=b(w(t)),n=()=>{e.L(4,r[o])};r.addEventListener("resize",n),n(),c=()=>{r.removeEventListener("resize",n)}},N:(e,t)=>(s.set(e,t),i.C(e),()=>{s.delete(e),i.V(e)}),Z(){c&&c(),i.W()}}})(p,h),x=((e,t)=>{let r,n,o=a();const s=t?"left":"top",[i]=E(e,(()=>o[0]),((e,n)=>{e=T(e,t);const o=b(w(r));n?o.scroll({[s]:e,behavior:"smooth"}):o.scroll({[s]:e})})),l=(e,t,r,n,o=0)=>{const s=n?"offsetLeft":"offsetTop",i=o+(n&&y()?r.innerWidth-e[s]-e.offsetWidth:e[s]),c=e.offsetParent;return e!==t&&c?l(c,t,r,n,i):i};return{ee(i){r=i;const c=t?"scrollX":"scrollY",u=w(i),a=b(u);n=M(e,a,t,(()=>T(a[c],t)),(t=>{a.scroll({[s]:e.M()+t})}),(()=>l(i,u.body,a,t))),o[1](!0)},Z(){n&&n.W(),r=void 0,o[1](!1),o=a()},oe:()=>{n&&n.j()},ne(n,{align:o,smooth:s,offset:u=0}={}){if(!r)return;if(n=c(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 a=w(r),f=b(a),d=a.documentElement,h=()=>e.R()-(t?d.clientWidth:d.clientHeight);i((()=>u+l(r,a.body,f,t)+e.I(n)+("end"===o?e.k(n)-(e.R()-h()):"center"===o?(e.k(n)-(e.R()-h()))/2:0)),s)}}})(p,h),[S,$]=t.createSignal(p.v()),_=p.H(1,(()=>{$(p.v())})),z=p.H(4,(()=>{var e;null===(e=n.onScroll)||void 0===e||e.call(n)})),k=p.H(8,(()=>{var e;null===(e=n.onScrollEnd)||void 0===e||e.call(n)})),J=t.createMemo((e=>{S();const t=p.m();return e&&q(e,t)?e:t})),B=t.createMemo((()=>S()&&p.O())),L=t.createMemo((()=>S()&&p.J()));t.onMount((()=>{n.ref&&n.ref({get cache(){return p.p()},findStartIndex:p.S,findEndIndex:p.$,scrollToIndex:x.ne}),m.K(o),x.ee(o),t.onCleanup((()=>{n.ref&&n.ref(),_(),z(),k(),m.Z(),x.Z()}))})),t.createEffect(t.on(S,(()=>{x.oe()})));const P=t.createMemo((()=>{const e=n.data.length;t.untrack((()=>{e!==p.T()&&p.L(5,[e,n.shift])}));const[r,o]=J(),s=[];for(let e=r,t=o;e<=t;e++)s.push(n.data[e]);return s}));return W=H(),"function"==typeof(j=o)?e.use(j,W):o=W,e.setStyleProperty(W,"contain","size paint style"),e.setStyleProperty(W,"overflow","clip"),e.setStyleProperty(W,"flex","none"),e.setStyleProperty(W,"position","relative"),e.insert(W,e.createComponent(t.For,{get each(){return P()},children:(r,o)=>{const s=t.createMemo((()=>J()[0]+o())),i=t.createMemo((()=>(S(),p.I(s())))),c=t.createMemo((()=>(S(),p._(s())))),l=t.createMemo((()=>t.untrack((()=>n.children(r,s)))));return e.createComponent(R,{get D(){return s()},get Y(){return m.N},get A(){return i()},get F(){return c()},get G(){return l()},U:h})}})),e.effect((t=>{var r=h?L()+"px":"100%",n=h?"100%":L()+"px",o=B()?"none":void 0;return r!==t.e&&e.setStyleProperty(W,"width",t.e=r),n!==t.t&&e.setStyleProperty(W,"height",t.t=n),o!==t.a&&e.setStyleProperty(W,"pointer-events",t.a=o),t}),{e:void 0,t:void 0,a:void 0}),W;var W,j};
|
|
1
|
+
var e=require("solid-js/web"),t=require("solid-js");const r=null,{min:n,max:o,abs:s,floor:i}=Math,c=(e,t,r)=>n(r,o(t,e)),l=e=>[...e].sort(((e,t)=>e-t)),a="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},u=()=>{let e;return[new Promise((t=>{e=t})),e]},f=e=>{let t;return()=>(e&&(t=e(),e=void 0),t)},d=-1,h=(e,t,r)=>{const n=r?"unshift":"push";for(let r=0;r<t;r++)e[n](d);return e},g=(e,t)=>{const r=e.o[t];return r===d?e.i:r},v=(e,t,r)=>{const o=e.o[t]===d;return e.o[t]=r,e.l=n(t,e.l),o},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+=g(e,r),e.h[++r]=n;return e.l=t,n},m=(e,t,r=0,n=e.u-1)=>{for(;r<=n;){const o=i((r+n)/2),s=p(e,o);if(s<=t){if(s+g(e,o)>t)return o;r=o+1}else n=o-1}return c(r,0,e.u-1)},x=(e,t,r)=>{const o=t-e.u;return e.l=r?-1:n(t-1,e.l),e.u=t,o>0?(h(e.h,o),h(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===d?e.i:r)),0))},S="undefined"!=typeof window,$=()=>document.documentElement,w=e=>e.ownerDocument,b=e=>e.defaultView,y=/*#__PURE__*/f((()=>!!S&&"rtl"===getComputedStyle($()).direction)),_=/*#__PURE__*/f((()=>!!/iP(hone|od|ad)/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>0)),z=/*#__PURE__*/f((()=>"scrollBehavior"in $().style)),I=(e,t=40,i=4,c=0,a,u=!1)=>{let f=!!c,S=1,$=0,w=0,b=0,y=0,z=0,I=0,k=0,T=0,M=f?[0,o(c-1,0)]:r,E=[0,0],O=0;const R=((e,t,r)=>({i:r?r[1]:t,o:r&&r[0]?h(r[0].slice(0,n(e,r[0].length)),o(0,e-r[0].length)):h([],e),u:e,l:-1,h:h([],e)}))(e,t,a),q=new Set,J=()=>b-w,B=()=>J()+z+y,H=e=>((e,t,r,o)=>{if(o=n(o,e.u-1),p(e,o)<=t){const n=m(e,t+r,o);return[m(e,t,o,n),n]}{const n=m(e,t,void 0,o);return[n,m(e,t+r,n)]}})(R,e,$,E[0]),L=()=>(e=>e.u?p(e,e.u-1)+g(e,e.u-1):0)(R),P=e=>p(R,e)-z,W=e=>g(R,e),j=e=>{e&&(_()&&0!==k||M&&1===T?z+=e:y+=e)};return{v:()=>S,p:()=>(e=>[e.o.slice(),e.i])(R),m:()=>{let e,t;return I?[e,t]=E:([e,t]=E=H(o(0,B())),M&&(e=n(e,M[0]),t=o(t,M[1]))),1!==k&&(e-=o(0,i)),2!==k&&(t+=o(0,i)),[o(e,0),n(t,R.u-1)]},S:()=>m(R,B()),$:()=>m(R,B()+$),_:e=>R.o[e]===d,I:P,k:W,T:()=>R.u,M:()=>b,O:()=>0!==k,R:()=>$,q:()=>w,J:L,B:()=>(I=y,y=0,[I,2===T]),H:(e,t)=>{const r=[e,t];return q.add(r),()=>{q.delete(r)}},L:(e,t)=>{let n,i,c=0;switch(e){case 1:{const e=I;I=0;const n=t-b,o=s(n);e&&o<s(e)+1||0!==T||(k=n<0?2:1),f&&(M=r,f=!1),b=t,c=4;const l=J();l>=-$&&l<=L()&&(c+=1,i=o>$);break}case 2:c=8,0!==k&&(n=!0,c+=1),k=0,T=0,M=r;break;case 3:{const e=t.filter((([e,t])=>R.o[e]!==t));if(!e.length)break;j(e.reduce(((e,[t,r])=>((2===T||(M&&1===T?t<M[0]:P(t)+(0===k&&0===T?W(t):0)<J()))&&(e+=r-W(t)),e)),0));for(const[t,r]of e){const e=W(t),n=v(R,t,r);u&&(O+=n?r:r-e)}u&&$&&O>$&&(j(((e,t)=>{let r=0;const n=[];e.o.forEach(((e,o)=>{e!==d&&(n.push(e),o<t&&r++)})),e.l=-1;const s=l(n),i=s.length,c=i/2|0,a=i%2==0?(s[c-1]+s[c])/2:s[c],u=e.i;return((e.i=a)-u)*o(t-r,0)})(R,m(R,B()))),u=!1),c=3,i=!0;break}case 4:$!==t&&($=t,c=3);break;case 5:t[1]?(j(x(R,t[0],!0)),T=2,c=1):(x(R,t[0]),c=1);break;case 6:w=t;break;case 7:T=1;break;case 8:M=H(t),c=1}c&&(S=1+(2147483647&S),n&&z&&(y+=z,z=0),q.forEach((([e,t])=>{c&e&&t(i)})))}}},k=setTimeout,T=(e,t)=>t&&y()?-e:e,M=(e,t,n,o,s,i)=>{const c=Date.now;let l=0,a=!1,u=!1,f=!1,d=!1;const h=(()=>{let t;const n=()=>{t!=r&&clearTimeout(t)},o=()=>{n(),t=k((()=>{t=r,(()=>{if(a||u)return a=!1,void h();f=!1,e.L(2)})()}),150)};return o.P=n,o})(),g=()=>{l=c(),f&&(d=!0),i&&e.L(6,i()),e.L(1,o()),h()},v=t=>{if(a||!e.O()||t.ctrlKey)return;const r=c()-l;150>r&&50<r&&(n?t.deltaX:t.deltaY)&&(a=!0)},p=()=>{u=!0,f=d=!1},m=()=>{u=!1,_()&&(f=!0)};return t.addEventListener("scroll",g),t.addEventListener("wheel",v,{passive:!0}),t.addEventListener("touchstart",p,{passive:!0}),t.addEventListener("touchend",m,{passive:!0}),{W:()=>{t.removeEventListener("scroll",g),t.removeEventListener("wheel",v),t.removeEventListener("touchstart",p),t.removeEventListener("touchend",m),h.P()},j:()=>{const[t,r]=e.B();t&&(s(T(t,n),r,d),d=!1,r&&e.R()>e.J()&&e.L(1,o()))}}},E=(e,t,r)=>{let n;return[async(o,s)=>{if(!await t())return;n&&n();const i=()=>{const[t,r]=u();return n=()=>{r(!1)},e.R()&&k(n,150),[t,e.H(2,(()=>{r(!0)}))]};if(s&&z())e.L(8,o()),a((async()=>{for(;;){let t=!0;for(let[r,n]=e.m();r<=n;r++)if(e._(r)){t=!1;break}if(t)break;const[r,n]=i();try{if(!await r)return}finally{n()}}e.L(7),r(o(),s)}));else for(;;){const[t,n]=i();try{if(e.L(7),r(o()),!await t)return}finally{n()}}},()=>{n&&n()}]},O=e=>{let t;return{C(r){(t||(t=new(b(w(r)).ResizeObserver)(e))).observe(r)},V(e){t.unobserve(e)},W(){t&&t.disconnect()}}},R=r=>{let n;r=t.mergeProps({X:"div"},r),t.createEffect((()=>{n&&t.onCleanup(r.Y(n,r.D))}));const o=t.createMemo((()=>{const e=r.U,t={contain:"layout style",position:"absolute",[e?"height":"width"]:"100%",[e?"top":"left"]:"0px",[e?y()?"right":"left":"top"]:r.A+"px",visibility:r.F?"hidden":"visible"};return e&&(t.display="inline-flex"),t}));return e.createComponent(e.Dynamic,{get component(){return r.X},get index(){return r.D},ref(e){"function"==typeof n?n(e):n=e},get style(){return o()},get children(){return r.G}})},q=(e,t)=>e[0]===t[0]&&e[1]===t[1],J=n=>{let s;const{itemSize:i,horizontal:a=!1,overscan:f,cache:d}=n;n=t.mergeProps({as:"div"},n);const h=I(n.data.length,i,f,void 0,d,!i),g=((e,t)=>{let n;const o=t?"width":"height",s=new WeakMap,i=O((t=>{const i=[];for(const{target:c,contentRect:l}of t)if(c.offsetParent)if(c===n)e.L(4,l[o]);else{const e=s.get(c);e!=r&&i.push([e,l[o]])}i.length&&e.L(3,i)}));return{K(e){i.C(n=e)},N:(e,t)=>(s.set(e,t),i.C(e),()=>{s.delete(e),i.V(e)}),Z:i.W}})(h,a),v=((e,t)=>{let r,n,o=u();const s=t?"scrollLeft":"scrollTop",i=t?"overflowX":"overflowY",[l,a]=E(e,(()=>o[0]),((e,n)=>{e=T(e,t),n?r.scrollTo({[t?"left":"top"]:e,behavior:"smooth"}):r[s]=e}));return{ee(c){r=c,n=M(e,c,t,(()=>T(c[s],t)),((t,r,n)=>{if(n){const e=c.style,t=e[i];e[i]="hidden",k((()=>{e[i]=t}))}c[s]=e.M()+t,r&&a()})),o[1](!0)},Z(){n&&n.W(),o[1](!1),o=u()},te(e){l((()=>e))},re(t){t+=e.M(),l((()=>t))},ne(t,{align:r,smooth:n,offset:o=0}={}){if(t=c(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.q()+e.I(t)+("end"===r?e.k(t)-e.R():"center"===r?(e.k(t)-e.R())/2:0)),n)},oe:()=>{n&&n.j()}}})(h,a),[p,m]=t.createSignal(h.v()),x=h.H(1,(()=>{m(h.v())})),S=h.H(4,(()=>{var e;null===(e=n.onScroll)||void 0===e||e.call(n,h.M())})),$=h.H(8,(()=>{var e;null===(e=n.onScrollEnd)||void 0===e||e.call(n)})),w=t.createMemo((e=>{p();const t=h.m();return e&&q(e,t)?e:t})),b=t.createMemo((()=>p()&&h.O())),y=t.createMemo((()=>p()&&h.J()));t.onMount((()=>{n.ref&&n.ref({get cache(){return h.p()},get scrollOffset(){return h.M()},get scrollSize(){return(e=>o(e.J(),e.R()))(h)},get viewportSize(){return h.R()},findStartIndex:h.S,findEndIndex:h.$,getItemOffset:h.I,getItemSize:h.k,scrollToIndex:v.ne,scrollTo:v.te,scrollBy:v.re});const e=n.scrollRef||s.parentElement;g.K(e),v.ee(e),t.onCleanup((()=>{n.ref&&n.ref(),x(),S(),$(),g.Z(),v.Z()}))})),t.createComputed(t.on((()=>n.startMargin||0),(e=>{e!==h.q()&&h.L(6,e)}))),t.createEffect(t.on(p,(()=>{v.oe()})));const _=t.createMemo((()=>{const e=n.data.length;t.untrack((()=>{e!==h.T()&&h.L(5,[e,n.shift])}));const[r,o]=w(),s=[],i=[];if(n.keepMounted){const e=new Set(n.keepMounted);for(let t=r,n=o;t<=n;t++)e.add(t);l([...e]).forEach((e=>{s.push(n.data[e]),i.push(e)}))}else for(let e=r,t=o;e<=t;e++)s.push(n.data[e]),i.push(e);return{se:s,ie:i}}));return e.createComponent(e.Dynamic,{get component(){return n.as},ref(e){"function"==typeof s?s(e):s=e},get style(){return{contain:"size paint style","overflow-anchor":"none",overflow:"clip",flex:"none",position:"relative",width:a?y()+"px":"100%",height:a?"100%":y()+"px","pointer-events":b()?"none":void 0}},get children(){return e.createComponent(t.For,{get each(){return _().se},children:(r,o)=>((r,o)=>{const s=t.createMemo((()=>(p(),h.I(o())))),i=t.createMemo((()=>(p(),h._(o())))),c=t.createMemo((()=>t.untrack((()=>n.children(r,o)))));return e.createComponent(R,{get X(){return n.item},get D(){return o()},get Y(){return g.N},get A(){return s()},get F(){return i()},get G(){return c()},U:a})})(r,t.createMemo((()=>_().ie[o()])))})}})};var B=/*#__PURE__*/e.template("<div>"),H=/*#__PURE__*/e.template("<div style=overflow-anchor:none>");exports.VList=r=>{const[n,o]=t.splitProps(r,["ref","data","children","overscan","itemSize","shift","horizontal","keepMounted","cache","item","onScroll","onScrollEnd","style"]);return s=B(),e.spread(s,e.mergeProps(o,{get style(){return{display:n.horizontal?"inline-block":"block",[n.horizontal?"overflow-x":"overflow-y"]:"auto",contain:"strict",width:"100%",height:"100%",...n.style}}}),!1,!0),e.insert(s,e.createComponent(J,{ref(e){var t=n.ref;"function"==typeof t?t(e):n.ref=e},get data(){return n.data},get overscan(){return n.overscan},get itemSize(){return n.itemSize},get shift(){return n.shift},get horizontal(){return n.horizontal},get keepMounted(){return n.keepMounted},get cache(){return n.cache},get item(){return n.item},get onScroll(){return n.onScroll},get onScrollEnd(){return n.onScrollEnd},get children(){return n.children}})),s;var s},exports.Virtualizer=J,exports.WindowVirtualizer=n=>{let o;const{ref:s,data:i,children:l,overscan:a,itemSize:f,shift:d,horizontal:h=!1,cache:g,onScrollEnd:v}=n,p=I(n.data.length,f,a,void 0,g,!f),m=((e,t)=>{const n=t?"width":"height",o=t?"innerWidth":"innerHeight",s=new WeakMap,i=O((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 c;return{K(t){const r=b(w(t)),n=()=>{e.L(4,r[o])};r.addEventListener("resize",n),n(),c=()=>{r.removeEventListener("resize",n)}},N:(e,t)=>(s.set(e,t),i.C(e),()=>{s.delete(e),i.V(e)}),Z(){c&&c(),i.W()}}})(p,h),x=((e,t)=>{let r,n,o=u();const s=t?"left":"top",[i]=E(e,(()=>o[0]),((e,n)=>{e=T(e,t);const o=b(w(r));n?o.scroll({[s]:e,behavior:"smooth"}):o.scroll({[s]:e})})),l=(e,t,r,n,o=0)=>{const s=n?"offsetLeft":"offsetTop",i=o+(n&&y()?r.innerWidth-e[s]-e.offsetWidth:e[s]),c=e.offsetParent;return e!==t&&c?l(c,t,r,n,i):i};return{ee(i){r=i;const c=t?"scrollX":"scrollY",a=w(i),u=b(a);n=M(e,u,t,(()=>T(u[c],t)),(t=>{u.scroll({[s]:e.M()+t})}),(()=>l(i,a.body,u,t))),o[1](!0)},Z(){n&&n.W(),r=void 0,o[1](!1),o=u()},oe:()=>{n&&n.j()},ne(n,{align:o,smooth:s,offset:a=0}={}){if(!r)return;if(n=c(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=w(r),f=b(u),d=u.documentElement,h=()=>e.R()-(t?d.clientWidth:d.clientHeight);i((()=>a+l(r,u.body,f,t)+e.I(n)+("end"===o?e.k(n)-(e.R()-h()):"center"===o?(e.k(n)-(e.R()-h()))/2:0)),s)}}})(p,h),[S,$]=t.createSignal(p.v()),_=p.H(1,(()=>{$(p.v())})),z=p.H(4,(()=>{var e;null===(e=n.onScroll)||void 0===e||e.call(n)})),k=p.H(8,(()=>{var e;null===(e=n.onScrollEnd)||void 0===e||e.call(n)})),J=t.createMemo((e=>{S();const t=p.m();return e&&q(e,t)?e:t})),B=t.createMemo((()=>S()&&p.O())),L=t.createMemo((()=>S()&&p.J()));t.onMount((()=>{n.ref&&n.ref({get cache(){return p.p()},findStartIndex:p.S,findEndIndex:p.$,scrollToIndex:x.ne}),m.K(o),x.ee(o),t.onCleanup((()=>{n.ref&&n.ref(),_(),z(),k(),m.Z(),x.Z()}))})),t.createEffect(t.on(S,(()=>{x.oe()})));const P=t.createMemo((()=>{const e=n.data.length;t.untrack((()=>{e!==p.T()&&p.L(5,[e,n.shift])}));const[r,o]=J(),s=[];for(let e=r,t=o;e<=t;e++)s.push(n.data[e]);return s}));return W=H(),"function"==typeof(j=o)?e.use(j,W):o=W,e.setStyleProperty(W,"contain","size paint style"),e.setStyleProperty(W,"overflow","clip"),e.setStyleProperty(W,"flex","none"),e.setStyleProperty(W,"position","relative"),e.insert(W,e.createComponent(t.For,{get each(){return P()},children:(r,o)=>{const s=t.createMemo((()=>J()[0]+o())),i=t.createMemo((()=>(S(),p.I(s())))),c=t.createMemo((()=>(S(),p._(s())))),l=t.createMemo((()=>t.untrack((()=>n.children(r,s)))));return e.createComponent(R,{get D(){return s()},get Y(){return m.N},get A(){return i()},get F(){return c()},get G(){return l()},U:h})}})),e.effect((t=>{var r=h?L()+"px":"100%",n=h?"100%":L()+"px",o=B()?"none":void 0;return r!==t.e&&e.setStyleProperty(W,"width",t.e=r),n!==t.t&&e.setStyleProperty(W,"height",t.t=n),o!==t.a&&e.setStyleProperty(W,"pointer-events",t.a=o),t}),{e:void 0,t:void 0,a:void 0}),W;var W,j};
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|