@dxc-technology/halstack-react 0.0.0-89de434 → 0.0.0-8a597df
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/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +8 -21
- 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.js +4 -3
- package/action-icon/ActionIcon.stories.tsx +3 -3
- package/action-icon/types.d.ts +1 -1
- package/alert/Alert.accessibility.test.js +95 -0
- package/alert/Alert.js +15 -69
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.js +6 -4
- package/badge/Badge.stories.tsx +11 -11
- package/badge/types.d.ts +1 -1
- package/box/Box.accessibility.test.js +33 -0
- package/bulleted-list/BulletedList.accessibility.test.js +107 -0
- package/bulleted-list/BulletedList.js +6 -3
- package/bulleted-list/BulletedList.stories.tsx +1 -1
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.js +4 -3
- package/button/Button.stories.tsx +32 -51
- package/button/types.d.ts +1 -1
- package/card/Card.accessibility.test.js +36 -0
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- 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/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
- package/date-input/DateInput.accessibility.test.js +216 -0
- package/date-input/DateInput.js +1 -2
- package/date-input/DatePicker.js +12 -6
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.test.js +1 -1
- package/divider/Divider.accessibility.test.js +33 -0
- package/divider/types.d.ts +3 -1
- package/dropdown/Dropdown.accessibility.test.js +180 -0
- package/dropdown/Dropdown.js +12 -29
- package/dropdown/Dropdown.stories.tsx +5 -16
- package/dropdown/DropdownMenuItem.js +6 -3
- package/dropdown/types.d.ts +2 -4
- 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.js +7 -5
- package/footer/Footer.stories.tsx +28 -3
- package/footer/types.d.ts +1 -1
- package/header/Header.accessibility.test.js +84 -0
- package/header/Header.js +9 -20
- package/heading/Heading.accessibility.test.js +33 -0
- package/icon/Icon.accessibility.test.js +30 -0
- package/icon/Icon.js +1 -1
- package/icon/Icon.stories.tsx +5 -3
- package/image/Image.accessibility.test.js +56 -0
- 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/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.d.ts +1 -2
- package/nav-tabs/NavTabs.js +3 -3
- package/nav-tabs/NavTabs.stories.tsx +26 -23
- package/nav-tabs/NavTabs.test.js +1 -2
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +13 -14
- package/nav-tabs/types.d.ts +1 -1
- package/number-input/NumberInput.accessibility.test.js +228 -0
- package/number-input/NumberInput.d.ts +0 -7
- package/number-input/NumberInput.js +3 -3
- 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 +11 -11
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
- package/resultset-table/ResultsetTable.d.ts +1 -1
- package/resultset-table/ResultsetTable.js +10 -6
- package/resultset-table/ResultsetTable.stories.tsx +5 -1
- package/resultset-table/ResultsetTable.test.js +14 -4
- package/resultset-table/types.d.ts +38 -11
- package/select/Select.accessibility.test.js +217 -0
- package/select/Select.stories.tsx +0 -1
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.js +16 -12
- package/sidenav/Sidenav.stories.tsx +4 -9
- package/sidenav/types.d.ts +2 -2
- package/slider/Slider.accessibility.test.js +104 -0
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/status-light/StatusLight.accessibility.test.js +157 -0
- package/switch/Switch.accessibility.test.js +89 -0
- package/table/Table.accessibility.test.js +82 -0
- package/table/Table.js +1 -10
- package/table/Table.stories.tsx +2 -9
- package/table/types.d.ts +1 -15
- package/tabs/Tabs.accessibility.test.js +56 -0
- 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 +5 -3
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +10 -8
- package/text-input/TextInput.stories.tsx +1 -1
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.js +4 -3
- package/toggle-group/ToggleGroup.stories.tsx +3 -3
- package/toggle-group/types.d.ts +2 -2
- package/typography/Typography.accessibility.test.js +339 -0
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/date-input/Icons.d.ts +0 -6
- package/date-input/Icons.js +0 -58
- 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,71 @@
|
|
|
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 _Accordion = _interopRequireDefault(require("./Accordion.tsx"));
|
|
9
|
+
var _jestAxe = require("jest-axe");
|
|
10
|
+
var folderIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
11
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
12
|
+
enableBackground: "new 0 0 24 24",
|
|
13
|
+
height: "24px",
|
|
14
|
+
viewBox: "0 0 24 24",
|
|
15
|
+
width: "24px",
|
|
16
|
+
fill: "currentColor"
|
|
17
|
+
}, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("rect", {
|
|
18
|
+
fill: "none",
|
|
19
|
+
height: "24",
|
|
20
|
+
width: "24"
|
|
21
|
+
})), /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
|
|
22
|
+
d: "M20,6h-8l-2-2H4C2.9,4,2.01,4.9,2.01,6L2,18c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V8C22,6.9,21.1,6,20,6z M16,16h2v-2h-2v-2 h2v-2h-2V8h4v10h-4V16z M16,16h-2v2H4V6h5.17l2,2H14v2h2v2h-2v2h2V16z"
|
|
23
|
+
})));
|
|
24
|
+
describe("Accordion component accessibility tests", function () {
|
|
25
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
26
|
+
var _render, container, results;
|
|
27
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
28
|
+
while (1) switch (_context.prev = _context.next) {
|
|
29
|
+
case 0:
|
|
30
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Accordion["default"], {
|
|
31
|
+
label: "Accordion",
|
|
32
|
+
assistiveText: "Assistive Text",
|
|
33
|
+
icon: folderIcon,
|
|
34
|
+
margin: "small",
|
|
35
|
+
defaultIsExpanded: true
|
|
36
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, "test-expanded"))), container = _render.container;
|
|
37
|
+
_context.next = 3;
|
|
38
|
+
return (0, _jestAxe.axe)(container);
|
|
39
|
+
case 3:
|
|
40
|
+
results = _context.sent;
|
|
41
|
+
expect(results).toHaveNoViolations();
|
|
42
|
+
case 5:
|
|
43
|
+
case "end":
|
|
44
|
+
return _context.stop();
|
|
45
|
+
}
|
|
46
|
+
}, _callee);
|
|
47
|
+
})));
|
|
48
|
+
it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
49
|
+
var _render2, container, results;
|
|
50
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
51
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
52
|
+
case 0:
|
|
53
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Accordion["default"], {
|
|
54
|
+
label: "Accordion",
|
|
55
|
+
assistiveText: "Assistive Text",
|
|
56
|
+
icon: folderIcon,
|
|
57
|
+
margin: "small",
|
|
58
|
+
disabled: true
|
|
59
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, "test-expanded"))), container = _render2.container;
|
|
60
|
+
_context2.next = 3;
|
|
61
|
+
return (0, _jestAxe.axe)(container);
|
|
62
|
+
case 3:
|
|
63
|
+
results = _context2.sent;
|
|
64
|
+
expect(results).toHaveNoViolations();
|
|
65
|
+
case 5:
|
|
66
|
+
case "end":
|
|
67
|
+
return _context2.stop();
|
|
68
|
+
}
|
|
69
|
+
}, _callee2);
|
|
70
|
+
})));
|
|
71
|
+
});
|
package/accordion/Accordion.js
CHANGED
|
@@ -16,25 +16,10 @@ var _variables = require("../common/variables");
|
|
|
16
16
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
17
17
|
var _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
|
|
18
18
|
var _uuid = require("uuid");
|
|
19
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
19
20
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
|
20
21
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
21
22
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
22
|
-
var expandLess = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
23
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
24
|
-
height: "24",
|
|
25
|
-
width: "24",
|
|
26
|
-
fill: "currentColor"
|
|
27
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
28
|
-
d: "m7.4 15.375-1.4-1.4 6-6 6 6-1.4 1.4-4.6-4.6Z"
|
|
29
|
-
}));
|
|
30
|
-
var expandMore = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
31
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
32
|
-
height: "24",
|
|
33
|
-
width: "24",
|
|
34
|
-
fill: "currentColor"
|
|
35
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
36
|
-
d: "m12 15.375-6-6 1.4-1.4 4.6 4.6 4.6-4.6 1.4 1.4Z"
|
|
37
|
-
}));
|
|
38
23
|
var DxcAccordion = function DxcAccordion(_ref) {
|
|
39
24
|
var _ref$label = _ref.label,
|
|
40
25
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
@@ -80,8 +65,8 @@ var DxcAccordion = function DxcAccordion(_ref) {
|
|
|
80
65
|
isExpanded: isExpanded !== null && isExpanded !== void 0 ? isExpanded : innerIsExpanded
|
|
81
66
|
}, /*#__PURE__*/_react["default"].createElement(AccordionInfo, null, /*#__PURE__*/_react["default"].createElement(AccordionLabel, null, icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
82
67
|
disabled: disabled
|
|
83
|
-
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("
|
|
84
|
-
|
|
68
|
+
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
69
|
+
icon: icon
|
|
85
70
|
}) : icon), /*#__PURE__*/_react["default"].createElement(_BaseTypography["default"], {
|
|
86
71
|
color: disabled ? colorsTheme.accordion.disabledTitleLabelFontColor : colorsTheme.accordion.titleLabelFontColor,
|
|
87
72
|
fontFamily: colorsTheme.accordion.titleLabelFontFamily,
|
|
@@ -99,7 +84,9 @@ var DxcAccordion = function DxcAccordion(_ref) {
|
|
|
99
84
|
lineHeight: "1.5em"
|
|
100
85
|
}, assistiveText))), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
|
|
101
86
|
disabled: disabled
|
|
102
|
-
},
|
|
87
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
88
|
+
icon: (isExpanded !== null && isExpanded !== void 0 ? isExpanded : innerIsExpanded) ? "expand_less" : "expand_more"
|
|
89
|
+
})))), (isExpanded !== null && isExpanded !== void 0 ? isExpanded : innerIsExpanded) && /*#__PURE__*/_react["default"].createElement(AccordionPanel, {
|
|
103
90
|
id: "accordion-panel-".concat(id),
|
|
104
91
|
role: "region",
|
|
105
92
|
"aria-labelledby": "accordion-".concat(id)
|
|
@@ -153,7 +140,7 @@ var AccordionLabel = _styledComponents["default"].span(_templateObject5 || (_tem
|
|
|
153
140
|
}, function (props) {
|
|
154
141
|
return props.theme.titleLabelPaddingLeft;
|
|
155
142
|
});
|
|
156
|
-
var IconContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n margin-left: ", ";\n margin-right: ", ";\n color: ", ";\n\n svg
|
|
143
|
+
var IconContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n margin-left: ", ";\n margin-right: ", ";\n color: ", ";\n font-size: 24px;\n\n svg {\n height: ", ";\n width: ", ";\n }\n"])), function (props) {
|
|
157
144
|
return props.theme.iconMarginLeft;
|
|
158
145
|
}, function (props) {
|
|
159
146
|
return props.theme.iconMarginRight;
|
|
@@ -171,7 +158,7 @@ var AccordionAssistiveText = _styledComponents["default"].span(_templateObject7
|
|
|
171
158
|
}, function (props) {
|
|
172
159
|
return props.theme.assistiveTextPaddingRight;
|
|
173
160
|
});
|
|
174
|
-
var CollapseIndicator = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n color: ", ";\n"])), function (props) {
|
|
161
|
+
var CollapseIndicator = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n font-size: 24px;\n color: ", ";\n"])), function (props) {
|
|
175
162
|
return props.disabled ? props.theme.disabledArrowColor : props.theme.arrowColor;
|
|
176
163
|
});
|
|
177
164
|
var AccordionPanel = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n"])), function (props) {
|
|
@@ -9,24 +9,6 @@ export default {
|
|
|
9
9
|
component: DxcAccordion,
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
-
const folderIcon = (
|
|
13
|
-
<svg
|
|
14
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
15
|
-
enableBackground="new 0 0 24 24"
|
|
16
|
-
height="24px"
|
|
17
|
-
viewBox="0 0 24 24"
|
|
18
|
-
width="24px"
|
|
19
|
-
fill="currentColor"
|
|
20
|
-
>
|
|
21
|
-
<g>
|
|
22
|
-
<rect fill="none" height="24" width="24" />
|
|
23
|
-
</g>
|
|
24
|
-
<g>
|
|
25
|
-
<path d="M20,6h-8l-2-2H4C2.9,4,2.01,4.9,2.01,6L2,18c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V8C22,6.9,21.1,6,20,6z M16,16h2v-2h-2v-2 h2v-2h-2V8h4v10h-4V16z M16,16h-2v2H4V6h5.17l2,2H14v2h2v2h-2v2h2V16z" />
|
|
26
|
-
</g>
|
|
27
|
-
</svg>
|
|
28
|
-
);
|
|
29
|
-
|
|
30
12
|
const smallIcon = (
|
|
31
13
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" height="20" width="20">
|
|
32
14
|
<path d="m7.646 18.333-.313-2.625q-.208-.125-.458-.27-.25-.146-.458-.271l-2.438 1.021-2.354-4.063 2.083-1.583V9.458L1.625 7.875l2.354-4.063 2.438 1.021q.208-.125.458-.27.25-.146.458-.271l.313-2.625h4.708l.313 2.625q.208.125.458.271.25.145.458.27l2.438-1.021 2.354 4.063-2.063 1.583v1.084l2.063 1.583-2.354 4.063-2.438-1.021q-.208.125-.458.271-.25.145-.458.27l-.313 2.625ZM10 12.979q1.229 0 2.104-.875T12.979 10q0-1.229-.875-2.104T10 7.021q-1.229 0-2.104.875T7.021 10q0 1.229.875 2.104t2.104.875Zm0-1.75q-.5 0-.865-.364-.364-.365-.364-.865t.364-.865q.365-.364.865-.364t.865.364q.364.365.364.865t-.364.865q-.365.364-.865.364ZM10.021 10Zm-.854 6.583h1.666l.25-2.166q.605-.167 1.167-.5.562-.334 1.021-.792l2.021.854.833-1.375-1.771-1.354q.104-.292.146-.604.042-.313.042-.646 0-.292-.042-.594t-.125-.635l1.771-1.375-.834-1.375-2.02.875q-.48-.479-1.032-.802-.552-.323-1.156-.49l-.271-2.187H9.167l-.271 2.187q-.604.167-1.156.49-.552.323-1.011.781l-2.021-.854-.833 1.375 1.75 1.354q-.083.333-.125.646-.042.312-.042.604t.042.594q.042.302.125.635l-1.75 1.375.833 1.375 2.021-.854q.459.458 1.011.781.552.323 1.156.49Z" />
|
|
@@ -36,7 +18,6 @@ const smallIcon = (
|
|
|
36
18
|
const facebookIcon = (
|
|
37
19
|
<svg
|
|
38
20
|
version="1.1"
|
|
39
|
-
id="Capa_1"
|
|
40
21
|
x="0px"
|
|
41
22
|
y="0px"
|
|
42
23
|
width="438.536px"
|
|
@@ -98,7 +79,7 @@ export const Chromatic = () => (
|
|
|
98
79
|
</ExampleContainer>
|
|
99
80
|
<ExampleContainer>
|
|
100
81
|
<Title title="With icon" theme="light" level={4} />
|
|
101
|
-
<DxcAccordion label="Accordion" assistiveText="Assistive text" icon=
|
|
82
|
+
<DxcAccordion label="Accordion" assistiveText="Assistive text" icon="folder">
|
|
102
83
|
<div>
|
|
103
84
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
|
|
104
85
|
lobortis eget.
|
|
@@ -123,19 +104,6 @@ export const Chromatic = () => (
|
|
|
123
104
|
</div>
|
|
124
105
|
</DxcAccordion>
|
|
125
106
|
</ExampleContainer>
|
|
126
|
-
<ExampleContainer>
|
|
127
|
-
<Title title="With bigger icon (image)" theme="light" level={4} />
|
|
128
|
-
<DxcAccordion
|
|
129
|
-
label="Accordion"
|
|
130
|
-
assistiveText="Assistive text"
|
|
131
|
-
icon="https://www.freepnglogos.com/uploads/facebook-logo-design-1.png"
|
|
132
|
-
>
|
|
133
|
-
<div>
|
|
134
|
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
|
|
135
|
-
lobortis eget.
|
|
136
|
-
</div>
|
|
137
|
-
</DxcAccordion>
|
|
138
|
-
</ExampleContainer>
|
|
139
107
|
<Title title="States" theme="light" level={2} />
|
|
140
108
|
<ExampleContainer pseudoState="pseudo-focus">
|
|
141
109
|
<Title title="Focused" theme="light" level={4} />
|
|
@@ -166,7 +134,7 @@ export const Chromatic = () => (
|
|
|
166
134
|
</ExampleContainer>
|
|
167
135
|
<ExampleContainer>
|
|
168
136
|
<Title title="Disabled" theme="light" level={4} />
|
|
169
|
-
<DxcAccordion label="Disabled" assistiveText="Assistive text" icon=
|
|
137
|
+
<DxcAccordion label="Disabled" assistiveText="Assistive text" icon="folder" disabled>
|
|
170
138
|
<div>
|
|
171
139
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
|
|
172
140
|
lobortis eget.
|
|
@@ -241,7 +209,7 @@ export const Chromatic = () => (
|
|
|
241
209
|
<ExampleContainer>
|
|
242
210
|
<Title title="With assistive text and icon" theme="light" level={4} />
|
|
243
211
|
<HalstackProvider theme={opinionatedTheme}>
|
|
244
|
-
<DxcAccordion label="Accordion" assistiveText="Assistive text" icon=
|
|
212
|
+
<DxcAccordion label="Accordion" assistiveText="Assistive text" icon="folder">
|
|
245
213
|
Content
|
|
246
214
|
</DxcAccordion>
|
|
247
215
|
</HalstackProvider>
|
|
@@ -271,7 +239,7 @@ export const Chromatic = () => (
|
|
|
271
239
|
<ExampleContainer>
|
|
272
240
|
<Title title="Disabled" theme="light" level={4} />
|
|
273
241
|
<HalstackProvider theme={opinionatedTheme}>
|
|
274
|
-
<DxcAccordion label="Disabled" assistiveText="Assistive text" icon=
|
|
242
|
+
<DxcAccordion label="Disabled" assistiveText="Assistive text" icon="folder" disabled>
|
|
275
243
|
<div>
|
|
276
244
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
|
|
277
245
|
leo lobortis eget.
|
package/accordion/types.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ type Props = {
|
|
|
23
23
|
*/
|
|
24
24
|
isExpanded?: boolean;
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* Material Symbol name or SVG element used as the icon that will be placed next to panel label.
|
|
27
27
|
*/
|
|
28
28
|
icon?: string | SVG;
|
|
29
29
|
/**
|
|
@@ -0,0 +1,88 @@
|
|
|
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 _AccordionGroup = _interopRequireDefault(require("./AccordionGroup.tsx"));
|
|
9
|
+
var _jestAxe = require("jest-axe");
|
|
10
|
+
var folderIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
11
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
12
|
+
enableBackground: "new 0 0 24 24",
|
|
13
|
+
height: "24px",
|
|
14
|
+
viewBox: "0 0 24 24",
|
|
15
|
+
width: "24px",
|
|
16
|
+
fill: "currentColor"
|
|
17
|
+
}, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("rect", {
|
|
18
|
+
fill: "none",
|
|
19
|
+
height: "24",
|
|
20
|
+
width: "24"
|
|
21
|
+
})), /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
|
|
22
|
+
d: "M20,6h-8l-2-2H4C2.9,4,2.01,4.9,2.01,6L2,18c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V8C22,6.9,21.1,6,20,6z M16,16h2v-2h-2v-2 h2v-2h-2V8h4v10h-4V16z M16,16h-2v2H4V6h5.17l2,2H14v2h2v2h-2v2h2V16z"
|
|
23
|
+
})));
|
|
24
|
+
describe("Accordion component accessibility tests", function () {
|
|
25
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
26
|
+
var _render, container, results;
|
|
27
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
28
|
+
while (1) switch (_context.prev = _context.next) {
|
|
29
|
+
case 0:
|
|
30
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
|
|
31
|
+
defaultIndexActive: 1
|
|
32
|
+
}, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
|
|
33
|
+
label: "Accordion1",
|
|
34
|
+
assistiveText: "Assistive Text1",
|
|
35
|
+
icon: folderIcon,
|
|
36
|
+
margin: "small",
|
|
37
|
+
defaultIsExpanded: true
|
|
38
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, "First accordion")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
|
|
39
|
+
label: "Accordion2",
|
|
40
|
+
assistiveText: "Assistive Text2",
|
|
41
|
+
icon: folderIcon,
|
|
42
|
+
margin: "small",
|
|
43
|
+
defaultIsExpanded: true
|
|
44
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, "Second accordion")))), container = _render.container;
|
|
45
|
+
_context.next = 3;
|
|
46
|
+
return (0, _jestAxe.axe)(container);
|
|
47
|
+
case 3:
|
|
48
|
+
results = _context.sent;
|
|
49
|
+
expect(results).toHaveNoViolations();
|
|
50
|
+
case 5:
|
|
51
|
+
case "end":
|
|
52
|
+
return _context.stop();
|
|
53
|
+
}
|
|
54
|
+
}, _callee);
|
|
55
|
+
})));
|
|
56
|
+
it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
57
|
+
var _render2, container, results;
|
|
58
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
59
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
60
|
+
case 0:
|
|
61
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
|
|
62
|
+
defaultIndexActive: 1,
|
|
63
|
+
disabled: true
|
|
64
|
+
}, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
|
|
65
|
+
label: "Accordion1",
|
|
66
|
+
assistiveText: "Assistive Text1",
|
|
67
|
+
icon: folderIcon,
|
|
68
|
+
margin: "small",
|
|
69
|
+
defaultIsExpanded: true
|
|
70
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, "First accordion")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
|
|
71
|
+
label: "Accordion2",
|
|
72
|
+
assistiveText: "Assistive Text2",
|
|
73
|
+
icon: folderIcon,
|
|
74
|
+
margin: "small",
|
|
75
|
+
defaultIsExpanded: true
|
|
76
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, "Second accordion")))), container = _render2.container;
|
|
77
|
+
_context2.next = 3;
|
|
78
|
+
return (0, _jestAxe.axe)(container);
|
|
79
|
+
case 3:
|
|
80
|
+
results = _context2.sent;
|
|
81
|
+
expect(results).toHaveNoViolations();
|
|
82
|
+
case 5:
|
|
83
|
+
case "end":
|
|
84
|
+
return _context2.stop();
|
|
85
|
+
}
|
|
86
|
+
}, _callee2);
|
|
87
|
+
})));
|
|
88
|
+
});
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
import AccordionGroupPropsType
|
|
3
|
-
export declare const AccordionGroupAccordionContext: React.Context<AccordionGroupAccordionContextProps>;
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import AccordionGroupPropsType from "./types";
|
|
4
3
|
declare const DxcAccordionGroup: {
|
|
5
4
|
({ defaultIndexActive, indexActive, disabled, onActiveChange, margin, children, }: AccordionGroupPropsType): JSX.Element;
|
|
6
5
|
Accordion: ({ ...childProps }: import("./types").AccordionPropsType) => JSX.Element;
|
|
@@ -5,7 +5,7 @@ var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports["default"] =
|
|
8
|
+
exports["default"] = void 0;
|
|
9
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
10
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
@@ -16,12 +16,12 @@ var _utils = require("../common/utils");
|
|
|
16
16
|
var _variables = require("../common/variables");
|
|
17
17
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
18
18
|
var _AccordionGroupAccordion = _interopRequireDefault(require("./AccordionGroupAccordion"));
|
|
19
|
+
var _AccordionGroupContext = require("./AccordionGroupContext");
|
|
19
20
|
var _templateObject;
|
|
20
21
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
21
22
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
22
23
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
23
24
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
24
|
-
var AccordionGroupAccordionContext = exports.AccordionGroupAccordionContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
25
25
|
var DxcAccordionGroup = function DxcAccordionGroup(_ref) {
|
|
26
26
|
var defaultIndexActive = _ref.defaultIndexActive,
|
|
27
27
|
indexActive = _ref.indexActive,
|
|
@@ -54,7 +54,7 @@ var DxcAccordionGroup = function DxcAccordionGroup(_ref) {
|
|
|
54
54
|
margin: margin,
|
|
55
55
|
disabled: disabled
|
|
56
56
|
}, _react.Children.map(children, function (accordion, index) {
|
|
57
|
-
return /*#__PURE__*/_react["default"].createElement(AccordionGroupAccordionContext.Provider, {
|
|
57
|
+
return /*#__PURE__*/_react["default"].createElement(_AccordionGroupContext.AccordionGroupAccordionContext.Provider, {
|
|
58
58
|
key: "accordion-".concat(index),
|
|
59
59
|
value: _objectSpread({
|
|
60
60
|
index: index
|
|
@@ -10,12 +10,12 @@ var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/
|
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _Accordion = _interopRequireDefault(require("../accordion/Accordion"));
|
|
13
|
-
var
|
|
13
|
+
var _AccordionGroupContext = require("./AccordionGroupContext");
|
|
14
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
15
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
16
16
|
var AccordionGroupAccordion = function AccordionGroupAccordion(_ref) {
|
|
17
17
|
var childProps = (0, _extends2["default"])({}, ((0, _objectDestructuringEmpty2["default"])(_ref), _ref));
|
|
18
|
-
var _useContext = (0, _react.useContext)(
|
|
18
|
+
var _useContext = (0, _react.useContext)(_AccordionGroupContext.AccordionGroupAccordionContext),
|
|
19
19
|
activeIndex = _useContext.activeIndex,
|
|
20
20
|
handlerActiveChange = _useContext.handlerActiveChange,
|
|
21
21
|
disabled = _useContext.disabled,
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.AccordionGroupAccordionContext = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var AccordionGroupAccordionContext = exports.AccordionGroupAccordionContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
@@ -13,7 +13,7 @@ export type AccordionPropsType = {
|
|
|
13
13
|
*/
|
|
14
14
|
label: string;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* Material Symbol name or SVG element used as the icon that will be placed next to panel label.
|
|
17
17
|
*/
|
|
18
18
|
icon?: string | SVG;
|
|
19
19
|
/**
|
|
@@ -0,0 +1,63 @@
|
|
|
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 _ActionIcon = _interopRequireDefault(require("./ActionIcon.tsx"));
|
|
9
|
+
var _jestAxe = require("jest-axe");
|
|
10
|
+
var iconSVG = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
11
|
+
width: "24px",
|
|
12
|
+
height: "24px",
|
|
13
|
+
viewBox: "0 0 24 24",
|
|
14
|
+
fill: "currentColor"
|
|
15
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
16
|
+
d: "M0 0h24v24H0z",
|
|
17
|
+
fill: "none"
|
|
18
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
19
|
+
d: "M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"
|
|
20
|
+
}));
|
|
21
|
+
describe("Action icon component accessibility tests", function () {
|
|
22
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
23
|
+
var _render, container, results;
|
|
24
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
25
|
+
while (1) switch (_context.prev = _context.next) {
|
|
26
|
+
case 0:
|
|
27
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ActionIcon["default"], {
|
|
28
|
+
icon: iconSVG,
|
|
29
|
+
title: "favourite"
|
|
30
|
+
})), container = _render.container;
|
|
31
|
+
_context.next = 3;
|
|
32
|
+
return (0, _jestAxe.axe)(container);
|
|
33
|
+
case 3:
|
|
34
|
+
results = _context.sent;
|
|
35
|
+
expect(results).toHaveNoViolations();
|
|
36
|
+
case 5:
|
|
37
|
+
case "end":
|
|
38
|
+
return _context.stop();
|
|
39
|
+
}
|
|
40
|
+
}, _callee);
|
|
41
|
+
})));
|
|
42
|
+
it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
43
|
+
var _render2, container, results;
|
|
44
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
45
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
46
|
+
case 0:
|
|
47
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ActionIcon["default"], {
|
|
48
|
+
icon: iconSVG,
|
|
49
|
+
title: "disabled",
|
|
50
|
+
disabled: true
|
|
51
|
+
})), container = _render2.container;
|
|
52
|
+
_context2.next = 3;
|
|
53
|
+
return (0, _jestAxe.axe)(container);
|
|
54
|
+
case 3:
|
|
55
|
+
results = _context2.sent;
|
|
56
|
+
expect(results).toHaveNoViolations();
|
|
57
|
+
case 5:
|
|
58
|
+
case "end":
|
|
59
|
+
return _context2.stop();
|
|
60
|
+
}
|
|
61
|
+
}, _callee2);
|
|
62
|
+
})));
|
|
63
|
+
});
|
|
@@ -9,6 +9,7 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
10
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
11
|
var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
|
|
12
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
12
13
|
var _templateObject;
|
|
13
14
|
var DxcActionIcon = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
14
15
|
var _ref$disabled = _ref.disabled,
|
|
@@ -28,11 +29,11 @@ var DxcActionIcon = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
|
|
|
28
29
|
title: title,
|
|
29
30
|
type: "button",
|
|
30
31
|
ref: ref
|
|
31
|
-
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("
|
|
32
|
-
|
|
32
|
+
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
33
|
+
icon: icon
|
|
33
34
|
}) : icon);
|
|
34
35
|
});
|
|
35
|
-
var ActionIcon = _styledComponents["default"].button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n border: none;\n border-radius: 2px;\n width: 24px;\n height: 24px;\n padding: 0px;\n ", "\n\n box-shadow: 0 0 0 2px transparent;\n background-color: ", ";\n color: ", ";\n\n ", "\n\n
|
|
36
|
+
var ActionIcon = _styledComponents["default"].button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n border: none;\n border-radius: 2px;\n width: 24px;\n height: 24px;\n font-size: 16px;\n padding: 0px;\n ", "\n\n box-shadow: 0 0 0 2px transparent;\n background-color: ", ";\n color: ", ";\n\n ", "\n\n svg {\n width: 16px;\n height: 16px;\n }\n"])), function (props) {
|
|
36
37
|
return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
|
|
37
38
|
}, function (props) {
|
|
38
39
|
var _props$theme$disabled, _props$theme$actionBa;
|
|
@@ -19,15 +19,15 @@ export const Chromatic = () => (
|
|
|
19
19
|
<>
|
|
20
20
|
<Title title="Default" theme="light" level={2} />
|
|
21
21
|
<ExampleContainer>
|
|
22
|
-
<DxcActionIcon icon=
|
|
22
|
+
<DxcActionIcon icon="favorite" title="Favourite" />
|
|
23
23
|
</ExampleContainer>
|
|
24
24
|
<Title title="Disabled" theme="light" level={2} />
|
|
25
25
|
<ExampleContainer>
|
|
26
|
-
<DxcActionIcon icon=
|
|
26
|
+
<DxcActionIcon icon="favorite" title="Favourite" disabled />
|
|
27
27
|
</ExampleContainer>
|
|
28
28
|
<Title title="Hover" theme="light" level={2} />
|
|
29
29
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
30
|
-
<DxcActionIcon icon=
|
|
30
|
+
<DxcActionIcon icon="filled_favorite" title="Favourite" />
|
|
31
31
|
</ExampleContainer>
|
|
32
32
|
<Title title="Focus" theme="light" level={2} />
|
|
33
33
|
<ExampleContainer pseudoState="pseudo-focus">
|
package/action-icon/types.d.ts
CHANGED
|
@@ -0,0 +1,95 @@
|
|
|
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 _Alert = _interopRequireDefault(require("./Alert.tsx"));
|
|
10
|
+
describe("Alert component accessibility tests", function () {
|
|
11
|
+
it("Should not have basic accessibility issues for confirm mode", /*#__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(_Alert["default"], {
|
|
17
|
+
type: "confirm",
|
|
18
|
+
inlineText: "info-alert-text",
|
|
19
|
+
margin: "small"
|
|
20
|
+
})), container = _render.container;
|
|
21
|
+
_context.next = 3;
|
|
22
|
+
return (0, _jestAxe.axe)(container);
|
|
23
|
+
case 3:
|
|
24
|
+
results = _context.sent;
|
|
25
|
+
expect(results).toHaveNoViolations();
|
|
26
|
+
case 5:
|
|
27
|
+
case "end":
|
|
28
|
+
return _context.stop();
|
|
29
|
+
}
|
|
30
|
+
}, _callee);
|
|
31
|
+
})));
|
|
32
|
+
it("Should not have basic accessibility issues for error mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
33
|
+
var _render2, container, results;
|
|
34
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
35
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
36
|
+
case 0:
|
|
37
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
|
|
38
|
+
type: "error",
|
|
39
|
+
inlineText: "info-alert-text",
|
|
40
|
+
margin: "small"
|
|
41
|
+
})), container = _render2.container;
|
|
42
|
+
_context2.next = 3;
|
|
43
|
+
return (0, _jestAxe.axe)(container);
|
|
44
|
+
case 3:
|
|
45
|
+
results = _context2.sent;
|
|
46
|
+
expect(results).toHaveNoViolations();
|
|
47
|
+
case 5:
|
|
48
|
+
case "end":
|
|
49
|
+
return _context2.stop();
|
|
50
|
+
}
|
|
51
|
+
}, _callee2);
|
|
52
|
+
})));
|
|
53
|
+
it("Should not have basic accessibility issues for info mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
54
|
+
var _render3, container, results;
|
|
55
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
56
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
57
|
+
case 0:
|
|
58
|
+
_render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
|
|
59
|
+
type: "info",
|
|
60
|
+
inlineText: "info-alert-text",
|
|
61
|
+
margin: "small"
|
|
62
|
+
})), container = _render3.container;
|
|
63
|
+
_context3.next = 3;
|
|
64
|
+
return (0, _jestAxe.axe)(container);
|
|
65
|
+
case 3:
|
|
66
|
+
results = _context3.sent;
|
|
67
|
+
expect(results).toHaveNoViolations();
|
|
68
|
+
case 5:
|
|
69
|
+
case "end":
|
|
70
|
+
return _context3.stop();
|
|
71
|
+
}
|
|
72
|
+
}, _callee3);
|
|
73
|
+
})));
|
|
74
|
+
it("Should not have basic accessibility issues for warning mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
75
|
+
var _render4, container, results;
|
|
76
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
77
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
78
|
+
case 0:
|
|
79
|
+
_render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
|
|
80
|
+
type: "warning",
|
|
81
|
+
inlineText: "info-alert-text",
|
|
82
|
+
margin: "small"
|
|
83
|
+
})), container = _render4.container;
|
|
84
|
+
_context4.next = 3;
|
|
85
|
+
return (0, _jestAxe.axe)(container);
|
|
86
|
+
case 3:
|
|
87
|
+
results = _context4.sent;
|
|
88
|
+
expect(results).toHaveNoViolations();
|
|
89
|
+
case 5:
|
|
90
|
+
case "end":
|
|
91
|
+
return _context4.stop();
|
|
92
|
+
}
|
|
93
|
+
}, _callee4);
|
|
94
|
+
})));
|
|
95
|
+
});
|