@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.
@@ -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
- return __spreadValues(__spreadValues({}, currentValues), valuesPartial);
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) => reorderPath.reorderPath(path, payload, 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) => removePath.removePath(path, index, 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) => insertPath.insertPath(path, item, index, 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
- return {
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;
@@ -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
- return __spreadValues(__spreadValues({}, currentValues), valuesPartial);
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) => reorderPath(path, payload, 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) => removePath(path, index, 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) => insertPath(path, item, index, 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
- return {
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 };
@@ -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,2 @@
1
+ export { createFormActions, useFormActions } from './actions';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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
@@ -1,5 +1,6 @@
1
1
  export { useForm } from './use-form';
2
2
  export { createFormContext } from './FormProvider/FormProvider';
3
+ export { createFormActions } from './actions';
3
4
  export { Form } from './Form/Form';
4
5
  export { FORM_INDEX } from './form-index';
5
6
  export * from './validators';
package/lib/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export { useForm } from './use-form';
2
2
  export { createFormContext } from './FormProvider/FormProvider';
3
+ export { createFormActions } from './actions';
3
4
  export { Form } from './Form/Form';
4
5
  export { FORM_INDEX } from './form-index';
5
6
  export * from './validators';
@@ -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;
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["../src/use-form.ts"],"names":[],"mappings":"AAQA,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,aAA4B,EAC5B,aAAkB,EAClB,YAAiB,EACjB,cAAmB,EACnB,uBAA8B,EAC9B,qBAA6B,EAC7B,mBAA2B,EAC3B,eAAqD,EACrD,QAAQ,EAAE,KAAK,GAChB,GAAE,YAAY,CAAC,MAAM,EAAE,eAAe,CAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,eAAe,CAAC,CAiPzF"}
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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mantine/form",
3
3
  "description": "Mantine form management library",
4
- "version": "7.1.7",
4
+ "version": "7.2.0",
5
5
  "main": "./cjs/index.js",
6
6
  "types": "./lib/index.d.ts",
7
7
  "module": "./esm/index.mjs",