@inertiajs/core 2.2.4 → 2.2.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/dist/index.esm.js +62 -26
- package/dist/index.esm.js.map +3 -3
- package/dist/index.js +62 -26
- package/dist/index.js.map +3 -3
- package/package.json +1 -1
- package/types/infiniteScroll/queryString.d.ts +1 -0
- package/types/types.d.ts +1 -0
package/dist/index.esm.js
CHANGED
|
@@ -2186,11 +2186,12 @@ var getScrollableParent = (element) => {
|
|
|
2186
2186
|
};
|
|
2187
2187
|
var getElementsInViewportFromCollection = (referenceElement, elements) => {
|
|
2188
2188
|
const referenceIndex = elements.indexOf(referenceElement);
|
|
2189
|
-
const
|
|
2189
|
+
const upwardElements = [];
|
|
2190
|
+
const downwardElements = [];
|
|
2190
2191
|
for (let i = referenceIndex; i >= 0; i--) {
|
|
2191
2192
|
const element = elements[i];
|
|
2192
2193
|
if (elementInViewport(element)) {
|
|
2193
|
-
|
|
2194
|
+
upwardElements.push(element);
|
|
2194
2195
|
} else {
|
|
2195
2196
|
break;
|
|
2196
2197
|
}
|
|
@@ -2198,12 +2199,12 @@ var getElementsInViewportFromCollection = (referenceElement, elements) => {
|
|
|
2198
2199
|
for (let i = referenceIndex + 1; i < elements.length; i++) {
|
|
2199
2200
|
const element = elements[i];
|
|
2200
2201
|
if (elementInViewport(element)) {
|
|
2201
|
-
|
|
2202
|
+
downwardElements.push(element);
|
|
2202
2203
|
} else {
|
|
2203
2204
|
break;
|
|
2204
2205
|
}
|
|
2205
2206
|
}
|
|
2206
|
-
return
|
|
2207
|
+
return [...upwardElements.reverse(), ...downwardElements];
|
|
2207
2208
|
};
|
|
2208
2209
|
|
|
2209
2210
|
// src/formObject.ts
|
|
@@ -2379,6 +2380,7 @@ var useInfiniteScrollData = (options) => {
|
|
|
2379
2380
|
};
|
|
2380
2381
|
const { previousPage, nextPage, currentPage: lastLoadedPage } = getScrollPropFromCurrentPage();
|
|
2381
2382
|
const state = {
|
|
2383
|
+
component: page.get().component,
|
|
2382
2384
|
loading: false,
|
|
2383
2385
|
previousPage,
|
|
2384
2386
|
nextPage,
|
|
@@ -2393,7 +2395,10 @@ var useInfiniteScrollData = (options) => {
|
|
|
2393
2395
|
state.lastLoadedPage = rememberedState.lastLoadedPage;
|
|
2394
2396
|
state.requestCount = rememberedState.requestCount || 0;
|
|
2395
2397
|
}
|
|
2396
|
-
const removeEventListener = router.on("success", () => {
|
|
2398
|
+
const removeEventListener = router.on("success", (event) => {
|
|
2399
|
+
if (state.component !== event.detail.page.component) {
|
|
2400
|
+
return;
|
|
2401
|
+
}
|
|
2397
2402
|
const scrollProp = getScrollPropFromCurrentPage();
|
|
2398
2403
|
if (scrollProp.reset) {
|
|
2399
2404
|
state.previousPage = scrollProp.previousPage;
|
|
@@ -2528,8 +2533,7 @@ var useInfiniteScrollElementManager = (options) => {
|
|
|
2528
2533
|
});
|
|
2529
2534
|
itemsMutationObserver.observe(options.getItemsElement(), { childList: true });
|
|
2530
2535
|
itemsObserver = intersectionObservers.new(
|
|
2531
|
-
(entry) => options.onItemIntersected(entry.target)
|
|
2532
|
-
{ threshold: 0 }
|
|
2536
|
+
(entry) => options.onItemIntersected(entry.target)
|
|
2533
2537
|
);
|
|
2534
2538
|
const observerOptions = {
|
|
2535
2539
|
root: options.getScrollableParent(),
|
|
@@ -2566,6 +2570,7 @@ var useInfiniteScrollElementManager = (options) => {
|
|
|
2566
2570
|
}
|
|
2567
2571
|
};
|
|
2568
2572
|
const flushAll = () => {
|
|
2573
|
+
disableTriggers();
|
|
2569
2574
|
intersectionObservers.flushAll();
|
|
2570
2575
|
itemsMutationObserver?.disconnect();
|
|
2571
2576
|
};
|
|
@@ -2667,13 +2672,49 @@ var useInfiniteScrollElementManager = (options) => {
|
|
|
2667
2672
|
};
|
|
2668
2673
|
|
|
2669
2674
|
// src/infiniteScroll/queryString.ts
|
|
2675
|
+
var queue3 = new Queue();
|
|
2676
|
+
var initialUrl;
|
|
2677
|
+
var payloadUrl;
|
|
2670
2678
|
var useInfiniteScrollQueryString = (options) => {
|
|
2679
|
+
let enabled = true;
|
|
2680
|
+
const queuePageUpdate = (page2) => {
|
|
2681
|
+
queue3.add(() => {
|
|
2682
|
+
return new Promise((resolve) => {
|
|
2683
|
+
if (!enabled) {
|
|
2684
|
+
initialUrl = payloadUrl = null;
|
|
2685
|
+
return resolve();
|
|
2686
|
+
}
|
|
2687
|
+
if (!initialUrl || !payloadUrl) {
|
|
2688
|
+
initialUrl = new URL(window.location.href);
|
|
2689
|
+
payloadUrl = new URL(window.location.href);
|
|
2690
|
+
}
|
|
2691
|
+
const pageName = options.getPageName();
|
|
2692
|
+
const searchParams = payloadUrl.searchParams;
|
|
2693
|
+
if (page2 === "1") {
|
|
2694
|
+
searchParams.delete(pageName);
|
|
2695
|
+
} else {
|
|
2696
|
+
searchParams.set(pageName, page2);
|
|
2697
|
+
}
|
|
2698
|
+
setTimeout(() => resolve());
|
|
2699
|
+
});
|
|
2700
|
+
}).finally(() => {
|
|
2701
|
+
if (enabled && initialUrl && payloadUrl && initialUrl.href !== payloadUrl.href) {
|
|
2702
|
+
router.replace({
|
|
2703
|
+
url: payloadUrl.toString(),
|
|
2704
|
+
preserveScroll: true,
|
|
2705
|
+
preserveState: true
|
|
2706
|
+
});
|
|
2707
|
+
}
|
|
2708
|
+
initialUrl = payloadUrl = null;
|
|
2709
|
+
});
|
|
2710
|
+
};
|
|
2671
2711
|
const onItemIntersected = debounce((itemElement) => {
|
|
2672
|
-
|
|
2712
|
+
const itemsElement = options.getItemsElement();
|
|
2713
|
+
if (!enabled || options.shouldPreserveUrl() || !itemElement || !itemsElement) {
|
|
2673
2714
|
return;
|
|
2674
2715
|
}
|
|
2675
2716
|
const pageMap = /* @__PURE__ */ new Map();
|
|
2676
|
-
const elements = [...
|
|
2717
|
+
const elements = [...itemsElement.children];
|
|
2677
2718
|
getElementsInViewportFromCollection(itemElement, elements).forEach((element) => {
|
|
2678
2719
|
const page2 = getPageFromElement(element) ?? "1";
|
|
2679
2720
|
if (pageMap.has(page2)) {
|
|
@@ -2684,23 +2725,13 @@ var useInfiniteScrollQueryString = (options) => {
|
|
|
2684
2725
|
});
|
|
2685
2726
|
const sortedPages = Array.from(pageMap.entries()).sort((a, b) => b[1] - a[1]);
|
|
2686
2727
|
const mostVisiblePage = sortedPages[0]?.[0];
|
|
2687
|
-
if (mostVisiblePage
|
|
2688
|
-
|
|
2728
|
+
if (mostVisiblePage !== void 0) {
|
|
2729
|
+
queuePageUpdate(mostVisiblePage);
|
|
2689
2730
|
}
|
|
2690
|
-
const url = new URL(window.location.href);
|
|
2691
|
-
if (mostVisiblePage === "1") {
|
|
2692
|
-
url.searchParams.delete(options.getPageName());
|
|
2693
|
-
} else {
|
|
2694
|
-
url.searchParams.set(options.getPageName(), mostVisiblePage.toString());
|
|
2695
|
-
}
|
|
2696
|
-
router.replace({
|
|
2697
|
-
url: url.toString(),
|
|
2698
|
-
preserveScroll: true,
|
|
2699
|
-
preserveState: true
|
|
2700
|
-
});
|
|
2701
2731
|
}, 250);
|
|
2702
2732
|
return {
|
|
2703
|
-
onItemIntersected
|
|
2733
|
+
onItemIntersected,
|
|
2734
|
+
cancel: () => enabled = false
|
|
2704
2735
|
};
|
|
2705
2736
|
};
|
|
2706
2737
|
|
|
@@ -2830,7 +2861,12 @@ function useInfiniteScroll(options) {
|
|
|
2830
2861
|
};
|
|
2831
2862
|
return {
|
|
2832
2863
|
dataManager,
|
|
2833
|
-
elementManager
|
|
2864
|
+
elementManager,
|
|
2865
|
+
flush: () => {
|
|
2866
|
+
dataManager.removeEventListener();
|
|
2867
|
+
elementManager.flushAll();
|
|
2868
|
+
queryStringManager.cancel();
|
|
2869
|
+
}
|
|
2834
2870
|
};
|
|
2835
2871
|
}
|
|
2836
2872
|
|
|
@@ -2888,7 +2924,7 @@ var set4 = (n) => {
|
|
|
2888
2924
|
const speed = settings.speed;
|
|
2889
2925
|
const ease = settings.easing;
|
|
2890
2926
|
progress3.offsetWidth;
|
|
2891
|
-
|
|
2927
|
+
queue4((next) => {
|
|
2892
2928
|
const barStyles = (() => {
|
|
2893
2929
|
if (settings.positionUsing === "translate3d") {
|
|
2894
2930
|
return {
|
|
@@ -3020,7 +3056,7 @@ function clamp(n, min, max) {
|
|
|
3020
3056
|
return n;
|
|
3021
3057
|
}
|
|
3022
3058
|
var toBarPercentage = (n) => (-1 + n) * 100;
|
|
3023
|
-
var
|
|
3059
|
+
var queue4 = /* @__PURE__ */ (() => {
|
|
3024
3060
|
const pending = [];
|
|
3025
3061
|
const next = () => {
|
|
3026
3062
|
const fn = pending.shift();
|