virtua 0.52.8 → 0.52.10
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/angular/index.js +134 -132
- package/lib/angular/index.js.map +1 -1
- package/lib/core/index.cjs +40 -38
- package/lib/core/index.cjs.map +1 -1
- package/lib/core/index.js +65 -63
- package/lib/core/index.js.map +1 -1
- package/lib/index.cjs +196 -191
- package/lib/index.cjs.map +1 -1
- package/lib/index.js +190 -185
- package/lib/index.js.map +1 -1
- package/lib/solid/index.cjs +207 -205
- package/lib/solid/index.cjs.map +1 -1
- package/lib/solid/index.js +161 -159
- package/lib/solid/index.js.map +1 -1
- package/lib/solid/index.jsx +16 -0
- package/lib/solid/index.jsx.map +1 -1
- package/lib/vue/index.cjs +171 -169
- package/lib/vue/index.cjs.map +1 -1
- package/lib/vue/index.js +170 -168
- package/lib/vue/index.js.map +1 -1
- package/package.json +1 -1
package/lib/solid/index.jsx
CHANGED
|
@@ -988,6 +988,7 @@ var createScrollObserver = (store, viewport, scroller, isHorizontal, isRtl, onMo
|
|
|
988
988
|
viewport.addEventListener("touchstart", onTouchStart, { passive: true });
|
|
989
989
|
viewport.addEventListener("touchend", onTouchEnd, { passive: true });
|
|
990
990
|
return {
|
|
991
|
+
_sync: onScroll,
|
|
991
992
|
_dispose: () => {
|
|
992
993
|
viewport.removeEventListener("scroll", onScroll);
|
|
993
994
|
viewport.removeEventListener("wheel", onWheel);
|
|
@@ -1084,13 +1085,20 @@ var createContainerDriver = (store, isHorizontal) => {
|
|
|
1084
1085
|
let viewportElement;
|
|
1085
1086
|
let scrollObserver;
|
|
1086
1087
|
let initialized = createPromise();
|
|
1088
|
+
let isViewportDisplayed = true;
|
|
1087
1089
|
const mountedIndexes = new WeakMap();
|
|
1088
1090
|
const resizeObserver = createResizeObserver((entries) => {
|
|
1089
1091
|
const resizes = [];
|
|
1090
1092
|
for (const { target, contentRect: { width, height } } of entries) {
|
|
1091
1093
|
if (target === viewportElement) {
|
|
1092
1094
|
if (width || height) {
|
|
1095
|
+
if (!isViewportDisplayed) {
|
|
1096
|
+
scrollObserver._sync();
|
|
1097
|
+
}
|
|
1098
|
+
isViewportDisplayed = true;
|
|
1093
1099
|
store.$update(4, isHorizontal ? width : height);
|
|
1100
|
+
} else {
|
|
1101
|
+
isViewportDisplayed = false;
|
|
1094
1102
|
}
|
|
1095
1103
|
} else if (target.offsetParent) {
|
|
1096
1104
|
const index = mountedIndexes.get(target);
|
|
@@ -1228,6 +1236,7 @@ var createContainerGridDriver = (rowStore, colStore) => {
|
|
|
1228
1236
|
let rowScrollObserver;
|
|
1229
1237
|
let colScrollObserver;
|
|
1230
1238
|
let initialized = createPromise();
|
|
1239
|
+
let isViewportDisplayed = true;
|
|
1231
1240
|
const mountedRowIndexes = new WeakMap();
|
|
1232
1241
|
const mountedColIndexes = new WeakMap();
|
|
1233
1242
|
const resizeObserver = createResizeObserver((entries) => {
|
|
@@ -1236,8 +1245,15 @@ var createContainerGridDriver = (rowStore, colStore) => {
|
|
|
1236
1245
|
for (const { target, contentRect: { width, height } } of entries) {
|
|
1237
1246
|
if (target === viewportElement) {
|
|
1238
1247
|
if (width || height) {
|
|
1248
|
+
if (!isViewportDisplayed) {
|
|
1249
|
+
rowScrollObserver._sync();
|
|
1250
|
+
colScrollObserver._sync();
|
|
1251
|
+
}
|
|
1252
|
+
isViewportDisplayed = true;
|
|
1239
1253
|
rowStore.$update(4, height);
|
|
1240
1254
|
colStore.$update(4, width);
|
|
1255
|
+
} else {
|
|
1256
|
+
isViewportDisplayed = false;
|
|
1241
1257
|
}
|
|
1242
1258
|
} else if (target.offsetParent) {
|
|
1243
1259
|
const rowIndex = mountedRowIndexes.get(target);
|