@dxc-technology/halstack-react 0.0.0-bd364ae → 0.0.0-bf1a0c9
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 +1329 -5
- package/HalstackContext.js +117 -77
- package/accordion/Accordion.js +118 -110
- package/accordion/Accordion.stories.tsx +104 -16
- package/accordion/Accordion.test.js +10 -11
- package/accordion/types.d.ts +2 -1
- package/accordion-group/AccordionGroup.js +4 -23
- package/accordion-group/AccordionGroup.stories.tsx +27 -1
- package/accordion-group/AccordionGroup.test.js +21 -46
- package/accordion-group/types.d.ts +8 -1
- package/alert/Alert.js +4 -6
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +1 -1
- package/bleed/Bleed.stories.tsx +64 -63
- package/box/Box.js +4 -6
- package/box/Box.stories.tsx +15 -0
- package/box/Box.test.js +1 -1
- package/box/types.d.ts +1 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +123 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/button/Button.js +52 -73
- package/button/Button.stories.tsx +159 -8
- package/button/Button.test.js +1 -1
- package/button/types.d.ts +5 -5
- package/card/Card.js +12 -13
- package/card/Card.stories.tsx +12 -13
- package/card/Card.test.js +1 -1
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +94 -101
- package/checkbox/Checkbox.stories.tsx +131 -59
- package/checkbox/Checkbox.test.js +94 -17
- package/checkbox/types.d.ts +4 -0
- package/chip/Chip.js +18 -26
- package/chip/Chip.stories.tsx +96 -9
- 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 +1482 -0
- package/common/variables.js +1009 -1118
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +134 -237
- package/date-input/DateInput.stories.tsx +199 -33
- package/date-input/DateInput.test.js +494 -138
- 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 +51 -0
- package/dialog/Dialog.js +80 -69
- package/dialog/Dialog.stories.tsx +230 -123
- package/dialog/Dialog.test.js +334 -5
- package/dialog/types.d.ts +1 -0
- 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 +17 -0
- 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.js +6 -8
- package/footer/Footer.stories.tsx +99 -1
- package/footer/Footer.test.js +14 -26
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +2 -1
- 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 +3 -2
- package/header/Header.js +89 -89
- package/header/Header.stories.tsx +152 -9
- package/header/Header.test.js +2 -2
- package/header/Icons.js +2 -2
- package/header/types.d.ts +1 -0
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +1 -1
- package/inset/Inset.stories.tsx +5 -4
- package/layout/ApplicationLayout.d.ts +15 -6
- package/layout/ApplicationLayout.js +38 -66
- package/layout/ApplicationLayout.stories.tsx +80 -44
- package/layout/types.d.ts +18 -29
- package/link/Link.js +4 -4
- package/link/Link.stories.tsx +73 -6
- package/link/Link.test.js +2 -4
- package/link/types.d.ts +3 -3
- package/main.d.ts +7 -9
- package/main.js +33 -49
- package/{tabs-nav → nav-tabs}/NavTabs.js +6 -6
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
- package/{tabs-nav → nav-tabs}/Tab.js +40 -22
- package/{tabs-nav → nav-tabs}/types.d.ts +1 -1
- package/number-input/NumberInput.test.js +44 -8
- package/package.json +17 -21
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +7 -15
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +78 -39
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.test.js +14 -13
- 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 +23 -18
- package/quick-nav/QuickNav.stories.tsx +145 -26
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +43 -28
- package/radio-group/RadioGroup.js +23 -22
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +124 -97
- package/radio-group/types.d.ts +2 -2
- 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 +513 -136
- package/select/Select.test.js +413 -305
- 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 +147 -54
- 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 +198 -295
- package/text-input/TextInput.stories.tsx +280 -185
- package/text-input/TextInput.test.js +736 -725
- package/text-input/types.d.ts +22 -3
- package/textarea/Textarea.js +3 -4
- package/textarea/Textarea.stories.jsx +60 -1
- package/textarea/Textarea.test.js +2 -4
- package/toggle-group/ToggleGroup.js +7 -4
- package/toggle-group/ToggleGroup.stories.tsx +42 -0
- package/toggle-group/ToggleGroup.test.js +1 -1
- package/toggle-group/types.d.ts +2 -2
- 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 +1234 -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 +139 -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/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/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/{row → flex}/types.js +0 -0
- /package/{stack → grid}/types.js +0 -0
- /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/types.js +0 -0
package/inset/Inset.stories.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import Title from "../../.storybook/components/Title";
|
|
3
3
|
import styled from "styled-components";
|
|
4
|
-
import
|
|
4
|
+
import DxcFlex from "./../flex/Flex";
|
|
5
5
|
import DxcInset from "./Inset";
|
|
6
6
|
|
|
7
7
|
export default {
|
|
@@ -203,15 +203,15 @@ export const Chromatic = () => (
|
|
|
203
203
|
<Placeholder></Placeholder>
|
|
204
204
|
</DxcInset>
|
|
205
205
|
</Container>
|
|
206
|
-
<Title title="Inside a
|
|
206
|
+
<Title title="Inside a flex column" level={4} />
|
|
207
207
|
<Container>
|
|
208
|
-
<
|
|
208
|
+
<DxcFlex direction="column" gap="1rem">
|
|
209
209
|
<Placeholder></Placeholder>
|
|
210
210
|
<DxcInset top="0.25rem" right="1.5rem" bottom="2rem" left="4rem">
|
|
211
211
|
<Placeholder></Placeholder>
|
|
212
212
|
</DxcInset>
|
|
213
213
|
<Placeholder></Placeholder>
|
|
214
|
-
</
|
|
214
|
+
</DxcFlex>
|
|
215
215
|
</Container>
|
|
216
216
|
</>
|
|
217
217
|
);
|
|
@@ -225,5 +225,6 @@ const Placeholder = styled.div`
|
|
|
225
225
|
min-height: 40px;
|
|
226
226
|
min-width: 120px;
|
|
227
227
|
border: 1px solid #a46ede;
|
|
228
|
+
border-radius: 0.5rem;
|
|
228
229
|
background-color: #e5d5f6;
|
|
229
230
|
`;
|
|
@@ -1,11 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
import AppLayoutPropsType, {
|
|
1
|
+
import React from "react";
|
|
2
|
+
import AppLayoutPropsType, { AppLayoutMainPropsType } from "./types";
|
|
3
3
|
declare const DxcApplicationLayout: {
|
|
4
|
-
({ visibilityToggleLabel, children }: AppLayoutPropsType): JSX.Element;
|
|
5
|
-
Header:
|
|
4
|
+
({ visibilityToggleLabel, header, sidenav, footer, children, }: AppLayoutPropsType): JSX.Element;
|
|
5
|
+
Header: {
|
|
6
|
+
({ underlined, content, responsiveContent, onClick, margin, padding, tabIndex, }: import("../header/types").default): JSX.Element;
|
|
7
|
+
Dropdown: (props: import("../dropdown/types").default) => JSX.Element;
|
|
8
|
+
};
|
|
6
9
|
Main: ({ children }: AppLayoutMainPropsType) => JSX.Element;
|
|
7
|
-
Footer: ({ children }:
|
|
8
|
-
SideNav:
|
|
10
|
+
Footer: ({ socialLinks, bottomLinks, copyright, children, padding, margin, tabIndex, }: import("../footer/types").default) => JSX.Element;
|
|
11
|
+
SideNav: {
|
|
12
|
+
({ title, children }: import("../sidenav/types").default): JSX.Element;
|
|
13
|
+
Section: ({ children }: import("../sidenav/types").SidenavSectionPropsType) => JSX.Element;
|
|
14
|
+
Group: ({ title, collapsable, icon, children }: import("../sidenav/types").SidenavGroupPropsType) => JSX.Element;
|
|
15
|
+
Link: React.ForwardRefExoticComponent<import("../sidenav/types").SidenavLinkPropsType & React.RefAttributes<HTMLAnchorElement>>;
|
|
16
|
+
Title: ({ children }: import("../sidenav/types").SidenavTitlePropsType) => JSX.Element;
|
|
17
|
+
};
|
|
9
18
|
useResponsiveSidenavVisibility: () => (isSidenavVisible: boolean) => void;
|
|
10
19
|
};
|
|
11
20
|
export default DxcApplicationLayout;
|
|
@@ -13,8 +13,6 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
13
13
|
|
|
14
14
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
15
|
|
|
16
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
17
|
-
|
|
18
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
17
|
|
|
20
18
|
var _Header = _interopRequireDefault(require("../header/Header"));
|
|
@@ -25,17 +23,15 @@ var _Sidenav = _interopRequireDefault(require("../sidenav/Sidenav"));
|
|
|
25
23
|
|
|
26
24
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
27
25
|
|
|
28
|
-
var _variables = require("../common/variables
|
|
26
|
+
var _variables = require("../common/variables");
|
|
29
27
|
|
|
30
28
|
var _Icons = require("./Icons");
|
|
31
29
|
|
|
32
|
-
var _uuid = require("uuid");
|
|
33
|
-
|
|
34
30
|
var _SidenavContext = require("./SidenavContext");
|
|
35
31
|
|
|
36
32
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
37
33
|
|
|
38
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8
|
|
34
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
39
35
|
|
|
40
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); }
|
|
41
37
|
|
|
@@ -43,24 +39,15 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
43
39
|
|
|
44
40
|
var year = new Date().getFullYear();
|
|
45
41
|
|
|
46
|
-
var
|
|
42
|
+
var Main = function Main(_ref) {
|
|
47
43
|
var children = _ref.children;
|
|
48
44
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
|
|
49
45
|
};
|
|
50
46
|
|
|
51
|
-
var
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
var Footer = function Footer(_ref3) {
|
|
57
|
-
var children = _ref3.children;
|
|
58
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
var Sidenav = function Sidenav(_ref4) {
|
|
62
|
-
var childProps = (0, _extends2["default"])({}, _ref4);
|
|
63
|
-
return /*#__PURE__*/_react["default"].createElement(_Sidenav["default"], childProps, childProps.children);
|
|
47
|
+
var defaultHeader = function defaultHeader() {
|
|
48
|
+
return /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
49
|
+
underlined: true
|
|
50
|
+
});
|
|
64
51
|
};
|
|
65
52
|
|
|
66
53
|
var defaultFooter = function defaultFooter() {
|
|
@@ -89,47 +76,37 @@ var defaultFooter = function defaultFooter() {
|
|
|
89
76
|
});
|
|
90
77
|
};
|
|
91
78
|
|
|
92
|
-
var defaultHeader = function defaultHeader() {
|
|
93
|
-
return /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
94
|
-
underlined: true
|
|
95
|
-
});
|
|
96
|
-
};
|
|
97
|
-
|
|
98
79
|
var childTypeExists = function childTypeExists(children, childType) {
|
|
99
80
|
return children.find(function (child) {
|
|
100
81
|
return (child === null || child === void 0 ? void 0 : child.type) === childType;
|
|
101
82
|
});
|
|
102
83
|
};
|
|
103
84
|
|
|
104
|
-
var DxcApplicationLayout = function DxcApplicationLayout(
|
|
105
|
-
var
|
|
106
|
-
visibilityToggleLabel =
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
appLayoutId = _useState2[0];
|
|
85
|
+
var DxcApplicationLayout = function DxcApplicationLayout(_ref2) {
|
|
86
|
+
var _ref2$visibilityToggl = _ref2.visibilityToggleLabel,
|
|
87
|
+
visibilityToggleLabel = _ref2$visibilityToggl === void 0 ? "" : _ref2$visibilityToggl,
|
|
88
|
+
header = _ref2.header,
|
|
89
|
+
sidenav = _ref2.sidenav,
|
|
90
|
+
footer = _ref2.footer,
|
|
91
|
+
children = _ref2.children;
|
|
112
92
|
|
|
113
|
-
var
|
|
93
|
+
var _useState = (0, _react.useState)(false),
|
|
94
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
95
|
+
isSidenavVisibleResponsive = _useState2[0],
|
|
96
|
+
setIsSidenavVisibleResponsive = _useState2[1];
|
|
114
97
|
|
|
115
98
|
var _useState3 = (0, _react.useState)(false),
|
|
116
99
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
var _useState5 = (0, _react.useState)(false),
|
|
121
|
-
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
122
|
-
isResponsive = _useState6[0],
|
|
123
|
-
setIsResponsive = _useState6[1];
|
|
100
|
+
isResponsive = _useState4[0],
|
|
101
|
+
setIsResponsive = _useState4[1];
|
|
124
102
|
|
|
125
103
|
var ref = (0, _react.useRef)(null);
|
|
126
104
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
127
105
|
|
|
128
106
|
var childrenArray = _react["default"].Children.toArray(children);
|
|
129
107
|
|
|
130
|
-
var
|
|
131
|
-
var
|
|
132
|
-
var sidenav = childTypeExists(childrenArray, Sidenav);
|
|
108
|
+
var headerContent = header || defaultHeader();
|
|
109
|
+
var footerContent = footer || defaultFooter();
|
|
133
110
|
var main = childTypeExists(childrenArray, Main);
|
|
134
111
|
|
|
135
112
|
var handleResize = function handleResize() {
|
|
@@ -142,58 +119,53 @@ var DxcApplicationLayout = function DxcApplicationLayout(_ref5) {
|
|
|
142
119
|
});
|
|
143
120
|
};
|
|
144
121
|
|
|
145
|
-
(0, _react.
|
|
122
|
+
(0, _react.useLayoutEffect)(function () {
|
|
146
123
|
handleResize();
|
|
147
124
|
window.addEventListener("resize", handleResize);
|
|
148
125
|
return function () {
|
|
149
126
|
window.removeEventListener("resize", handleResize);
|
|
150
127
|
};
|
|
151
|
-
}, [
|
|
128
|
+
}, []);
|
|
152
129
|
(0, _react.useEffect)(function () {
|
|
153
130
|
!isResponsive && setIsSidenavVisibleResponsive(false);
|
|
154
|
-
}, [isResponsive
|
|
131
|
+
}, [isResponsive]);
|
|
155
132
|
return /*#__PURE__*/_react["default"].createElement(ApplicationLayoutContainer, {
|
|
156
133
|
hasSidenav: sidenav ? true : false,
|
|
157
134
|
isSidenavVisible: isSidenavVisibleResponsive,
|
|
158
135
|
ref: ref
|
|
159
|
-
}, /*#__PURE__*/_react["default"].createElement(HeaderContainer, null,
|
|
136
|
+
}, /*#__PURE__*/_react["default"].createElement(HeaderContainer, null, headerContent), sidenav && isResponsive && /*#__PURE__*/_react["default"].createElement(VisibilityToggle, null, /*#__PURE__*/_react["default"].createElement(HamburgerTrigger, {
|
|
160
137
|
onClick: handleSidenavVisibility,
|
|
161
|
-
"aria-labelledby": visibilityToggleLabel ? visibilityToggleLabelId : undefined,
|
|
162
138
|
"aria-label": visibilityToggleLabel ? undefined : translatedLabels.applicationLayout.visibilityToggleTitle,
|
|
163
139
|
title: translatedLabels.applicationLayout.visibilityToggleTitle
|
|
164
|
-
}, _Icons.hamburgerIcon
|
|
165
|
-
id: visibilityToggleLabelId
|
|
166
|
-
}, visibilityToggleLabel)), /*#__PURE__*/_react["default"].createElement(BodyContainer, null, /*#__PURE__*/_react["default"].createElement(_SidenavContext.SidenavContextProvider, {
|
|
140
|
+
}, _Icons.hamburgerIcon, visibilityToggleLabel)), /*#__PURE__*/_react["default"].createElement(BodyContainer, null, /*#__PURE__*/_react["default"].createElement(_SidenavContext.SidenavContextProvider, {
|
|
167
141
|
value: setIsSidenavVisibleResponsive
|
|
168
|
-
}, sidenav && (isResponsive ? isSidenavVisibleResponsive : true) && /*#__PURE__*/_react["default"].createElement(SidenavContainer, null, sidenav)), /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(MainContentContainer, null, main),
|
|
142
|
+
}, 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)));
|
|
169
143
|
};
|
|
170
144
|
|
|
171
145
|
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) {
|
|
172
|
-
return props.hasSidenav && "top:
|
|
146
|
+
return props.hasSidenav && "top: 116px";
|
|
173
147
|
}, function (props) {
|
|
174
148
|
return props.isSidenavVisible && "overflow: hidden;";
|
|
175
149
|
});
|
|
176
150
|
|
|
177
151
|
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"])));
|
|
178
152
|
|
|
179
|
-
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:
|
|
180
|
-
|
|
181
|
-
var HamburgerTrigger = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n border: 0px solid transparent;\n border-radius: 2px;\n padding: 3px;\n background-color: transparent;\n box-shadow: 0 0 0 2px transparent;\n cursor: pointer;\n\n :hover {\n background-color: #e6e6e6;\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"])));
|
|
153
|
+
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"])));
|
|
182
154
|
|
|
183
|
-
var
|
|
155
|
+
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 :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"])));
|
|
184
156
|
|
|
185
|
-
var BodyContainer = _styledComponents["default"].div(
|
|
157
|
+
var BodyContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n flex: 1;\n"])));
|
|
186
158
|
|
|
187
|
-
var SidenavContainer = _styledComponents["default"].div(
|
|
159
|
+
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);
|
|
188
160
|
|
|
189
|
-
var MainContainer = _styledComponents["default"].div(
|
|
161
|
+
var MainContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n width: 100%;\n"])));
|
|
190
162
|
|
|
191
|
-
var MainContentContainer = _styledComponents["default"].div(
|
|
163
|
+
var MainContentContainer = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1;\n"])));
|
|
192
164
|
|
|
193
|
-
DxcApplicationLayout.Header =
|
|
165
|
+
DxcApplicationLayout.Header = _Header["default"];
|
|
194
166
|
DxcApplicationLayout.Main = Main;
|
|
195
|
-
DxcApplicationLayout.Footer =
|
|
196
|
-
DxcApplicationLayout.SideNav =
|
|
167
|
+
DxcApplicationLayout.Footer = _Footer["default"];
|
|
168
|
+
DxcApplicationLayout.SideNav = _Sidenav["default"];
|
|
197
169
|
DxcApplicationLayout.useResponsiveSidenavVisibility = _SidenavContext.useResponsiveSidenavVisibility;
|
|
198
170
|
var _default = DxcApplicationLayout;
|
|
199
171
|
exports["default"] = _default;
|
|
@@ -1,6 +1,5 @@
|
|
|
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
4
|
import { INITIAL_VIEWPORTS } from "@storybook/addon-viewport";
|
|
6
5
|
|
|
@@ -30,15 +29,25 @@ export const DefaultApplicationLayout = () => (
|
|
|
30
29
|
|
|
31
30
|
export const ApplicationLayoutWithDefaultSidenav = () => (
|
|
32
31
|
<>
|
|
33
|
-
<DxcApplicationLayout
|
|
34
|
-
|
|
35
|
-
<
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
+
>
|
|
42
51
|
<DxcApplicationLayout.Main>
|
|
43
52
|
<p>Main Content</p>
|
|
44
53
|
<p>Main Content</p>
|
|
@@ -51,15 +60,26 @@ export const ApplicationLayoutWithDefaultSidenav = () => (
|
|
|
51
60
|
|
|
52
61
|
export const ApplicationLayoutWithResponsiveSidenav = () => (
|
|
53
62
|
<>
|
|
54
|
-
<DxcApplicationLayout
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
<
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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
|
+
>
|
|
63
83
|
<DxcApplicationLayout.Main>
|
|
64
84
|
<p>Main Content</p>
|
|
65
85
|
<p>Main Content</p>
|
|
@@ -74,23 +94,31 @@ ApplicationLayoutWithResponsiveSidenav.parameters = {
|
|
|
74
94
|
viewport: {
|
|
75
95
|
defaultViewport: "pixel",
|
|
76
96
|
},
|
|
97
|
+
chromatic: { viewports: [540] },
|
|
77
98
|
};
|
|
78
99
|
|
|
79
100
|
export const ApplicationLayoutWithCustomHeader = () => (
|
|
80
101
|
<>
|
|
81
|
-
<DxcApplicationLayout
|
|
82
|
-
<
|
|
83
|
-
|
|
84
|
-
<
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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
|
+
>
|
|
94
122
|
<DxcApplicationLayout.Main>
|
|
95
123
|
<p>Main Content</p>
|
|
96
124
|
<p>Main Content</p>
|
|
@@ -103,24 +131,32 @@ export const ApplicationLayoutWithCustomHeader = () => (
|
|
|
103
131
|
|
|
104
132
|
export const ApplicationLayoutWithCustomFooter = () => (
|
|
105
133
|
<>
|
|
106
|
-
<DxcApplicationLayout
|
|
107
|
-
<
|
|
108
|
-
|
|
109
|
-
<
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
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
|
+
>
|
|
115
154
|
<DxcApplicationLayout.Main>
|
|
116
155
|
<p>Main Content</p>
|
|
117
156
|
<p>Main Content</p>
|
|
118
157
|
<p>Main Content</p>
|
|
119
158
|
<p>Main Content</p>
|
|
120
159
|
</DxcApplicationLayout.Main>
|
|
121
|
-
<DxcApplicationLayout.Footer>
|
|
122
|
-
<p>Custom Footer</p>
|
|
123
|
-
</DxcApplicationLayout.Footer>
|
|
124
160
|
</DxcApplicationLayout>
|
|
125
161
|
</>
|
|
126
162
|
);
|
package/layout/types.d.ts
CHANGED
|
@@ -1,42 +1,19 @@
|
|
|
1
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 ChildrenType = AppLayoutHeaderPropsType | AppLayoutMainPropsType | AppLayoutFooterPropsType | AppLayoutSidenavPropsType;
|
|
10
|
-
export declare type AppLayoutHeaderPropsType = {
|
|
11
|
-
/**
|
|
12
|
-
* Everything between this tags will be displayed as a header, at the top of the screen.
|
|
13
|
-
* This is optional and if it is not specified, the DxcHeader will be shown by default.
|
|
14
|
-
*/
|
|
15
|
-
children?: React.ReactNode;
|
|
16
|
-
};
|
|
17
2
|
export declare type AppLayoutMainPropsType = {
|
|
18
3
|
/**
|
|
19
4
|
* Everything between the tags will be displayed as the content of the main part of the application.
|
|
20
5
|
*/
|
|
21
6
|
children: React.ReactNode;
|
|
22
7
|
};
|
|
23
|
-
export declare type AppLayoutFooterPropsType = {
|
|
24
|
-
/**
|
|
25
|
-
* Everything between the tags will be displayed as a footer, at the bottom of the screen.
|
|
26
|
-
* This is optional and if it is not specified, the DxcFooter will be shown by default.
|
|
27
|
-
*/
|
|
28
|
-
children?: React.ReactNode;
|
|
29
|
-
};
|
|
30
8
|
export declare type AppLayoutSidenavPropsType = {
|
|
31
9
|
/**
|
|
32
|
-
*
|
|
33
|
-
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
|
|
10
|
+
* The area inside the sidenav. This area can be used to render the content inside the sidenav.
|
|
34
11
|
*/
|
|
35
|
-
|
|
12
|
+
children: React.ReactNode;
|
|
36
13
|
/**
|
|
37
|
-
* The area
|
|
14
|
+
* The area assigned to render the sidenav title. It is highly recommended to use the sidenav title.
|
|
38
15
|
*/
|
|
39
|
-
|
|
16
|
+
title?: React.ReactNode;
|
|
40
17
|
};
|
|
41
18
|
declare type AppLayoutPropsType = {
|
|
42
19
|
/**
|
|
@@ -45,8 +22,20 @@ declare type AppLayoutPropsType = {
|
|
|
45
22
|
*/
|
|
46
23
|
visibilityToggleLabel?: string;
|
|
47
24
|
/**
|
|
48
|
-
*
|
|
25
|
+
* Header content.
|
|
26
|
+
*/
|
|
27
|
+
header?: React.ReactNode;
|
|
28
|
+
/**
|
|
29
|
+
* Sidenav content
|
|
30
|
+
*/
|
|
31
|
+
sidenav?: React.ReactNode;
|
|
32
|
+
/**
|
|
33
|
+
* Footer content
|
|
34
|
+
*/
|
|
35
|
+
footer?: React.ReactNode;
|
|
36
|
+
/**
|
|
37
|
+
* Use the DxcApplicationLayout.Main provided to render main content.
|
|
49
38
|
*/
|
|
50
|
-
children: React.ReactElement<
|
|
39
|
+
children: React.ReactElement<AppLayoutMainPropsType>;
|
|
51
40
|
};
|
|
52
41
|
export default AppLayoutPropsType;
|
package/link/Link.js
CHANGED
|
@@ -21,7 +21,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
21
21
|
|
|
22
22
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
23
23
|
|
|
24
|
-
var _variables = require("../common/variables
|
|
24
|
+
var _variables = require("../common/variables");
|
|
25
25
|
|
|
26
26
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
27
27
|
|
|
@@ -68,7 +68,7 @@ var DxcLink = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
|
|
|
68
68
|
}, /*#__PURE__*/_react["default"].createElement(StyledLink, (0, _extends2["default"])({
|
|
69
69
|
as: href ? "a" : "button",
|
|
70
70
|
tabIndex: tabIndex,
|
|
71
|
-
onClick: !disabled
|
|
71
|
+
onClick: !disabled ? onClick : undefined,
|
|
72
72
|
href: !disabled && href ? href : undefined,
|
|
73
73
|
target: href ? newWindow ? "_blank" : "_self" : undefined,
|
|
74
74
|
disabled: disabled,
|
|
@@ -82,7 +82,7 @@ var DxcLink = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
|
|
|
82
82
|
})));
|
|
83
83
|
});
|
|
84
84
|
|
|
85
|
-
var StyledLink = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n
|
|
85
|
+
var StyledLink = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: baseline;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n font-size: ", ";\n font-weight: ", ";\n font-style: ", ";\n font-family: ", ";\n text-decoration-color: transparent;\n width: fit-content;\n ", "\n ", "\n color: ", ";\n ", "\n &:visited {\n color: ", ";\n &:hover {\n ", "\n }\n }\n &:hover {\n ", "\n }\n &:focus {\n border-radius: 2px;\n outline: 2px solid ", ";\n ", "\n }\n &:active {\n ", "\n }\n"])), function (props) {
|
|
86
86
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
87
87
|
}, function (props) {
|
|
88
88
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
@@ -105,7 +105,7 @@ var StyledLink = _styledComponents["default"].div(_templateObject || (_templateO
|
|
|
105
105
|
}, function (props) {
|
|
106
106
|
return props.disabled && "cursor: default;";
|
|
107
107
|
}, function (props) {
|
|
108
|
-
return props.inheritColor ? "inherit" : !props.disabled ? props.theme.fontColor : props.theme.
|
|
108
|
+
return props.inheritColor ? "inherit" : !props.disabled ? props.theme.fontColor : props.theme.disabledFontColor;
|
|
109
109
|
}, function (props) {
|
|
110
110
|
return props.disabled ? "pointer-events: none;" : "";
|
|
111
111
|
}, function (props) {
|