@mantine/form 7.1.7 → 7.2.0
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/cjs/actions/actions.js +132 -0
- package/cjs/actions/actions.js.map +1 -0
- package/cjs/index.js +2 -0
- package/cjs/index.js.map +1 -1
- package/cjs/use-form.js +25 -5
- package/cjs/use-form.js.map +1 -1
- package/esm/actions/actions.mjs +126 -0
- package/esm/actions/actions.mjs.map +1 -0
- package/esm/index.mjs +1 -0
- package/esm/index.mjs.map +1 -1
- package/esm/use-form.mjs +25 -5
- package/esm/use-form.mjs.map +1 -1
- package/lib/actions/actions.d.ts +24 -0
- package/lib/actions/actions.d.ts.map +1 -0
- package/lib/actions/index.d.ts +2 -0
- package/lib/actions/index.d.ts.map +1 -0
- package/lib/index.d.mts +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/types.d.ts +2 -0
- package/lib/types.d.ts.map +1 -1
- package/lib/use-form.d.ts +1 -1
- package/lib/use-form.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var React = require('react');
|
|
7
|
+
|
|
8
|
+
function dispatchEvent(type, detail) {
|
|
9
|
+
window.dispatchEvent(new CustomEvent(type, { detail }));
|
|
10
|
+
}
|
|
11
|
+
function validateFormName(name) {
|
|
12
|
+
if (!/^[0-9a-zA-Z-]+$/.test(name)) {
|
|
13
|
+
throw new Error(
|
|
14
|
+
`[@mantine/use-form] Form name "${name}" is invalid, it should contain only letters, numbers and dashes`
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const useIsomorphicEffect = typeof window !== "undefined" ? React.useLayoutEffect : React.useEffect;
|
|
19
|
+
function createFormActions(name) {
|
|
20
|
+
validateFormName(name);
|
|
21
|
+
const setFieldValue = (path, value) => dispatchEvent(`mantine-form:${name}:set-field-value`, { path, value });
|
|
22
|
+
const setValues = (values) => dispatchEvent(`mantine-form:${name}:set-values`, values);
|
|
23
|
+
const setInitialValues = (values) => dispatchEvent(`mantine-form:${name}:set-initial-values`, values);
|
|
24
|
+
const setErrors = (errors) => dispatchEvent(`mantine-form:${name}:set-errors`, errors);
|
|
25
|
+
const setFieldError = (path, error) => dispatchEvent(`mantine-form:${name}:set-field-error`, { path, error });
|
|
26
|
+
const clearFieldError = (path) => dispatchEvent(`mantine-form:${name}:clear-field-error`, path);
|
|
27
|
+
const clearErrors = () => dispatchEvent(`mantine-form:${name}:clear-errors`);
|
|
28
|
+
const reset = () => dispatchEvent(`mantine-form:${name}:reset`);
|
|
29
|
+
const validate = () => dispatchEvent(`mantine-form:${name}:validate`);
|
|
30
|
+
const validateField = (path) => dispatchEvent(`mantine-form:${name}:validate-field`, path);
|
|
31
|
+
const reorderListItem = (path, payload) => dispatchEvent(`mantine-form:${name}:reorder-list-item`, { path, payload });
|
|
32
|
+
const removeListItem = (path, index) => dispatchEvent(`mantine-form:${name}:remove-list-item`, { path, index });
|
|
33
|
+
const insertListItem = (path, item, index) => dispatchEvent(`mantine-form:${name}:insert-list-item`, { path, index, item });
|
|
34
|
+
const setDirty = (value) => dispatchEvent(`mantine-form:${name}:set-dirty`, value);
|
|
35
|
+
const setTouched = (value) => dispatchEvent(`mantine-form:${name}:set-touched`, value);
|
|
36
|
+
const resetDirty = (values) => dispatchEvent(`mantine-form:${name}:reset-dirty`, values);
|
|
37
|
+
const resetTouched = () => dispatchEvent(`mantine-form:${name}:reset-touched`);
|
|
38
|
+
return {
|
|
39
|
+
setFieldValue,
|
|
40
|
+
setValues,
|
|
41
|
+
setInitialValues,
|
|
42
|
+
setErrors,
|
|
43
|
+
setFieldError,
|
|
44
|
+
clearFieldError,
|
|
45
|
+
clearErrors,
|
|
46
|
+
reset,
|
|
47
|
+
validate,
|
|
48
|
+
validateField,
|
|
49
|
+
reorderListItem,
|
|
50
|
+
removeListItem,
|
|
51
|
+
insertListItem,
|
|
52
|
+
setDirty,
|
|
53
|
+
setTouched,
|
|
54
|
+
resetDirty,
|
|
55
|
+
resetTouched
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function useFormEvent(eventKey, handler) {
|
|
59
|
+
useIsomorphicEffect(() => {
|
|
60
|
+
if (eventKey) {
|
|
61
|
+
window.addEventListener(eventKey, handler);
|
|
62
|
+
return () => window.removeEventListener(eventKey, handler);
|
|
63
|
+
}
|
|
64
|
+
return void 0;
|
|
65
|
+
}, [eventKey]);
|
|
66
|
+
}
|
|
67
|
+
function useFormActions(name, form) {
|
|
68
|
+
if (name) {
|
|
69
|
+
validateFormName(name);
|
|
70
|
+
}
|
|
71
|
+
useFormEvent(
|
|
72
|
+
`mantine-form:${name}:set-field-value`,
|
|
73
|
+
(event) => form.setFieldValue(event.detail.path, event.detail.value)
|
|
74
|
+
);
|
|
75
|
+
useFormEvent(
|
|
76
|
+
`mantine-form:${name}:set-values`,
|
|
77
|
+
(event) => form.setValues(event.detail)
|
|
78
|
+
);
|
|
79
|
+
useFormEvent(
|
|
80
|
+
`mantine-form:${name}:set-initial-values`,
|
|
81
|
+
(event) => form.setInitialValues(event.detail)
|
|
82
|
+
);
|
|
83
|
+
useFormEvent(
|
|
84
|
+
`mantine-form:${name}:set-errors`,
|
|
85
|
+
(event) => form.setErrors(event.detail)
|
|
86
|
+
);
|
|
87
|
+
useFormEvent(
|
|
88
|
+
`mantine-form:${name}:set-field-error`,
|
|
89
|
+
(event) => form.setFieldError(event.detail.path, event.detail.error)
|
|
90
|
+
);
|
|
91
|
+
useFormEvent(
|
|
92
|
+
`mantine-form:${name}:clear-field-error`,
|
|
93
|
+
(event) => form.clearFieldError(event.detail)
|
|
94
|
+
);
|
|
95
|
+
useFormEvent(`mantine-form:${name}:clear-errors`, form.clearErrors);
|
|
96
|
+
useFormEvent(`mantine-form:${name}:reset`, form.reset);
|
|
97
|
+
useFormEvent(`mantine-form:${name}:validate`, form.validate);
|
|
98
|
+
useFormEvent(
|
|
99
|
+
`mantine-form:${name}:validate-field`,
|
|
100
|
+
(event) => form.validateField(event.detail)
|
|
101
|
+
);
|
|
102
|
+
useFormEvent(
|
|
103
|
+
`mantine-form:${name}:reorder-list-item`,
|
|
104
|
+
(event) => form.reorderListItem(event.detail.path, event.detail.payload)
|
|
105
|
+
);
|
|
106
|
+
useFormEvent(
|
|
107
|
+
`mantine-form:${name}:remove-list-item`,
|
|
108
|
+
(event) => form.removeListItem(event.detail.path, event.detail.index)
|
|
109
|
+
);
|
|
110
|
+
useFormEvent(
|
|
111
|
+
`mantine-form:${name}:insert-list-item`,
|
|
112
|
+
(event) => form.insertListItem(event.detail.path, event.detail.item, event.detail.index)
|
|
113
|
+
);
|
|
114
|
+
useFormEvent(
|
|
115
|
+
`mantine-form:${name}:set-dirty`,
|
|
116
|
+
(event) => form.setDirty(event.detail)
|
|
117
|
+
);
|
|
118
|
+
useFormEvent(
|
|
119
|
+
`mantine-form:${name}:set-touched`,
|
|
120
|
+
(event) => form.setTouched(event.detail)
|
|
121
|
+
);
|
|
122
|
+
useFormEvent(
|
|
123
|
+
`mantine-form:${name}:reset-dirty`,
|
|
124
|
+
(event) => form.resetDirty(event.detail)
|
|
125
|
+
);
|
|
126
|
+
useFormEvent(`mantine-form:${name}:reset-touched`, form.resetTouched);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
exports.createFormActions = createFormActions;
|
|
130
|
+
exports.useFormActions = useFormActions;
|
|
131
|
+
exports.useIsomorphicEffect = useIsomorphicEffect;
|
|
132
|
+
//# sourceMappingURL=actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.js","sources":["../../src/actions/actions.ts"],"sourcesContent":["import { useEffect, useLayoutEffect } from 'react';\nimport type {\n SetFieldValue,\n SetValues,\n SetInitialValues,\n SetErrors,\n SetFieldError,\n ClearFieldError,\n ClearErrors,\n Reset,\n ValidateField,\n RemoveListItem,\n ReorderListItem,\n InsertListItem,\n SetFormStatus,\n ResetDirty,\n ResetStatus,\n UseFormReturnType,\n _TransformValues,\n} from '../types';\n\nfunction dispatchEvent(type: string, detail?: any): any {\n window.dispatchEvent(new CustomEvent(type, { detail }));\n}\n\nfunction validateFormName(name: string) {\n if (!/^[0-9a-zA-Z-]+$/.test(name)) {\n throw new Error(\n `[@mantine/use-form] Form name \"${name}\" is invalid, it should contain only letters, numbers and dashes`\n );\n }\n}\n\nexport const useIsomorphicEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\nexport function createFormActions<FormValues extends Record<string, any> = Record<string, any>>(\n name: string\n) {\n validateFormName(name);\n\n const setFieldValue: SetFieldValue<FormValues> = (path, value) =>\n dispatchEvent(`mantine-form:${name}:set-field-value`, { path, value });\n\n const setValues: SetValues<FormValues> = (values) =>\n dispatchEvent(`mantine-form:${name}:set-values`, values);\n\n const setInitialValues: SetInitialValues<FormValues> = (values) =>\n dispatchEvent(`mantine-form:${name}:set-initial-values`, values);\n\n const setErrors: SetErrors = (errors) => dispatchEvent(`mantine-form:${name}:set-errors`, errors);\n\n const setFieldError: SetFieldError<FormValues> = (path, error) =>\n dispatchEvent(`mantine-form:${name}:set-field-error`, { path, error });\n\n const clearFieldError: ClearFieldError = (path) =>\n dispatchEvent(`mantine-form:${name}:clear-field-error`, path);\n\n const clearErrors: ClearErrors = () => dispatchEvent(`mantine-form:${name}:clear-errors`);\n\n const reset: Reset = () => dispatchEvent(`mantine-form:${name}:reset`);\n\n const validate: () => void = () => dispatchEvent(`mantine-form:${name}:validate`);\n\n const validateField: ValidateField<FormValues> = (path) =>\n dispatchEvent(`mantine-form:${name}:validate-field`, path);\n\n const reorderListItem: ReorderListItem<FormValues> = (path, payload) =>\n dispatchEvent(`mantine-form:${name}:reorder-list-item`, { path, payload });\n\n const removeListItem: RemoveListItem<FormValues> = (path, index) =>\n dispatchEvent(`mantine-form:${name}:remove-list-item`, { path, index });\n\n const insertListItem: InsertListItem<FormValues> = (path, item, index) =>\n dispatchEvent(`mantine-form:${name}:insert-list-item`, { path, index, item });\n\n const setDirty: SetFormStatus = (value) => dispatchEvent(`mantine-form:${name}:set-dirty`, value);\n\n const setTouched: SetFormStatus = (value) =>\n dispatchEvent(`mantine-form:${name}:set-touched`, value);\n\n const resetDirty: ResetDirty<FormValues> = (values) =>\n dispatchEvent(`mantine-form:${name}:reset-dirty`, values);\n\n const resetTouched: ResetStatus = () => dispatchEvent(`mantine-form:${name}:reset-touched`);\n\n return {\n setFieldValue,\n setValues,\n setInitialValues,\n setErrors,\n setFieldError,\n clearFieldError,\n clearErrors,\n reset,\n validate,\n validateField,\n reorderListItem,\n removeListItem,\n insertListItem,\n setDirty,\n setTouched,\n resetDirty,\n resetTouched,\n };\n}\n\nfunction useFormEvent(eventKey: string | undefined, handler: Function) {\n useIsomorphicEffect(() => {\n if (eventKey) {\n window.addEventListener(eventKey, handler as any);\n return () => window.removeEventListener(eventKey, handler as any);\n }\n return undefined;\n }, [eventKey]);\n}\n\nexport function useFormActions<\n Values = Record<string, unknown>,\n TransformValues extends _TransformValues<Values> = (values: Values) => Values,\n>(name: string | undefined, form: UseFormReturnType<Values, TransformValues>) {\n if (name) {\n validateFormName(name);\n }\n\n useFormEvent(`mantine-form:${name}:set-field-value`, (event: CustomEvent) =>\n form.setFieldValue(event.detail.path, event.detail.value)\n );\n\n useFormEvent(`mantine-form:${name}:set-values`, (event: CustomEvent) =>\n form.setValues(event.detail)\n );\n\n useFormEvent(`mantine-form:${name}:set-initial-values`, (event: CustomEvent) =>\n form.setInitialValues(event.detail)\n );\n\n useFormEvent(`mantine-form:${name}:set-errors`, (event: CustomEvent) =>\n form.setErrors(event.detail)\n );\n\n useFormEvent(`mantine-form:${name}:set-field-error`, (event: CustomEvent) =>\n form.setFieldError(event.detail.path, event.detail.error)\n );\n\n useFormEvent(`mantine-form:${name}:clear-field-error`, (event: CustomEvent) =>\n form.clearFieldError(event.detail)\n );\n\n useFormEvent(`mantine-form:${name}:clear-errors`, form.clearErrors);\n useFormEvent(`mantine-form:${name}:reset`, form.reset);\n useFormEvent(`mantine-form:${name}:validate`, form.validate);\n\n useFormEvent(`mantine-form:${name}:validate-field`, (event: CustomEvent) =>\n form.validateField(event.detail)\n );\n\n useFormEvent(`mantine-form:${name}:reorder-list-item`, (event: CustomEvent) =>\n form.reorderListItem(event.detail.path, event.detail.payload)\n );\n\n useFormEvent(`mantine-form:${name}:remove-list-item`, (event: CustomEvent) =>\n form.removeListItem(event.detail.path, event.detail.index)\n );\n\n useFormEvent(`mantine-form:${name}:insert-list-item`, (event: CustomEvent) =>\n form.insertListItem(event.detail.path, event.detail.item, event.detail.index)\n );\n\n useFormEvent(`mantine-form:${name}:set-dirty`, (event: CustomEvent) =>\n form.setDirty(event.detail)\n );\n\n useFormEvent(`mantine-form:${name}:set-touched`, (event: CustomEvent) =>\n form.setTouched(event.detail)\n );\n\n useFormEvent(`mantine-form:${name}:reset-dirty`, (event: CustomEvent) =>\n form.resetDirty(event.detail)\n );\n\n useFormEvent(`mantine-form:${name}:reset-touched`, form.resetTouched);\n}\n"],"names":["useLayoutEffect","useEffect"],"mappings":"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"}
|
package/cjs/index.js
CHANGED
|
@@ -10,6 +10,7 @@ var zodResolver = require('./resolvers/zod-resolver/zod-resolver.js');
|
|
|
10
10
|
var superstructResolver = require('./resolvers/superstruct-resolver/superstruct-resolver.js');
|
|
11
11
|
var yupResolver = require('./resolvers/yup-resolver/yup-resolver.js');
|
|
12
12
|
var joiResolver = require('./resolvers/joi-resolver/joi-resolver.js');
|
|
13
|
+
var actions = require('./actions/actions.js');
|
|
13
14
|
var isNotEmpty = require('./validators/is-not-empty/is-not-empty.js');
|
|
14
15
|
var matches = require('./validators/matches/matches.js');
|
|
15
16
|
var isEmail = require('./validators/is-email/is-email.js');
|
|
@@ -27,6 +28,7 @@ exports.zodResolver = zodResolver.zodResolver;
|
|
|
27
28
|
exports.superstructResolver = superstructResolver.superstructResolver;
|
|
28
29
|
exports.yupResolver = yupResolver.yupResolver;
|
|
29
30
|
exports.joiResolver = joiResolver.joiResolver;
|
|
31
|
+
exports.createFormActions = actions.createFormActions;
|
|
30
32
|
exports.isNotEmpty = isNotEmpty.isNotEmpty;
|
|
31
33
|
exports.matches = matches.matches;
|
|
32
34
|
exports.isEmail = isEmail.isEmail;
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/cjs/use-form.js
CHANGED
|
@@ -17,6 +17,7 @@ var changeErrorIndices = require('./lists/change-error-indices.js');
|
|
|
17
17
|
var insertPath = require('./paths/insert-path.js');
|
|
18
18
|
var validateValues = require('./validate/validate-values.js');
|
|
19
19
|
var getStatus = require('./get-status/get-status.js');
|
|
20
|
+
var actions = require('./actions/actions.js');
|
|
20
21
|
var getPath = require('./paths/get-path.js');
|
|
21
22
|
var getInputOnChange = require('./get-input-on-change/get-input-on-change.js');
|
|
22
23
|
|
|
@@ -44,6 +45,7 @@ var __spreadValues = (a, b) => {
|
|
|
44
45
|
};
|
|
45
46
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
46
47
|
function useForm({
|
|
48
|
+
name,
|
|
47
49
|
initialValues = {},
|
|
48
50
|
initialErrors = {},
|
|
49
51
|
initialDirty = {},
|
|
@@ -51,6 +53,7 @@ function useForm({
|
|
|
51
53
|
clearInputErrorOnChange = true,
|
|
52
54
|
validateInputOnChange = false,
|
|
53
55
|
validateInputOnBlur = false,
|
|
56
|
+
onValuesChange,
|
|
54
57
|
transformValues = (values) => values,
|
|
55
58
|
validate: rules
|
|
56
59
|
} = {}) {
|
|
@@ -116,6 +119,7 @@ function useForm({
|
|
|
116
119
|
const validationResults = validateFieldValue.validateFieldValue(path, rules, result);
|
|
117
120
|
validationResults.hasError ? setFieldError(path, validationResults.error) : clearFieldError(path);
|
|
118
121
|
}
|
|
122
|
+
onValuesChange == null ? void 0 : onValuesChange(result);
|
|
119
123
|
return result;
|
|
120
124
|
});
|
|
121
125
|
!shouldValidate && clearInputErrorOnChange && setFieldError(path, null);
|
|
@@ -123,23 +127,37 @@ function useForm({
|
|
|
123
127
|
const setValues = React.useCallback((payload) => {
|
|
124
128
|
_setValues((currentValues) => {
|
|
125
129
|
const valuesPartial = typeof payload === "function" ? payload(currentValues) : payload;
|
|
126
|
-
|
|
130
|
+
const result = __spreadValues(__spreadValues({}, currentValues), valuesPartial);
|
|
131
|
+
onValuesChange == null ? void 0 : onValuesChange(result);
|
|
132
|
+
return result;
|
|
127
133
|
});
|
|
128
134
|
clearInputErrorOnChange && clearErrors();
|
|
129
135
|
}, []);
|
|
130
136
|
const reorderListItem = React.useCallback((path, payload) => {
|
|
131
137
|
clearFieldDirty(path);
|
|
132
|
-
_setValues((current) =>
|
|
138
|
+
_setValues((current) => {
|
|
139
|
+
const result = reorderPath.reorderPath(path, payload, current);
|
|
140
|
+
onValuesChange == null ? void 0 : onValuesChange(result);
|
|
141
|
+
return result;
|
|
142
|
+
});
|
|
133
143
|
_setErrors((errs) => reorderErrors.reorderErrors(path, payload, errs));
|
|
134
144
|
}, []);
|
|
135
145
|
const removeListItem = React.useCallback((path, index) => {
|
|
136
146
|
clearFieldDirty(path);
|
|
137
|
-
_setValues((current) =>
|
|
147
|
+
_setValues((current) => {
|
|
148
|
+
const result = removePath.removePath(path, index, current);
|
|
149
|
+
onValuesChange == null ? void 0 : onValuesChange(result);
|
|
150
|
+
return result;
|
|
151
|
+
});
|
|
138
152
|
_setErrors((errs) => changeErrorIndices.changeErrorIndices(path, index, errs, -1));
|
|
139
153
|
}, []);
|
|
140
154
|
const insertListItem = React.useCallback((path, item, index) => {
|
|
141
155
|
clearFieldDirty(path);
|
|
142
|
-
_setValues((current) =>
|
|
156
|
+
_setValues((current) => {
|
|
157
|
+
const result = insertPath.insertPath(path, item, index, current);
|
|
158
|
+
onValuesChange == null ? void 0 : onValuesChange(result);
|
|
159
|
+
return result;
|
|
160
|
+
});
|
|
143
161
|
_setErrors((errs) => changeErrorIndices.changeErrorIndices(path, index, errs, 1));
|
|
144
162
|
}, []);
|
|
145
163
|
const validate = React.useCallback(() => {
|
|
@@ -215,7 +233,7 @@ function useForm({
|
|
|
215
233
|
(path) => path ? !validateFieldValue.validateFieldValue(path, rules, values).hasError : !validateValues.validateValues(rules, values).hasErrors,
|
|
216
234
|
[values, rules]
|
|
217
235
|
);
|
|
218
|
-
|
|
236
|
+
const form = {
|
|
219
237
|
values,
|
|
220
238
|
errors,
|
|
221
239
|
setValues,
|
|
@@ -243,6 +261,8 @@ function useForm({
|
|
|
243
261
|
isValid,
|
|
244
262
|
getTransformedValues
|
|
245
263
|
};
|
|
264
|
+
actions.useFormActions(name, form);
|
|
265
|
+
return form;
|
|
246
266
|
}
|
|
247
267
|
|
|
248
268
|
exports.useForm = useForm;
|
package/cjs/use-form.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-form.js","sources":["../src/use-form.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\nimport isEqual from 'fast-deep-equal';\nimport { getInputOnChange } from './get-input-on-change';\nimport { getPath, insertPath, removePath, reorderPath, setPath } from './paths';\nimport { filterErrors } from './filter-errors';\nimport { shouldValidateOnChange, validateFieldValue, validateValues } from './validate';\nimport { getStatus } from './get-status';\nimport { changeErrorIndices, clearListState, reorderErrors } from './lists';\nimport {\n _TransformValues,\n ClearErrors,\n ClearFieldDirty,\n ClearFieldError,\n GetFieldStatus,\n GetInputProps,\n GetTransformedValues,\n InsertListItem,\n IsValid,\n OnReset,\n OnSubmit,\n RemoveListItem,\n ReorderListItem,\n Reset,\n ResetDirty,\n SetErrors,\n SetFieldError,\n SetFieldValue,\n SetValues,\n UseFormInput,\n UseFormReturnType,\n Validate,\n ValidateField,\n} from './types';\n\nexport function useForm<\n Values = Record<string, unknown>,\n TransformValues extends _TransformValues<Values> = (values: Values) => Values,\n>({\n initialValues = {} as Values,\n initialErrors = {},\n initialDirty = {},\n initialTouched = {},\n clearInputErrorOnChange = true,\n validateInputOnChange = false,\n validateInputOnBlur = false,\n transformValues = ((values: Values) => values) as any,\n validate: rules,\n}: UseFormInput<Values, TransformValues> = {}): UseFormReturnType<Values, TransformValues> {\n const [touched, setTouched] = useState(initialTouched);\n const [dirty, setDirty] = useState(initialDirty);\n const [values, _setValues] = useState(initialValues);\n const [errors, _setErrors] = useState(filterErrors(initialErrors));\n\n const valuesSnapshot = useRef<Values>(initialValues);\n const setValuesSnapshot = (_values: Values) => {\n valuesSnapshot.current = _values;\n };\n\n const resetTouched = useCallback(() => setTouched({}), []);\n const resetDirty: ResetDirty<Values> = (_values) => {\n const newSnapshot = _values ? { ...values, ..._values } : values;\n setValuesSnapshot(newSnapshot);\n setDirty({});\n };\n\n const setErrors: SetErrors = useCallback(\n (errs) =>\n _setErrors((current) => filterErrors(typeof errs === 'function' ? errs(current) : errs)),\n []\n );\n\n const clearErrors: ClearErrors = useCallback(() => _setErrors({}), []);\n const reset: Reset = useCallback(() => {\n _setValues(initialValues);\n clearErrors();\n setValuesSnapshot(initialValues);\n setDirty({});\n resetTouched();\n }, []);\n\n const setFieldError: SetFieldError<Values> = useCallback(\n (path, error) => setErrors((current) => ({ ...current, [path]: error })),\n []\n );\n\n const clearFieldError: ClearFieldError = useCallback(\n (path) =>\n setErrors((current) => {\n if (typeof path !== 'string') {\n return current;\n }\n\n const clone = { ...current };\n delete clone[path];\n return clone;\n }),\n []\n );\n\n const clearFieldDirty: ClearFieldDirty = useCallback(\n (path) =>\n setDirty((current) => {\n if (typeof path !== 'string') {\n return current;\n }\n\n const result = clearListState(path, current);\n delete result[path];\n return result;\n }),\n []\n );\n\n const setFieldValue: SetFieldValue<Values> = useCallback((path, value) => {\n const shouldValidate = shouldValidateOnChange(path, validateInputOnChange);\n clearFieldDirty(path);\n setTouched((currentTouched) => ({ ...currentTouched, [path]: true }));\n _setValues((current) => {\n const result = setPath(path, value, current);\n\n if (shouldValidate) {\n const validationResults = validateFieldValue(path, rules, result);\n validationResults.hasError\n ? setFieldError(path, validationResults.error)\n : clearFieldError(path);\n }\n\n return result;\n });\n\n !shouldValidate && clearInputErrorOnChange && setFieldError(path, null);\n }, []);\n\n const setValues: SetValues<Values> = useCallback((payload) => {\n _setValues((currentValues) => {\n const valuesPartial = typeof payload === 'function' ? payload(currentValues) : payload;\n return { ...currentValues, ...valuesPartial };\n });\n clearInputErrorOnChange && clearErrors();\n }, []);\n\n const reorderListItem: ReorderListItem<Values> = useCallback((path, payload) => {\n clearFieldDirty(path);\n _setValues((current) => reorderPath(path, payload, current));\n _setErrors((errs) => reorderErrors(path, payload, errs));\n }, []);\n\n const removeListItem: RemoveListItem<Values> = useCallback((path, index) => {\n clearFieldDirty(path);\n _setValues((current) => removePath(path, index, current));\n _setErrors((errs) => changeErrorIndices(path, index, errs, -1));\n }, []);\n\n const insertListItem: InsertListItem<Values> = useCallback((path, item, index) => {\n clearFieldDirty(path);\n _setValues((current) => insertPath(path, item, index, current));\n _setErrors((errs) => changeErrorIndices(path, index, errs, 1));\n }, []);\n\n const validate: Validate = useCallback(() => {\n const results = validateValues(rules, values);\n _setErrors(results.errors);\n return results;\n }, [values, rules]);\n\n const validateField: ValidateField<Values> = useCallback(\n (path) => {\n const results = validateFieldValue(path, rules, values);\n results.hasError ? setFieldError(path, results.error) : clearFieldError(path);\n return results;\n },\n [values, rules]\n );\n\n const getInputProps: GetInputProps<Values> = (\n path,\n { type = 'input', withError = true, withFocus = true } = {}\n ) => {\n const onChange = getInputOnChange((value) => setFieldValue(path, value as any));\n const payload: any = { onChange };\n\n if (withError) {\n payload.error = errors[path];\n }\n\n if (type === 'checkbox') {\n payload.checked = getPath(path, values);\n } else {\n payload.value = getPath(path, values);\n }\n\n if (withFocus) {\n payload.onFocus = () => setTouched((current) => ({ ...current, [path]: true }));\n payload.onBlur = () => {\n if (shouldValidateOnChange(path, validateInputOnBlur)) {\n const validationResults = validateFieldValue(path, rules, values);\n\n validationResults.hasError\n ? setFieldError(path, validationResults.error)\n : clearFieldError(path);\n }\n };\n }\n\n return payload;\n };\n\n const onSubmit: OnSubmit<Values, TransformValues> =\n (handleSubmit, handleValidationFailure) => (event) => {\n event?.preventDefault();\n const results = validate();\n\n if (results.hasErrors) {\n handleValidationFailure?.(results.errors, values, event);\n } else {\n handleSubmit?.(transformValues(values) as any, event);\n }\n };\n\n const getTransformedValues: GetTransformedValues<Values, TransformValues> = (input) =>\n (transformValues as any)(input || values);\n\n const onReset: OnReset = useCallback((event) => {\n event.preventDefault();\n reset();\n }, []);\n\n const isDirty: GetFieldStatus<Values> = (path) => {\n if (path) {\n const overriddenValue = getPath(path, dirty);\n if (typeof overriddenValue === 'boolean') {\n return overriddenValue;\n }\n\n const sliceOfValues = getPath(path, values);\n const sliceOfInitialValues = getPath(path, valuesSnapshot.current);\n return !isEqual(sliceOfValues, sliceOfInitialValues);\n }\n\n const isOverridden = Object.keys(dirty).length > 0;\n if (isOverridden) {\n return getStatus(dirty);\n }\n\n return !isEqual(values, valuesSnapshot.current);\n };\n\n const isTouched: GetFieldStatus<Values> = useCallback(\n (path) => getStatus(touched, path),\n [touched]\n );\n\n const isValid: IsValid<Values> = useCallback(\n (path) =>\n path\n ? !validateFieldValue(path, rules, values).hasError\n : !validateValues(rules, values).hasErrors,\n [values, rules]\n );\n\n return {\n values,\n errors,\n setValues,\n setInitialValues: setValuesSnapshot,\n setErrors,\n setFieldValue,\n setFieldError,\n clearFieldError,\n clearErrors,\n reset,\n validate,\n validateField,\n reorderListItem,\n removeListItem,\n insertListItem,\n getInputProps,\n onSubmit,\n onReset,\n isDirty,\n isTouched,\n setTouched,\n setDirty,\n resetTouched,\n resetDirty,\n isValid,\n getTransformedValues,\n };\n}\n"],"names":["useState","filterErrors","useRef","useCallback","clearListState","shouldValidateOnChange","setPath","validateFieldValue","reorderPath","reorderErrors","removePath","changeErrorIndices","insertPath","validateValues","getInputOnChange","getPath","isEqual","getStatus"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-form.js","sources":["../src/use-form.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\nimport isEqual from 'fast-deep-equal';\nimport { getInputOnChange } from './get-input-on-change';\nimport { getPath, insertPath, removePath, reorderPath, setPath } from './paths';\nimport { filterErrors } from './filter-errors';\nimport { shouldValidateOnChange, validateFieldValue, validateValues } from './validate';\nimport { getStatus } from './get-status';\nimport { changeErrorIndices, clearListState, reorderErrors } from './lists';\nimport { useFormActions } from './actions';\nimport {\n _TransformValues,\n ClearErrors,\n ClearFieldDirty,\n ClearFieldError,\n GetFieldStatus,\n GetInputProps,\n GetTransformedValues,\n InsertListItem,\n IsValid,\n OnReset,\n OnSubmit,\n RemoveListItem,\n ReorderListItem,\n Reset,\n ResetDirty,\n SetErrors,\n SetFieldError,\n SetFieldValue,\n SetValues,\n UseFormInput,\n UseFormReturnType,\n Validate,\n ValidateField,\n} from './types';\n\nexport function useForm<\n Values = Record<string, unknown>,\n TransformValues extends _TransformValues<Values> = (values: Values) => Values,\n>({\n name,\n initialValues = {} as Values,\n initialErrors = {},\n initialDirty = {},\n initialTouched = {},\n clearInputErrorOnChange = true,\n validateInputOnChange = false,\n validateInputOnBlur = false,\n onValuesChange,\n transformValues = ((values: Values) => values) as any,\n validate: rules,\n}: UseFormInput<Values, TransformValues> = {}): UseFormReturnType<Values, TransformValues> {\n const [touched, setTouched] = useState(initialTouched);\n const [dirty, setDirty] = useState(initialDirty);\n const [values, _setValues] = useState(initialValues);\n const [errors, _setErrors] = useState(filterErrors(initialErrors));\n\n const valuesSnapshot = useRef<Values>(initialValues);\n const setValuesSnapshot = (_values: Values) => {\n valuesSnapshot.current = _values;\n };\n\n const resetTouched = useCallback(() => setTouched({}), []);\n const resetDirty: ResetDirty<Values> = (_values) => {\n const newSnapshot = _values ? { ...values, ..._values } : values;\n setValuesSnapshot(newSnapshot);\n setDirty({});\n };\n\n const setErrors: SetErrors = useCallback(\n (errs) =>\n _setErrors((current) => filterErrors(typeof errs === 'function' ? errs(current) : errs)),\n []\n );\n\n const clearErrors: ClearErrors = useCallback(() => _setErrors({}), []);\n const reset: Reset = useCallback(() => {\n _setValues(initialValues);\n clearErrors();\n setValuesSnapshot(initialValues);\n setDirty({});\n resetTouched();\n }, []);\n\n const setFieldError: SetFieldError<Values> = useCallback(\n (path, error) => setErrors((current) => ({ ...current, [path]: error })),\n []\n );\n\n const clearFieldError: ClearFieldError = useCallback(\n (path) =>\n setErrors((current) => {\n if (typeof path !== 'string') {\n return current;\n }\n\n const clone = { ...current };\n delete clone[path];\n return clone;\n }),\n []\n );\n\n const clearFieldDirty: ClearFieldDirty = useCallback(\n (path) =>\n setDirty((current) => {\n if (typeof path !== 'string') {\n return current;\n }\n\n const result = clearListState(path, current);\n delete result[path];\n return result;\n }),\n []\n );\n\n const setFieldValue: SetFieldValue<Values> = useCallback((path, value) => {\n const shouldValidate = shouldValidateOnChange(path, validateInputOnChange);\n clearFieldDirty(path);\n setTouched((currentTouched) => ({ ...currentTouched, [path]: true }));\n _setValues((current) => {\n const result = setPath(path, value, current);\n\n if (shouldValidate) {\n const validationResults = validateFieldValue(path, rules, result);\n validationResults.hasError\n ? setFieldError(path, validationResults.error)\n : clearFieldError(path);\n }\n\n onValuesChange?.(result);\n\n return result;\n });\n\n !shouldValidate && clearInputErrorOnChange && setFieldError(path, null);\n }, []);\n\n const setValues: SetValues<Values> = useCallback((payload) => {\n _setValues((currentValues) => {\n const valuesPartial = typeof payload === 'function' ? payload(currentValues) : payload;\n const result = { ...currentValues, ...valuesPartial };\n onValuesChange?.(result);\n return result;\n });\n clearInputErrorOnChange && clearErrors();\n }, []);\n\n const reorderListItem: ReorderListItem<Values> = useCallback((path, payload) => {\n clearFieldDirty(path);\n _setValues((current) => {\n const result = reorderPath(path, payload, current);\n onValuesChange?.(result);\n return result;\n });\n _setErrors((errs) => reorderErrors(path, payload, errs));\n }, []);\n\n const removeListItem: RemoveListItem<Values> = useCallback((path, index) => {\n clearFieldDirty(path);\n _setValues((current) => {\n const result = removePath(path, index, current);\n onValuesChange?.(result);\n return result;\n });\n _setErrors((errs) => changeErrorIndices(path, index, errs, -1));\n }, []);\n\n const insertListItem: InsertListItem<Values> = useCallback((path, item, index) => {\n clearFieldDirty(path);\n _setValues((current) => {\n const result = insertPath(path, item, index, current);\n onValuesChange?.(result);\n return result;\n });\n _setErrors((errs) => changeErrorIndices(path, index, errs, 1));\n }, []);\n\n const validate: Validate = useCallback(() => {\n const results = validateValues(rules, values);\n _setErrors(results.errors);\n return results;\n }, [values, rules]);\n\n const validateField: ValidateField<Values> = useCallback(\n (path) => {\n const results = validateFieldValue(path, rules, values);\n results.hasError ? setFieldError(path, results.error) : clearFieldError(path);\n return results;\n },\n [values, rules]\n );\n\n const getInputProps: GetInputProps<Values> = (\n path,\n { type = 'input', withError = true, withFocus = true } = {}\n ) => {\n const onChange = getInputOnChange((value) => setFieldValue(path, value as any));\n const payload: any = { onChange };\n\n if (withError) {\n payload.error = errors[path];\n }\n\n if (type === 'checkbox') {\n payload.checked = getPath(path, values);\n } else {\n payload.value = getPath(path, values);\n }\n\n if (withFocus) {\n payload.onFocus = () => setTouched((current) => ({ ...current, [path]: true }));\n payload.onBlur = () => {\n if (shouldValidateOnChange(path, validateInputOnBlur)) {\n const validationResults = validateFieldValue(path, rules, values);\n\n validationResults.hasError\n ? setFieldError(path, validationResults.error)\n : clearFieldError(path);\n }\n };\n }\n\n return payload;\n };\n\n const onSubmit: OnSubmit<Values, TransformValues> =\n (handleSubmit, handleValidationFailure) => (event) => {\n event?.preventDefault();\n const results = validate();\n\n if (results.hasErrors) {\n handleValidationFailure?.(results.errors, values, event);\n } else {\n handleSubmit?.(transformValues(values) as any, event);\n }\n };\n\n const getTransformedValues: GetTransformedValues<Values, TransformValues> = (input) =>\n (transformValues as any)(input || values);\n\n const onReset: OnReset = useCallback((event) => {\n event.preventDefault();\n reset();\n }, []);\n\n const isDirty: GetFieldStatus<Values> = (path) => {\n if (path) {\n const overriddenValue = getPath(path, dirty);\n if (typeof overriddenValue === 'boolean') {\n return overriddenValue;\n }\n\n const sliceOfValues = getPath(path, values);\n const sliceOfInitialValues = getPath(path, valuesSnapshot.current);\n return !isEqual(sliceOfValues, sliceOfInitialValues);\n }\n\n const isOverridden = Object.keys(dirty).length > 0;\n if (isOverridden) {\n return getStatus(dirty);\n }\n\n return !isEqual(values, valuesSnapshot.current);\n };\n\n const isTouched: GetFieldStatus<Values> = useCallback(\n (path) => getStatus(touched, path),\n [touched]\n );\n\n const isValid: IsValid<Values> = useCallback(\n (path) =>\n path\n ? !validateFieldValue(path, rules, values).hasError\n : !validateValues(rules, values).hasErrors,\n [values, rules]\n );\n\n const form: UseFormReturnType<Values, TransformValues> = {\n values,\n errors,\n setValues,\n setInitialValues: setValuesSnapshot,\n setErrors,\n setFieldValue,\n setFieldError,\n clearFieldError,\n clearErrors,\n reset,\n validate,\n validateField,\n reorderListItem,\n removeListItem,\n insertListItem,\n getInputProps,\n onSubmit,\n onReset,\n isDirty,\n isTouched,\n setTouched,\n setDirty,\n resetTouched,\n resetDirty,\n isValid,\n getTransformedValues,\n };\n\n useFormActions(name, form);\n\n return form;\n}\n"],"names":["useState","filterErrors","useRef","useCallback","clearListState","shouldValidateOnChange","setPath","validateFieldValue","reorderPath","reorderErrors","removePath","changeErrorIndices","insertPath","validateValues","getInputOnChange","getPath","isEqual","getStatus","useFormActions"],"mappings":"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"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useLayoutEffect, useEffect } from 'react';
|
|
3
|
+
|
|
4
|
+
function dispatchEvent(type, detail) {
|
|
5
|
+
window.dispatchEvent(new CustomEvent(type, { detail }));
|
|
6
|
+
}
|
|
7
|
+
function validateFormName(name) {
|
|
8
|
+
if (!/^[0-9a-zA-Z-]+$/.test(name)) {
|
|
9
|
+
throw new Error(
|
|
10
|
+
`[@mantine/use-form] Form name "${name}" is invalid, it should contain only letters, numbers and dashes`
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
const useIsomorphicEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect;
|
|
15
|
+
function createFormActions(name) {
|
|
16
|
+
validateFormName(name);
|
|
17
|
+
const setFieldValue = (path, value) => dispatchEvent(`mantine-form:${name}:set-field-value`, { path, value });
|
|
18
|
+
const setValues = (values) => dispatchEvent(`mantine-form:${name}:set-values`, values);
|
|
19
|
+
const setInitialValues = (values) => dispatchEvent(`mantine-form:${name}:set-initial-values`, values);
|
|
20
|
+
const setErrors = (errors) => dispatchEvent(`mantine-form:${name}:set-errors`, errors);
|
|
21
|
+
const setFieldError = (path, error) => dispatchEvent(`mantine-form:${name}:set-field-error`, { path, error });
|
|
22
|
+
const clearFieldError = (path) => dispatchEvent(`mantine-form:${name}:clear-field-error`, path);
|
|
23
|
+
const clearErrors = () => dispatchEvent(`mantine-form:${name}:clear-errors`);
|
|
24
|
+
const reset = () => dispatchEvent(`mantine-form:${name}:reset`);
|
|
25
|
+
const validate = () => dispatchEvent(`mantine-form:${name}:validate`);
|
|
26
|
+
const validateField = (path) => dispatchEvent(`mantine-form:${name}:validate-field`, path);
|
|
27
|
+
const reorderListItem = (path, payload) => dispatchEvent(`mantine-form:${name}:reorder-list-item`, { path, payload });
|
|
28
|
+
const removeListItem = (path, index) => dispatchEvent(`mantine-form:${name}:remove-list-item`, { path, index });
|
|
29
|
+
const insertListItem = (path, item, index) => dispatchEvent(`mantine-form:${name}:insert-list-item`, { path, index, item });
|
|
30
|
+
const setDirty = (value) => dispatchEvent(`mantine-form:${name}:set-dirty`, value);
|
|
31
|
+
const setTouched = (value) => dispatchEvent(`mantine-form:${name}:set-touched`, value);
|
|
32
|
+
const resetDirty = (values) => dispatchEvent(`mantine-form:${name}:reset-dirty`, values);
|
|
33
|
+
const resetTouched = () => dispatchEvent(`mantine-form:${name}:reset-touched`);
|
|
34
|
+
return {
|
|
35
|
+
setFieldValue,
|
|
36
|
+
setValues,
|
|
37
|
+
setInitialValues,
|
|
38
|
+
setErrors,
|
|
39
|
+
setFieldError,
|
|
40
|
+
clearFieldError,
|
|
41
|
+
clearErrors,
|
|
42
|
+
reset,
|
|
43
|
+
validate,
|
|
44
|
+
validateField,
|
|
45
|
+
reorderListItem,
|
|
46
|
+
removeListItem,
|
|
47
|
+
insertListItem,
|
|
48
|
+
setDirty,
|
|
49
|
+
setTouched,
|
|
50
|
+
resetDirty,
|
|
51
|
+
resetTouched
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function useFormEvent(eventKey, handler) {
|
|
55
|
+
useIsomorphicEffect(() => {
|
|
56
|
+
if (eventKey) {
|
|
57
|
+
window.addEventListener(eventKey, handler);
|
|
58
|
+
return () => window.removeEventListener(eventKey, handler);
|
|
59
|
+
}
|
|
60
|
+
return void 0;
|
|
61
|
+
}, [eventKey]);
|
|
62
|
+
}
|
|
63
|
+
function useFormActions(name, form) {
|
|
64
|
+
if (name) {
|
|
65
|
+
validateFormName(name);
|
|
66
|
+
}
|
|
67
|
+
useFormEvent(
|
|
68
|
+
`mantine-form:${name}:set-field-value`,
|
|
69
|
+
(event) => form.setFieldValue(event.detail.path, event.detail.value)
|
|
70
|
+
);
|
|
71
|
+
useFormEvent(
|
|
72
|
+
`mantine-form:${name}:set-values`,
|
|
73
|
+
(event) => form.setValues(event.detail)
|
|
74
|
+
);
|
|
75
|
+
useFormEvent(
|
|
76
|
+
`mantine-form:${name}:set-initial-values`,
|
|
77
|
+
(event) => form.setInitialValues(event.detail)
|
|
78
|
+
);
|
|
79
|
+
useFormEvent(
|
|
80
|
+
`mantine-form:${name}:set-errors`,
|
|
81
|
+
(event) => form.setErrors(event.detail)
|
|
82
|
+
);
|
|
83
|
+
useFormEvent(
|
|
84
|
+
`mantine-form:${name}:set-field-error`,
|
|
85
|
+
(event) => form.setFieldError(event.detail.path, event.detail.error)
|
|
86
|
+
);
|
|
87
|
+
useFormEvent(
|
|
88
|
+
`mantine-form:${name}:clear-field-error`,
|
|
89
|
+
(event) => form.clearFieldError(event.detail)
|
|
90
|
+
);
|
|
91
|
+
useFormEvent(`mantine-form:${name}:clear-errors`, form.clearErrors);
|
|
92
|
+
useFormEvent(`mantine-form:${name}:reset`, form.reset);
|
|
93
|
+
useFormEvent(`mantine-form:${name}:validate`, form.validate);
|
|
94
|
+
useFormEvent(
|
|
95
|
+
`mantine-form:${name}:validate-field`,
|
|
96
|
+
(event) => form.validateField(event.detail)
|
|
97
|
+
);
|
|
98
|
+
useFormEvent(
|
|
99
|
+
`mantine-form:${name}:reorder-list-item`,
|
|
100
|
+
(event) => form.reorderListItem(event.detail.path, event.detail.payload)
|
|
101
|
+
);
|
|
102
|
+
useFormEvent(
|
|
103
|
+
`mantine-form:${name}:remove-list-item`,
|
|
104
|
+
(event) => form.removeListItem(event.detail.path, event.detail.index)
|
|
105
|
+
);
|
|
106
|
+
useFormEvent(
|
|
107
|
+
`mantine-form:${name}:insert-list-item`,
|
|
108
|
+
(event) => form.insertListItem(event.detail.path, event.detail.item, event.detail.index)
|
|
109
|
+
);
|
|
110
|
+
useFormEvent(
|
|
111
|
+
`mantine-form:${name}:set-dirty`,
|
|
112
|
+
(event) => form.setDirty(event.detail)
|
|
113
|
+
);
|
|
114
|
+
useFormEvent(
|
|
115
|
+
`mantine-form:${name}:set-touched`,
|
|
116
|
+
(event) => form.setTouched(event.detail)
|
|
117
|
+
);
|
|
118
|
+
useFormEvent(
|
|
119
|
+
`mantine-form:${name}:reset-dirty`,
|
|
120
|
+
(event) => form.resetDirty(event.detail)
|
|
121
|
+
);
|
|
122
|
+
useFormEvent(`mantine-form:${name}:reset-touched`, form.resetTouched);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export { createFormActions, useFormActions, useIsomorphicEffect };
|
|
126
|
+
//# sourceMappingURL=actions.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.mjs","sources":["../../src/actions/actions.ts"],"sourcesContent":["import { useEffect, useLayoutEffect } from 'react';\nimport type {\n SetFieldValue,\n SetValues,\n SetInitialValues,\n SetErrors,\n SetFieldError,\n ClearFieldError,\n ClearErrors,\n Reset,\n ValidateField,\n RemoveListItem,\n ReorderListItem,\n InsertListItem,\n SetFormStatus,\n ResetDirty,\n ResetStatus,\n UseFormReturnType,\n _TransformValues,\n} from '../types';\n\nfunction dispatchEvent(type: string, detail?: any): any {\n window.dispatchEvent(new CustomEvent(type, { detail }));\n}\n\nfunction validateFormName(name: string) {\n if (!/^[0-9a-zA-Z-]+$/.test(name)) {\n throw new Error(\n `[@mantine/use-form] Form name \"${name}\" is invalid, it should contain only letters, numbers and dashes`\n );\n }\n}\n\nexport const useIsomorphicEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\nexport function createFormActions<FormValues extends Record<string, any> = Record<string, any>>(\n name: string\n) {\n validateFormName(name);\n\n const setFieldValue: SetFieldValue<FormValues> = (path, value) =>\n dispatchEvent(`mantine-form:${name}:set-field-value`, { path, value });\n\n const setValues: SetValues<FormValues> = (values) =>\n dispatchEvent(`mantine-form:${name}:set-values`, values);\n\n const setInitialValues: SetInitialValues<FormValues> = (values) =>\n dispatchEvent(`mantine-form:${name}:set-initial-values`, values);\n\n const setErrors: SetErrors = (errors) => dispatchEvent(`mantine-form:${name}:set-errors`, errors);\n\n const setFieldError: SetFieldError<FormValues> = (path, error) =>\n dispatchEvent(`mantine-form:${name}:set-field-error`, { path, error });\n\n const clearFieldError: ClearFieldError = (path) =>\n dispatchEvent(`mantine-form:${name}:clear-field-error`, path);\n\n const clearErrors: ClearErrors = () => dispatchEvent(`mantine-form:${name}:clear-errors`);\n\n const reset: Reset = () => dispatchEvent(`mantine-form:${name}:reset`);\n\n const validate: () => void = () => dispatchEvent(`mantine-form:${name}:validate`);\n\n const validateField: ValidateField<FormValues> = (path) =>\n dispatchEvent(`mantine-form:${name}:validate-field`, path);\n\n const reorderListItem: ReorderListItem<FormValues> = (path, payload) =>\n dispatchEvent(`mantine-form:${name}:reorder-list-item`, { path, payload });\n\n const removeListItem: RemoveListItem<FormValues> = (path, index) =>\n dispatchEvent(`mantine-form:${name}:remove-list-item`, { path, index });\n\n const insertListItem: InsertListItem<FormValues> = (path, item, index) =>\n dispatchEvent(`mantine-form:${name}:insert-list-item`, { path, index, item });\n\n const setDirty: SetFormStatus = (value) => dispatchEvent(`mantine-form:${name}:set-dirty`, value);\n\n const setTouched: SetFormStatus = (value) =>\n dispatchEvent(`mantine-form:${name}:set-touched`, value);\n\n const resetDirty: ResetDirty<FormValues> = (values) =>\n dispatchEvent(`mantine-form:${name}:reset-dirty`, values);\n\n const resetTouched: ResetStatus = () => dispatchEvent(`mantine-form:${name}:reset-touched`);\n\n return {\n setFieldValue,\n setValues,\n setInitialValues,\n setErrors,\n setFieldError,\n clearFieldError,\n clearErrors,\n reset,\n validate,\n validateField,\n reorderListItem,\n removeListItem,\n insertListItem,\n setDirty,\n setTouched,\n resetDirty,\n resetTouched,\n };\n}\n\nfunction useFormEvent(eventKey: string | undefined, handler: Function) {\n useIsomorphicEffect(() => {\n if (eventKey) {\n window.addEventListener(eventKey, handler as any);\n return () => window.removeEventListener(eventKey, handler as any);\n }\n return undefined;\n }, [eventKey]);\n}\n\nexport function useFormActions<\n Values = Record<string, unknown>,\n TransformValues extends _TransformValues<Values> = (values: Values) => Values,\n>(name: string | undefined, form: UseFormReturnType<Values, TransformValues>) {\n if (name) {\n validateFormName(name);\n }\n\n useFormEvent(`mantine-form:${name}:set-field-value`, (event: CustomEvent) =>\n form.setFieldValue(event.detail.path, event.detail.value)\n );\n\n useFormEvent(`mantine-form:${name}:set-values`, (event: CustomEvent) =>\n form.setValues(event.detail)\n );\n\n useFormEvent(`mantine-form:${name}:set-initial-values`, (event: CustomEvent) =>\n form.setInitialValues(event.detail)\n );\n\n useFormEvent(`mantine-form:${name}:set-errors`, (event: CustomEvent) =>\n form.setErrors(event.detail)\n );\n\n useFormEvent(`mantine-form:${name}:set-field-error`, (event: CustomEvent) =>\n form.setFieldError(event.detail.path, event.detail.error)\n );\n\n useFormEvent(`mantine-form:${name}:clear-field-error`, (event: CustomEvent) =>\n form.clearFieldError(event.detail)\n );\n\n useFormEvent(`mantine-form:${name}:clear-errors`, form.clearErrors);\n useFormEvent(`mantine-form:${name}:reset`, form.reset);\n useFormEvent(`mantine-form:${name}:validate`, form.validate);\n\n useFormEvent(`mantine-form:${name}:validate-field`, (event: CustomEvent) =>\n form.validateField(event.detail)\n );\n\n useFormEvent(`mantine-form:${name}:reorder-list-item`, (event: CustomEvent) =>\n form.reorderListItem(event.detail.path, event.detail.payload)\n );\n\n useFormEvent(`mantine-form:${name}:remove-list-item`, (event: CustomEvent) =>\n form.removeListItem(event.detail.path, event.detail.index)\n );\n\n useFormEvent(`mantine-form:${name}:insert-list-item`, (event: CustomEvent) =>\n form.insertListItem(event.detail.path, event.detail.item, event.detail.index)\n );\n\n useFormEvent(`mantine-form:${name}:set-dirty`, (event: CustomEvent) =>\n form.setDirty(event.detail)\n );\n\n useFormEvent(`mantine-form:${name}:set-touched`, (event: CustomEvent) =>\n form.setTouched(event.detail)\n );\n\n useFormEvent(`mantine-form:${name}:reset-dirty`, (event: CustomEvent) =>\n form.resetDirty(event.detail)\n );\n\n useFormEvent(`mantine-form:${name}:reset-touched`, form.resetTouched);\n}\n"],"names":[],"mappings":"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"}
|
package/esm/index.mjs
CHANGED
|
@@ -6,6 +6,7 @@ export { zodResolver } from './resolvers/zod-resolver/zod-resolver.mjs';
|
|
|
6
6
|
export { superstructResolver } from './resolvers/superstruct-resolver/superstruct-resolver.mjs';
|
|
7
7
|
export { yupResolver } from './resolvers/yup-resolver/yup-resolver.mjs';
|
|
8
8
|
export { joiResolver } from './resolvers/joi-resolver/joi-resolver.mjs';
|
|
9
|
+
export { createFormActions } from './actions/actions.mjs';
|
|
9
10
|
export { isNotEmpty } from './validators/is-not-empty/is-not-empty.mjs';
|
|
10
11
|
export { matches } from './validators/matches/matches.mjs';
|
|
11
12
|
export { isEmail } from './validators/is-email/is-email.mjs';
|
package/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
|
package/esm/use-form.mjs
CHANGED
|
@@ -13,6 +13,7 @@ import { changeErrorIndices } from './lists/change-error-indices.mjs';
|
|
|
13
13
|
import { insertPath } from './paths/insert-path.mjs';
|
|
14
14
|
import { validateValues } from './validate/validate-values.mjs';
|
|
15
15
|
import { getStatus } from './get-status/get-status.mjs';
|
|
16
|
+
import { useFormActions } from './actions/actions.mjs';
|
|
16
17
|
import { getPath } from './paths/get-path.mjs';
|
|
17
18
|
import { getInputOnChange } from './get-input-on-change/get-input-on-change.mjs';
|
|
18
19
|
|
|
@@ -36,6 +37,7 @@ var __spreadValues = (a, b) => {
|
|
|
36
37
|
};
|
|
37
38
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
38
39
|
function useForm({
|
|
40
|
+
name,
|
|
39
41
|
initialValues = {},
|
|
40
42
|
initialErrors = {},
|
|
41
43
|
initialDirty = {},
|
|
@@ -43,6 +45,7 @@ function useForm({
|
|
|
43
45
|
clearInputErrorOnChange = true,
|
|
44
46
|
validateInputOnChange = false,
|
|
45
47
|
validateInputOnBlur = false,
|
|
48
|
+
onValuesChange,
|
|
46
49
|
transformValues = (values) => values,
|
|
47
50
|
validate: rules
|
|
48
51
|
} = {}) {
|
|
@@ -108,6 +111,7 @@ function useForm({
|
|
|
108
111
|
const validationResults = validateFieldValue(path, rules, result);
|
|
109
112
|
validationResults.hasError ? setFieldError(path, validationResults.error) : clearFieldError(path);
|
|
110
113
|
}
|
|
114
|
+
onValuesChange == null ? void 0 : onValuesChange(result);
|
|
111
115
|
return result;
|
|
112
116
|
});
|
|
113
117
|
!shouldValidate && clearInputErrorOnChange && setFieldError(path, null);
|
|
@@ -115,23 +119,37 @@ function useForm({
|
|
|
115
119
|
const setValues = useCallback((payload) => {
|
|
116
120
|
_setValues((currentValues) => {
|
|
117
121
|
const valuesPartial = typeof payload === "function" ? payload(currentValues) : payload;
|
|
118
|
-
|
|
122
|
+
const result = __spreadValues(__spreadValues({}, currentValues), valuesPartial);
|
|
123
|
+
onValuesChange == null ? void 0 : onValuesChange(result);
|
|
124
|
+
return result;
|
|
119
125
|
});
|
|
120
126
|
clearInputErrorOnChange && clearErrors();
|
|
121
127
|
}, []);
|
|
122
128
|
const reorderListItem = useCallback((path, payload) => {
|
|
123
129
|
clearFieldDirty(path);
|
|
124
|
-
_setValues((current) =>
|
|
130
|
+
_setValues((current) => {
|
|
131
|
+
const result = reorderPath(path, payload, current);
|
|
132
|
+
onValuesChange == null ? void 0 : onValuesChange(result);
|
|
133
|
+
return result;
|
|
134
|
+
});
|
|
125
135
|
_setErrors((errs) => reorderErrors(path, payload, errs));
|
|
126
136
|
}, []);
|
|
127
137
|
const removeListItem = useCallback((path, index) => {
|
|
128
138
|
clearFieldDirty(path);
|
|
129
|
-
_setValues((current) =>
|
|
139
|
+
_setValues((current) => {
|
|
140
|
+
const result = removePath(path, index, current);
|
|
141
|
+
onValuesChange == null ? void 0 : onValuesChange(result);
|
|
142
|
+
return result;
|
|
143
|
+
});
|
|
130
144
|
_setErrors((errs) => changeErrorIndices(path, index, errs, -1));
|
|
131
145
|
}, []);
|
|
132
146
|
const insertListItem = useCallback((path, item, index) => {
|
|
133
147
|
clearFieldDirty(path);
|
|
134
|
-
_setValues((current) =>
|
|
148
|
+
_setValues((current) => {
|
|
149
|
+
const result = insertPath(path, item, index, current);
|
|
150
|
+
onValuesChange == null ? void 0 : onValuesChange(result);
|
|
151
|
+
return result;
|
|
152
|
+
});
|
|
135
153
|
_setErrors((errs) => changeErrorIndices(path, index, errs, 1));
|
|
136
154
|
}, []);
|
|
137
155
|
const validate = useCallback(() => {
|
|
@@ -207,7 +225,7 @@ function useForm({
|
|
|
207
225
|
(path) => path ? !validateFieldValue(path, rules, values).hasError : !validateValues(rules, values).hasErrors,
|
|
208
226
|
[values, rules]
|
|
209
227
|
);
|
|
210
|
-
|
|
228
|
+
const form = {
|
|
211
229
|
values,
|
|
212
230
|
errors,
|
|
213
231
|
setValues,
|
|
@@ -235,6 +253,8 @@ function useForm({
|
|
|
235
253
|
isValid,
|
|
236
254
|
getTransformedValues
|
|
237
255
|
};
|
|
256
|
+
useFormActions(name, form);
|
|
257
|
+
return form;
|
|
238
258
|
}
|
|
239
259
|
|
|
240
260
|
export { useForm };
|
package/esm/use-form.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-form.mjs","sources":["../src/use-form.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\nimport isEqual from 'fast-deep-equal';\nimport { getInputOnChange } from './get-input-on-change';\nimport { getPath, insertPath, removePath, reorderPath, setPath } from './paths';\nimport { filterErrors } from './filter-errors';\nimport { shouldValidateOnChange, validateFieldValue, validateValues } from './validate';\nimport { getStatus } from './get-status';\nimport { changeErrorIndices, clearListState, reorderErrors } from './lists';\nimport {\n _TransformValues,\n ClearErrors,\n ClearFieldDirty,\n ClearFieldError,\n GetFieldStatus,\n GetInputProps,\n GetTransformedValues,\n InsertListItem,\n IsValid,\n OnReset,\n OnSubmit,\n RemoveListItem,\n ReorderListItem,\n Reset,\n ResetDirty,\n SetErrors,\n SetFieldError,\n SetFieldValue,\n SetValues,\n UseFormInput,\n UseFormReturnType,\n Validate,\n ValidateField,\n} from './types';\n\nexport function useForm<\n Values = Record<string, unknown>,\n TransformValues extends _TransformValues<Values> = (values: Values) => Values,\n>({\n initialValues = {} as Values,\n initialErrors = {},\n initialDirty = {},\n initialTouched = {},\n clearInputErrorOnChange = true,\n validateInputOnChange = false,\n validateInputOnBlur = false,\n transformValues = ((values: Values) => values) as any,\n validate: rules,\n}: UseFormInput<Values, TransformValues> = {}): UseFormReturnType<Values, TransformValues> {\n const [touched, setTouched] = useState(initialTouched);\n const [dirty, setDirty] = useState(initialDirty);\n const [values, _setValues] = useState(initialValues);\n const [errors, _setErrors] = useState(filterErrors(initialErrors));\n\n const valuesSnapshot = useRef<Values>(initialValues);\n const setValuesSnapshot = (_values: Values) => {\n valuesSnapshot.current = _values;\n };\n\n const resetTouched = useCallback(() => setTouched({}), []);\n const resetDirty: ResetDirty<Values> = (_values) => {\n const newSnapshot = _values ? { ...values, ..._values } : values;\n setValuesSnapshot(newSnapshot);\n setDirty({});\n };\n\n const setErrors: SetErrors = useCallback(\n (errs) =>\n _setErrors((current) => filterErrors(typeof errs === 'function' ? errs(current) : errs)),\n []\n );\n\n const clearErrors: ClearErrors = useCallback(() => _setErrors({}), []);\n const reset: Reset = useCallback(() => {\n _setValues(initialValues);\n clearErrors();\n setValuesSnapshot(initialValues);\n setDirty({});\n resetTouched();\n }, []);\n\n const setFieldError: SetFieldError<Values> = useCallback(\n (path, error) => setErrors((current) => ({ ...current, [path]: error })),\n []\n );\n\n const clearFieldError: ClearFieldError = useCallback(\n (path) =>\n setErrors((current) => {\n if (typeof path !== 'string') {\n return current;\n }\n\n const clone = { ...current };\n delete clone[path];\n return clone;\n }),\n []\n );\n\n const clearFieldDirty: ClearFieldDirty = useCallback(\n (path) =>\n setDirty((current) => {\n if (typeof path !== 'string') {\n return current;\n }\n\n const result = clearListState(path, current);\n delete result[path];\n return result;\n }),\n []\n );\n\n const setFieldValue: SetFieldValue<Values> = useCallback((path, value) => {\n const shouldValidate = shouldValidateOnChange(path, validateInputOnChange);\n clearFieldDirty(path);\n setTouched((currentTouched) => ({ ...currentTouched, [path]: true }));\n _setValues((current) => {\n const result = setPath(path, value, current);\n\n if (shouldValidate) {\n const validationResults = validateFieldValue(path, rules, result);\n validationResults.hasError\n ? setFieldError(path, validationResults.error)\n : clearFieldError(path);\n }\n\n return result;\n });\n\n !shouldValidate && clearInputErrorOnChange && setFieldError(path, null);\n }, []);\n\n const setValues: SetValues<Values> = useCallback((payload) => {\n _setValues((currentValues) => {\n const valuesPartial = typeof payload === 'function' ? payload(currentValues) : payload;\n return { ...currentValues, ...valuesPartial };\n });\n clearInputErrorOnChange && clearErrors();\n }, []);\n\n const reorderListItem: ReorderListItem<Values> = useCallback((path, payload) => {\n clearFieldDirty(path);\n _setValues((current) => reorderPath(path, payload, current));\n _setErrors((errs) => reorderErrors(path, payload, errs));\n }, []);\n\n const removeListItem: RemoveListItem<Values> = useCallback((path, index) => {\n clearFieldDirty(path);\n _setValues((current) => removePath(path, index, current));\n _setErrors((errs) => changeErrorIndices(path, index, errs, -1));\n }, []);\n\n const insertListItem: InsertListItem<Values> = useCallback((path, item, index) => {\n clearFieldDirty(path);\n _setValues((current) => insertPath(path, item, index, current));\n _setErrors((errs) => changeErrorIndices(path, index, errs, 1));\n }, []);\n\n const validate: Validate = useCallback(() => {\n const results = validateValues(rules, values);\n _setErrors(results.errors);\n return results;\n }, [values, rules]);\n\n const validateField: ValidateField<Values> = useCallback(\n (path) => {\n const results = validateFieldValue(path, rules, values);\n results.hasError ? setFieldError(path, results.error) : clearFieldError(path);\n return results;\n },\n [values, rules]\n );\n\n const getInputProps: GetInputProps<Values> = (\n path,\n { type = 'input', withError = true, withFocus = true } = {}\n ) => {\n const onChange = getInputOnChange((value) => setFieldValue(path, value as any));\n const payload: any = { onChange };\n\n if (withError) {\n payload.error = errors[path];\n }\n\n if (type === 'checkbox') {\n payload.checked = getPath(path, values);\n } else {\n payload.value = getPath(path, values);\n }\n\n if (withFocus) {\n payload.onFocus = () => setTouched((current) => ({ ...current, [path]: true }));\n payload.onBlur = () => {\n if (shouldValidateOnChange(path, validateInputOnBlur)) {\n const validationResults = validateFieldValue(path, rules, values);\n\n validationResults.hasError\n ? setFieldError(path, validationResults.error)\n : clearFieldError(path);\n }\n };\n }\n\n return payload;\n };\n\n const onSubmit: OnSubmit<Values, TransformValues> =\n (handleSubmit, handleValidationFailure) => (event) => {\n event?.preventDefault();\n const results = validate();\n\n if (results.hasErrors) {\n handleValidationFailure?.(results.errors, values, event);\n } else {\n handleSubmit?.(transformValues(values) as any, event);\n }\n };\n\n const getTransformedValues: GetTransformedValues<Values, TransformValues> = (input) =>\n (transformValues as any)(input || values);\n\n const onReset: OnReset = useCallback((event) => {\n event.preventDefault();\n reset();\n }, []);\n\n const isDirty: GetFieldStatus<Values> = (path) => {\n if (path) {\n const overriddenValue = getPath(path, dirty);\n if (typeof overriddenValue === 'boolean') {\n return overriddenValue;\n }\n\n const sliceOfValues = getPath(path, values);\n const sliceOfInitialValues = getPath(path, valuesSnapshot.current);\n return !isEqual(sliceOfValues, sliceOfInitialValues);\n }\n\n const isOverridden = Object.keys(dirty).length > 0;\n if (isOverridden) {\n return getStatus(dirty);\n }\n\n return !isEqual(values, valuesSnapshot.current);\n };\n\n const isTouched: GetFieldStatus<Values> = useCallback(\n (path) => getStatus(touched, path),\n [touched]\n );\n\n const isValid: IsValid<Values> = useCallback(\n (path) =>\n path\n ? !validateFieldValue(path, rules, values).hasError\n : !validateValues(rules, values).hasErrors,\n [values, rules]\n );\n\n return {\n values,\n errors,\n setValues,\n setInitialValues: setValuesSnapshot,\n setErrors,\n setFieldValue,\n setFieldError,\n clearFieldError,\n clearErrors,\n reset,\n validate,\n validateField,\n reorderListItem,\n removeListItem,\n insertListItem,\n getInputProps,\n onSubmit,\n onReset,\n isDirty,\n isTouched,\n setTouched,\n setDirty,\n resetTouched,\n resetDirty,\n isValid,\n getTransformedValues,\n };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-form.mjs","sources":["../src/use-form.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\nimport isEqual from 'fast-deep-equal';\nimport { getInputOnChange } from './get-input-on-change';\nimport { getPath, insertPath, removePath, reorderPath, setPath } from './paths';\nimport { filterErrors } from './filter-errors';\nimport { shouldValidateOnChange, validateFieldValue, validateValues } from './validate';\nimport { getStatus } from './get-status';\nimport { changeErrorIndices, clearListState, reorderErrors } from './lists';\nimport { useFormActions } from './actions';\nimport {\n _TransformValues,\n ClearErrors,\n ClearFieldDirty,\n ClearFieldError,\n GetFieldStatus,\n GetInputProps,\n GetTransformedValues,\n InsertListItem,\n IsValid,\n OnReset,\n OnSubmit,\n RemoveListItem,\n ReorderListItem,\n Reset,\n ResetDirty,\n SetErrors,\n SetFieldError,\n SetFieldValue,\n SetValues,\n UseFormInput,\n UseFormReturnType,\n Validate,\n ValidateField,\n} from './types';\n\nexport function useForm<\n Values = Record<string, unknown>,\n TransformValues extends _TransformValues<Values> = (values: Values) => Values,\n>({\n name,\n initialValues = {} as Values,\n initialErrors = {},\n initialDirty = {},\n initialTouched = {},\n clearInputErrorOnChange = true,\n validateInputOnChange = false,\n validateInputOnBlur = false,\n onValuesChange,\n transformValues = ((values: Values) => values) as any,\n validate: rules,\n}: UseFormInput<Values, TransformValues> = {}): UseFormReturnType<Values, TransformValues> {\n const [touched, setTouched] = useState(initialTouched);\n const [dirty, setDirty] = useState(initialDirty);\n const [values, _setValues] = useState(initialValues);\n const [errors, _setErrors] = useState(filterErrors(initialErrors));\n\n const valuesSnapshot = useRef<Values>(initialValues);\n const setValuesSnapshot = (_values: Values) => {\n valuesSnapshot.current = _values;\n };\n\n const resetTouched = useCallback(() => setTouched({}), []);\n const resetDirty: ResetDirty<Values> = (_values) => {\n const newSnapshot = _values ? { ...values, ..._values } : values;\n setValuesSnapshot(newSnapshot);\n setDirty({});\n };\n\n const setErrors: SetErrors = useCallback(\n (errs) =>\n _setErrors((current) => filterErrors(typeof errs === 'function' ? errs(current) : errs)),\n []\n );\n\n const clearErrors: ClearErrors = useCallback(() => _setErrors({}), []);\n const reset: Reset = useCallback(() => {\n _setValues(initialValues);\n clearErrors();\n setValuesSnapshot(initialValues);\n setDirty({});\n resetTouched();\n }, []);\n\n const setFieldError: SetFieldError<Values> = useCallback(\n (path, error) => setErrors((current) => ({ ...current, [path]: error })),\n []\n );\n\n const clearFieldError: ClearFieldError = useCallback(\n (path) =>\n setErrors((current) => {\n if (typeof path !== 'string') {\n return current;\n }\n\n const clone = { ...current };\n delete clone[path];\n return clone;\n }),\n []\n );\n\n const clearFieldDirty: ClearFieldDirty = useCallback(\n (path) =>\n setDirty((current) => {\n if (typeof path !== 'string') {\n return current;\n }\n\n const result = clearListState(path, current);\n delete result[path];\n return result;\n }),\n []\n );\n\n const setFieldValue: SetFieldValue<Values> = useCallback((path, value) => {\n const shouldValidate = shouldValidateOnChange(path, validateInputOnChange);\n clearFieldDirty(path);\n setTouched((currentTouched) => ({ ...currentTouched, [path]: true }));\n _setValues((current) => {\n const result = setPath(path, value, current);\n\n if (shouldValidate) {\n const validationResults = validateFieldValue(path, rules, result);\n validationResults.hasError\n ? setFieldError(path, validationResults.error)\n : clearFieldError(path);\n }\n\n onValuesChange?.(result);\n\n return result;\n });\n\n !shouldValidate && clearInputErrorOnChange && setFieldError(path, null);\n }, []);\n\n const setValues: SetValues<Values> = useCallback((payload) => {\n _setValues((currentValues) => {\n const valuesPartial = typeof payload === 'function' ? payload(currentValues) : payload;\n const result = { ...currentValues, ...valuesPartial };\n onValuesChange?.(result);\n return result;\n });\n clearInputErrorOnChange && clearErrors();\n }, []);\n\n const reorderListItem: ReorderListItem<Values> = useCallback((path, payload) => {\n clearFieldDirty(path);\n _setValues((current) => {\n const result = reorderPath(path, payload, current);\n onValuesChange?.(result);\n return result;\n });\n _setErrors((errs) => reorderErrors(path, payload, errs));\n }, []);\n\n const removeListItem: RemoveListItem<Values> = useCallback((path, index) => {\n clearFieldDirty(path);\n _setValues((current) => {\n const result = removePath(path, index, current);\n onValuesChange?.(result);\n return result;\n });\n _setErrors((errs) => changeErrorIndices(path, index, errs, -1));\n }, []);\n\n const insertListItem: InsertListItem<Values> = useCallback((path, item, index) => {\n clearFieldDirty(path);\n _setValues((current) => {\n const result = insertPath(path, item, index, current);\n onValuesChange?.(result);\n return result;\n });\n _setErrors((errs) => changeErrorIndices(path, index, errs, 1));\n }, []);\n\n const validate: Validate = useCallback(() => {\n const results = validateValues(rules, values);\n _setErrors(results.errors);\n return results;\n }, [values, rules]);\n\n const validateField: ValidateField<Values> = useCallback(\n (path) => {\n const results = validateFieldValue(path, rules, values);\n results.hasError ? setFieldError(path, results.error) : clearFieldError(path);\n return results;\n },\n [values, rules]\n );\n\n const getInputProps: GetInputProps<Values> = (\n path,\n { type = 'input', withError = true, withFocus = true } = {}\n ) => {\n const onChange = getInputOnChange((value) => setFieldValue(path, value as any));\n const payload: any = { onChange };\n\n if (withError) {\n payload.error = errors[path];\n }\n\n if (type === 'checkbox') {\n payload.checked = getPath(path, values);\n } else {\n payload.value = getPath(path, values);\n }\n\n if (withFocus) {\n payload.onFocus = () => setTouched((current) => ({ ...current, [path]: true }));\n payload.onBlur = () => {\n if (shouldValidateOnChange(path, validateInputOnBlur)) {\n const validationResults = validateFieldValue(path, rules, values);\n\n validationResults.hasError\n ? setFieldError(path, validationResults.error)\n : clearFieldError(path);\n }\n };\n }\n\n return payload;\n };\n\n const onSubmit: OnSubmit<Values, TransformValues> =\n (handleSubmit, handleValidationFailure) => (event) => {\n event?.preventDefault();\n const results = validate();\n\n if (results.hasErrors) {\n handleValidationFailure?.(results.errors, values, event);\n } else {\n handleSubmit?.(transformValues(values) as any, event);\n }\n };\n\n const getTransformedValues: GetTransformedValues<Values, TransformValues> = (input) =>\n (transformValues as any)(input || values);\n\n const onReset: OnReset = useCallback((event) => {\n event.preventDefault();\n reset();\n }, []);\n\n const isDirty: GetFieldStatus<Values> = (path) => {\n if (path) {\n const overriddenValue = getPath(path, dirty);\n if (typeof overriddenValue === 'boolean') {\n return overriddenValue;\n }\n\n const sliceOfValues = getPath(path, values);\n const sliceOfInitialValues = getPath(path, valuesSnapshot.current);\n return !isEqual(sliceOfValues, sliceOfInitialValues);\n }\n\n const isOverridden = Object.keys(dirty).length > 0;\n if (isOverridden) {\n return getStatus(dirty);\n }\n\n return !isEqual(values, valuesSnapshot.current);\n };\n\n const isTouched: GetFieldStatus<Values> = useCallback(\n (path) => getStatus(touched, path),\n [touched]\n );\n\n const isValid: IsValid<Values> = useCallback(\n (path) =>\n path\n ? !validateFieldValue(path, rules, values).hasError\n : !validateValues(rules, values).hasErrors,\n [values, rules]\n );\n\n const form: UseFormReturnType<Values, TransformValues> = {\n values,\n errors,\n setValues,\n setInitialValues: setValuesSnapshot,\n setErrors,\n setFieldValue,\n setFieldError,\n clearFieldError,\n clearErrors,\n reset,\n validate,\n validateField,\n reorderListItem,\n removeListItem,\n insertListItem,\n getInputProps,\n onSubmit,\n onReset,\n isDirty,\n isTouched,\n setTouched,\n setDirty,\n resetTouched,\n resetDirty,\n isValid,\n getTransformedValues,\n };\n\n useFormActions(name, form);\n\n return form;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { useLayoutEffect } from 'react';
|
|
2
|
+
import type { SetFieldValue, SetValues, SetInitialValues, SetErrors, SetFieldError, ClearFieldError, ClearErrors, Reset, ValidateField, RemoveListItem, ReorderListItem, InsertListItem, SetFormStatus, ResetDirty, ResetStatus, UseFormReturnType, _TransformValues } from '../types';
|
|
3
|
+
export declare const useIsomorphicEffect: typeof useLayoutEffect;
|
|
4
|
+
export declare function createFormActions<FormValues extends Record<string, any> = Record<string, any>>(name: string): {
|
|
5
|
+
setFieldValue: SetFieldValue<FormValues>;
|
|
6
|
+
setValues: SetValues<FormValues>;
|
|
7
|
+
setInitialValues: SetInitialValues<FormValues>;
|
|
8
|
+
setErrors: SetErrors;
|
|
9
|
+
setFieldError: SetFieldError<FormValues>;
|
|
10
|
+
clearFieldError: ClearFieldError;
|
|
11
|
+
clearErrors: ClearErrors;
|
|
12
|
+
reset: Reset;
|
|
13
|
+
validate: () => void;
|
|
14
|
+
validateField: ValidateField<FormValues>;
|
|
15
|
+
reorderListItem: ReorderListItem<FormValues>;
|
|
16
|
+
removeListItem: RemoveListItem<FormValues>;
|
|
17
|
+
insertListItem: InsertListItem<FormValues>;
|
|
18
|
+
setDirty: SetFormStatus;
|
|
19
|
+
setTouched: SetFormStatus;
|
|
20
|
+
resetDirty: ResetDirty<FormValues>;
|
|
21
|
+
resetTouched: ResetStatus;
|
|
22
|
+
};
|
|
23
|
+
export declare function useFormActions<Values = Record<string, unknown>, TransformValues extends _TransformValues<Values> = (values: Values) => Values>(name: string | undefined, form: UseFormReturnType<Values, TransformValues>): void;
|
|
24
|
+
//# sourceMappingURL=actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/actions/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,eAAe,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,eAAe,EACf,WAAW,EACX,KAAK,EACL,aAAa,EACb,cAAc,EACd,eAAe,EACf,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAclB,eAAO,MAAM,mBAAmB,wBAA8D,CAAC;AAE/F,wBAAgB,iBAAiB,CAAC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5F,IAAI,EAAE,MAAM;;;;;;;;;oBAyBU,IAAI;;;;;;;;;EA2C3B;AAYD,wBAAgB,cAAc,CAC5B,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,eAAe,SAAS,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,EAC7E,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,iBAAiB,CAAC,MAAM,EAAE,eAAe,CAAC,QA8D3E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
|
package/lib/index.d.mts
CHANGED
package/lib/index.d.ts
CHANGED
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAEpE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAEpE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
|
package/lib/types.d.ts
CHANGED
|
@@ -59,6 +59,7 @@ export type ResetDirty<Values> = (values?: Values) => void;
|
|
|
59
59
|
export type IsValid<Values> = <Field extends LooseKeys<Values>>(path?: Field) => boolean;
|
|
60
60
|
export type _TransformValues<Values> = (values: Values) => unknown;
|
|
61
61
|
export interface UseFormInput<Values, TransformValues extends _TransformValues<Values> = (values: Values) => Values> {
|
|
62
|
+
name?: string;
|
|
62
63
|
initialValues?: Values;
|
|
63
64
|
initialErrors?: FormErrors;
|
|
64
65
|
initialTouched?: FormStatus;
|
|
@@ -68,6 +69,7 @@ export interface UseFormInput<Values, TransformValues extends _TransformValues<V
|
|
|
68
69
|
clearInputErrorOnChange?: boolean;
|
|
69
70
|
validateInputOnChange?: boolean | LooseKeys<Values>[];
|
|
70
71
|
validateInputOnBlur?: boolean | LooseKeys<Values>[];
|
|
72
|
+
onValuesChange?: (values: Values) => void;
|
|
71
73
|
}
|
|
72
74
|
export interface UseFormReturnType<Values, TransformValues extends _TransformValues<Values> = (values: Values) => Values> {
|
|
73
75
|
values: Values;
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/lib/use-form.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { _TransformValues, UseFormInput, UseFormReturnType } from './types';
|
|
2
|
-
export declare function useForm<Values = Record<string, unknown>, TransformValues extends _TransformValues<Values> = (values: Values) => Values>({ initialValues, initialErrors, initialDirty, initialTouched, clearInputErrorOnChange, validateInputOnChange, validateInputOnBlur, transformValues, validate: rules, }?: UseFormInput<Values, TransformValues>): UseFormReturnType<Values, TransformValues>;
|
|
2
|
+
export declare function useForm<Values = Record<string, unknown>, TransformValues extends _TransformValues<Values> = (values: Values) => Values>({ name, initialValues, initialErrors, initialDirty, initialTouched, clearInputErrorOnChange, validateInputOnChange, validateInputOnBlur, onValuesChange, transformValues, validate: rules, }?: UseFormInput<Values, TransformValues>): UseFormReturnType<Values, TransformValues>;
|
|
3
3
|
//# sourceMappingURL=use-form.d.ts.map
|
package/lib/use-form.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["../src/use-form.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["../src/use-form.ts"],"names":[],"mappings":"AASA,OAAO,EACL,gBAAgB,EAmBhB,YAAY,EACZ,iBAAiB,EAGlB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,OAAO,CACrB,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,eAAe,SAAS,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,EAC7E,EACA,IAAI,EACJ,aAA4B,EAC5B,aAAkB,EAClB,YAAiB,EACjB,cAAmB,EACnB,uBAA8B,EAC9B,qBAA6B,EAC7B,mBAA2B,EAC3B,cAAc,EACd,eAAqD,EACrD,QAAQ,EAAE,KAAK,GAChB,GAAE,YAAY,CAAC,MAAM,EAAE,eAAe,CAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,eAAe,CAAC,CAqQzF"}
|