virtua 0.33.1 → 0.33.3
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/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +1 -1
- package/lib/index.mjs.map +1 -1
- package/lib/react/VList.d.ts +0 -1
- package/lib/solid/index.js +1 -1
- package/lib/solid/index.js.map +1 -1
- package/lib/solid/index.mjs +1 -1
- package/lib/solid/index.mjs.map +1 -1
- package/lib/svelte/ListItem.svelte.d.ts +2 -0
- package/lib/svelte/VList.svelte.d.ts +11 -11
- package/lib/svelte/core.d.ts +2 -2
- package/lib/svelte/core.js +1 -1
- package/lib/vue/Virtualizer.d.ts +35 -1
- package/lib/vue/WindowVirtualizer.d.ts +35 -1
- package/lib/vue/index.js +1 -1
- package/lib/vue/index.js.map +1 -1
- package/lib/vue/index.mjs +1 -1
- package/lib/vue/index.mjs.map +1 -1
- package/package.json +66 -59
|
@@ -4,26 +4,26 @@ declare class __sveltets_Render<T> {
|
|
|
4
4
|
props(): {
|
|
5
5
|
/**
|
|
6
6
|
* Get current scrollTop or scrollLeft.
|
|
7
|
-
*/ getScrollOffset?: (
|
|
7
|
+
*/ getScrollOffset?: () => number;
|
|
8
8
|
/**
|
|
9
9
|
* Get current scrollHeight or scrollWidth.
|
|
10
|
-
*/ getScrollSize?: (
|
|
10
|
+
*/ getScrollSize?: () => number;
|
|
11
11
|
/**
|
|
12
12
|
* Get current offsetHeight or offsetWidth.
|
|
13
|
-
*/ getViewportSize?: (
|
|
13
|
+
*/ getViewportSize?: () => number;
|
|
14
14
|
/**
|
|
15
15
|
* Scroll to the item specified by index.
|
|
16
16
|
* @param index index of item
|
|
17
17
|
* @param opts options
|
|
18
|
-
*/ scrollToIndex?: (
|
|
18
|
+
*/ scrollToIndex?: (index: number, opts?: import("../core/types").ScrollToIndexOpts) => void;
|
|
19
19
|
/**
|
|
20
20
|
* Scroll to the given offset.
|
|
21
21
|
* @param offset offset from start
|
|
22
|
-
*/ scrollTo?: (
|
|
22
|
+
*/ scrollTo?: (offset: number) => void;
|
|
23
23
|
/**
|
|
24
24
|
* Scroll by the given offset.
|
|
25
25
|
* @param offset offset from current position
|
|
26
|
-
*/ scrollBy?: (
|
|
26
|
+
*/ scrollBy?: (offset: number) => void;
|
|
27
27
|
} & HTMLAttributes<HTMLDivElement> & {
|
|
28
28
|
/**
|
|
29
29
|
* The data items rendered by this component.
|
|
@@ -38,22 +38,22 @@ declare class __sveltets_Render<T> {
|
|
|
38
38
|
* Number of items to render above/below the visible bounds of the list. You can increase to avoid showing blank items in fast scrolling.
|
|
39
39
|
* @defaultValue 4
|
|
40
40
|
*/
|
|
41
|
-
overscan?: number
|
|
41
|
+
overscan?: number;
|
|
42
42
|
/**
|
|
43
43
|
* Item size hint for unmeasured items. It will help to reduce scroll jump when items are measured if used properly.
|
|
44
44
|
*
|
|
45
45
|
* - If not set, initial item sizes will be automatically estimated from measured sizes. This is recommended for most cases.
|
|
46
46
|
* - If set, you can opt out estimation and use the value as initial item size.
|
|
47
47
|
*/
|
|
48
|
-
itemSize?: number
|
|
48
|
+
itemSize?: number;
|
|
49
49
|
/**
|
|
50
50
|
* While true is set, scroll position will be maintained from the end not usual start when items are added to/removed from start. It's recommended to set false if you add to/remove from mid/end of the list because it can cause unexpected behavior. This prop is useful for reverse infinite scrolling.
|
|
51
51
|
*/
|
|
52
|
-
shift?: boolean
|
|
52
|
+
shift?: boolean;
|
|
53
53
|
/**
|
|
54
54
|
* If true, rendered as a horizontally scrollable list. Otherwise rendered as a vertically scrollable list.
|
|
55
55
|
*/
|
|
56
|
-
horizontal?: boolean
|
|
56
|
+
horizontal?: boolean;
|
|
57
57
|
};
|
|
58
58
|
events(): {
|
|
59
59
|
/**
|
|
@@ -84,7 +84,7 @@ export default class VList<T> extends SvelteComponent<VListProps<T>, VListEvents
|
|
|
84
84
|
get getScrollOffset(): () => number;
|
|
85
85
|
get getScrollSize(): () => number;
|
|
86
86
|
get getViewportSize(): () => number;
|
|
87
|
-
get scrollToIndex(): (index: number, opts?: import("../core/types").ScrollToIndexOpts
|
|
87
|
+
get scrollToIndex(): (index: number, opts?: import("../core/types").ScrollToIndexOpts) => void;
|
|
88
88
|
get scrollTo(): (offset: number) => void;
|
|
89
89
|
get scrollBy(): (offset: number) => void;
|
|
90
90
|
}
|
package/lib/svelte/core.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export declare const SCROLL_TO_INDEX = 16;
|
|
|
27
27
|
export declare const createVirtualizer: (count: number, itemSize: number | undefined, horizontal: boolean, onUpdate: (v: StateVersion) => void, onScroll: (offset: number) => void, onScrollEnd: () => void) => {
|
|
28
28
|
0: (scrollable: HTMLElement) => void;
|
|
29
29
|
1: () => void;
|
|
30
|
-
2: () =>
|
|
30
|
+
2: () => import("../core/types").ItemsRange;
|
|
31
31
|
3: () => number;
|
|
32
32
|
4: () => number;
|
|
33
33
|
5: () => number;
|
|
@@ -41,5 +41,5 @@ export declare const createVirtualizer: (count: number, itemSize: number | undef
|
|
|
41
41
|
13: () => number;
|
|
42
42
|
14: (offset: number) => void;
|
|
43
43
|
15: (offset: number) => void;
|
|
44
|
-
16: (index: number, opts?: import("..").ScrollToIndexOpts
|
|
44
|
+
16: (index: number, opts?: import("..").ScrollToIndexOpts) => void;
|
|
45
45
|
};
|
package/lib/svelte/core.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=Math.min,
|
|
1
|
+
const e=null,t=Math.min,r=Math.max,o=Math.abs,n=setTimeout,s=(e,o,n)=>t(n,r(o,e)),c="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},i=e=>{let t,r;return(...o)=>(t||(t=!0,r=e(...o)),r)},a=-1,l=(e,t,r)=>{const o=r?"unshift":"push";for(let r=0;r<t;r++)e[o](a);return e},u=(e,t)=>{const r=e.t[t];return r===a?e.o:r},f=(e,r,o)=>{const n=e.t[r]===a;return e.t[r]=o,e.i=t(r,e.i),n},_=(e,t)=>{if(!e.l)return 0;if(e.i>=t)return e.u[t];e.i<0&&(e.u[0]=0,e.i=0);let r=e.i,o=e.u[r];for(;r<t;)o+=u(e,r),e.u[++r]=o;return e.i=t,o},h=(e,t,r)=>{for(;r>=0&&r<e.l;){const o=_(e,r);if(o<=t){if(o+u(e,r)>t)break;r++}else r--}return s(r,0,e.l-1)},d=(e,r,o)=>{const n=r-e.l;return e.i=o?-1:t(r-1,e.i),e.l=r,n>0?(l(e.u,n),l(e.t,n,o),e.o*n):(e.u.splice(n),(o?e.t.splice(0,-n):e.t.splice(n)).reduce(((t,r)=>t-(r===a?e.o:r)),0))},p="undefined"!=typeof window,m=()=>document.documentElement,g=/*#__PURE__*/i((()=>!!p&&"rtl"===getComputedStyle(m()).direction)),b=/*#__PURE__*/i((()=>/iP(hone|od|ad)/.test(navigator.userAgent))),v=/*#__PURE__*/i((()=>"scrollBehavior"in m().style)),w=0,S=(e,o,n,s,c)=>(1!==s&&(e-=r(0,n)),2!==s&&(o+=r(0,n)),[r(e,0),t(o,c-1)]),k=(e,t)=>t&&g()?-e:e,I=0,y=1,z=2,M=3,T=4,x=5,J=6,R=7,C=8,D=9,O=10,P=11,q=12,B=13,L=14,U=15,V=16,F=(i,p,m,g,w,S)=>{const F=((n,s=40,c=0,i,p=!1)=>{let m=!!c,g=[],v=0,w=0,S=0,k=0,I=0,y=0,z=0,M=0,T=0,x=m?[0,r(c-1,0)]:e,J=[0,0],R=0;const C=((e,t)=>({o:t,t:l([],e),l:e,i:-1,u:l([],e)}))(n,s),D=new Set,O=()=>S-w,P=e=>((e,r,o,n)=>{const s=h(e,r,t(o,e.l-1));return[s,h(e,r+n,s)]})(C,e,J[0],v),q=()=>(e=>e.l?_(e,e.l-1)+u(e,e.l-1):0)(C),B=e=>_(C,e)-y,L=e=>u(C,e),U=e=>{e&&(b()&&0!==M?y+=e:(I+=e,k++))};return{_:()=>g,h:()=>(e=>[[...e.t],e.o])(C),p:()=>z?J:(J=P(r(0,O()+y+I)),x?[t(J[0],x[0]),r(J[1],x[1])]:J),m:e=>C.t[e]===a,v:()=>!!v,S:()=>!!x&&C.t.slice(r(0,x[0]-1),t(C.l-1,x[1]+1)+1).includes(a),k:B,I:L,M:()=>C.l,T:()=>S,J:()=>M,R:()=>v,C:()=>w,D:q,O:()=>k,P:()=>(z=I,I=0,[z,2===T]),q(e,t){const r=[e,t];return D.add(r),()=>{D.delete(r)}},B(t,n){let s,c,i=0;switch(t){case 1:{const t=z;z=0;const r=n-S,s=o(r);t&&s<o(t)+1||0!==T||(M=r<0?2:1),m&&(x=e,m=!1),S=n,i=4;const a=O();a>=-v&&a<=q()&&(i+=1,c=s>v);break}case 2:i=8,0!==M&&(s=!0,i+=1),M=0,T=0,x=e;break;case 3:{const e=n.filter((([e,t])=>C.t[e]!==t));if(!e.length)break;U(e.reduce(((e,[t,r])=>((2===T||(x?t<x[0]:B(t)+(0===M&&0===T?L(t):0)<O()))&&(e+=r-L(t)),e)),0));for(const[t,r]of e){const e=L(t),o=f(C,t,r);p&&(R+=r,o||(R-=e))}p&&v&&R>v&&(U(((e,t)=>{let o=0;const n=e.t.filter(((e,r)=>{const n=e!==a;return n&&r<t&&o++,n})),s=e.o;return e.i=-1,((e.o=(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)*r(t-o,0)})(C,J[0])),p=!1),i=3,c=!0;break}case 4:v!==n&&(v=n,i=3);break;case 5:n[1]?(U(d(C,n[0],!0)),T=2,i=1):d(C,n[0]);break;case 6:w=n;break;case 7:T=1;break;case 8:x=P(n),i=1}i&&(g=[],s&&y&&(I+=y,y=0,k++),D.forEach((([e,t])=>{i&e&&t(c)})))}}})(i,null!=p?p:40,void 0,0,!p),W=((t,r)=>{let o;const n=r?"width":"height",s=new WeakMap,c=(e=>{let t;return{L(r){var o,n;(t||(t=new(n=r,o=n.ownerDocument,o.defaultView).ResizeObserver(e))).observe(r)},U(e){t.unobserve(e)},V(){t&&t.disconnect()}}})((r=>{const c=[];for(const{target:i,contentRect:a}of r)if(i.offsetParent)if(i===o)t.B(4,a[n]);else{const t=s.get(i);t!=e&&c.push([t,a[n]])}c.length&&t.B(3,c)}));return{F(e){c.L(o=e)},W:(e,t)=>(s.set(e,t),c.L(e),()=>{s.delete(e),c.U(e)}),V:c.V}})(F,m),X=((t,r)=>{let o,i,a;const l=r?"scrollLeft":"scrollTop",u=r?"overflowX":"overflowY",f=async(e,s)=>{if(!o)return void c((()=>f(e,s)));a&&a();const i=()=>{let e;return[new Promise(((r,o)=>{e=r,a=o,t.v()&&n(o,150)})),t.q(2,(()=>{e&&e()}))]};if(s&&v()){for(;t.B(8,e()),t.S();){const[e,t]=i();try{await e}catch(e){return}finally{t()}}o.scrollTo({[r?"left":"top"]:k(e(),r),behavior:"smooth"})}else for(;;){const[n,s]=i();try{o[l]=k(e(),r),t.B(7),await n}catch(e){return}finally{s()}}};return{L(s){o=s,i=((t,r,o,s,c)=>{const i=Date.now;let a=0,l=!1,u=!1,f=!1,_=!1;const h=(()=>{let r;const o=()=>{r!=e&&clearTimeout(r)},s=()=>{o(),r=n((()=>{r=e,(()=>{if(l||u)return l=!1,void h();f=!1,t.B(2)})()}),150)};return s.X=o,s})(),d=()=>{a=i(),f&&(_=!0),t.B(1,s()),h()},p=e=>{if(l||0===t.J()||e.ctrlKey)return;const r=i()-a;150>r&&50<r&&(o?e.deltaX:e.deltaY)&&(l=!0)},m=()=>{u=!0,f=_=!1},g=()=>{u=!1,b()&&(f=!0)};return r.addEventListener("scroll",d),r.addEventListener("wheel",p,{passive:!0}),r.addEventListener("touchstart",m,{passive:!0}),r.addEventListener("touchend",g,{passive:!0}),{V:()=>{r.removeEventListener("scroll",d),r.removeEventListener("wheel",p),r.removeEventListener("touchstart",m),r.removeEventListener("touchend",g),h.X()},Y:()=>{const[e,r]=t.P();e&&(c(k(e,o),r,_),_=!1,r&&t.R()>t.D()&&t.B(1,s()))}}})(t,s,r,(()=>k(s[l],r)),((e,r,o)=>{if(o){const e=s.style,t=e[u];e[u]="hidden",n((()=>{e[u]=t}))}r?(s[l]=t.T()+e,a&&a()):s[l]+=e}))},V(){i&&i.V()},j(e){f((()=>e))},A(e){e+=t.T(),f((()=>e))},G(e,{align:r,smooth:o,offset:n=0}={}){if(e=s(e,0,t.M()-1),"nearest"===r){const o=t.k(e),n=t.T();if(o<n)r="start";else{if(!(o+t.I(e)>n+t.R()))return;r="end"}}f((()=>n+t.C()+t.k(e)+("end"===r?t.I(e)-t.R():"center"===r?(t.I(e)-t.R())/2:0)),o)},Y:()=>{i&&i.Y()}}})(F,m),Y=F.q(1,(()=>{g(F._())})),j=F.q(4,(()=>{w(F.T())})),A=F.q(8,(()=>{S()}));return{[I]:e=>{W.F(e),X.L(e)},[y]:()=>{Y(),j(),A(),W.V(),X.V()},[z]:F.p,[M]:F.D,[T]:F.R,[x]:F.T,[J]:F.J,[R]:F.O,[C]:F.k,[D]:F.m,[O]:W.W,[P]:X.Y,[q]:(e,t)=>{F.B(5,[e,t])},[B]:()=>(e=>r(e.D(),e.R()))(F),[L]:X.j,[U]:X.A,[V]:X.G}};export{q as CHANGE_ITEM_LENGTH,P as FIX_SCROLL_JUMP,C as GET_ITEM_OFFSET,R as GET_JUMP_COUNT,z as GET_RANGE,J as GET_SCROLL_DIRECTION,x as GET_SCROLL_OFFSET,B as GET_SCROLL_SIZE,M as GET_TOTAL_SIZE,T as GET_VIEWPORT_SIZE,D as IS_ITEM_HIDDEN,O as OBSERVE_ITEM_RESIZE,I as ON_MOUNT,y as ON_UN_MOUNT,U as SCROLL_BY,w as SCROLL_IDLE,L as SCROLL_TO,V as SCROLL_TO_INDEX,F as createVirtualizer,S as getOverscanedRange,g as isRTLDocument};
|
package/lib/vue/Virtualizer.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** @jsxImportSource vue */
|
|
2
|
-
import { ComponentOptionsMixin, SlotsType, PropType } from "vue";
|
|
2
|
+
import { ComponentOptionsMixin, SlotsType, PropType, NativeElements } from "vue";
|
|
3
3
|
import { ScrollToIndexOpts } from "../core/types";
|
|
4
4
|
export interface VirtualizerHandle {
|
|
5
5
|
/**
|
|
@@ -82,6 +82,22 @@ export declare const Virtualizer: import("vue").DefineComponent<{
|
|
|
82
82
|
* Reference to the scrollable element. The default will get the parent element of virtualizer.
|
|
83
83
|
*/
|
|
84
84
|
scrollRef: PropType<HTMLElement>;
|
|
85
|
+
/**
|
|
86
|
+
* Component or element type for container element.
|
|
87
|
+
* @defaultValue "div"
|
|
88
|
+
*/
|
|
89
|
+
as: {
|
|
90
|
+
type: PropType<keyof NativeElements>;
|
|
91
|
+
default: string;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Component or element type for item element.
|
|
95
|
+
* @defaultValue "div"
|
|
96
|
+
*/
|
|
97
|
+
item: {
|
|
98
|
+
type: PropType<keyof NativeElements>;
|
|
99
|
+
default: string;
|
|
100
|
+
};
|
|
85
101
|
}, VirtualizerHandle, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
86
102
|
/**
|
|
87
103
|
* Callback invoked whenever scroll offset changes.
|
|
@@ -150,6 +166,22 @@ export declare const Virtualizer: import("vue").DefineComponent<{
|
|
|
150
166
|
* Reference to the scrollable element. The default will get the parent element of virtualizer.
|
|
151
167
|
*/
|
|
152
168
|
scrollRef: PropType<HTMLElement>;
|
|
169
|
+
/**
|
|
170
|
+
* Component or element type for container element.
|
|
171
|
+
* @defaultValue "div"
|
|
172
|
+
*/
|
|
173
|
+
as: {
|
|
174
|
+
type: PropType<keyof NativeElements>;
|
|
175
|
+
default: string;
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Component or element type for item element.
|
|
179
|
+
* @defaultValue "div"
|
|
180
|
+
*/
|
|
181
|
+
item: {
|
|
182
|
+
type: PropType<keyof NativeElements>;
|
|
183
|
+
default: string;
|
|
184
|
+
};
|
|
153
185
|
}>> & {
|
|
154
186
|
onScroll?: ((offset: number) => any) | undefined;
|
|
155
187
|
onScrollEnd?: (() => any) | undefined;
|
|
@@ -159,6 +191,8 @@ export declare const Virtualizer: import("vue").DefineComponent<{
|
|
|
159
191
|
overscan: number;
|
|
160
192
|
horizontal: boolean;
|
|
161
193
|
startMargin: number;
|
|
194
|
+
as: keyof import("vue").IntrinsicElementAttributes;
|
|
195
|
+
item: keyof import("vue").IntrinsicElementAttributes;
|
|
162
196
|
}, SlotsType<{
|
|
163
197
|
default: any;
|
|
164
198
|
}>>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** @jsxImportSource vue */
|
|
2
|
-
import { ComponentOptionsMixin, SlotsType } from "vue";
|
|
2
|
+
import { ComponentOptionsMixin, SlotsType, PropType, NativeElements } from "vue";
|
|
3
3
|
export declare const WindowVirtualizer: import("vue").DefineComponent<{
|
|
4
4
|
/**
|
|
5
5
|
* The data items rendered by this component.
|
|
@@ -31,6 +31,22 @@ export declare const WindowVirtualizer: import("vue").DefineComponent<{
|
|
|
31
31
|
* If true, rendered as a horizontally scrollable list. Otherwise rendered as a vertically scrollable list.
|
|
32
32
|
*/
|
|
33
33
|
horizontal: BooleanConstructor;
|
|
34
|
+
/**
|
|
35
|
+
* Component or element type for container element.
|
|
36
|
+
* @defaultValue "div"
|
|
37
|
+
*/
|
|
38
|
+
as: {
|
|
39
|
+
type: PropType<keyof NativeElements>;
|
|
40
|
+
default: string;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Component or element type for item element.
|
|
44
|
+
* @defaultValue "div"
|
|
45
|
+
*/
|
|
46
|
+
item: {
|
|
47
|
+
type: PropType<keyof NativeElements>;
|
|
48
|
+
default: string;
|
|
49
|
+
};
|
|
34
50
|
}, void, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
35
51
|
/**
|
|
36
52
|
* Callback invoked when scrolling stops.
|
|
@@ -79,6 +95,22 @@ export declare const WindowVirtualizer: import("vue").DefineComponent<{
|
|
|
79
95
|
* If true, rendered as a horizontally scrollable list. Otherwise rendered as a vertically scrollable list.
|
|
80
96
|
*/
|
|
81
97
|
horizontal: BooleanConstructor;
|
|
98
|
+
/**
|
|
99
|
+
* Component or element type for container element.
|
|
100
|
+
* @defaultValue "div"
|
|
101
|
+
*/
|
|
102
|
+
as: {
|
|
103
|
+
type: PropType<keyof NativeElements>;
|
|
104
|
+
default: string;
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* Component or element type for item element.
|
|
108
|
+
* @defaultValue "div"
|
|
109
|
+
*/
|
|
110
|
+
item: {
|
|
111
|
+
type: PropType<keyof NativeElements>;
|
|
112
|
+
default: string;
|
|
113
|
+
};
|
|
82
114
|
}>> & {
|
|
83
115
|
onScrollEnd?: (() => any) | undefined;
|
|
84
116
|
onRangeChange?: ((startIndex: number, endIndex: number) => any) | undefined;
|
|
@@ -86,6 +118,8 @@ export declare const WindowVirtualizer: import("vue").DefineComponent<{
|
|
|
86
118
|
shift: boolean;
|
|
87
119
|
overscan: number;
|
|
88
120
|
horizontal: boolean;
|
|
121
|
+
as: keyof import("vue").IntrinsicElementAttributes;
|
|
122
|
+
item: keyof import("vue").IntrinsicElementAttributes;
|
|
89
123
|
}, SlotsType<{
|
|
90
124
|
default: any;
|
|
91
125
|
}>>;
|
package/lib/vue/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=require("vue");const t=Math.min,o=Math.max,r=Math.abs,n=setTimeout,s=(e,r,n)=>t(n,o(r,e)),i=e=>null!=e,l="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},c=e=>{let t,o;return(...r)=>(t||(t=!0,o=e(...r)),o)},a=-1,u=(e,t,o)=>{const r=o?"unshift":"push";for(let o=0;o<t;o++)e[r](a);return e},f=(e,t)=>{const o=e.t[t];return o===a?e.o:o},d=(e,o,r)=>{const n=e.t[o]===a;return e.t[o]=r,e.i=t(o,e.i),n},h=(e,t)=>{if(!e.l)return 0;if(e.i>=t)return e.u[t];e.i<0&&(e.u[0]=0,e.i=0);let o=e.i,r=e.u[o];for(;o<t;)r+=f(e,o),e.u[++o]=r;return e.i=t,r},p=(e,t,o)=>{for(;o>=0&&o<e.l;){const r=h(e,o);if(r<=t){if(r+f(e,o)>t)break;o++}else o--}return s(o,0,e.l-1)},_=(e,o,r)=>{const n=o-e.l;return e.i=r?-1:t(o-1,e.i),e.l=o,n>0?(u(e.u,n),u(e.t,n,r),e.o*n):(e.u.splice(n),(r?e.t.splice(0,-n):e.t.splice(n)).reduce(((t,o)=>t-(o===a?e.o:o)),0))},g="undefined"!=typeof window,m=()=>document.documentElement,v=e=>e.ownerDocument,b=e=>e.defaultView,y=/*#__PURE__*/c((()=>!!g&&"rtl"===getComputedStyle(m()).direction)),S=/*#__PURE__*/c((()=>/iP(hone|od|ad)/.test(navigator.userAgent))),z=/*#__PURE__*/c((()=>"scrollBehavior"in m().style)),w=(e,r,n,s,i)=>(1!==s&&(e-=o(0,n)),2!==s&&(r+=o(0,n)),[o(e,0),t(r,i-1)]),x=(e,n=40,s=0,i,l=!1)=>{let c=!!s,g=[],m=0,v=0,b=0,y=0,z=0,w=0,x=0,k=0,C=0,I=c?[0,o(s-1,0)]:null,B=[0,0],R=0;const N=((e,t)=>({o:t,t:u([],e),l:e,i:-1,u:u([],e)}))(e,n),O=new Set,T=()=>b-v,q=e=>((e,o,r,n)=>{const s=p(e,o,t(r,e.l-1));return[s,p(e,o+n,s)]})(N,e,B[0],m),E=()=>(e=>e.l?h(e,e.l-1)+f(e,e.l-1):0)(N),M=e=>h(N,e)-w,H=e=>f(N,e),j=e=>{e&&(S()&&0!==k?w+=e:(z+=e,y++))};return{h:()=>g,p:()=>(e=>[[...e.t],e.o])(N),m:()=>x?B:(B=q(o(0,T()+w+z)),I?[t(B[0],I[0]),o(B[1],I[1])]:B),v:e=>N.t[e]===a,S:()=>!!I&&N.t.slice(o(0,I[0]-1),t(N.l-1,I[1]+1)+1).includes(a),k:M,C:H,I:()=>N.l,B:()=>b,R:()=>k,N:()=>m,O:()=>v,T:E,q:()=>y,M:()=>(x=z,z=0,[x,2===C]),H(e,t){const o=[e,t];return O.add(o),()=>{O.delete(o)}},j(e,t){let n,s,i=0;switch(e){case 1:{const e=x;x=0;const o=t-b,n=r(o);e&&n<r(e)+1||0!==C||(k=o<0?2:1),c&&(I=null,c=!1),b=t,i=4;const l=T();l>=-m&&l<=E()&&(i+=1,s=n>m);break}case 2:i=8,0!==k&&(n=!0,i+=1),k=0,C=0,I=null;break;case 3:{const e=t.filter((([e,t])=>N.t[e]!==t));if(!e.length)break;j(e.reduce(((e,[t,o])=>((2===C||(I?t<I[0]:M(t)+(0===k&&0===C?H(t):0)<T()))&&(e+=o-H(t)),e)),0));for(const[t,o]of e){const e=H(t),r=d(N,t,o);l&&(R+=o,r||(R-=e))}l&&m&&R>m&&(j(((e,t)=>{let r=0;const n=e.t.filter(((e,o)=>{const n=e!==a;return n&&o<t&&r++,n})),s=e.o;return e.i=-1,((e.o=(e=>{const t=(e=>[...e].sort(((e,t)=>e-t)))(e),o=e.length/2|0;return t.length%2==0?(t[o-1]+t[o])/2:t[o]})(n))-s)*o(t-r,0)})(N,B[0])),l=!1),i=3,s=!0;break}case 4:m!==t&&(m=t,i=3);break;case 5:t[1]?(j(_(N,t[0],!0)),C=2,i=1):_(N,t[0]);break;case 6:v=t;break;case 7:C=1;break;case 8:I=q(t),i=1}i&&(g=[],n&&w&&(z+=w,w=0,y++),O.forEach((([e,t])=>{i&e&&t(s)})))}}},k=e=>{let t;return{A(o){(t||(t=new(b(v(o)).ResizeObserver)(e))).observe(o)},J(e){t.unobserve(e)},L(){t&&t.disconnect()}}},C=(e,t)=>t&&y()?-e:e,I=(e,t,o,r,s,l)=>{const c=Date.now;let a=0,u=!1,f=!1,d=!1,h=!1;const p=(()=>{let t;const o=()=>{i(t)&&clearTimeout(t)},r=()=>{o(),t=n((()=>{t=null,(()=>{if(u||f)return u=!1,void p();d=!1,e.j(2)})()}),150)};return r.P=o,r})(),_=()=>{a=c(),d&&(h=!0),l&&e.j(6,l()),e.j(1,r()),p()},g=t=>{if(u||0===e.R()||t.ctrlKey)return;const r=c()-a;150>r&&50<r&&(o?t.deltaX:t.deltaY)&&(u=!0)},m=()=>{f=!0,d=h=!1},v=()=>{f=!1,S()&&(d=!0)};return t.addEventListener("scroll",_),t.addEventListener("wheel",g,{passive:!0}),t.addEventListener("touchstart",m,{passive:!0}),t.addEventListener("touchend",v,{passive:!0}),{L:()=>{t.removeEventListener("scroll",_),t.removeEventListener("wheel",g),t.removeEventListener("touchstart",m),t.removeEventListener("touchend",v),p.P()},W:()=>{const[t,n]=e.M();t&&(s(C(t,o),n,h),h=!1,n&&e.N()>e.T()&&e.j(1,r()))}}},B=/*#__PURE__*/e.defineComponent({props:{X:{type:Object,required:!0},Y:{type:Function,required:!0},D:{type:Number,required:!0},F:{type:Number,required:!0},U:{type:Boolean},V:{type:Boolean},G:{type:Boolean}},setup(t){const o=e.ref();return e.watch((()=>o.value&&t.D),((e,r,n)=>{n(t.Y(o.value,t.D))}),{flush:"post"}),()=>{const{X:r,F:n,U:s,V:i,G:l}=t,c={margin:0,padding:0,position:s&&l?void 0:"absolute",[i?"height":"width"]:"100%",[i?"top":"left"]:"0px",[i?y()?"right":"left":"top"]:n+"px",visibility:!s||l?"visible":"hidden"};return i&&(c.display="flex"),e.createVNode("div",{ref:o,style:c},[r],4)}}}),R=(e,t)=>{const o=e.key;return i(o)?o:"_"+t},N={data:{type:Array,required:!0},overscan:{type:Number,default:4},itemSize:Number,shift:Boolean,horizontal:Boolean,startMargin:{type:Number,default:0},ssrCount:Number,scrollRef:Object},O=/*#__PURE__*/e.defineComponent({props:N,emits:["scroll","scrollEnd","rangeChange"],setup(t,{emit:r,expose:c,slots:a}){var u;let f=!!t.ssrCount;const d=t.horizontal,h=e.ref(),p=x(t.data.length,null!==(u=t.itemSize)&&void 0!==u?u:40,t.ssrCount,0,!t.itemSize),_=((e,t)=>{let o;const r=t?"width":"height",n=new WeakMap,s=k((t=>{const s=[];for(const{target:l,contentRect:c}of t)if(l.offsetParent)if(l===o)e.j(4,c[r]);else{const e=n.get(l);i(e)&&s.push([e,c[r]])}s.length&&e.j(3,s)}));return{K(e){s.A(o=e)},Z:(e,t)=>(n.set(e,t),s.A(e),()=>{n.delete(e),s.J(e)}),L:s.L}})(p,d),g=((e,t)=>{let o,r,i;const c=t?"scrollLeft":"scrollTop",a=t?"overflowX":"overflowY",u=async(r,s)=>{if(!o)return void l((()=>u(r,s)));i&&i();const a=()=>{let t;return[new Promise(((e,o)=>{t=e,n(i=o,150)})),e.H(2,(()=>{t&&t()}))]};if(s&&z()){for(;e.j(8,r()),e.S();){const[e,t]=a();try{await e}catch(e){return}finally{t()}}o.scrollTo({[t?"left":"top"]:C(r(),t),behavior:"smooth"})}else for(;;){const[n,s]=a();try{o[c]=C(r(),t),e.j(7),await n}catch(e){return}finally{s()}}};return{A(s){o=s,r=I(e,s,t,(()=>C(s[c],t)),((t,o,r)=>{if(r){const e=s.style,t=e[a];e[a]="hidden",n((()=>{e[a]=t}))}o?(s[c]=e.B()+t,i&&i()):s[c]+=t}))},L(){r&&r.L()},$(e){u((()=>e))},ee(t){t+=e.B(),u((()=>t))},te(t,{align:o,smooth:r,offset:n=0}={}){if(t=s(t,0,e.I()-1),"nearest"===o){const r=e.k(t),n=e.B();if(r<n)o="start";else{if(!(r+e.C(t)>n+e.N()))return;o="end"}}u((()=>n+e.O()+e.k(t)+("end"===o?e.C(t)-e.N():"center"===o?(e.C(t)-e.N())/2:0)),r)},W:()=>{r&&r.W()}}})(p,d),m=e.ref(p.h()),v=p.H(1,(()=>{m.value=p.h()})),b=p.H(4,(()=>{r("scroll",p.B())})),y=p.H(8,(()=>{r("scrollEnd")}));return e.onMounted((()=>{f=!1,l((()=>{const e=e=>{_.K(e),g.A(e)};t.scrollRef?e(t.scrollRef):e(h.value.parentElement)}))})),e.onUnmounted((()=>{v(),b(),y(),_.L(),g.L()})),e.watch((()=>t.data.length),(e=>{p.j(5,[e,t.shift])})),e.watch((()=>t.startMargin),(e=>{p.j(6,e)}),{immediate:!0}),e.watch([m,p.q],(([,e],[,t])=>{e!==t&&g.W()}),{flush:"post"}),e.watch([m,p.m],(([,[e,t]],[,[o,n]])=>{o===e&&n===t||r("rangeChange",e,t)}),{flush:"post"}),c({get scrollOffset(){return p.B()},get scrollSize(){return(e=>o(e.T(),e.N()))(p)},get viewportSize(){return p.N()},getItemOffset:p.k,scrollToIndex:g.te,scrollTo:g.$,scrollBy:g.ee}),()=>{m.value;const o=t.data.length,[r,n]=p.m(),s=p.R(),i=p.T(),l=[];for(let[i,c]=w(r,n,t.overscan,s,o);i<=c;i++){const o=a.default(t.data[i])[0];l.push(e.createVNode(B,{key:R(o,i),Y:_.Z,D:i,F:p.k(i),U:p.v(i),X:o,V:d,G:f},null,8,["_resizer","_index","_offset","_hide","_children","_isHorizontal","_isSSR"]))}return e.createVNode("div",{ref:h,style:{overflowAnchor:"none",flex:"none",position:"relative",visibility:"hidden",width:d?i+"px":"100%",height:d?"100%":i+"px",pointerEvents:0!==s?"none":"auto"}},[l],4)}}}),T={data:{type:Array,required:!0},overscan:{type:Number,default:4},itemSize:Number,shift:Boolean,horizontal:Boolean,ssrCount:Number},q=/*#__PURE__*/e.defineComponent({props:T,emits:["scroll","scrollEnd","rangeChange"],setup(t,{emit:o,expose:r,slots:n}){const s=t.horizontal,i=e=>{o("scroll",e)},l=()=>{o("scrollEnd")},c=(e,t)=>{o("rangeChange",e,t)},a=e.ref();return r({get scrollOffset(){return a.value.scrollOffset},get scrollSize(){return a.value.scrollSize},get viewportSize(){return a.value.viewportSize},getItemOffset:(...e)=>a.value.getItemOffset(...e),scrollToIndex:(...e)=>a.value.scrollToIndex(...e),scrollTo:(...e)=>a.value.scrollTo(...e),scrollBy:(...e)=>a.value.scrollBy(...e)}),()=>{return e.createVNode("div",{style:{display:s?"inline-block":"block",[s?"overflowX":"overflowY"]:"auto",contain:"strict",width:"100%",height:"100%"}},[e.createVNode(O,{ref:a,data:t.data,overscan:t.overscan,itemSize:t.itemSize,shift:t.shift,ssrCount:t.ssrCount,horizontal:s,onScroll:i,onScrollEnd:l,onRangeChange:c},(o=n,"function"==typeof o||"[object Object]"===Object.prototype.toString.call(o)&&!e.isVNode(o)?n:{default:()=>[n],_:2}),8,["data","overscan","itemSize","shift","ssrCount","horizontal","onScroll","onScrollEnd","onRangeChange"])],4);var o}}}),E={data:{type:Array,required:!0},overscan:{type:Number,default:4},itemSize:Number,shift:Boolean,horizontal:Boolean},M=/*#__PURE__*/e.defineComponent({props:E,emits:["scrollEnd","rangeChange"],setup(t,{emit:o,slots:r}){var n;const s=t.horizontal,l=e.ref(),c=x(t.data.length,null!==(n=t.itemSize)&&void 0!==n?n:40,void 0,0,!t.itemSize),a=((e,t)=>{const o=t?"width":"height",r=t?"innerWidth":"innerHeight",n=new WeakMap,s=k((t=>{const r=[];for(const{target:e,contentRect:s}of t){if(!e.offsetParent)continue;const t=n.get(e);i(t)&&r.push([t,s[o]])}r.length&&e.j(3,r)}));let l;return{K(t){const o=b(v(t)),n=()=>{e.j(4,o[r])};o.addEventListener("resize",n),n(),l=()=>{o.removeEventListener("resize",n)}},Z:(e,t)=>(n.set(e,t),s.A(e),()=>{n.delete(e),s.J(e)}),L(){l&&l(),s.L()}}})(c,s),u=((e,t)=>{let o;return{A(r){const n=t?"scrollX":"scrollY",s=v(r),i=b(s),l=s.body,c=(e,t,o,r=0)=>{const n=o?"offsetLeft":"offsetTop",s=r+(o&&y()?i.innerWidth-e[n]-e.offsetWidth:e[n]),l=e.offsetParent;return e!==t&&l?c(l,t,o,s):s};o=I(e,i,t,(()=>C(i[n],t)),((o,r)=>{r?i.scroll({[t?"left":"top"]:e.B()+o}):i.scrollBy(t?o:0,t?0:o)}),(()=>c(r,l,t)))},L(){o&&o.L()},W:()=>{o&&o.W()}}})(c,s),f=e.ref(c.h()),d=c.H(1,(()=>{f.value=c.h()})),h=c.H(8,(()=>{o("scrollEnd")}));return e.onMounted((()=>{const e=l.value;e&&(a.K(e),u.A(e))})),e.onUnmounted((()=>{d(),h(),a.L(),u.L()})),e.watch((()=>t.data.length),(e=>{c.j(5,[e,t.shift])})),e.watch([f,c.q],(([,e],[,t])=>{e!==t&&u.W()}),{flush:"post"}),e.watch([f,c.m],(([,[e,t]],[,[r,n]])=>{r===e&&n===t||o("rangeChange",e,t)}),{flush:"post"}),()=>{f.value;const o=t.data.length,[n,i]=c.m(),u=c.R(),d=c.T(),h=[];for(let[l,f]=w(n,i,t.overscan,u,o);l<=f;l++){const o=r.default(t.data[l])[0];h.push(e.createVNode(B,{key:R(o,l),Y:a.Z,D:l,F:c.k(l),U:c.v(l),X:o,V:s},null,8,["_resizer","_index","_offset","_hide","_children","_isHorizontal"]))}return e.createVNode("div",{ref:l,style:{overflowAnchor:"none",flex:"none",position:"relative",visibility:"hidden",width:s?d+"px":"100%",height:s?"100%":d+"px",pointerEvents:0!==u?"none":"auto"}},[h],4)}}});exports.VList=q,exports.Virtualizer=O,exports.WindowVirtualizer=M;
|
|
1
|
+
var e=require("vue");const t=null,o=Math.min,r=Math.max,n=Math.abs,s=setTimeout,i=(e,t,n)=>o(n,r(t,e)),l="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},c=e=>{let t,o;return(...r)=>(t||(t=!0,o=e(...r)),o)},a=-1,u=(e,t,o)=>{const r=o?"unshift":"push";for(let o=0;o<t;o++)e[r](a);return e},f=(e,t)=>{const o=e.t[t];return o===a?e.o:o},d=(e,t,r)=>{const n=e.t[t]===a;return e.t[t]=r,e.i=o(t,e.i),n},_=(e,t)=>{if(!e.l)return 0;if(e.i>=t)return e.u[t];e.i<0&&(e.u[0]=0,e.i=0);let o=e.i,r=e.u[o];for(;o<t;)r+=f(e,o),e.u[++o]=r;return e.i=t,r},p=(e,t,o)=>{for(;o>=0&&o<e.l;){const r=_(e,o);if(r<=t){if(r+f(e,o)>t)break;o++}else o--}return i(o,0,e.l-1)},h=(e,t,r)=>{const n=t-e.l;return e.i=r?-1:o(t-1,e.i),e.l=t,n>0?(u(e.u,n),u(e.t,n,r),e.o*n):(e.u.splice(n),(r?e.t.splice(0,-n):e.t.splice(n)).reduce(((t,o)=>t-(o===a?e.o:o)),0))},g="undefined"!=typeof window,m=()=>document.documentElement,v=e=>e.ownerDocument,b=e=>e.defaultView,y=/*#__PURE__*/c((()=>!!g&&"rtl"===getComputedStyle(m()).direction)),S=/*#__PURE__*/c((()=>/iP(hone|od|ad)/.test(navigator.userAgent))),z=/*#__PURE__*/c((()=>"scrollBehavior"in m().style)),w=(e,t,n,s,i)=>(1!==s&&(e-=r(0,n)),2!==s&&(t+=r(0,n)),[r(e,0),o(t,i-1)]),x=(e,s=40,i=0,l,c=!1)=>{let g=!!i,m=[],v=0,b=0,y=0,z=0,w=0,x=0,k=0,O=0,I=0,C=g?[0,r(i-1,0)]:t,j=[0,0],B=0;const R=((e,t)=>({o:t,t:u([],e),l:e,i:-1,u:u([],e)}))(e,s),q=new Set,N=()=>y-b,T=e=>((e,t,r,n)=>{const s=p(e,t,o(r,e.l-1));return[s,p(e,t+n,s)]})(R,e,j[0],v),E=()=>(e=>e.l?_(e,e.l-1)+f(e,e.l-1):0)(R),M=e=>_(R,e)-x,H=e=>f(R,e),A=e=>{e&&(S()&&0!==O?x+=e:(w+=e,z++))};return{p:()=>m,h:()=>(e=>[[...e.t],e.o])(R),m:()=>k?j:(j=T(r(0,N()+x+w)),C?[o(j[0],C[0]),r(j[1],C[1])]:j),v:e=>R.t[e]===a,S:()=>!!v,k:()=>!!C&&R.t.slice(r(0,C[0]-1),o(R.l-1,C[1]+1)+1).includes(a),O:M,I:H,C:()=>R.l,j:()=>y,B:()=>O,R:()=>v,q:()=>b,N:E,T:()=>z,M:()=>(k=w,w=0,[k,2===I]),H(e,t){const o=[e,t];return q.add(o),()=>{q.delete(o)}},A(e,o){let s,i,l=0;switch(e){case 1:{const e=k;k=0;const r=o-y,s=n(r);e&&s<n(e)+1||0!==I||(O=r<0?2:1),g&&(C=t,g=!1),y=o,l=4;const c=N();c>=-v&&c<=E()&&(l+=1,i=s>v);break}case 2:l=8,0!==O&&(s=!0,l+=1),O=0,I=0,C=t;break;case 3:{const e=o.filter((([e,t])=>R.t[e]!==t));if(!e.length)break;A(e.reduce(((e,[t,o])=>((2===I||(C?t<C[0]:M(t)+(0===O&&0===I?H(t):0)<N()))&&(e+=o-H(t)),e)),0));for(const[t,o]of e){const e=H(t),r=d(R,t,o);c&&(B+=o,r||(B-=e))}c&&v&&B>v&&(A(((e,t)=>{let o=0;const n=e.t.filter(((e,r)=>{const n=e!==a;return n&&r<t&&o++,n})),s=e.o;return e.i=-1,((e.o=(e=>{const t=(e=>[...e].sort(((e,t)=>e-t)))(e),o=e.length/2|0;return t.length%2==0?(t[o-1]+t[o])/2:t[o]})(n))-s)*r(t-o,0)})(R,j[0])),c=!1),l=3,i=!0;break}case 4:v!==o&&(v=o,l=3);break;case 5:o[1]?(A(h(R,o[0],!0)),I=2,l=1):h(R,o[0]);break;case 6:b=o;break;case 7:I=1;break;case 8:C=T(o),l=1}l&&(m=[],s&&x&&(w+=x,x=0,z++),q.forEach((([e,t])=>{l&e&&t(i)})))}}},k=e=>{let t;return{J(o){(t||(t=new(b(v(o)).ResizeObserver)(e))).observe(o)},D(e){t.unobserve(e)},L(){t&&t.disconnect()}}},O=(e,t)=>t&&y()?-e:e,I=(e,o,r,n,i,l)=>{const c=Date.now;let a=0,u=!1,f=!1,d=!1,_=!1;const p=(()=>{let o;const r=()=>{o!=t&&clearTimeout(o)},n=()=>{r(),o=s((()=>{o=t,(()=>{if(u||f)return u=!1,void p();d=!1,e.A(2)})()}),150)};return n.P=r,n})(),h=()=>{a=c(),d&&(_=!0),l&&e.A(6,l()),e.A(1,n()),p()},g=t=>{if(u||0===e.B()||t.ctrlKey)return;const o=c()-a;150>o&&50<o&&(r?t.deltaX:t.deltaY)&&(u=!0)},m=()=>{f=!0,d=_=!1},v=()=>{f=!1,S()&&(d=!0)};return o.addEventListener("scroll",h),o.addEventListener("wheel",g,{passive:!0}),o.addEventListener("touchstart",m,{passive:!0}),o.addEventListener("touchend",v,{passive:!0}),{L:()=>{o.removeEventListener("scroll",h),o.removeEventListener("wheel",g),o.removeEventListener("touchstart",m),o.removeEventListener("touchend",v),p.P()},W:()=>{const[t,o]=e.M();t&&(i(O(t,r),o,_),_=!1,o&&e.R()>e.N()&&e.A(1,n()))}}},C=/*#__PURE__*/e.defineComponent({props:{X:{type:Object,required:!0},Y:{type:Function,required:!0},F:{type:Number,required:!0},U:{type:Number,required:!0},V:{type:Boolean},G:{type:Boolean},K:{type:Boolean},Z:{type:String,required:!0}},setup(t){const o=e.ref();return e.watch((()=>o.value&&t.F),((e,r,n)=>{n(t.Y(o.value,t.F))}),{flush:"post"}),()=>{const{X:r,U:n,V:s,G:i,K:l,Z:c}=t,a={margin:0,padding:0,position:s&&l?void 0:"absolute",[i?"height":"width"]:"100%",[i?"top":"left"]:"0px",[i?y()?"right":"left":"top"]:n+"px",visibility:!s||l?"visible":"hidden"};return i&&(a.display="flex"),e.createVNode(c,{ref:o,style:a},"function"==typeof(u=r)||"[object Object]"===Object.prototype.toString.call(u)&&!e.isVNode(u)?r:{default:()=>[r],_:2},8,["style"]);var u}}}),j=(e,o)=>{const r=e.key;return r!=t?r:"_"+o},B={data:{type:Array,required:!0},overscan:{type:Number,default:4},itemSize:Number,shift:Boolean,horizontal:Boolean,startMargin:{type:Number,default:0},ssrCount:Number,scrollRef:Object,as:{type:String,default:"div"},item:{type:String,default:"div"}},R=/*#__PURE__*/e.defineComponent({props:B,emits:["scroll","scrollEnd","rangeChange"],setup(o,{emit:n,expose:c,slots:a}){var u;let f=!!o.ssrCount;const d=o.horizontal,_=e.ref(),p=x(o.data.length,null!==(u=o.itemSize)&&void 0!==u?u:40,o.ssrCount,0,!o.itemSize),h=((e,o)=>{let r;const n=o?"width":"height",s=new WeakMap,i=k((o=>{const i=[];for(const{target:l,contentRect:c}of o)if(l.offsetParent)if(l===r)e.A(4,c[n]);else{const e=s.get(l);e!=t&&i.push([e,c[n]])}i.length&&e.A(3,i)}));return{$(e){i.J(r=e)},ee:(e,t)=>(s.set(e,t),i.J(e),()=>{s.delete(e),i.D(e)}),L:i.L}})(p,d),g=((e,t)=>{let o,r,n;const c=t?"scrollLeft":"scrollTop",a=t?"overflowX":"overflowY",u=async(r,i)=>{if(!o)return void l((()=>u(r,i)));n&&n();const a=()=>{let t;return[new Promise(((o,r)=>{t=o,n=r,e.S()&&s(r,150)})),e.H(2,(()=>{t&&t()}))]};if(i&&z()){for(;e.A(8,r()),e.k();){const[e,t]=a();try{await e}catch(e){return}finally{t()}}o.scrollTo({[t?"left":"top"]:O(r(),t),behavior:"smooth"})}else for(;;){const[n,s]=a();try{o[c]=O(r(),t),e.A(7),await n}catch(e){return}finally{s()}}};return{J(i){o=i,r=I(e,i,t,(()=>O(i[c],t)),((t,o,r)=>{if(r){const e=i.style,t=e[a];e[a]="hidden",s((()=>{e[a]=t}))}o?(i[c]=e.j()+t,n&&n()):i[c]+=t}))},L(){r&&r.L()},te(e){u((()=>e))},oe(t){t+=e.j(),u((()=>t))},re(t,{align:o,smooth:r,offset:n=0}={}){if(t=i(t,0,e.C()-1),"nearest"===o){const r=e.O(t),n=e.j();if(r<n)o="start";else{if(!(r+e.I(t)>n+e.R()))return;o="end"}}u((()=>n+e.q()+e.O(t)+("end"===o?e.I(t)-e.R():"center"===o?(e.I(t)-e.R())/2:0)),r)},W:()=>{r&&r.W()}}})(p,d),m=e.ref(p.p()),v=p.H(1,(()=>{m.value=p.p()})),b=p.H(4,(()=>{n("scroll",p.j())})),y=p.H(8,(()=>{n("scrollEnd")}));return e.onMounted((()=>{f=!1,l((()=>{const e=e=>{h.$(e),g.J(e)};o.scrollRef?e(o.scrollRef):e(_.value.parentElement)}))})),e.onUnmounted((()=>{v(),b(),y(),h.L(),g.L()})),e.watch((()=>o.data.length),(e=>{p.A(5,[e,o.shift])})),e.watch((()=>o.startMargin),(e=>{p.A(6,e)}),{immediate:!0}),e.watch([m,p.T],(([,e],[,t])=>{e!==t&&g.W()}),{flush:"post"}),e.watch([m,p.m],(([,[e,t]],[,[o,r]])=>{o===e&&r===t||n("rangeChange",e,t)}),{flush:"post"}),c({get scrollOffset(){return p.j()},get scrollSize(){return(e=>r(e.N(),e.R()))(p)},get viewportSize(){return p.R()},getItemOffset:p.O,scrollToIndex:g.re,scrollTo:g.te,scrollBy:g.oe}),()=>{m.value;const t=o.as,r=o.item,n=o.data.length,[s,i]=p.m(),l=p.B(),c=p.N(),u=[];for(let[t,c]=w(s,i,o.overscan,l,n);t<=c;t++){const n=a.default(o.data[t])[0];u.push(e.createVNode(C,{key:j(n,t),Y:h.ee,F:t,U:p.O(t),V:p.v(t),X:n,G:d,K:f,Z:r},null,8,["_resizer","_index","_offset","_hide","_children","_isHorizontal","_isSSR","_as"]))}return e.createVNode(t,{ref:_,style:{overflowAnchor:"none",flex:"none",position:"relative",visibility:"hidden",width:d?c+"px":"100%",height:d?"100%":c+"px",pointerEvents:0!==l?"none":"auto"}},"function"==typeof(g=u)||"[object Object]"===Object.prototype.toString.call(g)&&!e.isVNode(g)?u:{default:()=>[u],_:2},8,["style"]);var g}}}),q={data:{type:Array,required:!0},overscan:{type:Number,default:4},itemSize:Number,shift:Boolean,horizontal:Boolean,ssrCount:Number},N=/*#__PURE__*/e.defineComponent({props:q,emits:["scroll","scrollEnd","rangeChange"],setup(t,{emit:o,expose:r,slots:n}){const s=t.horizontal,i=e=>{o("scroll",e)},l=()=>{o("scrollEnd")},c=(e,t)=>{o("rangeChange",e,t)},a=e.ref();return r({get scrollOffset(){return a.value.scrollOffset},get scrollSize(){return a.value.scrollSize},get viewportSize(){return a.value.viewportSize},getItemOffset:(...e)=>a.value.getItemOffset(...e),scrollToIndex:(...e)=>a.value.scrollToIndex(...e),scrollTo:(...e)=>a.value.scrollTo(...e),scrollBy:(...e)=>a.value.scrollBy(...e)}),()=>{return e.createVNode("div",{style:{display:s?"inline-block":"block",[s?"overflowX":"overflowY"]:"auto",contain:"strict",width:"100%",height:"100%"}},[e.createVNode(R,{ref:a,data:t.data,overscan:t.overscan,itemSize:t.itemSize,shift:t.shift,ssrCount:t.ssrCount,horizontal:s,onScroll:i,onScrollEnd:l,onRangeChange:c},(o=n,"function"==typeof o||"[object Object]"===Object.prototype.toString.call(o)&&!e.isVNode(o)?n:{default:()=>[n],_:2}),8,["data","overscan","itemSize","shift","ssrCount","horizontal","onScroll","onScrollEnd","onRangeChange"])],4);var o}}}),T={data:{type:Array,required:!0},overscan:{type:Number,default:4},itemSize:Number,shift:Boolean,horizontal:Boolean,as:{type:String,default:"div"},item:{type:String,default:"div"}},E=/*#__PURE__*/e.defineComponent({props:T,emits:["scrollEnd","rangeChange"],setup(o,{emit:r,slots:n}){var s;const i=o.horizontal,l=e.ref(),c=x(o.data.length,null!==(s=o.itemSize)&&void 0!==s?s:40,void 0,0,!o.itemSize),a=((e,o)=>{const r=o?"width":"height",n=o?"innerWidth":"innerHeight",s=new WeakMap,i=k((o=>{const n=[];for(const{target:e,contentRect:i}of o){if(!e.offsetParent)continue;const o=s.get(e);o!=t&&n.push([o,i[r]])}n.length&&e.A(3,n)}));let l;return{$(t){const o=b(v(t)),r=()=>{e.A(4,o[n])};o.addEventListener("resize",r),r(),l=()=>{o.removeEventListener("resize",r)}},ee:(e,t)=>(s.set(e,t),i.J(e),()=>{s.delete(e),i.D(e)}),L(){l&&l(),i.L()}}})(c,i),u=((e,t)=>{let o;return{J(r){const n=t?"scrollX":"scrollY",s=v(r),i=b(s),l=s.body,c=(e,t,o,r=0)=>{const n=o?"offsetLeft":"offsetTop",s=r+(o&&y()?i.innerWidth-e[n]-e.offsetWidth:e[n]),l=e.offsetParent;return e!==t&&l?c(l,t,o,s):s};o=I(e,i,t,(()=>O(i[n],t)),((o,r)=>{r?i.scroll({[t?"left":"top"]:e.j()+o}):i.scrollBy(t?o:0,t?0:o)}),(()=>c(r,l,t)))},L(){o&&o.L()},W:()=>{o&&o.W()}}})(c,i),f=e.ref(c.p()),d=c.H(1,(()=>{f.value=c.p()})),_=c.H(8,(()=>{r("scrollEnd")}));return e.onMounted((()=>{const e=l.value;e&&(a.$(e),u.J(e))})),e.onUnmounted((()=>{d(),_(),a.L(),u.L()})),e.watch((()=>o.data.length),(e=>{c.A(5,[e,o.shift])})),e.watch([f,c.T],(([,e],[,t])=>{e!==t&&u.W()}),{flush:"post"}),e.watch([f,c.m],(([,[e,t]],[,[o,n]])=>{o===e&&n===t||r("rangeChange",e,t)}),{flush:"post"}),()=>{f.value;const t=o.as,r=o.item,s=o.data.length,[u,d]=c.m(),_=c.B(),p=c.N(),h=[];for(let[t,l]=w(u,d,o.overscan,_,s);t<=l;t++){const s=n.default(o.data[t])[0];h.push(e.createVNode(C,{key:j(s,t),Y:a.ee,F:t,U:c.O(t),V:c.v(t),X:s,G:i,Z:r},null,8,["_resizer","_index","_offset","_hide","_children","_isHorizontal","_as"]))}return e.createVNode(t,{ref:l,style:{overflowAnchor:"none",flex:"none",position:"relative",visibility:"hidden",width:i?p+"px":"100%",height:i?"100%":p+"px",pointerEvents:0!==_?"none":"auto"}},"function"==typeof(g=h)||"[object Object]"===Object.prototype.toString.call(g)&&!e.isVNode(g)?h:{default:()=>[h],_:2},8,["style"]);var g}}});exports.VList=N,exports.Virtualizer=R,exports.WindowVirtualizer=E;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|