@inertiajs/react
Advanced tools
+26
-34
@@ -202,5 +202,2 @@ // src/index.ts | ||
| import React, { useEffect as useEffect2, useLayoutEffect } from "react"; | ||
| function useIsomorphicLayoutEffect(effect, deps) { | ||
| typeof window === "undefined" ? useEffect2(effect, deps) : useLayoutEffect(effect, deps); | ||
| } | ||
| var isReact19 = typeof React.use === "function"; | ||
@@ -347,2 +344,13 @@ | ||
| const setDefaultsCalledInOnSuccess = useRef(false); | ||
| const dataRef = useRef(data); | ||
| useEffect5(() => { | ||
| dataRef.current = data; | ||
| }); | ||
| const commitData = useCallback( | ||
| (next) => { | ||
| dataRef.current = next; | ||
| setData(next); | ||
| }, | ||
| [setData] | ||
| ); | ||
| const submit = useCallback( | ||
@@ -435,3 +443,3 @@ (...args2) => { | ||
| }; | ||
| const transformedData = transform.current(data); | ||
| const transformedData = transform.current(dataRef.current); | ||
| if (method === "delete") { | ||
@@ -443,3 +451,3 @@ router5.delete(url, { ..._options, data: transformedData }); | ||
| }, | ||
| [data, setErrors, transform] | ||
| [setErrors, transform] | ||
| ); | ||
@@ -449,16 +457,11 @@ const setDataFunction = useCallback( | ||
| if (typeof keyOrData === "string") { | ||
| setData((data2) => set(cloneDeep(data2), keyOrData, maybeValue)); | ||
| commitData(set(cloneDeep(dataRef.current), keyOrData, maybeValue)); | ||
| } else if (typeof keyOrData === "function") { | ||
| setData((data2) => keyOrData(data2)); | ||
| commitData(keyOrData(dataRef.current)); | ||
| } else { | ||
| setData(keyOrData); | ||
| commitData(keyOrData); | ||
| } | ||
| }, | ||
| [setData] | ||
| [commitData] | ||
| ); | ||
| const [dataAsDefaults, setDataAsDefaults] = useState4(false); | ||
| const dataRef = useRef(data); | ||
| useEffect5(() => { | ||
| dataRef.current = data; | ||
| }); | ||
| const setDefaultsFunction = useCallback( | ||
@@ -471,3 +474,2 @@ (fieldOrFields, maybeValue) => { | ||
| setDefaults(dataRef.current); | ||
| setDataAsDefaults(true); | ||
| } else { | ||
@@ -483,28 +485,18 @@ setDefaults((defaults2) => { | ||
| ); | ||
| useIsomorphicLayoutEffect(() => { | ||
| if (!dataAsDefaults) { | ||
| return; | ||
| } | ||
| if (isDirty) { | ||
| setDefaults(data); | ||
| } | ||
| setDataAsDefaults(false); | ||
| }, [dataAsDefaults]); | ||
| const reset = useCallback( | ||
| (...fields) => { | ||
| if (fields.length === 0) { | ||
| setData(defaults); | ||
| commitData(defaults); | ||
| } else { | ||
| setData( | ||
| (data2) => fields.filter((key) => has(defaults, key)).reduce( | ||
| (carry, key) => { | ||
| return set(carry, key, get(defaults, key)); | ||
| }, | ||
| { ...data2 } | ||
| ) | ||
| const next = fields.filter((key) => has(defaults, key)).reduce( | ||
| (carry, key) => { | ||
| return set(carry, key, get(defaults, key)); | ||
| }, | ||
| { ...dataRef.current } | ||
| ); | ||
| commitData(next); | ||
| } | ||
| validatorRef.current?.reset(...fields); | ||
| }, | ||
| [setData, defaults] | ||
| [commitData, defaults] | ||
| ); | ||
@@ -978,3 +970,3 @@ const setError = useCallback( | ||
| if (title && !elements.find((tag) => tag.startsWith("<title"))) { | ||
| elements.push(`<title ${provider.preferredAttribute()}>${title}</title>`); | ||
| elements.push(`<title ${provider.preferredAttribute()}>${escape(title)}</title>`); | ||
| } | ||
@@ -981,0 +973,0 @@ return elements; |
+120
-128
@@ -245,5 +245,2 @@ "use strict"; | ||
| var import_react5 = __toESM(require("react"), 1); | ||
| function useIsomorphicLayoutEffect(effect, deps) { | ||
| typeof window === "undefined" ? (0, import_react5.useEffect)(effect, deps) : (0, import_react5.useLayoutEffect)(effect, deps); | ||
| } | ||
| var isReact19 = typeof import_react5.default.use === "function"; | ||
@@ -303,3 +300,3 @@ | ||
| var import_lodash_es2 = require("lodash-es"); | ||
| var import_react12 = __toESM(require("react"), 1); | ||
| var import_react11 = __toESM(require("react"), 1); | ||
@@ -366,2 +363,13 @@ // src/useForm.ts | ||
| const setDefaultsCalledInOnSuccess = (0, import_react10.useRef)(false); | ||
| const dataRef = (0, import_react10.useRef)(data); | ||
| (0, import_react10.useEffect)(() => { | ||
| dataRef.current = data; | ||
| }); | ||
| const commitData = (0, import_react10.useCallback)( | ||
| (next) => { | ||
| dataRef.current = next; | ||
| setData(next); | ||
| }, | ||
| [setData] | ||
| ); | ||
| const submit = (0, import_react10.useCallback)( | ||
@@ -454,3 +462,3 @@ (...args2) => { | ||
| }; | ||
| const transformedData = transform.current(data); | ||
| const transformedData = transform.current(dataRef.current); | ||
| if (method === "delete") { | ||
@@ -462,3 +470,3 @@ import_core4.router.delete(url, { ..._options, data: transformedData }); | ||
| }, | ||
| [data, setErrors, transform] | ||
| [setErrors, transform] | ||
| ); | ||
@@ -468,16 +476,11 @@ const setDataFunction = (0, import_react10.useCallback)( | ||
| if (typeof keyOrData === "string") { | ||
| setData((data2) => (0, import_lodash_es.set)((0, import_lodash_es.cloneDeep)(data2), keyOrData, maybeValue)); | ||
| commitData((0, import_lodash_es.set)((0, import_lodash_es.cloneDeep)(dataRef.current), keyOrData, maybeValue)); | ||
| } else if (typeof keyOrData === "function") { | ||
| setData((data2) => keyOrData(data2)); | ||
| commitData(keyOrData(dataRef.current)); | ||
| } else { | ||
| setData(keyOrData); | ||
| commitData(keyOrData); | ||
| } | ||
| }, | ||
| [setData] | ||
| [commitData] | ||
| ); | ||
| const [dataAsDefaults, setDataAsDefaults] = (0, import_react10.useState)(false); | ||
| const dataRef = (0, import_react10.useRef)(data); | ||
| (0, import_react10.useEffect)(() => { | ||
| dataRef.current = data; | ||
| }); | ||
| const setDefaultsFunction = (0, import_react10.useCallback)( | ||
@@ -490,3 +493,2 @@ (fieldOrFields, maybeValue) => { | ||
| setDefaults(dataRef.current); | ||
| setDataAsDefaults(true); | ||
| } else { | ||
@@ -502,28 +504,18 @@ setDefaults((defaults2) => { | ||
| ); | ||
| useIsomorphicLayoutEffect(() => { | ||
| if (!dataAsDefaults) { | ||
| return; | ||
| } | ||
| if (isDirty) { | ||
| setDefaults(data); | ||
| } | ||
| setDataAsDefaults(false); | ||
| }, [dataAsDefaults]); | ||
| const reset = (0, import_react10.useCallback)( | ||
| (...fields) => { | ||
| if (fields.length === 0) { | ||
| setData(defaults); | ||
| commitData(defaults); | ||
| } else { | ||
| setData( | ||
| (data2) => fields.filter((key) => (0, import_lodash_es.has)(defaults, key)).reduce( | ||
| (carry, key) => { | ||
| return (0, import_lodash_es.set)(carry, key, (0, import_lodash_es.get)(defaults, key)); | ||
| }, | ||
| { ...data2 } | ||
| ) | ||
| const next = fields.filter((key) => (0, import_lodash_es.has)(defaults, key)).reduce( | ||
| (carry, key) => { | ||
| return (0, import_lodash_es.set)(carry, key, (0, import_lodash_es.get)(defaults, key)); | ||
| }, | ||
| { ...dataRef.current } | ||
| ); | ||
| commitData(next); | ||
| } | ||
| validatorRef.current?.reset(...fields); | ||
| }, | ||
| [setData, defaults] | ||
| [commitData, defaults] | ||
| ); | ||
@@ -704,7 +696,7 @@ const setError = (0, import_react10.useCallback)( | ||
| var deferStateUpdate = (callback) => { | ||
| typeof import_react12.default.startTransition === "function" ? import_react12.default.startTransition(callback) : setTimeout(callback, 0); | ||
| typeof import_react11.default.startTransition === "function" ? import_react11.default.startTransition(callback) : setTimeout(callback, 0); | ||
| }; | ||
| var noop = () => void 0; | ||
| var FormContext = (0, import_react12.createContext)(void 0); | ||
| var Form = (0, import_react12.forwardRef)( | ||
| var FormContext = (0, import_react11.createContext)(void 0); | ||
| var Form = (0, import_react11.forwardRef)( | ||
| ({ | ||
@@ -754,8 +746,8 @@ action = "", | ||
| form.transform(getTransformedData); | ||
| const formElement = (0, import_react12.useRef)(void 0); | ||
| const resolvedMethod = (0, import_react12.useMemo)(() => { | ||
| const formElement = (0, import_react11.useRef)(void 0); | ||
| const resolvedMethod = (0, import_react11.useMemo)(() => { | ||
| return (0, import_core5.isUrlMethodPair)(action) ? action.method : method.toLowerCase(); | ||
| }, [action, method]); | ||
| const [isDirty, setIsDirty] = (0, import_react12.useState)(false); | ||
| const defaultData = (0, import_react12.useRef)(new FormData()); | ||
| const [isDirty, setIsDirty] = (0, import_react11.useState)(false); | ||
| const defaultData = (0, import_react11.useRef)(new FormData()); | ||
| const getFormData = (submitter) => new FormData(formElement.current, submitter); | ||
@@ -783,3 +775,3 @@ const getData = (submitter) => (0, import_core5.formDataToObject)(getFormData(submitter)); | ||
| }; | ||
| (0, import_react12.useEffect)(() => { | ||
| (0, import_react11.useEffect)(() => { | ||
| defaultData.current = getFormData(); | ||
@@ -793,6 +785,6 @@ form.setDefaults(getData()); | ||
| }, []); | ||
| (0, import_react12.useEffect)(() => { | ||
| (0, import_react11.useEffect)(() => { | ||
| form.setValidationTimeout(validationTimeout); | ||
| }, [validationTimeout]); | ||
| (0, import_react12.useEffect)(() => { | ||
| (0, import_react11.useEffect)(() => { | ||
| if (validateFiles) { | ||
@@ -893,4 +885,4 @@ form.validateFiles(); | ||
| }; | ||
| (0, import_react12.useImperativeHandle)(ref, () => exposed, [form, isDirty, submit]); | ||
| const formNode = (0, import_react12.createElement)( | ||
| (0, import_react11.useImperativeHandle)(ref, () => exposed, [form, isDirty, submit]); | ||
| const formNode = (0, import_react11.createElement)( | ||
| "form", | ||
@@ -913,3 +905,3 @@ { | ||
| ); | ||
| return (0, import_react12.createElement)(FormContext.Provider, { value: exposed }, formNode); | ||
| return (0, import_react11.createElement)(FormContext.Provider, { value: exposed }, formNode); | ||
| } | ||
@@ -919,3 +911,3 @@ ); | ||
| function useFormContext() { | ||
| return (0, import_react12.useContext)(FormContext); | ||
| return (0, import_react11.useContext)(FormContext); | ||
| } | ||
@@ -926,8 +918,8 @@ var Form_default = Form; | ||
| var import_lodash_es3 = require("lodash-es"); | ||
| var import_react14 = __toESM(require("react"), 1); | ||
| var import_react13 = __toESM(require("react"), 1); | ||
| var Head = function({ children, title }) { | ||
| const headManager = (0, import_react14.useContext)(HeadContext_default); | ||
| const provider = (0, import_react14.useMemo)(() => headManager.createProvider(), [headManager]); | ||
| const headManager = (0, import_react13.useContext)(HeadContext_default); | ||
| const provider = (0, import_react13.useMemo)(() => headManager.createProvider(), [headManager]); | ||
| const isServer = typeof window === "undefined"; | ||
| (0, import_react14.useEffect)(() => { | ||
| (0, import_react13.useEffect)(() => { | ||
| provider.reconnect(); | ||
@@ -995,3 +987,3 @@ provider.update(renderNodes(children)); | ||
| function ensureNodeHasInertiaProp(node) { | ||
| return import_react14.default.cloneElement(node, { | ||
| return import_react13.default.cloneElement(node, { | ||
| [provider.preferredAttribute()]: node.props["head-key"] !== void 0 ? node.props["head-key"] : "" | ||
@@ -1004,5 +996,5 @@ }); | ||
| function renderNodes(nodes) { | ||
| const elements = import_react14.default.Children.toArray(nodes).filter((node) => node).map((node) => renderNode(node)); | ||
| const elements = import_react13.default.Children.toArray(nodes).filter((node) => node).map((node) => renderNode(node)); | ||
| if (title && !elements.find((tag) => tag.startsWith("<title"))) { | ||
| elements.push(`<title ${provider.preferredAttribute()}>${title}</title>`); | ||
| elements.push(`<title ${provider.preferredAttribute()}>${(0, import_lodash_es3.escape)(title)}</title>`); | ||
| } | ||
@@ -1020,3 +1012,3 @@ return elements; | ||
| var import_core6 = require("@inertiajs/core"); | ||
| var import_react15 = __toESM(require("react"), 1); | ||
| var import_react14 = __toESM(require("react"), 1); | ||
| var resolveHTMLElement = (value, fallback) => { | ||
@@ -1040,3 +1032,3 @@ if (!value) { | ||
| }; | ||
| var InfiniteScroll = (0, import_react15.forwardRef)( | ||
| var InfiniteScroll = (0, import_react14.forwardRef)( | ||
| ({ | ||
@@ -1062,31 +1054,31 @@ data, | ||
| }, ref) => { | ||
| const [startElementFromRef, setStartElementFromRef] = (0, import_react15.useState)(null); | ||
| const startElementRef = (0, import_react15.useCallback)((node) => setStartElementFromRef(node), []); | ||
| const [endElementFromRef, setEndElementFromRef] = (0, import_react15.useState)(null); | ||
| const endElementRef = (0, import_react15.useCallback)((node) => setEndElementFromRef(node), []); | ||
| const [itemsElementFromRef, setItemsElementFromRef] = (0, import_react15.useState)(null); | ||
| const itemsElementRef = (0, import_react15.useCallback)((node) => setItemsElementFromRef(node), []); | ||
| const [startElementFromRef, setStartElementFromRef] = (0, import_react14.useState)(null); | ||
| const startElementRef = (0, import_react14.useCallback)((node) => setStartElementFromRef(node), []); | ||
| const [endElementFromRef, setEndElementFromRef] = (0, import_react14.useState)(null); | ||
| const endElementRef = (0, import_react14.useCallback)((node) => setEndElementFromRef(node), []); | ||
| const [itemsElementFromRef, setItemsElementFromRef] = (0, import_react14.useState)(null); | ||
| const itemsElementRef = (0, import_react14.useCallback)((node) => setItemsElementFromRef(node), []); | ||
| const scrollProp = usePage().scrollProps?.[data]; | ||
| const [loadingPrevious, setLoadingPrevious] = (0, import_react15.useState)(false); | ||
| const [loadingNext, setLoadingNext] = (0, import_react15.useState)(false); | ||
| const [requestCount, setRequestCount] = (0, import_react15.useState)(0); | ||
| const [hasPreviousPage, setHasPreviousPage] = (0, import_react15.useState)(!!scrollProp?.previousPage); | ||
| const [hasNextPage, setHasNextPage] = (0, import_react15.useState)(!!scrollProp?.nextPage); | ||
| const [resolvedStartElement, setResolvedStartElement] = (0, import_react15.useState)(null); | ||
| const [resolvedEndElement, setResolvedEndElement] = (0, import_react15.useState)(null); | ||
| const [resolvedItemsElement, setResolvedItemsElement] = (0, import_react15.useState)(null); | ||
| (0, import_react15.useEffect)(() => { | ||
| const [loadingPrevious, setLoadingPrevious] = (0, import_react14.useState)(false); | ||
| const [loadingNext, setLoadingNext] = (0, import_react14.useState)(false); | ||
| const [requestCount, setRequestCount] = (0, import_react14.useState)(0); | ||
| const [hasPreviousPage, setHasPreviousPage] = (0, import_react14.useState)(!!scrollProp?.previousPage); | ||
| const [hasNextPage, setHasNextPage] = (0, import_react14.useState)(!!scrollProp?.nextPage); | ||
| const [resolvedStartElement, setResolvedStartElement] = (0, import_react14.useState)(null); | ||
| const [resolvedEndElement, setResolvedEndElement] = (0, import_react14.useState)(null); | ||
| const [resolvedItemsElement, setResolvedItemsElement] = (0, import_react14.useState)(null); | ||
| (0, import_react14.useEffect)(() => { | ||
| const element = startElement ? resolveHTMLElement(startElement, startElementFromRef) : startElementFromRef; | ||
| setResolvedStartElement(element); | ||
| }, [startElement, startElementFromRef]); | ||
| (0, import_react15.useEffect)(() => { | ||
| (0, import_react14.useEffect)(() => { | ||
| const element = endElement ? resolveHTMLElement(endElement, endElementFromRef) : endElementFromRef; | ||
| setResolvedEndElement(element); | ||
| }, [endElement, endElementFromRef]); | ||
| (0, import_react15.useEffect)(() => { | ||
| (0, import_react14.useEffect)(() => { | ||
| const element = itemsElement ? resolveHTMLElement(itemsElement, itemsElementFromRef) : itemsElementFromRef; | ||
| setResolvedItemsElement(element); | ||
| }, [itemsElement, itemsElementFromRef]); | ||
| const scrollableParent = (0, import_react15.useMemo)(() => (0, import_core6.getScrollableParent)(resolvedItemsElement), [resolvedItemsElement]); | ||
| const callbackPropsRef = (0, import_react15.useRef)({ | ||
| const scrollableParent = (0, import_react14.useMemo)(() => (0, import_core6.getScrollableParent)(resolvedItemsElement), [resolvedItemsElement]); | ||
| const callbackPropsRef = (0, import_react14.useRef)({ | ||
| buffer, | ||
@@ -1105,6 +1097,6 @@ onlyNext, | ||
| }; | ||
| const [infiniteScroll, setInfiniteScroll] = (0, import_react15.useState)(null); | ||
| const dataManager = (0, import_react15.useMemo)(() => infiniteScroll?.dataManager, [infiniteScroll]); | ||
| const elementManager = (0, import_react15.useMemo)(() => infiniteScroll?.elementManager, [infiniteScroll]); | ||
| const scrollToBottom = (0, import_react15.useCallback)(() => { | ||
| const [infiniteScroll, setInfiniteScroll] = (0, import_react14.useState)(null); | ||
| const dataManager = (0, import_react14.useMemo)(() => infiniteScroll?.dataManager, [infiniteScroll]); | ||
| const elementManager = (0, import_react14.useMemo)(() => infiniteScroll?.elementManager, [infiniteScroll]); | ||
| const scrollToBottom = (0, import_react14.useCallback)(() => { | ||
| if (scrollableParent) { | ||
@@ -1122,3 +1114,3 @@ scrollableParent.scrollTo({ | ||
| }, [scrollableParent]); | ||
| (0, import_react15.useEffect)(() => { | ||
| (0, import_react14.useEffect)(() => { | ||
| if (!resolvedItemsElement) { | ||
@@ -1171,11 +1163,11 @@ return; | ||
| }, [data, resolvedItemsElement, resolvedStartElement, resolvedEndElement, scrollableParent]); | ||
| const manualMode = (0, import_react15.useMemo)( | ||
| const manualMode = (0, import_react14.useMemo)( | ||
| () => manual || manualAfter > 0 && requestCount >= manualAfter, | ||
| [manual, manualAfter, requestCount] | ||
| ); | ||
| const autoLoad = (0, import_react15.useMemo)(() => !manualMode, [manualMode]); | ||
| (0, import_react15.useEffect)(() => { | ||
| const autoLoad = (0, import_react14.useMemo)(() => !manualMode, [manualMode]); | ||
| (0, import_react14.useEffect)(() => { | ||
| autoLoad ? elementManager?.enableTriggers() : elementManager?.disableTriggers(); | ||
| }, [autoLoad, onlyNext, onlyPrevious, resolvedStartElement, resolvedEndElement]); | ||
| (0, import_react15.useEffect)(() => { | ||
| (0, import_react14.useEffect)(() => { | ||
| const shouldAutoScroll = autoScroll !== void 0 ? autoScroll : reverse; | ||
@@ -1186,3 +1178,3 @@ if (shouldAutoScroll) { | ||
| }, [scrollableParent]); | ||
| (0, import_react15.useImperativeHandle)( | ||
| (0, import_react14.useImperativeHandle)( | ||
| ref, | ||
@@ -1233,3 +1225,3 @@ () => ({ | ||
| renderElements.push( | ||
| (0, import_react15.createElement)( | ||
| (0, import_react14.createElement)( | ||
| "div", | ||
@@ -1243,3 +1235,3 @@ { ref: startElementRef }, | ||
| renderElements.push( | ||
| (0, import_react15.createElement)( | ||
| (0, import_react14.createElement)( | ||
| as, | ||
@@ -1252,3 +1244,3 @@ { ...props, ref: itemsElementRef }, | ||
| renderElements.push( | ||
| (0, import_react15.createElement)( | ||
| (0, import_react14.createElement)( | ||
| "div", | ||
@@ -1261,3 +1253,3 @@ { ref: endElementRef }, | ||
| } | ||
| return (0, import_react15.createElement)(import_react15.default.Fragment, {}, ...reverse ? [...renderElements].reverse() : renderElements); | ||
| return (0, import_react14.createElement)(import_react14.default.Fragment, {}, ...reverse ? [...renderElements].reverse() : renderElements); | ||
| } | ||
@@ -1270,5 +1262,5 @@ ); | ||
| var import_core7 = require("@inertiajs/core"); | ||
| var import_react16 = require("react"); | ||
| var import_react15 = require("react"); | ||
| var noop2 = () => void 0; | ||
| var Link = (0, import_react16.forwardRef)( | ||
| var Link = (0, import_react15.forwardRef)( | ||
| ({ | ||
@@ -1306,8 +1298,8 @@ children, | ||
| }, ref) => { | ||
| const [inFlightCount, setInFlightCount] = (0, import_react16.useState)(0); | ||
| const hoverTimeout = (0, import_react16.useRef)(void 0); | ||
| const _method = (0, import_react16.useMemo)(() => { | ||
| const [inFlightCount, setInFlightCount] = (0, import_react15.useState)(0); | ||
| const hoverTimeout = (0, import_react15.useRef)(void 0); | ||
| const _method = (0, import_react15.useMemo)(() => { | ||
| return (0, import_core7.isUrlMethodPair)(href) ? href.method : method.toLowerCase(); | ||
| }, [href, method]); | ||
| const _as = (0, import_react16.useMemo)(() => { | ||
| const _as = (0, import_react15.useMemo)(() => { | ||
| if (typeof as !== "string" || as.toLowerCase() !== "a") { | ||
@@ -1318,9 +1310,9 @@ return as; | ||
| }, [as, _method]); | ||
| const mergeDataArray = (0, import_react16.useMemo)( | ||
| const mergeDataArray = (0, import_react15.useMemo)( | ||
| () => (0, import_core7.mergeDataIntoQueryString)(_method, (0, import_core7.isUrlMethodPair)(href) ? href.url : href, data, queryStringArrayFormat), | ||
| [href, _method, data, queryStringArrayFormat] | ||
| ); | ||
| const url = (0, import_react16.useMemo)(() => mergeDataArray[0], [mergeDataArray]); | ||
| const _data = (0, import_react16.useMemo)(() => mergeDataArray[1], [mergeDataArray]); | ||
| const baseParams = (0, import_react16.useMemo)( | ||
| const url = (0, import_react15.useMemo)(() => mergeDataArray[0], [mergeDataArray]); | ||
| const _data = (0, import_react15.useMemo)(() => mergeDataArray[1], [mergeDataArray]); | ||
| const baseParams = (0, import_react15.useMemo)( | ||
| () => ({ | ||
@@ -1340,3 +1332,3 @@ data: _data, | ||
| ); | ||
| const visitParams = (0, import_react16.useMemo)( | ||
| const visitParams = (0, import_react15.useMemo)( | ||
| () => ({ | ||
@@ -1373,3 +1365,3 @@ ...baseParams, | ||
| ); | ||
| const prefetchModes = (0, import_react16.useMemo)( | ||
| const prefetchModes = (0, import_react15.useMemo)( | ||
| () => { | ||
@@ -1389,3 +1381,3 @@ if (prefetch === true) { | ||
| ); | ||
| const cacheForValue = (0, import_react16.useMemo)(() => { | ||
| const cacheForValue = (0, import_react15.useMemo)(() => { | ||
| if (cacheFor !== 0) { | ||
@@ -1399,3 +1391,3 @@ return cacheFor; | ||
| }, [cacheFor, prefetchModes]); | ||
| const doPrefetch = (0, import_react16.useMemo)(() => { | ||
| const doPrefetch = (0, import_react15.useMemo)(() => { | ||
| return () => { | ||
@@ -1413,3 +1405,3 @@ import_core7.router.prefetch( | ||
| }, [url, baseParams, onPrefetching, onPrefetched, cacheForValue, cacheTags]); | ||
| (0, import_react16.useEffect)(() => { | ||
| (0, import_react15.useEffect)(() => { | ||
| return () => { | ||
@@ -1419,3 +1411,3 @@ clearTimeout(hoverTimeout.current); | ||
| }, []); | ||
| (0, import_react16.useEffect)(() => { | ||
| (0, import_react15.useEffect)(() => { | ||
| if (prefetchModes.includes("mount")) { | ||
@@ -1477,3 +1469,3 @@ setTimeout(() => doPrefetch()); | ||
| }; | ||
| const elProps = (0, import_react16.useMemo)(() => { | ||
| const elProps = (0, import_react15.useMemo)(() => { | ||
| if (_as === "button") { | ||
@@ -1487,3 +1479,3 @@ return { type: "button" }; | ||
| }, [_as, url]); | ||
| return (0, import_react16.createElement)( | ||
| return (0, import_react15.createElement)( | ||
| _as, | ||
@@ -1514,3 +1506,3 @@ { | ||
| var import_core8 = require("@inertiajs/core"); | ||
| var import_react17 = require("react"); | ||
| var import_react16 = require("react"); | ||
| function usePoll(interval, requestOptions = {}, options = { | ||
@@ -1520,3 +1512,3 @@ keepAlive: false, | ||
| }) { | ||
| const pollRef = (0, import_react17.useRef)( | ||
| const pollRef = (0, import_react16.useRef)( | ||
| import_core8.router.poll(interval, requestOptions, { | ||
@@ -1527,3 +1519,3 @@ ...options, | ||
| ); | ||
| (0, import_react17.useEffect)(() => { | ||
| (0, import_react16.useEffect)(() => { | ||
| if (options.autoStart ?? true) { | ||
@@ -1542,10 +1534,10 @@ pollRef.current.start(); | ||
| var import_core9 = require("@inertiajs/core"); | ||
| var import_react18 = require("react"); | ||
| var import_react17 = require("react"); | ||
| function usePrefetch(options = {}) { | ||
| const cached = typeof window === "undefined" ? null : import_core9.router.getCached(window.location.pathname, options); | ||
| const inFlight = typeof window === "undefined" ? null : import_core9.router.getPrefetching(window.location.pathname, options); | ||
| const [lastUpdatedAt, setLastUpdatedAt] = (0, import_react18.useState)(cached?.staleTimestamp || null); | ||
| const [isPrefetching, setIsPrefetching] = (0, import_react18.useState)(inFlight !== null); | ||
| const [isPrefetched, setIsPrefetched] = (0, import_react18.useState)(cached !== null); | ||
| (0, import_react18.useEffect)(() => { | ||
| const [lastUpdatedAt, setLastUpdatedAt] = (0, import_react17.useState)(cached?.staleTimestamp || null); | ||
| const [isPrefetching, setIsPrefetching] = (0, import_react17.useState)(inFlight !== null); | ||
| const [isPrefetched, setIsPrefetched] = (0, import_react17.useState)(cached !== null); | ||
| (0, import_react17.useEffect)(() => { | ||
| const onPrefetchingListener = import_core9.router.on("prefetching", (e) => { | ||
@@ -1578,3 +1570,3 @@ if (e.detail.visit.url.pathname === window.location.pathname) { | ||
| var import_core10 = require("@inertiajs/core"); | ||
| var import_react19 = require("react"); | ||
| var import_react18 = require("react"); | ||
| var WhenVisible = ({ children, data, params, buffer, as, always, fallback }) => { | ||
@@ -1585,10 +1577,10 @@ always = always ?? false; | ||
| const pageProps = usePage().props; | ||
| const keys = (0, import_react19.useMemo)(() => data ? Array.isArray(data) ? data : [data] : [], [data]); | ||
| const [loaded, setLoaded] = (0, import_react19.useState)(() => keys.length > 0 && keys.every((key) => pageProps[key] !== void 0)); | ||
| const [isFetching, setIsFetching] = (0, import_react19.useState)(false); | ||
| const fetching = (0, import_react19.useRef)(false); | ||
| const ref = (0, import_react19.useRef)(null); | ||
| const observer = (0, import_react19.useRef)(null); | ||
| const getReloadParamsRef = (0, import_react19.useRef)(() => ({})); | ||
| (0, import_react19.useEffect)(() => { | ||
| const keys = (0, import_react18.useMemo)(() => data ? Array.isArray(data) ? data : [data] : [], [data]); | ||
| const [loaded, setLoaded] = (0, import_react18.useState)(() => keys.length > 0 && keys.every((key) => pageProps[key] !== void 0)); | ||
| const [isFetching, setIsFetching] = (0, import_react18.useState)(false); | ||
| const fetching = (0, import_react18.useRef)(false); | ||
| const ref = (0, import_react18.useRef)(null); | ||
| const observer = (0, import_react18.useRef)(null); | ||
| const getReloadParamsRef = (0, import_react18.useRef)(() => ({})); | ||
| (0, import_react18.useEffect)(() => { | ||
| if (keys.length > 0) { | ||
@@ -1598,3 +1590,3 @@ setLoaded(keys.every((key) => pageProps[key] !== void 0)); | ||
| }, [pageProps, keys]); | ||
| const getReloadParams = (0, import_react19.useCallback)(() => { | ||
| const getReloadParams = (0, import_react18.useCallback)(() => { | ||
| const reloadParams = { ...params }; | ||
@@ -1647,3 +1639,3 @@ if (data) { | ||
| }; | ||
| (0, import_react19.useEffect)(() => { | ||
| (0, import_react18.useEffect)(() => { | ||
| if (!ref.current) { | ||
@@ -1663,3 +1655,3 @@ return; | ||
| if (always || !loaded) { | ||
| return (0, import_react19.createElement)( | ||
| return (0, import_react18.createElement)( | ||
| as, | ||
@@ -1666,0 +1658,0 @@ { |
+2
-2
| { | ||
| "name": "@inertiajs/react", | ||
| "version": "2.3.21", | ||
| "version": "2.3.22", | ||
| "license": "MIT", | ||
@@ -65,3 +65,3 @@ "description": "The React adapter for Inertia.js", | ||
| "lodash-es": "^4.18.1", | ||
| "@inertiajs/core": "2.3.21" | ||
| "@inertiajs/core": "2.3.22" | ||
| }, | ||
@@ -68,0 +68,0 @@ "scripts": { |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
352799
-0.56%3525
-0.45%+ Added
- Removed
Updated