virtua 0.44.0 → 0.44.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/Virtualizer.d.ts +1 -1
- package/lib/solid/Virtualizer.d.ts +1 -1
- package/lib/solid/index.cjs +1 -1
- package/lib/solid/index.cjs.map +1 -1
- package/lib/solid/index.js +1 -1
- package/lib/solid/index.js.map +1 -1
- package/lib/solid/index.jsx +22 -24
- package/lib/solid/index.jsx.map +1 -1
- package/lib/svelte/VList.svelte +2 -0
- package/lib/svelte/VList.type.d.ts +1 -1
- package/lib/svelte/Virtualizer.svelte +6 -2
- package/lib/svelte/Virtualizer.type.d.ts +4 -0
- package/lib/svelte/index.js +4 -15
- package/lib/svelte/index.js.map +1 -0
- package/lib/svelte/utils.d.ts +2 -2
- package/lib/svelte/utils.js +25 -9
- package/lib/svelte/utils.js.map +1 -0
- package/lib/vue/VList.d.ts +2 -2
- package/lib/vue/Virtualizer.d.ts +2 -2
- 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 +19 -17
- package/lib/svelte/VList.type.js +0 -2
- package/lib/svelte/Virtualizer.type.js +0 -2
- package/lib/svelte/WindowVirtualizer.type.js +0 -2
- package/lib/svelte/types.js +0 -2
package/lib/svelte/VList.svelte
CHANGED
|
@@ -3,7 +3,7 @@ import type { VirtualizerHandle, VirtualizerProps } from "./Virtualizer.type.js"
|
|
|
3
3
|
/**
|
|
4
4
|
* Props of {@link VList}.
|
|
5
5
|
*/
|
|
6
|
-
export interface VListProps<T> extends Pick<VirtualizerProps<T>, "data" | "getKey" | "overscan" | "itemSize" | "shift" | "horizontal" | "children" | "onscroll" | "onscrollend">, ViewportComponentAttributes {
|
|
6
|
+
export interface VListProps<T> extends Pick<VirtualizerProps<T>, "data" | "getKey" | "overscan" | "itemSize" | "shift" | "horizontal" | "children" | "onscroll" | "onscrollend" | "keepMounted">, ViewportComponentAttributes {
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
9
|
* Methods of {@link VList}.
|
|
@@ -14,7 +14,10 @@
|
|
|
14
14
|
} from "../core/index.js";
|
|
15
15
|
import { defaultGetKey, styleToString, iterRange } from "./utils.js";
|
|
16
16
|
import ListItem from "./ListItem.svelte";
|
|
17
|
-
import type {
|
|
17
|
+
import type {
|
|
18
|
+
VirtualizerHandle,
|
|
19
|
+
VirtualizerProps,
|
|
20
|
+
} from "./Virtualizer.type.js";
|
|
18
21
|
|
|
19
22
|
interface Props extends VirtualizerProps<T> {}
|
|
20
23
|
|
|
@@ -28,6 +31,7 @@
|
|
|
28
31
|
itemSize,
|
|
29
32
|
shift = false,
|
|
30
33
|
horizontal = false,
|
|
34
|
+
keepMounted,
|
|
31
35
|
startMargin = 0,
|
|
32
36
|
children,
|
|
33
37
|
onscroll,
|
|
@@ -148,7 +152,7 @@
|
|
|
148
152
|
Customizable list virtualizer for advanced usage. See {@link VirtualizerProps} and {@link VirtualizerHandle}.
|
|
149
153
|
-->
|
|
150
154
|
<svelte:element this={as} bind:this={containerRef} style={containerStyle}>
|
|
151
|
-
{#each iterRange(range) as index (getKey(data[index]!, index))}
|
|
155
|
+
{#each iterRange(range, keepMounted) as index (getKey(data[index]!, index))}
|
|
152
156
|
{@const item = data[index]!}
|
|
153
157
|
<ListItem
|
|
154
158
|
{children}
|
|
@@ -52,6 +52,10 @@ export interface VirtualizerProps<T> {
|
|
|
52
52
|
* If true, rendered as a horizontally scrollable list. Otherwise rendered as a vertically scrollable list.
|
|
53
53
|
*/
|
|
54
54
|
horizontal?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* List of indexes that should be always mounted, even when off screen.
|
|
57
|
+
*/
|
|
58
|
+
keepMounted?: readonly number[];
|
|
55
59
|
/**
|
|
56
60
|
* If you put an element before virtualizer, you have to define its height with this prop.
|
|
57
61
|
*/
|
package/lib/svelte/index.js
CHANGED
|
@@ -1,15 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.WindowVirtualizer = exports.Virtualizer = exports.VList = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* @module svelte
|
|
9
|
-
*/
|
|
10
|
-
var VList_svelte_1 = require("./VList.svelte");
|
|
11
|
-
Object.defineProperty(exports, "VList", { enumerable: true, get: function () { return __importDefault(VList_svelte_1).default; } });
|
|
12
|
-
var Virtualizer_svelte_1 = require("./Virtualizer.svelte");
|
|
13
|
-
Object.defineProperty(exports, "Virtualizer", { enumerable: true, get: function () { return __importDefault(Virtualizer_svelte_1).default; } });
|
|
14
|
-
var WindowVirtualizer_svelte_1 = require("./WindowVirtualizer.svelte");
|
|
15
|
-
Object.defineProperty(exports, "WindowVirtualizer", { enumerable: true, get: function () { return __importDefault(WindowVirtualizer_svelte_1).default; } });
|
|
1
|
+
export { default as VList } from './VList.svelte';
|
|
2
|
+
export { default as Virtualizer } from './Virtualizer.svelte';
|
|
3
|
+
export { default as WindowVirtualizer } from './WindowVirtualizer.svelte';
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
package/lib/svelte/utils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ItemsRange } from "../core/index.js";
|
|
2
2
|
export declare const styleToString: (obj: Record<string, string | undefined>) => string;
|
|
3
3
|
export declare const defaultGetKey: (_data: unknown, i: number) => string;
|
|
4
|
-
export declare function iterRange([start, end]: ItemsRange): Generator<number, void, unknown>;
|
|
4
|
+
export declare function iterRange([start, end]: ItemsRange, keepMounted?: readonly number[]): Generator<number, void, unknown>;
|
package/lib/svelte/utils.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/** @internal */
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
const sort = (arr) => {
|
|
6
|
+
return [...arr].sort((a, b) => a - b);
|
|
7
|
+
};
|
|
8
|
+
|
|
5
9
|
const styleToString = (obj) => {
|
|
6
10
|
return Object.keys(obj).reduce((acc, k) => {
|
|
7
11
|
const value = obj[k];
|
|
@@ -11,11 +15,23 @@ const styleToString = (obj) => {
|
|
|
11
15
|
return acc + `${k}:${value};`;
|
|
12
16
|
}, "");
|
|
13
17
|
};
|
|
14
|
-
exports.styleToString = styleToString;
|
|
15
18
|
const defaultGetKey = (_data, i) => "_" + i;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
function* iterRange([start, end], keepMounted) {
|
|
20
|
+
if (keepMounted) {
|
|
21
|
+
const mounted = new Set(keepMounted);
|
|
22
|
+
for (let i = start; i <= end; i++) {
|
|
23
|
+
mounted.add(i);
|
|
24
|
+
}
|
|
25
|
+
for (const index of sort([...mounted])) {
|
|
26
|
+
yield index;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
for (let i = start; i <= end; i++) {
|
|
31
|
+
yield i;
|
|
32
|
+
}
|
|
20
33
|
}
|
|
21
34
|
}
|
|
35
|
+
|
|
36
|
+
export { defaultGetKey, iterRange, styleToString };
|
|
37
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../src/core/utils.ts","../../../src/svelte/utils.ts"],"sourcesContent":["/** @internal */\nexport const NULL = null;\n\n/** @internal */\nexport const { min, max, abs, floor } = Math;\n\n/**\n * @internal\n */\nexport const clamp = (\n value: number,\n minValue: number,\n maxValue: number\n): number => min(maxValue, max(minValue, value));\n\n/**\n * @internal\n */\nexport const sort = <T extends number>(arr: readonly T[]): T[] => {\n return [...arr].sort((a, b) => a - b);\n};\n\n/**\n * @internal\n */\nexport const microtask: (fn: () => void) => void =\n typeof queueMicrotask === \"function\"\n ? queueMicrotask\n : (fn) => {\n Promise.resolve().then(fn);\n };\n\n/**\n * @internal\n */\nexport const createPromise = <T = void>(): [Promise<T>, (arg: T) => void] => {\n let resolve: ((arg: T) => void) | undefined;\n const promise = new Promise<T>((res) => {\n resolve = res;\n });\n return [promise, resolve!];\n};\n\n/**\n * @internal\n */\nexport const once = <T>(fn: () => T): (() => T) => {\n let cache: T;\n\n return () => {\n if (fn) {\n cache = fn();\n fn = undefined!;\n }\n return cache;\n };\n};\n","import { sort, type ItemsRange } from \"../core/index.js\";\n\nexport const styleToString = (\n obj: Record<string, string | undefined>\n): string => {\n return Object.keys(obj).reduce((acc, k) => {\n const value = obj[k];\n if (value == null) {\n return acc;\n }\n return acc + `${k}:${value};`;\n }, \"\");\n};\n\nexport const defaultGetKey = (_data: unknown, i: number) => \"_\" + i;\n\nexport function* iterRange(\n [start, end]: ItemsRange,\n keepMounted?: readonly number[]\n) {\n if (keepMounted) {\n const mounted = new Set(keepMounted);\n for (let i = start; i <= end; i++) {\n mounted.add(i);\n }\n for (const index of sort([...mounted])) {\n yield index;\n }\n } else {\n for (let i = start; i <= end; i++) {\n yield i;\n }\n }\n}\n"],"names":[],"mappings":"AAAA;AAeA;;AAEG;AACI,MAAM,IAAI,GAAG,CAAmB,GAAiB,KAAS;AAC/D,IAAA,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC;;AClBM,MAAM,aAAa,GAAG,CAC3B,GAAuC,KAC7B;AACV,IAAA,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,KAAI;AACxC,QAAA,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;AACpB,QAAA,IAAI,KAAK,IAAI,IAAI,EAAE;AACjB,YAAA,OAAO,GAAG;QACZ;AACA,QAAA,OAAO,GAAG,GAAG,CAAA,EAAG,CAAC,CAAA,CAAA,EAAI,KAAK,GAAG;IAC/B,CAAC,EAAE,EAAE,CAAC;AACR;AAEO,MAAM,aAAa,GAAG,CAAC,KAAc,EAAE,CAAS,KAAK,GAAG,GAAG;AAE5D,UAAW,SAAS,CACxB,CAAC,KAAK,EAAE,GAAG,CAAa,EACxB,WAA+B,EAAA;IAE/B,IAAI,WAAW,EAAE;AACf,QAAA,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC;AACpC,QAAA,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE;AACjC,YAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAChB;QACA,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE;AACtC,YAAA,MAAM,KAAK;QACb;IACF;SAAO;AACL,QAAA,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE;AACjC,YAAA,MAAM,CAAC;QACT;IACF;AACF;;;;"}
|
package/lib/vue/VList.d.ts
CHANGED
|
@@ -45,7 +45,7 @@ export declare const VList: import("vue").DefineComponent<{
|
|
|
45
45
|
/**
|
|
46
46
|
* List of indexes that should be always mounted, even when off screen.
|
|
47
47
|
*/
|
|
48
|
-
keepMounted: PropType<number[]>;
|
|
48
|
+
keepMounted: PropType<readonly number[]>;
|
|
49
49
|
}, VListHandle, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
50
50
|
/**
|
|
51
51
|
* Callback invoked whenever scroll offset changes.
|
|
@@ -97,7 +97,7 @@ export declare const VList: import("vue").DefineComponent<{
|
|
|
97
97
|
/**
|
|
98
98
|
* List of indexes that should be always mounted, even when off screen.
|
|
99
99
|
*/
|
|
100
|
-
keepMounted: PropType<number[]>;
|
|
100
|
+
keepMounted: PropType<readonly number[]>;
|
|
101
101
|
}>> & {
|
|
102
102
|
onScroll?: ((offset: number) => any) | undefined;
|
|
103
103
|
onScrollEnd?: (() => any) | undefined;
|
package/lib/vue/Virtualizer.d.ts
CHANGED
|
@@ -118,7 +118,7 @@ export declare const Virtualizer: import("vue").DefineComponent<{
|
|
|
118
118
|
/**
|
|
119
119
|
* List of indexes that should be always mounted, even when off screen.
|
|
120
120
|
*/
|
|
121
|
-
keepMounted: PropType<number[]>;
|
|
121
|
+
keepMounted: PropType<readonly number[]>;
|
|
122
122
|
}, VirtualizerHandle, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
123
123
|
/**
|
|
124
124
|
* Callback invoked whenever scroll offset changes.
|
|
@@ -197,7 +197,7 @@ export declare const Virtualizer: import("vue").DefineComponent<{
|
|
|
197
197
|
/**
|
|
198
198
|
* List of indexes that should be always mounted, even when off screen.
|
|
199
199
|
*/
|
|
200
|
-
keepMounted: PropType<number[]>;
|
|
200
|
+
keepMounted: PropType<readonly number[]>;
|
|
201
201
|
}>> & {
|
|
202
202
|
onScroll?: ((offset: number) => any) | undefined;
|
|
203
203
|
onScrollEnd?: (() => any) | undefined;
|
package/lib/vue/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=require("vue");const t=null,{min:r,max:o,abs:n,floor:s}=Math,i=(e,t,n)=>r(n,o(t,e)),l=e=>[...e].sort(((e,t)=>e-t)),c="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)},u=-1,d=(e,t,r)=>{const o=r?"unshift":"push";for(let r=0;r<t;r++)e[o](u);return e},p=(e,t)=>{const r=e.t[t];return r===u?e.o:r},h=(e,t,o)=>{const n=e.t[t]===u;return e.t[t]=o,e.i=r(t,e.i),n},m=(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+=p(e,r),e.u[++r]=o;return e.i=t,o},_=(e,t,r=0,o=e.l-1)=>{for(;r<=o;){const n=s((r+o)/2),i=m(e,n);if(i<=t){if(i+p(e,n)>t)return n;r=n+1}else o=n-1}return i(r,0,e.l-1)},v=(e,t,o)=>{const n=t-e.l;return e.i=o?-1:r(t-1,e.i),e.l=t,n>0?(d(e.u,n),d(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===u?e.o:r)),0))},b="undefined"!=typeof window,y=()=>document.documentElement,S=e=>e.ownerDocument,g=e=>e.defaultView,x=/*#__PURE__*/f((()=>!!b&&"rtl"===getComputedStyle(y()).direction)),z=/*#__PURE__*/f((()=>/iP(hone|od|ad)/.test(navigator.userAgent))),w=/*#__PURE__*/f((()=>"scrollBehavior"in y().style)),$=e=>!!e.p(),I=(e,s=40,i=4,c=0,a,f=!1)=>{let b=!!c,y=1,S=0,g=0,x=0,w=0,$=0,I=0,k=0,O=0,j=b?[0,o(c-1,0)]:t,E=[0,0],T=0;const q=((e,t)=>({o:t,t:d([],e),l:e,i:-1,u:d([],e)}))(e,s),B=new Set,M=()=>x-g,N=()=>M()+$+w,P=e=>((e,t,o,n)=>{if(n=r(n,e.l-1),m(e,n)<=t){const r=_(e,t+o,n);return[_(e,t,n,r),r]}{const r=_(e,t,void 0,n);return[r,_(e,t+o,r)]}})(q,e,S,E[0]),R=()=>(e=>e.l?m(e,e.l-1)+p(e,e.l-1):0)(q),A=e=>m(q,e)-$,H=e=>p(q,e),V=e=>{e&&(z()&&0!==k||j&&1===O?$+=e:w+=e)};return{h:()=>y,m:()=>(e=>[e.t.slice(),e.o])(q),v:()=>{let e,t;return I?[e,t]=E:([e,t]=E=P(o(0,N())),j&&(e=r(e,j[0]),t=o(t,j[1]))),1!==k&&(e-=o(0,i)),2!==k&&(t+=o(0,i)),[o(e,0),r(t,q.l-1)]},S:()=>_(q,N()),I:()=>_(q,N()+S),k:e=>q.t[e]===u,O:A,j:H,T:()=>q.l,q:()=>x,B:()=>0!==k,p:()=>S,M:()=>g,N:R,P:()=>(I=w,w=0,[I,2===O]),R:(e,t)=>{const r=[e,t];return B.add(r),()=>{B.delete(r)}},A:(e,r)=>{let s,i,c=0;switch(e){case 1:{const e=I;I=0;const o=r-x,s=n(o);e&&s<n(e)+1||0!==O||(k=o<0?2:1),b&&(j=t,b=!1),x=r,c=4;const l=M();l>=-S&&l<=R()&&(c+=1,i=s>S);break}case 2:c=8,0!==k&&(s=!0,c+=1),k=0,O=0,j=t;break;case 3:{const e=r.filter((([e,t])=>q.t[e]!==t));if(!e.length)break;V(e.reduce(((e,[t,r])=>((2===O||(j&&1===O?t<j[0]:A(t)+(0===k&&0===O?H(t):0)<M()))&&(e+=r-H(t)),e)),0));for(const[t,r]of e){const e=H(t),o=h(q,t,r);f&&(T+=o?r:r-e)}f&&S&&T>S&&(V(((e,t)=>{let r=0;const n=[];e.t.forEach(((e,o)=>{e!==u&&(n.push(e),o<t&&r++)})),e.i=-1;const s=l(n),i=s.length,c=i/2|0,a=i%2==0?(s[c-1]+s[c])/2:s[c],f=e.o;return((e.o=a)-f)*o(t-r,0)})(q,_(q,N()))),f=!1),c=3,i=!0;break}case 4:S!==r&&(S=r,c=3);break;case 5:r[1]?(V(v(q,r[0],!0)),O=2,c=1):(v(q,r[0]),c=1);break;case 6:g=r;break;case 7:O=1;break;case 8:j=P(r),c=1}c&&(y=1+(2147483647&y),s&&$&&(w+=$,$=0),B.forEach((([e,t])=>{c&e&&t(i)})))}}},k=setTimeout,O=(e,t)=>t&&x()?-e:e,j=(e,r,o,n,s,i)=>{const l=Date.now;let c=0,a=!1,f=!1,u=!1,d=!1;const p=(()=>{let r;const o=()=>{r!=t&&clearTimeout(r)},n=()=>{o(),r=k((()=>{r=t,(()=>{if(a||f)return a=!1,void p();u=!1,e.A(2)})()}),150)};return n.H=o,n})(),h=()=>{c=l(),u&&(d=!0),i&&e.A(6,i()),e.A(1,n()),p()},m=t=>{if(a||!e.B()||t.ctrlKey)return;const r=l()-c;150>r&&50<r&&(o?t.deltaX:t.deltaY)&&(a=!0)},_=()=>{f=!0,u=d=!1},v=()=>{f=!1,z()&&(u=!0)};return r.addEventListener("scroll",h),r.addEventListener("wheel",m,{passive:!0}),r.addEventListener("touchstart",_,{passive:!0}),r.addEventListener("touchend",v,{passive:!0}),{V:()=>{r.removeEventListener("scroll",h),r.removeEventListener("wheel",m),r.removeEventListener("touchstart",_),r.removeEventListener("touchend",v),p.H()},C:()=>{const[t,r]=e.P();t&&(s(O(t,o),r,d),d=!1,r&&e.p()>e.N()&&e.A(1,n()))}}},E=e=>{let t;return{J(r){(t||(t=new(g(S(r)).ResizeObserver)(e))).observe(r)},F(e){t.unobserve(e)},V(){t&&t.disconnect()}}},T=/*#__PURE__*/e.defineComponent({props:{L:{type:Object,required:!0},W:{type:Object,required:!0},X:{type:Object,required:!0},Y:{type:Function,required:!0},D:{type:Number,required:!0},U:{type:Boolean},G:{type:Boolean},K:{type:String,required:!0},Z:Object},setup(t){const r=e.ref(),o=e.computed((()=>t.L.value&&t.W.O(t.D))),n=e.computed((()=>t.L.value&&t.W.k(t.D)));return e.watch((()=>r.value&&t.D),((e,o,n)=>{n(t.Y(r.value,t.D))}),{flush:"post"}),()=>{var s;const{X:i,U:l,G:c,K:a}=t,f=n.value,{style:u,...d}=null!==(s=t.Z)&&void 0!==s?s:{},p={contain:"layout style",position:f&&c?void 0:"absolute",[l?"height":"width"]:"100%",[l?"top":"left"]:"0px",[l?x()?"right":"left":"top"]:o.value+"px",visibility:!f||c?"visible":"hidden",...u};return l&&(p.display="inline-flex"),e.createVNode(a,e.mergeProps({ref:r,style:p},d),"function"==typeof(h=i)||"[object Object]"===Object.prototype.toString.call(h)&&!e.isVNode(h)?i:{default:()=>[i],_:2},16,["style"]);var h}}}),q=(e,t)=>{const r=e.key;return null!=r?r:"_"+t},B=(e,t)=>e[0]===t[0]&&e[1]===t[1],M={data:{type:Array,required:!0},overscan:Number,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"},itemProps:Function,keepMounted:Array},N=/*#__PURE__*/e.defineComponent({props:M,emits:["scroll","scrollEnd"],setup(r,{emit:n,expose:s,slots:f}){let u=!!r.ssrCount;const d=r.horizontal,p=e.ref(),h=I(r.data.length,r.itemSize,r.overscan,r.ssrCount,0,!r.itemSize),m=((e,r)=>{let o;const n=r?"width":"height",s=new WeakMap,i=E((r=>{const i=[];for(const{target:l,contentRect:c}of r)if(l.offsetParent)if(l===o)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{ee(e){i.J(o=e)},te:(e,t)=>(s.set(e,t),i.J(e),()=>{s.delete(e),i.F(e)}),re:i.V}})(h,d),_=((e,t)=>{let r,o,n,s=a();const l=t?"scrollLeft":"scrollTop",f=t?"overflowX":"overflowY",u=async(o,i)=>{if(!await s[0])return;n&&n();const f=()=>{const[t,r]=a();return n=()=>{r(!1)},$(e)&&k(n,150),[t,e.R(2,(()=>{r(!0)}))]};if(i&&w())e.A(8,o()),c((async()=>{for(;;){let t=!1;for(let[r,o]=e.v();r<=o;r++)if(e.k(r)){t=!0;break}if(!t)break;const[r,o]=f();try{if(!await r)return}finally{o()}}e.A(7),r.scrollTo({[t?"left":"top"]:O(o(),t),behavior:"smooth"})}));else for(;;){const[n,s]=f();try{if(e.A(7),r[l]=O(o(),t),!await n)return}finally{s()}}};return{oe(i){r=i,o=j(e,i,t,(()=>O(i[l],t)),((t,r,o)=>{if(o){const e=i.style,t=e[f];e[f]="hidden",k((()=>{e[f]=t}))}i[l]=e.q()+t,r&&n&&n()})),s[1](!0)},re(){o&&o.V(),s[1](!1),s=a()},ne(e){u((()=>e))},se(t){t+=e.q(),u((()=>t))},ie(t,{align:r,smooth:o,offset:n=0}={}){if(t=i(t,0,e.T()-1),"nearest"===r){const o=e.O(t),n=e.q();if(o<n)r="start";else{if(!(o+e.j(t)>n+e.p()))return;r="end"}}u((()=>n+e.M()+e.O(t)+("end"===r?e.j(t)-e.p():"center"===r?(e.j(t)-e.p())/2:0)),o)},le:()=>{o&&o.C()}}})(h,d),v=e.ref(h.h()),b=h.R(1,(()=>{v.value=h.h()})),y=h.R(4,(()=>{n("scroll",h.q())})),S=h.R(8,(()=>{n("scrollEnd")})),g=e.computed((e=>{v.value;const t=h.v();return e&&B(e,t)?e:t})),x=e.computed((()=>v.value&&h.B())),z=e.computed((()=>v.value&&h.N()));return e.onMounted((()=>{u=!1,c((()=>{const e=e=>{m.ee(e),_.oe(e)};r.scrollRef?e(r.scrollRef):e(p.value.parentElement)}))})),e.onUnmounted((()=>{b(),y(),S(),m.re(),_.re()})),e.watch((()=>r.data.length),(e=>{h.A(5,[e,r.shift])})),e.watch((()=>r.startMargin),(e=>{h.A(6,e)}),{immediate:!0}),e.watch([v],(()=>{_.le()}),{flush:"post"}),s({get scrollOffset(){return h.q()},get scrollSize(){return(e=>o(e.N(),e.p()))(h)},get viewportSize(){return h.p()},findStartIndex:h.S,findEndIndex:h.I,getItemOffset:h.O,getItemSize:h.j,scrollToIndex:_.ie,scrollTo:_.ne,scrollBy:_.se}),()=>{const t=r.as,o=r.item,[n,s]=g.value,i=z.value,c=[];function a(t){var n;const s=f.default({item:r.data[t],index:t})[0];return e.createVNode(T,{key:q(s,t),L:v,W:h,Y:m.te,D:t,X:s,U:d,G:u,K:o,Z:null===(n=r.itemProps)||void 0===n?void 0:n.call(r,{item:r.data[t],index:t})},null,8,["_stateVersion","_store","_resizer","_index","_children","_isHorizontal","_isSSR","_as","_itemProps"])}for(let e=n,t=s;e<=t;e++)c.push(a(e));if(r.keepMounted){const e=[],t=[];l(r.keepMounted).forEach((r=>{r<n&&e.push(a(r)),r>s&&t.push(a(r))})),c.unshift(...e),c.push(...t)}return e.createVNode(t,{ref:p,style:{contain:"strict",overflowAnchor:"none",overflow:"clip",flex:"none",position:"relative",width:d?i+"px":"100%",height:d?"100%":i+"px",pointerEvents:x.value?"none":void 0}},"function"==typeof(_=c)||"[object Object]"===Object.prototype.toString.call(_)&&!e.isVNode(_)?c:{default:()=>[c],_:2},8,["style"]);var _}}}),P={data:{type:Array,required:!0},overscan:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,ssrCount:Number,itemProps:Function,keepMounted:Array},R=/*#__PURE__*/e.defineComponent({props:P,emits:["scroll","scrollEnd"],setup(t,{emit:r,expose:o,slots:n}){const s=t.horizontal,i=e=>{r("scroll",e)},l=()=>{r("scrollEnd")},c=e.ref();return o({get scrollOffset(){return c.value.scrollOffset},get scrollSize(){return c.value.scrollSize},get viewportSize(){return c.value.viewportSize},findStartIndex:(...e)=>c.value.findStartIndex(...e),findEndIndex:(...e)=>c.value.findEndIndex(...e),getItemOffset:(...e)=>c.value.getItemOffset(...e),getItemSize:(...e)=>c.value.getItemSize(...e),scrollToIndex:(...e)=>c.value.scrollToIndex(...e),scrollTo:(...e)=>c.value.scrollTo(...e),scrollBy:(...e)=>c.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(N,{ref:c,data:t.data,overscan:t.overscan,itemSize:t.itemSize,itemProps:t.itemProps,shift:t.shift,ssrCount:t.ssrCount,horizontal:s,keepMounted:t.keepMounted,onScroll:i,onScrollEnd:l},(r=n,"function"==typeof r||"[object Object]"===Object.prototype.toString.call(r)&&!e.isVNode(r)?n:{default:()=>[n],_:2}),8,["data","overscan","itemSize","itemProps","shift","ssrCount","horizontal","keepMounted","onScroll","onScrollEnd"])],4);var r}}}),A={data:{type:Array,required:!0},overscan:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,as:{type:String,default:"div"},item:{type:String,default:"div"}},H=/*#__PURE__*/e.defineComponent({props:A,emits:["scroll","scrollEnd"],setup(r,{emit:o,slots:n,expose:s}){const l=r.horizontal,f=e.ref(),u=I(r.data.length,r.itemSize,r.overscan,void 0,0,!r.itemSize),d=((e,r)=>{const o=r?"width":"height",n=r?"innerWidth":"innerHeight",s=new WeakMap,i=E((r=>{const n=[];for(const{target:e,contentRect:i}of r){if(!e.offsetParent)continue;const r=s.get(e);r!=t&&n.push([r,i[o]])}n.length&&e.A(3,n)}));let l;return{ee(t){const r=g(S(t)),o=()=>{e.A(4,r[n])};r.addEventListener("resize",o),o(),l=()=>{r.removeEventListener("resize",o)}},te:(e,t)=>(s.set(e,t),i.J(e),()=>{s.delete(e),i.F(e)}),re(){l&&l(),i.V()}}})(u,l),p=((e,t)=>{let r,o,n,s=a();const l=(e,t,r,o,n=0)=>{const s=o?"offsetLeft":"offsetTop",i=n+(o&&x()?r.innerWidth-e[s]-e.offsetWidth:e[s]),c=e.offsetParent;return e!==t&&c?l(c,t,r,o,i):i};return{oe(n){r=n;const i=t?"scrollX":"scrollY",c=S(n),a=g(c),f=c.body;o=j(e,a,t,(()=>O(a[i],t)),(r=>{a.scroll({[t?"left":"top"]:e.q()+r})}),(()=>l(n,f,a,t))),s[1](!0)},re(){o&&o.V(),r=void 0,s[1](!1),s=a()},le:()=>{o&&o.C()},ie(o,{align:f,smooth:u,offset:d=0}={}){if(!r)return;if(o=i(o,0,e.T()-1),"nearest"===f){const t=e.O(o),r=e.q();if(t<r)f="start";else{if(!(t+e.j(o)>r+e.p()))return;f="end"}}const p=S(r),h=g(p),m=p.documentElement,_=()=>e.p()-(t?m.clientWidth:m.clientHeight);(async(o,i)=>{if(!await s[0])return;n&&n();const l=()=>{const[t,r]=a();return n=()=>{r(!1)},$(e)&&k(n,150),[t,e.R(2,(()=>{r(!0)}))]},f=g(S(r));if(i&&w())e.A(8,o()),c((async()=>{for(;;){let t=!1;for(let[r,o]=e.v();r<=o;r++)if(e.k(r)){t=!0;break}if(!t)break;const[r,o]=l();try{if(!await r)return}finally{o()}}e.A(7),f.scroll({[t?"left":"top"]:O(o(),t),behavior:"smooth"})}));else for(;;){const[r,n]=l();try{if(e.A(7),f.scroll({[t?"left":"top"]:O(o(),t)}),!await r)return}finally{n()}}})((()=>d+l(r,p.body,h,t)+e.O(o)+("end"===f?e.j(o)-(e.p()-_()):"center"===f?(e.j(o)-(e.p()-_()))/2:0)),u)}}})(u,l),h=e.ref(u.h()),m=u.R(1,(()=>{h.value=u.h()})),_=u.R(4,(()=>{o("scroll")})),v=u.R(8,(()=>{o("scrollEnd")})),b=e.computed((e=>{h.value;const t=u.v();return e&&B(e,t)?e:t})),y=e.computed((()=>h.value&&u.B())),z=e.computed((()=>h.value&&u.N()));return e.onMounted((()=>{const e=f.value;e&&(d.ee(e),p.oe(e))})),e.onUnmounted((()=>{m(),_(),v(),d.re(),p.re()})),e.watch((()=>r.data.length),(e=>{u.A(5,[e,r.shift])})),e.watch([h],(()=>{p.le()}),{flush:"post"}),s({findStartIndex:u.S,findEndIndex:u.I,scrollToIndex:p.ie}),()=>{const t=r.as,o=r.item,[s,i]=b.value,c=z.value,a=[];for(let t=s,c=i;t<=c;t++){const s=n.default({item:r.data[t],index:t})[0];a.push(e.createVNode(T,{key:q(s,t),L:h,W:u,Y:d.te,D:t,X:s,U:l,K:o},null,8,["_stateVersion","_store","_resizer","_index","_children","_isHorizontal","_as"]))}return e.createVNode(t,{ref:f,style:{contain:"strict",overflowAnchor:"none",overflow:"clip",flex:"none",position:"relative",width:l?c+"px":"100%",height:l?"100%":c+"px",pointerEvents:y.value?"none":void 0}},"function"==typeof(p=a)||"[object Object]"===Object.prototype.toString.call(p)&&!e.isVNode(p)?a:{default:()=>[a],_:2},8,["style"]);var p}}});exports.VList=R,exports.Virtualizer=N,exports.WindowVirtualizer=H;
|
|
1
|
+
var e=require("vue");const t=null,{min:r,max:o,abs:n,floor:s}=Math,i=(e,t,n)=>r(n,o(t,e)),l=e=>[...e].sort(((e,t)=>e-t)),c="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)},u=-1,d=(e,t,r)=>{const o=r?"unshift":"push";for(let r=0;r<t;r++)e[o](u);return e},p=(e,t)=>{const r=e.t[t];return r===u?e.o:r},h=(e,t,o)=>{const n=e.t[t]===u;return e.t[t]=o,e.i=r(t,e.i),n},m=(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+=p(e,r),e.u[++r]=o;return e.i=t,o},_=(e,t,r=0,o=e.l-1)=>{for(;r<=o;){const n=s((r+o)/2),i=m(e,n);if(i<=t){if(i+p(e,n)>t)return n;r=n+1}else o=n-1}return i(r,0,e.l-1)},v=(e,t,o)=>{const n=t-e.l;return e.i=o?-1:r(t-1,e.i),e.l=t,n>0?(d(e.u,n),d(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===u?e.o:r)),0))},b="undefined"!=typeof window,y=()=>document.documentElement,S=e=>e.ownerDocument,g=e=>e.defaultView,x=/*#__PURE__*/f((()=>!!b&&"rtl"===getComputedStyle(y()).direction)),z=/*#__PURE__*/f((()=>/iP(hone|od|ad)/.test(navigator.userAgent))),w=/*#__PURE__*/f((()=>"scrollBehavior"in y().style)),$=e=>!!e.p(),I=(e,s=40,i=4,c=0,a,f=!1)=>{let b=!!c,y=1,S=0,g=0,x=0,w=0,$=0,I=0,k=0,O=0,j=b?[0,o(c-1,0)]:t,E=[0,0],T=0;const q=((e,t)=>({o:t,t:d([],e),l:e,i:-1,u:d([],e)}))(e,s),B=new Set,M=()=>x-g,N=()=>M()+$+w,P=e=>((e,t,o,n)=>{if(n=r(n,e.l-1),m(e,n)<=t){const r=_(e,t+o,n);return[_(e,t,n,r),r]}{const r=_(e,t,void 0,n);return[r,_(e,t+o,r)]}})(q,e,S,E[0]),R=()=>(e=>e.l?m(e,e.l-1)+p(e,e.l-1):0)(q),A=e=>m(q,e)-$,H=e=>p(q,e),V=e=>{e&&(z()&&0!==k||j&&1===O?$+=e:w+=e)};return{h:()=>y,m:()=>(e=>[e.t.slice(),e.o])(q),v:()=>{let e,t;return I?[e,t]=E:([e,t]=E=P(o(0,N())),j&&(e=r(e,j[0]),t=o(t,j[1]))),1!==k&&(e-=o(0,i)),2!==k&&(t+=o(0,i)),[o(e,0),r(t,q.l-1)]},S:()=>_(q,N()),I:()=>_(q,N()+S),k:e=>q.t[e]===u,O:A,j:H,T:()=>q.l,q:()=>x,B:()=>0!==k,p:()=>S,M:()=>g,N:R,P:()=>(I=w,w=0,[I,2===O]),R:(e,t)=>{const r=[e,t];return B.add(r),()=>{B.delete(r)}},A:(e,r)=>{let s,i,c=0;switch(e){case 1:{const e=I;I=0;const o=r-x,s=n(o);e&&s<n(e)+1||0!==O||(k=o<0?2:1),b&&(j=t,b=!1),x=r,c=4;const l=M();l>=-S&&l<=R()&&(c+=1,i=s>S);break}case 2:c=8,0!==k&&(s=!0,c+=1),k=0,O=0,j=t;break;case 3:{const e=r.filter((([e,t])=>q.t[e]!==t));if(!e.length)break;V(e.reduce(((e,[t,r])=>((2===O||(j&&1===O?t<j[0]:A(t)+(0===k&&0===O?H(t):0)<M()))&&(e+=r-H(t)),e)),0));for(const[t,r]of e){const e=H(t),o=h(q,t,r);f&&(T+=o?r:r-e)}f&&S&&T>S&&(V(((e,t)=>{let r=0;const n=[];e.t.forEach(((e,o)=>{e!==u&&(n.push(e),o<t&&r++)})),e.i=-1;const s=l(n),i=s.length,c=i/2|0,a=i%2==0?(s[c-1]+s[c])/2:s[c],f=e.o;return((e.o=a)-f)*o(t-r,0)})(q,_(q,N()))),f=!1),c=3,i=!0;break}case 4:S!==r&&(S=r,c=3);break;case 5:r[1]?(V(v(q,r[0],!0)),O=2,c=1):(v(q,r[0]),c=1);break;case 6:g=r;break;case 7:O=1;break;case 8:j=P(r),c=1}c&&(y=1+(2147483647&y),s&&$&&(w+=$,$=0),B.forEach((([e,t])=>{c&e&&t(i)})))}}},k=setTimeout,O=(e,t)=>t&&x()?-e:e,j=(e,r,o,n,s,i)=>{const l=Date.now;let c=0,a=!1,f=!1,u=!1,d=!1;const p=(()=>{let r;const o=()=>{r!=t&&clearTimeout(r)},n=()=>{o(),r=k((()=>{r=t,(()=>{if(a||f)return a=!1,void p();u=!1,e.A(2)})()}),150)};return n.H=o,n})(),h=()=>{c=l(),u&&(d=!0),i&&e.A(6,i()),e.A(1,n()),p()},m=t=>{if(a||!e.B()||t.ctrlKey)return;const r=l()-c;150>r&&50<r&&(o?t.deltaX:t.deltaY)&&(a=!0)},_=()=>{f=!0,u=d=!1},v=()=>{f=!1,z()&&(u=!0)};return r.addEventListener("scroll",h),r.addEventListener("wheel",m,{passive:!0}),r.addEventListener("touchstart",_,{passive:!0}),r.addEventListener("touchend",v,{passive:!0}),{V:()=>{r.removeEventListener("scroll",h),r.removeEventListener("wheel",m),r.removeEventListener("touchstart",_),r.removeEventListener("touchend",v),p.H()},C:()=>{const[t,r]=e.P();t&&(s(O(t,o),r,d),d=!1,r&&e.p()>e.N()&&e.A(1,n()))}}},E=e=>{let t;return{J(r){(t||(t=new(g(S(r)).ResizeObserver)(e))).observe(r)},F(e){t.unobserve(e)},V(){t&&t.disconnect()}}},T=/*#__PURE__*/e.defineComponent({props:{L:{type:Object,required:!0},W:{type:Object,required:!0},X:{type:Object,required:!0},Y:{type:Function,required:!0},D:{type:Number,required:!0},U:{type:Boolean},G:{type:Boolean},K:{type:String,required:!0},Z:Object},setup(t){const r=e.ref(),o=e.computed((()=>t.L.value&&t.W.O(t.D))),n=e.computed((()=>t.L.value&&t.W.k(t.D)));return e.watch((()=>r.value&&t.D),((e,o,n)=>{n(t.Y(r.value,t.D))}),{flush:"post"}),()=>{var s;const{X:i,U:l,G:c,K:a}=t,f=n.value,{style:u,...d}=null!==(s=t.Z)&&void 0!==s?s:{},p={contain:"layout style",position:f&&c?void 0:"absolute",[l?"height":"width"]:"100%",[l?"top":"left"]:"0px",[l?x()?"right":"left":"top"]:o.value+"px",visibility:!f||c?"visible":"hidden",...u};return l&&(p.display="inline-flex"),e.createVNode(a,e.mergeProps({ref:r,style:p},d),"function"==typeof(h=i)||"[object Object]"===Object.prototype.toString.call(h)&&!e.isVNode(h)?i:{default:()=>[i],_:2},16,["style"]);var h}}}),q=(e,t)=>{const r=e.key;return null!=r?r:"_"+t},B=(e,t)=>e[0]===t[0]&&e[1]===t[1],M={data:{type:Array,required:!0},overscan:Number,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"},itemProps:Function,keepMounted:Array},N=/*#__PURE__*/e.defineComponent({props:M,emits:["scroll","scrollEnd"],setup(r,{emit:n,expose:s,slots:f}){let u=!!r.ssrCount;const d=r.horizontal,p=e.ref(),h=I(r.data.length,r.itemSize,r.overscan,r.ssrCount,0,!r.itemSize),m=((e,r)=>{let o;const n=r?"width":"height",s=new WeakMap,i=E((r=>{const i=[];for(const{target:l,contentRect:c}of r)if(l.offsetParent)if(l===o)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{ee(e){i.J(o=e)},te:(e,t)=>(s.set(e,t),i.J(e),()=>{s.delete(e),i.F(e)}),re:i.V}})(h,d),_=((e,t)=>{let r,o,n,s=a();const l=t?"scrollLeft":"scrollTop",f=t?"overflowX":"overflowY",u=async(o,i)=>{if(!await s[0])return;n&&n();const f=()=>{const[t,r]=a();return n=()=>{r(!1)},$(e)&&k(n,150),[t,e.R(2,(()=>{r(!0)}))]};if(i&&w())e.A(8,o()),c((async()=>{for(;;){let t=!1;for(let[r,o]=e.v();r<=o;r++)if(e.k(r)){t=!0;break}if(!t)break;const[r,o]=f();try{if(!await r)return}finally{o()}}e.A(7),r.scrollTo({[t?"left":"top"]:O(o(),t),behavior:"smooth"})}));else for(;;){const[n,s]=f();try{if(e.A(7),r[l]=O(o(),t),!await n)return}finally{s()}}};return{oe(i){r=i,o=j(e,i,t,(()=>O(i[l],t)),((t,r,o)=>{if(o){const e=i.style,t=e[f];e[f]="hidden",k((()=>{e[f]=t}))}i[l]=e.q()+t,r&&n&&n()})),s[1](!0)},re(){o&&o.V(),s[1](!1),s=a()},ne(e){u((()=>e))},se(t){t+=e.q(),u((()=>t))},ie(t,{align:r,smooth:o,offset:n=0}={}){if(t=i(t,0,e.T()-1),"nearest"===r){const o=e.O(t),n=e.q();if(o<n)r="start";else{if(!(o+e.j(t)>n+e.p()))return;r="end"}}u((()=>n+e.M()+e.O(t)+("end"===r?e.j(t)-e.p():"center"===r?(e.j(t)-e.p())/2:0)),o)},le:()=>{o&&o.C()}}})(h,d),v=e.ref(h.h()),b=h.R(1,(()=>{v.value=h.h()})),y=h.R(4,(()=>{n("scroll",h.q())})),S=h.R(8,(()=>{n("scrollEnd")})),g=e.computed((e=>{v.value;const t=h.v();return e&&B(e,t)?e:t})),x=e.computed((()=>v.value&&h.B())),z=e.computed((()=>v.value&&h.N()));return e.onMounted((()=>{u=!1,c((()=>{const e=e=>{m.ee(e),_.oe(e)};r.scrollRef?e(r.scrollRef):e(p.value.parentElement)}))})),e.onUnmounted((()=>{b(),y(),S(),m.re(),_.re()})),e.watch((()=>r.data.length),(e=>{h.A(5,[e,r.shift])})),e.watch((()=>r.startMargin),(e=>{h.A(6,e)}),{immediate:!0}),e.watch([v],(()=>{_.le()}),{flush:"post"}),s({get scrollOffset(){return h.q()},get scrollSize(){return(e=>o(e.N(),e.p()))(h)},get viewportSize(){return h.p()},findStartIndex:h.S,findEndIndex:h.I,getItemOffset:h.O,getItemSize:h.j,scrollToIndex:_.ie,scrollTo:_.ne,scrollBy:_.se}),()=>{const t=r.as,o=r.item,[n,s]=g.value,i=z.value,c=[];function a(t){var n;const s=f.default({item:r.data[t],index:t})[0];return e.createVNode(T,{key:q(s,t),L:v,W:h,Y:m.te,D:t,X:s,U:d,G:u,K:o,Z:null===(n=r.itemProps)||void 0===n?void 0:n.call(r,{item:r.data[t],index:t})},null,8,["_stateVersion","_store","_resizer","_index","_children","_isHorizontal","_isSSR","_as","_itemProps"])}if(r.keepMounted){const e=new Set(r.keepMounted);for(let t=n,r=s;t<=r;t++)e.add(t);l([...e]).forEach((e=>{c.push(a(e))}))}else for(let e=n,t=s;e<=t;e++)c.push(a(e));return e.createVNode(t,{ref:p,style:{contain:"strict",overflowAnchor:"none",overflow:"clip",flex:"none",position:"relative",width:d?i+"px":"100%",height:d?"100%":i+"px",pointerEvents:x.value?"none":void 0}},"function"==typeof(_=c)||"[object Object]"===Object.prototype.toString.call(_)&&!e.isVNode(_)?c:{default:()=>[c],_:2},8,["style"]);var _}}}),P={data:{type:Array,required:!0},overscan:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,ssrCount:Number,itemProps:Function,keepMounted:Array},R=/*#__PURE__*/e.defineComponent({props:P,emits:["scroll","scrollEnd"],setup(t,{emit:r,expose:o,slots:n}){const s=t.horizontal,i=e=>{r("scroll",e)},l=()=>{r("scrollEnd")},c=e.ref();return o({get scrollOffset(){return c.value.scrollOffset},get scrollSize(){return c.value.scrollSize},get viewportSize(){return c.value.viewportSize},findStartIndex:(...e)=>c.value.findStartIndex(...e),findEndIndex:(...e)=>c.value.findEndIndex(...e),getItemOffset:(...e)=>c.value.getItemOffset(...e),getItemSize:(...e)=>c.value.getItemSize(...e),scrollToIndex:(...e)=>c.value.scrollToIndex(...e),scrollTo:(...e)=>c.value.scrollTo(...e),scrollBy:(...e)=>c.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(N,{ref:c,data:t.data,overscan:t.overscan,itemSize:t.itemSize,itemProps:t.itemProps,shift:t.shift,ssrCount:t.ssrCount,horizontal:s,keepMounted:t.keepMounted,onScroll:i,onScrollEnd:l},(r=n,"function"==typeof r||"[object Object]"===Object.prototype.toString.call(r)&&!e.isVNode(r)?n:{default:()=>[n],_:2}),8,["data","overscan","itemSize","itemProps","shift","ssrCount","horizontal","keepMounted","onScroll","onScrollEnd"])],4);var r}}}),A={data:{type:Array,required:!0},overscan:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,as:{type:String,default:"div"},item:{type:String,default:"div"}},H=/*#__PURE__*/e.defineComponent({props:A,emits:["scroll","scrollEnd"],setup(r,{emit:o,slots:n,expose:s}){const l=r.horizontal,f=e.ref(),u=I(r.data.length,r.itemSize,r.overscan,void 0,0,!r.itemSize),d=((e,r)=>{const o=r?"width":"height",n=r?"innerWidth":"innerHeight",s=new WeakMap,i=E((r=>{const n=[];for(const{target:e,contentRect:i}of r){if(!e.offsetParent)continue;const r=s.get(e);r!=t&&n.push([r,i[o]])}n.length&&e.A(3,n)}));let l;return{ee(t){const r=g(S(t)),o=()=>{e.A(4,r[n])};r.addEventListener("resize",o),o(),l=()=>{r.removeEventListener("resize",o)}},te:(e,t)=>(s.set(e,t),i.J(e),()=>{s.delete(e),i.F(e)}),re(){l&&l(),i.V()}}})(u,l),p=((e,t)=>{let r,o,n,s=a();const l=(e,t,r,o,n=0)=>{const s=o?"offsetLeft":"offsetTop",i=n+(o&&x()?r.innerWidth-e[s]-e.offsetWidth:e[s]),c=e.offsetParent;return e!==t&&c?l(c,t,r,o,i):i};return{oe(n){r=n;const i=t?"scrollX":"scrollY",c=S(n),a=g(c),f=c.body;o=j(e,a,t,(()=>O(a[i],t)),(r=>{a.scroll({[t?"left":"top"]:e.q()+r})}),(()=>l(n,f,a,t))),s[1](!0)},re(){o&&o.V(),r=void 0,s[1](!1),s=a()},le:()=>{o&&o.C()},ie(o,{align:f,smooth:u,offset:d=0}={}){if(!r)return;if(o=i(o,0,e.T()-1),"nearest"===f){const t=e.O(o),r=e.q();if(t<r)f="start";else{if(!(t+e.j(o)>r+e.p()))return;f="end"}}const p=S(r),h=g(p),m=p.documentElement,_=()=>e.p()-(t?m.clientWidth:m.clientHeight);(async(o,i)=>{if(!await s[0])return;n&&n();const l=()=>{const[t,r]=a();return n=()=>{r(!1)},$(e)&&k(n,150),[t,e.R(2,(()=>{r(!0)}))]},f=g(S(r));if(i&&w())e.A(8,o()),c((async()=>{for(;;){let t=!1;for(let[r,o]=e.v();r<=o;r++)if(e.k(r)){t=!0;break}if(!t)break;const[r,o]=l();try{if(!await r)return}finally{o()}}e.A(7),f.scroll({[t?"left":"top"]:O(o(),t),behavior:"smooth"})}));else for(;;){const[r,n]=l();try{if(e.A(7),f.scroll({[t?"left":"top"]:O(o(),t)}),!await r)return}finally{n()}}})((()=>d+l(r,p.body,h,t)+e.O(o)+("end"===f?e.j(o)-(e.p()-_()):"center"===f?(e.j(o)-(e.p()-_()))/2:0)),u)}}})(u,l),h=e.ref(u.h()),m=u.R(1,(()=>{h.value=u.h()})),_=u.R(4,(()=>{o("scroll")})),v=u.R(8,(()=>{o("scrollEnd")})),b=e.computed((e=>{h.value;const t=u.v();return e&&B(e,t)?e:t})),y=e.computed((()=>h.value&&u.B())),z=e.computed((()=>h.value&&u.N()));return e.onMounted((()=>{const e=f.value;e&&(d.ee(e),p.oe(e))})),e.onUnmounted((()=>{m(),_(),v(),d.re(),p.re()})),e.watch((()=>r.data.length),(e=>{u.A(5,[e,r.shift])})),e.watch([h],(()=>{p.le()}),{flush:"post"}),s({findStartIndex:u.S,findEndIndex:u.I,scrollToIndex:p.ie}),()=>{const t=r.as,o=r.item,[s,i]=b.value,c=z.value,a=[];for(let t=s,c=i;t<=c;t++){const s=n.default({item:r.data[t],index:t})[0];a.push(e.createVNode(T,{key:q(s,t),L:h,W:u,Y:d.te,D:t,X:s,U:l,K:o},null,8,["_stateVersion","_store","_resizer","_index","_children","_isHorizontal","_as"]))}return e.createVNode(t,{ref:f,style:{contain:"strict",overflowAnchor:"none",overflow:"clip",flex:"none",position:"relative",width:l?c+"px":"100%",height:l?"100%":c+"px",pointerEvents:y.value?"none":void 0}},"function"==typeof(p=a)||"[object Object]"===Object.prototype.toString.call(p)&&!e.isVNode(p)?a:{default:()=>[a],_:2},8,["style"]);var p}}});exports.VList=R,exports.Virtualizer=N,exports.WindowVirtualizer=H;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|