@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 +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"}
@@ -1,25 +1,39 @@
1
1
  "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
2
13
  Object.defineProperty(exports, "__esModule", { value: true });
3
14
  exports.FormProvider = void 0;
4
15
  const jsx_runtime_1 = require("react/jsx-runtime");
5
16
  const react_1 = require("react");
6
- const withFormData_1 = require("../hoc/withFormData");
7
17
  const useFormValidations_1 = require("../hook/useFormValidations");
8
18
  const util_1 = require("../util");
9
19
  const context_1 = require("./context");
20
+ const FormDataProvider_1 = require("./data/FormDataProvider");
10
21
  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 }) => {
22
+ const FormProvider = (_a) => {
23
+ var { children } = _a, props = __rest(_a, ["children"]);
13
24
  const externalForm = (0, context_1.useForm)();
14
25
  const { data, editData } = (0, react_1.useContext)(context_2.FormDataContext);
26
+ const { config, validationStrategy = "blur", onInput: internalOnInput, inheritData } = props;
15
27
  const onInput = inheritData && externalForm ? externalForm.onInput : internalOnInput;
16
28
  const fieldConfigs = (0, react_1.useMemo)(() => {
17
29
  return (0, util_1.fieldsFromConfig)(config);
18
30
  }, [config]);
19
31
  const formValidations = (0, useFormValidations_1.useFormValidations)(config, fieldConfigs);
20
- return ((0, jsx_runtime_1.jsx)(context_1.FormContext.Provider, { value: Object.assign(Object.assign({}, formValidations), { data,
21
- editData,
22
- fieldConfigs,
23
- validationStrategy,
24
- onInput }), children: children }));
25
- });
32
+ return ((0, jsx_runtime_1.jsx)(FormDataProvider_1.FormDataProvider, Object.assign({}, props, { children: (0, jsx_runtime_1.jsx)(context_1.FormContext.Provider, { value: Object.assign(Object.assign({}, formValidations), { data,
33
+ editData,
34
+ fieldConfigs,
35
+ validationStrategy,
36
+ // @ts-expect-error - ts is not able to infer the correct type
37
+ onInput }), children: children }) })));
38
+ };
39
+ 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"}
@@ -16,14 +16,13 @@ const jsx_runtime_1 = require("react/jsx-runtime");
16
16
  /* eslint-disable @typescript-eslint/no-explicit-any */
17
17
  const react_1 = require("react");
18
18
  const useFormStore_1 = require("../../hook/useFormStore");
19
- const util_1 = require("../../util");
20
19
  const context_1 = require("./context");
21
20
  const FormDataProvider = (_a) => {
22
21
  var { config, initialData, children } = _a, props = __rest(_a, ["config", "initialData", "children"]);
23
22
  if (!config) {
24
23
  throw new Error("Config is undefined");
25
24
  }
26
- const initialDataRef = (0, react_1.useRef)(Object.assign(Object.assign({}, (0, util_1.initialValuesFromConfig)(config)), (initialData !== null && initialData !== void 0 ? initialData : {})));
25
+ const initialDataRef = (0, react_1.useRef)(Object.assign({}, (initialData !== null && initialData !== void 0 ? initialData : {})));
27
26
  return ((0, jsx_runtime_1.jsx)(context_1.FormConfigContext.Provider, { value: { config }, children: (0, jsx_runtime_1.jsx)(FormDataReadyProvider, Object.assign({}, props, { initialData: initialDataRef.current, children: children })) }));
28
27
  };
29
28
  exports.FormDataProvider = FormDataProvider;
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../../type/extract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,MAAM,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,SAAS;IAC1F,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,YAAY,CAAC;CACrC,GACK,YAAY,GACZ,KAAK,CAAC"}
1
+ {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../../type/extract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,MAAM,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,SAAS;IAC1F,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,QAAQ,CAAC;CACjC,GACK,QAAQ,GACR,KAAK,CAAC"}
@@ -1,25 +1,25 @@
1
1
  import { FormFieldConditions } from "./condition";
2
- import { FormData, FormInputFunc } from "./form";
2
+ import { FormInputFunc } from "./form";
3
3
  import { FieldValidations, FormValidationStrategy } from "./validation";
4
- export type FormFieldConfig<Type extends string, FieldConfig, InitialValue> = {
4
+ export type FormFieldConfig<Type extends string, FieldConfig, DataType, GlobalFormData extends Record<string, any> = any> = {
5
5
  type: Type extends infer U ? U : never;
6
6
  name: string;
7
- initialValue?: InitialValue extends infer U ? U : never;
7
+ initialValue?: DataType;
8
8
  conditions?: FormFieldConditions;
9
9
  validationStrategy?: FormValidationStrategy;
10
- validations?: readonly FieldValidations<FormFieldConfig<Type extends infer U ? U : never, FieldConfig extends infer U ? U : never, InitialValue extends infer U ? U : never>>[];
10
+ validations?: readonly FieldValidations<GlobalFormData>[];
11
11
  columns?: number;
12
12
  categories?: readonly string[];
13
- valueFn?: (data: FormData<FormFieldConfig<string, any, any>>) => any;
14
- onInput?: FormInputFunc<FormFieldConfig<Type extends infer U ? U : never, FieldConfig extends infer U ? U : never, InitialValue extends infer U ? U : never>, InitialValue extends infer U ? U : never>;
15
- fieldConfig: FormFieldConfigFunc<FieldConfig>;
13
+ valueFn?: (data: GlobalFormData) => any;
14
+ onInput?: FormInputFunc<FormFieldConfig<Type, FieldConfig, DataType, GlobalFormData>, DataType, GlobalFormData>;
15
+ fieldConfig: FormFieldConfigFunc<GlobalFormData, DataType, FieldConfig>;
16
16
  editStep?: number;
17
17
  };
18
- export type FormFieldConfigFunc<FieldConfig = unknown> = FieldConfig | ((props: {
19
- value: any;
20
- data: FormData<FormFieldConfig<string, any, any>>;
18
+ export type FormFieldConfigFunc<GlobalFormData extends Record<string, any>, DataType, FieldConfig> = FieldConfig | ((props: {
19
+ value: DataType;
20
+ data: GlobalFormData;
21
21
  }) => FieldConfig);
22
- export type ResolveFieldConfigFunc<T extends FormFieldConfig<string, any, any>> = T extends {
22
+ export type ResolveFieldConfigFunc<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> = T extends {
23
23
  fieldConfig: infer U;
24
24
  } ? U extends (...args: any[]) => any ? never : T & {
25
25
  fieldConfig: U;
@@ -1 +1 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../type/field.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAExE,MAAM,MAAM,eAAe,CAAC,IAAI,SAAS,MAAM,EAAE,WAAW,EAAE,YAAY,IAAI;IAC1E,IAAI,EAAE,IAAI,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,YAAY,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACxD,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAC5C,WAAW,CAAC,EAAE,SAAS,gBAAgB,CACnC,eAAe,CACX,IAAI,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,EAChC,WAAW,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,EACvC,YAAY,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAC3C,CACJ,EAAE,CAAC;IACJ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;IACrE,OAAO,CAAC,EAAE,aAAa,CACnB,eAAe,CACX,IAAI,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,EAChC,WAAW,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,EACvC,YAAY,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAC3C,EACD,YAAY,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAC3C,CAAC;IACF,WAAW,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,WAAW,GAAG,OAAO,IAC/C,WAAW,GACX,CAAC,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;CAAE,KAAK,WAAW,CAAC,CAAC;AAElG,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS;IACxF,WAAW,EAAE,MAAM,CAAC,CAAC;CACxB,GACK,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAC7B,KAAK,GACL,CAAC,GAAG;IAAE,WAAW,EAAE,CAAC,CAAA;CAAE,GAC1B,KAAK,CAAC"}
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../type/field.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAExE,MAAM,MAAM,eAAe,CACvB,IAAI,SAAS,MAAM,EACnB,WAAW,EACX,QAAQ,EACR,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,IAChD;IACA,IAAI,EAAE,IAAI,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAC5C,WAAW,CAAC,EAAE,SAAS,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,GAAG,CAAC;IACxC,OAAO,CAAC,EAAE,aAAa,CACnB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,EAC5D,QAAQ,EACR,cAAc,CACjB,CAAC;IACF,WAAW,EAAE,mBAAmB,CAAC,cAAc,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAC3B,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1C,QAAQ,EACR,WAAW,IACX,WAAW,GAAG,CAAC,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,KAAK,WAAW,CAAC,CAAC;AAEtF,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,CAAC,SAAS;IACV,WAAW,EAAE,MAAM,CAAC,CAAC;CACxB,GACK,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAC7B,KAAK,GACL,CAAC,GAAG;IAAE,WAAW,EAAE,CAAC,CAAA;CAAE,GAC1B,KAAK,CAAC"}
@@ -1,9 +1,6 @@
1
1
  import { JSXElementConstructor, PropsWithChildren, ReactNode } from "react";
2
2
  import { FormFieldConfig } from "./field";
3
3
  import { FormError } from "./validation";
4
- export type FormData<T extends FormFieldConfig<string, any, any>> = Record<string, T extends {
5
- initialValue?: infer K;
6
- } ? K : never>;
7
4
  export interface FormBuilderComponents {
8
5
  BuilderWrapper: JSXElementConstructor<PropsWithChildren>;
9
6
  SectionWrapper: JSXElementConstructor<PropsWithChildren>;
@@ -12,21 +9,21 @@ export interface FormBuilderComponents {
12
9
  columns?: number;
13
10
  }>>;
14
11
  }
15
- export interface FormBuilderChildrenProps<T extends FormFieldConfig<string, any, any>> {
12
+ export interface FormBuilderChildrenProps<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> {
16
13
  value: any;
17
14
  error: FormError | undefined;
18
15
  onInput: (value: any) => void;
19
16
  onBlur: () => void;
20
17
  field: T;
21
18
  }
22
- export interface FormBuilderProps<T extends FormFieldConfig<string, any, any>> {
19
+ export interface FormBuilderProps<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> {
23
20
  Components?: Partial<FormBuilderComponents>;
24
- children(props: FormBuilderChildrenProps<T>): ReactNode;
21
+ children(props: FormBuilderChildrenProps<T, GlobalFormData>): ReactNode;
25
22
  }
26
- export interface FormInputFuncProps<Field extends FormFieldConfig<string, any, any>, InitialValue> {
27
- value: InitialValue;
23
+ export interface FormInputFuncProps<Field extends FormFieldConfig<string, any, any, GlobalFormData>, DataType, GlobalFormData extends Record<string, any>> {
24
+ value: DataType | undefined;
28
25
  field: Field;
29
- previousData: FormData<Field>;
26
+ previousData: GlobalFormData;
30
27
  }
31
- export type FormInputFunc<Field extends FormFieldConfig<string, any, any>, InitialValue> = (props: FormInputFuncProps<Field, InitialValue>) => FormData<FormFieldConfig<string, any, any>>;
28
+ export type FormInputFunc<Field extends FormFieldConfig<string, any, any, GlobalFormData>, DataType, GlobalFormData extends Record<string, any>> = (props: FormInputFuncProps<Field, DataType, GlobalFormData>) => GlobalFormData;
32
29
  //# sourceMappingURL=form.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../type/form.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CACtE,MAAM,EACN,CAAC,SAAS;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,KAAK,CACnD,CAAC;AAEF,MAAM,WAAW,qBAAqB;IAClC,cAAc,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IACzD,cAAc,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IACzD,UAAU,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IACrD,YAAY,EAAE,qBAAqB,CAAC,iBAAiB,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CAChF;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC;IACjF,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,KAAK,EAAE,CAAC,CAAC;CACZ;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC;IACzE,UAAU,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;CAC3D;AAED,MAAM,WAAW,kBAAkB,CAAC,KAAK,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,YAAY;IAC7F,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;CACjC;AAED,MAAM,MAAM,aAAa,CAAC,KAAK,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,YAAY,IAAI,CACvF,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC,KAC7C,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../type/form.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,WAAW,qBAAqB;IAClC,cAAc,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IACzD,cAAc,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IACzD,UAAU,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IACrD,YAAY,EAAE,qBAAqB,CAAC,iBAAiB,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CAChF;AAED,MAAM,WAAW,wBAAwB,CACrC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAE1C,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,KAAK,EAAE,CAAC,CAAC;CACZ;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,UAAU,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC;CAC3E;AAED,MAAM,WAAW,kBAAkB,CAC/B,KAAK,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC/D,QAAQ,EACR,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAE1C,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,MAAM,aAAa,CACrB,KAAK,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC/D,QAAQ,EACR,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAC1C,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,KAAK,cAAc,CAAC"}
@@ -1,15 +1,13 @@
1
- import { FormFieldConfig } from "./field";
2
- import { FormData } from "./form";
3
1
  export type FormValidationStrategy = "blur" | "input" | "manual";
4
2
  export type FormError = string | boolean;
5
3
  export type FormErrors = Record<string, FormError>;
6
- export type FormFieldValidationFunction<T extends FormFieldConfig<string, any, any>> = (props: {
4
+ export type FormFieldValidationFunction<GlobalFormData extends Record<string, any>> = (props: {
7
5
  value: any;
8
- data: FormData<T>;
6
+ data: GlobalFormData;
9
7
  }) => boolean;
10
- export type FormFieldValidation<T extends FormFieldConfig<string, any, any>> = boolean | RegExp | FormFieldValidationFunction<T>;
11
- export interface FieldValidations<T extends FormFieldConfig<string, any, any>> {
12
- validation: FormFieldValidation<T>;
8
+ export type FormFieldValidation<GlobalFormData extends Record<string, any>> = boolean | RegExp | FormFieldValidationFunction<GlobalFormData>;
9
+ export interface FieldValidations<GlobalFormData extends Record<string, any>> {
10
+ validation: FormFieldValidation<GlobalFormData>;
13
11
  message?: string;
14
12
  }
15
13
  //# sourceMappingURL=validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../type/validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAEzC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEnD,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE;IAC3F,KAAK,EAAE,GAAG,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;CACrB,KAAK,OAAO,CAAC;AAEd,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,IACrE,OAAO,GACP,MAAM,GACN,2BAA2B,CAAC,CAAC,CAAC,CAAC;AAErC,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC;IACzE,UAAU,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../type/validation.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAEzC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEnD,MAAM,MAAM,2BAA2B,CAAC,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE;IAC1F,KAAK,EAAE,GAAG,CAAC;IACX,IAAI,EAAE,cAAc,CAAC;CACxB,KAAK,OAAO,CAAC;AAEd,MAAM,MAAM,mBAAmB,CAAC,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IACpE,OAAO,GACP,MAAM,GACN,2BAA2B,CAAC,cAAc,CAAC,CAAC;AAElD,MAAM,WAAW,gBAAgB,CAAC,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACxE,UAAU,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -1,13 +1,33 @@
1
- import { FormConfig, FormData, FormEntryConfig, FormFieldConfig } from "../type";
1
+ import { FormConfig, FormEntryConfig, FormFieldConfig, FormInputFunc } from "../type";
2
+ export declare const generateInitialValue: <T>(value: Extract<T, {
3
+ initialValue?: any;
4
+ }>["initialValue"]) => Extract<T, {
5
+ initialValue?: any;
6
+ }>["initialValue"];
7
+ export declare const generateOnInput: <T extends FormFieldConfig<string, any, any, any>, GlobalFormData extends Record<string, any>>(inputFunction: FormInputFunc<T, Extract<T, {
8
+ initialValue?: any;
9
+ }>["initialValue"], GlobalFormData>) => FormInputFunc<T, Extract<T, {
10
+ initialValue?: any;
11
+ }>["initialValue"], GlobalFormData>;
12
+ export declare const generateFormFieldConfigFn: <T extends FormFieldConfig<string, any, any, any>, GlobalFormData extends Record<string, any>>(fieldConfig: (props: {
13
+ value: Extract<T, {
14
+ initialValue?: any;
15
+ }>["initialValue"];
16
+ data: GlobalFormData;
17
+ }) => T extends FormFieldConfig<string, infer U, any, any> ? U : never) => (props: {
18
+ value: Extract<T, {
19
+ initialValue?: any;
20
+ }>["initialValue"];
21
+ data: GlobalFormData;
22
+ }) => T extends FormFieldConfig<string, infer U, any, any> ? U : never;
23
+ export declare const generateValueFn: <GlobalFormData extends Record<string, any>>(valueFn: (data: GlobalFormData) => any) => (data: GlobalFormData) => any;
2
24
  export declare function eitherOr<const T>(config: T | false | undefined | null | 0 | ""): T;
3
25
  export declare function eitherOr<const Either, const Or>(condition: boolean, either: Either, or: Or): Either | Or;
4
- export declare const createFormConfig: <const T extends FormFieldConfig<string, any, any>>(config: FormConfig<T>) => FormConfig<T>;
5
- export declare const fieldConfigFromFormField: <T extends FormFieldConfig<string, any, any>>({ name, fieldConfig }: T, data: FormData<T>) => T["fieldConfig"];
6
- export declare const fieldsFromConfig: <T extends FormFieldConfig<string, any, any>>(config: FormConfig<T>) => { [K in T["name"]]: Extract<T, {
26
+ export declare const fieldConfigFromFormField: <T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>>({ name, fieldConfig }: T, data: GlobalFormData) => T["fieldConfig"];
27
+ export declare const fieldsFromConfig: <T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>>(config: FormConfig<T, GlobalFormData>) => { [K in T["name"]]: Extract<T, {
7
28
  name: K;
8
29
  }>; };
9
- export declare const initialValuesFromConfig: <T extends FormFieldConfig<string, any, any>>(config: FormConfig<T>) => FormData<T>;
10
- export declare const mapFieldConfigs: <T extends FormFieldConfig<string, any, any>>(entries: FormConfig<T>, callbackFn: (field: T, index: number) => T) => FormConfig<T>;
11
- export declare const reduceFieldConfigs: <T extends Record<string | number, any>, U extends FormFieldConfig<string, any, any>>(entries: FormConfig<U>, callbackFn: (acc: T, field: U, index: number) => T) => T;
12
- export declare const someFieldConfigs: (entries: readonly FormEntryConfig<any>[], callbackFn: <T extends FormFieldConfig<string, any, any>>(field: T, index: number) => boolean) => boolean;
30
+ export declare const mapFieldConfigs: <T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>>(entries: FormConfig<T, GlobalFormData>, callbackFn: (field: T, index: number) => T) => FormConfig<T, GlobalFormData>;
31
+ export declare const reduceFieldConfigs: <T extends Record<string | number, any>, U extends FormFieldConfig<string, any, any>, GlobalFormData extends Record<string, any>>(entries: FormConfig<U, GlobalFormData>, callbackFn: (acc: T, field: U, index: number) => T) => T;
32
+ export declare const someFieldConfigs: <T extends FormFieldConfig<string, any, any>, GlobalFormData extends Record<string, any>>(entries: readonly FormEntryConfig<T, GlobalFormData>[], callbackFn: <T_1 extends FormFieldConfig<string, any, any, GlobalFormData>>(field: T_1, index: number) => boolean) => boolean;
13
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../util/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEjF,wBAAgB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,GAAG,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACpF,wBAAgB,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAC3C,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,EAAE,GACP,MAAM,GAAG,EAAE,CAAC;AAaf,eAAO,MAAM,gBAAgB,SAAU,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,UACtE,UAAU,CAAC,CAAC,CAAC,kBACmB,CAAC;AAE7C,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,yBACzD,CAAC,QAClB,QAAQ,CAAC,CAAC,CAAC,KAClB,CAAC,CAAC,aAAa,CAIjB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,UAChE,UAAU,CAAC,CAAC,CAAC,KACtB,GACE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE;IAAE,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,GAY5C,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,UACvE,UAAU,CAAC,CAAC,CAAC,KACtB,QAAQ,CAAC,CAAC,CAeZ,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,WAC9D,UAAU,CAAC,CAAC,CAAC,cACV,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,KAC3C,UAAU,CAAC,CAAC,CAkBd,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC3B,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,EACtC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,WAElC,UAAU,CAAC,CAAC,CAAC,cACV,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,KACnD,CAeF,CAAC;AAEF,eAAO,MAAM,gBAAgB,YAChB,SAAS,eAAe,CAAC,GAAG,CAAC,EAAE,cAC5B,CAAC,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,KAC9F,OAWF,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../util/index.ts"],"names":[],"mappings":"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"}