@dxc-technology/halstack-react 0.0.0-0a9608a → 0.0.0-0ae5b08

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 (316) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1243 -6
  4. package/HalstackContext.js +122 -106
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +31 -88
  8. package/accordion/Accordion.stories.tsx +52 -115
  9. package/accordion/Accordion.test.js +19 -34
  10. package/accordion/types.d.ts +5 -17
  11. package/accordion-group/AccordionGroup.d.ts +4 -3
  12. package/accordion-group/AccordionGroup.js +29 -77
  13. package/accordion-group/AccordionGroup.stories.tsx +78 -77
  14. package/accordion-group/AccordionGroup.test.js +44 -72
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +6 -18
  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 +19 -58
  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 +141 -43
  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 +1 -0
  34. package/bleed/types.d.ts +2 -2
  35. package/box/Box.d.ts +1 -1
  36. package/box/Box.js +18 -59
  37. package/box/Box.stories.tsx +38 -51
  38. package/box/Box.test.js +2 -7
  39. package/box/types.d.ts +3 -15
  40. package/bulleted-list/BulletedList.js +19 -53
  41. package/bulleted-list/BulletedList.stories.tsx +8 -93
  42. package/bulleted-list/types.d.ts +32 -5
  43. package/button/Button.d.ts +1 -1
  44. package/button/Button.js +68 -102
  45. package/button/Button.stories.tsx +97 -93
  46. package/button/Button.test.js +20 -17
  47. package/button/types.d.ts +8 -4
  48. package/card/Card.d.ts +1 -1
  49. package/card/Card.js +48 -89
  50. package/card/Card.stories.tsx +12 -42
  51. package/card/Card.test.js +11 -22
  52. package/card/types.d.ts +6 -12
  53. package/checkbox/Checkbox.js +87 -122
  54. package/checkbox/Checkbox.stories.tsx +68 -54
  55. package/checkbox/Checkbox.test.js +108 -64
  56. package/checkbox/types.d.ts +8 -4
  57. package/chip/Chip.js +36 -64
  58. package/chip/Chip.stories.tsx +80 -17
  59. package/chip/Chip.test.js +16 -31
  60. package/chip/types.d.ts +4 -4
  61. package/common/coreTokens.d.ts +237 -0
  62. package/common/coreTokens.js +184 -0
  63. package/common/utils.d.ts +1 -0
  64. package/common/utils.js +6 -12
  65. package/common/variables.d.ts +1395 -0
  66. package/common/variables.js +898 -1143
  67. package/container/Container.d.ts +4 -0
  68. package/container/Container.js +194 -0
  69. package/container/Container.stories.tsx +214 -0
  70. package/container/types.d.ts +74 -0
  71. package/contextual-menu/ContextualMenu.d.ts +7 -0
  72. package/contextual-menu/ContextualMenu.js +71 -0
  73. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  74. package/contextual-menu/ContextualMenu.test.js +71 -0
  75. package/contextual-menu/MenuItemAction.d.ts +4 -0
  76. package/contextual-menu/MenuItemAction.js +46 -0
  77. package/contextual-menu/types.d.ts +22 -0
  78. package/date-input/Calendar.js +38 -70
  79. package/date-input/DateInput.js +50 -96
  80. package/date-input/DateInput.stories.tsx +78 -30
  81. package/date-input/DateInput.test.js +674 -701
  82. package/date-input/DatePicker.js +36 -53
  83. package/date-input/Icons.d.ts +6 -6
  84. package/date-input/Icons.js +6 -23
  85. package/date-input/YearPicker.js +28 -44
  86. package/date-input/types.d.ts +28 -22
  87. package/dialog/Dialog.d.ts +1 -1
  88. package/dialog/Dialog.js +61 -119
  89. package/dialog/Dialog.stories.tsx +310 -212
  90. package/dialog/Dialog.test.js +269 -32
  91. package/dialog/types.d.ts +18 -26
  92. package/divider/Divider.d.ts +4 -0
  93. package/divider/Divider.js +36 -0
  94. package/divider/Divider.stories.tsx +223 -0
  95. package/divider/Divider.test.js +38 -0
  96. package/divider/types.d.ts +19 -0
  97. package/divider/types.js +5 -0
  98. package/dropdown/Dropdown.js +50 -102
  99. package/dropdown/Dropdown.stories.tsx +46 -1
  100. package/dropdown/Dropdown.test.js +393 -379
  101. package/dropdown/DropdownMenu.js +13 -20
  102. package/dropdown/DropdownMenuItem.js +5 -19
  103. package/dropdown/types.d.ts +18 -20
  104. package/file-input/FileInput.js +184 -256
  105. package/file-input/FileInput.stories.tsx +86 -3
  106. package/file-input/FileInput.test.js +356 -395
  107. package/file-input/FileItem.js +15 -41
  108. package/file-input/types.d.ts +10 -10
  109. package/flex/Flex.js +27 -39
  110. package/flex/Flex.stories.tsx +35 -26
  111. package/flex/types.d.ts +74 -9
  112. package/footer/Footer.d.ts +1 -1
  113. package/footer/Footer.js +70 -117
  114. package/footer/Footer.stories.tsx +55 -21
  115. package/footer/Footer.test.js +33 -57
  116. package/footer/Icons.d.ts +3 -2
  117. package/footer/Icons.js +66 -7
  118. package/footer/types.d.ts +25 -27
  119. package/grid/Grid.d.ts +7 -0
  120. package/grid/Grid.js +76 -0
  121. package/grid/Grid.stories.tsx +219 -0
  122. package/grid/types.d.ts +115 -0
  123. package/grid/types.js +5 -0
  124. package/header/Header.d.ts +4 -3
  125. package/header/Header.js +34 -117
  126. package/header/Header.stories.tsx +81 -35
  127. package/header/Header.test.js +13 -26
  128. package/header/Icons.d.ts +2 -2
  129. package/header/Icons.js +2 -7
  130. package/header/types.d.ts +7 -22
  131. package/heading/Heading.js +10 -32
  132. package/heading/Heading.test.js +71 -88
  133. package/heading/types.d.ts +7 -7
  134. package/icon/Icon.d.ts +4 -0
  135. package/icon/Icon.js +33 -0
  136. package/icon/Icon.stories.tsx +26 -0
  137. package/icon/types.d.ts +4 -0
  138. package/icon/types.js +5 -0
  139. package/image/Image.d.ts +4 -0
  140. package/image/Image.js +70 -0
  141. package/image/Image.stories.tsx +129 -0
  142. package/image/types.d.ts +72 -0
  143. package/image/types.js +5 -0
  144. package/inset/Inset.js +13 -21
  145. package/inset/Inset.stories.tsx +2 -1
  146. package/inset/types.d.ts +2 -2
  147. package/layout/ApplicationLayout.d.ts +5 -5
  148. package/layout/ApplicationLayout.js +29 -66
  149. package/layout/ApplicationLayout.stories.tsx +1 -1
  150. package/layout/Icons.d.ts +8 -5
  151. package/layout/Icons.js +51 -59
  152. package/layout/SidenavContext.d.ts +1 -1
  153. package/layout/SidenavContext.js +3 -9
  154. package/layout/types.d.ts +5 -6
  155. package/link/Link.js +24 -45
  156. package/link/Link.stories.tsx +60 -0
  157. package/link/Link.test.js +24 -44
  158. package/link/types.d.ts +14 -14
  159. package/main.d.ts +9 -5
  160. package/main.js +40 -59
  161. package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
  162. package/{tabs-nav → nav-tabs}/NavTabs.js +23 -55
  163. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +109 -5
  164. package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
  165. package/nav-tabs/Tab.js +118 -0
  166. package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
  167. package/nav-tabs/types.js +5 -0
  168. package/number-input/NumberInput.d.ts +7 -0
  169. package/number-input/NumberInput.js +47 -37
  170. package/number-input/NumberInput.stories.tsx +42 -26
  171. package/number-input/NumberInput.test.js +860 -413
  172. package/number-input/types.d.ts +11 -5
  173. package/package.json +31 -29
  174. package/paginator/Icons.d.ts +5 -5
  175. package/paginator/Icons.js +5 -19
  176. package/paginator/Paginator.js +17 -47
  177. package/paginator/Paginator.stories.tsx +24 -0
  178. package/paginator/Paginator.test.js +235 -215
  179. package/paginator/types.d.ts +3 -3
  180. package/paragraph/Paragraph.d.ts +3 -4
  181. package/paragraph/Paragraph.js +6 -22
  182. package/paragraph/Paragraph.stories.tsx +0 -17
  183. package/password-input/Icons.d.ts +6 -0
  184. package/password-input/Icons.js +35 -0
  185. package/password-input/PasswordInput.js +57 -126
  186. package/password-input/PasswordInput.stories.tsx +1 -33
  187. package/password-input/PasswordInput.test.js +158 -141
  188. package/password-input/types.d.ts +8 -7
  189. package/progress-bar/ProgressBar.d.ts +2 -2
  190. package/progress-bar/ProgressBar.js +23 -55
  191. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
  192. package/progress-bar/ProgressBar.test.js +36 -53
  193. package/progress-bar/types.d.ts +4 -3
  194. package/quick-nav/QuickNav.js +4 -27
  195. package/quick-nav/QuickNav.stories.tsx +15 -1
  196. package/quick-nav/types.d.ts +10 -10
  197. package/radio-group/Radio.d.ts +1 -1
  198. package/radio-group/Radio.js +31 -63
  199. package/radio-group/RadioGroup.js +45 -93
  200. package/radio-group/RadioGroup.stories.tsx +131 -18
  201. package/radio-group/RadioGroup.test.js +505 -471
  202. package/radio-group/types.d.ts +8 -8
  203. package/resultset-table/Icons.d.ts +7 -0
  204. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  205. package/resultset-table/ResultsetTable.d.ts +7 -0
  206. package/{resultsetTable → resultset-table}/ResultsetTable.js +37 -66
  207. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +102 -5
  208. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +139 -93
  209. package/{resultsetTable → resultset-table}/types.d.ts +13 -7
  210. package/resultset-table/types.js +5 -0
  211. package/select/Icons.d.ts +7 -7
  212. package/select/Icons.js +1 -5
  213. package/select/Listbox.js +13 -39
  214. package/select/Option.js +17 -27
  215. package/select/Select.js +94 -168
  216. package/select/Select.stories.tsx +480 -178
  217. package/select/Select.test.js +1952 -1810
  218. package/select/types.d.ts +14 -15
  219. package/sidenav/Icons.d.ts +7 -0
  220. package/sidenav/Icons.js +47 -0
  221. package/sidenav/Sidenav.d.ts +2 -2
  222. package/sidenav/Sidenav.js +82 -151
  223. package/sidenav/Sidenav.stories.tsx +110 -17
  224. package/sidenav/Sidenav.test.js +3 -10
  225. package/sidenav/types.d.ts +31 -28
  226. package/slider/Slider.js +70 -128
  227. package/slider/Slider.test.js +108 -104
  228. package/slider/types.d.ts +4 -4
  229. package/spinner/Spinner.js +29 -73
  230. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  231. package/spinner/Spinner.test.js +26 -35
  232. package/spinner/types.d.ts +3 -3
  233. package/status-light/StatusLight.d.ts +4 -0
  234. package/status-light/StatusLight.js +51 -0
  235. package/status-light/StatusLight.stories.tsx +74 -0
  236. package/status-light/StatusLight.test.js +25 -0
  237. package/status-light/types.d.ts +17 -0
  238. package/status-light/types.js +5 -0
  239. package/switch/Switch.js +51 -99
  240. package/switch/Switch.stories.tsx +33 -34
  241. package/switch/Switch.test.js +52 -97
  242. package/switch/types.d.ts +4 -4
  243. package/table/DropdownTheme.js +62 -0
  244. package/table/Table.d.ts +6 -2
  245. package/table/Table.js +87 -35
  246. package/table/Table.stories.tsx +658 -0
  247. package/table/Table.test.js +94 -7
  248. package/table/types.d.ts +48 -6
  249. package/tabs/Tab.js +23 -40
  250. package/tabs/Tabs.js +62 -145
  251. package/tabs/Tabs.stories.tsx +39 -1
  252. package/tabs/Tabs.test.js +66 -123
  253. package/tabs/types.d.ts +19 -19
  254. package/tag/Tag.js +28 -60
  255. package/tag/Tag.stories.tsx +14 -1
  256. package/tag/Tag.test.js +20 -31
  257. package/tag/types.d.ts +7 -7
  258. package/text-input/Icons.d.ts +5 -5
  259. package/text-input/Icons.js +1 -5
  260. package/text-input/Suggestion.js +11 -28
  261. package/text-input/Suggestions.d.ts +1 -1
  262. package/text-input/Suggestions.js +15 -65
  263. package/text-input/TextInput.js +220 -328
  264. package/text-input/TextInput.stories.tsx +116 -152
  265. package/text-input/TextInput.test.js +1228 -1196
  266. package/text-input/types.d.ts +25 -17
  267. package/textarea/Textarea.js +70 -113
  268. package/textarea/Textarea.stories.tsx +174 -0
  269. package/textarea/Textarea.test.js +152 -183
  270. package/textarea/types.d.ts +9 -5
  271. package/toggle-group/ToggleGroup.d.ts +2 -2
  272. package/toggle-group/ToggleGroup.js +92 -106
  273. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  274. package/toggle-group/ToggleGroup.test.js +69 -88
  275. package/toggle-group/types.d.ts +26 -17
  276. package/typography/Typography.d.ts +2 -2
  277. package/typography/Typography.js +15 -123
  278. package/typography/Typography.stories.tsx +1 -1
  279. package/typography/types.d.ts +1 -1
  280. package/useTheme.d.ts +1147 -1
  281. package/useTheme.js +2 -9
  282. package/useTranslatedLabels.d.ts +84 -1
  283. package/useTranslatedLabels.js +1 -7
  284. package/utils/BaseTypography.d.ts +21 -0
  285. package/utils/BaseTypography.js +94 -0
  286. package/utils/FocusLock.d.ts +13 -0
  287. package/utils/FocusLock.js +124 -0
  288. package/wizard/Wizard.js +16 -51
  289. package/wizard/Wizard.stories.tsx +20 -0
  290. package/wizard/Wizard.test.js +54 -81
  291. package/wizard/types.d.ts +9 -10
  292. package/card/ice-cream.jpg +0 -0
  293. package/common/OpenSans.css +0 -81
  294. package/common/fonts/OpenSans-Bold.ttf +0 -0
  295. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  296. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  297. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  298. package/common/fonts/OpenSans-Italic.ttf +0 -0
  299. package/common/fonts/OpenSans-Light.ttf +0 -0
  300. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  301. package/common/fonts/OpenSans-Regular.ttf +0 -0
  302. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  303. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  304. package/number-input/NumberInputContext.d.ts +0 -4
  305. package/number-input/NumberInputContext.js +0 -19
  306. package/number-input/numberInputContextTypes.d.ts +0 -19
  307. package/resultsetTable/Icons.d.ts +0 -7
  308. package/resultsetTable/ResultsetTable.d.ts +0 -4
  309. package/slider/Slider.stories.tsx +0 -183
  310. package/table/Table.stories.jsx +0 -277
  311. package/tabs-nav/Tab.js +0 -128
  312. package/textarea/Textarea.stories.jsx +0 -157
  313. /package/{resultsetTable → action-icon}/types.js +0 -0
  314. /package/{tabs-nav → container}/types.js +0 -0
  315. /package/{number-input/numberInputContextTypes.js → contextual-menu/types.js} +0 -0
  316. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
package/header/Header.js CHANGED
@@ -1,42 +1,23 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
-
18
11
  var _react = _interopRequireWildcard(require("react"));
19
-
20
12
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
-
22
13
  var _Dropdown = _interopRequireDefault(require("../dropdown/Dropdown"));
23
-
24
14
  var _Icons = require("./Icons");
25
-
26
- var _variables = require("../common/variables.js");
27
-
15
+ var _variables = require("../common/variables");
28
16
  var _useTheme = _interopRequireDefault(require("../useTheme"));
29
-
30
17
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
31
-
32
- var _BackgroundColorContext = _interopRequireWildcard(require("../BackgroundColorContext"));
33
-
34
18
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
35
-
36
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
-
38
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
-
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; }
40
21
  var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
41
22
  xmlns: "http://www.w3.org/2000/svg",
42
23
  viewBox: "0 0 24 24",
@@ -45,7 +26,6 @@ var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
45
26
  }, /*#__PURE__*/_react["default"].createElement("path", {
46
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"
47
28
  }));
48
-
49
29
  var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
50
30
  xmlns: "http://www.w3.org/2000/svg",
51
31
  viewBox: "0 0 24 24",
@@ -54,63 +34,46 @@ var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
54
34
  }, /*#__PURE__*/_react["default"].createElement("path", {
55
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"
56
36
  }));
57
-
58
37
  var Dropdown = function Dropdown(props) {
59
38
  return /*#__PURE__*/_react["default"].createElement(HeaderDropdown, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], props));
60
39
  };
61
-
62
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"])));
63
-
64
41
  var getLogoElement = function getLogoElement(themeInput, logoLabel) {
65
42
  if (!themeInput) return _Icons.dxcLogo;else if (typeof themeInput === "string") return /*#__PURE__*/_react["default"].createElement(LogoImg, {
66
43
  alt: logoLabel,
67
44
  src: themeInput
68
45
  });else return themeInput;
69
46
  };
70
-
71
47
  var Content = function Content(_ref) {
72
48
  var isResponsive = _ref.isResponsive,
73
- responsiveContent = _ref.responsiveContent,
74
- handleMenu = _ref.handleMenu,
75
- padding = _ref.padding,
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);
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);
84
53
  };
85
-
86
54
  var DxcHeader = function DxcHeader(_ref2) {
87
55
  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;
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;
96
63
  var colorsTheme = (0, _useTheme["default"])();
97
64
  var translatedLabels = (0, _useTranslatedLabels["default"])();
98
65
  var ref = (0, _react.useRef)(null);
99
-
100
66
  var _useState = (0, _react.useState)(false),
101
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
102
- isResponsive = _useState2[0],
103
- setIsResponsive = _useState2[1];
104
-
67
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
68
+ isResponsive = _useState2[0],
69
+ setIsResponsive = _useState2[1];
105
70
  var _useState3 = (0, _react.useState)(false),
106
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
107
- isMenuVisible = _useState4[0],
108
- setIsMenuVisible = _useState4[1];
109
-
71
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
72
+ isMenuVisible = _useState4[0],
73
+ setIsMenuVisible = _useState4[1];
110
74
  var handleResize = (0, _react.useCallback)(function () {
111
75
  setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches);
112
76
  }, []);
113
-
114
77
  var handleMenu = function handleMenu() {
115
78
  if (isResponsive && !isMenuVisible) {
116
79
  setIsMenuVisible(!isMenuVisible);
@@ -118,7 +81,6 @@ var DxcHeader = function DxcHeader(_ref2) {
118
81
  setIsMenuVisible(!isMenuVisible);
119
82
  }
120
83
  };
121
-
122
84
  var headerLogo = (0, _react.useMemo)(function () {
123
85
  return getLogoElement(colorsTheme.header.logo, translatedLabels.formFields.logoAlternativeText);
124
86
  }, [colorsTheme.header.logo]);
@@ -145,9 +107,7 @@ var DxcHeader = function DxcHeader(_ref2) {
145
107
  tabIndex: onClick ? tabIndex : -1,
146
108
  interactuable: onClick ? true : false,
147
109
  onClick: onClick
148
- }, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, headerLogo)), isResponsive && responsiveContent && /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(ChildContainer, {
149
- padding: padding
150
- }, /*#__PURE__*/_react["default"].createElement(HamburguerTrigger, {
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, {
151
111
  tabIndex: tabIndex,
152
112
  onClick: handleMenu
153
113
  }, hamburgerIcon, translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
@@ -157,34 +117,26 @@ var DxcHeader = function DxcHeader(_ref2) {
157
117
  onClick: handleMenu,
158
118
  "aria-label": translatedLabels.header.closeIcon,
159
119
  title: translatedLabels.header.closeIcon
160
- }, closeIcon)), /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
161
- color: colorsTheme.header.menuBackgroundColor
162
- }, /*#__PURE__*/_react["default"].createElement(Content, {
120
+ }, closeIcon)), /*#__PURE__*/_react["default"].createElement(Content, {
163
121
  isResponsive: isResponsive,
164
122
  responsiveContent: responsiveContent,
165
123
  handleMenu: handleMenu,
166
- padding: padding,
167
124
  content: content
168
- }))), /*#__PURE__*/_react["default"].createElement(Overlay, {
125
+ })), /*#__PURE__*/_react["default"].createElement(Overlay, {
169
126
  onClick: handleMenu,
170
127
  hasVisibility: isMenuVisible
171
- })), !isResponsive && /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
172
- color: colorsTheme.header.backgroundColor
173
- }, /*#__PURE__*/_react["default"].createElement(Content, {
128
+ })), !isResponsive && /*#__PURE__*/_react["default"].createElement(Content, {
174
129
  isResponsive: isResponsive,
175
130
  responsiveContent: responsiveContent,
176
131
  handleMenu: handleMenu,
177
- padding: padding,
178
132
  content: content
179
- }))));
133
+ })));
180
134
  };
181
-
182
135
  DxcHeader.Dropdown = Dropdown;
183
-
184
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) {
185
137
  return props.theme.minHeight;
186
138
  }, function (props) {
187
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
139
+ return props.margin ? _variables.spaces[props.margin] : "0px";
188
140
  }, function (props) {
189
141
  return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
190
142
  }, function (props) {
@@ -192,49 +144,23 @@ var HeaderContainer = _styledComponents["default"].header(_templateObject2 || (_
192
144
  }, function (props) {
193
145
  return props.underlined && "".concat(props.theme.underlinedThickness, " ").concat(props.theme.underlinedStyle, " ").concat(props.theme.underlinedColor);
194
146
  });
195
-
196
147
  var LogoAnchor = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
197
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 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
- 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 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) {
225
- return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
226
- }, function (props) {
227
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
228
- }, function (props) {
229
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
230
- }, function (props) {
231
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
232
- }, function (props) {
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
- });
237
-
238
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) {
@@ -254,10 +180,8 @@ var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 ||
254
180
  }, function (props) {
255
181
  return props.theme.hamburguerFontColor;
256
182
  });
257
-
258
183
  var MainContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-grow: 1;\n"])));
259
-
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) {
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) {
261
185
  return props.theme.menuBackgroundColor;
262
186
  }, function (props) {
263
187
  return props.theme.menuZindex;
@@ -270,24 +194,19 @@ var ResponsiveMenu = _styledComponents["default"].div(_templateObject10 || (_tem
270
194
  }, function (props) {
271
195
  return props.hasVisibility ? "1" : "0.96";
272
196
  });
273
-
274
197
  var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n display: flex;\n"])), function (props) {
275
198
  return props.theme.logoHeight;
276
199
  }, function (props) {
277
200
  return props.theme.logoWidth;
278
201
  });
279
-
280
202
  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
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
205
  });
285
-
286
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) {
287
- return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
207
+ return props.theme.contentColor;
288
208
  });
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) {
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,10 +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";
6
7
  import DxcFlex from "../flex/Flex";
7
8
  import DxcLink from "../link/Link";
9
+ import { HalstackProvider } from "../HalstackContext";
8
10
 
9
11
  export default {
10
12
  title: "Header",
@@ -33,6 +35,21 @@ const options2: any = [
33
35
  },
34
36
  ];
35
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
+
36
53
  export const Chromatic = () => (
37
54
  <>
38
55
  <ExampleContainer>
@@ -95,35 +112,20 @@ export const Chromatic = () => (
95
112
  <DxcHeader underlined margin="xxlarge" />
96
113
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
97
114
  </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" />
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>
127
129
  </ExampleContainer>
128
130
  </>
129
131
  );
@@ -132,8 +134,10 @@ export const ResponsiveHeader = () => (
132
134
  <ExampleContainer>
133
135
  <Title title="Responsive" theme="light" level={4} />
134
136
  <DxcHeader
135
- content={<DxcHeader.Dropdown options={options} label="Default Dropdown" />}
136
- 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
+ )}
137
141
  underlined
138
142
  />
139
143
  </ExampleContainer>
@@ -153,13 +157,29 @@ const RespHeaderHover = () => (
153
157
  </ExampleContainer>
154
158
  );
155
159
 
156
- const RespHeaderMenu = () => (
160
+ const RespHeaderMenuMobile = () => (
161
+ <ExampleContainer>
162
+ <Title title="Responsive menu" theme="light" level={4} />
163
+ <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
164
+ </ExampleContainer>
165
+ );
166
+
167
+ const RespHeaderMenuTablet = () => (
157
168
  <ExampleContainer>
158
169
  <Title title="Responsive menu" theme="light" level={4} />
159
170
  <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
160
171
  </ExampleContainer>
161
172
  );
162
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
+
163
183
  ResponsiveHeader.parameters = {
164
184
  viewport: {
165
185
  defaultViewport: "iphonex",
@@ -191,14 +211,40 @@ ResponsiveHeaderHover.play = async ({ canvasElement }) => {
191
211
  await waitFor(() => canvas.findByText("Menu"));
192
212
  };
193
213
 
194
- export const ResponsiveHeaderMenu = RespHeaderMenu.bind({});
195
- ResponsiveHeaderMenu.parameters = {
214
+ export const ResponsiveHeaderMenuMobile = RespHeaderMenuMobile.bind({});
215
+ ResponsiveHeaderMenuMobile.parameters = {
196
216
  viewport: {
197
217
  defaultViewport: "iphonex",
198
218
  },
199
219
  chromatic: { viewports: [375] },
200
220
  };
201
- ResponsiveHeaderMenu.play = async ({ canvasElement }) => {
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
+ },
245
+ chromatic: { viewports: [720] },
246
+ };
247
+ ResponsiveHeaderMenuOpinionated.play = async ({ canvasElement }) => {
202
248
  const canvas = within(canvasElement);
203
249
  await waitFor(() => canvas.findByText("Menu"));
204
250
  await userEvent.click(canvas.getByText("Menu"));
@@ -1,13 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _react = _interopRequireDefault(require("react"));
6
-
7
5
  var _react2 = require("@testing-library/react");
8
-
9
- var _Header = _interopRequireDefault(require("./Header"));
10
-
6
+ var _Header = _interopRequireDefault(require("./Header.tsx"));
11
7
  describe("Header component tests", function () {
12
8
  beforeAll(function () {
13
9
  Object.defineProperty(window, "matchMedia", {
@@ -21,22 +17,17 @@ describe("Header component tests", function () {
21
17
  });
22
18
  test("Header renders with default logo", function () {
23
19
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], null)),
24
- getByTitle = _render.getByTitle;
25
-
20
+ getByTitle = _render.getByTitle;
26
21
  expect(getByTitle("DXC Logo")).toBeTruthy();
27
22
  });
28
23
  test("Call correct function on logo click", function () {
29
24
  var onClick = jest.fn();
30
-
31
25
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
32
- onClick: onClick
33
- })),
34
- getByTitle = _render2.getByTitle;
35
-
26
+ onClick: onClick
27
+ })),
28
+ getByTitle = _render2.getByTitle;
36
29
  var logo = getByTitle("DXC Logo");
37
-
38
30
  _react2.fireEvent.click(logo);
39
-
40
31
  expect(onClick).toHaveBeenCalled();
41
32
  });
42
33
  test("Header renders with correct children", function () {
@@ -45,12 +36,10 @@ describe("Header component tests", function () {
45
36
  configurable: true,
46
37
  value: 1024
47
38
  });
48
-
49
39
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
50
- content: /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text")
51
- })),
52
- getByText = _render3.getByText;
53
-
40
+ content: /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text")
41
+ })),
42
+ getByText = _render3.getByText;
54
43
  expect(getByText("header-child-text")).toBeTruthy();
55
44
  });
56
45
  test("Header renders menu button in mobile", function () {
@@ -66,14 +55,12 @@ describe("Header component tests", function () {
66
55
  };
67
56
  })
68
57
  });
69
-
70
58
  var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
71
- responsiveContent: function responsiveContent(closeMenu) {
72
- return /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text");
73
- }
74
- })),
75
- getByText = _render4.getByText;
76
-
59
+ responsiveContent: function responsiveContent() {
60
+ return /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text");
61
+ }
62
+ })),
63
+ getByText = _render4.getByText;
77
64
  expect(getByText("Menu")).toBeTruthy();
78
65
  });
79
66
  });
package/header/Icons.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- /// <reference types="react" />
2
- export declare const dxcLogo: JSX.Element;
1
+ import React from "react";
2
+ export declare const dxcLogo: React.JSX.Element;
package/header/Icons.js CHANGED
@@ -1,15 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.dxcLogo = void 0;
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
- var dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
9
+ var dxcLogo = exports.dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
13
10
  xmlns: "http://www.w3.org/2000/svg",
14
11
  width: "73",
15
12
  height: "40",
@@ -29,6 +26,4 @@ var dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
29
26
  d: "M75.836-76.712a8.975,8.975,0,0,1,2.246-3.9,8.393,8.393,0,0,1,6.058-2.457h9.824v-5.67H84.139a14.611,14.611,0,0,0-10.232,4.221,14.509,14.509,0,0,0-3.076,4.536,11.913,11.913,0,0,0-.973,3.271Zm0,4.325a8.978,8.978,0,0,0,2.246,3.9,8.394,8.394,0,0,0,6.058,2.457h9.824v5.67H84.139A14.611,14.611,0,0,1,73.907-64.58a14.506,14.506,0,0,1-3.076-4.536,11.91,11.91,0,0,1-.973-3.271ZM57.522-69.832l-7.5,9.473H42.581L53.818-74.55,42.581-88.739H50.02l7.5,9.472,7.5-9.472h7.439L61.225-74.55l11.237,14.19H65.023Zm-12.336-6.88a11.935,11.935,0,0,0-.973-3.271,14.515,14.515,0,0,0-3.076-4.536A14.612,14.612,0,0,0,30.9-88.739H21.081v5.67H30.9a8.394,8.394,0,0,1,6.058,2.457,8.978,8.978,0,0,1,2.246,3.9Zm0,4.325a11.932,11.932,0,0,1-.973,3.271,14.511,14.511,0,0,1-3.076,4.536A14.611,14.611,0,0,1,30.9-60.359H21.081v-5.67H30.9a8.4,8.4,0,0,0,6.058-2.457,8.981,8.981,0,0,0,2.246-3.9h5.978",
30
27
  transform: "translate(-21.049 88.739)",
31
28
  fill: "#603494"
32
- }))));
33
-
34
- exports.dxcLogo = dxcLogo;
29
+ }))));
package/header/types.d.ts CHANGED
@@ -1,24 +1,18 @@
1
1
  /// <reference types="react" />
2
- export declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- export declare type Padding = {
4
- top?: Space;
5
- bottom?: Space;
6
- left?: Space;
7
- right?: Space;
8
- };
9
- declare type Props = {
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Props = {
10
4
  /**
11
- * Wether a contrast line should appear at the bottom of the header.
5
+ * Whether a contrast line should appear at the bottom of the header.
12
6
  */
13
7
  underlined?: boolean;
14
8
  /**
15
- * Content showed in the header. Take into account that the component applies styles
9
+ * Content shown in the header. Take into account that the component applies styles
16
10
  * for the first child in the content, so we recommend the use of React.Fragment
17
11
  * to be applied correctly. Otherwise, the styles can be modified.
18
12
  */
19
13
  content?: React.ReactNode;
20
14
  /**
21
- * Content showed in responsive version. It receives the close menu handler that can
15
+ * Content shown in responsive version. It receives the close menu handler that can
22
16
  * be used to add that functionality when a element is clicked.
23
17
  */
24
18
  responsiveContent?: (closeHandler: () => void) => React.ReactNode;
@@ -27,20 +21,11 @@ declare type Props = {
27
21
  */
28
22
  onClick?: () => void;
29
23
  /**
30
- * Size of the bottom margin to be applied to the header
31
- * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
24
+ * Size of the bottom margin to be applied to the header.
32
25
  */
33
26
  margin?: Space;
34
27
  /**
35
- * @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
36
- * Size of the padding to be applied to the custom area of the component
37
- * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
38
- * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in
39
- * order to specify different padding sizes.
40
- */
41
- padding?: Space | Padding;
42
- /**
43
- * Value of the tabindex for all interactuable elements, except those inside the
28
+ * Value of the tabindex for all interactive elements, except those inside the
44
29
  * custom area.
45
30
  */
46
31
  tabIndex?: number;