Package not found. Please check the package name and try again.

@mantine/form 6.0.16 → 7.0.0-alpha.21

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 (148) hide show
  1. package/cjs/src/mantine-form/src/Form/Form.js +61 -0
  2. package/cjs/src/mantine-form/src/Form/Form.js.map +1 -0
  3. package/cjs/src/mantine-form/src/FormProvider/FormProvider.js +28 -0
  4. package/cjs/src/mantine-form/src/FormProvider/FormProvider.js.map +1 -0
  5. package/cjs/src/mantine-form/src/filter-errors/filter-errors.js +19 -0
  6. package/cjs/src/mantine-form/src/filter-errors/filter-errors.js.map +1 -0
  7. package/cjs/src/mantine-form/src/form-index.js +8 -0
  8. package/cjs/src/mantine-form/src/form-index.js.map +1 -0
  9. package/cjs/src/mantine-form/src/get-input-on-change/get-input-on-change.js +29 -0
  10. package/cjs/src/mantine-form/src/get-input-on-change/get-input-on-change.js.map +1 -0
  11. package/cjs/src/mantine-form/src/get-status/get-status.js +15 -0
  12. package/cjs/src/mantine-form/src/get-status/get-status.js.map +1 -0
  13. package/cjs/src/mantine-form/src/index.js +36 -0
  14. package/cjs/src/mantine-form/src/index.js.map +1 -0
  15. package/cjs/src/mantine-form/src/lists/change-error-indices.js +63 -0
  16. package/cjs/src/mantine-form/src/lists/change-error-indices.js.map +1 -0
  17. package/cjs/src/mantine-form/src/lists/clear-list-state.js +35 -0
  18. package/cjs/src/mantine-form/src/lists/clear-list-state.js.map +1 -0
  19. package/cjs/src/mantine-form/src/lists/reorder-errors.js +49 -0
  20. package/cjs/src/mantine-form/src/lists/reorder-errors.js.map +1 -0
  21. package/cjs/src/mantine-form/src/paths/get-path.js +23 -0
  22. package/cjs/src/mantine-form/src/paths/get-path.js.map +1 -0
  23. package/cjs/src/mantine-form/src/paths/get-splitted-path.js +13 -0
  24. package/cjs/src/mantine-form/src/paths/get-splitted-path.js.map +1 -0
  25. package/cjs/src/mantine-form/src/paths/insert-path.js +19 -0
  26. package/cjs/src/mantine-form/src/paths/insert-path.js.map +1 -0
  27. package/cjs/src/mantine-form/src/paths/remove-path.js +21 -0
  28. package/cjs/src/mantine-form/src/paths/remove-path.js.map +1 -0
  29. package/cjs/src/mantine-form/src/paths/reorder-path.js +21 -0
  30. package/cjs/src/mantine-form/src/paths/reorder-path.js.map +1 -0
  31. package/cjs/src/mantine-form/src/paths/set-path.js +30 -0
  32. package/cjs/src/mantine-form/src/paths/set-path.js.map +1 -0
  33. package/cjs/src/mantine-form/src/resolvers/joi-resolver/joi-resolver.js +37 -0
  34. package/cjs/src/mantine-form/src/resolvers/joi-resolver/joi-resolver.js.map +1 -0
  35. package/cjs/src/mantine-form/src/resolvers/superstruct-resolver/superstruct-resolver.js +22 -0
  36. package/cjs/src/mantine-form/src/resolvers/superstruct-resolver/superstruct-resolver.js.map +1 -0
  37. package/cjs/src/mantine-form/src/resolvers/yup-resolver/yup-resolver.js +23 -0
  38. package/cjs/src/mantine-form/src/resolvers/yup-resolver/yup-resolver.js.map +1 -0
  39. package/cjs/src/mantine-form/src/resolvers/zod-resolver/zod-resolver.js +20 -0
  40. package/cjs/src/mantine-form/src/resolvers/zod-resolver/zod-resolver.js.map +1 -0
  41. package/cjs/src/mantine-form/src/use-form.js +247 -0
  42. package/cjs/src/mantine-form/src/use-form.js.map +1 -0
  43. package/cjs/src/mantine-form/src/validate/should-validate-on-change.js +21 -0
  44. package/cjs/src/mantine-form/src/validate/should-validate-on-change.js.map +1 -0
  45. package/cjs/src/mantine-form/src/validate/validate-field-value.js +19 -0
  46. package/cjs/src/mantine-form/src/validate/validate-field-value.js.map +1 -0
  47. package/cjs/src/mantine-form/src/validate/validate-values.js +46 -0
  48. package/cjs/src/mantine-form/src/validate/validate-values.js.map +1 -0
  49. package/cjs/src/mantine-form/src/validators/has-length/has-length.js +33 -0
  50. package/cjs/src/mantine-form/src/validators/has-length/has-length.js.map +1 -0
  51. package/cjs/src/mantine-form/src/validators/is-email/is-email.js +12 -0
  52. package/cjs/src/mantine-form/src/validators/is-email/is-email.js.map +1 -0
  53. package/cjs/src/mantine-form/src/validators/is-in-range/is-in-range.js +23 -0
  54. package/cjs/src/mantine-form/src/validators/is-in-range/is-in-range.js.map +1 -0
  55. package/cjs/src/mantine-form/src/validators/is-not-empty/is-not-empty.js +25 -0
  56. package/cjs/src/mantine-form/src/validators/is-not-empty/is-not-empty.js.map +1 -0
  57. package/cjs/src/mantine-form/src/validators/matches/matches.js +16 -0
  58. package/cjs/src/mantine-form/src/validators/matches/matches.js.map +1 -0
  59. package/cjs/src/mantine-form/src/validators/matches-field/matches-field.js +16 -0
  60. package/cjs/src/mantine-form/src/validators/matches-field/matches-field.js.map +1 -0
  61. package/esm/src/mantine-form/src/Form/Form.js +53 -0
  62. package/esm/src/mantine-form/src/Form/Form.js.map +1 -0
  63. package/esm/src/mantine-form/src/FormProvider/FormProvider.js +20 -0
  64. package/esm/src/mantine-form/src/FormProvider/FormProvider.js.map +1 -0
  65. package/esm/src/mantine-form/src/filter-errors/filter-errors.js +15 -0
  66. package/esm/src/mantine-form/src/filter-errors/filter-errors.js.map +1 -0
  67. package/esm/src/mantine-form/src/form-index.js +4 -0
  68. package/esm/src/mantine-form/src/form-index.js.map +1 -0
  69. package/esm/src/mantine-form/src/get-input-on-change/get-input-on-change.js +25 -0
  70. package/esm/src/mantine-form/src/get-input-on-change/get-input-on-change.js.map +1 -0
  71. package/esm/src/mantine-form/src/get-status/get-status.js +11 -0
  72. package/esm/src/mantine-form/src/get-status/get-status.js.map +1 -0
  73. package/esm/src/mantine-form/src/index.js +15 -0
  74. package/esm/src/mantine-form/src/index.js.map +1 -0
  75. package/esm/src/mantine-form/src/lists/change-error-indices.js +59 -0
  76. package/esm/src/mantine-form/src/lists/change-error-indices.js.map +1 -0
  77. package/esm/src/mantine-form/src/lists/clear-list-state.js +31 -0
  78. package/esm/src/mantine-form/src/lists/clear-list-state.js.map +1 -0
  79. package/esm/src/mantine-form/src/lists/reorder-errors.js +45 -0
  80. package/esm/src/mantine-form/src/lists/reorder-errors.js.map +1 -0
  81. package/esm/src/mantine-form/src/paths/get-path.js +19 -0
  82. package/esm/src/mantine-form/src/paths/get-path.js.map +1 -0
  83. package/esm/src/mantine-form/src/paths/get-splitted-path.js +9 -0
  84. package/esm/src/mantine-form/src/paths/get-splitted-path.js.map +1 -0
  85. package/esm/src/mantine-form/src/paths/insert-path.js +15 -0
  86. package/esm/src/mantine-form/src/paths/insert-path.js.map +1 -0
  87. package/esm/src/mantine-form/src/paths/remove-path.js +17 -0
  88. package/esm/src/mantine-form/src/paths/remove-path.js.map +1 -0
  89. package/esm/src/mantine-form/src/paths/reorder-path.js +17 -0
  90. package/esm/src/mantine-form/src/paths/reorder-path.js.map +1 -0
  91. package/esm/src/mantine-form/src/paths/set-path.js +26 -0
  92. package/esm/src/mantine-form/src/paths/set-path.js.map +1 -0
  93. package/esm/src/mantine-form/src/resolvers/joi-resolver/joi-resolver.js +33 -0
  94. package/esm/src/mantine-form/src/resolvers/joi-resolver/joi-resolver.js.map +1 -0
  95. package/esm/src/mantine-form/src/resolvers/superstruct-resolver/superstruct-resolver.js +18 -0
  96. package/esm/src/mantine-form/src/resolvers/superstruct-resolver/superstruct-resolver.js.map +1 -0
  97. package/esm/src/mantine-form/src/resolvers/yup-resolver/yup-resolver.js +19 -0
  98. package/esm/src/mantine-form/src/resolvers/yup-resolver/yup-resolver.js.map +1 -0
  99. package/esm/src/mantine-form/src/resolvers/zod-resolver/zod-resolver.js +16 -0
  100. package/esm/src/mantine-form/src/resolvers/zod-resolver/zod-resolver.js.map +1 -0
  101. package/esm/src/mantine-form/src/use-form.js +239 -0
  102. package/esm/src/mantine-form/src/use-form.js.map +1 -0
  103. package/esm/src/mantine-form/src/validate/should-validate-on-change.js +17 -0
  104. package/esm/src/mantine-form/src/validate/should-validate-on-change.js.map +1 -0
  105. package/esm/src/mantine-form/src/validate/validate-field-value.js +15 -0
  106. package/esm/src/mantine-form/src/validate/validate-field-value.js.map +1 -0
  107. package/esm/src/mantine-form/src/validate/validate-values.js +42 -0
  108. package/esm/src/mantine-form/src/validate/validate-values.js.map +1 -0
  109. package/esm/src/mantine-form/src/validators/has-length/has-length.js +29 -0
  110. package/esm/src/mantine-form/src/validators/has-length/has-length.js.map +1 -0
  111. package/esm/src/mantine-form/src/validators/is-email/is-email.js +8 -0
  112. package/esm/src/mantine-form/src/validators/is-email/is-email.js.map +1 -0
  113. package/esm/src/mantine-form/src/validators/is-in-range/is-in-range.js +19 -0
  114. package/esm/src/mantine-form/src/validators/is-in-range/is-in-range.js.map +1 -0
  115. package/esm/src/mantine-form/src/validators/is-not-empty/is-not-empty.js +21 -0
  116. package/esm/src/mantine-form/src/validators/is-not-empty/is-not-empty.js.map +1 -0
  117. package/esm/src/mantine-form/src/validators/matches/matches.js +12 -0
  118. package/esm/src/mantine-form/src/validators/matches/matches.js.map +1 -0
  119. package/esm/src/mantine-form/src/validators/matches-field/matches-field.js +12 -0
  120. package/esm/src/mantine-form/src/validators/matches-field/matches-field.js.map +1 -0
  121. package/lib/Form/Form.d.ts +1 -1
  122. package/lib/Form/Form.d.ts.map +1 -1
  123. package/lib/get-input-on-change/get-input-on-change.d.ts +1 -0
  124. package/lib/get-input-on-change/get-input-on-change.d.ts.map +1 -1
  125. package/lib/lists/change-error-indices.d.ts +1 -1
  126. package/lib/lists/change-error-indices.d.ts.map +1 -1
  127. package/lib/paths/insert-path.d.ts +1 -1
  128. package/lib/paths/insert-path.d.ts.map +1 -1
  129. package/lib/paths/set-path.d.ts.map +1 -1
  130. package/lib/types.d.ts +2 -2
  131. package/lib/types.d.ts.map +1 -1
  132. package/lib/validate/validate-field-value.d.ts +1 -1
  133. package/lib/validate/validate-field-value.d.ts.map +1 -1
  134. package/lib/validate/validate-values.d.ts +1 -1
  135. package/lib/validate/validate-values.d.ts.map +1 -1
  136. package/lib/validators/has-length/has-length.d.ts +1 -1
  137. package/lib/validators/has-length/has-length.d.ts.map +1 -1
  138. package/lib/validators/is-email/is-email.d.ts +1 -1
  139. package/lib/validators/is-email/is-email.d.ts.map +1 -1
  140. package/lib/validators/is-in-range/is-in-range.d.ts +1 -1
  141. package/lib/validators/is-in-range/is-in-range.d.ts.map +1 -1
  142. package/lib/validators/is-not-empty/is-not-empty.d.ts +1 -1
  143. package/lib/validators/is-not-empty/is-not-empty.d.ts.map +1 -1
  144. package/lib/validators/matches/matches.d.ts +1 -1
  145. package/lib/validators/matches/matches.d.ts.map +1 -1
  146. package/lib/validators/matches-field/matches-field.d.ts +1 -1
  147. package/lib/validators/matches-field/matches-field.d.ts.map +1 -1
  148. package/package.json +10 -5
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ function superstructResolver(schema) {
6
+ function structValidation(values) {
7
+ const formErrors = {};
8
+ const [err] = schema.validate(values);
9
+ if (!err) {
10
+ return formErrors;
11
+ }
12
+ err.failures().forEach((fieldFailure) => {
13
+ const fieldName = fieldFailure.path.join(" ");
14
+ formErrors[fieldFailure.path.join(".")] = `${fieldName}: ${fieldFailure.message}`;
15
+ });
16
+ return formErrors;
17
+ }
18
+ return structValidation;
19
+ }
20
+
21
+ exports.superstructResolver = superstructResolver;
22
+ //# sourceMappingURL=superstruct-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"superstruct-resolver.js","sources":["../../../../../../src/resolvers/superstruct-resolver/superstruct-resolver.ts"],"sourcesContent":["import type { FormErrors } from '../../types';\n\ntype StructFailure = {\n value: any;\n key: any;\n type: string;\n refinement: string | undefined;\n message: string;\n explanation?: string;\n branch: Array<any>;\n path: Array<any>;\n};\n\ntype StructValidationError = {\n failures: () => Array<StructFailure>;\n};\n\nexport function superstructResolver(schema: any) {\n function structValidation(values: Record<string, any>): FormErrors {\n const formErrors: FormErrors = {};\n\n const [err]: [StructValidationError | null, unknown] = schema.validate(values);\n if (!err) {\n return formErrors;\n }\n\n err.failures().forEach((fieldFailure) => {\n const fieldName = fieldFailure.path.join(' ');\n formErrors[fieldFailure.path.join('.')] = `${fieldName}: ${fieldFailure.message}`;\n });\n\n return formErrors;\n }\n\n return structValidation;\n}\n"],"names":[],"mappings":";;;;AAAO,SAAS,mBAAmB,CAAC,MAAM,EAAE;AAC5C,EAAE,SAAS,gBAAgB,CAAC,MAAM,EAAE;AACpC,IAAI,MAAM,UAAU,GAAG,EAAE,CAAC;AAC1B,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1C,IAAI,IAAI,CAAC,GAAG,EAAE;AACd,MAAM,OAAO,UAAU,CAAC;AACxB,KAAK;AACL,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,YAAY,KAAK;AAC7C,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpD,MAAM,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AACxF,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,UAAU,CAAC;AACtB,GAAG;AACH,EAAE,OAAO,gBAAgB,CAAC;AAC1B;;;;"}
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ function yupResolver(schema) {
6
+ const _schema = schema;
7
+ return (values) => {
8
+ try {
9
+ _schema.validateSync(values, { abortEarly: false });
10
+ return {};
11
+ } catch (_yupError) {
12
+ const yupError = _yupError;
13
+ const results = {};
14
+ yupError.inner.forEach((error) => {
15
+ results[error.path.replaceAll("[", ".").replaceAll("]", "")] = error.message;
16
+ });
17
+ return results;
18
+ }
19
+ };
20
+ }
21
+
22
+ exports.yupResolver = yupResolver;
23
+ //# sourceMappingURL=yup-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yup-resolver.js","sources":["../../../../../../src/resolvers/yup-resolver/yup-resolver.ts"],"sourcesContent":["import type { FormErrors } from '../../types';\n\ninterface YupError {\n path: string;\n message: string;\n}\n\ninterface YupValidationResult {\n inner: YupError[];\n}\n\ninterface YupSchema {\n validateSync(values: Record<string, any>, options: { abortEarly: boolean }): void;\n}\n\nexport function yupResolver(schema: any) {\n const _schema: YupSchema = schema;\n\n return (values: Record<string, any>): FormErrors => {\n try {\n _schema.validateSync(values, { abortEarly: false });\n return {};\n } catch (_yupError) {\n const yupError = _yupError as YupValidationResult;\n const results: Record<string, any> = {};\n\n yupError.inner.forEach((error) => {\n results[error.path.replaceAll('[', '.').replaceAll(']', '')] = error.message;\n });\n\n return results;\n }\n };\n}\n"],"names":[],"mappings":";;;;AAAO,SAAS,WAAW,CAAC,MAAM,EAAE;AACpC,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC;AACzB,EAAE,OAAO,CAAC,MAAM,KAAK;AACrB,IAAI,IAAI;AACR,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1D,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK,CAAC,OAAO,SAAS,EAAE;AACxB,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC;AACjC,MAAM,MAAM,OAAO,GAAG,EAAE,CAAC;AACzB,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AACxC,QAAQ,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;AACrF,OAAO,CAAC,CAAC;AACT,MAAM,OAAO,OAAO,CAAC;AACrB,KAAK;AACL,GAAG,CAAC;AACJ;;;;"}
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ function zodResolver(schema) {
6
+ return (values) => {
7
+ const parsed = schema.safeParse(values);
8
+ if (parsed.success) {
9
+ return {};
10
+ }
11
+ const results = {};
12
+ parsed.error.errors.forEach((error) => {
13
+ results[error.path.join(".")] = error.message;
14
+ });
15
+ return results;
16
+ };
17
+ }
18
+
19
+ exports.zodResolver = zodResolver;
20
+ //# sourceMappingURL=zod-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod-resolver.js","sources":["../../../../../../src/resolvers/zod-resolver/zod-resolver.ts"],"sourcesContent":["import type { FormErrors } from '../../types';\n\ninterface ZodError {\n path: (string | number)[];\n message: string;\n}\n\ninterface ZodParseSuccess {\n success: true;\n}\n\ninterface ZodParseError {\n success: false;\n error: {\n errors: ZodError[];\n };\n}\n\ninterface ZodSchema<T extends Record<string, any>> {\n safeParse(values: T): ZodParseSuccess | ZodParseError;\n}\n\nexport function zodResolver<T extends Record<string, any>>(schema: ZodSchema<T>) {\n return (values: T): FormErrors => {\n const parsed = schema.safeParse(values);\n\n if (parsed.success) {\n return {};\n }\n\n const results: Record<string, any> = {};\n\n (parsed as ZodParseError).error.errors.forEach((error) => {\n results[error.path.join('.')] = error.message;\n });\n\n return results;\n };\n}\n"],"names":[],"mappings":";;;;AAAO,SAAS,WAAW,CAAC,MAAM,EAAE;AACpC,EAAE,OAAO,CAAC,MAAM,KAAK;AACrB,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAC5C,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE;AACxB,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,IAAI,MAAM,OAAO,GAAG,EAAE,CAAC;AACvB,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AAC3C,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;AACpD,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG,CAAC;AACJ;;;;"}
@@ -0,0 +1,247 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var isEqual = require('fast-deep-equal');
7
+ var filterErrors = require('./filter-errors/filter-errors.js');
8
+ var clearListState = require('./lists/clear-list-state.js');
9
+ var shouldValidateOnChange = require('./validate/should-validate-on-change.js');
10
+ var setPath = require('./paths/set-path.js');
11
+ var validateFieldValue = require('./validate/validate-field-value.js');
12
+ var reorderPath = require('./paths/reorder-path.js');
13
+ var reorderErrors = require('./lists/reorder-errors.js');
14
+ var removePath = require('./paths/remove-path.js');
15
+ var changeErrorIndices = require('./lists/change-error-indices.js');
16
+ var insertPath = require('./paths/insert-path.js');
17
+ var validateValues = require('./validate/validate-values.js');
18
+ var getStatus = require('./get-status/get-status.js');
19
+ var getPath = require('./paths/get-path.js');
20
+ var getInputOnChange = require('./get-input-on-change/get-input-on-change.js');
21
+
22
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
23
+
24
+ var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
25
+
26
+ var __defProp = Object.defineProperty;
27
+ var __defProps = Object.defineProperties;
28
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
29
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
30
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
31
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
32
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
33
+ var __spreadValues = (a, b) => {
34
+ for (var prop in b || (b = {}))
35
+ if (__hasOwnProp.call(b, prop))
36
+ __defNormalProp(a, prop, b[prop]);
37
+ if (__getOwnPropSymbols)
38
+ for (var prop of __getOwnPropSymbols(b)) {
39
+ if (__propIsEnum.call(b, prop))
40
+ __defNormalProp(a, prop, b[prop]);
41
+ }
42
+ return a;
43
+ };
44
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
45
+ function useForm({
46
+ initialValues = {},
47
+ initialErrors = {},
48
+ initialDirty = {},
49
+ initialTouched = {},
50
+ clearInputErrorOnChange = true,
51
+ validateInputOnChange = false,
52
+ validateInputOnBlur = false,
53
+ transformValues = (values) => values,
54
+ validate: rules
55
+ } = {}) {
56
+ const [touched, setTouched] = React.useState(initialTouched);
57
+ const [dirty, setDirty] = React.useState(initialDirty);
58
+ const [values, _setValues] = React.useState(initialValues);
59
+ const [errors, _setErrors] = React.useState(filterErrors.filterErrors(initialErrors));
60
+ const valuesSnapshot = React.useRef(initialValues);
61
+ const setValuesSnapshot = (_values) => {
62
+ valuesSnapshot.current = _values;
63
+ };
64
+ const resetTouched = React.useCallback(() => setTouched({}), []);
65
+ const resetDirty = (_values) => {
66
+ const newSnapshot = _values ? __spreadValues(__spreadValues({}, values), _values) : values;
67
+ setValuesSnapshot(newSnapshot);
68
+ setDirty({});
69
+ };
70
+ const setErrors = React.useCallback(
71
+ (errs) => _setErrors((current) => filterErrors.filterErrors(typeof errs === "function" ? errs(current) : errs)),
72
+ []
73
+ );
74
+ const clearErrors = React.useCallback(() => _setErrors({}), []);
75
+ const reset = React.useCallback(() => {
76
+ _setValues(initialValues);
77
+ clearErrors();
78
+ setValuesSnapshot(initialValues);
79
+ setDirty({});
80
+ resetTouched();
81
+ }, []);
82
+ const setFieldError = React.useCallback(
83
+ (path, error) => setErrors((current) => __spreadProps(__spreadValues({}, current), { [path]: error })),
84
+ []
85
+ );
86
+ const clearFieldError = React.useCallback(
87
+ (path) => setErrors((current) => {
88
+ if (typeof path !== "string") {
89
+ return current;
90
+ }
91
+ const clone = __spreadValues({}, current);
92
+ delete clone[path];
93
+ return clone;
94
+ }),
95
+ []
96
+ );
97
+ const clearFieldDirty = React.useCallback(
98
+ (path) => setDirty((current) => {
99
+ if (typeof path !== "string") {
100
+ return current;
101
+ }
102
+ const result = clearListState.clearListState(path, current);
103
+ delete result[path];
104
+ return result;
105
+ }),
106
+ []
107
+ );
108
+ const setFieldValue = React.useCallback((path, value) => {
109
+ const shouldValidate = shouldValidateOnChange.shouldValidateOnChange(path, validateInputOnChange);
110
+ clearFieldDirty(path);
111
+ setTouched((currentTouched) => __spreadProps(__spreadValues({}, currentTouched), { [path]: true }));
112
+ _setValues((current) => {
113
+ const result = setPath.setPath(path, value, current);
114
+ if (shouldValidate) {
115
+ const validationResults = validateFieldValue.validateFieldValue(path, rules, result);
116
+ validationResults.hasError ? setFieldError(path, validationResults.error) : clearFieldError(path);
117
+ }
118
+ return result;
119
+ });
120
+ !shouldValidate && clearInputErrorOnChange && setFieldError(path, null);
121
+ }, []);
122
+ const setValues = React.useCallback((payload) => {
123
+ _setValues((currentValues) => {
124
+ const valuesPartial = typeof payload === "function" ? payload(currentValues) : payload;
125
+ return __spreadValues(__spreadValues({}, currentValues), valuesPartial);
126
+ });
127
+ clearInputErrorOnChange && clearErrors();
128
+ }, []);
129
+ const reorderListItem = React.useCallback((path, payload) => {
130
+ clearFieldDirty(path);
131
+ _setValues((current) => reorderPath.reorderPath(path, payload, current));
132
+ _setErrors((errs) => reorderErrors.reorderErrors(path, payload, errs));
133
+ }, []);
134
+ const removeListItem = React.useCallback((path, index) => {
135
+ clearFieldDirty(path);
136
+ _setValues((current) => removePath.removePath(path, index, current));
137
+ _setErrors((errs) => changeErrorIndices.changeErrorIndices(path, index, errs, -1));
138
+ }, []);
139
+ const insertListItem = React.useCallback((path, item, index) => {
140
+ clearFieldDirty(path);
141
+ _setValues((current) => insertPath.insertPath(path, item, index, current));
142
+ _setErrors((errs) => changeErrorIndices.changeErrorIndices(path, index, errs, 1));
143
+ }, []);
144
+ const validate = React.useCallback(() => {
145
+ const results = validateValues.validateValues(rules, values);
146
+ _setErrors(results.errors);
147
+ return results;
148
+ }, [values, rules]);
149
+ const validateField = React.useCallback(
150
+ (path) => {
151
+ const results = validateFieldValue.validateFieldValue(path, rules, values);
152
+ results.hasError ? setFieldError(path, results.error) : clearFieldError(path);
153
+ return results;
154
+ },
155
+ [values, rules]
156
+ );
157
+ const getInputProps = (path, { type = "input", withError = true, withFocus = true } = {}) => {
158
+ const onChange = getInputOnChange.getInputOnChange((value) => setFieldValue(path, value));
159
+ const payload = { onChange };
160
+ if (withError) {
161
+ payload.error = errors[path];
162
+ }
163
+ if (type === "checkbox") {
164
+ payload.checked = getPath.getPath(path, values);
165
+ } else {
166
+ payload.value = getPath.getPath(path, values);
167
+ }
168
+ if (withFocus) {
169
+ payload.onFocus = () => setTouched((current) => __spreadProps(__spreadValues({}, current), { [path]: true }));
170
+ payload.onBlur = () => {
171
+ if (shouldValidateOnChange.shouldValidateOnChange(path, validateInputOnBlur)) {
172
+ const validationResults = validateFieldValue.validateFieldValue(path, rules, values);
173
+ validationResults.hasError ? setFieldError(path, validationResults.error) : clearFieldError(path);
174
+ }
175
+ };
176
+ }
177
+ return payload;
178
+ };
179
+ const onSubmit = (handleSubmit, handleValidationFailure) => (event) => {
180
+ event == null ? void 0 : event.preventDefault();
181
+ const results = validate();
182
+ if (results.hasErrors) {
183
+ handleValidationFailure == null ? void 0 : handleValidationFailure(results.errors, values, event);
184
+ } else {
185
+ handleSubmit == null ? void 0 : handleSubmit(transformValues(values), event);
186
+ }
187
+ };
188
+ const getTransformedValues = (input) => transformValues(input || values);
189
+ const onReset = React.useCallback((event) => {
190
+ event.preventDefault();
191
+ reset();
192
+ }, []);
193
+ const isDirty = (path) => {
194
+ if (path) {
195
+ const overriddenValue = getPath.getPath(path, dirty);
196
+ if (typeof overriddenValue === "boolean") {
197
+ return overriddenValue;
198
+ }
199
+ const sliceOfValues = getPath.getPath(path, values);
200
+ const sliceOfInitialValues = getPath.getPath(path, valuesSnapshot.current);
201
+ return !isEqual__default(sliceOfValues, sliceOfInitialValues);
202
+ }
203
+ const isOverridden = Object.keys(dirty).length > 0;
204
+ if (isOverridden) {
205
+ return getStatus.getStatus(dirty);
206
+ }
207
+ return !isEqual__default(values, valuesSnapshot.current);
208
+ };
209
+ const isTouched = React.useCallback(
210
+ (path) => getStatus.getStatus(touched, path),
211
+ [touched]
212
+ );
213
+ const isValid = React.useCallback(
214
+ (path) => path ? !validateFieldValue.validateFieldValue(path, rules, values).hasError : !validateValues.validateValues(rules, values).hasErrors,
215
+ [values, rules]
216
+ );
217
+ return {
218
+ values,
219
+ errors,
220
+ setValues,
221
+ setErrors,
222
+ setFieldValue,
223
+ setFieldError,
224
+ clearFieldError,
225
+ clearErrors,
226
+ reset,
227
+ validate,
228
+ validateField,
229
+ reorderListItem,
230
+ removeListItem,
231
+ insertListItem,
232
+ getInputProps,
233
+ onSubmit,
234
+ onReset,
235
+ isDirty,
236
+ isTouched,
237
+ setTouched,
238
+ setDirty,
239
+ resetTouched,
240
+ resetDirty,
241
+ isValid,
242
+ getTransformedValues
243
+ };
244
+ }
245
+
246
+ exports.useForm = useForm;
247
+ //# sourceMappingURL=use-form.js.map
@@ -0,0 +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 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":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAS3D,SAAS,OAAO,CAAC;AACxB,EAAE,aAAa,GAAG,EAAE;AACpB,EAAE,aAAa,GAAG,EAAE;AACpB,EAAE,YAAY,GAAG,EAAE;AACnB,EAAE,cAAc,GAAG,EAAE;AACrB,EAAE,uBAAuB,GAAG,IAAI;AAChC,EAAE,qBAAqB,GAAG,KAAK;AAC/B,EAAE,mBAAmB,GAAG,KAAK;AAC7B,EAAE,eAAe,GAAG,CAAC,MAAM,KAAK,MAAM;AACtC,EAAE,QAAQ,EAAE,KAAK;AACjB,CAAC,GAAG,EAAE,EAAE;AACR,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGA,cAAQ,CAAC,cAAc,CAAC,CAAC;AACzD,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGA,cAAQ,CAAC,YAAY,CAAC,CAAC;AACnD,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAGA,cAAQ,CAAC,aAAa,CAAC,CAAC;AACvD,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAGA,cAAQ,CAACC,yBAAY,CAAC,aAAa,CAAC,CAAC,CAAC;AACrE,EAAE,MAAM,cAAc,GAAGC,YAAM,CAAC,aAAa,CAAC,CAAC;AAC/C,EAAE,MAAM,iBAAiB,GAAG,CAAC,OAAO,KAAK;AACzC,IAAI,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC;AACrC,GAAG,CAAC;AACJ,EAAE,MAAM,YAAY,GAAGC,iBAAW,CAAC,MAAM,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7D,EAAE,MAAM,UAAU,GAAG,CAAC,OAAO,KAAK;AAClC,IAAI,MAAM,WAAW,GAAG,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;AAC/F,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC;AACnC,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC;AACjB,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,GAAGA,iBAAW;AAC/B,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,OAAO,KAAKF,yBAAY,CAAC,OAAO,IAAI,KAAK,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AACtG,IAAI,EAAE;AACN,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAGE,iBAAW,CAAC,MAAM,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5D,EAAE,MAAM,KAAK,GAAGA,iBAAW,CAAC,MAAM;AAClC,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC;AAC9B,IAAI,WAAW,EAAE,CAAC;AAClB,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC;AACrC,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC;AACjB,IAAI,YAAY,EAAE,CAAC;AACnB,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,MAAM,aAAa,GAAGA,iBAAW;AACnC,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC;AAC1G,IAAI,EAAE;AACN,GAAG,CAAC;AACJ,EAAE,MAAM,eAAe,GAAGA,iBAAW;AACrC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,OAAO,KAAK;AACrC,MAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACpC,QAAQ,OAAO,OAAO,CAAC;AACvB,OAAO;AACP,MAAM,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAChD,MAAM,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;AACzB,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK,CAAC;AACN,IAAI,EAAE;AACN,GAAG,CAAC;AACJ,EAAE,MAAM,eAAe,GAAGA,iBAAW;AACrC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,OAAO,KAAK;AACpC,MAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACpC,QAAQ,OAAO,OAAO,CAAC;AACvB,OAAO;AACP,MAAM,MAAM,MAAM,GAAGC,6BAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACnD,MAAM,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK,CAAC;AACN,IAAI,EAAE;AACN,GAAG,CAAC;AACJ,EAAE,MAAM,aAAa,GAAGD,iBAAW,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK;AACrD,IAAI,MAAM,cAAc,GAAGE,6CAAsB,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;AAC/E,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;AAC1B,IAAI,UAAU,CAAC,CAAC,cAAc,KAAK,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;AACxG,IAAI,UAAU,CAAC,CAAC,OAAO,KAAK;AAC5B,MAAM,MAAM,MAAM,GAAGC,eAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACnD,MAAM,IAAI,cAAc,EAAE;AAC1B,QAAQ,MAAM,iBAAiB,GAAGC,qCAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC1E,QAAQ,iBAAiB,CAAC,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAC1G,OAAO;AACP,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK,CAAC,CAAC;AACP,IAAI,CAAC,cAAc,IAAI,uBAAuB,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5E,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,MAAM,SAAS,GAAGJ,iBAAW,CAAC,CAAC,OAAO,KAAK;AAC7C,IAAI,UAAU,CAAC,CAAC,aAAa,KAAK;AAClC,MAAM,MAAM,aAAa,GAAG,OAAO,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC;AAC7F,MAAM,OAAO,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC;AAC9E,KAAK,CAAC,CAAC;AACP,IAAI,uBAAuB,IAAI,WAAW,EAAE,CAAC;AAC7C,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,MAAM,eAAe,GAAGA,iBAAW,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK;AACzD,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;AAC1B,IAAI,UAAU,CAAC,CAAC,OAAO,KAAKK,uBAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACjE,IAAI,UAAU,CAAC,CAAC,IAAI,KAAKC,2BAAa,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAC7D,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,MAAM,cAAc,GAAGN,iBAAW,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK;AACtD,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;AAC1B,IAAI,UAAU,CAAC,CAAC,OAAO,KAAKO,qBAAU,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9D,IAAI,UAAU,CAAC,CAAC,IAAI,KAAKC,qCAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,MAAM,cAAc,GAAGR,iBAAW,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,KAAK;AAC5D,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;AAC1B,IAAI,UAAU,CAAC,CAAC,OAAO,KAAKS,qBAAU,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AACpE,IAAI,UAAU,CAAC,CAAC,IAAI,KAAKD,qCAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACnE,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,MAAM,QAAQ,GAAGR,iBAAW,CAAC,MAAM;AACrC,IAAI,MAAM,OAAO,GAAGU,6BAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAClD,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC/B,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACtB,EAAE,MAAM,aAAa,GAAGV,iBAAW;AACnC,IAAI,CAAC,IAAI,KAAK;AACd,MAAM,MAAM,OAAO,GAAGI,qCAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC9D,MAAM,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AACpF,MAAM,OAAO,OAAO,CAAC;AACrB,KAAK;AACL,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;AACnB,GAAG,CAAC;AACJ,EAAE,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,GAAG,OAAO,EAAE,SAAS,GAAG,IAAI,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK;AAC/F,IAAI,MAAM,QAAQ,GAAGO,iCAAgB,CAAC,CAAC,KAAK,KAAK,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7E,IAAI,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,CAAC;AACjC,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACnC,KAAK;AACL,IAAI,IAAI,IAAI,KAAK,UAAU,EAAE;AAC7B,MAAM,OAAO,CAAC,OAAO,GAAGC,eAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9C,KAAK,MAAM;AACX,MAAM,OAAO,CAAC,KAAK,GAAGA,eAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC5C,KAAK;AACL,IAAI,IAAI,SAAS,EAAE;AACnB,MAAM,OAAO,CAAC,OAAO,GAAG,MAAM,UAAU,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;AACpH,MAAM,OAAO,CAAC,MAAM,GAAG,MAAM;AAC7B,QAAQ,IAAIV,6CAAsB,CAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE;AAC/D,UAAU,MAAM,iBAAiB,GAAGE,qCAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC5E,UAAU,iBAAiB,CAAC,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAC5G,SAAS;AACT,OAAO,CAAC;AACR,KAAK;AACL,IAAI,OAAO,OAAO,CAAC;AACnB,GAAG,CAAC;AACJ,EAAE,MAAM,QAAQ,GAAG,CAAC,YAAY,EAAE,uBAAuB,KAAK,CAAC,KAAK,KAAK;AACzE,IAAI,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;AACpD,IAAI,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC;AAC/B,IAAI,IAAI,OAAO,CAAC,SAAS,EAAE;AAC3B,MAAM,uBAAuB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,uBAAuB,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACxG,KAAK,MAAM;AACX,MAAM,YAAY,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;AACnF,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,oBAAoB,GAAG,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;AAC3E,EAAE,MAAM,OAAO,GAAGJ,iBAAW,CAAC,CAAC,KAAK,KAAK;AACzC,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;AAC3B,IAAI,KAAK,EAAE,CAAC;AACZ,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,MAAM,OAAO,GAAG,CAAC,IAAI,KAAK;AAC5B,IAAI,IAAI,IAAI,EAAE;AACd,MAAM,MAAM,eAAe,GAAGY,eAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACnD,MAAM,IAAI,OAAO,eAAe,KAAK,SAAS,EAAE;AAChD,QAAQ,OAAO,eAAe,CAAC;AAC/B,OAAO;AACP,MAAM,MAAM,aAAa,GAAGA,eAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAClD,MAAM,MAAM,oBAAoB,GAAGA,eAAO,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;AACzE,MAAM,OAAO,CAACC,gBAAO,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;AAC3D,KAAK;AACL,IAAI,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACvD,IAAI,IAAI,YAAY,EAAE;AACtB,MAAM,OAAOC,mBAAS,CAAC,KAAK,CAAC,CAAC;AAC9B,KAAK;AACL,IAAI,OAAO,CAACD,gBAAO,CAAC,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;AACpD,GAAG,CAAC;AACJ,EAAE,MAAM,SAAS,GAAGb,iBAAW;AAC/B,IAAI,CAAC,IAAI,KAAKc,mBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;AACtC,IAAI,CAAC,OAAO,CAAC;AACb,GAAG,CAAC;AACJ,EAAE,MAAM,OAAO,GAAGd,iBAAW;AAC7B,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,CAACI,qCAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,GAAG,CAACM,6BAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,SAAS;AACjH,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;AACnB,GAAG,CAAC;AACJ,EAAE,OAAO;AACT,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,aAAa;AACjB,IAAI,aAAa;AACjB,IAAI,eAAe;AACnB,IAAI,WAAW;AACf,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,aAAa;AACjB,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,aAAa;AACjB,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,oBAAoB;AACxB,GAAG,CAAC;AACJ;;;;"}
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var formIndex = require('../form-index.js');
6
+
7
+ function shouldValidateOnChange(path, validateInputOnChange) {
8
+ if (!validateInputOnChange) {
9
+ return false;
10
+ }
11
+ if (typeof validateInputOnChange === "boolean") {
12
+ return validateInputOnChange;
13
+ }
14
+ if (Array.isArray(validateInputOnChange)) {
15
+ return validateInputOnChange.includes(path.replace(/[.][0-9]/g, `.${formIndex.FORM_INDEX}`));
16
+ }
17
+ return false;
18
+ }
19
+
20
+ exports.shouldValidateOnChange = shouldValidateOnChange;
21
+ //# sourceMappingURL=should-validate-on-change.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"should-validate-on-change.js","sources":["../../../../../src/validate/should-validate-on-change.ts"],"sourcesContent":["import { FORM_INDEX } from '../form-index';\n\nexport function shouldValidateOnChange(path: unknown, validateInputOnChange: boolean | unknown[]) {\n if (!validateInputOnChange) {\n return false;\n }\n\n if (typeof validateInputOnChange === 'boolean') {\n return validateInputOnChange;\n }\n\n if (Array.isArray(validateInputOnChange)) {\n return validateInputOnChange.includes((path as string).replace(/[.][0-9]/g, `.${FORM_INDEX}`));\n }\n\n return false;\n}\n"],"names":["FORM_INDEX"],"mappings":";;;;;;AACO,SAAS,sBAAsB,CAAC,IAAI,EAAE,qBAAqB,EAAE;AACpE,EAAE,IAAI,CAAC,qBAAqB,EAAE;AAC9B,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH,EAAE,IAAI,OAAO,qBAAqB,KAAK,SAAS,EAAE;AAClD,IAAI,OAAO,qBAAqB,CAAC;AACjC,GAAG;AACH,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;AAC5C,IAAI,OAAO,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAEA,oBAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,GAAG;AACH,EAAE,OAAO,KAAK,CAAC;AACf;;;;"}
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var validateValues = require('./validate-values.js');
6
+
7
+ function validateFieldValue(path, rules, values) {
8
+ if (typeof path !== "string") {
9
+ return { hasError: false, error: null };
10
+ }
11
+ const results = validateValues.validateValues(rules, values);
12
+ const pathInError = Object.keys(results.errors).find(
13
+ (errorKey) => path.split(".").every((pathPart, i) => pathPart === errorKey.split(".")[i])
14
+ );
15
+ return { hasError: !!pathInError, error: pathInError ? results.errors[pathInError] : null };
16
+ }
17
+
18
+ exports.validateFieldValue = validateFieldValue;
19
+ //# sourceMappingURL=validate-field-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-field-value.js","sources":["../../../../../src/validate/validate-field-value.ts"],"sourcesContent":["import { FormValidateInput, FormFieldValidationResult } from '../types';\nimport { validateValues } from './validate-values';\n\nexport function validateFieldValue<T>(\n path: unknown,\n rules: FormValidateInput<T> | undefined,\n values: T\n): FormFieldValidationResult {\n if (typeof path !== 'string') {\n return { hasError: false, error: null };\n }\n\n const results = validateValues(rules, values);\n const pathInError = Object.keys(results.errors).find((errorKey) =>\n path.split('.').every((pathPart, i) => pathPart === errorKey.split('.')[i])\n );\n return { hasError: !!pathInError, error: pathInError ? results.errors[pathInError] : null };\n}\n"],"names":["validateValues"],"mappings":";;;;;;AACO,SAAS,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;AACxD,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAChC,IAAI,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC5C,GAAG;AACH,EAAE,MAAM,OAAO,GAAGA,6BAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAChD,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI;AACtD,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,QAAQ,KAAK,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7F,GAAG,CAAC;AACJ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,CAAC;AAC9F;;;;"}
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var filterErrors = require('../filter-errors/filter-errors.js');
6
+ var getPath = require('../paths/get-path.js');
7
+
8
+ function getValidationResults(errors) {
9
+ const filteredErrors = filterErrors.filterErrors(errors);
10
+ return { hasErrors: Object.keys(filteredErrors).length > 0, errors: filteredErrors };
11
+ }
12
+ function validateRulesRecord(rules, values, path = "", errors = {}) {
13
+ if (typeof rules !== "object" || rules === null) {
14
+ return errors;
15
+ }
16
+ return Object.keys(rules).reduce((acc, ruleKey) => {
17
+ const rule = rules[ruleKey];
18
+ const rulePath = `${path === "" ? "" : `${path}.`}${ruleKey}`;
19
+ const value = getPath.getPath(rulePath, values);
20
+ let arrayValidation = false;
21
+ if (typeof rule === "function") {
22
+ acc[rulePath] = rule(value, values, rulePath);
23
+ }
24
+ if (typeof rule === "object" && Array.isArray(value)) {
25
+ arrayValidation = true;
26
+ value.forEach(
27
+ (_item, index) => validateRulesRecord(rule, values, `${rulePath}.${index}`, acc)
28
+ );
29
+ }
30
+ if (typeof rule === "object" && typeof value === "object" && value !== null) {
31
+ if (!arrayValidation) {
32
+ validateRulesRecord(rule, values, rulePath, acc);
33
+ }
34
+ }
35
+ return acc;
36
+ }, errors);
37
+ }
38
+ function validateValues(validate, values) {
39
+ if (typeof validate === "function") {
40
+ return getValidationResults(validate(values));
41
+ }
42
+ return getValidationResults(validateRulesRecord(validate, values));
43
+ }
44
+
45
+ exports.validateValues = validateValues;
46
+ //# sourceMappingURL=validate-values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-values.js","sources":["../../../../../src/validate/validate-values.ts"],"sourcesContent":["import { filterErrors } from '../filter-errors';\nimport { getPath } from '../paths';\nimport { FormValidateInput, FormErrors, FormRulesRecord, FormRule } from '../types';\n\nfunction getValidationResults(errors: FormErrors) {\n const filteredErrors = filterErrors(errors);\n return { hasErrors: Object.keys(filteredErrors).length > 0, errors: filteredErrors };\n}\n\nfunction validateRulesRecord<T>(\n rules: FormRulesRecord<T> | undefined,\n values: T,\n path = '',\n errors: FormErrors = {}\n) {\n if (typeof rules !== 'object' || rules === null) {\n return errors;\n }\n\n return Object.keys(rules).reduce((acc, ruleKey) => {\n const rule: FormRule<any, any> = (rules as any)[ruleKey];\n const rulePath = `${path === '' ? '' : `${path}.`}${ruleKey}`;\n const value = getPath(rulePath, values);\n let arrayValidation = false;\n\n if (typeof rule === 'function') {\n acc[rulePath] = rule(value, values, rulePath);\n }\n\n if (typeof rule === 'object' && Array.isArray(value)) {\n arrayValidation = true;\n value.forEach((_item, index) =>\n validateRulesRecord(rule, values, `${rulePath}.${index}`, acc)\n );\n }\n\n if (typeof rule === 'object' && typeof value === 'object' && value !== null) {\n if (!arrayValidation) {\n validateRulesRecord(rule, values, rulePath, acc);\n }\n }\n\n return acc;\n }, errors);\n}\n\nexport function validateValues<T>(validate: FormValidateInput<T> | undefined, values: T) {\n if (typeof validate === 'function') {\n return getValidationResults(validate(values));\n }\n\n return getValidationResults(validateRulesRecord(validate, values));\n}\n"],"names":["filterErrors","getPath"],"mappings":";;;;;;;AAEA,SAAS,oBAAoB,CAAC,MAAM,EAAE;AACtC,EAAE,MAAM,cAAc,GAAGA,yBAAY,CAAC,MAAM,CAAC,CAAC;AAC9C,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AACvF,CAAC;AACD,SAAS,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE;AACpE,EAAE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;AACnD,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG;AACH,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK;AACrD,IAAI,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;AAChC,IAAI,MAAM,QAAQ,GAAG,CAAC,EAAE,IAAI,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAClE,IAAI,MAAM,KAAK,GAAGC,eAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC5C,IAAI,IAAI,eAAe,GAAG,KAAK,CAAC;AAChC,IAAI,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;AACpC,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AACpD,KAAK;AACL,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC1D,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,MAAM,KAAK,CAAC,OAAO;AACnB,QAAQ,CAAC,KAAK,EAAE,KAAK,KAAK,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;AACxF,OAAO,CAAC;AACR,KAAK;AACL,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;AACjF,MAAM,IAAI,CAAC,eAAe,EAAE;AAC5B,QAAQ,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;AACzD,OAAO;AACP,KAAK;AACL,IAAI,OAAO,GAAG,CAAC;AACf,GAAG,EAAE,MAAM,CAAC,CAAC;AACb,CAAC;AACM,SAAS,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE;AACjD,EAAE,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AACtC,IAAI,OAAO,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAClD,GAAG;AACH,EAAE,OAAO,oBAAoB,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AACrE;;;;"}
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ function isLengthValid(payload, value) {
6
+ if (typeof payload === "number") {
7
+ return value.length === payload;
8
+ }
9
+ const { max, min } = payload;
10
+ let valid = true;
11
+ if (typeof max === "number" && value.length > max) {
12
+ valid = false;
13
+ }
14
+ if (typeof min === "number" && value.length < min) {
15
+ valid = false;
16
+ }
17
+ return valid;
18
+ }
19
+ function hasLength(payload, error) {
20
+ const _error = error || true;
21
+ return (value) => {
22
+ if (typeof value === "string") {
23
+ return isLengthValid(payload, value.trim()) ? null : _error;
24
+ }
25
+ if (typeof value === "object" && value !== null && "length" in value) {
26
+ return isLengthValid(payload, value) ? null : _error;
27
+ }
28
+ return _error;
29
+ };
30
+ }
31
+
32
+ exports.hasLength = hasLength;
33
+ //# sourceMappingURL=has-length.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"has-length.js","sources":["../../../../../../src/validators/has-length/has-length.ts"],"sourcesContent":["import React from 'react';\n\ninterface HasLengthOptions {\n max?: number;\n min?: number;\n}\n\ntype HasLengthPayload = HasLengthOptions | number;\n\nfunction isLengthValid(payload: HasLengthPayload, value: any) {\n if (typeof payload === 'number') {\n return value.length === payload;\n }\n\n const { max, min } = payload;\n let valid = true;\n\n if (typeof max === 'number' && value.length > max) {\n valid = false;\n }\n\n if (typeof min === 'number' && value.length < min) {\n valid = false;\n }\n\n return valid;\n}\n\nexport function hasLength(payload: HasLengthPayload, error?: React.ReactNode) {\n const _error = error || true;\n\n return (value: unknown) => {\n if (typeof value === 'string') {\n return isLengthValid(payload, value.trim()) ? null : _error;\n }\n\n if (typeof value === 'object' && value !== null && 'length' in value) {\n return isLengthValid(payload, value) ? null : _error;\n }\n\n return _error;\n };\n}\n"],"names":[],"mappings":";;;;AAAA,SAAS,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE;AACvC,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACnC,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC;AACpC,GAAG;AACH,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AAC/B,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC;AACnB,EAAE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE;AACrD,IAAI,KAAK,GAAG,KAAK,CAAC;AAClB,GAAG;AACH,EAAE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE;AACrD,IAAI,KAAK,GAAG,KAAK,CAAC;AAClB,GAAG;AACH,EAAE,OAAO,KAAK,CAAC;AACf,CAAC;AACM,SAAS,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE;AAC1C,EAAE,MAAM,MAAM,GAAG,KAAK,IAAI,IAAI,CAAC;AAC/B,EAAE,OAAO,CAAC,KAAK,KAAK;AACpB,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,MAAM,OAAO,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC;AAClE,KAAK;AACL,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,QAAQ,IAAI,KAAK,EAAE;AAC1E,MAAM,OAAO,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC;AAC3D,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC;AACJ;;;;"}
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var matches = require('../matches/matches.js');
6
+
7
+ function isEmail(error) {
8
+ return matches.matches(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/, error);
9
+ }
10
+
11
+ exports.isEmail = isEmail;
12
+ //# sourceMappingURL=is-email.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-email.js","sources":["../../../../../../src/validators/is-email/is-email.ts"],"sourcesContent":["import React from 'react';\nimport { matches } from '../matches/matches';\n\nexport function isEmail(error?: React.ReactNode) {\n return matches(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/, error);\n}\n"],"names":["matches"],"mappings":";;;;;;AACO,SAAS,OAAO,CAAC,KAAK,EAAE;AAC/B,EAAE,OAAOA,eAAO,CAAC,kDAAkD,EAAE,KAAK,CAAC,CAAC;AAC5E;;;;"}
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ function isInRange({ min, max }, error) {
6
+ const _error = error || true;
7
+ return (value) => {
8
+ if (typeof value !== "number") {
9
+ return _error;
10
+ }
11
+ let valid = true;
12
+ if (typeof min === "number" && value < min) {
13
+ valid = false;
14
+ }
15
+ if (typeof max === "number" && value > max) {
16
+ valid = false;
17
+ }
18
+ return valid ? null : _error;
19
+ };
20
+ }
21
+
22
+ exports.isInRange = isInRange;
23
+ //# sourceMappingURL=is-in-range.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-in-range.js","sources":["../../../../../../src/validators/is-in-range/is-in-range.ts"],"sourcesContent":["import React from 'react';\n\ninterface IsInRangePayload {\n min?: number;\n max?: number;\n}\n\nexport function isInRange({ min, max }: IsInRangePayload, error?: React.ReactNode) {\n const _error = error || true;\n\n return (value: unknown) => {\n if (typeof value !== 'number') {\n return _error;\n }\n\n let valid = true;\n\n if (typeof min === 'number' && value < min) {\n valid = false;\n }\n\n if (typeof max === 'number' && value > max) {\n valid = false;\n }\n\n return valid ? null : _error;\n };\n}\n"],"names":[],"mappings":";;;;AAAO,SAAS,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE;AAC/C,EAAE,MAAM,MAAM,GAAG,KAAK,IAAI,IAAI,CAAC;AAC/B,EAAE,OAAO,CAAC,KAAK,KAAK;AACpB,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK;AACL,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC;AACrB,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,GAAG,GAAG,EAAE;AAChD,MAAM,KAAK,GAAG,KAAK,CAAC;AACpB,KAAK;AACL,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,GAAG,GAAG,EAAE;AAChD,MAAM,KAAK,GAAG,KAAK,CAAC;AACpB,KAAK;AACL,IAAI,OAAO,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC;AACjC,GAAG,CAAC;AACJ;;;;"}
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ function isNotEmpty(error) {
6
+ const _error = error || true;
7
+ return (value) => {
8
+ if (typeof value === "string") {
9
+ return value.trim().length > 0 ? null : _error;
10
+ }
11
+ if (Array.isArray(value)) {
12
+ return value.length > 0 ? null : _error;
13
+ }
14
+ if (value === null || value === void 0) {
15
+ return _error;
16
+ }
17
+ if (value === false) {
18
+ return _error;
19
+ }
20
+ return null;
21
+ };
22
+ }
23
+
24
+ exports.isNotEmpty = isNotEmpty;
25
+ //# sourceMappingURL=is-not-empty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-not-empty.js","sources":["../../../../../../src/validators/is-not-empty/is-not-empty.ts"],"sourcesContent":["import React from 'react';\n\nexport function isNotEmpty(error?: React.ReactNode) {\n const _error = error || true;\n\n return (value: unknown) => {\n if (typeof value === 'string') {\n return value.trim().length > 0 ? null : _error;\n }\n\n if (Array.isArray(value)) {\n return value.length > 0 ? null : _error;\n }\n\n if (value === null || value === undefined) {\n return _error;\n }\n\n if (value === false) {\n return _error;\n }\n\n return null;\n };\n}\n"],"names":[],"mappings":";;;;AAAO,SAAS,UAAU,CAAC,KAAK,EAAE;AAClC,EAAE,MAAM,MAAM,GAAG,KAAK,IAAI,IAAI,CAAC;AAC/B,EAAE,OAAO,CAAC,KAAK,KAAK;AACpB,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,MAAM,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC;AACrD,KAAK;AACL,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC9B,MAAM,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC;AAC9C,KAAK;AACL,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE;AAC5C,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK;AACL,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE;AACzB,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK;AACL,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG,CAAC;AACJ;;;;"}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ function matches(regexp, error) {
6
+ const _error = error || true;
7
+ return (value) => {
8
+ if (typeof value !== "string") {
9
+ return _error;
10
+ }
11
+ return regexp.test(value) ? null : _error;
12
+ };
13
+ }
14
+
15
+ exports.matches = matches;
16
+ //# sourceMappingURL=matches.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matches.js","sources":["../../../../../../src/validators/matches/matches.ts"],"sourcesContent":["import React from 'react';\n\nexport function matches(regexp: RegExp, error?: React.ReactNode) {\n const _error = error || true;\n\n return (value: unknown) => {\n if (typeof value !== 'string') {\n return _error;\n }\n\n return regexp.test(value) ? null : _error;\n };\n}\n"],"names":[],"mappings":";;;;AAAO,SAAS,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE;AACvC,EAAE,MAAM,MAAM,GAAG,KAAK,IAAI,IAAI,CAAC;AAC/B,EAAE,OAAO,CAAC,KAAK,KAAK;AACpB,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,MAAM,OAAO,MAAM,CAAC;AACpB,KAAK;AACL,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC;AAC9C,GAAG,CAAC;AACJ;;;;"}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ function matchesField(field, error) {
6
+ const _error = error || true;
7
+ return (value, values) => {
8
+ if (!values || !(field in values)) {
9
+ return _error;
10
+ }
11
+ return value === values[field] ? null : _error;
12
+ };
13
+ }
14
+
15
+ exports.matchesField = matchesField;
16
+ //# sourceMappingURL=matches-field.js.map