virtua 0.47.2 → 0.48.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.cjs +1 -1
- package/lib/core/index.cjs.map +1 -1
- package/lib/core/index.d.ts +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 +0 -4
- 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 +67 -44
- package/lib/solid/index.jsx.map +1 -1
- package/lib/svelte/ListItem.svelte +2 -3
- package/lib/svelte/Virtualizer.svelte +25 -3
- package/lib/svelte/WindowVirtualizer.svelte +14 -3
- package/lib/svelte/utils.d.ts +0 -2
- package/lib/svelte/utils.js +1 -25
- package/lib/svelte/utils.js.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
|
@@ -10,10 +10,6 @@ export interface VListHandle extends VirtualizerHandle {
|
|
|
10
10
|
* Props of {@link VList}.
|
|
11
11
|
*/
|
|
12
12
|
export interface VListProps<T = unknown> extends Pick<VirtualizerProps<T>, "children" | "data" | "bufferSize" | "itemSize" | "shift" | "horizontal" | "cache" | "ssrCount" | "item" | "onScroll" | "onScrollEnd" | "keepMounted">, ViewportComponentAttributes {
|
|
13
|
-
/**
|
|
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
|
-
*/
|
|
16
|
-
reverse?: boolean;
|
|
17
13
|
}
|
|
18
14
|
/**
|
|
19
15
|
* Virtualized list component. See {@link VListProps} and {@link VListHandle}.
|
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)},f=()=>{let e;return[new Promise((t=>{e=t})),e]},a=e=>{let t;return()=>(e&&(t=e(),e=void 0),t)},d=(e,t,r)=>{const n=r?"unshift":"push";for(let r=0;r<t;r++)e[n](-1);return e},h=(e,t)=>{const r=e.o[t];return-1===r?e.i:r},g=(e,t,r)=>{const o=-1===e.o[t];return e.o[t]=r,e.l=n(t,e.l),o},v=(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)=>{let o=r;for(;r<=n;){const s=i((r+n)/2);v(e,s)<=t?(o=s,r=s+1):n=s-1}return c(o,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-(-1===r?e.i:r)),0))},S="undefined"!=typeof window,$=()=>document.documentElement,b=e=>e.ownerDocument,w=e=>e.defaultView,x=/*#__PURE__*/a((()=>!!S&&"rtl"===getComputedStyle($()).direction)),z=/*#__PURE__*/a((()=>!!/iP(hone|od|ad)/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>0)),y=/*#__PURE__*/a((()=>"scrollBehavior"in $().style)),_=(e,t=40,i=0,c,u=!1)=>{let f=!!i,a=1,S=0,$=0,b=0,w=0,x=0,y=0,_=0,I=0,k=r,T=[0,f?o(i-1,0):-1],M=0,O=!1;const R=((e,t,r)=>({i:t,o:r?d(r.slice(0,n(e,r.length)),o(0,e-r.length)):d([],e),u:e,l:-1,h:d([],e+1)}))(e,c?c[1]:t,c&&c[0]),q=new Set,J=()=>b-$,B=()=>J()+x+w,E=(e,t)=>((e,t,r,o)=>{if(o=n(o,e.u-1),v(e,o)<=t){const n=p(e,r,o);return[p(e,t,o,n),n]}{const n=p(e,t,void 0,o);return[n,p(e,r,n)]}})(R,e,t,T[0]),H=()=>v(R,R.u),L=e=>v(R,e)-x,P=e=>h(R,e),W=(e,t=-1)=>R.o[e]===t,j=e=>{e&&(z()&&0!==_||k&&1===I?x+=e:w+=e)};return{v:()=>{q.clear()},p:()=>a,m:()=>(e=>[e.o.slice(),e.i])(R),S:(e=200)=>{if(!O||f)return T;let t,r;if(y)[t,r]=T;else{let s=o(0,B()),i=s+S;u||(e=o(0,e),1!==_&&(s-=e),2!==_&&(i+=e)),[t,r]=T=E(o(0,s),o(0,i)),k&&(t=n(t,k[0]),r=o(r,k[1]))}return[o(t,0),n(r,R.u-1)]},$:e=>p(R,e-$),_:W,I:L,k:P,T:()=>R.u,M:()=>b,O:()=>0!==_,R:()=>S,q:()=>$,J:H,B:()=>(y=w,w=0,[y,2===I]),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:{if(t===b&&0===I)break;const e=y;y=0;const r=t-b,n=s(r);e&&n<s(e)+1||0!==I||(_=r<0?2:1),f&&(f=!1),b=t,c=4;const o=J();o>=-S&&o<=H()&&(c+=1,i=n>S);break}case 2:c=8,0!==_&&(n=!0,c+=1),_=0,I=0,k=r;break;case 3:{const e=t.filter((([e,t])=>!W(e,t)));if(!e.length)break;j(e.reduce(((e,[t,r])=>((2===I||(k&&1===I?t<k[0]:L(t+(0===_&&0===I?1:0))<J()))&&(e+=r-P(t)),e)),0));for(const[t,r]of e){const e=P(t),n=g(R,t,r);u&&(M+=n?r:r-e)}u&&S&&M>S&&(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 s=l(n),i=s.length,c=i/2|0,u=i%2==0?(s[c-1]+s[c])/2:s[c],f=e.i;return((e.i=u)-f)*o(t-r,0)})(R,p(R,B()))),u=!1),c=3,i=!0;break}case 4:S!==t&&(S||(O=i=!0),S=t,c=3);break;case 5:t[1]?(j(m(R,t[0],!0)),I=2,c=1):(m(R,t[0]),c=1);break;case 6:$=t;break;case 7:I=1;break;case 8:k=E(t,t+S),c=1}c&&(a=1+(2147483647&a),n&&x&&(w+=x,x=0),q.forEach((([e,t])=>{c&e&&t(i)})))}}},I=setTimeout,k=(e,t)=>t&&x()?-e:e,T=(e,t,n,o,s,i)=>{const c=Date.now;let l=0,u=!1,f=!1,a=!1,d=!1;const h=(()=>{let t;const n=()=>{t!=r&&clearTimeout(t)},o=()=>{n(),t=I((()=>{t=r,(()=>{if(u||f)return u=!1,void h();a=!1,e.L(2)})()}),150)};return o.P=n,o})(),g=()=>{l=c(),a&&(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=()=>{f=!0,a=d=!1},m=()=>{f=!1,z()&&(a=!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,r,d),d=!1,r&&e.R()>e.J()&&e.L(1,o()))}}},M=(e,t,r)=>{let n;return[async(o,s)=>{if(!await t())return;n&&n();const i=()=>{const[t,r]=f();return n=()=>{r(!1)},e.R()&&I(n,150),[t,e.H(2,(()=>{r(!0)}))]};if(s&&y())e.L(8,o()),u((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.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(w(b(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?x()?"right":"left":"top"]:r.A+"px",visibility:r.F?"hidden":void 0};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,cache:a}=n;n=t.mergeProps({as:"div"},n);const d=_(n.data.length,i,void 0,a,!i),h=((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)}),v:i.W}})(d,u),g=((e,t)=>{let r,n,o=f();const s=t?"scrollLeft":"scrollTop",i=t?"overflowX":"overflowY",[l,u]=M(e,(()=>o[0]),((e,n)=>{e=k(e,t),n?r.scrollTo({[t?"left":"top"]:e,behavior:"smooth"}):r[s]=e}));return{Z(c){r=c,n=T(e,c,t,(()=>k(c[s],t)),((r,n,o)=>{if(o){const e=c.style,t=e[i];e[i]="hidden",I((()=>{e[i]=t}))}c[s]=k(e.M()+r,t),n&&u()})),o[1](!0)},v(){n&&n.W(),o[1](!1),o=f()},ee(e){l((()=>e))},te(t){t+=e.M(),l((()=>t))},re(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)},ne:()=>{n&&n.j()}}})(d,u),[v,p]=t.createSignal(d.p());d.H(1,(()=>{p(d.p())})),d.H(4,(()=>{var e;null===(e=n.onScroll)||void 0===e||e.call(n,d.M())})),d.H(8,(()=>{var e;null===(e=n.onScrollEnd)||void 0===e||e.call(n)}));const m=t.createMemo((e=>{v();const t=d.S(n.bufferSize);return e&&q(e,t)?e:t})),S=t.createMemo((()=>v()&&d.O())),$=t.createMemo((()=>v()&&d.J()));t.onMount((()=>{n.ref&&n.ref({get cache(){return d.m()},get scrollOffset(){return d.M()},get scrollSize(){return(e=>o(e.J(),e.R()))(d)},get viewportSize(){return d.R()},findItemIndex:d.$,getItemOffset:d.I,getItemSize:d.k,scrollToIndex:g.re,scrollTo:g.ee,scrollBy:g.te});const e=n.scrollRef||s.parentElement;h.K(e),g.Z(e),t.onCleanup((()=>{n.ref&&n.ref(),d.v(),h.v(),g.v()}))})),t.createComputed(t.on((()=>n.startMargin||0),(e=>{e!==d.q()&&d.L(6,e)}))),t.createEffect(t.on(v,(()=>{g.ne()})));const b=t.createMemo((()=>{const e=n.data.length;t.untrack((()=>{e!==d.T()&&d.L(5,[e,n.shift])}));const r=[],o=[];if(n.keepMounted){const e=new Set(n.keepMounted);for(let[t,r]=m();t<=r;t++)e.add(t);l([...e]).forEach((e=>{r.push(n.data[e]),o.push(e)}))}else for(let[e,t]=m();e<=t;e++)r.push(n.data[e]),o.push(e);return{oe:r,se:o}}));return e.createComponent(e.Dynamic,{get component(){return n.as},ref(e){"function"==typeof s?s(e):s=e},get style(){return{contain:"size style","overflow-anchor":"none",flex:"none",position:"relative",width:u?$()+"px":"100%",height:u?"100%":$()+"px","pointer-events":S()?"none":void 0}},get children(){return e.createComponent(t.For,{get each(){return b().oe},children:(r,o)=>((r,o)=>{const s=t.createMemo((()=>(v(),d.I(o())))),i=t.createMemo((()=>(v(),d._(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 h.N},get A(){return s()},get F(){return i()},get G(){return c()},U:u})})(r,t.createMemo((()=>b().se[o()])))})}})};var B=/*#__PURE__*/e.template("<div>"),E=/*#__PURE__*/e.template("<div style=overflow-anchor:none>");exports.VList=r=>{const[n,o]=t.splitProps(r,["ref","data","children","bufferSize","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 bufferSize(){return n.bufferSize},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,itemSize:a,shift:d,horizontal:h=!1,cache:g,onScrollEnd:v}=n,p=_(n.data.length,a,void 0,g,!a),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=w(b(t)),n=()=>{e.L(4,r[o])};r.addEventListener("resize",n),u(n),c=()=>{r.removeEventListener("resize",n)}},N:(e,t)=>(s.set(e,t),i.C(e),()=>{s.delete(e),i.V(e)}),v(){c&&c(),i.W()}}})(p,h),S=((e,t)=>{let r,n,o=f();const s=t?"left":"top",[i]=M(e,(()=>o[0]),((e,n)=>{e=k(e,t);const o=w(b(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&&x()?r.innerWidth-e[s]-e.offsetWidth:e[s]),c=e.offsetParent;return e!==t&&c?l(c,t,r,n,i):i};return{Z(i){r=i;const c=t?"scrollX":"scrollY",u=b(i),f=w(u);n=T(e,f,t,(()=>k(f[c],t)),((r,n)=>{n?f.scroll({[s]:k(e.M()+r,t)}):f.scrollBy({[s]:k(r,t)})}),(()=>l(i,u.body,f,t))),o[1](!0)},v(){n&&n.W(),r=void 0,o[1](!1),o=f()},ne:()=>{n&&n.j()},re(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 f=b(r),a=w(f),d=f.documentElement,h=()=>e.R()-(t?d.clientWidth:d.clientHeight);i((()=>u+l(r,f.body,a,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),[$,z]=t.createSignal(p.p());p.H(1,(()=>{z(p.p())})),p.H(4,(()=>{var e;null===(e=n.onScroll)||void 0===e||e.call(n)})),p.H(8,(()=>{var e;null===(e=n.onScrollEnd)||void 0===e||e.call(n)}));const y=t.createMemo((e=>{$();const t=p.S(n.bufferSize);return e&&q(e,t)?e:t})),I=t.createMemo((()=>$()&&p.O())),J=t.createMemo((()=>$()&&p.J()));t.onMount((()=>{n.ref&&n.ref({get cache(){return p.m()},get scrollOffset(){return p.M()},get viewportSize(){return p.R()},findItemIndex:p.$,getItemOffset:p.I,getItemSize:p.k,scrollToIndex:S.re}),m.K(o),S.Z(o),t.onCleanup((()=>{n.ref&&n.ref(),p.v(),m.v(),S.v()}))})),t.createEffect(t.on($,(()=>{S.ne()})));const B=t.createMemo((()=>{const e=n.data.length;t.untrack((()=>{e!==p.T()&&p.L(5,[e,n.shift])}));const r=[];for(let[e,t]=y();e<=t;e++)r.push(n.data[e]);return r}));return H=E(),"function"==typeof(L=o)?e.use(L,H):o=H,e.setStyleProperty(H,"contain","size style"),e.setStyleProperty(H,"flex","none"),e.setStyleProperty(H,"position","relative"),e.insert(H,e.createComponent(t.For,{get each(){return B()},children:(r,o)=>{const s=t.createMemo((()=>y()[0]+o())),i=t.createMemo((()=>($(),p.I(s())))),c=t.createMemo((()=>($(),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?J()+"px":"100%",n=h?"100%":J()+"px",o=I()?"none":void 0;return r!==t.e&&e.setStyleProperty(H,"width",t.e=r),n!==t.t&&e.setStyleProperty(H,"height",t.t=n),o!==t.a&&e.setStyleProperty(H,"pointer-events",t.a=o),t}),{e:void 0,t:void 0,a:void 0}),H;var H,L};
|
|
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=(e,t,r)=>{const n=r?"unshift":"push";for(let r=0;r<t;r++)e[n](-1);return e},h=(e,t)=>{const r=e.o[t];return-1===r?e.i:r},g=(e,t,r)=>{const o=-1===e.o[t];return e.o[t]=r,e.l=n(t,e.l),o},v=(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)=>{let o=r;for(;r<=n;){const s=i((r+n)/2);v(e,s)<=t?(o=s,r=s+1):n=s-1}return c(o,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-(-1===r?e.i:r)),0))},$=e=>e.documentElement,S=e=>e.ownerDocument,b=e=>e.defaultView,x=/*#__PURE__*/f((()=>!!/iP(hone|od|ad)/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>0)),w=/*#__PURE__*/f((()=>"scrollBehavior"in $(document).style)),z=(e,t=40,i=0,c,u=!1)=>{let a=!!i,f=1,$=0,S=0,b=0,w=0,z=0,y=0,_=0,I=0,k=r,T=[0,a?o(i-1,0):-1],M=0,O=!1;const R=((e,t,r)=>({i:t,o:r?d(r.slice(0,n(e,r.length)),o(0,e-r.length)):d([],e),u:e,l:-1,h:d([],e+1)}))(e,c?c[1]:t,c&&c[0]),q=new Set,J=()=>b-S,B=()=>J()+z+w,E=(e,t)=>((e,t,r,o)=>{if(o=n(o,e.u-1),v(e,o)<=t){const n=p(e,r,o);return[p(e,t,o,n),n]}{const n=p(e,t,void 0,o);return[n,p(e,r,n)]}})(R,e,t,T[0]),H=()=>v(R,R.u),L=(e,t)=>{const r=v(R,e)-z;return t?H()-r-P(e):r},P=e=>h(R,e),W=(e,t=-1)=>R.o[e]===t,j=e=>{e&&(x()&&0!==_||k&&1===I?z+=e:w+=e)};return{v:()=>{q.clear()},p:()=>f,m:()=>(e=>[e.o.slice(),e.i])(R),$:(e=200)=>{if(!O||a)return T;let t,r;if(y)[t,r]=T;else{let s=o(0,B()),i=s+$;u||(e=o(0,e),1!==_&&(s-=e),2!==_&&(i+=e)),[t,r]=T=E(o(0,s),o(0,i)),k&&(t=n(t,k[0]),r=o(r,k[1]))}return[o(t,0),n(r,R.u-1)]},S:e=>p(R,e-S),_:W,I:L,k:P,T:()=>R.u,M:()=>b,O:()=>0!==_,R:()=>$,q:()=>S,J:H,B:()=>(y=w,w=0,[y,2===I]),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:{if(t===b&&0===I)break;const e=y;y=0;const r=t-b,n=s(r);e&&n<s(e)+1||0!==I||(_=r<0?2:1),a&&(a=!1),b=t,c=4;const o=J();o>=-$&&o<=H()&&(c+=1,i=n>$);break}case 2:c=8,0!==_&&(n=!0,c+=1),_=0,I=0,k=r;break;case 3:{const e=t.filter((([e,t])=>!W(e,t)));if(!e.length)break;j(e.reduce(((e,[t,r])=>((2===I||(k&&1===I?t<k[0]:L(t+(0===_&&0===I?1:0))<J()))&&(e+=r-P(t)),e)),0));for(const[t,r]of e){const e=P(t),n=g(R,t,r);u&&(M+=n?r:r-e)}u&&$&&M>$&&(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 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,p(R,B()))),u=!1),c=3,i=!0;break}case 4:$!==t&&($||(O=i=!0),$=t,c=3);break;case 5:t[1]?(j(m(R,t[0],!0)),I=2,c=1):(m(R,t[0]),c=1);break;case 6:S=t;break;case 7:I=1;break;case 8:k=E(t,t+$),c=1}c&&(f=1+(2147483647&f),n&&z&&(w+=z,z=0),q.forEach((([e,t])=>{c&e&&t(i)})))}}},y=setTimeout,_=(e,t)=>t?-e:e,I=(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=y((()=>{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,x()&&(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,r,d),d=!1,r&&e.R()>e.J()&&e.L(1,o()))}}},k=(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()&&y(n,150),[t,e.H(2,(()=>{r(!0)}))]};if(s&&w())e.L(8,o()),u((async()=>{for(;;){let t=!0;for(let[r,n]=e.$();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()}]},T=e=>{let t;return{C(r){(t||(t=new(b(S(r)).ResizeObserver)(e))).observe(r)},N(e){t.unobserve(e)},W(){t&&t.disconnect()}}},M=r=>{let n;r=t.mergeProps({V:"div"},r),t.createEffect((()=>{n&&t.onCleanup(r.X(n,r.Y))}));const o=t.createMemo((()=>{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.createComponent(e.Dynamic,{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}})},O=(e,t)=>e[0]===t[0]&&e[1]===t[1],R=n=>{let s;const{itemSize:i,horizontal:u=!1,cache:f}=n;n=t.mergeProps({as:"div"},n);const d=z(n.data.length,i,void 0,f,!i),h=((e,t)=>{let n;const o=t?"width":"height",s=new WeakMap,i=T((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{G(e){i.C(n=e)},K:(e,t)=>(s.set(e,t),i.C(e),()=>{s.delete(e),i.N(e)}),v:i.W}})(d,u),g=((e,t)=>{let r,n,o=a(),s=!1;const i=t?"scrollLeft":"scrollTop",l=t?"overflowX":"overflowY",[u,f]=k(e,(()=>o[0]),((e,n)=>{e=_(e,s),n?r.scrollTo({[t?"left":"top"]:e,behavior:"smooth"}):r[i]=e}));return{Z(c){r=c;const u=e.H(2,(()=>{const r=e.R();if(r){const e=c[i],n=S(c).createElement("div");n.style.cssText=`visibility:hidden;min-${t?"width":"height"}:${r+1}px`,c.appendChild(n),c[i]=1,s=c[i]<1,c.removeChild(n),c[i]=e,u()}}));n=I(e,c,t,(()=>_(c[i],s)),((t,r,n)=>{if(n){const e=c.style,t=e[l];e[l]="hidden",y((()=>{e[l]=t}))}c[i]=_(e.M()+t,s),r&&f()})),o[1](!0)},v(){n&&n.W(),o[1](!1),o=a()},ee:()=>s,te(e){u((()=>e))},re(t){t+=e.M(),u((()=>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"}}u((()=>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()}}})(d,u),[v,p]=t.createSignal(d.p());d.H(1,(()=>{p(d.p())})),d.H(4,(()=>{var e;null===(e=n.onScroll)||void 0===e||e.call(n,d.M())})),d.H(8,(()=>{var e;null===(e=n.onScrollEnd)||void 0===e||e.call(n)}));const m=t.createMemo((e=>{v();const t=d.$(n.bufferSize);return e&&O(e,t)?e:t})),$=t.createMemo((()=>v()&&d.O())),b=t.createMemo((()=>v()&&d.J())),x=t.createMemo((()=>v()&&g.ee()));t.onMount((()=>{n.ref&&n.ref({get cache(){return d.m()},get scrollOffset(){return d.M()},get scrollSize(){return(e=>o(e.J(),e.R()))(d)},get viewportSize(){return d.R()},findItemIndex:d.S,getItemOffset:d.I,getItemSize:d.k,scrollToIndex:g.ne,scrollTo:g.te,scrollBy:g.re});const e=n.scrollRef||s.parentElement;h.G(e),g.Z(e),t.onCleanup((()=>{n.ref&&n.ref(),d.v(),h.v(),g.v()}))})),t.createComputed(t.on((()=>n.startMargin||0),(e=>{e!==d.q()&&d.L(6,e)}))),t.createEffect(t.on(v,(()=>{g.oe()})));const w=t.createMemo((()=>{const e=n.data.length;t.untrack((()=>{e!==d.T()&&d.L(5,[e,n.shift])}));const r=!u&&x()?"unshift":"push",o=[],s=[];if(n.keepMounted){const e=new Set(n.keepMounted);for(let[t,r]=m();t<=r;t++)e.add(t);l([...e]).forEach((e=>{o[r](n.data[e]),s[r](e)}))}else for(let[e,t]=m();e<=t;e++)o[r](n.data[e]),s[r](e);return{se:o,ie:s}}));return e.createComponent(e.Dynamic,{get component(){return n.as},ref(e){"function"==typeof s?s(e):s=e},get style(){return{contain:"size style","overflow-anchor":"none",flex:"none",position:"relative",width:u?b()+"px":"100%",height:u?"100%":b()+"px","pointer-events":$()?"none":void 0}},get children(){return e.createComponent(t.For,{get each(){return w().se},children:(r,o)=>((r,o)=>{const s=t.createMemo((()=>(v(),d.I(o(),x())))),i=t.createMemo((()=>(v(),d._(o())))),c=t.createMemo((()=>t.untrack((()=>n.children(r,o)))));return e.createComponent(M,{get V(){return n.item},get Y(){return o()},get X(){return h.K},get U(){return s()},get A(){return i()},get F(){return c()},D:u})})(r,t.createMemo((()=>w().ie[o()])))})}})};var q=/*#__PURE__*/e.template("<div>"),J=/*#__PURE__*/e.template("<div style=overflow-anchor:none>");exports.VList=r=>{const[n,o]=t.splitProps(r,["ref","data","children","bufferSize","itemSize","shift","horizontal","keepMounted","cache","item","onScroll","onScrollEnd","style"]);return s=q(),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(R,{ref(e){var t=n.ref;"function"==typeof t?t(e):n.ref=e},get data(){return n.data},get bufferSize(){return n.bufferSize},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=R,exports.WindowVirtualizer=n=>{let o;const{ref:s,data:i,children:l,itemSize:f,shift:d,horizontal:h=!1,cache:g,onScrollEnd:v}=n,p=z(n.data.length,f,void 0,g,!f),m=((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.L(3,o)}));let c;return{G(t){const r=b(S(t)),n=()=>{e.L(4,r[o])};r.addEventListener("resize",n),u(n),c=()=>{r.removeEventListener("resize",n)}},K:(e,t)=>(s.set(e,t),i.C(e),()=>{s.delete(e),i.N(e)}),v(){c&&c(),i.W()}}})(p,h),x=((e,t)=>{let r,n,o=a(),s=!1;const i=t?"left":"top",[l]=k(e,(()=>o[0]),((e,t)=>{e=_(e,s);const n=b(S(r));t?n.scroll({[i]:e,behavior:"smooth"}):n.scroll({[i]:e})})),u=(e,t,r,n,o=0)=>{const i=n?"offsetLeft":"offsetTop",c=o+(n&&s?r.innerWidth-e[i]-e.offsetWidth:e[i]),l=e.offsetParent;return e!==t&&l?u(l,t,r,n,c):c};return{Z(c){r=c;const l=t?"scrollX":"scrollY",a=S(c),f=b(a);t&&(s="rtl"===getComputedStyle($(a)).direction),n=I(e,f,t,(()=>_(f[l],s)),((t,r)=>{r?f.scroll({[i]:_(e.M()+t,s)}):f.scrollBy({[i]:_(t,s)})}),(()=>u(c,a.body,f,t))),o[1](!0)},v(){n&&n.W(),r=void 0,o[1](!1),o=a()},ee:()=>s,oe:()=>{n&&n.j()},ne(n,{align:o,smooth:s,offset:i=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=S(r),f=b(a),d=$(a),h=()=>e.R()-(t?d.clientWidth:d.clientHeight);l((()=>i+u(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),[w,y]=t.createSignal(p.p());p.H(1,(()=>{y(p.p())})),p.H(4,(()=>{var e;null===(e=n.onScroll)||void 0===e||e.call(n)})),p.H(8,(()=>{var e;null===(e=n.onScrollEnd)||void 0===e||e.call(n)}));const R=t.createMemo((e=>{w();const t=p.$(n.bufferSize);return e&&O(e,t)?e:t})),q=t.createMemo((()=>w()&&p.O())),B=t.createMemo((()=>w()&&p.J())),E=t.createMemo((()=>w()&&x.ee()));t.onMount((()=>{n.ref&&n.ref({get cache(){return p.m()},get scrollOffset(){return p.M()},get viewportSize(){return p.R()},findItemIndex:p.S,getItemOffset:p.I,getItemSize:p.k,scrollToIndex:x.ne}),m.G(o),x.Z(o),t.onCleanup((()=>{n.ref&&n.ref(),p.v(),m.v(),x.v()}))})),t.createEffect(t.on(w,(()=>{x.oe()})));const H=t.createMemo((()=>{const e=n.data.length;t.untrack((()=>{e!==p.T()&&p.L(5,[e,n.shift])}));const r=!h&&E()?"unshift":"push",o=[];for(let[e,t]=R();e<=t;e++)o[r](n.data[e]);return o}));return L=J(),"function"==typeof(P=o)?e.use(P,L):o=L,e.setStyleProperty(L,"contain","size style"),e.setStyleProperty(L,"flex","none"),e.setStyleProperty(L,"position","relative"),e.insert(L,e.createComponent(t.For,{get each(){return H()},children:(r,o)=>{const s=t.createMemo((()=>R()[0]+o())),i=t.createMemo((()=>(w(),p.I(s(),E())))),c=t.createMemo((()=>(w(),p._(s())))),l=t.createMemo((()=>t.untrack((()=>n.children(r,s)))));return e.createComponent(M,{get Y(){return s()},get X(){return m.K},get U(){return i()},get A(){return c()},get F(){return l()},D:h})}})),e.effect((t=>{var r=h?B()+"px":"100%",n=h?"100%":B()+"px",o=q()?"none":void 0;return r!==t.e&&e.setStyleProperty(L,"width",t.e=r),n!==t.t&&e.setStyleProperty(L,"height",t.t=n),o!==t.a&&e.setStyleProperty(L,"pointer-events",t.a=o),t}),{e:void 0,t:void 0,a:void 0}),L;var L,P};
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|