@dxc-technology/halstack-react 0.0.0-c9c1158 → 0.0.0-c9efd3e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +2 -7
  3. package/HalstackContext.d.ts +29 -133
  4. package/HalstackContext.js +1 -1
  5. package/accordion/Accordion.accessibility.test.js +71 -0
  6. package/accordion/Accordion.js +10 -26
  7. package/accordion/Accordion.stories.tsx +4 -36
  8. package/accordion/types.d.ts +1 -1
  9. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  10. package/accordion-group/AccordionGroup.d.ts +2 -3
  11. package/accordion-group/AccordionGroup.js +3 -3
  12. package/accordion-group/AccordionGroupAccordion.js +2 -2
  13. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  14. package/accordion-group/AccordionGroupContext.js +8 -0
  15. package/accordion-group/types.d.ts +1 -1
  16. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  17. package/action-icon/ActionIcon.d.ts +4 -0
  18. package/action-icon/ActionIcon.js +48 -0
  19. package/action-icon/ActionIcon.stories.tsx +41 -0
  20. package/action-icon/ActionIcon.test.js +64 -0
  21. package/action-icon/types.d.ts +26 -0
  22. package/action-icon/types.js +5 -0
  23. package/alert/Alert.accessibility.test.js +95 -0
  24. package/alert/Alert.js +15 -72
  25. package/badge/Badge.accessibility.test.js +129 -0
  26. package/badge/Badge.d.ts +1 -1
  27. package/badge/Badge.js +141 -28
  28. package/badge/Badge.stories.tsx +210 -0
  29. package/badge/Badge.test.js +30 -0
  30. package/badge/types.d.ts +52 -3
  31. package/box/Box.accessibility.test.js +33 -0
  32. package/box/Box.js +1 -4
  33. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  34. package/bulleted-list/BulletedList.js +15 -22
  35. package/bulleted-list/BulletedList.stories.tsx +1 -2
  36. package/button/Button.accessibility.test.js +127 -0
  37. package/button/Button.js +15 -15
  38. package/button/Button.stories.tsx +32 -51
  39. package/button/Button.test.js +3 -1
  40. package/button/types.d.ts +1 -1
  41. package/card/Card.accessibility.test.js +36 -0
  42. package/checkbox/Checkbox.accessibility.test.js +87 -0
  43. package/checkbox/Checkbox.js +26 -31
  44. package/chip/Chip.accessibility.test.js +67 -0
  45. package/chip/Chip.js +8 -5
  46. package/chip/Chip.stories.tsx +5 -24
  47. package/chip/Chip.test.js +4 -4
  48. package/common/coreTokens.d.ts +1 -1
  49. package/common/coreTokens.js +3 -3
  50. package/common/variables.d.ts +29 -133
  51. package/common/variables.js +38 -142
  52. package/container/Container.js +3 -7
  53. package/container/Container.stories.tsx +10 -25
  54. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  55. package/contextual-menu/ContextualMenu.d.ts +7 -0
  56. package/contextual-menu/ContextualMenu.js +71 -0
  57. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  58. package/contextual-menu/ContextualMenu.test.js +71 -0
  59. package/contextual-menu/MenuItemAction.d.ts +4 -0
  60. package/contextual-menu/MenuItemAction.js +46 -0
  61. package/contextual-menu/types.d.ts +22 -0
  62. package/contextual-menu/types.js +5 -0
  63. package/date-input/DateInput.accessibility.test.js +216 -0
  64. package/date-input/types.d.ts +2 -2
  65. package/dialog/Dialog.accessibility.test.js +69 -0
  66. package/dialog/Dialog.js +2 -5
  67. package/dialog/Dialog.stories.tsx +170 -0
  68. package/dialog/Dialog.test.js +1 -1
  69. package/divider/Divider.accessibility.test.js +33 -0
  70. package/divider/Divider.d.ts +4 -0
  71. package/divider/Divider.js +36 -0
  72. package/divider/Divider.stories.tsx +223 -0
  73. package/divider/Divider.test.js +38 -0
  74. package/divider/types.d.ts +21 -0
  75. package/divider/types.js +5 -0
  76. package/dropdown/Dropdown.accessibility.test.js +180 -0
  77. package/dropdown/Dropdown.js +21 -36
  78. package/dropdown/Dropdown.stories.tsx +5 -16
  79. package/dropdown/DropdownMenuItem.js +6 -3
  80. package/dropdown/types.d.ts +3 -5
  81. package/file-input/FileInput.accessibility.test.js +160 -0
  82. package/file-input/FileInput.js +3 -39
  83. package/file-input/FileInput.test.js +7 -84
  84. package/file-input/FileItem.js +13 -27
  85. package/footer/Footer.accessibility.test.js +117 -0
  86. package/footer/Footer.d.ts +1 -1
  87. package/footer/Footer.js +36 -31
  88. package/footer/Footer.stories.tsx +46 -2
  89. package/footer/Icons.d.ts +1 -0
  90. package/footer/Icons.js +65 -1
  91. package/footer/types.d.ts +8 -8
  92. package/header/Header.accessibility.test.js +84 -0
  93. package/header/Header.js +18 -40
  94. package/header/types.d.ts +4 -3
  95. package/heading/Heading.accessibility.test.js +33 -0
  96. package/icon/Icon.accessibility.test.js +30 -0
  97. package/icon/Icon.d.ts +4 -0
  98. package/icon/Icon.js +33 -0
  99. package/icon/Icon.stories.tsx +28 -0
  100. package/icon/types.d.ts +4 -0
  101. package/icon/types.js +5 -0
  102. package/image/Image.accessibility.test.js +56 -0
  103. package/image/Image.stories.tsx +3 -1
  104. package/layout/ApplicationLayout.d.ts +1 -1
  105. package/layout/ApplicationLayout.js +1 -1
  106. package/layout/Icons.js +0 -2
  107. package/link/Link.accessibility.test.js +112 -0
  108. package/link/Link.js +7 -5
  109. package/link/Link.stories.tsx +2 -2
  110. package/link/types.d.ts +1 -1
  111. package/main.d.ts +5 -3
  112. package/main.js +22 -8
  113. package/nav-tabs/NavTabs.accessibility.test.js +52 -0
  114. package/nav-tabs/NavTabs.d.ts +1 -2
  115. package/nav-tabs/NavTabs.js +9 -6
  116. package/nav-tabs/NavTabs.stories.tsx +6 -4
  117. package/nav-tabs/NavTabs.test.js +3 -2
  118. package/nav-tabs/NavTabsContext.d.ts +3 -0
  119. package/nav-tabs/NavTabsContext.js +8 -0
  120. package/nav-tabs/Tab.js +8 -7
  121. package/number-input/NumberInput.accessibility.test.js +228 -0
  122. package/number-input/NumberInput.d.ts +0 -7
  123. package/number-input/NumberInput.js +24 -5
  124. package/number-input/NumberInput.test.js +165 -6
  125. package/number-input/NumberInputContext.d.ts +3 -0
  126. package/number-input/NumberInputContext.js +8 -0
  127. package/number-input/types.d.ts +6 -0
  128. package/package.json +12 -12
  129. package/paginator/Paginator.accessibility.test.js +79 -0
  130. package/paginator/Paginator.js +1 -4
  131. package/paragraph/Paragraph.accessibility.test.js +28 -0
  132. package/paragraph/Paragraph.js +2 -7
  133. package/password-input/PasswordInput.accessibility.test.js +153 -0
  134. package/password-input/PasswordInput.stories.tsx +0 -1
  135. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  136. package/progress-bar/ProgressBar.js +5 -11
  137. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  138. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  139. package/radio-group/RadioGroup.js +1 -1
  140. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  141. package/resultset-table/ResultsetTable.d.ts +4 -1
  142. package/resultset-table/ResultsetTable.js +23 -12
  143. package/resultset-table/ResultsetTable.stories.tsx +106 -5
  144. package/resultset-table/ResultsetTable.test.js +76 -0
  145. package/resultset-table/types.d.ts +40 -7
  146. package/select/Option.js +8 -1
  147. package/select/Select.accessibility.test.js +217 -0
  148. package/select/Select.js +35 -27
  149. package/select/Select.stories.tsx +0 -1
  150. package/select/Select.test.js +498 -462
  151. package/select/types.d.ts +2 -2
  152. package/sidenav/Sidenav.accessibility.test.js +59 -0
  153. package/sidenav/Sidenav.js +20 -18
  154. package/sidenav/Sidenav.stories.tsx +4 -9
  155. package/sidenav/types.d.ts +2 -2
  156. package/slider/Slider.accessibility.test.js +104 -0
  157. package/slider/Slider.js +37 -46
  158. package/spinner/Spinner.accessibility.test.js +96 -0
  159. package/spinner/Spinner.js +6 -14
  160. package/status-light/StatusLight.accessibility.test.js +157 -0
  161. package/status-light/StatusLight.d.ts +4 -0
  162. package/status-light/StatusLight.js +51 -0
  163. package/status-light/StatusLight.stories.tsx +74 -0
  164. package/status-light/StatusLight.test.js +25 -0
  165. package/status-light/types.d.ts +17 -0
  166. package/status-light/types.js +5 -0
  167. package/switch/Switch.accessibility.test.js +89 -0
  168. package/switch/Switch.js +23 -28
  169. package/table/DropdownTheme.js +62 -0
  170. package/table/Table.accessibility.test.js +82 -0
  171. package/table/Table.d.ts +6 -2
  172. package/table/Table.js +73 -11
  173. package/table/Table.stories.tsx +297 -2
  174. package/table/Table.test.js +92 -0
  175. package/table/types.d.ts +28 -0
  176. package/tabs/Tab.js +7 -4
  177. package/tabs/Tabs.accessibility.test.js +56 -0
  178. package/tabs/Tabs.js +4 -5
  179. package/tabs/Tabs.stories.tsx +1 -1
  180. package/tag/Tag.accessibility.test.js +69 -0
  181. package/tag/Tag.js +6 -6
  182. package/tag/Tag.stories.tsx +4 -7
  183. package/tag/Tag.test.js +4 -12
  184. package/tag/types.d.ts +2 -2
  185. package/text-input/Suggestions.js +7 -10
  186. package/text-input/TextInput.accessibility.test.js +321 -0
  187. package/text-input/TextInput.js +77 -102
  188. package/text-input/TextInput.stories.tsx +1 -1
  189. package/text-input/TextInput.test.js +96 -79
  190. package/textarea/Textarea.accessibility.test.js +155 -0
  191. package/textarea/Textarea.js +10 -16
  192. package/textarea/Textarea.stories.tsx +0 -1
  193. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  194. package/toggle-group/ToggleGroup.js +1 -4
  195. package/typography/Typography.accessibility.test.js +339 -0
  196. package/useTheme.d.ts +29 -133
  197. package/utils/FocusLock.js +15 -5
  198. package/wizard/Wizard.accessibility.test.js +55 -0
  199. package/wizard/types.d.ts +1 -1
  200. package/common/OpenSans.css +0 -69
  201. package/common/fonts/OpenSans-Bold.ttf +0 -0
  202. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  203. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  204. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  205. package/common/fonts/OpenSans-Italic.ttf +0 -0
  206. package/common/fonts/OpenSans-Light.ttf +0 -0
  207. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  208. package/common/fonts/OpenSans-Regular.ttf +0 -0
  209. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  210. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  211. package/sidenav/Icons.d.ts +0 -7
  212. package/sidenav/Icons.js +0 -47
  213. package/text-input/Icons.d.ts +0 -8
  214. package/text-input/Icons.js +0 -56
  215. /package/{layout → sidenav}/SidenavContext.d.ts +0 -0
  216. /package/{layout → sidenav}/SidenavContext.js +0 -0
@@ -0,0 +1,35 @@
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 _ProgressBar = _interopRequireDefault(require("./ProgressBar.tsx"));
10
+ describe("ProgressBar 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(_ProgressBar["default"], {
17
+ label: "test-label",
18
+ helperText: "helper-text",
19
+ margin: "medium",
20
+ value: 50,
21
+ showValue: true,
22
+ overlay: true
23
+ })), container = _render.container;
24
+ _context.next = 3;
25
+ return (0, _jestAxe.axe)(container);
26
+ case 3:
27
+ results = _context.sent;
28
+ expect(results).toHaveNoViolations();
29
+ case 5:
30
+ case "end":
31
+ return _context.stop();
32
+ }
33
+ }, _callee);
34
+ })));
35
+ });
@@ -13,7 +13,6 @@ var _react = _interopRequireWildcard(require("react"));
13
13
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
14
14
  var _variables = require("../common/variables");
15
15
  var _useTheme = _interopRequireDefault(require("../useTheme"));
16
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
17
16
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
18
17
  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
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 && 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; }
@@ -29,7 +28,6 @@ var DxcProgressBar = function DxcProgressBar(_ref) {
29
28
  showValue = _ref$showValue === void 0 ? false : _ref$showValue,
30
29
  margin = _ref.margin;
31
30
  var colorsTheme = (0, _useTheme["default"])();
32
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
33
31
  var _useState = (0, _react.useState)(0),
34
32
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
35
33
  valueProgressBar = _useState2[0],
@@ -46,25 +44,21 @@ var DxcProgressBar = function DxcProgressBar(_ref) {
46
44
  margin: margin
47
45
  }, /*#__PURE__*/_react["default"].createElement(InfoProgressBar, null, /*#__PURE__*/_react["default"].createElement(ProgressBarLabel, {
48
46
  overlay: overlay,
49
- backgroundType: backgroundType,
50
47
  "aria-label": label || undefined
51
48
  }, label), /*#__PURE__*/_react["default"].createElement(ProgressBarProgress, {
52
49
  overlay: overlay,
53
50
  showValue: showValue,
54
- backgroundType: backgroundType,
55
51
  value: valueProgressBar
56
52
  }, valueProgressBar, " %")), /*#__PURE__*/_react["default"].createElement(LinearProgress, {
57
53
  role: "progressbar",
58
54
  helperText: helperText,
59
55
  "aria-valuenow": showValue ? valueProgressBar : undefined
60
56
  }, /*#__PURE__*/_react["default"].createElement(LinearProgressBar, {
61
- backgroundType: backgroundType,
62
57
  variant: value === null || value === undefined ? "indeterminate" : "determinate",
63
58
  container: "first",
64
59
  value: valueProgressBar
65
60
  })), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
66
- overlay: overlay,
67
- backgroundType: backgroundType
61
+ overlay: overlay
68
62
  }, helperText))));
69
63
  };
70
64
  var BackgroundProgressBar = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n display: flex;\n flex-wrap: wrap;\n min-width: 100px;\n width: 100%;\n"])), function (_ref2) {
@@ -99,7 +93,7 @@ var ProgressBarLabel = _styledComponents["default"].div(_templateObject4 || (_te
99
93
  }, function (props) {
100
94
  return props.theme.labelFontTextTransform;
101
95
  }, function (props) {
102
- return props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.overlay === true ? props.theme.overlayFontColor : props.theme.labelFontColor;
96
+ return props.overlay === true ? props.theme.overlayFontColor : props.theme.labelFontColor;
103
97
  });
104
98
  var ProgressBarProgress = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n font-weight: ", ";\n text-transform: ", ";\n color: ", ";\n display: ", ";\n flex-shrink: 0;\n"])), function (props) {
105
99
  return props.theme.valueFontFamily;
@@ -112,12 +106,12 @@ var ProgressBarProgress = _styledComponents["default"].div(_templateObject5 || (
112
106
  }, function (props) {
113
107
  return props.theme.valueFontTextTransform;
114
108
  }, function (props) {
115
- return props.backgroundType === "dark" ? props.theme.valueFontColorOnDark : props.overlay === true ? props.theme.overlayFontColor : props.theme.valueFontColor;
109
+ return props.overlay === true ? props.theme.overlayFontColor : props.theme.valueFontColor;
116
110
  }, function (props) {
117
111
  return props.value !== undefined && props.value !== null && props.showValue === true && "block" || "none";
118
112
  });
119
113
  var HelperText = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"])), function (props) {
120
- return props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.overlay === true ? props.theme.overlayFontColor : props.theme.helperTextFontColor;
114
+ return props.overlay === true ? props.theme.overlayFontColor : props.theme.helperTextFontColor;
121
115
  }, function (props) {
122
116
  return props.theme.helperTextFontFamily;
123
117
  }, function (props) {
@@ -137,7 +131,7 @@ var LinearProgress = _styledComponents["default"].div(_templateObject7 || (_temp
137
131
  return props.helperText !== "" && "8px";
138
132
  });
139
133
  var LinearProgressBar = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n transform: ", ";\n top: 0;\n left: 0;\n width: 100%;\n bottom: 0;\n position: absolute;\n transition: ", ";\n transform-origin: left;\n ", ";\n ", ";\n\n @keyframes keyframes-indeterminate-first {\n 0% {\n left: -35%;\n right: 100%;\n }\n 60% {\n left: 100%;\n right: -90%;\n }\n 100% {\n left: 100%;\n right: -90%;\n }\n }\n\n @keyframes keyframes-indeterminate-second {\n 0% {\n left: -200%;\n right: 100%;\n }\n 60% {\n left: 107%;\n right: -8%;\n }\n 100% {\n left: 107%;\n right: -8%;\n }\n }\n"])), function (props) {
140
- return props.backgroundType === "dark" ? props.theme.trackLineColorOnDark : props.theme.trackLineColor;
134
+ return props.theme.trackLineColor;
141
135
  }, function (props) {
142
136
  return "translateX(-".concat(props.variant === "determinate" ? 100 - props.value : 0, "%)");
143
137
  }, function (props) {
@@ -0,0 +1,57 @@
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 _QuickNav = _interopRequireDefault(require("./QuickNav"));
10
+ var links = [{
11
+ label: "Overview",
12
+ links: [{
13
+ label: "Introduction"
14
+ }]
15
+ }, {
16
+ label: "Components",
17
+ links: [{
18
+ label: "Introduction"
19
+ }, {
20
+ label: "Accordion"
21
+ }]
22
+ }, {
23
+ label: "Principles very very very very very very very very long",
24
+ links: [{
25
+ label: "Color very very very very very very very very long"
26
+ }, {
27
+ label: "Spacingveryveryveryveryveryveryveryverylong"
28
+ }, {
29
+ label: "Typography"
30
+ }]
31
+ }, {
32
+ label: "Componentsveryveryveryveryveryveryveryverylong",
33
+ links: [{
34
+ label: "Accordion"
35
+ }]
36
+ }];
37
+ describe("Quick Nav component accessibility tests", function () {
38
+ it("Should not have basic accessibility issues for icon mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
39
+ var _render, container, results;
40
+ return _regenerator["default"].wrap(function _callee$(_context) {
41
+ while (1) switch (_context.prev = _context.next) {
42
+ case 0:
43
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_QuickNav["default"], {
44
+ links: links
45
+ })), container = _render.container;
46
+ _context.next = 3;
47
+ return (0, _jestAxe.axe)(container);
48
+ case 3:
49
+ results = _context.sent;
50
+ expect(results).toHaveNoViolations();
51
+ case 5:
52
+ case "end":
53
+ return _context.stop();
54
+ }
55
+ }, _callee);
56
+ })));
57
+ });
@@ -0,0 +1,97 @@
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 _RadioGroup = _interopRequireDefault(require("./RadioGroup.tsx"));
10
+ var options = [{
11
+ label: "Option 01",
12
+ value: "1"
13
+ }, {
14
+ label: "Option 02",
15
+ value: "2"
16
+ }, {
17
+ label: "Option 03",
18
+ value: "3"
19
+ }, {
20
+ label: "Option 04",
21
+ value: "4"
22
+ }, {
23
+ label: "Option 05",
24
+ value: "5",
25
+ disabled: true
26
+ }, {
27
+ label: "Option 06",
28
+ value: "6",
29
+ disabled: true
30
+ }, {
31
+ label: "Option 07",
32
+ value: "7",
33
+ disabled: true
34
+ }, {
35
+ label: "Option 08",
36
+ value: "8",
37
+ disabled: true
38
+ }, {
39
+ label: "Option 09",
40
+ value: "9"
41
+ }];
42
+ describe("Radio Group 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(_RadioGroup["default"], {
49
+ label: "test-radioGroup-label",
50
+ options: options,
51
+ error: "Error",
52
+ defaultValue: "3",
53
+ helperText: "Helper Text",
54
+ name: "Name",
55
+ stacking: "row",
56
+ optionalItemLabel: "Optional",
57
+ optional: true
58
+ })), container = _render.container;
59
+ _context.next = 3;
60
+ return (0, _jestAxe.axe)(container);
61
+ case 3:
62
+ results = _context.sent;
63
+ expect(results).toHaveNoViolations();
64
+ case 5:
65
+ case "end":
66
+ return _context.stop();
67
+ }
68
+ }, _callee);
69
+ })));
70
+ it("Should not have basic accessibility issues for read-only mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
71
+ var _render2, container, results;
72
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
73
+ while (1) switch (_context2.prev = _context2.next) {
74
+ case 0:
75
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
76
+ label: "test-radioGroup-label",
77
+ options: options,
78
+ error: "Error",
79
+ defaultValue: "3",
80
+ helperText: "Helper Text",
81
+ name: "Name",
82
+ stacking: "row",
83
+ optionalItemLabel: "Optional",
84
+ readOnly: true
85
+ })), container = _render2.container;
86
+ _context2.next = 3;
87
+ return (0, _jestAxe.axe)(container);
88
+ case 3:
89
+ results = _context2.sent;
90
+ expect(results).toHaveNoViolations();
91
+ case 5:
92
+ case "end":
93
+ return _context2.stop();
94
+ }
95
+ }, _callee2);
96
+ })));
97
+ });
@@ -158,7 +158,7 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
158
158
  "aria-invalid": error ? true : false,
159
159
  "aria-errormessage": error ? errorId : undefined,
160
160
  "aria-required": !disabled && !readOnly && !optional,
161
- "aria-readOnly": readOnly,
161
+ "aria-readonly": readOnly,
162
162
  "aria-orientation": stacking === "column" ? "vertical" : "horizontal"
163
163
  }, /*#__PURE__*/_react["default"].createElement(ValueInput, {
164
164
  name: name,
@@ -0,0 +1,274 @@
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 _ResultsetTable = _interopRequireDefault(require("./ResultsetTable.tsx"));
12
+ var deleteIcon = /*#__PURE__*/_react["default"].createElement("svg", {
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ height: "24",
15
+ viewBox: "0 0 24 24",
16
+ width: "24"
17
+ }, /*#__PURE__*/_react["default"].createElement("path", {
18
+ fill: "currentColor",
19
+ d: "M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"
20
+ }), /*#__PURE__*/_react["default"].createElement("path", {
21
+ d: "M0 0h24v24H0z",
22
+ fill: "none"
23
+ }));
24
+
25
+ // Mocking DOMRect for Radix Primitive Popover
26
+ global.globalThis = global;
27
+ global.DOMRect = {
28
+ fromRect: function fromRect() {
29
+ return {
30
+ top: 0,
31
+ left: 0,
32
+ bottom: 0,
33
+ right: 0,
34
+ width: 0,
35
+ height: 0
36
+ };
37
+ }
38
+ };
39
+ global.ResizeObserver = /*#__PURE__*/function () {
40
+ function ResizeObserver() {
41
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
42
+ }
43
+ (0, _createClass2["default"])(ResizeObserver, [{
44
+ key: "observe",
45
+ value: function observe() {}
46
+ }, {
47
+ key: "unobserve",
48
+ value: function unobserve() {}
49
+ }, {
50
+ key: "disconnect",
51
+ value: function disconnect() {}
52
+ }]);
53
+ return ResizeObserver;
54
+ }();
55
+ var actions = [{
56
+ title: "icon",
57
+ onClick: function onClick() {},
58
+ options: [{
59
+ value: "1",
60
+ label: "Amazon with a very long text"
61
+ }, {
62
+ value: "2",
63
+ label: "Ebay"
64
+ }, {
65
+ value: "3",
66
+ label: "Apple"
67
+ }]
68
+ }, {
69
+ icon: "https://www.freepnglogos.com/uploads/facebook-logo-design-1.png",
70
+ title: "icon",
71
+ onClick: function onClick() {}
72
+ }, {
73
+ icon: deleteIcon,
74
+ title: "icon",
75
+ onClick: function onClick() {},
76
+ disabled: true
77
+ }, {
78
+ icon: deleteIcon,
79
+ title: "icon",
80
+ onClick: function onClick() {}
81
+ }];
82
+ var columns = [{
83
+ displayValue: "Id",
84
+ isSortable: false
85
+ }, {
86
+ displayValue: "Name",
87
+ isSortable: true
88
+ }, {
89
+ displayValue: "City",
90
+ isSortable: false
91
+ }];
92
+ var rows = [[{
93
+ displayValue: "001",
94
+ sortValue: "001"
95
+ }, {
96
+ displayValue: "Peter",
97
+ sortValue: "Peter"
98
+ }, {
99
+ displayValue: "Oviedo",
100
+ sortValue: "Oviedo"
101
+ }, {
102
+ displayValue: /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"].ActionsCell, {
103
+ actions: actions
104
+ })
105
+ }], [{
106
+ displayValue: "002",
107
+ sortValue: "002"
108
+ }, {
109
+ displayValue: "Louis",
110
+ sortValue: "Louis"
111
+ }, {
112
+ displayValue: "Oviedo",
113
+ sortValue: "Oviedo"
114
+ }, {
115
+ displayValue: /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"].ActionsCell, {
116
+ actions: actions
117
+ })
118
+ }], [{
119
+ displayValue: "003",
120
+ sortValue: "003"
121
+ }, {
122
+ displayValue: "Lana",
123
+ sortValue: "Lana"
124
+ }, {
125
+ displayValue: "Albacete",
126
+ sortValue: "Albacete"
127
+ }, {
128
+ displayValue: /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"].ActionsCell, {
129
+ actions: actions
130
+ })
131
+ }], [{
132
+ displayValue: "004",
133
+ sortValue: "004"
134
+ }, {
135
+ displayValue: "Rick",
136
+ sortValue: "Rick"
137
+ }, {
138
+ displayValue: "Albacete",
139
+ sortValue: "Albacete"
140
+ }, {
141
+ displayValue: /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"].ActionsCell, {
142
+ actions: actions
143
+ })
144
+ }], [{
145
+ displayValue: "005",
146
+ sortValue: "005"
147
+ }, {
148
+ displayValue: "Mark",
149
+ sortValue: "Mark"
150
+ }, {
151
+ displayValue: "Madrid",
152
+ sortValue: "Madrid"
153
+ }, {
154
+ displayValue: /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"].ActionsCell, {
155
+ actions: actions
156
+ })
157
+ }], [{
158
+ displayValue: "006",
159
+ sortValue: "006"
160
+ }, {
161
+ displayValue: "Cris",
162
+ sortValue: "Cris"
163
+ }, {
164
+ displayValue: "Barcelona",
165
+ sortValue: "Barcelona"
166
+ }, {
167
+ displayValue: /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"].ActionsCell, {
168
+ actions: actions
169
+ })
170
+ }], [{
171
+ displayValue: "007",
172
+ sortValue: "007"
173
+ }, {
174
+ displayValue: "Susan",
175
+ sortValue: "Susan"
176
+ }, {
177
+ displayValue: "Madrid",
178
+ sortValue: "Madrid"
179
+ }, {
180
+ displayValue: /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"].ActionsCell, {
181
+ actions: actions
182
+ })
183
+ }], [{
184
+ displayValue: "008",
185
+ sortValue: "008"
186
+ }, {
187
+ displayValue: "Tina",
188
+ sortValue: "Tina"
189
+ }, {
190
+ displayValue: "Barcelona",
191
+ sortValue: "Barcelona"
192
+ }, {
193
+ displayValue: /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"].ActionsCell, {
194
+ actions: actions
195
+ })
196
+ }], [{
197
+ displayValue: "009",
198
+ sortValue: "009"
199
+ }, {
200
+ displayValue: "Kevin",
201
+ sortValue: "Kevin"
202
+ }, {
203
+ displayValue: "Oviedo",
204
+ sortValue: "Oviedo"
205
+ }, {
206
+ displayValue: /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"].ActionsCell, {
207
+ actions: actions
208
+ })
209
+ }], [{
210
+ displayValue: "010",
211
+ sortValue: "010"
212
+ }, {
213
+ displayValue: "Cosmin",
214
+ sortValue: "Cosmin"
215
+ }, {
216
+ displayValue: "Barcelona",
217
+ sortValue: "Barcelona"
218
+ }, {
219
+ displayValue: /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"].ActionsCell, {
220
+ actions: actions
221
+ })
222
+ }]];
223
+ describe("Resultset Table input component accessibility tests", function () {
224
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
225
+ var _render, container, results;
226
+ return _regenerator["default"].wrap(function _callee$(_context) {
227
+ while (1) switch (_context.prev = _context.next) {
228
+ case 0:
229
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
230
+ columns: columns,
231
+ rows: rows,
232
+ itemsPerPage: 2,
233
+ margin: "medium",
234
+ mode: "default",
235
+ itemsPerPageOptions: [2, 3],
236
+ showGoToPage: true
237
+ })), container = _render.container;
238
+ _context.next = 3;
239
+ return (0, _jestAxe.axe)(container);
240
+ case 3:
241
+ results = _context.sent;
242
+ expect(results).toHaveNoViolations();
243
+ case 5:
244
+ case "end":
245
+ return _context.stop();
246
+ }
247
+ }, _callee);
248
+ })));
249
+ it("Should not have basic accessibility issues for reduced mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
250
+ var _render2, container, results;
251
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
252
+ while (1) switch (_context2.prev = _context2.next) {
253
+ case 0:
254
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ResultsetTable["default"], {
255
+ columns: columns,
256
+ rows: rows,
257
+ itemsPerPage: 2,
258
+ margin: "medium",
259
+ mode: "reduced",
260
+ itemsPerPageOptions: [2, 3],
261
+ showGoToPage: true
262
+ })), container = _render2.container;
263
+ _context2.next = 3;
264
+ return (0, _jestAxe.axe)(container);
265
+ case 3:
266
+ results = _context2.sent;
267
+ expect(results).toHaveNoViolations();
268
+ case 5:
269
+ case "end":
270
+ return _context2.stop();
271
+ }
272
+ }, _callee2);
273
+ })));
274
+ });
@@ -1,4 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import ResultsetTablePropsType from "./types";
3
- declare const DxcResultsetTable: ({ columns, rows, showGoToPage, itemsPerPage, itemsPerPageOptions, itemsPerPageFunction, margin, tabIndex, }: ResultsetTablePropsType) => JSX.Element;
3
+ declare const DxcResultsetTable: {
4
+ ({ columns, rows, hidePaginator, showGoToPage, itemsPerPage, itemsPerPageOptions, itemsPerPageFunction, margin, tabIndex, mode, }: ResultsetTablePropsType): JSX.Element;
5
+ ActionsCell: ({ actions }: import("../table/types").ActionCellsPropsType) => JSX.Element;
6
+ };
4
7
  export default DxcResultsetTable;
@@ -12,11 +12,12 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
14
14
  var _variables = require("../common/variables");
15
- var _Table = _interopRequireDefault(require("../table/Table"));
16
15
  var _Paginator = _interopRequireDefault(require("../paginator/Paginator"));
16
+ var _Table = _interopRequireWildcard(require("../table/Table"));
17
17
  var _useTheme = _interopRequireDefault(require("../useTheme"));
18
18
  var _Icons = _interopRequireDefault(require("./Icons"));
19
19
  var _utils = require("../common/utils");
20
+ var _coreTokens = _interopRequireDefault(require("../common/coreTokens"));
20
21
  var _templateObject, _templateObject2, _templateObject3;
21
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); }
22
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; }
@@ -49,6 +50,8 @@ var getMaxItemsPerPageIndex = function getMaxItemsPerPageIndex(minItemsPerPageIn
49
50
  var DxcResultsetTable = function DxcResultsetTable(_ref) {
50
51
  var columns = _ref.columns,
51
52
  rows = _ref.rows,
53
+ _ref$hidePaginator = _ref.hidePaginator,
54
+ hidePaginator = _ref$hidePaginator === void 0 ? false : _ref$hidePaginator,
52
55
  _ref$showGoToPage = _ref.showGoToPage,
53
56
  showGoToPage = _ref$showGoToPage === void 0 ? true : _ref$showGoToPage,
54
57
  _ref$itemsPerPage = _ref.itemsPerPage,
@@ -57,7 +60,9 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
57
60
  itemsPerPageFunction = _ref.itemsPerPageFunction,
58
61
  margin = _ref.margin,
59
62
  _ref$tabIndex = _ref.tabIndex,
60
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
63
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
64
+ _ref$mode = _ref.mode,
65
+ mode = _ref$mode === void 0 ? "default" : _ref$mode;
61
66
  var colorsTheme = (0, _useTheme["default"])();
62
67
  var _useState = (0, _react.useState)(1),
63
68
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -92,13 +97,17 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
92
97
  changeSortOrder(sortColumnIndex === -1 || sortColumnIndex !== columnIndex ? "ascending" : sortOrder === "ascending" ? "descending" : "ascending");
93
98
  };
94
99
  (0, _react.useEffect)(function () {
95
- rows.length > 0 ? changePage(1) : changePage(0);
100
+ if (!hidePaginator) {
101
+ rows.length > 0 ? changePage(1) : changePage(0);
102
+ }
96
103
  }, [rows]);
97
104
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
98
105
  theme: colorsTheme.table
99
106
  }, /*#__PURE__*/_react["default"].createElement(DxcResultsetTableContainer, {
100
107
  margin: margin
101
- }, /*#__PURE__*/_react["default"].createElement(_Table["default"], null, /*#__PURE__*/_react["default"].createElement("thead", null, /*#__PURE__*/_react["default"].createElement("tr", null, columns.map(function (column, index) {
108
+ }, /*#__PURE__*/_react["default"].createElement(_Table["default"], {
109
+ mode: mode
110
+ }, /*#__PURE__*/_react["default"].createElement("thead", null, /*#__PURE__*/_react["default"].createElement("tr", null, columns.map(function (column, index) {
102
111
  return /*#__PURE__*/_react["default"].createElement("th", {
103
112
  key: "tableHeader_".concat(index),
104
113
  "aria-sort": column.isSortable ? sortColumnIndex === index ? sortOrder : "none" : undefined
@@ -109,17 +118,18 @@ var DxcResultsetTable = function DxcResultsetTable(_ref) {
109
118
  column.isSortable && changeSorting(index);
110
119
  },
111
120
  tabIndex: column.isSortable ? tabIndex : -1,
112
- isSortable: column.isSortable
121
+ isSortable: column.isSortable,
122
+ mode: mode
113
123
  }, /*#__PURE__*/_react["default"].createElement("span", null, column.displayValue), column.isSortable && /*#__PURE__*/_react["default"].createElement(SortIcon, null, sortColumnIndex === index ? sortOrder === "ascending" ? _Icons["default"].arrowUp : _Icons["default"].arrowDown : _Icons["default"].bothArrows)));
114
- }))), /*#__PURE__*/_react["default"].createElement("tbody", null, filteredResultset.map(function (cells, index) {
124
+ }))), /*#__PURE__*/_react["default"].createElement("tbody", null, filteredResultset.map(function (cells, rowIndex) {
115
125
  return /*#__PURE__*/_react["default"].createElement("tr", {
116
- key: "resultSetTableCell_".concat(page, "_").concat(index)
117
- }, cells.map(function (cellContent, index) {
126
+ key: "resultSetTableCell_".concat(page, "_").concat(rowIndex)
127
+ }, cells.map(function (cellContent, cellIndex) {
118
128
  return /*#__PURE__*/_react["default"].createElement("td", {
119
- key: "resultSetTableCellContent_".concat(index)
129
+ key: "resultSetTableCellContent_".concat(cellIndex)
120
130
  }, cellContent.displayValue);
121
131
  }));
122
- }))), /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
132
+ }))), !hidePaginator && /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
123
133
  totalItems: rows.length,
124
134
  itemsPerPage: itemsPerPage,
125
135
  itemsPerPageOptions: itemsPerPageOptions,
@@ -146,9 +156,9 @@ var DxcResultsetTableContainer = _styledComponents["default"].div(_templateObjec
146
156
  }, function (props) {
147
157
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
148
158
  });
149
- var HeaderContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: ", ";\n gap: 8px;\n width: fit-content;\n border: 1px solid transparent;\n border-radius: 2px;\n padding: 3px;\n cursor: ", ";\n\n ", "\n"])), function (props) {
159
+ var HeaderContainer = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: ", ";\n gap: ", ";\n width: fit-content;\n border: 1px solid transparent;\n border-radius: 2px;\n cursor: ", ";\n\n ", "\n"])), function (props) {
150
160
  return props.theme.headerTextAlign === "center" ? "center" : props.theme.headerTextAlign === "right" ? "flex-end" : "flex-start";
151
- }, function (props) {
161
+ }, _coreTokens["default"].spacing_8, function (props) {
152
162
  return props.isSortable ? "pointer" : "default";
153
163
  }, function (props) {
154
164
  return props.isSortable && "&:focus {\n outline: #0095ff solid 2px;\n }";
@@ -156,4 +166,5 @@ var HeaderContainer = _styledComponents["default"].span(_templateObject2 || (_te
156
166
  var SortIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 14px;\n width: 14px;\n color: ", ";\n\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
157
167
  return props.theme.sortIconColor;
158
168
  });
169
+ DxcResultsetTable.ActionsCell = _Table.DxcActionsCell;
159
170
  var _default = exports["default"] = DxcResultsetTable;