@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 +9 -1
- package/FieldArray/FormDialog/ArrayEditModal.js +7 -2
- package/FormBuilder/index.js +3 -1
- package/index.js +1 -1
- package/package.json +4 -4
- package/registry.d.ts +1 -1
- package/registry.js +2 -2
- package/src/FieldArray/FormDialog/ArrayEditModal.tsx +7 -4
- package/src/FormBuilder/index.tsx +3 -0
- package/src/registry.ts +2 -2
- package/src/types.tsx +1 -0
- package/types.d.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
# Change Log - @digigov/form
|
|
2
2
|
|
|
3
|
-
<!-- This log was last generated on
|
|
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 =
|
|
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 };
|
package/FormBuilder/index.js
CHANGED
|
@@ -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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digigov/form",
|
|
3
|
-
"version": "2.0.
|
|
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.
|
|
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.
|
|
25
|
-
"@digigov/react-core": "2.0.
|
|
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 =
|
|
243
|
-
|
|
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 {
|