@dxc-technology/halstack-react 0.0.0-5168fa4 → 0.0.0-51a5c42
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 +235 -2
- package/dist/V3Textarea/V3Textarea.js +264 -0
- package/dist/accordion/Accordion.js +170 -81
- package/dist/accordion-group/AccordionGroup.js +186 -0
- package/dist/alert/Alert.js +184 -83
- 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 +82 -27
- package/dist/card/Card.js +64 -56
- package/dist/checkbox/Checkbox.js +108 -32
- package/dist/chip/Chip.js +135 -40
- package/dist/common/RequiredComponent.js +2 -8
- package/dist/common/utils.js +2 -22
- package/dist/common/variables.js +1471 -134
- package/dist/date/Date.js +97 -62
- package/dist/date-input/DateInput.js +400 -0
- package/dist/date-input/index.d.ts +95 -0
- package/dist/dialog/Dialog.js +61 -36
- package/dist/dropdown/Dropdown.js +226 -94
- package/dist/file-input/FileInput.js +644 -0
- package/dist/file-input/FileItem.js +280 -0
- package/dist/file-input/index.d.ts +81 -0
- package/dist/footer/Footer.js +90 -36
- package/dist/footer/dxc_logo.svg +15 -0
- package/dist/footer/readme.md +1 -1
- package/dist/header/Header.js +173 -89
- package/dist/header/Icons.js +59 -0
- package/dist/heading/Heading.js +81 -22
- package/dist/input-text/InputText.js +292 -104
- package/dist/layout/ApplicationLayout.js +331 -0
- package/dist/layout/facebook.svg +45 -0
- package/dist/layout/linkedin.svg +50 -0
- package/dist/layout/twitter.svg +53 -0
- package/dist/link/Link.js +142 -34
- package/dist/main.d.ts +8 -0
- package/dist/main.js +111 -7
- package/dist/new-select/NewSelect.js +836 -0
- package/dist/new-select/index.d.ts +53 -0
- 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/Paginator.js +160 -49
- package/dist/password-input/PasswordInput.js +198 -0
- package/dist/password-input/index.d.ts +94 -0
- package/dist/progress-bar/ProgressBar.js +97 -44
- package/dist/radio/Radio.js +39 -21
- package/dist/resultsetTable/ResultsetTable.js +93 -69
- package/dist/select/Select.js +250 -143
- package/dist/sidenav/Sidenav.js +87 -125
- package/dist/slider/Slider.js +206 -70
- package/dist/spinner/Spinner.js +249 -64
- package/dist/switch/Switch.js +52 -25
- package/dist/table/Table.js +63 -15
- package/dist/tabs/Tabs.js +208 -35
- package/dist/tabs-for-sections/TabsForSections.js +1 -16
- package/dist/tag/Tag.js +100 -35
- package/dist/text-input/TextInput.js +971 -0
- package/dist/text-input/index.d.ts +135 -0
- package/dist/textarea/Textarea.js +250 -107
- package/dist/textarea/index.d.ts +117 -0
- package/dist/toggle/Toggle.js +16 -19
- package/dist/toggle-group/ToggleGroup.js +327 -0
- package/dist/upload/Upload.js +16 -11
- package/dist/upload/buttons-upload/ButtonsUpload.js +34 -20
- package/dist/upload/dragAndDropArea/DragAndDropArea.js +78 -31
- package/dist/upload/file-upload/FileToUpload.js +50 -24
- package/dist/upload/files-upload/FilesToUpload.js +16 -16
- package/dist/upload/readme.md +2 -2
- package/dist/upload/transaction/Transaction.js +44 -24
- package/dist/upload/transactions/Transactions.js +38 -20
- package/dist/useTheme.js +22 -0
- package/dist/wizard/Wizard.js +156 -55
- package/dist/wizard/invalid_icon.svg +4 -5
- package/dist/wizard/valid_icon.svg +4 -5
- package/package.json +14 -6
- 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 +19 -4
- package/test/FileInput.test.js +201 -0
- package/test/Header.test.js +5 -10
- package/test/InputText.test.js +53 -41
- package/test/Link.test.js +25 -7
- package/test/NumberInput.test.js +259 -0
- package/test/Paginator.test.js +72 -60
- package/test/PasswordInput.test.js +83 -0
- package/test/ResultsetTable.test.js +66 -19
- package/test/Select.test.js +55 -34
- package/test/Sidenav.test.js +22 -64
- package/test/Slider.test.js +17 -0
- 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 +85 -0
- package/test/Upload.test.js +5 -5
- 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/common/services/example-service.js +0 -10
- package/dist/common/services/example-service.test.js +0 -12
- package/dist/date/calendar.svg +0 -1
- package/dist/date/calendar_dark.svg +0 -1
- 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/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_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/select/Select.stories.js +0 -235
- package/dist/select/readme.md +0 -72
- package/dist/sidenav/arrow_icon.svg +0 -3
- package/dist/slider/Slider.stories.js +0 -241
- package/test/Toggle.test.js +0 -43
package/dist/wizard/Wizard.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
|
|
3
5
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
6
|
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -9,26 +11,48 @@ exports["default"] = void 0;
|
|
|
9
11
|
|
|
10
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
13
|
|
|
12
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
-
|
|
14
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
15
|
|
|
16
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
17
|
+
|
|
16
18
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
19
|
|
|
18
|
-
var _react =
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
21
|
|
|
20
|
-
var _styledComponents =
|
|
22
|
+
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
23
|
|
|
22
24
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
23
25
|
|
|
24
26
|
var _variables = require("../common/variables.js");
|
|
25
27
|
|
|
28
|
+
var _useTheme = _interopRequireDefault(require("../useTheme.js"));
|
|
29
|
+
|
|
26
30
|
var _valid_icon = _interopRequireDefault(require("./valid_icon.svg"));
|
|
27
31
|
|
|
28
32
|
var _invalid_icon = _interopRequireDefault(require("./invalid_icon.svg"));
|
|
29
33
|
|
|
34
|
+
function _templateObject14() {
|
|
35
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n ", "\n border: ", ";\n opacity: 1;\n flex-grow: 1;\n"]);
|
|
36
|
+
|
|
37
|
+
_templateObject14 = function _templateObject14() {
|
|
38
|
+
return data;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
return data;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function _templateObject13() {
|
|
45
|
+
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"]);
|
|
46
|
+
|
|
47
|
+
_templateObject13 = function _templateObject13() {
|
|
48
|
+
return data;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
return data;
|
|
52
|
+
}
|
|
53
|
+
|
|
30
54
|
function _templateObject12() {
|
|
31
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
55
|
+
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"]);
|
|
32
56
|
|
|
33
57
|
_templateObject12 = function _templateObject12() {
|
|
34
58
|
return data;
|
|
@@ -38,7 +62,7 @@ function _templateObject12() {
|
|
|
38
62
|
}
|
|
39
63
|
|
|
40
64
|
function _templateObject11() {
|
|
41
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
65
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: 12px;\n"]);
|
|
42
66
|
|
|
43
67
|
_templateObject11 = function _templateObject11() {
|
|
44
68
|
return data;
|
|
@@ -48,7 +72,7 @@ function _templateObject11() {
|
|
|
48
72
|
}
|
|
49
73
|
|
|
50
74
|
function _templateObject10() {
|
|
51
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
75
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 18px;\n height: 18px;\n position: absolute;\n top: 22.5px;\n left: 22.5px;\n"]);
|
|
52
76
|
|
|
53
77
|
_templateObject10 = function _templateObject10() {
|
|
54
78
|
return data;
|
|
@@ -58,7 +82,7 @@ function _templateObject10() {
|
|
|
58
82
|
}
|
|
59
83
|
|
|
60
84
|
function _templateObject9() {
|
|
61
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
85
|
+
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"]);
|
|
62
86
|
|
|
63
87
|
_templateObject9 = function _templateObject9() {
|
|
64
88
|
return data;
|
|
@@ -68,7 +92,7 @@ function _templateObject9() {
|
|
|
68
92
|
}
|
|
69
93
|
|
|
70
94
|
function _templateObject8() {
|
|
71
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
95
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n mask: url(", ") no-repeat center;\n mask-size: ", ";\n height: ", ";\n width: ", ";\n"]);
|
|
72
96
|
|
|
73
97
|
_templateObject8 = function _templateObject8() {
|
|
74
98
|
return data;
|
|
@@ -78,7 +102,7 @@ function _templateObject8() {
|
|
|
78
102
|
}
|
|
79
103
|
|
|
80
104
|
function _templateObject7() {
|
|
81
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
105
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n overflow: hidden;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
|
|
82
106
|
|
|
83
107
|
_templateObject7 = function _templateObject7() {
|
|
84
108
|
return data;
|
|
@@ -88,7 +112,7 @@ function _templateObject7() {
|
|
|
88
112
|
}
|
|
89
113
|
|
|
90
114
|
function _templateObject6() {
|
|
91
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
115
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n"]);
|
|
92
116
|
|
|
93
117
|
_templateObject6 = function _templateObject6() {
|
|
94
118
|
return data;
|
|
@@ -98,7 +122,7 @@ function _templateObject6() {
|
|
|
98
122
|
}
|
|
99
123
|
|
|
100
124
|
function _templateObject5() {
|
|
101
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
125
|
+
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"]);
|
|
102
126
|
|
|
103
127
|
_templateObject5 = function _templateObject5() {
|
|
104
128
|
return data;
|
|
@@ -108,7 +132,7 @@ function _templateObject5() {
|
|
|
108
132
|
}
|
|
109
133
|
|
|
110
134
|
function _templateObject4() {
|
|
111
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
135
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n display: inline-flex;\n padding-bottom: 4px;\n"]);
|
|
112
136
|
|
|
113
137
|
_templateObject4 = function _templateObject4() {
|
|
114
138
|
return data;
|
|
@@ -118,7 +142,7 @@ function _templateObject4() {
|
|
|
118
142
|
}
|
|
119
143
|
|
|
120
144
|
function _templateObject3() {
|
|
121
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
145
|
+
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"]);
|
|
122
146
|
|
|
123
147
|
_templateObject3 = function _templateObject3() {
|
|
124
148
|
return data;
|
|
@@ -128,7 +152,7 @@ function _templateObject3() {
|
|
|
128
152
|
}
|
|
129
153
|
|
|
130
154
|
function _templateObject2() {
|
|
131
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
155
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n ", "\n flex-grow: ", ";\n flex-direction: ", ";\n ", "\n"]);
|
|
132
156
|
|
|
133
157
|
_templateObject2 = function _templateObject2() {
|
|
134
158
|
return data;
|
|
@@ -138,7 +162,7 @@ function _templateObject2() {
|
|
|
138
162
|
}
|
|
139
163
|
|
|
140
164
|
function _templateObject() {
|
|
141
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
165
|
+
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"]);
|
|
142
166
|
|
|
143
167
|
_templateObject = function _templateObject() {
|
|
144
168
|
return data;
|
|
@@ -150,19 +174,20 @@ function _templateObject() {
|
|
|
150
174
|
var DxcWizard = function DxcWizard(_ref) {
|
|
151
175
|
var _ref$mode = _ref.mode,
|
|
152
176
|
mode = _ref$mode === void 0 ? "horizontal" : _ref$mode,
|
|
153
|
-
_ref$theme = _ref.theme,
|
|
154
|
-
theme = _ref$theme === void 0 ? "light" : _ref$theme,
|
|
155
177
|
currentStep = _ref.currentStep,
|
|
156
178
|
onStepClick = _ref.onStepClick,
|
|
157
179
|
steps = _ref.steps,
|
|
158
|
-
margin = _ref.margin
|
|
180
|
+
margin = _ref.margin,
|
|
181
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
182
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
159
183
|
|
|
160
|
-
var
|
|
161
|
-
|
|
162
|
-
innerCurrent =
|
|
163
|
-
setInnerCurrentStep =
|
|
184
|
+
var _useState = (0, _react.useState)(currentStep || 0),
|
|
185
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
186
|
+
innerCurrent = _useState2[0],
|
|
187
|
+
setInnerCurrentStep = _useState2[1];
|
|
164
188
|
|
|
165
189
|
var renderedCurrent = currentStep == null ? innerCurrent : currentStep;
|
|
190
|
+
var colorsTheme = (0, _useTheme["default"])();
|
|
166
191
|
|
|
167
192
|
var handleStepClick = function handleStepClick(newValue) {
|
|
168
193
|
if (currentStep == null) {
|
|
@@ -174,7 +199,9 @@ var DxcWizard = function DxcWizard(_ref) {
|
|
|
174
199
|
}
|
|
175
200
|
};
|
|
176
201
|
|
|
177
|
-
return _react["default"].createElement(
|
|
202
|
+
return _react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
203
|
+
theme: colorsTheme.wizard
|
|
204
|
+
}, _react["default"].createElement(StepsContainer, {
|
|
178
205
|
mode: mode,
|
|
179
206
|
margin: margin
|
|
180
207
|
}, steps.map(function (step, i) {
|
|
@@ -183,42 +210,50 @@ var DxcWizard = function DxcWizard(_ref) {
|
|
|
183
210
|
mode: mode,
|
|
184
211
|
lastStep: i === steps.length - 1
|
|
185
212
|
}, _react["default"].createElement(Step, {
|
|
213
|
+
tabIndex: tabIndex,
|
|
186
214
|
onClick: function onClick() {
|
|
187
215
|
return handleStepClick(i);
|
|
188
216
|
},
|
|
189
217
|
mode: mode,
|
|
190
|
-
disable: step.disabled,
|
|
191
218
|
disabled: step.disabled,
|
|
192
219
|
first: i === 0,
|
|
193
220
|
last: i === steps.length - 1
|
|
194
221
|
}, _react["default"].createElement(StepHeader, null, _react["default"].createElement(IconContainer, {
|
|
195
222
|
current: i === renderedCurrent,
|
|
196
223
|
visited: i < renderedCurrent,
|
|
197
|
-
brightness: theme,
|
|
198
224
|
disabled: step.disabled
|
|
199
|
-
}, step.
|
|
225
|
+
}, step.icon ? _react["default"].createElement(StepIconContainer, {
|
|
226
|
+
disabled: step.disabled
|
|
227
|
+
}, (0, _typeof2["default"])(step.icon) === "object" ? step.icon.type === "img" ? _react["default"].createElement(ImgContainer, {
|
|
228
|
+
current: i === renderedCurrent,
|
|
229
|
+
img: step.icon.props.src
|
|
230
|
+
}) : step.icon : _react["default"].createElement(step.icon)) : step.iconSrc ? _react["default"].createElement(Icon, {
|
|
200
231
|
src: step.iconSrc
|
|
201
232
|
}) : _react["default"].createElement(Number, {
|
|
202
233
|
disabled: step.disabled,
|
|
203
|
-
current: i === renderedCurrent
|
|
204
|
-
brightness: theme
|
|
234
|
+
current: i === renderedCurrent
|
|
205
235
|
}, i + 1)), step.valid !== undefined ? step.valid ? _react["default"].createElement(ValidityIcon, {
|
|
206
236
|
src: _valid_icon["default"]
|
|
207
237
|
}) : _react["default"].createElement(ValidityIcon, {
|
|
208
238
|
src: _invalid_icon["default"]
|
|
209
|
-
}) :
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
}, step.label
|
|
239
|
+
}) : ""), step.label || step.description ? _react["default"].createElement(InfoContainer, null, step.label ? _react["default"].createElement(Label, {
|
|
240
|
+
disabled: step.disabled,
|
|
241
|
+
visited: i <= innerCurrent
|
|
242
|
+
}, step.label) : "", step.description ? _react["default"].createElement(Description, {
|
|
243
|
+
disabled: step.disabled,
|
|
244
|
+
visited: i <= innerCurrent
|
|
245
|
+
}, step.description) : "") : ""), i === steps.length - 1 ? "" : _react["default"].createElement(StepSeparator, {
|
|
213
246
|
mode: mode
|
|
214
247
|
}));
|
|
215
|
-
}));
|
|
248
|
+
})));
|
|
216
249
|
};
|
|
217
250
|
|
|
218
251
|
var StepsContainer = _styledComponents["default"].div(_templateObject(), function (props) {
|
|
219
252
|
return props.mode === "vertical" ? "column" : "row";
|
|
220
253
|
}, function (props) {
|
|
221
254
|
return props.mode === "vertical" ? "height: 500px" : "width: 100%";
|
|
255
|
+
}, function (props) {
|
|
256
|
+
return props.theme.fontFamily;
|
|
222
257
|
}, function (props) {
|
|
223
258
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
224
259
|
}, function (props) {
|
|
@@ -242,59 +277,124 @@ var StepContainer = _styledComponents["default"].div(_templateObject2(), functio
|
|
|
242
277
|
});
|
|
243
278
|
|
|
244
279
|
var Step = _styledComponents["default"].button(_templateObject3(), function (props) {
|
|
245
|
-
return props.first ? props.mode === "vertical" ? "0 0
|
|
280
|
+
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";
|
|
246
281
|
}, function (props) {
|
|
247
|
-
return props.disabled ? "cursor: not-allowed" :
|
|
282
|
+
return props.disabled ? "cursor: not-allowed" : "";
|
|
248
283
|
}, function (props) {
|
|
249
284
|
return props.disabled ? "" : "cursor: pointer";
|
|
285
|
+
}, function (props) {
|
|
286
|
+
return props.theme.focusColor;
|
|
250
287
|
});
|
|
251
288
|
|
|
252
289
|
var StepHeader = _styledComponents["default"].div(_templateObject4());
|
|
253
290
|
|
|
254
291
|
var IconContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
|
|
255
|
-
return
|
|
292
|
+
return props.disabled ? props.theme.disabledCircleWidth : props.current ? props.theme.selectedCircleWidth : props.theme.circleWidth;
|
|
256
293
|
}, function (props) {
|
|
257
|
-
return
|
|
294
|
+
return props.disabled ? props.theme.disabledCircleHeight : props.current ? props.theme.selectedCircleHeight : props.theme.circleHeight;
|
|
258
295
|
}, function (props) {
|
|
259
|
-
return !props.current && !props.disabled ? "border:
|
|
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.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 ");
|
|
260
297
|
}, function (props) {
|
|
261
|
-
return props.disabled ? "
|
|
298
|
+
return props.disabled ? "color: ".concat(props.theme.disabledFontColor, ";") : "color: ".concat(props.current ? props.theme.stepContainerSelectedFontColor : props.theme.stepContainerFontColor, ";");
|
|
262
299
|
}, function (props) {
|
|
263
|
-
return props.current ?
|
|
300
|
+
return !props.current && !props.disabled ? props.theme.circleBorderRadius : props.current ? props.theme.selectedCircleBorderRadius : props.disabled ? props.theme.disabledCircleBorderRadius : "";
|
|
264
301
|
});
|
|
265
302
|
|
|
266
|
-
var Icon = _styledComponents["default"].img(_templateObject6())
|
|
303
|
+
var Icon = _styledComponents["default"].img(_templateObject6(), function (props) {
|
|
304
|
+
return props.theme.stepContainerIconSize;
|
|
305
|
+
}, function (props) {
|
|
306
|
+
return props.theme.stepContainerIconSize;
|
|
307
|
+
});
|
|
267
308
|
|
|
268
|
-
var
|
|
269
|
-
return
|
|
309
|
+
var StepIconContainer = _styledComponents["default"].div(_templateObject7(), function (props) {
|
|
310
|
+
return props.theme.stepContainerIconSize;
|
|
311
|
+
}, function (props) {
|
|
312
|
+
return props.theme.stepContainerIconSize;
|
|
270
313
|
});
|
|
271
314
|
|
|
272
|
-
var
|
|
315
|
+
var ImgContainer = _styledComponents["default"].div(_templateObject8(), function (props) {
|
|
316
|
+
return props.current ? props.theme.stepContainerSelectedFontColor : props.theme.stepContainerFontColor;
|
|
317
|
+
}, function (_ref2) {
|
|
318
|
+
var img = _ref2.img;
|
|
319
|
+
return img;
|
|
320
|
+
}, function (props) {
|
|
321
|
+
return "".concat(props.theme.stepContainerIconSize, " ").concat(props.theme.stepContainerIconSize);
|
|
322
|
+
}, function (props) {
|
|
323
|
+
return props.theme.stepContainerIconSize;
|
|
324
|
+
}, function (props) {
|
|
325
|
+
return props.theme.stepContainerIconSize;
|
|
326
|
+
});
|
|
273
327
|
|
|
274
|
-
var
|
|
275
|
-
return props.
|
|
328
|
+
var Number = _styledComponents["default"].p(_templateObject9(), function (props) {
|
|
329
|
+
return props.theme.stepContainerFontSize;
|
|
330
|
+
}, function (props) {
|
|
331
|
+
return props.theme.stepContainerFontFamily;
|
|
332
|
+
}, function (props) {
|
|
333
|
+
return props.theme.stepContainerFontStyle;
|
|
334
|
+
}, function (props) {
|
|
335
|
+
return props.theme.stepContainerFontWeight;
|
|
336
|
+
}, function (props) {
|
|
337
|
+
return props.theme.stepContainerLetterSpacing;
|
|
276
338
|
});
|
|
277
339
|
|
|
278
|
-
var
|
|
340
|
+
var ValidityIcon = _styledComponents["default"].img(_templateObject10());
|
|
341
|
+
|
|
342
|
+
var InfoContainer = _styledComponents["default"].div(_templateObject11());
|
|
343
|
+
|
|
344
|
+
var Label = _styledComponents["default"].p(_templateObject12(), function (props) {
|
|
345
|
+
return props.theme.labelTextAlign;
|
|
346
|
+
}, function (props) {
|
|
347
|
+
return props.theme.labelFontFamily;
|
|
348
|
+
}, function (props) {
|
|
349
|
+
return props.theme.labelFontSize;
|
|
350
|
+
}, function (props) {
|
|
351
|
+
return props.theme.labelFontStyle;
|
|
352
|
+
}, function (props) {
|
|
353
|
+
return props.theme.labelFontWeight;
|
|
354
|
+
}, function (props) {
|
|
355
|
+
return props.theme.labelLetterSpacing;
|
|
356
|
+
}, function (props) {
|
|
357
|
+
return props.disabled ? "color: ".concat(props.theme.disabledFontColor, ";") : "color: ".concat(props.visited ? props.theme.visitedLabelFontColor : props.theme.labelFontColor, ";");
|
|
358
|
+
}, function (props) {
|
|
359
|
+
return props.theme.labelFontTextTransform;
|
|
360
|
+
});
|
|
279
361
|
|
|
280
|
-
var Description = _styledComponents["default"].p(
|
|
362
|
+
var Description = _styledComponents["default"].p(_templateObject13(), function (props) {
|
|
363
|
+
return props.theme.descriptionTextAlign;
|
|
364
|
+
}, function (props) {
|
|
365
|
+
return props.theme.descriptionFontFamily;
|
|
366
|
+
}, function (props) {
|
|
367
|
+
return props.theme.descriptionFontSize;
|
|
368
|
+
}, function (props) {
|
|
369
|
+
return props.theme.descriptionFontStyle;
|
|
370
|
+
}, function (props) {
|
|
371
|
+
return props.theme.descriptionFontWeight;
|
|
372
|
+
}, function (props) {
|
|
373
|
+
return props.theme.descriptionLetterSpacing;
|
|
374
|
+
}, function (props) {
|
|
375
|
+
return props.theme.descriptionFontTextTransform;
|
|
376
|
+
}, function (props) {
|
|
377
|
+
return props.disabled ? "color: ".concat(props.theme.disabledFontColor, ";") : "color: ".concat(props.visited ? props.theme.visitedDescriptionFontColor : props.theme.descriptionFontColor, ";");
|
|
378
|
+
});
|
|
281
379
|
|
|
282
|
-
var StepSeparator = _styledComponents["default"].div(
|
|
283
|
-
return props.mode === "horizontal" ?
|
|
380
|
+
var StepSeparator = _styledComponents["default"].div(_templateObject14(), function (props) {
|
|
381
|
+
return props.mode === "horizontal" ? "" : "0";
|
|
382
|
+
}, function (props) {
|
|
383
|
+
return props.mode === "horizontal" ? "0" : "";
|
|
284
384
|
}, function (props) {
|
|
285
|
-
return props.mode === "
|
|
385
|
+
return props.mode === "vertical" ? "margin: 0 18px;" : "";
|
|
286
386
|
}, function (props) {
|
|
287
|
-
return props.
|
|
387
|
+
return "".concat(props.theme.separatorBorderStyle, " ").concat(props.theme.separatorBorderThickness, " ").concat(props.theme.separatorColor);
|
|
288
388
|
});
|
|
289
389
|
|
|
290
390
|
DxcWizard.propTypes = {
|
|
291
391
|
mode: _propTypes["default"].oneOf(["horizontal", "vertical"]),
|
|
292
|
-
theme: _propTypes["default"].oneOf(["light", "dark"]),
|
|
293
392
|
currentStep: _propTypes["default"].number,
|
|
294
393
|
onStepClick: _propTypes["default"].func,
|
|
295
394
|
steps: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
296
395
|
label: _propTypes["default"].string,
|
|
297
396
|
description: _propTypes["default"].string,
|
|
397
|
+
icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
|
|
298
398
|
iconSrc: _propTypes["default"].string,
|
|
299
399
|
disabled: _propTypes["default"].bool,
|
|
300
400
|
valid: _propTypes["default"].bool
|
|
@@ -304,7 +404,8 @@ DxcWizard.propTypes = {
|
|
|
304
404
|
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
305
405
|
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
306
406
|
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
307
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
|
|
407
|
+
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
|
|
408
|
+
tabIndex: _propTypes["default"].number
|
|
308
409
|
};
|
|
309
410
|
var _default = DxcWizard;
|
|
310
411
|
exports["default"] = _default;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
</g>
|
|
1
|
+
<svg id="highlight_off_black_18dp" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
|
|
2
|
+
<path id="Path_2943" data-name="Path 2943" d="M0,0H18V18H0Z" fill="none"/>
|
|
3
|
+
<path id="Path_2944" data-name="Path 2944" 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" transform="translate(-1.002 -1.002)" fill="#ffe6e9"/>
|
|
4
|
+
<path id="Path_2945" data-name="Path 2945" 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" transform="translate(-0.501 -0.501)" fill="#d0011b"/>
|
|
6
5
|
</svg>
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
</g>
|
|
1
|
+
<svg id="check_circle_black_18dp" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
|
|
2
|
+
<path id="Path_2946" data-name="Path 2946" d="M0,0H18V18H0Z" fill="none"/>
|
|
3
|
+
<path id="Path_2947" data-name="Path 2947" 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" transform="translate(-0.986 -0.986)" fill="#eafaef" opacity="0.999"/>
|
|
4
|
+
<path id="Path_2948" data-name="Path 2948" 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" transform="translate(-0.493 -0.493)" fill="#24a148"/>
|
|
6
5
|
</svg>
|
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-51a5c42",
|
|
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,6 +11,7 @@
|
|
|
11
11
|
"url": "https://dxc.com"
|
|
12
12
|
},
|
|
13
13
|
"main": "./dist/main.js",
|
|
14
|
+
"types": "./dist/main.d.ts",
|
|
14
15
|
"peerDependencies": {
|
|
15
16
|
"react": "^16.8.6",
|
|
16
17
|
"react-dom": "^16.8.6",
|
|
@@ -18,15 +19,19 @@
|
|
|
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
|
-
"@material-ui/lab": "4.0.0-alpha.
|
|
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
|
-
"react-use-scrollspy": "^2.0.0"
|
|
32
|
+
"react-use-scrollspy": "^2.0.0",
|
|
33
|
+
"rgb-hex": "^3.0.0",
|
|
34
|
+
"uuid": "^8.3.2"
|
|
30
35
|
},
|
|
31
36
|
"scripts": {
|
|
32
37
|
"test": "jest",
|
|
@@ -38,10 +43,12 @@
|
|
|
38
43
|
"@babel/cli": "^7.6.2",
|
|
39
44
|
"@babel/core": "^7.6.2",
|
|
40
45
|
"@babel/plugin-proposal-class-properties": "^7.5.5",
|
|
46
|
+
"@babel/plugin-proposal-nullish-coalescing-operator": "7.13.8",
|
|
47
|
+
"@babel/plugin-proposal-optional-chaining": "7.13.8",
|
|
41
48
|
"@babel/plugin-transform-runtime": "^7.10.1",
|
|
42
49
|
"@babel/preset-env": "^7.6.2",
|
|
43
50
|
"@babel/preset-react": "^7.0.0",
|
|
44
|
-
"@testing-library/react": "^
|
|
51
|
+
"@testing-library/react": "^11.2.5",
|
|
45
52
|
"babel-jest": "^24.8.0",
|
|
46
53
|
"babel-loader": "^8.0.6",
|
|
47
54
|
"eslint": "^5.16.0",
|
|
@@ -51,11 +58,12 @@
|
|
|
51
58
|
"eslint-plugin-jest": "^22.7.1",
|
|
52
59
|
"eslint-plugin-jsx-a11y": "^6.2.1",
|
|
53
60
|
"eslint-plugin-react": "^7.13.0",
|
|
61
|
+
"eslint-plugin-react-hooks": "^4.2.0",
|
|
54
62
|
"identity-obj-proxy": "^3.0.0",
|
|
55
63
|
"jest": "^25.5.4",
|
|
56
|
-
"react-test-renderer": "^16.8.6",
|
|
57
64
|
"react": "file:../node_modules/react",
|
|
58
65
|
"react-dom": "file:../node_modules/react-dom",
|
|
66
|
+
"react-test-renderer": "^16.8.6",
|
|
59
67
|
"styled-components": "file:../node_modules/styled-components"
|
|
60
68
|
},
|
|
61
69
|
"jest": {
|
|
@@ -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
|
+
});
|