@dxc-technology/halstack-react 0.0.0-bd89f9e → 0.0.0-bdaadec

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) 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 +140 -29
  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.js +2 -2
  49. package/common/variables.d.ts +29 -133
  50. package/common/variables.js +38 -142
  51. package/container/Container.js +3 -7
  52. package/container/Container.stories.tsx +10 -25
  53. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  54. package/contextual-menu/ContextualMenu.d.ts +7 -0
  55. package/contextual-menu/ContextualMenu.js +71 -0
  56. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  57. package/contextual-menu/ContextualMenu.test.js +71 -0
  58. package/contextual-menu/MenuItemAction.d.ts +4 -0
  59. package/contextual-menu/MenuItemAction.js +46 -0
  60. package/contextual-menu/types.d.ts +22 -0
  61. package/contextual-menu/types.js +5 -0
  62. package/date-input/DateInput.accessibility.test.js +216 -0
  63. package/date-input/types.d.ts +2 -2
  64. package/dialog/Dialog.accessibility.test.js +69 -0
  65. package/dialog/Dialog.js +2 -5
  66. package/dialog/Dialog.stories.tsx +170 -0
  67. package/dialog/Dialog.test.js +1 -1
  68. package/divider/Divider.accessibility.test.js +33 -0
  69. package/divider/Divider.d.ts +4 -0
  70. package/divider/Divider.js +36 -0
  71. package/divider/Divider.stories.tsx +223 -0
  72. package/divider/Divider.test.js +38 -0
  73. package/divider/types.d.ts +21 -0
  74. package/divider/types.js +5 -0
  75. package/dropdown/Dropdown.accessibility.test.js +180 -0
  76. package/dropdown/Dropdown.js +21 -36
  77. package/dropdown/Dropdown.stories.tsx +5 -16
  78. package/dropdown/DropdownMenuItem.js +6 -3
  79. package/dropdown/types.d.ts +3 -5
  80. package/file-input/FileInput.accessibility.test.js +160 -0
  81. package/file-input/FileInput.js +3 -39
  82. package/file-input/FileInput.test.js +7 -84
  83. package/file-input/FileItem.js +13 -27
  84. package/footer/Footer.accessibility.test.js +117 -0
  85. package/footer/Footer.d.ts +1 -1
  86. package/footer/Footer.js +36 -31
  87. package/footer/Footer.stories.tsx +46 -2
  88. package/footer/Icons.d.ts +1 -0
  89. package/footer/Icons.js +65 -1
  90. package/footer/types.d.ts +8 -8
  91. package/header/Header.accessibility.test.js +84 -0
  92. package/header/Header.js +10 -21
  93. package/header/types.d.ts +4 -3
  94. package/heading/Heading.accessibility.test.js +33 -0
  95. package/icon/Icon.accessibility.test.js +30 -0
  96. package/icon/Icon.d.ts +4 -0
  97. package/icon/Icon.js +33 -0
  98. package/icon/Icon.stories.tsx +28 -0
  99. package/icon/types.d.ts +4 -0
  100. package/icon/types.js +5 -0
  101. package/image/Image.accessibility.test.js +56 -0
  102. package/image/Image.stories.tsx +3 -1
  103. package/layout/ApplicationLayout.d.ts +1 -1
  104. package/layout/ApplicationLayout.js +1 -1
  105. package/layout/Icons.js +0 -2
  106. package/link/Link.accessibility.test.js +112 -0
  107. package/link/Link.js +7 -5
  108. package/link/Link.stories.tsx +2 -2
  109. package/link/types.d.ts +1 -1
  110. package/main.d.ts +5 -3
  111. package/main.js +22 -8
  112. package/nav-tabs/NavTabs.accessibility.test.js +52 -0
  113. package/nav-tabs/NavTabs.d.ts +1 -2
  114. package/nav-tabs/NavTabs.js +9 -6
  115. package/nav-tabs/NavTabs.stories.tsx +6 -4
  116. package/nav-tabs/NavTabs.test.js +3 -2
  117. package/nav-tabs/NavTabsContext.d.ts +3 -0
  118. package/nav-tabs/NavTabsContext.js +8 -0
  119. package/nav-tabs/Tab.js +8 -7
  120. package/number-input/NumberInput.accessibility.test.js +228 -0
  121. package/number-input/NumberInput.d.ts +0 -7
  122. package/number-input/NumberInput.js +24 -5
  123. package/number-input/NumberInput.test.js +165 -6
  124. package/number-input/NumberInputContext.d.ts +3 -0
  125. package/number-input/NumberInputContext.js +8 -0
  126. package/number-input/types.d.ts +6 -0
  127. package/package.json +12 -12
  128. package/paginator/Paginator.accessibility.test.js +79 -0
  129. package/paginator/Paginator.js +1 -4
  130. package/paragraph/Paragraph.accessibility.test.js +28 -0
  131. package/paragraph/Paragraph.js +2 -7
  132. package/password-input/PasswordInput.accessibility.test.js +153 -0
  133. package/password-input/PasswordInput.stories.tsx +0 -1
  134. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  135. package/progress-bar/ProgressBar.js +5 -11
  136. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  137. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  138. package/radio-group/RadioGroup.js +1 -1
  139. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  140. package/resultset-table/ResultsetTable.d.ts +4 -1
  141. package/resultset-table/ResultsetTable.js +23 -12
  142. package/resultset-table/ResultsetTable.stories.tsx +106 -5
  143. package/resultset-table/ResultsetTable.test.js +76 -0
  144. package/resultset-table/types.d.ts +40 -7
  145. package/select/Option.js +8 -1
  146. package/select/Select.accessibility.test.js +217 -0
  147. package/select/Select.js +35 -27
  148. package/select/Select.stories.tsx +0 -1
  149. package/select/Select.test.js +498 -462
  150. package/select/types.d.ts +2 -2
  151. package/sidenav/Sidenav.accessibility.test.js +59 -0
  152. package/sidenav/Sidenav.js +5 -7
  153. package/sidenav/Sidenav.stories.tsx +0 -1
  154. package/slider/Slider.accessibility.test.js +104 -0
  155. package/slider/Slider.js +37 -46
  156. package/spinner/Spinner.accessibility.test.js +96 -0
  157. package/spinner/Spinner.js +6 -14
  158. package/status-light/StatusLight.accessibility.test.js +157 -0
  159. package/status-light/StatusLight.d.ts +4 -0
  160. package/status-light/StatusLight.js +51 -0
  161. package/status-light/StatusLight.stories.tsx +74 -0
  162. package/status-light/StatusLight.test.js +25 -0
  163. package/status-light/types.d.ts +17 -0
  164. package/status-light/types.js +5 -0
  165. package/switch/Switch.accessibility.test.js +89 -0
  166. package/switch/Switch.js +23 -28
  167. package/table/DropdownTheme.js +62 -0
  168. package/table/Table.accessibility.test.js +82 -0
  169. package/table/Table.d.ts +6 -2
  170. package/table/Table.js +73 -11
  171. package/table/Table.stories.tsx +297 -2
  172. package/table/Table.test.js +92 -0
  173. package/table/types.d.ts +28 -0
  174. package/tabs/Tab.js +7 -4
  175. package/tabs/Tabs.accessibility.test.js +56 -0
  176. package/tabs/Tabs.js +4 -5
  177. package/tabs/Tabs.stories.tsx +1 -1
  178. package/tag/Tag.accessibility.test.js +69 -0
  179. package/text-input/Suggestions.js +7 -10
  180. package/text-input/TextInput.accessibility.test.js +321 -0
  181. package/text-input/TextInput.js +77 -102
  182. package/text-input/TextInput.stories.tsx +1 -1
  183. package/text-input/TextInput.test.js +96 -79
  184. package/textarea/Textarea.accessibility.test.js +155 -0
  185. package/textarea/Textarea.js +10 -16
  186. package/textarea/Textarea.stories.tsx +0 -1
  187. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  188. package/toggle-group/ToggleGroup.js +1 -4
  189. package/typography/Typography.accessibility.test.js +339 -0
  190. package/useTheme.d.ts +29 -133
  191. package/utils/FocusLock.js +15 -5
  192. package/wizard/Wizard.accessibility.test.js +55 -0
  193. package/wizard/types.d.ts +1 -1
  194. package/common/OpenSans.css +0 -69
  195. package/common/fonts/OpenSans-Bold.ttf +0 -0
  196. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  197. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  198. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  199. package/common/fonts/OpenSans-Italic.ttf +0 -0
  200. package/common/fonts/OpenSans-Light.ttf +0 -0
  201. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  202. package/common/fonts/OpenSans-Regular.ttf +0 -0
  203. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  204. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  205. package/text-input/Icons.d.ts +0 -8
  206. package/text-input/Icons.js +0 -56
  207. /package/{layout → sidenav}/SidenavContext.d.ts +0 -0
  208. /package/{layout → sidenav}/SidenavContext.js +0 -0
@@ -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
+ });
@@ -10,9 +10,8 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _styledComponents = _interopRequireDefault(require("styled-components"));
12
12
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
13
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
14
13
  var _Suggestion = _interopRequireDefault(require("./Suggestion"));
15
- var _Icons = _interopRequireDefault(require("./Icons"));
14
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
16
15
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
17
16
  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
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
@@ -27,7 +26,6 @@ var Suggestions = function Suggestions(_ref) {
27
26
  suggestionOnClick = _ref.suggestionOnClick,
28
27
  styles = _ref.styles;
29
28
  var translatedLabels = (0, _useTranslatedLabels["default"])();
30
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
31
29
  var listboxRef = (0, _react.useRef)(null);
32
30
  (0, _react.useEffect)(function () {
33
31
  var _listboxRef$current, _visualFocusedOptionE;
@@ -45,7 +43,6 @@ var Suggestions = function Suggestions(_ref) {
45
43
  },
46
44
  ref: listboxRef,
47
45
  role: "listbox",
48
- backgroundType: backgroundType,
49
46
  style: styles
50
47
  }, !isSearching && !searchHasErrors && suggestions.length > 0 && suggestions.map(function (suggestion, index) {
51
48
  return /*#__PURE__*/_react["default"].createElement(_Suggestion["default"], {
@@ -58,14 +55,14 @@ var Suggestions = function Suggestions(_ref) {
58
55
  visuallyFocused: visualFocusIndex === index,
59
56
  highlighted: highlightedSuggestions
60
57
  });
61
- }), isSearching && /*#__PURE__*/_react["default"].createElement(SuggestionsSystemMessage, null, translatedLabels.textInput.searchingMessage), searchHasErrors && /*#__PURE__*/_react["default"].createElement(SuggestionsError, null, /*#__PURE__*/_react["default"].createElement(SuggestionsErrorIcon, {
62
- backgroundType: backgroundType
63
- }, _Icons["default"].error), translatedLabels.textInput.fetchingDataErrorMessage));
58
+ }), isSearching && /*#__PURE__*/_react["default"].createElement(SuggestionsSystemMessage, null, translatedLabels.textInput.searchingMessage), searchHasErrors && /*#__PURE__*/_react["default"].createElement(SuggestionsError, null, /*#__PURE__*/_react["default"].createElement(SuggestionsErrorIcon, null, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
59
+ icon: "filled_error"
60
+ })), translatedLabels.textInput.fetchingDataErrorMessage));
64
61
  };
65
62
  var SuggestionsContainer = _styledComponents["default"].ul(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n max-height: 304px;\n overflow-y: auto;\n margin: 0;\n padding: 0.25rem 0;\n background-color: ", ";\n border: 1px solid\n ", ";\n\n border-radius: 0.25rem;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
66
63
  return props.error ? props.theme.errorListDialogBackgroundColor : props.theme.listDialogBackgroundColor;
67
64
  }, function (props) {
68
- return props.error ? props.backgroundType === "dark" ? props.theme.errorBorderColorOnDark : props.theme.errorListDialogBorderColor : props.theme.listDialogBorderColor;
65
+ return props.error ? props.theme.errorListDialogBorderColor : props.theme.listDialogBorderColor;
69
66
  }, function (props) {
70
67
  return props.theme.listOptionFontColor;
71
68
  }, function (props) {
@@ -80,8 +77,8 @@ var SuggestionsContainer = _styledComponents["default"].ul(_templateObject || (_
80
77
  var SuggestionsSystemMessage = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 1rem;\n color: ", ";\n line-height: 1.715em;\n"])), function (props) {
81
78
  return props.theme.systemMessageFontColor;
82
79
  });
83
- var SuggestionsErrorIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n margin-right: 0.5rem;\n height: 18px;\n width: 18px;\n color: ", ";\n"])), function (props) {
84
- return props.backgroundType === "dark" ? props.theme.errorIconColorOnDark : props.theme.errorIconColor;
80
+ var SuggestionsErrorIcon = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n margin-right: 0.5rem;\n height: 18px;\n width: 18px;\n font-size: 18px;\n color: ", ";\n"])), function (props) {
81
+ return props.theme.errorIconColor;
85
82
  });
86
83
  var SuggestionsError = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 1rem;\n align-items: center;\n line-height: 1.715em;\n color: ", ";\n"])), function (props) {
87
84
  return props.theme.errorListDialogFontColor;
@@ -0,0 +1,321 @@
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 _TextInput = _interopRequireDefault(require("./TextInput.tsx"));
12
+ var countries = ["Afghanistan", "Albania", "Algeria", "Andorra", "Angola", "Antigua and Barbuda", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Cabo Verde", "Cambodia", "Cameroon", "Canada", "Cayman Islands, The", "Central African Republic", "Chad", "Democratic Republic of the Congo", "Dominican Republic", "Dominica", "Denmark", "Djibouti"];
13
+ var action = {
14
+ onClick: function onClick() {},
15
+ icon: /*#__PURE__*/_react["default"].createElement("svg", {
16
+ xmlns: "http://www.w3.org/2000/svg",
17
+ height: "24px",
18
+ viewBox: "0 0 24 24",
19
+ width: "24px",
20
+ fill: "currentColor"
21
+ }, /*#__PURE__*/_react["default"].createElement("path", {
22
+ d: "M0 0h24v24H0V0z",
23
+ fill: "none"
24
+ }), /*#__PURE__*/_react["default"].createElement("path", {
25
+ d: "M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"
26
+ })),
27
+ title: "Action Title"
28
+ };
29
+
30
+ // Mocking DOMRect for Radix Primitive Popover
31
+ global.globalThis = global;
32
+ global.DOMRect = {
33
+ fromRect: function fromRect() {
34
+ return {
35
+ top: 0,
36
+ left: 0,
37
+ bottom: 0,
38
+ right: 0,
39
+ width: 0,
40
+ height: 0
41
+ };
42
+ }
43
+ };
44
+ global.ResizeObserver = /*#__PURE__*/function () {
45
+ function ResizeObserver() {
46
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
47
+ }
48
+ (0, _createClass2["default"])(ResizeObserver, [{
49
+ key: "observe",
50
+ value: function observe() {}
51
+ }, {
52
+ key: "unobserve",
53
+ value: function unobserve() {}
54
+ }, {
55
+ key: "disconnect",
56
+ value: function disconnect() {}
57
+ }]);
58
+ return ResizeObserver;
59
+ }();
60
+ describe("TextInput component accessibility tests", function () {
61
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
62
+ var _render, baseElement, results;
63
+ return _regenerator["default"].wrap(function _callee$(_context) {
64
+ while (1) switch (_context.prev = _context.next) {
65
+ case 0:
66
+ // baseElement is needed when using React Portals
67
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
68
+ label: "Label",
69
+ placeholder: "Placeholder",
70
+ helperText: "Helper Text",
71
+ margin: "medium",
72
+ name: "Name",
73
+ size: "medium",
74
+ suffix: "Suffix",
75
+ prefix: "Prefix",
76
+ defaultValue: "Value",
77
+ action: action,
78
+ minLength: 0,
79
+ maxLength: 100,
80
+ clearable: true
81
+ })), baseElement = _render.baseElement;
82
+ _context.next = 3;
83
+ return (0, _jestAxe.axe)(baseElement);
84
+ case 3:
85
+ results = _context.sent;
86
+ expect(results).toHaveNoViolations();
87
+ case 5:
88
+ case "end":
89
+ return _context.stop();
90
+ }
91
+ }, _callee);
92
+ })));
93
+ it("Should not have basic accessibility issues for autocomplete mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
94
+ var _render2, baseElement, results;
95
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
96
+ while (1) switch (_context2.prev = _context2.next) {
97
+ case 0:
98
+ // baseElement is needed when using React Portals
99
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
100
+ label: "Label",
101
+ placeholder: "Placeholder",
102
+ helperText: "Helper Text",
103
+ margin: "medium",
104
+ name: "Name",
105
+ size: "medium",
106
+ suffix: "Suffix",
107
+ prefix: "Prefix",
108
+ defaultValue: "Value",
109
+ action: action,
110
+ minLength: 0,
111
+ maxLength: 100,
112
+ clearable: true,
113
+ autocomplete: "on"
114
+ })), baseElement = _render2.baseElement;
115
+ _context2.next = 3;
116
+ return (0, _jestAxe.axe)(baseElement);
117
+ case 3:
118
+ results = _context2.sent;
119
+ expect(results).toHaveNoViolations();
120
+ case 5:
121
+ case "end":
122
+ return _context2.stop();
123
+ }
124
+ }, _callee2);
125
+ })));
126
+ it("Should not have basic accessibility issues for suggestions mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
127
+ var _render3, baseElement, results;
128
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
129
+ while (1) switch (_context3.prev = _context3.next) {
130
+ case 0:
131
+ // baseElement is needed when using React Portals
132
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
133
+ label: "Label",
134
+ placeholder: "Placeholder",
135
+ helperText: "Helper Text",
136
+ margin: "medium",
137
+ name: "Name",
138
+ size: "medium",
139
+ suffix: "Suffix",
140
+ prefix: "Prefix",
141
+ defaultValue: "Value",
142
+ action: action,
143
+ minLength: 0,
144
+ maxLength: 100,
145
+ clearable: true,
146
+ suggestions: countries
147
+ })), baseElement = _render3.baseElement;
148
+ _context3.next = 3;
149
+ return (0, _jestAxe.axe)(baseElement);
150
+ case 3:
151
+ results = _context3.sent;
152
+ expect(results).toHaveNoViolations();
153
+ case 5:
154
+ case "end":
155
+ return _context3.stop();
156
+ }
157
+ }, _callee3);
158
+ })));
159
+ it("Should not have basic accessibility issues for pattern mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
160
+ var _render4, baseElement, results;
161
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
162
+ while (1) switch (_context4.prev = _context4.next) {
163
+ case 0:
164
+ // baseElement is needed when using React Portals
165
+ _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
166
+ label: "Label",
167
+ placeholder: "Placeholder",
168
+ helperText: "Helper Text",
169
+ margin: "medium",
170
+ name: "Name",
171
+ size: "medium",
172
+ suffix: "Suffix",
173
+ prefix: "Prefix",
174
+ defaultValue: "Value",
175
+ action: action,
176
+ minLength: 0,
177
+ maxLength: 100,
178
+ clearable: true,
179
+ pattern: "^.*(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!&$%&? \"]).*$"
180
+ })), baseElement = _render4.baseElement;
181
+ _context4.next = 3;
182
+ return (0, _jestAxe.axe)(baseElement);
183
+ case 3:
184
+ results = _context4.sent;
185
+ expect(results).toHaveNoViolations();
186
+ case 5:
187
+ case "end":
188
+ return _context4.stop();
189
+ }
190
+ }, _callee4);
191
+ })));
192
+ it("Should not have basic accessibility issues for optional mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
193
+ var _render5, baseElement, results;
194
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
195
+ while (1) switch (_context5.prev = _context5.next) {
196
+ case 0:
197
+ // baseElement is needed when using React Portals
198
+ _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
199
+ label: "Label",
200
+ placeholder: "Placeholder",
201
+ helperText: "Helper Text",
202
+ margin: "medium",
203
+ name: "Name",
204
+ size: "medium",
205
+ suffix: "Suffix",
206
+ prefix: "Prefix",
207
+ defaultValue: "Value",
208
+ action: action,
209
+ minLength: 0,
210
+ maxLength: 100,
211
+ clearable: true,
212
+ optional: true
213
+ })), baseElement = _render5.baseElement;
214
+ _context5.next = 3;
215
+ return (0, _jestAxe.axe)(baseElement);
216
+ case 3:
217
+ results = _context5.sent;
218
+ expect(results).toHaveNoViolations();
219
+ case 5:
220
+ case "end":
221
+ return _context5.stop();
222
+ }
223
+ }, _callee5);
224
+ })));
225
+ it("Should not have basic accessibility issues for error mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6() {
226
+ var _render6, baseElement, results;
227
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
228
+ while (1) switch (_context6.prev = _context6.next) {
229
+ case 0:
230
+ // baseElement is needed when using React Portals
231
+ _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
232
+ label: "Label",
233
+ placeholder: "Placeholder",
234
+ helperText: "Helper Text",
235
+ margin: "medium",
236
+ name: "Name",
237
+ size: "medium",
238
+ suffix: "Suffix",
239
+ prefix: "Prefix",
240
+ defaultValue: "Value",
241
+ error: "Error message.",
242
+ action: action,
243
+ minLength: 0,
244
+ maxLength: 100,
245
+ clearable: true
246
+ })), baseElement = _render6.baseElement;
247
+ _context6.next = 3;
248
+ return (0, _jestAxe.axe)(baseElement);
249
+ case 3:
250
+ results = _context6.sent;
251
+ expect(results).toHaveNoViolations();
252
+ case 5:
253
+ case "end":
254
+ return _context6.stop();
255
+ }
256
+ }, _callee6);
257
+ })));
258
+ it("Should not have basic accessibility issues for read-only mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
259
+ var _render7, baseElement, results;
260
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
261
+ while (1) switch (_context7.prev = _context7.next) {
262
+ case 0:
263
+ // baseElement is needed when using React Portals
264
+ _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
265
+ label: "Label",
266
+ placeholder: "Placeholder",
267
+ helperText: "Helper Text",
268
+ margin: "medium",
269
+ name: "Name",
270
+ size: "medium",
271
+ suffix: "Suffix",
272
+ prefix: "Prefix",
273
+ defaultValue: "Value",
274
+ action: action,
275
+ minLength: 0,
276
+ maxLength: 100,
277
+ readOnly: true
278
+ })), baseElement = _render7.baseElement;
279
+ _context7.next = 3;
280
+ return (0, _jestAxe.axe)(baseElement);
281
+ case 3:
282
+ results = _context7.sent;
283
+ expect(results).toHaveNoViolations();
284
+ case 5:
285
+ case "end":
286
+ return _context7.stop();
287
+ }
288
+ }, _callee7);
289
+ })));
290
+ it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8() {
291
+ var _render8, baseElement, results;
292
+ return _regenerator["default"].wrap(function _callee8$(_context8) {
293
+ while (1) switch (_context8.prev = _context8.next) {
294
+ case 0:
295
+ // baseElement is needed when using React Portals
296
+ _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
297
+ label: "Label",
298
+ placeholder: "Placeholder",
299
+ helperText: "Helper Text",
300
+ margin: "medium",
301
+ name: "Name",
302
+ size: "medium",
303
+ suffix: "Suffix",
304
+ prefix: "Prefix",
305
+ action: action,
306
+ minLength: 0,
307
+ maxLength: 100,
308
+ disabled: true
309
+ })), baseElement = _render8.baseElement;
310
+ _context8.next = 3;
311
+ return (0, _jestAxe.axe)(baseElement);
312
+ case 3:
313
+ results = _context8.sent;
314
+ expect(results).toHaveNoViolations();
315
+ case 5:
316
+ case "end":
317
+ return _context8.stop();
318
+ }
319
+ }, _callee8);
320
+ })));
321
+ });