react-hook-form 7.15.0 → 7.15.3

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,11 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { RegisterOptions } from './validator';
3
- import { Control, FieldError, FieldPath, FieldPathValue, FieldValues, RefCallBack, UnpackNestedValue, UseFormStateReturn } from './';
4
- export declare type ControllerFieldState = {
3
+ import { Control, FieldErrors, FieldPath, FieldPathValue, FieldValues, RefCallBack, UnpackNestedValue, UseFormStateReturn } from './';
4
+ export declare type ControllerFieldState<TFieldValues extends FieldValues = FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
5
5
  invalid: boolean;
6
6
  isTouched: boolean;
7
7
  isDirty: boolean;
8
- error?: FieldError;
8
+ error?: FieldErrors<FieldPathValue<TFieldValues, TFieldName>>;
9
9
  };
10
10
  export declare type ControllerRenderProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
11
11
  onChange: (...event: any[]) => void;
@@ -24,12 +24,12 @@ export declare type UseControllerProps<TFieldValues extends FieldValues = FieldV
24
24
  export declare type UseControllerReturn<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
25
25
  field: ControllerRenderProps<TFieldValues, TName>;
26
26
  formState: UseFormStateReturn<TFieldValues>;
27
- fieldState: ControllerFieldState;
27
+ fieldState: ControllerFieldState<TFieldValues, TName>;
28
28
  };
29
29
  export declare type ControllerProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
30
30
  render: ({ field, fieldState, formState, }: {
31
31
  field: ControllerRenderProps<TFieldValues, TName>;
32
- fieldState: ControllerFieldState;
32
+ fieldState: ControllerFieldState<TFieldValues, TName>;
33
33
  formState: UseFormStateReturn<TFieldValues>;
34
34
  }) => React.ReactElement;
35
35
  } & UseControllerProps<TFieldValues, TName>;
@@ -1,5 +1,5 @@
1
1
  import { FieldValues, InternalFieldName, Ref } from './fields';
2
- import { DeepMap, DeepPartial, LiteralUnion } from './utils';
2
+ import { DeepMap, DeepPartial, LiteralUnion, UnionLike } from './utils';
3
3
  import { RegisterOptions, ValidateResult } from './validator';
4
4
  export declare type Message = string;
5
5
  export declare type MultipleFieldErrors = {
@@ -18,5 +18,5 @@ export declare type ErrorOption = {
18
18
  type?: LiteralUnion<keyof RegisterOptions, string>;
19
19
  types?: MultipleFieldErrors;
20
20
  };
21
- export declare type FieldErrors<TFieldValues extends FieldValues = FieldValues> = DeepMap<DeepPartial<TFieldValues>, FieldError>;
21
+ export declare type FieldErrors<TFieldValues extends FieldValues = FieldValues> = DeepMap<DeepPartial<UnionLike<TFieldValues>>, FieldError>;
22
22
  export declare type InternalFieldErrors = Partial<Record<InternalFieldName, FieldError>>;
@@ -5,7 +5,7 @@ import { EventType } from './events';
5
5
  import { FieldArrayWithId } from './fieldArray';
6
6
  import { FieldRefs, FieldValue, FieldValues, InternalFieldName } from './fields';
7
7
  import { Resolver } from './resolvers';
8
- import { DeepMap, DeepPartial, FieldArrayPath, FieldPath, FieldPathValue, FieldPathValues } from './utils';
8
+ import { DeepMap, DeepPartial, FieldArrayPath, FieldPath, FieldPathValue, FieldPathValues, UnionLike } from './utils';
9
9
  import { RegisterOptions } from './validator';
10
10
  declare const $NestedValue: unique symbol;
11
11
  export declare type NestedValue<TValue extends object = object> = {
@@ -52,7 +52,7 @@ export declare type UseFormProps<TFieldValues extends FieldValues = FieldValues,
52
52
  criteriaMode: CriteriaMode;
53
53
  delayError: number;
54
54
  }>;
55
- export declare type FieldNamesMarkedBoolean<TFieldValues extends FieldValues> = DeepMap<DeepPartial<TFieldValues>, true>;
55
+ export declare type FieldNamesMarkedBoolean<TFieldValues extends FieldValues> = DeepMap<DeepPartial<UnionLike<TFieldValues>>, true>;
56
56
  export declare type FormStateProxy<TFieldValues extends FieldValues = FieldValues> = {
57
57
  isDirty: boolean;
58
58
  isValidating: boolean;
@@ -121,7 +121,7 @@ export declare type UseFormUnregister<TFieldValues extends FieldValues> = (name?
121
121
  }) => void;
122
122
  export declare type UseFormHandleSubmit<TFieldValues extends FieldValues> = <TSubmitFieldValues extends FieldValues = TFieldValues>(onValid: SubmitHandler<TSubmitFieldValues>, onInvalid?: SubmitErrorHandler<TFieldValues>) => (e?: React.BaseSyntheticEvent) => Promise<void>;
123
123
  export declare type UseFormReset<TFieldValues extends FieldValues> = (values?: DefaultValues<TFieldValues>, keepStateOptions?: KeepStateOptions) => void;
124
- export declare type WatchInternal<TFieldValues> = (fieldNames?: InternalFieldName | InternalFieldName[], defaultValue?: UnpackNestedValue<DeepPartial<TFieldValues>>, isGlobal?: boolean, formValues?: unknown) => FieldPathValue<FieldValues, InternalFieldName> | FieldPathValues<FieldValues, InternalFieldName[]>;
124
+ export declare type WatchInternal<TFieldValues> = (fieldNames?: InternalFieldName | InternalFieldName[], defaultValue?: UnpackNestedValue<DeepPartial<TFieldValues>>, isMounted?: boolean, isGlobal?: boolean) => FieldPathValue<FieldValues, InternalFieldName> | FieldPathValues<FieldValues, InternalFieldName[]>;
125
125
  export declare type GetIsDirty = <TName extends InternalFieldName, TData>(name?: TName, data?: TData) => boolean;
126
126
  export declare type FormStateSubjectRef<TFieldValues> = SubjectType<Partial<FormState<TFieldValues>> & {
127
127
  name?: InternalFieldName;
@@ -1,5 +1,14 @@
1
1
  import { FieldValues } from './fields';
2
2
  import { NestedValue } from './form';
3
+ interface File extends Blob {
4
+ readonly lastModified: number;
5
+ readonly name: string;
6
+ }
7
+ interface FileList {
8
+ readonly length: number;
9
+ item(index: number): File | null;
10
+ [index: number]: File;
11
+ }
3
12
  export declare type Primitive = null | undefined | string | number | boolean | symbol | bigint;
4
13
  export declare type EmptyObject = {
5
14
  [K in string | number]: never;
@@ -39,4 +48,15 @@ export declare type FieldArrayPathValue<TFieldValues extends FieldValues, TField
39
48
  export declare type FieldPathValues<TFieldValues extends FieldValues, TPath extends FieldPath<TFieldValues>[] | readonly FieldPath<TFieldValues>[]> = {} & {
40
49
  [K in keyof TPath]: FieldPathValue<TFieldValues, TPath[K] & FieldPath<TFieldValues>>;
41
50
  };
51
+ declare type UnionKeys<T> = T extends any ? keyof T : never;
52
+ declare type UnionValues<T, K> = T extends any ? K extends keyof T ? T[K] : never : never;
53
+ declare type OptionalKeys<T> = T extends any ? {
54
+ [K in keyof T]-?: {} extends Pick<T, K> ? K : never;
55
+ }[keyof T] : never;
56
+ declare type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
57
+ export declare type UnionLike<T> = [T] extends [Date | FileList | File | NestedValue] ? T : [T] extends [ReadonlyArray<any>] ? {
58
+ [K in keyof T]: UnionLike<T[K]>;
59
+ } : [T] extends [object] ? PartialBy<{
60
+ [K in UnionKeys<T>]: UnionLike<UnionValues<T, K>>;
61
+ }, Exclude<UnionKeys<T>, keyof T> | OptionalKeys<T>> : T;
42
62
  export {};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-hook-form",
3
3
  "description": "Performant, flexible and extensible forms library for React Hooks",
4
- "version": "7.15.0",
4
+ "version": "7.15.3",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
7
7
  "umd:main": "dist/index.umd.js",
@@ -23,12 +23,12 @@
23
23
  }
24
24
  },
25
25
  "scripts": {
26
- "clean": "rm -rf dist",
26
+ "clean": "rimraf dist",
27
27
  "prebuild": "yarn clean",
28
- "build": "yarn build:modern && yarn cp:dts",
28
+ "build": "yarn build:modern",
29
+ "postbuild": "rimraf dist/__tests__",
29
30
  "build:modern": "rollup -c ./scripts/rollup/rollup.config.js",
30
31
  "build:esm": "rollup -c ./scripts/rollup/rollup.esm.config.js",
31
- "cp:dts": "copyfiles -f ./src/**/*.d.ts dist && rm -rf dist/__tests__",
32
32
  "prettier:fix": "prettier --config .prettierrc --write \"**/*.{ts,tsx}\"",
33
33
  "lint": "eslint '**/*.{js,ts,tsx}'",
34
34
  "lint:fix": "yarn lint -- --fix",
@@ -70,34 +70,34 @@
70
70
  "@rollup/plugin-node-resolve": "^13.0.2",
71
71
  "@testing-library/jest-dom": "^5.14.1",
72
72
  "@testing-library/react": "^12.0.0",
73
- "@testing-library/react-hooks": "^7.0.1",
73
+ "@testing-library/react-hooks": "^7.0.2",
74
74
  "@testing-library/react-native": "^7.2.0",
75
75
  "@types/jest": "^27.0.1",
76
- "@types/react": "^17.0.19",
77
- "@types/react-native": "^0.64.12",
78
- "@typescript-eslint/eslint-plugin": "^4.29.3",
79
- "@typescript-eslint/parser": "^4.29.3",
76
+ "@types/react": "^17.0.20",
77
+ "@types/react-native": "^0.65.0",
78
+ "@typescript-eslint/eslint-plugin": "^4.31.0",
79
+ "@typescript-eslint/parser": "^4.31.0",
80
80
  "@vitejs/plugin-react-refresh": "^1.3.6",
81
- "babel-jest": "^27.0.6",
81
+ "babel-jest": "^27.1.1",
82
82
  "bundlesize": "^0.18.0",
83
- "copyfiles": "^2.4.1",
84
- "cypress": "8.3.0",
83
+ "cypress": "8.3.1",
85
84
  "cypress-parallel": "^0.3.0",
86
85
  "eslint": "^7.32.0",
87
86
  "eslint-config-prettier": "^8.3.0",
88
87
  "eslint-plugin-cypress": "^2.11.3",
89
- "eslint-plugin-prettier": "^3.4.1",
90
- "eslint-plugin-react": "^7.22.0",
88
+ "eslint-plugin-prettier": "^4.0.0",
89
+ "eslint-plugin-react": "^7.25.1",
91
90
  "eslint-plugin-react-hooks": "^4.2.0",
92
91
  "eslint-plugin-simple-import-sort": "^7.0.0",
93
92
  "husky": "^7.0.2",
94
- "jest": "^27.0.6",
93
+ "jest": "^27.1.1",
95
94
  "lint-staged": "^11.1.2",
96
- "prettier": "^2.3.2",
95
+ "prettier": "^2.4.0",
97
96
  "react": "^17.0.1",
98
97
  "react-dom": "^17.0.1",
99
98
  "react-native": "^0.65.1",
100
99
  "react-test-renderer": "^17.0.1",
100
+ "rimraf": "^3.0.2",
101
101
  "rollup": "^2.56.3",
102
102
  "rollup-plugin-peer-deps-external": "^2.2.4",
103
103
  "rollup-plugin-sourcemaps": "^0.6.2",
package/dist/global.d.ts DELETED
@@ -1,11 +0,0 @@
1
- /*
2
- Projects that React Hook Form installed don't include the DOM library need these interfaces to compile.
3
- React Native applications is no DOM available. The JavaScript runtime is ES6/ES2015 only.
4
- These definitions allow such projects to compile with only --lib ES6.
5
-
6
- Warning: all of these interfaces are empty.
7
- If you want type definitions for various properties, you need to add `--lib DOM` (via command line or tsconfig.json).
8
- */
9
-
10
- interface HTMLOptionsCollection {}
11
- interface FileList {}