@dxc-technology/halstack-react 0.0.0-4254e6c → 0.0.0-4299a60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +10 -0
- package/BackgroundColorContext.js +1 -3
- package/ThemeContext.d.ts +15 -0
- package/ThemeContext.js +5 -8
- package/V3Select/V3Select.js +2 -2
- package/V3Textarea/V3Textarea.js +2 -2
- package/accordion/Accordion.d.ts +4 -0
- package/accordion/Accordion.js +14 -45
- package/accordion/types.d.ts +68 -0
- package/accordion/types.js +5 -0
- package/accordion-group/AccordionGroup.d.ts +7 -0
- package/accordion-group/AccordionGroup.js +59 -73
- package/accordion-group/AccordionGroup.stories.tsx +225 -0
- package/accordion-group/types.d.ts +72 -0
- package/accordion-group/types.js +5 -0
- package/alert/Alert.js +2 -2
- package/alert/Alert.stories.tsx +170 -0
- package/alert/types.d.ts +1 -1
- package/badge/Badge.js +1 -1
- package/box/Box.d.ts +4 -0
- package/box/Box.js +6 -32
- package/box/Box.stories.tsx +132 -0
- package/box/types.d.ts +43 -0
- package/box/types.js +5 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +9 -12
- package/button/Button.stories.tsx +217 -234
- package/button/types.d.ts +11 -11
- package/card/Card.d.ts +4 -0
- package/card/Card.js +17 -53
- package/card/Card.stories.tsx +201 -0
- package/card/ice-cream.jpg +0 -0
- package/card/types.d.ts +67 -0
- package/card/types.js +5 -0
- package/checkbox/Checkbox.js +2 -2
- package/checkbox/Checkbox.stories.tsx +192 -0
- package/checkbox/types.d.ts +3 -4
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +1 -23
- package/chip/Chip.stories.tsx +121 -0
- package/chip/types.d.ts +53 -0
- package/chip/types.js +5 -0
- package/common/variables.js +33 -24
- package/date/Date.js +1 -1
- package/date-input/DateInput.js +1 -1
- package/date-input/DateInput.stories.tsx +138 -0
- package/dialog/Dialog.d.ts +4 -0
- package/dialog/Dialog.js +6 -25
- package/dialog/Dialog.stories.tsx +212 -0
- package/dialog/types.d.ts +43 -0
- package/dialog/types.js +5 -0
- package/dropdown/Dropdown.d.ts +4 -0
- package/dropdown/Dropdown.js +8 -41
- package/dropdown/types.d.ts +89 -0
- package/dropdown/types.js +5 -0
- package/file-input/FileInput.d.ts +4 -0
- package/file-input/FileInput.js +30 -51
- package/file-input/FileItem.d.ts +14 -0
- package/file-input/FileItem.js +10 -19
- package/file-input/types.d.ts +87 -0
- package/file-input/types.js +5 -0
- package/footer/Footer.d.ts +4 -0
- package/footer/Footer.js +6 -37
- package/footer/Footer.stories.jsx +151 -0
- package/footer/types.d.ts +69 -0
- package/footer/types.js +5 -0
- package/header/Header.d.ts +7 -0
- package/header/Header.js +28 -30
- package/header/Header.stories.tsx +162 -0
- package/header/Icons.js +2 -27
- package/header/types.d.ts +47 -0
- package/header/types.js +5 -0
- package/heading/Heading.d.ts +4 -0
- package/heading/Heading.js +7 -24
- package/heading/Heading.stories.tsx +53 -0
- package/heading/types.d.ts +33 -0
- package/heading/types.js +5 -0
- package/input-text/InputText.js +2 -2
- package/layout/ApplicationLayout.d.ts +10 -0
- package/layout/ApplicationLayout.js +8 -18
- package/layout/ApplicationLayout.stories.tsx +171 -0
- package/layout/types.d.ts +57 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +3 -0
- package/link/Link.js +4 -26
- package/link/Link.stories.tsx +146 -0
- package/link/types.d.ts +74 -0
- package/link/types.js +5 -0
- package/main.d.ts +2 -2
- package/main.js +2 -2
- package/number-input/NumberInput.d.ts +4 -0
- package/number-input/NumberInput.js +2 -44
- package/number-input/NumberInput.stories.tsx +115 -0
- package/number-input/NumberInputContext.d.ts +4 -0
- package/number-input/NumberInputContext.js +5 -2
- package/number-input/numberInputContextTypes.d.ts +19 -0
- package/number-input/numberInputContextTypes.js +5 -0
- package/number-input/types.d.ts +117 -0
- package/number-input/types.js +5 -0
- package/package.json +1 -1
- package/paginator/Paginator.js +2 -2
- package/paginator/Paginator.stories.tsx +63 -0
- package/password-input/PasswordInput.d.ts +4 -0
- package/password-input/PasswordInput.js +7 -42
- package/password-input/{PasswordInput.stories.jsx → PasswordInput.stories.tsx} +1 -1
- package/password-input/types.d.ts +107 -0
- package/password-input/types.js +5 -0
- package/progress-bar/ProgressBar.d.ts +4 -0
- package/progress-bar/ProgressBar.js +5 -23
- package/progress-bar/ProgressBar.stories.jsx +58 -0
- package/progress-bar/types.d.ts +37 -0
- package/progress-bar/types.js +5 -0
- package/radio/Radio.js +2 -2
- package/radio/Radio.stories.tsx +192 -0
- package/radio/types.d.ts +2 -2
- package/resultsetTable/ResultsetTable.d.ts +4 -0
- package/resultsetTable/ResultsetTable.js +4 -27
- package/resultsetTable/types.d.ts +67 -0
- package/resultsetTable/types.js +5 -0
- package/select/Select.js +2 -2
- package/select/Select.stories.tsx +572 -0
- package/select/index.d.ts +4 -4
- package/sidenav/Sidenav.d.ts +9 -0
- package/sidenav/Sidenav.js +6 -15
- package/sidenav/Sidenav.stories.tsx +165 -0
- package/sidenav/types.d.ts +50 -0
- package/sidenav/types.js +5 -0
- package/slider/Slider.d.ts +4 -0
- package/slider/Slider.js +61 -84
- package/slider/Slider.stories.tsx +177 -0
- package/slider/types.d.ts +78 -0
- package/slider/types.js +5 -0
- package/spinner/Spinner.d.ts +4 -0
- package/spinner/Spinner.js +8 -25
- package/spinner/Spinner.stories.jsx +102 -0
- package/spinner/types.d.ts +32 -0
- package/spinner/types.js +5 -0
- package/switch/Switch.js +4 -4
- package/switch/Switch.stories.tsx +160 -0
- package/table/Table.d.ts +4 -0
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +276 -0
- package/table/types.d.ts +21 -0
- package/table/types.js +5 -0
- package/tabs/Tabs.d.ts +4 -0
- package/tabs/Tabs.js +9 -55
- package/tabs/Tabs.stories.tsx +121 -0
- package/tabs/types.d.ts +70 -0
- package/tabs/types.js +5 -0
- package/tag/Tag.d.ts +4 -0
- package/tag/Tag.js +21 -36
- package/tag/Tag.stories.tsx +145 -0
- package/tag/types.d.ts +60 -0
- package/tag/types.js +5 -0
- package/text-input/TextInput.d.ts +4 -0
- package/text-input/TextInput.js +28 -65
- package/text-input/TextInput.stories.tsx +456 -0
- package/text-input/types.d.ts +159 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.js +15 -16
- package/textarea/Textarea.stories.jsx +135 -0
- package/textarea/index.d.ts +18 -8
- package/toggle/Toggle.js +1 -1
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +6 -32
- package/toggle-group/ToggleGroup.stories.tsx +178 -0
- package/toggle-group/types.d.ts +84 -0
- package/toggle-group/types.js +5 -0
- package/upload/buttons-upload/ButtonsUpload.js +2 -2
- package/upload/dragAndDropArea/DragAndDropArea.js +2 -2
- package/upload/file-upload/FileToUpload.js +1 -1
- package/upload/files-upload/FilesToUpload.js +1 -1
- package/upload/transaction/Transaction.js +2 -2
- package/upload/transactions/Transactions.js +1 -1
- package/useTheme.d.ts +2 -0
- package/useTheme.js +1 -1
- package/wizard/Wizard.d.ts +4 -0
- package/wizard/Wizard.js +12 -52
- package/wizard/Wizard.stories.jsx +224 -0
- package/wizard/types.d.ts +64 -0
- package/wizard/types.js +5 -0
- package/accordion/index.d.ts +0 -28
- package/accordion-group/index.d.ts +0 -16
- package/box/index.d.ts +0 -25
- package/card/index.d.ts +0 -22
- package/chip/index.d.ts +0 -22
- package/dialog/index.d.ts +0 -18
- package/dropdown/index.d.ts +0 -26
- package/file-input/index.d.ts +0 -81
- package/footer/index.d.ts +0 -25
- package/header/index.d.ts +0 -25
- package/heading/index.d.ts +0 -17
- package/link/index.d.ts +0 -23
- package/number-input/index.d.ts +0 -113
- package/password-input/index.d.ts +0 -94
- package/progress-bar/index.d.ts +0 -18
- package/resultsetTable/index.d.ts +0 -19
- package/sidenav/index.d.ts +0 -13
- package/slider/index.d.ts +0 -29
- package/spinner/index.d.ts +0 -17
- package/table/index.d.ts +0 -13
- package/tabs/index.d.ts +0 -19
- package/tag/index.d.ts +0 -24
- package/text-input/index.d.ts +0 -135
- package/toggle-group/index.d.ts +0 -21
- package/wizard/index.d.ts +0 -18
|
@@ -0,0 +1,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
|
+
);
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
declare type Padding = {
|
|
4
|
+
top?: Space;
|
|
5
|
+
bottom?: Space;
|
|
6
|
+
left?: Space;
|
|
7
|
+
right?: Space;
|
|
8
|
+
};
|
|
9
|
+
declare type Props = {
|
|
10
|
+
/**
|
|
11
|
+
* If true, the close 'x' button will be visible.
|
|
12
|
+
*/
|
|
13
|
+
isCloseVisible?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* This function will be called when the user clicks the close 'x' button.
|
|
16
|
+
* The responsibility of hiding the modal lies with the user.
|
|
17
|
+
*/
|
|
18
|
+
onCloseClick?: () => void;
|
|
19
|
+
/**
|
|
20
|
+
* If true, the dialog will be displayed over a darker background that covers the content behind.
|
|
21
|
+
*/
|
|
22
|
+
overlay?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* This function will be called when the user clicks background of the modal.
|
|
25
|
+
* The responsibility of hiding the modal lies with the user.
|
|
26
|
+
*/
|
|
27
|
+
onBackgroundClick?: () => void;
|
|
28
|
+
/**
|
|
29
|
+
* Size of the padding to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
30
|
+
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
|
|
31
|
+
*/
|
|
32
|
+
padding?: Padding | Space;
|
|
33
|
+
/**
|
|
34
|
+
* Value of the tabindex given to the close 'x' button.
|
|
35
|
+
*/
|
|
36
|
+
tabIndex?: number;
|
|
37
|
+
/**
|
|
38
|
+
* The area inside the dialog. This area can be used to render
|
|
39
|
+
* custom content.
|
|
40
|
+
*/
|
|
41
|
+
children: React.ReactNode;
|
|
42
|
+
};
|
|
43
|
+
export default Props;
|
package/dialog/types.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import DropdownPropsType from "./types";
|
|
3
|
+
declare const DxcDropdown: ({ options, optionsIconPosition, icon, iconSrc, iconPosition, label, caretHidden, onSelectOption, expandOnHover, margin, size, tabIndex, disabled, }: DropdownPropsType) => JSX.Element;
|
|
4
|
+
export default DxcDropdown;
|
package/dropdown/Dropdown.js
CHANGED
|
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports["default"] = void 0;
|
|
11
11
|
|
|
12
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
12
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
13
|
|
|
16
14
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
@@ -21,8 +19,6 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
21
19
|
|
|
22
20
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
23
21
|
|
|
24
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
|
-
|
|
26
22
|
var _Popper = _interopRequireDefault(require("@material-ui/core/Popper"));
|
|
27
23
|
|
|
28
24
|
var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
|
|
@@ -39,7 +35,7 @@ var _variables = require("../common/variables.js");
|
|
|
39
35
|
|
|
40
36
|
var _utils = require("../common/utils.js");
|
|
41
37
|
|
|
42
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
38
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
43
39
|
|
|
44
40
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
|
|
45
41
|
|
|
@@ -48,8 +44,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
48
44
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
49
45
|
|
|
50
46
|
var DxcDropdown = function DxcDropdown(_ref) {
|
|
51
|
-
var
|
|
52
|
-
options = _ref$options === void 0 ? [] : _ref$options,
|
|
47
|
+
var options = _ref.options,
|
|
53
48
|
_ref$optionsIconPosit = _ref.optionsIconPosition,
|
|
54
49
|
optionsIconPosition = _ref$optionsIconPosit === void 0 ? "before" : _ref$optionsIconPosit,
|
|
55
50
|
icon = _ref.icon,
|
|
@@ -59,18 +54,18 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
59
54
|
iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
|
|
60
55
|
_ref$label = _ref.label,
|
|
61
56
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
62
|
-
_ref$disabled = _ref.disabled,
|
|
63
|
-
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
64
57
|
_ref$caretHidden = _ref.caretHidden,
|
|
65
58
|
caretHidden = _ref$caretHidden === void 0 ? false : _ref$caretHidden,
|
|
66
59
|
onSelectOption = _ref.onSelectOption,
|
|
60
|
+
_ref$expandOnHover = _ref.expandOnHover,
|
|
61
|
+
expandOnHover = _ref$expandOnHover === void 0 ? false : _ref$expandOnHover,
|
|
67
62
|
margin = _ref.margin,
|
|
68
63
|
_ref$size = _ref.size,
|
|
69
64
|
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
70
|
-
_ref$expandOnHover = _ref.expandOnHover,
|
|
71
|
-
expandOnHover = _ref$expandOnHover === void 0 ? false : _ref$expandOnHover,
|
|
72
65
|
_ref$tabIndex = _ref.tabIndex,
|
|
73
|
-
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex
|
|
66
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
|
|
67
|
+
_ref$disabled = _ref.disabled,
|
|
68
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled;
|
|
74
69
|
|
|
75
70
|
var _useState = (0, _react.useState)(),
|
|
76
71
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
@@ -106,10 +101,7 @@ var DxcDropdown = function DxcDropdown(_ref) {
|
|
|
106
101
|
|
|
107
102
|
function handleMenuItemClick(option) {
|
|
108
103
|
setAnchorEl(null);
|
|
109
|
-
|
|
110
|
-
if (typeof onSelectOption === "function") {
|
|
111
|
-
onSelectOption(option.value);
|
|
112
|
-
}
|
|
104
|
+
onSelectOption(option.value);
|
|
113
105
|
}
|
|
114
106
|
|
|
115
107
|
function handleClose() {
|
|
@@ -421,30 +413,5 @@ var CaretIconContainer = _styledComponents["default"].div(_templateObject10 || (
|
|
|
421
413
|
return props.theme.caretIconSize;
|
|
422
414
|
});
|
|
423
415
|
|
|
424
|
-
DxcDropdown.propTypes = {
|
|
425
|
-
size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
|
|
426
|
-
margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
427
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
428
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
429
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
430
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
431
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
|
|
432
|
-
optionsIconPosition: _propTypes["default"].oneOf(["after", "before", ""]),
|
|
433
|
-
icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
|
|
434
|
-
iconSrc: _propTypes["default"].string,
|
|
435
|
-
iconPosition: _propTypes["default"].oneOf(["after", "before", ""]),
|
|
436
|
-
label: _propTypes["default"].string,
|
|
437
|
-
caretHidden: _propTypes["default"].bool,
|
|
438
|
-
disabled: _propTypes["default"].bool,
|
|
439
|
-
expandOnHover: _propTypes["default"].bool,
|
|
440
|
-
onSelectOption: _propTypes["default"].func,
|
|
441
|
-
options: _propTypes["default"].arrayOf(_propTypes["default"].shape({
|
|
442
|
-
value: _propTypes["default"].any.isRequired,
|
|
443
|
-
label: _propTypes["default"].any.isRequired,
|
|
444
|
-
icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
|
|
445
|
-
iconSrc: _propTypes["default"].string
|
|
446
|
-
})),
|
|
447
|
-
tabIndex: _propTypes["default"].number
|
|
448
|
-
};
|
|
449
416
|
var _default = DxcDropdown;
|
|
450
417
|
exports["default"] = _default;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
declare type Margin = {
|
|
4
|
+
top?: Space;
|
|
5
|
+
bottom?: Space;
|
|
6
|
+
left?: Space;
|
|
7
|
+
right?: Space;
|
|
8
|
+
};
|
|
9
|
+
declare type SVG = React.SVGProps<SVGSVGElement> | React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
|
|
10
|
+
declare type Option = {
|
|
11
|
+
/**
|
|
12
|
+
* Option display value.
|
|
13
|
+
*/
|
|
14
|
+
label?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Element used as the icon that will be placed next to the
|
|
17
|
+
* option label.
|
|
18
|
+
*/
|
|
19
|
+
icon?: SVG;
|
|
20
|
+
/**
|
|
21
|
+
* @deprecated URL of the icon that will be placed next to the option label.
|
|
22
|
+
*/
|
|
23
|
+
iconSrc?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Option inner value.
|
|
26
|
+
*/
|
|
27
|
+
value: string;
|
|
28
|
+
};
|
|
29
|
+
declare type Props = {
|
|
30
|
+
/**
|
|
31
|
+
* An array of objects representing the options.
|
|
32
|
+
*/
|
|
33
|
+
options: Option[];
|
|
34
|
+
/**
|
|
35
|
+
* In case options include icons, whether the icon should appear
|
|
36
|
+
* after or before the label.
|
|
37
|
+
*/
|
|
38
|
+
optionsIconPosition?: "before" | "after";
|
|
39
|
+
/**
|
|
40
|
+
* Element used as the icon that will be placed next to the
|
|
41
|
+
* dropdown label.
|
|
42
|
+
*/
|
|
43
|
+
icon?: SVG;
|
|
44
|
+
/**
|
|
45
|
+
* @deprecated URL of the icon that will be placed next to the
|
|
46
|
+
* dropdown label.
|
|
47
|
+
*/
|
|
48
|
+
iconSrc?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Whether the icon should appear after or before the label.
|
|
51
|
+
*/
|
|
52
|
+
iconPosition?: "before" | "after";
|
|
53
|
+
/**
|
|
54
|
+
* Text to be placed within the dropdown.
|
|
55
|
+
*/
|
|
56
|
+
label?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Whether the arrow next to the label must be displayed or not.
|
|
59
|
+
*/
|
|
60
|
+
caretHidden?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* This function will be called every time the selection changes.
|
|
63
|
+
* The value of the selected option will be passed as a parameter.
|
|
64
|
+
*/
|
|
65
|
+
onSelectOption: (value: string) => void;
|
|
66
|
+
/**
|
|
67
|
+
* If true, the options are showed when the dropdown is hover.
|
|
68
|
+
*/
|
|
69
|
+
expandOnHover?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Size of the margin to be applied to the component.
|
|
72
|
+
* You can pass an object with 'top', 'bottom', 'left' and 'right'
|
|
73
|
+
* properties in order to specify different margin sizes.
|
|
74
|
+
*/
|
|
75
|
+
margin?: Space | Margin;
|
|
76
|
+
/**
|
|
77
|
+
* Size of the component.
|
|
78
|
+
*/
|
|
79
|
+
size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
|
|
80
|
+
/**
|
|
81
|
+
* Value of the tabindex.
|
|
82
|
+
*/
|
|
83
|
+
tabIndex?: number;
|
|
84
|
+
/**
|
|
85
|
+
* If true, the component will be disabled.
|
|
86
|
+
*/
|
|
87
|
+
disabled?: boolean;
|
|
88
|
+
};
|
|
89
|
+
export default Props;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import FileInputPropsType from "./types";
|
|
3
|
+
declare const DxcFileInput: ({ name, mode, label, 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,15 +23,13 @@ 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
|
|
|
@@ -103,7 +101,8 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
103
101
|
callbackFile = _ref.callbackFile,
|
|
104
102
|
value = _ref.value,
|
|
105
103
|
margin = _ref.margin,
|
|
106
|
-
tabIndex = _ref.tabIndex
|
|
104
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
105
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
107
106
|
|
|
108
107
|
var _useState = (0, _react.useState)(false),
|
|
109
108
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
@@ -329,8 +328,7 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
329
328
|
theme: colorsTheme.fileInput
|
|
330
329
|
}, /*#__PURE__*/_react["default"].createElement(FileInputContainer, {
|
|
331
330
|
margin: margin,
|
|
332
|
-
name: name
|
|
333
|
-
tabIndex: tabIndex
|
|
331
|
+
name: name
|
|
334
332
|
}, /*#__PURE__*/_react["default"].createElement(Label, {
|
|
335
333
|
htmlFor: fileInputId,
|
|
336
334
|
disabled: disabled
|
|
@@ -339,22 +337,20 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
339
337
|
}, helperText), mode === "file" ? /*#__PURE__*/_react["default"].createElement(FileContainer, {
|
|
340
338
|
multiple: multiple,
|
|
341
339
|
files: files
|
|
342
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
340
|
+
}, /*#__PURE__*/_react["default"].createElement(HiddenInputFile, {
|
|
341
|
+
id: fileInputId,
|
|
342
|
+
type: "file",
|
|
343
|
+
accept: accept,
|
|
344
|
+
multiple: multiple,
|
|
345
|
+
onChange: selectFiles
|
|
346
|
+
}), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
343
347
|
mode: "secondary",
|
|
344
348
|
label: "Select files",
|
|
345
349
|
onClick: handleClick,
|
|
346
350
|
disabled: disabled,
|
|
347
351
|
size: "medium",
|
|
348
352
|
tabIndex: tabIndex
|
|
349
|
-
}),
|
|
350
|
-
id: fileInputId,
|
|
351
|
-
type: "file",
|
|
352
|
-
accept: accept,
|
|
353
|
-
multiple: multiple,
|
|
354
|
-
onChange: selectFiles
|
|
355
|
-
}), files.length === 1 && files.map(function (file) {
|
|
356
|
-
return file.error && mode === "file" && !multiple && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, file.error);
|
|
357
|
-
})), files.map(function (file) {
|
|
353
|
+
}), files.map(function (file) {
|
|
358
354
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(FileItemContainer, {
|
|
359
355
|
mode: mode,
|
|
360
356
|
multiple: multiple,
|
|
@@ -368,7 +364,8 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
368
364
|
numFiles: files.length,
|
|
369
365
|
preview: file.preview,
|
|
370
366
|
type: file.file.type,
|
|
371
|
-
onDelete: onDelete
|
|
367
|
+
onDelete: onDelete,
|
|
368
|
+
tabIndex: tabIndex
|
|
372
369
|
})));
|
|
373
370
|
})) : /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(DragDropArea, {
|
|
374
371
|
isDragging: isDragging,
|
|
@@ -378,7 +375,13 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
378
375
|
onDragEnter: handleDragIn,
|
|
379
376
|
onDragOver: handleDrag,
|
|
380
377
|
onDragLeave: handleDragOut
|
|
381
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
378
|
+
}, /*#__PURE__*/_react["default"].createElement(HiddenInputFile, {
|
|
379
|
+
id: fileInputId,
|
|
380
|
+
type: "file",
|
|
381
|
+
accept: accept,
|
|
382
|
+
multiple: multiple,
|
|
383
|
+
onChange: selectFiles
|
|
384
|
+
}), /*#__PURE__*/_react["default"].createElement(ButtonContainer, {
|
|
382
385
|
mode: mode
|
|
383
386
|
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
384
387
|
mode: "secondary",
|
|
@@ -386,12 +389,6 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
386
389
|
onClick: handleClick,
|
|
387
390
|
disabled: disabled,
|
|
388
391
|
size: "fitContent"
|
|
389
|
-
}), /*#__PURE__*/_react["default"].createElement("input", {
|
|
390
|
-
id: fileInputId,
|
|
391
|
-
type: "file",
|
|
392
|
-
accept: accept,
|
|
393
|
-
multiple: multiple,
|
|
394
|
-
onChange: selectFiles
|
|
395
392
|
})), /*#__PURE__*/_react["default"].createElement(DropLabel, {
|
|
396
393
|
disabled: disabled
|
|
397
394
|
}, "or drop files")), files.map(function (file) {
|
|
@@ -408,9 +405,12 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
408
405
|
numFiles: files.length,
|
|
409
406
|
preview: file.preview,
|
|
410
407
|
type: file.file.type,
|
|
411
|
-
onDelete: onDelete
|
|
408
|
+
onDelete: onDelete,
|
|
409
|
+
tabIndex: tabIndex
|
|
412
410
|
}));
|
|
413
|
-
})))
|
|
411
|
+
})), files.length === 1 && files.map(function (file) {
|
|
412
|
+
return file.error && mode === "file" && !multiple && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, file.error);
|
|
413
|
+
})));
|
|
414
414
|
};
|
|
415
415
|
|
|
416
416
|
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) {
|
|
@@ -467,13 +467,13 @@ var DragDropArea = _styledComponents["default"].div(_templateObject4 || (_templa
|
|
|
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 padding: ", ";\n
|
|
476
|
+
var ButtonContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n padding: ", ";\n"])), function (props) {
|
|
477
477
|
return props.mode === "filedrop" ? "2px 12px 2px 2px" : "47px 122px 8px 122px";
|
|
478
478
|
});
|
|
479
479
|
|
|
@@ -495,7 +495,7 @@ var FileItemContainer = _styledComponents["default"].div(_templateObject10 || (_
|
|
|
495
495
|
return props.mode === "file" && props.files.length === 1 && !props.multiple && "4px";
|
|
496
496
|
});
|
|
497
497
|
|
|
498
|
-
var ErrorMessage = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
|
|
498
|
+
var ErrorMessage = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (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
499
|
return props.theme.errorMessageFontColor;
|
|
500
500
|
}, function (props) {
|
|
501
501
|
return props.theme.errorMessageFontFamily;
|
|
@@ -507,26 +507,5 @@ var ErrorMessage = _styledComponents["default"].div(_templateObject11 || (_templ
|
|
|
507
507
|
return props.theme.errorMessageLineHeight;
|
|
508
508
|
});
|
|
509
509
|
|
|
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
510
|
var _default = DxcFileInput;
|
|
532
511
|
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;
|