@dxc-technology/halstack-react 0.0.0-0af2013 → 0.0.0-0bb6041
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.
- package/BackgroundColorContext.d.ts +2 -2
- package/BackgroundColorContext.js +1 -1
- package/HalstackContext.d.ts +1331 -5
- package/HalstackContext.js +179 -87
- package/accordion/Accordion.js +118 -110
- package/accordion/Accordion.stories.tsx +104 -16
- package/accordion/Accordion.test.js +10 -11
- package/accordion/types.d.ts +2 -1
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +25 -65
- package/accordion-group/AccordionGroup.stories.tsx +27 -1
- package/accordion-group/AccordionGroup.test.js +21 -46
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +8 -1
- package/alert/Alert.js +9 -10
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +1 -1
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +1 -0
- package/bleed/Bleed.js +1 -34
- package/bleed/Bleed.stories.tsx +95 -95
- package/bleed/types.d.ts +1 -1
- package/box/Box.js +25 -37
- package/box/Box.stories.tsx +15 -0
- package/box/Box.test.js +1 -1
- package/box/types.d.ts +1 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +125 -0
- package/bulleted-list/BulletedList.stories.tsx +206 -0
- package/bulleted-list/types.d.ts +38 -0
- package/button/Button.js +52 -73
- package/button/Button.stories.tsx +159 -8
- package/button/Button.test.js +1 -1
- package/button/types.d.ts +5 -5
- package/card/Card.js +41 -44
- package/card/Card.stories.tsx +12 -13
- package/card/Card.test.js +1 -1
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +97 -101
- package/checkbox/Checkbox.stories.tsx +131 -59
- package/checkbox/Checkbox.test.js +94 -17
- package/checkbox/types.d.ts +4 -0
- package/chip/Chip.js +28 -49
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +3 -5
- package/chip/types.d.ts +1 -1
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +146 -0
- package/common/coreTokens.js +167 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +4 -4
- package/common/variables.d.ts +1482 -0
- package/common/variables.js +1095 -1106
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +136 -236
- package/date-input/DateInput.stories.tsx +199 -33
- package/date-input/DateInput.test.js +494 -138
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +146 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +126 -0
- package/date-input/types.d.ts +51 -0
- package/dialog/Dialog.js +80 -69
- package/dialog/Dialog.stories.tsx +230 -123
- package/dialog/Dialog.test.js +334 -5
- package/dialog/types.d.ts +1 -0
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +246 -249
- package/dropdown/Dropdown.stories.tsx +245 -56
- package/dropdown/Dropdown.test.js +507 -110
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +74 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +79 -0
- package/dropdown/types.d.ts +23 -3
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +180 -223
- package/file-input/FileInput.stories.tsx +122 -11
- package/file-input/FileInput.test.js +14 -14
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +44 -66
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +71 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/footer/Footer.js +12 -12
- package/footer/Footer.stories.tsx +99 -1
- package/footer/Footer.test.js +14 -26
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +2 -1
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +91 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/header/Header.d.ts +3 -2
- package/header/Header.js +95 -92
- package/header/Header.stories.tsx +152 -9
- package/header/Header.test.js +2 -2
- package/header/Icons.js +2 -2
- package/header/types.d.ts +1 -0
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +1 -1
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +37 -36
- package/inset/types.d.ts +1 -1
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +71 -118
- package/layout/ApplicationLayout.stories.tsx +84 -93
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +19 -35
- package/link/Link.d.ts +2 -2
- package/link/Link.js +26 -52
- package/link/Link.stories.tsx +73 -6
- package/link/Link.test.js +2 -4
- package/link/types.d.ts +5 -6
- package/main.d.ts +8 -10
- package/main.js +42 -52
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +122 -0
- package/nav-tabs/NavTabs.stories.tsx +274 -0
- package/nav-tabs/NavTabs.test.js +82 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +146 -0
- package/nav-tabs/types.d.ts +52 -0
- package/number-input/NumberInput.test.js +44 -8
- package/number-input/types.d.ts +1 -1
- package/package.json +17 -21
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +20 -49
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +91 -39
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +7 -4
- package/password-input/PasswordInput.test.js +15 -15
- package/password-input/types.d.ts +1 -1
- package/progress-bar/ProgressBar.js +61 -55
- package/progress-bar/ProgressBar.stories.jsx +47 -12
- package/progress-bar/ProgressBar.test.js +68 -23
- package/quick-nav/QuickNav.js +75 -22
- package/quick-nav/QuickNav.stories.tsx +145 -26
- package/quick-nav/types.d.ts +1 -1
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +46 -31
- package/radio-group/RadioGroup.js +37 -36
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +124 -97
- package/radio-group/types.d.ts +2 -2
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +49 -108
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +61 -42
- package/resultsetTable/types.d.ts +1 -1
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +37 -16
- package/select/Option.js +11 -24
- package/select/Select.js +127 -116
- package/select/Select.stories.tsx +522 -133
- package/select/Select.test.js +474 -303
- package/select/types.d.ts +3 -6
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +146 -44
- package/sidenav/Sidenav.stories.tsx +251 -151
- package/sidenav/Sidenav.test.js +25 -37
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +121 -97
- package/slider/Slider.stories.tsx +64 -1
- package/slider/Slider.test.js +122 -22
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +18 -24
- package/spinner/Spinner.stories.jsx +53 -27
- package/spinner/Spinner.test.js +1 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +140 -70
- package/switch/Switch.stories.tsx +41 -30
- package/switch/Switch.test.js +145 -18
- package/switch/types.d.ts +4 -0
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +2 -2
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +132 -0
- package/tabs/Tabs.js +358 -108
- package/tabs/Tabs.stories.tsx +119 -5
- package/tabs/Tabs.test.js +220 -10
- package/tabs/types.d.ts +13 -3
- package/tag/Tag.js +8 -10
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +1 -1
- package/tag/types.d.ts +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +84 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +219 -342
- package/text-input/TextInput.stories.tsx +280 -185
- package/text-input/TextInput.test.js +737 -726
- package/text-input/types.d.ts +33 -2
- package/textarea/Textarea.js +13 -23
- package/textarea/Textarea.stories.jsx +60 -1
- package/textarea/Textarea.test.js +2 -4
- package/textarea/types.d.ts +1 -1
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +7 -4
- package/toggle-group/ToggleGroup.stories.tsx +42 -0
- package/toggle-group/ToggleGroup.test.js +1 -1
- package/toggle-group/types.d.ts +2 -2
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +32 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +1234 -1
- package/useTheme.js +1 -1
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +20 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +138 -0
- package/wizard/Wizard.js +37 -42
- package/wizard/Wizard.stories.tsx +40 -1
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +3 -3
- package/common/RequiredComponent.js +0 -32
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -173
- package/radio/Radio.stories.tsx +0 -192
- package/radio/Radio.test.js +0 -71
- package/radio/types.d.ts +0 -54
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -28
- package/stack/Stack.d.ts +0 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -24
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- /package/{list → bulleted-list}/types.js +0 -0
- /package/{radio → flex}/types.js +0 -0
- /package/{row → grid}/types.js +0 -0
- /package/{stack → nav-tabs}/types.js +0 -0
package/header/Header.js
CHANGED
|
@@ -19,16 +19,16 @@ 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
|
|
26
|
+
var _variables = require("../common/variables");
|
|
29
27
|
|
|
30
28
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
31
29
|
|
|
30
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
31
|
+
|
|
32
32
|
var _BackgroundColorContext = _interopRequireWildcard(require("../BackgroundColorContext"));
|
|
33
33
|
|
|
34
34
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
|
|
@@ -39,14 +39,11 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
39
39
|
|
|
40
40
|
var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
41
41
|
xmlns: "http://www.w3.org/2000/svg",
|
|
42
|
-
height: "24",
|
|
43
42
|
viewBox: "0 0 24 24",
|
|
43
|
+
height: "24",
|
|
44
44
|
width: "24"
|
|
45
45
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
46
|
-
d: "
|
|
47
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
48
|
-
d: "M0 0h24v24H0z",
|
|
49
|
-
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"
|
|
50
47
|
}));
|
|
51
48
|
|
|
52
49
|
var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
@@ -62,34 +59,42 @@ var Dropdown = function Dropdown(props) {
|
|
|
62
59
|
return /*#__PURE__*/_react["default"].createElement(HeaderDropdown, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], props));
|
|
63
60
|
};
|
|
64
61
|
|
|
65
|
-
var HeaderDropdown = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n button {\n background-color: transparent;\n :hover {\n background-color: transparent;\n }\n }\n"])));
|
|
66
|
-
|
|
67
|
-
var getLogoElement = function getLogoElement(themeInput) {
|
|
68
|
-
if (!themeInput) {
|
|
69
|
-
return _Icons.dxcLogo;
|
|
70
|
-
}
|
|
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"])));
|
|
71
63
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
return themeInput;
|
|
64
|
+
var getLogoElement = function getLogoElement(themeInput, logoLabel) {
|
|
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;
|
|
80
69
|
};
|
|
81
70
|
|
|
82
|
-
var
|
|
83
|
-
var
|
|
84
|
-
underlined = _ref$underlined === void 0 ? false : _ref$underlined,
|
|
85
|
-
content = _ref.content,
|
|
71
|
+
var Content = function Content(_ref) {
|
|
72
|
+
var isResponsive = _ref.isResponsive,
|
|
86
73
|
responsiveContent = _ref.responsiveContent,
|
|
87
|
-
|
|
88
|
-
margin = _ref.margin,
|
|
74
|
+
handleMenu = _ref.handleMenu,
|
|
89
75
|
padding = _ref.padding,
|
|
90
|
-
|
|
91
|
-
|
|
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;
|
|
92
96
|
var colorsTheme = (0, _useTheme["default"])();
|
|
97
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
93
98
|
var ref = (0, _react.useRef)(null);
|
|
94
99
|
|
|
95
100
|
var _useState = (0, _react.useState)(false),
|
|
@@ -102,19 +107,9 @@ var DxcHeader = function DxcHeader(_ref) {
|
|
|
102
107
|
isMenuVisible = _useState4[0],
|
|
103
108
|
setIsMenuVisible = _useState4[1];
|
|
104
109
|
|
|
105
|
-
var handleResize = function
|
|
106
|
-
setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
var ContentContainerComponent = function ContentContainerComponent() {
|
|
110
|
-
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
111
|
-
return isResponsive && /*#__PURE__*/_react["default"].createElement(MenuContent, {
|
|
112
|
-
backgroundType: backgroundType
|
|
113
|
-
}, responsiveContent(handleMenu)) || /*#__PURE__*/_react["default"].createElement(ContentContainer, {
|
|
114
|
-
padding: padding,
|
|
115
|
-
backgroundType: backgroundType
|
|
116
|
-
}, content);
|
|
117
|
-
};
|
|
110
|
+
var handleResize = (0, _react.useCallback)(function () {
|
|
111
|
+
setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches);
|
|
112
|
+
}, []);
|
|
118
113
|
|
|
119
114
|
var handleMenu = function handleMenu() {
|
|
120
115
|
if (isResponsive && !isMenuVisible) {
|
|
@@ -125,73 +120,81 @@ var DxcHeader = function DxcHeader(_ref) {
|
|
|
125
120
|
};
|
|
126
121
|
|
|
127
122
|
var headerLogo = (0, _react.useMemo)(function () {
|
|
128
|
-
return getLogoElement(colorsTheme.header.logo);
|
|
123
|
+
return getLogoElement(colorsTheme.header.logo, translatedLabels.formFields.logoAlternativeText);
|
|
129
124
|
}, [colorsTheme.header.logo]);
|
|
130
125
|
var headerResponsiveLogo = (0, _react.useMemo)(function () {
|
|
131
|
-
return getLogoElement(colorsTheme.header.logoResponsive);
|
|
126
|
+
return getLogoElement(colorsTheme.header.logoResponsive, translatedLabels.formFields.logoAlternativeText);
|
|
132
127
|
}, [colorsTheme.header.logoResponsive]);
|
|
133
128
|
(0, _react.useEffect)(function () {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
handleResize();
|
|
137
|
-
}
|
|
138
|
-
|
|
129
|
+
handleResize();
|
|
130
|
+
window.addEventListener("resize", handleResize);
|
|
139
131
|
return function () {
|
|
140
132
|
window.removeEventListener("resize", handleResize);
|
|
141
133
|
};
|
|
142
|
-
}, []);
|
|
134
|
+
}, [handleResize]);
|
|
135
|
+
(0, _react.useEffect)(function () {
|
|
136
|
+
!isResponsive && setIsMenuVisible(false);
|
|
137
|
+
}, [isResponsive]);
|
|
143
138
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
144
139
|
theme: colorsTheme.header
|
|
145
140
|
}, /*#__PURE__*/_react["default"].createElement(HeaderContainer, {
|
|
146
|
-
|
|
147
|
-
position: "static",
|
|
141
|
+
underlined: underlined,
|
|
148
142
|
margin: margin,
|
|
149
143
|
ref: ref
|
|
150
144
|
}, /*#__PURE__*/_react["default"].createElement(LogoAnchor, {
|
|
151
|
-
tabIndex:
|
|
152
|
-
interactuable:
|
|
145
|
+
tabIndex: onClick ? tabIndex : -1,
|
|
146
|
+
interactuable: onClick ? true : false,
|
|
153
147
|
onClick: onClick
|
|
154
148
|
}, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, headerLogo)), isResponsive && responsiveContent && /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(ChildContainer, {
|
|
155
149
|
padding: padding
|
|
156
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
150
|
+
}, /*#__PURE__*/_react["default"].createElement(HamburguerTrigger, {
|
|
157
151
|
tabIndex: tabIndex,
|
|
158
|
-
underlined: underlined,
|
|
159
152
|
onClick: handleMenu
|
|
160
|
-
}, hamburgerIcon,
|
|
153
|
+
}, hamburgerIcon, translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
|
|
161
154
|
hasVisibility: isMenuVisible
|
|
162
|
-
}, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(
|
|
163
|
-
color: colorsTheme.header.menuBackgroundColor
|
|
164
|
-
}, /*#__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, {
|
|
165
156
|
tabIndex: tabIndex,
|
|
166
157
|
onClick: handleMenu,
|
|
167
|
-
|
|
168
|
-
|
|
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, {
|
|
169
169
|
onClick: handleMenu,
|
|
170
170
|
hasVisibility: isMenuVisible
|
|
171
|
-
}))
|
|
171
|
+
})), !isResponsive && /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
|
|
172
172
|
color: colorsTheme.header.backgroundColor
|
|
173
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
173
|
+
}, /*#__PURE__*/_react["default"].createElement(Content, {
|
|
174
|
+
isResponsive: isResponsive,
|
|
175
|
+
responsiveContent: responsiveContent,
|
|
176
|
+
handleMenu: handleMenu,
|
|
177
|
+
padding: padding,
|
|
178
|
+
content: content
|
|
179
|
+
}))));
|
|
174
180
|
};
|
|
175
181
|
|
|
176
182
|
DxcHeader.Dropdown = Dropdown;
|
|
177
|
-
|
|
178
|
-
|
|
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;
|
|
179
186
|
}, function (props) {
|
|
180
|
-
return props.
|
|
187
|
+
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
181
188
|
}, function (props) {
|
|
182
|
-
return props
|
|
189
|
+
return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
|
|
183
190
|
}, function (props) {
|
|
184
|
-
return props.theme.
|
|
191
|
+
return props.theme.backgroundColor;
|
|
185
192
|
}, function (props) {
|
|
186
|
-
return
|
|
193
|
+
return props.underlined && "".concat(props.theme.underlinedThickness, " ").concat(props.theme.underlinedStyle, " ").concat(props.theme.underlinedColor);
|
|
187
194
|
});
|
|
188
195
|
|
|
189
|
-
var LogoAnchor = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", "
|
|
190
|
-
|
|
191
|
-
return "cursor: default; outline:none;";
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
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;";
|
|
195
198
|
});
|
|
196
199
|
|
|
197
200
|
var LogoImg = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
|
|
@@ -206,7 +209,7 @@ var LogoContainer = _styledComponents["default"].div(_templateObject5 || (_templ
|
|
|
206
209
|
return props.theme.logoWidth;
|
|
207
210
|
});
|
|
208
211
|
|
|
209
|
-
var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
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) {
|
|
210
213
|
return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
|
|
211
214
|
}, function (props) {
|
|
212
215
|
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
|
|
@@ -218,9 +221,7 @@ var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_temp
|
|
|
218
221
|
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
|
|
219
222
|
});
|
|
220
223
|
|
|
221
|
-
var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
222
|
-
return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
|
|
223
|
-
}, 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) {
|
|
224
225
|
return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
|
|
225
226
|
}, function (props) {
|
|
226
227
|
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
|
|
@@ -230,17 +231,17 @@ var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_te
|
|
|
230
231
|
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
|
|
231
232
|
}, function (props) {
|
|
232
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;
|
|
233
236
|
});
|
|
234
237
|
|
|
235
|
-
var
|
|
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) {
|
|
236
239
|
return props.theme.hamburguerHoverColor;
|
|
237
240
|
}, function (props) {
|
|
238
241
|
return props.theme.hamburguerFocusColor;
|
|
239
242
|
}, function (props) {
|
|
240
243
|
return props.theme.hamburguerIconColor;
|
|
241
|
-
})
|
|
242
|
-
|
|
243
|
-
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) {
|
|
244
245
|
return props.theme.hamburguerFontFamily;
|
|
245
246
|
}, function (props) {
|
|
246
247
|
return props.theme.hamburguerFontStyle;
|
|
@@ -254,9 +255,9 @@ var HamburguerTitle = _styledComponents["default"].span(_templateObject9 || (_te
|
|
|
254
255
|
return props.theme.hamburguerFontColor;
|
|
255
256
|
});
|
|
256
257
|
|
|
257
|
-
var MainContainer = _styledComponents["default"].div(
|
|
258
|
+
var MainContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-grow: 1;\n"])));
|
|
258
259
|
|
|
259
|
-
var ResponsiveMenu = _styledComponents["default"].div(
|
|
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) {
|
|
260
261
|
return props.theme.menuBackgroundColor;
|
|
261
262
|
}, function (props) {
|
|
262
263
|
return props.theme.menuZindex;
|
|
@@ -270,21 +271,23 @@ var ResponsiveMenu = _styledComponents["default"].div(_templateObject11 || (_tem
|
|
|
270
271
|
return props.hasVisibility ? "1" : "0.96";
|
|
271
272
|
});
|
|
272
273
|
|
|
273
|
-
var ResponsiveLogoContainer = _styledComponents["default"].div(
|
|
274
|
+
var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n display: flex;\n"])), function (props) {
|
|
274
275
|
return props.theme.logoHeight;
|
|
275
276
|
}, function (props) {
|
|
276
277
|
return props.theme.logoWidth;
|
|
277
278
|
});
|
|
278
279
|
|
|
279
|
-
var
|
|
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) {
|
|
280
283
|
return props.theme.hamburguerFocusColor;
|
|
281
|
-
}
|
|
284
|
+
});
|
|
282
285
|
|
|
283
|
-
var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
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) {
|
|
284
287
|
return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
|
|
285
288
|
});
|
|
286
289
|
|
|
287
|
-
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
|
|
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) {
|
|
288
291
|
return props.theme.overlayColor;
|
|
289
292
|
}, function (props) {
|
|
290
293
|
return props.theme.overlayOpacity;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import DxcHeader from "./Header";
|
|
3
|
+
import DxcButton from "../button/Button";
|
|
3
4
|
import Title from "../../.storybook/components/Title";
|
|
4
5
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
6
|
import { userEvent, waitFor, within } from "@storybook/testing-library";
|
|
7
|
+
import DxcFlex from "../flex/Flex";
|
|
8
|
+
import DxcLink from "../link/Link";
|
|
9
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
6
10
|
|
|
7
11
|
export default {
|
|
8
12
|
title: "Header",
|
|
@@ -16,16 +20,99 @@ const options: any = [
|
|
|
16
20
|
},
|
|
17
21
|
];
|
|
18
22
|
|
|
23
|
+
const options2: any = [
|
|
24
|
+
{
|
|
25
|
+
value: 1,
|
|
26
|
+
label: "Home",
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
value: 2,
|
|
30
|
+
label: "Release notes",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
value: 3,
|
|
34
|
+
label: "Sign out",
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const opinionatedTheme = {
|
|
39
|
+
header: {
|
|
40
|
+
baseColor: "#ffffff",
|
|
41
|
+
accentColor: "#000000",
|
|
42
|
+
fontColor: "#000000",
|
|
43
|
+
menuBaseColor: "#ffffff",
|
|
44
|
+
hamburguerColor: "#000000",
|
|
45
|
+
logo: (
|
|
46
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="73" height="40" viewBox="0 0 73 40">
|
|
47
|
+
<g id="g10" transform="translate(0)">
|
|
48
|
+
<g id="g12">
|
|
49
|
+
<path
|
|
50
|
+
id="path14"
|
|
51
|
+
d="M91.613-28.177v2.514H90.231V-28.15l-2.415-3.82h1.616l1.5,2.532,1.526-2.532h1.571ZM83.9-25.555A3.15,3.15,0,0,1,80.6-28.8v-.018a3.231,3.231,0,0,1,3.294-3.262,3.442,3.442,0,0,1,2.469.865l-.87,1.054a2.311,2.311,0,0,0-1.643-.64,1.891,1.891,0,0,0-1.8,1.964v.018a1.886,1.886,0,0,0,1.9,2,2.2,2.2,0,0,0,1.3-.378v-.9H83.858v-1.2h2.729v2.738A4.071,4.071,0,0,1,83.9-25.555Zm-6.416-3.261a1.913,1.913,0,0,0-1.9-1.982A1.883,1.883,0,0,0,73.7-28.835v.018a1.913,1.913,0,0,0,1.9,1.982A1.883,1.883,0,0,0,77.486-28.8Zm-1.9,3.261a3.225,3.225,0,0,1-3.33-3.243v-.018A3.255,3.255,0,0,1,75.6-32.078a3.225,3.225,0,0,1,3.331,3.243v.018A3.255,3.255,0,0,1,75.583-25.555Zm-9.173-.108V-31.97h1.382v5.045h3.133v1.261Zm-3.433-3.153a1.913,1.913,0,0,0-1.9-1.982,1.883,1.883,0,0,0-1.886,1.964v.018a1.913,1.913,0,0,0,1.9,1.982A1.883,1.883,0,0,0,62.978-28.8Zm-1.9,3.261a3.225,3.225,0,0,1-3.33-3.243v-.018a3.255,3.255,0,0,1,3.348-3.262,3.225,3.225,0,0,1,3.331,3.243v.018A3.255,3.255,0,0,1,61.075-25.555Zm-6.508-.108-3.043-4.009v4.009H50.159V-31.97h1.275l2.944,3.883V-31.97h1.364v6.306Zm-8.246,0v-2.531h-2.55v2.531H42.389V-31.97h1.382v2.5h2.55v-2.5H47.7v6.306Zm-8.432.108A3.178,3.178,0,0,1,34.666-28.8v-.018a3.2,3.2,0,0,1,3.276-3.262,3.237,3.237,0,0,1,2.478.973l-.88,1.018a2.315,2.315,0,0,0-1.606-.712,1.866,1.866,0,0,0-1.822,1.964v.018a1.87,1.87,0,0,0,1.822,1.982,2.265,2.265,0,0,0,1.651-.739l.88.891A3.206,3.206,0,0,1,37.889-25.555Zm-9.805-.108V-31.97h4.739v1.235H29.458v1.279h2.962v1.234H29.458V-26.9h3.411v1.234ZM24.322-30.69v5.027H22.939V-30.69H21.028v-1.28h5.206v1.28H24.322"
|
|
52
|
+
transform="translate(-21.028 65.555)"
|
|
53
|
+
fill="#100f0d"
|
|
54
|
+
/>
|
|
55
|
+
<path
|
|
56
|
+
id="path16"
|
|
57
|
+
d="M75.836-76.712a8.975,8.975,0,0,1,2.246-3.9,8.393,8.393,0,0,1,6.058-2.457h9.824v-5.67H84.139a14.611,14.611,0,0,0-10.232,4.221,14.509,14.509,0,0,0-3.076,4.536,11.913,11.913,0,0,0-.973,3.271Zm0,4.325a8.978,8.978,0,0,0,2.246,3.9,8.394,8.394,0,0,0,6.058,2.457h9.824v5.67H84.139A14.611,14.611,0,0,1,73.907-64.58a14.506,14.506,0,0,1-3.076-4.536,11.91,11.91,0,0,1-.973-3.271ZM57.522-69.832l-7.5,9.473H42.581L53.818-74.55,42.581-88.739H50.02l7.5,9.472,7.5-9.472h7.439L61.225-74.55l11.237,14.19H65.023Zm-12.336-6.88a11.935,11.935,0,0,0-.973-3.271,14.515,14.515,0,0,0-3.076-4.536A14.612,14.612,0,0,0,30.9-88.739H21.081v5.67H30.9a8.394,8.394,0,0,1,6.058,2.457,8.978,8.978,0,0,1,2.246,3.9Zm0,4.325a11.932,11.932,0,0,1-.973,3.271,14.511,14.511,0,0,1-3.076,4.536A14.611,14.611,0,0,1,30.9-60.359H21.081v-5.67H30.9a8.4,8.4,0,0,0,6.058-2.457,8.981,8.981,0,0,0,2.246-3.9h5.978"
|
|
58
|
+
transform="translate(-21.049 88.739)"
|
|
59
|
+
fill="#5f249f"
|
|
60
|
+
/>
|
|
61
|
+
</g>
|
|
62
|
+
</g>
|
|
63
|
+
</svg>
|
|
64
|
+
),
|
|
65
|
+
logoResponsive: (
|
|
66
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="73" height="40" viewBox="0 0 73 40">
|
|
67
|
+
<g id="g10" transform="translate(0)">
|
|
68
|
+
<g id="g12">
|
|
69
|
+
<path
|
|
70
|
+
id="path14"
|
|
71
|
+
d="M91.613-28.177v2.514H90.231V-28.15l-2.415-3.82h1.616l1.5,2.532,1.526-2.532h1.571ZM83.9-25.555A3.15,3.15,0,0,1,80.6-28.8v-.018a3.231,3.231,0,0,1,3.294-3.262,3.442,3.442,0,0,1,2.469.865l-.87,1.054a2.311,2.311,0,0,0-1.643-.64,1.891,1.891,0,0,0-1.8,1.964v.018a1.886,1.886,0,0,0,1.9,2,2.2,2.2,0,0,0,1.3-.378v-.9H83.858v-1.2h2.729v2.738A4.071,4.071,0,0,1,83.9-25.555Zm-6.416-3.261a1.913,1.913,0,0,0-1.9-1.982A1.883,1.883,0,0,0,73.7-28.835v.018a1.913,1.913,0,0,0,1.9,1.982A1.883,1.883,0,0,0,77.486-28.8Zm-1.9,3.261a3.225,3.225,0,0,1-3.33-3.243v-.018A3.255,3.255,0,0,1,75.6-32.078a3.225,3.225,0,0,1,3.331,3.243v.018A3.255,3.255,0,0,1,75.583-25.555Zm-9.173-.108V-31.97h1.382v5.045h3.133v1.261Zm-3.433-3.153a1.913,1.913,0,0,0-1.9-1.982,1.883,1.883,0,0,0-1.886,1.964v.018a1.913,1.913,0,0,0,1.9,1.982A1.883,1.883,0,0,0,62.978-28.8Zm-1.9,3.261a3.225,3.225,0,0,1-3.33-3.243v-.018a3.255,3.255,0,0,1,3.348-3.262,3.225,3.225,0,0,1,3.331,3.243v.018A3.255,3.255,0,0,1,61.075-25.555Zm-6.508-.108-3.043-4.009v4.009H50.159V-31.97h1.275l2.944,3.883V-31.97h1.364v6.306Zm-8.246,0v-2.531h-2.55v2.531H42.389V-31.97h1.382v2.5h2.55v-2.5H47.7v6.306Zm-8.432.108A3.178,3.178,0,0,1,34.666-28.8v-.018a3.2,3.2,0,0,1,3.276-3.262,3.237,3.237,0,0,1,2.478.973l-.88,1.018a2.315,2.315,0,0,0-1.606-.712,1.866,1.866,0,0,0-1.822,1.964v.018a1.87,1.87,0,0,0,1.822,1.982,2.265,2.265,0,0,0,1.651-.739l.88.891A3.206,3.206,0,0,1,37.889-25.555Zm-9.805-.108V-31.97h4.739v1.235H29.458v1.279h2.962v1.234H29.458V-26.9h3.411v1.234ZM24.322-30.69v5.027H22.939V-30.69H21.028v-1.28h5.206v1.28H24.322"
|
|
72
|
+
transform="translate(-21.028 65.555)"
|
|
73
|
+
fill="#100f0d"
|
|
74
|
+
/>
|
|
75
|
+
<path
|
|
76
|
+
id="path16"
|
|
77
|
+
d="M75.836-76.712a8.975,8.975,0,0,1,2.246-3.9,8.393,8.393,0,0,1,6.058-2.457h9.824v-5.67H84.139a14.611,14.611,0,0,0-10.232,4.221,14.509,14.509,0,0,0-3.076,4.536,11.913,11.913,0,0,0-.973,3.271Zm0,4.325a8.978,8.978,0,0,0,2.246,3.9,8.394,8.394,0,0,0,6.058,2.457h9.824v5.67H84.139A14.611,14.611,0,0,1,73.907-64.58a14.506,14.506,0,0,1-3.076-4.536,11.91,11.91,0,0,1-.973-3.271ZM57.522-69.832l-7.5,9.473H42.581L53.818-74.55,42.581-88.739H50.02l7.5,9.472,7.5-9.472h7.439L61.225-74.55l11.237,14.19H65.023Zm-12.336-6.88a11.935,11.935,0,0,0-.973-3.271,14.515,14.515,0,0,0-3.076-4.536A14.612,14.612,0,0,0,30.9-88.739H21.081v5.67H30.9a8.394,8.394,0,0,1,6.058,2.457,8.978,8.978,0,0,1,2.246,3.9Zm0,4.325a11.932,11.932,0,0,1-.973,3.271,14.511,14.511,0,0,1-3.076,4.536A14.611,14.611,0,0,1,30.9-60.359H21.081v-5.67H30.9a8.4,8.4,0,0,0,6.058-2.457,8.981,8.981,0,0,0,2.246-3.9h5.978"
|
|
78
|
+
transform="translate(-21.049 88.739)"
|
|
79
|
+
fill="#5f249f"
|
|
80
|
+
/>
|
|
81
|
+
</g>
|
|
82
|
+
</g>
|
|
83
|
+
</svg>
|
|
84
|
+
),
|
|
85
|
+
contentColor: "#000000",
|
|
86
|
+
overlayColor: "#000000b3",
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
|
|
19
90
|
export const Chromatic = () => (
|
|
20
91
|
<>
|
|
21
92
|
<ExampleContainer>
|
|
22
93
|
<Title title="Default with dropdown" theme="light" level={4} />
|
|
23
|
-
<DxcHeader
|
|
94
|
+
<DxcHeader
|
|
95
|
+
content={<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />}
|
|
96
|
+
/>
|
|
24
97
|
</ExampleContainer>
|
|
25
98
|
<ExampleContainer>
|
|
26
99
|
<Title title="Underlined with text" theme="light" level={4} />
|
|
27
100
|
<DxcHeader underlined content={<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>} />
|
|
28
101
|
</ExampleContainer>
|
|
102
|
+
<ExampleContainer>
|
|
103
|
+
<Title title="Underlined, dropdown and links" theme="light" level={4} />
|
|
104
|
+
<DxcHeader
|
|
105
|
+
content={
|
|
106
|
+
<DxcFlex alignItems="center" gap="4rem">
|
|
107
|
+
<DxcLink>Link 1</DxcLink>
|
|
108
|
+
<DxcLink>Link 2</DxcLink>
|
|
109
|
+
<DxcLink>Link 3</DxcLink>
|
|
110
|
+
<DxcHeader.Dropdown options={options2} label="Label" onSelectOption={() => {}} />
|
|
111
|
+
</DxcFlex>
|
|
112
|
+
}
|
|
113
|
+
underlined
|
|
114
|
+
/>
|
|
115
|
+
</ExampleContainer>
|
|
29
116
|
<Title title="Margins" theme="light" level={2} />
|
|
30
117
|
<ExampleContainer>
|
|
31
118
|
<Title title="Xxsmall margin" theme="light" level={4} />
|
|
@@ -62,7 +149,6 @@ export const Chromatic = () => (
|
|
|
62
149
|
<DxcHeader underlined margin="xxlarge" />
|
|
63
150
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
64
151
|
</ExampleContainer>
|
|
65
|
-
|
|
66
152
|
<Title title="Paddings" theme="light" level={2} />
|
|
67
153
|
<ExampleContainer>
|
|
68
154
|
<Title title="Xxsmall padding" theme="light" level={4} />
|
|
@@ -92,6 +178,21 @@ export const Chromatic = () => (
|
|
|
92
178
|
<Title title="Xxlarge padding" theme="light" level={4} />
|
|
93
179
|
<DxcHeader underlined padding="xxlarge" />
|
|
94
180
|
</ExampleContainer>
|
|
181
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
182
|
+
<ExampleContainer>
|
|
183
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
184
|
+
<DxcHeader
|
|
185
|
+
underlined
|
|
186
|
+
content={<DxcButton label={"Custom Button"} />}
|
|
187
|
+
responsiveContent={(closeHandler) => (
|
|
188
|
+
<>
|
|
189
|
+
<DxcButton label={"Custom Button"} onClick={closeHandler} />
|
|
190
|
+
Custom content
|
|
191
|
+
</>
|
|
192
|
+
)}
|
|
193
|
+
/>
|
|
194
|
+
</HalstackProvider>
|
|
195
|
+
</ExampleContainer>
|
|
95
196
|
</>
|
|
96
197
|
);
|
|
97
198
|
|
|
@@ -120,18 +221,34 @@ const RespHeaderHover = () => (
|
|
|
120
221
|
</ExampleContainer>
|
|
121
222
|
);
|
|
122
223
|
|
|
123
|
-
const
|
|
224
|
+
const RespHeaderMenuMobile = () => (
|
|
225
|
+
<ExampleContainer>
|
|
226
|
+
<Title title="Responsive menu" theme="light" level={4} />
|
|
227
|
+
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
228
|
+
</ExampleContainer>
|
|
229
|
+
);
|
|
230
|
+
|
|
231
|
+
const RespHeaderMenuTablet = () => (
|
|
124
232
|
<ExampleContainer>
|
|
125
233
|
<Title title="Responsive menu" theme="light" level={4} />
|
|
126
234
|
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
127
235
|
</ExampleContainer>
|
|
128
236
|
);
|
|
129
237
|
|
|
238
|
+
const RespHeaderMenuOpinionated = () => (
|
|
239
|
+
<ExampleContainer>
|
|
240
|
+
<Title title="Responsive menu" theme="light" level={4} />
|
|
241
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
242
|
+
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
243
|
+
</HalstackProvider>
|
|
244
|
+
</ExampleContainer>
|
|
245
|
+
);
|
|
246
|
+
|
|
130
247
|
ResponsiveHeader.parameters = {
|
|
131
248
|
viewport: {
|
|
132
249
|
defaultViewport: "iphonex",
|
|
133
250
|
},
|
|
134
|
-
chromatic: { viewports: [
|
|
251
|
+
chromatic: { viewports: [375] },
|
|
135
252
|
};
|
|
136
253
|
|
|
137
254
|
export const ResponsiveHeaderFocus = RespHeaderFocus.bind({});
|
|
@@ -139,7 +256,7 @@ ResponsiveHeaderFocus.parameters = {
|
|
|
139
256
|
viewport: {
|
|
140
257
|
defaultViewport: "iphonex",
|
|
141
258
|
},
|
|
142
|
-
chromatic: { viewports: [
|
|
259
|
+
chromatic: { viewports: [375] },
|
|
143
260
|
};
|
|
144
261
|
ResponsiveHeaderFocus.play = async ({ canvasElement }) => {
|
|
145
262
|
const canvas = within(canvasElement);
|
|
@@ -151,21 +268,47 @@ ResponsiveHeaderHover.parameters = {
|
|
|
151
268
|
viewport: {
|
|
152
269
|
defaultViewport: "iphonex",
|
|
153
270
|
},
|
|
154
|
-
chromatic: { viewports: [
|
|
271
|
+
chromatic: { viewports: [375] },
|
|
155
272
|
};
|
|
156
273
|
ResponsiveHeaderHover.play = async ({ canvasElement }) => {
|
|
157
274
|
const canvas = within(canvasElement);
|
|
158
275
|
await waitFor(() => canvas.findByText("Menu"));
|
|
159
276
|
};
|
|
160
277
|
|
|
161
|
-
export const
|
|
162
|
-
|
|
278
|
+
export const ResponsiveHeaderMenuMobile = RespHeaderMenuMobile.bind({});
|
|
279
|
+
ResponsiveHeaderMenuMobile.parameters = {
|
|
163
280
|
viewport: {
|
|
164
281
|
defaultViewport: "iphonex",
|
|
165
282
|
},
|
|
283
|
+
chromatic: { viewports: [375] },
|
|
284
|
+
};
|
|
285
|
+
ResponsiveHeaderMenuMobile.play = async ({ canvasElement }) => {
|
|
286
|
+
const canvas = within(canvasElement);
|
|
287
|
+
await waitFor(() => canvas.findByText("Menu"));
|
|
288
|
+
await userEvent.click(canvas.getByText("Menu"));
|
|
289
|
+
};
|
|
290
|
+
|
|
291
|
+
export const ResponsiveHeaderMenuTablet = RespHeaderMenuTablet.bind({});
|
|
292
|
+
ResponsiveHeaderMenuTablet.parameters = {
|
|
293
|
+
viewport: {
|
|
294
|
+
defaultViewport: "pixelxl",
|
|
295
|
+
},
|
|
296
|
+
chromatic: { viewports: [720] },
|
|
297
|
+
};
|
|
298
|
+
ResponsiveHeaderMenuTablet.play = async ({ canvasElement }) => {
|
|
299
|
+
const canvas = within(canvasElement);
|
|
300
|
+
await waitFor(() => canvas.findByText("Menu"));
|
|
301
|
+
await userEvent.click(canvas.getByText("Menu"));
|
|
302
|
+
};
|
|
303
|
+
|
|
304
|
+
export const ResponsiveHeaderMenuOpinionated = RespHeaderMenuOpinionated.bind({});
|
|
305
|
+
ResponsiveHeaderMenuOpinionated.parameters = {
|
|
306
|
+
viewport: {
|
|
307
|
+
defaultViewport: "pixelxl",
|
|
308
|
+
},
|
|
166
309
|
chromatic: { viewports: [720] },
|
|
167
310
|
};
|
|
168
|
-
|
|
311
|
+
ResponsiveHeaderMenuOpinionated.play = async ({ canvasElement }) => {
|
|
169
312
|
const canvas = within(canvasElement);
|
|
170
313
|
await waitFor(() => canvas.findByText("Menu"));
|
|
171
314
|
await userEvent.click(canvas.getByText("Menu"));
|
package/header/Header.test.js
CHANGED
|
@@ -6,7 +6,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
6
6
|
|
|
7
7
|
var _react2 = require("@testing-library/react");
|
|
8
8
|
|
|
9
|
-
var _Header = _interopRequireDefault(require("./Header"));
|
|
9
|
+
var _Header = _interopRequireDefault(require("./Header.tsx"));
|
|
10
10
|
|
|
11
11
|
describe("Header component tests", function () {
|
|
12
12
|
beforeAll(function () {
|
|
@@ -68,7 +68,7 @@ describe("Header component tests", function () {
|
|
|
68
68
|
});
|
|
69
69
|
|
|
70
70
|
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
71
|
-
responsiveContent: function responsiveContent(
|
|
71
|
+
responsiveContent: function responsiveContent() {
|
|
72
72
|
return /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text");
|
|
73
73
|
}
|
|
74
74
|
})),
|
package/header/Icons.js
CHANGED
|
@@ -23,12 +23,12 @@ var dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
23
23
|
id: "path14",
|
|
24
24
|
d: "M91.613-28.177v2.514H90.231V-28.15l-2.415-3.82h1.616l1.5,2.532,1.526-2.532h1.571ZM83.9-25.555A3.15,3.15,0,0,1,80.6-28.8v-.018a3.231,3.231,0,0,1,3.294-3.262,3.442,3.442,0,0,1,2.469.865l-.87,1.054a2.311,2.311,0,0,0-1.643-.64,1.891,1.891,0,0,0-1.8,1.964v.018a1.886,1.886,0,0,0,1.9,2,2.2,2.2,0,0,0,1.3-.378v-.9H83.858v-1.2h2.729v2.738A4.071,4.071,0,0,1,83.9-25.555Zm-6.416-3.261a1.913,1.913,0,0,0-1.9-1.982A1.883,1.883,0,0,0,73.7-28.835v.018a1.913,1.913,0,0,0,1.9,1.982A1.883,1.883,0,0,0,77.486-28.8Zm-1.9,3.261a3.225,3.225,0,0,1-3.33-3.243v-.018A3.255,3.255,0,0,1,75.6-32.078a3.225,3.225,0,0,1,3.331,3.243v.018A3.255,3.255,0,0,1,75.583-25.555Zm-9.173-.108V-31.97h1.382v5.045h3.133v1.261Zm-3.433-3.153a1.913,1.913,0,0,0-1.9-1.982,1.883,1.883,0,0,0-1.886,1.964v.018a1.913,1.913,0,0,0,1.9,1.982A1.883,1.883,0,0,0,62.978-28.8Zm-1.9,3.261a3.225,3.225,0,0,1-3.33-3.243v-.018a3.255,3.255,0,0,1,3.348-3.262,3.225,3.225,0,0,1,3.331,3.243v.018A3.255,3.255,0,0,1,61.075-25.555Zm-6.508-.108-3.043-4.009v4.009H50.159V-31.97h1.275l2.944,3.883V-31.97h1.364v6.306Zm-8.246,0v-2.531h-2.55v2.531H42.389V-31.97h1.382v2.5h2.55v-2.5H47.7v6.306Zm-8.432.108A3.178,3.178,0,0,1,34.666-28.8v-.018a3.2,3.2,0,0,1,3.276-3.262,3.237,3.237,0,0,1,2.478.973l-.88,1.018a2.315,2.315,0,0,0-1.606-.712,1.866,1.866,0,0,0-1.822,1.964v.018a1.87,1.87,0,0,0,1.822,1.982,2.265,2.265,0,0,0,1.651-.739l.88.891A3.206,3.206,0,0,1,37.889-25.555Zm-9.805-.108V-31.97h4.739v1.235H29.458v1.279h2.962v1.234H29.458V-26.9h3.411v1.234ZM24.322-30.69v5.027H22.939V-30.69H21.028v-1.28h5.206v1.28H24.322",
|
|
25
25
|
transform: "translate(-21.028 65.555)",
|
|
26
|
-
fill: "#
|
|
26
|
+
fill: "#010101"
|
|
27
27
|
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
28
28
|
id: "path16",
|
|
29
29
|
d: "M75.836-76.712a8.975,8.975,0,0,1,2.246-3.9,8.393,8.393,0,0,1,6.058-2.457h9.824v-5.67H84.139a14.611,14.611,0,0,0-10.232,4.221,14.509,14.509,0,0,0-3.076,4.536,11.913,11.913,0,0,0-.973,3.271Zm0,4.325a8.978,8.978,0,0,0,2.246,3.9,8.394,8.394,0,0,0,6.058,2.457h9.824v5.67H84.139A14.611,14.611,0,0,1,73.907-64.58a14.506,14.506,0,0,1-3.076-4.536,11.91,11.91,0,0,1-.973-3.271ZM57.522-69.832l-7.5,9.473H42.581L53.818-74.55,42.581-88.739H50.02l7.5,9.472,7.5-9.472h7.439L61.225-74.55l11.237,14.19H65.023Zm-12.336-6.88a11.935,11.935,0,0,0-.973-3.271,14.515,14.515,0,0,0-3.076-4.536A14.612,14.612,0,0,0,30.9-88.739H21.081v5.67H30.9a8.394,8.394,0,0,1,6.058,2.457,8.978,8.978,0,0,1,2.246,3.9Zm0,4.325a11.932,11.932,0,0,1-.973,3.271,14.511,14.511,0,0,1-3.076,4.536A14.611,14.611,0,0,1,30.9-60.359H21.081v-5.67H30.9a8.4,8.4,0,0,0,6.058-2.457,8.981,8.981,0,0,0,2.246-3.9h5.978",
|
|
30
30
|
transform: "translate(-21.049 88.739)",
|
|
31
|
-
fill: "#
|
|
31
|
+
fill: "#603494"
|
|
32
32
|
}))));
|
|
33
33
|
|
|
34
34
|
exports.dxcLogo = dxcLogo;
|
package/header/types.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ declare type Props = {
|
|
|
32
32
|
*/
|
|
33
33
|
margin?: Space;
|
|
34
34
|
/**
|
|
35
|
+
* @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
|
|
35
36
|
* Size of the padding to be applied to the custom area of the component
|
|
36
37
|
* ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
37
38
|
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in
|
package/heading/Heading.js
CHANGED
|
@@ -17,7 +17,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
17
17
|
|
|
18
18
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
19
19
|
|
|
20
|
-
var _variables = require("../common/variables
|
|
20
|
+
var _variables = require("../common/variables");
|
|
21
21
|
|
|
22
22
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
23
23
|
|