@atlaskit/media-picker 64.3.0 → 64.4.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.
Files changed (34) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/components/browser/index.js +26 -28
  3. package/dist/cjs/components/clipboard/index.js +24 -26
  4. package/dist/cjs/components/dropzone/dropzone.js +58 -57
  5. package/dist/cjs/components/dropzone/index.js +33 -35
  6. package/dist/cjs/components/localUploadReact.js +29 -31
  7. package/dist/cjs/service/types.js +4 -4
  8. package/dist/cjs/service/uploadServiceImpl.js +181 -128
  9. package/dist/cjs/util/analytics.js +3 -1
  10. package/dist/cjs/util/getPreviewFromBlob.js +30 -32
  11. package/dist/cjs/util/getPreviewFromImage.js +31 -33
  12. package/dist/cjs/util/ufoExperiences.js +1 -1
  13. package/dist/cjs/version.json +1 -1
  14. package/dist/es2019/components/dropzone/dropzone.js +7 -3
  15. package/dist/es2019/service/types.js +3 -3
  16. package/dist/es2019/service/uploadServiceImpl.js +62 -33
  17. package/dist/es2019/util/analytics.js +4 -1
  18. package/dist/es2019/util/ufoExperiences.js +1 -1
  19. package/dist/es2019/version.json +1 -1
  20. package/dist/esm/components/browser/index.js +22 -24
  21. package/dist/esm/components/clipboard/index.js +20 -22
  22. package/dist/esm/components/dropzone/dropzone.js +58 -57
  23. package/dist/esm/components/dropzone/index.js +27 -29
  24. package/dist/esm/components/localUploadReact.js +29 -31
  25. package/dist/esm/service/types.js +3 -3
  26. package/dist/esm/service/uploadServiceImpl.js +181 -128
  27. package/dist/esm/util/analytics.js +4 -1
  28. package/dist/esm/util/getPreviewFromBlob.js +30 -32
  29. package/dist/esm/util/getPreviewFromImage.js +31 -33
  30. package/dist/esm/util/ufoExperiences.js +1 -1
  31. package/dist/esm/version.json +1 -1
  32. package/dist/types/service/types.d.ts +7 -1
  33. package/dist/types/service/uploadServiceImpl.d.ts +5 -2
  34. package/package.json +4 -5
@@ -29,21 +29,19 @@ var UploadServiceImpl = /*#__PURE__*/function () {
29
29
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(cancellableFileUpload, fileId, traceContext) {
30
30
  var mediaFile;
31
31
  return _regenerator.default.wrap(function _callee$(_context) {
32
- while (1) {
33
- switch (_context.prev = _context.next) {
34
- case 0:
35
- mediaFile = cancellableFileUpload.mediaFile;
36
- _this.emit('file-converting', {
37
- file: mediaFile,
38
- traceContext: traceContext
39
- });
40
- cancellableFileUpload.cancel = function () {
41
- _this.releaseCancellableFile(mediaFile);
42
- };
43
- case 3:
44
- case "end":
45
- return _context.stop();
46
- }
32
+ while (1) switch (_context.prev = _context.next) {
33
+ case 0:
34
+ mediaFile = cancellableFileUpload.mediaFile;
35
+ _this.emit('file-converting', {
36
+ file: mediaFile,
37
+ traceContext: traceContext
38
+ });
39
+ cancellableFileUpload.cancel = function () {
40
+ _this.releaseCancellableFile(mediaFile);
41
+ };
42
+ case 3:
43
+ case "end":
44
+ return _context.stop();
47
45
  }
48
46
  }, _callee);
49
47
  }));
@@ -110,121 +108,171 @@ var UploadServiceImpl = /*#__PURE__*/function () {
110
108
  }
111
109
  }, {
112
110
  key: "addFilesWithSource",
113
- value: function addFilesWithSource(files, featureFlags) {
114
- var _this2 = this;
115
- if (files.length === 0) {
116
- return;
117
- }
118
- var creationDate = Date.now();
119
- var userMediaClient = this.userMediaClient,
120
- tenantMediaClient = this.tenantMediaClient,
121
- shouldCopyFileToRecents = this.shouldCopyFileToRecents;
122
- var mediaClient = shouldCopyFileToRecents ? tenantMediaClient : userMediaClient;
123
- var _this$tenantUploadPar = this.tenantUploadParams,
124
- collectionTentant = _this$tenantUploadPar.collection,
125
- expireAfter = _this$tenantUploadPar.expireAfter;
126
- var collection = shouldCopyFileToRecents ? collectionTentant : _constants.RECENTS_COLLECTION;
127
- if (!mediaClient) {
128
- return;
129
- }
130
- var touchFileDescriptors = [];
131
- for (var i = 0; i < files.length; i++) {
132
- var replaceFileId = files[i].replaceFileId;
133
- touchFileDescriptors.push({
134
- fileId: replaceFileId || (0, _v.default)(),
135
- occurrenceKey: (0, _v.default)(),
136
- collection: collection,
137
- expireAfter: expireAfter
138
- });
139
- }
140
- var traceContext = {
141
- traceId: (0, _mediaCommon.getRandomHex)(8)
142
- };
143
- var promisedTouchFiles = mediaClient.file.touchFiles(touchFileDescriptors, collection, traceContext);
144
- var cancellableFileUploads = files.map(function (fileWithSource, i) {
145
- var file = fileWithSource.file,
146
- source = fileWithSource.source;
147
- var _touchFileDescriptors = touchFileDescriptors[i],
148
- id = _touchFileDescriptors.fileId,
149
- occurrenceKey = _touchFileDescriptors.occurrenceKey;
150
- var deferredUploadId = promisedTouchFiles.then(function (touchedFiles) {
151
- var touchedFile = touchedFiles.created.find(function (touchedFile) {
152
- return touchedFile.fileId === id;
153
- });
154
- if (!touchedFile) {
155
- // TODO No one seems to be caring about this error
156
- throw new Error('Cant retrieve uploadId from result of touch endpoint call');
157
- }
158
- return touchedFile.uploadId;
159
- }).catch(function (error) {
160
- // note: any failures in this block will result in an error event being bubbled as required
161
- if (error instanceof _mediaClient.RequestError) {
162
- var requestError = error;
163
- if (requestError.metadata && requestError.metadata.statusCode === 409) {
164
- return mediaClient.mediaStore.createUpload(1, collection, traceContext).then(function (res) {
165
- return res.data[0].id;
166
- });
167
- }
168
- }
169
- throw error;
170
- });
171
- var uploadableFile = {
172
- collection: collection,
173
- content: file,
174
- name: file.name,
175
- mimeType: file.type
176
- };
177
- var uploadableUpfrontIds = {
178
- id: id,
179
- occurrenceKey: occurrenceKey,
180
- deferredUploadId: deferredUploadId
181
- };
182
- var controller = _this2.createUploadController();
183
- var sourceFileObservable = mediaClient.file.upload(uploadableFile, controller, uploadableUpfrontIds, traceContext, featureFlags);
184
- var mediaFile = {
185
- id: id,
186
- name: file.name,
187
- size: file.size,
188
- creationDate: creationDate,
189
- type: file.type,
190
- occurrenceKey: occurrenceKey
191
- };
192
- var cancellableFileUpload = {
193
- mediaFile: mediaFile,
194
- file: file,
195
- source: source,
196
- cancel: function cancel() {
197
- // we can't do "cancellableFileUpload.cancel = controller.abort" because will change the "this" mediaClient
198
- controller.abort();
199
- }
200
- };
201
- var onFileSuccess = _this2.onFileSuccess.bind(_this2);
202
- sourceFileObservable.subscribe({
203
- next: function next(state) {
204
- if (state.status === 'processing') {
205
- this.unsubscribe();
206
- if (shouldCopyFileToRecents) {
207
- mediaClient.emit('file-added', state);
208
- _mediaClient.globalMediaEventEmitter.emit('file-added', state);
111
+ value: function () {
112
+ var _addFilesWithSource = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(files, featureFlags) {
113
+ var _this2 = this;
114
+ var creationDate, userMediaClient, tenantMediaClient, shouldCopyFileToRecents, mediaClient, _this$tenantUploadPar, collectionTentant, expireAfter, collection, touchFileDescriptors, i, _files$i, replaceFileId, file, traceContext, touchedFiles, caughtError, cancellableFileUploads, filteredCancellableFileUploads, mediaFiles;
115
+ return _regenerator.default.wrap(function _callee2$(_context2) {
116
+ while (1) switch (_context2.prev = _context2.next) {
117
+ case 0:
118
+ if (!(files.length === 0)) {
119
+ _context2.next = 2;
120
+ break;
121
+ }
122
+ return _context2.abrupt("return");
123
+ case 2:
124
+ creationDate = Date.now();
125
+ userMediaClient = this.userMediaClient, tenantMediaClient = this.tenantMediaClient, shouldCopyFileToRecents = this.shouldCopyFileToRecents;
126
+ mediaClient = shouldCopyFileToRecents ? tenantMediaClient : userMediaClient;
127
+ _this$tenantUploadPar = this.tenantUploadParams, collectionTentant = _this$tenantUploadPar.collection, expireAfter = _this$tenantUploadPar.expireAfter;
128
+ collection = shouldCopyFileToRecents ? collectionTentant : _constants.RECENTS_COLLECTION;
129
+ if (mediaClient) {
130
+ _context2.next = 9;
131
+ break;
209
132
  }
210
- onFileSuccess(cancellableFileUpload, id, traceContext);
211
- }
212
- },
213
- error: function error(_error) {
214
- _this2.onFileError(mediaFile, 'upload_fail', _error, traceContext);
133
+ return _context2.abrupt("return");
134
+ case 9:
135
+ touchFileDescriptors = [];
136
+ for (i = 0; i < files.length; i++) {
137
+ _files$i = files[i], replaceFileId = _files$i.replaceFileId, file = _files$i.file;
138
+ touchFileDescriptors.push({
139
+ fileId: replaceFileId || (0, _v.default)(),
140
+ occurrenceKey: (0, _v.default)(),
141
+ collection: collection,
142
+ size: file.size,
143
+ expireAfter: expireAfter
144
+ });
145
+ }
146
+ traceContext = {
147
+ traceId: (0, _mediaCommon.getRandomHex)(8)
148
+ };
149
+ _context2.prev = 12;
150
+ _context2.next = 15;
151
+ return mediaClient.file.touchFiles(touchFileDescriptors, collection, traceContext);
152
+ case 15:
153
+ touchedFiles = _context2.sent;
154
+ _context2.next = 21;
155
+ break;
156
+ case 18:
157
+ _context2.prev = 18;
158
+ _context2.t0 = _context2["catch"](12);
159
+ caughtError = _context2.t0;
160
+ case 21:
161
+ cancellableFileUploads = files.map(function (_ref2, i) {
162
+ var _touchedFiles, _touchedFiles2;
163
+ var file = _ref2.file,
164
+ source = _ref2.source;
165
+ var _touchFileDescriptors = touchFileDescriptors[i],
166
+ id = _touchFileDescriptors.fileId,
167
+ occurrenceKey = _touchFileDescriptors.occurrenceKey;
168
+
169
+ // exclude rejected files from being uploaded
170
+ var rejectedFile = (_touchedFiles = touchedFiles) === null || _touchedFiles === void 0 ? void 0 : _touchedFiles.rejected.find(function (_ref3) {
171
+ var rejectedFileId = _ref3.fileId;
172
+ return rejectedFileId === id;
173
+ });
174
+ if (rejectedFile) {
175
+ if (_this2.fileRejectionHandler) {
176
+ _this2.fileRejectionHandler({
177
+ reason: 'fileSizeLimitExceeded',
178
+ file: file,
179
+ limit: rejectedFile.error.limit
180
+ });
181
+ }
182
+ return null;
183
+ }
184
+ var touchedFile = (_touchedFiles2 = touchedFiles) === null || _touchedFiles2 === void 0 ? void 0 : _touchedFiles2.created.find(function (touchedFile) {
185
+ return touchedFile.fileId === id;
186
+ });
187
+ var deferredUploadId;
188
+ var isIdConflictError = caughtError && caughtError instanceof _mediaClient.RequestError && caughtError.metadata && caughtError.metadata.statusCode === 409;
189
+ if (touchedFile) {
190
+ deferredUploadId = Promise.resolve(touchedFile.uploadId);
191
+ } else if (isIdConflictError) {
192
+ // will occur when the backend receives a fileId that already exists in which case
193
+ // we will create a single upload session for that file and use that uploadId
194
+ deferredUploadId = mediaClient.mediaStore.createUpload(1, collection, traceContext).then(function (res) {
195
+ return res.data[0].id;
196
+ });
197
+ } else {
198
+ // in the case of unexpected errors, we want to defer the throwing of the error
199
+ // until after the files-added has been emitted,
200
+ // allows editor to show a broken media card for unexpected errors
201
+ deferredUploadId = Promise.reject(caughtError);
202
+ }
203
+ var uploadableFile = {
204
+ collection: collection,
205
+ content: file,
206
+ name: file.name,
207
+ mimeType: file.type
208
+ };
209
+ var uploadableUpfrontIds = {
210
+ id: id,
211
+ occurrenceKey: occurrenceKey,
212
+ deferredUploadId: deferredUploadId
213
+ };
214
+ var controller = _this2.createUploadController();
215
+ var sourceFileObservable = mediaClient.file.upload(uploadableFile, controller, uploadableUpfrontIds, traceContext, featureFlags);
216
+ var mediaFile = {
217
+ id: id,
218
+ name: file.name,
219
+ size: file.size,
220
+ creationDate: creationDate,
221
+ type: file.type,
222
+ occurrenceKey: occurrenceKey
223
+ };
224
+ var cancellableFileUpload = {
225
+ mediaFile: mediaFile,
226
+ file: file,
227
+ source: source,
228
+ cancel: function cancel() {
229
+ // we can't do "cancellableFileUpload.cancel = controller.abort" because will change the "this" mediaClient
230
+ controller.abort();
231
+ }
232
+ };
233
+ var _sourceFileObservable = sourceFileObservable.subscribe({
234
+ next: function next(state) {
235
+ if (state.status === 'processing') {
236
+ unsubscribe();
237
+ if (shouldCopyFileToRecents) {
238
+ mediaClient.emit('file-added', state);
239
+ _mediaClient.globalMediaEventEmitter.emit('file-added', state);
240
+ }
241
+ _this2.onFileSuccess(cancellableFileUpload, id, traceContext);
242
+ }
243
+ },
244
+ error: function error(_error) {
245
+ _this2.onFileError(mediaFile, 'upload_fail', _error, traceContext);
246
+ }
247
+ }),
248
+ unsubscribe = _sourceFileObservable.unsubscribe;
249
+ _this2.cancellableFilesUploads[id] = cancellableFileUpload;
250
+ return cancellableFileUpload;
251
+ });
252
+ filteredCancellableFileUploads = cancellableFileUploads.filter(this.isCancellableFileUpload);
253
+ mediaFiles = filteredCancellableFileUploads.map(function (cancellableFileUpload) {
254
+ return cancellableFileUpload.mediaFile;
255
+ });
256
+ this.emit('files-added', {
257
+ files: mediaFiles,
258
+ traceContext: traceContext
259
+ });
260
+ this.emitPreviews(filteredCancellableFileUploads);
261
+ case 26:
262
+ case "end":
263
+ return _context2.stop();
215
264
  }
216
- });
217
- _this2.cancellableFilesUploads[id] = cancellableFileUpload;
218
- return cancellableFileUpload;
219
- });
220
- var mediaFiles = cancellableFileUploads.map(function (cancellableFileUpload) {
221
- return cancellableFileUpload.mediaFile;
222
- });
223
- this.emit('files-added', {
224
- files: mediaFiles,
225
- traceContext: traceContext
226
- });
227
- this.emitPreviews(cancellableFileUploads);
265
+ }, _callee2, this, [[12, 18]]);
266
+ }));
267
+ function addFilesWithSource(_x4, _x5) {
268
+ return _addFilesWithSource.apply(this, arguments);
269
+ }
270
+ return addFilesWithSource;
271
+ }()
272
+ }, {
273
+ key: "isCancellableFileUpload",
274
+ value: function isCancellableFileUpload(fileUpload) {
275
+ return fileUpload !== null;
228
276
  }
229
277
  }, {
230
278
  key: "cancel",
@@ -304,6 +352,11 @@ var UploadServiceImpl = /*#__PURE__*/function () {
304
352
  value: function releaseCancellableFile(mediaFile) {
305
353
  delete this.cancellableFilesUploads[mediaFile.id];
306
354
  }
355
+ }, {
356
+ key: "onFileRejection",
357
+ value: function onFileRejection(handler) {
358
+ this.fileRejectionHandler = handler;
359
+ }
307
360
  }]);
308
361
  return UploadServiceImpl;
309
362
  }();
@@ -6,8 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getPackageAttributes = getPackageAttributes;
7
7
  exports.getRequestMetadata = getRequestMetadata;
8
8
  var _mediaClient = require("@atlaskit/media-client");
9
+ // Component name will be prefixed with "media-picker-" in logs. Check ufoExperiences in utils files
10
+
9
11
  var packageName = "@atlaskit/media-picker";
10
- var packageVersion = "64.3.0";
12
+ var packageVersion = "64.4.0";
11
13
  function getPackageAttributes(componentName) {
12
14
  return {
13
15
  packageName: packageName,
@@ -20,39 +20,37 @@ function _getPreviewFromBlob() {
20
20
  _getPreviewFromBlob = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(mediaType, file) {
21
21
  var dimensions;
22
22
  return _regenerator.default.wrap(function _callee$(_context) {
23
- while (1) {
24
- switch (_context.prev = _context.next) {
25
- case 0:
26
- _context.t0 = mediaType;
27
- _context.next = _context.t0 === 'image' ? 3 : _context.t0 === 'video' ? 3 : 9;
23
+ while (1) switch (_context.prev = _context.next) {
24
+ case 0:
25
+ _context.t0 = mediaType;
26
+ _context.next = _context.t0 === 'image' ? 3 : _context.t0 === 'video' ? 3 : 9;
27
+ break;
28
+ case 3:
29
+ _context.next = 5;
30
+ return (0, _mediaClient.getDimensionsFromBlob)(mediaType, file);
31
+ case 5:
32
+ dimensions = _context.sent;
33
+ if (!isUnknownDimensions(dimensions)) {
34
+ _context.next = 8;
28
35
  break;
29
- case 3:
30
- _context.next = 5;
31
- return (0, _mediaClient.getDimensionsFromBlob)(mediaType, file);
32
- case 5:
33
- dimensions = _context.sent;
34
- if (!isUnknownDimensions(dimensions)) {
35
- _context.next = 8;
36
- break;
37
- }
38
- return _context.abrupt("return", {
39
- file: file,
40
- scaleFactor: 1
41
- });
42
- case 8:
43
- return _context.abrupt("return", {
44
- file: file,
45
- dimensions: dimensions,
46
- scaleFactor: 1
47
- });
48
- case 9:
49
- return _context.abrupt("return", {
50
- file: file
51
- });
52
- case 10:
53
- case "end":
54
- return _context.stop();
55
- }
36
+ }
37
+ return _context.abrupt("return", {
38
+ file: file,
39
+ scaleFactor: 1
40
+ });
41
+ case 8:
42
+ return _context.abrupt("return", {
43
+ file: file,
44
+ dimensions: dimensions,
45
+ scaleFactor: 1
46
+ });
47
+ case 9:
48
+ return _context.abrupt("return", {
49
+ file: file
50
+ });
51
+ case 10:
52
+ case "end":
53
+ return _context.stop();
56
54
  }
57
55
  }, _callee);
58
56
  }));
@@ -16,39 +16,37 @@ function _getPreviewFromImage() {
16
16
  _getPreviewFromImage = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(file, devicePixelRatio) {
17
17
  var fileInfo, imageInfo, width, height, scaleFactor, preview;
18
18
  return _regenerator.default.wrap(function _callee$(_context) {
19
- while (1) {
20
- switch (_context.prev = _context.next) {
21
- case 0:
22
- _context.next = 2;
23
- return (0, _mediaUi.getFileInfo)(file);
24
- case 2:
25
- fileInfo = _context.sent;
26
- _context.next = 5;
27
- return (0, _mediaUi.getImageInfo)(fileInfo);
28
- case 5:
29
- imageInfo = _context.sent;
30
- if (!(imageInfo === null)) {
31
- _context.next = 10;
32
- break;
33
- }
34
- return _context.abrupt("return", {
35
- file: file
36
- });
37
- case 10:
38
- width = imageInfo.width, height = imageInfo.height, scaleFactor = imageInfo.scaleFactor;
39
- preview = {
40
- file: file,
41
- dimensions: {
42
- width: width,
43
- height: height
44
- },
45
- scaleFactor: devicePixelRatio || scaleFactor
46
- };
47
- return _context.abrupt("return", preview);
48
- case 13:
49
- case "end":
50
- return _context.stop();
51
- }
19
+ while (1) switch (_context.prev = _context.next) {
20
+ case 0:
21
+ _context.next = 2;
22
+ return (0, _mediaUi.getFileInfo)(file);
23
+ case 2:
24
+ fileInfo = _context.sent;
25
+ _context.next = 5;
26
+ return (0, _mediaUi.getImageInfo)(fileInfo);
27
+ case 5:
28
+ imageInfo = _context.sent;
29
+ if (!(imageInfo === null)) {
30
+ _context.next = 10;
31
+ break;
32
+ }
33
+ return _context.abrupt("return", {
34
+ file: file
35
+ });
36
+ case 10:
37
+ width = imageInfo.width, height = imageInfo.height, scaleFactor = imageInfo.scaleFactor;
38
+ preview = {
39
+ file: file,
40
+ dimensions: {
41
+ width: width,
42
+ height: height
43
+ },
44
+ scaleFactor: devicePixelRatio || scaleFactor
45
+ };
46
+ return _context.abrupt("return", preview);
47
+ case 13:
48
+ case "end":
49
+ return _context.stop();
52
50
  }
53
51
  }, _callee);
54
52
  }));
@@ -12,7 +12,7 @@ var _mediaClient = require("@atlaskit/media-client");
12
12
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
13
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
14
14
  var packageName = "@atlaskit/media-picker";
15
- var packageVersion = "64.3.0";
15
+ var packageVersion = "64.4.0";
16
16
  var ufoExperience;
17
17
  var initExperience = function initExperience(id, componentName) {
18
18
  if (!ufoExperience) {
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "@atlaskit/media-picker",
3
- "version": "64.3.0"
3
+ "version": "64.4.0"
4
4
  }
@@ -87,6 +87,9 @@ export class DropzoneBase extends LocalUploadComponentReact {
87
87
  this.uploadService.addFiles(files, featureFlags);
88
88
  }
89
89
  });
90
+ /*
91
+ * Checks how many folders are uploaded in a single drag and drop. Then, fires an analytic event in accordance to this.
92
+ */
90
93
  _defineProperty(this, "fireAnalyticsForFolders", items => {
91
94
  //convert DataTransferItemList into an array of DataTransferItem(s)
92
95
  const toArray = Array.from(items);
@@ -105,6 +108,9 @@ export class DropzoneBase extends LocalUploadComponentReact {
105
108
  this.fireAnalyticsEvent('folderDroppedInto', folderCount);
106
109
  }
107
110
  });
111
+ /*
112
+ * Files dropped contains a directory. Thus, flatten the directory to return an array of Files.
113
+ */
108
114
  _defineProperty(this, "getFilesFromDragEvent", async dragEventItemList => {
109
115
  const items = dragEventItemList;
110
116
 
@@ -124,6 +130,7 @@ export class DropzoneBase extends LocalUploadComponentReact {
124
130
  // Filter Files using our defined blacklist
125
131
  return files.filter(file => !blacklist.includes(file.name));
126
132
  });
133
+ // Similar to the onDrop event, but for folders.
127
134
  _defineProperty(this, "onDropFolders", fileCount => {
128
135
  if (fileCount > 0) {
129
136
  this.sendAnalyticsAndEmitDragLeave(fileCount);
@@ -195,9 +202,6 @@ export class DropzoneBase extends LocalUploadComponentReact {
195
202
  // This is required for IE11
196
203
  return dataTransfer.files.length;
197
204
  }
198
-
199
- // Similar to the onDrop event, but for folders.
200
-
201
205
  emitDragOver(payload) {
202
206
  if (!this.uiActive) {
203
207
  const {
@@ -1,8 +1,8 @@
1
1
  export const MAX_FILE_SIZE_FOR_PREVIEW = 10e6; // 10 MB
2
2
 
3
- export let LocalFileSource;
4
- (function (LocalFileSource) {
3
+ export let LocalFileSource = /*#__PURE__*/function (LocalFileSource) {
5
4
  LocalFileSource["PastedFile"] = "pastedFile";
6
5
  LocalFileSource["PastedScreenshot"] = "pastedScreenshot";
7
6
  LocalFileSource["LocalUpload"] = "localUpload";
8
- })(LocalFileSource || (LocalFileSource = {}));
7
+ return LocalFileSource;
8
+ }({});