@digigov/form 2.0.12 → 2.0.13

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/CHANGELOG.md CHANGED
@@ -1,9 +1,17 @@
1
1
  # Change Log - @digigov/form
2
2
 
3
- <!-- This log was last generated on Mon, 23 Mar 2026 15:59:34 GMT and should not be manually modified. -->
3
+ <!-- This log was last generated on Tue, 31 Mar 2026 13:48:43 GMT and should not be manually modified. -->
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 2.0.13
8
+
9
+ Tue, 31 Mar 2026 13:48:43 GMT
10
+
11
+ ### Patches
12
+
13
+ - Fix validatorRegistry passed to FormBuilder not working in FieldArray of dialog variant (sangelopoulos@admin.grnet.gr)
14
+
7
15
  ## 2.0.12
8
16
 
9
17
  Mon, 23 Mar 2026 15:59:34 GMT
@@ -13,7 +13,7 @@ const ArrayEditModal_ArrayEditModal = /*#__PURE__*/ react.forwardRef(function({
13
13
  const parentCtx = useFormContext();
14
14
  const schema = useValidationSchema('object' === ofField.type && ofField.extra.fields ? Object.values(ofField.extra.fields) : [
15
15
  ofField
16
- ]);
16
+ ], parentCtx.validatorRegistry);
17
17
  const resolver = useMemo(()=>{
18
18
  if (!schema) return;
19
19
  return yupResolver(schema);
@@ -134,5 +134,10 @@ const ArrayEditModal_ArrayEditModal = /*#__PURE__*/ react.forwardRef(function({
134
134
  }
135
135
  }, cancelLabel || 'Ακύρωση')))));
136
136
  });
137
- const ModalPortal = (props)=>/*#__PURE__*/ createPortal(/*#__PURE__*/ react.createElement(Modal, props), document.body);
137
+ const ModalPortal = /*#__PURE__*/ react.forwardRef(function(props, ref) {
138
+ return /*#__PURE__*/ createPortal(/*#__PURE__*/ react.createElement(Modal, {
139
+ ...props,
140
+ ref: ref
141
+ }), document.body);
142
+ });
138
143
  export { ArrayEditModal_ArrayEditModal as ArrayEditModal };
@@ -11,7 +11,7 @@ import { useValidationSchema } from "../validators/index.js";
11
11
  import { Button } from "@digigov/ui/form/Button/index.js";
12
12
  import { Form } from "@digigov/ui/form/Form/index.js";
13
13
  import { useScreenSize } from "@digigov/ui/utils/hooks/useScreen.js";
14
- const FormBuilder_FormBase = /*#__PURE__*/ react.forwardRef(function({ onSubmit, children, registerField, fieldsMap, fieldsetsMap, resolver, initial, mode, reValidateMode, shouldFocusError, criteriaMode, componentRegistry, grid, errors, ...props }, ref) {
14
+ const FormBuilder_FormBase = /*#__PURE__*/ react.forwardRef(function({ onSubmit, children, registerField, fieldsMap, fieldsetsMap, resolver, initial, mode, reValidateMode, shouldFocusError, criteriaMode, componentRegistry, validatorRegistry, grid, errors, ...props }, ref) {
15
15
  const form = useForm({
16
16
  resolver,
17
17
  mode,
@@ -58,6 +58,7 @@ const FormBuilder_FormBase = /*#__PURE__*/ react.forwardRef(function({ onSubmit,
58
58
  getValues: form.getValues,
59
59
  unregister: form.unregister,
60
60
  componentRegistry,
61
+ validatorRegistry,
61
62
  setError: form.setError,
62
63
  formRef: ref,
63
64
  submit
@@ -177,6 +178,7 @@ const FormBuilder_FormBuilder = /*#__PURE__*/ react.forwardRef(function({ fields
177
178
  criteriaMode: criteriaMode,
178
179
  onSubmit: onSubmit,
179
180
  componentRegistry: componentRegistry,
181
+ validatorRegistry: validatorRegistry,
180
182
  ref: ref,
181
183
  grid: grid,
182
184
  ...props
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license Digigov v2.0.12
1
+ /** @license Digigov v2.0.13
2
2
  *
3
3
  * This source code is licensed under the BSD-2-Clause license found in the
4
4
  * LICENSE file in the root directory of this source tree.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digigov/form",
3
- "version": "2.0.12",
3
+ "version": "2.0.13",
4
4
  "description": "@digigov form builder",
5
5
  "author": "GRNET Developers <devs@lists.grnet.gr>",
6
6
  "license": "BSD-2-Clause",
@@ -15,14 +15,14 @@
15
15
  "yup": "0.32.11",
16
16
  "dayjs": "1.10.4",
17
17
  "@hookform/resolvers": "5.0.1",
18
- "@digigov/react-icons": "2.0.12"
18
+ "@digigov/react-icons": "2.0.13"
19
19
  },
20
20
  "peerDependencies": {
21
21
  "clsx": "2.1.1",
22
22
  "react": "^18.3.0 || ^19.1.0",
23
23
  "react-dom": "^18.3.0 || ^19.1.0",
24
- "@digigov/ui": "2.0.12",
25
- "@digigov/react-core": "2.0.12"
24
+ "@digigov/ui": "2.0.13",
25
+ "@digigov/react-core": "2.0.13"
26
26
  },
27
27
  "gitHead": "c903a46306f77f55ad7fc4d2e274006f39a6c871",
28
28
  "private": false,
package/registry.d.ts CHANGED
@@ -54,8 +54,8 @@ declare const _default: {
54
54
  '@digigov/form/inputs/DateTimeInput': {};
55
55
  '@digigov/form/inputs/FileInput': {};
56
56
  '@digigov/form/inputs/ImageInput': {};
57
- '@digigov/form/inputs/Input': {};
58
57
  '@digigov/form/inputs/Label': {};
58
+ '@digigov/form/inputs/Input': {};
59
59
  '@digigov/form/inputs/OtpInput': {};
60
60
  '@digigov/form/inputs/Radio': {};
61
61
  '@digigov/form/inputs/Select': {};
package/registry.js CHANGED
@@ -53,8 +53,8 @@ import * as __WEBPACK_EXTERNAL_MODULE__inputs_DateInput_index_js_4dd00af8__ from
53
53
  import * as __WEBPACK_EXTERNAL_MODULE__inputs_DateTimeInput_index_js_c8900e1c__ from "./inputs/DateTimeInput/index.js";
54
54
  import * as __WEBPACK_EXTERNAL_MODULE__inputs_FileInput_index_js_a3efab43__ from "./inputs/FileInput/index.js";
55
55
  import * as __WEBPACK_EXTERNAL_MODULE__inputs_ImageInput_index_js_db0d371d__ from "./inputs/ImageInput/index.js";
56
- import * as __WEBPACK_EXTERNAL_MODULE__inputs_Input_index_js_a3d24895__ from "./inputs/Input/index.js";
57
56
  import * as __WEBPACK_EXTERNAL_MODULE__inputs_Label_index_js_fd36dbbf__ from "./inputs/Label/index.js";
57
+ import * as __WEBPACK_EXTERNAL_MODULE__inputs_Input_index_js_a3d24895__ from "./inputs/Input/index.js";
58
58
  import * as __WEBPACK_EXTERNAL_MODULE__inputs_OtpInput_index_js_cf892bf0__ from "./inputs/OtpInput/index.js";
59
59
  import * as __WEBPACK_EXTERNAL_MODULE__inputs_Radio_index_js_dd4e4535__ from "./inputs/Radio/index.js";
60
60
  import * as __WEBPACK_EXTERNAL_MODULE__inputs_Select_index_js_96a2f597__ from "./inputs/Select/index.js";
@@ -144,8 +144,8 @@ const registry = {
144
144
  '@digigov/form/inputs/DateTimeInput': lazyImport(__WEBPACK_EXTERNAL_MODULE__inputs_DateTimeInput_index_js_c8900e1c__),
145
145
  '@digigov/form/inputs/FileInput': lazyImport(__WEBPACK_EXTERNAL_MODULE__inputs_FileInput_index_js_a3efab43__),
146
146
  '@digigov/form/inputs/ImageInput': lazyImport(__WEBPACK_EXTERNAL_MODULE__inputs_ImageInput_index_js_db0d371d__),
147
- '@digigov/form/inputs/Input': lazyImport(__WEBPACK_EXTERNAL_MODULE__inputs_Input_index_js_a3d24895__),
148
147
  '@digigov/form/inputs/Label': lazyImport(__WEBPACK_EXTERNAL_MODULE__inputs_Label_index_js_fd36dbbf__),
148
+ '@digigov/form/inputs/Input': lazyImport(__WEBPACK_EXTERNAL_MODULE__inputs_Input_index_js_a3d24895__),
149
149
  '@digigov/form/inputs/OtpInput': lazyImport(__WEBPACK_EXTERNAL_MODULE__inputs_OtpInput_index_js_cf892bf0__),
150
150
  '@digigov/form/inputs/Radio': lazyImport(__WEBPACK_EXTERNAL_MODULE__inputs_Radio_index_js_dd4e4535__),
151
151
  '@digigov/form/inputs/Select': lazyImport(__WEBPACK_EXTERNAL_MODULE__inputs_Select_index_js_96a2f597__),
@@ -73,7 +73,8 @@ export const ArrayEditModal = React.forwardRef<
73
73
  const schema = useValidationSchema(
74
74
  ofField.type === 'object' && ofField.extra.fields
75
75
  ? Object.values(ofField.extra.fields)
76
- : [ofField]
76
+ : [ofField],
77
+ parentCtx.validatorRegistry
77
78
  );
78
79
 
79
80
  const resolver: UseFormProps['resolver'] = useMemo(() => {
@@ -239,6 +240,8 @@ export const ArrayEditModal = React.forwardRef<
239
240
  );
240
241
  });
241
242
 
242
- const ModalPortal = (props: ModalProps) => {
243
- return createPortal(<Modal {...props} />, document.body);
244
- };
243
+ const ModalPortal = React.forwardRef<HTMLDivElement, ModalProps>(
244
+ function InnerModalPortal(props: ModalProps, ref) {
245
+ return createPortal(<Modal {...props} ref={ref} />, document.body);
246
+ }
247
+ );
@@ -32,6 +32,7 @@ const FormBase = React.forwardRef(function FormBase(
32
32
  shouldFocusError,
33
33
  criteriaMode,
34
34
  componentRegistry,
35
+ validatorRegistry,
35
36
  grid,
36
37
  errors,
37
38
  ...props
@@ -94,6 +95,7 @@ const FormBase = React.forwardRef(function FormBase(
94
95
  getValues: form.getValues,
95
96
  unregister: form.unregister,
96
97
  componentRegistry,
98
+ validatorRegistry,
97
99
  setError: form.setError,
98
100
  formRef: ref,
99
101
  submit,
@@ -256,6 +258,7 @@ const FormBuilder = React.forwardRef<HTMLFormElement, FormBuilderProps>(
256
258
  criteriaMode={criteriaMode}
257
259
  onSubmit={onSubmit}
258
260
  componentRegistry={componentRegistry}
261
+ validatorRegistry={validatorRegistry}
259
262
  ref={ref}
260
263
  grid={grid}
261
264
  {...props}
package/src/registry.ts CHANGED
@@ -54,8 +54,8 @@ import * as _digigov_form_inputs_DateInput from "@digigov/form/inputs/DateInput"
54
54
  import * as _digigov_form_inputs_DateTimeInput from "@digigov/form/inputs/DateTimeInput";
55
55
  import * as _digigov_form_inputs_FileInput from "@digigov/form/inputs/FileInput";
56
56
  import * as _digigov_form_inputs_ImageInput from "@digigov/form/inputs/ImageInput";
57
- import * as _digigov_form_inputs_Input from "@digigov/form/inputs/Input";
58
57
  import * as _digigov_form_inputs_Label from "@digigov/form/inputs/Label";
58
+ import * as _digigov_form_inputs_Input from "@digigov/form/inputs/Input";
59
59
  import * as _digigov_form_inputs_OtpInput from "@digigov/form/inputs/OtpInput";
60
60
  import * as _digigov_form_inputs_Radio from "@digigov/form/inputs/Radio";
61
61
  import * as _digigov_form_inputs_Select from "@digigov/form/inputs/Select";
@@ -154,8 +154,8 @@ export default {
154
154
  '@digigov/form/inputs/DateTimeInput': lazyImport(_digigov_form_inputs_DateTimeInput),
155
155
  '@digigov/form/inputs/FileInput': lazyImport(_digigov_form_inputs_FileInput),
156
156
  '@digigov/form/inputs/ImageInput': lazyImport(_digigov_form_inputs_ImageInput),
157
- '@digigov/form/inputs/Input': lazyImport(_digigov_form_inputs_Input),
158
157
  '@digigov/form/inputs/Label': lazyImport(_digigov_form_inputs_Label),
158
+ '@digigov/form/inputs/Input': lazyImport(_digigov_form_inputs_Input),
159
159
  '@digigov/form/inputs/OtpInput': lazyImport(_digigov_form_inputs_OtpInput),
160
160
  '@digigov/form/inputs/Radio': lazyImport(_digigov_form_inputs_Radio),
161
161
  '@digigov/form/inputs/Select': lazyImport(_digigov_form_inputs_Select),
package/src/types.tsx CHANGED
@@ -44,6 +44,7 @@ export interface FormContextProps {
44
44
  registerFieldFocus: registerFieldFocus;
45
45
  errors: UseFormReturn['formState']['errors'];
46
46
  componentRegistry?: FieldComponentRegistry;
47
+ validatorRegistry?: Record<string, ValidatorSchema[]>;
47
48
  submit: () => Promise<void> | void;
48
49
  }
49
50
 
package/types.d.ts CHANGED
@@ -34,6 +34,7 @@ export interface FormContextProps {
34
34
  registerFieldFocus: registerFieldFocus;
35
35
  errors: UseFormReturn['formState']['errors'];
36
36
  componentRegistry?: FieldComponentRegistry;
37
+ validatorRegistry?: Record<string, ValidatorSchema[]>;
37
38
  submit: () => Promise<void> | void;
38
39
  }
39
40
  export interface FormBuilderProps {