@dxc-technology/halstack-react 7.0.0 → 9.0.0
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/HalstackContext.js +98 -50
- package/accordion/Accordion.js +7 -13
- package/accordion/Accordion.stories.tsx +102 -13
- package/alert/Alert.stories.tsx +28 -0
- package/box/Box.js +1 -3
- package/box/Box.stories.tsx +15 -0
- package/button/Button.js +11 -13
- package/button/Button.stories.tsx +150 -8
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +16 -15
- package/checkbox/Checkbox.stories.tsx +131 -59
- package/checkbox/types.d.ts +4 -0
- package/chip/Chip.js +16 -22
- package/chip/Chip.stories.tsx +96 -9
- package/common/variables.js +286 -290
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +134 -237
- package/date-input/DateInput.stories.tsx +199 -33
- package/date-input/DateInput.test.js +494 -138
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +146 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +126 -0
- package/date-input/types.d.ts +51 -0
- package/dialog/Dialog.js +60 -73
- package/dialog/Dialog.stories.tsx +211 -159
- package/dialog/Dialog.test.js +301 -2
- package/dropdown/Dropdown.js +35 -35
- package/dropdown/Dropdown.stories.tsx +210 -84
- package/dropdown/Dropdown.test.js +17 -22
- package/dropdown/DropdownMenu.js +8 -18
- package/dropdown/DropdownMenuItem.js +4 -15
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +169 -222
- package/file-input/FileInput.stories.tsx +122 -11
- package/file-input/FileInput.test.js +12 -53
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +39 -63
- package/file-input/types.d.ts +17 -0
- package/footer/Footer.stories.tsx +91 -0
- package/header/Header.js +18 -20
- package/header/Header.stories.tsx +149 -6
- package/link/Link.js +1 -1
- package/link/Link.stories.tsx +60 -0
- package/main.d.ts +1 -1
- package/main.js +1 -1
- package/{tabs-nav → nav-tabs}/NavTabs.js +1 -1
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
- package/{tabs-nav → nav-tabs}/Tab.js +35 -15
- package/number-input/NumberInput.test.js +5 -6
- package/package.json +7 -12
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +5 -11
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +17 -10
- package/progress-bar/ProgressBar.js +4 -4
- package/progress-bar/ProgressBar.stories.jsx +35 -2
- package/quick-nav/QuickNav.stories.tsx +14 -0
- package/radio-group/RadioGroup.stories.tsx +131 -18
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +48 -105
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +40 -63
- package/resultsetTable/types.d.ts +2 -2
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +5 -34
- package/select/Option.js +11 -24
- package/select/Select.js +43 -24
- package/select/Select.stories.tsx +494 -150
- package/select/Select.test.js +17 -22
- package/select/types.d.ts +2 -2
- package/sidenav/Sidenav.js +8 -10
- package/sidenav/Sidenav.stories.tsx +148 -46
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +9 -8
- package/slider/Slider.stories.tsx +57 -0
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +2 -2
- package/spinner/Spinner.stories.jsx +27 -1
- package/switch/Switch.d.ts +3 -3
- package/switch/Switch.js +5 -4
- package/switch/Switch.stories.tsx +33 -0
- package/switch/types.d.ts +6 -1
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +1 -1
- package/tabs/Tab.js +3 -5
- package/tabs/Tabs.js +3 -3
- package/tabs/Tabs.stories.tsx +45 -5
- package/tag/Tag.stories.tsx +14 -1
- package/text-input/Suggestion.js +32 -5
- package/text-input/TextInput.js +7 -11
- package/text-input/TextInput.stories.tsx +92 -4
- package/text-input/TextInput.test.js +587 -634
- package/textarea/Textarea.stories.jsx +60 -1
- package/toggle-group/ToggleGroup.stories.tsx +42 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +139 -0
- package/wizard/Wizard.stories.tsx +20 -0
- package/common/RequiredComponent.js +0 -32
- /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/NavTabs.test.js +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/types.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/types.js +0 -0
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
|
|
|
@@ -349,19 +250,21 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
349
250
|
return selectedFiles[key];
|
|
350
251
|
});
|
|
351
252
|
addFile(filesArray);
|
|
253
|
+
e.target.value = null;
|
|
352
254
|
};
|
|
353
255
|
|
|
354
|
-
var onDelete = function
|
|
256
|
+
var onDelete = (0, _react.useCallback)(function (fileName) {
|
|
355
257
|
var filesCopy = (0, _toConsumableArray2["default"])(files);
|
|
356
258
|
var fileToRemove = filesCopy.find(function (file) {
|
|
357
259
|
return file.file.name === fileName;
|
|
358
260
|
});
|
|
359
261
|
var fileIndex = filesCopy.indexOf(fileToRemove);
|
|
360
262
|
filesCopy.splice(fileIndex, 1);
|
|
263
|
+
callbackFile === null || callbackFile === void 0 ? void 0 : callbackFile(filesCopy);
|
|
264
|
+
}, [files, callbackFile]);
|
|
361
265
|
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
}
|
|
266
|
+
var handleClick = function handleClick() {
|
|
267
|
+
document.getElementById(fileInputId).click();
|
|
365
268
|
};
|
|
366
269
|
|
|
367
270
|
var handleDrag = function handleDrag(e) {
|
|
@@ -370,7 +273,9 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
370
273
|
};
|
|
371
274
|
|
|
372
275
|
var handleDragIn = function handleDragIn(e) {
|
|
373
|
-
|
|
276
|
+
var _e$dataTransfer$items;
|
|
277
|
+
|
|
278
|
+
if (((_e$dataTransfer$items = e.dataTransfer.items) === null || _e$dataTransfer$items === void 0 ? void 0 : _e$dataTransfer$items.length) > 0) setIsDragging(true);
|
|
374
279
|
};
|
|
375
280
|
|
|
376
281
|
var handleDragOut = function handleDragOut(e) {
|
|
@@ -384,7 +289,7 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
384
289
|
setIsDragging(false);
|
|
385
290
|
var filesObject = e.dataTransfer.files;
|
|
386
291
|
|
|
387
|
-
if (filesObject
|
|
292
|
+
if ((filesObject === null || filesObject === void 0 ? void 0 : filesObject.length) > 0) {
|
|
388
293
|
var filesArray = Object.keys(filesObject).map(function (key) {
|
|
389
294
|
return filesObject[key];
|
|
390
295
|
});
|
|
@@ -392,63 +297,124 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
392
297
|
}
|
|
393
298
|
};
|
|
394
299
|
|
|
300
|
+
(0, _react.useEffect)(function () {
|
|
301
|
+
var getFiles = /*#__PURE__*/function () {
|
|
302
|
+
var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
303
|
+
var valueFiles;
|
|
304
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
305
|
+
while (1) {
|
|
306
|
+
switch (_context4.prev = _context4.next) {
|
|
307
|
+
case 0:
|
|
308
|
+
if (!value) {
|
|
309
|
+
_context4.next = 5;
|
|
310
|
+
break;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
_context4.next = 3;
|
|
314
|
+
return Promise.all(value.map( /*#__PURE__*/function () {
|
|
315
|
+
var _ref5 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(file) {
|
|
316
|
+
var preview;
|
|
317
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
318
|
+
while (1) {
|
|
319
|
+
switch (_context3.prev = _context3.next) {
|
|
320
|
+
case 0:
|
|
321
|
+
if (!file.preview) {
|
|
322
|
+
_context3.next = 4;
|
|
323
|
+
break;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
return _context3.abrupt("return", file);
|
|
327
|
+
|
|
328
|
+
case 4:
|
|
329
|
+
_context3.next = 6;
|
|
330
|
+
return getFilePreview(file.file);
|
|
331
|
+
|
|
332
|
+
case 6:
|
|
333
|
+
preview = _context3.sent;
|
|
334
|
+
return _context3.abrupt("return", _objectSpread(_objectSpread({}, file), {}, {
|
|
335
|
+
preview: preview
|
|
336
|
+
}));
|
|
337
|
+
|
|
338
|
+
case 8:
|
|
339
|
+
case "end":
|
|
340
|
+
return _context3.stop();
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}, _callee3);
|
|
344
|
+
}));
|
|
345
|
+
|
|
346
|
+
return function (_x3) {
|
|
347
|
+
return _ref5.apply(this, arguments);
|
|
348
|
+
};
|
|
349
|
+
}()));
|
|
350
|
+
|
|
351
|
+
case 3:
|
|
352
|
+
valueFiles = _context4.sent;
|
|
353
|
+
setFiles(valueFiles);
|
|
354
|
+
|
|
355
|
+
case 5:
|
|
356
|
+
case "end":
|
|
357
|
+
return _context4.stop();
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}, _callee4);
|
|
361
|
+
}));
|
|
362
|
+
|
|
363
|
+
return function getFiles() {
|
|
364
|
+
return _ref4.apply(this, arguments);
|
|
365
|
+
};
|
|
366
|
+
}();
|
|
367
|
+
|
|
368
|
+
getFiles();
|
|
369
|
+
}, [value]);
|
|
395
370
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
396
371
|
theme: colorsTheme.fileInput
|
|
397
372
|
}, /*#__PURE__*/_react["default"].createElement(FileInputContainer, {
|
|
398
373
|
margin: margin,
|
|
399
|
-
name: name
|
|
374
|
+
name: name,
|
|
375
|
+
ref: ref
|
|
400
376
|
}, /*#__PURE__*/_react["default"].createElement(Label, {
|
|
401
377
|
htmlFor: fileInputId,
|
|
402
378
|
disabled: disabled
|
|
403
379
|
}, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
404
380
|
disabled: disabled
|
|
405
381
|
}, helperText), mode === "file" ? /*#__PURE__*/_react["default"].createElement(FileContainer, {
|
|
406
|
-
|
|
407
|
-
files: files
|
|
382
|
+
singleFileMode: !multiple && files.length === 1
|
|
408
383
|
}, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
409
384
|
id: fileInputId,
|
|
410
385
|
type: "file",
|
|
411
386
|
accept: accept,
|
|
412
387
|
multiple: multiple,
|
|
413
388
|
onChange: selectFiles,
|
|
414
|
-
name: name,
|
|
415
389
|
disabled: disabled,
|
|
416
|
-
readOnly: true
|
|
417
|
-
"aria-hidden": "true"
|
|
390
|
+
readOnly: true
|
|
418
391
|
}), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
419
392
|
mode: "secondary",
|
|
420
393
|
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : multiple ? translatedLabels.fileInput.multipleButtonLabelDefault : translatedLabels.fileInput.singleButtonLabelDefault,
|
|
421
394
|
onClick: handleClick,
|
|
422
395
|
disabled: disabled,
|
|
423
|
-
size: "
|
|
396
|
+
size: "fitContent",
|
|
424
397
|
tabIndex: tabIndex
|
|
425
|
-
}), files.map(function (file) {
|
|
426
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
427
|
-
|
|
428
|
-
multiple: multiple,
|
|
429
|
-
files: files
|
|
430
|
-
}, /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
431
|
-
mode: mode,
|
|
432
|
-
multiple: multiple,
|
|
433
|
-
name: file.file.name,
|
|
398
|
+
}), files.length > 0 && /*#__PURE__*/_react["default"].createElement(FileItemListContainer, null, files.map(function (file, index) {
|
|
399
|
+
return /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
400
|
+
fileName: file.file.name,
|
|
434
401
|
error: file.error,
|
|
402
|
+
singleFileMode: !multiple && files.length === 1,
|
|
435
403
|
showPreview: mode === "file" && !multiple ? false : showPreview,
|
|
436
|
-
numFiles: files.length,
|
|
437
404
|
preview: file.preview,
|
|
438
405
|
type: file.file.type,
|
|
439
406
|
onDelete: onDelete,
|
|
440
|
-
tabIndex: tabIndex
|
|
441
|
-
|
|
442
|
-
|
|
407
|
+
tabIndex: tabIndex,
|
|
408
|
+
key: "file-".concat(index)
|
|
409
|
+
});
|
|
410
|
+
}))) : /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
443
411
|
id: fileInputId,
|
|
444
412
|
type: "file",
|
|
445
413
|
accept: accept,
|
|
446
414
|
multiple: multiple,
|
|
447
415
|
onChange: selectFiles,
|
|
448
|
-
name: name,
|
|
449
416
|
disabled: disabled,
|
|
450
|
-
readOnly: true
|
|
451
|
-
"aria-hidden": "true"
|
|
417
|
+
readOnly: true
|
|
452
418
|
}), /*#__PURE__*/_react["default"].createElement(DragDropArea, {
|
|
453
419
|
isDragging: isDragging,
|
|
454
420
|
disabled: disabled,
|
|
@@ -457,39 +423,30 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
457
423
|
onDragEnter: handleDragIn,
|
|
458
424
|
onDragOver: handleDrag,
|
|
459
425
|
onDragLeave: handleDragOut
|
|
460
|
-
}, /*#__PURE__*/_react["default"].createElement(ButtonContainer, {
|
|
461
|
-
mode: mode
|
|
462
426
|
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
463
427
|
mode: "secondary",
|
|
464
428
|
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : translatedLabels.fileInput.dropAreaButtonLabelDefault,
|
|
465
429
|
onClick: handleClick,
|
|
466
430
|
disabled: disabled,
|
|
467
431
|
size: "fitContent"
|
|
468
|
-
})
|
|
432
|
+
}), mode === "dropzone" ? /*#__PURE__*/_react["default"].createElement(DropzoneLabel, {
|
|
469
433
|
disabled: disabled
|
|
470
434
|
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault) : /*#__PURE__*/_react["default"].createElement(FiledropLabel, {
|
|
471
435
|
disabled: disabled
|
|
472
|
-
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault)), files.map(function (file) {
|
|
473
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
474
|
-
|
|
475
|
-
multiple: multiple,
|
|
476
|
-
files: files
|
|
477
|
-
}, /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
478
|
-
mode: mode,
|
|
479
|
-
multiple: multiple,
|
|
480
|
-
name: file.file.name,
|
|
436
|
+
}, 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, index) {
|
|
437
|
+
return /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
438
|
+
fileName: file.file.name,
|
|
481
439
|
error: file.error,
|
|
440
|
+
singleFileMode: false,
|
|
482
441
|
showPreview: showPreview,
|
|
483
|
-
numFiles: files.length,
|
|
484
442
|
preview: file.preview,
|
|
485
443
|
type: file.file.type,
|
|
486
444
|
onDelete: onDelete,
|
|
487
|
-
tabIndex: tabIndex
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
};
|
|
445
|
+
tabIndex: tabIndex,
|
|
446
|
+
key: "file-".concat(index)
|
|
447
|
+
});
|
|
448
|
+
}))), mode === "file" && !multiple && files.length === 1 && files[0].error && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, files[0].error)));
|
|
449
|
+
});
|
|
493
450
|
|
|
494
451
|
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) {
|
|
495
452
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
@@ -527,12 +484,20 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
|
|
|
527
484
|
return props.theme.helperTextLineHeight;
|
|
528
485
|
});
|
|
529
486
|
|
|
530
|
-
var
|
|
531
|
-
return props.
|
|
532
|
-
}
|
|
533
|
-
|
|
487
|
+
var FileContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", "\n margin-top: 0.25rem;\n"])), function (props) {
|
|
488
|
+
return props.singleFileMode ? "flex-direction: row; column-gap: 0.25rem;" : "flex-direction: column; row-gap: 0.25rem;";
|
|
489
|
+
});
|
|
490
|
+
|
|
491
|
+
var ValueInput = _styledComponents["default"].input(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
492
|
+
|
|
493
|
+
var FileItemListContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n row-gap: 0.25rem;\n"])));
|
|
494
|
+
|
|
495
|
+
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"])));
|
|
496
|
+
|
|
497
|
+
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) {
|
|
498
|
+
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;";
|
|
534
499
|
}, function (props) {
|
|
535
|
-
return props.mode === "filedrop" ? "
|
|
500
|
+
return props.mode === "filedrop" ? "calc(4px - ".concat(props.theme.dropBorderThickness, ") 1rem calc(4px - ").concat(props.theme.dropBorderThickness, ") calc(4px - ").concat(props.theme.dropBorderThickness, ")") : "1rem";
|
|
536
501
|
}, function (props) {
|
|
537
502
|
return props.theme.dropBorderRadius;
|
|
538
503
|
}, function (props) {
|
|
@@ -547,17 +512,7 @@ var DragDropArea = _styledComponents["default"].div(_templateObject4 || (_templa
|
|
|
547
512
|
return props.disabled && "not-allowed";
|
|
548
513
|
});
|
|
549
514
|
|
|
550
|
-
var
|
|
551
|
-
return props.multiple || props.files.length > 1 ? "column" : "row";
|
|
552
|
-
});
|
|
553
|
-
|
|
554
|
-
var ValueInput = _styledComponents["default"].input(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
555
|
-
|
|
556
|
-
var ButtonContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
|
|
557
|
-
return props.mode === "filedrop" && "padding: 2px 12px 2px 3px";
|
|
558
|
-
});
|
|
559
|
-
|
|
560
|
-
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) {
|
|
515
|
+
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) {
|
|
561
516
|
return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
|
|
562
517
|
}, function (props) {
|
|
563
518
|
return props.theme.dropLabelFontFamily;
|
|
@@ -567,7 +522,7 @@ var DropzoneLabel = _styledComponents["default"].div(_templateObject8 || (_templ
|
|
|
567
522
|
return props.theme.dropLabelFontWeight;
|
|
568
523
|
});
|
|
569
524
|
|
|
570
|
-
var FiledropLabel = _styledComponents["default"].span(
|
|
525
|
+
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) {
|
|
571
526
|
return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
|
|
572
527
|
}, function (props) {
|
|
573
528
|
return props.theme.dropLabelFontFamily;
|
|
@@ -577,15 +532,7 @@ var FiledropLabel = _styledComponents["default"].span(_templateObject9 || (_temp
|
|
|
577
532
|
return props.theme.dropLabelFontWeight;
|
|
578
533
|
});
|
|
579
534
|
|
|
580
|
-
var
|
|
581
|
-
|
|
582
|
-
var FileItemContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
583
|
-
return (props.multiple || props.files.length > 1 || props.mode !== "file") && "4px";
|
|
584
|
-
}, function (props) {
|
|
585
|
-
return props.mode === "file" && props.files.length === 1 && !props.multiple && "4px";
|
|
586
|
-
});
|
|
587
|
-
|
|
588
|
-
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) {
|
|
535
|
+
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) {
|
|
589
536
|
return props.theme.errorMessageFontColor;
|
|
590
537
|
}, function (props) {
|
|
591
538
|
return props.theme.errorMessageFontFamily;
|