@dxc-technology/halstack-react 0.0.0-64f5836 → 0.0.0-64fdce7

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 (364) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +1 -4
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +294 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +121 -171
  7. package/accordion/Accordion.stories.tsx +346 -0
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +69 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +61 -96
  13. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  14. package/accordion-group/AccordionGroup.test.js +126 -0
  15. package/accordion-group/types.d.ts +79 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/alert/Alert.js +8 -24
  19. package/alert/Alert.stories.tsx +170 -0
  20. package/alert/Alert.test.js +92 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.d.ts +4 -0
  24. package/badge/Badge.js +6 -4
  25. package/badge/types.d.ts +5 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +51 -0
  29. package/bleed/Bleed.stories.tsx +341 -0
  30. package/bleed/types.d.ts +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/box/Box.js +29 -65
  34. package/box/Box.stories.tsx +132 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +44 -0
  37. package/box/types.js +5 -0
  38. package/bulleted-list/BulletedList.d.ts +7 -0
  39. package/bulleted-list/BulletedList.js +123 -0
  40. package/bulleted-list/BulletedList.stories.tsx +200 -0
  41. package/bulleted-list/types.d.ts +11 -0
  42. package/bulleted-list/types.js +5 -0
  43. package/button/Button.d.ts +1 -1
  44. package/button/Button.js +58 -86
  45. package/button/Button.stories.tsx +316 -282
  46. package/button/Button.test.js +35 -0
  47. package/button/types.d.ts +14 -18
  48. package/card/Card.d.ts +4 -0
  49. package/card/Card.js +38 -77
  50. package/card/Card.stories.tsx +201 -0
  51. package/card/Card.test.js +50 -0
  52. package/card/ice-cream.jpg +0 -0
  53. package/card/types.d.ts +68 -0
  54. package/card/types.js +5 -0
  55. package/checkbox/Checkbox.d.ts +2 -2
  56. package/checkbox/Checkbox.js +108 -111
  57. package/checkbox/Checkbox.stories.tsx +208 -0
  58. package/checkbox/Checkbox.test.js +155 -0
  59. package/checkbox/types.d.ts +15 -8
  60. package/chip/Chip.d.ts +4 -0
  61. package/chip/Chip.js +19 -91
  62. package/chip/Chip.stories.tsx +151 -0
  63. package/chip/Chip.test.js +56 -0
  64. package/chip/types.d.ts +45 -0
  65. package/chip/types.js +5 -0
  66. package/common/variables.js +449 -496
  67. package/date-input/Calendar.d.ts +4 -0
  68. package/date-input/Calendar.js +258 -0
  69. package/date-input/DateInput.d.ts +4 -0
  70. package/date-input/DateInput.js +173 -300
  71. package/date-input/DateInput.stories.tsx +237 -0
  72. package/date-input/DateInput.test.js +835 -0
  73. package/date-input/DatePicker.d.ts +4 -0
  74. package/date-input/DatePicker.js +146 -0
  75. package/date-input/Icons.d.ts +6 -0
  76. package/date-input/Icons.js +75 -0
  77. package/date-input/YearPicker.d.ts +4 -0
  78. package/date-input/YearPicker.js +126 -0
  79. package/date-input/types.d.ts +158 -0
  80. package/date-input/types.js +5 -0
  81. package/dialog/Dialog.d.ts +4 -0
  82. package/dialog/Dialog.js +52 -74
  83. package/dialog/Dialog.stories.tsx +267 -0
  84. package/dialog/Dialog.test.js +70 -0
  85. package/dialog/types.d.ts +44 -0
  86. package/dialog/types.js +5 -0
  87. package/dropdown/Dropdown.d.ts +4 -0
  88. package/dropdown/Dropdown.js +244 -306
  89. package/dropdown/Dropdown.stories.tsx +393 -0
  90. package/dropdown/Dropdown.test.js +585 -0
  91. package/dropdown/DropdownMenu.d.ts +4 -0
  92. package/dropdown/DropdownMenu.js +70 -0
  93. package/dropdown/DropdownMenuItem.d.ts +4 -0
  94. package/dropdown/DropdownMenuItem.js +81 -0
  95. package/dropdown/types.d.ts +100 -0
  96. package/dropdown/types.js +5 -0
  97. package/file-input/FileInput.d.ts +4 -0
  98. package/file-input/FileInput.js +185 -166
  99. package/file-input/FileInput.stories.tsx +535 -0
  100. package/file-input/FileInput.test.js +498 -0
  101. package/file-input/FileItem.d.ts +4 -0
  102. package/file-input/FileItem.js +49 -81
  103. package/file-input/types.d.ts +129 -0
  104. package/file-input/types.js +5 -0
  105. package/flex/Flex.d.ts +4 -0
  106. package/flex/Flex.js +69 -0
  107. package/flex/Flex.stories.tsx +103 -0
  108. package/flex/types.d.ts +32 -0
  109. package/flex/types.js +5 -0
  110. package/footer/Footer.d.ts +4 -0
  111. package/footer/Footer.js +36 -148
  112. package/footer/Footer.stories.tsx +137 -0
  113. package/footer/Footer.test.js +109 -0
  114. package/footer/Icons.d.ts +2 -0
  115. package/footer/Icons.js +4 -4
  116. package/footer/types.d.ts +66 -0
  117. package/footer/types.js +5 -0
  118. package/header/Header.d.ts +7 -0
  119. package/header/Header.js +126 -149
  120. package/header/Header.stories.tsx +205 -0
  121. package/header/Header.test.js +79 -0
  122. package/header/Icons.d.ts +2 -0
  123. package/header/Icons.js +4 -29
  124. package/header/types.d.ts +48 -0
  125. package/header/types.js +5 -0
  126. package/heading/Heading.d.ts +4 -0
  127. package/heading/Heading.js +7 -24
  128. package/heading/Heading.stories.tsx +54 -0
  129. package/heading/Heading.test.js +186 -0
  130. package/heading/types.d.ts +33 -0
  131. package/heading/types.js +5 -0
  132. package/inset/Inset.d.ts +3 -0
  133. package/inset/Inset.js +51 -0
  134. package/inset/Inset.stories.tsx +229 -0
  135. package/inset/types.d.ts +37 -0
  136. package/inset/types.js +5 -0
  137. package/layout/ApplicationLayout.d.ts +20 -0
  138. package/layout/ApplicationLayout.js +71 -135
  139. package/layout/ApplicationLayout.stories.tsx +162 -0
  140. package/layout/Icons.d.ts +5 -0
  141. package/layout/Icons.js +13 -2
  142. package/layout/SidenavContext.d.ts +5 -0
  143. package/layout/SidenavContext.js +19 -0
  144. package/layout/types.d.ts +42 -0
  145. package/layout/types.js +5 -0
  146. package/link/Link.d.ts +4 -0
  147. package/link/Link.js +61 -108
  148. package/link/Link.stories.tsx +193 -0
  149. package/link/Link.test.js +83 -0
  150. package/link/types.d.ts +54 -0
  151. package/link/types.js +5 -0
  152. package/main.d.ts +12 -12
  153. package/main.js +64 -58
  154. package/number-input/NumberInput.d.ts +4 -0
  155. package/number-input/NumberInput.js +16 -68
  156. package/number-input/NumberInput.stories.tsx +115 -0
  157. package/number-input/NumberInput.test.js +542 -0
  158. package/number-input/NumberInputContext.d.ts +4 -0
  159. package/number-input/NumberInputContext.js +5 -2
  160. package/number-input/numberInputContextTypes.d.ts +19 -0
  161. package/number-input/numberInputContextTypes.js +5 -0
  162. package/number-input/types.d.ts +124 -0
  163. package/number-input/types.js +5 -0
  164. package/package.json +21 -22
  165. package/paginator/Icons.d.ts +5 -0
  166. package/paginator/Icons.js +16 -28
  167. package/paginator/Paginator.js +21 -54
  168. package/paginator/Paginator.stories.tsx +63 -0
  169. package/paginator/Paginator.test.js +315 -0
  170. package/paragraph/Paragraph.d.ts +6 -0
  171. package/paragraph/Paragraph.js +38 -0
  172. package/paragraph/Paragraph.stories.tsx +44 -0
  173. package/password-input/PasswordInput.d.ts +4 -0
  174. package/password-input/PasswordInput.js +24 -57
  175. package/password-input/PasswordInput.stories.tsx +131 -0
  176. package/password-input/PasswordInput.test.js +181 -0
  177. package/password-input/types.d.ts +110 -0
  178. package/password-input/types.js +5 -0
  179. package/progress-bar/ProgressBar.d.ts +4 -0
  180. package/progress-bar/ProgressBar.js +60 -72
  181. package/progress-bar/ProgressBar.stories.jsx +60 -0
  182. package/progress-bar/ProgressBar.test.js +110 -0
  183. package/progress-bar/types.d.ts +36 -0
  184. package/progress-bar/types.js +5 -0
  185. package/quick-nav/QuickNav.d.ts +4 -0
  186. package/quick-nav/QuickNav.js +117 -0
  187. package/quick-nav/QuickNav.stories.tsx +342 -0
  188. package/quick-nav/types.d.ts +21 -0
  189. package/quick-nav/types.js +5 -0
  190. package/radio-group/Radio.d.ts +4 -0
  191. package/radio-group/Radio.js +156 -0
  192. package/radio-group/RadioGroup.d.ts +4 -0
  193. package/radio-group/RadioGroup.js +283 -0
  194. package/radio-group/RadioGroup.stories.tsx +101 -0
  195. package/radio-group/RadioGroup.test.js +722 -0
  196. package/radio-group/types.d.ts +114 -0
  197. package/radio-group/types.js +5 -0
  198. package/resultsetTable/Icons.d.ts +7 -0
  199. package/resultsetTable/Icons.js +51 -0
  200. package/resultsetTable/ResultsetTable.d.ts +4 -0
  201. package/resultsetTable/ResultsetTable.js +53 -132
  202. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  203. package/resultsetTable/ResultsetTable.test.js +325 -0
  204. package/resultsetTable/types.d.ts +67 -0
  205. package/resultsetTable/types.js +5 -0
  206. package/select/Icons.d.ts +10 -0
  207. package/select/Icons.js +93 -0
  208. package/select/Listbox.d.ts +4 -0
  209. package/select/Listbox.js +169 -0
  210. package/select/Option.d.ts +4 -0
  211. package/select/Option.js +97 -0
  212. package/select/Select.d.ts +4 -0
  213. package/select/Select.js +196 -397
  214. package/select/Select.stories.tsx +669 -0
  215. package/select/Select.test.js +2228 -0
  216. package/select/types.d.ts +210 -0
  217. package/select/types.js +5 -0
  218. package/sidenav/Sidenav.d.ts +10 -0
  219. package/sidenav/Sidenav.js +184 -63
  220. package/sidenav/Sidenav.stories.tsx +189 -0
  221. package/sidenav/Sidenav.test.js +44 -0
  222. package/sidenav/types.d.ts +73 -0
  223. package/sidenav/types.js +5 -0
  224. package/slider/Slider.d.ts +4 -0
  225. package/slider/Slider.js +159 -156
  226. package/slider/Slider.stories.tsx +183 -0
  227. package/slider/Slider.test.js +250 -0
  228. package/slider/types.d.ts +86 -0
  229. package/slider/types.js +5 -0
  230. package/spinner/Spinner.d.ts +4 -0
  231. package/spinner/Spinner.js +11 -28
  232. package/spinner/Spinner.stories.jsx +103 -0
  233. package/spinner/Spinner.test.js +64 -0
  234. package/spinner/types.d.ts +32 -0
  235. package/spinner/types.js +5 -0
  236. package/switch/Switch.d.ts +2 -2
  237. package/switch/Switch.js +152 -69
  238. package/switch/Switch.stories.tsx +138 -0
  239. package/switch/Switch.test.js +225 -0
  240. package/switch/types.d.ts +12 -4
  241. package/table/Table.d.ts +4 -0
  242. package/table/Table.js +4 -4
  243. package/table/Table.stories.jsx +277 -0
  244. package/table/Table.test.js +26 -0
  245. package/table/types.d.ts +21 -0
  246. package/table/types.js +5 -0
  247. package/tabs/Tab.d.ts +4 -0
  248. package/tabs/Tab.js +133 -0
  249. package/tabs/Tabs.d.ts +4 -0
  250. package/tabs/Tabs.js +364 -156
  251. package/tabs/Tabs.stories.tsx +188 -0
  252. package/tabs/Tabs.test.js +351 -0
  253. package/tabs/types.d.ts +92 -0
  254. package/tabs/types.js +5 -0
  255. package/tabs-nav/NavTabs.d.ts +8 -0
  256. package/tabs-nav/NavTabs.js +125 -0
  257. package/tabs-nav/NavTabs.stories.tsx +172 -0
  258. package/tabs-nav/NavTabs.test.js +82 -0
  259. package/tabs-nav/Tab.d.ts +4 -0
  260. package/tabs-nav/Tab.js +128 -0
  261. package/tabs-nav/types.d.ts +53 -0
  262. package/tabs-nav/types.js +5 -0
  263. package/tag/Tag.d.ts +4 -0
  264. package/tag/Tag.js +35 -60
  265. package/tag/Tag.stories.tsx +142 -0
  266. package/tag/Tag.test.js +60 -0
  267. package/tag/types.d.ts +69 -0
  268. package/tag/types.js +5 -0
  269. package/text-input/Icons.d.ts +8 -0
  270. package/text-input/Icons.js +60 -0
  271. package/text-input/Suggestion.d.ts +4 -0
  272. package/text-input/Suggestion.js +84 -0
  273. package/text-input/Suggestions.d.ts +4 -0
  274. package/text-input/Suggestions.js +134 -0
  275. package/text-input/TextInput.d.ts +4 -0
  276. package/text-input/TextInput.js +233 -385
  277. package/text-input/TextInput.stories.tsx +501 -0
  278. package/text-input/TextInput.test.js +1724 -0
  279. package/text-input/types.d.ts +197 -0
  280. package/text-input/types.js +5 -0
  281. package/textarea/Textarea.d.ts +4 -0
  282. package/textarea/Textarea.js +39 -79
  283. package/textarea/Textarea.stories.jsx +157 -0
  284. package/textarea/Textarea.test.js +437 -0
  285. package/textarea/types.d.ts +137 -0
  286. package/textarea/types.js +5 -0
  287. package/toggle-group/ToggleGroup.d.ts +4 -0
  288. package/toggle-group/ToggleGroup.js +18 -46
  289. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  290. package/toggle-group/ToggleGroup.test.js +156 -0
  291. package/toggle-group/types.d.ts +105 -0
  292. package/toggle-group/types.js +5 -0
  293. package/typography/Typography.d.ts +4 -0
  294. package/typography/Typography.js +131 -0
  295. package/typography/Typography.stories.tsx +198 -0
  296. package/typography/types.d.ts +18 -0
  297. package/typography/types.js +5 -0
  298. package/useTheme.d.ts +2 -0
  299. package/useTheme.js +2 -2
  300. package/useTranslatedLabels.d.ts +2 -0
  301. package/useTranslatedLabels.js +20 -0
  302. package/wizard/Wizard.d.ts +4 -0
  303. package/wizard/Wizard.js +118 -104
  304. package/wizard/Wizard.stories.tsx +233 -0
  305. package/wizard/Wizard.test.js +141 -0
  306. package/wizard/types.d.ts +65 -0
  307. package/wizard/types.js +5 -0
  308. package/ThemeContext.js +0 -246
  309. package/V3Select/V3Select.js +0 -455
  310. package/V3Select/index.d.ts +0 -27
  311. package/V3Textarea/V3Textarea.js +0 -260
  312. package/V3Textarea/index.d.ts +0 -27
  313. package/accordion/index.d.ts +0 -28
  314. package/accordion-group/index.d.ts +0 -16
  315. package/alert/index.d.ts +0 -51
  316. package/box/index.d.ts +0 -25
  317. package/card/index.d.ts +0 -22
  318. package/chip/index.d.ts +0 -22
  319. package/common/RequiredComponent.js +0 -32
  320. package/date/Date.js +0 -373
  321. package/date/index.d.ts +0 -27
  322. package/date-input/index.d.ts +0 -95
  323. package/dialog/index.d.ts +0 -18
  324. package/dropdown/index.d.ts +0 -26
  325. package/file-input/index.d.ts +0 -81
  326. package/footer/index.d.ts +0 -25
  327. package/header/index.d.ts +0 -25
  328. package/heading/index.d.ts +0 -17
  329. package/input-text/Icons.js +0 -22
  330. package/input-text/InputText.js +0 -611
  331. package/input-text/index.d.ts +0 -36
  332. package/link/index.d.ts +0 -23
  333. package/number-input/index.d.ts +0 -113
  334. package/password-input/index.d.ts +0 -94
  335. package/progress-bar/index.d.ts +0 -18
  336. package/radio/Radio.js +0 -195
  337. package/radio/index.d.ts +0 -23
  338. package/resultsetTable/index.d.ts +0 -19
  339. package/select/index.d.ts +0 -131
  340. package/sidenav/index.d.ts +0 -13
  341. package/slider/index.d.ts +0 -29
  342. package/spinner/index.d.ts +0 -17
  343. package/table/index.d.ts +0 -13
  344. package/tabs/index.d.ts +0 -19
  345. package/tag/index.d.ts +0 -24
  346. package/text-input/index.d.ts +0 -135
  347. package/textarea/index.d.ts +0 -117
  348. package/toggle/Toggle.js +0 -186
  349. package/toggle/index.d.ts +0 -21
  350. package/toggle-group/index.d.ts +0 -21
  351. package/upload/Upload.js +0 -201
  352. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  353. package/upload/buttons-upload/Icons.js +0 -40
  354. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  355. package/upload/dragAndDropArea/Icons.js +0 -39
  356. package/upload/file-upload/FileToUpload.js +0 -115
  357. package/upload/file-upload/Icons.js +0 -66
  358. package/upload/files-upload/FilesToUpload.js +0 -109
  359. package/upload/index.d.ts +0 -15
  360. package/upload/transaction/Icons.js +0 -160
  361. package/upload/transaction/Transaction.js +0 -104
  362. package/upload/transactions/Transactions.js +0 -94
  363. package/wizard/Icons.js +0 -65
  364. package/wizard/index.d.ts +0 -18
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import HeaderPropsType from "./types";
3
+ declare const DxcHeader: {
4
+ ({ underlined, content, responsiveContent, onClick, margin, padding, tabIndex, }: HeaderPropsType): JSX.Element;
5
+ Dropdown: (props: any) => JSX.Element;
6
+ };
7
+ export default DxcHeader;
package/header/Header.js CHANGED
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
13
 
16
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
@@ -21,19 +19,17 @@ var _react = _interopRequireWildcard(require("react"));
21
19
 
22
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
21
 
24
- var _AppBar = _interopRequireDefault(require("@material-ui/core/AppBar"));
25
-
26
- var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
22
  var _Dropdown = _interopRequireDefault(require("../dropdown/Dropdown"));
29
23
 
30
24
  var _Icons = require("./Icons");
31
25
 
32
26
  var _variables = require("../common/variables.js");
33
27
 
34
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
28
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
35
29
 
36
- var _BackgroundColorContext = _interopRequireWildcard(require("../BackgroundColorContext.js"));
30
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
31
+
32
+ var _BackgroundColorContext = _interopRequireWildcard(require("../BackgroundColorContext"));
37
33
 
38
34
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
39
35
 
@@ -41,76 +37,79 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
41
37
 
42
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; }
43
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
+
44
58
  var Dropdown = function Dropdown(props) {
45
59
  return /*#__PURE__*/_react["default"].createElement(HeaderDropdown, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], props));
46
60
  };
47
61
 
48
- var HeaderDropdown = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n button {\n background-color: transparent;\n :hover {\n background-color: transparent;\n }\n }\n"])));
49
-
50
- var getLogoElement = function getLogoElement(themeInput) {
51
- if (!themeInput) {
52
- return _Icons.dxcLogo;
53
- }
62
+ 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"])));
54
63
 
55
- if (typeof themeInput === "string") {
56
- return /*#__PURE__*/_react["default"].createElement(LogoImg, {
57
- alt: "Logo",
58
- src: themeInput
59
- });
60
- }
61
-
62
- return themeInput;
64
+ var getLogoElement = function getLogoElement(themeInput, logoLabel) {
65
+ if (!themeInput) return _Icons.dxcLogo;else if (typeof themeInput === "string") return /*#__PURE__*/_react["default"].createElement(LogoImg, {
66
+ alt: logoLabel,
67
+ src: themeInput
68
+ });else return themeInput;
63
69
  };
64
70
 
65
- var DxcHeader = function DxcHeader(_ref) {
66
- var _ref$underlined = _ref.underlined,
67
- underlined = _ref$underlined === void 0 ? false : _ref$underlined,
68
- onClick = _ref.onClick,
69
- content = _ref.content,
71
+ var Content = function Content(_ref) {
72
+ var isResponsive = _ref.isResponsive,
70
73
  responsiveContent = _ref.responsiveContent,
71
- margin = _ref.margin,
74
+ handleMenu = _ref.handleMenu,
72
75
  padding = _ref.padding,
73
- _ref$tabIndex = _ref.tabIndex,
74
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
76
+ content = _ref.content;
77
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
78
+ return isResponsive ? /*#__PURE__*/_react["default"].createElement(MenuContent, {
79
+ backgroundType: backgroundType
80
+ }, responsiveContent(handleMenu)) : /*#__PURE__*/_react["default"].createElement(ContentContainer, {
81
+ padding: padding,
82
+ backgroundType: backgroundType
83
+ }, content);
84
+ };
85
+
86
+ var DxcHeader = function DxcHeader(_ref2) {
87
+ var _ref2$underlined = _ref2.underlined,
88
+ underlined = _ref2$underlined === void 0 ? false : _ref2$underlined,
89
+ content = _ref2.content,
90
+ responsiveContent = _ref2.responsiveContent,
91
+ onClick = _ref2.onClick,
92
+ margin = _ref2.margin,
93
+ padding = _ref2.padding,
94
+ _ref2$tabIndex = _ref2.tabIndex,
95
+ tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;
75
96
  var colorsTheme = (0, _useTheme["default"])();
97
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
76
98
  var ref = (0, _react.useRef)(null);
77
99
 
78
- var _useState = (0, _react.useState)(),
100
+ var _useState = (0, _react.useState)(false),
79
101
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
80
- refSize = _useState2[0],
81
- setRefSize = _useState2[1];
102
+ isResponsive = _useState2[0],
103
+ setIsResponsive = _useState2[1];
82
104
 
83
- var _useState3 = (0, _react.useState)(),
105
+ var _useState3 = (0, _react.useState)(false),
84
106
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
85
- isResponsive = _useState4[0],
86
- setIsResponsive = _useState4[1];
87
-
88
- var _useState5 = (0, _react.useState)(false),
89
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
90
- isMenuVisible = _useState6[0],
91
- setIsMenuVisible = _useState6[1];
92
-
93
- var handleResize = function handleResize(refWidth) {
94
- if (refWidth) {
95
- setRefSize(refWidth);
96
-
97
- if (refWidth <= _variables.responsiveSizes.tablet && !isResponsive) {
98
- setIsResponsive(true);
99
- } else {
100
- setIsResponsive(false);
101
- }
102
- }
103
- };
107
+ isMenuVisible = _useState4[0],
108
+ setIsMenuVisible = _useState4[1];
104
109
 
105
- var ContentContainerComponent = function ContentContainerComponent() {
106
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
107
- return isResponsive && /*#__PURE__*/_react["default"].createElement(MenuContent, {
108
- backgroundType: backgroundType
109
- }, responsiveContent(handleMenu)) || /*#__PURE__*/_react["default"].createElement(ContentContainer, {
110
- padding: padding,
111
- backgroundType: backgroundType
112
- }, content);
113
- };
110
+ var handleResize = (0, _react.useCallback)(function () {
111
+ setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches);
112
+ }, []);
114
113
 
115
114
  var handleMenu = function handleMenu() {
116
115
  if (isResponsive && !isMenuVisible) {
@@ -121,80 +120,81 @@ var DxcHeader = function DxcHeader(_ref) {
121
120
  };
122
121
 
123
122
  var headerLogo = (0, _react.useMemo)(function () {
124
- return getLogoElement(colorsTheme.header.logo);
123
+ return getLogoElement(colorsTheme.header.logo, translatedLabels.formFields.logoAlternativeText);
125
124
  }, [colorsTheme.header.logo]);
126
125
  var headerResponsiveLogo = (0, _react.useMemo)(function () {
127
- return getLogoElement(colorsTheme.header.logoResponsive);
126
+ return getLogoElement(colorsTheme.header.logoResponsive, translatedLabels.formFields.logoAlternativeText);
128
127
  }, [colorsTheme.header.logoResponsive]);
129
-
130
- var handleEventListener = function handleEventListener() {
131
- handleResize(ref.current.offsetWidth);
132
- };
133
-
134
128
  (0, _react.useEffect)(function () {
135
- if (ref.current) {
136
- window.addEventListener("resize", handleEventListener);
137
- handleResize(ref.current.offsetWidth);
138
- }
139
-
129
+ handleResize();
130
+ window.addEventListener("resize", handleResize);
140
131
  return function () {
141
- window.removeEventListener("resize", handleEventListener);
132
+ window.removeEventListener("resize", handleResize);
142
133
  };
143
- }, []);
134
+ }, [handleResize]);
135
+ (0, _react.useEffect)(function () {
136
+ !isResponsive && setIsMenuVisible(false);
137
+ }, [isResponsive]);
144
138
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
145
139
  theme: colorsTheme.header
146
140
  }, /*#__PURE__*/_react["default"].createElement(HeaderContainer, {
147
- $underlined: underlined,
148
- position: "static",
141
+ underlined: underlined,
149
142
  margin: margin,
150
143
  ref: ref
151
144
  }, /*#__PURE__*/_react["default"].createElement(LogoAnchor, {
152
- tabIndex: typeof onClick === "function" ? tabIndex : -1,
153
- interactuable: typeof onClick === "function",
145
+ tabIndex: onClick ? tabIndex : -1,
146
+ interactuable: onClick ? true : false,
154
147
  onClick: onClick
155
148
  }, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, headerLogo)), isResponsive && responsiveContent && /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(ChildContainer, {
156
149
  padding: padding
157
- }, /*#__PURE__*/_react["default"].createElement(HamburguerItem, {
150
+ }, /*#__PURE__*/_react["default"].createElement(HamburguerTrigger, {
158
151
  tabIndex: tabIndex,
159
- underlined: underlined,
160
152
  onClick: handleMenu
161
- }, _Icons.hamburgerIcon, /*#__PURE__*/_react["default"].createElement(HamburguerTitle, null, "Menu"))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
162
- hasVisibility: isMenuVisible,
163
- refSize: refSize
164
- }, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
165
- color: colorsTheme.header.menuBackgroundColor
166
- }, /*#__PURE__*/_react["default"].createElement(ContentContainerComponent, null, responsiveContent(handleMenu))), /*#__PURE__*/_react["default"].createElement(CloseContainer, {
153
+ }, hamburgerIcon, translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
154
+ hasVisibility: isMenuVisible
155
+ }, /*#__PURE__*/_react["default"].createElement(ResponsiveIconsContainer, null, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(CloseAction, {
167
156
  tabIndex: tabIndex,
168
157
  onClick: handleMenu,
169
- className: "closeIcon"
170
- }, _Icons.closeIcon)), /*#__PURE__*/_react["default"].createElement(Overlay, {
158
+ "aria-label": translatedLabels.header.closeIcon,
159
+ title: translatedLabels.header.closeIcon
160
+ }, closeIcon)), /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
161
+ color: colorsTheme.header.menuBackgroundColor
162
+ }, /*#__PURE__*/_react["default"].createElement(Content, {
163
+ isResponsive: isResponsive,
164
+ responsiveContent: responsiveContent,
165
+ handleMenu: handleMenu,
166
+ padding: padding,
167
+ content: content
168
+ }))), /*#__PURE__*/_react["default"].createElement(Overlay, {
171
169
  onClick: handleMenu,
172
- hasVisibility: isMenuVisible,
173
- refSize: refSize
174
- }))), !isResponsive && /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
170
+ hasVisibility: isMenuVisible
171
+ })), !isResponsive && /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
175
172
  color: colorsTheme.header.backgroundColor
176
- }, /*#__PURE__*/_react["default"].createElement(ContentContainerComponent, null))));
173
+ }, /*#__PURE__*/_react["default"].createElement(Content, {
174
+ isResponsive: isResponsive,
175
+ responsiveContent: responsiveContent,
176
+ handleMenu: handleMenu,
177
+ padding: padding,
178
+ content: content
179
+ }))));
177
180
  };
178
181
 
179
182
  DxcHeader.Dropdown = Dropdown;
180
- var HeaderContainer = (0, _styledComponents["default"])(_AppBar["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: ", ";\n\n &.MuiAppBar-colorPrimary {\n background-color: ", ";\n border-bottom: ", ";\n\n &.MuiPaper-elevation4 {\n box-shadow: none;\n }\n .ChildComponents {\n display: flex;\n align-items: center;\n }\n }\n & {\n min-height: ", ";\n }\n &.MuiAppBar-root {\n flex-direction: row;\n align-items: center;\n padding: ", ";\n justify-content: space-between;\n }\n"])), function (props) {
181
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
183
+
184
+ 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) {
185
+ return props.theme.minHeight;
182
186
  }, function (props) {
183
- return props.theme.backgroundColor;
187
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
184
188
  }, function (props) {
185
- return props.$underlined && "".concat(props.theme.underlinedThickness, " ").concat(props.theme.underlinedStyle, " ").concat(props.theme.underlinedColor);
189
+ return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
186
190
  }, function (props) {
187
- return props.theme.minHeight;
191
+ return props.theme.backgroundColor;
188
192
  }, function (props) {
189
- return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
193
+ return props.underlined && "".concat(props.theme.underlinedThickness, " ").concat(props.theme.underlinedStyle, " ").concat(props.theme.underlinedColor);
190
194
  });
191
195
 
192
- var LogoAnchor = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n"])), function (props) {
193
- if (!props.interactuable) {
194
- return "cursor: default; outline:none;";
195
- }
196
-
197
- return "cursor: pointer;";
196
+ var LogoAnchor = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
197
+ return props.interactuable ? "cursor: pointer" : "cursor: default; outline:none;";
198
198
  });
199
199
 
200
200
  var LogoImg = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
@@ -209,7 +209,7 @@ var LogoContainer = _styledComponents["default"].div(_templateObject5 || (_templ
209
209
  return props.theme.logoWidth;
210
210
  });
211
211
 
212
- var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n width: calc(100% - 186px);\n display: flex;\n align-items: center;\n flex-grow: 1;\n\n justify-content: flex-end;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
212
+ 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 padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
213
213
  return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
214
214
  }, function (props) {
215
215
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
@@ -221,9 +221,7 @@ var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_temp
221
221
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
222
222
  });
223
223
 
224
- var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n width: calc(100% - 186px);\n display: flex;\n align-items: center;\n flex-grow: 1;\n color: ", ";\n\n justify-content: flex-end;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
225
- return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
226
- }, function (props) {
224
+ 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 padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n color: ", ";\n"])), function (props) {
227
225
  return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
228
226
  }, function (props) {
229
227
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
@@ -233,17 +231,17 @@ var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_te
233
231
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
234
232
  }, function (props) {
235
233
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
234
+ }, function (props) {
235
+ return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
236
236
  });
237
237
 
238
- var HamburguerItem = _styledComponents["default"].div(_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 :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n"])), function (props) {
238
+ 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) {
239
239
  return props.theme.hamburguerHoverColor;
240
240
  }, function (props) {
241
241
  return props.theme.hamburguerFocusColor;
242
242
  }, function (props) {
243
243
  return props.theme.hamburguerIconColor;
244
- });
245
-
246
- var HamburguerTitle = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
244
+ }, function (props) {
247
245
  return props.theme.hamburguerFontFamily;
248
246
  }, function (props) {
249
247
  return props.theme.hamburguerFontStyle;
@@ -257,39 +255,39 @@ var HamburguerTitle = _styledComponents["default"].span(_templateObject9 || (_te
257
255
  return props.theme.hamburguerFontColor;
258
256
  });
259
257
 
260
- var MainContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-grow: 1;\n"])));
258
+ var MainContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-grow: 1;\n"])));
261
259
 
262
- var ResponsiveMenu = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-evenly;\n background-color: ", ";\n position: fixed;\n top: 0;\n right: 0;\n z-index: ", ";\n width: ", ";\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) {
260
+ 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 //tablet\n width: ", ";\n }\n\n @media (not((max-width: ", "rem) and (min-width: ", "rem))) {\n //mobile phones\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) {
263
261
  return props.theme.menuBackgroundColor;
264
262
  }, function (props) {
265
263
  return props.theme.menuZindex;
266
- }, function (props) {
267
- return props.refSize <= _variables.responsiveSizes.laptop && props.refSize > _variables.responsiveSizes.mobileLarge ? "".concat(function (props) {
268
- return props.theme.menuTabletWidth;
269
- }) : "".concat(function (props) {
270
- return props.theme.menuMobileWidth;
271
- });
264
+ }, _variables.responsiveSizes.large, _variables.responsiveSizes.small, function (props) {
265
+ return props.theme.menuTabletWidth;
266
+ }, _variables.responsiveSizes.large, _variables.responsiveSizes.small, function (props) {
267
+ return props.theme.menuMobileWidth;
272
268
  }, function (props) {
273
269
  return props.hasVisibility ? "translateX(0)" : "translateX(100vw)";
274
270
  }, function (props) {
275
271
  return props.hasVisibility ? "1" : "0.96";
276
272
  });
277
273
 
278
- var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n position: absolute;\n top: 23px;\n left: 20px;\n"])), function (props) {
274
+ var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n display: flex;\n"])), function (props) {
279
275
  return props.theme.logoHeight;
280
276
  }, function (props) {
281
277
  return props.theme.logoWidth;
282
278
  });
283
279
 
284
- var CloseContainer = _styledComponents["default"].div(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n :focus {\n outline: ", " auto 1px;\n }\n position: fixed;\n top: 23px;\n right: 20px;\n width: 24px;\n height: 24px;\n padding: ", ";\n"])), function (props) {
280
+ var ResponsiveIconsContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n"])));
281
+
282
+ 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) {
285
283
  return props.theme.hamburguerFocusColor;
286
- }, _variables.spaces.xxsmall);
284
+ });
287
285
 
288
- var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n height: 100%;\n margin-top: 40px;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n color: ", ";\n"])), function (props) {
286
+ 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) {
289
287
  return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
290
288
  });
291
289
 
292
- 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 display: ", ";\n transition: opacity 0.2s 0.2s ease-in-out;\n z-index: ", ";\n"])), function (props) {
290
+ 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 //mobile phones\n display: none;\n }\n\n transition: opacity 0.2s 0.2s ease-in-out;\n z-index: ", ";\n"])), function (props) {
293
291
  return props.theme.overlayColor;
294
292
  }, function (props) {
295
293
  return props.theme.overlayOpacity;
@@ -297,30 +295,9 @@ var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateOb
297
295
  return props.hasVisibility ? "visible" : "hidden";
298
296
  }, function (props) {
299
297
  return props.hasVisibility ? "1" : "0";
300
- }, function (props) {
301
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "none" : "";
302
- }, function (props) {
298
+ }, _variables.responsiveSizes.small, function (props) {
303
299
  return props.theme.overlayZindex;
304
300
  });
305
301
 
306
- DxcHeader.propTypes = {
307
- underlined: _propTypes["default"].bool,
308
- onClick: _propTypes["default"].func,
309
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
310
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
311
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
312
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
313
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
314
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
315
- padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
316
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
317
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
318
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
319
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
320
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
321
- content: _propTypes["default"].object,
322
- responsiveContent: _propTypes["default"].func,
323
- tabIndex: _propTypes["default"].number
324
- };
325
302
  var _default = DxcHeader;
326
303
  exports["default"] = _default;
@@ -0,0 +1,205 @@
1
+ import React from "react";
2
+ import DxcHeader from "./Header";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { userEvent, waitFor, within } from "@storybook/testing-library";
6
+ import DxcFlex from "../flex/Flex";
7
+ import DxcLink from "../link/Link";
8
+
9
+ export default {
10
+ title: "Header",
11
+ component: DxcHeader,
12
+ };
13
+
14
+ const options: any = [
15
+ {
16
+ value: 1,
17
+ label: "Amazon",
18
+ },
19
+ ];
20
+
21
+ const options2: any = [
22
+ {
23
+ value: 1,
24
+ label: "Home",
25
+ },
26
+ {
27
+ value: 2,
28
+ label: "Release notes",
29
+ },
30
+ {
31
+ value: 3,
32
+ label: "Sign out",
33
+ },
34
+ ];
35
+
36
+ export const Chromatic = () => (
37
+ <>
38
+ <ExampleContainer>
39
+ <Title title="Default with dropdown" theme="light" level={4} />
40
+ <DxcHeader
41
+ content={<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />}
42
+ />
43
+ </ExampleContainer>
44
+ <ExampleContainer>
45
+ <Title title="Underlined with text" theme="light" level={4} />
46
+ <DxcHeader underlined content={<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>} />
47
+ </ExampleContainer>
48
+ <ExampleContainer>
49
+ <Title title="Underlined, dropdown and links" theme="light" level={4} />
50
+ <DxcHeader
51
+ content={
52
+ <DxcFlex alignItems="center" gap="4rem">
53
+ <DxcLink>Link 1</DxcLink>
54
+ <DxcLink>Link 2</DxcLink>
55
+ <DxcLink>Link 3</DxcLink>
56
+ <DxcHeader.Dropdown options={options2} label="Label" onSelectOption={() => {}} />
57
+ </DxcFlex>
58
+ }
59
+ underlined
60
+ />
61
+ </ExampleContainer>
62
+ <Title title="Margins" theme="light" level={2} />
63
+ <ExampleContainer>
64
+ <Title title="Xxsmall margin" theme="light" level={4} />
65
+ <DxcHeader underlined margin="xxsmall" />
66
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
67
+ </ExampleContainer>
68
+ <ExampleContainer>
69
+ <Title title="Xsmall margin" theme="light" level={4} />
70
+ <DxcHeader underlined margin="xsmall" />
71
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
72
+ </ExampleContainer>
73
+ <ExampleContainer>
74
+ <Title title="Small margin" theme="light" level={4} />
75
+ <DxcHeader underlined margin="small" />
76
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
77
+ </ExampleContainer>
78
+ <ExampleContainer>
79
+ <Title title="Medium margin" theme="light" level={4} />
80
+ <DxcHeader underlined margin="medium" />
81
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
82
+ </ExampleContainer>
83
+ <ExampleContainer>
84
+ <Title title="Large margin" theme="light" level={4} />
85
+ <DxcHeader underlined margin="large" />
86
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
87
+ </ExampleContainer>
88
+ <ExampleContainer>
89
+ <Title title="Xlarge margin" theme="light" level={4} />
90
+ <DxcHeader underlined margin="xlarge" />
91
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
92
+ </ExampleContainer>
93
+ <ExampleContainer>
94
+ <Title title="Xxlarge margin" theme="light" level={4} />
95
+ <DxcHeader underlined margin="xxlarge" />
96
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
97
+ </ExampleContainer>
98
+
99
+ <Title title="Paddings" theme="light" level={2} />
100
+ <ExampleContainer>
101
+ <Title title="Xxsmall padding" theme="light" level={4} />
102
+ <DxcHeader underlined padding="xxsmall" />
103
+ </ExampleContainer>
104
+ <ExampleContainer>
105
+ <Title title="Xsmall padding" theme="light" level={4} />
106
+ <DxcHeader underlined padding="xsmall" />
107
+ </ExampleContainer>
108
+ <ExampleContainer>
109
+ <Title title="Small padding" theme="light" level={4} />
110
+ <DxcHeader underlined padding="small" />
111
+ </ExampleContainer>
112
+ <ExampleContainer>
113
+ <Title title="Medium padding" theme="light" level={4} />
114
+ <DxcHeader underlined padding="medium" />
115
+ </ExampleContainer>
116
+ <ExampleContainer>
117
+ <Title title="Large padding" theme="light" level={4} />
118
+ <DxcHeader underlined padding="large" />
119
+ </ExampleContainer>
120
+ <ExampleContainer>
121
+ <Title title="Xlarge padding" theme="light" level={4} />
122
+ <DxcHeader underlined padding="xlarge" />
123
+ </ExampleContainer>
124
+ <ExampleContainer>
125
+ <Title title="Xxlarge padding" theme="light" level={4} />
126
+ <DxcHeader underlined padding="xxlarge" />
127
+ </ExampleContainer>
128
+ </>
129
+ );
130
+
131
+ export const ResponsiveHeader = () => (
132
+ <ExampleContainer>
133
+ <Title title="Responsive" theme="light" level={4} />
134
+ <DxcHeader
135
+ content={<DxcHeader.Dropdown options={options} label="Default Dropdown" />}
136
+ responsiveContent={(closeHandler) => <DxcHeader.Dropdown options={options} label="Default Dropdown" />}
137
+ underlined
138
+ />
139
+ </ExampleContainer>
140
+ );
141
+
142
+ const RespHeaderFocus = () => (
143
+ <ExampleContainer pseudoState="pseudo-focus">
144
+ <Title title="Responsive focus" theme="light" level={4} />
145
+ <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
146
+ </ExampleContainer>
147
+ );
148
+
149
+ const RespHeaderHover = () => (
150
+ <ExampleContainer pseudoState="pseudo-hover">
151
+ <Title title="Responsive hover" theme="light" level={4} />
152
+ <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
153
+ </ExampleContainer>
154
+ );
155
+
156
+ const RespHeaderMenu = () => (
157
+ <ExampleContainer>
158
+ <Title title="Responsive menu" theme="light" level={4} />
159
+ <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
160
+ </ExampleContainer>
161
+ );
162
+
163
+ ResponsiveHeader.parameters = {
164
+ viewport: {
165
+ defaultViewport: "iphonex",
166
+ },
167
+ chromatic: { viewports: [375] },
168
+ };
169
+
170
+ export const ResponsiveHeaderFocus = RespHeaderFocus.bind({});
171
+ ResponsiveHeaderFocus.parameters = {
172
+ viewport: {
173
+ defaultViewport: "iphonex",
174
+ },
175
+ chromatic: { viewports: [375] },
176
+ };
177
+ ResponsiveHeaderFocus.play = async ({ canvasElement }) => {
178
+ const canvas = within(canvasElement);
179
+ await waitFor(() => canvas.findByText("Menu"));
180
+ };
181
+
182
+ export const ResponsiveHeaderHover = RespHeaderHover.bind({});
183
+ ResponsiveHeaderHover.parameters = {
184
+ viewport: {
185
+ defaultViewport: "iphonex",
186
+ },
187
+ chromatic: { viewports: [375] },
188
+ };
189
+ ResponsiveHeaderHover.play = async ({ canvasElement }) => {
190
+ const canvas = within(canvasElement);
191
+ await waitFor(() => canvas.findByText("Menu"));
192
+ };
193
+
194
+ export const ResponsiveHeaderMenu = RespHeaderMenu.bind({});
195
+ ResponsiveHeaderMenu.parameters = {
196
+ viewport: {
197
+ defaultViewport: "iphonex",
198
+ },
199
+ chromatic: { viewports: [375] },
200
+ };
201
+ ResponsiveHeaderMenu.play = async ({ canvasElement }) => {
202
+ const canvas = within(canvasElement);
203
+ await waitFor(() => canvas.findByText("Menu"));
204
+ await userEvent.click(canvas.getByText("Menu"));
205
+ };