@dxc-technology/halstack-react 0.0.0-39dd536 → 0.0.0-3a698b0

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 (205) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -1
  3. package/HalstackContext.d.ts +1332 -5
  4. package/HalstackContext.js +117 -77
  5. package/accordion/Accordion.js +118 -110
  6. package/accordion/Accordion.stories.tsx +103 -15
  7. package/accordion/Accordion.test.js +10 -11
  8. package/accordion/types.d.ts +1 -0
  9. package/accordion-group/AccordionGroup.js +3 -23
  10. package/accordion-group/AccordionGroup.stories.tsx +27 -1
  11. package/accordion-group/AccordionGroup.test.js +21 -46
  12. package/accordion-group/types.d.ts +7 -0
  13. package/alert/Alert.js +4 -6
  14. package/alert/Alert.stories.tsx +28 -0
  15. package/alert/Alert.test.js +1 -1
  16. package/bleed/Bleed.stories.tsx +1 -0
  17. package/box/Box.js +4 -6
  18. package/box/Box.stories.tsx +15 -0
  19. package/box/Box.test.js +1 -1
  20. package/box/types.d.ts +1 -0
  21. package/button/Button.js +13 -16
  22. package/button/Button.stories.tsx +150 -8
  23. package/button/Button.test.js +1 -1
  24. package/button/types.d.ts +3 -3
  25. package/card/Card.js +12 -13
  26. package/card/Card.stories.tsx +12 -13
  27. package/card/Card.test.js +1 -1
  28. package/card/types.d.ts +1 -0
  29. package/checkbox/Checkbox.d.ts +2 -2
  30. package/checkbox/Checkbox.js +94 -101
  31. package/checkbox/Checkbox.stories.tsx +131 -59
  32. package/checkbox/Checkbox.test.js +94 -17
  33. package/checkbox/types.d.ts +4 -0
  34. package/chip/Chip.js +18 -26
  35. package/chip/Chip.stories.tsx +96 -9
  36. package/chip/Chip.test.js +3 -5
  37. package/common/utils.d.ts +1 -0
  38. package/common/utils.js +4 -4
  39. package/common/variables.d.ts +1625 -0
  40. package/common/variables.js +306 -302
  41. package/date-input/Calendar.d.ts +4 -0
  42. package/date-input/Calendar.js +258 -0
  43. package/date-input/DateInput.js +134 -237
  44. package/date-input/DateInput.stories.tsx +199 -33
  45. package/date-input/DateInput.test.js +494 -138
  46. package/date-input/DatePicker.d.ts +4 -0
  47. package/date-input/DatePicker.js +146 -0
  48. package/date-input/Icons.d.ts +6 -0
  49. package/date-input/Icons.js +75 -0
  50. package/date-input/YearPicker.d.ts +4 -0
  51. package/date-input/YearPicker.js +126 -0
  52. package/date-input/types.d.ts +51 -0
  53. package/dialog/Dialog.js +60 -73
  54. package/dialog/Dialog.stories.tsx +229 -121
  55. package/dialog/Dialog.test.js +302 -3
  56. package/dialog/types.d.ts +3 -2
  57. package/dropdown/Dropdown.d.ts +1 -1
  58. package/dropdown/Dropdown.js +246 -249
  59. package/dropdown/Dropdown.stories.tsx +245 -56
  60. package/dropdown/Dropdown.test.js +507 -110
  61. package/dropdown/DropdownMenu.d.ts +4 -0
  62. package/dropdown/DropdownMenu.js +70 -0
  63. package/dropdown/DropdownMenuItem.d.ts +4 -0
  64. package/dropdown/DropdownMenuItem.js +79 -0
  65. package/dropdown/types.d.ts +22 -2
  66. package/file-input/FileInput.d.ts +2 -2
  67. package/file-input/FileInput.js +174 -220
  68. package/file-input/FileInput.stories.tsx +122 -11
  69. package/file-input/FileInput.test.js +14 -14
  70. package/file-input/FileItem.d.ts +4 -14
  71. package/file-input/FileItem.js +39 -63
  72. package/file-input/types.d.ts +17 -0
  73. package/flex/Flex.d.ts +1 -1
  74. package/flex/Flex.js +31 -19
  75. package/flex/Flex.stories.tsx +19 -24
  76. package/flex/types.d.ts +14 -3
  77. package/footer/Footer.js +6 -8
  78. package/footer/Footer.stories.tsx +99 -1
  79. package/footer/Footer.test.js +14 -26
  80. package/footer/types.d.ts +1 -0
  81. package/grid/Grid.d.ts +7 -0
  82. package/grid/Grid.js +91 -0
  83. package/grid/Grid.stories.tsx +219 -0
  84. package/grid/types.d.ts +115 -0
  85. package/header/Header.d.ts +3 -2
  86. package/header/Header.js +89 -89
  87. package/header/Header.stories.tsx +152 -9
  88. package/header/Header.test.js +2 -2
  89. package/header/Icons.js +2 -2
  90. package/header/types.d.ts +1 -0
  91. package/heading/Heading.js +1 -1
  92. package/heading/Heading.test.js +1 -1
  93. package/inset/Inset.stories.tsx +1 -0
  94. package/layout/ApplicationLayout.d.ts +1 -1
  95. package/layout/ApplicationLayout.js +1 -1
  96. package/layout/ApplicationLayout.stories.tsx +1 -0
  97. package/link/Link.js +3 -3
  98. package/link/Link.stories.tsx +60 -0
  99. package/link/Link.test.js +2 -4
  100. package/link/types.d.ts +2 -2
  101. package/main.d.ts +3 -2
  102. package/main.js +9 -1
  103. package/{tabs-nav → nav-tabs}/NavTabs.js +1 -1
  104. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
  105. package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
  106. package/{tabs-nav → nav-tabs}/Tab.js +38 -18
  107. package/nav-tabs/types.js +5 -0
  108. package/number-input/NumberInput.test.js +44 -8
  109. package/package.json +15 -20
  110. package/paginator/Icons.d.ts +5 -0
  111. package/paginator/Icons.js +16 -28
  112. package/paginator/Paginator.js +7 -15
  113. package/paginator/Paginator.stories.tsx +24 -0
  114. package/paginator/Paginator.test.js +45 -48
  115. package/paragraph/Paragraph.d.ts +3 -4
  116. package/paragraph/Paragraph.js +5 -5
  117. package/password-input/PasswordInput.test.js +14 -13
  118. package/progress-bar/ProgressBar.d.ts +2 -2
  119. package/progress-bar/ProgressBar.js +5 -5
  120. package/progress-bar/ProgressBar.stories.jsx +35 -2
  121. package/progress-bar/ProgressBar.test.js +1 -1
  122. package/progress-bar/types.d.ts +4 -3
  123. package/quick-nav/QuickNav.js +11 -12
  124. package/quick-nav/QuickNav.stories.tsx +111 -19
  125. package/radio-group/Radio.d.ts +1 -1
  126. package/radio-group/Radio.js +43 -28
  127. package/radio-group/RadioGroup.js +15 -13
  128. package/radio-group/RadioGroup.stories.tsx +132 -18
  129. package/radio-group/RadioGroup.test.js +124 -97
  130. package/radio-group/types.d.ts +2 -2
  131. package/resultsetTable/Icons.d.ts +7 -0
  132. package/resultsetTable/Icons.js +51 -0
  133. package/resultsetTable/ResultsetTable.js +49 -108
  134. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  135. package/resultsetTable/ResultsetTable.test.js +41 -64
  136. package/resultsetTable/types.d.ts +1 -1
  137. package/select/Listbox.d.ts +1 -1
  138. package/select/Listbox.js +5 -35
  139. package/select/Option.js +11 -24
  140. package/select/Select.js +59 -36
  141. package/select/Select.stories.tsx +494 -150
  142. package/select/Select.test.js +341 -288
  143. package/select/types.d.ts +2 -2
  144. package/sidenav/Sidenav.js +9 -11
  145. package/sidenav/Sidenav.stories.tsx +148 -46
  146. package/slider/Slider.d.ts +2 -2
  147. package/slider/Slider.js +121 -97
  148. package/slider/Slider.stories.tsx +64 -1
  149. package/slider/Slider.test.js +122 -22
  150. package/slider/types.d.ts +4 -0
  151. package/spinner/Spinner.js +17 -23
  152. package/spinner/Spinner.stories.jsx +53 -27
  153. package/spinner/Spinner.test.js +1 -1
  154. package/switch/Switch.d.ts +2 -2
  155. package/switch/Switch.js +137 -70
  156. package/switch/Switch.stories.tsx +41 -30
  157. package/switch/Switch.test.js +145 -18
  158. package/switch/types.d.ts +4 -0
  159. package/table/Table.js +3 -3
  160. package/table/Table.stories.jsx +80 -1
  161. package/table/Table.test.js +2 -2
  162. package/tabs/Tab.d.ts +4 -0
  163. package/tabs/Tab.js +132 -0
  164. package/tabs/Tabs.js +358 -108
  165. package/tabs/Tabs.stories.tsx +119 -5
  166. package/tabs/Tabs.test.js +220 -10
  167. package/tabs/types.d.ts +12 -2
  168. package/tag/Tag.js +8 -10
  169. package/tag/Tag.stories.tsx +14 -1
  170. package/tag/Tag.test.js +1 -1
  171. package/text-input/Icons.d.ts +8 -0
  172. package/text-input/Icons.js +60 -0
  173. package/text-input/Suggestion.js +40 -11
  174. package/text-input/Suggestions.d.ts +4 -0
  175. package/text-input/Suggestions.js +134 -0
  176. package/text-input/TextInput.js +188 -276
  177. package/text-input/TextInput.stories.tsx +280 -184
  178. package/text-input/TextInput.test.js +736 -725
  179. package/text-input/types.d.ts +21 -2
  180. package/textarea/Textarea.js +3 -4
  181. package/textarea/Textarea.stories.jsx +60 -1
  182. package/textarea/Textarea.test.js +2 -4
  183. package/toggle-group/ToggleGroup.js +7 -4
  184. package/toggle-group/ToggleGroup.stories.tsx +42 -0
  185. package/toggle-group/ToggleGroup.test.js +1 -1
  186. package/toggle-group/types.d.ts +1 -1
  187. package/typography/Typography.d.ts +2 -2
  188. package/typography/Typography.js +14 -113
  189. package/typography/Typography.stories.tsx +1 -1
  190. package/useTheme.d.ts +1234 -1
  191. package/useTheme.js +1 -1
  192. package/useTranslatedLabels.d.ts +84 -1
  193. package/utils/BaseTypography.d.ts +21 -0
  194. package/utils/BaseTypography.js +108 -0
  195. package/utils/FocusLock.d.ts +13 -0
  196. package/utils/FocusLock.js +139 -0
  197. package/wizard/Wizard.js +2 -2
  198. package/wizard/Wizard.stories.tsx +20 -0
  199. package/wizard/Wizard.test.js +1 -1
  200. package/wizard/types.d.ts +5 -6
  201. package/common/RequiredComponent.js +0 -32
  202. /package/{tabs-nav → grid}/types.js +0 -0
  203. /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
  204. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  205. /package/{tabs-nav → nav-tabs}/types.d.ts +0 -0
@@ -0,0 +1,115 @@
1
+ /// <reference types="react" />
2
+ declare type Spaces = "0rem" | "0.125rem" | "0.25rem" | "0.5rem" | "1rem" | "1.5rem" | "2rem" | "3rem" | "4rem" | "5rem";
3
+ declare type Gap = {
4
+ rowGap: Spaces;
5
+ columnGap?: Spaces;
6
+ } | {
7
+ rowGap?: Spaces;
8
+ columnGap: Spaces;
9
+ } | Spaces;
10
+ declare type GridCell = {
11
+ start: number | string;
12
+ end: number | string;
13
+ };
14
+ declare type PlaceSelfValues = "auto" | "start" | "end" | "center" | "stretch" | "baseline";
15
+ declare type PlaceContentValues = "normal" | "start" | "end" | "center" | "stretch" | "space-between" | "space-around" | "space-evenly" | "baseline";
16
+ declare type PlaceItemsValues = "normal" | "start" | "end" | "center" | "stretch" | "baseline";
17
+ declare type PlaceObject<Type, Suffix extends string> = {
18
+ [Property in keyof Type as `${string & Property}${Capitalize<string & Suffix>}`]: Type[Property];
19
+ };
20
+ declare type PlaceGeneric<PlaceValues, Element extends string> = PlaceObject<{
21
+ justify?: PlaceValues;
22
+ align: PlaceValues;
23
+ }, Element> | PlaceObject<{
24
+ justify: PlaceValues;
25
+ align?: PlaceValues;
26
+ }, Element> | PlaceValues;
27
+ export declare type GridItemProps = {
28
+ /**
29
+ * Sets the name of an item so that it can be referenced by a template created with the grid-template-areas property.
30
+ */
31
+ areaName?: string;
32
+ /**
33
+ * Sets the grid-column CSS property.
34
+ *
35
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column
36
+ */
37
+ column?: number | string | GridCell;
38
+ /**
39
+ * Sets the grid-row CSS property.
40
+ *
41
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row
42
+ */
43
+ row?: number | string | GridCell;
44
+ /**
45
+ * Sets the place-self CSS property.
46
+ *
47
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/place-self
48
+ */
49
+ placeSelf?: PlaceGeneric<PlaceSelfValues, "self">;
50
+ /**
51
+ * Sets a custom HTML tag.
52
+ */
53
+ as?: keyof HTMLElementTagNameMap;
54
+ /**
55
+ * Custom content inside the grid container.
56
+ */
57
+ children: React.ReactNode;
58
+ };
59
+ declare type Props = GridItemProps & {
60
+ /**
61
+ * Sets the grid-auto-columns CSS property.
62
+ *
63
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-columns
64
+ */
65
+ autoColumns?: string;
66
+ /**
67
+ * Sets the grid-auto-flow CSS property.
68
+ *
69
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-flow
70
+ */
71
+ autoFlow?: "row" | "column" | "row dense" | "column dense";
72
+ /**
73
+ * Sets the grid-auto-rows CSS property.
74
+ *
75
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-rows
76
+ */
77
+ autoRows?: string;
78
+ /**
79
+ * Sets the gap CSS property.
80
+ *
81
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/gap
82
+ */
83
+ gap?: Spaces | Gap;
84
+ /**
85
+ * Sets the place-content CSS property.
86
+ *
87
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/place-content
88
+ */
89
+ placeContent?: PlaceGeneric<PlaceContentValues, "content">;
90
+ /**
91
+ * Sets the place-items CSS property.
92
+ *
93
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/place-items
94
+ */
95
+ placeItems?: PlaceGeneric<PlaceItemsValues, "items">;
96
+ /**
97
+ * Sets the grid-template-areas CSS property.
98
+ *
99
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-areas
100
+ */
101
+ templateAreas?: string[];
102
+ /**
103
+ * Sets the grid-template-columns CSS property.
104
+ *
105
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns
106
+ */
107
+ templateColumns?: string[];
108
+ /**
109
+ * Sets the grid-template-rows CSS property.
110
+ *
111
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-rows
112
+ */
113
+ templateRows?: string[];
114
+ };
115
+ export default Props;
@@ -1,7 +1,8 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
+ import DxcDropdown from "../dropdown/Dropdown";
2
3
  import HeaderPropsType from "./types";
3
4
  declare const DxcHeader: {
4
5
  ({ underlined, content, responsiveContent, onClick, margin, padding, tabIndex, }: HeaderPropsType): JSX.Element;
5
- Dropdown: (props: any) => JSX.Element;
6
+ Dropdown: (props: React.ComponentProps<typeof DxcDropdown>) => JSX.Element;
6
7
  };
7
8
  export default DxcHeader;
package/header/Header.js CHANGED
@@ -19,13 +19,11 @@ var _react = _interopRequireWildcard(require("react"));
19
19
 
20
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
21
 
22
- var _AppBar = _interopRequireDefault(require("@material-ui/core/AppBar"));
23
-
24
22
  var _Dropdown = _interopRequireDefault(require("../dropdown/Dropdown"));
25
23
 
26
24
  var _Icons = require("./Icons");
27
25
 
28
- var _variables = require("../common/variables.js");
26
+ var _variables = require("../common/variables");
29
27
 
30
28
  var _useTheme = _interopRequireDefault(require("../useTheme"));
31
29
 
@@ -41,14 +39,11 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
41
39
 
42
40
  var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
43
41
  xmlns: "http://www.w3.org/2000/svg",
44
- height: "24",
45
42
  viewBox: "0 0 24 24",
43
+ height: "24",
46
44
  width: "24"
47
45
  }, /*#__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"
46
+ d: "M6.4 19 5 17.6l5.6-5.6L5 6.4 6.4 5l5.6 5.6L17.6 5 19 6.4 13.4 12l5.6 5.6-1.4 1.4-5.6-5.6Z"
52
47
  }));
53
48
 
54
49
  var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
@@ -64,33 +59,40 @@ var Dropdown = function Dropdown(props) {
64
59
  return /*#__PURE__*/_react["default"].createElement(HeaderDropdown, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], props));
65
60
  };
66
61
 
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"])));
62
+ var HeaderDropdown = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n button {\n background-color: transparent;\n :hover {\n background-color: transparent;\n }\n }\n"])));
68
63
 
69
64
  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;
65
+ if (!themeInput) return _Icons.dxcLogo;else if (typeof themeInput === "string") return /*#__PURE__*/_react["default"].createElement(LogoImg, {
66
+ alt: logoLabel,
67
+ src: themeInput
68
+ });else return themeInput;
82
69
  };
83
70
 
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,
71
+ var Content = function Content(_ref) {
72
+ var isResponsive = _ref.isResponsive,
88
73
  responsiveContent = _ref.responsiveContent,
89
- onClick = _ref.onClick,
90
- margin = _ref.margin,
74
+ handleMenu = _ref.handleMenu,
91
75
  padding = _ref.padding,
92
- _ref$tabIndex = _ref.tabIndex,
93
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
76
+ content = _ref.content;
77
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
78
+ return isResponsive ? /*#__PURE__*/_react["default"].createElement(MenuContent, {
79
+ backgroundType: backgroundType
80
+ }, responsiveContent(handleMenu)) : /*#__PURE__*/_react["default"].createElement(ContentContainer, {
81
+ padding: padding,
82
+ backgroundType: backgroundType
83
+ }, content);
84
+ };
85
+
86
+ var DxcHeader = function DxcHeader(_ref2) {
87
+ var _ref2$underlined = _ref2.underlined,
88
+ underlined = _ref2$underlined === void 0 ? false : _ref2$underlined,
89
+ content = _ref2.content,
90
+ responsiveContent = _ref2.responsiveContent,
91
+ onClick = _ref2.onClick,
92
+ margin = _ref2.margin,
93
+ padding = _ref2.padding,
94
+ _ref2$tabIndex = _ref2.tabIndex,
95
+ tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;
94
96
  var colorsTheme = (0, _useTheme["default"])();
95
97
  var translatedLabels = (0, _useTranslatedLabels["default"])();
96
98
  var ref = (0, _react.useRef)(null);
@@ -105,19 +107,9 @@ var DxcHeader = function DxcHeader(_ref) {
105
107
  isMenuVisible = _useState4[0],
106
108
  setIsMenuVisible = _useState4[1];
107
109
 
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
- };
110
+ var handleResize = (0, _react.useCallback)(function () {
111
+ setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches);
112
+ }, []);
121
113
 
122
114
  var handleMenu = function handleMenu() {
123
115
  if (isResponsive && !isMenuVisible) {
@@ -134,67 +126,75 @@ var DxcHeader = function DxcHeader(_ref) {
134
126
  return getLogoElement(colorsTheme.header.logoResponsive, translatedLabels.formFields.logoAlternativeText);
135
127
  }, [colorsTheme.header.logoResponsive]);
136
128
  (0, _react.useEffect)(function () {
137
- if (ref.current) {
138
- window.addEventListener("resize", handleResize);
139
- handleResize();
140
- }
141
-
129
+ handleResize();
130
+ window.addEventListener("resize", handleResize);
142
131
  return function () {
143
132
  window.removeEventListener("resize", handleResize);
144
133
  };
145
- }, []);
134
+ }, [handleResize]);
135
+ (0, _react.useEffect)(function () {
136
+ !isResponsive && setIsMenuVisible(false);
137
+ }, [isResponsive]);
146
138
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
147
139
  theme: colorsTheme.header
148
140
  }, /*#__PURE__*/_react["default"].createElement(HeaderContainer, {
149
- $underlined: underlined,
150
- position: "static",
141
+ underlined: underlined,
151
142
  margin: margin,
152
143
  ref: ref
153
144
  }, /*#__PURE__*/_react["default"].createElement(LogoAnchor, {
154
- tabIndex: typeof onClick === "function" ? tabIndex : -1,
155
- interactuable: typeof onClick === "function",
145
+ tabIndex: onClick ? tabIndex : -1,
146
+ interactuable: onClick ? true : false,
156
147
  onClick: onClick
157
148
  }, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, headerLogo)), isResponsive && responsiveContent && /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(ChildContainer, {
158
149
  padding: padding
159
- }, /*#__PURE__*/_react["default"].createElement(HamburguerItem, {
150
+ }, /*#__PURE__*/_react["default"].createElement(HamburguerTrigger, {
160
151
  tabIndex: tabIndex,
161
- underlined: underlined,
162
152
  onClick: handleMenu
163
- }, hamburgerIcon, /*#__PURE__*/_react["default"].createElement(HamburguerTitle, null, "Menu"))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
153
+ }, hamburgerIcon, translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
164
154
  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, {
155
+ }, /*#__PURE__*/_react["default"].createElement(ResponsiveIconsContainer, null, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(CloseAction, {
168
156
  tabIndex: tabIndex,
169
157
  onClick: handleMenu,
170
- className: "closeIcon"
171
- }, closeIcon)), /*#__PURE__*/_react["default"].createElement(Overlay, {
158
+ "aria-label": translatedLabels.header.closeIcon,
159
+ title: translatedLabels.header.closeIcon
160
+ }, closeIcon)), /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
161
+ color: colorsTheme.header.menuBackgroundColor
162
+ }, /*#__PURE__*/_react["default"].createElement(Content, {
163
+ isResponsive: isResponsive,
164
+ responsiveContent: responsiveContent,
165
+ handleMenu: handleMenu,
166
+ padding: padding,
167
+ content: content
168
+ }))), /*#__PURE__*/_react["default"].createElement(Overlay, {
172
169
  onClick: handleMenu,
173
170
  hasVisibility: isMenuVisible
174
- }))), !isResponsive && /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
171
+ })), !isResponsive && /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
175
172
  color: colorsTheme.header.backgroundColor
176
- }, /*#__PURE__*/_react["default"].createElement(ContentContainerComponent, null))));
173
+ }, /*#__PURE__*/_react["default"].createElement(Content, {
174
+ isResponsive: isResponsive,
175
+ responsiveContent: responsiveContent,
176
+ handleMenu: handleMenu,
177
+ padding: padding,
178
+ content: content
179
+ }))));
177
180
  };
178
181
 
179
182
  DxcHeader.Dropdown = Dropdown;
180
- var HeaderContainer = (0, _styledComponents["default"])(_AppBar["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: ", ";\n\n &.MuiAppBar-colorPrimary {\n background-color: ", ";\n border-bottom: ", ";\n\n &.MuiPaper-elevation4 {\n box-shadow: none;\n }\n .ChildComponents {\n display: flex;\n align-items: center;\n }\n }\n & {\n min-height: ", ";\n }\n &.MuiAppBar-root {\n flex-direction: row;\n align-items: center;\n padding: ", ";\n justify-content: space-between;\n }\n"])), function (props) {
181
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
183
+
184
+ var HeaderContainer = _styledComponents["default"].header(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n min-height: ", ";\n margin-bottom: ", ";\n padding: ", ";\n background-color: ", ";\n border-bottom: ", ";\n"])), function (props) {
185
+ return props.theme.minHeight;
182
186
  }, function (props) {
183
- return props.theme.backgroundColor;
187
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
184
188
  }, function (props) {
185
- return props.$underlined && "".concat(props.theme.underlinedThickness, " ").concat(props.theme.underlinedStyle, " ").concat(props.theme.underlinedColor);
189
+ return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
186
190
  }, function (props) {
187
- return props.theme.minHeight;
191
+ return props.theme.backgroundColor;
188
192
  }, function (props) {
189
- return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
193
+ return props.underlined && "".concat(props.theme.underlinedThickness, " ").concat(props.theme.underlinedStyle, " ").concat(props.theme.underlinedColor);
190
194
  });
191
195
 
192
- var LogoAnchor = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n"])), function (props) {
193
- if (!props.interactuable) {
194
- return "cursor: default; outline:none;";
195
- }
196
-
197
- return "cursor: pointer;";
196
+ var LogoAnchor = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
197
+ return props.interactuable ? "cursor: pointer" : "cursor: default; outline:none;";
198
198
  });
199
199
 
200
200
  var LogoImg = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
@@ -209,7 +209,7 @@ var LogoContainer = _styledComponents["default"].div(_templateObject5 || (_templ
209
209
  return props.theme.logoWidth;
210
210
  });
211
211
 
212
- var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n width: calc(100% - 186px);\n display: flex;\n align-items: center;\n flex-grow: 1;\n\n justify-content: flex-end;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
212
+ var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex-grow: 1;\n width: calc(100% - 186px);\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
213
213
  return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
214
214
  }, function (props) {
215
215
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
@@ -221,9 +221,7 @@ var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_temp
221
221
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
222
222
  });
223
223
 
224
- var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n width: calc(100% - 186px);\n display: flex;\n align-items: center;\n flex-grow: 1;\n color: ", ";\n\n justify-content: flex-end;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
225
- return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
226
- }, function (props) {
224
+ var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n flex-grow: 1;\n justify-content: flex-end;\n width: calc(100% - 186px);\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n color: ", ";\n"])), function (props) {
227
225
  return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
228
226
  }, function (props) {
229
227
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
@@ -233,17 +231,17 @@ var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_te
233
231
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
234
232
  }, function (props) {
235
233
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
234
+ }, function (props) {
235
+ return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
236
236
  });
237
237
 
238
- var HamburguerItem = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 54px;\n cursor: pointer;\n :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n"])), function (props) {
238
+ var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 54px;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: 2px;\n background-color: transparent;\n :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
239
239
  return props.theme.hamburguerHoverColor;
240
240
  }, function (props) {
241
241
  return props.theme.hamburguerFocusColor;
242
242
  }, function (props) {
243
243
  return props.theme.hamburguerIconColor;
244
- });
245
-
246
- var HamburguerTitle = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
244
+ }, function (props) {
247
245
  return props.theme.hamburguerFontFamily;
248
246
  }, function (props) {
249
247
  return props.theme.hamburguerFontStyle;
@@ -257,9 +255,9 @@ var HamburguerTitle = _styledComponents["default"].span(_templateObject9 || (_te
257
255
  return props.theme.hamburguerFontColor;
258
256
  });
259
257
 
260
- var MainContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-grow: 1;\n"])));
258
+ var MainContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-grow: 1;\n"])));
261
259
 
262
- var ResponsiveMenu = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-evenly;\n background-color: ", ";\n position: fixed;\n top: 0;\n right: 0;\n z-index: ", ";\n\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) {
260
+ var ResponsiveMenu = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n background-color: ", ";\n position: fixed;\n top: 0;\n right: 0;\n z-index: ", ";\n\n @media (max-width: ", "rem) and (min-width: ", "rem) {\n 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
261
  return props.theme.menuBackgroundColor;
264
262
  }, function (props) {
265
263
  return props.theme.menuZindex;
@@ -273,21 +271,23 @@ var ResponsiveMenu = _styledComponents["default"].div(_templateObject11 || (_tem
273
271
  return props.hasVisibility ? "1" : "0.96";
274
272
  });
275
273
 
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) {
274
+ var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n display: flex;\n"])), function (props) {
277
275
  return props.theme.logoHeight;
278
276
  }, function (props) {
279
277
  return props.theme.logoWidth;
280
278
  });
281
279
 
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) {
280
+ var ResponsiveIconsContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n"])));
281
+
282
+ var CloseAction = _styledComponents["default"].button(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: center;\n align-content: center;\n padding: 6px;\n border: unset;\n border-radius: 2px;\n background-color: transparent;\n cursor: pointer;\n\n :focus,\n :focus-visible {\n outline: ", " auto 1px;\n }\n\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
283
283
  return props.theme.hamburguerFocusColor;
284
- }, _variables.spaces.xxsmall);
284
+ });
285
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) {
286
+ var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n height: 100%;\n color: ", ";\n"])), function (props) {
287
287
  return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
288
288
  });
289
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) {
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 display: none;\n }\n\n transition: opacity 0.2s 0.2s ease-in-out;\n z-index: ", ";\n"])), function (props) {
291
291
  return props.theme.overlayColor;
292
292
  }, function (props) {
293
293
  return props.theme.overlayOpacity;