@dxc-technology/halstack-react 0.0.0-4e1277a → 0.0.0-4e3dbad
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.js +1 -1
- package/HalstackContext.d.ts +42 -5
- package/HalstackContext.js +28 -18
- package/accordion/Accordion.accessibility.test.d.ts +1 -0
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +16 -30
- package/accordion/Accordion.stories.tsx +7 -49
- package/accordion/Accordion.test.d.ts +1 -0
- package/accordion/Accordion.test.js +3 -3
- package/accordion/types.d.ts +1 -1
- package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
- package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
- package/accordion-group/AccordionGroup.js +1 -1
- package/accordion-group/AccordionGroup.stories.tsx +23 -23
- package/accordion-group/AccordionGroup.test.d.ts +1 -0
- package/accordion-group/AccordionGroup.test.js +5 -9
- package/accordion-group/AccordionGroupAccordion.js +1 -1
- package/accordion-group/types.d.ts +1 -1
- package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
- 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/ActionIcon.test.d.ts +1 -0
- package/action-icon/ActionIcon.test.js +1 -1
- package/action-icon/types.d.ts +1 -1
- package/alert/Alert.accessibility.test.d.ts +1 -0
- package/alert/Alert.accessibility.test.js +95 -0
- package/alert/Alert.js +21 -72
- package/alert/Alert.test.d.ts +1 -0
- package/alert/Alert.test.js +1 -1
- package/badge/Badge.accessibility.test.d.ts +1 -0
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.js +6 -4
- package/badge/Badge.stories.tsx +11 -11
- package/badge/Badge.test.d.ts +1 -0
- package/badge/Badge.test.js +2 -2
- package/badge/types.d.ts +1 -1
- package/bar-chart/BarChart.d.ts +4 -0
- package/bar-chart/BarChart.js +152 -0
- package/bar-chart/BarChart.stories.tsx +281 -0
- package/bar-chart/BarChart.test.d.ts +1 -0
- package/bar-chart/BarChart.test.js +194 -0
- package/bar-chart/theme.d.ts +3 -0
- package/bar-chart/theme.js +31 -0
- package/bar-chart/types.d.ts +118 -0
- package/bar-chart/types.js +5 -0
- package/bleed/Bleed.stories.tsx +0 -1
- package/box/Box.accessibility.test.d.ts +1 -0
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.js +1 -1
- package/box/Box.test.d.ts +1 -0
- package/box/Box.test.js +1 -1
- package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
- package/breadcrumbs/Breadcrumbs.d.ts +4 -0
- package/breadcrumbs/Breadcrumbs.js +79 -0
- package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
- package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.test.js +168 -0
- package/breadcrumbs/Item.d.ts +4 -0
- package/breadcrumbs/Item.js +52 -0
- package/breadcrumbs/dropdownTheme.d.ts +53 -0
- package/breadcrumbs/dropdownTheme.js +62 -0
- package/breadcrumbs/types.d.ts +40 -0
- package/breadcrumbs/types.js +5 -0
- package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
- package/bulleted-list/BulletedList.accessibility.test.js +119 -0
- package/bulleted-list/BulletedList.js +7 -4
- package/bulleted-list/BulletedList.stories.tsx +1 -1
- package/button/Button.accessibility.test.d.ts +1 -0
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.js +2 -2
- package/button/Button.stories.tsx +3 -4
- package/button/Button.test.d.ts +1 -0
- package/button/Button.test.js +1 -1
- package/card/Card.accessibility.test.d.ts +1 -0
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.js +3 -2
- package/card/Card.stories.tsx +1 -1
- package/card/Card.test.d.ts +1 -0
- package/card/Card.test.js +1 -1
- package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.js +10 -13
- package/checkbox/Checkbox.test.d.ts +1 -0
- package/checkbox/Checkbox.test.js +1 -1
- package/chip/Chip.accessibility.test.d.ts +1 -0
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +11 -6
- package/chip/Chip.stories.tsx +6 -25
- package/chip/Chip.test.d.ts +1 -0
- package/chip/Chip.test.js +5 -5
- package/common/coreTokens.d.ts +0 -1
- package/common/coreTokens.js +3 -4
- package/common/variables.d.ts +48 -5
- package/common/variables.js +110 -73
- package/container/Container.stories.tsx +3 -3
- package/container/types.d.ts +113 -11
- package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +98 -0
- package/contextual-menu/ContextualMenu.d.ts +3 -5
- package/contextual-menu/ContextualMenu.js +118 -53
- package/contextual-menu/ContextualMenu.stories.tsx +124 -75
- package/contextual-menu/ContextualMenu.test.d.ts +1 -0
- package/contextual-menu/ContextualMenu.test.js +200 -24
- package/contextual-menu/GroupItem.d.ts +4 -0
- package/contextual-menu/GroupItem.js +67 -0
- package/contextual-menu/ItemAction.d.ts +4 -0
- package/contextual-menu/ItemAction.js +88 -0
- package/contextual-menu/MenuItem.d.ts +4 -0
- package/contextual-menu/MenuItem.js +29 -0
- package/contextual-menu/SingleItem.d.ts +4 -0
- package/contextual-menu/SingleItem.js +38 -0
- package/contextual-menu/types.d.ts +54 -11
- package/date-input/Calendar.js +47 -31
- package/date-input/DateInput.accessibility.test.d.ts +1 -0
- package/date-input/DateInput.accessibility.test.js +229 -0
- package/date-input/DateInput.js +28 -23
- package/date-input/DateInput.stories.tsx +18 -12
- package/date-input/DateInput.test.d.ts +1 -0
- package/date-input/DateInput.test.js +39 -39
- package/date-input/DatePicker.js +13 -7
- package/date-input/YearPicker.js +10 -5
- package/dialog/Dialog.accessibility.test.d.ts +1 -0
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.js +9 -20
- package/dialog/Dialog.stories.tsx +8 -4
- package/dialog/Dialog.test.d.ts +1 -0
- package/dialog/Dialog.test.js +112 -49
- package/divider/Divider.accessibility.test.d.ts +1 -0
- package/divider/Divider.accessibility.test.js +33 -0
- package/divider/Divider.stories.tsx +2 -1
- package/divider/Divider.test.d.ts +1 -0
- package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
- package/dropdown/Dropdown.accessibility.test.js +183 -0
- package/dropdown/Dropdown.js +31 -66
- package/dropdown/Dropdown.stories.tsx +16 -27
- package/dropdown/Dropdown.test.d.ts +1 -0
- package/dropdown/Dropdown.test.js +101 -72
- package/dropdown/DropdownMenu.js +4 -4
- package/dropdown/DropdownMenuItem.js +8 -4
- package/dropdown/types.d.ts +2 -4
- package/file-input/FileInput.accessibility.test.d.ts +1 -0
- package/file-input/FileInput.accessibility.test.js +167 -0
- package/file-input/FileInput.js +6 -47
- package/file-input/FileInput.test.d.ts +1 -0
- package/file-input/FileInput.test.js +51 -106
- package/file-input/FileItem.js +18 -28
- package/file-input/types.d.ts +0 -4
- package/footer/Footer.accessibility.test.d.ts +1 -0
- package/footer/Footer.accessibility.test.js +125 -0
- package/footer/Footer.js +8 -6
- package/footer/Footer.stories.tsx +40 -3
- package/footer/Footer.test.d.ts +1 -0
- package/footer/Footer.test.js +1 -1
- package/footer/Icons.js +2 -30
- package/footer/types.d.ts +1 -1
- package/grid/Grid.stories.tsx +3 -1
- package/header/Header.accessibility.test.d.ts +1 -0
- package/header/Header.accessibility.test.js +94 -0
- package/header/Header.js +12 -22
- package/header/Header.stories.tsx +17 -1
- package/header/Header.test.d.ts +1 -0
- package/header/Header.test.js +1 -1
- package/header/Icons.js +1 -6
- package/heading/Heading.accessibility.test.d.ts +1 -0
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.d.ts +1 -0
- package/heading/Heading.test.js +1 -14
- package/icon/Icon.accessibility.test.d.ts +1 -0
- package/icon/Icon.accessibility.test.js +30 -0
- package/icon/Icon.js +1 -1
- package/icon/Icon.stories.tsx +6 -4
- package/image/Image.accessibility.test.d.ts +1 -0
- package/image/Image.accessibility.test.js +56 -0
- package/image/Image.js +1 -1
- package/layout/ApplicationLayout.js +9 -6
- package/layout/Icons.d.ts +0 -1
- package/layout/Icons.js +1 -11
- package/link/Link.accessibility.test.d.ts +1 -0
- package/link/Link.accessibility.test.js +108 -0
- package/link/Link.js +8 -6
- package/link/Link.stories.tsx +4 -4
- package/link/Link.test.d.ts +1 -0
- package/link/Link.test.js +1 -1
- package/link/types.d.ts +1 -1
- package/main.d.ts +3 -1
- package/main.js +15 -1
- package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.js +19 -4
- package/nav-tabs/NavTabs.stories.tsx +41 -23
- package/nav-tabs/NavTabs.test.d.ts +1 -0
- package/nav-tabs/NavTabs.test.js +10 -9
- package/nav-tabs/Tab.js +17 -18
- package/nav-tabs/types.d.ts +1 -1
- package/number-input/NumberInput.accessibility.test.d.ts +1 -0
- package/number-input/NumberInput.accessibility.test.js +227 -0
- package/number-input/NumberInput.js +6 -3
- package/number-input/NumberInput.stories.tsx +11 -16
- package/number-input/NumberInput.test.d.ts +1 -0
- package/number-input/NumberInput.test.js +6 -7
- package/package.json +34 -28
- package/paginator/Paginator.accessibility.test.d.ts +1 -0
- package/paginator/Paginator.accessibility.test.js +78 -0
- package/paginator/Paginator.js +13 -10
- package/paginator/Paginator.test.d.ts +1 -0
- package/paginator/Paginator.test.js +2 -3
- package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
- package/password-input/PasswordInput.accessibility.test.js +152 -0
- package/password-input/PasswordInput.js +11 -8
- package/password-input/PasswordInput.stories.tsx +10 -1
- package/password-input/PasswordInput.test.d.ts +1 -0
- package/password-input/PasswordInput.test.js +6 -7
- package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +6 -4
- package/progress-bar/ProgressBar.test.d.ts +1 -0
- package/progress-bar/ProgressBar.test.js +1 -1
- package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.js +1 -1
- package/radio-group/Radio.js +6 -9
- package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +14 -16
- package/radio-group/RadioGroup.test.d.ts +1 -0
- package/radio-group/RadioGroup.test.js +3 -5
- package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.accessibility.test.js +284 -0
- package/resultset-table/ResultsetTable.d.ts +1 -1
- package/resultset-table/ResultsetTable.js +47 -15
- package/resultset-table/ResultsetTable.stories.tsx +19 -3
- package/resultset-table/ResultsetTable.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.test.js +111 -32
- package/resultset-table/types.d.ts +41 -13
- package/select/Listbox.d.ts +3 -3
- package/select/Listbox.js +33 -29
- package/select/Option.d.ts +3 -3
- package/select/Option.js +21 -15
- package/select/Select.accessibility.test.d.ts +1 -0
- package/select/Select.accessibility.test.js +227 -0
- package/select/Select.js +85 -192
- package/select/Select.stories.tsx +74 -117
- package/select/Select.test.d.ts +1 -0
- package/select/Select.test.js +348 -550
- package/select/selectUtils.d.ts +41 -0
- package/select/selectUtils.js +129 -0
- package/select/types.d.ts +1 -1
- package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.js +16 -12
- package/sidenav/Sidenav.stories.tsx +5 -10
- package/sidenav/Sidenav.test.d.ts +1 -0
- package/sidenav/Sidenav.test.js +1 -1
- package/sidenav/types.d.ts +2 -2
- package/slider/Slider.accessibility.test.d.ts +1 -0
- package/slider/Slider.accessibility.test.js +103 -0
- package/slider/Slider.js +11 -13
- package/slider/Slider.stories.tsx +180 -0
- package/slider/Slider.test.d.ts +1 -0
- package/slider/Slider.test.js +13 -11
- package/spinner/Spinner.accessibility.test.d.ts +1 -0
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.d.ts +1 -1
- package/spinner/Spinner.js +32 -47
- package/spinner/Spinner.test.d.ts +1 -0
- package/spinner/Spinner.test.js +1 -1
- package/status-light/StatusLight.accessibility.test.d.ts +1 -0
- package/status-light/StatusLight.accessibility.test.js +157 -0
- package/status-light/StatusLight.test.d.ts +1 -0
- package/status-light/StatusLight.test.js +1 -1
- package/switch/Switch.accessibility.test.d.ts +1 -0
- package/switch/Switch.accessibility.test.js +98 -0
- package/switch/Switch.js +6 -9
- package/switch/Switch.stories.tsx +12 -0
- package/switch/Switch.test.d.ts +1 -0
- package/switch/Switch.test.js +1 -1
- package/table/Table.accessibility.test.d.ts +1 -0
- package/table/Table.accessibility.test.js +92 -0
- package/table/Table.js +2 -11
- package/table/Table.stories.tsx +15 -10
- package/table/Table.test.d.ts +1 -0
- package/table/Table.test.js +2 -4
- package/table/types.d.ts +1 -15
- package/tabs/Tab.js +6 -5
- package/tabs/Tabs.accessibility.test.d.ts +1 -0
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +9 -20
- package/tabs/Tabs.stories.tsx +7 -3
- package/tabs/Tabs.test.d.ts +1 -0
- package/tabs/Tabs.test.js +20 -38
- package/tabs/types.d.ts +2 -2
- package/tag/Tag.accessibility.test.d.ts +1 -0
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +7 -7
- package/tag/Tag.stories.tsx +5 -8
- package/tag/Tag.test.d.ts +1 -0
- package/tag/Tag.test.js +5 -13
- package/tag/types.d.ts +2 -2
- package/text-input/Suggestion.js +1 -1
- package/text-input/Suggestions.js +17 -7
- package/text-input/TextInput.accessibility.test.d.ts +1 -0
- package/text-input/TextInput.accessibility.test.js +320 -0
- package/text-input/TextInput.js +56 -73
- package/text-input/TextInput.stories.tsx +20 -8
- package/text-input/TextInput.test.d.ts +1 -0
- package/text-input/TextInput.test.js +2 -3
- package/textarea/Textarea.accessibility.test.d.ts +1 -0
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +14 -13
- package/textarea/Textarea.test.d.ts +1 -0
- package/textarea/Textarea.test.js +1 -1
- package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.js +10 -12
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.d.ts +1 -0
- package/toggle-group/ToggleGroup.test.js +1 -1
- package/toggle-group/types.d.ts +2 -2
- package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
- package/tooltip/Tooltip.accessibility.test.js +144 -0
- package/tooltip/Tooltip.d.ts +4 -0
- package/tooltip/Tooltip.js +50 -0
- package/tooltip/Tooltip.stories.tsx +111 -0
- package/tooltip/Tooltip.test.d.ts +1 -0
- package/tooltip/Tooltip.test.js +112 -0
- package/tooltip/types.d.ts +16 -0
- package/tooltip/types.js +5 -0
- package/typography/Typography.accessibility.test.d.ts +1 -0
- package/typography/Typography.accessibility.test.js +339 -0
- package/typography/Typography.stories.tsx +1 -3
- package/typography/Typography.test.js +23 -0
- package/useTheme.d.ts +31 -5
- package/useTranslatedLabels.d.ts +11 -0
- package/utils/BaseTypography.js +45 -41
- package/utils/FocusLock.js +3 -2
- package/utils/useWidth.d.ts +2 -0
- package/utils/useWidth.js +30 -0
- package/wizard/Wizard.accessibility.test.d.ts +1 -0
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/Wizard.js +14 -25
- package/wizard/Wizard.stories.tsx +20 -1
- package/wizard/Wizard.test.d.ts +1 -0
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +1 -1
- package/contextual-menu/MenuItemAction.d.ts +0 -4
- package/contextual-menu/MenuItemAction.js +0 -46
- package/date-input/Icons.d.ts +0 -6
- package/date-input/Icons.js +0 -58
- package/paginator/Icons.d.ts +0 -5
- package/paginator/Icons.js +0 -40
- package/password-input/Icons.d.ts +0 -6
- package/password-input/Icons.js +0 -35
- package/select/Icons.d.ts +0 -10
- package/select/Icons.js +0 -89
- 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
|
@@ -0,0 +1,127 @@
|
|
|
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 _axeHelper = require("../../test/accessibility/axe-helper.js");
|
|
9
|
+
var _Button = _interopRequireDefault(require("./Button"));
|
|
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("Button 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(_Button["default"], {
|
|
28
|
+
label: "Primary",
|
|
29
|
+
icon: iconSVG,
|
|
30
|
+
iconPosition: "after",
|
|
31
|
+
margin: "small",
|
|
32
|
+
mode: "primary",
|
|
33
|
+
title: "Button Title",
|
|
34
|
+
size: "fitContent",
|
|
35
|
+
type: "button"
|
|
36
|
+
})), container = _render.container;
|
|
37
|
+
_context.next = 3;
|
|
38
|
+
return (0, _axeHelper.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(_Button["default"], {
|
|
54
|
+
label: "Primary",
|
|
55
|
+
icon: iconSVG,
|
|
56
|
+
iconPosition: "after",
|
|
57
|
+
margin: "small",
|
|
58
|
+
mode: "primary",
|
|
59
|
+
title: "Button Title",
|
|
60
|
+
size: "fitContent",
|
|
61
|
+
type: "button",
|
|
62
|
+
disabled: true
|
|
63
|
+
})), container = _render2.container;
|
|
64
|
+
_context2.next = 3;
|
|
65
|
+
return (0, _axeHelper.axe)(container);
|
|
66
|
+
case 3:
|
|
67
|
+
results = _context2.sent;
|
|
68
|
+
expect(results).toHaveNoViolations();
|
|
69
|
+
case 5:
|
|
70
|
+
case "end":
|
|
71
|
+
return _context2.stop();
|
|
72
|
+
}
|
|
73
|
+
}, _callee2);
|
|
74
|
+
})));
|
|
75
|
+
it("Should not have basic accessibility issues for secondary mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
76
|
+
var _render3, container, results;
|
|
77
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
78
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
79
|
+
case 0:
|
|
80
|
+
_render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
81
|
+
label: "Primary",
|
|
82
|
+
icon: iconSVG,
|
|
83
|
+
iconPosition: "after",
|
|
84
|
+
margin: "small",
|
|
85
|
+
mode: "secondary",
|
|
86
|
+
title: "Button Title",
|
|
87
|
+
size: "fitContent",
|
|
88
|
+
type: "button"
|
|
89
|
+
})), container = _render3.container;
|
|
90
|
+
_context3.next = 3;
|
|
91
|
+
return (0, _axeHelper.axe)(container);
|
|
92
|
+
case 3:
|
|
93
|
+
results = _context3.sent;
|
|
94
|
+
expect(results).toHaveNoViolations();
|
|
95
|
+
case 5:
|
|
96
|
+
case "end":
|
|
97
|
+
return _context3.stop();
|
|
98
|
+
}
|
|
99
|
+
}, _callee3);
|
|
100
|
+
})));
|
|
101
|
+
it("Should not have basic accessibility issues for text mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
102
|
+
var _render4, container, results;
|
|
103
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
104
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
105
|
+
case 0:
|
|
106
|
+
_render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
107
|
+
label: "Primary",
|
|
108
|
+
icon: iconSVG,
|
|
109
|
+
iconPosition: "after",
|
|
110
|
+
margin: "small",
|
|
111
|
+
mode: "text",
|
|
112
|
+
title: "Button Title",
|
|
113
|
+
size: "fitContent",
|
|
114
|
+
type: "button"
|
|
115
|
+
})), container = _render4.container;
|
|
116
|
+
_context4.next = 3;
|
|
117
|
+
return (0, _axeHelper.axe)(container);
|
|
118
|
+
case 3:
|
|
119
|
+
results = _context4.sent;
|
|
120
|
+
expect(results).toHaveNoViolations();
|
|
121
|
+
case 5:
|
|
122
|
+
case "end":
|
|
123
|
+
return _context4.stop();
|
|
124
|
+
}
|
|
125
|
+
}, _callee4);
|
|
126
|
+
})));
|
|
127
|
+
});
|
package/button/Button.js
CHANGED
|
@@ -16,7 +16,7 @@ var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
|
16
16
|
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
17
17
|
var _templateObject, _templateObject2, _templateObject3;
|
|
18
18
|
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); }
|
|
19
|
-
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 &&
|
|
19
|
+
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 && {}.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; }
|
|
20
20
|
var DxcButton = function DxcButton(_ref) {
|
|
21
21
|
var _ref$label = _ref.label,
|
|
22
22
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
@@ -117,5 +117,5 @@ var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_tem
|
|
|
117
117
|
}, function (props) {
|
|
118
118
|
return props.theme.fontSize;
|
|
119
119
|
});
|
|
120
|
-
var IconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n\n
|
|
120
|
+
var IconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n font-size: 24px;\n\n svg {\n height: 24px;\n width: 24px;\n }\n"])));
|
|
121
121
|
var _default = exports["default"] = DxcButton;
|
|
@@ -20,7 +20,6 @@ const iconSVG = (
|
|
|
20
20
|
const facebookIcon = (
|
|
21
21
|
<svg
|
|
22
22
|
version="1.1"
|
|
23
|
-
id="Capa_1"
|
|
24
23
|
x="0px"
|
|
25
24
|
y="0px"
|
|
26
25
|
width="438.536px"
|
|
@@ -88,15 +87,15 @@ export const Chromatic = () => (
|
|
|
88
87
|
</ExampleContainer>
|
|
89
88
|
<ExampleContainer>
|
|
90
89
|
<Title title="Only icon" theme="light" level={4} />
|
|
91
|
-
<DxcButton icon="filled_bottom_app_bar" />
|
|
90
|
+
<DxcButton icon="filled_bottom_app_bar" title="Button with no label" />
|
|
92
91
|
</ExampleContainer>
|
|
93
92
|
<ExampleContainer>
|
|
94
93
|
<Title title="Big icon (SVG)" theme="light" level={4} />
|
|
95
|
-
<DxcButton icon={facebookIcon} />
|
|
94
|
+
<DxcButton icon={facebookIcon} title="Facebook" />
|
|
96
95
|
</ExampleContainer>
|
|
97
96
|
<ExampleContainer>
|
|
98
97
|
<Title title="Small icon (SVG)" theme="light" level={4} />
|
|
99
|
-
<DxcButton icon={smallIcon} />
|
|
98
|
+
<DxcButton icon={smallIcon} title="Button with no label" />
|
|
100
99
|
</ExampleContainer>
|
|
101
100
|
<Title title="Secondary" theme="light" level={2} />
|
|
102
101
|
<ExampleContainer>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/button/Button.test.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
var _react = _interopRequireDefault(require("react"));
|
|
5
5
|
var _react2 = require("@testing-library/react");
|
|
6
|
-
var _Button = _interopRequireDefault(require("./Button
|
|
6
|
+
var _Button = _interopRequireDefault(require("./Button"));
|
|
7
7
|
describe("Button component tests", function () {
|
|
8
8
|
test("Button renders with correct text", function () {
|
|
9
9
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
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 _axeHelper = require("../../test/accessibility/axe-helper.js");
|
|
9
|
+
var _Card = _interopRequireDefault(require("./Card"));
|
|
10
|
+
describe("Card 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, 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(_Card["default"], {
|
|
17
|
+
linkHref: "https://www.dxc.com",
|
|
18
|
+
imageSrc: "https://picsum.photos/id/1022/200/300",
|
|
19
|
+
imagePosition: "after",
|
|
20
|
+
imagePadding: "xsmall",
|
|
21
|
+
margin: "medium",
|
|
22
|
+
imageBgColor: "yellow",
|
|
23
|
+
imageCover: true
|
|
24
|
+
}, "test-card")), container = _render.container;
|
|
25
|
+
_context.next = 3;
|
|
26
|
+
return (0, _axeHelper.axe)(container);
|
|
27
|
+
case 3:
|
|
28
|
+
results = _context.sent;
|
|
29
|
+
expect(results).toHaveNoViolations();
|
|
30
|
+
case 5:
|
|
31
|
+
case "end":
|
|
32
|
+
return _context.stop();
|
|
33
|
+
}
|
|
34
|
+
}, _callee);
|
|
35
|
+
})));
|
|
36
|
+
});
|
package/card/Card.js
CHANGED
|
@@ -16,7 +16,7 @@ var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
|
16
16
|
var _Box = _interopRequireDefault(require("../box/Box"));
|
|
17
17
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
18
18
|
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); }
|
|
19
|
-
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 &&
|
|
19
|
+
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 && {}.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; }
|
|
20
20
|
var DxcCard = function DxcCard(_ref) {
|
|
21
21
|
var imageSrc = _ref.imageSrc,
|
|
22
22
|
_ref$imageBgColor = _ref.imageBgColor,
|
|
@@ -64,7 +64,8 @@ var DxcCard = function DxcCard(_ref) {
|
|
|
64
64
|
}, /*#__PURE__*/_react["default"].createElement(TagImage, {
|
|
65
65
|
imagePadding: imagePadding,
|
|
66
66
|
imageCover: imageCover,
|
|
67
|
-
src: imageSrc
|
|
67
|
+
src: imageSrc,
|
|
68
|
+
alt: "Card image"
|
|
68
69
|
})), /*#__PURE__*/_react["default"].createElement(CardContent, null, children)))));
|
|
69
70
|
};
|
|
70
71
|
var Card = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n cursor: ", ";\n outline: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n text-decoration: none;\n ", "\n"])), function (_ref2) {
|
package/card/Card.stories.tsx
CHANGED
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
import Title from "../../.storybook/components/Title";
|
|
3
3
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
4
4
|
import DxcCard from "./Card";
|
|
5
|
-
import { userEvent, within } from "@storybook/
|
|
5
|
+
import { userEvent, within } from "@storybook/test";
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
title: "Card",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/card/Card.test.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
var _react = _interopRequireDefault(require("react"));
|
|
5
5
|
var _react2 = require("@testing-library/react");
|
|
6
|
-
var _Card = _interopRequireDefault(require("./Card
|
|
6
|
+
var _Card = _interopRequireDefault(require("./Card"));
|
|
7
7
|
describe("Card component tests", function () {
|
|
8
8
|
test("Card renders with correct content", function () {
|
|
9
9
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], null, "test-card")),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,87 @@
|
|
|
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 _axeHelper = require("../../test/accessibility/axe-helper.js");
|
|
9
|
+
var _Checkbox = _interopRequireDefault(require("./Checkbox"));
|
|
10
|
+
describe("Checkbox 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, 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(_Checkbox["default"], {
|
|
17
|
+
label: "Checkbox",
|
|
18
|
+
labelPosition: "after",
|
|
19
|
+
name: "name",
|
|
20
|
+
size: "fitContent",
|
|
21
|
+
value: "checkboxValue",
|
|
22
|
+
margin: "small",
|
|
23
|
+
defaultChecked: true,
|
|
24
|
+
optional: true
|
|
25
|
+
})), container = _render.container;
|
|
26
|
+
_context.next = 3;
|
|
27
|
+
return (0, _axeHelper.axe)(container);
|
|
28
|
+
case 3:
|
|
29
|
+
results = _context.sent;
|
|
30
|
+
expect(results).toHaveNoViolations();
|
|
31
|
+
case 5:
|
|
32
|
+
case "end":
|
|
33
|
+
return _context.stop();
|
|
34
|
+
}
|
|
35
|
+
}, _callee);
|
|
36
|
+
})));
|
|
37
|
+
it("Should not have basic accessibility issues for read-only mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
38
|
+
var _render2, container, results;
|
|
39
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
40
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
41
|
+
case 0:
|
|
42
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
43
|
+
label: "Checkbox",
|
|
44
|
+
labelPosition: "after",
|
|
45
|
+
name: "name",
|
|
46
|
+
size: "fitContent",
|
|
47
|
+
value: "checkboxValue",
|
|
48
|
+
margin: "small",
|
|
49
|
+
readOnly: true
|
|
50
|
+
})), container = _render2.container;
|
|
51
|
+
_context2.next = 3;
|
|
52
|
+
return (0, _axeHelper.axe)(container);
|
|
53
|
+
case 3:
|
|
54
|
+
results = _context2.sent;
|
|
55
|
+
expect(results).toHaveNoViolations();
|
|
56
|
+
case 5:
|
|
57
|
+
case "end":
|
|
58
|
+
return _context2.stop();
|
|
59
|
+
}
|
|
60
|
+
}, _callee2);
|
|
61
|
+
})));
|
|
62
|
+
it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
63
|
+
var _render3, container, results;
|
|
64
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
65
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
66
|
+
case 0:
|
|
67
|
+
_render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
68
|
+
label: "Checkbox",
|
|
69
|
+
labelPosition: "after",
|
|
70
|
+
name: "name",
|
|
71
|
+
size: "fitContent",
|
|
72
|
+
value: "checkboxValue",
|
|
73
|
+
margin: "small",
|
|
74
|
+
disabled: true
|
|
75
|
+
})), container = _render3.container;
|
|
76
|
+
_context3.next = 3;
|
|
77
|
+
return (0, _axeHelper.axe)(container);
|
|
78
|
+
case 3:
|
|
79
|
+
results = _context3.sent;
|
|
80
|
+
expect(results).toHaveNoViolations();
|
|
81
|
+
case 5:
|
|
82
|
+
case "end":
|
|
83
|
+
return _context3.stop();
|
|
84
|
+
}
|
|
85
|
+
}, _callee3);
|
|
86
|
+
})));
|
|
87
|
+
});
|
package/checkbox/Checkbox.js
CHANGED
|
@@ -13,16 +13,14 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
14
14
|
var _variables = require("../common/variables");
|
|
15
15
|
var _utils = require("../common/utils");
|
|
16
|
-
var _uuid = require("uuid");
|
|
17
16
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
18
17
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
19
18
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
20
19
|
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
|
-
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 &&
|
|
20
|
+
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 && {}.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
21
|
var checkedIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
23
22
|
fill: "currentColor",
|
|
24
23
|
focusable: "false",
|
|
25
|
-
"aria-hidden": "true",
|
|
26
24
|
viewBox: "0 0 24 24"
|
|
27
25
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
28
26
|
d: "M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
|
|
@@ -50,13 +48,11 @@ var DxcCheckbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
50
48
|
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
51
49
|
_ref$tabIndex = _ref.tabIndex,
|
|
52
50
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
53
|
-
var
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
innerChecked = _useState4[0],
|
|
59
|
-
setInnerChecked = _useState4[1];
|
|
51
|
+
var labelId = "label-checkbox-".concat((0, _react.useId)());
|
|
52
|
+
var _useState = (0, _react.useState)(defaultChecked),
|
|
53
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
54
|
+
innerChecked = _useState2[0],
|
|
55
|
+
setInnerChecked = _useState2[1];
|
|
60
56
|
var checkboxRef = (0, _react.useRef)(null);
|
|
61
57
|
var colorsTheme = (0, _useTheme["default"])();
|
|
62
58
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
@@ -91,12 +87,12 @@ var DxcCheckbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
91
87
|
}, label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
92
88
|
id: labelId,
|
|
93
89
|
disabled: disabled,
|
|
94
|
-
labelPosition: labelPosition
|
|
90
|
+
labelPosition: labelPosition,
|
|
91
|
+
"aria-label": label
|
|
95
92
|
}, label, optional && " ".concat(translatedLabels.formFields.optionalLabel)), /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
96
93
|
type: "checkbox",
|
|
97
94
|
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
98
95
|
name: name,
|
|
99
|
-
"aria-hidden": "true",
|
|
100
96
|
value: value,
|
|
101
97
|
disabled: disabled,
|
|
102
98
|
readOnly: true
|
|
@@ -108,7 +104,8 @@ var DxcCheckbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
108
104
|
"aria-disabled": disabled,
|
|
109
105
|
"aria-readonly": readOnly,
|
|
110
106
|
"aria-required": !disabled && !optional,
|
|
111
|
-
"aria-labelledby": labelId,
|
|
107
|
+
"aria-labelledby": label ? labelId : undefined,
|
|
108
|
+
"aria-label": label ? undefined : "Checkbox",
|
|
112
109
|
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
113
110
|
disabled: disabled,
|
|
114
111
|
readOnly: readOnly,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -6,7 +6,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
6
6
|
var _react = _interopRequireDefault(require("react"));
|
|
7
7
|
var _react2 = require("@testing-library/react");
|
|
8
8
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
9
|
-
var _Checkbox = _interopRequireDefault(require("./Checkbox
|
|
9
|
+
var _Checkbox = _interopRequireDefault(require("./Checkbox"));
|
|
10
10
|
describe("Checkbox component tests", function () {
|
|
11
11
|
test("Checkbox renders with correct aria-labelledby and aria-required", function () {
|
|
12
12
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,67 @@
|
|
|
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 _axeHelper = require("../../test/accessibility/axe-helper.js");
|
|
9
|
+
var _Chip = _interopRequireDefault(require("./Chip"));
|
|
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("Chip 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(_Chip["default"], {
|
|
28
|
+
margin: "small",
|
|
29
|
+
prefixIcon: iconSVG,
|
|
30
|
+
suffixIcon: iconSVG,
|
|
31
|
+
label: "Chip"
|
|
32
|
+
})), container = _render.container;
|
|
33
|
+
_context.next = 3;
|
|
34
|
+
return (0, _axeHelper.axe)(container);
|
|
35
|
+
case 3:
|
|
36
|
+
results = _context.sent;
|
|
37
|
+
expect(results).toHaveNoViolations();
|
|
38
|
+
case 5:
|
|
39
|
+
case "end":
|
|
40
|
+
return _context.stop();
|
|
41
|
+
}
|
|
42
|
+
}, _callee);
|
|
43
|
+
})));
|
|
44
|
+
it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
45
|
+
var _render2, container, results;
|
|
46
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
47
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
48
|
+
case 0:
|
|
49
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Chip["default"], {
|
|
50
|
+
margin: "small",
|
|
51
|
+
prefixIcon: iconSVG,
|
|
52
|
+
suffixIcon: iconSVG,
|
|
53
|
+
label: "Chip",
|
|
54
|
+
disabled: true
|
|
55
|
+
})), container = _render2.container;
|
|
56
|
+
_context2.next = 3;
|
|
57
|
+
return (0, _axeHelper.axe)(container);
|
|
58
|
+
case 3:
|
|
59
|
+
results = _context2.sent;
|
|
60
|
+
expect(results).toHaveNoViolations();
|
|
61
|
+
case 5:
|
|
62
|
+
case "end":
|
|
63
|
+
return _context2.stop();
|
|
64
|
+
}
|
|
65
|
+
}, _callee2);
|
|
66
|
+
})));
|
|
67
|
+
});
|
package/chip/Chip.js
CHANGED
|
@@ -13,9 +13,10 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
13
13
|
var _variables = require("../common/variables");
|
|
14
14
|
var _utils = require("../common/utils");
|
|
15
15
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
16
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
16
17
|
var _templateObject, _templateObject2, _templateObject3;
|
|
17
18
|
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); }
|
|
18
|
-
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 &&
|
|
19
|
+
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 && {}.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; }
|
|
19
20
|
var DxcChip = function DxcChip(_ref) {
|
|
20
21
|
var label = _ref.label,
|
|
21
22
|
suffixIcon = _ref.suffixIcon,
|
|
@@ -34,26 +35,28 @@ var DxcChip = function DxcChip(_ref) {
|
|
|
34
35
|
margin: margin
|
|
35
36
|
}, prefixIcon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
36
37
|
role: typeof onClickPrefix === "function" ? "button" : undefined,
|
|
38
|
+
"aria-label": typeof onClickPrefix === "function" ? "Prefix Action" : undefined,
|
|
37
39
|
disabled: disabled,
|
|
38
40
|
interactuable: typeof onClickPrefix === "function" && !disabled,
|
|
39
41
|
tabIndex: typeof onClickPrefix === "function" && !disabled ? tabIndex : -1,
|
|
40
42
|
onClick: function onClick() {
|
|
41
43
|
return onClickPrefix && !disabled && onClickPrefix();
|
|
42
44
|
}
|
|
43
|
-
}, typeof prefixIcon === "string" ? /*#__PURE__*/_react["default"].createElement("
|
|
44
|
-
|
|
45
|
+
}, typeof prefixIcon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
46
|
+
icon: prefixIcon
|
|
45
47
|
}) : prefixIcon), label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
46
48
|
disabled: disabled
|
|
47
49
|
}, label), suffixIcon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
48
50
|
role: typeof onClickSuffix === "function" ? "button" : undefined,
|
|
51
|
+
"aria-label": typeof onClickSuffix === "function" ? "Suffix Action" : undefined,
|
|
49
52
|
disabled: disabled,
|
|
50
53
|
interactuable: typeof onClickSuffix === "function" && !disabled,
|
|
51
54
|
tabIndex: typeof onClickSuffix === "function" && !disabled ? tabIndex : -1,
|
|
52
55
|
onClick: function onClick() {
|
|
53
56
|
return !disabled && (onClickSuffix === null || onClickSuffix === void 0 ? void 0 : onClickSuffix());
|
|
54
57
|
}
|
|
55
|
-
}, typeof suffixIcon === "string" ? /*#__PURE__*/_react["default"].createElement("
|
|
56
|
-
|
|
58
|
+
}, typeof suffixIcon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
59
|
+
icon: suffixIcon
|
|
57
60
|
}) : suffixIcon)));
|
|
58
61
|
};
|
|
59
62
|
var calculateWidth = function calculateWidth(margin) {
|
|
@@ -106,7 +109,7 @@ var LabelContainer = _styledComponents["default"].span(_templateObject2 || (_tem
|
|
|
106
109
|
}, function (props) {
|
|
107
110
|
return props.disabled ? props.theme.disabledFontColor : props.theme.fontColor;
|
|
108
111
|
});
|
|
109
|
-
var IconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n border-radius: 0.25rem;\n color: ", ";\n ", "\n\n ", "\n\n
|
|
112
|
+
var IconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n border-radius: 0.25rem;\n color: ", ";\n ", "\n\n ", "\n\n font-size: ", ";\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (props) {
|
|
110
113
|
return props.disabled ? props.theme.disabledIconColor : props.theme.iconColor;
|
|
111
114
|
}, function (_ref3) {
|
|
112
115
|
var interactuable = _ref3.interactuable;
|
|
@@ -117,5 +120,7 @@ var IconContainer = _styledComponents["default"].div(_templateObject3 || (_templ
|
|
|
117
120
|
return props.theme.iconSize;
|
|
118
121
|
}, function (props) {
|
|
119
122
|
return props.theme.iconSize;
|
|
123
|
+
}, function (props) {
|
|
124
|
+
return props.theme.iconSize;
|
|
120
125
|
});
|
|
121
126
|
var _default = exports["default"] = DxcChip;
|