@dxc-technology/halstack-react 0.0.0-4e9134c → 0.0.0-4ec6fe9
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/README.md +1 -1
- package/dist/ThemeContext.js +134 -100
- package/dist/V3Select/V3Select.js +549 -0
- package/dist/V3Select/index.d.ts +27 -0
- package/dist/V3Textarea/V3Textarea.js +264 -0
- package/dist/V3Textarea/index.d.ts +27 -0
- package/dist/accordion/Accordion.js +66 -59
- package/dist/accordion/index.d.ts +28 -0
- package/dist/accordion-group/AccordionGroup.js +1 -3
- package/dist/accordion-group/index.d.ts +16 -0
- package/dist/alert/Alert.js +126 -111
- package/dist/alert/index.d.ts +51 -0
- package/dist/box/Box.js +1 -9
- package/dist/box/index.d.ts +25 -0
- package/dist/button/Button.js +33 -27
- package/dist/button/index.d.ts +24 -0
- package/dist/card/index.d.ts +22 -0
- package/dist/checkbox/Checkbox.js +26 -21
- package/dist/checkbox/index.d.ts +24 -0
- package/dist/chip/Chip.js +21 -25
- package/dist/chip/index.d.ts +22 -0
- package/dist/common/variables.js +771 -547
- package/dist/date/Date.js +7 -9
- package/dist/date/index.d.ts +27 -0
- package/dist/{new-date/NewDate.js → date-input/DateInput.js} +77 -72
- package/dist/date-input/index.d.ts +95 -0
- package/dist/dialog/Dialog.js +15 -32
- package/dist/dialog/index.d.ts +18 -0
- package/dist/dropdown/Dropdown.js +108 -68
- package/dist/dropdown/index.d.ts +26 -0
- package/dist/file-input/FileInput.js +644 -0
- package/dist/file-input/FileItem.js +287 -0
- package/dist/file-input/index.d.ts +81 -0
- package/dist/footer/Footer.js +63 -49
- package/dist/footer/Icons.js +77 -0
- package/dist/footer/index.d.ts +25 -0
- package/dist/header/Header.js +123 -84
- package/dist/header/Icons.js +59 -0
- package/dist/header/index.d.ts +25 -0
- package/dist/heading/Heading.js +13 -5
- package/dist/heading/index.d.ts +17 -0
- package/dist/input-text/Icons.js +22 -0
- package/dist/input-text/InputText.js +93 -60
- package/dist/input-text/index.d.ts +36 -0
- package/dist/layout/ApplicationLayout.js +5 -9
- package/dist/layout/Icons.js +55 -0
- package/dist/link/Link.js +4 -8
- package/dist/link/index.d.ts +23 -0
- package/dist/main.d.ts +40 -0
- package/dist/main.js +38 -30
- package/dist/{number/Number.js → number-input/NumberInput.js} +13 -11
- package/dist/{number/NumberContext.js → number-input/NumberInputContext.js} +2 -2
- package/dist/number-input/index.d.ts +113 -0
- package/dist/paginator/Icons.js +66 -0
- package/dist/paginator/Paginator.js +60 -38
- package/dist/paginator/index.d.ts +20 -0
- package/dist/{password/Password.js → password-input/PasswordInput.js} +21 -14
- package/dist/password-input/index.d.ts +94 -0
- package/dist/progress-bar/ProgressBar.js +62 -26
- package/dist/progress-bar/index.d.ts +18 -0
- package/dist/radio/index.d.ts +23 -0
- package/dist/resultsetTable/index.d.ts +19 -0
- package/dist/select/Select.js +872 -339
- package/dist/select/index.d.ts +53 -0
- package/dist/sidenav/Sidenav.js +11 -15
- package/dist/sidenav/index.d.ts +13 -0
- package/dist/slider/Slider.js +155 -66
- package/dist/slider/index.d.ts +29 -0
- package/dist/spinner/Spinner.js +225 -58
- package/dist/spinner/index.d.ts +17 -0
- package/dist/switch/index.d.ts +24 -0
- package/dist/table/Table.js +5 -1
- package/dist/table/index.d.ts +13 -0
- package/dist/tabs/index.d.ts +19 -0
- package/dist/tag/Tag.js +37 -35
- package/dist/tag/index.d.ts +24 -0
- package/dist/{new-input-text/NewInputText.js → text-input/TextInput.js} +192 -175
- package/dist/text-input/index.d.ts +135 -0
- package/dist/textarea/Textarea.js +233 -124
- package/dist/textarea/index.d.ts +117 -0
- package/dist/toggle/index.d.ts +21 -0
- package/dist/toggle-group/ToggleGroup.js +130 -44
- package/dist/toggle-group/index.d.ts +21 -0
- package/dist/upload/buttons-upload/ButtonsUpload.js +12 -12
- package/dist/upload/buttons-upload/Icons.js +40 -0
- package/dist/upload/dragAndDropArea/DragAndDropArea.js +23 -19
- package/dist/upload/dragAndDropArea/Icons.js +39 -0
- package/dist/upload/file-upload/FileToUpload.js +27 -22
- package/dist/upload/file-upload/Icons.js +66 -0
- package/dist/upload/index.d.ts +15 -0
- package/dist/upload/transaction/Icons.js +160 -0
- package/dist/upload/transaction/Transaction.js +18 -41
- package/dist/upload/transactions/Transactions.js +11 -11
- package/dist/wizard/Icons.js +65 -0
- package/dist/wizard/Wizard.js +11 -17
- package/dist/wizard/index.d.ts +18 -0
- package/package.json +6 -9
- package/test/Date.test.js +13 -11
- package/test/{NewDate.test.js → DateInput.test.js} +71 -29
- package/test/FileInput.test.js +201 -0
- package/test/Footer.test.js +2 -7
- package/test/Header.test.js +5 -10
- package/test/Heading.test.js +60 -12
- package/test/{Number.test.js → NumberInput.test.js} +85 -67
- package/test/Paginator.test.js +6 -2
- package/test/PasswordInput.test.js +83 -0
- package/test/ResultsetTable.test.js +6 -6
- package/test/Select.test.js +371 -148
- package/test/Slider.test.js +9 -17
- package/test/Spinner.test.js +5 -0
- package/test/{NewInputText.test.js → TextInput.test.js} +149 -234
- package/test/Textarea.test.js +193 -0
- package/test/ToggleGroup.test.js +5 -1
- package/test/Upload.test.js +1 -1
- package/test/V3Select.test.js +212 -0
- package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
- package/dist/accordion/Accordion.stories.js +0 -207
- package/dist/accordion/readme.md +0 -96
- package/dist/accordion-group/AccordionGroup.stories.js +0 -207
- package/dist/accordion-group/readme.md +0 -70
- package/dist/alert/Alert.stories.js +0 -158
- package/dist/alert/close.svg +0 -4
- package/dist/alert/error.svg +0 -4
- package/dist/alert/info.svg +0 -4
- package/dist/alert/readme.md +0 -43
- package/dist/alert/success.svg +0 -4
- package/dist/alert/warning.svg +0 -4
- package/dist/button/Button.stories.js +0 -224
- package/dist/button/readme.md +0 -93
- package/dist/checkbox/Checkbox.stories.js +0 -144
- package/dist/checkbox/readme.md +0 -116
- package/dist/date/Date.stories.js +0 -205
- package/dist/date/readme.md +0 -73
- package/dist/dialog/Dialog.stories.js +0 -217
- package/dist/dialog/readme.md +0 -32
- package/dist/dropdown/Dropdown.stories.js +0 -249
- package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
- package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
- package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
- package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
- package/dist/dropdown/readme.md +0 -69
- package/dist/footer/Footer.stories.js +0 -94
- package/dist/footer/dxc_logo.svg +0 -15
- package/dist/footer/readme.md +0 -41
- package/dist/header/Header.stories.js +0 -176
- package/dist/header/close_icon.svg +0 -1
- package/dist/header/dxc_logo_black.svg +0 -8
- package/dist/header/hamb_menu_black.svg +0 -1
- package/dist/header/hamb_menu_white.svg +0 -1
- package/dist/header/readme.md +0 -33
- package/dist/input-text/InputText.stories.js +0 -209
- package/dist/input-text/error.svg +0 -1
- package/dist/input-text/readme.md +0 -91
- package/dist/layout/facebook.svg +0 -45
- package/dist/layout/linkedin.svg +0 -50
- package/dist/layout/twitter.svg +0 -53
- package/dist/link/readme.md +0 -51
- package/dist/new-textarea/NewTextarea.js +0 -342
- package/dist/paginator/images/next.svg +0 -3
- package/dist/paginator/images/nextPage.svg +0 -3
- package/dist/paginator/images/previous.svg +0 -3
- package/dist/paginator/images/previousPage.svg +0 -3
- package/dist/paginator/readme.md +0 -50
- package/dist/password/styles.css +0 -3
- package/dist/progress-bar/ProgressBar.stories.js +0 -280
- package/dist/progress-bar/readme.md +0 -63
- package/dist/radio/Radio.stories.js +0 -166
- package/dist/radio/readme.md +0 -70
- package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
- package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
- package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
- package/dist/select/Select.stories.js +0 -235
- package/dist/select/readme.md +0 -72
- package/dist/slider/Slider.stories.js +0 -241
- package/dist/slider/readme.md +0 -64
- package/dist/spinner/Spinner.stories.js +0 -183
- package/dist/spinner/readme.md +0 -65
- package/dist/switch/Switch.stories.js +0 -134
- package/dist/switch/readme.md +0 -133
- package/dist/tabs/Tabs.stories.js +0 -130
- package/dist/tabs/readme.md +0 -78
- package/dist/tabs-for-sections/TabsForSections.js +0 -92
- package/dist/tabs-for-sections/readme.md +0 -78
- package/dist/toggle/Toggle.stories.js +0 -297
- package/dist/toggle/readme.md +0 -80
- package/dist/toggle-group/readme.md +0 -82
- package/dist/upload/Upload.stories.js +0 -72
- package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
- package/dist/upload/buttons-upload/upload-button.svg +0 -1
- package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
- package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
- package/dist/upload/file-upload/audio-icon.svg +0 -4
- package/dist/upload/file-upload/close.svg +0 -4
- package/dist/upload/file-upload/file-icon.svg +0 -4
- package/dist/upload/file-upload/video-icon.svg +0 -4
- package/dist/upload/readme.md +0 -37
- package/dist/upload/transaction/audio-icon-err.svg +0 -4
- package/dist/upload/transaction/audio-icon.svg +0 -4
- package/dist/upload/transaction/error-icon.svg +0 -4
- package/dist/upload/transaction/file-icon-err.svg +0 -4
- package/dist/upload/transaction/file-icon.svg +0 -4
- package/dist/upload/transaction/image-icon-err.svg +0 -4
- package/dist/upload/transaction/image-icon.svg +0 -4
- package/dist/upload/transaction/success-icon.svg +0 -4
- package/dist/upload/transaction/video-icon-err.svg +0 -4
- package/dist/upload/transaction/video-icon.svg +0 -4
- package/dist/wizard/invalid_icon.svg +0 -5
- package/dist/wizard/valid_icon.svg +0 -5
- package/dist/wizard/validation-wrong.svg +0 -6
- package/test/NewTextarea.test.js +0 -202
- package/test/Password.test.js +0 -76
- package/test/TabsForSections.test.js +0 -34
|
@@ -107,31 +107,31 @@ var DXCTransactions = _styledComponents["default"].div(_templateObject(), functi
|
|
|
107
107
|
var TransactionsText = _styledComponents["default"].span(_templateObject2());
|
|
108
108
|
|
|
109
109
|
var TransactionsTitle = _styledComponents["default"].span(_templateObject3(), function (props) {
|
|
110
|
-
return props.theme.
|
|
110
|
+
return props.theme.uploadedFilesTitleFontSize;
|
|
111
111
|
}, function (props) {
|
|
112
|
-
return props.theme.
|
|
112
|
+
return props.theme.uploadedFilesTitleFontStyle;
|
|
113
113
|
}, function (props) {
|
|
114
|
-
return props.theme.
|
|
114
|
+
return props.theme.uploadedFilesTitleFontWeight;
|
|
115
115
|
}, function (props) {
|
|
116
|
-
return props.theme.
|
|
116
|
+
return props.theme.uploadedFilesTitleFontTextTransform;
|
|
117
117
|
}, function (props) {
|
|
118
|
-
return props.theme.
|
|
118
|
+
return props.theme.uploadedFilesTitleFontColor;
|
|
119
119
|
});
|
|
120
120
|
|
|
121
121
|
var TransactionsSubTitle = _styledComponents["default"].span(_templateObject4(), function (props) {
|
|
122
|
-
return props.theme.
|
|
122
|
+
return props.theme.uploadedFilesSubtitleFontSize;
|
|
123
123
|
}, function (props) {
|
|
124
|
-
return props.theme.
|
|
124
|
+
return props.theme.uploadedFilesSubtitleFontStyle;
|
|
125
125
|
}, function (props) {
|
|
126
|
-
return props.theme.
|
|
126
|
+
return props.theme.uploadedFilesSubtitleFontWeight;
|
|
127
127
|
}, function (props) {
|
|
128
|
-
return props.theme.
|
|
128
|
+
return props.theme.uploadedFilesSubtitleFontTextTransform;
|
|
129
129
|
}, function (props) {
|
|
130
|
-
return props.theme.
|
|
130
|
+
return props.theme.uploadedFilesSubtitleFontColor;
|
|
131
131
|
});
|
|
132
132
|
|
|
133
133
|
var TransactionsNumber = _styledComponents["default"].span(_templateObject5(), function (props) {
|
|
134
|
-
return props.theme.
|
|
134
|
+
return props.theme.uploadedFilesNumberFontWeight;
|
|
135
135
|
});
|
|
136
136
|
|
|
137
137
|
var _default = DxcTransactions;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.validIcon = exports.invalidIcon = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var invalidIcon = _react["default"].createElement("svg", {
|
|
13
|
+
id: "highlight_off_black_18dp",
|
|
14
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
15
|
+
width: "18",
|
|
16
|
+
height: "18",
|
|
17
|
+
viewBox: "0 0 18 18"
|
|
18
|
+
}, _react["default"].createElement("path", {
|
|
19
|
+
id: "Path_2943",
|
|
20
|
+
"data-name": "Path 2943",
|
|
21
|
+
d: "M0,0H18V18H0Z",
|
|
22
|
+
fill: "none"
|
|
23
|
+
}), _react["default"].createElement("path", {
|
|
24
|
+
id: "Path_2944",
|
|
25
|
+
"data-name": "Path 2944",
|
|
26
|
+
d: "M10,4a6,6,0,1,0,6,6A6.01,6.01,0,0,0,10,4Zm3,7.945L11.945,13,10,11.06,8.059,13,7,11.945,8.944,10,7,8.059,8.059,7,10,8.944,11.945,7,13,8.059,11.06,10Z",
|
|
27
|
+
transform: "translate(-1.002 -1.002)",
|
|
28
|
+
fill: "#ffe6e9"
|
|
29
|
+
}), _react["default"].createElement("path", {
|
|
30
|
+
id: "Path_2945",
|
|
31
|
+
"data-name": "Path 2945",
|
|
32
|
+
d: "M11.444,6.5,9.5,8.443,7.558,6.5,6.5,7.558,8.443,9.5,6.5,11.444,7.558,12.5,9.5,10.558,11.444,12.5,12.5,11.444,10.558,9.5,12.5,7.558ZM9.5,2A7.5,7.5,0,1,0,17,9.5,7.494,7.494,0,0,0,9.5,2Zm0,13.5a6,6,0,1,1,6-6A6.009,6.009,0,0,1,9.5,15.5Z",
|
|
33
|
+
transform: "translate(-0.501 -0.501)",
|
|
34
|
+
fill: "#d0011b"
|
|
35
|
+
}));
|
|
36
|
+
|
|
37
|
+
exports.invalidIcon = invalidIcon;
|
|
38
|
+
|
|
39
|
+
var validIcon = _react["default"].createElement("svg", {
|
|
40
|
+
id: "check_circle_black_18dp",
|
|
41
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
42
|
+
width: "18",
|
|
43
|
+
height: "18",
|
|
44
|
+
viewBox: "0 0 18 18"
|
|
45
|
+
}, _react["default"].createElement("path", {
|
|
46
|
+
id: "Path_2946",
|
|
47
|
+
"data-name": "Path 2946",
|
|
48
|
+
d: "M0,0H18V18H0Z",
|
|
49
|
+
fill: "none"
|
|
50
|
+
}), _react["default"].createElement("path", {
|
|
51
|
+
id: "Path_2947",
|
|
52
|
+
"data-name": "Path 2947",
|
|
53
|
+
d: "M9.986,4a5.986,5.986,0,1,0,5.986,5.986A5.994,5.994,0,0,0,9.986,4Zm-1.5,9.727L5.5,10.734,6.551,9.679l1.938,1.93L13.42,6.679l1.055,1.063Z",
|
|
54
|
+
transform: "translate(-0.986 -0.986)",
|
|
55
|
+
fill: "#eafaef",
|
|
56
|
+
opacity: "0.999"
|
|
57
|
+
}), _react["default"].createElement("path", {
|
|
58
|
+
id: "Path_2948",
|
|
59
|
+
"data-name": "Path 2948",
|
|
60
|
+
d: "M9.493,2a7.493,7.493,0,1,0,7.493,7.493A7.5,7.5,0,0,0,9.493,2Zm0,13.487a5.994,5.994,0,1,1,5.994-5.994A6,6,0,0,1,9.493,15.487Zm3.439-9.306L7.994,11.119,6.054,9.186,5,10.242l3,3,5.994-5.994Z",
|
|
61
|
+
transform: "translate(-0.493 -0.493)",
|
|
62
|
+
fill: "#24a148"
|
|
63
|
+
}));
|
|
64
|
+
|
|
65
|
+
exports.validIcon = validIcon;
|
package/dist/wizard/Wizard.js
CHANGED
|
@@ -27,9 +27,7 @@ var _variables = require("../common/variables.js");
|
|
|
27
27
|
|
|
28
28
|
var _useTheme = _interopRequireDefault(require("../useTheme.js"));
|
|
29
29
|
|
|
30
|
-
var
|
|
31
|
-
|
|
32
|
-
var _invalid_icon = _interopRequireDefault(require("./invalid_icon.svg"));
|
|
30
|
+
var _Icons = require("./Icons");
|
|
33
31
|
|
|
34
32
|
function _templateObject14() {
|
|
35
33
|
var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n ", "\n border: ", ";\n opacity: 1;\n flex-grow: 1;\n"]);
|
|
@@ -232,16 +230,12 @@ var DxcWizard = function DxcWizard(_ref) {
|
|
|
232
230
|
}) : _react["default"].createElement(Number, {
|
|
233
231
|
disabled: step.disabled,
|
|
234
232
|
current: i === renderedCurrent
|
|
235
|
-
}, i + 1)), step.valid !== undefined ? step.valid ? _react["default"].createElement(
|
|
236
|
-
src: _valid_icon["default"]
|
|
237
|
-
}) : _react["default"].createElement(ValidityIcon, {
|
|
238
|
-
src: _invalid_icon["default"]
|
|
239
|
-
}) : ""), step.label || step.description ? _react["default"].createElement(InfoContainer, null, step.label ? _react["default"].createElement(Label, {
|
|
233
|
+
}, i + 1)), step.valid !== undefined ? step.valid ? _react["default"].createElement(ValidityIconContainer, null, _Icons.validIcon) : _react["default"].createElement(ValidityIconContainer, null, _Icons.invalidIcon) : ""), step.label || step.description ? _react["default"].createElement(InfoContainer, null, step.label ? _react["default"].createElement(Label, {
|
|
240
234
|
disabled: step.disabled,
|
|
241
|
-
|
|
235
|
+
visited: i <= innerCurrent
|
|
242
236
|
}, step.label) : "", step.description ? _react["default"].createElement(Description, {
|
|
243
237
|
disabled: step.disabled,
|
|
244
|
-
|
|
238
|
+
visited: i <= innerCurrent
|
|
245
239
|
}, step.description) : "") : ""), i === steps.length - 1 ? "" : _react["default"].createElement(StepSeparator, {
|
|
246
240
|
mode: mode
|
|
247
241
|
}));
|
|
@@ -289,15 +283,15 @@ var Step = _styledComponents["default"].button(_templateObject3(), function (pro
|
|
|
289
283
|
var StepHeader = _styledComponents["default"].div(_templateObject4());
|
|
290
284
|
|
|
291
285
|
var IconContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
|
|
292
|
-
return props.disabled ? props.theme.
|
|
286
|
+
return props.disabled ? props.theme.disabledCircleWidth : props.current ? props.theme.selectedCircleWidth : props.theme.circleWidth;
|
|
293
287
|
}, function (props) {
|
|
294
|
-
return props.disabled ? props.theme.
|
|
288
|
+
return props.disabled ? props.theme.disabledCircleHeight : props.current ? props.theme.selectedCircleHeight : props.theme.circleHeight;
|
|
295
289
|
}, function (props) {
|
|
296
|
-
return "\n ".concat(!props.current && !props.disabled ? "border: ".concat(props.theme.circleBorderThickness, " ").concat(props.theme.circleBorderStyle, " ").concat(props.theme.circleBorderColor, ";") : props.current ? "border: ".concat(props.theme.
|
|
290
|
+
return "\n ".concat(!props.current && !props.disabled ? "border: ".concat(props.theme.circleBorderThickness, " ").concat(props.theme.circleBorderStyle, " ").concat(props.theme.circleBorderColor, ";") : props.current ? "border: ".concat(props.theme.selectedCircleBorderThickness, " ").concat(props.theme.selectedCircleBorderStyle, " ").concat(props.theme.selectedCircleBorderColor, ";") : props.disabled ? "border: ".concat(props.theme.disabledCircleBorderThickness, " ").concat(props.theme.disabledCircleBorderStyle, " ").concat(props.theme.disabledCircleBorderColor, ";") : "", "\n background: ").concat(props.disabled ? "".concat(props.theme.disabledBackgroundColor) : props.current ? "".concat(props.theme.stepContainerSelectedBackgroundColor) : "".concat(props.theme.stepContainerBackgroundColor), ";\n ");
|
|
297
291
|
}, function (props) {
|
|
298
292
|
return props.disabled ? "color: ".concat(props.theme.disabledFontColor, ";") : "color: ".concat(props.current ? props.theme.stepContainerSelectedFontColor : props.theme.stepContainerFontColor, ";");
|
|
299
293
|
}, function (props) {
|
|
300
|
-
return !props.current && !props.disabled ? props.theme.circleBorderRadius : props.current ? props.theme.
|
|
294
|
+
return !props.current && !props.disabled ? props.theme.circleBorderRadius : props.current ? props.theme.selectedCircleBorderRadius : props.disabled ? props.theme.disabledCircleBorderRadius : "";
|
|
301
295
|
});
|
|
302
296
|
|
|
303
297
|
var Icon = _styledComponents["default"].img(_templateObject6(), function (props) {
|
|
@@ -337,7 +331,7 @@ var Number = _styledComponents["default"].p(_templateObject9(), function (props)
|
|
|
337
331
|
return props.theme.stepContainerLetterSpacing;
|
|
338
332
|
});
|
|
339
333
|
|
|
340
|
-
var
|
|
334
|
+
var ValidityIconContainer = _styledComponents["default"].div(_templateObject10());
|
|
341
335
|
|
|
342
336
|
var InfoContainer = _styledComponents["default"].div(_templateObject11());
|
|
343
337
|
|
|
@@ -354,7 +348,7 @@ var Label = _styledComponents["default"].p(_templateObject12(), function (props)
|
|
|
354
348
|
}, function (props) {
|
|
355
349
|
return props.theme.labelLetterSpacing;
|
|
356
350
|
}, function (props) {
|
|
357
|
-
return props.disabled ? "color: ".concat(props.theme.disabledFontColor, ";") : "color: ".concat(props.
|
|
351
|
+
return props.disabled ? "color: ".concat(props.theme.disabledFontColor, ";") : "color: ".concat(props.visited ? props.theme.visitedLabelFontColor : props.theme.labelFontColor, ";");
|
|
358
352
|
}, function (props) {
|
|
359
353
|
return props.theme.labelFontTextTransform;
|
|
360
354
|
});
|
|
@@ -374,7 +368,7 @@ var Description = _styledComponents["default"].p(_templateObject13(), function (
|
|
|
374
368
|
}, function (props) {
|
|
375
369
|
return props.theme.descriptionFontTextTransform;
|
|
376
370
|
}, function (props) {
|
|
377
|
-
return props.disabled ? "color: ".concat(props.theme.disabledFontColor, ";") : "color: ".concat(props.
|
|
371
|
+
return props.disabled ? "color: ".concat(props.theme.disabledFontColor, ";") : "color: ".concat(props.visited ? props.theme.visitedDescriptionFontColor : props.theme.descriptionFontColor, ";");
|
|
378
372
|
});
|
|
379
373
|
|
|
380
374
|
var StepSeparator = _styledComponents["default"].div(_templateObject14(), function (props) {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
|
+
type Margin = {
|
|
3
|
+
top?: Space;
|
|
4
|
+
bottom?: Space;
|
|
5
|
+
left?: Space;
|
|
6
|
+
right?: Space;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
type Props = {
|
|
10
|
+
mode?: "horizontal" | "vertical";
|
|
11
|
+
currentStep?: number;
|
|
12
|
+
onStepClick?: void;
|
|
13
|
+
steps?: any;
|
|
14
|
+
margin?: Space | Margin;
|
|
15
|
+
tabIndex?: number;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export default function DxcWizard(props: Props): JSX.Element;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxc-technology/halstack-react",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-4ec6fe9",
|
|
4
4
|
"description": "DXC Halstack React components library",
|
|
5
5
|
"repository": "dxc-technology/halstack-react",
|
|
6
6
|
"homepage": "http://developer.dxc.com/tools/react",
|
|
@@ -11,10 +11,11 @@
|
|
|
11
11
|
"url": "https://dxc.com"
|
|
12
12
|
},
|
|
13
13
|
"main": "./dist/main.js",
|
|
14
|
+
"types": "./dist/main.d.ts",
|
|
14
15
|
"peerDependencies": {
|
|
15
|
-
"react": "^
|
|
16
|
-
"react-dom": "^
|
|
17
|
-
"styled-components": "
|
|
16
|
+
"react": "^17.0.1",
|
|
17
|
+
"react-dom": "^17.0.1",
|
|
18
|
+
"styled-components": "^5.0.1"
|
|
18
19
|
},
|
|
19
20
|
"dependencies": {
|
|
20
21
|
"@date-io/date-fns": "^1.3.9",
|
|
@@ -28,7 +29,6 @@
|
|
|
28
29
|
"date-fns": "^2.0.0-beta.4",
|
|
29
30
|
"moment": "2.24.0",
|
|
30
31
|
"prop-types": "^15.7.2",
|
|
31
|
-
"react-use-scrollspy": "^2.0.0",
|
|
32
32
|
"rgb-hex": "^3.0.0",
|
|
33
33
|
"uuid": "^8.3.2"
|
|
34
34
|
},
|
|
@@ -70,9 +70,6 @@
|
|
|
70
70
|
"\\.(css|less|scss|sass)$": "identity-obj-proxy",
|
|
71
71
|
"\\.(svg)$": "<rootDir>/test/mocks/svgMock.js",
|
|
72
72
|
"\\.(png)$": "<rootDir>/test/mocks/pngMock.js"
|
|
73
|
-
}
|
|
74
|
-
"transformIgnorePatterns": [
|
|
75
|
-
"/node_modules/(?!react-use-scrollspy).+\\.js$"
|
|
76
|
-
]
|
|
73
|
+
}
|
|
77
74
|
}
|
|
78
75
|
}
|
package/test/Date.test.js
CHANGED
|
@@ -51,7 +51,7 @@ describe("Controlled Date Component", () => {
|
|
|
51
51
|
|
|
52
52
|
test("Calendar´s value is the same as the input´s date if it´s right (Depending on the format)", () => {
|
|
53
53
|
const { getByRole, getByText, getByTestId } = render(<DxcDate label="Birthdate" value="16-10-2020" />);
|
|
54
|
-
fireEvent.click(getByTestId(
|
|
54
|
+
fireEvent.click(getByTestId("calendarIcon"));
|
|
55
55
|
expect(getByText("Fri, Oct 16")).toBeTruthy();
|
|
56
56
|
});
|
|
57
57
|
|
|
@@ -64,7 +64,7 @@ describe("Controlled Date Component", () => {
|
|
|
64
64
|
fireEvent.change(input, { target: { value: "10-02-2020" } });
|
|
65
65
|
|
|
66
66
|
rerender(<DxcDate label="Birthdate" value="10-02-2020" />);
|
|
67
|
-
const calendarButton = getByTestId(
|
|
67
|
+
const calendarButton = getByTestId("calendarIcon");
|
|
68
68
|
fireEvent.click(calendarButton);
|
|
69
69
|
expect(getByText("Mon, Feb 10")).toBeTruthy();
|
|
70
70
|
});
|
|
@@ -152,7 +152,7 @@ describe("Controlled Date Component", () => {
|
|
|
152
152
|
const onChange = jest.fn();
|
|
153
153
|
|
|
154
154
|
const component = render(<DxcDate label="Birthdate" value="01-02-2020" onChange={onChange} />);
|
|
155
|
-
const calendarButton = component.getByTestId(
|
|
155
|
+
const calendarButton = component.getByTestId("calendarIcon");
|
|
156
156
|
fireEvent.click(calendarButton);
|
|
157
157
|
const dayButton = component.getByRole("button", { name: "10" });
|
|
158
158
|
fireEvent.click(dayButton);
|
|
@@ -166,7 +166,7 @@ describe("Controlled Date Component", () => {
|
|
|
166
166
|
});
|
|
167
167
|
|
|
168
168
|
const component = render(<DxcDate label="Birthdate" value="30-10-2020" onChange={onChange} />);
|
|
169
|
-
const calendarButton = component.getByTestId(
|
|
169
|
+
const calendarButton = component.getByTestId("calendarIcon");
|
|
170
170
|
fireEvent.click(calendarButton);
|
|
171
171
|
const dayButton = component.getByRole("button", { name: "16" });
|
|
172
172
|
fireEvent.click(dayButton);
|
|
@@ -179,7 +179,7 @@ describe("Controlled Date Component", () => {
|
|
|
179
179
|
});
|
|
180
180
|
|
|
181
181
|
const component = render(<DxcDate label="Birthdate" value="01-10-2020" onChange={onChange} />);
|
|
182
|
-
const calendarButton = component.getByTestId(
|
|
182
|
+
const calendarButton = component.getByTestId("calendarIcon");
|
|
183
183
|
fireEvent.click(calendarButton);
|
|
184
184
|
const dayButton = component.getByRole("button", { name: "16" });
|
|
185
185
|
fireEvent.click(dayButton);
|
|
@@ -192,7 +192,7 @@ describe("Controlled Date Component", () => {
|
|
|
192
192
|
});
|
|
193
193
|
|
|
194
194
|
const component = render(<DxcDate label="Birthdate" format="yyyy/MM/dd" value="2020/10/01" onChange={onChange} />);
|
|
195
|
-
const calendarButton = component.getByTestId(
|
|
195
|
+
const calendarButton = component.getByTestId("calendarIcon");
|
|
196
196
|
fireEvent.click(calendarButton);
|
|
197
197
|
const dayButton = component.getByRole("button", { name: "16" });
|
|
198
198
|
fireEvent.click(dayButton);
|
|
@@ -201,7 +201,7 @@ describe("Controlled Date Component", () => {
|
|
|
201
201
|
|
|
202
202
|
test("Check selected date on calendar is the same date as the one on the input", () => {
|
|
203
203
|
const component = render(<DxcDate label="Birthdate" value="01-10-2020" />);
|
|
204
|
-
const calendarButton = component.getByTestId(
|
|
204
|
+
const calendarButton = component.getByTestId("calendarIcon");
|
|
205
205
|
fireEvent.click(calendarButton);
|
|
206
206
|
const dayButton = component.getByRole("button", { name: "1" });
|
|
207
207
|
expect(dayButton.classList.contains("MuiPickersDay-daySelected")).toBe(true);
|
|
@@ -249,14 +249,16 @@ describe("Uncontrolled Date Component", () => {
|
|
|
249
249
|
const date = new Date("2020-10-16 00:00:00");
|
|
250
250
|
|
|
251
251
|
test("Calendar´s value is the same as the input´s date if it´s right after changing the input value", () => {
|
|
252
|
-
const { getByRole, getByText, rerender, getByPlaceholderText, getByTestId } = render(
|
|
252
|
+
const { getByRole, getByText, rerender, getByPlaceholderText, getByTestId } = render(
|
|
253
|
+
<DxcDate label="Birthdate" placeholder />
|
|
254
|
+
);
|
|
253
255
|
// const input = getByRole("textbox");
|
|
254
256
|
const input = getByPlaceholderText(defaultFormat);
|
|
255
257
|
|
|
256
258
|
fireEvent.change(input, { target: { value: "10-02-2020" } });
|
|
257
259
|
|
|
258
260
|
rerender(<DxcDate label="Birthdate" value="10-02-2020" />);
|
|
259
|
-
const calendarButton = getByTestId(
|
|
261
|
+
const calendarButton = getByTestId("calendarIcon");
|
|
260
262
|
fireEvent.click(calendarButton);
|
|
261
263
|
expect(getByText("Mon, Feb 10")).toBeTruthy();
|
|
262
264
|
});
|
|
@@ -336,7 +338,7 @@ describe("Uncontrolled Date Component", () => {
|
|
|
336
338
|
const onChange = jest.fn();
|
|
337
339
|
|
|
338
340
|
const component = render(<DxcDate label="Birthdate" onChange={onChange} />);
|
|
339
|
-
const calendarButton = component.getByTestId(
|
|
341
|
+
const calendarButton = component.getByTestId("calendarIcon");
|
|
340
342
|
fireEvent.click(calendarButton);
|
|
341
343
|
const dayButton = component.getByRole("button", { name: "10" });
|
|
342
344
|
fireEvent.click(dayButton);
|
|
@@ -350,7 +352,7 @@ describe("Uncontrolled Date Component", () => {
|
|
|
350
352
|
const input = component.getByPlaceholderText(defaultFormat);
|
|
351
353
|
|
|
352
354
|
fireEvent.change(input, { target: { value: "10-02-2020" } });
|
|
353
|
-
const calendarButton = component.getByTestId(
|
|
355
|
+
const calendarButton = component.getByTestId("calendarIcon");
|
|
354
356
|
fireEvent.click(calendarButton);
|
|
355
357
|
const dayButton = component.getByRole("button", { name: "10" });
|
|
356
358
|
expect(dayButton.classList.contains("MuiPickersDay-daySelected")).toBe(true);
|
|
@@ -2,38 +2,55 @@ import React from "react";
|
|
|
2
2
|
import { render, fireEvent } from "@testing-library/react";
|
|
3
3
|
import userEvent from "@testing-library/user-event";
|
|
4
4
|
|
|
5
|
-
import
|
|
5
|
+
import DxcDateInput from "../src/date-input/DateInput";
|
|
6
6
|
|
|
7
|
-
describe("
|
|
8
|
-
test("Renders with correct label, helper text, optional and
|
|
9
|
-
const { getByText, getByRole } = render(
|
|
10
|
-
<
|
|
7
|
+
describe("DateInput component tests", () => {
|
|
8
|
+
test("Renders with correct label, helper text, optional, placeholder and clearable action", () => {
|
|
9
|
+
const { getByText, getByRole, getAllByRole } = render(
|
|
10
|
+
<DxcDateInput label="Example label" helperText="Example of helper text" placeholder optional clearable />
|
|
11
11
|
);
|
|
12
12
|
const input = getByRole("textbox");
|
|
13
|
-
|
|
14
13
|
expect(getByText("Example label")).toBeTruthy();
|
|
15
14
|
expect(getByText("Example of helper text")).toBeTruthy();
|
|
16
15
|
expect(getByText("(Optional)")).toBeTruthy();
|
|
17
16
|
expect(input.getAttribute("placeholder")).toBe("DD-MM-YYYY");
|
|
17
|
+
userEvent.type(input, "10/10/2010");
|
|
18
|
+
const closeAction = getAllByRole("button")[0];
|
|
19
|
+
userEvent.click(closeAction);
|
|
20
|
+
expect(input.value).toBe("");
|
|
18
21
|
});
|
|
19
22
|
|
|
20
23
|
test("Renders with personalized error", () => {
|
|
21
|
-
const { getByText } = render(<
|
|
22
|
-
|
|
24
|
+
const { getByText } = render(<DxcDateInput error="Personalized error." />);
|
|
23
25
|
expect(getByText("Personalized error.")).toBeTruthy();
|
|
24
26
|
});
|
|
25
27
|
|
|
26
|
-
test("Renders with correct format: user typed date but it's invalid", () => {
|
|
27
|
-
const
|
|
28
|
+
test("Renders with correct format: user typed date but it's invalid, onBlur error", () => {
|
|
29
|
+
const onBlur = jest.fn(({ value, error }) => {
|
|
30
|
+
expect(value).toBe("10/90/2010");
|
|
31
|
+
expect(error).toBe("Invalid date.");
|
|
32
|
+
});
|
|
33
|
+
const { getByRole } = render(<DxcDateInput label="With format MM/dd/yyyy" format="MM/dd/yyyy" onBlur={onBlur} />);
|
|
28
34
|
const input = getByRole("textbox");
|
|
29
35
|
|
|
30
36
|
userEvent.type(input, "10/90/2010");
|
|
31
37
|
fireEvent.blur(input);
|
|
32
|
-
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
test("Renders with correct format: user typed date but it's invalid, onChange error", () => {
|
|
41
|
+
const onChange = jest.fn();
|
|
42
|
+
const { getByRole } = render(
|
|
43
|
+
<DxcDateInput label="With format MM/dd/yyyy" format="MM/dd/yyyy" onChange={onChange} />
|
|
44
|
+
);
|
|
45
|
+
const input = getByRole("textbox");
|
|
46
|
+
|
|
47
|
+
userEvent.type(input, "10/90/2010");
|
|
48
|
+
expect(onChange).toHaveBeenCalledTimes(10);
|
|
49
|
+
expect(onChange).toHaveBeenCalledWith({ value: "10/90/2010", error: "Invalid date.", date: null });
|
|
33
50
|
});
|
|
34
51
|
|
|
35
52
|
test("Calendar renders with correct date: today's date", () => {
|
|
36
|
-
const { getByText, getByRole } = render(<
|
|
53
|
+
const { getByText, getByRole } = render(<DxcDateInput />);
|
|
37
54
|
const calendarAction = getByRole("button");
|
|
38
55
|
const d = new Date();
|
|
39
56
|
const options = { weekday: "short", month: "short", day: "numeric" };
|
|
@@ -43,7 +60,7 @@ describe("NewDate component tests", () => {
|
|
|
43
60
|
});
|
|
44
61
|
|
|
45
62
|
test("Calendar renders with correct date: value prop", () => {
|
|
46
|
-
const { getByText, getByRole } = render(<
|
|
63
|
+
const { getByText, getByRole } = render(<DxcDateInput value="20-10-2019" />);
|
|
47
64
|
const calendarAction = getByRole("button");
|
|
48
65
|
const d = new Date(2019, 9, 20);
|
|
49
66
|
const options = { weekday: "short", month: "short", day: "numeric" };
|
|
@@ -53,7 +70,7 @@ describe("NewDate component tests", () => {
|
|
|
53
70
|
});
|
|
54
71
|
|
|
55
72
|
test("Calendar renders with correct date: user typed value", () => {
|
|
56
|
-
const { getByText, getByRole } = render(<
|
|
73
|
+
const { getByText, getByRole } = render(<DxcDateInput />);
|
|
57
74
|
const calendarAction = getByRole("button");
|
|
58
75
|
const d = new Date(2010, 0, 1);
|
|
59
76
|
const options = { weekday: "short", month: "short", day: "numeric" };
|
|
@@ -65,7 +82,8 @@ describe("NewDate component tests", () => {
|
|
|
65
82
|
});
|
|
66
83
|
|
|
67
84
|
test("Calendar renders with correct date: invalid date, renders with today's date", () => {
|
|
68
|
-
const
|
|
85
|
+
const onBlur = jest.fn();
|
|
86
|
+
const { getByText, getByRole } = render(<DxcDateInput onBlur={onBlur} />);
|
|
69
87
|
const calendarAction = getByRole("button");
|
|
70
88
|
const d = new Date();
|
|
71
89
|
const options = { weekday: "short", month: "short", day: "numeric" };
|
|
@@ -73,17 +91,18 @@ describe("NewDate component tests", () => {
|
|
|
73
91
|
|
|
74
92
|
userEvent.type(input, "01-01-xxxx");
|
|
75
93
|
fireEvent.blur(input);
|
|
76
|
-
expect(
|
|
94
|
+
expect(onBlur).toHaveBeenCalled();
|
|
95
|
+
expect(onBlur).toHaveBeenCalledWith({ value: "01-01-xxxx", error: "Invalid date.", date: null });
|
|
77
96
|
userEvent.click(calendarAction);
|
|
78
97
|
expect(getByText(d.toLocaleString("en-US", options))).toBeTruthy();
|
|
79
98
|
});
|
|
80
99
|
|
|
81
100
|
test("Selecting a date from the calendar with an specific format", () => {
|
|
82
|
-
const { getByText, getByRole } = render(<
|
|
101
|
+
const { getByText, getByRole } = render(<DxcDateInput label="With format M-dd-yyyy" format="M-dd-yyyy" />);
|
|
83
102
|
const input = getByRole("textbox");
|
|
84
103
|
const calendarAction = getByRole("button");
|
|
85
104
|
userEvent.click(calendarAction);
|
|
86
|
-
const dayButton =
|
|
105
|
+
const dayButton = getByText("10").closest("button");
|
|
87
106
|
fireEvent.click(dayButton);
|
|
88
107
|
const d = new Date();
|
|
89
108
|
d.setDate(10);
|
|
@@ -94,7 +113,7 @@ describe("NewDate component tests", () => {
|
|
|
94
113
|
});
|
|
95
114
|
|
|
96
115
|
test("Selecting a date from the calendar (using keyboard presses)", () => {
|
|
97
|
-
const { getByRole } = render(<
|
|
116
|
+
const { getByRole } = render(<DxcDateInput />);
|
|
98
117
|
const calendarAction = getByRole("button");
|
|
99
118
|
const input = getByRole("textbox");
|
|
100
119
|
|
|
@@ -111,14 +130,14 @@ describe("NewDate component tests", () => {
|
|
|
111
130
|
test("onChange & onBlur functions are called correctly", () => {
|
|
112
131
|
const onBlur = jest.fn();
|
|
113
132
|
const onChange = jest.fn();
|
|
114
|
-
const { getByRole } = render(<
|
|
133
|
+
const { getByRole } = render(<DxcDateInput onChange={onChange} onBlur={onBlur} />);
|
|
115
134
|
const input = getByRole("textbox");
|
|
116
135
|
const d = new Date(2011, 9, 10);
|
|
117
136
|
|
|
118
137
|
userEvent.type(input, "10-10-2011");
|
|
119
138
|
expect(input.value).toBe("10-10-2011");
|
|
120
139
|
expect(onChange).toHaveBeenCalledTimes(10);
|
|
121
|
-
expect(onChange).toHaveBeenCalledWith({ value: "10-10-2011", date: d });
|
|
140
|
+
expect(onChange).toHaveBeenCalledWith({ value: "10-10-2011", error: null, date: d });
|
|
122
141
|
fireEvent.blur(input);
|
|
123
142
|
expect(onBlur).toHaveBeenCalled();
|
|
124
143
|
expect(onBlur).toHaveBeenCalledWith({ value: "10-10-2011", error: null, date: d });
|
|
@@ -127,14 +146,13 @@ describe("NewDate component tests", () => {
|
|
|
127
146
|
test("onChange & onBlur functions are called correctly, also with errors", () => {
|
|
128
147
|
const onBlur = jest.fn();
|
|
129
148
|
const onChange = jest.fn();
|
|
130
|
-
const { getByRole } = render(<
|
|
149
|
+
const { getByRole } = render(<DxcDateInput onChange={onChange} onBlur={onBlur} />);
|
|
131
150
|
const input = getByRole("textbox");
|
|
132
|
-
const d = new Date(2011, 9, 10);
|
|
133
151
|
|
|
134
152
|
userEvent.type(input, "10-10-");
|
|
135
153
|
expect(input.value).toBe("10-10-");
|
|
136
154
|
expect(onChange).toHaveBeenCalledTimes(6);
|
|
137
|
-
expect(onChange).toHaveBeenCalledWith({ value: "10-10-", date: null });
|
|
155
|
+
expect(onChange).toHaveBeenCalledWith({ value: "10-10-", error: "Invalid date.", date: null });
|
|
138
156
|
fireEvent.blur(input);
|
|
139
157
|
expect(onBlur).toHaveBeenCalled();
|
|
140
158
|
expect(onBlur).toHaveBeenCalledWith({ value: "10-10-", error: "Invalid date.", date: null });
|
|
@@ -142,7 +160,7 @@ describe("NewDate component tests", () => {
|
|
|
142
160
|
|
|
143
161
|
test("onBlur function removes the error when it is fixed", () => {
|
|
144
162
|
const onBlur = jest.fn();
|
|
145
|
-
const { getByRole } = render(<
|
|
163
|
+
const { getByRole } = render(<DxcDateInput onBlur={onBlur} />);
|
|
146
164
|
const input = getByRole("textbox");
|
|
147
165
|
const d = new Date(2002, 1, 20);
|
|
148
166
|
|
|
@@ -161,7 +179,7 @@ describe("NewDate component tests", () => {
|
|
|
161
179
|
|
|
162
180
|
test("onBlur function removes the error when the input is empty", () => {
|
|
163
181
|
const onBlur = jest.fn();
|
|
164
|
-
const { getByRole } = render(<
|
|
182
|
+
const { getByRole } = render(<DxcDateInput onBlur={onBlur} optional />);
|
|
165
183
|
const input = getByRole("textbox");
|
|
166
184
|
|
|
167
185
|
userEvent.type(input, "test");
|
|
@@ -175,8 +193,32 @@ describe("NewDate component tests", () => {
|
|
|
175
193
|
expect(onBlur).toHaveBeenCalledWith({ value: "", error: null, date: null });
|
|
176
194
|
});
|
|
177
195
|
|
|
178
|
-
test("
|
|
179
|
-
const
|
|
196
|
+
test("onBlur & onChange functions error: required field (not optional)", () => {
|
|
197
|
+
const onBlur = jest.fn();
|
|
198
|
+
const onChange = jest.fn();
|
|
199
|
+
const { getByRole } = render(<DxcDateInput onBlur={onBlur} onChange={onChange} />);
|
|
200
|
+
const date = getByRole("textbox");
|
|
201
|
+
|
|
202
|
+
userEvent.type(date, "t");
|
|
203
|
+
expect(date.value).toBe("t");
|
|
204
|
+
userEvent.clear(date);
|
|
205
|
+
fireEvent.blur(date);
|
|
206
|
+
expect(onBlur).toHaveBeenCalled();
|
|
207
|
+
expect(onBlur).toHaveBeenCalledWith({
|
|
208
|
+
value: "",
|
|
209
|
+
error: "This field is required. Please, enter a value.",
|
|
210
|
+
date: null,
|
|
211
|
+
});
|
|
212
|
+
expect(onChange).toHaveBeenCalled();
|
|
213
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
214
|
+
value: "",
|
|
215
|
+
error: "This field is required. Please, enter a value.",
|
|
216
|
+
date: null,
|
|
217
|
+
});
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
test("Disabled date input (calendar action must be shown but not clickable)", () => {
|
|
221
|
+
const { getByRole, queryByText } = render(<DxcDateInput disabled />);
|
|
180
222
|
const calendarAction = getByRole("button");
|
|
181
223
|
const d = new Date();
|
|
182
224
|
const options = { weekday: "short", month: "short", day: "numeric" };
|
|
@@ -187,7 +229,7 @@ describe("NewDate component tests", () => {
|
|
|
187
229
|
});
|
|
188
230
|
|
|
189
231
|
test("Input has correct accesibility attributes", () => {
|
|
190
|
-
const { getByRole } = render(<
|
|
232
|
+
const { getByRole } = render(<DxcDateInput label="Date input label" />);
|
|
191
233
|
const input = getByRole("textbox");
|
|
192
234
|
expect(input.getAttribute("aria-autocomplete")).toBeNull();
|
|
193
235
|
expect(input.getAttribute("aria-controls")).toBeNull();
|