@dxc-technology/halstack-react 0.0.0-89de434 → 0.0.0-8a597df

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/accordion/Accordion.accessibility.test.js +71 -0
  2. package/accordion/Accordion.js +8 -21
  3. package/accordion/Accordion.stories.tsx +4 -36
  4. package/accordion/types.d.ts +1 -1
  5. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  6. package/accordion-group/AccordionGroup.d.ts +2 -3
  7. package/accordion-group/AccordionGroup.js +3 -3
  8. package/accordion-group/AccordionGroupAccordion.js +2 -2
  9. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  10. package/accordion-group/AccordionGroupContext.js +8 -0
  11. package/accordion-group/types.d.ts +1 -1
  12. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  13. package/action-icon/ActionIcon.js +4 -3
  14. package/action-icon/ActionIcon.stories.tsx +3 -3
  15. package/action-icon/types.d.ts +1 -1
  16. package/alert/Alert.accessibility.test.js +95 -0
  17. package/alert/Alert.js +15 -69
  18. package/badge/Badge.accessibility.test.js +129 -0
  19. package/badge/Badge.js +6 -4
  20. package/badge/Badge.stories.tsx +11 -11
  21. package/badge/types.d.ts +1 -1
  22. package/box/Box.accessibility.test.js +33 -0
  23. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  24. package/bulleted-list/BulletedList.js +6 -3
  25. package/bulleted-list/BulletedList.stories.tsx +1 -1
  26. package/button/Button.accessibility.test.js +127 -0
  27. package/button/Button.js +4 -3
  28. package/button/Button.stories.tsx +32 -51
  29. package/button/types.d.ts +1 -1
  30. package/card/Card.accessibility.test.js +36 -0
  31. package/checkbox/Checkbox.accessibility.test.js +87 -0
  32. package/chip/Chip.accessibility.test.js +67 -0
  33. package/chip/Chip.js +8 -5
  34. package/chip/Chip.stories.tsx +5 -24
  35. package/chip/Chip.test.js +4 -4
  36. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  37. package/date-input/DateInput.accessibility.test.js +216 -0
  38. package/date-input/DateInput.js +1 -2
  39. package/date-input/DatePicker.js +12 -6
  40. package/dialog/Dialog.accessibility.test.js +69 -0
  41. package/dialog/Dialog.test.js +1 -1
  42. package/divider/Divider.accessibility.test.js +33 -0
  43. package/divider/types.d.ts +3 -1
  44. package/dropdown/Dropdown.accessibility.test.js +180 -0
  45. package/dropdown/Dropdown.js +12 -29
  46. package/dropdown/Dropdown.stories.tsx +5 -16
  47. package/dropdown/DropdownMenuItem.js +6 -3
  48. package/dropdown/types.d.ts +2 -4
  49. package/file-input/FileInput.accessibility.test.js +160 -0
  50. package/file-input/FileInput.js +3 -39
  51. package/file-input/FileInput.test.js +7 -84
  52. package/file-input/FileItem.js +13 -27
  53. package/footer/Footer.accessibility.test.js +117 -0
  54. package/footer/Footer.js +7 -5
  55. package/footer/Footer.stories.tsx +28 -3
  56. package/footer/types.d.ts +1 -1
  57. package/header/Header.accessibility.test.js +84 -0
  58. package/header/Header.js +9 -20
  59. package/heading/Heading.accessibility.test.js +33 -0
  60. package/icon/Icon.accessibility.test.js +30 -0
  61. package/icon/Icon.js +1 -1
  62. package/icon/Icon.stories.tsx +5 -3
  63. package/image/Image.accessibility.test.js +56 -0
  64. package/layout/ApplicationLayout.js +1 -1
  65. package/layout/Icons.js +0 -2
  66. package/link/Link.accessibility.test.js +112 -0
  67. package/link/Link.js +7 -5
  68. package/link/Link.stories.tsx +2 -2
  69. package/link/types.d.ts +1 -1
  70. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  71. package/nav-tabs/NavTabs.d.ts +1 -2
  72. package/nav-tabs/NavTabs.js +3 -3
  73. package/nav-tabs/NavTabs.stories.tsx +26 -23
  74. package/nav-tabs/NavTabs.test.js +1 -2
  75. package/nav-tabs/NavTabsContext.d.ts +3 -0
  76. package/nav-tabs/NavTabsContext.js +8 -0
  77. package/nav-tabs/Tab.js +13 -14
  78. package/nav-tabs/types.d.ts +1 -1
  79. package/number-input/NumberInput.accessibility.test.js +228 -0
  80. package/number-input/NumberInput.d.ts +0 -7
  81. package/number-input/NumberInput.js +3 -3
  82. package/number-input/NumberInputContext.d.ts +3 -0
  83. package/number-input/NumberInputContext.js +8 -0
  84. package/number-input/types.d.ts +6 -0
  85. package/package.json +11 -11
  86. package/paginator/Paginator.accessibility.test.js +79 -0
  87. package/paragraph/Paragraph.accessibility.test.js +28 -0
  88. package/password-input/PasswordInput.accessibility.test.js +153 -0
  89. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  90. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  91. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  92. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  93. package/resultset-table/ResultsetTable.d.ts +1 -1
  94. package/resultset-table/ResultsetTable.js +10 -6
  95. package/resultset-table/ResultsetTable.stories.tsx +5 -1
  96. package/resultset-table/ResultsetTable.test.js +14 -4
  97. package/resultset-table/types.d.ts +38 -11
  98. package/select/Select.accessibility.test.js +217 -0
  99. package/select/Select.stories.tsx +0 -1
  100. package/sidenav/Sidenav.accessibility.test.js +59 -0
  101. package/sidenav/Sidenav.js +16 -12
  102. package/sidenav/Sidenav.stories.tsx +4 -9
  103. package/sidenav/types.d.ts +2 -2
  104. package/slider/Slider.accessibility.test.js +104 -0
  105. package/spinner/Spinner.accessibility.test.js +96 -0
  106. package/status-light/StatusLight.accessibility.test.js +157 -0
  107. package/switch/Switch.accessibility.test.js +89 -0
  108. package/table/Table.accessibility.test.js +82 -0
  109. package/table/Table.js +1 -10
  110. package/table/Table.stories.tsx +2 -9
  111. package/table/types.d.ts +1 -15
  112. package/tabs/Tabs.accessibility.test.js +56 -0
  113. package/tag/Tag.accessibility.test.js +69 -0
  114. package/tag/Tag.js +6 -6
  115. package/tag/Tag.stories.tsx +4 -7
  116. package/tag/Tag.test.js +4 -12
  117. package/tag/types.d.ts +2 -2
  118. package/text-input/Suggestions.js +5 -3
  119. package/text-input/TextInput.accessibility.test.js +321 -0
  120. package/text-input/TextInput.js +10 -8
  121. package/text-input/TextInput.stories.tsx +1 -1
  122. package/textarea/Textarea.accessibility.test.js +155 -0
  123. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  124. package/toggle-group/ToggleGroup.js +4 -3
  125. package/toggle-group/ToggleGroup.stories.tsx +3 -3
  126. package/toggle-group/types.d.ts +2 -2
  127. package/typography/Typography.accessibility.test.js +339 -0
  128. package/wizard/Wizard.accessibility.test.js +55 -0
  129. package/date-input/Icons.d.ts +0 -6
  130. package/date-input/Icons.js +0 -58
  131. package/sidenav/Icons.d.ts +0 -7
  132. package/sidenav/Icons.js +0 -47
  133. package/text-input/Icons.d.ts +0 -8
  134. package/text-input/Icons.js +0 -56
  135. /package/{layout → sidenav}/SidenavContext.d.ts +0 -0
  136. /package/{layout → sidenav}/SidenavContext.js +0 -0
@@ -0,0 +1,157 @@
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 _StatusLight = _interopRequireDefault(require("./StatusLight.tsx"));
10
+ var _Flex = _interopRequireDefault(require("../flex/Flex.tsx"));
11
+ describe("StatusLight component accessibility tests", function () {
12
+ it("Should not have basic accessibility issues for default 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(_StatusLight["default"], {
18
+ label: "Status Light Test",
19
+ mode: "default",
20
+ size: "large"
21
+ }), /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
22
+ label: "Status Light Test",
23
+ mode: "default",
24
+ size: "medium"
25
+ }), /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
26
+ label: "Status Light Test",
27
+ mode: "default",
28
+ size: "small"
29
+ }))), container = _render.container;
30
+ _context.next = 3;
31
+ return (0, _jestAxe.axe)(container);
32
+ case 3:
33
+ results = _context.sent;
34
+ expect(results).toHaveNoViolations();
35
+ case 5:
36
+ case "end":
37
+ return _context.stop();
38
+ }
39
+ }, _callee);
40
+ })));
41
+ it("Should not have basic accessibility issues for error mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
42
+ var _render2, container, results;
43
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
44
+ while (1) switch (_context2.prev = _context2.next) {
45
+ case 0:
46
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
47
+ label: "Status Light Test",
48
+ mode: "error",
49
+ size: "large"
50
+ }), /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
51
+ label: "Status Light Test",
52
+ mode: "error",
53
+ size: "medium"
54
+ }), /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
55
+ label: "Status Light Test",
56
+ mode: "error",
57
+ size: "small"
58
+ }))), container = _render2.container;
59
+ _context2.next = 3;
60
+ return (0, _jestAxe.axe)(container);
61
+ case 3:
62
+ results = _context2.sent;
63
+ expect(results).toHaveNoViolations();
64
+ case 5:
65
+ case "end":
66
+ return _context2.stop();
67
+ }
68
+ }, _callee2);
69
+ })));
70
+ it("Should not have basic accessibility issues for info mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
71
+ var _render3, container, results;
72
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
73
+ while (1) switch (_context3.prev = _context3.next) {
74
+ case 0:
75
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
76
+ label: "Status Light Test",
77
+ mode: "info",
78
+ size: "large"
79
+ }), /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
80
+ label: "Status Light Test",
81
+ mode: "info",
82
+ size: "medium"
83
+ }), /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
84
+ label: "Status Light Test",
85
+ mode: "info",
86
+ size: "small"
87
+ }))), container = _render3.container;
88
+ _context3.next = 3;
89
+ return (0, _jestAxe.axe)(container);
90
+ case 3:
91
+ results = _context3.sent;
92
+ expect(results).toHaveNoViolations();
93
+ case 5:
94
+ case "end":
95
+ return _context3.stop();
96
+ }
97
+ }, _callee3);
98
+ })));
99
+ it("Should not have basic accessibility issues for success mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
100
+ var _render4, container, results;
101
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
102
+ while (1) switch (_context4.prev = _context4.next) {
103
+ case 0:
104
+ _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
105
+ label: "Status Light Test",
106
+ mode: "success",
107
+ size: "large"
108
+ }), /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
109
+ label: "Status Light Test",
110
+ mode: "success",
111
+ size: "medium"
112
+ }), /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
113
+ label: "Status Light Test",
114
+ mode: "success",
115
+ size: "small"
116
+ }))), container = _render4.container;
117
+ _context4.next = 3;
118
+ return (0, _jestAxe.axe)(container);
119
+ case 3:
120
+ results = _context4.sent;
121
+ expect(results).toHaveNoViolations();
122
+ case 5:
123
+ case "end":
124
+ return _context4.stop();
125
+ }
126
+ }, _callee4);
127
+ })));
128
+ it("Should not have basic accessibility issues for warning mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
129
+ var _render5, container, results;
130
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
131
+ while (1) switch (_context5.prev = _context5.next) {
132
+ case 0:
133
+ _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
134
+ label: "Status Light Test",
135
+ mode: "warning",
136
+ size: "large"
137
+ }), /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
138
+ label: "Status Light Test",
139
+ mode: "warning",
140
+ size: "medium"
141
+ }), /*#__PURE__*/_react["default"].createElement(_StatusLight["default"], {
142
+ label: "Status Light Test",
143
+ mode: "warning",
144
+ size: "small"
145
+ }))), container = _render5.container;
146
+ _context5.next = 3;
147
+ return (0, _jestAxe.axe)(container);
148
+ case 3:
149
+ results = _context5.sent;
150
+ expect(results).toHaveNoViolations();
151
+ case 5:
152
+ case "end":
153
+ return _context5.stop();
154
+ }
155
+ }, _callee5);
156
+ })));
157
+ });
@@ -0,0 +1,89 @@
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 _Switch = _interopRequireDefault(require("./Switch.tsx"));
10
+ describe("Switch 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(_Switch["default"], {
17
+ label: "Default label",
18
+ defaultChecked: true,
19
+ value: "test-defaultChecked",
20
+ name: "test",
21
+ labelPosition: "after",
22
+ margin: "medium",
23
+ size: "medium",
24
+ checked: true
25
+ })), container = _render.container;
26
+ _context.next = 3;
27
+ return (0, _jestAxe.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 optional 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(_Switch["default"], {
43
+ label: "Default label",
44
+ defaultChecked: true,
45
+ value: "test-defaultChecked",
46
+ name: "test",
47
+ labelPosition: "after",
48
+ margin: "medium",
49
+ size: "medium",
50
+ optional: true
51
+ })), container = _render2.container;
52
+ _context2.next = 3;
53
+ return (0, _jestAxe.axe)(container);
54
+ case 3:
55
+ results = _context2.sent;
56
+ expect(results).toHaveNoViolations();
57
+ case 5:
58
+ case "end":
59
+ return _context2.stop();
60
+ }
61
+ }, _callee2);
62
+ })));
63
+ it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
64
+ var _render3, container, results;
65
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
66
+ while (1) switch (_context3.prev = _context3.next) {
67
+ case 0:
68
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
69
+ label: "Default label",
70
+ defaultChecked: true,
71
+ value: "test-defaultChecked",
72
+ name: "test",
73
+ labelPosition: "after",
74
+ margin: "medium",
75
+ size: "medium",
76
+ disabled: true
77
+ })), container = _render3.container;
78
+ _context3.next = 3;
79
+ return (0, _jestAxe.axe)(container);
80
+ case 3:
81
+ results = _context3.sent;
82
+ expect(results).toHaveNoViolations();
83
+ case 5:
84
+ case "end":
85
+ return _context3.stop();
86
+ }
87
+ }, _callee3);
88
+ })));
89
+ });
@@ -0,0 +1,82 @@
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 _Table = _interopRequireDefault(require("./Table.tsx"));
12
+ global.globalThis = global;
13
+ global.DOMRect = {
14
+ fromRect: function fromRect() {
15
+ return {
16
+ top: 0,
17
+ left: 0,
18
+ bottom: 0,
19
+ right: 0,
20
+ width: 0,
21
+ height: 0
22
+ };
23
+ }
24
+ };
25
+ global.ResizeObserver = /*#__PURE__*/function () {
26
+ function ResizeObserver() {
27
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
28
+ }
29
+ (0, _createClass2["default"])(ResizeObserver, [{
30
+ key: "observe",
31
+ value: function observe() {}
32
+ }, {
33
+ key: "unobserve",
34
+ value: function unobserve() {}
35
+ }, {
36
+ key: "disconnect",
37
+ value: function disconnect() {}
38
+ }]);
39
+ return ResizeObserver;
40
+ }();
41
+ describe("Table component accessibility tests", function () {
42
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
43
+ var _render, container, results;
44
+ return _regenerator["default"].wrap(function _callee$(_context) {
45
+ while (1) switch (_context.prev = _context.next) {
46
+ case 0:
47
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Table["default"], {
48
+ margin: "medium",
49
+ mode: "default"
50
+ }, /*#__PURE__*/_react["default"].createElement("thead", null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("th", null, "header-1"), /*#__PURE__*/_react["default"].createElement("th", null, "header-2"), /*#__PURE__*/_react["default"].createElement("th", null, "header-3"))), /*#__PURE__*/_react["default"].createElement("tbody", null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", null, "cell-1"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-2"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-3")), /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", null, "cell-4"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-5"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-6"))))), container = _render.container;
51
+ _context.next = 3;
52
+ return (0, _jestAxe.axe)(container);
53
+ case 3:
54
+ results = _context.sent;
55
+ expect(results).toHaveNoViolations();
56
+ case 5:
57
+ case "end":
58
+ return _context.stop();
59
+ }
60
+ }, _callee);
61
+ })));
62
+ it("Should not have basic accessibility issues for reduced mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
63
+ var _render2, container, results;
64
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
65
+ while (1) switch (_context2.prev = _context2.next) {
66
+ case 0:
67
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Table["default"], {
68
+ margin: "medium",
69
+ mode: "reduced"
70
+ }, /*#__PURE__*/_react["default"].createElement("thead", null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("th", null, "header-1"), /*#__PURE__*/_react["default"].createElement("th", null, "header-2"), /*#__PURE__*/_react["default"].createElement("th", null, "header-3"))), /*#__PURE__*/_react["default"].createElement("tbody", null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", null, "cell-1"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-2"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-3")), /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", null, "cell-4"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-5"), /*#__PURE__*/_react["default"].createElement("td", null, "cell-6"))))), container = _render2.container;
71
+ _context2.next = 3;
72
+ return (0, _jestAxe.axe)(container);
73
+ case 3:
74
+ results = _context2.sent;
75
+ expect(results).toHaveNoViolations();
76
+ case 5:
77
+ case "end":
78
+ return _context2.stop();
79
+ }
80
+ }, _callee2);
81
+ })));
82
+ });
package/table/Table.js CHANGED
@@ -21,15 +21,6 @@ var _ActionIcon = _interopRequireDefault(require("../action-icon/ActionIcon"));
21
21
  var _templateObject, _templateObject2;
22
22
  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); }
23
23
  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; }
24
- var moreVertIcon = /*#__PURE__*/_react["default"].createElement("svg", {
25
- xmlns: "http://www.w3.org/2000/svg",
26
- height: "24",
27
- viewBox: "0 -960 960 960",
28
- width: "24",
29
- fill: "currentColor"
30
- }, /*#__PURE__*/_react["default"].createElement("path", {
31
- d: "M480-160q-33 0-56.5-23.5T400-240q0-33 23.5-56.5T480-320q33 0 56.5 23.5T560-240q0 33-23.5 56.5T480-160Zm0-240q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm0-240q-33 0-56.5-23.5T400-720q0-33 23.5-56.5T480-800q33 0 56.5 23.5T560-720q0 33-23.5 56.5T480-640Z"
32
- }));
33
24
  var overwriteTheme = function overwriteTheme(theme) {
34
25
  var newTheme = _DropdownTheme["default"];
35
26
  newTheme.dropdown.buttonBackgroundColor = theme.table.actionBackgroundColor;
@@ -70,7 +61,7 @@ var DxcActionsCell = exports.DxcActionsCell = function DxcActionsCell(_ref) {
70
61
  options: actionDropdown.options,
71
62
  onSelectOption: actionDropdown.onClick,
72
63
  disabled: actionDropdown.disabled,
73
- icon: moreVertIcon,
64
+ icon: "more_vert",
74
65
  tabIndex: actionDropdown.tabIndex,
75
66
  caretHidden: true
76
67
  })));
@@ -28,13 +28,6 @@ const advancedTheme = {
28
28
  },
29
29
  };
30
30
 
31
- const icon1 = (
32
- <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
33
- <path d="M0 0h24v24H0V0z" fill="none" />
34
- <path d="M7.77 6.76L6.23 5.48.82 12l5.41 6.52 1.54-1.28L3.42 12l4.35-5.24zM7 13h2v-2H7v2zm10-2h-2v2h2v-2zm-6 2h2v-2h-2v2zm6.77-7.52l-1.54 1.28L20.58 12l-4.35 5.24 1.54 1.28L23.18 12l-5.41-6.52z" />
35
- </svg>
36
- );
37
-
38
31
  const actions = [
39
32
  {
40
33
  title: "icon",
@@ -98,12 +91,12 @@ const actions = [
98
91
  ],
99
92
  },
100
93
  {
101
- icon: icon1,
94
+ icon: "filled_edit",
102
95
  title: "icon",
103
96
  onClick: () => {},
104
97
  },
105
98
  {
106
- icon: icon1,
99
+ icon: "filled_delete",
107
100
  title: "icon",
108
101
  onClick: () => {},
109
102
  disabled: true,
package/table/types.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { Option } from "../dropdown/types";
2
3
  type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
4
  type Margin = {
4
5
  top?: Space;
@@ -7,21 +8,6 @@ type Margin = {
7
8
  right?: Space;
8
9
  };
9
10
  type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
- type Option = {
11
- /**
12
- * Option display value.
13
- */
14
- label?: string;
15
- /**
16
- * Element or path used as the icon that will be placed next to the
17
- * option label.
18
- */
19
- icon?: string | SVG;
20
- /**
21
- * Option inner value.
22
- */
23
- value: string;
24
- };
25
11
  export type DeepPartial<T> = {
26
12
  [P in keyof T]?: Partial<T[P]>;
27
13
  };
@@ -0,0 +1,56 @@
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 _Tabs = _interopRequireDefault(require("./Tabs.tsx"));
10
+ var iconSVG = /*#__PURE__*/_react["default"].createElement("svg", {
11
+ xmlns: "http://www.w3.org/2000/svg",
12
+ viewBox: "0 0 20 20",
13
+ height: "20",
14
+ width: "20",
15
+ fill: "currentColor"
16
+ }, /*#__PURE__*/_react["default"].createElement("path", {
17
+ d: "m10 17-1.042-.938q-2.083-1.854-3.437-3.177-1.354-1.323-2.136-2.354Q2.604 9.5 2.302 8.646 2 7.792 2 6.896q0-1.854 1.271-3.125T6.396 2.5q1.021 0 1.979.438.958.437 1.625 1.229.667-.792 1.625-1.229.958-.438 1.979-.438 1.854 0 3.125 1.271T18 6.896q0 .896-.292 1.729-.291.833-1.073 1.854-.781 1.021-2.145 2.365-1.365 1.344-3.49 3.26Zm0-2.021q1.938-1.729 3.188-2.948 1.25-1.219 1.989-2.125.74-.906 1.031-1.614.292-.709.292-1.396 0-1.229-.833-2.063Q14.833 4 13.604 4q-.729 0-1.364.302-.636.302-1.094.844L10.417 6h-.834l-.729-.854q-.458-.542-1.114-.844Q7.083 4 6.396 4q-1.229 0-2.063.833-.833.834-.833 2.063 0 .687.271 1.364.271.678.989 1.573.719.896 1.98 2.125Q8 13.188 10 14.979Zm0-5.5Z"
18
+ }));
19
+ var sampleTabs = [{
20
+ label: "Tab-1",
21
+ icon: iconSVG,
22
+ notificationNumber: 10
23
+ }, {
24
+ label: "Tab-2",
25
+ icon: iconSVG
26
+ }, {
27
+ label: "Tab-3",
28
+ notificationNumber: 20
29
+ }, {
30
+ label: "Tab-4",
31
+ isDisabled: true
32
+ }];
33
+ describe("Tabs component accessibility tests", function () {
34
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
35
+ var _render, container, results;
36
+ return _regenerator["default"].wrap(function _callee$(_context) {
37
+ while (1) switch (_context.prev = _context.next) {
38
+ case 0:
39
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
40
+ tabs: sampleTabs,
41
+ margin: "medium",
42
+ iconPosition: "left",
43
+ defaultActiveTabIndex: 0
44
+ })), container = _render.container;
45
+ _context.next = 3;
46
+ return (0, _jestAxe.axe)(container);
47
+ case 3:
48
+ results = _context.sent;
49
+ expect(results).toHaveNoViolations();
50
+ case 5:
51
+ case "end":
52
+ return _context.stop();
53
+ }
54
+ }, _callee);
55
+ })));
56
+ });
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _jestAxe = require("jest-axe");
9
+ var _Tag = _interopRequireDefault(require("./Tag.tsx"));
10
+ var icon = /*#__PURE__*/_react["default"].createElement("svg", {
11
+ viewBox: "0 0 24 24",
12
+ fill: "currentColor"
13
+ }, /*#__PURE__*/_react["default"].createElement("path", {
14
+ d: "M0 0h24v24H0z",
15
+ fill: "none"
16
+ }), /*#__PURE__*/_react["default"].createElement("path", {
17
+ 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"
18
+ }));
19
+ describe("Tag component accessibility tests", function () {
20
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
21
+ var _render, container, results;
22
+ return _regenerator["default"].wrap(function _callee$(_context) {
23
+ while (1) switch (_context.prev = _context.next) {
24
+ case 0:
25
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
26
+ label: "tag-test",
27
+ icon: icon,
28
+ iconBgColor: "#fabada",
29
+ margin: "medium",
30
+ size: "medium",
31
+ labelPosition: "before"
32
+ })), container = _render.container;
33
+ _context.next = 3;
34
+ return (0, _jestAxe.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 new-window 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(_Tag["default"], {
50
+ label: "tag-test",
51
+ icon: icon,
52
+ iconBgColor: "#fabada",
53
+ margin: "medium",
54
+ size: "medium",
55
+ labelPosition: "before",
56
+ newWindow: true
57
+ })), container = _render2.container;
58
+ _context2.next = 3;
59
+ return (0, _jestAxe.axe)(container);
60
+ case 3:
61
+ results = _context2.sent;
62
+ expect(results).toHaveNoViolations();
63
+ case 5:
64
+ case "end":
65
+ return _context2.stop();
66
+ }
67
+ }, _callee2);
68
+ })));
69
+ });
package/tag/Tag.js CHANGED
@@ -15,7 +15,8 @@ var _variables = require("../common/variables");
15
15
  var _useTheme = _interopRequireDefault(require("../useTheme"));
16
16
  var _utils = require("../common/utils");
17
17
  var _Box = _interopRequireDefault(require("../box/Box"));
18
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
18
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
19
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
19
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); }
20
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; }
21
22
  var DxcTag = function DxcTag(_ref) {
@@ -48,8 +49,8 @@ var DxcTag = function DxcTag(_ref) {
48
49
  shadowDepth: isHovered && (onClick || linkHref) && 2 || 1
49
50
  }, /*#__PURE__*/_react["default"].createElement(TagContent, null, labelPosition === "before" && size !== "small" && label && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label), icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
50
51
  iconBgColor: iconBgColor
51
- }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(TagIcon, {
52
- src: icon
52
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
53
+ icon: icon
53
54
  }) : icon), labelPosition === "after" && size !== "small" && label && /*#__PURE__*/_react["default"].createElement(TagLabel, null, label)));
54
55
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
55
56
  theme: colorsTheme.tag
@@ -114,7 +115,7 @@ var StyledLink = _styledComponents["default"].a(_templateObject3 || (_templateOb
114
115
  var StyledButton = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n background: none;\n border-radius: 4px;\n border: none;\n padding: 0;\n cursor: pointer;\n font-family: inherit;\n width: 100%;\n :focus {\n outline: 2px solid ", ";\n }\n"])), function (props) {
115
116
  return props.theme.focusColor;
116
117
  });
117
- var IconContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n background: ", ";\n width: ", ";\n height: 100%;\n justify-content: center;\n align-items: center;\n color: ", ";\n min-width: ", ";\n overflow: hidden;\n img,\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (_ref8) {
118
+ var IconContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n background: ", ";\n width: ", ";\n height: 100%;\n justify-content: center;\n align-items: center;\n color: ", ";\n min-width: ", ";\n overflow: hidden;\n font-size: 24px;\n\n svg {\n width: ", ";\n height: ", ";\n }\n"])), function (_ref8) {
118
119
  var iconBgColor = _ref8.iconBgColor;
119
120
  return iconBgColor;
120
121
  }, function (props) {
@@ -128,8 +129,7 @@ var IconContainer = _styledComponents["default"].div(_templateObject5 || (_templ
128
129
  }, function (props) {
129
130
  return props.theme.iconHeight;
130
131
  });
131
- var TagIcon = _styledComponents["default"].img(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])([""])));
132
- var TagLabel = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n flex-grow: 1;\n text-align: center;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n"])), function (props) {
132
+ var TagLabel = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n flex-grow: 1;\n text-align: center;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n"])), function (props) {
133
133
  return props.theme.fontFamily;
134
134
  }, function (props) {
135
135
  return props.theme.fontSize;
@@ -47,14 +47,11 @@ export const Chromatic = () => (
47
47
  </ExampleContainer>
48
48
  <ExampleContainer>
49
49
  <Title title="With label and icon" theme="light" level={4} />
50
- <DxcTag
51
- label="Tag"
52
- icon="https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png"
53
- />
50
+ <DxcTag label="Tag" icon="person" />
54
51
  </ExampleContainer>
55
52
  <ExampleContainer>
56
53
  <Title title="With right icon" theme="light" level={4} />
57
- <DxcTag label="Tag" icon={icon} labelPosition="before" />
54
+ <DxcTag label="Tag" icon="group" labelPosition="before" />
58
55
  </ExampleContainer>
59
56
  <ExampleContainer>
60
57
  <Title title="Icon background color" theme="light" level={4} />
@@ -67,7 +64,7 @@ export const Chromatic = () => (
67
64
  <ExampleContainer pseudoState="pseudo-focus">
68
65
  <Title title="With action focused" theme="light" level={4} />
69
66
  <DxcTag
70
- icon={icon}
67
+ icon="done"
71
68
  label="Tag"
72
69
  onClick={() => {
73
70
  console.log("click");
@@ -110,7 +107,7 @@ export const Chromatic = () => (
110
107
  </ExampleContainer>
111
108
  <ExampleContainer>
112
109
  <Title title="Medium size" theme="light" level={4} />
113
- <DxcTag label="Medium size medium s" size="medium" icon={icon} />
110
+ <DxcTag label="Medium size medium s" size="medium" icon="person" />
114
111
  </ExampleContainer>
115
112
  <ExampleContainer>
116
113
  <Title title="Medium size with ellipsis" theme="light" level={4} />
package/tag/Tag.test.js CHANGED
@@ -20,29 +20,21 @@ describe("Tag component tests", function () {
20
20
  getByText = _render2.getByText;
21
21
  expect(getByText("tag-test")).toBeTruthy();
22
22
  });
23
- test("Tag renders with correct icon", function () {
24
- var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
25
- label: "tag-test",
26
- icon: "/test-icon.jpg"
27
- })),
28
- getByRole = _render3.getByRole;
29
- expect(getByRole("img").getAttribute("src")).toBe("/test-icon.jpg");
30
- });
31
23
  test("Tag renders with link href", function () {
32
- var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
24
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
33
25
  label: "tag-test",
34
26
  linkHref: "/test/page"
35
27
  })),
36
- getByRole = _render4.getByRole;
28
+ getByRole = _render3.getByRole;
37
29
  expect(getByRole("link").getAttribute("href")).toBe("/test/page");
38
30
  });
39
31
  test("Call correct function on click", function () {
40
32
  var onClick = jest.fn();
41
- var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
33
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
42
34
  label: "tag-test",
43
35
  onClick: onClick
44
36
  })),
45
- getByText = _render5.getByText;
37
+ getByText = _render4.getByText;
46
38
  _react2.fireEvent.click(getByText("tag-test"));
47
39
  expect(onClick).toHaveBeenCalled();
48
40
  });