@dxc-technology/halstack-react 0.0.0-b061aa1 → 0.0.0-b0ab1e3
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 -4
- package/HalstackContext.d.ts +10 -0
- package/{ThemeContext.js → HalstackContext.js} +31 -34
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +15 -47
- 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 +14 -16
- 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 +2 -2
- package/alert/Alert.test.js +92 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +1 -1
- package/badge/types.d.ts +4 -0
- package/badge/types.js +5 -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 +2 -2
- package/box/Box.test.js +18 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +18 -25
- 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 +28 -29
- 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 +42 -41
- 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 +17 -55
- 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 +59 -265
- package/date-input/DateInput.js +60 -52
- 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 +8 -35
- package/dialog/Dialog.test.js +40 -0
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +22 -48
- 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 +148 -69
- package/file-input/FileInput.stories.tsx +507 -0
- package/file-input/FileInput.test.js +457 -0
- package/file-input/FileItem.js +3 -3
- package/file-input/types.d.ts +32 -7
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +28 -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 +22 -46
- package/header/Header.stories.tsx +46 -36
- package/header/Header.test.js +79 -0
- package/header/Icons.d.ts +2 -0
- package/heading/Heading.js +1 -1
- package/heading/Heading.stories.tsx +3 -2
- package/heading/Heading.test.js +186 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +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.js +9 -15
- package/layout/ApplicationLayout.stories.tsx +171 -0
- package/link/Link.js +10 -22
- package/link/Link.stories.tsx +6 -1
- package/link/Link.test.js +91 -0
- package/link/types.d.ts +5 -9
- package/list/List.d.ts +4 -0
- package/list/List.js +47 -0
- package/list/List.stories.tsx +95 -0
- package/list/types.d.ts +7 -0
- package/list/types.js +5 -0
- package/main.d.ts +11 -8
- package/main.js +66 -42
- 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 +16 -9
- package/package.json +8 -6
- package/paginator/Paginator.js +2 -8
- package/paginator/Paginator.test.js +266 -0
- package/password-input/PasswordInput.js +12 -13
- package/password-input/PasswordInput.stories.tsx +3 -3
- package/password-input/PasswordInput.test.js +181 -0
- package/password-input/types.d.ts +13 -10
- package/progress-bar/ProgressBar.js +4 -4
- package/progress-bar/ProgressBar.test.js +65 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +64 -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/Radio.js +12 -13
- package/radio/Radio.test.js +71 -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 +280 -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 +6 -3
- 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 -0
- package/row/Row.js +127 -0
- package/row/Row.stories.tsx +237 -0
- 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 +148 -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 +107 -317
- package/select/Select.stories.tsx +91 -81
- package/select/Select.test.js +2057 -0
- package/select/types.d.ts +213 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.js +2 -2
- 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 +4 -3
- 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 +2 -2
- package/spinner/Spinner.stories.jsx +1 -0
- package/spinner/Spinner.test.js +64 -0
- package/stack/Stack.d.ts +3 -0
- package/stack/Stack.js +97 -0
- package/stack/Stack.stories.tsx +164 -0
- package/stack/types.d.ts +24 -0
- package/stack/types.js +5 -0
- package/switch/Switch.d.ts +1 -1
- package/switch/Switch.js +34 -21
- package/switch/Switch.stories.tsx +15 -15
- package/switch/Switch.test.js +98 -0
- package/switch/types.d.ts +6 -2
- package/table/Table.js +2 -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 +17 -19
- package/tabs/Tabs.stories.tsx +8 -11
- package/tabs/Tabs.test.js +140 -0
- package/tabs/types.d.ts +27 -15
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +18 -28
- package/tag/Tag.stories.tsx +26 -29
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +23 -14
- package/text/Text.d.ts +7 -0
- package/text/Text.js +30 -0
- package/text/Text.stories.tsx +19 -0
- package/text-input/TextInput.js +38 -30
- package/text-input/TextInput.stories.tsx +34 -16
- package/text-input/TextInput.test.js +1712 -0
- package/text-input/types.d.ts +18 -11
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +26 -56
- 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 +15 -17
- 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.d.ts +2 -0
- package/useTheme.js +2 -2
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +81 -22
- 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/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/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
|
@@ -25,7 +25,7 @@ var _variables = require("../common/variables.js");
|
|
|
25
25
|
|
|
26
26
|
var _Icons = require("./Icons");
|
|
27
27
|
|
|
28
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
28
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
29
29
|
|
|
30
30
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
|
|
31
31
|
|
|
@@ -136,27 +136,20 @@ var DxcApplicationLayout = function DxcApplicationLayout(_ref4) {
|
|
|
136
136
|
}));
|
|
137
137
|
};
|
|
138
138
|
|
|
139
|
-
var handleResize = function handleResize(
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
setIsSideNavVisible(true);
|
|
143
|
-
}
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
var handleEventListener = function handleEventListener() {
|
|
147
|
-
handleResize(ref.current.offsetWidth);
|
|
139
|
+
var handleResize = function handleResize() {
|
|
140
|
+
setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches);
|
|
141
|
+
setIsSideNavVisible(true);
|
|
148
142
|
};
|
|
149
143
|
|
|
150
144
|
(0, _react.useEffect)(function () {
|
|
151
145
|
if (ref.current) {
|
|
152
|
-
window.addEventListener("resize",
|
|
153
|
-
handleResize(ref.current.offsetWidth);
|
|
146
|
+
window.addEventListener("resize", handleResize);
|
|
154
147
|
}
|
|
155
148
|
|
|
156
149
|
return function () {
|
|
157
|
-
window.removeEventListener("resize",
|
|
150
|
+
window.removeEventListener("resize", handleResize);
|
|
158
151
|
};
|
|
159
|
-
}, []);
|
|
152
|
+
}, [ref.current]);
|
|
160
153
|
|
|
161
154
|
var handleSidenav = function handleSidenav() {
|
|
162
155
|
setIsSideNavVisible(!isSideNavVisible);
|
|
@@ -169,6 +162,7 @@ var DxcApplicationLayout = function DxcApplicationLayout(_ref4) {
|
|
|
169
162
|
}, /*#__PURE__*/_react["default"].createElement(HeaderContainer, null, header), /*#__PURE__*/_react["default"].createElement(BodyContainer, null, /*#__PURE__*/_react["default"].createElement(ContentContainer, null, /*#__PURE__*/_react["default"].createElement(SideNavArrowContainer, {
|
|
170
163
|
isSideNavVisible: isSideNavVisible
|
|
171
164
|
}, sideNav, /*#__PURE__*/_react["default"].createElement(ArrowContainer, null, sideNav && (displayArrow || isResponsive) && /*#__PURE__*/_react["default"].createElement(ArrowTrigger, {
|
|
165
|
+
role: "button",
|
|
172
166
|
tabIndex: 0,
|
|
173
167
|
onClick: handleSidenav,
|
|
174
168
|
isSideNavVisible: isSideNavVisible
|
|
@@ -212,7 +206,7 @@ var SideNavArrowContainer = _styledComponents["default"].div(_templateObject8 ||
|
|
|
212
206
|
|
|
213
207
|
var ArrowContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n height: calc(100vh - 64px);\n left: 279px;\n"])));
|
|
214
208
|
|
|
215
|
-
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) {
|
|
209
|
+
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 :focus {\n outline: #0095ff auto 1px;\n }\n"])), function (props) {
|
|
216
210
|
return "".concat(props.theme.arrowContainerColor);
|
|
217
211
|
}, function (props) {
|
|
218
212
|
return props.isSideNavVisible ? "rotate(-180deg)" : "rotate(0deg)";
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import DxcApplicationLayout from "./ApplicationLayout";
|
|
3
|
+
import DxcSidenav from "../sidenav/Sidenav";
|
|
4
|
+
import Title from "../../.storybook/components/Title";
|
|
5
|
+
import { INITIAL_VIEWPORTS } from '@storybook/addon-viewport';
|
|
6
|
+
import { userEvent, within, waitFor } from "@storybook/testing-library";
|
|
7
|
+
|
|
8
|
+
export default {
|
|
9
|
+
title: "Application Layout ",
|
|
10
|
+
component: DxcApplicationLayout,
|
|
11
|
+
parameters: {
|
|
12
|
+
viewport: {
|
|
13
|
+
viewports: INITIAL_VIEWPORTS,
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const DefaultApplicationLayout = () => (
|
|
19
|
+
<>
|
|
20
|
+
<DxcApplicationLayout>
|
|
21
|
+
<DxcApplicationLayout.Main>
|
|
22
|
+
<Title title="Default application layout" theme="light" level={4} />
|
|
23
|
+
<p>Main Content</p>
|
|
24
|
+
<p>Main Content</p>
|
|
25
|
+
<p>Main Content</p>
|
|
26
|
+
<p>Main Content</p>
|
|
27
|
+
</DxcApplicationLayout.Main>
|
|
28
|
+
</DxcApplicationLayout>
|
|
29
|
+
</>
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
export const ApplicationLayoutWithDefaultSidenav = () => (
|
|
33
|
+
<>
|
|
34
|
+
<DxcApplicationLayout>
|
|
35
|
+
<DxcApplicationLayout.SideNav>
|
|
36
|
+
<DxcSidenav.Title>Application layout with sidenav</DxcSidenav.Title>
|
|
37
|
+
<p>SideNav Content</p>
|
|
38
|
+
<p>SideNav Content</p>
|
|
39
|
+
<p>SideNav Content</p>
|
|
40
|
+
<p>SideNav Content</p>
|
|
41
|
+
<p>SideNav Content</p>
|
|
42
|
+
</DxcApplicationLayout.SideNav>
|
|
43
|
+
<DxcApplicationLayout.Main>
|
|
44
|
+
<p>Main Content</p>
|
|
45
|
+
<p>Main Content</p>
|
|
46
|
+
<p>Main Content</p>
|
|
47
|
+
<p>Main Content</p>
|
|
48
|
+
</DxcApplicationLayout.Main>
|
|
49
|
+
</DxcApplicationLayout>
|
|
50
|
+
</>
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
export const ApplicationLayoutWithPushSidenav = () => (
|
|
54
|
+
<>
|
|
55
|
+
<DxcApplicationLayout>
|
|
56
|
+
<DxcApplicationLayout.SideNav mode="push">
|
|
57
|
+
<DxcSidenav.Title>Application layout with push sidenav</DxcSidenav.Title>
|
|
58
|
+
<p>SideNav Content</p>
|
|
59
|
+
<p>SideNav Content</p>
|
|
60
|
+
<p>SideNav Content</p>
|
|
61
|
+
<p>SideNav Content</p>
|
|
62
|
+
<p>SideNav Content</p>
|
|
63
|
+
</DxcApplicationLayout.SideNav>
|
|
64
|
+
<DxcApplicationLayout.Main>
|
|
65
|
+
<p>Main Content</p>
|
|
66
|
+
<p>Main Content</p>
|
|
67
|
+
<p>Main Content</p>
|
|
68
|
+
<p>Main Content</p>
|
|
69
|
+
</DxcApplicationLayout.Main>
|
|
70
|
+
</DxcApplicationLayout>
|
|
71
|
+
</>
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
export const ApplicationLayoutWithArrowSidenav = () => (
|
|
75
|
+
<>
|
|
76
|
+
<DxcApplicationLayout>
|
|
77
|
+
<DxcApplicationLayout.SideNav mode="overlay" displayArrow>
|
|
78
|
+
<DxcSidenav.Title>Application layout with push sidenav</DxcSidenav.Title>
|
|
79
|
+
<p>SideNav Content</p>
|
|
80
|
+
<p>SideNav Content</p>
|
|
81
|
+
<p>SideNav Content</p>
|
|
82
|
+
<p>SideNav Content</p>
|
|
83
|
+
<p>SideNav Content</p>
|
|
84
|
+
</DxcApplicationLayout.SideNav>
|
|
85
|
+
<DxcApplicationLayout.Main>
|
|
86
|
+
<p>Main Content</p>
|
|
87
|
+
<p>Main Content</p>
|
|
88
|
+
<p>Main Content</p>
|
|
89
|
+
<p>Main Content</p>
|
|
90
|
+
</DxcApplicationLayout.Main>
|
|
91
|
+
</DxcApplicationLayout>
|
|
92
|
+
</>
|
|
93
|
+
);
|
|
94
|
+
|
|
95
|
+
export const ApplicationLayoutWithResponsiveSidenav = () => (
|
|
96
|
+
<>
|
|
97
|
+
<DxcApplicationLayout>
|
|
98
|
+
<DxcApplicationLayout.SideNav>
|
|
99
|
+
<DxcSidenav.Title>Application layout with push sidenav</DxcSidenav.Title>
|
|
100
|
+
<p>SideNav Content</p>
|
|
101
|
+
<p>SideNav Content</p>
|
|
102
|
+
<p>SideNav Content</p>
|
|
103
|
+
<p>SideNav Content</p>
|
|
104
|
+
<p>SideNav Content</p>
|
|
105
|
+
</DxcApplicationLayout.SideNav>
|
|
106
|
+
<DxcApplicationLayout.Main>
|
|
107
|
+
<p>Main Content</p>
|
|
108
|
+
<p>Main Content</p>
|
|
109
|
+
<p>Main Content</p>
|
|
110
|
+
<p>Main Content</p>
|
|
111
|
+
</DxcApplicationLayout.Main>
|
|
112
|
+
</DxcApplicationLayout>
|
|
113
|
+
</>
|
|
114
|
+
);
|
|
115
|
+
|
|
116
|
+
ApplicationLayoutWithResponsiveSidenav.parameters = {
|
|
117
|
+
viewport: {
|
|
118
|
+
defaultViewport: 'pixel',
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
export const ApplicationLayoutWithCustomHeader = () => (
|
|
123
|
+
<>
|
|
124
|
+
<DxcApplicationLayout>
|
|
125
|
+
<DxcApplicationLayout.Header> <p>Custom Header</p> </DxcApplicationLayout.Header>
|
|
126
|
+
<DxcApplicationLayout.SideNav>
|
|
127
|
+
<DxcSidenav.Title>Application layout with push sidenav</DxcSidenav.Title>
|
|
128
|
+
<p>SideNav Content</p>
|
|
129
|
+
<p>SideNav Content</p>
|
|
130
|
+
<p>SideNav Content</p>
|
|
131
|
+
<p>SideNav Content</p>
|
|
132
|
+
<p>SideNav Content</p>
|
|
133
|
+
</DxcApplicationLayout.SideNav>
|
|
134
|
+
<DxcApplicationLayout.Main>
|
|
135
|
+
<p>Main Content</p>
|
|
136
|
+
<p>Main Content</p>
|
|
137
|
+
<p>Main Content</p>
|
|
138
|
+
<p>Main Content</p>
|
|
139
|
+
</DxcApplicationLayout.Main>
|
|
140
|
+
</DxcApplicationLayout>
|
|
141
|
+
</>
|
|
142
|
+
);
|
|
143
|
+
|
|
144
|
+
export const ApplicationLayoutWithCustomFooter = () => (
|
|
145
|
+
<>
|
|
146
|
+
<DxcApplicationLayout>
|
|
147
|
+
<DxcApplicationLayout.SideNav>
|
|
148
|
+
<DxcSidenav.Title>Application layout with push sidenav</DxcSidenav.Title>
|
|
149
|
+
<p>SideNav Content</p>
|
|
150
|
+
<p>SideNav Content</p>
|
|
151
|
+
<p>SideNav Content</p>
|
|
152
|
+
<p>SideNav Content</p>
|
|
153
|
+
<p>SideNav Content</p>
|
|
154
|
+
</DxcApplicationLayout.SideNav>
|
|
155
|
+
<DxcApplicationLayout.Main>
|
|
156
|
+
<p>Main Content</p>
|
|
157
|
+
<p>Main Content</p>
|
|
158
|
+
<p>Main Content</p>
|
|
159
|
+
<p>Main Content</p>
|
|
160
|
+
</DxcApplicationLayout.Main>
|
|
161
|
+
<DxcApplicationLayout.Footer> <p>Custom Footer</p> </DxcApplicationLayout.Footer>
|
|
162
|
+
</DxcApplicationLayout>
|
|
163
|
+
</>
|
|
164
|
+
);
|
|
165
|
+
|
|
166
|
+
export const ApplicationLayoutWithClosingSidenav = ApplicationLayoutWithArrowSidenav.bind({});
|
|
167
|
+
ApplicationLayoutWithClosingSidenav.play = async ({ canvasElement }) => {
|
|
168
|
+
const canvas = within(canvasElement);
|
|
169
|
+
const arrow = canvas.getByRole("button");
|
|
170
|
+
await userEvent.click(arrow);
|
|
171
|
+
};
|
package/link/Link.js
CHANGED
|
@@ -9,17 +9,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports["default"] = void 0;
|
|
11
11
|
|
|
12
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
-
|
|
14
12
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
13
|
|
|
14
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
+
|
|
16
16
|
var _react = _interopRequireDefault(require("react"));
|
|
17
17
|
|
|
18
18
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
19
19
|
|
|
20
20
|
var _variables = require("../common/variables.js");
|
|
21
21
|
|
|
22
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
22
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
23
23
|
|
|
24
24
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
25
25
|
|
|
@@ -32,7 +32,6 @@ var DxcLink = function DxcLink(_ref) {
|
|
|
32
32
|
inheritColor = _ref$inheritColor === void 0 ? false : _ref$inheritColor,
|
|
33
33
|
_ref$disabled = _ref.disabled,
|
|
34
34
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
35
|
-
iconSrc = _ref.iconSrc,
|
|
36
35
|
icon = _ref.icon,
|
|
37
36
|
_ref$iconPosition = _ref.iconPosition,
|
|
38
37
|
iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
|
|
@@ -50,12 +49,11 @@ var DxcLink = function DxcLink(_ref) {
|
|
|
50
49
|
|
|
51
50
|
var linkContent = /*#__PURE__*/_react["default"].createElement(LinkText, {
|
|
52
51
|
iconPosition: iconPosition
|
|
53
|
-
}, text, icon
|
|
52
|
+
}, iconPosition === "after" && text, icon && /*#__PURE__*/_react["default"].createElement(LinkIconContainer, {
|
|
54
53
|
iconPosition: iconPosition
|
|
55
|
-
},
|
|
56
|
-
src:
|
|
57
|
-
|
|
58
|
-
}));
|
|
54
|
+
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(LinkIcon, {
|
|
55
|
+
src: icon
|
|
56
|
+
}) : icon), iconPosition === "before" && text);
|
|
59
57
|
|
|
60
58
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
61
59
|
theme: colorsTheme.link
|
|
@@ -127,7 +125,7 @@ var StyledButton = _styledComponents["default"].button(_templateObject3 || (_tem
|
|
|
127
125
|
return "color: ".concat(props.theme.activeFontColor, " !important;\n border-bottom-color: ").concat(props.theme.activeUnderlineColor, " !important;");
|
|
128
126
|
});
|
|
129
127
|
|
|
130
|
-
var LinkText = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n font-weight: ", ";\n font-style: ", ";\n font-family: ", ";\n display:
|
|
128
|
+
var LinkText = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n font-weight: ", ";\n font-style: ", ";\n font-family: ", ";\n display: flex;\n align-items: baseline;\n max-width: 100%;\n"])), function (props) {
|
|
131
129
|
return props.theme.fontSize;
|
|
132
130
|
}, function (props) {
|
|
133
131
|
return props.theme.fontWeight;
|
|
@@ -135,21 +133,11 @@ var LinkText = _styledComponents["default"].div(_templateObject4 || (_templateOb
|
|
|
135
133
|
return props.theme.fontStyle;
|
|
136
134
|
}, function (props) {
|
|
137
135
|
return props.theme.fontFamily;
|
|
138
|
-
}, function (props) {
|
|
139
|
-
return props.iconPosition === "after" ? "row" : "row-reverse";
|
|
140
|
-
}, function (props) {
|
|
141
|
-
return props.iconPosition === "after" ? "flex-start" : "flex-end";
|
|
142
136
|
});
|
|
143
137
|
|
|
144
|
-
var LinkIcon = _styledComponents["default"].img(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["
|
|
145
|
-
return props.theme.iconSize;
|
|
146
|
-
}, function (props) {
|
|
147
|
-
return props.theme.iconSize;
|
|
148
|
-
}, function (props) {
|
|
149
|
-
return "".concat(props.iconPosition === "before" ? "margin-right" : "margin-left", ": ").concat(props.theme.iconSpacing);
|
|
150
|
-
});
|
|
138
|
+
var LinkIcon = _styledComponents["default"].img(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
151
139
|
|
|
152
|
-
var LinkIconContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
140
|
+
var LinkIconContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n ", ";\n overflow: hidden;\n align-self: center;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
153
141
|
return props.theme.iconSize;
|
|
154
142
|
}, function (props) {
|
|
155
143
|
return props.theme.iconSize;
|
package/link/Link.stories.tsx
CHANGED
|
@@ -28,7 +28,12 @@ export const Chromatic = () => (
|
|
|
28
28
|
<Title title="Icon before" theme="light" level={4} />
|
|
29
29
|
<DxcLink text="Test" href="https://www.google.com" icon={icon} iconPosition="before"></DxcLink>
|
|
30
30
|
<Title title="Icon after" theme="light" level={4} />
|
|
31
|
-
<DxcLink
|
|
31
|
+
<DxcLink
|
|
32
|
+
text="Test"
|
|
33
|
+
href="https://www.youtube.com/"
|
|
34
|
+
icon="https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png"
|
|
35
|
+
iconPosition="after"
|
|
36
|
+
></DxcLink>
|
|
32
37
|
</ExampleContainer>
|
|
33
38
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
34
39
|
<Title title="With link hovered" theme="light" level={4} />
|