@dxc-technology/halstack-react 0.0.0-f2bad31 → 0.0.0-f319e71

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 (330) hide show
  1. package/BackgroundColorContext.js +1 -1
  2. package/HalstackContext.d.ts +2 -5
  3. package/HalstackContext.js +6 -6
  4. package/accordion/Accordion.accessibility.test.d.ts +1 -0
  5. package/accordion/Accordion.accessibility.test.js +4 -4
  6. package/accordion/Accordion.js +9 -10
  7. package/accordion/Accordion.stories.tsx +4 -14
  8. package/accordion/Accordion.test.d.ts +1 -0
  9. package/accordion/Accordion.test.js +3 -3
  10. package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
  11. package/accordion-group/AccordionGroup.accessibility.test.js +11 -17
  12. package/accordion-group/AccordionGroup.js +1 -1
  13. package/accordion-group/AccordionGroup.stories.tsx +23 -23
  14. package/accordion-group/AccordionGroup.test.d.ts +1 -0
  15. package/accordion-group/AccordionGroup.test.js +5 -9
  16. package/accordion-group/AccordionGroupAccordion.js +1 -1
  17. package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
  18. package/action-icon/ActionIcon.accessibility.test.js +4 -4
  19. package/action-icon/ActionIcon.test.d.ts +1 -0
  20. package/action-icon/ActionIcon.test.js +1 -1
  21. package/alert/Alert.accessibility.test.d.ts +1 -0
  22. package/alert/Alert.accessibility.test.js +6 -6
  23. package/alert/Alert.js +6 -3
  24. package/alert/Alert.test.d.ts +1 -0
  25. package/alert/Alert.test.js +1 -1
  26. package/badge/Badge.accessibility.test.d.ts +1 -0
  27. package/badge/Badge.accessibility.test.js +5 -5
  28. package/badge/Badge.js +6 -4
  29. package/badge/Badge.stories.tsx +11 -11
  30. package/badge/Badge.test.d.ts +1 -0
  31. package/badge/Badge.test.js +2 -2
  32. package/badge/types.d.ts +1 -1
  33. package/box/Box.accessibility.test.d.ts +1 -0
  34. package/box/Box.accessibility.test.js +3 -3
  35. package/box/Box.js +1 -1
  36. package/box/Box.test.d.ts +1 -0
  37. package/box/Box.test.js +1 -1
  38. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  39. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  40. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  41. package/breadcrumbs/Breadcrumbs.js +79 -0
  42. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  43. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  44. package/breadcrumbs/Breadcrumbs.test.js +168 -0
  45. package/breadcrumbs/Item.d.ts +4 -0
  46. package/breadcrumbs/Item.js +52 -0
  47. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  48. package/breadcrumbs/dropdownTheme.js +62 -0
  49. package/breadcrumbs/types.d.ts +16 -0
  50. package/breadcrumbs/types.js +5 -0
  51. package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
  52. package/bulleted-list/BulletedList.accessibility.test.js +18 -6
  53. package/bulleted-list/BulletedList.js +2 -2
  54. package/button/Button.accessibility.test.d.ts +1 -0
  55. package/button/Button.accessibility.test.js +6 -6
  56. package/button/Button.js +1 -1
  57. package/button/Button.stories.tsx +3 -3
  58. package/button/Button.test.d.ts +1 -0
  59. package/button/Button.test.js +1 -1
  60. package/card/Card.accessibility.test.d.ts +1 -0
  61. package/card/Card.accessibility.test.js +3 -3
  62. package/card/Card.js +3 -2
  63. package/card/Card.stories.tsx +1 -1
  64. package/card/Card.test.d.ts +1 -0
  65. package/card/Card.test.js +1 -1
  66. package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
  67. package/checkbox/Checkbox.accessibility.test.js +5 -5
  68. package/checkbox/Checkbox.js +10 -13
  69. package/checkbox/Checkbox.test.d.ts +1 -0
  70. package/checkbox/Checkbox.test.js +1 -1
  71. package/chip/Chip.accessibility.test.d.ts +1 -0
  72. package/chip/Chip.accessibility.test.js +4 -4
  73. package/chip/Chip.js +3 -1
  74. package/chip/Chip.stories.tsx +1 -1
  75. package/chip/Chip.test.d.ts +1 -0
  76. package/chip/Chip.test.js +1 -1
  77. package/common/coreTokens.js +3 -3
  78. package/common/variables.d.ts +2 -5
  79. package/common/variables.js +68 -71
  80. package/container/Container.stories.tsx +3 -3
  81. package/contextual-menu/ContextualMenu.accessibility.test.d.ts +1 -0
  82. package/contextual-menu/ContextualMenu.accessibility.test.js +15 -3
  83. package/contextual-menu/ContextualMenu.d.ts +3 -5
  84. package/contextual-menu/ContextualMenu.js +89 -52
  85. package/contextual-menu/ContextualMenu.stories.tsx +115 -74
  86. package/contextual-menu/ContextualMenu.test.d.ts +1 -0
  87. package/contextual-menu/ContextualMenu.test.js +200 -24
  88. package/contextual-menu/GroupItem.d.ts +4 -0
  89. package/contextual-menu/GroupItem.js +67 -0
  90. package/contextual-menu/ItemAction.d.ts +4 -0
  91. package/contextual-menu/ItemAction.js +50 -0
  92. package/contextual-menu/MenuItem.d.ts +4 -0
  93. package/contextual-menu/MenuItem.js +29 -0
  94. package/contextual-menu/SingleItem.d.ts +4 -0
  95. package/contextual-menu/SingleItem.js +38 -0
  96. package/contextual-menu/types.d.ts +50 -11
  97. package/date-input/Calendar.js +47 -31
  98. package/date-input/DateInput.accessibility.test.d.ts +1 -0
  99. package/date-input/DateInput.accessibility.test.js +24 -11
  100. package/date-input/DateInput.js +28 -23
  101. package/date-input/DateInput.stories.tsx +18 -12
  102. package/date-input/DateInput.test.d.ts +1 -0
  103. package/date-input/DateInput.test.js +39 -39
  104. package/date-input/DatePicker.js +13 -7
  105. package/date-input/YearPicker.js +10 -5
  106. package/dialog/Dialog.accessibility.test.d.ts +1 -0
  107. package/dialog/Dialog.accessibility.test.js +5 -5
  108. package/dialog/Dialog.js +9 -20
  109. package/dialog/Dialog.stories.tsx +8 -4
  110. package/dialog/Dialog.test.d.ts +1 -0
  111. package/dialog/Dialog.test.js +111 -48
  112. package/divider/Divider.accessibility.test.d.ts +1 -0
  113. package/divider/Divider.accessibility.test.js +2 -2
  114. package/divider/Divider.stories.tsx +2 -1
  115. package/divider/Divider.test.d.ts +1 -0
  116. package/dropdown/Dropdown.accessibility.test.d.ts +1 -0
  117. package/dropdown/Dropdown.accessibility.test.js +12 -9
  118. package/dropdown/Dropdown.js +16 -15
  119. package/dropdown/Dropdown.stories.tsx +11 -11
  120. package/dropdown/Dropdown.test.d.ts +1 -0
  121. package/dropdown/Dropdown.test.js +101 -72
  122. package/dropdown/DropdownMenu.js +4 -4
  123. package/dropdown/DropdownMenuItem.js +2 -1
  124. package/file-input/FileInput.accessibility.test.d.ts +1 -0
  125. package/file-input/FileInput.accessibility.test.js +30 -23
  126. package/file-input/FileInput.js +6 -47
  127. package/file-input/FileInput.test.d.ts +1 -0
  128. package/file-input/FileInput.test.js +51 -106
  129. package/file-input/FileItem.js +18 -28
  130. package/file-input/types.d.ts +0 -4
  131. package/footer/Footer.accessibility.test.d.ts +1 -0
  132. package/footer/Footer.accessibility.test.js +13 -5
  133. package/footer/Footer.js +8 -6
  134. package/footer/Footer.stories.tsx +39 -1
  135. package/footer/Footer.test.d.ts +1 -0
  136. package/footer/Footer.test.js +1 -1
  137. package/footer/Icons.js +2 -30
  138. package/footer/types.d.ts +1 -1
  139. package/grid/Grid.stories.tsx +3 -1
  140. package/header/Header.accessibility.test.d.ts +1 -0
  141. package/header/Header.accessibility.test.js +16 -6
  142. package/header/Header.js +12 -22
  143. package/header/Header.stories.tsx +17 -1
  144. package/header/Header.test.d.ts +1 -0
  145. package/header/Header.test.js +1 -1
  146. package/header/Icons.js +1 -6
  147. package/heading/Heading.accessibility.test.d.ts +1 -0
  148. package/heading/Heading.accessibility.test.js +3 -3
  149. package/heading/Heading.js +1 -1
  150. package/heading/Heading.test.d.ts +1 -0
  151. package/heading/Heading.test.js +1 -14
  152. package/icon/Icon.accessibility.test.d.ts +1 -0
  153. package/icon/Icon.accessibility.test.js +2 -2
  154. package/icon/Icon.js +1 -1
  155. package/icon/Icon.stories.tsx +1 -1
  156. package/image/Image.accessibility.test.d.ts +1 -0
  157. package/image/Image.accessibility.test.js +3 -3
  158. package/image/Image.js +1 -1
  159. package/layout/ApplicationLayout.js +9 -6
  160. package/layout/Icons.d.ts +0 -1
  161. package/layout/Icons.js +1 -9
  162. package/link/Link.accessibility.test.d.ts +1 -0
  163. package/link/Link.accessibility.test.js +8 -12
  164. package/link/Link.js +8 -6
  165. package/link/Link.stories.tsx +4 -4
  166. package/link/Link.test.d.ts +1 -0
  167. package/link/Link.test.js +1 -1
  168. package/link/types.d.ts +1 -1
  169. package/main.d.ts +2 -1
  170. package/main.js +8 -1
  171. package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
  172. package/nav-tabs/NavTabs.accessibility.test.js +8 -16
  173. package/nav-tabs/NavTabs.js +19 -4
  174. package/nav-tabs/NavTabs.stories.tsx +41 -23
  175. package/nav-tabs/NavTabs.test.d.ts +1 -0
  176. package/nav-tabs/NavTabs.test.js +10 -9
  177. package/nav-tabs/Tab.js +17 -18
  178. package/nav-tabs/types.d.ts +1 -1
  179. package/number-input/NumberInput.accessibility.test.d.ts +1 -0
  180. package/number-input/NumberInput.accessibility.test.js +9 -10
  181. package/number-input/NumberInput.js +6 -3
  182. package/number-input/NumberInput.stories.tsx +11 -16
  183. package/number-input/NumberInput.test.d.ts +1 -0
  184. package/number-input/NumberInput.test.js +6 -7
  185. package/package.json +25 -20
  186. package/paginator/Paginator.accessibility.test.d.ts +1 -0
  187. package/paginator/Paginator.accessibility.test.js +4 -5
  188. package/paginator/Paginator.js +13 -10
  189. package/paginator/Paginator.test.d.ts +1 -0
  190. package/paginator/Paginator.test.js +2 -3
  191. package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
  192. package/paragraph/Paragraph.accessibility.test.js +2 -2
  193. package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
  194. package/password-input/PasswordInput.accessibility.test.js +7 -8
  195. package/password-input/PasswordInput.js +11 -8
  196. package/password-input/PasswordInput.stories.tsx +10 -1
  197. package/password-input/PasswordInput.test.d.ts +1 -0
  198. package/password-input/PasswordInput.test.js +6 -7
  199. package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
  200. package/progress-bar/ProgressBar.accessibility.test.js +3 -3
  201. package/progress-bar/ProgressBar.js +6 -4
  202. package/progress-bar/ProgressBar.test.d.ts +1 -0
  203. package/progress-bar/ProgressBar.test.js +1 -1
  204. package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
  205. package/quick-nav/QuickNav.accessibility.test.js +2 -2
  206. package/quick-nav/QuickNav.js +1 -1
  207. package/radio-group/Radio.js +6 -9
  208. package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
  209. package/radio-group/RadioGroup.accessibility.test.js +4 -4
  210. package/radio-group/RadioGroup.js +14 -16
  211. package/radio-group/RadioGroup.test.d.ts +1 -0
  212. package/radio-group/RadioGroup.test.js +3 -5
  213. package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
  214. package/resultset-table/ResultsetTable.accessibility.test.js +16 -6
  215. package/resultset-table/ResultsetTable.js +36 -11
  216. package/resultset-table/ResultsetTable.stories.tsx +14 -2
  217. package/resultset-table/ResultsetTable.test.d.ts +1 -0
  218. package/resultset-table/ResultsetTable.test.js +103 -34
  219. package/select/Listbox.js +24 -16
  220. package/select/Option.js +12 -10
  221. package/select/Select.accessibility.test.d.ts +1 -0
  222. package/select/Select.accessibility.test.js +18 -8
  223. package/select/Select.js +41 -29
  224. package/select/Select.stories.tsx +69 -111
  225. package/select/Select.test.d.ts +1 -0
  226. package/select/Select.test.js +371 -474
  227. package/select/types.d.ts +1 -1
  228. package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
  229. package/sidenav/Sidenav.accessibility.test.js +3 -3
  230. package/sidenav/Sidenav.js +16 -12
  231. package/sidenav/Sidenav.stories.tsx +5 -9
  232. package/sidenav/Sidenav.test.d.ts +1 -0
  233. package/sidenav/Sidenav.test.js +1 -1
  234. package/sidenav/types.d.ts +2 -2
  235. package/slider/Slider.accessibility.test.d.ts +1 -0
  236. package/slider/Slider.accessibility.test.js +5 -6
  237. package/slider/Slider.js +11 -13
  238. package/slider/Slider.stories.tsx +180 -0
  239. package/slider/Slider.test.d.ts +1 -0
  240. package/slider/Slider.test.js +13 -11
  241. package/spinner/Spinner.accessibility.test.d.ts +1 -0
  242. package/spinner/Spinner.accessibility.test.js +6 -6
  243. package/spinner/Spinner.js +6 -2
  244. package/spinner/Spinner.test.d.ts +1 -0
  245. package/spinner/Spinner.test.js +1 -1
  246. package/status-light/StatusLight.accessibility.test.d.ts +1 -0
  247. package/status-light/StatusLight.accessibility.test.js +8 -8
  248. package/status-light/StatusLight.test.d.ts +1 -0
  249. package/status-light/StatusLight.test.js +1 -1
  250. package/switch/Switch.accessibility.test.d.ts +1 -0
  251. package/switch/Switch.accessibility.test.js +14 -5
  252. package/switch/Switch.js +6 -9
  253. package/switch/Switch.stories.tsx +12 -0
  254. package/switch/Switch.test.d.ts +1 -0
  255. package/switch/Switch.test.js +1 -1
  256. package/table/Table.accessibility.test.d.ts +1 -0
  257. package/table/Table.accessibility.test.js +16 -6
  258. package/table/Table.js +1 -1
  259. package/table/Table.stories.tsx +13 -1
  260. package/table/Table.test.d.ts +1 -0
  261. package/table/Table.test.js +2 -4
  262. package/tabs/Tab.js +6 -5
  263. package/tabs/Tabs.accessibility.test.d.ts +1 -0
  264. package/tabs/Tabs.accessibility.test.js +3 -3
  265. package/tabs/Tabs.js +9 -20
  266. package/tabs/Tabs.stories.tsx +7 -3
  267. package/tabs/Tabs.test.d.ts +1 -0
  268. package/tabs/Tabs.test.js +20 -38
  269. package/tabs/types.d.ts +2 -2
  270. package/tag/Tag.accessibility.test.d.ts +1 -0
  271. package/tag/Tag.accessibility.test.js +4 -4
  272. package/tag/Tag.js +7 -7
  273. package/tag/Tag.stories.tsx +5 -8
  274. package/tag/Tag.test.d.ts +1 -0
  275. package/tag/Tag.test.js +5 -13
  276. package/tag/types.d.ts +2 -2
  277. package/text-input/Suggestion.js +1 -1
  278. package/text-input/Suggestions.js +14 -6
  279. package/text-input/TextInput.accessibility.test.d.ts +1 -0
  280. package/text-input/TextInput.accessibility.test.js +11 -12
  281. package/text-input/TextInput.js +29 -25
  282. package/text-input/TextInput.stories.tsx +19 -7
  283. package/text-input/TextInput.test.d.ts +1 -0
  284. package/text-input/TextInput.test.js +2 -3
  285. package/textarea/Textarea.accessibility.test.d.ts +1 -0
  286. package/textarea/Textarea.accessibility.test.js +7 -7
  287. package/textarea/Textarea.js +14 -13
  288. package/textarea/Textarea.test.d.ts +1 -0
  289. package/textarea/Textarea.test.js +1 -1
  290. package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
  291. package/toggle-group/ToggleGroup.accessibility.test.js +5 -5
  292. package/toggle-group/ToggleGroup.js +10 -12
  293. package/toggle-group/ToggleGroup.stories.tsx +4 -4
  294. package/toggle-group/ToggleGroup.test.d.ts +1 -0
  295. package/toggle-group/ToggleGroup.test.js +1 -1
  296. package/toggle-group/types.d.ts +2 -2
  297. package/tooltip/Tooltip.accessibility.test.d.ts +1 -0
  298. package/tooltip/Tooltip.accessibility.test.js +144 -0
  299. package/tooltip/Tooltip.d.ts +4 -0
  300. package/tooltip/Tooltip.js +50 -0
  301. package/tooltip/Tooltip.stories.tsx +111 -0
  302. package/tooltip/Tooltip.test.d.ts +1 -0
  303. package/tooltip/Tooltip.test.js +112 -0
  304. package/tooltip/types.d.ts +16 -0
  305. package/tooltip/types.js +5 -0
  306. package/typography/Typography.accessibility.test.d.ts +1 -0
  307. package/typography/Typography.accessibility.test.js +12 -12
  308. package/typography/Typography.stories.tsx +1 -3
  309. package/useTheme.d.ts +2 -5
  310. package/utils/BaseTypography.js +1 -1
  311. package/utils/FocusLock.js +3 -2
  312. package/wizard/Wizard.accessibility.test.d.ts +1 -0
  313. package/wizard/Wizard.accessibility.test.js +3 -3
  314. package/wizard/Wizard.js +14 -25
  315. package/wizard/Wizard.stories.tsx +20 -1
  316. package/wizard/Wizard.test.d.ts +1 -0
  317. package/wizard/Wizard.test.js +1 -1
  318. package/wizard/types.d.ts +1 -1
  319. package/contextual-menu/MenuItemAction.d.ts +0 -4
  320. package/contextual-menu/MenuItemAction.js +0 -46
  321. package/date-input/Icons.d.ts +0 -6
  322. package/date-input/Icons.js +0 -58
  323. package/paginator/Icons.d.ts +0 -5
  324. package/paginator/Icons.js +0 -40
  325. package/password-input/Icons.d.ts +0 -6
  326. package/password-input/Icons.js +0 -35
  327. package/select/Icons.d.ts +0 -10
  328. package/select/Icons.js +0 -89
  329. package/sidenav/Icons.d.ts +0 -7
  330. package/sidenav/Icons.js +0 -47
@@ -12,30 +12,10 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
12
12
  var _Flex = _interopRequireDefault(require("../flex/Flex"));
13
13
  var _useTheme = _interopRequireDefault(require("../useTheme"));
14
14
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
15
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
15
16
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
16
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); }
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; }
18
- var deleteIcon = /*#__PURE__*/_react["default"].createElement("svg", {
19
- xmlns: "http://www.w3.org/2000/svg",
20
- width: "24",
21
- height: "24",
22
- viewBox: "0 0 24 24",
23
- fill: "currentColor"
24
- }, /*#__PURE__*/_react["default"].createElement("path", {
25
- d: "M0 0h24v24H0V0z",
26
- fill: "none"
27
- }), /*#__PURE__*/_react["default"].createElement("path", {
28
- d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
29
- }));
30
- var errorIcon = /*#__PURE__*/_react["default"].createElement("svg", {
31
- xmlns: "http://www.w3.org/2000/svg",
32
- height: "24px",
33
- viewBox: "0 0 24 24",
34
- width: "24px",
35
- fill: "currentColor"
36
- }, /*#__PURE__*/_react["default"].createElement("path", {
37
- d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"
38
- }));
18
+ 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 && {}.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; }
39
19
  var FileItem = function FileItem(_ref) {
40
20
  var _ref$fileName = _ref.fileName,
41
21
  fileName = _ref$fileName === void 0 ? "" : _ref$fileName,
@@ -63,10 +43,15 @@ var FileItem = function FileItem(_ref) {
63
43
  alt: fileName
64
44
  }) : /*#__PURE__*/_react["default"].createElement(IconPreview, {
65
45
  error: error,
46
+ role: "document",
66
47
  "aria-label": getIconAriaLabel()
67
- }, preview)), /*#__PURE__*/_react["default"].createElement(FileItemContent, null, /*#__PURE__*/_react["default"].createElement(FileName, null, fileName), /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
48
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
49
+ icon: preview
50
+ }))), /*#__PURE__*/_react["default"].createElement(FileItemContent, null, /*#__PURE__*/_react["default"].createElement(FileName, null, fileName), /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
68
51
  gap: "0.25rem"
69
- }, error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, errorIcon), /*#__PURE__*/_react["default"].createElement(DeleteFileAction, {
52
+ }, error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
53
+ icon: "filled_error"
54
+ })), /*#__PURE__*/_react["default"].createElement(DeleteFileAction, {
70
55
  onClick: function onClick() {
71
56
  onDelete(fileName);
72
57
  },
@@ -74,7 +59,12 @@ var FileItem = function FileItem(_ref) {
74
59
  title: translatedLabels.fileInput.deleteFileActionTitle,
75
60
  "aria-label": translatedLabels.fileInput.deleteFileActionTitle,
76
61
  tabIndex: tabIndex
77
- }, deleteIcon)), error && !singleFileMode && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, error))));
62
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
63
+ icon: "close"
64
+ }))), error && !singleFileMode && /*#__PURE__*/_react["default"].createElement(ErrorMessage, {
65
+ role: "alert",
66
+ "aria-live": "assertive"
67
+ }, error))));
78
68
  };
79
69
  var MainContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n gap: 0.75rem;\n width: ", ";\n padding: ", ";\n ", ";\n border-color: ", ";\n border-width: ", ";\n border-style: ", ";\n border-radius: ", ";\n"])), function (props) {
80
70
  return props.singleFileMode ? "230px" : "320px";
@@ -92,7 +82,7 @@ var MainContainer = _styledComponents["default"].div(_templateObject || (_templa
92
82
  return props.theme.fileItemBorderRadius;
93
83
  });
94
84
  var ImagePreview = _styledComponents["default"].img(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: 48px;\n height: 48px;\n border-radius: 2px;\n object-fit: contain;\n"])));
95
- var IconPreview = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ", ";\n width: 48px;\n height: 48px;\n padding: 15px;\n border-radius: 2px;\n color: ", ";\n\n svg {\n height: 18px;\n width: 18px;\n }\n"])), function (props) {
85
+ var IconPreview = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ", ";\n width: 48px;\n height: 48px;\n padding: 15px;\n border-radius: 2px;\n color: ", ";\n font-size: 18px;\n svg {\n height: 18px;\n width: 18px;\n }\n"])), function (props) {
96
86
  return props.error ? props.theme.errorFilePreviewBackgroundColor : props.theme.filePreviewBackgroundColor;
97
87
  }, function (props) {
98
88
  return props.error ? props.theme.errorFilePreviewIconColor : props.theme.filePreviewIconColor;
@@ -109,8 +99,8 @@ var FileName = _styledComponents["default"].span(_templateObject5 || (_templateO
109
99
  }, function (props) {
110
100
  return props.theme.fileItemLineHeight;
111
101
  });
112
- var ErrorIcon = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n color: #d0011b;\n"])));
113
- var DeleteFileAction = _styledComponents["default"].button(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n background-color: transparent;\n box-shadow: 0 0 0 2px transparent;\n padding: 3px;\n cursor: pointer;\n color: ", ";\n\n svg {\n line-height: 18px;\n }\n &:hover {\n background-color: ", ";\n }\n &:focus,\n &:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
102
+ var ErrorIcon = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n font-size: 18px;\n color: #d0011b;\n"])));
103
+ var DeleteFileAction = _styledComponents["default"].button(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n background-color: transparent;\n box-shadow: 0 0 0 2px transparent;\n padding: 3px;\n cursor: pointer;\n color: ", ";\n font-size: 18px;\n &:hover {\n background-color: ", ";\n }\n &:focus,\n &:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
114
104
  return props.theme.fontFamily;
115
105
  }, function (props) {
116
106
  return props.theme.deleteFileItemColor;
@@ -20,10 +20,6 @@ export type FileData = {
20
20
  preview?: string;
21
21
  };
22
22
  type CommonProps = {
23
- /**
24
- * @deprecated Name attribute.
25
- */
26
- name?: string;
27
23
  /**
28
24
  * Text to be placed above the component.
29
25
  */
@@ -0,0 +1 @@
1
+ export {};
@@ -5,13 +5,21 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
5
5
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
6
  var _react = _interopRequireDefault(require("react"));
7
7
  var _react2 = require("@testing-library/react");
8
- var _jestAxe = require("jest-axe");
9
- var _Footer = _interopRequireDefault(require("./Footer.tsx"));
8
+ var _axeHelper = require("../../test/accessibility/axe-helper.js");
9
+ var _Footer = _interopRequireDefault(require("./Footer"));
10
+ var _disabledRules = require("../../test/accessibility/rules/specific/footer/disabledRules.js");
11
+ var disabledRules = {
12
+ rules: _disabledRules.disabledRules.reduce(function (rulesObj, rule) {
13
+ rulesObj[rule] = {
14
+ enabled: false
15
+ };
16
+ return rulesObj;
17
+ }, {})
18
+ };
10
19
  var social = [{
11
20
  href: "https://www.linkedin.com/company/dxctechnology",
12
21
  logo: /*#__PURE__*/_react["default"].createElement("svg", {
13
22
  version: "1.1",
14
- id: "Capa_1",
15
23
  x: "0px",
16
24
  y: "0px",
17
25
  viewBox: "0 0 438.536 438.536",
@@ -79,7 +87,7 @@ describe("Footer component accessibility tests", function () {
79
87
  href: "https://www.linkedin.com/company/dxctechnology"
80
88
  }, "Linkedin")))), container = _render.container;
81
89
  _context.next = 3;
82
- return (0, _jestAxe.axe)(container);
90
+ return (0, _axeHelper.axe)(container, disabledRules);
83
91
  case 3:
84
92
  results = _context.sent;
85
93
  expect(results).toHaveNoViolations();
@@ -104,7 +112,7 @@ describe("Footer component accessibility tests", function () {
104
112
  href: "https://www.linkedin.com/company/dxctechnology"
105
113
  }, "Linkedin")))), container = _render2.container;
106
114
  _context2.next = 3;
107
- return (0, _jestAxe.axe)(container);
115
+ return (0, _axeHelper.axe)(container, disabledRules);
108
116
  case 3:
109
117
  results = _context2.sent;
110
118
  expect(results).toHaveNoViolations();
package/footer/Footer.js CHANGED
@@ -14,9 +14,10 @@ var _useTheme = _interopRequireDefault(require("../useTheme"));
14
14
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
15
15
  var _Icons = require("./Icons");
16
16
  var _Flex = _interopRequireDefault(require("../flex/Flex"));
17
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
17
18
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
18
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
- 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; }
20
+ 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 && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
20
21
  var DxcFooter = function DxcFooter(_ref) {
21
22
  var socialLinks = _ref.socialLinks,
22
23
  bottomLinks = _ref.bottomLinks,
@@ -56,9 +57,8 @@ var DxcFooter = function DxcFooter(_ref) {
56
57
  "aria-label": link.title,
57
58
  key: "social".concat(index).concat(link.href),
58
59
  index: index
59
- }, /*#__PURE__*/_react["default"].createElement(SocialIconContainer, null, typeof link.logo === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
60
- src: link.logo,
61
- alt: link.title
60
+ }, /*#__PURE__*/_react["default"].createElement(SocialIconContainer, null, typeof link.logo === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
61
+ icon: link.logo
62
62
  }) : link.logo));
63
63
  }))), /*#__PURE__*/_react["default"].createElement(ChildComponents, null, children), mode === "default" && /*#__PURE__*/_react["default"].createElement(BottomContainer, null, /*#__PURE__*/_react["default"].createElement(BottomLinks, null, bottomLinks === null || bottomLinks === void 0 ? void 0 : bottomLinks.map(function (link, index) {
64
64
  return /*#__PURE__*/_react["default"].createElement("span", {
@@ -112,12 +112,14 @@ var LogoImg = _styledComponents["default"].img(_templateObject6 || (_templateObj
112
112
  var SocialAnchor = _styledComponents["default"].a(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n margin-left: ", ";\n border-radius: 4px;\n\n &:focus {\n outline: 2px solid #0095ff;\n outline-offset: 2px;\n }\n"])), function (props) {
113
113
  return props.index === 0 ? "0px" : props.theme.socialLinksGutter;
114
114
  });
115
- var SocialIconContainer = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n height: ", ";\n width: ", ";\n color: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
115
+ var SocialIconContainer = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n color: ", ";\n overflow: hidden;\n font-size: ", ";\n\n svg {\n height: ", ";\n width: ", ";\n }\n"])), function (props) {
116
+ return props.theme.socialLinksColor;
117
+ }, function (props) {
116
118
  return props.theme.socialLinksSize;
117
119
  }, function (props) {
118
120
  return props.theme.socialLinksSize;
119
121
  }, function (props) {
120
- return props.theme.socialLinksColor;
122
+ return props.theme.socialLinksSize;
121
123
  });
122
124
  var BottomLinks = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-wrap: wrap;\n align-self: center;\n padding-top: ", ";\n color: #fff;\n\n @media (min-width: ", "rem) {\n max-width: 60%;\n }\n @media (max-width: ", "rem) {\n max-width: 100%;\n width: 100%;\n }\n\n & > span:not(:first-child):before {\n content: \"\xB7\";\n padding: 0 0.5rem;\n }\n"])), function (props) {
123
125
  return props.theme.bottomLinksDividerSpacing;
@@ -5,6 +5,8 @@ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
5
  import { HalstackProvider } from "../HalstackContext";
6
6
  import DxcFlex from "../flex/Flex";
7
7
  import DxcTypography from "../typography/Typography";
8
+ import preview from "../../.storybook/preview";
9
+ import { disabledRules } from "../../test/accessibility/rules/specific/footer/disabledRules";
8
10
 
9
11
  const social = [
10
12
  {
@@ -71,6 +73,24 @@ const social = [
71
73
  },
72
74
  ];
73
75
 
76
+ const socialMaterialIcons = [
77
+ {
78
+ href: "https://www.linkedin.com/company/dxctechnology",
79
+ logo: "person",
80
+ title: "Linkedin",
81
+ },
82
+ {
83
+ href: "https://x.com/dxctechnology",
84
+ logo: "group",
85
+ title: "X",
86
+ },
87
+ {
88
+ href: "https://www.facebook.com/DXCTechnology/",
89
+ logo: "thumb_up",
90
+ title: "Facebook",
91
+ },
92
+ ];
93
+
74
94
  const bottom = [
75
95
  {
76
96
  href: "https://www.linkedin.com/company/dxctechnology",
@@ -89,6 +109,16 @@ const bottom = [
89
109
  export default {
90
110
  title: "Footer",
91
111
  component: DxcFooter,
112
+ parameters: {
113
+ a11y: {
114
+ config: {
115
+ rules: [
116
+ ...disabledRules.map((ruleId) => ({ id: ruleId, enabled: false })),
117
+ ...preview?.parameters?.a11y?.config?.rules,
118
+ ],
119
+ },
120
+ },
121
+ },
92
122
  };
93
123
 
94
124
  const opinionatedTheme = {
@@ -119,6 +149,14 @@ export const Chromatic = () => (
119
149
  </div>
120
150
  </DxcFooter>
121
151
  </ExampleContainer>
152
+ <ExampleContainer>
153
+ <Title title="With children, copyright, bottom links and social links from material" theme="light" level={4} />
154
+ <DxcFooter copyright="Copyright" socialLinks={socialMaterialIcons} bottomLinks={bottom}>
155
+ <div>
156
+ <a href="https://www.linkedin.com/company/dxctechnology">Linkedin</a>
157
+ </div>
158
+ </DxcFooter>
159
+ </ExampleContainer>
122
160
  <ExampleContainer pseudoState="pseudo-focus">
123
161
  <Title title="Focused bottom and social links" theme="light" level={4} />
124
162
  <DxcFooter copyright="Copyright" socialLinks={social} bottomLinks={bottom}>
@@ -132,7 +170,7 @@ export const Chromatic = () => (
132
170
  <DxcFooter mode="reduced">
133
171
  <DxcFlex justifyContent="center" alignItems="center" gap={"1rem"}>
134
172
  {info.map((tag, index) => (
135
- <DxcTypography color="white" key={`tag${index}${tag.label}${tag.text}`} >
173
+ <DxcTypography color="white" key={`tag${index}${tag.label}${tag.text}`}>
136
174
  {tag.label}: {tag.text}
137
175
  </DxcTypography>
138
176
  ))}
@@ -0,0 +1 @@
1
+ export {};
@@ -3,7 +3,7 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  var _react = _interopRequireDefault(require("react"));
5
5
  var _react2 = require("@testing-library/react");
6
- var _Footer = _interopRequireDefault(require("./Footer.tsx"));
6
+ var _Footer = _interopRequireDefault(require("./Footer"));
7
7
  var social = [{
8
8
  href: "https://www.test.com/social",
9
9
  logo: "https://developer.apple.com/design/human-interface-guidelines/foundations/app-icons/images/icon-and-image-large-icon-settings_2x.png",
package/footer/Icons.js CHANGED
@@ -7,129 +7,101 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.dxcSmallLogo = exports.dxcLogo = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var dxcLogo = exports.dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
10
- id: "g10",
11
10
  xmlns: "http://www.w3.org/2000/svg",
12
11
  width: "100%",
13
12
  height: "32",
14
13
  viewBox: "0 0 280.781 32"
15
- }, /*#__PURE__*/_react["default"].createElement("title", null, "DXC Logo"), /*#__PURE__*/_react["default"].createElement("g", {
16
- id: "g12"
17
- }, /*#__PURE__*/_react["default"].createElement("path", {
18
- id: "path14",
14
+ }, /*#__PURE__*/_react["default"].createElement("title", null, "DXC Logo"), /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
19
15
  d: "M171.5-54.124v12.539h-3.6V-54.124h-4.973v-3.191h13.54v3.191H171.5",
20
16
  transform: "translate(-68.528 65.45)",
21
17
  fill: "#fff"
22
18
  }), /*#__PURE__*/_react["default"].createElement("path", {
23
- id: "path16",
24
19
  d: "M189.96-41.585V-57.315h12.326v3.079h-8.753v3.191h7.7v3.078h-7.7v3.3h8.87v3.078H189.96",
25
20
  transform: "translate(-77.56 65.45)",
26
21
  fill: "#fff"
27
22
  }), /*#__PURE__*/_react["default"].createElement("path", {
28
- id: "path18",
29
23
  d: "M223.558-41.438a8.1,8.1,0,0,1-8.382-8.1v-.045a8.161,8.161,0,0,1,8.522-8.146,8.6,8.6,0,0,1,6.444,2.431l-2.289,2.543a6.133,6.133,0,0,0-4.178-1.778,4.743,4.743,0,0,0-4.738,4.905v.045a4.752,4.752,0,0,0,4.738,4.95,6,6,0,0,0,4.295-1.845l2.288,2.228a8.491,8.491,0,0,1-6.7,2.813",
30
24
  transform: "translate(-86.019 65.583)",
31
25
  fill: "#fff"
32
26
  }), /*#__PURE__*/_react["default"].createElement("path", {
33
- id: "path20",
34
27
  d: "M254.988-41.585V-47.9h-6.63v6.315h-3.6V-57.315h3.6v6.225h6.63v-6.225h3.594v15.731h-3.594",
35
28
  transform: "translate(-95.903 65.45)",
36
29
  fill: "#fff"
37
30
  }), /*#__PURE__*/_react["default"].createElement("path", {
38
- id: "path22",
39
31
  d: "M285.991-41.585l-7.914-10v10h-3.549V-57.315h3.316l7.657,9.685v-9.685h3.549v15.731h-3.058",
40
32
  transform: "translate(-105.869 65.45)",
41
33
  fill: "#fff"
42
34
  }), /*#__PURE__*/_react["default"].createElement("path", {
43
- id: "path24",
44
35
  d: "M317.2-49.583a4.869,4.869,0,0,0-4.949-4.95,4.793,4.793,0,0,0-4.9,4.905v.045a4.869,4.869,0,0,0,4.949,4.95,4.793,4.793,0,0,0,4.9-4.905Zm-4.949,8.145c-5.043,0-8.661-3.623-8.661-8.1v-.045c0-4.478,3.666-8.146,8.708-8.146s8.66,3.623,8.66,8.1v.045c0,4.477-3.664,8.145-8.708,8.145",
45
36
  transform: "translate(-115.631 65.583)",
46
37
  fill: "#fff"
47
38
  }), /*#__PURE__*/_react["default"].createElement("path", {
48
- id: "path26",
49
39
  d: "M336.786-41.585V-57.315h3.6v12.584h8.148v3.146H336.786",
50
40
  transform: "translate(-126.654 65.45)",
51
41
  fill: "#fff"
52
42
  }), /*#__PURE__*/_react["default"].createElement("path", {
53
- id: "path28",
54
43
  d: "M372.78-49.583a4.87,4.87,0,0,0-4.949-4.95,4.794,4.794,0,0,0-4.9,4.905v.045a4.869,4.869,0,0,0,4.949,4.95,4.794,4.794,0,0,0,4.9-4.905Zm-4.949,8.145c-5.043,0-8.662-3.623-8.662-8.1v-.045c0-4.478,3.666-8.146,8.708-8.146s8.661,3.623,8.661,8.1v.045c0,4.477-3.666,8.145-8.708,8.145",
55
44
  transform: "translate(-135.016 65.583)",
56
45
  fill: "#fff"
57
46
  }), /*#__PURE__*/_react["default"].createElement("path", {
58
- id: "path30",
59
47
  d: "M399.735-41.438c-5.09,0-8.592-3.443-8.592-8.1v-.045a8.243,8.243,0,0,1,8.568-8.146,9.18,9.18,0,0,1,6.42,2.16l-2.265,2.634a6.141,6.141,0,0,0-4.272-1.6,4.807,4.807,0,0,0-4.692,4.905v.045a4.8,4.8,0,0,0,4.949,4.995,5.89,5.89,0,0,0,3.384-.945v-2.25h-3.618v-2.992h7.1v6.841a10.837,10.837,0,0,1-6.98,2.5",
60
48
  transform: "translate(-145.284 65.583)",
61
49
  fill: "#fff"
62
50
  }), /*#__PURE__*/_react["default"].createElement("path", {
63
- id: "path32",
64
51
  d: "M428.664-47.855v6.27h-3.6v-6.2l-6.28-9.528h4.2L426.89-51l3.968-6.315h4.085l-6.28,9.46",
65
52
  transform: "translate(-154.162 65.45)",
66
53
  fill: "#fff"
67
54
  }), /*#__PURE__*/_react["default"].createElement("path", {
68
- id: "path34",
69
55
  d: "M84.218-55.737a10.063,10.063,0,0,1,2.589-4.4,9.792,9.792,0,0,1,6.985-2.77h11.328V-69.3H93.792a17.041,17.041,0,0,0-11.8,4.759,16.344,16.344,0,0,0-3.547,5.115,13.247,13.247,0,0,0-1.122,3.688Zm0,4.877a10.065,10.065,0,0,0,2.589,4.4,9.793,9.793,0,0,0,6.985,2.77h11.328V-37.3H93.792a17.042,17.042,0,0,1-11.8-4.759,16.339,16.339,0,0,1-3.547-5.114,13.251,13.251,0,0,1-1.122-3.688ZM63.1-47.98,54.45-37.3H45.873l12.957-16-12.957-16H54.45L63.1-58.619l8.65-10.68h8.578l-12.957,16,12.957,16H71.749ZM48.875-55.737a13.212,13.212,0,0,0-1.122-3.688,16.359,16.359,0,0,0-3.546-5.115,17.043,17.043,0,0,0-11.8-4.759H21.08v6.393H32.408a9.79,9.79,0,0,1,6.985,2.77,10.072,10.072,0,0,1,2.59,4.4Zm0,4.877a13.215,13.215,0,0,1-1.122,3.688,16.353,16.353,0,0,1-3.546,5.114,17.044,17.044,0,0,1-11.8,4.759H21.08v-6.393H32.408a9.791,9.791,0,0,0,6.985-2.77,10.074,10.074,0,0,0,2.59-4.4h6.892",
70
56
  transform: "translate(-21.08 69.298)",
71
57
  fill: "#fff"
72
58
  })));
73
59
  var dxcSmallLogo = exports.dxcSmallLogo = /*#__PURE__*/_react["default"].createElement("svg", {
74
- id: "g10",
75
60
  xmlns: "http://www.w3.org/2000/svg",
76
61
  width: "100%",
77
62
  height: "16",
78
63
  viewBox: "0 0 280.781 32"
79
- }, /*#__PURE__*/_react["default"].createElement("title", null, "DXC Logo"), /*#__PURE__*/_react["default"].createElement("g", {
80
- id: "g12"
81
- }, /*#__PURE__*/_react["default"].createElement("path", {
82
- id: "path14",
64
+ }, /*#__PURE__*/_react["default"].createElement("title", null, "DXC Logo"), /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
83
65
  d: "M171.5-54.124v12.539h-3.6V-54.124h-4.973v-3.191h13.54v3.191H171.5",
84
66
  transform: "translate(-68.528 65.45)",
85
67
  fill: "#fff"
86
68
  }), /*#__PURE__*/_react["default"].createElement("path", {
87
- id: "path16",
88
69
  d: "M189.96-41.585V-57.315h12.326v3.079h-8.753v3.191h7.7v3.078h-7.7v3.3h8.87v3.078H189.96",
89
70
  transform: "translate(-77.56 65.45)",
90
71
  fill: "#fff"
91
72
  }), /*#__PURE__*/_react["default"].createElement("path", {
92
- id: "path18",
93
73
  d: "M223.558-41.438a8.1,8.1,0,0,1-8.382-8.1v-.045a8.161,8.161,0,0,1,8.522-8.146,8.6,8.6,0,0,1,6.444,2.431l-2.289,2.543a6.133,6.133,0,0,0-4.178-1.778,4.743,4.743,0,0,0-4.738,4.905v.045a4.752,4.752,0,0,0,4.738,4.95,6,6,0,0,0,4.295-1.845l2.288,2.228a8.491,8.491,0,0,1-6.7,2.813",
94
74
  transform: "translate(-86.019 65.583)",
95
75
  fill: "#fff"
96
76
  }), /*#__PURE__*/_react["default"].createElement("path", {
97
- id: "path20",
98
77
  d: "M254.988-41.585V-47.9h-6.63v6.315h-3.6V-57.315h3.6v6.225h6.63v-6.225h3.594v15.731h-3.594",
99
78
  transform: "translate(-95.903 65.45)",
100
79
  fill: "#fff"
101
80
  }), /*#__PURE__*/_react["default"].createElement("path", {
102
- id: "path22",
103
81
  d: "M285.991-41.585l-7.914-10v10h-3.549V-57.315h3.316l7.657,9.685v-9.685h3.549v15.731h-3.058",
104
82
  transform: "translate(-105.869 65.45)",
105
83
  fill: "#fff"
106
84
  }), /*#__PURE__*/_react["default"].createElement("path", {
107
- id: "path24",
108
85
  d: "M317.2-49.583a4.869,4.869,0,0,0-4.949-4.95,4.793,4.793,0,0,0-4.9,4.905v.045a4.869,4.869,0,0,0,4.949,4.95,4.793,4.793,0,0,0,4.9-4.905Zm-4.949,8.145c-5.043,0-8.661-3.623-8.661-8.1v-.045c0-4.478,3.666-8.146,8.708-8.146s8.66,3.623,8.66,8.1v.045c0,4.477-3.664,8.145-8.708,8.145",
109
86
  transform: "translate(-115.631 65.583)",
110
87
  fill: "#fff"
111
88
  }), /*#__PURE__*/_react["default"].createElement("path", {
112
- id: "path26",
113
89
  d: "M336.786-41.585V-57.315h3.6v12.584h8.148v3.146H336.786",
114
90
  transform: "translate(-126.654 65.45)",
115
91
  fill: "#fff"
116
92
  }), /*#__PURE__*/_react["default"].createElement("path", {
117
- id: "path28",
118
93
  d: "M372.78-49.583a4.87,4.87,0,0,0-4.949-4.95,4.794,4.794,0,0,0-4.9,4.905v.045a4.869,4.869,0,0,0,4.949,4.95,4.794,4.794,0,0,0,4.9-4.905Zm-4.949,8.145c-5.043,0-8.662-3.623-8.662-8.1v-.045c0-4.478,3.666-8.146,8.708-8.146s8.661,3.623,8.661,8.1v.045c0,4.477-3.666,8.145-8.708,8.145",
119
94
  transform: "translate(-135.016 65.583)",
120
95
  fill: "#fff"
121
96
  }), /*#__PURE__*/_react["default"].createElement("path", {
122
- id: "path30",
123
97
  d: "M399.735-41.438c-5.09,0-8.592-3.443-8.592-8.1v-.045a8.243,8.243,0,0,1,8.568-8.146,9.18,9.18,0,0,1,6.42,2.16l-2.265,2.634a6.141,6.141,0,0,0-4.272-1.6,4.807,4.807,0,0,0-4.692,4.905v.045a4.8,4.8,0,0,0,4.949,4.995,5.89,5.89,0,0,0,3.384-.945v-2.25h-3.618v-2.992h7.1v6.841a10.837,10.837,0,0,1-6.98,2.5",
124
98
  transform: "translate(-145.284 65.583)",
125
99
  fill: "#fff"
126
100
  }), /*#__PURE__*/_react["default"].createElement("path", {
127
- id: "path32",
128
101
  d: "M428.664-47.855v6.27h-3.6v-6.2l-6.28-9.528h4.2L426.89-51l3.968-6.315h4.085l-6.28,9.46",
129
102
  transform: "translate(-154.162 65.45)",
130
103
  fill: "#fff"
131
104
  }), /*#__PURE__*/_react["default"].createElement("path", {
132
- id: "path34",
133
105
  d: "M84.218-55.737a10.063,10.063,0,0,1,2.589-4.4,9.792,9.792,0,0,1,6.985-2.77h11.328V-69.3H93.792a17.041,17.041,0,0,0-11.8,4.759,16.344,16.344,0,0,0-3.547,5.115,13.247,13.247,0,0,0-1.122,3.688Zm0,4.877a10.065,10.065,0,0,0,2.589,4.4,9.793,9.793,0,0,0,6.985,2.77h11.328V-37.3H93.792a17.042,17.042,0,0,1-11.8-4.759,16.339,16.339,0,0,1-3.547-5.114,13.251,13.251,0,0,1-1.122-3.688ZM63.1-47.98,54.45-37.3H45.873l12.957-16-12.957-16H54.45L63.1-58.619l8.65-10.68h8.578l-12.957,16,12.957,16H71.749ZM48.875-55.737a13.212,13.212,0,0,0-1.122-3.688,16.359,16.359,0,0,0-3.546-5.115,17.043,17.043,0,0,0-11.8-4.759H21.08v6.393H32.408a9.79,9.79,0,0,1,6.985,2.77,10.072,10.072,0,0,1,2.59,4.4Zm0,4.877a13.215,13.215,0,0,1-1.122,3.688,16.353,16.353,0,0,1-3.546,5.114,17.044,17.044,0,0,1-11.8,4.759H21.08v-6.393H32.408a9.791,9.791,0,0,0,6.985-2.77,10.074,10.074,0,0,0,2.59-4.4h6.892",
134
106
  transform: "translate(-21.08 69.298)",
135
107
  fill: "#fff"
package/footer/types.d.ts CHANGED
@@ -7,7 +7,7 @@ type SocialLink = {
7
7
  */
8
8
  href: string;
9
9
  /**
10
- * Element used as the icon for the link.
10
+ * Material Symbol name or SVG element as the icon used for the link.
11
11
  */
12
12
  logo: string | SVG;
13
13
  /**
@@ -209,7 +209,9 @@ const ColoredContainer = styled.div<{ color?: string; width?: string; height?: s
209
209
  padding: 1rem;
210
210
  border: 1px solid #a46ede;
211
211
  border-radius: 0.5rem;
212
- font-family: Open Sans, sans-serif;
212
+ font-family:
213
+ Open Sans,
214
+ sans-serif;
213
215
  font-size: 1.5rem;
214
216
  font-weight: bold;
215
217
  color: #a46ede;
@@ -0,0 +1 @@
1
+ export {};
@@ -5,10 +5,19 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
5
5
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
6
  var _react = _interopRequireDefault(require("react"));
7
7
  var _react2 = require("@testing-library/react");
8
- var _jestAxe = require("jest-axe");
9
- var _Header = _interopRequireDefault(require("./Header.tsx"));
10
- var _Flex = _interopRequireDefault(require("../flex/Flex.tsx"));
11
- var _Link = _interopRequireDefault(require("../link/Link.tsx"));
8
+ var _axeHelper = require("../../test/accessibility/axe-helper.js");
9
+ var _Header = _interopRequireDefault(require("./Header"));
10
+ var _Flex = _interopRequireDefault(require("../flex/Flex"));
11
+ var _Link = _interopRequireDefault(require("../link/Link"));
12
+ var _disabledRules = require("../../test/accessibility/rules/specific/header/disabledRules.js");
13
+ var disabledRules = {
14
+ rules: _disabledRules.disabledRules.reduce(function (rulesObj, rule) {
15
+ rulesObj[rule] = {
16
+ enabled: false
17
+ };
18
+ return rulesObj;
19
+ }, {})
20
+ };
12
21
  var iconSVG = /*#__PURE__*/_react["default"].createElement("svg", {
13
22
  viewBox: "0 0 24 24",
14
23
  height: "24",
@@ -65,13 +74,14 @@ describe("Header component accessibility tests", function () {
65
74
  iconPosition: "after",
66
75
  margin: "medium",
67
76
  size: "medium",
68
- optionsIconPosition: "after"
77
+ optionsIconPosition: "after",
78
+ onSelectOption: function onSelectOption() {}
69
79
  })),
70
80
  margin: "medium",
71
81
  underlined: true
72
82
  })), container = _render.container;
73
83
  _context.next = 3;
74
- return (0, _jestAxe.axe)(container);
84
+ return (0, _axeHelper.axe)(container, disabledRules);
75
85
  case 3:
76
86
  results = _context.sent;
77
87
  expect(results).toHaveNoViolations();
package/header/Header.js CHANGED
@@ -15,25 +15,10 @@ var _Icons = require("./Icons");
15
15
  var _variables = require("../common/variables");
16
16
  var _useTheme = _interopRequireDefault(require("../useTheme"));
17
17
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
18
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
18
19
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
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
- 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; }
21
- var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
22
- xmlns: "http://www.w3.org/2000/svg",
23
- viewBox: "0 0 24 24",
24
- height: "24",
25
- width: "24"
26
- }, /*#__PURE__*/_react["default"].createElement("path", {
27
- d: "M6.4 19 5 17.6l5.6-5.6L5 6.4 6.4 5l5.6 5.6L17.6 5 19 6.4 13.4 12l5.6 5.6-1.4 1.4-5.6-5.6Z"
28
- }));
29
- var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
30
- xmlns: "http://www.w3.org/2000/svg",
31
- viewBox: "0 0 24 24",
32
- width: "24",
33
- height: "24"
34
- }, /*#__PURE__*/_react["default"].createElement("path", {
35
- d: "M3,8H21a1,1,0,0,0,0-2H3A1,1,0,0,0,3,8Zm18,8H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Zm0-5H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Z"
36
- }));
21
+ 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 && {}.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; }
37
22
  var Dropdown = function Dropdown(props) {
38
23
  return /*#__PURE__*/_react["default"].createElement(HeaderDropdown, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], props));
39
24
  };
@@ -109,15 +94,20 @@ var DxcHeader = function DxcHeader(_ref2) {
109
94
  onClick: onClick
110
95
  }, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, headerLogo)), isResponsive && responsiveContent && /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(ChildContainer, null, /*#__PURE__*/_react["default"].createElement(HamburguerTrigger, {
111
96
  tabIndex: tabIndex,
112
- onClick: handleMenu
113
- }, hamburgerIcon, translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
97
+ onClick: handleMenu,
98
+ "aria-label": "Show options"
99
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
100
+ icon: "menu"
101
+ }), translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
114
102
  hasVisibility: isMenuVisible
115
103
  }, /*#__PURE__*/_react["default"].createElement(ResponsiveIconsContainer, null, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(CloseAction, {
116
104
  tabIndex: tabIndex,
117
105
  onClick: handleMenu,
118
106
  "aria-label": translatedLabels.header.closeIcon,
119
107
  title: translatedLabels.header.closeIcon
120
- }, closeIcon)), /*#__PURE__*/_react["default"].createElement(Content, {
108
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
109
+ icon: "close"
110
+ }))), /*#__PURE__*/_react["default"].createElement(Content, {
121
111
  isResponsive: isResponsive,
122
112
  responsiveContent: responsiveContent,
123
113
  handleMenu: handleMenu,
@@ -161,7 +151,7 @@ var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_temp
161
151
  var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n flex-grow: 1;\n justify-content: flex-end;\n width: calc(100% - 186px);\n color: ", ";\n"])), function (props) {
162
152
  return props.theme.contentColor;
163
153
  });
164
- var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 54px;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: 2px;\n background-color: transparent;\n :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
154
+ var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 54px;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: 2px;\n background-color: transparent;\n :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n & > span {\n font-size: 24px;\n }\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
165
155
  return props.theme.hamburguerHoverColor;
166
156
  }, function (props) {
167
157
  return props.theme.hamburguerFocusColor;
@@ -200,7 +190,7 @@ var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject11
200
190
  return props.theme.logoWidth;
201
191
  });
202
192
  var ResponsiveIconsContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n"])));
203
- var CloseAction = _styledComponents["default"].button(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: center;\n align-content: center;\n padding: 6px;\n border: unset;\n border-radius: 2px;\n background-color: transparent;\n cursor: pointer;\n\n :focus,\n :focus-visible {\n outline: ", " auto 1px;\n }\n\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
193
+ var CloseAction = _styledComponents["default"].button(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: center;\n align-content: center;\n padding: 6px;\n border: unset;\n border-radius: 2px;\n background-color: transparent;\n cursor: pointer;\n\n :focus,\n :focus-visible {\n outline: ", " auto 1px;\n }\n font-size: 24px;\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
204
194
  return props.theme.hamburguerFocusColor;
205
195
  });
206
196
  var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n height: 100%;\n color: ", ";\n"])), function (props) {
@@ -3,14 +3,30 @@ import DxcHeader from "./Header";
3
3
  import DxcButton from "../button/Button";
4
4
  import Title from "../../.storybook/components/Title";
5
5
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
- import { userEvent, waitFor, within } from "@storybook/testing-library";
6
+ import { userEvent, waitFor, within } from "@storybook/test";
7
7
  import DxcFlex from "../flex/Flex";
8
8
  import DxcLink from "../link/Link";
9
9
  import { HalstackProvider } from "../HalstackContext";
10
+ import { INITIAL_VIEWPORTS } from "@storybook/addon-viewport";
11
+ import { disabledRules } from "../../test/accessibility/rules/specific/header/disabledRules";
12
+ import preview from "../../.storybook/preview";
10
13
 
11
14
  export default {
12
15
  title: "Header",
13
16
  component: DxcHeader,
17
+ parameters: {
18
+ a11y: {
19
+ config: {
20
+ rules: [
21
+ ...disabledRules.map((ruleId) => ({ id: ruleId, enabled: false })),
22
+ ...preview?.parameters?.a11y?.config?.rules,
23
+ ],
24
+ },
25
+ },
26
+ viewport: {
27
+ viewports: INITIAL_VIEWPORTS,
28
+ },
29
+ },
14
30
  };
15
31
 
16
32
  const options: any = [
@@ -0,0 +1 @@
1
+ export {};
@@ -3,7 +3,7 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  var _react = _interopRequireDefault(require("react"));
5
5
  var _react2 = require("@testing-library/react");
6
- var _Header = _interopRequireDefault(require("./Header.tsx"));
6
+ var _Header = _interopRequireDefault(require("./Header"));
7
7
  describe("Header component tests", function () {
8
8
  beforeAll(function () {
9
9
  Object.defineProperty(window, "matchMedia", {