react-hook-form 7.56.0-next.0 → 7.56.1

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.
@@ -1,4 +1,5 @@
1
- import React, { useRef, useEffect } from 'react';
1
+ import * as React from 'react';
2
+ import React__default from 'react';
2
3
 
3
4
  var isCheckBoxInput = (element) => element.type === 'checkbox';
4
5
 
@@ -130,7 +131,7 @@ const INPUT_VALIDATION_RULES = {
130
131
  validate: 'validate',
131
132
  };
132
133
 
133
- const HookFormContext = React.createContext(null);
134
+ const HookFormContext = React__default.createContext(null);
134
135
  /**
135
136
  * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.
136
137
  *
@@ -161,7 +162,7 @@ const HookFormContext = React.createContext(null);
161
162
  * }
162
163
  * ```
163
164
  */
164
- const useFormContext = () => React.useContext(HookFormContext);
165
+ const useFormContext = () => React__default.useContext(HookFormContext);
165
166
  /**
166
167
  * A provider component that propagates the `useForm` methods to all children components via [React Context](https://reactjs.org/docs/context.html) API. To be used with {@link useFormContext}.
167
168
  *
@@ -194,7 +195,7 @@ const useFormContext = () => React.useContext(HookFormContext);
194
195
  */
195
196
  const FormProvider = (props) => {
196
197
  const { children, ...data } = props;
197
- return (React.createElement(HookFormContext.Provider, { value: data }, children));
198
+ return (React__default.createElement(HookFormContext.Provider, { value: data }, children));
198
199
  };
199
200
 
200
201
  var getProxyFormState = (formState, control, localProxyFormState, isRoot = true) => {
@@ -250,12 +251,12 @@ function deepEqual(object1, object2) {
250
251
  }
251
252
 
252
253
  const useDeepEqualEffect = (effect, deps) => {
253
- const ref = useRef(deps);
254
+ const ref = React.useRef(deps);
254
255
  if (!deepEqual(deps, ref.current)) {
255
256
  ref.current = deps;
256
257
  }
257
258
  // eslint-disable-next-line react-hooks/exhaustive-deps
258
- useEffect(effect, ref.current);
259
+ React.useEffect(effect, ref.current);
259
260
  };
260
261
 
261
262
  /**
@@ -291,8 +292,8 @@ const useDeepEqualEffect = (effect, deps) => {
291
292
  function useFormState(props) {
292
293
  const methods = useFormContext();
293
294
  const { control = methods.control, disabled, name, exact } = props || {};
294
- const [formState, updateFormState] = React.useState(control._formState);
295
- const _localProxyFormState = React.useRef({
295
+ const [formState, updateFormState] = React__default.useState(control._formState);
296
+ const _localProxyFormState = React__default.useRef({
296
297
  isDirty: false,
297
298
  isLoading: false,
298
299
  dirtyFields: false,
@@ -314,10 +315,10 @@ function useFormState(props) {
314
315
  });
315
316
  },
316
317
  }), [name, disabled, exact]);
317
- React.useEffect(() => {
318
+ React__default.useEffect(() => {
318
319
  _localProxyFormState.current.isValid && control._setValid(true);
319
320
  }, [control]);
320
- return React.useMemo(() => getProxyFormState(formState, control, _localProxyFormState.current, false), [formState, control]);
321
+ return React__default.useMemo(() => getProxyFormState(formState, control, _localProxyFormState.current, false), [formState, control]);
321
322
  }
322
323
 
323
324
  var isString = (value) => typeof value === 'string';
@@ -353,7 +354,7 @@ var generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) =>
353
354
  function useWatch(props) {
354
355
  const methods = useFormContext();
355
356
  const { control = methods.control, name, defaultValue, disabled, exact, } = props || {};
356
- const [value, updateValue] = React.useState(control._getWatch(name, defaultValue));
357
+ const [value, updateValue] = React__default.useState(control._getWatch(name, defaultValue));
357
358
  useDeepEqualEffect(() => control._subscribe({
358
359
  name: name,
359
360
  formState: {
@@ -363,7 +364,7 @@ function useWatch(props) {
363
364
  callback: (formState) => !disabled &&
364
365
  updateValue(generateWatchOutput(name, control._names, formState.values || control._formValues, false, defaultValue)),
365
366
  }), [name, defaultValue, disabled, exact]);
366
- React.useEffect(() => control._removeUnmounted());
367
+ React__default.useEffect(() => control._removeUnmounted());
367
368
  return value;
368
369
  }
369
370
 
@@ -406,13 +407,13 @@ function useController(props) {
406
407
  name,
407
408
  exact: true,
408
409
  });
409
- const _props = React.useRef(props);
410
- const _registerProps = React.useRef(control.register(name, {
410
+ const _props = React__default.useRef(props);
411
+ const _registerProps = React__default.useRef(control.register(name, {
411
412
  ...props.rules,
412
413
  value,
413
414
  ...(isBoolean(props.disabled) ? { disabled: props.disabled } : {}),
414
415
  }));
415
- const fieldState = React.useMemo(() => Object.defineProperties({}, {
416
+ const fieldState = React__default.useMemo(() => Object.defineProperties({}, {
416
417
  invalid: {
417
418
  enumerable: true,
418
419
  get: () => !!get(formState.errors, name),
@@ -434,21 +435,21 @@ function useController(props) {
434
435
  get: () => get(formState.errors, name),
435
436
  },
436
437
  }), [formState, name]);
437
- const onChange = React.useCallback((event) => _registerProps.current.onChange({
438
+ const onChange = React__default.useCallback((event) => _registerProps.current.onChange({
438
439
  target: {
439
440
  value: getEventValue(event),
440
441
  name: name,
441
442
  },
442
443
  type: EVENTS.CHANGE,
443
444
  }), [name]);
444
- const onBlur = React.useCallback(() => _registerProps.current.onBlur({
445
+ const onBlur = React__default.useCallback(() => _registerProps.current.onBlur({
445
446
  target: {
446
447
  value: get(control._formValues, name),
447
448
  name: name,
448
449
  },
449
450
  type: EVENTS.BLUR,
450
451
  }), [name, control._formValues]);
451
- const ref = React.useCallback((elm) => {
452
+ const ref = React__default.useCallback((elm) => {
452
453
  const field = get(control._fields, name);
453
454
  if (field && elm) {
454
455
  field._f.ref = {
@@ -459,7 +460,7 @@ function useController(props) {
459
460
  };
460
461
  }
461
462
  }, [control._fields, name]);
462
- const field = React.useMemo(() => ({
463
+ const field = React__default.useMemo(() => ({
463
464
  name,
464
465
  value,
465
466
  ...(isBoolean(disabled) || formState.disabled
@@ -469,7 +470,7 @@ function useController(props) {
469
470
  onBlur,
470
471
  ref,
471
472
  }), [name, disabled, formState.disabled, onChange, onBlur, ref, value]);
472
- React.useEffect(() => {
473
+ React__default.useEffect(() => {
473
474
  const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;
474
475
  control.register(name, {
475
476
  ..._props.current.rules,
@@ -500,13 +501,13 @@ function useController(props) {
500
501
  : updateMounted(name, false);
501
502
  };
502
503
  }, [name, control, isArrayField, shouldUnregister]);
503
- React.useEffect(() => {
504
+ React__default.useEffect(() => {
504
505
  control._setDisabledField({
505
506
  disabled,
506
507
  name,
507
508
  });
508
509
  }, [disabled, name, control]);
509
- return React.useMemo(() => ({
510
+ return React__default.useMemo(() => ({
510
511
  field,
511
512
  formState,
512
513
  fieldState,
@@ -598,7 +599,7 @@ const POST_REQUEST = 'post';
598
599
  */
599
600
  function Form(props) {
600
601
  const methods = useFormContext();
601
- const [mounted, setMounted] = React.useState(false);
602
+ const [mounted, setMounted] = React__default.useState(false);
602
603
  const { control = methods.control, onSubmit, children, action, method = POST_REQUEST, headers, encType, onError, render, onSuccess, validateStatus, ...rest } = props;
603
604
  const submit = async (event) => {
604
605
  let hasError = false;
@@ -664,12 +665,12 @@ function Form(props) {
664
665
  });
665
666
  }
666
667
  };
667
- React.useEffect(() => {
668
+ React__default.useEffect(() => {
668
669
  setMounted(true);
669
670
  }, []);
670
- return render ? (React.createElement(React.Fragment, null, render({
671
+ return render ? (React__default.createElement(React__default.Fragment, null, render({
671
672
  submit,
672
- }))) : (React.createElement("form", { noValidate: mounted, action: action, method: method, encType: encType, onSubmit: submit, ...rest }, children));
673
+ }))) : (React__default.createElement("form", { noValidate: mounted, action: action, method: method, encType: encType, onSubmit: submit, ...rest }, children));
673
674
  }
674
675
 
675
676
  var appendErrors = (name, validateAllFieldCriteria, errors, type, message) => validateAllFieldCriteria
@@ -2386,17 +2387,17 @@ var updateAt = (fieldValues, index, value) => {
2386
2387
  function useFieldArray(props) {
2387
2388
  const methods = useFormContext();
2388
2389
  const { control = methods.control, name, keyName = 'id', shouldUnregister, rules, } = props;
2389
- const [fields, setFields] = React.useState(control._getFieldArray(name));
2390
- const ids = React.useRef(control._getFieldArray(name).map(generateId));
2391
- const _fieldIds = React.useRef(fields);
2392
- const _name = React.useRef(name);
2393
- const _actioned = React.useRef(false);
2390
+ const [fields, setFields] = React__default.useState(control._getFieldArray(name));
2391
+ const ids = React__default.useRef(control._getFieldArray(name).map(generateId));
2392
+ const _fieldIds = React__default.useRef(fields);
2393
+ const _name = React__default.useRef(name);
2394
+ const _actioned = React__default.useRef(false);
2394
2395
  _name.current = name;
2395
2396
  _fieldIds.current = fields;
2396
2397
  control._names.array.add(name);
2397
2398
  rules &&
2398
2399
  control.register(name, rules);
2399
- React.useEffect(() => control._subjects.array.subscribe({
2400
+ React__default.useEffect(() => control._subjects.array.subscribe({
2400
2401
  next: ({ values, name: fieldArrayName, }) => {
2401
2402
  if (fieldArrayName === _name.current || !fieldArrayName) {
2402
2403
  const fieldValues = get(values, _name.current);
@@ -2407,7 +2408,7 @@ function useFieldArray(props) {
2407
2408
  }
2408
2409
  },
2409
2410
  }).unsubscribe, [control]);
2410
- const updateValues = React.useCallback((updatedFieldArrayValues) => {
2411
+ const updateValues = React__default.useCallback((updatedFieldArrayValues) => {
2411
2412
  _actioned.current = true;
2412
2413
  control._setFieldArray(name, updatedFieldArrayValues);
2413
2414
  }, [control, name]);
@@ -2496,7 +2497,7 @@ function useFieldArray(props) {
2496
2497
  setFields([...updatedFieldArrayValues]);
2497
2498
  control._setFieldArray(name, [...updatedFieldArrayValues], (data) => data, {}, true, false);
2498
2499
  };
2499
- React.useEffect(() => {
2500
+ React__default.useEffect(() => {
2500
2501
  control._state.action = false;
2501
2502
  isWatched(name, control._names) &&
2502
2503
  control._subjects.state.next({
@@ -2556,7 +2557,7 @@ function useFieldArray(props) {
2556
2557
  control._setValid();
2557
2558
  _actioned.current = false;
2558
2559
  }, [fields, name, control]);
2559
- React.useEffect(() => {
2560
+ React__default.useEffect(() => {
2560
2561
  !get(control._formValues, name) && control._setFieldArray(name);
2561
2562
  return () => {
2562
2563
  const updateMounted = (name, value) => {
@@ -2571,22 +2572,22 @@ function useFieldArray(props) {
2571
2572
  };
2572
2573
  }, [name, control, keyName, shouldUnregister]);
2573
2574
  return {
2574
- swap: React.useCallback(swap, [updateValues, name, control]),
2575
- move: React.useCallback(move, [updateValues, name, control]),
2576
- prepend: React.useCallback(prepend, [updateValues, name, control]),
2577
- append: React.useCallback(append, [updateValues, name, control]),
2578
- remove: React.useCallback(remove, [updateValues, name, control]),
2579
- insert: React.useCallback(insert$1, [updateValues, name, control]),
2580
- update: React.useCallback(update, [updateValues, name, control]),
2581
- replace: React.useCallback(replace, [updateValues, name, control]),
2582
- fields: React.useMemo(() => fields.map((field, index) => ({
2575
+ swap: React__default.useCallback(swap, [updateValues, name, control]),
2576
+ move: React__default.useCallback(move, [updateValues, name, control]),
2577
+ prepend: React__default.useCallback(prepend, [updateValues, name, control]),
2578
+ append: React__default.useCallback(append, [updateValues, name, control]),
2579
+ remove: React__default.useCallback(remove, [updateValues, name, control]),
2580
+ insert: React__default.useCallback(insert$1, [updateValues, name, control]),
2581
+ update: React__default.useCallback(update, [updateValues, name, control]),
2582
+ replace: React__default.useCallback(replace, [updateValues, name, control]),
2583
+ fields: React__default.useMemo(() => fields.map((field, index) => ({
2583
2584
  ...field,
2584
2585
  [keyName]: ids.current[index] || generateId(),
2585
2586
  })), [fields, keyName]),
2586
2587
  };
2587
2588
  }
2588
2589
 
2589
- const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
2590
+ const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React__default.useLayoutEffect : React__default.useEffect;
2590
2591
  /**
2591
2592
  * Custom hook to manage the entire form.
2592
2593
  *
@@ -2617,9 +2618,9 @@ const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayou
2617
2618
  * ```
2618
2619
  */
2619
2620
  function useForm(props = {}) {
2620
- const _formControl = React.useRef(undefined);
2621
- const _values = React.useRef(undefined);
2622
- const [formState, updateFormState] = React.useState({
2621
+ const _formControl = React__default.useRef(undefined);
2622
+ const _values = React__default.useRef(undefined);
2623
+ const [formState, updateFormState] = React__default.useState({
2623
2624
  isDirty: false,
2624
2625
  isValidating: false,
2625
2626
  isLoading: isFunction(props.defaultValues),
@@ -2661,10 +2662,11 @@ function useForm(props = {}) {
2661
2662
  ...data,
2662
2663
  isReady: true,
2663
2664
  }));
2665
+ control._formState.isReady = true;
2664
2666
  return sub;
2665
2667
  }, [control]);
2666
- React.useEffect(() => control._disableForm(props.disabled), [control, props.disabled]);
2667
- React.useEffect(() => {
2668
+ React__default.useEffect(() => control._disableForm(props.disabled), [control, props.disabled]);
2669
+ React__default.useEffect(() => {
2668
2670
  if (props.mode) {
2669
2671
  control._options.mode = props.mode;
2670
2672
  }
@@ -2675,13 +2677,13 @@ function useForm(props = {}) {
2675
2677
  control._setErrors(props.errors);
2676
2678
  }
2677
2679
  }, [control, props.errors, props.mode, props.reValidateMode]);
2678
- React.useEffect(() => {
2680
+ React__default.useEffect(() => {
2679
2681
  props.shouldUnregister &&
2680
2682
  control._subjects.state.next({
2681
2683
  values: control._getWatch(),
2682
2684
  });
2683
2685
  }, [control, props.shouldUnregister]);
2684
- React.useEffect(() => {
2686
+ React__default.useEffect(() => {
2685
2687
  if (control._proxyFormState.isDirty) {
2686
2688
  const isDirty = control._getDirty();
2687
2689
  if (isDirty !== formState.isDirty) {
@@ -2691,7 +2693,7 @@ function useForm(props = {}) {
2691
2693
  }
2692
2694
  }
2693
2695
  }, [control, formState.isDirty]);
2694
- React.useEffect(() => {
2696
+ React__default.useEffect(() => {
2695
2697
  if (props.values && !deepEqual(props.values, _values.current)) {
2696
2698
  control._reset(props.values, control._options.resetOptions);
2697
2699
  _values.current = props.values;
@@ -2701,7 +2703,7 @@ function useForm(props = {}) {
2701
2703
  control._resetDefaultValues();
2702
2704
  }
2703
2705
  }, [control, props.values]);
2704
- React.useEffect(() => {
2706
+ React__default.useEffect(() => {
2705
2707
  if (!control._state.mount) {
2706
2708
  control._setValid();
2707
2709
  control._state.mount = true;