@mantine/form 9.0.0-alpha.4 → 9.0.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/cjs/FormProvider/FormProvider.cjs +26 -21
  2. package/cjs/FormProvider/FormProvider.cjs.map +1 -1
  3. package/cjs/_virtual/_rolldown/runtime.cjs +24 -0
  4. package/cjs/actions/actions.cjs +86 -117
  5. package/cjs/actions/actions.cjs.map +1 -1
  6. package/cjs/form-index.cjs +5 -5
  7. package/cjs/form-index.cjs.map +1 -1
  8. package/cjs/get-input-on-change/get-input-on-change.cjs +15 -25
  9. package/cjs/get-input-on-change/get-input-on-change.cjs.map +1 -1
  10. package/cjs/get-status/get-status.cjs +11 -11
  11. package/cjs/get-status/get-status.cjs.map +1 -1
  12. package/cjs/hooks/use-form-errors/filter-errors/filter-errors.cjs +11 -15
  13. package/cjs/hooks/use-form-errors/filter-errors/filter-errors.cjs.map +1 -1
  14. package/cjs/hooks/use-form-errors/use-form-errors.cjs +39 -48
  15. package/cjs/hooks/use-form-errors/use-form-errors.cjs.map +1 -1
  16. package/cjs/hooks/use-form-list/use-form-list.cjs +47 -51
  17. package/cjs/hooks/use-form-list/use-form-list.cjs.map +1 -1
  18. package/cjs/hooks/use-form-status/use-form-status.cjs +95 -128
  19. package/cjs/hooks/use-form-status/use-form-status.cjs.map +1 -1
  20. package/cjs/hooks/use-form-validating/use-form-validating.cjs +49 -51
  21. package/cjs/hooks/use-form-validating/use-form-validating.cjs.map +1 -1
  22. package/cjs/hooks/use-form-values/use-form-values.cjs +92 -107
  23. package/cjs/hooks/use-form-values/use-form-values.cjs.map +1 -1
  24. package/cjs/hooks/use-form-watch/use-form-watch.cjs +39 -57
  25. package/cjs/hooks/use-form-watch/use-form-watch.cjs.map +1 -1
  26. package/cjs/index.cjs +35 -38
  27. package/cjs/lists/change-error-indices.cjs +34 -41
  28. package/cjs/lists/change-error-indices.cjs.map +1 -1
  29. package/cjs/lists/clear-list-state.cjs +11 -15
  30. package/cjs/lists/clear-list-state.cjs.map +1 -1
  31. package/cjs/lists/reorder-errors.cjs +30 -32
  32. package/cjs/lists/reorder-errors.cjs.map +1 -1
  33. package/cjs/paths/get-data-path.cjs +6 -6
  34. package/cjs/paths/get-data-path.cjs.map +1 -1
  35. package/cjs/paths/get-path.cjs +14 -19
  36. package/cjs/paths/get-path.cjs.map +1 -1
  37. package/cjs/paths/get-splitted-path.cjs +7 -9
  38. package/cjs/paths/get-splitted-path.cjs.map +1 -1
  39. package/cjs/paths/insert-path.cjs +12 -15
  40. package/cjs/paths/insert-path.cjs.map +1 -1
  41. package/cjs/paths/remove-path.cjs +10 -17
  42. package/cjs/paths/remove-path.cjs.map +1 -1
  43. package/cjs/paths/reorder-path.cjs +14 -17
  44. package/cjs/paths/reorder-path.cjs.map +1 -1
  45. package/cjs/paths/replace-path.cjs +13 -18
  46. package/cjs/paths/replace-path.cjs.map +1 -1
  47. package/cjs/paths/set-path.cjs +22 -26
  48. package/cjs/paths/set-path.cjs.map +1 -1
  49. package/cjs/schema-resolver.cjs +24 -0
  50. package/cjs/schema-resolver.cjs.map +1 -0
  51. package/cjs/use-field.cjs +94 -131
  52. package/cjs/use-field.cjs.map +1 -1
  53. package/cjs/use-form.cjs +295 -379
  54. package/cjs/use-form.cjs.map +1 -1
  55. package/cjs/validate/get-rule-for-path.cjs +16 -24
  56. package/cjs/validate/get-rule-for-path.cjs.map +1 -1
  57. package/cjs/validate/should-validate-on-change.cjs +10 -17
  58. package/cjs/validate/should-validate-on-change.cjs.map +1 -1
  59. package/cjs/validate/validate-field-value.cjs +58 -54
  60. package/cjs/validate/validate-field-value.cjs.map +1 -1
  61. package/cjs/validate/validate-values.cjs +77 -108
  62. package/cjs/validate/validate-values.cjs.map +1 -1
  63. package/cjs/validators/has-length/has-length.cjs +17 -27
  64. package/cjs/validators/has-length/has-length.cjs.map +1 -1
  65. package/cjs/validators/is-email/is-email.cjs +7 -8
  66. package/cjs/validators/is-email/is-email.cjs.map +1 -1
  67. package/cjs/validators/is-in-range/is-in-range.cjs +13 -19
  68. package/cjs/validators/is-in-range/is-in-range.cjs.map +1 -1
  69. package/cjs/validators/is-json-string/is-json-string.cjs +15 -17
  70. package/cjs/validators/is-json-string/is-json-string.cjs.map +1 -1
  71. package/cjs/validators/is-not-empty/is-not-empty.cjs +13 -21
  72. package/cjs/validators/is-not-empty/is-not-empty.cjs.map +1 -1
  73. package/cjs/validators/is-not-empty-html/is-not-empty-html.cjs +11 -13
  74. package/cjs/validators/is-not-empty-html/is-not-empty-html.cjs.map +1 -1
  75. package/cjs/validators/is-one-of/is-one-of.cjs +9 -9
  76. package/cjs/validators/is-one-of/is-one-of.cjs.map +1 -1
  77. package/cjs/validators/is-url/is-url.cjs +25 -33
  78. package/cjs/validators/is-url/is-url.cjs.map +1 -1
  79. package/cjs/validators/matches/matches.cjs +10 -12
  80. package/cjs/validators/matches/matches.cjs.map +1 -1
  81. package/cjs/validators/matches-field/matches-field.cjs +10 -12
  82. package/cjs/validators/matches-field/matches-field.cjs.map +1 -1
  83. package/esm/FormProvider/FormProvider.mjs +25 -19
  84. package/esm/FormProvider/FormProvider.mjs.map +1 -1
  85. package/esm/actions/actions.mjs +85 -114
  86. package/esm/actions/actions.mjs.map +1 -1
  87. package/esm/form-index.mjs +5 -3
  88. package/esm/form-index.mjs.map +1 -1
  89. package/esm/get-input-on-change/get-input-on-change.mjs +15 -23
  90. package/esm/get-input-on-change/get-input-on-change.mjs.map +1 -1
  91. package/esm/get-status/get-status.mjs +11 -9
  92. package/esm/get-status/get-status.mjs.map +1 -1
  93. package/esm/hooks/use-form-errors/filter-errors/filter-errors.mjs +11 -13
  94. package/esm/hooks/use-form-errors/filter-errors/filter-errors.mjs.map +1 -1
  95. package/esm/hooks/use-form-errors/use-form-errors.mjs +38 -46
  96. package/esm/hooks/use-form-errors/use-form-errors.mjs.map +1 -1
  97. package/esm/hooks/use-form-list/use-form-list.mjs +46 -49
  98. package/esm/hooks/use-form-list/use-form-list.mjs.map +1 -1
  99. package/esm/hooks/use-form-status/use-form-status.mjs +93 -122
  100. package/esm/hooks/use-form-status/use-form-status.mjs.map +1 -1
  101. package/esm/hooks/use-form-validating/use-form-validating.mjs +48 -49
  102. package/esm/hooks/use-form-validating/use-form-validating.mjs.map +1 -1
  103. package/esm/hooks/use-form-values/use-form-values.mjs +91 -105
  104. package/esm/hooks/use-form-values/use-form-values.mjs.map +1 -1
  105. package/esm/hooks/use-form-watch/use-form-watch.mjs +38 -55
  106. package/esm/hooks/use-form-watch/use-form-watch.mjs.map +1 -1
  107. package/esm/index.mjs +18 -17
  108. package/esm/lists/change-error-indices.mjs +34 -39
  109. package/esm/lists/change-error-indices.mjs.map +1 -1
  110. package/esm/lists/clear-list-state.mjs +11 -13
  111. package/esm/lists/clear-list-state.mjs.map +1 -1
  112. package/esm/lists/reorder-errors.mjs +30 -30
  113. package/esm/lists/reorder-errors.mjs.map +1 -1
  114. package/esm/paths/get-data-path.mjs +6 -4
  115. package/esm/paths/get-data-path.mjs.map +1 -1
  116. package/esm/paths/get-path.mjs +14 -17
  117. package/esm/paths/get-path.mjs.map +1 -1
  118. package/esm/paths/get-splitted-path.mjs +7 -7
  119. package/esm/paths/get-splitted-path.mjs.map +1 -1
  120. package/esm/paths/insert-path.mjs +12 -13
  121. package/esm/paths/insert-path.mjs.map +1 -1
  122. package/esm/paths/remove-path.mjs +10 -15
  123. package/esm/paths/remove-path.mjs.map +1 -1
  124. package/esm/paths/reorder-path.mjs +14 -15
  125. package/esm/paths/reorder-path.mjs.map +1 -1
  126. package/esm/paths/replace-path.mjs +13 -16
  127. package/esm/paths/replace-path.mjs.map +1 -1
  128. package/esm/paths/set-path.mjs +21 -24
  129. package/esm/paths/set-path.mjs.map +1 -1
  130. package/esm/schema-resolver.mjs +24 -0
  131. package/esm/schema-resolver.mjs.map +1 -0
  132. package/esm/use-field.mjs +93 -129
  133. package/esm/use-field.mjs.map +1 -1
  134. package/esm/use-form.mjs +294 -377
  135. package/esm/use-form.mjs.map +1 -1
  136. package/esm/validate/get-rule-for-path.mjs +16 -22
  137. package/esm/validate/get-rule-for-path.mjs.map +1 -1
  138. package/esm/validate/should-validate-on-change.mjs +10 -15
  139. package/esm/validate/should-validate-on-change.mjs.map +1 -1
  140. package/esm/validate/validate-field-value.mjs +58 -52
  141. package/esm/validate/validate-field-value.mjs.map +1 -1
  142. package/esm/validate/validate-values.mjs +77 -106
  143. package/esm/validate/validate-values.mjs.map +1 -1
  144. package/esm/validators/has-length/has-length.mjs +17 -25
  145. package/esm/validators/has-length/has-length.mjs.map +1 -1
  146. package/esm/validators/is-email/is-email.mjs +7 -6
  147. package/esm/validators/is-email/is-email.mjs.map +1 -1
  148. package/esm/validators/is-in-range/is-in-range.mjs +13 -17
  149. package/esm/validators/is-in-range/is-in-range.mjs.map +1 -1
  150. package/esm/validators/is-json-string/is-json-string.mjs +15 -15
  151. package/esm/validators/is-json-string/is-json-string.mjs.map +1 -1
  152. package/esm/validators/is-not-empty/is-not-empty.mjs +13 -19
  153. package/esm/validators/is-not-empty/is-not-empty.mjs.map +1 -1
  154. package/esm/validators/is-not-empty-html/is-not-empty-html.mjs +11 -11
  155. package/esm/validators/is-not-empty-html/is-not-empty-html.mjs.map +1 -1
  156. package/esm/validators/is-one-of/is-one-of.mjs +9 -7
  157. package/esm/validators/is-one-of/is-one-of.mjs.map +1 -1
  158. package/esm/validators/is-url/is-url.mjs +25 -31
  159. package/esm/validators/is-url/is-url.mjs.map +1 -1
  160. package/esm/validators/matches/matches.mjs +10 -10
  161. package/esm/validators/matches/matches.mjs.map +1 -1
  162. package/esm/validators/matches-field/matches-field.mjs +10 -10
  163. package/esm/validators/matches-field/matches-field.mjs.map +1 -1
  164. package/lib/index.d.mts +1 -0
  165. package/lib/index.d.ts +1 -0
  166. package/lib/schema-resolver.d.ts +5 -0
  167. package/package.json +6 -2
  168. package/cjs/index.cjs.map +0 -1
  169. package/esm/index.mjs.map +0 -1
@@ -1,51 +1,42 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- var react = require('react');
5
- var filterErrors = require('./filter-errors/filter-errors.cjs');
6
-
1
+ "use client";
2
+ require("../../_virtual/_rolldown/runtime.cjs");
3
+ const require_filter_errors = require("./filter-errors/filter-errors.cjs");
4
+ let react = require("react");
5
+ //#region packages/@mantine/form/src/hooks/use-form-errors/use-form-errors.ts
7
6
  function useFormErrors(initialErrors) {
8
- const [errorsState, setErrorsState] = react.useState(filterErrors.filterErrors(initialErrors));
9
- const errorsRef = react.useRef(errorsState);
10
- const setErrors = react.useCallback((errors) => {
11
- setErrorsState((current) => {
12
- const newErrors = filterErrors.filterErrors(typeof errors === "function" ? errors(current) : errors);
13
- errorsRef.current = newErrors;
14
- return newErrors;
15
- });
16
- }, []);
17
- const clearErrors = react.useCallback(() => setErrors({}), []);
18
- const clearFieldError = react.useCallback(
19
- (path) => {
20
- if (errorsRef.current[path] === void 0) {
21
- return;
22
- }
23
- setErrors((current) => {
24
- const errors = { ...current };
25
- delete errors[path];
26
- return errors;
27
- });
28
- },
29
- [errorsState]
30
- );
31
- const setFieldError = react.useCallback(
32
- (path, error) => {
33
- if (error == null || error === false) {
34
- clearFieldError(path);
35
- } else if (errorsRef.current[path] !== error) {
36
- setErrors((current) => ({ ...current, [path]: error }));
37
- }
38
- },
39
- [errorsState]
40
- );
41
- return {
42
- errorsState,
43
- setErrors,
44
- clearErrors,
45
- setFieldError,
46
- clearFieldError
47
- };
7
+ const [errorsState, setErrorsState] = (0, react.useState)(require_filter_errors.filterErrors(initialErrors));
8
+ const errorsRef = (0, react.useRef)(errorsState);
9
+ const setErrors = (0, react.useCallback)((errors) => {
10
+ setErrorsState((current) => {
11
+ const newErrors = require_filter_errors.filterErrors(typeof errors === "function" ? errors(current) : errors);
12
+ errorsRef.current = newErrors;
13
+ return newErrors;
14
+ });
15
+ }, []);
16
+ const clearErrors = (0, react.useCallback)(() => setErrors({}), []);
17
+ const clearFieldError = (0, react.useCallback)((path) => {
18
+ if (errorsRef.current[path] === void 0) return;
19
+ setErrors((current) => {
20
+ const errors = { ...current };
21
+ delete errors[path];
22
+ return errors;
23
+ });
24
+ }, [errorsState]);
25
+ return {
26
+ errorsState,
27
+ setErrors,
28
+ clearErrors,
29
+ setFieldError: (0, react.useCallback)((path, error) => {
30
+ if (error == null || error === false) clearFieldError(path);
31
+ else if (errorsRef.current[path] !== error) setErrors((current) => ({
32
+ ...current,
33
+ [path]: error
34
+ }));
35
+ }, [errorsState]),
36
+ clearFieldError
37
+ };
48
38
  }
49
-
39
+ //#endregion
50
40
  exports.useFormErrors = useFormErrors;
51
- //# sourceMappingURL=use-form-errors.cjs.map
41
+
42
+ //# sourceMappingURL=use-form-errors.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-form-errors.cjs","sources":["../../../src/hooks/use-form-errors/use-form-errors.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\nimport { ClearErrors, ClearFieldError, FormErrors, SetErrors, SetFieldError } from '../../types';\nimport { filterErrors } from './filter-errors/filter-errors';\n\nexport interface $FormErrors<Values extends Record<string, any>> {\n errorsState: FormErrors;\n setErrors: SetErrors;\n clearErrors: ClearErrors;\n setFieldError: SetFieldError<Values>;\n clearFieldError: ClearFieldError;\n}\n\nexport function useFormErrors<Values extends Record<string, any>>(\n initialErrors: FormErrors\n): $FormErrors<Values> {\n const [errorsState, setErrorsState] = useState(filterErrors(initialErrors));\n const errorsRef = useRef(errorsState);\n\n const setErrors: SetErrors = useCallback((errors) => {\n setErrorsState((current) => {\n const newErrors = filterErrors(typeof errors === 'function' ? errors(current) : errors);\n errorsRef.current = newErrors;\n return newErrors;\n });\n }, []);\n\n const clearErrors: ClearErrors = useCallback(() => setErrors({}), []);\n\n const clearFieldError: ClearFieldError = useCallback(\n (path) => {\n if (errorsRef.current[path as string] === undefined) {\n return;\n }\n\n setErrors((current) => {\n const errors = { ...current };\n delete errors[path as string];\n return errors;\n });\n },\n [errorsState]\n );\n\n const setFieldError: SetFieldError<Values> = useCallback(\n (path, error) => {\n if (error == null || error === false) {\n clearFieldError(path);\n } else if (errorsRef.current[path as string] !== error) {\n setErrors((current) => ({ ...current, [path]: error }));\n }\n },\n [errorsState]\n );\n\n return {\n errorsState,\n setErrors,\n clearErrors,\n setFieldError,\n clearFieldError,\n };\n}\n"],"names":["useState","filterErrors","useRef","useCallback"],"mappings":"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"}
1
+ {"version":3,"file":"use-form-errors.cjs","names":["filterErrors"],"sources":["../../../src/hooks/use-form-errors/use-form-errors.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\nimport { ClearErrors, ClearFieldError, FormErrors, SetErrors, SetFieldError } from '../../types';\nimport { filterErrors } from './filter-errors/filter-errors';\n\nexport interface $FormErrors<Values extends Record<string, any>> {\n errorsState: FormErrors;\n setErrors: SetErrors;\n clearErrors: ClearErrors;\n setFieldError: SetFieldError<Values>;\n clearFieldError: ClearFieldError;\n}\n\nexport function useFormErrors<Values extends Record<string, any>>(\n initialErrors: FormErrors\n): $FormErrors<Values> {\n const [errorsState, setErrorsState] = useState(filterErrors(initialErrors));\n const errorsRef = useRef(errorsState);\n\n const setErrors: SetErrors = useCallback((errors) => {\n setErrorsState((current) => {\n const newErrors = filterErrors(typeof errors === 'function' ? errors(current) : errors);\n errorsRef.current = newErrors;\n return newErrors;\n });\n }, []);\n\n const clearErrors: ClearErrors = useCallback(() => setErrors({}), []);\n\n const clearFieldError: ClearFieldError = useCallback(\n (path) => {\n if (errorsRef.current[path as string] === undefined) {\n return;\n }\n\n setErrors((current) => {\n const errors = { ...current };\n delete errors[path as string];\n return errors;\n });\n },\n [errorsState]\n );\n\n const setFieldError: SetFieldError<Values> = useCallback(\n (path, error) => {\n if (error == null || error === false) {\n clearFieldError(path);\n } else if (errorsRef.current[path as string] !== error) {\n setErrors((current) => ({ ...current, [path]: error }));\n }\n },\n [errorsState]\n );\n\n return {\n errorsState,\n setErrors,\n clearErrors,\n setFieldError,\n clearFieldError,\n };\n}\n"],"mappings":";;;;;AAYA,SAAgB,cACd,eACqB;CACrB,MAAM,CAAC,aAAa,mBAAA,GAAA,MAAA,UAA2BA,sBAAAA,aAAa,cAAc,CAAC;CAC3E,MAAM,aAAA,GAAA,MAAA,QAAmB,YAAY;CAErC,MAAM,aAAA,GAAA,MAAA,cAAoC,WAAW;AACnD,kBAAgB,YAAY;GAC1B,MAAM,YAAYA,sBAAAA,aAAa,OAAO,WAAW,aAAa,OAAO,QAAQ,GAAG,OAAO;AACvF,aAAU,UAAU;AACpB,UAAO;IACP;IACD,EAAE,CAAC;CAEN,MAAM,eAAA,GAAA,MAAA,mBAA6C,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;CAErE,MAAM,mBAAA,GAAA,MAAA,cACH,SAAS;AACR,MAAI,UAAU,QAAQ,UAAoB,KAAA,EACxC;AAGF,aAAW,YAAY;GACrB,MAAM,SAAS,EAAE,GAAG,SAAS;AAC7B,UAAO,OAAO;AACd,UAAO;IACP;IAEJ,CAAC,YAAY,CACd;AAaD,QAAO;EACL;EACA;EACA;EACA,gBAAA,GAAA,MAAA,cAdC,MAAM,UAAU;AACf,OAAI,SAAS,QAAQ,UAAU,MAC7B,iBAAgB,KAAK;YACZ,UAAU,QAAQ,UAAoB,MAC/C,YAAW,aAAa;IAAE,GAAG;KAAU,OAAO;IAAO,EAAE;KAG3D,CAAC,YAAY,CACd;EAOC;EACD"}
@@ -1,53 +1,49 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- var react = require('react');
5
- var changeErrorIndices = require('../../lists/change-error-indices.cjs');
6
- var reorderErrors = require('../../lists/reorder-errors.cjs');
7
- require('klona/full');
8
- var reorderPath = require('../../paths/reorder-path.cjs');
9
- var insertPath = require('../../paths/insert-path.cjs');
10
- var removePath = require('../../paths/remove-path.cjs');
11
- var replacePath = require('../../paths/replace-path.cjs');
12
-
13
- function useFormList({
14
- $values,
15
- $errors,
16
- $status
17
- }) {
18
- const reorderListItem = react.useCallback((path, payload) => {
19
- $status.clearFieldDirty(path);
20
- $errors.setErrors((errs) => reorderErrors.reorderErrors(path, payload, errs));
21
- $values.setValues({
22
- values: reorderPath.reorderPath(path, payload, $values.refValues.current),
23
- updateState: true
24
- });
25
- }, []);
26
- const removeListItem = react.useCallback((path, index) => {
27
- $status.clearFieldDirty(path);
28
- $errors.setErrors((errs) => changeErrorIndices.changeErrorIndices(path, index, errs, -1));
29
- $values.setValues({
30
- values: removePath.removePath(path, index, $values.refValues.current),
31
- updateState: true
32
- });
33
- }, []);
34
- const insertListItem = react.useCallback((path, item, index) => {
35
- $status.clearFieldDirty(path);
36
- $errors.setErrors((errs) => changeErrorIndices.changeErrorIndices(path, index, errs, 1));
37
- $values.setValues({
38
- values: insertPath.insertPath(path, item, index, $values.refValues.current),
39
- updateState: true
40
- });
41
- }, []);
42
- const replaceListItem = react.useCallback((path, index, item) => {
43
- $status.clearFieldDirty(path);
44
- $values.setValues({
45
- values: replacePath.replacePath(path, item, index, $values.refValues.current),
46
- updateState: true
47
- });
48
- }, []);
49
- return { reorderListItem, removeListItem, insertListItem, replaceListItem };
1
+ "use client";
2
+ require("../../_virtual/_rolldown/runtime.cjs");
3
+ const require_change_error_indices = require("../../lists/change-error-indices.cjs");
4
+ const require_reorder_errors = require("../../lists/reorder-errors.cjs");
5
+ const require_reorder_path = require("../../paths/reorder-path.cjs");
6
+ const require_insert_path = require("../../paths/insert-path.cjs");
7
+ const require_remove_path = require("../../paths/remove-path.cjs");
8
+ const require_replace_path = require("../../paths/replace-path.cjs");
9
+ let react = require("react");
10
+ //#region packages/@mantine/form/src/hooks/use-form-list/use-form-list.ts
11
+ function useFormList({ $values, $errors, $status }) {
12
+ return {
13
+ reorderListItem: (0, react.useCallback)((path, payload) => {
14
+ $status.clearFieldDirty(path);
15
+ $errors.setErrors((errs) => require_reorder_errors.reorderErrors(path, payload, errs));
16
+ $values.setValues({
17
+ values: require_reorder_path.reorderPath(path, payload, $values.refValues.current),
18
+ updateState: true
19
+ });
20
+ }, []),
21
+ removeListItem: (0, react.useCallback)((path, index) => {
22
+ $status.clearFieldDirty(path);
23
+ $errors.setErrors((errs) => require_change_error_indices.changeErrorIndices(path, index, errs, -1));
24
+ $values.setValues({
25
+ values: require_remove_path.removePath(path, index, $values.refValues.current),
26
+ updateState: true
27
+ });
28
+ }, []),
29
+ insertListItem: (0, react.useCallback)((path, item, index) => {
30
+ $status.clearFieldDirty(path);
31
+ $errors.setErrors((errs) => require_change_error_indices.changeErrorIndices(path, index, errs, 1));
32
+ $values.setValues({
33
+ values: require_insert_path.insertPath(path, item, index, $values.refValues.current),
34
+ updateState: true
35
+ });
36
+ }, []),
37
+ replaceListItem: (0, react.useCallback)((path, index, item) => {
38
+ $status.clearFieldDirty(path);
39
+ $values.setValues({
40
+ values: require_replace_path.replacePath(path, item, index, $values.refValues.current),
41
+ updateState: true
42
+ });
43
+ }, [])
44
+ };
50
45
  }
51
-
46
+ //#endregion
52
47
  exports.useFormList = useFormList;
53
- //# sourceMappingURL=use-form-list.cjs.map
48
+
49
+ //# sourceMappingURL=use-form-list.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-form-list.cjs","sources":["../../../src/hooks/use-form-list/use-form-list.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { changeErrorIndices, reorderErrors } from '../../lists';\nimport { insertPath, removePath, reorderPath, replacePath } from '../../paths';\nimport { InsertListItem, RemoveListItem, ReorderListItem, ReplaceListItem } from '../../types';\nimport type { $FormErrors } from '../use-form-errors/use-form-errors';\nimport type { $FormStatus } from '../use-form-status/use-form-status';\nimport type { $FormValues } from '../use-form-values/use-form-values';\n\ninterface UseFormListInput<Values extends Record<string, any>> {\n $values: $FormValues<Values>;\n $errors: $FormErrors<Values>;\n $status: $FormStatus<Values>;\n}\n\nexport function useFormList<Values extends Record<string, any>>({\n $values,\n $errors,\n $status,\n}: UseFormListInput<Values>) {\n const reorderListItem: ReorderListItem<Values> = useCallback((path, payload) => {\n $status.clearFieldDirty(path);\n $errors.setErrors((errs) => reorderErrors(path, payload, errs));\n $values.setValues({\n values: reorderPath(path, payload, $values.refValues.current),\n updateState: true,\n });\n }, []);\n\n const removeListItem: RemoveListItem<Values> = useCallback((path, index) => {\n $status.clearFieldDirty(path);\n $errors.setErrors((errs) => changeErrorIndices(path, index, errs, -1));\n $values.setValues({\n values: removePath(path, index, $values.refValues.current),\n updateState: true,\n });\n }, []);\n\n const insertListItem: InsertListItem<Values> = useCallback((path, item, index) => {\n $status.clearFieldDirty(path);\n $errors.setErrors((errs) => changeErrorIndices(path, index, errs, 1));\n $values.setValues({\n values: insertPath(path, item, index, $values.refValues.current),\n updateState: true,\n });\n }, []);\n\n const replaceListItem: ReplaceListItem<Values> = useCallback((path, index, item) => {\n $status.clearFieldDirty(path);\n $values.setValues({\n values: replacePath(path, item, index, $values.refValues.current),\n updateState: true,\n });\n }, []);\n\n return { reorderListItem, removeListItem, insertListItem, replaceListItem };\n}\n"],"names":["useCallback","reorderErrors","reorderPath","changeErrorIndices","removePath","insertPath","replacePath"],"mappings":"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"}
1
+ {"version":3,"file":"use-form-list.cjs","names":["reorderErrors","reorderPath","changeErrorIndices","removePath","insertPath","replacePath"],"sources":["../../../src/hooks/use-form-list/use-form-list.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { changeErrorIndices, reorderErrors } from '../../lists';\nimport { insertPath, removePath, reorderPath, replacePath } from '../../paths';\nimport { InsertListItem, RemoveListItem, ReorderListItem, ReplaceListItem } from '../../types';\nimport type { $FormErrors } from '../use-form-errors/use-form-errors';\nimport type { $FormStatus } from '../use-form-status/use-form-status';\nimport type { $FormValues } from '../use-form-values/use-form-values';\n\ninterface UseFormListInput<Values extends Record<string, any>> {\n $values: $FormValues<Values>;\n $errors: $FormErrors<Values>;\n $status: $FormStatus<Values>;\n}\n\nexport function useFormList<Values extends Record<string, any>>({\n $values,\n $errors,\n $status,\n}: UseFormListInput<Values>) {\n const reorderListItem: ReorderListItem<Values> = useCallback((path, payload) => {\n $status.clearFieldDirty(path);\n $errors.setErrors((errs) => reorderErrors(path, payload, errs));\n $values.setValues({\n values: reorderPath(path, payload, $values.refValues.current),\n updateState: true,\n });\n }, []);\n\n const removeListItem: RemoveListItem<Values> = useCallback((path, index) => {\n $status.clearFieldDirty(path);\n $errors.setErrors((errs) => changeErrorIndices(path, index, errs, -1));\n $values.setValues({\n values: removePath(path, index, $values.refValues.current),\n updateState: true,\n });\n }, []);\n\n const insertListItem: InsertListItem<Values> = useCallback((path, item, index) => {\n $status.clearFieldDirty(path);\n $errors.setErrors((errs) => changeErrorIndices(path, index, errs, 1));\n $values.setValues({\n values: insertPath(path, item, index, $values.refValues.current),\n updateState: true,\n });\n }, []);\n\n const replaceListItem: ReplaceListItem<Values> = useCallback((path, index, item) => {\n $status.clearFieldDirty(path);\n $values.setValues({\n values: replacePath(path, item, index, $values.refValues.current),\n updateState: true,\n });\n }, []);\n\n return { reorderListItem, removeListItem, insertListItem, replaceListItem };\n}\n"],"mappings":";;;;;;;;;;AAcA,SAAgB,YAAgD,EAC9D,SACA,SACA,WAC2B;AAoC3B,QAAO;EAAE,kBAAA,GAAA,MAAA,cAnCqD,MAAM,YAAY;AAC9E,WAAQ,gBAAgB,KAAK;AAC7B,WAAQ,WAAW,SAASA,uBAAAA,cAAc,MAAM,SAAS,KAAK,CAAC;AAC/D,WAAQ,UAAU;IAChB,QAAQC,qBAAAA,YAAY,MAAM,SAAS,QAAQ,UAAU,QAAQ;IAC7D,aAAa;IACd,CAAC;KACD,EAAE,CAAC;EA4BoB,iBAAA,GAAA,MAAA,cA1BkC,MAAM,UAAU;AAC1E,WAAQ,gBAAgB,KAAK;AAC7B,WAAQ,WAAW,SAASC,6BAAAA,mBAAmB,MAAM,OAAO,MAAM,GAAG,CAAC;AACtE,WAAQ,UAAU;IAChB,QAAQC,oBAAAA,WAAW,MAAM,OAAO,QAAQ,UAAU,QAAQ;IAC1D,aAAa;IACd,CAAC;KACD,EAAE,CAAC;EAmBoC,iBAAA,GAAA,MAAA,cAjBkB,MAAM,MAAM,UAAU;AAChF,WAAQ,gBAAgB,KAAK;AAC7B,WAAQ,WAAW,SAASD,6BAAAA,mBAAmB,MAAM,OAAO,MAAM,EAAE,CAAC;AACrE,WAAQ,UAAU;IAChB,QAAQE,oBAAAA,WAAW,MAAM,MAAM,OAAO,QAAQ,UAAU,QAAQ;IAChE,aAAa;IACd,CAAC;KACD,EAAE,CAAC;EAUoD,kBAAA,GAAA,MAAA,cARI,MAAM,OAAO,SAAS;AAClF,WAAQ,gBAAgB,KAAK;AAC7B,WAAQ,UAAU;IAChB,QAAQC,qBAAAA,YAAY,MAAM,MAAM,OAAO,QAAQ,UAAU,QAAQ;IACjE,aAAa;IACd,CAAC;KACD,EAAE,CAAC;EAEqE"}
@@ -1,130 +1,97 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- var react = require('react');
5
- var isEqual = require('fast-deep-equal');
6
- var getStatus = require('../../get-status/get-status.cjs');
7
- var clearListState = require('../../lists/clear-list-state.cjs');
8
- var getPath = require('../../paths/get-path.cjs');
9
- require('klona/full');
10
-
11
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
-
13
- var isEqual__default = /*#__PURE__*/_interopDefault(isEqual);
14
-
15
- function useFormStatus({
16
- initialDirty,
17
- initialTouched,
18
- mode,
19
- $values
20
- }) {
21
- const [touchedState, setTouchedState] = react.useState(initialTouched);
22
- const [dirtyState, setDirtyState] = react.useState(initialDirty);
23
- const touchedRef = react.useRef(initialTouched);
24
- const dirtyRef = react.useRef(initialDirty);
25
- const setTouched = react.useCallback((values) => {
26
- const resolvedValues = typeof values === "function" ? values(touchedRef.current) : values;
27
- touchedRef.current = resolvedValues;
28
- if (mode === "controlled") {
29
- setTouchedState(resolvedValues);
30
- }
31
- }, []);
32
- const setDirty = react.useCallback(
33
- (values, forceUpdate = false) => {
34
- const resolvedValues = typeof values === "function" ? values(dirtyRef.current) : values;
35
- dirtyRef.current = resolvedValues;
36
- if (mode === "controlled" || forceUpdate) {
37
- setDirtyState(resolvedValues);
38
- }
39
- },
40
- []
41
- );
42
- const resetTouched = react.useCallback(() => setTouched({}), []);
43
- const resetDirty = react.useCallback((values) => {
44
- const newSnapshot = values ? { ...$values.refValues.current, ...values } : $values.refValues.current;
45
- $values.setValuesSnapshot(newSnapshot);
46
- setDirty({});
47
- }, []);
48
- const setFieldTouched = react.useCallback((path, touched) => {
49
- setTouched((currentTouched) => {
50
- if (getStatus.getStatus(currentTouched, path) === touched) {
51
- return currentTouched;
52
- }
53
- return { ...currentTouched, [path]: touched };
54
- });
55
- }, []);
56
- const setFieldDirty = react.useCallback((path, dirty, forceUpdate) => {
57
- setDirty((currentDirty) => {
58
- if (getStatus.getStatus(currentDirty, path) === dirty) {
59
- return currentDirty;
60
- }
61
- return { ...currentDirty, [path]: dirty };
62
- }, forceUpdate);
63
- }, []);
64
- const setCalculatedFieldDirty = react.useCallback((path, value) => {
65
- const currentDirty = getStatus.getStatus(dirtyRef.current, path);
66
- const dirty = !isEqual__default.default(getPath.getPath(path, $values.getValuesSnapshot()), value);
67
- const clearedState = clearListState.clearListState(path, dirtyRef.current);
68
- clearedState[path] = dirty;
69
- setDirty(clearedState, currentDirty !== dirty);
70
- }, []);
71
- const isTouched = react.useCallback(
72
- (path) => getStatus.getStatus(touchedRef.current, path),
73
- []
74
- );
75
- const clearFieldDirty = react.useCallback(
76
- (path) => setDirty((current) => {
77
- if (typeof path !== "string") {
78
- return current;
79
- }
80
- const result = clearListState.clearListState(path, current);
81
- delete result[path];
82
- if (isEqual__default.default(result, current)) {
83
- return current;
84
- }
85
- return result;
86
- }),
87
- []
88
- );
89
- const isDirty = react.useCallback((path) => {
90
- if (path) {
91
- const overriddenValue = getPath.getPath(path, dirtyRef.current);
92
- if (typeof overriddenValue === "boolean") {
93
- return overriddenValue;
94
- }
95
- const sliceOfValues = getPath.getPath(path, $values.refValues.current);
96
- const sliceOfInitialValues = getPath.getPath(path, $values.valuesSnapshot.current);
97
- return !isEqual__default.default(sliceOfValues, sliceOfInitialValues);
98
- }
99
- const isOverridden = Object.keys(dirtyRef.current).length > 0;
100
- if (isOverridden) {
101
- return getStatus.getStatus(dirtyRef.current);
102
- }
103
- return !isEqual__default.default($values.refValues.current, $values.valuesSnapshot.current);
104
- }, []);
105
- const getDirty = react.useCallback(() => dirtyRef.current, []);
106
- const getTouched = react.useCallback(() => touchedRef.current, []);
107
- return {
108
- touchedState,
109
- dirtyState,
110
- touchedRef,
111
- dirtyRef,
112
- setTouched,
113
- setDirty,
114
- resetDirty,
115
- resetTouched,
116
- isTouched,
117
- setFieldTouched,
118
- setFieldDirty,
119
- setTouchedState,
120
- setDirtyState,
121
- clearFieldDirty,
122
- isDirty,
123
- getDirty,
124
- getTouched,
125
- setCalculatedFieldDirty
126
- };
1
+ "use client";
2
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
3
+ const require_clear_list_state = require("../../lists/clear-list-state.cjs");
4
+ const require_get_path = require("../../paths/get-path.cjs");
5
+ const require_get_status = require("../../get-status/get-status.cjs");
6
+ let react = require("react");
7
+ let fast_deep_equal = require("fast-deep-equal");
8
+ fast_deep_equal = require_runtime.__toESM(fast_deep_equal);
9
+ //#region packages/@mantine/form/src/hooks/use-form-status/use-form-status.ts
10
+ function useFormStatus({ initialDirty, initialTouched, mode, $values }) {
11
+ const [touchedState, setTouchedState] = (0, react.useState)(initialTouched);
12
+ const [dirtyState, setDirtyState] = (0, react.useState)(initialDirty);
13
+ const touchedRef = (0, react.useRef)(initialTouched);
14
+ const dirtyRef = (0, react.useRef)(initialDirty);
15
+ const setTouched = (0, react.useCallback)((values) => {
16
+ const resolvedValues = typeof values === "function" ? values(touchedRef.current) : values;
17
+ touchedRef.current = resolvedValues;
18
+ if (mode === "controlled") setTouchedState(resolvedValues);
19
+ }, []);
20
+ const setDirty = (0, react.useCallback)((values, forceUpdate = false) => {
21
+ const resolvedValues = typeof values === "function" ? values(dirtyRef.current) : values;
22
+ dirtyRef.current = resolvedValues;
23
+ if (mode === "controlled" || forceUpdate) setDirtyState(resolvedValues);
24
+ }, []);
25
+ const resetTouched = (0, react.useCallback)(() => setTouched({}), []);
26
+ const resetDirty = (0, react.useCallback)((values) => {
27
+ const newSnapshot = values ? {
28
+ ...$values.refValues.current,
29
+ ...values
30
+ } : $values.refValues.current;
31
+ $values.setValuesSnapshot(newSnapshot);
32
+ setDirty({});
33
+ }, []);
34
+ const setFieldTouched = (0, react.useCallback)((path, touched) => {
35
+ setTouched((currentTouched) => {
36
+ if (require_get_status.getStatus(currentTouched, path) === touched) return currentTouched;
37
+ return {
38
+ ...currentTouched,
39
+ [path]: touched
40
+ };
41
+ });
42
+ }, []);
43
+ const setFieldDirty = (0, react.useCallback)((path, dirty, forceUpdate) => {
44
+ setDirty((currentDirty) => {
45
+ if (require_get_status.getStatus(currentDirty, path) === dirty) return currentDirty;
46
+ return {
47
+ ...currentDirty,
48
+ [path]: dirty
49
+ };
50
+ }, forceUpdate);
51
+ }, []);
52
+ const setCalculatedFieldDirty = (0, react.useCallback)((path, value) => {
53
+ const currentDirty = require_get_status.getStatus(dirtyRef.current, path);
54
+ const dirty = !(0, fast_deep_equal.default)(require_get_path.getPath(path, $values.getValuesSnapshot()), value);
55
+ const clearedState = require_clear_list_state.clearListState(path, dirtyRef.current);
56
+ clearedState[path] = dirty;
57
+ setDirty(clearedState, currentDirty !== dirty);
58
+ }, []);
59
+ return {
60
+ touchedState,
61
+ dirtyState,
62
+ touchedRef,
63
+ dirtyRef,
64
+ setTouched,
65
+ setDirty,
66
+ resetDirty,
67
+ resetTouched,
68
+ isTouched: (0, react.useCallback)((path) => require_get_status.getStatus(touchedRef.current, path), []),
69
+ setFieldTouched,
70
+ setFieldDirty,
71
+ setTouchedState,
72
+ setDirtyState,
73
+ clearFieldDirty: (0, react.useCallback)((path) => setDirty((current) => {
74
+ if (typeof path !== "string") return current;
75
+ const result = require_clear_list_state.clearListState(path, current);
76
+ delete result[path];
77
+ if ((0, fast_deep_equal.default)(result, current)) return current;
78
+ return result;
79
+ }), []),
80
+ isDirty: (0, react.useCallback)((path) => {
81
+ if (path) {
82
+ const overriddenValue = require_get_path.getPath(path, dirtyRef.current);
83
+ if (typeof overriddenValue === "boolean") return overriddenValue;
84
+ return !(0, fast_deep_equal.default)(require_get_path.getPath(path, $values.refValues.current), require_get_path.getPath(path, $values.valuesSnapshot.current));
85
+ }
86
+ if (Object.keys(dirtyRef.current).length > 0) return require_get_status.getStatus(dirtyRef.current);
87
+ return !(0, fast_deep_equal.default)($values.refValues.current, $values.valuesSnapshot.current);
88
+ }, []),
89
+ getDirty: (0, react.useCallback)(() => dirtyRef.current, []),
90
+ getTouched: (0, react.useCallback)(() => touchedRef.current, []),
91
+ setCalculatedFieldDirty
92
+ };
127
93
  }
128
-
94
+ //#endregion
129
95
  exports.useFormStatus = useFormStatus;
130
- //# sourceMappingURL=use-form-status.cjs.map
96
+
97
+ //# sourceMappingURL=use-form-status.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-form-status.cjs","sources":["../../../src/hooks/use-form-status/use-form-status.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\nimport isEqual from 'fast-deep-equal';\nimport { getStatus } from '../../get-status';\nimport { clearListState } from '../../lists';\nimport { getPath } from '../../paths';\nimport {\n ClearFieldDirty,\n FormMode,\n FormStatus,\n GetFieldStatus,\n ResetDirty,\n ResetStatus,\n SetCalculatedFieldDirty,\n SetFieldDirty,\n SetFieldTouched,\n} from '../../types';\nimport type { $FormValues } from '../use-form-values/use-form-values';\n\nexport interface $FormStatus<Values extends Record<string, any>> {\n touchedState: FormStatus;\n dirtyState: FormStatus;\n touchedRef: React.RefObject<FormStatus>;\n dirtyRef: React.RefObject<FormStatus>;\n setTouched: React.Dispatch<React.SetStateAction<FormStatus>>;\n setDirty: React.Dispatch<React.SetStateAction<FormStatus>>;\n resetDirty: ResetStatus;\n resetTouched: ResetStatus;\n isTouched: GetFieldStatus<Values>;\n setFieldTouched: SetFieldTouched<Values>;\n setFieldDirty: SetFieldDirty<Values>;\n setTouchedState: React.Dispatch<React.SetStateAction<FormStatus>>;\n setDirtyState: React.Dispatch<React.SetStateAction<FormStatus>>;\n clearFieldDirty: ClearFieldDirty;\n isDirty: GetFieldStatus<Values>;\n getDirty: () => FormStatus;\n getTouched: () => FormStatus;\n setCalculatedFieldDirty: SetCalculatedFieldDirty<Values>;\n}\n\ninterface UseFormStatusInput<Values extends Record<string, any>> {\n initialDirty: FormStatus;\n initialTouched: FormStatus;\n mode: FormMode;\n $values: $FormValues<Values>;\n}\n\nexport function useFormStatus<Values extends Record<string, any>>({\n initialDirty,\n initialTouched,\n mode,\n $values,\n}: UseFormStatusInput<Values>): $FormStatus<Values> {\n const [touchedState, setTouchedState] = useState(initialTouched);\n const [dirtyState, setDirtyState] = useState(initialDirty);\n\n const touchedRef = useRef(initialTouched);\n const dirtyRef = useRef(initialDirty);\n\n const setTouched = useCallback((values: FormStatus | ((current: FormStatus) => FormStatus)) => {\n const resolvedValues = typeof values === 'function' ? values(touchedRef.current) : values;\n touchedRef.current = resolvedValues;\n\n if (mode === 'controlled') {\n setTouchedState(resolvedValues);\n }\n }, []);\n\n const setDirty = useCallback(\n (values: FormStatus | ((current: FormStatus) => FormStatus), forceUpdate = false) => {\n const resolvedValues = typeof values === 'function' ? values(dirtyRef.current) : values;\n dirtyRef.current = resolvedValues;\n\n if (mode === 'controlled' || forceUpdate) {\n setDirtyState(resolvedValues);\n }\n },\n []\n );\n\n const resetTouched: ResetStatus = useCallback(() => setTouched({}), []);\n\n const resetDirty: ResetDirty<Values> = useCallback((values) => {\n const newSnapshot = values\n ? { ...$values.refValues.current, ...values }\n : $values.refValues.current;\n $values.setValuesSnapshot(newSnapshot);\n setDirty({});\n }, []);\n\n const setFieldTouched: SetFieldTouched<Values> = useCallback((path, touched) => {\n setTouched((currentTouched) => {\n if (getStatus(currentTouched, path) === touched) {\n return currentTouched;\n }\n\n return { ...currentTouched, [path]: touched };\n });\n }, []);\n\n const setFieldDirty: SetFieldDirty<Values> = useCallback((path, dirty, forceUpdate) => {\n setDirty((currentDirty) => {\n if (getStatus(currentDirty, path) === dirty) {\n return currentDirty;\n }\n\n return { ...currentDirty, [path]: dirty };\n }, forceUpdate);\n }, []);\n\n const setCalculatedFieldDirty: SetCalculatedFieldDirty<Values> = useCallback((path, value) => {\n const currentDirty = getStatus(dirtyRef.current, path);\n const dirty = !isEqual(getPath(path, $values.getValuesSnapshot()), value);\n const clearedState = clearListState(path, dirtyRef.current);\n clearedState[path as string] = dirty;\n setDirty(clearedState, currentDirty !== dirty);\n }, []);\n\n const isTouched: GetFieldStatus<Values> = useCallback(\n (path) => getStatus(touchedRef.current, path),\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\n if (isEqual(result, current)) {\n return current;\n }\n\n return result;\n }),\n []\n );\n\n const isDirty: GetFieldStatus<Values> = useCallback((path) => {\n if (path) {\n const overriddenValue = getPath(path, dirtyRef.current);\n if (typeof overriddenValue === 'boolean') {\n return overriddenValue;\n }\n\n const sliceOfValues = getPath(path, $values.refValues.current);\n const sliceOfInitialValues = getPath(path, $values.valuesSnapshot.current);\n return !isEqual(sliceOfValues, sliceOfInitialValues);\n }\n\n const isOverridden = Object.keys(dirtyRef.current).length > 0;\n if (isOverridden) {\n return getStatus(dirtyRef.current);\n }\n\n return !isEqual($values.refValues.current, $values.valuesSnapshot.current);\n }, []);\n\n const getDirty = useCallback(() => dirtyRef.current, []);\n const getTouched = useCallback(() => touchedRef.current, []);\n\n return {\n touchedState,\n dirtyState,\n touchedRef,\n dirtyRef,\n setTouched,\n setDirty,\n resetDirty,\n resetTouched,\n isTouched,\n setFieldTouched,\n setFieldDirty,\n setTouchedState,\n setDirtyState,\n clearFieldDirty,\n isDirty,\n getDirty,\n getTouched,\n setCalculatedFieldDirty,\n };\n}\n"],"names":["useState","useRef","useCallback","getStatus","isEqual","getPath","clearListState"],"mappings":"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AAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CACF,CAAA;AACF,CAAA;;"}
1
+ {"version":3,"file":"use-form-status.cjs","names":["getStatus","getPath","clearListState"],"sources":["../../../src/hooks/use-form-status/use-form-status.ts"],"sourcesContent":["import { useCallback, useRef, useState } from 'react';\nimport isEqual from 'fast-deep-equal';\nimport { getStatus } from '../../get-status';\nimport { clearListState } from '../../lists';\nimport { getPath } from '../../paths';\nimport {\n ClearFieldDirty,\n FormMode,\n FormStatus,\n GetFieldStatus,\n ResetDirty,\n ResetStatus,\n SetCalculatedFieldDirty,\n SetFieldDirty,\n SetFieldTouched,\n} from '../../types';\nimport type { $FormValues } from '../use-form-values/use-form-values';\n\nexport interface $FormStatus<Values extends Record<string, any>> {\n touchedState: FormStatus;\n dirtyState: FormStatus;\n touchedRef: React.RefObject<FormStatus>;\n dirtyRef: React.RefObject<FormStatus>;\n setTouched: React.Dispatch<React.SetStateAction<FormStatus>>;\n setDirty: React.Dispatch<React.SetStateAction<FormStatus>>;\n resetDirty: ResetStatus;\n resetTouched: ResetStatus;\n isTouched: GetFieldStatus<Values>;\n setFieldTouched: SetFieldTouched<Values>;\n setFieldDirty: SetFieldDirty<Values>;\n setTouchedState: React.Dispatch<React.SetStateAction<FormStatus>>;\n setDirtyState: React.Dispatch<React.SetStateAction<FormStatus>>;\n clearFieldDirty: ClearFieldDirty;\n isDirty: GetFieldStatus<Values>;\n getDirty: () => FormStatus;\n getTouched: () => FormStatus;\n setCalculatedFieldDirty: SetCalculatedFieldDirty<Values>;\n}\n\ninterface UseFormStatusInput<Values extends Record<string, any>> {\n initialDirty: FormStatus;\n initialTouched: FormStatus;\n mode: FormMode;\n $values: $FormValues<Values>;\n}\n\nexport function useFormStatus<Values extends Record<string, any>>({\n initialDirty,\n initialTouched,\n mode,\n $values,\n}: UseFormStatusInput<Values>): $FormStatus<Values> {\n const [touchedState, setTouchedState] = useState(initialTouched);\n const [dirtyState, setDirtyState] = useState(initialDirty);\n\n const touchedRef = useRef(initialTouched);\n const dirtyRef = useRef(initialDirty);\n\n const setTouched = useCallback((values: FormStatus | ((current: FormStatus) => FormStatus)) => {\n const resolvedValues = typeof values === 'function' ? values(touchedRef.current) : values;\n touchedRef.current = resolvedValues;\n\n if (mode === 'controlled') {\n setTouchedState(resolvedValues);\n }\n }, []);\n\n const setDirty = useCallback(\n (values: FormStatus | ((current: FormStatus) => FormStatus), forceUpdate = false) => {\n const resolvedValues = typeof values === 'function' ? values(dirtyRef.current) : values;\n dirtyRef.current = resolvedValues;\n\n if (mode === 'controlled' || forceUpdate) {\n setDirtyState(resolvedValues);\n }\n },\n []\n );\n\n const resetTouched: ResetStatus = useCallback(() => setTouched({}), []);\n\n const resetDirty: ResetDirty<Values> = useCallback((values) => {\n const newSnapshot = values\n ? { ...$values.refValues.current, ...values }\n : $values.refValues.current;\n $values.setValuesSnapshot(newSnapshot);\n setDirty({});\n }, []);\n\n const setFieldTouched: SetFieldTouched<Values> = useCallback((path, touched) => {\n setTouched((currentTouched) => {\n if (getStatus(currentTouched, path) === touched) {\n return currentTouched;\n }\n\n return { ...currentTouched, [path]: touched };\n });\n }, []);\n\n const setFieldDirty: SetFieldDirty<Values> = useCallback((path, dirty, forceUpdate) => {\n setDirty((currentDirty) => {\n if (getStatus(currentDirty, path) === dirty) {\n return currentDirty;\n }\n\n return { ...currentDirty, [path]: dirty };\n }, forceUpdate);\n }, []);\n\n const setCalculatedFieldDirty: SetCalculatedFieldDirty<Values> = useCallback((path, value) => {\n const currentDirty = getStatus(dirtyRef.current, path);\n const dirty = !isEqual(getPath(path, $values.getValuesSnapshot()), value);\n const clearedState = clearListState(path, dirtyRef.current);\n clearedState[path as string] = dirty;\n setDirty(clearedState, currentDirty !== dirty);\n }, []);\n\n const isTouched: GetFieldStatus<Values> = useCallback(\n (path) => getStatus(touchedRef.current, path),\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\n if (isEqual(result, current)) {\n return current;\n }\n\n return result;\n }),\n []\n );\n\n const isDirty: GetFieldStatus<Values> = useCallback((path) => {\n if (path) {\n const overriddenValue = getPath(path, dirtyRef.current);\n if (typeof overriddenValue === 'boolean') {\n return overriddenValue;\n }\n\n const sliceOfValues = getPath(path, $values.refValues.current);\n const sliceOfInitialValues = getPath(path, $values.valuesSnapshot.current);\n return !isEqual(sliceOfValues, sliceOfInitialValues);\n }\n\n const isOverridden = Object.keys(dirtyRef.current).length > 0;\n if (isOverridden) {\n return getStatus(dirtyRef.current);\n }\n\n return !isEqual($values.refValues.current, $values.valuesSnapshot.current);\n }, []);\n\n const getDirty = useCallback(() => dirtyRef.current, []);\n const getTouched = useCallback(() => touchedRef.current, []);\n\n return {\n touchedState,\n dirtyState,\n touchedRef,\n dirtyRef,\n setTouched,\n setDirty,\n resetDirty,\n resetTouched,\n isTouched,\n setFieldTouched,\n setFieldDirty,\n setTouchedState,\n setDirtyState,\n clearFieldDirty,\n isDirty,\n getDirty,\n getTouched,\n setCalculatedFieldDirty,\n };\n}\n"],"mappings":"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"}