@becklyn/forms 2.0.4 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +221 -166
  2. package/dist/cjs/components/FormBuilder.d.ts +1 -1
  3. package/dist/cjs/components/FormBuilder.d.ts.map +1 -1
  4. package/dist/cjs/components/FormBuilder.js +0 -1
  5. package/dist/cjs/components/FormCustom.d.ts +4 -4
  6. package/dist/cjs/components/FormCustom.d.ts.map +1 -1
  7. package/dist/cjs/components/FormCustom.js +0 -1
  8. package/dist/cjs/components/FormEntry.d.ts +4 -4
  9. package/dist/cjs/components/FormEntry.d.ts.map +1 -1
  10. package/dist/cjs/components/FormEntry.js +0 -1
  11. package/dist/cjs/components/FormField.d.ts +3 -3
  12. package/dist/cjs/components/FormField.d.ts.map +1 -1
  13. package/dist/cjs/components/FormField.js +0 -1
  14. package/dist/cjs/components/FormRow.d.ts +4 -4
  15. package/dist/cjs/components/FormRow.d.ts.map +1 -1
  16. package/dist/cjs/components/FormRow.js +0 -1
  17. package/dist/cjs/components/FormSection.d.ts +4 -4
  18. package/dist/cjs/components/FormSection.d.ts.map +1 -1
  19. package/dist/cjs/components/FormSection.js +0 -1
  20. package/dist/cjs/condition/index.d.ts +2 -2
  21. package/dist/cjs/condition/index.d.ts.map +1 -1
  22. package/dist/cjs/context/FormProvider.d.ts +3 -6
  23. package/dist/cjs/context/FormProvider.d.ts.map +1 -1
  24. package/dist/cjs/context/FormProvider.js +23 -9
  25. package/dist/cjs/context/context.d.ts +8 -10
  26. package/dist/cjs/context/context.d.ts.map +1 -1
  27. package/dist/cjs/context/data/FormDataProvider.d.ts +8 -8
  28. package/dist/cjs/context/data/FormDataProvider.d.ts.map +1 -1
  29. package/dist/cjs/context/data/FormDataProvider.js +1 -2
  30. package/dist/cjs/context/data/context.d.ts +8 -8
  31. package/dist/cjs/context/data/context.d.ts.map +1 -1
  32. package/dist/cjs/guard/index.d.ts +4 -4
  33. package/dist/cjs/guard/index.d.ts.map +1 -1
  34. package/dist/cjs/hook/useFormData.d.ts +1 -2
  35. package/dist/cjs/hook/useFormData.d.ts.map +1 -1
  36. package/dist/cjs/hook/useFormValidations.d.ts +6 -5
  37. package/dist/cjs/hook/useFormValidations.d.ts.map +1 -1
  38. package/dist/cjs/hook/useFormValidations.js +0 -1
  39. package/dist/cjs/type/config.d.ts +11 -8
  40. package/dist/cjs/type/config.d.ts.map +1 -1
  41. package/dist/cjs/type/extract.d.ts +2 -2
  42. package/dist/cjs/type/extract.d.ts.map +1 -1
  43. package/dist/cjs/type/field.d.ts +11 -11
  44. package/dist/cjs/type/field.d.ts.map +1 -1
  45. package/dist/cjs/type/form.d.ts +7 -10
  46. package/dist/cjs/type/form.d.ts.map +1 -1
  47. package/dist/cjs/type/validation.d.ts +5 -7
  48. package/dist/cjs/type/validation.d.ts.map +1 -1
  49. package/dist/cjs/util/index.d.ts +28 -8
  50. package/dist/cjs/util/index.d.ts.map +1 -1
  51. package/dist/cjs/util/index.js +17 -21
  52. package/dist/cjs/validation/index.d.ts +3 -3
  53. package/dist/cjs/validation/index.d.ts.map +1 -1
  54. package/dist/es/components/FormBuilder.d.ts +1 -1
  55. package/dist/es/components/FormBuilder.d.ts.map +1 -1
  56. package/dist/es/components/FormBuilder.js +0 -1
  57. package/dist/es/components/FormCustom.d.ts +4 -4
  58. package/dist/es/components/FormCustom.d.ts.map +1 -1
  59. package/dist/es/components/FormCustom.js +0 -1
  60. package/dist/es/components/FormEntry.d.ts +4 -4
  61. package/dist/es/components/FormEntry.d.ts.map +1 -1
  62. package/dist/es/components/FormEntry.js +0 -1
  63. package/dist/es/components/FormField.d.ts +3 -3
  64. package/dist/es/components/FormField.d.ts.map +1 -1
  65. package/dist/es/components/FormField.js +0 -1
  66. package/dist/es/components/FormRow.d.ts +4 -4
  67. package/dist/es/components/FormRow.d.ts.map +1 -1
  68. package/dist/es/components/FormRow.js +0 -1
  69. package/dist/es/components/FormSection.d.ts +4 -4
  70. package/dist/es/components/FormSection.d.ts.map +1 -1
  71. package/dist/es/components/FormSection.js +0 -1
  72. package/dist/es/condition/index.d.ts +2 -2
  73. package/dist/es/condition/index.d.ts.map +1 -1
  74. package/dist/es/context/FormProvider.d.ts +3 -6
  75. package/dist/es/context/FormProvider.d.ts.map +1 -1
  76. package/dist/es/context/FormProvider.js +14 -12
  77. package/dist/es/context/context.d.ts +8 -10
  78. package/dist/es/context/context.d.ts.map +1 -1
  79. package/dist/es/context/data/FormDataProvider.d.ts +8 -8
  80. package/dist/es/context/data/FormDataProvider.d.ts.map +1 -1
  81. package/dist/es/context/data/FormDataProvider.js +0 -2
  82. package/dist/es/context/data/context.d.ts +8 -8
  83. package/dist/es/context/data/context.d.ts.map +1 -1
  84. package/dist/es/guard/index.d.ts +4 -4
  85. package/dist/es/guard/index.d.ts.map +1 -1
  86. package/dist/es/hook/useFormData.d.ts +1 -2
  87. package/dist/es/hook/useFormData.d.ts.map +1 -1
  88. package/dist/es/hook/useFormValidations.d.ts +6 -5
  89. package/dist/es/hook/useFormValidations.d.ts.map +1 -1
  90. package/dist/es/hook/useFormValidations.js +0 -1
  91. package/dist/es/type/config.d.ts +11 -8
  92. package/dist/es/type/config.d.ts.map +1 -1
  93. package/dist/es/type/extract.d.ts +2 -2
  94. package/dist/es/type/extract.d.ts.map +1 -1
  95. package/dist/es/type/field.d.ts +11 -11
  96. package/dist/es/type/field.d.ts.map +1 -1
  97. package/dist/es/type/form.d.ts +7 -10
  98. package/dist/es/type/form.d.ts.map +1 -1
  99. package/dist/es/type/validation.d.ts +5 -7
  100. package/dist/es/type/validation.d.ts.map +1 -1
  101. package/dist/es/util/index.d.ts +28 -8
  102. package/dist/es/util/index.d.ts.map +1 -1
  103. package/dist/es/util/index.js +17 -21
  104. package/dist/es/validation/index.d.ts +3 -3
  105. package/dist/es/validation/index.d.ts.map +1 -1
  106. package/package.json +1 -5
  107. package/dist/cjs/hoc/withForm.d.ts +0 -8
  108. package/dist/cjs/hoc/withForm.d.ts.map +0 -1
  109. package/dist/cjs/hoc/withForm.js +0 -17
  110. package/dist/cjs/hoc/withFormData.d.ts +0 -8
  111. package/dist/cjs/hoc/withFormData.d.ts.map +0 -1
  112. package/dist/cjs/hoc/withFormData.js +0 -15
  113. package/dist/es/hoc/withForm.d.ts +0 -8
  114. package/dist/es/hoc/withForm.d.ts.map +0 -1
  115. package/dist/es/hoc/withForm.js +0 -17
  116. package/dist/es/hoc/withFormData.d.ts +0 -8
  117. package/dist/es/hoc/withFormData.d.ts.map +0 -1
  118. package/dist/es/hoc/withFormData.js +0 -15
@@ -1,13 +1,25 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.someFieldConfigs = exports.reduceFieldConfigs = exports.mapFieldConfigs = exports.initialValuesFromConfig = exports.fieldsFromConfig = exports.fieldConfigFromFormField = exports.createFormConfig = void 0;
3
+ exports.someFieldConfigs = exports.reduceFieldConfigs = exports.mapFieldConfigs = exports.fieldsFromConfig = exports.fieldConfigFromFormField = exports.generateValueFn = exports.generateFormFieldConfigFn = exports.generateOnInput = exports.generateInitialValue = void 0;
7
4
  exports.eitherOr = eitherOr;
8
5
  /* eslint-disable @typescript-eslint/no-explicit-any */
9
- const lodash_merge_1 = __importDefault(require("lodash.merge"));
10
6
  const guard_1 = require("../guard");
7
+ const generateInitialValue = (value) => {
8
+ return value;
9
+ };
10
+ exports.generateInitialValue = generateInitialValue;
11
+ const generateOnInput = (inputFunction) => {
12
+ return inputFunction;
13
+ };
14
+ exports.generateOnInput = generateOnInput;
15
+ const generateFormFieldConfigFn = (fieldConfig) => {
16
+ return fieldConfig;
17
+ };
18
+ exports.generateFormFieldConfigFn = generateFormFieldConfigFn;
19
+ const generateValueFn = (valueFn) => {
20
+ return valueFn;
21
+ };
22
+ exports.generateValueFn = generateValueFn;
11
23
  function eitherOr(configOrCondition, either, or) {
12
24
  if (typeof configOrCondition === "boolean") {
13
25
  return configOrCondition ? either : or;
@@ -16,8 +28,6 @@ function eitherOr(configOrCondition, either, or) {
16
28
  return configOrCondition;
17
29
  }
18
30
  }
19
- const createFormConfig = (config) => (0, exports.mapFieldConfigs)(config, entry => entry);
20
- exports.createFormConfig = createFormConfig;
21
31
  const fieldConfigFromFormField = ({ name, fieldConfig }, data) => {
22
32
  return typeof fieldConfig === "function"
23
33
  ? fieldConfig({ value: data[name], data })
@@ -32,20 +42,6 @@ const fieldsFromConfig = (config) => {
32
42
  });
33
43
  };
34
44
  exports.fieldsFromConfig = fieldsFromConfig;
35
- const initialValuesFromConfig = (config) => {
36
- return (0, exports.reduceFieldConfigs)(config, (acc, field) => {
37
- if (field.initialValue !== undefined) {
38
- if (field.onInput) {
39
- acc = (0, lodash_merge_1.default)(acc, field.onInput({ field, value: field.initialValue, previousData: acc }));
40
- }
41
- else {
42
- acc[field.name] = field.initialValue;
43
- }
44
- }
45
- return acc;
46
- });
47
- };
48
- exports.initialValuesFromConfig = initialValuesFromConfig;
49
45
  const mapFieldConfigs = (entries, callbackFn) => {
50
46
  return entries.flatMap((entry, index) => {
51
47
  if (!entry) {
@@ -1,4 +1,4 @@
1
- import { FormConfig, FormData, FormErrors, FormFieldConfig } from "../type";
2
- export declare const handleValidateConfig: (config: FormConfig<FormFieldConfig<string, any, any>>, fieldConfigs: Record<string, FormFieldConfig<string, any, any>>, data: FormData<FormFieldConfig<string, any, any>>) => FormErrors;
3
- export declare const handleValidateField: ({ name, validations, conditions, valueFn }: FormFieldConfig<string, any, any>, fieldConfigs: Record<string, FormFieldConfig<string, any, any>>, data: FormData<FormFieldConfig<string, any, any>>) => FormErrors;
1
+ import { FormConfig, FormErrors, FormFieldConfig } from "../type";
2
+ export declare const handleValidateConfig: <GlobalFormData extends Record<string, any>>(config: FormConfig<FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData>, fieldConfigs: Record<string, FormFieldConfig<string, any, any, GlobalFormData>>, data: GlobalFormData) => FormErrors;
3
+ export declare const handleValidateField: <GlobalFormData extends Record<string, any>>({ name, validations, conditions, valueFn }: FormFieldConfig<string, any, any, GlobalFormData>, fieldConfigs: Record<string, FormFieldConfig<string, any, any, GlobalFormData>>, data: GlobalFormData) => FormErrors;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../validation/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAmB,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE7F,eAAO,MAAM,oBAAoB,WACrB,UAAU,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,gBACvC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QACzD,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,KAClD,UAYF,CAAC;AAiBF,eAAO,MAAM,mBAAmB,+CACgB,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,gBAC/D,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QACzD,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,KAClD,UA8BF,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../validation/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAmB,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEnF,eAAO,MAAM,oBAAoB,GAAI,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,UACnE,UAAU,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,cAAc,CAAC,gBACvE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,QACzE,cAAc,KACrB,UAYF,CAAC;AAiBF,eAAO,MAAM,mBAAmB,GAAI,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,8CAC9B,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,gBAC/E,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC,QACzE,cAAc,KACrB,UA8BF,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { FormBuilderProps, FormFieldConfig } from "../type";
2
- export declare const FormBuilder: <T extends FormFieldConfig<string, any, any>>({ Components, children, }: FormBuilderProps<T>) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const FormBuilder: <T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>>({ Components, children, }: FormBuilderProps<T, GlobalFormData>) => import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=FormBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormBuilder.d.ts","sourceRoot":"","sources":["../../../components/FormBuilder.tsx"],"names":[],"mappings":"AASA,OAAO,EAAyB,gBAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAWnF,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,6BAGpE,gBAAgB,CAAC,CAAC,CAAC,4CAErB,CAAC"}
1
+ {"version":3,"file":"FormBuilder.d.ts","sourceRoot":"","sources":["../../../components/FormBuilder.tsx"],"names":[],"mappings":"AASA,OAAO,EAAyB,gBAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAUnF,eAAO,MAAM,WAAW,GAEpB,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAE3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,6BAI3C,gBAAgB,CAAC,CAAC,EAAE,cAAc,CAAC,4CAErC,CAAC"}
@@ -13,7 +13,6 @@ const DefaultComponents = {
13
13
  RowWrapper: style_1.DefaultRowWrapper,
14
14
  FieldWrapper: style_1.DefaultFieldWrapper,
15
15
  };
16
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
16
  const FormBuilder = ({ Components = DefaultComponents, children, }) => {
18
17
  return (0, jsx_runtime_1.jsx)(FormBuilderComponent, { Components: Components, children: children });
19
18
  };
@@ -1,9 +1,9 @@
1
1
  import { FormBuilderComponents, FormBuilderProps, FormCustomConfig, FormFieldConfig } from "../type";
2
- interface FormCustomProps<T extends FormFieldConfig<string, any, any>> {
2
+ interface FormCustomProps<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> {
3
3
  Components: FormBuilderComponents;
4
- custom: FormCustomConfig<T>;
5
- children: FormBuilderProps<T>["children"];
4
+ custom: FormCustomConfig<T, GlobalFormData>;
5
+ children: FormBuilderProps<T, GlobalFormData>["children"];
6
6
  }
7
- export declare const FormCustom: <T extends FormFieldConfig<string, any, any>>({ Components, custom, children, }: FormCustomProps<T>) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const FormCustom: <T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>>({ Components, custom, children, }: FormCustomProps<T, GlobalFormData>) => import("react/jsx-runtime").JSX.Element;
8
8
  export {};
9
9
  //# sourceMappingURL=FormCustom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormCustom.d.ts","sourceRoot":"","sources":["../../../components/FormCustom.tsx"],"names":[],"mappings":"AACA,OAAO,EACH,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAClB,MAAM,SAAS,CAAC;AAIjB,UAAU,eAAe,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC;IACjE,UAAU,EAAE,qBAAqB,CAAC;IAClC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC5B,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;CAC7C;AAGD,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,qCAInE,eAAe,CAAC,CAAC,CAAC,4CAYpB,CAAC"}
1
+ {"version":3,"file":"FormCustom.d.ts","sourceRoot":"","sources":["../../../components/FormCustom.tsx"],"names":[],"mappings":"AACA,OAAO,EACH,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAClB,MAAM,SAAS,CAAC;AAGjB,UAAU,eAAe,CAErB,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAE3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAE1C,UAAU,EAAE,qBAAqB,CAAC;IAClC,MAAM,EAAE,gBAAgB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IAC5C,QAAQ,EAAE,gBAAgB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,UAAU,CAAC,CAAC;CAC7D;AAED,eAAO,MAAM,UAAU,GAEnB,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAE3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,qCAK3C,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,4CAYpC,CAAC"}
@@ -7,7 +7,6 @@ exports.FormCustom = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const react_1 = __importDefault(require("react"));
9
9
  const FormEntry_1 = require("./FormEntry");
10
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
10
  const FormCustom = ({ Components, custom, children, }) => {
12
11
  return ((0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: custom.wrapper(custom.content.map((entry, index) => ((0, jsx_runtime_1.jsx)(FormEntry_1.FormEntry, { entry: entry, Components: Components, children: children }, index)))) }));
13
12
  };
@@ -1,9 +1,9 @@
1
1
  import { FormBuilderComponents, FormBuilderProps, FormEntryConfig, FormFieldConfig } from "../type";
2
- interface FormEntryProps<T extends FormFieldConfig<string, any, any>> {
2
+ interface FormEntryProps<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> {
3
3
  Components: FormBuilderComponents;
4
- entry: FormEntryConfig<T>;
5
- children: FormBuilderProps<T>["children"];
4
+ entry: FormEntryConfig<T, GlobalFormData>;
5
+ children: FormBuilderProps<T, GlobalFormData>["children"];
6
6
  }
7
- export declare const FormEntry: <T extends FormFieldConfig<string, any, any>>({ Components, entry, children, }: FormEntryProps<T>) => import("react/jsx-runtime").JSX.Element | null;
7
+ export declare const FormEntry: <T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>>({ Components, entry, children, }: FormEntryProps<T, GlobalFormData>) => import("react/jsx-runtime").JSX.Element | null;
8
8
  export {};
9
9
  //# sourceMappingURL=FormEntry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormEntry.d.ts","sourceRoot":"","sources":["../../../components/FormEntry.tsx"],"names":[],"mappings":"AAIA,OAAO,EACH,qBAAqB,EACrB,gBAAgB,EAEhB,eAAe,EACf,eAAe,EAClB,MAAM,SAAS,CAAC;AAQjB,UAAU,cAAc,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC;IAChE,UAAU,EAAE,qBAAqB,CAAC;IAClC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC1B,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;CAC7C;AAGD,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,oCAIlE,cAAc,CAAC,CAAC,CAAC,mDA2DnB,CAAC"}
1
+ {"version":3,"file":"FormEntry.d.ts","sourceRoot":"","sources":["../../../components/FormEntry.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAOpG,UAAU,cAAc,CAEpB,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAE3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAE1C,UAAU,EAAE,qBAAqB,CAAC;IAClC,KAAK,EAAE,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IAC1C,QAAQ,EAAE,gBAAgB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,UAAU,CAAC,CAAC;CAC7D;AAED,eAAO,MAAM,SAAS,GAElB,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAE3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,oCAK3C,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,mDA2DnC,CAAC"}
@@ -11,7 +11,6 @@ const FormCustom_1 = require("./FormCustom");
11
11
  const FormField_1 = require("./FormField");
12
12
  const FormRow_1 = require("./FormRow");
13
13
  const FormSection_1 = require("./FormSection");
14
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
14
  const FormEntry = ({ Components, entry, children, }) => {
16
15
  const { data, fieldConfigs } = (0, context_1.useForm)();
17
16
  const getHasChildren = (0, react_1.useCallback)((formData) => {
@@ -1,9 +1,9 @@
1
1
  import { FormBuilderComponents, FormBuilderProps, FormFieldConfig } from "../type";
2
- interface FormFieldProps<T extends FormFieldConfig<string, any, any>> {
2
+ interface FormFieldProps<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> {
3
3
  Components: FormBuilderComponents;
4
4
  field: T;
5
- children: FormBuilderProps<T>["children"];
5
+ children: FormBuilderProps<T, GlobalFormData>["children"];
6
6
  }
7
- export declare const FormField: <T extends FormFieldConfig<string, any, any>>({ Components, field, children, }: FormFieldProps<T>) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const FormField: <T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>>({ Components, field, children, }: FormFieldProps<T, GlobalFormData>) => import("react/jsx-runtime").JSX.Element;
8
8
  export {};
9
9
  //# sourceMappingURL=FormField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../components/FormField.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEH,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EAClB,MAAM,SAAS,CAAC;AAGjB,UAAU,cAAc,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC;IAChE,UAAU,EAAE,qBAAqB,CAAC;IAClC,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;CAC7C;AAGD,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,oCAIlE,cAAc,CAAC,CAAC,CAAC,4CA4GnB,CAAC"}
1
+ {"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../components/FormField.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEH,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EAClB,MAAM,SAAS,CAAC;AAEjB,UAAU,cAAc,CAEpB,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAE3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAE1C,UAAU,EAAE,qBAAqB,CAAC;IAClC,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,gBAAgB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,UAAU,CAAC,CAAC;CAC7D;AAED,eAAO,MAAM,SAAS,GAElB,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAE3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,oCAK3C,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,4CA4GnC,CAAC"}
@@ -6,7 +6,6 @@ const react_1 = require("react");
6
6
  const context_1 = require("../context");
7
7
  const useFormData_1 = require("../hook/useFormData");
8
8
  const useFormErrors_1 = require("../hook/useFormErrors");
9
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
9
  const FormField = ({ Components, field, children, }) => {
11
10
  const { editData, validationStrategy: contextValidationStrategy, validateField, onInput, } = (0, context_1.useForm)();
12
11
  const { name, columns, conditions, validations, valueFn, validationStrategy: fieldValidationStrategy, onInput: onFieldInput, fieldConfig: fieldConfigFunc, } = field;
@@ -1,9 +1,9 @@
1
1
  import { FormBuilderComponents, FormBuilderProps, FormFieldConfig, FormRowConfig } from "../type";
2
- interface FormRowProps<T extends FormFieldConfig<string, any, any>> {
2
+ interface FormRowProps<T extends FormFieldConfig<string, any, any>, GlobalFormData extends Record<string, any>> {
3
3
  Components: FormBuilderComponents;
4
- row: FormRowConfig<T>;
5
- children: FormBuilderProps<T>["children"];
4
+ row: FormRowConfig<T, GlobalFormData>;
5
+ children: FormBuilderProps<T, GlobalFormData>["children"];
6
6
  }
7
- export declare const FormRow: <T extends FormFieldConfig<string, any, any>>({ Components, row, children, }: FormRowProps<T>) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const FormRow: <T extends FormFieldConfig<string, any, any>, GlobalFormData extends Record<string, any>>({ Components, row, children, }: FormRowProps<T, GlobalFormData>) => import("react/jsx-runtime").JSX.Element;
8
8
  export {};
9
9
  //# sourceMappingURL=FormRow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormRow.d.ts","sourceRoot":"","sources":["../../../components/FormRow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIlG,UAAU,YAAY,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC;IAC9D,UAAU,EAAE,qBAAqB,CAAC;IAClC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACtB,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;CAC7C;AAGD,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,kCAIhE,YAAY,CAAC,CAAC,CAAC,4CAgBjB,CAAC"}
1
+ {"version":3,"file":"FormRow.d.ts","sourceRoot":"","sources":["../../../components/FormRow.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGlG,UAAU,YAAY,CAElB,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAE3C,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAE1C,UAAU,EAAE,qBAAqB,CAAC;IAClC,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IACtC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,UAAU,CAAC,CAAC;CAC7D;AAED,eAAO,MAAM,OAAO,GAEhB,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAE3C,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,kCAK3C,YAAY,CAAC,CAAC,EAAE,cAAc,CAAC,4CAgBjC,CAAC"}
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FormRow = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const FormEntry_1 = require("./FormEntry");
6
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
6
  const FormRow = ({ Components, row, children, }) => {
8
7
  const { RowWrapper } = Components;
9
8
  if (!RowWrapper) {
@@ -1,9 +1,9 @@
1
1
  import { FormBuilderComponents, FormBuilderProps, FormFieldConfig, FormSectionConfig } from "../type";
2
- interface FormSectionProps<T extends FormFieldConfig<string, any, any>> {
2
+ interface FormSectionProps<T extends FormFieldConfig<string, any, any>, GlobalFormData extends Record<string, any>> {
3
3
  Components: FormBuilderComponents;
4
- section: FormSectionConfig<T>;
5
- children: FormBuilderProps<T>["children"];
4
+ section: FormSectionConfig<T, GlobalFormData>;
5
+ children: FormBuilderProps<T, GlobalFormData>["children"];
6
6
  }
7
- export declare const FormSection: <T extends FormFieldConfig<string, any, any>>({ Components, section, children, }: FormSectionProps<T>) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const FormSection: <T extends FormFieldConfig<string, any, any>, GlobalFormData extends Record<string, any>>({ Components, section, children, }: FormSectionProps<T, GlobalFormData>) => import("react/jsx-runtime").JSX.Element;
8
8
  export {};
9
9
  //# sourceMappingURL=FormSection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormSection.d.ts","sourceRoot":"","sources":["../../../components/FormSection.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACpB,MAAM,SAAS,CAAC;AAIjB,UAAU,gBAAgB,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC;IAClE,UAAU,EAAE,qBAAqB,CAAC;IAClC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC9B,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;CAC7C;AAGD,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,sCAIpE,gBAAgB,CAAC,CAAC,CAAC,4CAgBrB,CAAC"}
1
+ {"version":3,"file":"FormSection.d.ts","sourceRoot":"","sources":["../../../components/FormSection.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACpB,MAAM,SAAS,CAAC;AAGjB,UAAU,gBAAgB,CAEtB,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAE3C,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAE1C,UAAU,EAAE,qBAAqB,CAAC;IAClC,OAAO,EAAE,iBAAiB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IAC9C,QAAQ,EAAE,gBAAgB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,UAAU,CAAC,CAAC;CAC7D;AAED,eAAO,MAAM,WAAW,GAEpB,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAE3C,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,sCAK3C,gBAAgB,CAAC,CAAC,EAAE,cAAc,CAAC,4CAgBrC,CAAC"}
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FormSection = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const FormEntry_1 = require("./FormEntry");
6
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
6
  const FormSection = ({ Components, section, children, }) => {
8
7
  const { SectionWrapper } = Components;
9
8
  if (!SectionWrapper) {
@@ -1,3 +1,3 @@
1
- import { FormData, FormFieldConfig } from "../type";
2
- export declare const fieldFulfillsConditions: <T extends FormFieldConfig<string, any, any>>({ conditions }: Pick<T, "conditions">, fieldConfigs: Record<string, T>, data: FormData<T>) => boolean;
1
+ import { FormFieldConfig } from "../type";
2
+ export declare const fieldFulfillsConditions: <T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>>({ conditions }: Pick<T, "conditions">, fieldConfigs: Record<string, T>, data: GlobalFormData) => boolean;
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../condition/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEpE,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,kBAC/D,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,gBACvB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,QACzB,QAAQ,CAAC,CAAC,CAAC,KAClB,OAUF,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../condition/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1D,eAAO,MAAM,uBAAuB,GAChC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,kBAE1B,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,gBACvB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,QACzB,cAAc,KACrB,OAUF,CAAC"}
@@ -1,8 +1,5 @@
1
+ import { PropsWithChildren } from "react";
1
2
  import { FormFieldConfig } from "type";
2
- export declare const FormProvider: {
3
- (props: import("./data").FormProviderProps<FormFieldConfig<string, any, any>> & {
4
- children?: import("react").ReactNode | undefined;
5
- }): import("react/jsx-runtime").JSX.Element;
6
- displayName: string;
7
- };
3
+ import { FormProviderProps } from "./data/FormDataProvider";
4
+ export declare const FormProvider: <T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>>({ children, ...props }: PropsWithChildren<FormProviderProps<T, GlobalFormData>>) => import("react/jsx-runtime").JSX.Element;
8
5
  //# sourceMappingURL=FormProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormProvider.d.ts","sourceRoot":"","sources":["../../../context/FormProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAQvC,eAAO,MAAM,YAAY;;;;;CA2BxB,CAAC"}
1
+ {"version":3,"file":"FormProvider.d.ts","sourceRoot":"","sources":["../../../context/FormProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuB,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAIvC,OAAO,EAAoB,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG9E,eAAO,MAAM,YAAY,GAErB,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAE3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,0BAI3C,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,4CA6BzD,CAAC"}
@@ -3,26 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FormProvider = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
- const withFormData_1 = require("../hoc/withFormData");
7
6
  const useFormValidations_1 = require("../hook/useFormValidations");
8
7
  const util_1 = require("../util");
9
8
  const context_1 = require("./context");
9
+ const FormDataProvider_1 = require("./data/FormDataProvider");
10
10
  const context_2 = require("./data/context");
11
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
- exports.FormProvider = (0, withFormData_1.withFormData)(({ config, validationStrategy = "blur", onInput: internalOnInput, inheritData, children }) => {
11
+ const FormProvider = ({ children, ...props }) => {
13
12
  const externalForm = (0, context_1.useForm)();
14
13
  const { data, editData } = (0, react_1.useContext)(context_2.FormDataContext);
14
+ const { config, validationStrategy = "blur", onInput: internalOnInput, inheritData } = props;
15
15
  const onInput = inheritData && externalForm ? externalForm.onInput : internalOnInput;
16
16
  const fieldConfigs = (0, react_1.useMemo)(() => {
17
17
  return (0, util_1.fieldsFromConfig)(config);
18
18
  }, [config]);
19
19
  const formValidations = (0, useFormValidations_1.useFormValidations)(config, fieldConfigs);
20
- return ((0, jsx_runtime_1.jsx)(context_1.FormContext.Provider, { value: {
21
- ...formValidations,
22
- data,
23
- editData,
24
- fieldConfigs,
25
- validationStrategy,
26
- onInput,
27
- }, children: children }));
28
- });
20
+ return ((0, jsx_runtime_1.jsx)(FormDataProvider_1.FormDataProvider, { ...props, children: (0, jsx_runtime_1.jsx)(context_1.FormContext.Provider, { value: {
21
+ ...formValidations,
22
+ data,
23
+ editData,
24
+ fieldConfigs,
25
+ validationStrategy,
26
+ // @ts-expect-error - ts is not able to infer the correct type
27
+ onInput,
28
+ }, children: children }) }));
29
+ };
30
+ exports.FormProvider = FormProvider;
@@ -1,17 +1,15 @@
1
1
  import { Context } from "react";
2
2
  import { FormStore } from "../hook/useFormStore";
3
3
  import { FormValidations } from "../hook/useFormValidations";
4
- import { DeepPartial, FormData, FormFieldConfig, FormInputFunc, FormValidationStrategy } from "../type";
5
- interface FormContextProps<U extends FormFieldConfig<string, any, any>, TData = FormData<U>> extends FormValidations {
6
- data: FormStore<TData>;
7
- editData: FormStore<DeepPartial<TData>>;
8
- fieldConfigs: Record<string, U>;
4
+ import { FormFieldConfig, FormInputFunc, FormValidationStrategy } from "../type";
5
+ interface FormContextProps<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> extends FormValidations<T, GlobalFormData> {
6
+ data: FormStore<GlobalFormData>;
7
+ editData: FormStore<Partial<GlobalFormData>>;
8
+ fieldConfigs: Record<string, T>;
9
9
  validationStrategy: FormValidationStrategy;
10
- onInput?: FormInputFunc<U, U extends {
11
- initialValue?: infer V;
12
- } ? V : never>;
10
+ onInput?: FormInputFunc<T, T extends FormFieldConfig<string, any, infer V, any> ? V : never, GlobalFormData>;
13
11
  }
14
- export declare const FormContext: Context<FormContextProps<FormFieldConfig<string, any, any>, FormData<FormFieldConfig<string, any, any>>>>;
15
- export declare const useForm: <U extends FormFieldConfig<string, any, any>, TData = FormData<U>>() => FormContextProps<U, TData>;
12
+ export declare const FormContext: Context<FormContextProps<FormFieldConfig<string, any, any>, any>>;
13
+ export declare const useForm: <T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>>() => FormContextProps<T, GlobalFormData>;
16
14
  export {};
17
15
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../context/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAA6B,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EACH,WAAW,EACX,QAAQ,EACR,eAAe,EACf,aAAa,EACb,sBAAsB,EACzB,MAAM,SAAS,CAAC;AAEjB,UAAU,gBAAgB,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CACvF,SAAQ,eAAe;IACvB,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACvB,QAAQ,EAAE,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACxC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAChC,kBAAkB,EAAE,sBAAsB,CAAC;IAC3C,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;CAChF;AAED,eAAO,MAAM,WAAW,2GAEvB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,+CACG,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../context/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAA6B,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEjF,UAAU,gBAAgB,CACtB,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAC5C,SAAQ,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC;IACxC,IAAI,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAChC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAChC,kBAAkB,EAAE,sBAAsB,CAAC;IAC3C,OAAO,CAAC,EAAE,aAAa,CACnB,CAAC,EACD,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,EAChE,cAAc,CACjB,CAAC;CACL;AAED,eAAO,MAAM,WAAW,mEAEvB,CAAC;AAEF,eAAO,MAAM,OAAO,GAChB,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,0CAC2C,CAAC"}
@@ -1,19 +1,19 @@
1
1
  import { PropsWithChildren } from "react";
2
2
  import { FormStore } from "../../hook/useFormStore";
3
- import { FormConfig, FormData, FormErrors, FormFieldConfig, FormInputFunc, FormValidationStrategy } from "../../type";
4
- export interface FormProviderProps<T extends FormFieldConfig<string, any, any>> {
5
- config: FormConfig<T>;
6
- data?: FormStore<FormData<T>>;
3
+ import { FormConfig, FormErrors, FormFieldConfig, FormInputFunc, FormValidationStrategy } from "../../type";
4
+ export interface FormProviderProps<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> {
5
+ config: FormConfig<T, GlobalFormData>;
6
+ initialData: GlobalFormData;
7
+ data?: FormStore<GlobalFormData>;
7
8
  errors?: FormStore<FormErrors>;
8
- editData?: FormStore<FormData<T>>;
9
- initialData?: FormData<T>;
9
+ editData?: FormStore<GlobalFormData>;
10
10
  inheritData?: boolean;
11
11
  inheritErrors?: boolean;
12
12
  validationStrategy?: FormValidationStrategy;
13
13
  /**
14
14
  * @deprecated Use the field config's 'onInput' callback instead
15
15
  */
16
- onInput?: FormInputFunc<T, any>;
16
+ onInput?: FormInputFunc<T, T extends FormFieldConfig<string, any, infer V, any> ? V : never, GlobalFormData>;
17
17
  }
18
- export declare const FormDataProvider: <T extends FormFieldConfig<string, any, any>>({ config, initialData, children, ...props }: PropsWithChildren<FormProviderProps<T>>) => import("react/jsx-runtime").JSX.Element;
18
+ export declare const FormDataProvider: <T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>>({ config, initialData, children, ...props }: PropsWithChildren<FormProviderProps<T, GlobalFormData>>) => import("react/jsx-runtime").JSX.Element;
19
19
  //# sourceMappingURL=FormDataProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormDataProvider.d.ts","sourceRoot":"","sources":["../../../../context/data/FormDataProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAsB,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAgB,MAAM,yBAAyB,CAAC;AAClE,OAAO,EACH,UAAU,EACV,QAAQ,EACR,UAAU,EACV,eAAe,EACf,aAAa,EACb,sBAAsB,EACzB,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC;IAC1E,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAC5C;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;CACnC;AAED,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,+CAKzE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,4CAiBzC,CAAC"}
1
+ {"version":3,"file":"FormDataProvider.d.ts","sourceRoot":"","sources":["../../../../context/data/FormDataProvider.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAsB,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAgB,MAAM,yBAAyB,CAAC;AAClE,OAAO,EACH,UAAU,EACV,UAAU,EACV,eAAe,EACf,aAAa,EACb,sBAAsB,EACzB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,iBAAiB,CAC9B,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAE1C,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IACtC,WAAW,EAAE,cAAc,CAAC;IAC5B,IAAI,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAC5C;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CACnB,CAAC,EACD,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,EAChE,cAAc,CACjB,CAAC;CACL;AAED,eAAO,MAAM,gBAAgB,GACzB,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,+CAM3C,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,4CAgBzD,CAAC"}
@@ -5,14 +5,12 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  /* eslint-disable @typescript-eslint/no-explicit-any */
6
6
  const react_1 = require("react");
7
7
  const useFormStore_1 = require("../../hook/useFormStore");
8
- const util_1 = require("../../util");
9
8
  const context_1 = require("./context");
10
9
  const FormDataProvider = ({ config, initialData, children, ...props }) => {
11
10
  if (!config) {
12
11
  throw new Error("Config is undefined");
13
12
  }
14
13
  const initialDataRef = (0, react_1.useRef)({
15
- ...(0, util_1.initialValuesFromConfig)(config),
16
14
  ...(initialData ?? {}),
17
15
  });
18
16
  return ((0, jsx_runtime_1.jsx)(context_1.FormConfigContext.Provider, { value: { config }, children: (0, jsx_runtime_1.jsx)(FormDataReadyProvider, { ...props, initialData: initialDataRef.current, children: children }) }));
@@ -1,13 +1,13 @@
1
1
  import { FormStore } from "../../hook/useFormStore";
2
- import { FormConfig, FormData, FormErrors, FormFieldConfig } from "../../type";
3
- export type FormConfigContextProps<T extends FormFieldConfig<string, any, any>> = {
4
- config: FormConfig<T>;
2
+ import { FormConfig, FormErrors, FormFieldConfig } from "../../type";
3
+ export type FormConfigContextProps<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> = {
4
+ config: FormConfig<T, GlobalFormData>;
5
5
  };
6
- export declare const FormConfigContext: import("react").Context<FormConfigContextProps<FormFieldConfig<string, any, any>>>;
7
- export interface FormDataContext<T extends FormFieldConfig<string, any, any>> {
8
- data: FormStore<FormData<T>>;
9
- editData: FormStore<FormData<T>>;
6
+ export declare const FormConfigContext: import("react").Context<FormConfigContextProps<FormFieldConfig<string, any, any>, Record<string, any>>>;
7
+ export interface FormDataContextProps<GlobalFormData extends Record<string, any>> {
8
+ data: FormStore<GlobalFormData>;
9
+ editData: FormStore<GlobalFormData>;
10
10
  errors: FormStore<FormErrors>;
11
11
  }
12
- export declare const FormDataContext: import("react").Context<FormDataContext<FormFieldConfig<string, any, any>>>;
12
+ export declare const FormDataContext: import("react").Context<FormDataContextProps<any>>;
13
13
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../context/data/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE/E,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI;IAC9E,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,oFAEsD,CAAC;AAErF,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC;IACxE,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;CACjC;AAED,eAAO,MAAM,eAAe,6EAE3B,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../context/data/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAErE,MAAM,MAAM,sBAAsB,CAC9B,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAC1C;IACA,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,iBAAiB,yGAO7B,CAAC;AAEF,MAAM,WAAW,oBAAoB,CAAC,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC5E,IAAI,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAChC,QAAQ,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACpC,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;CACjC;AAED,eAAO,MAAM,eAAe,oDAE3B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { FormCustomConfig, FormEntryConfig, FormFieldConfig, FormRowConfig, FormSectionConfig } from "../type";
2
- export declare const isFormRowConfig: <T extends FormFieldConfig<string, any, any>>(config: FormEntryConfig<T>) => config is FormRowConfig<T>;
3
- export declare const isFormSectionConfig: <T extends FormFieldConfig<string, any, any>>(config: FormEntryConfig<T>) => config is FormSectionConfig<T>;
4
- export declare const isFormCustomConfig: <T extends FormFieldConfig<string, any, any>>(config: FormEntryConfig<T>) => config is FormCustomConfig<T>;
5
- export declare const isFormFieldConfig: <T extends FormFieldConfig<string, any, any>>(config: FormEntryConfig<T>) => config is T;
2
+ export declare const isFormRowConfig: <T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>>(config: FormEntryConfig<T, GlobalFormData>) => config is FormRowConfig<T, GlobalFormData>;
3
+ export declare const isFormSectionConfig: <T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>>(config: FormEntryConfig<T, GlobalFormData>) => config is FormSectionConfig<T, GlobalFormData>;
4
+ export declare const isFormCustomConfig: <T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>>(config: FormEntryConfig<T, GlobalFormData>) => config is FormCustomConfig<T, GlobalFormData>;
5
+ export declare const isFormFieldConfig: <T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>>(config: FormEntryConfig<T, GlobalFormData>) => config is T;
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../guard/index.ts"],"names":[],"mappings":"AACA,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,aAAa,EACb,iBAAiB,EACpB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,UAC/D,eAAe,CAAC,CAAC,CAAC,KAC3B,MAAM,IAAI,aAAa,CAAC,CAAC,CAE3B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,UACnE,eAAe,CAAC,CAAC,CAAC,KAC3B,MAAM,IAAI,iBAAiB,CAAC,CAAC,CAE/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,UAClE,eAAe,CAAC,CAAC,CAAC,KAC3B,MAAM,IAAI,gBAAgB,CAAC,CAAC,CAE9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,UACjE,eAAe,CAAC,CAAC,CAAC,KAC3B,MAAM,IAAI,CAEZ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../guard/index.ts"],"names":[],"mappings":"AACA,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,aAAa,EACb,iBAAiB,EACpB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,eAAe,GACxB,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,UAElC,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,KAC3C,MAAM,IAAI,aAAa,CAAC,CAAC,EAAE,cAAc,CAE3C,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC5B,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,UAElC,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,KAC3C,MAAM,IAAI,iBAAiB,CAAC,CAAC,EAAE,cAAc,CAE/C,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC3B,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,UAElC,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,KAC3C,MAAM,IAAI,gBAAgB,CAAC,CAAC,EAAE,cAAc,CAE9C,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC1B,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,UAElC,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,KAC3C,MAAM,IAAI,CAEZ,CAAC"}
@@ -1,5 +1,4 @@
1
- import { FormData, FormFieldConfig } from "../type";
2
1
  import { FormStore } from "./useFormStore";
3
- export declare const useFormData: <SelectorOutput, T extends FormFieldConfig<string, any, any>>(selector: (store: FormData<T>) => SelectorOutput) => [SelectorOutput, (value: Partial<FormData<T>>) => void, () => FormData<T>];
2
+ export declare const useFormData: <GlobalFormData extends Record<string, any>>(selector: (store: GlobalFormData) => GlobalFormData) => [GlobalFormData, (value: Partial<GlobalFormData>) => void, () => GlobalFormData];
4
3
  export declare const useData: <Store, SelectorOutput>(data: FormStore<Store>, selector: (store: Store) => SelectorOutput) => [SelectorOutput, (value: Partial<Store>) => void, () => Store];
5
4
  //# sourceMappingURL=useFormData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFormData.d.ts","sourceRoot":"","sources":["../../../hook/useFormData.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,WAAW,GAAI,cAAc,EAAE,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,YACzE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,cAAc,KACjD,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,CAQ3E,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,KAAK,EAAE,cAAc,QACnC,SAAS,CAAC,KAAK,CAAC,YACZ,CAAC,KAAK,EAAE,KAAK,KAAK,cAAc,KAC3C,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,MAAM,KAAK,CAQ/D,CAAC"}
1
+ {"version":3,"file":"useFormData.d.ts","sourceRoot":"","sources":["../../../hook/useFormData.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,eAAO,MAAM,WAAW,GAAI,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YACxD,CAAC,KAAK,EAAE,cAAc,KAAK,cAAc,KACpD,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,MAAM,cAAc,CAQjF,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,KAAK,EAAE,cAAc,QACnC,SAAS,CAAC,KAAK,CAAC,YACZ,CAAC,KAAK,EAAE,KAAK,KAAK,cAAc,KAC3C,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,MAAM,KAAK,CAQ/D,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { FormConfig, FormError, FormErrors, FormFieldConfig } from "../type";
2
- export type FormValidations = ReturnType<typeof useFormValidations>;
3
- export declare const useFormValidations: <T extends FormFieldConfig<string, any, any>>(config: FormConfig<T>, fieldConfigs: Record<string, T>) => {
4
- errors: import("./useFormStore").FormStore<FormErrors>;
2
+ import { FormStore } from "./useFormStore";
3
+ export interface FormValidations<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> {
4
+ errors: FormStore<FormErrors>;
5
5
  validateField: (field: T, skipUpdate?: boolean) => FormError | null;
6
6
  validateCategory: (category: string) => FormErrors;
7
- validateForm: (input?: FormConfig<T>, skipUpdate?: boolean) => FormErrors | null;
8
- };
7
+ validateForm: (input?: FormConfig<T, GlobalFormData>) => FormErrors | null;
8
+ }
9
+ export declare const useFormValidations: <T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>>(config: FormConfig<T, GlobalFormData>, fieldConfigs: Record<string, T>) => FormValidations<T, GlobalFormData>;
9
10
  //# sourceMappingURL=useFormValidations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFormValidations.d.ts","sourceRoot":"","sources":["../../../hook/useFormValidations.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI7E,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAGpE,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,UAClE,UAAU,CAAC,CAAC,CAAC,gBACP,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;;2BAqDnB,CAAC,eAAe,OAAO,KAAG,SAAS,GAAG,IAAI;iCAvBvC,MAAM;2BAvBT,UAAU,CAAC,CAAC,CAAC,eAAmC,OAAO,KAAG,UAAU,GAAG,IAAI;CA2D1F,CAAC"}
1
+ {"version":3,"file":"useFormValidations.d.ts","sourceRoot":"","sources":["../../../hook/useFormValidations.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE7E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,WAAW,eAAe,CAE5B,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAE3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAE1C,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC9B,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,OAAO,KAAK,SAAS,GAAG,IAAI,CAAC;IACpE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,UAAU,CAAC;IACnD,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,cAAc,CAAC,KAAK,UAAU,GAAG,IAAI,CAAC;CAC9E;AAED,eAAO,MAAM,kBAAkB,GAE3B,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAE3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,UAElC,UAAU,CAAC,CAAC,EAAE,cAAc,CAAC,gBACvB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,KAChC,eAAe,CAAC,CAAC,EAAE,cAAc,CAoEnC,CAAC"}
@@ -5,7 +5,6 @@ const react_1 = require("react");
5
5
  const context_1 = require("../context/data/context");
6
6
  const validation_1 = require("../validation");
7
7
  const useRefEffect_1 = require("./useRefEffect");
8
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
8
  const useFormValidations = (config, fieldConfigs) => {
10
9
  const configRef = (0, useRefEffect_1.useRefEffect)(config);
11
10
  const fieldConfigsRef = (0, useRefEffect_1.useRefEffect)(fieldConfigs);
@@ -1,18 +1,21 @@
1
1
  import { ReactNode } from "react";
2
2
  import { FormFieldConfig } from "./field";
3
- export interface FormRowConfig<T extends FormFieldConfig<string, any, any>> {
3
+ export interface FormRowConfig<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> {
4
4
  type: "row";
5
- content: readonly FormEntryConfig<T>[];
5
+ content: readonly FormEntryConfig<T, GlobalFormData>[];
6
6
  }
7
- export interface FormSectionConfig<T extends FormFieldConfig<string, any, any>> {
7
+ export interface FormSectionConfig<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> {
8
8
  type: "section";
9
- content: readonly FormEntryConfig<T>[];
9
+ content: readonly FormEntryConfig<T, GlobalFormData>[];
10
10
  }
11
- export interface FormCustomConfig<T extends FormFieldConfig<string, any, any>> {
11
+ export interface FormCustomConfig<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> {
12
12
  type: "custom";
13
13
  wrapper: (children: ReactNode) => ReactNode;
14
- content: readonly FormEntryConfig<T>[];
14
+ content: readonly FormEntryConfig<T, GlobalFormData>[];
15
15
  }
16
- export type FormEntryConfig<T extends FormFieldConfig<string, any, any>> = FormCustomConfig<T> | FormSectionConfig<T> | FormRowConfig<T> | T;
17
- export type FormConfig<T extends FormFieldConfig<string, any, any>> = readonly FormEntryConfig<T>[];
16
+ export type FormElementWithContent<T extends FormConfig<FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData>, GlobalFormData extends Record<string, any>> = {
17
+ content: T;
18
+ };
19
+ export type FormEntryConfig<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> = FormCustomConfig<T, GlobalFormData> | FormSectionConfig<T, GlobalFormData> | FormRowConfig<T, GlobalFormData> | T;
20
+ export type FormConfig<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> = readonly FormEntryConfig<T, GlobalFormData>[];
18
21
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../type/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC;IACtE,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,EAAE,SAAS,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC;IAC1E,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,SAAS,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC;IACzE,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,SAAS,CAAC;IAC5C,OAAO,EAAE,SAAS,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;CAC1C;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,IACjE,gBAAgB,CAAC,CAAC,CAAC,GACnB,iBAAiB,CAAC,CAAC,CAAC,GACpB,aAAa,CAAC,CAAC,CAAC,GAChB,CAAC,CAAC;AAER,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,SAAS,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../type/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,aAAa,CAC1B,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAE1C,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,EAAE,SAAS,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC;CAC1D;AAED,MAAM,WAAW,iBAAiB,CAC9B,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAE1C,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,SAAS,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC;CAC1D;AAED,MAAM,WAAW,gBAAgB,CAC7B,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAE1C,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,SAAS,CAAC;IAC5C,OAAO,EAAE,SAAS,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC;CAC1D;AAED,MAAM,MAAM,sBAAsB,CAC9B,CAAC,SAAS,UAAU,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,cAAc,CAAC,EACvF,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAC1C;IACA,OAAO,EAAE,CAAC,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,CACvB,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAExC,gBAAgB,CAAC,CAAC,EAAE,cAAc,CAAC,GACnC,iBAAiB,CAAC,CAAC,EAAE,cAAc,CAAC,GACpC,aAAa,CAAC,CAAC,EAAE,cAAc,CAAC,GAChC,CAAC,CAAC;AAER,MAAM,MAAM,UAAU,CAClB,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAC1C,SAAS,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { FormFieldConfig } from "./field";
2
2
  export type FormFieldValue<Type, Config = FormFieldConfig<string, any, any>> = Config extends {
3
3
  type: Type;
4
- initialValue?: infer InitialValue;
5
- } ? InitialValue : never;
4
+ initialValue?: infer DataType;
5
+ } ? DataType : never;
6
6
  //# sourceMappingURL=extract.d.ts.map