@dxc-technology/halstack-react 0.0.0-bd89f9e → 0.0.0-bdaadec
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 +140 -29
- 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.js +2 -2
- 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 +10 -21
- 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 +5 -7
- package/sidenav/Sidenav.stories.tsx +0 -1
- 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/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/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
package/select/types.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ type Margin = {
|
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
9
|
type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
10
|
-
type OptionGroup = {
|
|
10
|
+
export type OptionGroup = {
|
|
11
11
|
/**
|
|
12
12
|
* Label of the group to be shown in the select's listbox.
|
|
13
13
|
*/
|
|
@@ -17,7 +17,7 @@ type OptionGroup = {
|
|
|
17
17
|
*/
|
|
18
18
|
options: Option[];
|
|
19
19
|
};
|
|
20
|
-
type Option = {
|
|
20
|
+
export type Option = {
|
|
21
21
|
/**
|
|
22
22
|
* Element used as the icon that will be placed before the option label.
|
|
23
23
|
* It can be a url of an image or an inline SVG. If the url option
|
|
@@ -0,0 +1,59 @@
|
|
|
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 _Sidenav = _interopRequireDefault(require("./Sidenav.tsx"));
|
|
10
|
+
var iconSVG = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
11
|
+
version: "1.1",
|
|
12
|
+
x: "0px",
|
|
13
|
+
y: "0px",
|
|
14
|
+
width: "438.536px",
|
|
15
|
+
height: "438.536px",
|
|
16
|
+
viewBox: "0 0 438.536 438.536",
|
|
17
|
+
fill: "currentColor"
|
|
18
|
+
}, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
|
|
19
|
+
d: "M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123\nC8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126\nh274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225\nC438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402\nc0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401\nc-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
|
|
20
|
+
})));
|
|
21
|
+
describe("Sidenav 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(_Sidenav["default"], {
|
|
28
|
+
title: "Title"
|
|
29
|
+
}, /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Section, null, /*#__PURE__*/_react["default"].createElement("p", null, "nav-content-test"), /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Link, {
|
|
30
|
+
href: "#",
|
|
31
|
+
icon: iconSVG,
|
|
32
|
+
selected: true
|
|
33
|
+
}, "Link")), /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Section, null, /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Group, {
|
|
34
|
+
title: "Collapsable",
|
|
35
|
+
icon: iconSVG,
|
|
36
|
+
collapsable: true
|
|
37
|
+
}, /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Link, {
|
|
38
|
+
href: "#"
|
|
39
|
+
}, "Lorem ipsum"), /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Link, {
|
|
40
|
+
href: "#"
|
|
41
|
+
}, "Lorem ipsum"), /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Link, {
|
|
42
|
+
href: "#"
|
|
43
|
+
}, "Lorem ipsum"), /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Link, {
|
|
44
|
+
href: "#"
|
|
45
|
+
}, "Lorem ipsum"), /*#__PURE__*/_react["default"].createElement(_Sidenav["default"].Link, {
|
|
46
|
+
href: "#"
|
|
47
|
+
}, "Lorem ipsum"))))), container = _render.container;
|
|
48
|
+
_context.next = 3;
|
|
49
|
+
return (0, _jestAxe.axe)(container);
|
|
50
|
+
case 3:
|
|
51
|
+
results = _context.sent;
|
|
52
|
+
expect(results).toHaveNoViolations();
|
|
53
|
+
case 5:
|
|
54
|
+
case "end":
|
|
55
|
+
return _context.stop();
|
|
56
|
+
}
|
|
57
|
+
}, _callee);
|
|
58
|
+
})));
|
|
59
|
+
});
|
package/sidenav/Sidenav.js
CHANGED
|
@@ -13,12 +13,12 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
13
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
14
14
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
15
15
|
var _variables = require("../common/variables");
|
|
16
|
-
var _SidenavContext = require("
|
|
16
|
+
var _SidenavContext = require("./SidenavContext");
|
|
17
17
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
18
|
-
var _BackgroundColorContext = require("../BackgroundColorContext");
|
|
19
18
|
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
20
19
|
var _Bleed = _interopRequireDefault(require("../bleed/Bleed"));
|
|
21
20
|
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
21
|
+
var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
|
|
22
22
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
|
|
23
23
|
var _excluded = ["href", "newWindow", "selected", "icon", "onClick", "tabIndex", "children"];
|
|
24
24
|
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); }
|
|
@@ -29,12 +29,10 @@ var DxcSidenav = function DxcSidenav(_ref) {
|
|
|
29
29
|
var colorsTheme = (0, _useTheme["default"])();
|
|
30
30
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
31
31
|
theme: colorsTheme.sidenav
|
|
32
|
-
}, /*#__PURE__*/_react["default"].createElement(SidenavContainer, null, /*#__PURE__*/_react["default"].createElement(
|
|
33
|
-
color: colorsTheme.sidenav.backgroundColor
|
|
34
|
-
}, title, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
32
|
+
}, /*#__PURE__*/_react["default"].createElement(SidenavContainer, null, title, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
35
33
|
direction: "column",
|
|
36
34
|
gap: "1rem"
|
|
37
|
-
}, children)))
|
|
35
|
+
}, children)));
|
|
38
36
|
};
|
|
39
37
|
var Title = function Title(_ref2) {
|
|
40
38
|
var children = _ref2.children;
|
|
@@ -141,7 +139,7 @@ var SidenavTitle = _styledComponents["default"].div(_templateObject2 || (_templa
|
|
|
141
139
|
}, function (props) {
|
|
142
140
|
return props.theme.titleFontTextTransform;
|
|
143
141
|
});
|
|
144
|
-
var Divider = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 1px;\n background-color:
|
|
142
|
+
var Divider = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 1px;\n background-color: ", ";\n\n &:last-child {\n display: none;\n }\n"])), _coreTokens["default"].color_grey_400);
|
|
145
143
|
var SidenavGroup = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n a {\n padding: 0.5rem 1.2rem 0.5rem 2.25rem;\n }\n"])));
|
|
146
144
|
var SidenavGroupTitle = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.5rem 1.2rem;\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n font-size: ", ";\n\n img,\n svg {\n height: 16px;\n width: 16px;\n }\n"])), function (props) {
|
|
147
145
|
return props.theme.groupTitleFontFamily;
|
|
@@ -0,0 +1,104 @@
|
|
|
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 _Slider = _interopRequireDefault(require("./Slider.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("Slider 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, container, results;
|
|
45
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
46
|
+
while (1) switch (_context.prev = _context.next) {
|
|
47
|
+
case 0:
|
|
48
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
49
|
+
helperText: "Helper Text",
|
|
50
|
+
margin: "medium",
|
|
51
|
+
name: "Name",
|
|
52
|
+
size: "medium",
|
|
53
|
+
label: "label",
|
|
54
|
+
step: 10,
|
|
55
|
+
minValue: 0,
|
|
56
|
+
maxValue: 100,
|
|
57
|
+
value: 50,
|
|
58
|
+
showLimitsValues: true,
|
|
59
|
+
showInput: true,
|
|
60
|
+
marks: true
|
|
61
|
+
})), container = _render.container;
|
|
62
|
+
_context.next = 3;
|
|
63
|
+
return (0, _jestAxe.axe)(container);
|
|
64
|
+
case 3:
|
|
65
|
+
results = _context.sent;
|
|
66
|
+
expect(results).toHaveNoViolations();
|
|
67
|
+
case 5:
|
|
68
|
+
case "end":
|
|
69
|
+
return _context.stop();
|
|
70
|
+
}
|
|
71
|
+
}, _callee);
|
|
72
|
+
})));
|
|
73
|
+
it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
74
|
+
var _render2, container, results;
|
|
75
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
76
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
77
|
+
case 0:
|
|
78
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Slider["default"], {
|
|
79
|
+
helperText: "Helper Text",
|
|
80
|
+
margin: "medium",
|
|
81
|
+
name: "Name",
|
|
82
|
+
size: "medium",
|
|
83
|
+
label: "label",
|
|
84
|
+
step: 10,
|
|
85
|
+
minValue: 0,
|
|
86
|
+
maxValue: 100,
|
|
87
|
+
value: 50,
|
|
88
|
+
showLimitsValues: true,
|
|
89
|
+
showInput: true,
|
|
90
|
+
marks: true,
|
|
91
|
+
disabled: true
|
|
92
|
+
})), container = _render2.container;
|
|
93
|
+
_context2.next = 3;
|
|
94
|
+
return (0, _jestAxe.axe)(container);
|
|
95
|
+
case 3:
|
|
96
|
+
results = _context2.sent;
|
|
97
|
+
expect(results).toHaveNoViolations();
|
|
98
|
+
case 5:
|
|
99
|
+
case "end":
|
|
100
|
+
return _context2.stop();
|
|
101
|
+
}
|
|
102
|
+
}, _callee2);
|
|
103
|
+
})));
|
|
104
|
+
});
|
package/slider/Slider.js
CHANGED
|
@@ -15,12 +15,12 @@ var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
|
|
|
15
15
|
var _variables = require("../common/variables");
|
|
16
16
|
var _utils = require("../common/utils");
|
|
17
17
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
18
|
-
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
19
18
|
var _uuid = require("uuid");
|
|
20
19
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
|
|
21
20
|
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); }
|
|
22
21
|
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; }
|
|
23
22
|
var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
23
|
+
var _navigator;
|
|
24
24
|
var _ref$label = _ref.label,
|
|
25
25
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
26
26
|
_ref$name = _ref.name,
|
|
@@ -49,19 +49,19 @@ var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
49
49
|
margin = _ref.margin,
|
|
50
50
|
_ref$size = _ref.size,
|
|
51
51
|
size = _ref$size === void 0 ? "fillParent" : _ref$size;
|
|
52
|
-
var _useState = (0, _react.useState)(
|
|
53
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState,
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
var _useState3 = (0, _react.useState)(false),
|
|
52
|
+
var _useState = (0, _react.useState)("label-".concat((0, _uuid.v4)())),
|
|
53
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
54
|
+
labelId = _useState2[0];
|
|
55
|
+
var _useState3 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : 0),
|
|
57
56
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
innerValue = _useState4[0],
|
|
58
|
+
setInnerValue = _useState4[1];
|
|
59
|
+
var _useState5 = (0, _react.useState)(false),
|
|
60
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
61
|
+
dragging = _useState6[0],
|
|
62
|
+
setDragging = _useState6[1];
|
|
60
63
|
var colorsTheme = (0, _useTheme["default"])();
|
|
61
|
-
var
|
|
62
|
-
var _useState5 = (0, _react.useState)("label-".concat((0, _uuid.v4)())),
|
|
63
|
-
_useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
|
|
64
|
-
labelId = _useState6[0];
|
|
64
|
+
var isFirefox = ((_navigator = navigator) === null || _navigator === void 0 ? void 0 : _navigator.userAgent.indexOf("Firefox")) !== -1;
|
|
65
65
|
var minLabel = (0, _react.useMemo)(function () {
|
|
66
66
|
return labelFormatCallback ? labelFormatCallback(minValue) : minValue;
|
|
67
67
|
}, [labelFormatCallback, minValue]);
|
|
@@ -69,24 +69,21 @@ var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
69
69
|
return labelFormatCallback ? labelFormatCallback(maxValue) : maxValue;
|
|
70
70
|
}, [labelFormatCallback, maxValue]);
|
|
71
71
|
var tickMarks = (0, _react.useMemo)(function () {
|
|
72
|
-
var ticks = [];
|
|
73
72
|
var numberOfMarks = Math.floor(maxValue / step - minValue / step);
|
|
74
|
-
var index = 0;
|
|
75
73
|
var range = maxValue - minValue;
|
|
74
|
+
var ticks = [];
|
|
75
|
+
var index = 0;
|
|
76
76
|
if (marks) {
|
|
77
77
|
while (index <= numberOfMarks) {
|
|
78
78
|
ticks.push( /*#__PURE__*/_react["default"].createElement(TickMark, {
|
|
79
79
|
disabled: disabled,
|
|
80
80
|
stepPosition: step * index / range,
|
|
81
|
-
backgroundType: backgroundType,
|
|
82
81
|
stepValue: (value !== null && value !== void 0 ? value : innerValue) / maxValue
|
|
83
82
|
}));
|
|
84
83
|
index++;
|
|
85
84
|
}
|
|
86
85
|
return ticks;
|
|
87
|
-
} else
|
|
88
|
-
return null;
|
|
89
|
-
}
|
|
86
|
+
} else return null;
|
|
90
87
|
}, [minValue, maxValue, step, value, innerValue]);
|
|
91
88
|
var handleSliderChange = function handleSliderChange(event) {
|
|
92
89
|
var valueToCheck = event.target.value;
|
|
@@ -96,7 +93,7 @@ var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
96
93
|
var handleSliderDragging = function handleSliderDragging() {
|
|
97
94
|
setDragging(true);
|
|
98
95
|
};
|
|
99
|
-
var
|
|
96
|
+
var handleSliderOnChangeCommitted = function handleSliderOnChangeCommitted(event) {
|
|
100
97
|
if (dragging) {
|
|
101
98
|
setDragging(false);
|
|
102
99
|
onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(event.target.value);
|
|
@@ -111,7 +108,6 @@ var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
111
108
|
onChange === null || onChange === void 0 ? void 0 : onChange(intValue > maxValue ? maxValue : intValue);
|
|
112
109
|
}
|
|
113
110
|
};
|
|
114
|
-
var isFirefox = navigator.userAgent.indexOf("Firefox") !== -1;
|
|
115
111
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
116
112
|
theme: colorsTheme.slider
|
|
117
113
|
}, /*#__PURE__*/_react["default"].createElement(Container, {
|
|
@@ -120,13 +116,10 @@ var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
120
116
|
ref: ref
|
|
121
117
|
}, /*#__PURE__*/_react["default"].createElement(Label, {
|
|
122
118
|
id: labelId,
|
|
123
|
-
disabled: disabled
|
|
124
|
-
backgroundType: backgroundType
|
|
119
|
+
disabled: disabled
|
|
125
120
|
}, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
126
|
-
disabled: disabled
|
|
127
|
-
backgroundType: backgroundType
|
|
121
|
+
disabled: disabled
|
|
128
122
|
}, helperText), /*#__PURE__*/_react["default"].createElement(SliderContainer, null, showLimitsValues && /*#__PURE__*/_react["default"].createElement(MinLabelContainer, {
|
|
129
|
-
backgroundType: backgroundType,
|
|
130
123
|
disabled: disabled
|
|
131
124
|
}, minLabel), /*#__PURE__*/_react["default"].createElement(SliderInputContainer, null, /*#__PURE__*/_react["default"].createElement(SliderInput, {
|
|
132
125
|
role: "slider",
|
|
@@ -142,13 +135,11 @@ var DxcSlider = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
142
135
|
"aria-valuemin": minValue,
|
|
143
136
|
"aria-valuenow": value != null && value >= 0 ? value : innerValue,
|
|
144
137
|
onChange: handleSliderChange,
|
|
145
|
-
onMouseUp:
|
|
146
|
-
onMouseDown: handleSliderDragging
|
|
147
|
-
backgroundType: backgroundType
|
|
138
|
+
onMouseUp: handleSliderOnChangeCommitted,
|
|
139
|
+
onMouseDown: handleSliderDragging
|
|
148
140
|
}), marks && /*#__PURE__*/_react["default"].createElement(MarksContainer, {
|
|
149
141
|
isFirefox: isFirefox
|
|
150
142
|
}, tickMarks)), showLimitsValues && /*#__PURE__*/_react["default"].createElement(MaxLabelContainer, {
|
|
151
|
-
backgroundType: backgroundType,
|
|
152
143
|
disabled: disabled,
|
|
153
144
|
step: step
|
|
154
145
|
}, maxLabel), showInput && /*#__PURE__*/_react["default"].createElement(StyledTextInput, null, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
|
|
@@ -186,8 +177,8 @@ var Container = _styledComponents["default"].div(_templateObject || (_templateOb
|
|
|
186
177
|
}, function (props) {
|
|
187
178
|
return calculateWidth(props.margin, props.size);
|
|
188
179
|
});
|
|
189
|
-
var Label = _styledComponents["default"].label(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n
|
|
190
|
-
return props.disabled ? props.
|
|
180
|
+
var Label = _styledComponents["default"].label(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
|
|
181
|
+
return props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor;
|
|
191
182
|
}, function (props) {
|
|
192
183
|
return props.theme.fontFamily;
|
|
193
184
|
}, function (props) {
|
|
@@ -199,8 +190,8 @@ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObj
|
|
|
199
190
|
}, function (props) {
|
|
200
191
|
return props.theme.labelLineHeight;
|
|
201
192
|
});
|
|
202
|
-
var HelperText = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n
|
|
203
|
-
return props.disabled ? props.
|
|
193
|
+
var HelperText = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
|
|
194
|
+
return props.disabled ? props.theme.disabledHelperTextFontColor : props.theme.helperTextFontColor;
|
|
204
195
|
}, function (props) {
|
|
205
196
|
return props.theme.fontFamily;
|
|
206
197
|
}, function (props) {
|
|
@@ -212,12 +203,12 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
|
|
|
212
203
|
}, function (props) {
|
|
213
204
|
return props.theme.helperTextLineHeight;
|
|
214
205
|
});
|
|
215
|
-
var SliderInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n min-width: 240px;\n height: ", ";\n display: inline-block;\n vertical-align: middle;\n -webkit-appearance: none;\n background-color: ", ";\n background-image: ", ";\n background-repeat: no-repeat;\n background-size: ", ";\n border-radius: 5px;\n cursor: ", ";\n &::-webkit-slider-runnable-track {\n -webkit-appearance: none;\n box-shadow: none;\n border: none;\n background: transparent;\n margin: 0px -8px;\n }\n\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n border: none;\n height: ", ";\n width: ", ";\n border-radius: 25px;\n background: ", ";\n &:active {\n ", "\n }\n &:hover {\n ", "\n }\n }\n &::-moz-range-track {\n -webkit-appearance: none;\n box-shadow: none;\n border: none;\n background: transparent;\n }\n &::-moz-range-thumb {\n -webkit-appearance: none;\n border: none;\n height: ", ";\n width: ", ";\n border-radius: 25px;\n background: ", ";\n &:active {\n background: ", ";\n transform: scale(1.16667);\n }\n &:hover {\n ", "\n }\n }\n &:focus {\n outline: none;\n &::-webkit-slider-thumb {\n outline: ", "
|
|
206
|
+
var SliderInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n min-width: 240px;\n height: ", ";\n display: inline-block;\n vertical-align: middle;\n -webkit-appearance: none;\n background-color: ", ";\n background-image: ", ";\n background-repeat: no-repeat;\n background-size: ", ";\n border-radius: 5px;\n cursor: ", ";\n &::-webkit-slider-runnable-track {\n -webkit-appearance: none;\n box-shadow: none;\n border: none;\n background: transparent;\n margin: 0px -8px;\n }\n\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n border: none;\n height: ", ";\n width: ", ";\n border-radius: 25px;\n background: ", ";\n &:active {\n ", "\n }\n &:hover {\n ", "\n }\n }\n &::-moz-range-track {\n -webkit-appearance: none;\n box-shadow: none;\n border: none;\n background: transparent;\n }\n &::-moz-range-thumb {\n -webkit-appearance: none;\n border: none;\n height: ", ";\n width: ", ";\n border-radius: 25px;\n background: ", ";\n &:active {\n background: ", ";\n transform: scale(1.16667);\n }\n &:hover {\n ", "\n }\n }\n &:focus {\n outline: none;\n &::-webkit-slider-thumb {\n outline: ", " auto 1px;\n outline-offset: 2px;\n }\n &::-moz-range-thumb {\n outline: ", " auto 1px;\n outline-offset: 2px;\n }\n }\n"])), function (props) {
|
|
216
207
|
return props.theme.trackLineThickness;
|
|
217
208
|
}, function (props) {
|
|
218
|
-
return props.disabled ? props.
|
|
209
|
+
return props.disabled ? props.theme.disabledTotalLineColor + "61" : props.theme.totalLineColor;
|
|
219
210
|
}, function (props) {
|
|
220
|
-
return props.disabled ?
|
|
211
|
+
return props.disabled ? "linear-gradient(".concat(props.theme.disabledTrackLineColor, ", ").concat(props.theme.disabledTrackLineColor, ")") : "linear-gradient(".concat(props.theme.trackLineColor, ", ").concat(props.theme.trackLineColor, ")");
|
|
221
212
|
}, function (props) {
|
|
222
213
|
return (props.value - props.min) * 100 / (props.max - props.min) + "% 100%";
|
|
223
214
|
}, function (props) {
|
|
@@ -227,35 +218,35 @@ var SliderInput = _styledComponents["default"].input(_templateObject4 || (_templ
|
|
|
227
218
|
}, function (props) {
|
|
228
219
|
return props.theme.thumbWidth;
|
|
229
220
|
}, function (props) {
|
|
230
|
-
return props.disabled ? props.
|
|
221
|
+
return props.disabled ? props.theme.disabledThumbBackgroundColor : props.theme.thumbBackgroundColor;
|
|
231
222
|
}, function (props) {
|
|
232
223
|
if (!props.disabled) {
|
|
233
|
-
return "\n background: ".concat(props.
|
|
224
|
+
return "\n background: ".concat(props.theme.activeThumbBackgroundColor, ";\n transform: scale(1.16667);");
|
|
234
225
|
}
|
|
235
226
|
}, function (props) {
|
|
236
227
|
if (!props.disabled) {
|
|
237
|
-
return "height: ".concat(props.theme.hoverThumbHeight, ";\n width: ").concat(props.theme.hoverThumbWidth, ";\n transform: scale(1.16667);\n transform-origin: center center;\n background: ").concat(props.
|
|
228
|
+
return "height: ".concat(props.theme.hoverThumbHeight, ";\n width: ").concat(props.theme.hoverThumbWidth, ";\n transform: scale(1.16667);\n transform-origin: center center;\n background: ").concat(props.theme.hoverThumbBackgroundColor, ";");
|
|
238
229
|
}
|
|
239
230
|
}, function (props) {
|
|
240
231
|
return props.theme.thumbHeight;
|
|
241
232
|
}, function (props) {
|
|
242
233
|
return props.theme.thumbWidth;
|
|
243
234
|
}, function (props) {
|
|
244
|
-
return props.disabled ? props.
|
|
235
|
+
return props.disabled ? props.theme.disabledThumbBackgroundColor : props.theme.thumbBackgroundColor;
|
|
245
236
|
}, function (props) {
|
|
246
|
-
return props.
|
|
237
|
+
return props.theme.activeThumbBackgroundColor;
|
|
247
238
|
}, function (props) {
|
|
248
239
|
if (!props.disabled) {
|
|
249
|
-
return "height: ".concat(props.theme.hoverThumbHeight, ";\n width: ").concat(props.theme.hoverThumbWidth, ";\n transform: scale(1.16667);\n transform-origin: center center;\n background: ").concat(props.
|
|
240
|
+
return "height: ".concat(props.theme.hoverThumbHeight, ";\n width: ").concat(props.theme.hoverThumbWidth, ";\n transform: scale(1.16667);\n transform-origin: center center;\n background: ").concat(props.theme.hoverThumbBackgroundColor, ";");
|
|
250
241
|
}
|
|
251
242
|
}, function (props) {
|
|
252
|
-
return props.disabled ? props.
|
|
243
|
+
return props.disabled ? props.theme.disabledFocusColor : props.theme.focusColor;
|
|
253
244
|
}, function (props) {
|
|
254
|
-
return props.disabled ? props.
|
|
245
|
+
return props.disabled ? props.theme.disabledFocusColor : props.theme.focusColor;
|
|
255
246
|
});
|
|
256
247
|
var SliderContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 48px;\n align-items: center;\n"])));
|
|
257
248
|
var LimitLabelContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n white-space: nowrap;\n"])), function (props) {
|
|
258
|
-
return props.disabled ? props.theme.disabledLimitValuesFontColor : props.
|
|
249
|
+
return props.disabled ? props.theme.disabledLimitValuesFontColor : props.theme.limitValuesFontColor;
|
|
259
250
|
}, function (props) {
|
|
260
251
|
return props.theme.fontFamily;
|
|
261
252
|
}, function (props) {
|
|
@@ -278,7 +269,7 @@ var MarksContainer = _styledComponents["default"].div(_templateObject10 || (_tem
|
|
|
278
269
|
return props.isFirefox ? getFireFoxStyles() : getChromeStyles();
|
|
279
270
|
});
|
|
280
271
|
var TickMark = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n background: ", ";\n height: ", ";\n width: ", ";\n border-radius: 18px;\n left: ", ";\n z-index: ", ";\n"])), function (props) {
|
|
281
|
-
return props.disabled ? props.
|
|
272
|
+
return props.disabled ? props.theme.disabledTickBackgroundColor : props.theme.tickBackgroundColor;
|
|
282
273
|
}, function (props) {
|
|
283
274
|
return props.theme.tickHeight;
|
|
284
275
|
}, function (props) {
|
|
@@ -0,0 +1,96 @@
|
|
|
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 _Spinner = _interopRequireDefault(require("./Spinner.tsx"));
|
|
10
|
+
var _Flex = _interopRequireDefault(require("../flex/Flex.tsx"));
|
|
11
|
+
describe("Spinner component accessibility tests", function () {
|
|
12
|
+
it("Should not have basic accessibility issues for overlay mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
13
|
+
var _render, container, results;
|
|
14
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
15
|
+
while (1) switch (_context.prev = _context.next) {
|
|
16
|
+
case 0:
|
|
17
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
18
|
+
label: "test-loading",
|
|
19
|
+
margin: "medium",
|
|
20
|
+
mode: "overlay",
|
|
21
|
+
value: 50,
|
|
22
|
+
showValue: true
|
|
23
|
+
}), /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
24
|
+
label: "test-loading",
|
|
25
|
+
margin: "medium",
|
|
26
|
+
mode: "overlay",
|
|
27
|
+
value: 50
|
|
28
|
+
}))), container = _render.container;
|
|
29
|
+
_context.next = 3;
|
|
30
|
+
return (0, _jestAxe.axe)(container);
|
|
31
|
+
case 3:
|
|
32
|
+
results = _context.sent;
|
|
33
|
+
expect(results).toHaveNoViolations();
|
|
34
|
+
case 5:
|
|
35
|
+
case "end":
|
|
36
|
+
return _context.stop();
|
|
37
|
+
}
|
|
38
|
+
}, _callee);
|
|
39
|
+
})));
|
|
40
|
+
it("Should not have basic accessibility issues for large mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
41
|
+
var _render2, container, results;
|
|
42
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
43
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
44
|
+
case 0:
|
|
45
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
46
|
+
label: "test-loading",
|
|
47
|
+
margin: "medium",
|
|
48
|
+
mode: "large",
|
|
49
|
+
value: 50,
|
|
50
|
+
showValue: true
|
|
51
|
+
}), /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
52
|
+
label: "test-loading",
|
|
53
|
+
margin: "medium",
|
|
54
|
+
mode: "large",
|
|
55
|
+
value: 50
|
|
56
|
+
}))), container = _render2.container;
|
|
57
|
+
_context2.next = 3;
|
|
58
|
+
return (0, _jestAxe.axe)(container);
|
|
59
|
+
case 3:
|
|
60
|
+
results = _context2.sent;
|
|
61
|
+
expect(results).toHaveNoViolations();
|
|
62
|
+
case 5:
|
|
63
|
+
case "end":
|
|
64
|
+
return _context2.stop();
|
|
65
|
+
}
|
|
66
|
+
}, _callee2);
|
|
67
|
+
})));
|
|
68
|
+
it("Should not have basic accessibility issues for small mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
69
|
+
var _render3, container, results;
|
|
70
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
71
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
72
|
+
case 0:
|
|
73
|
+
_render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
74
|
+
label: "test-loading",
|
|
75
|
+
margin: "medium",
|
|
76
|
+
mode: "small",
|
|
77
|
+
value: 50,
|
|
78
|
+
showValue: true
|
|
79
|
+
}), /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
|
|
80
|
+
label: "test-loading",
|
|
81
|
+
margin: "medium",
|
|
82
|
+
mode: "small",
|
|
83
|
+
value: 50
|
|
84
|
+
}))), container = _render3.container;
|
|
85
|
+
_context3.next = 3;
|
|
86
|
+
return (0, _jestAxe.axe)(container);
|
|
87
|
+
case 3:
|
|
88
|
+
results = _context3.sent;
|
|
89
|
+
expect(results).toHaveNoViolations();
|
|
90
|
+
case 5:
|
|
91
|
+
case "end":
|
|
92
|
+
return _context3.stop();
|
|
93
|
+
}
|
|
94
|
+
}, _callee3);
|
|
95
|
+
})));
|
|
96
|
+
});
|