@dxc-technology/halstack-react 0.0.0-c7d5596 → 0.0.0-c7ec4d1
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/babel.config.js +6 -2
- package/dist/BackgroundColorContext.js +46 -0
- package/dist/ThemeContext.js +237 -2
- package/dist/V3Select/V3Select.js +549 -0
- package/dist/V3Textarea/V3Textarea.js +264 -0
- package/dist/accordion/Accordion.js +152 -67
- package/dist/accordion-group/AccordionGroup.js +186 -0
- package/dist/alert/Alert.js +183 -84
- package/dist/alert/index.d.ts +51 -0
- package/dist/badge/Badge.js +63 -0
- package/dist/box/Box.js +31 -23
- package/dist/button/Button.js +63 -27
- package/dist/card/Card.js +72 -35
- package/dist/checkbox/Checkbox.js +99 -40
- package/dist/chip/Chip.js +97 -40
- package/dist/common/RequiredComponent.js +2 -8
- package/dist/common/utils.js +2 -22
- package/dist/common/variables.js +1452 -304
- package/dist/date/Date.js +80 -57
- package/dist/date-input/DateInput.js +400 -0
- package/dist/date-input/index.d.ts +95 -0
- package/dist/dialog/Dialog.js +58 -37
- package/dist/dropdown/Dropdown.js +177 -82
- 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 +90 -40
- package/dist/footer/Icons.js +77 -0
- package/dist/header/Header.js +192 -95
- package/dist/header/Icons.js +59 -0
- package/dist/heading/Heading.js +93 -16
- package/dist/input-text/Icons.js +22 -0
- package/dist/input-text/InputText.js +251 -116
- package/dist/layout/ApplicationLayout.js +18 -26
- package/dist/layout/Icons.js +55 -0
- package/dist/link/Link.js +89 -41
- package/dist/main.d.ts +8 -0
- package/dist/main.js +98 -18
- package/dist/number-input/NumberInput.js +136 -0
- package/dist/number-input/NumberInputContext.js +16 -0
- package/dist/number-input/index.d.ts +113 -0
- package/dist/paginator/Icons.js +66 -0
- package/dist/paginator/Paginator.js +122 -66
- package/dist/password-input/PasswordInput.js +203 -0
- package/dist/password-input/index.d.ts +94 -0
- package/dist/progress-bar/ProgressBar.js +95 -38
- package/dist/radio/Radio.js +31 -17
- package/dist/resultsetTable/ResultsetTable.js +82 -65
- package/dist/select/Select.js +896 -284
- package/dist/select/index.d.ts +53 -0
- package/dist/sidenav/Sidenav.js +66 -15
- package/dist/slider/Slider.js +211 -73
- package/dist/spinner/Spinner.js +247 -59
- package/dist/switch/Switch.js +50 -27
- package/dist/table/Table.js +51 -24
- package/dist/tabs/Tabs.js +193 -35
- package/dist/tag/Tag.js +68 -35
- package/dist/text-input/TextInput.js +974 -0
- package/dist/text-input/index.d.ts +135 -0
- package/dist/textarea/Textarea.js +248 -106
- package/dist/textarea/index.d.ts +117 -0
- package/dist/toggle/Toggle.js +16 -19
- package/dist/toggle-group/ToggleGroup.js +142 -41
- package/dist/upload/Upload.js +16 -11
- package/dist/upload/buttons-upload/ButtonsUpload.js +32 -19
- package/dist/upload/buttons-upload/Icons.js +40 -0
- package/dist/upload/dragAndDropArea/DragAndDropArea.js +84 -34
- package/dist/upload/dragAndDropArea/Icons.js +39 -0
- package/dist/upload/file-upload/FileToUpload.js +64 -33
- package/dist/upload/file-upload/Icons.js +66 -0
- package/dist/upload/files-upload/FilesToUpload.js +16 -16
- package/dist/upload/transaction/Icons.js +160 -0
- package/dist/upload/transaction/Transaction.js +42 -49
- package/dist/upload/transactions/Transactions.js +38 -20
- package/dist/useTheme.js +22 -0
- package/dist/wizard/Icons.js +65 -0
- package/dist/wizard/Wizard.js +125 -60
- package/package.json +14 -11
- package/test/AccordionGroup.test.js +125 -0
- package/test/Date.test.js +49 -45
- package/test/DateInput.test.js +242 -0
- package/test/Dropdown.test.js +15 -0
- 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/InputText.test.js +53 -41
- package/test/Link.test.js +12 -2
- package/test/NumberInput.test.js +259 -0
- package/test/Paginator.test.js +50 -77
- package/test/PasswordInput.test.js +83 -0
- package/test/ResultsetTable.test.js +61 -25
- package/test/Slider.test.js +9 -17
- package/test/Spinner.test.js +5 -0
- package/test/Tabs.test.js +21 -0
- package/test/TextInput.test.js +732 -0
- package/test/Textarea.test.js +193 -0
- package/test/ToggleGroup.test.js +5 -1
- package/test/Upload.test.js +5 -5
- package/test/{Select.test.js → V3Select.test.js} +67 -46
- 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/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/common/services/example-service.js +0 -10
- package/dist/common/services/example-service.test.js +0 -12
- package/dist/date/Date.stories.js +0 -205
- package/dist/date/calendar.svg +0 -1
- package/dist/date/calendar_dark.svg +0 -1
- 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_wht.png +0 -0
- 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.png +0 -0
- package/dist/header/dxc_logo_blk_rgb.svg +0 -6
- package/dist/header/dxc_logo_white.png +0 -0
- 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/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/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 -6
- package/dist/wizard/valid_icon.svg +0 -6
- package/dist/wizard/validation-wrong.svg +0 -6
- package/test/TabsForSections.test.js +0 -34
- package/test/Toggle.test.js +0 -43
|
@@ -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
|
@@ -25,16 +25,22 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
25
25
|
|
|
26
26
|
var _variables = require("../common/variables.js");
|
|
27
27
|
|
|
28
|
-
var
|
|
28
|
+
var _useTheme = _interopRequireDefault(require("../useTheme.js"));
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var _Icons = require("./Icons");
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
function _templateObject14() {
|
|
33
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n ", "\n border: ", ";\n opacity: 1;\n flex-grow: 1;\n"]);
|
|
33
34
|
|
|
34
|
-
|
|
35
|
+
_templateObject14 = function _templateObject14() {
|
|
36
|
+
return data;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
return data;
|
|
40
|
+
}
|
|
35
41
|
|
|
36
42
|
function _templateObject13() {
|
|
37
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
43
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n text-align: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n text-transform: ", ";\n ", ";\n margin: 0;\n"]);
|
|
38
44
|
|
|
39
45
|
_templateObject13 = function _templateObject13() {
|
|
40
46
|
return data;
|
|
@@ -44,7 +50,7 @@ function _templateObject13() {
|
|
|
44
50
|
}
|
|
45
51
|
|
|
46
52
|
function _templateObject12() {
|
|
47
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n text-align:
|
|
53
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n text-align: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n ", ";\n text-transform: ", ";\n margin: 0;\n"]);
|
|
48
54
|
|
|
49
55
|
_templateObject12 = function _templateObject12() {
|
|
50
56
|
return data;
|
|
@@ -54,7 +60,7 @@ function _templateObject12() {
|
|
|
54
60
|
}
|
|
55
61
|
|
|
56
62
|
function _templateObject11() {
|
|
57
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
63
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: 12px;\n"]);
|
|
58
64
|
|
|
59
65
|
_templateObject11 = function _templateObject11() {
|
|
60
66
|
return data;
|
|
@@ -64,7 +70,7 @@ function _templateObject11() {
|
|
|
64
70
|
}
|
|
65
71
|
|
|
66
72
|
function _templateObject10() {
|
|
67
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
73
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 18px;\n height: 18px;\n position: absolute;\n top: 22.5px;\n left: 22.5px;\n"]);
|
|
68
74
|
|
|
69
75
|
_templateObject10 = function _templateObject10() {
|
|
70
76
|
return data;
|
|
@@ -74,7 +80,7 @@ function _templateObject10() {
|
|
|
74
80
|
}
|
|
75
81
|
|
|
76
82
|
function _templateObject9() {
|
|
77
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
83
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n opacity: 1;\n margin: 0px 0px 0px 1px;\n"]);
|
|
78
84
|
|
|
79
85
|
_templateObject9 = function _templateObject9() {
|
|
80
86
|
return data;
|
|
@@ -84,7 +90,7 @@ function _templateObject9() {
|
|
|
84
90
|
}
|
|
85
91
|
|
|
86
92
|
function _templateObject8() {
|
|
87
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
93
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n mask: url(", ") no-repeat center;\n mask-size: ", ";\n height: ", ";\n width: ", ";\n"]);
|
|
88
94
|
|
|
89
95
|
_templateObject8 = function _templateObject8() {
|
|
90
96
|
return data;
|
|
@@ -94,7 +100,7 @@ function _templateObject8() {
|
|
|
94
100
|
}
|
|
95
101
|
|
|
96
102
|
function _templateObject7() {
|
|
97
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n width:
|
|
103
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n overflow: hidden;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
|
|
98
104
|
|
|
99
105
|
_templateObject7 = function _templateObject7() {
|
|
100
106
|
return data;
|
|
@@ -104,7 +110,7 @@ function _templateObject7() {
|
|
|
104
110
|
}
|
|
105
111
|
|
|
106
112
|
function _templateObject6() {
|
|
107
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n width:
|
|
113
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n"]);
|
|
108
114
|
|
|
109
115
|
_templateObject6 = function _templateObject6() {
|
|
110
116
|
return data;
|
|
@@ -114,7 +120,7 @@ function _templateObject6() {
|
|
|
114
120
|
}
|
|
115
121
|
|
|
116
122
|
function _templateObject5() {
|
|
117
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n
|
|
123
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n\n ", "\n ", ";\n\n border-radius: ", ";\n display: flex;\n justify-content: center;\n align-items: center;\n"]);
|
|
118
124
|
|
|
119
125
|
_templateObject5 = function _templateObject5() {
|
|
120
126
|
return data;
|
|
@@ -124,7 +130,7 @@ function _templateObject5() {
|
|
|
124
130
|
}
|
|
125
131
|
|
|
126
132
|
function _templateObject4() {
|
|
127
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n display: inline-flex;\n padding-bottom:
|
|
133
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n display: inline-flex;\n padding-bottom: 4px;\n"]);
|
|
128
134
|
|
|
129
135
|
_templateObject4 = function _templateObject4() {
|
|
130
136
|
return data;
|
|
@@ -134,7 +140,7 @@ function _templateObject4() {
|
|
|
134
140
|
}
|
|
135
141
|
|
|
136
142
|
function _templateObject3() {
|
|
137
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n border: none;\n background: inherit;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n margin: ", ";\n\n padding: 0px;\n ", ";\n\n &:
|
|
143
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n border: none;\n background: inherit;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n margin: ", ";\n\n padding: 0px;\n ", ";\n\n &:hover {\n ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n"]);
|
|
138
144
|
|
|
139
145
|
_templateObject3 = function _templateObject3() {
|
|
140
146
|
return data;
|
|
@@ -154,7 +160,7 @@ function _templateObject2() {
|
|
|
154
160
|
}
|
|
155
161
|
|
|
156
162
|
function _templateObject() {
|
|
157
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: ", ";\n justify-content: \"center\";\n ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"]);
|
|
163
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: ", ";\n justify-content: \"center\";\n ", ";\n font-family: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"]);
|
|
158
164
|
|
|
159
165
|
_templateObject = function _templateObject() {
|
|
160
166
|
return data;
|
|
@@ -169,18 +175,17 @@ var DxcWizard = function DxcWizard(_ref) {
|
|
|
169
175
|
currentStep = _ref.currentStep,
|
|
170
176
|
onStepClick = _ref.onStepClick,
|
|
171
177
|
steps = _ref.steps,
|
|
172
|
-
margin = _ref.margin
|
|
178
|
+
margin = _ref.margin,
|
|
179
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
180
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
173
181
|
|
|
174
|
-
var
|
|
175
|
-
|
|
176
|
-
innerCurrent =
|
|
177
|
-
setInnerCurrentStep =
|
|
182
|
+
var _useState = (0, _react.useState)(currentStep || 0),
|
|
183
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
184
|
+
innerCurrent = _useState2[0],
|
|
185
|
+
setInnerCurrentStep = _useState2[1];
|
|
178
186
|
|
|
179
187
|
var renderedCurrent = currentStep == null ? innerCurrent : currentStep;
|
|
180
|
-
var
|
|
181
|
-
var colorsTheme = (0, _react.useMemo)(function () {
|
|
182
|
-
return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
|
|
183
|
-
}, [customTheme]);
|
|
188
|
+
var colorsTheme = (0, _useTheme["default"])();
|
|
184
189
|
|
|
185
190
|
var handleStepClick = function handleStepClick(newValue) {
|
|
186
191
|
if (currentStep == null) {
|
|
@@ -193,7 +198,7 @@ var DxcWizard = function DxcWizard(_ref) {
|
|
|
193
198
|
};
|
|
194
199
|
|
|
195
200
|
return _react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
196
|
-
theme: colorsTheme
|
|
201
|
+
theme: colorsTheme.wizard
|
|
197
202
|
}, _react["default"].createElement(StepsContainer, {
|
|
198
203
|
mode: mode,
|
|
199
204
|
margin: margin
|
|
@@ -203,11 +208,11 @@ var DxcWizard = function DxcWizard(_ref) {
|
|
|
203
208
|
mode: mode,
|
|
204
209
|
lastStep: i === steps.length - 1
|
|
205
210
|
}, _react["default"].createElement(Step, {
|
|
211
|
+
tabIndex: tabIndex,
|
|
206
212
|
onClick: function onClick() {
|
|
207
213
|
return handleStepClick(i);
|
|
208
214
|
},
|
|
209
215
|
mode: mode,
|
|
210
|
-
disable: step.disabled,
|
|
211
216
|
disabled: step.disabled,
|
|
212
217
|
first: i === 0,
|
|
213
218
|
last: i === steps.length - 1
|
|
@@ -215,21 +220,23 @@ var DxcWizard = function DxcWizard(_ref) {
|
|
|
215
220
|
current: i === renderedCurrent,
|
|
216
221
|
visited: i < renderedCurrent,
|
|
217
222
|
disabled: step.disabled
|
|
218
|
-
}, step.icon ? _react["default"].createElement(StepIconContainer,
|
|
223
|
+
}, step.icon ? _react["default"].createElement(StepIconContainer, {
|
|
224
|
+
disabled: step.disabled
|
|
225
|
+
}, (0, _typeof2["default"])(step.icon) === "object" ? step.icon.type === "img" ? _react["default"].createElement(ImgContainer, {
|
|
226
|
+
current: i === renderedCurrent,
|
|
227
|
+
img: step.icon.props.src
|
|
228
|
+
}) : step.icon : _react["default"].createElement(step.icon)) : step.iconSrc ? _react["default"].createElement(Icon, {
|
|
219
229
|
src: step.iconSrc
|
|
220
230
|
}) : _react["default"].createElement(Number, {
|
|
221
231
|
disabled: step.disabled,
|
|
222
232
|
current: i === renderedCurrent
|
|
223
|
-
}, i + 1)), step.valid !== undefined ? step.valid ? _react["default"].createElement(
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
}, step.label ? _react["default"].createElement(Label, {
|
|
231
|
-
disable: step.disabled
|
|
232
|
-
}, step.label) : "", step.description ? _react["default"].createElement(Description, null, step.description) : "") : ""), i === steps.length - 1 ? "" : _react["default"].createElement(StepSeparator, {
|
|
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, {
|
|
234
|
+
disabled: step.disabled,
|
|
235
|
+
visited: i <= innerCurrent
|
|
236
|
+
}, step.label) : "", step.description ? _react["default"].createElement(Description, {
|
|
237
|
+
disabled: step.disabled,
|
|
238
|
+
visited: i <= innerCurrent
|
|
239
|
+
}, step.description) : "") : ""), i === steps.length - 1 ? "" : _react["default"].createElement(StepSeparator, {
|
|
233
240
|
mode: mode
|
|
234
241
|
}));
|
|
235
242
|
})));
|
|
@@ -239,6 +246,8 @@ var StepsContainer = _styledComponents["default"].div(_templateObject(), functio
|
|
|
239
246
|
return props.mode === "vertical" ? "column" : "row";
|
|
240
247
|
}, function (props) {
|
|
241
248
|
return props.mode === "vertical" ? "height: 500px" : "width: 100%";
|
|
249
|
+
}, function (props) {
|
|
250
|
+
return props.theme.fontFamily;
|
|
242
251
|
}, function (props) {
|
|
243
252
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
244
253
|
}, function (props) {
|
|
@@ -262,59 +271,114 @@ var StepContainer = _styledComponents["default"].div(_templateObject2(), functio
|
|
|
262
271
|
});
|
|
263
272
|
|
|
264
273
|
var Step = _styledComponents["default"].button(_templateObject3(), function (props) {
|
|
265
|
-
return props.first ? props.mode === "vertical" ? "0 0
|
|
274
|
+
return props.first ? props.mode === "vertical" ? "0 0 24px 0" : "0 24px 0 0" : props.last ? props.mode === "vertical" ? "24px 0 0 0" : "0 0 0 24px" : props.mode === "vertical" ? "24px 0" : "0 24px";
|
|
266
275
|
}, function (props) {
|
|
267
276
|
return props.disabled ? "cursor: not-allowed" : "";
|
|
268
277
|
}, function (props) {
|
|
269
278
|
return props.disabled ? "" : "cursor: pointer";
|
|
279
|
+
}, function (props) {
|
|
280
|
+
return props.theme.focusColor;
|
|
270
281
|
});
|
|
271
282
|
|
|
272
283
|
var StepHeader = _styledComponents["default"].div(_templateObject4());
|
|
273
284
|
|
|
274
285
|
var IconContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
|
|
275
|
-
return
|
|
286
|
+
return props.disabled ? props.theme.disabledCircleWidth : props.current ? props.theme.selectedCircleWidth : props.theme.circleWidth;
|
|
276
287
|
}, function (props) {
|
|
277
|
-
return
|
|
288
|
+
return props.disabled ? props.theme.disabledCircleHeight : props.current ? props.theme.selectedCircleHeight : props.theme.circleHeight;
|
|
278
289
|
}, function (props) {
|
|
279
|
-
return !props.current && !props.disabled ? "border:
|
|
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 ");
|
|
280
291
|
}, function (props) {
|
|
281
|
-
return props.disabled ? "
|
|
292
|
+
return props.disabled ? "color: ".concat(props.theme.disabledFontColor, ";") : "color: ".concat(props.current ? props.theme.stepContainerSelectedFontColor : props.theme.stepContainerFontColor, ";");
|
|
282
293
|
}, function (props) {
|
|
283
|
-
return props.current ?
|
|
294
|
+
return !props.current && !props.disabled ? props.theme.circleBorderRadius : props.current ? props.theme.selectedCircleBorderRadius : props.disabled ? props.theme.disabledCircleBorderRadius : "";
|
|
295
|
+
});
|
|
296
|
+
|
|
297
|
+
var Icon = _styledComponents["default"].img(_templateObject6(), function (props) {
|
|
298
|
+
return props.theme.stepContainerIconSize;
|
|
284
299
|
}, function (props) {
|
|
285
|
-
return props.
|
|
300
|
+
return props.theme.stepContainerIconSize;
|
|
286
301
|
});
|
|
287
302
|
|
|
288
|
-
var
|
|
303
|
+
var StepIconContainer = _styledComponents["default"].div(_templateObject7(), function (props) {
|
|
304
|
+
return props.theme.stepContainerIconSize;
|
|
305
|
+
}, function (props) {
|
|
306
|
+
return props.theme.stepContainerIconSize;
|
|
307
|
+
});
|
|
289
308
|
|
|
290
|
-
var
|
|
309
|
+
var ImgContainer = _styledComponents["default"].div(_templateObject8(), function (props) {
|
|
310
|
+
return props.current ? props.theme.stepContainerSelectedFontColor : props.theme.stepContainerFontColor;
|
|
311
|
+
}, function (_ref2) {
|
|
312
|
+
var img = _ref2.img;
|
|
313
|
+
return img;
|
|
314
|
+
}, function (props) {
|
|
315
|
+
return "".concat(props.theme.stepContainerIconSize, " ").concat(props.theme.stepContainerIconSize);
|
|
316
|
+
}, function (props) {
|
|
317
|
+
return props.theme.stepContainerIconSize;
|
|
318
|
+
}, function (props) {
|
|
319
|
+
return props.theme.stepContainerIconSize;
|
|
320
|
+
});
|
|
291
321
|
|
|
292
|
-
var Number = _styledComponents["default"].p(
|
|
293
|
-
return props.theme.
|
|
322
|
+
var Number = _styledComponents["default"].p(_templateObject9(), function (props) {
|
|
323
|
+
return props.theme.stepContainerFontSize;
|
|
324
|
+
}, function (props) {
|
|
325
|
+
return props.theme.stepContainerFontFamily;
|
|
326
|
+
}, function (props) {
|
|
327
|
+
return props.theme.stepContainerFontStyle;
|
|
328
|
+
}, function (props) {
|
|
329
|
+
return props.theme.stepContainerFontWeight;
|
|
330
|
+
}, function (props) {
|
|
331
|
+
return props.theme.stepContainerLetterSpacing;
|
|
294
332
|
});
|
|
295
333
|
|
|
296
|
-
var
|
|
334
|
+
var ValidityIconContainer = _styledComponents["default"].div(_templateObject10());
|
|
297
335
|
|
|
298
|
-
var InfoContainer = _styledComponents["default"].div(
|
|
299
|
-
|
|
336
|
+
var InfoContainer = _styledComponents["default"].div(_templateObject11());
|
|
337
|
+
|
|
338
|
+
var Label = _styledComponents["default"].p(_templateObject12(), function (props) {
|
|
339
|
+
return props.theme.labelTextAlign;
|
|
340
|
+
}, function (props) {
|
|
341
|
+
return props.theme.labelFontFamily;
|
|
342
|
+
}, function (props) {
|
|
343
|
+
return props.theme.labelFontSize;
|
|
344
|
+
}, function (props) {
|
|
345
|
+
return props.theme.labelFontStyle;
|
|
346
|
+
}, function (props) {
|
|
347
|
+
return props.theme.labelFontWeight;
|
|
300
348
|
}, function (props) {
|
|
301
|
-
return
|
|
349
|
+
return props.theme.labelLetterSpacing;
|
|
350
|
+
}, function (props) {
|
|
351
|
+
return props.disabled ? "color: ".concat(props.theme.disabledFontColor, ";") : "color: ".concat(props.visited ? props.theme.visitedLabelFontColor : props.theme.labelFontColor, ";");
|
|
352
|
+
}, function (props) {
|
|
353
|
+
return props.theme.labelFontTextTransform;
|
|
302
354
|
});
|
|
303
355
|
|
|
304
|
-
var
|
|
305
|
-
return props.
|
|
356
|
+
var Description = _styledComponents["default"].p(_templateObject13(), function (props) {
|
|
357
|
+
return props.theme.descriptionTextAlign;
|
|
358
|
+
}, function (props) {
|
|
359
|
+
return props.theme.descriptionFontFamily;
|
|
360
|
+
}, function (props) {
|
|
361
|
+
return props.theme.descriptionFontSize;
|
|
362
|
+
}, function (props) {
|
|
363
|
+
return props.theme.descriptionFontStyle;
|
|
364
|
+
}, function (props) {
|
|
365
|
+
return props.theme.descriptionFontWeight;
|
|
366
|
+
}, function (props) {
|
|
367
|
+
return props.theme.descriptionLetterSpacing;
|
|
368
|
+
}, function (props) {
|
|
369
|
+
return props.theme.descriptionFontTextTransform;
|
|
370
|
+
}, function (props) {
|
|
371
|
+
return props.disabled ? "color: ".concat(props.theme.disabledFontColor, ";") : "color: ".concat(props.visited ? props.theme.visitedDescriptionFontColor : props.theme.descriptionFontColor, ";");
|
|
306
372
|
});
|
|
307
373
|
|
|
308
|
-
var
|
|
309
|
-
|
|
310
|
-
var StepSeparator = _styledComponents["default"].div(_templateObject13(), function (props) {
|
|
374
|
+
var StepSeparator = _styledComponents["default"].div(_templateObject14(), function (props) {
|
|
311
375
|
return props.mode === "horizontal" ? "" : "0";
|
|
312
376
|
}, function (props) {
|
|
313
377
|
return props.mode === "horizontal" ? "0" : "";
|
|
314
378
|
}, function (props) {
|
|
315
379
|
return props.mode === "vertical" ? "margin: 0 18px;" : "";
|
|
316
380
|
}, function (props) {
|
|
317
|
-
return "
|
|
381
|
+
return "".concat(props.theme.separatorBorderStyle, " ").concat(props.theme.separatorBorderThickness, " ").concat(props.theme.separatorColor);
|
|
318
382
|
});
|
|
319
383
|
|
|
320
384
|
DxcWizard.propTypes = {
|
|
@@ -334,7 +398,8 @@ DxcWizard.propTypes = {
|
|
|
334
398
|
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
335
399
|
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
336
400
|
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
337
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
|
|
401
|
+
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
|
|
402
|
+
tabIndex: _propTypes["default"].number
|
|
338
403
|
};
|
|
339
404
|
var _default = DxcWizard;
|
|
340
405
|
exports["default"] = _default;
|
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-c7ec4d1",
|
|
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,22 +11,26 @@
|
|
|
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",
|
|
21
|
-
"@material-ui/core": "4.
|
|
22
|
+
"@material-ui/core": "4.11.1",
|
|
22
23
|
"@material-ui/icons": "4.4.3",
|
|
23
24
|
"@material-ui/lab": "4.0.0-alpha.17",
|
|
24
25
|
"@material-ui/pickers": "3.2.2",
|
|
25
26
|
"@material-ui/styles": "4.0.2",
|
|
27
|
+
"@testing-library/user-event": "^12.6.3",
|
|
28
|
+
"color": "^3.1.3",
|
|
26
29
|
"date-fns": "^2.0.0-beta.4",
|
|
27
30
|
"moment": "2.24.0",
|
|
28
31
|
"prop-types": "^15.7.2",
|
|
29
|
-
"
|
|
32
|
+
"rgb-hex": "^3.0.0",
|
|
33
|
+
"uuid": "^8.3.2"
|
|
30
34
|
},
|
|
31
35
|
"scripts": {
|
|
32
36
|
"test": "jest",
|
|
@@ -38,10 +42,12 @@
|
|
|
38
42
|
"@babel/cli": "^7.6.2",
|
|
39
43
|
"@babel/core": "^7.6.2",
|
|
40
44
|
"@babel/plugin-proposal-class-properties": "^7.5.5",
|
|
45
|
+
"@babel/plugin-proposal-nullish-coalescing-operator": "7.13.8",
|
|
46
|
+
"@babel/plugin-proposal-optional-chaining": "7.13.8",
|
|
41
47
|
"@babel/plugin-transform-runtime": "^7.10.1",
|
|
42
48
|
"@babel/preset-env": "^7.6.2",
|
|
43
49
|
"@babel/preset-react": "^7.0.0",
|
|
44
|
-
"@testing-library/react": "^
|
|
50
|
+
"@testing-library/react": "^11.2.5",
|
|
45
51
|
"babel-jest": "^24.8.0",
|
|
46
52
|
"babel-loader": "^8.0.6",
|
|
47
53
|
"eslint": "^5.16.0",
|
|
@@ -64,9 +70,6 @@
|
|
|
64
70
|
"\\.(css|less|scss|sass)$": "identity-obj-proxy",
|
|
65
71
|
"\\.(svg)$": "<rootDir>/test/mocks/svgMock.js",
|
|
66
72
|
"\\.(png)$": "<rootDir>/test/mocks/pngMock.js"
|
|
67
|
-
}
|
|
68
|
-
"transformIgnorePatterns": [
|
|
69
|
-
"/node_modules/(?!react-use-scrollspy).+\\.js$"
|
|
70
|
-
]
|
|
73
|
+
}
|
|
71
74
|
}
|
|
72
75
|
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { render, fireEvent } from "@testing-library/react";
|
|
3
|
+
import DxcAccordionGroup from "../src/accordion-group/AccordionGroup";
|
|
4
|
+
|
|
5
|
+
describe("Accordion component tests", () => {
|
|
6
|
+
test("Uncontrolled accordion group renders with children", () => {
|
|
7
|
+
const { getByText, getAllByRole } = render(
|
|
8
|
+
<DxcAccordionGroup>
|
|
9
|
+
<DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
|
|
10
|
+
<div>
|
|
11
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
|
|
12
|
+
leo lobortis eget.
|
|
13
|
+
</div>
|
|
14
|
+
</DxcAccordionGroup.Accordion>
|
|
15
|
+
<DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
|
|
16
|
+
<div>
|
|
17
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
|
|
18
|
+
leo lobortis eget.
|
|
19
|
+
</div>
|
|
20
|
+
</DxcAccordionGroup.Accordion>
|
|
21
|
+
</DxcAccordionGroup>
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
expect(getByText("Accordion1")).toBeTruthy();
|
|
25
|
+
expect(getByText("Accordion2")).toBeTruthy();
|
|
26
|
+
expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
|
|
27
|
+
expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
test("Uncontrolled accordion group renders with only one children", () => {
|
|
31
|
+
const { getByText, getAllByRole } = render(
|
|
32
|
+
<DxcAccordionGroup>
|
|
33
|
+
<DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
|
|
34
|
+
<div>
|
|
35
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
|
|
36
|
+
leo lobortis eget.
|
|
37
|
+
</div>
|
|
38
|
+
</DxcAccordionGroup.Accordion>
|
|
39
|
+
</DxcAccordionGroup>
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
expect(getByText("Accordion1")).toBeTruthy();
|
|
43
|
+
expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
test("Uncontrolled accordion group calls correct function on click", () => {
|
|
47
|
+
const onActiveChange = jest.fn();
|
|
48
|
+
const { getByText, getAllByRole } = render(
|
|
49
|
+
<DxcAccordionGroup margin="large" onActiveChange={onActiveChange}>
|
|
50
|
+
<DxcAccordionGroup.Accordion label="Accordion1" padding="medium" margin="large">
|
|
51
|
+
<div>
|
|
52
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
|
|
53
|
+
leo lobortis eget.
|
|
54
|
+
</div>
|
|
55
|
+
</DxcAccordionGroup.Accordion>
|
|
56
|
+
<DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
|
|
57
|
+
<div>
|
|
58
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
|
|
59
|
+
leo lobortis eget.
|
|
60
|
+
</div>
|
|
61
|
+
</DxcAccordionGroup.Accordion>
|
|
62
|
+
</DxcAccordionGroup>
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
|
|
66
|
+
expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
|
|
67
|
+
fireEvent.click(getByText("Accordion1"));
|
|
68
|
+
expect(onActiveChange).toHaveBeenCalled();
|
|
69
|
+
expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("true");
|
|
70
|
+
expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
test("Controlled accordion with indexActive change", () => {
|
|
74
|
+
const onActiveChange = jest.fn();
|
|
75
|
+
const { getByText, getAllByRole, rerender } = render(
|
|
76
|
+
<DxcAccordionGroup margin="large" indexActive={1} onActiveChange={onActiveChange}>
|
|
77
|
+
<DxcAccordionGroup.Accordion label="Accordion1" padding="medium" margin="large">
|
|
78
|
+
<div>Text1</div>
|
|
79
|
+
</DxcAccordionGroup.Accordion>
|
|
80
|
+
<DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
|
|
81
|
+
<div>Text2</div>
|
|
82
|
+
</DxcAccordionGroup.Accordion>
|
|
83
|
+
</DxcAccordionGroup>
|
|
84
|
+
);
|
|
85
|
+
expect(getByText("Text1")).toBeTruthy();
|
|
86
|
+
expect(getByText("Text2")).toBeTruthy();
|
|
87
|
+
fireEvent.click(getByText("Accordion1"));
|
|
88
|
+
fireEvent.click(getByText("Accordion2"));
|
|
89
|
+
expect(onActiveChange.mock.calls[0][0]).toBe(0);
|
|
90
|
+
expect(onActiveChange.mock.calls[1][0]).toBe(1);
|
|
91
|
+
expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
|
|
92
|
+
expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("true");
|
|
93
|
+
|
|
94
|
+
rerender(
|
|
95
|
+
<DxcAccordionGroup margin="large" indexActive={0} onActiveChange={onActiveChange}>
|
|
96
|
+
<DxcAccordionGroup.Accordion label="Accordion1" padding="medium" margin="large">
|
|
97
|
+
<div>Text1</div>
|
|
98
|
+
</DxcAccordionGroup.Accordion>
|
|
99
|
+
<DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
|
|
100
|
+
<div>Text2</div>
|
|
101
|
+
</DxcAccordionGroup.Accordion>
|
|
102
|
+
</DxcAccordionGroup>
|
|
103
|
+
);
|
|
104
|
+
|
|
105
|
+
expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("true");
|
|
106
|
+
expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
test("Disabled uncontrolled accordion group", () => {
|
|
110
|
+
const onActiveChange = jest.fn();
|
|
111
|
+
const { getByText } = render(
|
|
112
|
+
<DxcAccordionGroup margin="large" onActiveChange={onActiveChange} disabled={true}>
|
|
113
|
+
<DxcAccordionGroup.Accordion label="Accordion1" padding="medium" margin="large">
|
|
114
|
+
<div>Text1</div>
|
|
115
|
+
</DxcAccordionGroup.Accordion>
|
|
116
|
+
<DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
|
|
117
|
+
<div>Text2</div>
|
|
118
|
+
</DxcAccordionGroup.Accordion>
|
|
119
|
+
</DxcAccordionGroup>
|
|
120
|
+
);
|
|
121
|
+
fireEvent.click(getByText("Accordion1"));
|
|
122
|
+
fireEvent.click(getByText("Accordion2"));
|
|
123
|
+
expect(onActiveChange).toHaveBeenCalledTimes(0);
|
|
124
|
+
});
|
|
125
|
+
});
|