@digigov/form 0.6.6 → 0.6.9
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 +23 -1
- package/Field/index.js +24 -7
- package/Fieldset/index.js +1 -1
- package/es/Field/index.js +24 -7
- package/es/Fieldset/index.js +1 -1
- package/es/index.js +2 -2
- package/es/inputs/Checkboxes/index.js +12 -2
- package/es/inputs/DateInput/index.js +6 -3
- package/es/inputs/FileInput/index.js +10 -3
- package/es/inputs/Input/index.js +7 -2
- package/es/inputs/Radio/index.js +12 -3
- package/es/inputs/Select/index.js +10 -3
- package/es/validators.js +88 -4
- package/es/validators.spec.js +41 -2
- package/esm/Field/index.js +24 -7
- package/esm/Fieldset/index.js +1 -1
- package/esm/index.js +3 -3
- package/esm/inputs/Checkboxes/index.js +12 -2
- package/esm/inputs/DateInput/index.js +6 -3
- package/esm/inputs/FileInput/index.js +10 -3
- package/esm/inputs/Input/index.js +7 -2
- package/esm/inputs/Radio/index.js +12 -3
- package/esm/inputs/Select/index.js +10 -3
- package/esm/validators.js +88 -4
- package/esm/validators.spec.js +41 -2
- package/index.js +2 -2
- package/inputs/Checkboxes/index.js +13 -2
- package/inputs/DateInput/index.js +6 -3
- package/inputs/FileInput/index.js +13 -3
- package/inputs/Input/index.js +7 -2
- package/inputs/Radio/index.js +14 -3
- package/inputs/Select/index.js +12 -3
- package/libs/form/src/Field/index.d.ts +2 -0
- package/libs/form/src/index.d.ts +2 -2
- package/libs/form/src/validators.d.ts +3 -0
- package/libs/ui/src/core/Accordion/index.d.ts +3 -3
- package/libs/ui/src/core/BackLink/index.d.ts +3 -0
- package/libs/ui/src/core/Blockquote/index.d.ts +1 -1
- package/libs/ui/src/core/Breadcrumbs/index.d.ts +2 -0
- 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/Confirmation/index.d.ts +5 -0
- package/libs/ui/src/core/Divider/index.d.ts +1 -1
- package/libs/ui/src/core/NavList/NavList.d.ts +1 -1
- package/libs/ui/src/core/NavList/NavListItem.d.ts +1 -1
- package/libs/ui/src/core/NavList/NavListItemBase.d.ts +1 -1
- package/libs/ui/src/core/NotificationBanner/index.d.ts +1 -1
- package/libs/ui/src/core/PhaseBanner/index.d.ts +6 -0
- package/libs/ui/src/core/TextArea/index.d.ts +3 -0
- package/libs/ui/src/core/TextInput/index.d.ts +3 -0
- package/libs/ui/src/core/VisuallyHidden/index.d.ts +2 -0
- package/libs/ui/src/core/index.d.ts +8 -3
- package/libs/ui/src/hooks/useTogglableSections.d.ts +3 -2
- package/libs/ui/src/layouts/Grid/index.d.ts +3 -0
- package/libs/ui/src/locales/el.d.ts +3 -0
- package/libs/ui/src/typography/{Caption.d.ts → Caption/index.d.ts} +1 -1
- package/libs/ui/src/typography/{NormalText.d.ts → NormalText/index.d.ts} +0 -0
- package/libs/ui/src/typography/{Paragraph.d.ts → Paragraph/index.d.ts} +0 -0
- package/libs/ui/src/typography/{Title.d.ts → Title/index.d.ts} +0 -0
- package/libs-ui/react-core/src/Accordion/index.d.ts +1 -1
- package/libs-ui/react-core/src/AccordionControls/index.d.ts +1 -1
- package/libs-ui/react-core/src/AccordionSection/index.d.ts +1 -1
- package/libs-ui/react-core/src/AccordionSectionContent/index.d.ts +1 -1
- package/libs-ui/react-core/src/AccordionSectionHeader/index.d.ts +1 -1
- package/libs-ui/react-core/src/AccordionSectionSummary/index.d.ts +1 -1
- package/libs-ui/react-core/src/AccordionSectionSummaryHeading/index.d.ts +1 -1
- package/libs-ui/react-core/src/BackLink/index.d.ts +1 -1
- package/libs-ui/react-core/src/Blockquote/index.d.ts +1 -1
- package/libs-ui/react-core/src/Breadcrumbs/index.d.ts +1 -1
- package/libs-ui/react-core/src/BreadcrumbsList/index.d.ts +1 -1
- package/libs-ui/react-core/src/BreadcrumbsListItem/index.d.ts +1 -1
- package/libs-ui/react-core/src/Button/index.d.ts +1 -1
- package/libs-ui/react-core/src/ButtonGroup/index.d.ts +1 -1
- package/libs-ui/react-core/src/ButtonLink/index.d.ts +1 -1
- package/libs-ui/react-core/src/CallToAction/index.d.ts +1 -1
- package/libs-ui/react-core/src/Card/index.d.ts +1 -1
- package/libs-ui/react-core/src/CardAction/index.d.ts +1 -1
- package/libs-ui/react-core/src/CardHeading/index.d.ts +1 -1
- package/libs-ui/react-core/src/CardText/index.d.ts +1 -1
- package/libs-ui/react-core/src/Checkbox/index.d.ts +1 -1
- package/libs-ui/react-core/src/CheckboxItem/index.d.ts +1 -1
- package/libs-ui/react-core/src/Confirmation/index.d.ts +9 -0
- package/libs-ui/react-core/src/ConfirmationBody/index.d.ts +9 -0
- package/libs-ui/react-core/src/ConfirmationTitle/index.d.ts +9 -0
- package/libs-ui/react-core/src/DateInput/index.d.ts +1 -1
- package/libs-ui/react-core/src/DateInputItem/index.d.ts +1 -1
- package/libs-ui/react-core/src/Details/index.d.ts +1 -1
- package/libs-ui/react-core/src/DetailsContent/index.d.ts +1 -1
- package/libs-ui/react-core/src/DetailsSummary/index.d.ts +1 -1
- package/libs-ui/react-core/src/ErrorMessage/index.d.ts +1 -1
- package/libs-ui/react-core/src/ErrorSummary/index.d.ts +1 -1
- package/libs-ui/react-core/src/Field/index.d.ts +1 -1
- package/libs-ui/react-core/src/Fieldset/index.d.ts +1 -1
- package/libs-ui/react-core/src/FieldsetLegend/index.d.ts +1 -1
- package/libs-ui/react-core/src/FileUpload/index.d.ts +1 -1
- package/libs-ui/react-core/src/Grid/index.d.ts +20 -0
- package/libs-ui/react-core/src/Heading/index.d.ts +1 -1
- package/libs-ui/react-core/src/HeadingCaption/index.d.ts +1 -1
- package/libs-ui/react-core/src/Hidden/index.d.ts +1 -1
- package/libs-ui/react-core/src/Hint/index.d.ts +1 -1
- package/libs-ui/react-core/src/Label/index.d.ts +1 -1
- package/libs-ui/react-core/src/LabelTitle/index.d.ts +1 -1
- package/libs-ui/react-core/src/Link/index.d.ts +1 -1
- package/libs-ui/react-core/src/List/index.d.ts +1 -1
- package/libs-ui/react-core/src/ListItem/index.d.ts +1 -1
- package/libs-ui/react-core/src/NormalText/index.d.ts +1 -1
- package/libs-ui/react-core/src/NotificationBanner/index.d.ts +1 -1
- package/libs-ui/react-core/src/NotificationBannerContent/index.d.ts +1 -1
- package/libs-ui/react-core/src/NotificationBannerHeader/index.d.ts +1 -1
- package/libs-ui/react-core/src/NotificationBannerHeading/index.d.ts +1 -1
- package/libs-ui/react-core/src/NotificationBannerLink/index.d.ts +1 -1
- package/libs-ui/react-core/src/Paragraph/index.d.ts +1 -1
- package/libs-ui/react-core/src/PhaseBanner/index.d.ts +1 -1
- package/libs-ui/react-core/src/PhaseBannerHeaderContainer/index.d.ts +1 -1
- package/libs-ui/react-core/src/PhaseBannerTag/index.d.ts +1 -1
- package/libs-ui/react-core/src/PhaseBannerText/index.d.ts +1 -1
- package/libs-ui/react-core/src/Radio/index.d.ts +5 -1
- package/libs-ui/react-core/src/RadioItem/index.d.ts +1 -1
- package/libs-ui/react-core/src/SectionBreak/index.d.ts +1 -1
- package/libs-ui/react-core/src/Select/index.d.ts +1 -1
- package/libs-ui/react-core/src/SelectOption/index.d.ts +1 -1
- package/libs-ui/react-core/src/SummaryList/index.d.ts +7 -1
- package/libs-ui/react-core/src/SummaryListItem/index.d.ts +1 -1
- package/libs-ui/react-core/src/SummaryListItemAction/index.d.ts +1 -1
- package/libs-ui/react-core/src/SummaryListItemKey/index.d.ts +1 -1
- package/libs-ui/react-core/src/SummaryListItemValue/index.d.ts +1 -1
- package/libs-ui/react-core/src/SvgIcon/index.d.ts +1 -1
- package/libs-ui/react-core/src/Table/index.d.ts +1 -1
- package/libs-ui/react-core/src/TableBody/index.d.ts +1 -1
- package/libs-ui/react-core/src/TableCaption/index.d.ts +1 -1
- package/libs-ui/react-core/src/TableContainer/index.d.ts +1 -1
- package/libs-ui/react-core/src/TableDataCell/index.d.ts +1 -1
- package/libs-ui/react-core/src/TableHead/index.d.ts +1 -1
- package/libs-ui/react-core/src/TableHeadCell/index.d.ts +1 -1
- package/libs-ui/react-core/src/TableNoDataRow/index.d.ts +1 -1
- package/libs-ui/react-core/src/TableRow/index.d.ts +1 -1
- package/libs-ui/react-core/src/Tabs/index.d.ts +1 -1
- package/libs-ui/react-core/src/TabsHeading/index.d.ts +1 -1
- package/libs-ui/react-core/src/TabsList/index.d.ts +1 -1
- package/libs-ui/react-core/src/TabsListItem/index.d.ts +1 -1
- package/libs-ui/react-core/src/TabsPanel/index.d.ts +1 -1
- package/libs-ui/react-core/src/TextArea/index.d.ts +1 -1
- package/libs-ui/react-core/src/TextInput/index.d.ts +1 -1
- package/libs-ui/react-core/src/VisuallyHidden/index.d.ts +1 -1
- package/libs-ui/react-core/src/WarningText/index.d.ts +1 -1
- package/package.json +2 -4
- package/validators.js +93 -4
- package/validators.spec.js +40 -1
- package/libs/ui/src/app/App.d.ts +0 -14
- package/libs/ui/src/app/CopyToClipboard.d.ts +0 -9
- package/libs/ui/src/app/Header/HeaderLogo.d.ts +0 -3
- package/libs/ui/src/app/Header/HeaderSection.d.ts +0 -5
- package/libs/ui/src/app/Header/HeaderTitle.d.ts +0 -5
- package/libs/ui/src/app/Header/index.d.ts +0 -11
- package/libs/ui/src/app/I18nText.d.ts +0 -10
- package/libs/ui/src/app/PhaseBannerHeader.d.ts +0 -8
- package/libs/ui/src/app/QrCodeScanner/index.d.ts +0 -29
- package/libs/ui/src/app/index.d.ts +0 -8
- package/libs/ui/src/core/PaginationLabel/index.d.ts +0 -21
- package/libs-ui/react-core/src/Header/index.d.ts +0 -10
- package/libs-ui/react-core/src/HeaderContent/index.d.ts +0 -9
- package/libs-ui/react-core/src/HeaderLogo/index.d.ts +0 -17
- package/libs-ui/react-core/src/HeaderSecondaryLogo/index.d.ts +0 -17
- package/libs-ui/react-core/src/HeaderSection/index.d.ts +0 -9
- package/libs-ui/react-core/src/HeaderSubtitle/index.d.ts +0 -9
- package/libs-ui/react-core/src/HeaderTitle/index.d.ts +0 -13
- package/libs-ui/react-extensions/src/admin/CopyToClipboardContainer/index.d.ts +0 -14
- package/libs-ui/react-extensions/src/admin/CopyToClipboardMessage/index.d.ts +0 -21
- package/libs-ui/react-extensions/src/admin/PaginationLabel/index.d.ts +0 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,28 @@
|
|
|
1
1
|
# Change Log - @digigov/form
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Thu, 23 Jun 2022 11:49:45 GMT and should not be manually modified.
|
|
4
|
+
|
|
5
|
+
## 0.6.9
|
|
6
|
+
Thu, 23 Jun 2022 11:49:45 GMT
|
|
7
|
+
|
|
8
|
+
### Patches
|
|
9
|
+
|
|
10
|
+
- change material ui Grid with digigov ui Grid
|
|
11
|
+
|
|
12
|
+
## 0.6.8
|
|
13
|
+
Tue, 14 Jun 2022 14:49:36 GMT
|
|
14
|
+
|
|
15
|
+
### Patches
|
|
16
|
+
|
|
17
|
+
- add aria-required and aria-describedby in Field components, add id to ErrorMessage component, add and destructure props in CheckBoxes FileInput Input Radio and Select components",
|
|
18
|
+
|
|
19
|
+
## 0.6.7
|
|
20
|
+
Wed, 08 Jun 2022 12:26:07 GMT
|
|
21
|
+
|
|
22
|
+
### Patches
|
|
23
|
+
|
|
24
|
+
- create phone_number validation rule which accepts country and type of phone
|
|
25
|
+
- Add missing dependency in handleSubmit
|
|
4
26
|
|
|
5
27
|
## 0.6.6
|
|
6
28
|
Tue, 24 May 2022 09:13:18 GMT
|
package/Field/index.js
CHANGED
|
@@ -49,7 +49,7 @@ var _Label2 = _interopRequireDefault(require("@digigov/form/inputs/Label"));
|
|
|
49
49
|
|
|
50
50
|
var _i18n = require("@digigov/ui/app/i18n");
|
|
51
51
|
|
|
52
|
-
var _excluded = ["name", "component", "wrapper", "control", "type", "controlled", "enabled", "editable", "defaultValue", "label", "extra", "layout", "error", "register"],
|
|
52
|
+
var _excluded = ["required", "name", "component", "wrapper", "control", "type", "controlled", "enabled", "editable", "defaultValue", "label", "extra", "layout", "error", "register"],
|
|
53
53
|
_excluded2 = ["name", "children"];
|
|
54
54
|
|
|
55
55
|
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); }
|
|
@@ -91,7 +91,8 @@ var ALTERNATIVE_COMPONENTS = {
|
|
|
91
91
|
};
|
|
92
92
|
|
|
93
93
|
var FieldContainer = function FieldContainer(_ref) {
|
|
94
|
-
var
|
|
94
|
+
var name = _ref.name,
|
|
95
|
+
wrapper = _ref.wrapper,
|
|
95
96
|
label = _ref.label,
|
|
96
97
|
children = _ref.children,
|
|
97
98
|
error = _ref.error;
|
|
@@ -104,18 +105,23 @@ var FieldContainer = function FieldContainer(_ref) {
|
|
|
104
105
|
error: !!error
|
|
105
106
|
}, /*#__PURE__*/_react["default"].createElement(_Fieldset["default"], null, /*#__PURE__*/_react["default"].createElement(_FieldsetLegend["default"], {
|
|
106
107
|
size: "s"
|
|
107
|
-
}, label && label.primary, label && label.secondary && /*#__PURE__*/_react["default"].createElement(_Hint["default"], null, t(label.secondary)), error && /*#__PURE__*/_react["default"].createElement(_ErrorMessage["default"],
|
|
108
|
+
}, label && label.primary, label && label.secondary && /*#__PURE__*/_react["default"].createElement(_Hint["default"], null, t(label.secondary)), error && /*#__PURE__*/_react["default"].createElement(_ErrorMessage["default"], {
|
|
109
|
+
id: "".concat(name, "-error")
|
|
110
|
+
}, t((error === null || error === void 0 ? void 0 : error.message) || ''))), children));
|
|
108
111
|
} else {
|
|
109
112
|
return /*#__PURE__*/_react["default"].createElement(_Field["default"], {
|
|
110
113
|
error: !!error
|
|
111
114
|
}, /*#__PURE__*/_react["default"].createElement(_Label["default"], null, label && /*#__PURE__*/_react["default"].createElement(_Label2["default"], {
|
|
112
115
|
label: label
|
|
113
|
-
}), error && /*#__PURE__*/_react["default"].createElement(_ErrorMessage["default"],
|
|
116
|
+
}), error && /*#__PURE__*/_react["default"].createElement(_ErrorMessage["default"], {
|
|
117
|
+
id: "".concat(name, "-error")
|
|
118
|
+
}, t((error === null || error === void 0 ? void 0 : error.message) || '')), children));
|
|
114
119
|
}
|
|
115
120
|
};
|
|
116
121
|
|
|
117
122
|
var FieldBase = function FieldBase(props) {
|
|
118
|
-
var
|
|
123
|
+
var required = props.required,
|
|
124
|
+
name = props.name,
|
|
119
125
|
Component = props.component,
|
|
120
126
|
wrapper = props.wrapper,
|
|
121
127
|
control = props.control,
|
|
@@ -143,7 +149,8 @@ var FieldBase = function FieldBase(props) {
|
|
|
143
149
|
label: label,
|
|
144
150
|
layout: layout,
|
|
145
151
|
error: error,
|
|
146
|
-
wrapper: wrapper
|
|
152
|
+
wrapper: wrapper,
|
|
153
|
+
name: name
|
|
147
154
|
}, /*#__PURE__*/_react["default"].createElement(_reactHookForm.Controller, {
|
|
148
155
|
control: control,
|
|
149
156
|
name: name,
|
|
@@ -160,6 +167,9 @@ var FieldBase = function FieldBase(props) {
|
|
|
160
167
|
extra: extra,
|
|
161
168
|
error: !!error,
|
|
162
169
|
type: type,
|
|
170
|
+
"aria-required": !!required,
|
|
171
|
+
"aria-describedby": error && "".concat(name, "-error"),
|
|
172
|
+
required: required,
|
|
163
173
|
disabled: editable === false
|
|
164
174
|
}, componentProps));
|
|
165
175
|
}
|
|
@@ -170,7 +180,8 @@ var FieldBase = function FieldBase(props) {
|
|
|
170
180
|
label: label,
|
|
171
181
|
layout: layout,
|
|
172
182
|
error: error,
|
|
173
|
-
wrapper: wrapper
|
|
183
|
+
wrapper: wrapper,
|
|
184
|
+
name: name
|
|
174
185
|
}, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
|
|
175
186
|
name: name,
|
|
176
187
|
ref: register,
|
|
@@ -178,6 +189,9 @@ var FieldBase = function FieldBase(props) {
|
|
|
178
189
|
error: !!error,
|
|
179
190
|
extra: extra,
|
|
180
191
|
type: type,
|
|
192
|
+
"aria-required": !!required,
|
|
193
|
+
"aria-describedby": error && "".concat(name, "-error"),
|
|
194
|
+
required: required,
|
|
181
195
|
disabled: editable === false
|
|
182
196
|
}, componentProps)) : /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
|
|
183
197
|
name: name,
|
|
@@ -186,6 +200,9 @@ var FieldBase = function FieldBase(props) {
|
|
|
186
200
|
error: !!error,
|
|
187
201
|
extra: extra,
|
|
188
202
|
type: type,
|
|
203
|
+
"aria-required": !!required,
|
|
204
|
+
"aria-describedby": error && "".concat(name, "-error"),
|
|
205
|
+
required: required,
|
|
189
206
|
disabled: editable === false
|
|
190
207
|
}, componentProps)));
|
|
191
208
|
};
|
package/Fieldset/index.js
CHANGED
|
@@ -11,7 +11,7 @@ exports["default"] = exports.FieldsetWithContext = exports.FieldsetLabel = expor
|
|
|
11
11
|
|
|
12
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
13
|
|
|
14
|
-
var _Grid = _interopRequireDefault(require("@
|
|
14
|
+
var _Grid = _interopRequireDefault(require("@digigov/ui/layouts/Grid"));
|
|
15
15
|
|
|
16
16
|
var _Fieldset = _interopRequireDefault(require("@digigov/react-core/Fieldset"));
|
|
17
17
|
|
package/es/Field/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["name", "component", "wrapper", "control", "type", "controlled", "enabled", "editable", "defaultValue", "label", "extra", "layout", "error", "register"],
|
|
3
|
+
var _excluded = ["required", "name", "component", "wrapper", "control", "type", "controlled", "enabled", "editable", "defaultValue", "label", "extra", "layout", "error", "register"],
|
|
4
4
|
_excluded2 = ["name", "children"];
|
|
5
5
|
import React, { useContext, useMemo } from 'react';
|
|
6
6
|
import { ConditionalField } from '@digigov/form/Field/ConditionalField';
|
|
@@ -55,7 +55,8 @@ var ALTERNATIVE_COMPONENTS = {
|
|
|
55
55
|
};
|
|
56
56
|
|
|
57
57
|
var FieldContainer = function FieldContainer(_ref) {
|
|
58
|
-
var
|
|
58
|
+
var name = _ref.name,
|
|
59
|
+
wrapper = _ref.wrapper,
|
|
59
60
|
label = _ref.label,
|
|
60
61
|
children = _ref.children,
|
|
61
62
|
error = _ref.error;
|
|
@@ -68,18 +69,23 @@ var FieldContainer = function FieldContainer(_ref) {
|
|
|
68
69
|
error: !!error
|
|
69
70
|
}, /*#__PURE__*/React.createElement(CoreFieldset, null, /*#__PURE__*/React.createElement(FieldsetLegend, {
|
|
70
71
|
size: "s"
|
|
71
|
-
}, label && label.primary, label && label.secondary && /*#__PURE__*/React.createElement(Hint, null, t(label.secondary)), error && /*#__PURE__*/React.createElement(ErrorMessage,
|
|
72
|
+
}, label && label.primary, label && label.secondary && /*#__PURE__*/React.createElement(Hint, null, t(label.secondary)), error && /*#__PURE__*/React.createElement(ErrorMessage, {
|
|
73
|
+
id: "".concat(name, "-error")
|
|
74
|
+
}, t((error === null || error === void 0 ? void 0 : error.message) || ''))), children));
|
|
72
75
|
} else {
|
|
73
76
|
return /*#__PURE__*/React.createElement(CoreField, {
|
|
74
77
|
error: !!error
|
|
75
78
|
}, /*#__PURE__*/React.createElement(CoreLabel, null, label && /*#__PURE__*/React.createElement(Label, {
|
|
76
79
|
label: label
|
|
77
|
-
}), error && /*#__PURE__*/React.createElement(ErrorMessage,
|
|
80
|
+
}), error && /*#__PURE__*/React.createElement(ErrorMessage, {
|
|
81
|
+
id: "".concat(name, "-error")
|
|
82
|
+
}, t((error === null || error === void 0 ? void 0 : error.message) || '')), children));
|
|
78
83
|
}
|
|
79
84
|
};
|
|
80
85
|
|
|
81
86
|
export var FieldBase = function FieldBase(props) {
|
|
82
|
-
var
|
|
87
|
+
var required = props.required,
|
|
88
|
+
name = props.name,
|
|
83
89
|
Component = props.component,
|
|
84
90
|
wrapper = props.wrapper,
|
|
85
91
|
control = props.control,
|
|
@@ -107,7 +113,8 @@ export var FieldBase = function FieldBase(props) {
|
|
|
107
113
|
label: label,
|
|
108
114
|
layout: layout,
|
|
109
115
|
error: error,
|
|
110
|
-
wrapper: wrapper
|
|
116
|
+
wrapper: wrapper,
|
|
117
|
+
name: name
|
|
111
118
|
}, /*#__PURE__*/React.createElement(Controller, {
|
|
112
119
|
control: control,
|
|
113
120
|
name: name,
|
|
@@ -124,6 +131,9 @@ export var FieldBase = function FieldBase(props) {
|
|
|
124
131
|
extra: extra,
|
|
125
132
|
error: !!error,
|
|
126
133
|
type: type,
|
|
134
|
+
"aria-required": !!required,
|
|
135
|
+
"aria-describedby": error && "".concat(name, "-error"),
|
|
136
|
+
required: required,
|
|
127
137
|
disabled: editable === false
|
|
128
138
|
}, componentProps));
|
|
129
139
|
}
|
|
@@ -134,7 +144,8 @@ export var FieldBase = function FieldBase(props) {
|
|
|
134
144
|
label: label,
|
|
135
145
|
layout: layout,
|
|
136
146
|
error: error,
|
|
137
|
-
wrapper: wrapper
|
|
147
|
+
wrapper: wrapper,
|
|
148
|
+
name: name
|
|
138
149
|
}, Component !== null && Component !== void 0 && Component.render ? /*#__PURE__*/React.createElement(Component, _extends({
|
|
139
150
|
name: name,
|
|
140
151
|
ref: register,
|
|
@@ -142,6 +153,9 @@ export var FieldBase = function FieldBase(props) {
|
|
|
142
153
|
error: !!error,
|
|
143
154
|
extra: extra,
|
|
144
155
|
type: type,
|
|
156
|
+
"aria-required": !!required,
|
|
157
|
+
"aria-describedby": error && "".concat(name, "-error"),
|
|
158
|
+
required: required,
|
|
145
159
|
disabled: editable === false
|
|
146
160
|
}, componentProps)) : /*#__PURE__*/React.createElement(Component, _extends({
|
|
147
161
|
name: name,
|
|
@@ -150,6 +164,9 @@ export var FieldBase = function FieldBase(props) {
|
|
|
150
164
|
error: !!error,
|
|
151
165
|
extra: extra,
|
|
152
166
|
type: type,
|
|
167
|
+
"aria-required": !!required,
|
|
168
|
+
"aria-describedby": error && "".concat(name, "-error"),
|
|
169
|
+
required: required,
|
|
153
170
|
disabled: editable === false
|
|
154
171
|
}, componentProps)));
|
|
155
172
|
};
|
package/es/Fieldset/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useContext, useMemo } from 'react';
|
|
2
|
-
import Grid from '@
|
|
2
|
+
import Grid from '@digigov/ui/layouts/Grid';
|
|
3
3
|
import CoreFieldset from '@digigov/react-core/Fieldset';
|
|
4
4
|
import FieldsetLegend from '@digigov/react-core/FieldsetLegend';
|
|
5
5
|
import Hint from '@digigov/react-core/Hint';
|
package/es/index.js
CHANGED
|
@@ -9,7 +9,7 @@ var _excluded = ["onSubmit", "children", "registerField", "fieldsMap", "fieldset
|
|
|
9
9
|
import React, { createContext, useCallback, useRef } from 'react';
|
|
10
10
|
import { useForm } from 'react-hook-form';
|
|
11
11
|
import { yupResolver } from '@digigov/form/utils';
|
|
12
|
-
import Grid from '@
|
|
12
|
+
import Grid from '@digigov/ui/layouts/Grid';
|
|
13
13
|
import { useValidationSchema } from '@digigov/form/validators';
|
|
14
14
|
import Fieldset from '@digigov/form/Fieldset';
|
|
15
15
|
import Field from '@digigov/form/Field';
|
|
@@ -50,7 +50,7 @@ export var FormBase = /*#__PURE__*/React.forwardRef(function FormBase(_ref, ref)
|
|
|
50
50
|
form.setError(key, errors[key]);
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
}, []);
|
|
53
|
+
}, [onSubmit]);
|
|
54
54
|
var ctx = {
|
|
55
55
|
fieldsMap: fieldsMap,
|
|
56
56
|
fieldsetsMap: fieldsetsMap,
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["name", "onChange", "value", "extra", "disabled"];
|
|
2
4
|
import React from 'react';
|
|
3
5
|
import { useTranslation } from '@digigov/ui/app/i18n';
|
|
4
6
|
import CoreCheckboxes from '@digigov/react-core/Checkbox';
|
|
@@ -11,7 +13,9 @@ export var Checkboxes = function Checkboxes(_ref) {
|
|
|
11
13
|
_ref$extra = _ref.extra,
|
|
12
14
|
options = _ref$extra.options,
|
|
13
15
|
className = _ref$extra.className,
|
|
14
|
-
disabled = _ref.disabled
|
|
16
|
+
disabled = _ref.disabled,
|
|
17
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
18
|
+
|
|
15
19
|
if (!value) value = [];
|
|
16
20
|
|
|
17
21
|
var handleChange = function handleChange(optionValue) {
|
|
@@ -48,7 +52,13 @@ export var Checkboxes = function Checkboxes(_ref) {
|
|
|
48
52
|
,
|
|
49
53
|
checked: value.includes(option.value),
|
|
50
54
|
onChange: handleChange(option.value)
|
|
51
|
-
}, option
|
|
55
|
+
}, option, _extends({}, props, {
|
|
56
|
+
defaultValue: undefined,
|
|
57
|
+
onBlur: undefined,
|
|
58
|
+
required: undefined,
|
|
59
|
+
'aria-describedby': undefined,
|
|
60
|
+
type: 'checkbox'
|
|
61
|
+
})), option.label && option.label.primary && t(option.label.primary) || value, option.label && option.label.secondary && /*#__PURE__*/React.createElement(Hint, null, t(option.label.secondary)));
|
|
52
62
|
}));
|
|
53
63
|
};
|
|
54
64
|
export default Checkboxes;
|
|
@@ -123,7 +123,8 @@ export var DateInput = function DateInput(_ref2) {
|
|
|
123
123
|
width: 2,
|
|
124
124
|
name: "".concat(name, "-day"),
|
|
125
125
|
maxlength: "2",
|
|
126
|
-
disabled: props.disabled
|
|
126
|
+
disabled: props.disabled,
|
|
127
|
+
"aria-required": props['aria-required']
|
|
127
128
|
}), /*#__PURE__*/React.createElement(DatePart, {
|
|
128
129
|
label: t('form.label.month'),
|
|
129
130
|
onChange: date.setMonth,
|
|
@@ -134,7 +135,8 @@ export var DateInput = function DateInput(_ref2) {
|
|
|
134
135
|
width: 2,
|
|
135
136
|
name: "".concat(props.name, "-month"),
|
|
136
137
|
maxlength: "2",
|
|
137
|
-
disabled: props.disabled
|
|
138
|
+
disabled: props.disabled,
|
|
139
|
+
"aria-required": props['aria-required']
|
|
138
140
|
}), /*#__PURE__*/React.createElement(DatePart, {
|
|
139
141
|
label: t('form.label.year'),
|
|
140
142
|
onChange: date.setYear,
|
|
@@ -142,7 +144,8 @@ export var DateInput = function DateInput(_ref2) {
|
|
|
142
144
|
width: 4,
|
|
143
145
|
name: "".concat(props.name, "-year"),
|
|
144
146
|
maxlength: "4",
|
|
145
|
-
disabled: props.disabled
|
|
147
|
+
disabled: props.disabled,
|
|
148
|
+
"aria-required": props['aria-required']
|
|
146
149
|
}));
|
|
147
150
|
};
|
|
148
151
|
export default DateInput;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
1
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
+
var _excluded = ["name", "extra", "disabled", "type"];
|
|
2
5
|
import React, { useState } from 'react';
|
|
3
6
|
import clsx from 'clsx';
|
|
4
7
|
import { useTranslation } from '@digigov/ui/app/i18n';
|
|
@@ -9,7 +12,9 @@ export var FileInput = /*#__PURE__*/React.forwardRef(function FileInput(_ref, re
|
|
|
9
12
|
var name = _ref.name,
|
|
10
13
|
_ref$extra = _ref.extra,
|
|
11
14
|
extra = _ref$extra === void 0 ? {} : _ref$extra,
|
|
12
|
-
disabled = _ref.disabled
|
|
15
|
+
disabled = _ref.disabled,
|
|
16
|
+
type = _ref.type,
|
|
17
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
13
18
|
|
|
14
19
|
var _useTranslation = useTranslation(),
|
|
15
20
|
t = _useTranslation.t;
|
|
@@ -25,7 +30,7 @@ export var FileInput = /*#__PURE__*/React.forwardRef(function FileInput(_ref, re
|
|
|
25
30
|
tabIndex: 0,
|
|
26
31
|
role: "button",
|
|
27
32
|
className: clsx(extra.className, files.length === 0 && ['govgr-btn', 'govgr-btn-primary'], files.length > 0 && 'govgr-link', true && 'govgr-label-file')
|
|
28
|
-
}, /*#__PURE__*/React.createElement("input", {
|
|
33
|
+
}, /*#__PURE__*/React.createElement("input", _extends({
|
|
29
34
|
ref: ref,
|
|
30
35
|
type: "file",
|
|
31
36
|
name: name,
|
|
@@ -42,6 +47,8 @@ export var FileInput = /*#__PURE__*/React.forwardRef(function FileInput(_ref, re
|
|
|
42
47
|
});
|
|
43
48
|
setFiles(selectedFiles);
|
|
44
49
|
}
|
|
45
|
-
}
|
|
50
|
+
}, _extends({}, props, {
|
|
51
|
+
required: undefined
|
|
52
|
+
}))), files.length ? t('upload.change_file') : t('upload.choose_file')));
|
|
46
53
|
});
|
|
47
54
|
export default FileInput;
|
package/es/inputs/Input/index.js
CHANGED
|
@@ -37,14 +37,19 @@ export var Input = /*#__PURE__*/React.forwardRef(function WrappedInput(_ref, ref
|
|
|
37
37
|
className: className,
|
|
38
38
|
rows: rows,
|
|
39
39
|
ref: ref
|
|
40
|
-
}, props
|
|
40
|
+
}, _extends({}, props, {
|
|
41
|
+
required: undefined,
|
|
42
|
+
type: fieldType
|
|
43
|
+
})));
|
|
41
44
|
} else {
|
|
42
45
|
return /*#__PURE__*/React.createElement(TextInput, _extends({
|
|
43
46
|
name: name,
|
|
44
47
|
type: fieldType,
|
|
45
48
|
className: className,
|
|
46
49
|
ref: ref
|
|
47
|
-
}, props
|
|
50
|
+
}, _extends({}, props, {
|
|
51
|
+
required: undefined
|
|
52
|
+
})));
|
|
48
53
|
}
|
|
49
54
|
});
|
|
50
55
|
export default Input;
|
package/es/inputs/Radio/index.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
1
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
+
var _excluded = ["register", "name", "control", "extra", "disabled"];
|
|
2
5
|
import React, { useState } from 'react';
|
|
3
6
|
import Radio from '@digigov/react-core/Radio';
|
|
4
7
|
import RadioItem from '@digigov/react-core/RadioItem';
|
|
@@ -12,7 +15,9 @@ export var RadioButtonsGroup = function RadioButtonsGroup(_ref) {
|
|
|
12
15
|
_ref$extra = _ref.extra,
|
|
13
16
|
options = _ref$extra.options,
|
|
14
17
|
className = _ref$extra.className,
|
|
15
|
-
disabled = _ref.disabled
|
|
18
|
+
disabled = _ref.disabled,
|
|
19
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
20
|
+
|
|
16
21
|
var currentValue = useWatch({
|
|
17
22
|
control: control,
|
|
18
23
|
name: name
|
|
@@ -33,13 +38,17 @@ export var RadioButtonsGroup = function RadioButtonsGroup(_ref) {
|
|
|
33
38
|
var label = _ref2.label,
|
|
34
39
|
v = _ref2.value,
|
|
35
40
|
optionDisabled = _ref2.disabled;
|
|
36
|
-
return /*#__PURE__*/React.createElement(RadioItem, {
|
|
41
|
+
return /*#__PURE__*/React.createElement(RadioItem, _extends({
|
|
37
42
|
ref: register,
|
|
38
43
|
key: v,
|
|
39
44
|
name: name,
|
|
40
45
|
value: v,
|
|
41
46
|
disabled: disabled || optionDisabled
|
|
42
|
-
},
|
|
47
|
+
}, _extends({}, props, {
|
|
48
|
+
required: undefined,
|
|
49
|
+
'aria-describedby': undefined,
|
|
50
|
+
type: 'radio'
|
|
51
|
+
})), label && label.primary && t(label.primary) || v, label && label.secondary && /*#__PURE__*/React.createElement(Hint, null, t(label.secondary)));
|
|
43
52
|
}));
|
|
44
53
|
};
|
|
45
54
|
export default RadioButtonsGroup;
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["name", "extra", "disabled"];
|
|
1
4
|
import React from 'react';
|
|
2
5
|
import CoreSelect from '@digigov/react-core/Select';
|
|
3
6
|
import SelectOption from '@digigov/react-core/SelectOption';
|
|
@@ -6,13 +9,17 @@ export var Select = /*#__PURE__*/React.forwardRef(function WrappedSelect(_ref, r
|
|
|
6
9
|
_ref$extra = _ref.extra,
|
|
7
10
|
options = _ref$extra.options,
|
|
8
11
|
className = _ref$extra.className,
|
|
9
|
-
disabled = _ref.disabled
|
|
10
|
-
|
|
12
|
+
disabled = _ref.disabled,
|
|
13
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
14
|
+
|
|
15
|
+
return /*#__PURE__*/React.createElement(CoreSelect, _extends({
|
|
11
16
|
className: className,
|
|
12
17
|
ref: ref,
|
|
13
18
|
name: name,
|
|
14
19
|
disabled: disabled
|
|
15
|
-
},
|
|
20
|
+
}, _extends({}, props, {
|
|
21
|
+
required: undefined
|
|
22
|
+
})), options.map(function (_ref2) {
|
|
16
23
|
var value = _ref2.value,
|
|
17
24
|
label = _ref2.label;
|
|
18
25
|
return /*#__PURE__*/React.createElement(SelectOption, {
|
package/es/validators.js
CHANGED
|
@@ -51,6 +51,58 @@ export function validateAFM(afm) {
|
|
|
51
51
|
var valid = calc % 10 === d9;
|
|
52
52
|
return valid;
|
|
53
53
|
}
|
|
54
|
+
export function validatePhoneNumber(phoneNumber) {
|
|
55
|
+
var countries = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['gr'];
|
|
56
|
+
var typeOfPhoneNumber = arguments.length > 2 ? arguments[2] : undefined;
|
|
57
|
+
var phoneUtil = gPhoneNumber.PhoneNumberUtil.getInstance();
|
|
58
|
+
|
|
59
|
+
if (!countries || countries.length === 0) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return countries.some(function (country) {
|
|
64
|
+
try {
|
|
65
|
+
var phone = phoneUtil.parse(phoneNumber, country.toUpperCase());
|
|
66
|
+
|
|
67
|
+
if (phoneUtil.isValidNumber(phone)) {
|
|
68
|
+
if (typeOfPhoneNumber) {
|
|
69
|
+
if (matchTypeOfPhoneNumber(phone, typeOfPhoneNumber, phoneUtil)) {
|
|
70
|
+
return true;
|
|
71
|
+
} else {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
} else {
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return false;
|
|
80
|
+
} catch (error) {
|
|
81
|
+
console.error(error);
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
var phoneNumberTypes = {
|
|
87
|
+
0: 'landline',
|
|
88
|
+
1: 'mobile',
|
|
89
|
+
2: 'landline_or_mobile'
|
|
90
|
+
};
|
|
91
|
+
export function matchTypeOfPhoneNumber(phone, type, phoneUtil) {
|
|
92
|
+
try {
|
|
93
|
+
var phoneNumberType = phoneUtil.getNumberType(phone);
|
|
94
|
+
var numberType = phoneNumberTypes[phoneNumberType];
|
|
95
|
+
|
|
96
|
+
if (numberType === 'landline_or_mobile' || numberType === type) {
|
|
97
|
+
return true;
|
|
98
|
+
} else {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
} catch (error) {
|
|
102
|
+
console.error(error);
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
54
106
|
|
|
55
107
|
function validateMobile(value) {
|
|
56
108
|
var phoneUtil = gPhoneNumber.PhoneNumberUtil.getInstance();
|
|
@@ -90,7 +142,7 @@ var POSTALCODE_VALIDATOR = function POSTALCODE_VALIDATOR(field) {
|
|
|
90
142
|
name: 'postal-code-validator',
|
|
91
143
|
message: 'form.error.postalCode',
|
|
92
144
|
test: function test(value) {
|
|
93
|
-
if (!value
|
|
145
|
+
if (!value) {
|
|
94
146
|
return true;
|
|
95
147
|
}
|
|
96
148
|
|
|
@@ -110,6 +162,35 @@ var MOBILE_PHONE_VALIDATOR = {
|
|
|
110
162
|
return true;
|
|
111
163
|
}
|
|
112
164
|
};
|
|
165
|
+
|
|
166
|
+
var PHONE_NUMBER_VALIDATOR = function PHONE_NUMBER_VALIDATOR(field) {
|
|
167
|
+
var _field$extra2, _field$extra3;
|
|
168
|
+
|
|
169
|
+
var countryCode = field === null || field === void 0 ? void 0 : (_field$extra2 = field.extra) === null || _field$extra2 === void 0 ? void 0 : _field$extra2.countries;
|
|
170
|
+
var typeOfPhone = field === null || field === void 0 ? void 0 : (_field$extra3 = field.extra) === null || _field$extra3 === void 0 ? void 0 : _field$extra3.phoneType;
|
|
171
|
+
return {
|
|
172
|
+
name: 'phone-number-validator',
|
|
173
|
+
message: function message() {
|
|
174
|
+
if (typeOfPhone === 'mobile') {
|
|
175
|
+
return 'form.error.mobile_phone';
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
if (typeOfPhone === 'landline') {
|
|
179
|
+
return 'form.error.landline';
|
|
180
|
+
} else {
|
|
181
|
+
return 'form.error.phone_number';
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
test: function test(value) {
|
|
185
|
+
if (!value) {
|
|
186
|
+
return true;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
return validatePhoneNumber(value, countryCode, typeOfPhone);
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
};
|
|
193
|
+
|
|
113
194
|
var AFM_VALIDATOR = {
|
|
114
195
|
name: 'afm-validator',
|
|
115
196
|
message: 'form.error.afm',
|
|
@@ -297,14 +378,14 @@ export function validateIban(value, countryCode) {
|
|
|
297
378
|
}
|
|
298
379
|
|
|
299
380
|
var IBAN_VALIDATOR = function IBAN_VALIDATOR(field) {
|
|
300
|
-
var _field$
|
|
381
|
+
var _field$extra4;
|
|
301
382
|
|
|
302
|
-
var countryCode = field === null || field === void 0 ? void 0 : (_field$
|
|
383
|
+
var countryCode = field === null || field === void 0 ? void 0 : (_field$extra4 = field.extra) === null || _field$extra4 === void 0 ? void 0 : _field$extra4.country;
|
|
303
384
|
return {
|
|
304
385
|
name: 'iban-validator',
|
|
305
386
|
message: 'form.error.iban',
|
|
306
387
|
test: function test(value) {
|
|
307
|
-
if (!value
|
|
388
|
+
if (!value) {
|
|
308
389
|
return true;
|
|
309
390
|
}
|
|
310
391
|
|
|
@@ -454,6 +535,9 @@ var getYUPTypeMap = function getYUPTypeMap() {
|
|
|
454
535
|
mobile_phone: function mobile_phone() {
|
|
455
536
|
return yup.string().test(MOBILE_PHONE_VALIDATOR);
|
|
456
537
|
},
|
|
538
|
+
phone_number: function phone_number(field) {
|
|
539
|
+
return yup.string().test(PHONE_NUMBER_VALIDATOR(field));
|
|
540
|
+
},
|
|
457
541
|
'choice:multiple': function choiceMultiple() {
|
|
458
542
|
return yup.array().of(yup.string()).nullable();
|
|
459
543
|
},
|
package/es/validators.spec.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { validateUUID4, validateIban, validatePostalCode } from '@digigov/form/validators';
|
|
1
|
+
import { validateUUID4, validateIban, validatePostalCode, validatePhoneNumber } from '@digigov/form/validators';
|
|
2
2
|
it('validates wrong uuid4 for empty value', function () {
|
|
3
3
|
expect(validateUUID4('')).toBe(false);
|
|
4
4
|
});
|
|
@@ -41,6 +41,45 @@ it('validates wrong postal code with wrong country code', function () {
|
|
|
41
41
|
it('validates wrong postal code with greek country code', function () {
|
|
42
42
|
expect(validatePostalCode('123', ['GR'])).toBe(false);
|
|
43
43
|
});
|
|
44
|
-
it('validates
|
|
44
|
+
it('validates postal code with greek country code', function () {
|
|
45
45
|
expect(validatePostalCode('11143', ['GR'])).toBe(true);
|
|
46
|
+
});
|
|
47
|
+
it('validates phone number type landline with greek country code', function () {
|
|
48
|
+
expect(validatePhoneNumber('2102934896', ['GR'], 'landline')).toBe(true);
|
|
49
|
+
});
|
|
50
|
+
it('validates phone number type landline with ch country code', function () {
|
|
51
|
+
expect(validatePhoneNumber('2102934896', ['CH'], 'landline')).toBe(false);
|
|
52
|
+
});
|
|
53
|
+
it('validates phone number type landline with ch and gr countries code', function () {
|
|
54
|
+
expect(validatePhoneNumber('2102934896', ['GR', 'CH'], 'landline')).toBe(true);
|
|
55
|
+
});
|
|
56
|
+
it('validatesphone number type landline with ch and gr countries code', function () {
|
|
57
|
+
expect(validatePhoneNumber('41446681800', ['GR', 'CH'], 'landline')).toBe(true);
|
|
58
|
+
});
|
|
59
|
+
it('validates phone number type landline with ch and gr countries code but phone number is mobile', function () {
|
|
60
|
+
expect(validatePhoneNumber('2102934896', ['GR', 'CH'], 'mobile')).toBe(false);
|
|
61
|
+
});
|
|
62
|
+
it('validates phone number type mobile with ch and gr countries code', function () {
|
|
63
|
+
expect(validatePhoneNumber('6934100982', ['GR', 'CH'], 'mobile')).toBe(true);
|
|
64
|
+
});
|
|
65
|
+
it('validates phone number type mobile with gr country code', function () {
|
|
66
|
+
expect(validatePhoneNumber('6934100982', ['GR'], 'mobile')).toBe(true);
|
|
67
|
+
});
|
|
68
|
+
it('validates phone number type mobile with ch country code', function () {
|
|
69
|
+
expect(validatePhoneNumber('6934100982', ['CH'], 'mobile')).toBe(false);
|
|
70
|
+
});
|
|
71
|
+
it('validates phone number with no type and ch country code', function () {
|
|
72
|
+
expect(validatePhoneNumber('6934100982', ['CH'], null)).toBe(false);
|
|
73
|
+
});
|
|
74
|
+
it('validates phone number with no type and gr country code', function () {
|
|
75
|
+
expect(validatePhoneNumber('6934100982', ['gr'], null)).toBe(true);
|
|
76
|
+
});
|
|
77
|
+
it('validates phone number with no type and ch country code', function () {
|
|
78
|
+
expect(validatePhoneNumber('41446681800', ['CH'], null)).toBe(true);
|
|
79
|
+
});
|
|
80
|
+
it('validates phone number with no type and gr country code', function () {
|
|
81
|
+
expect(validatePhoneNumber('41446681800', ['gr'], null)).toBe(false);
|
|
82
|
+
});
|
|
83
|
+
it('validates phone number with no type and gr and ch countries code', function () {
|
|
84
|
+
expect(validatePhoneNumber('41446681800', ['gr', 'ch'], null)).toBe(true);
|
|
46
85
|
});
|