@dxc-technology/halstack-react 0.0.0-c291a0c → 0.0.0-c3c521c

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 (319) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1215 -6
  4. package/HalstackContext.js +125 -110
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +116 -160
  8. package/accordion/Accordion.stories.tsx +102 -126
  9. package/accordion/Accordion.test.js +25 -41
  10. package/accordion/types.d.ts +5 -16
  11. package/accordion-group/AccordionGroup.d.ts +4 -3
  12. package/accordion-group/AccordionGroup.js +31 -98
  13. package/accordion-group/AccordionGroup.stories.tsx +94 -67
  14. package/accordion-group/AccordionGroup.test.js +52 -105
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +11 -16
  18. package/action-icon/ActionIcon.d.ts +4 -0
  19. package/action-icon/ActionIcon.js +47 -0
  20. package/action-icon/ActionIcon.stories.tsx +41 -0
  21. package/action-icon/ActionIcon.test.js +64 -0
  22. package/action-icon/types.d.ts +26 -0
  23. package/alert/Alert.js +20 -59
  24. package/alert/Alert.stories.tsx +28 -0
  25. package/alert/Alert.test.js +29 -46
  26. package/alert/types.d.ts +5 -5
  27. package/badge/Badge.d.ts +1 -1
  28. package/badge/Badge.js +142 -42
  29. package/badge/Badge.stories.tsx +210 -0
  30. package/badge/Badge.test.js +30 -0
  31. package/badge/types.d.ts +52 -3
  32. package/bleed/Bleed.js +13 -21
  33. package/bleed/Bleed.stories.tsx +64 -63
  34. package/bleed/types.d.ts +2 -2
  35. package/box/Box.d.ts +1 -1
  36. package/box/Box.js +19 -60
  37. package/box/Box.stories.tsx +38 -51
  38. package/box/Box.test.js +2 -7
  39. package/box/types.d.ts +3 -14
  40. package/bulleted-list/BulletedList.d.ts +7 -0
  41. package/bulleted-list/BulletedList.js +89 -0
  42. package/bulleted-list/BulletedList.stories.tsx +115 -0
  43. package/bulleted-list/types.d.ts +38 -0
  44. package/button/Button.d.ts +1 -1
  45. package/button/Button.js +63 -117
  46. package/button/Button.stories.tsx +160 -90
  47. package/button/Button.test.js +20 -17
  48. package/button/types.d.ts +12 -8
  49. package/card/Card.d.ts +1 -1
  50. package/card/Card.js +48 -89
  51. package/card/Card.stories.tsx +12 -42
  52. package/card/Card.test.js +11 -22
  53. package/card/types.d.ts +6 -11
  54. package/checkbox/Checkbox.d.ts +2 -2
  55. package/checkbox/Checkbox.js +140 -182
  56. package/checkbox/Checkbox.stories.tsx +128 -94
  57. package/checkbox/Checkbox.test.js +160 -39
  58. package/checkbox/types.d.ts +11 -3
  59. package/chip/Chip.js +39 -79
  60. package/chip/Chip.stories.tsx +121 -26
  61. package/chip/Chip.test.js +16 -31
  62. package/chip/types.d.ts +4 -4
  63. package/common/OpenSans.css +68 -80
  64. package/common/coreTokens.d.ts +237 -0
  65. package/common/coreTokens.js +184 -0
  66. package/common/utils.d.ts +1 -0
  67. package/common/utils.js +6 -12
  68. package/common/variables.d.ts +1367 -0
  69. package/common/variables.js +909 -1140
  70. package/container/Container.d.ts +4 -0
  71. package/container/Container.js +194 -0
  72. package/container/Container.stories.tsx +214 -0
  73. package/container/types.d.ts +74 -0
  74. package/date-input/Calendar.d.ts +4 -0
  75. package/date-input/Calendar.js +214 -0
  76. package/date-input/DateInput.js +150 -299
  77. package/date-input/DateInput.stories.tsx +203 -56
  78. package/date-input/DateInput.test.js +700 -371
  79. package/date-input/DatePicker.d.ts +4 -0
  80. package/date-input/DatePicker.js +115 -0
  81. package/date-input/Icons.d.ts +6 -0
  82. package/date-input/Icons.js +58 -0
  83. package/date-input/YearPicker.d.ts +4 -0
  84. package/date-input/YearPicker.js +100 -0
  85. package/date-input/types.d.ts +72 -15
  86. package/dialog/Dialog.d.ts +1 -1
  87. package/dialog/Dialog.js +73 -107
  88. package/dialog/Dialog.stories.tsx +320 -167
  89. package/dialog/Dialog.test.js +287 -20
  90. package/dialog/types.d.ts +18 -25
  91. package/dropdown/Dropdown.d.ts +1 -1
  92. package/dropdown/Dropdown.js +243 -300
  93. package/dropdown/Dropdown.stories.tsx +245 -56
  94. package/dropdown/Dropdown.test.js +575 -165
  95. package/dropdown/DropdownMenu.d.ts +4 -0
  96. package/dropdown/DropdownMenu.js +63 -0
  97. package/dropdown/DropdownMenuItem.d.ts +4 -0
  98. package/dropdown/DropdownMenuItem.js +67 -0
  99. package/dropdown/types.d.ts +32 -14
  100. package/file-input/FileInput.d.ts +2 -2
  101. package/file-input/FileInput.js +241 -355
  102. package/file-input/FileInput.stories.tsx +123 -12
  103. package/file-input/FileInput.test.js +369 -367
  104. package/file-input/FileItem.d.ts +4 -14
  105. package/file-input/FileItem.js +45 -96
  106. package/file-input/types.d.ts +25 -8
  107. package/flex/Flex.d.ts +4 -0
  108. package/flex/Flex.js +57 -0
  109. package/flex/Flex.stories.tsx +112 -0
  110. package/flex/types.d.ts +97 -0
  111. package/footer/Footer.d.ts +1 -1
  112. package/footer/Footer.js +70 -117
  113. package/footer/Footer.stories.tsx +60 -19
  114. package/footer/Footer.test.js +33 -57
  115. package/footer/Icons.d.ts +3 -2
  116. package/footer/Icons.js +66 -7
  117. package/footer/types.d.ts +25 -26
  118. package/grid/Grid.d.ts +7 -0
  119. package/grid/Grid.js +76 -0
  120. package/grid/Grid.stories.tsx +219 -0
  121. package/grid/types.d.ts +115 -0
  122. package/header/Header.d.ts +4 -3
  123. package/header/Header.js +85 -168
  124. package/header/Header.stories.tsx +118 -39
  125. package/header/Header.test.js +13 -26
  126. package/header/Icons.d.ts +2 -2
  127. package/header/Icons.js +4 -9
  128. package/header/types.d.ts +5 -19
  129. package/heading/Heading.js +10 -32
  130. package/heading/Heading.test.js +71 -88
  131. package/heading/types.d.ts +7 -7
  132. package/image/Image.d.ts +4 -0
  133. package/image/Image.js +70 -0
  134. package/image/Image.stories.tsx +127 -0
  135. package/image/types.d.ts +72 -0
  136. package/inset/Inset.js +13 -21
  137. package/inset/Inset.stories.tsx +5 -4
  138. package/inset/types.d.ts +2 -2
  139. package/layout/ApplicationLayout.d.ts +15 -6
  140. package/layout/ApplicationLayout.js +50 -115
  141. package/layout/ApplicationLayout.stories.tsx +81 -45
  142. package/layout/Icons.d.ts +8 -5
  143. package/layout/Icons.js +51 -59
  144. package/layout/SidenavContext.d.ts +1 -1
  145. package/layout/SidenavContext.js +3 -9
  146. package/layout/types.d.ts +21 -32
  147. package/link/Link.js +25 -46
  148. package/link/Link.stories.tsx +73 -6
  149. package/link/Link.test.js +24 -44
  150. package/link/types.d.ts +14 -14
  151. package/main.d.ts +12 -13
  152. package/main.js +45 -103
  153. package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
  154. package/{tabs-nav → nav-tabs}/NavTabs.js +28 -60
  155. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +115 -9
  156. package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
  157. package/nav-tabs/Tab.js +118 -0
  158. package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
  159. package/number-input/NumberInput.d.ts +7 -0
  160. package/number-input/NumberInput.js +26 -35
  161. package/number-input/NumberInput.stories.tsx +42 -26
  162. package/number-input/NumberInput.test.js +701 -377
  163. package/number-input/types.d.ts +11 -5
  164. package/package.json +43 -46
  165. package/paginator/Icons.d.ts +5 -0
  166. package/paginator/Icons.js +21 -47
  167. package/paginator/Paginator.js +23 -59
  168. package/paginator/Paginator.stories.tsx +24 -0
  169. package/paginator/Paginator.test.js +253 -226
  170. package/paginator/types.d.ts +3 -3
  171. package/paragraph/Paragraph.d.ts +5 -0
  172. package/paragraph/Paragraph.js +22 -0
  173. package/paragraph/Paragraph.stories.tsx +27 -0
  174. package/password-input/Icons.d.ts +6 -0
  175. package/password-input/Icons.js +35 -0
  176. package/password-input/PasswordInput.js +57 -126
  177. package/password-input/PasswordInput.stories.tsx +1 -33
  178. package/password-input/PasswordInput.test.js +160 -142
  179. package/password-input/types.d.ts +8 -7
  180. package/progress-bar/ProgressBar.js +65 -91
  181. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +39 -4
  182. package/progress-bar/ProgressBar.test.js +72 -44
  183. package/progress-bar/types.d.ts +3 -3
  184. package/quick-nav/QuickNav.js +27 -45
  185. package/quick-nav/QuickNav.stories.tsx +146 -27
  186. package/quick-nav/types.d.ts +10 -10
  187. package/radio-group/Radio.d.ts +1 -1
  188. package/radio-group/Radio.js +59 -76
  189. package/radio-group/RadioGroup.js +67 -114
  190. package/radio-group/RadioGroup.stories.tsx +132 -18
  191. package/radio-group/RadioGroup.test.js +518 -457
  192. package/radio-group/types.d.ts +10 -10
  193. package/resultset-table/Icons.d.ts +7 -0
  194. package/resultset-table/Icons.js +47 -0
  195. package/resultset-table/ResultsetTable.js +159 -0
  196. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +50 -25
  197. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +101 -144
  198. package/{resultsetTable → resultset-table}/types.d.ts +7 -7
  199. package/resultset-table/types.js +5 -0
  200. package/select/Icons.d.ts +7 -7
  201. package/select/Icons.js +1 -5
  202. package/select/Listbox.js +17 -49
  203. package/select/Option.js +27 -50
  204. package/select/Select.js +132 -202
  205. package/select/Select.stories.tsx +497 -152
  206. package/select/Select.test.js +1966 -1758
  207. package/select/types.d.ts +16 -19
  208. package/sidenav/Icons.d.ts +7 -0
  209. package/sidenav/Icons.js +47 -0
  210. package/sidenav/Sidenav.d.ts +6 -5
  211. package/sidenav/Sidenav.js +127 -78
  212. package/sidenav/Sidenav.stories.tsx +251 -151
  213. package/sidenav/Sidenav.test.js +26 -45
  214. package/sidenav/types.d.ts +52 -26
  215. package/slider/Slider.d.ts +2 -2
  216. package/slider/Slider.js +148 -181
  217. package/slider/Slider.test.js +185 -81
  218. package/slider/types.d.ts +7 -3
  219. package/spinner/Spinner.js +31 -75
  220. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  221. package/spinner/Spinner.test.js +26 -35
  222. package/spinner/types.d.ts +3 -3
  223. package/status-light/StatusLight.d.ts +4 -0
  224. package/status-light/StatusLight.js +51 -0
  225. package/status-light/StatusLight.stories.tsx +74 -0
  226. package/status-light/StatusLight.test.js +25 -0
  227. package/status-light/types.d.ts +17 -0
  228. package/status-light/types.js +5 -0
  229. package/switch/Switch.d.ts +2 -2
  230. package/switch/Switch.js +145 -126
  231. package/switch/Switch.stories.tsx +37 -60
  232. package/switch/Switch.test.js +138 -56
  233. package/switch/types.d.ts +7 -3
  234. package/table/Table.js +8 -30
  235. package/table/{Table.stories.jsx → Table.stories.tsx} +80 -1
  236. package/table/Table.test.js +3 -8
  237. package/table/types.d.ts +8 -8
  238. package/tabs/Tab.d.ts +4 -0
  239. package/tabs/Tab.js +116 -0
  240. package/tabs/Tabs.js +314 -141
  241. package/tabs/Tabs.stories.tsx +120 -6
  242. package/tabs/Tabs.test.js +223 -69
  243. package/tabs/types.d.ts +28 -18
  244. package/tag/Tag.js +29 -61
  245. package/tag/Tag.stories.tsx +14 -1
  246. package/tag/Tag.test.js +20 -31
  247. package/tag/types.d.ts +7 -7
  248. package/text-input/Icons.d.ts +8 -0
  249. package/text-input/Icons.js +56 -0
  250. package/text-input/Suggestion.js +40 -28
  251. package/text-input/Suggestions.d.ts +4 -0
  252. package/text-input/Suggestions.js +84 -0
  253. package/text-input/TextInput.js +308 -506
  254. package/text-input/TextInput.stories.tsx +266 -275
  255. package/text-input/TextInput.test.js +1402 -1375
  256. package/text-input/types.d.ts +43 -16
  257. package/textarea/Textarea.js +70 -113
  258. package/textarea/Textarea.stories.tsx +174 -0
  259. package/textarea/Textarea.test.js +152 -183
  260. package/textarea/types.d.ts +9 -5
  261. package/toggle-group/ToggleGroup.d.ts +2 -2
  262. package/toggle-group/ToggleGroup.js +92 -106
  263. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  264. package/toggle-group/ToggleGroup.test.js +69 -88
  265. package/toggle-group/types.d.ts +26 -17
  266. package/typography/Typography.d.ts +4 -0
  267. package/typography/Typography.js +23 -0
  268. package/typography/Typography.stories.tsx +198 -0
  269. package/typography/types.d.ts +18 -0
  270. package/typography/types.js +5 -0
  271. package/useTheme.d.ts +1119 -1
  272. package/useTheme.js +2 -9
  273. package/useTranslatedLabels.d.ts +84 -1
  274. package/useTranslatedLabels.js +1 -7
  275. package/utils/BaseTypography.d.ts +21 -0
  276. package/utils/BaseTypography.js +94 -0
  277. package/utils/FocusLock.d.ts +13 -0
  278. package/utils/FocusLock.js +124 -0
  279. package/wizard/Wizard.js +24 -66
  280. package/wizard/Wizard.stories.tsx +40 -1
  281. package/wizard/Wizard.test.js +54 -81
  282. package/wizard/types.d.ts +7 -7
  283. package/card/ice-cream.jpg +0 -0
  284. package/common/RequiredComponent.js +0 -32
  285. package/inline/Inline.d.ts +0 -4
  286. package/inline/Inline.js +0 -54
  287. package/inline/Inline.stories.tsx +0 -264
  288. package/inline/types.d.ts +0 -32
  289. package/list/List.d.ts +0 -4
  290. package/list/List.js +0 -47
  291. package/list/List.stories.tsx +0 -89
  292. package/list/types.d.ts +0 -7
  293. package/number-input/NumberInputContext.d.ts +0 -4
  294. package/number-input/NumberInputContext.js +0 -19
  295. package/number-input/numberInputContextTypes.d.ts +0 -19
  296. package/resultsetTable/ResultsetTable.js +0 -254
  297. package/row/Row.d.ts +0 -3
  298. package/row/Row.js +0 -127
  299. package/row/Row.stories.tsx +0 -237
  300. package/row/types.d.ts +0 -28
  301. package/slider/Slider.stories.tsx +0 -177
  302. package/stack/Stack.d.ts +0 -4
  303. package/stack/Stack.js +0 -50
  304. package/stack/Stack.stories.tsx +0 -225
  305. package/stack/types.d.ts +0 -28
  306. package/tabs-nav/Tab.js +0 -132
  307. package/text/Text.d.ts +0 -7
  308. package/text/Text.js +0 -30
  309. package/text/Text.stories.tsx +0 -19
  310. package/textarea/Textarea.stories.jsx +0 -157
  311. /package/{inline → action-icon}/types.js +0 -0
  312. /package/{list → bulleted-list}/types.js +0 -0
  313. /package/{resultsetTable → container}/types.js +0 -0
  314. /package/{row → flex}/types.js +0 -0
  315. /package/{stack → grid}/types.js +0 -0
  316. /package/{tabs-nav → image}/types.js +0 -0
  317. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  318. /package/{number-input/numberInputContextTypes.js → nav-tabs/types.js} +0 -0
  319. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
package/header/Header.js CHANGED
@@ -1,56 +1,31 @@
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
- var _AppBar = _interopRequireDefault(require("@material-ui/core/AppBar"));
23
-
24
13
  var _Dropdown = _interopRequireDefault(require("../dropdown/Dropdown"));
25
-
26
14
  var _Icons = require("./Icons");
27
-
28
- var _variables = require("../common/variables.js");
29
-
15
+ var _variables = require("../common/variables");
30
16
  var _useTheme = _interopRequireDefault(require("../useTheme"));
31
-
32
17
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
33
-
34
- var _BackgroundColorContext = _interopRequireWildcard(require("../BackgroundColorContext"));
35
-
36
18
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
37
-
38
- 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); }
39
-
40
- 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; }
41
-
19
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
20
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
42
21
  var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
43
22
  xmlns: "http://www.w3.org/2000/svg",
44
- height: "24",
45
23
  viewBox: "0 0 24 24",
24
+ height: "24",
46
25
  width: "24"
47
26
  }, /*#__PURE__*/_react["default"].createElement("path", {
48
- d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
49
- }), /*#__PURE__*/_react["default"].createElement("path", {
50
- d: "M0 0h24v24H0z",
51
- fill: "none"
27
+ d: "M6.4 19 5 17.6l5.6-5.6L5 6.4 6.4 5l5.6 5.6L17.6 5 19 6.4 13.4 12l5.6 5.6-1.4 1.4-5.6-5.6Z"
52
28
  }));
53
-
54
29
  var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
55
30
  xmlns: "http://www.w3.org/2000/svg",
56
31
  viewBox: "0 0 24 24",
@@ -59,66 +34,46 @@ var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
59
34
  }, /*#__PURE__*/_react["default"].createElement("path", {
60
35
  d: "M3,8H21a1,1,0,0,0,0-2H3A1,1,0,0,0,3,8Zm18,8H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Zm0-5H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Z"
61
36
  }));
62
-
63
37
  var Dropdown = function Dropdown(props) {
64
38
  return /*#__PURE__*/_react["default"].createElement(HeaderDropdown, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], props));
65
39
  };
66
-
67
- 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"])));
68
-
40
+ 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"])));
69
41
  var getLogoElement = function getLogoElement(themeInput, logoLabel) {
70
- if (!themeInput) {
71
- return _Icons.dxcLogo;
72
- }
73
-
74
- if (typeof themeInput === "string") {
75
- return /*#__PURE__*/_react["default"].createElement(LogoImg, {
76
- alt: logoLabel,
77
- src: themeInput
78
- });
79
- }
80
-
81
- return themeInput;
42
+ if (!themeInput) return _Icons.dxcLogo;else if (typeof themeInput === "string") return /*#__PURE__*/_react["default"].createElement(LogoImg, {
43
+ alt: logoLabel,
44
+ src: themeInput
45
+ });else return themeInput;
82
46
  };
83
-
84
- var DxcHeader = function DxcHeader(_ref) {
85
- var _ref$underlined = _ref.underlined,
86
- underlined = _ref$underlined === void 0 ? false : _ref$underlined,
87
- content = _ref.content,
88
- responsiveContent = _ref.responsiveContent,
89
- onClick = _ref.onClick,
90
- margin = _ref.margin,
91
- padding = _ref.padding,
92
- _ref$tabIndex = _ref.tabIndex,
93
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
47
+ var Content = function Content(_ref) {
48
+ var isResponsive = _ref.isResponsive,
49
+ responsiveContent = _ref.responsiveContent,
50
+ handleMenu = _ref.handleMenu,
51
+ content = _ref.content;
52
+ return isResponsive ? /*#__PURE__*/_react["default"].createElement(MenuContent, null, responsiveContent(handleMenu)) : /*#__PURE__*/_react["default"].createElement(ContentContainer, null, content);
53
+ };
54
+ var DxcHeader = function DxcHeader(_ref2) {
55
+ var _ref2$underlined = _ref2.underlined,
56
+ underlined = _ref2$underlined === void 0 ? false : _ref2$underlined,
57
+ content = _ref2.content,
58
+ responsiveContent = _ref2.responsiveContent,
59
+ onClick = _ref2.onClick,
60
+ margin = _ref2.margin,
61
+ _ref2$tabIndex = _ref2.tabIndex,
62
+ tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;
94
63
  var colorsTheme = (0, _useTheme["default"])();
95
64
  var translatedLabels = (0, _useTranslatedLabels["default"])();
96
65
  var ref = (0, _react.useRef)(null);
97
-
98
66
  var _useState = (0, _react.useState)(false),
99
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
100
- isResponsive = _useState2[0],
101
- setIsResponsive = _useState2[1];
102
-
67
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
68
+ isResponsive = _useState2[0],
69
+ setIsResponsive = _useState2[1];
103
70
  var _useState3 = (0, _react.useState)(false),
104
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
105
- isMenuVisible = _useState4[0],
106
- setIsMenuVisible = _useState4[1];
107
-
108
- var handleResize = function handleResize() {
109
- setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches && !isResponsive);
110
- };
111
-
112
- var ContentContainerComponent = function ContentContainerComponent() {
113
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
114
- return isResponsive && /*#__PURE__*/_react["default"].createElement(MenuContent, {
115
- backgroundType: backgroundType
116
- }, responsiveContent(handleMenu)) || /*#__PURE__*/_react["default"].createElement(ContentContainer, {
117
- padding: padding,
118
- backgroundType: backgroundType
119
- }, content);
120
- };
121
-
71
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
72
+ isMenuVisible = _useState4[0],
73
+ setIsMenuVisible = _useState4[1];
74
+ var handleResize = (0, _react.useCallback)(function () {
75
+ setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches);
76
+ }, []);
122
77
  var handleMenu = function handleMenu() {
123
78
  if (isResponsive && !isMenuVisible) {
124
79
  setIsMenuVisible(!isMenuVisible);
@@ -126,7 +81,6 @@ var DxcHeader = function DxcHeader(_ref) {
126
81
  setIsMenuVisible(!isMenuVisible);
127
82
  }
128
83
  };
129
-
130
84
  var headerLogo = (0, _react.useMemo)(function () {
131
85
  return getLogoElement(colorsTheme.header.logo, translatedLabels.formFields.logoAlternativeText);
132
86
  }, [colorsTheme.header.logo]);
@@ -134,116 +88,86 @@ var DxcHeader = function DxcHeader(_ref) {
134
88
  return getLogoElement(colorsTheme.header.logoResponsive, translatedLabels.formFields.logoAlternativeText);
135
89
  }, [colorsTheme.header.logoResponsive]);
136
90
  (0, _react.useEffect)(function () {
137
- if (ref.current) {
138
- window.addEventListener("resize", handleResize);
139
- handleResize();
140
- }
141
-
91
+ handleResize();
92
+ window.addEventListener("resize", handleResize);
142
93
  return function () {
143
94
  window.removeEventListener("resize", handleResize);
144
95
  };
145
- }, []);
96
+ }, [handleResize]);
97
+ (0, _react.useEffect)(function () {
98
+ !isResponsive && setIsMenuVisible(false);
99
+ }, [isResponsive]);
146
100
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
147
101
  theme: colorsTheme.header
148
102
  }, /*#__PURE__*/_react["default"].createElement(HeaderContainer, {
149
- $underlined: underlined,
150
- position: "static",
103
+ underlined: underlined,
151
104
  margin: margin,
152
105
  ref: ref
153
106
  }, /*#__PURE__*/_react["default"].createElement(LogoAnchor, {
154
- tabIndex: typeof onClick === "function" ? tabIndex : -1,
155
- interactuable: typeof onClick === "function",
107
+ tabIndex: onClick ? tabIndex : -1,
108
+ interactuable: onClick ? true : false,
156
109
  onClick: onClick
157
- }, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, headerLogo)), isResponsive && responsiveContent && /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(ChildContainer, {
158
- padding: padding
159
- }, /*#__PURE__*/_react["default"].createElement(HamburguerItem, {
110
+ }, /*#__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, {
160
111
  tabIndex: tabIndex,
161
- underlined: underlined,
162
112
  onClick: handleMenu
163
- }, hamburgerIcon, /*#__PURE__*/_react["default"].createElement(HamburguerTitle, null, "Menu"))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
113
+ }, hamburgerIcon, translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
164
114
  hasVisibility: isMenuVisible
165
- }, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
166
- color: colorsTheme.header.menuBackgroundColor
167
- }, /*#__PURE__*/_react["default"].createElement(ContentContainerComponent, null)), /*#__PURE__*/_react["default"].createElement(CloseContainer, {
115
+ }, /*#__PURE__*/_react["default"].createElement(ResponsiveIconsContainer, null, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(CloseAction, {
168
116
  tabIndex: tabIndex,
169
117
  onClick: handleMenu,
170
- className: "closeIcon"
171
- }, closeIcon)), /*#__PURE__*/_react["default"].createElement(Overlay, {
118
+ "aria-label": translatedLabels.header.closeIcon,
119
+ title: translatedLabels.header.closeIcon
120
+ }, closeIcon)), /*#__PURE__*/_react["default"].createElement(Content, {
121
+ isResponsive: isResponsive,
122
+ responsiveContent: responsiveContent,
123
+ handleMenu: handleMenu,
124
+ content: content
125
+ })), /*#__PURE__*/_react["default"].createElement(Overlay, {
172
126
  onClick: handleMenu,
173
127
  hasVisibility: isMenuVisible
174
- }))), !isResponsive && /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
175
- color: colorsTheme.header.backgroundColor
176
- }, /*#__PURE__*/_react["default"].createElement(ContentContainerComponent, null))));
128
+ })), !isResponsive && /*#__PURE__*/_react["default"].createElement(Content, {
129
+ isResponsive: isResponsive,
130
+ responsiveContent: responsiveContent,
131
+ handleMenu: handleMenu,
132
+ content: content
133
+ })));
177
134
  };
178
-
179
135
  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";
136
+ 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) {
137
+ return props.theme.minHeight;
182
138
  }, function (props) {
183
- return props.theme.backgroundColor;
139
+ return props.margin ? _variables.spaces[props.margin] : "0px";
184
140
  }, function (props) {
185
- return props.$underlined && "".concat(props.theme.underlinedThickness, " ").concat(props.theme.underlinedStyle, " ").concat(props.theme.underlinedColor);
141
+ return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
186
142
  }, function (props) {
187
- return props.theme.minHeight;
143
+ return props.theme.backgroundColor;
188
144
  }, function (props) {
189
- return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
145
+ return props.underlined && "".concat(props.theme.underlinedThickness, " ").concat(props.theme.underlinedStyle, " ").concat(props.theme.underlinedColor);
190
146
  });
191
-
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;";
147
+ var LogoAnchor = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
148
+ return props.interactuable ? "cursor: pointer" : "cursor: default; outline:none;";
198
149
  });
199
-
200
150
  var LogoImg = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
201
151
  return props.theme.logoHeight;
202
152
  }, function (props) {
203
153
  return props.theme.logoWidth;
204
154
  });
205
-
206
155
  var LogoContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n vertical-align: middle;\n"])), function (props) {
207
156
  return props.theme.logoHeight;
208
157
  }, function (props) {
209
158
  return props.theme.logoWidth;
210
159
  });
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) {
213
- return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
214
- }, function (props) {
215
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
216
- }, function (props) {
217
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
218
- }, function (props) {
219
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
220
- }, function (props) {
221
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
160
+ 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"])));
161
+ var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n flex-grow: 1;\n justify-content: flex-end;\n width: calc(100% - 186px);\n color: ", ";\n"])), function (props) {
162
+ return props.theme.contentColor;
222
163
  });
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) {
227
- return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
228
- }, function (props) {
229
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
230
- }, function (props) {
231
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
232
- }, function (props) {
233
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
234
- }, function (props) {
235
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
236
- });
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) {
164
+ var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 54px;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: 2px;\n background-color: transparent;\n :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
239
165
  return props.theme.hamburguerHoverColor;
240
166
  }, function (props) {
241
167
  return props.theme.hamburguerFocusColor;
242
168
  }, function (props) {
243
169
  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) {
170
+ }, function (props) {
247
171
  return props.theme.hamburguerFontFamily;
248
172
  }, function (props) {
249
173
  return props.theme.hamburguerFontStyle;
@@ -256,10 +180,8 @@ var HamburguerTitle = _styledComponents["default"].span(_templateObject9 || (_te
256
180
  }, function (props) {
257
181
  return props.theme.hamburguerFontColor;
258
182
  });
259
-
260
- var MainContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-grow: 1;\n"])));
261
-
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\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) {
183
+ var MainContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-grow: 1;\n"])));
184
+ 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) {
263
185
  return props.theme.menuBackgroundColor;
264
186
  }, function (props) {
265
187
  return props.theme.menuZindex;
@@ -272,22 +194,19 @@ var ResponsiveMenu = _styledComponents["default"].div(_templateObject11 || (_tem
272
194
  }, function (props) {
273
195
  return props.hasVisibility ? "1" : "0.96";
274
196
  });
275
-
276
- 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) {
197
+ var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n display: flex;\n"])), function (props) {
277
198
  return props.theme.logoHeight;
278
199
  }, function (props) {
279
200
  return props.theme.logoWidth;
280
201
  });
281
-
282
- 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) {
202
+ var ResponsiveIconsContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n"])));
203
+ var CloseAction = _styledComponents["default"].button(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: center;\n align-content: center;\n padding: 6px;\n border: unset;\n border-radius: 2px;\n background-color: transparent;\n cursor: pointer;\n\n :focus,\n :focus-visible {\n outline: ", " auto 1px;\n }\n\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
283
204
  return props.theme.hamburguerFocusColor;
284
- }, _variables.spaces.xxsmall);
285
-
286
- 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) {
287
- return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
288
205
  });
289
-
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) {
206
+ 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) {
207
+ return props.theme.contentColor;
208
+ });
209
+ 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) {
291
210
  return props.theme.overlayColor;
292
211
  }, function (props) {
293
212
  return props.theme.overlayOpacity;
@@ -298,6 +217,4 @@ var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateOb
298
217
  }, _variables.responsiveSizes.small, function (props) {
299
218
  return props.theme.overlayZindex;
300
219
  });
301
-
302
- var _default = DxcHeader;
303
- exports["default"] = _default;
220
+ var _default = exports["default"] = DxcHeader;
@@ -1,8 +1,12 @@
1
1
  import React from "react";
2
2
  import DxcHeader from "./Header";
3
+ import DxcButton from "../button/Button";
3
4
  import Title from "../../.storybook/components/Title";
4
5
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
6
  import { userEvent, waitFor, within } from "@storybook/testing-library";
7
+ import DxcFlex from "../flex/Flex";
8
+ import DxcLink from "../link/Link";
9
+ import { HalstackProvider } from "../HalstackContext";
6
10
 
7
11
  export default {
8
12
  title: "Header",
@@ -16,16 +20,62 @@ const options: any = [
16
20
  },
17
21
  ];
18
22
 
23
+ const options2: any = [
24
+ {
25
+ value: 1,
26
+ label: "Home",
27
+ },
28
+ {
29
+ value: 2,
30
+ label: "Release notes",
31
+ },
32
+ {
33
+ value: 3,
34
+ label: "Sign out",
35
+ },
36
+ ];
37
+
38
+ const opinionatedTheme = {
39
+ header: {
40
+ baseColor: "#ffffff",
41
+ accentColor: "#000000",
42
+ fontColor: "#000000",
43
+ menuBaseColor: "#ffffff",
44
+ hamburguerColor: "#000000",
45
+ logo: "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/2021_Facebook_icon.svg/2048px-2021_Facebook_icon.svg.png",
46
+ logoResponsive:
47
+ "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/2021_Facebook_icon.svg/2048px-2021_Facebook_icon.svg.png",
48
+ contentColor: "#000000",
49
+ overlayColor: "#000000b3",
50
+ },
51
+ };
52
+
19
53
  export const Chromatic = () => (
20
54
  <>
21
55
  <ExampleContainer>
22
56
  <Title title="Default with dropdown" theme="light" level={4} />
23
- <DxcHeader content={<DxcHeader.Dropdown options={options} label="Default Dropdown" />} />
57
+ <DxcHeader
58
+ content={<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />}
59
+ />
24
60
  </ExampleContainer>
25
61
  <ExampleContainer>
26
62
  <Title title="Underlined with text" theme="light" level={4} />
27
63
  <DxcHeader underlined content={<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>} />
28
64
  </ExampleContainer>
65
+ <ExampleContainer>
66
+ <Title title="Underlined, dropdown and links" theme="light" level={4} />
67
+ <DxcHeader
68
+ content={
69
+ <DxcFlex alignItems="center" gap="4rem">
70
+ <DxcLink>Link 1</DxcLink>
71
+ <DxcLink>Link 2</DxcLink>
72
+ <DxcLink>Link 3</DxcLink>
73
+ <DxcHeader.Dropdown options={options2} label="Label" onSelectOption={() => {}} />
74
+ </DxcFlex>
75
+ }
76
+ underlined
77
+ />
78
+ </ExampleContainer>
29
79
  <Title title="Margins" theme="light" level={2} />
30
80
  <ExampleContainer>
31
81
  <Title title="Xxsmall margin" theme="light" level={4} />
@@ -62,35 +112,20 @@ export const Chromatic = () => (
62
112
  <DxcHeader underlined margin="xxlarge" />
63
113
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
64
114
  </ExampleContainer>
65
-
66
- <Title title="Paddings" theme="light" level={2} />
67
- <ExampleContainer>
68
- <Title title="Xxsmall padding" theme="light" level={4} />
69
- <DxcHeader underlined padding="xxsmall" />
70
- </ExampleContainer>
71
- <ExampleContainer>
72
- <Title title="Xsmall padding" theme="light" level={4} />
73
- <DxcHeader underlined padding="xsmall" />
74
- </ExampleContainer>
75
- <ExampleContainer>
76
- <Title title="Small padding" theme="light" level={4} />
77
- <DxcHeader underlined padding="small" />
78
- </ExampleContainer>
79
- <ExampleContainer>
80
- <Title title="Medium padding" theme="light" level={4} />
81
- <DxcHeader underlined padding="medium" />
82
- </ExampleContainer>
83
- <ExampleContainer>
84
- <Title title="Large padding" theme="light" level={4} />
85
- <DxcHeader underlined padding="large" />
86
- </ExampleContainer>
87
- <ExampleContainer>
88
- <Title title="Xlarge padding" theme="light" level={4} />
89
- <DxcHeader underlined padding="xlarge" />
90
- </ExampleContainer>
91
- <ExampleContainer>
92
- <Title title="Xxlarge padding" theme="light" level={4} />
93
- <DxcHeader underlined padding="xxlarge" />
115
+ <Title title="Opinionated theme" theme="light" level={2} />
116
+ <ExampleContainer>
117
+ <HalstackProvider theme={opinionatedTheme}>
118
+ <DxcHeader
119
+ underlined
120
+ content={<DxcButton label={"Custom Button"} />}
121
+ responsiveContent={(closeHandler) => (
122
+ <>
123
+ <DxcButton label={"Custom Button"} onClick={closeHandler} />
124
+ Custom content
125
+ </>
126
+ )}
127
+ />
128
+ </HalstackProvider>
94
129
  </ExampleContainer>
95
130
  </>
96
131
  );
@@ -99,8 +134,10 @@ export const ResponsiveHeader = () => (
99
134
  <ExampleContainer>
100
135
  <Title title="Responsive" theme="light" level={4} />
101
136
  <DxcHeader
102
- content={<DxcHeader.Dropdown options={options} label="Default Dropdown" />}
103
- responsiveContent={(closeHandler) => <DxcHeader.Dropdown options={options} label="Default Dropdown" />}
137
+ content={<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />}
138
+ responsiveContent={(closeHandler) => (
139
+ <DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />
140
+ )}
104
141
  underlined
105
142
  />
106
143
  </ExampleContainer>
@@ -120,18 +157,34 @@ const RespHeaderHover = () => (
120
157
  </ExampleContainer>
121
158
  );
122
159
 
123
- const RespHeaderMenu = () => (
160
+ const RespHeaderMenuMobile = () => (
124
161
  <ExampleContainer>
125
162
  <Title title="Responsive menu" theme="light" level={4} />
126
163
  <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
127
164
  </ExampleContainer>
128
165
  );
129
166
 
167
+ const RespHeaderMenuTablet = () => (
168
+ <ExampleContainer>
169
+ <Title title="Responsive menu" theme="light" level={4} />
170
+ <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
171
+ </ExampleContainer>
172
+ );
173
+
174
+ const RespHeaderMenuOpinionated = () => (
175
+ <ExampleContainer>
176
+ <Title title="Responsive menu" theme="light" level={4} />
177
+ <HalstackProvider theme={opinionatedTheme}>
178
+ <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
179
+ </HalstackProvider>
180
+ </ExampleContainer>
181
+ );
182
+
130
183
  ResponsiveHeader.parameters = {
131
184
  viewport: {
132
185
  defaultViewport: "iphonex",
133
186
  },
134
- chromatic: { viewports: [720] },
187
+ chromatic: { viewports: [375] },
135
188
  };
136
189
 
137
190
  export const ResponsiveHeaderFocus = RespHeaderFocus.bind({});
@@ -139,7 +192,7 @@ ResponsiveHeaderFocus.parameters = {
139
192
  viewport: {
140
193
  defaultViewport: "iphonex",
141
194
  },
142
- chromatic: { viewports: [720] },
195
+ chromatic: { viewports: [375] },
143
196
  };
144
197
  ResponsiveHeaderFocus.play = async ({ canvasElement }) => {
145
198
  const canvas = within(canvasElement);
@@ -151,21 +204,47 @@ ResponsiveHeaderHover.parameters = {
151
204
  viewport: {
152
205
  defaultViewport: "iphonex",
153
206
  },
154
- chromatic: { viewports: [720] },
207
+ chromatic: { viewports: [375] },
155
208
  };
156
209
  ResponsiveHeaderHover.play = async ({ canvasElement }) => {
157
210
  const canvas = within(canvasElement);
158
211
  await waitFor(() => canvas.findByText("Menu"));
159
212
  };
160
213
 
161
- export const ResponsiveHeaderMenu = RespHeaderMenu.bind({});
162
- ResponsiveHeaderMenu.parameters = {
214
+ export const ResponsiveHeaderMenuMobile = RespHeaderMenuMobile.bind({});
215
+ ResponsiveHeaderMenuMobile.parameters = {
163
216
  viewport: {
164
217
  defaultViewport: "iphonex",
165
218
  },
219
+ chromatic: { viewports: [375] },
220
+ };
221
+ ResponsiveHeaderMenuMobile.play = async ({ canvasElement }) => {
222
+ const canvas = within(canvasElement);
223
+ await waitFor(() => canvas.findByText("Menu"));
224
+ await userEvent.click(canvas.getByText("Menu"));
225
+ };
226
+
227
+ export const ResponsiveHeaderMenuTablet = RespHeaderMenuTablet.bind({});
228
+ ResponsiveHeaderMenuTablet.parameters = {
229
+ viewport: {
230
+ defaultViewport: "pixelxl",
231
+ },
232
+ chromatic: { viewports: [720] },
233
+ };
234
+ ResponsiveHeaderMenuTablet.play = async ({ canvasElement }) => {
235
+ const canvas = within(canvasElement);
236
+ await waitFor(() => canvas.findByText("Menu"));
237
+ await userEvent.click(canvas.getByText("Menu"));
238
+ };
239
+
240
+ export const ResponsiveHeaderMenuOpinionated = RespHeaderMenuOpinionated.bind({});
241
+ ResponsiveHeaderMenuOpinionated.parameters = {
242
+ viewport: {
243
+ defaultViewport: "pixelxl",
244
+ },
166
245
  chromatic: { viewports: [720] },
167
246
  };
168
- ResponsiveHeaderMenu.play = async ({ canvasElement }) => {
247
+ ResponsiveHeaderMenuOpinionated.play = async ({ canvasElement }) => {
169
248
  const canvas = within(canvasElement);
170
249
  await waitFor(() => canvas.findByText("Menu"));
171
250
  await userEvent.click(canvas.getByText("Menu"));