@dxc-technology/halstack-react 0.0.0-e1386cf → 0.0.0-e19ca5f

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 (385) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1240 -6
  4. package/HalstackContext.js +122 -106
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +1 -1
  8. package/accordion/Accordion.js +44 -118
  9. package/accordion/Accordion.stories.tsx +82 -147
  10. package/accordion/Accordion.test.js +19 -34
  11. package/accordion/types.d.ts +6 -18
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +2 -2
  14. package/accordion-group/AccordionGroup.js +29 -77
  15. package/accordion-group/AccordionGroup.stories.tsx +78 -77
  16. package/accordion-group/AccordionGroup.test.js +44 -72
  17. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  18. package/accordion-group/AccordionGroupAccordion.js +31 -0
  19. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  20. package/accordion-group/AccordionGroupContext.js +8 -0
  21. package/accordion-group/types.d.ts +7 -19
  22. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  23. package/action-icon/ActionIcon.d.ts +4 -0
  24. package/action-icon/ActionIcon.js +48 -0
  25. package/action-icon/ActionIcon.stories.tsx +41 -0
  26. package/action-icon/ActionIcon.test.js +64 -0
  27. package/action-icon/types.d.ts +26 -0
  28. package/alert/Alert.accessibility.test.js +95 -0
  29. package/alert/Alert.js +36 -126
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +29 -46
  32. package/alert/types.d.ts +5 -5
  33. package/badge/Badge.accessibility.test.js +129 -0
  34. package/badge/Badge.d.ts +1 -1
  35. package/badge/Badge.js +142 -42
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +52 -3
  39. package/bleed/Bleed.js +13 -21
  40. package/bleed/Bleed.stories.tsx +1 -0
  41. package/bleed/types.d.ts +2 -2
  42. package/box/Box.accessibility.test.js +33 -0
  43. package/box/Box.d.ts +1 -1
  44. package/box/Box.js +18 -59
  45. package/box/Box.stories.tsx +38 -51
  46. package/box/Box.test.js +2 -7
  47. package/box/types.d.ts +3 -15
  48. package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
  49. package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
  50. package/breadcrumbs/Breadcrumbs.d.ts +4 -0
  51. package/breadcrumbs/Breadcrumbs.js +79 -0
  52. package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
  53. package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
  54. package/breadcrumbs/Breadcrumbs.test.js +169 -0
  55. package/breadcrumbs/Item.d.ts +4 -0
  56. package/breadcrumbs/Item.js +52 -0
  57. package/breadcrumbs/dropdownTheme.d.ts +53 -0
  58. package/breadcrumbs/dropdownTheme.js +62 -0
  59. package/breadcrumbs/types.d.ts +16 -0
  60. package/bulleted-list/BulletedList.accessibility.test.js +119 -0
  61. package/bulleted-list/BulletedList.js +22 -53
  62. package/bulleted-list/BulletedList.stories.tsx +8 -93
  63. package/bulleted-list/types.d.ts +32 -5
  64. package/button/Button.accessibility.test.js +127 -0
  65. package/button/Button.d.ts +1 -1
  66. package/button/Button.js +71 -106
  67. package/button/Button.stories.tsx +143 -101
  68. package/button/Button.test.js +20 -17
  69. package/button/types.d.ts +9 -5
  70. package/card/Card.accessibility.test.js +36 -0
  71. package/card/Card.d.ts +1 -1
  72. package/card/Card.js +49 -89
  73. package/card/Card.stories.tsx +12 -42
  74. package/card/Card.test.js +11 -22
  75. package/card/types.d.ts +6 -12
  76. package/checkbox/Checkbox.accessibility.test.js +87 -0
  77. package/checkbox/Checkbox.js +90 -125
  78. package/checkbox/Checkbox.stories.tsx +68 -54
  79. package/checkbox/Checkbox.test.js +108 -64
  80. package/checkbox/types.d.ts +8 -4
  81. package/chip/Chip.accessibility.test.js +67 -0
  82. package/chip/Chip.js +45 -80
  83. package/chip/Chip.stories.tsx +107 -27
  84. package/chip/Chip.test.js +18 -33
  85. package/chip/types.d.ts +4 -4
  86. package/common/coreTokens.d.ts +237 -0
  87. package/common/coreTokens.js +184 -0
  88. package/common/utils.d.ts +1 -0
  89. package/common/utils.js +6 -12
  90. package/common/variables.d.ts +1392 -0
  91. package/common/variables.js +969 -1213
  92. package/container/Container.d.ts +4 -0
  93. package/container/Container.js +194 -0
  94. package/container/Container.stories.tsx +214 -0
  95. package/container/types.d.ts +74 -0
  96. package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
  97. package/contextual-menu/ContextualMenu.d.ts +5 -0
  98. package/contextual-menu/ContextualMenu.js +88 -0
  99. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  100. package/contextual-menu/ContextualMenu.test.js +205 -0
  101. package/contextual-menu/GroupItem.d.ts +4 -0
  102. package/contextual-menu/GroupItem.js +67 -0
  103. package/contextual-menu/ItemAction.d.ts +4 -0
  104. package/contextual-menu/ItemAction.js +51 -0
  105. package/contextual-menu/MenuItem.d.ts +4 -0
  106. package/contextual-menu/MenuItem.js +29 -0
  107. package/contextual-menu/SingleItem.d.ts +4 -0
  108. package/contextual-menu/SingleItem.js +38 -0
  109. package/contextual-menu/types.d.ts +58 -0
  110. package/contextual-menu/types.js +5 -0
  111. package/date-input/Calendar.d.ts +4 -0
  112. package/date-input/Calendar.js +214 -0
  113. package/date-input/DateInput.accessibility.test.js +228 -0
  114. package/date-input/DateInput.js +149 -299
  115. package/date-input/DateInput.stories.tsx +210 -56
  116. package/date-input/DateInput.test.js +694 -429
  117. package/date-input/DatePicker.d.ts +4 -0
  118. package/date-input/DatePicker.js +121 -0
  119. package/date-input/YearPicker.d.ts +4 -0
  120. package/date-input/YearPicker.js +100 -0
  121. package/date-input/types.d.ts +72 -15
  122. package/dialog/Dialog.accessibility.test.js +69 -0
  123. package/dialog/Dialog.d.ts +1 -1
  124. package/dialog/Dialog.js +51 -120
  125. package/dialog/Dialog.stories.tsx +316 -212
  126. package/dialog/Dialog.test.js +270 -33
  127. package/dialog/types.d.ts +18 -26
  128. package/divider/Divider.accessibility.test.js +33 -0
  129. package/divider/Divider.d.ts +4 -0
  130. package/divider/Divider.js +36 -0
  131. package/divider/Divider.stories.tsx +223 -0
  132. package/divider/Divider.test.js +38 -0
  133. package/divider/types.d.ts +21 -0
  134. package/divider/types.js +5 -0
  135. package/dropdown/Dropdown.accessibility.test.js +180 -0
  136. package/dropdown/Dropdown.js +66 -136
  137. package/dropdown/Dropdown.stories.tsx +209 -94
  138. package/dropdown/Dropdown.test.js +404 -390
  139. package/dropdown/DropdownMenu.js +23 -40
  140. package/dropdown/DropdownMenuItem.js +17 -38
  141. package/dropdown/types.d.ts +20 -24
  142. package/file-input/FileInput.accessibility.test.js +160 -0
  143. package/file-input/FileInput.js +184 -292
  144. package/file-input/FileInput.stories.tsx +86 -3
  145. package/file-input/FileInput.test.js +279 -395
  146. package/file-input/FileItem.js +31 -67
  147. package/file-input/types.d.ts +10 -10
  148. package/flex/Flex.js +27 -39
  149. package/flex/Flex.stories.tsx +35 -26
  150. package/flex/types.d.ts +74 -9
  151. package/footer/Footer.accessibility.test.js +125 -0
  152. package/footer/Footer.d.ts +1 -1
  153. package/footer/Footer.js +73 -118
  154. package/footer/Footer.stories.tsx +94 -23
  155. package/footer/Footer.test.js +33 -57
  156. package/footer/Icons.d.ts +3 -2
  157. package/footer/Icons.js +53 -22
  158. package/footer/types.d.ts +26 -28
  159. package/grid/Grid.d.ts +7 -0
  160. package/grid/Grid.js +76 -0
  161. package/grid/Grid.stories.tsx +219 -0
  162. package/grid/types.d.ts +115 -0
  163. package/grid/types.js +5 -0
  164. package/header/Header.accessibility.test.js +93 -0
  165. package/header/Header.d.ts +4 -3
  166. package/header/Header.js +55 -150
  167. package/header/Header.stories.tsx +130 -35
  168. package/header/Header.test.js +13 -26
  169. package/header/Icons.d.ts +2 -2
  170. package/header/Icons.js +3 -13
  171. package/header/types.d.ts +7 -22
  172. package/heading/Heading.accessibility.test.js +33 -0
  173. package/heading/Heading.js +10 -32
  174. package/heading/Heading.test.js +71 -88
  175. package/heading/types.d.ts +7 -7
  176. package/icon/Icon.accessibility.test.js +30 -0
  177. package/icon/Icon.d.ts +4 -0
  178. package/icon/Icon.js +33 -0
  179. package/icon/Icon.stories.tsx +28 -0
  180. package/icon/types.d.ts +4 -0
  181. package/icon/types.js +5 -0
  182. package/image/Image.accessibility.test.js +56 -0
  183. package/image/Image.d.ts +4 -0
  184. package/image/Image.js +70 -0
  185. package/image/Image.stories.tsx +129 -0
  186. package/image/types.d.ts +72 -0
  187. package/image/types.js +5 -0
  188. package/inset/Inset.js +13 -21
  189. package/inset/Inset.stories.tsx +2 -1
  190. package/inset/types.d.ts +2 -2
  191. package/layout/ApplicationLayout.d.ts +5 -5
  192. package/layout/ApplicationLayout.js +36 -70
  193. package/layout/ApplicationLayout.stories.tsx +1 -1
  194. package/layout/Icons.d.ts +7 -5
  195. package/layout/Icons.js +41 -59
  196. package/layout/types.d.ts +5 -6
  197. package/link/Link.accessibility.test.js +108 -0
  198. package/link/Link.js +31 -50
  199. package/link/Link.stories.tsx +64 -4
  200. package/link/Link.test.js +24 -44
  201. package/link/types.d.ts +14 -14
  202. package/main.d.ts +11 -5
  203. package/main.js +54 -59
  204. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  205. package/nav-tabs/NavTabs.d.ts +7 -0
  206. package/{tabs-nav → nav-tabs}/NavTabs.js +25 -57
  207. package/nav-tabs/NavTabs.stories.tsx +279 -0
  208. package/nav-tabs/NavTabs.test.js +77 -0
  209. package/nav-tabs/NavTabsContext.d.ts +3 -0
  210. package/nav-tabs/NavTabsContext.js +8 -0
  211. package/nav-tabs/Tab.js +117 -0
  212. package/{tabs-nav → nav-tabs}/types.d.ts +15 -16
  213. package/nav-tabs/types.js +5 -0
  214. package/number-input/NumberInput.accessibility.test.js +228 -0
  215. package/number-input/NumberInput.js +46 -36
  216. package/number-input/NumberInput.stories.tsx +42 -26
  217. package/number-input/NumberInput.test.js +860 -413
  218. package/number-input/NumberInputContext.d.ts +3 -4
  219. package/number-input/NumberInputContext.js +3 -14
  220. package/number-input/types.d.ts +17 -5
  221. package/package.json +43 -46
  222. package/paginator/Paginator.accessibility.test.js +79 -0
  223. package/paginator/Paginator.js +34 -67
  224. package/paginator/Paginator.stories.tsx +24 -0
  225. package/paginator/Paginator.test.js +252 -225
  226. package/paginator/types.d.ts +3 -3
  227. package/paragraph/Paragraph.accessibility.test.js +28 -0
  228. package/paragraph/Paragraph.d.ts +3 -4
  229. package/paragraph/Paragraph.js +6 -22
  230. package/paragraph/Paragraph.stories.tsx +0 -17
  231. package/password-input/PasswordInput.accessibility.test.js +153 -0
  232. package/password-input/PasswordInput.js +58 -127
  233. package/password-input/PasswordInput.stories.tsx +1 -33
  234. package/password-input/PasswordInput.test.js +158 -141
  235. package/password-input/types.d.ts +8 -7
  236. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  237. package/progress-bar/ProgressBar.d.ts +2 -2
  238. package/progress-bar/ProgressBar.js +28 -58
  239. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
  240. package/progress-bar/ProgressBar.test.js +36 -53
  241. package/progress-bar/types.d.ts +4 -3
  242. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  243. package/quick-nav/QuickNav.js +4 -27
  244. package/quick-nav/QuickNav.stories.tsx +15 -1
  245. package/quick-nav/types.d.ts +10 -10
  246. package/radio-group/Radio.d.ts +1 -1
  247. package/radio-group/Radio.js +31 -63
  248. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  249. package/radio-group/RadioGroup.js +46 -93
  250. package/radio-group/RadioGroup.stories.tsx +131 -18
  251. package/radio-group/RadioGroup.test.js +505 -471
  252. package/radio-group/types.d.ts +8 -8
  253. package/resultset-table/Icons.d.ts +7 -0
  254. package/{text-input → resultset-table}/Icons.js +13 -26
  255. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  256. package/resultset-table/ResultsetTable.d.ts +7 -0
  257. package/resultset-table/ResultsetTable.js +171 -0
  258. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +168 -30
  259. package/resultset-table/ResultsetTable.test.js +381 -0
  260. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  261. package/resultset-table/types.js +5 -0
  262. package/select/Listbox.d.ts +1 -1
  263. package/select/Listbox.js +43 -86
  264. package/select/Option.js +35 -56
  265. package/select/Select.accessibility.test.js +228 -0
  266. package/select/Select.js +140 -183
  267. package/select/Select.stories.tsx +496 -204
  268. package/select/Select.test.js +1949 -1917
  269. package/select/types.d.ts +17 -18
  270. package/sidenav/Sidenav.accessibility.test.js +59 -0
  271. package/sidenav/Sidenav.d.ts +2 -2
  272. package/sidenav/Sidenav.js +90 -157
  273. package/sidenav/Sidenav.stories.tsx +160 -63
  274. package/sidenav/Sidenav.test.js +3 -10
  275. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  276. package/{layout → sidenav}/SidenavContext.js +3 -9
  277. package/sidenav/types.d.ts +33 -30
  278. package/slider/Slider.accessibility.test.js +104 -0
  279. package/slider/Slider.js +75 -132
  280. package/slider/Slider.test.js +108 -104
  281. package/slider/types.d.ts +4 -4
  282. package/spinner/Spinner.accessibility.test.js +96 -0
  283. package/spinner/Spinner.js +34 -74
  284. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  285. package/spinner/Spinner.test.js +26 -35
  286. package/spinner/types.d.ts +3 -3
  287. package/status-light/StatusLight.accessibility.test.js +157 -0
  288. package/status-light/StatusLight.d.ts +4 -0
  289. package/status-light/StatusLight.js +51 -0
  290. package/status-light/StatusLight.stories.tsx +74 -0
  291. package/status-light/StatusLight.test.js +25 -0
  292. package/status-light/types.d.ts +17 -0
  293. package/status-light/types.js +5 -0
  294. package/switch/Switch.accessibility.test.js +98 -0
  295. package/switch/Switch.js +52 -100
  296. package/switch/Switch.stories.tsx +45 -34
  297. package/switch/Switch.test.js +52 -97
  298. package/switch/types.d.ts +4 -4
  299. package/table/DropdownTheme.js +62 -0
  300. package/table/Table.accessibility.test.js +93 -0
  301. package/table/Table.d.ts +6 -2
  302. package/table/Table.js +78 -35
  303. package/table/Table.stories.tsx +663 -0
  304. package/table/Table.test.js +94 -7
  305. package/table/types.d.ts +34 -6
  306. package/tabs/Tab.js +28 -46
  307. package/tabs/Tabs.accessibility.test.js +56 -0
  308. package/tabs/Tabs.js +69 -163
  309. package/tabs/Tabs.stories.tsx +50 -6
  310. package/tabs/Tabs.test.js +61 -136
  311. package/tabs/types.d.ts +21 -21
  312. package/tag/Tag.accessibility.test.js +69 -0
  313. package/tag/Tag.js +34 -66
  314. package/tag/Tag.stories.tsx +18 -8
  315. package/tag/Tag.test.js +18 -37
  316. package/tag/types.d.ts +9 -9
  317. package/text-input/Suggestion.js +35 -25
  318. package/text-input/Suggestions.d.ts +1 -1
  319. package/text-input/Suggestions.js +30 -70
  320. package/text-input/TextInput.accessibility.test.js +321 -0
  321. package/text-input/TextInput.js +229 -335
  322. package/text-input/TextInput.stories.tsx +155 -162
  323. package/text-input/TextInput.test.js +1289 -1157
  324. package/text-input/types.d.ts +25 -17
  325. package/textarea/Textarea.accessibility.test.js +155 -0
  326. package/textarea/Textarea.js +71 -113
  327. package/textarea/Textarea.stories.tsx +174 -0
  328. package/textarea/Textarea.test.js +152 -183
  329. package/textarea/types.d.ts +9 -5
  330. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  331. package/toggle-group/ToggleGroup.d.ts +2 -2
  332. package/toggle-group/ToggleGroup.js +94 -107
  333. package/toggle-group/ToggleGroup.stories.tsx +52 -7
  334. package/toggle-group/ToggleGroup.test.js +69 -88
  335. package/toggle-group/types.d.ts +28 -19
  336. package/typography/Typography.accessibility.test.js +339 -0
  337. package/typography/Typography.d.ts +2 -2
  338. package/typography/Typography.js +15 -123
  339. package/typography/Typography.stories.tsx +1 -1
  340. package/typography/types.d.ts +1 -1
  341. package/useTheme.d.ts +1144 -1
  342. package/useTheme.js +2 -9
  343. package/useTranslatedLabels.d.ts +84 -1
  344. package/useTranslatedLabels.js +1 -7
  345. package/utils/BaseTypography.d.ts +21 -0
  346. package/utils/BaseTypography.js +94 -0
  347. package/utils/FocusLock.d.ts +13 -0
  348. package/utils/FocusLock.js +124 -0
  349. package/wizard/Wizard.accessibility.test.js +55 -0
  350. package/wizard/Wizard.js +29 -75
  351. package/wizard/Wizard.stories.tsx +39 -0
  352. package/wizard/Wizard.test.js +54 -81
  353. package/wizard/types.d.ts +10 -11
  354. package/card/ice-cream.jpg +0 -0
  355. package/common/OpenSans.css +0 -81
  356. package/common/RequiredComponent.js +0 -32
  357. package/common/fonts/OpenSans-Bold.ttf +0 -0
  358. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  359. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  360. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  361. package/common/fonts/OpenSans-Italic.ttf +0 -0
  362. package/common/fonts/OpenSans-Light.ttf +0 -0
  363. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  364. package/common/fonts/OpenSans-Regular.ttf +0 -0
  365. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  366. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  367. package/number-input/numberInputContextTypes.d.ts +0 -19
  368. package/paginator/Icons.js +0 -66
  369. package/resultsetTable/ResultsetTable.d.ts +0 -4
  370. package/resultsetTable/ResultsetTable.js +0 -252
  371. package/resultsetTable/ResultsetTable.test.js +0 -348
  372. package/select/Icons.d.ts +0 -10
  373. package/select/Icons.js +0 -93
  374. package/slider/Slider.stories.tsx +0 -183
  375. package/table/Table.stories.jsx +0 -277
  376. package/tabs-nav/NavTabs.d.ts +0 -8
  377. package/tabs-nav/NavTabs.stories.tsx +0 -170
  378. package/tabs-nav/NavTabs.test.js +0 -82
  379. package/tabs-nav/Tab.js +0 -130
  380. package/text-input/Icons.d.ts +0 -8
  381. package/textarea/Textarea.stories.jsx +0 -157
  382. /package/{resultsetTable → action-icon}/types.js +0 -0
  383. /package/{tabs-nav → breadcrumbs}/types.js +0 -0
  384. /package/{number-input/numberInputContextTypes.js → container/types.js} +0 -0
  385. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
package/header/Header.js CHANGED
@@ -1,119 +1,64 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
-
18
11
  var _react = _interopRequireWildcard(require("react"));
19
-
20
12
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
-
22
13
  var _Dropdown = _interopRequireDefault(require("../dropdown/Dropdown"));
23
-
24
14
  var _Icons = require("./Icons");
25
-
26
- 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
-
18
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
34
19
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
35
-
36
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
-
38
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
-
40
- var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
41
- xmlns: "http://www.w3.org/2000/svg",
42
- height: "24",
43
- viewBox: "0 0 24 24",
44
- width: "24"
45
- }, /*#__PURE__*/_react["default"].createElement("path", {
46
- 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"
47
- }), /*#__PURE__*/_react["default"].createElement("path", {
48
- d: "M0 0h24v24H0z",
49
- fill: "none"
50
- }));
51
-
52
- var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
53
- xmlns: "http://www.w3.org/2000/svg",
54
- viewBox: "0 0 24 24",
55
- width: "24",
56
- height: "24"
57
- }, /*#__PURE__*/_react["default"].createElement("path", {
58
- 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"
59
- }));
60
-
20
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
21
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.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; }
61
22
  var Dropdown = function Dropdown(props) {
62
23
  return /*#__PURE__*/_react["default"].createElement(HeaderDropdown, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], props));
63
24
  };
64
-
65
- 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"])));
66
-
25
+ var HeaderDropdown = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n button {\n background-color: transparent;\n :hover {\n background-color: transparent;\n }\n }\n"])));
67
26
  var getLogoElement = function getLogoElement(themeInput, logoLabel) {
68
27
  if (!themeInput) return _Icons.dxcLogo;else if (typeof themeInput === "string") return /*#__PURE__*/_react["default"].createElement(LogoImg, {
69
28
  alt: logoLabel,
70
29
  src: themeInput
71
30
  });else return themeInput;
72
31
  };
73
-
74
32
  var Content = function Content(_ref) {
75
33
  var isResponsive = _ref.isResponsive,
76
- responsiveContent = _ref.responsiveContent,
77
- handleMenu = _ref.handleMenu,
78
- padding = _ref.padding,
79
- content = _ref.content;
80
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
81
- return isResponsive ? /*#__PURE__*/_react["default"].createElement(MenuContent, {
82
- backgroundType: backgroundType
83
- }, responsiveContent(handleMenu)) : /*#__PURE__*/_react["default"].createElement(ContentContainer, {
84
- padding: padding,
85
- backgroundType: backgroundType
86
- }, content);
34
+ responsiveContent = _ref.responsiveContent,
35
+ handleMenu = _ref.handleMenu,
36
+ content = _ref.content;
37
+ return isResponsive ? /*#__PURE__*/_react["default"].createElement(MenuContent, null, responsiveContent(handleMenu)) : /*#__PURE__*/_react["default"].createElement(ContentContainer, null, content);
87
38
  };
88
-
89
39
  var DxcHeader = function DxcHeader(_ref2) {
90
40
  var _ref2$underlined = _ref2.underlined,
91
- underlined = _ref2$underlined === void 0 ? false : _ref2$underlined,
92
- content = _ref2.content,
93
- responsiveContent = _ref2.responsiveContent,
94
- onClick = _ref2.onClick,
95
- margin = _ref2.margin,
96
- padding = _ref2.padding,
97
- _ref2$tabIndex = _ref2.tabIndex,
98
- tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;
41
+ underlined = _ref2$underlined === void 0 ? false : _ref2$underlined,
42
+ content = _ref2.content,
43
+ responsiveContent = _ref2.responsiveContent,
44
+ onClick = _ref2.onClick,
45
+ margin = _ref2.margin,
46
+ _ref2$tabIndex = _ref2.tabIndex,
47
+ tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;
99
48
  var colorsTheme = (0, _useTheme["default"])();
100
49
  var translatedLabels = (0, _useTranslatedLabels["default"])();
101
50
  var ref = (0, _react.useRef)(null);
102
-
103
51
  var _useState = (0, _react.useState)(false),
104
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
105
- isResponsive = _useState2[0],
106
- setIsResponsive = _useState2[1];
107
-
52
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
53
+ isResponsive = _useState2[0],
54
+ setIsResponsive = _useState2[1];
108
55
  var _useState3 = (0, _react.useState)(false),
109
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
110
- isMenuVisible = _useState4[0],
111
- setIsMenuVisible = _useState4[1];
112
-
113
- var handleResize = function handleResize() {
56
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
57
+ isMenuVisible = _useState4[0],
58
+ setIsMenuVisible = _useState4[1];
59
+ var handleResize = (0, _react.useCallback)(function () {
114
60
  setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches);
115
- };
116
-
61
+ }, []);
117
62
  var handleMenu = function handleMenu() {
118
63
  if (isResponsive && !isMenuVisible) {
119
64
  setIsMenuVisible(!isMenuVisible);
@@ -121,7 +66,6 @@ var DxcHeader = function DxcHeader(_ref2) {
121
66
  setIsMenuVisible(!isMenuVisible);
122
67
  }
123
68
  };
124
-
125
69
  var headerLogo = (0, _react.useMemo)(function () {
126
70
  return getLogoElement(colorsTheme.header.logo, translatedLabels.formFields.logoAlternativeText);
127
71
  }, [colorsTheme.header.logo]);
@@ -134,7 +78,7 @@ var DxcHeader = function DxcHeader(_ref2) {
134
78
  return function () {
135
79
  window.removeEventListener("resize", handleResize);
136
80
  };
137
- }, []);
81
+ }, [handleResize]);
138
82
  (0, _react.useEffect)(function () {
139
83
  !isResponsive && setIsMenuVisible(false);
140
84
  }, [isResponsive]);
@@ -148,96 +92,66 @@ var DxcHeader = function DxcHeader(_ref2) {
148
92
  tabIndex: onClick ? tabIndex : -1,
149
93
  interactuable: onClick ? true : false,
150
94
  onClick: onClick
151
- }, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, headerLogo)), isResponsive && responsiveContent && /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(ChildContainer, {
152
- padding: padding
153
- }, /*#__PURE__*/_react["default"].createElement(HamburguerTrigger, {
95
+ }, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, headerLogo)), isResponsive && responsiveContent && /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(ChildContainer, null, /*#__PURE__*/_react["default"].createElement(HamburguerTrigger, {
154
96
  tabIndex: tabIndex,
155
- onClick: handleMenu
156
- }, hamburgerIcon, translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
97
+ onClick: handleMenu,
98
+ "aria-label": "Show options"
99
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
100
+ icon: "menu"
101
+ }), translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
157
102
  hasVisibility: isMenuVisible
158
103
  }, /*#__PURE__*/_react["default"].createElement(ResponsiveIconsContainer, null, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(CloseAction, {
159
104
  tabIndex: tabIndex,
160
105
  onClick: handleMenu,
161
- "aria-label": translatedLabels.header.closeIcon
162
- }, closeIcon)), /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
163
- color: colorsTheme.header.menuBackgroundColor
164
- }, /*#__PURE__*/_react["default"].createElement(Content, {
106
+ "aria-label": translatedLabels.header.closeIcon,
107
+ title: translatedLabels.header.closeIcon
108
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
109
+ icon: "close"
110
+ }))), /*#__PURE__*/_react["default"].createElement(Content, {
165
111
  isResponsive: isResponsive,
166
112
  responsiveContent: responsiveContent,
167
113
  handleMenu: handleMenu,
168
- padding: padding,
169
114
  content: content
170
- }))), /*#__PURE__*/_react["default"].createElement(Overlay, {
115
+ })), /*#__PURE__*/_react["default"].createElement(Overlay, {
171
116
  onClick: handleMenu,
172
117
  hasVisibility: isMenuVisible
173
- })), !isResponsive && /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
174
- color: colorsTheme.header.backgroundColor
175
- }, /*#__PURE__*/_react["default"].createElement(Content, {
118
+ })), !isResponsive && /*#__PURE__*/_react["default"].createElement(Content, {
176
119
  isResponsive: isResponsive,
177
120
  responsiveContent: responsiveContent,
178
121
  handleMenu: handleMenu,
179
- padding: padding,
180
122
  content: content
181
- }))));
123
+ })));
182
124
  };
183
-
184
125
  DxcHeader.Dropdown = Dropdown;
185
-
186
- var HeaderContainer = _styledComponents["default"].header(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: ", ";\n padding: ", ";\n background-color: ", ";\n border-bottom: ", ";\n min-height: ", ";\n box-shadow: none;\n display: flex;\n align-items: center;\n flex-direction: row;\n justify-content: space-between;\n box-sizing: border-box;\n"])), function (props) {
187
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
126
+ 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) {
127
+ return props.theme.minHeight;
128
+ }, function (props) {
129
+ return props.margin ? _variables.spaces[props.margin] : "0px";
188
130
  }, function (props) {
189
131
  return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
190
132
  }, function (props) {
191
133
  return props.theme.backgroundColor;
192
134
  }, function (props) {
193
135
  return props.underlined && "".concat(props.theme.underlinedThickness, " ").concat(props.theme.underlinedStyle, " ").concat(props.theme.underlinedColor);
194
- }, function (props) {
195
- return props.theme.minHeight;
196
136
  });
197
-
198
137
  var LogoAnchor = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
199
- return props.interactuable ? "cursor: pointer" : "cursor: default; outline:none";
138
+ return props.interactuable ? "cursor: pointer" : "cursor: default; outline:none;";
200
139
  });
201
-
202
140
  var LogoImg = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
203
141
  return props.theme.logoHeight;
204
142
  }, function (props) {
205
143
  return props.theme.logoWidth;
206
144
  });
207
-
208
145
  var LogoContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n vertical-align: middle;\n"])), function (props) {
209
146
  return props.theme.logoHeight;
210
147
  }, function (props) {
211
148
  return props.theme.logoWidth;
212
149
  });
213
-
214
- 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) {
215
- return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
216
- }, function (props) {
217
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
218
- }, function (props) {
219
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
220
- }, function (props) {
221
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
222
- }, function (props) {
223
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
150
+ 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"])));
151
+ var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n flex-grow: 1;\n justify-content: flex-end;\n width: calc(100% - 186px);\n color: ", ";\n"])), function (props) {
152
+ return props.theme.contentColor;
224
153
  });
225
-
226
- 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) {
227
- return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
228
- }, function (props) {
229
- return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
230
- }, function (props) {
231
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
232
- }, function (props) {
233
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
234
- }, function (props) {
235
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
236
- }, function (props) {
237
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
238
- });
239
-
240
- var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 54px;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: 2px;\n background-color: transparent;\n :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
154
+ var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 54px;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: 2px;\n background-color: transparent;\n :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n & > span {\n font-size: 24px;\n }\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
241
155
  return props.theme.hamburguerHoverColor;
242
156
  }, function (props) {
243
157
  return props.theme.hamburguerFocusColor;
@@ -256,10 +170,8 @@ var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 ||
256
170
  }, function (props) {
257
171
  return props.theme.hamburguerFontColor;
258
172
  });
259
-
260
173
  var MainContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-grow: 1;\n"])));
261
-
262
- 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) {
174
+ 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
175
  return props.theme.menuBackgroundColor;
264
176
  }, function (props) {
265
177
  return props.theme.menuZindex;
@@ -272,24 +184,19 @@ var ResponsiveMenu = _styledComponents["default"].div(_templateObject10 || (_tem
272
184
  }, function (props) {
273
185
  return props.hasVisibility ? "1" : "0.96";
274
186
  });
275
-
276
187
  var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n display: flex;\n"])), function (props) {
277
188
  return props.theme.logoHeight;
278
189
  }, function (props) {
279
190
  return props.theme.logoWidth;
280
191
  });
281
-
282
192
  var ResponsiveIconsContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n"])));
283
-
284
- var CloseAction = _styledComponents["default"].button(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n padding: 6px;\n height: 36px;\n width: 36px;\n border: 1px solid transparent;\n border-radius: 2px;\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n background-color: transparent;\n :focus,\n :focus-visible {\n outline: ", " auto 1px;\n }\n"])), function (props) {
193
+ var CloseAction = _styledComponents["default"].button(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: center;\n align-content: center;\n padding: 6px;\n border: unset;\n border-radius: 2px;\n background-color: transparent;\n cursor: pointer;\n\n :focus,\n :focus-visible {\n outline: ", " auto 1px;\n }\n font-size: 24px;\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
285
194
  return props.theme.hamburguerFocusColor;
286
195
  });
287
-
288
- var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n color: ", ";\n"])), function (props) {
289
- return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
196
+ var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n height: 100%;\n color: ", ";\n"])), function (props) {
197
+ return props.theme.contentColor;
290
198
  });
291
-
292
- var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: ", ";\n opacity: ", " !important;\n visibility: ", ";\n opacity: ", ";\n\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) {
199
+ 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) {
293
200
  return props.theme.overlayColor;
294
201
  }, function (props) {
295
202
  return props.theme.overlayOpacity;
@@ -300,6 +207,4 @@ var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateOb
300
207
  }, _variables.responsiveSizes.small, function (props) {
301
208
  return props.theme.overlayZindex;
302
209
  });
303
-
304
- var _default = DxcHeader;
305
- exports["default"] = _default;
210
+ var _default = exports["default"] = DxcHeader;
@@ -1,12 +1,32 @@
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";
10
+ import { INITIAL_VIEWPORTS } from "@storybook/addon-viewport";
11
+ import { disabledRules } from "../../test/accessibility/rules/specific/header/disabledRules";
12
+ import preview from "../../.storybook/preview";
6
13
 
7
14
  export default {
8
15
  title: "Header",
9
16
  component: DxcHeader,
17
+ parameters: {
18
+ a11y: {
19
+ config: {
20
+ rules: [
21
+ ...disabledRules.map((ruleId) => ({ id: ruleId, enabled: false })),
22
+ ...preview?.parameters?.a11y?.config?.rules,
23
+ ],
24
+ },
25
+ },
26
+ viewport: {
27
+ viewports: INITIAL_VIEWPORTS,
28
+ },
29
+ },
10
30
  };
11
31
 
12
32
  const options: any = [
@@ -16,16 +36,62 @@ const options: any = [
16
36
  },
17
37
  ];
18
38
 
39
+ const options2: any = [
40
+ {
41
+ value: 1,
42
+ label: "Home",
43
+ },
44
+ {
45
+ value: 2,
46
+ label: "Release notes",
47
+ },
48
+ {
49
+ value: 3,
50
+ label: "Sign out",
51
+ },
52
+ ];
53
+
54
+ const opinionatedTheme = {
55
+ header: {
56
+ baseColor: "#ffffff",
57
+ accentColor: "#000000",
58
+ fontColor: "#000000",
59
+ menuBaseColor: "#ffffff",
60
+ hamburguerColor: "#000000",
61
+ logo: "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/2021_Facebook_icon.svg/2048px-2021_Facebook_icon.svg.png",
62
+ logoResponsive:
63
+ "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/2021_Facebook_icon.svg/2048px-2021_Facebook_icon.svg.png",
64
+ contentColor: "#000000",
65
+ overlayColor: "#000000b3",
66
+ },
67
+ };
68
+
19
69
  export const Chromatic = () => (
20
70
  <>
21
71
  <ExampleContainer>
22
72
  <Title title="Default with dropdown" theme="light" level={4} />
23
- <DxcHeader content={<DxcHeader.Dropdown options={options} label="Default Dropdown" />} />
73
+ <DxcHeader
74
+ content={<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />}
75
+ />
24
76
  </ExampleContainer>
25
77
  <ExampleContainer>
26
78
  <Title title="Underlined with text" theme="light" level={4} />
27
79
  <DxcHeader underlined content={<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>} />
28
80
  </ExampleContainer>
81
+ <ExampleContainer>
82
+ <Title title="Underlined, dropdown and links" theme="light" level={4} />
83
+ <DxcHeader
84
+ content={
85
+ <DxcFlex alignItems="center" gap="4rem">
86
+ <DxcLink>Link 1</DxcLink>
87
+ <DxcLink>Link 2</DxcLink>
88
+ <DxcLink>Link 3</DxcLink>
89
+ <DxcHeader.Dropdown options={options2} label="Label" onSelectOption={() => {}} />
90
+ </DxcFlex>
91
+ }
92
+ underlined
93
+ />
94
+ </ExampleContainer>
29
95
  <Title title="Margins" theme="light" level={2} />
30
96
  <ExampleContainer>
31
97
  <Title title="Xxsmall margin" theme="light" level={4} />
@@ -62,35 +128,20 @@ export const Chromatic = () => (
62
128
  <DxcHeader underlined margin="xxlarge" />
63
129
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
64
130
  </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>
131
+ <Title title="Opinionated theme" theme="light" level={2} />
91
132
  <ExampleContainer>
92
- <Title title="Xxlarge padding" theme="light" level={4} />
93
- <DxcHeader underlined padding="xxlarge" />
133
+ <HalstackProvider theme={opinionatedTheme}>
134
+ <DxcHeader
135
+ underlined
136
+ content={<DxcButton label={"Custom Button"} />}
137
+ responsiveContent={(closeHandler) => (
138
+ <>
139
+ <DxcButton label={"Custom Button"} onClick={closeHandler} />
140
+ Custom content
141
+ </>
142
+ )}
143
+ />
144
+ </HalstackProvider>
94
145
  </ExampleContainer>
95
146
  </>
96
147
  );
@@ -99,8 +150,10 @@ export const ResponsiveHeader = () => (
99
150
  <ExampleContainer>
100
151
  <Title title="Responsive" theme="light" level={4} />
101
152
  <DxcHeader
102
- content={<DxcHeader.Dropdown options={options} label="Default Dropdown" />}
103
- responsiveContent={(closeHandler) => <DxcHeader.Dropdown options={options} label="Default Dropdown" />}
153
+ content={<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />}
154
+ responsiveContent={(closeHandler) => (
155
+ <DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />
156
+ )}
104
157
  underlined
105
158
  />
106
159
  </ExampleContainer>
@@ -120,13 +173,29 @@ const RespHeaderHover = () => (
120
173
  </ExampleContainer>
121
174
  );
122
175
 
123
- const RespHeaderMenu = () => (
176
+ const RespHeaderMenuMobile = () => (
124
177
  <ExampleContainer>
125
178
  <Title title="Responsive menu" theme="light" level={4} />
126
179
  <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
127
180
  </ExampleContainer>
128
181
  );
129
182
 
183
+ const RespHeaderMenuTablet = () => (
184
+ <ExampleContainer>
185
+ <Title title="Responsive menu" theme="light" level={4} />
186
+ <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
187
+ </ExampleContainer>
188
+ );
189
+
190
+ const RespHeaderMenuOpinionated = () => (
191
+ <ExampleContainer>
192
+ <Title title="Responsive menu" theme="light" level={4} />
193
+ <HalstackProvider theme={opinionatedTheme}>
194
+ <DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
195
+ </HalstackProvider>
196
+ </ExampleContainer>
197
+ );
198
+
130
199
  ResponsiveHeader.parameters = {
131
200
  viewport: {
132
201
  defaultViewport: "iphonex",
@@ -158,14 +227,40 @@ ResponsiveHeaderHover.play = async ({ canvasElement }) => {
158
227
  await waitFor(() => canvas.findByText("Menu"));
159
228
  };
160
229
 
161
- export const ResponsiveHeaderMenu = RespHeaderMenu.bind({});
162
- ResponsiveHeaderMenu.parameters = {
230
+ export const ResponsiveHeaderMenuMobile = RespHeaderMenuMobile.bind({});
231
+ ResponsiveHeaderMenuMobile.parameters = {
163
232
  viewport: {
164
233
  defaultViewport: "iphonex",
165
234
  },
166
235
  chromatic: { viewports: [375] },
167
236
  };
168
- ResponsiveHeaderMenu.play = async ({ canvasElement }) => {
237
+ ResponsiveHeaderMenuMobile.play = async ({ canvasElement }) => {
238
+ const canvas = within(canvasElement);
239
+ await waitFor(() => canvas.findByText("Menu"));
240
+ await userEvent.click(canvas.getByText("Menu"));
241
+ };
242
+
243
+ export const ResponsiveHeaderMenuTablet = RespHeaderMenuTablet.bind({});
244
+ ResponsiveHeaderMenuTablet.parameters = {
245
+ viewport: {
246
+ defaultViewport: "pixelxl",
247
+ },
248
+ chromatic: { viewports: [720] },
249
+ };
250
+ ResponsiveHeaderMenuTablet.play = async ({ canvasElement }) => {
251
+ const canvas = within(canvasElement);
252
+ await waitFor(() => canvas.findByText("Menu"));
253
+ await userEvent.click(canvas.getByText("Menu"));
254
+ };
255
+
256
+ export const ResponsiveHeaderMenuOpinionated = RespHeaderMenuOpinionated.bind({});
257
+ ResponsiveHeaderMenuOpinionated.parameters = {
258
+ viewport: {
259
+ defaultViewport: "pixelxl",
260
+ },
261
+ chromatic: { viewports: [720] },
262
+ };
263
+ ResponsiveHeaderMenuOpinionated.play = async ({ canvasElement }) => {
169
264
  const canvas = within(canvasElement);
170
265
  await waitFor(() => canvas.findByText("Menu"));
171
266
  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
  });