@dxc-technology/halstack-react 0.0.0-7ffdc43 → 0.0.0-824a373
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/accordion/Accordion.js +122 -103
- package/accordion/Accordion.stories.tsx +1 -2
- package/accordion/Accordion.test.js +9 -10
- package/accordion/types.d.ts +5 -4
- package/accordion-group/AccordionGroup.js +1 -21
- package/accordion-group/AccordionGroup.stories.tsx +27 -1
- package/accordion-group/AccordionGroup.test.js +20 -45
- package/accordion-group/types.d.ts +10 -3
- package/alert/Alert.js +1 -1
- package/box/Box.js +1 -1
- package/box/types.d.ts +1 -0
- package/bulleted-list/types.d.ts +1 -1
- package/button/types.d.ts +1 -1
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +92 -99
- package/checkbox/Checkbox.stories.tsx +79 -59
- package/checkbox/Checkbox.test.js +93 -16
- package/checkbox/types.d.ts +6 -2
- package/chip/types.d.ts +1 -1
- package/common/variables.js +26 -14
- package/date-input/DateInput.js +3 -3
- package/dialog/Dialog.js +52 -28
- package/dialog/Dialog.stories.tsx +57 -2
- package/dialog/Dialog.test.js +34 -4
- package/dialog/types.d.ts +3 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +244 -247
- package/dropdown/Dropdown.stories.tsx +126 -63
- package/dropdown/Dropdown.test.js +509 -108
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +80 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +92 -0
- package/dropdown/types.d.ts +25 -5
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +173 -217
- package/file-input/FileInput.stories.tsx +38 -10
- package/file-input/FileInput.test.js +53 -12
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +38 -63
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.d.ts +1 -1
- package/flex/Flex.js +31 -19
- package/flex/types.d.ts +15 -4
- package/footer/Footer.stories.tsx +8 -1
- package/footer/types.d.ts +2 -1
- package/header/Header.js +74 -72
- package/header/Header.stories.tsx +4 -4
- package/header/Icons.js +2 -2
- package/header/types.d.ts +3 -2
- package/layout/ApplicationLayout.stories.tsx +1 -0
- package/link/types.d.ts +1 -1
- package/number-input/NumberInput.test.js +38 -1
- package/package.json +10 -10
- package/paginator/Paginator.js +2 -2
- package/paginator/Paginator.test.js +1 -1
- package/password-input/PasswordInput.test.js +13 -12
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +56 -50
- package/progress-bar/ProgressBar.stories.jsx +3 -1
- package/progress-bar/ProgressBar.test.js +67 -22
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.js +11 -12
- package/quick-nav/QuickNav.stories.tsx +97 -19
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +43 -28
- package/radio-group/RadioGroup.js +24 -24
- package/radio-group/RadioGroup.stories.tsx +1 -0
- package/radio-group/RadioGroup.test.js +123 -96
- package/radio-group/types.d.ts +2 -2
- package/resultsetTable/ResultsetTable.js +1 -3
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +25 -2
- package/select/Select.js +17 -32
- package/select/Select.stories.tsx +6 -5
- package/select/Select.test.js +321 -250
- package/select/types.d.ts +2 -4
- package/sidenav/types.d.ts +1 -1
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +120 -95
- package/slider/Slider.stories.tsx +7 -1
- package/slider/Slider.test.js +121 -21
- package/slider/types.d.ts +6 -2
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +135 -68
- package/switch/Switch.stories.tsx +8 -30
- package/switch/Switch.test.js +144 -17
- package/switch/types.d.ts +6 -2
- package/table/Table.js +1 -1
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +135 -0
- package/tabs/Tabs.js +360 -104
- package/tabs/Tabs.stories.tsx +74 -0
- package/tabs/Tabs.test.js +217 -6
- package/tabs/types.d.ts +15 -5
- package/tabs-nav/NavTabs.js +5 -5
- package/tabs-nav/Tab.js +3 -5
- package/tabs-nav/types.d.ts +1 -1
- package/tag/Tag.js +1 -1
- package/tag/types.d.ts +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.js +7 -5
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +189 -282
- package/text-input/TextInput.stories.tsx +189 -182
- package/text-input/TextInput.test.js +222 -163
- package/text-input/types.d.ts +22 -3
- package/toggle-group/types.d.ts +1 -1
- package/wizard/types.d.ts +1 -1
package/file-input/FileInput.js
CHANGED
|
@@ -15,10 +15,10 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
15
15
|
|
|
16
16
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
17
17
|
|
|
18
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
19
|
-
|
|
20
18
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
19
|
|
|
20
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
21
|
+
|
|
22
22
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
23
23
|
|
|
24
24
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
@@ -39,7 +39,7 @@ var _Button = _interopRequireDefault(require("../button/Button"));
|
|
|
39
39
|
|
|
40
40
|
var _FileItem = _interopRequireDefault(require("./FileItem"));
|
|
41
41
|
|
|
42
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11
|
|
42
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
|
|
43
43
|
|
|
44
44
|
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); }
|
|
45
45
|
|
|
@@ -88,7 +88,18 @@ var fileIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
88
88
|
d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z"
|
|
89
89
|
}));
|
|
90
90
|
|
|
91
|
-
var
|
|
91
|
+
var getFilePreview = function getFilePreview(file) {
|
|
92
|
+
if (file.type.includes("video")) return videoIcon;else if (file.type.includes("audio")) return audioIcon;else if (file.type.includes("image")) return new Promise(function (resolve) {
|
|
93
|
+
var reader = new FileReader();
|
|
94
|
+
reader.readAsDataURL(file);
|
|
95
|
+
|
|
96
|
+
reader.onload = function (e) {
|
|
97
|
+
resolve(e.target.result);
|
|
98
|
+
};
|
|
99
|
+
});else return fileIcon;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
var DxcFileInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
92
103
|
var _ref$name = _ref.name,
|
|
93
104
|
name = _ref$name === void 0 ? "" : _ref$name,
|
|
94
105
|
_ref$mode = _ref.mode,
|
|
@@ -130,129 +141,26 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
130
141
|
|
|
131
142
|
var colorsTheme = (0, _useTheme["default"])();
|
|
132
143
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
133
|
-
(0, _react.useEffect)(function () {
|
|
134
|
-
var getFiles = /*#__PURE__*/function () {
|
|
135
|
-
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
136
|
-
var valueFiles;
|
|
137
|
-
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
138
|
-
while (1) {
|
|
139
|
-
switch (_context2.prev = _context2.next) {
|
|
140
|
-
case 0:
|
|
141
|
-
if (!value) {
|
|
142
|
-
_context2.next = 5;
|
|
143
|
-
break;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
_context2.next = 3;
|
|
147
|
-
return Promise.all(value.map( /*#__PURE__*/function () {
|
|
148
|
-
var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(file) {
|
|
149
|
-
var preview;
|
|
150
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
151
|
-
while (1) {
|
|
152
|
-
switch (_context.prev = _context.next) {
|
|
153
|
-
case 0:
|
|
154
|
-
if (!file.preview) {
|
|
155
|
-
_context.next = 4;
|
|
156
|
-
break;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
return _context.abrupt("return", file);
|
|
160
|
-
|
|
161
|
-
case 4:
|
|
162
|
-
_context.next = 6;
|
|
163
|
-
return getFilePreview(file.file);
|
|
164
|
-
|
|
165
|
-
case 6:
|
|
166
|
-
preview = _context.sent;
|
|
167
|
-
return _context.abrupt("return", _objectSpread(_objectSpread({}, file), {}, {
|
|
168
|
-
preview: preview
|
|
169
|
-
}));
|
|
170
|
-
|
|
171
|
-
case 8:
|
|
172
|
-
case "end":
|
|
173
|
-
return _context.stop();
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}, _callee);
|
|
177
|
-
}));
|
|
178
|
-
|
|
179
|
-
return function (_x) {
|
|
180
|
-
return _ref3.apply(this, arguments);
|
|
181
|
-
};
|
|
182
|
-
}()));
|
|
183
|
-
|
|
184
|
-
case 3:
|
|
185
|
-
valueFiles = _context2.sent;
|
|
186
|
-
setFiles(valueFiles);
|
|
187
|
-
|
|
188
|
-
case 5:
|
|
189
|
-
case "end":
|
|
190
|
-
return _context2.stop();
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
}, _callee2);
|
|
194
|
-
}));
|
|
195
|
-
|
|
196
|
-
return function getFiles() {
|
|
197
|
-
return _ref2.apply(this, arguments);
|
|
198
|
-
};
|
|
199
|
-
}();
|
|
200
|
-
|
|
201
|
-
getFiles();
|
|
202
|
-
}, [value]);
|
|
203
|
-
|
|
204
|
-
var handleClick = function handleClick() {
|
|
205
|
-
document.getElementById(fileInputId).click();
|
|
206
|
-
};
|
|
207
144
|
|
|
208
145
|
var checkFileSize = function checkFileSize(file) {
|
|
209
|
-
if (file.size < minSize)
|
|
210
|
-
return translatedLabels.fileInput.fileSizeGreaterThanErrorMessage;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
if (file.size > maxSize) {
|
|
214
|
-
return translatedLabels.fileInput.fileSizeLessThanErrorMessage;
|
|
215
|
-
}
|
|
216
|
-
};
|
|
217
|
-
|
|
218
|
-
var getFilePreview = function getFilePreview(file) {
|
|
219
|
-
if (file.type.includes("video")) {
|
|
220
|
-
return videoIcon;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
if (file.type.includes("audio")) {
|
|
224
|
-
return audioIcon;
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
if (file.type.includes("image")) {
|
|
228
|
-
return new Promise(function (resolve) {
|
|
229
|
-
var reader = new FileReader();
|
|
230
|
-
reader.readAsDataURL(file);
|
|
231
|
-
|
|
232
|
-
reader.onload = function (e) {
|
|
233
|
-
resolve(e.target.result);
|
|
234
|
-
};
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
return fileIcon;
|
|
146
|
+
if (file.size < minSize) return translatedLabels.fileInput.fileSizeGreaterThanErrorMessage;else if (file.size > maxSize) return translatedLabels.fileInput.fileSizeLessThanErrorMessage;
|
|
239
147
|
};
|
|
240
148
|
|
|
241
149
|
var getFilesToAdd = /*#__PURE__*/function () {
|
|
242
|
-
var
|
|
150
|
+
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(selectedFiles) {
|
|
243
151
|
var filesToAdd;
|
|
244
|
-
return _regenerator["default"].wrap(function
|
|
152
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
245
153
|
while (1) {
|
|
246
|
-
switch (
|
|
154
|
+
switch (_context.prev = _context.next) {
|
|
247
155
|
case 0:
|
|
248
|
-
|
|
156
|
+
_context.next = 2;
|
|
249
157
|
return Promise.all(selectedFiles.map(function (selectedFile) {
|
|
250
158
|
return getFilePreview(selectedFile);
|
|
251
159
|
})).then(function (previews) {
|
|
252
|
-
return selectedFiles.map(function (
|
|
160
|
+
return selectedFiles.map(function (file, index) {
|
|
253
161
|
var fileInfo = {
|
|
254
|
-
file:
|
|
255
|
-
error: checkFileSize(
|
|
162
|
+
file: file,
|
|
163
|
+
error: checkFileSize(file),
|
|
256
164
|
preview: previews[index]
|
|
257
165
|
};
|
|
258
166
|
return fileInfo;
|
|
@@ -260,86 +168,79 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
260
168
|
});
|
|
261
169
|
|
|
262
170
|
case 2:
|
|
263
|
-
filesToAdd =
|
|
264
|
-
return
|
|
171
|
+
filesToAdd = _context.sent;
|
|
172
|
+
return _context.abrupt("return", filesToAdd);
|
|
265
173
|
|
|
266
174
|
case 4:
|
|
267
175
|
case "end":
|
|
268
|
-
return
|
|
176
|
+
return _context.stop();
|
|
269
177
|
}
|
|
270
178
|
}
|
|
271
|
-
},
|
|
179
|
+
}, _callee);
|
|
272
180
|
}));
|
|
273
181
|
|
|
274
|
-
return function getFilesToAdd(
|
|
275
|
-
return
|
|
182
|
+
return function getFilesToAdd(_x) {
|
|
183
|
+
return _ref2.apply(this, arguments);
|
|
276
184
|
};
|
|
277
185
|
}();
|
|
278
186
|
|
|
279
187
|
var addFile = /*#__PURE__*/function () {
|
|
280
|
-
var
|
|
188
|
+
var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(selectedFiles) {
|
|
281
189
|
var filesToAdd, finalFiles, fileToAdd;
|
|
282
|
-
return _regenerator["default"].wrap(function
|
|
190
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
283
191
|
while (1) {
|
|
284
|
-
switch (
|
|
192
|
+
switch (_context2.prev = _context2.next) {
|
|
285
193
|
case 0:
|
|
286
194
|
if (!multiple) {
|
|
287
|
-
|
|
195
|
+
_context2.next = 8;
|
|
288
196
|
break;
|
|
289
197
|
}
|
|
290
198
|
|
|
291
|
-
|
|
199
|
+
_context2.next = 3;
|
|
292
200
|
return getFilesToAdd(selectedFiles);
|
|
293
201
|
|
|
294
202
|
case 3:
|
|
295
|
-
filesToAdd =
|
|
203
|
+
filesToAdd = _context2.sent;
|
|
296
204
|
finalFiles = [].concat((0, _toConsumableArray2["default"])(files), (0, _toConsumableArray2["default"])(filesToAdd));
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
callbackFile(finalFiles);
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
_context4.next = 19;
|
|
205
|
+
callbackFile === null || callbackFile === void 0 ? void 0 : callbackFile(finalFiles);
|
|
206
|
+
_context2.next = 19;
|
|
303
207
|
break;
|
|
304
208
|
|
|
305
209
|
case 8:
|
|
306
210
|
if (!(selectedFiles.length === 1)) {
|
|
307
|
-
|
|
211
|
+
_context2.next = 14;
|
|
308
212
|
break;
|
|
309
213
|
}
|
|
310
214
|
|
|
311
|
-
|
|
215
|
+
_context2.next = 11;
|
|
312
216
|
return getFilesToAdd(selectedFiles);
|
|
313
217
|
|
|
314
218
|
case 11:
|
|
315
|
-
|
|
316
|
-
|
|
219
|
+
_context2.t0 = _context2.sent;
|
|
220
|
+
_context2.next = 17;
|
|
317
221
|
break;
|
|
318
222
|
|
|
319
223
|
case 14:
|
|
320
|
-
|
|
224
|
+
_context2.next = 16;
|
|
321
225
|
return getFilesToAdd([selectedFiles[0]]);
|
|
322
226
|
|
|
323
227
|
case 16:
|
|
324
|
-
|
|
228
|
+
_context2.t0 = _context2.sent;
|
|
325
229
|
|
|
326
230
|
case 17:
|
|
327
|
-
fileToAdd =
|
|
328
|
-
|
|
329
|
-
if (typeof callbackFile === "function") {
|
|
330
|
-
callbackFile(fileToAdd);
|
|
331
|
-
}
|
|
231
|
+
fileToAdd = _context2.t0;
|
|
232
|
+
callbackFile === null || callbackFile === void 0 ? void 0 : callbackFile(fileToAdd);
|
|
332
233
|
|
|
333
234
|
case 19:
|
|
334
235
|
case "end":
|
|
335
|
-
return
|
|
236
|
+
return _context2.stop();
|
|
336
237
|
}
|
|
337
238
|
}
|
|
338
|
-
},
|
|
239
|
+
}, _callee2);
|
|
339
240
|
}));
|
|
340
241
|
|
|
341
|
-
return function addFile(
|
|
342
|
-
return
|
|
242
|
+
return function addFile(_x2) {
|
|
243
|
+
return _ref3.apply(this, arguments);
|
|
343
244
|
};
|
|
344
245
|
}();
|
|
345
246
|
|
|
@@ -351,17 +252,18 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
351
252
|
addFile(filesArray);
|
|
352
253
|
};
|
|
353
254
|
|
|
354
|
-
var onDelete = function
|
|
255
|
+
var onDelete = (0, _react.useCallback)(function (fileName) {
|
|
355
256
|
var filesCopy = (0, _toConsumableArray2["default"])(files);
|
|
356
257
|
var fileToRemove = filesCopy.find(function (file) {
|
|
357
258
|
return file.file.name === fileName;
|
|
358
259
|
});
|
|
359
260
|
var fileIndex = filesCopy.indexOf(fileToRemove);
|
|
360
261
|
filesCopy.splice(fileIndex, 1);
|
|
262
|
+
callbackFile === null || callbackFile === void 0 ? void 0 : callbackFile(filesCopy);
|
|
263
|
+
}, [files, callbackFile]);
|
|
361
264
|
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
}
|
|
265
|
+
var handleClick = function handleClick() {
|
|
266
|
+
document.getElementById(fileInputId).click();
|
|
365
267
|
};
|
|
366
268
|
|
|
367
269
|
var handleDrag = function handleDrag(e) {
|
|
@@ -370,7 +272,9 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
370
272
|
};
|
|
371
273
|
|
|
372
274
|
var handleDragIn = function handleDragIn(e) {
|
|
373
|
-
|
|
275
|
+
var _e$dataTransfer$items;
|
|
276
|
+
|
|
277
|
+
if (((_e$dataTransfer$items = e.dataTransfer.items) === null || _e$dataTransfer$items === void 0 ? void 0 : _e$dataTransfer$items.length) > 0) setIsDragging(true);
|
|
374
278
|
};
|
|
375
279
|
|
|
376
280
|
var handleDragOut = function handleDragOut(e) {
|
|
@@ -384,7 +288,7 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
384
288
|
setIsDragging(false);
|
|
385
289
|
var filesObject = e.dataTransfer.files;
|
|
386
290
|
|
|
387
|
-
if (filesObject
|
|
291
|
+
if ((filesObject === null || filesObject === void 0 ? void 0 : filesObject.length) > 0) {
|
|
388
292
|
var filesArray = Object.keys(filesObject).map(function (key) {
|
|
389
293
|
return filesObject[key];
|
|
390
294
|
});
|
|
@@ -392,55 +296,127 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
392
296
|
}
|
|
393
297
|
};
|
|
394
298
|
|
|
299
|
+
(0, _react.useEffect)(function () {
|
|
300
|
+
var getFiles = /*#__PURE__*/function () {
|
|
301
|
+
var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
302
|
+
var valueFiles;
|
|
303
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
304
|
+
while (1) {
|
|
305
|
+
switch (_context4.prev = _context4.next) {
|
|
306
|
+
case 0:
|
|
307
|
+
if (!value) {
|
|
308
|
+
_context4.next = 5;
|
|
309
|
+
break;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
_context4.next = 3;
|
|
313
|
+
return Promise.all(value.map( /*#__PURE__*/function () {
|
|
314
|
+
var _ref5 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(file) {
|
|
315
|
+
var preview;
|
|
316
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
317
|
+
while (1) {
|
|
318
|
+
switch (_context3.prev = _context3.next) {
|
|
319
|
+
case 0:
|
|
320
|
+
if (!file.preview) {
|
|
321
|
+
_context3.next = 4;
|
|
322
|
+
break;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
return _context3.abrupt("return", file);
|
|
326
|
+
|
|
327
|
+
case 4:
|
|
328
|
+
_context3.next = 6;
|
|
329
|
+
return getFilePreview(file.file);
|
|
330
|
+
|
|
331
|
+
case 6:
|
|
332
|
+
preview = _context3.sent;
|
|
333
|
+
return _context3.abrupt("return", _objectSpread(_objectSpread({}, file), {}, {
|
|
334
|
+
preview: preview
|
|
335
|
+
}));
|
|
336
|
+
|
|
337
|
+
case 8:
|
|
338
|
+
case "end":
|
|
339
|
+
return _context3.stop();
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
}, _callee3);
|
|
343
|
+
}));
|
|
344
|
+
|
|
345
|
+
return function (_x3) {
|
|
346
|
+
return _ref5.apply(this, arguments);
|
|
347
|
+
};
|
|
348
|
+
}()));
|
|
349
|
+
|
|
350
|
+
case 3:
|
|
351
|
+
valueFiles = _context4.sent;
|
|
352
|
+
setFiles(valueFiles);
|
|
353
|
+
|
|
354
|
+
case 5:
|
|
355
|
+
case "end":
|
|
356
|
+
return _context4.stop();
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
}, _callee4);
|
|
360
|
+
}));
|
|
361
|
+
|
|
362
|
+
return function getFiles() {
|
|
363
|
+
return _ref4.apply(this, arguments);
|
|
364
|
+
};
|
|
365
|
+
}();
|
|
366
|
+
|
|
367
|
+
getFiles();
|
|
368
|
+
}, [value]);
|
|
395
369
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
396
370
|
theme: colorsTheme.fileInput
|
|
397
371
|
}, /*#__PURE__*/_react["default"].createElement(FileInputContainer, {
|
|
398
372
|
margin: margin,
|
|
399
|
-
name: name
|
|
373
|
+
name: name,
|
|
374
|
+
ref: ref
|
|
400
375
|
}, /*#__PURE__*/_react["default"].createElement(Label, {
|
|
401
376
|
htmlFor: fileInputId,
|
|
402
377
|
disabled: disabled
|
|
403
378
|
}, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
404
379
|
disabled: disabled
|
|
405
380
|
}, helperText), mode === "file" ? /*#__PURE__*/_react["default"].createElement(FileContainer, {
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
}, /*#__PURE__*/_react["default"].createElement(HiddenInputFile, {
|
|
381
|
+
singleFileMode: !multiple && files.length === 1
|
|
382
|
+
}, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
409
383
|
id: fileInputId,
|
|
410
384
|
type: "file",
|
|
411
385
|
accept: accept,
|
|
412
386
|
multiple: multiple,
|
|
413
|
-
onChange: selectFiles
|
|
387
|
+
onChange: selectFiles,
|
|
388
|
+
name: name,
|
|
389
|
+
disabled: disabled,
|
|
390
|
+
readOnly: true,
|
|
391
|
+
"aria-hidden": "true"
|
|
414
392
|
}), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
415
393
|
mode: "secondary",
|
|
416
394
|
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : multiple ? translatedLabels.fileInput.multipleButtonLabelDefault : translatedLabels.fileInput.singleButtonLabelDefault,
|
|
417
395
|
onClick: handleClick,
|
|
418
396
|
disabled: disabled,
|
|
419
|
-
size: "
|
|
397
|
+
size: "fitContent",
|
|
420
398
|
tabIndex: tabIndex
|
|
421
|
-
}), files.map(function (file) {
|
|
422
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
423
|
-
|
|
424
|
-
multiple: multiple,
|
|
425
|
-
files: files
|
|
426
|
-
}, /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
427
|
-
mode: mode,
|
|
428
|
-
multiple: multiple,
|
|
429
|
-
name: file.file.name,
|
|
399
|
+
}), files.length > 0 && /*#__PURE__*/_react["default"].createElement(FileItemListContainer, null, files.map(function (file) {
|
|
400
|
+
return /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
401
|
+
fileName: file.file.name,
|
|
430
402
|
error: file.error,
|
|
403
|
+
singleFileMode: !multiple && files.length === 1,
|
|
431
404
|
showPreview: mode === "file" && !multiple ? false : showPreview,
|
|
432
|
-
numFiles: files.length,
|
|
433
405
|
preview: file.preview,
|
|
434
406
|
type: file.file.type,
|
|
435
407
|
onDelete: onDelete,
|
|
436
408
|
tabIndex: tabIndex
|
|
437
|
-
})
|
|
438
|
-
})) : /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(
|
|
409
|
+
});
|
|
410
|
+
}))) : /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
439
411
|
id: fileInputId,
|
|
440
412
|
type: "file",
|
|
441
413
|
accept: accept,
|
|
442
414
|
multiple: multiple,
|
|
443
|
-
onChange: selectFiles
|
|
415
|
+
onChange: selectFiles,
|
|
416
|
+
name: name,
|
|
417
|
+
disabled: disabled,
|
|
418
|
+
readOnly: true,
|
|
419
|
+
"aria-hidden": "true"
|
|
444
420
|
}), /*#__PURE__*/_react["default"].createElement(DragDropArea, {
|
|
445
421
|
isDragging: isDragging,
|
|
446
422
|
disabled: disabled,
|
|
@@ -449,39 +425,29 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
449
425
|
onDragEnter: handleDragIn,
|
|
450
426
|
onDragOver: handleDrag,
|
|
451
427
|
onDragLeave: handleDragOut
|
|
452
|
-
}, /*#__PURE__*/_react["default"].createElement(ButtonContainer, {
|
|
453
|
-
mode: mode
|
|
454
428
|
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
455
429
|
mode: "secondary",
|
|
456
430
|
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : translatedLabels.fileInput.dropAreaButtonLabelDefault,
|
|
457
431
|
onClick: handleClick,
|
|
458
432
|
disabled: disabled,
|
|
459
433
|
size: "fitContent"
|
|
460
|
-
})
|
|
434
|
+
}), mode === "dropzone" ? /*#__PURE__*/_react["default"].createElement(DropzoneLabel, {
|
|
461
435
|
disabled: disabled
|
|
462
436
|
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault) : /*#__PURE__*/_react["default"].createElement(FiledropLabel, {
|
|
463
437
|
disabled: disabled
|
|
464
|
-
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault)), files.map(function (file) {
|
|
465
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
466
|
-
|
|
467
|
-
multiple: multiple,
|
|
468
|
-
files: files
|
|
469
|
-
}, /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
470
|
-
mode: mode,
|
|
471
|
-
multiple: multiple,
|
|
472
|
-
name: file.file.name,
|
|
438
|
+
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault)), files.length > 0 && /*#__PURE__*/_react["default"].createElement(FileItemListContainer, null, files.map(function (file) {
|
|
439
|
+
return /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
440
|
+
fileName: file.file.name,
|
|
473
441
|
error: file.error,
|
|
442
|
+
singleFileMode: false,
|
|
474
443
|
showPreview: showPreview,
|
|
475
|
-
numFiles: files.length,
|
|
476
444
|
preview: file.preview,
|
|
477
445
|
type: file.file.type,
|
|
478
446
|
onDelete: onDelete,
|
|
479
447
|
tabIndex: tabIndex
|
|
480
|
-
})
|
|
481
|
-
})), files.length === 1 && files.
|
|
482
|
-
|
|
483
|
-
})));
|
|
484
|
-
};
|
|
448
|
+
});
|
|
449
|
+
}))), mode === "file" && !multiple && files.length === 1 && files[0].error && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, files[0].error)));
|
|
450
|
+
});
|
|
485
451
|
|
|
486
452
|
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) {
|
|
487
453
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
@@ -519,12 +485,20 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
|
|
|
519
485
|
return props.theme.helperTextLineHeight;
|
|
520
486
|
});
|
|
521
487
|
|
|
522
|
-
var
|
|
523
|
-
return props.
|
|
524
|
-
}
|
|
525
|
-
|
|
488
|
+
var FileContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", "\n margin-top: 0.25rem;\n"])), function (props) {
|
|
489
|
+
return props.singleFileMode ? "flex-direction: row; column-gap: 0.25rem;" : "flex-direction: column; row-gap: 0.25rem;";
|
|
490
|
+
});
|
|
491
|
+
|
|
492
|
+
var ValueInput = _styledComponents["default"].input(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
493
|
+
|
|
494
|
+
var FileItemListContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n row-gap: 0.25rem;\n"])));
|
|
495
|
+
|
|
496
|
+
var Container = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n row-gap: 0.25rem;\n margin-top: 0.25rem;\n"])));
|
|
497
|
+
|
|
498
|
+
var DragDropArea = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n ", "\n align-items: center;\n width: 320px;\n padding: ", ";\n overflow: hidden;\n box-shadow: 0 0 0 2px transparent;\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n ", "\n cursor: ", ";\n"])), function (props) {
|
|
499
|
+
return props.mode === "filedrop" ? "flex-direction: row; column-gap: 0.75rem; height: 48px;" : "justify-content: center; flex-direction: column; row-gap: 0.5rem; height: 160px;";
|
|
526
500
|
}, function (props) {
|
|
527
|
-
return props.mode === "filedrop" ? "
|
|
501
|
+
return props.mode === "filedrop" ? "calc(4px - ".concat(props.theme.dropBorderThickness, ") 1rem calc(4px - ").concat(props.theme.dropBorderThickness, ") calc(4px - ").concat(props.theme.dropBorderThickness, ")") : "1rem";
|
|
528
502
|
}, function (props) {
|
|
529
503
|
return props.theme.dropBorderRadius;
|
|
530
504
|
}, function (props) {
|
|
@@ -539,17 +513,7 @@ var DragDropArea = _styledComponents["default"].div(_templateObject4 || (_templa
|
|
|
539
513
|
return props.disabled && "not-allowed";
|
|
540
514
|
});
|
|
541
515
|
|
|
542
|
-
var
|
|
543
|
-
return props.multiple || props.files.length > 1 ? "column" : "row";
|
|
544
|
-
});
|
|
545
|
-
|
|
546
|
-
var HiddenInputFile = _styledComponents["default"].input(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n visibility: hidden;\n position: absolute;\n width: 0px;\n height: 0px;\n"])));
|
|
547
|
-
|
|
548
|
-
var ButtonContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
|
|
549
|
-
return props.mode === "filedrop" && "padding: 2px 12px 2px 3px";
|
|
550
|
-
});
|
|
551
|
-
|
|
552
|
-
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) {
|
|
516
|
+
var DropzoneLabel = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (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 color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
553
517
|
return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
|
|
554
518
|
}, function (props) {
|
|
555
519
|
return props.theme.dropLabelFontFamily;
|
|
@@ -559,7 +523,7 @@ var DropzoneLabel = _styledComponents["default"].div(_templateObject8 || (_templ
|
|
|
559
523
|
return props.theme.dropLabelFontWeight;
|
|
560
524
|
});
|
|
561
525
|
|
|
562
|
-
var FiledropLabel = _styledComponents["default"].span(
|
|
526
|
+
var FiledropLabel = _styledComponents["default"].span(_templateObject10 || (_templateObject10 = (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"])), function (props) {
|
|
563
527
|
return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
|
|
564
528
|
}, function (props) {
|
|
565
529
|
return props.theme.dropLabelFontFamily;
|
|
@@ -569,15 +533,7 @@ var FiledropLabel = _styledComponents["default"].span(_templateObject9 || (_temp
|
|
|
569
533
|
return props.theme.dropLabelFontWeight;
|
|
570
534
|
});
|
|
571
535
|
|
|
572
|
-
var
|
|
573
|
-
|
|
574
|
-
var FileItemContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
575
|
-
return (props.multiple || props.files.length > 1 || props.mode !== "file") && "4px";
|
|
576
|
-
}, function (props) {
|
|
577
|
-
return props.mode === "file" && props.files.length === 1 && !props.multiple && "4px";
|
|
578
|
-
});
|
|
579
|
-
|
|
580
|
-
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) {
|
|
536
|
+
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) {
|
|
581
537
|
return props.theme.errorMessageFontColor;
|
|
582
538
|
}, function (props) {
|
|
583
539
|
return props.theme.errorMessageFontFamily;
|