@dxc-technology/halstack-react 0.0.0-de7c6b0 → 0.0.0-dec566a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +1 -10
- package/BackgroundColorContext.js +4 -21
- package/HalstackContext.d.ts +52 -139
- package/HalstackContext.js +11 -36
- package/README.md +47 -0
- package/accordion/Accordion.js +31 -84
- package/accordion/Accordion.stories.tsx +5 -50
- package/accordion/Accordion.test.js +18 -33
- package/accordion/types.d.ts +6 -6
- package/accordion-group/AccordionGroup.d.ts +2 -3
- package/accordion-group/AccordionGroup.js +17 -44
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +42 -60
- package/accordion-group/AccordionGroupAccordion.js +11 -23
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +7 -7
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +48 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/alert/Alert.js +29 -118
- package/alert/Alert.test.js +28 -45
- package/alert/types.d.ts +5 -5
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +141 -43
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -3
- package/bleed/Bleed.js +13 -21
- package/bleed/types.d.ts +2 -2
- package/box/Box.js +11 -33
- package/box/Box.test.js +1 -6
- package/box/types.d.ts +3 -3
- package/bulleted-list/BulletedList.js +22 -55
- package/bulleted-list/BulletedList.stories.tsx +2 -93
- package/bulleted-list/types.d.ts +5 -5
- package/button/Button.d.ts +1 -1
- package/button/Button.js +68 -100
- package/button/Button.stories.tsx +33 -132
- package/button/Button.test.js +19 -16
- package/button/types.d.ts +9 -5
- package/card/Card.js +21 -44
- package/card/Card.test.js +10 -21
- package/card/types.d.ts +5 -5
- package/checkbox/Checkbox.js +85 -120
- package/checkbox/Checkbox.stories.tsx +16 -54
- package/checkbox/Checkbox.test.js +107 -63
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.js +12 -31
- package/chip/Chip.stories.tsx +1 -1
- package/chip/Chip.test.js +15 -28
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.d.ts +105 -14
- package/common/coreTokens.js +41 -24
- package/common/utils.js +2 -8
- package/common/variables.d.ts +52 -139
- package/common/variables.js +63 -157
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/contextual-menu/ContextualMenu.d.ts +7 -0
- package/contextual-menu/ContextualMenu.js +71 -0
- package/contextual-menu/ContextualMenu.stories.tsx +182 -0
- package/contextual-menu/ContextualMenu.test.js +71 -0
- package/contextual-menu/MenuItemAction.d.ts +4 -0
- package/contextual-menu/MenuItemAction.js +46 -0
- package/contextual-menu/types.d.ts +22 -0
- package/contextual-menu/types.js +5 -0
- package/date-input/Calendar.js +15 -59
- package/date-input/DateInput.js +50 -96
- package/date-input/DateInput.stories.tsx +11 -30
- package/date-input/DateInput.test.js +674 -701
- package/date-input/DatePicker.js +11 -42
- package/date-input/Icons.d.ts +6 -6
- package/date-input/Icons.js +6 -23
- package/date-input/YearPicker.js +8 -34
- package/date-input/types.d.ts +28 -22
- package/dialog/Dialog.js +13 -40
- package/dialog/Dialog.stories.tsx +170 -0
- package/dialog/Dialog.test.js +125 -187
- package/dialog/types.d.ts +18 -13
- package/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +21 -0
- package/divider/types.js +5 -0
- package/dropdown/Dropdown.js +59 -128
- package/dropdown/Dropdown.stories.tsx +5 -16
- package/dropdown/Dropdown.test.js +391 -378
- package/dropdown/DropdownMenu.js +8 -19
- package/dropdown/DropdownMenuItem.js +11 -20
- package/dropdown/types.d.ts +20 -24
- package/file-input/FileInput.js +180 -248
- package/file-input/FileInput.stories.tsx +1 -1
- package/file-input/FileInput.test.js +356 -354
- package/file-input/FileItem.js +14 -41
- package/file-input/types.d.ts +10 -10
- package/flex/Flex.js +25 -39
- package/flex/types.d.ts +6 -6
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +70 -102
- package/footer/Footer.stories.tsx +37 -6
- package/footer/Footer.test.js +21 -33
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +66 -7
- package/footer/types.d.ts +25 -21
- package/grid/Grid.d.ts +1 -1
- package/grid/Grid.js +2 -17
- package/grid/Grid.stories.tsx +38 -38
- package/grid/types.d.ts +10 -10
- package/header/Header.d.ts +1 -1
- package/header/Header.js +28 -84
- package/header/Header.test.js +12 -25
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +2 -7
- package/header/types.d.ts +7 -8
- package/heading/Heading.js +9 -31
- package/heading/Heading.test.js +70 -87
- package/heading/types.d.ts +7 -7
- package/icon/Icon.d.ts +4 -0
- package/icon/Icon.js +33 -0
- package/icon/Icon.stories.tsx +28 -0
- package/icon/types.d.ts +4 -0
- package/icon/types.js +5 -0
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +129 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.js +13 -21
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +2 -2
- package/layout/ApplicationLayout.js +29 -66
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +8 -5
- package/layout/Icons.js +51 -59
- package/layout/types.d.ts +3 -3
- package/link/Link.js +21 -42
- package/link/Link.test.js +23 -41
- package/link/types.d.ts +14 -14
- package/main.d.ts +8 -4
- package/main.js +39 -59
- package/nav-tabs/NavTabs.d.ts +1 -2
- package/nav-tabs/NavTabs.js +19 -48
- package/nav-tabs/NavTabs.stories.tsx +7 -5
- package/nav-tabs/NavTabs.test.js +38 -44
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +24 -52
- package/nav-tabs/types.d.ts +9 -9
- package/number-input/NumberInput.js +46 -36
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +859 -412
- package/number-input/NumberInputContext.d.ts +3 -4
- package/number-input/NumberInputContext.js +3 -14
- package/number-input/types.d.ts +17 -5
- package/package.json +30 -28
- package/paginator/Icons.d.ts +5 -5
- package/paginator/Icons.js +5 -19
- package/paginator/Paginator.js +15 -43
- package/paginator/Paginator.test.js +224 -207
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.js +3 -19
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.js +57 -126
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +157 -140
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.js +21 -53
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
- package/progress-bar/ProgressBar.test.js +35 -52
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.js +4 -27
- package/quick-nav/QuickNav.stories.tsx +1 -1
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +22 -54
- package/radio-group/RadioGroup.js +37 -83
- package/radio-group/RadioGroup.stories.tsx +10 -10
- package/radio-group/RadioGroup.test.js +504 -470
- package/radio-group/types.d.ts +8 -8
- package/resultset-table/Icons.d.ts +7 -0
- package/{resultsetTable → resultset-table}/Icons.js +1 -5
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.js +44 -69
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +106 -5
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +148 -92
- package/{resultsetTable → resultset-table}/types.d.ts +44 -11
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +7 -7
- package/select/Icons.js +1 -5
- package/select/Listbox.js +13 -39
- package/select/Option.js +17 -27
- package/select/Select.js +87 -163
- package/select/Select.stories.tsx +3 -3
- package/select/Select.test.js +1946 -1804
- package/select/types.d.ts +14 -15
- package/sidenav/Icons.d.ts +4 -4
- package/sidenav/Icons.js +1 -5
- package/sidenav/Sidenav.js +29 -70
- package/sidenav/Sidenav.test.js +3 -10
- package/{layout → sidenav}/SidenavContext.d.ts +1 -1
- package/{layout → sidenav}/SidenavContext.js +3 -9
- package/sidenav/types.d.ts +18 -18
- package/slider/Slider.js +68 -125
- package/slider/Slider.test.js +107 -103
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.js +16 -54
- package/spinner/Spinner.test.js +25 -34
- package/spinner/types.d.ts +3 -3
- package/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/switch/Switch.js +49 -97
- package/switch/Switch.stories.tsx +0 -34
- package/switch/Switch.test.js +51 -96
- package/switch/types.d.ts +4 -4
- package/table/DropdownTheme.js +62 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +76 -33
- package/table/{Table.stories.jsx → Table.stories.tsx} +297 -2
- package/table/Table.test.js +93 -6
- package/table/types.d.ts +34 -6
- package/tabs/Tab.js +17 -33
- package/tabs/Tabs.js +52 -129
- package/tabs/Tabs.stories.tsx +1 -1
- package/tabs/Tabs.test.js +62 -118
- package/tabs/types.d.ts +19 -19
- package/tag/Tag.js +21 -51
- package/tag/Tag.test.js +19 -30
- package/tag/types.d.ts +7 -7
- package/text-input/Suggestion.js +9 -26
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +19 -67
- package/text-input/TextInput.js +221 -327
- package/text-input/TextInput.stories.tsx +49 -153
- package/text-input/TextInput.test.js +1227 -1194
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.js +67 -109
- package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
- package/textarea/Textarea.test.js +150 -179
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.js +90 -107
- package/toggle-group/ToggleGroup.stories.tsx +7 -4
- package/toggle-group/ToggleGroup.test.js +68 -87
- package/toggle-group/types.d.ts +26 -17
- package/typography/Typography.js +4 -13
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +49 -136
- package/useTheme.js +1 -8
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +2 -2
- package/utils/BaseTypography.js +16 -30
- package/utils/FocusLock.js +25 -39
- package/wizard/Wizard.js +14 -49
- package/wizard/Wizard.test.js +53 -80
- package/wizard/types.d.ts +7 -7
- package/common/OpenSans.css +0 -69
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/resultsetTable/Icons.d.ts +0 -7
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/slider/Slider.stories.tsx +0 -240
- package/text-input/Icons.d.ts +0 -8
- package/text-input/Icons.js +0 -60
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → container/types.js} +0 -0
- /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
|
@@ -3,6 +3,8 @@ import DxcFooter from "./Footer";
|
|
|
3
3
|
import Title from "../../.storybook/components/Title";
|
|
4
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
5
|
import { HalstackProvider } from "../HalstackContext";
|
|
6
|
+
import DxcFlex from "../flex/Flex";
|
|
7
|
+
import DxcTypography from "../typography/Typography";
|
|
6
8
|
|
|
7
9
|
const social = [
|
|
8
10
|
{
|
|
@@ -26,17 +28,20 @@ const social = [
|
|
|
26
28
|
</g>
|
|
27
29
|
</svg>
|
|
28
30
|
),
|
|
31
|
+
title: "Linkedin",
|
|
29
32
|
},
|
|
30
33
|
{
|
|
31
|
-
href: "https://
|
|
34
|
+
href: "https://x.com/dxctechnology",
|
|
32
35
|
logo: (
|
|
33
|
-
<svg viewBox="0 0
|
|
36
|
+
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
37
|
+
<rect width="256" height="256" rx="40" fill="white" />
|
|
34
38
|
<path
|
|
35
|
-
|
|
36
|
-
|
|
39
|
+
d="M140.192 118.205L187.848 64H176.556L135.158 111.056L102.117 64H64L113.975 135.163L64 192H75.2914L118.982 142.296L153.883 192H192L140.192 118.205ZM124.722 135.787L119.65 128.697L79.3634 72.3294H96.7094L129.232 117.837L134.282 124.927L176.551 184.076H159.205L124.722 135.787Z"
|
|
40
|
+
fill="#0F1419"
|
|
37
41
|
/>
|
|
38
42
|
</svg>
|
|
39
43
|
),
|
|
44
|
+
title: "X",
|
|
40
45
|
},
|
|
41
46
|
{
|
|
42
47
|
href: "https://www.facebook.com/DXCTechnology/",
|
|
@@ -63,6 +68,7 @@ const social = [
|
|
|
63
68
|
</g>
|
|
64
69
|
</svg>
|
|
65
70
|
),
|
|
71
|
+
title: "Facebook",
|
|
66
72
|
},
|
|
67
73
|
];
|
|
68
74
|
|
|
@@ -72,8 +78,8 @@ const bottom = [
|
|
|
72
78
|
text: "Linkedin",
|
|
73
79
|
},
|
|
74
80
|
{
|
|
75
|
-
href: "https://
|
|
76
|
-
text: "
|
|
81
|
+
href: "https://x.com/dxctechnology",
|
|
82
|
+
text: "X",
|
|
77
83
|
},
|
|
78
84
|
{
|
|
79
85
|
href: "https://www.facebook.com/DXCTechnology/",
|
|
@@ -95,6 +101,11 @@ const opinionatedTheme = {
|
|
|
95
101
|
},
|
|
96
102
|
};
|
|
97
103
|
|
|
104
|
+
const info = [
|
|
105
|
+
{ label: "Example Label", text: "Example" },
|
|
106
|
+
{ label: "Example Label", text: "Example" },
|
|
107
|
+
];
|
|
108
|
+
|
|
98
109
|
export const Chromatic = () => (
|
|
99
110
|
<>
|
|
100
111
|
<ExampleContainer>
|
|
@@ -109,6 +120,26 @@ export const Chromatic = () => (
|
|
|
109
120
|
</div>
|
|
110
121
|
</DxcFooter>
|
|
111
122
|
</ExampleContainer>
|
|
123
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
124
|
+
<Title title="Focused bottom and social links" theme="light" level={4} />
|
|
125
|
+
<DxcFooter copyright="Copyright" socialLinks={social} bottomLinks={bottom}>
|
|
126
|
+
<div>
|
|
127
|
+
<a href="https://www.linkedin.com/company/dxctechnology">Linkedin</a>
|
|
128
|
+
</div>
|
|
129
|
+
</DxcFooter>
|
|
130
|
+
</ExampleContainer>
|
|
131
|
+
<ExampleContainer>
|
|
132
|
+
<Title title="Reduced" theme="light" level={4} />
|
|
133
|
+
<DxcFooter mode="reduced">
|
|
134
|
+
<DxcFlex justifyContent="center" alignItems="center" gap={"1rem"}>
|
|
135
|
+
{info.map((tag, index) => (
|
|
136
|
+
<DxcTypography color="white" key={`tag${index}${tag.label}${tag.text}`} >
|
|
137
|
+
{tag.label}: {tag.text}
|
|
138
|
+
</DxcTypography>
|
|
139
|
+
))}
|
|
140
|
+
</DxcFlex>
|
|
141
|
+
</DxcFooter>
|
|
142
|
+
</ExampleContainer>
|
|
112
143
|
<Title title="Margins" theme="light" level={2} />
|
|
113
144
|
<ExampleContainer>
|
|
114
145
|
<Title title="Xxsmall margin" theme="light" level={4} />
|
package/footer/Footer.test.js
CHANGED
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
|
|
7
5
|
var _react2 = require("@testing-library/react");
|
|
8
|
-
|
|
9
6
|
var _Footer = _interopRequireDefault(require("./Footer.tsx"));
|
|
10
|
-
|
|
11
7
|
var social = [{
|
|
12
8
|
href: "https://www.test.com/social",
|
|
13
|
-
logo: "https://developer.apple.com/design/human-interface-guidelines/foundations/app-icons/images/icon-and-image-large-icon-settings_2x.png"
|
|
9
|
+
logo: "https://developer.apple.com/design/human-interface-guidelines/foundations/app-icons/images/icon-and-image-large-icon-settings_2x.png",
|
|
10
|
+
title: "test"
|
|
14
11
|
}];
|
|
15
12
|
var bottom = [{
|
|
16
13
|
href: "https://www.test.com/bottom",
|
|
@@ -19,34 +16,30 @@ var bottom = [{
|
|
|
19
16
|
describe("Footer component tests", function () {
|
|
20
17
|
test("Footer renders with default logo", function () {
|
|
21
18
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], null)),
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
getByTitle = _render.getByTitle;
|
|
24
20
|
expect(getByTitle("DXC Logo")).toBeTruthy();
|
|
25
21
|
});
|
|
26
22
|
test("Footer renders with social links", function () {
|
|
27
23
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
24
|
+
socialLinks: social
|
|
25
|
+
})),
|
|
26
|
+
getByRole = _render2.getByRole;
|
|
32
27
|
var socialIcon = getByRole("link");
|
|
33
28
|
expect(socialIcon.getAttribute("href")).toBe("https://www.test.com/social");
|
|
34
29
|
});
|
|
35
30
|
test("Footer renders with bottom links", function () {
|
|
36
31
|
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
32
|
+
bottomLinks: bottom
|
|
33
|
+
})),
|
|
34
|
+
getByText = _render3.getByText;
|
|
41
35
|
var link = getByText("bottom-link-text");
|
|
42
36
|
expect(link.getAttribute("href")).toBe("https://www.test.com/bottom");
|
|
43
37
|
});
|
|
44
38
|
test("Footer renders with copyright text", function () {
|
|
45
39
|
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
40
|
+
copyright: "test-copyright"
|
|
41
|
+
})),
|
|
42
|
+
getByText = _render4.getByText;
|
|
50
43
|
expect(getByText("test-copyright")).toBeTruthy();
|
|
51
44
|
});
|
|
52
45
|
test("Footer renders with correct children", function () {
|
|
@@ -55,10 +48,8 @@ describe("Footer component tests", function () {
|
|
|
55
48
|
configurable: true,
|
|
56
49
|
value: 1024
|
|
57
50
|
});
|
|
58
|
-
|
|
59
51
|
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], null, /*#__PURE__*/_react["default"].createElement("p", null, "footer-child-text"))),
|
|
60
|
-
|
|
61
|
-
|
|
52
|
+
getByText = _render5.getByText;
|
|
62
53
|
expect(getByText("footer-child-text")).toBeTruthy();
|
|
63
54
|
});
|
|
64
55
|
test("Footer renders with children in mobile", function () {
|
|
@@ -67,10 +58,8 @@ describe("Footer component tests", function () {
|
|
|
67
58
|
configurable: true,
|
|
68
59
|
value: 425
|
|
69
60
|
});
|
|
70
|
-
|
|
71
61
|
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], null, /*#__PURE__*/_react["default"].createElement("p", null, "footer-child-text"))),
|
|
72
|
-
|
|
73
|
-
|
|
62
|
+
queryByText = _render6.queryByText;
|
|
74
63
|
expect(queryByText("footer-child-text")).toBeTruthy();
|
|
75
64
|
});
|
|
76
65
|
test("Footer is fully rendered", function () {
|
|
@@ -78,17 +67,16 @@ describe("Footer component tests", function () {
|
|
|
78
67
|
configurable: true,
|
|
79
68
|
value: 1024
|
|
80
69
|
});
|
|
81
|
-
|
|
82
70
|
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
71
|
+
socialLinks: social,
|
|
72
|
+
bottomLinks: bottom,
|
|
73
|
+
copyright: "test-copyright"
|
|
74
|
+
}, /*#__PURE__*/_react["default"].createElement("p", null, "footer-child-text"))),
|
|
75
|
+
getAllByRole = _render7.getAllByRole,
|
|
76
|
+
getByText = _render7.getByText;
|
|
90
77
|
var socialIcon = getAllByRole("link")[0];
|
|
91
78
|
expect(socialIcon.getAttribute("href")).toBe("https://www.test.com/social");
|
|
79
|
+
expect(socialIcon.getAttribute("aria-label")).toBe("test");
|
|
92
80
|
var bottomLink = getByText("bottom-link-text");
|
|
93
81
|
expect(bottomLink.getAttribute("href")).toBe("https://www.test.com/bottom");
|
|
94
82
|
expect(getByText("test-copyright")).toBeTruthy();
|
package/footer/Icons.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const dxcLogo: JSX.Element;
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare const dxcLogo: React.JSX.Element;
|
|
3
|
+
export declare const dxcSmallLogo: React.JSX.Element;
|
package/footer/Icons.js
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
exports.dxcLogo = void 0;
|
|
9
|
-
|
|
7
|
+
exports.dxcSmallLogo = exports.dxcLogo = void 0;
|
|
10
8
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
|
-
var dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
9
|
+
var dxcLogo = exports.dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
13
10
|
id: "g10",
|
|
14
11
|
xmlns: "http://www.w3.org/2000/svg",
|
|
15
12
|
width: "100%",
|
|
@@ -73,5 +70,67 @@ var dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
73
70
|
transform: "translate(-21.08 69.298)",
|
|
74
71
|
fill: "#fff"
|
|
75
72
|
})));
|
|
76
|
-
|
|
77
|
-
|
|
73
|
+
var dxcSmallLogo = exports.dxcSmallLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
74
|
+
id: "g10",
|
|
75
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
76
|
+
width: "100%",
|
|
77
|
+
height: "16",
|
|
78
|
+
viewBox: "0 0 280.781 32"
|
|
79
|
+
}, /*#__PURE__*/_react["default"].createElement("title", null, "DXC Logo"), /*#__PURE__*/_react["default"].createElement("g", {
|
|
80
|
+
id: "g12"
|
|
81
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
82
|
+
id: "path14",
|
|
83
|
+
d: "M171.5-54.124v12.539h-3.6V-54.124h-4.973v-3.191h13.54v3.191H171.5",
|
|
84
|
+
transform: "translate(-68.528 65.45)",
|
|
85
|
+
fill: "#fff"
|
|
86
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
87
|
+
id: "path16",
|
|
88
|
+
d: "M189.96-41.585V-57.315h12.326v3.079h-8.753v3.191h7.7v3.078h-7.7v3.3h8.87v3.078H189.96",
|
|
89
|
+
transform: "translate(-77.56 65.45)",
|
|
90
|
+
fill: "#fff"
|
|
91
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
92
|
+
id: "path18",
|
|
93
|
+
d: "M223.558-41.438a8.1,8.1,0,0,1-8.382-8.1v-.045a8.161,8.161,0,0,1,8.522-8.146,8.6,8.6,0,0,1,6.444,2.431l-2.289,2.543a6.133,6.133,0,0,0-4.178-1.778,4.743,4.743,0,0,0-4.738,4.905v.045a4.752,4.752,0,0,0,4.738,4.95,6,6,0,0,0,4.295-1.845l2.288,2.228a8.491,8.491,0,0,1-6.7,2.813",
|
|
94
|
+
transform: "translate(-86.019 65.583)",
|
|
95
|
+
fill: "#fff"
|
|
96
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
97
|
+
id: "path20",
|
|
98
|
+
d: "M254.988-41.585V-47.9h-6.63v6.315h-3.6V-57.315h3.6v6.225h6.63v-6.225h3.594v15.731h-3.594",
|
|
99
|
+
transform: "translate(-95.903 65.45)",
|
|
100
|
+
fill: "#fff"
|
|
101
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
102
|
+
id: "path22",
|
|
103
|
+
d: "M285.991-41.585l-7.914-10v10h-3.549V-57.315h3.316l7.657,9.685v-9.685h3.549v15.731h-3.058",
|
|
104
|
+
transform: "translate(-105.869 65.45)",
|
|
105
|
+
fill: "#fff"
|
|
106
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
107
|
+
id: "path24",
|
|
108
|
+
d: "M317.2-49.583a4.869,4.869,0,0,0-4.949-4.95,4.793,4.793,0,0,0-4.9,4.905v.045a4.869,4.869,0,0,0,4.949,4.95,4.793,4.793,0,0,0,4.9-4.905Zm-4.949,8.145c-5.043,0-8.661-3.623-8.661-8.1v-.045c0-4.478,3.666-8.146,8.708-8.146s8.66,3.623,8.66,8.1v.045c0,4.477-3.664,8.145-8.708,8.145",
|
|
109
|
+
transform: "translate(-115.631 65.583)",
|
|
110
|
+
fill: "#fff"
|
|
111
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
112
|
+
id: "path26",
|
|
113
|
+
d: "M336.786-41.585V-57.315h3.6v12.584h8.148v3.146H336.786",
|
|
114
|
+
transform: "translate(-126.654 65.45)",
|
|
115
|
+
fill: "#fff"
|
|
116
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
117
|
+
id: "path28",
|
|
118
|
+
d: "M372.78-49.583a4.87,4.87,0,0,0-4.949-4.95,4.794,4.794,0,0,0-4.9,4.905v.045a4.869,4.869,0,0,0,4.949,4.95,4.794,4.794,0,0,0,4.9-4.905Zm-4.949,8.145c-5.043,0-8.662-3.623-8.662-8.1v-.045c0-4.478,3.666-8.146,8.708-8.146s8.661,3.623,8.661,8.1v.045c0,4.477-3.666,8.145-8.708,8.145",
|
|
119
|
+
transform: "translate(-135.016 65.583)",
|
|
120
|
+
fill: "#fff"
|
|
121
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
122
|
+
id: "path30",
|
|
123
|
+
d: "M399.735-41.438c-5.09,0-8.592-3.443-8.592-8.1v-.045a8.243,8.243,0,0,1,8.568-8.146,9.18,9.18,0,0,1,6.42,2.16l-2.265,2.634a6.141,6.141,0,0,0-4.272-1.6,4.807,4.807,0,0,0-4.692,4.905v.045a4.8,4.8,0,0,0,4.949,4.995,5.89,5.89,0,0,0,3.384-.945v-2.25h-3.618v-2.992h7.1v6.841a10.837,10.837,0,0,1-6.98,2.5",
|
|
124
|
+
transform: "translate(-145.284 65.583)",
|
|
125
|
+
fill: "#fff"
|
|
126
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
127
|
+
id: "path32",
|
|
128
|
+
d: "M428.664-47.855v6.27h-3.6v-6.2l-6.28-9.528h4.2L426.89-51l3.968-6.315h4.085l-6.28,9.46",
|
|
129
|
+
transform: "translate(-154.162 65.45)",
|
|
130
|
+
fill: "#fff"
|
|
131
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
132
|
+
id: "path34",
|
|
133
|
+
d: "M84.218-55.737a10.063,10.063,0,0,1,2.589-4.4,9.792,9.792,0,0,1,6.985-2.77h11.328V-69.3H93.792a17.041,17.041,0,0,0-11.8,4.759,16.344,16.344,0,0,0-3.547,5.115,13.247,13.247,0,0,0-1.122,3.688Zm0,4.877a10.065,10.065,0,0,0,2.589,4.4,9.793,9.793,0,0,0,6.985,2.77h11.328V-37.3H93.792a17.042,17.042,0,0,1-11.8-4.759,16.339,16.339,0,0,1-3.547-5.114,13.251,13.251,0,0,1-1.122-3.688ZM63.1-47.98,54.45-37.3H45.873l12.957-16-12.957-16H54.45L63.1-58.619l8.65-10.68h8.578l-12.957,16,12.957,16H71.749ZM48.875-55.737a13.212,13.212,0,0,0-1.122-3.688,16.359,16.359,0,0,0-3.546-5.115,17.043,17.043,0,0,0-11.8-4.759H21.08v6.393H32.408a9.79,9.79,0,0,1,6.985,2.77,10.072,10.072,0,0,1,2.59,4.4Zm0,4.877a13.215,13.215,0,0,1-1.122,3.688,16.353,16.353,0,0,1-3.546,5.114,17.044,17.044,0,0,1-11.8,4.759H21.08v-6.393H32.408a9.791,9.791,0,0,0,6.985-2.77,10.074,10.074,0,0,0,2.59-4.4h6.892",
|
|
134
|
+
transform: "translate(-21.08 69.298)",
|
|
135
|
+
fill: "#fff"
|
|
136
|
+
})));
|
package/footer/types.d.ts
CHANGED
|
@@ -1,33 +1,31 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
10
|
-
declare type SocialLink = {
|
|
2
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
4
|
+
type SocialLink = {
|
|
5
|
+
/**
|
|
6
|
+
* URL of the page the link goes to.
|
|
7
|
+
*/
|
|
8
|
+
href: string;
|
|
11
9
|
/**
|
|
12
10
|
* Element used as the icon for the link.
|
|
13
11
|
*/
|
|
14
12
|
logo: string | SVG;
|
|
13
|
+
/**
|
|
14
|
+
* Value for the HTML properties title and aria-label.
|
|
15
|
+
*/
|
|
16
|
+
title: string;
|
|
17
|
+
};
|
|
18
|
+
type BottomLink = {
|
|
15
19
|
/**
|
|
16
20
|
* URL of the page the link goes to.
|
|
17
21
|
*/
|
|
18
22
|
href: string;
|
|
19
|
-
};
|
|
20
|
-
declare type BottomLink = {
|
|
21
23
|
/**
|
|
22
24
|
* Text for the link.
|
|
23
25
|
*/
|
|
24
26
|
text: string;
|
|
25
|
-
/**
|
|
26
|
-
* URL of the page the link goes to.
|
|
27
|
-
*/
|
|
28
|
-
href: string;
|
|
29
27
|
};
|
|
30
|
-
|
|
28
|
+
type FooterPropsType = {
|
|
31
29
|
/**
|
|
32
30
|
* An array of objects representing the links that will be rendered as
|
|
33
31
|
* icons at the top-right side of the footer.
|
|
@@ -38,23 +36,29 @@ declare type FooterPropsType = {
|
|
|
38
36
|
* the bottom part of the footer.
|
|
39
37
|
*/
|
|
40
38
|
bottomLinks?: BottomLink[];
|
|
39
|
+
/**
|
|
40
|
+
* The text that will be displayed as copyright disclaimer.
|
|
41
|
+
*/
|
|
42
|
+
copyright?: string;
|
|
41
43
|
/**
|
|
42
44
|
* The center section of the footer. Can be used to render custom
|
|
43
45
|
* content in this area.
|
|
44
46
|
*/
|
|
45
47
|
children?: React.ReactNode;
|
|
46
48
|
/**
|
|
47
|
-
*
|
|
49
|
+
* Size of the top margin to be applied to the footer.
|
|
48
50
|
*/
|
|
49
|
-
|
|
51
|
+
margin?: Space;
|
|
50
52
|
/**
|
|
51
|
-
* Value of the tabindex for all
|
|
53
|
+
* Value of the tabindex for all interactive elements, except those
|
|
52
54
|
* inside the custom area.
|
|
53
55
|
*/
|
|
54
56
|
tabIndex?: number;
|
|
55
57
|
/**
|
|
56
|
-
*
|
|
58
|
+
* Determines the visual style and layout
|
|
59
|
+
* - "default": The default mode with full content and styling.
|
|
60
|
+
* - "reduced": A reduced mode with minimal content and styling.
|
|
57
61
|
*/
|
|
58
|
-
|
|
62
|
+
mode?: "default" | "reduced";
|
|
59
63
|
};
|
|
60
64
|
export default FooterPropsType;
|
package/grid/Grid.d.ts
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
import GridPropsType, { GridItemProps } from "./types";
|
|
3
3
|
declare const DxcGrid: {
|
|
4
4
|
(props: GridPropsType): JSX.Element;
|
|
5
|
-
|
|
5
|
+
Item: import("styled-components").StyledComponent<"div", any, GridItemProps, never>;
|
|
6
6
|
};
|
|
7
7
|
export default DxcGrid;
|
package/grid/Grid.js
CHANGED
|
@@ -1,24 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
-
|
|
12
9
|
var _react = _interopRequireDefault(require("react"));
|
|
13
|
-
|
|
14
10
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
15
|
-
|
|
16
11
|
var _templateObject, _templateObject2;
|
|
17
|
-
|
|
18
12
|
var DxcGrid = function DxcGrid(props) {
|
|
19
13
|
return /*#__PURE__*/_react["default"].createElement(Grid, props);
|
|
20
14
|
};
|
|
21
|
-
|
|
22
15
|
var Grid = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n \n ", "\n ", "\n ", "\n ", "\n"])), function (_ref) {
|
|
23
16
|
var templateColumns = _ref.templateColumns;
|
|
24
17
|
return templateColumns && "grid-template-columns: ".concat(templateColumns.join(" "), ";");
|
|
@@ -41,17 +34,14 @@ var Grid = _styledComponents["default"].div(_templateObject || (_templateObject
|
|
|
41
34
|
return autoFlow && "grid-auto-flow: ".concat(autoFlow, ";");
|
|
42
35
|
}, function (_ref7) {
|
|
43
36
|
var _gap$rowGap, _gap$columnGap;
|
|
44
|
-
|
|
45
37
|
var gap = _ref7.gap;
|
|
46
38
|
return gap != null && (typeof gap === "string" ? "gap: ".concat(gap, ";") : "row-gap: ".concat((_gap$rowGap = gap.rowGap) !== null && _gap$rowGap !== void 0 ? _gap$rowGap : "", "; column-gap: ").concat((_gap$columnGap = gap.columnGap) !== null && _gap$columnGap !== void 0 ? _gap$columnGap : "", ";"));
|
|
47
39
|
}, function (_ref8) {
|
|
48
40
|
var _placeItems$alignItem, _placeItems$justifyIt;
|
|
49
|
-
|
|
50
41
|
var placeItems = _ref8.placeItems;
|
|
51
42
|
return placeItems && (typeof placeItems === "string" ? "place-items: ".concat(placeItems) : "align-items: ".concat((_placeItems$alignItem = placeItems.alignItems) !== null && _placeItems$alignItem !== void 0 ? _placeItems$alignItem : "", "; justify-items: ").concat((_placeItems$justifyIt = placeItems.justifyItems) !== null && _placeItems$justifyIt !== void 0 ? _placeItems$justifyIt : "", ";"));
|
|
52
43
|
}, function (_ref9) {
|
|
53
44
|
var _placeContent$alignCo, _placeContent$justify;
|
|
54
|
-
|
|
55
45
|
var placeContent = _ref9.placeContent;
|
|
56
46
|
return placeContent && (typeof placeContent === "string" ? "place-content: ".concat(placeContent) : "align-content: ".concat((_placeContent$alignCo = placeContent.alignContent) !== null && _placeContent$alignCo !== void 0 ? _placeContent$alignCo : "", "; justify-content: ").concat((_placeContent$justify = placeContent.justifyContent) !== null && _placeContent$justify !== void 0 ? _placeContent$justify : "", ";"));
|
|
57
47
|
}, function (_ref10) {
|
|
@@ -65,11 +55,9 @@ var Grid = _styledComponents["default"].div(_templateObject || (_templateObject
|
|
|
65
55
|
return row && "grid-row: ".concat(typeof row === "string" || typeof row === "number" ? row : "".concat(row.start, " / ").concat(row.end, ";"), ";");
|
|
66
56
|
}, function (_ref13) {
|
|
67
57
|
var _placeSelf$alignSelf, _placeSelf$justifySel;
|
|
68
|
-
|
|
69
58
|
var placeSelf = _ref13.placeSelf;
|
|
70
59
|
return placeSelf && (typeof placeSelf === "string" ? "place-self: ".concat(placeSelf) : "align-self: ".concat((_placeSelf$alignSelf = placeSelf.alignSelf) !== null && _placeSelf$alignSelf !== void 0 ? _placeSelf$alignSelf : "", "; justify-self: ").concat((_placeSelf$justifySel = placeSelf.justifySelf) !== null && _placeSelf$justifySel !== void 0 ? _placeSelf$justifySel : "", ";"));
|
|
71
60
|
});
|
|
72
|
-
|
|
73
61
|
var GridItem = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n ", "\n ", "\n ", "\n"])), function (_ref14) {
|
|
74
62
|
var areaName = _ref14.areaName;
|
|
75
63
|
return areaName && "grid-area: ".concat(areaName, ";");
|
|
@@ -81,11 +69,8 @@ var GridItem = _styledComponents["default"].div(_templateObject2 || (_templateOb
|
|
|
81
69
|
return row && "grid-row: ".concat(typeof row === "string" || typeof row === "number" ? row : "".concat(row.start, " / ").concat(row.end, ";"), ";");
|
|
82
70
|
}, function (_ref17) {
|
|
83
71
|
var _placeSelf$alignSelf2, _placeSelf$justifySel2;
|
|
84
|
-
|
|
85
72
|
var placeSelf = _ref17.placeSelf;
|
|
86
73
|
return placeSelf && (typeof placeSelf === "string" ? "place-self: ".concat(placeSelf) : "align-self: ".concat((_placeSelf$alignSelf2 = placeSelf.alignSelf) !== null && _placeSelf$alignSelf2 !== void 0 ? _placeSelf$alignSelf2 : "", "; justify-self: ").concat((_placeSelf$justifySel2 = placeSelf.justifySelf) !== null && _placeSelf$justifySel2 !== void 0 ? _placeSelf$justifySel2 : "", ";"));
|
|
87
74
|
});
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
var _default = DxcGrid;
|
|
91
|
-
exports["default"] = _default;
|
|
75
|
+
DxcGrid.Item = GridItem;
|
|
76
|
+
var _default = exports["default"] = DxcGrid;
|
package/grid/Grid.stories.tsx
CHANGED
|
@@ -56,16 +56,16 @@ export const Chromatic = () => (
|
|
|
56
56
|
<Title title="Place self" level={4} />
|
|
57
57
|
<ExampleContainer>
|
|
58
58
|
<DxcGrid templateRows={["repeat(3, 100px)"]}>
|
|
59
|
-
<DxcGrid.
|
|
59
|
+
<DxcGrid.Item placeSelf="center">
|
|
60
60
|
<ColoredContainer height="50px" width="50px" />
|
|
61
|
-
</DxcGrid.
|
|
62
|
-
<DxcGrid.
|
|
61
|
+
</DxcGrid.Item>
|
|
62
|
+
<DxcGrid.Item placeSelf={{ alignSelf: "end" }}>
|
|
63
63
|
<ColoredContainer height="40px" width="40px" />
|
|
64
64
|
<ColoredContainer height="30px" width="30px" />
|
|
65
|
-
</DxcGrid.
|
|
66
|
-
<DxcGrid.
|
|
65
|
+
</DxcGrid.Item>
|
|
66
|
+
<DxcGrid.Item placeSelf={{ alignSelf: "center", justifySelf: "end" }}>
|
|
67
67
|
<ColoredContainer height="50px" width="50px" />
|
|
68
|
-
</DxcGrid.
|
|
68
|
+
</DxcGrid.Item>
|
|
69
69
|
</DxcGrid>
|
|
70
70
|
</ExampleContainer>
|
|
71
71
|
<Title title="Halstack layout using template areas" level={4} />
|
|
@@ -76,33 +76,33 @@ export const Chromatic = () => (
|
|
|
76
76
|
templateAreas={["header header header header", "sidenav main main main", "sidenav footer footer footer"]}
|
|
77
77
|
gap={{ rowGap: "0.5rem", columnGap: "1rem" }}
|
|
78
78
|
>
|
|
79
|
-
<DxcGrid.
|
|
79
|
+
<DxcGrid.Item areaName="header" as="header">
|
|
80
80
|
<ColoredContainer height="100%" />
|
|
81
|
-
</DxcGrid.
|
|
82
|
-
<DxcGrid.
|
|
81
|
+
</DxcGrid.Item>
|
|
82
|
+
<DxcGrid.Item areaName="main" as="main">
|
|
83
83
|
<ColoredContainer height="100%" />
|
|
84
|
-
</DxcGrid.
|
|
85
|
-
<DxcGrid.
|
|
84
|
+
</DxcGrid.Item>
|
|
85
|
+
<DxcGrid.Item areaName="sidenav" as="nav">
|
|
86
86
|
<ColoredContainer height="100%" />
|
|
87
|
-
</DxcGrid.
|
|
88
|
-
<DxcGrid.
|
|
87
|
+
</DxcGrid.Item>
|
|
88
|
+
<DxcGrid.Item areaName="footer" as="footer">
|
|
89
89
|
<ColoredContainer height="100%" />
|
|
90
|
-
</DxcGrid.
|
|
90
|
+
</DxcGrid.Item>
|
|
91
91
|
</DxcGrid>
|
|
92
92
|
</ExampleContainer>
|
|
93
93
|
<Title title="Template rows and columns with flexible sizes" level={4} />
|
|
94
94
|
<ExampleContainer>
|
|
95
95
|
<DxcGrid templateColumns={["1fr", "1fr", "1fr"]} templateRows={["1fr", "3fr", "1fr"]} gap="0.5rem">
|
|
96
|
-
<DxcGrid.
|
|
96
|
+
<DxcGrid.Item column={{ start: 1, end: -1 }}>
|
|
97
97
|
<ColoredContainer color="yellow" height="100%">
|
|
98
98
|
Header
|
|
99
99
|
</ColoredContainer>
|
|
100
|
-
</DxcGrid.
|
|
101
|
-
<DxcGrid.
|
|
100
|
+
</DxcGrid.Item>
|
|
101
|
+
<DxcGrid.Item column={1}>
|
|
102
102
|
<ColoredContainer color="lightcyan" height="100%">
|
|
103
103
|
Sidenav
|
|
104
104
|
</ColoredContainer>
|
|
105
|
-
</DxcGrid.
|
|
105
|
+
</DxcGrid.Item>
|
|
106
106
|
<DxcGrid
|
|
107
107
|
column={{ start: 2, end: -1 }}
|
|
108
108
|
templateRows={["repeat(4, 1fr)"]}
|
|
@@ -118,11 +118,11 @@ export const Chromatic = () => (
|
|
|
118
118
|
<ColoredContainer />
|
|
119
119
|
<ColoredContainer />
|
|
120
120
|
</DxcGrid>
|
|
121
|
-
<DxcGrid.
|
|
121
|
+
<DxcGrid.Item column={{ start: 1, end: -1 }}>
|
|
122
122
|
<ColoredContainer color="black" height="100%">
|
|
123
123
|
Footer
|
|
124
124
|
</ColoredContainer>
|
|
125
|
-
</DxcGrid.
|
|
125
|
+
</DxcGrid.Item>
|
|
126
126
|
</DxcGrid>
|
|
127
127
|
</ExampleContainer>
|
|
128
128
|
<Title title="Overlapping" level={4} />
|
|
@@ -141,53 +141,53 @@ export const Chromatic = () => (
|
|
|
141
141
|
<Title title="Implicit rows and columns" level={4} />
|
|
142
142
|
<ExampleContainer>
|
|
143
143
|
<DxcGrid templateColumns={["50px"]} templateRows={["50px", "50px"]} autoRows="50px" autoColumns="50px">
|
|
144
|
-
<DxcGrid.
|
|
144
|
+
<DxcGrid.Item>
|
|
145
145
|
<ColoredContainer height="50px">1</ColoredContainer>
|
|
146
|
-
</DxcGrid.
|
|
147
|
-
<DxcGrid.
|
|
146
|
+
</DxcGrid.Item>
|
|
147
|
+
<DxcGrid.Item row={2}>
|
|
148
148
|
<ColoredContainer height="50px">3</ColoredContainer>
|
|
149
|
-
</DxcGrid.
|
|
150
|
-
<DxcGrid.
|
|
149
|
+
</DxcGrid.Item>
|
|
150
|
+
<DxcGrid.Item row={6} column={1}>
|
|
151
151
|
<ColoredContainer height="50px">5</ColoredContainer>
|
|
152
|
-
</DxcGrid.
|
|
153
|
-
<DxcGrid.
|
|
152
|
+
</DxcGrid.Item>
|
|
153
|
+
<DxcGrid.Item row={3}>
|
|
154
154
|
<ColoredContainer height="50px">4</ColoredContainer>
|
|
155
|
-
</DxcGrid.
|
|
156
|
-
<DxcGrid.
|
|
155
|
+
</DxcGrid.Item>
|
|
156
|
+
<DxcGrid.Item row={{ start: 1, end: 2 }} column={{ start: 5, end: "span 2" }}>
|
|
157
157
|
<ColoredContainer height="50px">2</ColoredContainer>
|
|
158
|
-
</DxcGrid.
|
|
158
|
+
</DxcGrid.Item>
|
|
159
159
|
</DxcGrid>
|
|
160
160
|
</ExampleContainer>
|
|
161
161
|
<Title title="Autoflow 'row' (default)" level={4} />
|
|
162
162
|
<ExampleContainer>
|
|
163
163
|
<DxcGrid templateColumns={["repeat(5, 1fr)"]} templateRows={["1fr", "1fr"]} autoFlow="row" autoColumns="1fr">
|
|
164
|
-
<DxcGrid.
|
|
164
|
+
<DxcGrid.Item row={{ start: 1, end: "span 2" }} column={1}>
|
|
165
165
|
<ColoredContainer height="100%">1</ColoredContainer>
|
|
166
|
-
</DxcGrid.
|
|
166
|
+
</DxcGrid.Item>
|
|
167
167
|
<ColoredContainer color="lightyellow">2</ColoredContainer>
|
|
168
168
|
<ColoredContainer color="lightcyan">3</ColoredContainer>
|
|
169
169
|
<ColoredContainer color="lightgreen">4</ColoredContainer>
|
|
170
|
-
<DxcGrid.
|
|
170
|
+
<DxcGrid.Item row={{ start: 1, end: -1 }} column={-2}>
|
|
171
171
|
<ColoredContainer color="lightpink" height="100%">
|
|
172
172
|
5
|
|
173
173
|
</ColoredContainer>
|
|
174
|
-
</DxcGrid.
|
|
174
|
+
</DxcGrid.Item>
|
|
175
175
|
</DxcGrid>
|
|
176
176
|
</ExampleContainer>
|
|
177
177
|
<Title title="Autoflow 'column'" level={4} />
|
|
178
178
|
<ExampleContainer>
|
|
179
179
|
<DxcGrid templateColumns={["repeat(5, 1fr)"]} templateRows={["1fr", "1fr"]} autoFlow="column" autoColumns="1fr">
|
|
180
|
-
<DxcGrid.
|
|
180
|
+
<DxcGrid.Item row={{ start: 1, end: -1 }} column={1}>
|
|
181
181
|
<ColoredContainer height="100%">1</ColoredContainer>
|
|
182
|
-
</DxcGrid.
|
|
182
|
+
</DxcGrid.Item>
|
|
183
183
|
<ColoredContainer color="lightyellow">2</ColoredContainer>
|
|
184
184
|
<ColoredContainer color="lightcyan">3</ColoredContainer>
|
|
185
185
|
<ColoredContainer color="lightgreen">4</ColoredContainer>
|
|
186
|
-
<DxcGrid.
|
|
186
|
+
<DxcGrid.Item row={{ start: 1, end: -1 }} column={-2}>
|
|
187
187
|
<ColoredContainer color="lightpink" height="100%">
|
|
188
188
|
5
|
|
189
189
|
</ColoredContainer>
|
|
190
|
-
</DxcGrid.
|
|
190
|
+
</DxcGrid.Item>
|
|
191
191
|
</DxcGrid>
|
|
192
192
|
</ExampleContainer>
|
|
193
193
|
</>
|