virtua 0.53.3 → 0.53.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -32
- package/lib/angular/VGrid.d.ts +1 -1
- package/lib/angular/VList.d.ts +1 -1
- package/lib/angular/VMasonry.d.ts +1 -1
- package/lib/angular/Virtualizer.d.ts +1 -1
- package/lib/angular/WindowVirtualizer.d.ts +1 -1
- package/lib/angular/index.js +588 -586
- package/lib/angular/index.js.map +1 -1
- package/lib/core/index.cjs +415 -412
- package/lib/core/index.cjs.map +1 -1
- package/lib/core/index.d.ts +2 -2
- package/lib/core/index.js +426 -423
- package/lib/core/index.js.map +1 -1
- package/lib/index.cjs +647 -645
- package/lib/index.cjs.map +1 -1
- package/lib/index.js +641 -639
- package/lib/index.js.map +1 -1
- package/lib/react/VGrid.d.ts +1 -1
- package/lib/react/VMasonry.d.ts +1 -1
- package/lib/react/Virtualizer.d.ts +1 -1
- package/lib/react/WindowVirtualizer.d.ts +1 -1
- package/lib/solid/VGrid.d.ts +1 -1
- package/lib/solid/VMasonry.d.ts +1 -1
- package/lib/solid/Virtualizer.d.ts +1 -1
- package/lib/solid/WindowVirtualizer.d.ts +1 -1
- package/lib/solid/index.cjs +674 -671
- package/lib/solid/index.cjs.map +1 -1
- package/lib/solid/index.js +673 -671
- package/lib/solid/index.js.map +1 -1
- package/lib/solid/index.jsx +167 -216
- package/lib/solid/index.jsx.map +1 -1
- package/lib/svelte/GridRow.svelte +3 -1
- package/lib/svelte/GridRowGroup.svelte +3 -1
- package/lib/svelte/VGrid.svelte +18 -21
- package/lib/svelte/VGrid.type.d.ts +1 -1
- package/lib/svelte/VMasonry.svelte +13 -15
- package/lib/svelte/VMasonry.type.d.ts +1 -1
- package/lib/svelte/Virtualizer.svelte +12 -13
- package/lib/svelte/Virtualizer.type.d.ts +1 -1
- package/lib/svelte/WindowVirtualizer.svelte +11 -10
- package/lib/svelte/WindowVirtualizer.type.d.ts +1 -1
- package/lib/vue/VGrid.d.ts +1 -1
- package/lib/vue/VMasonry.d.ts +1 -1
- package/lib/vue/Virtualizer.d.ts +1 -1
- package/lib/vue/WindowVirtualizer.d.ts +1 -1
- package/lib/vue/index.cjs +802 -797
- package/lib/vue/index.cjs.map +1 -1
- package/lib/vue/index.js +773 -768
- package/lib/vue/index.js.map +1 -1
- package/package.json +1 -1
- package/lib/core/observer.d.ts +0 -1
|
@@ -26,8 +26,10 @@
|
|
|
26
26
|
|
|
27
27
|
<div role="row" aria-rowindex={state.$row + 1} {style}>
|
|
28
28
|
{#each state.$cells as cell (cell.$col)}
|
|
29
|
-
<!--
|
|
29
|
+
<!-- The each block runs before $effect.pre with experimental.async, so the store may still have the length before the update -->
|
|
30
|
+
<!-- https://svelte.dev/docs/svelte/await-expressions#Breaking-changes -->
|
|
30
31
|
<!-- https://github.com/inokawa/virtua/pull/847 -->
|
|
32
|
+
<!-- https://github.com/inokawa/virtua/pull/1018 -->
|
|
31
33
|
{#if cell.$col < getAxisLength(cols)}
|
|
32
34
|
<GridCell
|
|
33
35
|
state={cell}
|
|
@@ -27,8 +27,10 @@
|
|
|
27
27
|
<!-- https://www.w3.org/TR/wai-aria-1.2/#rowgroup -->
|
|
28
28
|
<div role="rowgroup" {style}>
|
|
29
29
|
{#each state.$rows as row (row.$row)}
|
|
30
|
-
<!--
|
|
30
|
+
<!-- The each block runs before $effect.pre with experimental.async, so the store may still have the length before the update -->
|
|
31
|
+
<!-- https://svelte.dev/docs/svelte/await-expressions#Breaking-changes -->
|
|
31
32
|
<!-- https://github.com/inokawa/virtua/pull/847 -->
|
|
33
|
+
<!-- https://github.com/inokawa/virtua/pull/1018 -->
|
|
32
34
|
{#if row.$row < getAxisLength(rows)}
|
|
33
35
|
<GridRow
|
|
34
36
|
state={row}
|
package/lib/svelte/VGrid.svelte
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import {
|
|
4
4
|
type StateVersion,
|
|
5
5
|
ACTION_ITEMS_LENGTH_CHANGE,
|
|
6
|
-
|
|
6
|
+
relayout,
|
|
7
7
|
UPDATE_SCROLL_END_EVENT,
|
|
8
8
|
UPDATE_SIZE_EVENT,
|
|
9
9
|
microtask,
|
|
@@ -58,7 +58,12 @@
|
|
|
58
58
|
let spanIndex = $derived(createGridSpanIndex(spans));
|
|
59
59
|
const rowStore = createVirtualStore(rowLayout);
|
|
60
60
|
const colStore = createVirtualStore(colLayout);
|
|
61
|
-
const driver = createContainerGridDriver(
|
|
61
|
+
const driver = createContainerGridDriver(
|
|
62
|
+
rowStore,
|
|
63
|
+
colStore,
|
|
64
|
+
rowLayout,
|
|
65
|
+
colLayout,
|
|
66
|
+
);
|
|
62
67
|
|
|
63
68
|
let containerRef: HTMLDivElement | undefined = $state();
|
|
64
69
|
|
|
@@ -108,23 +113,13 @@
|
|
|
108
113
|
colLayout.$setPinned(headerCols, footerCols);
|
|
109
114
|
const rowLength = getAxisLength(rows);
|
|
110
115
|
const colLength = getAxisLength(cols);
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
colStore.$update(ACTION_ITEMS_LENGTH_CHANGE, [colLength]);
|
|
116
|
-
}
|
|
117
|
-
rowStore.$update(
|
|
118
|
-
ACTION_RELAYOUT,
|
|
119
|
-
rowLayout.$relayout(rowSizes, rowStore.$getVisibleOffset()),
|
|
120
|
-
);
|
|
121
|
-
colStore.$update(
|
|
122
|
-
ACTION_RELAYOUT,
|
|
123
|
-
colLayout.$relayout(colSizes, colStore.$getVisibleOffset()),
|
|
124
|
-
);
|
|
116
|
+
rowStore.$update(ACTION_ITEMS_LENGTH_CHANGE, rowLength);
|
|
117
|
+
colStore.$update(ACTION_ITEMS_LENGTH_CHANGE, colLength);
|
|
118
|
+
relayout(rowStore, rowLayout, rowSizes);
|
|
119
|
+
relayout(colStore, colLayout, colSizes);
|
|
125
120
|
});
|
|
126
|
-
let rowCount = $derived(stateVersion &&
|
|
127
|
-
let colCount = $derived(stateVersion &&
|
|
121
|
+
let rowCount = $derived(stateVersion && rowLayout.$getLength());
|
|
122
|
+
let colCount = $derived(stateVersion && colLayout.$getLength());
|
|
128
123
|
let plan = $derived.by(() => {
|
|
129
124
|
stateVersion;
|
|
130
125
|
return createGridPlan(
|
|
@@ -176,8 +171,8 @@
|
|
|
176
171
|
rowStore.$getItemOffset;
|
|
177
172
|
export const getColOffset: VGridHandle["getColOffset"] =
|
|
178
173
|
colStore.$getItemOffset;
|
|
179
|
-
export const getRowSize: VGridHandle["getRowSize"] =
|
|
180
|
-
export const getColSize: VGridHandle["getColSize"] =
|
|
174
|
+
export const getRowSize: VGridHandle["getRowSize"] = rowLayout.$getItemSize;
|
|
175
|
+
export const getColSize: VGridHandle["getColSize"] = colLayout.$getItemSize;
|
|
181
176
|
export const scrollToIndex: VGridHandle["scrollToIndex"] = (opts) =>
|
|
182
177
|
gridScrollToIndex(
|
|
183
178
|
driver,
|
|
@@ -247,8 +242,10 @@
|
|
|
247
242
|
resizer={driver.$observeItem}
|
|
248
243
|
/>
|
|
249
244
|
{:else}
|
|
250
|
-
<!--
|
|
245
|
+
<!-- The each block runs before $effect.pre with experimental.async, so the store may still have the length before the update -->
|
|
246
|
+
<!-- https://svelte.dev/docs/svelte/await-expressions#Breaking-changes -->
|
|
251
247
|
<!-- https://github.com/inokawa/virtua/pull/847 -->
|
|
248
|
+
<!-- https://github.com/inokawa/virtua/pull/1018 -->
|
|
252
249
|
{#if state.$row < getAxisLength(rows)}
|
|
253
250
|
<GridRow
|
|
254
251
|
{state}
|
|
@@ -73,7 +73,7 @@ export interface VGridProps<R = number, C = number> extends Omit<ViewportCompone
|
|
|
73
73
|
*/
|
|
74
74
|
keepMounted?: readonly GridCell[];
|
|
75
75
|
/**
|
|
76
|
-
* Extra space in pixels to render before/after the viewport. The
|
|
76
|
+
* Extra space in pixels to render before/after the viewport. The default value is recommended for most cases. A smaller value gives better performance, and a larger value avoids showing blank cells in fast scrolling.
|
|
77
77
|
* @defaultValue 200
|
|
78
78
|
*/
|
|
79
79
|
bufferSize?: number;
|
|
@@ -10,12 +10,13 @@
|
|
|
10
10
|
createContainerDriver,
|
|
11
11
|
createMasonryLayout,
|
|
12
12
|
ACTION_ITEMS_LENGTH_CHANGE,
|
|
13
|
-
|
|
13
|
+
relayout,
|
|
14
14
|
createVirtualStore,
|
|
15
15
|
getScrollSize as _getScrollSize,
|
|
16
16
|
scrollTo as _scrollTo,
|
|
17
17
|
scrollBy as _scrollBy,
|
|
18
18
|
scrollToIndex as _scrollToIndex,
|
|
19
|
+
min,
|
|
19
20
|
sort,
|
|
20
21
|
} from "../core/index.js";
|
|
21
22
|
import { defaultGetKey, isSameRange, styleToString } from "./utils.js";
|
|
@@ -51,7 +52,7 @@
|
|
|
51
52
|
cache,
|
|
52
53
|
);
|
|
53
54
|
const store = createVirtualStore(layout);
|
|
54
|
-
const driver = createContainerDriver(store, false);
|
|
55
|
+
const driver = createContainerDriver(store, layout, false);
|
|
55
56
|
store.$subscribe(UPDATE_VIRTUAL_STATE, () => {
|
|
56
57
|
stateVersion = store.$getStateVersion();
|
|
57
58
|
});
|
|
@@ -86,7 +87,11 @@
|
|
|
86
87
|
let crossSize = $derived(toCrossValue(1 / lanes, gap / lanes - gap));
|
|
87
88
|
|
|
88
89
|
let indexes = $derived.by(() => {
|
|
89
|
-
|
|
90
|
+
// The each block runs before $effect.pre with experimental.async, so the store may still have the length before the update
|
|
91
|
+
// https://svelte.dev/docs/svelte/await-expressions#Breaking-changes
|
|
92
|
+
// https://github.com/inokawa/virtua/pull/847
|
|
93
|
+
// https://github.com/inokawa/virtua/pull/1018
|
|
94
|
+
const len = stateVersion && min(data.length, layout.$getLength());
|
|
90
95
|
const [start, end] = range;
|
|
91
96
|
const arr: number[] = [];
|
|
92
97
|
if (keepMounted) {
|
|
@@ -101,8 +106,6 @@
|
|
|
101
106
|
}
|
|
102
107
|
} else {
|
|
103
108
|
for (let i = start; i <= end; i++) {
|
|
104
|
-
// Guard for experimental.async: true, which runs the each block before $effect.pre
|
|
105
|
-
// https://github.com/inokawa/virtua/pull/847
|
|
106
109
|
if (i < len) {
|
|
107
110
|
arr.push(i);
|
|
108
111
|
}
|
|
@@ -120,15 +123,10 @@
|
|
|
120
123
|
});
|
|
121
124
|
|
|
122
125
|
$effect.pre(() => {
|
|
123
|
-
|
|
124
|
-
store.$update(ACTION_ITEMS_LENGTH_CHANGE, [data.length]);
|
|
125
|
-
}
|
|
126
|
+
store.$update(ACTION_ITEMS_LENGTH_CHANGE, data.length);
|
|
126
127
|
});
|
|
127
128
|
$effect.pre(() => {
|
|
128
|
-
store
|
|
129
|
-
ACTION_RELAYOUT,
|
|
130
|
-
layout.$relayout(lanesProp, gapProp, store.$getVisibleOffset()),
|
|
131
|
-
);
|
|
129
|
+
relayout(store, layout, lanesProp, gapProp);
|
|
132
130
|
});
|
|
133
131
|
|
|
134
132
|
let prevStateVersion: StateVersion | undefined;
|
|
@@ -151,9 +149,9 @@
|
|
|
151
149
|
export const getItemOffset =
|
|
152
150
|
store.$getItemOffset satisfies VMasonryHandle["getItemOffset"] as VMasonryHandle["getItemOffset"];
|
|
153
151
|
export const getItemSize =
|
|
154
|
-
|
|
152
|
+
layout.$getItemSize satisfies VMasonryHandle["getItemSize"] as VMasonryHandle["getItemSize"];
|
|
155
153
|
export const scrollToIndex: VMasonryHandle["scrollToIndex"] = (index, opts) =>
|
|
156
|
-
_scrollToIndex(driver, store, index, opts);
|
|
154
|
+
_scrollToIndex(driver, store, layout, index, opts);
|
|
157
155
|
export const scrollTo: VMasonryHandle["scrollTo"] = (offset) =>
|
|
158
156
|
_scrollTo(driver, offset);
|
|
159
157
|
export const scrollBy: VMasonryHandle["scrollBy"] = (offset) =>
|
|
@@ -195,7 +193,7 @@
|
|
|
195
193
|
offset={stateVersion && store.$getItemOffset(index)}
|
|
196
194
|
crossOffset={toCrossValue(lane / lanes, (lane * gap) / lanes)}
|
|
197
195
|
{crossSize}
|
|
198
|
-
hide={stateVersion &&
|
|
196
|
+
hide={stateVersion && layout.$isSizeEqual(index)}
|
|
199
197
|
resizer={driver.$observeItem}
|
|
200
198
|
/>
|
|
201
199
|
{/each}
|
|
@@ -35,7 +35,7 @@ export interface VMasonryProps<T> extends ViewportComponentAttributes {
|
|
|
35
35
|
*/
|
|
36
36
|
itemSize?: number;
|
|
37
37
|
/**
|
|
38
|
-
* Extra
|
|
38
|
+
* Extra space in pixels to render before/after the viewport. The default value is recommended for most cases. A smaller value gives better performance, and a larger value avoids showing blank items in fast scrolling.
|
|
39
39
|
* @defaultValue 200
|
|
40
40
|
*/
|
|
41
41
|
bufferSize?: number;
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
createVirtualStore,
|
|
17
17
|
createListLayout,
|
|
18
18
|
getScrollSize as _getScrollSize,
|
|
19
|
+
min,
|
|
19
20
|
sort,
|
|
20
21
|
} from "../core/index.js";
|
|
21
22
|
import { defaultGetKey, isSameRange, styleToString } from "./utils.js";
|
|
@@ -50,7 +51,7 @@
|
|
|
50
51
|
|
|
51
52
|
const layout = createListLayout(data.length, itemSize, cache);
|
|
52
53
|
const store = createVirtualStore(layout, ssrCount);
|
|
53
|
-
const driver = createContainerDriver(store, horizontal);
|
|
54
|
+
const driver = createContainerDriver(store, layout, horizontal);
|
|
54
55
|
store.$subscribe(UPDATE_VIRTUAL_STATE, () => {
|
|
55
56
|
stateVersion = store.$getStateVersion();
|
|
56
57
|
});
|
|
@@ -83,7 +84,11 @@
|
|
|
83
84
|
let totalSize = $derived(stateVersion && store.$getTotalSize());
|
|
84
85
|
|
|
85
86
|
let indexes = $derived.by(() => {
|
|
86
|
-
|
|
87
|
+
// The each block runs before $effect.pre with experimental.async, so the store may still have the length before the update
|
|
88
|
+
// https://svelte.dev/docs/svelte/await-expressions#Breaking-changes
|
|
89
|
+
// https://github.com/inokawa/virtua/pull/847
|
|
90
|
+
// https://github.com/inokawa/virtua/pull/1018
|
|
91
|
+
const len = stateVersion && min(data.length, layout.$getLength());
|
|
87
92
|
|
|
88
93
|
const [start, end] = range;
|
|
89
94
|
const arr: number[] = [];
|
|
@@ -99,8 +104,6 @@
|
|
|
99
104
|
}
|
|
100
105
|
} else {
|
|
101
106
|
for (let i = start; i <= end; i++) {
|
|
102
|
-
// Guard for experimental.async: true, which runs the each block before $effect.pre
|
|
103
|
-
// https://github.com/inokawa/virtua/pull/847
|
|
104
107
|
if (i < len) {
|
|
105
108
|
arr.push(i);
|
|
106
109
|
}
|
|
@@ -130,15 +133,11 @@
|
|
|
130
133
|
});
|
|
131
134
|
|
|
132
135
|
$effect.pre(() => {
|
|
133
|
-
|
|
134
|
-
store.$update(ACTION_ITEMS_LENGTH_CHANGE, [data.length, shift]);
|
|
135
|
-
}
|
|
136
|
+
store.$update(ACTION_ITEMS_LENGTH_CHANGE, data.length, shift);
|
|
136
137
|
});
|
|
137
138
|
|
|
138
139
|
$effect.pre(() => {
|
|
139
|
-
|
|
140
|
-
store.$update(ACTION_START_OFFSET_CHANGE, startMargin);
|
|
141
|
-
}
|
|
140
|
+
store.$update(ACTION_START_OFFSET_CHANGE, startMargin);
|
|
142
141
|
});
|
|
143
142
|
|
|
144
143
|
let prevStateVersion: StateVersion | undefined;
|
|
@@ -165,11 +164,11 @@
|
|
|
165
164
|
export const getItemOffset =
|
|
166
165
|
store.$getItemOffset satisfies VirtualizerHandle["getItemOffset"] as VirtualizerHandle["getItemOffset"];
|
|
167
166
|
export const getItemSize =
|
|
168
|
-
|
|
167
|
+
layout.$getItemSize satisfies VirtualizerHandle["getItemSize"] as VirtualizerHandle["getItemSize"];
|
|
169
168
|
export const scrollToIndex: VirtualizerHandle["scrollToIndex"] = (
|
|
170
169
|
index,
|
|
171
170
|
opts,
|
|
172
|
-
) => _scrollToIndex(driver, store, index, opts);
|
|
171
|
+
) => _scrollToIndex(driver, store, layout, index, opts);
|
|
173
172
|
export const scrollTo: VirtualizerHandle["scrollTo"] = (offset) =>
|
|
174
173
|
_scrollTo(driver, offset);
|
|
175
174
|
export const scrollBy: VirtualizerHandle["scrollBy"] = (offset) =>
|
|
@@ -201,7 +200,7 @@
|
|
|
201
200
|
{index}
|
|
202
201
|
as={itemAs}
|
|
203
202
|
offset={stateVersion && store.$getItemOffset(index)}
|
|
204
|
-
hide={stateVersion &&
|
|
203
|
+
hide={stateVersion && layout.$isSizeEqual(index)}
|
|
205
204
|
{horizontal}
|
|
206
205
|
{isSSR}
|
|
207
206
|
resizer={driver.$observeItem}
|
|
@@ -34,7 +34,7 @@ export interface VirtualizerProps<T> {
|
|
|
34
34
|
*/
|
|
35
35
|
itemProps?: ItemProps<T>;
|
|
36
36
|
/**
|
|
37
|
-
* Extra
|
|
37
|
+
* Extra space in pixels to render before/after the viewport. The default value is recommended for most cases. A smaller value gives better performance, and a larger value avoids showing blank items in fast scrolling.
|
|
38
38
|
* @defaultValue 200
|
|
39
39
|
*/
|
|
40
40
|
bufferSize?: number;
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
getScrollSize as _getScrollSize,
|
|
14
14
|
createWindowDriver,
|
|
15
15
|
scrollToIndex as _scrollToIndex,
|
|
16
|
+
min,
|
|
16
17
|
} from "../core/index.js";
|
|
17
18
|
import { defaultGetKey, isSameRange, styleToString } from "./utils.js";
|
|
18
19
|
import ListItem from "./ListItem.svelte";
|
|
@@ -40,7 +41,7 @@
|
|
|
40
41
|
|
|
41
42
|
const layout = createListLayout(data.length, itemSize, cache);
|
|
42
43
|
const store = createVirtualStore(layout, ssrCount);
|
|
43
|
-
const driver = createWindowDriver(store, horizontal);
|
|
44
|
+
const driver = createWindowDriver(store, layout, horizontal);
|
|
44
45
|
store.$subscribe(UPDATE_VIRTUAL_STATE, () => {
|
|
45
46
|
stateVersion = store.$getStateVersion();
|
|
46
47
|
});
|
|
@@ -74,13 +75,15 @@
|
|
|
74
75
|
let totalSize = $derived(stateVersion && store.$getTotalSize());
|
|
75
76
|
|
|
76
77
|
let indexes = $derived.by(() => {
|
|
77
|
-
|
|
78
|
+
// The each block runs before $effect.pre with experimental.async, so the store may still have the length before the update
|
|
79
|
+
// https://svelte.dev/docs/svelte/await-expressions#Breaking-changes
|
|
80
|
+
// https://github.com/inokawa/virtua/pull/847
|
|
81
|
+
// https://github.com/inokawa/virtua/pull/1018
|
|
82
|
+
const len = stateVersion && min(data.length, layout.$getLength());
|
|
78
83
|
|
|
79
84
|
const [start, end] = range;
|
|
80
85
|
const arr: number[] = [];
|
|
81
86
|
for (let i = start; i <= end; i++) {
|
|
82
|
-
// Guard for experimental.async: true, which runs the each block before $effect.pre
|
|
83
|
-
// https://github.com/inokawa/virtua/pull/847
|
|
84
87
|
if (i < len) {
|
|
85
88
|
arr.push(i);
|
|
86
89
|
}
|
|
@@ -99,9 +102,7 @@
|
|
|
99
102
|
});
|
|
100
103
|
|
|
101
104
|
$effect.pre(() => {
|
|
102
|
-
|
|
103
|
-
store.$update(ACTION_ITEMS_LENGTH_CHANGE, [data.length, shift]);
|
|
104
|
-
}
|
|
105
|
+
store.$update(ACTION_ITEMS_LENGTH_CHANGE, data.length, shift);
|
|
105
106
|
});
|
|
106
107
|
|
|
107
108
|
let prevStateVersion: StateVersion | undefined;
|
|
@@ -124,11 +125,11 @@
|
|
|
124
125
|
export const getItemOffset =
|
|
125
126
|
store.$getItemOffset satisfies WindowVirtualizerHandle["getItemOffset"] as WindowVirtualizerHandle["getItemOffset"];
|
|
126
127
|
export const getItemSize =
|
|
127
|
-
|
|
128
|
+
layout.$getItemSize satisfies WindowVirtualizerHandle["getItemSize"] as WindowVirtualizerHandle["getItemSize"];
|
|
128
129
|
export const scrollToIndex: WindowVirtualizerHandle["scrollToIndex"] = (
|
|
129
130
|
index,
|
|
130
131
|
opts,
|
|
131
|
-
) => _scrollToIndex(driver, store, index, opts);
|
|
132
|
+
) => _scrollToIndex(driver, store, layout, index, opts);
|
|
132
133
|
|
|
133
134
|
let containerStyle = $derived(
|
|
134
135
|
styleToString({
|
|
@@ -156,7 +157,7 @@
|
|
|
156
157
|
{index}
|
|
157
158
|
as="div"
|
|
158
159
|
offset={stateVersion && store.$getItemOffset(index)}
|
|
159
|
-
hide={stateVersion &&
|
|
160
|
+
hide={stateVersion && layout.$isSizeEqual(index)}
|
|
160
161
|
{horizontal}
|
|
161
162
|
{isSSR}
|
|
162
163
|
resizer={driver.$observeItem}
|
|
@@ -18,7 +18,7 @@ export interface WindowVirtualizerProps<T> {
|
|
|
18
18
|
*/
|
|
19
19
|
getKey?: (data: T, index: number) => string | number;
|
|
20
20
|
/**
|
|
21
|
-
* Extra
|
|
21
|
+
* Extra space in pixels to render before/after the viewport. The default value is recommended for most cases. A smaller value gives better performance, and a larger value avoids showing blank items in fast scrolling.
|
|
22
22
|
* @defaultValue 200
|
|
23
23
|
*/
|
|
24
24
|
bufferSize?: number;
|
package/lib/vue/VGrid.d.ts
CHANGED
|
@@ -65,7 +65,7 @@ export interface VGridProps<R = number, C = number> extends PublicProps {
|
|
|
65
65
|
*/
|
|
66
66
|
keepMounted?: readonly GridCellType[];
|
|
67
67
|
/**
|
|
68
|
-
* Extra space in pixels to render before/after the viewport. The
|
|
68
|
+
* Extra space in pixels to render before/after the viewport. The default value is recommended for most cases. A smaller value gives better performance, and a larger value avoids showing blank cells in fast scrolling.
|
|
69
69
|
* @defaultValue 200
|
|
70
70
|
*/
|
|
71
71
|
bufferSize?: number;
|
package/lib/vue/VMasonry.d.ts
CHANGED
|
@@ -72,7 +72,7 @@ export interface VMasonryProps<T> extends PublicProps {
|
|
|
72
72
|
*/
|
|
73
73
|
itemSize?: number;
|
|
74
74
|
/**
|
|
75
|
-
* Extra
|
|
75
|
+
* Extra space in pixels to render before/after the viewport. The default value is recommended for most cases. A smaller value gives better performance, and a larger value avoids showing blank items in fast scrolling.
|
|
76
76
|
* @defaultValue 200
|
|
77
77
|
*/
|
|
78
78
|
bufferSize?: number;
|
package/lib/vue/Virtualizer.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export interface VirtualizerProps<T = unknown> extends PublicProps {
|
|
|
10
10
|
*/
|
|
11
11
|
data: T[];
|
|
12
12
|
/**
|
|
13
|
-
* Extra
|
|
13
|
+
* Extra space in pixels to render before/after the viewport. The default value is recommended for most cases. A smaller value gives better performance, and a larger value avoids showing blank items in fast scrolling.
|
|
14
14
|
* @defaultValue 200
|
|
15
15
|
*/
|
|
16
16
|
bufferSize?: number;
|
|
@@ -9,7 +9,7 @@ export interface WindowVirtualizerProps<T = unknown> extends PublicProps {
|
|
|
9
9
|
*/
|
|
10
10
|
data: T[];
|
|
11
11
|
/**
|
|
12
|
-
* Extra
|
|
12
|
+
* Extra space in pixels to render before/after the viewport. The default value is recommended for most cases. A smaller value gives better performance, and a larger value avoids showing blank items in fast scrolling.
|
|
13
13
|
* @defaultValue 200
|
|
14
14
|
*/
|
|
15
15
|
bufferSize?: number;
|