@popsure/dirty-swan 0.33.3 → 0.33.5

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.
Files changed (73) hide show
  1. package/dist/cjs/index.js +31 -18
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/lib/components/dateSelector/index.d.ts +11 -11
  4. package/dist/cjs/lib/components/dateSelector/index.stories.d.ts +65 -0
  5. package/dist/cjs/lib/components/modal/bottomModal/index.d.ts +1 -2
  6. package/dist/cjs/lib/components/modal/bottomOrRegularModal/index.d.ts +1 -2
  7. package/dist/cjs/lib/components/modal/index.d.ts +3 -3
  8. package/dist/cjs/lib/components/modal/index.stories.d.ts +62 -0
  9. package/dist/cjs/lib/components/modal/regularModal/index.d.ts +1 -2
  10. package/dist/cjs/lib/components/multiDropzone/index.d.ts +4 -4
  11. package/dist/cjs/lib/components/multiDropzone/index.stories.d.ts +72 -0
  12. package/dist/cjs/lib/index.d.ts +2 -2
  13. package/dist/cjs/lib/util/images/index.d.ts +12 -0
  14. package/dist/esm/components/dateSelector/index.js +6 -2179
  15. package/dist/esm/components/dateSelector/index.js.map +1 -1
  16. package/dist/esm/components/dateSelector/index.stories.js +92 -0
  17. package/dist/esm/components/dateSelector/index.stories.js.map +1 -0
  18. package/dist/esm/components/dateSelector/index.test.js +1 -1
  19. package/dist/esm/components/dateSelector/index.test.js.map +1 -1
  20. package/dist/esm/components/input/checkbox/index.stories.js +1 -1
  21. package/dist/esm/components/modal/bottomModal/index.js +3 -3
  22. package/dist/esm/components/modal/bottomModal/index.js.map +1 -1
  23. package/dist/esm/components/modal/bottomOrRegularModal/index.js +5 -5
  24. package/dist/esm/components/modal/bottomOrRegularModal/index.js.map +1 -1
  25. package/dist/esm/components/modal/index.stories.js +118 -0
  26. package/dist/esm/components/modal/index.stories.js.map +1 -0
  27. package/dist/esm/components/modal/regularModal/index.js +3 -3
  28. package/dist/esm/components/modal/regularModal/index.js.map +1 -1
  29. package/dist/esm/components/multiDropzone/index.js +3 -3
  30. package/dist/esm/components/multiDropzone/index.js.map +1 -1
  31. package/dist/esm/components/multiDropzone/index.stories.js +147 -0
  32. package/dist/esm/components/multiDropzone/index.stories.js.map +1 -0
  33. package/dist/esm/components/multiDropzone/index.test.js +2 -2
  34. package/dist/esm/components/multiDropzone/index.test.js.map +1 -1
  35. package/dist/esm/index-31224f74.js +26 -0
  36. package/dist/esm/index-31224f74.js.map +1 -0
  37. package/dist/esm/index-639cf8b3.js +2179 -0
  38. package/dist/esm/index-639cf8b3.js.map +1 -0
  39. package/dist/esm/index.js +6 -6
  40. package/dist/esm/lib/components/dateSelector/index.d.ts +11 -11
  41. package/dist/esm/lib/components/dateSelector/index.stories.d.ts +65 -0
  42. package/dist/esm/lib/components/modal/bottomModal/index.d.ts +1 -2
  43. package/dist/esm/lib/components/modal/bottomOrRegularModal/index.d.ts +1 -2
  44. package/dist/esm/lib/components/modal/index.d.ts +3 -3
  45. package/dist/esm/lib/components/modal/index.stories.d.ts +62 -0
  46. package/dist/esm/lib/components/modal/regularModal/index.d.ts +1 -2
  47. package/dist/esm/lib/components/multiDropzone/index.d.ts +4 -4
  48. package/dist/esm/lib/components/multiDropzone/index.stories.d.ts +72 -0
  49. package/dist/esm/lib/index.d.ts +2 -2
  50. package/dist/esm/lib/util/images/index.d.ts +12 -0
  51. package/dist/esm/util/images/index.stories.js +7 -4
  52. package/dist/esm/util/images/index.stories.js.map +1 -1
  53. package/package.json +1 -1
  54. package/src/App.tsx +1 -1
  55. package/src/lib/components/dateSelector/index.stories.tsx +104 -0
  56. package/src/lib/components/dateSelector/index.test.tsx +2 -2
  57. package/src/lib/components/dateSelector/index.tsx +14 -14
  58. package/src/lib/components/modal/bottomModal/index.tsx +1 -1
  59. package/src/lib/components/modal/bottomOrRegularModal/index.tsx +2 -2
  60. package/src/lib/components/modal/index.stories.tsx +254 -0
  61. package/src/lib/components/modal/index.ts +3 -3
  62. package/src/lib/components/modal/regularModal/index.tsx +1 -1
  63. package/src/lib/components/multiDropzone/index.stories.tsx +228 -0
  64. package/src/lib/components/multiDropzone/index.test.tsx +1 -1
  65. package/src/lib/components/multiDropzone/index.tsx +6 -6
  66. package/src/lib/index.tsx +3 -2
  67. package/src/lib/util/images/index.stories.tsx +20 -12
  68. package/src/lib/util/images/index.ts +23 -9
  69. package/dist/esm/index-db2e797f.js +0 -13
  70. package/dist/esm/index-db2e797f.js.map +0 -1
  71. package/src/lib/components/dateSelector/index.stories.mdx +0 -106
  72. package/src/lib/components/modal/index.stories.mdx +0 -313
  73. package/src/lib/components/multiDropzone/index.stories.mdx +0 -187
@@ -1,106 +0,0 @@
1
- import { useState } from 'react';
2
- import { Meta, Preview } from '@storybook/addon-docs/blocks';
3
-
4
- import DateSelector from '.';
5
- import de from 'dayjs/locale/de';
6
-
7
- <Meta title="JSX/Date selector" component={DateSelector} />
8
-
9
- # Date selector
10
-
11
- Date selector are user interface elements which allow user to select a date in the `YYYY-MM-DD` format.
12
-
13
- <Preview>
14
- <iframe
15
- width="100%"
16
- height="450"
17
- src="https://www.figma.com/embed?embed_host=share&url=https%3A%2F%2Fwww.figma.com%2Ffile%2FMKs4cbojdVOBKUxv7okb93%2FDirty-Swan-Design-System%3Fnode-id%3D293%253A169"
18
- allowFullScreen
19
- ></iframe>
20
- </Preview>
21
-
22
- ## Default example
23
-
24
- ### Without calendar
25
-
26
- export const DateSelectorWithoutCalendarStory = () => {
27
- const [date, setDate] = useState('');
28
- return (
29
- <>
30
- <DateSelector
31
- value={date}
32
- className="mt24"
33
- yearBoundaries={{ min: 2020, max: 2022 }}
34
- onChange={(date) => {
35
- setDate(date);
36
- }}
37
- />
38
- </>
39
- );
40
- };
41
-
42
- <DateSelectorWithoutCalendarStory />
43
-
44
- ### With calendar
45
-
46
- export const DateSelectorWithCalendarStory = () => {
47
- const [date, setDate] = useState('');
48
- return (
49
- <div style={{ paddingBottom: '120px' }}>
50
- <DateSelector
51
- value={date}
52
- className="mt24"
53
- yearBoundaries={{ min: 2020, max: 2022 }}
54
- onChange={(date) => {
55
- setDate(date);
56
- }}
57
- displayCalendar={true}
58
- />
59
- </div>
60
- );
61
- };
62
-
63
- <DateSelectorWithCalendarStory />
64
-
65
- ### Localization
66
-
67
- | attribute | unit | description | default value | required |
68
- | -------------- | -------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------- | -------- |
69
- | placeholders | `{ day?: string; month: string?; year?: string; }` | Placeholder text | undefined | false |
70
- | dayjsLocale | `ILocale` | Imported [Day.js locale Object](https://day.js.org/docs/en/customization/customization) | undefined | false |
71
- | firstDayOfWeek | number | Index of the first day of the week (0 = Sunday, 1 = Monday, etc.) | 0 | false |
72
-
73
- The `dayjsLocale` and `firstDayOfWeek` properties are used to localize the calendar of the `DateSelector`, whereas
74
- the `placeholders` object can be used to change the text of the different dropdowns. If no `dayjsLocale` is supplied, the default locale 'en' will be used for the DateSelector.
75
-
76
- Additional locales can be imported from dayjs like
77
- `import de from 'dayjs/locale/de';` and then passed on to the component:
78
- `<DateSelector ... dayjsLocale={de} />`
79
-
80
- [List of all supported locales](https://github.com/iamkun/dayjs/tree/dev/src/locale)
81
-
82
- export const DateSelectorWithCalendarLocalizedStory = () => {
83
- const [date, setDate] = useState('');
84
- return (
85
- <div style={{ paddingBottom: '120px' }}>
86
- <DateSelector
87
- value={date}
88
- className="mt24"
89
- yearBoundaries={{ min: 2020, max: 2022 }}
90
- onChange={(date) => {
91
- setDate(date);
92
- }}
93
- displayCalendar={true}
94
- placeholders={{
95
- day: 'Tag',
96
- month: 'Monat',
97
- year: 'Jahr',
98
- }}
99
- dayjsLocale={de}
100
- firstDayOfWeek={1}
101
- />
102
- </div>
103
- );
104
- };
105
-
106
- <DateSelectorWithCalendarLocalizedStory />
@@ -1,313 +0,0 @@
1
- import { useState } from 'react';
2
-
3
- import { Meta } from '@storybook/addon-docs/blocks';
4
-
5
- import { BottomModal, RegularModal, BottomOrRegularModal } from '.';
6
-
7
- <Meta title="JSX/Modals" />
8
-
9
- # Modals
10
-
11
- Modals are dialog overlays that prevent the user from interacting with the rest of the website until an action is taken or the dialog is dismissed. Modals are purposefully disruptive and should be used thoughtfully and sparingly.
12
-
13
- <Preview>
14
- <iframe
15
- width="100%"
16
- height="450"
17
- src="https://www.figma.com/embed?embed_host=share&url=https%3A%2F%2Fwww.figma.com%2Ffile%2FMKs4cbojdVOBKUxv7okb93%2FDirty-Swan-Design-System%3Fnode-id%3D283%253A1"
18
- allowFullScreen
19
- ></iframe>
20
- </Preview>
21
-
22
- | attribute | unit | description | default value | required |
23
- | ----------- | --------------------- | -------------------------------------------------------------------------------------- | ------------- | -------- |
24
- | title | string | The title that needs to be displayed on the modal | n/a | true |
25
- | isOpen | boolean | When set to `true`, the modal is displayed. When set to `false` the modal gets removed | n/a | true |
26
- | onClose | `function () => void` | Callback when the user close the modal | n/a | true |
27
- | children | React.jsx | The content that gets displayed on the modal | n/a | true |
28
- | className | string | Any additional className | n/a | false |
29
- | dismissible | boolean | When set to `false` prevents the user from closing the modal | true | false |
30
-
31
- export const RegularModalStory = () => {
32
- const [display, setDisplay] = useState(false);
33
- const toggleOpen = () => setDisplay(!display);
34
- return (
35
- <>
36
- <button
37
- className="p-btn--primary wmn2"
38
- onClick={toggleOpen}
39
- >
40
- Regular modal
41
- </button>
42
- <RegularModal
43
- title="Regular modal title"
44
- isOpen={display}
45
- onClose={toggleOpen}
46
- >
47
- <div style={{ padding: '0 24px 24px 24px' }}>
48
- <p className="p-p">
49
- This is a regular modal that is mostly meant to be used on desktop.
50
- Need to use it on mobile? Check my friend BottomModal instead! Not
51
- sure? Just use BottomOrRegularModal <br /> Do you like this modal?
52
- Tell us by answering this short survey!
53
- </p>
54
- <div className="p-label-container wmx4">
55
- <input id="bordered-1" className="p-radio" type="radio" />
56
- <label htmlFor="bordered-1" className="p-label p-label--bordered">
57
- Yes
58
- </label>
59
- <input id="bordered-2" className="p-radio" type="radio" />
60
- <label
61
- htmlFor="bordered-2"
62
- className="p-label p-label--bordered mt16"
63
- >
64
- No
65
- </label>
66
- </div>
67
- <button
68
- className="p-btn--primary mt24 wmn3"
69
- onClick={() => setDisplay(false)}
70
- >
71
- Continue
72
- </button>
73
- </div>
74
- </RegularModal>
75
- </>
76
- );
77
- };
78
-
79
- export const BottomModalStory = () => {
80
- const [display, setDisplay] = useState(false);
81
- return (
82
- <>
83
- <button
84
- className="p-btn--primary wmn2 d-block"
85
- onClick={() => {
86
- setDisplay(!display);
87
- }}
88
- >
89
- Bottom modal
90
- </button>
91
- <BottomModal
92
- title="Bottom modal title"
93
- isOpen={display}
94
- onClose={() => {
95
- setDisplay(false);
96
- }}
97
- >
98
- <div style={{ padding: '0 16px 16px 16px' }}>
99
- <p className="p-p">
100
- This is a bottom modal that is mostly meant to be used on mobile, do
101
- you like this modal? Tell us by answering this short survey!
102
- </p>
103
- <div className="p-label-container wmx4">
104
- <input id="bordered-1" className="p-radio" type="radio" />
105
- <label htmlFor="bordered-1" className="p-label p-label--bordered">
106
- Yes
107
- </label>
108
- <input id="bordered-2" className="p-radio" type="radio" />
109
- <label
110
- htmlFor="bordered-2"
111
- className="p-label p-label--bordered mt16"
112
- >
113
- No
114
- </label>
115
- </div>
116
- <button
117
- className="p-btn--primary mt24 wmn3"
118
- onClick={() => setDisplay(false)}
119
- >
120
- Continue
121
- </button>
122
- </div>
123
- </BottomModal>
124
- </>
125
- );
126
- };
127
-
128
- export const NonDismissibleModal = () => {
129
- const [display, setDisplay] = useState(false);
130
- return (
131
- <>
132
- <button
133
- className="p-btn--primary wmn2"
134
- onClick={() => {
135
- setDisplay(!display);
136
- }}
137
- >
138
- Open modal
139
- </button>
140
- <RegularModal
141
- title="Non-dismissible modal title"
142
- isOpen={display}
143
- onClose={() => {
144
- setDisplay(false);
145
- }}
146
- dismissible={false}
147
- >
148
- <div style={{ padding: '0 24px 24px 24px' }}>
149
- <p className="p-p">
150
- This modal requires clear user interaction to dismiss it. The close
151
- button is hidden, and it cannot be closed using the keyboard nor
152
- clicking outside.
153
- </p>
154
- <button
155
- className="p-btn--primary bg-red-500 mt24 wmn3"
156
- onClick={() => setDisplay(false)}
157
- >
158
- Reject
159
- </button>
160
- <button
161
- className="p-btn--primary mt24 wmn3 ml16"
162
- onClick={() => setDisplay(false)}
163
- >
164
- Accept
165
- </button>
166
- </div>
167
- </RegularModal>
168
- </>
169
- );
170
- };
171
-
172
- ## Regular modal
173
-
174
- Regular modals are primary meant to be used on Desktop or Tablet environment. The modal will appear in the middle of the screen and the user will be able to dismiss them using the top left "X" icon.
175
-
176
- If you want to use it for Mobile only, you should check [Bottom modal](##Bottom-modal) instead.
177
-
178
- Want to use either Regular Modal or Bottom Modal based on the screen width? You can use [Bottom or Regular modal](##Bottom-or-Regular-modal).
179
-
180
- <RegularModalStory />
181
-
182
- ```typescript
183
- import React, { useState } from 'react';
184
- import { BottomModal } from '@popsure/dirty-swan';
185
-
186
- export default () => {
187
- const [display, setDisplay] = useState(false);
188
-
189
- return (
190
- <>
191
- <button
192
- className="p-btn--primary wmn2 d-block"
193
- onClick={() => {
194
- setDisplay(!display);
195
- }}
196
- >
197
- Bottom modal
198
- </button>
199
- <BottomModal
200
- title="Bottom modal title"
201
- isOpen={display}
202
- onClose={() => {
203
- setDisplay(false);
204
- }}
205
- >
206
- <div style={{ padding: '0 16px 16px 16px' }}>
207
- <p className="p-p">
208
- This is a bottom modal that is mostly meant to be used on mobile, do
209
- you like this modal? Tell us by answering this short survey!
210
- </p>
211
- <div className="p-label-container wmx4">
212
- <input id="bordered-1" className="p-radio" type="radio" />
213
- <label htmlFor="bordered-1" className="p-label p-label--bordered">
214
- Yes
215
- </label>
216
- <input id="bordered-2" className="p-radio" type="radio" />
217
- <label
218
- htmlFor="bordered-2"
219
- className="p-label p-label--bordered mt16"
220
- >
221
- No
222
- </label>
223
- </div>
224
- <button
225
- className="p-btn--primary mt24 wmn3"
226
- onClick={() => setDisplay(false)}
227
- >
228
- Continue
229
- </button>
230
- </div>
231
- </BottomModal>
232
- </>
233
- );
234
- };
235
- ```
236
-
237
- ## Bottom modal
238
-
239
- Regular modals are primary meant to be used on Mobile environment. The modal will appear from the bottom of the screen and the user will be able to dismiss them using the top left "X" icon.
240
-
241
- If you want to use it for Desktop only, you should check [Regular modal](##Regular-modal) instead.
242
-
243
- Want to use either Regular Modal or Bottom Modal based on the screen width? You can use [Bottom or Regular modal](##Bottom-or-Regular-modal).
244
-
245
- <BottomModalStory />
246
-
247
- ```typescript
248
- import React, { useState } from 'react';
249
- import { BottomModal } from '@popsure/dirty-swan';
250
-
251
- export default () => {
252
- const [display, setDisplay] = useState(false);
253
-
254
- return (
255
- <>
256
- <button
257
- className="p-btn--primary wmn2 d-block"
258
- onClick={() => {
259
- setDisplay(!display);
260
- }}
261
- >
262
- Bottom modal
263
- </button>
264
- <BottomModal
265
- title="Bottom modal title"
266
- isOpen={display}
267
- onClose={() => {
268
- setDisplay(false);
269
- }}
270
- >
271
- <div style={{ padding: '0 16px 16px 16px' }}>
272
- <p className="p-p">
273
- This is a bottom modal that is mostly meant to be used on mobile, do
274
- you like this modal? Tell us by answering this short survey!
275
- </p>
276
- <div className="p-label-container wmx4">
277
- <input id="bordered-1" className="p-radio" type="radio" />
278
- <label htmlFor="bordered-1" className="p-label p-label--bordered">
279
- Yes
280
- </label>
281
- <input id="bordered-2" className="p-radio" type="radio" />
282
- <label
283
- htmlFor="bordered-2"
284
- className="p-label p-label--bordered mt16"
285
- >
286
- No
287
- </label>
288
- </div>
289
- <button
290
- className="p-btn--primary mt24 wmn3"
291
- onClick={() => setDisplay(false)}
292
- >
293
- Continue
294
- </button>
295
- </div>
296
- </BottomModal>
297
- </>
298
- );
299
- };
300
- ```
301
-
302
- ## Bottom or Regular modal
303
-
304
- Bottom or Regular modal will automatically choose what’s best to display based on the users screen width.
305
-
306
- ## Non-dismissible modal
307
-
308
- Setting the `dismissible` prop to false will hide the close button and prevent the user from closing it using the escape key or clicking outside.
309
- This prop can be useful if we want the user to explicitly interact with the modal options.
310
-
311
- **Warning:** a modal with the `dismissible` prop can only be closed by changing the `isOpen` prop to `false`.
312
-
313
- <NonDismissibleModal />
@@ -1,187 +0,0 @@
1
- import { Meta, Preview } from '@storybook/addon-docs/blocks';
2
-
3
- import MultiDropzone from '.';
4
-
5
- <Meta title="JSX/MultiDropzone" component={MultiDropzone} />
6
-
7
- # MultiDropzone
8
-
9
- MultiDropzone component allows upload of multiple documents / files.
10
-
11
- ## Examples
12
-
13
- ### Idle state
14
-
15
- <Preview>
16
- <MultiDropzone
17
- uploadedFiles={[]}
18
- onFileSelect={() => {}}
19
- uploading={false}
20
- onRemoveFile={() => {}}
21
- />
22
- </Preview>
23
-
24
- ### Uploading state
25
-
26
- <Preview>
27
- <MultiDropzone
28
- uploadedFiles={[
29
- {
30
- id: '123',
31
- type: 'pdf',
32
- progress: '72',
33
- name: 'test_file_name.pdf',
34
- token: 'abc',
35
- previewUrl: 'http://getpopsure.com/test_file_name.pdf',
36
- },
37
- {
38
- id: '124',
39
- type: 'pdf',
40
- progress: '72',
41
- name: 'test_file_name.pdf',
42
- token: 'abc',
43
- previewUrl: 'http://getpopsure.com/test_file_name.pdf',
44
- showLoadingSpinner: true,
45
- showProgressBar: false,
46
- },
47
- {
48
- id: '125',
49
- type: 'pdf',
50
- progress: '72',
51
- name: 'test_file_name.pdf',
52
- token: 'abc',
53
- previewUrl: 'http://getpopsure.com/test_file_name.pdf',
54
- showLoadingSpinner: true,
55
- },
56
- {
57
- id: '456',
58
- type: 'pdf',
59
- progress: '100',
60
- name: 'test_file_name2.pdf',
61
- token: 'def',
62
- previewUrl: 'http://getpopsure.com/test_file_name2.pdf',
63
- },
64
- ]}
65
- onFileSelect={() => {}}
66
- uploading={true}
67
- onRemoveFile={() => {}}
68
- />
69
- </Preview>
70
-
71
- ### Uploaded state
72
-
73
- <Preview>
74
- <MultiDropzone
75
- uploadedFiles={[
76
- {
77
- id: '123',
78
- type: 'pdf',
79
- progress: '100',
80
- name: 'test_file_name.pdf',
81
- token: 'abc',
82
- previewUrl: 'http://getpopsure.com/test_file_name.pdf',
83
- },
84
- ]}
85
- onFileSelect={() => {}}
86
- uploading={false}
87
- onRemoveFile={() => {}}
88
- />
89
- </Preview>
90
-
91
- ### Condensed view
92
-
93
- <Preview>
94
- <MultiDropzone
95
- uploadedFiles={[
96
- {
97
- id: '123',
98
- type: 'pdf',
99
- progress: '100',
100
- name: 'test_file_name.pdf',
101
- token: 'abc',
102
- previewUrl: 'http://getpopsure.com/test_file_name.pdf',
103
- },
104
- ]}
105
- onFileSelect={() => {}}
106
- uploading={false}
107
- onRemoveFile={() => {}}
108
- isCondensed
109
- />
110
- </Preview>
111
-
112
- ### Error state
113
-
114
- <Preview>
115
- <MultiDropzone
116
- uploadedFiles={[
117
- {
118
- id: '123',
119
- type: 'pdf',
120
- progress: '0',
121
- name: 'test_file_name.pdf',
122
- token: 'abc',
123
- previewUrl: 'http://getpopsure.com/test_file_name.pdf',
124
- error: 'File is too big!',
125
- },
126
- ]}
127
- onFileSelect={() => {}}
128
- uploading={false}
129
- onRemoveFile={() => {}}
130
- />
131
- </Preview>
132
-
133
- ### Accepting only images
134
-
135
- <Preview>
136
- <MultiDropzone
137
- accept="image"
138
- isCondensed
139
- uploadedFiles={[]}
140
- onFileSelect={() => {}}
141
- uploading={false}
142
- onRemoveFile={() => {}}
143
- />
144
- </Preview>
145
-
146
- ### Accepting only documents
147
-
148
- <Preview>
149
- <MultiDropzone
150
- accept="document"
151
- isCondensed
152
- uploadedFiles={[]}
153
- onFileSelect={() => {}}
154
- uploading={false}
155
- onRemoveFile={() => {}}
156
- />
157
- </Preview>
158
-
159
- ### Limiting file size to 2MB
160
-
161
- <Preview>
162
- <MultiDropzone
163
- isCondensed
164
- uploadedFiles={[]}
165
- onFileSelect={() => {}}
166
- uploading={false}
167
- onRemoveFile={() => {}}
168
- maxSize={2096000}
169
- />
170
- </Preview>
171
-
172
- ### i18n support
173
-
174
- <Preview>
175
- <MultiDropzone
176
- uploadedFiles={[]}
177
- onFileSelect={() => {}}
178
- uploading={false}
179
- onRemoveFile={() => {}}
180
- textOverrides={{
181
- instructionsText: 'Datei auswählen oder per Drag & Drop platzieren',
182
- supportsTextShort: 'Unterstützt werden',
183
- currentlyUploadingText:
184
- 'Bitte warten während die Datei hochgeladen wird...'
185
- }}
186
- />
187
- </Preview>