@jsenv/navi 0.30.7 → 0.30.8
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/dist/dev/jsenv_navi.js +11 -7
- package/dist/dev/jsenv_navi.js.map +2 -2
- package/dist/jsenv_navi.js +11 -7
- package/dist/jsenv_navi.js.map +2 -2
- package/package.json +1 -1
package/dist/dev/jsenv_navi.js
CHANGED
|
@@ -87358,10 +87358,13 @@ const useListScrollSync = ({
|
|
|
87358
87358
|
};
|
|
87359
87359
|
// Items that came in at another size than what stood in for them (a
|
|
87360
87360
|
// skeleton becoming its item) leave the window short of the screen, or past
|
|
87361
|
-
// it, and nothing scrolled to say so.
|
|
87362
|
-
// the
|
|
87363
|
-
//
|
|
87364
|
-
//
|
|
87361
|
+
// it, and nothing scrolled to say so. A held list too: its hold places it but
|
|
87362
|
+
// leaves the window to the screen (see holdWindow), and a placement that
|
|
87363
|
+
// moves nothing — a document too short to scroll — fires no scroll that
|
|
87364
|
+
// would size it. Asked on the next frame, not inside the resize delivery:
|
|
87365
|
+
// the window it frames is a render, which resizes what is observed once
|
|
87366
|
+
// more, and the browser gives up on the loop ("ResizeObserver loop
|
|
87367
|
+
// completed with undelivered notifications").
|
|
87365
87368
|
const onItemsResizedRef = useRef(null);
|
|
87366
87369
|
onItemsResizedRef.current = () => {
|
|
87367
87370
|
settleWindow();
|
|
@@ -87526,9 +87529,7 @@ const useListScrollSync = ({
|
|
|
87526
87529
|
const putTopItemBack = entries => {
|
|
87527
87530
|
const listResized = entries.some(entry => entry.target === listEl);
|
|
87528
87531
|
if (listResized) {
|
|
87529
|
-
|
|
87530
|
-
return;
|
|
87531
|
-
}
|
|
87532
|
+
const placed = onGeometryChangeRef.current();
|
|
87532
87533
|
cancelAnimationFrame(itemsResizedFrame);
|
|
87533
87534
|
itemsResizedFrame = requestAnimationFrame(() => {
|
|
87534
87535
|
if (pageLeftRef.current) {
|
|
@@ -87536,6 +87537,9 @@ const useListScrollSync = ({
|
|
|
87536
87537
|
}
|
|
87537
87538
|
onItemsResizedRef.current();
|
|
87538
87539
|
});
|
|
87540
|
+
if (placed) {
|
|
87541
|
+
return;
|
|
87542
|
+
}
|
|
87539
87543
|
}
|
|
87540
87544
|
if (!entries.some(entry => entry.target === scrollerEl)) {
|
|
87541
87545
|
return;
|