@dxc-technology/halstack-react 0.0.0-0e90110 → 0.0.0-1021ecf
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/accordion/Accordion.stories.tsx +307 -0
- package/accordion/types.d.ts +1 -1
- package/accordion-group/types.d.ts +1 -1
- package/card/Card.stories.tsx +1 -1
- package/checkbox/types.d.ts +1 -1
- package/chip/Chip.js +4 -4
- package/chip/types.d.ts +2 -2
- package/common/variables.js +55 -21
- package/date-input/DateInput.js +9 -12
- package/dialog/Dialog.js +2 -1
- package/dropdown/Dropdown.stories.tsx +247 -0
- package/file-input/FileInput.d.ts +1 -1
- package/file-input/FileInput.js +147 -68
- package/file-input/FileInput.stories.tsx +507 -0
- package/file-input/FileItem.js +2 -2
- package/file-input/types.d.ts +32 -7
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +10 -16
- package/footer/{Footer.stories.jsx → Footer.stories.tsx} +1 -22
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +3 -3
- package/footer/types.d.ts +5 -9
- package/header/Icons.d.ts +2 -0
- package/heading/Heading.stories.tsx +3 -2
- package/layout/ApplicationLayout.js +2 -1
- package/layout/ApplicationLayout.stories.tsx +171 -0
- package/list/List.d.ts +8 -0
- package/list/List.js +47 -0
- package/list/List.stories.tsx +95 -0
- package/main.d.ts +5 -1
- package/main.js +32 -0
- package/number-input/NumberInput.js +3 -6
- package/package.json +4 -2
- package/paginator/Paginator.js +0 -6
- package/password-input/PasswordInput.js +12 -13
- package/password-input/PasswordInput.stories.tsx +3 -3
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +130 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +268 -0
- package/radio-group/RadioGroup.stories.tsx +79 -0
- package/radio-group/types.d.ts +36 -0
- package/radio-group/types.js +5 -0
- package/resultsetTable/ResultsetTable.js +1 -1
- package/resultsetTable/ResultsetTable.stories.tsx +277 -0
- package/resultsetTable/types.d.ts +1 -1
- package/row/Row.d.ts +11 -0
- package/row/Row.js +127 -0
- package/row/Row.stories.tsx +239 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +19 -21
- package/select/types.d.ts +170 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.stories.tsx +18 -1
- package/spinner/Spinner.stories.jsx +1 -0
- package/stack/Stack.d.ts +10 -0
- package/stack/Stack.js +97 -0
- package/stack/Stack.stories.tsx +166 -0
- package/switch/Switch.stories.tsx +1 -1
- package/table/Table.stories.jsx +2 -1
- package/tabs/Tabs.stories.tsx +1 -0
- package/tag/Tag.stories.tsx +1 -1
- 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 +26 -20
- package/text-input/TextInput.stories.tsx +4 -4
- package/text-input/types.d.ts +1 -1
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +14 -46
- package/textarea/Textarea.stories.jsx +4 -3
- package/textarea/types.d.ts +130 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.js +12 -15
- package/toggle-group/ToggleGroup.stories.tsx +23 -28
- package/toggle-group/types.d.ts +38 -25
- package/wizard/Wizard.js +58 -8
- package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +0 -0
- package/wizard/types.d.ts +2 -6
- package/select/index.d.ts +0 -131
- package/textarea/index.d.ts +0 -127
- package/wizard/Icons.js +0 -65
|
@@ -0,0 +1,507 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import DxcFileInput from "./FileInput";
|
|
3
|
+
import Title from "../../.storybook/components/Title";
|
|
4
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
|
+
|
|
6
|
+
export default {
|
|
7
|
+
title: "File input",
|
|
8
|
+
component: DxcFileInput,
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const picPreview =
|
|
12
|
+
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABmJLR0QA/wD/AP+gvaeTAAAEDklEQVRogdXaXaxcUxQH8J/etloajVT1I9qgCbdIUB8PXPeKBJHgsV5ExAuVivBUgtSDxgNBVMVHxEeRUhIhkpJ40BYhoTShaQglQtA2VR+ttjMe1j45c6cztzNnzszc+09Ocs/Za+39/++zzt5rr7l0D1diA35P14b0bMJgAE+g2uR6FpP7xq4NZCL2YjlOSNdt6VkVj/eNXYu4VhD9G+c3aL8gtVWS7bjEsfhRCFk2ht2yZPNT8hl3WCUIfoZJY9gdhY+T7QM94NUWFmEfDuHCFuyXJNv9OL2LvNrGO2KGn2rD55nks6ErjAog+8B3YXYbfrPwR/Lt+4d/NLYLMrcW8F+efL/DtBJ5tY17EpEvxEbYLgawJfVxXxObRZhbiF2LWCjfE4Y66OeS1Mc/OLnm+Uw8ggP4oYP+j4hHxUy+VEJfL6e+3hTL8/X4RZ7W/FvCGE1xOdZp7wNvhvny9CULtSo+1QMhZWImPpQL+A03YbouCpkqXn8ZqA+jg1iD41P7NF0QMiAy2N0ipDrFWUa/hU9wXp1N6UIuEktsNug3HfY3gD2pr4rYTxrlZ6UJmY3n0mBZ7JYhhDi3ZP1+i6sb2HQsZBJuEEfUqljjV+Ic5QkhzifZylTF+xisae9IyBIRr1nnb+PU1DaoXCHkk5blXfvxGGYoKGQWnhbpdZb/XFNn0w0hGebgBXm4fY/rtClkOn6Wz8j96Vk9uikkw5DRm2JLQrKV4hB2pr+niJznuPI5toRN4rx/u1jZiLfUMqZiBf4Ss7Bb7Bu1WW0v3kgt5mA17i7iPB8vymN1Cy5Obb0W0jFm4Fd5jFbEfjJsggl5UBDeiLvk4bZP/4RcJj76W1p1OE2sXAfFBkgcotYrL0UpghF5BfOkVhzeTQ5rGrRdIXbiVWWxaxNvCG6vHckwq4jsFPXa8YYF8gPYVc2MaisiN/eGVyGsEBy3C86H4d5k8LliFZFeYSq+FlwP218WiJWpIpbY8Y5heeXllNqGdcqriPQKrwrO67MHZwh1ezGvT6SKIKu8VLCYWGareKgPZEZECrS5oP/Dgvtq2Jpuzi6FWmuYh7XyfK5asJ9zk++X5EWARuePsjEZd9SM+afOhBwjz9TtSDeDY3mUgBH526/gFRHnnQhZLD9NejLdvG7sn8yKoj6MtuLSmvaiQibJ8781RNl+V3rwEZaKpGxKQeIZ6sNoD+5s0G87QqYkbksT1yydWpQZDMl/kS16bawb9AN5GK3VfGnvZMwd0qEv+w+ETTgTN4rEcRAninSgVdTP6oE2fFvFf6JIuA1v4XmRkXQVk+UFhGoacKXDJ6eTj72nmGt0DWCbONdkmDBCMgzjK6MrmAtNQCGUvyH2HfXhNmGFZBgRNYD3Ou3ofwlpcfptqgzTAAAAAElFTkSuQmCC";
|
|
13
|
+
|
|
14
|
+
const file1 = new File(["file1"], "file.pdf", { type: "text/plain" });
|
|
15
|
+
const file2 = new File(["file2"], "file2.mp3", {
|
|
16
|
+
type: "audio",
|
|
17
|
+
});
|
|
18
|
+
const file3 = new File(["file3"], "file3.png", {
|
|
19
|
+
type: "image/png",
|
|
20
|
+
});
|
|
21
|
+
const file4 = new File(["file4"], "file4file4file4file4file4file4file4file4file4.mp4", {
|
|
22
|
+
type: "video",
|
|
23
|
+
});
|
|
24
|
+
const file5 = new File(["file4"], "file5file5file5file5file5file5file5file5file5.mp4", {
|
|
25
|
+
type: "video",
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
const fileExample = [
|
|
29
|
+
{
|
|
30
|
+
file: file1,
|
|
31
|
+
},
|
|
32
|
+
];
|
|
33
|
+
|
|
34
|
+
const fileExampleError = [
|
|
35
|
+
{
|
|
36
|
+
error: "Error message",
|
|
37
|
+
file: file1,
|
|
38
|
+
},
|
|
39
|
+
];
|
|
40
|
+
|
|
41
|
+
const filesExamples = [
|
|
42
|
+
{
|
|
43
|
+
file: file1,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
file: file2,
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
file: file3,
|
|
50
|
+
preview: picPreview,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
file: file4,
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
error: "Error message error message error message error message",
|
|
57
|
+
file: file5,
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
error: "Error message",
|
|
61
|
+
file: file3,
|
|
62
|
+
preview: picPreview,
|
|
63
|
+
},
|
|
64
|
+
];
|
|
65
|
+
|
|
66
|
+
export const Chromatic = () => (
|
|
67
|
+
<>
|
|
68
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
69
|
+
<Title title="File item hovered" theme="light" level={4} />
|
|
70
|
+
<DxcFileInput value={fileExample} callbackFile={() => {}} />
|
|
71
|
+
</ExampleContainer>
|
|
72
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
73
|
+
<Title title="File item focused" theme="light" level={4} />
|
|
74
|
+
<DxcFileInput value={fileExample} callbackFile={() => {}} />
|
|
75
|
+
</ExampleContainer>
|
|
76
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
77
|
+
<Title title="File item actived" theme="light" level={4} />
|
|
78
|
+
<DxcFileInput value={fileExample} callbackFile={() => {}} />
|
|
79
|
+
</ExampleContainer>
|
|
80
|
+
<Title title="File" theme="light" level={2} />
|
|
81
|
+
<ExampleContainer>
|
|
82
|
+
<Title title="Without label" theme="light" level={4} />
|
|
83
|
+
<DxcFileInput value={[]} callbackFile={() => {}} />
|
|
84
|
+
</ExampleContainer>
|
|
85
|
+
<ExampleContainer>
|
|
86
|
+
<Title title="With label" theme="light" level={4} />
|
|
87
|
+
<DxcFileInput label="File input" value={[]} callbackFile={() => {}} />
|
|
88
|
+
</ExampleContainer>
|
|
89
|
+
<ExampleContainer>
|
|
90
|
+
<Title title="With label and helper text" theme="light" level={4} />
|
|
91
|
+
<DxcFileInput label="File input" helperText="Please select files" value={[]} callbackFile={() => {}} />
|
|
92
|
+
</ExampleContainer>
|
|
93
|
+
<ExampleContainer>
|
|
94
|
+
<Title title="Single file" theme="light" level={4} />
|
|
95
|
+
<DxcFileInput
|
|
96
|
+
label="File input"
|
|
97
|
+
helperText="Please select files"
|
|
98
|
+
value={fileExample}
|
|
99
|
+
multiple={false}
|
|
100
|
+
callbackFile={() => {}}
|
|
101
|
+
/>
|
|
102
|
+
</ExampleContainer>
|
|
103
|
+
<ExampleContainer>
|
|
104
|
+
<Title title="Invalid single file" theme="light" level={4} />
|
|
105
|
+
<DxcFileInput
|
|
106
|
+
label="File input"
|
|
107
|
+
helperText="Please select files"
|
|
108
|
+
value={fileExampleError}
|
|
109
|
+
multiple={false}
|
|
110
|
+
callbackFile={() => {}}
|
|
111
|
+
/>
|
|
112
|
+
</ExampleContainer>
|
|
113
|
+
<ExampleContainer>
|
|
114
|
+
<Title title="Multiple files" theme="light" level={4} />
|
|
115
|
+
<DxcFileInput label="File input" helperText="Please select files" value={filesExamples} callbackFile={() => {}} />
|
|
116
|
+
</ExampleContainer>
|
|
117
|
+
<ExampleContainer>
|
|
118
|
+
<Title title="Show preview" theme="light" level={4} />
|
|
119
|
+
<DxcFileInput
|
|
120
|
+
label="File input"
|
|
121
|
+
helperText="Please select files"
|
|
122
|
+
value={filesExamples}
|
|
123
|
+
callbackFile={() => {}}
|
|
124
|
+
showPreview
|
|
125
|
+
/>
|
|
126
|
+
</ExampleContainer>
|
|
127
|
+
<ExampleContainer>
|
|
128
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
129
|
+
<DxcFileInput label="File input" helperText="Please select files" disabled value={[]} callbackFile={() => {}} />
|
|
130
|
+
</ExampleContainer>
|
|
131
|
+
<Title title="Margins" theme="light" level={3} />
|
|
132
|
+
<ExampleContainer>
|
|
133
|
+
<Title title="Xxsmall margin" theme="light" level={4} />
|
|
134
|
+
<DxcFileInput
|
|
135
|
+
label="File input"
|
|
136
|
+
helperText="Please select files"
|
|
137
|
+
value={fileExample}
|
|
138
|
+
callbackFile={() => {}}
|
|
139
|
+
margin="xxsmall"
|
|
140
|
+
/>
|
|
141
|
+
</ExampleContainer>
|
|
142
|
+
<ExampleContainer>
|
|
143
|
+
<Title title="Xsmall margin" theme="light" level={4} />
|
|
144
|
+
<DxcFileInput
|
|
145
|
+
label="File input"
|
|
146
|
+
helperText="Please select files"
|
|
147
|
+
value={fileExample}
|
|
148
|
+
callbackFile={() => {}}
|
|
149
|
+
margin="xsmall"
|
|
150
|
+
/>
|
|
151
|
+
</ExampleContainer>
|
|
152
|
+
<ExampleContainer>
|
|
153
|
+
<Title title="Small margin" theme="light" level={4} />
|
|
154
|
+
<DxcFileInput
|
|
155
|
+
label="File input"
|
|
156
|
+
helperText="Please select files"
|
|
157
|
+
value={fileExample}
|
|
158
|
+
callbackFile={() => {}}
|
|
159
|
+
margin="small"
|
|
160
|
+
/>
|
|
161
|
+
</ExampleContainer>
|
|
162
|
+
<ExampleContainer>
|
|
163
|
+
<Title title="Medium margin" theme="light" level={4} />
|
|
164
|
+
<DxcFileInput
|
|
165
|
+
label="File input"
|
|
166
|
+
helperText="Please select files"
|
|
167
|
+
value={fileExample}
|
|
168
|
+
callbackFile={() => {}}
|
|
169
|
+
margin="medium"
|
|
170
|
+
/>
|
|
171
|
+
</ExampleContainer>
|
|
172
|
+
<ExampleContainer>
|
|
173
|
+
<Title title="Large margin" theme="light" level={4} />
|
|
174
|
+
<DxcFileInput
|
|
175
|
+
label="File input"
|
|
176
|
+
helperText="Please select files"
|
|
177
|
+
value={fileExample}
|
|
178
|
+
callbackFile={() => {}}
|
|
179
|
+
margin="large"
|
|
180
|
+
/>
|
|
181
|
+
</ExampleContainer>
|
|
182
|
+
<ExampleContainer>
|
|
183
|
+
<Title title="Xlarge margin" theme="light" level={4} />
|
|
184
|
+
<DxcFileInput
|
|
185
|
+
label="File input"
|
|
186
|
+
helperText="Please select files"
|
|
187
|
+
value={fileExample}
|
|
188
|
+
callbackFile={() => {}}
|
|
189
|
+
margin="xlarge"
|
|
190
|
+
/>
|
|
191
|
+
</ExampleContainer>
|
|
192
|
+
<ExampleContainer>
|
|
193
|
+
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
194
|
+
<DxcFileInput
|
|
195
|
+
label="File input"
|
|
196
|
+
helperText="Please select files"
|
|
197
|
+
value={fileExample}
|
|
198
|
+
callbackFile={() => {}}
|
|
199
|
+
margin="xxlarge"
|
|
200
|
+
/>
|
|
201
|
+
</ExampleContainer>
|
|
202
|
+
<Title title="Filedrop" theme="light" level={2} />
|
|
203
|
+
<ExampleContainer>
|
|
204
|
+
<Title title="Without label" theme="light" level={4} />
|
|
205
|
+
<DxcFileInput mode="filedrop" value={[]} callbackFile={() => {}} />
|
|
206
|
+
</ExampleContainer>
|
|
207
|
+
<ExampleContainer>
|
|
208
|
+
<Title title="With label" theme="light" level={4} />
|
|
209
|
+
<DxcFileInput mode="filedrop" label="File input" value={[]} callbackFile={() => {}} />
|
|
210
|
+
</ExampleContainer>
|
|
211
|
+
<ExampleContainer>
|
|
212
|
+
<Title title="With label, helper text and ellipsis" theme="light" level={4} />
|
|
213
|
+
<DxcFileInput
|
|
214
|
+
mode="filedrop"
|
|
215
|
+
label="File input"
|
|
216
|
+
dropAreaLabel="or drop files or drop files or drop files or drop files or drop files"
|
|
217
|
+
helperText="Please select files"
|
|
218
|
+
value={[]}
|
|
219
|
+
callbackFile={() => {}}
|
|
220
|
+
/>
|
|
221
|
+
</ExampleContainer>
|
|
222
|
+
<ExampleContainer>
|
|
223
|
+
<Title title="Single file" theme="light" level={4} />
|
|
224
|
+
<DxcFileInput
|
|
225
|
+
mode="filedrop"
|
|
226
|
+
label="File input"
|
|
227
|
+
helperText="Please select files"
|
|
228
|
+
value={fileExample}
|
|
229
|
+
multiple={false}
|
|
230
|
+
callbackFile={() => {}}
|
|
231
|
+
/>
|
|
232
|
+
</ExampleContainer>
|
|
233
|
+
<ExampleContainer>
|
|
234
|
+
<Title title="Invalid single file" theme="light" level={4} />
|
|
235
|
+
<DxcFileInput
|
|
236
|
+
mode="filedrop"
|
|
237
|
+
label="File input"
|
|
238
|
+
helperText="Please select files"
|
|
239
|
+
value={fileExampleError}
|
|
240
|
+
multiple={false}
|
|
241
|
+
callbackFile={() => {}}
|
|
242
|
+
/>
|
|
243
|
+
</ExampleContainer>
|
|
244
|
+
<ExampleContainer>
|
|
245
|
+
<Title title="Multiple files" theme="light" level={4} />
|
|
246
|
+
<DxcFileInput
|
|
247
|
+
mode="filedrop"
|
|
248
|
+
label="File input"
|
|
249
|
+
helperText="Please select files"
|
|
250
|
+
value={filesExamples}
|
|
251
|
+
callbackFile={() => {}}
|
|
252
|
+
/>
|
|
253
|
+
</ExampleContainer>
|
|
254
|
+
<ExampleContainer>
|
|
255
|
+
<Title title="Show preview" theme="light" level={4} />
|
|
256
|
+
<DxcFileInput
|
|
257
|
+
mode="filedrop"
|
|
258
|
+
label="File input"
|
|
259
|
+
helperText="Please select files"
|
|
260
|
+
value={filesExamples}
|
|
261
|
+
callbackFile={() => {}}
|
|
262
|
+
showPreview
|
|
263
|
+
/>
|
|
264
|
+
</ExampleContainer>
|
|
265
|
+
<ExampleContainer>
|
|
266
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
267
|
+
<DxcFileInput
|
|
268
|
+
label="File input"
|
|
269
|
+
helperText="Please select files"
|
|
270
|
+
mode="filedrop"
|
|
271
|
+
disabled
|
|
272
|
+
value={[]}
|
|
273
|
+
callbackFile={() => {}}
|
|
274
|
+
/>
|
|
275
|
+
</ExampleContainer>
|
|
276
|
+
<Title title="Margins" theme="light" level={3} />
|
|
277
|
+
<ExampleContainer>
|
|
278
|
+
<Title title="Xxsmall margin" theme="light" level={4} />
|
|
279
|
+
<DxcFileInput
|
|
280
|
+
label="File input"
|
|
281
|
+
helperText="Please select files"
|
|
282
|
+
value={fileExample}
|
|
283
|
+
callbackFile={() => {}}
|
|
284
|
+
mode="filedrop"
|
|
285
|
+
margin="xxsmall"
|
|
286
|
+
/>
|
|
287
|
+
</ExampleContainer>
|
|
288
|
+
<ExampleContainer>
|
|
289
|
+
<Title title="Xsmall margin" theme="light" level={4} />
|
|
290
|
+
<DxcFileInput
|
|
291
|
+
label="File input"
|
|
292
|
+
helperText="Please select files"
|
|
293
|
+
value={fileExample}
|
|
294
|
+
callbackFile={() => {}}
|
|
295
|
+
mode="filedrop"
|
|
296
|
+
margin="xsmall"
|
|
297
|
+
/>
|
|
298
|
+
</ExampleContainer>
|
|
299
|
+
<ExampleContainer>
|
|
300
|
+
<Title title="Small margin" theme="light" level={4} />
|
|
301
|
+
<DxcFileInput
|
|
302
|
+
label="File input"
|
|
303
|
+
helperText="Please select files"
|
|
304
|
+
value={fileExample}
|
|
305
|
+
callbackFile={() => {}}
|
|
306
|
+
mode="filedrop"
|
|
307
|
+
margin="small"
|
|
308
|
+
/>
|
|
309
|
+
</ExampleContainer>
|
|
310
|
+
<ExampleContainer>
|
|
311
|
+
<Title title="Medium margin" theme="light" level={4} />
|
|
312
|
+
<DxcFileInput
|
|
313
|
+
label="File input"
|
|
314
|
+
helperText="Please select files"
|
|
315
|
+
value={fileExample}
|
|
316
|
+
callbackFile={() => {}}
|
|
317
|
+
mode="filedrop"
|
|
318
|
+
margin="medium"
|
|
319
|
+
/>
|
|
320
|
+
</ExampleContainer>
|
|
321
|
+
<ExampleContainer>
|
|
322
|
+
<Title title="Large margin" theme="light" level={4} />
|
|
323
|
+
<DxcFileInput
|
|
324
|
+
label="File input"
|
|
325
|
+
helperText="Please select files"
|
|
326
|
+
value={fileExample}
|
|
327
|
+
callbackFile={() => {}}
|
|
328
|
+
mode="filedrop"
|
|
329
|
+
margin="large"
|
|
330
|
+
/>
|
|
331
|
+
</ExampleContainer>
|
|
332
|
+
<ExampleContainer>
|
|
333
|
+
<Title title="Xlarge margin" theme="light" level={4} />
|
|
334
|
+
<DxcFileInput
|
|
335
|
+
label="File input"
|
|
336
|
+
helperText="Please select files"
|
|
337
|
+
value={fileExample}
|
|
338
|
+
callbackFile={() => {}}
|
|
339
|
+
margin="xlarge"
|
|
340
|
+
/>
|
|
341
|
+
</ExampleContainer>
|
|
342
|
+
<ExampleContainer>
|
|
343
|
+
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
344
|
+
<DxcFileInput
|
|
345
|
+
label="File input"
|
|
346
|
+
helperText="Please select files"
|
|
347
|
+
value={fileExample}
|
|
348
|
+
callbackFile={() => {}}
|
|
349
|
+
mode="filedrop"
|
|
350
|
+
margin="xxlarge"
|
|
351
|
+
/>
|
|
352
|
+
</ExampleContainer>
|
|
353
|
+
<Title title="Dropzone" theme="light" level={2} />
|
|
354
|
+
<ExampleContainer>
|
|
355
|
+
<Title title="Without label" theme="light" level={4} />
|
|
356
|
+
<DxcFileInput mode="dropzone" value={[]} callbackFile={() => {}} />
|
|
357
|
+
</ExampleContainer>
|
|
358
|
+
<ExampleContainer>
|
|
359
|
+
<Title title="With label" theme="light" level={4} />
|
|
360
|
+
<DxcFileInput label="File input" mode="dropzone" value={[]} callbackFile={() => {}} />
|
|
361
|
+
</ExampleContainer>
|
|
362
|
+
<ExampleContainer>
|
|
363
|
+
<Title title="With label, helper text and ellipsis" theme="light" level={4} />
|
|
364
|
+
<DxcFileInput
|
|
365
|
+
label="File input"
|
|
366
|
+
helperText="Please select files"
|
|
367
|
+
mode="dropzone"
|
|
368
|
+
dropAreaLabel="or drop files or drop files or drop files or drop files or drop files or drop files or drop files or drop files or drop files or drop files or drop files or drop files or drop files or drop files"
|
|
369
|
+
value={[]}
|
|
370
|
+
callbackFile={() => {}}
|
|
371
|
+
/>
|
|
372
|
+
</ExampleContainer>
|
|
373
|
+
<ExampleContainer>
|
|
374
|
+
<Title title="Single file" theme="light" level={4} />
|
|
375
|
+
<DxcFileInput
|
|
376
|
+
label="File input"
|
|
377
|
+
helperText="Please select files"
|
|
378
|
+
mode="dropzone"
|
|
379
|
+
value={fileExample}
|
|
380
|
+
callbackFile={() => {}}
|
|
381
|
+
multiple={false}
|
|
382
|
+
/>
|
|
383
|
+
</ExampleContainer>
|
|
384
|
+
<ExampleContainer>
|
|
385
|
+
<Title title="Invalid single file" theme="light" level={4} />
|
|
386
|
+
<DxcFileInput
|
|
387
|
+
label="File input"
|
|
388
|
+
helperText="Please select files"
|
|
389
|
+
mode="dropzone"
|
|
390
|
+
value={fileExampleError}
|
|
391
|
+
callbackFile={() => {}}
|
|
392
|
+
multiple={false}
|
|
393
|
+
/>
|
|
394
|
+
</ExampleContainer>
|
|
395
|
+
<ExampleContainer>
|
|
396
|
+
<Title title="Multiple files" theme="light" level={4} />
|
|
397
|
+
<DxcFileInput
|
|
398
|
+
mode="dropzone"
|
|
399
|
+
label="File input"
|
|
400
|
+
helperText="Please select files"
|
|
401
|
+
value={filesExamples}
|
|
402
|
+
callbackFile={() => {}}
|
|
403
|
+
/>
|
|
404
|
+
</ExampleContainer>
|
|
405
|
+
<ExampleContainer>
|
|
406
|
+
<Title title="Show preview" theme="light" level={4} />
|
|
407
|
+
<DxcFileInput
|
|
408
|
+
mode="dropzone"
|
|
409
|
+
label="File input"
|
|
410
|
+
helperText="Please select files"
|
|
411
|
+
value={filesExamples}
|
|
412
|
+
callbackFile={() => {}}
|
|
413
|
+
showPreview
|
|
414
|
+
/>
|
|
415
|
+
</ExampleContainer>
|
|
416
|
+
<ExampleContainer>
|
|
417
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
418
|
+
<DxcFileInput
|
|
419
|
+
label="File input"
|
|
420
|
+
helperText="Please select files"
|
|
421
|
+
mode="dropzone"
|
|
422
|
+
disabled
|
|
423
|
+
value={[]}
|
|
424
|
+
callbackFile={() => {}}
|
|
425
|
+
/>
|
|
426
|
+
</ExampleContainer>
|
|
427
|
+
<Title title="Margins" theme="light" level={3} />
|
|
428
|
+
<ExampleContainer>
|
|
429
|
+
<Title title="Xxsmall margin" theme="light" level={4} />
|
|
430
|
+
<DxcFileInput
|
|
431
|
+
label="File input"
|
|
432
|
+
helperText="Please select files"
|
|
433
|
+
value={fileExample}
|
|
434
|
+
callbackFile={() => {}}
|
|
435
|
+
mode="dropzone"
|
|
436
|
+
margin="xxsmall"
|
|
437
|
+
/>
|
|
438
|
+
</ExampleContainer>
|
|
439
|
+
<ExampleContainer>
|
|
440
|
+
<Title title="Xsmall margin" theme="light" level={4} />
|
|
441
|
+
<DxcFileInput
|
|
442
|
+
label="File input"
|
|
443
|
+
helperText="Please select files"
|
|
444
|
+
value={fileExample}
|
|
445
|
+
callbackFile={() => {}}
|
|
446
|
+
mode="dropzone"
|
|
447
|
+
margin="xsmall"
|
|
448
|
+
/>
|
|
449
|
+
</ExampleContainer>
|
|
450
|
+
<ExampleContainer>
|
|
451
|
+
<Title title="Small margin" theme="light" level={4} />
|
|
452
|
+
<DxcFileInput
|
|
453
|
+
label="File input"
|
|
454
|
+
helperText="Please select files"
|
|
455
|
+
value={fileExample}
|
|
456
|
+
callbackFile={() => {}}
|
|
457
|
+
mode="dropzone"
|
|
458
|
+
margin="small"
|
|
459
|
+
/>
|
|
460
|
+
</ExampleContainer>
|
|
461
|
+
<ExampleContainer>
|
|
462
|
+
<Title title="Medium margin" theme="light" level={4} />
|
|
463
|
+
<DxcFileInput
|
|
464
|
+
label="File input"
|
|
465
|
+
helperText="Please select files"
|
|
466
|
+
value={fileExample}
|
|
467
|
+
callbackFile={() => {}}
|
|
468
|
+
mode="dropzone"
|
|
469
|
+
margin="medium"
|
|
470
|
+
/>
|
|
471
|
+
</ExampleContainer>
|
|
472
|
+
<ExampleContainer>
|
|
473
|
+
<Title title="Large margin" theme="light" level={4} />
|
|
474
|
+
<DxcFileInput
|
|
475
|
+
label="File input"
|
|
476
|
+
helperText="Please select files"
|
|
477
|
+
value={fileExample}
|
|
478
|
+
callbackFile={() => {}}
|
|
479
|
+
mode="dropzone"
|
|
480
|
+
margin="large"
|
|
481
|
+
/>
|
|
482
|
+
</ExampleContainer>
|
|
483
|
+
<ExampleContainer>
|
|
484
|
+
<Title title="Xlarge margin" theme="light" level={4} />
|
|
485
|
+
<DxcFileInput
|
|
486
|
+
label="File input"
|
|
487
|
+
helperText="Please select files"
|
|
488
|
+
value={fileExample}
|
|
489
|
+
callbackFile={() => {}}
|
|
490
|
+
mode="dropzone"
|
|
491
|
+
margin="xlarge"
|
|
492
|
+
/>
|
|
493
|
+
</ExampleContainer>
|
|
494
|
+
<ExampleContainer>
|
|
495
|
+
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
496
|
+
<DxcFileInput
|
|
497
|
+
label="File input"
|
|
498
|
+
helperText="Please select files"
|
|
499
|
+
value={fileExample}
|
|
500
|
+
callbackFile={() => {}}
|
|
501
|
+
mode="dropzone"
|
|
502
|
+
margin="xxlarge"
|
|
503
|
+
/>
|
|
504
|
+
<hr />
|
|
505
|
+
</ExampleContainer>
|
|
506
|
+
</>
|
|
507
|
+
);
|
package/file-input/FileItem.js
CHANGED
|
@@ -159,13 +159,13 @@ var ErrorIcon = _styledComponents["default"].span(_templateObject8 || (_template
|
|
|
159
159
|
var DeleteIcon = _styledComponents["default"].button(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n margin-left: 4px;\n background-color: transparent;\n box-shadow: 0 0 0 2px transparent;\n padding: 3px;\n cursor: pointer;\n svg {\n line-height: 18px;\n }\n &:hover {\n background-color: ", ";\n }\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
|
|
160
160
|
return props.theme.fontFamily;
|
|
161
161
|
}, function (props) {
|
|
162
|
-
return props.
|
|
162
|
+
return props.theme.hoverDeleteFileItemBackgroundColor;
|
|
163
163
|
}, function (props) {
|
|
164
164
|
return props.theme.focusActionBorderColor;
|
|
165
165
|
}, function (props) {
|
|
166
166
|
return props.theme.focusActionBorderColor;
|
|
167
167
|
}, function (props) {
|
|
168
|
-
return props.
|
|
168
|
+
return props.theme.activeDeleteFileItemBackgroundColor;
|
|
169
169
|
});
|
|
170
170
|
|
|
171
171
|
var ErrorMessage = _styledComponents["default"].span(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
|
package/file-input/types.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ declare type FileData = {
|
|
|
19
19
|
*/
|
|
20
20
|
preview?: string;
|
|
21
21
|
};
|
|
22
|
-
declare type
|
|
22
|
+
declare type CommonProps = {
|
|
23
23
|
/**
|
|
24
24
|
* Name attribute.
|
|
25
25
|
*/
|
|
@@ -29,13 +29,9 @@ declare type Props = {
|
|
|
29
29
|
*/
|
|
30
30
|
label?: string;
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
33
|
-
* 'file': Files are selected by clicking the button and selecting it through the file explorer.
|
|
34
|
-
* 'filedrop': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
|
|
35
|
-
* 'dropzone': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
|
|
36
|
-
* The drag and drop area of this mode is bigger than the one of the filedrop mode.
|
|
32
|
+
* Text to be placed inside the button.
|
|
37
33
|
*/
|
|
38
|
-
|
|
34
|
+
buttonLabel?: string;
|
|
39
35
|
/**
|
|
40
36
|
* Helper text to be placed above the component.
|
|
41
37
|
*/
|
|
@@ -84,4 +80,33 @@ declare type Props = {
|
|
|
84
80
|
*/
|
|
85
81
|
tabIndex?: number;
|
|
86
82
|
};
|
|
83
|
+
declare type DropModeProps = CommonProps & {
|
|
84
|
+
/**
|
|
85
|
+
* Uses one of the available file input modes:
|
|
86
|
+
* 'file': Files are selected by clicking the button and selecting it through the file explorer.
|
|
87
|
+
* 'filedrop': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
|
|
88
|
+
* 'dropzone': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
|
|
89
|
+
* The drag and drop area of this mode is bigger than the one of the filedrop mode.
|
|
90
|
+
*/
|
|
91
|
+
mode: "filedrop" | "dropzone";
|
|
92
|
+
/**
|
|
93
|
+
* Text to be placed inside the drag and drop zone alongside the button.
|
|
94
|
+
*/
|
|
95
|
+
dropAreaLabel?: string;
|
|
96
|
+
};
|
|
97
|
+
declare type FileModeProps = CommonProps & {
|
|
98
|
+
/**
|
|
99
|
+
* Uses one of the available file input modes:
|
|
100
|
+
* 'file': Files are selected by clicking the button and selecting it through the file explorer.
|
|
101
|
+
* 'filedrop': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
|
|
102
|
+
* 'dropzone': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
|
|
103
|
+
* The drag and drop area of this mode is bigger than the one of the filedrop mode.
|
|
104
|
+
*/
|
|
105
|
+
mode?: "file";
|
|
106
|
+
/**
|
|
107
|
+
* Text to be placed inside the drag and drop zone alongside the button.
|
|
108
|
+
*/
|
|
109
|
+
dropAreaLabel?: never;
|
|
110
|
+
};
|
|
111
|
+
declare type Props = DropModeProps | FileModeProps;
|
|
87
112
|
export default Props;
|
package/footer/Footer.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import FooterPropsType from "./types";
|
|
3
|
-
declare const DxcFooter: ({ socialLinks, bottomLinks, copyright, children, padding, margin, tabIndex }: FooterPropsType) => JSX.Element;
|
|
3
|
+
declare const DxcFooter: ({ socialLinks, bottomLinks, copyright, children, padding, margin, tabIndex, }: FooterPropsType) => JSX.Element;
|
|
4
4
|
export default DxcFooter;
|
package/footer/Footer.js
CHANGED
|
@@ -9,10 +9,10 @@ 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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
17
|
|
|
18
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -25,7 +25,7 @@ var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
|
25
25
|
|
|
26
26
|
var _BackgroundColorContext = require("../BackgroundColorContext");
|
|
27
27
|
|
|
28
|
-
var _Icons =
|
|
28
|
+
var _Icons = require("./Icons");
|
|
29
29
|
|
|
30
30
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
|
|
31
31
|
|
|
@@ -37,7 +37,7 @@ var DxcFooter = function DxcFooter(_ref) {
|
|
|
37
37
|
var socialLinks = _ref.socialLinks,
|
|
38
38
|
bottomLinks = _ref.bottomLinks,
|
|
39
39
|
_ref$copyright = _ref.copyright,
|
|
40
|
-
copyright = _ref$copyright === void 0 ? "" : _ref$copyright,
|
|
40
|
+
copyright = _ref$copyright === void 0 ? "\xA9 DXC Technology ".concat(new Date().getFullYear(), ". All rights reserved.") : _ref$copyright,
|
|
41
41
|
children = _ref.children,
|
|
42
42
|
padding = _ref.padding,
|
|
43
43
|
margin = _ref.margin,
|
|
@@ -63,7 +63,7 @@ var DxcFooter = function DxcFooter(_ref) {
|
|
|
63
63
|
var colorsTheme = (0, _useTheme["default"])();
|
|
64
64
|
var footerLogo = (0, _react.useMemo)(function () {
|
|
65
65
|
if (!colorsTheme.footer.logo) {
|
|
66
|
-
return _Icons
|
|
66
|
+
return _Icons.dxcLogo;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
if (typeof colorsTheme.footer.logo === "string") {
|
|
@@ -110,9 +110,9 @@ var DxcFooter = function DxcFooter(_ref) {
|
|
|
110
110
|
key: "social".concat(index).concat(link.href),
|
|
111
111
|
index: index,
|
|
112
112
|
href: link && link.href ? link.href : ""
|
|
113
|
-
},
|
|
114
|
-
src: link.
|
|
115
|
-
}));
|
|
113
|
+
}, /*#__PURE__*/_react["default"].createElement(SocialIconContainer, null, typeof link.logo === "string" ? /*#__PURE__*/_react["default"].createElement(SocialIconImg, {
|
|
114
|
+
src: link.logo
|
|
115
|
+
}) : link.logo));
|
|
116
116
|
});
|
|
117
117
|
var bottomLink = bottomLinks === null || bottomLinks === void 0 ? void 0 : bottomLinks.map(function (link, index) {
|
|
118
118
|
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
@@ -228,15 +228,9 @@ var SocialAnchor = _styledComponents["default"].a(_templateObject9 || (_template
|
|
|
228
228
|
return props.index === 0 ? "0px" : props.theme.socialLinksGutter;
|
|
229
229
|
});
|
|
230
230
|
|
|
231
|
-
var
|
|
232
|
-
return props.theme.socialLinksSize;
|
|
233
|
-
}, function (props) {
|
|
234
|
-
return props.theme.socialLinksSize;
|
|
235
|
-
}, function (props) {
|
|
236
|
-
return props.theme.socialLinksColor;
|
|
237
|
-
});
|
|
231
|
+
var SocialIconImg = _styledComponents["default"].img(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
238
232
|
|
|
239
|
-
var SocialIconContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n height: ", ";\n width: ", ";\n color: ", ";\n }\n\n overflow: hidden;\n
|
|
233
|
+
var SocialIconContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n height: ", ";\n width: ", ";\n color: ", ";\n }\n\n overflow: hidden;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
240
234
|
return props.theme.socialLinksSize;
|
|
241
235
|
}, function (props) {
|
|
242
236
|
return props.theme.socialLinksSize;
|