@dxc-technology/halstack-react 0.0.0-7550efd → 0.0.0-757bc34
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 +3 -3
- package/BackgroundColorContext.js +6 -18
- package/HalstackContext.d.ts +1347 -6
- package/HalstackContext.js +125 -110
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +116 -157
- package/accordion/Accordion.stories.tsx +101 -125
- package/accordion/Accordion.test.js +25 -41
- package/accordion/types.d.ts +5 -16
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +30 -98
- package/accordion-group/AccordionGroup.stories.tsx +94 -67
- package/accordion-group/AccordionGroup.test.js +52 -105
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/types.d.ts +11 -16
- package/alert/Alert.js +19 -55
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +29 -46
- package/alert/types.d.ts +5 -5
- package/badge/Badge.js +4 -17
- package/badge/types.d.ts +1 -1
- package/bleed/Bleed.js +13 -21
- package/bleed/Bleed.stories.tsx +1 -0
- package/bleed/types.d.ts +2 -2
- package/box/Box.d.ts +1 -1
- package/box/Box.js +18 -56
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +2 -7
- package/box/types.d.ts +3 -14
- package/bulleted-list/BulletedList.js +11 -35
- package/bulleted-list/BulletedList.stories.tsx +8 -92
- package/bulleted-list/types.d.ts +32 -5
- package/button/Button.d.ts +1 -1
- package/button/Button.js +65 -100
- package/button/Button.stories.tsx +152 -91
- package/button/Button.test.js +18 -17
- package/button/types.d.ts +8 -4
- package/card/Card.d.ts +1 -1
- package/card/Card.js +48 -89
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +11 -22
- package/card/types.d.ts +6 -11
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +141 -178
- package/checkbox/Checkbox.stories.tsx +128 -94
- package/checkbox/Checkbox.test.js +160 -39
- package/checkbox/types.d.ts +11 -3
- package/chip/Chip.js +39 -79
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +16 -31
- package/chip/types.d.ts +4 -4
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +237 -0
- package/common/coreTokens.js +184 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +6 -12
- package/common/variables.d.ts +1499 -0
- package/common/variables.js +1008 -1145
- package/container/Container.d.ts +4 -0
- package/container/Container.js +198 -0
- package/container/Container.stories.tsx +229 -0
- package/container/types.d.ts +74 -0
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.js +150 -299
- package/date-input/DateInput.stories.tsx +203 -56
- package/date-input/DateInput.test.js +700 -371
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +115 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +58 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +72 -15
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +61 -116
- package/dialog/Dialog.stories.tsx +320 -166
- package/dialog/Dialog.test.js +269 -32
- package/dialog/types.d.ts +18 -25
- package/dropdown/Dropdown.js +72 -125
- package/dropdown/Dropdown.stories.tsx +210 -84
- package/dropdown/Dropdown.test.js +410 -402
- package/dropdown/DropdownMenu.js +20 -37
- package/dropdown/DropdownMenuItem.js +10 -35
- package/dropdown/types.d.ts +17 -19
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +241 -355
- package/file-input/FileInput.stories.tsx +123 -12
- package/file-input/FileInput.test.js +369 -367
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +45 -96
- package/file-input/types.d.ts +25 -8
- package/flex/Flex.d.ts +1 -1
- package/flex/Flex.js +40 -40
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +84 -8
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +53 -104
- package/footer/Footer.stories.tsx +41 -19
- package/footer/Footer.test.js +33 -57
- package/footer/Icons.d.ts +2 -2
- package/footer/Icons.js +2 -7
- package/footer/types.d.ts +21 -28
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +76 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +41 -116
- package/header/Header.stories.tsx +118 -39
- package/header/Header.test.js +13 -26
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +2 -7
- package/header/types.d.ts +5 -19
- package/heading/Heading.js +10 -32
- package/heading/Heading.test.js +71 -88
- package/heading/types.d.ts +7 -7
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/inset/Inset.js +13 -21
- package/inset/Inset.stories.tsx +2 -1
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +5 -5
- 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/SidenavContext.d.ts +1 -1
- package/layout/SidenavContext.js +3 -9
- package/layout/types.d.ts +5 -6
- package/link/Link.js +25 -46
- package/link/Link.stories.tsx +60 -0
- package/link/Link.test.js +24 -44
- package/link/types.d.ts +14 -14
- package/main.d.ts +6 -3
- package/main.js +25 -51
- package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
- package/{tabs-nav → nav-tabs}/NavTabs.js +17 -52
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +111 -7
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +37 -44
- package/nav-tabs/Tab.js +117 -0
- package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +26 -35
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +701 -377
- package/number-input/types.d.ts +11 -5
- package/package.json +37 -40
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +21 -47
- package/paginator/Paginator.js +22 -55
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +253 -226
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +6 -17
- 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 -32
- package/password-input/PasswordInput.test.js +160 -142
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +21 -47
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
- package/progress-bar/ProgressBar.test.js +36 -53
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.js +15 -39
- package/quick-nav/QuickNav.stories.tsx +112 -20
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +59 -76
- package/radio-group/RadioGroup.js +59 -105
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +518 -457
- package/radio-group/types.d.ts +10 -10
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.js +159 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +50 -25
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +101 -144
- package/{resultsetTable → resultset-table}/types.d.ts +7 -7
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +7 -7
- package/select/Icons.js +1 -5
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +17 -73
- package/select/Option.js +20 -50
- package/select/Select.js +95 -156
- package/select/Select.stories.tsx +497 -153
- package/select/Select.test.js +1934 -1775
- package/select/types.d.ts +16 -17
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +47 -0
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +80 -149
- package/sidenav/Sidenav.stories.tsx +165 -63
- package/sidenav/Sidenav.test.js +3 -10
- package/sidenav/types.d.ts +31 -28
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +57 -96
- package/slider/Slider.test.js +108 -104
- package/slider/types.d.ts +7 -3
- package/spinner/Spinner.js +27 -63
- package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
- package/spinner/Spinner.test.js +26 -35
- package/spinner/types.d.ts +3 -3
- package/switch/Switch.d.ts +3 -3
- package/switch/Switch.js +112 -144
- package/switch/Switch.stories.tsx +33 -34
- package/switch/Switch.test.js +70 -102
- package/switch/types.d.ts +8 -3
- package/table/Table.js +7 -26
- package/table/{Table.stories.jsx → Table.stories.tsx} +80 -1
- package/table/Table.test.js +3 -8
- package/table/types.d.ts +8 -8
- package/tabs/Tab.js +22 -44
- package/tabs/Tabs.js +59 -141
- package/tabs/Tabs.stories.tsx +45 -5
- package/tabs/Tabs.test.js +66 -123
- package/tabs/types.d.ts +19 -19
- package/tag/Tag.js +29 -61
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +20 -31
- package/tag/types.d.ts +7 -7
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +56 -0
- package/text-input/Suggestion.js +40 -28
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +89 -0
- package/text-input/TextInput.js +272 -441
- package/text-input/TextInput.stories.tsx +266 -274
- package/text-input/TextInput.test.js +1402 -1375
- package/text-input/types.d.ts +43 -16
- package/textarea/Textarea.js +63 -100
- package/textarea/Textarea.stories.tsx +175 -0
- package/textarea/Textarea.test.js +152 -183
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +95 -106
- package/toggle-group/ToggleGroup.stories.tsx +49 -4
- package/toggle-group/ToggleGroup.test.js +69 -88
- package/toggle-group/types.d.ts +26 -17
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +15 -123
- package/typography/Typography.stories.tsx +1 -1
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +1251 -1
- package/useTheme.js +2 -9
- package/useTranslatedLabels.d.ts +84 -1
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +121 -0
- package/wizard/Wizard.js +16 -51
- package/wizard/Wizard.stories.tsx +20 -0
- package/wizard/Wizard.test.js +54 -81
- package/wizard/types.d.ts +8 -9
- package/card/ice-cream.jpg +0 -0
- package/common/RequiredComponent.js +0 -32
- package/number-input/NumberInputContext.d.ts +0 -4
- package/number-input/NumberInputContext.js +0 -19
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/resultsetTable/ResultsetTable.js +0 -254
- package/slider/Slider.stories.tsx +0 -183
- package/tabs-nav/Tab.js +0 -130
- package/textarea/Textarea.stories.jsx +0 -157
- /package/{resultsetTable → container}/types.js +0 -0
- /package/{tabs-nav → grid}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → image/types.js} +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
- /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
package/flex/types.d.ts
CHANGED
|
@@ -1,21 +1,97 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
type Spaces = "0rem" | "0.125rem" | "0.25rem" | "0.5rem" | "1rem" | "1.5rem" | "2rem" | "3rem" | "4rem" | "5rem";
|
|
3
|
+
type Gap = {
|
|
4
|
+
rowGap: Spaces;
|
|
5
|
+
columnGap?: Spaces;
|
|
6
|
+
} | {
|
|
7
|
+
rowGap?: Spaces;
|
|
8
|
+
columnGap: Spaces;
|
|
9
|
+
} | Spaces;
|
|
10
|
+
type CommonProps = {
|
|
11
|
+
/**
|
|
12
|
+
* Sets the justify-content CSS property.
|
|
13
|
+
*
|
|
14
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content
|
|
15
|
+
*/
|
|
9
16
|
justifyContent?: "flex-start" | "flex-end" | "start" | "end" | "left" | "right" | "center" | "space-between" | "space-around" | "space-evenly";
|
|
17
|
+
/**
|
|
18
|
+
* Sets the align-items CSS property.
|
|
19
|
+
*
|
|
20
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/align-items
|
|
21
|
+
*/
|
|
10
22
|
alignItems?: "stretch" | "flex-start" | "flex-end" | "start" | "end" | "self-start" | "self-end" | "center" | "baseline";
|
|
23
|
+
/**
|
|
24
|
+
* Sets the align-content CSS property.
|
|
25
|
+
*
|
|
26
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/align-content
|
|
27
|
+
*/
|
|
11
28
|
alignContent?: "normal" | "flex-start" | "flex-end" | "start" | "end" | "center" | "space-between" | "space-around" | "space-evenly" | "stretch";
|
|
29
|
+
/**
|
|
30
|
+
* Sets the align-self CSS property.
|
|
31
|
+
*
|
|
32
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/align-self
|
|
33
|
+
*/
|
|
12
34
|
alignSelf?: "auto" | "flex-start" | "flex-end" | "center" | "baseline" | "stretch";
|
|
13
|
-
|
|
35
|
+
};
|
|
36
|
+
type Props = CommonProps & {
|
|
37
|
+
/**
|
|
38
|
+
* Sets the flex-direction CSS property.
|
|
39
|
+
*
|
|
40
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-direction
|
|
41
|
+
*/
|
|
42
|
+
direction?: "row" | "row-reverse" | "column" | "column-reverse";
|
|
43
|
+
/**
|
|
44
|
+
* Sets the flex-wrap CSS property.
|
|
45
|
+
*
|
|
46
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-wrap
|
|
47
|
+
*/
|
|
48
|
+
wrap?: "nowrap" | "wrap" | "wrap-reverse";
|
|
49
|
+
/**
|
|
50
|
+
* Sets the gap CSS property.
|
|
51
|
+
*
|
|
52
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/gap
|
|
53
|
+
*/
|
|
54
|
+
gap?: Gap;
|
|
55
|
+
/**
|
|
56
|
+
* Sets the order CSS property.
|
|
57
|
+
*
|
|
58
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/order
|
|
59
|
+
*/
|
|
14
60
|
order?: number;
|
|
61
|
+
/**
|
|
62
|
+
* Sets the flex-grow CSS property.
|
|
63
|
+
*
|
|
64
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-grow
|
|
65
|
+
*/
|
|
15
66
|
grow?: number;
|
|
67
|
+
/**
|
|
68
|
+
* Sets the flex-shrink CSS property.
|
|
69
|
+
*
|
|
70
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-shrink
|
|
71
|
+
*/
|
|
16
72
|
shrink?: number;
|
|
73
|
+
/**
|
|
74
|
+
* Sets the flex-basis CSS property.
|
|
75
|
+
*
|
|
76
|
+
* See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-basis
|
|
77
|
+
*/
|
|
17
78
|
basis?: string;
|
|
79
|
+
/**
|
|
80
|
+
* Sets a custom HTML tag.
|
|
81
|
+
*/
|
|
18
82
|
as?: keyof HTMLElementTagNameMap;
|
|
83
|
+
/**
|
|
84
|
+
* Custom content inside the flex container.
|
|
85
|
+
*/
|
|
19
86
|
children: React.ReactNode;
|
|
20
87
|
};
|
|
88
|
+
export type StyledProps = CommonProps & {
|
|
89
|
+
$direction?: "row" | "row-reverse" | "column" | "column-reverse";
|
|
90
|
+
$wrap?: "nowrap" | "wrap" | "wrap-reverse";
|
|
91
|
+
$gap?: Spaces | Gap;
|
|
92
|
+
$order?: number;
|
|
93
|
+
$grow?: number;
|
|
94
|
+
$shrink?: number;
|
|
95
|
+
$basis?: string;
|
|
96
|
+
};
|
|
21
97
|
export default Props;
|
package/footer/Footer.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import FooterPropsType from "./types";
|
|
3
|
-
declare const DxcFooter: ({ socialLinks, bottomLinks, copyright, children,
|
|
3
|
+
declare const DxcFooter: ({ socialLinks, bottomLinks, copyright, children, margin, tabIndex, }: FooterPropsType) => JSX.Element;
|
|
4
4
|
export default DxcFooter;
|
package/footer/Footer.js
CHANGED
|
@@ -1,127 +1,90 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
-
|
|
14
9
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
-
|
|
16
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
-
|
|
18
11
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
19
|
-
|
|
20
|
-
var _variables = require("../common/variables.js");
|
|
21
|
-
|
|
12
|
+
var _variables = require("../common/variables");
|
|
22
13
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
23
|
-
|
|
24
14
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
25
|
-
|
|
26
15
|
var _BackgroundColorContext = require("../BackgroundColorContext");
|
|
27
|
-
|
|
28
16
|
var _Icons = require("./Icons");
|
|
29
|
-
|
|
30
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10
|
|
31
|
-
|
|
32
|
-
function
|
|
33
|
-
|
|
34
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
|
-
|
|
17
|
+
var _Flex = _interopRequireDefault(require("../flex/Flex"));
|
|
18
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
|
|
19
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
20
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
36
21
|
var DxcFooter = function DxcFooter(_ref) {
|
|
37
22
|
var socialLinks = _ref.socialLinks,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
23
|
+
bottomLinks = _ref.bottomLinks,
|
|
24
|
+
copyright = _ref.copyright,
|
|
25
|
+
children = _ref.children,
|
|
26
|
+
margin = _ref.margin,
|
|
27
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
28
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
45
29
|
var colorsTheme = (0, _useTheme["default"])();
|
|
46
30
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
47
31
|
var footerLogo = (0, _react.useMemo)(function () {
|
|
48
32
|
if (!colorsTheme.footer.logo) {
|
|
49
33
|
return _Icons.dxcLogo;
|
|
50
34
|
}
|
|
51
|
-
|
|
52
35
|
if (typeof colorsTheme.footer.logo === "string") {
|
|
53
36
|
return /*#__PURE__*/_react["default"].createElement(LogoImg, {
|
|
54
37
|
alt: translatedLabels.formFields.logoAlternativeText,
|
|
55
38
|
src: colorsTheme.footer.logo
|
|
56
39
|
});
|
|
57
40
|
}
|
|
58
|
-
|
|
59
41
|
return colorsTheme.footer.logo;
|
|
60
|
-
}, [colorsTheme
|
|
61
|
-
|
|
42
|
+
}, [colorsTheme]);
|
|
43
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
44
|
+
theme: colorsTheme.footer
|
|
45
|
+
}, /*#__PURE__*/_react["default"].createElement(FooterContainer, {
|
|
46
|
+
margin: margin
|
|
47
|
+
}, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
48
|
+
justifyContent: "space-between",
|
|
49
|
+
alignItems: "center",
|
|
50
|
+
wrap: "wrap",
|
|
51
|
+
gap: "1.5rem"
|
|
52
|
+
}, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, footerLogo), /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, socialLinks === null || socialLinks === void 0 ? void 0 : socialLinks.map(function (link, index) {
|
|
62
53
|
return /*#__PURE__*/_react["default"].createElement(SocialAnchor, {
|
|
54
|
+
href: link.href,
|
|
63
55
|
tabIndex: tabIndex,
|
|
56
|
+
title: link.title,
|
|
57
|
+
"aria-label": link.title,
|
|
64
58
|
key: "social".concat(index).concat(link.href),
|
|
65
|
-
index: index
|
|
66
|
-
|
|
67
|
-
}, /*#__PURE__*/_react["default"].createElement(SocialIconContainer, null, typeof link.logo === "string" ? /*#__PURE__*/_react["default"].createElement(SocialIconImg, {
|
|
59
|
+
index: index
|
|
60
|
+
}, /*#__PURE__*/_react["default"].createElement(SocialIconContainer, null, typeof link.logo === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
|
|
68
61
|
src: link.logo
|
|
69
62
|
}) : link.logo));
|
|
70
|
-
})
|
|
71
|
-
|
|
63
|
+
}))), /*#__PURE__*/_react["default"].createElement(ChildComponents, null, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
|
|
64
|
+
color: colorsTheme.footer.backgroundColor
|
|
65
|
+
}, children)), /*#__PURE__*/_react["default"].createElement(BottomContainer, null, /*#__PURE__*/_react["default"].createElement(BottomLinks, null, bottomLinks === null || bottomLinks === void 0 ? void 0 : bottomLinks.map(function (link, index) {
|
|
72
66
|
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
73
67
|
key: "bottom".concat(index).concat(link.text)
|
|
74
68
|
}, /*#__PURE__*/_react["default"].createElement(BottomLink, {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}, link
|
|
78
|
-
|
|
79
|
-
}, "\xB7"));
|
|
80
|
-
});
|
|
81
|
-
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
82
|
-
theme: colorsTheme.footer
|
|
83
|
-
}, /*#__PURE__*/_react["default"].createElement(FooterContainer, {
|
|
84
|
-
margin: margin
|
|
85
|
-
}, /*#__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, {
|
|
86
|
-
padding: padding
|
|
87
|
-
}, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
|
|
88
|
-
color: colorsTheme.footer.backgroundColor
|
|
89
|
-
}, children)), /*#__PURE__*/_react["default"].createElement(FooterFooter, {
|
|
90
|
-
className: "footerFooter"
|
|
91
|
-
}, /*#__PURE__*/_react["default"].createElement(BottomLinks, null, bottomLink), /*#__PURE__*/_react["default"].createElement(Copyright, null, copyright || translatedLabels.footer.copyrightText(new Date().getFullYear()))))));
|
|
69
|
+
href: link.href,
|
|
70
|
+
tabIndex: tabIndex
|
|
71
|
+
}, link.text));
|
|
72
|
+
})), /*#__PURE__*/_react["default"].createElement(Copyright, null, copyright || translatedLabels.footer.copyrightText(new Date().getFullYear())))));
|
|
92
73
|
};
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
return props.theme.backgroundColor;
|
|
74
|
+
var FooterContainer = _styledComponents["default"].footer(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 100%;\n min-height: ", ";\n margin-top: ", ";\n background-color: ", ";\n\n @media (min-width: ", "rem) {\n padding: 24px 36px 24px 36px;\n }\n @media (max-width: ", "rem) {\n padding: 20px;\n }\n"])), function (props) {
|
|
75
|
+
return props.theme.height;
|
|
96
76
|
}, function (props) {
|
|
97
|
-
return props.margin
|
|
77
|
+
return props.margin ? _variables.spaces[props.margin] : "0px";
|
|
98
78
|
}, function (props) {
|
|
99
|
-
return props.theme.
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
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"])));
|
|
103
|
-
|
|
104
|
-
var FooterFooter = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n\n @media (min-width: ", "rem) {\n flex-direction: row;\n }\n\n @media (max-width: ", "rem) {\n //mobile phones\n flex-direction: column;\n align-items: center;\n }\n\n border-top: ", ";\n margin-top: 16px;\n"])), _variables.responsiveSizes.small, _variables.responsiveSizes.small, function (props) {
|
|
79
|
+
return props.theme.backgroundColor;
|
|
80
|
+
}, _variables.responsiveSizes.small, _variables.responsiveSizes.small);
|
|
81
|
+
var BottomContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (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 @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) {
|
|
105
82
|
return "".concat(props.theme.bottomLinksDividerThickness, " ").concat(props.theme.bottomLinksDividerStyle, " ").concat(props.theme.bottomLinksDividerColor);
|
|
106
83
|
});
|
|
107
|
-
|
|
108
|
-
var
|
|
84
|
+
var ChildComponents = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 16px;\n overflow: hidden;\n"])));
|
|
85
|
+
var Copyright = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding-top: ", ";\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"])), function (props) {
|
|
109
86
|
return props.theme.bottomLinksDividerSpacing;
|
|
110
|
-
}, _variables.responsiveSizes.small, _variables.responsiveSizes.small);
|
|
111
|
-
|
|
112
|
-
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) {
|
|
113
|
-
return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
|
|
114
|
-
}, function (props) {
|
|
115
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
|
|
116
|
-
}, function (props) {
|
|
117
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
|
|
118
87
|
}, function (props) {
|
|
119
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
|
|
120
|
-
}, function (props) {
|
|
121
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
|
|
122
|
-
});
|
|
123
|
-
|
|
124
|
-
var Copyright = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n\n @media (min-width: ", "rem) {\n max-width: 40%;\n text-align: right;\n }\n\n @media (max-width: ", "rem) {\n //mobile phones\n max-width: 100%;\n width: 100%;\n text-align: left;\n }\n\n padding-top: ", ";\n"])), function (props) {
|
|
125
88
|
return props.theme.copyrightFontFamily;
|
|
126
89
|
}, function (props) {
|
|
127
90
|
return props.theme.copyrightFontSize;
|
|
@@ -131,43 +94,31 @@ var Copyright = _styledComponents["default"].div(_templateObject6 || (_templateO
|
|
|
131
94
|
return props.theme.copyrightFontWeight;
|
|
132
95
|
}, function (props) {
|
|
133
96
|
return props.theme.copyrightFontColor;
|
|
134
|
-
}, _variables.responsiveSizes.small, _variables.responsiveSizes.small
|
|
135
|
-
|
|
136
|
-
});
|
|
137
|
-
|
|
138
|
-
var LogoContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
|
|
97
|
+
}, _variables.responsiveSizes.small, _variables.responsiveSizes.small);
|
|
98
|
+
var LogoContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
|
|
139
99
|
return props.theme.logoHeight;
|
|
140
100
|
}, function (props) {
|
|
141
101
|
return props.theme.logoWidth;
|
|
142
102
|
});
|
|
143
|
-
|
|
144
|
-
var LogoImg = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
|
|
103
|
+
var LogoImg = _styledComponents["default"].img(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
|
|
145
104
|
return props.theme.logoHeight;
|
|
146
105
|
}, function (props) {
|
|
147
106
|
return props.theme.logoWidth;
|
|
148
107
|
});
|
|
149
|
-
|
|
150
|
-
var SocialLinkContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-self: center;\n"])));
|
|
151
|
-
|
|
152
|
-
var SocialAnchor = _styledComponents["default"].a(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n margin-left: ", ";\n }\n"])), function (props) {
|
|
108
|
+
var SocialAnchor = _styledComponents["default"].a(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n margin-left: ", ";\n border-radius: 4px;\n\n &:focus {\n outline: 2px solid #0095ff;\n outline-offset: 2px;\n }\n"])), function (props) {
|
|
153
109
|
return props.index === 0 ? "0px" : props.theme.socialLinksGutter;
|
|
154
110
|
});
|
|
155
|
-
|
|
156
|
-
var SocialIconImg = _styledComponents["default"].img(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
157
|
-
|
|
158
|
-
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) {
|
|
111
|
+
var SocialIconContainer = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n height: ", ";\n width: ", ";\n color: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
159
112
|
return props.theme.socialLinksSize;
|
|
160
113
|
}, function (props) {
|
|
161
114
|
return props.theme.socialLinksSize;
|
|
162
115
|
}, function (props) {
|
|
163
116
|
return props.theme.socialLinksColor;
|
|
164
117
|
});
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
})
|
|
169
|
-
|
|
170
|
-
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) {
|
|
118
|
+
var BottomLinks = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-wrap: wrap;\n align-self: center;\n padding-top: ", ";\n color: #fff;\n\n @media (min-width: ", "rem) {\n max-width: 60%;\n }\n @media (max-width: ", "rem) {\n max-width: 100%;\n width: 100%;\n }\n\n & > span:not(:first-child):before {\n content: \"\xB7\";\n padding: 0 0.5rem;\n }\n"])), function (props) {
|
|
119
|
+
return props.theme.bottomLinksDividerSpacing;
|
|
120
|
+
}, _variables.responsiveSizes.small, _variables.responsiveSizes.small);
|
|
121
|
+
var BottomLink = _styledComponents["default"].a(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n border-radius: 2px;\n\n &:focus {\n outline: 2px solid #0095ff;\n }\n"])), function (props) {
|
|
171
122
|
return props.theme.bottomLinksTextDecoration;
|
|
172
123
|
}, function (props) {
|
|
173
124
|
return props.theme.bottomLinksFontColor;
|
|
@@ -180,6 +131,4 @@ var BottomLink = _styledComponents["default"].a(_templateObject14 || (_templateO
|
|
|
180
131
|
}, function (props) {
|
|
181
132
|
return props.theme.bottomLinksFontWeight;
|
|
182
133
|
});
|
|
183
|
-
|
|
184
|
-
var _default = DxcFooter;
|
|
185
|
-
exports["default"] = _default;
|
|
134
|
+
var _default = exports["default"] = DxcFooter;
|
|
@@ -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
|
{
|
|
@@ -25,10 +26,20 @@ const social = [
|
|
|
25
26
|
</g>
|
|
26
27
|
</svg>
|
|
27
28
|
),
|
|
29
|
+
title: "Linkedin",
|
|
28
30
|
},
|
|
29
31
|
{
|
|
30
|
-
href: "https://
|
|
31
|
-
logo:
|
|
32
|
+
href: "https://x.com/dxctechnology",
|
|
33
|
+
logo: (
|
|
34
|
+
<svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
35
|
+
<rect width="256" height="256" rx="40" fill="white" />
|
|
36
|
+
<path
|
|
37
|
+
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"
|
|
38
|
+
fill="#0F1419"
|
|
39
|
+
/>
|
|
40
|
+
</svg>
|
|
41
|
+
),
|
|
42
|
+
title: "X",
|
|
32
43
|
},
|
|
33
44
|
{
|
|
34
45
|
href: "https://www.facebook.com/DXCTechnology/",
|
|
@@ -55,6 +66,7 @@ const social = [
|
|
|
55
66
|
</g>
|
|
56
67
|
</svg>
|
|
57
68
|
),
|
|
69
|
+
title: "Facebook",
|
|
58
70
|
},
|
|
59
71
|
];
|
|
60
72
|
|
|
@@ -64,8 +76,8 @@ const bottom = [
|
|
|
64
76
|
text: "Linkedin",
|
|
65
77
|
},
|
|
66
78
|
{
|
|
67
|
-
href: "https://
|
|
68
|
-
text: "
|
|
79
|
+
href: "https://x.com/dxctechnology",
|
|
80
|
+
text: "X",
|
|
69
81
|
},
|
|
70
82
|
{
|
|
71
83
|
href: "https://www.facebook.com/DXCTechnology/",
|
|
@@ -78,6 +90,15 @@ export default {
|
|
|
78
90
|
component: DxcFooter,
|
|
79
91
|
};
|
|
80
92
|
|
|
93
|
+
const opinionatedTheme = {
|
|
94
|
+
footer: {
|
|
95
|
+
baseColor: "#000000",
|
|
96
|
+
fontColor: "#ffffff",
|
|
97
|
+
accentColor: "#0095ff",
|
|
98
|
+
logo: "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/2021_Facebook_icon.svg/2048px-2021_Facebook_icon.svg.png",
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
|
|
81
102
|
export const Chromatic = () => (
|
|
82
103
|
<>
|
|
83
104
|
<ExampleContainer>
|
|
@@ -92,6 +113,14 @@ export const Chromatic = () => (
|
|
|
92
113
|
</div>
|
|
93
114
|
</DxcFooter>
|
|
94
115
|
</ExampleContainer>
|
|
116
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
117
|
+
<Title title="Focused bottom and social links" theme="light" level={4} />
|
|
118
|
+
<DxcFooter copyright="Copyright" socialLinks={social} bottomLinks={bottom}>
|
|
119
|
+
<div>
|
|
120
|
+
<a href="https://www.linkedin.com/company/dxctechnology">Linkedin</a>
|
|
121
|
+
</div>
|
|
122
|
+
</DxcFooter>
|
|
123
|
+
</ExampleContainer>
|
|
95
124
|
<Title title="Margins" theme="light" level={2} />
|
|
96
125
|
<ExampleContainer>
|
|
97
126
|
<Title title="Xxsmall margin" theme="light" level={4} />
|
|
@@ -109,22 +138,15 @@ export const Chromatic = () => (
|
|
|
109
138
|
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
110
139
|
<DxcFooter margin="xxlarge"></DxcFooter>
|
|
111
140
|
</ExampleContainer>
|
|
112
|
-
<Title title="
|
|
141
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
113
142
|
<ExampleContainer>
|
|
114
|
-
<
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
<DxcFooter padding="medium"></DxcFooter>
|
|
122
|
-
<Title title="Large padding" theme="light" level={4} />
|
|
123
|
-
<DxcFooter padding="large"></DxcFooter>
|
|
124
|
-
<Title title="Xlarge padding" theme="light" level={4} />
|
|
125
|
-
<DxcFooter padding="xlarge"></DxcFooter>
|
|
126
|
-
<Title title="Xxlarge padding" theme="light" level={4} />
|
|
127
|
-
<DxcFooter padding="xxlarge"></DxcFooter>
|
|
143
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
144
|
+
<DxcFooter copyright="Copyright" socialLinks={social} bottomLinks={bottom}>
|
|
145
|
+
<div>
|
|
146
|
+
<a href="https://www.linkedin.com/company/dxctechnology">Linkedin</a>
|
|
147
|
+
</div>
|
|
148
|
+
</DxcFooter>
|
|
149
|
+
</HalstackProvider>
|
|
128
150
|
</ExampleContainer>
|
|
129
151
|
</>
|
|
130
152
|
);
|
package/footer/Footer.test.js
CHANGED
|
@@ -1,80 +1,65 @@
|
|
|
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
|
-
var
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
var _Footer = _interopRequireDefault(require("./Footer.tsx"));
|
|
7
|
+
var social = [{
|
|
8
|
+
href: "https://www.test.com/social",
|
|
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"
|
|
11
|
+
}];
|
|
12
|
+
var bottom = [{
|
|
13
|
+
href: "https://www.test.com/bottom",
|
|
14
|
+
text: "bottom-link-text"
|
|
15
|
+
}];
|
|
13
16
|
describe("Footer component tests", function () {
|
|
14
17
|
test("Footer renders with default logo", function () {
|
|
15
18
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], null)),
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
getByTitle = _render.getByTitle;
|
|
18
20
|
expect(getByTitle("DXC Logo")).toBeTruthy();
|
|
19
21
|
});
|
|
20
22
|
test("Footer renders with social links", function () {
|
|
21
|
-
var social = [{
|
|
22
|
-
href: "https://www.test.com/test",
|
|
23
|
-
logo: _linkedin["default"]
|
|
24
|
-
}];
|
|
25
|
-
|
|
26
23
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
socialLinks: social
|
|
25
|
+
})),
|
|
26
|
+
getByRole = _render2.getByRole;
|
|
31
27
|
var socialIcon = getByRole("link");
|
|
32
|
-
expect(socialIcon.getAttribute("href")).toBe("https://www.test.com/
|
|
28
|
+
expect(socialIcon.getAttribute("href")).toBe("https://www.test.com/social");
|
|
33
29
|
});
|
|
34
30
|
test("Footer renders with bottom links", function () {
|
|
35
|
-
var bottom = [{
|
|
36
|
-
href: "https://www.test.com/test",
|
|
37
|
-
text: "bottom-link-text"
|
|
38
|
-
}];
|
|
39
|
-
|
|
40
31
|
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
32
|
+
bottomLinks: bottom
|
|
33
|
+
})),
|
|
34
|
+
getByText = _render3.getByText;
|
|
45
35
|
var link = getByText("bottom-link-text");
|
|
46
|
-
expect(link.getAttribute("href")).toBe("https://www.test.com/
|
|
36
|
+
expect(link.getAttribute("href")).toBe("https://www.test.com/bottom");
|
|
47
37
|
});
|
|
48
38
|
test("Footer renders with copyright text", function () {
|
|
49
39
|
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
40
|
+
copyright: "test-copyright"
|
|
41
|
+
})),
|
|
42
|
+
getByText = _render4.getByText;
|
|
54
43
|
expect(getByText("test-copyright")).toBeTruthy();
|
|
55
44
|
});
|
|
56
45
|
test("Footer renders with correct children", function () {
|
|
57
|
-
//We need to force the offsetWidth value
|
|
46
|
+
// We need to force the offsetWidth value
|
|
58
47
|
Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
|
|
59
48
|
configurable: true,
|
|
60
49
|
value: 1024
|
|
61
50
|
});
|
|
62
|
-
|
|
63
51
|
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], null, /*#__PURE__*/_react["default"].createElement("p", null, "footer-child-text"))),
|
|
64
|
-
|
|
65
|
-
|
|
52
|
+
getByText = _render5.getByText;
|
|
66
53
|
expect(getByText("footer-child-text")).toBeTruthy();
|
|
67
54
|
});
|
|
68
55
|
test("Footer renders with children in mobile", function () {
|
|
69
|
-
//425 is mobile width
|
|
56
|
+
// 425 is mobile width
|
|
70
57
|
Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
|
|
71
58
|
configurable: true,
|
|
72
59
|
value: 425
|
|
73
60
|
});
|
|
74
|
-
|
|
75
61
|
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], null, /*#__PURE__*/_react["default"].createElement("p", null, "footer-child-text"))),
|
|
76
|
-
|
|
77
|
-
|
|
62
|
+
queryByText = _render6.queryByText;
|
|
78
63
|
expect(queryByText("footer-child-text")).toBeTruthy();
|
|
79
64
|
});
|
|
80
65
|
test("Footer is fully rendered", function () {
|
|
@@ -82,25 +67,16 @@ describe("Footer component tests", function () {
|
|
|
82
67
|
configurable: true,
|
|
83
68
|
value: 1024
|
|
84
69
|
});
|
|
85
|
-
var social = [{
|
|
86
|
-
href: "https://www.test.com/social",
|
|
87
|
-
logo: _linkedin["default"]
|
|
88
|
-
}];
|
|
89
|
-
var bottom = [{
|
|
90
|
-
href: "https://www.test.com/bottom",
|
|
91
|
-
text: "bottom-link-text"
|
|
92
|
-
}];
|
|
93
|
-
|
|
94
70
|
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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;
|
|
102
77
|
var socialIcon = getAllByRole("link")[0];
|
|
103
78
|
expect(socialIcon.getAttribute("href")).toBe("https://www.test.com/social");
|
|
79
|
+
expect(socialIcon.getAttribute("aria-label")).toBe("test");
|
|
104
80
|
var bottomLink = getByText("bottom-link-text");
|
|
105
81
|
expect(bottomLink.getAttribute("href")).toBe("https://www.test.com/bottom");
|
|
106
82
|
expect(getByText("test-copyright")).toBeTruthy();
|
package/footer/Icons.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const dxcLogo: JSX.Element;
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare const dxcLogo: 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
7
|
exports.dxcLogo = void 0;
|
|
9
|
-
|
|
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%",
|
|
@@ -72,6 +69,4 @@ var dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
72
69
|
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",
|
|
73
70
|
transform: "translate(-21.08 69.298)",
|
|
74
71
|
fill: "#fff"
|
|
75
|
-
})));
|
|
76
|
-
|
|
77
|
-
exports.dxcLogo = dxcLogo;
|
|
72
|
+
})));
|