@inertiajs/react 2.3.7 → 2.3.9
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 +36 -19
- package/dist/index.esm.js.map +3 -3
- package/dist/index.js +32 -17
- package/dist/index.js.map +2 -2
- package/package.json +2 -2
- package/types/Form.d.ts +2 -1
- package/types/index.d.ts +1 -1
package/dist/index.js
CHANGED
|
@@ -42,6 +42,7 @@ __export(index_exports, {
|
|
|
42
42
|
progress: () => progress,
|
|
43
43
|
router: () => router3,
|
|
44
44
|
useForm: () => useForm,
|
|
45
|
+
useFormContext: () => useFormContext,
|
|
45
46
|
usePage: () => usePage,
|
|
46
47
|
usePoll: () => usePoll,
|
|
47
48
|
usePrefetch: () => usePrefetch,
|
|
@@ -415,8 +416,7 @@ function useForm(...args) {
|
|
|
415
416
|
if (isMounted.current) {
|
|
416
417
|
setProcessing(false);
|
|
417
418
|
setProgress(null);
|
|
418
|
-
|
|
419
|
-
setHasErrors(true);
|
|
419
|
+
setError(errors2);
|
|
420
420
|
}
|
|
421
421
|
if (options.onError) {
|
|
422
422
|
return options.onError(errors2);
|
|
@@ -690,6 +690,7 @@ var deferStateUpdate = (callback) => {
|
|
|
690
690
|
typeof import_react11.default.startTransition === "function" ? import_react11.default.startTransition(callback) : setTimeout(callback, 0);
|
|
691
691
|
};
|
|
692
692
|
var noop = () => void 0;
|
|
693
|
+
var FormContext = (0, import_react11.createContext)(void 0);
|
|
693
694
|
var Form = (0, import_react11.forwardRef)(
|
|
694
695
|
({
|
|
695
696
|
action = "",
|
|
@@ -836,7 +837,7 @@ var Form = (0, import_react11.forwardRef)(
|
|
|
836
837
|
defaultData.current = getFormData();
|
|
837
838
|
setIsDirty(false);
|
|
838
839
|
};
|
|
839
|
-
const exposed =
|
|
840
|
+
const exposed = {
|
|
840
841
|
errors: form.errors,
|
|
841
842
|
hasErrors: form.hasErrors,
|
|
842
843
|
processing: form.processing,
|
|
@@ -860,9 +861,9 @@ var Form = (0, import_react11.forwardRef)(
|
|
|
860
861
|
validate: (field, config2) => form.validate(...import_core5.UseFormUtils.mergeHeadersForValidation(field, config2, headers)),
|
|
861
862
|
touch: form.touch,
|
|
862
863
|
touched: form.touched
|
|
863
|
-
}
|
|
864
|
-
(0, import_react11.useImperativeHandle)(ref, exposed, [form, isDirty, submit]);
|
|
865
|
-
|
|
864
|
+
};
|
|
865
|
+
(0, import_react11.useImperativeHandle)(ref, () => exposed, [form, isDirty, submit]);
|
|
866
|
+
const formNode = (0, import_react11.createElement)(
|
|
866
867
|
"form",
|
|
867
868
|
{
|
|
868
869
|
...props,
|
|
@@ -879,11 +880,15 @@ var Form = (0, import_react11.forwardRef)(
|
|
|
879
880
|
// See: https://github.com/inertiajs/inertia/pull/2536
|
|
880
881
|
inert: disableWhileProcessing && form.processing && "true"
|
|
881
882
|
},
|
|
882
|
-
typeof children === "function" ? children(exposed
|
|
883
|
+
typeof children === "function" ? children(exposed) : children
|
|
883
884
|
);
|
|
885
|
+
return (0, import_react11.createElement)(FormContext.Provider, { value: exposed }, formNode);
|
|
884
886
|
}
|
|
885
887
|
);
|
|
886
888
|
Form.displayName = "InertiaForm";
|
|
889
|
+
function useFormContext() {
|
|
890
|
+
return (0, import_react11.useContext)(FormContext);
|
|
891
|
+
}
|
|
887
892
|
var Form_default = Form;
|
|
888
893
|
|
|
889
894
|
// src/Head.ts
|
|
@@ -1028,6 +1033,8 @@ var InfiniteScroll = (0, import_react13.forwardRef)(
|
|
|
1028
1033
|
const [loadingPrevious, setLoadingPrevious] = (0, import_react13.useState)(false);
|
|
1029
1034
|
const [loadingNext, setLoadingNext] = (0, import_react13.useState)(false);
|
|
1030
1035
|
const [requestCount, setRequestCount] = (0, import_react13.useState)(0);
|
|
1036
|
+
const [hasPreviousPage, setHasPreviousPage] = (0, import_react13.useState)(false);
|
|
1037
|
+
const [hasNextPage, setHasNextPage] = (0, import_react13.useState)(false);
|
|
1031
1038
|
const [resolvedStartElement, setResolvedStartElement] = (0, import_react13.useState)(null);
|
|
1032
1039
|
const [resolvedEndElement, setResolvedEndElement] = (0, import_react13.useState)(null);
|
|
1033
1040
|
const [resolvedItemsElement, setResolvedItemsElement] = (0, import_react13.useState)(null);
|
|
@@ -1078,6 +1085,11 @@ var InfiniteScroll = (0, import_react13.forwardRef)(
|
|
|
1078
1085
|
if (!resolvedItemsElement) {
|
|
1079
1086
|
return;
|
|
1080
1087
|
}
|
|
1088
|
+
function syncStateFromDataManager() {
|
|
1089
|
+
setRequestCount(infiniteScrollInstance.dataManager.getRequestCount());
|
|
1090
|
+
setHasPreviousPage(infiniteScrollInstance.dataManager.hasPrevious());
|
|
1091
|
+
setHasNextPage(infiniteScrollInstance.dataManager.hasNext());
|
|
1092
|
+
}
|
|
1081
1093
|
const infiniteScrollInstance = (0, import_core6.useInfiniteScroll)({
|
|
1082
1094
|
// Data
|
|
1083
1095
|
getPropName: () => data,
|
|
@@ -1096,16 +1108,17 @@ var InfiniteScroll = (0, import_react13.forwardRef)(
|
|
|
1096
1108
|
onBeforeNextRequest: () => setLoadingNext(true),
|
|
1097
1109
|
onCompletePreviousRequest: () => {
|
|
1098
1110
|
setLoadingPrevious(false);
|
|
1099
|
-
|
|
1111
|
+
syncStateFromDataManager();
|
|
1100
1112
|
},
|
|
1101
1113
|
onCompleteNextRequest: () => {
|
|
1102
1114
|
setLoadingNext(false);
|
|
1103
|
-
|
|
1104
|
-
}
|
|
1115
|
+
syncStateFromDataManager();
|
|
1116
|
+
},
|
|
1117
|
+
onDataReset: syncStateFromDataManager
|
|
1105
1118
|
});
|
|
1106
1119
|
setInfiniteScroll(infiniteScrollInstance);
|
|
1107
1120
|
const { dataManager: dataManager2, elementManager: elementManager2 } = infiniteScrollInstance;
|
|
1108
|
-
|
|
1121
|
+
syncStateFromDataManager();
|
|
1109
1122
|
elementManager2.setupObservers();
|
|
1110
1123
|
elementManager2.processServerLoadedElements(dataManager2.getLastLoadedPage());
|
|
1111
1124
|
if (autoLoad) {
|
|
@@ -1147,8 +1160,8 @@ var InfiniteScroll = (0, import_react13.forwardRef)(
|
|
|
1147
1160
|
const sharedExposed = {
|
|
1148
1161
|
loadingPrevious,
|
|
1149
1162
|
loadingNext,
|
|
1150
|
-
hasPrevious:
|
|
1151
|
-
hasNext:
|
|
1163
|
+
hasPrevious: hasPreviousPage,
|
|
1164
|
+
hasNext: hasNextPage
|
|
1152
1165
|
};
|
|
1153
1166
|
const exposedPrevious = {
|
|
1154
1167
|
loading: loadingPrevious,
|
|
@@ -1156,7 +1169,7 @@ var InfiniteScroll = (0, import_react13.forwardRef)(
|
|
|
1156
1169
|
}),
|
|
1157
1170
|
autoMode: headerAutoMode,
|
|
1158
1171
|
manualMode: !headerAutoMode,
|
|
1159
|
-
hasMore:
|
|
1172
|
+
hasMore: hasPreviousPage,
|
|
1160
1173
|
...sharedExposed
|
|
1161
1174
|
};
|
|
1162
1175
|
const exposedNext = {
|
|
@@ -1165,7 +1178,7 @@ var InfiniteScroll = (0, import_react13.forwardRef)(
|
|
|
1165
1178
|
}),
|
|
1166
1179
|
autoMode: footerAutoMode,
|
|
1167
1180
|
manualMode: !footerAutoMode,
|
|
1168
|
-
hasMore:
|
|
1181
|
+
hasMore: hasNextPage,
|
|
1169
1182
|
...sharedExposed
|
|
1170
1183
|
};
|
|
1171
1184
|
const exposedSlot = {
|
|
@@ -1514,6 +1527,7 @@ var WhenVisible = ({ children, data, params, buffer, as, always, fallback }) =>
|
|
|
1514
1527
|
const fetching = (0, import_react17.useRef)(false);
|
|
1515
1528
|
const ref = (0, import_react17.useRef)(null);
|
|
1516
1529
|
const observer = (0, import_react17.useRef)(null);
|
|
1530
|
+
const getReloadParamsRef = (0, import_react17.useRef)(() => ({}));
|
|
1517
1531
|
(0, import_react17.useEffect)(() => {
|
|
1518
1532
|
if (keys.length > 0) {
|
|
1519
1533
|
setLoaded(keys.every((key) => pageProps[key] !== void 0));
|
|
@@ -1526,6 +1540,7 @@ var WhenVisible = ({ children, data, params, buffer, as, always, fallback }) =>
|
|
|
1526
1540
|
}
|
|
1527
1541
|
return reloadParams;
|
|
1528
1542
|
}, [params, data]);
|
|
1543
|
+
getReloadParamsRef.current = getReloadParams;
|
|
1529
1544
|
const registerObserver = () => {
|
|
1530
1545
|
observer.current?.disconnect();
|
|
1531
1546
|
observer.current = new IntersectionObserver(
|
|
@@ -1541,7 +1556,7 @@ var WhenVisible = ({ children, data, params, buffer, as, always, fallback }) =>
|
|
|
1541
1556
|
}
|
|
1542
1557
|
fetching.current = true;
|
|
1543
1558
|
setIsFetching(true);
|
|
1544
|
-
const reloadParams =
|
|
1559
|
+
const reloadParams = getReloadParamsRef.current();
|
|
1545
1560
|
import_core10.router.reload({
|
|
1546
1561
|
...reloadParams,
|
|
1547
1562
|
onStart: (e) => {
|
|
@@ -1577,7 +1592,7 @@ var WhenVisible = ({ children, data, params, buffer, as, always, fallback }) =>
|
|
|
1577
1592
|
return () => {
|
|
1578
1593
|
observer.current?.disconnect();
|
|
1579
1594
|
};
|
|
1580
|
-
}, [always, loaded,
|
|
1595
|
+
}, [always, loaded, buffer]);
|
|
1581
1596
|
const resolveChildren = () => typeof children === "function" ? children({ fetching: isFetching }) : children;
|
|
1582
1597
|
const resolveFallback = () => typeof fallback === "function" ? fallback() : fallback;
|
|
1583
1598
|
if (always || !loaded) {
|