@digigov/form 0.7.0 → 0.8.1
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 +22 -1
- package/Field/FieldBase.js +3 -11
- package/Field/FieldContainer.js +6 -3
- package/Field/index.js +37 -1
- package/Field/utils.js +17 -1
- package/FieldArray/FieldArray.stories.js +44 -0
- package/FieldArray/__stories__/Default.js +109 -0
- package/FieldArray/__stories__/WithExactLength.js +108 -0
- package/FieldArray/index.js +84 -0
- package/FieldObject/index.js +80 -0
- package/FormBuilder.js +22 -12
- package/MultiplicityField/MultiplicityField.stories.js +86 -0
- package/MultiplicityField/__stories__/Default.js +121 -0
- package/MultiplicityField/__stories__/WithExactLength.js +116 -0
- package/MultiplicityField/__stories__/WithMaxLength.js +119 -0
- package/MultiplicityField/__stories__/WithMinAndMaxLength.js +120 -0
- package/MultiplicityField/__stories__/WithMinLength.js +119 -0
- package/MultiplicityField/add-objects.js +180 -0
- package/MultiplicityField/index.js +142 -0
- package/es/Field/FieldBase.js +3 -11
- package/es/Field/FieldContainer.js +6 -3
- package/es/Field/index.js +35 -1
- package/es/Field/utils.js +17 -1
- package/es/FieldArray/FieldArray.stories.js +7 -0
- package/es/FieldArray/__stories__/Default.js +88 -0
- package/es/FieldArray/__stories__/WithExactLength.js +87 -0
- package/es/FieldArray/index.js +62 -0
- package/es/FieldObject/index.js +55 -0
- package/es/FormBuilder.js +22 -11
- package/es/MultiplicityField/MultiplicityField.stories.js +10 -0
- package/es/MultiplicityField/__stories__/Default.js +100 -0
- package/es/MultiplicityField/__stories__/WithExactLength.js +95 -0
- package/es/MultiplicityField/__stories__/WithMaxLength.js +98 -0
- package/es/MultiplicityField/__stories__/WithMinAndMaxLength.js +99 -0
- package/es/MultiplicityField/__stories__/WithMinLength.js +98 -0
- package/es/MultiplicityField/add-objects.js +156 -0
- package/es/MultiplicityField/index.js +113 -0
- package/es/inputs/FileInput/index.js +16 -10
- package/es/inputs/Radio/index.js +8 -13
- package/es/internal.js +2 -0
- package/es/utils.js +61 -46
- package/es/validators/index.js +26 -10
- package/es/validators/utils/index.js +1 -19
- package/esm/Field/FieldBase.js +3 -11
- package/esm/Field/FieldContainer.js +6 -3
- package/esm/Field/index.js +35 -1
- package/esm/Field/utils.js +17 -1
- package/esm/FieldArray/FieldArray.stories.js +7 -0
- package/esm/FieldArray/__stories__/Default.js +88 -0
- package/esm/FieldArray/__stories__/WithExactLength.js +87 -0
- package/esm/FieldArray/index.js +62 -0
- package/esm/FieldObject/index.js +55 -0
- package/esm/FormBuilder.js +22 -11
- package/esm/MultiplicityField/MultiplicityField.stories.js +10 -0
- package/esm/MultiplicityField/__stories__/Default.js +100 -0
- package/esm/MultiplicityField/__stories__/WithExactLength.js +95 -0
- package/esm/MultiplicityField/__stories__/WithMaxLength.js +98 -0
- package/esm/MultiplicityField/__stories__/WithMinAndMaxLength.js +99 -0
- package/esm/MultiplicityField/__stories__/WithMinLength.js +98 -0
- package/esm/MultiplicityField/add-objects.js +156 -0
- package/esm/MultiplicityField/index.js +113 -0
- package/esm/index.js +1 -1
- package/esm/inputs/FileInput/index.js +16 -10
- package/esm/inputs/Radio/index.js +8 -13
- package/esm/internal.js +2 -0
- package/esm/utils.js +61 -46
- package/esm/validators/index.js +26 -10
- package/esm/validators/utils/index.js +1 -19
- package/inputs/FileInput/index.js +17 -10
- package/inputs/Radio/index.js +8 -20
- package/internal.js +21 -0
- package/libs/form/src/Field/types.d.ts +21 -13
- package/libs/form/src/FieldArray/FieldArray.stories.d.ts +8 -0
- package/libs/form/src/FieldArray/__stories__/Default.d.ts +1 -0
- package/libs/form/src/FieldArray/__stories__/WithExactLength.d.ts +1 -0
- package/libs/form/src/FieldArray/index.d.ts +11 -0
- package/libs/form/src/FieldObject/index.d.ts +20 -0
- package/libs/form/src/MultiplicityField/MultiplicityField.stories.d.ts +11 -0
- package/libs/form/src/MultiplicityField/__stories__/Default.d.ts +1 -0
- package/libs/form/src/MultiplicityField/__stories__/WithExactLength.d.ts +1 -0
- package/libs/form/src/MultiplicityField/__stories__/WithMaxLength.d.ts +1 -0
- package/libs/form/src/MultiplicityField/__stories__/WithMinAndMaxLength.d.ts +1 -0
- package/libs/form/src/MultiplicityField/__stories__/WithMinLength.d.ts +1 -0
- package/libs/form/src/MultiplicityField/add-objects.d.ts +13 -0
- package/libs/form/src/MultiplicityField/index.d.ts +32 -0
- package/libs/form/src/inputs/DateInput/index.d.ts +0 -1
- package/libs/form/src/inputs/FileInput/index.d.ts +1 -0
- package/libs/form/src/inputs/Label/index.d.ts +1 -0
- package/libs/form/src/internal.d.ts +2 -0
- package/libs/form/src/types.d.ts +20 -12
- package/libs/form/src/utils.d.ts +8 -3
- package/libs/form/src/validators/index.d.ts +4 -3
- package/libs/form/src/validators/types.d.ts +1 -1
- package/libs/form/src/validators/utils/file.d.ts +3 -1
- package/libs/form/src/validators/utils/iban.d.ts +3 -1
- package/libs/form/src/validators/utils/index.d.ts +15 -3
- package/libs/form/src/validators/utils/phone.d.ts +3 -1
- package/libs/form/src/validators/utils/postal_code.d.ts +3 -1
- package/libs/ui/src/app/i18n.d.ts +2 -2
- package/libs/ui/src/core/Accordion/index.d.ts +3 -3
- package/libs/ui/src/core/Base/index.d.ts +3 -0
- package/libs/ui/src/core/Blockquote/index.d.ts +1 -1
- package/libs/ui/src/core/Button/BackButton.d.ts +1 -1
- package/libs/ui/src/core/Button/ButtonLink.d.ts +1 -1
- package/libs/ui/src/core/Button/index.d.ts +1 -1
- package/libs/ui/src/core/Divider/index.d.ts +1 -1
- package/libs/ui/src/core/Form/index.d.ts +3 -0
- package/libs/ui/src/core/Label/index.d.ts +4 -0
- package/libs/ui/src/core/Link/index.d.ts +1 -0
- package/libs/ui/src/core/List/ListItemContent.d.ts +0 -1
- package/libs/ui/src/core/List/ListItemIcon.d.ts +1 -3
- package/libs/ui/src/core/List/ListItemText.d.ts +0 -1
- package/libs/ui/src/core/List/ListItemTitle.d.ts +0 -1
- package/libs/ui/src/core/NavList/NavHorizontal.d.ts +3 -0
- package/libs/ui/src/core/NavList/NavHorizontalList.d.ts +3 -0
- package/libs/ui/src/core/NavList/NavHorizontalListItem.d.ts +3 -0
- package/libs/ui/src/core/NavList/NavListItemBase.d.ts +1 -1
- package/libs/ui/src/core/NavList/NavVertical.d.ts +3 -0
- package/libs/ui/src/core/NavList/NavVerticalItem.d.ts +3 -0
- package/libs/ui/src/core/NavList/index.d.ts +5 -0
- package/libs/ui/src/core/SkipLink/index.d.ts +3 -0
- package/libs/ui/src/core/SvgIcon/index.d.ts +1 -0
- package/libs/ui/src/core/Table/TableFloatingScroll.d.ts +0 -1
- package/libs/ui/src/core/index.d.ts +4 -0
- package/libs/ui/src/locales/el.d.ts +7 -0
- package/libs/ui/src/typography/Caption/index.d.ts +3 -2
- package/libs/ui/src/typography/Title/index.d.ts +2 -1
- package/libs-ui/react-core/src/Accordion/index.d.ts +3 -3
- package/libs-ui/react-core/src/AccordionControls/index.d.ts +3 -3
- package/libs-ui/react-core/src/AccordionSection/index.d.ts +3 -3
- package/libs-ui/react-core/src/AccordionSectionContent/index.d.ts +3 -3
- package/libs-ui/react-core/src/AccordionSectionHeader/index.d.ts +3 -3
- package/libs-ui/react-core/src/AccordionSectionSummary/index.d.ts +3 -3
- package/libs-ui/react-core/src/AccordionSectionSummaryHeading/index.d.ts +3 -3
- package/libs-ui/react-core/src/Aside/index.d.ts +10 -0
- package/libs-ui/react-core/src/BackLink/index.d.ts +3 -3
- package/libs-ui/react-core/src/Base/index.d.ts +43 -0
- package/libs-ui/react-core/src/Blockquote/index.d.ts +3 -3
- package/libs-ui/react-core/src/Bottom/index.d.ts +9 -0
- package/libs-ui/react-core/src/Breadcrumbs/index.d.ts +3 -3
- package/libs-ui/react-core/src/BreadcrumbsList/index.d.ts +3 -3
- package/libs-ui/react-core/src/BreadcrumbsListItem/index.d.ts +3 -3
- package/libs-ui/react-core/src/Button/index.d.ts +3 -3
- package/libs-ui/react-core/src/ButtonGroup/index.d.ts +3 -3
- package/libs-ui/react-core/src/ButtonLink/index.d.ts +3 -3
- package/libs-ui/react-core/src/CallToAction/index.d.ts +1 -1
- package/libs-ui/react-core/src/Card/index.d.ts +3 -3
- package/libs-ui/react-core/src/CardAction/index.d.ts +3 -3
- package/libs-ui/react-core/src/CardHeading/index.d.ts +3 -3
- package/libs-ui/react-core/src/CardText/index.d.ts +3 -3
- package/libs-ui/react-core/src/CheckIcon/index.d.ts +15 -0
- package/libs-ui/react-core/src/Checkbox/index.d.ts +3 -3
- package/libs-ui/react-core/src/CheckboxConditional/index.d.ts +11 -0
- package/libs-ui/react-core/src/CheckboxItem/index.d.ts +3 -3
- package/libs-ui/react-core/src/Confirmation/index.d.ts +3 -3
- package/libs-ui/react-core/src/ConfirmationBody/index.d.ts +3 -3
- package/libs-ui/react-core/src/ConfirmationTitle/index.d.ts +3 -3
- package/libs-ui/react-core/src/Container/index.d.ts +17 -0
- package/libs-ui/react-core/src/Copyright/index.d.ts +10 -0
- package/libs-ui/react-core/src/DateInput/index.d.ts +3 -3
- package/libs-ui/react-core/src/DateInputItem/index.d.ts +3 -3
- package/libs-ui/react-core/src/Details/index.d.ts +3 -3
- package/libs-ui/react-core/src/DetailsContent/index.d.ts +3 -3
- package/libs-ui/react-core/src/DetailsSummary/index.d.ts +3 -3
- package/libs-ui/react-core/src/ErrorMessage/index.d.ts +3 -3
- package/libs-ui/react-core/src/ErrorSummary/index.d.ts +3 -3
- package/libs-ui/react-core/src/Field/index.d.ts +1 -1
- package/libs-ui/react-core/src/Fieldset/index.d.ts +3 -3
- package/libs-ui/react-core/src/FieldsetLegend/index.d.ts +3 -3
- package/libs-ui/react-core/src/FileUpload/index.d.ts +3 -3
- package/libs-ui/react-core/src/Footer/index.d.ts +9 -0
- package/libs-ui/react-core/src/FooterContainer/index.d.ts +16 -0
- package/libs-ui/react-core/src/FooterContent/index.d.ts +10 -0
- package/libs-ui/react-core/src/FooterContentLogos/index.d.ts +11 -0
- package/libs-ui/react-core/src/FooterHeading/index.d.ts +15 -0
- package/libs-ui/react-core/src/FooterImage/index.d.ts +15 -0
- package/libs-ui/react-core/src/FooterInlineList/index.d.ts +11 -0
- package/libs-ui/react-core/src/FooterInlineListItem/index.d.ts +9 -0
- package/libs-ui/react-core/src/FooterLink/index.d.ts +13 -0
- package/libs-ui/react-core/src/FooterList/index.d.ts +15 -0
- package/libs-ui/react-core/src/FooterListItem/index.d.ts +10 -0
- package/libs-ui/react-core/src/FooterMeta/index.d.ts +11 -0
- package/libs-ui/react-core/src/FooterMetaItem/index.d.ts +14 -0
- package/libs-ui/react-core/src/FooterNavigation/index.d.ts +11 -0
- package/libs-ui/react-core/src/FooterSection/index.d.ts +11 -0
- package/libs-ui/react-core/src/Form/index.d.ts +3 -3
- package/libs-ui/react-core/src/GovGRFooter/index.d.ts +9 -0
- package/libs-ui/react-core/src/GovGRLogo/govgr-logo-base64.d.ts +2 -0
- package/libs-ui/react-core/src/GovGRLogo/index.d.ts +9 -0
- package/libs-ui/react-core/src/Grid/index.d.ts +3 -3
- package/libs-ui/react-core/src/Header/index.d.ts +10 -0
- package/libs-ui/react-core/src/HeaderContent/index.d.ts +9 -0
- package/libs-ui/react-core/src/HeaderLogo/index.d.ts +21 -0
- package/libs-ui/react-core/src/HeaderSecondaryLogo/index.d.ts +21 -0
- package/libs-ui/react-core/src/HeaderSection/index.d.ts +9 -0
- package/libs-ui/react-core/src/HeaderSubtitle/index.d.ts +9 -0
- package/libs-ui/react-core/src/HeaderTitle/index.d.ts +13 -0
- package/libs-ui/react-core/src/Heading/index.d.ts +3 -3
- package/libs-ui/react-core/src/HeadingCaption/index.d.ts +3 -3
- package/libs-ui/react-core/src/HellenicRepublicLogo/index.d.ts +20 -0
- package/libs-ui/react-core/src/HellenicRepublicLogo/logo-el.d.ts +2 -0
- package/libs-ui/react-core/src/HellenicRepublicLogo/logo-en.d.ts +2 -0
- package/libs-ui/react-core/src/Hidden/index.d.ts +3 -3
- package/libs-ui/react-core/src/Hint/index.d.ts +3 -3
- package/libs-ui/react-core/src/Label/index.d.ts +3 -3
- package/libs-ui/react-core/src/LabelTitle/index.d.ts +7 -7
- package/libs-ui/react-core/src/Layout/index.d.ts +10 -0
- package/libs-ui/react-core/src/Link/index.d.ts +3 -3
- package/libs-ui/react-core/src/List/index.d.ts +3 -3
- package/libs-ui/react-core/src/ListItem/index.d.ts +3 -3
- package/libs-ui/react-core/src/Main/index.d.ts +9 -0
- package/libs-ui/react-core/src/Masthead/index.d.ts +9 -0
- package/libs-ui/react-core/src/MastheadBody/index.d.ts +9 -0
- package/libs-ui/react-core/src/NavHorizontal/index.d.ts +16 -0
- package/libs-ui/react-core/src/NavHorizontalList/index.d.ts +10 -0
- package/libs-ui/react-core/src/NavHorizontalListItem/index.d.ts +18 -0
- package/libs-ui/react-core/src/NavVertical/index.d.ts +11 -0
- package/libs-ui/react-core/src/NavVerticalItem/index.d.ts +14 -0
- package/libs-ui/react-core/src/NormalText/index.d.ts +3 -3
- package/libs-ui/react-core/src/NotificationBanner/index.d.ts +3 -3
- package/libs-ui/react-core/src/NotificationBannerContent/index.d.ts +3 -3
- package/libs-ui/react-core/src/NotificationBannerHeader/index.d.ts +3 -3
- package/libs-ui/react-core/src/NotificationBannerHeading/index.d.ts +3 -3
- package/libs-ui/react-core/src/NotificationBannerLink/index.d.ts +3 -3
- package/libs-ui/react-core/src/PageTitle/index.d.ts +9 -0
- package/libs-ui/react-core/src/PageTitleCaption/index.d.ts +14 -0
- package/libs-ui/react-core/src/PageTitleHeading/index.d.ts +13 -0
- package/libs-ui/react-core/src/PageTitleSection/index.d.ts +10 -0
- package/libs-ui/react-core/src/Paragraph/index.d.ts +3 -3
- package/libs-ui/react-core/src/PhaseBanner/index.d.ts +3 -3
- package/libs-ui/react-core/src/PhaseBannerHeaderContainer/index.d.ts +3 -3
- package/libs-ui/react-core/src/PhaseBannerTag/index.d.ts +3 -3
- package/libs-ui/react-core/src/PhaseBannerText/index.d.ts +3 -3
- package/libs-ui/react-core/src/Radio/index.d.ts +3 -3
- package/libs-ui/react-core/src/RadioConditional/index.d.ts +11 -0
- package/libs-ui/react-core/src/RadioItem/index.d.ts +3 -3
- package/libs-ui/react-core/src/SectionBreak/index.d.ts +3 -3
- package/libs-ui/react-core/src/Select/index.d.ts +3 -3
- package/libs-ui/react-core/src/SelectOption/index.d.ts +3 -3
- package/libs-ui/react-core/src/ServiceBadge/index.d.ts +11 -0
- package/libs-ui/react-core/src/SkipLink/index.d.ts +10 -0
- package/libs-ui/react-core/src/SummaryList/index.d.ts +3 -3
- package/libs-ui/react-core/src/SummaryListItem/index.d.ts +3 -3
- package/libs-ui/react-core/src/SummaryListItemAction/index.d.ts +3 -3
- package/libs-ui/react-core/src/SummaryListItemKey/index.d.ts +3 -3
- package/libs-ui/react-core/src/SummaryListItemValue/index.d.ts +3 -3
- package/libs-ui/react-core/src/SvgIcon/index.d.ts +3 -3
- package/libs-ui/react-core/src/Table/index.d.ts +3 -3
- package/libs-ui/react-core/src/TableBody/index.d.ts +3 -3
- package/libs-ui/react-core/src/TableCaption/index.d.ts +3 -3
- package/libs-ui/react-core/src/TableContainer/index.d.ts +3 -3
- package/libs-ui/react-core/src/TableDataCell/index.d.ts +3 -3
- package/libs-ui/react-core/src/TableHead/index.d.ts +3 -3
- package/libs-ui/react-core/src/TableHeadCell/index.d.ts +3 -3
- package/libs-ui/react-core/src/TableNoDataRow/index.d.ts +3 -3
- package/libs-ui/react-core/src/TableRow/index.d.ts +3 -3
- package/libs-ui/react-core/src/Tabs/index.d.ts +3 -3
- package/libs-ui/react-core/src/TabsHeading/index.d.ts +3 -3
- package/libs-ui/react-core/src/TabsList/index.d.ts +3 -3
- package/libs-ui/react-core/src/TabsListItem/index.d.ts +3 -3
- package/libs-ui/react-core/src/TabsPanel/index.d.ts +3 -3
- package/libs-ui/react-core/src/TextArea/index.d.ts +3 -3
- package/libs-ui/react-core/src/TextInput/index.d.ts +3 -3
- package/libs-ui/react-core/src/Top/index.d.ts +9 -0
- package/libs-ui/react-core/src/UncheckIcon/index.d.ts +4 -4
- package/libs-ui/react-core/src/VisuallyHidden/index.d.ts +3 -3
- package/libs-ui/react-core/src/WarningText/index.d.ts +3 -3
- package/libs-ui/react-core/src/index.d.ts +141 -0
- package/package.json +7 -6
- package/utils.js +61 -47
- package/validators/index.js +26 -10
- package/validators/utils/index.js +1 -23
package/esm/validators/index.js
CHANGED
|
@@ -33,10 +33,26 @@ export var getYUPTypeMap = function getYUPTypeMap() {
|
|
|
33
33
|
if (_typeof(field.extra.of) === 'object') {
|
|
34
34
|
// else if the field is an object then it is a scalar type
|
|
35
35
|
// eg. number, string etc.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
var arrayValidator = yup.array().of(yupTypeMap[field.extra.of.type](field.extra.of)).required(field.required);
|
|
37
|
+
if (field.extra.length) arrayValidator = arrayValidator.length(field.extra.length, {
|
|
38
|
+
key: 'form.error.array.length',
|
|
39
|
+
context: {
|
|
40
|
+
length: field.extra.length
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
if (field.extra.min) arrayValidator = arrayValidator.min(field.extra.min, {
|
|
44
|
+
key: 'form.error.array.min',
|
|
45
|
+
context: {
|
|
46
|
+
min: field.extra.min
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
if (field.extra.max) arrayValidator = arrayValidator.max(field.extra.max, {
|
|
50
|
+
key: 'form.error.array.max',
|
|
51
|
+
context: {
|
|
52
|
+
max: field.extra.max
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
return arrayValidator; // .required(field.required)
|
|
40
56
|
} else if (typeof field.extra.of === 'string') {
|
|
41
57
|
return yup.array().of(yupTypeMap[field.extra.of]());
|
|
42
58
|
} else {
|
|
@@ -77,8 +93,8 @@ export var getYUPTypeMap = function getYUPTypeMap() {
|
|
|
77
93
|
date: function date(field) {
|
|
78
94
|
var simpleDate = yup.string().nullable(true).test('date', 'form.error.date.invalid', function (value) {
|
|
79
95
|
if (!value) return true;
|
|
80
|
-
|
|
81
|
-
return
|
|
96
|
+
var date = getDate(value);
|
|
97
|
+
return date.isValid();
|
|
82
98
|
});
|
|
83
99
|
var params = field.extra || {};
|
|
84
100
|
|
|
@@ -104,8 +120,8 @@ export var getYUPTypeMap = function getYUPTypeMap() {
|
|
|
104
120
|
},
|
|
105
121
|
test: function test(value) {
|
|
106
122
|
if (!value) return true;
|
|
107
|
-
|
|
108
|
-
var isValid = +
|
|
123
|
+
var date = getDate(value);
|
|
124
|
+
var isValid = +date.toDate() < +maxDate;
|
|
109
125
|
return isValid;
|
|
110
126
|
}
|
|
111
127
|
});
|
|
@@ -134,8 +150,8 @@ export var getYUPTypeMap = function getYUPTypeMap() {
|
|
|
134
150
|
},
|
|
135
151
|
test: function test(value) {
|
|
136
152
|
if (!value) return true;
|
|
137
|
-
|
|
138
|
-
var isValid = +
|
|
153
|
+
var date = getDate(value);
|
|
154
|
+
var isValid = +date.toDate() > +minDate;
|
|
139
155
|
return isValid;
|
|
140
156
|
}
|
|
141
157
|
});
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
1
|
import * as yup from 'yup';
|
|
4
2
|
export * from '@digigov/form/validators/utils/afm';
|
|
5
3
|
export * from '@digigov/form/validators/utils/file';
|
|
@@ -8,29 +6,13 @@ export * from '@digigov/form/validators/utils/phone';
|
|
|
8
6
|
export * from '@digigov/form/validators/utils/postal_code';
|
|
9
7
|
export * from '@digigov/form/validators/utils/uuid4';
|
|
10
8
|
export function getYupField(field, yupTypeMap) {
|
|
11
|
-
var yupField = yupTypeMap[field.type] || yupTypeMap
|
|
9
|
+
var yupField = yupTypeMap[(field === null || field === void 0 ? void 0 : field.type) || 'string'] || yupTypeMap['string'];
|
|
12
10
|
return yupField(field);
|
|
13
11
|
}
|
|
14
12
|
export function computeShape(fields, yupTypeMap, validatorRegistry) {
|
|
15
13
|
var fieldSchemas = {};
|
|
16
14
|
var objectFields = {};
|
|
17
15
|
fields.forEach(function (field) {
|
|
18
|
-
if (field.key.includes('.')) {
|
|
19
|
-
var _field$key$split = field.key.split(/\.(.+)/),
|
|
20
|
-
_field$key$split2 = _slicedToArray(_field$key$split, 2),
|
|
21
|
-
objectKey = _field$key$split2[0],
|
|
22
|
-
fieldKey = _field$key$split2[1];
|
|
23
|
-
|
|
24
|
-
if (!objectFields[objectKey]) {
|
|
25
|
-
objectFields[objectKey] = [];
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
objectFields[objectKey].push(_extends({}, field, {
|
|
29
|
-
key: fieldKey
|
|
30
|
-
}));
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
16
|
var yupField = getYupField(field, yupTypeMap);
|
|
35
17
|
|
|
36
18
|
if (field.condition) {
|
|
@@ -25,19 +25,22 @@ var _Paragraph = _interopRequireDefault(require("@digigov/ui/typography/Paragrap
|
|
|
25
25
|
|
|
26
26
|
var _Hint = _interopRequireDefault(require("@digigov/react-core/Hint"));
|
|
27
27
|
|
|
28
|
-
var
|
|
28
|
+
var _Button = _interopRequireDefault(require("@digigov/ui/core/Button"));
|
|
29
|
+
|
|
30
|
+
var _excluded = ["name", "extra", "disabled", "reset"];
|
|
29
31
|
|
|
30
32
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
31
33
|
|
|
32
34
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
33
35
|
|
|
34
36
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
35
|
-
var FileInput =
|
|
37
|
+
var FileInput = function FileInput(_ref) {
|
|
36
38
|
var name = _ref.name,
|
|
37
39
|
_ref$extra = _ref.extra,
|
|
38
40
|
extra = _ref$extra === void 0 ? {} : _ref$extra,
|
|
39
41
|
disabled = _ref.disabled,
|
|
40
|
-
|
|
42
|
+
_ref$reset = _ref.reset,
|
|
43
|
+
reset = _ref$reset === void 0 ? true : _ref$reset,
|
|
41
44
|
props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
42
45
|
|
|
43
46
|
var _useTranslation = (0, _i18n.useTranslation)(),
|
|
@@ -48,14 +51,13 @@ var FileInput = /*#__PURE__*/_react["default"].forwardRef(function FileInput(_re
|
|
|
48
51
|
files = _useState2[0],
|
|
49
52
|
setFiles = _useState2[1];
|
|
50
53
|
|
|
51
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
52
|
-
className: (0, _clsx["default"])(extra.className, files.length > 0 && 'govgr-uploaded-file', true && 'govgr-field-file')
|
|
53
|
-
}, files.length ? /*#__PURE__*/_react["default"].createElement(_Paragraph["default"], null, /*#__PURE__*/_react["default"].createElement("b", null, t('upload.file'), ":"), " ", "".concat(files.join(', '))) : /*#__PURE__*/_react["default"].createElement(_Hint["default"], null, t('upload.no_file')), /*#__PURE__*/_react["default"].createElement("label", {
|
|
54
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
55
|
+
className: (0, _clsx["default"])(extra.className, files.length > 0 && files && 'govgr-uploaded-file', true && 'govgr-field-file')
|
|
56
|
+
}, files !== null && files !== void 0 && files.length ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Paragraph["default"], null, /*#__PURE__*/_react["default"].createElement("b", null, t('upload.file'), ":"), " ", "".concat(files.join(', ')))) : /*#__PURE__*/_react["default"].createElement(_Hint["default"], null, t('upload.no_file')), /*#__PURE__*/_react["default"].createElement("label", {
|
|
54
57
|
tabIndex: 0,
|
|
55
58
|
role: "button",
|
|
56
|
-
className: (0, _clsx["default"])(extra.className, files.length === 0 &&
|
|
59
|
+
className: (0, _clsx["default"])(extra.className, (!files || (files === null || files === void 0 ? void 0 : files.length) === 0) && 'govgr-btn', (!files || (files === null || files === void 0 ? void 0 : files.length) === 0) && 'govgr-btn-secondary', true && 'govgr-label-file', (files === null || files === void 0 ? void 0 : files.length) && 'govgr-link')
|
|
57
60
|
}, /*#__PURE__*/_react["default"].createElement("input", (0, _extends2["default"])({
|
|
58
|
-
ref: ref,
|
|
59
61
|
type: "file",
|
|
60
62
|
name: name,
|
|
61
63
|
disabled: disabled,
|
|
@@ -73,8 +75,13 @@ var FileInput = /*#__PURE__*/_react["default"].forwardRef(function FileInput(_re
|
|
|
73
75
|
}
|
|
74
76
|
}, (0, _extends2["default"])({}, props, {
|
|
75
77
|
required: undefined
|
|
76
|
-
}))), files.length ? t('upload.change_file') : t('upload.choose_file'))
|
|
77
|
-
|
|
78
|
+
}))), files !== null && files !== void 0 && files.length ? t('upload.change_file') : t('upload.choose_file')), reset && files !== undefined && files.length > 0 && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
79
|
+
variant: "link",
|
|
80
|
+
onClick: function onClick() {
|
|
81
|
+
setFiles(undefined);
|
|
82
|
+
}
|
|
83
|
+
}, t('upload.reset_file')))));
|
|
84
|
+
};
|
|
78
85
|
|
|
79
86
|
exports.FileInput = FileInput;
|
|
80
87
|
var _default = FileInput;
|
package/inputs/Radio/index.js
CHANGED
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
@@ -11,11 +9,9 @@ exports["default"] = exports.RadioButtonsGroup = void 0;
|
|
|
11
9
|
|
|
12
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
11
|
|
|
14
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
-
|
|
16
12
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
17
13
|
|
|
18
|
-
var _react =
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
19
15
|
|
|
20
16
|
var _Radio = _interopRequireDefault(require("@digigov/react-core/Radio"));
|
|
21
17
|
|
|
@@ -29,10 +25,6 @@ var _Hint = _interopRequireDefault(require("@digigov/react-core/Hint"));
|
|
|
29
25
|
|
|
30
26
|
var _excluded = ["register", "name", "control", "extra", "disabled"];
|
|
31
27
|
|
|
32
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
|
-
|
|
34
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
|
-
|
|
36
28
|
var RadioButtonsGroup = function RadioButtonsGroup(_ref) {
|
|
37
29
|
var register = _ref.register,
|
|
38
30
|
name = _ref.name,
|
|
@@ -47,32 +39,28 @@ var RadioButtonsGroup = function RadioButtonsGroup(_ref) {
|
|
|
47
39
|
name: name
|
|
48
40
|
});
|
|
49
41
|
|
|
50
|
-
var _useState = (0, _react.useState)(currentValue),
|
|
51
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
52
|
-
defaultValue = _useState2[0];
|
|
53
|
-
|
|
54
42
|
var _useTranslation = (0, _i18n.useTranslation)(),
|
|
55
43
|
t = _useTranslation.t;
|
|
56
44
|
|
|
57
45
|
return /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
|
|
58
46
|
className: className,
|
|
59
|
-
defaultValue:
|
|
47
|
+
defaultValue: currentValue,
|
|
60
48
|
id: name
|
|
61
49
|
}, options.map(function (_ref2) {
|
|
62
50
|
var label = _ref2.label,
|
|
63
51
|
v = _ref2.value,
|
|
64
|
-
optionDisabled = _ref2.disabled
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
key: v
|
|
68
|
-
|
|
52
|
+
optionDisabled = _ref2.disabled,
|
|
53
|
+
selected = _ref2.selected;
|
|
54
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
55
|
+
key: "".concat(name, ".").concat(v)
|
|
56
|
+
}, /*#__PURE__*/_react["default"].createElement(_RadioItem["default"], (0, _extends2["default"])({}, register(name), {
|
|
69
57
|
value: v,
|
|
70
58
|
disabled: disabled || optionDisabled
|
|
71
59
|
}, (0, _extends2["default"])({}, props, {
|
|
72
60
|
required: undefined,
|
|
73
61
|
'aria-describedby': undefined,
|
|
74
62
|
type: 'radio'
|
|
75
|
-
})), label && label.primary && t(label.primary) || v, label && label.secondary && /*#__PURE__*/_react["default"].createElement(_Hint["default"], null, t(label.secondary)));
|
|
63
|
+
})), label && label.primary && t(label.primary) || v, label && label.secondary && /*#__PURE__*/_react["default"].createElement(_Hint["default"], null, t(label.secondary))), selected && selected());
|
|
76
64
|
}));
|
|
77
65
|
};
|
|
78
66
|
|
package/internal.js
CHANGED
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
var _exportNames = {
|
|
9
9
|
Field: true,
|
|
10
|
+
FieldArray: true,
|
|
10
11
|
FieldConditional: true,
|
|
11
12
|
Fieldset: true,
|
|
12
13
|
FormBuilder: true,
|
|
@@ -38,6 +39,12 @@ Object.defineProperty(exports, "Field", {
|
|
|
38
39
|
return _Field["default"];
|
|
39
40
|
}
|
|
40
41
|
});
|
|
42
|
+
Object.defineProperty(exports, "FieldArray", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function get() {
|
|
45
|
+
return _FieldArray["default"];
|
|
46
|
+
}
|
|
47
|
+
});
|
|
41
48
|
Object.defineProperty(exports, "FieldConditional", {
|
|
42
49
|
enumerable: true,
|
|
43
50
|
get: function get() {
|
|
@@ -113,6 +120,20 @@ Object.keys(_Field).forEach(function (key) {
|
|
|
113
120
|
});
|
|
114
121
|
});
|
|
115
122
|
|
|
123
|
+
var _FieldArray = _interopRequireWildcard(require("@digigov/form/FieldArray"));
|
|
124
|
+
|
|
125
|
+
Object.keys(_FieldArray).forEach(function (key) {
|
|
126
|
+
if (key === "default" || key === "__esModule") return;
|
|
127
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
128
|
+
if (key in exports && exports[key] === _FieldArray[key]) return;
|
|
129
|
+
Object.defineProperty(exports, key, {
|
|
130
|
+
enumerable: true,
|
|
131
|
+
get: function get() {
|
|
132
|
+
return _FieldArray[key];
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
|
|
116
137
|
var _FieldConditional = _interopRequireWildcard(require("@digigov/form/Field/FieldConditional"));
|
|
117
138
|
|
|
118
139
|
Object.keys(_FieldConditional).forEach(function (key) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import { FieldSpec
|
|
2
|
+
import { ErrorOption, UseFormReturn } from 'react-hook-form';
|
|
3
|
+
import { FieldSpec } from '@digigov/form/types';
|
|
4
4
|
import { FieldCondition, FormData } from '@digigov/form/types';
|
|
5
5
|
export interface ChildFieldMemoProps extends FieldConditionalProps {
|
|
6
6
|
dependencies: FormData;
|
|
@@ -10,9 +10,9 @@ export interface FieldWithCondition extends Omit<CalculatedField, 'condition'> {
|
|
|
10
10
|
}
|
|
11
11
|
export interface FieldConditionalProps {
|
|
12
12
|
field: FieldWithCondition;
|
|
13
|
-
control:
|
|
14
|
-
register:
|
|
15
|
-
error?:
|
|
13
|
+
control: UseFormReturn['control'];
|
|
14
|
+
register: UseFormReturn['register'];
|
|
15
|
+
error?: ErrorOption;
|
|
16
16
|
}
|
|
17
17
|
export declare type FieldComponentItem = {
|
|
18
18
|
component: any;
|
|
@@ -23,7 +23,7 @@ export interface FieldContainerProps {
|
|
|
23
23
|
name?: FieldSpec['key'];
|
|
24
24
|
layout?: FieldSpec['layout'];
|
|
25
25
|
label?: FieldSpec['label'];
|
|
26
|
-
error?:
|
|
26
|
+
error?: ErrorOption | Record<string, any>;
|
|
27
27
|
children?: React.ReactNode;
|
|
28
28
|
wrapper?: FieldSpec['wrapper'];
|
|
29
29
|
}
|
|
@@ -43,8 +43,7 @@ export interface ControlledFieldProps {
|
|
|
43
43
|
}
|
|
44
44
|
export interface UncontrolledFieldProps {
|
|
45
45
|
name: string;
|
|
46
|
-
register
|
|
47
|
-
ref?: FieldBaseProps['register'];
|
|
46
|
+
register: FieldBaseProps['register'];
|
|
48
47
|
control?: FieldBaseProps['control'];
|
|
49
48
|
error?: boolean;
|
|
50
49
|
extra?: Record<string, never>;
|
|
@@ -55,21 +54,30 @@ export interface CalculatedField extends OmittedFieldSpec {
|
|
|
55
54
|
name: string;
|
|
56
55
|
component: any;
|
|
57
56
|
defaultValue?: never;
|
|
58
|
-
error?:
|
|
57
|
+
error?: ErrorOption;
|
|
59
58
|
wrapper?: FieldComponentItem['wrapper'];
|
|
59
|
+
multiplicity?: boolean;
|
|
60
60
|
}
|
|
61
61
|
export interface FieldBaseProps extends CalculatedField {
|
|
62
|
-
control:
|
|
63
|
-
register:
|
|
62
|
+
control: UseFormReturn['control'];
|
|
63
|
+
register: UseFormReturn['register'];
|
|
64
64
|
}
|
|
65
65
|
export interface FieldProps extends FieldSpec {
|
|
66
66
|
name: string;
|
|
67
|
-
children?: React.
|
|
67
|
+
children?: React.ReactNode;
|
|
68
68
|
}
|
|
69
69
|
export interface UseFieldProps {
|
|
70
70
|
field: FieldSpec;
|
|
71
71
|
control: FieldBaseProps['control'];
|
|
72
72
|
register: FieldBaseProps['register'];
|
|
73
|
-
|
|
73
|
+
watch: UseFormReturn['watch'];
|
|
74
|
+
formState: UseFormReturn['formState'];
|
|
75
|
+
getFieldState: UseFormReturn['getFieldState'];
|
|
76
|
+
setValue: UseFormReturn['setValue'];
|
|
77
|
+
getValues: UseFormReturn['getValues'];
|
|
78
|
+
unregister: UseFormReturn['unregister'];
|
|
79
|
+
trigger: UseFormReturn['trigger'];
|
|
80
|
+
clearErrors: UseFormReturn['clearErrors'];
|
|
81
|
+
error?: ErrorOption;
|
|
74
82
|
componentRegistry?: FieldComponentRegistry;
|
|
75
83
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
export const title: string;
|
|
3
|
+
export { FieldArray as component };
|
|
4
|
+
}
|
|
5
|
+
export default _default;
|
|
6
|
+
export * from "@digigov/form/FieldArray/__stories__/Default";
|
|
7
|
+
export * from "@digigov/form/FieldArray/__stories__/WithExactLength";
|
|
8
|
+
import FieldArray from "@digigov/form/FieldArray";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Default: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const WithExactLength: () => JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ErrorOption, UseFormReturn } from 'react-hook-form';
|
|
3
|
+
import { FieldProps } from '@digigov/form/Field/types';
|
|
4
|
+
export interface FieldArrayProps extends FieldProps {
|
|
5
|
+
control: UseFormReturn['control'];
|
|
6
|
+
register: UseFormReturn['register'];
|
|
7
|
+
formState: UseFormReturn['formState'];
|
|
8
|
+
error?: ErrorOption;
|
|
9
|
+
}
|
|
10
|
+
export declare const FieldArray: React.FC<FieldArrayProps>;
|
|
11
|
+
export default FieldArray;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FieldProps } from '@digigov/form/Field/types';
|
|
3
|
+
import { ErrorOption, UseFormReturn } from 'react-hook-form';
|
|
4
|
+
import { FieldSpec } from '@digigov/form/types';
|
|
5
|
+
export interface FieldObjectProps extends Omit<FieldProps, 'key'> {
|
|
6
|
+
control: UseFormReturn['control'];
|
|
7
|
+
register: UseFormReturn['register'];
|
|
8
|
+
formState: UseFormReturn['formState'];
|
|
9
|
+
error?: ErrorOption;
|
|
10
|
+
}
|
|
11
|
+
export declare const FieldObject: React.FC<FieldObjectProps>;
|
|
12
|
+
export interface FieldObjectItemProps {
|
|
13
|
+
name: string;
|
|
14
|
+
field: FieldSpec;
|
|
15
|
+
control: UseFormReturn['control'];
|
|
16
|
+
register: UseFormReturn['register'];
|
|
17
|
+
formState: UseFormReturn['formState'];
|
|
18
|
+
error?: ErrorOption;
|
|
19
|
+
}
|
|
20
|
+
export default FieldObject;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
export const title: string;
|
|
3
|
+
export { MultiplicityField as component };
|
|
4
|
+
}
|
|
5
|
+
export default _default;
|
|
6
|
+
export * from "@digigov/form/MultiplicityField/__stories__/Default";
|
|
7
|
+
export * from "@digigov/form/MultiplicityField/__stories__/WithMinLength";
|
|
8
|
+
export * from "@digigov/form/MultiplicityField/__stories__/WithMaxLength";
|
|
9
|
+
export * from "@digigov/form/MultiplicityField/__stories__/WithMinAndMaxLength";
|
|
10
|
+
export * from "@digigov/form/MultiplicityField/__stories__/WithExactLength";
|
|
11
|
+
import MultiplicityField from "@digigov/form/MultiplicityField";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Default: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const WithExactLength: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const WithMaxLength: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const WithMinAndMaxLength: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const WithMinLength: () => JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ErrorOption, FieldArrayWithId, UseFieldArrayReturn } from 'react-hook-form';
|
|
3
|
+
import { MultiplicityProps, StashedObject } from '@digigov/form/MultiplicityField';
|
|
4
|
+
export interface AddObjectsProps extends Omit<MultiplicityProps, 'key' | 'formState' | 'component'> {
|
|
5
|
+
fields: FieldArrayWithId[];
|
|
6
|
+
error?: ErrorOption;
|
|
7
|
+
append: UseFieldArrayReturn['append'];
|
|
8
|
+
remove: UseFieldArrayReturn['remove'];
|
|
9
|
+
stashedObjects: StashedObject[];
|
|
10
|
+
onStash: (arg0: StashedObject) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare const AddObjects: React.FC<AddObjectsProps>;
|
|
13
|
+
export default AddObjects;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ControlledFieldProps } from '@digigov/form/Field/types';
|
|
3
|
+
import { FieldSpec } from '@digigov/form';
|
|
4
|
+
import { ErrorOption, UseFormReturn } from 'react-hook-form';
|
|
5
|
+
export interface MultiplicityProps extends Omit<ControlledFieldProps, 'value' | 'onChange' | 'error' | 'extra'> {
|
|
6
|
+
name: string;
|
|
7
|
+
control: UseFormReturn['control'];
|
|
8
|
+
register: UseFormReturn['register'];
|
|
9
|
+
trigger: UseFormReturn['trigger'];
|
|
10
|
+
clearErrors: UseFormReturn['clearErrors'];
|
|
11
|
+
formState: UseFormReturn['formState'];
|
|
12
|
+
setValue: UseFormReturn['setValue'];
|
|
13
|
+
getValues: UseFormReturn['getValues'];
|
|
14
|
+
unregister: UseFormReturn['unregister'];
|
|
15
|
+
error?: ErrorOption;
|
|
16
|
+
extra?: Record<string, any>;
|
|
17
|
+
label?: FieldSpec['label'];
|
|
18
|
+
layout?: FieldSpec['layout'];
|
|
19
|
+
}
|
|
20
|
+
export declare type StashedObject = Record<string, any>;
|
|
21
|
+
export declare const Multiplicity: React.FC<MultiplicityProps>;
|
|
22
|
+
export default Multiplicity;
|
|
23
|
+
export interface ListObjectProps {
|
|
24
|
+
index: number;
|
|
25
|
+
name: string;
|
|
26
|
+
control: UseFormReturn['control'];
|
|
27
|
+
register: UseFormReturn['register'];
|
|
28
|
+
formState: UseFormReturn['formState'];
|
|
29
|
+
onDelete: (index: number) => void;
|
|
30
|
+
extra?: Record<string, any>;
|
|
31
|
+
}
|
|
32
|
+
export declare const ListObject: React.FC<ListObjectProps>;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { default as Field } from '@digigov/form/Field';
|
|
2
2
|
export * from '@digigov/form/Field';
|
|
3
|
+
export { default as FieldArray } from '@digigov/form/FieldArray';
|
|
4
|
+
export * from '@digigov/form/FieldArray';
|
|
3
5
|
export { default as FieldConditional } from '@digigov/form/Field/FieldConditional';
|
|
4
6
|
export * from '@digigov/form/Field/FieldConditional';
|
|
5
7
|
export { default as Fieldset } from '@digigov/form/Fieldset';
|
package/libs/form/src/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { UseFormReturn, UseFormProps } from 'react-hook-form';
|
|
3
3
|
import { GridProps } from '@digigov/ui/layouts/Grid';
|
|
4
4
|
import { ValidatorSchema } from '@digigov/form/validators/types';
|
|
5
5
|
import { FieldComponentRegistry } from '@digigov/form/Field/types';
|
|
@@ -17,7 +17,7 @@ export interface FieldCondition {
|
|
|
17
17
|
}
|
|
18
18
|
export interface FieldSpec {
|
|
19
19
|
key: string;
|
|
20
|
-
type?: 'int' | 'string' | 'boolean' | 'choice:multiple' | 'choice:single' | 'mobile_phone' | 'afm' | 'iban' | 'postal_code' | 'phone_number' | 'array' | 'object';
|
|
20
|
+
type?: 'int' | 'string' | 'boolean' | 'choice:multiple' | 'choice:single' | 'mobile_phone' | 'afm' | 'iban' | 'file' | 'postal_code' | 'phone_number' | 'array' | 'object';
|
|
21
21
|
component?: any;
|
|
22
22
|
condition?: Record<string, FieldCondition>;
|
|
23
23
|
controlled?: boolean;
|
|
@@ -36,15 +36,23 @@ export interface FieldsetSpec {
|
|
|
36
36
|
label?: FieldLabelProps;
|
|
37
37
|
body?: React.ReactNode;
|
|
38
38
|
}
|
|
39
|
-
export declare type FormData =
|
|
39
|
+
export declare type FormData = UseFormProps['defaultValues'];
|
|
40
40
|
export interface FormContextProps {
|
|
41
41
|
fieldsetsMap?: Record<string, FieldsetSpec>;
|
|
42
42
|
fieldsMap: Record<string, FieldSpec>;
|
|
43
|
-
control:
|
|
44
|
-
register:
|
|
45
|
-
|
|
43
|
+
control: UseFormReturn['control'];
|
|
44
|
+
register: UseFormReturn['register'];
|
|
45
|
+
trigger: UseFormReturn['trigger'];
|
|
46
|
+
clearErrors: UseFormReturn['clearErrors'];
|
|
47
|
+
watch: UseFormReturn['watch'];
|
|
48
|
+
getFieldState: UseFormReturn['getFieldState'];
|
|
49
|
+
setValue: UseFormReturn['setValue'];
|
|
50
|
+
getValues: UseFormReturn['getValues'];
|
|
51
|
+
unregister: UseFormReturn['unregister'];
|
|
52
|
+
formState: UseFormReturn['formState'];
|
|
53
|
+
reset: UseFormReturn['reset'];
|
|
46
54
|
registerField: (field: FieldSpec) => void;
|
|
47
|
-
errors:
|
|
55
|
+
errors: UseFormReturn['formState']['errors'];
|
|
48
56
|
componentRegistry?: FieldComponentRegistry;
|
|
49
57
|
}
|
|
50
58
|
export interface FormBuilderProps {
|
|
@@ -52,13 +60,13 @@ export interface FormBuilderProps {
|
|
|
52
60
|
fieldsets?: FieldsetSpec[];
|
|
53
61
|
initial?: FormData;
|
|
54
62
|
onSubmit?: (data: FormData) => void | null | FieldError[];
|
|
55
|
-
mode?:
|
|
56
|
-
reValidateMode?:
|
|
57
|
-
criteriaMode?:
|
|
63
|
+
mode?: UseFormProps['mode'];
|
|
64
|
+
reValidateMode?: UseFormProps['reValidateMode'];
|
|
65
|
+
criteriaMode?: UseFormProps['criteriaMode'];
|
|
58
66
|
children?: React.ReactNode;
|
|
59
67
|
shouldFocusError?: boolean;
|
|
60
68
|
auto?: boolean;
|
|
61
|
-
validatorRegistry?: Record<string, ValidatorSchema>;
|
|
69
|
+
validatorRegistry?: Record<string, ValidatorSchema[]>;
|
|
62
70
|
componentRegistry?: FieldComponentRegistry;
|
|
63
71
|
grid?: boolean;
|
|
64
72
|
}
|
package/libs/form/src/utils.d.ts
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { FieldError } from 'react-hook-form';
|
|
2
|
+
export declare const yupResolver: (schema: any, schemaOptions?: any, resolverOptions?: any) => (values: any, context: any, options: any) => Promise<{
|
|
3
|
+
values: any;
|
|
4
|
+
errors: {};
|
|
5
|
+
} | {
|
|
6
|
+
values: {};
|
|
7
|
+
errors: Record<string, FieldError>;
|
|
8
|
+
}>;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import * as yup from 'yup';
|
|
2
1
|
import { FieldSpec } from '@digigov/form/types';
|
|
3
2
|
import { ValidatorSchema } from '@digigov/form/validators/types';
|
|
4
3
|
import { MutableRefObject } from 'react';
|
|
5
|
-
|
|
4
|
+
import Lazy from 'yup/lib/Lazy';
|
|
5
|
+
import { AnyObjectSchema } from 'yup';
|
|
6
|
+
export declare const getYUPTypeMap: () => Record<string, any>;
|
|
6
7
|
export interface MutableRefObjectProps {
|
|
7
8
|
}
|
|
8
|
-
export declare function useValidationSchema(fields: FieldSpec[] | MutableRefObject<MutableRefObjectProps>, validatorRegistry?: Record<string, ValidatorSchema>):
|
|
9
|
+
export declare function useValidationSchema(fields: FieldSpec[] | MutableRefObject<MutableRefObjectProps>, validatorRegistry?: Record<string, ValidatorSchema[]>): Lazy<any, unknown> | AnyObjectSchema | void;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import * as yup from 'yup';
|
|
2
|
-
export declare type ValidatorSchema = yup.
|
|
2
|
+
export declare type ValidatorSchema = yup.TestConfig;
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
+
import { FieldSpec } from '@digigov/form/types';
|
|
2
|
+
import { ValidatorSchema } from '@digigov/form/validators/types';
|
|
1
3
|
export declare function validateIban(value: string, countryCode: string): boolean;
|
|
2
|
-
export declare const IBAN_VALIDATOR: (field:
|
|
4
|
+
export declare const IBAN_VALIDATOR: (field: FieldSpec) => ValidatorSchema;
|