@dxc-technology/halstack-react 0.0.0-c9c1158 → 0.0.0-c9efd3e
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/BackgroundColorContext.d.ts +1 -10
- package/BackgroundColorContext.js +2 -7
- package/HalstackContext.d.ts +29 -133
- package/HalstackContext.js +1 -1
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +10 -26
- package/accordion/Accordion.stories.tsx +4 -36
- package/accordion/types.d.ts +1 -1
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +2 -3
- package/accordion-group/AccordionGroup.js +3 -3
- package/accordion-group/AccordionGroupAccordion.js +2 -2
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +1 -1
- package/action-icon/ActionIcon.accessibility.test.js +63 -0
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +48 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/action-icon/types.js +5 -0
- package/alert/Alert.accessibility.test.js +95 -0
- package/alert/Alert.js +15 -72
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +141 -28
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -3
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.js +1 -4
- package/bulleted-list/BulletedList.accessibility.test.js +107 -0
- package/bulleted-list/BulletedList.js +15 -22
- package/bulleted-list/BulletedList.stories.tsx +1 -2
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.js +15 -15
- package/button/Button.stories.tsx +32 -51
- package/button/Button.test.js +3 -1
- package/button/types.d.ts +1 -1
- package/card/Card.accessibility.test.js +36 -0
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.js +26 -31
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +8 -5
- package/chip/Chip.stories.tsx +5 -24
- package/chip/Chip.test.js +4 -4
- package/common/coreTokens.d.ts +1 -1
- package/common/coreTokens.js +3 -3
- package/common/variables.d.ts +29 -133
- package/common/variables.js +38 -142
- package/container/Container.js +3 -7
- package/container/Container.stories.tsx +10 -25
- package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
- package/contextual-menu/ContextualMenu.d.ts +7 -0
- package/contextual-menu/ContextualMenu.js +71 -0
- package/contextual-menu/ContextualMenu.stories.tsx +182 -0
- package/contextual-menu/ContextualMenu.test.js +71 -0
- package/contextual-menu/MenuItemAction.d.ts +4 -0
- package/contextual-menu/MenuItemAction.js +46 -0
- package/contextual-menu/types.d.ts +22 -0
- package/contextual-menu/types.js +5 -0
- package/date-input/DateInput.accessibility.test.js +216 -0
- package/date-input/types.d.ts +2 -2
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.js +2 -5
- package/dialog/Dialog.stories.tsx +170 -0
- package/dialog/Dialog.test.js +1 -1
- package/divider/Divider.accessibility.test.js +33 -0
- package/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +21 -0
- package/divider/types.js +5 -0
- package/dropdown/Dropdown.accessibility.test.js +180 -0
- package/dropdown/Dropdown.js +21 -36
- package/dropdown/Dropdown.stories.tsx +5 -16
- package/dropdown/DropdownMenuItem.js +6 -3
- package/dropdown/types.d.ts +3 -5
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.js +3 -39
- package/file-input/FileInput.test.js +7 -84
- package/file-input/FileItem.js +13 -27
- package/footer/Footer.accessibility.test.js +117 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +36 -31
- package/footer/Footer.stories.tsx +46 -2
- package/footer/Icons.d.ts +1 -0
- package/footer/Icons.js +65 -1
- package/footer/types.d.ts +8 -8
- package/header/Header.accessibility.test.js +84 -0
- package/header/Header.js +18 -40
- package/header/types.d.ts +4 -3
- package/heading/Heading.accessibility.test.js +33 -0
- package/icon/Icon.accessibility.test.js +30 -0
- package/icon/Icon.d.ts +4 -0
- package/icon/Icon.js +33 -0
- package/icon/Icon.stories.tsx +28 -0
- package/icon/types.d.ts +4 -0
- package/icon/types.js +5 -0
- package/image/Image.accessibility.test.js +56 -0
- package/image/Image.stories.tsx +3 -1
- package/layout/ApplicationLayout.d.ts +1 -1
- package/layout/ApplicationLayout.js +1 -1
- package/layout/Icons.js +0 -2
- package/link/Link.accessibility.test.js +112 -0
- package/link/Link.js +7 -5
- package/link/Link.stories.tsx +2 -2
- package/link/types.d.ts +1 -1
- package/main.d.ts +5 -3
- package/main.js +22 -8
- package/nav-tabs/NavTabs.accessibility.test.js +52 -0
- package/nav-tabs/NavTabs.d.ts +1 -2
- package/nav-tabs/NavTabs.js +9 -6
- package/nav-tabs/NavTabs.stories.tsx +6 -4
- package/nav-tabs/NavTabs.test.js +3 -2
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +8 -7
- package/number-input/NumberInput.accessibility.test.js +228 -0
- package/number-input/NumberInput.d.ts +0 -7
- package/number-input/NumberInput.js +24 -5
- package/number-input/NumberInput.test.js +165 -6
- package/number-input/NumberInputContext.d.ts +3 -0
- package/number-input/NumberInputContext.js +8 -0
- package/number-input/types.d.ts +6 -0
- package/package.json +12 -12
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +1 -4
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.js +2 -7
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.stories.tsx +0 -1
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +5 -11
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +1 -1
- package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
- package/resultset-table/ResultsetTable.d.ts +4 -1
- package/resultset-table/ResultsetTable.js +23 -12
- package/resultset-table/ResultsetTable.stories.tsx +106 -5
- package/resultset-table/ResultsetTable.test.js +76 -0
- package/resultset-table/types.d.ts +40 -7
- package/select/Option.js +8 -1
- package/select/Select.accessibility.test.js +217 -0
- package/select/Select.js +35 -27
- package/select/Select.stories.tsx +0 -1
- package/select/Select.test.js +498 -462
- package/select/types.d.ts +2 -2
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.js +20 -18
- package/sidenav/Sidenav.stories.tsx +4 -9
- package/sidenav/types.d.ts +2 -2
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.js +37 -46
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +6 -14
- package/status-light/StatusLight.accessibility.test.js +157 -0
- package/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/switch/Switch.accessibility.test.js +89 -0
- package/switch/Switch.js +23 -28
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.js +82 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +73 -11
- package/table/Table.stories.tsx +297 -2
- package/table/Table.test.js +92 -0
- package/table/types.d.ts +28 -0
- package/tabs/Tab.js +7 -4
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +4 -5
- package/tabs/Tabs.stories.tsx +1 -1
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +6 -6
- package/tag/Tag.stories.tsx +4 -7
- package/tag/Tag.test.js +4 -12
- package/tag/types.d.ts +2 -2
- package/text-input/Suggestions.js +7 -10
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +77 -102
- package/text-input/TextInput.stories.tsx +1 -1
- package/text-input/TextInput.test.js +96 -79
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +10 -16
- package/textarea/Textarea.stories.tsx +0 -1
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.js +1 -4
- package/typography/Typography.accessibility.test.js +339 -0
- package/useTheme.d.ts +29 -133
- package/utils/FocusLock.js +15 -5
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/types.d.ts +1 -1
- package/common/OpenSans.css +0 -69
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/sidenav/Icons.d.ts +0 -7
- package/sidenav/Icons.js +0 -47
- package/text-input/Icons.d.ts +0 -8
- package/text-input/Icons.js +0 -56
- /package/{layout → sidenav}/SidenavContext.d.ts +0 -0
- /package/{layout → sidenav}/SidenavContext.js +0 -0
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
7
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _react2 = require("@testing-library/react");
|
|
10
|
+
var _jestAxe = require("jest-axe");
|
|
11
|
+
var _DateInput = _interopRequireDefault(require("./DateInput.tsx"));
|
|
12
|
+
// Mocking DOMRect for Radix Primitive Popover
|
|
13
|
+
global.globalThis = global;
|
|
14
|
+
global.DOMRect = {
|
|
15
|
+
fromRect: function fromRect() {
|
|
16
|
+
return {
|
|
17
|
+
top: 0,
|
|
18
|
+
left: 0,
|
|
19
|
+
bottom: 0,
|
|
20
|
+
right: 0,
|
|
21
|
+
width: 0,
|
|
22
|
+
height: 0
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
global.ResizeObserver = /*#__PURE__*/function () {
|
|
27
|
+
function ResizeObserver() {
|
|
28
|
+
(0, _classCallCheck2["default"])(this, ResizeObserver);
|
|
29
|
+
}
|
|
30
|
+
(0, _createClass2["default"])(ResizeObserver, [{
|
|
31
|
+
key: "observe",
|
|
32
|
+
value: function observe() {}
|
|
33
|
+
}, {
|
|
34
|
+
key: "unobserve",
|
|
35
|
+
value: function unobserve() {}
|
|
36
|
+
}, {
|
|
37
|
+
key: "disconnect",
|
|
38
|
+
value: function disconnect() {}
|
|
39
|
+
}]);
|
|
40
|
+
return ResizeObserver;
|
|
41
|
+
}();
|
|
42
|
+
describe("DateInput component accessibility tests", function () {
|
|
43
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
44
|
+
var _render, baseElement, results;
|
|
45
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
46
|
+
while (1) switch (_context.prev = _context.next) {
|
|
47
|
+
case 0:
|
|
48
|
+
// baseElement is needed when using React Portals
|
|
49
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
50
|
+
label: "Example label",
|
|
51
|
+
helperText: "Help message",
|
|
52
|
+
defaultValue: "06-04-2007",
|
|
53
|
+
format: "dd/mm/yy",
|
|
54
|
+
name: "DateInput Name",
|
|
55
|
+
margin: "medium",
|
|
56
|
+
size: "medium",
|
|
57
|
+
placeholder: true,
|
|
58
|
+
clearable: true
|
|
59
|
+
})), baseElement = _render.baseElement;
|
|
60
|
+
_context.next = 3;
|
|
61
|
+
return (0, _jestAxe.axe)(baseElement);
|
|
62
|
+
case 3:
|
|
63
|
+
results = _context.sent;
|
|
64
|
+
expect(results).toHaveNoViolations();
|
|
65
|
+
case 5:
|
|
66
|
+
case "end":
|
|
67
|
+
return _context.stop();
|
|
68
|
+
}
|
|
69
|
+
}, _callee);
|
|
70
|
+
})));
|
|
71
|
+
it("Should not have basic accessibility issues for autocomplete mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
72
|
+
var _render2, baseElement, results;
|
|
73
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
74
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
75
|
+
case 0:
|
|
76
|
+
// baseElement is needed when using React Portals
|
|
77
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
78
|
+
label: "Example label",
|
|
79
|
+
helperText: "Help message",
|
|
80
|
+
defaultValue: "06-04-2007",
|
|
81
|
+
format: "dd/mm/yy",
|
|
82
|
+
name: "DateInput Name",
|
|
83
|
+
margin: "medium",
|
|
84
|
+
size: "medium",
|
|
85
|
+
placeholder: true,
|
|
86
|
+
autocomplete: "on"
|
|
87
|
+
})), baseElement = _render2.baseElement;
|
|
88
|
+
_context2.next = 3;
|
|
89
|
+
return (0, _jestAxe.axe)(baseElement);
|
|
90
|
+
case 3:
|
|
91
|
+
results = _context2.sent;
|
|
92
|
+
expect(results).toHaveNoViolations();
|
|
93
|
+
case 5:
|
|
94
|
+
case "end":
|
|
95
|
+
return _context2.stop();
|
|
96
|
+
}
|
|
97
|
+
}, _callee2);
|
|
98
|
+
})));
|
|
99
|
+
it("Should not have basic accessibility issues for optional mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
100
|
+
var _render3, baseElement, results;
|
|
101
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
102
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
103
|
+
case 0:
|
|
104
|
+
// baseElement is needed when using React Portals
|
|
105
|
+
_render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
106
|
+
label: "Example label",
|
|
107
|
+
helperText: "Help message",
|
|
108
|
+
defaultValue: "06-04-2007",
|
|
109
|
+
format: "dd/mm/yy",
|
|
110
|
+
name: "DateInput Name",
|
|
111
|
+
margin: "medium",
|
|
112
|
+
size: "medium",
|
|
113
|
+
placeholder: true,
|
|
114
|
+
optional: true
|
|
115
|
+
})), baseElement = _render3.baseElement;
|
|
116
|
+
_context3.next = 3;
|
|
117
|
+
return (0, _jestAxe.axe)(baseElement);
|
|
118
|
+
case 3:
|
|
119
|
+
results = _context3.sent;
|
|
120
|
+
expect(results).toHaveNoViolations();
|
|
121
|
+
case 5:
|
|
122
|
+
case "end":
|
|
123
|
+
return _context3.stop();
|
|
124
|
+
}
|
|
125
|
+
}, _callee3);
|
|
126
|
+
})));
|
|
127
|
+
it("Should not have basic accessibility issues for error mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
128
|
+
var _render4, baseElement, results;
|
|
129
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
130
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
131
|
+
case 0:
|
|
132
|
+
// baseElement is needed when using React Portals
|
|
133
|
+
_render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
134
|
+
label: "Example label",
|
|
135
|
+
helperText: "Help message",
|
|
136
|
+
defaultValue: "06-04-2007",
|
|
137
|
+
format: "dd/mm/yy",
|
|
138
|
+
name: "DateInput Name",
|
|
139
|
+
margin: "medium",
|
|
140
|
+
error: "Error message.",
|
|
141
|
+
size: "medium",
|
|
142
|
+
placeholder: true,
|
|
143
|
+
clearable: true
|
|
144
|
+
})), baseElement = _render4.baseElement;
|
|
145
|
+
_context4.next = 3;
|
|
146
|
+
return (0, _jestAxe.axe)(baseElement);
|
|
147
|
+
case 3:
|
|
148
|
+
results = _context4.sent;
|
|
149
|
+
expect(results).toHaveNoViolations();
|
|
150
|
+
case 5:
|
|
151
|
+
case "end":
|
|
152
|
+
return _context4.stop();
|
|
153
|
+
}
|
|
154
|
+
}, _callee4);
|
|
155
|
+
})));
|
|
156
|
+
it("Should not have basic accessibility issues for read-only mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
|
|
157
|
+
var _render5, baseElement, results;
|
|
158
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
159
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
160
|
+
case 0:
|
|
161
|
+
// baseElement is needed when using React Portals
|
|
162
|
+
_render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
163
|
+
label: "Example label",
|
|
164
|
+
helperText: "Help message",
|
|
165
|
+
defaultValue: "06-04-2007",
|
|
166
|
+
format: "dd/mm/yy",
|
|
167
|
+
name: "DateInput Name",
|
|
168
|
+
margin: "medium",
|
|
169
|
+
error: "Error message.",
|
|
170
|
+
size: "medium",
|
|
171
|
+
placeholder: true,
|
|
172
|
+
clearable: true,
|
|
173
|
+
readOnly: true
|
|
174
|
+
})), baseElement = _render5.baseElement;
|
|
175
|
+
_context5.next = 3;
|
|
176
|
+
return (0, _jestAxe.axe)(baseElement);
|
|
177
|
+
case 3:
|
|
178
|
+
results = _context5.sent;
|
|
179
|
+
expect(results).toHaveNoViolations();
|
|
180
|
+
case 5:
|
|
181
|
+
case "end":
|
|
182
|
+
return _context5.stop();
|
|
183
|
+
}
|
|
184
|
+
}, _callee5);
|
|
185
|
+
})));
|
|
186
|
+
it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
|
|
187
|
+
var _render6, baseElement, results;
|
|
188
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
189
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
190
|
+
case 0:
|
|
191
|
+
// baseElement is needed when using React Portals
|
|
192
|
+
_render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_DateInput["default"], {
|
|
193
|
+
label: "Example label",
|
|
194
|
+
helperText: "Help message",
|
|
195
|
+
defaultValue: "06-04-2007",
|
|
196
|
+
format: "dd/mm/yy",
|
|
197
|
+
name: "DateInput Name",
|
|
198
|
+
margin: "medium",
|
|
199
|
+
error: "Error message.",
|
|
200
|
+
size: "medium",
|
|
201
|
+
placeholder: true,
|
|
202
|
+
clearable: true,
|
|
203
|
+
disabled: true
|
|
204
|
+
})), baseElement = _render6.baseElement;
|
|
205
|
+
_context6.next = 3;
|
|
206
|
+
return (0, _jestAxe.axe)(baseElement);
|
|
207
|
+
case 3:
|
|
208
|
+
results = _context6.sent;
|
|
209
|
+
expect(results).toHaveNoViolations();
|
|
210
|
+
case 5:
|
|
211
|
+
case "end":
|
|
212
|
+
return _context6.stop();
|
|
213
|
+
}
|
|
214
|
+
}, _callee6);
|
|
215
|
+
})));
|
|
216
|
+
});
|
package/date-input/types.d.ts
CHANGED
|
@@ -127,11 +127,11 @@ export type CalendarPropsType = {
|
|
|
127
127
|
*/
|
|
128
128
|
selectedDate: Dayjs;
|
|
129
129
|
/**
|
|
130
|
-
* Date
|
|
130
|
+
* Date shown by the calendar.
|
|
131
131
|
*/
|
|
132
132
|
innerDate: Dayjs;
|
|
133
133
|
/**
|
|
134
|
-
* Function called when the
|
|
134
|
+
* Function called when the shown date needs to be updated.
|
|
135
135
|
*/
|
|
136
136
|
onInnerDateChange: (date: Dayjs) => void;
|
|
137
137
|
/**
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
var _jestAxe = require("jest-axe");
|
|
9
|
+
var _Dialog = _interopRequireDefault(require("./Dialog.tsx"));
|
|
10
|
+
describe("Dialog component accessibility tests", function () {
|
|
11
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
12
|
+
var _render, baseElement, results;
|
|
13
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
14
|
+
while (1) switch (_context.prev = _context.next) {
|
|
15
|
+
case 0:
|
|
16
|
+
// baseElement is needed when using React Portals
|
|
17
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, "Dialog text")), baseElement = _render.baseElement;
|
|
18
|
+
_context.next = 3;
|
|
19
|
+
return (0, _jestAxe.axe)(baseElement);
|
|
20
|
+
case 3:
|
|
21
|
+
results = _context.sent;
|
|
22
|
+
expect(results).toHaveNoViolations();
|
|
23
|
+
case 5:
|
|
24
|
+
case "end":
|
|
25
|
+
return _context.stop();
|
|
26
|
+
}
|
|
27
|
+
}, _callee);
|
|
28
|
+
})));
|
|
29
|
+
it("Should not have basic accessibility issues for close button not visible", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
30
|
+
var _render2, baseElement, results;
|
|
31
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
32
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
33
|
+
case 0:
|
|
34
|
+
// baseElement is needed when using React Portals
|
|
35
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
36
|
+
isCloseVisible: false
|
|
37
|
+
}, "Dialog text")), baseElement = _render2.baseElement;
|
|
38
|
+
_context2.next = 3;
|
|
39
|
+
return (0, _jestAxe.axe)(baseElement);
|
|
40
|
+
case 3:
|
|
41
|
+
results = _context2.sent;
|
|
42
|
+
expect(results).toHaveNoViolations();
|
|
43
|
+
case 5:
|
|
44
|
+
case "end":
|
|
45
|
+
return _context2.stop();
|
|
46
|
+
}
|
|
47
|
+
}, _callee2);
|
|
48
|
+
})));
|
|
49
|
+
it("Should not have basic accessibility issues for overlay not visible", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
50
|
+
var _render3, baseElement, results;
|
|
51
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
52
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
53
|
+
case 0:
|
|
54
|
+
// baseElement is needed when using React Portals
|
|
55
|
+
_render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
56
|
+
overlay: false
|
|
57
|
+
}, "Dialog text")), baseElement = _render3.baseElement;
|
|
58
|
+
_context3.next = 3;
|
|
59
|
+
return (0, _jestAxe.axe)(baseElement);
|
|
60
|
+
case 3:
|
|
61
|
+
results = _context3.sent;
|
|
62
|
+
expect(results).toHaveNoViolations();
|
|
63
|
+
case 5:
|
|
64
|
+
case "end":
|
|
65
|
+
return _context3.stop();
|
|
66
|
+
}
|
|
67
|
+
}, _callee3);
|
|
68
|
+
})));
|
|
69
|
+
});
|
package/dialog/Dialog.js
CHANGED
|
@@ -11,7 +11,6 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
12
12
|
var _variables = require("../common/variables");
|
|
13
13
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
14
|
-
var _BackgroundColorContext = require("../BackgroundColorContext");
|
|
15
14
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
16
15
|
var _reactDom = require("react-dom");
|
|
17
16
|
var _FocusLock = _interopRequireDefault(require("../utils/FocusLock"));
|
|
@@ -57,7 +56,7 @@ var DxcDialog = function DxcDialog(_ref) {
|
|
|
57
56
|
}, [onCloseClick]);
|
|
58
57
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
59
58
|
theme: colorsTheme.dialog
|
|
60
|
-
}, /*#__PURE__*/_react["default"].createElement(BodyStyle, null), /*#__PURE__*/(0, _reactDom.createPortal)( /*#__PURE__*/_react["default"].createElement(
|
|
59
|
+
}, /*#__PURE__*/_react["default"].createElement(BodyStyle, null), /*#__PURE__*/(0, _reactDom.createPortal)( /*#__PURE__*/_react["default"].createElement(DialogContainer, null, overlay && /*#__PURE__*/_react["default"].createElement(Overlay, {
|
|
61
60
|
onClick: function onClick() {
|
|
62
61
|
onBackgroundClick === null || onBackgroundClick === void 0 ? void 0 : onBackgroundClick();
|
|
63
62
|
}
|
|
@@ -65,9 +64,7 @@ var DxcDialog = function DxcDialog(_ref) {
|
|
|
65
64
|
role: "dialog",
|
|
66
65
|
"aria-modal": overlay,
|
|
67
66
|
isCloseVisible: isCloseVisible
|
|
68
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
69
|
-
color: colorsTheme.dialog.backgroundColor
|
|
70
|
-
}, children), isCloseVisible && /*#__PURE__*/_react["default"].createElement(CloseIconAction, {
|
|
67
|
+
}, /*#__PURE__*/_react["default"].createElement(_FocusLock["default"], null, children, isCloseVisible && /*#__PURE__*/_react["default"].createElement(CloseIconAction, {
|
|
71
68
|
onClick: function onClick() {
|
|
72
69
|
onCloseClick === null || onCloseClick === void 0 ? void 0 : onCloseClick();
|
|
73
70
|
},
|
|
@@ -10,6 +10,7 @@ import { HalstackProvider } from "../HalstackContext";
|
|
|
10
10
|
import DxcHeading from "../heading/Heading";
|
|
11
11
|
import DxcParagraph from "../paragraph/Paragraph";
|
|
12
12
|
import DxcAlert from "../alert/Alert";
|
|
13
|
+
import { userEvent, within } from "@storybook/testing-library";
|
|
13
14
|
|
|
14
15
|
export default {
|
|
15
16
|
title: "Dialog",
|
|
@@ -74,6 +75,166 @@ export const DefaultDialogOpinionated = () => (
|
|
|
74
75
|
</ExampleContainer>
|
|
75
76
|
);
|
|
76
77
|
|
|
78
|
+
const ScrollingDialog = () => (
|
|
79
|
+
<ExampleContainer expanded={true}>
|
|
80
|
+
<Title title="Default dialog" theme="light" level={4} />
|
|
81
|
+
<>
|
|
82
|
+
<DxcParagraph>
|
|
83
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
84
|
+
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
85
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
86
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
|
87
|
+
laborum.
|
|
88
|
+
</DxcParagraph>
|
|
89
|
+
<DxcParagraph>
|
|
90
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
91
|
+
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
92
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
93
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
|
94
|
+
laborum.
|
|
95
|
+
</DxcParagraph>
|
|
96
|
+
<DxcParagraph>
|
|
97
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
98
|
+
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
99
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
100
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
|
101
|
+
laborum.
|
|
102
|
+
</DxcParagraph>
|
|
103
|
+
<DxcParagraph>
|
|
104
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
105
|
+
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
106
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
107
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
|
108
|
+
laborum.
|
|
109
|
+
</DxcParagraph>
|
|
110
|
+
<DxcParagraph>
|
|
111
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
112
|
+
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
113
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
114
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
|
115
|
+
laborum.
|
|
116
|
+
</DxcParagraph>
|
|
117
|
+
<DxcParagraph>
|
|
118
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
119
|
+
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
120
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
121
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
|
122
|
+
laborum.
|
|
123
|
+
</DxcParagraph>
|
|
124
|
+
<DxcParagraph>
|
|
125
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
126
|
+
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
127
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
128
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
|
129
|
+
laborum.
|
|
130
|
+
</DxcParagraph>
|
|
131
|
+
<DxcParagraph>
|
|
132
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
133
|
+
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
134
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
135
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
|
136
|
+
laborum.
|
|
137
|
+
</DxcParagraph>
|
|
138
|
+
<DxcParagraph>
|
|
139
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
140
|
+
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
141
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
142
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
|
143
|
+
laborum.
|
|
144
|
+
</DxcParagraph>
|
|
145
|
+
<DxcParagraph>
|
|
146
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
147
|
+
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
148
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
149
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
|
150
|
+
laborum.
|
|
151
|
+
</DxcParagraph>
|
|
152
|
+
<DxcParagraph>
|
|
153
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
154
|
+
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
155
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
156
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
|
157
|
+
laborum.
|
|
158
|
+
</DxcParagraph>
|
|
159
|
+
<DxcParagraph>
|
|
160
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
161
|
+
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
162
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
163
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
|
164
|
+
laborum.
|
|
165
|
+
</DxcParagraph>
|
|
166
|
+
<DxcParagraph>
|
|
167
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
168
|
+
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
169
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
170
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
|
171
|
+
laborum.
|
|
172
|
+
</DxcParagraph>
|
|
173
|
+
<DxcParagraph>
|
|
174
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
175
|
+
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
176
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
177
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
|
178
|
+
laborum.
|
|
179
|
+
</DxcParagraph>
|
|
180
|
+
<DxcParagraph>
|
|
181
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
182
|
+
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
183
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
184
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
|
185
|
+
laborum.
|
|
186
|
+
</DxcParagraph>
|
|
187
|
+
<DxcParagraph>
|
|
188
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
189
|
+
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
190
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
191
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
|
192
|
+
laborum.
|
|
193
|
+
</DxcParagraph>
|
|
194
|
+
<DxcParagraph>
|
|
195
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
196
|
+
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
197
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
198
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
|
199
|
+
laborum.
|
|
200
|
+
</DxcParagraph>
|
|
201
|
+
<DxcParagraph>
|
|
202
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
203
|
+
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
204
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
205
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
|
206
|
+
laborum.
|
|
207
|
+
</DxcParagraph>
|
|
208
|
+
<DxcParagraph>
|
|
209
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
|
|
210
|
+
magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
211
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
|
|
212
|
+
pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
|
|
213
|
+
laborum.
|
|
214
|
+
</DxcParagraph>
|
|
215
|
+
</>
|
|
216
|
+
<DxcDialog>
|
|
217
|
+
<DxcInset space="1.5rem">
|
|
218
|
+
<DxcFlex direction="column" gap="1rem">
|
|
219
|
+
<DxcHeading level={4} text="Example title" />
|
|
220
|
+
<DxcParagraph>
|
|
221
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
|
|
222
|
+
placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
|
|
223
|
+
elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
|
|
224
|
+
tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
|
|
225
|
+
eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue
|
|
226
|
+
gravida enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare,
|
|
227
|
+
malesuada urna eu, fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam
|
|
228
|
+
sit amet maximus augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo.
|
|
229
|
+
Praesent quis nunc dignissim, pharetra neque molestie, molestie lectus.
|
|
230
|
+
</DxcParagraph>
|
|
231
|
+
<DxcButton label="Test" />
|
|
232
|
+
</DxcFlex>
|
|
233
|
+
</DxcInset>
|
|
234
|
+
</DxcDialog>
|
|
235
|
+
</ExampleContainer>
|
|
236
|
+
);
|
|
237
|
+
|
|
77
238
|
export const DialogWithInputs = () => (
|
|
78
239
|
<ExampleContainer expanded={true}>
|
|
79
240
|
<Title title="Dialog with inputs" theme="light" level={4} />
|
|
@@ -193,3 +354,12 @@ MobileResponsiveDialog.parameters = {
|
|
|
193
354
|
},
|
|
194
355
|
chromatic: { viewports: [375] },
|
|
195
356
|
};
|
|
357
|
+
|
|
358
|
+
export const ScrollDialog = ScrollingDialog.bind({});
|
|
359
|
+
ScrollDialog.play = async ({ canvasElement }) => {
|
|
360
|
+
const canvas = within(canvasElement);
|
|
361
|
+
await userEvent.tab();
|
|
362
|
+
await userEvent.tab();
|
|
363
|
+
await userEvent.tab();
|
|
364
|
+
};
|
|
365
|
+
|
package/dialog/Dialog.test.js
CHANGED
|
@@ -29,7 +29,7 @@ var options = [{
|
|
|
29
29
|
value: "other"
|
|
30
30
|
}];
|
|
31
31
|
describe("Dialog component tests", function () {
|
|
32
|
-
test("Dialog renders with correct text and
|
|
32
|
+
test("Dialog renders with correct text and accessibility attributes", function () {
|
|
33
33
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dialog["default"], null, "dialog-text")),
|
|
34
34
|
getByText = _render.getByText,
|
|
35
35
|
getByRole = _render.getByRole;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
var _jestAxe = require("jest-axe");
|
|
9
|
+
var _Divider = _interopRequireDefault(require("./Divider"));
|
|
10
|
+
describe("Divider accessibility tests", function () {
|
|
11
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
12
|
+
var _render, container, results;
|
|
13
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
14
|
+
while (1) switch (_context.prev = _context.next) {
|
|
15
|
+
case 0:
|
|
16
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Divider["default"], {
|
|
17
|
+
orientation: "vertical",
|
|
18
|
+
color: "darkGrey",
|
|
19
|
+
decorative: false,
|
|
20
|
+
weight: "strong"
|
|
21
|
+
})), container = _render.container;
|
|
22
|
+
_context.next = 3;
|
|
23
|
+
return (0, _jestAxe.axe)(container);
|
|
24
|
+
case 3:
|
|
25
|
+
results = _context.sent;
|
|
26
|
+
expect(results).toHaveNoViolations();
|
|
27
|
+
case 5:
|
|
28
|
+
case "end":
|
|
29
|
+
return _context.stop();
|
|
30
|
+
}
|
|
31
|
+
}, _callee);
|
|
32
|
+
})));
|
|
33
|
+
});
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
|
+
var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
|
|
12
|
+
var _templateObject;
|
|
13
|
+
var DxcDivider = function DxcDivider(_ref) {
|
|
14
|
+
var _ref$orientation = _ref.orientation,
|
|
15
|
+
orientation = _ref$orientation === void 0 ? "horizontal" : _ref$orientation,
|
|
16
|
+
_ref$weight = _ref.weight,
|
|
17
|
+
weight = _ref$weight === void 0 ? "regular" : _ref$weight,
|
|
18
|
+
_ref$color = _ref.color,
|
|
19
|
+
color = _ref$color === void 0 ? "mediumGrey" : _ref$color,
|
|
20
|
+
_ref$decorative = _ref.decorative,
|
|
21
|
+
decorative = _ref$decorative === void 0 ? true : _ref$decorative;
|
|
22
|
+
return /*#__PURE__*/_react["default"].createElement(StyledDivider, {
|
|
23
|
+
orientation: orientation,
|
|
24
|
+
weight: weight,
|
|
25
|
+
color: color,
|
|
26
|
+
"aria-orientation": orientation,
|
|
27
|
+
"aria-hidden": decorative
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
var StyledDivider = _styledComponents["default"].hr(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n"])), function (_ref2) {
|
|
31
|
+
var orientation = _ref2.orientation,
|
|
32
|
+
weight = _ref2.weight,
|
|
33
|
+
color = _ref2.color;
|
|
34
|
+
return "\n border-color: ".concat(color === "lightGrey" ? _coreTokens["default"].color_grey_200 : color === "mediumGrey" ? _coreTokens["default"].color_grey_400 : _coreTokens["default"].color_grey_700, ";\n ").concat(orientation === "horizontal" ? "width" : "min-height", ": 100%;\n ").concat(orientation === "horizontal" ? "height" : "width", ": 0px;\n ").concat(orientation === "horizontal" ? "border-width: " + (weight === "regular" ? "1px 0 0 0" : "2px 0 0 0") : "border-width: " + (weight === "regular" ? "0 0 0 1px" : "0 0 0 2px"), ";\n margin: 0px;\n ");
|
|
35
|
+
});
|
|
36
|
+
var _default = exports["default"] = DxcDivider;
|