@dxc-technology/halstack-react 0.0.0-c291a0c → 0.0.0-c3c521c
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 +1215 -6
- package/HalstackContext.js +125 -110
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +116 -160
- package/accordion/Accordion.stories.tsx +102 -126
- 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 +47 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/alert/Alert.js +20 -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 +142 -42
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -3
- package/bleed/Bleed.js +13 -21
- package/bleed/Bleed.stories.tsx +64 -63
- package/bleed/types.d.ts +2 -2
- package/box/Box.d.ts +1 -1
- package/box/Box.js +19 -60
- 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 +63 -117
- package/button/Button.stories.tsx +160 -90
- package/button/Button.test.js +20 -17
- package/button/types.d.ts +12 -8
- package/card/Card.d.ts +1 -1
- package/card/Card.js +48 -89
- 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 +140 -182
- package/checkbox/Checkbox.stories.tsx +128 -94
- package/checkbox/Checkbox.test.js +160 -39
- package/checkbox/types.d.ts +11 -3
- 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 +1367 -0
- package/common/variables.js +909 -1140
- 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 +150 -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 -300
- 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 +241 -355
- 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 +45 -96
- 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 +70 -117
- package/footer/Footer.stories.tsx +60 -19
- package/footer/Footer.test.js +33 -57
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +66 -7
- package/footer/types.d.ts +25 -26
- 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 +85 -168
- 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 +13 -21
- package/inset/Inset.stories.tsx +5 -4
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +15 -6
- package/layout/ApplicationLayout.js +50 -115
- package/layout/ApplicationLayout.stories.tsx +81 -45
- package/layout/Icons.d.ts +8 -5
- package/layout/Icons.js +51 -59
- package/layout/SidenavContext.d.ts +1 -1
- package/layout/SidenavContext.js +3 -9
- package/layout/types.d.ts +21 -32
- package/link/Link.js +25 -46
- package/link/Link.stories.tsx +73 -6
- package/link/Link.test.js +24 -44
- package/link/types.d.ts +14 -14
- package/main.d.ts +12 -13
- package/main.js +45 -103
- package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
- package/{tabs-nav → nav-tabs}/NavTabs.js +28 -60
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +115 -9
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +39 -45
- package/nav-tabs/Tab.js +118 -0
- package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
- 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 +11 -5
- package/package.json +43 -46
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +21 -47
- package/paginator/Paginator.js +23 -59
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +253 -226
- 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 -126
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +160 -142
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.js +65 -91
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +39 -4
- package/progress-bar/ProgressBar.test.js +72 -44
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.js +27 -45
- 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 +67 -114
- 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 +101 -144
- 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.js +17 -49
- package/select/Option.js +27 -50
- package/select/Select.js +132 -202
- package/select/Select.stories.tsx +497 -152
- package/select/Select.test.js +1966 -1758
- package/select/types.d.ts +16 -19
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +47 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +127 -78
- 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/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +145 -126
- package/switch/Switch.stories.tsx +37 -60
- package/switch/Switch.test.js +138 -56
- package/switch/types.d.ts +7 -3
- 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 +116 -0
- package/tabs/Tabs.js +314 -141
- package/tabs/Tabs.stories.tsx +120 -6
- package/tabs/Tabs.test.js +223 -69
- package/tabs/types.d.ts +28 -18
- package/tag/Tag.js +29 -61
- 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.js +40 -28
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +84 -0
- package/text-input/TextInput.js +308 -506
- package/text-input/TextInput.stories.tsx +266 -275
- package/text-input/TextInput.test.js +1402 -1375
- package/text-input/types.d.ts +43 -16
- package/textarea/Textarea.js +70 -113
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +152 -183
- package/textarea/types.d.ts +9 -5
- 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 +1119 -1
- package/useTheme.js +2 -9
- package/useTranslatedLabels.d.ts +84 -1
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +124 -0
- package/wizard/Wizard.js +24 -66
- package/wizard/Wizard.stories.tsx +40 -1
- package/wizard/Wizard.test.js +54 -81
- package/wizard/types.d.ts +7 -7
- package/card/ice-cream.jpg +0 -0
- package/common/RequiredComponent.js +0 -32
- package/inline/Inline.d.ts +0 -4
- package/inline/Inline.js +0 -54
- package/inline/Inline.stories.tsx +0 -264
- package/inline/types.d.ts +0 -32
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -89
- 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/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 -4
- package/stack/Stack.js +0 -50
- package/stack/Stack.stories.tsx +0 -225
- package/stack/types.d.ts +0 -28
- package/tabs-nav/Tab.js +0 -132
- 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/{inline → action-icon}/types.js +0 -0
- /package/{list → 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/{tabs-nav → image}/types.js +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
- /package/{number-input/numberInputContextTypes.js → nav-tabs/types.js} +0 -0
- /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
package/header/Header.js
CHANGED
|
@@ -1,56 +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
17
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
33
|
-
|
|
34
|
-
var _BackgroundColorContext = _interopRequireWildcard(require("../BackgroundColorContext"));
|
|
35
|
-
|
|
36
18
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
|
|
37
|
-
|
|
38
|
-
function
|
|
39
|
-
|
|
40
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
41
|
-
|
|
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; }
|
|
42
21
|
var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
43
22
|
xmlns: "http://www.w3.org/2000/svg",
|
|
44
|
-
height: "24",
|
|
45
23
|
viewBox: "0 0 24 24",
|
|
24
|
+
height: "24",
|
|
46
25
|
width: "24"
|
|
47
26
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
48
|
-
d: "
|
|
49
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
50
|
-
d: "M0 0h24v24H0z",
|
|
51
|
-
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"
|
|
52
28
|
}));
|
|
53
|
-
|
|
54
29
|
var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
55
30
|
xmlns: "http://www.w3.org/2000/svg",
|
|
56
31
|
viewBox: "0 0 24 24",
|
|
@@ -59,66 +34,46 @@ var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
59
34
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
60
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"
|
|
61
36
|
}));
|
|
62
|
-
|
|
63
37
|
var Dropdown = function Dropdown(props) {
|
|
64
38
|
return /*#__PURE__*/_react["default"].createElement(HeaderDropdown, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], props));
|
|
65
39
|
};
|
|
66
|
-
|
|
67
|
-
var HeaderDropdown = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n button {\n background-color: transparent;\n :hover {\n background-color: transparent;\n }\n }\n"])));
|
|
68
|
-
|
|
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"])));
|
|
69
41
|
var getLogoElement = function getLogoElement(themeInput, logoLabel) {
|
|
70
|
-
if (!themeInput) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
if (typeof themeInput === "string") {
|
|
75
|
-
return /*#__PURE__*/_react["default"].createElement(LogoImg, {
|
|
76
|
-
alt: logoLabel,
|
|
77
|
-
src: themeInput
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
return themeInput;
|
|
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;
|
|
82
46
|
};
|
|
83
|
-
|
|
84
|
-
var
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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;
|
|
94
63
|
var colorsTheme = (0, _useTheme["default"])();
|
|
95
64
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
96
65
|
var ref = (0, _react.useRef)(null);
|
|
97
|
-
|
|
98
66
|
var _useState = (0, _react.useState)(false),
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
67
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
68
|
+
isResponsive = _useState2[0],
|
|
69
|
+
setIsResponsive = _useState2[1];
|
|
103
70
|
var _useState3 = (0, _react.useState)(false),
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
var ContentContainerComponent = function ContentContainerComponent() {
|
|
113
|
-
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
114
|
-
return isResponsive && /*#__PURE__*/_react["default"].createElement(MenuContent, {
|
|
115
|
-
backgroundType: backgroundType
|
|
116
|
-
}, responsiveContent(handleMenu)) || /*#__PURE__*/_react["default"].createElement(ContentContainer, {
|
|
117
|
-
padding: padding,
|
|
118
|
-
backgroundType: backgroundType
|
|
119
|
-
}, content);
|
|
120
|
-
};
|
|
121
|
-
|
|
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
|
+
}, []);
|
|
122
77
|
var handleMenu = function handleMenu() {
|
|
123
78
|
if (isResponsive && !isMenuVisible) {
|
|
124
79
|
setIsMenuVisible(!isMenuVisible);
|
|
@@ -126,7 +81,6 @@ var DxcHeader = function DxcHeader(_ref) {
|
|
|
126
81
|
setIsMenuVisible(!isMenuVisible);
|
|
127
82
|
}
|
|
128
83
|
};
|
|
129
|
-
|
|
130
84
|
var headerLogo = (0, _react.useMemo)(function () {
|
|
131
85
|
return getLogoElement(colorsTheme.header.logo, translatedLabels.formFields.logoAlternativeText);
|
|
132
86
|
}, [colorsTheme.header.logo]);
|
|
@@ -134,116 +88,86 @@ var DxcHeader = function DxcHeader(_ref) {
|
|
|
134
88
|
return getLogoElement(colorsTheme.header.logoResponsive, translatedLabels.formFields.logoAlternativeText);
|
|
135
89
|
}, [colorsTheme.header.logoResponsive]);
|
|
136
90
|
(0, _react.useEffect)(function () {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
handleResize();
|
|
140
|
-
}
|
|
141
|
-
|
|
91
|
+
handleResize();
|
|
92
|
+
window.addEventListener("resize", handleResize);
|
|
142
93
|
return function () {
|
|
143
94
|
window.removeEventListener("resize", handleResize);
|
|
144
95
|
};
|
|
145
|
-
}, []);
|
|
96
|
+
}, [handleResize]);
|
|
97
|
+
(0, _react.useEffect)(function () {
|
|
98
|
+
!isResponsive && setIsMenuVisible(false);
|
|
99
|
+
}, [isResponsive]);
|
|
146
100
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
147
101
|
theme: colorsTheme.header
|
|
148
102
|
}, /*#__PURE__*/_react["default"].createElement(HeaderContainer, {
|
|
149
|
-
|
|
150
|
-
position: "static",
|
|
103
|
+
underlined: underlined,
|
|
151
104
|
margin: margin,
|
|
152
105
|
ref: ref
|
|
153
106
|
}, /*#__PURE__*/_react["default"].createElement(LogoAnchor, {
|
|
154
|
-
tabIndex:
|
|
155
|
-
interactuable:
|
|
107
|
+
tabIndex: onClick ? tabIndex : -1,
|
|
108
|
+
interactuable: onClick ? true : false,
|
|
156
109
|
onClick: onClick
|
|
157
|
-
}, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, headerLogo)), isResponsive && responsiveContent && /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(ChildContainer, {
|
|
158
|
-
padding: padding
|
|
159
|
-
}, /*#__PURE__*/_react["default"].createElement(HamburguerItem, {
|
|
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, {
|
|
160
111
|
tabIndex: tabIndex,
|
|
161
|
-
underlined: underlined,
|
|
162
112
|
onClick: handleMenu
|
|
163
|
-
}, hamburgerIcon,
|
|
113
|
+
}, hamburgerIcon, translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
|
|
164
114
|
hasVisibility: isMenuVisible
|
|
165
|
-
}, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(
|
|
166
|
-
color: colorsTheme.header.menuBackgroundColor
|
|
167
|
-
}, /*#__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, {
|
|
168
116
|
tabIndex: tabIndex,
|
|
169
117
|
onClick: handleMenu,
|
|
170
|
-
|
|
171
|
-
|
|
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, {
|
|
172
126
|
onClick: handleMenu,
|
|
173
127
|
hasVisibility: isMenuVisible
|
|
174
|
-
}))
|
|
175
|
-
|
|
176
|
-
|
|
128
|
+
})), !isResponsive && /*#__PURE__*/_react["default"].createElement(Content, {
|
|
129
|
+
isResponsive: isResponsive,
|
|
130
|
+
responsiveContent: responsiveContent,
|
|
131
|
+
handleMenu: handleMenu,
|
|
132
|
+
content: content
|
|
133
|
+
})));
|
|
177
134
|
};
|
|
178
|
-
|
|
179
135
|
DxcHeader.Dropdown = Dropdown;
|
|
180
|
-
var HeaderContainer =
|
|
181
|
-
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;
|
|
182
138
|
}, function (props) {
|
|
183
|
-
return props.
|
|
139
|
+
return props.margin ? _variables.spaces[props.margin] : "0px";
|
|
184
140
|
}, function (props) {
|
|
185
|
-
return props
|
|
141
|
+
return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
|
|
186
142
|
}, function (props) {
|
|
187
|
-
return props.theme.
|
|
143
|
+
return props.theme.backgroundColor;
|
|
188
144
|
}, function (props) {
|
|
189
|
-
return
|
|
145
|
+
return props.underlined && "".concat(props.theme.underlinedThickness, " ").concat(props.theme.underlinedStyle, " ").concat(props.theme.underlinedColor);
|
|
190
146
|
});
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
if (!props.interactuable) {
|
|
194
|
-
return "cursor: default; outline:none;";
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
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;";
|
|
198
149
|
});
|
|
199
|
-
|
|
200
150
|
var LogoImg = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
|
|
201
151
|
return props.theme.logoHeight;
|
|
202
152
|
}, function (props) {
|
|
203
153
|
return props.theme.logoWidth;
|
|
204
154
|
});
|
|
205
|
-
|
|
206
155
|
var LogoContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n vertical-align: middle;\n"])), function (props) {
|
|
207
156
|
return props.theme.logoHeight;
|
|
208
157
|
}, function (props) {
|
|
209
158
|
return props.theme.logoWidth;
|
|
210
159
|
});
|
|
211
|
-
|
|
212
|
-
var
|
|
213
|
-
return props.
|
|
214
|
-
}, function (props) {
|
|
215
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
|
|
216
|
-
}, function (props) {
|
|
217
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
|
|
218
|
-
}, function (props) {
|
|
219
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
|
|
220
|
-
}, function (props) {
|
|
221
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
|
|
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;
|
|
222
163
|
});
|
|
223
|
-
|
|
224
|
-
var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n width: calc(100% - 186px);\n display: flex;\n align-items: center;\n flex-grow: 1;\n color: ", ";\n\n justify-content: flex-end;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
|
|
225
|
-
return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
|
|
226
|
-
}, function (props) {
|
|
227
|
-
return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
|
|
228
|
-
}, function (props) {
|
|
229
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
|
|
230
|
-
}, function (props) {
|
|
231
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
|
|
232
|
-
}, function (props) {
|
|
233
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
|
|
234
|
-
}, function (props) {
|
|
235
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
|
|
236
|
-
});
|
|
237
|
-
|
|
238
|
-
var HamburguerItem = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 54px;\n cursor: pointer;\n :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n"])), function (props) {
|
|
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) {
|
|
239
165
|
return props.theme.hamburguerHoverColor;
|
|
240
166
|
}, function (props) {
|
|
241
167
|
return props.theme.hamburguerFocusColor;
|
|
242
168
|
}, function (props) {
|
|
243
169
|
return props.theme.hamburguerIconColor;
|
|
244
|
-
})
|
|
245
|
-
|
|
246
|
-
var HamburguerTitle = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
|
|
170
|
+
}, function (props) {
|
|
247
171
|
return props.theme.hamburguerFontFamily;
|
|
248
172
|
}, function (props) {
|
|
249
173
|
return props.theme.hamburguerFontStyle;
|
|
@@ -256,10 +180,8 @@ var HamburguerTitle = _styledComponents["default"].span(_templateObject9 || (_te
|
|
|
256
180
|
}, function (props) {
|
|
257
181
|
return props.theme.hamburguerFontColor;
|
|
258
182
|
});
|
|
259
|
-
|
|
260
|
-
var
|
|
261
|
-
|
|
262
|
-
var ResponsiveMenu = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: space-evenly;\n background-color: ", ";\n position: fixed;\n top: 0;\n right: 0;\n z-index: ", ";\n\n @media (max-width: ", "rem) and (min-width: ", "rem) {\n //tablet\n width: ", ";\n }\n\n @media not((max-width: ", "rem) and (min-width: ", "rem)) {\n //mobile phones\n width: ", ";\n }\n\n height: 100vh;\n padding: 20px;\n transform: ", ";\n opacity: ", ";\n transition-property: transform, opacity;\n transition-duration: 0.6s;\n transition-timing-function: ease-in-out;\n box-sizing: border-box;\n"])), function (props) {
|
|
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) {
|
|
263
185
|
return props.theme.menuBackgroundColor;
|
|
264
186
|
}, function (props) {
|
|
265
187
|
return props.theme.menuZindex;
|
|
@@ -272,22 +194,19 @@ var ResponsiveMenu = _styledComponents["default"].div(_templateObject11 || (_tem
|
|
|
272
194
|
}, function (props) {
|
|
273
195
|
return props.hasVisibility ? "1" : "0.96";
|
|
274
196
|
});
|
|
275
|
-
|
|
276
|
-
var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n position: absolute;\n top: 23px;\n left: 20px;\n"])), function (props) {
|
|
197
|
+
var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n display: flex;\n"])), function (props) {
|
|
277
198
|
return props.theme.logoHeight;
|
|
278
199
|
}, function (props) {
|
|
279
200
|
return props.theme.logoWidth;
|
|
280
201
|
});
|
|
281
|
-
|
|
282
|
-
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) {
|
|
283
204
|
return props.theme.hamburguerFocusColor;
|
|
284
|
-
}, _variables.spaces.xxsmall);
|
|
285
|
-
|
|
286
|
-
var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n height: 100%;\n margin-top: 40px;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n color: ", ";\n"])), function (props) {
|
|
287
|
-
return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
|
|
288
205
|
});
|
|
289
|
-
|
|
290
|
-
|
|
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) {
|
|
291
210
|
return props.theme.overlayColor;
|
|
292
211
|
}, function (props) {
|
|
293
212
|
return props.theme.overlayOpacity;
|
|
@@ -298,6 +217,4 @@ var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateOb
|
|
|
298
217
|
}, _variables.responsiveSizes.small, function (props) {
|
|
299
218
|
return props.theme.overlayZindex;
|
|
300
219
|
});
|
|
301
|
-
|
|
302
|
-
var _default = DxcHeader;
|
|
303
|
-
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"));
|