@dxc-technology/halstack-react 0.0.0-8d633bd → 0.0.0-8f8dc10
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.js +50 -0
- package/ThemeContext.js +246 -0
- package/{dist/select/Select.js → V3Select/V3Select.js} +38 -132
- package/V3Select/index.d.ts +27 -0
- package/{dist/textarea/Textarea.js → V3Textarea/V3Textarea.js} +14 -18
- package/V3Textarea/index.d.ts +27 -0
- package/accordion/Accordion.d.ts +4 -0
- package/{dist/accordion → accordion}/Accordion.js +35 -130
- package/accordion/types.d.ts +68 -0
- package/accordion/types.js +5 -0
- package/accordion-group/AccordionGroup.d.ts +7 -0
- package/accordion-group/AccordionGroup.js +170 -0
- package/accordion-group/types.d.ts +72 -0
- package/accordion-group/types.js +5 -0
- package/alert/Alert.d.ts +4 -0
- package/{dist/alert → alert}/Alert.js +41 -154
- package/alert/types.d.ts +49 -0
- package/alert/types.js +5 -0
- package/badge/Badge.js +59 -0
- package/{dist/box → box}/Box.js +9 -13
- package/box/Box.stories.jsx +132 -0
- package/box/index.d.ts +25 -0
- package/button/Button.d.ts +4 -0
- package/{dist/button → button}/Button.js +16 -72
- package/button/Button.stories.tsx +293 -0
- package/button/types.d.ts +57 -0
- package/button/types.js +5 -0
- package/card/Card.d.ts +4 -0
- package/{dist/card → card}/Card.js +32 -121
- package/card/types.d.ts +69 -0
- package/card/types.js +5 -0
- package/checkbox/Checkbox.d.ts +4 -0
- package/{dist/checkbox → checkbox}/Checkbox.js +16 -63
- package/checkbox/types.d.ts +60 -0
- package/checkbox/types.js +5 -0
- package/{dist/chip → chip}/Chip.js +17 -61
- package/chip/index.d.ts +22 -0
- package/{dist/common → common}/OpenSans.css +0 -0
- package/{dist/common → common}/RequiredComponent.js +3 -11
- package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
- package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/{dist/common → common}/utils.js +0 -0
- package/{dist/common → common}/variables.js +250 -98
- package/{dist/date → date}/Date.js +20 -28
- package/date/index.d.ts +27 -0
- package/date-input/DateInput.d.ts +4 -0
- package/{dist/new-date/NewDate.js → date-input/DateInput.js} +88 -130
- package/date-input/types.d.ts +100 -0
- package/date-input/types.js +5 -0
- package/dialog/Dialog.d.ts +4 -0
- package/{dist/dialog → dialog}/Dialog.js +20 -73
- package/dialog/types.d.ts +43 -0
- package/dialog/types.js +5 -0
- package/dropdown/Dropdown.d.ts +4 -0
- package/{dist/dropdown → dropdown}/Dropdown.js +44 -171
- package/dropdown/types.d.ts +89 -0
- package/dropdown/types.js +5 -0
- package/{dist/file-input → file-input}/FileInput.js +57 -166
- package/file-input/FileItem.js +193 -0
- package/file-input/index.d.ts +81 -0
- package/footer/Footer.d.ts +4 -0
- package/footer/Footer.js +266 -0
- package/footer/Footer.stories.jsx +151 -0
- package/footer/Icons.js +77 -0
- package/footer/types.d.ts +61 -0
- package/footer/types.js +5 -0
- package/header/Header.js +326 -0
- package/header/Icons.js +59 -0
- package/header/index.d.ts +25 -0
- package/{dist/heading → heading}/Heading.js +30 -72
- package/heading/index.d.ts +17 -0
- package/input-text/Icons.js +22 -0
- package/{dist/input-text → input-text}/InputText.js +37 -133
- package/input-text/index.d.ts +36 -0
- package/{dist/layout → layout}/ApplicationLayout.js +35 -131
- package/layout/Icons.js +55 -0
- package/{dist/link → link}/Link.js +18 -72
- package/link/index.d.ts +23 -0
- package/main.d.ts +44 -0
- package/{dist/main.js → main.js} +100 -96
- package/{dist/number/Number.js → number-input/NumberInput.js} +10 -20
- package/number-input/NumberInput.stories.jsx +115 -0
- package/{dist/number/NumberContext.js → number-input/NumberInputContext.js} +2 -2
- package/number-input/index.d.ts +113 -0
- package/package.json +32 -25
- package/paginator/Icons.js +66 -0
- package/paginator/Paginator.d.ts +4 -0
- package/paginator/Paginator.js +198 -0
- package/paginator/Paginator.stories.tsx +63 -0
- package/paginator/types.d.ts +38 -0
- package/paginator/types.js +5 -0
- package/{dist/password/Password.js → password-input/PasswordInput.js} +29 -30
- package/password-input/PasswordInput.stories.jsx +131 -0
- package/password-input/index.d.ts +94 -0
- package/progress-bar/ProgressBar.d.ts +4 -0
- package/{dist/progress-bar → progress-bar}/ProgressBar.js +20 -92
- package/progress-bar/types.d.ts +37 -0
- package/progress-bar/types.js +5 -0
- package/radio/Radio.d.ts +4 -0
- package/{dist/radio → radio}/Radio.js +15 -50
- package/radio/types.d.ts +54 -0
- package/radio/types.js +5 -0
- package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +35 -119
- package/resultsetTable/index.d.ts +19 -0
- package/select/Select.js +865 -0
- package/select/index.d.ts +131 -0
- package/{dist/sidenav → sidenav}/Sidenav.js +15 -49
- package/sidenav/index.d.ts +13 -0
- package/slider/Slider.d.ts +4 -0
- package/{dist/slider → slider}/Slider.js +90 -103
- package/slider/types.d.ts +83 -0
- package/slider/types.js +5 -0
- package/{dist/spinner → spinner}/Spinner.js +43 -157
- package/spinner/index.d.ts +17 -0
- package/switch/Switch.d.ts +4 -0
- package/{dist/switch → switch}/Switch.js +26 -69
- package/switch/types.d.ts +58 -0
- package/switch/types.js +5 -0
- package/{dist/table → table}/Table.js +10 -24
- package/table/Table.stories.jsx +276 -0
- package/table/index.d.ts +13 -0
- package/tabs/Tabs.d.ts +4 -0
- package/tabs/Tabs.js +211 -0
- package/tabs/types.d.ts +71 -0
- package/tabs/types.js +5 -0
- package/{dist/tag → tag}/Tag.js +22 -96
- package/{dist/alert → tag}/index.d.ts +9 -11
- package/text-input/TextInput.js +825 -0
- package/text-input/index.d.ts +135 -0
- package/{dist/new-textarea/NewTextarea.js → textarea/Textarea.js} +73 -121
- package/textarea/Textarea.stories.jsx +135 -0
- package/textarea/index.d.ts +117 -0
- package/{dist/toggle → toggle}/Toggle.js +15 -49
- package/toggle/index.d.ts +21 -0
- package/toggle-group/ToggleGroup.js +243 -0
- package/toggle-group/index.d.ts +21 -0
- package/{dist/upload → upload}/Upload.js +11 -15
- package/upload/buttons-upload/ButtonsUpload.js +111 -0
- package/upload/buttons-upload/Icons.js +40 -0
- package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
- package/upload/dragAndDropArea/Icons.js +39 -0
- package/upload/file-upload/FileToUpload.js +115 -0
- package/upload/file-upload/Icons.js +66 -0
- package/{dist/upload → upload}/files-upload/FilesToUpload.js +12 -26
- package/upload/index.d.ts +15 -0
- package/upload/transaction/Icons.js +160 -0
- package/upload/transaction/Transaction.js +104 -0
- package/upload/transactions/Transactions.js +94 -0
- package/{dist/useTheme.js → useTheme.js} +0 -0
- package/wizard/Icons.js +65 -0
- package/{dist/wizard → wizard}/Wizard.js +32 -172
- package/wizard/index.d.ts +18 -0
- package/README.md +0 -66
- package/babel.config.js +0 -8
- package/dist/BackgroundColorContext.js +0 -46
- package/dist/ThemeContext.js +0 -240
- package/dist/accordion-group/AccordionGroup.js +0 -186
- package/dist/badge/Badge.js +0 -63
- package/dist/checkbox/Checkbox.stories.js +0 -144
- package/dist/checkbox/readme.md +0 -116
- package/dist/date/Date.stories.js +0 -205
- package/dist/date/readme.md +0 -73
- package/dist/file-input/FileItem.js +0 -263
- package/dist/footer/Footer.js +0 -395
- package/dist/footer/Footer.stories.js +0 -94
- package/dist/footer/dxc_logo.svg +0 -15
- package/dist/footer/readme.md +0 -41
- package/dist/header/Header.js +0 -403
- package/dist/header/Header.stories.js +0 -176
- package/dist/header/close_icon.svg +0 -1
- package/dist/header/dxc_logo_black.svg +0 -8
- package/dist/header/hamb_menu_black.svg +0 -1
- package/dist/header/hamb_menu_white.svg +0 -1
- package/dist/header/readme.md +0 -33
- package/dist/input-text/InputText.stories.js +0 -209
- package/dist/input-text/error.svg +0 -1
- package/dist/input-text/readme.md +0 -91
- package/dist/layout/facebook.svg +0 -45
- package/dist/layout/linkedin.svg +0 -50
- package/dist/layout/twitter.svg +0 -53
- package/dist/link/readme.md +0 -51
- package/dist/main.d.ts +0 -2
- package/dist/new-input-text/NewInputText.js +0 -977
- package/dist/paginator/Paginator.js +0 -289
- package/dist/paginator/images/next.svg +0 -3
- package/dist/paginator/images/nextPage.svg +0 -3
- package/dist/paginator/images/previous.svg +0 -3
- package/dist/paginator/images/previousPage.svg +0 -3
- package/dist/paginator/readme.md +0 -50
- package/dist/password/styles.css +0 -3
- package/dist/progress-bar/ProgressBar.stories.js +0 -280
- package/dist/progress-bar/readme.md +0 -63
- package/dist/radio/Radio.stories.js +0 -166
- package/dist/radio/readme.md +0 -70
- package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
- package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
- package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
- package/dist/slider/Slider.stories.js +0 -241
- package/dist/slider/readme.md +0 -64
- package/dist/spinner/Spinner.stories.js +0 -183
- package/dist/spinner/readme.md +0 -65
- package/dist/switch/Switch.stories.js +0 -134
- package/dist/switch/readme.md +0 -133
- package/dist/tabs/Tabs.js +0 -343
- package/dist/tabs/Tabs.stories.js +0 -130
- package/dist/tabs/readme.md +0 -78
- package/dist/tabs-for-sections/TabsForSections.js +0 -92
- package/dist/tabs-for-sections/readme.md +0 -78
- package/dist/toggle/Toggle.stories.js +0 -297
- package/dist/toggle/readme.md +0 -80
- package/dist/toggle-group/ToggleGroup.js +0 -223
- package/dist/upload/Upload.stories.js +0 -72
- package/dist/upload/buttons-upload/ButtonsUpload.js +0 -139
- package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
- package/dist/upload/buttons-upload/upload-button.svg +0 -1
- package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
- package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
- package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
- package/dist/upload/file-upload/FileToUpload.js +0 -184
- package/dist/upload/file-upload/audio-icon.svg +0 -4
- package/dist/upload/file-upload/close.svg +0 -4
- package/dist/upload/file-upload/file-icon.svg +0 -4
- package/dist/upload/file-upload/video-icon.svg +0 -4
- package/dist/upload/readme.md +0 -37
- package/dist/upload/transaction/Transaction.js +0 -175
- package/dist/upload/transaction/audio-icon-err.svg +0 -4
- package/dist/upload/transaction/audio-icon.svg +0 -4
- package/dist/upload/transaction/error-icon.svg +0 -4
- package/dist/upload/transaction/file-icon-err.svg +0 -4
- package/dist/upload/transaction/file-icon.svg +0 -4
- package/dist/upload/transaction/image-icon-err.svg +0 -4
- package/dist/upload/transaction/image-icon.svg +0 -4
- package/dist/upload/transaction/success-icon.svg +0 -4
- package/dist/upload/transaction/video-icon-err.svg +0 -4
- package/dist/upload/transaction/video-icon.svg +0 -4
- package/dist/upload/transactions/Transactions.js +0 -138
- package/dist/wizard/invalid_icon.svg +0 -5
- package/dist/wizard/valid_icon.svg +0 -5
- package/dist/wizard/validation-wrong.svg +0 -6
- package/test/Accordion.test.js +0 -33
- package/test/AccordionGroup.test.js +0 -125
- package/test/Alert.test.js +0 -53
- package/test/Box.test.js +0 -10
- package/test/Button.test.js +0 -18
- package/test/Card.test.js +0 -30
- package/test/Checkbox.test.js +0 -45
- package/test/Chip.test.js +0 -25
- package/test/Date.test.js +0 -393
- package/test/Dialog.test.js +0 -23
- package/test/Dropdown.test.js +0 -145
- package/test/FileInput.test.js +0 -39
- package/test/Footer.test.js +0 -99
- package/test/Header.test.js +0 -39
- package/test/Heading.test.js +0 -35
- package/test/InputText.test.js +0 -240
- package/test/Link.test.js +0 -43
- package/test/NewDate.test.js +0 -203
- package/test/NewInputText.test.js +0 -866
- package/test/NewTextarea.test.js +0 -252
- package/test/Number.test.js +0 -241
- package/test/Paginator.test.js +0 -177
- package/test/Password.test.js +0 -76
- package/test/ProgressBar.test.js +0 -35
- package/test/Radio.test.js +0 -37
- package/test/ResultsetTable.test.js +0 -329
- package/test/Select.test.js +0 -212
- package/test/Sidenav.test.js +0 -45
- package/test/Slider.test.js +0 -82
- package/test/Spinner.test.js +0 -32
- package/test/Switch.test.js +0 -45
- package/test/Table.test.js +0 -36
- package/test/Tabs.test.js +0 -109
- package/test/TabsForSections.test.js +0 -34
- package/test/Tag.test.js +0 -32
- package/test/TextArea.test.js +0 -52
- package/test/ToggleGroup.test.js +0 -81
- package/test/Upload.test.js +0 -60
- package/test/Wizard.test.js +0 -130
- package/test/mocks/pngMock.js +0 -1
- package/test/mocks/svgMock.js +0 -1
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
type Size = "small" | "medium" | "large" | "fillParent";
|
|
2
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
type Margin = {
|
|
4
|
+
top?: Space;
|
|
5
|
+
bottom?: Space;
|
|
6
|
+
left?: Space;
|
|
7
|
+
right?: Space;
|
|
8
|
+
};
|
|
9
|
+
type FileData = {
|
|
10
|
+
error?: string;
|
|
11
|
+
file?: File;
|
|
12
|
+
preview?: string;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
type Props = {
|
|
16
|
+
/**
|
|
17
|
+
* Name attribute of the file input element.
|
|
18
|
+
*/
|
|
19
|
+
name?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Text to be placed above the file input.
|
|
22
|
+
*/
|
|
23
|
+
label?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Uses one of the available file input modes:
|
|
26
|
+
* 'file': Files are selected by clicking the button and selecting it through the file explorer.
|
|
27
|
+
* 'filedrop': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
|
|
28
|
+
* 'dropzone': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
|
|
29
|
+
* The drag and drop area of this mode is bigger than the one of the filedrop mode.
|
|
30
|
+
*/
|
|
31
|
+
mode?: "file" | "filedrop" | "dropzone";
|
|
32
|
+
/**
|
|
33
|
+
* Helper text to be placed above the file input.
|
|
34
|
+
*/
|
|
35
|
+
helperText?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Defines the file types accepted by the component. It is not possible to select a file with a non valid type.
|
|
38
|
+
*/
|
|
39
|
+
accept?: string;
|
|
40
|
+
/**
|
|
41
|
+
* An array of FileData representing the selected files.
|
|
42
|
+
*/
|
|
43
|
+
value?: FileData[];
|
|
44
|
+
/**
|
|
45
|
+
* Minimum file size allowed (in bytes). If the file size does not comply the minSize, an error will be passed to the FileData.
|
|
46
|
+
*/
|
|
47
|
+
minSize?: number;
|
|
48
|
+
/**
|
|
49
|
+
* Maximum file size allowed (in bytes). If the file size does not comply the maxSize, an error will be passed to the FileData.
|
|
50
|
+
*/
|
|
51
|
+
maxSize?: number;
|
|
52
|
+
/**
|
|
53
|
+
* If true and if the file is an image, a preview of it will be shown. If it is not an image, an icon refering to the file's type will be shown.
|
|
54
|
+
* If mode is not multiple and there is one file already selected, the file will be replaced by the last selected one.
|
|
55
|
+
*/
|
|
56
|
+
showPreview?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* If true, more than one file can be selected. If false, only one file can be selected.
|
|
59
|
+
*/
|
|
60
|
+
multiple?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* If true, the component will be disabled.
|
|
63
|
+
*/
|
|
64
|
+
disabled?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* This function will be called when the user selects or drops a file. The list of files will be sent as a parameter.
|
|
67
|
+
* In this function, the files can be updated or returned as they come. These files must be passed to the value in order to be shown.
|
|
68
|
+
*/
|
|
69
|
+
callbackFile?: (files: FileData[]) => void;
|
|
70
|
+
/**
|
|
71
|
+
* Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
72
|
+
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
|
|
73
|
+
*/
|
|
74
|
+
margin?: Space | Margin;
|
|
75
|
+
/**
|
|
76
|
+
* Value of the tabindex attribute.
|
|
77
|
+
*/
|
|
78
|
+
tabIndex?: number;
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export default function DxcFileInput(props: Props): JSX.Element;
|
package/footer/Footer.js
ADDED
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
+
|
|
14
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
|
+
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
+
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
20
|
+
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
|
+
|
|
22
|
+
var _variables = require("../common/variables.js");
|
|
23
|
+
|
|
24
|
+
var _useTheme = _interopRequireDefault(require("../useTheme.js"));
|
|
25
|
+
|
|
26
|
+
var _BackgroundColorContext = require("../BackgroundColorContext.js");
|
|
27
|
+
|
|
28
|
+
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
29
|
+
|
|
30
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
|
|
31
|
+
|
|
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
|
+
|
|
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
|
+
|
|
36
|
+
var DxcFooter = function DxcFooter(_ref) {
|
|
37
|
+
var socialLinks = _ref.socialLinks,
|
|
38
|
+
bottomLinks = _ref.bottomLinks,
|
|
39
|
+
_ref$copyright = _ref.copyright,
|
|
40
|
+
copyright = _ref$copyright === void 0 ? "" : _ref$copyright,
|
|
41
|
+
children = _ref.children,
|
|
42
|
+
padding = _ref.padding,
|
|
43
|
+
margin = _ref.margin,
|
|
44
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
45
|
+
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
|
+
var colorsTheme = (0, _useTheme["default"])();
|
|
64
|
+
var footerLogo = (0, _react.useMemo)(function () {
|
|
65
|
+
if (!colorsTheme.footer.logo) {
|
|
66
|
+
return _Icons["default"];
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
if (typeof colorsTheme.footer.logo === "string") {
|
|
70
|
+
return /*#__PURE__*/_react["default"].createElement(LogoImg, {
|
|
71
|
+
alt: "Logo",
|
|
72
|
+
src: colorsTheme.footer.logo
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return colorsTheme.footer.logo;
|
|
77
|
+
}, [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
|
+
var socialLink = socialLinks === null || socialLinks === void 0 ? void 0 : socialLinks.map(function (link, index) {
|
|
108
|
+
return /*#__PURE__*/_react["default"].createElement(SocialAnchor, {
|
|
109
|
+
tabIndex: tabIndex,
|
|
110
|
+
key: "social".concat(index).concat(link.href),
|
|
111
|
+
index: index,
|
|
112
|
+
href: link && link.href ? link.href : ""
|
|
113
|
+
}, link.logo ? /*#__PURE__*/_react["default"].createElement(SocialIconContainer, null, (0, _typeof2["default"])(link.logo) === "object" ? link.logo : /*#__PURE__*/_react["default"].createElement(link.logo)) : link && link.logoSrc && /*#__PURE__*/_react["default"].createElement(SocialIcon, {
|
|
114
|
+
src: link.logoSrc
|
|
115
|
+
}));
|
|
116
|
+
});
|
|
117
|
+
var bottomLink = bottomLinks === null || bottomLinks === void 0 ? void 0 : bottomLinks.map(function (link, index) {
|
|
118
|
+
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
119
|
+
key: "bottom".concat(index).concat(link.text)
|
|
120
|
+
}, /*#__PURE__*/_react["default"].createElement(BottomLink, {
|
|
121
|
+
tabIndex: tabIndex,
|
|
122
|
+
href: link && link.href ? link.href : ""
|
|
123
|
+
}, link && link.text ? link.text : ""), /*#__PURE__*/_react["default"].createElement(Point, {
|
|
124
|
+
index: index
|
|
125
|
+
}, "\xB7"));
|
|
126
|
+
});
|
|
127
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
128
|
+
theme: colorsTheme.footer
|
|
129
|
+
}, /*#__PURE__*/_react["default"].createElement(FooterContainer, {
|
|
130
|
+
margin: margin,
|
|
131
|
+
refSize: refSize,
|
|
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, {
|
|
141
|
+
padding: padding
|
|
142
|
+
}, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
|
|
143
|
+
color: colorsTheme.footer.backgroundColor
|
|
144
|
+
}, children)), /*#__PURE__*/_react["default"].createElement(FooterFooter, {
|
|
145
|
+
className: "footerFooter"
|
|
146
|
+
}, /*#__PURE__*/_react["default"].createElement(BottomLinks, {
|
|
147
|
+
refSize: refSize
|
|
148
|
+
}, bottomLink), /*#__PURE__*/_react["default"].createElement(Copyright, {
|
|
149
|
+
refSize: refSize
|
|
150
|
+
}, copyright)))));
|
|
151
|
+
};
|
|
152
|
+
|
|
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) {
|
|
156
|
+
return props.theme.backgroundColor;
|
|
157
|
+
}, function (props) {
|
|
158
|
+
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
159
|
+
}, function (props) {
|
|
160
|
+
return props.theme.height;
|
|
161
|
+
});
|
|
162
|
+
|
|
163
|
+
var FooterHeader = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n"])));
|
|
164
|
+
|
|
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 flex-direction: ", ";\n align-items: ", ";\n border-top: ", ";\n"])), function (props) {
|
|
166
|
+
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "column" : "row";
|
|
167
|
+
}, function (props) {
|
|
168
|
+
return props.refSize <= _variables.responsiveSizes.mobileLarge ? "center" : "";
|
|
169
|
+
}, function (props) {
|
|
170
|
+
return "".concat(props.theme.bottomLinksDividerThickness, " ").concat(props.theme.bottomLinksDividerStyle, " ").concat(props.theme.bottomLinksDividerColor);
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
var BottomLinks = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding-top: ", ";\n display: inline-flex;\n flex-wrap: wrap;\n max-width: ", ";\n width: ", ";\n & > span:last-child span {\n display: none;\n }\n margin: ", ";\n"])), function (props) {
|
|
174
|
+
return props.theme.bottomLinksDividerSpacing;
|
|
175
|
+
}, function (props) {
|
|
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
|
+
});
|
|
182
|
+
|
|
183
|
+
var ChildComponents = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 15px;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n overflow: hidden;\n"])), function (props) {
|
|
184
|
+
return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
|
|
185
|
+
}, function (props) {
|
|
186
|
+
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
|
|
187
|
+
}, function (props) {
|
|
188
|
+
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
|
|
189
|
+
}, function (props) {
|
|
190
|
+
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
|
|
191
|
+
}, function (props) {
|
|
192
|
+
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
|
|
193
|
+
});
|
|
194
|
+
|
|
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 max-width: ", ";\n width: ", ";\n text-align: ", ";\n padding-top: ", ";\n"])), function (props) {
|
|
196
|
+
return props.theme.copyrightFontFamily;
|
|
197
|
+
}, function (props) {
|
|
198
|
+
return props.theme.copyrightFontSize;
|
|
199
|
+
}, function (props) {
|
|
200
|
+
return props.theme.copyrightFontStyle;
|
|
201
|
+
}, function (props) {
|
|
202
|
+
return props.theme.copyrightFontWeight;
|
|
203
|
+
}, function (props) {
|
|
204
|
+
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) {
|
|
212
|
+
return props.theme.bottomLinksDividerSpacing;
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
var LogoContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
|
|
216
|
+
return props.theme.logoHeight;
|
|
217
|
+
}, function (props) {
|
|
218
|
+
return props.theme.logoWidth;
|
|
219
|
+
});
|
|
220
|
+
|
|
221
|
+
var LogoImg = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
|
|
222
|
+
return props.theme.logoHeight;
|
|
223
|
+
}, function (props) {
|
|
224
|
+
return props.theme.logoWidth;
|
|
225
|
+
});
|
|
226
|
+
|
|
227
|
+
var SocialAnchor = _styledComponents["default"].a(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n margin-left: ", ";\n }\n"])), function (props) {
|
|
228
|
+
return props.index === 0 ? "0px" : props.theme.socialLinksGutter;
|
|
229
|
+
});
|
|
230
|
+
|
|
231
|
+
var SocialIcon = _styledComponents["default"].img(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n height: ", ";\n width: ", ";\n fill: ", ";\n }\n"])), function (props) {
|
|
232
|
+
return props.theme.socialLinksSize;
|
|
233
|
+
}, function (props) {
|
|
234
|
+
return props.theme.socialLinksSize;
|
|
235
|
+
}, function (props) {
|
|
236
|
+
return props.theme.socialLinksColor;
|
|
237
|
+
});
|
|
238
|
+
|
|
239
|
+
var SocialIconContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n height: ", ";\n width: ", ";\n color: ", ";\n }\n\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
240
|
+
return props.theme.socialLinksSize;
|
|
241
|
+
}, function (props) {
|
|
242
|
+
return props.theme.socialLinksSize;
|
|
243
|
+
}, function (props) {
|
|
244
|
+
return props.theme.socialLinksColor;
|
|
245
|
+
});
|
|
246
|
+
|
|
247
|
+
var Point = _styledComponents["default"].span(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0px 10px;\n color: ", ";\n"])), function (props) {
|
|
248
|
+
return props.theme.bottomLinksFontColor;
|
|
249
|
+
});
|
|
250
|
+
|
|
251
|
+
var BottomLink = _styledComponents["default"].a(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
252
|
+
return props.theme.bottomLinksTextDecoration;
|
|
253
|
+
}, function (props) {
|
|
254
|
+
return props.theme.bottomLinksFontColor;
|
|
255
|
+
}, function (props) {
|
|
256
|
+
return props.theme.bottomLinksFontFamily;
|
|
257
|
+
}, function (props) {
|
|
258
|
+
return props.theme.bottomLinksFontSize;
|
|
259
|
+
}, function (props) {
|
|
260
|
+
return props.theme.bottomLinksFontStyle;
|
|
261
|
+
}, function (props) {
|
|
262
|
+
return props.theme.bottomLinksFontWeight;
|
|
263
|
+
});
|
|
264
|
+
|
|
265
|
+
var _default = DxcFooter;
|
|
266
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import DxcFooter from "./Footer";
|
|
3
|
+
import Title from "../../.storybook/components/Title";
|
|
4
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
|
+
|
|
6
|
+
const social = [
|
|
7
|
+
{
|
|
8
|
+
href: "https://www.linkedin.com/company/dxctechnology",
|
|
9
|
+
logo: (
|
|
10
|
+
<svg version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 438.536 438.536" fill="currentColor">
|
|
11
|
+
<g>
|
|
12
|
+
<path
|
|
13
|
+
d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
|
|
14
|
+
C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
|
|
15
|
+
h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
|
|
16
|
+
C438.532,59.576,430.49,40.204,414.41,24.123z M133.618,367.157H67.666V169.016h65.952V367.157z M127.626,132.332
|
|
17
|
+
c-6.851,6.567-15.893,9.851-27.124,9.851h-0.288c-10.848,0-19.648-3.284-26.407-9.851c-6.76-6.567-10.138-14.703-10.138-24.41
|
|
18
|
+
c0-9.897,3.476-18.083,10.421-24.556c6.95-6.471,15.942-9.708,26.98-9.708c11.039,0,19.89,3.237,26.553,9.708
|
|
19
|
+
c6.661,6.473,10.088,14.659,10.277,24.556C137.899,117.625,134.477,125.761,127.626,132.332z M370.873,367.157h-65.952v-105.92
|
|
20
|
+
c0-29.879-11.036-44.823-33.116-44.823c-8.374,0-15.42,2.331-21.128,6.995c-5.715,4.661-9.996,10.324-12.847,16.991
|
|
21
|
+
c-1.335,3.422-1.999,8.75-1.999,15.981v110.775h-65.952c0.571-119.529,0.571-185.579,0-198.142h65.952v27.974
|
|
22
|
+
c13.867-21.681,33.558-32.544,59.101-32.544c22.84,0,41.21,7.52,55.104,22.554c13.895,15.037,20.841,37.214,20.841,66.519v113.64
|
|
23
|
+
H370.873z"
|
|
24
|
+
/>
|
|
25
|
+
</g>
|
|
26
|
+
</svg>
|
|
27
|
+
),
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
href: "https://twitter.com/dxctechnology",
|
|
31
|
+
logo: (
|
|
32
|
+
<svg version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 438.536 438.536" fill="currentColor">
|
|
33
|
+
<g>
|
|
34
|
+
<path
|
|
35
|
+
d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
|
|
36
|
+
C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
|
|
37
|
+
h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
|
|
38
|
+
C438.532,59.576,430.49,40.204,414.41,24.123z M335.471,168.735c0.191,1.713,0.288,4.278,0.288,7.71
|
|
39
|
+
c0,15.989-2.334,32.025-6.995,48.104c-4.661,16.087-11.8,31.504-21.416,46.254c-9.606,14.749-21.074,27.791-34.396,39.115
|
|
40
|
+
c-13.325,11.32-29.311,20.365-47.968,27.117c-18.648,6.762-38.637,10.143-59.953,10.143c-33.116,0-63.76-8.952-91.931-26.836
|
|
41
|
+
c4.568,0.568,9.329,0.855,14.275,0.855c27.6,0,52.439-8.565,74.519-25.7c-12.941-0.185-24.506-4.179-34.688-11.991
|
|
42
|
+
c-10.185-7.803-17.273-17.699-21.271-29.691c4.947,0.76,8.658,1.137,11.132,1.137c4.187,0,9.042-0.76,14.56-2.279
|
|
43
|
+
c-13.894-2.669-25.598-9.562-35.115-20.697c-9.519-11.136-14.277-23.84-14.277-38.114v-0.571
|
|
44
|
+
c10.085,4.755,19.602,7.229,28.549,7.422c-17.321-11.613-25.981-28.265-25.981-49.963c0-10.66,2.758-20.747,8.278-30.264
|
|
45
|
+
c15.035,18.464,33.311,33.213,54.816,44.252c21.507,11.038,44.54,17.227,69.092,18.558c-0.95-3.616-1.427-8.186-1.427-13.704
|
|
46
|
+
c0-16.562,5.853-30.692,17.56-42.399c11.703-11.706,25.837-17.561,42.394-17.561c17.515,0,32.079,6.283,43.688,18.846
|
|
47
|
+
c13.134-2.474,25.892-7.33,38.26-14.56c-4.757,14.652-13.613,25.788-26.55,33.402c12.368-1.716,23.88-4.95,34.537-9.708
|
|
48
|
+
C357.458,149.793,347.462,160.166,335.471,168.735z"
|
|
49
|
+
/>
|
|
50
|
+
</g>
|
|
51
|
+
</svg>
|
|
52
|
+
),
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
href: "https://www.facebook.com/DXCTechnology/",
|
|
56
|
+
logo: (
|
|
57
|
+
<svg
|
|
58
|
+
version="1.1"
|
|
59
|
+
id="Capa_1"
|
|
60
|
+
x="0px"
|
|
61
|
+
y="0px"
|
|
62
|
+
viewBox="0 0 438.536 438.536"
|
|
63
|
+
fill="currentColor"
|
|
64
|
+
width="1000px"
|
|
65
|
+
height="500px"
|
|
66
|
+
>
|
|
67
|
+
<g>
|
|
68
|
+
<path
|
|
69
|
+
d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
|
|
70
|
+
C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
|
|
71
|
+
h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
|
|
72
|
+
C438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402
|
|
73
|
+
c0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401
|
|
74
|
+
c-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
|
|
75
|
+
/>
|
|
76
|
+
</g>
|
|
77
|
+
</svg>
|
|
78
|
+
),
|
|
79
|
+
},
|
|
80
|
+
];
|
|
81
|
+
|
|
82
|
+
const bottom = [
|
|
83
|
+
{
|
|
84
|
+
href: "https://www.linkedin.com/company/dxctechnology",
|
|
85
|
+
text: "Linkedin",
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
href: "https://twitter.com/dxctechnology",
|
|
89
|
+
text: "Twitter",
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
href: "https://www.facebook.com/DXCTechnology/",
|
|
93
|
+
text: "Facebook",
|
|
94
|
+
},
|
|
95
|
+
];
|
|
96
|
+
|
|
97
|
+
export default {
|
|
98
|
+
title: "Footer",
|
|
99
|
+
component: DxcFooter,
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
export const Chromatic = () => (
|
|
103
|
+
<>
|
|
104
|
+
<ExampleContainer>
|
|
105
|
+
<Title title="Default" theme="light" level={4} />
|
|
106
|
+
<DxcFooter />
|
|
107
|
+
</ExampleContainer>
|
|
108
|
+
<ExampleContainer>
|
|
109
|
+
<Title title="With children, copyright, bottom links and social links" theme="light" level={4} />
|
|
110
|
+
<DxcFooter copyright="Copyright" socialLinks={social} bottomLinks={bottom}>
|
|
111
|
+
<div>
|
|
112
|
+
<a href="https://www.linkedin.com/company/dxctechnology">Linkedin</a>
|
|
113
|
+
</div>
|
|
114
|
+
</DxcFooter>
|
|
115
|
+
</ExampleContainer>
|
|
116
|
+
<Title title="Margins" theme="light" level={2} />
|
|
117
|
+
<ExampleContainer>
|
|
118
|
+
<Title title="Xxsmall margin" theme="light" level={4} />
|
|
119
|
+
<DxcFooter margin="xxsmall"></DxcFooter>
|
|
120
|
+
<Title title="Xsmall margin" theme="light" level={4} />
|
|
121
|
+
<DxcFooter margin="xsmall"></DxcFooter>
|
|
122
|
+
<Title title="Small margin" theme="light" level={4} />
|
|
123
|
+
<DxcFooter margin="small"></DxcFooter>
|
|
124
|
+
<Title title="Medium margin" theme="light" level={4} />
|
|
125
|
+
<DxcFooter margin="medium"></DxcFooter>
|
|
126
|
+
<Title title="Large margin" theme="light" level={4} />
|
|
127
|
+
<DxcFooter margin="large"></DxcFooter>
|
|
128
|
+
<Title title="Xlarge margin" theme="light" level={4} />
|
|
129
|
+
<DxcFooter margin="xlarge"></DxcFooter>
|
|
130
|
+
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
131
|
+
<DxcFooter margin="xxlarge"></DxcFooter>
|
|
132
|
+
</ExampleContainer>
|
|
133
|
+
<Title title="Padding" theme="light" level={2} />
|
|
134
|
+
<ExampleContainer>
|
|
135
|
+
<Title title="Xxsmall padding" theme="light" level={4} />
|
|
136
|
+
<DxcFooter padding="xxsmall"></DxcFooter>
|
|
137
|
+
<Title title="Xsmall padding" theme="light" level={4} />
|
|
138
|
+
<DxcFooter padding="xsmall"></DxcFooter>
|
|
139
|
+
<Title title="Small padding" theme="light" level={4} />
|
|
140
|
+
<DxcFooter padding="small"></DxcFooter>
|
|
141
|
+
<Title title="Medium padding" theme="light" level={4} />
|
|
142
|
+
<DxcFooter padding="medium"></DxcFooter>
|
|
143
|
+
<Title title="Large padding" theme="light" level={4} />
|
|
144
|
+
<DxcFooter padding="large"></DxcFooter>
|
|
145
|
+
<Title title="Xlarge padding" theme="light" level={4} />
|
|
146
|
+
<DxcFooter padding="xlarge"></DxcFooter>
|
|
147
|
+
<Title title="Xxlarge padding" theme="light" level={4} />
|
|
148
|
+
<DxcFooter padding="xxlarge"></DxcFooter>
|
|
149
|
+
</ExampleContainer>
|
|
150
|
+
</>
|
|
151
|
+
);
|
package/footer/Icons.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
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 _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _default = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
13
|
+
id: "g10",
|
|
14
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
15
|
+
width: "280.781",
|
|
16
|
+
height: "32",
|
|
17
|
+
viewBox: "0 0 280.781 32"
|
|
18
|
+
}, /*#__PURE__*/_react["default"].createElement("title", null, "DXC Logo"), /*#__PURE__*/_react["default"].createElement("g", {
|
|
19
|
+
id: "g12"
|
|
20
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
21
|
+
id: "path14",
|
|
22
|
+
d: "M171.5-54.124v12.539h-3.6V-54.124h-4.973v-3.191h13.54v3.191H171.5",
|
|
23
|
+
transform: "translate(-68.528 65.45)",
|
|
24
|
+
fill: "#fff"
|
|
25
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
26
|
+
id: "path16",
|
|
27
|
+
d: "M189.96-41.585V-57.315h12.326v3.079h-8.753v3.191h7.7v3.078h-7.7v3.3h8.87v3.078H189.96",
|
|
28
|
+
transform: "translate(-77.56 65.45)",
|
|
29
|
+
fill: "#fff"
|
|
30
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
31
|
+
id: "path18",
|
|
32
|
+
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",
|
|
33
|
+
transform: "translate(-86.019 65.583)",
|
|
34
|
+
fill: "#fff"
|
|
35
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
36
|
+
id: "path20",
|
|
37
|
+
d: "M254.988-41.585V-47.9h-6.63v6.315h-3.6V-57.315h3.6v6.225h6.63v-6.225h3.594v15.731h-3.594",
|
|
38
|
+
transform: "translate(-95.903 65.45)",
|
|
39
|
+
fill: "#fff"
|
|
40
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
41
|
+
id: "path22",
|
|
42
|
+
d: "M285.991-41.585l-7.914-10v10h-3.549V-57.315h3.316l7.657,9.685v-9.685h3.549v15.731h-3.058",
|
|
43
|
+
transform: "translate(-105.869 65.45)",
|
|
44
|
+
fill: "#fff"
|
|
45
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
46
|
+
id: "path24",
|
|
47
|
+
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",
|
|
48
|
+
transform: "translate(-115.631 65.583)",
|
|
49
|
+
fill: "#fff"
|
|
50
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
51
|
+
id: "path26",
|
|
52
|
+
d: "M336.786-41.585V-57.315h3.6v12.584h8.148v3.146H336.786",
|
|
53
|
+
transform: "translate(-126.654 65.45)",
|
|
54
|
+
fill: "#fff"
|
|
55
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
56
|
+
id: "path28",
|
|
57
|
+
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",
|
|
58
|
+
transform: "translate(-135.016 65.583)",
|
|
59
|
+
fill: "#fff"
|
|
60
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
61
|
+
id: "path30",
|
|
62
|
+
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",
|
|
63
|
+
transform: "translate(-145.284 65.583)",
|
|
64
|
+
fill: "#fff"
|
|
65
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
66
|
+
id: "path32",
|
|
67
|
+
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",
|
|
68
|
+
transform: "translate(-154.162 65.45)",
|
|
69
|
+
fill: "#fff"
|
|
70
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
71
|
+
id: "path34",
|
|
72
|
+
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
|
+
transform: "translate(-21.08 69.298)",
|
|
74
|
+
fill: "#fff"
|
|
75
|
+
})));
|
|
76
|
+
|
|
77
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
declare type Size = {
|
|
4
|
+
top?: Space;
|
|
5
|
+
bottom?: Space;
|
|
6
|
+
left?: Space;
|
|
7
|
+
right?: Space;
|
|
8
|
+
};
|
|
9
|
+
declare type SocialLink = {
|
|
10
|
+
logo?: ImgElement;
|
|
11
|
+
logoSrc?: string;
|
|
12
|
+
href?: string;
|
|
13
|
+
};
|
|
14
|
+
declare type BottomLink = {
|
|
15
|
+
text?: string;
|
|
16
|
+
href?: string;
|
|
17
|
+
};
|
|
18
|
+
declare type ImgElement = HTMLElement & (SVGElement | HTMLImageElement);
|
|
19
|
+
declare type FooterPropsType = {
|
|
20
|
+
/**
|
|
21
|
+
* An array of objects representing the links that will be rendered as
|
|
22
|
+
* icons at the top-right side of the footer. Each object has the
|
|
23
|
+
* following properties:
|
|
24
|
+
* - logo: Element used as the icon for the link.
|
|
25
|
+
* - logoSrc: The path of an icon for the link. @deprecated
|
|
26
|
+
* - href: URL of the page the link goes to.
|
|
27
|
+
*/
|
|
28
|
+
socialLinks?: [SocialLink, ...SocialLink[]];
|
|
29
|
+
/**
|
|
30
|
+
* An array of objects representing the links that will be rendered at
|
|
31
|
+
* the bottom part of the footer. Each object has the following
|
|
32
|
+
* properties:
|
|
33
|
+
* - text: Text for the link.
|
|
34
|
+
* - href: URL of the page the link goes to.
|
|
35
|
+
*/
|
|
36
|
+
bottomLinks?: [BottomLink, ...BottomLink[]];
|
|
37
|
+
/**
|
|
38
|
+
* The center section of the footer. Can be used to render custom
|
|
39
|
+
* content in this area.
|
|
40
|
+
*/
|
|
41
|
+
children: React.ReactNode;
|
|
42
|
+
/**
|
|
43
|
+
* The text that will be displayed as copyright disclaimer.
|
|
44
|
+
*/
|
|
45
|
+
copyright?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Value of the tabindex for all interactuable elements, except those
|
|
48
|
+
* inside the custom area.
|
|
49
|
+
*/
|
|
50
|
+
tabIndex?: number;
|
|
51
|
+
/**
|
|
52
|
+
* Size of the top margin to be applied to the footer.
|
|
53
|
+
*/
|
|
54
|
+
margin?: Space | Size;
|
|
55
|
+
/**
|
|
56
|
+
* Size of the padding to be applied to the custom area of the component.
|
|
57
|
+
* You can pass an object with properties in order to specify different padding sizes.
|
|
58
|
+
*/
|
|
59
|
+
padding?: Space | Size;
|
|
60
|
+
};
|
|
61
|
+
export default FooterPropsType;
|