@dxc-technology/halstack-react 0.0.0-5a1e592 → 0.0.0-5b15506

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 (328) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +4 -21
  3. package/HalstackContext.d.ts +32 -139
  4. package/HalstackContext.js +10 -35
  5. package/accordion/Accordion.accessibility.test.js +71 -0
  6. package/accordion/Accordion.js +33 -84
  7. package/accordion/Accordion.stories.tsx +5 -51
  8. package/accordion/Accordion.test.js +18 -33
  9. package/accordion/types.d.ts +6 -6
  10. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  11. package/accordion-group/AccordionGroup.d.ts +2 -3
  12. package/accordion-group/AccordionGroup.js +17 -44
  13. package/accordion-group/AccordionGroup.stories.tsx +1 -1
  14. package/accordion-group/AccordionGroup.test.js +42 -60
  15. package/accordion-group/AccordionGroupAccordion.js +11 -23
  16. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  17. package/accordion-group/AccordionGroupContext.js +8 -0
  18. package/accordion-group/types.d.ts +7 -7
  19. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  20. package/action-icon/ActionIcon.d.ts +4 -0
  21. package/action-icon/ActionIcon.js +48 -0
  22. package/action-icon/ActionIcon.stories.tsx +41 -0
  23. package/action-icon/ActionIcon.test.js +64 -0
  24. package/action-icon/types.d.ts +26 -0
  25. package/alert/Alert.accessibility.test.js +95 -0
  26. package/alert/Alert.js +29 -118
  27. package/alert/Alert.test.js +28 -45
  28. package/alert/types.d.ts +5 -5
  29. package/badge/Badge.accessibility.test.js +129 -0
  30. package/badge/Badge.d.ts +1 -1
  31. package/badge/Badge.js +142 -42
  32. package/badge/Badge.stories.tsx +210 -0
  33. package/badge/Badge.test.js +30 -0
  34. package/badge/types.d.ts +52 -3
  35. package/bleed/Bleed.js +13 -21
  36. package/bleed/types.d.ts +2 -2
  37. package/box/Box.accessibility.test.js +33 -0
  38. package/box/Box.js +11 -33
  39. package/box/Box.test.js +1 -6
  40. package/box/types.d.ts +3 -3
  41. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  42. package/bulleted-list/BulletedList.js +22 -55
  43. package/bulleted-list/BulletedList.stories.tsx +2 -93
  44. package/bulleted-list/types.d.ts +5 -5
  45. package/button/Button.accessibility.test.js +127 -0
  46. package/button/Button.js +36 -59
  47. package/button/Button.stories.tsx +33 -133
  48. package/button/Button.test.js +13 -21
  49. package/button/types.d.ts +5 -5
  50. package/card/Card.accessibility.test.js +36 -0
  51. package/card/Card.js +21 -44
  52. package/card/Card.test.js +10 -21
  53. package/card/types.d.ts +5 -5
  54. package/checkbox/Checkbox.accessibility.test.js +87 -0
  55. package/checkbox/Checkbox.js +55 -109
  56. package/checkbox/Checkbox.stories.tsx +0 -54
  57. package/checkbox/Checkbox.test.js +79 -108
  58. package/checkbox/types.d.ts +4 -4
  59. package/chip/Chip.accessibility.test.js +67 -0
  60. package/chip/Chip.js +20 -36
  61. package/chip/Chip.stories.tsx +5 -24
  62. package/chip/Chip.test.js +17 -30
  63. package/chip/types.d.ts +4 -4
  64. package/common/coreTokens.d.ts +105 -14
  65. package/common/coreTokens.js +40 -23
  66. package/common/utils.js +2 -8
  67. package/common/variables.d.ts +32 -136
  68. package/common/variables.js +43 -154
  69. package/container/Container.d.ts +4 -0
  70. package/container/Container.js +194 -0
  71. package/container/Container.stories.tsx +214 -0
  72. package/container/types.d.ts +74 -0
  73. package/container/types.js +5 -0
  74. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  75. package/contextual-menu/ContextualMenu.d.ts +7 -0
  76. package/contextual-menu/ContextualMenu.js +71 -0
  77. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  78. package/contextual-menu/ContextualMenu.test.js +71 -0
  79. package/contextual-menu/MenuItemAction.d.ts +4 -0
  80. package/contextual-menu/MenuItemAction.js +46 -0
  81. package/contextual-menu/types.d.ts +22 -0
  82. package/contextual-menu/types.js +5 -0
  83. package/date-input/Calendar.js +13 -57
  84. package/date-input/DateInput.accessibility.test.js +216 -0
  85. package/date-input/DateInput.js +45 -94
  86. package/date-input/DateInput.stories.tsx +1 -30
  87. package/date-input/DateInput.test.js +667 -708
  88. package/date-input/DatePicker.js +23 -48
  89. package/date-input/YearPicker.js +8 -34
  90. package/date-input/types.d.ts +28 -26
  91. package/dialog/Dialog.accessibility.test.js +69 -0
  92. package/dialog/Dialog.js +13 -40
  93. package/dialog/Dialog.stories.tsx +170 -0
  94. package/dialog/Dialog.test.js +126 -188
  95. package/dialog/types.d.ts +18 -13
  96. package/divider/Divider.accessibility.test.js +33 -0
  97. package/divider/Divider.d.ts +4 -0
  98. package/divider/Divider.js +36 -0
  99. package/divider/Divider.stories.tsx +223 -0
  100. package/divider/Divider.test.js +38 -0
  101. package/divider/types.d.ts +21 -0
  102. package/divider/types.js +5 -0
  103. package/dropdown/Dropdown.accessibility.test.js +180 -0
  104. package/dropdown/Dropdown.js +59 -128
  105. package/dropdown/Dropdown.stories.tsx +5 -16
  106. package/dropdown/Dropdown.test.js +391 -378
  107. package/dropdown/DropdownMenu.js +8 -19
  108. package/dropdown/DropdownMenuItem.js +11 -20
  109. package/dropdown/types.d.ts +20 -24
  110. package/file-input/FileInput.accessibility.test.js +160 -0
  111. package/file-input/FileInput.js +180 -284
  112. package/file-input/FileInput.stories.tsx +1 -1
  113. package/file-input/FileInput.test.js +279 -354
  114. package/file-input/FileItem.js +25 -66
  115. package/file-input/types.d.ts +9 -9
  116. package/flex/Flex.js +25 -39
  117. package/flex/types.d.ts +6 -6
  118. package/footer/Footer.accessibility.test.js +117 -0
  119. package/footer/Footer.d.ts +1 -1
  120. package/footer/Footer.js +43 -68
  121. package/footer/Footer.stories.tsx +46 -2
  122. package/footer/Footer.test.js +18 -32
  123. package/footer/Icons.d.ts +3 -2
  124. package/footer/Icons.js +66 -7
  125. package/footer/types.d.ts +17 -17
  126. package/grid/Grid.js +1 -16
  127. package/grid/types.d.ts +10 -10
  128. package/header/Header.accessibility.test.js +84 -0
  129. package/header/Header.d.ts +1 -1
  130. package/header/Header.js +36 -103
  131. package/header/Header.test.js +12 -25
  132. package/header/Icons.d.ts +2 -2
  133. package/header/Icons.js +2 -7
  134. package/header/types.d.ts +7 -8
  135. package/heading/Heading.accessibility.test.js +33 -0
  136. package/heading/Heading.js +9 -31
  137. package/heading/Heading.test.js +70 -87
  138. package/heading/types.d.ts +7 -7
  139. package/icon/Icon.accessibility.test.js +30 -0
  140. package/icon/Icon.d.ts +4 -0
  141. package/icon/Icon.js +33 -0
  142. package/icon/Icon.stories.tsx +28 -0
  143. package/icon/types.d.ts +4 -0
  144. package/icon/types.js +5 -0
  145. package/image/Image.accessibility.test.js +56 -0
  146. package/image/Image.d.ts +2 -2
  147. package/image/Image.js +17 -32
  148. package/image/Image.stories.tsx +3 -1
  149. package/image/types.d.ts +2 -2
  150. package/inset/Inset.js +13 -21
  151. package/inset/types.d.ts +2 -2
  152. package/layout/ApplicationLayout.d.ts +2 -2
  153. package/layout/ApplicationLayout.js +15 -55
  154. package/layout/Icons.d.ts +5 -5
  155. package/layout/Icons.js +1 -7
  156. package/layout/types.d.ts +3 -3
  157. package/link/Link.accessibility.test.js +112 -0
  158. package/link/Link.js +28 -47
  159. package/link/Link.stories.tsx +2 -2
  160. package/link/Link.test.js +23 -41
  161. package/link/types.d.ts +14 -14
  162. package/main.d.ts +7 -4
  163. package/main.js +32 -60
  164. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  165. package/nav-tabs/NavTabs.d.ts +1 -2
  166. package/nav-tabs/NavTabs.js +19 -48
  167. package/nav-tabs/NavTabs.stories.tsx +30 -25
  168. package/nav-tabs/NavTabs.test.js +38 -45
  169. package/nav-tabs/NavTabsContext.d.ts +3 -0
  170. package/nav-tabs/NavTabsContext.js +8 -0
  171. package/nav-tabs/Tab.js +33 -62
  172. package/nav-tabs/types.d.ts +10 -10
  173. package/number-input/NumberInput.accessibility.test.js +228 -0
  174. package/number-input/NumberInput.d.ts +0 -7
  175. package/number-input/NumberInput.js +47 -39
  176. package/number-input/NumberInput.stories.tsx +42 -26
  177. package/number-input/NumberInput.test.js +839 -575
  178. package/number-input/NumberInputContext.d.ts +3 -0
  179. package/number-input/NumberInputContext.js +8 -0
  180. package/number-input/types.d.ts +17 -5
  181. package/package.json +39 -37
  182. package/paginator/Icons.d.ts +5 -5
  183. package/paginator/Icons.js +5 -19
  184. package/paginator/Paginator.accessibility.test.js +79 -0
  185. package/paginator/Paginator.js +15 -43
  186. package/paginator/Paginator.test.js +224 -207
  187. package/paginator/types.d.ts +3 -3
  188. package/paragraph/Paragraph.accessibility.test.js +28 -0
  189. package/paragraph/Paragraph.js +3 -19
  190. package/paragraph/Paragraph.stories.tsx +0 -17
  191. package/password-input/PasswordInput.accessibility.test.js +153 -0
  192. package/password-input/PasswordInput.js +27 -50
  193. package/password-input/PasswordInput.stories.tsx +1 -34
  194. package/password-input/PasswordInput.test.js +153 -129
  195. package/password-input/types.d.ts +8 -7
  196. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  197. package/progress-bar/ProgressBar.js +21 -53
  198. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
  199. package/progress-bar/ProgressBar.test.js +35 -52
  200. package/progress-bar/types.d.ts +3 -3
  201. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  202. package/quick-nav/QuickNav.js +4 -27
  203. package/quick-nav/QuickNav.stories.tsx +1 -1
  204. package/quick-nav/types.d.ts +10 -10
  205. package/radio-group/Radio.js +15 -47
  206. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  207. package/radio-group/RadioGroup.js +34 -80
  208. package/radio-group/RadioGroup.test.js +504 -497
  209. package/radio-group/types.d.ts +5 -5
  210. package/resultset-table/Icons.d.ts +7 -0
  211. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  212. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  213. package/resultset-table/ResultsetTable.d.ts +7 -0
  214. package/{resultsetTable → resultset-table}/ResultsetTable.js +44 -69
  215. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +106 -5
  216. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +148 -92
  217. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  218. package/resultset-table/types.js +5 -0
  219. package/select/Listbox.js +18 -42
  220. package/select/Option.js +26 -35
  221. package/select/Select.accessibility.test.js +217 -0
  222. package/select/Select.js +101 -169
  223. package/select/Select.stories.tsx +33 -97
  224. package/select/Select.test.js +1894 -1846
  225. package/select/types.d.ts +15 -16
  226. package/sidenav/Sidenav.accessibility.test.js +59 -0
  227. package/sidenav/Sidenav.js +44 -81
  228. package/sidenav/Sidenav.stories.tsx +4 -9
  229. package/sidenav/Sidenav.test.js +3 -10
  230. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  231. package/{layout → sidenav}/SidenavContext.js +3 -9
  232. package/sidenav/types.d.ts +20 -20
  233. package/slider/Slider.accessibility.test.js +104 -0
  234. package/slider/Slider.js +68 -125
  235. package/slider/Slider.test.js +107 -103
  236. package/slider/types.d.ts +4 -4
  237. package/spinner/Spinner.accessibility.test.js +96 -0
  238. package/spinner/Spinner.js +16 -54
  239. package/spinner/Spinner.test.js +25 -34
  240. package/spinner/types.d.ts +3 -3
  241. package/status-light/StatusLight.accessibility.test.js +157 -0
  242. package/status-light/StatusLight.d.ts +4 -0
  243. package/status-light/StatusLight.js +51 -0
  244. package/status-light/StatusLight.stories.tsx +74 -0
  245. package/status-light/StatusLight.test.js +25 -0
  246. package/status-light/types.d.ts +17 -0
  247. package/status-light/types.js +5 -0
  248. package/switch/Switch.accessibility.test.js +89 -0
  249. package/switch/Switch.js +49 -97
  250. package/switch/Switch.stories.tsx +0 -34
  251. package/switch/Switch.test.js +51 -96
  252. package/switch/types.d.ts +4 -4
  253. package/table/DropdownTheme.js +62 -0
  254. package/table/Table.accessibility.test.js +82 -0
  255. package/table/Table.d.ts +6 -2
  256. package/table/Table.js +76 -33
  257. package/table/{Table.stories.jsx → Table.stories.tsx} +297 -2
  258. package/table/Table.test.js +93 -6
  259. package/table/types.d.ts +34 -6
  260. package/tabs/Tab.js +22 -37
  261. package/tabs/Tabs.accessibility.test.js +56 -0
  262. package/tabs/Tabs.js +59 -147
  263. package/tabs/Tabs.stories.tsx +2 -4
  264. package/tabs/Tabs.test.js +57 -131
  265. package/tabs/types.d.ts +21 -21
  266. package/tag/Tag.accessibility.test.js +69 -0
  267. package/tag/Tag.js +27 -57
  268. package/tag/Tag.stories.tsx +4 -7
  269. package/tag/Tag.test.js +17 -36
  270. package/tag/types.d.ts +9 -9
  271. package/text-input/Suggestion.js +9 -26
  272. package/text-input/Suggestions.d.ts +1 -1
  273. package/text-input/Suggestions.js +19 -67
  274. package/text-input/TextInput.accessibility.test.js +321 -0
  275. package/text-input/TextInput.js +193 -285
  276. package/text-input/TextInput.stories.tsx +10 -153
  277. package/text-input/TextInput.test.js +1213 -1269
  278. package/text-input/types.d.ts +21 -17
  279. package/textarea/Textarea.accessibility.test.js +155 -0
  280. package/textarea/Textarea.js +49 -93
  281. package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -108
  282. package/textarea/Textarea.test.js +135 -208
  283. package/textarea/types.d.ts +5 -5
  284. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  285. package/toggle-group/ToggleGroup.js +25 -64
  286. package/toggle-group/ToggleGroup.stories.tsx +4 -4
  287. package/toggle-group/ToggleGroup.test.js +48 -81
  288. package/toggle-group/types.d.ts +12 -12
  289. package/typography/Typography.accessibility.test.js +339 -0
  290. package/typography/Typography.js +4 -13
  291. package/typography/types.d.ts +1 -1
  292. package/useTheme.d.ts +29 -133
  293. package/useTheme.js +1 -8
  294. package/useTranslatedLabels.js +1 -7
  295. package/utils/BaseTypography.d.ts +2 -2
  296. package/utils/BaseTypography.js +16 -30
  297. package/utils/FocusLock.js +25 -39
  298. package/wizard/Wizard.accessibility.test.js +55 -0
  299. package/wizard/Wizard.js +27 -65
  300. package/wizard/Wizard.stories.tsx +19 -0
  301. package/wizard/Wizard.test.js +53 -80
  302. package/wizard/types.d.ts +8 -8
  303. package/common/OpenSans.css +0 -69
  304. package/common/fonts/OpenSans-Bold.ttf +0 -0
  305. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  306. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  307. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  308. package/common/fonts/OpenSans-Italic.ttf +0 -0
  309. package/common/fonts/OpenSans-Light.ttf +0 -0
  310. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  311. package/common/fonts/OpenSans-Regular.ttf +0 -0
  312. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  313. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  314. package/date-input/Icons.d.ts +0 -6
  315. package/date-input/Icons.js +0 -75
  316. package/password-input/Icons.d.ts +0 -6
  317. package/password-input/Icons.js +0 -39
  318. package/resultsetTable/Icons.d.ts +0 -7
  319. package/resultsetTable/ResultsetTable.d.ts +0 -4
  320. package/select/Icons.d.ts +0 -10
  321. package/select/Icons.js +0 -93
  322. package/sidenav/Icons.d.ts +0 -7
  323. package/sidenav/Icons.js +0 -51
  324. package/slider/Slider.stories.tsx +0 -240
  325. package/text-input/Icons.d.ts +0 -8
  326. package/text-input/Icons.js +0 -60
  327. /package/{resultsetTable → action-icon}/types.js +0 -0
  328. /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
package/grid/types.d.ts CHANGED
@@ -1,30 +1,30 @@
1
1
  /// <reference types="react" />
2
- declare type Spaces = "0rem" | "0.125rem" | "0.25rem" | "0.5rem" | "1rem" | "1.5rem" | "2rem" | "3rem" | "4rem" | "5rem";
3
- declare type Gap = {
2
+ type Spaces = "0rem" | "0.125rem" | "0.25rem" | "0.5rem" | "1rem" | "1.5rem" | "2rem" | "3rem" | "4rem" | "5rem";
3
+ type Gap = {
4
4
  rowGap: Spaces;
5
5
  columnGap?: Spaces;
6
6
  } | {
7
7
  rowGap?: Spaces;
8
8
  columnGap: Spaces;
9
9
  } | Spaces;
10
- declare type GridCell = {
10
+ type GridCell = {
11
11
  start: number | string;
12
12
  end: number | string;
13
13
  };
14
- declare type PlaceSelfValues = "auto" | "start" | "end" | "center" | "stretch" | "baseline";
15
- declare type PlaceContentValues = "normal" | "start" | "end" | "center" | "stretch" | "space-between" | "space-around" | "space-evenly" | "baseline";
16
- declare type PlaceItemsValues = "normal" | "start" | "end" | "center" | "stretch" | "baseline";
17
- declare type PlaceObject<Type, Suffix extends string> = {
14
+ type PlaceSelfValues = "auto" | "start" | "end" | "center" | "stretch" | "baseline";
15
+ type PlaceContentValues = "normal" | "start" | "end" | "center" | "stretch" | "space-between" | "space-around" | "space-evenly" | "baseline";
16
+ type PlaceItemsValues = "normal" | "start" | "end" | "center" | "stretch" | "baseline";
17
+ type PlaceObject<Type, Suffix extends string> = {
18
18
  [Property in keyof Type as `${string & Property}${Capitalize<string & Suffix>}`]: Type[Property];
19
19
  };
20
- declare type PlaceGeneric<PlaceValues, Element extends string> = PlaceObject<{
20
+ type PlaceGeneric<PlaceValues, Element extends string> = PlaceObject<{
21
21
  justify?: PlaceValues;
22
22
  align: PlaceValues;
23
23
  }, Element> | PlaceObject<{
24
24
  justify: PlaceValues;
25
25
  align?: PlaceValues;
26
26
  }, Element> | PlaceValues;
27
- export declare type GridItemProps = {
27
+ export type GridItemProps = {
28
28
  /**
29
29
  * Sets the name of an item so that it can be referenced by a template created with the grid-template-areas property.
30
30
  */
@@ -56,7 +56,7 @@ export declare type GridItemProps = {
56
56
  */
57
57
  children: React.ReactNode;
58
58
  };
59
- declare type Props = GridItemProps & {
59
+ type Props = GridItemProps & {
60
60
  /**
61
61
  * Sets the grid-auto-columns CSS property.
62
62
  *
@@ -0,0 +1,84 @@
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 _Header = _interopRequireDefault(require("./Header.tsx"));
10
+ var _Flex = _interopRequireDefault(require("../flex/Flex.tsx"));
11
+ var _Link = _interopRequireDefault(require("../link/Link.tsx"));
12
+ var iconSVG = /*#__PURE__*/_react["default"].createElement("svg", {
13
+ viewBox: "0 0 24 24",
14
+ height: "24",
15
+ width: "24",
16
+ fill: "currentColor"
17
+ }, /*#__PURE__*/_react["default"].createElement("path", {
18
+ d: "M0 0h24v24H0z",
19
+ fill: "none"
20
+ }), /*#__PURE__*/_react["default"].createElement("path", {
21
+ 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"
22
+ }));
23
+ var iconUrl = "https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png";
24
+ var options = [{
25
+ value: "1",
26
+ label: "Amazon",
27
+ icon: iconUrl
28
+ }, {
29
+ value: "2",
30
+ label: "Ebay",
31
+ icon: iconUrl
32
+ }, {
33
+ value: "3",
34
+ label: "Wallapop",
35
+ icon: iconSVG
36
+ }, {
37
+ value: "4",
38
+ label: "Aliexpress",
39
+ icon: iconSVG
40
+ }];
41
+ describe("Header component accessibility tests", function () {
42
+ beforeAll(function () {
43
+ Object.defineProperty(window, "matchMedia", {
44
+ writable: true,
45
+ value: jest.fn().mockImplementation(function () {
46
+ return {
47
+ matches: false
48
+ };
49
+ })
50
+ });
51
+ });
52
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
53
+ var _render, container, results;
54
+ return _regenerator["default"].wrap(function _callee$(_context) {
55
+ while (1) switch (_context.prev = _context.next) {
56
+ case 0:
57
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
58
+ content: /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
59
+ alignItems: "center",
60
+ gap: "4rem"
61
+ }, /*#__PURE__*/_react["default"].createElement(_Link["default"], null, "Link 1"), /*#__PURE__*/_react["default"].createElement(_Link["default"], null, "Link 2"), /*#__PURE__*/_react["default"].createElement(_Link["default"], null, "Link 3"), /*#__PURE__*/_react["default"].createElement(_Header["default"].Dropdown, {
62
+ options: options,
63
+ label: "dropdown-test",
64
+ icon: iconSVG,
65
+ iconPosition: "after",
66
+ margin: "medium",
67
+ size: "medium",
68
+ optionsIconPosition: "after"
69
+ })),
70
+ margin: "medium",
71
+ underlined: true
72
+ })), container = _render.container;
73
+ _context.next = 3;
74
+ return (0, _jestAxe.axe)(container);
75
+ case 3:
76
+ results = _context.sent;
77
+ expect(results).toHaveNoViolations();
78
+ case 5:
79
+ case "end":
80
+ return _context.stop();
81
+ }
82
+ }, _callee);
83
+ })));
84
+ });
@@ -3,6 +3,6 @@ import DxcDropdown from "../dropdown/Dropdown";
3
3
  import HeaderPropsType from "./types";
4
4
  declare const DxcHeader: {
5
5
  ({ underlined, content, responsiveContent, onClick, margin, tabIndex, }: HeaderPropsType): JSX.Element;
6
- Dropdown: (props: React.ComponentProps<typeof DxcDropdown>) => JSX.Element;
6
+ Dropdown: (props: React.ComponentProps<typeof DxcDropdown>) => React.JSX.Element;
7
7
  };
8
8
  export default DxcHeader;
package/header/Header.js CHANGED
@@ -1,113 +1,64 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
-
18
11
  var _react = _interopRequireWildcard(require("react"));
19
-
20
12
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
-
22
13
  var _Dropdown = _interopRequireDefault(require("../dropdown/Dropdown"));
23
-
24
14
  var _Icons = require("./Icons");
25
-
26
15
  var _variables = require("../common/variables");
27
-
28
16
  var _useTheme = _interopRequireDefault(require("../useTheme"));
29
-
30
17
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
31
-
32
- var _BackgroundColorContext = _interopRequireWildcard(require("../BackgroundColorContext"));
33
-
18
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
34
19
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
35
-
36
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
-
38
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
-
40
- var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
41
- xmlns: "http://www.w3.org/2000/svg",
42
- viewBox: "0 0 24 24",
43
- height: "24",
44
- width: "24"
45
- }, /*#__PURE__*/_react["default"].createElement("path", {
46
- 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"
47
- }));
48
-
49
- var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
50
- xmlns: "http://www.w3.org/2000/svg",
51
- viewBox: "0 0 24 24",
52
- width: "24",
53
- height: "24"
54
- }, /*#__PURE__*/_react["default"].createElement("path", {
55
- 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"
56
- }));
57
-
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); }
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 && 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; }
58
22
  var Dropdown = function Dropdown(props) {
59
23
  return /*#__PURE__*/_react["default"].createElement(HeaderDropdown, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], props));
60
24
  };
61
-
62
25
  var HeaderDropdown = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n button {\n background-color: transparent;\n :hover {\n background-color: transparent;\n }\n }\n"])));
63
-
64
26
  var getLogoElement = function getLogoElement(themeInput, logoLabel) {
65
27
  if (!themeInput) return _Icons.dxcLogo;else if (typeof themeInput === "string") return /*#__PURE__*/_react["default"].createElement(LogoImg, {
66
28
  alt: logoLabel,
67
29
  src: themeInput
68
30
  });else return themeInput;
69
31
  };
70
-
71
32
  var Content = function Content(_ref) {
72
33
  var isResponsive = _ref.isResponsive,
73
- responsiveContent = _ref.responsiveContent,
74
- handleMenu = _ref.handleMenu,
75
- content = _ref.content;
76
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
77
- return isResponsive ? /*#__PURE__*/_react["default"].createElement(MenuContent, {
78
- backgroundType: backgroundType
79
- }, responsiveContent(handleMenu)) : /*#__PURE__*/_react["default"].createElement(ContentContainer, {
80
- backgroundType: backgroundType
81
- }, content);
34
+ responsiveContent = _ref.responsiveContent,
35
+ handleMenu = _ref.handleMenu,
36
+ content = _ref.content;
37
+ return isResponsive ? /*#__PURE__*/_react["default"].createElement(MenuContent, null, responsiveContent(handleMenu)) : /*#__PURE__*/_react["default"].createElement(ContentContainer, null, content);
82
38
  };
83
-
84
39
  var DxcHeader = function DxcHeader(_ref2) {
85
40
  var _ref2$underlined = _ref2.underlined,
86
- underlined = _ref2$underlined === void 0 ? false : _ref2$underlined,
87
- content = _ref2.content,
88
- responsiveContent = _ref2.responsiveContent,
89
- onClick = _ref2.onClick,
90
- margin = _ref2.margin,
91
- _ref2$tabIndex = _ref2.tabIndex,
92
- tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;
41
+ underlined = _ref2$underlined === void 0 ? false : _ref2$underlined,
42
+ content = _ref2.content,
43
+ responsiveContent = _ref2.responsiveContent,
44
+ onClick = _ref2.onClick,
45
+ margin = _ref2.margin,
46
+ _ref2$tabIndex = _ref2.tabIndex,
47
+ tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;
93
48
  var colorsTheme = (0, _useTheme["default"])();
94
49
  var translatedLabels = (0, _useTranslatedLabels["default"])();
95
50
  var ref = (0, _react.useRef)(null);
96
-
97
51
  var _useState = (0, _react.useState)(false),
98
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
99
- isResponsive = _useState2[0],
100
- setIsResponsive = _useState2[1];
101
-
52
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
53
+ isResponsive = _useState2[0],
54
+ setIsResponsive = _useState2[1];
102
55
  var _useState3 = (0, _react.useState)(false),
103
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
104
- isMenuVisible = _useState4[0],
105
- setIsMenuVisible = _useState4[1];
106
-
56
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
57
+ isMenuVisible = _useState4[0],
58
+ setIsMenuVisible = _useState4[1];
107
59
  var handleResize = (0, _react.useCallback)(function () {
108
60
  setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches);
109
61
  }, []);
110
-
111
62
  var handleMenu = function handleMenu() {
112
63
  if (isResponsive && !isMenuVisible) {
113
64
  setIsMenuVisible(!isMenuVisible);
@@ -115,7 +66,6 @@ var DxcHeader = function DxcHeader(_ref2) {
115
66
  setIsMenuVisible(!isMenuVisible);
116
67
  }
117
68
  };
118
-
119
69
  var headerLogo = (0, _react.useMemo)(function () {
120
70
  return getLogoElement(colorsTheme.header.logo, translatedLabels.formFields.logoAlternativeText);
121
71
  }, [colorsTheme.header.logo]);
@@ -145,39 +95,37 @@ var DxcHeader = function DxcHeader(_ref2) {
145
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, {
146
96
  tabIndex: tabIndex,
147
97
  onClick: handleMenu
148
- }, hamburgerIcon, translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
98
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
99
+ icon: "menu"
100
+ }), translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
149
101
  hasVisibility: isMenuVisible
150
102
  }, /*#__PURE__*/_react["default"].createElement(ResponsiveIconsContainer, null, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(CloseAction, {
151
103
  tabIndex: tabIndex,
152
104
  onClick: handleMenu,
153
105
  "aria-label": translatedLabels.header.closeIcon,
154
106
  title: translatedLabels.header.closeIcon
155
- }, closeIcon)), /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
156
- color: colorsTheme.header.menuBackgroundColor
157
- }, /*#__PURE__*/_react["default"].createElement(Content, {
107
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
108
+ icon: "close"
109
+ }))), /*#__PURE__*/_react["default"].createElement(Content, {
158
110
  isResponsive: isResponsive,
159
111
  responsiveContent: responsiveContent,
160
112
  handleMenu: handleMenu,
161
113
  content: content
162
- }))), /*#__PURE__*/_react["default"].createElement(Overlay, {
114
+ })), /*#__PURE__*/_react["default"].createElement(Overlay, {
163
115
  onClick: handleMenu,
164
116
  hasVisibility: isMenuVisible
165
- })), !isResponsive && /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
166
- color: colorsTheme.header.backgroundColor
167
- }, /*#__PURE__*/_react["default"].createElement(Content, {
117
+ })), !isResponsive && /*#__PURE__*/_react["default"].createElement(Content, {
168
118
  isResponsive: isResponsive,
169
119
  responsiveContent: responsiveContent,
170
120
  handleMenu: handleMenu,
171
121
  content: content
172
- }))));
122
+ })));
173
123
  };
174
-
175
124
  DxcHeader.Dropdown = Dropdown;
176
-
177
125
  var HeaderContainer = _styledComponents["default"].header(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n min-height: ", ";\n margin-bottom: ", ";\n padding: ", ";\n background-color: ", ";\n border-bottom: ", ";\n"])), function (props) {
178
126
  return props.theme.minHeight;
179
127
  }, function (props) {
180
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
128
+ return props.margin ? _variables.spaces[props.margin] : "0px";
181
129
  }, function (props) {
182
130
  return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
183
131
  }, function (props) {
@@ -185,30 +133,24 @@ var HeaderContainer = _styledComponents["default"].header(_templateObject2 || (_
185
133
  }, function (props) {
186
134
  return props.underlined && "".concat(props.theme.underlinedThickness, " ").concat(props.theme.underlinedStyle, " ").concat(props.theme.underlinedColor);
187
135
  });
188
-
189
136
  var LogoAnchor = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
190
137
  return props.interactuable ? "cursor: pointer" : "cursor: default; outline:none;";
191
138
  });
192
-
193
139
  var LogoImg = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
194
140
  return props.theme.logoHeight;
195
141
  }, function (props) {
196
142
  return props.theme.logoWidth;
197
143
  });
198
-
199
144
  var LogoContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n vertical-align: middle;\n"])), function (props) {
200
145
  return props.theme.logoHeight;
201
146
  }, function (props) {
202
147
  return props.theme.logoWidth;
203
148
  });
204
-
205
149
  var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex-grow: 1;\n width: calc(100% - 186px);\n"])));
206
-
207
150
  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) {
208
- return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
151
+ return props.theme.contentColor;
209
152
  });
210
-
211
- 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) {
153
+ 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) {
212
154
  return props.theme.hamburguerHoverColor;
213
155
  }, function (props) {
214
156
  return props.theme.hamburguerFocusColor;
@@ -227,9 +169,7 @@ var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 ||
227
169
  }, function (props) {
228
170
  return props.theme.hamburguerFontColor;
229
171
  });
230
-
231
172
  var MainContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-grow: 1;\n"])));
232
-
233
173
  var ResponsiveMenu = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n background-color: ", ";\n position: fixed;\n top: 0;\n right: 0;\n z-index: ", ";\n\n @media (max-width: ", "rem) and (min-width: ", "rem) {\n width: ", ";\n }\n\n @media (not((max-width: ", "rem) and (min-width: ", "rem))) {\n width: ", ";\n }\n\n height: 100vh;\n padding: 20px;\n transform: ", ";\n opacity: ", ";\n transition-property: transform, opacity;\n transition-duration: 0.6s;\n transition-timing-function: ease-in-out;\n box-sizing: border-box;\n"])), function (props) {
234
174
  return props.theme.menuBackgroundColor;
235
175
  }, function (props) {
@@ -243,23 +183,18 @@ var ResponsiveMenu = _styledComponents["default"].div(_templateObject10 || (_tem
243
183
  }, function (props) {
244
184
  return props.hasVisibility ? "1" : "0.96";
245
185
  });
246
-
247
186
  var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n display: flex;\n"])), function (props) {
248
187
  return props.theme.logoHeight;
249
188
  }, function (props) {
250
189
  return props.theme.logoWidth;
251
190
  });
252
-
253
191
  var ResponsiveIconsContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n"])));
254
-
255
- 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) {
192
+ 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) {
256
193
  return props.theme.hamburguerFocusColor;
257
194
  });
258
-
259
195
  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) {
260
- return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
196
+ return props.theme.contentColor;
261
197
  });
262
-
263
198
  var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: ", ";\n opacity: ", " !important;\n visibility: ", ";\n opacity: ", ";\n\n @media (max-width: ", "rem) {\n display: none;\n }\n\n transition: opacity 0.2s 0.2s ease-in-out;\n z-index: ", ";\n"])), function (props) {
264
199
  return props.theme.overlayColor;
265
200
  }, function (props) {
@@ -271,6 +206,4 @@ var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateOb
271
206
  }, _variables.responsiveSizes.small, function (props) {
272
207
  return props.theme.overlayZindex;
273
208
  });
274
-
275
- var _default = DxcHeader;
276
- exports["default"] = _default;
209
+ var _default = exports["default"] = DxcHeader;
@@ -1,13 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _react = _interopRequireDefault(require("react"));
6
-
7
5
  var _react2 = require("@testing-library/react");
8
-
9
6
  var _Header = _interopRequireDefault(require("./Header.tsx"));
10
-
11
7
  describe("Header component tests", function () {
12
8
  beforeAll(function () {
13
9
  Object.defineProperty(window, "matchMedia", {
@@ -21,22 +17,17 @@ describe("Header component tests", function () {
21
17
  });
22
18
  test("Header renders with default logo", function () {
23
19
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], null)),
24
- getByTitle = _render.getByTitle;
25
-
20
+ getByTitle = _render.getByTitle;
26
21
  expect(getByTitle("DXC Logo")).toBeTruthy();
27
22
  });
28
23
  test("Call correct function on logo click", function () {
29
24
  var onClick = jest.fn();
30
-
31
25
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
32
- onClick: onClick
33
- })),
34
- getByTitle = _render2.getByTitle;
35
-
26
+ onClick: onClick
27
+ })),
28
+ getByTitle = _render2.getByTitle;
36
29
  var logo = getByTitle("DXC Logo");
37
-
38
30
  _react2.fireEvent.click(logo);
39
-
40
31
  expect(onClick).toHaveBeenCalled();
41
32
  });
42
33
  test("Header renders with correct children", function () {
@@ -45,12 +36,10 @@ describe("Header component tests", function () {
45
36
  configurable: true,
46
37
  value: 1024
47
38
  });
48
-
49
39
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
50
- content: /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text")
51
- })),
52
- getByText = _render3.getByText;
53
-
40
+ content: /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text")
41
+ })),
42
+ getByText = _render3.getByText;
54
43
  expect(getByText("header-child-text")).toBeTruthy();
55
44
  });
56
45
  test("Header renders menu button in mobile", function () {
@@ -66,14 +55,12 @@ describe("Header component tests", function () {
66
55
  };
67
56
  })
68
57
  });
69
-
70
58
  var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
71
- responsiveContent: function responsiveContent() {
72
- return /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text");
73
- }
74
- })),
75
- getByText = _render4.getByText;
76
-
59
+ responsiveContent: function responsiveContent() {
60
+ return /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text");
61
+ }
62
+ })),
63
+ getByText = _render4.getByText;
77
64
  expect(getByText("Menu")).toBeTruthy();
78
65
  });
79
66
  });
package/header/Icons.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- /// <reference types="react" />
2
- export declare const dxcLogo: JSX.Element;
1
+ import React from "react";
2
+ export declare const dxcLogo: React.JSX.Element;
package/header/Icons.js CHANGED
@@ -1,15 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.dxcLogo = void 0;
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
- var dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
9
+ var dxcLogo = exports.dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
13
10
  xmlns: "http://www.w3.org/2000/svg",
14
11
  width: "73",
15
12
  height: "40",
@@ -29,6 +26,4 @@ var dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
29
26
  d: "M75.836-76.712a8.975,8.975,0,0,1,2.246-3.9,8.393,8.393,0,0,1,6.058-2.457h9.824v-5.67H84.139a14.611,14.611,0,0,0-10.232,4.221,14.509,14.509,0,0,0-3.076,4.536,11.913,11.913,0,0,0-.973,3.271Zm0,4.325a8.978,8.978,0,0,0,2.246,3.9,8.394,8.394,0,0,0,6.058,2.457h9.824v5.67H84.139A14.611,14.611,0,0,1,73.907-64.58a14.506,14.506,0,0,1-3.076-4.536,11.91,11.91,0,0,1-.973-3.271ZM57.522-69.832l-7.5,9.473H42.581L53.818-74.55,42.581-88.739H50.02l7.5,9.472,7.5-9.472h7.439L61.225-74.55l11.237,14.19H65.023Zm-12.336-6.88a11.935,11.935,0,0,0-.973-3.271,14.515,14.515,0,0,0-3.076-4.536A14.612,14.612,0,0,0,30.9-88.739H21.081v5.67H30.9a8.394,8.394,0,0,1,6.058,2.457,8.978,8.978,0,0,1,2.246,3.9Zm0,4.325a11.932,11.932,0,0,1-.973,3.271,14.511,14.511,0,0,1-3.076,4.536A14.611,14.611,0,0,1,30.9-60.359H21.081v-5.67H30.9a8.4,8.4,0,0,0,6.058-2.457,8.981,8.981,0,0,0,2.246-3.9h5.978",
30
27
  transform: "translate(-21.049 88.739)",
31
28
  fill: "#603494"
32
- }))));
33
-
34
- exports.dxcLogo = dxcLogo;
29
+ }))));
package/header/types.d.ts CHANGED
@@ -1,18 +1,18 @@
1
1
  /// <reference types="react" />
2
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- declare type Props = {
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Props = {
4
4
  /**
5
- * Wether a contrast line should appear at the bottom of the header.
5
+ * Whether a contrast line should appear at the bottom of the header.
6
6
  */
7
7
  underlined?: boolean;
8
8
  /**
9
- * Content showed in the header. Take into account that the component applies styles
9
+ * Content shown in the header. Take into account that the component applies styles
10
10
  * for the first child in the content, so we recommend the use of React.Fragment
11
11
  * to be applied correctly. Otherwise, the styles can be modified.
12
12
  */
13
13
  content?: React.ReactNode;
14
14
  /**
15
- * Content showed in responsive version. It receives the close menu handler that can
15
+ * Content shown in responsive version. It receives the close menu handler that can
16
16
  * be used to add that functionality when a element is clicked.
17
17
  */
18
18
  responsiveContent?: (closeHandler: () => void) => React.ReactNode;
@@ -21,12 +21,11 @@ declare type Props = {
21
21
  */
22
22
  onClick?: () => void;
23
23
  /**
24
- * Size of the bottom margin to be applied to the header
25
- * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
24
+ * Size of the bottom margin to be applied to the header.
26
25
  */
27
26
  margin?: Space;
28
27
  /**
29
- * Value of the tabindex for all interactuable elements, except those inside the
28
+ * Value of the tabindex for all interactive elements, except those inside the
30
29
  * custom area.
31
30
  */
32
31
  tabIndex?: number;
@@ -0,0 +1,33 @@
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 _Heading = _interopRequireDefault(require("./Heading.tsx"));
10
+ describe("Heading 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(_Heading["default"], {
17
+ text: "my-heading-test",
18
+ level: 1,
19
+ margin: "medium",
20
+ weight: "bold"
21
+ })), container = _render.container;
22
+ _context.next = 3;
23
+ return (0, _jestAxe.axe)(container);
24
+ case 3:
25
+ results = _context.sent;
26
+ expect(results).toHaveNoViolations();
27
+ case 5:
28
+ case "end":
29
+ return _context.stop();
30
+ }
31
+ }, _callee);
32
+ })));
33
+ });