virtua 0.47.2 → 0.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/core/index.cjs +1 -1
- package/lib/core/index.cjs.map +1 -1
- package/lib/core/index.d.ts +1 -1
- package/lib/core/index.js +1 -1
- package/lib/core/index.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.cjs.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/react/VList.d.ts +0 -4
- package/lib/solid/index.cjs +1 -1
- package/lib/solid/index.cjs.map +1 -1
- package/lib/solid/index.js +1 -1
- package/lib/solid/index.js.map +1 -1
- package/lib/solid/index.jsx +67 -44
- package/lib/solid/index.jsx.map +1 -1
- package/lib/svelte/ListItem.svelte +2 -3
- package/lib/svelte/Virtualizer.svelte +25 -3
- package/lib/svelte/WindowVirtualizer.svelte +14 -3
- package/lib/svelte/utils.d.ts +0 -2
- package/lib/svelte/utils.js +1 -25
- package/lib/svelte/utils.js.map +1 -1
- package/lib/vue/index.cjs +1 -1
- package/lib/vue/index.cjs.map +1 -1
- package/lib/vue/index.js +1 -1
- package/lib/vue/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts" generics="T">
|
|
2
2
|
import { type Snippet, onDestroy } from "svelte";
|
|
3
|
-
import {
|
|
3
|
+
import { type ItemResizeObserver } from "../core/index.js";
|
|
4
4
|
import { styleToString } from "./utils.js";
|
|
5
5
|
import type { SvelteHTMLElements } from "svelte/elements";
|
|
6
6
|
|
|
@@ -46,8 +46,7 @@
|
|
|
46
46
|
position: "absolute",
|
|
47
47
|
[horizontal ? "height" : "width"]: "100%",
|
|
48
48
|
[horizontal ? "top" : "left"]: "0px",
|
|
49
|
-
[horizontal ?
|
|
50
|
-
offset + "px",
|
|
49
|
+
[horizontal ? "left" : "top"]: offset + "px",
|
|
51
50
|
visibility: hide ? "hidden" : undefined,
|
|
52
51
|
};
|
|
53
52
|
if (horizontal) {
|
|
@@ -11,8 +11,9 @@
|
|
|
11
11
|
createScroller,
|
|
12
12
|
createVirtualStore,
|
|
13
13
|
getScrollSize as _getScrollSize,
|
|
14
|
+
sort,
|
|
14
15
|
} from "../core/index.js";
|
|
15
|
-
import { defaultGetKey, styleToString
|
|
16
|
+
import { defaultGetKey, styleToString } from "./utils.js";
|
|
16
17
|
import ListItem from "./ListItem.svelte";
|
|
17
18
|
import type {
|
|
18
19
|
VirtualizerHandle,
|
|
@@ -65,6 +66,27 @@
|
|
|
65
66
|
let range = $derived(stateVersion && store.$getRange(bufferSize));
|
|
66
67
|
let isScrolling = $derived(stateVersion && store.$isScrolling());
|
|
67
68
|
let totalSize = $derived(stateVersion && store.$getTotalSize());
|
|
69
|
+
let negative = $derived(stateVersion && scroller.$isNegative());
|
|
70
|
+
|
|
71
|
+
let indexes = $derived.by(() => {
|
|
72
|
+
const [start, end] = range;
|
|
73
|
+
const pushKey = !horizontal && negative ? "unshift" : "push";
|
|
74
|
+
const arr: number[] = [];
|
|
75
|
+
if (keepMounted) {
|
|
76
|
+
const mounted = new Set(keepMounted);
|
|
77
|
+
for (let i = start; i <= end; i++) {
|
|
78
|
+
mounted.add(i);
|
|
79
|
+
}
|
|
80
|
+
for (const index of sort([...mounted])) {
|
|
81
|
+
arr[pushKey](index);
|
|
82
|
+
}
|
|
83
|
+
} else {
|
|
84
|
+
for (let i = start; i <= end; i++) {
|
|
85
|
+
arr[pushKey](i);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return arr;
|
|
89
|
+
});
|
|
68
90
|
|
|
69
91
|
onMount(() => {
|
|
70
92
|
const assignRef = (scrollable: HTMLElement) => {
|
|
@@ -146,14 +168,14 @@
|
|
|
146
168
|
Customizable list virtualizer for advanced usage. See {@link VirtualizerProps} and {@link VirtualizerHandle}.
|
|
147
169
|
-->
|
|
148
170
|
<svelte:element this={as} bind:this={containerRef} style={containerStyle}>
|
|
149
|
-
{#each
|
|
171
|
+
{#each indexes as index (getKey(data[index]!, index))}
|
|
150
172
|
{@const item = data[index]!}
|
|
151
173
|
<ListItem
|
|
152
174
|
{children}
|
|
153
175
|
{item}
|
|
154
176
|
{index}
|
|
155
177
|
as={itemAs}
|
|
156
|
-
offset={stateVersion && store.$getItemOffset(index)}
|
|
178
|
+
offset={stateVersion && store.$getItemOffset(index, negative)}
|
|
157
179
|
hide={stateVersion && store.$isUnmeasuredItem(index)}
|
|
158
180
|
{horizontal}
|
|
159
181
|
resizer={resizer.$observeItem}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
createWindowResizer,
|
|
12
12
|
createWindowScroller,
|
|
13
13
|
} from "../core/index.js";
|
|
14
|
-
import { defaultGetKey,
|
|
14
|
+
import { defaultGetKey, styleToString } from "./utils.js";
|
|
15
15
|
import ListItem from "./ListItem.svelte";
|
|
16
16
|
import type {
|
|
17
17
|
WindowVirtualizerHandle,
|
|
@@ -60,6 +60,17 @@
|
|
|
60
60
|
let range = $derived(stateVersion && store.$getRange(bufferSize));
|
|
61
61
|
let isScrolling = $derived(stateVersion && store.$isScrolling());
|
|
62
62
|
let totalSize = $derived(stateVersion && store.$getTotalSize());
|
|
63
|
+
let negative = $derived(stateVersion && scroller.$isNegative());
|
|
64
|
+
|
|
65
|
+
let indexes = $derived.by(() => {
|
|
66
|
+
const [start, end] = range;
|
|
67
|
+
const pushKey = !horizontal && negative ? "unshift" : "push";
|
|
68
|
+
const arr: number[] = [];
|
|
69
|
+
for (let i = start; i <= end; i++) {
|
|
70
|
+
arr[pushKey](i);
|
|
71
|
+
}
|
|
72
|
+
return arr;
|
|
73
|
+
});
|
|
63
74
|
|
|
64
75
|
onMount(() => {
|
|
65
76
|
resizer.$observeRoot(containerRef!);
|
|
@@ -117,14 +128,14 @@
|
|
|
117
128
|
{@link Virtualizer} controlled by the window scrolling. See {@link WindowVirtualizerProps} and {@link WindowVirtualizerHandle}.
|
|
118
129
|
-->
|
|
119
130
|
<div bind:this={containerRef} style={containerStyle}>
|
|
120
|
-
{#each
|
|
131
|
+
{#each indexes as index (getKey(data[index]!, index))}
|
|
121
132
|
{@const item = data[index]!}
|
|
122
133
|
<ListItem
|
|
123
134
|
{children}
|
|
124
135
|
{item}
|
|
125
136
|
{index}
|
|
126
137
|
as="div"
|
|
127
|
-
offset={stateVersion && store.$getItemOffset(index)}
|
|
138
|
+
offset={stateVersion && store.$getItemOffset(index, negative)}
|
|
128
139
|
hide={stateVersion && store.$isUnmeasuredItem(index)}
|
|
129
140
|
{horizontal}
|
|
130
141
|
resizer={resizer.$observeItem}
|
package/lib/svelte/utils.d.ts
CHANGED
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
import { type ItemsRange } from "../core/index.js";
|
|
2
1
|
export declare const styleToString: (obj: Record<string, string | undefined>) => string;
|
|
3
2
|
export declare const defaultGetKey: (_data: unknown, i: number) => string;
|
|
4
|
-
export declare function iterRange([start, end]: ItemsRange, keepMounted?: readonly number[]): Generator<number, void, unknown>;
|
package/lib/svelte/utils.js
CHANGED
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
/** @internal */
|
|
2
|
-
/**
|
|
3
|
-
* @internal
|
|
4
|
-
*/
|
|
5
|
-
const sort = (arr) => {
|
|
6
|
-
return [...arr].sort((a, b) => a - b);
|
|
7
|
-
};
|
|
8
|
-
|
|
9
1
|
const styleToString = (obj) => {
|
|
10
2
|
return Object.keys(obj).reduce((acc, k) => {
|
|
11
3
|
const value = obj[k];
|
|
@@ -16,22 +8,6 @@ const styleToString = (obj) => {
|
|
|
16
8
|
}, "");
|
|
17
9
|
};
|
|
18
10
|
const defaultGetKey = (_data, i) => "_" + i;
|
|
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
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
11
|
|
|
36
|
-
export { defaultGetKey,
|
|
12
|
+
export { defaultGetKey, styleToString };
|
|
37
13
|
//# sourceMappingURL=utils.js.map
|
package/lib/svelte/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../src/svelte/utils.ts"],"sourcesContent":["export 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"],"names":[],"mappings":"AAAO,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;;;;"}
|
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]},u=e=>{let t;return()=>(e&&(t=e(),e=void 0),t)},f=(e,t,r)=>{const o=r?"unshift":"push";for(let r=0;r<t;r++)e[o](-1);return e},d=(e,t)=>{const r=e.t[t];return-1===r?e.o:r},p=(e,t,o)=>{const n=-1===e.t[t];return e.t[t]=o,e.i=r(t,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 r=e.i,o=e.u[r];for(;r<t;)o+=d(e,r),e.u[++r]=o;return e.i=t,o},m=(e,t,r=0,o=e.l-1)=>{let n=r;for(;r<=o;){const i=s((r+o)/2);h(e,i)<=t?(n=i,r=i+1):o=i-1}return i(n,0,e.l-1)},b=(e,t,o)=>{const n=t-e.l;return e.i=o?-1:r(t-1,e.i),e.l=t,n>0?(f(e.u,n),f(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-(-1===r?e.o:r)),0))},_="undefined"!=typeof window,v=()=>document.documentElement,g=e=>e.ownerDocument,y=e=>e.defaultView,S=/*#__PURE__*/u((()=>!!_&&"rtl"===getComputedStyle(v()).direction)),z=/*#__PURE__*/u((()=>!!/iP(hone|od|ad)/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>0)),x=/*#__PURE__*/u((()=>"scrollBehavior"in v().style)),$=(e,s=40,i=0,c,a=!1)=>{let u=!!i,_=1,v=0,g=0,y=0,S=0,x=0,$=0,w=0,I=0,O=t,k=[0,u?o(i-1,0):-1],j=0,q=!1;const T=((e,t,n)=>({o:t,t:n?f(n.slice(0,r(e,n.length)),o(0,e-n.length)):f([],e),l:e,i:-1,u:f([],e+1)}))(e,c?c[1]:s,c&&c[0]),B=new Set,M=()=>y-g,E=()=>M()+x+S,N=(e,t)=>((e,t,o,n)=>{if(n=r(n,e.l-1),h(e,n)<=t){const r=m(e,o,n);return[m(e,t,n,r),r]}{const r=m(e,t,void 0,n);return[r,m(e,o,r)]}})(T,e,t,k[0]),P=()=>h(T,T.l),R=e=>h(T,e)-x,A=e=>d(T,e),H=(e,t=-1)=>T.t[e]===t,V=e=>{e&&(z()&&0!==w||O&&1===I?x+=e:S+=e)};return{p:()=>{B.clear()},h:()=>_,m:()=>(e=>[e.t.slice(),e.o])(T),v:(e=200)=>{if(!q||u)return k;let t,n;if($)[t,n]=k;else{let s=o(0,E()),i=s+v;a||(e=o(0,e),1!==w&&(s-=e),2!==w&&(i+=e)),[t,n]=k=N(o(0,s),o(0,i)),O&&(t=r(t,O[0]),n=o(n,O[1]))}return[o(t,0),r(n,T.l-1)]},S:e=>m(T,e-g),I:H,O:R,k:A,j:()=>T.l,q:()=>y,T:()=>0!==w,B:()=>v,M:()=>g,N:P,P:()=>($=S,S=0,[$,2===I]),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:{if(r===y&&0===I)break;const e=$;$=0;const t=r-y,o=n(t);e&&o<n(e)+1||0!==I||(w=t<0?2:1),u&&(u=!1),y=r,c=4;const s=M();s>=-v&&s<=P()&&(c+=1,i=o>v);break}case 2:c=8,0!==w&&(s=!0,c+=1),w=0,I=0,O=t;break;case 3:{const e=r.filter((([e,t])=>!H(e,t)));if(!e.length)break;V(e.reduce(((e,[t,r])=>((2===I||(O&&1===I?t<O[0]:R(t+(0===w&&0===I?1:0))<M()))&&(e+=r-A(t)),e)),0));for(const[t,r]of e){const e=A(t),o=p(T,t,r);a&&(j+=o?r:r-e)}a&&v&&j>v&&(V(((e,t)=>{let r=0;const n=[];e.t.forEach(((e,o)=>{-1!==e&&(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],u=e.o;return((e.o=a)-u)*o(t-r,0)})(T,m(T,E()))),a=!1),c=3,i=!0;break}case 4:v!==r&&(v||(q=i=!0),v=r,c=3);break;case 5:r[1]?(V(b(T,r[0],!0)),I=2,c=1):(b(T,r[0]),c=1);break;case 6:g=r;break;case 7:I=1;break;case 8:O=N(r,r+v),c=1}c&&(_=1+(2147483647&_),s&&x&&(S+=x,x=0),B.forEach((([e,t])=>{c&e&&t(i)})))}}},w=setTimeout,I=(e,t)=>t&&S()?-e:e,O=(e,r,o,n,s,i)=>{const l=Date.now;let c=0,a=!1,u=!1,f=!1,d=!1;const p=(()=>{let r;const o=()=>{r!=t&&clearTimeout(r)},n=()=>{o(),r=w((()=>{r=t,(()=>{if(a||u)return a=!1,void p();f=!1,e.A(2)})()}),150)};return n.H=o,n})(),h=()=>{c=l(),f&&(d=!0),i&&e.A(6,i()),e.A(1,n()),p()},m=t=>{if(a||!e.T()||t.ctrlKey)return;const r=l()-c;150>r&&50<r&&(o?t.deltaX:t.deltaY)&&(a=!0)},b=()=>{u=!0,f=d=!1},_=()=>{u=!1,z()&&(f=!0)};return r.addEventListener("scroll",h),r.addEventListener("wheel",m,{passive:!0}),r.addEventListener("touchstart",b,{passive:!0}),r.addEventListener("touchend",_,{passive:!0}),{V:()=>{r.removeEventListener("scroll",h),r.removeEventListener("wheel",m),r.removeEventListener("touchstart",b),r.removeEventListener("touchend",_),p.H()},C:()=>{const[t,r]=e.P();t&&(s(t,r,d),d=!1,r&&e.B()>e.N()&&e.A(1,n()))}}},k=(e,t,r)=>{let o;return[async(n,s)=>{if(!await t())return;o&&o();const i=()=>{const[t,r]=a();return o=()=>{r(!1)},e.B()&&w(o,150),[t,e.R(2,(()=>{r(!0)}))]};if(s&&x())e.A(8,n()),c((async()=>{for(;;){let t=!0;for(let[r,o]=e.v();r<=o;r++)if(e.I(r)){t=!1;break}if(t)break;const[r,o]=i();try{if(!await r)return}finally{o()}}e.A(7),r(n(),s)}));else for(;;){const[t,o]=i();try{if(e.A(7),r(n()),!await t)return}finally{o()}}},()=>{o&&o()}]},j=e=>{let t;return{F(r){(t||(t=new(y(g(r)).ResizeObserver)(e))).observe(r)},J(e){t.unobserve(e)},V(){t&&t.disconnect()}}},q=/*#__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.I(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,u=n.value,{style:f,...d}=null!==(s=t.Z)&&void 0!==s?s:{},p={contain:"layout style",position:u&&c?void 0:"absolute",[l?"height":"width"]:"100%",[l?"top":"left"]:"0px",[l?S()?"right":"left":"top"]:o.value+"px",visibility:!u||c?void 0:"hidden",...f};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}}}),T=(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},bufferSize: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,cache:Object},E=/*#__PURE__*/e.defineComponent({props:M,emits:["scroll","scrollEnd"],setup(r,{emit:n,expose:s,slots:c}){let u=!!r.ssrCount;const f=r.horizontal,d=e.ref(),p=$(r.data.length,r.itemSize,r.ssrCount,r.cache,!r.itemSize),h=((e,r)=>{let o;const n=r?"width":"height",s=new WeakMap,i=j((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.F(o=e)},te:(e,t)=>(s.set(e,t),i.F(e),()=>{s.delete(e),i.J(e)}),p:i.V}})(p,f),m=((e,t)=>{let r,o,n=a();const s=t?"scrollLeft":"scrollTop",l=t?"overflowX":"overflowY",[c,u]=k(e,(()=>n[0]),((e,o)=>{e=I(e,t),o?r.scrollTo({[t?"left":"top"]:e,behavior:"smooth"}):r[s]=e}));return{re(i){r=i,o=O(e,i,t,(()=>I(i[s],t)),((r,o,n)=>{if(n){const e=i.style,t=e[l];e[l]="hidden",w((()=>{e[l]=t}))}i[s]=I(e.q()+r,t),o&&u()})),n[1](!0)},p(){o&&o.V(),n[1](!1),n=a()},oe(e){c((()=>e))},ne(t){t+=e.q(),c((()=>t))},se(t,{align:r,smooth:o,offset:n=0}={}){if(t=i(t,0,e.j()-1),"nearest"===r){const o=e.O(t),n=e.q();if(o<n)r="start";else{if(!(o+e.k(t)>n+e.B()))return;r="end"}}c((()=>n+e.M()+e.O(t)+("end"===r?e.k(t)-e.B():"center"===r?(e.k(t)-e.B())/2:0)),o)},ie:()=>{o&&o.C()}}})(p,f),b=e.ref(p.h());p.R(1,(()=>{b.value=p.h()})),p.R(4,(()=>{n("scroll",p.q())})),p.R(8,(()=>{n("scrollEnd")}));const _=e.computed((e=>{b.value;const t=p.v(r.bufferSize);return e&&B(e,t)?e:t})),v=e.computed((()=>b.value&&p.T())),g=e.computed((()=>b.value&&p.N()));return e.onMounted((()=>{u=!1;const t=requestAnimationFrame((()=>{const e=e=>{h.ee(e),m.re(e)};r.scrollRef?e(r.scrollRef):e(d.value.parentElement)}));e.onUnmounted((()=>{cancelAnimationFrame(t)}))})),e.onUnmounted((()=>{p.p(),h.p(),m.p()})),e.watch((()=>r.data.length),(e=>{p.A(5,[e,r.shift])})),e.watch((()=>r.startMargin),(e=>{p.A(6,e)}),{immediate:!0}),e.watch([b],(()=>{m.ie()}),{flush:"post"}),s({get cache(){return p.m()},get scrollOffset(){return p.q()},get scrollSize(){return(e=>o(e.N(),e.B()))(p)},get viewportSize(){return p.B()},findItemIndex:p.S,getItemOffset:p.O,getItemSize:p.k,scrollToIndex:m.se,scrollTo:m.oe,scrollBy:m.ne}),()=>{const t=r.as,o=r.item,n=g.value,s=[],i=t=>{var n;const s=c.default({item:r.data[t],index:t})[0];return e.createVNode(q,{key:T(s,t),L:b,W:p,Y:h.te,D:t,X:s,U:f,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,r]=_.value;t<=r;t++)e.add(t);l([...e]).forEach((e=>{s.push(i(e))}))}else for(let[e,t]=_.value;e<=t;e++)s.push(i(e));return e.createVNode(t,{ref:d,style:{contain:"size style",overflowAnchor:"none",flex:"none",position:"relative",width:f?n+"px":"100%",height:f?"100%":n+"px",pointerEvents:v.value?"none":void 0}},"function"==typeof(a=s)||"[object Object]"===Object.prototype.toString.call(a)&&!e.isVNode(a)?s:{default:()=>[s],_:2},8,["style"]);var a}}}),N={data:{type:Array,required:!0},bufferSize:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,ssrCount:Number,itemProps:Function,keepMounted:Array,cache:Object},P=/*#__PURE__*/e.defineComponent({props:N,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 cache(){return c.value.cache},get scrollOffset(){return c.value.scrollOffset},get scrollSize(){return c.value.scrollSize},get viewportSize(){return c.value.viewportSize},findItemIndex:(...e)=>c.value.findItemIndex(...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(E,{ref:c,data:t.data,bufferSize:t.bufferSize,itemSize:t.itemSize,itemProps:t.itemProps,shift:t.shift,ssrCount:t.ssrCount,horizontal:s,keepMounted:t.keepMounted,cache:t.cache,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","bufferSize","itemSize","itemProps","shift","ssrCount","horizontal","keepMounted","cache","onScroll","onScrollEnd"])],4);var r}}}),R={data:{type:Array,required:!0},bufferSize:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,as:{type:String,default:"div"},item:{type:String,default:"div"},cache:Object},A=/*#__PURE__*/e.defineComponent({props:R,emits:["scroll","scrollEnd"],setup(r,{emit:o,slots:n,expose:s}){const l=r.horizontal,u=e.ref(),f=$(r.data.length,r.itemSize,void 0,r.cache,!r.itemSize),d=((e,r)=>{const o=r?"width":"height",n=r?"innerWidth":"innerHeight",s=new WeakMap,i=j((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=y(g(t)),o=()=>{e.A(4,r[n])};r.addEventListener("resize",o),c(o),l=()=>{r.removeEventListener("resize",o)}},te:(e,t)=>(s.set(e,t),i.F(e),()=>{s.delete(e),i.J(e)}),p(){l&&l(),i.V()}}})(f,l),p=((e,t)=>{let r,o,n=a();const s=t?"left":"top",[l]=k(e,(()=>n[0]),((e,o)=>{e=I(e,t);const n=y(g(r));o?n.scroll({[s]:e,behavior:"smooth"}):n.scroll({[s]:e})})),c=(e,t,r,o,n=0)=>{const s=o?"offsetLeft":"offsetTop",i=n+(o&&S()?r.innerWidth-e[s]-e.offsetWidth:e[s]),l=e.offsetParent;return e!==t&&l?c(l,t,r,o,i):i};return{re(i){r=i;const l=t?"scrollX":"scrollY",a=g(i),u=y(a);o=O(e,u,t,(()=>I(u[l],t)),((r,o)=>{o?u.scroll({[s]:I(e.q()+r,t)}):u.scrollBy({[s]:I(r,t)})}),(()=>c(i,a.body,u,t))),n[1](!0)},p(){o&&o.V(),r=void 0,n[1](!1),n=a()},ie:()=>{o&&o.C()},se(o,{align:n,smooth:s,offset:a=0}={}){if(!r)return;if(o=i(o,0,e.j()-1),"nearest"===n){const t=e.O(o),r=e.q();if(t<r)n="start";else{if(!(t+e.k(o)>r+e.B()))return;n="end"}}const u=g(r),f=y(u),d=u.documentElement,p=()=>e.B()-(t?d.clientWidth:d.clientHeight);l((()=>a+c(r,u.body,f,t)+e.O(o)+("end"===n?e.k(o)-(e.B()-p()):"center"===n?(e.k(o)-(e.B()-p()))/2:0)),s)}}})(f,l),h=e.ref(f.h());f.R(1,(()=>{h.value=f.h()})),f.R(4,(()=>{o("scroll")})),f.R(8,(()=>{o("scrollEnd")}));const m=e.computed((e=>{h.value;const t=f.v(r.bufferSize);return e&&B(e,t)?e:t})),b=e.computed((()=>h.value&&f.T())),_=e.computed((()=>h.value&&f.N()));return e.onMounted((()=>{const e=u.value;e&&(d.ee(e),p.re(e))})),e.onUnmounted((()=>{f.p(),d.p(),p.p()})),e.watch((()=>r.data.length),(e=>{f.A(5,[e,r.shift])})),e.watch([h],(()=>{p.ie()}),{flush:"post"}),s({get cache(){return f.m()},get scrollOffset(){return f.q()},get viewportSize(){return f.B()},findItemIndex:f.S,getItemOffset:f.O,getItemSize:f.k,scrollToIndex:p.se}),()=>{const t=r.as,o=r.item,s=_.value,i=[];for(let[t,s]=m.value;t<=s;t++){const s=n.default({item:r.data[t],index:t})[0];i.push(e.createVNode(q,{key:T(s,t),L:h,W:f,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:u,style:{contain:"size style",overflowAnchor:"none",flex:"none",position:"relative",width:l?s+"px":"100%",height:l?"100%":s+"px",pointerEvents:b.value?"none":void 0}},"function"==typeof(c=i)||"[object Object]"===Object.prototype.toString.call(c)&&!e.isVNode(c)?i:{default:()=>[i],_:2},8,["style"]);var c}}});exports.VList=P,exports.Virtualizer=E,exports.WindowVirtualizer=A;
|
|
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]},u=e=>{let t;return()=>(e&&(t=e(),e=void 0),t)},f=(e,t,r)=>{const o=r?"unshift":"push";for(let r=0;r<t;r++)e[o](-1);return e},d=(e,t)=>{const r=e.t[t];return-1===r?e.o:r},p=(e,t,o)=>{const n=-1===e.t[t];return e.t[t]=o,e.i=r(t,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 r=e.i,o=e.u[r];for(;r<t;)o+=d(e,r),e.u[++r]=o;return e.i=t,o},m=(e,t,r=0,o=e.l-1)=>{let n=r;for(;r<=o;){const i=s((r+o)/2);h(e,i)<=t?(n=i,r=i+1):o=i-1}return i(n,0,e.l-1)},_=(e,t,o)=>{const n=t-e.l;return e.i=o?-1:r(t-1,e.i),e.l=t,n>0?(f(e.u,n),f(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-(-1===r?e.o:r)),0))},v=e=>e.documentElement,b=e=>e.ownerDocument,g=e=>e.defaultView,y=/*#__PURE__*/u((()=>!!/iP(hone|od|ad)/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>0)),S=/*#__PURE__*/u((()=>"scrollBehavior"in v(document).style)),z=(e,s=40,i=0,c,a=!1)=>{let u=!!i,v=1,b=0,g=0,S=0,z=0,x=0,$=0,w=0,I=0,O=t,k=[0,u?o(i-1,0):-1],j=0,N=!1;const q=((e,t,n)=>({o:t,t:n?f(n.slice(0,r(e,n.length)),o(0,e-n.length)):f([],e),l:e,i:-1,u:f([],e+1)}))(e,c?c[1]:s,c&&c[0]),B=new Set,T=()=>S-g,M=()=>T()+x+z,E=(e,t)=>((e,t,o,n)=>{if(n=r(n,e.l-1),h(e,n)<=t){const r=m(e,o,n);return[m(e,t,n,r),r]}{const r=m(e,t,void 0,n);return[r,m(e,o,r)]}})(q,e,t,k[0]),P=()=>h(q,q.l),R=(e,t)=>{const r=h(q,e)-x;return t?P()-r-A(e):r},A=e=>d(q,e),H=(e,t=-1)=>q.t[e]===t,V=e=>{e&&(y()&&0!==w||O&&1===I?x+=e:z+=e)};return{p:()=>{B.clear()},h:()=>v,m:()=>(e=>[e.t.slice(),e.o])(q),v:(e=200)=>{if(!N||u)return k;let t,n;if($)[t,n]=k;else{let s=o(0,M()),i=s+b;a||(e=o(0,e),1!==w&&(s-=e),2!==w&&(i+=e)),[t,n]=k=E(o(0,s),o(0,i)),O&&(t=r(t,O[0]),n=o(n,O[1]))}return[o(t,0),r(n,q.l-1)]},S:e=>m(q,e-g),I:H,O:R,k:A,j:()=>q.l,N:()=>S,q:()=>0!==w,B:()=>b,T:()=>g,M:P,P:()=>($=z,z=0,[$,2===I]),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:{if(r===S&&0===I)break;const e=$;$=0;const t=r-S,o=n(t);e&&o<n(e)+1||0!==I||(w=t<0?2:1),u&&(u=!1),S=r,c=4;const s=T();s>=-b&&s<=P()&&(c+=1,i=o>b);break}case 2:c=8,0!==w&&(s=!0,c+=1),w=0,I=0,O=t;break;case 3:{const e=r.filter((([e,t])=>!H(e,t)));if(!e.length)break;V(e.reduce(((e,[t,r])=>((2===I||(O&&1===I?t<O[0]:R(t+(0===w&&0===I?1:0))<T()))&&(e+=r-A(t)),e)),0));for(const[t,r]of e){const e=A(t),o=p(q,t,r);a&&(j+=o?r:r-e)}a&&b&&j>b&&(V(((e,t)=>{let r=0;const n=[];e.t.forEach(((e,o)=>{-1!==e&&(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],u=e.o;return((e.o=a)-u)*o(t-r,0)})(q,m(q,M()))),a=!1),c=3,i=!0;break}case 4:b!==r&&(b||(N=i=!0),b=r,c=3);break;case 5:r[1]?(V(_(q,r[0],!0)),I=2,c=1):(_(q,r[0]),c=1);break;case 6:g=r;break;case 7:I=1;break;case 8:O=E(r,r+b),c=1}c&&(v=1+(2147483647&v),s&&x&&(z+=x,x=0),B.forEach((([e,t])=>{c&e&&t(i)})))}}},x=setTimeout,$=(e,t)=>t?-e:e,w=(e,r,o,n,s,i)=>{const l=Date.now;let c=0,a=!1,u=!1,f=!1,d=!1;const p=(()=>{let r;const o=()=>{r!=t&&clearTimeout(r)},n=()=>{o(),r=x((()=>{r=t,(()=>{if(a||u)return a=!1,void p();f=!1,e.A(2)})()}),150)};return n.H=o,n})(),h=()=>{c=l(),f&&(d=!0),i&&e.A(6,i()),e.A(1,n()),p()},m=t=>{if(a||!e.q()||t.ctrlKey)return;const r=l()-c;150>r&&50<r&&(o?t.deltaX:t.deltaY)&&(a=!0)},_=()=>{u=!0,f=d=!1},v=()=>{u=!1,y()&&(f=!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(t,r,d),d=!1,r&&e.B()>e.M()&&e.A(1,n()))}}},I=(e,t,r)=>{let o;return[async(n,s)=>{if(!await t())return;o&&o();const i=()=>{const[t,r]=a();return o=()=>{r(!1)},e.B()&&x(o,150),[t,e.R(2,(()=>{r(!0)}))]};if(s&&S())e.A(8,n()),c((async()=>{for(;;){let t=!0;for(let[r,o]=e.v();r<=o;r++)if(e.I(r)){t=!1;break}if(t)break;const[r,o]=i();try{if(!await r)return}finally{o()}}e.A(7),r(n(),s)}));else for(;;){const[t,o]=i();try{if(e.A(7),r(n()),!await t)return}finally{o()}}},()=>{o&&o()}]},O=e=>{let t;return{F(r){(t||(t=new(g(b(r)).ResizeObserver)(e))).observe(r)},J(e){t.unobserve(e)},V(){t&&t.disconnect()}}},k=/*#__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:Boolean},Z:{type:String,required:!0},ee:Object},setup(t){const r=e.ref(),o=e.computed((()=>t.L.value&&t.W.O(t.D,t.K))),n=e.computed((()=>t.L.value&&t.W.I(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,Z:a}=t,u=n.value,{style:f,...d}=null!==(s=t.ee)&&void 0!==s?s:{},p={contain:"layout style",position:u&&c?void 0:"absolute",[l?"height":"width"]:"100%",[l?"top":"left"]:"0px",[l?"left":"top"]:o.value+"px",visibility:!u||c?void 0:"hidden",...f};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}}}),j=(e,t)=>{const r=e.key;return null!=r?r:"_"+t},N=(e,t)=>e[0]===t[0]&&e[1]===t[1],q={data:{type:Array,required:!0},bufferSize: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,cache:Object},B=/*#__PURE__*/e.defineComponent({props:q,emits:["scroll","scrollEnd"],setup(r,{emit:n,expose:s,slots:c}){let u=!!r.ssrCount;const f=r.horizontal,d=e.ref(),p=z(r.data.length,r.itemSize,r.ssrCount,r.cache,!r.itemSize),h=((e,r)=>{let o;const n=r?"width":"height",s=new WeakMap,i=O((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{te(e){i.F(o=e)},re:(e,t)=>(s.set(e,t),i.F(e),()=>{s.delete(e),i.J(e)}),p:i.V}})(p,f),m=((e,t)=>{let r,o,n=a(),s=!1;const l=t?"scrollLeft":"scrollTop",c=t?"overflowX":"overflowY",[u,f]=I(e,(()=>n[0]),((e,o)=>{e=$(e,s),o?r.scrollTo({[t?"left":"top"]:e,behavior:"smooth"}):r[l]=e}));return{oe(i){r=i;const a=e.R(2,(()=>{const r=e.B();if(r){const e=i[l],o=b(i).createElement("div");o.style.cssText=`visibility:hidden;min-${t?"width":"height"}:${r+1}px`,i.appendChild(o),i[l]=1,s=i[l]<1,i.removeChild(o),i[l]=e,a()}}));o=w(e,i,t,(()=>$(i[l],s)),((t,r,o)=>{if(o){const e=i.style,t=e[c];e[c]="hidden",x((()=>{e[c]=t}))}i[l]=$(e.N()+t,s),r&&f()})),n[1](!0)},p(){o&&o.V(),n[1](!1),n=a()},ne:()=>s,se(e){u((()=>e))},ie(t){t+=e.N(),u((()=>t))},le(t,{align:r,smooth:o,offset:n=0}={}){if(t=i(t,0,e.j()-1),"nearest"===r){const o=e.O(t),n=e.N();if(o<n)r="start";else{if(!(o+e.k(t)>n+e.B()))return;r="end"}}u((()=>n+e.T()+e.O(t)+("end"===r?e.k(t)-e.B():"center"===r?(e.k(t)-e.B())/2:0)),o)},ce:()=>{o&&o.C()}}})(p,f),_=e.ref(p.h());p.R(1,(()=>{_.value=p.h()})),p.R(4,(()=>{n("scroll",p.N())})),p.R(8,(()=>{n("scrollEnd")}));const v=e.computed((e=>{_.value;const t=p.v(r.bufferSize);return e&&N(e,t)?e:t})),g=e.computed((()=>_.value&&p.q())),y=e.computed((()=>_.value&&p.M()));return e.onMounted((()=>{u=!1;const t=requestAnimationFrame((()=>{const e=e=>{h.te(e),m.oe(e)};r.scrollRef?e(r.scrollRef):e(d.value.parentElement)}));e.onUnmounted((()=>{cancelAnimationFrame(t)}))})),e.onUnmounted((()=>{p.p(),h.p(),m.p()})),e.watch((()=>r.data.length),(e=>{p.A(5,[e,r.shift])})),e.watch((()=>r.startMargin),(e=>{p.A(6,e)}),{immediate:!0}),e.watch([_],(()=>{m.ce()}),{flush:"post"}),s({get cache(){return p.m()},get scrollOffset(){return p.N()},get scrollSize(){return(e=>o(e.M(),e.B()))(p)},get viewportSize(){return p.B()},findItemIndex:p.S,getItemOffset:p.O,getItemSize:p.k,scrollToIndex:m.le,scrollTo:m.se,scrollBy:m.ie}),()=>{const t=r.as,o=r.item,n=y.value,s=m.ne(),i=!f&&s?"unshift":"push",a=[],b=t=>{var n;const i=c.default({item:r.data[t],index:t})[0];return e.createVNode(k,{key:j(i,t),L:_,W:p,Y:h.re,D:t,X:i,U:f,K:s,G:u,Z:o,ee: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","_isNegative","_isSSR","_as","_itemProps"])};if(r.keepMounted){const e=new Set(r.keepMounted);for(let[t,r]=v.value;t<=r;t++)e.add(t);l([...e]).forEach((e=>{a[i](b(e))}))}else for(let[e,t]=v.value;e<=t;e++)a[i](b(e));return e.createVNode(t,{ref:d,style:{contain:"size style",overflowAnchor:"none",flex:"none",position:"relative",width:f?n+"px":"100%",height:f?"100%":n+"px",pointerEvents:g.value?"none":void 0}},"function"==typeof(S=a)||"[object Object]"===Object.prototype.toString.call(S)&&!e.isVNode(S)?a:{default:()=>[a],_:2},8,["style"]);var S}}}),T={data:{type:Array,required:!0},bufferSize:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,ssrCount:Number,itemProps:Function,keepMounted:Array,cache:Object},M=/*#__PURE__*/e.defineComponent({props:T,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 cache(){return c.value.cache},get scrollOffset(){return c.value.scrollOffset},get scrollSize(){return c.value.scrollSize},get viewportSize(){return c.value.viewportSize},findItemIndex:(...e)=>c.value.findItemIndex(...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(B,{ref:c,data:t.data,bufferSize:t.bufferSize,itemSize:t.itemSize,itemProps:t.itemProps,shift:t.shift,ssrCount:t.ssrCount,horizontal:s,keepMounted:t.keepMounted,cache:t.cache,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","bufferSize","itemSize","itemProps","shift","ssrCount","horizontal","keepMounted","cache","onScroll","onScrollEnd"])],4);var r}}}),E={data:{type:Array,required:!0},bufferSize:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,as:{type:String,default:"div"},item:{type:String,default:"div"},cache:Object},P=/*#__PURE__*/e.defineComponent({props:E,emits:["scroll","scrollEnd"],setup(r,{emit:o,slots:n,expose:s}){const l=r.horizontal,u=e.ref(),f=z(r.data.length,r.itemSize,void 0,r.cache,!r.itemSize),d=((e,r)=>{const o=r?"width":"height",n=r?"innerWidth":"innerHeight",s=new WeakMap,i=O((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{te(t){const r=g(b(t)),o=()=>{e.A(4,r[n])};r.addEventListener("resize",o),c(o),l=()=>{r.removeEventListener("resize",o)}},re:(e,t)=>(s.set(e,t),i.F(e),()=>{s.delete(e),i.J(e)}),p(){l&&l(),i.V()}}})(f,l),p=((e,t)=>{let r,o,n=a(),s=!1;const l=t?"left":"top",[c]=I(e,(()=>n[0]),((e,t)=>{e=$(e,s);const o=g(b(r));t?o.scroll({[l]:e,behavior:"smooth"}):o.scroll({[l]:e})})),u=(e,t,r,o,n=0)=>{const i=o?"offsetLeft":"offsetTop",l=n+(o&&s?r.innerWidth-e[i]-e.offsetWidth:e[i]),c=e.offsetParent;return e!==t&&c?u(c,t,r,o,l):l};return{oe(i){r=i;const c=t?"scrollX":"scrollY",a=b(i),f=g(a);t&&(s="rtl"===getComputedStyle(v(a)).direction),o=w(e,f,t,(()=>$(f[c],s)),((t,r)=>{r?f.scroll({[l]:$(e.N()+t,s)}):f.scrollBy({[l]:$(t,s)})}),(()=>u(i,a.body,f,t))),n[1](!0)},p(){o&&o.V(),r=void 0,n[1](!1),n=a()},ne:()=>s,ce:()=>{o&&o.C()},le(o,{align:n,smooth:s,offset:l=0}={}){if(!r)return;if(o=i(o,0,e.j()-1),"nearest"===n){const t=e.O(o),r=e.N();if(t<r)n="start";else{if(!(t+e.k(o)>r+e.B()))return;n="end"}}const a=b(r),f=g(a),d=v(a),p=()=>e.B()-(t?d.clientWidth:d.clientHeight);c((()=>l+u(r,a.body,f,t)+e.O(o)+("end"===n?e.k(o)-(e.B()-p()):"center"===n?(e.k(o)-(e.B()-p()))/2:0)),s)}}})(f,l),h=e.ref(f.h());f.R(1,(()=>{h.value=f.h()})),f.R(4,(()=>{o("scroll")})),f.R(8,(()=>{o("scrollEnd")}));const m=e.computed((e=>{h.value;const t=f.v(r.bufferSize);return e&&N(e,t)?e:t})),_=e.computed((()=>h.value&&f.q())),y=e.computed((()=>h.value&&f.M()));return e.onMounted((()=>{const e=u.value;e&&(d.te(e),p.oe(e))})),e.onUnmounted((()=>{f.p(),d.p(),p.p()})),e.watch((()=>r.data.length),(e=>{f.A(5,[e,r.shift])})),e.watch([h],(()=>{p.ce()}),{flush:"post"}),s({get cache(){return f.m()},get scrollOffset(){return f.N()},get viewportSize(){return f.B()},findItemIndex:f.S,getItemOffset:f.O,getItemSize:f.k,scrollToIndex:p.le}),()=>{const t=r.as,o=r.item,s=y.value,i=p.ne(),c=!l&&i?"unshift":"push",a=[];for(let[t,s]=m.value;t<=s;t++){const s=n.default({item:r.data[t],index:t})[0];a[c](e.createVNode(k,{key:j(s,t),L:h,W:f,Y:d.re,D:t,X:s,U:l,K:i,Z:o},null,8,["_stateVersion","_store","_resizer","_index","_children","_isHorizontal","_isNegative","_as"]))}return e.createVNode(t,{ref:u,style:{contain:"size style",overflowAnchor:"none",flex:"none",position:"relative",width:l?s+"px":"100%",height:l?"100%":s+"px",pointerEvents:_.value?"none":void 0}},"function"==typeof(v=a)||"[object Object]"===Object.prototype.toString.call(v)&&!e.isVNode(v)?a:{default:()=>[a],_:2},8,["style"]);var v}}});exports.VList=M,exports.Virtualizer=B,exports.WindowVirtualizer=P;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|