@dxc-technology/halstack-react 0.0.0-301f60b → 0.0.0-335f028
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/HalstackContext.d.ts +10 -0
- package/{ThemeContext.js → HalstackContext.js} +6 -6
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +7 -28
- package/accordion/Accordion.stories.tsx +11 -11
- package/accordion/Accordion.test.js +19 -4
- package/accordion/types.d.ts +4 -0
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +13 -15
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +24 -6
- package/accordion-group/types.d.ts +4 -0
- package/bleed/types.d.ts +24 -0
- package/button/Button.js +14 -11
- package/card/Card.js +27 -28
- package/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +40 -39
- package/checkbox/Checkbox.stories.tsx +124 -128
- package/checkbox/Checkbox.test.js +13 -0
- package/checkbox/types.d.ts +7 -3
- package/common/variables.js +6 -7
- package/date-input/DateInput.js +50 -39
- package/date-input/DateInput.stories.tsx +7 -7
- package/date-input/DateInput.test.js +69 -59
- package/date-input/types.d.ts +16 -9
- package/dialog/Dialog.js +4 -32
- package/dropdown/Dropdown.js +13 -17
- package/footer/Footer.js +10 -85
- package/header/Header.js +20 -44
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +18 -2
- package/inset/types.d.ts +24 -0
- package/layout/ApplicationLayout.js +5 -18
- package/link/Link.d.ts +3 -2
- package/link/Link.js +65 -56
- package/link/Link.stories.tsx +87 -52
- package/link/Link.test.js +7 -15
- package/link/types.d.ts +8 -23
- package/main.d.ts +3 -2
- package/main.js +13 -5
- package/number-input/NumberInput.js +11 -18
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +2 -4
- package/number-input/types.d.ts +16 -9
- package/package.json +6 -5
- package/password-input/PasswordInput.test.js +2 -4
- package/password-input/types.d.ts +13 -10
- 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 +10 -11
- package/row/types.d.ts +18 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +148 -0
- package/select/Option.js +1 -1
- package/select/Select.js +71 -156
- package/select/Select.stories.tsx +19 -19
- package/select/Select.test.js +405 -248
- package/select/types.d.ts +42 -12
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +2 -1
- package/slider/Slider.stories.tsx +8 -8
- package/slider/Slider.test.js +31 -10
- package/slider/types.d.ts +4 -0
- package/stack/types.d.ts +15 -0
- package/switch/Switch.d.ts +1 -1
- package/switch/Switch.js +32 -19
- package/switch/Switch.stories.tsx +14 -14
- package/switch/Switch.test.js +25 -0
- package/switch/types.d.ts +6 -2
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +9 -11
- package/tabs/Tabs.stories.tsx +0 -8
- package/tabs/Tabs.test.js +26 -9
- package/tabs/types.d.ts +4 -0
- package/tag/Tag.js +14 -19
- package/tag/Tag.stories.tsx +12 -8
- package/text-input/TextInput.js +2 -4
- package/text-input/TextInput.test.js +21 -34
- package/text-input/types.d.ts +13 -10
- package/textarea/Textarea.js +2 -4
- package/textarea/Textarea.test.js +10 -20
- package/textarea/types.d.ts +13 -10
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +5 -4
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.js +35 -4
- package/toggle-group/types.d.ts +8 -0
- package/useTheme.js +2 -2
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +28 -19
- package/wizard/Wizard.stories.tsx +13 -23
- package/wizard/Wizard.test.js +36 -23
- package/wizard/types.d.ts +6 -2
- package/ThemeContext.d.ts +0 -10
package/date-input/types.d.ts
CHANGED
|
@@ -14,6 +14,10 @@ declare type Props = {
|
|
|
14
14
|
* Name attribute of the input element.
|
|
15
15
|
*/
|
|
16
16
|
name?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Initial value of the input element, only when it is uncontrolled.
|
|
19
|
+
*/
|
|
20
|
+
defaultValue?: string;
|
|
17
21
|
/**
|
|
18
22
|
* Value of the input element. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
|
|
19
23
|
*/
|
|
@@ -50,28 +54,31 @@ declare type Props = {
|
|
|
50
54
|
* element of the component. An object including the string value, the
|
|
51
55
|
* error and the date value will be passed to this function.
|
|
52
56
|
* If the string value is a valid date, error will
|
|
53
|
-
* be
|
|
57
|
+
* be undefined. Also, if the string value is not a valid date, date will be undefined.
|
|
54
58
|
*/
|
|
55
59
|
onChange?: (val: {
|
|
56
60
|
value: string;
|
|
57
|
-
error
|
|
58
|
-
date
|
|
61
|
+
error?: string;
|
|
62
|
+
date?: Date;
|
|
59
63
|
}) => void;
|
|
60
64
|
/**
|
|
61
65
|
* This function will be called when the input element loses the focus.
|
|
62
66
|
* An object including the string value, the error and the date value
|
|
63
67
|
* will be passed to this function. If the string value is a valid date, error will
|
|
64
|
-
* be
|
|
68
|
+
* be undefined. Also, if the string value is not a valid date, date will be undefined.
|
|
65
69
|
*/
|
|
66
70
|
onBlur?: (val: {
|
|
67
71
|
value: string;
|
|
68
|
-
error
|
|
69
|
-
date
|
|
72
|
+
error?: string;
|
|
73
|
+
date?: Date;
|
|
70
74
|
}) => void;
|
|
71
75
|
/**
|
|
72
|
-
* If it is defined
|
|
73
|
-
* the error below the date input
|
|
74
|
-
*
|
|
76
|
+
* If it is a defined value and also a truthy string, the component will
|
|
77
|
+
* change its appearance, showing the error below the date input
|
|
78
|
+
* component. If the defined value is an empty string, it will reserve a
|
|
79
|
+
* space below the component for a future error, but it would not change
|
|
80
|
+
* its look. In case of being undefined or null, both the appearance and
|
|
81
|
+
* the space for the error message would not be modified.
|
|
75
82
|
*/
|
|
76
83
|
error?: string;
|
|
77
84
|
/**
|
package/dialog/Dialog.js
CHANGED
|
@@ -13,9 +13,7 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
|
13
13
|
|
|
14
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
15
|
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
16
|
+
var _react = _interopRequireDefault(require("react"));
|
|
19
17
|
|
|
20
18
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
19
|
|
|
@@ -45,12 +43,6 @@ var DxcDialog = function DxcDialog(_ref) {
|
|
|
45
43
|
padding = _ref$padding === void 0 ? "small" : _ref$padding,
|
|
46
44
|
_ref$tabIndex = _ref.tabIndex,
|
|
47
45
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
48
|
-
|
|
49
|
-
var _useState = (0, _react.useState)(false),
|
|
50
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
51
|
-
isResponsive = _useState2[0],
|
|
52
|
-
setIsResponsive = _useState2[1];
|
|
53
|
-
|
|
54
46
|
var colorsTheme = (0, _useTheme["default"])();
|
|
55
47
|
|
|
56
48
|
var handleClose = function handleClose() {
|
|
@@ -61,21 +53,6 @@ var DxcDialog = function DxcDialog(_ref) {
|
|
|
61
53
|
onBackgroundClick === null || onBackgroundClick === void 0 ? void 0 : onBackgroundClick();
|
|
62
54
|
};
|
|
63
55
|
|
|
64
|
-
var handleResize = function handleResize(width) {
|
|
65
|
-
setIsResponsive(width && width <= _variables.responsiveSizes.tablet);
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
var handleEventListener = function handleEventListener() {
|
|
69
|
-
handleResize(window.innerWidth);
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
(0, _react.useEffect)(function () {
|
|
73
|
-
window.addEventListener("resize", handleEventListener);
|
|
74
|
-
handleResize(window.innerWidth);
|
|
75
|
-
return function () {
|
|
76
|
-
window.removeEventListener("resize", handleEventListener);
|
|
77
|
-
};
|
|
78
|
-
}, []);
|
|
79
56
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
80
57
|
theme: colorsTheme.dialog
|
|
81
58
|
}, /*#__PURE__*/_react["default"].createElement(DialogContainer, {
|
|
@@ -83,8 +60,7 @@ var DxcDialog = function DxcDialog(_ref) {
|
|
|
83
60
|
isCloseVisible: isCloseVisible,
|
|
84
61
|
onClose: handleOverlayClick,
|
|
85
62
|
overlay: overlay,
|
|
86
|
-
padding: padding
|
|
87
|
-
isResponsive: isResponsive
|
|
63
|
+
padding: padding
|
|
88
64
|
}, isCloseVisible && /*#__PURE__*/_react["default"].createElement(CloseIconContainer, {
|
|
89
65
|
onClick: handleClose,
|
|
90
66
|
tabIndex: tabIndex
|
|
@@ -104,7 +80,7 @@ var DxcDialog = function DxcDialog(_ref) {
|
|
|
104
80
|
}, children))));
|
|
105
81
|
};
|
|
106
82
|
|
|
107
|
-
var DialogContainer = (0, _styledComponents["default"])(_Dialog["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n overflow: unset;\n font-family: ", ";\n\n .MuiBackdrop-root {\n background-color: ", ";\n opacity: ", " !important;\n }\n .MuiDialog-paperWidthSm {\n background-color: ", ";\n
|
|
83
|
+
var DialogContainer = (0, _styledComponents["default"])(_Dialog["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n overflow: unset;\n font-family: ", ";\n\n .MuiBackdrop-root {\n background-color: ", ";\n opacity: ", " !important;\n }\n .MuiDialog-paperWidthSm {\n background-color: ", ";\n @media (min-width: ", "rem) {\n max-width: 80%;\n min-width: 800px;\n }\n\n @media (max-width: ", "rem) {\n //mobile phones\n max-width: 92%;\n min-width: 92%;\n }\n\n box-sizing: border-box;\n min-height: ", ";\n box-shadow: ", ";\n\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n }\n"])), function (props) {
|
|
108
84
|
return props.theme.fontFamily;
|
|
109
85
|
}, function (props) {
|
|
110
86
|
return props.overlay === true ? props.theme.overlayColor : "transparent";
|
|
@@ -112,11 +88,7 @@ var DialogContainer = (0, _styledComponents["default"])(_Dialog["default"])(_tem
|
|
|
112
88
|
return props.overlay === true && props.theme.overlayOpacity;
|
|
113
89
|
}, function (props) {
|
|
114
90
|
return props.theme.backgroundColor;
|
|
115
|
-
}, function (props) {
|
|
116
|
-
return props.isResponsive ? "92%" : "80%";
|
|
117
|
-
}, function (props) {
|
|
118
|
-
return props.isResponsive ? "92%" : "800px";
|
|
119
|
-
}, function (props) {
|
|
91
|
+
}, _variables.responsiveSizes.medium, _variables.responsiveSizes.medium, function (props) {
|
|
120
92
|
return props.isCloseVisible ? "72px" : "";
|
|
121
93
|
}, function (props) {
|
|
122
94
|
return "".concat(props.theme.boxShadowOffsetX, " ").concat(props.theme.boxShadowOffsetY, " ").concat(props.theme.boxShadowBlur, " ").concat(props.theme.boxShadowColor);
|
package/dropdown/Dropdown.js
CHANGED
|
@@ -138,6 +138,11 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
138
138
|
}));
|
|
139
139
|
};
|
|
140
140
|
|
|
141
|
+
var labelComponent = /*#__PURE__*/_react["default"].createElement(DropdownTriggerLabel, {
|
|
142
|
+
iconPosition: iconPosition,
|
|
143
|
+
label: label
|
|
144
|
+
}, label);
|
|
145
|
+
|
|
141
146
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
142
147
|
theme: colorsTheme.dropdown
|
|
143
148
|
}, /*#__PURE__*/_react["default"].createElement(DXCDropdownContainer, {
|
|
@@ -160,18 +165,14 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
160
165
|
ref: ref,
|
|
161
166
|
tabIndex: tabIndex
|
|
162
167
|
}, /*#__PURE__*/_react["default"].createElement(DropdownTriggerContainer, {
|
|
163
|
-
iconPosition: iconPosition,
|
|
164
168
|
caretHidden: caretHidden
|
|
165
|
-
}, icon && /*#__PURE__*/_react["default"].createElement(ButtonIconContainer, {
|
|
169
|
+
}, iconPosition === "after" && labelComponent, icon && /*#__PURE__*/_react["default"].createElement(ButtonIconContainer, {
|
|
166
170
|
label: label,
|
|
167
171
|
iconPosition: iconPosition,
|
|
168
172
|
disabled: disabled
|
|
169
173
|
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(ButtonIcon, {
|
|
170
174
|
src: icon
|
|
171
|
-
}) : icon), /*#__PURE__*/_react["default"].createElement(
|
|
172
|
-
iconPosition: iconPosition,
|
|
173
|
-
label: label
|
|
174
|
-
}, label)), /*#__PURE__*/_react["default"].createElement(CaretIconContainer, {
|
|
175
|
+
}) : icon), iconPosition === "before" && labelComponent), /*#__PURE__*/_react["default"].createElement(CaretIconContainer, {
|
|
175
176
|
caretHidden: caretHidden,
|
|
176
177
|
disabled: disabled
|
|
177
178
|
}, !caretHidden && (anchorEl === null ? /*#__PURE__*/_react["default"].createElement(DownArrowIcon, null) : /*#__PURE__*/_react["default"].createElement(UpArrowIcon, null)))), /*#__PURE__*/_react["default"].createElement(DXCMenu, {
|
|
@@ -187,7 +188,6 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
187
188
|
vertical: "top",
|
|
188
189
|
horizontal: "left"
|
|
189
190
|
},
|
|
190
|
-
optionsIconPosition: optionsIconPosition,
|
|
191
191
|
size: size,
|
|
192
192
|
width: width,
|
|
193
193
|
role: undefined,
|
|
@@ -209,12 +209,14 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
209
209
|
onClick: function onClick(event) {
|
|
210
210
|
return handleMenuItemClick(option);
|
|
211
211
|
}
|
|
212
|
-
},
|
|
212
|
+
}, optionsIconPosition === "after" && /*#__PURE__*/_react["default"].createElement("span", {
|
|
213
|
+
className: "optionLabel"
|
|
214
|
+
}, option.label), option.icon && /*#__PURE__*/_react["default"].createElement(ListIconContainer, {
|
|
213
215
|
label: option.label,
|
|
214
216
|
iconPosition: optionsIconPosition
|
|
215
217
|
}, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement(ListIcon, {
|
|
216
218
|
src: option.icon
|
|
217
|
-
}) : option.icon), /*#__PURE__*/_react["default"].createElement("span", {
|
|
219
|
+
}) : option.icon), optionsIconPosition === "before" && /*#__PURE__*/_react["default"].createElement("span", {
|
|
218
220
|
className: "optionLabel"
|
|
219
221
|
}, option.label));
|
|
220
222
|
})))));
|
|
@@ -251,7 +253,7 @@ var DXCDropdownContainer = _styledComponents["default"].div(_templateObject || (
|
|
|
251
253
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
252
254
|
});
|
|
253
255
|
|
|
254
|
-
var DXCMenu = (0, _styledComponents["default"])(_Popper["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n\n .MuiMenuItem-gutters {\n width: ", ";\n }\n .MuiMenuItem-root {\n min-height: 36px;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n height: auto;\n }\n .MuiPaper-root {\n min-width: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n max-height: 230px;\n overflow-y: auto;\n\n ::-webkit-scrollbar {\n width: 3px;\n }\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n\n .MuiList-padding {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n .MuiListItem-button {\n display: flex;\n
|
|
256
|
+
var DXCMenu = (0, _styledComponents["default"])(_Popper["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1;\n\n .MuiMenuItem-gutters {\n width: ", ";\n }\n .MuiMenuItem-root {\n min-height: 36px;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n height: auto;\n }\n .MuiPaper-root {\n min-width: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n border-top-left-radius: 0px;\n border-top-right-radius: 0px;\n max-height: 230px;\n overflow-y: auto;\n\n ::-webkit-scrollbar {\n width: 3px;\n }\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n\n .MuiList-padding {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n .MuiListItem-button {\n display: flex;\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n cursor: pointer;\n }\n .MuiListItem-button:focus {\n outline: ", " solid 2px;\n outline-offset: -2px;\n }\n .MuiListItem-button:hover {\n background-color: ", ";\n }\n .MuiListItem-button:active {\n background-color: ", ";\n outline: ", " solid 2px;\n outline-offset: -2px;\n }\n }\n"])), function (props) {
|
|
255
257
|
return calculateWidth(props.margin, props.size);
|
|
256
258
|
}, function (props) {
|
|
257
259
|
return props.theme.optionPaddingTop;
|
|
@@ -277,10 +279,6 @@ var DXCMenu = (0, _styledComponents["default"])(_Popper["default"])(_templateObj
|
|
|
277
279
|
return props.theme.scrollBarTrackColor;
|
|
278
280
|
}, function (props) {
|
|
279
281
|
return props.theme.scrollBarThumbColor;
|
|
280
|
-
}, function (props) {
|
|
281
|
-
return props.optionsIconPosition === "after" && "row-reverse" || "row";
|
|
282
|
-
}, function (props) {
|
|
283
|
-
return props.optionsIconPosition === "after" && "flex-end" || "";
|
|
284
282
|
}, function (props) {
|
|
285
283
|
return props.theme.optionBackgroundColor;
|
|
286
284
|
}, function (props) {
|
|
@@ -345,9 +343,7 @@ var DropdownTrigger = _styledComponents["default"].button(_templateObject3 || (_
|
|
|
345
343
|
|
|
346
344
|
var DropdownTriggerLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n text-align: left;\n text-overflow: ellipsis;\n overflow: hidden;\n"])));
|
|
347
345
|
|
|
348
|
-
var DropdownTriggerContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n
|
|
349
|
-
return props.iconPosition === "after" && "row-reverse" || "row";
|
|
350
|
-
}, function (props) {
|
|
346
|
+
var DropdownTriggerContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-left: 0px;\n margin-right: 0px;\n width: ", ";\n white-space: nowrap;\n"])), function (props) {
|
|
351
347
|
return props.caretHidden ? "100%" : "calc(100% - 36px)";
|
|
352
348
|
});
|
|
353
349
|
|
package/footer/Footer.js
CHANGED
|
@@ -13,8 +13,6 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
|
13
13
|
|
|
14
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
15
|
|
|
16
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
-
|
|
18
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
17
|
|
|
20
18
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
@@ -43,23 +41,6 @@ var DxcFooter = function DxcFooter(_ref) {
|
|
|
43
41
|
margin = _ref.margin,
|
|
44
42
|
_ref$tabIndex = _ref.tabIndex,
|
|
45
43
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
46
|
-
var ref = (0, _react.useRef)(null);
|
|
47
|
-
|
|
48
|
-
var _useState = (0, _react.useState)(),
|
|
49
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
50
|
-
refSize = _useState2[0],
|
|
51
|
-
setRefSize = _useState2[1];
|
|
52
|
-
|
|
53
|
-
var _useState3 = (0, _react.useState)(false),
|
|
54
|
-
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
55
|
-
isResponsiveTablet = _useState4[0],
|
|
56
|
-
setIsResponsiveTablet = _useState4[1];
|
|
57
|
-
|
|
58
|
-
var _useState5 = (0, _react.useState)(false),
|
|
59
|
-
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
60
|
-
isResponsivePhone = _useState6[0],
|
|
61
|
-
setIsResponsivePhone = _useState6[1];
|
|
62
|
-
|
|
63
44
|
var colorsTheme = (0, _useTheme["default"])();
|
|
64
45
|
var footerLogo = (0, _react.useMemo)(function () {
|
|
65
46
|
if (!colorsTheme.footer.logo) {
|
|
@@ -75,35 +56,6 @@ var DxcFooter = function DxcFooter(_ref) {
|
|
|
75
56
|
|
|
76
57
|
return colorsTheme.footer.logo;
|
|
77
58
|
}, [colorsTheme.footer.logo]);
|
|
78
|
-
|
|
79
|
-
var handleResize = function handleResize(refWidth) {
|
|
80
|
-
if (ref.current) {
|
|
81
|
-
setRefSize(refWidth);
|
|
82
|
-
|
|
83
|
-
if (refWidth <= _variables.responsiveSizes.tablet && refWidth > _variables.responsiveSizes.mobileLarge) {
|
|
84
|
-
setIsResponsiveTablet(true);
|
|
85
|
-
setIsResponsivePhone(false);
|
|
86
|
-
} else if (refWidth <= _variables.responsiveSizes.tablet && refWidth <= _variables.responsiveSizes.mobileLarge) {
|
|
87
|
-
setIsResponsivePhone(true);
|
|
88
|
-
setIsResponsiveTablet(false);
|
|
89
|
-
} else {
|
|
90
|
-
setIsResponsiveTablet(false);
|
|
91
|
-
setIsResponsivePhone(false);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
var handleEventListener = function handleEventListener() {
|
|
97
|
-
handleResize(ref.current.offsetWidth);
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
(0, _react.useEffect)(function () {
|
|
101
|
-
window.addEventListener("resize", handleEventListener);
|
|
102
|
-
handleResize(ref.current.offsetWidth);
|
|
103
|
-
return function () {
|
|
104
|
-
window.removeEventListener("resize", handleEventListener);
|
|
105
|
-
};
|
|
106
|
-
}, []);
|
|
107
59
|
var socialLink = socialLinks === null || socialLinks === void 0 ? void 0 : socialLinks.map(function (link, index) {
|
|
108
60
|
return /*#__PURE__*/_react["default"].createElement(SocialAnchor, {
|
|
109
61
|
tabIndex: tabIndex,
|
|
@@ -127,30 +79,17 @@ var DxcFooter = function DxcFooter(_ref) {
|
|
|
127
79
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
128
80
|
theme: colorsTheme.footer
|
|
129
81
|
}, /*#__PURE__*/_react["default"].createElement(FooterContainer, {
|
|
130
|
-
margin: margin
|
|
131
|
-
|
|
132
|
-
ref: ref
|
|
133
|
-
}, /*#__PURE__*/_react["default"].createElement(FooterHeader, {
|
|
134
|
-
refSize: refSize
|
|
135
|
-
}, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, footerLogo), /*#__PURE__*/_react["default"].createElement(SocialLinkContainer, {
|
|
136
|
-
refSize: refSize
|
|
137
|
-
}, socialLink)), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(ChildComponents, {
|
|
82
|
+
margin: margin
|
|
83
|
+
}, /*#__PURE__*/_react["default"].createElement(FooterHeader, null, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, footerLogo), /*#__PURE__*/_react["default"].createElement(SocialLinkContainer, null, socialLink)), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(ChildComponents, {
|
|
138
84
|
padding: padding
|
|
139
85
|
}, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
|
|
140
86
|
color: colorsTheme.footer.backgroundColor
|
|
141
87
|
}, children)), /*#__PURE__*/_react["default"].createElement(FooterFooter, {
|
|
142
|
-
className: "footerFooter"
|
|
143
|
-
|
|
144
|
-
}, /*#__PURE__*/_react["default"].createElement(BottomLinks, {
|
|
145
|
-
refSize: refSize
|
|
146
|
-
}, bottomLink), /*#__PURE__*/_react["default"].createElement(Copyright, {
|
|
147
|
-
refSize: refSize
|
|
148
|
-
}, copyright)))));
|
|
88
|
+
className: "footerFooter"
|
|
89
|
+
}, /*#__PURE__*/_react["default"].createElement(BottomLinks, null, bottomLink), /*#__PURE__*/_react["default"].createElement(Copyright, null, copyright)))));
|
|
149
90
|
};
|
|
150
91
|
|
|
151
|
-
var FooterContainer = _styledComponents["default"].footer(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding: ", ";\n background-color: ", ";\n margin-top: ", ";\n width: 100%;\n box-sizing: border-box;\n min-height: ", ";\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n"])), function (props) {
|
|
152
|
-
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "20px 20px 20px 20px" : "24px 36px 24px 36px";
|
|
153
|
-
}, function (props) {
|
|
92
|
+
var FooterContainer = _styledComponents["default"].footer(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n @media (min-width: ", "rem) {\n padding: 24px 36px 24px 36px;\n }\n\n @media (max-width: ", "rem) {\n //mobile phones\n padding: 20px;\n }\n\n background-color: ", ";\n margin-top: ", ";\n width: 100%;\n box-sizing: border-box;\n min-height: ", ";\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n"])), _variables.responsiveSizes.small, _variables.responsiveSizes.small, function (props) {
|
|
154
93
|
return props.theme.backgroundColor;
|
|
155
94
|
}, function (props) {
|
|
156
95
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
@@ -160,21 +99,13 @@ var FooterContainer = _styledComponents["default"].footer(_templateObject || (_t
|
|
|
160
99
|
|
|
161
100
|
var FooterHeader = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n row-gap: 24px;\n"])));
|
|
162
101
|
|
|
163
|
-
var FooterFooter = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n
|
|
164
|
-
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "column" : "row";
|
|
165
|
-
}, function (props) {
|
|
166
|
-
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "center" : "";
|
|
167
|
-
}, function (props) {
|
|
102
|
+
var FooterFooter = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n\n @media (min-width: ", "rem) {\n flex-direction: row;\n }\n\n @media (max-width: ", "rem) {\n //mobile phones\n flex-direction: column;\n align-items: center;\n }\n\n border-top: ", ";\n margin-top: 16px;\n"])), _variables.responsiveSizes.small, _variables.responsiveSizes.small, function (props) {
|
|
168
103
|
return "".concat(props.theme.bottomLinksDividerThickness, " ").concat(props.theme.bottomLinksDividerStyle, " ").concat(props.theme.bottomLinksDividerColor);
|
|
169
104
|
});
|
|
170
105
|
|
|
171
|
-
var BottomLinks = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding-top: ", ";\n display: inline-flex;\n flex-wrap: wrap;\n
|
|
106
|
+
var BottomLinks = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding-top: ", ";\n display: inline-flex;\n flex-wrap: wrap;\n\n @media (min-width: ", "rem) {\n max-width: 60%;\n }\n\n @media (max-width: ", "rem) {\n //mobile phones\n max-width: 100%;\n width: 100%;\n }\n\n & > span:last-child span {\n display: none;\n }\n align-self: center;\n"])), function (props) {
|
|
172
107
|
return props.theme.bottomLinksDividerSpacing;
|
|
173
|
-
},
|
|
174
|
-
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "60%";
|
|
175
|
-
}, function (props) {
|
|
176
|
-
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "";
|
|
177
|
-
});
|
|
108
|
+
}, _variables.responsiveSizes.small, _variables.responsiveSizes.small);
|
|
178
109
|
|
|
179
110
|
var ChildComponents = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 16px;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n overflow: hidden;\n"])), function (props) {
|
|
180
111
|
return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
|
|
@@ -188,7 +119,7 @@ var ChildComponents = _styledComponents["default"].div(_templateObject5 || (_tem
|
|
|
188
119
|
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
|
|
189
120
|
});
|
|
190
121
|
|
|
191
|
-
var Copyright = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n
|
|
122
|
+
var Copyright = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n\n @media (min-width: ", "rem) {\n max-width: 40%;\n text-align: right;\n }\n\n @media (max-width: ", "rem) {\n //mobile phones\n max-width: 100%;\n width: 100%;\n text-align: left;\n }\n \n padding-top: ", ";\n"])), function (props) {
|
|
192
123
|
return props.theme.copyrightFontFamily;
|
|
193
124
|
}, function (props) {
|
|
194
125
|
return props.theme.copyrightFontSize;
|
|
@@ -198,13 +129,7 @@ var Copyright = _styledComponents["default"].div(_templateObject6 || (_templateO
|
|
|
198
129
|
return props.theme.copyrightFontWeight;
|
|
199
130
|
}, function (props) {
|
|
200
131
|
return props.theme.copyrightFontColor;
|
|
201
|
-
}, function (props) {
|
|
202
|
-
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "40%";
|
|
203
|
-
}, function (props) {
|
|
204
|
-
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "";
|
|
205
|
-
}, function (props) {
|
|
206
|
-
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "left" : "right";
|
|
207
|
-
}, function (props) {
|
|
132
|
+
}, _variables.responsiveSizes.small, _variables.responsiveSizes.small, function (props) {
|
|
208
133
|
return props.theme.bottomLinksDividerSpacing;
|
|
209
134
|
});
|
|
210
135
|
|
package/header/Header.js
CHANGED
|
@@ -92,31 +92,18 @@ var DxcHeader = function DxcHeader(_ref) {
|
|
|
92
92
|
var colorsTheme = (0, _useTheme["default"])();
|
|
93
93
|
var ref = (0, _react.useRef)(null);
|
|
94
94
|
|
|
95
|
-
var _useState = (0, _react.useState)(),
|
|
95
|
+
var _useState = (0, _react.useState)(false),
|
|
96
96
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
isResponsive = _useState2[0],
|
|
98
|
+
setIsResponsive = _useState2[1];
|
|
99
99
|
|
|
100
100
|
var _useState3 = (0, _react.useState)(false),
|
|
101
101
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
var
|
|
106
|
-
|
|
107
|
-
isMenuVisible = _useState6[0],
|
|
108
|
-
setIsMenuVisible = _useState6[1];
|
|
109
|
-
|
|
110
|
-
var handleResize = function handleResize(refWidth) {
|
|
111
|
-
if (refWidth) {
|
|
112
|
-
setRefSize(refWidth);
|
|
113
|
-
|
|
114
|
-
if (refWidth <= _variables.responsiveSizes.tablet && !isResponsive) {
|
|
115
|
-
setIsResponsive(true);
|
|
116
|
-
} else {
|
|
117
|
-
setIsResponsive(false);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
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);
|
|
120
107
|
};
|
|
121
108
|
|
|
122
109
|
var ContentContainerComponent = function ContentContainerComponent() {
|
|
@@ -143,19 +130,14 @@ var DxcHeader = function DxcHeader(_ref) {
|
|
|
143
130
|
var headerResponsiveLogo = (0, _react.useMemo)(function () {
|
|
144
131
|
return getLogoElement(colorsTheme.header.logoResponsive);
|
|
145
132
|
}, [colorsTheme.header.logoResponsive]);
|
|
146
|
-
|
|
147
|
-
var handleEventListener = function handleEventListener() {
|
|
148
|
-
handleResize(ref.current.offsetWidth);
|
|
149
|
-
};
|
|
150
|
-
|
|
151
133
|
(0, _react.useEffect)(function () {
|
|
152
134
|
if (ref.current) {
|
|
153
|
-
window.addEventListener("resize",
|
|
154
|
-
handleResize(
|
|
135
|
+
window.addEventListener("resize", handleResize);
|
|
136
|
+
handleResize();
|
|
155
137
|
}
|
|
156
138
|
|
|
157
139
|
return function () {
|
|
158
|
-
window.removeEventListener("resize",
|
|
140
|
+
window.removeEventListener("resize", handleResize);
|
|
159
141
|
};
|
|
160
142
|
}, []);
|
|
161
143
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
@@ -176,8 +158,7 @@ var DxcHeader = function DxcHeader(_ref) {
|
|
|
176
158
|
underlined: underlined,
|
|
177
159
|
onClick: handleMenu
|
|
178
160
|
}, hamburgerIcon, /*#__PURE__*/_react["default"].createElement(HamburguerTitle, null, "Menu"))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
|
|
179
|
-
hasVisibility: isMenuVisible
|
|
180
|
-
refSize: refSize
|
|
161
|
+
hasVisibility: isMenuVisible
|
|
181
162
|
}, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
|
|
182
163
|
color: colorsTheme.header.menuBackgroundColor
|
|
183
164
|
}, /*#__PURE__*/_react["default"].createElement(ContentContainerComponent, null)), /*#__PURE__*/_react["default"].createElement(CloseContainer, {
|
|
@@ -186,8 +167,7 @@ var DxcHeader = function DxcHeader(_ref) {
|
|
|
186
167
|
className: "closeIcon"
|
|
187
168
|
}, closeIcon)), /*#__PURE__*/_react["default"].createElement(Overlay, {
|
|
188
169
|
onClick: handleMenu,
|
|
189
|
-
hasVisibility: isMenuVisible
|
|
190
|
-
refSize: refSize
|
|
170
|
+
hasVisibility: isMenuVisible
|
|
191
171
|
}))), !isResponsive && /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
|
|
192
172
|
color: colorsTheme.header.backgroundColor
|
|
193
173
|
}, /*#__PURE__*/_react["default"].createElement(ContentContainerComponent, null))));
|
|
@@ -276,16 +256,14 @@ var HamburguerTitle = _styledComponents["default"].span(_templateObject9 || (_te
|
|
|
276
256
|
|
|
277
257
|
var MainContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-grow: 1;\n"])));
|
|
278
258
|
|
|
279
|
-
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) {
|
|
280
260
|
return props.theme.menuBackgroundColor;
|
|
281
261
|
}, function (props) {
|
|
282
262
|
return props.theme.menuZindex;
|
|
283
|
-
}, function (props) {
|
|
284
|
-
return props.
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
return props.theme.menuMobileWidth;
|
|
288
|
-
});
|
|
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;
|
|
289
267
|
}, function (props) {
|
|
290
268
|
return props.hasVisibility ? "translateX(0)" : "translateX(100vw)";
|
|
291
269
|
}, function (props) {
|
|
@@ -306,7 +284,7 @@ var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templa
|
|
|
306
284
|
return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
|
|
307
285
|
});
|
|
308
286
|
|
|
309
|
-
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) {
|
|
310
288
|
return props.theme.overlayColor;
|
|
311
289
|
}, function (props) {
|
|
312
290
|
return props.theme.overlayOpacity;
|
|
@@ -314,9 +292,7 @@ var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateOb
|
|
|
314
292
|
return props.hasVisibility ? "visible" : "hidden";
|
|
315
293
|
}, function (props) {
|
|
316
294
|
return props.hasVisibility ? "1" : "0";
|
|
317
|
-
}, function (props) {
|
|
318
|
-
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "none" : "";
|
|
319
|
-
}, function (props) {
|
|
295
|
+
}, _variables.responsiveSizes.small, function (props) {
|
|
320
296
|
return props.theme.overlayZindex;
|
|
321
297
|
});
|
|
322
298
|
|
|
@@ -26,15 +26,6 @@ export const Chromatic = () => (
|
|
|
26
26
|
<Title title="Underlined with text" theme="light" level={4} />
|
|
27
27
|
<DxcHeader underlined content={<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>} />
|
|
28
28
|
</ExampleContainer>
|
|
29
|
-
<ExampleContainer>
|
|
30
|
-
<Title title="Responsive" theme="light" level={4} />
|
|
31
|
-
<div style={{ width: "400px" }}>
|
|
32
|
-
<DxcHeader
|
|
33
|
-
responsiveContent={(closeHandler) => <DxcHeader.Dropdown options={options} label="Default Dropdown" />}
|
|
34
|
-
underlined
|
|
35
|
-
/>
|
|
36
|
-
</div>
|
|
37
|
-
</ExampleContainer>
|
|
38
29
|
<Title title="Margins" theme="light" level={2} />
|
|
39
30
|
<ExampleContainer>
|
|
40
31
|
<Title title="Xxsmall margin" theme="light" level={4} />
|
|
@@ -104,59 +95,78 @@ export const Chromatic = () => (
|
|
|
104
95
|
</>
|
|
105
96
|
);
|
|
106
97
|
|
|
107
|
-
const
|
|
98
|
+
export const ResponsiveHeader = () => (
|
|
108
99
|
<ExampleContainer>
|
|
109
100
|
<Title title="Responsive" theme="light" level={4} />
|
|
110
|
-
<
|
|
111
|
-
<DxcHeader
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
</div>
|
|
101
|
+
<DxcHeader
|
|
102
|
+
content={<DxcHeader.Dropdown options={options} label="Default Dropdown" />}
|
|
103
|
+
responsiveContent={(closeHandler) => <DxcHeader.Dropdown options={options} label="Default Dropdown" />}
|
|
104
|
+
underlined
|
|
105
|
+
/>
|
|
116
106
|
</ExampleContainer>
|
|
117
107
|
);
|
|
118
108
|
|
|
119
109
|
const RespHeaderFocus = () => (
|
|
120
110
|
<ExampleContainer pseudoState="pseudo-focus">
|
|
121
|
-
<Title title="Responsive" theme="light" level={4} />
|
|
122
|
-
<
|
|
123
|
-
<DxcHeader
|
|
124
|
-
responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>}
|
|
125
|
-
underlined
|
|
126
|
-
/>
|
|
127
|
-
</div>
|
|
111
|
+
<Title title="Responsive focus" theme="light" level={4} />
|
|
112
|
+
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
128
113
|
</ExampleContainer>
|
|
129
114
|
);
|
|
130
115
|
|
|
131
116
|
const RespHeaderHover = () => (
|
|
132
117
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
133
|
-
<Title title="Responsive" theme="light" level={4} />
|
|
134
|
-
<
|
|
135
|
-
<DxcHeader
|
|
136
|
-
responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>}
|
|
137
|
-
underlined
|
|
138
|
-
/>
|
|
139
|
-
</div>
|
|
118
|
+
<Title title="Responsive hover" theme="light" level={4} />
|
|
119
|
+
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
140
120
|
</ExampleContainer>
|
|
141
121
|
);
|
|
142
122
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
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] },
|
|
148
135
|
};
|
|
149
136
|
|
|
150
137
|
export const ResponsiveHeaderFocus = RespHeaderFocus.bind({});
|
|
138
|
+
ResponsiveHeaderFocus.parameters = {
|
|
139
|
+
viewport: {
|
|
140
|
+
defaultViewport: "iphonex",
|
|
141
|
+
},
|
|
142
|
+
chromatic: { viewports: [720] },
|
|
143
|
+
};
|
|
151
144
|
ResponsiveHeaderFocus.play = async ({ canvasElement }) => {
|
|
152
145
|
const canvas = within(canvasElement);
|
|
153
146
|
await waitFor(() => canvas.findByText("Menu"));
|
|
154
|
-
await userEvent.click(canvas.getByText("Menu"));
|
|
155
147
|
};
|
|
156
148
|
|
|
157
149
|
export const ResponsiveHeaderHover = RespHeaderHover.bind({});
|
|
150
|
+
ResponsiveHeaderHover.parameters = {
|
|
151
|
+
viewport: {
|
|
152
|
+
defaultViewport: "iphonex",
|
|
153
|
+
},
|
|
154
|
+
chromatic: { viewports: [720] },
|
|
155
|
+
};
|
|
158
156
|
ResponsiveHeaderHover.play = async ({ canvasElement }) => {
|
|
159
157
|
const canvas = within(canvasElement);
|
|
160
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"));
|
|
161
171
|
await userEvent.click(canvas.getByText("Menu"));
|
|
162
172
|
};
|