@dxc-technology/halstack-react 0.0.0-59568e7 → 0.0.0-5a1e592
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +2 -2
- package/BackgroundColorContext.js +1 -1
- package/HalstackContext.d.ts +1349 -5
- package/HalstackContext.js +117 -80
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +110 -114
- package/accordion/Accordion.stories.tsx +105 -115
- package/accordion/Accordion.test.js +10 -11
- package/accordion/types.d.ts +1 -12
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +25 -65
- package/accordion-group/AccordionGroup.stories.tsx +93 -66
- package/accordion-group/AccordionGroup.test.js +27 -62
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +7 -12
- package/alert/Alert.js +5 -9
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +1 -1
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +1 -0
- package/bleed/Bleed.js +1 -34
- package/bleed/Bleed.stories.tsx +95 -95
- package/bleed/types.d.ts +1 -1
- package/box/Box.d.ts +1 -1
- package/box/Box.js +19 -48
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +1 -1
- package/box/types.d.ts +0 -11
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +125 -0
- package/bulleted-list/BulletedList.stories.tsx +206 -0
- package/bulleted-list/types.d.ts +38 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +42 -72
- package/button/Button.stories.tsx +159 -8
- package/button/Button.test.js +12 -1
- package/button/types.d.ts +9 -5
- package/card/Card.d.ts +1 -1
- package/card/Card.js +43 -63
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +1 -1
- package/card/types.d.ts +1 -6
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +127 -115
- package/checkbox/Checkbox.stories.tsx +146 -58
- package/checkbox/Checkbox.test.js +168 -18
- package/checkbox/types.d.ts +8 -0
- package/chip/Chip.js +28 -49
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +3 -5
- package/chip/types.d.ts +1 -1
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +146 -0
- package/common/coreTokens.js +167 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +4 -4
- package/common/variables.d.ts +1499 -0
- package/common/variables.js +1025 -1131
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +138 -239
- package/date-input/DateInput.stories.tsx +209 -33
- package/date-input/DateInput.test.js +519 -149
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +146 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +126 -0
- package/date-input/types.d.ts +55 -0
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +72 -79
- package/dialog/Dialog.stories.tsx +154 -171
- package/dialog/Dialog.test.js +334 -5
- package/dialog/types.d.ts +0 -12
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +246 -249
- package/dropdown/Dropdown.stories.tsx +245 -56
- package/dropdown/Dropdown.test.js +507 -110
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +74 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +79 -0
- package/dropdown/types.d.ts +23 -3
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +174 -220
- package/file-input/FileInput.stories.tsx +122 -11
- package/file-input/FileInput.test.js +14 -14
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +39 -63
- package/file-input/types.d.ts +18 -1
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +71 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +44 -64
- package/footer/Footer.stories.tsx +41 -19
- package/footer/Footer.test.js +16 -26
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +11 -12
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +91 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +83 -110
- package/header/Header.stories.tsx +118 -39
- package/header/Header.test.js +2 -2
- package/header/Icons.js +2 -2
- package/header/types.d.ts +0 -13
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +1 -1
- package/image/Image.d.ts +4 -0
- package/image/Image.js +85 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +37 -36
- package/inset/types.d.ts +1 -1
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +81 -125
- package/layout/ApplicationLayout.stories.tsx +85 -94
- package/layout/Icons.d.ts +8 -0
- package/layout/Icons.js +52 -45
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +19 -35
- package/link/Link.d.ts +2 -2
- package/link/Link.js +26 -52
- package/link/Link.stories.tsx +73 -6
- package/link/Link.test.js +2 -4
- package/link/types.d.ts +5 -6
- package/main.d.ts +8 -9
- package/main.js +44 -52
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +122 -0
- package/nav-tabs/NavTabs.stories.tsx +274 -0
- package/nav-tabs/NavTabs.test.js +82 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +146 -0
- package/nav-tabs/types.d.ts +52 -0
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +6 -4
- package/number-input/NumberInput.test.js +317 -98
- package/package.json +18 -22
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +8 -16
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +91 -39
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +39 -0
- package/password-input/PasswordInput.js +35 -82
- package/password-input/PasswordInput.stories.tsx +1 -0
- package/password-input/PasswordInput.test.js +34 -40
- package/progress-bar/ProgressBar.js +60 -54
- package/progress-bar/ProgressBar.stories.jsx +38 -3
- package/progress-bar/ProgressBar.test.js +68 -23
- package/quick-nav/QuickNav.js +25 -20
- package/quick-nav/QuickNav.stories.tsx +145 -26
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +50 -35
- package/radio-group/RadioGroup.js +37 -38
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +153 -99
- package/radio-group/types.d.ts +5 -5
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +49 -108
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +61 -42
- package/resultsetTable/types.d.ts +1 -1
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +33 -16
- package/select/Option.js +11 -24
- package/select/Select.js +92 -71
- package/select/Select.stories.tsx +516 -139
- package/select/Select.test.js +417 -309
- package/select/types.d.ts +3 -6
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +146 -44
- package/sidenav/Sidenav.stories.tsx +251 -151
- package/sidenav/Sidenav.test.js +25 -37
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +121 -97
- package/slider/Slider.stories.tsx +64 -1
- package/slider/Slider.test.js +122 -22
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +17 -23
- package/spinner/Spinner.stories.jsx +53 -27
- package/spinner/Spinner.test.js +1 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +137 -70
- package/switch/Switch.stories.tsx +41 -30
- package/switch/Switch.test.js +145 -18
- package/switch/types.d.ts +4 -0
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +2 -2
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +132 -0
- package/tabs/Tabs.js +358 -108
- package/tabs/Tabs.stories.tsx +119 -5
- package/tabs/Tabs.test.js +220 -10
- package/tabs/types.d.ts +13 -3
- package/tag/Tag.js +8 -10
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +1 -1
- package/tag/types.d.ts +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.js +40 -11
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +240 -351
- package/text-input/TextInput.stories.tsx +319 -185
- package/text-input/TextInput.test.js +826 -726
- package/text-input/types.d.ts +26 -3
- package/textarea/Textarea.js +27 -26
- package/textarea/Textarea.stories.jsx +68 -1
- package/textarea/Textarea.test.js +61 -19
- package/textarea/types.d.ts +4 -0
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +85 -59
- package/toggle-group/ToggleGroup.stories.tsx +48 -3
- package/toggle-group/ToggleGroup.test.js +38 -24
- package/toggle-group/types.d.ts +23 -14
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +32 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +1251 -1
- package/useTheme.js +1 -1
- package/useTranslatedLabels.d.ts +84 -1
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +138 -0
- package/wizard/Wizard.js +10 -17
- package/wizard/Wizard.stories.tsx +40 -1
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +3 -3
- package/card/ice-cream.jpg +0 -0
- package/common/RequiredComponent.js +0 -32
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- package/number-input/NumberInputContext.d.ts +0 -4
- package/number-input/NumberInputContext.js +0 -19
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -173
- package/radio/Radio.stories.tsx +0 -192
- package/radio/Radio.test.js +0 -71
- package/radio/types.d.ts +0 -54
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -28
- package/stack/Stack.d.ts +0 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -24
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- /package/{list → bulleted-list}/types.js +0 -0
- /package/{radio → flex}/types.js +0 -0
- /package/{row → grid}/types.js +0 -0
- /package/{stack → image}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → nav-tabs/types.js} +0 -0
|
@@ -13,23 +13,25 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
13
13
|
|
|
14
14
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
15
|
|
|
16
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
17
|
-
|
|
18
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
17
|
|
|
20
|
-
var
|
|
18
|
+
var _Header = _interopRequireDefault(require("../header/Header"));
|
|
19
|
+
|
|
20
|
+
var _Footer = _interopRequireDefault(require("../footer/Footer"));
|
|
21
|
+
|
|
22
|
+
var _Sidenav = _interopRequireDefault(require("../sidenav/Sidenav"));
|
|
21
23
|
|
|
22
|
-
var _styledComponents =
|
|
24
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
23
25
|
|
|
24
|
-
var _variables = require("../common/variables
|
|
26
|
+
var _variables = require("../common/variables");
|
|
25
27
|
|
|
26
|
-
var _Icons = require("./Icons");
|
|
28
|
+
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
27
29
|
|
|
28
|
-
var
|
|
30
|
+
var _SidenavContext = require("./SidenavContext");
|
|
29
31
|
|
|
30
|
-
var
|
|
32
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
31
33
|
|
|
32
|
-
var
|
|
34
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
33
35
|
|
|
34
36
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
35
37
|
|
|
@@ -37,182 +39,136 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
37
39
|
|
|
38
40
|
var year = new Date().getFullYear();
|
|
39
41
|
|
|
40
|
-
var
|
|
42
|
+
var Main = function Main(_ref) {
|
|
41
43
|
var children = _ref.children;
|
|
42
44
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
|
|
43
45
|
};
|
|
44
46
|
|
|
45
|
-
var
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
var Footer = function Footer(_ref3) {
|
|
51
|
-
var children = _ref3.children;
|
|
52
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
var SideNav = function SideNav(props) {
|
|
56
|
-
var _props$displayArrow = props.displayArrow,
|
|
57
|
-
displayArrow = _props$displayArrow === void 0 ? true : _props$displayArrow,
|
|
58
|
-
_props$mode = props.mode,
|
|
59
|
-
mode = _props$mode === void 0 ? "overlay" : _props$mode,
|
|
60
|
-
childProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
61
|
-
return /*#__PURE__*/_react["default"].createElement(_main.DxcSidenav, childProps, childProps.children);
|
|
47
|
+
var defaultHeader = function defaultHeader() {
|
|
48
|
+
return /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
49
|
+
underlined: true
|
|
50
|
+
});
|
|
62
51
|
};
|
|
63
52
|
|
|
64
53
|
var defaultFooter = function defaultFooter() {
|
|
65
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
54
|
+
return /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
|
|
66
55
|
copyright: "\xA9 DXC Technology ".concat(year, "\u200B\u200B\u200B\u200B. All rights reserved."),
|
|
67
56
|
bottomLinks: [{
|
|
68
57
|
href: "https://www.linkedin.com/company/dxctechnology",
|
|
69
58
|
text: "Linkedin"
|
|
70
59
|
}, {
|
|
71
|
-
href: "https://
|
|
72
|
-
text: "
|
|
60
|
+
href: "https://x.com/dxctechnology",
|
|
61
|
+
text: "X"
|
|
73
62
|
}, {
|
|
74
63
|
href: "https://www.facebook.com/DXCTechnology/",
|
|
75
64
|
text: "Facebook"
|
|
76
65
|
}],
|
|
77
66
|
socialLinks: [{
|
|
78
67
|
href: "https://www.linkedin.com/company/dxctechnology",
|
|
79
|
-
logo: _Icons.linkedinLogo
|
|
68
|
+
logo: _Icons["default"].linkedinLogo,
|
|
69
|
+
title: "Linkedin"
|
|
80
70
|
}, {
|
|
81
|
-
href: "https://
|
|
82
|
-
logo: _Icons.
|
|
71
|
+
href: "https://x.com/dxctechnology",
|
|
72
|
+
logo: _Icons["default"].xLogo,
|
|
73
|
+
title: "X"
|
|
83
74
|
}, {
|
|
84
75
|
href: "https://www.facebook.com/DXCTechnology/",
|
|
85
|
-
logo: _Icons.facebookLogo
|
|
76
|
+
logo: _Icons["default"].facebookLogo,
|
|
77
|
+
title: "Facebook"
|
|
86
78
|
}]
|
|
87
79
|
});
|
|
88
80
|
};
|
|
89
81
|
|
|
90
|
-
var defaultHeader = function defaultHeader() {
|
|
91
|
-
return /*#__PURE__*/_react["default"].createElement(_main.DxcHeader, {
|
|
92
|
-
underlined: true
|
|
93
|
-
});
|
|
94
|
-
};
|
|
95
|
-
|
|
96
82
|
var childTypeExists = function childTypeExists(children, childType) {
|
|
97
83
|
return children.find(function (child) {
|
|
98
|
-
return child
|
|
84
|
+
return (child === null || child === void 0 ? void 0 : child.type) === childType;
|
|
99
85
|
});
|
|
100
86
|
};
|
|
101
87
|
|
|
102
|
-
var DxcApplicationLayout = function DxcApplicationLayout(
|
|
103
|
-
var
|
|
104
|
-
|
|
105
|
-
|
|
88
|
+
var DxcApplicationLayout = function DxcApplicationLayout(_ref2) {
|
|
89
|
+
var _ref2$visibilityToggl = _ref2.visibilityToggleLabel,
|
|
90
|
+
visibilityToggleLabel = _ref2$visibilityToggl === void 0 ? "" : _ref2$visibilityToggl,
|
|
91
|
+
header = _ref2.header,
|
|
92
|
+
sidenav = _ref2.sidenav,
|
|
93
|
+
footer = _ref2.footer,
|
|
94
|
+
children = _ref2.children;
|
|
106
95
|
|
|
107
|
-
var _useState = (0, _react.useState)(
|
|
96
|
+
var _useState = (0, _react.useState)(false),
|
|
108
97
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
109
|
-
|
|
110
|
-
|
|
98
|
+
isSidenavVisibleResponsive = _useState2[0],
|
|
99
|
+
setIsSidenavVisibleResponsive = _useState2[1];
|
|
111
100
|
|
|
112
101
|
var _useState3 = (0, _react.useState)(false),
|
|
113
102
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
114
103
|
isResponsive = _useState4[0],
|
|
115
104
|
setIsResponsive = _useState4[1];
|
|
116
105
|
|
|
106
|
+
var ref = (0, _react.useRef)(null);
|
|
107
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
108
|
+
|
|
117
109
|
var childrenArray = _react["default"].Children.toArray(children);
|
|
118
110
|
|
|
119
|
-
var
|
|
120
|
-
var
|
|
121
|
-
var sideNav = childTypeExists(childrenArray, SideNav);
|
|
111
|
+
var headerContent = header || defaultHeader();
|
|
112
|
+
var footerContent = footer || defaultFooter();
|
|
122
113
|
var main = childTypeExists(childrenArray, Main);
|
|
123
|
-
var displayArrow = sideNav && sideNav.props && sideNav.props.displayArrow;
|
|
124
|
-
var sideNavMode = sideNav && sideNav.props && sideNav.props.mode;
|
|
125
|
-
|
|
126
|
-
var ArrowIcon = function ArrowIcon() {
|
|
127
|
-
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
128
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
129
|
-
width: "15.995",
|
|
130
|
-
height: "10.01",
|
|
131
|
-
viewBox: "0 0 15.995 10.01"
|
|
132
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
133
|
-
"data-testid": "arrow-to-right",
|
|
134
|
-
d: "M17.71,11.29l-4-4a1,1,0,0,0-1.42,1.42L14.59,11H3a1,1,0,0,0,0,2H14.59l-2.3,2.29a1,1,0,1,0,1.42,1.42l4-4a1.034,1.034,0,0,0,0-1.42Z",
|
|
135
|
-
transform: "translate(-2 -6.996)"
|
|
136
|
-
}));
|
|
137
|
-
};
|
|
138
114
|
|
|
139
115
|
var handleResize = function handleResize() {
|
|
140
116
|
setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches);
|
|
141
|
-
setIsSideNavVisible(true);
|
|
142
117
|
};
|
|
143
118
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
}
|
|
119
|
+
var handleSidenavVisibility = function handleSidenavVisibility() {
|
|
120
|
+
setIsSidenavVisibleResponsive(function (isSidenavVisibleResponsive) {
|
|
121
|
+
return !isSidenavVisibleResponsive;
|
|
122
|
+
});
|
|
123
|
+
};
|
|
148
124
|
|
|
125
|
+
(0, _react.useEffect)(function () {
|
|
126
|
+
handleResize();
|
|
127
|
+
window.addEventListener("resize", handleResize);
|
|
149
128
|
return function () {
|
|
150
129
|
window.removeEventListener("resize", handleResize);
|
|
151
130
|
};
|
|
152
|
-
}, [
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
theme: colorsTheme.sidenav
|
|
160
|
-
}, /*#__PURE__*/_react["default"].createElement(ApplicationLayoutContainer, {
|
|
131
|
+
}, []);
|
|
132
|
+
(0, _react.useEffect)(function () {
|
|
133
|
+
!isResponsive && setIsSidenavVisibleResponsive(false);
|
|
134
|
+
}, [isResponsive]);
|
|
135
|
+
return /*#__PURE__*/_react["default"].createElement(ApplicationLayoutContainer, {
|
|
136
|
+
hasSidenav: sidenav ? true : false,
|
|
137
|
+
isSidenavVisible: isSidenavVisibleResponsive,
|
|
161
138
|
ref: ref
|
|
162
|
-
}, /*#__PURE__*/_react["default"].createElement(HeaderContainer, null,
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
}, /*#__PURE__*/_react["default"].createElement(ArrowIcon, null)))), /*#__PURE__*/_react["default"].createElement(MainBodyContainer, null, /*#__PURE__*/_react["default"].createElement(MainContent, {
|
|
170
|
-
sideNav: sideNav,
|
|
171
|
-
mode: isResponsive ? "overlay" : sideNavMode,
|
|
172
|
-
isSideNavVisible: isSideNavVisible
|
|
173
|
-
}, main), /*#__PURE__*/_react["default"].createElement(FooterContainer, {
|
|
174
|
-
sideNav: sideNav,
|
|
175
|
-
mode: isResponsive ? "overlay" : sideNavMode,
|
|
176
|
-
isSideNavVisible: isSideNavVisible
|
|
177
|
-
}, footer))))));
|
|
139
|
+
}, /*#__PURE__*/_react["default"].createElement(HeaderContainer, null, headerContent), sidenav && isResponsive && /*#__PURE__*/_react["default"].createElement(VisibilityToggle, null, /*#__PURE__*/_react["default"].createElement(HamburgerTrigger, {
|
|
140
|
+
onClick: handleSidenavVisibility,
|
|
141
|
+
"aria-label": visibilityToggleLabel ? undefined : translatedLabels.applicationLayout.visibilityToggleTitle,
|
|
142
|
+
title: translatedLabels.applicationLayout.visibilityToggleTitle
|
|
143
|
+
}, _Icons["default"].hamburgerIcon, visibilityToggleLabel)), /*#__PURE__*/_react["default"].createElement(BodyContainer, null, /*#__PURE__*/_react["default"].createElement(_SidenavContext.SidenavContextProvider, {
|
|
144
|
+
value: setIsSidenavVisibleResponsive
|
|
145
|
+
}, sidenav && (isResponsive ? isSidenavVisibleResponsive : true) && /*#__PURE__*/_react["default"].createElement(SidenavContainer, null, sidenav)), /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(MainContentContainer, null, main), footerContent)));
|
|
178
146
|
};
|
|
179
147
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
var ApplicationLayoutContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n position: absolute;\n top: 64px;\n bottom: 0;\n left: 0;\n right: 0;\n"])));
|
|
186
|
-
|
|
187
|
-
var HeaderContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1250;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n"])));
|
|
148
|
+
var ApplicationLayoutContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n top: 64px;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n flex-direction: column;\n\n @media (max-width: ", "rem) {\n ", ";\n ", "\n }\n"])), _variables.responsiveSizes.medium, function (props) {
|
|
149
|
+
return props.hasSidenav && "top: 116px";
|
|
150
|
+
}, function (props) {
|
|
151
|
+
return props.isSidenavVisible && "overflow: hidden;";
|
|
152
|
+
});
|
|
188
153
|
|
|
189
|
-
var
|
|
154
|
+
var HeaderContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n z-index: 3;\n"])));
|
|
190
155
|
|
|
191
|
-
var
|
|
156
|
+
var VisibilityToggle = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 64px;\n left: 0;\n right: 0;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n padding: 4px 16px;\n width: 100%;\n background-color: #f2f2f2;\n user-select: none;\n z-index: 2;\n"])));
|
|
192
157
|
|
|
193
|
-
var
|
|
158
|
+
var HamburgerTrigger = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n gap: 10px;\n border: 0px solid transparent;\n border-radius: 2px;\n padding: 12px 4px;\n background-color: transparent;\n box-shadow: 0 0 0 2px transparent;\n font-family: Open Sans, sans-serif;\n font-weight: 600;\n font-size: 14px;\n color: #000;\n cursor: pointer;\n\n :active {\n background-color: #cccccc;\n }\n :focus,\n :focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px #0095ff;\n }\n & > svg {\n height: 20px;\n width: 20px;\n }\n"])));
|
|
194
159
|
|
|
195
|
-
var
|
|
196
|
-
return props.sideNav ? props.mode === "push" && !props.isSideNavVisible || props.mode === "overlay" ? "-300px" : "" : "";
|
|
197
|
-
});
|
|
198
|
-
|
|
199
|
-
var MainContent = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n position: relative;\n min-height: calc(100vh - 184px);\n margin-left: ", ";\n transition: margin 0.4s ease-in-out;\n"])), function (props) {
|
|
200
|
-
return props.sideNav ? props.mode === "push" && props.isSideNavVisible ? "" : "-297px" : "";
|
|
201
|
-
});
|
|
160
|
+
var BodyContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n flex: 1;\n"])));
|
|
202
161
|
|
|
203
|
-
var
|
|
204
|
-
return props.isSideNavVisible ? "translateX(0)" : !props.isSideNavVisible ? "translateX(-100%)" : "";
|
|
205
|
-
});
|
|
162
|
+
var SidenavContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n position: sticky;\n top: 64px;\n display: flex;\n height: calc(100vh - 64px);\n z-index: 1;\n\n @media (max-width: ", "rem) {\n position: absolute;\n top: 0px;\n height: 100%;\n }\n"])), _variables.responsiveSizes.medium);
|
|
206
163
|
|
|
207
|
-
var
|
|
164
|
+
var MainContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n width: 100%;\n"])));
|
|
208
165
|
|
|
209
|
-
var
|
|
210
|
-
return "".concat(props.theme.arrowContainerColor);
|
|
211
|
-
}, function (props) {
|
|
212
|
-
return props.isSideNavVisible ? "rotate(-180deg)" : "rotate(0deg)";
|
|
213
|
-
}, function (props) {
|
|
214
|
-
return props.theme.arrowColor;
|
|
215
|
-
});
|
|
166
|
+
var MainContentContainer = _styledComponents["default"].main(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1;\n background-color: #fff;\n"])));
|
|
216
167
|
|
|
168
|
+
DxcApplicationLayout.Header = _Header["default"];
|
|
169
|
+
DxcApplicationLayout.Main = Main;
|
|
170
|
+
DxcApplicationLayout.Footer = _Footer["default"];
|
|
171
|
+
DxcApplicationLayout.SideNav = _Sidenav["default"];
|
|
172
|
+
DxcApplicationLayout.useResponsiveSidenavVisibility = _SidenavContext.useResponsiveSidenavVisibility;
|
|
217
173
|
var _default = DxcApplicationLayout;
|
|
218
174
|
exports["default"] = _default;
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import DxcApplicationLayout from "./ApplicationLayout";
|
|
3
|
-
import DxcSidenav from "../sidenav/Sidenav";
|
|
4
3
|
import Title from "../../.storybook/components/Title";
|
|
5
|
-
import { INITIAL_VIEWPORTS } from
|
|
6
|
-
import { userEvent, within, waitFor } from "@storybook/testing-library";
|
|
4
|
+
import { INITIAL_VIEWPORTS } from "@storybook/addon-viewport";
|
|
7
5
|
|
|
8
6
|
export default {
|
|
9
|
-
title: "Application Layout
|
|
7
|
+
title: "Application Layout",
|
|
10
8
|
component: DxcApplicationLayout,
|
|
11
9
|
parameters: {
|
|
12
10
|
viewport: {
|
|
13
11
|
viewports: INITIAL_VIEWPORTS,
|
|
14
|
-
}
|
|
15
|
-
}
|
|
12
|
+
},
|
|
13
|
+
},
|
|
16
14
|
};
|
|
17
15
|
|
|
18
16
|
export const DefaultApplicationLayout = () => (
|
|
@@ -31,57 +29,25 @@ export const DefaultApplicationLayout = () => (
|
|
|
31
29
|
|
|
32
30
|
export const ApplicationLayoutWithDefaultSidenav = () => (
|
|
33
31
|
<>
|
|
34
|
-
<DxcApplicationLayout
|
|
35
|
-
|
|
36
|
-
<
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
export const ApplicationLayoutWithPushSidenav = () => (
|
|
54
|
-
<>
|
|
55
|
-
<DxcApplicationLayout>
|
|
56
|
-
<DxcApplicationLayout.SideNav mode="push">
|
|
57
|
-
<DxcSidenav.Title>Application layout with push sidenav</DxcSidenav.Title>
|
|
58
|
-
<p>SideNav Content</p>
|
|
59
|
-
<p>SideNav Content</p>
|
|
60
|
-
<p>SideNav Content</p>
|
|
61
|
-
<p>SideNav Content</p>
|
|
62
|
-
<p>SideNav Content</p>
|
|
63
|
-
</DxcApplicationLayout.SideNav>
|
|
64
|
-
<DxcApplicationLayout.Main>
|
|
65
|
-
<p>Main Content</p>
|
|
66
|
-
<p>Main Content</p>
|
|
67
|
-
<p>Main Content</p>
|
|
68
|
-
<p>Main Content</p>
|
|
69
|
-
</DxcApplicationLayout.Main>
|
|
70
|
-
</DxcApplicationLayout>
|
|
71
|
-
</>
|
|
72
|
-
);
|
|
73
|
-
|
|
74
|
-
export const ApplicationLayoutWithArrowSidenav = () => (
|
|
75
|
-
<>
|
|
76
|
-
<DxcApplicationLayout>
|
|
77
|
-
<DxcApplicationLayout.SideNav mode="overlay" displayArrow>
|
|
78
|
-
<DxcSidenav.Title>Application layout with push sidenav</DxcSidenav.Title>
|
|
79
|
-
<p>SideNav Content</p>
|
|
80
|
-
<p>SideNav Content</p>
|
|
81
|
-
<p>SideNav Content</p>
|
|
82
|
-
<p>SideNav Content</p>
|
|
83
|
-
<p>SideNav Content</p>
|
|
84
|
-
</DxcApplicationLayout.SideNav>
|
|
32
|
+
<DxcApplicationLayout
|
|
33
|
+
sidenav={
|
|
34
|
+
<DxcApplicationLayout.SideNav
|
|
35
|
+
title={
|
|
36
|
+
<DxcApplicationLayout.SideNav.Title>
|
|
37
|
+
Application layout with push sidenav
|
|
38
|
+
</DxcApplicationLayout.SideNav.Title>
|
|
39
|
+
}
|
|
40
|
+
>
|
|
41
|
+
<DxcApplicationLayout.SideNav.Section>
|
|
42
|
+
<p>SideNav Content</p>
|
|
43
|
+
<p>SideNav Content</p>
|
|
44
|
+
<p>SideNav Content</p>
|
|
45
|
+
<p>SideNav Content</p>
|
|
46
|
+
<p>SideNav Content</p>
|
|
47
|
+
</DxcApplicationLayout.SideNav.Section>
|
|
48
|
+
</DxcApplicationLayout.SideNav>
|
|
49
|
+
}
|
|
50
|
+
>
|
|
85
51
|
<DxcApplicationLayout.Main>
|
|
86
52
|
<p>Main Content</p>
|
|
87
53
|
<p>Main Content</p>
|
|
@@ -94,15 +60,26 @@ export const ApplicationLayoutWithArrowSidenav = () => (
|
|
|
94
60
|
|
|
95
61
|
export const ApplicationLayoutWithResponsiveSidenav = () => (
|
|
96
62
|
<>
|
|
97
|
-
<DxcApplicationLayout
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
<
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
63
|
+
<DxcApplicationLayout
|
|
64
|
+
visibilityToggleLabel="Example"
|
|
65
|
+
sidenav={
|
|
66
|
+
<DxcApplicationLayout.SideNav
|
|
67
|
+
title={
|
|
68
|
+
<DxcApplicationLayout.SideNav.Title>
|
|
69
|
+
Application layout with push sidenav
|
|
70
|
+
</DxcApplicationLayout.SideNav.Title>
|
|
71
|
+
}
|
|
72
|
+
>
|
|
73
|
+
<DxcApplicationLayout.SideNav.Section>
|
|
74
|
+
<p>SideNav Content</p>
|
|
75
|
+
<p>SideNav Content</p>
|
|
76
|
+
<p>SideNav Content</p>
|
|
77
|
+
<p>SideNav Content</p>
|
|
78
|
+
<p>SideNav Content</p>
|
|
79
|
+
</DxcApplicationLayout.SideNav.Section>
|
|
80
|
+
</DxcApplicationLayout.SideNav>
|
|
81
|
+
}
|
|
82
|
+
>
|
|
106
83
|
<DxcApplicationLayout.Main>
|
|
107
84
|
<p>Main Content</p>
|
|
108
85
|
<p>Main Content</p>
|
|
@@ -115,22 +92,33 @@ export const ApplicationLayoutWithResponsiveSidenav = () => (
|
|
|
115
92
|
|
|
116
93
|
ApplicationLayoutWithResponsiveSidenav.parameters = {
|
|
117
94
|
viewport: {
|
|
118
|
-
defaultViewport:
|
|
95
|
+
defaultViewport: "pixel",
|
|
119
96
|
},
|
|
97
|
+
chromatic: { viewports: [540] },
|
|
120
98
|
};
|
|
121
99
|
|
|
122
100
|
export const ApplicationLayoutWithCustomHeader = () => (
|
|
123
101
|
<>
|
|
124
|
-
<DxcApplicationLayout
|
|
125
|
-
<
|
|
126
|
-
|
|
127
|
-
<
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
102
|
+
<DxcApplicationLayout
|
|
103
|
+
header={<p>Custom Header</p>}
|
|
104
|
+
sidenav={
|
|
105
|
+
<DxcApplicationLayout.SideNav
|
|
106
|
+
title={
|
|
107
|
+
<DxcApplicationLayout.SideNav.Title>
|
|
108
|
+
Application layout with push sidenav
|
|
109
|
+
</DxcApplicationLayout.SideNav.Title>
|
|
110
|
+
}
|
|
111
|
+
>
|
|
112
|
+
<DxcApplicationLayout.SideNav.Section>
|
|
113
|
+
<p>SideNav Content</p>
|
|
114
|
+
<p>SideNav Content</p>
|
|
115
|
+
<p>SideNav Content</p>
|
|
116
|
+
<p>SideNav Content</p>
|
|
117
|
+
<p>SideNav Content</p>
|
|
118
|
+
</DxcApplicationLayout.SideNav.Section>
|
|
119
|
+
</DxcApplicationLayout.SideNav>
|
|
120
|
+
}
|
|
121
|
+
>
|
|
134
122
|
<DxcApplicationLayout.Main>
|
|
135
123
|
<p>Main Content</p>
|
|
136
124
|
<p>Main Content</p>
|
|
@@ -143,29 +131,32 @@ export const ApplicationLayoutWithCustomHeader = () => (
|
|
|
143
131
|
|
|
144
132
|
export const ApplicationLayoutWithCustomFooter = () => (
|
|
145
133
|
<>
|
|
146
|
-
<DxcApplicationLayout
|
|
147
|
-
<
|
|
148
|
-
|
|
149
|
-
<
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
134
|
+
<DxcApplicationLayout
|
|
135
|
+
footer={<p>Custom Footer</p>}
|
|
136
|
+
sidenav={
|
|
137
|
+
<DxcApplicationLayout.SideNav
|
|
138
|
+
title={
|
|
139
|
+
<DxcApplicationLayout.SideNav.Title>
|
|
140
|
+
Application layout with push sidenav
|
|
141
|
+
</DxcApplicationLayout.SideNav.Title>
|
|
142
|
+
}
|
|
143
|
+
>
|
|
144
|
+
<DxcApplicationLayout.SideNav.Section>
|
|
145
|
+
<p>SideNav Content</p>
|
|
146
|
+
<p>SideNav Content</p>
|
|
147
|
+
<p>SideNav Content</p>
|
|
148
|
+
<p>SideNav Content</p>
|
|
149
|
+
<p>SideNav Content</p>
|
|
150
|
+
</DxcApplicationLayout.SideNav.Section>
|
|
151
|
+
</DxcApplicationLayout.SideNav>
|
|
152
|
+
}
|
|
153
|
+
>
|
|
155
154
|
<DxcApplicationLayout.Main>
|
|
156
155
|
<p>Main Content</p>
|
|
157
156
|
<p>Main Content</p>
|
|
158
157
|
<p>Main Content</p>
|
|
159
158
|
<p>Main Content</p>
|
|
160
159
|
</DxcApplicationLayout.Main>
|
|
161
|
-
<DxcApplicationLayout.Footer> <p>Custom Footer</p> </DxcApplicationLayout.Footer>
|
|
162
160
|
</DxcApplicationLayout>
|
|
163
161
|
</>
|
|
164
162
|
);
|
|
165
|
-
|
|
166
|
-
export const ApplicationLayoutWithClosingSidenav = ApplicationLayoutWithArrowSidenav.bind({});
|
|
167
|
-
ApplicationLayoutWithClosingSidenav.play = async ({ canvasElement }) => {
|
|
168
|
-
const canvas = within(canvasElement);
|
|
169
|
-
const arrow = canvas.getByRole("button");
|
|
170
|
-
await userEvent.click(arrow);
|
|
171
|
-
};
|