@digigov/form 2.0.0-e7d30530 → 2.0.0-eaf330f5
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/Field/FieldBase/index.js +4 -3
- package/Field/FieldBase.js.map +2 -2
- package/Field/FieldBaseContainer/index.js +19 -37
- package/Field/FieldBaseContainer.d.ts +1 -1
- package/Field/FieldBaseContainer.js.map +2 -2
- package/Field/FieldConditional/index.js +1 -1
- package/Field/FieldConditional.js.map +1 -1
- package/Field/index.js +1 -2
- package/Field/index.js.map +2 -2
- package/Field/types.d.ts +2 -2
- package/Field/utils/index.js +3 -4
- package/Field/utils/index.js.map +2 -2
- package/FieldArray/FormDialog/index.js +7 -2
- package/FieldArray/FormDialog.d.ts +3 -2
- package/FieldArray/FormDialog.js.map +2 -2
- package/FieldArray/__stories__/Default.d.ts +1 -1
- package/FieldArray/__stories__/WithExactLength.d.ts +1 -1
- package/FieldArray/__stories__/WithModal.d.ts +1 -1
- package/FieldArray/index.d.ts +1 -1
- package/FieldArray/index.js +88 -95
- package/FieldArray/index.js.map +3 -3
- package/FormBuilder/FormBuilder.stories.d.ts +0 -2
- package/FormBuilder/__stories__/AutoErrorGrouping.d.ts +1 -1
- package/FormBuilder/__stories__/Default.d.ts +1 -1
- package/FormBuilder/__stories__/ErrorGrouping.d.ts +1 -1
- package/FormBuilder/index.d.ts +1 -1
- package/FormBuilder/index.js +7 -3
- package/FormBuilder/index.js.map +2 -2
- package/FormContext/index.js +2 -6
- package/FormContext.d.ts +0 -1
- package/FormContext.js.map +2 -2
- package/MultiplicityField/MultiplicityField.stories.d.ts +0 -2
- package/MultiplicityField/__stories__/Default.d.ts +1 -1
- package/MultiplicityField/__stories__/PreviewDisplay.d.ts +1 -1
- package/MultiplicityField/__stories__/WithExactLength.d.ts +1 -1
- package/MultiplicityField/__stories__/WithMaxLength.d.ts +1 -1
- package/MultiplicityField/__stories__/WithMinAndMaxLength.d.ts +1 -1
- package/MultiplicityField/__stories__/WithMinLength.d.ts +1 -1
- package/MultiplicityField/add-objects/index.js +1 -1
- package/MultiplicityField/add-objects.js.map +2 -2
- package/MultiplicityField/index.js +2 -4
- package/MultiplicityField/index.js.map +2 -2
- package/MultiplicityField/types.d.ts +0 -1
- package/Questions/Questions.stories.d.ts +0 -2
- package/Questions/__stories__/Default.d.ts +1 -1
- package/cjs/Field/FieldBase/index.js +4 -3
- package/cjs/Field/FieldBase.js.map +2 -2
- package/cjs/Field/FieldBaseContainer/index.js +18 -36
- package/cjs/Field/FieldBaseContainer.js.map +3 -3
- package/cjs/Field/FieldConditional/index.js +1 -1
- package/cjs/Field/FieldConditional.js.map +1 -1
- package/cjs/Field/index.js +1 -2
- package/cjs/Field/index.js.map +2 -2
- package/cjs/Field/types.js.map +1 -1
- package/cjs/Field/utils/index.js +3 -4
- package/cjs/Field/utils/index.js.map +2 -2
- package/cjs/FieldArray/FormDialog/index.js +7 -2
- package/cjs/FieldArray/FormDialog.js.map +2 -2
- package/cjs/FieldArray/index.js +83 -93
- package/cjs/FieldArray/index.js.map +3 -3
- package/cjs/FormBuilder/index.js +7 -3
- package/cjs/FormBuilder/index.js.map +2 -2
- package/cjs/FormContext/index.js +2 -7
- package/cjs/FormContext.js.map +2 -2
- package/cjs/MultiplicityField/add-objects/index.js +1 -1
- package/cjs/MultiplicityField/add-objects.js.map +2 -2
- package/cjs/MultiplicityField/index.js +2 -4
- package/cjs/MultiplicityField/index.js.map +2 -2
- package/cjs/MultiplicityField/types.js.map +1 -1
- package/cjs/inputs/Checkboxes/index.js +1 -2
- package/cjs/inputs/Checkboxes/index.js.map +2 -2
- package/cjs/inputs/DateInput/index.js +12 -27
- package/cjs/inputs/DateInput/index.js.map +2 -2
- package/cjs/inputs/DateTimeInput/index.js +34 -55
- package/cjs/inputs/DateTimeInput/index.js.map +2 -2
- package/cjs/inputs/FileInput/index.js +26 -45
- package/cjs/inputs/FileInput/index.js.map +2 -2
- package/cjs/inputs/ImageInput/index.js +10 -41
- package/cjs/inputs/ImageInput/index.js.map +2 -2
- package/cjs/inputs/Input/inputsInputScenarios/index.js +439 -0
- package/cjs/inputs/Input/inputsInputScenarios.js.map +7 -0
- package/cjs/lazy/index.js +6 -6
- package/cjs/lazy.js.map +2 -2
- package/cjs/registry/index.js +10 -8
- package/cjs/registry.js.map +2 -2
- package/cjs/validators/index.js +10 -8
- package/cjs/validators/index.js.map +2 -2
- package/cjs/validators/utils/date/index.js +3 -21
- package/cjs/validators/utils/date.js.map +2 -2
- package/cjs/validators/utils/datetime/index.js +24 -113
- package/cjs/validators/utils/datetime.js.map +2 -2
- package/index.js +1 -1
- package/inputs/AutoCompleteInput/AutoComplete.stories.d.ts +0 -2
- package/inputs/AutoCompleteInput/__stories__/Default.d.ts +1 -1
- package/inputs/AutoCompleteInput/__stories__/Multiple.d.ts +1 -1
- package/inputs/Checkboxes/Checkboxes.stories.d.ts +0 -2
- package/inputs/Checkboxes/__stories__/Conditional.d.ts +1 -1
- package/inputs/Checkboxes/__stories__/Default.d.ts +1 -1
- package/inputs/Checkboxes/__stories__/WithDivider.d.ts +1 -1
- package/inputs/Checkboxes/index.js +1 -2
- package/inputs/Checkboxes/index.js.map +2 -2
- package/inputs/DateInput/DateInput.stories.d.ts +0 -6
- package/inputs/DateInput/__stories__/Default.d.ts +1 -1
- package/inputs/DateInput/index.js +13 -28
- package/inputs/DateInput/index.js.map +2 -2
- package/inputs/DateTimeInput/DateTimeInput.stories.d.ts +3 -10
- package/inputs/DateTimeInput/__stories__/Default.d.ts +1 -1
- package/inputs/DateTimeInput/index.js +35 -56
- package/inputs/DateTimeInput/index.js.map +2 -2
- package/inputs/FileInput/FileInput.stories.d.ts +0 -2
- package/inputs/FileInput/__stories__/Default.d.ts +1 -1
- package/inputs/FileInput/index.d.ts +1 -5
- package/inputs/FileInput/index.js +27 -46
- package/inputs/FileInput/index.js.map +2 -2
- package/inputs/ImageInput/ImageInput.stories.d.ts +1 -4
- package/inputs/ImageInput/__stories__/Default.d.ts +1 -1
- package/inputs/ImageInput/__stories__/MaxSize.d.ts +1 -1
- package/inputs/ImageInput/__stories__/WithInvalidImageDimension.d.ts +1 -1
- package/inputs/ImageInput/index.d.ts +1 -9
- package/inputs/ImageInput/index.js +11 -42
- package/inputs/ImageInput/index.js.map +2 -2
- package/inputs/Input/Input.stories.d.ts +0 -3
- package/inputs/Input/__stories__/AFM.d.ts +1 -1
- package/inputs/Input/__stories__/Boolean.d.ts +1 -1
- package/inputs/Input/__stories__/IBAN.d.ts +1 -1
- package/inputs/Input/__stories__/Integer.d.ts +1 -1
- package/inputs/Input/__stories__/LandlineNumber.d.ts +1 -1
- package/inputs/Input/__stories__/MobilePhone.d.ts +1 -1
- package/inputs/Input/__stories__/PhoneNumber.d.ts +1 -1
- package/inputs/Input/__stories__/PostalCode.d.ts +1 -1
- package/inputs/Input/__stories__/String.d.ts +1 -1
- package/inputs/Input/__stories__/StringWithTrimValidation.d.ts +1 -1
- package/inputs/Input/__stories__/TextWithLimit.d.ts +1 -1
- package/inputs/Input/inputsInputScenarios/index.js +406 -0
- package/inputs/{ImageInput/__stories__/logo.d → Input/inputsInputScenarios}/package.json +1 -1
- package/inputs/Input/inputsInputScenarios.d.ts +57 -0
- package/inputs/Input/inputsInputScenarios.js.map +7 -0
- package/inputs/Label/Label.stories.d.ts +0 -2
- package/inputs/Label/__stories__/Default.d.ts +1 -1
- package/inputs/OtpInput/OtpInput.stories.d.ts +0 -2
- package/inputs/OtpInput/__stories__/Default.d.ts +1 -1
- package/inputs/Radio/Radio.stories.d.ts +0 -2
- package/inputs/Radio/__stories__/Conditional.d.ts +1 -1
- package/inputs/Radio/__stories__/Default.d.ts +1 -1
- package/inputs/Radio/__stories__/WithDivider.d.ts +1 -1
- package/inputs/Select/Select.stories.d.ts +0 -2
- package/inputs/Select/__stories__/Default.d.ts +1 -1
- package/lazy/index.js +6 -6
- package/package.json +8 -8
- package/registry/index.js +10 -8
- package/src/Field/FieldBase.tsx +18 -14
- package/src/Field/FieldBaseContainer.tsx +51 -68
- package/src/Field/FieldConditional.tsx +1 -1
- package/src/Field/index.tsx +1 -2
- package/src/Field/types.tsx +2 -2
- package/src/Field/utils/index.ts +1 -2
- package/src/FieldArray/FormDialog.tsx +12 -3
- package/src/FieldArray/__stories__/Default.tsx +1 -1
- package/src/FieldArray/__stories__/WithExactLength.tsx +1 -1
- package/src/FieldArray/__stories__/WithModal.tsx +1 -1
- package/src/FieldArray/index.tsx +103 -111
- package/src/FormBuilder/FormBuilder.stories.js +0 -3
- package/src/FormBuilder/__stories__/AutoErrorGrouping.tsx +1 -1
- package/src/FormBuilder/__stories__/Default.tsx +1 -1
- package/src/FormBuilder/__stories__/ErrorGrouping.tsx +1 -1
- package/src/FormBuilder/index.tsx +7 -3
- package/src/FormBuilder/scenarios.test.tsx +1 -1
- package/src/FormContext.tsx +1 -5
- package/src/MultiplicityField/MultiplicityField.stories.js +0 -3
- package/src/MultiplicityField/__stories__/Default.tsx +1 -1
- package/src/MultiplicityField/__stories__/PreviewDisplay.tsx +1 -1
- package/src/MultiplicityField/__stories__/WithExactLength.tsx +1 -1
- package/src/MultiplicityField/__stories__/WithMaxLength.tsx +1 -1
- package/src/MultiplicityField/__stories__/WithMinAndMaxLength.tsx +1 -1
- package/src/MultiplicityField/__stories__/WithMinLength.tsx +1 -1
- package/src/MultiplicityField/add-objects.tsx +1 -1
- package/src/MultiplicityField/index.tsx +1 -3
- package/src/MultiplicityField/types.ts +0 -1
- package/src/Questions/Questions.stories.js +0 -3
- package/src/Questions/__stories__/Default.tsx +1 -1
- package/src/inputs/AutoCompleteInput/AutoComplete.stories.js +0 -3
- package/src/inputs/AutoCompleteInput/__stories__/Default.tsx +1 -1
- package/src/inputs/AutoCompleteInput/__stories__/Multiple.tsx +1 -1
- package/src/inputs/Checkboxes/Checkboxes.stories.js +0 -3
- package/src/inputs/Checkboxes/__stories__/Conditional.tsx +1 -1
- package/src/inputs/Checkboxes/__stories__/Default.tsx +1 -1
- package/src/inputs/Checkboxes/__stories__/WithDivider.tsx +1 -1
- package/src/inputs/Checkboxes/index.tsx +5 -4
- package/src/inputs/DateInput/DateInput.stories.js +0 -7
- package/src/inputs/DateInput/__stories__/Default.tsx +1 -1
- package/src/inputs/DateInput/index.test.tsx +0 -16
- package/src/inputs/DateInput/index.tsx +13 -31
- package/src/inputs/DateTimeInput/DateTimeInput.stories.js +6 -12
- package/src/inputs/DateTimeInput/__stories__/Default.tsx +1 -1
- package/src/inputs/DateTimeInput/index.test.tsx +0 -16
- package/src/inputs/DateTimeInput/index.tsx +35 -59
- package/src/inputs/FileInput/FileInput.stories.js +0 -3
- package/src/inputs/FileInput/__stories__/Default.tsx +1 -1
- package/src/inputs/FileInput/index.tsx +39 -72
- package/src/inputs/ImageInput/ImageInput.stories.js +1 -5
- package/src/inputs/ImageInput/__stories__/Default.tsx +1 -1
- package/src/inputs/ImageInput/__stories__/MaxSize.tsx +2 -3
- package/src/inputs/ImageInput/__stories__/WithInvalidImageDimension.tsx +1 -1
- package/src/inputs/ImageInput/index.test.tsx +0 -4
- package/src/inputs/ImageInput/index.tsx +48 -100
- package/src/inputs/Input/Input.stories.js +0 -4
- package/src/inputs/Input/__stories__/AFM.tsx +1 -1
- package/src/inputs/Input/__stories__/Boolean.tsx +1 -1
- package/src/inputs/Input/__stories__/IBAN.tsx +1 -1
- package/src/inputs/Input/__stories__/Integer.tsx +1 -1
- package/src/inputs/Input/__stories__/LandlineNumber.tsx +1 -1
- package/src/inputs/Input/__stories__/MobilePhone.tsx +1 -1
- package/src/inputs/Input/__stories__/PhoneNumber.tsx +1 -1
- package/src/inputs/Input/__stories__/PostalCode.tsx +1 -1
- package/src/inputs/Input/__stories__/String.tsx +1 -1
- package/src/inputs/Input/__stories__/StringWithTrimValidation.tsx +1 -1
- package/src/inputs/Input/__stories__/TextWithLimit.tsx +1 -1
- package/src/inputs/Input/index.test.tsx +0 -8
- package/src/inputs/Input/inputsInputScenarios.ts +404 -0
- package/src/inputs/Label/Label.stories.js +0 -3
- package/src/inputs/Label/__stories__/Default.tsx +1 -1
- package/src/inputs/OtpInput/OtpInput.stories.js +0 -3
- package/src/inputs/OtpInput/__stories__/Default.tsx +1 -1
- package/src/inputs/Radio/Radio.stories.js +0 -3
- package/src/inputs/Radio/__stories__/Conditional.tsx +1 -1
- package/src/inputs/Radio/__stories__/Default.tsx +1 -1
- package/src/inputs/Radio/__stories__/WithDivider.tsx +1 -1
- package/src/inputs/Select/Select.stories.js +0 -3
- package/src/inputs/Select/__stories__/Default.tsx +1 -1
- package/src/lazy.js +6 -6
- package/src/registry.js +10 -8
- package/src/validators/index.ts +13 -13
- package/src/validators/utils/date.ts +4 -23
- package/src/validators/utils/datetime.ts +29 -116
- package/validators/index.js +10 -8
- package/validators/index.js.map +2 -2
- package/validators/utils/date/index.js +3 -21
- package/validators/utils/date.d.ts +1 -1
- package/validators/utils/date.js.map +2 -2
- package/validators/utils/datetime/index.js +24 -113
- package/validators/utils/datetime.d.ts +1 -1
- package/validators/utils/datetime.js.map +2 -2
- package/cjs/inputs/ImageInput/__stories__/logo.d/index.js +0 -1
- package/cjs/inputs/ImageInput/__stories__/logo.d.js.map +0 -7
- package/inputs/DateInput/__stories__/WithDefaultValue.d.ts +0 -3
- package/inputs/DateInput/__stories__/WithInitialValue.d.ts +0 -3
- package/inputs/DateInput/__stories__/WithWrongDefaultValue.d.ts +0 -3
- package/inputs/DateInput/__stories__/WithWrongInitialValue.d.ts +0 -3
- package/inputs/DateTimeInput/__stories__/WithDefaultValue.d.ts +0 -3
- package/inputs/DateTimeInput/__stories__/WithInitialValue.d.ts +0 -3
- package/inputs/DateTimeInput/__stories__/WithWrongDefaultValue.d.ts +0 -3
- package/inputs/DateTimeInput/__stories__/WithWrongInitialValue.d.ts +0 -3
- package/inputs/ImageInput/__stories__/WithInitialValues.d.ts +0 -3
- package/inputs/ImageInput/__stories__/logo.d/index.js +0 -1
- package/inputs/ImageInput/__stories__/logo.d.js.map +0 -7
- package/inputs/Input/__stories__/Email.d.ts +0 -3
- package/src/inputs/DateInput/__stories__/WithDefaultValue.tsx +0 -26
- package/src/inputs/DateInput/__stories__/WithInitialValue.tsx +0 -28
- package/src/inputs/DateInput/__stories__/WithWrongDefaultValue.tsx +0 -26
- package/src/inputs/DateInput/__stories__/WithWrongInitialValue.tsx +0 -28
- package/src/inputs/DateTimeInput/__stories__/WithDefaultValue.tsx +0 -26
- package/src/inputs/DateTimeInput/__stories__/WithInitialValue.tsx +0 -28
- package/src/inputs/DateTimeInput/__stories__/WithWrongDefaultValue.tsx +0 -26
- package/src/inputs/DateTimeInput/__stories__/WithWrongInitialValue.tsx +0 -28
- package/src/inputs/ImageInput/__stories__/WithInitialValues.tsx +0 -45
- package/src/inputs/ImageInput/__stories__/logo.d.ts +0 -4
- package/src/inputs/ImageInput/__stories__/logo.png +0 -0
- package/src/inputs/Input/__stories__/Email.tsx +0 -23
package/FieldArray/index.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import React
|
|
2
|
-
import {
|
|
1
|
+
import React from "react";
|
|
2
|
+
import {
|
|
3
|
+
Controller,
|
|
4
|
+
useFieldArray
|
|
5
|
+
} from "react-hook-form";
|
|
3
6
|
import { FieldBaseContainer } from "@digigov/form/Field/FieldBaseContainer";
|
|
4
7
|
import { FormDialog } from "@digigov/form/FieldArray/FormDialog";
|
|
5
8
|
import { FieldObject } from "@digigov/form/FieldObject";
|
|
@@ -28,102 +31,92 @@ const FieldArray = ({
|
|
|
28
31
|
name
|
|
29
32
|
});
|
|
30
33
|
const fields = getValues(name) || [];
|
|
31
|
-
const containerRef = useRef(null);
|
|
32
|
-
const { errors } = formState;
|
|
33
|
-
useEffect(() => {
|
|
34
|
-
if (!containerRef.current) return;
|
|
35
|
-
const fieldErrors = Object.keys(errors);
|
|
36
|
-
if (!fieldErrors.length) return;
|
|
37
|
-
if (
|
|
38
|
-
// Check if there are errors related to the current field array
|
|
39
|
-
fieldErrors.some((key) => {
|
|
40
|
-
const fieldArrayName = key.split(".")[0];
|
|
41
|
-
return fieldArrayName === name;
|
|
42
|
-
})
|
|
43
|
-
) {
|
|
44
|
-
if (containerRef.current && errors[name]) {
|
|
45
|
-
containerRef.current.focus();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}, [errors, name]);
|
|
49
34
|
return /* @__PURE__ */ React.createElement(
|
|
50
|
-
|
|
35
|
+
Controller,
|
|
51
36
|
{
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
37
|
+
render: ({ field }) => {
|
|
38
|
+
return /* @__PURE__ */ React.createElement(
|
|
39
|
+
FieldBaseContainer,
|
|
40
|
+
{
|
|
41
|
+
label,
|
|
42
|
+
layout,
|
|
43
|
+
register,
|
|
44
|
+
error: error?.message && error ? error : void 0,
|
|
45
|
+
hasError: formState.isSubmitted && !formState.isSubmitting && !!error,
|
|
46
|
+
wrapper: "fieldset",
|
|
47
|
+
name,
|
|
48
|
+
labelSize: customField.extra?.labelSize
|
|
49
|
+
},
|
|
50
|
+
/* @__PURE__ */ React.createElement("div", { tabIndex: -1, ref: field.ref }),
|
|
51
|
+
customField.extra?.variant === "dialog" ? /* @__PURE__ */ React.createElement(
|
|
52
|
+
FormDialog,
|
|
53
|
+
{
|
|
54
|
+
name,
|
|
55
|
+
trigger,
|
|
56
|
+
register,
|
|
57
|
+
clearErrors,
|
|
58
|
+
control,
|
|
59
|
+
formState,
|
|
60
|
+
error,
|
|
61
|
+
getValues,
|
|
62
|
+
setValue,
|
|
63
|
+
layout,
|
|
64
|
+
label,
|
|
65
|
+
Field,
|
|
66
|
+
reset,
|
|
67
|
+
resetField,
|
|
68
|
+
sortable: customField.extra.sortable,
|
|
69
|
+
...customField
|
|
70
|
+
}
|
|
71
|
+
) : /* @__PURE__ */ React.createElement(React.Fragment, null, fields.map((field2, index) => /* @__PURE__ */ React.createElement(
|
|
72
|
+
Card,
|
|
73
|
+
{
|
|
74
|
+
variant: customField.extra?.border ? "border" : "divider",
|
|
75
|
+
key: field2.id
|
|
76
|
+
},
|
|
77
|
+
/* @__PURE__ */ React.createElement(Fieldset, null, /* @__PURE__ */ React.createElement(FieldsetLabel, null, customField.extra?.label.object.title, " ", !customField.extra?.noIndex && index + 1), /* @__PURE__ */ React.createElement(
|
|
78
|
+
FieldObject,
|
|
79
|
+
{
|
|
80
|
+
name: `${name}.${index}`,
|
|
81
|
+
error: Array.isArray(error) && error[index],
|
|
82
|
+
formState,
|
|
83
|
+
register,
|
|
84
|
+
control,
|
|
85
|
+
...customField.extra?.of,
|
|
86
|
+
Field
|
|
87
|
+
}
|
|
88
|
+
), /* @__PURE__ */ React.createElement(
|
|
89
|
+
Button,
|
|
90
|
+
{
|
|
91
|
+
name: `${name}-object-remove`,
|
|
92
|
+
variant: customField.extra?.label.object?.deleteButtonVariant,
|
|
93
|
+
type: "button",
|
|
94
|
+
color: "warning",
|
|
95
|
+
onClick: () => remove(index),
|
|
96
|
+
disabled: !customField?.editable
|
|
97
|
+
},
|
|
98
|
+
customField.extra?.label.object?.delete
|
|
99
|
+
))
|
|
100
|
+
)), customField.editable && /* @__PURE__ */ React.createElement(
|
|
101
|
+
Button,
|
|
102
|
+
{
|
|
103
|
+
type: "button",
|
|
104
|
+
name: `${name}-add-object`,
|
|
105
|
+
color: "secondary",
|
|
106
|
+
variant: customField.extra?.label.object?.addButtonVariant,
|
|
107
|
+
onClick: (ev) => {
|
|
108
|
+
ev.preventDefault();
|
|
109
|
+
append({});
|
|
110
|
+
},
|
|
111
|
+
disabled: !customField?.editable
|
|
112
|
+
},
|
|
113
|
+
customField.extra?.label.object?.add
|
|
114
|
+
))
|
|
115
|
+
);
|
|
124
116
|
},
|
|
125
|
-
|
|
126
|
-
|
|
117
|
+
control,
|
|
118
|
+
name
|
|
119
|
+
}
|
|
127
120
|
);
|
|
128
121
|
};
|
|
129
122
|
var FieldArray_default = FieldArray;
|
package/FieldArray/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/FieldArray/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import React
|
|
5
|
-
"mappings": "AAAA,OAAO,
|
|
6
|
-
"names": []
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport {\n Controller,\n ErrorOption,\n useFieldArray,\n UseFormReturn,\n} from 'react-hook-form';\nimport { FieldBaseContainer } from '@digigov/form/Field/FieldBaseContainer';\nimport { FieldProps } from '@digigov/form/Field/types';\nimport { FormDialog } from '@digigov/form/FieldArray/FormDialog';\nimport { FieldObject } from '@digigov/form/FieldObject';\nimport { FieldsetLabel, Fieldset } from '@digigov/form/Fieldset';\nimport { Card } from '@digigov/ui/content/Card';\nimport { Button } from '@digigov/ui/form/Button';\n\nexport interface FieldArrayProps extends FieldProps {\n control: UseFormReturn['control'];\n trigger: UseFormReturn['trigger'];\n register: UseFormReturn['register'];\n clearErrors: UseFormReturn['clearErrors'];\n formState: UseFormReturn['formState'];\n error?: ErrorOption;\n getValues: UseFormReturn['getValues'];\n setValue: UseFormReturn['setValue'];\n reset: UseFormReturn['reset'];\n resetField: UseFormReturn['resetField'];\n Field: React.FC<FieldProps>;\n}\nexport const FieldArray: React.FC<FieldArrayProps> = ({\n name,\n trigger,\n register,\n clearErrors,\n control,\n formState,\n error,\n getValues,\n setValue,\n layout,\n reset,\n resetField,\n label,\n Field,\n ...customField\n}) => {\n const { append, remove } = useFieldArray({\n control,\n name,\n });\n\n const fields = getValues(name) || [];\n return (\n <Controller\n render={({ field }) => {\n return (\n <FieldBaseContainer\n label={label}\n layout={layout}\n register={register}\n error={error?.message && error ? error : undefined}\n hasError={\n formState.isSubmitted && !formState.isSubmitting && !!error\n }\n wrapper=\"fieldset\"\n name={name}\n labelSize={customField.extra?.labelSize}\n >\n <div tabIndex={-1} ref={field.ref} />\n\n {customField.extra?.variant === 'dialog' ? (\n <FormDialog\n name={name}\n trigger={trigger}\n register={register}\n clearErrors={clearErrors}\n control={control}\n formState={formState}\n error={error}\n getValues={getValues}\n setValue={setValue}\n layout={layout}\n label={label}\n Field={Field}\n reset={reset}\n resetField={resetField}\n sortable={customField.extra.sortable}\n {...customField}\n />\n ) : (\n <>\n {fields.map((field, index) => (\n <Card\n variant={customField.extra?.border ? 'border' : 'divider'}\n key={field.id}\n >\n <Fieldset>\n <FieldsetLabel>\n {customField.extra?.label.object.title}{' '}\n {!customField.extra?.noIndex && index + 1}\n </FieldsetLabel>\n <FieldObject\n name={`${name}.${index}`}\n error={Array.isArray(error) && error[index]}\n formState={formState}\n register={register}\n control={control}\n {...customField.extra?.of}\n Field={Field}\n />\n <Button\n name={`${name}-object-remove`}\n variant={\n customField.extra?.label.object?.deleteButtonVariant\n }\n type=\"button\"\n color=\"warning\"\n onClick={() => remove(index)}\n disabled={!customField?.editable}\n >\n {customField.extra?.label.object?.delete}\n </Button>\n </Fieldset>\n </Card>\n ))}\n {customField.editable && (\n <Button\n type=\"button\"\n name={`${name}-add-object`}\n color=\"secondary\"\n variant={customField.extra?.label.object?.addButtonVariant}\n onClick={(ev) => {\n ev.preventDefault();\n append({});\n }}\n disabled={!customField?.editable}\n >\n {customField.extra?.label.object?.add}\n </Button>\n )}\n </>\n )}\n </FieldBaseContainer>\n );\n }}\n control={control}\n name={name}\n />\n );\n};\n\nexport default FieldArray;\n"],
|
|
5
|
+
"mappings": "AAAA,OAAO,WAAW;AAClB;AAAA,EACE;AAAA,EAEA;AAAA,OAEK;AACP,SAAS,0BAA0B;AAEnC,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB;AAC5B,SAAS,eAAe,gBAAgB;AACxC,SAAS,YAAY;AACrB,SAAS,cAAc;AAehB,MAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,EAAE,QAAQ,OAAO,IAAI,cAAc;AAAA,IACvC;AAAA,IACA;AAAA,EACF,CAAC;AAED,QAAM,SAAS,UAAU,IAAI,KAAK,CAAC;AACnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,QAAQ,CAAC,EAAE,MAAM,MAAM;AACrB,eACE;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA,OAAO,OAAO,WAAW,QAAQ,QAAQ;AAAA,YACzC,UACE,UAAU,eAAe,CAAC,UAAU,gBAAgB,CAAC,CAAC;AAAA,YAExD,SAAQ;AAAA,YACR;AAAA,YACA,WAAW,YAAY,OAAO;AAAA;AAAA,UAE9B,oCAAC,SAAI,UAAU,IAAI,KAAK,MAAM,KAAK;AAAA,UAElC,YAAY,OAAO,YAAY,WAC9B;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA,UAAU,YAAY,MAAM;AAAA,cAC3B,GAAG;AAAA;AAAA,UACN,IAEA,0DACG,OAAO,IAAI,CAACA,QAAO,UAClB;AAAA,YAAC;AAAA;AAAA,cACC,SAAS,YAAY,OAAO,SAAS,WAAW;AAAA,cAChD,KAAKA,OAAM;AAAA;AAAA,YAEX,oCAAC,gBACC,oCAAC,qBACE,YAAY,OAAO,MAAM,OAAO,OAAO,KACvC,CAAC,YAAY,OAAO,WAAW,QAAQ,CAC1C,GACA;AAAA,cAAC;AAAA;AAAA,gBACC,MAAM,GAAG,IAAI,IAAI,KAAK;AAAA,gBACtB,OAAO,MAAM,QAAQ,KAAK,KAAK,MAAM,KAAK;AAAA,gBAC1C;AAAA,gBACA;AAAA,gBACA;AAAA,gBACC,GAAG,YAAY,OAAO;AAAA,gBACvB;AAAA;AAAA,YACF,GACA;AAAA,cAAC;AAAA;AAAA,gBACC,MAAM,GAAG,IAAI;AAAA,gBACb,SACE,YAAY,OAAO,MAAM,QAAQ;AAAA,gBAEnC,MAAK;AAAA,gBACL,OAAM;AAAA,gBACN,SAAS,MAAM,OAAO,KAAK;AAAA,gBAC3B,UAAU,CAAC,aAAa;AAAA;AAAA,cAEvB,YAAY,OAAO,MAAM,QAAQ;AAAA,YACpC,CACF;AAAA,UACF,CACD,GACA,YAAY,YACX;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,MAAM,GAAG,IAAI;AAAA,cACb,OAAM;AAAA,cACN,SAAS,YAAY,OAAO,MAAM,QAAQ;AAAA,cAC1C,SAAS,CAAC,OAAO;AACf,mBAAG,eAAe;AAClB,uBAAO,CAAC,CAAC;AAAA,cACX;AAAA,cACA,UAAU,CAAC,aAAa;AAAA;AAAA,YAEvB,YAAY,OAAO,MAAM,QAAQ;AAAA,UACpC,CAEJ;AAAA,QAEJ;AAAA,MAEJ;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EACF;AAEJ;AAEA,IAAO,qBAAQ;",
|
|
6
|
+
"names": ["field"]
|
|
7
7
|
}
|
package/FormBuilder/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { useFormContext } from '@digigov/form/FormContext';
|
|
3
2
|
import { FormBaseProps, FormBuilderProps } from '@digigov/form/types';
|
|
4
3
|
declare const FormBase: React.ForwardRefExoticComponent<FormBaseProps & React.RefAttributes<HTMLFormElement>>;
|
|
4
|
+
declare const useFormContext: () => import("@digigov/form/types").FormContextProps;
|
|
5
5
|
declare const useFormValues: () => import("react-hook-form").FieldValues;
|
|
6
6
|
declare const FormBuilder: React.ForwardRefExoticComponent<FormBuilderProps & React.RefAttributes<HTMLFormElement>>;
|
|
7
7
|
export declare const ControlledFormBuilder: (props: any) => React.JSX.Element;
|
package/FormBuilder/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import React, { useCallback, useEffect, useRef } from "react";
|
|
1
|
+
import React, { useCallback, useContext, useEffect, useRef } from "react";
|
|
2
2
|
import { useForm } from "react-hook-form";
|
|
3
3
|
import { Field } from "@digigov/form/Field";
|
|
4
4
|
import { ErrorGroup } from "@digigov/form/Field/ErrorGroup";
|
|
5
5
|
import { CONTROLLED_FIELD_COMPONENTS } from "@digigov/form/Field/utils";
|
|
6
6
|
import { FieldsetWithContext } from "@digigov/form/Fieldset/FieldsetWithContext";
|
|
7
|
-
import { FormContext
|
|
7
|
+
import { FormContext } from "@digigov/form/FormContext";
|
|
8
8
|
import { yupResolver } from "@digigov/form/utils";
|
|
9
9
|
import { useValidationSchema } from "@digigov/form/validators";
|
|
10
10
|
import { Button } from "@digigov/ui/form/Button";
|
|
@@ -38,6 +38,7 @@ const FormBase = React.forwardRef(function FormBase2({
|
|
|
38
38
|
const handleSubmit = useCallback(
|
|
39
39
|
(data) => {
|
|
40
40
|
if (onSubmit) {
|
|
41
|
+
form.reset(data);
|
|
41
42
|
onSubmit(data);
|
|
42
43
|
}
|
|
43
44
|
},
|
|
@@ -46,7 +47,7 @@ const FormBase = React.forwardRef(function FormBase2({
|
|
|
46
47
|
useEffect(() => {
|
|
47
48
|
if (errors) {
|
|
48
49
|
for (const fieldName in errors) {
|
|
49
|
-
form.setError(fieldName, errors[fieldName]);
|
|
50
|
+
form.setError(fieldName, errors[fieldName], { shouldFocus: true });
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
53
|
}, [errors]);
|
|
@@ -105,6 +106,9 @@ const groupFieldsByLayout = (fields) => {
|
|
|
105
106
|
return sizes;
|
|
106
107
|
}, {});
|
|
107
108
|
};
|
|
109
|
+
const useFormContext = () => {
|
|
110
|
+
return useContext(FormContext);
|
|
111
|
+
};
|
|
108
112
|
const useFormValues = () => {
|
|
109
113
|
const ctx = useFormContext();
|
|
110
114
|
return ctx.getValues();
|
package/FormBuilder/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/FormBuilder/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import React, { useCallback, useEffect, useRef } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { Field } from '@digigov/form/Field';\nimport { ErrorGroup } from '@digigov/form/Field/ErrorGroup';\nimport { CONTROLLED_FIELD_COMPONENTS } from '@digigov/form/Field/utils';\nimport { FieldsetWithContext } from '@digigov/form/Fieldset/FieldsetWithContext';\nimport { FormContext
|
|
5
|
-
"mappings": "AAAA,OAAO,SAAS,aAAa,WAAW,cAAc;
|
|
4
|
+
"sourcesContent": ["import React, { useCallback, useContext, useEffect, useRef } from 'react';\nimport { useForm } from 'react-hook-form';\nimport { Field } from '@digigov/form/Field';\nimport { ErrorGroup } from '@digigov/form/Field/ErrorGroup';\nimport { CONTROLLED_FIELD_COMPONENTS } from '@digigov/form/Field/utils';\nimport { FieldsetWithContext } from '@digigov/form/Fieldset/FieldsetWithContext';\nimport { FormContext } from '@digigov/form/FormContext';\nimport { FormBaseProps, FormData, FormBuilderProps } from '@digigov/form/types';\nimport { yupResolver } from '@digigov/form/utils';\nimport { useValidationSchema } from '@digigov/form/validators';\nimport { Button } from '@digigov/ui/form/Button';\nimport { Form } from '@digigov/ui/form/Form';\nimport { useScreenSize } from '@digigov/ui/utils/hooks/useScreen';\n\nconst FormBase = React.forwardRef(function FormBase(\n {\n onSubmit,\n children,\n registerField,\n fieldsMap,\n fieldsetsMap,\n resolver,\n mode,\n initial,\n reValidateMode,\n shouldFocusError = true,\n criteriaMode,\n componentRegistry,\n grid,\n errors,\n ...props\n }: FormBaseProps,\n ref: React.Ref<HTMLFormElement>\n) {\n const form = useForm({\n resolver,\n mode,\n defaultValues: initial,\n reValidateMode,\n shouldFocusError,\n criteriaMode,\n });\n\n const handleSubmit = useCallback(\n (data: FormData): void => {\n if (onSubmit) {\n form.reset(data);\n onSubmit(data);\n }\n },\n [onSubmit]\n );\n useEffect(() => {\n if (errors) {\n for (const fieldName in errors) {\n form.setError(fieldName, errors[fieldName], { shouldFocus: true });\n }\n }\n }, [errors]);\n const submit = form.handleSubmit(handleSubmit);\n const ctx = {\n fieldsMap,\n fieldsetsMap,\n control: form.control,\n register: form.register,\n watch: form.watch,\n resetField: form.resetField,\n registerField: registerField,\n errors: form.formState.errors,\n formState: form.formState,\n reset: form.reset,\n trigger: form.trigger,\n getFieldState: form.getFieldState,\n setValue: form.setValue,\n clearErrors: form.clearErrors,\n getValues: form.getValues,\n unregister: form.unregister,\n componentRegistry,\n setError: form.setError,\n formRef: ref,\n submit,\n };\n\n return (\n <FormContext.Provider value={ctx}>\n <Form grid={grid} onSubmit={submit} ref={ref} {...props}>\n {children}\n </Form>\n </FormContext.Provider>\n );\n});\n\nconst DEFAULT_LAYOUT = {\n xs: 12,\n sm: 12,\n md: 12,\n lg: 12,\n xl: 12,\n};\n\nconst BREAKPOINTS = ['xs', 'sm', 'md', 'lg', 'xl'];\n\nconst groupFieldsByLayout = (fields) => {\n return BREAKPOINTS.reduce((sizes, size) => {\n sizes[size] = fields\n .reduce((acc, item) => {\n const layoutValue = item.layout?.[size] || 12;\n if (layoutValue === 0) {\n return [...acc, item];\n }\n const lastElement = acc[acc.length - 1];\n const currentSum = Array.isArray(lastElement)\n ? lastElement.reduce((sum, i) => sum + (i.layout?.[size] || 0), 0)\n : 0;\n if (!Array.isArray(lastElement) || currentSum + layoutValue > 12) {\n return layoutValue === 12 ? [...acc, item] : [...acc, [item]];\n }\n\n return [...acc.slice(0, -1), [...lastElement, item]];\n }, [])\n .map((item) => {\n if (Array.isArray(item) && item.length === 1) {\n return item[0];\n }\n return item;\n });\n return sizes;\n }, {});\n};\nconst useFormContext = () => {\n return useContext(FormContext);\n};\nconst useFormValues = () => {\n const ctx = useFormContext();\n return ctx.getValues();\n};\nconst FormBuilder = React.forwardRef(function FormBuilder(\n {\n fields = [],\n fieldsets,\n initial = {},\n onSubmit,\n children,\n reValidateMode = 'onSubmit',\n mode = 'onSubmit',\n shouldFocusError = true,\n criteriaMode = 'all',\n auto = false,\n validatorRegistry,\n componentRegistry,\n grid = false,\n ...props\n }: FormBuilderProps,\n ref: React.Ref<HTMLFormElement>\n): React.ReactElement {\n const { screenSize } = useScreenSize();\n fields = fields.map((field) => {\n const layout = field.layout;\n if (!layout) {\n return {\n ...field,\n layout: DEFAULT_LAYOUT,\n };\n }\n return {\n ...field,\n layout: BREAKPOINTS.reduce(\n (expandedLayout, breakpoint, breakpointIndex) => {\n if (field?.layout?.[breakpoint]) {\n expandedLayout[breakpoint] = field?.layout[breakpoint];\n } else if (expandedLayout[BREAKPOINTS[breakpointIndex - 1]]) {\n expandedLayout[breakpoint] =\n expandedLayout[BREAKPOINTS[breakpointIndex - 1]];\n } else {\n expandedLayout[breakpoint] = 12;\n }\n return expandedLayout;\n },\n {}\n ),\n };\n });\n\n const fieldsState = useRef(fields);\n const setFieldsState = useCallback((newFields) => {\n fieldsState.current = newFields;\n }, []);\n const schema = useValidationSchema(fieldsState, validatorRegistry);\n const registerField = useCallback((field) => {\n const fieldIndex = fieldsState.current.findIndex(\n (f) => f.key === field.key\n );\n if (fieldIndex > -1) {\n fieldsState.current[fieldIndex] = field;\n } else {\n fieldsState.current.push(field);\n }\n setFieldsState(fieldsState.current);\n }, []);\n let resolver;\n let fieldsMap;\n let fieldsetsMap;\n let fieldChildren;\n if (schema) {\n resolver = yupResolver(schema);\n fieldsMap = fields\n ? fields.reduce((map, field) => ({ ...map, [field.key]: field }), {})\n : {};\n fieldsetsMap =\n fieldsets &&\n fieldsets.reduce(\n (map, fieldset) => ({ ...map, [fieldset.key]: fieldset }),\n {}\n );\n\n if (auto) {\n if (fieldsets) {\n fieldChildren = fieldsets.map((fieldset) => (\n <FieldsetWithContext key={fieldset.key} name={fieldset.key} />\n ));\n } else if (fields) {\n const fieldsByLayouts = groupFieldsByLayout(fields);\n const fieldsByLayoutSize = fieldsByLayouts[screenSize];\n fieldChildren = fieldsByLayoutSize.map((item, index) => {\n if (Array.isArray(item)) {\n return (\n <ErrorGroup\n key={index}\n screenSize={screenSize}\n fieldOrder={item.map((field) => field.key)}\n >\n {item.map((f) => {\n return <Field key={f.key} name={f.key} />;\n })}\n </ErrorGroup>\n );\n } else {\n return <Field key={item.key} name={item.key} />;\n }\n });\n }\n }\n }\n return (\n <FormBase\n resolver={resolver}\n fieldsetsMap={fieldsetsMap}\n fieldsMap={fieldsMap}\n registerField={registerField}\n initial={initial}\n reValidateMode={reValidateMode}\n mode={mode}\n shouldFocusError={shouldFocusError}\n criteriaMode={criteriaMode}\n onSubmit={onSubmit}\n componentRegistry={componentRegistry}\n ref={ref}\n grid={grid}\n {...props}\n >\n {fieldChildren}\n {auto && <Button type=\"submit\">\u03A3\u03C5\u03BD\u03AD\u03C7\u03B5\u03B9\u03B1</Button>}\n {children}\n </FormBase>\n );\n});\nexport const ControlledFormBuilder = (props) => {\n return (\n <FormBuilder {...props} componentRegistry={CONTROLLED_FIELD_COMPONENTS} />\n );\n};\nexport default FormBuilder;\n\nexport { useFormContext, useFormValues, FormBase };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["FormBase", "FormBuilder"]
|
|
7
7
|
}
|
package/FormContext/index.js
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
import { createContext
|
|
1
|
+
import { createContext } from "react";
|
|
2
2
|
const FormContext = createContext({
|
|
3
3
|
fieldsMap: {},
|
|
4
4
|
fieldsetsMap: {}
|
|
5
5
|
});
|
|
6
|
-
const useFormContext = () => {
|
|
7
|
-
return useContext(FormContext);
|
|
8
|
-
};
|
|
9
6
|
export {
|
|
10
|
-
FormContext
|
|
11
|
-
useFormContext
|
|
7
|
+
FormContext
|
|
12
8
|
};
|
|
13
9
|
//# sourceMappingURL=FormContext.js.map
|
package/FormContext.d.ts
CHANGED
package/FormContext.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/FormContext.tsx"],
|
|
4
|
-
"sourcesContent": ["import React, { createContext
|
|
5
|
-
"mappings": "AAAA,SAAgB,
|
|
4
|
+
"sourcesContent": ["import React, { createContext } from 'react';\nimport { FormContextProps } from '@digigov/form/types';\n\nexport const FormContext: React.Context<FormContextProps> = createContext({\n fieldsMap: {},\n fieldsetsMap: {},\n} as FormContextProps);\n"],
|
|
5
|
+
"mappings": "AAAA,SAAgB,qBAAqB;AAG9B,MAAM,cAA+C,cAAc;AAAA,EACxE,WAAW,CAAC;AAAA,EACZ,cAAc,CAAC;AACjB,CAAqB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare const Default: (
|
|
2
|
+
export declare const Default: () => React.JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare const PreviewDisplay: (
|
|
2
|
+
export declare const PreviewDisplay: () => React.JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare const WithExactLength: (
|
|
2
|
+
export declare const WithExactLength: () => React.JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare const WithMaxLength: (
|
|
2
|
+
export declare const WithMaxLength: () => React.JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare const WithMinAndMaxLength: (
|
|
2
|
+
export declare const WithMinAndMaxLength: () => React.JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare const WithMinLength: (
|
|
2
|
+
export declare const WithMinLength: () => React.JSX.Element;
|
|
@@ -26,7 +26,6 @@ const AddObjects = ({
|
|
|
26
26
|
setValue,
|
|
27
27
|
stashedObjects,
|
|
28
28
|
getValues,
|
|
29
|
-
resetField,
|
|
30
29
|
onStash,
|
|
31
30
|
error,
|
|
32
31
|
Field
|
|
@@ -107,6 +106,7 @@ const AddObjects = ({
|
|
|
107
106
|
control,
|
|
108
107
|
register,
|
|
109
108
|
reset,
|
|
109
|
+
resetField,
|
|
110
110
|
error: needsMoreError
|
|
111
111
|
} = useField(radioField.key, radioField?.type ? radioField : null);
|
|
112
112
|
const calculatedField = useMemo(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/MultiplicityField/add-objects.tsx"],
|
|
4
|
-
"sourcesContent": ["import React, { useEffect, useMemo } from 'react';\nimport {\n ErrorOption,\n FieldArrayWithId,\n UseFieldArrayReturn,\n useWatch,\n} from 'react-hook-form';\nimport { FieldBase } from '@digigov/form/Field/FieldBase';\nimport { CalculatedField } from '@digigov/form/Field/types';\nimport {\n FIELD_COMPONENTS,\n ALTERNATIVE_COMPONENTS,\n} from '@digigov/form/Field/utils';\nimport { calculateField } from '@digigov/form/Field/utils/calculateField';\nimport { useField } from '@digigov/form/Field/utils/useField';\nimport { FieldObject } from '@digigov/form/FieldObject';\nimport { Fieldset } from '@digigov/form/Fieldset';\nimport type {\n MultiplicityProps,\n StashedObject,\n} from '@digigov/form/MultiplicityField/types';\nimport { FieldSpec } from '@digigov/form/types';\nimport { Button } from '@digigov/ui/form/Button';\nimport { RadioConditional } from '@digigov/ui/form/RadioContainer';\n\nexport interface AddObjectsProps\n extends Omit<MultiplicityProps, 'key' | 'component'> {\n fields: FieldArrayWithId[];\n error?: ErrorOption;\n append: UseFieldArrayReturn['append'];\n remove: UseFieldArrayReturn['remove'];\n stashedObjects: StashedObject[];\n onStash: (arg0: StashedObject) => void;\n children?: React.ReactNode;\n}\n\nexport const AddObjects: React.FC<AddObjectsProps> = ({\n name,\n fields,\n formState,\n extra,\n append,\n remove,\n trigger,\n clearErrors,\n children,\n setValue,\n stashedObjects,\n getValues,\n
|
|
5
|
-
"mappings": "AAAA,OAAO,SAAS,WAAW,eAAe;AAC1C;AAAA,EAIE;AAAA,OACK;AACP,SAAS,iBAAiB;AAE1B;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB;AACzB,SAAS,mBAAmB;AAC5B,SAAS,gBAAgB;AAMzB,SAAS,cAAc;AACvB,SAAS,wBAAwB;AAa1B,MAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;
|
|
4
|
+
"sourcesContent": ["import React, { useEffect, useMemo } from 'react';\nimport {\n ErrorOption,\n FieldArrayWithId,\n UseFieldArrayReturn,\n useWatch,\n} from 'react-hook-form';\nimport { FieldBase } from '@digigov/form/Field/FieldBase';\nimport { CalculatedField } from '@digigov/form/Field/types';\nimport {\n FIELD_COMPONENTS,\n ALTERNATIVE_COMPONENTS,\n} from '@digigov/form/Field/utils';\nimport { calculateField } from '@digigov/form/Field/utils/calculateField';\nimport { useField } from '@digigov/form/Field/utils/useField';\nimport { FieldObject } from '@digigov/form/FieldObject';\nimport { Fieldset } from '@digigov/form/Fieldset';\nimport type {\n MultiplicityProps,\n StashedObject,\n} from '@digigov/form/MultiplicityField/types';\nimport { FieldSpec } from '@digigov/form/types';\nimport { Button } from '@digigov/ui/form/Button';\nimport { RadioConditional } from '@digigov/ui/form/RadioContainer';\n\nexport interface AddObjectsProps\n extends Omit<MultiplicityProps, 'key' | 'component'> {\n fields: FieldArrayWithId[];\n error?: ErrorOption;\n append: UseFieldArrayReturn['append'];\n remove: UseFieldArrayReturn['remove'];\n stashedObjects: StashedObject[];\n onStash: (arg0: StashedObject) => void;\n children?: React.ReactNode;\n}\n\nexport const AddObjects: React.FC<AddObjectsProps> = ({\n name,\n fields,\n formState,\n extra,\n append,\n remove,\n trigger,\n clearErrors,\n children,\n setValue,\n stashedObjects,\n getValues,\n onStash,\n error,\n Field,\n}) => {\n const currentIndex = fields.length > 0 ? fields.length - 1 : fields.length;\n const currentName = `${name}.${currentIndex}`;\n const radioField: FieldSpec = {\n key: 'needs-more',\n type: 'choice:single',\n label: {\n primary: extra?.label.question.title,\n },\n required: true,\n validators: [\n {\n name: 'is-locked',\n message: 'form.error.needs-more',\n test: (data) => {\n return data === 'no';\n },\n },\n ],\n extra: {\n options: [\n {\n label: { primary: extra?.label.question.yes },\n id: `radio-input-${name}-yes`,\n value: 'yes',\n selected: function RadioSelected() {\n return (\n <RadioConditional\n hidden={\n needsMore !== 'yes' ||\n (extra?.max && extra?.max - stashedObjects.length === 0)\n }\n >\n {needsMore === 'yes' && fields.length > 0 && (\n <>\n <FieldObject\n name={currentName}\n error={error && error[currentIndex]}\n register={register}\n formState={formState}\n control={control}\n {...extra?.of}\n label={\n extra?.label.question.objectLabel || extra?.of.label\n }\n />\n <Button\n color=\"secondary\"\n name={`${currentName}-add-object`}\n onClick={async (e) => {\n e.preventDefault();\n const nestedFields = extra?.of.extra.fields.map(\n (f) => `${currentName}.${f.key}`\n );\n const result = await trigger(nestedFields);\n if (result) {\n setValue('needs-more', '');\n onStash(getValues(currentName));\n }\n }}\n >\n {extra?.label.object.add}\n </Button>\n </>\n )}\n </RadioConditional>\n );\n },\n },\n {\n label: { primary: extra?.label.question.no },\n id: `radio-input-${name}-no`,\n value: 'no',\n },\n ],\n },\n };\n\n const {\n field,\n control,\n register,\n reset,\n resetField,\n error: needsMoreError,\n } = useField(radioField.key, radioField?.type ? radioField : null);\n\n const calculatedField: CalculatedField = useMemo(\n () =>\n calculateField(children, field, FIELD_COMPONENTS, ALTERNATIVE_COMPONENTS),\n [field]\n );\n const needsMore = useWatch({ name: field.key, control });\n\n useEffect(() => {\n if (needsMore === 'yes') {\n append({ afm: '', firstName: '', lastName: '' });\n }\n if (needsMore === 'no' && stashedObjects.length < fields.length) {\n remove(currentIndex);\n }\n if (needsMore === '') clearErrors('needs-more');\n }, [needsMore]);\n\n // TODO: Refactor types so that label is always required, the following\n // assignment is a temp fix for typescript build to run\n calculatedField.label = calculatedField.label || {};\n if (extra?.length) {\n calculatedField.label.secondary = `\u0388\u03C7\u03B5\u03C4\u03B5 \u03C0\u03C1\u03BF\u03C3\u03B8\u03AD\u03C3\u03B5\u03B9 ${\n stashedObjects.length\n } \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AD\u03C2 \u03BA\u03B1\u03B9 \u03C3\u03B1\u03C2 \u03B1\u03C0\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5\u03BD \u03B1\u03BA\u03CC\u03BC\u03B1 ${\n extra.length - stashedObjects.length\n } \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AD\u03C2.`;\n } else if (extra?.min && extra?.max) {\n calculatedField.label.secondary = `\u03A4\u03BF \u03C0\u03B5\u03B4\u03AF\u03BF \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 \u03B1\u03BA\u03CC\u03BC\u03B1 ${\n extra?.min - stashedObjects.length\n } \u03BA\u03B1\u03B9 \u03C4\u03BF \u03BC\u03AD\u03B3\u03B9\u03C3\u03C4\u03BF ${\n extra?.max\n } \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AD\u03C2. \u03A0\u03C1\u03BF\u03C3\u03B8\u03AD\u03C3\u03C4\u03B5 \u03BC\u03B9\u03B1 \u03B1\u03BA\u03CC\u03BC\u03B1 \u03B5\u03C0\u03B9\u03BB\u03AD\u03B3\u03BF\u03BD\u03C4\u03B1\u03C2 \u03C4\u03B7\u03BD \u03B1\u03C0\u03AC\u03BD\u03C4\u03B7\u03C3\u03B7 \u00AB\u039D\u03B1\u03B9\u00BB \u03C3\u03C4\u03B7\u03BD \u03B5\u03C0\u03CC\u03BC\u03B5\u03BD\u03B7 \u03B5\u03C1\u03CE\u03C4\u03B7\u03C3\u03B7.`;\n } else if (extra?.min) {\n calculatedField.label.secondary = `\u03A4\u03BF \u03C0\u03B5\u03B4\u03AF\u03BF \u03C0\u03C1\u03AD\u03C0\u03B5\u03B9 \u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9 \u03B1\u03BA\u03CC\u03BC\u03B1 ${\n extra?.min - stashedObjects.length\n } \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AD\u03C2. \u03A0\u03C1\u03BF\u03C3\u03B8\u03AD\u03C3\u03C4\u03B5 \u03BC\u03B9\u03B1 \u03B1\u03BA\u03CC\u03BC\u03B1 \u03B5\u03C0\u03B9\u03BB\u03AD\u03B3\u03BF\u03BD\u03C4\u03B1\u03C2 \u03C4\u03B7\u03BD \u03B1\u03C0\u03AC\u03BD\u03C4\u03B7\u03C3\u03B7 \u00AB\u039D\u03B1\u03B9\u00BB \u03C3\u03C4\u03B7\u03BD \u03B5\u03C0\u03CC\u03BC\u03B5\u03BD\u03B7 \u03B5\u03C1\u03CE\u03C4\u03B7\u03C3\u03B7.`;\n } else if (extra?.max) {\n calculatedField.label.secondary = ` \u0388\u03C7\u03B5\u03C4\u03B5 \u03C0\u03C1\u03BF\u03C3\u03B8\u03AD\u03C3\u03B5\u03B9 ${\n stashedObjects.length\n } \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AD\u03C2 \u03BA\u03B1\u03B9 \u03C3\u03B1\u03C2 \u03B1\u03C0\u03BF\u03BC\u03AD\u03BD\u03BF\u03C5\u03BD ${\n extra.max - stashedObjects.length\n } \u03B5\u03C0\u03B9\u03C0\u03BB\u03AD\u03BF\u03BD \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AD\u03C2.`;\n }\n return (\n <Fieldset>\n <FieldBase\n {...calculatedField}\n name={calculatedField.key}\n control={control}\n register={register}\n reset={reset}\n resetField={resetField}\n Field={Field}\n error={\n extra?.max - stashedObjects.length === 0 ||\n extra?.length - stashedObjects.length === 0\n ? error\n : needsMoreError\n }\n />\n </Fieldset>\n );\n};\n\nexport default AddObjects;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -25,7 +25,6 @@ const Multiplicity = ({
|
|
|
25
25
|
setValue,
|
|
26
26
|
getValues,
|
|
27
27
|
unregister,
|
|
28
|
-
resetField,
|
|
29
28
|
Field
|
|
30
29
|
}) => {
|
|
31
30
|
const { fields, append, remove } = useFieldArray({
|
|
@@ -47,11 +46,11 @@ const Multiplicity = ({
|
|
|
47
46
|
{
|
|
48
47
|
label,
|
|
49
48
|
layout,
|
|
49
|
+
register,
|
|
50
50
|
error: formState.isSubmitted && !formState.isSubmitting && error?.message ? error : void 0,
|
|
51
51
|
hasError: formState.isSubmitted && !formState.isSubmitting && !!error,
|
|
52
52
|
wrapper: "fieldset",
|
|
53
|
-
name
|
|
54
|
-
register
|
|
53
|
+
name
|
|
55
54
|
},
|
|
56
55
|
stashedObjects.length > 0 ? /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(Heading, { size: "md" }, extra?.label.object.title_added), stashedObjects.map((_Object, index) => {
|
|
57
56
|
return /* @__PURE__ */ React.createElement(
|
|
@@ -86,7 +85,6 @@ const Multiplicity = ({
|
|
|
86
85
|
getValues,
|
|
87
86
|
unregister,
|
|
88
87
|
trigger,
|
|
89
|
-
resetField,
|
|
90
88
|
clearErrors,
|
|
91
89
|
Field
|
|
92
90
|
}
|