@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.esm.js
CHANGED
|
@@ -253,8 +253,10 @@ import {
|
|
|
253
253
|
} from "@inertiajs/core";
|
|
254
254
|
import { isEqual as isEqual2 } from "lodash-es";
|
|
255
255
|
import React2, {
|
|
256
|
+
createContext as createContext3,
|
|
256
257
|
createElement as createElement3,
|
|
257
258
|
forwardRef,
|
|
259
|
+
useContext,
|
|
258
260
|
useEffect as useEffect6,
|
|
259
261
|
useImperativeHandle,
|
|
260
262
|
useMemo as useMemo4,
|
|
@@ -394,8 +396,7 @@ function useForm(...args) {
|
|
|
394
396
|
if (isMounted.current) {
|
|
395
397
|
setProcessing(false);
|
|
396
398
|
setProgress(null);
|
|
397
|
-
|
|
398
|
-
setHasErrors(true);
|
|
399
|
+
setError(errors2);
|
|
399
400
|
}
|
|
400
401
|
if (options.onError) {
|
|
401
402
|
return options.onError(errors2);
|
|
@@ -669,6 +670,7 @@ var deferStateUpdate = (callback) => {
|
|
|
669
670
|
typeof React2.startTransition === "function" ? React2.startTransition(callback) : setTimeout(callback, 0);
|
|
670
671
|
};
|
|
671
672
|
var noop = () => void 0;
|
|
673
|
+
var FormContext = createContext3(void 0);
|
|
672
674
|
var Form = forwardRef(
|
|
673
675
|
({
|
|
674
676
|
action = "",
|
|
@@ -815,7 +817,7 @@ var Form = forwardRef(
|
|
|
815
817
|
defaultData.current = getFormData();
|
|
816
818
|
setIsDirty(false);
|
|
817
819
|
};
|
|
818
|
-
const exposed =
|
|
820
|
+
const exposed = {
|
|
819
821
|
errors: form.errors,
|
|
820
822
|
hasErrors: form.hasErrors,
|
|
821
823
|
processing: form.processing,
|
|
@@ -839,9 +841,9 @@ var Form = forwardRef(
|
|
|
839
841
|
validate: (field, config2) => form.validate(...UseFormUtils2.mergeHeadersForValidation(field, config2, headers)),
|
|
840
842
|
touch: form.touch,
|
|
841
843
|
touched: form.touched
|
|
842
|
-
}
|
|
843
|
-
useImperativeHandle(ref, exposed, [form, isDirty, submit]);
|
|
844
|
-
|
|
844
|
+
};
|
|
845
|
+
useImperativeHandle(ref, () => exposed, [form, isDirty, submit]);
|
|
846
|
+
const formNode = createElement3(
|
|
845
847
|
"form",
|
|
846
848
|
{
|
|
847
849
|
...props,
|
|
@@ -858,18 +860,22 @@ var Form = forwardRef(
|
|
|
858
860
|
// See: https://github.com/inertiajs/inertia/pull/2536
|
|
859
861
|
inert: disableWhileProcessing && form.processing && "true"
|
|
860
862
|
},
|
|
861
|
-
typeof children === "function" ? children(exposed
|
|
863
|
+
typeof children === "function" ? children(exposed) : children
|
|
862
864
|
);
|
|
865
|
+
return createElement3(FormContext.Provider, { value: exposed }, formNode);
|
|
863
866
|
}
|
|
864
867
|
);
|
|
865
868
|
Form.displayName = "InertiaForm";
|
|
869
|
+
function useFormContext() {
|
|
870
|
+
return useContext(FormContext);
|
|
871
|
+
}
|
|
866
872
|
var Form_default = Form;
|
|
867
873
|
|
|
868
874
|
// src/Head.ts
|
|
869
875
|
import { escape } from "lodash-es";
|
|
870
|
-
import React3, { useContext, useEffect as useEffect7, useMemo as useMemo5 } from "react";
|
|
876
|
+
import React3, { useContext as useContext2, useEffect as useEffect7, useMemo as useMemo5 } from "react";
|
|
871
877
|
var Head = function({ children, title }) {
|
|
872
|
-
const headManager =
|
|
878
|
+
const headManager = useContext2(HeadContext_default);
|
|
873
879
|
const provider = useMemo5(() => headManager.createProvider(), [headManager]);
|
|
874
880
|
const isServer = typeof window === "undefined";
|
|
875
881
|
useEffect7(() => {
|
|
@@ -1019,6 +1025,8 @@ var InfiniteScroll = forwardRef2(
|
|
|
1019
1025
|
const [loadingPrevious, setLoadingPrevious] = useState6(false);
|
|
1020
1026
|
const [loadingNext, setLoadingNext] = useState6(false);
|
|
1021
1027
|
const [requestCount, setRequestCount] = useState6(0);
|
|
1028
|
+
const [hasPreviousPage, setHasPreviousPage] = useState6(false);
|
|
1029
|
+
const [hasNextPage, setHasNextPage] = useState6(false);
|
|
1022
1030
|
const [resolvedStartElement, setResolvedStartElement] = useState6(null);
|
|
1023
1031
|
const [resolvedEndElement, setResolvedEndElement] = useState6(null);
|
|
1024
1032
|
const [resolvedItemsElement, setResolvedItemsElement] = useState6(null);
|
|
@@ -1069,6 +1077,11 @@ var InfiniteScroll = forwardRef2(
|
|
|
1069
1077
|
if (!resolvedItemsElement) {
|
|
1070
1078
|
return;
|
|
1071
1079
|
}
|
|
1080
|
+
function syncStateFromDataManager() {
|
|
1081
|
+
setRequestCount(infiniteScrollInstance.dataManager.getRequestCount());
|
|
1082
|
+
setHasPreviousPage(infiniteScrollInstance.dataManager.hasPrevious());
|
|
1083
|
+
setHasNextPage(infiniteScrollInstance.dataManager.hasNext());
|
|
1084
|
+
}
|
|
1072
1085
|
const infiniteScrollInstance = useInfiniteScroll({
|
|
1073
1086
|
// Data
|
|
1074
1087
|
getPropName: () => data,
|
|
@@ -1087,16 +1100,17 @@ var InfiniteScroll = forwardRef2(
|
|
|
1087
1100
|
onBeforeNextRequest: () => setLoadingNext(true),
|
|
1088
1101
|
onCompletePreviousRequest: () => {
|
|
1089
1102
|
setLoadingPrevious(false);
|
|
1090
|
-
|
|
1103
|
+
syncStateFromDataManager();
|
|
1091
1104
|
},
|
|
1092
1105
|
onCompleteNextRequest: () => {
|
|
1093
1106
|
setLoadingNext(false);
|
|
1094
|
-
|
|
1095
|
-
}
|
|
1107
|
+
syncStateFromDataManager();
|
|
1108
|
+
},
|
|
1109
|
+
onDataReset: syncStateFromDataManager
|
|
1096
1110
|
});
|
|
1097
1111
|
setInfiniteScroll(infiniteScrollInstance);
|
|
1098
1112
|
const { dataManager: dataManager2, elementManager: elementManager2 } = infiniteScrollInstance;
|
|
1099
|
-
|
|
1113
|
+
syncStateFromDataManager();
|
|
1100
1114
|
elementManager2.setupObservers();
|
|
1101
1115
|
elementManager2.processServerLoadedElements(dataManager2.getLastLoadedPage());
|
|
1102
1116
|
if (autoLoad) {
|
|
@@ -1138,8 +1152,8 @@ var InfiniteScroll = forwardRef2(
|
|
|
1138
1152
|
const sharedExposed = {
|
|
1139
1153
|
loadingPrevious,
|
|
1140
1154
|
loadingNext,
|
|
1141
|
-
hasPrevious:
|
|
1142
|
-
hasNext:
|
|
1155
|
+
hasPrevious: hasPreviousPage,
|
|
1156
|
+
hasNext: hasNextPage
|
|
1143
1157
|
};
|
|
1144
1158
|
const exposedPrevious = {
|
|
1145
1159
|
loading: loadingPrevious,
|
|
@@ -1147,7 +1161,7 @@ var InfiniteScroll = forwardRef2(
|
|
|
1147
1161
|
}),
|
|
1148
1162
|
autoMode: headerAutoMode,
|
|
1149
1163
|
manualMode: !headerAutoMode,
|
|
1150
|
-
hasMore:
|
|
1164
|
+
hasMore: hasPreviousPage,
|
|
1151
1165
|
...sharedExposed
|
|
1152
1166
|
};
|
|
1153
1167
|
const exposedNext = {
|
|
@@ -1156,7 +1170,7 @@ var InfiniteScroll = forwardRef2(
|
|
|
1156
1170
|
}),
|
|
1157
1171
|
autoMode: footerAutoMode,
|
|
1158
1172
|
manualMode: !footerAutoMode,
|
|
1159
|
-
hasMore:
|
|
1173
|
+
hasMore: hasNextPage,
|
|
1160
1174
|
...sharedExposed
|
|
1161
1175
|
};
|
|
1162
1176
|
const exposedSlot = {
|
|
@@ -1511,6 +1525,7 @@ var WhenVisible = ({ children, data, params, buffer, as, always, fallback }) =>
|
|
|
1511
1525
|
const fetching = useRef6(false);
|
|
1512
1526
|
const ref = useRef6(null);
|
|
1513
1527
|
const observer = useRef6(null);
|
|
1528
|
+
const getReloadParamsRef = useRef6(() => ({}));
|
|
1514
1529
|
useEffect12(() => {
|
|
1515
1530
|
if (keys.length > 0) {
|
|
1516
1531
|
setLoaded(keys.every((key) => pageProps[key] !== void 0));
|
|
@@ -1523,6 +1538,7 @@ var WhenVisible = ({ children, data, params, buffer, as, always, fallback }) =>
|
|
|
1523
1538
|
}
|
|
1524
1539
|
return reloadParams;
|
|
1525
1540
|
}, [params, data]);
|
|
1541
|
+
getReloadParamsRef.current = getReloadParams;
|
|
1526
1542
|
const registerObserver = () => {
|
|
1527
1543
|
observer.current?.disconnect();
|
|
1528
1544
|
observer.current = new IntersectionObserver(
|
|
@@ -1538,7 +1554,7 @@ var WhenVisible = ({ children, data, params, buffer, as, always, fallback }) =>
|
|
|
1538
1554
|
}
|
|
1539
1555
|
fetching.current = true;
|
|
1540
1556
|
setIsFetching(true);
|
|
1541
|
-
const reloadParams =
|
|
1557
|
+
const reloadParams = getReloadParamsRef.current();
|
|
1542
1558
|
router9.reload({
|
|
1543
1559
|
...reloadParams,
|
|
1544
1560
|
onStart: (e) => {
|
|
@@ -1574,7 +1590,7 @@ var WhenVisible = ({ children, data, params, buffer, as, always, fallback }) =>
|
|
|
1574
1590
|
return () => {
|
|
1575
1591
|
observer.current?.disconnect();
|
|
1576
1592
|
};
|
|
1577
|
-
}, [always, loaded,
|
|
1593
|
+
}, [always, loaded, buffer]);
|
|
1578
1594
|
const resolveChildren = () => typeof children === "function" ? children({ fetching: isFetching }) : children;
|
|
1579
1595
|
const resolveFallback = () => typeof fallback === "function" ? fallback() : fallback;
|
|
1580
1596
|
if (always || !loaded) {
|
|
@@ -1609,6 +1625,7 @@ export {
|
|
|
1609
1625
|
progress,
|
|
1610
1626
|
router3 as router,
|
|
1611
1627
|
useForm,
|
|
1628
|
+
useFormContext,
|
|
1612
1629
|
usePage,
|
|
1613
1630
|
usePoll,
|
|
1614
1631
|
usePrefetch,
|