@dxc-technology/halstack-react 0.0.0-2be11f4 → 0.0.0-2c12f2d
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 +0 -1
- package/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +295 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +13 -45
- package/accordion/Accordion.stories.tsx +307 -0
- package/accordion/Accordion.test.js +72 -0
- package/accordion/types.d.ts +8 -8
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +13 -15
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +151 -0
- package/accordion-group/types.d.ts +8 -8
- package/alert/Alert.js +4 -1
- package/alert/Alert.test.js +92 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +5 -0
- package/{radio → badge}/types.js +0 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +84 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.js +22 -32
- package/box/Box.test.js +18 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +19 -24
- package/button/Button.stories.tsx +6 -8
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +3 -7
- package/card/Card.js +27 -28
- package/card/Card.stories.tsx +1 -1
- package/card/Card.test.js +50 -0
- package/checkbox/Checkbox.d.ts +1 -1
- package/checkbox/Checkbox.js +43 -39
- package/checkbox/Checkbox.stories.tsx +124 -128
- package/checkbox/Checkbox.test.js +78 -0
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.d.ts +1 -1
- package/chip/Chip.js +16 -54
- package/chip/Chip.stories.tsx +6 -8
- package/chip/Chip.test.js +56 -0
- package/chip/types.d.ts +7 -15
- package/common/variables.js +233 -341
- package/date-input/DateInput.js +62 -51
- package/date-input/DateInput.stories.tsx +7 -7
- package/date-input/DateInput.test.js +479 -0
- package/date-input/types.d.ts +16 -9
- package/dialog/Dialog.js +6 -33
- package/dialog/Dialog.test.js +40 -0
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +21 -47
- package/dropdown/Dropdown.stories.tsx +249 -0
- package/dropdown/Dropdown.test.js +189 -0
- package/dropdown/types.d.ts +5 -14
- package/file-input/FileInput.d.ts +1 -1
- package/file-input/FileInput.js +152 -70
- package/file-input/FileInput.stories.tsx +507 -0
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.js +9 -7
- package/file-input/types.d.ts +32 -7
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +30 -111
- package/footer/{Footer.stories.jsx → Footer.stories.tsx} +1 -22
- package/footer/Footer.test.js +109 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +3 -3
- package/footer/types.d.ts +5 -9
- package/header/Header.js +27 -48
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +79 -0
- package/header/Icons.d.ts +2 -0
- package/heading/Heading.stories.tsx +3 -2
- package/heading/Heading.test.js +186 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +84 -0
- package/inset/Inset.stories.tsx +229 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +4 -3
- package/layout/ApplicationLayout.js +81 -110
- package/layout/ApplicationLayout.stories.tsx +14 -59
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +5 -10
- package/link/Link.d.ts +3 -2
- package/link/Link.js +60 -85
- package/link/Link.stories.tsx +91 -51
- package/link/Link.test.js +83 -0
- package/link/types.d.ts +9 -29
- package/list/List.d.ts +3 -6
- package/list/List.js +17 -7
- package/list/List.stories.tsx +25 -0
- package/list/types.d.ts +7 -0
- package/list/types.js +5 -0
- package/main.d.ts +7 -8
- package/main.js +39 -41
- package/number-input/NumberInput.js +14 -24
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +506 -0
- package/number-input/types.d.ts +17 -10
- package/package.json +9 -6
- package/paginator/Paginator.js +17 -44
- package/paginator/Paginator.test.js +266 -0
- package/password-input/PasswordInput.js +19 -17
- package/password-input/PasswordInput.stories.tsx +3 -3
- package/password-input/PasswordInput.test.js +180 -0
- package/password-input/types.d.ts +14 -11
- package/progress-bar/ProgressBar.js +3 -3
- package/progress-bar/ProgressBar.stories.jsx +11 -11
- package/progress-bar/ProgressBar.test.js +65 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +112 -0
- package/quick-nav/QuickNav.stories.tsx +237 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +141 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +282 -0
- package/radio-group/RadioGroup.stories.tsx +100 -0
- package/radio-group/RadioGroup.test.js +695 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultsetTable/ResultsetTable.js +5 -2
- package/resultsetTable/ResultsetTable.stories.tsx +275 -0
- package/resultsetTable/ResultsetTable.test.js +306 -0
- package/resultsetTable/types.d.ts +1 -1
- package/row/Row.d.ts +3 -11
- package/row/Row.js +12 -9
- package/row/Row.stories.tsx +20 -6
- package/row/types.d.ts +28 -0
- package/row/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +152 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +110 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +121 -341
- package/select/Select.stories.tsx +103 -81
- package/select/Select.test.js +2120 -0
- package/select/types.d.ts +213 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.d.ts +1 -1
- package/sidenav/Sidenav.js +20 -9
- package/sidenav/Sidenav.stories.tsx +18 -1
- package/sidenav/Sidenav.test.js +56 -0
- package/slider/Slider.d.ts +1 -1
- package/slider/Slider.js +2 -1
- package/slider/Slider.stories.tsx +8 -8
- package/slider/Slider.test.js +150 -0
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +1 -1
- package/spinner/Spinner.stories.jsx +1 -0
- package/spinner/Spinner.test.js +64 -0
- package/stack/Stack.d.ts +3 -10
- package/stack/Stack.js +12 -9
- package/stack/Stack.stories.tsx +20 -6
- package/stack/types.d.ts +24 -0
- package/stack/types.js +5 -0
- package/switch/Switch.d.ts +1 -1
- package/switch/Switch.js +35 -19
- package/switch/Switch.stories.tsx +15 -15
- package/switch/Switch.test.js +98 -0
- package/switch/types.d.ts +6 -2
- package/table/Table.stories.jsx +2 -1
- package/table/Table.test.js +26 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +16 -18
- package/tabs/Tabs.stories.tsx +7 -16
- package/tabs/Tabs.test.js +140 -0
- package/tabs/types.d.ts +27 -15
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +170 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +132 -0
- package/tabs-nav/types.d.ts +53 -0
- package/tabs-nav/types.js +5 -0
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +17 -27
- package/tag/Tag.stories.tsx +26 -29
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +23 -14
- package/text/Text.js +1 -1
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +55 -0
- package/text-input/TextInput.js +78 -96
- package/text-input/TextInput.stories.tsx +34 -16
- package/text-input/TextInput.test.js +1712 -0
- package/text-input/types.d.ts +32 -13
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +32 -71
- package/textarea/Textarea.stories.jsx +37 -15
- package/textarea/Textarea.test.js +437 -0
- package/textarea/types.d.ts +137 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +1 -1
- package/toggle-group/ToggleGroup.js +14 -16
- package/toggle-group/ToggleGroup.stories.tsx +27 -32
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +46 -25
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +106 -45
- package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +13 -23
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +8 -8
- package/ThemeContext.d.ts +0 -15
- package/ThemeContext.js +0 -243
- package/V3Select/V3Select.js +0 -455
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -260
- package/V3Textarea/index.d.ts +0 -27
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/types.d.ts +0 -54
- package/select/index.d.ts +0 -131
- package/textarea/index.d.ts +0 -127
- package/toggle/Toggle.js +0 -186
- package/toggle/index.d.ts +0 -21
- package/upload/Upload.js +0 -201
- package/upload/buttons-upload/ButtonsUpload.js +0 -111
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -115
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -109
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -104
- package/upload/transactions/Transactions.js +0 -94
- package/wizard/Icons.js +0 -65
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import Title from "../../.storybook/components/Title";
|
|
3
|
+
import styled from "styled-components";
|
|
4
|
+
import DxcStack from "./../stack/Stack";
|
|
5
|
+
import DxcInset from "./Inset";
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: "Inset",
|
|
9
|
+
component: DxcInset,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const Chromatic = () => (
|
|
13
|
+
<>
|
|
14
|
+
<Title title="Default" level={4} />
|
|
15
|
+
<Container>
|
|
16
|
+
<DxcInset>
|
|
17
|
+
<Placeholder></Placeholder>
|
|
18
|
+
</DxcInset>
|
|
19
|
+
</Container>
|
|
20
|
+
<Title title="space = none" level={4} />
|
|
21
|
+
<Container>
|
|
22
|
+
<DxcInset space="none">
|
|
23
|
+
<Placeholder></Placeholder>
|
|
24
|
+
</DxcInset>
|
|
25
|
+
</Container>
|
|
26
|
+
<Title title="space = xxxsmall" level={4} />
|
|
27
|
+
<Container>
|
|
28
|
+
<DxcInset space="xxxsmall">
|
|
29
|
+
<Placeholder></Placeholder>
|
|
30
|
+
</DxcInset>
|
|
31
|
+
</Container>
|
|
32
|
+
<Title title="space = xxsmall" level={4} />
|
|
33
|
+
<Container>
|
|
34
|
+
<DxcInset space="xxsmall">
|
|
35
|
+
<Placeholder></Placeholder>
|
|
36
|
+
</DxcInset>
|
|
37
|
+
</Container>
|
|
38
|
+
<Title title="space = xsmall" level={4} />
|
|
39
|
+
<Container>
|
|
40
|
+
<DxcInset space="xsmall">
|
|
41
|
+
<Placeholder></Placeholder>
|
|
42
|
+
</DxcInset>
|
|
43
|
+
</Container>
|
|
44
|
+
<Title title="space = small" level={4} />
|
|
45
|
+
<Container>
|
|
46
|
+
<DxcInset space="small">
|
|
47
|
+
<Placeholder></Placeholder>
|
|
48
|
+
</DxcInset>
|
|
49
|
+
</Container>
|
|
50
|
+
<Title title="space = medium" level={4} />
|
|
51
|
+
<Container>
|
|
52
|
+
<DxcInset space="medium">
|
|
53
|
+
<Placeholder></Placeholder>
|
|
54
|
+
</DxcInset>
|
|
55
|
+
</Container>
|
|
56
|
+
<Title title="space = large" level={4} />
|
|
57
|
+
<Container>
|
|
58
|
+
<DxcInset space="large">
|
|
59
|
+
<Placeholder></Placeholder>
|
|
60
|
+
</DxcInset>
|
|
61
|
+
</Container>
|
|
62
|
+
<Title title="space = xlarge" level={4} />
|
|
63
|
+
<Container>
|
|
64
|
+
<DxcInset space="xlarge">
|
|
65
|
+
<Placeholder></Placeholder>
|
|
66
|
+
</DxcInset>
|
|
67
|
+
</Container>
|
|
68
|
+
<Title title="space = xxlarge" level={4} />
|
|
69
|
+
<Container>
|
|
70
|
+
<DxcInset space="xxlarge">
|
|
71
|
+
<Placeholder></Placeholder>
|
|
72
|
+
</DxcInset>
|
|
73
|
+
</Container>
|
|
74
|
+
<Title title="space = xxxlarge" level={4} />
|
|
75
|
+
<Container>
|
|
76
|
+
<DxcInset space="xxxlarge">
|
|
77
|
+
<Placeholder></Placeholder>
|
|
78
|
+
</DxcInset>
|
|
79
|
+
</Container>
|
|
80
|
+
<Title title="horizontal = none" level={4} />
|
|
81
|
+
<Container>
|
|
82
|
+
<DxcInset horizontal="none">
|
|
83
|
+
<Placeholder></Placeholder>
|
|
84
|
+
</DxcInset>
|
|
85
|
+
</Container>
|
|
86
|
+
<Title title="horizontal = xxxsmall" level={4} />
|
|
87
|
+
<Container>
|
|
88
|
+
<DxcInset horizontal="xxxsmall">
|
|
89
|
+
<Placeholder></Placeholder>
|
|
90
|
+
</DxcInset>
|
|
91
|
+
</Container>
|
|
92
|
+
<Title title="horizontal = xxsmall" level={4} />
|
|
93
|
+
<Container>
|
|
94
|
+
<DxcInset horizontal="xxsmall">
|
|
95
|
+
<Placeholder></Placeholder>
|
|
96
|
+
</DxcInset>
|
|
97
|
+
</Container>
|
|
98
|
+
<Title title="horizontal = xsmall" level={4} />
|
|
99
|
+
<Container>
|
|
100
|
+
<DxcInset horizontal="xsmall">
|
|
101
|
+
<Placeholder></Placeholder>
|
|
102
|
+
</DxcInset>
|
|
103
|
+
</Container>
|
|
104
|
+
<Title title="horizontal = small" level={4} />
|
|
105
|
+
<Container>
|
|
106
|
+
<DxcInset horizontal="small">
|
|
107
|
+
<Placeholder></Placeholder>
|
|
108
|
+
</DxcInset>
|
|
109
|
+
</Container>
|
|
110
|
+
<Title title="horizontal = medium" level={4} />
|
|
111
|
+
<Container>
|
|
112
|
+
<DxcInset horizontal="medium">
|
|
113
|
+
<Placeholder></Placeholder>
|
|
114
|
+
</DxcInset>
|
|
115
|
+
</Container>
|
|
116
|
+
<Title title="horizontal = large" level={4} />
|
|
117
|
+
<Container>
|
|
118
|
+
<DxcInset horizontal="large">
|
|
119
|
+
<Placeholder></Placeholder>
|
|
120
|
+
</DxcInset>
|
|
121
|
+
</Container>
|
|
122
|
+
<Title title="horizontal = xlarge" level={4} />
|
|
123
|
+
<Container>
|
|
124
|
+
<DxcInset horizontal="xlarge">
|
|
125
|
+
<Placeholder></Placeholder>
|
|
126
|
+
</DxcInset>
|
|
127
|
+
</Container>
|
|
128
|
+
<Title title="horizontal = xxlarge" level={4} />
|
|
129
|
+
<Container>
|
|
130
|
+
<DxcInset horizontal="xxlarge">
|
|
131
|
+
<Placeholder></Placeholder>
|
|
132
|
+
</DxcInset>
|
|
133
|
+
</Container>
|
|
134
|
+
<Title title="horizontal = xxxlarge" level={4} />
|
|
135
|
+
<Container>
|
|
136
|
+
<DxcInset horizontal="xxxlarge">
|
|
137
|
+
<Placeholder></Placeholder>
|
|
138
|
+
</DxcInset>
|
|
139
|
+
</Container>
|
|
140
|
+
<Title title="vertical = none" level={4} />
|
|
141
|
+
<Container>
|
|
142
|
+
<DxcInset vertical="none">
|
|
143
|
+
<Placeholder></Placeholder>
|
|
144
|
+
</DxcInset>
|
|
145
|
+
</Container>
|
|
146
|
+
<Title title="vertical = xxxsmall" level={4} />
|
|
147
|
+
<Container>
|
|
148
|
+
<DxcInset vertical="xxxsmall">
|
|
149
|
+
<Placeholder></Placeholder>
|
|
150
|
+
</DxcInset>
|
|
151
|
+
</Container>
|
|
152
|
+
<Title title="vertical = xxsmall" level={4} />
|
|
153
|
+
<Container>
|
|
154
|
+
<DxcInset vertical="xxsmall">
|
|
155
|
+
<Placeholder></Placeholder>
|
|
156
|
+
</DxcInset>
|
|
157
|
+
</Container>
|
|
158
|
+
<Title title="vertical = xsmall" level={4} />
|
|
159
|
+
<Container>
|
|
160
|
+
<DxcInset vertical="xsmall">
|
|
161
|
+
<Placeholder></Placeholder>
|
|
162
|
+
</DxcInset>
|
|
163
|
+
</Container>
|
|
164
|
+
<Title title="vertical = small" level={4} />
|
|
165
|
+
<Container>
|
|
166
|
+
<DxcInset vertical="small">
|
|
167
|
+
<Placeholder></Placeholder>
|
|
168
|
+
</DxcInset>
|
|
169
|
+
</Container>
|
|
170
|
+
<Title title="vertical = medium" level={4} />
|
|
171
|
+
<Container>
|
|
172
|
+
<DxcInset vertical="medium">
|
|
173
|
+
<Placeholder></Placeholder>
|
|
174
|
+
</DxcInset>
|
|
175
|
+
</Container>
|
|
176
|
+
<Title title="vertical = large" level={4} />
|
|
177
|
+
<Container>
|
|
178
|
+
<DxcInset vertical="large">
|
|
179
|
+
<Placeholder></Placeholder>
|
|
180
|
+
</DxcInset>
|
|
181
|
+
</Container>
|
|
182
|
+
<Title title="vertical = xlarge" level={4} />
|
|
183
|
+
<Container>
|
|
184
|
+
<DxcInset vertical="xlarge">
|
|
185
|
+
<Placeholder></Placeholder>
|
|
186
|
+
</DxcInset>
|
|
187
|
+
</Container>
|
|
188
|
+
<Title title="vertical = xxlarge" level={4} />
|
|
189
|
+
<Container>
|
|
190
|
+
<DxcInset vertical="xxlarge">
|
|
191
|
+
<Placeholder></Placeholder>
|
|
192
|
+
</DxcInset>
|
|
193
|
+
</Container>
|
|
194
|
+
<Title title="vertical = xxxlarge" level={4} />
|
|
195
|
+
<Container>
|
|
196
|
+
<DxcInset vertical="xxxlarge">
|
|
197
|
+
<Placeholder></Placeholder>
|
|
198
|
+
</DxcInset>
|
|
199
|
+
</Container>
|
|
200
|
+
<Title title="top = xxsmall, right= medium, bottom = large and left = xxlarge" level={4} />
|
|
201
|
+
<Container>
|
|
202
|
+
<DxcInset top="xxsmall" right="medium" bottom="large" left="xxlarge">
|
|
203
|
+
<Placeholder></Placeholder>
|
|
204
|
+
</DxcInset>
|
|
205
|
+
</Container>
|
|
206
|
+
<Title title="Inside a stack" level={4} />
|
|
207
|
+
<Container>
|
|
208
|
+
<DxcStack gutter="medium" divider>
|
|
209
|
+
<Placeholder></Placeholder>
|
|
210
|
+
<DxcInset top="xxsmall" right="medium" bottom="large" left="xxlarge">
|
|
211
|
+
<Placeholder></Placeholder>
|
|
212
|
+
</DxcInset>
|
|
213
|
+
<Placeholder></Placeholder>
|
|
214
|
+
</DxcStack>
|
|
215
|
+
</Container>
|
|
216
|
+
</>
|
|
217
|
+
);
|
|
218
|
+
|
|
219
|
+
const Container = styled.div`
|
|
220
|
+
background: #f2eafa;
|
|
221
|
+
margin: 2.5rem;
|
|
222
|
+
`;
|
|
223
|
+
|
|
224
|
+
const Placeholder = styled.div`
|
|
225
|
+
min-height: 40px;
|
|
226
|
+
min-width: 120px;
|
|
227
|
+
border: 1px solid #a46ede;
|
|
228
|
+
background-color: #e5d5f6;
|
|
229
|
+
`;
|
package/inset/types.d.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type Spacing = "none" | "xxxsmall" | "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge" | "xxxlarge";
|
|
3
|
+
declare type Props = {
|
|
4
|
+
/**
|
|
5
|
+
* Applies the spacing scale to all sides.
|
|
6
|
+
*/
|
|
7
|
+
space?: Spacing;
|
|
8
|
+
/**
|
|
9
|
+
* Applies the spacing scale to the left and right sides.
|
|
10
|
+
*/
|
|
11
|
+
horizontal?: Spacing;
|
|
12
|
+
/**
|
|
13
|
+
* Applies the spacing scale to the top and bottom sides.
|
|
14
|
+
*/
|
|
15
|
+
vertical?: Spacing;
|
|
16
|
+
/**
|
|
17
|
+
* Applies the spacing scale to the top side.
|
|
18
|
+
*/
|
|
19
|
+
top?: Spacing;
|
|
20
|
+
/**
|
|
21
|
+
* Applies the spacing scale to the right side.
|
|
22
|
+
*/
|
|
23
|
+
right?: Spacing;
|
|
24
|
+
/**
|
|
25
|
+
* Applies the spacing scale to the bottom side.
|
|
26
|
+
*/
|
|
27
|
+
bottom?: Spacing;
|
|
28
|
+
/**
|
|
29
|
+
* Applies the spacing scale to the left side.
|
|
30
|
+
*/
|
|
31
|
+
left?: Spacing;
|
|
32
|
+
/**
|
|
33
|
+
* Custom content inside the inset.
|
|
34
|
+
*/
|
|
35
|
+
children: React.ReactNode;
|
|
36
|
+
};
|
|
37
|
+
export default Props;
|
package/inset/types.js
ADDED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import AppLayoutPropsType, { AppLayoutFooterPropsType, AppLayoutMainPropsType, AppLayoutHeaderPropsType } from "./types";
|
|
2
|
+
import AppLayoutPropsType, { AppLayoutSidenavPropsType, AppLayoutFooterPropsType, AppLayoutMainPropsType, AppLayoutHeaderPropsType } from "./types";
|
|
3
3
|
declare const DxcApplicationLayout: {
|
|
4
|
-
({ children }: AppLayoutPropsType): JSX.Element;
|
|
4
|
+
({ visibilityToggleLabel, children }: AppLayoutPropsType): JSX.Element;
|
|
5
5
|
Header: ({ children }: AppLayoutHeaderPropsType) => JSX.Element;
|
|
6
6
|
Main: ({ children }: AppLayoutMainPropsType) => JSX.Element;
|
|
7
7
|
Footer: ({ children }: AppLayoutFooterPropsType) => JSX.Element;
|
|
8
|
-
SideNav: (
|
|
8
|
+
SideNav: ({ ...childProps }: AppLayoutSidenavPropsType) => JSX.Element;
|
|
9
|
+
useResponsiveSidenavVisibility: () => (isSidenavVisible: boolean) => void;
|
|
9
10
|
};
|
|
10
11
|
export default DxcApplicationLayout;
|
|
@@ -13,23 +13,29 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
13
13
|
|
|
14
14
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
17
17
|
|
|
18
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _Header = _interopRequireDefault(require("../header/Header"));
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _Footer = _interopRequireDefault(require("../footer/Footer"));
|
|
23
|
+
|
|
24
|
+
var _Sidenav = _interopRequireDefault(require("../sidenav/Sidenav"));
|
|
25
|
+
|
|
26
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
23
27
|
|
|
24
28
|
var _variables = require("../common/variables.js");
|
|
25
29
|
|
|
26
30
|
var _Icons = require("./Icons");
|
|
27
31
|
|
|
28
|
-
var
|
|
32
|
+
var _uuid = require("uuid");
|
|
29
33
|
|
|
30
|
-
var
|
|
34
|
+
var _SidenavContext = require("./SidenavContext");
|
|
31
35
|
|
|
32
|
-
var
|
|
36
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
37
|
+
|
|
38
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
|
33
39
|
|
|
34
40
|
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); }
|
|
35
41
|
|
|
@@ -52,17 +58,13 @@ var Footer = function Footer(_ref3) {
|
|
|
52
58
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
|
|
53
59
|
};
|
|
54
60
|
|
|
55
|
-
var
|
|
56
|
-
var
|
|
57
|
-
|
|
58
|
-
_props$mode = props.mode,
|
|
59
|
-
mode = _props$mode === void 0 ? "overlay" : _props$mode,
|
|
60
|
-
childProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
61
|
-
return /*#__PURE__*/_react["default"].createElement(_main.DxcSidenav, childProps, childProps.children);
|
|
61
|
+
var Sidenav = function Sidenav(_ref4) {
|
|
62
|
+
var childProps = (0, _extends2["default"])({}, _ref4);
|
|
63
|
+
return /*#__PURE__*/_react["default"].createElement(_Sidenav["default"], childProps, childProps.children);
|
|
62
64
|
};
|
|
63
65
|
|
|
64
66
|
var defaultFooter = function defaultFooter() {
|
|
65
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
67
|
+
return /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
|
|
66
68
|
copyright: "\xA9 DXC Technology ".concat(year, "\u200B\u200B\u200B\u200B. All rights reserved."),
|
|
67
69
|
bottomLinks: [{
|
|
68
70
|
href: "https://www.linkedin.com/company/dxctechnology",
|
|
@@ -88,138 +90,107 @@ var defaultFooter = function defaultFooter() {
|
|
|
88
90
|
};
|
|
89
91
|
|
|
90
92
|
var defaultHeader = function defaultHeader() {
|
|
91
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
93
|
+
return /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
92
94
|
underlined: true
|
|
93
95
|
});
|
|
94
96
|
};
|
|
95
97
|
|
|
96
98
|
var childTypeExists = function childTypeExists(children, childType) {
|
|
97
99
|
return children.find(function (child) {
|
|
98
|
-
return child
|
|
100
|
+
return (child === null || child === void 0 ? void 0 : child.type) === childType;
|
|
99
101
|
});
|
|
100
102
|
};
|
|
101
103
|
|
|
102
|
-
var DxcApplicationLayout = function DxcApplicationLayout(
|
|
103
|
-
var
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
var DxcApplicationLayout = function DxcApplicationLayout(_ref5) {
|
|
105
|
+
var _ref5$visibilityToggl = _ref5.visibilityToggleLabel,
|
|
106
|
+
visibilityToggleLabel = _ref5$visibilityToggl === void 0 ? "" : _ref5$visibilityToggl,
|
|
107
|
+
children = _ref5.children;
|
|
106
108
|
|
|
107
|
-
var _useState = (0, _react.useState)(
|
|
108
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState,
|
|
109
|
-
|
|
110
|
-
|
|
109
|
+
var _useState = (0, _react.useState)("appLayout-".concat((0, _uuid.v4)())),
|
|
110
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
111
|
+
appLayoutId = _useState2[0];
|
|
112
|
+
|
|
113
|
+
var visibilityToggleLabelId = "label-".concat(appLayoutId);
|
|
111
114
|
|
|
112
115
|
var _useState3 = (0, _react.useState)(false),
|
|
113
116
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
114
|
-
|
|
115
|
-
|
|
117
|
+
isSidenavVisibleResponsive = _useState4[0],
|
|
118
|
+
setIsSidenavVisibleResponsive = _useState4[1];
|
|
119
|
+
|
|
120
|
+
var _useState5 = (0, _react.useState)(false),
|
|
121
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
122
|
+
isResponsive = _useState6[0],
|
|
123
|
+
setIsResponsive = _useState6[1];
|
|
124
|
+
|
|
125
|
+
var ref = (0, _react.useRef)(null);
|
|
126
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
116
127
|
|
|
117
128
|
var childrenArray = _react["default"].Children.toArray(children);
|
|
118
129
|
|
|
119
|
-
var header = childTypeExists(childrenArray,
|
|
120
|
-
var footer = childTypeExists(childrenArray,
|
|
121
|
-
var
|
|
130
|
+
var header = childTypeExists(childrenArray, _Header["default"]) || childTypeExists(childrenArray, Header) || defaultHeader();
|
|
131
|
+
var footer = childTypeExists(childrenArray, _Footer["default"]) || childTypeExists(childrenArray, Footer) || defaultFooter();
|
|
132
|
+
var sidenav = childTypeExists(childrenArray, Sidenav);
|
|
122
133
|
var main = childTypeExists(childrenArray, Main);
|
|
123
|
-
var displayArrow = sideNav && sideNav.props && sideNav.props.displayArrow;
|
|
124
|
-
var sideNavMode = sideNav && sideNav.props && sideNav.props.mode;
|
|
125
|
-
|
|
126
|
-
var ArrowIcon = function ArrowIcon() {
|
|
127
|
-
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
128
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
129
|
-
width: "15.995",
|
|
130
|
-
height: "10.01",
|
|
131
|
-
viewBox: "0 0 15.995 10.01"
|
|
132
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
133
|
-
"data-testid": "arrow-to-right",
|
|
134
|
-
d: "M17.71,11.29l-4-4a1,1,0,0,0-1.42,1.42L14.59,11H3a1,1,0,0,0,0,2H14.59l-2.3,2.29a1,1,0,1,0,1.42,1.42l4-4a1.034,1.034,0,0,0,0-1.42Z",
|
|
135
|
-
transform: "translate(-2 -6.996)"
|
|
136
|
-
}));
|
|
137
|
-
};
|
|
138
134
|
|
|
139
|
-
var handleResize = function handleResize(
|
|
140
|
-
|
|
141
|
-
setIsResponsive(width <= _variables.responsiveSizes.tablet);
|
|
142
|
-
setIsSideNavVisible(true);
|
|
143
|
-
}
|
|
135
|
+
var handleResize = function handleResize() {
|
|
136
|
+
setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches);
|
|
144
137
|
};
|
|
145
138
|
|
|
146
|
-
var
|
|
147
|
-
|
|
139
|
+
var handleSidenavVisibility = function handleSidenavVisibility() {
|
|
140
|
+
setIsSidenavVisibleResponsive(function (isSidenavVisibleResponsive) {
|
|
141
|
+
return !isSidenavVisibleResponsive;
|
|
142
|
+
});
|
|
148
143
|
};
|
|
149
144
|
|
|
150
145
|
(0, _react.useEffect)(function () {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
handleResize(ref.current.offsetWidth);
|
|
154
|
-
}
|
|
155
|
-
|
|
146
|
+
handleResize();
|
|
147
|
+
window.addEventListener("resize", handleResize);
|
|
156
148
|
return function () {
|
|
157
|
-
window.removeEventListener("resize",
|
|
149
|
+
window.removeEventListener("resize", handleResize);
|
|
158
150
|
};
|
|
159
|
-
}, []);
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
166
|
-
theme: colorsTheme.sidenav
|
|
167
|
-
}, /*#__PURE__*/_react["default"].createElement(ApplicationLayoutContainer, {
|
|
151
|
+
}, [setIsResponsive]);
|
|
152
|
+
(0, _react.useEffect)(function () {
|
|
153
|
+
!isResponsive && setIsSidenavVisibleResponsive(false);
|
|
154
|
+
}, [isResponsive, setIsSidenavVisibleResponsive]);
|
|
155
|
+
return /*#__PURE__*/_react["default"].createElement(ApplicationLayoutContainer, {
|
|
156
|
+
isSidenavVisible: isSidenavVisibleResponsive,
|
|
168
157
|
ref: ref
|
|
169
|
-
}, /*#__PURE__*/_react["default"].createElement(HeaderContainer, null, header),
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
},
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
isSideNavVisible: isSideNavVisible
|
|
180
|
-
}, main), /*#__PURE__*/_react["default"].createElement(FooterContainer, {
|
|
181
|
-
sideNav: sideNav,
|
|
182
|
-
mode: isResponsive ? "overlay" : sideNavMode,
|
|
183
|
-
isSideNavVisible: isSideNavVisible
|
|
184
|
-
}, footer))))));
|
|
158
|
+
}, /*#__PURE__*/_react["default"].createElement(HeaderContainer, null, header), sidenav && isResponsive && /*#__PURE__*/_react["default"].createElement(VisibilityToggle, null, /*#__PURE__*/_react["default"].createElement(HamburgerTrigger, {
|
|
159
|
+
onClick: handleSidenavVisibility,
|
|
160
|
+
"aria-labelledby": visibilityToggleLabel ? visibilityToggleLabelId : undefined,
|
|
161
|
+
"aria-label": visibilityToggleLabel ? undefined : translatedLabels.applicationLayout.visibilityToggleTitle,
|
|
162
|
+
title: translatedLabels.applicationLayout.visibilityToggleTitle
|
|
163
|
+
}, _Icons.hamburgerIcon), visibilityToggleLabel && /*#__PURE__*/_react["default"].createElement(VisibilityToggleLabel, {
|
|
164
|
+
id: visibilityToggleLabelId
|
|
165
|
+
}, visibilityToggleLabel)), /*#__PURE__*/_react["default"].createElement(BodyContainer, null, /*#__PURE__*/_react["default"].createElement(_SidenavContext.SidenavContextProvider, {
|
|
166
|
+
value: setIsSidenavVisibleResponsive
|
|
167
|
+
}, sidenav && (isResponsive ? isSidenavVisibleResponsive : true) && /*#__PURE__*/_react["default"].createElement(SidenavContainer, null, sidenav)), /*#__PURE__*/_react["default"].createElement(MainContentContainer, null, /*#__PURE__*/_react["default"].createElement(MainContainer, null, main), footer)));
|
|
185
168
|
};
|
|
186
169
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
DxcApplicationLayout.SideNav = SideNav;
|
|
170
|
+
var ApplicationLayoutContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n top: 64px;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n flex-direction: column;\n\n @media (max-width: ", "rem) {\n top: 112px;\n ", "\n }\n"])), _variables.responsiveSizes.medium, function (props) {
|
|
171
|
+
return props.isSidenavVisible && "overflow: hidden;";
|
|
172
|
+
});
|
|
191
173
|
|
|
192
|
-
var
|
|
174
|
+
var HeaderContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n z-index: 3;\n"])));
|
|
193
175
|
|
|
194
|
-
var
|
|
176
|
+
var VisibilityToggle = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 64px;\n left: 0;\n right: 0;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n padding: 12px 16px;\n gap: 10px;\n width: 100%;\n background-color: #f2f2f2;\n user-select: none;\n z-index: 2;\n"])));
|
|
195
177
|
|
|
196
|
-
var
|
|
178
|
+
var HamburgerTrigger = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n border: 0px solid transparent;\n border-radius: 2px;\n padding: 3px;\n background-color: transparent;\n box-shadow: 0 0 0 2px transparent;\n cursor: pointer;\n\n :hover {\n background-color: #e6e6e6;\n }\n :active {\n background-color: #cccccc;\n }\n :focus,\n :focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px #0095ff;\n }\n & > svg {\n height: 20px;\n width: 20px;\n }\n"])));
|
|
197
179
|
|
|
198
|
-
var
|
|
180
|
+
var VisibilityToggleLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: Open Sans, sans-serif;\n font-weight: 600;\n font-size: 14px;\n"])));
|
|
199
181
|
|
|
200
|
-
var
|
|
182
|
+
var BodyContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n flex: 1;\n\n @media (max-width: ", "rem) {\n position: relative;\n }\n"])), _variables.responsiveSizes.medium);
|
|
201
183
|
|
|
202
|
-
var
|
|
203
|
-
return props.sideNav ? props.mode === "push" && !props.isSideNavVisible || props.mode === "overlay" ? "-300px" : "" : "";
|
|
204
|
-
});
|
|
184
|
+
var SidenavContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n position: sticky;\n top: 64px;\n display: flex;\n height: calc(100vh - 64px);\n z-index: 1;\n\n @media (max-width: ", "rem) {\n position: fixed;\n top: 112px;\n }\n"])), _variables.responsiveSizes.medium);
|
|
205
185
|
|
|
206
|
-
var
|
|
207
|
-
return props.sideNav ? props.mode === "push" && props.isSideNavVisible ? "" : "-297px" : "";
|
|
208
|
-
});
|
|
186
|
+
var MainContainer = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1;\n"])));
|
|
209
187
|
|
|
210
|
-
var
|
|
211
|
-
return props.isSideNavVisible ? "translateX(0)" : !props.isSideNavVisible ? "translateX(-100%)" : "";
|
|
212
|
-
});
|
|
213
|
-
|
|
214
|
-
var ArrowContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n height: calc(100vh - 64px);\n left: 279px;\n"])));
|
|
215
|
-
|
|
216
|
-
var ArrowTrigger = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n position: sticky;\n top: 45vh;\n width: 42px;\n min-height: 42px;\n background-color: ", ";\n border-radius: 50%;\n transform: ", ";\n transition: transform 0.4s ease-in-out;\n z-index: 1250;\n cursor: pointer;\n & > svg {\n fill: ", ";\n }\n"])), function (props) {
|
|
217
|
-
return "".concat(props.theme.arrowContainerColor);
|
|
218
|
-
}, function (props) {
|
|
219
|
-
return props.isSideNavVisible ? "rotate(-180deg)" : "rotate(0deg)";
|
|
220
|
-
}, function (props) {
|
|
221
|
-
return props.theme.arrowColor;
|
|
222
|
-
});
|
|
188
|
+
var MainContentContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n width: 100%;\n"])));
|
|
223
189
|
|
|
190
|
+
DxcApplicationLayout.Header = Header;
|
|
191
|
+
DxcApplicationLayout.Main = Main;
|
|
192
|
+
DxcApplicationLayout.Footer = Footer;
|
|
193
|
+
DxcApplicationLayout.SideNav = Sidenav;
|
|
194
|
+
DxcApplicationLayout.useResponsiveSidenavVisibility = _SidenavContext.useResponsiveSidenavVisibility;
|
|
224
195
|
var _default = DxcApplicationLayout;
|
|
225
196
|
exports["default"] = _default;
|