@dxc-technology/halstack-react 0.0.0-f4755a1 → 0.0.0-f53d80b
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 +1339 -0
- package/HalstackContext.js +335 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +118 -142
- package/accordion/Accordion.stories.tsx +114 -19
- package/accordion/Accordion.test.js +71 -0
- package/accordion/types.d.ts +8 -7
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +17 -38
- package/accordion-group/AccordionGroup.stories.tsx +28 -2
- package/accordion-group/AccordionGroup.test.js +126 -0
- package/accordion-group/types.d.ts +14 -7
- package/alert/Alert.js +8 -7
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +92 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +51 -0
- package/bleed/Bleed.stories.tsx +341 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.js +25 -37
- package/box/Box.stories.tsx +15 -0
- package/box/Box.test.js +18 -0
- 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/bulleted-list/types.js +5 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +56 -81
- package/button/Button.stories.tsx +163 -14
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +6 -10
- package/card/Card.js +33 -37
- package/card/Card.stories.tsx +13 -14
- package/card/Card.test.js +50 -0
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +107 -110
- package/checkbox/Checkbox.stories.tsx +198 -130
- package/checkbox/Checkbox.test.js +155 -0
- package/checkbox/types.d.ts +11 -3
- package/chip/Chip.d.ts +1 -1
- package/chip/Chip.js +22 -68
- package/chip/Chip.stories.tsx +98 -13
- package/chip/Chip.test.js +54 -0
- package/chip/types.d.ts +5 -13
- package/common/utils.d.ts +1 -0
- package/common/utils.js +4 -4
- package/common/variables.d.ts +1625 -0
- package/common/variables.js +490 -591
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +171 -260
- package/date-input/DateInput.stories.tsx +199 -33
- package/date-input/DateInput.test.js +835 -0
- 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 +67 -9
- package/dialog/Dialog.js +76 -93
- package/dialog/Dialog.stories.tsx +230 -123
- package/dialog/Dialog.test.js +369 -0
- package/dialog/types.d.ts +1 -0
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +248 -277
- package/dropdown/Dropdown.stories.tsx +255 -64
- package/dropdown/Dropdown.test.js +586 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +70 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +79 -0
- package/dropdown/types.d.ts +27 -16
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +180 -223
- package/file-input/FileInput.stories.tsx +122 -10
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +44 -66
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +69 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +32 -0
- package/flex/types.js +5 -0
- package/footer/Footer.js +26 -103
- package/footer/Footer.stories.tsx +99 -1
- package/footer/Footer.test.js +97 -0
- 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 +46 -0
- package/grid/types.js +5 -0
- package/header/Header.d.ts +3 -2
- package/header/Header.js +108 -129
- package/header/Header.stories.tsx +189 -36
- package/header/Header.test.js +79 -0
- package/header/Icons.js +2 -2
- package/header/types.d.ts +1 -0
- package/heading/Heading.js +1 -1
- package/heading/Heading.stories.tsx +3 -2
- package/heading/Heading.test.js +186 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +51 -0
- package/inset/Inset.stories.tsx +229 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +72 -126
- package/layout/ApplicationLayout.stories.tsx +84 -93
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +18 -33
- package/link/Link.d.ts +3 -2
- package/link/Link.js +62 -87
- package/link/Link.stories.tsx +159 -52
- package/link/Link.test.js +81 -0
- package/link/types.d.ts +7 -27
- package/main.d.ts +12 -15
- package/main.js +57 -75
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +125 -0
- package/nav-tabs/NavTabs.stories.tsx +260 -0
- package/nav-tabs/NavTabs.test.js +82 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +150 -0
- package/nav-tabs/types.d.ts +53 -0
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.js +11 -18
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +542 -0
- package/number-input/types.d.ts +17 -10
- package/package.json +20 -23
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +19 -48
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +305 -0
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +7 -4
- package/password-input/PasswordInput.stories.tsx +3 -3
- package/password-input/PasswordInput.test.js +181 -0
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.js +61 -55
- package/progress-bar/ProgressBar.stories.jsx +47 -12
- package/progress-bar/ProgressBar.test.js +110 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +117 -0
- package/quick-nav/QuickNav.stories.tsx +356 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +79 -32
- package/radio-group/RadioGroup.js +153 -36
- package/radio-group/RadioGroup.stories.tsx +178 -20
- package/radio-group/RadioGroup.test.js +722 -0
- package/radio-group/types.d.ts +90 -13
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +50 -106
- package/resultsetTable/ResultsetTable.stories.tsx +56 -32
- package/resultsetTable/ResultsetTable.test.js +325 -0
- package/resultsetTable/types.d.ts +1 -1
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +169 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +97 -0
- package/select/Select.js +189 -386
- package/select/Select.stories.tsx +600 -201
- package/select/Select.test.js +2228 -0
- package/select/types.d.ts +53 -13
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +183 -53
- package/sidenav/Sidenav.stories.tsx +249 -132
- package/sidenav/Sidenav.test.js +44 -0
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +123 -98
- package/slider/Slider.stories.tsx +72 -9
- package/slider/Slider.test.js +250 -0
- package/slider/types.d.ts +8 -0
- package/spinner/Spinner.js +18 -24
- package/spinner/Spinner.stories.jsx +53 -26
- package/spinner/Spinner.test.js +64 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +152 -69
- package/switch/Switch.stories.tsx +54 -43
- package/switch/Switch.test.js +225 -0
- package/switch/types.d.ts +10 -2
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +81 -1
- package/table/Table.test.js +26 -0
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +133 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +363 -111
- package/tabs/Tabs.stories.tsx +122 -17
- package/tabs/Tabs.test.js +350 -0
- package/tabs/types.d.ts +37 -15
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +24 -36
- package/tag/Tag.stories.tsx +38 -28
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +23 -14
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +84 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +220 -333
- package/text-input/TextInput.stories.tsx +309 -196
- package/text-input/TextInput.test.js +1723 -0
- package/text-input/types.d.ts +51 -13
- package/textarea/Textarea.js +23 -30
- package/textarea/Textarea.stories.jsx +96 -15
- package/textarea/Textarea.test.js +437 -0
- package/textarea/types.d.ts +18 -11
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +12 -8
- package/toggle-group/ToggleGroup.stories.tsx +46 -4
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +10 -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 +3 -3
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +20 -0
- 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.d.ts +1 -1
- package/wizard/Wizard.js +59 -55
- package/wizard/Wizard.stories.tsx +48 -19
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +8 -4
- package/ThemeContext.d.ts +0 -15
- package/ThemeContext.js +0 -243
- package/V3Select/V3Select.js +0 -455
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -260
- package/V3Textarea/index.d.ts +0 -27
- package/common/RequiredComponent.js +0 -32
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- package/list/List.d.ts +0 -8
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/types.d.ts +0 -54
- package/row/Row.d.ts +0 -11
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -239
- package/stack/Stack.d.ts +0 -10
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -166
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- package/toggle/Toggle.js +0 -186
- package/toggle/index.d.ts +0 -21
- package/upload/Upload.js +0 -201
- package/upload/buttons-upload/ButtonsUpload.js +0 -111
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -115
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -109
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -104
- package/upload/transactions/Transactions.js +0 -94
- /package/{radio → badge}/types.js +0 -0
package/footer/Footer.js
CHANGED
|
@@ -13,21 +13,21 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
|
13
13
|
|
|
14
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
15
|
|
|
16
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
-
|
|
18
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
17
|
|
|
20
18
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
19
|
|
|
22
|
-
var _variables = require("../common/variables
|
|
20
|
+
var _variables = require("../common/variables");
|
|
23
21
|
|
|
24
22
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
25
23
|
|
|
24
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
25
|
+
|
|
26
26
|
var _BackgroundColorContext = require("../BackgroundColorContext");
|
|
27
27
|
|
|
28
28
|
var _Icons = require("./Icons");
|
|
29
29
|
|
|
30
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
|
|
30
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14;
|
|
31
31
|
|
|
32
32
|
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); }
|
|
33
33
|
|
|
@@ -36,31 +36,14 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
36
36
|
var DxcFooter = function DxcFooter(_ref) {
|
|
37
37
|
var socialLinks = _ref.socialLinks,
|
|
38
38
|
bottomLinks = _ref.bottomLinks,
|
|
39
|
-
|
|
40
|
-
copyright = _ref$copyright === void 0 ? "\xA9 DXC Technology ".concat(new Date().getFullYear(), ". All rights reserved.") : _ref$copyright,
|
|
39
|
+
copyright = _ref.copyright,
|
|
41
40
|
children = _ref.children,
|
|
42
41
|
padding = _ref.padding,
|
|
43
42
|
margin = _ref.margin,
|
|
44
43
|
_ref$tabIndex = _ref.tabIndex,
|
|
45
44
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
46
|
-
var ref = (0, _react.useRef)(null);
|
|
47
|
-
|
|
48
|
-
var _useState = (0, _react.useState)(),
|
|
49
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
50
|
-
refSize = _useState2[0],
|
|
51
|
-
setRefSize = _useState2[1];
|
|
52
|
-
|
|
53
|
-
var _useState3 = (0, _react.useState)(false),
|
|
54
|
-
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
55
|
-
isResponsiveTablet = _useState4[0],
|
|
56
|
-
setIsResponsiveTablet = _useState4[1];
|
|
57
|
-
|
|
58
|
-
var _useState5 = (0, _react.useState)(false),
|
|
59
|
-
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
60
|
-
isResponsivePhone = _useState6[0],
|
|
61
|
-
setIsResponsivePhone = _useState6[1];
|
|
62
|
-
|
|
63
45
|
var colorsTheme = (0, _useTheme["default"])();
|
|
46
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
64
47
|
var footerLogo = (0, _react.useMemo)(function () {
|
|
65
48
|
if (!colorsTheme.footer.logo) {
|
|
66
49
|
return _Icons.dxcLogo;
|
|
@@ -68,42 +51,13 @@ var DxcFooter = function DxcFooter(_ref) {
|
|
|
68
51
|
|
|
69
52
|
if (typeof colorsTheme.footer.logo === "string") {
|
|
70
53
|
return /*#__PURE__*/_react["default"].createElement(LogoImg, {
|
|
71
|
-
alt:
|
|
54
|
+
alt: translatedLabels.formFields.logoAlternativeText,
|
|
72
55
|
src: colorsTheme.footer.logo
|
|
73
56
|
});
|
|
74
57
|
}
|
|
75
58
|
|
|
76
59
|
return colorsTheme.footer.logo;
|
|
77
60
|
}, [colorsTheme.footer.logo]);
|
|
78
|
-
|
|
79
|
-
var handleResize = function handleResize(refWidth) {
|
|
80
|
-
if (ref.current) {
|
|
81
|
-
setRefSize(refWidth);
|
|
82
|
-
|
|
83
|
-
if (refWidth <= _variables.responsiveSizes.tablet && refWidth > _variables.responsiveSizes.mobileLarge) {
|
|
84
|
-
setIsResponsiveTablet(true);
|
|
85
|
-
setIsResponsivePhone(false);
|
|
86
|
-
} else if (refWidth <= _variables.responsiveSizes.tablet && refWidth <= _variables.responsiveSizes.mobileLarge) {
|
|
87
|
-
setIsResponsivePhone(true);
|
|
88
|
-
setIsResponsiveTablet(false);
|
|
89
|
-
} else {
|
|
90
|
-
setIsResponsiveTablet(false);
|
|
91
|
-
setIsResponsivePhone(false);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
var handleEventListener = function handleEventListener() {
|
|
97
|
-
handleResize(ref.current.offsetWidth);
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
(0, _react.useEffect)(function () {
|
|
101
|
-
window.addEventListener("resize", handleEventListener);
|
|
102
|
-
handleResize(ref.current.offsetWidth);
|
|
103
|
-
return function () {
|
|
104
|
-
window.removeEventListener("resize", handleEventListener);
|
|
105
|
-
};
|
|
106
|
-
}, []);
|
|
107
61
|
var socialLink = socialLinks === null || socialLinks === void 0 ? void 0 : socialLinks.map(function (link, index) {
|
|
108
62
|
return /*#__PURE__*/_react["default"].createElement(SocialAnchor, {
|
|
109
63
|
tabIndex: tabIndex,
|
|
@@ -120,39 +74,22 @@ var DxcFooter = function DxcFooter(_ref) {
|
|
|
120
74
|
}, /*#__PURE__*/_react["default"].createElement(BottomLink, {
|
|
121
75
|
tabIndex: tabIndex,
|
|
122
76
|
href: link && link.href ? link.href : ""
|
|
123
|
-
}, link && link.text ? link.text : ""), /*#__PURE__*/_react["default"].createElement(Point,
|
|
124
|
-
index: index
|
|
125
|
-
}, "\xB7"));
|
|
77
|
+
}, link && link.text ? link.text : ""), /*#__PURE__*/_react["default"].createElement(Point, null, "\xB7"));
|
|
126
78
|
});
|
|
127
79
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
128
80
|
theme: colorsTheme.footer
|
|
129
81
|
}, /*#__PURE__*/_react["default"].createElement(FooterContainer, {
|
|
130
|
-
margin: margin
|
|
131
|
-
|
|
132
|
-
ref: ref
|
|
133
|
-
}, /*#__PURE__*/_react["default"].createElement(FooterHeader, null, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, footerLogo), /*#__PURE__*/_react["default"].createElement("div", null, socialLink)), isResponsivePhone && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(FooterFooter, {
|
|
134
|
-
className: "footerFooter",
|
|
135
|
-
refSize: refSize
|
|
136
|
-
}, /*#__PURE__*/_react["default"].createElement(BottomLinks, {
|
|
137
|
-
refSize: refSize
|
|
138
|
-
}, bottomLink), /*#__PURE__*/_react["default"].createElement(Copyright, {
|
|
139
|
-
refSize: refSize
|
|
140
|
-
}, copyright))), (!isResponsiveTablet && !isResponsivePhone || isResponsiveTablet) && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(ChildComponents, {
|
|
82
|
+
margin: margin
|
|
83
|
+
}, /*#__PURE__*/_react["default"].createElement(FooterHeader, null, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, footerLogo), /*#__PURE__*/_react["default"].createElement(SocialLinkContainer, null, socialLink)), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(ChildComponents, {
|
|
141
84
|
padding: padding
|
|
142
85
|
}, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
|
|
143
86
|
color: colorsTheme.footer.backgroundColor
|
|
144
87
|
}, children)), /*#__PURE__*/_react["default"].createElement(FooterFooter, {
|
|
145
88
|
className: "footerFooter"
|
|
146
|
-
}, /*#__PURE__*/_react["default"].createElement(BottomLinks,
|
|
147
|
-
refSize: refSize
|
|
148
|
-
}, bottomLink), /*#__PURE__*/_react["default"].createElement(Copyright, {
|
|
149
|
-
refSize: refSize
|
|
150
|
-
}, copyright)))));
|
|
89
|
+
}, /*#__PURE__*/_react["default"].createElement(BottomLinks, null, bottomLink), /*#__PURE__*/_react["default"].createElement(Copyright, null, copyright || translatedLabels.footer.copyrightText(new Date().getFullYear()))))));
|
|
151
90
|
};
|
|
152
91
|
|
|
153
|
-
var FooterContainer = _styledComponents["default"].footer(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding: ", ";\n background-color: ", ";\n margin-top: ", ";\n width: 100%;\n box-sizing: border-box;\n min-height: ", ";\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n"])), function (props) {
|
|
154
|
-
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "20px 20px 20px 20px" : "24px 36px 24px 36px";
|
|
155
|
-
}, function (props) {
|
|
92
|
+
var FooterContainer = _styledComponents["default"].footer(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n @media (min-width: ", "rem) {\n padding: 24px 36px 24px 36px;\n }\n\n @media (max-width: ", "rem) {\n padding: 20px;\n }\n\n background-color: ", ";\n margin-top: ", ";\n width: 100%;\n box-sizing: border-box;\n min-height: ", ";\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n"])), _variables.responsiveSizes.small, _variables.responsiveSizes.small, function (props) {
|
|
156
93
|
return props.theme.backgroundColor;
|
|
157
94
|
}, function (props) {
|
|
158
95
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
@@ -160,27 +97,17 @@ var FooterContainer = _styledComponents["default"].footer(_templateObject || (_t
|
|
|
160
97
|
return props.theme.height;
|
|
161
98
|
});
|
|
162
99
|
|
|
163
|
-
var FooterHeader = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n"])));
|
|
100
|
+
var FooterHeader = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n row-gap: 24px;\n"])));
|
|
164
101
|
|
|
165
|
-
var FooterFooter = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n
|
|
166
|
-
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "column" : "row";
|
|
167
|
-
}, function (props) {
|
|
168
|
-
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "center" : "";
|
|
169
|
-
}, function (props) {
|
|
102
|
+
var FooterFooter = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n\n @media (min-width: ", "rem) {\n flex-direction: row;\n }\n\n @media (max-width: ", "rem) {\n flex-direction: column;\n align-items: center;\n }\n\n border-top: ", ";\n margin-top: 16px;\n"])), _variables.responsiveSizes.small, _variables.responsiveSizes.small, function (props) {
|
|
170
103
|
return "".concat(props.theme.bottomLinksDividerThickness, " ").concat(props.theme.bottomLinksDividerStyle, " ").concat(props.theme.bottomLinksDividerColor);
|
|
171
104
|
});
|
|
172
105
|
|
|
173
|
-
var BottomLinks = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding-top: ", ";\n display: inline-flex;\n flex-wrap: wrap;\n
|
|
106
|
+
var BottomLinks = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding-top: ", ";\n display: inline-flex;\n flex-wrap: wrap;\n\n @media (min-width: ", "rem) {\n max-width: 60%;\n }\n\n @media (max-width: ", "rem) {\n max-width: 100%;\n width: 100%;\n }\n\n & > span:last-child span {\n display: none;\n }\n align-self: center;\n"])), function (props) {
|
|
174
107
|
return props.theme.bottomLinksDividerSpacing;
|
|
175
|
-
},
|
|
176
|
-
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "60%";
|
|
177
|
-
}, function (props) {
|
|
178
|
-
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "";
|
|
179
|
-
}, function (props) {
|
|
180
|
-
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "40px 0 40px 0" : "";
|
|
181
|
-
});
|
|
108
|
+
}, _variables.responsiveSizes.small, _variables.responsiveSizes.small);
|
|
182
109
|
|
|
183
|
-
var ChildComponents = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n min-height:
|
|
110
|
+
var ChildComponents = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 16px;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n overflow: hidden;\n"])), function (props) {
|
|
184
111
|
return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
|
|
185
112
|
}, function (props) {
|
|
186
113
|
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
|
|
@@ -192,7 +119,7 @@ var ChildComponents = _styledComponents["default"].div(_templateObject5 || (_tem
|
|
|
192
119
|
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
|
|
193
120
|
});
|
|
194
121
|
|
|
195
|
-
var Copyright = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n
|
|
122
|
+
var Copyright = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n\n @media (min-width: ", "rem) {\n max-width: 40%;\n text-align: right;\n }\n\n @media (max-width: ", "rem) {\n max-width: 100%;\n width: 100%;\n text-align: left;\n }\n\n padding-top: ", ";\n"])), function (props) {
|
|
196
123
|
return props.theme.copyrightFontFamily;
|
|
197
124
|
}, function (props) {
|
|
198
125
|
return props.theme.copyrightFontSize;
|
|
@@ -202,13 +129,7 @@ var Copyright = _styledComponents["default"].div(_templateObject6 || (_templateO
|
|
|
202
129
|
return props.theme.copyrightFontWeight;
|
|
203
130
|
}, function (props) {
|
|
204
131
|
return props.theme.copyrightFontColor;
|
|
205
|
-
}, function (props) {
|
|
206
|
-
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "40%";
|
|
207
|
-
}, function (props) {
|
|
208
|
-
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "";
|
|
209
|
-
}, function (props) {
|
|
210
|
-
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "center" : "right";
|
|
211
|
-
}, function (props) {
|
|
132
|
+
}, _variables.responsiveSizes.small, _variables.responsiveSizes.small, function (props) {
|
|
212
133
|
return props.theme.bottomLinksDividerSpacing;
|
|
213
134
|
});
|
|
214
135
|
|
|
@@ -224,13 +145,15 @@ var LogoImg = _styledComponents["default"].img(_templateObject8 || (_templateObj
|
|
|
224
145
|
return props.theme.logoWidth;
|
|
225
146
|
});
|
|
226
147
|
|
|
227
|
-
var
|
|
148
|
+
var SocialLinkContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-self: center;\n"])));
|
|
149
|
+
|
|
150
|
+
var SocialAnchor = _styledComponents["default"].a(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n margin-left: ", ";\n }\n"])), function (props) {
|
|
228
151
|
return props.index === 0 ? "0px" : props.theme.socialLinksGutter;
|
|
229
152
|
});
|
|
230
153
|
|
|
231
|
-
var SocialIconImg = _styledComponents["default"].img(
|
|
154
|
+
var SocialIconImg = _styledComponents["default"].img(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
232
155
|
|
|
233
|
-
var SocialIconContainer = _styledComponents["default"].div(
|
|
156
|
+
var SocialIconContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n height: ", ";\n width: ", ";\n color: ", ";\n }\n\n overflow: hidden;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
234
157
|
return props.theme.socialLinksSize;
|
|
235
158
|
}, function (props) {
|
|
236
159
|
return props.theme.socialLinksSize;
|
|
@@ -238,11 +161,11 @@ var SocialIconContainer = _styledComponents["default"].div(_templateObject11 ||
|
|
|
238
161
|
return props.theme.socialLinksColor;
|
|
239
162
|
});
|
|
240
163
|
|
|
241
|
-
var Point = _styledComponents["default"].span(
|
|
164
|
+
var Point = _styledComponents["default"].span(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0px 10px;\n color: ", ";\n"])), function (props) {
|
|
242
165
|
return props.theme.bottomLinksFontColor;
|
|
243
166
|
});
|
|
244
167
|
|
|
245
|
-
var BottomLink = _styledComponents["default"].a(
|
|
168
|
+
var BottomLink = _styledComponents["default"].a(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
246
169
|
return props.theme.bottomLinksTextDecoration;
|
|
247
170
|
}, function (props) {
|
|
248
171
|
return props.theme.bottomLinksFontColor;
|
|
@@ -2,6 +2,7 @@ import React from "react";
|
|
|
2
2
|
import DxcFooter from "./Footer";
|
|
3
3
|
import Title from "../../.storybook/components/Title";
|
|
4
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
5
6
|
|
|
6
7
|
const social = [
|
|
7
8
|
{
|
|
@@ -28,7 +29,14 @@ const social = [
|
|
|
28
29
|
},
|
|
29
30
|
{
|
|
30
31
|
href: "https://twitter.com/dxctechnology",
|
|
31
|
-
logo:
|
|
32
|
+
logo: (
|
|
33
|
+
<svg viewBox="0 0 248 204" fill="currentColor">
|
|
34
|
+
<path
|
|
35
|
+
fill="#1d9bf0"
|
|
36
|
+
d="M221.95 51.29c.15 2.17.15 4.34.15 6.53 0 66.73-50.8 143.69-143.69 143.69v-.04c-27.44.04-54.31-7.82-77.41-22.64 3.99.48 8 .72 12.02.73 22.74.02 44.83-7.61 62.72-21.66-21.61-.41-40.56-14.5-47.18-35.07 7.57 1.46 15.37 1.16 22.8-.87-23.56-4.76-40.51-25.46-40.51-49.5v-.64c7.02 3.91 14.88 6.08 22.92 6.32C11.58 63.31 4.74 33.79 18.14 10.71c25.64 31.55 63.47 50.73 104.08 52.76-4.07-17.54 1.49-35.92 14.61-48.25 20.34-19.12 52.33-18.14 71.45 2.19 11.31-2.23 22.15-6.38 32.07-12.26-3.77 11.69-11.66 21.62-22.2 27.93 10.01-1.18 19.79-3.86 29-7.95-6.78 10.16-15.32 19.01-25.2 26.16z"
|
|
37
|
+
/>
|
|
38
|
+
</svg>
|
|
39
|
+
),
|
|
32
40
|
},
|
|
33
41
|
{
|
|
34
42
|
href: "https://www.facebook.com/DXCTechnology/",
|
|
@@ -78,6 +86,86 @@ export default {
|
|
|
78
86
|
component: DxcFooter,
|
|
79
87
|
};
|
|
80
88
|
|
|
89
|
+
const opinionatedTheme = {
|
|
90
|
+
footer: {
|
|
91
|
+
baseColor: "#000000",
|
|
92
|
+
fontColor: "#ffffff",
|
|
93
|
+
accentColor: "#0095ff",
|
|
94
|
+
logo: (
|
|
95
|
+
<svg id="g10" xmlns="http://www.w3.org/2000/svg" width="280.781" height="32" viewBox="0 0 280.781 32">
|
|
96
|
+
<g id="g12">
|
|
97
|
+
<path
|
|
98
|
+
id="path14"
|
|
99
|
+
d="M171.5-54.124v12.539h-3.6V-54.124h-4.973v-3.191h13.54v3.191H171.5"
|
|
100
|
+
transform="translate(-68.528 65.45)"
|
|
101
|
+
fill="#fff"
|
|
102
|
+
/>
|
|
103
|
+
<path
|
|
104
|
+
id="path16"
|
|
105
|
+
d="M189.96-41.585V-57.315h12.326v3.079h-8.753v3.191h7.7v3.078h-7.7v3.3h8.87v3.078H189.96"
|
|
106
|
+
transform="translate(-77.56 65.45)"
|
|
107
|
+
fill="#fff"
|
|
108
|
+
/>
|
|
109
|
+
<path
|
|
110
|
+
id="path18"
|
|
111
|
+
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"
|
|
112
|
+
transform="translate(-86.019 65.583)"
|
|
113
|
+
fill="#fff"
|
|
114
|
+
/>
|
|
115
|
+
<path
|
|
116
|
+
id="path20"
|
|
117
|
+
d="M254.988-41.585V-47.9h-6.63v6.315h-3.6V-57.315h3.6v6.225h6.63v-6.225h3.594v15.731h-3.594"
|
|
118
|
+
transform="translate(-95.903 65.45)"
|
|
119
|
+
fill="#fff"
|
|
120
|
+
/>
|
|
121
|
+
<path
|
|
122
|
+
id="path22"
|
|
123
|
+
d="M285.991-41.585l-7.914-10v10h-3.549V-57.315h3.316l7.657,9.685v-9.685h3.549v15.731h-3.058"
|
|
124
|
+
transform="translate(-105.869 65.45)"
|
|
125
|
+
fill="#fff"
|
|
126
|
+
/>
|
|
127
|
+
<path
|
|
128
|
+
id="path24"
|
|
129
|
+
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"
|
|
130
|
+
transform="translate(-115.631 65.583)"
|
|
131
|
+
fill="#fff"
|
|
132
|
+
/>
|
|
133
|
+
<path
|
|
134
|
+
id="path26"
|
|
135
|
+
d="M336.786-41.585V-57.315h3.6v12.584h8.148v3.146H336.786"
|
|
136
|
+
transform="translate(-126.654 65.45)"
|
|
137
|
+
fill="#fff"
|
|
138
|
+
/>
|
|
139
|
+
<path
|
|
140
|
+
id="path28"
|
|
141
|
+
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"
|
|
142
|
+
transform="translate(-135.016 65.583)"
|
|
143
|
+
fill="#fff"
|
|
144
|
+
/>
|
|
145
|
+
<path
|
|
146
|
+
id="path30"
|
|
147
|
+
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"
|
|
148
|
+
transform="translate(-145.284 65.583)"
|
|
149
|
+
fill="#fff"
|
|
150
|
+
/>
|
|
151
|
+
<path
|
|
152
|
+
id="path32"
|
|
153
|
+
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"
|
|
154
|
+
transform="translate(-154.162 65.45)"
|
|
155
|
+
fill="#fff"
|
|
156
|
+
/>
|
|
157
|
+
<path
|
|
158
|
+
id="path34"
|
|
159
|
+
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"
|
|
160
|
+
transform="translate(-21.08 69.298)"
|
|
161
|
+
fill="#fff"
|
|
162
|
+
/>
|
|
163
|
+
</g>
|
|
164
|
+
</svg>
|
|
165
|
+
),
|
|
166
|
+
},
|
|
167
|
+
};
|
|
168
|
+
|
|
81
169
|
export const Chromatic = () => (
|
|
82
170
|
<>
|
|
83
171
|
<ExampleContainer>
|
|
@@ -126,5 +214,15 @@ export const Chromatic = () => (
|
|
|
126
214
|
<Title title="Xxlarge padding" theme="light" level={4} />
|
|
127
215
|
<DxcFooter padding="xxlarge"></DxcFooter>
|
|
128
216
|
</ExampleContainer>
|
|
217
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
218
|
+
<ExampleContainer>
|
|
219
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
220
|
+
<DxcFooter copyright="Copyright" socialLinks={social} bottomLinks={bottom}>
|
|
221
|
+
<div>
|
|
222
|
+
<a href="https://www.linkedin.com/company/dxctechnology">Linkedin</a>
|
|
223
|
+
</div>
|
|
224
|
+
</DxcFooter>
|
|
225
|
+
</HalstackProvider>
|
|
226
|
+
</ExampleContainer>
|
|
129
227
|
</>
|
|
130
228
|
);
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
var _Footer = _interopRequireDefault(require("./Footer.tsx"));
|
|
10
|
+
|
|
11
|
+
var social = [{
|
|
12
|
+
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"
|
|
14
|
+
}];
|
|
15
|
+
var bottom = [{
|
|
16
|
+
href: "https://www.test.com/bottom",
|
|
17
|
+
text: "bottom-link-text"
|
|
18
|
+
}];
|
|
19
|
+
describe("Footer component tests", function () {
|
|
20
|
+
test("Footer renders with default logo", function () {
|
|
21
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], null)),
|
|
22
|
+
getByTitle = _render.getByTitle;
|
|
23
|
+
|
|
24
|
+
expect(getByTitle("DXC Logo")).toBeTruthy();
|
|
25
|
+
});
|
|
26
|
+
test("Footer renders with social links", function () {
|
|
27
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
|
|
28
|
+
socialLinks: social
|
|
29
|
+
})),
|
|
30
|
+
getByRole = _render2.getByRole;
|
|
31
|
+
|
|
32
|
+
var socialIcon = getByRole("link");
|
|
33
|
+
expect(socialIcon.getAttribute("href")).toBe("https://www.test.com/social");
|
|
34
|
+
});
|
|
35
|
+
test("Footer renders with bottom links", function () {
|
|
36
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
|
|
37
|
+
bottomLinks: bottom
|
|
38
|
+
})),
|
|
39
|
+
getByText = _render3.getByText;
|
|
40
|
+
|
|
41
|
+
var link = getByText("bottom-link-text");
|
|
42
|
+
expect(link.getAttribute("href")).toBe("https://www.test.com/bottom");
|
|
43
|
+
});
|
|
44
|
+
test("Footer renders with copyright text", function () {
|
|
45
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
|
|
46
|
+
copyright: "test-copyright"
|
|
47
|
+
})),
|
|
48
|
+
getByText = _render4.getByText;
|
|
49
|
+
|
|
50
|
+
expect(getByText("test-copyright")).toBeTruthy();
|
|
51
|
+
});
|
|
52
|
+
test("Footer renders with correct children", function () {
|
|
53
|
+
// We need to force the offsetWidth value
|
|
54
|
+
Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
|
|
55
|
+
configurable: true,
|
|
56
|
+
value: 1024
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], null, /*#__PURE__*/_react["default"].createElement("p", null, "footer-child-text"))),
|
|
60
|
+
getByText = _render5.getByText;
|
|
61
|
+
|
|
62
|
+
expect(getByText("footer-child-text")).toBeTruthy();
|
|
63
|
+
});
|
|
64
|
+
test("Footer renders with children in mobile", function () {
|
|
65
|
+
// 425 is mobile width
|
|
66
|
+
Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
|
|
67
|
+
configurable: true,
|
|
68
|
+
value: 425
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], null, /*#__PURE__*/_react["default"].createElement("p", null, "footer-child-text"))),
|
|
72
|
+
queryByText = _render6.queryByText;
|
|
73
|
+
|
|
74
|
+
expect(queryByText("footer-child-text")).toBeTruthy();
|
|
75
|
+
});
|
|
76
|
+
test("Footer is fully rendered", function () {
|
|
77
|
+
Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
|
|
78
|
+
configurable: true,
|
|
79
|
+
value: 1024
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
|
|
83
|
+
socialLinks: social,
|
|
84
|
+
bottomLinks: bottom,
|
|
85
|
+
copyright: "test-copyright"
|
|
86
|
+
}, /*#__PURE__*/_react["default"].createElement("p", null, "footer-child-text"))),
|
|
87
|
+
getAllByRole = _render7.getAllByRole,
|
|
88
|
+
getByText = _render7.getByText;
|
|
89
|
+
|
|
90
|
+
var socialIcon = getAllByRole("link")[0];
|
|
91
|
+
expect(socialIcon.getAttribute("href")).toBe("https://www.test.com/social");
|
|
92
|
+
var bottomLink = getByText("bottom-link-text");
|
|
93
|
+
expect(bottomLink.getAttribute("href")).toBe("https://www.test.com/bottom");
|
|
94
|
+
expect(getByText("test-copyright")).toBeTruthy();
|
|
95
|
+
expect(getByText("footer-child-text")).toBeTruthy();
|
|
96
|
+
});
|
|
97
|
+
});
|
package/footer/Icons.js
CHANGED
|
@@ -12,7 +12,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
12
12
|
var dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
13
13
|
id: "g10",
|
|
14
14
|
xmlns: "http://www.w3.org/2000/svg",
|
|
15
|
-
width: "
|
|
15
|
+
width: "100%",
|
|
16
16
|
height: "32",
|
|
17
17
|
viewBox: "0 0 280.781 32"
|
|
18
18
|
}, /*#__PURE__*/_react["default"].createElement("title", null, "DXC Logo"), /*#__PURE__*/_react["default"].createElement("g", {
|
package/footer/types.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ declare type Size = {
|
|
|
6
6
|
left?: Space;
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
|
-
declare type SVG = React.SVGProps<SVGSVGElement>;
|
|
9
|
+
declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
10
10
|
declare type SocialLink = {
|
|
11
11
|
/**
|
|
12
12
|
* Element used as the icon for the link.
|
|
@@ -57,6 +57,7 @@ declare type FooterPropsType = {
|
|
|
57
57
|
*/
|
|
58
58
|
margin?: Space | Size;
|
|
59
59
|
/**
|
|
60
|
+
* @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
|
|
60
61
|
* Size of the padding to be applied to the custom area of the component.
|
|
61
62
|
* You can pass an object with properties in order to specify different padding sizes.
|
|
62
63
|
*/
|
package/grid/Grid.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import GridPropsType, { GridItemProps } from "./types";
|
|
3
|
+
declare const DxcGrid: {
|
|
4
|
+
(props: GridPropsType): JSX.Element;
|
|
5
|
+
GridItem: import("styled-components").StyledComponent<"div", any, GridItemProps, never>;
|
|
6
|
+
};
|
|
7
|
+
export default DxcGrid;
|
package/grid/Grid.js
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
15
|
+
|
|
16
|
+
var _templateObject, _templateObject2;
|
|
17
|
+
|
|
18
|
+
var DxcGrid = function DxcGrid(props) {
|
|
19
|
+
return /*#__PURE__*/_react["default"].createElement(Grid, props);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
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
|
+
var templateColumns = _ref.templateColumns;
|
|
24
|
+
return templateColumns && "grid-template-columns: ".concat(templateColumns.join(" "), ";");
|
|
25
|
+
}, function (_ref2) {
|
|
26
|
+
var templateRows = _ref2.templateRows;
|
|
27
|
+
return templateRows && "grid-template-rows: ".concat(templateRows.join(" "), ";");
|
|
28
|
+
}, function (_ref3) {
|
|
29
|
+
var templateAreas = _ref3.templateAreas;
|
|
30
|
+
return templateAreas && "grid-template-areas: ".concat(templateAreas.map(function (row) {
|
|
31
|
+
return "\"".concat(row, "\"");
|
|
32
|
+
}).join(" "), ";");
|
|
33
|
+
}, function (_ref4) {
|
|
34
|
+
var autoColumns = _ref4.autoColumns;
|
|
35
|
+
return autoColumns && "grid-auto-columns: ".concat(autoColumns, ";");
|
|
36
|
+
}, function (_ref5) {
|
|
37
|
+
var autoRows = _ref5.autoRows;
|
|
38
|
+
return autoRows && "grid-auto-rows: ".concat(autoRows, ";");
|
|
39
|
+
}, function (_ref6) {
|
|
40
|
+
var autoFlow = _ref6.autoFlow;
|
|
41
|
+
return autoFlow && "grid-auto-flow: ".concat(autoFlow, ";");
|
|
42
|
+
}, function (_ref7) {
|
|
43
|
+
var _gap$rowGap, _gap$columnGap;
|
|
44
|
+
|
|
45
|
+
var gap = _ref7.gap;
|
|
46
|
+
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
|
+
}, function (_ref8) {
|
|
48
|
+
var _placeItems$alignItem, _placeItems$justifyIt;
|
|
49
|
+
|
|
50
|
+
var placeItems = _ref8.placeItems;
|
|
51
|
+
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
|
+
}, function (_ref9) {
|
|
53
|
+
var _placeContent$alignCo, _placeContent$justify;
|
|
54
|
+
|
|
55
|
+
var placeContent = _ref9.placeContent;
|
|
56
|
+
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
|
+
}, function (_ref10) {
|
|
58
|
+
var areaName = _ref10.areaName;
|
|
59
|
+
return areaName && "grid-area: ".concat(areaName, ";");
|
|
60
|
+
}, function (_ref11) {
|
|
61
|
+
var column = _ref11.column;
|
|
62
|
+
return column && "grid-column: ".concat(typeof column === "string" || typeof column === "number" ? column : "".concat(column.start, " / ").concat(column.end, ";"), ";");
|
|
63
|
+
}, function (_ref12) {
|
|
64
|
+
var row = _ref12.row;
|
|
65
|
+
return row && "grid-row: ".concat(typeof row === "string" || typeof row === "number" ? row : "".concat(row.start, " / ").concat(row.end, ";"), ";");
|
|
66
|
+
}, function (_ref13) {
|
|
67
|
+
var _placeSelf$alignSelf, _placeSelf$justifySel;
|
|
68
|
+
|
|
69
|
+
var placeSelf = _ref13.placeSelf;
|
|
70
|
+
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
|
+
});
|
|
72
|
+
|
|
73
|
+
var GridItem = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n ", "\n ", "\n ", "\n"])), function (_ref14) {
|
|
74
|
+
var areaName = _ref14.areaName;
|
|
75
|
+
return areaName && "grid-area: ".concat(areaName, ";");
|
|
76
|
+
}, function (_ref15) {
|
|
77
|
+
var column = _ref15.column;
|
|
78
|
+
return column && "grid-column: ".concat(typeof column === "string" || typeof column === "number" ? column : "".concat(column.start, " / ").concat(column.end, ";"), ";");
|
|
79
|
+
}, function (_ref16) {
|
|
80
|
+
var row = _ref16.row;
|
|
81
|
+
return row && "grid-row: ".concat(typeof row === "string" || typeof row === "number" ? row : "".concat(row.start, " / ").concat(row.end, ";"), ";");
|
|
82
|
+
}, function (_ref17) {
|
|
83
|
+
var _placeSelf$alignSelf2, _placeSelf$justifySel2;
|
|
84
|
+
|
|
85
|
+
var placeSelf = _ref17.placeSelf;
|
|
86
|
+
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
|
+
});
|
|
88
|
+
|
|
89
|
+
DxcGrid.GridItem = GridItem;
|
|
90
|
+
var _default = DxcGrid;
|
|
91
|
+
exports["default"] = _default;
|