@dxc-technology/halstack-react 0.0.0-9005464 → 0.0.0-9179a3a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +10 -0
- package/BackgroundColorContext.js +1 -3
- package/ThemeContext.d.ts +15 -0
- package/ThemeContext.js +5 -8
- package/V3Select/V3Select.js +2 -2
- package/V3Textarea/V3Textarea.js +2 -2
- package/accordion/Accordion.js +2 -2
- package/accordion/Accordion.stories.tsx +300 -0
- package/accordion/types.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +2 -2
- package/accordion-group/AccordionGroup.stories.tsx +225 -0
- package/accordion-group/types.d.ts +1 -1
- package/alert/Alert.js +2 -2
- package/alert/types.d.ts +1 -1
- package/badge/Badge.js +1 -1
- package/box/Box.d.ts +1 -1
- package/box/Box.js +4 -7
- package/box/types.d.ts +0 -4
- package/button/Button.d.ts +1 -1
- package/button/Button.js +6 -4
- package/button/types.d.ts +2 -2
- package/card/Card.js +5 -6
- package/card/Card.stories.tsx +201 -0
- package/card/ice-cream.jpg +0 -0
- package/card/types.d.ts +4 -6
- package/checkbox/Checkbox.js +2 -2
- package/checkbox/types.d.ts +1 -1
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +5 -27
- package/chip/Chip.stories.tsx +121 -0
- package/chip/types.d.ts +53 -0
- package/chip/types.js +5 -0
- package/common/variables.js +19 -22
- package/date/Date.js +1 -1
- package/date-input/DateInput.js +4 -7
- package/dialog/Dialog.js +2 -2
- package/dialog/Dialog.stories.tsx +212 -0
- package/dropdown/Dropdown.js +1 -1
- package/dropdown/types.d.ts +1 -1
- package/file-input/FileInput.d.ts +4 -0
- package/file-input/FileInput.js +65 -76
- package/file-input/FileItem.d.ts +14 -0
- package/file-input/FileItem.js +12 -21
- package/file-input/types.d.ts +112 -0
- package/file-input/types.js +5 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +12 -18
- 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 +22 -18
- package/header/Header.js +2 -2
- package/header/Header.stories.tsx +162 -0
- package/header/Icons.d.ts +2 -0
- package/header/types.d.ts +4 -2
- package/heading/Heading.d.ts +4 -0
- package/heading/Heading.js +7 -24
- package/heading/Heading.stories.tsx +53 -0
- package/heading/types.d.ts +33 -0
- package/heading/types.js +5 -0
- package/input-text/InputText.js +2 -2
- package/layout/ApplicationLayout.d.ts +10 -0
- package/layout/ApplicationLayout.js +8 -18
- package/layout/ApplicationLayout.stories.tsx +171 -0
- package/layout/types.d.ts +57 -0
- package/layout/types.js +5 -0
- package/link/Link.js +3 -3
- package/link/Link.stories.tsx +76 -0
- package/list/List.d.ts +7 -0
- package/list/List.js +37 -0
- package/list/List.stories.tsx +70 -0
- package/main.d.ts +7 -3
- package/main.js +34 -2
- package/number-input/NumberInput.js +3 -6
- package/number-input/NumberInputContext.d.ts +4 -0
- package/number-input/NumberInputContext.js +5 -2
- package/number-input/numberInputContextTypes.d.ts +19 -0
- package/number-input/numberInputContextTypes.js +5 -0
- package/package.json +1 -1
- package/paginator/Paginator.js +2 -8
- package/password-input/PasswordInput.js +19 -18
- package/password-input/types.d.ts +17 -10
- package/progress-bar/ProgressBar.js +2 -2
- package/radio/Radio.js +2 -2
- package/radio/types.d.ts +2 -2
- package/resultsetTable/ResultsetTable.d.ts +4 -0
- package/resultsetTable/ResultsetTable.js +4 -27
- package/resultsetTable/ResultsetTable.stories.tsx +276 -0
- package/resultsetTable/types.d.ts +67 -0
- package/resultsetTable/types.js +5 -0
- package/row/Row.d.ts +11 -0
- package/row/Row.js +124 -0
- package/row/Row.stories.tsx +223 -0
- package/select/Select.js +15 -17
- package/sidenav/Sidenav.js +2 -2
- package/sidenav/Sidenav.stories.tsx +165 -0
- package/slider/Slider.js +8 -8
- package/slider/Slider.stories.tsx +6 -1
- package/spinner/Spinner.js +2 -2
- package/stack/Stack.d.ts +10 -0
- package/stack/Stack.js +94 -0
- package/stack/Stack.stories.tsx +150 -0
- package/switch/Switch.js +2 -2
- package/table/Table.js +3 -3
- package/tabs/Tabs.js +4 -2
- package/tabs/Tabs.stories.tsx +121 -0
- package/tabs/types.d.ts +3 -4
- package/tag/Tag.js +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.d.ts +4 -0
- package/text-input/TextInput.js +42 -81
- package/text-input/TextInput.stories.tsx +456 -0
- package/text-input/types.d.ts +159 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +27 -60
- package/textarea/types.d.ts +130 -0
- package/textarea/types.js +5 -0
- package/toggle/Toggle.js +1 -1
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +8 -34
- package/toggle-group/types.d.ts +84 -0
- package/toggle-group/types.js +5 -0
- package/upload/buttons-upload/ButtonsUpload.js +2 -2
- package/upload/dragAndDropArea/DragAndDropArea.js +2 -2
- package/upload/file-upload/FileToUpload.js +1 -1
- package/upload/files-upload/FilesToUpload.js +1 -1
- package/upload/transaction/Transaction.js +2 -2
- package/upload/transactions/Transactions.js +1 -1
- package/useTheme.d.ts +2 -0
- package/useTheme.js +1 -1
- package/wizard/Wizard.js +2 -2
- package/wizard/Wizard.stories.jsx +224 -0
- package/wizard/types.d.ts +1 -1
- package/chip/index.d.ts +0 -22
- package/file-input/index.d.ts +0 -81
- package/heading/index.d.ts +0 -17
- package/resultsetTable/index.d.ts +0 -19
- package/text-input/index.d.ts +0 -135
- package/textarea/index.d.ts +0 -117
- package/toggle-group/index.d.ts +0 -21
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { userEvent, within } from "@storybook/testing-library";
|
|
3
|
+
import DxcDialog from "./Dialog";
|
|
4
|
+
import Title from "../../.storybook/components/Title";
|
|
5
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: "Dialog ",
|
|
9
|
+
component: DxcDialog,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const DefaultDialog = () => (
|
|
13
|
+
<>
|
|
14
|
+
<ExampleContainer expanded={true}>
|
|
15
|
+
<Title title="Default dialog" theme="light" level={4} />
|
|
16
|
+
<DxcDialog>
|
|
17
|
+
{" "}
|
|
18
|
+
<p>
|
|
19
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
|
|
20
|
+
placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
|
|
21
|
+
elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
|
|
22
|
+
tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
|
|
23
|
+
eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
|
|
24
|
+
enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
|
|
25
|
+
fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
|
|
26
|
+
augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
|
|
27
|
+
dignissim, pharetra neque molestie, molestie lectus.
|
|
28
|
+
</p>{" "}
|
|
29
|
+
</DxcDialog>
|
|
30
|
+
</ExampleContainer>
|
|
31
|
+
</>
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
export const DialogWithoutOverlay = () => (
|
|
35
|
+
<ExampleContainer expanded={true}>
|
|
36
|
+
<Title title="Dialog Without Overlay" theme="light" level={4} />
|
|
37
|
+
<DxcDialog overlay={false}>
|
|
38
|
+
{" "}
|
|
39
|
+
<p>
|
|
40
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
|
|
41
|
+
placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
|
|
42
|
+
elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
|
|
43
|
+
tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
|
|
44
|
+
eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
|
|
45
|
+
enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
|
|
46
|
+
fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
|
|
47
|
+
augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
|
|
48
|
+
dignissim, pharetra neque molestie, molestie lectus.
|
|
49
|
+
</p>{" "}
|
|
50
|
+
</DxcDialog>
|
|
51
|
+
</ExampleContainer>
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
export const DialogCloseVisibleFalse = () => (
|
|
55
|
+
<ExampleContainer expanded={true}>
|
|
56
|
+
<Title title="Dialog Close Visible" theme="dark" level={4} />
|
|
57
|
+
<DxcDialog isCloseVisible={false}>
|
|
58
|
+
{" "}
|
|
59
|
+
<p>
|
|
60
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
|
|
61
|
+
placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
|
|
62
|
+
elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
|
|
63
|
+
tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
|
|
64
|
+
eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
|
|
65
|
+
enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
|
|
66
|
+
fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
|
|
67
|
+
augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
|
|
68
|
+
dignissim, pharetra neque molestie, molestie lectus.
|
|
69
|
+
</p>{" "}
|
|
70
|
+
</DxcDialog>
|
|
71
|
+
</ExampleContainer>
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
export const DialogWithXxsmallPadding = () => (
|
|
75
|
+
<ExampleContainer expanded={true}>
|
|
76
|
+
<Title title="Dialog With Xxsmall Padding" theme="light" level={4} />
|
|
77
|
+
<DxcDialog padding={"xxsmall"}>
|
|
78
|
+
{" "}
|
|
79
|
+
<p>
|
|
80
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
|
|
81
|
+
placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
|
|
82
|
+
elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
|
|
83
|
+
tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
|
|
84
|
+
eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
|
|
85
|
+
enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
|
|
86
|
+
fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
|
|
87
|
+
augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
|
|
88
|
+
dignissim, pharetra neque molestie, molestie lectus.
|
|
89
|
+
</p>{" "}
|
|
90
|
+
</DxcDialog>
|
|
91
|
+
</ExampleContainer>
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
export const DialogWithXsmallPadding = () => (
|
|
95
|
+
<ExampleContainer expanded={true}>
|
|
96
|
+
<Title title="Dialog With Xsmall Padding" theme="light" level={4} />
|
|
97
|
+
<DxcDialog padding={"xsmall"}>
|
|
98
|
+
{" "}
|
|
99
|
+
<p>
|
|
100
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
|
|
101
|
+
placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
|
|
102
|
+
elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
|
|
103
|
+
tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
|
|
104
|
+
eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
|
|
105
|
+
enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
|
|
106
|
+
fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
|
|
107
|
+
augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
|
|
108
|
+
dignissim, pharetra neque molestie, molestie lectus.
|
|
109
|
+
</p>{" "}
|
|
110
|
+
</DxcDialog>
|
|
111
|
+
</ExampleContainer>
|
|
112
|
+
);
|
|
113
|
+
|
|
114
|
+
export const DialogWithSmallPadding = () => (
|
|
115
|
+
<ExampleContainer expanded={true}>
|
|
116
|
+
<Title title="Dialog With Small Padding" theme="light" level={4} />
|
|
117
|
+
<DxcDialog padding={"small"}>
|
|
118
|
+
{" "}
|
|
119
|
+
<p>
|
|
120
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
|
|
121
|
+
placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
|
|
122
|
+
elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
|
|
123
|
+
tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
|
|
124
|
+
eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
|
|
125
|
+
enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
|
|
126
|
+
fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
|
|
127
|
+
augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
|
|
128
|
+
dignissim, pharetra neque molestie, molestie lectus.
|
|
129
|
+
</p>{" "}
|
|
130
|
+
</DxcDialog>
|
|
131
|
+
</ExampleContainer>
|
|
132
|
+
);
|
|
133
|
+
|
|
134
|
+
export const DialogWithMediumPadding = () => (
|
|
135
|
+
<ExampleContainer expanded={true}>
|
|
136
|
+
<Title title="Dialog With Medium Padding" theme="light" level={4} />
|
|
137
|
+
<DxcDialog padding={"medium"}>
|
|
138
|
+
{" "}
|
|
139
|
+
<p>
|
|
140
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
|
|
141
|
+
placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
|
|
142
|
+
elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
|
|
143
|
+
tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
|
|
144
|
+
eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
|
|
145
|
+
enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
|
|
146
|
+
fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
|
|
147
|
+
augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
|
|
148
|
+
dignissim, pharetra neque molestie, molestie lectus.
|
|
149
|
+
</p>{" "}
|
|
150
|
+
</DxcDialog>
|
|
151
|
+
</ExampleContainer>
|
|
152
|
+
);
|
|
153
|
+
|
|
154
|
+
export const DialogWithLargePadding = () => (
|
|
155
|
+
<ExampleContainer expanded={true}>
|
|
156
|
+
<Title title="Dialog With Large Padding" theme="light" level={4} />
|
|
157
|
+
<DxcDialog padding={"large"}>
|
|
158
|
+
{" "}
|
|
159
|
+
<p>
|
|
160
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
|
|
161
|
+
placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
|
|
162
|
+
elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
|
|
163
|
+
tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
|
|
164
|
+
eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
|
|
165
|
+
enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
|
|
166
|
+
fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
|
|
167
|
+
augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
|
|
168
|
+
dignissim, pharetra neque molestie, molestie lectus.
|
|
169
|
+
</p>{" "}
|
|
170
|
+
</DxcDialog>
|
|
171
|
+
</ExampleContainer>
|
|
172
|
+
);
|
|
173
|
+
|
|
174
|
+
export const DialogWithXlargePadding = () => (
|
|
175
|
+
<ExampleContainer expanded={true}>
|
|
176
|
+
<Title title="Dialog With Xlarge Padding" theme="light" level={4} />
|
|
177
|
+
<DxcDialog padding={"xlarge"}>
|
|
178
|
+
{" "}
|
|
179
|
+
<p>
|
|
180
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
|
|
181
|
+
placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
|
|
182
|
+
elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
|
|
183
|
+
tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
|
|
184
|
+
eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
|
|
185
|
+
enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
|
|
186
|
+
fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
|
|
187
|
+
augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
|
|
188
|
+
dignissim, pharetra neque molestie, molestie lectus.
|
|
189
|
+
</p>{" "}
|
|
190
|
+
</DxcDialog>
|
|
191
|
+
</ExampleContainer>
|
|
192
|
+
);
|
|
193
|
+
|
|
194
|
+
export const DialogWithXxlargePadding = () => (
|
|
195
|
+
<ExampleContainer expanded={true}>
|
|
196
|
+
<Title title="Dialog With Xxlarge Padding" theme="light" level={4} />
|
|
197
|
+
<DxcDialog padding={"xxlarge"}>
|
|
198
|
+
{" "}
|
|
199
|
+
<p>
|
|
200
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi egestas luctus porttitor. Donec massa magna,
|
|
201
|
+
placerat sit amet felis eget, venenatis fringilla ipsum. Lorem ipsum dolor sit amet, consectetur adipiscing
|
|
202
|
+
elit. Donec congue laoreet orci, nec elementum dolor consequat quis. Curabitur rhoncus justo sed dapibus
|
|
203
|
+
tincidunt. Vestibulum cursus ut risus sit amet congue. Nunc luctus, urna ullamcorper facilisis Jia Le, risus
|
|
204
|
+
eros aliquam erat, ut efficitur ante neque id odio. Nam orci leo, dignissim sit amet dolor ut, congue gravida
|
|
205
|
+
enim. Donec rhoncus aliquam nisl, ac cursus enim bibendum vitae. Nunc sit amet elit ornare, malesuada urna eu,
|
|
206
|
+
fringilla mauris. Vivamus bibendum turpis est, id elementum purus euismod sit amet. Etiam sit amet maximus
|
|
207
|
+
augue. Vivamus erat sapien, ultricies fringilla tellus id, condimentum blandit justo. Praesent quis nunc
|
|
208
|
+
dignissim, pharetra neque molestie, molestie lectus.
|
|
209
|
+
</p>{" "}
|
|
210
|
+
</DxcDialog>
|
|
211
|
+
</ExampleContainer>
|
|
212
|
+
);
|
package/dropdown/Dropdown.js
CHANGED
|
@@ -35,7 +35,7 @@ var _variables = require("../common/variables.js");
|
|
|
35
35
|
|
|
36
36
|
var _utils = require("../common/utils.js");
|
|
37
37
|
|
|
38
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
38
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
39
39
|
|
|
40
40
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
|
|
41
41
|
|
package/dropdown/types.d.ts
CHANGED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import FileInputPropsType from "./types";
|
|
3
|
+
declare const DxcFileInput: ({ name, mode, label, buttonLabel, dropAreaLabel, helperText, accept, minSize, maxSize, showPreview, multiple, disabled, callbackFile, value, margin, tabIndex, }: FileInputPropsType) => JSX.Element;
|
|
4
|
+
export default DxcFileInput;
|
package/file-input/FileInput.js
CHANGED
|
@@ -23,21 +23,19 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
23
23
|
|
|
24
24
|
var _react = _interopRequireWildcard(require("react"));
|
|
25
25
|
|
|
26
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
|
-
|
|
28
26
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
29
27
|
|
|
30
28
|
var _uuid = require("uuid");
|
|
31
29
|
|
|
32
30
|
var _variables = require("../common/variables.js");
|
|
33
31
|
|
|
34
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
32
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
35
33
|
|
|
36
34
|
var _Button = _interopRequireDefault(require("../button/Button"));
|
|
37
35
|
|
|
38
36
|
var _FileItem = _interopRequireDefault(require("./FileItem"));
|
|
39
37
|
|
|
40
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
|
|
38
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
|
|
41
39
|
|
|
42
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); }
|
|
43
41
|
|
|
@@ -89,6 +87,8 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
89
87
|
mode = _ref$mode === void 0 ? "file" : _ref$mode,
|
|
90
88
|
_ref$label = _ref.label,
|
|
91
89
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
90
|
+
buttonLabel = _ref.buttonLabel,
|
|
91
|
+
dropAreaLabel = _ref.dropAreaLabel,
|
|
92
92
|
_ref$helperText = _ref.helperText,
|
|
93
93
|
helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
|
|
94
94
|
accept = _ref.accept,
|
|
@@ -103,7 +103,8 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
103
103
|
callbackFile = _ref.callbackFile,
|
|
104
104
|
value = _ref.value,
|
|
105
105
|
margin = _ref.margin,
|
|
106
|
-
tabIndex = _ref.tabIndex
|
|
106
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
107
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
107
108
|
|
|
108
109
|
var _useState = (0, _react.useState)(false),
|
|
109
110
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
@@ -297,18 +298,12 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
297
298
|
};
|
|
298
299
|
|
|
299
300
|
var handleDragIn = function handleDragIn(e) {
|
|
300
|
-
e.
|
|
301
|
-
e.stopPropagation();
|
|
302
|
-
|
|
303
|
-
if (e.dataTransfer.items && e.dataTransfer.items.length > 0) {
|
|
304
|
-
setIsDragging(true);
|
|
305
|
-
}
|
|
301
|
+
if (e.dataTransfer.items && e.dataTransfer.items.length > 0) setIsDragging(true);
|
|
306
302
|
};
|
|
307
303
|
|
|
308
304
|
var handleDragOut = function handleDragOut(e) {
|
|
309
|
-
|
|
310
|
-
e.
|
|
311
|
-
setIsDragging(false);
|
|
305
|
+
// only if dragged items leave container (outside, not to childs)
|
|
306
|
+
if (!e.currentTarget.contains(e.relatedTarget)) setIsDragging(false);
|
|
312
307
|
};
|
|
313
308
|
|
|
314
309
|
var handleDrop = function handleDrop(e) {
|
|
@@ -329,8 +324,7 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
329
324
|
theme: colorsTheme.fileInput
|
|
330
325
|
}, /*#__PURE__*/_react["default"].createElement(FileInputContainer, {
|
|
331
326
|
margin: margin,
|
|
332
|
-
name: name
|
|
333
|
-
tabIndex: tabIndex
|
|
327
|
+
name: name
|
|
334
328
|
}, /*#__PURE__*/_react["default"].createElement(Label, {
|
|
335
329
|
htmlFor: fileInputId,
|
|
336
330
|
disabled: disabled
|
|
@@ -339,22 +333,20 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
339
333
|
}, helperText), mode === "file" ? /*#__PURE__*/_react["default"].createElement(FileContainer, {
|
|
340
334
|
multiple: multiple,
|
|
341
335
|
files: files
|
|
342
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
343
|
-
mode: "secondary",
|
|
344
|
-
label: "Select files",
|
|
345
|
-
onClick: handleClick,
|
|
346
|
-
disabled: disabled,
|
|
347
|
-
size: "medium",
|
|
348
|
-
tabIndex: tabIndex
|
|
349
|
-
}), /*#__PURE__*/_react["default"].createElement("input", {
|
|
336
|
+
}, /*#__PURE__*/_react["default"].createElement(HiddenInputFile, {
|
|
350
337
|
id: fileInputId,
|
|
351
338
|
type: "file",
|
|
352
339
|
accept: accept,
|
|
353
340
|
multiple: multiple,
|
|
354
341
|
onChange: selectFiles
|
|
355
|
-
}),
|
|
356
|
-
|
|
357
|
-
|
|
342
|
+
}), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
343
|
+
mode: "secondary",
|
|
344
|
+
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : multiple ? "Select files" : "Select file",
|
|
345
|
+
onClick: handleClick,
|
|
346
|
+
disabled: disabled,
|
|
347
|
+
size: "medium",
|
|
348
|
+
tabIndex: tabIndex
|
|
349
|
+
}), files.map(function (file) {
|
|
358
350
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(FileItemContainer, {
|
|
359
351
|
mode: mode,
|
|
360
352
|
multiple: multiple,
|
|
@@ -368,9 +360,16 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
368
360
|
numFiles: files.length,
|
|
369
361
|
preview: file.preview,
|
|
370
362
|
type: file.file.type,
|
|
371
|
-
onDelete: onDelete
|
|
363
|
+
onDelete: onDelete,
|
|
364
|
+
tabIndex: tabIndex
|
|
372
365
|
})));
|
|
373
|
-
})) : /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(
|
|
366
|
+
})) : /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(HiddenInputFile, {
|
|
367
|
+
id: fileInputId,
|
|
368
|
+
type: "file",
|
|
369
|
+
accept: accept,
|
|
370
|
+
multiple: multiple,
|
|
371
|
+
onChange: selectFiles
|
|
372
|
+
}), /*#__PURE__*/_react["default"].createElement(DragDropArea, {
|
|
374
373
|
isDragging: isDragging,
|
|
375
374
|
disabled: disabled,
|
|
376
375
|
mode: mode,
|
|
@@ -382,19 +381,15 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
382
381
|
mode: mode
|
|
383
382
|
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
384
383
|
mode: "secondary",
|
|
385
|
-
label: "Select",
|
|
384
|
+
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : "Select",
|
|
386
385
|
onClick: handleClick,
|
|
387
386
|
disabled: disabled,
|
|
388
387
|
size: "fitContent"
|
|
389
|
-
}), /*#__PURE__*/_react["default"].createElement(
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
accept: accept,
|
|
393
|
-
multiple: multiple,
|
|
394
|
-
onChange: selectFiles
|
|
395
|
-
})), /*#__PURE__*/_react["default"].createElement(DropLabel, {
|
|
388
|
+
})), mode === "dropzone" ? /*#__PURE__*/_react["default"].createElement(DropzoneLabel, {
|
|
389
|
+
disabled: disabled
|
|
390
|
+
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? "or drop files" : "or drop a file") : /*#__PURE__*/_react["default"].createElement(FiledropLabel, {
|
|
396
391
|
disabled: disabled
|
|
397
|
-
}, "or drop files")), files.map(function (file) {
|
|
392
|
+
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? "or drop files" : "or drop a file")), files.map(function (file) {
|
|
398
393
|
return /*#__PURE__*/_react["default"].createElement(FileItemContainer, {
|
|
399
394
|
mode: mode,
|
|
400
395
|
multiple: multiple,
|
|
@@ -408,9 +403,12 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
408
403
|
numFiles: files.length,
|
|
409
404
|
preview: file.preview,
|
|
410
405
|
type: file.file.type,
|
|
411
|
-
onDelete: onDelete
|
|
406
|
+
onDelete: onDelete,
|
|
407
|
+
tabIndex: tabIndex
|
|
412
408
|
}));
|
|
413
|
-
})))
|
|
409
|
+
})), files.length === 1 && files.map(function (file) {
|
|
410
|
+
return file.error && mode === "file" && !multiple && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, file.error);
|
|
411
|
+
})));
|
|
414
412
|
};
|
|
415
413
|
|
|
416
414
|
var FileInputContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: fit-content;\n"])), function (props) {
|
|
@@ -449,35 +447,37 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
|
|
|
449
447
|
return props.theme.helperTextLineHeight;
|
|
450
448
|
});
|
|
451
449
|
|
|
452
|
-
var DragDropArea = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
453
|
-
return props.mode === "filedrop" ? "calc(48px - 2px)" : "calc(160px - 2px)";
|
|
454
|
-
}, function (props) {
|
|
450
|
+
var DragDropArea = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n flex-direction: ", ";\n ", ";\n align-items: center;\n height: ", ";\n width: 320px;\n\n box-shadow: 0 0 0 2px transparent;\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n\n ", "\n\n cursor: ", ";\n"])), function (props) {
|
|
455
451
|
return props.mode === "filedrop" ? "row" : "column";
|
|
452
|
+
}, function (props) {
|
|
453
|
+
return props.mode === "dropzone" && "justify-content: center; padding: 1rem;";
|
|
454
|
+
}, function (props) {
|
|
455
|
+
return props.mode === "filedrop" ? "48px" : "160px";
|
|
456
456
|
}, function (props) {
|
|
457
457
|
return props.theme.dropBorderRadius;
|
|
458
458
|
}, function (props) {
|
|
459
|
-
return
|
|
459
|
+
return props.theme.dropBorderThickness;
|
|
460
460
|
}, function (props) {
|
|
461
|
-
return
|
|
461
|
+
return props.theme.dropBorderStyle;
|
|
462
462
|
}, function (props) {
|
|
463
|
-
return props.
|
|
463
|
+
return props.disabled ? props.theme.disabledDropBorderColor : props.theme.dropBorderColor;
|
|
464
464
|
}, function (props) {
|
|
465
|
-
return props.
|
|
465
|
+
return props.isDragging && "\n background-color: ".concat(props.theme.dragoverDropBackgroundColor, ";\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(props.theme.focusDropBorderColor, ";\n ");
|
|
466
466
|
}, function (props) {
|
|
467
467
|
return props.disabled && "not-allowed";
|
|
468
468
|
});
|
|
469
469
|
|
|
470
|
-
var FileContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n"])), function (props) {
|
|
470
|
+
var FileContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n margin-top: 0.25rem;\n"])), function (props) {
|
|
471
471
|
return props.multiple || props.files.length > 1 ? "column" : "row";
|
|
472
472
|
});
|
|
473
473
|
|
|
474
|
-
var
|
|
474
|
+
var HiddenInputFile = _styledComponents["default"].input(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n visibility: hidden;\n position: absolute;\n width: 0px;\n height: 0px;\n"])));
|
|
475
475
|
|
|
476
|
-
var ButtonContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
477
|
-
return props.mode === "filedrop"
|
|
476
|
+
var ButtonContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
|
|
477
|
+
return props.mode === "filedrop" && "padding: 2px 12px 2px 3px";
|
|
478
478
|
});
|
|
479
479
|
|
|
480
|
-
var
|
|
480
|
+
var DropzoneLabel = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: -webkit-box;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 3;\n text-align: center;\n margin-top: 0.5rem;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
481
481
|
return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
|
|
482
482
|
}, function (props) {
|
|
483
483
|
return props.theme.dropLabelFontFamily;
|
|
@@ -487,15 +487,25 @@ var DropLabel = _styledComponents["default"].span(_templateObject8 || (_template
|
|
|
487
487
|
return props.theme.dropLabelFontWeight;
|
|
488
488
|
});
|
|
489
489
|
|
|
490
|
-
var
|
|
490
|
+
var FiledropLabel = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n margin-right: 1rem;\n"])), function (props) {
|
|
491
|
+
return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
|
|
492
|
+
}, function (props) {
|
|
493
|
+
return props.theme.dropLabelFontFamily;
|
|
494
|
+
}, function (props) {
|
|
495
|
+
return props.theme.dropLabelFontSize;
|
|
496
|
+
}, function (props) {
|
|
497
|
+
return props.theme.dropLabelFontWeight;
|
|
498
|
+
});
|
|
491
499
|
|
|
492
|
-
var
|
|
500
|
+
var Container = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n margin-top: 0.25rem;\n"])));
|
|
501
|
+
|
|
502
|
+
var FileItemContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
493
503
|
return (props.multiple || props.files.length > 1 || props.mode !== "file") && "4px";
|
|
494
504
|
}, function (props) {
|
|
495
505
|
return props.mode === "file" && props.files.length === 1 && !props.multiple && "4px";
|
|
496
506
|
});
|
|
497
507
|
|
|
498
|
-
var ErrorMessage = _styledComponents["default"].div(
|
|
508
|
+
var ErrorMessage = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n margin-top: 0.25rem;\n"])), function (props) {
|
|
499
509
|
return props.theme.errorMessageFontColor;
|
|
500
510
|
}, function (props) {
|
|
501
511
|
return props.theme.errorMessageFontFamily;
|
|
@@ -507,26 +517,5 @@ var ErrorMessage = _styledComponents["default"].div(_templateObject11 || (_templ
|
|
|
507
517
|
return props.theme.errorMessageLineHeight;
|
|
508
518
|
});
|
|
509
519
|
|
|
510
|
-
DxcFileInput.propTypes = {
|
|
511
|
-
name: _propTypes["default"].string,
|
|
512
|
-
mode: _propTypes["default"].oneOf(["file", "filedrop", "dropzone"]),
|
|
513
|
-
label: _propTypes["default"].string,
|
|
514
|
-
helperText: _propTypes["default"].string,
|
|
515
|
-
accept: _propTypes["default"].array,
|
|
516
|
-
maxSize: _propTypes["default"].number,
|
|
517
|
-
minSize: _propTypes["default"].number,
|
|
518
|
-
multiple: _propTypes["default"].bool,
|
|
519
|
-
showPreview: _propTypes["default"].bool,
|
|
520
|
-
disabled: _propTypes["default"].bool,
|
|
521
|
-
callbackFile: _propTypes["default"].func,
|
|
522
|
-
value: _propTypes["default"].array,
|
|
523
|
-
tabIndex: _propTypes["default"].number,
|
|
524
|
-
margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
525
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
526
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
527
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
528
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
529
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
|
|
530
|
-
};
|
|
531
520
|
var _default = DxcFileInput;
|
|
532
521
|
exports["default"] = _default;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare const FileItem: ({ mode, multiple, name, error, showPreview, preview, type, numFiles, onDelete, tabIndex, }: {
|
|
3
|
+
mode: any;
|
|
4
|
+
multiple: any;
|
|
5
|
+
name?: string;
|
|
6
|
+
error?: string;
|
|
7
|
+
showPreview: any;
|
|
8
|
+
preview: any;
|
|
9
|
+
type: any;
|
|
10
|
+
numFiles: any;
|
|
11
|
+
onDelete: any;
|
|
12
|
+
tabIndex: any;
|
|
13
|
+
}) => JSX.Element;
|
|
14
|
+
export default FileItem;
|
package/file-input/FileItem.js
CHANGED
|
@@ -13,11 +13,9 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
13
13
|
|
|
14
14
|
var _react = _interopRequireDefault(require("react"));
|
|
15
15
|
|
|
16
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
|
-
|
|
18
16
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
19
17
|
|
|
20
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
18
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
21
19
|
|
|
22
20
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
|
|
23
21
|
|
|
@@ -59,7 +57,8 @@ var FileItem = function FileItem(_ref) {
|
|
|
59
57
|
preview = _ref.preview,
|
|
60
58
|
type = _ref.type,
|
|
61
59
|
numFiles = _ref.numFiles,
|
|
62
|
-
onDelete = _ref.onDelete
|
|
60
|
+
onDelete = _ref.onDelete,
|
|
61
|
+
tabIndex = _ref.tabIndex;
|
|
63
62
|
var colorsTheme = (0, _useTheme["default"])();
|
|
64
63
|
var isImage = type.includes("image");
|
|
65
64
|
|
|
@@ -104,12 +103,13 @@ var FileItem = function FileItem(_ref) {
|
|
|
104
103
|
onClick: function onClick() {
|
|
105
104
|
return onDelete(name);
|
|
106
105
|
},
|
|
107
|
-
"aria-label": "Remove ".concat(name)
|
|
106
|
+
"aria-label": "Remove ".concat(name),
|
|
107
|
+
tabIndex: tabIndex
|
|
108
108
|
}, deleteIcon)), error && (multiple || numFiles > 1) && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, error))));
|
|
109
109
|
};
|
|
110
110
|
|
|
111
111
|
var Container = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n padding: ", ";\n background-color: ", ";\n border-radius: ", ";\n width: ", ";\n min-height: ", ";\n border-color: ", ";\n border-width: ", ";\n border-style: ", ";\n display: flex;\n justify-content: center;\n"])), function (props) {
|
|
112
|
-
return props.showPreview ? "8px" : "8px 8px 8px 16px";
|
|
112
|
+
return props.showPreview ? "calc(8px - ".concat(props.theme.fileItemBorderThickness, ") 8px") : "calc(8px - ".concat(props.theme.fileItemBorderThickness, ") 8px calc(8px - ").concat(props.theme.fileItemBorderThickness, ") 16px");
|
|
113
113
|
}, function (props) {
|
|
114
114
|
return props.error && props.theme.errorFileItemBackgroundColor;
|
|
115
115
|
}, function (props) {
|
|
@@ -156,14 +156,16 @@ var FileName = _styledComponents["default"].span(_templateObject7 || (_templateO
|
|
|
156
156
|
|
|
157
157
|
var ErrorIcon = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n color: #d0011b;\n"])));
|
|
158
158
|
|
|
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:
|
|
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
|
+
}, function (props) {
|
|
164
|
+
return props.theme.focusActionBorderColor;
|
|
163
165
|
}, function (props) {
|
|
164
|
-
return props.
|
|
166
|
+
return props.theme.focusActionBorderColor;
|
|
165
167
|
}, function (props) {
|
|
166
|
-
return props.
|
|
168
|
+
return props.theme.activeDeleteFileItemBackgroundColor;
|
|
167
169
|
});
|
|
168
170
|
|
|
169
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) {
|
|
@@ -178,16 +180,5 @@ var ErrorMessage = _styledComponents["default"].span(_templateObject10 || (_temp
|
|
|
178
180
|
return props.theme.errorMessageLineHeight;
|
|
179
181
|
});
|
|
180
182
|
|
|
181
|
-
FileItem.propTypes = {
|
|
182
|
-
mode: _propTypes["default"].string,
|
|
183
|
-
multiple: _propTypes["default"].bool,
|
|
184
|
-
name: _propTypes["default"].string,
|
|
185
|
-
type: _propTypes["default"].string,
|
|
186
|
-
showPreview: _propTypes["default"]["boolean"],
|
|
187
|
-
numFiles: _propTypes["default"].number,
|
|
188
|
-
preview: _propTypes["default"].string,
|
|
189
|
-
error: _propTypes["default"].string,
|
|
190
|
-
onDelete: _propTypes["default"].func
|
|
191
|
-
};
|
|
192
183
|
var _default = FileItem;
|
|
193
184
|
exports["default"] = _default;
|