@dxc-technology/halstack-react 0.0.0-ff5083e → 0.0.0-ff6c8bf

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 (403) 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 +126 -111
  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 +105 -160
  9. package/accordion/Accordion.stories.tsx +82 -148
  10. package/accordion/Accordion.test.js +25 -41
  11. package/accordion/types.d.ts +6 -17
  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 +31 -98
  15. package/accordion-group/AccordionGroup.stories.tsx +94 -67
  16. package/accordion-group/AccordionGroup.test.js +52 -105
  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 +12 -17
  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 +37 -127
  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 +64 -63
  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 +19 -60
  45. package/box/Box.stories.tsx +38 -51
  46. package/box/Box.test.js +2 -7
  47. package/box/types.d.ts +3 -14
  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 +35 -63
  62. package/bulleted-list/BulletedList.stories.tsx +18 -106
  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 +64 -117
  67. package/button/Button.stories.tsx +151 -100
  68. package/button/Button.test.js +20 -17
  69. package/button/types.d.ts +12 -8
  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 -11
  76. package/checkbox/Checkbox.accessibility.test.js +87 -0
  77. package/checkbox/Checkbox.d.ts +2 -2
  78. package/checkbox/Checkbox.js +139 -181
  79. package/checkbox/Checkbox.stories.tsx +128 -94
  80. package/checkbox/Checkbox.test.js +160 -39
  81. package/checkbox/types.d.ts +11 -3
  82. package/chip/Chip.accessibility.test.js +67 -0
  83. package/chip/Chip.js +45 -80
  84. package/chip/Chip.stories.tsx +107 -27
  85. package/chip/Chip.test.js +18 -33
  86. package/chip/types.d.ts +4 -4
  87. package/common/coreTokens.d.ts +237 -0
  88. package/common/coreTokens.js +184 -0
  89. package/common/utils.d.ts +1 -0
  90. package/common/utils.js +6 -12
  91. package/common/variables.d.ts +1392 -0
  92. package/common/variables.js +984 -1206
  93. package/container/Container.d.ts +4 -0
  94. package/container/Container.js +194 -0
  95. package/container/Container.stories.tsx +214 -0
  96. package/container/types.d.ts +74 -0
  97. package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
  98. package/contextual-menu/ContextualMenu.d.ts +5 -0
  99. package/contextual-menu/ContextualMenu.js +88 -0
  100. package/contextual-menu/ContextualMenu.stories.tsx +232 -0
  101. package/contextual-menu/ContextualMenu.test.js +205 -0
  102. package/contextual-menu/GroupItem.d.ts +4 -0
  103. package/contextual-menu/GroupItem.js +67 -0
  104. package/contextual-menu/ItemAction.d.ts +4 -0
  105. package/contextual-menu/ItemAction.js +51 -0
  106. package/contextual-menu/MenuItem.d.ts +4 -0
  107. package/contextual-menu/MenuItem.js +29 -0
  108. package/contextual-menu/SingleItem.d.ts +4 -0
  109. package/contextual-menu/SingleItem.js +38 -0
  110. package/contextual-menu/types.d.ts +58 -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 +700 -371
  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 +61 -106
  125. package/dialog/Dialog.stories.tsx +326 -167
  126. package/dialog/Dialog.test.js +287 -20
  127. package/dialog/types.d.ts +18 -25
  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/dropdown/Dropdown.accessibility.test.js +180 -0
  135. package/dropdown/Dropdown.d.ts +1 -1
  136. package/dropdown/Dropdown.js +233 -303
  137. package/dropdown/Dropdown.stories.tsx +235 -57
  138. package/dropdown/Dropdown.test.js +575 -165
  139. package/dropdown/DropdownMenu.d.ts +4 -0
  140. package/dropdown/DropdownMenu.js +63 -0
  141. package/dropdown/DropdownMenuItem.d.ts +4 -0
  142. package/dropdown/DropdownMenuItem.js +71 -0
  143. package/dropdown/types.d.ts +35 -19
  144. package/file-input/FileInput.accessibility.test.js +160 -0
  145. package/file-input/FileInput.d.ts +2 -2
  146. package/file-input/FileInput.js +241 -391
  147. package/file-input/FileInput.stories.tsx +123 -12
  148. package/file-input/FileInput.test.js +306 -367
  149. package/file-input/FileItem.d.ts +4 -14
  150. package/file-input/FileItem.js +56 -117
  151. package/file-input/types.d.ts +25 -8
  152. package/flex/Flex.d.ts +4 -0
  153. package/flex/Flex.js +57 -0
  154. package/flex/Flex.stories.tsx +112 -0
  155. package/flex/types.d.ts +97 -0
  156. package/footer/Footer.accessibility.test.js +125 -0
  157. package/footer/Footer.d.ts +1 -1
  158. package/footer/Footer.js +73 -118
  159. package/footer/Footer.stories.tsx +99 -21
  160. package/footer/Footer.test.js +33 -57
  161. package/footer/Icons.d.ts +3 -2
  162. package/footer/Icons.js +54 -23
  163. package/footer/types.d.ts +26 -27
  164. package/grid/Grid.d.ts +7 -0
  165. package/grid/Grid.js +76 -0
  166. package/grid/Grid.stories.tsx +219 -0
  167. package/grid/types.d.ts +115 -0
  168. package/grid/types.js +5 -0
  169. package/header/Header.accessibility.test.js +93 -0
  170. package/header/Header.d.ts +4 -3
  171. package/header/Header.js +90 -183
  172. package/header/Header.stories.tsx +133 -38
  173. package/header/Header.test.js +13 -26
  174. package/header/Icons.d.ts +2 -2
  175. package/header/Icons.js +5 -15
  176. package/header/types.d.ts +7 -21
  177. package/heading/Heading.accessibility.test.js +33 -0
  178. package/heading/Heading.js +10 -32
  179. package/heading/Heading.test.js +71 -88
  180. package/heading/types.d.ts +7 -7
  181. package/icon/Icon.accessibility.test.js +30 -0
  182. package/icon/Icon.d.ts +4 -0
  183. package/icon/Icon.js +33 -0
  184. package/icon/Icon.stories.tsx +28 -0
  185. package/icon/types.d.ts +4 -0
  186. package/icon/types.js +5 -0
  187. package/image/Image.accessibility.test.js +56 -0
  188. package/image/Image.d.ts +4 -0
  189. package/image/Image.js +70 -0
  190. package/image/Image.stories.tsx +129 -0
  191. package/image/types.d.ts +72 -0
  192. package/image/types.js +5 -0
  193. package/inset/Inset.js +13 -21
  194. package/inset/Inset.stories.tsx +5 -4
  195. package/inset/types.d.ts +2 -2
  196. package/layout/ApplicationLayout.d.ts +15 -6
  197. package/layout/ApplicationLayout.js +57 -119
  198. package/layout/ApplicationLayout.stories.tsx +81 -45
  199. package/layout/Icons.d.ts +7 -5
  200. package/layout/Icons.js +41 -59
  201. package/layout/types.d.ts +21 -32
  202. package/link/Link.accessibility.test.js +108 -0
  203. package/link/Link.js +32 -51
  204. package/link/Link.stories.tsx +76 -9
  205. package/link/Link.test.js +24 -44
  206. package/link/types.d.ts +14 -14
  207. package/main.d.ts +14 -12
  208. package/main.js +51 -88
  209. package/nav-tabs/NavTabs.accessibility.test.js +44 -0
  210. package/nav-tabs/NavTabs.d.ts +7 -0
  211. package/{tabs-nav → nav-tabs}/NavTabs.js +30 -62
  212. package/nav-tabs/NavTabs.stories.tsx +279 -0
  213. package/nav-tabs/NavTabs.test.js +77 -0
  214. package/nav-tabs/NavTabsContext.d.ts +3 -0
  215. package/nav-tabs/NavTabsContext.js +8 -0
  216. package/nav-tabs/Tab.js +117 -0
  217. package/{tabs-nav → nav-tabs}/types.d.ts +15 -16
  218. package/nav-tabs/types.js +5 -0
  219. package/number-input/NumberInput.accessibility.test.js +228 -0
  220. package/number-input/NumberInput.js +46 -36
  221. package/number-input/NumberInput.stories.tsx +42 -26
  222. package/number-input/NumberInput.test.js +860 -377
  223. package/number-input/NumberInputContext.d.ts +3 -4
  224. package/number-input/NumberInputContext.js +3 -14
  225. package/number-input/types.d.ts +17 -5
  226. package/package.json +51 -51
  227. package/paginator/Paginator.accessibility.test.js +79 -0
  228. package/paginator/Paginator.js +35 -68
  229. package/paginator/Paginator.stories.tsx +24 -0
  230. package/paginator/Paginator.test.js +280 -211
  231. package/paginator/types.d.ts +3 -3
  232. package/paragraph/Paragraph.accessibility.test.js +28 -0
  233. package/paragraph/Paragraph.d.ts +3 -4
  234. package/paragraph/Paragraph.js +7 -23
  235. package/paragraph/Paragraph.stories.tsx +1 -18
  236. package/password-input/PasswordInput.accessibility.test.js +153 -0
  237. package/password-input/PasswordInput.js +58 -127
  238. package/password-input/PasswordInput.stories.tsx +1 -33
  239. package/password-input/PasswordInput.test.js +160 -142
  240. package/password-input/types.d.ts +8 -7
  241. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  242. package/progress-bar/ProgressBar.js +68 -92
  243. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +39 -4
  244. package/progress-bar/ProgressBar.test.js +72 -44
  245. package/progress-bar/types.d.ts +3 -3
  246. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  247. package/quick-nav/QuickNav.js +24 -42
  248. package/quick-nav/QuickNav.stories.tsx +146 -27
  249. package/quick-nav/types.d.ts +10 -10
  250. package/radio-group/Radio.d.ts +1 -1
  251. package/radio-group/Radio.js +59 -76
  252. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  253. package/radio-group/RadioGroup.js +68 -114
  254. package/radio-group/RadioGroup.stories.tsx +132 -18
  255. package/radio-group/RadioGroup.test.js +518 -457
  256. package/radio-group/types.d.ts +10 -10
  257. package/resultset-table/Icons.d.ts +7 -0
  258. package/resultset-table/Icons.js +47 -0
  259. package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
  260. package/resultset-table/ResultsetTable.d.ts +7 -0
  261. package/resultset-table/ResultsetTable.js +171 -0
  262. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +168 -30
  263. package/resultset-table/ResultsetTable.test.js +381 -0
  264. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  265. package/resultset-table/types.js +5 -0
  266. package/select/Listbox.d.ts +1 -1
  267. package/select/Listbox.js +68 -65
  268. package/select/Option.js +35 -56
  269. package/select/Select.accessibility.test.js +228 -0
  270. package/select/Select.js +171 -214
  271. package/select/Select.stories.tsx +515 -190
  272. package/select/Select.test.js +1934 -1789
  273. package/select/types.d.ts +17 -21
  274. package/sidenav/Sidenav.accessibility.test.js +59 -0
  275. package/sidenav/Sidenav.d.ts +6 -5
  276. package/sidenav/Sidenav.js +132 -78
  277. package/sidenav/Sidenav.stories.tsx +246 -151
  278. package/sidenav/Sidenav.test.js +26 -45
  279. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  280. package/{layout → sidenav}/SidenavContext.js +3 -9
  281. package/sidenav/types.d.ts +52 -26
  282. package/slider/Slider.accessibility.test.js +104 -0
  283. package/slider/Slider.d.ts +2 -2
  284. package/slider/Slider.js +149 -181
  285. package/slider/Slider.stories.tsx +64 -61
  286. package/slider/Slider.test.js +185 -81
  287. package/slider/types.d.ts +7 -3
  288. package/spinner/Spinner.accessibility.test.js +96 -0
  289. package/spinner/Spinner.js +34 -74
  290. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  291. package/spinner/Spinner.test.js +26 -35
  292. package/spinner/types.d.ts +3 -3
  293. package/status-light/StatusLight.accessibility.test.js +157 -0
  294. package/status-light/StatusLight.d.ts +4 -0
  295. package/status-light/StatusLight.js +51 -0
  296. package/status-light/StatusLight.stories.tsx +74 -0
  297. package/status-light/StatusLight.test.js +25 -0
  298. package/status-light/types.d.ts +17 -0
  299. package/status-light/types.js +5 -0
  300. package/switch/Switch.accessibility.test.js +98 -0
  301. package/switch/Switch.d.ts +2 -2
  302. package/switch/Switch.js +145 -126
  303. package/switch/Switch.stories.tsx +49 -60
  304. package/switch/Switch.test.js +138 -56
  305. package/switch/types.d.ts +7 -3
  306. package/table/DropdownTheme.js +62 -0
  307. package/table/Table.accessibility.test.js +93 -0
  308. package/table/Table.d.ts +6 -2
  309. package/table/Table.js +78 -35
  310. package/table/Table.stories.tsx +663 -0
  311. package/table/Table.test.js +95 -8
  312. package/table/types.d.ts +34 -6
  313. package/tabs/Tab.d.ts +4 -0
  314. package/tabs/Tab.js +117 -0
  315. package/tabs/Tabs.accessibility.test.js +56 -0
  316. package/tabs/Tabs.js +303 -141
  317. package/tabs/Tabs.stories.tsx +124 -6
  318. package/tabs/Tabs.test.js +213 -77
  319. package/tabs/types.d.ts +30 -20
  320. package/tag/Tag.accessibility.test.js +69 -0
  321. package/tag/Tag.js +35 -67
  322. package/tag/Tag.stories.tsx +18 -8
  323. package/tag/Tag.test.js +18 -37
  324. package/tag/types.d.ts +9 -9
  325. package/text-input/Suggestion.js +40 -28
  326. package/text-input/Suggestions.d.ts +4 -0
  327. package/text-input/Suggestions.js +94 -0
  328. package/text-input/TextInput.accessibility.test.js +321 -0
  329. package/text-input/TextInput.js +316 -515
  330. package/text-input/TextInput.stories.tsx +276 -276
  331. package/text-input/TextInput.test.js +1419 -1375
  332. package/text-input/types.d.ts +43 -16
  333. package/textarea/Textarea.accessibility.test.js +155 -0
  334. package/textarea/Textarea.js +71 -113
  335. package/textarea/Textarea.stories.tsx +174 -0
  336. package/textarea/Textarea.test.js +152 -183
  337. package/textarea/types.d.ts +9 -5
  338. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  339. package/toggle-group/ToggleGroup.d.ts +2 -2
  340. package/toggle-group/ToggleGroup.js +94 -107
  341. package/toggle-group/ToggleGroup.stories.tsx +52 -7
  342. package/toggle-group/ToggleGroup.test.js +69 -88
  343. package/toggle-group/types.d.ts +28 -19
  344. package/typography/Typography.accessibility.test.js +339 -0
  345. package/typography/Typography.d.ts +2 -2
  346. package/typography/Typography.js +16 -124
  347. package/typography/Typography.stories.tsx +185 -162
  348. package/typography/types.d.ts +1 -1
  349. package/useTheme.d.ts +1144 -1
  350. package/useTheme.js +2 -9
  351. package/useTranslatedLabels.d.ts +84 -1
  352. package/useTranslatedLabels.js +1 -7
  353. package/utils/BaseTypography.d.ts +21 -0
  354. package/utils/BaseTypography.js +94 -0
  355. package/utils/FocusLock.d.ts +13 -0
  356. package/utils/FocusLock.js +124 -0
  357. package/wizard/Wizard.accessibility.test.js +55 -0
  358. package/wizard/Wizard.js +34 -87
  359. package/wizard/Wizard.stories.tsx +59 -1
  360. package/wizard/Wizard.test.js +54 -81
  361. package/wizard/types.d.ts +9 -9
  362. package/card/ice-cream.jpg +0 -0
  363. package/common/OpenSans.css +0 -81
  364. package/common/RequiredComponent.js +0 -32
  365. package/common/fonts/OpenSans-Bold.ttf +0 -0
  366. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  367. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  368. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  369. package/common/fonts/OpenSans-Italic.ttf +0 -0
  370. package/common/fonts/OpenSans-Light.ttf +0 -0
  371. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  372. package/common/fonts/OpenSans-Regular.ttf +0 -0
  373. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  374. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  375. package/number-input/numberInputContextTypes.d.ts +0 -19
  376. package/paginator/Icons.js +0 -66
  377. package/resultsetTable/ResultsetTable.d.ts +0 -4
  378. package/resultsetTable/ResultsetTable.js +0 -254
  379. package/resultsetTable/ResultsetTable.test.js +0 -306
  380. package/row/Row.d.ts +0 -3
  381. package/row/Row.js +0 -127
  382. package/row/Row.stories.tsx +0 -237
  383. package/row/types.d.ts +0 -28
  384. package/select/Icons.d.ts +0 -10
  385. package/select/Icons.js +0 -93
  386. package/stack/Stack.d.ts +0 -3
  387. package/stack/Stack.js +0 -97
  388. package/stack/Stack.stories.tsx +0 -164
  389. package/stack/types.d.ts +0 -24
  390. package/table/Table.stories.jsx +0 -277
  391. package/tabs-nav/NavTabs.d.ts +0 -8
  392. package/tabs-nav/NavTabs.stories.tsx +0 -170
  393. package/tabs-nav/NavTabs.test.js +0 -82
  394. package/tabs-nav/Tab.js +0 -132
  395. package/textarea/Textarea.stories.jsx +0 -157
  396. package/typography/typographyContextTypes.d.ts +0 -16
  397. /package/{resultsetTable → action-icon}/types.js +0 -0
  398. /package/{row → breadcrumbs}/types.js +0 -0
  399. /package/{stack → container}/types.js +0 -0
  400. /package/{tabs-nav → contextual-menu}/types.js +0 -0
  401. /package/{number-input/numberInputContextTypes.js → divider/types.js} +0 -0
  402. /package/{typography/typographyContextTypes.js → flex/types.js} +0 -0
  403. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
package/header/Header.js CHANGED
@@ -1,124 +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
- var _AppBar = _interopRequireDefault(require("@material-ui/core/AppBar"));
23
-
24
13
  var _Dropdown = _interopRequireDefault(require("../dropdown/Dropdown"));
25
-
26
14
  var _Icons = require("./Icons");
27
-
28
- var _variables = require("../common/variables.js");
29
-
15
+ var _variables = require("../common/variables");
30
16
  var _useTheme = _interopRequireDefault(require("../useTheme"));
31
-
32
17
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
33
-
34
- var _BackgroundColorContext = _interopRequireWildcard(require("../BackgroundColorContext"));
35
-
18
+ var _Icon = _interopRequireDefault(require("../icon/Icon"));
36
19
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
37
-
38
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
39
-
40
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
41
-
42
- var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
43
- xmlns: "http://www.w3.org/2000/svg",
44
- height: "24",
45
- viewBox: "0 0 24 24",
46
- width: "24"
47
- }, /*#__PURE__*/_react["default"].createElement("path", {
48
- d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
49
- }), /*#__PURE__*/_react["default"].createElement("path", {
50
- d: "M0 0h24v24H0z",
51
- fill: "none"
52
- }));
53
-
54
- var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
55
- xmlns: "http://www.w3.org/2000/svg",
56
- viewBox: "0 0 24 24",
57
- width: "24",
58
- height: "24"
59
- }, /*#__PURE__*/_react["default"].createElement("path", {
60
- d: "M3,8H21a1,1,0,0,0,0-2H3A1,1,0,0,0,3,8Zm18,8H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Zm0-5H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Z"
61
- }));
62
-
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; }
63
22
  var Dropdown = function Dropdown(props) {
64
23
  return /*#__PURE__*/_react["default"].createElement(HeaderDropdown, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], props));
65
24
  };
66
-
67
- var HeaderDropdown = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n button {\n background-color: transparent;\n :hover {\n background-color: transparent;\n }\n }\n"])));
68
-
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"])));
69
26
  var getLogoElement = function getLogoElement(themeInput, logoLabel) {
70
- if (!themeInput) {
71
- return _Icons.dxcLogo;
72
- }
73
-
74
- if (typeof themeInput === "string") {
75
- return /*#__PURE__*/_react["default"].createElement(LogoImg, {
76
- alt: logoLabel,
77
- src: themeInput
78
- });
79
- }
80
-
81
- return themeInput;
27
+ if (!themeInput) return _Icons.dxcLogo;else if (typeof themeInput === "string") return /*#__PURE__*/_react["default"].createElement(LogoImg, {
28
+ alt: logoLabel,
29
+ src: themeInput
30
+ });else return themeInput;
82
31
  };
83
-
84
- var DxcHeader = function DxcHeader(_ref) {
85
- var _ref$underlined = _ref.underlined,
86
- underlined = _ref$underlined === void 0 ? false : _ref$underlined,
87
- content = _ref.content,
88
- responsiveContent = _ref.responsiveContent,
89
- onClick = _ref.onClick,
90
- margin = _ref.margin,
91
- padding = _ref.padding,
92
- _ref$tabIndex = _ref.tabIndex,
93
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
32
+ var Content = function Content(_ref) {
33
+ var isResponsive = _ref.isResponsive,
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);
38
+ };
39
+ var DxcHeader = function DxcHeader(_ref2) {
40
+ var _ref2$underlined = _ref2.underlined,
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;
94
48
  var colorsTheme = (0, _useTheme["default"])();
95
49
  var translatedLabels = (0, _useTranslatedLabels["default"])();
96
50
  var ref = (0, _react.useRef)(null);
97
-
98
51
  var _useState = (0, _react.useState)(false),
99
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
100
- isResponsive = _useState2[0],
101
- setIsResponsive = _useState2[1];
102
-
52
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
53
+ isResponsive = _useState2[0],
54
+ setIsResponsive = _useState2[1];
103
55
  var _useState3 = (0, _react.useState)(false),
104
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
105
- isMenuVisible = _useState4[0],
106
- setIsMenuVisible = _useState4[1];
107
-
108
- var handleResize = function handleResize() {
109
- setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches && !isResponsive);
110
- };
111
-
112
- var ContentContainerComponent = function ContentContainerComponent() {
113
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
114
- return isResponsive && /*#__PURE__*/_react["default"].createElement(MenuContent, {
115
- backgroundType: backgroundType
116
- }, responsiveContent(handleMenu)) || /*#__PURE__*/_react["default"].createElement(ContentContainer, {
117
- padding: padding,
118
- backgroundType: backgroundType
119
- }, content);
120
- };
121
-
56
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
57
+ isMenuVisible = _useState4[0],
58
+ setIsMenuVisible = _useState4[1];
59
+ var handleResize = (0, _react.useCallback)(function () {
60
+ setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches);
61
+ }, []);
122
62
  var handleMenu = function handleMenu() {
123
63
  if (isResponsive && !isMenuVisible) {
124
64
  setIsMenuVisible(!isMenuVisible);
@@ -126,7 +66,6 @@ var DxcHeader = function DxcHeader(_ref) {
126
66
  setIsMenuVisible(!isMenuVisible);
127
67
  }
128
68
  };
129
-
130
69
  var headerLogo = (0, _react.useMemo)(function () {
131
70
  return getLogoElement(colorsTheme.header.logo, translatedLabels.formFields.logoAlternativeText);
132
71
  }, [colorsTheme.header.logo]);
@@ -134,116 +73,91 @@ var DxcHeader = function DxcHeader(_ref) {
134
73
  return getLogoElement(colorsTheme.header.logoResponsive, translatedLabels.formFields.logoAlternativeText);
135
74
  }, [colorsTheme.header.logoResponsive]);
136
75
  (0, _react.useEffect)(function () {
137
- if (ref.current) {
138
- window.addEventListener("resize", handleResize);
139
- handleResize();
140
- }
141
-
76
+ handleResize();
77
+ window.addEventListener("resize", handleResize);
142
78
  return function () {
143
79
  window.removeEventListener("resize", handleResize);
144
80
  };
145
- }, []);
81
+ }, [handleResize]);
82
+ (0, _react.useEffect)(function () {
83
+ !isResponsive && setIsMenuVisible(false);
84
+ }, [isResponsive]);
146
85
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
147
86
  theme: colorsTheme.header
148
87
  }, /*#__PURE__*/_react["default"].createElement(HeaderContainer, {
149
- $underlined: underlined,
150
- position: "static",
88
+ underlined: underlined,
151
89
  margin: margin,
152
90
  ref: ref
153
91
  }, /*#__PURE__*/_react["default"].createElement(LogoAnchor, {
154
- tabIndex: typeof onClick === "function" ? tabIndex : -1,
155
- interactuable: typeof onClick === "function",
92
+ tabIndex: onClick ? tabIndex : -1,
93
+ interactuable: onClick ? true : false,
156
94
  onClick: onClick
157
- }, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, headerLogo)), isResponsive && responsiveContent && /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(ChildContainer, {
158
- padding: padding
159
- }, /*#__PURE__*/_react["default"].createElement(HamburguerItem, {
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, {
160
96
  tabIndex: tabIndex,
161
- underlined: underlined,
162
- onClick: handleMenu
163
- }, hamburgerIcon, /*#__PURE__*/_react["default"].createElement(HamburguerTitle, null, "Menu"))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__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, {
164
102
  hasVisibility: isMenuVisible
165
- }, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
166
- color: colorsTheme.header.menuBackgroundColor
167
- }, /*#__PURE__*/_react["default"].createElement(ContentContainerComponent, null)), /*#__PURE__*/_react["default"].createElement(CloseContainer, {
103
+ }, /*#__PURE__*/_react["default"].createElement(ResponsiveIconsContainer, null, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(CloseAction, {
168
104
  tabIndex: tabIndex,
169
105
  onClick: handleMenu,
170
- className: "closeIcon"
171
- }, closeIcon)), /*#__PURE__*/_react["default"].createElement(Overlay, {
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, {
111
+ isResponsive: isResponsive,
112
+ responsiveContent: responsiveContent,
113
+ handleMenu: handleMenu,
114
+ content: content
115
+ })), /*#__PURE__*/_react["default"].createElement(Overlay, {
172
116
  onClick: handleMenu,
173
117
  hasVisibility: isMenuVisible
174
- }))), !isResponsive && /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
175
- color: colorsTheme.header.backgroundColor
176
- }, /*#__PURE__*/_react["default"].createElement(ContentContainerComponent, null))));
118
+ })), !isResponsive && /*#__PURE__*/_react["default"].createElement(Content, {
119
+ isResponsive: isResponsive,
120
+ responsiveContent: responsiveContent,
121
+ handleMenu: handleMenu,
122
+ content: content
123
+ })));
177
124
  };
178
-
179
125
  DxcHeader.Dropdown = Dropdown;
180
- var HeaderContainer = (0, _styledComponents["default"])(_AppBar["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: ", ";\n\n &.MuiAppBar-colorPrimary {\n background-color: ", ";\n border-bottom: ", ";\n\n &.MuiPaper-elevation4 {\n box-shadow: none;\n }\n .ChildComponents {\n display: flex;\n align-items: center;\n }\n }\n & {\n min-height: ", ";\n }\n &.MuiAppBar-root {\n flex-direction: row;\n align-items: center;\n padding: ", ";\n justify-content: space-between;\n }\n"])), function (props) {
181
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
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;
182
128
  }, function (props) {
183
- return props.theme.backgroundColor;
129
+ return props.margin ? _variables.spaces[props.margin] : "0px";
184
130
  }, function (props) {
185
- return props.$underlined && "".concat(props.theme.underlinedThickness, " ").concat(props.theme.underlinedStyle, " ").concat(props.theme.underlinedColor);
131
+ return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
186
132
  }, function (props) {
187
- return props.theme.minHeight;
133
+ return props.theme.backgroundColor;
188
134
  }, function (props) {
189
- return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
135
+ return props.underlined && "".concat(props.theme.underlinedThickness, " ").concat(props.theme.underlinedStyle, " ").concat(props.theme.underlinedColor);
190
136
  });
191
-
192
- var LogoAnchor = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n"])), function (props) {
193
- if (!props.interactuable) {
194
- return "cursor: default; outline:none;";
195
- }
196
-
197
- return "cursor: pointer;";
137
+ var LogoAnchor = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
138
+ return props.interactuable ? "cursor: pointer" : "cursor: default; outline:none;";
198
139
  });
199
-
200
140
  var LogoImg = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
201
141
  return props.theme.logoHeight;
202
142
  }, function (props) {
203
143
  return props.theme.logoWidth;
204
144
  });
205
-
206
145
  var LogoContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n vertical-align: middle;\n"])), function (props) {
207
146
  return props.theme.logoHeight;
208
147
  }, function (props) {
209
148
  return props.theme.logoWidth;
210
149
  });
211
-
212
- var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n width: calc(100% - 186px);\n display: flex;\n align-items: center;\n flex-grow: 1;\n\n justify-content: flex-end;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
213
- return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
214
- }, function (props) {
215
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
216
- }, function (props) {
217
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
218
- }, function (props) {
219
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
220
- }, function (props) {
221
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
222
- });
223
-
224
- var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n width: calc(100% - 186px);\n display: flex;\n align-items: center;\n flex-grow: 1;\n color: ", ";\n\n justify-content: flex-end;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
225
- return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
226
- }, function (props) {
227
- return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
228
- }, function (props) {
229
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
230
- }, function (props) {
231
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
232
- }, function (props) {
233
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
234
- }, function (props) {
235
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
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;
236
153
  });
237
-
238
- var HamburguerItem = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 54px;\n cursor: pointer;\n :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n"])), function (props) {
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) {
239
155
  return props.theme.hamburguerHoverColor;
240
156
  }, function (props) {
241
157
  return props.theme.hamburguerFocusColor;
242
158
  }, function (props) {
243
159
  return props.theme.hamburguerIconColor;
244
- });
245
-
246
- var HamburguerTitle = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
160
+ }, function (props) {
247
161
  return props.theme.hamburguerFontFamily;
248
162
  }, function (props) {
249
163
  return props.theme.hamburguerFontStyle;
@@ -256,10 +170,8 @@ var HamburguerTitle = _styledComponents["default"].span(_templateObject9 || (_te
256
170
  }, function (props) {
257
171
  return props.theme.hamburguerFontColor;
258
172
  });
259
-
260
- var MainContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-grow: 1;\n"])));
261
-
262
- var ResponsiveMenu = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-evenly;\n background-color: ", ";\n position: fixed;\n top: 0;\n right: 0;\n z-index: ", ";\n\n @media (max-width: ", "rem) and (min-width: ", "rem) {\n //tablet\n width: ", ";\n }\n\n @media not((max-width: ", "rem) and (min-width: ", "rem)) {\n //mobile phones\n width: ", ";\n }\n\n height: 100vh;\n padding: 20px;\n transform: ", ";\n opacity: ", ";\n transition-property: transform, opacity;\n transition-duration: 0.6s;\n transition-timing-function: ease-in-out;\n box-sizing: border-box;\n"])), function (props) {
173
+ var MainContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-grow: 1;\n"])));
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,22 +184,19 @@ var ResponsiveMenu = _styledComponents["default"].div(_templateObject11 || (_tem
272
184
  }, function (props) {
273
185
  return props.hasVisibility ? "1" : "0.96";
274
186
  });
275
-
276
- var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n position: absolute;\n top: 23px;\n left: 20px;\n"])), function (props) {
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
- var CloseContainer = _styledComponents["default"].div(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n :focus {\n outline: ", " auto 1px;\n }\n position: fixed;\n top: 23px;\n right: 20px;\n width: 24px;\n height: 24px;\n padding: ", ";\n"])), function (props) {
192
+ var ResponsiveIconsContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n"])));
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) {
283
194
  return props.theme.hamburguerFocusColor;
284
- }, _variables.spaces.xxsmall);
285
-
286
- var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n height: 100%;\n margin-top: 40px;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n color: ", ";\n"])), function (props) {
287
- return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
288
195
  });
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) {
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;
198
+ });
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) {
291
200
  return props.theme.overlayColor;
292
201
  }, function (props) {
293
202
  return props.theme.overlayOpacity;
@@ -298,6 +207,4 @@ var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateOb
298
207
  }, _variables.responsiveSizes.small, function (props) {
299
208
  return props.theme.overlayZindex;
300
209
  });
301
-
302
- var _default = DxcHeader;
303
- 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>
131
+ <Title title="Opinionated theme" theme="light" level={2} />
79
132
  <ExampleContainer>
80
- <Title title="Medium padding" theme="light" level={4} />
81
- <DxcHeader underlined padding="medium" />
82
- </ExampleContainer>
83
- <ExampleContainer>
84
- <Title title="Large padding" theme="light" level={4} />
85
- <DxcHeader underlined padding="large" />
86
- </ExampleContainer>
87
- <ExampleContainer>
88
- <Title title="Xlarge padding" theme="light" level={4} />
89
- <DxcHeader underlined padding="xlarge" />
90
- </ExampleContainer>
91
- <ExampleContainer>
92
- <Title title="Xxlarge padding" theme="light" level={4} />
93
- <DxcHeader underlined padding="xxlarge" />
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,18 +173,34 @@ 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",
133
202
  },
134
- chromatic: { viewports: [720] },
203
+ chromatic: { viewports: [375] },
135
204
  };
136
205
 
137
206
  export const ResponsiveHeaderFocus = RespHeaderFocus.bind({});
@@ -139,7 +208,7 @@ ResponsiveHeaderFocus.parameters = {
139
208
  viewport: {
140
209
  defaultViewport: "iphonex",
141
210
  },
142
- chromatic: { viewports: [720] },
211
+ chromatic: { viewports: [375] },
143
212
  };
144
213
  ResponsiveHeaderFocus.play = async ({ canvasElement }) => {
145
214
  const canvas = within(canvasElement);
@@ -151,21 +220,47 @@ ResponsiveHeaderHover.parameters = {
151
220
  viewport: {
152
221
  defaultViewport: "iphonex",
153
222
  },
154
- chromatic: { viewports: [720] },
223
+ chromatic: { viewports: [375] },
155
224
  };
156
225
  ResponsiveHeaderHover.play = async ({ canvasElement }) => {
157
226
  const canvas = within(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
  },
235
+ chromatic: { viewports: [375] },
236
+ };
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
+ },
166
261
  chromatic: { viewports: [720] },
167
262
  };
168
- ResponsiveHeaderMenu.play = async ({ canvasElement }) => {
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"));