@dxc-technology/halstack-react 0.0.0-d5ae9d7 → 0.0.0-d618bea
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 +10 -0
- package/BackgroundColorContext.js +1 -3
- package/ThemeContext.d.ts +15 -0
- package/ThemeContext.js +5 -8
- package/V3Select/V3Select.js +2 -2
- package/V3Textarea/V3Textarea.js +2 -2
- package/accordion/Accordion.d.ts +2 -2
- package/accordion/Accordion.js +2 -2
- package/accordion/types.d.ts +1 -1
- package/accordion-group/AccordionGroup.d.ts +7 -0
- package/accordion-group/AccordionGroup.js +59 -73
- package/accordion-group/AccordionGroup.stories.tsx +225 -0
- package/accordion-group/types.d.ts +72 -0
- package/accordion-group/types.js +5 -0
- package/alert/Alert.js +2 -2
- package/alert/Alert.stories.tsx +170 -0
- package/alert/types.d.ts +1 -1
- package/badge/Badge.js +1 -1
- package/box/Box.d.ts +4 -0
- package/box/Box.js +6 -32
- package/box/Box.stories.tsx +132 -0
- package/box/types.d.ts +43 -0
- package/box/types.js +5 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +9 -12
- package/button/Button.stories.tsx +217 -234
- package/button/types.d.ts +11 -11
- package/card/Card.d.ts +4 -0
- package/card/Card.js +17 -53
- package/card/Card.stories.tsx +201 -0
- package/card/ice-cream.jpg +0 -0
- package/card/types.d.ts +67 -0
- package/card/types.js +5 -0
- package/checkbox/Checkbox.js +2 -2
- package/checkbox/Checkbox.stories.tsx +192 -0
- package/checkbox/types.d.ts +3 -4
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +1 -23
- package/chip/Chip.stories.tsx +121 -0
- package/chip/types.d.ts +53 -0
- package/chip/types.js +5 -0
- package/common/variables.js +45 -38
- package/date/Date.js +1 -1
- package/date-input/DateInput.js +4 -7
- package/date-input/DateInput.stories.tsx +138 -0
- package/dialog/Dialog.d.ts +4 -0
- package/dialog/Dialog.js +6 -25
- package/dialog/Dialog.stories.tsx +212 -0
- package/dialog/types.d.ts +43 -0
- package/dialog/types.js +5 -0
- package/dropdown/Dropdown.d.ts +4 -0
- package/dropdown/Dropdown.js +8 -41
- package/dropdown/types.d.ts +89 -0
- package/dropdown/types.js +5 -0
- package/file-input/FileInput.d.ts +4 -0
- package/file-input/FileInput.js +65 -76
- package/file-input/FileItem.d.ts +14 -0
- package/file-input/FileItem.js +12 -21
- package/file-input/types.d.ts +112 -0
- package/file-input/types.js +5 -0
- package/footer/Footer.d.ts +4 -0
- package/footer/Footer.js +11 -42
- package/footer/Footer.stories.tsx +151 -0
- package/footer/types.d.ts +65 -0
- package/footer/types.js +5 -0
- package/header/Header.d.ts +7 -0
- package/header/Header.js +28 -30
- package/header/Header.stories.tsx +162 -0
- package/header/Icons.js +2 -27
- package/header/types.d.ts +47 -0
- package/header/types.js +5 -0
- package/heading/Heading.d.ts +4 -0
- package/heading/Heading.js +7 -24
- package/heading/Heading.stories.tsx +53 -0
- package/heading/types.d.ts +33 -0
- package/heading/types.js +5 -0
- package/input-text/InputText.js +2 -2
- package/layout/ApplicationLayout.d.ts +10 -0
- package/layout/ApplicationLayout.js +8 -18
- package/layout/ApplicationLayout.stories.tsx +171 -0
- package/layout/types.d.ts +57 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +3 -0
- package/link/Link.js +4 -26
- package/link/Link.stories.tsx +146 -0
- package/link/types.d.ts +74 -0
- package/link/types.js +5 -0
- package/list/List.d.ts +7 -0
- package/list/List.js +37 -0
- package/list/List.stories.tsx +70 -0
- package/main.d.ts +7 -3
- package/main.js +34 -2
- package/number-input/NumberInput.d.ts +4 -0
- package/number-input/NumberInput.js +5 -50
- package/number-input/NumberInput.stories.tsx +115 -0
- package/number-input/NumberInputContext.d.ts +4 -0
- package/number-input/NumberInputContext.js +5 -2
- package/number-input/numberInputContextTypes.d.ts +19 -0
- package/number-input/numberInputContextTypes.js +5 -0
- package/number-input/types.d.ts +117 -0
- package/number-input/types.js +5 -0
- package/package.json +1 -1
- package/paginator/Paginator.js +2 -8
- package/paginator/Paginator.stories.tsx +63 -0
- package/password-input/PasswordInput.d.ts +4 -0
- package/password-input/PasswordInput.js +19 -55
- package/password-input/{PasswordInput.stories.jsx → PasswordInput.stories.tsx} +1 -1
- package/password-input/types.d.ts +107 -0
- package/password-input/types.js +5 -0
- package/progress-bar/ProgressBar.d.ts +4 -0
- package/progress-bar/ProgressBar.js +5 -23
- package/progress-bar/ProgressBar.stories.jsx +58 -0
- package/progress-bar/types.d.ts +37 -0
- package/progress-bar/types.js +5 -0
- package/radio/Radio.js +2 -2
- package/radio/Radio.stories.tsx +192 -0
- package/radio/types.d.ts +2 -2
- package/resultsetTable/ResultsetTable.d.ts +4 -0
- package/resultsetTable/ResultsetTable.js +4 -27
- package/resultsetTable/types.d.ts +67 -0
- package/resultsetTable/types.js +5 -0
- package/row/Row.d.ts +11 -0
- package/row/Row.js +124 -0
- package/row/Row.stories.tsx +223 -0
- package/select/Select.js +15 -17
- package/select/Select.stories.tsx +572 -0
- package/select/index.d.ts +4 -4
- package/sidenav/Sidenav.d.ts +9 -0
- package/sidenav/Sidenav.js +6 -15
- package/sidenav/Sidenav.stories.tsx +165 -0
- package/sidenav/types.d.ts +50 -0
- package/sidenav/types.js +5 -0
- package/slider/Slider.d.ts +4 -0
- package/slider/Slider.js +61 -84
- package/slider/Slider.stories.tsx +177 -0
- package/slider/types.d.ts +78 -0
- package/slider/types.js +5 -0
- package/spinner/Spinner.d.ts +4 -0
- package/spinner/Spinner.js +8 -25
- package/spinner/Spinner.stories.jsx +102 -0
- package/spinner/types.d.ts +32 -0
- package/spinner/types.js +5 -0
- package/stack/Stack.d.ts +10 -0
- package/stack/Stack.js +94 -0
- package/stack/Stack.stories.tsx +150 -0
- package/switch/Switch.js +4 -4
- package/switch/Switch.stories.tsx +160 -0
- package/table/Table.d.ts +4 -0
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +276 -0
- package/table/types.d.ts +21 -0
- package/table/types.js +5 -0
- package/tabs/Tabs.d.ts +4 -0
- package/tabs/Tabs.js +9 -55
- package/tabs/Tabs.stories.tsx +121 -0
- package/tabs/types.d.ts +70 -0
- package/tabs/types.js +5 -0
- package/tag/Tag.d.ts +4 -0
- package/tag/Tag.js +21 -36
- package/tag/Tag.stories.tsx +145 -0
- package/tag/types.d.ts +60 -0
- package/tag/types.js +5 -0
- package/text/Text.d.ts +7 -0
- package/text/Text.js +30 -0
- package/text/Text.stories.tsx +19 -0
- package/text-input/TextInput.d.ts +4 -0
- package/text-input/TextInput.js +42 -81
- package/text-input/TextInput.stories.tsx +456 -0
- package/text-input/types.d.ts +159 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.js +29 -32
- package/textarea/Textarea.stories.jsx +135 -0
- package/textarea/index.d.ts +18 -8
- package/toggle/Toggle.js +1 -1
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +8 -34
- package/toggle-group/ToggleGroup.stories.tsx +178 -0
- package/toggle-group/types.d.ts +84 -0
- package/toggle-group/types.js +5 -0
- package/upload/buttons-upload/ButtonsUpload.js +2 -2
- package/upload/dragAndDropArea/DragAndDropArea.js +2 -2
- package/upload/file-upload/FileToUpload.js +1 -1
- package/upload/files-upload/FilesToUpload.js +1 -1
- package/upload/transaction/Transaction.js +2 -2
- package/upload/transactions/Transactions.js +1 -1
- package/useTheme.d.ts +2 -0
- package/useTheme.js +1 -1
- package/wizard/Wizard.d.ts +4 -0
- package/wizard/Wizard.js +13 -53
- package/wizard/Wizard.stories.jsx +224 -0
- package/wizard/types.d.ts +64 -0
- package/wizard/types.js +5 -0
- package/accordion-group/index.d.ts +0 -16
- package/box/index.d.ts +0 -25
- package/card/index.d.ts +0 -22
- package/chip/index.d.ts +0 -22
- package/dialog/index.d.ts +0 -18
- package/dropdown/index.d.ts +0 -26
- package/file-input/index.d.ts +0 -81
- package/footer/index.d.ts +0 -25
- package/header/index.d.ts +0 -25
- package/heading/index.d.ts +0 -17
- package/link/index.d.ts +0 -23
- package/number-input/index.d.ts +0 -113
- package/password-input/index.d.ts +0 -94
- package/progress-bar/index.d.ts +0 -18
- package/resultsetTable/index.d.ts +0 -19
- package/sidenav/index.d.ts +0 -13
- package/slider/index.d.ts +0 -29
- package/spinner/index.d.ts +0 -17
- package/table/index.d.ts +0 -13
- package/tabs/index.d.ts +0 -19
- package/tag/index.d.ts +0 -24
- package/text-input/index.d.ts +0 -135
- package/toggle-group/index.d.ts +0 -21
- package/wizard/index.d.ts +0 -18
|
@@ -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
|
+
);
|
|
@@ -0,0 +1,65 @@
|
|
|
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 SVG = React.SVGProps<SVGSVGElement> | React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
|
|
10
|
+
declare type SocialLink = {
|
|
11
|
+
/**
|
|
12
|
+
* Element used as the icon for the link.
|
|
13
|
+
*/
|
|
14
|
+
logo: string | SVG;
|
|
15
|
+
/**
|
|
16
|
+
* URL of the page the link goes to.
|
|
17
|
+
*/
|
|
18
|
+
href: string;
|
|
19
|
+
};
|
|
20
|
+
declare type BottomLink = {
|
|
21
|
+
/**
|
|
22
|
+
* Text for the link.
|
|
23
|
+
*/
|
|
24
|
+
text: string;
|
|
25
|
+
/**
|
|
26
|
+
* URL of the page the link goes to.
|
|
27
|
+
*/
|
|
28
|
+
href: string;
|
|
29
|
+
};
|
|
30
|
+
declare type FooterPropsType = {
|
|
31
|
+
/**
|
|
32
|
+
* An array of objects representing the links that will be rendered as
|
|
33
|
+
* icons at the top-right side of the footer.
|
|
34
|
+
*/
|
|
35
|
+
socialLinks?: SocialLink[];
|
|
36
|
+
/**
|
|
37
|
+
* An array of objects representing the links that will be rendered at
|
|
38
|
+
* the bottom part of the footer.
|
|
39
|
+
*/
|
|
40
|
+
bottomLinks?: BottomLink[];
|
|
41
|
+
/**
|
|
42
|
+
* The center section of the footer. Can be used to render custom
|
|
43
|
+
* content in this area.
|
|
44
|
+
*/
|
|
45
|
+
children?: React.ReactNode;
|
|
46
|
+
/**
|
|
47
|
+
* The text that will be displayed as copyright disclaimer.
|
|
48
|
+
*/
|
|
49
|
+
copyright?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Value of the tabindex for all interactuable elements, except those
|
|
52
|
+
* inside the custom area.
|
|
53
|
+
*/
|
|
54
|
+
tabIndex?: number;
|
|
55
|
+
/**
|
|
56
|
+
* Size of the top margin to be applied to the footer.
|
|
57
|
+
*/
|
|
58
|
+
margin?: Space | Size;
|
|
59
|
+
/**
|
|
60
|
+
* Size of the padding to be applied to the custom area of the component.
|
|
61
|
+
* You can pass an object with properties in order to specify different padding sizes.
|
|
62
|
+
*/
|
|
63
|
+
padding?: Space | Size;
|
|
64
|
+
};
|
|
65
|
+
export default FooterPropsType;
|
package/footer/types.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import HeaderPropsType from "./types";
|
|
3
|
+
declare const DxcHeader: {
|
|
4
|
+
({ underlined, content, responsiveContent, onClick, margin, padding, tabIndex, }: HeaderPropsType): JSX.Element;
|
|
5
|
+
Dropdown: (props: any) => JSX.Element;
|
|
6
|
+
};
|
|
7
|
+
export default DxcHeader;
|
package/header/Header.js
CHANGED
|
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports["default"] = void 0;
|
|
11
11
|
|
|
12
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
13
|
|
|
16
14
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
@@ -23,17 +21,15 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
23
21
|
|
|
24
22
|
var _AppBar = _interopRequireDefault(require("@material-ui/core/AppBar"));
|
|
25
23
|
|
|
26
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
|
-
|
|
28
24
|
var _Dropdown = _interopRequireDefault(require("../dropdown/Dropdown"));
|
|
29
25
|
|
|
30
26
|
var _Icons = require("./Icons");
|
|
31
27
|
|
|
32
28
|
var _variables = require("../common/variables.js");
|
|
33
29
|
|
|
34
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
30
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
35
31
|
|
|
36
|
-
var _BackgroundColorContext = _interopRequireWildcard(require("../BackgroundColorContext
|
|
32
|
+
var _BackgroundColorContext = _interopRequireWildcard(require("../BackgroundColorContext"));
|
|
37
33
|
|
|
38
34
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
|
|
39
35
|
|
|
@@ -41,6 +37,27 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
41
37
|
|
|
42
38
|
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; }
|
|
43
39
|
|
|
40
|
+
var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
41
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
42
|
+
height: "24",
|
|
43
|
+
viewBox: "0 0 24 24",
|
|
44
|
+
width: "24"
|
|
45
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
46
|
+
d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
|
|
47
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
48
|
+
d: "M0 0h24v24H0z",
|
|
49
|
+
fill: "none"
|
|
50
|
+
}));
|
|
51
|
+
|
|
52
|
+
var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
53
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
54
|
+
viewBox: "0 0 24 24",
|
|
55
|
+
width: "24",
|
|
56
|
+
height: "24"
|
|
57
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
58
|
+
d: "M3,8H21a1,1,0,0,0,0-2H3A1,1,0,0,0,3,8Zm18,8H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Zm0-5H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Z"
|
|
59
|
+
}));
|
|
60
|
+
|
|
44
61
|
var Dropdown = function Dropdown(props) {
|
|
45
62
|
return /*#__PURE__*/_react["default"].createElement(HeaderDropdown, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], props));
|
|
46
63
|
};
|
|
@@ -65,9 +82,9 @@ var getLogoElement = function getLogoElement(themeInput) {
|
|
|
65
82
|
var DxcHeader = function DxcHeader(_ref) {
|
|
66
83
|
var _ref$underlined = _ref.underlined,
|
|
67
84
|
underlined = _ref$underlined === void 0 ? false : _ref$underlined,
|
|
68
|
-
onClick = _ref.onClick,
|
|
69
85
|
content = _ref.content,
|
|
70
86
|
responsiveContent = _ref.responsiveContent,
|
|
87
|
+
onClick = _ref.onClick,
|
|
71
88
|
margin = _ref.margin,
|
|
72
89
|
padding = _ref.padding,
|
|
73
90
|
_ref$tabIndex = _ref.tabIndex,
|
|
@@ -80,7 +97,7 @@ var DxcHeader = function DxcHeader(_ref) {
|
|
|
80
97
|
refSize = _useState2[0],
|
|
81
98
|
setRefSize = _useState2[1];
|
|
82
99
|
|
|
83
|
-
var _useState3 = (0, _react.useState)(),
|
|
100
|
+
var _useState3 = (0, _react.useState)(false),
|
|
84
101
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
85
102
|
isResponsive = _useState4[0],
|
|
86
103
|
setIsResponsive = _useState4[1];
|
|
@@ -158,16 +175,16 @@ var DxcHeader = function DxcHeader(_ref) {
|
|
|
158
175
|
tabIndex: tabIndex,
|
|
159
176
|
underlined: underlined,
|
|
160
177
|
onClick: handleMenu
|
|
161
|
-
},
|
|
178
|
+
}, hamburgerIcon, /*#__PURE__*/_react["default"].createElement(HamburguerTitle, null, "Menu"))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
|
|
162
179
|
hasVisibility: isMenuVisible,
|
|
163
180
|
refSize: refSize
|
|
164
181
|
}, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
|
|
165
182
|
color: colorsTheme.header.menuBackgroundColor
|
|
166
|
-
}, /*#__PURE__*/_react["default"].createElement(ContentContainerComponent, null
|
|
183
|
+
}, /*#__PURE__*/_react["default"].createElement(ContentContainerComponent, null)), /*#__PURE__*/_react["default"].createElement(CloseContainer, {
|
|
167
184
|
tabIndex: tabIndex,
|
|
168
185
|
onClick: handleMenu,
|
|
169
186
|
className: "closeIcon"
|
|
170
|
-
},
|
|
187
|
+
}, closeIcon)), /*#__PURE__*/_react["default"].createElement(Overlay, {
|
|
171
188
|
onClick: handleMenu,
|
|
172
189
|
hasVisibility: isMenuVisible,
|
|
173
190
|
refSize: refSize
|
|
@@ -303,24 +320,5 @@ var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateOb
|
|
|
303
320
|
return props.theme.overlayZindex;
|
|
304
321
|
});
|
|
305
322
|
|
|
306
|
-
DxcHeader.propTypes = {
|
|
307
|
-
underlined: _propTypes["default"].bool,
|
|
308
|
-
onClick: _propTypes["default"].func,
|
|
309
|
-
margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
310
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
311
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
312
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
313
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
314
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
|
|
315
|
-
padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
316
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
317
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
318
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
319
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
320
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
|
|
321
|
-
content: _propTypes["default"].object,
|
|
322
|
-
responsiveContent: _propTypes["default"].func,
|
|
323
|
-
tabIndex: _propTypes["default"].number
|
|
324
|
-
};
|
|
325
323
|
var _default = DxcHeader;
|
|
326
324
|
exports["default"] = _default;
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import DxcHeader from "./Header";
|
|
3
|
+
import Title from "../../.storybook/components/Title";
|
|
4
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
|
+
import { userEvent, waitFor, within } from "@storybook/testing-library";
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: "Header",
|
|
9
|
+
component: DxcHeader,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const options: any = [
|
|
13
|
+
{
|
|
14
|
+
value: 1,
|
|
15
|
+
label: "Amazon",
|
|
16
|
+
},
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
export const Chromatic = () => (
|
|
20
|
+
<>
|
|
21
|
+
<ExampleContainer>
|
|
22
|
+
<Title title="Default with dropdown" theme="light" level={4} />
|
|
23
|
+
<DxcHeader content={<DxcHeader.Dropdown options={options} label="Default Dropdown" />} />
|
|
24
|
+
</ExampleContainer>
|
|
25
|
+
<ExampleContainer>
|
|
26
|
+
<Title title="Underlined with text" theme="light" level={4} />
|
|
27
|
+
<DxcHeader underlined content={<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>} />
|
|
28
|
+
</ExampleContainer>
|
|
29
|
+
<ExampleContainer>
|
|
30
|
+
<Title title="Responsive" theme="light" level={4} />
|
|
31
|
+
<div style={{ width: "400px" }}>
|
|
32
|
+
<DxcHeader
|
|
33
|
+
responsiveContent={(closeHandler) => <DxcHeader.Dropdown options={options} label="Default Dropdown" />}
|
|
34
|
+
underlined
|
|
35
|
+
/>
|
|
36
|
+
</div>
|
|
37
|
+
</ExampleContainer>
|
|
38
|
+
<Title title="Margins" theme="light" level={2} />
|
|
39
|
+
<ExampleContainer>
|
|
40
|
+
<Title title="Xxsmall margin" theme="light" level={4} />
|
|
41
|
+
<DxcHeader underlined margin="xxsmall" />
|
|
42
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
43
|
+
</ExampleContainer>
|
|
44
|
+
<ExampleContainer>
|
|
45
|
+
<Title title="Xsmall margin" theme="light" level={4} />
|
|
46
|
+
<DxcHeader underlined margin="xsmall" />
|
|
47
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
48
|
+
</ExampleContainer>
|
|
49
|
+
<ExampleContainer>
|
|
50
|
+
<Title title="Small margin" theme="light" level={4} />
|
|
51
|
+
<DxcHeader underlined margin="small" />
|
|
52
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
53
|
+
</ExampleContainer>
|
|
54
|
+
<ExampleContainer>
|
|
55
|
+
<Title title="Medium margin" theme="light" level={4} />
|
|
56
|
+
<DxcHeader underlined margin="medium" />
|
|
57
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
58
|
+
</ExampleContainer>
|
|
59
|
+
<ExampleContainer>
|
|
60
|
+
<Title title="Large margin" theme="light" level={4} />
|
|
61
|
+
<DxcHeader underlined margin="large" />
|
|
62
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
63
|
+
</ExampleContainer>
|
|
64
|
+
<ExampleContainer>
|
|
65
|
+
<Title title="Xlarge margin" theme="light" level={4} />
|
|
66
|
+
<DxcHeader underlined margin="xlarge" />
|
|
67
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
68
|
+
</ExampleContainer>
|
|
69
|
+
<ExampleContainer>
|
|
70
|
+
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
71
|
+
<DxcHeader underlined margin="xxlarge" />
|
|
72
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
73
|
+
</ExampleContainer>
|
|
74
|
+
|
|
75
|
+
<Title title="Paddings" theme="light" level={2} />
|
|
76
|
+
<ExampleContainer>
|
|
77
|
+
<Title title="Xxsmall padding" theme="light" level={4} />
|
|
78
|
+
<DxcHeader underlined padding="xxsmall" />
|
|
79
|
+
</ExampleContainer>
|
|
80
|
+
<ExampleContainer>
|
|
81
|
+
<Title title="Xsmall padding" theme="light" level={4} />
|
|
82
|
+
<DxcHeader underlined padding="xsmall" />
|
|
83
|
+
</ExampleContainer>
|
|
84
|
+
<ExampleContainer>
|
|
85
|
+
<Title title="Small padding" theme="light" level={4} />
|
|
86
|
+
<DxcHeader underlined padding="small" />
|
|
87
|
+
</ExampleContainer>
|
|
88
|
+
<ExampleContainer>
|
|
89
|
+
<Title title="Medium padding" theme="light" level={4} />
|
|
90
|
+
<DxcHeader underlined padding="medium" />
|
|
91
|
+
</ExampleContainer>
|
|
92
|
+
<ExampleContainer>
|
|
93
|
+
<Title title="Large padding" theme="light" level={4} />
|
|
94
|
+
<DxcHeader underlined padding="large" />
|
|
95
|
+
</ExampleContainer>
|
|
96
|
+
<ExampleContainer>
|
|
97
|
+
<Title title="Xlarge padding" theme="light" level={4} />
|
|
98
|
+
<DxcHeader underlined padding="xlarge" />
|
|
99
|
+
</ExampleContainer>
|
|
100
|
+
<ExampleContainer>
|
|
101
|
+
<Title title="Xxlarge padding" theme="light" level={4} />
|
|
102
|
+
<DxcHeader underlined padding="xxlarge" />
|
|
103
|
+
</ExampleContainer>
|
|
104
|
+
</>
|
|
105
|
+
);
|
|
106
|
+
|
|
107
|
+
const RespHeader = () => (
|
|
108
|
+
<ExampleContainer>
|
|
109
|
+
<Title title="Responsive" theme="light" level={4} />
|
|
110
|
+
<div style={{ maxWidth: "400px" }}>
|
|
111
|
+
<DxcHeader
|
|
112
|
+
responsiveContent={(closeHandler) => <DxcHeader.Dropdown options={options} label="Default Dropdown" />}
|
|
113
|
+
underlined
|
|
114
|
+
/>
|
|
115
|
+
</div>
|
|
116
|
+
</ExampleContainer>
|
|
117
|
+
);
|
|
118
|
+
|
|
119
|
+
const RespHeaderFocus = () => (
|
|
120
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
121
|
+
<Title title="Responsive" theme="light" level={4} />
|
|
122
|
+
<div style={{ maxWidth: "400px" }}>
|
|
123
|
+
<DxcHeader
|
|
124
|
+
responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>}
|
|
125
|
+
underlined
|
|
126
|
+
/>
|
|
127
|
+
</div>
|
|
128
|
+
</ExampleContainer>
|
|
129
|
+
);
|
|
130
|
+
|
|
131
|
+
const RespHeaderHover = () => (
|
|
132
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
133
|
+
<Title title="Responsive" theme="light" level={4} />
|
|
134
|
+
<div style={{ maxWidth: "400px" }}>
|
|
135
|
+
<DxcHeader
|
|
136
|
+
responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>}
|
|
137
|
+
underlined
|
|
138
|
+
/>
|
|
139
|
+
</div>
|
|
140
|
+
</ExampleContainer>
|
|
141
|
+
);
|
|
142
|
+
|
|
143
|
+
export const ResponsiveHeader = RespHeader.bind({});
|
|
144
|
+
ResponsiveHeader.play = async ({ canvasElement }) => {
|
|
145
|
+
const canvas = within(canvasElement);
|
|
146
|
+
await waitFor(() => canvas.findByText("Menu"));
|
|
147
|
+
await userEvent.click(canvas.getByText("Menu"));
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
export const ResponsiveHeaderFocus = RespHeaderFocus.bind({});
|
|
151
|
+
ResponsiveHeaderFocus.play = async ({ canvasElement }) => {
|
|
152
|
+
const canvas = within(canvasElement);
|
|
153
|
+
await waitFor(() => canvas.findByText("Menu"));
|
|
154
|
+
await userEvent.click(canvas.getByText("Menu"));
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
export const ResponsiveHeaderHover = RespHeaderHover.bind({});
|
|
158
|
+
ResponsiveHeaderHover.play = async ({ canvasElement }) => {
|
|
159
|
+
const canvas = within(canvasElement);
|
|
160
|
+
await waitFor(() => canvas.findByText("Menu"));
|
|
161
|
+
await userEvent.click(canvas.getByText("Menu"));
|
|
162
|
+
};
|
package/header/Icons.js
CHANGED
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.dxcLogo = void 0;
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
|
|
@@ -31,29 +31,4 @@ var dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
31
31
|
fill: "#100f0d"
|
|
32
32
|
}))));
|
|
33
33
|
|
|
34
|
-
exports.dxcLogo = dxcLogo;
|
|
35
|
-
|
|
36
|
-
var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
37
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
38
|
-
height: "24",
|
|
39
|
-
viewBox: "0 0 24 24",
|
|
40
|
-
width: "24"
|
|
41
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
42
|
-
d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
|
|
43
|
-
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
44
|
-
d: "M0 0h24v24H0z",
|
|
45
|
-
fill: "none"
|
|
46
|
-
}));
|
|
47
|
-
|
|
48
|
-
exports.closeIcon = closeIcon;
|
|
49
|
-
|
|
50
|
-
var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
51
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
52
|
-
viewBox: "0 0 24 24",
|
|
53
|
-
width: "24",
|
|
54
|
-
height: "24"
|
|
55
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
56
|
-
d: "M3,8H21a1,1,0,0,0,0-2H3A1,1,0,0,0,3,8Zm18,8H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Zm0-5H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Z"
|
|
57
|
-
}));
|
|
58
|
-
|
|
59
|
-
exports.hamburgerIcon = hamburgerIcon;
|
|
34
|
+
exports.dxcLogo = dxcLogo;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
declare type Padding = {
|
|
4
|
+
top?: Space;
|
|
5
|
+
bottom?: Space;
|
|
6
|
+
left?: Space;
|
|
7
|
+
right?: Space;
|
|
8
|
+
};
|
|
9
|
+
declare type Props = {
|
|
10
|
+
/**
|
|
11
|
+
* Wether a contrast line should appear at the bottom of the header.
|
|
12
|
+
*/
|
|
13
|
+
underlined?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Content showed in the header. Take into account that the component applies styles
|
|
16
|
+
* for the first child in the content, so we recommend the use of React.Fragment
|
|
17
|
+
* to be applied correctly. Otherwise, the styles can be modified.
|
|
18
|
+
*/
|
|
19
|
+
content?: React.ReactNode;
|
|
20
|
+
/**
|
|
21
|
+
* Content showed in responsive version. It receives the close menu handler that can
|
|
22
|
+
* be used to add that functionality when a element is clicked.
|
|
23
|
+
*/
|
|
24
|
+
responsiveContent?: (closeHandler: () => void) => React.ReactNode;
|
|
25
|
+
/**
|
|
26
|
+
* This function will be called when the user clicks the header logo.
|
|
27
|
+
*/
|
|
28
|
+
onClick?: () => void;
|
|
29
|
+
/**
|
|
30
|
+
* Size of the bottom margin to be applied to the header
|
|
31
|
+
* ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
32
|
+
*/
|
|
33
|
+
margin?: Space;
|
|
34
|
+
/**
|
|
35
|
+
* Size of the padding to be applied to the custom area of the component
|
|
36
|
+
* ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
37
|
+
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in
|
|
38
|
+
* order to specify different padding sizes.
|
|
39
|
+
*/
|
|
40
|
+
padding?: Space | Padding;
|
|
41
|
+
/**
|
|
42
|
+
* Value of the tabindex for all interactuable elements, except those inside the
|
|
43
|
+
* custom area.
|
|
44
|
+
*/
|
|
45
|
+
tabIndex?: number;
|
|
46
|
+
};
|
|
47
|
+
export default Props;
|
package/header/types.js
ADDED