@inertiajs/react 2.2.4 → 2.2.6

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.js CHANGED
@@ -256,22 +256,28 @@ var Deferred_default = Deferred;
256
256
  // src/Form.ts
257
257
  var import_core5 = require("@inertiajs/core");
258
258
  var import_lodash_es2 = require("lodash-es");
259
- var import_react9 = __toESM(require("react"), 1);
259
+ var import_react11 = __toESM(require("react"), 1);
260
260
 
261
261
  // src/useForm.ts
262
262
  var import_core4 = require("@inertiajs/core");
263
263
  var import_lodash_es = require("lodash-es");
264
- var import_react8 = require("react");
264
+ var import_react9 = require("react");
265
+
266
+ // src/react.ts
267
+ var import_react7 = require("react");
268
+ function useIsomorphicLayoutEffect(effect, deps) {
269
+ typeof window === "undefined" ? (0, import_react7.useEffect)(effect, deps) : (0, import_react7.useLayoutEffect)(effect, deps);
270
+ }
265
271
 
266
272
  // src/useRemember.ts
267
273
  var import_core3 = require("@inertiajs/core");
268
- var import_react7 = require("react");
274
+ var import_react8 = require("react");
269
275
  function useRemember(initialState, key) {
270
- const [state, setState] = (0, import_react7.useState)(() => {
276
+ const [state, setState] = (0, import_react8.useState)(() => {
271
277
  const restored = import_core3.router.restore(key);
272
278
  return restored !== void 0 ? restored : initialState;
273
279
  });
274
- (0, import_react7.useEffect)(() => {
280
+ (0, import_react8.useEffect)(() => {
275
281
  import_core3.router.remember(state, key);
276
282
  }, [state, key]);
277
283
  return [state, setState];
@@ -279,30 +285,30 @@ function useRemember(initialState, key) {
279
285
 
280
286
  // src/useForm.ts
281
287
  function useForm(rememberKeyOrInitialValues, maybeInitialValues) {
282
- const isMounted = (0, import_react8.useRef)(null);
288
+ const isMounted = (0, import_react9.useRef)(null);
283
289
  const rememberKey = typeof rememberKeyOrInitialValues === "string" ? rememberKeyOrInitialValues : null;
284
- const [defaults, setDefaults] = (0, import_react8.useState)(
290
+ const [defaults, setDefaults] = (0, import_react9.useState)(
285
291
  (typeof rememberKeyOrInitialValues === "string" ? maybeInitialValues : rememberKeyOrInitialValues) || {}
286
292
  );
287
- const cancelToken = (0, import_react8.useRef)(null);
288
- const recentlySuccessfulTimeoutId = (0, import_react8.useRef)(null);
289
- const [data, setData] = rememberKey ? useRemember(defaults, `${rememberKey}:data`) : (0, import_react8.useState)(defaults);
290
- const [errors, setErrors] = rememberKey ? useRemember({}, `${rememberKey}:errors`) : (0, import_react8.useState)({});
291
- const [hasErrors, setHasErrors] = (0, import_react8.useState)(false);
292
- const [processing, setProcessing] = (0, import_react8.useState)(false);
293
- const [progress2, setProgress] = (0, import_react8.useState)(null);
294
- const [wasSuccessful, setWasSuccessful] = (0, import_react8.useState)(false);
295
- const [recentlySuccessful, setRecentlySuccessful] = (0, import_react8.useState)(false);
296
- const transform = (0, import_react8.useRef)((data2) => data2);
297
- const isDirty = (0, import_react8.useMemo)(() => !(0, import_lodash_es.isEqual)(data, defaults), [data, defaults]);
298
- (0, import_react8.useEffect)(() => {
293
+ const cancelToken = (0, import_react9.useRef)(null);
294
+ const recentlySuccessfulTimeoutId = (0, import_react9.useRef)(null);
295
+ const [data, setData] = rememberKey ? useRemember(defaults, `${rememberKey}:data`) : (0, import_react9.useState)(defaults);
296
+ const [errors, setErrors] = rememberKey ? useRemember({}, `${rememberKey}:errors`) : (0, import_react9.useState)({});
297
+ const [hasErrors, setHasErrors] = (0, import_react9.useState)(false);
298
+ const [processing, setProcessing] = (0, import_react9.useState)(false);
299
+ const [progress2, setProgress] = (0, import_react9.useState)(null);
300
+ const [wasSuccessful, setWasSuccessful] = (0, import_react9.useState)(false);
301
+ const [recentlySuccessful, setRecentlySuccessful] = (0, import_react9.useState)(false);
302
+ const transform = (0, import_react9.useRef)((data2) => data2);
303
+ const isDirty = (0, import_react9.useMemo)(() => !(0, import_lodash_es.isEqual)(data, defaults), [data, defaults]);
304
+ (0, import_react9.useEffect)(() => {
299
305
  isMounted.current = true;
300
306
  return () => {
301
307
  isMounted.current = false;
302
308
  };
303
309
  }, []);
304
- const setDefaultsCalledInOnSuccess = (0, import_react8.useRef)(false);
305
- const submit = (0, import_react8.useCallback)(
310
+ const setDefaultsCalledInOnSuccess = (0, import_react9.useRef)(false);
311
+ const submit = (0, import_react9.useCallback)(
306
312
  (...args) => {
307
313
  const objectPassed = args[0] !== null && typeof args[0] === "object";
308
314
  const method = objectPassed ? args[0].method : args[0];
@@ -399,7 +405,7 @@ function useForm(rememberKeyOrInitialValues, maybeInitialValues) {
399
405
  },
400
406
  [data, setErrors, transform]
401
407
  );
402
- const setDataFunction = (0, import_react8.useCallback)(
408
+ const setDataFunction = (0, import_react9.useCallback)(
403
409
  (keyOrData, maybeValue) => {
404
410
  if (typeof keyOrData === "string") {
405
411
  setData((data2) => (0, import_lodash_es.set)((0, import_lodash_es.cloneDeep)(data2), keyOrData, maybeValue));
@@ -411,12 +417,12 @@ function useForm(rememberKeyOrInitialValues, maybeInitialValues) {
411
417
  },
412
418
  [setData]
413
419
  );
414
- const [dataAsDefaults, setDataAsDefaults] = (0, import_react8.useState)(false);
415
- const dataRef = (0, import_react8.useRef)(data);
416
- (0, import_react8.useEffect)(() => {
420
+ const [dataAsDefaults, setDataAsDefaults] = (0, import_react9.useState)(false);
421
+ const dataRef = (0, import_react9.useRef)(data);
422
+ (0, import_react9.useEffect)(() => {
417
423
  dataRef.current = data;
418
424
  });
419
- const setDefaultsFunction = (0, import_react8.useCallback)(
425
+ const setDefaultsFunction = (0, import_react9.useCallback)(
420
426
  (fieldOrFields, maybeValue) => {
421
427
  setDefaultsCalledInOnSuccess.current = true;
422
428
  if (typeof fieldOrFields === "undefined") {
@@ -430,7 +436,7 @@ function useForm(rememberKeyOrInitialValues, maybeInitialValues) {
430
436
  },
431
437
  [setDefaults]
432
438
  );
433
- (0, import_react8.useLayoutEffect)(() => {
439
+ useIsomorphicLayoutEffect(() => {
434
440
  if (!dataAsDefaults) {
435
441
  return;
436
442
  }
@@ -439,7 +445,7 @@ function useForm(rememberKeyOrInitialValues, maybeInitialValues) {
439
445
  }
440
446
  setDataAsDefaults(false);
441
447
  }, [dataAsDefaults]);
442
- const reset = (0, import_react8.useCallback)(
448
+ const reset = (0, import_react9.useCallback)(
443
449
  (...fields) => {
444
450
  if (fields.length === 0) {
445
451
  setData(defaults);
@@ -456,7 +462,7 @@ function useForm(rememberKeyOrInitialValues, maybeInitialValues) {
456
462
  },
457
463
  [setData, defaults]
458
464
  );
459
- const setError = (0, import_react8.useCallback)(
465
+ const setError = (0, import_react9.useCallback)(
460
466
  (fieldOrFields, maybeValue) => {
461
467
  setErrors((errors2) => {
462
468
  const newErrors = {
@@ -469,7 +475,7 @@ function useForm(rememberKeyOrInitialValues, maybeInitialValues) {
469
475
  },
470
476
  [setErrors, setHasErrors]
471
477
  );
472
- const clearErrors = (0, import_react8.useCallback)(
478
+ const clearErrors = (0, import_react9.useCallback)(
473
479
  (...fields) => {
474
480
  setErrors((errors2) => {
475
481
  const newErrors = Object.keys(errors2).reduce(
@@ -485,7 +491,7 @@ function useForm(rememberKeyOrInitialValues, maybeInitialValues) {
485
491
  },
486
492
  [setErrors, setHasErrors]
487
493
  );
488
- const resetAndClearErrors = (0, import_react8.useCallback)(
494
+ const resetAndClearErrors = (0, import_react9.useCallback)(
489
495
  (...fields) => {
490
496
  reset(...fields);
491
497
  clearErrors(...fields);
@@ -495,17 +501,17 @@ function useForm(rememberKeyOrInitialValues, maybeInitialValues) {
495
501
  const createSubmitMethod = (method) => (url, options) => {
496
502
  submit(method, url, options);
497
503
  };
498
- const getMethod = (0, import_react8.useCallback)(createSubmitMethod("get"), [submit]);
499
- const post = (0, import_react8.useCallback)(createSubmitMethod("post"), [submit]);
500
- const put = (0, import_react8.useCallback)(createSubmitMethod("put"), [submit]);
501
- const patch = (0, import_react8.useCallback)(createSubmitMethod("patch"), [submit]);
502
- const deleteMethod = (0, import_react8.useCallback)(createSubmitMethod("delete"), [submit]);
503
- const cancel = (0, import_react8.useCallback)(() => {
504
+ const getMethod = (0, import_react9.useCallback)(createSubmitMethod("get"), [submit]);
505
+ const post = (0, import_react9.useCallback)(createSubmitMethod("post"), [submit]);
506
+ const put = (0, import_react9.useCallback)(createSubmitMethod("put"), [submit]);
507
+ const patch = (0, import_react9.useCallback)(createSubmitMethod("patch"), [submit]);
508
+ const deleteMethod = (0, import_react9.useCallback)(createSubmitMethod("delete"), [submit]);
509
+ const cancel = (0, import_react9.useCallback)(() => {
504
510
  if (cancelToken.current) {
505
511
  cancelToken.current.cancel();
506
512
  }
507
513
  }, []);
508
- const transformFunction = (0, import_react8.useCallback)((callback) => {
514
+ const transformFunction = (0, import_react9.useCallback)((callback) => {
509
515
  transform.current = callback;
510
516
  }, []);
511
517
  return {
@@ -536,10 +542,10 @@ function useForm(rememberKeyOrInitialValues, maybeInitialValues) {
536
542
 
537
543
  // src/Form.ts
538
544
  var deferStateUpdate = (callback) => {
539
- typeof import_react9.default.startTransition === "function" ? import_react9.default.startTransition(callback) : setTimeout(callback, 0);
545
+ typeof import_react11.default.startTransition === "function" ? import_react11.default.startTransition(callback) : setTimeout(callback, 0);
540
546
  };
541
547
  var noop = () => void 0;
542
- var Form = (0, import_react9.forwardRef)(
548
+ var Form = (0, import_react11.forwardRef)(
543
549
  ({
544
550
  action = "",
545
551
  method = "get",
@@ -567,18 +573,18 @@ var Form = (0, import_react9.forwardRef)(
567
573
  ...props
568
574
  }, ref) => {
569
575
  const form = useForm({});
570
- const formElement = (0, import_react9.useRef)(null);
571
- const resolvedMethod = (0, import_react9.useMemo)(() => {
576
+ const formElement = (0, import_react11.useRef)(null);
577
+ const resolvedMethod = (0, import_react11.useMemo)(() => {
572
578
  return (0, import_core5.isUrlMethodPair)(action) ? action.method : method.toLowerCase();
573
579
  }, [action, method]);
574
- const [isDirty, setIsDirty] = (0, import_react9.useState)(false);
575
- const defaultData = (0, import_react9.useRef)(new FormData());
580
+ const [isDirty, setIsDirty] = (0, import_react11.useState)(false);
581
+ const defaultData = (0, import_react11.useRef)(new FormData());
576
582
  const getFormData = () => new FormData(formElement.current);
577
583
  const getData = () => (0, import_core5.formDataToObject)(getFormData());
578
584
  const updateDirtyState = (event) => deferStateUpdate(
579
585
  () => setIsDirty(event.type === "reset" ? false : !(0, import_lodash_es2.isEqual)(getData(), (0, import_core5.formDataToObject)(defaultData.current)))
580
586
  );
581
- (0, import_react9.useEffect)(() => {
587
+ (0, import_react11.useEffect)(() => {
582
588
  defaultData.current = getFormData();
583
589
  const formEvents = ["input", "change", "reset"];
584
590
  formEvents.forEach((e) => formElement.current.addEventListener(e, updateDirtyState));
@@ -658,8 +664,8 @@ var Form = (0, import_react9.forwardRef)(
658
664
  submit,
659
665
  defaults
660
666
  });
661
- (0, import_react9.useImperativeHandle)(ref, exposed, [form, isDirty, submit]);
662
- return (0, import_react9.createElement)(
667
+ (0, import_react11.useImperativeHandle)(ref, exposed, [form, isDirty, submit]);
668
+ return (0, import_react11.createElement)(
663
669
  "form",
664
670
  {
665
671
  ...props,
@@ -685,12 +691,12 @@ var Form_default = Form;
685
691
 
686
692
  // src/Head.ts
687
693
  var import_lodash_es3 = require("lodash-es");
688
- var import_react10 = __toESM(require("react"), 1);
694
+ var import_react12 = __toESM(require("react"), 1);
689
695
  var Head = function({ children, title }) {
690
- const headManager = (0, import_react10.useContext)(HeadContext_default);
691
- const provider = (0, import_react10.useMemo)(() => headManager.createProvider(), [headManager]);
696
+ const headManager = (0, import_react12.useContext)(HeadContext_default);
697
+ const provider = (0, import_react12.useMemo)(() => headManager.createProvider(), [headManager]);
692
698
  const isServer = typeof window === "undefined";
693
- (0, import_react10.useEffect)(() => {
699
+ (0, import_react12.useEffect)(() => {
694
700
  provider.reconnect();
695
701
  provider.update(renderNodes(children));
696
702
  return () => {
@@ -747,7 +753,7 @@ var Head = function({ children, title }) {
747
753
  return html;
748
754
  }
749
755
  function ensureNodeHasInertiaProp(node) {
750
- return import_react10.default.cloneElement(node, {
756
+ return import_react12.default.cloneElement(node, {
751
757
  inertia: node.props["head-key"] !== void 0 ? node.props["head-key"] : ""
752
758
  });
753
759
  }
@@ -755,7 +761,7 @@ var Head = function({ children, title }) {
755
761
  return renderTag(ensureNodeHasInertiaProp(node));
756
762
  }
757
763
  function renderNodes(nodes) {
758
- const computed = import_react10.default.Children.toArray(nodes).filter((node) => node).map((node) => renderNode(node));
764
+ const computed = import_react12.default.Children.toArray(nodes).filter((node) => node).map((node) => renderNode(node));
759
765
  if (title && !computed.find((tag) => tag.startsWith("<title"))) {
760
766
  computed.push(`<title inertia>${title}</title>`);
761
767
  }
@@ -770,7 +776,7 @@ var Head_default = Head;
770
776
 
771
777
  // src/InfiniteScroll.ts
772
778
  var import_core6 = require("@inertiajs/core");
773
- var import_react11 = __toESM(require("react"), 1);
779
+ var import_react13 = __toESM(require("react"), 1);
774
780
  var resolveHTMLElement = (value, fallback) => {
775
781
  if (!value) {
776
782
  return fallback;
@@ -789,7 +795,7 @@ var renderSlot = (slotContent, slotProps, fallback = null) => {
789
795
  }
790
796
  return typeof slotContent === "function" ? slotContent(slotProps) : slotContent;
791
797
  };
792
- var InfiniteScroll = (0, import_react11.forwardRef)(
798
+ var InfiniteScroll = (0, import_react13.forwardRef)(
793
799
  ({
794
800
  data,
795
801
  buffer = 0,
@@ -810,32 +816,32 @@ var InfiniteScroll = (0, import_react11.forwardRef)(
810
816
  onlyPrevious = false,
811
817
  ...props
812
818
  }, ref) => {
813
- const [startElementFromRef, setStartElementFromRef] = (0, import_react11.useState)(null);
814
- const startElementRef = (0, import_react11.useCallback)((node) => setStartElementFromRef(node), []);
815
- const [endElementFromRef, setEndElementFromRef] = (0, import_react11.useState)(null);
816
- const endElementRef = (0, import_react11.useCallback)((node) => setEndElementFromRef(node), []);
817
- const [itemsElementFromRef, setItemsElementFromRef] = (0, import_react11.useState)(null);
818
- const itemsElementRef = (0, import_react11.useCallback)((node) => setItemsElementFromRef(node), []);
819
- const [loadingPrevious, setLoadingPrevious] = (0, import_react11.useState)(false);
820
- const [loadingNext, setLoadingNext] = (0, import_react11.useState)(false);
821
- const [requestCount, setRequestCount] = (0, import_react11.useState)(0);
822
- const [resolvedStartElement, setResolvedStartElement] = (0, import_react11.useState)(null);
823
- const [resolvedEndElement, setResolvedEndElement] = (0, import_react11.useState)(null);
824
- const [resolvedItemsElement, setResolvedItemsElement] = (0, import_react11.useState)(null);
825
- (0, import_react11.useEffect)(() => {
819
+ const [startElementFromRef, setStartElementFromRef] = (0, import_react13.useState)(null);
820
+ const startElementRef = (0, import_react13.useCallback)((node) => setStartElementFromRef(node), []);
821
+ const [endElementFromRef, setEndElementFromRef] = (0, import_react13.useState)(null);
822
+ const endElementRef = (0, import_react13.useCallback)((node) => setEndElementFromRef(node), []);
823
+ const [itemsElementFromRef, setItemsElementFromRef] = (0, import_react13.useState)(null);
824
+ const itemsElementRef = (0, import_react13.useCallback)((node) => setItemsElementFromRef(node), []);
825
+ const [loadingPrevious, setLoadingPrevious] = (0, import_react13.useState)(false);
826
+ const [loadingNext, setLoadingNext] = (0, import_react13.useState)(false);
827
+ const [requestCount, setRequestCount] = (0, import_react13.useState)(0);
828
+ const [resolvedStartElement, setResolvedStartElement] = (0, import_react13.useState)(null);
829
+ const [resolvedEndElement, setResolvedEndElement] = (0, import_react13.useState)(null);
830
+ const [resolvedItemsElement, setResolvedItemsElement] = (0, import_react13.useState)(null);
831
+ (0, import_react13.useEffect)(() => {
826
832
  const element = startElement ? resolveHTMLElement(startElement, startElementFromRef) : startElementFromRef;
827
833
  setResolvedStartElement(element);
828
834
  }, [startElement, startElementFromRef]);
829
- (0, import_react11.useEffect)(() => {
835
+ (0, import_react13.useEffect)(() => {
830
836
  const element = endElement ? resolveHTMLElement(endElement, endElementFromRef) : endElementFromRef;
831
837
  setResolvedEndElement(element);
832
838
  }, [endElement, endElementFromRef]);
833
- (0, import_react11.useEffect)(() => {
839
+ (0, import_react13.useEffect)(() => {
834
840
  const element = itemsElement ? resolveHTMLElement(itemsElement, itemsElementFromRef) : itemsElementFromRef;
835
841
  setResolvedItemsElement(element);
836
842
  }, [itemsElement, itemsElementFromRef]);
837
- const scrollableParent = (0, import_react11.useMemo)(() => (0, import_core6.getScrollableParent)(resolvedItemsElement), [resolvedItemsElement]);
838
- const callbackPropsRef = (0, import_react11.useRef)({
843
+ const scrollableParent = (0, import_react13.useMemo)(() => (0, import_core6.getScrollableParent)(resolvedItemsElement), [resolvedItemsElement]);
844
+ const callbackPropsRef = (0, import_react13.useRef)({
839
845
  buffer,
840
846
  onlyNext,
841
847
  onlyPrevious,
@@ -849,10 +855,10 @@ var InfiniteScroll = (0, import_react11.forwardRef)(
849
855
  reverse,
850
856
  preserveUrl
851
857
  };
852
- const [infiniteScroll, setInfiniteScroll] = (0, import_react11.useState)(null);
853
- const dataManager = (0, import_react11.useMemo)(() => infiniteScroll?.dataManager, [infiniteScroll]);
854
- const elementManager = (0, import_react11.useMemo)(() => infiniteScroll?.elementManager, [infiniteScroll]);
855
- const scrollToBottom = (0, import_react11.useCallback)(() => {
858
+ const [infiniteScroll, setInfiniteScroll] = (0, import_react13.useState)(null);
859
+ const dataManager = (0, import_react13.useMemo)(() => infiniteScroll?.dataManager, [infiniteScroll]);
860
+ const elementManager = (0, import_react13.useMemo)(() => infiniteScroll?.elementManager, [infiniteScroll]);
861
+ const scrollToBottom = (0, import_react13.useCallback)(() => {
856
862
  if (scrollableParent) {
857
863
  scrollableParent.scrollTo({
858
864
  top: scrollableParent.scrollHeight,
@@ -865,7 +871,7 @@ var InfiniteScroll = (0, import_react11.forwardRef)(
865
871
  });
866
872
  }
867
873
  }, [scrollableParent]);
868
- (0, import_react11.useEffect)(() => {
874
+ (0, import_react13.useEffect)(() => {
869
875
  if (!resolvedItemsElement) {
870
876
  return;
871
877
  }
@@ -903,26 +909,25 @@ var InfiniteScroll = (0, import_react11.forwardRef)(
903
909
  elementManager2.enableTriggers();
904
910
  }
905
911
  return () => {
906
- dataManager2.removeEventListener();
907
- elementManager2.flushAll();
912
+ infiniteScrollInstance.flush();
908
913
  setInfiniteScroll(null);
909
914
  };
910
915
  }, [data, resolvedItemsElement, resolvedStartElement, resolvedEndElement, scrollableParent]);
911
- const manualMode = (0, import_react11.useMemo)(
916
+ const manualMode = (0, import_react13.useMemo)(
912
917
  () => manual || manualAfter > 0 && requestCount >= manualAfter,
913
918
  [manual, manualAfter, requestCount]
914
919
  );
915
- const autoLoad = (0, import_react11.useMemo)(() => !manualMode, [manualMode]);
916
- (0, import_react11.useEffect)(() => {
920
+ const autoLoad = (0, import_react13.useMemo)(() => !manualMode, [manualMode]);
921
+ (0, import_react13.useEffect)(() => {
917
922
  autoLoad ? elementManager?.enableTriggers() : elementManager?.disableTriggers();
918
923
  }, [autoLoad, onlyNext, onlyPrevious, resolvedStartElement, resolvedEndElement]);
919
- (0, import_react11.useEffect)(() => {
924
+ (0, import_react13.useEffect)(() => {
920
925
  const shouldAutoScroll = autoScroll !== void 0 ? autoScroll : reverse;
921
926
  if (shouldAutoScroll) {
922
927
  scrollToBottom();
923
928
  }
924
929
  }, [scrollableParent]);
925
- (0, import_react11.useImperativeHandle)(
930
+ (0, import_react13.useImperativeHandle)(
926
931
  ref,
927
932
  () => ({
928
933
  fetchNext: dataManager?.fetchNext || (() => {
@@ -968,7 +973,7 @@ var InfiniteScroll = (0, import_react11.forwardRef)(
968
973
  const renderElements = [];
969
974
  if (!startElement) {
970
975
  renderElements.push(
971
- (0, import_react11.createElement)(
976
+ (0, import_react13.createElement)(
972
977
  "div",
973
978
  { ref: startElementRef },
974
979
  // Render previous slot or fallback to loading indicator
@@ -977,7 +982,7 @@ var InfiniteScroll = (0, import_react11.forwardRef)(
977
982
  );
978
983
  }
979
984
  renderElements.push(
980
- (0, import_react11.createElement)(
985
+ (0, import_react13.createElement)(
981
986
  as,
982
987
  { ...props, ref: itemsElementRef },
983
988
  typeof children === "function" ? children(exposedSlot) : children
@@ -985,7 +990,7 @@ var InfiniteScroll = (0, import_react11.forwardRef)(
985
990
  );
986
991
  if (!endElement) {
987
992
  renderElements.push(
988
- (0, import_react11.createElement)(
993
+ (0, import_react13.createElement)(
989
994
  "div",
990
995
  { ref: endElementRef },
991
996
  // Render next slot or fallback to loading indicator
@@ -993,7 +998,7 @@ var InfiniteScroll = (0, import_react11.forwardRef)(
993
998
  )
994
999
  );
995
1000
  }
996
- return (0, import_react11.createElement)(import_react11.default.Fragment, {}, ...reverse ? [...renderElements].reverse() : renderElements);
1001
+ return (0, import_react13.createElement)(import_react13.default.Fragment, {}, ...reverse ? [...renderElements].reverse() : renderElements);
997
1002
  }
998
1003
  );
999
1004
  InfiniteScroll.displayName = "InertiaInfiniteScroll";
@@ -1001,9 +1006,9 @@ var InfiniteScroll_default = InfiniteScroll;
1001
1006
 
1002
1007
  // src/Link.ts
1003
1008
  var import_core7 = require("@inertiajs/core");
1004
- var import_react12 = require("react");
1009
+ var import_react14 = require("react");
1005
1010
  var noop2 = () => void 0;
1006
- var Link = (0, import_react12.forwardRef)(
1011
+ var Link = (0, import_react14.forwardRef)(
1007
1012
  ({
1008
1013
  children,
1009
1014
  as = "a",
@@ -1035,24 +1040,24 @@ var Link = (0, import_react12.forwardRef)(
1035
1040
  cacheTags = [],
1036
1041
  ...props
1037
1042
  }, ref) => {
1038
- const [inFlightCount, setInFlightCount] = (0, import_react12.useState)(0);
1039
- const hoverTimeout = (0, import_react12.useRef)(null);
1040
- const _method = (0, import_react12.useMemo)(() => {
1043
+ const [inFlightCount, setInFlightCount] = (0, import_react14.useState)(0);
1044
+ const hoverTimeout = (0, import_react14.useRef)(null);
1045
+ const _method = (0, import_react14.useMemo)(() => {
1041
1046
  return (0, import_core7.isUrlMethodPair)(href) ? href.method : method.toLowerCase();
1042
1047
  }, [href, method]);
1043
- const _as = (0, import_react12.useMemo)(() => {
1048
+ const _as = (0, import_react14.useMemo)(() => {
1044
1049
  if (typeof as !== "string" || as.toLowerCase() !== "a") {
1045
1050
  return as;
1046
1051
  }
1047
1052
  return _method !== "get" ? "button" : as.toLowerCase();
1048
1053
  }, [as, _method]);
1049
- const mergeDataArray = (0, import_react12.useMemo)(
1054
+ const mergeDataArray = (0, import_react14.useMemo)(
1050
1055
  () => (0, import_core7.mergeDataIntoQueryString)(_method, (0, import_core7.isUrlMethodPair)(href) ? href.url : href, data, queryStringArrayFormat),
1051
1056
  [href, _method, data, queryStringArrayFormat]
1052
1057
  );
1053
- const url = (0, import_react12.useMemo)(() => mergeDataArray[0], [mergeDataArray]);
1054
- const _data = (0, import_react12.useMemo)(() => mergeDataArray[1], [mergeDataArray]);
1055
- const baseParams = (0, import_react12.useMemo)(
1058
+ const url = (0, import_react14.useMemo)(() => mergeDataArray[0], [mergeDataArray]);
1059
+ const _data = (0, import_react14.useMemo)(() => mergeDataArray[1], [mergeDataArray]);
1060
+ const baseParams = (0, import_react14.useMemo)(
1056
1061
  () => ({
1057
1062
  data: _data,
1058
1063
  method: _method,
@@ -1067,7 +1072,7 @@ var Link = (0, import_react12.forwardRef)(
1067
1072
  }),
1068
1073
  [_data, _method, preserveScroll, preserveState, preserveUrl, replace, only, except, headers, async]
1069
1074
  );
1070
- const visitParams = (0, import_react12.useMemo)(
1075
+ const visitParams = (0, import_react14.useMemo)(
1071
1076
  () => ({
1072
1077
  ...baseParams,
1073
1078
  onCancelToken,
@@ -1087,7 +1092,7 @@ var Link = (0, import_react12.forwardRef)(
1087
1092
  }),
1088
1093
  [baseParams, onCancelToken, onBefore, onStart, onProgress, onFinish, onCancel, onSuccess, onError]
1089
1094
  );
1090
- const prefetchModes = (0, import_react12.useMemo)(
1095
+ const prefetchModes = (0, import_react14.useMemo)(
1091
1096
  () => {
1092
1097
  if (prefetch === true) {
1093
1098
  return ["hover"];
@@ -1102,7 +1107,7 @@ var Link = (0, import_react12.forwardRef)(
1102
1107
  },
1103
1108
  Array.isArray(prefetch) ? prefetch : [prefetch]
1104
1109
  );
1105
- const cacheForValue = (0, import_react12.useMemo)(() => {
1110
+ const cacheForValue = (0, import_react14.useMemo)(() => {
1106
1111
  if (cacheFor !== 0) {
1107
1112
  return cacheFor;
1108
1113
  }
@@ -1111,7 +1116,7 @@ var Link = (0, import_react12.forwardRef)(
1111
1116
  }
1112
1117
  return 3e4;
1113
1118
  }, [cacheFor, prefetchModes]);
1114
- const doPrefetch = (0, import_react12.useMemo)(() => {
1119
+ const doPrefetch = (0, import_react14.useMemo)(() => {
1115
1120
  return () => {
1116
1121
  import_core7.router.prefetch(
1117
1122
  url,
@@ -1124,12 +1129,12 @@ var Link = (0, import_react12.forwardRef)(
1124
1129
  );
1125
1130
  };
1126
1131
  }, [url, baseParams, onPrefetching, onPrefetched, cacheForValue, cacheTags]);
1127
- (0, import_react12.useEffect)(() => {
1132
+ (0, import_react14.useEffect)(() => {
1128
1133
  return () => {
1129
1134
  clearTimeout(hoverTimeout.current);
1130
1135
  };
1131
1136
  }, []);
1132
- (0, import_react12.useEffect)(() => {
1137
+ (0, import_react14.useEffect)(() => {
1133
1138
  if (prefetchModes.includes("mount")) {
1134
1139
  setTimeout(() => doPrefetch());
1135
1140
  }
@@ -1184,7 +1189,7 @@ var Link = (0, import_react12.forwardRef)(
1184
1189
  }
1185
1190
  }
1186
1191
  };
1187
- const elProps = (0, import_react12.useMemo)(() => {
1192
+ const elProps = (0, import_react14.useMemo)(() => {
1188
1193
  if (_as === "button") {
1189
1194
  return { type: "button" };
1190
1195
  }
@@ -1193,7 +1198,7 @@ var Link = (0, import_react12.forwardRef)(
1193
1198
  }
1194
1199
  return {};
1195
1200
  }, [_as, url]);
1196
- return (0, import_react12.createElement)(
1201
+ return (0, import_react14.createElement)(
1197
1202
  _as,
1198
1203
  {
1199
1204
  ...props,
@@ -1219,18 +1224,18 @@ var Link_default = Link;
1219
1224
 
1220
1225
  // src/usePoll.ts
1221
1226
  var import_core8 = require("@inertiajs/core");
1222
- var import_react13 = require("react");
1227
+ var import_react15 = require("react");
1223
1228
  function usePoll(interval, requestOptions = {}, options = {
1224
1229
  keepAlive: false,
1225
1230
  autoStart: true
1226
1231
  }) {
1227
- const pollRef = (0, import_react13.useRef)(
1232
+ const pollRef = (0, import_react15.useRef)(
1228
1233
  import_core8.router.poll(interval, requestOptions, {
1229
1234
  ...options,
1230
1235
  autoStart: false
1231
1236
  })
1232
1237
  );
1233
- (0, import_react13.useEffect)(() => {
1238
+ (0, import_react15.useEffect)(() => {
1234
1239
  if (options.autoStart ?? true) {
1235
1240
  pollRef.current.start();
1236
1241
  }
@@ -1244,14 +1249,14 @@ function usePoll(interval, requestOptions = {}, options = {
1244
1249
 
1245
1250
  // src/usePrefetch.ts
1246
1251
  var import_core9 = require("@inertiajs/core");
1247
- var import_react14 = require("react");
1252
+ var import_react16 = require("react");
1248
1253
  function usePrefetch(options = {}) {
1249
1254
  const cached = typeof window === "undefined" ? null : import_core9.router.getCached(window.location.pathname, options);
1250
1255
  const inFlight = typeof window === "undefined" ? null : import_core9.router.getPrefetching(window.location.pathname, options);
1251
- const [lastUpdatedAt, setLastUpdatedAt] = (0, import_react14.useState)(cached?.staleTimestamp || null);
1252
- const [isPrefetching, setIsPrefetching] = (0, import_react14.useState)(inFlight !== null);
1253
- const [isPrefetched, setIsPrefetched] = (0, import_react14.useState)(cached !== null);
1254
- (0, import_react14.useEffect)(() => {
1256
+ const [lastUpdatedAt, setLastUpdatedAt] = (0, import_react16.useState)(cached?.staleTimestamp || null);
1257
+ const [isPrefetching, setIsPrefetching] = (0, import_react16.useState)(inFlight !== null);
1258
+ const [isPrefetched, setIsPrefetched] = (0, import_react16.useState)(cached !== null);
1259
+ (0, import_react16.useEffect)(() => {
1255
1260
  const onPrefetchingListener = import_core9.router.on("prefetching", (e) => {
1256
1261
  if (e.detail.visit.url.pathname === window.location.pathname) {
1257
1262
  setIsPrefetching(true);
@@ -1279,16 +1284,16 @@ function usePrefetch(options = {}) {
1279
1284
 
1280
1285
  // src/WhenVisible.ts
1281
1286
  var import_core10 = require("@inertiajs/core");
1282
- var import_react15 = require("react");
1287
+ var import_react17 = require("react");
1283
1288
  var WhenVisible = ({ children, data, params, buffer, as, always, fallback }) => {
1284
1289
  always = always ?? false;
1285
1290
  as = as ?? "div";
1286
1291
  fallback = fallback ?? null;
1287
- const [loaded, setLoaded] = (0, import_react15.useState)(false);
1288
- const hasFetched = (0, import_react15.useRef)(false);
1289
- const fetching = (0, import_react15.useRef)(false);
1290
- const ref = (0, import_react15.useRef)(null);
1291
- const getReloadParams = (0, import_react15.useCallback)(() => {
1292
+ const [loaded, setLoaded] = (0, import_react17.useState)(false);
1293
+ const hasFetched = (0, import_react17.useRef)(false);
1294
+ const fetching = (0, import_react17.useRef)(false);
1295
+ const ref = (0, import_react17.useRef)(null);
1296
+ const getReloadParams = (0, import_react17.useCallback)(() => {
1292
1297
  if (data) {
1293
1298
  return {
1294
1299
  only: Array.isArray(data) ? data : [data]
@@ -1299,7 +1304,7 @@ var WhenVisible = ({ children, data, params, buffer, as, always, fallback }) =>
1299
1304
  }
1300
1305
  return params;
1301
1306
  }, [params, data]);
1302
- (0, import_react15.useEffect)(() => {
1307
+ (0, import_react17.useEffect)(() => {
1303
1308
  if (!ref.current) {
1304
1309
  return;
1305
1310
  }
@@ -1345,7 +1350,7 @@ var WhenVisible = ({ children, data, params, buffer, as, always, fallback }) =>
1345
1350
  const resolveChildren = () => typeof children === "function" ? children() : children;
1346
1351
  const resolveFallback = () => typeof fallback === "function" ? fallback() : fallback;
1347
1352
  if (always || !loaded) {
1348
- return (0, import_react15.createElement)(
1353
+ return (0, import_react17.createElement)(
1349
1354
  as,
1350
1355
  {
1351
1356
  props: null,