@dxc-technology/halstack-react 0.0.0-c709eea → 0.0.0-c713b1b
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 +10 -0
- package/BackgroundColorContext.js +1 -4
- package/HalstackContext.d.ts +10 -0
- package/{ThemeContext.js → HalstackContext.js} +31 -34
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +15 -47
- package/accordion/Accordion.stories.tsx +307 -0
- package/accordion/Accordion.test.js +72 -0
- package/accordion/types.d.ts +8 -8
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +15 -17
- package/accordion-group/AccordionGroup.stories.tsx +225 -0
- package/accordion-group/AccordionGroup.test.js +151 -0
- package/accordion-group/types.d.ts +8 -8
- package/alert/Alert.js +2 -2
- package/alert/Alert.stories.tsx +170 -0
- package/alert/Alert.test.js +92 -0
- package/alert/types.d.ts +1 -1
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +1 -1
- package/badge/types.d.ts +4 -0
- package/badge/types.js +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +84 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.d.ts +4 -0
- package/box/Box.js +6 -32
- package/box/Box.stories.tsx +132 -0
- package/box/Box.test.js +18 -0
- package/box/types.d.ts +43 -0
- package/box/types.js +5 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +24 -32
- package/button/Button.stories.tsx +223 -242
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +9 -13
- package/card/Card.js +32 -34
- package/card/Card.stories.tsx +201 -0
- package/card/Card.test.js +50 -0
- package/card/ice-cream.jpg +0 -0
- package/card/types.d.ts +4 -6
- package/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +42 -41
- package/checkbox/Checkbox.stories.tsx +188 -0
- package/checkbox/Checkbox.test.js +78 -0
- package/checkbox/types.d.ts +9 -5
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +16 -76
- package/chip/Chip.stories.tsx +119 -0
- package/chip/Chip.test.js +56 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- package/common/variables.js +101 -294
- package/date-input/DateInput.js +60 -52
- package/date-input/DateInput.stories.tsx +138 -0
- package/date-input/DateInput.test.js +479 -0
- package/date-input/types.d.ts +16 -9
- package/dialog/Dialog.d.ts +4 -0
- package/dialog/Dialog.js +10 -56
- package/dialog/Dialog.stories.tsx +212 -0
- package/dialog/Dialog.test.js +40 -0
- package/dialog/types.d.ts +43 -0
- package/dialog/types.js +5 -0
- package/dropdown/Dropdown.d.ts +4 -0
- package/dropdown/Dropdown.js +28 -87
- package/dropdown/Dropdown.stories.tsx +249 -0
- package/dropdown/Dropdown.test.js +189 -0
- package/dropdown/types.d.ts +80 -0
- package/dropdown/types.js +5 -0
- package/file-input/FileInput.d.ts +4 -0
- package/file-input/FileInput.js +167 -109
- package/file-input/FileInput.stories.tsx +507 -0
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.d.ts +14 -0
- package/file-input/FileItem.js +16 -23
- package/file-input/types.d.ts +112 -0
- package/file-input/types.js +5 -0
- package/footer/Footer.d.ts +4 -0
- package/footer/Footer.js +32 -146
- package/footer/Footer.stories.tsx +130 -0
- package/footer/Footer.test.js +109 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +3 -3
- package/footer/types.d.ts +65 -0
- package/footer/types.js +5 -0
- package/header/Header.d.ts +7 -0
- package/header/Header.js +48 -74
- package/header/Header.stories.tsx +172 -0
- package/header/Header.test.js +79 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +2 -27
- package/header/types.d.ts +47 -0
- package/header/types.js +5 -0
- package/heading/Heading.d.ts +4 -0
- package/heading/Heading.js +7 -24
- package/heading/Heading.stories.tsx +54 -0
- package/heading/Heading.test.js +186 -0
- package/heading/types.d.ts +33 -0
- package/heading/types.js +5 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +84 -0
- package/inset/Inset.stories.tsx +229 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +10 -0
- package/layout/ApplicationLayout.js +14 -31
- package/layout/ApplicationLayout.stories.tsx +171 -0
- package/layout/types.d.ts +57 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +4 -0
- package/link/Link.js +70 -91
- package/link/Link.stories.tsx +186 -0
- package/link/Link.test.js +83 -0
- package/link/types.d.ts +55 -0
- package/link/types.js +5 -0
- package/list/List.d.ts +4 -0
- package/list/List.js +47 -0
- package/list/List.stories.tsx +95 -0
- package/list/types.d.ts +7 -0
- package/list/types.js +5 -0
- package/main.d.ts +11 -8
- package/main.js +66 -42
- package/number-input/NumberInput.d.ts +4 -0
- package/number-input/NumberInput.js +16 -68
- package/number-input/NumberInput.stories.tsx +115 -0
- package/number-input/NumberInput.test.js +506 -0
- package/number-input/NumberInputContext.d.ts +4 -0
- package/number-input/NumberInputContext.js +5 -2
- package/number-input/numberInputContextTypes.d.ts +19 -0
- package/number-input/numberInputContextTypes.js +5 -0
- package/number-input/types.d.ts +124 -0
- package/number-input/types.js +5 -0
- package/package.json +9 -6
- package/paginator/Paginator.js +2 -8
- package/paginator/Paginator.stories.tsx +63 -0
- package/paginator/Paginator.test.js +266 -0
- package/password-input/PasswordInput.d.ts +4 -0
- package/password-input/PasswordInput.js +19 -55
- package/password-input/{PasswordInput.stories.jsx → PasswordInput.stories.tsx} +4 -4
- package/password-input/PasswordInput.test.js +181 -0
- package/password-input/types.d.ts +110 -0
- package/password-input/types.js +5 -0
- package/progress-bar/ProgressBar.d.ts +4 -0
- package/progress-bar/ProgressBar.js +5 -23
- package/progress-bar/ProgressBar.stories.jsx +58 -0
- package/progress-bar/ProgressBar.test.js +65 -0
- package/progress-bar/types.d.ts +37 -0
- package/progress-bar/types.js +5 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +64 -0
- package/quick-nav/QuickNav.stories.tsx +237 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio/Radio.js +12 -13
- package/radio/Radio.stories.tsx +192 -0
- package/radio/Radio.test.js +71 -0
- package/radio/types.d.ts +2 -2
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +141 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +280 -0
- package/radio-group/RadioGroup.stories.tsx +100 -0
- package/radio-group/RadioGroup.test.js +695 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultsetTable/ResultsetTable.d.ts +4 -0
- package/resultsetTable/ResultsetTable.js +9 -29
- package/resultsetTable/ResultsetTable.stories.tsx +275 -0
- package/resultsetTable/ResultsetTable.test.js +306 -0
- package/resultsetTable/types.d.ts +67 -0
- package/resultsetTable/types.js +5 -0
- package/row/Row.d.ts +3 -0
- package/row/Row.js +127 -0
- package/row/Row.stories.tsx +237 -0
- package/row/types.d.ts +28 -0
- package/row/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +148 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +110 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +107 -317
- package/select/Select.stories.tsx +582 -0
- package/select/Select.test.js +2057 -0
- package/select/types.d.ts +213 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.d.ts +9 -0
- package/sidenav/Sidenav.js +6 -15
- package/sidenav/Sidenav.stories.tsx +182 -0
- package/sidenav/Sidenav.test.js +56 -0
- package/sidenav/types.d.ts +50 -0
- package/sidenav/types.js +5 -0
- package/slider/Slider.d.ts +4 -0
- package/slider/Slider.js +63 -85
- package/slider/Slider.stories.tsx +177 -0
- package/slider/Slider.test.js +150 -0
- package/slider/types.d.ts +82 -0
- package/slider/types.js +5 -0
- package/spinner/Spinner.d.ts +4 -0
- package/spinner/Spinner.js +8 -25
- package/spinner/Spinner.stories.jsx +103 -0
- package/spinner/Spinner.test.js +64 -0
- package/spinner/types.d.ts +32 -0
- package/spinner/types.js +5 -0
- package/stack/Stack.d.ts +3 -0
- package/stack/Stack.js +97 -0
- package/stack/Stack.stories.tsx +164 -0
- package/stack/types.d.ts +24 -0
- package/stack/types.js +5 -0
- package/switch/Switch.d.ts +1 -1
- package/switch/Switch.js +34 -21
- package/switch/Switch.stories.tsx +160 -0
- package/switch/Switch.test.js +98 -0
- package/switch/types.d.ts +6 -2
- package/table/Table.d.ts +4 -0
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +277 -0
- package/table/Table.test.js +26 -0
- package/table/types.d.ts +21 -0
- package/table/types.js +5 -0
- package/tabs/Tabs.d.ts +4 -0
- package/tabs/Tabs.js +24 -72
- package/tabs/Tabs.stories.tsx +112 -0
- package/tabs/Tabs.test.js +140 -0
- package/tabs/types.d.ts +82 -0
- package/tabs/types.js +5 -0
- package/tag/Tag.d.ts +4 -0
- package/tag/Tag.js +34 -59
- package/tag/Tag.stories.tsx +142 -0
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +69 -0
- package/tag/types.js +5 -0
- package/text/Text.d.ts +7 -0
- package/text/Text.js +30 -0
- package/text/Text.stories.tsx +19 -0
- package/text-input/TextInput.d.ts +4 -0
- package/text-input/TextInput.js +64 -93
- package/text-input/TextInput.stories.tsx +474 -0
- package/text-input/TextInput.test.js +1712 -0
- package/text-input/types.d.ts +166 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +37 -68
- package/textarea/Textarea.stories.jsx +37 -15
- package/textarea/Textarea.test.js +437 -0
- package/textarea/types.d.ts +137 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +18 -46
- package/toggle-group/ToggleGroup.stories.tsx +173 -0
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +105 -0
- package/toggle-group/types.js +5 -0
- package/useTheme.d.ts +2 -0
- package/useTheme.js +2 -2
- package/wizard/Wizard.d.ts +4 -0
- package/wizard/Wizard.js +89 -70
- package/wizard/Wizard.stories.tsx +214 -0
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +64 -0
- package/wizard/types.js +5 -0
- package/V3Select/V3Select.js +0 -455
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -260
- package/V3Textarea/index.d.ts +0 -27
- package/box/index.d.ts +0 -25
- package/chip/index.d.ts +0 -22
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/dialog/index.d.ts +0 -18
- package/dropdown/index.d.ts +0 -26
- package/file-input/index.d.ts +0 -81
- package/footer/index.d.ts +0 -25
- package/header/index.d.ts +0 -25
- package/heading/index.d.ts +0 -17
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- package/link/index.d.ts +0 -23
- package/number-input/index.d.ts +0 -113
- package/password-input/index.d.ts +0 -94
- package/progress-bar/index.d.ts +0 -18
- package/resultsetTable/index.d.ts +0 -19
- package/select/index.d.ts +0 -131
- package/sidenav/index.d.ts +0 -13
- package/slider/index.d.ts +0 -29
- package/spinner/index.d.ts +0 -17
- package/table/index.d.ts +0 -13
- package/tabs/index.d.ts +0 -19
- package/tag/index.d.ts +0 -24
- package/text-input/index.d.ts +0 -135
- package/textarea/index.d.ts +0 -117
- package/toggle/Toggle.js +0 -186
- package/toggle/index.d.ts +0 -21
- package/toggle-group/index.d.ts +0 -21
- package/upload/Upload.js +0 -201
- package/upload/buttons-upload/ButtonsUpload.js +0 -111
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -115
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -109
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -104
- package/upload/transactions/Transactions.js +0 -94
- package/wizard/Icons.js +0 -65
- package/wizard/index.d.ts +0 -18
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import HeaderPropsType from "./types";
|
|
3
|
+
declare const DxcHeader: {
|
|
4
|
+
({ underlined, content, responsiveContent, onClick, margin, padding, tabIndex, }: HeaderPropsType): JSX.Element;
|
|
5
|
+
Dropdown: (props: any) => JSX.Element;
|
|
6
|
+
};
|
|
7
|
+
export default DxcHeader;
|
package/header/Header.js
CHANGED
|
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports["default"] = void 0;
|
|
11
11
|
|
|
12
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
13
|
|
|
16
14
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
@@ -23,17 +21,15 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
23
21
|
|
|
24
22
|
var _AppBar = _interopRequireDefault(require("@material-ui/core/AppBar"));
|
|
25
23
|
|
|
26
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
|
-
|
|
28
24
|
var _Dropdown = _interopRequireDefault(require("../dropdown/Dropdown"));
|
|
29
25
|
|
|
30
26
|
var _Icons = require("./Icons");
|
|
31
27
|
|
|
32
28
|
var _variables = require("../common/variables.js");
|
|
33
29
|
|
|
34
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
30
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
35
31
|
|
|
36
|
-
var _BackgroundColorContext = _interopRequireWildcard(require("../BackgroundColorContext
|
|
32
|
+
var _BackgroundColorContext = _interopRequireWildcard(require("../BackgroundColorContext"));
|
|
37
33
|
|
|
38
34
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
|
|
39
35
|
|
|
@@ -41,6 +37,27 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
41
37
|
|
|
42
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; }
|
|
43
39
|
|
|
40
|
+
var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
41
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
42
|
+
height: "24",
|
|
43
|
+
viewBox: "0 0 24 24",
|
|
44
|
+
width: "24"
|
|
45
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
46
|
+
d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
|
|
47
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
48
|
+
d: "M0 0h24v24H0z",
|
|
49
|
+
fill: "none"
|
|
50
|
+
}));
|
|
51
|
+
|
|
52
|
+
var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
53
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
54
|
+
viewBox: "0 0 24 24",
|
|
55
|
+
width: "24",
|
|
56
|
+
height: "24"
|
|
57
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
58
|
+
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
|
+
}));
|
|
60
|
+
|
|
44
61
|
var Dropdown = function Dropdown(props) {
|
|
45
62
|
return /*#__PURE__*/_react["default"].createElement(HeaderDropdown, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], props));
|
|
46
63
|
};
|
|
@@ -65,9 +82,9 @@ var getLogoElement = function getLogoElement(themeInput) {
|
|
|
65
82
|
var DxcHeader = function DxcHeader(_ref) {
|
|
66
83
|
var _ref$underlined = _ref.underlined,
|
|
67
84
|
underlined = _ref$underlined === void 0 ? false : _ref$underlined,
|
|
68
|
-
onClick = _ref.onClick,
|
|
69
85
|
content = _ref.content,
|
|
70
86
|
responsiveContent = _ref.responsiveContent,
|
|
87
|
+
onClick = _ref.onClick,
|
|
71
88
|
margin = _ref.margin,
|
|
72
89
|
padding = _ref.padding,
|
|
73
90
|
_ref$tabIndex = _ref.tabIndex,
|
|
@@ -75,31 +92,18 @@ var DxcHeader = function DxcHeader(_ref) {
|
|
|
75
92
|
var colorsTheme = (0, _useTheme["default"])();
|
|
76
93
|
var ref = (0, _react.useRef)(null);
|
|
77
94
|
|
|
78
|
-
var _useState = (0, _react.useState)(),
|
|
95
|
+
var _useState = (0, _react.useState)(false),
|
|
79
96
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
80
|
-
|
|
81
|
-
|
|
97
|
+
isResponsive = _useState2[0],
|
|
98
|
+
setIsResponsive = _useState2[1];
|
|
82
99
|
|
|
83
|
-
var _useState3 = (0, _react.useState)(),
|
|
100
|
+
var _useState3 = (0, _react.useState)(false),
|
|
84
101
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
var
|
|
89
|
-
|
|
90
|
-
isMenuVisible = _useState6[0],
|
|
91
|
-
setIsMenuVisible = _useState6[1];
|
|
92
|
-
|
|
93
|
-
var handleResize = function handleResize(refWidth) {
|
|
94
|
-
if (refWidth) {
|
|
95
|
-
setRefSize(refWidth);
|
|
96
|
-
|
|
97
|
-
if (refWidth <= _variables.responsiveSizes.tablet && !isResponsive) {
|
|
98
|
-
setIsResponsive(true);
|
|
99
|
-
} else {
|
|
100
|
-
setIsResponsive(false);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
102
|
+
isMenuVisible = _useState4[0],
|
|
103
|
+
setIsMenuVisible = _useState4[1];
|
|
104
|
+
|
|
105
|
+
var handleResize = function handleResize() {
|
|
106
|
+
setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches && !isResponsive);
|
|
103
107
|
};
|
|
104
108
|
|
|
105
109
|
var ContentContainerComponent = function ContentContainerComponent() {
|
|
@@ -126,19 +130,14 @@ var DxcHeader = function DxcHeader(_ref) {
|
|
|
126
130
|
var headerResponsiveLogo = (0, _react.useMemo)(function () {
|
|
127
131
|
return getLogoElement(colorsTheme.header.logoResponsive);
|
|
128
132
|
}, [colorsTheme.header.logoResponsive]);
|
|
129
|
-
|
|
130
|
-
var handleEventListener = function handleEventListener() {
|
|
131
|
-
handleResize(ref.current.offsetWidth);
|
|
132
|
-
};
|
|
133
|
-
|
|
134
133
|
(0, _react.useEffect)(function () {
|
|
135
134
|
if (ref.current) {
|
|
136
|
-
window.addEventListener("resize",
|
|
137
|
-
handleResize(
|
|
135
|
+
window.addEventListener("resize", handleResize);
|
|
136
|
+
handleResize();
|
|
138
137
|
}
|
|
139
138
|
|
|
140
139
|
return function () {
|
|
141
|
-
window.removeEventListener("resize",
|
|
140
|
+
window.removeEventListener("resize", handleResize);
|
|
142
141
|
};
|
|
143
142
|
}, []);
|
|
144
143
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
@@ -158,19 +157,17 @@ var DxcHeader = function DxcHeader(_ref) {
|
|
|
158
157
|
tabIndex: tabIndex,
|
|
159
158
|
underlined: underlined,
|
|
160
159
|
onClick: handleMenu
|
|
161
|
-
},
|
|
162
|
-
hasVisibility: isMenuVisible
|
|
163
|
-
refSize: refSize
|
|
160
|
+
}, hamburgerIcon, /*#__PURE__*/_react["default"].createElement(HamburguerTitle, null, "Menu"))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
|
|
161
|
+
hasVisibility: isMenuVisible
|
|
164
162
|
}, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
|
|
165
163
|
color: colorsTheme.header.menuBackgroundColor
|
|
166
|
-
}, /*#__PURE__*/_react["default"].createElement(ContentContainerComponent, null
|
|
164
|
+
}, /*#__PURE__*/_react["default"].createElement(ContentContainerComponent, null)), /*#__PURE__*/_react["default"].createElement(CloseContainer, {
|
|
167
165
|
tabIndex: tabIndex,
|
|
168
166
|
onClick: handleMenu,
|
|
169
167
|
className: "closeIcon"
|
|
170
|
-
},
|
|
168
|
+
}, closeIcon)), /*#__PURE__*/_react["default"].createElement(Overlay, {
|
|
171
169
|
onClick: handleMenu,
|
|
172
|
-
hasVisibility: isMenuVisible
|
|
173
|
-
refSize: refSize
|
|
170
|
+
hasVisibility: isMenuVisible
|
|
174
171
|
}))), !isResponsive && /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
|
|
175
172
|
color: colorsTheme.header.backgroundColor
|
|
176
173
|
}, /*#__PURE__*/_react["default"].createElement(ContentContainerComponent, null))));
|
|
@@ -259,16 +256,14 @@ var HamburguerTitle = _styledComponents["default"].span(_templateObject9 || (_te
|
|
|
259
256
|
|
|
260
257
|
var MainContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-grow: 1;\n"])));
|
|
261
258
|
|
|
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 width: ", ";\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) {
|
|
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) {
|
|
263
260
|
return props.theme.menuBackgroundColor;
|
|
264
261
|
}, function (props) {
|
|
265
262
|
return props.theme.menuZindex;
|
|
266
|
-
}, function (props) {
|
|
267
|
-
return props.
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
return props.theme.menuMobileWidth;
|
|
271
|
-
});
|
|
263
|
+
}, _variables.responsiveSizes.large, _variables.responsiveSizes.small, function (props) {
|
|
264
|
+
return props.theme.menuTabletWidth;
|
|
265
|
+
}, _variables.responsiveSizes.large, _variables.responsiveSizes.small, function (props) {
|
|
266
|
+
return props.theme.menuMobileWidth;
|
|
272
267
|
}, function (props) {
|
|
273
268
|
return props.hasVisibility ? "translateX(0)" : "translateX(100vw)";
|
|
274
269
|
}, function (props) {
|
|
@@ -289,7 +284,7 @@ var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templa
|
|
|
289
284
|
return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
|
|
290
285
|
});
|
|
291
286
|
|
|
292
|
-
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
|
|
287
|
+
var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: ", ";\n opacity: ", " !important;\n visibility: ", ";\n opacity: ", ";\n\n @media (max-width: ", "rem) {\n //mobile phones\n display: none;\n }\n\n transition: opacity 0.2s 0.2s ease-in-out;\n z-index: ", ";\n"])), function (props) {
|
|
293
288
|
return props.theme.overlayColor;
|
|
294
289
|
}, function (props) {
|
|
295
290
|
return props.theme.overlayOpacity;
|
|
@@ -297,30 +292,9 @@ var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateOb
|
|
|
297
292
|
return props.hasVisibility ? "visible" : "hidden";
|
|
298
293
|
}, function (props) {
|
|
299
294
|
return props.hasVisibility ? "1" : "0";
|
|
300
|
-
}, function (props) {
|
|
301
|
-
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "none" : "";
|
|
302
|
-
}, function (props) {
|
|
295
|
+
}, _variables.responsiveSizes.small, function (props) {
|
|
303
296
|
return props.theme.overlayZindex;
|
|
304
297
|
});
|
|
305
298
|
|
|
306
|
-
DxcHeader.propTypes = {
|
|
307
|
-
underlined: _propTypes["default"].bool,
|
|
308
|
-
onClick: _propTypes["default"].func,
|
|
309
|
-
margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
310
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
311
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
312
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
313
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
314
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
|
|
315
|
-
padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
316
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
317
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
318
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
319
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
320
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
|
|
321
|
-
content: _propTypes["default"].object,
|
|
322
|
-
responsiveContent: _propTypes["default"].func,
|
|
323
|
-
tabIndex: _propTypes["default"].number
|
|
324
|
-
};
|
|
325
299
|
var _default = DxcHeader;
|
|
326
300
|
exports["default"] = _default;
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import DxcHeader from "./Header";
|
|
3
|
+
import Title from "../../.storybook/components/Title";
|
|
4
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
|
+
import { userEvent, waitFor, within } from "@storybook/testing-library";
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: "Header",
|
|
9
|
+
component: DxcHeader,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const options: any = [
|
|
13
|
+
{
|
|
14
|
+
value: 1,
|
|
15
|
+
label: "Amazon",
|
|
16
|
+
},
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
export const Chromatic = () => (
|
|
20
|
+
<>
|
|
21
|
+
<ExampleContainer>
|
|
22
|
+
<Title title="Default with dropdown" theme="light" level={4} />
|
|
23
|
+
<DxcHeader content={<DxcHeader.Dropdown options={options} label="Default Dropdown" />} />
|
|
24
|
+
</ExampleContainer>
|
|
25
|
+
<ExampleContainer>
|
|
26
|
+
<Title title="Underlined with text" theme="light" level={4} />
|
|
27
|
+
<DxcHeader underlined content={<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>} />
|
|
28
|
+
</ExampleContainer>
|
|
29
|
+
<Title title="Margins" theme="light" level={2} />
|
|
30
|
+
<ExampleContainer>
|
|
31
|
+
<Title title="Xxsmall margin" theme="light" level={4} />
|
|
32
|
+
<DxcHeader underlined margin="xxsmall" />
|
|
33
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
34
|
+
</ExampleContainer>
|
|
35
|
+
<ExampleContainer>
|
|
36
|
+
<Title title="Xsmall margin" theme="light" level={4} />
|
|
37
|
+
<DxcHeader underlined margin="xsmall" />
|
|
38
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
39
|
+
</ExampleContainer>
|
|
40
|
+
<ExampleContainer>
|
|
41
|
+
<Title title="Small margin" theme="light" level={4} />
|
|
42
|
+
<DxcHeader underlined margin="small" />
|
|
43
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
44
|
+
</ExampleContainer>
|
|
45
|
+
<ExampleContainer>
|
|
46
|
+
<Title title="Medium margin" theme="light" level={4} />
|
|
47
|
+
<DxcHeader underlined margin="medium" />
|
|
48
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
49
|
+
</ExampleContainer>
|
|
50
|
+
<ExampleContainer>
|
|
51
|
+
<Title title="Large margin" theme="light" level={4} />
|
|
52
|
+
<DxcHeader underlined margin="large" />
|
|
53
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
54
|
+
</ExampleContainer>
|
|
55
|
+
<ExampleContainer>
|
|
56
|
+
<Title title="Xlarge margin" theme="light" level={4} />
|
|
57
|
+
<DxcHeader underlined margin="xlarge" />
|
|
58
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
59
|
+
</ExampleContainer>
|
|
60
|
+
<ExampleContainer>
|
|
61
|
+
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
62
|
+
<DxcHeader underlined margin="xxlarge" />
|
|
63
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
64
|
+
</ExampleContainer>
|
|
65
|
+
|
|
66
|
+
<Title title="Paddings" theme="light" level={2} />
|
|
67
|
+
<ExampleContainer>
|
|
68
|
+
<Title title="Xxsmall padding" theme="light" level={4} />
|
|
69
|
+
<DxcHeader underlined padding="xxsmall" />
|
|
70
|
+
</ExampleContainer>
|
|
71
|
+
<ExampleContainer>
|
|
72
|
+
<Title title="Xsmall padding" theme="light" level={4} />
|
|
73
|
+
<DxcHeader underlined padding="xsmall" />
|
|
74
|
+
</ExampleContainer>
|
|
75
|
+
<ExampleContainer>
|
|
76
|
+
<Title title="Small padding" theme="light" level={4} />
|
|
77
|
+
<DxcHeader underlined padding="small" />
|
|
78
|
+
</ExampleContainer>
|
|
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" />
|
|
94
|
+
</ExampleContainer>
|
|
95
|
+
</>
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
export const ResponsiveHeader = () => (
|
|
99
|
+
<ExampleContainer>
|
|
100
|
+
<Title title="Responsive" theme="light" level={4} />
|
|
101
|
+
<DxcHeader
|
|
102
|
+
content={<DxcHeader.Dropdown options={options} label="Default Dropdown" />}
|
|
103
|
+
responsiveContent={(closeHandler) => <DxcHeader.Dropdown options={options} label="Default Dropdown" />}
|
|
104
|
+
underlined
|
|
105
|
+
/>
|
|
106
|
+
</ExampleContainer>
|
|
107
|
+
);
|
|
108
|
+
|
|
109
|
+
const RespHeaderFocus = () => (
|
|
110
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
111
|
+
<Title title="Responsive focus" theme="light" level={4} />
|
|
112
|
+
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
113
|
+
</ExampleContainer>
|
|
114
|
+
);
|
|
115
|
+
|
|
116
|
+
const RespHeaderHover = () => (
|
|
117
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
118
|
+
<Title title="Responsive hover" theme="light" level={4} />
|
|
119
|
+
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
120
|
+
</ExampleContainer>
|
|
121
|
+
);
|
|
122
|
+
|
|
123
|
+
const RespHeaderMenu = () => (
|
|
124
|
+
<ExampleContainer>
|
|
125
|
+
<Title title="Responsive menu" theme="light" level={4} />
|
|
126
|
+
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
127
|
+
</ExampleContainer>
|
|
128
|
+
);
|
|
129
|
+
|
|
130
|
+
ResponsiveHeader.parameters = {
|
|
131
|
+
viewport: {
|
|
132
|
+
defaultViewport: "iphonex",
|
|
133
|
+
},
|
|
134
|
+
chromatic: { viewports: [720] },
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
export const ResponsiveHeaderFocus = RespHeaderFocus.bind({});
|
|
138
|
+
ResponsiveHeaderFocus.parameters = {
|
|
139
|
+
viewport: {
|
|
140
|
+
defaultViewport: "iphonex",
|
|
141
|
+
},
|
|
142
|
+
chromatic: { viewports: [720] },
|
|
143
|
+
};
|
|
144
|
+
ResponsiveHeaderFocus.play = async ({ canvasElement }) => {
|
|
145
|
+
const canvas = within(canvasElement);
|
|
146
|
+
await waitFor(() => canvas.findByText("Menu"));
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
export const ResponsiveHeaderHover = RespHeaderHover.bind({});
|
|
150
|
+
ResponsiveHeaderHover.parameters = {
|
|
151
|
+
viewport: {
|
|
152
|
+
defaultViewport: "iphonex",
|
|
153
|
+
},
|
|
154
|
+
chromatic: { viewports: [720] },
|
|
155
|
+
};
|
|
156
|
+
ResponsiveHeaderHover.play = async ({ canvasElement }) => {
|
|
157
|
+
const canvas = within(canvasElement);
|
|
158
|
+
await waitFor(() => canvas.findByText("Menu"));
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
export const ResponsiveHeaderMenu = RespHeaderMenu.bind({});
|
|
162
|
+
ResponsiveHeaderMenu.parameters = {
|
|
163
|
+
viewport: {
|
|
164
|
+
defaultViewport: "iphonex",
|
|
165
|
+
},
|
|
166
|
+
chromatic: { viewports: [720] },
|
|
167
|
+
};
|
|
168
|
+
ResponsiveHeaderMenu.play = async ({ canvasElement }) => {
|
|
169
|
+
const canvas = within(canvasElement);
|
|
170
|
+
await waitFor(() => canvas.findByText("Menu"));
|
|
171
|
+
await userEvent.click(canvas.getByText("Menu"));
|
|
172
|
+
};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
var _Header = _interopRequireDefault(require("./Header"));
|
|
10
|
+
|
|
11
|
+
describe("Header component tests", function () {
|
|
12
|
+
beforeAll(function () {
|
|
13
|
+
Object.defineProperty(window, "matchMedia", {
|
|
14
|
+
writable: true,
|
|
15
|
+
value: jest.fn().mockImplementation(function () {
|
|
16
|
+
return {
|
|
17
|
+
matches: false
|
|
18
|
+
};
|
|
19
|
+
})
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
test("Header renders with default logo", function () {
|
|
23
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], null)),
|
|
24
|
+
getByTitle = _render.getByTitle;
|
|
25
|
+
|
|
26
|
+
expect(getByTitle("DXC Logo")).toBeTruthy();
|
|
27
|
+
});
|
|
28
|
+
test("Call correct function on logo click", function () {
|
|
29
|
+
var onClick = jest.fn();
|
|
30
|
+
|
|
31
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
32
|
+
onClick: onClick
|
|
33
|
+
})),
|
|
34
|
+
getByTitle = _render2.getByTitle;
|
|
35
|
+
|
|
36
|
+
var logo = getByTitle("DXC Logo");
|
|
37
|
+
|
|
38
|
+
_react2.fireEvent.click(logo);
|
|
39
|
+
|
|
40
|
+
expect(onClick).toHaveBeenCalled();
|
|
41
|
+
});
|
|
42
|
+
test("Header renders with correct children", function () {
|
|
43
|
+
// We need to force the offsetWidth value
|
|
44
|
+
Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
|
|
45
|
+
configurable: true,
|
|
46
|
+
value: 1024
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
50
|
+
content: /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text")
|
|
51
|
+
})),
|
|
52
|
+
getByText = _render3.getByText;
|
|
53
|
+
|
|
54
|
+
expect(getByText("header-child-text")).toBeTruthy();
|
|
55
|
+
});
|
|
56
|
+
test("Header renders menu button in mobile", function () {
|
|
57
|
+
Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
|
|
58
|
+
configurable: true,
|
|
59
|
+
value: 425
|
|
60
|
+
});
|
|
61
|
+
Object.defineProperty(window, "matchMedia", {
|
|
62
|
+
writable: true,
|
|
63
|
+
value: jest.fn().mockImplementation(function () {
|
|
64
|
+
return {
|
|
65
|
+
matches: true
|
|
66
|
+
};
|
|
67
|
+
})
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
71
|
+
responsiveContent: function responsiveContent(closeMenu) {
|
|
72
|
+
return /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text");
|
|
73
|
+
}
|
|
74
|
+
})),
|
|
75
|
+
getByText = _render4.getByText;
|
|
76
|
+
|
|
77
|
+
expect(getByText("Menu")).toBeTruthy();
|
|
78
|
+
});
|
|
79
|
+
});
|
package/header/Icons.js
CHANGED
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.dxcLogo = void 0;
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
|
|
@@ -31,29 +31,4 @@ var dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
31
31
|
fill: "#100f0d"
|
|
32
32
|
}))));
|
|
33
33
|
|
|
34
|
-
exports.dxcLogo = dxcLogo;
|
|
35
|
-
|
|
36
|
-
var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
37
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
38
|
-
height: "24",
|
|
39
|
-
viewBox: "0 0 24 24",
|
|
40
|
-
width: "24"
|
|
41
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
42
|
-
d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
|
|
43
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
44
|
-
d: "M0 0h24v24H0z",
|
|
45
|
-
fill: "none"
|
|
46
|
-
}));
|
|
47
|
-
|
|
48
|
-
exports.closeIcon = closeIcon;
|
|
49
|
-
|
|
50
|
-
var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
51
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
52
|
-
viewBox: "0 0 24 24",
|
|
53
|
-
width: "24",
|
|
54
|
-
height: "24"
|
|
55
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
56
|
-
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"
|
|
57
|
-
}));
|
|
58
|
-
|
|
59
|
-
exports.hamburgerIcon = hamburgerIcon;
|
|
34
|
+
exports.dxcLogo = dxcLogo;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
declare type Padding = {
|
|
4
|
+
top?: Space;
|
|
5
|
+
bottom?: Space;
|
|
6
|
+
left?: Space;
|
|
7
|
+
right?: Space;
|
|
8
|
+
};
|
|
9
|
+
declare type Props = {
|
|
10
|
+
/**
|
|
11
|
+
* Wether a contrast line should appear at the bottom of the header.
|
|
12
|
+
*/
|
|
13
|
+
underlined?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Content showed in the header. Take into account that the component applies styles
|
|
16
|
+
* for the first child in the content, so we recommend the use of React.Fragment
|
|
17
|
+
* to be applied correctly. Otherwise, the styles can be modified.
|
|
18
|
+
*/
|
|
19
|
+
content?: React.ReactNode;
|
|
20
|
+
/**
|
|
21
|
+
* Content showed in responsive version. It receives the close menu handler that can
|
|
22
|
+
* be used to add that functionality when a element is clicked.
|
|
23
|
+
*/
|
|
24
|
+
responsiveContent?: (closeHandler: () => void) => React.ReactNode;
|
|
25
|
+
/**
|
|
26
|
+
* This function will be called when the user clicks the header logo.
|
|
27
|
+
*/
|
|
28
|
+
onClick?: () => void;
|
|
29
|
+
/**
|
|
30
|
+
* Size of the bottom margin to be applied to the header
|
|
31
|
+
* ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
32
|
+
*/
|
|
33
|
+
margin?: Space;
|
|
34
|
+
/**
|
|
35
|
+
* Size of the padding to be applied to the custom area of the component
|
|
36
|
+
* ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
37
|
+
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in
|
|
38
|
+
* order to specify different padding sizes.
|
|
39
|
+
*/
|
|
40
|
+
padding?: Space | Padding;
|
|
41
|
+
/**
|
|
42
|
+
* Value of the tabindex for all interactuable elements, except those inside the
|
|
43
|
+
* custom area.
|
|
44
|
+
*/
|
|
45
|
+
tabIndex?: number;
|
|
46
|
+
};
|
|
47
|
+
export default Props;
|
package/header/types.js
ADDED
package/heading/Heading.js
CHANGED
|
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports["default"] = void 0;
|
|
11
11
|
|
|
12
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
13
|
|
|
16
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
@@ -19,11 +17,9 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
19
17
|
|
|
20
18
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
19
|
|
|
22
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
23
|
-
|
|
24
20
|
var _variables = require("../common/variables.js");
|
|
25
21
|
|
|
26
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
22
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
27
23
|
|
|
28
24
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
29
25
|
|
|
@@ -37,8 +33,7 @@ var DxcHeading = function DxcHeading(_ref) {
|
|
|
37
33
|
_ref$text = _ref.text,
|
|
38
34
|
text = _ref$text === void 0 ? "" : _ref$text,
|
|
39
35
|
as = _ref.as,
|
|
40
|
-
|
|
41
|
-
weight = _ref$weight === void 0 ? "" : _ref$weight,
|
|
36
|
+
weight = _ref.weight,
|
|
42
37
|
margin = _ref.margin;
|
|
43
38
|
var colorsTheme = (0, _useTheme["default"])();
|
|
44
39
|
|
|
@@ -51,19 +46,19 @@ var DxcHeading = function DxcHeading(_ref) {
|
|
|
51
46
|
}, /*#__PURE__*/_react["default"].createElement(HeadingContainer, {
|
|
52
47
|
margin: margin
|
|
53
48
|
}, level === 1 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel1, {
|
|
54
|
-
as: checkValidAs(
|
|
49
|
+
as: checkValidAs(),
|
|
55
50
|
weight: weight
|
|
56
51
|
}, text) : level === 2 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel2, {
|
|
57
|
-
as: checkValidAs(
|
|
52
|
+
as: checkValidAs(),
|
|
58
53
|
weight: weight
|
|
59
54
|
}, text) : level === 3 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel3, {
|
|
60
|
-
as: checkValidAs(
|
|
55
|
+
as: checkValidAs(),
|
|
61
56
|
weight: weight
|
|
62
57
|
}, text) : level === 4 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel4, {
|
|
63
|
-
as: checkValidAs(
|
|
58
|
+
as: checkValidAs(),
|
|
64
59
|
weight: weight
|
|
65
60
|
}, text) : /*#__PURE__*/_react["default"].createElement(HeadingLevel5, {
|
|
66
|
-
as: checkValidAs(
|
|
61
|
+
as: checkValidAs(),
|
|
67
62
|
weight: weight
|
|
68
63
|
}, text)));
|
|
69
64
|
};
|
|
@@ -160,17 +155,5 @@ var HeadingLevel5 = _styledComponents["default"].h5(_templateObject6 || (_templa
|
|
|
160
155
|
return props.theme.level5FontColor;
|
|
161
156
|
});
|
|
162
157
|
|
|
163
|
-
DxcHeading.propTypes = {
|
|
164
|
-
level: _propTypes["default"].number,
|
|
165
|
-
text: _propTypes["default"].string,
|
|
166
|
-
as: _propTypes["default"].oneOf(["h1", "h2", "h3", "h4", "h5"]),
|
|
167
|
-
weight: _propTypes["default"].oneOf(["light", "normal", "bold", ""]),
|
|
168
|
-
margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
169
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
170
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
171
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
172
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
173
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
|
|
174
|
-
};
|
|
175
158
|
var _default = DxcHeading;
|
|
176
159
|
exports["default"] = _default;
|