@akinon/akiform-builder 1.3.1 → 1.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"akiform-builder.d.ts","sourceRoot":"","sources":["../../src/akiform-builder.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB,OAAO,EAML,WAAW,EAMZ,MAAM,iBAAiB,CAAC;AAczB,OAAO,KAWN,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EAQlB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,cAAc,MAAM,CAAC;AAgXlC,eAAO,MAAM,cAAc,yHA+V1B,CAAC"}
1
+ {"version":3,"file":"akiform-builder.d.ts","sourceRoot":"","sources":["../../src/akiform-builder.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAGrB,OAAO,EAOL,WAAW,EAMZ,MAAM,iBAAiB,CAAC;AAczB,OAAO,KAWN,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EASlB,MAAM,SAAS,CAAC;AAWjB,eAAO,MAAM,cAAc,MAAM,CAAC;AA6YlC,eAAO,MAAM,cAAc,yHAsW1B,CAAC"}
@@ -13,6 +13,7 @@ var __rest = (this && this.__rest) || function (s, e) {
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.AkiformBuilder = exports.THROTTLE_DELAY = void 0;
15
15
  require("./index.css");
16
+ const akidate_1 = require("@akinon/akidate");
16
17
  const akiform_1 = require("@akinon/akiform");
17
18
  const akival_1 = require("@akinon/akival");
18
19
  const icons_1 = require("@akinon/icons");
@@ -29,6 +30,11 @@ const ui_typography_1 = require("@akinon/ui-typography");
29
30
  const clsx_1 = require("clsx");
30
31
  const react_1 = require("react");
31
32
  const i18n_1 = require("./i18n");
33
+ // Helper function to get API field error for a specific field
34
+ const getApiFieldError = (fieldKey, apiErrors) => {
35
+ const error = apiErrors.find(err => err.field === fieldKey);
36
+ return error === null || error === void 0 ? void 0 : error.message;
37
+ };
32
38
  exports.THROTTLE_DELAY = 300; // ms
33
39
  const checkIsDisabled = ({ field, formValues }) => {
34
40
  var _a;
@@ -44,7 +50,7 @@ const checkIsVisible = ({ field, formValues }) => {
44
50
  ? configVisibleProperty(formValues)
45
51
  : configVisibleProperty !== false;
46
52
  };
47
- const SectionComponent = ({ field, control, formValues, formState, layout, layoutOptions }) => {
53
+ const SectionComponent = ({ field, control, formValues, formState, layout, layoutOptions, fieldErrors = [] }) => {
48
54
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
55
  const { errors } = formState;
50
56
  if (field.collapsible) {
@@ -69,7 +75,8 @@ const SectionComponent = ({ field, control, formValues, formState, layout, layou
69
75
  formValues,
70
76
  formState,
71
77
  layout,
72
- layoutOptions
78
+ layoutOptions,
79
+ fieldErrors
73
80
  });
74
81
  })
75
82
  }
@@ -85,12 +92,13 @@ const SectionComponent = ({ field, control, formValues, formState, layout, layou
85
92
  formValues,
86
93
  formState,
87
94
  layout,
88
- layoutOptions
95
+ layoutOptions,
96
+ fieldErrors
89
97
  });
90
98
  })));
91
99
  }
92
100
  };
93
- const RowComponent = ({ field, control, formValues, formState, layout, layoutOptions }) => {
101
+ const RowComponent = ({ field, control, formValues, formState, layout, layoutOptions, fieldErrors = [] }) => {
94
102
  const { columnFields, rowProps } = field;
95
103
  if (!(columnFields === null || columnFields === void 0 ? void 0 : columnFields.length))
96
104
  return;
@@ -103,10 +111,10 @@ const RowComponent = ({ field, control, formValues, formState, layout, layoutOpt
103
111
  if (!isVisible)
104
112
  return null;
105
113
  return (react_1.default.createElement(ui_layout_1.Col, Object.assign({ key: columnField.key, flex: "1" }, columnProps),
106
- react_1.default.createElement(ColumnComponent, { field: columnField, control: control, formValues: formValues, formState: formState, layout: layout, layoutOptions: layoutOptions })));
114
+ react_1.default.createElement(ColumnComponent, { field: columnField, control: control, formValues: formValues, formState: formState, layout: layout, layoutOptions: layoutOptions, fieldErrors: fieldErrors })));
107
115
  })));
108
116
  };
109
- const ColumnComponent = ({ field, control, formValues, formState, layout, layoutOptions }) => {
117
+ const ColumnComponent = ({ field, control, formValues, formState, layout, layoutOptions, fieldErrors = [] }) => {
110
118
  const { fields } = field;
111
119
  if (!(fields === null || fields === void 0 ? void 0 : fields.length))
112
120
  return;
@@ -119,21 +127,22 @@ const ColumnComponent = ({ field, control, formValues, formState, layout, layout
119
127
  return null;
120
128
  const isRowField = rowField.type === 'row';
121
129
  return isRowField
122
- ? renderField(rowField, control, formValues, formState, layout, layoutOptions)
130
+ ? renderField(rowField, control, formValues, formState, layout, layoutOptions, fieldErrors)
123
131
  : renderFormItem({
124
132
  field: rowField,
125
133
  control,
126
134
  formValues,
127
135
  formState,
128
136
  layout,
129
- layoutOptions
137
+ layoutOptions,
138
+ fieldErrors
130
139
  });
131
140
  });
132
141
  };
133
142
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
134
143
  const renderField = (field, control, formValues,
135
144
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
136
- formState, layout, layoutOptions) => {
145
+ formState, layout, layoutOptions, fieldErrors = []) => {
137
146
  const commonProps = {
138
147
  'aria-required': field.validation ? true : false,
139
148
  'aria-invalid': formState.errors[field.key] ? true : false
@@ -148,7 +157,9 @@ formState, layout, layoutOptions) => {
148
157
  case 'checkbox':
149
158
  return (react_1.default.createElement(ui_checkbox_1.Checkbox, Object.assign({ checked: formValues[field.key] }, commonProps), field.label));
150
159
  case 'date':
151
- return (react_1.default.createElement(ui_date_picker_1.DatePicker, Object.assign({ placeholder: field.placeholder, showTime: field.showTime, suffixIcon: "calendar", suffixIconColor: "var(--color-azure-500)", suffixIconSize: "16" }, commonProps)));
160
+ return (react_1.default.createElement(ui_date_picker_1.DatePicker, Object.assign({ placeholder: field.placeholder, showTime: field.showTime, suffixIcon: "calendar", suffixIconColor: "var(--color-azure-500)", suffixIconSize: "16", value: formValues[field.key]
161
+ ? akidate_1.akidate.parse(formValues[field.key])
162
+ : undefined }, commonProps)));
152
163
  case 'textarea':
153
164
  return react_1.default.createElement(ui_input_1.InputTextArea, Object.assign({ placeholder: field.placeholder }, commonProps));
154
165
  case 'fieldArray':
@@ -162,14 +173,14 @@ formState, layout, layoutOptions) => {
162
173
  case 'section':
163
174
  return (react_1.default.createElement(SectionComponent, { field: field, control: control, formValues: formValues, formState: formState, layout: layout, layoutOptions: layoutOptions }));
164
175
  case 'row':
165
- return (react_1.default.createElement(RowComponent, { field: field, control: control, formValues: formValues, formState: formState, layout: layout, layoutOptions: layoutOptions }));
176
+ return (react_1.default.createElement(RowComponent, { field: field, control: control, formValues: formValues, formState: formState, layout: layout, layoutOptions: layoutOptions, fieldErrors: fieldErrors }));
166
177
  case 'column':
167
178
  return (react_1.default.createElement(ColumnComponent, { field: field, control: control, formValues: formValues, formState: formState, layout: layout, layoutOptions: layoutOptions }));
168
179
  default:
169
180
  return react_1.default.createElement(react_1.Fragment, null);
170
181
  }
171
182
  };
172
- const renderFormItem = ({ field, control, formValues, formState, layout, layoutOptions, customVisibleCheck }) => {
183
+ const renderFormItem = ({ field, control, formValues, formState, layout, layoutOptions, customVisibleCheck, fieldErrors = [] }) => {
173
184
  const isVisible = customVisibleCheck
174
185
  ? customVisibleCheck()
175
186
  : checkIsVisible({
@@ -182,11 +193,15 @@ const renderFormItem = ({ field, control, formValues, formState, layout, layoutO
182
193
  field,
183
194
  formValues
184
195
  });
185
- return (react_1.default.createElement(akiform_1.FormItem, { key: field.key, control: control, name: field.key, label: field.label, required: field.validation ? true : false, tooltip: field.tooltip, disabled: isDisabled, help: field.help, labelDescription: field.labelDescription }, renderField(field, control, formValues, formState, layout, layoutOptions)));
196
+ const apiError = getApiFieldError(field.key, fieldErrors);
197
+ const combinedHelpText = apiError
198
+ ? `${field.help ? field.help + ' ' : ''}${apiError}`
199
+ : field.help;
200
+ return (react_1.default.createElement(akiform_1.FormItem, { key: field.key, control: control, name: field.key, label: field.label, required: field.validation ? true : false, tooltip: field.tooltip, disabled: isDisabled, help: combinedHelpText, labelDescription: field.labelDescription }, renderField(field, control, formValues, formState, layout, layoutOptions)));
186
201
  };
187
202
  exports.AkiformBuilder = (0, react_1.forwardRef)((_a, ref) => {
188
203
  var _b, _c;
189
- var { fields, onSubmit, layout = 'vertical', layoutOptions, showResetButton = false, onReset, controlled = false, values, onValueChange, submitButtonProps, resetButtonProps } = _a, rest = __rest(_a, ["fields", "onSubmit", "layout", "layoutOptions", "showResetButton", "onReset", "controlled", "values", "onValueChange", "submitButtonProps", "resetButtonProps"]);
204
+ var { fields, onSubmit, layout = 'vertical', layoutOptions, showResetButton = false, onReset, controlled = false, values, onValueChange, submitButtonProps, resetButtonProps, fieldErrors = [], onFieldErrorsClear } = _a, rest = __rest(_a, ["fields", "onSubmit", "layout", "layoutOptions", "showResetButton", "onReset", "controlled", "values", "onValueChange", "submitButtonProps", "resetButtonProps", "fieldErrors", "onFieldErrorsClear"]);
190
205
  const validationSchema = (0, react_1.useMemo)(() => {
191
206
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
192
207
  const schema = {};
@@ -263,7 +278,11 @@ exports.AkiformBuilder = (0, react_1.forwardRef)((_a, ref) => {
263
278
  if (controlled && onValueChange) {
264
279
  onValueChange(formValues);
265
280
  }
266
- }, [controlled, onValueChange, formValues]);
281
+ // Clear field errors when form values change
282
+ if (onFieldErrorsClear) {
283
+ onFieldErrorsClear();
284
+ }
285
+ }, [controlled, onValueChange, formValues, onFieldErrorsClear]);
267
286
  const formItemLayout = (0, react_1.useMemo)(() => {
268
287
  const defaultHorizontalLayout = {
269
288
  labelCol: { span: 6 },
@@ -379,7 +398,8 @@ exports.AkiformBuilder = (0, react_1.forwardRef)((_a, ref) => {
379
398
  formValues,
380
399
  formState,
381
400
  layout,
382
- layoutOptions
401
+ layoutOptions,
402
+ fieldErrors
383
403
  });
384
404
  }
385
405
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"field-builder.d.ts","sourceRoot":"","sources":["../../src/field-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field-builder.d.ts","sourceRoot":"","sources":["../../src/field-builder.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,8 @@ class BaseFieldBuilder {
51
51
  if (!this.field.key || !this.field.type) {
52
52
  throw new Error('Field must have at least a key and type');
53
53
  }
54
- return this.field;
54
+ const builtField = this.field;
55
+ return builtField;
55
56
  }
56
57
  }
57
58
  class SelectFieldBuilder extends BaseFieldBuilder {
@@ -5,6 +5,10 @@ import type { ColProps, RowProps } from '@akinon/ui-layout';
5
5
  import type { TooltipProps } from '@akinon/ui-tooltip';
6
6
  import type { FormEventHandler, ReactElement } from 'react';
7
7
  export type FieldType = 'text' | 'number' | 'select' | 'checkbox' | 'date' | 'fieldArray' | 'textarea' | 'custom' | 'section' | 'row' | 'column';
8
+ export interface FieldConfig<TFieldValues extends FieldValues = FieldValues> {
9
+ disabled?: boolean | ((formValues: TFieldValues) => boolean);
10
+ visible?: boolean | ((formValues: TFieldValues) => boolean);
11
+ }
8
12
  export interface BaseField<TFieldValues extends FieldValues = FieldValues> {
9
13
  key: FieldPath<TFieldValues>;
10
14
  label?: string;
@@ -12,7 +16,7 @@ export interface BaseField<TFieldValues extends FieldValues = FieldValues> {
12
16
  placeholder?: string;
13
17
  defaultValue?: unknown;
14
18
  validation?: AnySchema;
15
- config?: FieldConfig;
19
+ config?: FieldConfig<TFieldValues>;
16
20
  tooltip?: TooltipProps | string;
17
21
  help?: string;
18
22
  labelDescription?: string;
@@ -83,6 +87,11 @@ export interface LayoutOptions {
83
87
  export type AkiformActionButtonType = Omit<IButtonProps, 'htmlType'> & {
84
88
  block?: boolean;
85
89
  };
90
+ export interface ApiFieldError {
91
+ field: string;
92
+ message: string;
93
+ code?: string;
94
+ }
86
95
  export interface AkiformBuilderProps<TFieldValues extends FieldValues = FieldValues> extends Omit<AkiformProps, 'fields' | 'onReset' | 'onChange' | 'labelCol' | 'wrapperCol'> {
87
96
  fields: FormField<TFieldValues>[];
88
97
  onSubmit?: (values: TFieldValues) => void;
@@ -95,12 +104,14 @@ export interface AkiformBuilderProps<TFieldValues extends FieldValues = FieldVal
95
104
  onValueChange?: (values: TFieldValues) => void;
96
105
  submitButtonProps?: AkiformActionButtonType;
97
106
  resetButtonProps?: AkiformActionButtonType;
107
+ fieldErrors?: ApiFieldError[];
108
+ onFieldErrorsClear?: () => void;
98
109
  }
99
110
  export interface AkiformBuilderRef<TFieldValues extends FieldValues = FieldValues> {
100
111
  reset: (values?: Partial<TFieldValues>) => void;
101
112
  }
102
- export interface FieldConfig<T = unknown> {
103
- disabled?: boolean | ((values: T) => boolean);
104
- visible?: boolean | ((values: T) => boolean);
113
+ export interface FieldConfig<TFieldValues extends FieldValues = FieldValues> {
114
+ disabled?: boolean | ((formValues: TFieldValues) => boolean);
115
+ visible?: boolean | ((formValues: TFieldValues) => boolean);
105
116
  }
106
117
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"akiform-builder.d.ts","sourceRoot":"","sources":["../../src/akiform-builder.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAErB,OAAO,EAML,WAAW,EAMZ,MAAM,iBAAiB,CAAC;AAczB,OAAO,KAWN,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EAQlB,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,cAAc,MAAM,CAAC;AAgXlC,eAAO,MAAM,cAAc,yHA+V1B,CAAC"}
1
+ {"version":3,"file":"akiform-builder.d.ts","sourceRoot":"","sources":["../../src/akiform-builder.tsx"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAC;AAGrB,OAAO,EAOL,WAAW,EAMZ,MAAM,iBAAiB,CAAC;AAczB,OAAO,KAWN,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EASlB,MAAM,SAAS,CAAC;AAWjB,eAAO,MAAM,cAAc,MAAM,CAAC;AA6YlC,eAAO,MAAM,cAAc,yHAsW1B,CAAC"}
@@ -10,6 +10,7 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  return t;
11
11
  };
12
12
  import './index.css';
13
+ import { akidate } from '@akinon/akidate';
13
14
  import { Akiform, akivalResolver, FormItem, useFieldArray, useForm, useWatch } from '@akinon/akiform';
14
15
  import { akival } from '@akinon/akival';
15
16
  import { Icon } from '@akinon/icons';
@@ -26,6 +27,11 @@ import { Text } from '@akinon/ui-typography';
26
27
  import clsx from 'clsx';
27
28
  import React, { forwardRef, Fragment, useCallback, useEffect, useImperativeHandle, useMemo, useRef } from 'react';
28
29
  import { i18n } from './i18n';
30
+ // Helper function to get API field error for a specific field
31
+ const getApiFieldError = (fieldKey, apiErrors) => {
32
+ const error = apiErrors.find(err => err.field === fieldKey);
33
+ return error === null || error === void 0 ? void 0 : error.message;
34
+ };
29
35
  export const THROTTLE_DELAY = 300; // ms
30
36
  const checkIsDisabled = ({ field, formValues }) => {
31
37
  var _a;
@@ -41,7 +47,7 @@ const checkIsVisible = ({ field, formValues }) => {
41
47
  ? configVisibleProperty(formValues)
42
48
  : configVisibleProperty !== false;
43
49
  };
44
- const SectionComponent = ({ field, control, formValues, formState, layout, layoutOptions }) => {
50
+ const SectionComponent = ({ field, control, formValues, formState, layout, layoutOptions, fieldErrors = [] }) => {
45
51
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
46
52
  const { errors } = formState;
47
53
  if (field.collapsible) {
@@ -66,7 +72,8 @@ const SectionComponent = ({ field, control, formValues, formState, layout, layou
66
72
  formValues,
67
73
  formState,
68
74
  layout,
69
- layoutOptions
75
+ layoutOptions,
76
+ fieldErrors
70
77
  });
71
78
  })
72
79
  }
@@ -82,12 +89,13 @@ const SectionComponent = ({ field, control, formValues, formState, layout, layou
82
89
  formValues,
83
90
  formState,
84
91
  layout,
85
- layoutOptions
92
+ layoutOptions,
93
+ fieldErrors
86
94
  });
87
95
  })));
88
96
  }
89
97
  };
90
- const RowComponent = ({ field, control, formValues, formState, layout, layoutOptions }) => {
98
+ const RowComponent = ({ field, control, formValues, formState, layout, layoutOptions, fieldErrors = [] }) => {
91
99
  const { columnFields, rowProps } = field;
92
100
  if (!(columnFields === null || columnFields === void 0 ? void 0 : columnFields.length))
93
101
  return;
@@ -100,10 +108,10 @@ const RowComponent = ({ field, control, formValues, formState, layout, layoutOpt
100
108
  if (!isVisible)
101
109
  return null;
102
110
  return (React.createElement(Col, Object.assign({ key: columnField.key, flex: "1" }, columnProps),
103
- React.createElement(ColumnComponent, { field: columnField, control: control, formValues: formValues, formState: formState, layout: layout, layoutOptions: layoutOptions })));
111
+ React.createElement(ColumnComponent, { field: columnField, control: control, formValues: formValues, formState: formState, layout: layout, layoutOptions: layoutOptions, fieldErrors: fieldErrors })));
104
112
  })));
105
113
  };
106
- const ColumnComponent = ({ field, control, formValues, formState, layout, layoutOptions }) => {
114
+ const ColumnComponent = ({ field, control, formValues, formState, layout, layoutOptions, fieldErrors = [] }) => {
107
115
  const { fields } = field;
108
116
  if (!(fields === null || fields === void 0 ? void 0 : fields.length))
109
117
  return;
@@ -116,21 +124,22 @@ const ColumnComponent = ({ field, control, formValues, formState, layout, layout
116
124
  return null;
117
125
  const isRowField = rowField.type === 'row';
118
126
  return isRowField
119
- ? renderField(rowField, control, formValues, formState, layout, layoutOptions)
127
+ ? renderField(rowField, control, formValues, formState, layout, layoutOptions, fieldErrors)
120
128
  : renderFormItem({
121
129
  field: rowField,
122
130
  control,
123
131
  formValues,
124
132
  formState,
125
133
  layout,
126
- layoutOptions
134
+ layoutOptions,
135
+ fieldErrors
127
136
  });
128
137
  });
129
138
  };
130
139
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
131
140
  const renderField = (field, control, formValues,
132
141
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
133
- formState, layout, layoutOptions) => {
142
+ formState, layout, layoutOptions, fieldErrors = []) => {
134
143
  const commonProps = {
135
144
  'aria-required': field.validation ? true : false,
136
145
  'aria-invalid': formState.errors[field.key] ? true : false
@@ -145,7 +154,9 @@ formState, layout, layoutOptions) => {
145
154
  case 'checkbox':
146
155
  return (React.createElement(Checkbox, Object.assign({ checked: formValues[field.key] }, commonProps), field.label));
147
156
  case 'date':
148
- return (React.createElement(DatePicker, Object.assign({ placeholder: field.placeholder, showTime: field.showTime, suffixIcon: "calendar", suffixIconColor: "var(--color-azure-500)", suffixIconSize: "16" }, commonProps)));
157
+ return (React.createElement(DatePicker, Object.assign({ placeholder: field.placeholder, showTime: field.showTime, suffixIcon: "calendar", suffixIconColor: "var(--color-azure-500)", suffixIconSize: "16", value: formValues[field.key]
158
+ ? akidate.parse(formValues[field.key])
159
+ : undefined }, commonProps)));
149
160
  case 'textarea':
150
161
  return React.createElement(InputTextArea, Object.assign({ placeholder: field.placeholder }, commonProps));
151
162
  case 'fieldArray':
@@ -159,14 +170,14 @@ formState, layout, layoutOptions) => {
159
170
  case 'section':
160
171
  return (React.createElement(SectionComponent, { field: field, control: control, formValues: formValues, formState: formState, layout: layout, layoutOptions: layoutOptions }));
161
172
  case 'row':
162
- return (React.createElement(RowComponent, { field: field, control: control, formValues: formValues, formState: formState, layout: layout, layoutOptions: layoutOptions }));
173
+ return (React.createElement(RowComponent, { field: field, control: control, formValues: formValues, formState: formState, layout: layout, layoutOptions: layoutOptions, fieldErrors: fieldErrors }));
163
174
  case 'column':
164
175
  return (React.createElement(ColumnComponent, { field: field, control: control, formValues: formValues, formState: formState, layout: layout, layoutOptions: layoutOptions }));
165
176
  default:
166
177
  return React.createElement(Fragment, null);
167
178
  }
168
179
  };
169
- const renderFormItem = ({ field, control, formValues, formState, layout, layoutOptions, customVisibleCheck }) => {
180
+ const renderFormItem = ({ field, control, formValues, formState, layout, layoutOptions, customVisibleCheck, fieldErrors = [] }) => {
170
181
  const isVisible = customVisibleCheck
171
182
  ? customVisibleCheck()
172
183
  : checkIsVisible({
@@ -179,11 +190,15 @@ const renderFormItem = ({ field, control, formValues, formState, layout, layoutO
179
190
  field,
180
191
  formValues
181
192
  });
182
- return (React.createElement(FormItem, { key: field.key, control: control, name: field.key, label: field.label, required: field.validation ? true : false, tooltip: field.tooltip, disabled: isDisabled, help: field.help, labelDescription: field.labelDescription }, renderField(field, control, formValues, formState, layout, layoutOptions)));
193
+ const apiError = getApiFieldError(field.key, fieldErrors);
194
+ const combinedHelpText = apiError
195
+ ? `${field.help ? field.help + ' ' : ''}${apiError}`
196
+ : field.help;
197
+ return (React.createElement(FormItem, { key: field.key, control: control, name: field.key, label: field.label, required: field.validation ? true : false, tooltip: field.tooltip, disabled: isDisabled, help: combinedHelpText, labelDescription: field.labelDescription }, renderField(field, control, formValues, formState, layout, layoutOptions)));
183
198
  };
184
199
  export const AkiformBuilder = forwardRef((_a, ref) => {
185
200
  var _b, _c;
186
- var { fields, onSubmit, layout = 'vertical', layoutOptions, showResetButton = false, onReset, controlled = false, values, onValueChange, submitButtonProps, resetButtonProps } = _a, rest = __rest(_a, ["fields", "onSubmit", "layout", "layoutOptions", "showResetButton", "onReset", "controlled", "values", "onValueChange", "submitButtonProps", "resetButtonProps"]);
201
+ var { fields, onSubmit, layout = 'vertical', layoutOptions, showResetButton = false, onReset, controlled = false, values, onValueChange, submitButtonProps, resetButtonProps, fieldErrors = [], onFieldErrorsClear } = _a, rest = __rest(_a, ["fields", "onSubmit", "layout", "layoutOptions", "showResetButton", "onReset", "controlled", "values", "onValueChange", "submitButtonProps", "resetButtonProps", "fieldErrors", "onFieldErrorsClear"]);
187
202
  const validationSchema = useMemo(() => {
188
203
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
189
204
  const schema = {};
@@ -260,7 +275,11 @@ export const AkiformBuilder = forwardRef((_a, ref) => {
260
275
  if (controlled && onValueChange) {
261
276
  onValueChange(formValues);
262
277
  }
263
- }, [controlled, onValueChange, formValues]);
278
+ // Clear field errors when form values change
279
+ if (onFieldErrorsClear) {
280
+ onFieldErrorsClear();
281
+ }
282
+ }, [controlled, onValueChange, formValues, onFieldErrorsClear]);
264
283
  const formItemLayout = useMemo(() => {
265
284
  const defaultHorizontalLayout = {
266
285
  labelCol: { span: 6 },
@@ -376,7 +395,8 @@ export const AkiformBuilder = forwardRef((_a, ref) => {
376
395
  formValues,
377
396
  formState,
378
397
  layout,
379
- layoutOptions
398
+ layoutOptions,
399
+ fieldErrors
380
400
  });
381
401
  }
382
402
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"field-builder.d.ts","sourceRoot":"","sources":["../../src/field-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAGV,WAAW,EACX,SAAS,EACT,SAAS,EAGV,MAAM,SAAS,CAAC;AAEjB,KAAK,kBAAkB,CACrB,CAAC,SAAS,SAAS,EACnB,YAAY,SAAS,WAAW,GAAG,WAAW,IAC5C,CAAC,SAAS,QAAQ,GAClB,kBAAkB,CAAC,YAAY,CAAC,GAChC,CAAC,SAAS,MAAM,GACd,gBAAgB,CAAC,YAAY,CAAC,GAC9B,CAAC,SAAS,QAAQ,GAChB,kBAAkB,CAAC,YAAY,CAAC,GAChC,CAAC,SAAS,SAAS,GACjB,mBAAmB,CAAC,YAAY,CAAC,GACjC,CAAC,SAAS,YAAY,GACpB,+BAA+B,CAAC,YAAY,CAAC,GAC7C,CAAC,SAAS,KAAK,GACb,eAAe,CAAC,YAAY,CAAC,GAC7B,CAAC,SAAS,QAAQ,GAChB,kBAAkB,CAAC,YAAY,CAAC,GAChC,gBAAgB,CAAC,YAAY,CAAC,CAAC;AAE/C,cAAM,gBAAgB,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW;IACnE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAM;IAE7C,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,YAAY,CAAC,GAAG,IAAI;IAKvC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,IAAI,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC,EAAE,YAAY,CAAC;IAKvE,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAMtC,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAK9B,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAKnC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,GAAG,IAAI;IAM/C,OAAO,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI;IAKlD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKxB,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAKhD,KAAK,IAAI,SAAS,CAAC,YAAY,CAAC;CAMjC;AAED,cAAM,kBAAkB,CACtB,YAAY,SAAS,WAAW,GAAG,WAAW,CAC9C,SAAQ,gBAAgB,CAAC,YAAY,CAAC;IACtC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;CAKzE;AAED,cAAM,gBAAgB,CACpB,YAAY,SAAS,WAAW,GAAG,WAAW,CAC9C,SAAQ,gBAAgB,CAAC,YAAY,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;CAKlC;AAED,cAAM,kBAAkB,CACtB,YAAY,SAAS,WAAW,GAAG,WAAW,CAC9C,SAAQ,gBAAgB,CAAC,YAAY,CAAC;IACtC,MAAM,CACJ,QAAQ,EAAE,CAAC,KAAK,EAAE;QAChB,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QAC/B,UAAU,EAAE,YAAY,CAAC;QAEzB,OAAO,EAAE,GAAG,CAAC;KACd,KAAK,KAAK,CAAC,YAAY,GACvB,IAAI;CAKR;AAED,cAAM,+BAA+B,CACnC,YAAY,SAAS,WAAW,GAAG,WAAW,CAC9C,SAAQ,gBAAgB,CAAC,YAAY,CAAC;IACtC,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAKxC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI;CAYhD;AAED,cAAM,mBAAmB,CACvB,YAAY,SAAS,WAAW,GAAG,WAAW,CAC9C,SAAQ,+BAA+B,CAAC,YAAY,CAAC;IACrD,WAAW,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI;CAIxC;AAED,cAAM,eAAe,CACnB,YAAY,SAAS,WAAW,GAAG,WAAW,CAC9C,SAAQ,gBAAgB,CAAC,YAAY,CAAC;IACtC,YAAY,CAAC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI;IAM3D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAInC;AAED,cAAM,kBAAkB,CACtB,YAAY,SAAS,WAAW,GAAG,WAAW,CAC9C,SAAQ,gBAAgB,CAAC,YAAY,CAAC;IACtC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,YAAY,CAAC,EAAE,GAAG,IAAI;IAK/C,WAAW,CAAC,WAAW,EAAE,QAAQ,GAAG,IAAI;CAIzC;AAED,wBAAgB,KAAK,CACnB,YAAY,SAAS,WAAW,GAAG,WAAW,KAC3C,gBAAgB,CAAC,YAAY,CAAC,GACjC,kBAAkB,CAAC,YAAY,CAAC,GAChC,gBAAgB,CAAC,YAAY,CAAC,GAC9B,kBAAkB,CAAC,YAAY,CAAC,GAChC,mBAAmB,CAAC,YAAY,CAAC,GACjC,+BAA+B,CAAC,YAAY,CAAC,CAyC9C"}
1
+ {"version":3,"file":"field-builder.d.ts","sourceRoot":"","sources":["../../src/field-builder.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,8 @@ class BaseFieldBuilder {
48
48
  if (!this.field.key || !this.field.type) {
49
49
  throw new Error('Field must have at least a key and type');
50
50
  }
51
- return this.field;
51
+ const builtField = this.field;
52
+ return builtField;
52
53
  }
53
54
  }
54
55
  class SelectFieldBuilder extends BaseFieldBuilder {
@@ -5,6 +5,10 @@ import type { ColProps, RowProps } from '@akinon/ui-layout';
5
5
  import type { TooltipProps } from '@akinon/ui-tooltip';
6
6
  import type { FormEventHandler, ReactElement } from 'react';
7
7
  export type FieldType = 'text' | 'number' | 'select' | 'checkbox' | 'date' | 'fieldArray' | 'textarea' | 'custom' | 'section' | 'row' | 'column';
8
+ export interface FieldConfig<TFieldValues extends FieldValues = FieldValues> {
9
+ disabled?: boolean | ((formValues: TFieldValues) => boolean);
10
+ visible?: boolean | ((formValues: TFieldValues) => boolean);
11
+ }
8
12
  export interface BaseField<TFieldValues extends FieldValues = FieldValues> {
9
13
  key: FieldPath<TFieldValues>;
10
14
  label?: string;
@@ -12,7 +16,7 @@ export interface BaseField<TFieldValues extends FieldValues = FieldValues> {
12
16
  placeholder?: string;
13
17
  defaultValue?: unknown;
14
18
  validation?: AnySchema;
15
- config?: FieldConfig;
19
+ config?: FieldConfig<TFieldValues>;
16
20
  tooltip?: TooltipProps | string;
17
21
  help?: string;
18
22
  labelDescription?: string;
@@ -83,6 +87,11 @@ export interface LayoutOptions {
83
87
  export type AkiformActionButtonType = Omit<IButtonProps, 'htmlType'> & {
84
88
  block?: boolean;
85
89
  };
90
+ export interface ApiFieldError {
91
+ field: string;
92
+ message: string;
93
+ code?: string;
94
+ }
86
95
  export interface AkiformBuilderProps<TFieldValues extends FieldValues = FieldValues> extends Omit<AkiformProps, 'fields' | 'onReset' | 'onChange' | 'labelCol' | 'wrapperCol'> {
87
96
  fields: FormField<TFieldValues>[];
88
97
  onSubmit?: (values: TFieldValues) => void;
@@ -95,12 +104,14 @@ export interface AkiformBuilderProps<TFieldValues extends FieldValues = FieldVal
95
104
  onValueChange?: (values: TFieldValues) => void;
96
105
  submitButtonProps?: AkiformActionButtonType;
97
106
  resetButtonProps?: AkiformActionButtonType;
107
+ fieldErrors?: ApiFieldError[];
108
+ onFieldErrorsClear?: () => void;
98
109
  }
99
110
  export interface AkiformBuilderRef<TFieldValues extends FieldValues = FieldValues> {
100
111
  reset: (values?: Partial<TFieldValues>) => void;
101
112
  }
102
- export interface FieldConfig<T = unknown> {
103
- disabled?: boolean | ((values: T) => boolean);
104
- visible?: boolean | ((values: T) => boolean);
113
+ export interface FieldConfig<TFieldValues extends FieldValues = FieldValues> {
114
+ disabled?: boolean | ((formValues: TFieldValues) => boolean);
115
+ visible?: boolean | ((formValues: TFieldValues) => boolean);
105
116
  }
106
117
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akinon/akiform-builder",
3
- "version": "1.3.1",
3
+ "version": "1.3.3",
4
4
  "private": false,
5
5
  "description": "Form builder library for form operations.",
6
6
  "type": "module",
@@ -11,29 +11,31 @@
11
11
  ],
12
12
  "dependencies": {
13
13
  "clsx": "^2.1.1",
14
- "@akinon/akiform": "1.1.1",
15
- "@akinon/akilocale": "1.2.0",
16
14
  "@akinon/icons": "1.1.0",
17
- "@akinon/ui-button": "1.3.0",
18
- "@akinon/ui-checkbox": "1.3.0",
15
+ "@akinon/ui-button": "1.3.1",
16
+ "@akinon/akilocale": "1.2.0",
17
+ "@akinon/ui-date-picker": "1.3.1",
18
+ "@akinon/ui-checkbox": "1.3.1",
19
19
  "@akinon/ui-collapse": "1.3.0",
20
- "@akinon/ui-date-picker": "1.3.0",
21
- "@akinon/ui-divider": "1.3.0",
22
- "@akinon/ui-input": "1.1.0",
23
- "@akinon/ui-select": "1.3.0",
20
+ "@akinon/ui-select": "1.3.2",
21
+ "@akinon/ui-input": "1.1.1",
22
+ "@akinon/ui-tooltip": "1.3.1",
23
+ "@akinon/ui-layout": "1.6.0",
24
24
  "@akinon/ui-typography": "1.1.0",
25
- "@akinon/ui-tooltip": "1.3.0",
26
- "@akinon/ui-input-number": "1.3.0",
27
- "@akinon/ui-layout": "1.5.0",
25
+ "@akinon/akiform": "1.1.1",
26
+ "@akinon/ui-input-number": "1.3.1",
27
+ "@akinon/ui-divider": "1.3.1",
28
+ "@akinon/akidate": "1.1.1",
28
29
  "@akinon/akival": "1.1.0"
29
30
  },
30
31
  "devDependencies": {
32
+ "@types/node": "^24.5.0",
31
33
  "clean-package": "2.2.0",
32
34
  "copyfiles": "^2.4.1",
33
35
  "rimraf": "^5.0.5",
34
36
  "typescript": "*",
35
37
  "@akinon/typescript-config": "1.1.0",
36
- "@akinon/utils": "1.1.0",
38
+ "@akinon/utils": "1.1.2",
37
39
  "@akinon/vitest-config": "1.1.0"
38
40
  },
39
41
  "peerDependencies": {