@becklyn/forms 3.0.1 → 3.0.3

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.
package/README.md CHANGED
@@ -37,48 +37,48 @@ type StringFieldConfig = FormFieldConfig<"string", BaseFieldConfig, string | nul
37
37
  type NumberFieldConfig = FormFieldConfig<"number", BaseFieldConfig, number>;
38
38
  type AllConfigs = StringFieldConfig | NumberFieldConfig;
39
39
 
40
- interface TextProps {
40
+ interface TextProps extends BaseFieldConfig {
41
41
  id: string;
42
- value?: string | null;
43
- onBlur: () => void;
44
42
  name: string;
45
- onInput: (e: React.ChangeEvent<HTMLInputElement>) => void;
46
- fieldConfig: FormFieldConfigFunc<GlobalFormData, string | null, BaseFieldConfig>;
43
+ value?: string | null;
44
+ onBlur?: () => void;
45
+ onValueChanged?: (value: string) => void;
47
46
  }
48
47
 
49
- const Text = ({ id, value, onBlur, name, onInput, fieldConfig }: TextProps) => {
48
+ const Text = ({ id, value, name, onBlur, onValueChanged, ...attributes }: TextProps) => {
50
49
  return (
51
50
  <input
52
- {...fieldConfig}
51
+ {...attributes}
53
52
  id={id}
54
53
  value={value ?? ""}
55
- onBlur={onBlur}
56
54
  name={name}
55
+ onBlur={onBlur}
57
56
  type="text"
58
- onChange={onInput}
57
+ onInput={e => onValueChanged && onValueChanged((e.target as HTMLInputElement).value)}
59
58
  />
60
59
  );
61
60
  };
62
61
 
63
- interface NumberProps {
62
+ interface NumberProps extends BaseFieldConfig {
64
63
  id: string;
65
- value?: number;
66
- onBlur: () => void;
67
64
  name: string;
68
- onInput: (e: React.ChangeEvent<HTMLInputElement>) => void;
69
- fieldConfig: FormFieldConfigFunc<GlobalFormData, number, BaseFieldConfig>;
65
+ value?: number;
66
+ onBlur?: () => void;
67
+ onValueChanged?: (value: number) => void;
70
68
  }
71
69
 
72
- const Number = ({ id, value, onBlur, name, onInput, fieldConfig }: NumberProps) => {
70
+ const Number = ({ id, value, name, onBlur, onValueChanged, ...attributes }: NumberProps) => {
73
71
  return (
74
72
  <input
75
- {...fieldConfig}
73
+ {...attributes}
76
74
  id={id}
77
75
  value={value ?? ""}
78
- onBlur={onBlur}
79
76
  name={name}
77
+ onBlur={onBlur}
80
78
  type="number"
81
- onChange={onInput}
79
+ onInput={e =>
80
+ onValueChanged && onValueChanged(parseFloat((e.target as HTMLInputElement).value))
81
+ }
82
82
  />
83
83
  );
84
84
  };
@@ -89,7 +89,7 @@ const Number = ({ id, value, onBlur, name, onInput, fieldConfig }: NumberProps)
89
89
  Create a single component to handle rendering all of your different input components. It will be called by the `FormBuilder` including the respective field's props.
90
90
 
91
91
  ```tsx
92
- const FieldComponent: FC<FormBuilderChildrenProps<AllConfigs, GlobalFormData>> = ({
92
+ const FieldComponent: FC<FormBuilderChildrenProps<AllConfigs, Record<string, any>>> = ({
93
93
  value,
94
94
  field,
95
95
  onBlur,
@@ -103,12 +103,12 @@ const FieldComponent: FC<FormBuilderChildrenProps<AllConfigs, GlobalFormData>> =
103
103
 
104
104
  return (
105
105
  <Text
106
+ {...fieldConfig}
106
107
  id={id}
107
108
  value={value}
108
- onBlur={onBlur}
109
109
  name={name}
110
- onInput={onInput}
111
- fieldConfig={fieldConfig}
110
+ onBlur={onBlur}
111
+ onValueChanged={onInput}
112
112
  />
113
113
  );
114
114
  }
@@ -117,12 +117,12 @@ const FieldComponent: FC<FormBuilderChildrenProps<AllConfigs, GlobalFormData>> =
117
117
 
118
118
  return (
119
119
  <Number
120
+ {...fieldConfig}
120
121
  id={id}
121
122
  value={value}
122
- onBlur={onBlur}
123
123
  name={name}
124
- onInput={onInput}
125
- fieldConfig={fieldConfig}
124
+ onBlur={onBlur}
125
+ onValueChanged={onInput}
126
126
  />
127
127
  );
128
128
  }
@@ -136,10 +136,9 @@ After defining all fields that your forms may use you can define the initial sta
136
136
 
137
137
  ```typescript
138
138
  const initialState = {
139
- foo: generateInitialValue<StringFieldConfig>(""),
140
- bar: generateInitialValue<NumberFieldConfig>(123),
141
- f1: generateInitialValue<StringFieldConfig>(undefined),
142
- f2: generateInitialValue<StringFieldConfig>(null),
139
+ Firstname: generateInitialValue<StringFieldConfig>(""),
140
+ Lastname: generateInitialValue<StringFieldConfig>(""),
141
+ Age: generateInitialValue<NumberFieldConfig>(0),
143
142
  };
144
143
  ```
145
144
 
@@ -241,6 +240,26 @@ export const Component = () => {
241
240
 
242
241
  ## Advanced usecases
243
242
 
243
+ ### Usage without styled components
244
+
245
+ You can instantiate the `FormBuilder` with your custom components that do not rely on `styled-components`:
246
+
247
+ ```typescript
248
+ export const FormRenderer: React.FC = () => {
249
+ return (
250
+ <FormBuilder<AllConfigs, FormData>
251
+ Components={{
252
+ BuilderWrapper: ({ children }: PropsWithChildren) => <div>{children}</div>,
253
+ FieldWrapper: ({ children }: PropsWithChildren) => <div>{children}</div>,
254
+ RowWrapper: ({ children }: PropsWithChildren) => <div>{children}</div>,
255
+ SectionWrapper: ({ children }: PropsWithChildren) => <div>{children}</div>,
256
+ }}>
257
+ {props => <FieldComponent {...props} />}
258
+ </FormBuilder>
259
+ );
260
+ };
261
+ ```
262
+
244
263
  ### Conditional fields
245
264
 
246
265
  To help out with conditional rendering, a function called `eitherOr` is provided.
@@ -4,6 +4,6 @@ interface FormEntryProps<T extends FormFieldConfig<string, any, any, GlobalFormD
4
4
  entry: FormEntryConfig<T, GlobalFormData>;
5
5
  children: FormBuilderProps<T, GlobalFormData>["children"];
6
6
  }
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;
7
+ export declare const FormEntry: <T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>>({ Components, entry, children, }: FormEntryProps<T, GlobalFormData>) => import("../util").NotRenderedElement | import("react/jsx-runtime").JSX.Element;
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,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"}
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,mFA6DnC,CAAC"}
@@ -18,9 +18,9 @@ const FormEntry = ({ Components, entry, children, }) => {
18
18
  case (0, guard_1.isFormRowConfig)(entry):
19
19
  case (0, guard_1.isFormSectionConfig)(entry):
20
20
  case (0, guard_1.isFormCustomConfig)(entry):
21
- return (0, util_1.someFieldConfigs)([entry], field => (0, condition_1.fieldFulfillsConditions)(field, fieldConfigs, formData));
21
+ return (0, util_1.someFieldConfigs)([entry], field => field ? (0, condition_1.fieldFulfillsConditions)(field, fieldConfigs, formData) : false);
22
22
  default:
23
- return (0, condition_1.fieldFulfillsConditions)(entry, fieldConfigs, formData);
23
+ return entry ? (0, condition_1.fieldFulfillsConditions)(entry, fieldConfigs, formData) : false;
24
24
  }
25
25
  }, [entry, fieldConfigs]);
26
26
  const [hasChildren, setHasChildren] = (0, react_1.useState)(getHasChildren(data.get()));
@@ -41,7 +41,7 @@ const FormEntry = ({ Components, entry, children, }) => {
41
41
  case (0, guard_1.isFormRowConfig)(entry):
42
42
  return ((0, jsx_runtime_1.jsx)(FormRow_1.FormRow, { row: entry, Components: Components, children: children }));
43
43
  default:
44
- return ((0, jsx_runtime_1.jsx)(FormField_1.FormField, { field: entry, Components: Components, children: children }));
44
+ return (entry && ((0, jsx_runtime_1.jsx)(FormField_1.FormField, { field: entry, Components: Components, children: children })));
45
45
  }
46
46
  };
47
47
  exports.FormEntry = FormEntry;
@@ -2,15 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isFormFieldConfig = exports.isFormCustomConfig = exports.isFormSectionConfig = exports.isFormRowConfig = void 0;
4
4
  const isFormRowConfig = (config) => {
5
- return config && config.type === "row";
5
+ return !!config && config.type === "row";
6
6
  };
7
7
  exports.isFormRowConfig = isFormRowConfig;
8
8
  const isFormSectionConfig = (config) => {
9
- return config && config.type === "section";
9
+ return !!config && config.type === "section";
10
10
  };
11
11
  exports.isFormSectionConfig = isFormSectionConfig;
12
12
  const isFormCustomConfig = (config) => {
13
- return config && config.type === "custom";
13
+ return !!config && config.type === "custom";
14
14
  };
15
15
  exports.isFormCustomConfig = isFormCustomConfig;
16
16
  const isFormFieldConfig = (config) => {
@@ -4,7 +4,7 @@ export interface FormValidations<T extends FormFieldConfig<string, any, any, Glo
4
4
  errors: FormStore<FormErrors>;
5
5
  validateField: (field: T, skipUpdate?: boolean) => FormError | null;
6
6
  validateCategory: (category: string) => FormErrors;
7
- validateForm: (input?: FormConfig<T, GlobalFormData>) => FormErrors | null;
7
+ validateForm: (input?: FormConfig<T, GlobalFormData>, skipUpdate?: boolean) => FormErrors | null;
8
8
  }
9
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>;
10
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;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"}
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,CACV,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,cAAc,CAAC,EACrC,UAAU,CAAC,EAAE,OAAO,KACnB,UAAU,GAAG,IAAI,CAAC;CAC1B;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"}
@@ -1,4 +1,5 @@
1
1
  import { ReactNode } from "react";
2
+ import { NotRenderedElement } from "../util";
2
3
  import { FormFieldConfig } from "./field";
3
4
  export interface FormRowConfig<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> {
4
5
  type: "row";
@@ -16,6 +17,6 @@ export interface FormCustomConfig<T extends FormFieldConfig<string, any, any, Gl
16
17
  export type FormElementWithContent<T extends FormConfig<FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData>, GlobalFormData extends Record<string, any>> = {
17
18
  content: T;
18
19
  };
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 FormEntryConfig<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> = FormCustomConfig<T, GlobalFormData> | FormSectionConfig<T, GlobalFormData> | FormRowConfig<T, GlobalFormData> | T | NotRenderedElement;
20
21
  export type FormConfig<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> = readonly FormEntryConfig<T, GlobalFormData>[];
21
22
  //# 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,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
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../type/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,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,GACD,kBAAkB,CAAC;AAEzB,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"}
@@ -9,12 +9,15 @@ export interface FormBuilderComponents {
9
9
  columns?: number;
10
10
  }>>;
11
11
  }
12
+ type FormBuilderChildrenFieldConfig<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> = Omit<T, "fieldConfig"> & {
13
+ fieldConfig: T extends FormFieldConfig<string, infer F, any, GlobalFormData> ? F : never;
14
+ };
12
15
  export interface FormBuilderChildrenProps<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> {
13
16
  value: any;
14
17
  error: FormError | undefined;
15
18
  onInput: (value: any) => void;
16
19
  onBlur: () => void;
17
- field: T;
20
+ field: FormBuilderChildrenFieldConfig<T, GlobalFormData>;
18
21
  }
19
22
  export interface FormBuilderProps<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> {
20
23
  Components?: Partial<FormBuilderComponents>;
@@ -26,4 +29,5 @@ export interface FormInputFuncProps<Field extends FormFieldConfig<string, any, a
26
29
  previousData: GlobalFormData;
27
30
  }
28
31
  export type FormInputFunc<Field extends FormFieldConfig<string, any, any, GlobalFormData>, DataType, GlobalFormData extends Record<string, any>> = (props: FormInputFuncProps<Field, DataType, GlobalFormData>) => GlobalFormData;
32
+ export {};
29
33
  //# 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,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
+ {"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,KAAK,8BAA8B,CAC/B,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAC1C,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG;IACzB,WAAW,EAAE,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;CAC5F,CAAC;AAEF,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,8BAA8B,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;CAC5D;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"}
@@ -21,13 +21,14 @@ export declare const generateFormFieldConfigFn: <T extends FormFieldConfig<strin
21
21
  data: GlobalFormData;
22
22
  }) => T extends FormFieldConfig<string, infer U, any, any> ? U : never;
23
23
  export declare const generateValueFn: <GlobalFormData extends Record<string, any>>(valueFn: (data: GlobalFormData) => any) => (data: GlobalFormData) => any;
24
- export declare function eitherOr<const T>(config: T | false | undefined | null | 0 | ""): T;
24
+ export type NotRenderedElement = false | undefined | null | 0 | "";
25
+ export declare function eitherOr<const T>(config: T | NotRenderedElement): T | NotRenderedElement;
25
26
  export declare function eitherOr<const Either, const Or>(condition: boolean, either: Either, or: Or): Either | Or;
26
27
  export declare const fieldConfigFromFormField: <T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>>({ name, fieldConfig }: T, data: GlobalFormData) => T["fieldConfig"];
27
28
  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, {
28
29
  name: K;
29
30
  }>; };
30
31
  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;
32
+ 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 | NotRenderedElement, index: number) => T) => T;
33
+ 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 | NotRenderedElement, index: number) => boolean) => boolean;
33
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../util/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../util/index.ts"],"names":[],"mappings":"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"}
@@ -36,8 +36,10 @@ const fieldConfigFromFormField = ({ name, fieldConfig }, data) => {
36
36
  exports.fieldConfigFromFormField = fieldConfigFromFormField;
37
37
  const fieldsFromConfig = (config) => {
38
38
  return (0, exports.reduceFieldConfigs)(config, (acc, field) => {
39
- // @ts-expect-error: ts does not understand this
40
- acc[field.name] = field;
39
+ if (field) {
40
+ // @ts-expect-error: ts does not understand this
41
+ acc[field.name] = field;
42
+ }
41
43
  return acc;
42
44
  });
43
45
  };
@@ -1 +1 @@
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
+ {"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;AAoBF,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"}
@@ -22,6 +22,9 @@ const handleValidateEntry = (entry, fieldConfigs, data) => {
22
22
  case (0, guard_1.isFormCustomConfig)(entry):
23
23
  return (0, exports.handleValidateConfig)(entry.content, fieldConfigs, data);
24
24
  default:
25
+ if (!entry) {
26
+ return {};
27
+ }
25
28
  return (0, exports.handleValidateField)(entry, fieldConfigs, data);
26
29
  }
27
30
  };
@@ -4,6 +4,6 @@ interface FormEntryProps<T extends FormFieldConfig<string, any, any, GlobalFormD
4
4
  entry: FormEntryConfig<T, GlobalFormData>;
5
5
  children: FormBuilderProps<T, GlobalFormData>["children"];
6
6
  }
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;
7
+ export declare const FormEntry: <T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>>({ Components, entry, children, }: FormEntryProps<T, GlobalFormData>) => import("../util").NotRenderedElement | import("react/jsx-runtime").JSX.Element;
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,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"}
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,mFA6DnC,CAAC"}
@@ -18,9 +18,9 @@ const FormEntry = ({ Components, entry, children, }) => {
18
18
  case (0, guard_1.isFormRowConfig)(entry):
19
19
  case (0, guard_1.isFormSectionConfig)(entry):
20
20
  case (0, guard_1.isFormCustomConfig)(entry):
21
- return (0, util_1.someFieldConfigs)([entry], field => (0, condition_1.fieldFulfillsConditions)(field, fieldConfigs, formData));
21
+ return (0, util_1.someFieldConfigs)([entry], field => field ? (0, condition_1.fieldFulfillsConditions)(field, fieldConfigs, formData) : false);
22
22
  default:
23
- return (0, condition_1.fieldFulfillsConditions)(entry, fieldConfigs, formData);
23
+ return entry ? (0, condition_1.fieldFulfillsConditions)(entry, fieldConfigs, formData) : false;
24
24
  }
25
25
  }, [entry, fieldConfigs]);
26
26
  const [hasChildren, setHasChildren] = (0, react_1.useState)(getHasChildren(data.get()));
@@ -41,7 +41,7 @@ const FormEntry = ({ Components, entry, children, }) => {
41
41
  case (0, guard_1.isFormRowConfig)(entry):
42
42
  return ((0, jsx_runtime_1.jsx)(FormRow_1.FormRow, { row: entry, Components: Components, children: children }));
43
43
  default:
44
- return ((0, jsx_runtime_1.jsx)(FormField_1.FormField, { field: entry, Components: Components, children: children }));
44
+ return (entry && ((0, jsx_runtime_1.jsx)(FormField_1.FormField, { field: entry, Components: Components, children: children })));
45
45
  }
46
46
  };
47
47
  exports.FormEntry = FormEntry;
@@ -2,15 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isFormFieldConfig = exports.isFormCustomConfig = exports.isFormSectionConfig = exports.isFormRowConfig = void 0;
4
4
  const isFormRowConfig = (config) => {
5
- return config && config.type === "row";
5
+ return !!config && config.type === "row";
6
6
  };
7
7
  exports.isFormRowConfig = isFormRowConfig;
8
8
  const isFormSectionConfig = (config) => {
9
- return config && config.type === "section";
9
+ return !!config && config.type === "section";
10
10
  };
11
11
  exports.isFormSectionConfig = isFormSectionConfig;
12
12
  const isFormCustomConfig = (config) => {
13
- return config && config.type === "custom";
13
+ return !!config && config.type === "custom";
14
14
  };
15
15
  exports.isFormCustomConfig = isFormCustomConfig;
16
16
  const isFormFieldConfig = (config) => {
@@ -4,7 +4,7 @@ export interface FormValidations<T extends FormFieldConfig<string, any, any, Glo
4
4
  errors: FormStore<FormErrors>;
5
5
  validateField: (field: T, skipUpdate?: boolean) => FormError | null;
6
6
  validateCategory: (category: string) => FormErrors;
7
- validateForm: (input?: FormConfig<T, GlobalFormData>) => FormErrors | null;
7
+ validateForm: (input?: FormConfig<T, GlobalFormData>, skipUpdate?: boolean) => FormErrors | null;
8
8
  }
9
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>;
10
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;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"}
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,CACV,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,cAAc,CAAC,EACrC,UAAU,CAAC,EAAE,OAAO,KACnB,UAAU,GAAG,IAAI,CAAC;CAC1B;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"}
@@ -1,4 +1,5 @@
1
1
  import { ReactNode } from "react";
2
+ import { NotRenderedElement } from "../util";
2
3
  import { FormFieldConfig } from "./field";
3
4
  export interface FormRowConfig<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> {
4
5
  type: "row";
@@ -16,6 +17,6 @@ export interface FormCustomConfig<T extends FormFieldConfig<string, any, any, Gl
16
17
  export type FormElementWithContent<T extends FormConfig<FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData>, GlobalFormData extends Record<string, any>> = {
17
18
  content: T;
18
19
  };
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 FormEntryConfig<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> = FormCustomConfig<T, GlobalFormData> | FormSectionConfig<T, GlobalFormData> | FormRowConfig<T, GlobalFormData> | T | NotRenderedElement;
20
21
  export type FormConfig<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> = readonly FormEntryConfig<T, GlobalFormData>[];
21
22
  //# 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,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
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../type/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,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,GACD,kBAAkB,CAAC;AAEzB,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"}
@@ -9,12 +9,15 @@ export interface FormBuilderComponents {
9
9
  columns?: number;
10
10
  }>>;
11
11
  }
12
+ type FormBuilderChildrenFieldConfig<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> = Omit<T, "fieldConfig"> & {
13
+ fieldConfig: T extends FormFieldConfig<string, infer F, any, GlobalFormData> ? F : never;
14
+ };
12
15
  export interface FormBuilderChildrenProps<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> {
13
16
  value: any;
14
17
  error: FormError | undefined;
15
18
  onInput: (value: any) => void;
16
19
  onBlur: () => void;
17
- field: T;
20
+ field: FormBuilderChildrenFieldConfig<T, GlobalFormData>;
18
21
  }
19
22
  export interface FormBuilderProps<T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>> {
20
23
  Components?: Partial<FormBuilderComponents>;
@@ -26,4 +29,5 @@ export interface FormInputFuncProps<Field extends FormFieldConfig<string, any, a
26
29
  previousData: GlobalFormData;
27
30
  }
28
31
  export type FormInputFunc<Field extends FormFieldConfig<string, any, any, GlobalFormData>, DataType, GlobalFormData extends Record<string, any>> = (props: FormInputFuncProps<Field, DataType, GlobalFormData>) => GlobalFormData;
32
+ export {};
29
33
  //# 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,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
+ {"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,KAAK,8BAA8B,CAC/B,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,EAC3D,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAC1C,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG;IACzB,WAAW,EAAE,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;CAC5F,CAAC;AAEF,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,8BAA8B,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;CAC5D;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"}
@@ -21,13 +21,14 @@ export declare const generateFormFieldConfigFn: <T extends FormFieldConfig<strin
21
21
  data: GlobalFormData;
22
22
  }) => T extends FormFieldConfig<string, infer U, any, any> ? U : never;
23
23
  export declare const generateValueFn: <GlobalFormData extends Record<string, any>>(valueFn: (data: GlobalFormData) => any) => (data: GlobalFormData) => any;
24
- export declare function eitherOr<const T>(config: T | false | undefined | null | 0 | ""): T;
24
+ export type NotRenderedElement = false | undefined | null | 0 | "";
25
+ export declare function eitherOr<const T>(config: T | NotRenderedElement): T | NotRenderedElement;
25
26
  export declare function eitherOr<const Either, const Or>(condition: boolean, either: Either, or: Or): Either | Or;
26
27
  export declare const fieldConfigFromFormField: <T extends FormFieldConfig<string, any, any, GlobalFormData>, GlobalFormData extends Record<string, any>>({ name, fieldConfig }: T, data: GlobalFormData) => T["fieldConfig"];
27
28
  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, {
28
29
  name: K;
29
30
  }>; };
30
31
  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;
32
+ 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 | NotRenderedElement, index: number) => T) => T;
33
+ 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 | NotRenderedElement, index: number) => boolean) => boolean;
33
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../util/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../util/index.ts"],"names":[],"mappings":"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"}
@@ -36,8 +36,10 @@ const fieldConfigFromFormField = ({ name, fieldConfig }, data) => {
36
36
  exports.fieldConfigFromFormField = fieldConfigFromFormField;
37
37
  const fieldsFromConfig = (config) => {
38
38
  return (0, exports.reduceFieldConfigs)(config, (acc, field) => {
39
- // @ts-expect-error: ts does not understand this
40
- acc[field.name] = field;
39
+ if (field) {
40
+ // @ts-expect-error: ts does not understand this
41
+ acc[field.name] = field;
42
+ }
41
43
  return acc;
42
44
  });
43
45
  };
@@ -1 +1 @@
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
+ {"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;AAoBF,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"}
@@ -22,6 +22,9 @@ const handleValidateEntry = (entry, fieldConfigs, data) => {
22
22
  case (0, guard_1.isFormCustomConfig)(entry):
23
23
  return (0, exports.handleValidateConfig)(entry.content, fieldConfigs, data);
24
24
  default:
25
+ if (!entry) {
26
+ return {};
27
+ }
25
28
  return (0, exports.handleValidateField)(entry, fieldConfigs, data);
26
29
  }
27
30
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@becklyn/forms",
3
- "version": "3.0.1",
3
+ "version": "3.0.3",
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "lint": "eslint . --max-warnings 0 && prettier --check \"./**/*.{ts,tsx}\"",