virtua 0.45.3 → 0.46.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/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/VGrid.d.ts +3 -3
- package/lib/react/VList.d.ts +1 -1
- package/lib/react/Virtualizer.d.ts +4 -4
- package/lib/react/WindowVirtualizer.d.ts +4 -4
- package/lib/solid/VList.d.ts +1 -1
- package/lib/solid/Virtualizer.d.ts +3 -3
- package/lib/solid/WindowVirtualizer.d.ts +3 -3
- 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 +53 -37
- package/lib/solid/index.jsx.map +1 -1
- package/lib/svelte/VList.svelte +2 -2
- package/lib/svelte/VList.type.d.ts +1 -1
- package/lib/svelte/Virtualizer.svelte +2 -3
- package/lib/svelte/Virtualizer.type.d.ts +3 -3
- package/lib/svelte/WindowVirtualizer.svelte +2 -3
- package/lib/svelte/WindowVirtualizer.type.d.ts +3 -3
- package/lib/vue/VList.d.ts +8 -8
- package/lib/vue/Virtualizer.d.ts +8 -8
- package/lib/vue/WindowVirtualizer.d.ts +6 -6
- 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/VGrid.d.ts
CHANGED
|
@@ -122,10 +122,10 @@ export interface VGridProps extends ViewportComponentAttributes {
|
|
|
122
122
|
*/
|
|
123
123
|
cellWidth?: number;
|
|
124
124
|
/**
|
|
125
|
-
*
|
|
126
|
-
* @defaultValue
|
|
125
|
+
* Extra item space in pixels to render before/after the viewport. The minimum value is 0. Lower value will give better performance but you can increase to avoid showing blank items in fast scrolling.
|
|
126
|
+
* @defaultValue 200
|
|
127
127
|
*/
|
|
128
|
-
|
|
128
|
+
bufferSize?: number;
|
|
129
129
|
/**
|
|
130
130
|
* If set, the specified amount of rows will be mounted in the initial rendering regardless of the container size. This prop is mostly for SSR.
|
|
131
131
|
*/
|
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 = unknown> extends Pick<VirtualizerProps<T>, "children" | "data" | "
|
|
12
|
+
export interface VListProps<T = unknown> extends Pick<VirtualizerProps<T>, "children" | "data" | "bufferSize" | "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
|
*/
|
|
@@ -71,10 +71,10 @@ export interface VirtualizerProps<T = unknown> {
|
|
|
71
71
|
*/
|
|
72
72
|
data?: ArrayLike<T>;
|
|
73
73
|
/**
|
|
74
|
-
*
|
|
75
|
-
* @defaultValue
|
|
74
|
+
* Extra item space in pixels to render before/after the viewport. The minimum value is 0. Lower value will give better performance but you can increase to avoid showing blank items in fast scrolling.
|
|
75
|
+
* @defaultValue 200
|
|
76
76
|
*/
|
|
77
|
-
|
|
77
|
+
bufferSize?: number;
|
|
78
78
|
/**
|
|
79
79
|
* Item size hint for unmeasured items in pixels. It will help to reduce scroll jump when items are measured if used properly.
|
|
80
80
|
*
|
|
@@ -105,7 +105,7 @@ export interface VirtualizerProps<T = unknown> {
|
|
|
105
105
|
*/
|
|
106
106
|
startMargin?: number;
|
|
107
107
|
/**
|
|
108
|
-
* A prop for SSR. If set, the specified amount of items will be mounted in the initial rendering regardless of the container size until hydrated.
|
|
108
|
+
* A prop for SSR. If set, the specified amount of items will be mounted in the initial rendering regardless of the container size until hydrated. The minimum value is 0.
|
|
109
109
|
*/
|
|
110
110
|
ssrCount?: number;
|
|
111
111
|
/**
|
|
@@ -39,10 +39,10 @@ export interface WindowVirtualizerProps<T = unknown> {
|
|
|
39
39
|
*/
|
|
40
40
|
data?: ArrayLike<T>;
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
43
|
-
* @defaultValue
|
|
42
|
+
* Extra item space in pixels to render before/after the viewport. The minimum value is 0. Lower value will give better performance but you can increase to avoid showing blank items in fast scrolling.
|
|
43
|
+
* @defaultValue 200
|
|
44
44
|
*/
|
|
45
|
-
|
|
45
|
+
bufferSize?: number;
|
|
46
46
|
/**
|
|
47
47
|
* Item size hint for unmeasured items in pixels. It will help to reduce scroll jump when items are measured if used properly.
|
|
48
48
|
*
|
|
@@ -65,7 +65,7 @@ export interface WindowVirtualizerProps<T = unknown> {
|
|
|
65
65
|
*/
|
|
66
66
|
cache?: CacheSnapshot;
|
|
67
67
|
/**
|
|
68
|
-
* A prop for SSR. If set, the specified amount of items will be mounted in the initial rendering regardless of the container size until hydrated.
|
|
68
|
+
* A prop for SSR. If set, the specified amount of items will be mounted in the initial rendering regardless of the container size until hydrated. The minimum value is 0.
|
|
69
69
|
*/
|
|
70
70
|
ssrCount?: number;
|
|
71
71
|
/**
|
package/lib/solid/VList.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export interface VListHandle extends VirtualizerHandle {
|
|
|
12
12
|
/**
|
|
13
13
|
* Props of {@link VList}.
|
|
14
14
|
*/
|
|
15
|
-
export interface VListProps<T> extends Pick<VirtualizerProps<T>, "ref" | "data" | "children" | "
|
|
15
|
+
export interface VListProps<T> extends Pick<VirtualizerProps<T>, "ref" | "data" | "children" | "bufferSize" | "itemSize" | "shift" | "horizontal" | "cache" | "item" | "onScroll" | "onScrollEnd" | "keepMounted">, ViewportComponentAttributes {
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
18
|
* Virtualized list component. See {@link VListProps} and {@link VListHandle}.
|
|
@@ -75,10 +75,10 @@ export interface VirtualizerProps<T> {
|
|
|
75
75
|
*/
|
|
76
76
|
children: (data: T, index: Accessor<number>) => JSX.Element;
|
|
77
77
|
/**
|
|
78
|
-
*
|
|
79
|
-
* @defaultValue
|
|
78
|
+
* Extra item space in pixels to render before/after the viewport. The minimum value is 0. Lower value will give better performance but you can increase to avoid showing blank items in fast scrolling.
|
|
79
|
+
* @defaultValue 200
|
|
80
80
|
*/
|
|
81
|
-
|
|
81
|
+
bufferSize?: number;
|
|
82
82
|
/**
|
|
83
83
|
* Component or element type for container element.
|
|
84
84
|
* @defaultValue "div"
|
|
@@ -43,10 +43,10 @@ export interface WindowVirtualizerProps<T> {
|
|
|
43
43
|
*/
|
|
44
44
|
children: (data: T, index: Accessor<number>) => JSX.Element;
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
47
|
-
* @defaultValue
|
|
46
|
+
* Extra item space in pixels to render before/after the viewport. The minimum value is 0. Lower value will give better performance but you can increase to avoid showing blank items in fast scrolling.
|
|
47
|
+
* @defaultValue 200
|
|
48
48
|
*/
|
|
49
|
-
|
|
49
|
+
bufferSize?: number;
|
|
50
50
|
/**
|
|
51
51
|
* Item size hint for unmeasured items in pixels. It will help to reduce scroll jump when items are measured if used properly.
|
|
52
52
|
*
|
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)),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=(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)=>{for(;r<=n;){const o=i((r+n)/2),s=v(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-(-1===r?e.i:r)),0))},x="undefined"!=typeof window,S=()=>document.documentElement,$=e=>e.ownerDocument,w=e=>e.defaultView,b=/*#__PURE__*/f((()=>!!x&&"rtl"===getComputedStyle(S()).direction)),y=/*#__PURE__*/f((()=>!!/iP(hone|od|ad)/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>0)),_=/*#__PURE__*/f((()=>"scrollBehavior"in S().style)),z=(e,t=40,i=4,c=0,a,u=!1)=>{let f=!!c,x=1,S=0,$=0,w=0,b=0,_=0,z=0,I=0,k=0,T=f?[0,o(c-1,0)]:r,M=[0,0],E=0;const O=((e,t,r)=>({i:r?r[1]:t,o:r&&r[0]?d(r[0].slice(0,n(e,r[0].length)),o(0,e-r[0].length)):d([],e),u:e,l:-1,h:d([],e)}))(e,t,a),R=new Set,q=()=>w-$,J=()=>q()+_+b,B=e=>((e,t,r,o)=>{if(o=n(o,e.u-1),v(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)]}})(O,e,S,M[0]),H=()=>(e=>e.u?v(e,e.u-1)+h(e,e.u-1):0)(O),L=e=>v(O,e)-_,P=e=>h(O,e),W=(e,t=-1)=>O.o[e]===t,j=e=>{e&&(y()&&0!==I||T&&1===k?_+=e:b+=e)};return{v:()=>x,p:()=>(e=>[e.o.slice(),e.i])(O),m:()=>{let e,t;return z?[e,t]=M:([e,t]=M=B(o(0,J())),T&&(e=n(e,T[0]),t=o(t,T[1]))),1!==I&&(e-=o(0,i)),2!==I&&(t+=o(0,i)),[o(e,0),n(t,O.u-1)]},S:()=>p(O,J()),$:()=>p(O,J()+S),_:W,I:L,k:P,T:()=>O.u,M:()=>w,O:()=>0!==I,R:()=>S,q:()=>$,J:H,B:()=>(z=b,b=0,[z,2===k]),H:(e,t)=>{const r=[e,t];return R.add(r),()=>{R.delete(r)}},L:(e,t)=>{let n,i,c=0;switch(e){case 1:{const e=z;z=0;const n=t-w,o=s(n);e&&o<s(e)+1||0!==k||(I=n<0?2:1),f&&(T=r,f=!1),w=t,c=4;const l=q();l>=-S&&l<=H()&&(c+=1,i=o>S);break}case 2:c=8,0!==I&&(n=!0,c+=1),I=0,k=0,T=r;break;case 3:{const e=t.filter((([e,t])=>!W(e,t)));if(!e.length)break;j(e.reduce(((e,[t,r])=>((2===k||(T&&1===k?t<T[0]:L(t)+(0===I&&0===k?P(t):0)<q()))&&(e+=r-P(t)),e)),0));for(const[t,r]of e){const e=P(t),n=g(O,t,r);u&&(E+=n?r:r-e)}u&&S&&E>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,a=i%2==0?(s[c-1]+s[c])/2:s[c],u=e.i;return((e.i=a)-u)*o(t-r,0)})(O,p(O,J()))),u=!1),c=3,i=!0;break}case 4:S!==t&&(S=t,c=3);break;case 5:t[1]?(j(m(O,t[0],!0)),k=2,c=1):(m(O,t[0]),c=1);break;case 6:$=t;break;case 7:k=1;break;case 8:T=B(t),c=1}c&&(x=1+(2147483647&x),n&&_&&(b+=_,_=0),R.forEach((([e,t])=>{c&e&&t(i)})))}}},I=setTimeout,k=(e,t)=>t&&b()?-e:e,T=(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=I((()=>{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,y()&&(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(k(t,n),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]=u();return n=()=>{r(!1)},e.R()&&I(n,150),[t,e.H(2,(()=>{r(!0)}))]};if(s&&_())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()}]},E=e=>{let t;return{C(r){(t||(t=new(w($(r)).ResizeObserver)(e))).observe(r)},V(e){t.unobserve(e)},W(){t&&t.disconnect()}}},O=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?b()?"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}})},R=(e,t)=>e[0]===t[0]&&e[1]===t[1],q=n=>{let s;const{itemSize:i,horizontal:a=!1,overscan:f,cache:d}=n;n=t.mergeProps({as:"div"},n);const h=z(n.data.length,i,f,void 0,d,!i),g=((e,t)=>{let n;const o=t?"width":"height",s=new WeakMap,i=E((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]=M(e,(()=>o[0]),((e,n)=>{e=k(e,t),n?r.scrollTo({[t?"left":"top"]:e,behavior:"smooth"}):r[s]=e}));return{ee(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",I((()=>{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&&R(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=[];if(n.keepMounted){const e=new Set(n.keepMounted);for(let[t,r]=w();t<=r;t++)e.add(t);l([...e]).forEach((e=>{r.push(n.data[e]),o.push(e)}))}else for(let[e,t]=w();e<=t;e++)r.push(n.data[e]),o.push(e);return{se:r,ie: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 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(O,{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 J=/*#__PURE__*/e.template("<div>"),B=/*#__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=J(),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(q,{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=q,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=z(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=E((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($(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]=M(e,(()=>o[0]),((e,n)=>{e=k(e,t);const o=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&&b()?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=$(i),u=w(a);n=T(e,u,t,(()=>k(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=$(r),f=w(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,y]=t.createSignal(p.v()),_=p.H(1,(()=>{y(p.v())})),I=p.H(4,(()=>{var e;null===(e=n.onScroll)||void 0===e||e.call(n)})),q=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&&R(e,t)?e:t})),H=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(),_(),I(),q(),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=[];for(let[e,t]=J();e<=t;e++)r.push(n.data[e]);return r}));return W=B(),"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(O,{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=H()?"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:i,floor:s}=Math,l=(e,t,r)=>n(r,o(t,e)),c=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)=>{for(;r<=n;){const o=s((r+n)/2),i=v(e,o);if(i<=t){if(i+h(e,o)>t)return o;r=o+1}else n=o-1}return l(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-(-1===r?e.i:r)),0))},S="undefined"!=typeof window,x=()=>document.documentElement,$=e=>e.ownerDocument,b=e=>e.defaultView,w=/*#__PURE__*/f((()=>!!S&&"rtl"===getComputedStyle(x()).direction)),y=/*#__PURE__*/f((()=>!!/iP(hone|od|ad)/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>0)),z=/*#__PURE__*/f((()=>"scrollBehavior"in x().style)),_=(e,t=40,s=0,l,u=!1)=>{let a=!!s,f=1,S=0,x=0,$=0,b=0,w=0,z=0,_=0,I=0,k=r,T=[0,a?o(s-1,0):-1],M=0;const E=((e,t,r)=>({i:r?r[1]:t,o:r&&r[0]?d(r[0].slice(0,n(e,r[0].length)),o(0,e-r[0].length)):d([],e),u:e,l:-1,h:d([],e)}))(e,t,l),O=new Set,R=()=>$-x,q=()=>R()+w+b,J=(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)]}})(E,e,t,T[0]),B=()=>(e=>e.u?v(e,e.u-1)+h(e,e.u-1):0)(E),H=e=>v(E,e)-w,L=e=>h(E,e),P=(e,t=-1)=>E.o[e]===t,W=e=>{e&&(y()&&0!==_||k&&1===I?w+=e:b+=e)};return{v:()=>f,p:()=>(e=>[e.o.slice(),e.i])(E),m:(e=200)=>{if(!S||a)return T;let t,r;if(z)[t,r]=T;else{e=o(0,e);let i=o(0,q()),s=i+S;u||(1!==_&&(i-=e),2!==_&&(s+=e)),[t,r]=T=J(o(0,i),o(0,s)),k&&(t=n(t,k[0]),r=o(r,k[1]))}return[o(t,0),n(r,E.u-1)]},S:()=>p(E,q()),$:()=>p(E,q()+S),_:P,I:H,k:L,T:()=>E.u,M:()=>$,O:()=>0!==_,R:()=>S,q:()=>x,J:B,B:()=>(z=b,b=0,[z,2===I]),H:(e,t)=>{const r=[e,t];return O.add(r),()=>{O.delete(r)}},L:(e,t)=>{let n,s,l=0;switch(e){case 1:{const e=z;z=0;const r=t-$,n=i(r);e&&n<i(e)+1||0!==I||(_=r<0?2:1),a&&(a=!1),$=t,l=4;const o=R();o>=-S&&o<=B()&&(l+=1,s=n>S);break}case 2:l=8,0!==_&&(n=!0,l+=1),_=0,I=0,k=r;break;case 3:{const e=t.filter((([e,t])=>!P(e,t)));if(!e.length)break;W(e.reduce(((e,[t,r])=>((2===I||(k&&1===I?t<k[0]:H(t)+(0===_&&0===I?L(t):0)<R()))&&(e+=r-L(t)),e)),0));for(const[t,r]of e){const e=L(t),n=g(E,t,r);u&&(M+=n?r:r-e)}u&&S&&M>S&&(W(((e,t)=>{let r=0;const n=[];e.o.forEach(((e,o)=>{-1!==e&&(n.push(e),o<t&&r++)})),e.l=-1;const i=c(n),s=i.length,l=s/2|0,u=s%2==0?(i[l-1]+i[l])/2:i[l],a=e.i;return((e.i=u)-a)*o(t-r,0)})(E,p(E,q()))),u=!1),l=3,s=!0;break}case 4:S!==t&&(S=t,l=3);break;case 5:t[1]?(W(m(E,t[0],!0)),I=2,l=1):(m(E,t[0]),l=1);break;case 6:x=t;break;case 7:I=1;break;case 8:k=J(t,t+S),l=1}l&&(f=1+(2147483647&f),n&&w&&(b+=w,w=0),O.forEach((([e,t])=>{l&e&&t(s)})))}}},I=setTimeout,k=(e,t)=>t&&w()?-e:e,T=(e,t,n,o,i,s)=>{const l=Date.now;let c=0,u=!1,a=!1,f=!1,d=!1;const h=(()=>{let t;const n=()=>{t!=r&&clearTimeout(t)},o=()=>{n(),t=I((()=>{t=r,(()=>{if(u||a)return u=!1,void h();f=!1,e.L(2)})()}),150)};return o.P=n,o})(),g=()=>{c=l(),f&&(d=!0),s&&e.L(6,s()),e.L(1,o()),h()},v=t=>{if(u||!e.O()||t.ctrlKey)return;const r=l()-c;150>r&&50<r&&(n?t.deltaX:t.deltaY)&&(u=!0)},p=()=>{a=!0,f=d=!1},m=()=>{a=!1,y()&&(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&&(i(k(t,n),r,d),d=!1,r&&e.R()>e.J()&&e.L(1,o()))}}},M=(e,t,r)=>{let n;return[async(o,i)=>{if(!await t())return;n&&n();const s=()=>{const[t,r]=a();return n=()=>{r(!1)},e.R()&&I(n,150),[t,e.H(2,(()=>{r(!0)}))]};if(i&&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]=s();try{if(!await r)return}finally{n()}}e.L(7),r(o(),i)}));else for(;;){const[t,n]=s();try{if(e.L(7),r(o()),!await t)return}finally{n()}}},()=>{n&&n()}]},E=e=>{let t;return{C(r){(t||(t=new(b($(r)).ResizeObserver)(e))).observe(r)},V(e){t.unobserve(e)},W(){t&&t.disconnect()}}},O=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?w()?"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}})},R=(e,t)=>e[0]===t[0]&&e[1]===t[1],q=n=>{let i;const{itemSize:s,horizontal:u=!1,cache:f}=n;n=t.mergeProps({as:"div"},n);const d=_(n.data.length,s,void 0,f,!s),h=((e,t)=>{let n;const o=t?"width":"height",i=new WeakMap,s=E((t=>{const s=[];for(const{target:l,contentRect:c}of t)if(l.offsetParent)if(l===n)e.L(4,c[o]);else{const e=i.get(l);e!=r&&s.push([e,c[o]])}s.length&&e.L(3,s)}));return{K(e){s.C(n=e)},N:(e,t)=>(i.set(e,t),s.C(e),()=>{i.delete(e),s.V(e)}),Z:s.W}})(d,u),g=((e,t)=>{let r,n,o=a();const i=t?"scrollLeft":"scrollTop",s=t?"overflowX":"overflowY",[c,u]=M(e,(()=>o[0]),((e,n)=>{e=k(e,t),n?r.scrollTo({[t?"left":"top"]:e,behavior:"smooth"}):r[i]=e}));return{ee(l){r=l,n=T(e,l,t,(()=>k(l[i],t)),((t,r,n)=>{if(n){const e=l.style,t=e[s];e[s]="hidden",I((()=>{e[s]=t}))}l[i]=e.M()+t,r&&u()})),o[1](!0)},Z(){n&&n.W(),o[1](!1),o=a()},te(e){c((()=>e))},re(t){t+=e.M(),c((()=>t))},ne(t,{align:r,smooth:n,offset:o=0}={}){if(t=l(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"}}c((()=>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.v()),m=d.H(1,(()=>{p(d.v())})),S=d.H(4,(()=>{var e;null===(e=n.onScroll)||void 0===e||e.call(n,d.M())})),x=d.H(8,(()=>{var e;null===(e=n.onScrollEnd)||void 0===e||e.call(n)})),$=t.createMemo((e=>{v();const t=d.m(n.bufferSize);return e&&R(e,t)?e:t})),b=t.createMemo((()=>v()&&d.O())),w=t.createMemo((()=>v()&&d.J()));t.onMount((()=>{n.ref&&n.ref({get cache(){return d.p()},get scrollOffset(){return d.M()},get scrollSize(){return(e=>o(e.J(),e.R()))(d)},get viewportSize(){return d.R()},findStartIndex:d.S,findEndIndex:d.$,getItemOffset:d.I,getItemSize:d.k,scrollToIndex:g.ne,scrollTo:g.te,scrollBy:g.re});const e=n.scrollRef||i.parentElement;h.K(e),g.ee(e),t.onCleanup((()=>{n.ref&&n.ref(),m(),S(),x(),h.Z(),g.Z()}))})),t.createComputed(t.on((()=>n.startMargin||0),(e=>{e!==d.q()&&d.L(6,e)}))),t.createEffect(t.on(v,(()=>{g.oe()})));const y=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]=$();t<=r;t++)e.add(t);c([...e]).forEach((e=>{r.push(n.data[e]),o.push(e)}))}else for(let[e,t]=$();e<=t;e++)r.push(n.data[e]),o.push(e);return{ie:r,se:o}}));return e.createComponent(e.Dynamic,{get component(){return n.as},ref(e){"function"==typeof i?i(e):i=e},get style(){return{contain:"size paint style","overflow-anchor":"none",overflow:"clip",flex:"none",position:"relative",width:u?w()+"px":"100%",height:u?"100%":w()+"px","pointer-events":b()?"none":void 0}},get children(){return e.createComponent(t.For,{get each(){return y().ie},children:(r,o)=>((r,o)=>{const i=t.createMemo((()=>(v(),d.I(o())))),s=t.createMemo((()=>(v(),d._(o())))),l=t.createMemo((()=>t.untrack((()=>n.children(r,o)))));return e.createComponent(O,{get X(){return n.item},get D(){return o()},get Y(){return h.N},get A(){return i()},get F(){return s()},get G(){return l()},U:u})})(r,t.createMemo((()=>y().se[o()])))})}})};var J=/*#__PURE__*/e.template("<div>"),B=/*#__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 i=J(),e.spread(i,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(i,e.createComponent(q,{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}})),i;var i},exports.Virtualizer=q,exports.WindowVirtualizer=n=>{let o;const{ref:i,data:s,children:c,itemSize:u,shift:f,horizontal:d=!1,cache:h,onScrollEnd:g}=n,v=_(n.data.length,u,void 0,h,!u),p=((e,t)=>{const n=t?"width":"height",o=t?"innerWidth":"innerHeight",i=new WeakMap,s=E((t=>{const o=[];for(const{target:e,contentRect:s}of t){if(!e.offsetParent)continue;const t=i.get(e);t!=r&&o.push([t,s[n]])}o.length&&e.L(3,o)}));let l;return{K(t){const r=b($(t)),n=()=>{e.L(4,r[o])};r.addEventListener("resize",n),n(),l=()=>{r.removeEventListener("resize",n)}},N:(e,t)=>(i.set(e,t),s.C(e),()=>{i.delete(e),s.V(e)}),Z(){l&&l(),s.W()}}})(v,d),m=((e,t)=>{let r,n,o=a();const i=t?"left":"top",[s]=M(e,(()=>o[0]),((e,n)=>{e=k(e,t);const o=b($(r));n?o.scroll({[i]:e,behavior:"smooth"}):o.scroll({[i]:e})})),c=(e,t,r,n,o=0)=>{const i=n?"offsetLeft":"offsetTop",s=o+(n&&w()?r.innerWidth-e[i]-e.offsetWidth:e[i]),l=e.offsetParent;return e!==t&&l?c(l,t,r,n,s):s};return{ee(s){r=s;const l=t?"scrollX":"scrollY",u=$(s),a=b(u);n=T(e,a,t,(()=>k(a[l],t)),((t,r)=>{r?a.scroll({[i]:e.M()+t}):a.scrollBy({[i]:t})}),(()=>c(s,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:i,offset:u=0}={}){if(!r)return;if(n=l(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=$(r),f=b(a),d=a.documentElement,h=()=>e.R()-(t?d.clientWidth:d.clientHeight);s((()=>u+c(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)),i)}}})(v,d),[S,x]=t.createSignal(v.v()),y=v.H(1,(()=>{x(v.v())})),z=v.H(4,(()=>{var e;null===(e=n.onScroll)||void 0===e||e.call(n)})),I=v.H(8,(()=>{var e;null===(e=n.onScrollEnd)||void 0===e||e.call(n)})),q=t.createMemo((e=>{S();const t=v.m(n.bufferSize);return e&&R(e,t)?e:t})),J=t.createMemo((()=>S()&&v.O())),H=t.createMemo((()=>S()&&v.J()));t.onMount((()=>{n.ref&&n.ref({get cache(){return v.p()},findStartIndex:v.S,findEndIndex:v.$,scrollToIndex:m.ne}),p.K(o),m.ee(o),t.onCleanup((()=>{n.ref&&n.ref(),y(),z(),I(),p.Z(),m.Z()}))})),t.createEffect(t.on(S,(()=>{m.oe()})));const L=t.createMemo((()=>{const e=n.data.length;t.untrack((()=>{e!==v.T()&&v.L(5,[e,n.shift])}));const r=[];for(let[e,t]=q();e<=t;e++)r.push(n.data[e]);return r}));return P=B(),"function"==typeof(W=o)?e.use(W,P):o=P,e.setStyleProperty(P,"contain","size paint style"),e.setStyleProperty(P,"overflow","clip"),e.setStyleProperty(P,"flex","none"),e.setStyleProperty(P,"position","relative"),e.insert(P,e.createComponent(t.For,{get each(){return L()},children:(r,o)=>{const i=t.createMemo((()=>q()[0]+o())),s=t.createMemo((()=>(S(),v.I(i())))),l=t.createMemo((()=>(S(),v._(i())))),c=t.createMemo((()=>t.untrack((()=>n.children(r,i)))));return e.createComponent(O,{get D(){return i()},get Y(){return p.N},get A(){return s()},get F(){return l()},get G(){return c()},U:d})}})),e.effect((t=>{var r=d?H()+"px":"100%",n=d?"100%":H()+"px",o=J()?"none":void 0;return r!==t.e&&e.setStyleProperty(P,"width",t.e=r),n!==t.t&&e.setStyleProperty(P,"height",t.t=n),o!==t.a&&e.setStyleProperty(P,"pointer-events",t.a=o),t}),{e:void 0,t:void 0,a:void 0}),P;var P,W};
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|