@dxc-technology/halstack-react 0.0.0-dfd09f9 → 0.0.0-e01c6f9
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 +1 -10
- package/BackgroundColorContext.js +5 -22
- package/HalstackContext.d.ts +1235 -0
- package/HalstackContext.js +310 -0
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +116 -160
- package/accordion/Accordion.stories.tsx +103 -127
- package/accordion/Accordion.test.js +25 -41
- package/accordion/types.d.ts +5 -16
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +31 -98
- package/accordion-group/AccordionGroup.stories.tsx +94 -67
- package/accordion-group/AccordionGroup.test.js +52 -105
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/types.d.ts +11 -16
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +43 -0
- package/action-icon/types.d.ts +26 -0
- package/alert/Alert.js +23 -59
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +29 -46
- package/alert/types.d.ts +5 -5
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +8 -19
- package/badge/types.d.ts +2 -1
- package/bleed/Bleed.js +14 -55
- package/bleed/Bleed.stories.tsx +95 -95
- package/bleed/types.d.ts +2 -2
- package/box/Box.d.ts +1 -1
- package/box/Box.js +30 -81
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +2 -7
- package/box/types.d.ts +3 -14
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +89 -0
- package/bulleted-list/BulletedList.stories.tsx +115 -0
- package/bulleted-list/types.d.ts +38 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +62 -113
- package/button/Button.stories.tsx +160 -90
- package/button/Button.test.js +18 -17
- package/button/types.d.ts +12 -8
- package/card/Card.d.ts +1 -1
- package/card/Card.js +58 -102
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +11 -22
- package/card/types.d.ts +6 -11
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +141 -180
- package/checkbox/Checkbox.stories.tsx +128 -94
- package/checkbox/Checkbox.test.js +160 -39
- package/checkbox/types.d.ts +12 -6
- package/chip/Chip.js +39 -79
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +16 -31
- package/chip/types.d.ts +4 -4
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +237 -0
- package/common/coreTokens.js +184 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +6 -12
- package/common/variables.d.ts +1381 -0
- package/common/variables.js +998 -1117
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.js +153 -299
- package/date-input/DateInput.stories.tsx +203 -56
- package/date-input/DateInput.test.js +700 -371
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +115 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +58 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +72 -15
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +73 -107
- package/dialog/Dialog.stories.tsx +320 -167
- package/dialog/Dialog.test.js +287 -20
- package/dialog/types.d.ts +18 -25
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +243 -304
- package/dropdown/Dropdown.stories.tsx +245 -56
- package/dropdown/Dropdown.test.js +575 -165
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +63 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +67 -0
- package/dropdown/types.d.ts +32 -14
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +246 -357
- package/file-input/FileInput.stories.tsx +123 -12
- package/file-input/FileInput.test.js +369 -367
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +50 -99
- package/file-input/types.d.ts +25 -8
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +57 -115
- package/footer/Footer.stories.tsx +41 -19
- package/footer/Footer.test.js +33 -57
- package/footer/Icons.d.ts +2 -2
- package/footer/Icons.js +3 -8
- package/footer/types.d.ts +21 -28
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +76 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +90 -170
- package/header/Header.stories.tsx +118 -39
- package/header/Header.test.js +13 -26
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +4 -9
- package/header/types.d.ts +5 -19
- package/heading/Heading.js +10 -32
- package/heading/Heading.test.js +71 -88
- package/heading/types.d.ts +7 -7
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/inset/Inset.js +14 -55
- package/inset/Inset.stories.tsx +37 -36
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +82 -166
- package/layout/ApplicationLayout.stories.tsx +85 -94
- package/layout/Icons.d.ts +8 -0
- package/layout/Icons.js +51 -48
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +13 -0
- package/layout/types.d.ts +19 -35
- package/link/Link.d.ts +3 -2
- package/link/Link.js +61 -99
- package/link/Link.stories.tsx +155 -53
- package/link/Link.test.js +25 -53
- package/link/types.d.ts +15 -31
- package/main.d.ts +11 -12
- package/main.js +58 -109
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +90 -0
- package/nav-tabs/NavTabs.stories.tsx +274 -0
- package/nav-tabs/NavTabs.test.js +75 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +117 -0
- package/nav-tabs/types.d.ts +52 -0
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +26 -35
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +701 -377
- package/number-input/types.d.ts +12 -6
- package/package.json +44 -46
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +21 -47
- package/paginator/Paginator.js +34 -91
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +280 -211
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +22 -0
- package/paragraph/Paragraph.stories.tsx +27 -0
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.js +57 -123
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +160 -143
- package/password-input/types.d.ts +9 -8
- package/progress-bar/ProgressBar.js +65 -91
- package/progress-bar/ProgressBar.stories.tsx +93 -0
- package/progress-bar/ProgressBar.test.js +72 -44
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.js +71 -41
- package/quick-nav/QuickNav.stories.tsx +146 -27
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +59 -76
- package/radio-group/RadioGroup.js +71 -116
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +518 -457
- package/radio-group/types.d.ts +10 -10
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.js +159 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +50 -25
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +117 -118
- package/{resultsetTable → resultset-table}/types.d.ts +7 -7
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +7 -7
- package/select/Icons.js +1 -5
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +46 -51
- package/select/Option.js +20 -50
- package/select/Select.js +168 -242
- package/select/Select.stories.tsx +525 -136
- package/select/Select.test.js +2009 -1696
- package/select/types.d.ts +16 -20
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +47 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +131 -71
- package/sidenav/Sidenav.stories.tsx +251 -151
- package/sidenav/Sidenav.test.js +26 -45
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +148 -181
- package/slider/Slider.test.js +185 -81
- package/slider/types.d.ts +7 -3
- package/spinner/Spinner.js +31 -75
- package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
- package/spinner/Spinner.test.js +26 -35
- package/spinner/types.d.ts +3 -3
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +143 -121
- package/switch/Switch.stories.tsx +41 -64
- package/switch/Switch.test.js +138 -56
- package/switch/types.d.ts +9 -5
- package/table/Table.js +8 -30
- package/table/{Table.stories.jsx → Table.stories.tsx} +80 -1
- package/table/Table.test.js +3 -8
- package/table/types.d.ts +8 -8
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +113 -0
- package/tabs/Tabs.js +314 -141
- package/tabs/Tabs.stories.tsx +119 -11
- package/tabs/Tabs.test.js +223 -69
- package/tabs/types.d.ts +28 -18
- package/tag/Tag.js +33 -68
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +20 -31
- package/tag/types.d.ts +7 -7
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +56 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +67 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +84 -0
- package/text-input/TextInput.js +323 -547
- package/text-input/TextInput.stories.tsx +266 -275
- package/text-input/TextInput.test.js +1403 -1376
- package/text-input/types.d.ts +53 -14
- package/textarea/Textarea.js +79 -131
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +152 -183
- package/textarea/types.d.ts +10 -6
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +92 -106
- package/toggle-group/ToggleGroup.stories.tsx +49 -4
- package/toggle-group/ToggleGroup.test.js +69 -88
- package/toggle-group/types.d.ts +26 -17
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +23 -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 +1133 -1
- package/useTheme.js +4 -11
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +14 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +121 -0
- package/wizard/Wizard.js +51 -91
- package/wizard/Wizard.stories.tsx +40 -1
- package/wizard/Wizard.test.js +54 -81
- package/wizard/types.d.ts +7 -7
- package/ThemeContext.d.ts +0 -10
- package/ThemeContext.js +0 -243
- package/card/ice-cream.jpg +0 -0
- 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/number-input/NumberInputContext.d.ts +0 -4
- package/number-input/NumberInputContext.js +0 -19
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/progress-bar/ProgressBar.stories.jsx +0 -58
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/Radio.test.js +0 -71
- package/radio/types.d.ts +0 -54
- package/resultsetTable/ResultsetTable.js +0 -254
- 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/slider/Slider.stories.tsx +0 -177
- 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/textarea/Textarea.stories.jsx +0 -157
- /package/{list → action-icon}/types.js +0 -0
- /package/{radio → bulleted-list}/types.js +0 -0
- /package/{resultsetTable → container}/types.js +0 -0
- /package/{row → flex}/types.js +0 -0
- /package/{stack → grid}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → image/types.js} +0 -0
- /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
package/header/Header.js
CHANGED
|
@@ -1,54 +1,31 @@
|
|
|
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
|
-
var _BackgroundColorContext = _interopRequireWildcard(require("../BackgroundColorContext"));
|
|
33
|
-
|
|
17
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
34
18
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
|
|
35
|
-
|
|
36
|
-
function
|
|
37
|
-
|
|
38
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
39
|
-
|
|
19
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
20
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
40
21
|
var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
41
22
|
xmlns: "http://www.w3.org/2000/svg",
|
|
42
|
-
height: "24",
|
|
43
23
|
viewBox: "0 0 24 24",
|
|
24
|
+
height: "24",
|
|
44
25
|
width: "24"
|
|
45
26
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
46
|
-
d: "
|
|
47
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
48
|
-
d: "M0 0h24v24H0z",
|
|
49
|
-
fill: "none"
|
|
27
|
+
d: "M6.4 19 5 17.6l5.6-5.6L5 6.4 6.4 5l5.6 5.6L17.6 5 19 6.4 13.4 12l5.6 5.6-1.4 1.4-5.6-5.6Z"
|
|
50
28
|
}));
|
|
51
|
-
|
|
52
29
|
var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
53
30
|
xmlns: "http://www.w3.org/2000/svg",
|
|
54
31
|
viewBox: "0 0 24 24",
|
|
@@ -57,65 +34,46 @@ var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
57
34
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
58
35
|
d: "M3,8H21a1,1,0,0,0,0-2H3A1,1,0,0,0,3,8Zm18,8H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Zm0-5H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Z"
|
|
59
36
|
}));
|
|
60
|
-
|
|
61
37
|
var Dropdown = function Dropdown(props) {
|
|
62
38
|
return /*#__PURE__*/_react["default"].createElement(HeaderDropdown, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], props));
|
|
63
39
|
};
|
|
64
|
-
|
|
65
|
-
var
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
if (typeof themeInput === "string") {
|
|
73
|
-
return /*#__PURE__*/_react["default"].createElement(LogoImg, {
|
|
74
|
-
alt: "Logo",
|
|
75
|
-
src: themeInput
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
return themeInput;
|
|
40
|
+
var HeaderDropdown = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n button {\n background-color: transparent;\n :hover {\n background-color: transparent;\n }\n }\n"])));
|
|
41
|
+
var getLogoElement = function getLogoElement(themeInput, logoLabel) {
|
|
42
|
+
if (!themeInput) return _Icons.dxcLogo;else if (typeof themeInput === "string") return /*#__PURE__*/_react["default"].createElement(LogoImg, {
|
|
43
|
+
alt: logoLabel,
|
|
44
|
+
src: themeInput
|
|
45
|
+
});else return themeInput;
|
|
80
46
|
};
|
|
81
|
-
|
|
82
|
-
var
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
47
|
+
var Content = function Content(_ref) {
|
|
48
|
+
var isResponsive = _ref.isResponsive,
|
|
49
|
+
responsiveContent = _ref.responsiveContent,
|
|
50
|
+
handleMenu = _ref.handleMenu,
|
|
51
|
+
content = _ref.content;
|
|
52
|
+
return isResponsive ? /*#__PURE__*/_react["default"].createElement(MenuContent, null, responsiveContent(handleMenu)) : /*#__PURE__*/_react["default"].createElement(ContentContainer, null, content);
|
|
53
|
+
};
|
|
54
|
+
var DxcHeader = function DxcHeader(_ref2) {
|
|
55
|
+
var _ref2$underlined = _ref2.underlined,
|
|
56
|
+
underlined = _ref2$underlined === void 0 ? false : _ref2$underlined,
|
|
57
|
+
content = _ref2.content,
|
|
58
|
+
responsiveContent = _ref2.responsiveContent,
|
|
59
|
+
onClick = _ref2.onClick,
|
|
60
|
+
margin = _ref2.margin,
|
|
61
|
+
_ref2$tabIndex = _ref2.tabIndex,
|
|
62
|
+
tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;
|
|
92
63
|
var colorsTheme = (0, _useTheme["default"])();
|
|
64
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
93
65
|
var ref = (0, _react.useRef)(null);
|
|
94
|
-
|
|
95
66
|
var _useState = (0, _react.useState)(false),
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
67
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
68
|
+
isResponsive = _useState2[0],
|
|
69
|
+
setIsResponsive = _useState2[1];
|
|
100
70
|
var _useState3 = (0, _react.useState)(false),
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
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
|
-
};
|
|
118
|
-
|
|
71
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
72
|
+
isMenuVisible = _useState4[0],
|
|
73
|
+
setIsMenuVisible = _useState4[1];
|
|
74
|
+
var handleResize = (0, _react.useCallback)(function () {
|
|
75
|
+
setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches);
|
|
76
|
+
}, []);
|
|
119
77
|
var handleMenu = function handleMenu() {
|
|
120
78
|
if (isResponsive && !isMenuVisible) {
|
|
121
79
|
setIsMenuVisible(!isMenuVisible);
|
|
@@ -123,124 +81,93 @@ var DxcHeader = function DxcHeader(_ref) {
|
|
|
123
81
|
setIsMenuVisible(!isMenuVisible);
|
|
124
82
|
}
|
|
125
83
|
};
|
|
126
|
-
|
|
127
84
|
var headerLogo = (0, _react.useMemo)(function () {
|
|
128
|
-
return getLogoElement(colorsTheme.header.logo);
|
|
85
|
+
return getLogoElement(colorsTheme.header.logo, translatedLabels.formFields.logoAlternativeText);
|
|
129
86
|
}, [colorsTheme.header.logo]);
|
|
130
87
|
var headerResponsiveLogo = (0, _react.useMemo)(function () {
|
|
131
|
-
return getLogoElement(colorsTheme.header.logoResponsive);
|
|
88
|
+
return getLogoElement(colorsTheme.header.logoResponsive, translatedLabels.formFields.logoAlternativeText);
|
|
132
89
|
}, [colorsTheme.header.logoResponsive]);
|
|
133
90
|
(0, _react.useEffect)(function () {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
handleResize();
|
|
137
|
-
}
|
|
138
|
-
|
|
91
|
+
handleResize();
|
|
92
|
+
window.addEventListener("resize", handleResize);
|
|
139
93
|
return function () {
|
|
140
94
|
window.removeEventListener("resize", handleResize);
|
|
141
95
|
};
|
|
142
|
-
}, []);
|
|
96
|
+
}, [handleResize]);
|
|
97
|
+
(0, _react.useEffect)(function () {
|
|
98
|
+
!isResponsive && setIsMenuVisible(false);
|
|
99
|
+
}, [isResponsive]);
|
|
143
100
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
144
101
|
theme: colorsTheme.header
|
|
145
102
|
}, /*#__PURE__*/_react["default"].createElement(HeaderContainer, {
|
|
146
|
-
|
|
147
|
-
position: "static",
|
|
103
|
+
underlined: underlined,
|
|
148
104
|
margin: margin,
|
|
149
105
|
ref: ref
|
|
150
106
|
}, /*#__PURE__*/_react["default"].createElement(LogoAnchor, {
|
|
151
|
-
tabIndex:
|
|
152
|
-
interactuable:
|
|
107
|
+
tabIndex: onClick ? tabIndex : -1,
|
|
108
|
+
interactuable: onClick ? true : false,
|
|
153
109
|
onClick: onClick
|
|
154
|
-
}, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, headerLogo)), isResponsive && responsiveContent && /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(ChildContainer, {
|
|
155
|
-
padding: padding
|
|
156
|
-
}, /*#__PURE__*/_react["default"].createElement(HamburguerItem, {
|
|
110
|
+
}, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, headerLogo)), isResponsive && responsiveContent && /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(ChildContainer, null, /*#__PURE__*/_react["default"].createElement(HamburguerTrigger, {
|
|
157
111
|
tabIndex: tabIndex,
|
|
158
|
-
underlined: underlined,
|
|
159
112
|
onClick: handleMenu
|
|
160
|
-
}, hamburgerIcon,
|
|
113
|
+
}, hamburgerIcon, translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
|
|
161
114
|
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, {
|
|
115
|
+
}, /*#__PURE__*/_react["default"].createElement(ResponsiveIconsContainer, null, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(CloseAction, {
|
|
165
116
|
tabIndex: tabIndex,
|
|
166
117
|
onClick: handleMenu,
|
|
167
|
-
|
|
168
|
-
|
|
118
|
+
"aria-label": translatedLabels.header.closeIcon,
|
|
119
|
+
title: translatedLabels.header.closeIcon
|
|
120
|
+
}, closeIcon)), /*#__PURE__*/_react["default"].createElement(Content, {
|
|
121
|
+
isResponsive: isResponsive,
|
|
122
|
+
responsiveContent: responsiveContent,
|
|
123
|
+
handleMenu: handleMenu,
|
|
124
|
+
content: content
|
|
125
|
+
})), /*#__PURE__*/_react["default"].createElement(Overlay, {
|
|
169
126
|
onClick: handleMenu,
|
|
170
127
|
hasVisibility: isMenuVisible
|
|
171
|
-
}))
|
|
172
|
-
|
|
173
|
-
|
|
128
|
+
})), !isResponsive && /*#__PURE__*/_react["default"].createElement(Content, {
|
|
129
|
+
isResponsive: isResponsive,
|
|
130
|
+
responsiveContent: responsiveContent,
|
|
131
|
+
handleMenu: handleMenu,
|
|
132
|
+
content: content
|
|
133
|
+
})));
|
|
174
134
|
};
|
|
175
|
-
|
|
176
135
|
DxcHeader.Dropdown = Dropdown;
|
|
177
|
-
var HeaderContainer =
|
|
178
|
-
return props.
|
|
136
|
+
var HeaderContainer = _styledComponents["default"].header(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n min-height: ", ";\n margin-bottom: ", ";\n padding: ", ";\n background-color: ", ";\n border-bottom: ", ";\n"])), function (props) {
|
|
137
|
+
return props.theme.minHeight;
|
|
179
138
|
}, function (props) {
|
|
180
|
-
return props.
|
|
139
|
+
return props.margin ? _variables.spaces[props.margin] : "0px";
|
|
181
140
|
}, function (props) {
|
|
182
|
-
return props
|
|
141
|
+
return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
|
|
183
142
|
}, function (props) {
|
|
184
|
-
return props.theme.
|
|
143
|
+
return props.theme.backgroundColor;
|
|
185
144
|
}, function (props) {
|
|
186
|
-
return
|
|
145
|
+
return props.underlined && "".concat(props.theme.underlinedThickness, " ").concat(props.theme.underlinedStyle, " ").concat(props.theme.underlinedColor);
|
|
187
146
|
});
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
if (!props.interactuable) {
|
|
191
|
-
return "cursor: default; outline:none;";
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
return "cursor: pointer;";
|
|
147
|
+
var LogoAnchor = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
|
|
148
|
+
return props.interactuable ? "cursor: pointer" : "cursor: default; outline:none;";
|
|
195
149
|
});
|
|
196
|
-
|
|
197
150
|
var LogoImg = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
|
|
198
151
|
return props.theme.logoHeight;
|
|
199
152
|
}, function (props) {
|
|
200
153
|
return props.theme.logoWidth;
|
|
201
154
|
});
|
|
202
|
-
|
|
203
155
|
var LogoContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n vertical-align: middle;\n"])), function (props) {
|
|
204
156
|
return props.theme.logoHeight;
|
|
205
157
|
}, function (props) {
|
|
206
158
|
return props.theme.logoWidth;
|
|
207
159
|
});
|
|
208
|
-
|
|
209
|
-
var
|
|
210
|
-
return props.
|
|
211
|
-
}, function (props) {
|
|
212
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
|
|
213
|
-
}, function (props) {
|
|
214
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
|
|
215
|
-
}, function (props) {
|
|
216
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
|
|
217
|
-
}, function (props) {
|
|
218
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
|
|
219
|
-
});
|
|
220
|
-
|
|
221
|
-
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) {
|
|
222
|
-
return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
|
|
223
|
-
}, function (props) {
|
|
224
|
-
return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
|
|
225
|
-
}, function (props) {
|
|
226
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
|
|
227
|
-
}, function (props) {
|
|
228
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
|
|
229
|
-
}, function (props) {
|
|
230
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
|
|
231
|
-
}, function (props) {
|
|
232
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
|
|
160
|
+
var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex-grow: 1;\n width: calc(100% - 186px);\n"])));
|
|
161
|
+
var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n flex-grow: 1;\n justify-content: flex-end;\n width: calc(100% - 186px);\n color: ", ";\n"])), function (props) {
|
|
162
|
+
return props.theme.contentColor;
|
|
233
163
|
});
|
|
234
|
-
|
|
235
|
-
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) {
|
|
164
|
+
var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 54px;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: 2px;\n background-color: transparent;\n :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
|
|
236
165
|
return props.theme.hamburguerHoverColor;
|
|
237
166
|
}, function (props) {
|
|
238
167
|
return props.theme.hamburguerFocusColor;
|
|
239
168
|
}, function (props) {
|
|
240
169
|
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) {
|
|
170
|
+
}, function (props) {
|
|
244
171
|
return props.theme.hamburguerFontFamily;
|
|
245
172
|
}, function (props) {
|
|
246
173
|
return props.theme.hamburguerFontStyle;
|
|
@@ -253,10 +180,8 @@ var HamburguerTitle = _styledComponents["default"].span(_templateObject9 || (_te
|
|
|
253
180
|
}, function (props) {
|
|
254
181
|
return props.theme.hamburguerFontColor;
|
|
255
182
|
});
|
|
256
|
-
|
|
257
|
-
var
|
|
258
|
-
|
|
259
|
-
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) {
|
|
183
|
+
var MainContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-grow: 1;\n"])));
|
|
184
|
+
var ResponsiveMenu = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n background-color: ", ";\n position: fixed;\n top: 0;\n right: 0;\n z-index: ", ";\n\n @media (max-width: ", "rem) and (min-width: ", "rem) {\n width: ", ";\n }\n\n @media (not((max-width: ", "rem) and (min-width: ", "rem))) {\n width: ", ";\n }\n\n height: 100vh;\n padding: 20px;\n transform: ", ";\n opacity: ", ";\n transition-property: transform, opacity;\n transition-duration: 0.6s;\n transition-timing-function: ease-in-out;\n box-sizing: border-box;\n"])), function (props) {
|
|
260
185
|
return props.theme.menuBackgroundColor;
|
|
261
186
|
}, function (props) {
|
|
262
187
|
return props.theme.menuZindex;
|
|
@@ -269,22 +194,19 @@ var ResponsiveMenu = _styledComponents["default"].div(_templateObject11 || (_tem
|
|
|
269
194
|
}, function (props) {
|
|
270
195
|
return props.hasVisibility ? "1" : "0.96";
|
|
271
196
|
});
|
|
272
|
-
|
|
273
|
-
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) {
|
|
197
|
+
var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n display: flex;\n"])), function (props) {
|
|
274
198
|
return props.theme.logoHeight;
|
|
275
199
|
}, function (props) {
|
|
276
200
|
return props.theme.logoWidth;
|
|
277
201
|
});
|
|
278
|
-
|
|
279
|
-
var
|
|
202
|
+
var ResponsiveIconsContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n"])));
|
|
203
|
+
var CloseAction = _styledComponents["default"].button(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: center;\n align-content: center;\n padding: 6px;\n border: unset;\n border-radius: 2px;\n background-color: transparent;\n cursor: pointer;\n\n :focus,\n :focus-visible {\n outline: ", " auto 1px;\n }\n\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
|
|
280
204
|
return props.theme.hamburguerFocusColor;
|
|
281
|
-
}, _variables.spaces.xxsmall);
|
|
282
|
-
|
|
283
|
-
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) {
|
|
284
|
-
return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
|
|
285
205
|
});
|
|
286
|
-
|
|
287
|
-
|
|
206
|
+
var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n height: 100%;\n color: ", ";\n"])), function (props) {
|
|
207
|
+
return props.theme.contentColor;
|
|
208
|
+
});
|
|
209
|
+
var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: ", ";\n opacity: ", " !important;\n visibility: ", ";\n opacity: ", ";\n\n @media (max-width: ", "rem) {\n display: none;\n }\n\n transition: opacity 0.2s 0.2s ease-in-out;\n z-index: ", ";\n"])), function (props) {
|
|
288
210
|
return props.theme.overlayColor;
|
|
289
211
|
}, function (props) {
|
|
290
212
|
return props.theme.overlayOpacity;
|
|
@@ -295,6 +217,4 @@ var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateOb
|
|
|
295
217
|
}, _variables.responsiveSizes.small, function (props) {
|
|
296
218
|
return props.theme.overlayZindex;
|
|
297
219
|
});
|
|
298
|
-
|
|
299
|
-
var _default = DxcHeader;
|
|
300
|
-
exports["default"] = _default;
|
|
220
|
+
var _default = exports["default"] = DxcHeader;
|
|
@@ -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,62 @@ 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: "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/2021_Facebook_icon.svg/2048px-2021_Facebook_icon.svg.png",
|
|
46
|
+
logoResponsive:
|
|
47
|
+
"https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/2021_Facebook_icon.svg/2048px-2021_Facebook_icon.svg.png",
|
|
48
|
+
contentColor: "#000000",
|
|
49
|
+
overlayColor: "#000000b3",
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
|
|
19
53
|
export const Chromatic = () => (
|
|
20
54
|
<>
|
|
21
55
|
<ExampleContainer>
|
|
22
56
|
<Title title="Default with dropdown" theme="light" level={4} />
|
|
23
|
-
<DxcHeader
|
|
57
|
+
<DxcHeader
|
|
58
|
+
content={<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />}
|
|
59
|
+
/>
|
|
24
60
|
</ExampleContainer>
|
|
25
61
|
<ExampleContainer>
|
|
26
62
|
<Title title="Underlined with text" theme="light" level={4} />
|
|
27
63
|
<DxcHeader underlined content={<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>} />
|
|
28
64
|
</ExampleContainer>
|
|
65
|
+
<ExampleContainer>
|
|
66
|
+
<Title title="Underlined, dropdown and links" theme="light" level={4} />
|
|
67
|
+
<DxcHeader
|
|
68
|
+
content={
|
|
69
|
+
<DxcFlex alignItems="center" gap="4rem">
|
|
70
|
+
<DxcLink>Link 1</DxcLink>
|
|
71
|
+
<DxcLink>Link 2</DxcLink>
|
|
72
|
+
<DxcLink>Link 3</DxcLink>
|
|
73
|
+
<DxcHeader.Dropdown options={options2} label="Label" onSelectOption={() => {}} />
|
|
74
|
+
</DxcFlex>
|
|
75
|
+
}
|
|
76
|
+
underlined
|
|
77
|
+
/>
|
|
78
|
+
</ExampleContainer>
|
|
29
79
|
<Title title="Margins" theme="light" level={2} />
|
|
30
80
|
<ExampleContainer>
|
|
31
81
|
<Title title="Xxsmall margin" theme="light" level={4} />
|
|
@@ -62,35 +112,20 @@ export const Chromatic = () => (
|
|
|
62
112
|
<DxcHeader underlined margin="xxlarge" />
|
|
63
113
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
64
114
|
</ExampleContainer>
|
|
65
|
-
|
|
66
|
-
<
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
<ExampleContainer>
|
|
80
|
-
<Title title="Medium padding" theme="light" level={4} />
|
|
81
|
-
<DxcHeader underlined padding="medium" />
|
|
82
|
-
</ExampleContainer>
|
|
83
|
-
<ExampleContainer>
|
|
84
|
-
<Title title="Large padding" theme="light" level={4} />
|
|
85
|
-
<DxcHeader underlined padding="large" />
|
|
86
|
-
</ExampleContainer>
|
|
87
|
-
<ExampleContainer>
|
|
88
|
-
<Title title="Xlarge padding" theme="light" level={4} />
|
|
89
|
-
<DxcHeader underlined padding="xlarge" />
|
|
90
|
-
</ExampleContainer>
|
|
91
|
-
<ExampleContainer>
|
|
92
|
-
<Title title="Xxlarge padding" theme="light" level={4} />
|
|
93
|
-
<DxcHeader underlined padding="xxlarge" />
|
|
115
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
116
|
+
<ExampleContainer>
|
|
117
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
118
|
+
<DxcHeader
|
|
119
|
+
underlined
|
|
120
|
+
content={<DxcButton label={"Custom Button"} />}
|
|
121
|
+
responsiveContent={(closeHandler) => (
|
|
122
|
+
<>
|
|
123
|
+
<DxcButton label={"Custom Button"} onClick={closeHandler} />
|
|
124
|
+
Custom content
|
|
125
|
+
</>
|
|
126
|
+
)}
|
|
127
|
+
/>
|
|
128
|
+
</HalstackProvider>
|
|
94
129
|
</ExampleContainer>
|
|
95
130
|
</>
|
|
96
131
|
);
|
|
@@ -99,8 +134,10 @@ export const ResponsiveHeader = () => (
|
|
|
99
134
|
<ExampleContainer>
|
|
100
135
|
<Title title="Responsive" theme="light" level={4} />
|
|
101
136
|
<DxcHeader
|
|
102
|
-
content={<DxcHeader.Dropdown options={options} label="Default Dropdown" />}
|
|
103
|
-
responsiveContent={(closeHandler) =>
|
|
137
|
+
content={<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />}
|
|
138
|
+
responsiveContent={(closeHandler) => (
|
|
139
|
+
<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />
|
|
140
|
+
)}
|
|
104
141
|
underlined
|
|
105
142
|
/>
|
|
106
143
|
</ExampleContainer>
|
|
@@ -120,18 +157,34 @@ const RespHeaderHover = () => (
|
|
|
120
157
|
</ExampleContainer>
|
|
121
158
|
);
|
|
122
159
|
|
|
123
|
-
const
|
|
160
|
+
const RespHeaderMenuMobile = () => (
|
|
124
161
|
<ExampleContainer>
|
|
125
162
|
<Title title="Responsive menu" theme="light" level={4} />
|
|
126
163
|
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
127
164
|
</ExampleContainer>
|
|
128
165
|
);
|
|
129
166
|
|
|
167
|
+
const RespHeaderMenuTablet = () => (
|
|
168
|
+
<ExampleContainer>
|
|
169
|
+
<Title title="Responsive menu" theme="light" level={4} />
|
|
170
|
+
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
171
|
+
</ExampleContainer>
|
|
172
|
+
);
|
|
173
|
+
|
|
174
|
+
const RespHeaderMenuOpinionated = () => (
|
|
175
|
+
<ExampleContainer>
|
|
176
|
+
<Title title="Responsive menu" theme="light" level={4} />
|
|
177
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
178
|
+
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
179
|
+
</HalstackProvider>
|
|
180
|
+
</ExampleContainer>
|
|
181
|
+
);
|
|
182
|
+
|
|
130
183
|
ResponsiveHeader.parameters = {
|
|
131
184
|
viewport: {
|
|
132
185
|
defaultViewport: "iphonex",
|
|
133
186
|
},
|
|
134
|
-
chromatic: { viewports: [
|
|
187
|
+
chromatic: { viewports: [375] },
|
|
135
188
|
};
|
|
136
189
|
|
|
137
190
|
export const ResponsiveHeaderFocus = RespHeaderFocus.bind({});
|
|
@@ -139,7 +192,7 @@ ResponsiveHeaderFocus.parameters = {
|
|
|
139
192
|
viewport: {
|
|
140
193
|
defaultViewport: "iphonex",
|
|
141
194
|
},
|
|
142
|
-
chromatic: { viewports: [
|
|
195
|
+
chromatic: { viewports: [375] },
|
|
143
196
|
};
|
|
144
197
|
ResponsiveHeaderFocus.play = async ({ canvasElement }) => {
|
|
145
198
|
const canvas = within(canvasElement);
|
|
@@ -151,21 +204,47 @@ ResponsiveHeaderHover.parameters = {
|
|
|
151
204
|
viewport: {
|
|
152
205
|
defaultViewport: "iphonex",
|
|
153
206
|
},
|
|
154
|
-
chromatic: { viewports: [
|
|
207
|
+
chromatic: { viewports: [375] },
|
|
155
208
|
};
|
|
156
209
|
ResponsiveHeaderHover.play = async ({ canvasElement }) => {
|
|
157
210
|
const canvas = within(canvasElement);
|
|
158
211
|
await waitFor(() => canvas.findByText("Menu"));
|
|
159
212
|
};
|
|
160
213
|
|
|
161
|
-
export const
|
|
162
|
-
|
|
214
|
+
export const ResponsiveHeaderMenuMobile = RespHeaderMenuMobile.bind({});
|
|
215
|
+
ResponsiveHeaderMenuMobile.parameters = {
|
|
163
216
|
viewport: {
|
|
164
217
|
defaultViewport: "iphonex",
|
|
165
218
|
},
|
|
219
|
+
chromatic: { viewports: [375] },
|
|
220
|
+
};
|
|
221
|
+
ResponsiveHeaderMenuMobile.play = async ({ canvasElement }) => {
|
|
222
|
+
const canvas = within(canvasElement);
|
|
223
|
+
await waitFor(() => canvas.findByText("Menu"));
|
|
224
|
+
await userEvent.click(canvas.getByText("Menu"));
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
export const ResponsiveHeaderMenuTablet = RespHeaderMenuTablet.bind({});
|
|
228
|
+
ResponsiveHeaderMenuTablet.parameters = {
|
|
229
|
+
viewport: {
|
|
230
|
+
defaultViewport: "pixelxl",
|
|
231
|
+
},
|
|
232
|
+
chromatic: { viewports: [720] },
|
|
233
|
+
};
|
|
234
|
+
ResponsiveHeaderMenuTablet.play = async ({ canvasElement }) => {
|
|
235
|
+
const canvas = within(canvasElement);
|
|
236
|
+
await waitFor(() => canvas.findByText("Menu"));
|
|
237
|
+
await userEvent.click(canvas.getByText("Menu"));
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
export const ResponsiveHeaderMenuOpinionated = RespHeaderMenuOpinionated.bind({});
|
|
241
|
+
ResponsiveHeaderMenuOpinionated.parameters = {
|
|
242
|
+
viewport: {
|
|
243
|
+
defaultViewport: "pixelxl",
|
|
244
|
+
},
|
|
166
245
|
chromatic: { viewports: [720] },
|
|
167
246
|
};
|
|
168
|
-
|
|
247
|
+
ResponsiveHeaderMenuOpinionated.play = async ({ canvasElement }) => {
|
|
169
248
|
const canvas = within(canvasElement);
|
|
170
249
|
await waitFor(() => canvas.findByText("Menu"));
|
|
171
250
|
await userEvent.click(canvas.getByText("Menu"));
|